Report Number: CSL-TR-91-470
Institution: Stanford University, Computer Systems Laboratory
Title: Writes caches as an alternative to write buffers
Author: Bray, Brian K.
Author: Flynn, Michael J.
Date: April 1991
Abstract: Write buffers help unbind one level of a memory hierarchy
from the next, thus write buffers are used to reduce write
stalls. Write buffers are used in write-through systems so
that writes can occur at the rate the cache can handle them,
but write buffers don't reduce the number of writes, or
cluster writes for block transfers. A write cache is a cache
that uses an allocate on write miss, write-back, no allocate
on read miss strategy. A write cache tries to reduce the
total number of writes (write traffic) to the next level by
taking advantage of the temporal locality of writes. A write
cache also groups writes for block transfers by taking
advantage of the spatial locality of writes. We have found
that small write caches can significantly reduce the write
traffic to the first write-back level after the processor's
register set. Systems that would benefit from reduced write
traffic to the first write-back level would benefit from
using a write cache instead of a write buffer. The temporal
and spatial locality of writes is very important in
determining what organization the write cache should have.
http://i.stanford.edu/pub/cstr/reports/csl/tr/91/470/CSL-TR-91-470.pdf