Well, the SAS2 training pattern isn’t
a frame, though…. if we treat it as a frame with no SOF/CRC/EOF, then the
scrambler would not advance for the TRAIN primitives, just like it would not
for ALIGNs. (this is what I would expect).
Speaking of ALIGN/NOTIFY – would an
ALIGN/NOTIFY be permitted during the SAS2 training patterns? (if so, I’d
assume that the scrambler would not advance, and that they would be dropped by
the receiver.) I’m not sure why they’d be needed, but…
Thanks,
Robert Watson
PMC-Sierra, Inc.
From:
owner-t10@t10.org [mailto:owner-t10@t10.org] On
Behalf Of Stephen FINCH
Sent: Thursday, July 19, 2007 3:38
PM
To: 'David Freeman'; t10@t10.org
Subject: RE: SAS 2 - scrambler
operation
The scrambler is not mux’d into the
data stream. It is XOR’d with the data stream. Idle dwords
are vendor specified values used as fill and are XOR’d with the scrambler
output to reduce EMI/RFI/etc.. Idling or not idling the scrambler during
primitives would not cause any issues when IDLE DWORDS are being transmitted.
But the scrambler MUST not advance for
primitives during a FRAME. Deletable/Insertable primitives can occur
within a frame and can be inserted/deleted by entities within the transport path.
The transmitter and receiver may never know if a deletion or insertion
occurred. So keeping the transmitter’s scrambler in sync with the
receiver’s WOULD be impossible if the scrambler was advanced during
primitives.
In no case are primitives XOR’d with
the scrambler.
Regards,
Steve Finch
From:
owner-t10@t10.org [mailto:owner-t10@t10.org] On
Behalf Of David Freeman
Sent: Thursday, July 19, 2007
11:33 AM
To: t10@t10.org
Subject: RE: SAS 2 - scrambler
operation
Would it not be easier to have just a
free-running scrambler where the output is muxed into the data stream instead
of adding extra logic to pause the scrambler for primitives. So, yes, Primitive
are not scrambled, however, I would prefer to not have to pause the idle data
generator every time in need to insert a primitive.
Are we expecting to be able to descramble
the data and verify that it is really all zeros?
Regards,
David Freeman
From:
owner-t10@t10.org [mailto:owner-t10@t10.org] On
Behalf Of Stephen FINCH
Sent: Thursday, July 19, 2007 6:47
AM
To: 'Robert Watson'; t10@t10.org
Subject: RE: SAS 2 - scrambler
operation
I’d like to address the question by
use of an example.
In a normal frame (between SOF and EOF or
between SOAF and EOAF), the scrambler is not advanced is a ALIGN primitive is
inserted. In fact, the scrambler is not be advanced when any primitive is
inserted, such as RRDY or ACK. Since the TRAIN and TRAIN_DONE patterns
consists of TRAIN and TRAIN_DONE primitives and scrambled data then, by the
example above, the scrambler would not be advanced when the primitive portions
of the patterns are sent.
In section 7.6 it states:
“All data
dwords are scrambled. Table 117 lists the scrambling for different types of
data dwords.”
In a brief search of SAS-2, I didn’t
find an explicit statement that primitives are not scrambled, but they
aren’t.
Regards,
Steve Finch
From:
owner-t10@t10.org [mailto:owner-t10@t10.org] On
Behalf Of Robert Watson
Sent: Wednesday, July 18, 2007
4:19 PM
To: 't10@t10.org'
Subject: SAS 2 - scrambler
operation
6.7.4.2.3.4 Train-SNW defines two training patterns: TRAIN
pattern and TRAIN)DONE pattern. Both are defined as their respective redundant
primitive followed by 58 dwords set to 0x00000000 scrambled and 8b10b encoded.
Furthermore, the scrambler is initialized at the end of RCDT and is not
re-initialized after that.
The question we have is : Does the scrambler pause while
sending TRAIN or TRAIN_DONE primitives; that is, is the dword following the
primitive the scrambler’s successor dword to the dword preceding the
primitive? Or does the scrambler run continuously, and TRAIN or TRAIN_DONE is
overlayed on top of scrambler dwords? I would expect the former, but I
don’t feel that the current draft (sas2r10) is clear in this regard.
Thanks,
Robert Watson
PMC-Sierra, Inc.