當磁碟接近滿時,SSD如何實現磨損均衡?

當磁碟接近滿時,SSD如何實現磨損均衡?

我正在嘗試理解這一點。假設我有一個 256GB SSD,其中 180GB 已經被永久檔案(作業系統、安裝的程式等)佔用。剩餘的 70GB 左右會建立和刪除新檔案。這是否意味著該部分的NAND晶片會比檔案未修改的區域更早磨損?或者 SSD 也會隨著時間的推移而移動不變的檔案?

答案1

SSD 隨著時間的推移會移動不變的檔案。

首先,您擁有向作業系統公開的虛擬磁區(不要與檔案系統叢集混淆),然後您擁有快閃記憶體晶片中的實體單元。當快閃記憶體控制器分配/取消分配單元時,它會相應地重新映射虛擬磁區,因此它對作業系統是透明的(相同的虛擬磁區可能在不同時間出現在快閃記憶體單元中的不同位置)。

其次,SSD 實際上具有不能用作可用空間的備用單元。它們專門用於磨損均衡、減輕寫入放大和重新映射死單元。這樣,即使您的 SSD 上有零位元組的可用空間,快閃記憶體控制器仍然有空間執行磨損均衡。

假設您有一個 100% 已滿的 500 GB SSD。現在,假設 499 GB 的資料是一個永遠不會更改的文件,但您有一個 1GB 的文件一直在更改。如果您刪除該 1GB 文件,然後複製另一個 1GB 文件,則閃存控制器此時將執行以下兩項操作之一:

  • 全部或部分新資料將被指派給備用單元,而舊單元仍處於修剪狀態。
  • 499 GB 資料中永不更改的 1 GB 單元將複製到其他可用單元。然後舊單元將被擦除並用新資料重寫。

在這兩種情況下,呈現給作業系統的虛擬磁區永遠不會改變,因此作業系統不知道實際發生了什麼。快閃記憶體控制器保存儲存單元到虛擬磁區的映射表。

磨損均衡演算法的最終目標是嘗試均勻地鍛鍊所有單元,即使這需要移動資料來實現這一目標。這個過程確實會減慢驅動器的速度,並且(諷刺的是)它確實會導致閃存單元的額外磨損。它被稱為寫放大這是 SSD 的一個重大問題。 SSD 實際採用的磨損均衡演算法及其減輕寫入放大的方式是 SSD 製造商之間的專有商業機密,因此這只是該過程的一般描述。

相關內容