August 28, 29, 2006 SATA Protocol Training. NOT TO BE REDISTRIBUTED 2 Agenda SATA Introduction30...
-
Upload
lillian-cove -
Category
Documents
-
view
219 -
download
1
Transcript of August 28, 29, 2006 SATA Protocol Training. NOT TO BE REDISTRIBUTED 2 Agenda SATA Introduction30...
August 28, 29, 2006
SATA Protocol Training
2NOT TO BE REDISTRIBUTED
Agenda
SATA Introduction 30 minutes Steve
SATA Protocol 100 minutes Eric Layer Architecture
Link Layer
Physical Layer
Phy Layer
Frames and the Transport Layer
SATA II
Bus Doctor SATA Analyzer Demo30 minutes Eric
Q&As 20 minutes
August 28, 29, 2006
Introduction
4NOT TO BE REDISTRIBUTED
Before SAS/SATA
Early 2000 and there are two main non-networked storage drive standards (i.e. Fibre Channel) ATA/IDE
The most pervasive storage standard in the world (desktop or enterprise)
Renamed to PATA after the introduction of SATA
18” internal cabling
Host controls a master and slave drive
SCSIHBA controls up to 15 drives
Used on high-performance workstations, servers, and high-end peripherals; and RAID arrays
U320 is the end of the road for this parallel interface
Host Bus Adapter (HBA) utilizing DMA for maximum I/O
Fibre Channel, ATAPI and SAS have their roots and legacy in SCSI
5NOT TO BE REDISTRIBUTED
History of Parallel ATA
Generation Standard Year Speed Key featuresIDE 1986 Pre-standard
ATA 1994 PIO modes 0-2, multiword DMA 0
EIDE ATA-2 1996 16 MB/secPIO modes 3-4,
multiword DMA modes 1-2, LBAs
ATA-3 1997 16 MB/sec SMART
ATA/ATAPI-4 1998 33 MB/secUltra DMA modes 0- 2, CRC, overlap, queuing,
80-wireUltra DMA
66ATA/ATAPI-5 2000 66 MB/sec Ultra DMA mode 3-4
Ultra DMA 100
ATA/ATAPI-6 2002 100 MB/sec Ultra DMA mode 5, 48-bit LBA
Ultra DMA 133
ATA/ATAPI-7 2003 133 MB/sec Ultra DMA mode 6
6NOT TO BE REDISTRIBUTED
Where ATA Resides in the PC Architecture
CD
HD
SATA
SATA
7NOT TO BE REDISTRIBUTED
Bandwidth limited to 133 MB/s
Cyclic Redundancy Checking (CRC) for data but not commands
Support attachment of 2 devices per cable
Small switch or jumper for drive selection
High pin count on signaling interface adds cost to cables, connectors and components
Wide cables are cumbersome and inhibit airflow making cooling more difficult and expensive
Connectors hard to insert and remove
Prone to bent pins
Limitations of Parallel ATA
8NOT TO BE REDISTRIBUTED
Benefits of Serial Based Storage
Frame-based transaction protocol (OSI model) Small, inexpensive connectors and cables
Legacy support - ATA stack in SATA
Ease of integration – cabling, jumpers
Point-to-point connections (expanders, port multipliers)
Pathway to higher data rates; 6 Gb/s is on the roadmap
Improve bandwidth Wide ports permit several simultaneous connections,
allowing for link aggregation (SAS)
Lower cost
9NOT TO BE REDISTRIBUTED
PATA and SATA Comparisons
Source: SATA Working Group
10NOT TO BE REDISTRIBUTED
History of serial ATA
Generation Standard Year Speed Key featuresSerial ATA ATA/ATAPI-7 2002 150 MB/sec
Serial ATA II ATA/ATAPI-8 2005 300 MB/sec Native Command Queuing
Serial ATA III ATA/ATAPI-9? ? 600 MB/sec
11NOT TO BE REDISTRIBUTED
SATA Technology Today
SATA has been the most successful recent new storage interface It has been a multi billion dollar market for several years In 2006 over 300 million hard disk drives will have SATA interfaces
400 Million Shipped in 2005 (source: Gartner) Market Leader – Seagate 40% share SATA has also made its appearance in solid state disks, DVD
drives and tape drives
In Desktop, notebooks, Consumer Products - DVRIn the Enterprise! (thanks to STP) Challenges SAS in the enterprise Non-critical data Near-line and offline storage FC, SAS, and SATA will co-exist offering consumers with a choice
of flexible storage options at varying price-points
August 28, 29, 2006
SATA Layer Architecture
13NOT TO BE REDISTRIBUTED
SATA Layer Architecture
14NOT TO BE REDISTRIBUTED
SATA Layer Architecture
August 28, 29, 2006
SATA Link Layer
16NOT TO BE REDISTRIBUTED
Link Layer – Summary of Functions
Sending/Receiving Frames
8b/10b encoding
Scrambling/Unscrambling
Flow control
CRC calculation
17NOT TO BE REDISTRIBUTED
Link Layer - 8b/10b Encoding
Data transferred across the link must first be converted from 8-bit values (bytes) into 10 bit values (symbols)
Process is called 8b/10b encoding
Invented by IBM
Also used in the following protocols: Ethernet, Fibre Channel
Purpose for encoding Clock insertion and recovery Creates sufficient transition density to limit “Run Length” DC Balance – main “equal” number of 1’s and 0’s Ability to encode for special control characters (K)
18NOT TO BE REDISTRIBUTED
Link Layer - 8b/10b Encoding
Two encodings for each 8-bit value
Dependence on the current running disparity
Two lookup tables are provided for in the specifications
19NOT TO BE REDISTRIBUTED
Link Layer – Scrambling/Descrambling
SATA frames are scrambled to help with EMI (primitives are not scrambled)
Scrambling occurs before 8b/10b
“Seeding” resets at the detection of a SOF
Descrambled on receive side after the 8b/10b
20NOT TO BE REDISTRIBUTED
SATA Primitives
Primitives are used as semaphores. They are fixed in content and meaning Primitive is a dword with one control character followed by 3 data characters
Primitives are used in SATA – the equivalent in Fibre Channel is ordered set First character is K28.3 (for SATA primitives), or K28.6 (special
SATA error primitive) SATA primitives always send the control character first on the
wire
first second third fourth
ALIGN K28.5 D10.2 D10.2 D27.3
21NOT TO BE REDISTRIBUTED
SATA Primitives
The Align primitives establish dword boundaries within the serial bit stream. They are sent as data during OOB, and every 2048 dwords there after
D23.1 D23.1 D21.5 K28.3 3 2 1 0
Sent First
SOF
22NOT TO BE REDISTRIBUTED
SATA Primitives
18 primitives defined ALIGN CONT DMAT EOF HOLD HOLDA PMACK PMNAK PMREQ_P PMREQ_S
R_ERR R_IP R_OK R_RDY SOF SYNC WTRM X_RDY
23NOT TO BE REDISTRIBUTED
SATA Primitives
Primitives are used in a variety of circumstances including: Indicating intent to send an FIS Indicating beginning and end of each FIS Flow Control signaling in response to Transport
Layer Buffer state Reporting Transmission Status
August 28, 29, 2006
Physical Layer
25NOT TO BE REDISTRIBUTED
Physical Layer - Summary
Defines the connectors and cabling used to transmit and receive SATA signaling and data information
26NOT TO BE REDISTRIBUTED
Physical Layer - SATA Device Connector
Serial ATA signal connector(pin S1)
Appearance of Serial ATA Connectors(Drawing courtesy of Molex)
parallel ATA signals 4-pin power
3.5”Parallel
power signal
2.5"
Serial
Device connector sizes and locations
Device plugconnector
Host receptacleconnector
power signal
3.5”Serial
Legacy Power(vendor specific)
Serial ATA power connector(pin P1)
(5.25” form factor also defined for devices like tape drives and DVDs)in comparison…
Graphics courtesy of the SCSI Trade Association and HP
27NOT TO BE REDISTRIBUTED
Physical Layer - SATA Cabling
Graphics courtesy of Molex
SATA to SATA (1), CO,
ST
The most common
internal for SATA (and
SAS); 1 meter
maximum length
SATA Power
To provide legacy power
support
eSATA Power (2m)
External SATA;
designed for use with external storage
products; bypasses the
USB route
August 28, 29, 2006
Phy Layer
29NOT TO BE REDISTRIBUTED
Physical Layer - Summary
OOB (Out of Band) Signaling
Speed Negotiations
Byte/dword synchronization
30NOT TO BE REDISTRIBUTED
Phy Layer - (OOB)
Most primitive level of communication is OOB
They are pattern of idle times and burst times, distinguished by length of time between idles Idle time (and negation time) are when there are voltage levels
Also known as DC idle
Burst time is during the transmission of the ALIGN primitives Since byte sync has not occurred yet, the actual bits sent are
not relevant – 40 bits will always been detected and consider an ALIGN
31NOT TO BE REDISTRIBUTED
Phy Layer - (OOB)
COMINIT/COMRESET and COMWAKE are bursts of 6 ALIGN (0) separated by IDLEs
Length of the idle time determines the type of OOB signal
Senders sends 6 – receiver only need to detect 4 (per spec)
COMRESET are sent by hosts
COMINIT are sent by devices
OOB Signal Idle Time Negation Time
COMWAKE 55 to 175 ns > 175 ns
COMINIT/COMRESET 175 to 525 ns > 525 ns
32NOT TO BE REDISTRIBUTED
Phy Layer - OOB COMWAKE
33NOT TO BE REDISTRIBUTED
Phy Layer - OOB COMINIT/COMRESETElectrically, COMINIT and COMRESET appear exactly the same, the only difference is the direction in which the ALIGN patterns are being sent. Host to device: COMRESET; device to host: COMINIT
34NOT TO BE REDISTRIBUTED
SATA Power-On Initialization
Starts with the assertion of hardware resetBegins Out-Of-Band (OOB) signalingAllows host and device to initialize link communicationsEnds with successful transmission of ALIGN primitivesThen speed negotiations
35NOT TO BE REDISTRIBUTED
Power-On Initialization ProcessHost Device
36NOT TO BE REDISTRIBUTED
SATA Power-On Initialization
37NOT TO BE REDISTRIBUTED
Error Situation
Example: Host and Device are unable to establish a connection. Continuous transmission errors are seen from
both the Host and Device.
No COMINITs present. Indicates problem with Device connection
38NOT TO BE REDISTRIBUTED
Primitive Handshaking
Sender ReceiverX_RDY
R_RDY
SOFFrame
.
.
.EOF
R_IP
R_OK
WTRM
39NOT TO BE REDISTRIBUTED
Primitive Handshaking
Example: Host sends commands but commands are not completed
Trace indicates that Host is not properly handling primitive handshaking and is not receiving frames
40NOT TO BE REDISTRIBUTED
SATA Speed Negotiation
Fast to slow progression SATA target device sends ALIGN primitives at the
fastest supported rate Waits for host to reply with ALIGNs If no reply after sending 2048 (i.e., the host
doesn’t support this speed), step down to next slower speed and try again
41NOT TO BE REDISTRIBUTED
SATA Speed Negotiation
When host replies with ALIGNs, it has locked at the current frequency and negotiation is complete
Speed Negotiation
August 28, 29, 2006
Frames
43NOT TO BE REDISTRIBUTED
Frames and the Transport Layer
Frames operate at the Transport Layer
Primitives operate at the Link Layer
Frames convey variable content.
A frame starts with a Start of Frame primitive (SOF).
The frame ends with a CRC dword and an End of Frame primitive (EOF). In between the two primitives are dwords that make up the information content
44NOT TO BE REDISTRIBUTED
Frames and the Transport Layer
FIS 27 – Used to issue ATA commands to the Device
FIS 46 – Used to transmit Data
FIS 34 – Used by the Device to indicate command completion status
FIS 39 - Used by the device to indicate that it is ready for a DMA transfer
FIS 5F – Used by the device to set up a PIO transfer
45NOT TO BE REDISTRIBUTED
Frames
Example: Transaction is not completed
Trace indicates invalid CRC. R_ERR indicates receiver detected invalid frame.
August 28, 29, 2006
From PATA to SATA
47NOT TO BE REDISTRIBUTED
PATA to SATA
Task File In the ATA device In parallel ATA, accesses to these registers result
in parallel ATA traffic
In serial ATA, a Shadow Task file register bank is managed by the host (mirrors the ATA device’s task file)Allows accesses to these registers to be grouped into larger, more efficient serial transfers
48NOT TO BE REDISTRIBUTED
PATA to SATA
Task filePCI bus Parallel ATAPass-
thru
ATA device
ATA host
Task filePCI busSerial ATAShado
w task file
SATA device
SATA host
IO Reads/Writes
Frame InformationStructures
August 28, 29, 2006
SATA II
50NOT TO BE REDISTRIBUTED
SATA II
Native Command Queuing
Port Selector
Port Multiplier
51NOT TO BE REDISTRIBUTED
Native Command Queuing
For multiple outstanding commands in device
Supports reordering of commands (by device! not host)
Supports out-of-order data delivery and re-assembly
SCSI tagged command queuing
Performance of 7200 rpm drive with NCQ is equivalent to that of a standard 10k rpm drive
Less wear-and-tear on drives
Supported through the FPDMA Read Command and FPDMA Write Command
25% Boost In Performance
52NOT TO BE REDISTRIBUTED
Port Selector
SATA typically operates point to point
Port selector permits 1 device to communicate with 2 hosts
Link DriveHost 1
Host 2
53NOT TO BE REDISTRIBUTED
Port Multiplier
SATA typically operates point to point
Port multiplier feature permits for one SATA link to connect to many devices
Active host with a ratio of 1 host to a maximum of 15 devices – it is acting very much like a hub or repeater
Single SATA Link1 to …
16 SATA drives
August 28, 29, 2006
Q&A
August 28, 29, 2006
Thank You