系列文章目录
前言
一、故事前传
在之前的文章中,我们有提到SATA主要包括:应用层(Application Layer), 传输层(Transport Layer),链路层(Link Layer)以及物理层(Physical Layer), SATA结构如下图:
较为详细解释请见之前的文章:
1,浅析SATA Physical Layer物理层OOB信号;
2,SATA Link layer链路层解析 2.0-2.3;
我们这里主要解析Transport layer相关内容。
二、SATA Transport Layer传输层概述
当Host下发Command时(如下图),传输层的职责大致有:
-
发送时根据Command的种类及格式构造FIS(Frame Information Structure),接受时检测FIS种类并分解得到有用资讯
-
通知Link Layer传送Frame以及获取Link Layer传来的Frame receipt确认信息,(host收到FIS后也会向device发送确认信息的FIS)
-
管理和流量控制(Flow Control)
-
向Application Layer报告传输完成或者报错(Error Reporting)
简单的讲,传输层不必关心需要传输或接收资讯的多少,只需把要传输的资料封装成FIS 格式,发送到Link Layer,或者把收到的FIS去除封装,提交给Application Layer。
后续文章会针对FIS,Flow Control以及Error Reporting三个部分详细解析,敬请期待呀~Oh, man, Come on!
总结