本文作者:kaifamei

一种支持多模式交换的PCIe交换电路交换方法和装置与流程

更新时间:2025-01-09 09:26:07 0条评论

一种支持多模式交换的PCIe交换电路交换方法和装置与流程


一种支持多模式交换的pcie交换电路交换方法和装置
技术领域
1.本发明属于集成电路设计领域,具体涉及一种支持多模式交换的pcie交换电路交换方法和装置。


背景技术:



2.pcie总线是在第一代eisa、isa、vesa总线和第二代agp、pci、pci-x总线之后推出的第三代高性能io总线,在计算机装置中获得广泛应用;在一个pcie装置中,pcie交换电路用于将多个电子部件或模块进行互联通讯,pcie交换电路一般具有两个或两个以上的pcie端口,其取决于端口连接的对端设备的链路能力,各个端口可以训练到不同的链路宽度和速率进行事务的交换。
3.pcie交换电路内部需要交换的事务包括存储器事务、io事务、配置事务、消息事务,其中,存储器写请求和消息事务为转发事务(posted tlp),不需要反馈完成包;io事务、配置事务和存储器读请求为非转发事务(non-posted tlp,np tlp),需要返回完成包(completion tlp);功能复杂的pcie交换电路一般支持直通和存储转发两种交换模式。直通模式交换无需完成整个数据包的接收就从出端口输出数据包,从而具有交换延迟低的优点,但存在尾部发生错误后数据重传过高的占用链路带宽的缺点;存储转发模式交换是将整个数据包接收存储后从出端口输出,交换延迟大,但尾部数据发生错误后数据重传占用链路带宽小。
4.关于pcie交换电路实现机制的文献很少,从应用的角度看,现有的同时支持直通和存储转发两种交换模式的pcie交换电路只提供了一个全局控制寄存器位,由用户软件等配置装置选择电路固定工作于某一种交换模式,实际应用中不能满足用户对不同端口和事务的差异化交换需求,从而影响了整个装置的交换性能。


技术实现要素:



5.针对现有技术中存在的问题,本发明提供一种支持多模式交换的pcie交换电路交换方法和装置,由硬件自动且动态的进行当前交换事务的交换模式选择,提高了装置的交换性能。
6.本发明是通过以下技术方案来实现:
7.一种支持多模式交换的pcie交换电路交换方法,包括以下步骤:
8.s1:对当前接收的交换事务的入端口和出端口的通信速率进行比较,并解析该交换事务的事务类型和包含的数据载荷长度;
9.s2:从入端口进入的需要交换到出端口的所有np事务包、不带数据载荷的完成包、消息请求包、数据载荷长度不大于一个双字的完成包和存储器写请求包选择存储转发交换模式,并以存储转发模式交换到出端口;
10.s3:对于从入端口进入的需要交换到出端口的带数据载荷且数据载荷长度大于一个双字的完成事务和存储器写请求包依据入端口和出端口的通信速率比较结果,将所带数
据载荷的长度选择直通交换或者存储转发模式进行交换;
11.s4:将采用直通模式或存储转发模式的当前交换的事务写入缓存,事务写入缓存的同时将选择的当前事务交换模式信息存储在缓存中;
12.s5:按读取的事务交换信息确定当前事务的交换模式,若为直通模式,则从该入端口进入的带数据载荷的完成事务和mwr事务以直通模式交换到该出端口,否则以存储转发模式进行该事务的转发。
13.进一步,所述步骤s3中在判断选择直通交换或者存储转发模式时,若入端口的通信速率大于或等于出端口的通信速率时,从该入端口进入的带数据载荷且数据载荷长度大于一个双字的完成包和存储器写请求包选择直通交换模式;
14.若入端口的通信速率小于出端口的通信速率时,从该入端口进入的需要交换到该出端口的带数据载荷的完成包和存储器写请求包所带数据载荷的长度超过门限时选择直通模式交换,否则选择存储转发模式交换。
15.进一步,所述数据载荷长度的门限由入端口和出端口的通信速率比值确定,其比值越小门限值越大。
16.进一步,所述步骤s4中事务的写入过程事务发生错误时,若当前事务选择为存储转发交换模式时,清除缓存中的当前事务的缓存部分并不再存储当前事务的剩余部分;
17.若当前事务选择为直通交换模式时,继续接收当前事务并在当前事务接收结束时在缓存中事务的尾部标记错误标记位。
18.进一步,所述pcie交换电路内部事务的交换模式与交换的入出端口、交换事务类型和包含的数据载荷长度相关,其交换模式为动态交换模式。
19.进一步,同一入端口和出端口组成的交换线路,若为不同的事务,则在pcie交换电路内的交换模式可能不同;
20.在入端口和出端口的链路通信速率保持不变时,若为同一事务在同一交换线路内,则其交换模式相同;
21.当入端口或者出端口的链路通信速率因链路重训练发生变化时,若为同一事务在同一交换线路内,则其交换模式与通信速率变化前可能不同。
22.一种支持多模式交换的pcie交换电路交换装置,包括:
23.写入与缓存模块,用于写入交换事务包,并在写入的同时基于包信息和速率比较查询模块输出的输入输出端口速率比较信息生成交换模式信息,并将当前事务包与交换模式信息同时写入缓存;
24.包解析模块,用于从入端口的端口控制器接收进入pcie交换电路的各种交换事务,依据事务头信息解析事务的类型、数据载荷长度和目标出端口并对事务的正确性进行检测,将事务头部信息未检测出错误的交换事务及其解析结果、检测的错误状态送入写入与缓存模块;
25.速率比较查询表模块,用于获得pcie交换电路中各个端口的当前通信速率并对不同入端口、出端口的速率比较,将当前入端口接收的事务对应的入端口和出端口的通信速率比较结果送往写入与缓存模块;
26.读取与交换模块,用于读取写入与缓存模块存储的交换事务及其交换模式信息,按照交换模式信息选择当前事务的交换模式并择机启动交换;
27.出端接收模块,用于从读取与交换模块接收交换事务包,将事务包按照端口控制器的接口要求送给端口控制器进行发送。
28.进一步,所述写入与缓存模块用于在当前事务的写入过程中包解析模块检测到事务发生ecrc等错误时进行判断,若当前事务为选择存储转发交换模式时,则清除缓存中的当前事务的缓存部分并不再存储当前事务的剩余部分;
29.若当前事务为选择直通交换模式时,则继续接收当前事务并在当前事务接收结束时在缓存中事务的尾部标记错误标记位。
30.进一步,所述读取与交换模块用于在选择直通模式时依据读取的交换模式信息立即启动交换或者等待缓存中的数据达到预设数量后将当前事务缓存读取并交换到出端接收模块;
31.在选择存储转发模式时,当缓存中存储完整个事务包后将事务读取并交换到出端接收模块;当读取与交换模块读取的缓存中事务的尾部错误标记位有效时将错误信息通知给出端接收模块。
32.进一步,所述读取与交换模块用于对从入端口进入的需要交换到出端口的所有np事务包、不带数据载荷的完成包、消息请求包、数据载荷长度不大于一个双字的完成包和存储器写请求包生成表示存储转发交换模式的交换模式信息。
33.与现有技术相比,本发明具有以下有益的技术效果:
34.本发明提供一种支持多模式交换的pcie交换电路交换方法和装置,基于pcie交换电路的入端口和出端口的通信速率比较、交换事务的事务类型和包含的数据载荷长度由硬件自动和动态的进行当前交换事务的交换模式选择,能够支持直通模式和存储转发模式两种交换方式且交换模式由输入输出端口的通信速率比值、交换事务类型和包含的数据载荷长度自动动态选择,无需软件配置;同时对于入端口通信速率大于或等于出端口通信速率的交换线路,自动选择直通交换模式,发挥了直通模式交换延时小、效率高的优势;其次对于np事务包、不带数据载荷的完成包、消息请求包、数据载荷长度不大于一个双字的完成包和存储器写请求包因其不带数据载荷或仅有一个双字数据载荷,选择存储转发交换模式相比直通模式增加的交换延迟几乎可以忽略,但却避免了事务尾部校验出错时事务重传对出端口带宽的占用,提高了装置性能;同时对于入端口通信速率小于出端口通信速率的线路上数据载荷长度大于一个双字的完成包和储存器写请求包,由pcie交换电路按照事务的数据载荷长度自动选择交换模式,对于未到达数据载荷门限的事务包采用存储转发模式,对于超过数据载荷门限的事务包采取直通交换模式进行交换,不同的端口速率比值有不同的数据载荷门限,既确保了以pcie交换电路为中心的整个pcie装置具有适中的数据交换平均延迟,又避免了数据载荷过大的事务包以存储转发模式交换时事务尾部发生错误重传时过高的占用链路带宽从而整体上提升了pcie装置的交换性能;最后直通模式和存储转发模式都将当前交换事务写入缓存避免了两种交换模式分别采用不同的路径交换产生的逻辑开销并且简化了控制。
附图说明
35.图1为本发明一种支持多模式交换的pcie交换电路交换方法流程图;
36.图2为本发明具体实施例中pcie交换电路的简要原理图;
37.图3为本发明一种支持多模式交换的pcie交换电路交换装置示意图。
具体实施方式
38.下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
39.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
40.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
41.本发明提供一种支持多模式交换的pcie交换电路交换方法,如图1所示,包括以下步骤:
42.s1:对当前接收的交换事务的入端口和出端口的通信速率进行比较,并解析该交换事务的事务类型和包含的数据载荷长度;
43.s2:从入端口进入的需要交换到出端口的所有np事务包、不带数据载荷的完成包、消息请求包、数据载荷长度不大于一个双字的完成包和存储器写请求包选择存储转发交换模式,并以存储转发模式交换到出端口;
44.s3:对于从入端口进入的需要交换到出端口的带数据载荷且数据载荷长度大于一个双字的完成事务和存储器写请求包依据入端口和出端口的通信速率比较结果,将所带数据载荷的长度选择直通交换或者存储转发模式进行交换;
45.s4:将采用直通模式或存储转发模式的当前交换的事务写入缓存,事务写入缓存的同时将选择的当前事务交换模式信息存储在缓存中;
46.s5:按读取的事务交换信息确定当前事务的交换模式,若为直通模式,则从该入端口进入的带数据载荷的完成事务和mwr事务以直通模式交换到该出端口,否则以存储转发模式进行该事务的转发。
47.优选的,所述步骤s3中在判断选择直通交换或者存储转发模式时,若入端口的通信速率大于或等于出端口的通信速率时,从该入端口进入的带数据载荷且数据载荷长度大于一个双字的完成包和存储器写请求包选择直通交换模式;
48.若入端口的通信速率小于出端口的通信速率时,从该入端口进入的需要交换到该出端口的带数据载荷的完成包和存储器写请求包所带数据载荷的长度超过门限时选择直通模式交换,否则选择存储转发模式交换。
49.优选的,所述数据载荷长度的门限由入端口和出端口的通信速率比值确定,其比
值越小门限值越大。
50.优选的,所述步骤s4中事务的写入过程中事务发生错误时,若当前事务选择为存储转发交换模式时,清除缓存中的当前事务的缓存部分并不再存储当前事务的剩余部分;
51.若当前事务选择为直通交换模式时,继续接收当前事务并在当前事务接收结束时在缓存中事务的尾部标记错误标记位。
52.优选的,所述pcie交换电路内部事务的交换模式与交换的入出端口、交换事务类型和包含的数据载荷长度相关,其交换模式为动态交换模式。
53.优选的,同一入端口和出端口组成的交换线路,若为不同的事务,则在pcie交换电路内的交换模式可能不同;
54.在入端口和出端口的链路通信速率保持不变时,若为同一事务在同一交换线路内,则其交换模式相同;
55.当入端口或者出端口的链路通信速率因链路重训练发生变化时,若为同一事务在同一交换线路内,则其交换模式与通信速率变化前可能不同。
56.本发明提供一种支持多模式交换的pcie交换电路交换装置,如图2所示,包括:
57.写入与缓存模块,用于写入交换事务包,并在写入的同时基于包信息和速率比较查询模块输出的输入输出端口速率比较信息生成交换模式信息,并将当前事务包与交换模式信息同时写入缓存;
58.包解析模块,用于从入端口的端口控制器接收进入pcie交换电路的各种交换事务,依据事务头信息解析事务的类型、数据载荷长度和目标出端口并对事务的正确性进行检测,将事务头部信息未检测出错误的交换事务及其解析结果、检测的错误状态送入写入与缓存模块;
59.速率比较查询表模块,用于获得pcie交换电路中各个端口的当前通信速率并对不同入端口、出端口的速率比较,将当前入端口接收的事务对应的入端口和出端口的通信速率比较结果送往写入与缓存模块;
60.读取与交换模块,用于读取写入与缓存模块存储的交换事务及其交换模式信息,按照交换模式信息选择当前事务的交换模式并择机启动交换;
61.出端接收模块,用于从接收读取与交换模块接收交换事务包,将事务包按照端口控制器的接口要求送给端口控制器进行发送。
62.优选的,所述写入与缓存模块用于在当前事务的写入过程中包解析模块检测到事务发生ecrc等错误时进行判断,若当前事务为选择存储转发交换模式时,则清除缓存中的当前事务的缓存部分并不再存储当前事务的剩余部分;
63.若当前事务为选择直通交换模式时,则继续接收当前事务并在当前事务接收结束时在缓存中事务的尾部标记错误标记位。
64.优选的,所述读取与交换模块用于在选择直通模式时依据读取的交换模式信息立即启动交换或者等待缓存中的数据达到预设数量后将当前事务缓存读取并交换到出端接收模块;
65.在选择存储转发模式时,当缓存中存储完整个事务包后将事务读取并交换到出端接收模块;当读取与交换模块读取的缓存中事务的尾部错误标记位有效时将错误信息通知给出端接收模块。
66.优选的,所述读取与交换模块用于对从入端口进入的需要交换到出端口的所有np事务包、不带数据载荷的完成包、消息请求包、数据载荷长度不大于一个双字的完成包和存储器写请求包生成表示存储转发交换模式的交换模式信息。
67.本发明提供一种优选实施例为:
68.如图3所示,该款pcie交换电路共有八个端口,每个端口的物理层和端口控制器和交换装置相连,也与其它应用逻辑相连;该实施例每个端口的物理层和端口控制器负责从pcie物理链路上接收对端装置发送的字符信息,将需要从其它端口交换前推的事务包提交给交换装置,由交换装置动态选择合适的交换模式后将事务交换到其它端口的物理层和端口控制器;交换装置向其它应用逻辑输出检测的事务错误状态。图1中的其它应用逻辑不属于本发明的内容,只是为了配合说明本发明实施例电路的原理,是指不属于pcie事务交换的任何其它功能,比如,可以是包含中断处理功能、配置功能、故障处理功能等在内的逻辑集合,这里不做限制,为突出本发明的内容,也不再对其它应用逻辑进行赘述。
69.如图2所示,一种支持多模式交换的pcie交换电路交换装置由入端口的包解析模块、写入与缓存模块、速率比较查询表模块、读取与交换模块、出端口的出端接收模块组成,支持直通和存储转发两种交换模式;
70.包解析模块,用于从入端口的端口控制器接收进入pcie交换电路的各种交换事务,依据事务头中的fmt[2:0]和type[4:0]域解析事务的类型,依据事务头的length[9:0]域解析数据载荷长度,依据事务头中的地址、请求者标识符(requester id)和完成者标识符(completer id)、type[2:0]域等信息确定目标出端口,并依据端口控制器提供的数据链路层和事务层ecrc校验检查结果等事务信息进行事务的正确性检测,将包头未检测出错误的交换事务及其解析结果、检测的错误状态tlperr送入写入与缓存模块,同时将包头或者数据载荷部分检出的错误送往位于交换装置外的其它应用逻辑中的故障处理逻辑;
[0071]
速率比较查询表模块,用于依据各个端口的链路状态寄存器(link status register)中的“协商的链路宽度”和“当前链路速率”状态域获得pcie交换电路中各个端口的当前通信速率并对不同入端口、出端口的速率比较,将当前入端口接收的事务对应的入端口和出端口的通信速率比值fprate送往写入与缓存模块;该实施例的端口的链路宽度最大为8,最大单向通信速率为5gbps
×
8=40gbps,所有端口均可以协商到单通路链路宽度、单通路2.5gbps的链路速率。如表1分析,本实施例的入端和出端口的通信速率比较值fprate设计为4位,可以表示出1/16、1/8、1/4、1/2、1/1五种情况。
[0072]
表1
[0073]
[0074][0075]
写入与缓存模块,用于将交换事务包写入缓存模块,写入的同时依据包解析模块输出的包信息和速率比较查询模块输出的输入输出端口速率比较信息fprate生成交换模式信息sfthrld,在将当前事务包写入缓存的同时将生成的交换模式信息sfthrld同时写入缓存;当事务的写入过程中收到的包解析模块输出的tlperr有效时:如果当前事务选择为存储转发交换模式时,清除缓存中的当前事务的缓存部分并不再存储当前事务的剩余部分;如果当前事务选择为直通交换模式时,继续接收当前事务并在当前事务接收结束时在缓存中事务的尾部标记错误标记位tlperr;
[0076]
对于np事务包、不带数据载荷的完成包、消息请求包、数据载荷长度不大于一个双字(dw)的完成包和存储器写请求包(mwr)生成的交换模式信息sfthrld为0011,表示存储转发模式;对于从入端口进入的需要交换到出端口的带数据载荷且数据载荷长度大于一个双字的完成包和存储器写请求包:
[0077]
1)当入端口的通信速率大于或等于出端口的通信速率时,从该入端口进入的上述带数据载荷且数据载荷长度大于一个双字的完成包和存储器写请求包写入与缓存模块生成的交换模式信息sfthrld为0000,表示直通模式;
[0078]
2)当入端口的通信速率小于出端口的通信速率时,从入端口进入的需要交换到出端口的带数据载荷且数据载荷长度大于一个双字的完成包和mwr事务包其所带数据载荷的长度超过门限时,生成的交换模式信息sfthrld等于输入输出端口通信速率比较编码fprate,表示直通模式;否则,生成的交换模式信息sfthrld为0011,表示存储转发模式;所述数据载荷长度的门限取决于fprate表示的入端口和出端口的通信速率比值,当fprate表示的速率比值大于或等于1/4时数据载荷长度的门限为128字节,当fprate表示的速率比值为1/8时数据载荷长度的门限为512字节;当fprate表示的速率比值为1/16时数据载荷长度的门限为1024字节;
[0079]
读取与交换模块,用于读取写入与缓存模块存储的交换事务及其交换模式信息,按照交换模式信息选择当前事务的交换模式并择机启动交换:当读取的交换模式信息sfthrld为0000表示选择直通模式且入端口通信速率大于或等于出端口通信速率,立即启动交换并读取事务的剩余部分向出端口进行交换;当读取的sfthrld为0011时表示选择存储转发模式,当缓存中储存了完整事务包后读取并交换到出端接收模块;当读取的sfthrld为1000、1100、1110、1111时表示选择直通模式且入端口通信速率小于出端口通信速率,当缓存中存储的数据量lstore和事务的长度域指示的数据长度ltlp满足lstore≥ltlp
×
sfthrld/16这一条件后将带数据载荷的完成事务和p事务读取并交换到出端接收模块;
[0080]
进一步的,当读取与交换模块读取的缓存中事务的尾部错误标记位tlperr有效时读取与交换模块以信号的形式将tlperr有效信息通知给出端接收模块;
[0081]
出端接收模块,用于从接收读取与交换模块接收交换事务包,将事务包按照端口控制器的接口要求送给端口控制器进行发送;在事务包的尾部接收时,如果读取与交换模
块以信号通知该事务tlperr有效,出端接收模块在将当前事务包发送给端口控制器时使能端口控制器的错误指示信号,使得端口控制器以edb(end data bad)符号结束当前事务包。
[0082]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

技术特征:


1.一种支持多模式交换的pcie交换电路交换方法,其特征在于,包括以下步骤:s1:对当前接收的交换事务的入端口和出端口的通信速率进行比较,并解析该交换事务的事务类型和包含的数据载荷长度;s2:从入端口进入的需要交换到出端口的所有np事务包、不带数据载荷的完成包、消息请求包、数据载荷长度不大于一个双字的完成包和存储器写请求包选择存储转发交换模式,并以存储转发模式交换到出端口;s3:对于从入端口进入的需要交换到出端口的带数据载荷且数据载荷长度大于一个双字的完成事务和存储器写请求包依据入端口和出端口的通信速率比较结果,将所带数据载荷的长度选择直通交换或者存储转发模式进行交换;s4:将采用直通模式或存储转发模式的当前交换的事务写入缓存,事务写入缓存的同时将选择的当前事务交换模式信息存储在缓存中;s5:按读取的事务交换信息确定当前事务的交换模式,若为直通模式,则从该入端口进入的带数据载荷的完成事务和mwr事务以直通模式交换到该出端口,否则以存储转发模式进行该事务的转发。2.根据权利要求1所述一种支持多模式交换的pcie交换电路交换方法,其特征在于,所述步骤s3中在判断选择直通交换或者存储转发模式时,若入端口的通信速率大于或等于出端口的通信速率时,从该入端口进入的带数据载荷且数据载荷长度大于一个双字的完成包和存储器写请求包选择直通交换模式;若入端口的通信速率小于出端口的通信速率时,从该入端口进入的需要交换到该出端口的带数据载荷的完成包和存储器写请求包所带数据载荷的长度超过门限时选择直通模式交换,否则选择存储转发模式交换。3.根据权利要求2所述一种支持多模式交换的pcie交换电路交换方法,其特征在于,所述数据载荷长度的门限由入端口和出端口的通信速率比值确定,其比值越小门限值越大。4.根据权利要求1所述一种支持多模式交换的pcie交换电路交换方法,其特征在于,所述步骤s4中事务的写入过程事务发生错误时,若当前事务选择为存储转发交换模式时,清除缓存中的当前事务的缓存部分并不再存储当前事务的剩余部分;若当前事务选择为直通交换模式时,继续接收当前事务并在当前事务接收结束时在缓存中事务的尾部标记错误标记位。5.根据权利要求1所述一种支持多模式交换的pcie交换电路交换方法,其特征在于,所述pcie交换电路内部事务的交换模式与交换的入出端口、交换事务类型和包含的数据载荷长度相关,其交换模式为动态交换模式。6.根据权利要求1所述一种支持多模式交换的pcie交换电路交换方法,其特征在于,同一入端口和出端口组成的交换线路,若为不同的事务,则在pcie交换电路内的交换模式可能不同;在入端口和出端口的链路通信速率保持不变时,若为同一事务在同一交换线路内,则其交换模式相同;当入端口或者出端口的链路通信速率因链路重训练发生变化时,若为同一事务在同一交换线路内,则其交换模式与通信速率变化前可能不同。7.一种支持多模式交换的pcie交换电路交换装置,其特征在于,基于权利要求1-6所述
任意项一种支持多模式交换的pcie交换电路交换方法,包括:写入与缓存模块,用于写入交换事务包,并在写入的同时基于包信息和速率比较查询模块输出的输入输出端口速率比较信息生成交换模式信息,并将当前事务包与交换模式信息同时写入缓存;包解析模块,用于从入端口的端口控制器接收进入pcie交换电路的各种交换事务,依据事务头信息解析事务的类型、数据载荷长度和目标出端口并对事务的正确性进行检测,将事务头部信息未检测出错误的交换事务及其解析结果、检测的错误状态送入写入与缓存模块;速率比较查询表模块,用于获得pcie交换电路中各个端口的当前通信速率并对不同入端口、出端口的速率比较,将当前入端口接收的事务对应的入端口和出端口的通信速率比较结果送往写入与缓存模块;读取与交换模块,用于读取写入与缓存模块存储的交换事务及其交换模式信息,按照交换模式信息选择当前事务的交换模式并择机启动交换;出端接收模块,用于从读取与交换模块接收交换事务包,将事务包按照端口控制器的接口要求送给端口控制器进行发送。8.根据权利要求7所述一种支持多模式交换的pcie交换电路交换装置,其特征在于,所述写入与缓存模块用于在当前事务的写入过程中包解析模块检测到事务发生ecrc等错误时进行判断,若当前事务为选择存储转发交换模式时,则清除缓存中的当前事务的缓存部分并不再存储当前事务的剩余部分;若当前事务为选择直通交换模式时,则继续接收当前事务并在当前事务接收结束时在缓存中事务的尾部标记错误标记位。9.根据权利要求7所述一种支持多模式交换的pcie交换电路交换装置,其特征在于,所述读取与交换模块用于在选择直通模式时依据读取的交换模式信息立即启动交换或者等待缓存中的数据达到预设数量后将当前事务缓存读取并交换到出端接收模块;在选择存储转发模式时,当缓存中存储完整个事务包后将事务读取并交换到出端接收模块;当读取与交换模块读取的缓存中事务的尾部错误标记位有效时将错误信息通知给出端接收模块。10.根据权利要求7所述一种支持多模式交换的pcie交换电路交换装置,其特征在于,所述读取与交换模块用于对从入端口进入的需要交换到出端口的所有np事务包、不带数据载荷的完成包、消息请求包、数据载荷长度不大于一个双字的完成包和存储器写请求包生成表示存储转发交换模式的交换模式信息。

技术总结


本发明提供一种支持多模式交换的PCIe交换电路交换方法和装置,对当前接收的交换事务的入端口和出端口的通信速率进行比较,并解析该交换事务的事务类型和包含的数据载荷长度;选择存储转发交换模式,并以存储转发模式交换到出端口;对于从入端口进入的需要交换到出端口的带数据载荷且数据载荷长度大于一个双字的完成事务和存储器写请求包依据入端口和出端口的通信速率比较结果,将所带数据载荷的长度选择直通交换或者存储转发模式进行交换;基于PCIe交换电路将当前交换的事务写入缓存,事务写入缓存的同时将选择的当前事务交换模式信息存储在缓存中;按读取的事务交换信息确定当前事务的交换模式,本申请由硬件自动且动态的进行当前交换事务的交换模式选择,提高了装置的交换性能。置的交换性能。置的交换性能。


技术研发人员:

翟宝峰 董劭颖 王剑峰 杨靓 祁美娟 郝奎 王蕊琪 李海松

受保护的技术使用者:

西安微电子技术研究所

技术研发日:

2022.10.18

技术公布日:

2023/1/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-87747-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-29 20:12:32

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论