PURPOSE: To attain error detection and correction with less hardware efficiently by allowing a correction circuit to check and correct a write data read from a data buffer and recording it on a recording medium.
CONSTITUTION: An ECC circuit 10 adds an ECC code to a transfer data from a high-order device and writes the result to a data buffer memory 11. A write data outputted from the memory 11 is fed to a correction circuit 14 via a selector 17 and also checked by a check circuit 12. The error information outputted from the circuit 12 is inputted to the circuit 14 via a selector 18. A reproducing data outputted from a read circuit 16 is checked by a check circuit 13 and fed to the memory 11 via the circuit 14. The output data of the circuit 14 is fed to a write circuit 15 at execution of write command, and after the data is written on a magnetic tape at each block, the data is read again and written while being subject to error check.