Error Correction Codes

Slides:



Advertisements
Similar presentations
Dan Ernst Improving Reliability We used parity to determine when a memory bit failed. We can protect buses from transmission failures using parity/ECC.
Advertisements

Hamming Code.
Computer Interfacing and Protocols
Introduction to Information Technologies
Parity Generator and Checker
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
Chapter 6 Errors, Error Detection, and Error Control
7/2/2015Errors1 Transmission errors are a way of life. In the digital world an error means that a bit value is flipped. An error can be isolated to a single.
Unit 1 Protocols Learning Objectives: Understand the need to detect and correct errors in data transmission.
Synchronous - Asynchronous Data Transmission. Asynchronous ► The sender and receiver are not Synchronised. ► The sender sends only one character at a.
Error Detection and Correction.  Corrupted files  Attachments that won’t open  Files that won’t download  Videos that won’t play Errors occur when.
Digital Logic Lecture 4 Binary Codes The Hashemite University Computer Engineering Department.
Error Detection and Correction
CIT 307 Online Data Communications Error Detection Module 11 Kevin Siminski, Instructor.
Part 2: Packet Transmission Packets, frames Local area networks (LANs) Wide area networks (LANs) Hardware addresses Bridges and switches Routing and protocols.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 14.
Copyright © Curt Hill, RAID What every server wants!
Unit 5 Lecture 2 Error Control Error Detection & Error Correction.
AS Computing Data Transmission and Networks. Transmission error Detecting errors in data transmission is very important for data integrity. There are.
Communication Systems 3.1) Characteristics of a Communication System.
Data Communications & Computer Networks, Second Edition1 Chapter 6 Errors, Error Detection, and Error Control.
1 Representation of Data within the Computer Oct., 1999(Revised 2001 Oct)
Copyright © Curt Hill Error detection and correction Techniques to Increase the Reliability.
DATA ERRORS. Introduction The processing of incorrect data can produce ridiculous and embarrassing output. Errors can take time to sort out and can be.
Error Detection.
Error Detection and Correction – Hamming Code
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
Error-Detecting and Error-Correcting Codes
Hamming Distance & Hamming Code
Practical Session 10 Computer Architecture and Assembly Language.
Data Transmission and Networks Transmission error checking & correcting.
Hamming Codes The Hamming Code is a Forward Error-correcting Code (FEC) that uses redundant bits to correct a single bit error For 4 bit codes, 3 redundant.
Simple Parity Check The simplest form of error detection is the parity check used with ASCII codes, originally on asynchronous modem links Each 7 bit ASCII.
2.8 Error Detection and Correction
Chapter 9: Data Link Control
Computer Architecture and Assembly Language
Introduction to Information Technologies
ERROR DETECTION AND CORRECTION
ERROR CORRECTING CODES
Character coding schemes
What every server wants!
Vladimir Stojanovic & Nicholas Weaver
Error detection and correction
Error Correcting Code.
CIS 321 Data Communications & Networking
Representing characters
Error Detection and Correction
Data Link Layer What does it do?
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.
Part III Datalink Layer 10.
Packetizing Error Detection
Packetizing Error Detection
EET107/3 DIGITAL ELECTRONICS 1
Chapter 9 Error Detection and Correction
Dr. Clincy Professor of CS
Introduction to Information Technologies
Fundamentals of Data Representation
Error Detection Neil Tang 9/26/2008
Packetizing Error Detection
DATA COMMUNICATION Lecture-33.
COMPUTER NETWORKS CS610 Lecture-5 Hammad Khalid Khan.
CS 325: CS Hardware and Software Organization and Architecture
Computer Architecture and Assembly Language
Reliability and Channel Coding
Error Detection and Correction
Error Detection and Correction
Error Detection Learning Objectives:
2.8 Error Detection and Correction
Chapter 9: Data Link Control
Presentation transcript:

Error Correction Codes Can we fix what is broken? Copyright © 2003-2017 by Curt Hill

The Story Starts with Parity In the olden days, well before computers, the teletype existed to transmit telegrams In transmitted characters over telegraph lines It replaced to older Morse code keys This communication form had many options and was error prone Parity was the first solution Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by Curt Hill Parity Simple error detection system Add one parity bit to the data bits, usually at the end Two forms: even and odd Even parity Set the parity bit so that the number of 1 bits is even Odd parity is similar Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by Curt Hill Example Consider the following data: 01101100 Even parity: 011011000 Odd parity: 011011001 01110110 Even parity: 011101101 Odd parity: 011101100 Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by 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 transmission protocol The choice of protocol did not matter as both the sender and receiver agreed on the same one Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by Curt Hill Teletype and Parity Parity will detect a one bit error Even if it is the parity bit that has the error Errors then triggered a retransmit It cannot detect a two bit error Usually before the two bit errors set in there are several one bit errors This was satisfactory for applications in the early to middle twentieth century Copyright © 2003-2017 by 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 find location of the error? Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by 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 © 2003-2017 by Curt Hill

Copyright © 2003-2017 by Curt Hill Consider four bits with three error detection bits What happens when any bit is wrong? 2 b a 1 3 c Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by Curt Hill So? If the parity bit is in error, then only one parity bit is flagged Can be ignored, well maybe If a data bit is in error, two or three parity bits will detect it Error in 0 – a, c Error in 1 – a, b, c Error in 2 – a, b Error in 3 – b, c Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by Curt Hill Multi-bit Errors? 1 b a 2 3 c If we have a double bit error we can detect but not correct. Adding more parity bits could correct even this. Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by Curt Hill Is this too expensive? This almost doubles the number of bits 4 data and 3 check (42%) Doubling the data bits only adds one more to the syndrome Thus: 8 data and 4 syndrome bits (33%) 16 data and 5 syndrome bits (23%) 32 data and 6 syndrome bits (15%) 64 data and 7 syndrome bits (10%) The larger the better Compare this to keeping a redundant copy Copyright © 2003-2017 by Curt Hill

Copyright © 2003-2017 by Curt Hill Finally Error correction has been applied to many areas: Transmission of data Checking or correcting for errors in memory Checking or correcting for errors on disk/tape We covered this because we need it for RAID Copyright © 2003-2017 by Curt Hill