Block is Exclusive: current
value of the block is held in the cache of the processor
identified by the set Sharers (the owner) => three possible
directory requests:
Read miss: owner processor sent
data fetch message, causing state of block in owner’s cache to transition to Shared and causes owner to send
data to directory, where it is written to memory &
sent back to requesting processor. Identity
of requesting processor is added to set Sharers, which still contains the identity of the processor that was the owner (since it
still has a readable copy).State is shared.
Data write-back: owner processor is
replacing the block and hence must write it back, making
memory copy up-to-date (the home directory
essentially becomes the owner), the block is now Uncached,
and the Sharer set is empty.
Write miss: block has a new owner.
A message is sent to old owner causing the cache to
send the value of the block to the directory from which it is sent to the requesting processor, which becomes the new owner.
Sharers is set to identity of new owner, and state of
block is made Exclusive.