A Trainer script from the SAS/SATA Protocol Suite application’s “Samples” folder is utilized for this example. The script sends the bi-directional T mode BIST Activate FIS to the device. The T mode BIST FIS includes a 2-dword (64 bit) data pattern that the device will begin transmitting without letup if the FIS is received successfully. Any Sierra analyzer model that is licensed for Trainer functionality can run the script and place a SATA device into BIST mode. This tech brief also coincidentally provides good basic instruction on how to run the Trainer traffic generator tool and simultaneously record the traffic with the Sierra analyzer.
Connect any SATA device such as an HDD or SSD to the Sierra analyzer’s T1 port as shown in Figure 1 and provide power to the device. (The ACC-EXP-004-X or ACC-EXP-005-X Device Power card is ideal for this.) If you are using a Sierra M6-4 analyzer, be sure to use the cable labeled “Target” or “Device” and connect the DUT to the cable’s “P1” SATA connector. As the Sierra Trainer will be acting as the Host, there is no need to connect anything to the I1 port. Connect the analyzer to the SAS/SATA Protocol Suite application and open a new “SATA Protocol Analyzer” project (File >> New >> SATA Protocol Analyzer). Configure “AT” mode on Port 1 from the Settings page as shown in Figure 2. Next, open the Trainer window by clicking on the Trainer button on the toolbar.
Now in the Trainer window, click on the round, yellow “Port Configuration Dialog” button and select AT mode in the same manner as done previously. (See Figure 3.) Open the “bist_activate_hftp.ssg” script by clicking on File >> Open…, then browse to the Samples folder and select the script. (C:\Users\Public\Documents\LeCroy\SAS SATA Protocol Suite\Generation\Samples)
Return now to the SATA Protocol Analyzer window complete the analyzer setup. To do this simply click on the red “(A) Analyzer” button on the Trainer toolbar. As the data pattern transmission you aim to evoke from the DUT does not follow standard SATA protocol, to view the loopback traffic from the DUT some non-default settings are necessary. First off, click on the “Capture” tab and uncheck the “Exclude Idle” box. This will leave all of the boxes unchecked, so you will be capturing “Everything.” Next, click on the Settings tab and check the “Show XXXX” box. (See Figure 2.) Also on the Settings page, increase the Trace Memory size to 50000KB. This will ensure that you record long enough to capture some of the loopback traffic. Finally, click on the red “Record” button to start recording.
With recording in progress, return to the Trainer window by clicking on its icon. Run the bist_activate_hftp script by clicking on the stoplight icon. But before doing so, open the “Show ports status” window by clicking on the rectangular button with green and red “LEDs” on it in the Trainer window’s lower right corner. This movable, floating window mimics the real LEDs on the front of the analyzer and is very useful for monitoring the progress of your Trainer script. The bist_activate_hftp script should take only a second or two to run. If it runs successfully the analyzer’s buffer is likely to fill up almost immediately. By utilizing the Show ports status window, one can quickly verify whether the DUT has entered BIST “T” mode. Click on the oblong, vertical “RESET” button on the window’s left edge to clear out the old information. Then, if the DUT is in BIST T mode, the green T1 LED will be lit continuously but no other LEDs will be lit as shown in Figure 4.
Return now to the analyzer window. The viewer will be open, displaying the trace we just took. Open the Search dialog by clicking on the binoculars icon. Check the “STP Frames” box then Search for BIST as shown in Figure 5. Now at the BIST frame sent by the Trainer Host, scrolling down a bit one can see that shortly thereafter the Trainer on I1 disconnects and the DUT on T1 transitions from sending idle (scrambled data) traffic to sending the 4A4A4A4A HFTP pattern. (See Figure 6.) The spot where the Trainer Host disconnects shows up prominently, as the disconnection causes a number of protocol errors to be flagged. After the Trainer Host disconnects, the only traffic sent thereafter is the continuous 4A4A4A4A pattern from the DUT.
Typically, once in BIST mode the device will stay in BIST mode until it is reset. To reset the DUT power cycle it from the Power Source Control dialog if you are powering it from an ACC-EXP-004-X or ACC-EXP-005-X Device Power card, or, simply disconnect and re-connect the SATA cable to the DUT if you are not. An interesting experiment is to run through the above procedure again, but this time with the “Show XXXX” box on the Settings page left un-checked. This will result in the analyzer decoding the HFTP/4A4A4A4A pattern as the D10.2 signal. (See Figure 7.) One can also easily modify the bist_activate_hftp.ssg script to send the LFPT, MFTP or LBP patterns instead, by simply changing lines 68 and 69 in the script to 0x7E7E7E7E, 0x78787878 or 0x0C8B0C8B, respectively.