Detection and correction of block-level data corruption in fault-tolerant data-storage systems
AssigneeHewlett-Packard Development Company, L.P.
InventorMichael B. Jacobson
Life of this patent
Estimating the term…
Abstract
Various embodiments of the present invention provide fault-tolerant, redundancy-based data-storage systems that rely on disk-controller-implemented error detection and error correction, at the disk-block level, and RAID-controller-implemented data-redundancy methods, at the disk and disk-stripe level, in order to provide comprehensive, efficient, and system-wide error detection and error correction. Embodiments of the present invention use disk-level and stripe-level data redundancy to provide error detection and error correction for stored data objects, obviating the need for certain costly, intermediate levels of error detection and error correction commonly employed in currently available fault-tolerant, redundancy-based data-storage systems.
Claims14
A data-storage system comprising:
- a number of data-storage devices;
- and at least one data-storage-system controller that maps logical-block device interfaces provided by the data-storage devices to a virtual logical-device interface, employs a data-redundancy scheme to store sufficient redundant data within each stripe of each stored data object within the data-storage system, as two or more parity blocks, to recover data contained in at least two failed data-storage devices of a data-redundancy disk group, and uses the data-redundancy scheme to monitor stored data objects for block-level data corruption by, for each stripe, reading the stripe into memory, recomputing the parity blocks of the stripe, comparing the recomputed parity blocks to the parity blocks of the stripe, and when the recomputed parity blocks do not match the parity blocks of the stripe, handling a parity-block-match error.
A method for monitoring stored data objects for block-level data corruption in a data-storage system that employs a data-redundancy scheme to store sufficient redundant data within each stripe of each stored data object within the data-storage system, as two or more parity blocks, to recover data contained in at least two failed data-storage devices of a data-redundancy disk group, the method comprising:
- iteratively,
- for each stripe of each stored data object,
- reading the stripe into memory,
- recomputing parity blocks of the stripe in memory,
- comparing the recomputed parity blocks to the parity blocks of the stripe, and
- when the recomputed parity blocks do not match the parity blocks of the stripe,
- handling a parity-block-match error.
Dependencies are inferred from the claim text.