Hierarchical Error Correction Codes over Multi-Bit Differential Signaling Jason D. Bakos.

Slides:



Advertisements
Similar presentations
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Advertisements

Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
[ 1 ] LVDS links Servizio Elettronico Laboratori Frascati INFN - Laboratori Nazionali di Frascati G. Felici LVDS links.
Efficient Soft-Decision Decoding of Reed- Solomon Codes Clemson University Center for Wireless Communications SURE 2006 Presented By: Sierra Williams Claflin.
Digital Fountain Codes V. S
Chapter 4 Making Connections. 2 Introduction  Examine the interface between a computer and a device. This interface occurs at the physical layer.  Connecting.
Combined QPSK and MFSK Communication over an AWGN Channel Jennifer Christensen South Dakota School of Mines & Technology Advisor: Dr. Komo.
Lightweight Hierarchical Error Control Codes for Multi-Bit Differential Channels Jason D. Bakos Ph.D. Committee: Donald M. Chiarulli Steven P. Levitan.
Next Generation Interconnection Technology for High-Performance Computer Systems Jason D. Bakos Department of Computer Science University of Pittsburgh.
Cellular Communications
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 4 Digital Transmission.
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Hamming Code Rachel Ah Chuen. Basic concepts Networks must be able to transfer data from one device to another with complete accuracy. Data can be corrupted.
©2003/04 Alessandro Bogliolo Background Information theory Probability theory Algorithms.
Digital Fundamentals Floyd Chapter 1 Tenth Edition
Computer Networks Digitization. Spring 2006Computer Networks2 Transfer of an Analog Signal  When analog data (voice, pictures, video) are transformed.
Final Year Project A CMOS imager with compact digital pixel sensor (BA1-08) Supervisor: Dr. Amine Bermak Group Members: Chang Kwok Hung
EE 3220: Digital Communication Dr. Hassan Yousif Ahmed Department of Electrical Engineering College of Engineering at Wadi Aldwasser Slman bin Abdulaziz.
Channel Coding Part 1: Block Coding
Research Plan Jason D. Bakos Optics/Microelectronics Group Department of Computer Science University of Pittsburgh.
Signal Propagation Propagation: How the Signal are spreading from the receiver to sender. Transmitted to the Receiver in the spherical shape. sender When.
Introduction to Computer Design CMPT 150 Section: D Ch. 1 Digital Computers and Information CMPT 150, Chapter 1, Tariq Nuruddin, Fall 06, SFU 1.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals with PLD Programming.
British Computer Society
ECS 152A 4. Communications Techniques. Asynchronous and Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
PEDS: A PARALLEL ERROR DETECTION SCHEME FOR TCAM DEVICES Author: Anat Bremler-Barr, David Hay, Danny Hendler and Ron M. Roth Publisher/Conf.: IEEE INFOCOM.
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.
Reed Solomon Code Doug Young Suh Last updated : Aug 1, 2009.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
Design of a High-Throughput Low-Power IS95 Viterbi Decoder Xun Liu Marios C. Papaefthymiou Advanced Computer Architecture Laboratory Electrical Engineering.
Introduction of Low Density Parity Check Codes Mong-kai Ku.
Error Detection and Correction
DIGITAL COMMUNICATIONS Linear Block Codes
Computer Science Division
Floyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd © 2008 Pearson Education Chapter 1.
ERROR DETECTING AND CORRECTING CODES -BY R.W. HAMMING PRESENTED BY- BALAKRISHNA DHARMANA.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Some Computation Problems in Coding Theory
Unit 1 Lecture 4.
Logic Design EE-2121 Manesh T. Digital Systems  Introduction  Binary Quantities and Variables  Logic Gates  Boolean Algebra  Combinational Logic.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Coding No. 1  Seattle Pacific University Digital Coding Kevin Bolding Electrical Engineering Seattle Pacific University.
Practical Session 10 Computer Architecture and Assembly Language.
Diana B. Llacza Sosaya Digital Communications Chosun University
Block Coded Modulation Tareq Elhabbash, Yousef Yazji, Mahmoud Amassi.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Chapter Nine: Data Transmission. Introduction Binary data is transmitted by either by serial or parallel methods Data transmission over long distances.
Serial Communications
EKT124 Digital Electronics 1 Introduction to Digital Electronics
Computer Architecture and Assembly Language
Error Detection and Correction
Communication Networks: Technology & Protocols
The Three Main Sources of Transmission Errors
Coding Theory Dan Siewiorek June 2012.
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.
DIGITAL DATA COMMUNICATION TECHNIQUES
Multi-Bit Differential Signaling Prototype Chip
DIGITAL DATA COMMUNICATION TECHNIQUES
Chapter Nine: Data Transmission
Digital Fundamentals Floyd Chapter 1 Tenth Edition
Error Detection and Correction
Computer Architecture and Assembly Language
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Presentation transcript:

Hierarchical Error Correction Codes over Multi-Bit Differential Signaling Jason D. Bakos

Goals High performance electrical chip-to-chip signaling  Processor-Memory interconnect  Other chip-to-chip interconnect High-resolution digital displays Storage devices High-speed sensors chip 1 chip 2 chip 3PCB traces

The Off-Chip Signaling Problem Growing gap between on-chip core logic speed and off-chip signaling speed Source: Intel Corporation

Challenges for Off-chip Signaling High-speed links must be narrow  I/O pads are a precious resource in chip design  Skin effect causes high-speed drivers to be large Integrity of high-speed off-chip signals  capacitance, inductance (METAL)  effect of noise  synchronization Solution:  Couple data encoding to circuit design Packaged chip PCB trace Ground plane Packaged chip

Multi-Bit Differential Signaling (MBDS) Differential signaling (LVDS) Data encoded as  {01} or {10} Advantages  Low driver switching noise  No reference noise  Coupled transmission lines  Low voltage swing (low noise) Disadvantages  Two wires for each bit  Code rate = bits / channels MBDS Data encoded with fixed number of ones  N-choose-M (nCm)  {0011}, {0101}, {0110}, {1001}, {1010}, {1100} Advantages  Same SNR as differential  Higher code rate than differential

nCm Coding EXAMPLE 6-wire MBDS channel code size = 20 codes effective bits = 4 equivalent to 8-wire differential channel 25% fewer pads (8 versus 6) 25% less power (4 1-bits on versus 3) 125% code capacity (20 codes versus 16) Code set sizeEffective bits

Outline Use of extra code space for “free” error control mechanism Sources of channel errors Introduction to linear block codes Hierarchical error correction codes  nCm code set partitioning  Encoding mechanism  Decoding mechanism  Code rate computation for HECC codes  Analysis of single-channel correcting codes  Analysis of multiple-channel correcting codes Future Work

Sources of Channel Errors 4c2 channel at 2.5 Gb/s 4c2 channel at 10 Gb/s Jitter and channel noise cause channel errors at high transmission rates Need a way to recover from channel errors

nCm Codes: Natural Error Detection nCm codes have inherent error detection  Even-number of channel errors error 3 errors  Odd-number of channel errors

nCm Codes: Extra Code Words Each nCm code set has unmapped code words  Example 4c2 (base-6 value) => binary value ? ? Exploit by using 2 nCm drivers in parallel as bus 4c2 36 combinations 5 bits 2 bits 6 cw

Linear Block Codes Use (n,k,q) linear block code  n symbols in block, over base-q alphabet  k data symbols  n-k parity symbols  Can correct erasures and symbol errors  Example (4,3,q) code: base-q data symbols base-q parity Problems:  Application over nCm symbols too detrimental to overall code rate  Doesn’t take advantage of inherent error detection ability  Lookup table for data too large

Partitioning nCm Code Sets nCm code sets have distance=2 Increase distance by partitioning into “distance subsets”  Example 4c2, distance=4 (correct 1 bit, = floor((distance-1)/2)) Subsets:  0 => {0011, 1100}  1 => {0101, 1010}  2 => {0110, 1001} If the subset is known, channel errors may be corrected First level of hierarchy

Partitioning Problem How to partition large nCm code sets into distance subsets?  Graph coloring is too complex for large code sets ( > 6c3)  Good news: Done off-line Won’t go beyond 8c4 code set  Use heuristic… Based on pruning depth-first search over space of code word subset assignment

Partitioning Problem

Encoding Hierarchical Block Codes Data as subset valuesParity as subset value(s) Data as code wordsParity as code words b block bitsb symbol bits b bits

Example Encoding Assume 3 x 4c2 drivers  s=3, c=2  (3,2,3) checksum code  “data” portion s k = 9 cw (3 bits)  code word decisions, c n = 8 cw (3 bits)  code rate = 6 bits / 12 channels = 50%  Can correct one channel error Encode … Compute checksum parity… Encode 101…  0 => {0011, 1100}  1 => {0101, 1010}  2 => {0110, 1001}

Decoding HECC Codes Assume error occurs… 0 – 1 = 2 (mod 3)  Symbol in error must be 0110 or 1001  dist(1101,0110) = 3, dist(1101,1001) = 1  Corrected symbol is ?10210 Decoder:  If invalid code word is detected Determine subset of code word in error Use minimum distance decoder to determine correct codeword

Computing Code Rate for HECC Code rate is defined as  Number of data bits / number of channels In this context, must add data bits encoded into  subset choices  code word choices We “break even” when code rate matches differential at 50%

Analysis of Checksum-Based Codes HECC codes defined as  nCm code set  # of parallel drivers  (s,c)  (n,k) Checksum-based codes can correct one channel error Fully utilized partitioning  s*c = cw

Analysis of Checksum-Based Codes Under-utilized partitionings  s * c < cw

Block Codes for Correcting Errors MDS code (Reed-Solomon)  Can correct subset errors: Number of parity symbols / 2  Can correct erasures: Number of parity symbols  Restrictions: Number of subsets must be prime or power of a prime DataParity Can correct  1 error  2 erasures

Analysis of Multiple Channel-Error Codes 5c2, 7c3  2 parity symbols used  MDS-code used until reached limit  After MDS limit, NMDS code used 6c3  Code set distance is 6 (t=2)  One parity symbol 8c4  Code set distance is 8 (t=3)  One parity symbol

Future Work Find better codes => higher code rate Design efficient implementation of encoding / decoding logic

Acknowledgements Donald Chiarulli, advisor (CS Department) Steven Levitan, advisor (EE Department)