A decoder to correct errors in data includes a plurality of cells. Each
cell generates a partial syndrome based on data blocks and one or more
redundancy blocks. Each cell generates a partial error value based on a
portion of an inverse of an error location matrix that identifies
locations of any data blocks having errors. A summation logic connected
to the plurality of cells generates an error value based on the partial
error values generated by the plurality of cells.