Coding Techniques for Error Correction and Rewriting in Flash Memories
Abstract
Flash memories have become the main type of non-volatile memories. They
are widely used in mobile, embedded and mass-storage devices. Flash memories store
data in floating-gate cells, where the amount of charge stored in cells – called cell levels
– is used to represent data. To reduce the level of any cell, a whole cell block (about
106 cells) must be erased together and then reprogrammed. This operation, called
block erasure, is very costly and brings significant challenges to cell programming and
rewriting of data. To address these challenges, rank modulation and rewriting codes
have been proposed for reliably storing and modifying data. However, for these new
schemes, many problems still remain open.
In this work, we study error-correcting rank-modulation codes and rewriting
codes for flash memories. For the rank modulation scheme, we study a family of one-
error-correcting codes, and present efficient encoding and decoding algorithms. For
rewriting, we study a family of linear write-once memory (WOM) codes, and present
an effective algorithm for rewriting using the codes. We analyze the performance of
our solutions for both schemes.
Subject
Flash MemoriesRank Modulation
Error Correction
Kendall Tau distance
Write Once Memory
Rewriting Codes
WOM code
Generalized WOM code
Citation
Mohammed, Shoeb Ahmed (2010). Coding Techniques for Error Correction and Rewriting in Flash Memories. Master's thesis, Texas A&M University. Available electronically from https : / /hdl .handle .net /1969 .1 /ETD -TAMU -2010 -08 -8476.