SATA技术简介

Download Report

Transcript SATA技术简介

SATA
(SATA 1.0a, PHY & LINK Layer)
SATA 1.0a, PHY & LINK Layer
Overview
•
•
•
•
•
•
Background
PHY
Link Layer
Transfer Layer
IP
Appendix
SATA Stadard
SATA Standard evolution
SATA 2.6
SATA 2.5
SATA 1.0a
bug fixed
SATA 1.0
SATA 2.0
1.8” disk micro SATA
mini SATA multi-channel cable
and IF
SATA transmission speed
Generation-1
SATA 150MBps(1.5Gbps)
Generation-2
SATA 300MBps(3.0Gbps)
Generation-3
SATA 600MBps(6.0Gbps)
Note: SATA using 8bit/10bit encode for data transmission,
son the Bps can be converted to bps by X10
(SATA 1.0,
SATA 1.0a)
(SATA 1.0,
SATA 1.0a,
SATA 2.0)
ATA System Model
Share one cable between
mast and slave disk
SATA system model
same as ATA
Different from ATA
• One cable per hard disk (no
mast/slave disk)
• transparent to upper layer
software(upper layer software
operating ATA hard disk)
SATA Layered control model
Driver software
Controller
Hardware
SATA host
communication
and FSM control
Serial data Tx/Rx
and FSM control
Overview
•
•
•
•
•
Background
PHY Layer
Link Layer
IP
Appendix
PHY hardware requirement
•
•
•
•
•
•
•
1.5Gbps,Differential NRZ
100 Ohm matching resistor Tx/Rx
Serial-parallel/Parallel-Serial conversion
Out of band signal detection
Speed negotiation
Hardware status detection and report
Allow for small data rate variation for spectrum
spread
+0/-0.5% , variation period is 33.33us
• Support cooperated synchronization
SATA Socket
Power
Signal (7 wire)
SATA Signal connection
SATA host
controller
SATA
cable
SATA
device
controller
Signal Voltage(DC couppled)
+500mV
250mV
0mV
0
1
idle
Tx PHY
Rx PHY
Detect
special
control
signal
Example of Tx circuits
Overviee
•
•
•
•
•
•
Background
PHY Layer
Link Layer
Transfer Layer
IP
Appendix
Link Layer
Function
– Tx/Rx data frame
– Tx/Rx Speed Synchronization
– Coding and error detection
Initialization
OOB (Out of Band) Command
• Periodical ALIGN signal
Initialization
(OOB
Command )
Detection
circuits
Frame structure
…
Data Frame
Data
Frame
…
primitive
Data
primitive and Data format
primitive
Consists of 4
coding segment
each coding
segment
consists of 10-bit
Each 10-bit code is converted
from original 8-bit code
Data
8b/10b Encoding (Implementation Example)
Running
Disparity
bit
DFF
8-bit original code
Type(D/K)
D for data
K for control
Combinatorial Logic
Circuits
10-bit encoding
result
8b/10b Code table
primitive
primitive
first transmitted
bit
last transmitted
bit
primitive data
primitive data
primitive data
primitive flag
Primitive
primitive
Tag
Mean
ALIGN
Synchronization(used for PHY layer, invisible to link layer)
CONT
Repeat last primitive (for EMI)
DMAT
Receiver request for stop (transfer)
HOLD
Transfer pause(no enough data to send or not enough
buffer to receive)
HOLDA
Response to HOLD command
PMREQ_P
Power management(power saving)request
PMREQ_S
Power management(sleep)request
PMACK
Accept power management request
PMNAK
Reject power manage request
R_RDY
Receiver side ready
X_RDY
Transmit side ready
R_ERR
Receive error
R_IP
Receive in progress
R_OK
Receive OK
SOF
Start of frame
EOF
End of frame
WTRM
Wait for response from receiver after sending one frame
SYNC
Synchronization
primitive DMAT
(Host send data to Device)
HOST send data to Device
SATA
Host
Device send DMAT to Host
SATA
Device
When device ask for stop,Host stop data transfer, but
keep internal state, so that the data transmission can be
restarted
primitive DMAT (Device sent data to
Host)
Device send data to Host
SATA
Host
Host send DMAT to Device
SATA
Device
When Host ask for stop, Device stop transmission, but
not keep internal state, transmission cannot be
recovered
primitive CONT
…
primit primit
CONT
ive A ive A
repeat twice
before send
CONT
Ana data
Any data is regarded as
the repeating primitive
A
Reduce spectrum peak
primit
ive B
…
primitive
repetition
stopped after
receiver a new
primitive B
Flow control
• HOLD
• HOLDA
SOF
HOLDA
Data
…
response
delay
Sender
…
R_RDY R_IP
CONT
Useles
s data HOLD
receiver
Structure of data frame
start of
frame
data
type
FIS
SOF
Type
data
FIS Contents
end of
checksum frame
CRC
EOF
Note
• CRC is on original data (before 8b/10b conversion)
• G(X)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1
• The transmitted data require further scrambling
Generation of transmitting data
data before
8b/10b
conversion
FIS
Type
32-bit
CRC calculation
FIS
32-bit
32-bit
32-bit
32-bit
data before
8b/10b
conversion
32-bit
CRC
8bit/10bit Conversion
data after
8b/10bco
nversion
FIS
Type
40-bit
40-bit
40-bit
40-bit
40-bit
40-bit
LFSR (G(x)=x16+x15+x14+x13+x4+x1)
scrambling
SOF
CRC
FIS Contents
FIS Type
FIS Contents
CRC
EOF
Overview
•
•
•
•
•
•
Background
PHY Layer
Link Layer
Transfer Layer
IP
Appendix
Data seen from different layer
ATA registers
and status
Application
Layer
Transfer
Layer
data before
8b/10b
conversion
FIS
Type
32-bit
CRC Calculation
FIS
32-bit
32-bit
32-bit
32-bit
32-bit
CRC
8bit/10bit conversion circuits
Link Layer
data after
8b/10b
conversion
FIS
Type
40-bit
SOF
40-bit
40-bit
40-bit
40-bit
40-bit
LFSR电路 (G(x)=x16+x15+x14+x13+x4+x1)
scrambling
Physical
Layer
CRC
FIS Contents
FIS Type
FIS Contents
CRC
EOF
Transfer Layer
ATA data /control registers
Transfer layer is a
interperator
FIS
Type
FIS
data frame (FIS)
Data structure seen by the transfer layer
(Example)
Thanks