固态硬盘SSD要不要碎片整理?磁盘碎片是怎么产生的?
机械硬盘时代砖家最喜欢告诉小白:“系统慢了吧?赶紧碎片整理撒。”小白屁颠屁颠地整理去了。殊不知碎片整理对于SSD来说完全就是种折磨。这种“好习惯”带到了SSD上不一定好用。
机械硬盘时代的碎片整理
磁盘碎片整理,就是通过磁盘碎片整理软件对电脑磁盘在使用过程中产生的碎片和凌乱文件重新整理。磁盘碎片应该称为文件碎片,主要是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。
机械硬盘在使用一段时间后,由于反复写入和删除文件,磁盘中的空闲扇区会分散到整个磁盘中不连续的物理位置上,从而使文件不能存在连续的扇区里。这样,再读写文件时就需要到不同的地方去读取,增加了磁头的来回移动,降低了磁盘的访问速度。
磁盘碎片整理程序的主要原理是,将硬盘上零散的数据有序的进行排列,以减少寻址时间,提高磁盘的访问速度。但是,当前的碎片整理软件对于SSD来说其实都是没有效果的。
首先请大家看两幅图:
这两幅图向我们说明了,由于现在的文件系统都是基于HDD所开发的,而HDD相对于使用闪存作为存储介质的SSD来说,可以直接覆盖而不需要先擦除后再写入,因此SSD内部需要靠一个叫做FTL的东西来模拟HDD的操作以配合现有的文件系统。
现有的磁盘碎片整理软件,一般都是通过把写入磁盘时由于连续空间不足而被分散的文件数据合并和把由于删除文件造成的空白磁盘空间合并来达到整理碎片的目的。在HDD上由于LBA(逻辑地址)和PBA(物理地址)的关系是1:1对应,软件通过操作系统对文件系统的文件碎片进行整理,即等于整理了硬盘内实际存在的数据碎片。(见下图左边部分)
到了SSD上,由于有FTL的存在,LBA和PBA不再是1:1对应的关系,因此即使对文件系统所显示的LBA数据碎片进行整理,实际上并不等于整理了 PBA上的数据,而且由于闪存必须先擦除才能再写入的特性,碎片整理更加会令以P/E(擦/写)次数计算寿命的闪存颗粒浪费不必要的P/E次数导致寿命的 减少,因此SSD没有需要整理碎片。
磁盘碎片是怎么产生的?
硬盘碎片指的是硬盘读写过程中产生的不连续文件。
由于文件分区表在将文件的内容放入硬盘时不是连续存放的,以至于在删除这个文件后,有些空间没有释放从而引起碎片的产生。当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎 片的主要原因。
最常见的产生碎片的原因就是下载大文件,因为下载下来的大文件被迫分割成若干个碎片存储于硬盘中。因此下载是产生碎片的重要原因之一。此外经常的删除 文件,也会产生大量的磁盘碎片,文件的删改越频繁,碎片就越多。磁盘上的文件碎片越多,系统读取和新建文件的速度就越慢。这主要是由于硬盘读取文件时需要 在多个碎片之间跳转,增加了等待盘片旋转到指定扇区的潜伏期和磁头切换磁道所需的寻道时间导致的。
磁盘碎片整理程序的主要原理是,将硬盘上零散的数据有序的进行排列,以减少寻址时间,提高磁盘的访问速度,同时及时清理磁盘碎片文件也有助于保持硬盘的健康。
磁盘碎片整理的方法很多,可以通过WINDOWS自带的碎片整理工具进行,也可借助第三方碎片整理软件进行。