Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
156 words
A method for providing parity correction for a RAID array in a computer system after a system failure, including steps of: maintaining information about stripes having possibly inconsistent parity during routine operation of the computer system; after said system failure, identifying stripes in response to said information; and for each said stripe so identified, correcting said possibly inconsistent parity; wherein said step of maintaining includes steps of: when updating data, a portion of said data destined for a first one or more blocks of a stripe having a stripe number and an existing parity, reading a second one or more blocks of said stripe required to compute a new parity of said stripe; computing said new parity for said stripe; adding said stripe number to a list of dirty stripes; writing said portion of said data to said stripe; writing said new parity to said stripe; removing said stripe number from said list of dirty stripes.
Claim 2
Independent Claim
156 words
A method for providing parity correction for a RAID array in a computer system after a system failure, including steps of: maintaining information about stripes having possibly inconsistent parity during routine operation of the computer system; after said system failure, identifying stripes in response to said information; and for each said stripe so identified, correcting said possibly inconsistent parity; wherein said step of maintaining includes steps of: when updating data, a portion of said data destined for a first one or more blocks of a stripe having a stripe number and an existing parity, reading a second one or more blocks of said stripe required to compute a new parity of said stripe; computing said new parity for said stripe; adding said stripe number to a list of dirty stripes; writing said portion of said data to said stripe; writing said new parity to said stripe; removing said stripe number from said list of dirty stripes.
Claim 3
Dependent Claim
17 words
The method of claim 1 wherein said second one or more blocks includes said existing parity block.
Claim 4
Dependent Claim
17 words
The method of claim 1 wherein said second one or more blocks excludes said existing parity block.
Claim 5
Independent Claim
199 words
A method for providing parity correction for a RAID array in a computer system after a system failure, including steps of: maintaining information about stripes having possibly inconsistent parity caused by updating data during routine operation of the computer system; after said system failure, identifying stripes in response to said information; and for each said stripe so identified, correcting said possibly inconsistent parity; wherein said information includes a bitmap and including the further step of, when said bitmap is sufficiently full and after all pending writes are successfully completed, clearing said bitmap; wherein each bit in said bitmap is associated with a group of one or more stripes; and wherein said step of maintaining includes steps of: when updating data, a portion of said data destined for a first one or more blocks of a stripe having an associated group and an existing parity, reading a second one or more blocks of said stripe used to compute a new parity of said stripe; computing said new parity for said stripe; selecting a bit in said bitmap responsive to said group; setting said bit; writing said portion of said data to said stripe; writing said new parity to said stripe.
Claim 6
Independent Claim
199 words
A method for providing parity correction for a RAID array in a computer system after a system failure, including steps of: maintaining information about stripes having possibly inconsistent parity caused by updating data during routine operation of the computer system; after said system failure, identifying stripes in response to said information; and for each said stripe so identified, correcting said possibly inconsistent parity; wherein said information includes a bitmap and including the further step of, when said bitmap is sufficiently full and after all pending writes are successfully completed, clearing said bitmap; wherein each bit in said bitmap is associated with a group of one or more stripes; and wherein said step of maintaining includes steps of: when updating data, a portion of said data destined for a first one or more blocks of a stripe having an associated group and an existing parity, reading a second one or more blocks of said stripe used to compute a new parity of said stripe; computing said new parity for said stripe; selecting a bit in said bitmap responsive to said group; setting said bit; writing said portion of said data to said stripe; writing said new parity to said stripe.
Claim 7
Independent Claim
224 words
An apparatus for providing parity correction for a RAID array in a computer system after a system failure, said apparatus including: a maintenance mechanism configured to maintain information about stripes having possibly inconsistent parity caused by updating data during routine operation of the computer system; an identification mechanism configured to identify stripes in response to said information, said identification apparatus activated in response to check on reboot after a system failure; a correction mechanism configured to correct said possibly inconsistent parity for each of said stripes identified by said identification mechanism; wherein said maintenance mechanism further includes: a read mechanism configured to read a second one or more blocks of said stripe required to compute a new parity of said stripe, said mechanism activated when new data is to be written to a first one or more blocks of a stripe having a stripe number and an existing parity; a compute mechanism configured to compute said new parity for said stripe responsive to said reading; an add mechanism configured to add said stripe number to a list of dirty stripes responsive to said compute mechanism; a write mechanism configured to write said data to said stripe; a second write mechanism configured to write said new parity to said stripe; a remove mechanism configured to remove said stripe number from said list of dirty stripes.
Claim 8
Independent Claim
224 words
An apparatus for providing parity correction for a RAID array in a computer system after a system failure, said apparatus including: a maintenance mechanism configured to maintain information about stripes having possibly inconsistent parity caused by updating data during routine operation of the computer system; an identification mechanism configured to identify stripes in response to said information, said identification apparatus activated in response to check on reboot after a system failure; a correction mechanism configured to correct said possibly inconsistent parity for each of said stripes identified by said identification mechanism; wherein said maintenance mechanism further includes: a read mechanism configured to read a second one or more blocks of said stripe required to compute a new parity of said stripe, said mechanism activated when new data is to be written to a first one or more blocks of a stripe having a stripe number and an existing parity; a compute mechanism configured to compute said new parity for said stripe responsive to said reading; an add mechanism configured to add said stripe number to a list of dirty stripes responsive to said compute mechanism; a write mechanism configured to write said data to said stripe; a second write mechanism configured to write said new parity to said stripe; a remove mechanism configured to remove said stripe number from said list of dirty stripes.
Claim 9
Dependent Claim
17 words
The apparatus of claim 5 wherein said second one or more blocks includes said existing parity block.
Claim 10
Dependent Claim
17 words
The apparatus of claim 5 wherein said second one or more blocks excludes said existing parity block.
Claim 11
Independent Claim
242 words
An apparatus for providing parity correction for a RAID array in a computer system after a system failure, said apparatus including: a maintenance mechanism configured to maintain information about stripes having possibly inconsistent parity caused by updating data during routine operation of the computer system; an identification mechanism configured to identify stripes in response to said information, said identification apparatus activated in response to check on reboot after a system failure; a correction mechanism configured to correct said possibly inconsistent parity for each of said stripes identified by said identification mechanism; wherein said information includes a bitmap and further including a clear mechanism configured to clear said bitmap when said bitmap is sufficiently full and after all pending writes are successfully completed; and wherein said maintenance mechanism includes: a read mechanism configured to read a first one or more blocks of said stripe used to compute a new parity of a stripe, a second one or more blocks of said stripe to be updated with new data, said stripe having an associated group and an associated parity block; a compute mechanism configured to compute said new parity for said stripe, responsive to said read mechanism; a selector configured to select a bit in said bitmap responsive to said group; a set mechanism configured to set said bit; a first write mechanism configured to write new data to said stripe; a second write mechanism configured to write said new parity to said stripe.
Claim 12
Independent Claim
242 words
An apparatus for providing parity correction for a RAID array in a computer system after a system failure, said apparatus including: a maintenance mechanism configured to maintain information about stripes having possibly inconsistent parity caused by updating data during routine operation of the computer system; an identification mechanism configured to identify stripes in response to said information, said identification apparatus activated in response to check on reboot after a system failure; a correction mechanism configured to correct said possibly inconsistent parity for each of said stripes identified by said identification mechanism; wherein said information includes a bitmap and further including a clear mechanism configured to clear said bitmap when said bitmap is sufficiently full and after all pending writes are successfully completed; and wherein said maintenance mechanism includes: a read mechanism configured to read a first one or more blocks of said stripe used to compute a new parity of a stripe, a second one or more blocks of said stripe to be updated with new data, said stripe having an associated group and an associated parity block; a compute mechanism configured to compute said new parity for said stripe, responsive to said read mechanism; a selector configured to select a bit in said bitmap responsive to said group; a set mechanism configured to set said bit; a first write mechanism configured to write new data to said stripe; a second write mechanism configured to write said new parity to said stripe.
Claim 13
Dependent Claim
168 words
A memory storing information including instructions, the instructions executable by a processor to provide parity correction for a RAID array in a computer system after a system failure, the instructions including steps of: maintaining information about stripes having possibly inconsistent parity during routine operation of the computer system; after said system failure, identifying stripes in response to said information; and for each said stripe so identified, correcting said possibly inconsistent parity; wherein said step of maintaining includes steps of: when updating data, a portion of said data destined for a first one or more blocks of a stripe having a stripe number and an existing parity, reading a second one or more blocks of said stripe required to compute a new parity of said stripe; computing said new parity for said stripe; adding said stripe number to a list of dirty stripes; writing said portion of said data to said stripe; writing said new parity to said stripe; removing said stripe number from said list of dirty stripes.
Claim 14
Dependent Claim
168 words
A memory storing information including instructions, the instructions executable by a processor to provide parity correction for a RAID array in a computer system after a system failure, the instructions including steps of: maintaining information about stripes having possibly inconsistent parity during routine operation of the computer system; after said system failure, identifying stripes in response to said information; and for each said stripe so identified, correcting said possibly inconsistent parity; wherein said step of maintaining includes steps of: when updating data, a portion of said data destined for a first one or more blocks of a stripe having a stripe number and an existing parity, reading a second one or more blocks of said stripe required to compute a new parity of said stripe; computing said new parity for said stripe; adding said stripe number to a list of dirty stripes; writing said portion of said data to said stripe; writing said new parity to said stripe; removing said stripe number from said list of dirty stripes.
Claim 15
Dependent Claim
17 words
The memory of claim 9 wherein said second one or more blocks includes said existing parity block.
Claim 16
Dependent Claim
17 words
The memory of claim 9 wherein said second one or more blocks excludes said existing parity block.
Claim 17
Dependent Claim
211 words
A memory storing information including instructions, the instructions executable by a processor to provide parity correction for a RAID array in a computer system after a system failure, the instructions including steps of: maintaining information about stripes having possibly inconsistent parity caused by updating data during routine operation of the computer system; after said system failure, identifying stripes in response to said information; and for each said stripe so identified, correcting said possibly inconsistent parity; wherein said information includes a bitmap and including the further step of, when said bitmap is sufficiently full and after all pending writes are successfully completed, clean said bitmap; wherein each bit in said bitmap is associated with a group of one or more stripes; and wherein said step of maintaining includes steps of: when updating data, a portion of said data destined for a first one or more blocks of a stripe having an associated group and an existing parity, reading a second one or more blocks of said stripe used to compute a new parity of said stripe; computing said new parity for said stripe; selecting a bit in said bitmap responsive to said group; setting said bit; writing said portion of said data to said stripe; writing said new parity to said stripe.
Claim 18
Dependent Claim
211 words
A memory storing information including instructions, the instructions executable by a processor to provide parity correction for a RAID array in a computer system after a system failure, the instructions including steps of: maintaining information about stripes having possibly inconsistent parity caused by updating data during routine operation of the computer system; after said system failure, identifying stripes in response to said information; and for each said stripe so identified, correcting said possibly inconsistent parity; wherein said information includes a bitmap and including the further step of, when said bitmap is sufficiently full and after all pending writes are successfully completed, clean said bitmap; wherein each bit in said bitmap is associated with a group of one or more stripes; and wherein said step of maintaining includes steps of: when updating data, a portion of said data destined for a first one or more blocks of a stripe having an associated group and an existing parity, reading a second one or more blocks of said stripe used to compute a new parity of said stripe; computing said new parity for said stripe; selecting a bit in said bitmap responsive to said group; setting said bit; writing said portion of said data to said stripe; writing said new parity to said stripe.