Data protection method wherein data protection code is stored together with parity
First Claim
1. A method for storing data and checking the validity of stored data when such stored data is read, comprising:
- transmitting the data from a source thereof, such data having a Cyclic Redundancy Code (CRC) for storage in a first storage device and transmitting the CRC and together with parity for storage in a second, different storage device;
retrieving the data stored in the first storage device;
determining a CRC associated with the retrieved data; and
comparing the determined CRC with the CRC stored in the second storage device.
9 Assignments
0 Petitions
Accused Products
Abstract
A method for storing data on a disk drive and checking the validity of data read from such disk drive. The method includes: transmitting the data from a source thereof for storage in the disk drive through a first transmission path and transmitting a CRC together with parity associated with such data for storage in a storage medium through a second path separate from the disk drive. The data stored on the disk drive is retrieved. A CRC associated with the retrieved data is determined. The determined CRC and the CRC stored in the storage medium are compared. With such method, if data and ins associated CRC are written into the incorrect location in the disk drive, during a read an error will be detected because the CRC of the read data will not match the CRC associated with the read data stored on the storage medium.
-
Citations
12 Claims
-
1. A method for storing data and checking the validity of stored data when such stored data is read, comprising:
-
transmitting the data from a source thereof, such data having a Cyclic Redundancy Code (CRC) for storage in a first storage device and transmitting the CRC and together with parity for storage in a second, different storage device; retrieving the data stored in the first storage device; determining a CRC associated with the retrieved data; and comparing the determined CRC with the CRC stored in the second storage device. - View Dependent Claims (2)
-
-
3. A method for storing data on a disk drive and checking the validity of data read from such disk drive, comprising:
-
transmitting the data from a source thereof for storage in the disk drive and transmitting a Cyclic Redundancy Code (CRC) together with parity associated with such data for storage in a different disk drive; retrieving the data stored on the disk drive; determining a CRC associated with the retrieved data; and comparing the determined CRC with the CRC stored in a second disk drive. - View Dependent Claims (4)
-
-
5. A method for storing data on a disk drive and checking the validity of data read from such disk drive, comprising:
-
transmitting the data from a source thereof for storage in the disk drive through a first transmission path and transmitting a Cyclic Redundancy Code (CRC) together with parity associated with such data for storage in a storage medium through a second path separate from the disk drive; retrieving the data stored on the disk drive; determining a CRC associated with the retrieved data; and comparing the determined CRC with the CRC stored in the storage medium. - View Dependent Claims (6, 7)
-
-
8. A method for storing a plurality of blocks of data on a corresponding one of a plurality of disk and checking the validity of plurality of blocks of data read from such disk drives, comprising:
-
transmitting the blocks of data from a source thereof for storage in the disk drives through a plurality of different transmission paths and transmitting Cyclic Redundancy Codes (-CRCs) together with parity associated with each one of the blocks of data for storage in a storage medium through a path separate the plurality of different transmission paths; retrieving the blocks of data stored in the disk drives; determining CRCs associated with the blocks of retrieved data; and comparing the determined CRCs with the CRCs stored on the storage medium. - View Dependent Claims (9, 10)
-
-
11. A method for storing a stripe of data comprising a plurality of data blocks, each one of the plurality of blocks of data being stored on a corresponding one of a plurality of disk drives, such stripe of data having a data protection code, each one of the blocks of data having a parity, and checking the validity of the stripe of data read from such plurality of disk drives, comprising:
-
transmitting each one of the plurality of blocks of data, together with an associated data protection code, from a source of such blocks of data for storage in a corresponding one of the plurality of disk drives through a corresponding one of a plurality of different data directors, each one of the data directors writing the block of data transmitted thereto into the corresponding one of the plurality of disk drives; transmitting a parity associated with the plurality of blocks of data and a data protection code associated with each one of the blocks of data in the source for storage in a separate storage medium through a parity director separate from the plurality of data directors; retrieving each one of the plurality of blocks of data stored in each one of the plurality of disk drives for the corresponding one of the plurality of data directors; determining from each one of the plurality of data directors a data protection code associated with each one of the retrieved blocks of data; comparing the determined data protection codes with the data protection codes stored in the separate storage medium; and determining from such comparison, whether to rebuild the stripe of data.
-
-
12. A method for storing a stripe of data comprising a plurality of data blocks, each one of the plurality of blocks of data being stored on a corresponding one of a plurality of disk drives, such stripe of data having a data protection code, each one of the blocks of data having a parity, and checking the validity of the stripe of data read from such plurality of disk drives, comprising:
-
transmitting each one of the plurality of blocks of data from a source of such blocks of data for storage in a corresponding one of the plurality of disk drives through a corresponding one of a plurality of different data directors, each one of the data directors writing the blocks of data transmitted thereto into the corresponding one of the plurality of disk drives; transmitting parity associated with the plurality of blocks of data and a data protection code associated with each one of the blocks of data in the source for storage in a separate storage medium through a parity director separate from the plurality of data directors; retrieving each one of the plurality of blocks of data stored in each one of the plurality of disk drives for the corresponding one of the plurality of data directors; determining from each one of the plurality of data directors a data protection code associated with each one of the retrieved blocks of data; comparing determined data protection codes with the data protection codes stored in the separate storage medium; and determining from such comparison, whether to rebuild the stripe of data.
-
Specification