G06F3/0646

METHODS, APPARATUSES AND COMPUTER PROGRAM PRODUCTS FOR PROCESSING AND MANAGING STORAGE UNIT ACCESS
20200133523 · 2020-04-30 ·

Techniques process and manage a storage unit access. In accordance with such a technique, a data access request which is from a host system and for a first storage unit in the first storage system is received, wherein the first storage unit is a secondary storage unit; and the data access request is forwarded to a second storage unit in a second storage system associated with the first storage unit via a redirection link from the first storage system to the second storage system, wherein the second storage unit is a primary storage unit. Through such techniques, the host system can be allowed to send a data access request for the secondary storage unit, so that the host system does not need to resend the data access request, thereby reducing delay and interruption caused by such requests.

CACHE MAINTENANCE OPERATIONS IN A DATA PROCESSING SYSTEM

An interconnect system and method of operating the system are disclosed. A master device has access to a cache and a slave device has an associated data storage device for long-term storage of data items. The master device can initiate a cache maintenance operation in the interconnect system with respect to a data item temporarily stored in the cache causing action to be taken by the slave device with respect to storage of the data item in the data storage device. For long latency operations the master device can issue a separated cache maintenance request specifying the data item and the slave device. In response an intermediate device signals an acknowledgment response indicating that it has taken on responsibility for completion of the cache maintenance operation and issues the separated cache maintenance request to the slave device. The slave device signals the acknowledgement response to the intermediate device and on completion of the cache maintenance operation with respect to the data item stored in the data storage device signals a completion response to the master device.

POWER-ON-TIME BASED DATA RELOCATION

A total estimated occupancy value of a first data on a first data block of a plurality of data blocks is determined. To determine the total estimated occupancy value of the first data block, a total block power-on-time (POT) value of the first data block is determined. Then, a scaling factor is applied to the total block POT value to determine the total estimated occupancy value of the first data block. Whether the total estimated occupancy value of the first data block satisfies a threshold criterion is determined. Responsive to determining that the total estimated occupancy value of the first data block satisfies the threshold criterion, data stored at the first data block is relocated to a second data block of the plurality of data blocks.

I/O BEHAVIOR PREDICTION BASED ON LONG-TERM PATTERN RECOGNITION
20200133489 · 2020-04-30 · ·

Described herein is a system, and related techniques, for predicting I/O requests that are not necessarily directed to sequential sectors of a physical storage device. In some embodiments, I/O patterns that do not involve sequential-sector access, and that may be relatively long-term patterns, may be recognized. To recognize such patterns, deep machine-learning techniques may be used, for example, using neural networks. Such neural networks may be a recurrent neural network such as, for example, an LSTM-RNN. I/O streams for a workstream may be sampled for specific I/O features to produce a time series of I/O feature values of a workstream, and this time series of data may be fed to a prediction engine, e.g., an LSTM-RNN to predict one or more future I/O features values, and I/O actions may be taken based on these predicted feature values.

Parity offload for multiple data storage devices

A system and method improve the performance of non-volatile memory storage by offloading parity computations to facilitate high speed data transfers, including direct memory access (DMA) transfers, between a remote host and a non-volatile memory based storage system, such as a flash memory based data storage device (e.g., SSD). In conjunction with writing to non-volatile memory storage, a stripe map is used to target a selected data storage device for parity generation. All data of a stripe is transmitted to the selected data storage device to generate the parity and the generated parity is propagated from the selected data storage device to other data storage devices in the stripe. The data for the stripe may also be propagated from the selected data storage device to the other data storage devices in the stripe.

ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING INFRASTRUCTURE
20200125941 · 2020-04-23 ·

An artificial intelligence and machine learning infrastructure system, including: one or more storage systems comprising, respectively, one or more storage devices; and one or more graphical processing units, wherein the graphical processing units are configured to communicate with the one or more storage systems over a communication fabric; where the one or more storage systems, the one or more graphical processing units, and the communication fabric are implemented within a single chassis.

Asymmetric Data Striping For Uneven NAND Defect Distribution
20200117382 · 2020-04-16 ·

A storage device implements striping logic with respect to a plurality of slices, each slice including one or more storage media, such as NAND flash dies. Data operations are distributed among the slice in an unequal manner such that the frequency of selection of a slice decreases with number of defects in the NAND dies of that slice. For example, data operations may be distributed in a round-robin fashion with some slices being skipped periodically. In some embodiments, a skip map may be used that maps host addresses (HLBA) to a particular slice and device address (DLBA) in that slice, the skip map implementing the skipping of slices. The skip map may be smaller than the size of the storage device such that each HLBA is mapped to a zone of the storage device and a slice and offset within that zone are determined according to the skip map.

Parallel Memory Access and Computation in Memory Devices
20200117400 · 2020-04-16 ·

An integrated circuit (IC) memory device encapsulated within an IC package. The memory device includes first memory regions configured to store lists of operands; a second memory region configured to store a list of results generated from the lists of operands; and at least one third memory region. A communication interface of the memory device can receive requests from an external processing device; and an arithmetic compute element matrix can access memory regions of the memory device in parallel. When the arithmetic compute element matrix is processing the lists of operands in the first memory regions and generating the list of results in the second memory region, the external processing device can simultaneously access the third memory region through the communication interface to load data into the third memory region, or retrieve results that have been previously generated by the arithmetic compute element matrix.

BUFFER TO REDUCE WRITE AMPLIFICATION OF MISALIGNED WRITE OPERATIONS
20200117397 · 2020-04-16 ·

Examples herein relate to a storage system that separately handles portions of a write operation that are aligned and misaligned with respect to retrievable segments from a storage device. For misaligned portions, a buffer can be used to store misaligned retrievable segments and update the segments with content provided with the write operation. Aligned portions of content associated with a write request can be written directly to the storage medium or overwrite corresponding retrievable segments present in the buffer. A table or array can track logical block addresses that correspond to content in the buffer or in the storage. Content in the buffer can be kept in the buffer without being backed-up or persisted to the storage until a triggering event occurs such as power loss or low space in the buffer.

Memory controller and control method thereof

A read control method of a memory controller for controlling a memory device including a plurality of memory pages respectively connected to a plurality of word lines includes identifying a selected memory page connected to a selected word line among the plurality of memory pages has undergone a suspend operation, determining a read offset level of the selected memory page based on suspend operation information associated with the selected memory page according to a result of the identifying the selected memory page, and controlling a read operation of the memory device based on a read voltage associated with the read offset level that was determined.