Longitudinal Redundancy Check (LRC)
Definition - What does Longitudinal Redundancy Check (LRC) mean?
a longitudinal redundancy check (LRC) is an error-detection method for determining the correctness of transmitted and stored data.
LRC verifies the accuracy of stored and transmitted data using parity bits. It is a redundancy check applied to a parallel group of bit streams. The data to be transmitted is divided into transmission blocks into which additional check data is inserted.
This term is also known as a horizontal redundancy check.
Techopedia explains Longitudinal Redundancy Check (LRC)
LRC generally applies to a single parity bit per bit stream. Although simple longitudinal parities only detects errors, a combination with additional error control coding, such as a transverse redundancy check, are capable of correcting errors.
LRC fields consist of one byte containing an eight bit binary value. LRC values are calculated by transmitting devices, which append LRC to messages. The device at the receiving end recalculates the LRC on receipt of the message and compares the calculated value to the actual value received in the LRC field. If the values are equal, the transmission was successful; if the values are not equal, this indicates an error.
LRC is generated through the following steps:
- Add all bytes in messages excluding the starting colon and the ending the carriage return line feed
- Add this to the eight-bit field and discard the carries
- Subtract the final field value from FF hex, producing one’s complement
- Add one, producing two’s complement
In a system environment where a data stream is accepted from a host during host-initiated operations, LRC calculations are performed and appended to every received data block. The resulting blocks are stored by the subsystems. As data passes through the subsystem, LRC calculations are performed. If the host requests data later, a data block is sought along with the previously calculated LRC. The same LRC exclusive or calculations are performed and compared with stored LRC values as data is transferred to the host. If the stored value matches the newly calculated values, the data is considered to be valid.