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 simply marks its internal file table to indicate that the file is deleted. On hard disk drives (HDDs), the data that is now invalid 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 and must instead go through a program/erase cycle. To write to a block of data that has already been used, an SSD controller must 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 the space earlier and prevent the need to save and move all the invalid data.
Kingston SSDs with LSI SandForce controllers conduct very efficient foreground GC, meaning that they can very quickly prepare blocks to be erased in real time, and do not perform 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, foreground GC maximises 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 using 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 in terms of lower drive fill time, and lower times to refill it after a total file delete, which 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 does the KC300 clock 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, which also enhances endurance and performance (for information, see the technical brief on DuraWrite at kingston.com/ssd.)