SATA Protocol Training

advertisement
SATA Protocol Training
August 28, 29, 2006
Agenda
SATA Introduction
SATA Protocol
30 minutes Steve
100 minutes Eric
 Layer Architecture
Link Layer
Physical Layer
Phy Layer
Frames and the Transport Layer
 SATA II
Bus Doctor SATA Analyzer Demo
Q&As
NOT TO BE REDISTRIBUTED
30 minutes
20 minutes
Eric
2
Introduction
August 28, 29, 2006
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
 SCSI
HBA 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
NOT TO BE REDISTRIBUTED
4
History of Parallel ATA
Generation
IDE
Standard
Year
1986
Speed
Pre-standard
PIO modes 0-2, multiword
DMA 0
ATA
1994
ATA-2
1996
16 MB/sec
ATA-3
1997
16 MB/sec
ATA/ATAPI-4 1998
33 MB/sec
Ultra DMA 66 ATA/ATAPI-5 2000
66 MB/sec
EIDE
Key features
Ultra DMA 100 ATA/ATAPI-6 2002 100 MB/sec
Ultra DMA 133 ATA/ATAPI-7 2003 133 MB/sec
NOT TO BE REDISTRIBUTED
PIO modes 3-4, multiword
DMA modes 1-2, LBAs
SMART
Ultra DMA modes 0- 2,
CRC, overlap, queuing, 80wire
Ultra DMA mode 3-4
Ultra DMA mode 5,
48-bit LBA
Ultra DMA mode 6
5
Where ATA Resides in the PC Architecture
CD
SATA
HD
SATA
NOT TO BE REDISTRIBUTED
6
Limitations of Parallel ATA
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
NOT TO BE REDISTRIBUTED
7
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
NOT TO BE REDISTRIBUTED
8
PATA and SATA Comparisons
Source: SATA Working Group
NOT TO BE REDISTRIBUTED
9
History of serial ATA
Generation
Serial ATA
Standard
ATA/ATAPI-7
Year
2002
Speed
150 MB/sec
Key features
Serial ATA II
ATA/ATAPI-8
2005
300 MB/sec
Native Command
Queuing
Serial ATA III
ATA/ATAPI-9?
?
600 MB/sec
NOT TO BE REDISTRIBUTED
10
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 - DVR
In 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
NOT TO BE REDISTRIBUTED
11
SATA Layer Architecture
August 28, 29, 2006
SATA Layer Architecture
NOT TO BE REDISTRIBUTED
13
SATA Layer Architecture
NOT TO BE REDISTRIBUTED
14
SATA Link Layer
August 28, 29, 2006
Link Layer – Summary of Functions
Sending/Receiving Frames
8b/10b encoding
Scrambling/Unscrambling
Flow control
CRC calculation
NOT TO BE REDISTRIBUTED
16
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)
NOT TO BE REDISTRIBUTED
17
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
NOT TO BE REDISTRIBUTED
18
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
NOT TO BE REDISTRIBUTED
19
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
ALIGN
K28.5 D10.2 D10.2 D27.3
first
second
third
fourth
NOT TO BE REDISTRIBUTED
20
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
Sent First
SOF
3
D23.1
2
D23.1
1
D21.5
NOT TO BE REDISTRIBUTED
0
K28.3
21
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
NOT TO BE REDISTRIBUTED
22
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
NOT TO BE REDISTRIBUTED
23
Physical Layer
August 28, 29, 2006
Physical Layer - Summary
Defines the connectors and cabling used to
transmit and receive SATA signaling and data
information
NOT TO BE REDISTRIBUTED
25
Physical Layer - SATA Device Connector
Appearance of Serial ATA Connectors
(Drawing courtesy of Molex)
Device connector sizes and locations
Serial
Device plug
connector
2.5"
power signal
Serial ATA
signal
connector
Serial ATA
(pin S1)
power
connector
(pin P1)
Serial
power signal
3.5”
Legacy Power
(vendor specific)
(5.25” form factor also defined for
devices like tape drives and DVDs)
in comparison…
Parallel
Host receptacle
connector
parallel ATA signals
Graphics courtesy of the SCSI Trade Association
and HP
NOT TO BE REDISTRIBUTED
3.5”
4-pin power
26
Physical Layer - SATA Cabling
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
Graphics courtesy of
Molex
NOT TO BE REDISTRIBUTED
27
Phy Layer
August 28, 29, 2006
Physical Layer - Summary
OOB (Out of Band) Signaling
Speed Negotiations
Byte/dword synchronization
NOT TO BE REDISTRIBUTED
29
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
NOT TO BE REDISTRIBUTED
30
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
175 to 525 ns
> 525 ns
COMINIT/COMRESET
NOT TO BE REDISTRIBUTED
31
Phy Layer - OOB COMWAKE
NOT TO BE REDISTRIBUTED
32
Phy Layer - OOB COMINIT/COMRESET
Electrically, 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
NOT TO BE REDISTRIBUTED
33
SATA Power-On Initialization
Starts with the assertion of hardware reset
Begins Out-Of-Band (OOB) signaling
Allows host and device to initialize link
communications
Ends with successful transmission of ALIGN
primitives
Then speed negotiations
NOT TO BE REDISTRIBUTED
34
Power-On Initialization Process
Host
Device
NOT TO BE REDISTRIBUTED
35
SATA Power-On Initialization
NOT TO BE REDISTRIBUTED
36
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
NOT TO BE REDISTRIBUTED
37
Primitive Handshaking
Sender
Receiver
X_RDY
R_RDY
SOF
Frame
.
.
.
EOF
R_IP
WTRM
R_OK
NOT TO BE REDISTRIBUTED
38
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
NOT TO BE REDISTRIBUTED
39
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
NOT TO BE REDISTRIBUTED
40
SATA Speed Negotiation
When host replies with ALIGNs, it has locked at the
current frequency and negotiation is complete
Speed Negotiation
NOT TO BE REDISTRIBUTED
41
Frames
August 28, 29, 2006
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
NOT TO BE REDISTRIBUTED
43
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
NOT TO BE REDISTRIBUTED
44
Frames
Example: Transaction is not completed
Trace indicates invalid CRC. R_ERR indicates
receiver detected invalid frame.
NOT TO BE REDISTRIBUTED
45
From PATA to SATA
August 28, 29, 2006
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
NOT TO BE REDISTRIBUTED
47
PATA to SATA
ATA
host
PCI bus
Pass-thru
ATA
device
Parallel ATA
Task file
IO Reads/Writes
PCI bus
SATA
host
Shadow
task file
Serial ATA
Frame Information
Structures
NOT TO BE REDISTRIBUTED
SATA
device
Task file
48
SATA II
August 28, 29, 2006
SATA II
Native Command Queuing
Port Selector
Port Multiplier
NOT TO BE REDISTRIBUTED
50
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
NOT TO BE REDISTRIBUTED
25% Boost In
Performance
51
Port Selector
SATA typically operates point to point
Port selector permits 1 device to
communicate with 2 hosts
Host 1
Link Drive
Host 2
NOT TO BE REDISTRIBUTED
52
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
1 to …
Single SATA Link
16 SATA drives
NOT TO BE REDISTRIBUTED
53
Q&A
August 28, 29, 2006
Thank You
August 28, 29, 2006
Download