Patents by Inventor Changpeng LIU

Changpeng LIU has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11971782
    Abstract: Systems and methods for a controller including controller memory and logic are presented herein. The logic is configured to control access to a persistent storage media and, in response to one or more commands, the logic determines an intermediate parity value based on a first parity calculation, and using the intermediate parity value determines a final parity value based on the intermediate parity value and a second parity calculation. Determining the intermediate parity value includes sending a uni-directional command to read an old data value from an address indicated in the uni-directional command, perform an exclusive-or operation on the old data value and a new data value indicated in the uni-directional command to determine the intermediate parity value and store, in the persistent storage media, the intermediate parity value at a location associated to an index indicated in the uni-directional command.
    Type: Grant
    Filed: February 20, 2020
    Date of Patent: April 30, 2024
    Assignee: SK Hynix NAND Product Solutions Corp.
    Inventors: Sanjeev Trika, Gregory Tucker, James Harris, Jonathan Hughes, Piotr Wysocki, Gang Cao, Qihua Dai, Benjamin Walker, Ziye Yang, Xiaodong Liu, Changpeng Liu, Jackson Ellis
  • Patent number: 11936571
    Abstract: Examples described herein relate to offload reliable transport management to a network interface device and store packets to be resent, based on received packet receipt acknowledgements (ACKs), into one or more kernel space queues that are also accessible in user space.
    Type: Grant
    Filed: November 4, 2022
    Date of Patent: March 19, 2024
    Assignee: Intel Corporation
    Inventors: Shaopeng He, Cunming Liang, Jiang Yu, Ziye Yang, Ping Yu, Bo Cui, Jingjing Wu, Liang Ma, Hongjun Ni, Zhiguo Wen, Changpeng Liu, Anjali Singhai Jain, Daniel Daly, Yadong Li
  • Publication number: 20230342141
    Abstract: Methods and apparatus for hot upgrade or live recovery of storage backend software on an IPU (Infrastructure Processing Unit) or DPU (Date Processing Unit). Configuration space and queue related information associated with Input-Output (IO) operations for storage device(s) operatively coupled to the IPU/DPU are saved in shared memory. Following the hot upgrade or live recovery, the configuration space and queue related information are restored and IO operations are restarted at a last completed point prior to initiation of the hot upgrade or live recovery. Additionally, the newly started backend software is reassociated with a front-end host driver. The storage backend software may include instructions for executing primary and secondary processes using a multi-process model such as a Storage Performance Development Kit (SPDK) multi-process model.
    Type: Application
    Filed: June 27, 2023
    Publication date: October 26, 2023
    Inventors: Jun ZENG, Di PEI, Gang CAO, Changpeng LIU
  • Patent number: 11748278
    Abstract: Examples described herein relate to executing a poller to poll for received communications over multiple transport layer protocols from a connection to identify a received communication from one of the multiple transport layer protocols and identify a second received communication from a different one of the multiple transport layer protocols. A change to the different one of the multiple transport layer protocols occurs in response to failure of the one of the multiple transport layer protocols or slow transport rate using the one of the multiple transport layer protocols. In some examples, the poller is executed in user space and transport layer protocol processing of the received communication and second received communication occur in kernel space.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: September 5, 2023
    Assignee: Intel Corporation
    Inventors: Ziye Yang, Changpeng Liu, Gang Cao, Qun Wan
  • Patent number: 11734204
    Abstract: Examples herein relate to polling for input/output transactions of a network interface or a storage device, or any peripheral device. Some examples monitor clock cycles spent checking for a presence of input/output (I/O) events and processing I/O events and monitor clock cycles spent checking for presence of I/O events without completing an I/O event. Central processing unit (CPU) core utilization can be based on clock cycles spent checking for a presence of I/O events and processing I/O events and clock cycles spent checking for presence of I/O events without completion of an I/O event. For example, if core utilization is below a threshold, frequency of the core can be reduced for performing polling of I/O events. If core utilization is at or above the threshold, frequency of the core can be increased used to performing polling of I/O events.
    Type: Grant
    Filed: March 20, 2020
    Date of Patent: August 22, 2023
    Assignee: Intel Corporation
    Inventors: Gang Cao, James R. Harris, Ziye Yang, Vishal Verma, Changpeng Liu, Chong Han, Benjamin Walker
  • Publication number: 20230130859
    Abstract: An apparatus is described. The apparatus includes a network interface having a system interface, a media access interface and circuitry to construct a block of null values for a logical block address (LBA) in response to a remote storage system having informed the network interface that the LBA was un-mappable.
    Type: Application
    Filed: August 23, 2022
    Publication date: April 27, 2023
    Inventors: Xiaodong LIU, Ziye YANG, James R. HARRIS, Changpeng LIU, Gang CAO
  • Publication number: 20230082403
    Abstract: An embodiment of an electronic apparatus may include one or more substrates, and logic coupled to the one or more substrates, the logic to control local access to a persistent storage media and, in response to one or more commands, to determine an intermediate parity value based on a first local parity calculation, locally store the intermediate parity value, and determine a final parity value based on the intermediate parity value and a second local parity calculation. Other embodiments are disclosed and claimed.
    Type: Application
    Filed: February 20, 2020
    Publication date: March 16, 2023
    Inventors: Sanjeev Trika, Gregory Tucker, James Harris, Jonathan Hughes, Piotr Wysocki, Gang Cao, Qihua Dai, Benjamin Walker, Ziye Yang, Xiaodong Liu, Changpeng Liu, Jackson Ellis
  • Publication number: 20230053744
    Abstract: Examples described herein relate to offload reliable transport management to a network interface device and store packets to be resent, based on received packet receipt acknowledgements (ACKs), into one or more kernel space queues that are also accessible in user space.
    Type: Application
    Filed: November 4, 2022
    Publication date: February 23, 2023
    Inventors: Shaopeng HE, Cunming LIANG, Jiang YU, Ziye YANG, Ping YU, Bo CUI, Jingjing WU, Liang MA, Hongjun NI, Zhiguo WEN, Changpeng LIU, Anjali Singhai JAIN, Daniel DALY, Yadong LI
  • Publication number: 20220365729
    Abstract: An apparatus is described. The apparatus includes an accelerator to be coupled to a memory region that the accelerator shares with a virtualization environment comprising a guest OS, a guest VM and an SSD device driver. The accelerator is to forward a submission queue doorbell setting made by the SSD device driver in the shared memory to a corresponding submission queue doorbell in an SSD controller.
    Type: Application
    Filed: July 26, 2022
    Publication date: November 17, 2022
    Inventors: Gang CAO, Ziye YANG, Xiaodong LIU, Changpeng LIU
  • Patent number: 11496419
    Abstract: Examples described herein relate to a reliable transport protocol for packet transmission using an Address Family of an eXpress Data Path (AF_XDP) queue framework, wherein the AF_XDP queue framework is to provide a queue for received packet receipt acknowledgements (ACKs). In some examples, an AF_XDP socket is to connect a service with a driver for the network device, one or more queues are associated with the AF_XDP socket, and at least one of the one or more queues comprises a waiting queue for received packet receipt ACKs. In some examples, at least one of the one or more queues is to identify one or more packets for which ACKs have been received. In some examples, the network device is to re-transmit a packet identified by a descriptor in the waiting queue based on non-receipt of an ACK associated with the packet from a receiver.
    Type: Grant
    Filed: April 23, 2021
    Date of Patent: November 8, 2022
    Assignee: Intel Corporation
    Inventors: Shaopeng He, Cunming Liang, Jiang Yu, Ziye Yang, Ping Yu, Bo Cui, Jingjing Wu, Liang Ma, Hongjun Ni, Zhiguo Wen, Changpeng Liu, Anjali Singhai Jain, Daniel Daly, Yadong Li
  • Patent number: 11435958
    Abstract: An apparatus is described. The apparatus includes an accelerator to be coupled to a memory region that the accelerator shares with a virtualization environment comprising a guest OS, a guest VM and an SSD device driver. The accelerator is to forward a submission queue doorbell setting made by the SSD device driver in the shared memory to a corresponding submission queue doorbell in an SSD controller.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: September 6, 2022
    Assignee: Intel Corporation
    Inventors: Gang Cao, Ziye Yang, Xiaodong Liu, Changpeng Liu
  • Patent number: 11422750
    Abstract: A computer program product, system, and method to manage access to storage resources from multiple applications. A plurality of virtual controllers is generated in a host memory space. Each virtual controller includes at least one virtual namespace that maps to a physical namespace in a physical controller. Applications are assigned to the virtual controllers. For each application of the applications assigned one of the virtual controllers, a virtual submission queue is generated to communicate with the virtual controller assigned to the application. An Input/Output (I/O) request to a target virtual namespace in one of the virtual submission queues is added to a physical submission queue for the physical controller having the physical namespace for which the target virtual namespace was generated.
    Type: Grant
    Filed: September 27, 2017
    Date of Patent: August 23, 2022
    Assignee: Intel Corporation
    Inventors: Ziye Yang, Gang Cao, Cunyin Chang, Changpeng Liu, James Harris
  • Publication number: 20220247696
    Abstract: Examples described herein relate to a reliable transport protocol for packet transmission using an Address Family of an eXpress Data Path (AF_XDP) queue framework, wherein the AF_XDP queue framework is to provide a queue for received packet receipt acknowledgements (ACKs). In some examples, an AF_XDP socket is to connect a service with a driver for the network device, one or more queues are associated with the AF_XDP socket, and at least one of the one or more queues comprises a waiting queue for received packet receipt ACKs. In some examples, at least one of the one or more queues is to identify one or more packets for which ACKs have been received. In some examples, the network device is to re-transmit a packet identified by a descriptor in the waiting queue based on non-receipt of an ACK associated with the packet from a receiver.
    Type: Application
    Filed: April 23, 2021
    Publication date: August 4, 2022
    Inventors: Shaopeng HE, Cunming LIANG, Jiang YU, Ziye YANG, Ping YU, Bo CUI, Jingjing WU, Liang MA, Hongjun NI, Zhiguo WEN, Changpeng LIU, Anjali Singhai JAIN, Daniel DALY, Yadong LI
  • Publication number: 20210271426
    Abstract: An apparatus is described. The apparatus includes an accelerator to be coupled to a memory region that the accelerator shares with a virtualization environment comprising a guest OS, a guest VM and an SSD device driver. The accelerator is to forward a submission queue doorbell setting made by the SSD device driver in the shared memory to a corresponding submission queue doorbell in an SSD controller.
    Type: Application
    Filed: January 31, 2019
    Publication date: September 2, 2021
    Inventors: Gang CAO, Ziye YANG, Xiaodong LIU, Changpeng LIU
  • Publication number: 20210243247
    Abstract: Examples described herein relate to a switch comprising a programmable data plane pipeline, wherein the programmable data plane pipeline is configured to provide microservice-to-microservice communications within a service mesh. In some examples, to provide microservice-to-microservice communications within a service mesh, the programmable data plane pipeline is to perform a forwarding operation for a communication from a first microservice to a second microservice. In some examples, to perform a forwarding operation for a communication from a first microservice to a second microservice, the programmable data plane pipeline is to utilize a reliable transport protocol.
    Type: Application
    Filed: April 23, 2021
    Publication date: August 5, 2021
    Inventors: Shaopeng HE, Cunming LIANG, Haitao KANG, Hongjun NI, Jiang YU, Ziye YANG, Anjali Singhai JAIN, Daniel DALY, Yadong LI, Ping YU, Bo CUI, Jingjing WU, Liang MA, Changpeng LIU
  • Publication number: 20210232528
    Abstract: Examples described herein relate to an apparatus comprising: a descriptor format translator accessible to a driver. In some examples, the driver and descriptor format translator share access to transmit and receive descriptors. In some examples, based on a format of a descriptor associated with a device differing from a second format of descriptor associated with the driver, the descriptor format translator is to: perform a translation of the descriptor from the format to the second format and store the translated descriptor in the second format for access by the device. In some examples, the device is to access the translated descriptor; the device is to modify content of the translated descriptor to identify at least one work request; and the descriptor format translator is to translate the modified translated descriptor into the format and store the translated modified translated descriptor for access by the driver.
    Type: Application
    Filed: March 22, 2021
    Publication date: July 29, 2021
    Inventors: Patrick G. KUTCH, Andrey CHILIKIN, Jin YU, Cunming LIANG, Changpeng LIU, Ziye YANG, Gang CAO, Xiaodong LIU, Zhiguo WEN, Zhihua CHEN
  • Publication number: 20210103403
    Abstract: Methods and apparatus for end-to-end data plane offloading for distributed storage using protocol hardware and Protocol Independent Switch Architecture (PISA) devices. Hardware-based data plane forwarding is implemented in compute and storage switches that comprise smart server switches running software executing in a kernel and user space. The compute switch is coupled to one or more compute servers/nodes and the storage server is coupled to one or more storage servers or storage arrays. The hardware-based data plane forwarding facilitates an end-to-end data plane between the computer server(s) and storage server(s)/array(s) that is offloaded to hardware. In one example the software comprises Ceph components used to implement control plane operations in connection with hardware offloaded data plane operations, and storage traffic employs the NVMe-oF protocol and the kernels include NVMe-oF modules. In one aspect the hardware-based data plane forwarding is implemented using programmable P4switch chips.
    Type: Application
    Filed: November 9, 2020
    Publication date: April 8, 2021
    Inventors: Shaopeng He, Yadong Li, Ziye Yang, Changpeng Liu, Haitao Kang, Cunming Liang, Gang Cao, Scott Peterson, Sujoy Sen, Yi Zou, Arun Raghunath
  • Publication number: 20210089236
    Abstract: Examples described herein relate to receiving memory access requests in a first number of connections from one or more front-end clients destined to a storage system and consolidating the memory access requests to a second number of connections between a network device and the storage system, wherein the second number is less than the first number. In some examples, consolidating the memory access requests includes combining read commands with other read commands destined to the storage system among connections of the first number of connections and combining write commands with other write commands destined to a same storage system among connections of the first number of connections. In some examples, consolidating the memory access requests includes performing protocol conversion to a format accepted by the storage system. In some examples, read or write commands are identified based on content of a header of a received packet, wherein the received packet includes a read or write command.
    Type: Application
    Filed: December 4, 2020
    Publication date: March 25, 2021
    Inventors: Ziye YANG, Shaopeng HE, Changpeng LIU, Xiaodong LIU
  • Publication number: 20210072927
    Abstract: A computer program product, system, and method to manage access to storage resources from multiple applications. A plurality of virtual controllers is generated in a host memory space. Each virtual controller includes at least one virtual namespace that maps to a physical namespace in a physical controller. Applications are assigned to the virtual controllers. For each application of the applications assigned one of the virtual controllers, a virtual submission queue is generated to communicate with the virtual controller assigned to the application. An Input/Output (I/O) request to a target virtual namespace in one of the virtual submission queues is added to a physical submission queue for the physical controller having the physical namespace for which the target virtual namespace was generated.
    Type: Application
    Filed: September 27, 2017
    Publication date: March 11, 2021
    Inventors: Ziye YANG, Gang CAO, Cunyin CHANG, Changpeng LIU, James HARRIS
  • Publication number: 20200319812
    Abstract: Examples described herein relate to accessing an initiator as a Non-Volatile Memory Express (NMVe) device. In some examples, the initiator is configured with an address space, configured in kernel or user space, for access by a virtualized execution environment. In some examples, the initiator to copy one or more storage access commands from the virtualized execution environment into a queue for access by a remote direct memory access (RDMA) compatible network interface. In some examples, the network interface to provide Non-Volatile Memory Express over Fabrics (NVMe-oF) compatible commands based on the one or more storage access commands to a target storage device. In some examples, the initiator is created as a mediated device in kernel space or user space of a host system. In some examples, configuration of a physical storage pool address of the target storage device for access by the virtualized execution environment occurs by receipt of the physical storage pool address in a configuration command.
    Type: Application
    Filed: June 23, 2020
    Publication date: October 8, 2020
    Inventors: Shaopeng HE, Yadong LI, Ziye YANG, Changpeng LIU, Banghao YING, Robert O. SHARP