Copyright © Curt Hill 2005-2012 Error detection and correction Techniques to Increase the Reliability.

Slides:



Advertisements
Similar presentations
Hamming Code.
Advertisements

CSCI 4717/5717 Computer Architecture
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The Binary Numbering Systems
RAID- Redundant Array of Inexpensive Drives. Purpose Provide faster data access and larger storage Provide data redundancy.
Parity Generator and Checker
Reliability of Disk Systems. Reliability So far, we looked at ways to improve the performance of disk systems. Next, we will look at ways to improve the.
Performance/Reliability of Disk Systems So far, we looked at ways to improve the performance of disk systems. Next, we will look at ways to improve the.
Chapter 6 Errors, Error Detection, and Error Control.
Chapter 10 Error Detection and Correction
Digital Fundamentals Floyd Chapter 2 Tenth Edition
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
The Data Link Layer Chapter 3. Position of the data-link layer.
1 ITC242 – Introduction to Data Communications Week 10 Topic 16 Data link control.
Unit 1 Protocols Learning Objectives: Understand the need to detect and correct errors in data transmission.
CS352- Link Layer Dept. of Computer Science Rutgers University.
Forward Error CORRECTION A little magic. Hamming in perspective Typically errors are corrected with retransmission. Hamming lets the receiver determine.
Digital Data Communications Techniques Updated: 2/9/2009.
Error Detection and Correction
Hamming It Up with Hamming Codes CSE 461 Section Week 3.
Digital Logic Chapter 2 Number Conversions Digital Systems by Tocci.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Lecture 6 Topics Character codes Error Detection and Correction
It is physically impossible for any data recording or transmission medium to be 100% perfect 100% of the time over its entire expected useful life. As.
Cosc 2150: Computer Organization
Error Detection and Correction
Digital Logic Design Lecture 3 Complements, Number Codes and Registers.
Copyright 2005 Curt Hill Binary, Octal and Hexadecimal The number bases used in computers.
British Computer Society
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Copyright © Curt Hill, RAID What every server wants!
AS Computing Data Transmission and Networks. Transmission error Detecting errors in data transmission is very important for data integrity. There are.
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
Error Detection and Correction
Error Detection and Correction
1 © Unitec New Zealand CRC calculation and Hammings code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data Link Layer. Data Link Layer Topics to Cover Error Detection and Correction Data Link Control and Protocols Multiple Access Local Area Networks Wireless.
FUNDAMENTALS OF NETWORKING
Cloud Computing Vs RAID Group 21 Fangfei Li John Soh Course: CSCI4707.
ERROR DETECTION AND CORRECTION Chapter 8 Data Communications & Networking ERROR DETECTION AND CORRECTION Chapter 8 First Semester 2007/2008.
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
Data Transmission and Networks Transmission error checking & correcting.
Reliability of Disk Systems. Reliability So far, we looked at ways to improve the performance of disk systems. Next, we will look at ways to improve the.
2.8 Error Detection and Correction
ERROR DETECTION AND CORRECTION
Data Link Layer.
Character coding schemes
What every server wants!
Vladimir Stojanovic & Nicholas Weaver
Error detection and correction
Error Correcting Code.
Advanced Computer Networks
Representing characters
Error Detection and Correction
Even/odd parity (1) Computers can sometimes make errors when they transmit data. Even/odd parity: is basic method for detecting if an odd number of bits.
Packetizing Error Detection
ICOM 6005 – Database Management Systems Design
Packetizing Error Detection
Error Correction Codes
Packetizing Error Detection
COMPUTER NETWORKS CS610 Lecture-5 Hammad Khalid Khan.
Error Detection and Correction
Error Detection and Correction
Reliability and Channel Coding
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
2.8 Error Detection and Correction
Data Link Layer. Position of the data-link layer.
Presentation transcript:

Copyright © Curt Hill Error detection and correction Techniques to Increase the Reliability

Copyright © Curt Hill The Story Starts with Parity The original error detection scheme Originally used on Teletypes in 1930s Transmitting data over telephone/telegraph lines Add one bit to check if rest of data was correct Next used for tape drives in 1950s Nine track tapes had eight data and one parity –Before that were seven and eight track tapes

Copyright © Curt Hill How Does Parity Work? Parity was set to even or odd The data bits were summed Using even parity the parity bit was set to make the sum even If data is: set the parity bit to 0 –It is already even If data is: set the parity bit to 1 –To make it even

Copyright © Curt Hill Example Consider the following data: –Even parity: –Odd parity: –Even parity: –Odd parity:

Copyright © Curt Hill Options How many bits were being transmitted in a character? How fast were they being transmitted? What parity was being used? How many start and stop bits? The answers to all these questions constitute a Protocol The protocol did not matter as both the sender and receiver agreed on the same one

Copyright © Curt Hill Parity checking It is easy to check and generate If there is a one bit error it will detect it but give you no clue where it is An even number of bits error is undetectable, but odd number of bits error is detectable The number of data bits is irrelevant –A single parity bit can be put on 8 bits or 50 –However, as the number of bits gets larger the protection gets smaller

Copyright © Curt Hill Semiconductor Memory Many machines also used parity to check their memory The original IBM PC and many successors used 9 bits to store an 8 bit byte If a parity error was detected the machine halted with a parity error Even that generation was not as reliable as hoped

Copyright © Curt Hill Is this the best we can do? If we employ multiple error detection bits we can detect multiple bit errors and correct single bit errors How do we correct an error? Since each bit may only have two states 0 or 1 all we have to know is which bit is bad –Correct it by reversing it How do we find location of the error?

Copyright © Curt Hill Basic Scheme Four data bits (0-3) Three syndrome bits (a-c) Each parity bit protects just three of the four –A protects 0-2 with parity –B protects 1-3 with parity –C protects 0,1,3 with parity Each bit is protected by two or three of the parity bits The number of parity bits indicate which bit was in error

Copyright © Curt Hill Four data and three parity a b c Error Parity 1 a, b 2 a, b, c 3 a, c 4 b, c a a b b c c

Copyright © Curt Hill More Single error bit correction, by flipping the bit that is indicated It takes one more bit to detect two bit errors –Otherwise it will be mistaken for a one bit error and corrected The three bits are collectively called the syndrome This scheme uses three error bits for four data bits and is somewhat wasteful

Who is responsible? Richard Hamming developed the first error correction codes –Known as Hamming codes Worked at Bell Labs Was concerned about transmitting digital data at high speeds –Telephone calls were often digitized by this time Parity is sufficient for telegraph which is relative low speed, but not telephone Copyright © Curt Hill

Error Correction In order to get error correction we need: 2 K -1>M+K where M is the number of data bits and K is the number of check (error correction) bits For four data bits we need four syndrome bits to get error correction = > 4 + 4

Copyright © Curt Hill Observations Notice the formula 2 K -1>M+K Exponentials grow rather faster than sums Thus adding one to the number of syndrome bits doubles the number of protected bits Large word sizes are proportionally easier to protect than small

Copyright © Curt Hill Summary Data bitsSEC% diffSEC/DED% diff 8450%562.5% %637.5% %718.75% %812.5% The number of bits needed is summarized by this table:

Copyright © Curt Hill Layout Lets try eight data bits and four bits of error correction The four bits can generate 16 values 0-15 We want value zero to represent no error If the four bit value contains a single one bit that will indicate that the error is in the check bits and thus no correction is needed If the four bit value contains more than one bit then we want this number to tell us the bit that is off

Copyright © Curt Hill Layout Picture M M M M C M M M C M C C1 Each check bit guards the bits that have that bit as a position The C8 checks every bit which has a 1 in the 8s bit

Copyright © Curt Hill Computing Check Bits Each check bit is the even parity of four or five bits They are calculated as follows The computed syndrome bits are compared with the received syndrome and should give the bit number

Copyright © Curt Hill An Example Consider the data bits: Locate c c 0 c c Even parity for C8 bit – 1 – c 0 c c Even parity for C4 bit – 1 – c c Even parity for C2 bit – 1 – c Even parity for C1 bit – 1 –

Copyright © Curt Hill Suppose An Error The original word now come back as: – Compute the new check bits –C8 = 0 –C4 = 1 –C2 = 1 –C1 = 0 C8 and C1 disagree Sum them, the error is in position 9, which is data bit M5

Copyright © Curt Hill Some examples of use IBM 30xx use an 8bit SEC-DED for each 64 bits, hence they have 12% overhead DEC VAX uses a 7 bit SEC-DED for each 32 bits, hence they have a 22% overhead Some versions of RAID also use this to guarantee recoverability in the case of disk errors

Addendum Recently these concepts have been applied to internet/wireless data packets When a mobile phone drops a packet it must ask for it again This greatly reduces perceived bandwidth A study in Boston showed that 3% of packets for mobile phones were lost Packet loss on a fast moving train is typically 5% Copyright © Curt Hill

Packets The solution is to put error correction codes for nearby packets in adjacent packets –Known as coded TCP In a study doing this with 2% packet loss boosted apparent bandwidth from 1 to 16 Mbit If loss rates are low this does not help but losses in wireless networks are always present Copyright © Curt Hill