Skip to main navigation Skip to search Skip to main content

Error-correcting codes for flash coding

  • Qin Huang*
  • , Shu Lin
  • , Khaled A.S. Abdel-Ghaffar
  • *Corresponding author for this work
  • University of California at Davis

Research output: Contribution to journalArticlepeer-review

Abstract

Flash memory is a nonvolatile computer storage device which consists of blocks of cells. While increasing the voltage level of a single cell is fast and simple, reducing the level of a cell requires the erasing of the entire block containing the cell. Since block-erasures are costly, flash coding schemes have been developed to maximize the number of writes before a block-erasure is needed. A novel coding scheme based on error-correcting codes is presented that allows the cell levels to increase as evenly as possible and as a result, increases the number of writes before a block-erasure. The scheme is based on the premise that cells whose levels are higher than others need not be increased. This introduces errors in the recorded data which can be corrected by an error-correcting code provided that the number of erroneous cells is within the error-correcting capability of the code. The scheme is also capable of combating noise, causing additional errors and erasures, in flash memories in order to enhance data reliability. For added flexibility, the scheme can be combined with other flash codes to yield concatenated schemes of high memory rates.

Original languageEnglish
Article number6006576
Pages (from-to)6097-6108
Number of pages12
JournalIEEE Transactions on Information Theory
Volume57
Issue number9
DOIs
StatePublished - Sep 2011
Externally publishedYes

Keywords

  • Block-erasure
  • WOM code
  • block-write
  • concatenated code
  • controllable error
  • error-correcting code
  • flash code
  • memory rate

Fingerprint

Dive into the research topics of 'Error-correcting codes for flash coding'. Together they form a unique fingerprint.

Cite this