现时,SSD的普及率越来越高,因为它的价格不像几年前一直处在最高端,现时的价格已经越来越平民了,并且它的速度较之传统的机械硬盘也要快的不止一丁点,很多朋友在装机的时候都会选择去购买SSD,当然现在大部分的朋友还是对于SSD的知识还是了解的很少,所以笔者给大家讲一下SSD的一些基础知识。
本次主要给大家讲讲什么叫Trim以及SSD的GC(垃圾回收)
●Trim指令
原本在机械硬盘上,写入数据时,Windows会通知硬盘先将以前的擦除,再将新的数据写入到磁盘中。而在删除数据时,Windows只会在此处做个标记,说明这里应该是没有东西了,等到真正要写入数据时再来真正删除,并且做标记这个动作会保留在磁盘缓存中,等到磁盘空闲时再执行。这样一来,磁盘需要更多的时间来执行以上操作,速度当然会慢下来。
而当Windows识别到SSD并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。这一步就已经省下一大笔时间了。然后再是写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,因此可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。
好了上面笔者给大家讲了什么叫Trim,相信大家对Trim也应该有一点了解了,下面我们再给大家讲一下什么叫SSD的GC,也就是垃圾回收。
●垃圾回收(Garbage Collection)
垃圾回收其实就相当于固态硬盘的碎片整理,它是固态硬盘自身的一种机制,不依赖于操作系统。
垃圾回收的功能是将所有Block中的有效Page合并到一个新的Block中,并将旧的Block进行擦除,这样做的好处一方面减少寻址负担,另一方面留出更多的空闲Block。所以垃圾回收对固态硬盘的性能和寿命都起到至关重要的作用。
垃圾回收分为闲置垃圾回收和被动垃圾回收。顾名思义,前者就是在固态硬盘闲置时做垃圾回收操作,这样做的好处是不会占用额外的主控资源,能够让固态硬盘尽可能地保持较高的效能,但缺点就是会增加额外的写入放大。
而被动垃圾回收则是在数据输入/输出的同时做垃圾回收操作,这个机制会大量占用主控资源,对有数据请求时的“响应时间”产生一定影响。这个机制也可以称为“实时垃圾回收”
总的来说,垃圾回收操作由于将不同Block中的有效Page进行合并,有额外的擦除操作,会增加写入放大。因此过于频繁的垃圾回收会对NAND寿命产生影响,但又需要进行这样的机制来保证性能,怎样在两者之间取得一个平衡是衡量固件算法的重要指标。
好了,经过上面笔者给大家对于Trim和GC的解释,相信大家对于这两个概念会有更加深刻的印象,笔者相信将来会有更多的用户去使用SSD,下次笔者会给大家详细带来影驰三年换新的新闻,敬请期待。