Yue Li joint work with Anxiao (Andrew) Jiang and Jehoshua Bruck.

Slides:



Advertisements
Similar presentations
Introduction to Flash Memories And Flash Translation Layer
Advertisements

Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)
Analysis and Construction of Functional Regenerating Codes with Uncoded Repair for Distributed Storage Systems Yuchong Hu, Patrick P. C. Lee, Kenneth.
parity bit is 1: data should have an odd number of 1's
Cyclic Code.
Error Control Code.
BASIC Regenerating Codes for Distributed Storage Systems Kenneth Shum (Joint work with Minghua Chen, Hanxu Hou and Hui Li)
ERROR CORRECTION.
The Performance of Polar Codes for Multi-level Flash Memories
RAID- Redundant Array of Inexpensive Drives. Purpose Provide faster data access and larger storage Provide data redundancy.
Topics covered: Floating point arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Error-Correcting Codes
CHAPTER 2 Digital Combinational Logic/Arithmetic Circuits.
Nak Hee Seong Sungkap Yeo Hsien-Hsin S. Lee
Chapter 5 Markov processes Run length coding Gray code.
Some Results on Codes for Flash Memory Michael Mitzenmacher Includes work with Hilary Finucane, Zhenming Liu, Flavio Chierichetti.
Digital Data Transmission ECE 457 Spring Information Representation Communication systems convert information into a form suitable for transmission.
1 Eitan Yaakobi, Laura Grupp Steven Swanson, Paul H. Siegel, and Jack K. Wolf Flash Memory Summit, August 2010 University of California San Diego Efficient.
Santa Clara, CA USA August An Information Theory Approach for Flash Memory Eitan Yaakobi, Paul H. Siegel, Jack K. Wolf University of California,
1 Error Correction Coding for Flash Memories Eitan Yaakobi, Jing Ma, Adrian Caulfield, Laura Grupp Steven Swanson, Paul H. Siegel, Jack K. Wolf Flash Memory.
Coding for Flash Memories
Time-Varying Encoders for Constrained Systems - Jonathan J. Ashley, Brian H. Marcus Jungwon Lee
Faculty of Computer Science © 2006 CMPUT 229 Special-Purpose Codes Binary, BCD, Hamming, Gray, EDC, ECC.
Noise, Information Theory, and Entropy
exercise in the previous class (1)
林茂昭 教授 台大電機系 個人專長 錯誤更正碼 數位通訊
Coding and Algorithms for Memories Lecture 2 1.
On the Coded Complex Field Network Coding Scheme for Multiuser Cooperative Communications with Regenerative Relays Caixi Key Lab of Information.
1 INF244 Textbook: Lin and Costello Lectures (Tu+Th ) covering roughly Chapter 1;Chapters 9-19? Weekly exercises: For your convenience Mandatory.
Review of modern noise proof coding methods D. Sc. Valeri V. Zolotarev.
Sequential Soft Decision Decoding of Reed Solomon Codes Hari Palaiyanur Cornell University Prof. John Komo Clemson University 2003 SURE Program.
Error-Correction Coding Using Combinatorial Representation Matrices
Coding and Algorithms for Memories Lecture 8 1.
ECE 301 – Digital Electronics Unsigned and Signed Numbers, Binary Arithmetic of Signed Numbers, and Binary Codes (Lecture #2)
Extremal Problems of Information Combining Alexei Ashikhmin  Information Combining: formulation of the problem  Mutual Information Function for the Single.
User Cooperation via Rateless Coding Mahyar Shirvanimoghaddam, Yonghui Li, and Branka Vucetic The University of Sydney, Australia IEEE GLOBECOM 2012 &
FAST DYNAMIC QUANTIZATION ALGORITHM FOR VECTOR MAP COMPRESSION Minjie Chen, Mantao Xu and Pasi Fränti University of Eastern Finland.
Andrew Liau, Shahram Yousefi, Senior Member, IEEE, and Il-Min Kim Senior Member, IEEE Binary Soliton-Like Rateless Coding for the Y-Network IEEE TRANSACTIONS.
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 Correction and Partial Information Rewriting for Flash Memories Yue Li joint work with Anxiao (Andrew) Jiang and Jehoshua Bruck.
Huffman coding Content 1 Encoding and decoding messages Fixed-length coding Variable-length coding 2 Huffman coding.
Coding and Algorithms for Memories Lecture 4 1.
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
DIGITAL COMMUNICATIONS Linear Block Codes
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
ON THE INTERMEDIATE SYMBOL RECOVERY RATE OF RATELESS CODES Ali Talari, and Nazanin Rahnavard IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 5, MAY 2012.
Name Iterative Source- and Channel Decoding Speaker: Inga Trusova Advisor: Joachim Hagenauer.
EKT 124 / 3 DIGITAL ELEKTRONIC 1
Carnegie Mellon University, *Seagate Technology
Unique! coding for three different motivation flash codes network coding Slepian-Wolf coding test, take-home test.
Sequential Soft Decision Decoding of Reed Solomon Codes Hari Palaiyanur Cornell University Prof. John Komo Clemson University 2003 SURE Program.
Coding and Algorithms for Memories Lecture 7 1.
OPTIMIZATION of GENERALIZED LT CODES for PROGRESSIVE IMAGE TRANSFER Suayb S. Arslan, Pamela C. Cosman and Laurence B. Milstein Department of Electrical.
Rate Distortion Theory. Introduction The description of an arbitrary real number requires an infinite number of bits, so a finite representation of a.
Eitan Yaakobi, Laura Grupp Steven Swanson, Paul H. Siegel, and Jack K. Wolf Flash Memory Summit, August 2011 University of California San Diego Error-Correcting.
Samuel Cheng, Shuang Wang and Lijuan Cui University of Oklahoma
Coding and Algorithms for Memories Lecture 8 1.
Cloud Computing Vs RAID Group 21 Fangfei Li John Soh Course: CSCI4707.
Advanced Science and Technology Letters Vol.35(Software 2013), pp Bi-Modal Flash Code using Index-less.
FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.
ベーテ自由エネルギーに対するCCCPアルゴリズムの拡張
Coding and Algorithms for Memories Lecture 2
Rakan Maddah1, Sangyeun2,1 Cho and Rami Melhem1
EKT 124 / 3 DIGITAL ELEKTRONIC 1
Reversible Data Hiding in Encrypted Images With Distributed Source Encoding Source: IEEE Transactions on Circuits and Systems for Video Technology Vol.26.
Coding and Algorithms for Memories Lecture 8
Coding for Noncoherent M-ary Modulation
Distributed Compression For Binary Symetric Channels
Theory of Information Lecture 13
Rich QR Codes With Three-Layer Information Using Hamming Code
Presentation transcript:

Yue Li joint work with Anxiao (Andrew) Jiang and Jehoshua Bruck

 Flash memories have excellent performance.  Cells are programmed by injecting electrons. ◦ Programming is fast. ◦ Erasure is expensive.  The growth of storage density brings reliability issues. ◦ Cells are more closely aligned ◦ More levels are programmed into each cell.  We propose a new coding scheme for correcting asymmetric errors in multi-level cells (MLCs).

Number of Pulses Voltage Reprogram Correct with ECC

Correct Overprogramming Errors Number of Pulses Voltage Reduce reprogramming Faster programming

Asymmetric errors appear… How to correct asymmetric errors ? ? How to minimize redundancy in ECC ?

Binary Codes Gray Codes Our Codes The number of bit errors equals the Hamming weight of the binary representation of a cell error. Cell error # of bit errors The number of bit errors depends only on the size of the cell error. The number of bit errors depends only on the size of the cell error. The number of bit errors depends on the size of the error and the cell level The number of bit errors depends on the size of the error and the cell level

 This work generalizes the code constructions in: [1] R. Ahlswede, H. Aydinian and L. Khachatrian, "Unidirectional error control codes and related combinational problems," in Proc. Eighth Int. Workshop Algebr. Combin. Coding Theory, pp. 6-9, [2] Y. Cassuto, M. Schwartz, V. Bohossian and J. Bruck, "Codes for asymmetric limited-magnitude errors with application to multilevel flash memories," in IEEE Trans. Information Theory, vol. 56, no. 4, pp , [3] E. Yaakobi, P. H. Siegel, A. Vardy, and J. K. Wolf, “On Codes that Correct Asymmetric Errors with Graded Magnitude Distribution,” in Proc. IEEE International Symposium on Information Theory, pp , 2011.

Example of Bit-fixing Coding

Bit-wise ECC

Assume asymmetric errors appear…

Binary Codes: there are 12 bit errors. Bit-fixing code: there are only 5 bit errors! It alternatively corrects bits and cell levels. Gray Codes: there are 7 bit errors

Decoding round 1: Correct bits corrected 3 bit errors A B C D

Decoding round 1: Correct cell levels (7+1) – 2^0 = 7 (3+1) – 2^0 = 3 (5+3) – 2^0 = 7 A B C D Updating rule: new level = current level – e * 2^i Value of error Bit index An error in the LSB = a magnitude-1 error on level 1 st bit = a magnitude-2 error 2 nd bit = a magnitude-4 error MSB = a magnitude-8 error An error in the LSB = a magnitude-1 error on level 1 st bit = a magnitude-2 error 2 nd bit = a magnitude-4 error MSB = a magnitude-8 error corrected 3 bit errors

Decoding round 1: Correct cell levels corrected 3 bit errors (7+1) – 2^0 = 7 (3+1) – 2^0 = 3 (5+3) – 2^0 = 7 A B C D Updating rule: new level = current level – e * 2^i Value of error Bit index

7 Initial Data Receive Errors Correct Bits Correct Cells (7+1) – 2^0 = 7 Corrected Data

Decoding round 2: Correct bits corrected bit errors A B C D

Decoding round 2: Correct cell levels corrected bit errors Updating rule: new level = current level – e * 2^i (2+2) – 2^1 = 2 (5+2) – 2^1 = 5 A BC D

 Let the total number of cell levels be. Assume the magnitudes of n errors are, where for ◦ The total number of errors need to be corrected is ◦ Let, the total number of iterations is Computes Hamming weight Computes binary representation

A downward error with magnitude e (less than 0) An upward error with magnitude (e mod q)

 Let the total number of cell levels be. Assume the magnitudes of errors are, where for. ◦ The total number of errors need to be corrected is ◦ Let, the total # of iterations is Updating rule: new level = (current level – e * 2^i) mod q

Suppose errors are bidirectional

Decoding round 1: Correct bits corrected 3 bit errors A B CD

Decoding round 1: Correct cell levels corrected 3 bit errors (7+1) – 2^0 = 7 (5+3) – 2^0 = 7 (11-1) – 2^0 = 9 Updating rule: new level = (current level – e * 2^i) mod q A B CD Total number of cell levels

Decoding round 2: Correct bits corrected bit errors A B CD

Decoding round 2: Correct cell levels corrected bit errors (5-2) – 2^1 = 1 (11-2) – 2^1 = 7 A B CD (5+2) – 2^0 = 5 Updating rule: new level = (current level – e * 2^i) mod q

Decoding round 3: Correct bits corrected bit errors A B CD

corrected bit errors Decoding round 3: Correct cell levels ((5-2-2) – 2^2) mod 16 = 13 (11-2-2) – 2^2 = 3 B CD A Updating rule: new level = (current level – e * 2^i) mod q

Decoding round 4: Correct bits corrected bit errors B CD A

Decoding round 4: Correct cell levels (( ) – 2^3) mod 16 = 5 (( ) – 2^3) mod 16 = 11 B CD A Updating rule: new level = (current level – e * 2^i) mod q

... … … … … Redundancy Allocation Separate Encoding Compute Cell Levels Program Cells

 Compare the rates with those of ◦ Binary codes ◦ Gray codes ◦ ALM-ECC with hard decoding  An error of any magnitude is seen as a Hamming error in the inner code. ◦ ALM-ECC with soft decoding  The error distribution is used for optimal decoding. (But the inner ECC is not binary if the maximum magnitude of errors is more than 1). Y. Cassuto, M. Schwartz, V. Bohossian and J. Bruck, "Codes for asymmetric limited-magnitude errors with application to multilevel flash memories," in IEEE Trans. Information Theory, vol. 56, no. 4, pp , 2010.

 Cell levels: 16  Maximum magnitude of asymmetric errors: 3  Error distribution mimics a Gaussian distribution. ◦ For, the probability of an error of size equals.

 Effective ◦ Good for correcting asymmetric errors. ◦ Efficient decoding and encoding methods.  Flexible ◦ Works with existing ECCs. ◦ Naturally handles bidirectional errors.  General ◦ Supports arbitrary error distribution. ◦ Supports arbitrary numeral systems. A. Jiang, Y. Li and J. Bruck, ”Bit-fixing codes for multi-level cells," in Proc. IEEE Information Theory Workshop (ITW), 2012.

Bit-fixing code: there are 10 bit errors. Gray Codes: there are 7 bit errors. Binary Codes: there are 12 bit errors

Physical states Binary Codes Gray Codes Relabeled BFC 1.7 bits/bidirectional cell error 0.93 bit/BCE 1.37 bits/BCE 2.50 bits/BCE Original BFC