An ECC-Assisted Postpackage Repair Methodology in Main Memory Systems

Full citation: Kim, D.-H., and Milor, L. (2017). “An ECC-Assisted Postpackage Repair Methodology in Main Memory Systems.” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 25(7), 2045–2058. DOI: 10.1109/TVLSI.2017.2671790.

Plain-Language Overview

Dynamic random access memory (DRAM) does not stop developing faults after it leaves the factory. During years of operation, transistor and interconnect wearout can create permanent errors. Conventional ECC memory can correct many isolated errors, but simply correcting a recurring hard error does not remove the defective memory cell. If another bit in the same protected word later fails, a standard single-error-correcting, double-error-detecting code may no longer be able to recover the data.

This paper proposes a way to turn ECC from a passive correction mechanism into the trigger for permanent in-field repair.

The key idea is:

  1. Use existing ECC hardware to detect memory errors during normal operation.
  2. Track suspicious addresses to determine whether an error is transient or repeatedly occurring.
  3. Identify the precise hard-fault location using short read/write test sequences.
  4. Permanently remap the faulty location to a spare DRAM row or column.
  5. Reuse redundant memory resources left over after factory repair whenever possible.

The resulting method is called ECC-assisted postpackage repair (PPR).

Unlike many earlier repair schemes, it does not require a full built-in self-test or built-in self-repair engine in the DRAM. Instead, it relies mainly on the existing memory controller, SECDED ECC, a small fail-address table, programmable anti-fuses, and minor DRAM circuitry.

Using a simulated 2-GB DDR3 ECC DIMM, the authors show that combining ECC with PPR can extend memory lifetime substantially while imposing very small storage and chip-area overhead.

What Problem the Paper Addresses

DRAM manufacturers already use spare rows and columns to repair manufacturing defects before products are shipped. These repairs improve yield because defective memory locations can be mapped out.

The problem is that new permanent faults continue to appear during field operation.

Several mechanisms can create such aging faults, including:

  • Bias temperature instability
  • Hot-carrier injection
  • Gate time-dependent dielectric breakdown
  • Middle-of-line dielectric breakdown
  • Back-end-of-line dielectric breakdown
  • Electromigration
  • Stress-induced voiding

Some progressively degrade transistor performance until a cell behaves like a stuck-at fault. Others create short or open circuits in transistors or interconnects.

The diagram in Figure 2 on page 3 illustrates several possible DRAM wearout locations, including short faults from dielectric breakdown and open faults associated with electromigration or stress-induced voiding.

Conventional SECDED ECC helps but does not completely solve this problem.

SECDED can correct one bit error in a protected word. However, if that error comes from a permanent failing cell, the same correction may have to be performed repeatedly. More importantly, the faulty bit remains present. A second failing bit in the same word can then create an uncorrectable error.

Field studies cited by the authors indicate that DRAM errors are often correlated in time and space: a correctable error can be followed by further errors at the same address or in the same row or column.

The paper therefore treats a recurring correctable error as an early warning signal that should be repaired rather than indefinitely masked by ECC.

Questions the Paper Answers

The study addresses the following questions:

  • How can aging-related DRAM errors be repaired after a device has already been packaged and deployed?
  • Can existing ECC hardware be used to initiate repair without implementing complete BIST/BISR circuitry?
  • How can a system distinguish transient soft errors from permanent hard errors?
  • How can the physical DRAM chip and bit location of an error be identified when ECC normally operates at word granularity?
  • How can repair be performed without substantially interrupting normal memory operation?
  • Can spare rows and columns left unused after factory repair be reused for field-aging faults?
  • Are conventional spare columns too coarse for predominantly single-bit aging failures?
  • Does segmented column repair improve the efficiency of PPR?
  • How much lifetime improvement can ECC-assisted repair provide?
  • How does the proposed method compare with simply adopting a stronger ECC?
  • What area and storage overhead are required?

Key Technical Terms and Definitions

Dynamic Random Access Memory

DRAM stores each bit primarily as electrical charge in a capacitor controlled by an access transistor.

Because the stored charge leaks, DRAM cells must be refreshed periodically.

Error-Correcting Code

An error-correcting code (ECC) adds redundant check bits so that memory errors can be detected or corrected.

The paper assumes a conventional ECC DIMM using SECDED.

SECDED

Single-error correction, double-error detection can:

  • Correct one erroneous bit in a protected word.
  • Detect two erroneous bits.
  • Not normally correct two erroneous bits.

This distinction is central to the paper. A permanent single-bit fault consumes the word’s correction capability, leaving the system more vulnerable to another error in that word.

Correctable Error

correctable error (CE) is an error that the ECC can repair automatically, typically a single-bit error under SECDED.

A CE can be either:

  • A transient soft error
  • A permanent hard error

The proposed method determines which one it is.

Uncorrectable Error

An uncorrectable error (UE) contains more errors than the ECC can correct.

For SECDED, the primary case considered is a double-bit error.

Soft Error

A soft error is transient. Radiation, electrical disturbances, or other temporary effects may alter a stored value without permanently damaging the memory cell.

Rewriting correct data to the location generally removes the error.

Hard Error

A hard error results from a persistent physical defect or degradation.

Writing correct data back does not eliminate the underlying failure, so the error tends to recur.

Postpackage Repair

Postpackage repair (PPR) permanently maps a defective memory location to redundant memory after the DRAM has already been packaged.

The paper extends this idea from manufacturing-related defects to aging faults that develop in the field.

Built-In Self-Test and Built-In Self-Repair

BIST is dedicated hardware for testing memory internally.

BISR combines testing, redundancy analysis, and repair hardware.

The proposed method seeks to obtain similar fault-detection, identification, and repair functionality without requiring a complete conventional BIST/BISR implementation.

Fail-Address Lookup Table

The FALT temporarily stores addresses associated with correctable errors.

Each entry includes:

  • A fail address
  • A small counter

Repeated occurrences increase the counter, making persistent locations easier to distinguish from random transient errors.

The paper’s example uses 15 entries with a 25-bit address and a two-bit counter per entry.

Last-Level Cache

The authors propose allocating the FALT inside the processor’s last-level cache (LLC) instead of implementing a separate large storage structure.

Memory Scrubbing

Memory scrubbing periodically reads memory, checks ECC, corrects detected errors, and rewrites correct data.

When an error is detected during a scheduled scrubbing operation, the paper allows fault identification to begin immediately because normal execution has already been interrupted.

Anti-Fuse

An anti-fuse is a one-time programmable storage element.

Unlike conventional laser fuses, which cannot conveniently be changed after packaging, anti-fuses can store new fail addresses during postpackage repair.

Segmented Spare Column

A conventional spare column may replace a large number of cells even if only one cell has failed.

segmented spare column divides that redundancy into smaller sections so that different sections can repair faults in different regions.

This makes the redundancy better matched to the mainly single-bit aging faults targeted by the paper.

FIT

FIT, or failures in time, is a reliability-rate measure representing failures per billion device-hours.

The simulations examine error rates ranging approximately from 25,000 to 75,000 FIT/Mb, corresponding in the paper’s DIMM example to roughly 0.4–1.2 errors per hour.

Workflow

1. Detect an error with SECDED ECC

The process begins during ordinary memory access.

When ECC detects a single-bit error, it corrects the data so normal execution can continue.

Instead of treating the event as finished, however, the memory controller records the address as a potential aging-fault location.

2. Store suspicious addresses in the FALT

The fail address is inserted into a small table in the LLC.

If the same address appears again, its counter is incremented.

A repeated error at the same location is considered more likely to represent a permanent fault because independent soft errors are unlikely to repeatedly strike exactly the same location.

The paper uses an LRU-style replacement strategy in its case study, although other cache replacement policies could also be used.

3. Trigger fault identification only when needed

Immediately diagnosing every corrected error would unnecessarily interrupt normal memory operation.

Instead, the authors use event-driven activation.

When the FALT reaches its trigger condition, fault identification begins for the stored addresses. The table is then cleared after its addresses are transferred for diagnosis.

This creates a tradeoff:

  • A smaller table or lower trigger value repairs faults more frequently.
  • A larger table reduces diagnostic interruptions but leaves permanent faults in service longer.

4. Handle uncorrectable errors immediately

A double-bit error is much more serious because SECDED cannot correct it.

The memory controller therefore does not wait for the FALT. It begins fault identification immediately before the system shuts down or reboots.

5. Distinguish hard and soft correctable errors

For a correctable error, the proposed sequence is:

Read → Write corrected data → Read → Compare

This is called Read-Write-Read-Compare.

ECC first corrects the erroneous data. The corrected data are written back to the same address and then read again.

If the error was soft, rewriting correct data removes it and the comparison matches.

If the physical bit is permanently faulty, the same error appears again.

Figure 13 illustrates this distinction: a hard fault continues to produce a mismatch, whereas a soft error disappears after rewriting.

6. Diagnose uncorrectable errors through inversion

For a UE, SECDED knows that two bits are incorrect but cannot simply reconstruct the correct word.

The proposed sequence is therefore:

Read → Invert → Write → Read → Compare

or Read-Invert-Write-Read-Compare.

Writing the complement allows stuck-at locations to be exposed: a permanently stuck bit fails to follow the inverted value.

The comparison results identify the number and locations of hard errors.

7. Use XOR logic to identify the physical error site

Small XOR circuits compare written and reread data inside each DRAM chip.

Because the comparison occurs per DRAM data path rather than only across the complete ECC word, the method identifies the fault at finer granularity than the eight-byte memory-controller word.

Figure 14 on page 8 shows the proposed circuit arrangement using the DRAM read/write FIFO paths and added XOR logic.

8. Classify the error

The system distinguishes several cases.

For a correctable error:

  • Soft fault → restore data and resume operation.
  • Hard fault → invoke permanent repair.

For a UE:

  • Two hard faults → repair both.
  • One hard plus one soft fault → repair the hard fault.
  • Two soft faults → no permanent repair is required.

9. Search for an available redundant resource

Once a permanent error is confirmed, the DRAM searches for an unused anti-fuse entry associated with redundant memory.

The case study uses a row-preferred repair strategy:

  1. Search available row redundancies.
  2. If none are available, search column redundancies.
  3. Program the fail address into the available anti-fuse.
  4. Remap subsequent accesses to the spare resource.

If no redundancy remains, the repair attempt fails.

10. Reuse spare resources left over from manufacturing repair

DRAM manufacturers already include spare rows and columns for wafer-level yield repair.

The paper proposes reusing whatever redundancies remain after manufacturing repair for aging-related PPR.

In the simulated case study, an average of 45.21 redundant resources per bank remain after the assumed wafer-level repair process, providing substantial potential capacity for later aging repair.

11. Increase efficiency with segmented columns

A single aging defect should ideally not consume an entire conventional spare column.

The proposed segmented architecture lets different parts of one spare column serve faults in separate memory regions.

This increases the useful repair capacity available from the same physical redundancy.

12. Evaluate yield and lifetime with Monte Carlo simulation

The authors build a memory-yield simulator that incorporates:

  • Manufacturing errors
  • Spare rows and columns
  • Aging errors
  • PPR
  • SECDED ECC
  • Segmented column repair

More than one million Monte Carlo simulations are used in parts of the redundancy analysis.

The analytical yield equations presented in the Appendix are compared with the Monte Carlo results and show close agreement, with small discrepancies caused by cases in which one redundant row or column repairs multiple defects.

Main Findings

ECC correction alone does not eliminate aging faults

The paper’s basic reliability argument is that repeatedly correcting a hard fault is less desirable than permanently removing it from service.

Once a word contains one persistent failed bit, SECDED must continually use its single-error correction capability for that location. Another error in the same word can then become uncorrectable.

PPR restores the ECC’s correction margin by remapping the failing physical location.

Many manufacturing redundancies can remain available for field repair

In the modeled wafer-level repair example, 32 spare rows and 16 spare columns are provided per bank.

Only an average of approximately:

  • 2.56 row redundancies
  • 0.22 column redundancies

are consumed per bank under the assumed manufacturing defect population.

This leaves an average of approximately 45.21 redundant resources per bank that can potentially be reused for aging faults.

ECC plus PPR outperforms either technique used alone

For the reported high-error-rate scenario, the paper defines DIMM lifetime as the point where survival probability falls to 36.8%.

The simulated lifetimes include:

  • PPR without ECC: about 0.14 years with six spare rows and six spare columns.
  • PPR with additional spare resources: about 0.68 years.
  • ECC only: about 2.17 years.
  • ECC + PPR: about 2.31 years.
  • ECC + PPR with six additional rows and six additional columns: about 2.85 years.

The final configuration gives approximately a 31.4% lifetime increase over the conventional approach of using repair for manufacturing defects and ECC alone during field operation.

These numerical values are specific to the modeled error rate, memory organization, and redundancy assumptions rather than universal DRAM lifetime figures.

Fine-grained segmented columns improve repair efficiency

The four-segment column architecture significantly improves the usefulness of spare-column resources.

In the reported scenario:

  • PPR-only lifetime increases from approximately 0.14 to 0.36 years.
  • A combined ECC/PPR configuration using wafer-level redundancy and segmented repair increases from approximately 2.71 to 3.28 years.

The improvement occurs because fewer healthy cells are sacrificed when repairing an isolated aging fault.

Repairing correctable errors prevents future uncorrectable errors

The method is intentionally proactive.

Rather than waiting until two faults coexist in an ECC word, the system uses a correctable single-bit error as an opportunity to locate and remove a permanent defect.

This is particularly valuable because field studies motivating the work show temporal and spatial correlation among DRAM errors.

Stronger ECC can provide greater reliability, but at significant cost

The authors compare their method with a stronger double-error-correcting scheme.

A stronger ECC can greatly improve survival probability, but it has important disadvantages:

  • More check bits
  • Larger encoders and decoders
  • Higher memory-access latency
  • Greater storage overhead
  • Possible changes to ECC-DIMM organization

The paper notes that the stronger ECC considered may approximately double memory-access latency in some implementations, whereas PPR-related latency occurs only occasionally when repair or diagnosis is triggered.

The proposed storage overhead is extremely small

For a 15-entry FALT in a 4-MB LLC, with each entry containing a 25-bit address and a two-bit counter, the reported storage overhead is approximately:

1.2 × 10⁻³%

The example assumes a 12-hour scrubbing interval and approximately 14.8 correctable errors in that period at the highest modeled error rate.

DRAM circuit-area overhead is also very small

The main additional hardware includes:

  • XOR comparison logic for the DQ paths
  • Multiplexing logic for anti-fuse programming

For the modeled 2-Gb DDR3 design in 20-nm technology, the authors estimate chip-area overhead below:

0.0016%.

PPR avoids paying a permanent latency penalty on every memory access

The fault-identification sequences occur only when an event triggers diagnosis.

Correctable errors can be accumulated in the FALT rather than interrupting execution immediately.

Uncorrectable-error diagnosis is immediate, but the authors note that UEs occur much less frequently, making their contribution to overall performance degradation small in the assumed field-failure model.

Technical Significance

The paper’s main technical contribution is that it combines three mechanisms normally used separately:

  1. ECC for detection
  2. Memory-controller logic for diagnosis
  3. Physical redundancy for permanent repair

ECC is therefore used not just to mask faults but as part of a closed-loop reliability-management system.

A second important contribution is the separation between fault detection, fault identification, and fault repair.

The architecture parallels traditional BISR:

  • ECC substitutes for much of the BIST-based detection function.
  • Read/write test sequences and XOR comparison provide fault identification.
  • Anti-fuses and redundant memory provide address reconfiguration.

This creates BISR-like behavior without requiring a complete traditional BIST/BIRA/BISR engine.

A third contribution is the use of temporal error information. A fault address is not judged solely on one occurrence. Recurrence at the same location raises confidence that the error is permanent.

Finally, the work treats unused manufacturing redundancy as a reliability resource rather than stranded capacity. Spare rows or columns that survive factory repair retain value throughout the operational life of the DRAM.

Industrial Impact

Source-supported implication: The approach can extend the useful life of ECC-equipped memory modules without requiring stronger ECC on every access or complete built-in self-test/self-repair hardware.

Potential applications include:

  • Servers
  • Data-center memory
  • Long-lived embedded systems
  • Industrial computers
  • High-availability systems
  • Reliability-sensitive main memory
  • Memory modules operating with aggressive technology scaling

A particularly attractive feature is that the method exploits hardware already present for other reasons:

  • ECC already detects field errors.
  • Spare rows and columns already exist for manufacturing yield.
  • The memory controller already manages addresses and ECC.
  • LLC storage can temporarily hold failure information.

Interpretation: This makes the approach an example of cross-layer reliability engineering: architectural error information is used to activate a permanent physical repair mechanism.

For data centers, such a scheme could potentially reduce DIMM replacement rates and system downtime by removing aging faults before they develop into repeated uncorrectable errors.

It also illustrates a design philosophy applicable beyond DRAM: redundancy left unused after production screening may be reserved as a lifetime-management resource rather than treated solely as manufacturing overhead.

Why the Paper Matters

The important distinction in this work is between correcting an error and repairing its cause.

ECC is excellent for random transient faults. A soft error may occur once, be corrected, and never return.

A permanent aging fault is different. If ECC repeatedly corrects the same defective cell but the cell remains active, the system gradually loses fault tolerance.

The proposed PPR methodology converts a correctable aging error into an opportunity for preventive maintenance:

detect it → verify that it is permanent → locate it → remove it from service.

The result is a memory system whose physical configuration can evolve as the device ages.

The paper is also notable because it challenges the idea that postmanufacturing redundancy has only one purpose. A spare row that was not needed during wafer test can later become a resource for extending field lifetime.

Limitations and Scope

The methodology has several important boundaries.

  • The main case study is a 2-GB DDR3 ECC DIMM and a 2-Gb 20-nm DDR3 DRAM design. Quantitative results should not be transferred directly to DDR4, DDR5, LPDDR, HBM, or newer process technologies.
  • The results are obtained primarily from Monte Carlo memory-yield and lifetime simulation, not a long-duration silicon experiment demonstrating the complete repair flow.
  • Aging error rates are derived from previously reported field data and modeled over approximately 25,000–75,000 FIT/Mb.
  • The proposed scheme focuses on single- and double-bit errors that SECDED can detect.
  • Catastrophic clustered failures affecting complete wordlines, bitlines, or large regions are outside its main repair target. The paper notes that stronger techniques such as Chipkill may be needed for these cases.
  • SECDED cannot correct a double-bit UE. The proposed method can diagnose and potentially repair the hard faults associated with it, but the system may already have experienced an execution interruption or crash.
  • The approach assumes that programmable anti-fuse storage is available after packaging. Conventional laser fuses alone are insufficient.
  • Anti-fuse programming is one-time rather than dynamically reversible.
  • Lifetime extension is limited by the number of redundant rows and columns remaining after factory repair.
  • The row-first redundancy policy used in the case study is one possible repair algorithm; another organization could change redundancy efficiency.
  • Segmented-column repair requires changes to decoder/remapping structures.
  • The fault-identification implementation requires additional XOR and multiplexing logic in each DRAM.
  • The FALT size, trigger threshold, and replacement policy influence both repair frequency and the amount of time hard errors remain exposed.
  • The proposed classification relies partly on the assumption that a transient soft error is unlikely to recur repeatedly at exactly the same location.
  • Real DRAM field errors can be spatially and temporally correlated, so results depend on how accurately the simulated failure distributions represent deployed systems.
  • Stronger ECC can outperform the proposed scheme in raw correction capability, although the paper argues that its constant latency and storage costs can be substantially higher.
  • The comparison with stronger ECC therefore represents a performance/area/reliability tradeoff rather than proof that PPR is always the superior choice.
  • The reported 31.4% lifetime improvement is specific to the evaluated redundancy and error-rate scenario.

Concise Technical Abstract

This paper presents an ECC-assisted postpackage repair methodology for mitigating permanent aging faults in field-operated DRAM without requiring conventional built-in self-test or built-in self-repair hardware. SECDED ECC detects correctable and uncorrectable memory errors, while a fail-address lookup table in the last-level cache tracks correctable-error locations and enables event-driven diagnosis. Correctable errors are classified using a Read-Write-Read-Compare sequence, whereas uncorrectable errors are diagnosed using Read-Invert-Write-Read-Compare. XOR comparison logic within the DRAM identifies persistent fault locations at finer granularity than the ECC word. Confirmed hard-fault addresses are programmed into anti-fuse arrays and remapped to available redundant rows or columns, including resources left unused after manufacturing repair. Segmented spare columns further improve redundancy utilization for predominantly single-bit aging faults. Monte Carlo analysis of a 2-GB DDR3 ECC-DIMM shows that combining SECDED ECC with PPR extends modeled lifetime beyond ECC-only operation; in the high-error-rate example, lifetime increases from 2.17 years with ECC alone to 2.85 years when ECC is combined with additional PPR redundancy, a 31.4% improvement. Four-way segmented column repair further increases the reported combined lifetime from 2.71 to 3.28 years. The proposed FALT requires approximately 1.2 × 10⁻³% of a 4-MB LLC, while the added circuitry is estimated at less than 0.0016% of the modeled DRAM die area.

Comments

Leave a comment

Check also

View Archive [ -> ]