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

    文章

    248

    浏览量

    82659
  • 串行接口
    +关注

    关注

    3

    文章

    307

    浏览量

    42268

原文标题:串行协议之SATA

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

收藏 人收藏

    评论

    相关推荐

    7PIN SATA连接器的各针定义

    SATA是一种电脑总线,主要用作主板和数据存储设备(如硬盘及光盘驱动器)之间的数据传输,由于采用串行方式传输数据,也被称为串行连接器。产品具有结构简单、传输高效、支持热插拔等优点。市场
    的头像 发表于 03-22 18:35 142次阅读

    并行总线串行总线的区别

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

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

    SATA接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口,决定着硬盘与计算机之间的连接速度,在整个系统,硬盘接口的优劣,直接影响着程序运行快慢和系统性
    发表于 11-10 14:26

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

    能好坏。SATA接口介绍SATA(SerialATA)是串行ATA的缩写,是一种完全不同于并行ATA的新型硬盘接口类型。SATA接口使用嵌入式时钟信号,具备了更强的纠错
    的头像 发表于 11-10 08:07 343次阅读
    <b class='flag-5'>SATA</b>硬件驱动器接口的可制造性问题<b class='flag-5'>详解</b>

    一文详解SPI总线协议

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

    I2C总线原理详解

    I2C两线式串行总线通讯协议,它是由飞利浦开发的,主要用于连接微控制器及其外围设备之间,它是由数据线SDA和信号线SCL构成的,可发送和接收数据即在MUC和I2C设备之间,I2C和I2C之间进行全双工信号传输,高速I2C
    发表于 10-18 17:20 1077次阅读
    I2C<b class='flag-5'>总线</b>原理<b class='flag-5'>详解</b>

    SPI总线协议及时序图详解

    SPI,是英语 Serial Peripheral Interface 的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片
    发表于 09-22 08:10

    I2C串行总线协议是什么?I2C总线有哪些优点?

    I2C串行总线协议是什么?I2C总线有哪些优点? I2C(Inter-Integrated Circuit)是一种串行
    的头像 发表于 09-12 11:18 810次阅读

    can总线的通信协议有哪些 CAN接口保护及工作原理

    CAN总线(Controller Area Network)是一种广泛应用于汽车、工业自动化和其他领域的串行通信协议。以下是几种常见的CAN总线通信
    的头像 发表于 08-18 14:40 1.2w次阅读
    can<b class='flag-5'>总线</b>的通信<b class='flag-5'>协议</b>有哪些 CAN接口保护及工作原理

    SATA3.0接口的PCB布局布线要求

    SATA是serial ATA缩写,即串行ATA。它是一种电脑总线,主要功能是用于主板和大量存储设备(如硬盘即光盘驱动器)之间的数据传输。SATA3.0可在存储单元、磁盘驱动器、光学和
    的头像 发表于 08-14 07:40 5824次阅读
    <b class='flag-5'>SATA</b>3.0接口的PCB布局布线要求

    详解STM32F407VE中的串行总线功能

    在这一节里我们来一起完成STM32F407VE中的串行总线功能。所谓串行总线就是我们常常说的串口。串口中的信号线(数据线)只有2条,一条线为Tx,另一条为Rx,也就是发送线和接收线。所
    的头像 发表于 07-27 16:04 546次阅读
    <b class='flag-5'>详解</b>STM32F407VE中的<b class='flag-5'>串行</b><b class='flag-5'>总线</b>功能

    深入理解单总线协议

    目前常用的微机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。其中I2C总线
    的头像 发表于 06-15 00:46 5981次阅读
    深入理解单<b class='flag-5'>总线</b><b class='flag-5'>协议</b>

    串行总线分析仪力科M6-4介绍

    M6-4SAS/SATA协议分析仪是一款串行总线分析仪,支持主机和设备仿真,并提供错误注入功能。
    的头像 发表于 06-02 12:09 516次阅读
    <b class='flag-5'>串行</b><b class='flag-5'>总线</b>分析仪力科M6-4介绍

    揭开M.2接口的神秘面纱:NVMe协议SATA协议的差异

    M.2接口是一种新型的固态硬盘接口,可替代传统的MSATA接口规范。在国产主板上,M.2接口通常分为NVMe协议SATA协议两种类型。这两种协议的主要区别在于它们所使用的接口速度和
    的头像 发表于 05-15 14:19 5397次阅读

    串行通信SPI总线详解分析

      SPI(Serial Peripheral Interface)总线系统是一种同步串行外设接口,可以是MCU与各种外围设备以串行方式进行通信以交换信息,该接口一般使用4条线:串行
    的头像 发表于 05-05 16:40 3112次阅读
    <b class='flag-5'>串行</b>通信SPI<b class='flag-5'>总线</b>的<b class='flag-5'>详解</b>分析