Patent ID: 8719669

Claim:
An error correction code (ECC) decoder processing data read from a storage media, comprising: a syndrome determination block configured to determine a syndrome for each of a plurality of channel data, wherein each of the plurality of channel data is received via a corresponding one of a plurality of channels; a key equation solver (KES) block configured to obtain an error location polynomial for at least one of the plurality of channel data based upon the syndrome determined through the syndrome determination block; a Chien search block configured to obtain a root of the error location polynomial for at least one of the plurality of channel data based upon the error location polynomial obtained through the key equation solver block; and an ECC controller configured to control at least one of the syndrome determination block, KES block, and the Chien search block, wherein the KES block comprises a plurality of KES units and a state register configured to store a ready/busy state for at least one of the plurality of KES units, wherein the ECC controller assigns each of the plurality of channel data to at least one of the plurality of KES units based on the state stored in the state register.