一文了解SATA协议
概述SATA是一种基于行业标准的串行硬件驱动器接口,以连续串行的方式传输数据,支持热插拔,主要用于SATA主机与大容量存储设备之间的数据传输。目前,SATA一共发展了三代,分别为SATA1、SATA2和SATA3,向后兼容,每一代SATA具有相应的传输功能定义,并且它们的传输速率也不尽相同
概述
SATA是一种基于行业标准的串行硬件驱动器接口,以连续串行的方式传输数据,支持热插拔,主要用于SATA主机与大容量存储设备之间的数据传输。
目前,SATA一共发展了三代,分别为SATA1、SATA2和SATA3,向后兼容,每一代SATA具有相应的传输功能定义,并且它们的传输速率也不尽相同。SATA1的传输速率只有150MB/s,SATA2扩展为300MB/s,SATA3将端口的传输速率提升至6Gbit/s。
SATA3协议一共分为五层:应用层、命令层、传输层、链路层和物理层。由于命令层包含于应用层,因此在某些文献中,将应用层和命令层进行了合并,统称为应用层,这样SATA3协议一共分为四层。根据SATA接口协议,SATA主机端和设备端实现通信时,各层之间进行对等交互。
本文对SATA协议做简单介绍。
01
物理层
02
链路层
03
传输层
04
命令层/应用层
总结
应用层:负责所有ATA命令的解析和执行,向处理器报告硬盘的运行状态,发起数据读写请求,完成硬盘工作模式的设置和读取等。
命令层:负责解析ATA指令,做出相应的回应,并指导传输层构建FIS。
传输层:负责构建和解析FIS,完成组帧和解帧,调整命令层和链路层之间的数据格式,完成主机和设备的命令交互和数据传递。
链路层:SATA链路层执行过程为:主机端发送数据,计算其32bit的CRCR校验和,并将该校验和与发送的有效数据进行加扰,放在有效数据帧的最后一帧,经过8B/10B编码后传输至物理层;设备端接收数据,对接收的有效数据进行8B/10B解码以及解扰操作,计算本组数据的CRC校验和,并与设备端接收的校验和比较。
物理层:物理层位于协议的最底层,其功能是通过OOB(Out-of-Band)信号的检测以及原语交互,实现主机端控制器与设备端控制器的链路初始化和速度协商,并将主机和设备的链路状态向链路层反馈,建立数据通道,实现串并转换、并串转换等操作。目前,Xilinx的高速收发器可支持物理层设计与实现,并且包含了8B/10B编解码等功能。
文章图片来源网络,更多关于SATA协议的详细说明,可参考:
[1] Serial ATA International Organization. Serial ATA International Organization: Serial ATA Revision 3.0 specification.
[2] Mindshare,Inc.SATA Storage Technology.
相关文章
热门网址
-
19打开,有戏
时间线
热门标签
热门工具
Apple Store
扫码加公众号
本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容,联系邮箱:youmao@neone.com.cn
© 2010 - 2024 | 沪ICP备16045468号-5