Forward Error Control by Disk Controllers

In the early 1970’s IBM’s disk controllers would compute redundant information as data passed thru the controller on the way to being written on the disk. The redundant data was appended immediately to the stream from memory and written on the disk also. As data was subsequently read from the disk the stream passed thru the controller towards the computer and the same computation was performed. If the redundant data did not agree the ending signal from the controller to the computer included an ‘error syndrome’ to the effect that these two bytes were to be exclusives ored into byte positions j and j+1 in order to correct one of some defined class of errors. Data was not always placed in contiguous memory locations but the channel program that had directed such placement was still available to the IO driver that received the message and the data could be located in order to be repaired. I do not now recall the nature of the redundant data.

For other reasons there were special read and write commands that would transfer the extra information as data to or from memory.