PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 電腦硬體討論群組 > 儲存媒體討論區
帳戶
密碼
 

  回應
 
主題工具
razer
Power Member
 
razer的大頭照
 

加入日期: Oct 2017
文章: 680
引用:
作者aya0091
【PCEVA 玩转SSD】第4期 trim与垃圾回收

有了TRIM,SSD就可以在閒置時去整理並抹除Block
讓空白區塊增加,避免未來寫入時需要額外動作


TRIM在閒置時會去抹除BLOCK資料,讓空白區塊增加?
抹除BLOCK資料算是寫入動作
你這樣解釋會讓人以為TRIM在閒置時會把不用的區塊寫入清空

TRIM只是標記而已 , 不會真的去執行寫入抹除
也就是沒有實際寫入動作才會減少寫入放大

那一塊不用的區域仍然是有資料的,不是抹除Block讓空白區塊增加
     
      
__________________
-----------

男人心理學:[女人跟就海鮮一樣-好吃永遠抵不過新鮮]
舊 2020-07-27, 11:08 AM #9881
回應時引用此文章
razer離線中  
tbsky
Junior Member
 

加入日期: Jan 2002
文章: 853
引用:
作者razer
TRIM在閒置時會去抹除BLOCK資料,讓空白區塊增加?
抹除BLOCK資料算是寫入動作
你這樣解釋會讓人以為TRIM在閒置時會把不用的區塊寫入清空

TRIM只是標記而已 , 不會真的去執行寫入抹除
也就是沒有實際寫入動作才會減少寫入放大

那一塊不用的區域仍然是有資料的,不是抹除Block讓空白區塊增加


討論越來越混淆了。您說得和 aya0091 兄說得都是對的。TRIM 的確只是標記,但是 SSD 會透過後續的主動式 GC 做搬移和抹除的動作。

如果把 flash 以外的其他儲存媒體也拉進來一起看,就會更清楚了。某些 SMR 硬碟也支援 trim,但是硬碟不像 flash,需要抹除後再寫入,因此硬碟收到 TRIM 之後就簡單標記即可,這樣子被 trim 掉的 block 仍然是有資料的,只是使用者讀不到了。因此 SMR 的硬碟做某些操作如 secure erase, 還比 ssd 快得多,因為只要簡單更改配置表即可。
 
舊 2020-07-27, 11:27 AM #9882
回應時引用此文章
tbsky離線中  
razer
Power Member
 
razer的大頭照
 

加入日期: Oct 2017
文章: 680
引用:
作者tbsky
討論越來越混淆了。您說得和 aya0091 兄說得都是對的。TRIM 的確只是標記,但是 SSD 會透過後續的主動式 GC 做搬移和抹除的動作。

如果把 flash 以外的其他儲存媒體也拉進來一起看,就會更清楚了。某些 SMR 硬碟也支援 trim,但是硬碟不像 flash,需要抹除後再寫入,因此硬碟收到 TRIM 之後就簡單標記即可,這樣子被 trim 掉的 block 仍然是有資料的,只是使用者讀不到了。因此 SMR 的硬碟做某些操作如 secure erase, 還比 ssd 快得多,因為只要簡單更改配置表即可。


所以他這樣解釋很奇怪

在TRIM不會做實際寫入的前提下

TRIM怎麼可能會在SSD閒餘之時對BLOCK做清除動作?

在閒餘之時對BLOCK一直做清除動作不但會增加寫入量、增加寫入放大
對BLOCK壽命也會減少 , 這有違TRIM減少寫入的原則
__________________
-----------

男人心理學:[女人跟就海鮮一樣-好吃永遠抵不過新鮮]
舊 2020-07-27, 11:51 AM #9883
回應時引用此文章
razer離線中  
aya0091
*停權中*
 
aya0091的大頭照
 

加入日期: Apr 2017
文章: 2,836
引用:
作者razer
所以他這樣解釋很奇怪

在TRIM不會做實際寫入的前提下

TRIM怎麼可能會在SSD閒餘之時對BLOCK做清除動作?

在閒餘之時對BLOCK一直做清除動作不但會增加寫入量、增加寫入放大
對BLOCK壽命也會減少 , 這有違TRIM減少寫入的原則

如果TRIM只標記,後續都沒整理動作
那SSD速度不就會因為資料雜亂而速度大減?
哪請問有TRIM跟沒有TRIM區別在哪?

利用閒餘時整理,總比真正要寫入時再整理還快吧?
還是你跟我對於寫入放大的認知不一樣?

一間倉庫平時都不整理,東西亂放
忽然要搬入半個倉庫的貨
是不是要先花半天清出半個倉庫空間?

那如果倉管人員平時沒有進出貨的時候
就不斷清出夠大的空間,需要入貨時就不用等待

至於影響到部分SSD壽命 vs 使用久了SSD寫入速度銳減
我相信應該大部分玩家會選擇前者

如果覺得是我亂說,那看看維基的說明
https://zh.wikipedia.org/wiki/Trim%E5%91%BD%E4%BB%A4
TRIM命令使作業系統得以通知SSD哪個頁不再包含有效的資料。對於檔案刪除操作,作業系統會將檔案刪除標記為可用於新資料,然後向SSD傳送TRIM命令。在Trim後,在新的資料寫入快閃記憶體頁面時,SSD不保留塊的任何內容,從而實現更少的寫入放大(更少的寫入)、更高的寫入吞吐量(不需要讀取、擦除、修改),從而增加驅動器壽命。

---

上面的這句
"在Trim後,在新的資料寫入快閃記憶體頁面時,SSD不保留塊的任何內容"
為何標記無效資料後,SSD會不保留塊的任何內容
當然就是抹除掉塊的內容囉,都不動作是能改善啥?

此文章於 2020-07-28 05:12 AM 被 aya0091 編輯.
舊 2020-07-28, 05:06 AM #9884
回應時引用此文章
aya0091離線中  
razer
Power Member
 
razer的大頭照
 

加入日期: Oct 2017
文章: 680
引用:
作者aya0091
如果TRIM只標記,後續都沒整理動作
那SSD速度不就會因為資料雜亂而速度大減?
哪請問有TRIM跟沒有TRIM區別在哪?

利用閒餘時整理,總比真正要寫入時再整理還快吧?
還是你跟我對於寫入放大的認知不一樣?

一間倉庫平時都不整理,東西亂放
忽然要搬入半個倉庫的貨
是不是要先花半天清出半個倉庫空間?

那如果倉管人員平時沒有進出貨的時候
就不斷清出夠大的空間,需要入貨時就不用等待

至於影響到部分SSD壽命 vs 使用久了SSD寫入速度銳減
我相信應該大部分玩家會選擇前者

如果覺得是我亂說,那看看維基的說明
https://zh.wikipedia.org/wiki/Trim%E5%91%BD%E4%BB%A4
TRIM命令使作業系統得以通知SSD哪個頁不再包含有效的資料。對於檔案刪除操作,作業系統會將檔案刪除標記為可用於新資料,然後向SSD傳送TRIM命令。在Trim後,在新的資料寫入快閃記憶體頁面時,SSD不保留塊的任何內容,...


TRIM就真的只是[標記] 哪些BLOCK是沒有要再用的

實際上SSD區塊內容還是亂的沒錯 , BLOCK裡面還是有資料的

當你要寫入資料時,SSD就會照TRIM標記的區塊,[不保留原本資料]的[寫入新資料]

這樣看的懂wiki嗎

而不是TRIM沒事就把區塊內容清空
(硬碟類沒有所謂[空]這種狀態,裡面不是0就是1)

因為磁碟類的設備,寫入資料前都不需要先清空內容

就連傳統硬碟,刪除檔案也沒有實際去清空資料



你的舉例也不對 ,對於不需要的資料,SSD已經不用把它搬出倉庫


你要用倉庫舉例,應該是:
有新東西進倉庫,原本不要的東西[就地消滅],把空間直接給新東西放
不要的東西 , 不需要再搬移到別的地方
__________________
-----------

男人心理學:[女人跟就海鮮一樣-好吃永遠抵不過新鮮]

此文章於 2020-07-29 09:34 AM 被 razer 編輯.
舊 2020-07-29, 09:33 AM #9885
回應時引用此文章
razer離線中  
aya0091
*停權中*
 
aya0091的大頭照
 

加入日期: Apr 2017
文章: 2,836
引用:
作者razer
因為磁碟類的設備,寫入資料前都不需要先清空內容

就連傳統硬碟,刪除檔案也沒有實際去清空資料

難怪你一直鬼打牆

你根本連HDD跟SSD運作原理差異都不知道

誰跟你說"磁碟類的設備,寫入資料前都不需要先清空內容"

HDD不需要,但SSD需要

一顆塞滿資料的SSD,快速格式化後,舊資料都還存在

如果要寫入新資料,就一定要先抹除,才能把BLOCK裡面的0跟1通通變0

這種寫入前要等待抹除,會造成寫入速度大減

而如果是新舊資料參雜就更麻煩,要搬來搬去,這就叫寫入放大

你一定沒看我找來的解說影片
https://youtu.be/atOSdNNnpmc

要不然就是看不懂人家說什麼

TRIM的確只有標記,但你有沒有想過為何HDD發展那麼久都沒這東西

SSD發展沒多久就變成必要技術,當然是為了方便SSD主控去做整理
舊 2020-07-29, 09:56 AM #9886
回應時引用此文章
aya0091離線中  
razer
Power Member
 
razer的大頭照
 

加入日期: Oct 2017
文章: 680
沒事,不想浪費時間

樓上自己又改口TRIM只有標記功能 ,打翻自己先前發言TRIM會清空BLOCK內容

刪除歸刪除,標記歸標記

TRIM就是標記功能 ,不會實際刪除資料 ,那麼簡單

發言前後不一就不用討論了
__________________
-----------

男人心理學:[女人跟就海鮮一樣-好吃永遠抵不過新鮮]

此文章於 2020-07-29 10:26 AM 被 razer 編輯.
舊 2020-07-29, 10:22 AM #9887
回應時引用此文章
razer離線中  
aya0091
*停權中*
 
aya0091的大頭照
 

加入日期: Apr 2017
文章: 2,836
引用:
作者razer
沒事,不想浪費時間

樓上自己又改口TRIM只有標記功能 ,打翻自己先前發言TRIM會清空BLOCK內容

刪除歸刪除,標記歸標記

TRIM就是標記功能 ,不會實際刪除資料 ,那麼簡單

發言前後不一就不用討論了

我可沒改口、打翻、前後不一

是你看不懂,傳達錯誤觀念,我看了覺得很奇怪才跳出來解說

TRIM是PC傳給SSD的指令,而SSD主控收到後會怎麼操作是另一回事

最終結果,SSD主控就是會整理,而整理的目的就是清空BLOCK內容

好讓之後寫入可以完全不用等待,也不會降速

你以為SSD跟HDD一樣,有舊資料也能直接寫入?大錯特錯

你以為TRIM指令不會影響SSD資料?大錯特錯

所以我早就問你,如果TRIM指令都不會對SSD資料影響

那有沒有TRIM指令不就根本沒有差別?所以你回答不出來,也不敢回答

標記無效資料?如果是HDD只需要在PC刪除檔案時寫掉檔頭即可

SSD如果只寫掉檔頭,不去清空,那下次寫入就會卡住

所以才需要TRIM指令讓SSD知道那些區塊可以徹底清空

此文章於 2020-07-29 10:54 AM 被 aya0091 編輯.
舊 2020-07-29, 10:53 AM #9888
回應時引用此文章
aya0091離線中  
冬之炎陽
Advance Member
 

加入日期: Apr 2005
文章: 431
TRIM 是一種通知機制
因為SSD和機械硬碟很不一樣
SSD控制器需要知道哪些區塊有在用
有 TRIM 讓控制器可以完全掌握區塊的使用狀態
這是為了保持運作效率與壽命的必要手段
刪除檔案的時候一併連哪些區塊要抹除的訊息告訴SSD控制器
那麼SSD控制器就能有正確的訊息進行何時真正抹除與有效的寫入分配
如果沒有TRIM, 只能在再度寫入的時候主控才會知道該區塊沒再用了
效率會降低很多, 尤其在磁碟塞滿後又大量刪除再塞進去

但是這些機制傳統硬碟不需要
傳統硬碟單一區域的寫入壽命遠遠大過SSD
所以靠作業系統即可

此文章於 2020-07-29 08:53 PM 被 冬之炎陽 編輯.
舊 2020-07-29, 08:51 PM #9889
回應時引用此文章
冬之炎陽離線中  
tbsky
Junior Member
 

加入日期: Jan 2002
文章: 853
引用:
作者冬之炎陽
但是這些機制傳統硬碟不需要
傳統硬碟單一區域的寫入壽命遠遠大過SSD
所以靠作業系統即可


純粹就是看儲存層需不需要這個資訊。有 read-modify-(erase)write 特性的,這個資訊就有幫助。所以 SMR 硬碟需要 trim,但是 Optane SSD 不需要。
舊 2020-07-30, 04:30 PM #9890
回應時引用此文章
tbsky離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是11:03 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2024。