SAS 2 - scrambler operation

Stephen FINCH steve.finch at st.com
Thu Jul 19 15:37:51 PDT 2007


Formatted message: <A HREF="r0707199_f.htm">HTML-formatted message</A>

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 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of David
Freeman
Sent: Thursday, July 19, 2007 11:33 AM
To: t10 at 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 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Stephen
FINCH
Sent: Thursday, July 19, 2007 6:47 AM
To: 'Robert Watson'; t10 at 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 at t10.org [mailto:owner-t10 at t10.org] On Behalf Of Robert
Watson
Sent: Wednesday, July 18, 2007 4:19 PM
To: 't10 at 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.



More information about the T10 mailing list