作者Cubelia (大胸智乃)
看板PC_Shopping
标题[闲聊] SSD-被误解的"写入放大"
时间Sun Aug 28 13:37:04 2016
网页好读版:
https://webptt.com/cn.aspx?n=bbs/PC_Shopping/M.1472362632.A.6D9.html
(大幅修改文章内容,更通顺)
SSD-被误解的"写入放大"
最近大湿看到某些人滥用"写入放大"这词
为了厘清到底为什麽SSD会有写入放大,那用户该不该担心这点
所以花了一点时间写了这篇文
先说结论:
1.
SSD一定会有写入放大(WA),这是SSD必定会遭遇到的本质
(除了可压缩数据的主控方案,哪颗SSD没有大於1x的WA?)
2.
不可能只要有写入放大就是有问题,更要小心别误用写入放大这个词
(如某某SSD会写入放大)
3.Intel 535有特定状态下的高写入放大
Intel不积极解决也确实是一个比较麻烦的点,现在是依靠够硬的保固去支撑
4.
不代表其它方案的SSD就必定会有和535有相同的情形
5.一般用SMART的累积值算写入放大其实存在着盲点
==================================================
1.为什麽会有写入放大,还有写入放大到底是什麽?
写入放大,原文"Write Amplification"
简单来说就是实际写入NAND Flash的资料量除以主机要求写入的资料量=写入放大值
http://i.imgur.com/UT13Q2R.png
(以下将写入放大简称为WA,因为是倍数所以可以後缀x)
要深入了解为什麽会有WA的现象请看下面这篇
http://www.pceva.com.cn/topic/crucialssd/index-6_7.html
简单来说例如主机要求写入1GB的资料时
经过一些主控和NAND Flash间的背景处理後实际写入NAND Flash的量会高於1GB
这就是写入放大的现象
所以只要是SSD有WA就是问题吗? 不见得,这是错误的观念
好或不好是看WA的高低
早期(2008年)是认为WA会大於1x或无限接近於1x
以Intel的X25-M来说,Intel宣称最佳状态可以达到~1.1x的WA
相较於同期的方案(那时以JMF602为大宗,也是表现最差的),WA甚至还会高於10
(好一点的有Samsung或MTRON的SLC方案)
直到2009年时有一间现在大家逐渐淡忘的厂商-SandForce
提出了一个能够降低WA,最佳状态甚至还能低於1x的技术,也就是DuraWrite
例如主机要求写入1 GB的可压缩资料时会被主控即时压缩到小於1 GB的量
使实际写入NAND Flash上的资料量更少
那为什麽SandForce不称它为write attenuation(写入缩小)之类的?
别问我,可能是SF没办法保证每一种负载都能够小於1x的Write Amplification
自然而然就继续用Write Amplification了(反正"倍数"也可以小於1嘛)
不过随着主控和韧体算法的演进,SSD的写入放大已经有比较好的改善了
所以後来比较少有人在提及
-
2.为什麽最近又开始有用户关心写入放大?
原因主要是Intel 535在特定情况下会有高写入放大的表现
(而且价格便宜,买的人多,那回报数就更多了)
Intel 535(530也有)用的BF29AS41BB0主控骨子里就是SF-2281(客制版)
但不知道怎麽搞的,大概是Intel在韧体节能政策上的修改
使得535(530也有)在特定情况下的WA相当高,网路上超过30倍的例子也不是找不到
甚至已经有勇者把E9当前值用到=1了,话说为何不送修R
http://www.mobile01.com/topicdetail.php?f=490&t=4741097
-
3.Intel SSD SMART值的E9值和什麽有关?
E9值和写入量有关(NAND写入量),照理来说是指剩余的P/E %
然後E9值不会归0,顶多降到1(然後就会失去保固)
要是在E9目前值降到1时再一直写入,SSD还有可能会锁死
而Intel 535(530也有)的高写入放大使写入NAND Flash的资料量极高
使E9值以极快的速度消耗
而Intel对於535和530的这问题似乎也并不是非常积极的要去解决
https://communities.intel.com/thread/46941
最後隔了这麽久的回覆则是...(2016/08/28同一讨论串尚无下文)
https://communities.intel.com/message/389443#389443
所以要买535的话建议定时观察SMART的E9当前值
E8低於20(健康度就会红灯)就直接送修
算是比较阿莎力的方法,但治标不治本
https://webptt.com/cn.aspx?n=bbs/PC_Shopping/M.1461244961.A.BDB.html
但是依照M01那篇来看
就算E9=1,E8也不会低於20
而Intel客服最後是说有问题就能送修(人损和物理损伤除外)
-
4.现在某些人也会说这个高写入放大(强调"高")的问题会不会发生在Intel的OX SSD
甚至是其它家的SSD会不会也有高写入放大的问题
答案:
不同主控和韧体的方案就没什麽好怕的
目前这问题只有在535才见的到(530也有) ,而520没有这个问题
像是Intel 730用的是DC S3500/3700的自家主控方案
而Intel 600P用的也不可能是535和530的方案(反倒是用了SMI的N00X94 NVMe PCIe x4主控)
更不用说Intel 750,又或是其它方案的SSD了(也许某些会有,但相对少见)
-
5.只看SSD的
SMART值来算WA其实有个盲点,那就是
提供给用户看的资料只是"累积值"
因为不同压力下和写入的资料类型会影响写入放大值
用总合的累积值来算并不是非常严谨的做法
以下是简单的快速验证法:
测试的是SF-2281VB1的Intel 520 120GB,以它当作范例应该不会有太大的争议
这是做测试以前的SMART值,照总合值来算WA~1.2x
http://i.imgur.com/tkReXV8.png
接到SATA 3Gb/s的接口,所以循序读写的速度会砍半(不影响写入量)
但目前是脏碟状态(都拿这颗当暂存碟w)
并使用AS SSD Benchmark 1.7.4739.38088做测试
老话重谈,AS SSD用的是比较比较难压缩+全随机的数据
对SF主控来说跑分比较吃亏,一次完整测试共5GB的主机要求写入量
以累积写入量的差值来看主机要求确实是5GB,但可以看到NAND累积写入量的差值只有3GB
这样跑一次AS SSD Benchmark 1.7.4739.38088的WA~0.6x
和刚刚用累积值算的1.2x差非常多
所以拿累积值来算并不是很严谨的做法
http://i.imgur.com/DZgc9Sn.png
测试配备:
CPU:Intel Core i5 2400(关闭C1E&EIST)
RAM:Kingston HyperX Genesis DDR3 1600MHz 4GB*2(
[email protected])
主板:MSI Z77MA-G45
系统碟:Intel 730 240GB(FW:L2010420)
测试对象:Intel 520 120GB(FW:400i,脏碟)
作业系统:Windows 7 Home Preimum x64
结语:
那用户到底需不需要担心?
用535/530那就要定期观察E9当前值,毕竟和保固有关
其它间厂商的方案就不必需要太担心了,毕竟高写入放大这个状况也比较少见
而且保固对写入量有限制的厂商也相对较少(顶多是主机写入量,如Samsung)
但不代表不需要去看其它的SMART值
定期看一下,多了解一些值的定义也可以充实一些相关知识
有重映射之类的值也可以及早发现
有错还请大大协助指正
以上,感谢各位的阅览:)
--
姐姐 姐姐 我们好像变成签名档了
雷姆,雷姆 好像真的是这麽一回事呢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.127.175.203
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PC_Shopping/M.1472362632.A.6D9.html
1F:推 Ohmy : 推 勿矫枉过正跟过度恐慌 爽爽用就好 08/28 13:44
※ Cubelia:转录至看板 Storage_Zone 08/28 13:45
2F:推 mart9266 : 看不太懂 反正坏了就换新的 08/28 13:45
3F:推 shuwei12 : 还好我都用520系列哈 便宜又耐用 08/28 13:46
4F:推 Jay915 : 感谢分享 长知识了 08/28 13:46
5F:推 w113353 : 结论 535还是QQ 08/28 13:47
6F:推 MrDisgrace : 要送修也要有地方先备份移转&一段时间没电脑用啊XD 08/28 13:49
7F:→ Cubelia : 是der,所以Intel当然还是得从根本解决这问题 08/28 13:53
8F:推 mart9266 : 535 240g用半年多了 E9还是100 有没有问题阿 08/28 13:54
9F:推 x930111 : 推 写入放大我也记得是正常 不正常的是倍数太高 08/28 13:55
10F:→ x930111 : 不过我520 用两年了e9一样是100 潮爽 08/28 13:55
11F:推 SmonSo : 结论 一般使用者还是别用535 QQ 08/28 13:55
12F:推 vobor : 推 但我还是看不懂 08/28 14:04
1.535的高写入放大开始有越来越多用户关心
2.有用户误用写入放大这个词
3.造成有人被误导
4.535(和530)的高写入放大和其它SSD无关
13F:推 idevil666 : 好险535只拿来装游戏 08/28 14:09
14F:推 WeAntiTVBS : 最後我的535还是退了 囧 08/28 14:13
※ 编辑: Cubelia (59.127.175.203), 08/28/2016 14:21:02
15F:→ delaluna : 其实就是语意问题而已 写入放大是SSD的本质 08/28 14:16
16F:→ delaluna : 但535这颗就特别严重 08/28 14:17
17F:推 Windcws9Z : 结论 Intel某系列SSD会写入放大 08/28 14:17
18F:→ delaluna : 我是觉得不要再讲某某大厂买来就是避着眼睛爽爽用 08/28 14:18
19F:→ delaluna : 哪家大厂不会出包? 还是多爬文观察 买电脑不是靠 08/28 14:19
20F:→ delaluna : 信仰的 08/28 14:19
21F:推 Windcws9Z : U大湿有开示过 SSD买来就是要闭着眼睛爽爽用 08/28 14:25
22F:→ Windcws9Z : ultratimes : 不过我买电脑就是买爽和感觉,不是买 08/28 14:25
23F:→ Windcws9Z : 数据 08/28 14:25
24F:→ SPDY : 我想确认一件事 低於20可送修 到底是看E9还是E8值? 08/28 14:29
25F:→ SPDY : 01那位苦主 E9到1破保时 E8和健康都还81 可送修!? 08/28 14:29
26F:→ Cubelia : Intel客服也没回答清楚 08/28 14:31
27F:→ Cubelia : 但应该是以E9值为准 08/28 14:31
28F:→ Cubelia : CDI是以可用的保留空间来算健康值 08/28 14:32
29F:→ Cubelia : 健康值部分大概是说Intel工具箱左边那边的健康状况 08/28 14:38
30F:推 IHD : 有530耶 只能QQ了 以为闪过535就行 没想到还是.... 08/28 14:38
31F:推 bust222 : Intel:对写入放大有疑虑的人请多参考我们eMLC产品(? 08/28 14:40
32F:→ SPDY : 很建议 最好能再问个清楚 E9并非健康值 保固设限E9 08/28 14:49
33F:→ SPDY : 规定1就破保却允许20以下未达1可送修行 意义为何!? 08/28 14:49
34F:→ Cubelia : 当时最後问到的结果是: 08/28 14:57
36F:→ Cubelia : "有任何问题都可以发送我们这里进行保固" 08/28 14:59
37F:→ Cubelia : (人损和物理损伤除外) 08/28 14:59
38F:→ Cubelia : 关於健康值这点我也一头雾水就是了 08/28 15:02
39F:→ a5150219 : 520 330的E9是不会变的,可能是韧体的因素,所以这 08/28 15:09
40F:→ a5150219 : 两颗的健康度到死前都会维持100% 08/28 15:09
41F:推 akane1234 : 看了好久还是不太懂,结论是530和535不要买较好对吧 08/28 15:19
42F:推 w113353 : E9不会变是啥鬼... 08/28 15:25
43F:→ ang728 : Controller没有压缩机能就一定有WAF 别紧张R 08/28 15:27
44F:→ ang728 : and trying new stuff 08/28 15:28
46F:推 w113353 : ang大那张是600p吗XD 08/28 15:29
47F:推 vobor : 哇 快比显卡烫了XD 08/28 15:29
48F:→ Cubelia : RD400 08/28 15:30
49F:→ vobor : 我好好奇一般SATA SSD主控会这麽烫吗? 08/28 15:30
50F:推 ang728 : 其实也会 只是说通常SATA SSD 主控会跟外壳黏一起 08/28 15:33
51F:→ ang728 : 外壳兼作散热用途 08/28 15:34
52F:推 vobor : 原来如此~ 08/28 15:37
53F:推 a2935373 : SATA的读写压力没那麽高 应该不会吧? 08/28 15:38
54F:推 KotoriCute : 不是说温度太高会影响SSD的性能? 08/28 15:39
55F:→ KotoriCute : 大概要几度才会有影响? 08/28 15:39
56F:→ KotoriCute : 有不太烫的NVMe的SSD吗? 08/28 15:40
57F:→ ang728 : 可以拆开壳跑看看 一样挺高的 08/28 15:40
58F:推 w113353 : 突然觉得上面那个土炮散热片真的满厉害的QQ 08/28 15:40
59F:→ ang728 : 当然NVME比AHCI SSD 烫也是正常的 08/28 15:40
60F:推 vobor : 这些数据都是在全速读写的时候吧 idle也会这麽高吗? 08/28 15:40
61F:→ ang728 : 降速要看控制器内部设定温度几度开始throttle 08/28 15:41
62F:→ ang728 : 其实这是当系统碟刚跑完进系统的温度 08/28 15:41
刚进OS确实会温度会比较高o.o M8PeG也是这样
63F:→ ang728 : 不过内部DTS温度跟表面的温度会差有10几度 DTS较低 08/28 15:42
64F:推 pupuliao : 我的OCZ SSD 都用了16000小时了 08/28 15:43
太神辣
66F:→ KotoriCute : 三星SM961过热会导致数据损坏 08/28 15:45
67F:→ ang728 : 三爽向来热烘烘 可以上散热片还是上一下 08/28 15:46
68F:→ KotoriCute : NVMe加个散热片对厂商来说成本会提高很多吗? 08/28 15:46
69F:→ KotoriCute : NVMe裸装感觉才是主流XD 08/28 15:47
70F:→ KotoriCute : 市面上 08/28 15:47
71F:→ ang728 : 如果还要考虑M.2机构应该会比较高一点 08/28 15:47
72F:→ ang728 : 参考一下Angelbird Wings PX1 AIC的价格 08/28 15:48
73F:推 delaluna : M2还要考虑给笔电用 所以尺寸限制大 08/28 15:52
74F:→ delaluna : 只有桌机使用者有办法加散热片 08/28 15:52
75F:→ vobor : 上散热片之後麻烦就在於可能会干涉其他元件 08/28 15:57
76F:推 goomeow : 推C大好文 08/28 16:06
77F:推 pupuliao : 120G 累积写入25TB 读取37TB 不知道是多是少 08/28 16:08
78F:→ pupuliao : 不过我找不到NAND 写入的资讯 08/28 16:09
79F:推 fin806 : 这麽麻烦干嘛= = 535是夸张极端的例子 08/28 16:15
80F:→ fin806 : 可以不要买他阿 08/28 16:16
81F:→ fin806 : 一般使用者都是能不送修就不送 08/28 16:16
82F:→ fin806 : 尤其又是当系统碟的时候 游戏碟就随便了 08/28 16:17
83F:推 Lapodia : 好文 08/28 16:18
84F:→ x94fujo6 : 部分笔电的nvme ssd已经有做散热片甚至热导管了XD 08/28 16:23
85F:推 FuryX : 看到大胸先推再看 08/28 16:24
86F:→ FuryX : 嗯....家里有一颗520,来检查一下 08/28 16:26
87F:→ Akabane : 535挂程式写入放大从10倍变1倍多 08/28 16:32
88F:推 yys310 : 08/28 17:06
89F:推 sinplusling : 520没有写入放大 530有 我两颗都有 08/28 17:18
不是"没有写入放大",任何SSD都可以有"写入放大"(依这个名词的算法来说就是这样)
而写入放大也可以是小於1的值(因为是"倍数")
(真的不解可以去问Intel或SF为何不把这种状况称为"写入缩小"...)
90F:推 HiJimmy : 要写入缩小 要刚好是有连续字串 可以压缩写入 08/28 17:39
91F:→ HiJimmy : 所以不能保证 08/28 17:39
92F:→ delaluna : 我看不太懂写入量用累积值有甚麽不客观的地方? 08/28 17:54
93F:→ delaluna : 特定时间内变化量可以看出不同附载对WA的影响 08/28 17:54
94F:→ delaluna : 但整体寿命的消耗就是看累积值 而且累积值也代表 08/28 17:55
95F:→ delaluna : 使用者所有workload的平均值 没甚麽不实际的地方 08/28 17:56
96F:推 gamesame7711: 08/28 18:04
97F:→ Cubelia : 整个平均值和特定负载算出来就是不一样 08/28 19:00
98F:→ Cubelia : 只是点一下,以免有人以为无论哪种情况的WA 08/28 19:00
99F:→ Cubelia : 就是那样算 08/28 19:00
101F:→ Cubelia : "using the deltas in the equation is a valid way 08/28 19:04
102F:→ Cubelia : to calculate WAF under specific experimental 08/28 19:04
103F:→ Cubelia : conditions. 08/28 19:04
104F:→ SPDY : 说来01那位苦主 180TB/120GB大概就1500次全抹写呢 08/28 19:51
105F:→ SPDY : 535倘若没NAND累计写异常的高WA作怪 是堪日常用的 08/28 19:51
107F:→ iWRZ : 用了一年多 剩下87...... 08/28 19:52
108F:→ SPDY : 只是看楼上要是WA不是8 而是25 E9...会掉到多少呢? 08/28 20:00
※ 编辑: Cubelia (59.127.175.203), 08/29/2016 03:30:37
109F:推 Alu76521 : 结论,不是Intel,是535会写入放大。谢谢C大 08/29 07:50
110F:推 a5150219 : 楼上理解错误… 08/29 16:04
111F:→ a5150219 : 是每一颗SSD都会有写入放大,这是正常的,535是写入 08/29 16:05
112F:→ a5150219 : 放大「异常高」 08/29 16:05
113F:→ MirageAngel : MLC:ARC═100╬MX═200╬SX═930╬Z400S╬F200╬M6V 09/02 10:47
114F:→ Cubelia : SX930 pass 09/04 21:26