February 11, 2019 // 10:54 a.m.
Researchers have developed a new method of using the small capacitor-backed static or dynamic RAM (SRAM or DRAM) write buffer caches present in many solid-state drives (SSDs) to dramatically cut flash write operations for database operations - by as much as 52.9 percent, they claim.
Flash memory is an amazing creation: With no moving parts it draws less power than traditional spinning-platter magnetic storage devices while offering a massive improvement in speed, and while price-per-gigabyte is still firmly on the side of mechanical drives the difference shrinks every year. There's only one real drawback: its relatively limited write lifespan, typically measured in terabytes written (TBW): Consumer drives are typically rated at anything from 50 to 150 TBW; more expensive commercial drives can offer up to ten times this, which sounds like plenty until you shove them in a server which is doing high-intensity database operations all day every day. Price-tracking service CamelCamelCamel recently found this out to its cost, suffering more than a week of downtime and tens of thousands of dollars in costs after three drives of a twelve-drive SSD RAID array all reached the end of their lifespan simultaneously.
Researchers Xubin Chen, Yin Li, and Tong Zhang, of the Rensselaer Polytechnic Institute (RPI), claim to have developed a potential fix - or, at least, mitigation - in the form of a new method of employing the extremely small capacitor-backed SRAM or DRAM buffers of the devices, requiring no hardware modification yet achieving a considerable reduction in write traffic - and, therefore, a corresponding increase in expected lifespan.
The researchers' system works by making modifications at a software level, in such a way as to use the small - as little as 8MB - cache more effectively without harming performance. Using open-source relational database packages MySQL and PostgreSQL, alongside the journaling ext4 file system for a more general-purpose workload, the team was able to dramatically reduce write traffic: Using an 8MB write buffer, MySQL write traffic dropped by up to 39.7 percent, PostreSQL by an impressive 52.9 percent, and ext4 by 36.5 percent.
The team's work, though, shouldn't be taken as a suggestion that general SSD lifespan is about to double: The paper concentrates solely on database and database-like workloads which have heavy write traffic as a result of journaling and logging operations; more general-purpose workloads are unlikely to be affected in anywhere near the same manner by the proposed software changes.
The team's paper, Reducing Flash Memory Write Traffic by Exploiting a Few MBs of Capacitor-Powered Write Buffer Inside Solid-State Drives (SSDs), is available now in the March issue of the IEEE Transactions on Computers journal.