SSD上分割表被破壞後的「真實空間」 - 儲存設備

Table of Contents

傳統硬碟沒有TRIM的問題,刪除資料後,只要沒寫入,資料就還在那裡,
如果我直接寫0破壞分割表,只要能重建分割表的位置,東西也都還在。


現在問題來了,SSD目前都知道資料不要擺太滿,那我的疑問是,如果我把一個
塞滿資料的分割區給直接刪除,這樣假設我沒再繼續對那個分割區LBA位址內寫入,
幾星期後我再恢復分割區位置,資料還會在嗎?
如果說還在,那是不是對SSD來說那個空間根本無法拿來當成來回讀寫的調度空間?

我會這樣問是之前不小心把一個分割區的備份還原到錯誤分割區,所以我直接把
錯誤的還原分割前面用dd寫入10MB的0,不過如果要讓SSD把空間拿回來,是否用
格式化或是用支援trim的OS先把檔案執行刪除比較好?

--
起初,他們追殺共產主義者,我沒有說話,因為我不是共產主義者;
接著,他們追殺猶太人,我沒有說話,因為我不是猶太人;
後來,他們追殺工會成員,我沒有說話,因為我不是工會成員;
此後,他們追殺天主教徒,我沒有說話,因為我是新教教徒;
最後,他們奔我而來,卻再也沒有人站起來為我說話了。
《First They Came(他們首次來時)》,Martin Niemoller牧師(1892-1984)

--

All Comments

Harry avatarHarry2016-01-24
你trim掉之後那些block就會漸漸得被挑去做gc了
Daniel avatarDaniel2016-01-29
資料還會在. 如果要對SSD進行TRIM(快速消除資料),
可以用blkdiscard指令.
Jacky avatarJacky2016-01-29
我意思是我破壞了檔案系統,那應該沒人trim了吧??
Aaliyah avatarAaliyah2016-02-01
所以假設我發現我的SSD全部塞滿了,我把其中一半的
Doris avatarDoris2016-02-06
分割區直接刪掉或把分割表寫0,其實對SSD不要塞太滿
的要求來說沒有任何幫助囉?
Gary avatarGary2016-02-07
對. 單純dd少部份or刪除分割不會釋放空間.
Rachel avatarRachel2016-02-08
要釋放的話要下TRIM指令. 刪除檔案時會下.
或是手動blkdiscard也是整個下TRIM.
Kama avatarKama2016-02-12
我GOOGLE看blkdiscard指令,搞不懂他的用法,fstrim
Franklin avatarFranklin2016-02-16
對檔案系統,hdparm則是安全刪除,但blkdiscard,
是對已有檔案系統的分割才有作用嗎?
Joseph avatarJoseph2016-02-17
應該說blkdiscard和hdparm --security-erase差在哪?
Joe avatarJoe2016-02-19
fstrim透過檔案系統下, 所有檔案的不會被TRIM掉.
Dorothy avatarDorothy2016-02-19
blkdiscard直接對分割下, 下下去等同於整個分割洗掉
secure erase對整個裝置下, 整個裝置都清空.
Tom avatarTom2016-02-24
secure erase會整顆多一次寫入,blkdiscard只有
John avatarJohn2016-02-25
分割區的範圍內的block多一次寫入,這樣對嗎?Y
Charlotte avatarCharlotte2016-02-28
trim 完等於目錄表丟了, 應該是很難救的回來
你中間不管寫哪裡都有可能拿這個block來用啊
Enid avatarEnid2016-02-29
基本上對. 只是不是"多一次寫入", 是多一次執行TRIM
Ina avatarIna2016-03-04
blkdiscard /sda和 hdparm --security-erase /sda
是一樣的嗎?