Storage system and data protection method therefor
First Claim
1. A storage system comprising:
- one or more flash memory modules each comprising one or more flash memory chips and a memory controller operable to control reading/writing of data from/to the flash memory chips; and
a storage controller comprising cache memory operable to temporarily store data read/written from/to one or more of the flash memory chips,wherein,in the cache memory, data read/written from/to the flash memory chips is managed in units of first data lengths;
in the flash memory modules, the data read/written from/to the flash memory chips is managed in page units;
the memory area of one page includes a memory area of a second length from/to which the storage controller can read/write data, and a memory area for a redundant section;
when writing data to a flash memory chip, the storage controller is operable to create a protection code enabling identification of address information for a write destination page;
divide the data in the cache memory, which is managed in units of first data lengths, into pieces so that the size of each set composed of a piece of the divided write data and its protection code will be of the second data length, and write the respective sets of the pieces of write data and protection codes in the flash memory chip in units of second data lengths; and
the storage controller is operable to compare the address information identified with the protection codes attached to the data read from the flash memory chip with the address information for the data that is intended to be read, and check whether or not there is an address error.
5 Assignments
0 Petitions
Accused Products
Abstract
To detect an address error in flash memory using a different data management unit from that in a hard disk drive. In cache memory, data read/written from/to a flash memory chip is managed in units of first data lengths. A page, which is the data management unit in a flash memory chip, includes a data section of a second data length from/to which a storage controller can read/write data; and a redundant section. When writing data, the storage controller creates a protection code enabling identification of a write destination page address, divides the data in the cache memory, which is managed in units of first data lengths, into pieces so that the size of each set composed of a piece of the divided write data and its protection code will be of a second data length, and writes the respective sets in a flash memory chip in units of second data lengths.
144 Citations
15 Claims
-
1. A storage system comprising:
-
one or more flash memory modules each comprising one or more flash memory chips and a memory controller operable to control reading/writing of data from/to the flash memory chips; and a storage controller comprising cache memory operable to temporarily store data read/written from/to one or more of the flash memory chips, wherein, in the cache memory, data read/written from/to the flash memory chips is managed in units of first data lengths; in the flash memory modules, the data read/written from/to the flash memory chips is managed in page units; the memory area of one page includes a memory area of a second length from/to which the storage controller can read/write data, and a memory area for a redundant section; when writing data to a flash memory chip, the storage controller is operable to create a protection code enabling identification of address information for a write destination page; divide the data in the cache memory, which is managed in units of first data lengths, into pieces so that the size of each set composed of a piece of the divided write data and its protection code will be of the second data length, and write the respective sets of the pieces of write data and protection codes in the flash memory chip in units of second data lengths; and the storage controller is operable to compare the address information identified with the protection codes attached to the data read from the flash memory chip with the address information for the data that is intended to be read, and check whether or not there is an address error. - View Dependent Claims (2, 3, 4, 5, 6)
when an address error occurs in the data in any one of the flash memory modules, the storage controller is operable to rebuild the data having the address error in units of the second data lengths using the data stored in the other flash memory modules belonging to the same RAID group as the flash memory module storing the data having the address error; and
overwrite the data having the address error with the rebuilt data.
-
-
4. The storage system according to claim 1, the storage system further includes hard disk drives as storage media, wherein when an address error occurs in a hard disk drive, the storage controller is operable to overwrite/correct the data having the address error in units of the first data lengths.
-
5. The storage system according to claim 1, wherein any one of the protection codes includes write-time information.
-
6. The storage system according to claim 1, wherein any one of the protection codes includes an error detection code for protecting data of the second data length.
-
7. A storage system comprising:
-
one or more flash memory modules each comprising one or more flash memory chips and a memory controller operable to control reading/writing of data from/to the flash memory chips; and a storage controller comprising cache memory that temporarily stores data read/written from/to one or more of the flash memory chips, wherein, in the cache memory, data read/written from/to the flash memory chips is managed in units of first data lengths; in the flash memory modules, the data read/written from/to the flash memory chips is managed in page units; the memory area of one page includes a memory area of a second length from/to which the storage controller is operable to read/write data, and a memory area for a redundant section; the storage controller comprises a media identification unit that identifies the type of a storage medium connected thereto; if a storage medium connected to the storage controller is a flash memory module, when writing data in a flash memory chip, the storage controller is operable to create a protection code enabling identification of address information for a write destination page;
divide the data in the cache memory, which is managed in units of first data lengths, into pieces so that the size of each set composed of a piece of the divided write data and its protection code will be of the second data length, and write the respective sets of the pieces of the write data and protection code in the flash memory chip in units of second data lengths; andthe storage controller is further operable to compare the address information identified with the protection codes attached to the data read from the flash memory chip with the address information for the data that is intended to be read, and check whether or not there is an address error. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A data protection method performed in a storage system, the storage system comprising:
- one or more flash memory modules each comprising one or more flash memory chips and a memory controller that controls reading/writing of data from/to the flash memory chips; and
a storage controller comprising cache memory operable to temporarily store data read/written from/to one or more of the flash memory chips, and the memory area of one page comprising;
a memory area of a second length from/to which the storage controller can read/write data; and
a memory area for a redundant section,the method comprising; managing the data read/written from/to a flash memory chip in units of first data lengths in the cache memory; creating a protection code enabling identification of address information for a write destination page, when writing data in a flash memory chip; dividing the data in the cache memory, which is managed in units of first data lengths, into pieces so that the size of each set composed of a piece of the divided write data and its protection code will be of the second data length; writing the respective sets of the pieces of the write data and protection codes in the flash memory chip in units of second data lengths; and comparing the address information identified with the protection codes attached to the data read from the flash memory chip with the address information for the data that is intended to be read and checking whether or not there is an address error.
- one or more flash memory modules each comprising one or more flash memory chips and a memory controller that controls reading/writing of data from/to the flash memory chips; and
Specification