SATA协议简介 SATA协议四层:应用层、传输层、链路层、物理层、 应用层:发送、执行Command命令,NCQ协议可以优化顺序、执行多条Command命令 传输层:把应用层传来的资料组装成FIS;把从链路层收到的FIS解开(FIS是一种用于Host和device之间信息传输的机制,FIS格式有14类,最大长度8192bits) 链路层:对传输层传来的FIS,...
SATA规定了一系列的registers,其中包括command register, control register和SATA registers。其中我们将command register和control register统称为shadow register,FIS的产生、传输、接收都和shadow register有很大的关系(在Device端是task file,它们的结构是一样的)。下图是一个简化的SATA shadow register的示意图: SATA Sha...
Port Multiplier具有两种切换机制:Command-based Switching和FIS-based Switching,可以翻译为基于命令的切换机制和基于FIS的切换机制,FIS(Frame Information Structure,帧信息结构)是SATA为了实现异步传输数据块而使用的封包,“正常”的SATA设备都使用FIS,除了第一代推出的实际上是包装过的PATA(同步传输)。要支持FIS,也需要...
1. 最高层级的Layer,进行ATA或ATAPI command的执行, 2. implementation上很多是用软件处理. Transport Layer (传输层): 1. 将Application Layer要做的Command转化成FIS的handshake, 2. 对FIS的组成和解开. Link Layer (数据链路层): 1. 将要打出去的data做编码, 将收进来的data做解码, 2. 维持Link Layer的h...
i.Command无法正常完成。这部分会记录在ATA的Status/Error register(也可以称为ATA shadow register). ii.FIS传输错误。这部分记录在SATA定义的Error register. iii.SATA链路传输error。这部分也记录在在SATA定义的Error register. iv.HBA(Host Bus Adapter)错误。这部分会记录在SATA定义的Error register或者IO bus re...
在Device端,当Queued Commands执行完成后, 通过发送Set Device Bits FIS告知Host完成状态,此时SActive区域对应TAG的相关内容(最多32个Command)。 FPDMARead Command(60h) Protocol如下: 我们抓取了一个FPDMA Read Command(60h)的SATA trace,如下图: 从上面的SATA trace我们可以得到: ...
其中我们将command register和control register统称为shadow register,FIS的产生、传输、接收都和shadow register有很大的关系(在Device端是task file,它们的结构是一样的)。下图是一个简化的SATA shadow register的示意图:从图中我们可以看出,HOST和Device之间的信号传输,在硬件层面和shadow register和task...
1. 将Application Layer要做的Command转化成FIS的handshake, 2. 对FIS的组成和解开. Link Layer : 1. 将要打出去的data做编码, 将收进来的data做解码, 2. 维持Link Layer的handshake机制. Physical Layer : 1. Tx和Rx串行流(serial stream), 2. 上电时序, ...
<1>Host发送H2D register FIS 给Device,该FIS中包含command=ECh <2>device 接到H2D之后看到ECh的command,知道其采用的PIO Data-In Protocol,故传送一个D2H的PIO Setup FIS通知Host已经准备好了,可以开始传送Data FIS了 <3>Host接到D2H的PIO Setup FIS,开始从Device端接收Data FIS ...
1. 最高层级的Layer,进行ATA或ATAPI command的执行, 2. implementation上很多是用软件处理. Transport Layer : 1. 将Application Layer要做的Command转化成FIS的handshake, 2. 对FIS的组成和解开. Link Layer : 1. 将要打出去的data做编码, 将收进来的data做解码, ...