From: Robert Watson <Robert_Watson@pmc-sierra.com> To: "'Stephen FINCH'" <steve.finch@st.com>, "'David Freeman'" <David.Freeman@finisar.com>, t10@t10.org Subject: RE: SAS 2 - scrambler operation Date: Thu, 19 Jul 2007 16:25:49 -0700 X-Message-Number: 7938 Formatted message: HTML-formatted message 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.