0% found this document useful (0 votes)
76 views

An Overview of Serial ATA Technology: Chris Erickson

Serial ATA (SATA) was invented to replace Parallel ATA (PATA) by using a smaller, more reliable serial connector. SATA transmits data differentially over two wires in each direction using a point-to-point topology, allowing for higher speeds and more reliable connections compared to PATA. The SATA protocol stacks on both the host and device ends include physical, link, transport, and command layers to transmit data and commands using frames with CRC checking and encoding. SATA supports multiple power states for power management in devices and can operate at speeds up to 3Gbps, providing a significant performance upgrade over PATA.

Uploaded by

ednowicki
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views

An Overview of Serial ATA Technology: Chris Erickson

Serial ATA (SATA) was invented to replace Parallel ATA (PATA) by using a smaller, more reliable serial connector. SATA transmits data differentially over two wires in each direction using a point-to-point topology, allowing for higher speeds and more reliable connections compared to PATA. The SATA protocol stacks on both the host and device ends include physical, link, transport, and command layers to transmit data and commands using frames with CRC checking and encoding. SATA supports multiple power states for power management in devices and can operate at speeds up to 3Gbps, providing a significant performance upgrade over PATA.

Uploaded by

ednowicki
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 46

An Overview of Serial ATA Technology

Chris Erickson
Graduate Student Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 [email protected]

Objectives
Why SATA was invented The differences between PATA and SATA How the hardware is structured to transmit and receive SATA Protocol of SATA transmission

What is PATA?
All of the below synonyms refer to a modern day PATA drive
PATA Parallel Advanced Technology Attachment

UDMA Ultra Direct Memory Access


IDE Integrated Device Electronics EIDE Enhanced IDE

More on PATA
40 & 80 wire cable option
40 wire limited to UDMA 33 MB/s and below 80 wire allowed for UDMA 66, 100, 133 MB/s

Required by ATA spec to be 5v tolerant (3.3v has been the norm for several years) Must support Master/Slave/Cable Select

SATA Basics
New Connector
Saves space More reliable More air flow

Connector has 4 transmission wires


Tx differential pair Rx differential pair

SATA Basics
SATA I for 1.5Gbps ~ 150MB/s SATA II for 3.0Gbps ~ 300MB/s Provides support for legacy command set

Includes new commands for SATA BIST and power management

Connectivity
Serial ATA is point-to-point topology
Hosts can support multiple devices but requires multiple links 100% available link bandwidth

Failure of one device or link does not affect other links

Link Characteristics
SATA uses full-duplex links
Protocol only permits frame transfer in one direction at a time Each link consists of a transmit and a receive pair

SATA uses low voltage levels


Nominal voltage +/-250mV differential

Power Management
SATA has
Phy Ready Capable of sending and receiving data. Main phase locked loop are on and active Partial Physical layer is powered but in a reduced state. Must be able to return to Phy Ready within 10 us. Slumber Physical layer is powered but in a reduced state. Must be able to return to Phy Ready within 10 ms.

ATA also defines IDLE, STANDBY, and SLEEP


Necessary for newer laptop & mobile devices

SATA Architectural Model


Host Control Software
Buffer Memory DMA management
Application

Device Control Software Buffer Memory DMA management

Serial digital transport control

Transport

Serial digital transport control

Link

Serial digital link control

Serial digital link control

Serial physical interface

Physical

Serial physical interface

Host Layers

Device Layers

Physical Layer
Transmission (Tx) and Reception (Rx) of a 1.5Gb/s serial stream Perform power on sequencing Perform speed negotiation Provide status to link layer Support power management requests Out-of-Band (OOB) signal generation and detection

Out of Band
Part of normal power on sequence Allows host to issue a device hard reset Allows device to request a hard reset Brings device out of low power state

Out of Band Signals


COMRESET
Always originated by the host Forces a hard reset in the device Used to start link initialization

COMINIT
Always originated by the device Requests a link reset Issued by device in response to COMRESET

Out of Band Signals (cont.)


COMWAKE
Can be originated by either host or device Used as final phase of OOB initialization Used to bring out of low power & test states
Exit Partial Exit Slumber Exit BIST

Out of Band Signal Forms


COMRESET / COMINIT

320 ns 106.7 ns

COMWAKE

106.7 ns

106.7 ns

Out of Band Signaling Protocol

Host

Device

SATA Port Model


Tx +

Data In
Align Generator

Serializer Tx Clock

Tx -

Phy Reset Phy Ready Slumber Partial

Analog Front End

Port Control Logic

SPD Select SPD Mode System Clock

Rx +

Data Out
RX Clock COMRESET / COMINIT

Deserializer

Clock & Data Recovery OOB Detect

Rx -

COMWAKE

SATA Architectural Model


Host Control Software
Buffer Memory DMA management
Application

Device Control Software Buffer Memory DMA management

Serial digital transport control

Transport

Serial digital transport control

Link

Serial digital link control

Serial digital link control

Serial physical interface

Physical

Serial physical interface

Host Layers

Device Layers

Link Layer
8b / 10b encoding Scrambles and descrambles data and control words Converts data from transport layer into frames Conduct CRC generation and checking Provides frame flow control

Encoding Concepts
All 32 bit Dwords are encoded for SATA
32 bits data = 40 bits of transmission

Provides sufficient transition density


Guarantees transition (0s and 1s) even if data is 0x00 or 0xFF

Provides an easy way to detect transmission error

Current Running Disparity (CRD)


As each character is encoded a count is maintained of the number of 0s and 1s being transmitted
More 1s than 0s give positive disparity More 0s than 1s gives negative disparity Same number gives neutral disparity

Only valid values of CRD are -1 and 1


Any other value indicates that a transmission error has occurred

CRD+ & CRD- Encoded Characters


8b Character 0x3F

0 0 1 1 1 1 1 1
This 10b Character transmitted when CRD negative This 10b Character transmitted when CRD positive

1 0 1 0 1 1 1 0 0 1
This character

0 1 0 1 0 0 1 0 0 1
This character

6 ones
4 zeros Disparity +2

4 ones
6 zeros Disparity -2

SATA Primitives
Convey real-time state information Control transfer of information between host and device Provide host/device coordination

SATA Primitives
ALIGN Speed negotiation and at least every 256 Dword SYNC Used when in idle to maintain bit synchronization

CONT Used to suppress repeated primitives

SATA Primitives
X_RDY R_RDY

SOF EOF

R_IP
R_OK R_ERR

HOLD HOLDA

SATA Frame Structure


All SATA frames consist of:
A start of frame (SOF) delimiter A payload transport layer information A Cyclic Redundancy Check (CRC) An end of frame (EOF) delimiter

SOF

Payload Data

CRC

EOF

Link Layer Protocol (1)


SYNC SYNC SYNC SYNC SYNC SYNC

Host
SYNC SYNC SYNC SYNC SYNC

Device
SYNC

Link Layer Protocol (2)


X_RDY X_RDY X_RDY X_RDY SYNC SYNC

Host
SYNC SYNC SYNC SYNC SYNC

Device
SYNC

Link Layer Protocol (3)


X_RDY X_RDY X_RDY X_RDY X_RDY X_RDY

Host
SYNC SYNC R_RDY R_RDY R_RDY

Device
R_RDY

Link Layer Protocol (4)


DATA DATA DATA SOF X_RDY X_RDY

Host
R_RDY R_RDY R_RDY R_RDY R_RDY

Device
R_RDY

Link Layer Protocol (5)


DATA DATA DATA DATA DATA DATA

Host
R_RDY R_RDY R_IP R_IP R_IP

Device
R_IP

Link Layer Protocol (6)


WTRM WTRM EOF CRC DATA DATA

Host
R_IP R_IP R_IP R_IP R_IP

Device
R_IP

Link Layer Protocol (7)


WTRM WTRM WTRM WTRM EOF CRC

Host
R_IP R_IP R_IP R_IP R_IP

Device
R_IP

Link Layer Protocol (8)


WTRM WTRM WTRM WTRM WTRM WTRM

Host
R_IP R_IP R_OK R_OK R_OK

Device
R_OK

Link Layer Protocol (9)


SYNC SYNC SYNC SYNC WTRM WTRM

Host
R_OK R_OK R_OK R_OK R_OK

Device
R_OK

Link Layer Protocol (last)


SYNC SYNC SYNC SYNC SYNC SYNC

Host
R_OK R_OK SYNC SYNC SYNC

Device
SYNC

SATA Architectural Model


Host Control Software
Buffer Memory DMA management
Application

Device Control Software Buffer Memory DMA management

Serial digital transport control

Transport

Serial digital transport control

Link

Serial digital link control

Serial digital link control

Serial physical interface

Physical

Serial physical interface

Host Layers

Device Layers

Transport Layer
Responsible for the management of Frame Information Structures (FIS) At the command of Application layer:
Format the FIS Make frame transmission request to Link layer Pass FIS contents to Link layer Receive transmission status from Link layer and reports to Application layer

Frame Information Structure (FIS)


A FIS is a mechanism to transfer information between host and device application layers
Shadow Register Block contents ATA commands Data movement setup information Read and write data Self test activation Unique FIS Type Code

FIS types
FIS TYPE CODE 27h 34h A1h 39h 41h 58h 5Fh 46h Description Direction D H H H H H H H
Register transfer host to device H Register transfer device to host D Set Device bits

DMA Activate
DMA Setup BIST Activate

PIO Setup Data

D D D D D D

Register Host to Device FIS


Byte 3 Dword 0
Features

Byte 2

Byte 1

Byte 0
FIS TYPE (27h) Sector Number Sector Number Sector Count

Command Reserved Cyl High Cyl High (exp) Reserved Cyl Low Cyl Low (exp) Sector Count

Dword 1 Dev/Head Dword 2 Dword 3


Features (exp) Control

Dword 4 Reserved Reserved Reserved Reserved

BIST Activate FIS


Byte 3 0
Reserved

Byte 2
[ TASLFPRV ]

Byte 1
Reserved Data [15:8]

Byte 0
FIS Type 58h Data [7:0]

1 Data [31:24] Data [23:16]

2 Data [31:24] Data [23:16]

Data [15:8]

Data [7:0]

T - Far end transmit only transmit Dwords defined in words 1 & 2 A - No ALIGN transmission (valid only with T) S - Bypass scrambling (valid only with T) L - Far end retimed loopback with ALIGN insertion F - Far end analog loopback P - Transmit primitives defined in words 1 & 2 of the FIS R - Reserved V - Vendor Unique Test Mode other bits undefined

Data FIS
Byte 3 Byte 2 Byte 1 Byte 0
(46h)

Dword 0 Reserved Reserved Reserved FIS TYPE Dword 1 Dword 2


N Dwords of Data Minimum 1 Dword Maximum 2048 Dwords

... Dword N

SATA Architectural Model


Host Control Software
Buffer Memory DMA management
Application

Device Control Software Buffer Memory DMA management

Serial digital transport control

Transport

Serial digital transport control

Link

Serial digital link control

Serial digital link control

Serial physical interface

Physical

Serial physical interface

Host Layers

Device Layers

Command / Application Layer


Defined using a series of state diagrams
Register H D Register D H DMA data in DMA data out

Host command layer may be the same but may only support legacy commands

Completed !!
Any Question? Comments?

You might also like