Patent ID: 6944791

Claim:
A RAID system capable of handling writing to a RAID device when an error prohibits calculation of parity comprising: a plurality of storage disks; and a controller that is capable of storing data on said plurality of storage disks in accordance with a RAID standard, said controller being further capable of: receiving a stripe of data that includes a plurality of data blocks and a parity block: detecting an error in a first block of data and a second block of data of said plurality of data blocks; detecting that said parity block is not bad; flagging said parity block as bad since said parity block cannot be used to regenerate said first block of data that contains an error and said second block of data that contains an error; replacing said first block of data that contains an error with first new data block; replacing a third block of data of said plurality of blocks of data that does not contain an error with a second new data block; writing said first new data block and said second new data block to said RAID storage device; writing at least one other block of data, that does not contain errors, to said RAID storage device; writing said parity block, that is flagged as bad, to said RAID storage device; writing said second block of data, that contains an error, to said RAID storage device; and preventing said parity block from regenerating said second block of data that contains an error, even though said second block of data is the only block of data that does contain an error, by detecting a flag in said parity block indicating that said parity block is bad.