Wednesday, April 9, 2014

Cache Protection for RAID Controller Cards

Modern RAID controllers have integrated caches for increasing performance. With corresponding protective mechanisms, the content of these caches would be lost when a power failure occurs. For that reason, the cache content is often protected by a BBU or BBM (depending on the manufacturer, either the term Battery Backup Unit (BBU) or Battery Backup Module (BBM) is used). However, proper maintenance is required so that the BBU will actually work properly during a power failure. With such maintenance, complete data loss may be a risk during a power failure in the worst case.
Note: RAID controllers, which do not use a BBU to protect the cache (but instead copy the content of the cache to flash memory in the event of a power failure), do not require special cache protection maintenance (e.g. Adaptec ZMCP or LSI CacheVault).

Two types:

  • battery-backed cache based controllers (either the term Battery Backup Unit (BBU) or Battery Backup Module (BBM) is used)).
  • flash-backed cache based controllers.


Most RAID controllers that support Write caching, will not enable it without a battery backup pack. Imagine the damage a large 64 Megs of cached writes, not written to disk would do to a volume.

Without write caching, RAID5 controllers write performance drop by a factor of 5-10 times. (We had a Dell PERC 3 (The LSI, not Adaptec ones) that would write sustained at about 8 GB/hour with write cache off, but at 70-90 GB/hour with write caching on.

I do believe in using the batteries when available, but am not overly concerned if a server doesn't have one. In practice, I've noticed that the cached writes have a very short life in the buffer. They make it to disk surprisingly quick even on our heavily utilized servers. It also doesn't solve the issue of the writes/processes that were only partially supplied to the card from the app & OS. Does it help, yes, it will help minimize one particular case of data corruption. However, there's still a LOT of other places for it to go wrong during a power outage.

RAID controller cards temporarily cache data from the host system until it is successfully written to the storage media. While cached, data can be lost if system power fails, jeopardizing the data’s permanent integrity. CacheVault® flash cache protection modules and battery backup units (BBUs) protect the integrity of cached data by storing cached data in non-volatile flash cache storage or by providing battery power to the controller.


  • Lower total cost of ownership (TCO) with CacheVault technology by reducing hardware maintenance and disposal issues associated with lithium-ion batteries
  • Battery backup units allow for higher ambient temperatures
  • Provides additional peace of mind for all MegaRAID® controller cards
  • Enjoy configuration flexibility with many chassis mounting options


Reference:
http://www.thomas-krenn.com/en/wiki/Battery_Backup_Unit_(BBU/BBM)_Maintenance_for_RAID_Controllers
http://serverfault.com/questions/203355/why-do-i-need-a-raid-battery-pack
http://www.lsi.com/products/raid-controllers/pages/cache-protection.aspx

No comments: