Abstract:
A data encoding system for storing data on a "c"-channel tape interleaves and encodes "b" multi-symbol data blocks as they are being serially sent to the tape for storage, using a (b+k,k) error correction code to generate k multi-symbol ECC blocks. It then serially records the k ECC blocks. The system receives corresponding data symbols from the first c data blocks in a predetermined order and applies the symbols both to the tape for recording and to an encoder. The encoder, before it receives the data symbols is set to a predetermined state. The encoder then manipulates the data and generates residue symbols associated with both the manipulation of the received data symbols and the state of the encoder immediately prior to such manipulation, and temporarily stores the generated residue symbols. Next, the system retrieves stored residue symbols which are associated with selected data symbols from previously recorded data blocks, sets the encoder to a state identified by the retrieved symbols and repeats its encoding, recording and storing processes for all received data symbols, as the received data symbols are being serially recorded on the tape. After the b data blocks are recorded, the system records the residue symbols corresponding to the manipulation of b data blocks.