1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

快停下给固态硬盘整理碎片的手

本帖由 漂亮的石头2015-04-10 发布。版面名称:知乎日报

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    486,020
    赞:
    46
    固态硬盘真的不需要整理碎片吗?

    [​IMG] 李遥,A Programmer

    固态硬盘(SSD)每个块的读取时间都是恒定的,不像机械硬盘读取物理连续的扇区才有最快速度(因此机械硬盘才要“整理碎片”)。而且 SSD 的写入寿命(按次数)比机械硬盘少一到两个数量级,经常整理硬盘会大大加速老化。事实上,微软官方也不推荐对 SSD 进行碎片整理:Windows 7 & SSD: defragmentation, SuperFetch, prefetch

    另外,SSD 暴露给上层软件系统的是“逻辑块”,由控制器来映射到底层的闪存芯片上的物理块。(绝大多数情况下)软件无法绕过控制器直接管理物理块。而且不同于机械硬盘的是,SSD 的逻辑块到物理块的映射是高度复杂和相当动态的(题主关注的读平衡问题已经被控制器算法考虑到了,另外控制器还要考虑写平衡、垃圾回收、坏块替换等问题),也不适合上层软件来管理。

    [​IMG] 清蓝,只可意会不可言传 ^_^

    如果用接送孩子上学来比喻硬盘的数据读写,则

    机械硬盘:相当于统一用一辆校车(磁头)接送(读写)全市(整个硬盘)的孩子(数据),如果能让孩子们都搬家挨在一起住(碎片整理),则校车的接送会很有效率;

    固态硬盘:相当于每家都是家长开车接送孩子,这样孩子们的家是否挨在一起丝毫不影响接送效率,你非要让大家都搬家到一起住(碎片整理),只会是劳民伤财(增加擦写次数),没有任何意义;反而是大家分散住更有效率,可以缓解局部交通压力(均衡存储单元的擦写次数,避免局部过早达到擦写寿命的极限)。

    ---

    1. 碎片整理是让数据尽量集中并且连续存放,这样机械硬盘的磁头读取的时候可以效率更高;

    2. 固态硬盘由于读写的原理与机械硬盘不同,就算进行碎片整理,并不能提高性能或效率;

    3. 整理工具往往是根据硬盘分区存储数据的碎片化程度决定是否提示,可能并不考虑是否固态硬盘;

    4. 固态硬盘存储单元的擦写次数十分有限,一般情况下尽量避免不必要的数据擦写,比如碎片整理;

    5. 同样由于上一条原因,固态硬盘内部有芯片会尽量让整个硬盘的存储单元使用频率均衡化,自动将新增数据放到使用频率较低的区域,这客观上导致数据存储很分散。也就是说固态硬盘的数据本来就应该是分散和碎片化的,这是正常的并且对硬盘寿命有好处。(很多人不建议固态硬盘分区,也是想避免有些区域超负荷有些区域闲置)
    查看知乎原文
     
正在加载...