comments on 09-339r0 UAS procedure calls doc for conf call

John Garney jig at mcci.com
Tue Sep 29 12:09:41 PDT 2009


* From the T10 Reflector (t10 at t10.org), posted by:
* John Garney <jig at mcci.com>
*
Here are comments on the 09-339r0 UAS procedure call doc.
There needs to be some global statements in the UAS doc sec. 4.1 that =20=
states:
	The UAS initiator port and target port operating at SuperSpeed =
shall =20
use SuperSpeed stream protocol for the data and status pipes.
	The UAS initiator port and target port operating at SuperSpeed =
shall =20
not use SuperSpeed stream protocol for the command pipe.
There are missing specifications for the handling by the UAS initiator =20=
port of the READ_READY IU and WRITE_READY IU.  I.e. that is where you =20=
need to state something like the following:
	Upon receipt of a READ READY IU on the status pipe, a UAS =
initiator =20
port operating at high- or full- speed shall initiate one or more =20
transactions to receive data for a read or bidirectional command on =20
the data-in pipe.
And for data-out pipe:
	Upon receipt of a WRITE READY IU on the status pipe, a UAS =
initiator =20
port operating at high- or full- speed shall initiate one or more =20
transactions to transmit data for a write or bidirectional command on =20=
the data-out pipe.
Also, does there need to be application client notification of these =20
events (as there currently exists some device server notification of =20
corresponding events)?
There are missing specifications for the initial condition of a device =20=
server with respect to how it shall respond to transactions on the =20
data-in, data-out and status pipes before a command is received. =20
Something like:
	A UAS target port operating at high- or full- speed shall =
respond to =20
transactions on the data-in, data-out and status pipes with a NAK =20
before the receipt of a correctly structured COMMAND IU on the command =20=
pipe.
	A UAS target port operating at SuperSpeed shall respond to =20
transactions on the data-in, data-out and status pipes with an NRDY =20
before the receipt of a correctly structured COMMAND IU with a =20
corresponding TAG on the command pipe.
(These probably need more word smithing)
sec. 4.1, sentence before table 2: Change "=85SSP=85" to "=85UAS..."
sec. 4.1, table 1: implementation description of data-in and data-out =20=
Delivered/Received confirmation shouldn't refer to ACKs, but to =20
transfer completion (i.e. IO completion for some set of transactions =20
moving some buffer of data).  You don't want to have the application =20
client (suggest that it will) be informed of every ACK for each =20
transaction.  And unless you will require the UAS initiator target to =20=
make every transfer be one transaction long, you can't get ACK =20
completion notification per transaction on the host.
sec. 4.2, 1st sentence, end of sentence: Add "=85 on the Command pipe."
This comment also applies to other sections referencing the COMMAND_IU =20=
in the 1st sentence.
Rationale for next comment: since USB requires a transaction initiated =20=
by the host in order to retrieve a status response on the status pipe, =20=
there must be some statement that indicates when the initiator port =20
shall/shall not cause that transaction to be initiated.
Therefore, before  table 3, add the following:,
	The UAS initiator port may initiate a status IN transaction on =
the =20
Status pipe before or after initiating the command on the Command pipe.
	The UAS initiator port shall initiate the command OUT =
transaction on =20
the Command pipe and shall initiate a status IN transaction on the =20
status pipe.
(Question: Also, current diagrams and text in UAS indicate two status =20=
transactions.  Is that really required at this point?)
	An UAS initiator port operating at SuperSpeed shall initiate a =
data =20
transaction with the appropriate TAG on the data pipe for a read, =20
write or bidirectional command.
	An UAS initiator port operating at high- or full-speed shall not =
=20
initiate a data transaction on the data pipe for a read, write or =20
bidirectional command.
sec. 4.3, table 4, 1st row, point a): change "=85to send the COMMAND IU" =
=20
to "=85from which the COMMAND IU was received."
point b): change "=85to which the COMMAND IU is to be sent" to "=85from =20=
which the COMMAND IU was sent"
sec. 4.4, 1st sentence: change "SENSE" to "SENSE_IU with the =20
appropriate TAG on the status pipe."
Before table 5, add the following:
	A device server operating at high- or full- speed shall respond =
to a =20
status pipe transaction with data composed of a SENSE_IU with the =20
appropriate command completion status.
	A device server operating at SuperSpeed shall respond to a =
status =20
pipe transaction with the corresponding TAG with data composed of a =20
SENSE_IU with the appropriate command completion status.
sec. 4.4, table 5, 1st row: letter points c, d, e, f should be a =20
through d.
Change 1st letter point from "=85send the COMMAND IU" to "=85send the =20=
SENSE IU"
change 2nd letter point from "=85to which the COMMAND IU is to be sent" =20=
to "=85to which the SENSE IU is to be sent".
sec. 4.5, 1st sentence: remove "or a NAK".  the UAS initiator port =20
won't ever be aware of NAKs on the bus.
Change "=85or=85" to "=85 on the status pipe with the corresponding TAG =
or =85"
Before table 6, add the following:
	The UAS initiator port shall wait until all data pipe =
transactions =20
have completed for the corresponding TAG before notifying the =20
application client of the command response received.
	Upon receipt of a response to a COMMAND_IU, the UAS initiator =
port =20
shall abort any outstanding transactions on the status or data pipes =20
for the corresponding TAG.  ***This presumes that the device server =20
ensures that the status response isn't transmitted until all previous =20=
data has been successfully moved.
In table 6, 1st row, letter bullet a): change "=85to send the COMMAND =20=
IU" to "=85from which the SENSE IU was received"
letter bullet b): change "=85to which the COMMAND IU is to be sent" to =
"=85=20
|from which the SENSE IU was received"
sec. 4.6, before table 7 add the following:
	A device server operating at high- or full- speed shall respond =
to a =20
transaction on the status pipe to transmit a READ_READY IU  with the =20
appropriate TAG.
	That response shall cause the UAS initiator port operating at =
high- =20
or full- speed to initiate one or more transactions with the =20
appropriate TAG on the data in pipe.
	A device server operating at SuperSpeed shall initiate a =
transaction =20
transmitting an ERDY with the appropriate TAG on the data in pipe.
	The device server shall respond to transactions on the data-in =
pipe =20
with read data with the appropriate TAG.
table 7, 1st row, letter bullet a): change "=85to send the COMMAND IU" =20=
to "=85 to send the transmit data read request"
bullet b): change "=85to which the COMMAND IU is to be sent" to "=85from =
=20
which the transmit data read request is to be sent"
bullet c) and d): change "=85in the COMMAND IU" to "=85 from the =20
corresponding COMMAND IU"
sec. 4.7, 1st sentence: change "DATA frame" to "DATA packet".
Change "=85notify a device server=85" to "=85 notify application =
client=85"
before table 8, add the following:
	Completion of the transfer requests on the data in pipe with the =
=20
appropriate TAG shall cause the UAS initiator port to notify the =20
application client of the completion status.
In table 8, last sentence, "remove "=85a NAK or=85".  NAKs won't be =20
visible to the target port.
table 8, 1st row, letter bullet a): change "=85to send the COMMAND IU" =20=
to "=85for which the data was delivered"
bullet b): change "=85to which the COMMAND IU is to be sent" to "=85 for =
=20
which the data was delivered."
bullets c) and d): change "=85in the COMMAND IU" to "=85 from the =20
corresponding COMMAND IU".
table 8, last row, letter bullet b): remove "=85a NAK or=85".  Possibly =20=
replace with "error or"?
sec. 4.7 vs. sec. 4.9: The notification procedure calls for data-in =20
Delivered and data-out Received are not symmetric.  The data-in =20
delivered procedure call notifies the device server that data has been =20=
delivered from the data-in pipe.  But there is no notification of the =20=
delivery of the READ_READY.  The data-out received procedure call =20
notifies the device server of the delivery of the WRITE_READY IU, but =20=
there is no notification of the delivery of the write data.  Two =20
additional notifications seem indicated.  Or at least the two =20
procedures should be symmetric.
sec. 4.8, 1st sentence: Change "=85 transmit WRITE READY IU or an ERDY=85"=
 =20
to "=85receive data=85"
3rd paragraph: Change "=85 no WRITE READY IU or ERDY on the Data-out =20
pipe until all write =85" to "=85 no data transfer for a subsequent =20
COMMAND IU until all data for a previous COMMAND IU=85"
Before table 9, add the following:
	A device server operating at high- or full-speed shall respond =
to a =20
transaction on the status pipe with a WRITE READY IU with the =20
appropriate TAG.
	That response shall cause a UAS initiator port operating at =
high- or =20
full- speed to initiate one or more transactions to transmit the data =20=
on the data-out pipe.
	A device server operating at SuperSpeed shall initiate a =
transaction =20
transmitting an ERDY with the appropriate TAG on the data-out pipe.
	The device server shall accept write data from the transactions =
on =20
the data-out pipe with the appropriate tag.
Table 9, 1st row, letter bullet a): Change "=85to send the COMMAND IU" =20=
to "=85from which to send the data"
bullet b): Change "=85to which the COMMAND IU is to be sent" to "=85to =20=
which the data is to be sent"
bullets c) and d): Change "=85in the COMMAND IU" to "=85 from the =20
corresponding COMMAND IU"
Section 4.9 could be intended for three possible purposes.  The follow =20=
three sections address each in turn.  Probably only one is really =20
correct for the intended purpose.
Section 4.9 could be modified to define a notification procedure for =20
an application client as follows:
---------------------------------
sec. 4.9, 1st sentence: Change "=85device server of the result of =20
transmitting a WRITE READY IU or ERDY on the Data-out pipe (e.g. =20
receiving write DATA in response)." to "=85 application client of the =20=
result of transmitting data on the data-out pipe.".
Before table 10, add the following:
	Completion of the transfer requests on the data out pipe with =
the =20
appropriate TAG shall cause the UAS initiator port to notify the =20
application client of the completion status.
table 10, 1st row, letter bullet a): Change "=85 to send the COMMAND IU" =
=20
to "=85 from which the data was delivered"
letter bullet b): Change "=85to which the COMMAND IU is to be sent" to =20=
"=85 to which the data was delivered"
letter bullets c) and d): Change "=85in the COMMAND IU" to "=85from the =20=
corresponding COMMAND IU"
table 10, last row, replace with following:
	=46rom the response to the data delivery on the data-out pipe:
		a) DELIVERY SUCCESSFUL: The data on the data-out pipe =
was =20
successfully transmitted and all the data was received; or
		b) DELIVERY FAILURE: The data on the data-out pipe was =
not received =20
successfully or no response was received.
---------------------------------
Section 4.9 could also be modified to define a notification procedure =20=
for "all data delivered" by the device server (vs. notification of the =20=
WRITE READY IU) as follows:
---------------------------------
sec. 4.9, 1st sentence: Change "=85device server of the result of =20
transmitting a WRITE READY IU or ERDY on the Data-out pipe (e.g. =20
receiving write DATA in response)." to "=85 device server of the result =20=
of transmitting data on the data-out pipe.".
Before table 10, add the following:
	Completion of the transfer request on the data out pipe with the =
=20
appropriate TAG shall cause the UAS target port to notify the device =20
server of the completion status.
table 10, 1st row, letter bullet a): Change "=85 to send the COMMAND IU" =
=20
to "=85 from which the data was delivered"
letter bullet b): Change "=85to which the COMMAND IU is to be sent" to =20=
"=85 to which the data was delivered"
letter bullets c) and d): Change "=85in the COMMAND IU" to "=85from the =20=
corresponding COMMAND IU"
table 10, last row, replace with following:
	=46rom the response to the data delivery on the data-out pipe:
		a) DELIVERY SUCCESSFUL: The data on the data-out pipe =
was =20
successfully transmitted and all the data was received; or
		b) DELIVERY FAILURE: The data on the data-out pipe was =
not received =20
successfully.
---------------------------------
Finally section 4.9 could be left as a notification procedure =20
fordelivery of the WRITE READY IU) as follows:
---------------------------------
At least add a note that this notification doesn't notify of data-out =20=
received, but of status delivery.
Also, don't know that all device USB3 hardware will provide a status =20
of completion of the ERDY for SuperSpeed.  So this procedure may only =20=
apply for high- and full- speed operation.
sec. 4.9, 1st sentence: Change "=85 WRITE READY IU or ERDY on the Data-=20=
out pipe (e.g. receiving write DATA in response)." to "=85 WRITE READY =20=
IU on the status pipe or ERDY on the data-out pipe.".
Before table 10, add the following:
	For a UAS target port operating at high- or full- speed, =
completion =20
of the transaction on the status out pipe shall cause the UAS target =20
port to notify the device server of the completion status.
	For a UAS target port operating at SuperSpeed, completion of the =
ERDY =20
on the data-out port may cause the UAS target port to notify the =20
device server of the completion.
Rationale for above: Some USB hardware may not supply status =20
notification of ERDY completion, so this procedure call notification =20
may not be invoked for a target port operating at SuperSpeed.
table 10, 1st row, letter bullet a): Change "=85 to send the COMMAND IU" =
=20
to "=85 to which the WRITE READY IU was delivered"
letter bullet b): Change "=85to which the COMMAND IU is to be sent" to =20=
"=85 from which the WRITE READY IU was delivered"
letter bullets c) and d): Change "=85in the COMMAND IU" to "=85from the =20=
corresponding COMMAND IU"
table 10, last row, replace with following:
	=46rom the response to the WRITE READY IU delivery on the =
status-out =20
pipe or the ERDY deliver on the data-out pipe:
		a) DELIVERY SUCCESSFUL: The delivery was successful; or
		b) DELIVERY FAILURE: The delivery was not successful.
---------------------------------
sec. 4.10, before table 11, add following:
	A UAS target port operating at high- or full- speed shall =
respond to =20
a transaction on the data-in and data-out pipes with a NAK.
	A UAS target port operating at SuperSpeed shall respond to a =20
transaction with a corresponding TAG on the data-in and data-out pipes =20=
with an NRDY.
Question: What shall be done if a READ/WRITE READY IU is pending at =20
the UAS target port as a transaction?  Shall it be aborted and =20
subsequent status pipe transactions respond with NAK/NRDY?  Or shall =20
it be untouched?
What shall be done with any pending data-in transactions at the UAS =20
target port?  Shall they be left to complete? Or shall they be =20
discarded by the UAS target port?
Sec. 4.11, 1st sentence: Change "=85SSP=85" to "=85UAS=85".
	The UAS target port shall notify the device server upon =
completion of =20
all pending transactions for the corresponding TAG on the data-in or =20
data-out pipes.
sec. 4.12, 1st sentence: question: Is "task frame" the correct phrase; =20=
specifically if frame is intended to be a USB term, it is not.	If it =20=
is a SAM term, perhaps it should be "TASK MANAGEMENT IU" as used below.
Before table 13, add following:
	The UAS initiator port shall initiate a transaction to transmit =
the =20
TASK MANAGEMENT IU on the command pipe.
Before table 14, add following:
	The UAS target port shall notify the task manager upon receipt =
of a =20
TASK MANAGEMENT IU on the command pipe.
Before table 15, add following:
	A UAS target port operating at high- or full- speed shall =
respond to =20
a transaction on the status pipe to return the RESPONSE IU.
	A UAS target port operating at SuperSpeed shall respond to a =20
transaction with a corresponding TAG on the status pipe with the =20
RESPONSE IU.
sec. 4.15, 1st sentence:  Remove "=85 or a NAK".
Before table 16, add following:
	The UAS initiator port shall notify the application client upon =20=
receipt of a RESPONSE IU on the status-pipe.
--Apple-Mail-3-1066275151
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=windows-1252
Here = are comments on the 09-339r0 UAS procedure call doc.
There needs to be some global = statements in the UAS doc sec. 4.1 that
states:
= The UAS initiator port and target port operating at SuperSpeed = shall use
SuperSpeed stream protocol for the data and status = pipes.
The UAS initiator port and target = port operating at SuperSpeed shall not
use SuperSpeed stream protocol = for the command pipe.
There are missing specifications for the handling by the UAS initiator = port
of the READ_READY IU and WRITE_READY IU.  I.e. that is where = you need to
state something like the following:
= Upon receipt of a READ READY IU on the status pipe, a UAS = initiator port
operating at high- or full- speed shall initiate one or = more transactions
to receive data for a read or bidirectional command on = the data-in pipe.
And for data-out pipe:
= Upon receipt of a WRITE READY IU on the status pipe, a UAS = initiator port
operating at high- or full- speed shall initiate one or = more transactions
to transmit data for a write or bidirectional command = on the data-out pipe.
Also, does there need to be application client notification of these = events
(as there currently exists some device server notification of = corresponding
events)?
There are missing specifications for the initial condition of a device =
server with respect to how it shall respond to transactions on the = data-in,
data-out and status pipes before a command is received. = Something like:
A UAS target port operating at = high- or full- speed shall respond to
transactions on the data-in, = data-out and status pipes with a NAK before
the receipt of a correctly = structured COMMAND IU on the command pipe.
A UAS = target port operating at SuperSpeed shall respond to transactions on
the = data-in, data-out and status pipes with an NRDY before the receipt of a
= correctly structured COMMAND IU with a corresponding TAG on the command =
pipe.
(These probably need more word = smithing)
sec. 4.1, sentence before table 2: Change "=85SSP=85" to = "=85UAS..."
sec. 4.1, table 1: implementation description of data-in and data-out =
Delivered/Received confirmation shouldn't refer to ACKs, but to transfer =
completion (i.e. IO completion for some set of transactions moving some =
buffer of data).  You don't want to have the application client = (suggest
that it will) be informed of every ACK for each = transaction.	And unless
you will require the UAS initiator target = to make every transfer be one
transaction long, you can't get ACK = completion notification per transaction
on the host.
sec. 4.2, 1st sentence, end of = sentence: Add "=85 on the Command pipe."
This comment also applies = to other sections referencing the COMMAND_IU in
the 1st = sentence.
Rationale for next comment: since USB requires a transaction initiated = by
the host in order to retrieve a status response on the status pipe, = there
must be some statement that indicates when the initiator port = shall/shall
not cause that transaction to be initiated.
Therefore, before  table 3, = add the following:,
The UAS initiator port may = initiate a status IN transaction on the Status
pipe before or after = initiating the command on the Command pipe.
The UAS = initiator port shall initiate the command OUT transaction on the
Command = pipe and shall initiate a status IN transaction on the status =
pipe.
(Question: Also, current diagrams and text in = UAS indicate two status
transactions.  Is that really required at = this point?)
An UAS initiator port operating = at SuperSpeed shall initiate a data
transaction with the appropriate TAG = on the data pipe for a read, write or
bidirectional command.
= An UAS initiator port operating at high- or full-speed shall not = initiate
a data transaction on the data pipe for a read, write or = bidirectional
command.
sec. 4.3, table 4, 1st row, point a): change "=85to send the COMMAND = IU" to
"=85from which the COMMAND IU was received."
point b): change "=85to which the COMMAND IU is to be sent" to "=85from =
which the COMMAND IU was sent"
sec. 4.4, 1st sentence: change "SENSE" to "SENSE_IU with the = appropriate
TAG on the status pipe."
Before table 5, add the following:
A device server operating at = high- or full- speed shall respond to a status
pipe transaction with = data composed of a SENSE_IU with the appropriate
command completion = status.
A device server operating at = SuperSpeed shall respond to a status pipe
transaction with the = corresponding TAG with data composed of a SENSE_IU
with the appropriate = command completion status.
sec. 4.4, table 5, 1st row: letter points c, d, e, f should be a = through d.
Change 1st letter point from "=85send the = COMMAND IU" to "=85send the SENSE
IU"
change 2nd letter point = from "=85to which the COMMAND IU is to be sent" to
"=85to which the = SENSE IU is to be sent".
sec. 4.5, 1st sentence: remove "or a NAK".  the UAS initiator = port won't
ever be aware of NAKs on the bus.
Change "=85or=85" to "=85 on the status pipe with the corresponding = TAG or
=85"
Before table 6, add the following:
The UAS initiator port shall wait = until all data pipe transactions have
completed for the corresponding = TAG before notifying the application client
of the command response = received.
= Upon receipt of a response to a COMMAND_IU, the UAS initiator = port shall
abort any outstanding transactions on the status or data = pipes for the
corresponding TAG.  ***This presumes that the device = server ensures that
the status response isn't transmitted until all = previous data has been
successfully moved.
In table 6, 1st row, letter bullet a): change = "=85to send the COMMAND IU"
to "=85from which the SENSE IU was = received"
letter bullet b): change "=85to which the = COMMAND IU is to be sent" to
"=85from which the SENSE IU was = received"
sec. 4.6, before table 7 add the following:
A = device server operating at high- or full- speed shall respond to a =
transaction on the status pipe to transmit a READ_READY IU  with = the
appropriate TAG.
That response shall cause the UAS = initiator port operating at high- or
full- speed to initiate one or more = transactions with the appropriate TAG
on the data in pipe.
A = device server operating at SuperSpeed shall initiate a transaction =
transmitting an ERDY with the appropriate TAG on the data in = pipe.
The device server shall respond = to transactions on the data-in pipe with
read data with the appropriate = TAG.
table 7, 1st row, letter bullet a): change "=85to send the COMMAND IU" = to
"=85 to send the transmit data read request"
bullet b): change "=85to which the COMMAND IU is to be sent" to "=85from=
which the transmit data read request is to be sent"
bullet c) and d): change "=85in the COMMAND IU" to "=85 from the =
corresponding COMMAND IU"
sec. 4.7, 1st sentence: change "DATA frame" to "DATA = packet".
Change "=85notify a device server=85" to "=85 = notify application client=85"
before table 8, add the following:
Completion of the transfer = requests on the data in pipe with the
appropriate TAG shall cause the = UAS initiator port to notify the
application client of the completion = status.
In = table 8, last sentence, "remove "=85a NAK or=85".	NAKs won't be =
visible to the target port.
table 8, 1st row, letter bullet a): change "=85to send the COMMAND IU" = to
"=85for which the data was delivered"
bullet b): change "=85to = which the COMMAND IU is to be sent" to "=85 for
which the data was = delivered."
bullets c) and d): change "=85in the COMMAND = IU" to "=85 from the
corresponding COMMAND IU".
table 8, last row, letter bullet b): remove "=85a NAK or=85".  = Possibly
replace with "error or"?
sec. 4.7 vs. sec. 4.9: The notification procedure calls for data-in =
Delivered and data-out Received are not symmetric.  The data-in = delivered
procedure call notifies the device server that data has been = delivered from
the data-in pipe.  But there is no notification of = the delivery of the
READ_READY.  The data-out received procedure = call notifies the device
server of the delivery of the WRITE_READY IU, = but there is no notification
of the delivery of the write data.  = Two additional notifications seem
indicated.  Or at least the two = procedures should be symmetric.
sec. 4.8, 1st sentence: Change "=85 transmit WRITE READY IU or an = ERDY=85"
to "=85receive data=85"
3rd paragraph: Change "=85 no WRITE READY IU or ERDY on the Data-out = pipe
until all write =85" to "=85 no data transfer for a subsequent = COMMAND IU
until all data for a previous COMMAND IU=85"
Before table 9, add the = following:
A device server operating at = high- or full-speed shall respond to a
transaction on the status pipe = with a WRITE READY IU with the appropriate
TAG.
= That response shall cause a UAS initiator port operating at high- = or
full- speed to initiate one or more transactions to transmit the data = on
the data-out pipe.
A device server operating at = SuperSpeed shall initiate a transaction
transmitting an ERDY with the = appropriate TAG on the data-out pipe.
The = device server shall accept write data from the transactions on the =
data-out pipe with the appropriate tag.
Table 9, 1st row, letter bullet a): Change "=85to= send the COMMAND IU" to
"=85from which to send the data"
bullet b): Change "=85to which the COMMAND IU is to be sent" to "=85to =
which the data is to be sent"
bullets c) and d): Change "=85in = the COMMAND IU" to "=85 from the
corresponding COMMAND IU"
Section 4.9 could be intended for = three possible purposes.  The follow
three sections address each in = turn.	Probably only one is really correct
for the intended = purpose.
Section 4.9 could be modified to define a = notification procedure for an
application client as follows:
---------------------------------
sec. 4.9, 1st sentence: Change = "=85device server of the result of
transmitting a WRITE READY IU or ERDY = on the Data-out pipe (e.g. receiving
write DATA in response)." to "=85 = application client of the result of
transmitting data on the data-out = pipe.".
Before table 10, add the following:
= Completion of the transfer requests on the data out pipe with the =
appropriate TAG shall cause the UAS initiator port to notify the =
application client of the completion status.
table 10, 1st row, letter bullet = a): Change "=85 to send the COMMAND IU" to
"=85 from which the data was = delivered"
letter bullet b): Change "=85to which the = COMMAND IU is to be sent" to "=85
to which the data was = delivered"
letter bullets c) and d): Change "=85in the = COMMAND IU" to "=85from the
corresponding COMMAND IU"
table 10, last row, replace with = following:
=46rom the response to the data = delivery on the data-out pipe:
a) DELIVERY SUCCESSFUL: = The data on the data-out pipe was successfully
transmitted and all the = data was received; or
b) DELIVERY FAILURE: The = data on the data-out pipe was not received
successfully or no response = was received.
---------------------------------
Section 4.9 could also be = modified to define a notification procedure for
"all data delivered" by = the device server (vs. notification of the WRITE
READY IU) as = follows:
---------------------------------
sec. 4.9, 1st sentence: Change "=85device server of the result of =
transmitting a WRITE READY IU or ERDY on the Data-out pipe (e.g. = receiving
write DATA in response)." to "=85 device server of the result = of
transmitting data on the data-out pipe.".
Before table 10, add the = following:
Completion of the transfer = request on the data out pipe with the
appropriate TAG shall cause the = UAS target port to notify the device server
of the completion = status.
table 10, 1st row, letter bullet a): Change "=85 to send the COMMAND = IU" to
"=85 from which the data was delivered"
letter bullet b): Change "=85to which the COMMAND IU is to be sent" to = "=85
to which the data was delivered"
letter bullets c) and d): = Change "=85in the COMMAND IU" to "=85from the
corresponding COMMAND = IU"
table 10, last row, replace with following:
= =46rom the response to the data delivery on the data-out = pipe:
a) DELIVERY SUCCESSFUL: = The data on the data-out pipe was successfully
transmitted and all the = data was received; or
b) DELIVERY FAILURE: The = data on the data-out pipe was not received
successfully.
---------------------------------
Finally section 4.9 could be left as a notification procedure = fordelivery
of the WRITE READY IU) as follows:
---------------------------------
At least add a note that this = notification doesn't notify of data-out
received, but of status = delivery.
Also, don't know that all device USB3 hardware = will provide a status of
completion of the ERDY for SuperSpeed.	So = this procedure may only apply
for high- and full- speed = operation.
sec. 4.9, 1st sentence: Change "=85 WRITE READY IU or ERDY on the = Data-out
pipe (e.g. receiving write DATA in response)." to "=85 WRITE = READY IU on
the status pipe or ERDY on the data-out pipe.".
Before table 10, add the = following:
= For a UAS target port operating at high- or full- speed, = completion of
the transaction on the status out pipe shall cause the UAS = target port to
notify the device server of the completion = status.
For a UAS target port operating = at SuperSpeed, completion of the ERDY on
the data-out port may cause the = UAS target port to notify the device server
of the completion.
Rationale for above: Some USB hardware may not supply status = notification
of ERDY completion, so this procedure call notification may = not be invoked
for a target port operating at SuperSpeed.
table 10, 1st row, letter bullet = a): Change "=85 to send the COMMAND IU" to
"=85 to which the WRITE READY = IU was delivered"
letter bullet b): Change "=85to which the = COMMAND IU is to be sent" to "=85
|from which the WRITE READY IU was = delivered"
letter bullets c) and d): Change "=85in the = COMMAND IU" to "=85from the
corresponding COMMAND IU"
table 10, last row, replace with = following:
=46rom the response to the WRITE = READY IU delivery on the status-out pipe
or the ERDY deliver on the = data-out pipe:
a) DELIVERY SUCCESSFUL: = The delivery was successful; or
b) DELIVERY FAILURE: The = delivery was not successful.
---------------------------------
sec. 4.10, before table 11, add following:
A = UAS target port operating at high- or full- speed shall respond to a =
transaction on the data-in and data-out pipes with a NAK.
A = UAS target port operating at SuperSpeed shall respond to a transaction =
with a corresponding TAG on the data-in and data-out pipes with an = NRDY.
Question: What shall be done if a READ/WRITE READY IU is pending at = the UAS
target port as a transaction?  Shall it be aborted and = subsequent status
pipe transactions respond with NAK/NRDY?  Or = shall it be untouched?
What shall be done with any pending data-in = transactions at the UAS target
port?  Shall they be left to = complete? Or shall they be discarded by the
UAS target port?
Sec. 4.11, 1st sentence: Change = "=85SSP=85" to "=85UAS=85".
The UAS target port shall notify = the device server upon completion of all
pending transactions for the = corresponding TAG on the data-in or data-out
pipes.
sec. 4.12, 1st sentence: = question: Is "task frame" the correct phrase;
specifically if frame is = intended to be a USB term, it is not.  If it is a
SAM term, perhaps = it should be "TASK MANAGEMENT IU" as used below.
Before table 13, add = following:
The UAS initiator port shall = initiate a transaction to transmit the TASK
MANAGEMENT IU on the command = pipe.
Before table 14, add following:
The UAS target port shall notify = the task manager upon receipt of a TASK
MANAGEMENT IU on the command = pipe.
Before table 15, add following:
A UAS target port operating at = high- or full- speed shall respond to a
transaction on the status pipe = to return the RESPONSE IU.
A UAS target port operating at = SuperSpeed shall respond to a transaction
with a corresponding TAG on = the status pipe with the RESPONSE IU.
sec. 4.15, 1st sentence:  Remove "=85 or a = NAK".
Before table 16, add following:
The UAS initiator port shall = notify the application client upon receipt of
a RESPONSE IU on the = status-pipe.
=
--Apple-Mail-3-1066275151--
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org



More information about the T10 mailing list