Garbage Collection
垃圾数据回收机制
GC是SSD主要组件NAND Flash内存的储存空间管理机制,是把已经存在NAND Flash某位置的数据,转移到NAND Flash的其他位置,并将无用的数据抹除的过程,对于SSD的耐用度及效能,GC机制的设计优良与否至关重大。
NAND Flash无法以覆盖原有无效数据的方式将新数据写入,必须先将区块内原有的无效数据抹除(Erase)后,才可以写入新的数据。但是,NAND Flash的最小写入单位是页(Page);最小抹除单位是区块(Block, 1 Block = 64 or 128 Pages),也就是说若要抹除数据则需要以整个区块为单位来抹除。
GC的运作机制,就是当区块内有需要被抹除的无效数据时,它会将区块内的有效数据复制、合并到另一个空闲的区块中,这样原来区块中的无效数据才能够以区块为单位进行抹除,抹除后就形成了一个空白区块(Free Block)。
假如Block X里,A-F 6个Page有数据,A、B、C要修改成A’、B’、C’;D、E、F的数据要删除,那么SSD的运作方式将会是:
(1) 将A’、B’、C’存入到空白的Page,并且标注A、B、C、D、E、F是Garbage
(2) 将A’、B’、C’另存到Block Y里的空白Page
(3) 执行Garbage Collect,抹除整个Block X,所有的Page都成为空白Page
GC的目的是要不断的清出更多的空白区块,以维持SSD的写入效能,因为有更多的空白区块,写入速度就不会变慢。但又因为NAND Flash的区块擦写次数(P/E Cycle)是有上限的,如果单一个区块不断被写入和抹除,该区块就会过度耗损,造成读写速度变慢,严重者甚至会损坏而产生坏块(Bad Block)。
所以GC设计除了要能高效率释放区块,还要和WL技术,以及TRIM指令完美地搭配,才能发挥最大的综效,兼顾读写效能和耐用度。
NVMe™ SSD
256GB / 512GB / 1024GB
NAND Flash: 3D TLC NAND Flash
接口: PCIe® Gen4 x4
连续读取: 最高 3,700 MB/s
连续写入: 最高 2,600 MB/s
SATA SSD
128GB / 256GB / 512GB
NAND Flash: 3D TLC NAND flash
接口: SATA 3 (6Gb/s)
连续读取: 最高 550 MB/s
连续写入: 最高 450 MB/s
SATA SSD
128G / 256GB / 512GB / 1024GB / 2048GB
NAND Flash: 3D TLC NAND Flash
接口: SATA 3 (6Gb/s)
连续读取: 最高 550 MB/s
连续写入: 最高 510 MB/s
SATA SSD
128G / 256GB / 512GB / 1024GB / 2048GB
NAND Flash: 3D TLC NAND Flash
接口: SATA 3 (6Gb/s)
连续读取: 最高 550 MB/s
连续写入: 最高 510 MB/s