[問題] 已寫入1.2PB二手礦盤SSD之保養研究

硬碟

29142


去年於海鮮皮上入手一支Adata 70 Blade 2T $2500
https://i.imgur.com/iQcGlwM.jpg

賣家有貼CrystalDiskInfo,已寫1250TB健康值66%,應該是奇亞碟,
但這些條件:gen4/2TB/不到3千的價格/尚未超過保固的1400TBW/用來放影片剛好
有香味飄出來,忍不住當了接盤俠~

接盤後,觀察S70的CrystalDiskInfo有個現象:在檔案複製進度條完成後,
"09-主機寫入命令"的數字還會一直增加,持續一小段時間 (07也是)
https://i.imgur.com/kEBEWow.jpg

且持續的時間似乎跟寫入資料的大小成正比,檔案愈大,09的數字變動也愈久。
(例如寫入300G後09的數字變動會持續約3分鐘,寫入100G後則持續1分鐘)

問題來了:檔案複製完成後,主控在忙著做啥,使得07、09值一直增加?

我的腦補是:
1.應該不是把資料從DRAM寫入NAND顆粒,因為DRAM才2G,資料有上百G;
2.應該是在做Wear Leveling?寫入時為了速度,資料先隨機分散存在NAND區塊中,
這些區塊的地址會記在DRAM,等資料寫完,主控再根據這些地址做Wear Leveling。

這麼說對嗎?若這腦補有誤煩請大大們不吝打臉0.0

網上查Wear-Leveling有很多種工作,其中一個是:將新資料與舊資料的區塊做比對
,若新資料所在區塊,抹寫次數比舊資料的區塊高10次(假設)以上, 那麼主控會
將這2個區塊的資料對調,讓新資料存到抹寫次數少的區塊上,而舊資料放到抹寫
次數多的區塊上。意義上可能是預判舊資料不太會變動,用高抹寫次數的區塊存,
可以避免此區塊被再度抹寫。

根據這機制,我有個大膽的想法:
也許能將最老舊區塊抓出,讓我日後存資料時可以避開這些區塊?

做法:
1.清空SSD,建立一資料夾,塞100G資料在裡面,然後將資料夾設隱藏。
2.剩下的1800GB空間,重複"寫入300G資料,休息3分鐘"的步驟,直到塞滿。
(因為在Windows中看到的S70 blade 2T容量只有約1900GB)
3.將1800G的資料刪除,不刪除隱藏資料夾。
4.步驟2跟3再重複做個兩次。
5.對SSD做最佳化整理,完成。

此操作的目的:
讓那100G的隱藏資料夾,成為SSD上最舊的檔案,
之後每次寫入的300G資料,若遇到抹寫次數特高的區塊,就去跟舊資料的區塊對調,
這隱藏資料夾就是用來收集被操最兇的區塊,此資料夾將一直留在SSD上。

也就是 → 犧牲100G的空間,提高其他1800G空間的安全性。

不知我這腦補做法,方向是不是正確呢?




--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.202.191 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Storage_Zone/M.1670138796.A.A73.html
raidcrash1樓看不出這麼做的意義 你忙半天主控也不一定會照你預 12/04 15:47
raidcrash2樓期的做 讓主控做它該做的事就好 要安全性就備份 12/04 15:47
suyuan3樓如果是我會買新的,把時間省下來看a片打手槍 12/04 16:02
因為只是要放影片,也不是重要資料,用健康度100%的SSD來放影片有點太奢侈… 一年來我自己寫入不到10T,其中有5T多的量是做了上面的操作
Saren4樓ssd有ftl 所以你的100g的位置只有主控知道 12/04 17:21
winiel5595樓不正確 12/04 17:33
linlongchau6樓1,2,3步驟看不出有什麼意義?整支清空後使用也不會怎 12/04 17:34
linlongchau7樓樣啊,除了讀寫多外,看不出有什麼問題,買礦盤本來就 12/04 17:34
linlongchau8樓是要巴結一點...這支GEN4在12代板及X570循序可達2, 12/04 17:34
linlongchau9樓7xxM,4K算高端,1480TBW,用一段時間後才知道$2,500貴 12/04 17:34
linlongchau10樓不貴吧. 12/04 17:34
linlongchau11樓1年寫10TB,10年寫100TB,50年寫500TB,有什麼好擔心? 12/04 17:47
linlongchau12樓保持主板正常,SSD溫控正常,少搞全盤寫入就好啦.. 12/04 17:56
喔我應該再補充個截圖,才能讓大家明白我為何感到隱憂, 補個當時賣家的其他S70賣場的CrystalDiskInfo,
雖然健康度有74%, 但它的"03-可用備用"變成60(正常應該64),代表有區塊掛掉了0.0!! 應該不是顆粒差,可能是挖奇亞幣時一直寫入都沒在休息,主控常常沒空做 wear-leveling,結果有機率讓一些區塊過度抹寫而掛掉。 (不過這支仍然被其他接盤俠接走了) 也就是說,被當奇亞碟操過的SSD,健康值可能很難順利走到0%的終點, 因此我的S70應該也有些區塊抹寫次數超高,只是03還沒掉,所以才想保養一番QQ
Ahhhhaaaa13樓髒碟遇到有被寫過最多次的區塊就自動讀取找其他區 12/04 18:03
若是寫入前要做判斷,不會影響SSD的效能嗎, 因為要判斷的邏輯應該不只一層:先算全盤多少抹寫次數以上算高,然後判斷選取區塊 抹寫次數是否在此範圍,接著再檢查SSD空間是否足夠, 若空間足夠→再尋找其他低抹寫區塊;若空間不足→只好寫在此區塊上, 每段資料寫入前都要數種判斷,不會影響效能嗎...
linlongchau14樓想太多,剩餘健康OP空間都還是100,你不能"想像"一個 12/04 18:28
linlongchau15樓正常杯子什麼時候要破裂啊,明明就是好的,真的跑出裂 12/04 18:28
linlongchau16樓痕再說 12/04 18:28
SPDY17樓主控韌體具體行為對使用者而言是黑箱 不用想太多了 12/04 18:29
greg757518樓你想太多了 12/04 18:39
Cubelia19樓來片Optane SSD 12/04 18:51
CARLORFFLIN20樓2500接手就不要想這麼多,放肉片沒了就當對身體健康 12/04 21:10
可是排毒也是一種養生不是嗎
spfy21樓擔心就別買 買就別擔心 除非你覺得保養是種樂趣 12/04 21:28
leftless22樓看起來只是在花大量時間去滿足你的強迫症 12/04 23:03
leftless23樓就算做了一堆實驗驗證你的假設 你還是沒辦法確認你 12/04 23:04
leftless24樓的假設是完全正確的 12/04 23:04
leftless25樓就算是完全正確的 你做那一堆實驗的價值最多也就是 12/04 23:08
leftless26樓買一條新的2T SSD 我選擇直接買一條新的 12/04 23:08
Lemming27樓做啥WL 奇亞p圖是在把幾百G做像sorting之類的處理 12/04 23:23
Lemming28樓一直在那邊生新的又砍掉 最後壓成一個檔案送去HDD 12/04 23:24
Lemming29樓正常會拿空碟去做 官方教學也是這樣建議 12/04 23:25
Lemming30樓所以就是一直生檔案 清光 重複 應該會很平均 12/04 23:26