Patent ID: 8166370

Claim:
A redundant array of independent disks controller, comprising: a redundant array of independent disks error correction code encoder module configured to (i) receive data for storage, and (iii) generate code words for data drives and one or more parity drives, wherein the data drives have physical locations, wherein the one or more parity drives have physical locations, wherein the code words are generated based on the data and a cyclic code generator polynomial, and wherein logical locations correspond to index positions in the cyclic code generator polynomial; a mapping module configured to map the physical locations of the data drives and the physical locations of the parity drives to the logical locations, wherein the mapping module adds a new data drive to an unused one of the logical locations; and a difference generating module configured to generate a difference code word based on the new data drive, wherein the redundant array of independent disks error correction code encoder module is configured to (i) encode the difference code word, and (ii) add the encoded difference code word to an original code word, and wherein the original code word is generated prior to the new data drive being added.