AN!Wiki :: Write-Back Caching
Write-back caching is a technology used in disk storage to improve performance. It works by providing an amount of high-speed, volatile memory used to store data destined for non-volatile storage on relatively slow hard drives or solid state drives.
Write-back caching is particularly useful on traditional platter-based hard drives and RAID arrays where highly random write access is expected. It allows for writes to be buffered, masking the performance loss caused by hard drive seek latency. Data is stored in the high-speed cache and slowly flushed out to disk, giving the user much better response time when writing files to storage.
The major downside to using volatile memory for caching is that, in the event of a power failure, data in cache could be lost. File-systems and databases were told by the storage driver that their writes were completed, so they would have flushed their database logs and file journals, potentially leaving both corrupt.
For this reason, most RAID controller cache modules support "battery backed" or "flash backed" write caching. These use batteries or capacitors to continue providing power to the volatile memory after the host loses power, protecting the data not yet written to disk.
In battery-backed caching, a large battery is connected directly to the cache module, often referred to as a "BBU"; a battery-backed unit. These BBUs have a finite amount of power and generally are designed to protect the data in the cache module for 24 to 48 hours. If the power is not restored to the module in this time, the data can be lost.
In flash-backed caching, a small battery or a capacitor bank is connected to the cache module. This powers the volatile cache long enough to copy it's contents to solid-state storage, which is not volatile. This "flash-backed" cache is often referred to as a "FBWC"; Flash-Backed Write Cache. The data in the flash memory is then protected indefinitely, making FBWC the safer choice to use when available.
|Any questions, feedback, advice, complaints or meanderings are welcome.|
|Us: Alteeve's Niche!||Support: Mailing List||IRC: #clusterlabs on Freenode||© Alteeve's Niche! Inc. 1997-2017|
|legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions.|