3385 Scott Blvd., Santa Clara, CA 95054
Tel: +1/408.727.6600
Fax: +1/408.727.6622
SAS Verification Test Descriptions
June 2010
Table of Contents
SAS Link and Transport Layer Test Suite 2
SAS 2.0 Speed Negotiation 137
NACA Test 186
SERIAL ATTACHED SCSI
(SAS) CONSORTIUM
SAS Test Suite for CATC Test Script Project
Version 0.13
Technical Document
Last Updated: 12 July 2005 7/12/05
Serial Attached SCSI Consortium 121 Technology Drive, Suite 2
InterOperability Laboratory Durham, NH 03824
Research Computing Center Phone: (603) 862-3582
University of New Hampshire Fax: (603) 862-4181
http://www.iol.unh.edu/consortiums/sas
The University of New Hampshire
InterOperability Laboratory
TABLE OF CONTENTS
TABLE OF CONTENTS........................................................................................2
MODIFICATION RECORD ..................................................................................6
Serial Attached SCSI Consortium Group 5 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
MODIFICATION RECORD
[1]September 7, 2004 (Version 0.1) DRAFT RELEASE
David Woolf: Initial draft release
[2]January 27, 2005 (Version 0.7) DRAFT RELEASE
David Woolf: updates to test procedures after initial CATC Review
[3]February 28, 2005 (Version 0.8) DRAFT RELEASE
David Woolf: updates to test procedures after further CATC Review
[4]March 3, 2005 (Version 0.9) DRAFT RELEASE
David Woolf: updates to test procedures after further CATC Review
[5]April 14, 2005 (Version 0.12) DRAFT RELEASE
David Woolf: added STP Operations tests
[6]July 11, 2005 (Version 0.13) DRAFT RELEASE
David Woolf: minor edits
Serial Attached SCSI Consortium 6 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
ACKNOWLEDGMENTS
The University of New Hampshire would like to acknowledge the efforts of the following individuals
in the development of this test suite.
Kurtis Kofler UNH InterOperability Laboratory (UNH-IOL)
David Woolf UNH InterOperability Laboratory (UNH-IOL)
Michael Micheletti LeCroy Protocol Solutions Group
Serial Attached SCSI Consortium 7 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
INTRODUCTION
The University of New Hampshire’s InterOperability Laboratory (IOL) is an institution
designed to improve the interoperability of standards based products by providing an
environment where a product can be tested against other implementations of a standard. This
particular suite of tests has been developed in junction with CATC to help implementers evaluate
the functionality of their Serial Attached SCSI (SAS) products. Specifically this Test Suite is
directed at verifying the Link, Transport, and Application layer of SAS Targets, Initiators, and
Expanders.
These tests are designed to determine if a SAS product conforms to specifications defined
in ISO/IEC 14776-150, Serial Attached SCSI (SAS) standard T10/1562-D, Revision 5
(hereafter referred to as the “SAS Standard”). Successful completion of all tests contained in this
suite does not guarantee that the tested device will successfully operate with other SAS products.
However, when combined with satisfactory operation in the IOL’s interoperability test bed, these
tests provide a reasonable level of confidence that the Device Under Test (DUT) will function
properly in many SAS environments.
The tests contained in this document are organized in order to simplify the identification
of information related to a test, and to facilitate in the actual testing process. Tests are separated
into groups, primarily in order to reduce setup time in the lab environment, however the different
groups typically also tend to focus on specific aspects of device functionality. A three-number,
dot-notated naming system is used to catalog the tests, where the first number always indicates
the specific clause of the reference standard on which the test suite is based. The second and
third numbers indicate the test’s group number and test number within that group, respectively.
This format allows for the addition of future tests in the appropriate groups without requiring the
renumbering of the subsequent tests.
The test definitions themselves are intended to provide a high-level description of the
motivation, resources, procedures, and methodologies specific to each test. Formally, each test
description contains the following sections:
Purpose
The purpose is a brief statement outlining what the test attempts to achieve. The test is
written at the functional level.
References
This section specifies all reference material external to the test suite, including the
specific subclauses references for the test in question, and any other references that might be
helpful in understanding the test methodology and/or test results. External sources are always
referenced by a bracketed number (e.g., [1]) when mentioned in the test description. Any other
Serial Attached SCSI Consortium 8 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
references in the test description that are not indicated in this manner refer to elements within the
test suite document itself (e.g., “Appendix 5.A”, or “Table 5.1.1-1”)
Resource Requirements
The requirements section specifies the test hardware and/or software needed to perform
the test. This is generally expressed in terms of minimum requirements, however in some cases
specific equipment manufacturer/model information may be provided.
Revision History
This specifies the date of the last modification to this test.
Test Setup
The setup section describes the initial configuration of the test environment. Small
changes in the configuration should not be included here, and are generally covered in the test
procedure section (next).
Procedure
The procedure section of the test description contains the systematic instructions for
carrying out the test. It provides a cookbook approach to testing, and may be interspersed with
observable results.
Observable Results
This section lists the specific observables that can be examined by the tester in order to
verify that the DUT is operating properly. When multiple values for an observable are possible,
this section provides a short discussion on how to interpret them. The determination of a pass or
fail outcome for a particular test is generally based on the successful (or unsuccessful) detection
of a specific observable.
Serial Attached SCSI Consortium 9 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
TARGETS: LINK LAYER
Overview:
This group of tests verifies the Link Layer specifications of the SAS physical layer
defined in Clause 7 of the SAS Standard.
Serial Attached SCSI Consortium 10 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.1 - Link Reset – Repeat PHY Sequence if no Identify Recieved
Purpose: To determine that the DUT will repeat the Phy reset sequence if an Identify frame is not received within 1
msec of completing a Phy reset sequence.
References: 7.9.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit valid SAS primitives or SAS Idle. The Testing Station should not transmit an
Identify Address Frame.
Observable Results:
• Verify that 1 msec after the DUT completed a Phy Reset Sequence with the DUT, the DUT initiated
another Phy reset sequence by transmitting COMINIT.
Serial Attached SCSI Consortium 11 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.2 - Link Reset – Ignore Additional Identify Recieved
Purpose: To determine that the DUT will ignore an Identify frame received after a valid Identify has already been
received.
References: 7.9.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit valid SAS primitives or SAS Idle. The Testing Station should transmit 2 valid
Identify Address Frames each with a different SAS address.
Observable Results:
• Verify that the DUT ignores the second received Identify Address Frame and does not transmit
COMINIT.
• Verify that the DUT does not attempt to open a connection to the address in the second Identify
Address frame.
Serial Attached SCSI Consortium 12 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.3 - Link Reset – HARD_RESET Recieved
Purpose: To determine that the DUT properly handles a received HARD_RESET.
References: 7.2.5.8, 7.9.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit 6 consecutive HARD_RESET primitives. This must occur before the Identify
sequence is complete.
Observable Results:
• Verify that the DUT transmits COMINIT upon receiving the HARD_RESET primitives from the
Testing Station.
Serial Attached SCSI Consortium 13 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.1 - Connections – OPEN_ACCEPT
Purpose: To determine that the DUT properly transmits RRDY after receiving OPEN_ACCEPT.
References: 7.12.2.2 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should transmit an Open Address frame to the DUT. Wait for the DUT to transmit
OPEN_ACCEPT and RRDY.
Observable Results:
• Verify that the DUT transmitted RRDY no more than 1 ms after transmitted OPEN_ACCEPT.
Serial Attached SCSI Consortium 14 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.2 - Connections – 2 SOAF Received
Purpose: To determine that the DUT properly handles received 2 SOAF primitives.
References: 7.2.5.11 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should transmit the following to the DUT
o SOAF primitive
o the first 4 dwords of an OpenAddress frame
o complete Open Address frame starting with SOAF and using the SAS address of the DUT.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY.
Observable Results:
• Verify that the DUT responded to the received, complete Open Address frame with OPEN_ACCEPT.
Serial Attached SCSI Consortium 15 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.4 - Connections - OPEN_REJECT Connection Rate Not Supported
Purpose: To determine that the DUT handles errors in OpenAddress frames properly.
References: 7.2.5.11, 7.8.3 Table 74 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should transmit an OpenAddress frame to the DUT with an invalid connection
rate.
• Wait for the DUT to transmit OPEN_REJECT (Connection rate not supported).
Observable Results: Verify that the DUT responded to the received, complete Open Address frame with
OPEN_REJECT (Connection rate not supported).
Serial Attached SCSI Consortium 16 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.5 - Connections - OPEN_REJECT Protocol Not Supported
Purpose: To determine that the DUT handles errors in OpenAddress frames properly.
References: 7.2.5.11 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should transmit an OpenAddress frame to the DUT with an invalid initiator or
target role.
• Wait for the DUT to transmit OPEN_REJECT (Protocol not supported).
Observable Results: Verify that the DUT responded to the received, complete Open Address frame with
OPEN_REJECT (Protocol not supported).
Serial Attached SCSI Consortium 17 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.6 - Connections - OPEN_REJECT Wrong Destination
Purpose: To determine that the DUT handles errors in OpenAddress frames properly.
References: 7.2.5.11 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should transmit an OpenAddress frame to the DUT with an incorrect destination
SAS Address.
• Wait for the DUT to transmit OPEN_REJECT (Wrong Destination).
Observable Results: Verify that the DUT responded to the received, complete Open Address frame with
OPEN_REJECT (Wrong Destination).
Serial Attached SCSI Consortium 18 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.7 - Connections - OPEN_REJECT Retry
Purpose: To determine that the DUT handles extra connection requests properly.
References: 7.2.5.11 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should continuously transmit OpenAddress frames to the DUT with a correct
destination SAS Address.
• Wait for the DUT to transmit OPEN_REJECT (Retry).
Observable Results: Verify that the DUT responded to the received, complete Open Address frame with
OPEN_REJECT (Retry). This item may not be testable for some devices.
Serial Attached SCSI Consortium 19 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.3.1 - SSP_Frames - Interlocked Frame
Purpose: To determine that the DUT handles interlocked frames properly.
References: 7.16.3, 7.16.5 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected. This test is only applicable to targets.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open a SSP connection to the DUT and transmit a SCSI_INQUIRY
command.
• Wait for the DUT to transmit ACK followed by SCSI Response.
Observable Results: Verify that upon receiving the INQUIRY command, the DUT transmitted ACK before
transmitting any other frame to the Testing Station.
Serial Attached SCSI Consortium 20 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.3.2 - SSP_Frames - No ACK for Interlocked Frame
Purpose: To determine that the DUT responds properly when no ACK or NAK is received after transmitting an
interlocked frame.
References: 7.16.3, 7.16.5 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: January 25, 2005
Test Setup: The DUT and the Testing Station are physically connected. This test is only applicable to targets.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open a SSP connection to the DUT and transmit a SCSI_INQUIRY
command.
• Wait for the DUT to transmit ACK followed by SCSI Response.
• The Testing Station should not transmit ACK or NAK to the SCSI Response frame.
• The Testing Station should transmit a second SCSI_INQUIRY command with a different TAG than
the first SCSI INQUIRY command.
Observable Results: Verify that the DUT aborts the first INQUIRY command with DONE(ACK/NAK TIMEOUT)
after the ACK/NAK timeout of 1 msec.
Serial Attached SCSI Consortium 21 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.3.3 - SSP_Frames – Multiple ACKs
Purpose: To determine that the DUT properly transmits ACK within 1 msec of receiving a frame requiring an ACK
response.
References: 7.16.3, 7.16.5 SAS Standard
Resource Requirements: SAS Protocol Analyzer, SAS Initiator, SAS Target, Software capable of generating SCSI
traffic from the SAS Initiator. In order to minimize physical layer problems, the Initiator, Target, and Analyzer
should be connected with near-ideal channels.
Revision History: September 13, 2004
Test Setup: The SAS Initiator and Target are connected through the SAS Analyzer.
Test Procedure:
• Using the generation software, cause the SAS Initiator to begin a series of 1000 64 kB READ
operations on the SAS Target. Capture this on the SAS Analyzer.
Observable Results: If the DUT is an initiator, search the Analyzer capture of the target transmissions for the
DONE (ACK/NAK TIMEOUT) primitive. If the DUT is a target, search the Analyzer capture of the initiator
transmissions for the DONE (ACK/NAK TIMEOUT) primitive. If any of these primitives are found, it indicates that
the DUT did not transmit ACK within the 1 msec necessary after receiving frame requiring ACK or NAK.
Serial Attached SCSI Consortium 22 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.3.4 - SSP Frames - RRDY
Purpose: To determine that the DUT properly grants credit to transit frames using RRDY.
References: 7.16.4 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the DUT.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY.
Observable Results: Verify that the DUT transmitted RRDY when an SSP connection was opened.
Serial Attached SCSI Consortium 23 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.1 - Closing SSP Connections – DONE (NORMAL)
Purpose: To determine that the DUT properly responds when DONE is received.
References: 7.16.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the Testing Station.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY.
• The Testing Station should transmit DONE (NORMAL).
Observable Results: Verify that the DUT transmitted DONE (NORMAL) within 1 msec of receiving DONE
(NORMAL) from the Testing Station.
Serial Attached SCSI Consortium 24 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.2 - Closing SSP Connections – DONE (ACK/NAK TIMEOUT)
Purpose: To determine that the DUT properly responds when ACK or NAK has not been received for a transmitted
frame.
References: 7.16.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the Testing Station.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY. The Testing Station should transmit a
SCSI INQUIRY command to the DUT, then close the connection.
• Wait for the DUT to open an SSP Connection to the Testing Station. Allow the DUT to transmit a
SCSI Response. The Testing Station should not transmit ACK or NAK.
Observable Results: Verify that the DUT transmitted DONE (ACK/NAK TIMEOUT) within 1 msec of
transmitting the Command or Response frame.
Serial Attached SCSI Consortium 25 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.3 - Closing SSP Connections – DONE (CREDIT TIMEOUT)
Purpose: To determine that the DUT properly responds when RRDY has not been received for an impending
transaction.
References: 7.16.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the DUT.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY. The Testing Station should transmit a
SCSI INQUIRY command to the DUT, then close the connection.
• Wait for the DUT to open an SSP connection to the Testing Station. The Testing Station should not
transmit RRDY to grant credit for the DUT to transmit a SCSI Response to the Testing Station.
Observable Results: Verify that the DUT transmitted DONE (CREDIT TIMEOUT) within 1 msec of opening the
SSP connection.
Serial Attached SCSI Consortium 26 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.4 - Closing SSP Connections – CLOSE (NORMAL)
Purpose: To determine that the DUT properly responds when CLOSE (NORMAL) is received.
References: 7.12.7, 7.16.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the DUT. Wait for the DUT to transmit
OPEN_ACCEPT. The Testing Station should transmit a CLOSE (NORMAL) primitive to the DUT.
Observable Results: Verify that the DUT transmitted CLOSE (NORMAL) within 1 msec of receiving CLOSE
(NORMAL) from the Testing Station.
Serial Attached SCSI Consortium 27 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.5 - Closing SSP Connections – BREAK Sourced by Testing Station
Purpose: To determine that the DUT properly responds when BREAK is received.
References: 7.12.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should transmit an OpenAddress frame to the DUT, followed by BREAK.
Observable Results: Verify that the DUT transmitted BREAK within 1 msec of receiving BREAK from the
Testing Station.
Serial Attached SCSI Consortium 28 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.6 - Closing SSP Connections – BREAK Sourced by DUT
Purpose: To determine that the DUT properly sources BREAK when required.
References: 7.12.7 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the DUT.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY. The Testing Station should transmit a
SCSI INQUIRY command to the DUT, then close the connection.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Response to the Testing Station.
• When the DUT transmits CLOSE (NORMAL) to close the connection, the Testing Station should not
transmit CLOSE (NORMAL) in response.
Observable Results: Verify that the DUT transmitted BREAK within 1 msec of transmitting CLOSE (NORMAL)
to the Testing Station.
Serial Attached SCSI Consortium 29 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.5.1.1 - Connections through Expanders – OPEN SSP Target
Purpose: To determine that the DUT, an SSP Target, can properly open a connection through an expander to
transmit data or status.
References: 7.12.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an Edge Expander.
• The Testing Station should open an SSP connection to the DUT from another address, imitating a SAS
Initiator.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY. The Testing Station should transmit a
SCSI INQUIRY command to the DUT, then close the connection.
• Wait for the DUT to open an SSP connection to the Testing Station to the same address that sourced
the SCSI INQUIRY command.
• Before transmitting OPEN_ACCEPT the Testing Station should transmit AIP(NORMAL) followed by
AIP(WAITING ON DEVICE)
• Allow the DUT to transmit a SCSI Data frame to the Testing Station.
• When the DUT transmits CLOSE (NORMAL) to close the connection, the Testing Station should
transmit CLOSE (NORMAL) in response.
• Wait for the DUT to open an SSP connection to the Testing Station to the same address that sourced
the SCSI INQUIRY command. Allow the DUT to transmit a SCSI Response frame to the Testing
Station.
• When the DUT transmits CLOSE (NORMAL) to close the connection, the Testing Station should
transmit CLOSE (NORMAL) in response.
Observable Results: Verify that the DUT successfully transmitted both SCSI Response and Data frames.
Serial Attached SCSI Consortium 30 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.5.5.1 - BREAK – OpenTimeout Timer SSP Target
Purpose: To determine that the DUT, an SSP target transmits BREAK after the OpenTimeout Timer expires.
References: 7.12.2.1, 7.12.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an Edge Expander.
• The Testing Station should open an SSP connection to the DUT from another address, imitating a SAS
Initiator.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY. The Testing Station should transmit a
SCSI INQUIRY command to the DUT, then close the connection.
• Wait for the DUT to open an SSP connection to the Testing Station to the same address that sourced
the SCSI INQUIRY command.
• The Testing Station should wait for the DUT to transmit an OpenAddress frame for an SSP
connection. The Testing Station should not respond to the OpenAddress frame with OPEN_ACCEPT
or OPEN_REJECT.
Observable Results: Verify that 1msec after transmitting the OpenAddress frame, the DUT transmitted BREAK.
Serial Attached SCSI Consortium 31 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Serial Attached SCSI Consortium 32 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
TARGETS: TRANSPORT LAYER
Overview:
This group of tests verifies the Transport Layer specifications of the SAS protocol
defined in Clause 9 of the SAS Standard.
Serial Attached SCSI Consortium 33 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.1.1 - SSP Frames Structure – Hashed Address
Purpose: To determine that the DUT properly calculated a hashed destination SAS address based on the sas address
provided in a received Identify Frame.
References: 4.2.3, Annex D SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target.
Revision History: September 23, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator. The SAS address provided in the Identify Frame should be
7FFFFFFFFFFFFFFFh.
• The Testing Station should open an SSP connection to the DUT.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY. The Testing Station should transmit a
SCSI INQUIRY command to the DUT, then close the connection.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Response to the Testing Station.
Observable Results: In each case verify that the DUT transmitted an SSP frame (command or response) with a
hashed destination SAS address of 000000h.
Serial Attached SCSI Consortium 34 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.1.2 - SSP Frames Structure – Information Unit
Purpose: To determine that the DUT does not transmit an SSP frame with an Information Unit exceeding 1024
bytes.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target. If the DUT is a SAS Intiator,
software capable of generating SCSI commands.
Revision History: September 23, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the DUT. The Testing Station should transmit a
Test Unit Ready command to the DUT, then close the connection.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Response to the Testing Station. The Testing Station should repeat this 100 times.
Observable Results: If the DUT is an initiator, verify that the Information Unit in the SSP Command frame is
between 28 and 284 bytes long. If the DUT is a target, verify that the Information Unit in the SSP Response frame
is between 24 and 1024 bytes long.
Serial Attached SCSI Consortium 35 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.1.3 - SSP Frames Structure – NUMBER OF FILL BYTES
Purpose: To determine that the DUT properly sets the NUMBER OF FILL BYTES field.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 23, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Targets):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the DUT. The Testing Station should transmit a
READ command to the DUT.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit DATA
and SCSI Response to the Testing Station.
Observable Results: If the DUT is a target, verify that the NUMBER OF FILL BYTES field in the SSP Response
frame is set to 0.
Serial Attached SCSI Consortium 36 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.2.1 - SSP Command IU – TAG
Purpose: To determine that the DUT properly sets the TAG field.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target with 2 LUNs within the same SSP
Target Port. If the DUT is an initiator, it will need to have software capable of generating SCSI traffic.
Revision History: February 8, 2005
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on.
Test Procedure (SSP Targets):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the DUT. The Testing Station should transmit a
READ command to the DUT.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit DATA
and SCSI Response to the Testing Station.
• The Testing Station should open an SSP connection to the DUT. The Testing Station should transmit a
WRITE command to the DUT.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit
XFER_RDY, then the Testing Station should transmit a SSP DATA frame. Allow the DUT to transmit
a SCSI Response to the Testing Station.
Observable Results: If the DUT is a target, verify that the TAG in the XFER_RDY, DATA and RESPONSE
frames matched the TAG of the COMMAND frames which they corresponded to.
Serial Attached SCSI Consortium 37 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.2.2 - SSP Command IU – TARGET PORT TRANSFER TAG
Purpose: To determine that the DUT properly sets the TARGET PORT TRANSFER TAG field.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target with 2 LUNs within the same SSP
Target Port. If the DUT is an initiator, it will need to have software capable of generating SCSI traffic.
Revision History: February 8, 2005
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on.
Test Procedure (SSP Targets):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is an initiator.
• The Testing Station should open an SSP connection to the DUT. The Testing Station should transmit a
WRITE BUFFER command to the DUT.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit
XFER_RDY, then the Testing Station should transmit a SSP DATA frame. Allow the DUT to transmit
a SCSI Response to the Testing Station.
• The Testing Station should open a second SSP connection to the DUT. The Testing Station should
transmit a WRITE BUFFER command to the DUT do a different LUN than the first WRITE_BUFFER
command .
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit
XFER_RDY, then the Testing Station should transmit a SSP DATA frame. Allow the DUT to transmit
a SCSI Response to the Testing Station.
Observable Results: SSP Targets have the option of setting the TARGET PORT TRANSFER TAG field to any
value when transmitting a frame. In an XFER_RDY frame the Target Port Transfer Tag should be unique for the
L_Q portion of the I_T_L_Q nexus.
Serial Attached SCSI Consortium 38 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.3.3 - SSP Data IU – NUMBER OF FILL BYTES NON-ZERO
Purpose: T
transmitting DATA frames.
References: 9.2.2.4 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 7, 2005
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
Observable Results: Verify that if the DUT sets the NUMBER OF FILL BYTES field to a non-zero value in a
DATA frame, the DUT does not transmit any further DATA frames for that command.
o determine that the DUT, an SSP Target port, properly sets the NUMBER OF FILL BYTES field when
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI READ_BUFFER
command for 1539 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit DATA frames and a
SCSI response frame to the received command.
Serial Attached SCSI Consortium 39 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.3.4 - SSP Data IU – NUMBER OF FILL BYTES ZERO
Purpose: T
transmitting DATA frames.
References: 9.2.2.4 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 7, 2005
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
Observable Results: Verify that if the DUT sets the NUMBER OF FILL BYTES field to zero in a DATA frame,
the DUT continues to transmit DATA frames for that command.
o determine that the DUT, an SSP Target port, properly sets the NUMBER OF FILL BYTES field when
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI READ_BUFFER
command for 1539 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit DATA frames and a
SCSI response frame to the received command.
Serial Attached SCSI Consortium 40 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.3.5 - SSP Data IU – DATA OFFSET
Purpose: To determine that the DUT, an SSP Target port, properly sets the DATA OFFSET field when transmitting
DATA frames.
References: 9.2.2.4 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 7, 2005
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI READ_BUFFER
command for 3836 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit DATA frames and a
SCSI response frame to the received command.
Observable Results: Verify that if the DUT sets the DATA OFFSET field to zero in the first DATA frame, then
sets the DATA OFFSET field in subsequent DATA frames to the value of the previous frames DATA OFFSET field
plus the data length of the previous frame.
Serial Attached SCSI Consortium 41 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.4.1 - SSP XFER_RDY IU – REQUESTED OFFSET
Purpose: To determine that the DUT, an SSP Target port, properly sets the DATA OFFSET field when transmitting
DATA frames.
References: 9.2.2.3, 10.2.6.1.5 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 7, 2005
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on.
Test Procedure (SSP Target):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI MODE SENSE
command for the Disconnect-Reconnect Mode Page. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit DATA frame with the
Mode Page Block Descriptor and a SCSI response frame to the received MODE SENSE command.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI WRITE
command for 2048 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit XFER_RDY, DATA,
SCSI response frame to the received command.
Observable Results: Verify that the DUT sets the REQUESTED OFFSET field to zero in the first XFER_RDY
frame unless the First Burst Size field in the Disconnect Reconnect Mode Page is not zero. If the First Burst Size
field in the Disconnect Reconnect Mode Page is not zero then the REQUESTED OFFSET field should be set to 512
times the value in the First Burst Size field.
Serial Attached SCSI Consortium 42 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.4.2 - SSP XFER_RDY IU – REQUESTED OFFSET Large Transfer
Purpose: To determine that the DUT, an SSP Target port, properly sets the DATA OFFSET field when transmitting
DATA frames.
References: 9.2.2.3 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 27, 2004
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not power on.
Test Procedure (SSP Target):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI WRITE
command for 65536 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit XFER_RDY, SCSI
response frame to the received command.
Observable Results: Verify that for each XFER_RDY frame, the DUT sets the REQUESTED OFFSET field to the
REQUESTED OFFSET value of the previous XFER_RDY frame plus the WRITE DATA LENGTH field of the
previous XFER_RDY frame.
Serial Attached SCSI Consortium 43 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.4.3 - SSP XFER_RDY IU – MAXIMUM BURST SIZE
Purpose: To determine that the DUT, an SSP Target port, properly sets the DATA OFFSET field when transmitting
DATA frames.
References: 9.2.2.3 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 7, 2005
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on.
Test Procedure (SSP Target):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI MODE SENSE
command for the Disconnect-Reconnect Mode Page. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit DATA frame with the
Mode Page Block Descriptor and a SCSI response frame to the received MODE SENSE command.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI WRITE
command for 2048 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit XFER_RDY, DATA,
and SCSI response frame to the received command.
Observable Results: Verify that the DUT sets the WRITE DATA LENGTH field to a value less than or equal to
the value in the MAXIMUM BURST SZE field in the Disconnect Reconnect Mode Page. If the DUT sets
MAXIMUM BURST SIZE to Zero, this would indicate that it can accept any WRITE DATA LENGTH, and this
item is not testable.
Serial Attached SCSI Consortium 44 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.4.4 - SSP XFER_RDY IU – WRITE DATA LENGTH
Purpose: To determine that the DUT, an SSP Target port, properly sets the DATA OFFSET field when transmitting
DATA frames.
References: 9.2.2.3 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 8, 2005
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on.
Test Procedure (SSP Target):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI MODE SENSE
command for the Disconnect-Reconnect Mode Page. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit DATA frame with the
Mode Page Block Descriptor and a SCSI response frame to the received MODE SENSE command.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI
WRITE_BUFFER command for 2051 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit XFER_RDY, DATA,
SCSI response frame to the received command.
Observable Results: Verify that if the DUT sets the WRITE DATA LENGTH field not a value that is not divisible
by four, that this is the last XFER_RDY frame for a command.
Serial Attached SCSI Consortium 45 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.5.1 - SSP RESPONSE IU – NO DATA PRESENT
Purpose: To determine that the DUT, an SSP Target port, properly sets the DATAPRES field to NO_DATA if a
command completes without sense data to return.
References: 9.2.2.5.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 27, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI Test Unit Ready
command to the DUT. This should not be the first command received by the DUT since power on.
Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit a SCSI response frame
to the received command.
Observable Results: Verify that if the DUT sets the DATAPRES field to NO_DATA if the command completes
without sense data to return when the command finishes with status GOOD.
Serial Attached SCSI Consortium 46 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.5.2 - SSP RESPONSE IU – SENSE DATA PRESENT
Purpose: To determine that the DUT, an SSP Target port, properly sets the DATAPRES field to NO_DATA if a
command completes without sense data to return.
References: 9.2.2.5.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 27, 2004
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on.
Test Procedure (SSP Target):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI Test Unit Ready
command to the DUT. This should be the first command received by the DUT since power on. Close
the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit a SCSI response frame
to the received command.
Observable Results: Verify that the DUT sets the DATAPRES field to SENSE_DATA and the command
completes with sense data to return when the command finishes with status CHECK CONDITION.
Serial Attached SCSI Consortium 47 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.5.4 - SSP RESPONSE IU – SENSE/RESPONSE DATA NOT PRESENT
Purpose: To determine that the DUT, an SSP Target port, properly sets the SENSE DATA LENGTH, SENSE
DATA, RESPONSE DATA LENGTH, and RESPONSE DATA fields if a command completes without sense data
to return.
References: 9.2.2.5.2 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 27, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI Test Unit Ready
command to the DUT. This should not be the first command received by the DUT since power on.
Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit a SCSI response frame
to the received command.
Observable Results: Verify that if the DUT sets the DATAPRES field to NO_DATA if the command completes
without sense data to return when the command finishes with status GOOD. The SENSE DATA LENGTH and
RESPONSE DATA LENGTH fields shall be set to 0. The SENSE DATA and RESPONSE DATA fields should not
be present.
Serial Attached SCSI Consortium 48 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.5.5 - SSP RESPONSE IU –RESPONSE DATA present
Purpose: To determine that the DUT, an SSP Target port, properly sets the RESPONSE DATA fields if a command
completes with response data to return.
References: 9.2.2.5.2 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 27, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a TASK
MANAGEMENT command with an Invalid LUN.
• Allow the DUT to open an SSP connection and transmit a SCSI response frame to the received
command and data.
Observable Results: Verify that if the DUT sets the DATAPRES field to RESPONSE_DATA . The SENSE DATA
LENGTH should be set to zero. The RESPONSE DATA LENGTH field shall be set to 4 and the RESPONSE
DATA field should be present.
Serial Attached SCSI Consortium 49 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.6.1 - SSP ERROR HANDLING – Invalid Length
Purpose: To determine that the DUT, an SSP Target port properly handles a command received which is too short
to contain a valid CDB.
References: 9.2.5.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 27, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI INQUIRY
command with a too short CDB. Close the connection
• Allow the DUT to open an SSP connection and transmit a SCSI response frame to the received
command and data.
Observable Results: Verify that if the DUT sets the DATAPRES field to RESPONSE_DATA and the RESPONSE
CODE field to INVALD FRAME.
Serial Attached SCSI Consortium 50 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.6.2 - SSP ERROR HANDLING – Invalid LUN
Purpose: To determine that the DUT, an SSP Target port, properly handles a TASK frame received with an invalid
LUN.
References: 9.2.2.2 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: March 3, 2005
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a TASK frame of
function LOGICAL UNIT RESET with an invalid LUN. Close the connection
• Allow the DUT to open an SSP connection and transmit a SCSI response frame to the received TASK
frame.
Observable Results: Verify that the DUT sets the DATAPRES field to RESPONSE_DATA and the RESPONSE
CODE field to INVALD LOGICAL UNIT.
Serial Attached SCSI Consortium 51 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.6.3 - SSP ERROR HANDLING – No ACK/NAK Received
Purpose: To determine that the DUT, an SSP Target port, responds properly when no acknowledgement is received
for a transmitted RESPONSE frame.
References: 9.2.5.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 8, 2005
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on .
Test Procedure (SSP Target):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI WRITE
command for 1024 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit XFER_RDY.
• The Testing Station should open a connection to the DUT and transmit 2 512 byte data frames. Close
the connection.
• Allow the DUT to open an SSP connection and transmit a SCSI RESPONSE frame to the received
command and data. The Testing Station should not transmit ACK or NAK to the RESPONSE frame.
Observable Results: Verify that if the DUT retransmits the RESPONSE frame with the RETRANSMIT bit set to 1.
Serial Attached SCSI Consortium 52 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.6.5 - SSP ERROR HANDLING – Unknown TAG
Purpose: To determine that the DUT, an SSP Target port, responds properly when a DATA frame is received with
an unknown tag.
References: 9.2.5.1, 9.2.6.3.2 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 8, 2005
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on.
Test Procedure (SSP Target):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI WRITE
command for 1024 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit XFER_RDY.
• The Testing Station should open a connection to the DUT and transmit 3 512 byte DATA frames. One
of the DATA frames should have a TAG different than the TAG of the WRITE command. Close the
connection.
• Allow the DUT to open an SSP connection and transmit a SCSI RESPONSE frame to the received
command and data.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status and that the DUT discarded the DATA frame with an unknown TAG.
Serial Attached SCSI Consortium 53 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
TARGETS: APPLICATION LAYER
Overview:
This group of tests verifies the specifications of the SCSI and ATA protocols used over
SAS defined in SPC3, SBC2, and ATA/ATAPI 5/6.
Serial Attached SCSI Consortium 54 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.1 - SCSI CDB – Test Unit Ready
Purpose: To determine that the DUT, an SSP Target port, properly handles a Test Unit Ready command.
References: SPC-3 6.31
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 28, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI TEST UNIT
READY command to the DUT. Close the connection
• Allow the DUT to open an SSP connection and transmit a SCSI RESPONSE frame to the received
command.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status.
Serial Attached SCSI Consortium 55 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.2 - SCSI CDB – INQUIRY
Purpose: To determine that the DUT, an SSP Target port, properly handles an INQUIRY command.
References: SPC-3 6.4, table 79
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 28, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI INQUIRY
command to the DUT with the EVPD and PAGE CODE fields set to zero. Close the connection
• Allow the DUT to open an SSP connection and transmit DATA, containing standard INQUIRY data,
and RESPONSE frames to the received command.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status. Verify that the INQUIRY DATA is consistent with the device type and is formatted according to
table 79 of SPC-3.
Serial Attached SCSI Consortium 56 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.3 - SCSI CDB – START STOP
Purpose: To determine that the DUT, an SSP Target port, properly handles a START STOP command.
References: SBC-2 5.19
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 8, 2005
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI START STOP
command to the DUT. Close the connection
• Allow the DUT to open an SSP connection and transmit a RESPONSE frame to the received
command.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status.
Serial Attached SCSI Consortium 57 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.4 - SCSI CDB – MODE SENSE
Purpose: To determine that the DUT, an SSP Target port, properly handles a MODE SENSE command.
References: SPC-3 6.9, 7.4.2 table 246
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 28, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI MODE
SENSE(6) command to the DUT with the PAGE CODE field set 02h and the SUBPAGE CODE set to
00h. This will request the Disconnect-Reconnect Mode Page. Close the connection
• Allow the DUT to open an SSP connection and transmit DATA, containing standard Disconnect
Reconnect Mode Parameters, and RESPONSE frames to the received command.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status. Verify that the Mode Parameters returned by the DUT are formatted according to table 246 of
SPC-3.
Serial Attached SCSI Consortium 58 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.5 - SCSI CDB – MODE SELECT
Purpose: To determine that the DUT, an SSP Target port, properly handles a MODE SELECT command.
References: SPC-3 6.7
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: February 8, 2005
Test Setup: The DUT and the Testing Station are physically connected. The DUT is not powered on .
Test Procedure (SSP Target):
• Power on the DUT.
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI MODE
SENSE(6) command to the DUT with the PAGE CODE field set 02h and the SUBPAGE CODE set to
00h. This will request the Disconnect-Reconnect Mode Page. Close the connection
• Allow the DUT to open an SSP connection and transmit DATA, containing standard Disconnect
Reconnect Mode Parameters, and RESPONSE frames to the received command.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI MODE
SELECT(6) command to the DUT with the PF bit set to 1, the SP bit set to 1. Close the connection.
• Allow the DUT to open an SSP connection to transmit an XFER_RDY frame.
• The Testing Station should open an SSP connection to the DUT and transmit a DATA frame to the
DUT containing Mode Parameters for the Disconnect Reconnect Mode Page with a new Maximum
Burst Size. Close the connection.
• Allow the DUT to open an SSP connection to transmit a RESPONSE frame.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status.
Serial Attached SCSI Consortium 59 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.6 - SCSI CDB – READ CAPACITY
Purpose: To determine that the DUT, an SSP Target port, properly handles a READ CAPACITY command.
References: SBC-2 5.12
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 28, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI READ
CAPACITY(10) command to the DUT with the PMI bit set to 0. Close the connection
• Allow the DUT to open an SSP connection and transmit DATA and RESPONSE frames to the
received command.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status. Verify that the DATA returned by the DUT are formatted according to table 36 of SBC-2.
Serial Attached SCSI Consortium 60 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.7 - SCSI CDB – WRITE(10)
Purpose: To determine that the DUT, an SSP Target port, properly handles a WRITE(10) command.
References: SBC-2 5.27
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 28, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI WRITE
command for 2048 bytes. Close the connection
• Allow the DUT to open an SSP connection to the Testing Station and transmit XFER_RDY.
• The Testing Station should open a connection to the DUT and transmit 4 512 byte DATA frames.
Close the connection.
• Allow the DUT to open an SSP connection and transmit a SCSI RESPONSE frame to the received
command and data.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status. Verify that the DUT transmitted ACK for every received DATA frame.
Serial Attached SCSI Consortium 61 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.8 - SCSI CDB – READ(10)
Purpose: To determine that the DUT, an SSP Target port, properly handles a READ(10) command.
References: SBC-2 5.8
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 28, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI READ command
for 2048 bytes. Close the connection
• The DUT should open a connection to the DUT and transmit 4 512 byte DATA frames. The Testing
Station should transmit ACK for each received frame.
• Allow the DUT to open an SSP connection and transmit a SCSI RESPONSE frame to the received
command.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status.
Serial Attached SCSI Consortium 62 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 10.1.9 - SCSI CDB – LOG SENSE
Purpose: To determine that the DUT, an SSP Target port, properly handles a LOG SENSE command.
References: SPC-3 6.6
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 28, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Target):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a SAS Initiator.
• The Testing Station should open an SSP connection to the DUT and transmit a SCSI LOG SENSE
command with the PPC and PARAMETER POINTER fields set to 0, a LOG PAGE CODE of 00h
(Supported Log Pages), and SP bit of 0. Close the connection
• The DUT should open a connection to the Testing Station and transmit DATA frames to the DUT.
• Allow the DUT to open an SSP connection and transmit a SCSI RESPONSE frame to the received
command.
Observable Results: Verify that the DUT transmits RESPONSE frame indicating that the command completed
with GOOD status. Verify that the DUT transmitted Log Page data formatted according to 7.2.12 of SPC-3. Verify
that the DUT reported its supported Log Pages defined in table 194 of SPC-3.
Serial Attached SCSI Consortium 63 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
INITIATORS: LINK LAYER
Overview:
This group of tests verifies the Link Layer specifications of the SAS physical layer
defined in Clause 7 of the SAS Standard.
Serial Attached SCSI Consortium 64 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.1 - Link Reset – Repeat PHY Sequence if no Identify Recieved
Purpose: To determine that the DUT will repeat the Phy reset sequence if an Identify frame is not received within 1
msec of completing a Phy reset sequence.
References: 7.9.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit valid SAS primitives or SAS Idle. The Testing Station should not transmit an
Identify Address Frame.
Observable Results:
• Verify that 1 msec after the DUT completed a Phy Reset Sequence with the DUT, the DUT initiated
another Phy reset sequence by transmitting COMINIT.
Serial Attached SCSI Consortium 65 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.2 - Link Reset – Ignore Additional Identify Recieved
Purpose: To determine that the DUT will ignore an Identify frame received after a valid Identify has already been
received.
References: 7.9.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit valid SAS primitives or SAS Idle. The Testing Station should transmit 2 valid
Identify Address Frames each with a different SAS address.
Observable Results:
• Verify that the DUT ignores the second received Identify Address Frame and does not transmit
COMINIT.
• Verify that the DUT does not attempt to open a connection to the address in the second Identify
Address frame.
Serial Attached SCSI Consortium 66 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.3 - Link Reset – HARD_RESET Received
Purpose: To determine that the DUT properly handles a received HARD_RESET.
References: 7.2.5.8, 7.9.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit 6 consecutive HARD_RESET primitives. This must occur before the Identify
sequence is complete.
Observable Results:
• Verify that the DUT transmits COMINIT upon receiving the HARD_RESET primitives from the
Testing Station.
Serial Attached SCSI Consortium 67 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.4 - Link Reset – SMP Initiator to perform Discover
Purpose: To determine that the DUT, which is an SMP Initiator, properly performs the discovery process.
References: 4.6.7.4, 7.9.2 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit an Identify Address frame indicating that it is an Edge Expander.
• The DUT is expected to transmit a SMP Request REPORT GENERAL, the Testing Station should
respond with SMP Response REPORT GENERAL indicating a Phy Count of 1. The DUT is expected
to transmit an SMP Request DISCOVER to the Testing Station with a Phy ID of 0x00.
• The Testing Station should transmit an SMP Request DISCOVER indicating the presence of an SSP
Target.
Observable Results:
• Verify that the DUT transmits both an SMP Request REPORT GENERAL and an SMP Request
DISCOVER to the Testing Station.
Serial Attached SCSI Consortium 68 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.5 - Link Reset – Edge Expander transmits OPEN_REJECT
Purpose: To determine that the DUT, properly handles receiving OPEN_REJECT from an Edge Expander.
References: 7.9.4 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit an Identify Address frame indicating that it is an Edge Expander.
• The DUT is expected to transmit a SMP Request REPORT GENERAL, the Testing Station should
respond with SMP Response REPORT GENERAL indicating a Phy Count of 1. The DUT is expected
to transmit an SMP Request DISCOVER to the Testing Station with a Phy ID of 0x00.
• The Testing Station should transmit an SMP Request DISCOVER indicating the presence of an SSP
Target.
Observable Results:
• Verify that the DUT retries the OPEN Address frame for the connection request.
• Verify that the DUT does not attempt Phy Reset upon receiving the OPEN_REJECT primitive.
Possible Problems: None.
Serial Attached SCSI Consortium 69 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.1 - Connections – OPEN_ACCEPT
Purpose: To determine that the DUT properly transmits RRDY after receiving OPEN_ACCEPT.
References: 7.12.2.2 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to transmit an Open Address frame to the Testing Station. The Testing Station
should transmit OPEN_ACCEPT followed by RRDY. Allow the DUT to transmit a frame and close
the connection.
• The Testing Station should transmit an Open Address frame to the DUT. Wait for the DUT to transmit
OPEN_ACCEPT and RRDY.
Observable Results:
• Verify that the DUT transmitted RRDY no more than 1 ms after transmitted OPEN_ACCEPT.
Serial Attached SCSI Consortium 70 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.2 - Connections – 2 SOAF Received
Purpose: To determine that the DUT properly handles received 2 SOAF primitives.
References: 7.2.5.11 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to transmit an Open Address frame to the Testing Station. The Testing Station
should transmit OPEN_ACCEPT followed by RRDY. Allow the DUT to transmit a frame and close
the connection.
• The Testing Station should transmit the following to the DUT
o SOAF primitive
o the first 4 dwords of an OpenAddress frame
o complete Open Address frame starting with SOAF.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY.
Observable Results:
• Verify that the DUT responded to the received, complete Open Address frame with OPEN_ACCEPT.
Serial Attached SCSI Consortium 71 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.4 - Connections - OPEN_REJECT Connection Rate Not Supported
Purpose: To determine that the DUT handles errors in OpenAddress frames properly.
References: 7.2.5.11, 7.8.3 Table 74 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to transmit an Open Address frame to the Testing Station. The Testing Station
should transmit OPEN_ACCEPT followed by RRDY. Allow the DUT to transmit a frame and close
the connection.
• The Testing Station should transmit an OpenAddress frame to the DUT with an invalid connection
rate.
• Wait for the DUT to transmit OPEN_REJECT (Connection rate not supported).
Observable Results: Verify that the DUT responded to the received, complete Open Address frame with
OPEN_REJECT (Connection rate not supported).
Serial Attached SCSI Consortium 72 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.5 - Connections - OPEN_REJECT Protocol Not Supported
Purpose: To determine that the DUT handles errors in OpenAddress frames properly.
References: 7.2.5.11 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to transmit an Open Address frame to the Testing Station. The Testing Station
should transmit OPEN_ACCEPT followed by RRDY. Allow the DUT to transmit a frame and close
the connection.
• The Testing Station should transmit an OpenAddress frame to the DUT with an invalid initiator or
target role.
• Wait for the DUT to transmit OPEN_REJECT (Protocol not supported).
Observable Results: Verify that the DUT responded to the received, complete Open Address frame with
OPEN_REJECT (Protocol not supported).
Serial Attached SCSI Consortium 73 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.6 - Connections - OPEN_REJECT Wrong Destination
Purpose: To determine that the DUT handles errors in OpenAddress frames properly.
References: 7.2.5.11 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to transmit an Open Address frame to the Testing Station. The Testing Station
should transmit OPEN_ACCEPT followed by RRDY. Allow the DUT to transmit a frame and close
the connection.
• The Testing Station should transmit an OpenAddress frame to the DUT with an incorrect destination
SAS Address.
• Wait for the DUT to transmit OPEN_REJECT (Wrong Destination).
Observable Results: Verify that the DUT responded to the received, complete Open Address frame with
OPEN_REJECT (Wrong Destination).
Serial Attached SCSI Consortium 74 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.2.7 - Connections - OPEN_REJECT Retry
Purpose: To determine that the DUT handles extra connection requests properly.
References: 7.2.5.11 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to transmit an Open Address frame to the Testing Station. The Testing Station
should transmit OPEN_ACCEPT followed by RRDY. Allow the DUT to transmit a frame and close
the connection.
• The Testing Station should continuously transmit OpenAddress frames to the DUT with a correct
destination SAS Address.
• Wait for the DUT to transmit OPEN_REJECT (Retry).
Observable Results: Verify that the DUT responded to the received, complete Open Address frame with
OPEN_REJECT (Retry). This item may not be testable for some devices.
Serial Attached SCSI Consortium 75 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.3.3 - SSP_Frames – Multiple ACKs
Purpose: To determine that the DUT properly transmits ACK within 1 msec of receiving a frame requiring an ACK
response.
References: 7.16.3, 7.16.5 SAS Standard
Resource Requirements: SAS Protocol Analyzer, SAS Initiator, SAS Target, Software capable of generating SCSI
traffic from the SAS Initiator. In order to minimize physical layer problems, the Initiator, Target, and Analyzer
should be connected with near-ideal channels.
Revision History: September 13, 2004
Test Setup: The SAS Initiator and Target are connected through the SAS Analyzer.
Test Procedure:
• Using the generation software, cause the SAS Initiator to begin a series of 1000 64 kB READ
operations on the SAS Target. Capture this on the SAS Analyzer.
Observable Results: If the DUT is an initiator, search the Analyzer capture of the target transmissions for the
DONE (ACK/NAK TIMEOUT) primitive. If the DUT is a target, search the Analyzer capture of the initiator
transmissions for the DONE (ACK/NAK TIMEOUT) primitive. If any of these primitives are found, it indicates that
the DUT did not transmit ACK within the 1 msec necessary after receiving frame requiring ACK or NAK.
Serial Attached SCSI Consortium 76 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.3.4 - SSP Frames - RRDY
Purpose: To determine that the DUT properly grants credit to transit frames using RRDY.
References: 7.16.4 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Command to the Testing Station, then close the connection.
• The Testing Station should transmit an OpenAddress frames to the DUT with a correct destination
SAS Address.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY.
Observable Results: Verify that the DUT transmitted RRDY when an SSP connection was opened.
Serial Attached SCSI Consortium 77 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.1 - Closing SSP Connections – DONE (NORMAL)
Purpose: To determine that the DUT properly responds when DONE is received.
References: 7.16.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Command to the Testing Station, then close the connection.
• The Testing Station should transmit an OpenAddress frames to the DUT with a correct destination
SAS Address.
• Wait for the DUT to transmit OPEN_ACCEPT and RRDY.
• The Testing Station should transmit DONE (NORMAL).
Observable Results: Verify that the DUT transmitted DONE (NORMAL) within 1 msec of receiving DONE
(NORMAL) from the Testing Station.
Serial Attached SCSI Consortium 78 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.2 - Closing SSP Connections – DONE (ACK/NAK TIMEOUT)
Purpose: To determine that the DUT properly responds when ACK or NAK has not been received for a transmitted
frame.
References: 7.16.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Command to the Testing Station. The Testing Station should not transmit ACK or NAK.
Observable Results: Verify that the DUT transmitted DONE (ACK/NAK TIMEOUT) within 1 msec of
transmitting the Command or Response frame.
Serial Attached SCSI Consortium 79 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.3 - Closing SSP Connections – DONE (CREDIT TIMEOUT)
Purpose: To determine that the DUT properly responds when RRDY has not been received for an impending
transaction.
References: 7.16.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to open an SSP connection to the Testing Station. The Testing Station should not
transmit RRDY to grant credit for the DUT to transmit a SCSI Command to the Testing Station.
Observable Results: Verify that the DUT transmitted DONE (CREDIT TIMEOUT) within 1 msec of opening the
SSP connection.
Serial Attached SCSI Consortium 80 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.4 - Closing SSP Connections – CLOSE (NORMAL)
Purpose: To determine that the DUT properly responds when CLOSE (NORMAL) is received.
References: 7.16.6, 7.12.7 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Command to the Testing Station, then close the connection.
• The Testing Station should transmit an OpenAddress frame to the DUT. Wait for OPEN_ACCEPT
from the DUT, then transmit CLOSE (NORMAL)
Observable Results: Verify that the DUT transmitted CLOSE (NORMAL) within 1 msec of receiving CLOSE
(NORMAL) from the Testing Station.
Serial Attached SCSI Consortium 81 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.5 - Closing SSP Connections – BREAK Sourced by Testing Station
Purpose: To determine that the DUT properly responds when BREAK is received.
References: 7.12.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Command to the Testing Station, then close the connection.
• The Testing Station should transmit an OpenAddress frame to the DUT, followed by BREAK.
Observable Results: Verify that the DUT transmitted BREAK within 1 msec of receiving BREAK from the
Testing Station.
Serial Attached SCSI Consortium 82 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.4.6 - Closing SSP Connections – BREAK Sourced by DUT
Purpose: To determine that the DUT properly sources BREAK when required.
References: 7.12.7 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Command to the Testing Station.
• When the DUT transmits CLOSE (NORMAL) to close the connection, the Testing Station should not
transmit CLOSE (NORMAL) in response.
Observable Results: Verify that the DUT transmitted BREAK within 1 msec of transmitting CLOSE (NORMAL)
to the Testing Station.
Serial Attached SCSI Consortium 83 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.5.1.2 - Connections through Expanders – OPEN SSP Initiator
Purpose: To determine that the DUT, an SSP Initiator, can properly open a connection through an expander to
transmit data or command frames.
References: 7.12.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Initiator):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is an Edge Expander.
• Wait for the DUT to open an SMP Connection to the Testing Station. Allow the DUT to transmit a
REPORT_GENERAL SMP Request. The Testing Station should respond on the same connection with
a REPORT_GENERAL SMP Response indicating that there are 2 attached Phys. One of these phys
will simulate an attached SSP target. The other phy will represent the phy that the DUT is attached to.
When the response is complete close the connection.
• Wait for the DUT to open an SMP Connection to the Testing Station. Allow the DUT to transmit a
DISCOVER SMP Request. The Testing Station should respond on the same connection with a
DISCOVER SMP Response providing a SAS address of one attached SSP Phy. Close the connection.
• Wait for the DUT to open an SSP connection to the Testing Station to the same address that was
provided by the Testing Station in the DISCOVER
• Before transmitting OPEN_ACCEPT the Testing Station should transmit AIP(NORMAL) followed by
AIP(WAITING ON DEVICE)
• Allow the DUT to transmit a SCSI Command frame to the Testing Station.
• When the DUT transmits CLOSE (NORMAL) to close the connection, the Testing Station should
transmit CLOSE (NORMAL) in response.
Observable Results: Verify that the DUT successfully transmitted the SCSI Command frame.
Serial Attached SCSI Consortium 84 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.5.1.4 - Connections through Expanders – OPEN SMP Initiator
Purpose: To determine that the DUT, an SMP Initiator, can properly open a connection through an expander to
transmit an SMP Request.
References: 7.12.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SMP Initiator):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is an Fanout Expander.
• Wait for the DUT to open an SMP Connection to the Testing Station. Allow the DUT to transmit a
REPORT_GENERAL SMP Request. The Testing Station should respond on the same connection with
a REPORT_GENERAL SMP Response indicating that there is 1 attached Phy. Close the connection.
• Wait for the DUT to open an SMP Connection to the Testing Station. Allow the DUT to transmit a
DISCOVER SMP Request. The Testing Station should respond on the same connection with a
DISCOVER SMP Response providing a SAS address of one attached SMP Phy. Close the connection.
• Wait for the DUT to open an SMP connection to the Testing Station to the same address that was
provided by the Testing Station in the DISCOVER
• Before transmitting OPEN_ACCEPT the DUT should transmit AIP(NORMAL) followed by
AIP(WAITING ON DEVICE)
• Allow the DUT to transmit an SMP Request to the Testing Station.
• When the DUT transmits CLOSE (NORMAL) to close the connection, the Testing Station should
transmit CLOSE (NORMAL) in response.
Observable Results: Verify that the DUT successfully transmitted the SMP Request frame.
Serial Attached SCSI Consortium 85 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.5.5.2 - BREAK – OpenTimeout Timer SSP Initiator
Purpose: To determine that the DUT, an SSP Initiator transmits BREAK after the OpenTimeout Timer expires.
References: 7.12.2.1, 7.12.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Initiator):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is an Edge Expander.
• Wait for the DUT to open an SMP Connection to the Testing Station. Allow the DUT to transmit a
REPORT_GENERAL SMP Request. The Testing Station should respond on the same connection with
a REPORT_GENERAL SMP Response indicating that there are 2 attached Phys. One of these phys
will simulate an attached SSP target. The other phy will represent the phy that the DUT is attached to.
When the response is complete close the connection.
• Wait for the DUT to open an SMP Connection to the Testing Station. Allow the DUT to transmit a
DISCOVER SMP Request. The Testing Station should respond on the same connection with a
DISCOVER SMP Response providing a SAS address of one attached SSP Phy. Close the connection.
• Wait for the DUT to open an SSP connection to the Testing Station to the same address that was
provided by the Testing Station in the DISCOVER
• The Testing Station should wait for the DUT to transmit an OpenAddress frame for an SSP
connection. The Testing Station should not respond to the OpenAddress frame with OPEN_ACCEPT
or OPEN_REJECT.
Observable Results: Verify that 1msec after transmitting the OpenAddress frame, the DUT transmitted BREAK.
Serial Attached SCSI Consortium 86 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.5.5.4 - BREAK – OpenTimeout Timer SMP Initiator
Purpose: To determine that the DUT, an SMP Initiator transmits BREAK after the OpenTimeout Timer expires.
References: 7.12.2.1, 7.12.6 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 13, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SMP Initiator):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is an Fanout Expander.
• Wait for the DUT to open an SMP Connection to the Testing Station. Allow the DUT to transmit a
REPORT_GENERAL SMP Request. The Testing Station should respond on the same connection with
a REPORT_GENERAL SMP Response indicating that there is 1 attached Phy. Close the connection.
• Wait for the DUT to open an SMP Connection to the Testing Station. Allow the DUT to transmit a
DISCOVER SMP Request. The Testing Station should respond on the same connection with a
DISCOVER SMP Response providing a SAS address of one attached SMP Phy. Close the connection.
• Wait for the DUT to open an SMP connection to the Testing Station to the same address that was
provided by the Testing Station in the DISCOVER
• The Testing Station should wait for the DUT to transmit an OpenAddress frame for an SMP
connection. The Testing Station should not respond to the OpenAddress frame with OPEN_ACCEPT
or OPEN_REJECT.
Observable Results: Verify that 1msec after transmitting the OpenAddress frame, the DUT transmitted BREAK.
Serial Attached SCSI Consortium 87 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
INITIATORS: TRANSPORT LAYER
Overview:
This group of tests verifies the Transport Layer specifications of the SAS protocol
defined in Clause 9 of the SAS Standard.
Serial Attached SCSI Consortium 88 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.1.1 - SSP Frames Structure – Hashed Address
Purpose: To determine that the DUT properly calculated a hashed destination SAS address based on the sas address
provided in a received Identify Frame.
References: 4.2.3, Annex D SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target.
Revision History: September 23, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a target. The SAS address provided in the Identify Frame should be
7FFFFFFFFFFFFFFFh.
• Wait for the DUT to open an SSP connection to the Testing Station. Allow the DUT to transmit a SCSI
Command to the Testing Station.
Observable Results: In each case verify that the DUT transmitted an SSP frame (command or response) with a
hashed destination SAS address of 000000h.
Serial Attached SCSI Consortium 89 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.1.2 - SSP Frames Structure – Information Unit
Purpose: To determine that the DUT does not transmit an SSP frame with an Information Unit exceeding 1024
bytes.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target. If the DUT is a SAS Intiator,
software capable of generating SCSI commands.
Revision History: April 11, 2005
Test Setup: The DUT and the Testing Station are physically connected. The SAS Initiator DUT is attached to the
SAS Target through a SAS Protocol analyzer.
Test Procedure (SSP Initiators):
• Wait for the DUT to open an SSP connection to the attached SAS Target. Allow the DUT to transmit a
SCSI commands to the target. The DUT should transmit at least 50 commands.
• The target should respond to each received command with SCSI Response with status GOOD.
Observable Results: Verify that the Information Unit in the SSP Command frame is between 28 and 284 bytes
long.
Serial Attached SCSI Consortium 90 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.1.3 - SSP Frames Structure – NUMBER OF FILL BYTES
Purpose: To determine that the DUT properly sets the NUMBER OF FILL BYTES field.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target. If the DUT is a SAS Intiator,
software capable of generating SCSI commands.
Revision History: April 11, 2005
Test Setup: The DUT and the Testing Station are physically connected. The SAS Initiator DUT is attached to the
SAS Target through a SAS Protocol analyzer.
Test Procedure (SSP Initiators):
• Wait for the DUT to open an SSP connection to the attached SAS target. Allow the DUT to transmit a
SCSI WRITE command to the Testing Station. The target should respond with XFER_RDY and wait
for the DUT to transmit DATA frames.
Observable Results: If the DUT is an initiator, verify that the NUMBER OF FILL BYTES field in the SSP
Command frame is set to 0.
Serial Attached SCSI Consortium 91 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.2.1 - SSP Command IU – TAG
Purpose: To determine that the DUT properly sets the TAG field.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target with 2 LUNs within the same SSP
Target Port. If the DUT is an initiator, it will need to have software capable of generating SCSI traffic.
Revision History: September 23, 2004
Test Setup: The DUT and the Testing Station are physically connected. The SAS Initiator DUT is attached to the
SAS Target through a SAS Protocol analyzer.
Test Procedure (SSP Initiators):
• Allow the DUT to open a connection to the attached SAS Target. Observe commands from the DUT to
each LUN on the target.
Observable Results: If the DUT is an initiator, verify that the TAG field is unique for commands to different LUNs
no the SSP target port.
Serial Attached SCSI Consortium 92 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.2.2 - SSP Command IU – TARGET PORT TRANSFER TAG
Purpose: To determine that the DUT properly sets the TARGET PORT TRANSFER TAG field.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. SAS Target with 2 LUNs within the same SSP
Target Port. If the DUT is an initiator, it will need to have software capable of generating SCSI traffic.
Revision History: September 23, 2004
Test Setup: The DUT and the Testing Station are physically connected. The SAS Initiator DUT is attached to the
SAS Target through a SAS Protocol analyzer.
Test Procedure (SSP Initiators):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a target.
• Allow the DUT to open a connection to the Testing Station and transmit a WRITE command. The
Testing Station should transmit XFER_RDY in response, with a Target Port Transfer Tag of 5555h.
Observable Results: If the DUT is an initiator, verify that the TARGET PORT TRANSFER TAG field is the same
in all DATA frames as the TARGET PORT TRANSFER TAG offered by the Testing Station in the XFER_RDY
frame.
Serial Attached SCSI Consortium 93 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.3.1 - SSP Data IU – TPT TAG First Burst Data
Purpose: To determine that the DUT, a SAS Initiator, properly sets the TARGET PORT TRANSFER TAG field
when sending First Burst Data.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. The DUT will need to have software capable of
generating SCSI traffic.
Revision History: April 11, 2005
Test Setup: The DUT and the Testing Station are physically connected. The SAS Initiator DUT is attached to the
SAS Target through a SAS Protocol analyzer.
Test Procedure (SSP Initiators):
• Allow the DUT to open a connection to the attached SAS target and transmit a WRITE command with
First Burst data. The Testing Station should transmit XFER_RDY in response.
Observable Results: Verify that the TARGET PORT TRANSFER TAG field is set to FFFFh in all First Burst
DATA frames sent by the DUT.
Serial Attached SCSI Consortium 94 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.3.2 - SSP Data IU – TPT TAG Non-Data
Purpose: To determine that the DUT, a SAS Initiator, properly sets the TARGET PORT TRANSFER TAG field
when sending First Burst Data.
References: 9.2.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator. The DUT will need to have software capable of
generating SCSI traffic.
Revision History: April 11, 2005
Test Setup: The DUT and the Testing Station are physically connected. The SAS Initiator DUT is attached to the
SAS Target through a SAS Protocol analyzer.
Test Procedure (SSP Initiators):
• Allow the DUT to open a connection to the attached SAS Target and transmit a READ command.
Observable Results: Verify that the TARGET PORT TRANSFER TAG field is set to FFFFh in all non-DATA
frames sent by the DUT.
Serial Attached SCSI Consortium 95 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.5.3 - SSP RESPONSE IU – DATAPRES RESERVED
Purpose: To determine that the DUT, an SSP Initiator, properly handles a response frame received with a reserved
value in the DATA PRES field.
References: 7.16.7.7, 9.2.2.5.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 27, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Initiator):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is a target the Testing Station should transmit an Identify Address frame
indicating that it is a target.
• Allow the DUT to open a connection to the Testing Station and transmit an INQUIRY command.
Close the connection.
• The Testing Station should transmit DATA and RESPONSE to the command from the DUT. The
Testing Station should set the DATAPRES field in the Response frame to 11b, a reserved value.
Observable Results: Verify that if the DUT discards the response frame that is received with a reserved value in the
DATAPRES field. The DUT should not ACK or NAK this frame.
Serial Attached SCSI Consortium 96 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 9.6.4 - SSP ERROR HANDLING – Extra RESPONSE frame Received
Purpose: To determine that the DUT, an SSP Initiator port, responds properly when a RESPONSE frame is
improperly retransmitted.
References: 9.2.4.5 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator.
Revision History: September 28, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure (SSP Initiator):
• The Testing Station should start and complete a Phy Reset sequence followed by an Identify sequence
with the DUT. Since the DUT is an initiator the Testing Station should transmit an Identify Address
frame indicating that it is a SAS Target.
• Allow the DUT to open an SSP connection to the Testing Station and transmit a SCSI INQUIRY
command.
• The Testing Station should open a connection to the DUT and transmit DATA and 2 RESPONSE
frames to the DUT. The second response frame should have the retransmit bit set to 1. Close the
connection.
Observable Results: Verify that if the DUT discards the second RESPONSE frame and does not transmit ACK or
NAK in response to it.
Serial Attached SCSI Consortium 97 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
EXPANDERS: LINK LAYER
Overview:
This group of tests verifies the Link Layer specifications of the SAS physical layer
defined in Clause 7 of the SAS Standard.
Serial Attached SCSI Consortium 98 SAS Link and Transport Layer Test Suite v0.13
The University of New Hampshire
InterOperability Laboratory
Test 7.1.1 - Link Reset – Repeat PHY Sequence if no Identify Received
Purpose: To determine that the DUT will repeat the Phy reset sequence if an Identify frame is not received within 1
msec of completing a Phy reset sequence.
References: 7.9.1 SAS Standard
Resource Requirements: SAS Protocol Analyzer and Generator
Revision History: September 7, 2004
Test Setup: The DUT and the Testing Station are physically connected.
Test Procedure:
• The Testing Station should transmit COMINT to start a Phy Reset sequence with the DUT.
• The Testing Station should complete a Phy Reset sequence with the DUT.
• Once the Phy reset sequence between the DUT and the Testing Station are complete, the Testing
Station should transmit valid SAS primitives or SAS Idle. The Testing Station should not transmit an
Identify Address Frame.
Observable Results:
• Verify that 1 msec after the DUT completed a Phy Reset Sequence with the DUT, the DUT initiated
another Phy reset sequence by transmitting COMINIT.
Serial Attached SCSI Consortium 99 SAS Link and Transport Layer Test Suite v0.13
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.