Abstract:
Systems and methods for generating random address mapping in non-volatile memories using local and global interleaving are provided. One such method for generating a random address mapping for a non-volatile memory (NVM) involves identifying a number of bits (N) in a physical address space of the NVM, selecting G bit(s) of the N bits to be used for global interleaving, where G is less than N, determining a number of bits (N−G) to be used for local interleaving, mapping the G bit(s) using a mapping function for global interleaving, interleaving (N−G) bits using an interleaving function for local interleaving, and generating a combined mapping comprising the mapped G bit(s) and the interleaved (N−G) bits.
Abstract:
Systems and methods for offloading processing from a host to one or more storage processing units using an interconnect network are provided. One such system includes a host having a processing task, a plurality of storage processing units (SPUs), a host interface configured to enable communications between the host and each of the plurality of SPUs, and an interconnection network coupled to at least two of the plurality of SPUs, where the host is configured to command at least one of the plurality of SPUs to perform the processing task, and command the interconnection network to couple two or more of the plurality of SPUs.
Abstract:
Embodiments of the present disclosure generally relate to an improved method and system for error correction in non-volatile memory cells. The method includes writing data to a first location in non-volatile memory from a block of user data stored in DRAM and verifying the written data matches the block of user data. If the written data fails verification, the method further includes writing an error location pointer indicative of one or more error locations in the first location to a second location in non-volatile memory. Writing the one or more error locations to the error location pointer includes verifying the written error location pointer matches an address of the one or more error locations in the first location to ensure integrity of the error location pointer. Use of the error location pointer results in non-volatile memory with increased data rate, decreased read latency and a low probability of data loss.
Abstract:
Aspects of the disclosure relate to storage systems for providing low latency read access of a non-volatile memory. One such system includes a non-volatile memory (NVM) configured for read access via a primary data path, a syndrome checker disposed along the primary read data path and configured to check a codeword read from the NVM for errors, an error correction code circuitry disposed outside of the primary data path and, if the codeword is determined to contain an error, configured to determine a location of the error in the codeword, and a queue disposed along the primary read data path. The queue is configured to receive the codeword from the syndrome checker and output the codeword to a host. If the codeword is determined to contain the error, the queue corrects the error based on the determined location of the error from the error correction code circuitry.
Abstract:
Systems and methods for generating random address mapping in non-volatile memories using local and global interleaving are provided. One such method for generating a random address mapping for a non-volatile memory (NVM) involves identifying a number of bits (N) in a physical address space of the NVM, selecting G bit(s) of the N bits to be used for global interleaving, where G is less than N, determining a number of bits (N-G) to be used for local interleaving, mapping the G bit(s) using a mapping function for global interleaving, interleaving (N-G) bits using an interleaving function for local interleaving, and generating a combined mapping comprising the mapped G bit(s) and the interleaved (N-G) bits.
Abstract:
Systems and methods for offloading processing from a host to one or more storage processing units using an interconnect network are provided. One such system includes a host having a processing task, a plurality of storage processing units (SPUs), a host interface configured to enable communications between the host and each of the plurality of SPUs, and an interconnection network coupled to at least two of the plurality of SPUs, where the host is configured to command at least one of the plurality of SPUs to perform the processing task, and command the interconnection network to couple two or more of the plurality of SPUs.
Abstract:
Systems and methods for designating a storage processing unit as a communication hub(s) in a SSD storage system are provided. The storage system can include a host, storage processing units (SPUs), and a host interface to enable communications between host and SPUs. One such method involves receiving a processing task including multiple threads to be performed, determining a baseline configuration for scheduling execution of threads on SPUs and a baseline cost function, marking one SPU as a communication hub, rescheduling, if a thread scheduled for execution on any of the other SPUs is decomposable to multiple sub-threads, a first sub-thread for execution on marked SPU, evaluating a second cost function for performing the processing task, including first sub-thread rescheduled on marked SPU, based on same factors as the baseline cost function, and unmarking, if baseline cost function is less than second cost function, the marked SPU.