High performance Storage Class Memories could benefit from a fast decoding Error Correcting Code (ECC), able to correct a few errors in just a few nanoseconds. The class of BCH codes provides excellent candidates to play this role. The low latency requirement prevents from adopting iterative or sequential processes in the encoding and decoding phases-as traditionally done for storage application based on Flash NAND technology. Therefore we propose an architecture for fast decoding of double-and triple-error correcting codes. In our architecture any time-consuming iterative computation is eliminated, and the most complex evaluations are isolated and carried in parallel with the other terms, to avoid bottlenecks in the decoder. In particular the Error Locator Polynomial is computed by a combinatorial logic, and its roots are searched by testing all the bits simultaneously. Here we describe a gate level design of these architectures. We also give an in-depth analysis of hardware-oriented implementations of finite field operations, and of bases for element representation.

Fast Decoding ECC for future memories

Ferrari M;Tomasoni A
2016

Abstract

High performance Storage Class Memories could benefit from a fast decoding Error Correcting Code (ECC), able to correct a few errors in just a few nanoseconds. The class of BCH codes provides excellent candidates to play this role. The low latency requirement prevents from adopting iterative or sequential processes in the encoding and decoding phases-as traditionally done for storage application based on Flash NAND technology. Therefore we propose an architecture for fast decoding of double-and triple-error correcting codes. In our architecture any time-consuming iterative computation is eliminated, and the most complex evaluations are isolated and carried in parallel with the other terms, to avoid bottlenecks in the decoder. In particular the Error Locator Polynomial is computed by a combinatorial logic, and its roots are searched by testing all the bits simultaneously. Here we describe a gate level design of these architectures. We also give an in-depth analysis of hardware-oriented implementations of finite field operations, and of bases for element representation.
2016
Istituto di Elettronica e di Ingegneria dell'Informazione e delle Telecomunicazioni - IEIIT
DRAM
nonvolatile memory
phase change memory
error correction codes
Galois fields
block codes
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/325172
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 11
  • ???jsp.display-item.citation.isi??? 7
social impact