Error Correction Code Algorithm and Implementation Verification Using Symbolic Representations

Aarti Gupta, Roope Kaivola, Mihir Parang Mehta, Vaibhav Singh

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Error-correction codes (ECCs) are becoming a de rigueur feature in modern memory subsystems, as it becomes increasingly important to safeguard data against random bit corruption. ECC architecture constantly evolves towards designs that leverage complex mathematics to minimize check-bits and maximize the number of data bits protected, as a result of which subtle bugs may be introduced into the design. These algorithms traverse a vast data space and are subject to corner case bugs which are hard to catch through constraint-based randomized testing. This necessitates formal verification of ECC designs to assure correctness of the algorithm and its hardware implementation. In this paper we present a technique of representing various ECC algorithm outputs as Boolean equations in the form of Boolean Decision Diagrams (BDDs) to facilitate reasoning about the algorithms. We also discuss the counting and generation of examples from the BDD representations and how it aids in tuning ECC algorithms for performance and security. Additionally, we display the use of Symbolic Trajectory Evaluation (STE) to prove the correctness of register transfer level (RTL) implementations of these algorithms. We discuss the scaling up of this verification methodology, using different complexity and convergence techniques. We apply these techniques to a number of complex ECC designs at Intel and showcase their efficacy on several categories of bugs.

Original languageEnglish (US)
Title of host publicationProceedings of the 22nd Conference on Formal Methods in Computer-Aided Design, FMCAD 2022
EditorsAlberto Griggio, Neha Rungta
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages151-159
Number of pages9
ISBN (Electronic)9783854480532
DOIs
StatePublished - 2022
Externally publishedYes
Event22nd International Conference on Formal Methods in Computer-Aided Design, FMCAD 2022 - Trento, Italy
Duration: Oct 17 2022Oct 21 2022

Publication series

NameProceedings of the 22nd Conference on Formal Methods in Computer-Aided Design, FMCAD 2022

Conference

Conference22nd International Conference on Formal Methods in Computer-Aided Design, FMCAD 2022
Country/TerritoryItaly
CityTrento
Period10/17/2210/21/22

All Science Journal Classification (ASJC) codes

  • Artificial Intelligence
  • Computer Graphics and Computer-Aided Design
  • Safety, Risk, Reliability and Quality
  • Modeling and Simulation

Keywords

  • binary decision diagrams
  • error correction codes
  • formal verification
  • symbolic simulation

Fingerprint

Dive into the research topics of 'Error Correction Code Algorithm and Implementation Verification Using Symbolic Representations'. Together they form a unique fingerprint.

Cite this