终于明白为何固态硬盘不能整理碎片了:越整越慢

2019-02-14 15:53:56 15点赞 57收藏 12评论

很多人都听说过“固态硬盘不需要做碎片整理”,但对于为什么不需要整理,和“整理的话会有什么后果”不甚了解。今天就以东芝TR200为例,通过试验来看看固态硬盘内的“碎片整理”到底发生了什么。

终于明白为何固态硬盘不能整理碎片了:越整越慢为了展现固态硬盘内数据读取的速度变化,首先在TR200固态硬盘内写入两个4GB大小的文件,通过不同的修改日期将二者从File Bench文件读取速度测试软件的结果当中分离开来。最初两个文件的读取速度应当是完全一致的:大约在480MB/s左右。

终于明白为何固态硬盘不能整理碎片了:越整越慢

接下来通过一款名为PassMark Fragger的软件,对iobw.tst进行“碎片化”处理。这里的碎片和机械硬盘一样,是文件系统层面的概念,指的是文件中原本连续的部分因为写入位置的不同而零碎地分布在不同的逻辑地址上。

终于明白为何固态硬盘不能整理碎片了:越整越慢碎片化处理的后果是,数据片段被写入到新的闪存位置,原本可以一次性整段读出的数据,未来需要分多次读取。尽管闪存的随机读取速度比机械盘的磁头寻道要快的多,终究不比连续读取速度快。所以碎片化处理过后,iobw.tst文件的读取速度大幅掉落至361MB/s。说明一个问题:即便是固态硬盘不需要碎片整理,但大量的文件碎片对于固态硬盘依然是不利的。

终于明白为何固态硬盘不能整理碎片了:越整越慢接下来我们用Defraggler碎片整理程序来执行碎片整理,看它能否解决固态硬盘的碎片问题。Defraggler默认对固态硬盘执行的是“优化”而非“整理”,但是我们可以强制它执行“整理”:

终于明白为何固态硬盘不能整理碎片了:越整越慢但是软件已经明确的提醒了碎片整理会减少固态硬盘寿命。这一点并不奇怪,碎片整理的过程就是将逻辑地址不连贯的文件碎片读取出来,然后重新写入到连贯的逻辑地址上。

终于明白为何固态硬盘不能整理碎片了:越整越慢但由于固态硬盘有FTL这样一个中间转换层,逻辑地址和物理地址并不一一对应。尽管碎片整理程序将零碎的文件片段在逻辑地址上整理成了连贯的顺序,却无力改变数据在固态硬盘闪存芯片中的具体分布。碎片整理话费了大量时间,产生了大量的写入,却依旧劳而无功,无法让文件的读取速度恢复到原有的水平。

终于明白为何固态硬盘不能整理碎片了:越整越慢更可怕的是,即便我们现在遵照软件的建议,使用“优化”而非“整理”的方式处理固态硬盘,速度也无法恢复了。因为“优化”操作本质上是对没有文件存储的“空白”地址手动发送Trim指令,促使固态硬盘主控完成对空白位置的垃圾回收。

终于明白为何固态硬盘不能整理碎片了:越整越慢但已经存储有数据的地方是无法Trim的:Trim的结果只有一个,那就是数据被清空。所以最终在浪费了大量闪存写入耐久度之后,我们还是没有任何办法能让文件的读取速度完整恢复。

终于明白为何固态硬盘不能整理碎片了:越整越慢

执行磁盘碎片整理的时候会产生新的写入,而固态硬盘主控会因闪存不能覆盖写入的特点,选择新位置写入数据,然后将老位置标记为失效。每次碎片整理都会让文件在闪存中的碎片化程度又提升了一点点:好心办坏事!


终于明白为何固态硬盘不能整理碎片了:越整越慢

还记得机械硬盘时代我们怎么处理越用越慢的操作系统吗?使用GHOST备份后再还原回去,电脑运行速度就恢复了不少。其实GHOST恢复的过程就是全部重新写入一次,只不过这个方法并不适合写入受限的固态硬盘。我们正常使用固态硬盘的过程中,只要不刻意地整理碎片就可以了。


展开 收起
12评论

  • 精彩
  • 最新
  • 碎片整理会额外复写数据,降低了寿命,何况本来SSD就内置冗余空间管理加之读取速度可观,也就没必要了。
    至于弄篇原创,有点水。。。。。

    校验提示文案

    提交
  • 又不是磁头分扇区读写,整理什么?没事把固态盘数据都整理到一个内存块去,整的主控多通道读写没用.....多整几次,说不定还把几个区块不停重复读写给寿命磨损完了.....用了固态,就压根没有整理什么事了,什么都看固件和主控的策略 [被吓到]

    校验提示文案

    提交
    没错,整理之后的结果,是把同一个文件的数据集中到一块连续存储空间,很大概率会集中在一或两个片选信号(通道)控制的芯片上,导致读写不能充分利用多通道的优势,对于SSD来说,即使整理成一个连续区块,其自身的磨损均衡算法还是会持续动态的分布式迁移数据,最终还是趋于碎片化的,反而有利于多通道的优势发挥。

    校验提示文案

    提交
    收起所有回复
  • 感觉固态硬盘最大的优势(提升)还在在于大量小文件的读写,特别是对于普通用户来说,读写几百兆甚至更大的文件机会并不是很多。什么意思呢,平常电脑开机,运行各种软件,做各种操作,大部分都是对小文件进行读写,这时候固态硬盘相对于机械硬盘的优势就体现的淋漓尽致了。我自己感受最大的,就是之前一台老笔记本,每次开机、运行软件什么的,都卡的半死,硬盘灯拼命闪啊,都想换本子了。后来加了一块SATA固态硬盘,把系统和软件装在固态硬盘上,资料放在机械硬盘上,感觉就是打了兴奋剂似的,整体都快起来了,硬是延续了两年的寿命,直至最后CPU实在跟不上软件变态的升级了,才放弃去换了本子。

    校验提示文案

    提交
    大神好专业,关注了。想请教一个问题,刚买的闪迪3D高速,读480,写入只有380,换了好几个软件测试都是写低,不知道为何?

    校验提示文案

    提交
    收起所有回复
  • 两者工作原理都不一样,固态硬盘对于文件整理,是个忌讳

    校验提示文案

    提交
  • 这不是10年前就整明白的概念么

    校验提示文案

    提交
  • 消灭零回复,固态硬盘和机械硬盘的原理不一样,现在的固态硬盘都是TLC颗粒,通过设置缓存模拟SLC工作,碎片整理没有意义!

    校验提示文案

    提交
  • 另外,我觉得对于普通用户来说,SSD的关键指标应该是随机读取,而不是顺序读取。手头没电脑去做测试了,我也不专业,印象中当时加装固态硬盘后,顺序读取的速度相比机械硬盘,可能只提升了几倍(早期本子只支持SATA接口的SSD),但随机读取速度提升了好多倍。所以我才觉得:固态硬盘最大的优势(提升)还在在于大量小文件的读写,对应的就是平常电脑开机,运行各种软件,做各种操作这些场景。

    校验提示文案

    提交
  • 我对文中关于固态的优化的解释不太理解
    如果只是优化逻辑地址,那不需要动到物理地址,就是说没有多少写入就搞定了啊,但是这样也没什么大用,毕竟就是文中所说的物理地址还是不连续~
    如果逻辑和物理都动到了,那么肯定是整理成了逻辑和物理都连续了吧,速度会上去,只有整理时个别无法移动的文件无法移动...

    对于固态整理我有个建议:全盘拷贝出去,格式化后再拷贝进来。至少对于下载盘来说这个方法很实用,来回折腾后肯定就连续了~系统盘不太清楚迁移是否能保证所有文件或文件系统都连续

    校验提示文案

    提交
    可SSD对于物理地址没有说写一个大文件就一定是连续的说法。SSD对于写入文件时,会平衡颗粒寿命,优先写入使用次数少的位置,并不会连续位置写入。

    校验提示文案

    提交
    收起所有回复
  • 请问如果磁盘清理的目的不是想提高性能,而是想分出一片较大的连续空间呢?
    我想在固态硬盘上装一个双系统,需要把固态硬盘分出一个空磁盘;但因为碎片的原因,目前只能分出9G的空间大小(实际空闲80G),而固态硬盘又不适合碎片整理,请教一下还有什么其他方法呢?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
57
扫一下,分享更方便,购买更轻松