UC San Diego
Model and analysis of trim commands in solid state drives
- Author(s): Frankie, Tasha Christine
- et al.
NAND flash solid state drives (SSDs) have recently become popular storage alternatives to traditional magnetic hard disk drives (HDDs), due partly to their superior performance in write speed. However, SSDs suffer from a decrease in write speed as they fill with data, due largely to write amplification, a phenomenon in which more writes than requested are performed by the device. Use of the Trim command is known to result in improvement in NAND flash SSD performance; the Trim command informs the SSD flash controller which data records are no longer necessary, and need not be copied during garbage collection. In this dissertation, we analytically model the amount of improvement provided by the Trim command for uniform random workloads in terms of effective overprovisioning, a measure of the device utilization. We show the effective spare factor is Gaussian with mean and variance dependent on the percentage of Trim requests in the workload and the manufacturer-provided physical overprovisioning, and the variance is also dependent on the total storage capacity of the SSD. We then utilize this information to compute the expected write amplification, and to verify our results by simulation. Our theoretical (formula-based) prediction suggests, and our simulations verify, that a considerable write amplification reduction is found as the proportion of Trim requests to Write requests increases. In particular, write amplification drops by almost half over the no-Trim case if just 10% of the requests are Trim instead of Write. We extend our models of effective overprovisioning and write amplification to allow for variation of the workload. We explore data of varying sizes as well as data with varying frequency of access. These extensions allow the flexibility needed to more closely model real-world workloads. Models predicting the write amplification for workloads including Trim requests can be used in real- world situations ranging from helping cloud storage data center operators manage resources to reduce costs without sacrificing performance to optimizing the performance of apps on mobile devices