书接上回-《串行总线技术(一)-串行总线结构(以PCIe为例)串行总线技术(二)-串行总线中的先进设计理念及SerDes/PMA介绍
简介
SATA(Serial Advanced Technology Attachment,高级技术附加装置)是在2002年作为并行ATA(Parallel ATA,PATA)的替代技术而引人的。由于SATA是一种串行协议,与并行ATA相比,它所需要的引脚数少、连接器尺寸也小。第一代SATA(也被称为SATA1.0)以1.5Gbps速度运行。SATA2.0的运行速度翻倍至3.0Gbps,在SATA3.0中,运行速度进一步翻倍至6.0GbpS。
SATA架构
SATA组成部分包括两种类型:SATA宿主(SATA host)和SATA设备(SATA device),如图所示。

SATA宿主通常位于个人计算机中。SATA宿主可以有一个或者多个端口。SATA宿主的每一个端口连接一个SATA设备。即使SATA宿主具有多个端口,各个端口的运行也是彼此独立的,同时每一个SATA设备的运行都独立于其他SATA设备。
SATA宿主集成在芯片组内部,在芯片组内部,SATA宿主的前端连接至芯片组内部的PCle总线或AHB/AXI总线上。SATA宿主采用寄存器接口层进行数据通信,该寄存器接口层被称为高级宿主控制器接口(Advanced Host Controller Interface,AHCI)。AHCI为DMA数据传送提供了基于寄存器的接口。在软件中有操作指令,软件存储在存储器中。然后,软件对宿主寄存器空间进行置位表示指令已就绪。SATA宿主从存储器中取出指令并将它们传送给SATA设备。
SATA设备接收到来自宿主的指令并加以执行。在SATA设备的后端,通常是硬盘控制器。SATA协议层将SATA指令传递给硬盘控制器,由它来执行指令(从硬盘中读出数据或者将数据写入硬盘)。SATA支持本地命令排序(Native Command Queuing,NCQ),即硬盘控制器通过SATA协议接收多条指令、并按照最佳顺序加以执行。
SATA协议分为三层(复杂协议都具有分层管理机制):传输层、链路层和物理层。物理层最接近物理链路,具有8b/10b编解矶、扰码/解扰等功能。另外,它还关注链路训练和初始化。数据链路层是中间层次,关注链路对链路的通信。数据链路报文长度同定(4字节),称为原语(primitive)。SATA采用全双工通信协议,但与PCle类似,发送和接收线路不同时进行数据传送。当一方将数据发送到TX通道上时,另一方发送原语。原语用于传递控制信息,如R-OK(接收数据无差错)、R_ERR(接收数据有差错)、HOLD(发给发送方的流控信,让其暂停发送数据)。
最上面一层被称为传输层,它与应用层相连。它接收来自应用层的指令和数据,并以帧信息结构(Frame Information Structure,FIS)的形式传递给另一方。FIS中包括头部、净载荷数据和循环冗余检验码,其净载荷长度可变。
SATA的其他变种
eSATA
eSATA代表外部SATA(External SATA)。它采用更好的连接器和更长的屏蔽线缆,最长可达2米,如图所示。它针对的是外部硬盘。


mSATA
mSATA代表小型化SATA(mini-SATA)。它针对的是移动应用和小型固态电子存储设备。它有类似于mini-PCIe卡的外形尺寸,面向笔记本和上网本设备,如图所示。


快速SATA
SATA Express代表快速SATA。它是将SATA协议和PCIe接口结合在一起的新协议。SATA Express连接器可以接插一个x2的PCIe设备或者两个SATA设备,如图所示。

带宽最高可达16Gbps带宽(现在最快的SATA 3.2标准带宽为16Gbps),SATA Express标准将会如其名称所描述的,把SATA软件架构和PCI-Express高速界面结合在一起。SATA国际组织称SATA Express标准将会带来新一代更快的存储装置和对应的主板接口,并且还能兼容现有的SATA设备。SATA国际组织主席Mladen Luksic称该标准将使固态与混合硬盘受益于新一代PCI-Express 3.0的高带宽从而打破性能瓶颈,标准的具体细节将在年内制定完成。SATA国际组织同时表示除SATA Express外,还有针对集成在主板上的嵌入式单芯片SSD存储解决方案的SATA µSSD标准,面向移动设备如平板电脑等。
NOW现在行动!
学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......
文件名 | 主标题 | 内容简单介绍 | 是否有中文版 | |
UG476 | 7 Series FPGAs GTX/GTH Transceivers | GTX和GTH介绍,PCIe、serdes等学习必备 | 否 | |
UG471 | 7 Series FPGAs SelectIO Resources | 描述 7 系列 FPGA 中可用的 SelectIO资源。 | 否 | |
UG1114 | PetaLinux Tools Documentaton | PetaLinux 工具文档 参考指南 | 是,V2019.2 | |
UG949 | UltraFAST 设计方法指南(适用于 Vivado Design Suite) | 赛灵思® UltraFast™ 设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标 | 是,V2018.1 | |
IP手册 | pg057 | FIFO Generator | FIFO生成器IP使用手册 | 否 |
pg104 | Complex Multiplier | 复数乘法器IP使用手册 | 否 | |
pg122 | RAM-Based Shift Register | 移位寄存器IP使用手册 | 否 |
推荐阅读
【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键
图书推荐|ARM Cortex-M0 全可编程SoC原理及实现
Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目
再说System Verilog 与 Verilog 的关系
优秀的 Verilog/FPGA开源项目介绍(二)-RISC-V
串行总线技术(二)-串行总线中的先进设计理念及SerDes/PMA介绍