16. A method for operating a Redundant Array of Inexpensive Disks (RAID) controller, the method comprising: receiving data for storage; generating code words for data drives and one or more parity drives, wherein said data drives and said one or more parity drives have physical locations; generating said code words based on said data and a cyclic code generator polynomial, wherein logical locations correspond to an index of said cyclic code generator polynomial; mapping said physical locations of said data drives and said one or more parity drives to said logical locations; generating a difference code word when data on one of said data drives is modified; and encoding said difference code word and adding said encoded difference code word to an original code word generated before said modification.
16. A method for operating a Redundant Array of Inexpensive Disks (RAID) controller, the method comprising: receiving data for storage; generating code words for data drives and one or more parity drives, wherein said data drives and said one or more parity drives have physical locations; generating said code words based on said data and a cyclic code generator polynomial, wherein logical locations correspond to an index of said cyclic code generator polynomial; mapping said physical locations of said data drives and said one or more parity drives to said logical locations; generating a difference code word when data on one of said data drives is modified; and encoding said difference code word and adding said encoded difference code word to an original code word generated before said modification. 22. The method of claim 16 , further comprising decoding said code words.