This document discusses different approaches to implementing directory-based cache coherence, including flat memory-based and flat cache-based directories. It describes the directory structures, protocols, and handling of reads, writes, write-backs, and serialization for a directory-based cache coherence approach used in the SGI Origin 2000 system. Key aspects like directory states, speculative replies, buffering of requests, and page migration techniques are covered.