Question about UNMAP command

Neil Wanamaker Neil.Wanamaker at
Wed Jan 28 10:10:22 PST 2015

Formatted message: <a href="">HTML-formatted message</a>


Actually, I thought that ATA devices that advertise support of DATA SET
MANAGEMENT ‘Trim’ were assumed to be resource-provisioned, and ones that
did not were fully provisioned (and would reject the DSM).



From: owner-t10 at [mailto:owner-t10 at] On Behalf Of James C

Sent: Wednesday, January 28, 2015 9:49 AM

Cc: T10 Reflector

Subject: Re: Question about UNMAP command


ATA devices are assumed to be fully provisioned, and have no restriction on
support for the DATA SET MANAGEMENT 'Trim' command.

So, by extension, fully provisioned SCSI devices should be able to support
UNMAP as well.	(Yes: I know "SCSI rules don't apply to ATA", but a precedent
has been set.)

Thank You !!!


Jim Hatfield

Seagate Technology LLC

   e-mail:  James.C.Hatfield at

   s-mail:  389 Disc Drive;  Longmont, CO 80503 USA

   voice:  720-684-2120

   fax....: 720-684-2711

   cell...: 720-771-8914

On Wed, Jan 28, 2015 at 8:45 AM, Gerry Houlder
<gerry.houlder at> wrote:

Some questions have come up about whether a fully provisioned logical unit
may support the UNMAP command. SBC-4 r4 has a table (table 5) in the Logical
Block Provisioning Model that states that fully provisioned logical units are
prohibited from supporting anchored or deallocated states. The wording in
4.7.2 says a fully provisioned logical unit may support GET LBA STATUS
command but says nothing about whether UNMAP may be supported. This suggests
that a fully provisioned logical unit may support UNMAP as long as no LBAs
are anchored or deallocated. Does the group agree with this interpretation?

A reason to do this is that more host systems are using UNMAP to indicate
files they are deleting. These systems often send the UNMAP based solely on
the fact that the file is being deleted, not on the type of logical unit that
is in use. These systems would rather have a fully provisioned logical unit
act like a provisioned logical unit (i.e., accept the UNMAP command, do
nothing, and return GOOD status) than to reject the command as unsupported.
This should not be prohibited by the standard.

Another situation where this can come up is with a Host Aware ZBC device.
These devices are required to return a default initialization pattern for any
unwritten LBAs. To a host system, this looks just like those LBAs have been
unmapped by the device. Does this mean that a Host Aware device has to call
itself a resource provisioned device or can it still be a fully provisioned
device even though it appears to implement anchoring? What if that device
also accepts UNMAP commands but doesn't do anything except return GOOD status
on that command?

More information about the T10 mailing list