Introduction to Cache Technology
Data protection is an important requirement for any storage system. To achieve this, RAID (Redundant Array of Independent Disks) is a commonly used technology to protect the data stored on the storage system.
In addition to RAID, another requirement for the storage systems is high performance. The storage system must be able to access the data as soon as possible. The processors can run thousands of times faster than the disk drives, so the storage system uses a small amount of memory called DRAM to hold the data until it can be written to the disk drive. This memory is called a cache. The storage system places the data to be written on the disk in the memory cache until the disk drive is ready and the data can be written to disk. This process is called “write cache”.
Actually, there are two cache modes for write cache, write-through and write-back. In a write-through cache, data is transferred quickly to the cache memory, but the storage system does not acknowledge that the write-through is complete until the data is written to disk. This is a slow process, but it is safe.
In a write-back cache, the storage system responds a complete command once the data is transferred to the cache memory. From a server perspective, data transfer is done very quickly and it can continue to process other commands. The storage system can then complete the data transfer at a later time. This improves the performance of the entire system.
Memory Protection for Power Outage
Data caching technique can remarkably improve the system performance, but data is at risk when it is stored in the memory cache. If the server experiences an unexpected power outage, the data in the memory cache may be lost.
Therefore memory protection is necessary for enterprise systems. It may recover the memory cache data when an unexpected power outage occurs. Currently, two commonly used technologies are battery backup cache and Cache-to-Flash. Battery backup cache has some limitations and is described on the following. The better solution for memory protection is Cache-to-Flash.
Battery Backup Cache
Historically, DRAM caches have been protected by the use of batteries to provide backup power to the memory in the event of an unexpected power outage. Under this circumstance, the memory is in a low power self-refresh mode and the battery provides sustain power data.
But there are some limitations to the battery backup cache implementation. The main limitation is that the cached data is only maintained when the battery is capable of supplying power. If the battery is fully discharged, the cached data will be lost. The amount of time that data can be maintained depends on the capacity of the battery and the size of the memory. Traditionally, the goal is to maintain cached data for at least 72 hours. However, it may take risk that 72 hours may no longer be sufficient to ensure timely service calls and solve the problems for some SMB or faraway data centers.
The other challenge is that if the size of the memory is increased, the battery capacity must increase. As the battery capacity increases, the battery size increases, and in some cases, it may become very large. In addition, as the size of the battery increases, the time required to charge the battery increases, which may take several hours. The cache battery size and battery placement are now a major barrier to new system designs.
Cache-to-Flash memory protection function will safely transfer the memory cache data to a non-volatile flash device for permanent preservation. Typically, the Cache-to-Flash module comes with a flash module and a battery module which provides power to copy data from the cache memory to flash module in the event of a power failure.
Cache-to-Flash technology will first flush CPU cache to memory, then flush memory to the flash module to maintain the upmost data consistency. It leverages the strength of both the BIOS and CPU to quickly backup memory data to the flash module.
When the power is restored, the BIOS will check the status of the C2F flag during the Cache-to-Flash recovery phase. If the C2F flag is ON, the I/O cache data will be restored from the flash module and then resume normal startup. If the C2F flag is OFF, the normal startup process continues.
Cache-to-Flash implementation provides a secure and reliable way to protect write cache data on modern storage system. QSAN XCubeFAS and XCubeSAN series products offer a Cache-to-Flash feature that increases data retention time between power failures. Or visit QSAN Cache-to-Flash technology for more details.