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:
A Device Managed drive appears to the host identically to a non-shingled drive. It is not necessary for the host to follow any special protocols. All handling of data, as it relates to the shingled nature of the storage, is managed by the device. Sequential writes are more efficient. In addition, the host is unaware that the storage is shingled.
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:
Each zone has a range of LBA addresses associated with it, and all LBA-based commands can be used as long as the sequential requirement is followed on host-managed drives.
SMR devices identify themselves per the following:
A newer version of the sibling standards, ZAC-2/ZBC-2 is under development. The new version introduces a new type of "domains and realms zoned block devices" that allow for non-contiguous LBAs. The ZONED field has been retired following a proposal from Western Digital.
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:
In addition to Linux, FreeBSD also has protocol-level support for host-managed SMR drives., neither Windows nor macOS supports the ZBC/ZAC commands required for such drives to work.

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