一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种FSI主控制器及其端口路由装置和方法与流程

2023-01-02 18:20:31 来源:中国专利 TAG:

一种fsi主控制器及其端口路由装置和方法
技术领域
1.本发明涉及数据传输技术领域,特别是涉及一种fsi主控制器及其端口路由装置和方法。


背景技术:

2.fsi(field replaceable unit service interface,现场可更换单元服务接口)协议由ibm提出,可以对系统中所有芯片进行服务访问,fsi接口在ibm服务器中已经成功使用多年,可以灵活支持处理器连接到cpu(central processing unit,中央处理器)和ibm的asic(application specific integrated circuit,专用集成电路)。是bmc(board management controller,基板管理控制器)中的重要接口之一。
3.目前,有bmc芯片厂家使用的fsi控制器使用的是opb(on-chip peripheral bus,片上外设总线)接口协议,主要应用于ibm的core connect总线架构下,但是fsi主控制器的内部架构是未知的,即相当于是黑盒结构,如果使用则需要自研。如果将该fsi主控制器使用在arm的 amba(advanced microcontroller bus architecture,高级微控制器总线架构)总线架构下,需要使用各种总线接口桥的转换,传输效率降低。
4.目前的一些自研fsi主控制器的设计中,是将其中的各个桥接模块和相应的端口发送模块进行固定连接,灵活性较低,也不利于保障数据传输的稳定性和效率。
5.综上所述,如何有效地实现fsi主控制器灵活的端口路由,保障数据传输的稳定性和效率,是目前本领域技术人员急需解决的技术问题。


技术实现要素:

6.本发明的目的是提供一种fsi主控制器及其端口路由装置和方法,以有效地实现fsi主控制器灵活的端口路由,保障数据传输的稳定性和效率。
7.为解决上述技术问题,本发明提供如下技术方案:一种fsi主控制器的端口路由装置,包括:分别与fsi主控制器中的n个桥接模块连接的n路输入缓冲电路,任意1路输入缓冲电路中均设置了k个输入缓存,且任意1路输入缓冲电路均用于:在接收到与自身连接的桥接模块发送的数据时,根据数据类型确定出相对应的虚拟通道编号,并将接收的所述数据存储在与所述虚拟通道编号相对应的输入缓存中;与n路输入缓冲电路,m路输出端口电路,以及交叉开关电路均连接的仲裁电路,用于在任意1路输出端口电路的任意1个虚拟通道为可用状态,且存在针对该虚拟通道的数据传输请求时,基于第一优先级规则选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求,并进行交叉开关电路的控制,以使得相应的输入缓冲电路将选取出的所述数据传输请求所指向的数据内容通过所述交叉开关电路发送至该虚拟通道对应的输出缓存中;所述交叉开关电路;
m路输出端口电路,任意1路输出端口电路中均设置了k个输出缓存,且任意1路输出端口电路均用于:将输出缓存中的数据发送至与自身相连接的端口;其中,k,n以及m均为不小于2的正整数。
8.优选的,所述输入缓冲电路具体用于:在接收到与自身连接的桥接模块发送的数据时,根据地址信息确定出数据类型,并确定出与所述数据类型相对应的虚拟通道编号,并将接收的所述数据存储在与所述虚拟通道编号相对应的输入缓存中。
9.优选的,所述数据类型包括:表示地址信息为绝对地址的第一数据类型,表示地址信息为相对地址的第二数据类型,以及表示地址信息为相同地址的第三数据类型。
10.优选的,所述第一优先级规则包括:针对任意1个数据传输请求,该数据传输请求的优先级与该数据传输请求的存在时长呈正相关,与目标间隔时长呈正相关;其中,所述目标间隔时长表示的是发起该数据传输请求的输入缓冲电路上一次发送数据的时刻与当前时刻的时间间隔。
11.优选的,所述输出端口电路还用于:在将输出缓存中的数据发送至与自身相连接的端口之后,向发送该数据的前级设备反馈数据发送完成的提示。
12.优选的,所述输出端口电路具体用于:判断与自身相连接的端口是否为可用状态;如果是,则按照预设规则,将输出缓存中的数据发送至与自身相连接的端口。
13.优选的,所述输出端口电路具体用于:判断与自身相连接的端口是否为可用状态;如果是,则按照第二优先级规则,将输出缓存中的数据发送至与自身相连接的端口。
14.优选的,所述输出端口电路具体用于:判断与自身相连接的端口是否为可用状态;如果是,则将k个输出缓存中数据量最多的作为最高优先级的输出缓存;将最高优先级的输出缓存中的数据发送至与自身相连接的端口。
15.优选的,所述输出端口电路具体用于:判断与自身相连接的端口是否为可用状态;如果是,则将k个输出缓存依次作为最高优先级的输出缓存;将当前最高优先级的输出缓存中的数据发送至与自身相连接的端口。
16.优选的,所述输出端口电路还用于:在将任意1个输出缓存中的数据发送至与自身相连接的端口之前,根据待发送的该数据中的路由字段,判断该数据的路由对象是否为与自身相连接的端口;如果是,则执行所述将输出缓存中的数据发送至与自身相连接的端口的操作,以将该数据发送至与自身相连接的端口;如果否,则缓存该数据,并执行预设的报错策略。
17.优选的,所述执行预设的报错策略,包括:
向发送该数据的前级设备反馈错误提示,以使所述前级设备重新将该数据发送至fsi主控制器。
18.优选的,所述判断与自身相连接的端口是否为可用状态,包括:接收由仲裁电路发送的表示与所述输出端口电路自身相连接的端口对应的fsi从控制器的剩余存储空间大小的信元值;判断所述信元值是否大于0;如果是,则确定出与自身相连接的端口为可用状态,否则确定出与自身相连接的端口为不可用状态。
19.优选的,所述仲裁电路还用于:当判断出对应于任意1路输出端口电路的信元值小于0时,从与该输出端口电路连接的fsi从控制器中重新读取对应于该输出端口电路的信元值。
20.一种fsi主控制器的端口路由方法,n路输入缓冲电路分别与fsi主控制器中的n个桥接模块连接;仲裁电路与n路输入缓冲电路,m路输出端口电路,以及交叉开关电路均连接;任意1路输入缓冲电路中均设置了k个输入缓存,任意1路输出端口电路中均设置了k个输出缓存;所述fsi主控制器的端口路由方法包括:任意1路输入缓冲电路在接收到与自身连接的桥接模块发送的数据时,根据数据类型确定出相对应的虚拟通道编号,并将接收的所述数据存储在与所述虚拟通道编号相对应的输入缓存中;所述仲裁电路在任意1路输出端口电路的任意1个虚拟通道为可用状态,且存在针对该虚拟通道的数据传输请求时,基于第一优先级规则选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求,并进行交叉开关电路的控制,以使得相应的输入缓冲电路将选取出的所述数据传输请求所指向的数据内容通过所述交叉开关电路发送至该虚拟通道对应的输出缓存中;输出端口电路将输出缓存中的数据发送至与自身相连接的端口;其中,k,n以及m均为不小于2的正整数。
21.一种fsi主控制器,包括如上述所述的fsi主控制器的端口路由装置。
22.应用本发明实施例所提供的技术方案,n路输入缓冲电路分别与fsi主控制器中的n个桥接模块连接,因此n路输入缓冲电路均可以进行数据的接收。并且,任意1路输入缓冲电路中均设置了k个输入缓存,任意1路输入缓冲电路均用于:在接收到与自身连接的桥接模块发送的数据时,根据数据类型确定出相对应的虚拟通道编号,并将接收的数据存储在与虚拟通道编号相对应的输入缓存中,可以看出,本技术是通过虚拟通道技术实现数据的传输,可以有效地防止链路阻塞,也有利于保障数据传输的稳定性和效率。
23.在任意1路输出端口电路的任意1个虚拟通道为可用状态,且存在针对该虚拟通道的数据传输请求时,仲裁电路会基于第一优先级规则选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求,并进行交叉开关电路的控制,以使得相应的输入缓冲电路将选取出的数据传输请求所指向的数据内容通过交叉开关电路发送至该虚拟通道对应的输出缓存中。可以看出,对于源自任意输入缓冲电路的数据传输请求,可以通过交叉开关电路发送至任意输出端口电路的输出缓存中,因此本技术的方案有效地实现了fsi主控制器灵活的端口路由。最后任意1路输出端口电路均可以将自身的输出缓存中的数据发送
至与自身相连接的端口。并且可以看出,由于仲裁电路是基于第一优先级规则进行交叉开关电路的控制,实现数据的传输,也有利于保障数据传输的稳定性和效率,可以保障重要数据优先发送,保障业务的稳定进行。
24.综上所述,本技术的方案可以有效地实现fsi主控制器灵活的端口路由,保障了数据传输的稳定性和效率。
附图说明
25.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本发明中一种fsi主控制器的端口路由装置的结构示意图;图2为本发明一种具体实施方式中的fsi主控制器的架构示意图;图3为本发明中一种fsi主控制器的端口路由方法的实施流程图。
具体实施方式
27.本发明的核心是提供一种fsi主控制器的端口路由装置,可以有效地实现fsi主控制器灵活的端口路由,保障了数据传输的稳定性和效率。
28.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.请参考图1,图1为本发明中一种fsi主控制器的端口路由装置的结构示意图,该fsi主控制器的端口路由装置可以包括:分别与fsi主控制器中的n个桥接模块连接的n路输入缓冲电路10,任意1路输入缓冲电路10中均设置了k个输入缓存,且任意1路输入缓冲电路10均用于:在接收到与自身连接的桥接模块发送的数据时,根据数据类型确定出相对应的虚拟通道编号,并将接收的数据存储在与虚拟通道编号相对应的输入缓存中;与n路输入缓冲电路10,m路输出端口电路40,以及交叉开关电路30均连接的仲裁电路20,用于在任意1路输出端口电路40的任意1个虚拟通道为可用状态,且存在针对该虚拟通道的数据传输请求时,基于第一优先级规则选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求,并进行交叉开关电路30的控制,以使得相应的输入缓冲电路10将选取出的数据传输请求所指向的数据内容通过交叉开关电路30发送至该虚拟通道对应的输出缓存中;交叉开关电路30;m路输出端口电路40,任意1路输出端口电路40中均设置了k个输出缓存,且任意1路输出端口电路40均用于:将输出缓存中的数据发送至与自身相连接的端口;其中,k,n以及m均为不小于2的正整数。
30.具体的,本技术的端口路由装置设置在fsi主控制器中,fsi主控制器则可以使用
在例如bmc,服务器等场合中。由于本技术自行进行了fsi主控制器的设计,并且设计了其中的端口路由装置,因此,本技术方案的fsi主控制器可以直接使用amba总线架构,而无需如部分传统方案中,使用ibm的opb接口的fsi控制器时,需要先通过总线接口桥进行amba至opb的转换。
31.fsi主控制器中可以设置有n个桥接模块,因此,端口路由装置中可以设置n路输入缓冲电路10,分别与fsi主控制器中的n个桥接模块连接。例如图2为一种具体实施方式中的fsi主控制器的架构示意图,图2中示出了该fsi主控制器的桥接模块1至3分别连接了前级的cpu(central processing unit,中央处理器)以及2个dma(direct memory access,直接存储器访问)设备。
32.n的具体取值可以根据需要进行设定和调整,但通常为不小于2的正整数。
33.本技术采用虚拟通道技术实现数据的传输,因此,对于n路输入缓冲电路10中的任意1路输入缓冲电路10而言,均设置了k个输入缓存,k也是不小于2的正整数,例如后文的一种具体实施方式中,k=3。
34.由于采用虚拟通道技术实现数据的传输,因此,任意1路输入缓冲电路10在接收到与自身连接的桥接模块发送的数据时,可以根据数据类型确定出相对应的虚拟通道编号,进而将接收的数据存储在与虚拟通道编号相对应的输入缓存中。
35.可以看出,数据类型的类型总数,便是虚拟通道的总数量,也即k的取值。而设定的划分数据类型的具体实施方式可以有多种,并不影响本发明的实施。
36.例如在本发明的一种具体实施方式中,考虑到本技术的方案是基于fsi协议来实现数据的传输,数据中具有地址字段,因此,可以根据地址信息,也即根据数据中的地址地段来进行数据类型的划分。
37.即在本发明的一种具体实施方式中,对于任意1路输入缓冲电路10,该路输入缓冲电路10均可以具体用于:在接收到与自身连接的桥接模块发送的数据时,根据地址信息确定出数据类型,并确定出与数据类型相对应的虚拟通道编号,并将接收的数据存储在与虚拟通道编号相对应的输入缓存中。
38.该种实施方式中,是按照地址类型的不同,进行数据类型的划分,是实际应用中较为方便的实施方式。当然,在其他实施方式中,还可以有其他的数据类型的划分方式。
39.在按照地址类型的不同进行数据类型的划分时,考虑到fsi协议中常用的有3种类型的地址,因此在实际应用中,数据类型可以具体包括:表示地址信息为绝对地址的第一数据类型,表示地址信息为相对地址的第二数据类型,以及表示地址信息为相同地址的第三数据类型。
40.绝对地址即为abs_adr(absolute address),相对地址即为rel_adr(relative address),相同地址即为same_adr(same address),这是fsi协议中常用的3种类型的地址,因此,该种实施方式中,数据类型设置为3种,因此虚拟通道的总数量k也等于3,即对于每1路输入缓冲电路10,该路输入缓冲电路10中需要设置3个输入缓存,例如每1路输入缓冲电路10中可以设置3个fifo,来作为该路输入缓冲电路10中的3个输入缓存。
41.例如一种具体场合中,某1路输入缓冲电路10在接收到与自身连接的桥接模块发送的数据时,该数据的地址类型为abs_adr,则可以确定与该数据的地址信息相对应的虚拟
通道编号为vc1,因此可以将该数据存储在与虚拟通道编号vc1相对应的输入缓存中,即存储在该路输入缓冲电路10的第1个fifo中。
42.而如果该路输入缓冲电路10在接收到与自身连接的桥接模块发送的数据时,该数据的地址类型为rel_adr,则可以确定与该数据的地址信息相对应的虚拟通道编号为vc2,因此可以将该数据存储在与虚拟通道编号vc2相对应的输入缓存中,即存储在该路输入缓冲电路10的第2个fifo中。
43.如上文的描述,采用上述的虚拟通道技术,可以有效防止数据通道的阻塞。
44.为了使得任意输入缓冲电路10的数据,可以发送至任意输出端口电路40,本技术设置了交叉开关电路30,可以理解的是,交叉开关电路30需要与n路输入缓冲电路10以及m路输出端口电路40实现全连接,才能够保障数据的灵活路由。而交叉开关电路30可以在受仲裁电路20的控制下,改变自身的开关状态,从而实现数据的路由。
45.具体的,在任意1路输出端口电路40的任意1个虚拟通道为可用状态时,说明允许将数据发送到该路输出端口电路40的这一个虚拟通道对应的输出缓存中。而如果存在针对该虚拟通道的数据传输请求时,说明有至少1路输入缓冲电路10的输入缓存发起了数据传输请求。
46.可以理解的是,在同一时刻,对于某1路输出端口电路40的某1个虚拟通道而言,如果只有针对该虚拟通道的1个数据传输请求时,则可以直接执行该数据传输请求,即直接将发起该数据传输请求的输入缓存中的数据,发送至该路输出端口电路40的该虚拟通道所对应的输出缓存中。
47.而在同一时刻,对于某1路输出端口电路40的某1个虚拟通道而言,如果有2个或者2个以上的针对该虚拟通道的数据传输请求时,则需要基于第一优先级规则选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求,从而进行交叉开关电路30的控制,以使得相应的输入缓冲电路10将选取出的数据传输请求所指向的数据内容通过交叉开关电路30发送至该虚拟通道对应的输出缓存中。
48.例如在某一时刻,数据a存储在第1路输入缓冲电路10的第1个fifo中,而数据b存储在第2路输入缓冲电路10的第3个fifo中,且假设第1路输入缓冲电路10的第1个fifo请求将数据a发送至第1路输出端口电路40的第1个虚拟通道,即发送至第1路输出端口电路40的第1个fifo中,而第2路输入缓冲电路10的第3个fifo请求将数据b发送至第2路输出端口电路40的第3个虚拟通道,即发送至第2路输出端口电路40的第3个fifo中,则该例子中,可以同时进行数据a和数据b的发送。
49.例如在某一时刻,数据a存储在第1路输入缓冲电路10的第1个fifo中,而数据b存储在第2路输入缓冲电路10的第1个fifo中,且假设第1路输入缓冲电路10的第1个fifo请求将数据a发送至第1路输出端口电路40的第1个虚拟通道,即发送至第1路输出端口电路40的第1个fifo中,而第2路输入缓冲电路10的第1个fifo请求将数据b发送至第1路输出端口电路40的第1个虚拟通道,即,数据b同样是需要发送至第1路输出端口电路40的第1个fifo中,因此存在冲突,便需要基于第一优先级规则选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求。例如基于第一优先级规则,选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求为第1路输入缓冲电路10的第1个fifo的请求,因此仲裁电路20便会进行交叉开关电路30的控制,以使得第1路输入缓冲电路10的第1个fifo将数
据传输请求所指向的数据内容a通过交叉开关电路30发送至第1路输出端口电路40的第1个虚拟通道对应的输出缓存中,即发送至第1路输出端口电路40的1个fifo中。
50.第一优先级规则的具体内容可以根据实际需要进行设定和调整,例如在本发明的一种具体实施方式中,第一优先级规则可以具体包括:针对任意1个数据传输请求,该数据传输请求的优先级与该数据传输请求的存在时长呈正相关,与目标间隔时长呈正相关;其中,目标间隔时长表示的是发起该数据传输请求的输入缓冲电路10上一次发送数据的时刻与当前时刻的时间间隔。
51.该种实施方式考虑到,针对任意1个数据传输请求,如果该数据传输请求的存在时长较长,应当及时将该数据传输请求所指向的数据进行发送,避免部分数据长时间堆积,因此,该种实施方式中,数据传输请求的优先级与该数据传输请求的存在时长呈正相关。
52.而针对任意1个数据传输请求,考虑到如果发起该数据传输请求的输入缓冲电路10刚发送了1次数据,则该输入缓冲电路10的优先级应当降低,即该数据传输请求的优先级与目标间隔时长呈正相关。目标间隔时长表示的是发起该数据传输请求的输入缓冲电路10上一次发送数据的时刻与当前时刻的时间间隔,即目标间隔时长越长,说明发起该数据传输请求的输入缓冲电路10越长时间没有发送数据。
53.前述实施方式的优先级设置考虑了多种因素,有利于避免数据的长时间堆积,有利于保障数据传输的稳定性。
54.可以理解的是,在其他实施方式中,还可以设置其他的第一优先级规则,并不影响本发明的实施。例如一种场合中,可以使用较为简单的优先级列表的方式实现第一优先级规则。例如,对于每1路输出端口电路40,可以建立该输出端口电路40的优先级列表,该优先级列表中包含了n路输入缓冲电路10,当该路输出端口电路40接收了源自某路输入缓冲电路10的数据时,会将该路输入缓冲电路10移动到优先级列表中的末尾,使其优先级降为最低。
55.m路输出端口电路40通过相应端口,可以分别连接m个fsi从控制器,m为不小于2的正整数。由于本技术采用虚拟通道技术实现数据的传输,因此,任意1路输出端口电路40中也需要设置k个输出缓存,以分别存储源自不同虚拟通道的数据。
56.任意1路输出端口电路40均可以将输出缓存中的数据发送至与自身相连接的端口,例如一种具体实施方式中,可以以k个输出缓存轮询的方式,将自身的k个输出缓存中的数据发送至与自身相连接的端口。
57.而在本发明的一种具体实施方式中,输出端口电路40可以具体用于:判断与自身相连接的端口是否为可用状态;如果是,则按照预设规则,将输出缓存中的数据发送至与自身相连接的端口。
58.该种实施方式考虑到,通过判断与自身相连接的端口是否为可用状态,可以确定出后级设备,即可以确定出后级的fsi从控制器能否有效地进行数据的接收。因此,在判断出与自身相连接的端口为不可用状态时,说明相应的fsi从控制器暂时无法接收新的数据,因此输出端口电路40不会进行数据的发送。而在判断出与自身相连接的端口为可用状态时,才会将输出缓存中的数据发送至与自身相连接的端口,进而发送至相应的fsi从控制器,这样的实施方式有利于保障数据传输的稳定性,不容易出错。
59.在判断与自身相连接的端口是否为可用状态时,可以通过信元值来判断。例如在本发明的一种具体实施方式中,判断与自身相连接的端口是否为可用状态,可以具体包括:接收由仲裁电路20发送的表示与输出端口电路40自身相连接的端口对应的fsi从控制器的剩余存储空间大小的信元值;判断信元值是否大于0;如果是,则确定出与自身相连接的端口为可用状态,否则确定出与自身相连接的端口为不可用状态。
60.该种实施方式中,仲裁电路20可以确定出各个fsi从控制器各自的信元值,在具体场合中,1个信元值对应多少bit是可以确定的,因此,可以使用信元值表示fsi从控制器的剩余存储空间大小。例如某一路输出端口电路40连接的端口为端口1,也即port1,port1与fsi从控制器1连接,则仲裁电路20可以将fsi从控制器1的信元值发送至该路输出端口电路40,如果fsi从控制器1的信元值大于0,说明fsi从控制器1还有存储空间可以用来接收数据,因此该路输出端口电路40可以确定出与自身相连接的端口为可用状态,即该场合中,是确定出端口port1为可用状态,反之,当fsi从控制器1的信元值为0时,该路输出端口电路40可以确定出与自身相连接的端口port1为不可用状态。
61.该种实施方式是利用仲裁电路20确定出各个fsi从控制器各自的信元值,图1也是采用的该种实施方式,即图1的信元输入,表示的是各个fsi从控制器可以周期性地将自身的信元值发送至仲裁电路20。此外,图1中还示出了信元输出,表示的是仲裁电路20可以将各个fsi从控制器的信元值发送给其他需要的设备。此外还需要说明的是,在图1中为了方便观看,对于n路输入缓冲电路10,仅示出了其中1路与仲裁电路20连接,同样的,对于m路输出端口电路40,仅示出了其中1路与仲裁电路20连接。
62.此外,在其他实施方式中,输出端口电路40可以以其他方式判断与自身相连接的端口是否为可用状态,并不影响本发明的实施。
63.在正常情况下,任意fsi从控制器的信元值为大于等于0的数值,如果出现小于0的情况说明出错了,因此,在本发明的一种具体实施方式中,仲裁电路20还可以用于:当判断出对应于任意1路输出端口电路40的信元值小于0时,从与该输出端口电路40连接的fsi从控制器中重新读取对应于该输出端口电路40的信元值。
64.某1路输出端口电路40对应的信元值,即表示的是与该路输出端口电路40相连接的fsi从控制器的信元值。如果出现任意fsi从控制器的信元值小于0的情况,仲裁电路20会从该fsi从控制器中重新读取该fsi从控制器的信元值。
65.在本发明的一种具体实施方式中,输出端口电路40可以具体用于:判断与自身相连接的端口是否为可用状态;如果是,则按照第二优先级规则,将输出缓存中的数据发送至与自身相连接的端口。
66.该种实施方式中,输出端口电路40在进行数据的发送时,也是基于优先级进行发送,称为第二优先级规则。基于优先级的方式进行数据发送,有利于进一步的保障数据传输的效率和可靠性。
67.第二优先级规则的具体内容可以根据需要进行设定,例如在本发明的一种具体实施方式中,输出端口电路40具体用于:
判断与自身相连接的端口是否为可用状态;如果是,则将k个输出缓存中数据量最多的作为最高优先级的输出缓存;将最高优先级的输出缓存中的数据发送至与自身相连接的端口。
68.该种实施方式中,是将输出端口电路40中,数据量最多的输出缓存优先进行发送,有利于避免数据的堆积,且优先级的规则设置地较为简单,便于实施。当然,其他实施方式中,还可以根据实际需要设置更为复杂的优先级规则,例如对于部分类型的数据,可以优先进行发送。
69.在本发明的一种具体实施方式中,输出端口电路40可以具体用于:判断与自身相连接的端口是否为可用状态;如果是,则将k个输出缓存依次作为最高优先级的输出缓存;将当前最高优先级的输出缓存中的数据发送至与自身相连接的端口。
70.该种实施方式中,则是采用顺序发送的方式,即,将k个输出缓存依次作为最高优先级的输出缓存,实现k个输出缓存中的数据的顺序发送。
71.在本发明的一种具体实施方式中,输出端口电路40还可以用于:在将任意1个输出缓存中的数据发送至与自身相连接的端口之前,根据待发送的该数据中的路由字段,判断该数据的路由对象是否为与自身相连接的端口;如果是,则执行将输出缓存中的数据发送至与自身相连接的端口的操作,以将该数据发送至与自身相连接的端口;如果否,则缓存该数据,并执行预设的报错策略。
72.在正常情况下,输出端口电路40的输出缓存中存储的数据,应当通过与该输出端口电路40相连接的端口,路由至相应的fsi从控制器中,即正常情况下,在将任意1个输出缓存中的数据发送至与自身相连接的端口之前,根据待发送的该数据中的路由字段,可以确定出该数据的路由对象与自身相连接的端口是吻合的。
73.但是在部分异常情况下,判断出该数据的路由对象不是与自身相连接的端口时,说明可能是数据存储过程出错,或者是此前的数据传递过程出错,例如交叉开关错误导致原本应当发送给其他输出端口电路40的数据,被错误发送给了本输出端口电路40。因此,该种实施方式中,对于异常数据,会先缓存该数据,并执行预设的报错策略,以避免错误数据的继续传输。
74.预设的报错策略的具体内容可以根据实际需要进行选取,例如在本发明的一种具体实施方式中,执行预设的报错策略,可以包括:向发送该数据的前级设备反馈错误提示,以使前级设备重新将该数据发送至fsi主控制器。
75.例如发送该数据的前级设备为cpu,则输出端口电路40可以直接或通过其他设备结构间接地反馈错误提示,以使cpu重新将该数据发送至fsi主控制器,即进行错误数据的重传。执行了预设的报错策略之后,例如便可以删除此前缓存的异常数据。
76.在本发明的一种具体实施方式中,输出端口电路40还用于:在将输出缓存中的数据发送至与自身相连接的端口之后,向发送该数据的前级设备反馈数据发送完成的提示。
77.该种实施方式中,考虑到输出端口电路40在将输出缓存中的数据发送至与自身相
连接的端口之后,也可以选择向发送该数据的前级设备反馈数据发送完成的提示。
78.此外需要说明的是,本技术的上文中,描述的是fsi主控制器将数据从前级的cpu等设备路由至后级的fsi从控制器的过程,在实际应用中,对于连接fsi从控制器的相关设备,也可以将数据通过fsi从控制器以及fsi主控制器,发送给前级的cpu等设备,fsi主控制器可以通过相应结构实现该数据传递的过程,例如采用与本技术上文相同或者相似的结构,本技术对此不再展开说明。
79.应用本发明实施例所提供的技术方案,n路输入缓冲电路10分别与fsi主控制器中的n个桥接模块连接,因此n路输入缓冲电路10均可以进行数据的接收。并且,任意1路输入缓冲电路10中均设置了k个输入缓存,任意1路输入缓冲电路10均用于:在接收到与自身连接的桥接模块发送的数据时,根据数据类型确定出相对应的虚拟通道编号,并将接收的数据存储在与虚拟通道编号相对应的输入缓存中,可以看出,本技术是通过虚拟通道技术实现数据的传输,可以有效地防止链路阻塞,也有利于保障数据传输的稳定性和效率。
80.在任意1路输出端口电路40的任意1个虚拟通道为可用状态,且存在针对该虚拟通道的数据传输请求时,仲裁电路20会基于第一优先级规则选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求,并进行交叉开关电路30的控制,以使得相应的输入缓冲电路10将选取出的数据传输请求所指向的数据内容通过交叉开关电路30发送至该虚拟通道对应的输出缓存中。可以看出,对于源自任意输入缓冲电路10的数据传输请求,可以通过交叉开关电路30发送至任意输出端口电路40的输出缓存中,因此本技术的方案有效地实现了fsi主控制器灵活的端口路由。最后任意1路输出端口电路40均可以将自身的输出缓存中的数据发送至与自身相连接的端口。并且可以看出,由于仲裁电路20是基于第一优先级规则进行交叉开关电路30的控制,实现数据的传输,也有利于保障数据传输的稳定性和效率,可以保障重要数据优先发送,保障业务的稳定进行。
81.综上所述,本技术的方案可以有效地实现fsi主控制器灵活的端口路由,保障了数据传输的稳定性和效率。
82.相应于上面的fsi主控制器的端口路由装置的实施例,本发明实施例还提供了一种fsi主控制器的端口路由方法,可与上文相互对应参照。
83.n路输入缓冲电路分别与fsi主控制器中的n个桥接模块连接;仲裁电路与n路输入缓冲电路,m路输出端口电路,以及交叉开关电路均连接;任意1路输入缓冲电路中均设置了k个输入缓存,任意1路输出端口电路中均设置了k个输出缓存,可参阅图3,该fsi主控制器的端口路由方法可以包括以下步骤:步骤s101:任意1路输入缓冲电路在接收到与自身连接的桥接模块发送的数据时,根据数据类型确定出相对应的虚拟通道编号,并将接收的数据存储在与虚拟通道编号相对应的输入缓存中;步骤s102:仲裁电路在任意1路输出端口电路的任意1个虚拟通道为可用状态,且存在针对该虚拟通道的数据传输请求时,基于第一优先级规则选取出针对该虚拟通道的数据传输请求中的最高优先级的数据传输请求,并进行交叉开关电路的控制,以使得相应的输入缓冲电路将选取出的数据传输请求所指向的数据内容通过交叉开关电路发送至该虚拟通道对应的输出缓存中;步骤s103:输出端口电路将输出缓存中的数据发送至与自身相连接的端口;
其中,k,n以及m均为不小于2的正整数。
84.在本发明的一种具体实施方式中,步骤s101包括:任意1路输入缓冲电路在接收到与自身连接的桥接模块发送的数据时,根据地址信息确定出数据类型,并确定出与数据类型相对应的虚拟通道编号,并将接收的数据存储在与虚拟通道编号相对应的输入缓存中。
85.在本发明的一种具体实施方式中,数据类型包括:表示地址信息为绝对地址的第一数据类型,表示地址信息为相对地址的第二数据类型,以及表示地址信息为相同地址的第三数据类型。
86.在本发明的一种具体实施方式中,第一优先级规则包括:针对任意1个数据传输请求,该数据传输请求的优先级与该数据传输请求的存在时长呈正相关,与目标间隔时长呈正相关;其中,目标间隔时长表示的是发起该数据传输请求的输入缓冲电路上一次发送数据的时刻与当前时刻的时间间隔。
87.在本发明的一种具体实施方式中,还包括:输出端口电路在将输出缓存中的数据发送至与自身相连接的端口之后,向发送该数据的前级设备反馈数据发送完成的提示。
88.在本发明的一种具体实施方式中,步骤s103包括:输出端口电路判断与自身相连接的端口是否为可用状态;如果是,则按照预设规则,将输出缓存中的数据发送至与自身相连接的端口。
89.在本发明的一种具体实施方式中,步骤s103包括:输出端口电路判断与自身相连接的端口是否为可用状态;如果是,则按照第二优先级规则,将输出缓存中的数据发送至与自身相连接的端口。
90.在本发明的一种具体实施方式中,按照第二优先级规则,将输出缓存中的数据发送至与自身相连接的端口,包括:将k个输出缓存中数据量最多的作为最高优先级的输出缓存;将最高优先级的输出缓存中的数据发送至与自身相连接的端口。
91.在本发明的一种具体实施方式中,按照第二优先级规则,将输出缓存中的数据发送至与自身相连接的端口,包括:将k个输出缓存依次作为最高优先级的输出缓存;将当前最高优先级的输出缓存中的数据发送至与自身相连接的端口。
92.在本发明的一种具体实施方式中,还包括:输出端口电路在将任意1个输出缓存中的数据发送至与自身相连接的端口之前,根据待发送的该数据中的路由字段,判断该数据的路由对象是否为与自身相连接的端口;如果是,则执行将输出缓存中的数据发送至与自身相连接的端口的操作,以将该数据发送至与自身相连接的端口;如果否,则缓存该数据,并执行预设的报错策略。
93.在本发明的一种具体实施方式中,执行预设的报错策略,包括:向发送该数据的前级设备反馈错误提示,以使前级设备重新将该数据发送至fsi
主控制器。
94.在本发明的一种具体实施方式中,判断与自身相连接的端口是否为可用状态,包括:接收由仲裁电路发送的表示与输出端口电路自身相连接的端口对应的fsi从控制器的剩余存储空间大小的信元值;判断信元值是否大于0;如果是,则确定出与自身相连接的端口为可用状态,否则确定出与自身相连接的端口为不可用状态。
95.在本发明的一种具体实施方式中,还包括:仲裁电路当判断出对应于任意1路输出端口电路的信元值小于0时,从与该输出端口电路连接的fsi从控制器中重新读取对应于该输出端口电路的信元值。
96.相应于上面的fsi主控制器的端口路由装置和方法的实施例,本发明实施例还提供了一种fsi主控制器,可以包括如上述任一实施例中的fsi主控制器的端口路由装置,可与上文相互对应参照。
97.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
98.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
99.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献