串行协议之SATA

aa464f8c1f9efee6de7c4f6193726b1e.png

书接上回-《串行总线技术(一)-串行总线结构(以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),如图所示。

90d7a50cf89d31ff058d17fecc6da03d.png

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米,如图所示。它针对的是外部硬盘。

902eee054ff69b720b6fb5ca08a57b06.png 22f11350a2444e50555d25b84f6f9bbd.png

mSATA

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

8803fac8f45eecfd493e8072c89484cd.png 54534c703d012f697c82f627a9a1a493.png

快速SATA

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

8db0e1f85152e3a82aa26d5daf3fb2d9.png

带宽最高可达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标准,面向移动设备如平板电脑等。

68afd314064648b2464dc940b1a46962.gif

NOW

学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......

文件名主标题内容简单介绍是否有中文版
UG4767 Series FPGAs GTX/GTH  TransceiversGTX和GTH介绍,PCIe、serdes等学习必备
UG4717 Series FPGAs SelectIO Resources描述 7 系列 FPGA 中可用的 SelectIO资源。
UG1114PetaLinux Tools DocumentatonPetaLinux 工具文档 参考指南是,V2019.2
UG949UltraFAST 设计方法指南(适用于 Vivado  Design Suite)赛灵思® UltraFast™  设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标是,V2018.1
IP手册pg057FIFO GeneratorFIFO生成器IP使用手册
pg104Complex Multiplier复数乘法器IP使用手册
pg122RAM-Based Shift Register 移位寄存器IP使用手册

65132218f98a0a89c1cff153a9386b86.png

推荐阅读

【Vivado那些事】如何查找官网例程及如何使用官网例程

【Vivado使用误区与进阶】总结篇

【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键

SystemVerilog数字系统设计_夏宇闻 PDF

图书推荐|ARM Cortex-M0 全可编程SoC原理及实现

简谈:如何学习FPGA

Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目

AD936x+ZYNQ搭建收音机(一)

AD936x+ZYNQ搭建OpenWIFI

无招胜有招-Vivado非工程模式下的详细设计

面试中经常会遇到的FPGA基本概念,你会几个?

FPGA 的重构

国产CPU概括

从电子游戏历史看IC发展的助推剂

PCIe总线的基础知识

万字长文带你回顾电子游戏的七十多年历史(完整版)

FPGA中异步复位,同步释放的理解

OpenFPGA系列文章总结

用Verilog设计一个16 位 RISC 处理器

介绍一些新手入门FPGA的优秀网站(新增)

Verilog数字系统基础设计-CR

建立和保持时间及时序简单理解

(Xilinx)FPGA中LVDS差分高速传输的实现

Xilinx Multiboot实例演示

高速串行通信常用的编码方式-8b/10b编码/解码

图书推荐|一本图像/视频处理的强大工具书

Verilog HDL-同步技术

再说System Verilog 与 Verilog 的关系

数模混合信号建模语言Verilog-AMS

Intel/Altera 系列FPGA简介

一块带给无数人年少欢乐的CPU,别说你没用过它

Verilog在编写第一行代码之前

【例说】Verilog HDL 编译器指令,你见过几个?

穿越时空的爱恋-Z80 CPU的前世今生

【Vivado】那些事儿-汇总篇

古老CPU启示录-晶体管之路

【Vivado那些事儿】约束的顺序

童年修复系列-SNES芯片组介绍及FPGA实现

优秀的 Verilog/FPGA开源项目介绍(二)-RISC-V

串行总线技术(一)-串行总线结构(以PCIe为例)

串行总线技术(二)-串行总线中的先进设计理念及SerDes/PMA介绍

优秀的 Verilog/FPGA开源项目介绍(三)- 大厂的项目

古老CPU启示录-意义重大的8008 芯片

古老CPU启示录-第一款单芯片微处理器8080

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenFPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值