
Every core keeps its own private copy of memory it is using, and every private copy is a lie waiting to be caught. The whole discipline of cache coherence exists to make sure the lie never gets told twice differently — that no two cores can look at their own cached copy of the same address and see two different truths.
MESI names the lie's possible states plainly: a line is Modified (this cache alone has the true, dirty value; memory itself is stale), Exclusive (this cache alone has it, but memory agrees), Shared (several caches hold an identical, clean copy), or Invalid (this cache's copy no longer counts). A read miss elsewhere forces a Modified line to write back to memory before it can be shared, and a write to a Shared line forces every other holder to invalidate first. The protocol is a small finite-state machine, replicated at every cache, kept in step by broadcast snoops that every core is obligated to answer honestly.
MOESI adds a fifth state, Owner, precisely to avoid that costly writeback. A dirty line can be shared out to other caches for reading without first being flushed to memory — one cache becomes the Owner, responsible for eventually supplying the true value, while the others hold Shared copies they know are not authoritative. The dirty data moves cache-to-cache, memory stays stale a while longer, and a round-trip through DRAM is deferred until it's actually necessary.
At larger scale, broadcasting a snoop to everyone stops being affordable, so directory-based coherence replaces the shout with an address: a directory entry per line records exactly which nodes hold a copy, and only those nodes are messaged directly. CXL extends this same bookkeeping past the edge of a single machine's memory bus, letting a PCIe-attached memory pool stay coherent with a host's caches — the same MESI-shaped promise, now honored across a link instead of a bus.
Coherence was never about preventing copies. It was about making sure every copy still agrees on whose turn it is to be believed.
Seed: Cache Coherence Protocols — MESI / MOESI / Directory-Based Coherence / CXL.