PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

释解两种会增加SSD写入量的情况

[复制链接]
跳转到指定楼层
1#
糊了么 发表于 2016-9-19 11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:4584|回复数:18
前几天在色魔张大妈网站上看到留言区的一些关于SSD的讨论,觉得比较有意思,先把其中一张图贴出来:

显然近几年FTL转换表提的比较多,而MFT主文件表却很少有人提起了。当代的操作系统对于SATA接口SSD来说还是没法直接从底层沟通的,操作系统不知晓也无法管理SSD内部数据实际在闪存中的存放排布,因为直到现在还没有一个在各厂商之间都统一的、直接面向闪存的管理接口。SSD在做的是尽可能把自己模拟成传统硬盘去以便和操作系统沟通。

还是用影驰铁甲战将240做测试,提前在盘内生成一个随机数据为内容的2GB大小测试文件,文件生成完以后用影驰SSD魔盘看写入量,当前是852:

同分区内移动文件到另外一个目录:

移动操作瞬间完成,移动后写入量还是852没有变化。毕竟变化的只是一个指针(若干字节),在以GB为单位的写入量统计里根本提现不出来。

通过磁盘管理将铁甲战将240压缩卷,扩展成两个分区:D盘和E盘。把原本在D盘的文件移动到E盘

这个过程就能看到进度条了,盘内复制需要花一些能看得到时间。

复制完后再用影驰SSD魔盘查写入量,毫无意外,写入量增加2G达到854了。

如果仅仅有上边这点内容的话,当然是对不起观众的。不知道是否有谁提出过这样的疑问:既然同盘移动文件不增加写入量,那为何又说SSD做碎片整理会产生写入量有损寿命?

既然说起碎片整理,首先说下什么是磁盘碎片。由于操作系统在写入数据时采用见缝插针的策略,很多文件在写入的时候实际并不是写到了连续的逻辑地址(LBA)上,可能是东一段西一段,虽然链式存储能保障操作系统始终能找到下一段数据的位置,最终把整个文件内容连成一起,但频繁的找分段过程体现在传统机械硬盘上就是频繁的寻道操作,而机械硬盘的寻道延迟是相当可观的,碎片化的文件会严重影响磁盘性能,所以我们要定期对机械硬盘做磁盘碎片整理(Defrag)。


磁盘碎片整理的过程并非将文件移动到新的目录,而是将文件存储在不同逻辑地址的片段进行组合后重新写入,使其逻辑地址连续(对于机械硬盘来说,逻辑地址连续意味着实际记录物理位置的连续,读取时磁头可以高效工作,而不必频繁寻道)。也就是说,磁盘碎片整理在做的是对文件不同部分进行搬移,改变文件不同段落的逻辑存储位置,其中涉及到了先复制再删除的过程,单单改变文件指针是不能消除碎片的,必须改变文件存储的逻辑地址,也就是碎片整理必然会发生实质性新增写入。由于操作系统和FTL是不能直接通气的,LBA逻辑地址和PBA实际存储地址也不是一一对应关系,对SSD做文件碎片整理肯定会产生很多不必要无意义的写入(SSD性能不会受文件碎片化的影响)。

其实很多道理是大家都听说过,但却没有实际验证过的。最后来验证一下SSD做碎片整理是否会增加写入量吧。在影驰铁甲战将240这么一块几乎空的SSD上要做碎片整理好像有些麻烦?不过可以借助PassMark Fragger这个小软件。下图中我设置将2GB的测试文件分割出800个碎片,将其分布到不相邻的LBA逻辑地址位置上去,这个制造文件碎片的预备工作其实就是碎片整理的逆向过程:


在将2G文件打散成800多个碎片后,当前影驰铁甲战将240的写入量是862。

由于Win8以后的系统能识别存储介质类型,对SSD只会做手动Trim类型的优化而不会执行碎片整理,所以接下来用Win7的磁盘碎片整理程序进行碎片整理

整理完后再来看铁甲战将240的写入量,增加864G了…完全不必要的写入啊

最后简单总结:同分区内移动文件,改变的是文件指针,写入增加极少;不同分区移动文件,经历了复制和删除源文件的过程,MFT和FTL是说不上话的,写入会如实增加;磁盘碎片整理需要调整文件存储逻辑地址(LBA)位置,所以通过改变文件指针是做不到,必然会经历大量的分段复制、删除、整合操作,对SSD产生无意义的实际写入增量。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1绝对值 +1 收起 理由
变开彡金钅冈 + 1 赞一个!

查看全部评分

2#
athloncn 发表于 2016-9-19 12:48 | 只看该作者
每次看到LZ的文章 都能有收获
受益匪浅
3#
nighttob 发表于 2016-9-19 12:49 | 只看该作者
本帖最后由 nighttob 于 2016-9-19 12:51 编辑

SSD内部数据过度碎片化一样影响性能,一个16KB数据是在一个page里一次tR读出来还是分散在四个page里最多4次tR肯定是有区别的
只是碎片与否对用户是透明的
但确实有很2的跑分固件会制造大量碎片,有些时候WL过度也会制造碎片
4#
yukari 发表于 2016-9-19 13:01 | 只看该作者
结论和hdd没区别(逻辑上)
来自苹果客户端来自苹果客户端
5#
中华田园犬 发表于 2016-9-19 13:36 | 只看该作者
用实践检验办法很好,不过张嘴就提SSD寿命的大概不知道他这种省法可以传给儿子了
6#
SF2281 发表于 2016-9-19 15:41 | 只看该作者
同盘符移动文件,只移动文件指针,数据不动。
异盘符移动文件,操作系统是先复制一份到要移动的盘符,再把原来的删除。
都是移动文件,这两种方式操作系统所发的指令是不一样的。
7#
zhangzh0199 发表于 2016-9-19 18:24 | 只看该作者
硬盘分一个区也叫分区,硬盘不分区是不能使用的,怎么那么多人认为分一个区就不叫分区了?现在windows系统提倡分一个区管理硬盘,并且也容易管理,系统就是坏了也可以保留用户文件重置电脑。我这三年装系统都是一个区。真正重要的东西放到移动硬盘备份。
8#
knetxp 发表于 2016-9-19 18:45 | 只看该作者
zhangzh0199 发表于 2016-9-19 18:24
硬盘分一个区也叫分区,硬盘不分区是不能使用的,怎么那么多人认为分一个区就不叫分区了?现在windows系统 ...

系统一个区,移动硬盘一个区,加起来两个区
来自苹果客户端来自苹果客户端
9#
千里寻花 发表于 2016-9-19 19:44 | 只看该作者
所以需要进行碎片整理吗
10#
az6338890 发表于 2016-9-19 20:51 | 只看该作者
千里寻花 发表于 2016-9-19 19:44
所以需要进行碎片整理吗

当然不需要....
11#
变开彡金钅冈 发表于 2016-9-19 22:20 | 只看该作者
谢谢
更加明确 SSD 禁止 碎片整理
但是
不知道 能不能使用 磁盘清理 ?
网上也没有个明白的说法




12#
wengjianbo 发表于 2016-9-19 22:24 | 只看该作者
主控又有了改进的空间了
13#
defender 发表于 2016-9-19 22:43 | 只看该作者
学习啦!!
看来使用习惯需要改改啦!!
14#
mustardgs 发表于 2016-9-20 11:52 | 只看该作者
原来只分一个区是为了增加使用容量 用惯以后感觉其实比多个分区更方便
当初搞一个160g分4个区的智障我想打死他
15#
SSD考察团 发表于 2016-9-20 19:47 | 只看该作者
随便用就是了,难道还供起来
我现在都是一个硬盘一个分区
机械盘500g,可以用64K簇
16#
kof758 发表于 2016-9-21 11:51 | 只看该作者
为什么要下载到桌面,,,,,
17#
22860411 发表于 2016-9-22 14:10 | 只看该作者
固态硬盘只分一个区,那么,系统坏了,重装软件,游戏,不是更麻烦。更增加写入量吗?
18#
tomoyo 发表于 2016-9-23 00:31 | 只看该作者
22860411 发表于 2016-9-22 14:10
固态硬盘只分一个区,那么,系统坏了,重装软件,游戏,不是更麻烦。更增加写入量吗? ...

你那是老观念。。win8不敢说。。win10除非挂到启动不了。。重置系统就是了
19#
applelovekula 发表于 2016-9-23 08:50 | 只看该作者
个人分2区的主要原因是
1.为了重装方便。。。
2.找某些东西的时候不需要多开一个文件夹
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部