知识卡片
Credit流控防拥塞
内容
PCIe的TLP流控基于Credit:接收端不断通过流控DLLP告知对方自己还剩多少接收空间,发送端据此判断该发还是等,而不是盲发后靠对方拒收再重传。这种”先问对方有没有空间”的机制避免了无谓的发送-拒绝-重传循环,比”发了再说”的被动纠错更省带宽。发散:Credit流控和TCP滑动窗口思路相通——限速的关键不是发送方多快,而是接收方还能吃下多少。
参考来源
- 位置:《深入浅出SSD:固态存储核心技术、原理与实战》第5章《PCIe介绍》5.8节"数据链路层·TLP流控(流量控制,Flow Control)"(源文件:_epub-src/OEBPS/text00101.html)
- 结论依据:原文明确TLP流控基于Credit、接收端主动通过DLLP告知剩余空间、发送端据此决定是否发送,直接支持卡片论点。
- 原始内容:"TLP流控基于Credit。每个TLP都有一定大小,发送者在发送前,先看看对方是否有足够的空间来接纳该TLP,如果有,则发送过去,否则就Hold在那里,直到对方有足够的空间再发……接收端会时不时通过DLLP来告诉对方我有多少TLP接收空间,然后发送端依据此信息决定是不是生成TLP并发送过去"