Patent ID: 7243296

Claim:
A method of correcting errors in a data block having N rows and X columns, comprising: performing a parity check for each one of said N rows of said data block; performing a parity check for each one of said X columns of said data block, the parity check for each of said N rows and said X columns for detecting bit-level errors; identifying at least one bad byte for said data block using a byte-level error detection process; identifying, from said parity check for each one of said N rows of said data block, from said parity check for each one of said X columns of said data block, and from said at least one identified bad bytes for said data block, at least one error in said data block; and correcting said at least one identified error in said data block, wherein: the parity check for each one of said N rows of said data block is performed based on a row-based parity encoding that encodes each of said N rows, the parity check for each one of said X columns of said data block is performed based on a column-based parity encoding, separate from the row-based parity encoding, that encodes each of said X columns, and identifying the at least one bad byte is based on a byte-based encoding that is separate from both the row-based parity encoding and the column-based parity encoding.