Objections to 10-043r0 changing the intent of the wtc bit in WRITE ATTRIBUTE command
Kevin D Butt
kdbutt at us.ibm.com
Fri Mar 5 16:02:41 PST 2010
Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1003054_f.htm">HTML-formatted message</a>
Curtis,
Thanks for the response. I understand your concern but believe that this
is clear in the current text. In my mind the current text,
<<The write-through cache (WTC) bit set to one specifies the attributes in
the parameter list shall be synchronized with the medium auxiliary memory
during the processing of the WRITE ATTRIBUTE command and GOOD status shall
not be returned until the attributes have been synchronized with the
medium auxiliary memory.>>
states that the command shall be held and the attribute synched to MAM
before GOOD status can be returned. I can see from a device server
perspective how, depending on your queuing model, other commands may be
accepted and processed. However, from an application perspective, if the
application needs to block its activities until this synch to MAM is
complete, it can do so not issuing other commands until this WRITE
ATTRIBUTE command completes. So it does provide the functionality needed
by an application to block until the data has been synched to MAM.
The assumptions on how fast WRITE ATTRIBUTE returns will undoubtedly vary
|from vendor to vendor. The only amount of time that an application has
the right to expect is the timeout value returned in the REPORT SUPPORTED
OPERATION CODE command. Any other time is an assumption that is
inherently inaccurate. The wtc bit is a new function that clarifies
behavior. Prior to the wtc bit a device server may have operated this way
on all WRITE ATTRIBUTE commands. An application has to handle that today.
If you are concerned about the increase in time, then go into the REPORT
SUPPORTED OPERATION CODE command and add a command specific timeout for
the WRITE ATTRIBUTE command when the wtc bit is set to one.
Thanks,
Kevin D. Butt
SCSI & Fibre Channel Architect, Tape Firmware
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Tel: 520-799-5280
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt at us.ibm.com
http://www-03.ibm.com/servers/storage/
From:
"Ballard, Curtis C (StorageWorks)" <curtis.ballard at hp.com>
To:
Kevin D Butt/Tucson/IBM at IBMUS
Cc:
"t10 at t10.org" <t10 at t10.org>
Date:
03/05/2010 04:20 PM
Subject:
RE: Objections to 10-043r0 changing the intent of the wtc bit in WRITE
ATTRIBUTE command
Thanks for the thoughts Kevin. The way WTC is documented currently it is
not clear that it is intended to be blocking. I'm not in favor of having
a blocking WRITE ATTRIBUTE as that is very different from the existing
WRITE ATTRIBUTE behavior. All of the use I am aware of for WA has very
short timeouts and expects a rapid response. I would like WTC to behave
the same way. If the device server isn't able to process the write at
this time respond quickly with a response that informs the application
that it needs to try again later.
The intent of the statement I proposed was to answer your question in your
last paragraph ? why did the application get this response and what should
it's response be. It got the response because the WTC bit is supported
but it isn't possible to write to MAM right now and what to do is try
again when the drive is idle. In practice the application sending the WA
command should be the same application using the drive and the application
will know when the drive is idle.
However WTC is supposed to behave I would like it to be very clear. If it
is going to respond quickly then we can work with the text I have proposed
to make it clear what that means and what an application should do. If
WTC is supposed to cause WA to block and a long timeout may be required
then we need to make that clear.
Curtis Ballard
Hewlett Packard
StorageWorks Platforms Tape
Fort Collins, CO
(970) 898-3013
From: Kevin D Butt [mailto:kdbutt at us.ibm.com]
Sent: Friday, March 05, 2010 3:40 PM
To: Ballard, Curtis C (StorageWorks)
Cc: t10 at t10.org
Subject: Objections to 10-043r0 changing the intent of the wtc bit in
WRITE ATTRIBUTE command
Curtis,
Regarding your proposal 10-043r0 "SPC-4: Correct usage of term volume in
MAM attributes" I have objections with the proposed modification of the
wtc bit.
The wtc (write-through cache) bit which was recently included in SPC-4
(see 09-355r2) is intended to provide a blocking synchronization to MAM
much like a WRITE FILEMARK is supposed to provide a blocking
synchronization of buffered data to medium. The application is blocked
until GOOD status is returned and then the application can be assured that
the data is out of the buffer and onto the medium. That is the same
intent as the WTC bit with data going to the MAM.
It would not make sense for a device server to return ILLEGAL REQUEST,
OPERATION IN PROGRESS to a WRITE FILEMARK command even if the drive was
doing some extensive error recovery procedure like a head brush that takes
a long time. The WRITE FILEMARK command is held in the queue and waits
until it can be serviced or until the upper layer timeout in the
application fires and the command is aborted. In the same token, it does
not make sense for a WRITE ATTRIBUTE command with the WTC bit set to one
to return this error just because a device server is busy with something
else. The WRITE ATTRIBUTE command should be held in the queue until it can
be serviced and return GOOD status.
Additionally, should an application receive a response of ILLEGAL
REQUEST, OPERATION IN PROGRESS to the WRITE ATTRIBUTE command what would
be its actions? It doesn't know why this is returned. It doesn't know if
it should reissue the command and if so how long to wait. In practice
applications would fail the entire job, call the volume bad, and move to
use a different volume. This is not desirable.
Thanks,
Kevin D. Butt
SCSI & Fibre Channel Architect, Tape Firmware
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Tel: 520-799-5280
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt at us.ibm.com
http://www-03.ibm.com/servers/storage/
More information about the T10
mailing list