Methods for correcting errors in a GFP-T superblock include buffering the
64 bytes of data in an 8.times.8 byte buffer, buffering the flag byte in
a separate buffer, calculating the CRC remainder, and performing single
and double bit error correction in three stages. In the first stage, the
CRC remainder is compared to a single bit error syndrome table and if an
error is located, it is corrected. In the second stage, the CRC remainder
is compared to a double bit error syndrome table and if an error is
located, it is corrected. The third stage corrects the second error of a
double bit error. The flag byte is processed first, followed by the data
bytes, eight bytes at a time.