BS ISO/IEC 14776-263:2018
$215.11
Information technology. Small computer system interface (SCSI) – SAS protocol layer. 3 (SPL-3)
Published By | Publication Date | Number of Pages |
BSI | 2018 | 904 |
This document defines the protocol layer of the Serial Attached SCSI (SAS) interconnect and three transport protocols that use the SAS interconnect:
-
Serial SCSI Protocol (SSP): a mapping of SCSI supporting multiple initiators and targets;
-
Serial ATA Tunneled Protocol (STP): a mapping of Serial ATA expanded to support multiple initiators and targets; and
-
Serial Management Protocol (SMP): a management protocol.
PDF Catalog
PDF Pages | PDF Title |
---|---|
2 | National foreword |
5 | CONTENTS |
41 | FOREWORD |
43 | INTRODUCTION |
44 | SCSI standards family |
46 | 1 Scope |
47 | 2 Normative references |
48 | 3 Terms, definitions, symbols, abbreviations, keywords, and conventions 3.1 Terms and definitions 8b10b coding 8b10b encoding 10b8b decoding active cable assembly active phy power condition active zone manager affiliation |
49 | affiliation context aggregation application client association attached attached SAS address attribute AT Attachment ATA |
50 | ATA device ATA domain ATA host big-endian bi-phase mark code BMC Broadcast Broadcast propagation processor BPP burst time |
51 | byte cable assembly character class class diagram command descriptor block CDB commonly supported setting compliant jitter tolerance pattern CJTPAT configuration subprocess |
52 | confirmation connection connection rate connection request connector constraint control byte control character Kxx.y |
53 | credit advance cyclic redundancy check CRC D.C. idle D.C. mode data byte data character Dxx.y data dword deadlock deletable primitive dependency |
54 | device name device server differential high signal level differential low signal level direct current D.C. direct routing attribute direct routing method discover process disparity |
55 | domain dword dword synchronization enclosure end device event notification expander connection manager ECM expander connection router ECR |
56 | expander device expander function expander logical phy expander phy expander port expander route entry expander route index expander route table externally configurable expander device |
57 | field Final-SNW frame frame information structure FIS generalization hard reset hard reset sequence hardware maximum physical link rate hardware minimum physical link rate hash highest priority commonly supported setting |
58 | I_T nexus I_T nexus loss I_T nexus loss event I_T nexus loss timer event I_T_L nexus I_T_L_Q nexus IDENTIFY (PACKET) DEVICE data identification sequence |
59 | idle dword idle time indication information unit initiator connection tag initiator port transfer tag invalid character invalid dword jitter tolerance pattern JTPAT |
60 | least significant bit LSB left-aligned link reset sequence little-endian livelock local locked zoning expander device logical link |
61 | logical link rate logical phy logical unit logical unit number LUN low phy power condition medium message most significant bit MSB |
62 | multiplexing multiplicity narrow link narrow port negation time negotiation idle negotiated logical link rate negotiated physical link rate nexus |
63 | object object diagram OOB burst OOB idle OOB sequence OOB signal operation optical mode partial pathway |
64 | partial phy power condition pathway pathway blocked count persistent connection phy phy identifier phy ready state phy reset sequence physical link physical link rate physical phy |
65 | port port identifier port name potential pathway power on primitive primitive sequence programmed maximum physical link rate |
66 | programmed minimum physical link rate rate read data receiver device Rx request reset event response role route table optimization |
67 | run length running disparity RD SAS address SAS device SAS domain SAS initiator device SAS initiator phy SAS initiator port SAS phy SAS logical phy |
68 | SAS port SAS target device SAS target phy SAS target port SATA device SATA device port SATA host SATA host port SATA phy SATA port selector |
69 | SATA spinup hold saturating counter scrambling SCSI device SCSI domain SCSI initiator device SCSI initiator port SCSI port |
70 | SCSI target device SCSI target port self-configuring expander device Serial ATA SATA Serial ATA Tunneled Protocol STP Serial Attached SCSI SAS Serial Management Protocol SMP Serial SCSI Protocol SSP |
71 | service delivery subsystem slumber phy power condition SMP initiator phy SMP initiator port SMP phy SMP port SMP target phy SMP target port SMP zone configuration function SNW-3 bit cell time speed negotiation sequence |
72 | speed negotiation window SNW spread spectrum clocking SSC SSP initiator phy SSP initiator port SSP phy SSP port SSP target phy SSP target port state machine variable STP initiator phy STP initiator port |
73 | STP phy STP port STP primitive STP target phy STP target port STP SATA bridge subtractive routing attribute subtractive routing method table routing attribute table routing method |
74 | target port transfer tag task management function task manager Train_Rx-SNW Train_Rx-SNW window time Train_Tx-SNW transmitter device Tx transport protocol service confirmation transport protocol service indication transport protocol service request |
75 | transport protocol service response transmitter training information unit TTIU TTIU bit cell unit interval UI valid character valid dword virtual phy wide link wide port word wrapping counter |
76 | write data zone group zone manager zone permission table zoned portion of a service delivery subsystem ZPSDS zoning expander current values zoning expander device zoning expander phy zoning expander shadow values |
77 | 3.2 Symbols and abbreviations 3.2.1 Abbreviations |
79 | 3.2.2 Units 3.2.3 Symbols |
80 | 3.2.4 Mathematical operators 3.3 Keywords invalid mandatory may may not obsolete |
81 | optional reserved restricted shall should vendor specific 3.4 Editorial conventions |
82 | 3.5 Numeric and character conventions 3.5.1 Numeric conventions |
83 | 3.5.2 Units of measure |
84 | 3.5.3 Byte encoded character strings conventions 3.6 UML notation conventions 3.6.1 Notation conventions overview 3.6.2 Constraint and note conventions |
85 | 3.6.3 Class diagram conventions |
90 | 3.6.4 Object diagram conventions |
92 | 3.7 State machine conventions 3.7.1 State machine conventions overview |
93 | 3.7.2 Transitions 3.7.3 Messages, requests, indications, confirmations, responses, and event notifications 3.7.4 State machine counters, timers, and variables |
94 | 3.7.5 State machine arguments 3.8 Bit and byte ordering |
95 | 3.9 Notation for procedures and functions |
96 | 4 General 4.1 Architecture 4.1.1 Architecture overview |
98 | 4.1.2 Physical links and phys |
102 | 4.1.3 Logical links 4.1.4 Narrow ports and wide ports |
106 | 4.1.5 Application clients and device servers 4.1.6 SAS devices |
107 | 4.1.7 Expander devices |
108 | 4.1.8 Service delivery subsystem |
109 | 4.1.9 Domains |
112 | 4.1.10 Expander device topologies 4.1.10.1 Expander device topology overview |
113 | 4.1.10.2 Expander device topologies |
115 | 4.1.11 Pathways 4.1.12 Connections |
117 | 4.1.13 Persistent connections 4.1.13.1 Persistent connection operation |
118 | 4.1.13.2 Persistent connection support 4.1.14 Advancing credit 4.1.15 Broadcasts |
120 | 4.2 Names and identifiers 4.2.1 Names and identifiers overview |
122 | 4.2.2 NAA IEEE Registered format identifier |
123 | 4.2.3 NAA Locally Assigned format identifier 4.2.4 SAS address 4.2.5 Hashed SAS addresses |
124 | 4.2.6 Device names and expander device SAS addresses |
125 | 4.2.7 Device names for SATA devices with world wide names 4.2.8 Port names 4.2.9 Port identifiers and SAS port SAS addresses |
126 | 4.2.10 Phy identifiers |
127 | 4.3 State machines 4.3.1 State machine overview |
128 | 4.3.2 Transmit data path |
133 | 4.3.3 Receive data path |
137 | 4.3.4 State machines and SAS Device, SAS Port, and SAS Phy classes |
139 | 4.4 Events 4.4.1 Reset sequences |
141 | 4.4.2 Hard reset 4.4.2.1 Hard reset overview 4.4.2.2 Additional hard reset processing by SAS ports 4.4.2.3 Additional hard reset processing by expander ports 4.4.3 I_T nexus loss |
142 | 4.4.4 Power loss expected |
143 | 4.5 Expander device model 4.5.1 Expander device model overview |
144 | 4.5.2 Expander ports |
145 | 4.5.3 Expander connection manager (ECM) 4.5.4 Expander connection router (ECR) |
146 | 4.5.5 Broadcast propagation processor (BPP) 4.5.6 Expander device interfaces 4.5.6.1 Expander device interface overview |
148 | 4.5.6.2 Expander device interfaces detail |
149 | 4.5.6.3 ECM interface |
151 | 4.5.6.4 ECR interface |
153 | 4.5.6.5 BPP interface |
154 | 4.5.7 Expander device routing 4.5.7.1 Routing attributes and routing methods |
155 | 4.5.7.2 Expander device topology routing attribute restrictions 4.5.7.3 Connection request routing 4.5.7.4 Expander route table 4.5.7.4.1 Expander route table overview |
156 | 4.5.7.4.2 Phy-based expander route table |
157 | 4.5.7.4.3 Expander-based expander route table 4.5.8 Expander device reduced functionality |
158 | 4.5.9 Broadcast (Expander) handling 4.6 Discover process 4.6.1 Discover process overview 4.6.2 Starting the discover process (Broadcast (Change) handling) |
159 | 4.6.3 Discover process traversal |
161 | 4.6.4 Discover process in a self-configuring expander device |
162 | 4.6.5 Enabling multiplexing 4.7 Configuration subprocess 4.7.1 Configuration subprocess overview |
163 | 4.7.2 Allowed expander device topologies |
164 | 4.7.3 Externally configurable expander device route table optimization |
165 | 4.7.4 Externally configurable expander device expander route index order |
172 | 4.8 Zoning 4.8.1 Zoning overview |
176 | 4.8.2 Zoning expander device requirements |
179 | 4.8.3 Zoning operation 4.8.3.1 Zone phy information |
181 | 4.8.3.2 Zone groups |
182 | 4.8.3.3 Zone permission table |
184 | 4.8.3.4 Zoning expander route table |
185 | 4.8.3.5 Source zone group and destination zone group determination |
186 | 4.8.4 Zone phy information and link reset sequences |
189 | 4.8.5 Broadcast processing in a zoning expander device with zoning enabled |
190 | 4.8.6 Zone configuration 4.8.6.1 Zone configuration overview 4.8.6.2 Lock step |
191 | 4.8.6.3 Load step |
192 | 4.8.6.4 Activate step 4.8.6.5 Unlock step |
193 | 4.8.6.6 Zone lock inactivity timer 4.8.6.7 Enable a zoning expander device 4.9 SAS device and expander device power conditions |
194 | 4.10 Phy power conditions 4.10.1 Low phy power conditions 4.10.1.1 Low phy power conditions overview 4.10.1.2 Active phy power condition 4.10.1.3 Partial phy power condition 4.10.1.4 Slumber phy power condition |
195 | 4.10.1.5 End device low phy power conditions 4.10.1.6 Expander device low phy power conditions |
196 | 4.10.2 SATA phy power conditions 4.11 Phy test functions 4.11.1 Phy test functions overview |
197 | 4.11.2 Transmit pattern phy test function 4.12 Phy events |
202 | 4.13 Using POWER DISABLE signal to create a power on event 4.13.1 Using POWER DISABLE signal to create a power on event overview 4.13.2 Discovering POWER DISABLE signal support |
203 | 4.13.3 Using a management device server to control the POWER DISABLE signal |
204 | 5 Phy layer 5.1 Phy layer overview 5.2 8b10b coding 5.2.1 8b10b coding overview 5.2.2 8b10b coding notation conventions |
205 | 5.3 Character encoding and decoding 5.3.1 Character encoding and decoding overview 5.3.2 Bit transmission order 5.3.3 Character transmission order |
206 | 5.3.4 Frame transmission order 5.3.5 Running disparity (RD) 5.3.6 Data characters |
212 | 5.3.7 Control characters |
213 | 5.3.8 Encoding characters in the transmitter 5.3.9 Decoding characters in the receiver |
214 | 5.4 Dwords, primitives, data dwords, and invalid dwords 5.5 Bit order |
216 | 5.6 Out of band (OOB) signals 5.6.1 OOB signals overview |
217 | 5.6.2 Transmission of OOB signals |
218 | 5.6.3 Receiver detection of OOB signals |
220 | 5.6.4 SATA port selection signal 5.6.5 Phy power conditions 5.7 Phy capabilities bits |
224 | 5.8 BMC coding 5.8.1 BMC coding overview |
225 | 5.8.2 TTIU bit cell encoding in the transmitter |
226 | 5.8.3 TTIU bit transmission order 5.8.4 TTIU bit cell decoding in the receiver |
227 | 5.9 Train_Tx-SNW TTIUs 5.9.1 Train_Tx-SNW TTIU format |
228 | 5.9.2 Control/Status TTIU |
232 | 5.9.3 Error Response TTIU |
235 | 5.10 Phy reset sequences 5.10.1 Phy reset sequences overview |
236 | 5.10.2 SATA phy reset sequence 5.10.2.1 SATA OOB sequence 5.10.2.2 SATA speed negotiation sequence |
237 | 5.10.3 SAS to SATA phy reset sequence |
238 | 5.10.4 SAS to SAS phy reset sequence 5.10.4.1 SAS OOB sequence |
241 | 5.10.4.2 SAS speed negotiation sequence 5.10.4.2.1 SAS speed negotiation sequence overview |
242 | 5.10.4.2.2 SAS speed negotiation sequence timing specifications |
243 | 5.10.4.2.3 Speed negotiation window (SNW) definitions 5.10.4.2.3.1 SNW definitions overview |
244 | 5.10.4.2.3.2 SNW-1, SNW-2, and Final-SNW |
245 | 5.10.4.2.3.3 SNW-3 |
247 | 5.10.4.2.3.4 Train_Tx-SNW 5.10.4.2.3.4.1 Phy’s transmitter initial condition 5.10.4.2.3.4.2 Transmitter training |
248 | 5.10.4.2.3.4.3 Pattern marker |
250 | 5.10.4.2.3.5 Train_Rx-SNW |
253 | 5.10.4.2.4 SAS speed negotiation sequence |
254 | 5.10.4.2.5 SAS speed negotiation sequence examples |
262 | 5.10.4.2.6 Train_Tx pattern sequence 5.10.4.2.6.1 Train_Tx pattern sequence overview |
263 | 5.10.4.2.6.2 Train_Tx pattern initial sequence |
266 | 5.10.4.2.6.3 Train_Tx pattern handshake sequence 5.10.4.2.6.3.1 Train_Tx pattern handshake sequence overview 5.10.4.2.6.3.2 Attached phy’s receiver increment or decrement request |
269 | 5.10.4.2.6.3.3 Attached phy’s receiver reference_1, reference_2, or no_equalization request |
271 | 5.10.4.2.6.4 Train_Tx pattern completion sequence |
274 | 5.10.4.2.6.5 Invalid TTIU sequence |
275 | 5.10.4.3 Multiplexing sequence |
276 | 5.10.5 Phy reset sequence after devices are attached |
277 | 5.11 Phy power condition sequences 5.11.1 Transitioning from the active phy power condition to a low phy power condition |
278 | 5.11.2 Transitioning from a low phy power condition to the active phy power condition 5.11.3 Events during low phy power condition |
280 | 5.12 SP (phy layer) state machine 5.12.1 SP state machine overview |
282 | 5.12.2 SP transmitter and SP receiver |
285 | 5.12.3 OOB sequence states 5.12.3.1 OOB sequence states overview |
286 | 5.12.3.2 SP0:OOB_COMINIT state 5.12.3.2.1 State description |
287 | 5.12.3.2.2 Transition SP0:OOB_COMINIT to SP1:OOB_AwaitCOMX 5.12.3.2.3 Transition SP0:OOB_COMINIT to SP3:OOB_AwaitCOMINIT_Sent 5.12.3.2.4 Transition SP0:OOB_COMINIT to SP4:OOB_COMSAS 5.12.3.3 SP1:OOB_AwaitCOMX state 5.12.3.3.1 State description 5.12.3.3.2 Transition SP1:OOB_AwaitCOMX to SP0:OOB_COMINIT 5.12.3.3.3 Transition SP1:OOB_AwaitCOMX to SP4:OOB_COMSAS |
288 | 5.12.3.4 SP2:OOB_NoCOMSASTimeout state 5.12.3.4.1 State description 5.12.3.4.2 Transition SP2:OOB_NoCOMSASTimeout to SP0:OOB_COMINIT 5.12.3.4.3 Transition SP2:OOB_NoCOMSASTimeout to SP4:OOB_COMSAS 5.12.3.5 SP3:OOB_AwaitCOMINIT_Sent state 5.12.3.5.1 State description 5.12.3.5.2 Transition SP3:OOB_AwaitCOMINIT_Sent to SP4:OOB_COMSAS 5.12.3.6 SP4:OOB_COMSAS state 5.12.3.6.1 State description |
289 | 5.12.3.6.2 Transition SP4:OOB_COMSAS to SP5:OOB_AwaitCOMSAS_Sent 5.12.3.6.3 Transition SP4:OOB_COMSAS to SP6:OOB_AwaitNoCOMSAS 5.12.3.6.4 Transition SP4:OOB_COMSAS to SP7:OOB_AwaitCOMSAS 5.12.3.7 SP5:OOB_AwaitCOMSAS_Sent state 5.12.3.7.1 State description 5.12.3.7.2 Transition SP5:OOB_AwaitCOMSAS_Sent to SP6:OOB_AwaitNoCOMSAS 5.12.3.8 SP6:OOB_AwaitNoCOMSAS state 5.12.3.8.1 State description 5.12.3.8.2 Transition SP6:OOB_AwaitNoCOMSAS to SP0:OOB_COMINIT |
290 | 5.12.3.8.3 Transition SP6:OOB_AwaitNoCOMSAS to SP8:SAS_Start 5.12.3.9 SP7:OOB_AwaitCOMSAS state 5.12.3.9.1 State description 5.12.3.9.2 Transition SP7:OOB_AwaitCOMSAS to SP2:OOB_NoCOMSASTimeout 5.12.3.9.3 Transition SP7:OOB_AwaitCOMSAS to SP6:OOB_AwaitNoCOMSAS 5.12.3.9.4 Transition SP7:OOB_AwaitCOMSAS to SP16:SATA_COMWAKE 5.12.3.9.5 Transition SP7:OOB_AwaitCOMSAS to SP26:SATA _SpinupHold |
291 | 5.12.4 SAS speed negotiation states 5.12.4.1 SAS speed negotiation states overview 5.12.4.2 Negotiation idle |
294 | 5.12.4.3 SP8:SAS_Start state 5.12.4.3.1 State description 5.12.4.3.2 Transition SP8:SAS_Start to SP0:OOB_COMINIT |
295 | 5.12.4.3.3 Transition SP8:SAS_Start to SP1:OOB_AwaitCOMX 5.12.4.3.4 Transition SP8:SAS_Start to SP9:SAS_WindowNotSupported 5.12.4.3.5 Transition SP8:SAS_Start to SP10:SAS_AwaitALIGN 5.12.4.3.6 Transition SP8:SAS_Start to SP27:SAS_Settings 5.12.4.4 SP9:SAS_WindowNotSupported state 5.12.4.4.1 State description 5.12.4.4.2 Transition SP9:SAS_WindowNotSupported to SP0:OOB_COMINIT 5.12.4.4.3 Transition SP9:SAS_WindowNotSupported to SP14:SAS_Fail 5.12.4.5 SP10:SAS_AwaitALIGN state 5.12.4.5.1 State description |
296 | 5.12.4.5.2 Transition SP10:SAS_AwaitALIGN to SP0:OOB_COMINIT 5.12.4.5.3 Transition SP10:SAS_AwaitALIGN to SP11:SAS_AwaitALIGN1 5.12.4.5.4 Transition SP10:SAS_AwaitALIGN to SP12:SAS_AwaitSNW 5.12.4.5.5 Transition SP10:SAS_AwaitALIGN to SP14:SAS_Fail 5.12.4.6 SP11:SAS_AwaitALIGN1 state 5.12.4.6.1 State description 5.12.4.6.2 Transition SP11:SAS_AwaitALIGN1 to SP0:OOB_COMINIT 5.12.4.6.3 Transition SP11:SAS_AwaitALIGN1 to SP12:SAS_AwaitSNW 5.12.4.6.4 Transition SP11:SAS_AwaitALIGN1 to SP14:SAS_Fail |
297 | 5.12.4.7 SP12:SAS_AwaitSNW state 5.12.4.7.1 State description 5.12.4.7.2 Transition SP12:SAS_AwaitSNW to SP0:OOB_COMINIT 5.12.4.7.3 Transition SP12:SAS_AwaitSNW to SP13:SAS_Pass 5.12.4.8 SP13:SAS_Pass state 5.12.4.8.1 State description 5.12.4.8.2 Transition SP13:SAS_Pass to SP0:OOB_COMINIT 5.12.4.8.3 Transition SP13:SAS_Pass to SP8:SAS_Start |
298 | 5.12.4.8.4 Transition SP13:SAS_Pass to SP15:SAS_PHY_Ready 5.12.4.9 SP14:SAS_Fail state 5.12.4.9.1 State description 5.12.4.9.2 Transition SP14:SAS_Fail to SP1:OOB_AwaitCOMX 5.12.4.9.3 Transition SP14:SAS_Fail to SP8:SAS_Start 5.12.4.10 SP15:SAS_PHY_Ready state 5.12.4.10.1 State description |
299 | 5.12.4.10.2 Transition SP15:SAS_PHY_Ready to SP0:OOB_COMINIT 5.12.4.10.3 Transition SP15:SAS_PHY_Ready to SP31:SAS_PS_Low_Phy_Power 5.12.4.11 SP27:SAS_Settings state 5.12.4.11.1 State description 5.12.4.11.2 Transition SP27:SAS_Settings to SP0:OOB_COMINIT |
300 | 5.12.4.11.3 Transition SP27:SAS_Settings to SP1:OOB_AwaitCOMX 5.12.4.11.4 Transition SP27:SAS_Settings to SP8:SAS_Start 5.12.4.11.5 Transition SP27:SAS_Settings to SP28:SAS_TrainSetup 5.12.4.12 SP28:SAS_TrainSetup 5.12.4.12.1 State description |
301 | 5.12.4.12.2 Transition SP28:SAS_TrainSetup to SP0:OOB_COMINIT 5.12.4.12.3 Transition SP28:SAS_TrainSetup to SP29:SAS_Train_Rx 5.12.4.12.4 Transition SP28:SAS_TrainSetup to SP34:SAS_Train_Tx 5.12.4.13 SP34:SAS_Train_Tx state 5.12.4.13.1 State description 5.12.4.13.2 Transition SP34:SAS_Train_Tx to SP1:OOB_AwaitCOMX 5.12.4.13.3 Transition SP34:SAS_Train_Tx to SP28:SAS_TrainSetup |
302 | 5.12.4.13.4 Transition SP34:SAS_Train_Tx to SP29:SAS_Train_Rx 5.12.4.14 SP29:SAS_Train_Rx state 5.12.4.14.1 State description 5.12.4.14.2 Transition SP29:SAS_Train_Rx to SP0:OOB_COMINIT 5.12.4.14.3 Transition SP29:SAS_Train_Rx to SP1:OOB_AwaitCOMX |
303 | 5.12.4.14.4 Transition SP29:SAS_Train_Rx to SP28:SAS_TrainSetup 5.12.4.14.5 Transition SP29:SAS_Train_Rx to SP30:SAS_TrainingDone 5.12.4.15 SP30:SAS_TrainingDone state 5.12.4.15.1 State description 5.12.4.15.2 Transition SP30:SAS_TrainingDone to SP0:OOB_COMINIT |
304 | 5.12.4.15.3 Transition SP30:SAS_TrainingDone to SP1:OOB_AwaitCOMX 5.12.4.15.4 Transition SP30:SAS_TrainingDone to SP28:SAS_TrainSetup 5.12.4.15.5 Transition SP30:SAS_TrainingDone to SP15:SAS_PHY_Ready 5.12.5 SAS phy power conditions states 5.12.5.1 SAS phy power conditions states overview |
305 | 5.12.5.2 SP31:SAS_PS_Low_Phy_Power state 5.12.5.2.1 State description |
306 | 5.12.5.2.2 Transition SP31:SAS_PS_Low_Phy_Power to SP0:OOB_COMINIT 5.12.5.2.3 Transition SP31:SAS_PS_Low_Phy_Power to SP32:SAS_PS_ALIGN0 5.12.5.3 SP32:SAS_PS_ALIGN0 state 5.12.5.3.1 State description 5.12.5.3.2 Transition SP32:SAS_PS _ALIGN0 state to SP0:OOB_COMINIT |
307 | 5.12.5.3.3 Transition SP32:SAS_PS _ALIGN0 to SP33:SAS_PS _ALIGN1 5.12.5.4 SP33:SAS_PS_ALIGN1 state 5.12.5.4.1 State description 5.12.5.4.2 Transition SP33:SAS_PS_ALIGN1 state to SP0:OOB_COMINIT 5.12.5.4.3 Transition SP33:SAS_PS_ALIGN1 state to SP15:SAS_PHY_Ready 5.12.6 SATA host emulation states 5.12.6.1 SATA host emulation states overview |
309 | 5.12.6.2 SP16:SATA_COMWAKE state 5.12.6.2.1 State description 5.12.6.2.2 Transition SP16:SATA_COMWAKE to SP0:OOB_COMINIT 5.12.6.2.3 Transition SP16:SATA_COMWAKE to SP17:SATA_AwaitCOMWAKE 5.12.6.3 SP17:SATA_AwaitCOMWAKE state 5.12.6.3.1 State description 5.12.6.3.2 Transition SP17:SATA_AwaitCOMWAKE to SP0:OOB_COMINIT 5.12.6.3.3 Transition SP17:SATA_AwaitCOMWAKE to SP18:SATA_AwaitNoCOMWAKE 5.12.6.4 SP18:SATA_AwaitNoCOMWAKE state 5.12.6.4.1 State description 5.12.6.4.2 Transition SP18:SATA_AwaitNoCOMWAKE to SP0:OOB_COMINIT 5.12.6.4.3 Transition SP18:SATA_AwaitNoCOMWAKE to SP19:SATA_AwaitALIGN |
310 | 5.12.6.5 SP19:SATA_AwaitALIGN state 5.12.6.5.1 State description 5.12.6.5.2 Transition SP19:SATA_AwaitALIGN to SP0:OOB_COMINIT 5.12.6.5.3 Transition SP19:SATA_AwaitALIGN to SP20:SATA_AdjustSpeed 5.12.6.6 SP20:SATA_AdjustSpeed state 5.12.6.6.1 State description 5.12.6.6.2 Transition SP20:SATA_AdjustSpeed to SP0:OOB_COMINIT |
311 | 5.12.6.6.3 Transition SP20:SATA_AdjustSpeed to SP21:SATA_TransmitALIGN 5.12.6.7 SP21:SATA_TransmitALIGN state 5.12.6.7.1 State description 5.12.6.7.2 Transition SP21:SATA_TransmitALIGN to SP0:OOB_COMINIT 5.12.6.7.3 Transition SP21:SATA_TransmitALIGN to SP22:SATA_PHY_Ready 5.12.6.8 SP22:SATA_PHY_Ready state 5.12.6.8.1 State description 5.12.6.8.2 Transition SP22:SATA_PHY_Ready to SP0:OOB_COMINIT |
312 | 5.12.6.8.3 Transition SP22:SATA_PHY_Ready to SP23:SATA_PM_Partial 5.12.6.8.4 Transition SP22:SATA_PHY_Ready to SP24:SATA_PM_Slumber 5.12.6.9 SP23:SATA_PM_Partial state 5.12.6.9.1 State description 5.12.6.9.2 Transition SP23:SATA_PM_Partial to SP0:OOB_COMINIT 5.12.6.9.3 Transition SP23:SATA_PM_Partial to SP16:SATA_COMWAKE 5.12.6.9.4 Transition SP23:SATA_PM_Partial to SP19:SATA_AwaitALIGN 5.12.6.10 SP24:SATA_PM_Slumber state 5.12.6.10.1 State description 5.12.6.10.2 Transition SP24:SATA_PM_Slumber to SP0:OOB_COMINIT |
313 | 5.12.6.10.3 Transition SP24:SATA_PM_Slumber to SP16:SATA_COMWAKE 5.12.6.10.4 Transition SP24:SATA_PM_Slumber to SP19:SATA_AwaitALIGN 5.12.7 SATA port selector state SP25:SATA_PortSel 5.12.7.1 State description 5.12.7.2 Transition SP25:SATA_PortSel to SP1:OOB_AwaitCOMX |
314 | 5.12.8 SATA spinup hold state SP26:SATA_SpinupHold 5.12.8.1 State description 5.12.8.2 Transition SP26:SATA_SpinupHold to SP0:OOB_COMINIT 5.13 SP_DWS (phy layer dword synchronization) state machine 5.13.1 SP_DWS state machine overview |
316 | 5.13.2 SP_DWS receiver |
317 | 5.13.3 SP_DWS0:AcquireSync state 5.13.3.1 State description 5.13.3.2 Transition SP_DWS0:AcquireSync to SP_DWS1:Valid1 |
318 | 5.13.4 SP_DWS1:Valid1 state 5.13.4.1 State description 5.13.4.2 Transition SP_DWS1:Valid1 to SP_DWS0:AcquireSync 5.13.4.3 Transition SP_DWS1:Valid1 to SP_DWS2:Valid2 5.13.5 SP_DWS2:Valid2 state 5.13.5.1 State description 5.13.5.2 Transition SP_DWS2:Valid2 to SP_DWS0:AcquireSync 5.13.5.3 Transition SP_DWS2:Valid2 to SP_DWS3:SyncAcquired 5.13.6 SP_DWS3:SyncAcquired state 5.13.6.1 State description |
319 | 5.13.6.2 Transition SP_DWS3:SyncAcquired to SP_DWS0:AcquireSync 5.13.6.3 Transition SP_DWS3:SyncAcquired to SP_DWS4:Lost1 5.13.7 SP_DWS4:Lost1 state 5.13.7.1 State description 5.13.7.2 Transition SP_DWS4:Lost1 to SP_DWS0:AcquireSync 5.13.7.3 Transition SP_DWS4:Lost1 to SP_DWS5:Lost1Recovered 5.13.7.4 Transition SP_DWS4:Lost1 to SP_DWS6:Lost2 5.13.8 SP_DWS5:Lost1Recovered state 5.13.8.1 State description 5.13.8.2 Transition SP_DWS5:Lost1Recovered to SP_DWS0:AcquireSync |
320 | 5.13.8.3 Transition SP_DWS5:Lost1Recovered to SP_DWS3:SyncAcquired 5.13.8.4 Transition SP_DWS5:Lost1Recovered to SP_DWS6:Lost2 5.13.9 SP_DWS6:Lost2 state 5.13.9.1 State description 5.13.9.2 Transition SP_DWS6:Lost2 to SP_DWS0:AcquireSync 5.13.9.3 Transition SP_DWS6:Lost2 to SP_DWS7:Lost2Recovered 5.13.9.4 Transition SP_DWS6:Lost2 to SP_DWS8:Lost3 5.13.10 SP_DWS7:Lost2Recovered state 5.13.10.1 State description 5.13.10.2 Transition SP_DWS7:Lost2Recovered to SP_DWS0:AcquireSync |
321 | 5.13.10.3 Transition SP_DWS7:Lost2Recovered to SP_DWS4:Lost1 5.13.10.4 Transition SP_DWS7:Lost2Recovered to SP_DWS8:Lost3 5.13.11 SP_DWS8:Lost3 state 5.13.11.1 State description 5.13.11.2 Transition SP_DWS8:Lost3 to SP_DWS0:AcquireSync 5.13.11.3 Transition SP_DWS8:Lost3 to SP_DWS9:Lost3Recovered 5.13.12 SP_DWS9:Lost3Recovered state 5.13.12.1 State description 5.13.12.2 Transition SP_DWS9:Lost3Recovered to SP_DWS0:AcquireSync |
322 | 5.13.12.3 Transition SP_DWS9:Lost3Recovered to SP_DWS6:Lost2 5.14 PTT (phy layer transmitter training) state machines 5.14.1 PTT state machines overview 5.14.2 SP transmitter additions for transmitter training 5.14.2.1 SP transmitter additions for transmitter training overview |
323 | 5.14.2.2 TTIU transmit setup 5.14.2.3 No_equalization, reference_1, and reference_2 coefficient settings request 5.14.2.4 Coefficient limits 5.14.2.5 Coefficient request result of update complete 5.14.2.5.1 Coefficient request processing |
324 | 5.14.2.5.2 Coefficient adjustment completes 5.14.2.5.3 No coefficient adjustment 5.14.2.6 Coefficient request result of maximum 5.14.2.6.1 Coefficient request processing |
325 | 5.14.2.6.2 Coefficient adjustment completes 5.14.2.6.3 No coefficient adjustment 5.14.2.7 Coefficient request result of minimum 5.14.2.7.1 Coefficient request processing 5.14.2.7.2 Coefficient adjustment completes 5.14.2.7.3 No coefficient adjustment |
326 | 5.14.3 SP receiver additions for transmitter training |
327 | 5.14.4 PTT_T (phy layer transmitter training transmit pattern) state machine 5.14.4.1 PTT_T state machine overview |
329 | 5.14.4.2 PTT_T0:Idle state 5.14.4.2.1 State description 5.14.4.2.2 Transition PTT_T0:Idle to PTT_T1:Initialize 5.14.4.3 PTT_T1:Initialize state 5.14.4.3.1 State description 5.14.4.3.2 Transition PTT_T1:Initialize to PTT_T0:Idle |
330 | 5.14.4.3.3 Transition PTT_T1:Initialize to PTT_T2:Tx_Training 5.14.4.4 PTT_T2:Tx_Training state 5.14.4.4.1 State description 5.14.4.4.2 Entry conditions |
331 | 5.14.4.4.3 Control word and status word mappings |
332 | 5.14.4.4.4 Error message handling 5.14.4.4.5 Resetting attached phy’s transmitter |
333 | 5.14.4.4.6 Local phy’s transmitter and attached phy’s transmitter training completed 5.14.4.4.7 Transition PTT_T2:Tx_Training to PTT_T0:Idle |
334 | 5.14.4.4.8 Transition PTT_T2:Tx_Training to PTT_T3:Local_Tx_Training 5.14.4.5 PTT_T3:Local_Tx_Training state 5.14.4.5.1 State description 5.14.4.5.2 Entry conditions 5.14.4.5.3 Status word mappings 5.14.4.5.4 Local phy’s transmitter and attached phy’s transmitter training completed |
335 | 5.14.4.5.5 Error message handling 5.14.4.5.6 Transition PTT_T3:Local_Tx_Training to PTT_T0:Idle 5.14.5 PTT_R (phy layer transmitter training receive pattern) state machine 5.14.5.1 PTT_R state machine overview |
337 | 5.14.5.2 PTT_R0:Idle state 5.14.5.2.1 State description 5.14.5.2.2 Transition PTT_R0:Idle to PTT_R1:Initialize 5.14.5.3 PTT_R1:Initialize state 5.14.5.3.1 State description 5.14.5.3.2 Transition PTT_R1:Initialize to PTT_R0:Idle 5.14.5.3.3 Transition PTT_R1:Initialize to PTT_R2:Receive_Train_Tx_Pattern 5.14.5.4 PTT_R2:Receive_Train_Tx_Pattern state 5.14.5.4.1 State description |
343 | 5.14.5.4.2 Transition PTT_R2:Receive_Train_Tx_Pattern to PTT_R0:Idle 5.14.5.4.3 Transition PTT_R2:Receive_Train_Tx_Pattern to PTT_R1:Initialize 5.14.6 PTT_SC (phy layer transmitter training set transmitter coefficient) state machines 5.14.6.1 PTT_SC (phy layer transmitter training set transmitter coefficient) state machines overview |
345 | 5.14.6.2 PTT_SC1 state machine overview 5.14.6.3 PTT_SC1_0:Idle state 5.14.6.3.1 State description 5.14.6.3.2 Transition PTT_SC1_0:Idle to PTT_SC1_1:Wait_Inc_Dec 5.14.6.4 PTT_SC1_1:Wait_Inc_Dec state 5.14.6.4.1 State description 5.14.6.4.2 Transition PTT_SC1_1:Wait_Inc_Dec to PTT_SC1_0:Idle 5.14.6.4.3 Transition PTT_SC1_1:Wait_Inc_Dec to PTT_SC1_2:Set_Coefficient |
346 | 5.14.6.5 PTT_SC1_2:Set_Coefficient state 5.14.6.5.1 State description |
347 | 5.14.6.5.2 Transition PTT_SC1_2:Set_Coefficient to PTT_SC1_0:Idle 5.14.6.5.3 Transition PTT_SC1_2:Set_Coefficient to PTT_SC1_3:Wait_Hold 5.14.6.6 PTT_SC1_3:Wait_Hold state 5.14.6.6.1 State description 5.14.6.6.2 Transition PTT_SC1_3:Wait_Hold to PTT_SC1_0:Idle 5.14.6.6.3 Transition PTT_SC1_3:Wait_Hold to PTT_SC1_1:Wait_Inc_Dec 5.14.7 PTT_SC2 (phy layer transmitter training set transmitter coefficient 2) state machine |
348 | 5.14.8 PTT_SC3 (phy layer transmitter training set transmitter coefficient 3) state machine 5.14.9 PTT_GC (phy layer transmitter training get transmitter coefficient) state machines 5.14.9.1 PTT_GC (phy layer transmitter training get transmitter coefficient) state machines overview |
349 | 5.14.9.2 PTT_GC1 state machine |
350 | 5.14.9.3 PTT_GC1_0:Idle state 5.14.9.3.1 State description 5.14.9.3.2 Transition PTT_GC1_0:Idle to PTT_GC1_1:Get_Coefficient 5.14.9.4 PTT_GC1_1:Get_Coefficient state 5.14.9.4.1 State description 5.14.9.4.2 Transition PTT_GC1_1:Get_Coefficient to PTT_GC1_0:Idle 5.14.9.4.3 Transition PTT_GC1_1:Get_Coefficient to PTT_GC1_2:Wait_Restart |
351 | 5.14.9.5 PTT_GC1_2:Wait_Restart state 5.14.9.5.1 State description 5.14.9.5.2 Transition PTT_GC1_2:Wait_Restart to PTT_GC1_0:Idle 5.14.10 PTT_GC2 (phy layer transmitter training get transmitter coefficient 2) state machine 5.14.11 PTT_GC3 (phy layer transmitter training get transmitter coefficient 3) state machine |
352 | 5.14.12 PTT_PL (phy layer transmitter training pattern lock) state machine 5.14.12.1 PTT_PL state machine overview |
353 | 5.14.12.2 PTT_PL0:Idle state 5.14.12.2.1 State description |
354 | 5.14.12.2.2 Transition PTT_PL0:Idle to PTT_PL1:Acquire_Lock 5.14.12.3 PTT_PL1:Acquire_Lock state 5.14.12.3.1 State description 5.14.12.3.2 Transition PTT_PL1:Acquire_Lock to PTT_PL2:Valid 5.14.12.4 PTT_PL2:Valid state 5.14.12.4.1 State description 5.14.12.4.2 Transition PTT_PL2:Valid to PTT_PL1:Acquire_Lock 5.14.12.4.3 Transition PTT_PL2:Valid to PTT_PL3:Lock_Acquired 5.14.12.5 PTT_PL3:Lock_Acquired state 5.14.12.5.1 State description 5.14.12.5.2 Transition PTT_PL3:Lock_Acquired to PTT_PL4:Lost1 |
355 | 5.14.12.6 PTT_PL4:Lost1 state 5.14.12.6.1 State description 5.14.12.6.2 Transition PTT_PL4:Lost1 to PTT_PL3:Lock_Acquired 5.14.12.6.3 Transition PTT_PL4:Lost1 to PTT_PL5:Lost2 5.14.12.7 PTT_PL5:Lost2 state 5.14.12.7.1 State description 5.14.12.7.2 Transition PTT_PL5:Lost2 to PTT_PL3:Lock_Acquired 5.14.12.7.3 Transition PTT_PL5:Lost2 to PTT_PL6:Lost3 5.14.12.8 PTT_PL6:Lost3 state 5.14.12.8.1 State description 5.14.12.8.2 Transition PTT_PL6:Lost3 to PTT_PL3:Lock_Acquired 5.14.12.8.3 Transition PTT_PL6:Lost3 to PTT_PL7:Lost4 5.14.12.9 PTT_PL7:Lost4 state 5.14.12.9.1 State description |
356 | 5.14.12.9.2 Transition PTT_PL7:Lost4 to PTT_PL3:Lock_Acquired 5.14.12.9.3 Transition PTT_PL7:Lost4 to PTT_PL1:Acquire_Lock 5.15 Multiplexing |
357 | 5.16 Spinup |
358 | 6 Link layer 6.1 Link layer overview 6.2 Primitives 6.2.1 Primitives overview |
359 | 6.2.2 Primitive summary |
368 | 6.2.3 Primitive encodings |
373 | 6.2.4 Primitive sequences 6.2.4.1 Primitive sequences overview 6.2.4.2 Single primitive sequence 6.2.4.3 Repeated primitive sequence |
374 | 6.2.4.4 Continued primitive sequence 6.2.4.5 Extended primitive sequence |
375 | 6.2.4.6 Triple primitive sequence |
376 | 6.2.4.7 Redundant primitive sequence |
377 | 6.2.5 Deletable primitives 6.2.5.1 ALIGN |
378 | 6.2.5.2 MUX (Multiplex) |
379 | 6.2.5.3 NOTIFY 6.2.5.3.1 NOTIFY overview 6.2.5.3.2 NOTIFY (ENABLE SPINUP) |
380 | 6.2.5.3.3 NOTIFY (POWER LOSS EXPECTED) |
381 | 6.2.5.4 OOB_IDLE 6.2.6 Primitives not specific to type of connections 6.2.6.1 AIP (Arbitration in progress) 6.2.6.2 BREAK |
382 | 6.2.6.3 BREAK_REPLY 6.2.6.4 BROADCAST 6.2.6.5 CLOSE |
383 | 6.2.6.6 EOAF (End of address frame) 6.2.6.7 ERROR 6.2.6.8 HARD_RESET 6.2.6.9 OPEN_ACCEPT 6.2.6.10 OPEN_REJECT |
386 | 6.2.6.11 PS_ACK 6.2.6.12 PS_NAK 6.2.6.13 PS_REQ 6.2.6.14 PWR_ACK 6.2.6.15 PWR_DONE 6.2.6.16 PWR_GRANT 6.2.6.17 PWR_REQ |
387 | 6.2.6.18 SOAF (Start of address frame) 6.2.6.19 TRAIN 6.2.6.20 TRAIN_DONE 6.2.7 Primitives used only inside SSP and SMP connections 6.2.7.1 ACK (Acknowledge) 6.2.7.2 CREDIT_BLOCKED 6.2.7.3 DONE |
388 | 6.2.7.4 EOF (End of frame) 6.2.7.5 EXTEND_CONNECTION 6.2.7.6 NAK (Negative acknowledgement) |
389 | 6.2.7.7 RRDY (Receiver ready) 6.2.7.8 SOF (Start of frame) 6.2.8 Primitives used only inside STP connections and on SATA physical links 6.2.8.1 SATA_ERROR |
390 | 6.2.8.2 SATA_PMACK, SATA_PMNAK, SATA_PMREQ_P, and SATA_PMREQ_S (Power management acknowledgements and requests) 6.2.8.3 SATA_HOLD and SATA_HOLDA (Hold and hold acknowledge) 6.2.8.4 SATA_R_RDY and SATA_X_RDY (Receiver ready and transmitter ready) 6.2.8.5 Other primitives used inside STP connections and on SATA physical links 6.3 Physical link rate tolerance management 6.3.1 Physical link rate tolerance management overview |
391 | 6.3.2 Phys originating dwords |
392 | 6.3.3 Expander phys forwarding dwords |
393 | 6.4 Idle physical links 6.5 CRC 6.5.1 CRC overview |
395 | 6.5.2 CRC generation |
397 | 6.5.3 CRC checking |
398 | 6.6 Scrambling |
400 | 6.7 Bit order of CRC and scrambler |
403 | 6.8 Address frames 6.8.1 Address frames overview |
405 | 6.8.2 IDENTIFY address frame |
409 | 6.8.3 OPEN address frame |
413 | 6.9 Link reset sequence 6.9.1 Link reset sequence overview |
416 | 6.9.2 Expander device handling of link reset sequences 6.10 SL_IR (link layer identification and hard reset) state machines 6.10.1 SL_IR state machines overview |
418 | 6.10.2 SL_IR transmitter and receiver 6.10.3 SL_IR_TIR (transmit IDENTIFY or HARD_RESET) state machine 6.10.3.1 SL_IR_TIR state machine overview |
419 | 6.10.3.2 SL_IR_TIR1:Idle state 6.10.3.2.1 State description 6.10.3.2.2 Transition SL_IR_TIR1:Idle to SL_IR_TIR2:Transmit_Identify 6.10.3.2.3 Transition SL_IR_TIR1:Idle to SL_IR_TIR3:Transmit_Hard_Reset 6.10.3.3 SL_IR_TIR2:Transmit_Identify state 6.10.3.3.1 State description 6.10.3.3.2 Transition SL_IR_TIR2:Transmit_Identify to SL_IR_TIR4:Completed 6.10.3.4 SL_IR_TIR3:Transmit_Hard_Reset state 6.10.3.4.1 State description 6.10.3.4.2 Transition SL_IR_TIR3:Transmit_Hard_Reset to SL_IR_TIR4:Completed |
420 | 6.10.3.5 SL_IR_TIR4:Completed state 6.10.4 SL_IR_RIF (receive IDENTIFY address frame) state machine 6.10.4.1 SL_IR_RIF state machine overview 6.10.4.2 SL_IR_RIF1:Idle state 6.10.4.2.1 State description 6.10.4.2.2 Transition SL_IR_RIF1:Idle to SL_IR_RIF2:Receive_Identify_Frame 6.10.4.3 SL_IR_RIF2:Receive_Identify_Frame state 6.10.4.3.1 State description |
421 | 6.10.4.3.2 Transition SL_IR_RIF2:Receive_Identify_Frame to SL_IR_RIF3:Completed 6.10.4.4 SL_IR_RIF3:Completed state 6.10.5 SL_IR_IRC (identification and hard reset control) state machine 6.10.5.1 SL_IR_IRC state machine overview 6.10.5.2 SL_IR_IRC1:Idle state 6.10.5.2.1 State description 6.10.5.2.2 Transition SL_IR_IRC1:Idle to SL_IR_IRC2:Wait 6.10.5.3 SL_IR_IRC2:Wait state 6.10.5.3.1 State description |
422 | 6.10.5.3.2 Transition SL_IR_IRC2:Wait to SL_IR_IRC3:Completed 6.10.5.4 SL_IR_IRC3:Completed state |
423 | 6.11 Entering a low phy power condition 6.12 Power control and SL_P (link layer power control) state machines 6.12.1 Power source device |
424 | 6.12.2 Power consumer device 6.12.3 NOTIFY (ENABLE SPINUP) usage |
425 | 6.12.4 SL_P_S (link layer power source device) state machine 6.12.4.1 SL_P_S state machine overview |
426 | 6.12.4.2 SL_P_S transmitter and SL_P_S receiver |
427 | 6.12.4.3 SL_P_S_1:Idle state 6.12.4.3.1 State description 6.12.4.3.2 Transition SL_P_S_1:Idle to SL_P_S_2:Wait_Grant 6.12.4.4 SL_P_S_2:Wait_Grant state 6.12.4.4.1 State description |
428 | 6.12.4.4.2 Transition SL_P_S_2:Wait_Grant to SL_P_S_1:Idle 6.12.4.4.3 Transition SL_P_S_2:Wait_Grant to SL_P_S_3:Wait_Done 6.12.4.5 SL_P_S_3:Wait_Done state 6.12.4.5.1 State description |
429 | 6.12.4.5.2 Transition SL_P_S_3:Wait_Done to SL_P_S_1:Idle 6.12.5 SL_P_C (link layer power consumer device) state machine 6.12.5.1 SL_P_C state machine overview |
431 | 6.12.5.2 SL_P_C receiver 6.12.5.3 SL_P_C_1:Idle state 6.12.5.3.1 State description 6.12.5.3.2 Transition SL_P_C_1:Idle to SL_P_C_2:Request_Power 6.12.5.4 SL_P_C_2:Request_Power state 6.12.5.4.1 State description |
432 | 6.12.5.4.2 Transition SL_P_C_2:Request_Power to SL_P_C_1:Idle 6.12.5.4.3 Transition SL_P_C_2:Request_Power to SL_P_C_3:Wait_Grant 6.12.5.4.4 Transition SL_P_C_2:Request_Power to SL_P_C_4:Wait_Done 6.12.5.5 SL_P_C_3:Wait_Grant state 6.12.5.5.1 State description |
433 | 6.12.5.5.2 Transition SL_P_C_3:Wait_Grant to SL_P_C_1:Idle 6.12.5.5.3 Transition SL_P_C_3:Wait_Grant to SL_P_C_4:Wait_Done 6.12.5.6 SL_P_C_4:Wait_Done state 6.12.5.6.1 State description 6.12.5.6.2 Transition SL_P_C_4:Wait_Done to SL_P_C_1:Idle |
434 | 6.13 SAS domain changes (Broadcast (Change) usage) |
435 | 6.14 Connections 6.14.1 Connections overview 6.14.2 Opening a connection 6.14.2.1 Connection request |
437 | 6.14.2.2 Results of a connection request 6.14.3 Arbitration fairness |
438 | 6.14.4 Arbitration inside an expander device 6.14.4.1 Expander logical phy arbitration requirements |
439 | 6.14.4.2 ECM arbitration requirements 6.14.4.2.1 ECM arbitration requirements overview |
440 | 6.14.4.2.2 Arbitrating confirmations 6.14.4.2.3 Arb Won confirmation |
441 | 6.14.4.2.4 Arb Lost confirmation 6.14.4.2.5 Arb Reject confirmation |
442 | 6.14.4.3 Arbitration status 6.14.4.4 Partial Pathway Timeout timer |
443 | 6.14.4.5 Pathway recovery 6.14.5 BREAK handling |
444 | 6.14.6 Aborting a connection request |
446 | 6.14.7 Expander device request for an SSP connection close 6.14.8 Closing a connection |
447 | 6.14.9 Breaking a connection |
448 | 6.15 Rate matching |
451 | 6.16 SL (link layer for SAS logical phys) state machines 6.16.1 SL state machines overview |
454 | 6.16.2 SL transmitter and receiver |
456 | 6.16.3 SL_RA (receive OPEN address frame) state machine 6.16.4 SL_CC (connection control) state machine 6.16.4.1 SL_CC state machine overview |
458 | 6.16.4.2 SL_CC0:Idle state 6.16.4.2.1 State description |
460 | 6.16.4.2.2 Transition SL_CC0:Idle to SL_CC1:ArbSel 6.16.4.2.3 Transition SL_CC0:Idle to SL_CC2:Selected |
461 | 6.16.4.2.4 Transition SL_CC0:Idle to SL_CC8:PS_Request 6.16.4.2.5 Transition SL_CC0:Idle to SL_CC9:PS_Quiet 6.16.4.3 SL_CC1:ArbSel state 6.16.4.3.1 State description |
463 | 6.16.4.3.2 Transition SL_CC1:ArbSel to SL_CC0:Idle 6.16.4.3.3 Transition SL_CC1:ArbSel to SL_CC2:Selected 6.16.4.3.4 Transition SL_CC1:ArbSel to SL_CC3:Connected |
464 | 6.16.4.3.5 Transition SL_CC1:ArbSel to SL_CC5:BreakWait 6.16.4.3.6 Transition SL_CC1:ArbSel to SL_CC6:Break 6.16.4.4 SL_CC2:Selected state 6.16.4.4.1 State description |
465 | 6.16.4.4.2 Transition SL_CC2:Selected to SL_CC0:Idle 6.16.4.4.3 Transition SL_CC2:Selected to SL_CC3:Connected 6.16.4.4.4 Transition SL_CC2:Selected to SL_CC5:BreakWait |
466 | 6.16.4.4.5 Transition SL_CC2:Selected to SL_CC6:Break 6.16.4.5 SL_CC3:Connected state 6.16.4.5.1 State description 6.16.4.5.2 Transition SL_CC3:Connected to SL_CC4:DisconnectWait |
467 | 6.16.4.5.3 Transition SL_CC3:Connected to SL_CC5:BreakWait 6.16.4.5.4 Transition SL_CC3:Connected to SL_CC6:Break 6.16.4.5.5 Transition SL_CC3:Connected to SL_CC7:CloseSTP 6.16.4.6 SL_CC4:DisconnectWait state 6.16.4.6.1 State description 6.16.4.6.2 Transition SL_CC4:DisconnectWait to SL_CC0:Idle |
468 | 6.16.4.6.3 Transition SL_CC4:DisconnectWait to SL_CC5:BreakWait 6.16.4.6.4 Transition SL_CC4:DisconnectWait to SL_CC6:Break 6.16.4.7 SL_CC5:BreakWait state 6.16.4.7.1 State description 6.16.4.7.2 Transition SL_CC5:BreakWait to SL_CC0:Idle 6.16.4.8 SL_CC6:Break state 6.16.4.8.1 State description |
469 | 6.16.4.8.2 Transition SL_CC6:Break to SL_CC0:Idle 6.16.4.9 SL_CC7:CloseSTP state 6.16.4.9.1 State description 6.16.4.9.2 Transition SL_CC7:CloseSTP to SL_CC0:Idle 6.16.4.10 SL_CC8:PS_Request state 6.16.4.10.1 State description |
470 | 6.16.4.10.2 Transition SL_CC8:PS_Request to SL_CC9:PS_Quiet 6.16.4.10.3 Transition SL_CC8:PS_Request to SL_CC0:Idle |
471 | 6.16.4.10.4 Transition SL_CC8:PS_Request to SL_CC2:Selected 6.16.4.11 SL_CC9:PS_Quiet state 6.16.4.11.1 State description 6.16.4.11.2 Transition SL_CC9:PS_Quiet to SL_CC0:Idle 6.16.4.11.3 Transition SL_CC9:PS_Quiet to SL_CC1:ArbSel |
472 | 6.17 XL (link layer for expander logical phys) state machine 6.17.1 XL state machine overview |
478 | 6.17.2 XL transmitter and receiver |
480 | 6.17.3 XL0:Idle state 6.17.3.1 State description |
481 | 6.17.3.2 Transition XL0:Idle to XL1:Request_Path 6.17.3.3 Transition XL0:Idle to XL5:Forward_Open 6.17.3.3.1 Transition XL0:Idle to XL11:PS_Request |
482 | 6.17.3.3.2 Transition XL0:Idle to XL12:PS_Quiet 6.17.4 XL1:Request_Path state 6.17.4.1 State description |
483 | 6.17.4.2 Transition XL1:Request_Path to XL0:Idle 6.17.4.3 Transition XL1:Request_Path to XL2:Request_Open 6.17.4.4 Transition XL1:Request_Path to XL4:Open_Reject 6.17.4.5 Transition XL1:Request_Path to XL5:Forward_Open |
484 | 6.17.4.6 Transition XL1:Request_Path to XL9:Break 6.17.5 XL2:Request_Open state 6.17.5.1 State description 6.17.5.2 Transition XL2:Request_Open to XL3:Open_Confirm_Wait 6.17.6 XL3:Open_Confirm_Wait state 6.17.6.1 State description |
485 | 6.17.6.2 Transition XL3:Open_Confirm_Wait to XL0:Idle 6.17.6.3 Transition XL3:Open_Confirm_Wait to XL1:Request_Path 6.17.6.4 Transition XL3:Open_Confirm_Wait to XL5:Forward_Open |
486 | 6.17.6.5 Transition XL3:Open_Confirm_Wait to XL7:Connected 6.17.6.6 Transition XL3:Open_Confirm_Wait to XL9:Break 6.17.6.7 Transition XL3:Open_Confirm_Wait to XL10:Break_Wait 6.17.7 XL4:Open_Reject state 6.17.7.1 State description 6.17.7.2 Transition XL4:Open_Reject to XL0:Idle 6.17.7.3 Transition XL4:Open_Reject to XL5:Forward_Open 6.17.8 XL5:Forward_Open state 6.17.8.1 State description |
487 | 6.17.8.2 Transition XL5:Forward_Open to XL6:Open_Response_Wait 6.17.9 XL6:Open_Response_Wait state 6.17.9.1 State description |
488 | 6.17.9.2 Transition XL6:Open_Response_Wait to XL0:Idle 6.17.9.3 Transition XL6:Open_Response_Wait to XL1:Request_Path 6.17.9.4 Transition XL6:Open_Response_Wait to XL2:Request_Open |
489 | 6.17.9.5 Transition XL6:Open_Response_Wait to XL7:Connected 6.17.9.6 Transition XL6:Open_Response_Wait to XL9:Break 6.17.9.7 Transition XL6:Open_Response_Wait to XL10:Break_Wait 6.17.10 XL7:Connected state 6.17.10.1 State description |
490 | 6.17.10.2 Transition XL7:Connected to XL8:Close_Wait 6.17.10.3 Transition XL7:Connected to XL9:Break 6.17.10.4 Transition XL7:Connected to XL10:Break_Wait |
491 | 6.17.11 XL8:Close_Wait state 6.17.11.1 State description 6.17.11.2 Transition XL8:Close_Wait to XL0:Idle 6.17.11.3 Transition XL8:Close_Wait to XL9:Break |
492 | 6.17.11.4 Transition XL8:Close_Wait to XL10:Break_Wait 6.17.12 XL9:Break state 6.17.12.1 State description 6.17.12.2 Transition XL9:Break to XL0:Idle 6.17.13 XL10:Break_Wait state 6.17.13.1 State description 6.17.13.2 Transition XL10:Break_Wait to XL0:Idle 6.17.14 XL11:PS_Request state 6.17.14.1 State description |
493 | 6.17.14.2 Transition XL11:PS_Request to XL12:PS_Quiet |
494 | 6.17.14.3 Transition XL11:PS_Request to XL0:Idle 6.17.14.4 Transition XL11:PS_Request to XL1:Request_Path 6.17.15 XL12:PS_Quiet state 6.17.15.1 State description 6.17.15.2 Transition XL12:PS_Quiet to XL0:Idle |
495 | 6.18 SSP link layer 6.18.1 Opening an SSP connection 6.18.2 Full duplex |
496 | 6.18.3 SSP frame transmission and reception 6.18.4 SSP flow control |
497 | 6.18.5 Extending an SSP connection with persistent connections 6.18.6 Interlocked frames |
499 | 6.18.7 Breaking an SSP connection |
500 | 6.18.8 Closing an SSP connection |
501 | 6.18.9 SSP (link layer for SSP phys) state machines 6.18.9.1 SSP state machines overview |
505 | 6.18.9.2 SSP transmitter and receiver |
507 | 6.18.9.3 SSP_TIM (transmit interlocked frame monitor) state machine 6.18.9.4 SSP_TCM (transmit frame credit monitor) state machine |
508 | 6.18.9.5 SSP_D (DONE control) state machine |
509 | 6.18.9.6 SSP_TF (transmit frame control) state machine 6.18.9.6.1 SSP_TF state machine overview |
510 | 6.18.9.6.2 SSP_TF1:Connected_Idle state 6.18.9.6.2.1 State description 6.18.9.6.2.2 Transition SSP_TF1:Connected_Idle to SSP_TF2:Tx_Wait 6.18.9.6.2.3 Transition SSP_TF1:Connected_Idle to SSP_TF4:Transmit_DONE 6.18.9.6.3 SSP_TF2:Tx_Wait state 6.18.9.6.3.1 State description |
511 | 6.18.9.6.3.2 Transition SSP_TF2:Tx_Wait to SSP_TF3:Transmit_Frame 6.18.9.6.3.3 Transition SSP_TF2:Tx_Wait to SSP_TF4:Transmit_DONE 6.18.9.6.4 SSP_TF3:Transmit_Frame state 6.18.9.6.4.1 State description 6.18.9.6.4.2 Transition SSP_TF3:Transmit_Frame to SSP_TF1:Connected_Idle |
512 | 6.18.9.6.5 SSP_TF4:Transmit_DONE state 6.18.9.7 SSP_RF (receive frame control) state machine |
513 | 6.18.9.8 SSP_RCM (receive frame credit monitor) state machine |
514 | 6.18.9.9 SSP_RIM (receive interlocked frame monitor) state machine 6.18.9.10 SSP_TC (transmit credit control) state machine 6.18.9.11 SSP_TAN (transmit ACK/NAK control) state machine |
515 | 6.18.9.12 SSP_EM (establish and manage persistent connection) state machine 6.18.9.12.1 SSP_EM state machine overview 6.18.9.12.2 SSP_EM1:Establish state |
516 | 6.18.9.12.3 Transition SSP_EM1:Establish to SSP_EM2:Manage 6.18.9.12.4 SSP_EM2:Manage 6.18.9.12.5 Transition SSP_EM2:Manage to SSP_EM1:Establish |
517 | 6.19 STP link layer 6.19.1 STP frame transmission and reception 6.19.2 STP flow control 6.19.2.1 STP flow control overview 6.19.2.2 SATA frame buffering |
518 | 6.19.2.3 STP flow control buffer size |
519 | 6.19.2.4 STP flow control example |
521 | 6.19.2.5 STP insufficient buffer support 6.19.3 Continued primitive sequence |
522 | 6.19.4 Affiliations |
524 | 6.19.5 Opening an STP connection |
527 | 6.19.6 Closing an STP connection 6.19.7 STP connection management examples |
530 | 6.19.8 STP (link layer for STP phys) state machines 6.19.9 SMP target port support 6.20 SMP link layer 6.20.1 SMP frame transmission and reception 6.20.2 SMP flow control 6.20.3 Opening an SMP connection |
531 | 6.20.4 Closing an SMP connection 6.20.5 SMP (link layer for SMP phys) state machines 6.20.5.1 SMP state machines overview 6.20.5.2 SMP transmitter and receiver |
532 | 6.20.5.3 SMP_IP (link layer for SMP initiator phys) state machine 6.20.5.3.1 SMP_IP state machine overview |
533 | 6.20.5.3.2 SMP_IP1:Idle state 6.20.5.3.2.1 State description 6.20.5.3.2.2 Transition SMP_IP1:Idle to SMP_IP2:Transmit_Frame 6.20.5.3.3 SMP_IP2:Transmit_Frame state 6.20.5.3.3.1 State description 6.20.5.3.3.2 Transition SMP_IP2:Transmit_Frame to SMP_IP3:Receive_Frame 6.20.5.3.4 SMP_IP3:Receive_Frame state |
534 | 6.20.5.4 SMP_TP (link layer for SMP target phys) state machine 6.20.5.4.1 SMP_TP state machine overview |
535 | 6.20.5.4.2 SMP_TP1:Receive_Frame state 6.20.5.4.2.1 State description |
536 | 6.20.5.4.2.2 Transition SMP_TP1:Receive_Frame to SMP_TP2:Transmit_Frame 6.20.5.4.3 SMP_TP2:Transmit_Frame state |
537 | 7 Port layer 7.1 Port layer overview 7.2 PL (port layer) state machines 7.2.1 PL state machines overview |
539 | 7.2.2 PL_OC (port layer overall control) state machine 7.2.2.1 PL_OC state machine overview |
541 | 7.2.2.2 PL_OC1:Idle state 7.2.2.2.1 PL_OC1:Idle state description |
542 | 7.2.2.2.2 Transition PL_OC1:Idle to PL_OC2:Overall_Control 7.2.2.3 PL_OC2:Overall_Control state 7.2.2.3.1 PL_OC2:Overall_Control state overview 7.2.2.3.2 PL_OC2: Non-connection specific confirmations and requests 7.2.2.3.2.1 PL_OC2: Transmit Frame request |
543 | 7.2.2.3.2.2 PL_OC2: HARD_RESET Received confirmation 7.2.2.3.2.3 PL_OC2: Notify Received (Power Loss Expected) confirmation 7.2.2.3.2.4 PL_OC2: Phy Disabled confirmation |
544 | 7.2.2.3.2.5 PL_OC2: Start I_T Nexus Loss Timer request 7.2.2.3.3 PL_OC2:Overall_Control state establishing connections |
548 | 7.2.2.3.4 PL_OC2:Overall_Control state connection established 7.2.2.3.5 PL_OC2:Overall_Control state unable to establish a connection — Unable To Connect message 7.2.2.3.6 PL_OC2:Overall_Control state unable to establish a connection — Unable To Connect message – Retry Open message processed as an Unable To Connect message |
549 | 7.2.2.3.7 PL_OC2:Overall_Control state unable to establish a connection — I_T Nexus Loss timer expires 7.2.2.3.8 PL_OC2:Overall_Control state – I_T nexus loss event 7.2.2.3.9 PL_OC2:Overall_Control state connection management |
551 | 7.2.2.3.10 PL_OC2:Overall_Control state frame transmission |
552 | 7.2.2.3.11 PL_OC2:Overall_Control state frame transmission cancellations 7.2.2.3.12 Transition PL_OC2:Overall_Control to PL_OC1:Idle |
553 | 7.2.3 PL_PM (port layer phy manager) state machine 7.2.3.1 PL_PM state machine overview |
556 | 7.2.3.2 PL_PM1:Idle state 7.2.3.2.1 PL_PM1:Idle state description 7.2.3.2.2 Transition PL_PM1:Idle to PL_PM2:Req_Wait 7.2.3.2.3 Transition PL_PM1:Idle to PL_PM3:Connected 7.2.3.3 PL_PM2:Req_Wait state 7.2.3.3.1 PL_PM2:Req_Wait state overview 7.2.3.3.2 PL_PM2:Req_Wait establishing a connection |
557 | 7.2.3.3.3 PL_PM2:Req_Wait connection established 7.2.3.3.4 PL_PM2:Req_Wait unable to establish a connection |
559 | 7.2.3.3.5 PL_PM2:Req_Wait connection management 7.2.3.3.6 Transition PL_PM2:Req_Wait to PL_PM1:Idle 7.2.3.3.7 Transition PL_PM2:Req_Wait to PL_PM3:Connected 7.2.3.3.8 Transition PL_PM2:Req_Wait to PL_PM4:Wait_For_Close 7.2.3.4 PL_PM3:Connected state 7.2.3.4.1 PL_PM3:Connected state description |
563 | 7.2.3.4.2 Transition PL_PM3:Connected to PL_PM1:Idle 7.2.3.5 PL_PM4:Wait_For_Close state 7.2.3.5.1 PL_PM4:Wait_For_Close state description 7.2.3.5.2 Transition PL_PM4:Wait_For_Close to PL_PM1:Idle |
564 | 8 Transport layer 8.1 Transport layer overview |
565 | 8.2 SSP transport layer 8.2.1 SSP frame format |
569 | 8.2.2 Information units 8.2.2.1 COMMAND frame – Command information unit |
570 | 8.2.2.2 TASK frame – Task Management Function information unit |
573 | 8.2.2.3 XFER_RDY frame – Transfer Ready information unit |
574 | 8.2.2.4 DATA frame – Data information unit |
576 | 8.2.2.5 RESPONSE frame – Response information unit 8.2.2.5.1 RESPONSE frame – Response information unit overview |
577 | 8.2.2.5.2 Response information unit – NO_DATA format 8.2.2.5.3 Response information unit – RESPONSE_DATA format |
578 | 8.2.2.5.4 Response information unit – SENSE_DATA format |
579 | 8.2.3 Sequences of SSP frames 8.2.3.1 Sequences of SSP frames overview |
580 | 8.2.3.2 Task management function sequence of SSP frames 8.2.3.3 Non-data command sequence of SSP frames |
581 | 8.2.3.4 Write command sequence of SSP frames 8.2.3.5 Read command sequence of SSP frames |
582 | 8.2.3.6 Bidirectional command sequence of SSP frames 8.2.4 SSP transport layer handling of link layer errors 8.2.4.1 SSP transport layer handling of link layer errors overview |
583 | 8.2.4.2 COMMAND frame – handling of link layer errors |
584 | 8.2.4.3 TASK frame – handling of link layer errors 8.2.4.4 XFER_RDY frame – handling of link layer errors 8.2.4.4.1 XFER_RDY frame overview 8.2.4.4.2 XFER_RDY frame with transport layer retries enabled |
585 | 8.2.4.4.3 XFER_RDY frame with transport layer retries disabled 8.2.4.5 Read DATA frame – handling of link layer errors 8.2.4.5.1 Read DATA frame overview 8.2.4.5.2 Read DATA frame with transport layer retries enabled |
586 | 8.2.4.5.3 Read DATA frame with transport layer retries disabled 8.2.4.6 Write DATA frame – handling of link layer errors 8.2.4.6.1 Write DATA frame overview 8.2.4.6.2 Write DATA frame with transport layer retries enabled |
587 | 8.2.4.6.3 Write DATA frame with transport layer retries disabled 8.2.4.7 RESPONSE frame – handling of link layer errors 8.2.5 SSP transport layer error handling summary 8.2.5.1 SSP transport layer error handling summary introduction 8.2.5.2 SSP initiator port transport layer error handling summary |
588 | 8.2.5.3 SSP target port transport layer error handling summary |
589 | 8.2.6 ST (transport layer for SSP ports) state machines 8.2.6.1 ST state machines overview |
590 | 8.2.6.2 ST_I (transport layer for SSP initiator ports) state machines 8.2.6.2.1 ST_I state machines overview |
592 | 8.2.6.2.2 ST_IFR (initiator frame router) state machine 8.2.6.2.2.1 ST_IFR state machine overview 8.2.6.2.2.2 Processing transport protocol service requests |
593 | 8.2.6.2.2.3 Processing Frame Received confirmations |
594 | 8.2.6.2.2.4 Processing Transmission Complete and Reception Complete messages |
595 | 8.2.6.2.2.5 Processing miscellaneous requests |
596 | 8.2.6.2.3 ST_ITS (initiator transport server) state machine 8.2.6.2.3.1 ST_ITS state machine overview |
597 | 8.2.6.2.3.2 ST_ITS1:Initiator_Start state 8.2.6.2.3.2.1 State description 8.2.6.2.3.2.2 Transition ST_ITS1:Initiator_Start to ST_ITS3:Prepare_Command 8.2.6.2.3.2.3 Transition ST_ITS1:Initiator_Start to ST_ITS4:Prepare_Task 8.2.6.2.3.3 ST_ITS2:Initiator_Send_Frame state |
601 | 8.2.6.2.3.3.1 Transition ST_ITS2:Initiator_Send_Frame to ST_ITS1:Initiator_Start 8.2.6.2.3.3.2 Transition ST_ITS2:Initiator_Send_Frame to ST_ITS5:Prepare_Data_Out |
602 | 8.2.6.2.3.3.3 Transition ST_ITS2:Initiator_Send_Frame to ST_ITS6:Receive_Data_In 8.2.6.2.3.4 ST_ITS3:Prepare_Command state 8.2.6.2.3.4.1 State description 8.2.6.2.3.4.2 Transition ST_ITS3:Prepare_Command to ST_ITS2:Initiator_Send_Frame |
603 | 8.2.6.2.3.5 ST_ITS4:Prepare_Task state 8.2.6.2.3.5.1 State description 8.2.6.2.3.5.2 Transition ST_ITS4:Prepare_Task to ST_ITS2:Initiator_Send_Frame 8.2.6.2.3.6 ST_ITS5:Prepare_Data_Out state 8.2.6.2.3.6.1 State description |
604 | 8.2.6.2.3.6.2 Transition ST_ITS5:Prepare_Data_Out to ST_ITS2:Intiator_Send_Frame 8.2.6.2.3.7 ST_ITS6:Receive_Data_In state 8.2.6.2.3.7.1 State description |
606 | 8.2.6.2.3.7.2 Transition ST_ITS6:Receive_Data_In to ST_ITS1:Initiator_Start 8.2.6.2.3.7.3 Transition ST_ITS6:Receive_Data_In to ST_ITS2:Initiator_Send_Frame 8.2.6.3 ST_T (transport layer for SSP target ports) state machines 8.2.6.3.1 ST_T state machines overview |
608 | 8.2.6.3.2 ST_TFR (target frame router) state machine 8.2.6.3.2.1 ST_TFR state machine overview 8.2.6.3.2.2 Processing Frame Received confirmations |
610 | 8.2.6.3.2.3 Processing transport protocol service requests and responses |
614 | 8.2.6.3.2.4 Processing miscellaneous requests and confirmations 8.2.6.3.3 ST_TTS (target transport server) state machine 8.2.6.3.3.1 ST_TTS state machine overview |
615 | 8.2.6.3.3.2 ST_TTS1:Target_Start state 8.2.6.3.3.2.1 State description |
616 | 8.2.6.3.3.2.2 Transition ST_TTS1:Target_Start to ST_TTS3:Prepare_Data_In 8.2.6.3.3.2.3 Transition ST_TTS1:Target_Start to ST_TTS4:Prepare_Xfer_Rdy 8.2.6.3.3.2.4 Transition ST_TTS1:Target_Start to ST_TTS5:Receive_Data_Out 8.2.6.3.3.2.5 Transition ST_TTS1:Target_Start to ST_TTS7:Prepare_Response 8.2.6.3.3.3 ST_TTS2:Target_Send_Frame state 8.2.6.3.3.3.1 State description |
620 | 8.2.6.3.3.3.2 Transition ST_TTS2:Target_Send_Frame to ST_TTS1:Target_Start 8.2.6.3.3.3.3 Transition ST_TTS2:Target_Send_Frame to ST_TTS3:Prepare_Data_In 8.2.6.3.3.3.4 Transition ST_TTS2:Target_Send_Frame to ST_TTS5:Receive_Data_Out |
621 | 8.2.6.3.3.4 ST_TTS3:Prepare_Data_In state 8.2.6.3.3.4.1 State description |
622 | 8.2.6.3.3.4.2 Transition ST_TTS3:Prepare_Data_In to ST_TTS2:Target_Send_Frame 8.2.6.3.3.5 ST_TTS4:Prepare_Xfer_Rdy state 8.2.6.3.3.5.1 State description |
623 | 8.2.6.3.3.5.2 Transition ST_TTS4:Prepare_Xfer_Rdy to ST_TTS2:Target_Send_Frame 8.2.6.3.3.6 ST_TTS5:Receive_Data_Out state 8.2.6.3.3.6.1 State description |
624 | 8.2.6.3.3.6.2 Transition ST_TTS5:Receive_Data_Out to ST_TTS1:Target_Start 8.2.6.3.3.6.3 Transition ST_TTS5:Receive_Data_Out to ST_TTS4:Prepare_Xfer_Rdy |
625 | 8.2.6.3.3.7 ST_TTS6:Prepare_Response state 8.2.6.3.3.7.1 State description |
626 | 8.2.6.3.3.7.2 Transition ST_TTS6:Prepare_Response to ST_TTS2:Target_Send_Frame 8.3 STP transport layer 8.3.1 Initial FIS |
627 | 8.3.2 BIST Activate FIS 8.3.3 TT (transport layer for STP ports) state machines 8.4 SMP transport layer 8.4.1 SMP transport layer overview |
628 | 8.4.2 SMP_REQUEST frame 8.4.3 SMP_RESPONSE frame |
629 | 8.4.4 Sequence of SMP frames 8.4.5 MT (transport layer for SMP ports) state machines 8.4.5.1 SMP transport layer state machines overview 8.4.5.2 MT_IP (transport layer for SMP initiator ports) state machine 8.4.5.2.1 MT_IP state machine overview |
630 | 8.4.5.2.2 MT_IP1:Idle state 8.4.5.2.2.1 State description 8.4.5.2.2.2 Transition MT_IP1:Idle to MT_IP2:Send |
631 | 8.4.5.2.3 MT_IP2:Send state 8.4.5.2.3.1 State description 8.4.5.2.3.2 Transition MT_IP2:Send to MT_IP1:Idle 8.4.5.2.3.3 Transition MT_IP2:Send to MT_IP3:Receive 8.4.5.2.4 MT_IP3:Receive state 8.4.5.2.4.1 State description 8.4.5.2.4.2 Transition MT_IP3:Receive to MT_IP1:Idle |
632 | 8.4.5.3 MT_TP (transport layer for SMP target ports) state machine 8.4.5.3.1 MT_TP state machine overview 8.4.5.3.2 MT_TP1:Idle state 8.4.5.3.2.1 State description |
633 | 8.4.5.3.2.2 Transition MT_TP1:Idle to MT_TP2:Respond 8.4.5.3.3 MT_TP2:Respond state 8.4.5.3.3.1 State description 8.4.5.3.3.2 Transition MT_TP2:Respond to MT_TP1:Idle |
634 | 9 Application layer 9.1 Application layer overview 9.2 SCSI application layer 9.2.1 SCSI transport protocol services 9.2.1.1 SCSI transport protocol services overview |
636 | 9.2.1.2 Send SCSI Command transport protocol service |
637 | 9.2.1.3 SCSI Command Received transport protocol service |
638 | 9.2.1.4 Send Command Complete transport protocol service |
639 | 9.2.1.5 Command Complete Received transport protocol service |
640 | 9.2.1.6 Send Data-In transport protocol service |
641 | 9.2.1.7 Data-In Delivered transport protocol service 9.2.1.8 Receive Data-Out transport protocol service |
642 | 9.2.1.9 Data-Out Received transport protocol service |
643 | 9.2.1.10 Terminate Data Transfer transport protocol service 9.2.1.11 Data Transfer Terminated transport protocol service 9.2.1.12 Send Task Management Request transport protocol service |
644 | 9.2.1.13 Task Management Request Received transport protocol service |
645 | 9.2.1.14 Task Management Function Executed transport protocol service |
646 | 9.2.1.15 Received Task Management Function Executed transport protocol service |
647 | 9.2.2 SCSI application client error handling |
648 | 9.2.3 SCSI device server error handling 9.2.3.1 SCSI Command Received () error handling 9.2.3.2 Data-Out Received () error handling |
649 | 9.2.4 Task router and task manager error handling 9.2.5 SCSI transport protocol services for event notifications |
650 | 9.2.6 SCSI commands 9.2.6.1 INQUIRY command 9.2.6.2 LOG SELECT and LOG SENSE commands 9.2.6.3 MODE SELECT and MODE SENSE commands 9.2.6.4 SEND DIAGNOSTIC and RECEIVE DIAGNOSTIC RESULTS commands 9.2.6.5 START STOP UNIT command |
651 | 9.2.7 SCSI mode parameters 9.2.7.1 SCSI mode parameters overview 9.2.7.2 Disconnect-Reconnect mode page 9.2.7.2.1 Disconnect-Reconnect mode page overview |
653 | 9.2.7.2.2 bus inactivity limit field 9.2.7.2.3 connect time limit field 9.2.7.2.4 maximum burst size field |
654 | 9.2.7.2.5 first burst size field 9.2.7.3 Protocol Specific Logical Unit mode page |
655 | 9.2.7.4 Protocol Specific Port mode page |
657 | 9.2.7.5 Phy Control And Discover mode page |
661 | 9.2.7.6 Shared Port Control mode page |
662 | 9.2.7.7 Enhanced Phy Control mode page |
665 | 9.2.8 SCSI log parameters 9.2.8.1 Protocol Specific Port log page |
667 | 9.2.8.2 Protocol Specific Port log parameter for SAS target ports |
670 | 9.2.9 SCSI diagnostic parameters 9.2.9.1 SCSI diagnostic parameters overview |
671 | 9.2.9.2 Protocol Specific diagnostic page |
677 | 9.2.9.3 Enclosure Control diagnostic page 9.2.9.4 Enclosure Status diagnostic page |
678 | 9.2.9.5 Additional Element Status diagnostic page 9.2.10 SCSI power conditions 9.2.10.1 SCSI power conditions overview 9.2.10.2 SA_PC (SCSI application layer power condition) state machine 9.2.10.2.1 SA_PC state machine overview |
682 | 9.2.10.2.2 SA_PC_0:Powered_On state 9.2.10.2.2.1 State description 9.2.10.2.2.2 Transition SA_PC_0:Powered_On to SA_PC_4:Active_Wait 9.2.10.2.2.3 Transition SA_PC_0:Powered_On to SA_PC_8:Stopped 9.2.10.2.3 SA_PC_1:Active state 9.2.10.2.3.1 State description 9.2.10.2.3.2 Transition SA_PC_1:Active to SA_PC_5:Wait_Idle 9.2.10.2.3.3 Transition SA_PC_1:Active to SA_PC_6:Wait_Standby 9.2.10.2.3.4 Transition SA_PC_1:Active to SA_PC_10:Wait_Stopped 9.2.10.2.4 SA_PC_2:Idle state 9.2.10.2.4.1 State description 9.2.10.2.4.2 Transition SA_PC_2:Idle to SA_PC_4:Active_Wait |
683 | 9.2.10.2.4.3 Transition SA_PC_2:Idle to SA_PC_5:Wait_Idle 9.2.10.2.4.4 Transition SA_PC_2:Idle to SA_PC_6:Wait_Standby 9.2.10.2.4.5 Transition SA_PC_2:Idle to SA_PC_7:Idle_Wait 9.2.10.2.4.6 Transition SA_PC_2:Idle to SA_PC_10:Wait_Stopped 9.2.10.2.5 SA_PC_3:Standby state 9.2.10.2.5.1 State description 9.2.10.2.5.2 Transition SA_PC_3:Standby to SA_PC_4:Active_Wait 9.2.10.2.5.3 Transition SA_PC_3:Standby to SA_PC_6:Wait_Standby 9.2.10.2.5.4 Transition SA_PC_3:Standby to SA_PC_7:Idle_Wait 9.2.10.2.5.5 Transition SA_PC_3:Standby to SA_PC_9: Standby_Wait |
684 | 9.2.10.2.5.6 Transition SA_PC_3:Standby to SA_PC_10:Wait_Stopped 9.2.10.2.6 SA_PC_4:Active_Wait state 9.2.10.2.6.1 State description |
686 | 9.2.10.2.6.2 Transition SA_PC_4:Active_Wait to SA_PC_1:Active 9.2.10.2.7 SA_PC_5:Wait_Idle state 9.2.10.2.7.1 SA_PC_5:Wait_Idle state description 9.2.10.2.7.2 Transition SA_PC_5:Wait_Idle to SA_PC_2:Idle 9.2.10.2.8 SA_PC_6:Wait_Standby state 9.2.10.2.8.1 SA_PC_6:Wait_Standby state description 9.2.10.2.8.2 Transition SA_PC_6:Wait_Standby to SA_PC_3:Standby 9.2.10.2.9 SA_PC_7:Idle_Wait state 9.2.10.2.9.1 State description |
688 | 9.2.10.2.9.2 Transition SA_PC_7:Idle_Wait to SA_PC_2:Idle 9.2.10.2.10 SA_PC_8:Stopped state 9.2.10.2.10.1 State description 9.2.10.2.10.2 Transition SA_PC_8:Stopped to SA_PC_4:Active_Wait 9.2.10.2.10.3 Transition SA_PC_8:Stopped to SA_PC_7:Idle_Wait 9.2.10.2.10.4 Transition SA_PC_8:Stopped to SA_PC_9:Standby_Wait 9.2.10.2.11 SA_PC_9:Standby_Wait state 9.2.10.2.11.1 SA_PC_9:Standby_Wait state description 9.2.10.2.11.2 Transition SA_PC_9:Standby_Wait to SA_PC_3:Standby 9.2.10.2.12 SA_PC_10:Wait_Stopped state 9.2.10.2.12.1 SA_PC_10:Wait_Stopped state description 9.2.10.2.12.2 Transition SA_PC_10:Wait_Stopped to SA_PC_8:Stopped |
689 | 9.2.11 SCSI vital product data (VPD) 9.2.11.1 SCSI vital product data (VPD) overview 9.2.11.2 Device Identification VPD page |
690 | 9.2.11.3 Protocol Specific Logical Unit Information VPD page |
692 | 9.2.11.4 Protocol Specific Port Information VPD page |
695 | 9.3 ATA application layer 9.4 Management application layer 9.4.1 READY LED signal behavior |
697 | 9.4.2 Management protocol services 9.4.3 SMP functions 9.4.3.1 SMP functions overview |
700 | 9.4.3.2 SMP function request frame format 9.4.3.2.1 SMP function request frame format overview 9.4.3.2.2 smp frame type field 9.4.3.2.3 function field 9.4.3.2.4 allocated response length field |
701 | 9.4.3.2.5 request length field 9.4.3.2.6 Additional request bytes |
702 | 9.4.3.2.7 crc field 9.4.3.3 SMP function response frame format 9.4.3.3.1 SMP function response frame format overview |
703 | 9.4.3.3.2 smp frame type field 9.4.3.3.3 function field 9.4.3.3.4 function result field |
711 | 9.4.3.3.5 response length field 9.4.3.3.6 Additional response bytes |
712 | 9.4.3.3.7 crc field 9.4.3.4 REPORT GENERAL function |
719 | 9.4.3.5 REPORT MANUFACTURER INFORMATION function |
723 | 9.4.3.6 REPORT SELF-CONFIGURATION STATUS function 9.4.3.6.1 REPORT SELF-CONFIGURATION STATUS function overview 9.4.3.6.2 REPORT SELF-CONFIGURATION STATUS request |
725 | 9.4.3.6.3 REPORT SELF-CONFIGURATION STATUS response |
727 | 9.4.3.6.4 Self-configuration status descriptor |
729 | 9.4.3.7 REPORT ZONE PERMISSION TABLE function 9.4.3.7.1 REPORT ZONE PERMISSION TABLE function overview |
730 | 9.4.3.7.2 REPORT ZONE PERMISSION TABLE request |
732 | 9.4.3.7.3 REPORT ZONE PERMISSION TABLE response |
733 | 9.4.3.7.4 Zone permission descriptor |
734 | 9.4.3.8 REPORT ZONE MANAGER PASSWORD function |
737 | 9.4.3.9 REPORT BROADCAST function 9.4.3.9.1 REPORT BROADCAST function overview 9.4.3.9.2 REPORT BROADCAST request |
739 | 9.4.3.9.3 REPORT BROADCAST response |
740 | 9.4.3.9.4 Broadcast descriptor |
742 | 9.4.3.10 DISCOVER function |
760 | 9.4.3.11 REPORT PHY ERROR LOG function |
763 | 9.4.3.12 REPORT PHY SATA function |
767 | 9.4.3.13 REPORT ROUTE INFORMATION function |
770 | 9.4.3.14 REPORT PHY EVENT function 9.4.3.14.1 REPORT PHY EVENT function overview |
771 | 9.4.3.14.2 REPORT PHY EVENT request |
772 | 9.4.3.14.3 REPORT PHY EVENT response |
773 | 9.4.3.14.4 Phy event descriptor |
774 | 9.4.3.15 DISCOVER LIST function 9.4.3.15.1 DISCOVER LIST function overview |
775 | 9.4.3.15.2 DISCOVER LIST request |
777 | 9.4.3.15.3 DISCOVER LIST response |
779 | 9.4.3.15.4 DISCOVER LIST response SHORT FORMAT descriptor |
780 | 9.4.3.16 REPORT PHY EVENT LIST function 9.4.3.16.1 REPORT PHY EVENT LIST function overview 9.4.3.16.2 REPORT PHY EVENT LIST request |
781 | 9.4.3.16.3 REPORT PHY EVENT LIST response |
783 | 9.4.3.16.4 Phy event list descriptor 9.4.3.17 REPORT EXPANDER ROUTE TABLE LIST function 9.4.3.17.1 REPORT EXPANDER ROUTE TABLE LIST function overview |
784 | 9.4.3.17.2 REPORT EXPANDER ROUTE TABLE LIST request |
786 | 9.4.3.17.3 REPORT EXPANDER ROUTE TABLE LIST response |
788 | 9.4.3.17.4 Expander route table descriptor 9.4.3.18 CONFIGURE GENERAL function |
792 | 9.4.3.19 ENABLE DISABLE ZONING function |
795 | 9.4.3.20 ZONED BROADCAST function |
798 | 9.4.3.21 ZONE LOCK function |
801 | 9.4.3.22 ZONE ACTIVATE function |
802 | 9.4.3.23 ZONE UNLOCK function |
804 | 9.4.3.24 CONFIGURE ZONE MANAGER PASSWORD function |
807 | 9.4.3.25 CONFIGURE ZONE PHY INFORMATION function 9.4.3.25.1 CONFIGURE ZONE PHY INFORMATION function overview |
808 | 9.4.3.25.2 CONFIGURE ZONE PHY INFORMATION request |
810 | 9.4.3.25.3 Zone phy configuration descriptor 9.4.3.25.4 CONFIGURE ZONE PHY INFORMATION response |
811 | 9.4.3.26 CONFIGURE ZONE PERMISSION TABLE function 9.4.3.26.1 CONFIGURE ZONE PERMISSION TABLE function overview |
812 | 9.4.3.26.2 CONFIGURE ZONE PERMISSION TABLE request |
814 | 9.4.3.26.3 Zone permission configuration descriptor |
815 | 9.4.3.26.4 CONFIGURE ZONE PERMISSION TABLE response |
816 | 9.4.3.27 CONFIGURE ROUTE INFORMATION function |
819 | 9.4.3.28 PHY CONTROL function |
828 | 9.4.3.29 PHY TEST FUNCTION function |
832 | 9.4.3.30 CONFIGURE PHY EVENT function 9.4.3.30.1 CONFIGURE PHY EVENT function overview |
833 | 9.4.3.30.2 CONFIGURE PHY EVENT request |
834 | 9.4.3.30.3 Phy event configuration descriptor |
835 | 9.4.3.30.4 CONFIGURE PHY EVENT response |
836 | Annexes Annex A (normative) Jitter tolerance patterns A.1 Jitter tolerance pattern (JTPAT) A.2 Compliant jitter tolerance pattern (CJTPAT) |
844 | A.3 Considerations for a phy transmitting JTPAT and CJTPAT A.4 Considerations for a phy receiving JTPAT and CJTPAT |
846 | Annex B (informative) SAS to SAS phy reset sequence examples |
851 | Annex C (informative) CRC C.1 CRC generator and checker implementation examples C.2 CRC implementation in C |
853 | C.3 CRC implementation with XORs |
854 | C.4 CRC examples |
855 | Annex D (informative) SAS address hashing D.1 SAS address hashing overview D.2 Hash collision probability |
856 | D.3 Hash generation D.4 Hash implementation in C |
857 | D.5 Hash implementation with XORs |
858 | D.6 Hash examples |
862 | Annex E (informative) Scrambling E.1 Scrambler implementation example E.2 Scrambler implementation in C |
863 | E.3 Scrambler implementation with XORs |
864 | E.4 Scrambler examples |
867 | Annex F (informative) ATA architectural notes F.1 STP differences from Serial ATA (SATA) F.2 STP differences from Serial ATA II F.3 Affiliation policies F.3.1 Affiliation policies overview |
868 | F.3.2 Affiliation policy for static STP initiator port to STP target port mapping F.3.3 Affiliation policy with SATA queued commands and multiple STP initiator ports F.3.4 Applicability of affiliation for STP target ports F.4 SATA port selector considerations |
869 | F.5 SATA device not transmitting initial Register Device-to-Host FIS |
870 | Annex G (informative) Minimum deletable primitive insertion rate summary |
871 | Annex H (informative) Zone permission configuration descriptor examples |
874 | Annex I (informative) SAS addressing I.1 SAS addressing in SAS domains I.2 Expander device SAS addresses |
875 | Annex J (informative) Expander device handling of connections J.1 Expander device handling of connections overview |
877 | J.2 Connection request – OPEN_ACCEPT |
878 | J.3 Connection request – OPEN_REJECT by end device |
879 | J.4 Connection request – OPEN_REJECT by expander device |
880 | J.5 Connection request – arbitration lost |
881 | J.6 Connection request – backoff and retry |
882 | J.7 Connection request – backoff and reverse path |
883 | J.8 Connection close – single step |
884 | J.9 Connection close – simultaneous |
885 | J.10 BREAK handling during path arbitration when the BREAK_REPLY method is disabled |
886 | J.11 BREAK handling during connection when the BREAK_REPLY method is disabled |
887 | J.12 BREAK handling during path arbitration when the BREAK_REPLY method is enabled |
888 | J.13 BREAK handling during connection when BREAK_REPLY method is enabled |
889 | J.14 STP connection – originated by STP initiator port |
890 | J.15 STP connection – originated by STP target port in an STP SATA bridge |
891 | J.16 STP connection close – originated by STP initiator port |
892 | J.17 STP connection close – originated by STP target port in an STP SATA bridge |
893 | J.18 Connection request – XL1:Request_Path to XL5:Forward_Open transition |
894 | J.19 Pathway blocked and pathway recovery example |
896 | Annex K (informative) Primitive encoding |
899 | Annex L (informative) Standards bodies contact information |
900 | Annex M (informative) Successful low phy power condition handshake sequence |
903 | Bibliography |