![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 儲存媒體討論區
(https://www.pcdvd.com.tw/forumdisplay.php?f=20)
- - 請教SSD的使用問題
(https://www.pcdvd.com.tw/showthread.php?t=961988)
|
---|
引用:
當然會不同吧 或許廠商的"TB"的前提就是有經過平均寫入後的計算 我目前也是這樣子假設,所以"次"約等於 總寫入容量/SSD容量 當然一切都不會那麼理想 例如我空白的地方只有32GB, 96GB全都放一些幾乎不會變動的軟體 那平均寫入再怎麼神通, 大概也只會針對那32GB空白的地方平均抹平寫入 這時候我在想是不是有一種defragment的軟體(我知道SSD不適合用這個) 專門幫檔案"移位"的,讓128GB所有空間都能更平均更充分被寫入 ...說那麼多, 假設MLC真的有3000次寫入的壽命, 我這些都是瞎操心的 :p |
引用:
1.跟一般硬碟安裝一樣 2.目前SSD是以4KB為單位寫入,搞4KB對齊才能發揮最大效能,因主控晶片不同約有5%~15%的差距 3.容量裝愈滿,寫入速度會愈慢,但是讀取速度幾乎不會受影響 4.使用一個月後,用SMART分析,去統計出你一個月平均寫入多少,再來決定要不要改變使用方式,一般使用者在九成情況下,不需做任何改變 然後可以選擇intel家的ssd,畢竟Intel SSD Toolbox的功能很完善,可以彌補xp的不足 引用:
原來如此,這樣將來可以把intel家的購買優先度提高了 引用:
XP與WIN7的預設格式配置是4KB,而目前SSD的寫入單位page也是4KB,2者相同,所以寫入量是可以正確估計的 聽說將來20nm的page會改成8kb,到那時會為了最佳效能與正確估計,格式配置可能就要改成8KB了 |
引用:
你有興趣的話,可以查查 static wear-leveling,簡單說SSD controller會將少用的資料搬到常使用的cell,這樣常寫入的資料就可以使用之前少寫入資料佔用的cell,這樣cell耗用程度跟速度都能維持均衡;可以說就是因為有wear-leveling,重整軟體變得沒有什麼意義 另外SSD的是壽命次數到最低階的硬體是用cell作單位,cell erase作放電才會影響SSD壽命;所以讀不影響壽命,而寫入如果沒有乾淨無資料的cell就必須把整個cell erase再把資料寫入,壽命 -1 .... 另外各家NAND Flash的壽命不一樣,像IMFT 25nm Flash,Micron牌spec P/E endurance 3000次,Intel P/E endurance 5000次,同間工廠不同牌子不同QC跟性能規格,神奇吧... btw,你太小看工程師的肝了......如果連Home/Office use都扛不住,這些工程師的肝都白爆了 |
引用:
請問你的意思是wear leveling會自動把我例如OS的檔案搬到常使用的cell嗎 :confused: 如果是的話頻率會很常嗎? |
引用:
應該說 SSD controller 會將資料平均分散寫入於每顆cell;假設cell A使用1000次,cell B使用800次,controller會將cell A的資料透過TRIM, weal-leveling搬到cell B....保持NAND Flash的壽命跟速度均衡 當然這是理論上,實際上各家controller&firmware實做方法都不同;像Sandforce, Marvell系列都是偏向少執行TRIM, Wear-leveling,因為越常執行TRIM, Wear-leveling,NAND cell就必須更常erase,NAND Flash壽命反而會減少 SSD controller為什麼是最重要又昂貴的IC,就是因為它要兼顧效能、壽命,algorithm非常難寫... |
引用:
25nm就已經是8KB了,20nm會變成16KB 我猜配置都設4K並不會有明顯的差別,而且你若設8K應該是灌不了作業系統 |
引用:
原來如此,資訊更新不足,抱歉啦 那25nm的SSD寫入量就需要經由主控晶片去作考慮尾檔的計算了 難怪有的SSD的SMART有提供Total Host Writes有的沒有 看來沒有的話只能從擦寫次數來推斷消耗程度了,例如M4的AD值或X25V的E9值 |
引用:
我想問的是controller會"自動"把"已存在"的檔案搬移到使用較少的空間嗎? 單純寫入新的資料會wear leveling這個我清楚 但是假設我的SSD有75%已被使用, 而且這75%幾乎不會再寫入, 只有讀取的用途 所以我才會想問這個75%要如何才會被wear leveling再利用呢? 除了清掉這75%之外 我這裡有2個假設 A. SSD會自動搬移極少被寫入/更變的區塊, 例如我windows7安裝好了OS的檔案根本不會再被移動/寫入, →但是如果是這樣, 它要如何/何時去進行這個搬移動作 B. 當我寫入任何檔案時, SSD會自動把我某一塊已被寫入的區域搬到未寫入的區域 再把我要寫入的檔案放在被搬走的區域, 以活用一些極少被變動的區塊 →但是如果是這樣, 寫入的速度應該會變成很慘, 因為它要進行讀取 寫入 , 再寫入3個工作 |
引用:
Controller不會看到file system這個邏輯層級;它是已硬體層級的cell使用次數來判斷,如果某cell很少被使用到,cell儲存的資料會被"定期"搬遷到別的cell,那這顆cell就能空出來被使用. 所以你的問題答案是Yes,只是實際上"定期"執行狀況要看controller&firmware搭配,效果如何不一 |
感謝回答
我在wiki也找到了一段話 The other type of wear leveling is called static wear leveling which also uses a map to link the LBA to physical memory addresses. Static wear leveling works the same as dynamic wear leveling except the static blocks that do not change are periodically moved so that these low usage cells are able to be used by other data. This rotational effect enables the SSD to operate until most of the blocks are near their end of life. 寫的和你寫的"週期性"的說法是一致的 可惜找不到其它文章有說明SSD controller是如何控制這個週期性 或許是在HDD沒有什麼loading時進行? 這可能是最不影響效能的方式吧 這個答案讓我開這串主題拿到的答案 看來是不用太擔心這些static data會有那種佔著茅坑不拉●的問題 :p |
所有的時間均為GMT +8。 現在的時間是10:45 PM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。