CHECKSUM Option

Checksums are used to detect I/O errors. When the CHECKSUM option is set in DASDL, an extra word is allocated following the last word of data in each block and after the dumpstamp word if one is present. Each time a block is written, a value is computed based upon the contents of the block and stored in this checksum word. When a block is read, the checksum is recomputed and the result is compared to the stored value. An error occurs if the two values are not equal. If an error persists after the read is retried, the user program is notified of the error and the READERROR bit for the row in error is turned on.

The checksum value is generated by applying the logical equivalence operator to each word in the buffer, including the addresscheck word. The checksum is computed in an accumulator that is circularly shifted left one bit as each word is processed.