Kingston’s Garbage Collection Methodologies for Greater SSD Performance for Client Workloads
SSDs incorporate advanced controllers that manage the NAND Flash storage. Kingston® uses LSI® SandForce®-based controllers in specific SSDs to provide customers with better endurance and performance. These controllers use proprietary technologies to conduct Garbage Collection (GC).
When files are deleted in an Operating System such as Windows, the OS just marks its internal file table indicating that the file is deleted. On hard disk drives (HDDs), the now-invalid data remains there and can be directly overwritten by the system to store new data.
NAND Flash-based devices cannot overwrite data that is already there. They have to go through a Program/Erase cycle; to write to an already used block of data, an SSD controller would first copy all valid data (that which is still in use) and write it to empty pages of a different block, erase all the cells in the current block (both valid and invalid data), and then start writing new data to the newly erased block. This process is called Garbage Collection. Newer OSs also support the TRIM command, whereby the OS notifies the SSD that it has deleted specific files so that the SSD can better manage the GC process to recover that space earlier and prevent saving and moving all that invalid data.
Kingston SSDs with LSI SandForce controllers conduct very efficient Foreground GC, meaning they can very quickly prepare blocks to be erased in real time, and do not do Background GC, which can move data unnecessarily when it may be deleted by the user the next day. The Foreground GC methodology results in greater endurance and performance for the SSD. Additionally, the Foreground GC maximizes the benefit of lower-power idle states by shutting down when the system is not accessing the SSD, something the Background GC process interrupts because it is moving data to prepare new blocks before they are needed.
Kingston conducted testing utilizing a utility called Anvil which conducts cycles of filling SSDs with data, erasing all the data and then writing data to fill the drive again. We tested this utility with and without TRIM (without TRIM simulates using a KC300 SSD on a server with a RAID card where the TRIM command is not passed by the RAID controller or using Kingston SSD on Apple Mac platforms).
The results show the SSDNow drives’ performance edge on lower Drive Fill Time, and lower times to refill it again after a total file delete; this illustrates the efficiency of the SSD’s GC: The left axis shows the Drive Fill Time (in seconds, lower is better), and the bottom axis shows the 10 consecutive runs with and then without TRIM. Not only is the KC300 clocking in with the lowest times to fill and refill the drive but its performance is consistent across all 10 runs with TRIM on or off. KC300 SSDs also incorporate DuraWrite technology with Data Reduction that also enhances endurance and performance (More information is available in the Technical brief on DuraWrite at kingston.com/ssd.)