The two most common mechanisms of ensuring coherency are snooping and directory-based, each having their own benefits and drawbacks.
First introduced in 1983,[REF] snooping is a process where the individual caches monitor address lines for accesses to memory locations that they have cached [REF].