CHECKSUM ERROR DETECTION
Checksum is a calculated value that is used to test data integrity. Errors can occur when data is transmitted or when it is written to disk. One means of detecting such errors is use of a checksum. Checksum is a value calculated for a given chunk of data by sequentially combining all the bytes of data with a series of arithmetic or logical operations. After the data is transmitted or stored, a new checksum can be calculated (using the possibly faulty transmitted or stored data) and compared with the original one. If the checksum do not match, an error occurred, and the data should be transmitted or stored again. If they do match, the transmission or storage was probably error-free. Checksums are simple validation mechanism. They cannot detect all errors and they cannot be used to correct errors.
The parity and LRC methods are not very reliable, when more than error occurs within a character or message. One major advantage of the CRC method is its ability to detect multiple errors within any length of message.
Another major advantage of checksum is that it is simple to implement. In this method, each character being transmitted is exclusive ORed with an accumulated total of all previous characters. The final accumulated total is the checksum character sent with the message. Once again, at the receiver exclusive ORing all the characters and the transmitted checksum should produce a result of zero. Any other result indicates that an error has occurred.
In comparison with CRC, checksum is more likely to experience similar values for different messages. While the odds that enough errors would cause a duplicate checksum to the one originally sent are reasonable high, that possibility is still far more likely than a similar occurrence using the CRC method.
See More --