OCZ and Indilinx Collaborate On New SSD Garbage Collection Scheme
A common concern with the current crop of Solid State Drives is the performance penalty associated with block-rewriting. The flash memory used on today's SSDs is comprised of cells that usually contain 4KB pages that are arranged in blocks of 512KB. When a cell is unused, data can be written to it relatively quickly. But if a cell already contains some data--no matter how little, even if it fills only a single page in the block--the entire block must be re-written. That means, whatever data is already present in the block must be read, then it must be combined or replaced, etc. with the new additional data, and the entire block is then re-written. As you can surmise, this process takes much longer than simply writing data straight to an empty block.
This isn't a concern on fresh, new solid state drives, but over time, as files are written, moved, deleted, replaced, etc., many blocks are a left holding what is essentially orphaned or garbage data and their long-term performance degrades because of it.
To mitigate this problem, virtually all SSD manufacturers have incorporated, or soon will incorporate, garbage collection schemes into their drives' firmware that actively seek out and remove the garbage data.
OCZ in combination with Indilinx, for example, is poised to release new firmwares for OCZ's entire line-up of Vertex Series SSDs that performs active garbage collection while the drives are idle to restore performance to like-new condition, even on a severely "dirtied" drive.
We just got our hands on a 120GB Vertex SSD that has been flashed with the new garbage collecting firmware, and wanted to give you all a glimpse as to how it works...
What you see pictured above are four ATTO Disk Benchmark runs performed on the Vertex Series SSD. The first run was performed on the drive in brand new condition. As you can see, performance is high and consistent once the transfer sizes exceeds 64KB. The second run, however, was performed on the drive in a "dirty" state, and as you can see, performance suffers dramatically with transfer sizes below 1MB. This is due to the performance penalty associated with block re-writing.
The third benchmark run was performed after letting the Vertex drive idle for about five minutes though, and performance has nearly been restored to like-new levels, save for a few MB/s drop in the middle transfer sizes. Finally, after letting the drive idle for about an hour, performance has been totally restored.
We haven't done extensive testing just yet, but early indications are that OCZ new garbage collecting firmwares add even more value to what were already popular SSDs. Kudos to OCZ and Indilinx for putting in the effort to enhance the long-term performance prospects of their drives.