You are on page 1of 7

Data redundancy is a condition created within a database or data storage technology in which the

same piece of data is held in two separate places.

This can mean two different fields within a single database, or two different spots in multiple
software environments or platforms. Whenever data is repeated, this basically constitutes data
redundancy. This can occur by accident, but is also done deliberately for backup and recovery
purposes.

Data redundancy the preceding discussion focused on a properly designed database, where each
entity is placed in a separate table and where a common field is available to join related records
between the tables. We now explore the perils of an improper database design

Four types of redundancy checks are used in data communications.

Vertical redundancy checks (vrc) is an error-checking method used on an eight-bit asci character.
In vrc, a parity bit is attached to each byte of data, which is then tested to determine whether the
transmission is correct. Vrc is considered an unreliable error-detection method because it only
works if an even number of bits is distorted.

A vertical redundancy check is also called a transverse redundancy check when used in
combination with other error-controlling codes such as a longitudinal redundancy check.

1
Longitudinal redundancy check (lrc) is vrc in two dimensions. To increase the likelihood of
detecting multiple-bit and burst errors, we need to increase the complexity of the checks we run
on the data by looking at each bit twice.

In this error detection method, a block of bits is organized in a table with rows and columns. Then
the parity bit for each column is calculated and a new row of eight bits, which are the parity bits
for the whole block, is created. After that the new calculated parity bits are attached to the original
data and sends to the receiver.

Lrc increases the likelihood of detecting burst error. An lrc of n bits can easily detects a burst error
of n bits.

However, if two bits in one data unit are damaged and two bits in exactly the same positions in
another data unit are also damaged, the lrc checker will not detect an error.

Cyclic redundancy checking is a method of checking for errors in data that has been transmitted
on a communications link. A sending device applies a 16- or 32-bit polynomial to a block of data
that is to be transmitted and appends the resulting cyclic redundancy code (CRC) to the block. The
receiving end applies the same polynomial to the data and compares its result with the result
appended by the sender. If they agree, the data has been received successfully. If not, the sender
can be notified to resend the block of data.

2
The ITU-TS (CCITT) has a standard for a 16-bit polynomial to be used to obtain the cyclic
redundancy code (CRC) that is appended. IBM's Synchronous Data Link Control and other
protocols use CRC-16, another 16-bit polynomial. A 16-bit cyclic redundancy code detects all
single and double-bit errors and ensures detection of 99.998% of all possible errors. This level of
detection assurance is considered sufficient for data transmission blocks of 4 kilobytes or less. For
larger transmissions, a 32-bit CRC is used. The Ethernet and token ring local area network
protocols both used a 32-bit CRC.

A checksum is a simple type of redundancy check that is used to detect errors in data.

Errors frequently occur in data when it is written to a disk, transmitted across a network or
otherwise manipulated. The errors are typically very small, for example, a single incorrect bit, but
even such small errors can greatly affect the quality of data, and even make it useless.

In its simplest form, a checksum is created by calculating the binary values in a packet or other
block of data using some algorithm and storing the results with the data. When the data is retrieved
from memory or received at the other end of a network, a new checksum is calculated and
compared with the existing checksum. A non-match indicates an error; a match does not
necessarily mean the absence of errors, but only that the simple algorithm was not able to detect
any.

Among the types of errors that cannot be detected by simple checksum algorithms are reordering
of the bytes, inserting or deleting zero-valued bytes and multiple errors that cancel each other out.
Fortunately, however, these errors can be detected with more sophisticated methods, such as cyclic
redundancy checks (CRC). Although such techniques have the disadvantage of requiring greater
system resources (in the form of processor time and bandwidth), this has become an increasingly
unimportant consideration in recent years as a result of the continued increases in processor speed
and bandwidth.

3
Error Correction (Detection)

Error is a condition when the output information does not match with the input information.
During transmission, digital signals suffer from noise that can introduce errors in the binary bits
travelling from one system to other. That means a 0 bit may change to 1 or a 1 bit may change to
0.

4
Error-Detecting codes

Whenever a message is transmitted, it may get scrambled by noise or data may get corrupted. To
avoid this, we use error-detecting codes which are additional data added to a given digital
message to help us detect if an error occurred during transmission of the message. A simple
example of error-detecting code is parity check.

Error-Correcting codes

Along with error-detecting code, we can also pass some data to figure out the original message
from the corrupt message that we received. This type of code is called an error-correcting code.
Error-correcting codes also deploy the same strategy as error-detecting codes but additionally,
such codes also detect the exact location of the corrupt bit.

In error-correcting codes, parity check has a simple way to detect errors along with a sophisticated
mechanism to determine the corrupt bit location. Once the corrupt bit is located, its value is
reverted (from 0 to 1 or 1 to 0) to get the original message.

Parity Checking of Error Detection

It is the simplest technique for detecting and correcting errors. The MSB of an 8-bits word is
used as the parity bit and the remaining 7 bits are used as data or message bits. The parity of 8-
bits transmitted word can be either even parity or odd parity.

Parity Check

Even parity -- Even parity means the number of 1's in the given word including the parity bit
should be even (2,4, 6....).

5
Odd parity

Odd parity means the number of 1's in the given word including the parity bit should be odd
(1,3, 5....).

How Does Error Detection Take Place?

Parity checking at the receiver can detect the presence of an error if the parity of the receiver
signal is different from the expected parity. That means, if it is known that the parity of the
transmitted signal is always going to be "even" and if the received signal has an odd parity, then
the receiver can conclude that the received signal is not correct. If an error is detected, then the
receiver will ignore the received byte and request for retransmission of the same byte to the
transmitter.

6
References

 Attarian Ad. Algebraic Coding Theory. 2006. 12P.


 Blahut R. Algebraic Codes for Data Transmission. United Kingdom: Cambridge
University Press; 2003. 482p.
 Doran R. Encyclopedia of Mathematics and its Applications. 2nd ed. Cambridge
University Press; 2002. 205.
 Hall J. Notes on Coding Theory. United State America: Michigan State University. 2003.
10P.
 Hamming R. Error Detecting and Error Correcting Codes. Bell Syst. Tech. J., 29. 1950;
147-160.

You might also like