固態硬盤的局限性

作者 | 2021 年 4 月 20 日 | 全部, 技術

SSD(固態硬盤)具有速度快、功耗低、耐用和重量輕等優點。 SSD 已與 HDD(硬盤驅動器)一樣廣泛使用。 HDD 和 SSD 之間的區別在於它們管理數據的方式。 SSD 上的此任務比 HDD 上的更複雜。通過適當的管理,SSD 速度很快,並且在驅動器的整個使用壽命內具有較長的耐用性。

 

NAND(非與門)基本操作

無法單獨讀取或寫入單個 NAND 閃存單元。數據需要使用非常具體的屬性進行分組和訪問。以下是SSD的讀、寫、擦除屬性:

1. 在第 1 頁上對齊的讀取只能向操作系統請求 1 個字節,但會在 SSD 中檢索整頁,從而強制讀取超出必要數量的數據。

2. 在頁面上寫入對齊。將數據寫入 SSD 時,寫入會按頁面大小的增量進行。即使寫操作只影響一個字節,也需要將整個頁寫入閃存。

 

如何向頁面寫入數據:

 

A。藍色數據表示數據寫入。

b.黃色的新數據添加到塊中。藍色數據也必須更新。因為無法覆蓋,所以必須重新寫入,原來的數據被標記為無效。

C。每次藍色數據收到更新時都會重複此過程。

3. 擦除與塊大小對齊。頁進行讀/寫操作,但無法擦除單個頁。只能一次性擦除整個塊。

讀取和寫入可以發生在頁級別,但擦除(刪除)只能發生在塊級別。用戶可以從一個塊讀取或向一個塊寫入任意數量的頁,但如果用戶想要擦除該塊的任何部分,則驅動器必須擦除該塊。

 

SSD 擦除操作的屬性

 

A。所有頁面都是空的

b.數據已寫入

C。區塊已滿

d.數據被標記為無效。未標記為刪除的有效數據將與新數據合併。新合併的集團“行動”。這裡,未標記為無效的“好數據”從藍色塊和綠色塊重寫為具有可用頁面的空塊

e.有效數據寫入另一個塊。塊中的所有數據都可以被標記為無效

F。一個塊中的所有數據已被清除,可以重複使用

閃存轉換層 (FTL)

SSD 使用與 SATA(串行 ATA)接口相同的主機接口。需要一個額外的組件來隱藏 NAND 閃存的內部特性,並僅向主機公開 LBA(邏輯塊地址)陣列。該組件是 FTL ,駐留在 SSD 控制器中。 FTL 至關重要,有兩個主要目的:邏輯塊映射和垃圾收集。

 

邏輯映射

邏輯塊映射將主機空間中的 LBA 轉換為物理 NAND 閃存空間中的 PBA(物理塊地址)。該映射採用表格的形式,為任何 LBA 提供相應的 PBA。該映射表存儲在SSD的緩存中,以便更快地訪問。它保存在閃存中,以防斷電。

 

垃圾收集

SSD 控制器中的垃圾收集過程可確保擦除“無效”頁面並將其恢復為“空閒”狀態。這為傳入的寫入命令留出了空間,因為頁面不能部分寫入。如果需要更新頁面中的數據,則將新數據寫入空閒頁面,並將包含先前數據的頁面標記為無效。當塊包含無效頁時,需要先將其擦除,然後才能重寫。

 

概括

SSD 操作受到 NAND Flash 特性的限制:

1、寫操作必須以頁為單位,不能覆蓋頁原來的內容。

2. 由於物理限制,擦除數據必須在塊級別。

 

加速創新的基礎™

zh_TW繁體中文