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

Slides:



Advertisements
Similar presentations
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.
Advertisements

RAID Redundant Arrays of Independent Disks Courtesy of Satya, Fall 99.
I/O Errors 1 Computer Organization II © McQuain RAID Redundant Array of Inexpensive (Independent) Disks – Use multiple smaller disks (c.f.
Error Detection / Correction Hamming code. Why might we need Error detection/correction? Even & Odd Parity — Error detection Hamming code — Used for error.
Hamming Code.
Error Correcting Memory
parity bit is 1: data should have an odd number of 1's
CSCI 4717/5717 Computer Architecture
Error detection and correction
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.
Reliability and Channel Coding
Unit 1 Protocols Learning Objectives: Understand the need to detect and correct errors in data transmission.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
Error Detection and Reliable Transmission EECS 122: Lecture 24 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Hamming It Up with Hamming Codes CSE 461 Section Week 3.
9/15/09 - L3 CodesCopyright Joanne DeGroat, ECE, OSU1 Codes.
Error Detection and Correction.  Corrupted files  Attachments that won’t open  Files that won’t download  Videos that won’t play Errors occur when.
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.
Topic 2 – Introduction to Computer Codes. Computer Codes A code is a systematic use of a given set of symbols for representing information. As an example,
Error Detection and Correction
Information Representation. Digital Hardware Systems Digital Systems Digital vs. Analog Waveforms Analog: values vary over a broad range continuously.
CIT 307 Online Data Communications Error Detection Module 11 Kevin Siminski, Instructor.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
Practical Session 10 Error Detecting and Correcting Codes.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
AS Computing Data Transmission and Networks. Transmission error Detecting errors in data transmission is very important for data integrity. There are.
Computer Science Division
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /3/2013 Lecture 9: Memory Unit Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE CENTRAL.
ERROR DETECTING AND CORRECTING CODES -BY R.W. HAMMING PRESENTED BY- BALAKRISHNA DHARMANA.
1 © Unitec New Zealand CRC calculation and Hammings code.
CS 111 – Sept. 13 Error detection Error correction Review/practice chapter 1 questions Commitment: –Please read sections 2.1 and 2.2.
Computer Communication & Networks Lecture 10 Datalink Layer: Error Correction Waleed Ejaz
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.
Data Communications and Networking
Error-Detecting and Error-Correcting Codes
Computer Architecture Error Correcting Codes Ralph Grishman Oct (Text pp and B-65-67) NYU.
Practical Session 10 Computer Architecture and Assembly Language.
ERROR DETECTION AND CORRECTION Chapter 8 Data Communications & Networking ERROR DETECTION AND CORRECTION Chapter 8 First Semester 2007/2008.
Data Transmission and Networks Transmission error checking & correcting.
CS Introduction to Operating Systems
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.
parity bit is 1: data should have an odd number of 1's
2.8 Error Detection and Correction
Signed binary numbers & Binary Codes
Computer Architecture and Assembly Language
Lecture No. 4 Number Systems
ERROR DETECTION AND CORRECTION
ERROR CORRECTING CODES
Character coding schemes
Vladimir Stojanovic & Nicholas Weaver
Communication Networks: Technology & Protocols
Error Correcting Code.
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.
Computer Architecture & Operations I

Dr. Clincy Professor of CS
Dr. Clincy Professor of CS
RAID Redundant Array of Inexpensive (Independent) Disks
Fundamentals of Data Representation
Error Correction Codes
CS 325: CS Hardware and Software Organization and Architecture
Reliability and Channel Coding
Computer Architecture and Assembly Language
Reliability and Channel Coding
parity bit is 1: data should have an odd number of 1's
2.8 Error Detection and Correction
Presentation transcript:

Dan Ernst Improving Reliability We used parity to determine when a memory bit failed. We can protect buses from transmission failures using parity/ECC. Detected with parity: 1 bit errors Corrected with ECC (Error correcting codes)

Dan Ernst Parity If any two different valid datum, in memory or on a bus, differ by at least 2 bits: It is easy to detect if one bit fails since a one bit failure will result in an invalid data value. How can we make sure any good data differs by at least two bits?

Dan Ernst Why parity works to detect one bit errors… All valid (and unique) data encoding must differ by at least one bit. –Argument: if they don’t they aren’t unique. Pick any two values: –If they differ by more than one bit, a single bit error will not turn one into the other –If they differ by one bit then if we count the number of 0 bits in their encoding, one of the encodings will have an odd number of 0s, the other will have an even number and therefore their parity bits MUST also differ, so they will also differ by two bits. So we can’t change one valid encoding into another by changing only 1 bit!

Dan Ernst Example Two number: and Add odd parity bits: and Now these numbers differ by 2 bits What if they already differ by more than one bit? –No problem, a 1-bit error can’t turn one into the other

Dan Ernst Error Correcting Codes If any two different valid datum, in memory or on a bus, differ by at least 3 bits: It is easy to detect and correct if one bit fails since a one bit failure will result in an invalid data value and we know which valid data value is only one bit away. How can we make sure any good data differs by at least three bits?

Dan Ernst Error Correcting Codes Use multiple parity bits, each computing parity over a different set of data bits. Each data bit is used to calculate parity by a different combination (or permutation) of 2 or more parity bits. –data bit 0 may be used in the calculation of parity bits 1 and 2, –while data bit 1 is used by parity bits 1 and 3. When a parity bit is flipped, only its parity calculation will be wrong.

Dan Ernst ECC on 4 bits of data Data bit 0 is used by parity 0 and 1 Data bit 1 is used by parity 0 and 1 and 2 Data bit 2 is used by parity 0 and 2 Data bit 3 is used by parity 1 and 2 –P0 = odd_parity (D0, D1, D2) –P1 = odd_parity (D0, D1, D3) –P2 = odd_parity (D1, D2, D3)

Dan Ernst Calculating ECC (4 bits) D 3 D 2 D 1 D 0 P 2 P 1 P 0

Dan Ernst Calculating ECC (4 bits) D 3 D 2 D 1 D 0 P 2 P 1 P

Dan Ernst Calculating ECC (4 bits) D 3 D 2 D 1 D 0 P 2 P 1 P

Dan Ernst Calculating ECC (4 bits) D 3 D 2 D 1 D 0 P 2 P 1 P

Dan Ernst Test question The following 4 bit data value is encoded with ECC (as shown in class). Unfortunately it has a 1 bit error, fix it! D 3 is used by P 2 and P 1 P 2 P 1 P 0 D 3 D 2 D 1 D 0

Dan Ernst Test question Solution The flipped bit is D 3, which should be a D 3 is used by P 2 and P 1 P 2 P 1 P 0 D 3 D 2 D 1 D 0

Dan Ernst How many ECC parity bits (P) do you need for N bits of data? You use 1 ECC parity bit pattern for each data bit error. –N bit patterns for fixing 1 bit errors Plus 1 more pattern for each parity bit –P bit patterns Plus 1 pattern for “correct value” N + P + 1 = 2 P

Dan Ernst How many ECC bit do you need for a 78 bit bus? 78 + P + 1  2 P Patterns I need to decide which bit is wrong if 1 bit is flipped  Unique pattern I can represent with P ECC parity bits 2 6 = 64 (too small) 2 7 = 128 (which is > ) So, 7 ECC parity bits needed

Dan Ernst Question Prove that ECC has at least 3 bits different in any two representations. Answer: –if they are different, then they must differ by at least 1 data bit. –Each data bit is covered by at least 2 parity bits Those parity bits must now differ since one must have an odd number of data 1’s and the other even.

Dan Ernst Question How do you decide which bit is wrong? If only one parity bit is the wrong parity, then that parity bit has been corrupted –Because and data bit is checked by at least 2 parity bits a data bit failure will cause 2 or more parity bit errors. If two or more parity bits are wrong, then the pattern of the parity bits that fail uniquely identify the corrupted data bit.