Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Path
  • Cache Coherency Glossary
  • The Shared Course Model
  • Cache Coherency Revision Sheet
  • Why Coherence Exists8
  • States and Protocols12
  • Transactions12
  • Races and Controller Design8
  • Progress and the Fabric16
  • Ordering and Synchronization12
  • Performance and Scalability12
  • Real Protocols12
  • SoC Integration12
  • Power, Clocking and Reliability12
    • Power State Transitions and Cache State Safety
    • Clocking and CDC on Coherence Channels
    • ECC, Poison and Recovery
      • ECC on Tags, Data and Directory
      • Poison Propagation
      • Losing Directory State
      • Recovery Limits
  • Verification12
  • Debug and Bring-up12
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
Loading lesson

‹Power, Clocking and Reliability
  1. Topics
  2. Cache Coherency
  3. Power, Clocking and Reliability
  4. ECC, Poison and Recovery

Part 10 · Power, Clocking and Reliability · All levels

ECC, Poison and Recovery

Protect data and coherence metadata against bit flips, carry uncorrectable data errors as poison, and recover conservatively when metadata cannot be trusted.

  • 4topics
  • 4lessons

Storage is not perfect. A flipped bit in a data array is a data error; a flipped bit in a cache state, a tag or a directory entry is a coherence bug, because it changes who may write or who gets invalidated. This topic shows which structures need which protection, how an uncorrectable data error travels as poison instead of stopping the machine, what H can do when it loses a directory entry, and where recovery has to stop. All RAS terms on these pages are generic (corrected error, detected uncorrectable error, poison, machine check, containment). No vendor's error-record format is described, and every number is illustrative.

Lesson

After it you can...

ECC on Tags, Data and Directory

Say what an undetected flip in each structure breaks, and check a SECDED code that corrects one flip and detects two.

Poison Propagation

Trace a poisoned line through a forwarded read and explain why only the consumer sees an error.

Losing Directory State

Rebuild a lost directory entry by recalling every possible holder, count the cost, and name the case that cannot be rebuilt.

Recovery Limits

Classify an error as corrected, contained or fatal with a decision flowchart.

Suggested order: the four lessons in order. Prerequisites: SWMR Precisely, Snoop Filter Correctness and Conservative Metadata Rules. The traces use MSI on the course model; one lesson adds a third cache C2 and says so.

Check yourself Why is a flipped sharer bit in H's directory worse than a flipped bit in a clean data word?

A clean data word can be detected and refetched from memory, and even if missed it corrupts one value. A lost sharer bit means H skips an Inv on the next GetM: a cache keeps a readable copy while another writes, so SWMR is broken and every later read of that copy can be stale. The data was never wrong; the permission record was.

Related topics

  • Shared course model

  • SWMR Precisely

  • Conservative metadata

PreviousNext: ECC on Tags, Data and Directory

Up next

Up nextECC on Tags, Data and Directory

Sign in to save progress

Practice this lessonReport an error

See also

  • Power State Transitions and Cache State Safety
  • Clocking and CDC on Coherence Channels