Storage system using flash memory modules logically grouped for wear-leveling and RAID
First Claim
1. A storage system using flash memories comprising a storage controller and plural flash memory modules as storage media,each flash memory module comprising at least one flash memory chip, and a memory controller for leveling erase counts of blocks belonging to the flash memory chip,the storage controller:
- combining the plural flash memory modules into a first logical group,translating a first address used for accessing the flash memory modules belonging to the first logical group to a second address used for handling the first address in the storage controller, andcombining a plurality of first logical groups into a second logical group.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage system using flash memories includes a storage controller and plural flash memory modules as storage media. Each flash memory module includes at least one flash memory chip and a memory controller for leveling erase counts of blocks belonging to the flash memory chip. The storage controller combines the plural flash memory modules into a first logical group, translates a first address used for accessing the flash memory modules belonging to the first logical group to a second address used for handling the first address in the storage controller, and combines the plural first logical groups into a second logical group.
202 Citations
31 Claims
-
1. A storage system using flash memories comprising a storage controller and plural flash memory modules as storage media,
each flash memory module comprising at least one flash memory chip, and a memory controller for leveling erase counts of blocks belonging to the flash memory chip, the storage controller: -
combining the plural flash memory modules into a first logical group, translating a first address used for accessing the flash memory modules belonging to the first logical group to a second address used for handling the first address in the storage controller, and combining a plurality of first logical groups into a second logical group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A wear-leveling method for a storage system using flash memories comprising:
-
flash memory modules including at least one flash memory chip and a memory controller for leveling erase counts of blocks belonging to the flash memory chip; and a storage controller for combining the flash memory modules into a first logical group, translating a first address used for accessing the flash memory modules belonging to the first logical group to a second address used for handling the first address in the storage controller, and combining a plurality of first logical groups into a second logical group, the method comprising; a step of allowing the storage controller to provide count management on write size of each predetermined memory area in the flash memory module; a step of allowing the storage controller to calculate an average erase count yielded by dividing total write size of each flash memory module through a predetermined time period by a capacity of the flash memory module; and a first determination step of allowing the storage controller to determine whether or not a difference between a maximum value and a minimum value of the average erase count is not less than a predetermined value, wherein at the first step, if the difference of the average erase count is not less than the predetermined value, the method further comprises a step of allowing the storage controller to exchange data between memory area having a maximum write size and memory area having a minimum write size, among the flash memory modules having the maximum difference of the average erase count, and to change mapping information between the first address and the second address. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A wear-leveling method for a storage system using flash memories comprising:
-
flash memory modules including at least one flash memory chip and a memory controller for leveling erase counts of blocks belonging to the flash memory chip; and a storage controller for combining the flash memory modules into a first logical group, translating a first address used for accessing the flash memory modules belonging to the first logical group to a second address used for handling the first address in the storage controller, and combining a plurality of the first logical groups into a second logical group, the method comprising; a step of allowing the storage controller to provide count management on write size of each predetermined memory area in the flash memory module; a step of allowing the storage controller to calculate an average erase count for each flash memory module, by adding a first average erase count at a predetermined time to a second average erase count yielded by dividing total write size since the predetermined time by capacity of the flash memory module; a first determination step of allowing the storage controller to determine whether or not a difference between a maximum value and a minimum value of the average erase count is not less than the predetermined value, wherein at the first step, if it is determined that the difference is not less than the predetermined value, the method further comprises a step of allowing the storage controller to exchange data between memory area having maximum write size and memory area having minimum write size, among the flash memory modules having the maximum difference of the erase count, and to change mapping information between the first address and the second address. - View Dependent Claims (29)
-
-
30. A computer-readable medium having stored thereon a wear-leveling program for a storage system using flash memories comprising:
-
flash memory modules including at least one flash memory chip and a memory controller for leveling erase counts of blocks belonging to the flash memory chip; and a storage controller for; combining the plural flash memory modules into a first logical group, translating a first address used for accessing the flash memory modules belonging into the first logical group to a second address used for handling the first address in the storage controller, and combining a plurality of first logical groups into a second logical group, the program performing; a process for allowing a computer to provide count management on write size of each predetermined memory area in the flash memory module; a process for allowing the computer to calculate an average erase count yielded by dividing total write size of each flash memory module through a predetermined time period by capacity of the flash memory module; a process of a first determination for the computer to determines whether or not a difference between a maximum value and a minimum value of the average erase count is not less than a predetermined value, wherein at the first determination, if the difference is not less than a predetermined value, the program further comprises a process for allowing the computer to change mapping information between the first address and the second address. - View Dependent Claims (31)
-
Specification