Review of FCP-2 Rev 03

WYATT,STEWART (HP-Boise,ex1) stewart_wyatt at
Fri Oct 29 07:30:21 PDT 1999

* From the T10 Reflector (t10 at, posted by:
* "WYATT,STEWART (HP-Boise,ex1)" <stewart_wyatt at>
Review of FCP-2 Revision 03
Stewart Wyatt, HP
October 28, 1999

1.	Editorial. In Clause 2.2 References under development, the titles of
the SCSI-3 Architectural Model and the SCSI-3 Primary Commands have been
changed to the SCSI Architectural Model and SCSI Primary Commands. If the
SCSI committee intended this change to be universal, a search should be made
for "SCSI-3" in the document since this occurs in a number of places.
2.	Editorial. In Table 1 on page 7, the last entry is missing the "IU".
It should read "Confirmation IU (FCP_CONF)".
3.	Technical. Clause 4.2 Device management, 5th paragraph, second
sentence, "That payload contains the SCSI status and, if an unusual
condition has been detected, THE SCSI REQUEST SENSE information and the FCP
response information describing the condition." In the October meeting, I
understood that a decision was made that only one of the FCP response and
the SCSI Status would be valid.
4.	Editorial. Clause 4.2 Device management, last paragraph, first
sentence: "Both FC-PH and SCSI allow the initiator function in any FCP_Port
and the target function in any FCP_Port." Does the reference to FC-PH belong
5.	Editorial. Table 2 - Discovery of FCP capabilities. In the
Capability Column referencing FCP_CONF, I would think the" Initiator
performs the FCP_CONF" (at the targets request) and the 'Target accepts
6.	Technical. Clause 5.6.10 RX_ID. The text associated with the
unassigned value of FFFFh should be modified to note that this value is
prohibited for Class 2.
7.	Editorial. Clause 6.2 Process login (PRLI). The headings of clauses
6.2.1, 6.2.2, 6.2.3 and 6.2.4 contain an abbreviation "IPA". The
abbreviation is in clause 3.2, but there is no explanation of or
introduction to initial process associators in the text. A brief explanation
in clause 6.2 would be helpful.
8.	Technical. Clause Task Management flags, Byte 10. In the
Clear ACA text fourth paragraph, "If the ACA bit in the CDB field is set to
0, the automatic sense operation performed by the presentation of the
FCP_RSP IU shall clear the ACA condition." Actually since the ACA bit is 0,
a conditional allegiance (CA) exists, not an ACA. (SAM-2 rev 12 clause 5.6.1
page 53.)
9.	Editorial. Task Management flags, Byte 10 The entry for
Clear Task Set, first paragraph, last sentence, mistakenly repeats a
sentence from the previous entry It should state that CLEAR TASK SET bit is
mandatory  rather than the TARGET RESET bit.
10.	Editorial. Recovery Abort. There are several uses of the
term "recovery qualifier" in this clause. It is usually printed as
Recovery_Qualifier in FC-PH.
11.	Technical 8.3 FCP_DATA IU. The fourth paragraph, first sentence,
states that "If required by the PRLI FCP service parameters, each inbound
and/or outbound FCP_DATA IU shall be proceeded by an FCP_XFER_RDY IU..."
This sentence and the remaining paragraph may need to be rewritten since FCP
now prohibits FCP_XFER_RDY for reads.
12.	Technical 8.3. FCP_DATA IU. The sixth paragraph which starts with
the phrase, "During a write operation", the third sentence is confusing. "If
the write operation requires a total amount of data less than the amount of
data provided by the initiator, the target shall discard the excess bytes
and indicate that an overrun has occurred by setting the FCP_RESID_OVER bit
in the FC_RSP IU." I think that this sentence is addressing the issue of an
initiator requesting more data in the CDB than is allowed by the FCP_DL.
Since the initiator is the one providing the data, it should know the
precise length of data to transfer.  If this is a case where the FCP_DL is
not equal to the length of a variable block of data to be transferred or to
the command length times the fixed block length, the target should reject
the command with an RSP_CODE of "FCP_CMND fields invalid". Otherwise
assuming that the target allocated a buffer of length FCP_DL to receive the
data, this statement requires the target to accept all of the data and
overrun and corrupt its buffer. I would think it would be better for the
target not to request more than FCP_DL bytes of data and then send the
response. The initiator can then clean the residuals out of its own buffers.
To fix this problem I would prefer the sentence be removed. 
13.	Technical. FIRST BURST SIZE. "A value of zero indicates
that there is no first burst size limit." This only seems practical for a
target with an infinite buffer. Is this what is intended?
14.	Technical. Clause Control MCM. The abbreviations MCM, CMR
and BMCM are not defined anywhere in this document. These entries need more
explanation and cross references to other standards. The cross references
should also be added to clause 2.2 References under development. The reader
needs some clue about what the relevance of these fields.
15.	Editorial. Table 29 Timer Summary. Note 4 FCP_CONFIRM should be
16.	Technical. Clause 10.2 Resource Allocation Timeout (R_A_TOV). The
term "Sequence qualifier," is referred to as Sequence_Qualifier in FC-PH.
The parenthesis in the text implies that this is the SEQ_ID and the SEQ_CNT.
In FC-PH 18.1.2 Sequence Identification, The Sequence_Qualifier is defined
to be the S_ID, D_ID, OX_ID, RX_ID and SEQ_ID.
17.	Editorial. Clause 11.2.2. Formatting problem of too many blank lines
after the list.
18.	Editorial. Clause 11.4 FCP Error Recovery (Target, class 2 and other
acknowledged services). The paragraphs need to be reordered for the text to
make sense. The fourth paragraph needs to immediately follow the second,
since the second paragraph raises a problem that is addressed in the fourth
paragraph and the third paragraph itemizes a different issue.
19.	Technical. Clause 11.8 SCSI Target device level error behavior.
Third paragraph - what if ULP resources are unavailable for a non-queued
target (a disk drive doing an XOR operation or a tape doing a copy command)
is TASK SET FULLstill the appropriate status? 
20.	Editorial. C.2 FCP write example, frame level. The first sentence
refers to figure A.1. This reference and the 4 following figures should be
"C" not "A".
21.	Editorial. C.3 FCP read example Figure A.3 (which should be C.3) has
the FCP_RSP arrow in the middle of the text.
22.	Editorial. Annex D. The arrow for the FCP_CMND extends too far for
the Class 3 Error Detection examples in Figure D.3, D.5, D.7, D.8, D.9, D.10
23.	Technical. Annex E SCSI Device Discovery Procedure. Steps E.2 and
E.3 seem initiator centric. It is not clear to me that a target should
perform all of these steps. For example, E.2 number 5 Register for State
Change Notification, in some reflector discussion someone suggested that
this was inappropriate for a target. In E.3 number 1 Obtain a map of the
loop. (Or poll all if a loop map is not available.) This requirement is
clearly an initiator requirement as targets don't poll initiators. It seems
this needs to define the different responsibilities for targets and
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list