Error Correction and Partial Information Rewriting for Flash Memories Yue Li joint work with Anxiao (Andrew) Jiang and Jehoshua Bruck.

Slides:



Advertisements
Similar presentations
Noise-Predictive Turbo Equalization for Partial Response Channels Sharon Aviran, Paul H. Siegel and Jack K. Wolf Department of Electrical and Computer.
Advertisements

Introduction to Flash Memories And Flash Translation Layer
Information theory Multi-user information theory A.J. Han Vinck Essen, 2004.
CSCE430/830 Computer Architecture
Coding and Algorithms for Memories Lecture 12 1.
1 Lecture 6: Chipkill, PCM Topics: error correction, PCM basics, PCM writes and errors.
The Performance of Polar Codes for Multi-level Flash Memories
Network Coding in Peer-to-Peer Networks Presented by Chu Chun Ngai
Nak Hee Seong Sungkap Yeo Hsien-Hsin S. Lee
Submission May, 2000 Doc: IEEE / 086 Steven Gray, Nokia Slide Brief Overview of Information Theory and Channel Coding Steven D. Gray 1.
Some Results on Codes for Flash Memory Michael Mitzenmacher Includes work with Hilary Finucane, Zhenming Liu, Flavio Chierichetti.
Designing Floating Codes for Expected Performance Hilary Finucane Zhenming Liu Michael Mitzenmacher.
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.
Coding for the Correction of Synchronization Errors ASJ Helberg CUHK Oct 2010.
Efficient Data Dissemination and Survivable Data Storage Lihao Xu
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.
1 Scalable Image Transmission Using UEP Optimized LDPC Codes Charly Poulliat, Inbar Fijalkow, David Declercq International Symposium on Image/Video Communications.
Tracey Ho Sidharth Jaggi Tsinghua University Hongyi Yao California Institute of Technology Theodoros Dikaliotis California Institute of Technology Chinese.
Coding for Flash Memories
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
1 Lecture 14: DRAM, PCM Today: DRAM scheduling, reliability, PCM Class projects.
Due to the economic downturn, Microsoft Research has eliminated all funding for title slides. We sincerely apologize for any impact these austerity measures.
林茂昭 教授 台大電機系 個人專長 錯誤更正碼 數位通訊
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.
Sequential Soft Decision Decoding of Reed Solomon Codes Hari Palaiyanur Cornell University Prof. John Komo Clemson University 2003 SURE Program.
Computing in the RAIN: A Reliable Array of Independent Nodes Group A3 Ka Hou Wong Jahanzeb Faizan Jonathan Sippel.
2010 IEEE ICECS - Athens, Greece, December1 Using Flash memories as SIMO channels for extending the lifetime of Solid-State Drives Maria Varsamou.
Institute for Experimental Mathematics Ellernstrasse Essen - Germany On STORAGE Systems A.J. Han Vinck January 2011.
Institute for Experimental Mathematics Ellernstrasse Essen - Germany On STORAGE Systems A.J. Han Vinck June 2004.
Coding and Algorithms for Memories Lecture 8 1.
Shifted Codes Sachin Agarwal Deutsch Telekom A.G., Laboratories Ernst-Reuter-Platz Berlin Germany Joint work with Andrew Hagedorn and Ari Trachtenberg.
User Cooperation via Rateless Coding Mahyar Shirvanimoghaddam, Yonghui Li, and Branka Vucetic The University of Sydney, Australia IEEE GLOBECOM 2012 &
SafetyNet Improving the Availability of Shared Memory Multiprocessors with Global Checkpoint/Recovery Daniel J. Sorin, Milo M. K. Martin, Mark D. Hill,
Distributed computing using Projective Geometry: Decoding of Error correcting codes Nachiket Gajare, Hrishikesh Sharma and Prof. Sachin Patkar IIT Bombay.
Project 1: DRAM timing violation due to PV Due to PV, transistor and capacitor may have variations in their dimensions, causing charging time of a cell.
CprE 545 project proposal Long.  Introduction  Random linear code  LT-code  Application  Future work.
Array BP-XOR Codes for Reliable Cloud Storage Systems Yongge Wang UNC Charlotte, USA IEEE ISIT(International Symposium on Information Theory)
Correction of Adversarial Errors in Networks Sidharth Jaggi Michael Langberg Tracey Ho Michelle Effros Submitted to ISIT 2005.
Coding and Algorithms for Memories Lecture 5 1.
1 Amit Berman Reliable Architecture for Flash Memory Joint work with Uri C. Weiser, Acknowledgement: thanks to Idit Keidar Department of Electrical Engineering,
Coding and Algorithms for Memories Lecture 4 1.
Some Computation Problems in Coding Theory
Unique! coding for three different motivation flash codes network coding Slepian-Wolf coding test, take-home test.
Reliable Deniable Communication: Hiding Messages in Noise The Chinese University of Hong Kong The Institute of Network Coding Pak Hou Che Mayank Bakshi.
Coding and Algorithms for Memories Lecture 13 1.
Coding and Algorithms for Memories Lecture 2 + 4
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.
Yue Li joint work with Anxiao (Andrew) Jiang and Jehoshua Bruck.
Reliable Deniable Communication: Hiding Messages from Noise Pak Hou Che Joint Work with Sidharth Jaggi, Mayank Bakshi and Madhi Jafari Siavoshani Institute.
Channel Coding Theorem (The most famous in IT) Channel Capacity; Problem: finding the maximum number of distinguishable signals for n uses of a communication.
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 and Algorithms for Memories Lecture 8 1.
Coding and Algorithms for Memories Lecture 6 1.
1 Code design: Computer search Low rate: Represent code by its generator matrix Find one representative for each equivalence class of codes Permutation.
II. Linear Block Codes. © Tallal Elshabrawy 2 Digital Communication Systems Source of Information User of Information Source Encoder Channel Encoder Modulator.
Advanced Science and Technology Letters Vol.35(Software 2013), pp Bi-Modal Flash Code using Index-less.
Coding and Algorithms for Memories Lecture 2
Coding and Algorithms for Memories Lecture 5
RAID Non-Redundant (RAID Level 0) has the lowest cost of any RAID
Coding and Algorithms for Memories Lecture 4
Coding and Algorithms for Memories Lecture 5
Coding and Algorithms for Memories Lecture 8
2018/9/16 Distributed Source Coding Using Syndromes (DISCUS): Design and Construction S.Sandeep Pradhan, Kannan Ramchandran IEEE Transactions on Information.
Lecture 6: Reliability, PCM
Use ECP, not ECC, for hard failures in resistive memories
Presentation transcript:

Error Correction and Partial Information Rewriting for Flash Memories Yue Li joint work with Anxiao (Andrew) Jiang and Jehoshua Bruck

Block Erasure is Harmful Decreasing cell level triggers block erasure – Erasure degrades cell quality 2 E. Cohen, “The Nibbles and Bits of SSD Data Integrity”, Flash Memory Summit, 2013.

Solutions based on Coding 3 Error Correcting Codes Trajectory Codes[8] Codes for Rewriting Floating Codes [2] Buffer Codes [3] Rank Modulation [4] WOM [5, 6, 7] Codes for Rewriting Floating Codes [2] Buffer Codes [3] Rank Modulation [4] WOM [5, 6, 7] [8] A. Jiang, M. Langberg, M. Schwartz, and J. Bruck, "Trajectory Codes for Flash Memory,” IEEE Transactions on Information Theory, vol. 59, no. 7, pp , July [2] A. Jiang, V. Bohossian, and J. Bruck, "Floating Codes for Joint Information Storage in Write Asymmetric Memories,” ISIT, [3] V. Bohossian, A. Jiang, and J. Bruck, "Buffer Coding for Asymmetric Multi-Level Memory,” ISIT [4] A. Jiang, R. Mateescu, M. Schwartz, and J. Bruck, "Rank Modulation for Flash Memories,” IEEE Transactions on Information Theory, [5] R. L. Rivest and A. Shamir, “How to reuse a ‘Write-Once’ memory,” Information and Control, vol. 55, pp. 1–19, [6] E. Yaakobi, S. Kayser, P. H. Siegel, A. Vardy, J. K. Wolf, "Codes for Write-Once Memories,” IEEE Transactions on Information Theory, [7] D. Burshtein, and A. Strugatski, "Polar Write Once Memory Codes,” IEEE Transactions on Information Theory, [2] A. Jiang, V. Bohossian, and J. Bruck, "Floating Codes for Joint Information Storage in Write Asymmetric Memories,” ISIT, [3] V. Bohossian, A. Jiang, and J. Bruck, "Buffer Coding for Asymmetric Multi-Level Memory,” ISIT [4] A. Jiang, R. Mateescu, M. Schwartz, and J. Bruck, "Rank Modulation for Flash Memories,” IEEE Transactions on Information Theory, [5] R. L. Rivest and A. Shamir, “How to reuse a ‘Write-Once’ memory,” Information and Control, vol. 55, pp. 1–19, [6] E. Yaakobi, S. Kayser, P. H. Siegel, A. Vardy, J. K. Wolf, "Codes for Write-Once Memories,” IEEE Transactions on Information Theory, [7] D. Burshtein, and A. Strugatski, "Polar Write Once Memory Codes,” IEEE Transactions on Information Theory, 2012.

Write-Once Memory Codes R. L. Rivest and A. Shamir, “How to reuse a ‘Write-Once’ memory,” Information and Control, vol. 55, pp. 1–19, Data Codeword (1 st write)Codeword (2 nd write) Write 2 bits twice using 3 cells Example: store 10 then 01

General Rewriting Graph Directed, Strongly Connected Graph G(V, E) Data State Allowed Transition

A message M 0 is updated K-1 times following (M 1, M 2, …, M K-1 ) Sum Rate = K log 2 |V| / N (bits/cell) Total number of cells Total number of message bits 6 Example: for R-S WOM code, K = 2, |V| = 4, N = 3. Sum Rate = 4 / 3 = 1.33 bits / cell > 1 bit/cell Example: for R-S WOM code, K = 2, |V| = 4, N = 3. Sum Rate = 4 / 3 = 1.33 bits / cell > 1 bit/cell Performance Measure

General Rewriting Graph Directed, Strongly Connected Graph G(V, E) Data State Allowed Transition Partial Maximum outdegree << |V|

Motivation of Partial Rewriting Server A A B B C C Remote File Synchronization Update Synchronization Dropbox or Mobile App Server Dropbox or Mobile App Server 8

BSC(p) Trajectory Codes 0 a0 a0 b a5 b ab 5 5 a … 9 Store Update to [1] A. Jiang, M. Langberg, M. Schwartz, and J. Bruck, "Trajectory Codes for Flash Memory,” IEEE Transactions on Information Theory, vol. 59, no. 7, pp , July Register A register is a group of cells Register A register is a group of cells log 2 |V| bits log 2 |D| < log 2 |V| !! BSC(p) for Noisy Cells A register goes through a BSC(p) between two updates. ?

Construction 1 (Example: C = 3, t = 2, K = 6) ab 5 5 a … 10 Write 0 Corrects BSC(p *3 ) Corrects BSC(p *2 ) Corrects BSC(p) 0 Update to 1 a BSC(p) 0 Update to 2 a b BSC(p) 0 Update to 5 a b BSC(p) 5

Bounds on Achievable Code Rates 11 Sum Rate = K log 2 |V| / N (bits/cell) N = N 0 + N 1 + … + N c-2 + N c-1 N 0 = log 2 |V| / min j R 0,j N i = log 2 D / min j R i,j if i > 0 Upperbounds and lowerbounds of R 0,j and R 0,j can be derived with Polar ECC-WOM [2] [2] A. Jiang, Y. Li, E. En Gad, M. Langberg, and J. Bruck, “Joint Rewriting and Error Correction for Write-Once Memories,” ISIT, Instant rate of the j-th write of the i-th ECC-WOM code

Performance of Construction 1 Compare the bounds of three cases – Max degree: D is larger – D is smaller 2 13 – Basic ECC-WOM using only 1 register Parameters – Message length: log 2 |V| = 1KByte (2 13 bits) – Number of registers: C = 8 – Channel error rate p =

Performance of Construction 1 13

Construction 2 (Example: C = 3, t = 2, K = 6) 0 S0S ab 5 5 a … Write 0 Corrects BSC(p) BSC(p) a, S 0 + S’ S’ 0 BSC(p) a, S 0 + S’ S’’ 0 S1S1 S’ 1 b, S’ 0 + S’’ 0, S 1 + S’ 1 BSC(p) a, S 0 + S’ 0 0 Read 2 S’’’ 0 S’’ 1 b, S’ 0 + S’’ 0, S 1 + S’ 1 S2S2 BSC(p) S’ 2 Recover S 1 by decoding S’ 1 = S 1 + BSC(p)Recover S 0 by decoding (S’’ 0 + (S 0 + S’ 0 )) = S 0 + BSC(p) Recover S 0 by decoding S’ 0 = S 0 + BSC(p) Recover S 2 by decoding S’ 2 = S 2 + BSC(p)Recover S 1 by decoding (S’’ 1 + (S 1 + S’ 1 ))= S 1 + BSC(p) Recover S 0 by decoding (S’’’ 0 + (S 0 + S’ 0 ) + (S’ 0 + S’’ 0 ))= S 0 + BSC(p)

Performance of Construction 2 15

Generalizations When t = 1and M 0 = M 1 = … = M K-1 – Erasure-free memory scrubbing [3] – Error correction pointer [4] 16 Information Storage Area Error Logging Area [3] Y. Li, A. Jiang, and J. Bruck, ”Multiphase Scrubbing for Phase-Change Memories,” Technical Report, [4] S. Schechter, G. Loh, K. Straus, and D. Burger, “Use ECP, not ECC, for hard failures in resistive memories.” In Proceedings of the 37th annual international symposium on Computer architecture (ISCA '10), [3] Y. Li, A. Jiang, and J. Bruck, ”Multiphase Scrubbing for Phase-Change Memories,” Technical Report, [4] S. Schechter, G. Loh, K. Straus, and D. Burger, “Use ECP, not ECC, for hard failures in resistive memories.” In Proceedings of the 37th annual international symposium on Computer architecture (ISCA '10), 2010.

Generalizations (2) Error correction support for all kinds of rewriting codes! 17 WOM [5,6,7] Floating Codes [2] Buffer Codes [3]

Summary Error correction trajectory codes are – Efficient when D << |V| – General Existing practical memory scrubbing/ECP schemes Error correction for various rewriting codes – Extensible q-ary ? Asymmetric noise channel ? Capacity ? 18