Caching makes your RAID array go faster. But if you lose power your data can be corrupted. The old solution: a battery. The new and better solution: flash memory - with a twist.
Disks are about 1 million times slower than DRAM. That's why storage systems do everything they can to keep from going to disk.
Caching, at the filesystem, storage controller, RAID array or individual disk is common. The problem is that in low-end cards the caches are volatile. You lose power and you could lose data.
As a result, conscientious designers only use caching for reading data. But writes can slow the system down.
Higher-end systems have often used a battery backed up cache so that writes can be enabled. If the system loses power the cache is maintained by the battery.
Assuming the battery is still working. And that you aren't on vacation. And that when the power comes back on the system either auto-magically works to write the data in cache to disk or that someone knows how to make this happen.
None of these are safe assumptions. The basic rule of storage is that every thing that can go wrong will - at the worst possible time.
Therefore it's good that ATTO technology, a New York manufacturer of storage and RAID controllers, is shipping product they call CacheAssure. ATTO describes it this way:
In the event of a power or system failure, CacheAssure instantly detects the failure and preserves the cached data in nonvolatile memory on the RAID adapter or storage controller, allowing users to maintain their data until power is restored. CacheAssure provides quick and easy access to cached data upon system re-boot by keeping the data in nonvolatile memory until all the drives are ready to accept the transfer and data is verified.
ATTO has been in business for a long time. Assuming it works as advertised it's a real advance.
- Years of data backup instead of hours. Batteries are commonly stacked at 72 hours to allow for a three day weekend.
- No batteries to recharge. Multiple power outages can deplete onboard batteries, reducing your protection.
- Flash doesn't need maintenance. Batteries need to be replaced. Who remembers to do that?
ATTO took a clever approach. They continue to use high-performance DRAM for the cache - as they have for years - and a super capacitor that gives the DRAM time to offload to flash. This preserves man-years of optimizing cache algorithms for DRAM and minimizes the engineering effort required to integrate flash.
The StorageMojo take
The bulk of storage system engineering is making the complex and balky components reach a reasonable level of performance, availability and reliability. That doesn't leave much time for making them easier to use by civilians.
Flash instead of batteries is an obvious enhancement. But making it work right isn't simple. Given the myriad ways that storage systems go wrong, ATTO chose a wise strategy.
Update: Alert reader Walter pointed out that Adaptec used the same strategy a year ago in their Zero-Maintenance Cache Protection products.
Courteous comments welcome, of course. I have no business relationship with ATTO.