Error Correction
BCH-t8 ECC IP Core
Shortened BCH codec — corrects 8 bit errors per 1 KB sector (14 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
Parametric specification
| Role | NAND flash / SSD controller ECC engine |
|---|---|
| Code | Shortened BCH over GF(2^m), m = 13…24 |
| Correction strength t | 8-bit — fixed (corrects 8 errors / 1 KB sector) |
| Parity (1 KB sector) | 14 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
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 DatasheetApplications
Request Quote
Request a Quote or Evaluation
Tell us about your project. Fields marked * are required. We respond within one business day.