1.)当前的碎片整理软件都是文件层的整理,对SSD都是没有效果的,纯粹是造成耐久度(P/E)的浪费,对高性能的SSD甚至有副作用(降速)。
对于机械硬盘来说,我们都知道定期的做碎片整理可以提速,而对于SSD来说,大部分的主控制器内部都有自己的软件(算法)对闪存(NAND)的空间进行清理。(我们叫做垃圾回收)
对于SSD来说,有规律的碎片(适合主控制器算法)反而是速度的来源,SSD的主控制器会自己分割/合并文件,制造多通道并行传输的可能来提升性能,当然各家的主控和算法各不相同。
至于为啥分割合并能够提升性能,请看这一篇:http://bbs.pceva.com.cn/thread-26362-1-1.html
2) 很多碎片整理软件还带有Consolidate Free Space(合并空白空间)的功能,来防止之后的写入造成文件碎片,这个对SSD也是没有用的。
说到合并空白空间功能,要先说一下碎片是如何产生的。计算机是不需要把一整个文件或者文件夹存放在磁盘的某一个连续空间的。当我们写入文件时,文件一般是被保存到第一个可以使用的空间,
经过长时间使用后,当我们删除之前写入的文件或者文件夹后,会造成硬盘分区内的文件和文件之间出现空白空间,之后再次写入新的文件的话,如果写入的文件比这个空白空间大,
就会拆分后分段写入,造成文件碎片。所以说,一般WINDOWS文件系统下的磁盘碎片分为空白空间碎片和文件碎片2种类型。这里所谓的合并空白空间功能就是整理因为删除文件造成的空白空间,
防止之后写入文件时,文件因为大过空白空间而被拆分成新的碎片,而最上面的文件碎片整理,是合并已经拆分的文件,让文件持续来提升性能。
3.) 有些更高级别的整理软件还带有MFT defragmentation and shrinking(主文件表整理和收缩技术),例如Partition Manager Server软件,这个对SSD的作用基本可以忽略。
MFT区是NTFS系统的主文件表。NTFS 中包含一个称为主文件表 (MFT) 的文件。MFT 是一个映射磁盘中储存的所有对象的索引文件。在 MFT 中,NTFS 磁盘上的每个文件(包括 MFT 自身)
至少有一映射项。MFT 中的各项包含如下数据: 大小、时间及时间戳、安全属性和数据位置。MFT在NTFS卷中扮演着重要的角色,对其性能的影响很大,系统空间分配、读写磁盘时会频繁地访问MFT,
因此MFT对NTFS的卷的性能有着至关重要的影响。NTFS文件系统的开发者在MFT附近预留着一个特定区域,用来减少MFT中的碎片,缺省状态下,这一区域占整个分区卷大小的12.5%。
对于机械硬盘来说,MFT带来的碎片会增加寻道次数,当然也就降低性能了,对于SSD来说,MFT的碎片基本可以忽略(寻址本来就不慢)。
SSD的碎片整理,垃圾回收技术(GC)和备用空间的优化(OP)。
像上面这个操作,都是由SSD主控制器自己做的垃圾回收操作来进行碎片的整理,这部分操作对在映射表上部的文件系统层是不知道的(LBA并不知道对应的PBA已经改变位置了),但是这部分新的PBA会被完整的记录到FTL映射表记录层里,所有的改动只有SSD主控制器自己知道。
总结来说:
1.文件系统说用户的文件不连续,都是碎片文件,并不代表在SSD的闪存上有碎片文件。
2.相反的,文件系统说用户的文件都是连续的,没有碎片已经优化完毕,并不代表SSD的闪存上没有碎片。
这就是为啥磁盘碎片整理软件对固态硬盘没有效果的道理。操作系统能做的就是发送个Trim指令,然后别的都靠SSD主控制器自己包办了。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|