The present invention describes direct decoding of Error Correction Codes
(ECC) such as, for example, FIRE and similar codes, and detecting and
correcting errors occurring in burst, without requiring any pattern shift
or sequential logic. According to the present invention, the syndrome of
a code generated with a degree-d polynomial is split into sub-syndromes
that are combined to form at least one kind of error pattern from which
an error pattern is picked. If the picked error pattern does not
correspond to an uncorrectable error and errors are not confined within
first d bits, one of the sub-syndromes is selected according to the
correction mode. The ranks of this selected sub-syndrome and picked error
pattern in the Galois field generated by a factor of the degree-d
polynomial are determined. Determining the rank of an error pattern
vector being larger than vectors of a Galois field, in this Galois field,
consists of extracting the burst of errors from the error pattern,
determining the rank of the burst of errors in the Galois field and
adjusting this rank on the basis of the position of the burst of errors
in the error pattern. Ranks of this selected sub-syndrome and picked
error pattern are subtracted to determine a group first vector. Then, the
error pattern can be applied to the group determined by the group first
vector so as to correct the message or data packet.