叠瓦磁记录

叠瓦磁记录(英語:Shingled magnetic recordingSMR,直译为分层磁记录),是一种用于硬盘驱动器的磁存储数据记录技术,可提高存储密度和每个驱动器的整体存储容量。[1] 常规的硬盘驱动器通过彼此平行地写入不重叠的磁道(垂直磁记录,PMR)来记录数据,而叠瓦磁记录技术的硬盘则写入与先前写入的磁道的一部分重叠的新磁道,从而使先前的磁道更窄并允许更高的磁道密度。因此,轨道与屋顶板相似,部分重叠。之所以这样做,是因为写入磁头的宽度由于物理原因,不能和读取磁头一样窄。[2][3][4]:7–9

随机写入SMR较为困难:写入一个磁道会覆盖下一个磁道上的数据。

由于存在磁道重叠,写入叠瓦磁盘的过程较为复杂。随机写入一个磁道会覆盖另一个磁道;如果这个磁道有数据,那就也需要重写,依此类推。因此,SMR 磁盘一般分成很多块只能向后添加的区域(zone),等到充满之后再擦除写入,和固态硬盘的闪存页管理类似。“由设备管理”(device-managed)的 SMR 磁盘通过固件管理,把这个复杂的问题包装起来,让电脑可以像其他硬盘一样随机写入。别的 SMR 磁盘是“由主机管理”(host-managed),需要操作系统知道如何操作磁盘,进行顺序写入。[4]:11 ff.[5]

历史编辑

希捷科技从2013年开始就在出售由设备管理的 SMR 磁盘,号称总体容量比普通磁盘的高出25%。[1]2014年,HGST推出了一个 10TB 的 SMR氦气硬盘,[6]不过到2015年12月又推出了 10TB 的 PMR 氦气盘。[7]2018年11月,HGST 推出了 14TB 和 15TB 的硬盘。[8]

威騰電子、希捷、东芝都在未标明的情况下售卖了 SMR 盘,导致了极大的争议:SMR 盘在一些情况下显著慢于PMR盘。[9]数据(服务器、NAS、冷存储)和消费者硬盘都受波及。由于一些 NAS 设备使用 SMR 盘后出现数据损坏,导致消费者投诉后,主要硬盘品牌最终公布了使用 SMR 技术的硬盘产品型号和保证特定系列型号不使用 SMR 技术。[10][11]

数据管理编辑

SMR 盘上的数据有3种管理模式:[12][13]

  • 由设备管理(device managed
  • 由主机管理(host managed
  • 主机可了解(host aware

由设备管理编辑

由设备管理的 SMR 盘对主机来说和一般磁盘没有区别。主机不需要按照任何特殊协议写入磁盘,并且也不知道磁盘使用了叠瓦存储。连续写入性能较随机写入高。一切关于数据位置的处理由磁盘本身管理。[4]

这类SMR盘的固件控制机理和固态硬盘类似:主机知道的 LBA 地址和磁盘上实际的结构没有什么关系,中间存在一个“瓦片翻译层”进行转换。由于在只能添加的区域里模拟随机写入很慢(需要整块复制),所以这类硬盘都会先把数据写到一个 PMR 缓存区,等到空闲的时候再整理进 SMR 区域中。处理 RAID 重新同步时的写入很多,容易使缓存超出,导致 SMR 盘暂停几分钟进行整理。还有些问题固件(如 WD40EFAX)会拒绝读取没有写过的 LBA 地址,向 RAID 报告错误。这两种行为都会让 RAID 控制器认为磁盘损坏,造成“掉盘”(踢出阵列)。[14]

SMR盘的分块结构和固件的垃圾回收机制也意味着磁盘存在写入放大的问题,[15]不过对于硬盘来说写入导致的主要是速度而不是寿命问题。有些 SMR 盘支持Trim命令,以便避免整理不需要的空间。[16]

由主机管理编辑

由主机管理的 SMR 盘需要主机严格遵守一些特别规定。主机必须顺序写入,以避免破坏已有的数据。磁盘会拒绝执行违反这一规定的命令。[4]

主机可了解编辑

主机可了解是由设备管理和由主机管理两者的组合。磁盘可以处理任意顺序的写入命令,但是主机可以知道磁盘使用了叠瓦存储,也能知道具体的叠瓦空间使用情况。一方面新主机可以尽量顺序写入提高性能,另一方面对旧系统也保持了兼容。[4]

协议编辑

SMR 设备在协议中称为“分区域块设备”(zoned block device),每个区域的大小一般为 256MiB。[17]在由主机管理和主机可了解的 SMR 盘上,SCSI 的 ZBC 和 SATA 的 ZAC 这两套命令会暴露给主机。这些命令可以让主机了解每个区域的储存科技(SMR/PMR),并对这些区域直接进行访问。[18] ZBC/ZAC的命令有:

  • 报告区域 REPORT ZONES,用来获得磁盘区域布局和区域情况(包括表示每个顺序区域写了多少的写入指针)
    • SMR这类的区域在由主机管理的磁盘上会标为“必须顺序”(sequential required),在主机可了解的磁盘上则是“偏好顺序”(sequential preferred
  • 重设写入指针 RESET WRITE POINTER,用来归零指针,清空顺序区域
  • 打开区域 OPEN ZONE,用来给区域“加锁”,以便独占访问
  • 关闭区域 CLOSE ZONE,用来解锁区域
  • 收尾区域 FINISH ZONE,用来填充区域,并标记为可读

每个区域都有自己的LBA范围。只要遵守了“必须顺序”区域的规定,所有一般的 LBA 命令都可以使用。

SMR 磁盘可以通过以下的方式报告自己的分区域属性:[19][20][4]:14

  • 由设备管理和主机可了解的磁盘会有一般块设备(SCSI 00h)的标记,方便一般计算机识别。
    • 一个叫做ZONED的字段会显示设备是由主机管理,主机可了解,还是都不是。这个字段处于 SCSI 的块设备特性(Block Device Characteristics)VPD 页面和 ATA 的设备能力日志页。
  • 由主机管理的块设备有一个新的设备种类标记(SCSI 14h)。只有支持这些协议的电脑才可以识别。

这套标准的第二版称为 ZAC-2/ZBC-2,截至2020年4月 (2020-04)仍在开发中。这类设备引入了一种“领域和范围式分区域块设备”(domains and realms zoned block device),支持不连续的 LBA 地址。[21]西部数据的代表提议,要在新标准里移除对 ZONED 字段的描述。[22]

这套分区系统可以对闪存也有意义,有助于降低内部控制器的工作需求,优化写入放大并降低预留空间。NVMe组织正在考虑提供一个类似的接口。[23]

软件及应用编辑

叠瓦磁记录的属性介于只能顺序读写的磁带英语Magnetic tape data storage和可以随机的读写的普通硬盘之间:其数据密度较高,可以随机读取,但只能顺序写入。这类硬盘适合写入一般不需要回头修改,但需要经常随机读取的数据。Dropbox 的“魔术口袋”(Magic Pocket)就是这样一种系统,它把用户的数据存储在只能向后添加的文件里。[24]也有些由设备管理的 SMR 硬盘被当作“存档用磁盘”售卖。[25]

Linux有一些文件系统已经支持 SMR 设备或者可以调整得性能更好:[26]

  • F2FS 本来为闪存设计,现在也有一个分区域块设备(Zoned Block Device, ZBD)的模式。可以在由主机管理的磁盘上使用,不过需要一块普通区域来随机读写元数据。
  • Btrfs 的ZBD支持仍在路上,不过这个寫入時複製的文件系统本来就基本上进行顺序写入了。
  • 有调整 Ext4 使其更多进行顺序写入的实验。
  • 对于其他文件系统,需要使用 Linux 设备映射器英语device mapper的 dm-zoned 目标把由主机管理的硬盘映射成一个普通的随机写入硬盘。4.10以上版本的内核不需要 dm 就可以自行映射。[27]

FreeBSD 也有对分区域块设备的协议级支持。[17]截至2020年4月 (2020-04),Windows 和 macOS都没有支持这些协议。

动态混合SMR编辑

传统的 SMR 盘是在生产时就规定了每一个分块的用途,但新兴的动态混合SMR盘可以由顾客随时重新指定分块是当 SMR 用还是当 PMR 用。[28][29]

参考资料编辑

  1. ^ 1.0 1.1 Anand Lal Shimpi. Seagate to Ship 5TB HDD in 2014 using Shingled Magnetic Recording. AnandTech. September 9, 2013 [February 9, 2015]. (原始内容存档于2020-06-04). 
  2. ^ Roger Wood. Shingled Magnetic Recording and Two-Dimensional Magnetic Recording (PDF). ewh.ieee.org. October 19, 2010 [December 14, 2014]. (原始内容 (PDF)存档于2014-10-04). 
  3. ^ What is Shingled Magnetic Recording (SMR)?. storagereview.com. January 30, 2015 [February 9, 2015]. (原始内容存档于2015-02-09). 
  4. ^ 4.0 4.1 4.2 4.3 4.4 4.5 Mary Dunn; Timothy Feldman. Shingled Magnetic Recording: Models, Standardization, and Applications (PDF). Storage Networking Industry Association. September 22, 2014 [February 9, 2015]. (原始内容 (PDF)存档于2020-06-16). 
  5. ^ Jake Edge. Support for shingled magnetic recording devices. LWN.net. March 26, 2014 [December 14, 2014]. (原始内容存档于2015-02-02). 
  6. ^ Geoff Gasior. Shingled platters breathe helium inside HGST's 10TB hard drive. The Tech Report. September 9, 2014 [February 9, 2015]. (原始内容存档于2019-03-16). 
  7. ^ Sebastian Anthony. HGST releases helium-filled 10TB hard drive; Seagate twiddles shingled fingers. Ars Technica. 3 December 2015 [3 December 2015]. (原始内容存档于2016-07-16). 
  8. ^ 15TB and 14TB SMR Hard Drives Ultrastar DC HC620. www.hgst.com. [30 October 2018]. (原始内容存档于2018-10-31) (英语). 
  9. ^ Alcorn, Paul. Sneaky Marketing Redux: Toshiba, Seagate Shipping Slower SMR Drives Without Disclosure, Too. Tom’s Hardware  . [17 April 2020]. 
  10. ^ 新浪科技综合. 东芝官方公布SMR硬盘完整名单:桌面/笔记本五大系列. tech.sina.com.cn. 2020-04-29 [2020-05-23]. 
  11. ^ 避坑:希捷和东芝硬盘中的SMR型号_PCEVA,PC绝对领域,探寻真正的电脑知识. www.pceva.com.cn. [2020-05-23]. 
  12. ^ Zoned Block Commands (ZBC) (PDF). t10.org. ANSI T10 Committee. [22 January 2018]. (原始内容存档 (PDF)于2020-07-03). 
  13. ^ Campello, Jorge. SMR: The Next Generation of Storage Technology (PDF). 24 September 2015 [22 January 2018]. (原始内容存档 (PDF)于2020-06-16). 
  14. ^ Mellor, Chris. Shingled hard drives have non-shingled zones for caching writes. Blocks and Files. 15 April 2020 [2020-04-23]. (原始内容存档于2020-04-23). 
  15. ^ Brewer, Eric; Ying, Lawrence; Greenfield, Lawrence; Cypher, Robert; T'so, Theodore. Disks for Data Centers. Proceedings of USENIX FAST 2016. 2016 [2020-04-23]. (原始内容存档于2020-03-10) (英语). 
  16. ^ TRIM Command Support for WD External Drives. WD support. [2020-04-23]. (原始内容存档于2020-04-17). 
  17. ^ 17.0 17.1 zonectl(8) – FreeBSD系统管理(System Manager's)手册页
  18. ^ SMR (Shingled Magnetic Recording) 101. Tom's IT Pro. [2018-03-03]. (原始内容存档于2017-06-11) (英语). 
  19. ^ Information technology - ATA Command Set - 4 (ACS-4), Draft revision 18 (PDF). [2020-04-25]. (原始内容存档 (PDF)于2018-11-23). 
  20. ^ Seagate. SCSI Commands Reference Manual, Rev. J (PDF): 472. [2020-04-25]. (原始内容存档 (PDF)于2020-03-12). 
  21. ^ T10, 2020.
  22. ^ Weber, Ralph O. SBC-5, ZBC-2: Obsolete the ZONED field (PDF). www.t10.org. April 23, 2020 [2020-04-25]. (原始内容存档 (PDF)于2020-04-24).  已忽略未知参数|url-access= (帮助)
  23. ^ NVMe Zoned Namespace. ZonedStorage.io. [2020-04-25]. (原始内容存档于2020-01-29). 
  24. ^ Magic Pocket Hardware Engineering Teams. Extending Magic Pocket Innovation with the first petabyte scale SMR drive deployment. dropbox.tech. [2020-04-23]. (原始内容存档于2020-04-18). 
  25. ^ Archive HDD (PDF). Seagate. [2018-03-03]. (原始内容存档 (PDF)于2017-10-11) (英语). 
  26. ^ File Systems. ZonedStorage.io. [2020-04-23]. (原始内容存档于2020-01-29). 
  27. ^ Device Mapper. ZonedStorage.io. [2020-04-23]. (原始内容存档于2020-05-22). 
  28. ^ Collins, Brendan. Dynamic Hybrid SMR. Western Digital. 13 November 2017 [25 August 2018]. (原始内容存档于2018-08-26). 
  29. ^ Dynamic Hybrid-SMR: an OCP proposal to improve data center disk drives. blog.google. Google. 13 November 2017 [22 January 2018]. (原始内容存档于2018-05-29). 

参见 编辑

外部链接编辑

部分硬盘制造商、NAS制造商和科技社群公布的使用叠瓦磁记录技术的硬盘列表:
爭議事件