Shu Li 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).
Abstract: One embodiment facilitates data storage. During operation, the system selects a first page of a non-volatile storage to be recycled in a garbage collection process. The system determines that the first page is a first partial page which includes valid data and invalid data. The system combines the valid data from the first partial page with valid data from a second partial page to form a first full page, wherein a full page is aligned with a physical page in the non-volatile storage. The system writes the first full page to a first newly assigned physical page of the non-volatile storage.
Abstract: The system receives a request to write a first piece of data to a non-volatile memory. The system encodes, based on an error correction code (ECC), the first piece of data to obtain a first ECC codeword which includes a plurality of ordered parts and a first parity. The system writes the plurality of ordered parts in multiple rows. The system writes the first parity to a same row in which a starting ordered part is written. The system updates, in a data structure, entries associated with the ordered parts. A respective entry indicates: a virtual address associated with a respective ordered part, a physical address at which the respective ordered part is written, and an index corresponding to a virtual address associated with a next ordered part. A first entry associated with the starting ordered part further indicates a physical address at which the first parity is written.
Abstract: Resource management includes: operating in a first mode, including executing a controller operation in connection with a plurality of local elements, wherein the controller operation is executed by a configurable resource; switching from the first mode to a second mode; and operating in the second mode, including: executing a data processing task in a first portion of the configurable resource; and executing the controller operation in connection with the plurality of local elements, in a second portion of the configurable resource.
Abstract: Embodiments described herein provide a system for facilitating modulation-assisted error correction. The system can include a plurality of flash memory cells, an organization module, a mapping module, and a modulation module. During operation, the organization module groups bits of a cluster of cells in the plurality of flash memory cells into a first group and a second group. A respective of the first and second groups includes bits from a respective cell of the cluster of cells. The mapping module generates a modulation map that maps a subset of bits indicated by the first group in such a way that the subset of bits is repeated in a respective domain of bits indicated by the second group. The modulation module then programs user data bits in the cluster of cells based on the modulation map.
Abstract: One embodiment facilitates data placement in a storage device. During operation, the system receives, from a host, a request to read data. The system determines that the data is not available in a read cache. The system issues the read request to a solid state drive and a first hard disk drive. In response to unsuccessfully reading the requested data from the solid state drive and successfully reading the requested data from the first hard disk drive, the system sends the requested data to the host. In response to unsuccessfully reading the requested data from both the solid state drive and the first hard disk drive: the system issues the read request to a second hard disk drive; and the system sends the requested data to the host.
Abstract: One embodiment provides a system and method for reshaping the power budget of a cabinet to facilitate an improved deployment density of servers. A battery cabinet comprises: a plurality of sealed batteries; a power outlet; and a power management module coupled to the sealed batteries and the power outlet. The power management module comprises: a power monitoring module configured to monitor a first amount of power consumed by one or more computing devices via a main power supply; a detection module configured to detect that the first amount of power consumption exceeds a predetermined power consumption threshold; and a power provision module configured to provide, via the sealed batteries, power to the power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold.
Abstract: One embodiment provides a system for facilitating data placement. The system receives, by a computing device, data to be written to a non-volatile memory, wherein the data is associated with a first logical block address. The system performs, based on the first logical block address, a search in a mapping table for an entry which indicates a first physical block address associated with a first physical unit. A respective physical unit can comprise a plurality of blocks of data across a plurality of channels of the non-volatile memory. The system writes the data to a second physical block address in the first physical unit. The system updates the entry by replacing the first physical block address with the second physical block address.
Abstract: A system, apparatus, and method are provided for preventing the accumulation of particulate matter such as combustion soot on sensors positioned in exhaust gas conduits of internal combustion engines. In an embodiment, the apparatus includes a device for deflecting soot deposits from sensor surfaces. In an embodiment, the apparatus includes a device employing a surface acoustic wave generator for dislodging soot accumulation or measuring soot accumulations to trigger burn-off events. In an embodiment, an injector injects pressurized bursts of gas toward a sensor surface to dislodge particulate matter. In an embodiment, charged electrodes attract charged particles of soot from the exhaust gas flow to form deposits that are then subject to burn-off events.
Abstract: One embodiment provides a computer system. The computer system comprises: a plurality of storage devices; and a first component functioning both as a network interface card and as an access switch, wherein the first component is configured to manage connections to the plurality of storage devices. A respective storage device comprises: an Ethernet port coupled to the first component; at least one microprocessor; a plurality of PCIe lanes; and a plurality of storage drives with non-volatile memory.
Abstract: A system is provided to receive a first request to write data to an HDD which comprises a plurality of platters with corresponding heads, wherein a respective platter includes a plurality of tracks. The system aligns the heads at a same first position on a first track of each platter, and distributes the data as a plurality of data sectors to track sectors located at the same first position on the first track of each platter. The system then receives a second request to read the data from the HDD, and aligns the heads at a same random position on the first track of each platter. Subsequently, the system reads, during a single rotation of the platters, all data stored on the first track of each platter, stores the read data in a data buffer, and reshuffles the read data in the data buffer to obtain the requested data.
Abstract: One embodiment facilitates a write operation in a shingled magnetic recording device. During operation, the system receives, by the storage device, data to be written to the storage device and access-frequency information associated with the data, wherein the storage device includes a plurality of concentric tracks. The system distributes a plurality of spare sector pools among the plurality of concentric tracks. The system selects a track onto which to write the data based on the access-frequency information, wherein data with a highest access-frequency is written to an outer track. The system appends the data at a current write pointer location of the selected track, thereby facilitating an enhanced data placement for subsequent access in the storage device.
Abstract: One embodiment facilitates error recovery. During operation, the system receives an input/output request indicating data associated with a first logical block address. The system detects, in a mapping table, an error associated with the first logical block address, wherein the mapping table maps logical block addresses to physical block addresses. The system identifies a dedicated block which stores log entries with logical block addresses corresponding to sequentially programmed physical blocks. The system performs a search in the dedicated block to obtain a most recent valid log entry for the first logical block address. The system obtains a first physical block address corresponding to the first logical block address based on the sequentially programmed physical blocks or the dedicated block. The system executes the I/O request by accessing the first physical block address.
Abstract: Systems and apparatuses include a passive device coupled to a mounting boss arranged on a vehicle system, and a sensor structured to engage the mounting boss. The sensor includes a probe structured to sense a characteristic of the vehicle system, and a reader structured to send a query signal to the passive device and receive location data from the passive device associated with the mounting boss.
February 10, 2020
Date of Patent:
February 9, 2021
Ganesh Raghunath, Alok A. Joshi, Shu Li
Abstract: One embodiment facilitates flash storage management. During operation, the system receives a request to write data to a non-volatile memory. The system writes, in a buffer in association with a controller, the data to a next available portion of a current physical page in a page stripe, wherein the page stripe includes physical pages which each correspond to a sequentially ordered die of the non-volatile memory. The system provides power-loss protection to the current physical page and a second physical page which indicates parity information for the page stripe, thereby providing power-loss protection to an increased number of partially full page stripes.
Abstract: Embodiments described herein provide a storage management system. During operation, the system receives information indicating sets of pending load of a plurality of storage devices from one or more storage nodes of a distributed storage system. The set of pending load of a respective storage device includes a set of load from host operations and a set of load from background operations on the storage device. The system can receive a request for a target resource associated with a disk operation from a client node of the distributed storage system. The system then selects, from the plurality of storage devices, a storage device with the smallest set of pending load based on the sets of pending load as the target resource and sends the target resource to the client node.
Abstract: One embodiment facilitates data access in a storage device. During operation, the system obtains, by the storage device, a file from an original physical media separate from the storage device, wherein the file comprises compressed data which has been previously encoded based on an error correction code (ECC). The system stores, on a physical media of the storage device, the obtained file as a read-only replica. In response to receiving a request to read the file, the system decodes, by the storage device based on the ECC, the replica to obtain ECC-decoded data, wherein the ECC-decoded data is subsequently decompressed by a computing device associated with the storage device and returned as the requested file.
Abstract: One embodiment facilitates thin-provisioning in a distributed storage system. During operation, the system receives, by a first network switch, data to be written to a storage component of the first network switch. The system writes, by the first network switch, the data to the storage component. The system performs, by an integrated circuit residing on the first network switch, a data reduction process which reduces a size of the data to obtain reduced data. The system encodes, by the integrated circuit, the reduced data based on an encoding mechanism to obtain encoded data, wherein the encoded data can be written to non-volatile memory of one or more storage devices.
Abstract: The disclosure describes a transgenic dicot or monocot plant having bovine milk protein(s) and methods of producing the transgenic dicot or monocot plant containing bovine milk protein(s). These transgenic dicot or monocot plants can express and produce bovine milk protein(s). The methods involve introducing a recombinant DNA construct expressing a bovine milk protein into a dicot or monocot plant, obtaining the dicot or monocot plant containing the bovine milk protein(s) from a recombinant DNA construct, cultivating and harvesting the transgenic dicot or monocot plant, and extracting and purifying the bovine milk protein(s) from transgenic dicot or monocotyledonous plants. The disclosure also describes food compositions comprising milk proteins produced using the transgenic dicot or monocot plants described herein.
Abstract: One embodiment facilitates operation of non-volatile memory. During operation, the system determines, by a flash translation layer module, a physical block address associated with a first request which indicates data to be read, wherein the non-volatile memory is divided into separate physical zones, wherein the physical block address is associated with a first physical zone, and each separate physical zone has a dedicated application to read or write data thereto. The system obtains a free page frame in a volatile memory by writing data from a cold page in the volatile memory to a second physical zone, wherein a cold page is a page with a history of access which is less than a predetermined threshold. The system loads, based on the physical block address, data from the non-volatile memory to the free page frame. The system executes the request based on the data loaded into the free page frame.
Abstract: One embodiment facilitates data placement. During operation, the system monitors a condition of a plurality of blocks of a non-volatile memory. The system determines that a condition of a first block falls below a first predetermined threshold, wherein the first block has a first capacity. The system formats the first block to obtain a second block which has a second capacity, wherein the second capacity is less than the first capacity.