Apparatus, system, and method for ensuring data validity in a data storage process
First Claim
1. An apparatus to protect data, the apparatus comprising:
- an ECC generation module configured to generate error correcting code (“
ECC”
) check bits for data of a storage block in response to receiving the storage block and existing parity information generated for the storage block;
a pre-storage consistency module configured to use the data of the storage block, the existing parity information, and the ECC check bits to determine if the data of the storage block, the existing parity information, and the ECC check bits are consistent; and
a data storage module configured to store the data of the storage block and the ECC check bits for the storage block on a data storage device, wherein the existing parity information for the storage block is not stored on the data storage device;
wherein the ECC generation module, the pre-storage consistency module, and the data storage module comprise one or more of logic hardware and executable code stored on a non-transitory computer readable medium.
16 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for ensuring data validity in a data storage process. A data receiver module receives a storage block and existing parity information. An ECC generation module generates error correcting code (“ECC”) check bits for the data of the storage block in response to receiving the storage block and the existing parity information. The ECC check bits for the storage block are generated using a block code, a convolutional code, etc. A pre-storage consistency module uses the data of the storage block, the existing parity information, and the ECC check bits to determine if the data of the storage block, the existing parity information, and the ECC check bits are consistent. A data storage module stores the data of the storage block and the ECC check bits the data storage device without storing the existing parity information.
-
Citations
27 Claims
-
1. An apparatus to protect data, the apparatus comprising:
-
an ECC generation module configured to generate error correcting code (“
ECC”
) check bits for data of a storage block in response to receiving the storage block and existing parity information generated for the storage block;a pre-storage consistency module configured to use the data of the storage block, the existing parity information, and the ECC check bits to determine if the data of the storage block, the existing parity information, and the ECC check bits are consistent; and a data storage module configured to store the data of the storage block and the ECC check bits for the storage block on a data storage device, wherein the existing parity information for the storage block is not stored on the data storage device; wherein the ECC generation module, the pre-storage consistency module, and the data storage module comprise one or more of logic hardware and executable code stored on a non-transitory computer readable medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system to protect data, the system comprising:
-
a data storage device; a storage controller that controls storage of data in the data storage device; an ECC generation module configured to generate error correcting code (“
ECC”
) check bits for data of a storage block in response to receiving the storage block and existing parity information generated for the storage block;a pre-storage consistency module configured to use the data of the storage block, the existing parity information, and the ECC check bits to determine if the data of the storage block, the existing parity information, and the ECC check bits are consistent;
wherein the pre-storage consistency module is independent of the ECC generation module; anda data storage module configured to store the data of the storage block and the ECC check bits for the storage block on the data storage device in response to the pre-storage consistency module determining that the data of the storage block, the existing parity information, and the ECC check bits are consistent, wherein the existing parity information for the storage block is not stored on the data storage device; wherein the ECC generation module, the pre-storage consistency module, and the data storage module comprise one or more of logic hardware and executable code stored on a non-transitory computer readable medium. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computer program product comprising a non-transitory computer readable medium having computer usable program code stored thereon, the code being executable to perform operations for protecting data, the operations of the computer program product comprising:
-
generating error correcting code (“
ECC”
) check bits for data of a storage block in response to receiving the storage block and existing parity information generated for the storage block;using the data of the storage block, the existing parity information, and the ECC check bits to determine if the data of the storage block, the existing parity information, and the ECC check bits are consistent; and storing the data of the storage block and the ECC check bits for the storage block on a data storage device in response to determining that the data of the storage block, the existing parity information, and the ECC check bits are consistent, wherein the existing parity information for the storage block is not stored on the data storage device.
-
-
21. A method for protecting data, the method comprising:
-
generating error correcting code (“
ECC”
) check bits for data of a storage block in response to receiving the storage block and existing parity information generated for the storage block;determining if the data of the storage block, the existing parity information, and the ECC check bits are consistent using the data of the storage block, the existing parity information, and the ECC check bits; and storing the data of the storage block and the ECC check bits for the storage block on a data storage device, wherein the existing parity information for the storage block is not stored on the data storage device. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
Specification