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
    • Virtual Networks and Progress
    • Filtering and Snoop Pruning
      • The Cost of Broadcast
      • Snoop Filter Correctness
      • Multicast and Ack Collection
      • Filter Eviction and Back-Invalidation
    • Latency, Fairness and QoS
    • Hierarchical and Chiplet Coherence
  • Ordering and Synchronization12
  • Performance and Scalability12
  • Real Protocols12
  • SoC Integration12
  • Power, Clocking and Reliability12
  • Verification12
  • Debug and Bring-up12
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
Loading lesson

‹Progress and the Fabric
  1. Topics
  2. Cache Coherency
  3. Progress and the Fabric
  4. Filtering and Snoop Pruning

Part 5 · Progress and the Fabric · All levels

Filtering and Snoop Pruning

Reduce unnecessary probes without forgetting a real holder, a response obligation or dirty data.

  • 4topics
  • 4lessons

A filter is useful only if its absence claim is trustworthy. Start by counting messages, then keep the invariant that every holder is covered. Finally inspect how a full filter reclaims an entry.

Lesson

After it you can...

The Cost of Broadcast

Count probes and responses, separately from latency.

Snoop Filter Correctness

State the inclusive-filter invariant and where false positives come from.

Multicast and Ack Collection

Match acknowledgements to a fixed expected set.

Filter Eviction and Back-Invalidation

Free an entry only after clean holders ack or dirty data reaches memory.

Prerequisite: Hybrids and Snoop Filters, which introduced the inclusive filter F, false positives and negatives, and back-invalidation, plus the Part 3 upgrade and clean-eviction lessons. Scope: the traces keep two cores, so a requester has at most one peer; larger fanout appears only as arithmetic, and H's back-invalidation of both cores gives the two-target example.

Check yourself Is an unknown filter entry equivalent to a known-empty holder set?

No. Unknown requires a conservative coverage path or retained tracking. Known empty is a stronger fact justified by completed protocol work.

Related topics

  • Shared course model

  • Hybrids and Snoop Filters

  • Prerequisite: eviction variants

PreviousNext: The Cost of Broadcast

Up next

Up nextThe Cost of Broadcast

Sign in to save progress

Practice this lessonReport an error

See also

  • Virtual Networks and Progress
  • Latency, Fairness and QoS
  • Hierarchical and Chiplet Coherence