Redundant array of independent disks (RAID) write hole solutions
First Claim
1. An apparatus comprising:
- a plurality of drives configured in a redundant array of independent disks (RAID) configuration; and
a drive array controller circuit to;
calculate a first partial parity log (PPL) value for a first write operation that targets a first active stripe of the plurality of drives, wherein the first PPL value is a first intermediate parity value useable to generate a first new parity value if the first new parity value is incorrect due to a power failure event, and wherein the first new parity value is stored in a first parity drive of the plurality of drives assigned to the first active stripe;
store the first PPL value in a first pre-allocated portion of the plurality of drives that depends on a first number associated with the first active stripe;
calculate a second PPL value for a second write operation that targets a second active stripe of the plurality of drives, wherein the second PPL value is a second intermediate parity value useable to generate a second new parity value if the second new parity value is incorrect due a to the power failure event, and wherein the second new parity value is stored in a second parity drive of the plurality of drives assigned to the second active stripe; and
store the second PPL value in a second pre-allocated portion of the plurality of drives that depends on a second number associated with the second active stripe.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus includes a plurality of drives configured as a redundant array of independent disks (RAID) and drive array controller logic to: calculate a first partial parity log (PPL) value for a first write operation that targets a first active stripe of the plurality of drives; store the first PPL value in a first pre-allocated portion of the plurality of drives that depends on a first number associated with the first active stripe; calculate a second PPL value for a second write operation that targets a second active stripe of the plurality of drives; and store the second PPL value in a second pre-allocated portion of the plurality of drives that depends on a second number associated with the second active stripe.
-
Citations
25 Claims
-
1. An apparatus comprising:
-
a plurality of drives configured in a redundant array of independent disks (RAID) configuration; and a drive array controller circuit to; calculate a first partial parity log (PPL) value for a first write operation that targets a first active stripe of the plurality of drives, wherein the first PPL value is a first intermediate parity value useable to generate a first new parity value if the first new parity value is incorrect due to a power failure event, and wherein the first new parity value is stored in a first parity drive of the plurality of drives assigned to the first active stripe; store the first PPL value in a first pre-allocated portion of the plurality of drives that depends on a first number associated with the first active stripe; calculate a second PPL value for a second write operation that targets a second active stripe of the plurality of drives, wherein the second PPL value is a second intermediate parity value useable to generate a second new parity value if the second new parity value is incorrect due a to the power failure event, and wherein the second new parity value is stored in a second parity drive of the plurality of drives assigned to the second active stripe; and store the second PPL value in a second pre-allocated portion of the plurality of drives that depends on a second number associated with the second active stripe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a plurality of drives configured as a redundant array of independent disks (RAID); a processor operatively coupled to the plurality of drives, the processor to execute drive array controller logic to; calculate a first partial parity log (PPL) value for a first write operation received by the processor that targets a first active stripe of the plurality of drives wherein the first PPL value is a first intermediate parity value useable to generate a first new parity value if the first new parity value is incorrect due to a power failure event, and wherein the first new parity value is stored in a first parity drive of the plurality of drives assigned to the first active stripe; store the first PPL value for the first write operation in a first strip of the first active stripe; calculate a second PPL value for a second write operation received by the processor that targets a second active stripe of the plurality of drives, wherein the second PPL value is a second intermediate parity value useable to generate a second new parity value if the second new parity value is incorrect due a to the power failure event, and wherein the second new parity value is stored in a second parity drive of the plurality of drives assigned to the second active stripe; and store the second PPL value for the second write operation in a second strip of the second active stripe. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
calculating, by a processor core executing drive array controller logic, a first partial parity log (PPL) value for a first write operation that targets a first active stripe of a drive in a plurality of drives arranged in a redundant array of independent disks (RAID) configuration, the plurality of drives operating in a state without any failed drive, wherein the first PPL value is a first intermediate parity value useable to generate a first new parity value if the first new parity value is incorrect due to a power failure event; storing the first new parity value in a first parity drive of the plurality of drives assigned to the first active stripe; storing, by the processor core executing the drive array controller logic, the first PPL value for the first write operation in a first pre-allocated portion of the plurality of drives that depends on a first number associated with the first active stripe; calculating, by the processor core executing the drive array controller logic, a second PPL value for a second write operation received by the processor that targets a second active stripe of the plurality of drives, wherein the second PPL value is a second intermediate parity value useable to generate a second new parity value if the second new parity value is incorrect due a to the power failure event; storing the second new parity value in a second parity drive of the plurality of drives assigned to the second active stripe; and storing, by the processor core executing the drive array controller logic, the second PPL value in a second pre-allocated portion of the plurality of drives that depends on a second number associated with the second active stripe. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification