Memory system with multiple striping of raid groups and method for performing the same
AssigneeViolin Memory, Inc.
InventorJon C. R. Bennett
Life of this patent
Estimating the term…
Abstract
A data memory system is described, where there may be an asymmetry in the time needed to write or erase data and the time needed to read data. The data may be stored using a RAID data storage arrangement and the reading, writing and erasing operations on the modules arranged such that the erasing and writing operations may be performed without significant latency for performing a read operation. Where a failure of a memory module in the memory system occurs, methods for recovering the data of the failed module are disclosed which may selected in accordance with policies that may relate to the minimizing the possibility of irretrievable data loss, or degradation of latency performance.
Claims26
A memory system, comprising:
- a processor in communication with a plurality of memory modules and with a user;
- each module of the plurality of memory modules comprised of FLASH memory circuits, configured to perform a read data operation, or configured to perform a write data operation, responsive to a request for data or data received from the user, respectively, or to perform an erase operation;
- and
- a group of memory modules of the plurality of memory modules configured such that data received from the user by the processor is written by the write data operation to one or more memory modules of the group of memory modules and redundancy data for user data is computed by the memory system and written by the write data operation to one or more memory modules of the group of memory modules,
- wherein, the memory system is configured to perform the write data to the memory modules of the group of memory modules or the erase data operation such that, responsive to a user request to read data stored in one or more memory modules of the group of memory modules, user data in response to the user request for data is provided without a time delay due to the write data operation or the erase operation;
- wherein, when the write data operation or the erase operation prevents the read data operation on the one or more memory modules where the requested user data is stored, sufficient stored data and redundancy data is read from other memory modules of the group of memory modules to reconstruct the user data, without waiting for a completion of the write operation or the erase operation, respectively.
A method of storing data in a memory system, including:
- providing a processor in communication with a plurality of memory modules and with a user;
- configuring each module of the plurality of memory modules to perform a read data operation or to perform a write data operation, and where the memory modules are comprised of FLASH memory circuits, performing erase operations;
- and
- in response to data received from the user by the processor:
- selecting a group of memory modules of the plurality of memory modules;
- computing redundancy data for the user data;
- performing the write data operation to memory modules of the selected group of memory modules for the user data and the redundancy data;
- and
- in response to a request for data received from the user;
- controlling at least one of writing data operations or erasing operations in the memory modules of the group of memory modules where the user data or redundancy data is stored such that:
- when writing data operations or erasing operation prevent the reading data operation on the one or more memory modules where the user data is stored,
- responding to the user request for data stored on one or more memory modules of the group of memory modules is completed without a time delay due to at least one of writing data operations or the erasing operations overlapping the user request to read data by reading sufficient stored data and redundancy data from other memory modules of the group of memory modules and reconstructing the requested stored user data, without waiting for a completion of the writing or the erasing operations, respectively.
Dependencies are inferred from the claim text.