Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
First Claim
1. A method for reconstructing a data block in a RAID array, the RAID array having a plurality of data storage devices for storing user data blocks and metadata blocks, the metadata blocks including device metadata blocks associated with data blocks recorded on each storage device and RAIDset metadata blocks associated with RAID protected data blocks recorded across the storage devices of the RAID array, the RAID protected data blocks including the user data blocks and the RAIDset metadata blocks, said method comprising the steps of:
- scanning forced error (FE) bits that each correspond to one of the RAIDset metadata blocks;
after scanning the FE bits that each correspond to one of the RAIDset metadata blocks, scanning other FE bits that each correspond to one of the user data blocks;
determining from each scanned FE bit whether a block corresponding to each scanned FE bit needs to be reconstructed; and
reconstructing all RAIDset metadata blocks determined to need reconstructing before reconstructing any user data block that is determined to need reconstructing.
4 Assignments
0 Petitions
Accused Products
Abstract
A data block in a RAID array is reconstructed under the control of metadata recorded on the RAID array. The RAID array has a plurality of members, each member being a data storage device. The metadata includes device metadata for data blocks recorded on each member and RAIDset metadata for RAID protected data blocks recorded across the members of the RAID array. The RAID protected data blocks include user data blocks, RAIDset metadata blocks and parity data blocks. The data blocks are reconstructed by detecting from a device FE bit in the device metadata that a bad data block corresponding to or associated with the device FE bit needs to be reconstructed. The data is read from each data block, other than the bad data block, in the same RAID sliver with bad data block. A RAID sliver of data blocks includes all the data blocks in a RAID protected sliver of data blocks. From the data read from the other data blocks in the RAID sliver with the bad data block, the bad data block is regenerated to produce a new data block. The new data block is written in the RAID array as the reconstructed block in place of the bad data block. The device FE bit for the reconstructed data block is cleared to indicate the reconstructed data block is consistent with the other data blocks in the RAID protected sliver containing the reconstructed data block.
-
Citations
10 Claims
-
1. A method for reconstructing a data block in a RAID array, the RAID array having a plurality of data storage devices for storing user data blocks and metadata blocks, the metadata blocks including device metadata blocks associated with data blocks recorded on each storage device and RAIDset metadata blocks associated with RAID protected data blocks recorded across the storage devices of the RAID array, the RAID protected data blocks including the user data blocks and the RAIDset metadata blocks, said method comprising the steps of:
-
scanning forced error (FE) bits that each correspond to one of the RAIDset metadata blocks; after scanning the FE bits that each correspond to one of the RAIDset metadata blocks, scanning other FE bits that each correspond to one of the user data blocks; determining from each scanned FE bit whether a block corresponding to each scanned FE bit needs to be reconstructed; and reconstructing all RAIDset metadata blocks determined to need reconstructing before reconstructing any user data block that is determined to need reconstructing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for reconstructing a data block in a RAID protected strip in a RAID array comprising the steps of:
-
scanning forced error (FE) bits that each correspond to a block of RAIDset metadata; determining from each scanned FE bit whether the corresponding block of RAIDset metadata needs to be repaired; repairing each RAIDset metadata block determined to need repair until all RAIDset metadata blocks needing repair are repaired; after repairing all RAIDset metadata blocks that need repair, scanning other FE bits that each correspond to a block of user data; determining from each scanned other FE bit whether the corresponding block of user data needs to be repaired; and repairing each user data block determined to need repair.
-
Specification