This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Write buffer" – news ·newspapers ·books ·scholar ·JSTOR(June 2019) (Learn how and when to remove this message) |

BufWriter structAwrite buffer is a type ofdata buffer that can be used to holddata being written from the cache tomain memory or to the next cache in thememory hierarchy to improve performance and reducelatency. It is used in certainCPU cache architectures like Intel's x86 and AMD64.[1] In multi-core systems, write buffers destroysequential consistency. Some software disciplines, likeC11's data-race-freedom,[2] are sufficient to regain a sequentially consistent view of memory.
A variation ofwrite-through caching is calledbuffered write-through.[citation needed]
Use of a write buffer in this manner frees the cache to service read requests while the write is taking place. It is especially useful for very slow main memory in that subsequent reads are able to proceed without waiting for long main memory latency. When the write buffer is full (i.e. all buffer entries are occupied), subsequent writes still have to wait until slots are freed. Subsequent reads could be served from the write buffer. To further mitigate this stall, one optimization called write buffer merge may be implemented. Write buffer mergecombines writes that have consecutive destination addresses into one buffer entry. Otherwise, they would occupy separate entries which increases the chance of pipeline stall.
Avictim buffer is a type of write buffer that stores dirty evicted lines inwrite-back caches[note 1] so that they get written back to main memory. Besides reducing pipeline stall by not waiting for dirty lines to write back as a simple write buffer does, a victim buffer may also serve as a temporary backup storage when subsequent cache accesses exhibitlocality, requesting those recently evicted lines, which are still in the victim buffer.
Thestore buffer was invented by IBM during Project ACS between 1964 and 1968,[3] but it was first implemented in commercial products in the 1990s.
This computing article is astub. You can help Wikipedia byexpanding it. |