A design for high-performance flash disks
ACM SIGOPS Operating Systems Review - Systems work at Microsoft Research
Design tradeoffs for SSD performance
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Proceedings of the eleventh international joint conference on Measurement and modeling of computer systems
The pitfalls of deploying solid-state drive RAIDs
Proceedings of the 4th Annual International Conference on Systems and Storage
Hi-index | 0.00 |
Employing solid state drives (SSDs) can leverage the performance of persistent storage systems into a new dimension. However, in order to ensure a continuously high write throughput especially for small random writes, it is crucial to always maintain a substantial amount of free flash capacity. This can be achieved by additional over-provisioning or/and the TRIM command, which notifies an SSD of storage space no longer required. Since additional over-provisioning is disadvantageous as SSDs already have a higher cost per byte ratio compared to hard disk drives, using TRIM seems to be favorable. However, most intermediate software layers (e.g., filesystem encryption, software RAID drivers or a logical volume manager) but also hardware RAID controllers currently do not pass TRIM commands to the underlying devices making over-provisioning look like the only solution feasible now. In this paper, we tackle this problem by dynamic over-provisioning, allowing the OS to use additional storage capacity for a limited amount of time to supply more storage in peak demand situations. By doing this, we accept a temporarily degraded performance to be able to supply further storage capacity. After a peak situation, the utilized SSDs are notified using the TRIM command about allocated storage capacity that is no longer needed. By presenting experimental results, we show that dynamic over-provisioning is working and can be quite effective for both single SSDs and storage systems with multiple SSDs such as SSD RAIDs.