Read checking for drive rebuild
AssigneeCompaq Computer Corporation
InventorMark J. Thompson
Life of this patent
Estimating the term…
Abstract
A new and improved apparatus and method for rebuilding a replacement disk of a fault tolerant, mass storage drive array subsystem of a computer system. The method calls for a microprocessor to check a stripe for consistency. If the stripe is inconsistent, the microprocessor rebuilds a predetermined number of stripes. If the checked stripe is inconsistent, then the microprocessor checks a next stripe and repeats the above-described process. Because the drive array subsystem receives both system requests and rebuild requests, the present invention allows a user to select the drive array subsystem's priority in processing system requests versus rebuild requests, thereby allowing greater system access to the drive array subsystem during peak times of system requests.
Claims42
For use with a computer system having a fault tolerant, mass storage drive array subsystem having data stored in stripes across a plurality of disk drives, a method for rebuilding a replacement disk drive within the array, said method comprising the steps of:
- reading a first stripe;
- checking said first stripe for unused sectors utilizing an XOR parity technique by determining if said first stripe is consistent;
- rebuilding the data in the portion of said first stripe of said replacement disk drive if said first stripe is not consistent;
- and
- repeating said steps of reading, checking and rebuilding until said replacement disk drive is rebuilt.
For use with a computer system having a fault tolerant, mass storage drive array subsystem having data stored in stripes across a plurality of disk drives, a logical volume being formed by a plurality of stripes, a method for rebuilding a replaced portion of a logical volume within the drive array subsystem, said method comprising the steps of:
- reading a first stripe;
- checking said first stripe for unused sectors utilizing an XOR parity technique by determining if said first stripe is consistent;
- rebuilding the data in said replaced portion of said first stripe of said logical volume if said first stripe is not consistent;
- and
- repeating said steps of reading, checking and rebuilding until said logical volume is rebuilt.
A disk array controller for use with a computer system having a fault tolerant, mass storage disk drive array having data stored in stripes across a plurality of disk drives that include a replacement disk drive, said disk array controller comprising:
- a local processor executing code and performing the following steps under control of such code:
- reading a first stripe;
- checking said first stripe for unused sectors utilizing an XOR parity technique by determining if said first stripe is consistent;
- and
- rebuilding the data in the portion of said first stripe of said replacement disk drive if said first stripe is not consistent.
A disk array controller for use with a computer system having a fault tolerant, mass storage disk drive array having data stored in stripes across a plurality of disk drives that include a logical volume being formed by a plurality of stripes, the logical volume having a replaced portion, the disk array controller comprising:
- a local processor executing code and performing the following steps under control of such code:
- reading a first stripe;
- checking said first stripe for unused sectors utilizing an XOR parity technique by determining if said first stripe is consistent;
- and
- rebuilding the replaced portion of said first stripe of said logical volume if said first stripe is not consistent.
A computer system comprising:
- a fault tolerant, mass storage disk drive array having data stored in stripes across a plurality of disk drives that include a replacement disk drive;
- a disk array controller having a local processor executing code and performing the following steps under control of such code:
- reading a first stripe;
- checking said first stripe for unused sectors utilizing an XOR parity technique by determining if said first stripe is consistent;
- and
- rebuilding the data in the portion of said first stripe of said replacement disk drive if said first stripe is not consistent.
A computer system comprising:
- a fault tolerant, mass storage disk drive array having data stored in stripes across a plurality of disk drives that include a logical volume being formed by a plurality of stripes, the logical volume having a replaced portion;
- a local processor executing code and performing the following steps under control of such code:
- reading a first stripe;
- checking said first stripe for unused sectors utilizing an XOR parity technique by determining if said first stripe is consistent;
- and
- rebuilding the replaced portion of said first stripe of said logical volume if said first stripe is not consistent.
A disk controller for use with a computer system having a fault tolerant, mass storage disk drive array having data stored in stripes across a plurality of disk drives that include a logical volume being formed by a plurality of stripes, the logical volume having a replaced portion, the plurality of disk drives including a replacement drive, the disk controller comprising:
- a processor;
- and
- said processor executing the following steps under control of an instruction code:
- reading a stripe;
- checking said first stripe for unused sectors utilizing an XOR parity technique by determining if said stripe is consistent;
- rebuilding the data in the portion of said stripe of said replacement disk drive if said stripe is not consistent;
- and
- repeating said steps of reading, checking, and rebuilding until said replacement drive is rebuilt.
A disk array controller for use with a computer system having a fault tolerant, mass storage disk array having data stored in stripes across a plurality of disk drives that includes replacement stripes, the plurality of disk drives including a replacement drive, the disk drive array controller comprising:
- a processor;
- and
- said processor executing the following steps under control of an instruction code:
- reading a stripe;
- checking said first stripe for unused sectors utilizing XOR parity technique by determining if said stripe is consistent;
- rebuilding the data in a portion of said stripe if the replacement disk drive and said stripe is not consistent;
- and
- repeating said steps of reading, checking, and building until said replacement disk drive is rebuilt.
A method of rebuilding a replacement disk drive within a drive array of a computer system, comprising the steps of;
- determining if a first stripe is consistent by checking for unused sectors utilizing an XOR parity technique;
- determining if a next stripe is consistent if the first stripe is consistent;
- and
- rebuilding a first set of a predetermined number of stripes if the first stripe is inconsistent.
A disk array controller for rebuilding a replacement disk drive within a drive array of a computer system, comprising:
- a local processor executing code and performing the following steps under control of the code:
- determining if a first stripe is consistent by checking for unused sectors utilizing an XOR parity technique;
- determining if a next stripe is consistent if the first stripe is consistent;
- and
- rebuilding a first set of a predetermined number of stripes if the first stripe is inconsistent.
A computer system, comprising:
- a drive array including a replacement disk drive;
- and
- a disk array controller, comprising:
- a local processor executing code and performing the following steps under the control of the code:
- determining if a first stripe is consistent by checking for unused sectors utilizing an XOR parity technique;
- determining if a next stripe is consistent if the first stripe is consistent;
- and
- rebuilding a first set of a predetermined number of stripes if the first stripe is inconsistent.
Dependencies are inferred from the claim text.