首页 > 编程知识 正文

pcie原理,nvme和pcie的区别

时间:2023-05-03 20:42:41 阅读:134955 作者:1100

LTR:Latency Tolerance Reporting

LTR是PCIe协议中规定的可选功能,可用于提高系统的电源管理效率。

LTR允许PCIe设备通知系统,如果系统在此时间内响应来自PCIe设备的请求,最大允许的响应延迟是多少。 您可以根据LTR提供的信息优化系统的电源管理策略。 在需要设备时,系统迅速响应设备的要求; 如果不需要设备,系统可以在不超过设备LTR消息中指定的时间之前,将对设备请求的响应延迟一段时间。 例如,如果在系统处于低功耗状态时收到来自设备的请求,则稍后会响应该请求,以避免频繁从低功耗状态唤醒。

1. LTR寄存器

PCIe配置区域中的Device Capability 2寄存器指示设备是否支持LTR,如下图所示。

PCIe配置区域中的Device Control 2寄存器指示设备是否启用LTR,如下图所示。

PCIe协议规定,如果要启用PCIe设备的LTR,则必须首先启用接近Root Complex的设备。 仅当同时支持Endpoint连接的根端口和中间交换机并启用LTR时,才能启用该Endpoint的LTR。

允许支持LTR的Endpoints和不支持LTR的Endpoints同时存在于同一PCIe总线系统中。

如果Root Port或交换机在不支持LTR或LTR不可用的情况下从Endpoint接收到LTR消息,则必须按照Unsupported Request进行操作。

Endpoint建议在LTR生效后立即发送LTR消息。 同时,强烈建议Endpoint在500 us内发送的LTR消息不超过两条。 但是,除非协议要求这样做。

LTR信息必须发送到Root Complex。 Root Complex的下游端口(downstream )可能会连接许多Endpoint,每个Endpoint都会发送LTR信息。 Root Complex在收到的所有LTR信息中选择最小值作为实际使用条件。

2. LTR消息(ltr消息)。

LTR消息格式如下图所示。

LTR消息包含两个latency值:无快照等待时间和快照等待时间。 两者的格式相同:

Latency Value and Scale:使用这两个参数的组合,可以将Latency设置为1纳秒到34秒。 如果将这两个值都设置为0,则延迟会影响设备,因此系统必须在第一时间响应来自设备的请求。 根据请求的类型,Latency的含义如下: 对于读取请求,Latency是从发出读取请求TLP的endid到接收第一个Completion TLP的STPid的时间。 对于写请求,Latency是指从发出Endpoint写请求TLP的endid到Endpoint可以发出下一个写请求之间的时间。 写请求的Latency会受到pcie(flowcontrol )的影响。 例如,在Endpoint发出写入请求后,Endpoint无法发送下一个写入请求,因为连接到其上游端口(upstream )的设备(Root Port或Switch )的credits不足要使Endpoint继续发送新的写入请求,Endpoint必须被对方的DLLP告知有足够的credits。 这种情况下,Latency是从发出了最初的写入请求的END显示到接收到释放credits的DLLP的STP标志为止的时间。 33558 www.Sina.com/:是否需要latency value。 可以设定为0或1。 例如,如果PCIe设备不发出无snoop请求,或者无snoop请求没有latency要求,则可以将LTR消息的无snoop latency区域的请求位设置为0。 如果PCIe设备a发送LTR消息,并且接收到该消息的设备b没有启用LTR消息,或者如果设备处于低于D0的低功耗状态,则设备a再次发送该消息的requirement

本文图片来自MindShare,Inc经典《PCI Express Technology》。

有关PCIe的详细信息,请单击链接。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。