Shingled magnetic recording
Shingled magnetic recording is a magnetic storage data recording technology used in hard disk drives to increase storage density and overall per-drive storage capacity. Conventional hard disk drives record data by writing non-overlapping magnetic tracks parallel to each other, while shingled recording writes new tracks that overlap part of the previously written magnetic track, leaving the previous track narrower and allowing for higher track density. Thus, the tracks partially overlap similar to roof shingles. This approach was selected because physical limitations prevent recording magnetic heads from having the same width as reading heads, leaving recording heads wider.
The overlapping-tracks architecture complicates the writing process since writing to one track also overwrites an adjacent track. If adjacent tracks contain valid data, they must be rewritten as well. As a result, SMR drives are divided into many append-only zones of overlapping tracks that need to be rewritten entirely when full, resembling flash blocks in solid state drives. Device-managed SMR devices hide this complexity by managing it in the firmware, presenting an interface like any other hard disk. Other SMR devices are host-managed and depend on the operating system to know how to handle the drive, and only write sequentially to certain regions of the drive. While SMR drives can use DRAM and Flash memory caches to improve writing performance, continuous writing of large amount of data is slower than with PMR drives.
History
started shipping device-managed SMR hard drives in September 2013, stating an increase in overall capacity of about 25% compared to non-shingled storage. In September 2014, HGST announced a 10 TB drive filled with helium that uses host-managed shingled magnetic recording, although in December 2015 it followed this with a 10 TB helium-filled drive that uses conventional non-shingled perpendicular recording. In November 2018, HGST introduced 14 TB and 15 TB drives.Western Digital and Toshiba have sold SMR drives without labeling them as such, generating a large controversy, as SMR drives are much slower in some circumstances than PMR drives. These practices were used in both data storage-dedicated and consumer-centric HDDs.
Data management
There are three different ways that data can be managed on an SMR drive:- Device Managed
- Host Managed
- Host Aware
Device managed
This type of SMR drive is often not labelled by the manufacturer. Its firmware-controlled shingle translation layer operation can be compared to solid state drives, as LBA addresses do not correlate much to on-disk structure. The append-only zones are very slow for random writing, so writes are first sent to a PMR cache, and the disk moves these data to SMR parts when idle. RAID resilvering tends to overload the cache, sending SMR drives into minutes-long pauses. Faulty firmware may also throw an error when asked to read an address never written to. Both behaviors tend to be interpreted as drive failure by the RAID controller.
The zoned nature of SMR also means that the disk suffers from write amplification when garbage collecting, although for hard drives the main problem with writes is speed instead of longevity. Some SMR hard drives support TRIM for this reason.
Host managed
A Host Managed device requires strict adherence to a special protocol by the host. Since the host manages the shingled nature of the storage, it is required to write sequentially so as to not destroy existing data. The drive will refuse to execute commands which violate this protocol.Host aware
Host Aware is a combination of Drive Managed and Host Managed. The drive is capable of managing the shingled nature of the storage and will execute any command the host gives it, regardless of if it is sequential or not. However, the host is aware that the drive is shingled, and able to query the drive for fill levels. This allows the host to optimize writes for the shingled nature, while also allowing the drive to be flexible and backwards-compatible.Protocol
SMR devices are considered zoned devices, as the storage is divided into zones of usually 256 MiB size. Two sets of specialized commands, ZBC for SCSI and ZAC for SATA are available for SMR devices. They tell the host about whether each zone is PMR or SMR and allow them to address these zones directly. Unless specifically mentioned, the commands are only available on host aware/managed devices. The specific commands are:- REPORT ZONES, for information on disk layout and zone status
- * SMR or similar zones are sequential required on host-managed drives, but sequential preferred on host-aware ones.
- RESET WRITE POINTER, for rewinding the write pointer so a sequential zone becomes empty
- OPEN ZONE, for explicitly declaring access to a zone and locking the associated firmware resources
- CLOSE ZONE, to unlock an opened zone
- FINISH ZONE, fill a zone full and make it readable
SMR devices identify themselves per the following:
- Host-aware or device-managed drives are marked as normal block devices, so they can be recognized as a normal hard drive.
- * A ZONED field shows whether the drive is device-managed, host-aware, or neither. This is found in the SCSI Block Device Characteristics VPD page and the ATA capabilities log page.
- Host-managed drives use a new device type. Only ZAC/ZBC-aware computers can detect and use them.
The zoned interface is also useful for flash storage. A version is under consideration by the NVM Express organization.
Software and application
The higher density of SMR drives, combined with its random-read nature, fills a niche between the sequential-access tape storage and the random-access conventional hard drive storage. They are suited to storing data that are unlikely to be modified, but need to be read from any point efficiently. One example of the use case is Dropbox's Magic Storage system, which runs the on-disk extents in an append-only way. Device-managed SMR disks have also been marketed as "Archive HDDs" due to this property.A number of file systems in Linux are or can be tuned for SMR drives:
- F2FS, originally designed for flash media, has a Zoned Block Device mode. It can be used on host-managed drives with conventional zones for metadata.
- Btrfs ZBD support is in progress, but it already writes mostly sequentially due to the CoW nature.
- ext4 can be experimentally tuned to write more sequentially. Ted Ts'o and Abutalib Aghayev gave a talk in 2017 on their ext4-lazy. Seagate also has a more radical "SMRFFS" extension from 2015 that makes use of the ZBC/ZAC commands.
- For other filesystems, the Linux device mapper has a dm-zoned target that maps a host-managed drive into a random-writable drive. Linux kernel since 4.10 can perform this task without dm. A zonefs from 2019 exposes the zones as files for easier access.
Dynamic hybrid SMR
While for traditional SMR models each zone is assigned a type at manufacture time, dynamic hybrid SMR drives allow to reconfigure the zone type from shingled to conventional and back by the customer. Adjusting the SMR/PMR setting helps suit the drive to the current workload of "hot" and "cold" data.Specifications
- ZAC/ZBC version 1
- * T10, , 2014, Draft revision 1
- * T13, , Draft revision 5, 2015
- ZAC/ZBC version 2
- * T10, , 2020, Draft revision 04a
- * T13, ZAC-2, PDF unavailable