Once again, my colleague Peter Bumbulis has come across another enhancement to Sun’s ZFS filesystem, which you can read about on Jeff Bonwick’s blog. ZFS is a journaling file system that offers a variety of robustness features and in addition offers some interesting self-management features that are quite compelling. Recently, Brendan Gregg of Sun posted a description of using SSD devices (NAND-flash) as level-2 cache controllers over a set of 7200RPM disks. The use of flash memory devices at Sun is led by Adam Leventhal, who recently published an article describing the usage and characteristics of flash storage devices in Communications of the ACM.
What is so compelling about Gregg’s work is how flash SSDs are integrated into the storage hierarchy in a self-managed manner. To wit:
- Though flash SSDs suffer from poor write performance today, in the ZFS storage hierarchy disks are written-through asynchronously, minimizing flash write effects.
- Though SSDs are still not overly reliable, in the ZFS scheme all writes and reads are checksummed, and if any failures are encountered the disks are modified or read directly.
- The entire scheme is self-tuning and self-managing; the L2 SSD cache is designed to improve performance, and it automatically discovers when it will not positively contribute to server performance, and takes itself out of the picture.
No DBA or sysadmin to tune the system, configure it, or manage it. Neat.