作者Cubelia (大胸智乃)
看板Storage_Zone
標題Fw: [閒聊] SSD-被誤解的"寫入放大"
時間Sun Aug 28 13:45:21 2016
※ [本文轉錄自 PC_Shopping 看板 #1NmdY8RP ]
作者: Cubelia (大胸智乃) 看板: PC_Shopping
標題: [閒聊] SSD-被誤解的"寫入放大"
時間: Sun Aug 28 13:37:04 2016
網頁好讀版:
https://www.ptt.cc/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://www.ptt.cc/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(CL9@1.5V)
主板: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://www.ptt.cc/bbs/PC_Shopping/M.1472362632.A.6D9.html
推 Ohmy : 推 勿矯枉過正跟過度恐慌 爽爽用就好 08/28 13:44
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: Cubelia (59.127.175.203), 08/28/2016 13:45:21
→ SPDY : 相對會有人疑慮有人問不就是難免在乎難以爽爽用嗎? 08/28 15:28
→ SPDY : 不懂或不想買了糾結/建議別買 人品篤信甘願受/隨你 08/28 15:28
推 newtonyd : 不想買600p是因為tlc 不想買535是嫌貴又麻煩 Intel 08/28 15:55
→ newtonyd : 的ssd 價錢就是高人一等 值不值就看人了 08/28 15:55
→ ilanese : MX 200這一陣子漲價了。 08/28 16:04
推 newtonyd : intel擺爛不解決 消費者還願意買單是期待535保內送 08/28 16:17
→ newtonyd : 修能換540s嗎 呵呵 08/28 16:17
推 a5150219 : 想避免寫入放大變高,就不要把SSD寫太滿,如果長期 08/28 16:45
→ a5150219 : 剩餘空間很小,那寫入放大破10很簡單 08/28 16:45
→ ilanese : 樓上,這樣子理論上買一個240GB會比120GB+120GB的 08/28 16:55
→ ilanese : 使用壽命長吧? 08/28 16:55
推 silverair : 總而言之535就是雷,買個SSD整天盯E9,買了兩顆真 08/28 17:38
→ silverair : 的很幹 08/28 17:38
→ terry77720 : 買兩顆根本自己自找的 08/28 17:54
→ linzero : 一般會提出的就是有高倍率的,所以也不算誤用啦 08/28 18:15
推 xleacigma : 就我跟做LDPC/BSH聊起來的感覺大一點確實比較好用啊 08/28 18:28
→ xleacigma : 演算法也比較好發揮 版上也一天到晚在講別用太滿 08/28 18:28
→ xleacigma : *BCH 08/28 18:29
推 a5150219 : 會有寫入防大的機制就是要防止特定顆粒一直被重複寫 08/28 19:21
→ a5150219 : 入,所以會讓不同區域的顆粒平均寫入,當硬碟剩餘 08/28 19:21
→ a5150219 : 空間剩下1%,主控是會為了不讓那1%的顆粒被寫到異常 08/28 19:21
→ a5150219 : ,因此會把前面的資料移動,如此一來,便會造成, 08/28 19:21
→ a5150219 : 明明沒有寫新資料進硬碟,但是卻會增加顆粒寫入量, 08/28 19:21
→ a5150219 : 形成寫入放大 08/28 19:21
→ a5150219 : 如果拿掉這機制,硬碟會比較容易寫到後半部顆粒異常 08/28 19:22
→ a5150219 : ,使得可靠度下降 08/28 19:22
推 newtonyd : 會買兩個我想是覺得超值所以買兩個 兩個小碟比一個 08/28 20:15
→ newtonyd : 大碟貴 只是沒想到買到地雷 08/28 20:15
→ cathaylife12: 535這當初顆還推翻了 真的還不如買P牌跟M牌 08/28 20:32
推 filiaslayers: 520就是爽爽的WA<1 08/28 20:42
→ SPDY : 買了就只好認了用吧? 想壓低WA就試偏方 不然就賣了 08/28 20:55
→ SPDY : 說來 若非Intel 別牌用SF+Hynix 16nm 不被藐視才怪 08/28 20:55
→ SPDY : 還壓縮降WA蕩然無存 反可能高WA 不被罵到爆才怪... 08/28 20:55
推 filiaslayers: 現實也就只有intel搞SF而已 08/28 22:04
推 silverair : 什麼叫自找?我買的時候根本還沒爆出這個問題,一顆 08/28 22:31
→ silverair : 自己用一顆孝親自找什麼? 08/28 22:31
→ a5150219 : 520是有寫入壓縮技術沒錯,但不一定會Wa<1哦 08/28 22:56
→ a5150219 : 535其實不算爛啦,買了就買了,自己用沒問題就好 08/28 22:57
→ hibiscus520 : Intel client SSD FW寫得真的蠻爛的.建議買別家 08/28 23:58
→ a5150219 : 樓上何出此言? 08/29 00:03
推 filiaslayers: 反串看不出來嗎 08/29 00:59
→ exitptt : 第3點不對 是E8<20和E9>1才能送修 08/29 02:21
不過後來問到的結果是這樣
http://i.imgur.com/T6H3e0E.png
感謝補充,已修改~
※ 編輯: Cubelia (59.127.175.203), 08/29/2016 03:29:32
推 appoo : 那還推535嗎?看置底文大大推的那幾顆,只剩sandis 08/29 19:56
→ appoo : k 有貨了 08/29 19:56
→ appoo : 現在120gb 怎麼那麼難買啊啊 08/29 19:57
推 pipi5867 : 找個大廠保固ok的就可以買了..一般消費者沒差的 08/29 20:49
→ Cubelia : 主要推M6V,某些地方還找的到 08/29 20:50
→ Cubelia : 除非堅持要五年保再考慮535,買了記得定期觀察E9 08/29 20:51
推 appoo : 感謝開示 08/29 20:57
推 Jeff1987 : 不太懂送修標準,主要是e8低於20才要送修吧?然後e9 09/10 18:05