0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解串行总线中的SATA协议

OpenFPGA 来源:OpenFPGA 作者:碎碎思 2021-11-01 10:53 次阅读

书接上回-《串行总线技术(一)-串行总线结构(以PCIe为例)》《串行总线技术(二)-串行总线中的先进设计理念及SerDes/PMA介绍》,今天详解SATA协议。

简介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标准,面向移动设备如平板电脑等。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SATA
    +关注

    关注

    0

    文章

    262

    浏览量

    83156
  • 串行接口
    +关注

    关注

    3

    文章

    321

    浏览量

    42506

原文标题:串行协议之SATA

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电脑通用串行总线控制器怎么接

    和协调USB设备的数据传输和电源供应。 电脑通用串行总线控制器的基本概念 电脑通用串行总线控制器是一种基于USB协议的接口控制器,用于实现电脑与各种USB设备之间的数据传输和通信。USB协议
    的头像 发表于 08-29 15:51 251次阅读

    通用串行总线控制器和通用串行总线设备的区别

    通用串行总线(Universal Serial Bus,简称USB)是一种广泛使用的串行通信协议,用于计算机和其他设备之间的数据传输。USB技术自1996年推出以来,已经经历了多个版本的更新,包括
    的头像 发表于 08-29 15:40 370次阅读

    USB是通用串行总线

    USB是通用串行总线 USB是通用串行总线,USB协议版本包括 USB1.0、USB1.1、USB2.0、USB3.0、USB3.1、USB3.2,最新的是USB4.0协议,可直连CP
    的头像 发表于 08-21 10:52 182次阅读

    FPGA的单总线协议设计(附示例代码)

    FPGA(现场可编程门阵列)是一种高度灵活的集成电路,通过编程可以实现多种数字功能。在FPGA实现单总线协议可以有效地简化模块之间的通信。单总线
    的头像 发表于 05-31 08:21 517次阅读
    FPGA<b class='flag-5'>中</b>的单<b class='flag-5'>总线</b><b class='flag-5'>协议</b>设计(附示例代码)

    什么是CAN总线协议?它有哪些特性和应用?

    CAN总线协议(Controller Area Network,简称CAN),是一种在汽车和工业自动化领域广泛应用的串行通信协议。自1986年由德国博世公司提出以来,CAN
    的头像 发表于 05-27 16:32 899次阅读

    FPGA的sata接口设计时需要注意哪些问题

    数据传输的关键。在FPGA实现SATA物理层时,需要正确配置GTX(高速串行收发器)模块,包括时钟设置、数据位宽、8B/10B编码等。同时,还需要设计物理层的状态机,以实现数据的串并转换、OOB信号
    发表于 05-27 16:20

    I2C总线协议的工作原理和寻址格式

    I2C(Inter-Integrated Circuit)总线协议,即集成电路总线协议,是一种用于连接微控制器及其外围设备的串行
    的头像 发表于 05-27 15:47 1248次阅读

    高速串行总线有哪些

    在信息技术的飞速发展总线技术作为连接各种电子设备的重要纽带,其性能和可靠性对于整个系统的运行效率具有决定性的影响。高速串行总线技术,以其高速度、低延迟、低干扰等优势,成为现代电子系
    的头像 发表于 05-16 17:02 962次阅读

    高速串行通信协议详解

    随着信息技术的飞速发展,数据通信已成为现代社会不可或缺的一部分。在数据通信中,串行通信作为一种基本的通信方式,以其独特的优势在各个领域得到了广泛应用。特别是在高速数据传输领域,高速串行通信协议以其
    的头像 发表于 05-16 16:45 613次阅读

    CAN总线协议简介及其常见的应用领域

    CAN总线协议是一种串行通讯协议,主要用于汽车和工业自动化领域,实现了实时应用的需求。 首先,CAN总线
    的头像 发表于 01-19 17:47 1020次阅读

    SOC设计APB协议总线的工作原理

    APB(Advanced Peripheral Bus) 作为高级外设总线是AMBA协议之一,也是最基本的总线协议。按照ARM官方定义,APB是一种低成本的接口
    发表于 01-17 17:35 1592次阅读
    SOC设计<b class='flag-5'>中</b>APB<b class='flag-5'>协议</b><b class='flag-5'>总线</b>的工作原理

    并行总线串行总线的区别

    并行总线串行总线的区别  并行总线串行总线是计算机系统中常见的两种数据传输方式,它们有着不同
    的头像 发表于 12-07 16:45 3001次阅读

    SATA硬件驱动器接口的可制造性问题详解

    SATA接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口,决定着硬盘与计算机之间的连接速度,在整个系统,硬盘接口的优劣,直接影响着程序运行快慢和系统性
    的头像 发表于 11-10 08:07 556次阅读
    <b class='flag-5'>SATA</b>硬件驱动器接口的可制造性问题<b class='flag-5'>详解</b>

    CAN总线应用双绞线简介

    CAN(Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN
    的头像 发表于 11-01 16:39 1785次阅读
    CAN<b class='flag-5'>总线</b>应用<b class='flag-5'>中</b>双绞线简介

    一文详解SPI总线协议

    SPI是串行外设接口(Serial Peripheral Interface)的缩写。是Motorola公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。主要应用在EEPROM,FLASH,实时时钟,AD转换
    发表于 10-26 15:27 814次阅读