Write back cache – Sell your RAID controller

write back cache

Write back cache (WBC), is a technology that significantly increases the speed at which storage write operations are performed. In StorPool’s case it is used to cache writes on hard disks, since they are the slowest type of drives.

StorPool has proprietary write back cache technology which enables sub millisecond write latencies on hard disks. It allows write operations to be stashed in memory and immediately acknowledged by the data storage system, and then flushed to the hard disk at a later stage.

StorPool has a unique technology which saves 1 copy of data on SSD and redundant copies on HDD (usually 2 copies), which we call “SSD Hybrid”. This ensures customers get all-flash performance and close to HDD-only price. Write-back cache is essential in a SSD-Hybrid system.

Under SSD Hybrid, there are three ways to configure write commits:
1. Full write-through, in which case the system would have to wait for commit by the SSD and the two HDDs before it acknowledges the write operation. This would take 10+ ms. So too slow and generally not used.

2. Write-back in a storage controller with power-protected write-back cache like the LSI 3108 with CacheVault. This is the most common scenario and used with clusters in production. In this case the write operation is confirmed to the client when it is on an SSD, and also in the power-protected write back cache in two more servers.

3. WBC in RAM (less commonly used). In this case the write operation is acknowledged, when it is on an SSD and in RAM on two more servers. The RAM can be power protected by having a UPS signal the servers to shutdown gratuitously. Even when there is no UPS signal configured, to get it to lose the latest writes would require a power outage on 3+ nodes, combined with an SSD breaking before power comes back. It is an extremely unlikely failure scenario, especially in a datecenter environment, so some customers use this option, although less commonly.

For SSD-hybrid, we would strongly recommend deploying option 2. In large engineered deployments option 3 (WBC in RAM) might be considered, in which case, we recommend having a dedicated UPS for the storage system and a signal configured to shut down storage servers when both power feeds go out. Surprisingly for some, a UPS as an engineered component of the storage system is very common in large expensive SANs, for exactly the same reason — in large systems it is simpler and more efficient to use UPS-protected DRAM for write-back.

StorPool’s consistency and integrity guarantees are better than 99% of the storage systems on the market. StorPool is the only scale-out block storage system with end-to-end data integrity checking (data you get back is guaranteed to be the data you put in, achieved by a separately-stored checksum).