Serial Attached SCSI Comparison to Fibre Channel with FCP

Similar documents
8 January r3 SAS-2 More counters

17 March r1 SAM-4 SAS-2 QUERY UNIT ATTENTION task management function

03-186r3r3 SAS-1.1 Transport layer retries 25 October 2003

03-186r5 SAS-1.1 Transport layer retries 13 January 2004

04-172r1 SAS-2 More counters 11 September 2005

9 January r0 SAS-2 SPC-4 Enabling and disabling Transport Layer Retries

Serial Attached SCSI Physical layer

Item 2) In clause PL_OC2:Overall_Control state frame transmission cancellations: change the text to be as follows:

Serial Attached SCSI Link layer part 2

T10/06-119r0 SAS-2 BREAK_REPLY 28 February 2006

16 July r1 SAS-2 Add device slot numbering fields to DISCOVER

T10/03-186r2 SAS-1.1 Transport layer retries

Table 21. OOB signal transmitter requirements Idle time minimum. maximum 175 ns

24 October r2 SAS-2 Support multiple STP affiliations

Overview The OOB timing requirements need to be more precise, listing the transmit burst time and specifying receiver tolerances.

SERIAL ATTACHED SCSI (SAS) CONSORTIUM

2 May r2 SAS-2 WWN-based Attached Device Name for SATA

04-372r0 SAM-4 SPC-3 SAS-1.1 I_T NEXUS LOSS task management function 5 November 2004

Overview of Store-and-Forward Expander Device Operation

04-372r1 SAM-4 SPC-4 SAS-1.1 I_T NEXUS RESET task management function 13 November 2004

Table 21. OOB signal transmitter requirements Idle time minimum. maximum 175 ns

SAS AND SATA PROTOCOL SOLUTIONS FOR TESTING AND VERIFICATION. SAS InFusion TM and SATA InFusion TM Error Injector and Traffic Modifier

12 January r1 SAS2: ST_TTS retransmitted DATA frames

04-340r0 SAS-1.1 OPEN_REJECT BAD DESTINATION handling 18 October 2004

04-374r2 SES-2 Define a SAS Expander element 13 January 2005

14 June r1 SAS-2 Spread-spectrum clocking

Storage Protocol Analyzers: Not Just for R & D Anymore. Brandy Barton, Medusa Labs - Finisar

10.2 SCSI application layer

T10/03-229r1 SAS-1.1 Transport layer retries ladder diagrams

04-340r1 SAS-1.1 OPEN_REJECT BAD DESTINATION handling 24 December 2004

17 March r1 SAM-4 SAS-2 QUERY TASK SET task management function

MAU3036RC, MAU3073RC, MAU3147RC SERIES MAV2036RC, MAV2073RC SERIES DISK DRIVES SERIAL ATTACHED SCSI INTERFACE SPECIFICATIONS

SERIAL ATTACHED SCSI (SAS) CONSORTIUM

T10/03-229r0 SAS-1.1 Transport layer retries ladder diagrams

INTERNATIONAL STANDARD

04-352r0 SAS-1.1 Phy test functions for SMP 29 October 2004

As a result of proposal r2 (SAS-2 STP connection time limits and STP/SMP I_T nexus loss) a REQUEST

Fibre Channel Arbitrated Loop

SASTracer / Trainer. SASTracer/Trainer Overview

Intel Storage System JBOD 2000S3 Product Family

04-247r0 SAS-1.1 XL6 and idle dwords 8 September 2004

4 July r1 SAS-2 Enable and disable zoning

22 March r1 FCP-4 QUERY TASK task management function

This document is a preview generated by EVS

1.0 Editorial Changes

Table 180 REPORT GENERAL request. Byte\Bit SMP FRAME TYPE (40h) 4 (MSB) CRC (LSB)

INTERNATIONAL STANDARD

Research and Analysis of Flow Control Mechanism for Transport Protocols of the SpaceWire Onboard Networks

7 April r0 SAS-2 SMP function result for incomplete descriptor lists

HP LTO Ultrium Tape Drives Technical Reference Manual Volume 3: Host Interface Guide

4 General. 4.1 Architecture. T10/ revision 1

MBA3073FD, MBA3147FD, MBA3300FD SERIES DISK DRIVES FIBRE CHANNEL INTERFACE SPECIFICATIONS

4 General. 4.1 Architecture. T10/ revision 4

Keywords: ASM, Fiber channel, Testing, Avionics.

TCG. TCG Storage Interface Interactions Specification. Specification Version 1.0. January 27, Contacts:

6 June r0 SAM-4 SCSI Initiator Port and Target Port capabilities attributes

02-360r3 SAS spinup 25 October 2002

To: T10 Membership T10/97-184R4 Subject: Use of Class 2 for Fibre Channel Tapes From: Date: 23-Oct-1997

10Gbps Ethernet Solutions

T r0 SAS Port Control State Diagram Update

Storage Area Network (SAN)

03-346r2 SAS-1.1 Pathway recovery priority corrections 3 November 2003

04-167r2 SAS-1.1 Invalid dword handling 14 September 2004

10. SSP Trace Examples

Congestion Avoidance. Finding Feature Information

04-374r0 SES-2 Define a SAS Expander element 7 November 2004

FCP-2 Issues To Resolve (T10/02-267r0) Dave Peterson, Cisco Systems, Inc.

Discovery Tool For Generation 3 Sas Controllers

ADT Frame Format Notes (Paul Suhler) ADI ADT Frame Format Proposal (Rod Wideman)

INTERNATIONAL STANDARD

04-218r5 SAT SPC-3 INQUIRY contents 30 October 2004

DESIGN AND IMPLEMENTATION OF ifcp

UNH-IOL. FC-1 Conformance Test Suite Version 4.3. Technical Document. Last Updated: February 23, 2008

04-218r1 SAT SPC-3 INQUIRY contents 29 July 2004

r5 09 December 2008

Multi-Gigabit Transceivers Getting Started with Xilinx s Rocket I/Os

T10/02-230r1. Maxtor Corporation 500 McCarthy Boulevard Milpitas, CA USA

Upper Level Protocols (ULP) Mapping. Common Services. Signaling Protocol. Transmission Protocol (Physical Coding) Physical Interface (PI)

Introduction to Storage Area Networking

STORAGE AREA NETWORKS (10CS765)

Revision History Related Documents Overview 1. iscsi port names and device names Suggestion 2. iscsi logical unit names Suggestion

03-240r5 SAS-1.1 Internal wide connector and cable 11 September 2004

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

05-023r0 SAS-1.1 Connector figures 23 December 2004

Class 3 Error Detection and Recovery for Sequential Access Devices Preliminary ANSI T10 Working Document R22

Transport Protocols. Raj Jain. Washington University in St. Louis

Serial Attached SCSI storage technology

ECE 650 Systems Programming & Engineering. Spring 2018

Pretty Good Protocol - Design Specification

ISO/IEC JTC 1/SC 25 N 4Chi008 Date:

TCG Storage Interface Interactions Specification (SIIS) Specification Version 1.02 Revision December, 2011 TCG

07-416r1 T10 USB Queuing Transport (UQT) study group introduction. by Rob Elliott, HP 25 September 2007

Organizations are experiencing an explosive

03-240r2 SAS-1.1 Internal wide connector and cable 28 April 2004

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action

Average Latency observed by each Benchmark Process Request Size (MBytes)

T10/01-134r Page 1 of 13

This appendix covers the following topics: Understanding the Concepts of Storage Networking Understanding the Storage Networking Protocols

1. Slow port emulation with R_RDY delay of us (1.5 seconds) 2. Port-monitor - slow port emulation with R_RDY delay of us (1.

Transcription:

Serial Attached SCSI Comparison to Fibre Channel with FCP by Rob Elliott HP Industry Standard Servers Server Storage Advanced Technology elliott@hp.com http://www.hp.com 30 September 2003

Notice These slides are freely distributed by HP through the SCSI Trade Association (http://www.scsita.org) STA members are welcome to borrow any number of the slides (in whole or in part) for other presentations, provided credit is given to the SCSI Trade Association and HP This compilation is 2003 Hewlett-Packard Corporation page 2

Overview SAS borrows its lower layers from SATA SAS borrows its upper layers from Fibre Channel and FCP (the SCSI over Fibre Channel mapping) FC layer ULP FC-4 Mapping FC-3 FC-2 Protocol FC-1 Code FC-0 Physical Standard(s) FCP (and various SCSI) FCP FC-FS FC-FS FC-FS FC-PI Equivalent SAS layer(s) SCSI application Transport Port layer (roughly) Link and some transport Phy Physical Standards SAS & others SAS SAS SAS SAS SAS SAS also supports ATA and management upper layers FC also supports VI, TCP, and others page 3

Physical/phy layers FC Media: Copper and fiber Up to 100 km with optical SAS Media: Copper only 1 m internal cable or 18 backplane trace 10 m external cable (4 wide) Speed: 1.0625, 2.125, 4.25, and 10.51875 or 12.75 Gbps Speed: 1.50, 3.00 Gbps Both use 8b10b coding Both use dwords (4 bytes) as base quantities Both are big-endian (SATA is little-endian) page 4

Disk drive connectors FC SCA-2 (40 pins) 5 V, 12 V START pins for spinup control FC includes ESI (enclosure services interface) pins for access to attached enclosure management through a disk drive SAS Dual-ported version of the SATA connector (7+7+15 pins) 3.3 V, 5 V, 12 V NOTIFY (ENABLE SPINUP) primitives Enclosure management must be accessed elsewhere (e.g. via expanders) Both have the serial lines (Tx +, Tx -, Rx +, Rx -) for two ports Both have a READY LED pin page 5

Architecture Basic end device objects Equivalent Fibre Equivalent SCSI Channel SAS object architecture object object Platform Device Device Node <none> <none> Port Port Port <none> Phy <none> Fibre Channel object Cable or backplane Port Bypass Circuit Hub Switch Basic fabric objects Equivalent SAS object Cable or backplane <none> <none> Expander Equivalent SCSI architecture object Service delivery subsystem page 6

Addressing (part 1) Each SAS port has a SAS address 64-bit NAA=5 format as defined by SPC-3 (and FC-FS) Set by the factory Used for addressing Each FC node has a node name and each FC port has a port name Same NAA format as SAS additional NAA types are allowed (e.g. NAA=3) Set by the factory Exchanged during logins Not used for addressing (FC 24-bit fabric address is assigned) page 7

Addressing (part 2) FC uses a port address for frame routing 24-bit Port address assigned during initialization 8-bit Arbitrated Loop Physical Address (AL_PA) is lower eight bits of a 24-bit address; used for loop arbitration FC has many well-known addresses for fabric services Broadcast, fabric login, fabric controller, directory server, time server, management server, quality of service facilitator, alias server, security key distribution server, clock synchronization server, multicast server Services can be provided by one or more switches or by management appliances In SAS, expanders are addressable like any other device No special addresses page 8

Topologies (part 1) FC Simple or complex fabrics: Fabric Shortest Path First algorithm Cross-connected switches 2^24 = 16 M devices in a fabric Dual fabrics for no-single-points-offailure FC supports arbitrated loops Often used for disk drive connections 127 devices in a loop Dual loops for no-single-points-offailure Simple fabrics: Tree of expanders No loops allowed (complicates routing) Initiators perform discovery and program routing tables Expander sets have maximum of 128 phys 128 * 128 = 16 K maximum addresses in a SAS fabric Dual fabrics for no-single-points-of-failure No loops SAS Both are point-to-point serial interfaces, not multidrop busses page 9

Topologies (part 2) SAS limited topology One fanout expander device Fanout expander device Any of the physical links could be wide Edge expander device set Edge expander device Edge expander device Edge expander device Edge expander device set Edge expander device Maximum of 128 SAS addresses per edge expander device set End device End device End device End device 128 edge expander device sets page 10

Login/logout SAS has no logins FC has three layers of logins 1. Fabric login (FLOGI): announce presence to the fabric 2. Port login/logout (PLOGI/LOGO): establish a session with another port 3. Process login/logout (PRLI/PRLO): establish a session from an upper level process with another upper lever process Third-party process logout (TPRLO) also available page 11

Classes of service SAS only has one class of service, similar to Fibre Channel class 1 FC class of service 1 2 3 4 6 Description Virtual circuit, full bandwidth (how a telephone network seems to operate) Frame-routed, confirmed delivery (ACKs), out-oforder frames possible Frame-routed, unconfirmed delivery, out-of-order and lost frames possible (though they cause problems in practice; most switches provide inorder delivery to be safe). Almost all FC implementations use class 3. Virtual circuit, fractional bandwidth Multicast page 12

Primitives/ordered sets FC Ordered Set = SAS Primitive All FC ordered sets are K28.5 based SAS uses K28.5 too; but SATA uses K28.3 K28.5 Dxx.y Dxx.y Dxx.y K28.3 Dxx.y Dxx.y Dxx.y SAS primitives can start with positive or negative disparity FC primitives always start with negative disparity FC primitives never sent inside data frames page 13

Primitives/ordered sets FC ordered set ARB(nn) IDLE SOFnn, EOFnn SYN MRK OPN(nn) CLS DHD R_RDY, VC_RDY LR LIP LPB, LPE NOS, OLS Description Arbitration Idle Start/end of frame Clock synchronization Mark Open Close Dynamic Half-Duplex Receiver Ready Link reset Loop initialization Loop port bypass/enable Not operational/offline SAS equivalent? OPEN Idle dwords SOF, EOF <none> <none> OPEN CLOSE DONE R_RDY HARD_RESET primitive, OOB sequences <none> <none> <none> page 14

Exchanges and sequences SAS doesn't have Exchanges or Sequences and their associated IDs No Sequence Initiative to transfer after certain frame types No low-level exchange or sequence aborts page 15

Frame transmission Both use R_RDY primitive to grant credit to transmit a frame Frames start with an SOF and end with an EOF FC has 10 SOFs and 6 EOFs SOFs for class 1, 2, 3, and 4 EOFs to manage sequences and indicate outbound errors (normal, terminate, abort, normal invalid, etc.) SAS has one of each SAS allows primitives inside frames SAS allows ACK, NAK, R_RDY, and deletable clock skew management ALIGN primitives inside frames FC locates deletable IDLE primitives only outside frames 6 IDLES transmitted between frames by the source (some may not arrive at the destination) page 16

Frame acknowledgement SAS acknowledges frames with ACK or NAK primitives FC uses ACK, BSY, and RJT frames These frames themselves require R_RDY credits SAS requires each frame be ACKed or NAKed Like FC Class 1 or Class 2 FC has an ACK_0 and ACK_N frame to aggregate ACKs SAS does not Assumes round trip is short enough the extra latency doesn t matter FC Class 3 doesn t use ACK at all Ship-and-pray (although most switches provide in-order delivery) ULP has to handle out-of-order and lost frames FCP command reference numbers, FCP_CONF page 17

Frames Both use a 24 byte frame header SAS has no optional frame headers FC defines several optional headers expiration/security, network, association, and device SAS maximum data size 1 KB FC maximum 2 KB data SAS uses primitives for link control (e.g. ACK primitive) FC uses frames for link control (e.g. ACK_0 frame) page 18

Frame header SAS drops a few fields (and many F_CTL bits) Byte Field(s) 0 Frame Type (FC: R_CTL) 1 to 3 Hashed Destination SAS Address (FC: Destination_ID) 4 Reserved (FC: CS_CTL) 5 to 7 Hashed Source SAS Address (FC: Source_ID) 8 Reserved (FC: Type) 9 Reserved (FC: F_CTL) 10 Reserved (FC: F_CTL) Retransmit Rsvd 11 Reserved (FC: F_CTL) Number of Fill Bytes 12 to 15 Reserved (FC: Sequence ID, DF_CTL, Sequence Count) 16 to 17 Tag (FC: OX_ID) 18 to19 Target Port Transfer Tag (FC: RX_ID) 20 to 23 Data Offset (FC: Parameter) 24 to m Information Unit m to (n-3) Fill bytes, if needed (n-3) to n CRC page 19

SCSI transport layer frames Similar COMMAND, XFER_RDY, RESPONSE, DATA Different SAS has a TASK frame for task management FCP overloads the COMMAND frame FCP implements ABORT TASK as a lower level "abort sequence" link service rather than a separate COMMAND frame Since SAS ACKs its RESPONSE frames, it does not support a CONF frame Name COMMAND TASK XFER_RDY DATA RESPONSE CONF FCP SAS page 20

SCSI COMMAND frame FC has Command Reference Number to counter out-of-order delivery problems FC handles task management functions with this frame SAS uses separate TASK frame FC tags commands as reads or writes FC includes a Data Length for the command Byte (24 bytes) 0 to 7 8 9 Reserved 10 11 12 to 27 28 to m m + 1 to m + 4 (0 bytes) (4 bytes) Additional CDB Length Field(s) Frame header Logical Unit Number SAS: Reserved FC: Command Reference Number CDB SAS: non-existent FC: Data Length CRC SAS: Reserved FC: Rd Additional CDB bytes (if needed) Fill bytes NOT needed Task Attribute SAS: Reserved FC: Task Management Flags FC: Wr page 21

SCSI XFER_RDY frame Identical layout SAS-1 does not allow offsets that are not continuously increasing during the command SAS-1.1 will allow going back to the last point for retries Byte (24 bytes) 0 to 3 4 to 7 8 to 11 (0 bytes) (4 bytes) Field(s) Frame header Requested Offset Write Data Length Reserved Fill bytes NOT needed CRC page 22

SCSI DATA frame Data frames are the same FCP maximum of 2048 data bytes SAS maximum of 1024 data bytes Byte (24 bytes) 0 to n (0 to 2 bytes) (4 bytes) Field(s) Frame header Data Fill bytes, if needed CRC page 23

SCSI RESPONSE frame Since the FCP COMMAND frame includes an expected data length, overflow or underflow is reported here (along with the residual amount) SAS ACKs can be used to keep track of overflow and underflow Byte (24 bytes) 0 to 9 10 11 12 to 15 16 to 19 20 to 23 24 to (23+m) (24+m) to (23+m+n) (0 bytes) Reserved Field(s) Frame header SAS: Reserved FC: Conf Req Reserved FC: Residual Overflow Underflow Status SAS: Reserved FC: Residual Sense Data Length Response Data Length Response Data Sense Data Fill bytes NOT needed DataPres (4 bytes) CRC page 24

SCSI frame interlocking SAS interlocks all but DATA frames Must wait for ACK or NAK before sending another frame Only DATA frames with same tag can be pipelined together Only allows one COMMAND or TASK frame at a time from an initiator phy Only allows one XFER_RDY or RESPONSE frame at a time from a target phy Avoids complications due to frames in flight that complicate Fibre Channel and iscsi Low latency environment is not as concerned with this issue page 25

Mode pages/log pages Mode pages are a dangerous way to control protocol features Must be used carefully in multi-initiator environments Both support the Disconnect-Reconnect mode page Both support the Bus Inactivity Limit, Connect Time Limit, and Maximum Burst Size fields Both define the Protocol-Specific Port mode page FC Resource Recovery Timeout (RR_TOV) similar to SAS I_T Nexus Loss Time FCP defines a Protocol-Specific Logical Unit Control mode page to turn on command reference numbers (enable precise delivery ordering) SAS-1.1 may have one to enable transport layer retries SAS defines a Protocol-Specific log page for error counters page 26

Other FC defines State Change Notification and Registered State Change Notification SAS just has a BROADCAST (CHANGE) primitive SAS initiator must search through entire fabric to figure out what changed page 27

Wrap up page 28

Serial Attached SCSI tutorials General overview (~2 hours) Detailed multi-part tutorial (~3 days to present): Architecture Physical layer Phy layer Link layer Part 1) Primitives, address frames, connections Part 2) Arbitration fairness, deadlocks and livelocks, rate matching, SSP, STP, and SMP frame transmission Upper layers Part 1) SCSI application and SSP transport layers Part 2) ATA application and STP/SATA transport layers Part 3) Management application and SMP transport layers, plus port layer SAS SSP comparison with Fibre Channel FCP page 29

Key SCSI standards Working drafts of SCSI standards are available on http://www.t10.org Published through http://www.incits.org Serial Attached SCSI SCSI Architecture Model 3 (SAM-3) SCSI Primary Commands 3 (SPC-3) SCSI Block Commands 2 (SBC-2) SCSI Stream Commands 2 (SSC-2) SCSI Enclosure Services 2 (SES-2) SAS connector specifications are available on http://www.sffcommittee.org SFF 8482 (internal backplane/drive) SFF 8470 (external 4-wide) SFF 8223, 8224, 8225 (2.5, 3.5, 5.25 form factors) SFF 8484 (internal 4-wide) page 30

Key ATA standards Working drafts of ATA standards are available on http://www.t13.org Serial ATA 1.0a (output of private WG) ATA/ATAPI-7 Volume 1 (architecture and commands) ATA/ATAPI-7 Volume 3 (Serial ATA standard) Serial ATA II specifications are available on http://www.t10.org and http://www.serialata.org Serial ATA II: Extensions to Serial ATA 1.0 Serial ATA II: Port Multiplier Serial ATA II: Port Selector Serial ATA II: Cables and Connectors Volume 1 page 31

For more information International Committee for Information Technology Standards http://www.incits.org T10 (SCSI standards) http://www.t10.org Latest SAS working draft T10 reflector for developers T13 (ATA standards) http://www.t13.org T13 reflector for developers T11 (Fibre Channel standards) http://www.t11.org SFF (connectors) http://www.sffcommittee.org SCSI Trade Association http://www.scsita.org Serial ATA Working Group http://www.serialata.org SNIA (Storage Networking Industry Association) http://www.snia.org Industry news http://www.infostor.com http://www.byteandswitch.com http://www.wwpi.com http://searchstorage.com Training http://www.knowledgetek.com page 32