如何看固态硬盘是否支持trim功能(你所不知道的固态硬盘Trim知识)
如何看固态硬盘是否支持trim功能(你所不知道的固态硬盘Trim知识)只有同时满足以上3个条件,才能做到系统Trim命令发送,驱动传输Trim命令,SSD固件接收到传输来的Trim命令。 3.当前使用的磁盘驱动程序必须支持Trim命令传输。 Trim的支持需要3个要素: 1.SSD主控制器和当前搭配的固件需要支持Trim命令接收。 2.当前操作系统需要支持Trim指令发送。(Win7/2008R2及后续版本)
Trim功能是几乎所有SSD固态硬盘都具有的功能。大家对Trim可能已经是相当熟悉了。但是,我们真的了解Trim吗?
我们常常遇到SSD固态硬盘越用越慢这样的情况。了解Trim的工作方式和作用,以及条件和限制因素。这样可以使得我们更好的保护SSD固态硬盘的速度性能以及健康安全,让它的性能得到更好发挥。这就是我们这篇文章的目的。
Trim,英文意思是修剪,其实是一个ATA指令。ATA技术是一个关于IDE(Integrated Device Electronics)的技术规范族。最初,IDE只是一项企图把控制器与盘体集成在一起的硬盘接口技术。 随着IDE/EIDE得到的日益广泛的应用,全球标准化协议将该接口自诞生以来使用的技术规范归纳成为全球硬盘标准,这样就产生了ATA。ATA并无正式中文名称,操作系统发送此指令给SSD主控,以通知它哪些数据占用的地址是‘无效’的。
在讲解Trim的重要性前,先说一点文件系统的相关知识。当我们在操作系统中删除一个文件时,系统并没有真正删掉这个文件的数据,它只是把这些数据占用的地址标记为‘空’,即可以覆盖使用。但这只是在文件系统层面的操作,硬盘本身并不知道那些地址的数据已经‘无效’,除非系统通知它要在这些地址写入新的数据。在HDD上本无任何问题,因为HDD允许覆盖写入。但到SSD上问题就来了,闪存不允许覆盖,只能先擦除再写入,要得到‘空闲’的闪存空间来进行写入,SSD就必须进行GC(垃圾回收)操作。在没有Trim的情况下,SSD无法事先知道那些被‘删除’的数据页已经是‘无效’的,必须到系统要求在相同的地方写入数据时才知道那些数据可以被擦除,这样就无法在最适当的时机做出最好的优化,既影响GC的效率(间接影响性能),又影响SSD的寿命。
Trim的支持需要3个要素:
1.SSD主控制器和当前搭配的固件需要支持Trim命令接收。
2.当前操作系统需要支持Trim指令发送。(Win7/2008R2及后续版本)
3.当前使用的磁盘驱动程序必须支持Trim命令传输。
只有同时满足以上3个条件,才能做到系统Trim命令发送,驱动传输Trim命令,SSD固件接收到传输来的Trim命令。
Trim目前不支持以下几种情况:(可能还有更多)
1. Trim目前不支持RAID阵列中的SSD。(操作系统下进行软件RAID除外)
2. Trim目前不支持磁盘镜像文件内操作。(VM等虚拟机软件使用的虚拟磁盘文件)
3. Trim目前不支持加密的文件系统。(以防止暴露加密文件系统信息)
影响Trim和GC效率的因素:(可能还有更多)
1.WL磨损平衡。磨损平衡是对NAND闪存的保护。保证不擦写集中。如果擦写集中,对SSD固态硬盘的速度和寿命影响也很大。尤其是TLC NAND需要WL的保护。但WL会延缓Trim指令GC操作。它需要判断,标注优先级。以不让一个区域存在大量集中的擦写。所以,有时候我们磁盘整理,完了,感觉SSD固态硬盘的速度感觉没多大提升。但稍后,速度就会好起来了。
2.WA写入放大。不仅造成写入缓慢,还让Trim和GC的任务增多了,然后写入更缓慢。Trim和GC效率不行,那么写入放大也增加了。它们互相影响。而减少写入放大是保证Trim和GC效率,提高SSD速度性能,健康安全的主要方法。如何减少写入放大,提高SSD性能呢?以后再讨论。
我们无法自己去对SSD做频繁的或者重大的优化。所以我们得保证Trim正常运行。
SSD固态硬盘的功能像NCQ、DVSLP、Trim、WL等等几乎所有SSD都有这些功能。在维护这些功能正常发挥作用之前。更重要的还是选择一个好的SSD固态硬盘。
光威猛将,MLC NAND,SMI主控,便宜。MLC NAND是绝对比同等或者更高价位的TLC NAND有优势的。首先寿命长,不爽就随便磁盘整理,或者格式化,P/E多,任性,不需怕。其次MLC NAND的擦、写是有速度优势的。最后,写入放大相对更小。
各类NAND的储存形式