Skip to content

Latest commit

 

History

History
95 lines (61 loc) · 2.23 KB

210811a_sata.md

File metadata and controls

95 lines (61 loc) · 2.23 KB

SATA协议

目录

  • 1 分层结构
  • 2 物理层
    • 2.1 OOB信号定义
    • 2.2 电源状态
  • 3 链路层
  • 4 传输层
    • 4.1 FIS格式
      • 4.1.1 Register Host to Device FIS (27h)
      • 4.1.2 Register Device to Host FIS (34h)
      • 4.1.3 Set Device Bits (A1h)
      • 4.1.4 DMA Activate (39h)
      • 4.1.5 DMA Setup (41h)
      • 4.1.6 BIST Activate (58h)
      • 4.1.7 PIO Setup (5Fh)
      • 4.1.8 Data (46h)
  • 5 命令层
  • 6 ATA命令集
    • 6.1 IDENTIFY DEVICE
    • 6.2 SET FEATURES
    • 6.3 NCQ
      • 6.3.1 READ FPDMA QUEUED
      • 6.3.2 WRITE FPDMA QUEUED

1 分层结构

SATA协议层和TCP/IP一样也是分层协议

2 物理层

OOB(Out Of Band)的生成与检测

2.1 OOB信号定义

COMRESET

COMINIT(注意Device什么时候发)

COMWAKE

Negotiate速率(依次Gen3,Gen2,Gen1)如果全部失败,超时共54.6*3uS

2.2 电源状态

名称 定义
PHYRDY
Partial
Slumber
DevSleep

3 链路层

8b/10b编解码

4 传输层

用于处理FIS(Frame Information Structure),负责FIS的打包和解包

4.1 FIS格式

4.1.1 Register Host to Device FIS (27h)

4.1.2 Register Device to Host FIS (34h)

4.1.3 Set Device Bits (A1h)

4.1.4 DMA Activate (39h)

4.1.5 DMA Setup (41h)

4.1.6 BIST Activate (58h)

4.1.7 PIO Setup (5Fh)

4.1.8 Data (46h)

5 命令层

负责收发Command

6 ATA命令集

6.1 IDENTIFY DEVICE

6.2 SET FEATURES

6.3 NCQ

6.3.1 READ FPDMA QUEUED

6.3.2 WRITE FPDMA QUEUED