Product code schemes for error correction in MLC NAND flash memories

Chengen Yang, Yunus Emre, Chaitali Chakrabarti

Research output: Contribution to journalArticlepeer-review

63 Scopus citations


Error control coding (ECC) is essential for correcting soft errors in Flash memories. In this paper we propose use of product code based schemes to support higher error correction capability. Specifically, we propose product codes which use Reed-Solomon (RS) codes along rows and Hamming codes along columns and have reduced hardware overhead. Simulation results show that product codes can achieve better performance compared to both Bose-Chaudhuri-Hocquenghem codes and plain RS codes with less area and low latency. We also propose a flexible product code based ECC scheme that migrates to a stronger ECC scheme when the numbers of errors due to increased program/erase cycles increases. While these schemes have slightly larger latency and require additional parity bit storage, they provide an easy mechanism to increase the lifetime of the Flash memory devices.

Original languageEnglish (US)
Article number6118315
Pages (from-to)2302-2314
Number of pages13
JournalIEEE Transactions on Very Large Scale Integration (VLSI) Systems
Issue number12
StatePublished - 2012


  • Error correction codes (ECCs)
  • flash memories
  • multi-level cell
  • product codes

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Electrical and Electronic Engineering


Dive into the research topics of 'Product code schemes for error correction in MLC NAND flash memories'. Together they form a unique fingerprint.

Cite this