Shingled Magnetic Recording Zone Control
Manage SCSI and ATA Zoned Block devices. This allows managing devices that
conform to the SCSI Zoned Block Commands (ZBC) and ATA Zoned ATA Command Set
(ZAC) specifications. Devices using these command sets are usually hard drives
using Shingled Magnetic Recording (SMR). There are three types of SMR drives:
- Drive Managed
- Drive Managed drives look and act just like a standard random access block
device, but underneath, the drive reads and writes the bulk of its
capacity using SMR zones. Sequential writes will yield better performance,
but writing sequentially is not required.
- Host Aware
- Host Aware drives expose the underlying zone layout via SCSI or ATA
commands and allow the host to manage the zone conditions. The host is not
required to manage the zones on the drive, though. Sequential writes will
yield better performance in Sequential Write Preferred zones, but the host
can write randomly in those zones.
- Host Managed
- Host Managed drives expose the underlying zone layout via SCSI or ATA
commands. The host is required to access the zones according to the rules
described by the zone layout. Any commands that violate the rules will be
returned with an error.
SMR drives are divided into zones (typically in the range of 256MB each) that
fall into three general categories:
- These are also known as Non Write Pointer zones. These zones can be
randomly written without an unexpected performance penalty.
- Sequential Preferred
- These zones should be written sequentially starting at the write pointer
for the zone. They may be written randomly. Writes that do not conform to
the zone layout may be significantly slower than expected.
- Sequential Required
- These zones must be written sequentially. If they are not written
sequentially, starting at the write pointer, the command will fail.
- Specify the zone subcommand:
- Display device parameters, including the type of device (Drive
Managed, Host Aware, Host Managed, Not Zoned), the zone commands
supported, and how many open zones it supports.
- Issue the Report Zones command. All zones are returned by default.
Specify report options with
printing options with
the starting LBA with
-l. Note that
“reportzones” is also accepted as a command
- Explicitly open the zone specified by the starting LBA.
- Close the zone specified by starting LBA.
- Finish the zone specified by the starting LBA.
- Reset the write pointer for the zone specified by the starting
- For the Open, Close, Finish, and Reset Write Pointer operations, apply the
operation to all zones on the drive.
- Specify the starting LBA. For the Report Zones command, this tells the
drive to report starting with the zone that starts at the given LBA. For
the other commands, this allows the user to identify the zone requested by
its starting LBA. The LBA may be specified in decimal, hexadecimal or
- For the Report Zones command, specify a subset of zones to report.
- Report all zones. This is the default.
- Report only empty zones.
- Report zones that are implicitly open. This means that the host has
sent a write to the zone without explicitly opening the zone.
- Report zones that are explicitly open.
- Report zones that have been closed by the host.
- Report zones that are full.
- Report zones that are in the read only state. Note that
“readonly” is also accepted as an argument.
- Report zones that are in the offline state.
- Report zones that the device recommends should have their write
- Report zones that have the Non Sequential Resources Active flag set.
These are zones that are Sequential Write Preferred, but have been
- Report Non Write Pointer zones, also known as Conventional zones.
- Specify a printing option for Report Zones:
- Normal Report Zones output. This is the default. The summary and
column headings are printed, fields are separated by spaces and the
fields themselves may contain spaces.
- Just print the summary: the number of zones, the maximum LBA (LBA of
the last logical block on the drive), and the value of the
“same” field. The “same” field describes
whether the zones on the drive are all identical, all different, or
whether they are the same except for the last zone, etc.
- Print the zones in a script friendly format. The summary and column
headings are omitted, the fields are separated by commas, and the
fields do not contain spaces. The fields contain underscores where
spaces would normally be used.
zonectl -d /dev/da5 -c params
Display basic zoning information for disk da5.
zonectl -d /dev/da5 -c rz
Issue the Report Zones command to disk da5, and print out all zones on the drive
in the default format.
zonectl -d /dev/da5 -c rz -o reset -P script
Issue the Report Zones command to disk da5, and print out all of the zones that
have the Reset Write Pointer Recommended bit set to true. Print the zones in a
script friendly form.
zonectl -d /dev/da5 -c rwp -l 0x2c80000
Issue the Reset Write Pointer command to disk da5 for the zone that starts at