G06F3/0628

PIPELINED DECOMPRESSION OF SLIDING WINDOW COMPRESSED DATA

Decompressing sliding window compressed data requires reference to previously decompressed character sequences. Previously decompressed data is stored in a history buffer to satisfy these back references. As each decompressed/decoded character is emitted, it is stored in this history buffer. Thus, for each decompressed character that is emitted, the history buffer may need to be accessed at least twiceonce to retrieve the backreference, and once to store the emitted character. A pipeline architecture is disclosed that stores decompressed characters in a write queue that coalesces eight or more emitted characters before they are stored in the history buffer memory. This reduces collisions between accessing the history buffer memory to retrieve the backreferences and the storing of the emitted character. This also allows the use of a single-ported memory which is less expensive than a multi-ported memory.

METHOD AND APPARATUS FOR WEAR-LEVELLING NON-VOLATILE MEMORY

Apparatus and method for performing wear leveling are disclosed. An ordered list of references to each of a set of memory blocks is stored. A set of memory blocks in the ordered list is sequentially allocating. The allocated set of memory blocks in the ordered list are erased in the sequence in which they were allocated.

Detecting hot spots through flash memory management table snapshots

Decisions about how to correlate logical address to physical addresses in a flash memory (or other non-volatile random access memory) is based at least in part upon how frequently a logical address is accessed over time. Accordingly, software tracks accesses, by logical address, to the stored data using a flash memory metadata structure, and calculates a frequency-of-access value for each logical address of the set of logical addresses corresponding to the relative frequency with which the corresponding logical address is accessed, based, at least in part, on the flash memory metadata structure. For example, logical addresses with low frequency may be grouped together so that the frequency of erasure operations (which are often done on a block by block basis) will tend to be reduced.

SYMBOLIC RIGSTATE SYSTEM
20180047117 · 2018-02-15 ·

A method can include receiving data associated with a drilling operation in a geologic environment; determining a state based at least in part on the data; representing the state using a symbolic representation scheme that includes letters; storing the represented state in a database; and, for a combination of letters that represents a combination of states, performing a search engine based search of the database to generate a search result.

STORAGE SYSTEM, STORAGE CONTROL DEVICE, AND METHOD OF CONTROLLING A STORAGE SYSTEM
20180039439 · 2018-02-08 · ·

A storage system includes a first storage control device including a first memory being a volatile memory and a first processor, and a second storage control device including a second memory being a non-volatile memory and a second processor, wherein the second processor is configured to receive a first write request to write first data into a first storage device, store the first data into the second memory, and transmit the first data to the first storage control device, the first processor is configured to store the first data into the first memory, and transmit a first notification to the second storage control device, and the second processor is configured to receive the first notification, transmit a first completion notification in response to the first write request, and execute processing to write the first data, stored in the second memory, into the first storage device.

COPY OF MEMORY INFORMATION FROM A TRANSMIT DESCRIPTOR TO A TRACKING DATA STRUCTURE
20180032359 · 2018-02-01 ·

Examples include the copy of memory information from a transmit descriptor to a tracking data structure. Some examples include the memory information being copied from a guest transmit descriptor to a tracking data structure of the guest OS and assignment of the guest transmit descriptor back to a free pool, in response to a determination that the guest transmit descriptor is assigned to an intermediate state.

METHOD AND APPARATUS FOR IMPLEMENTING HIGH-SPEED CONNECTIONS FOR LOGICAL DRIVES
20180024782 · 2018-01-25 ·

A method and apparatus may include receiving data from a first device. The data may be received via a first protocol. The method can also include converting the data to be transmitted via a second protocol. The second protocol may be a high-speed proprietary or standard protocol. The method can also include transmitting the data via the second protocol to a second device.

Managing provisioning for cloud resource allocations

Resource provisioning to a process in a distributed computing system, such as a cloud computing system. An instruction to provision a resource is received. Portions of the resource are provisioned to the process as they become available, and prior to all portions becoming available, based on determining that the provisioning speed is greater than or equal to the use speed for the resource. If the use speed is faster, it may be actively slowed down.

Method and apparatus for wear-leveling non-volatile memory

Apparatus and method for performing wear leveling are disclosed. An ordered list of references to each of a set of memory blocks is stored. A set of memory blocks in the ordered list is sequentially allocating. The allocated set of memory blocks in the ordered list are erased in the sequence in which they were allocated.

Managing provisioning for cloud resource allocations

Resource provisioning to a process in a distributed computing system, such as a cloud computing system. An instruction to provision a resource is received. Portions of the resource are provisioned to the process as they become available, and prior to all portions becoming available, based on determining that the provisioning speed is greater than or equal to the use speed for the resource. If the use speed is faster, it may be actively slowed down.