A state diagram with transitions would be very helpful in characterizing MSI.
Aren't the following two statements from introduction dubious?
...for MSI, each block contained inside a cache can have one of three possible states...
When a write request arrives at a cache for a block in the "M" state, the cache modifies the data locally. If the block is in the "S" state, the cache must notify any other caches that might contain the block in the "S" state that they must evict the block....