小弟最近買了張 Transcend 300X SLC CF 來做(偽)SSD,順道試試驗證一下 flash memory (快閃記憶) vs 硬碟各自的優劣。(問題:現時是否值得用 SSD 取替硬碟?)
使用 FDBench測試 - 沒有漂亮圖表,但一個畫面就可以一併顯示連續讀寫和隨機讀寫等等,個人覺得對快閃記憶測試較有意思。
1. 300x SLC 對 133x MLC (使用 CF to 3.5" IDE 轉換器於桌面電腦測試)
Transcend 300x 16GB SLC CF
Transcend 133x 2GB MLC CF
留意到幾點:
- 紅色圈內的連續寫入速度就是 SLC 和 MLC 的效能分野了。但值不值幾倍的差價呢? 至少 SLC 可用來跑OS,MLC則沒這個可能。
- 藍圈內左邊的隨機寫入速度和右邊的隨機讀取速度形成強烈對比,盡顯快閃記憶消除區塊 (erase block)特性的效能問題。
- 133x MLC CF 的讀取速度(隨機/連續)想不到也真的很快,應該是 Transcend dual-channel (雙通道) 技術之功。估計用廉價的 133x 來跑 ReadyBoost/eBoostr 也不錯,因為它們對寫入的要求較讀取低。
2. 300x SLC CF 對 1.8" 4,200rpm 硬碟 (使用 CF to 1.8" IDE 轉換器於手提電腦測試)
Transcend 300x 16GB SLC CF
Toshiba 4,200rpm 1.8" 30GB HDD (model: MK3004GAH)
可見到:
- 紅圈和藍圈:硬碟因機械原理的關係 seek time (搜尋時間)比起電子原理的快閃記憶高很多 (18ms vs 0.3ms),導致的問題就是隨機讀寫較慢。
- 硬碟因不用 erase block 拖慢寫入,所以隨機或連續讀取和寫入數值都是一樣的 (13和13,6和6)。相反快閃記憶那邊讀和寫都有很大分別 (47和10,39和4)。
- 就連龜速的 4,200rpm 1.8" 硬碟的隨機寫入速度也要比 300x SLC CF 快 (6MB vs
4MB)。不過真實使用過發現換了 SLC CF 後大部份時間明顯較順,除了像因程式暴漲而寫入虛疑記憶體,那時會慢得像當機;寫入動作不大的話就快了。
3. 後記
曾對自己說過不會花巨額金錢購買現時技術尚未成熟的(偽)SSD,最終還是敗了,無論說手提電腦的硬碟有壞磁 (隔離了也可以用啊),抑或那是以多麼優惠的價格購得,這些都只是藉口 (這是小弟自2000年以HK$999購入 64MB CF 卡後第二次做的傻事。可預見將來看見這卡的感覺會和現在看著那張 64MB 卡感覺一樣,無奈...Flash memory 天生的 erase block 特性會令到寫入慢 (尤其是隨機寫入)。以上的小測試驗正了這問題。以前一直不明白為何高速的USB手指(U盤)在寫入細少檔案時都那麼慢,但大檔案又沒問題,現在明白就是這個原因。
那現時來說,以 SSD 取代硬碟值得嗎? 以這 300x SLC CF 取代 1.8" 4,200rpm 筆電硬碟想是可以的,因為那硬碟本來也實在太慢(只以 UDMA mode 2 跑都已了快不少)。不過,主流桌面電腦用的 3.5" 7,200rpm 硬碟則快多了,跟真正的 SSD 比則各有優劣,但SSD那麼貴,好像不太值得。例如小弟在筆電用,快是快了點,靜和熱量小更是了,但容量也少了一倍啊,在僅有的 16GB 裝完 Vista 及所有應用後仍剩 2GB 空間已很感謝了 (做了不少優化)。通常空間對流動電腦都不是一個主要因素,那會好辦些。
快閃記憶擁有搜尋時間如RAM閃電一般快的優勢,所以隨機讀取比得上連續讀取,這方面比硬碟快得多,但隨機寫入卻因為要erase block而拖慢,這點又比硬碟慢,有得有失。雖然 SSD 近來透過 multi-channel (類似多重RAID 0 原理的技術),使到連續讀取超越硬碟,但仍沒有真正應對 erase block;真正解決 erase block 技術的 SSD 仍有待主流化推出,到時隨機寫入速度或能與隨機讀取看齊;到時才是王道。
如有興趣了解 write-erase cycle、到底有甚麼技術可以應對 erase block,這份 PDF 或會有幫助(英文),不少 concept 小弟都是由那處得來的。或者由外行的我說,其實快閃記憶在每次寫入時除了寫入外還會做消除的動作,而所消除的區塊大小 (block size) 是很大的,e.g. 1GB 有的便要 256KB 一塊,如果有很多很多微細檔案做傳輸,而每個檔案都要做一次完整的 write-erase cycle (簡單可想成每個 1KB 檔變成 256KB),可想而知很多效能都會浪費在 write-erase cycle 上。所以 SSD 寫入慢,隨機寫入更慢。至於解決方法,其中一個是 PDF 中提到一個叫 Managed Flash Technology (MFT) 的軟體件,可以透過地址 remapping 將隨機寫入變成以連續方式寫入,效能提升達 80%!另外硬體的方法,Sandisk 最近亦發佈了 ExtremeFFS 技術,不期望微軟在將來的 NTFS 版本優化 SSD block size,現在自己來達成!
聽說將來的 SSD 將會以 RAM cache (緩存) 配合良好的算法和 wear-leveling (平均寫入) 來改善 SSD 壽命 (另一致命問題) - SLC 和 MLC SSD 壽命只有 10,000 和 100,000 write/erase cycle。另外,將來的 MLC 技術能夠從在一個 cell 弄出更多 bit,容量或能追上 TB 硬碟。種種跡象顯示 SSD 還有很大的進步空間。很期待!
完結前附上 Transcend 300x 的 HDTune 讀/寫/資訊(台機)、Atto Disk Benchmark(台機)、Vista score(筆電)和 CrystalMark(筆電)的測試掃瞄。
歡迎用以下方式儲存或分享本文:
Share