SATA系列专题之三:3.3 Transport Layer传输层Flow Control机制解析

news/2024/12/28 21:02:35/文章来源:https://www.cnblogs.com/FireLife-Cheng/p/18528145

一、故事前传

在之前的文章中,已经解析了SATA协议的部分相关内容。

较为详细解释请见之前的文章:

1,浅析SATA Physical Layer物理层OOB信号;

2,SATA Link layer链路层解析2.0-2.3;

3,SATA Transport layer链路层解析3.0-3.2;

我们这里主要解析Transport layer Flow Control机制相关内容。

二、Flow Control

我们前面有提到传输层中Tx/Rx buffer只有7 DWs,也就是28 Bytes,  而我们Data FIS的最大长度是2049 DWs(8196 Bytes)。在Data传输过程中,如果不加管理和控制的话,就会出现欠载(UnderRuns)和过载(OverRuns)的情况。

在Data flow control的过程中,主要用了两个Primitive基元:HOLD和HOLDA。

  1. HOLD的作用是告知对方中止FIS传输;

  2. HOLDA的作用是告知HOLD发送者:“您的HOLD中止指令已收到,并且已中止FIS传输”。

发送端(Tranmitter)和接收端(Reciver)均可以启动Data flow control机制,主要分为以下四种情况:

  1. 发送端Tx Buffer接近空的时候;

  2. 发送端Tx Buffer接近满的时候;

  3. 接收端Rx Buffer接近满的时候;

  4. 接收端Rx Buffer接近空的时候;

 

(1)发送端Tx Buffer接近空的时候

Data FIS传输过程中,首先是接收端检测到FIS并且回复Primitive基元"R_IP"(Reception in Progress)给发送端(如下图)。

  • 当发送端Tx buffer接近空的时候,发送端会给接收端发送Primitive基元“HOLD”,告知接收端,data传输将会被暂停;

    注:发送端会一直发送HOLD,直到data传输被恢复。

  • 当接收端接收到HOLD之后,会反馈HOLDA给发送端。

图片

(2)发送端Tx Buffer接近满的时候

前面提到发送端会一直发送HOLD,直到data传输被恢复。一旦发送端Tx Buffer快满了,就会取消HOLD,并恢复data传输。接收端也会在HOLD之后立马检测到数据的传输,并且释放HOLDA。

图片

(3)接收端Rx Buffer接近满的时候

当接收端Rx buffer快满的时候,发送HOLD给接收端,告知发送端"先不要发送数据了,我快承受不来了,呜呜~"。

当发送端接到HOLD之后,会立马发送HOLDA安抚接收端"遵命~传输已中止~"。

图片

(4)接收端Rx Buffer接近空的时候

当接收端Rx  buffer快空的时候,会释放HOLD,欢快的告知发送端“快发送数据啦,我现在很空呢~”,同时会发送R_IP。发送端收到接收端R_IP的指示,恢复data传输。图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827186.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ipv6解析导致 blackbox_exporter 采集http监控项超时问题

排查过程 打开blackbox_exporter后台 http://127.0.0.1:9115/ 找到监控项对应的 Debug Logs点开查看日志: Logs for the probe: ts=2024-11-05T06:38:25.081157873Z caller=main.go:304 module=http_2xx target=http://img.xxx.cn/test.jpg level=info msg="Beginning pr…

SATA系列专题之二《2.2 Link layer链路层加扰/解扰/CRC解析》

文章目录系列文章目录 前言 一、故事前传 二、SATA Link Layer 加扰/解扰解析 二、SATA Link Layer CRC解析 总结 前言 一、故事前传我们之前说到Link layer的结构,link layer的作用大致可以包括以下几点:Frame flow controlCRC的生成与检测对数据与控制字符的Scrmable/Descr…

GBU1016-ASEMI新能源专用整流桥GBU1016

GBU1016-ASEMI新能源专用整流桥GBU1016编辑:ll GBU1016-ASEMI新能源专用整流桥GBU1016 型号:GBU1016 品牌:ASEMI 封装:GBU-4 批号:2024+ 现货:50000+ 最大重复峰值反向电压:1600V 最大正向平均整流电流(Vdss):10A 功率(Pd):中小功率 芯片个数:4 引脚数量:4 安装方式…

Rockylinux9 配置静态IP地址

像往常一样,安装完操作系统后,准备配置网络,直接cd到网络配置文件夹中,发现之前配置的参数文件没有了,只剩下一个readme,神奇,打开看看 大致总结下来就是:主要变化是从 Network-Scripts转为用 Network Manager 和 key 文件,而不是基于 ifcfg 的文件。 在 Rocky Linux …

SATA系列专题之一《1.0 Physical Layer物理层OOB信号》

文章目录前言一、SATA物理层概述二、OOB(Out of Band)信号解析三、实例解析总结前言 一、SATA物理层概述 说OOB之前,首先得了解一下SATA结构以及物理层的含义。 SATA主要包括:应用层(Application Layer), 传输层(Transport Layer),链路层(Link Layer)、物理层(Physical Laye…

易基因:多组学分析揭示围产期IL-6动物模型肾脏发育过程中的DNA甲基化+基因表达调控网络|Cells

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因, 慢性肾脏病(Chronic kidney disease,CKD)是全球发病率和死亡率的主要原因之一。母体肥胖与系统性炎症和促炎细胞因子白细胞介素-6(Interleukin-6,IL-6)水平升高有关。此前研究证明妊娠期间母体 IL-6 增加…

利用射线检测实现光束照射激活功能——2024TapTap聚光灯GameJam(一)

利用射线检测实现光束照射激活功能——2024TapTap聚光灯GameJam记录日期 2024-11-05                          记录时间 13:35 项目完成 2024-10-28                         历经时长 21 天 简介 项目主题:Light 项…

【救急手册】API挂了如何应对...淘宝...京东...1688...诸如此类

电商API在跑任务的路上可能会跌个大跟头。诸如淘宝、京东、1688等可能是它自己的问题(服务器错误),也可能是我们给的指令不对(客户端错误),又或者是网络在作怪。不管是哪种,我们的目标都是一样的:尽快解决问题,恢复正常。今天,我们来聊聊那些在数字世界中默默工作的英…

html属性

HTML 属性属性是 HTML 元素提供的附加信息。 属性总是以 name="value" 的形式写在标签内,name 是属性的名称,value 是属性的值。HTML 属性HTML 元素可以设置属性 属性可以在元素中添加附加信息 属性一般描述于开始标签 属性总是以名称/值对的形式出现,比如:name=…