New PAX_LDPC v1.0 released — FPGA-verified QC-LDPC for TLC/QLC SSD Learn more →
PaxQubit
← 64-bit BCH ECC IP Core
Best-seller RTL-complete

Error Correction

BCH-t16 ECC IP Core

Shortened BCH codec — corrects 16 bit errors per 1 KB sector (28 B parity).

Overview

The BCH ECC IP Core is not a single fixed block but a parametric RTL generator. Choose a correction strength t and a sector size, and a single toolset emits a complete, synthesizable BCH encoder and decoder — syndrome computation, a folded inversionless Berlekamp–Massey key-equation solver, Chien search and gated correction — tailored to your configuration.

A clean-page (syndrome-zero) bypass skips the decoder back-end for error-free pages to save power and latency, and every frame reports an uncorrectable-error (UE) flag. The byte-serial datapath keeps the interface field-independent, so the same controller hooks up regardless of the chosen field GF(2^m).

Block Diagram

64-bit BCH ECC IP Core block diagram

Parametric specification

Role NAND flash / SSD controller ECC engine
Code Shortened BCH over GF(2^m), m = 13…24
Correction strength t 16-bit — fixed (corrects 16 errors / 1 KB sector)
Parity (1 KB sector) 28 B
Sector / block size 512 B … 1 MB
Datapath 8-bit parallel, 1 byte/cycle streaming
Code rate configurable by t (≈0.82–0.99)
Decoder pipeline Syndrome → folded BM → Chien → gated XOR
Payload data + meta (0…24 B in-band), auto cap-guard
Interfaces REQ/DEN/RDY/EN handshake · APB status (UE flag)
Power features clean-page bypass, per-frame UE reporting
Verification ModelSim full-chain vs cycle-accurate Python reference + exhaustive matrix equivalence proof
Status RTL-complete, simulation-verified — FPGA/ASIC characterization in progress

Correction-strength selection guide

SKU Correction t (bits / 1 KB sector) Parity (1 KB) Typical use
BCH-t8 8 14 B Light ECC for SLC NAND / low-BER media
BCH-t16 16 28 B Mainstream SLC / MLC NAND
BCH-t32 32 56 B MLC / early TLC NAND
BCH-t48 48 84 B TLC NAND controllers
BCH-t64 Baseline 64 112 B High-endurance TLC — reference baseline
BCH-t96 96 168 B High-density TLC / QLC
BCH-t120 120 210 B QLC / high-retention storage
BCH-t128 128 224 B Max-strength QLC / enterprise endurance

Deliverables

  • Synthesizable Verilog RTL (encoder, decoder, GF multipliers, correction logic, PAX wrappers)
  • Parametric RTL generator with single-command build + self-verifying report
  • Cycle-accurate Python reference model and equivalence verifier
  • ModelSim full-chain testbench (clean / correct / UE / pad vectors)
  • Datasheet, generator manual and integration guide (under NDA)

Supported Devices

Intel/Altera (Quartus)AMD/Xilinx (Vivado)ASIC — process-portable RTL

Targets / verified platforms. ASIC process numbers are characterized at integration.

Differentiator: a single generator emits any t (8…156) and sector (512 B…1 MB) as drop-in RTL, with patent-based area optimizations (even-syndrome squaring, single-matrix common-subexpression sharing, folded inversionless BM).

Shares its 3-layer interface with the PAX_LDPC core, so controllers can upgrade BCH → LDPC with minimal integration change.

Documents

Full datasheet, integration guide and evaluation files are available under NDA. Request access below — we reply within one business day.

Request Datasheet

Applications

SSD & NAND flash controllers
Embedded storage / eMMC / UFS
Industrial & automotive memory
MRAM / ReRAM low-latency ECC

Request Quote

Request a Quote or Evaluation

Tell us about your project. Fields marked * are required. We respond within one business day.

We never share your details. Used only to respond to your request.

If the form does not work, email yimidi@daum.net directly.