A method and apparatus are provided for storing data. The method and
apparatus generate a plurality of ECC codewords, which define a
cooperative block. Each ECC codeword includes a plurality of information
symbols and first and second sets of corresponding redundancy symbols.
Shared redundancy symbols are generated for the cooperative block based
on a combination of the second sets of redundancy symbols from the
plurality of ECC codewords. A respective set of parity codewords is
generated for the cooperative block based on the shared redundancy
symbols. The second set of redundancy symbols for each ECC codeword in
the cooperative block is derivable from the parity codewords. The
cooperative block and the respective parity codewords are stored, without
the second set of redundancy symbols, on a storage medium.