Method of RAID 5 write hole prevention
AssigneeAristos Logic Corporation
InventorsRobert L. Horn, Virgil V. Wilkins
Life of this patent
Estimating the term…
Abstract
A method of efficiently preventing data loss, specifically a RAID 5 write hole, in data storage system by storing valid parity information at the storage controller level during data write operations. The method employs the use of redundant data structures that hold metadata specific to outstanding writes and parity information. The method uses the redundant data structures to recreate the write commands and data when a system failure occurs before the writes have completed.
Claims8
A method of write hole prevention in a redundant array of independent disks (RAID), said method comprising:
- allocating a first data structure locally in memory of said master controller and allocating a second data structure mirroring said first data structure in memory of a redundant controller;
- indicating that said first and second data structures are not valid;
- reading at least one partial stripe of data, said partial stripe comprising the data necessary to generate parity for a complete stripe on hard disk drives of said RAID into the first data structure in said master controller;
- generating the parity for said stripe;
- mirroring the parity for said stripe to the second data structure in the redundant controller;
- indicating that said first and second data structures are valid;
- writing the data and parity onto corresponding hard disk drives of said RAID after said first and second data structures are indicated to be valid;
- and
- de-allocating said first and second data structures.
A storage controller architecture, comprising:
- a master controller including a first data structure for storing data and parity information relating to at least one stripe of data in a redundant array of independent disks (RAID);
- and
- a redundant controller including a second data structure containing a redundant copy of the data and parity information contained in the first data structure;
- wherein the master and the redundant controllers are configured to respectively indicate that the first and second data structures are invalid prior to the master controller receiving the data relating to the at least one stripe of data, and to respectively indicate that the first and second data structures are valid after the parity information relating to the at least one stripe of data has been generated.
Dependencies are inferred from the claim text.