Storage system and data protection method therefor
First Claim
1. A storage system comprising:
- one or more flash memory modules each having 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 having 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 can read/write data, and a memory area for a redundant section;
when writing data in a flash memory chip, the storage controller creates a protection code enabling identification of address information for a write destination page;
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 the second data length, and writes 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 compares 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 checks whether there is an address error or not.
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.
146 Citations
15 Claims
-
1. A storage system comprising:
-
one or more flash memory modules each having 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 having 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 can read/write data, and a memory area for a redundant section; when writing data in a flash memory chip, the storage controller creates a protection code enabling identification of address information for a write destination page;
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 the second data length, and writes the respective sets of the pieces of write data and protection codes in the flash memory chip in units of second data lengths; andthe storage controller compares 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 checks whether there is an address error or not. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage system comprising:
-
one or more flash memory modules each having 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 having 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 can read/write data, and a memory area for a redundant section; the storage controller has 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 creates a protection code enabling identification of address information for a write destination page;
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 the second data length, and writes 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 compares 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 checks whether there is an address error or not. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A data protection method performed in a storage system, the storage system having:
- one or more flash memory modules each having 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 having cache memory that temporarily stores data read/written from/to one or more of the flash memory chips, and the memory area of one page including;
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 there is an address error or not.
- one or more flash memory modules each having one or more flash memory chips and a memory controller that controls reading/writing of data from/to the flash memory chips; and
Specification