ERROR primitive

George Penokie gop at us.ibm.com
Fri Feb 14 09:17:29 PST 2003


* From the T10 Reflector (t10 at t10.org), posted by:
* George Penokie <gop at us.ibm.com>
*




Rob,

The SP_DWS does not say anything about ALIGNs. What we are looking for is
wording that states that ERROR is handled that same way as ALIGNs.

<< ERROR shall be handled in the same manor as an ALIGN (e.g., ignored) by
initiator ports and target ports. >>

Note from Adam that I agree with:

I still would argue that ERROR should be treated like an ALIGN in a frame,
and the frame will fail CRC.  The chances of an invalid dword being removed
|from a frame AND the CRC check not detecting it are too remote to worry
about.  I don't think a new version of NAK is necessary, because a boned up
frame is a boned up frame.  The ERROR primitive will just show up in BIG
RED LETTERS on the Finisar trace so we can figure out who was at fault.
That's the only place ERROR will be useful.

Bye for now,
George Penokie

Dept 2C6  114-2 N212
E-Mail:    gop at us.ibm.com
Internal:  553-5208
External: 507-253-5208   FAX: 507-253-2880




                                                                                                                                 
                      "Elliott, Robert                                                                                           
                      (Server Storage)"        To:       George Penokie/Rochester/IBM at IBMUS, "t10" <t10 at t10.org>                 
                      <Elliott at hp.com>         cc:       Adam M Espeseth/USA/Contr/STDJV/IJV at IBMUS                               
                                               Subject:  RE: ERROR primitive                                                     
                      02/13/2003 05:31                                                                                           
                      PM                                                                                                         
                                                                                                                                 
                                                                                                                                 




I don't think the proposed sentence quite covers it.

SP_DWS needs to treat it as a valid dword (it isn't a negative with
regards to dword synchronization).

(Aside: The state machine that implements the "invalid dword count"
reported via the log page or SMP must not count it.  If we assume that
SP_DWS does that counting, I think it works correctly.)

The expander device XL link layer state machine treats it as a special
value (forwards it as an ERROR or converts it to SATA_ERROR [the latter
is missing in sas-r03]).

The SAS device-specific link layer state machines (SL, SSP, STP, and
SMP) and the SL_IR state machine (which could be in a SAS device or an
expander device) could be told to ignore it.  Or, they could be told to
treat it like an "invalid dword."  The former depends on CRC coverage
while the latter would guarantee an error is detected.

SATA will catch an invalid dword in a frame regardless of whether a CRC
error is detected.  SATA 1.0 specification 11.3.2.1: "on detection of a
disparity error or other 8b/10b coding violation during the receipt of a
frame, the Link Layer will retain this error information, and at the
close of the received frame the Link Layer shall provide the negative
acknowledgement, R_ERR, ... and notify the Transport Layer of the
error."

It seems prudent for SAS to treat ERROR (which is just a placeholder for
an invalid dword) the same.

--
Rob Elliott, elliott at hp.com
Hewlett-Packard Industry Standard Server Storage Advanced Technology
https://ecardfile.com/id/RobElliott




> -----Original Message-----
> From: George Penokie [mailto:gop at us.ibm.com]
> Sent: Thursday, February 13, 2003 3:19 PM
> To: t10; Elliott, Robert (Server Storage)
> Cc: Adam M Espeseth
> Subject: ERROR primitive
>
>
> * From the T10 Reflector (t10 at t10.org), posted by:
> * George Penokie <gop at us.ibm.com>
> *
>
>
>
>
> Rob,
>
> I don't see anything in the SAS spec that specifies what the
> link layer should do when an ERROR primitive is received
> within a frame.  I think its implied that the ERROR is
> ignored, and the frame will fail the CRC check and will be
> NAKed anyway.  It might be a good idea to include something
> like:
>
> 7.1.4.7 ERROR
> ERROR is sent by an expander device when it is forwarding
> dwords from a SAS or SATA link to a SAS link and it receives
> an invalid dword.  << ERROR shall be ignored by initiator
> ports and target ports. >>
>
> Bye for now,
> George Penokie
>
> Dept 2C6  114-2 N212
> E-Mail:    gop at us.ibm.com
> Internal:  553-5208
> External: 507-253-5208   FAX: 507-253-2880
>
>
> *
> * For T10 Reflector information, send a message with
> * 'info t10' (no quotes) in the message body to majordomo at t10.org
>



*
* 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