Error Detection / Correction

Slides:



Advertisements
Similar presentations
Error Detection / Correction Hamming code. Why might we need Error detection/correction? Even & Odd Parity — Error detection Hamming code — Used for error.
Advertisements

Computer Engineering II
Computer Organization and Architecture
Computer Organization and Architecture
Tutorial 11 Reference for Hamming Code:
CSCI 4717/5717 Computer Architecture
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
Combinational Logic and Verilog. XORs and XNORs XOR.
1 The Basic Memory Element - The Flip-Flop Up until know we have looked upon memory elements as black boxes. The basic memory element is called the flip-flop.
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
Error Detection / Correction
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
Computer Organization and Architecture
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
Hamming It Up with Hamming Codes CSE 461 Section Week 3.
Memory and Programmable Logic
Chapter 5 Internal Memory. Semiconductor Memory Types.
Internal Memory.
Exclusive OR Gate. Logically, the exclusive OR (XOR) operation can be seen as either of the following operations:exclusive OR (XOR) 1. A AND NOT B OR.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Mic-1: Microarchitecture University of Fribourg, Switzerland System I: Introduction to Computer Architecture WS December 2006 Béat Hirsbrunner,
Memory Cell Operation.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /3/2013 Lecture 9: Memory Unit Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE CENTRAL.
ALU (Continued) Computer Architecture (Fall 2006).
VLSI AND INTELLIGENT SYTEMS LABORATORY 12 Bit Hamming Code Error Detector/Corrector December 2nd, 2003 Department of Electrical and Computer Engineering.
Error Detection and Correction – Hamming Code
Semiconductor Memory Types
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Gunjeet Kaur Dronacharya Group of Institutions. Outline I Random-Access Memory Memory Decoding Error Detection and Correction Read-Only Memory Programmable.
FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.
Chapter 5 - Internal Memory 5.1 Semiconductor Main Memory 5.2 Error Correction 5.3 Advanced DRAM Organization.
parity bit is 1: data should have an odd number of 1's
William Stallings Computer Organization and Architecture 7th Edition
Class Exercise 1B.
Error Correcting Code.
William Stallings Computer Organization and Architecture 7th Edition
Coding Theory Dan Siewiorek June 2012.
Computer Architecture & Operations I
Welcome to the presentation. Linear Block Codes Almost all block codes used today belong to a subset called linear block codes. The exclusive OR of two.
William Stallings Computer Organization and Architecture 8th Edition
Lecture 14 - Dynamic Memory
II. Linear Block Codes.
Computer Architecture
William Stallings Computer Organization and Architecture 7th Edition
Sequential circuits and Digital System Reliability
William Stallings Computer Organization and Architecture 8th Edition
BIC 10503: COMPUTER ARCHITECTURE
EET107/3 DIGITAL ELECTRONICS 1
Levels in Processor Design
Levels in Processor Design
Cyclic Code.
A register design with parallel load input
COMS 361 Computer Organization
Suppose that a certain program takes 200 seconds of elapsed time to execute. Out of these 200 seconds, 180 seconds is the CPU time and the rest is I/O.
Levels in Processor Design
Overview Last lecture Digital hardware systems Today
Levels in Processor Design
Parity Generator and Checkers
William Stallings Computer Organization and Architecture 8th Edition
Levels in Processor Design
(Adapted From Slides by Greg Gibeling)
4-Bit Register Built using D flip-flops:
Presentation transcript:

Error Detection / Correction Hamming code

Error Detection/Correction Errors: Hard Failure Permanent defect Soft Error Random, non-destructive No permanent damage to memory Coding: Coding can be used for - Error detection - Error correcting Hamming code will be explored

Error Correcting Code Function The output of the “Compare” to the “Corrector” is termed the “syndrome”, and is K bits long

Hamming Code Example Visualizing: With even parity: Word: Identifying error: With Error:

Increased word length for error correcting

Hamming Code Design – determining K To store an M bit word with detection/correction takes M+K bit words If K =1, we can detect single bit errors but not correct them If 2K - 1 >= M + K , we can detect, identify, and correct all single bit errors, i.e. the syndrome contains the information to correct any single bit error Example: For M = 8: and K = 3: 23 – 1 = 7 < 8 + 3 (doesn’t work) and K = 4: 24 – 1 = 15 > 8 + 4 (works!) Therefore, we must choose K =4, i.e., the minimum size of the syndrome is 4

Hamming Code Syndrome If we compare the read K bits compared with the write K bits, using an exclusive or function, the result is called the “syndrome”. If the syndrome is all zeros, there were no errors. If there is a 1 bit somewhere, we know that represents an error.

Hamming Code Syndrome Design Criteria

A Layout of Data and Check Bits that Achieves Our Design Criteria: C1 is a parity check on every data bit whose position is xxx1 C1 = D1 exor D2 exor D4 exor D5 exor D7 C2 is a parity check on every data bit whose position is xx1x C2 = D1 exor D3 exor D4 exor D6 exor D7 C4 is a parity check on every data bit whose position is x1xx C4 = D2 exor D3 exor D4 exor D8 C8 is a parity check on every data bit whose position is 1xxx C8 = D5 exor D6 exor D7 exor D8 Why? Because we want the syndrome, the Hamming test word, to yield the address of the error.

Example:

Example: Data stored = 00111001 Check bits: Putting it together:

Example: Word fetched: Check bits: Putting it all together: EXOR’ing: 0 1 1 0 0110 = 6  bit position 6 is wrong, i.e. bit D3 is wrong

SEC-DEC Example – Requires One Extra Check Bit Single Error Correction, Double Error Detection: Single Error Correction: Word With Even Parity Word With Even Parity With Two Errors With Errors Identifying Error SEC Attempt IS SEC Correct? Extra Bit Confirms DE

Lab Project 1 – 22x3 Memory Design (Due 10/25/07) The bus signals are: D<0:2>, A<0:3>, AE (address enable), R/W# Clearly show the master, decoders, muxes, and bus. Data is transferred on the falling edge of the clock. Use LED’s to display bus signals. Use tristate buffers to drive the bus data lines (why?). Part 1: Clearly explain your design Show the timing diagrams for the design implementation Part 2: Implement your design on the LogicWorks5 Simulator Capture the timing diagrams from the Simulator for your report Part 3: (with ONE partner) Build a circuit(s) in the Laboratory Capture the oscilloscope traces for your report Part 4: Document your project in a report written to a professional audience of your peers – Title Page, Abstract, Problem Description, Design, Data, Conclusions (include descriptions of problems and learning), and References) Have fun, explore, and don’t be afraid to be creative !