Information Redundancy Fault Tolerant Computing

Slides:



Advertisements
Similar presentations
parity bit is 1: data should have an odd number of 1's
Advertisements

Cyclic Code.
Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
DIGITAL COMMUNICATION Coding
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
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.
DIGITAL COMMUNICATION Coding
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Error Detection and Correction
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
Part.7.1 Copyright 2007 Koren & Krishna, Morgan-Kaufman FAULT TOLERANT SYSTEMS Part 7 - Coding.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
COEN 180 Erasure Correcting, Error Detecting, and Error Correcting Codes.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Practical Session 10 Error Detecting and Correcting Codes.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
Error Detection and Correction
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
DIGITAL COMMUNICATIONS Linear Block Codes
ADVANTAGE of GENERATOR MATRIX:
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
Information Theory Linear Block Codes Jalal Al Roumy.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Error Detection and Correction – Hamming Code
Some Computation Problems in Coding Theory
Error Detection and Correction
Data Communications and Networking
Hamming Distance & Hamming Code
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
Error Detecting and Error Correcting Codes
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
parity bit is 1: data should have an odd number of 1's
2.8 Error Detection and Correction
Hamming Code In 1950s: invented by Richard Hamming
Part 2 Linear block codes
Computer Architecture and Assembly Language
Error Detection and Correction
Subject Name: COMPUTER NETWORKS-1
15-853:Algorithms in the Real World
Error Detection and Correction
Coding Theory Dan Siewiorek June 2012.
Chapter 10 Error Detection And Correction
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.
EEC4113 Data Communication & Multimedia System Chapter 5: Error Control by Muhazam Mustapha, August 2010.
Subject Name: Information Theory Coding Subject Code: 10EC55
EEL 3705 / 3705L Digital Logic Design
II. Linear Block Codes.
Block codes. encodes each message individually into a codeword n is fixed, Input/out belong to alphabet Q of cardinality q. The set of Q-ary n-tuples.
RAID Redundant Array of Inexpensive (Independent) Disks
UNIT IV RAID.
DIGITAL COMMUNICATION Coding
Error Detection and Correction
CS 325: CS Hardware and Software Organization and Architecture
Error Detection and Correction
Computer Architecture and Assembly Language
parity bit is 1: data should have an odd number of 1's
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Error Detection and Correction
2.8 Error Detection and Correction
Chapter 10 Error Detection and Correction
Presentation transcript:

Information Redundancy Fault Tolerant Computing Introduction Fundamental notions Parity codes Linear codes Cyclic codes Unordered codes Arithmetic codes Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Introduction Encoding is the powerful technique allowing us to ensure that information has not been changed during storage or transmission. Attaching special check bits to blocks of digital information enables special-purpose hardware to detect and correct a number of communication and storage faults, such as changes in single bits or changes to several adjacent bits. Coding theory was originated in the late 1940s, by two seminal works by Hamming and Shannon. Hamming defined the notion of distance between two words and observed this was a metric, thus leading to interesting properties. This distance is now called Hamming distance. His first attempt produced a code in which four data bits were followed by three check bits which allowed not only the detection but the correction of a single error. Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Fundamental notions Information rate The ratio k/n is called the information rate of the code. The information rate determines the redundancy of the code. For example, a repetition code obtained by repeating the data three times, has the information rate 1/3. Hamming distance Hamming distance between two binary n-tuples, x and y, denoted by d(x, y), is the number of bit positions in which the n-tuples differ. Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Code distance Code distance of a code C is the minimum Hamming distance between any two distinct pairs of codewords of C. In general, to be able to correct e-bit errors, a code should have the code distance of at least 2e+1. To be able to detect e-bit errors, the code distance should be at least e+1. Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Code efficiency 1 Number bit errors a code can detect/correct, reflecting the fault tolerant capabilities of the code. 2 Information rate k/n, reflecting the amount of information redundancy added. 3 Complexity of encoding and decoding schemes, reflecting the amount of hardware, software and time redundancy added. Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Parity codes The even (odd) parity code of length n is composed of all binary n-tuples that contain an even (odd) number of 1’s. Any single-bit error can be detected, since the parity of the affected n-tuple will be odd (even) rather than even (odd). It is not possible to locate the position of the erroneous bit. Thus, it is not possible to correct it. The most common application of parity is error-detection in memories of computer systems. Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing All operations related to the error-detection (encoding, decoding, comparison) are done by memory control logic on the mother-board, in the chip set, or, for some systems, in the CPU. The memory itself only stores the parity bits, just as it stores the data bits. Therefore, parity checking does not slow down the operation of the memory. Parity can only detect single bit errors and an odd number of bit errors. A modification of parity code is horizontal and vertical parity code, which arrange the data in a 2-dimensional array and add one parity bit on each row and one parity bit on each column. Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Linear codes Linear codes provide a general framework for generating many codes, including Hamming code. A (n, k) linear code over the field Z2 is a k-dimensional subspace of Vn . Example (4,2) linear code vectors v0 =[1000] and v1 =[0110] d = [d0d1] d = [11] c = 1 [1000]+1 [0110] = [1110] Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Generator matrix The codeword c is a product of the generator matrix G and the data word d: c = dG generating matrix of the form [IKA], where IK is an identity matrix of size k ˣ k. Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Parity check matrix To decode a (n; k) linear code, we use an (n-k) ˣ n matrix H, called the parity check matrix of the code. The parity check matrix represents the parity of the codewords. Syndrome The resulting k-bit vector s is called syndrome. If the syndrome is zero, no error has occurred. If s matches one of the columns of H, then a single-bit error has occurred. The bit position of the error corresponds to the position of the matching column in H. s = HcT Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Constructing linear codes we must ensure that every column of the parity check matrix is linearly independent. This is equivalent to the requirement of not having a zero column, since the zero vector can never be a member of a set of linearly independent vectors. The code distance of the resulting (4,2) code is two. So, this code could be used to detect single-bit errors. Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing Hamming codes the first single-error correcting Hamming code and its extended version, single-error correcting double-error detecting Hamming code. (7,4) Hamming code: Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing The information rate of a (7;4) Hamming code is k=n = 4=7. In general the rate of a (n; k) Hamming code is: Hamming are widely used for DRAM error-correction. Encoding is usually performed on complete words, rather than individual bytes. As in the parity code case, when aword is written into a memory, the check bits are computed by a check bits generator. Extended Hamming codes It can correct single-bit errors and detect double-bit errors Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018

Fault Tolerant Computing 12/29/2018