企業級特性

Namespace劃分與Format的副作用:塊格式、擦除語義與預留空間記賬

作者:軍航科工半導體NVMe Namespace / Format命令 / LBA格式

把一塊盤切成多個命名空間看似只是邏輯操作,但塊格式、擦除語義與預留空間記賬都會跟著變。

為什麼要切分命名空間

把一塊盤切成多個命名空間通常出於三類需求:多租戶或多業務之間的邏輯隔離;把需要不同LBA格式的資料分開,例如一部分啟用保護資訊、一部分不啟用;把後設資料、日誌與使用者資料分層管理,以便施加不同的I/O策略。命名空間與控制器的繫結關係由Attachment控制;在雙埠型號如TITAN 7的J760D/J780D上,兩個控制器可以掛載同一命名空間,此時兩側的格式與狀態一致性就成了必須處理的問題。

塊格式的選擇會一直跟著你

512位元組邏輯塊相容舊有軟體棧,但每個邏輯塊都要在映射表裡佔一份記賬,同等容量下後設資料開銷明顯更高。4K與NAND頁面、檔案系統頁對齊,是企業級的預設選擇。若要承載T10保護資訊,則需要4K加64位元組後設資料的格式。切換塊格式必須重新Format,因為映射粒度本身發生了改變,這不是一次能線上完成的調整。

Format的擦除語義與耗時

Format命令中的安全擦除設定決定了它有多“重”:可以只重建格式不動資料,可以擦除使用者資料,也可以執行加密擦除。對啟用了介質加密的盤,加密擦除只需銷燬金鑰,幾乎瞬時完成;物理擦除則要遍歷全部物理塊,在15.36TB這樣的容量點上耗時相當可觀。執行期間控制器對外返回忙狀態,主機的超時設定必須匹配,否則會被誤判為裝置無響應。

預留空間是全盤共享的

命名空間的容量欄位是邏輯檢視,物理塊與預留空間仍在全盤統一的池中排程。建立大量小容量命名空間會帶來一個不直觀的後果:每個命名空間內的寫入難以填滿一個完整的SuperBlock,回收效率下降,實際可用的預留比例被侵蝕。容量與耐久的取捨在SKU層面已經體現——J750提供1.92/3.84/7.68/15.36TB、規劃1 DWPD,J770提供1.6/3.2/6.4/12.8TB、規劃3 DWPD,差額正是預留空間。

Format不等於Sanitize

兩者常被混用。Format作用於單個命名空間,粒度細,適合日常重配置;Sanitize是全盤級操作,跨所有命名空間,且一旦啟動必須執行到完成狀態,中途掉電重啟後仍會繼續。資產退役與介質返修等場景應當使用後者。這兩項能力與NVMe-MI帶外管理、TCG OPAL共同構成軍航科工企業級功能基線的管理面部分。

關鍵詞
NVMe NamespaceFormat命令LBA格式加密擦除Sanitize預留空間雙埠軍航科工