Write hit:
No
action if line is DIRTY
If VALID or SHARED-DIRTY,
an invalidation is sent, and
the local state set to DIRTY
Write miss:
Line comes from owner (as with read miss).
All other copies set to INVALID, and line in requesting cache is set to DIRTY
Read miss:
If
another cache has the line in SHARED-DIRTY or DIRTY,
it is supplied
changing state to SHARED-DIRTY
Otherwise
the line comes from memory. The state of the
line is set to VALID
INVALID
VALID : clean, potentially shared,
unowned
SHARED-DIRTY : modified, possibly shared, owned
DIRTY : modified, only copy, owned