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
BELLINI, SANDRO;FERRARI, MARCO PIETRO;TOMASONI, ALESSANDRO
2016-01-01
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.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.