Patent ID: 7430701

Claim:
A system for encoding a data block to generate corresponding error correction codes, wherein the data block includes a plurality of rows and columns for generating error correction code (ECC) parity columns, the system comprising: a first buffer for sequentially storing a first section and a second section of the data block, wherein each of the first and second sections is composed of X data rows and Y data columns of the data block, where Y is an integer greater than or equal to 2 and X is an integer greater than or equal to 1; a second buffer for storing Y partial-parity columns; and an encoder for encoding the first section read from the first buffer to generate the partial-parity columns, storing the partial-parity columns in the second buffer, encoding the second section read from the first buffer and the partial-parity columns read from the second buffer to generate new partial-parity columns, storing the new partial-parity columns in the second buffer, and recursive encoding sections belonging to the same Y data columns to generate the ECC parity columns; wherein the ECC parity columns are stored in the first buffer for use in calculating ECC parity rows.