谢邀
固态硬盘(SSD)每个块的读取时间都是恒定的,不像机械硬盘读取物理连续的扇区才有最快速度(因此机械硬盘才要“整理碎片”)。而且SSD的写入寿命(按次数)比机械硬盘少一到两个数量级,经常整理硬盘会大大加速老化。事实上,微软官方也不推荐对SSD进行碎片整理:
Windows 7 & SSD: defragmentation, SuperFetch, prefetch另外,SSD暴露给上层软件系统的是“逻辑块”,由控制器来映射到底层的闪存芯片上的物理块。(绝大多数情况下)软件无法绕过控制器直接管理物理块。而且不同于机械硬盘的是,SSD的逻辑块到物理块的映射是高度复杂和相当动态的(题主关注的读平衡问题已经被控制器算法考虑到了,另外控制器还要考虑写平衡、垃圾回收、坏块替换等问题),也不适合上层软件来管理
这题小希懂,作为全球最大的硬盘生产商,有关硬盘的知识我都“略知一二”。
很多年纪稍大的朋友,应该都听过这句话,“整理磁盘碎片能让电脑变快”。这句话放在那个时代是没有问题,它基于两个前提。
第一:大家普遍使用的还是机械硬盘(HDD),固态硬盘仍未普及。
第二:早期window系统不够完善。
为了更好地理解这个问题,我们首先得知道为什么会产生磁盘碎片。
我们可以把机械硬盘想像成一个圆形,它被割裂成了很多“扇区”,其中,每一个“扇区”都能存放一小块数据,当我们储存文件的时候,它就会挤占一块乃至多块扇区的位置。
同时,在window系统当中,文件的存储方式是连续的,一个紧挨着一个,共同拼凑这个圆,在理想状态下,如果储存的文件没有任何变动,是不会产生任何碎片的。
但因为修改或者其他方式会导致文件变大,这多出来的一部分大小就只能被迫转移到与其不相连的“扇区”当中。
因此,产生了磁盘碎片。
我们得理解,机械硬盘的工作模式,当机械硬盘运行程序时,硬盘上“磁头”的工作就是首先搜索此程序运行所必要的文件,然后读取,最后将数据传送至磁盘高速缓存和内存中。这个搜索的过程也被成为“平均寻道时间”,是评价硬盘性能至关重要的参数之一,文件如果是相连的,磁头的搜索时间就会更短,程序的读取就会更快。
但过多的磁盘碎片会导致,磁盘在读取文件的过程当中,机械硬盘磁头需要不断跳转,在无形中增加了读取时间,也正因为这样,我们需要磁盘碎片整理,它将碎片文件与原文件“打包”在一块,这样磁头就不需要做那么多次跳转,电脑自然就变快了。
早期的window系统跟现在不一样,不会设置在文件周围设置“缓冲区”,放置一些小容量的储存空间(详情可查阅NTFS),减少生成碎片的可能。也不会自动帮你做磁盘碎片整理,这就导致了必须要人为去操作磁盘碎片整理。
因此,才会有这句老话“整理磁盘碎片能让电脑变快”。
做个额外的科普,在mac系统中,几乎是不会产生碎片的,原因是它们放置文件的方式与window不同,不是一个紧挨着一个,而是分散在磁盘中。
当一个文件变大时,也很难产生碎片。
前面也说了,之所以过去的电脑需要磁盘碎片整理,很大原因是因为普遍使用机械硬盘(HDD)而不是固态硬盘(SSD),而固态硬盘是不需要碎片整理的,原因有三。
1.工作的原理不同
影响固态硬盘“寻道平均时间”的是闪存颗粒,其在寻道时间上理论上是永恒不变的,不像机械硬盘需要磁头来回读取,能决定固态硬盘“效率”的因素,只有硬盘本身的性能。
以希捷酷玩FireCuda520固态硬盘为例,这款硬盘采用了最新款的M.2 NVMe SSD,专为职业级游戏体验打造,支持PCIe 4.0 x4,并且向后兼容 PCIe 3.0 平台以及 AMD X570 芯片组,可以轻松插入任何 PCIe Gen4 主板,PCIe4.0的加持下它将拥有5000/4400 M/S的顺序读写速度,比普通 SATA SSD 要快 9 倍之多,更不用说机械盘。机械硬盘中存储大量游戏和应用软件,产生的碎片可能会拖慢运行速度,但固态并不会受到这方面影响。
2.碎片整理反而会造成损耗
磁盘碎片整理的原理就是重新将存储在磁盘中的文件按照一定的顺序重新读写一遍并整理。但对于固态硬盘,碎片整理反而会增加不必要的擦写,造成内耗,这也是为什么很多朋友都建议固态硬盘用户暂停电脑的自动磁盘碎片整理的原因。
3.自带更安全的“磁盘碎片整理”
这里科普两个技术。
①Garbage collection技术
业界多称之为GC机制,它的价值在于可以将固态硬盘内“有效”与“无效”数据区分开来,将“有效”数据合并在一块,形成更大的“有效”块,而将“无效”的数据进行擦除,留出更多的空白空间。
这样做的好处有两个,一方面是将有效文件整合,让数据寻址变得更快,减少了主控的压力。另一方面,也能给磨损均衡提供更多的空白数据块,提高固态硬盘的使用寿命。
最后,空白的数据块越多,也会提升固态硬盘的读写性能。
②Trim技术
又名disable delete notify(禁用删除通知),是微软联合所有SSD厂商共同开发的一个技术,专门针对windows系统生态。无论是固态硬盘抑或是机械硬盘,都做不到真正意义上的文件删除,只是将他们标注为“待删除的垃圾文件”,保留在固态硬盘当中,等新文件覆盖的时候,才会重新擦写,一并删除。
而Trim的价值就在于,可以提前让固态硬盘清空这些“待删除文件”,让硬盘的空白空间更多。避免主控同时执行擦+写的工作,防止负荷过大而掉速。
综上所述,固态硬盘其实不需要进行磁盘碎片整理,更应该做的还是选择一个好品牌,关注产品质量。