疊瓦磁記錄（，SMR，直譯為分層磁記錄），是一種用於硬碟驅動器的磁儲存資料記錄技術，可提高儲存密度和每個驅動器的整體儲存容量。 常規的硬碟驅動器透過寫入彼此平行而不重疊的磁軌來記錄資料（垂直磁記錄，PMR）。而疊瓦磁記錄技術的硬碟寫入的新磁軌則與先前寫入的磁軌部分重疊，從而使先前的磁軌更窄，因此能擁有更高的磁軌密度。由此可以看出，使用疊瓦磁技術的磁軌相互重疊，與用作屋頂的瓦片堆疊方式類似。我們之所以能這樣做，是因為磁碟寫入磁頭由於物理上的原因比讀取磁頭寬上許多，因而由正常方式寫入的磁軌寬度遠比讀取磁頭所需的磁軌寬度來得寬。 由於磁軌存在重疊，疊瓦磁碟的寫入過程較為複雜。如果我們隨機寫入一個磁軌，由於寫入磁頭的寬度比磁軌寬，因此寫入會影響到臨近磁軌；如果這個臨近磁軌有資料，這些資料就也需要重寫以免資料被破壞，依此類推。因此，SMR 磁碟一般分成很多塊只能追加資料（順序寫入）的區域，這和固態硬碟的快閃記憶體頁管理類似。使用 由裝置管理方式的 SMR 磁碟透過內部韌體處理了 SMR 磁碟複雜的寫入問題，從而對使用者封裝了 SMR 磁碟的複雜性，令使用者可以像使用 PMR 硬碟一樣隨機寫入 SMR 硬碟。其他 SMR 磁碟則使用 由主機管理方式，需要作業系統識別 SMR 磁碟並擁有能對 SMR 磁碟進行正確順序寫入的驅動程式才能被正常使用。 歷史 希捷科技從 2013 年開始出售 由裝置管理 的 SMR 磁碟，並聲稱使用 SMR 技術的磁碟總體容量比普通磁碟的高出 25。2014 年，HGST 推出了一個容量達 10 TB 的 SMR 氦氣硬碟，不過到 2015 年 12 月又推出了 10TB 的 PMR 氦氣硬碟。2018 年 11 月，HGST 推出了 14 TB 和 15 TB 的 SMR 硬碟。 鑒於 SMR 的複雜性，威騰電子、希捷、東芝都曾在或仍在未標明磁碟是否使用 SMR 技術的情況下出售硬碟。這導致了很大的爭議：因為 SMR 硬碟在一些情況下顯著慢於 PMR 硬碟。無論是面向資料儲存（伺服器、NAS、冷儲存）的硬碟以及面向普通消費者的硬碟有這個問題。由於一些 NAS 裝置在使用 SMR 硬碟後出現數據損壞，導致消費者投訴，主要硬碟品牌最終公佈了使用 SMR 技術的硬碟產品型號並保證特定系列型號不使用 SMR 技術。 資料管理 SMR 盤上的資料有 3 種管理模式： 由裝置管理 由主機管理 主機可感知 由裝置管理 由裝置管理的 SMR 硬碟在介面上對主機來說和一般磁碟沒有區別。主機不需要使用任何特殊方式來寫入磁碟，並且也不需要知道磁碟是否使用了疊瓦儲存技術。其連續寫入效能較隨機寫入高。一切關於資料位置的處理由磁碟本身管理。 這類 SMR 硬碟的韌體控制機理和固態硬碟類似：主機所使用的 LBA 地址和磁碟實際的物理結構沒有直接關係，而是在韌體中存在一個 轉換層 對兩者進行轉換。由於在只能追加（順序寫入）的區域裡進行隨機寫入非常慢，所以這類硬碟都會先把資料寫到一個 PMR 快取區，等到空閒的時候再將資料整理進 SMR 區域中。由於硬碟在處理 RAID 重新同步時的寫入次數很多，這使得在 RAID 中使用 SMR 硬碟容易使快取超出，進而導致 SMR 盤不時需要暫停數分鐘進行整理。還有些問題韌體（如 WD40EFAX）會拒絕讀取沒有寫過的 LBA 地址，並向呼叫者報告一個錯誤。SMR 硬碟的這兩種處理方式都會導致 RAID 控制器認為磁碟損壞。 SMR 硬碟的分塊結構和韌體的垃圾回收機制也意味著磁碟存在寫入放大的問題，不過這對於硬碟來說寫入導致的主要是速度而不是壽命問題。有些 SMR 盤支援 Trim 命令，以便避免整理不需要的空間。 由主機管理 由主機管理的 SMR 硬碟需要主機嚴格按照特別的協議流程來寫入資料。主機必須順序寫入，以避免破壞已有的資料。磁碟會拒絕執行違反這一協議的命令。 主機可感知 主機可感知是由裝置管理和由主機管理兩者的組合。磁碟可以處理任意順序的寫入命令，但是主機可以知道磁碟使用了疊瓦儲存，也能知道具體的疊瓦空間使用情況。一方面新主機可以儘量順序寫入提高效能，另一方面對舊系統也保持了相容。 協議 SMR 裝置在協議中稱為 分割槽域塊裝置，每個區域的大小一般為 256MiB。在由主機管理和主機可瞭解的 SMR 盤上，SCSI 的 ZBC 和 SATA 的 ZAC 這兩套命令會暴露給主機。這些命令可以讓主機瞭解每個區域的儲存科技（SMRPMR），並對這些區域直接進行訪問。 ZBCZAC 的命令有： 報告區域 REPORT ZONES，用來獲得磁碟區域佈局和區域情況（包括表示每個順序區域寫了多少的寫入指標） SMR 這類的區域在由主機管理的磁碟上會標為 必須順序，在主機可瞭解的磁碟上則是 偏好順序 重設寫入指標 RESET WRITE POINTER，用來歸零指標，清空順序區域 開啟區域 OPEN ZONE，用來給區域 加鎖，以便獨佔訪問 關閉區域 CLOSE ZONE，用來解鎖區域 收尾區域 FINISH ZONE，用來填充區域，並標記為可讀 每個區域都有自己的 LBA 範圍。只要遵守了 必須順序 區域的規定，所有一般的 LBA 命令都可以使用。 SMR 磁碟可以透過以下的方式報告自己的分割槽域屬性： 由裝置管理和主機可瞭解的磁碟會有一般塊裝置（SCSI 00h）的標記，方便一般計算機識別。 一個叫做的欄位會顯示裝置是由主機管理，主機可瞭解，還是都不是。這個欄位處於 SCSI 的塊裝置特性VPD 頁面和 ATA 的裝置能力日誌頁。 由主機管理的塊裝置有一個新的裝置種類標記（SCSI 14h）。只有支援這些協議的電腦才可以識別。 這套標準的第二版稱為 ZAC2ZBC2，仍在開發中。這類裝置引入了一種 領域和範圍式分割槽域塊裝置，支援不連續的 LBA 地址。T10 2020 西部資料的代表提議，要在新標準裡移除對 ZONED 欄位的描述。 這套分割槽系統可以對快閃記憶體也有意義，有助於降低內部控制器的工作需求，最佳化寫入放大並降低預留空間。NVMe 組織也已提供一個類似的介面，稱作 ZNS。 軟體及應用 疊瓦磁記錄的屬性介於只能順序讀寫的磁帶和可以隨機的讀寫的普通硬碟之間：其資料密度較高，可以隨機讀取，但只能順序寫入。這類硬碟適合寫入一般不需要回頭修改，但需要經常隨機讀取的資料。Dropbox 的 魔術口袋就是這樣一種系統，它把使用者的資料儲存在只能向後新增的檔案裡。也有些由裝置管理的 SMR 硬碟被當作 存檔用磁碟 售賣。 Linux 有一些檔案系統已經支援 SMR 裝置或者可以調整得效能更好： F2FS 本來為快閃記憶體設計，現在也有一個分割槽域塊裝置的模式。可以在由主機管理的磁碟上使用，不過需要一塊普通區域來隨機讀寫元資料。 Btrfs 的 ZBD 支援在 512 核心新增，不過這個寫入時複製的檔案系統本來就基本上進行順序寫入了。 有調整 Ext4 使其更多進行順序寫入的實驗。 對於其他檔案系統，需要使用 Linux 的 dmzoned 目標把由主機管理的硬碟對映成一個普通的隨機寫入硬碟。410 以上版本的核心不需要 dm 就可以自行對映。 FreeBSD 也有對分割槽域塊裝置的協議級支援。，Windows 和 macOS 都沒有支援這些協議。 動態混合 SMR 傳統的 SMR 盤是在生產時就規定了每一個分塊的用途，但新興的動態混合 SMR 盤可以由顧客隨時重新指定分塊是當 SMR 用還是當 PMR 用。 參考資料 參見 熱輔助磁性錄寫 HAMR ，一類為僅新增儲存裝置最佳化的檔案系統 外部連結 LSFMM A storage technology update LWNnet April 23 2013 by Jonathan Corbet SMR Impact on Linux Storage Subsystem HGST 2014 by Jorge Campello and Adam Manzanares Layout optimisation for using XFS on hostmanaged SMR drives March 2015 SMR in Linux Systems Seagate March 18 2015 by Adrian Palmer HostAware SMR Seagate November 10 2014 by Timothy Feldman 部分硬碟製造商、NAS 製造商和科技社群公佈的使用疊瓦磁記錄技術的硬碟列表： On WD Red NAS Drives Western Digital April 22 2020 Use of Shingled Magnetic Recording SMR technology in Toshiba Consumer Hard Drives Toshiba April 28 2020 List of known SMR drives iXsystems Forums April 16 2020 Synology Products Compatibility List prefiltered to SMR HDD Synology 爭議事件 WD 在紅標 NAS 硬碟上使用 SMR 技術，國外消費者準備集體提告 T 客邦 Category 電腦儲存技術 Category 硬碟驅動器