Information Technology Reference
In-Depth Information
Technology Affects Interfaces—the TRIM Command
Historically, when a file system deleted a file stored on a spinning disk, all it needed
to do was to update the file's metadata and the file system's free space bitmap. It did
not need to erase or overwrite the file's data blocks on disk—once the metadata was
updated, these blocks could never be referenced, so there was no need to do anything
with them.
When such file systems were used with flash drives, users observed that their drives
got slower over time. As the amount of free space fell, the drives' flash translation
layer was forced to garbage collect erasure blocks more frequently; additionally, each
garbage collection pass became more expensive because there were more live pages
to copy from old erasure blocks to the new ones.
Notice that this slowing could occur even if the file system appeared to have a large
amount of free space. For example, if a file system moves a large file from one range
of blocks to another, the storage hardware has no way to know that the pages in the old
range are no longer needed unless the file system can tell it so.
The TRIM command was introduced into many popular operating systems between
2009 and 2011 to allow file systems to inform the underlying storage when the file
system has stopped using a page of storage. The TRIM command makes the free space
known to the file system visible to the underlying storage layer, which can significantly
reduce garbage collection overheads and help flash drives retain good performance as
they age.
streaming writes at 200 MB/s could wear this drive out in 64 days.
Example: Random read workload.
Question: For the solid state disk described in Figure 12.6, consider a work-
load consisting of 500 read requests, each of a randomly chosen
page. How long will servicing these requests take?
Answer: The disk can service random read requests at a rate of 38,500
per second, so 500 requests will take 500/38500 = 13 ms. In
contrast, for the spinning disk example on page 360, the same
500 requests would take 7.8 seconds.
Example: Random v. sequential reads.
Question: How does this drive's random read performance compare to its
sequential read performance?
KB
request
Answer: The effective bandwidth in this case is 500 requests * 4
/
Search WWH ::




Custom Search