The Performance of Polar Codes for Multi-level Flash Memories

Slides:



Advertisements
Similar presentations
Copyright © 2010 SpectraPlex – Presentation property of SpectraPlex, no reproduction without permission SpectraPlex High Performance Communications Technologies.
Advertisements

Thank you for your introduction.
Cyclic Code.
Error Control Code.
Lecture 3: Source Coding Theory TSBK01 Image Coding and Data Compression Jörgen Ahlberg Div. of Sensor Technology Swedish Defence Research Agency (FOI)
1 Channel Coding in IEEE802.16e Student: Po-Sheng Wu Advisor: David W. Lin.
Submission May, 2000 Doc: IEEE / 086 Steven Gray, Nokia Slide Brief Overview of Information Theory and Channel Coding Steven D. Gray 1.
UCLA Progress Report OCDMA Channel Coding Jun Shi Andres I. Vila Casado Miguel Griot Richard D. Wesel UCLA Electrical Engineering Department-Communication.
OCDMA Channel Coding Progress Report
Threshold Phenomena and Fountain Codes
Turbo Codes Azmat Ali Pasha.
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.
Error detection/correction FOUR WEEK PROJECT 1 ITEMS TO BE DISCUSSED 1.0 OVERVIEW OF CODING STRENGTH (3MINS) Weight/distance of binary vectors Error detection.
Tracey Ho Sidharth Jaggi Tsinghua University Hongyi Yao California Institute of Technology Theodoros Dikaliotis California Institute of Technology Chinese.
Coding for Flash Memories
Generalized Communication System: Error Control Coding Occurs In Right Column. 6.
Yu Cai1 Gulay Yalcin2 Onur Mutlu1 Erich F. Haratsch3
Channel Polarization and Polar Codes
3/20/2013 Threshold Voltage Distribution in MLC NAND Flash: Characterization, Analysis, and Modeling Yu Cai 1, Erich F. Haratsch 2, Onur Mutlu 1, and Ken.
Yu Cai1, Erich F. Haratsch2 , Onur Mutlu1 and Ken Mai1
林茂昭 教授 台大電機系 個人專長 錯誤更正碼 數位通訊
Program Interference in MLC NAND Flash Memory: Characterization, Modeling, and Mitigation Yu Cai 1 Onur Mutlu 1 Erich F. Haratsch 2 Ken Mai 1 1 Carnegie.
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
1 INF244 Textbook: Lin and Costello Lectures (Tu+Th ) covering roughly Chapter 1;Chapters 9-19? Weekly exercises: For your convenience Mandatory.
Channel Coding Part 1: Block Coding
Part.7.1 Copyright 2007 Koren & Krishna, Morgan-Kaufman FAULT TOLERANT SYSTEMS Part 7 - Coding.
2010 IEEE ICECS - Athens, Greece, December1 Using Flash memories as SIMO channels for extending the lifetime of Solid-State Drives Maria Varsamou.
Extracting Robust Keys from NAND Flash Physical Unclonable Functions Shijie Jia, Luning Xia, Zhan Wang, Jingqiang Lin, Guozhu Zhang and Yafei Ji Institute.
Tinoosh Mohsenin and Bevan M. Baas VLSI Computation Lab, ECE Department University of California, Davis Split-Row: A Reduced Complexity, High Throughput.
Extremal Problems of Information Combining Alexei Ashikhmin  Information Combining: formulation of the problem  Mutual Information Function for the Single.
Threshold Phenomena and Fountain Codes Amin Shokrollahi EPFL Joint work with M. Luby, R. Karp, O. Etesami.
Embedded System Lab. Daeyeon Son Neighbor-Cell Assisted Error Correction for MLC NAND Flash Memories Yu Cai 1, Gulay Yalcin 2, Onur Mutlu 1, Erich F. Haratsch.
Rate-distortion Optimized Mode Selection Based on Multi-channel Realizations Markus Gärtner Davide Bertozzi Classroom Presentation 13 th March 2001.
Error Correction and Partial Information Rewriting for Flash Memories Yue Li joint work with Anxiao (Andrew) Jiang and Jehoshua Bruck.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
Scrutinizing bit-and symbol-errors of IEEE Communication in Industrial Environments Filip Barac, Student Member, IEEE, Mikael Gidlund, Member,
Towards minimizing read time for NAND Flash Towards minimizing read time for NAND Flash Globecom December 5 th, 2012 Borja Peleato, Rajiv Agarwal, John.
Channel Coding Binit Mohanty Ketan Rajawat. Recap…  Information is transmitted through channels (eg. Wires, optical fibres and even air)  Channels are.
Real-Time Turbo Decoder Nasir Ahmed Mani Vaya Elec 434 Rice University.
Part 1: Overview of Low Density Parity Check(LDPC) codes.
Low Density Parity Check codes
Neighbor-Cell Assisted Error Correction for MLC NAND Flash Memories Yu Cai 1 Gulay Yalcin 2 Onur Mutlu 1 Erich F. Haratsch 3 Adrian Cristal 2 Osman S.
Carnegie Mellon University, *Seagate Technology
Polar Codes for 5G Bin Li, Senior Technical Expert Huawei Technologies
Raptor Codes Amin Shokrollahi EPFL. BEC(p 1 ) BEC(p 2 ) BEC(p 3 ) BEC(p 4 ) BEC(p 5 ) BEC(p 6 ) Communication on Multiple Unknown Channels.
Yue Li joint work with Anxiao (Andrew) Jiang and Jehoshua Bruck.
Coding and Algorithms for Memories Lecture 7 1.
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.
Coding No. 1  Seattle Pacific University Digital Coding Kevin Bolding Electrical Engineering Seattle Pacific University.
Lecture 20 CSE 331 July 30, Longest path problem Given G, does there exist a simple path of length n-1 ?
Simulation of Finite Geometry LDPC code on the Packet Erasure channel Wu Yuchun July 2007 Huawei Hisi Company Ltd.
Carnegie Mellon University, *Seagate Technology
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.
Yixin Luo, Saugata Ghose, Yu Cai, Erich F. Haratsch, Onur Mutlu Carnegie Mellon University, Seagate Technology Online Flash Channel Modeling and Its Applications.
The Viterbi Decoding Algorithm
Neighbor-Cell Assisted Error Correction for MLC NAND Flash Memories
On-Chip ECC for Low-Power SRAM Design
Aya Fukami, Saugata Ghose, Yixin Luo, Yu Cai, Onur Mutlu
UCLA Progress Report OCDMA Channel Coding
Rate 7/8 (1344,1176) LDPC code Date: Authors:
General Strong Polarization
Progress report of LDPC codes
Interleaver-Division Multiple Access on the OR Channel
2018/9/16 Distributed Source Coding Using Syndromes (DISCUS): Design and Construction S.Sandeep Pradhan, Kannan Ramchandran IEEE Transactions on Information.
SATA 6Gb/s SSD Controller Solution Supporting 3D TLC NAND
January 2004 Turbo Codes for IEEE n
Chapter 6.
Information-Theoretic Study of Optical Multiple Access
IV. Convolutional Codes
Presentation transcript:

The Performance of Polar Codes for Multi-level Flash Memories Yue Li joint work with Hakim Alhussien, Erich F. Haratsch, and Anxiao (Andrew) Jiang March 10th, 2014

NAND Flash Memory The circuit board of a SSD … Blocks 4 pages/WL Let us first look at flash memories. A flash memory chip, for instance, like the one used in the circuit board of a solid state drive, is consisted of many blocks. * Each blocks consists of many pages * In the figure at the bottom, each row is a page. So a page then has several transistors* 1 block has 128 pages. One page has 4 KB. So 1 block = 512 KB. 1 plane may have 1024 blocks. 4 pages/WL

Multi-Level Cells Four different kinds of pages: Lower even Lower odd 10 00 01 11 2 bits/cell Four different kinds of pages: Lower even Lower odd Upper even Upper odd In the early stage of NVMs, single level cells are widely used. A single level cell has two levels, and thus can store 1 bit data. Data are read out by comparing with predetermined thresholds. For flash memories, we measure the cell voltage and compared with threshold voltage. For PCM, we measure the resistance. To further increase storage density, multi-level cells are used. A multi-level cell has more than 2 levels. And thus can store more than 1 bit data. For instance, the one being shown on the right is a MLC with 4 levels, storing 2 bits.* Unfortunately, trade-off always exists. Compared to SLC, MLC will be less reliable. In a recent study, it was shown that the reliability decreases exponentially with number of cell levels for NAND flash. This is simply because when more levels are programmed into a cell, the gap between two adjacent thresholds are much smaller, therefore, it is easier for noise to change a cell change from a level to an adjacent level for MLC.

Why Polar Codes? Desire for optimal ECCs. Excellent properties Capacity-achieving Theoretical guarantee of error floor performance Efficient encoding and decoding algorithms

Encoding G Frozen bits Information Bits Input User Bits Polar Codeword Flash channels Frozen Channels Frozen bits Noisy Codeword G Information Bits Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, 2009.

Successive Cancellation Decoding Frozen Channels Estimated user bits Noisy Codeword Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, 2009.

Successive Cancellation Decoding Frozen Channels Estimated user bits Noisy Codeword Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, 2009.

Successive Cancellation Decoding Frozen Channels Estimated user bits Noisy Codeword Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, 2009.

Is polar code suitable for flash memories? 1 Make polar code work in flash memory 2 Performance evaluations 3 Adaptive decoding

Code Length Adaptation Polar codes have length N = 2m The code lengths in flash memory need to be flexible.

Shortening M C Noisy C K – K’ K’ Est. M N – K’ K – K’ K’ N – K’

(N, K, K’)-Shortened Polar Code (x1, x2, …, xN-k’+1, …, xN)=(u1, u2, …, uN-k’+1, …, uN) G (x1, x2, …, 0, …, 0)=(u1, u2, …, 0, …, 0) G ç ç 1 … (u1, u2, …, uN-k’+1, …, uN) K’ K’

Evaluation with Random Data Pseudo-random Data (0, 1, 1, 0, …, 1) (1, 0, 1, 0, …, 1) … Cycling / Retention (0, 0, 1, 1, …, 1) (1, 0, 0, 0, …, 1) … Not generated by polar encoder

Treating Random Data as Codewords (u1, u2, …, uN) = (x1, x2, …, xN) G-1 Invertible Input Channel parameters Output Construct codes Frozen Bits

Hard and Soft Sensing P( V | bit = 0 ) LLR = log P( V | bit = 1 ) Reference threshold voltages 11 01 00 10 Cell Voltage LLR = log ___________________ P( V | bit = 1 ) P( V | bit = 0 )

Performance Evaluation 2 Performance Evaluation

Experimental Setup Construct one polar code for each kind of page. List successive cancellation decoding [Tal and Vardy 2011] List size = 32 with CRC Block length 7943 bits shortened from 8192 bits Code rates 0.93, 0.94, 0.95 Flash data obtained by characterizing 2X-nm MLC flash chips 6-month retention

Hard and Soft Decoding Hard Decoding Soft Decoding

Different Block Lengths

Asymmetric and Symmetric Errors

3 Adaptive Decoding

Code Rate Switching Is repetitive code construction needed at rate-switching PECs? BER R2 pec3 R2 pec2 R1 pec1 Correction Capability PEC

Why Code Reconstruction is Not Needed?

With and Without Code Reconstruction Upper odd page Average

Summary On the flash data Polar codes are comparable to LDPC codes using hard and soft sensing Larger block lengths do not improve decoding performance a lot More symmetric, better decoding performance Repetitive code construction is not necessary for adaptive decoding

Future Directions Thank You Error floor performance Comparing with LDPC decoder with the same hardware latency Efficient hardware implementations Thank You