垃圾数据回收机制

简介

固态硬盘(Solid State Drive,SSD)是一种新兴的储存装置。尽管SSD相较于传统硬盘而言,具备轻盈、高速、耐震等优势,却也存在高成本及低耐用度的缺陷。垃圾数据回收机制(Garbage Collection)对于改善SSD的耐用度及效能,就扮演了重要的角色。

垃圾数据回收机制如何运作

SSD的原理,是由控制器将欲写入的数据存放于Flash颗粒中来运作。其中Flash颗粒无法以覆盖的方式将数据直接写入,因此需先将颗粒中原有数据做抹除后,再做写入的动作,描述(图1 & 图2)如下:

* Flash最小写入单位为页(Page);最小抹除单位为区块(Block)
  1. 将资料写入到A区块的9张页面。写入完成后,A区块空间已满。
  2. 页a到页c的数据删除了,但flash操作下页面无法单独抹除,这些页面被标示为无效页无法读取,且不可再度写入数据。
  1. A、B区块皆含有无效页面(图中灰色区域)。
  2. 系统会判读A、B区块中含有有效信息(页a~h),将这些数据转移到C区块。
  3. A、B区块随后被抹除。

根据算法机制,会启动垃圾数据回收机制,有效数据搬至C区块后,再将A、B区块的数据抹除,释放出空间以供应新数据写入,此过程即为「垃圾数据回收」。

垃圾资料回收机制的优势

早期每次写入数据时,只要遇到有区块空间不够用的情形,就需要做一次垃圾数据回收的动作,但若是每次都在要写入数据时,才开始运行该机制,将会大大降低SSD的效能。而现行SSD的垃圾数据回收机制,由于控制器的演进,会在非写入或读取的状态下,先行对Flash内部的零散空间进行整理与优化的动作,并且会有额外的空白区块作为缓冲区,因此不会影响SSD 的效能。

如果以系统端来看,有另一种功能“TRIM”(可参考TRIM)会减少SSD运行垃圾回收机制对系统端的负担,同时让SSD作好更妥善的数据储存管理,便于下一次新的数据写入。

您已经同意cookies的设置,但可以随时撤回您的同意。若您想进一步了解本网站所使用的cookies,请参阅Cookies声明变更设定

您已经拒绝cookie的设置,但可以随时再表示同意。若您想进一步了解本网站所使用的cookies,请参阅Cookies声明变更设定