Accessing multiple non-volatile semiconductor memory modules in an uneven manner
First Claim
1. A data storage apparatus, comprising:
- a set of memory modules, each memory module of the set of memory modules having non-volatile semiconductor memory;
an interface arranged to communicate with a set of external devices; and
a main controller coupled to each memory module and to the interface, the main controller being arranged to (i) store data within and (ii) retrieve data from the non-volatile semiconductor memory of the set of memory modules in an uneven manner on behalf of the set of external devices to unevenly wear out the memory modules over time;
wherein the each memory module has, as the non-volatile semiconductor memory, flash memory;
wherein the main controller, when storing data within and retrieving data from the non-volatile semiconductor memory, is arranged to carry out data storage operations on a memory space formed by the flash memory; and
wherein the main controller is arranged to;
implement a data protection scheme which utilizes striping and parity across multiple memory modules of the set of memory modules, the multiple memory modules including a particular memory module, andreplace the particular memory module with a previously unused hot standby memory module when the current storage capacity value of the flash memory of the particular memory module transitions from being greater than a predefined capacity threshold to no longer being greater than the predefined capacity threshold.
9 Assignments
0 Petitions
Accused Products
Abstract
A data storage apparatus (e.g., a flash memory appliance) includes a set of memory modules, an interface and a main controller coupled to the each memory module and to the interface. Each memory module has non-volatile semiconductor memory (e.g., flash memory). The interface is arranged to communicate with a set of external devices. The main controller is arranged to (i) store data within and (ii) retrieve data from the non-volatile semiconductor memory of the set of memory modules in an uneven manner on behalf of the set of external devices to unevenly wear out the memory modules over time. Due to the ability of the data storage apparatus to utilize each memory module through its maximum life and to stagger the failures of the modules, such a data storage apparatus is well-suited as a high availability storage device, e.g., a semiconductor cache for a fault tolerant data storage system.
71 Citations
20 Claims
-
1. A data storage apparatus, comprising:
-
a set of memory modules, each memory module of the set of memory modules having non-volatile semiconductor memory; an interface arranged to communicate with a set of external devices; and a main controller coupled to each memory module and to the interface, the main controller being arranged to (i) store data within and (ii) retrieve data from the non-volatile semiconductor memory of the set of memory modules in an uneven manner on behalf of the set of external devices to unevenly wear out the memory modules over time; wherein the each memory module has, as the non-volatile semiconductor memory, flash memory; wherein the main controller, when storing data within and retrieving data from the non-volatile semiconductor memory, is arranged to carry out data storage operations on a memory space formed by the flash memory; and wherein the main controller is arranged to; implement a data protection scheme which utilizes striping and parity across multiple memory modules of the set of memory modules, the multiple memory modules including a particular memory module, and replace the particular memory module with a previously unused hot standby memory module when the current storage capacity value of the flash memory of the particular memory module transitions from being greater than a predefined capacity threshold to no longer being greater than the predefined capacity threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of operating a data storage apparatus having a set of memory modules, each memory module having non-volatile semiconductor memory, the method comprising:
-
establishing communications with a set of external devices; receiving data access requests from the set of external devices; and in response to the data access requests, storing data within and retrieving data from the non-volatile semiconductor memory of the set of memory modules in an uneven manner on behalf of the set of external devices to unevenly wear out the memory modules over time; wherein the each memory module has, as the non-volatile semiconductor memory, flash memory; wherein storing the data within and retrieving the data from the non-volatile semiconductor memory, includes carrying out data storage operations on a memory space formed by the flash memory; and wherein the method further comprises; implementing a data protection scheme which utilizes striping and parity across multiple memory modules of the set of memory modules, the multiple memory modules including a particular memory module, and replacing the particular memory module with a previously unused hot standby memory module when the current storage capacity value of the flash memory of the particular memory module transitions from being greater than a predefined capacity threshold to no longer being greater than the predefined capacity threshold. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification