• 5

對於現行MLC SSD產品的一些釋疑,個人的一些淺見



有些朋友能會問說,難道就沒有方法能夠改善1的問題嘛?答案是可以的,只不過要作業系統和SSD廠商雙方面的配合。現在我們在刪除一個檔案的時候,作業系統其實除了把該檔案標記為「刪除」外,是什麼都不做的。實際的刪除動作,是要在新的資料要寫入的時候直接把該檔案作「複寫」的動作。換句話說,刪除/寫入這個動作是在要寫新檔案時才做的。
如果我們把刪除/寫入這個動作在當初作刪除時就先做了呢?跟寫入時花很久的時間比起來,應該比較不會有人介意刪東西的時候久了點吧?這就是TRIM的應用。目前有傳聞Windows 7在正式上市的時候會支援該功能。不過SSD廠商也是要釋出支援TRIM的韌體才行。

在硬碟上面,由於資料要重新寫入沒有任何額外的overhead,
所以在檔案系統中刪除檔案只要直接刪除inode就可以了,
檔案實際用到的地方就當作空的空間,要用時直接再寫一次過去就好了,

不過在FLASH中由於資料要erase之後才能再重新寫入,
所以如果用本來的方法,會到要在重新寫入檔案到那個位置時才會發現這個地方要erase,
會需要比較久,
此外在重複寫入這個地方之前,這塊其實已經刪除掉的地方還占著空間,
實際上是當做還沒餐刪掉,
所以在做Wear-leveling和garbage collection時要做的事都會變多

就我所知現在ATA8標準應該有支援刪除檔案時通知SSD以減少這部分的overhead,
詳細的東西可以去K他的spec應該就能知道...
請問

為什麼沒有 trim command 時,SSD 要把刪除的地方 mark 起來,而不做實體刪除呢?
這樣對系統對SSD本身有何影響,有何好處呢

那 win7 有了trim command 後,除除檔案就是真正刪除了,不會先 mark 起來
這樣對系統對SSD本身有何影響,有何好處呢?有何缺點了呢?

trim command 在 win7 可以測試嗎?該怎麼測?

謝謝
喬巴 wrote:
為什麼沒有 trim command 時,SSD 要把刪除的地方 mark 起來,而不做實體刪除呢?
這樣對系統對SSD本身有何影響,有何好處呢


因為Nand Flash有寫入次數的上限. MLC 1萬次, SLC 10萬次.
如果一個Block已有資料, 但是controller發現有其他空的block時, 便會優 先寫入空的Block,
等到都沒空的Block, 才會erase block, 然後寫入..

這就是Wear-leveling的目的, 將寫入次數平均化, 而不是將寫入次數集中在某些Block
matika wrote:
因為Nand Flash有寫入次數的上限. MLC 1萬次, SLC 10萬次.
如果一個Block已有資料, 但是controller發現有其他空的block時, 便會優 先寫入空的Block,
等到都沒空的Block, 才會erase block, 然後寫入..

這就是Wear-leveling的目的, 將寫入次數平均化, 而不是將寫入次數集中在某些Block(恕刪)


謝謝您的回答

那在 Windows 7 的 trim command 下

刪除的 block 就變成是真正空的 block

那會不會就造成同一個 block 一直被重複寫入,

雖然提昇寫入的速度,但卻降低了 SSD 的壽命呢

順便問一下

像隨身碟這種也是 Flash 的產品,刪除時也是先 mark 起來,而不做真正的刪除嗎?

trim command 也會對隨身碟做寫入速度優化的動作嗎

謝謝

小弟拜讀了這邊文章才恍然大悟,原來會頓呆是SSD的宿命,今年我用過vertex 120G跟vertex2 100G兩顆硬碟,firmware都是最新版,筆電是lenovo x201s,OS是windiws7 PRO版,記憶體4G,兩顆SSD都是有頓呆的現象,不知道是不是因為多工處理的關係,但時至今日,TRIM跟AHCI都啟動了,為何indilink跟sandforce還沒進步,一樣會頓呆呢?
光哥 wrote:
小弟拜讀了這邊文章才...(恕刪)


這篇當時主要是講使用JMicron JMF602控制晶片的SSD,現在的SSD絕大多數都有額外的Buffer來避免這樣的問題。我現在使用的Vertex 60G就從沒遇到頓點的問題,使用SandForce控制器的Vertex2更不應該發生。
目前市面上流行的不外乎Indilinx與SandForce兩種控制器,目前這兩款控制器方案都已經針對常見的MLC顆粒做了優化(尤其是低價的Intel 34nm NAND FLASH)...

不過原始文章還是有拜讀價值,推薦。

perfecblue wrote:
這篇當時主要是講使用...(恕刪)
perfecblue wrote:
SSD對消費性市場來說,是個新的東西,而新的東西,難免會有一些有疑問的地方。
...(恕刪)

加分加分....

一年多後來看,這句話仍然成立,SSD仍然持續演進中,因此SSD對今天的消費者來說,仍然是個新東西,固然裝上去就能用,但是要發揮出真正的性能,個中撇步也真不少。
請問版大,根據版大的說明,既然SLC只有0,1兩種訊號,是否Trim的功能就不重要?(不用清除舊資料,再一併寫入多筆資料),另外,這是否也表示SLC即使是用到接近滿的容量,應該也不會降速?



csyangd wrote:
請問版大,根據版大的...(恕刪)


不是的,SLC只是寫入架構上的不同,但是一樣有第一篇裡敘述的Flash記憶體的寫入問題,只是因為SLC架構單純,所以相對於MLC來講比較不明顯,但是問題還是在的。
  • 5
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?