一种基于RapidIO协议的数据包传输的方法、设备和系统的制作方法

文档序号:7699495阅读:180来源:国知局
专利名称:一种基于RapidIO协议的数据包传输的方法、设备和系统的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种基于RapidIO协议的数据包传输 的方法、设备和系统。
背景技术
RapidIO协议是一个数据传输效率高、实时性好,具有较小的软件耦合性, 高速接口的协议。RapidIO协议主要包括3层物理层、传输层和逻辑层,在利 用RapidIO协议传输数据时,用户数据从逻辑层接口传递进来,再经过传输层 和物理层,经过每个层时,都要经过数据的封装、打包,最终从物理层接口传 送出去。
RapidIO协议规定数据包中有效数据的长度不大于256个字节,最多增加 20个字节的附加信息,经过封装后,数据包中包括有效数据和数据封装打包时 增加的附加信息,数据包总长最大为276个字节。由于每个数据包中都包括有 效数据和附加信息,因此数据包的长度不同,传输效率也不同。如下表所示为 不同包长度时RapidIO协议的带宽利用率。
数据长度(字节)包长度(字节)带宽利用率带宽利用率
42416%13%
325261%49%
25627692%74%
从上表可以看出,在利用RapidIO协议传输数据时,用户数据包的长度越 短,带宽利用率越低;因此,单位时间内传输的短数据包的数量越大,有效带 宽的损失也越大。
RapidIO在逻辑层封装数据包时,插入数据包的地址信息和长度信息。当对 端的RapidIO接口收到数据包后,会解析出这两个信息,并根据这两个信息将 数据包写入端口存储器中。
在现有技术中,在进行逻辑层封装时,RapidIO分别对各个数据进行打包并
6传输,数据包到达接收设备后,RapidIO模块将附加信息去除,将有效数据依次 写入端点存储器中。
在对现有技术进行研究后,发明人发现
在现有技术中,数据包中的有效数据越少,同时系统传输的这种短的数据 包越多,则系统带宽的浪费也越多。按照RapidIO协议的标准应用,此时的 RapidIO的带宽会受到很大的影响,造成系统性能的下降。

发明内容
为了在RapidIO系统中缩短短数据包的传输时延并提高带宽利用率,本发 明实施例提供了一种基于RapidIO协议的数据包传输的方法、设备和系统,所 述技术方案如下
一种基于RapidIO协议的数据包传输的方法,所述方法包括 接收发送设备发送的RapidIO组包,所述RapidIO组包的有效数据由无缝隙 地存》文的至少两个RapidIO短包的数据信息组成;
获取所述RapidIO组包中的所述RapidIO短包的数据信息;
根据所述RapidIO短包的数据信息将所述RapidIO短包存储在端点存储器中。
一种基于RapidIO协议的数据包传输的方法,所述方法包括 获取RapidIO短包的数据信息;
依次将所述RapidIO短包的数据信息无缝隙的存放在预设长度的RapidIO组 包中,所述RapidIO组包的有效数据由无缝隙地存放的至少两个RapidIO短包的 数据信息组成;
向接收设备发送所述RapidIO组包。
一种接收设备,所述接收设备包括
接收模块,用于接收发送设备发送的RapidIO组包,所述RapidIO组包的有 效数据由无缝隙地存放的至少两个RapidIO短包的数据信息组成;
获取模块,用于获取所述RapidIO组包中的所述RapidIO短包的数据信息;
存储模块,用于根据所述RapidIO短包的数据信息将所述RapidIO短包存储 在端点存储器中。
一种发送设备,所述发送设备包括获取模块,用于获取RapidIO短包的数据信息;
组合模块,用于依次将所述RapidIO短包的数据信息无缝隙的存放在预设 长度的RapidIO组包中,所述RapidIO组包的有效数据由无缝隙地存放的至少两 个RapidIO短包的数据信息组成;
发送模块,用于向接收设备发送所述RapidIO组包。
一种RapidIO系统,所述系统包括
发送设备,用于获取RapidIO短包的数据信息,依次将所述RapidIO短包的 数据信息无缝隙的存放在预设长度的RapidIO组包中,并向接收设备发送所述 RapidIO组包,所述RapidIO组包的有效数据由无缝隙地存放的至少两个RapidIO 短包的数据信息组成;
接收设备,用于接收发送设备发送的RapidIO组包,获取所述RapidIO组包 中的所述RapidIO短包的数据信息,并根据所述RapidIO短包的数据信息将所述 RapidIO短包存储在端点存储器中。
本发明实施例通过将多个RapidIO短包组成RapidIO组包进行传输,可以有 效的缩短大部分RapidIO短包的传输时延,同时提高系统的带宽利用率,进而 提高了系统的性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳 动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的RapidIO短包組合成RapidIO组包的示意图; 图2是本发明实施例1提供的基于RapidIO协议的数据包传输的方法流程
图3是本发明实施例1提供的逻辑处理单元的结构图4是本发明实施例2提供的RapidIO短包组合成RapidIO组包的示意图5是本发明实施例2提供的基于RapidIO协议的数据包传输的方法流程
图6是本发明实施例3提供的基于RapidIO协议的数据包传输的方法流程图7是本发明实施例4提供的接收设备的结构示意图; 图8是本发明实施例4提供的发送设备的结构示意图; 图9是本发明实施例4提供的RapidIO系统的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供了一种基于RapidIO协议的数据包传输的方法,在本发 明实施例的应用场景中,所有RapidIO短包的有效数据长度都是固定值,如4 字节,在该应用场景中,将多个数据包组成长包进行传输,以提高带宽利用率。
完整的RapidIO数据包包含数据封装时增加的负载信息、数据包的有效数 据、以及数据包的地址信息和长度信息等信息。可以理解,负载信息是数据封 装打包时增加的多余负载,可以认为是无效数据。在本发明实施例中,在将多 个RapidIO短包组成长包的过程中,仅将RapidIO短包的数据信息无缝隙的存放 在组成的长包中,其中,RapidIO短包的数据信息由该RapidIO短包的地址信息 和有效数据组成,不包括负载信息。参见图1为RapidIO短包组成长包的示意 图,在该图中,Datal、 Data2和Data3等表示的是RapidIO短包的有效数据, Al 、 A2和A3等表示的是RapidIO短包的地址信息。
在本发明实施例中,在组成长包时,将多个RapidIO短包的数据信息无缝 隙的存储在长包中,即仅将RapidIO短包的地址信息和有效数据依次存放在组 成的长包中, 一个RapidIO短包的有效数据的前面存力文相应的地址信息,并且 相邻的RapidIO短包的数据信息是无缝隙存储的,即相邻的RapidIO短包的数据 信息之间没有空闲数据。每个RapidIO短包的数据信息都是组成的长包的有效 数据的一部分。
在本实施例中,将需要组合的短数据包称为RapidIO短包,将RapidIO短包 组合成的长包称为RapidIO组包,RapidIO短包和RapidIO组包都可以视为 一种RapidIO数据包,可见RapidIO组包的有效数据是由至少两个RapidIO短包的数 据信息组成。
参见图2,本发明实施例提供的方法具体步骤如下
201:发送设备在发送数据包时,获取所有需要发送的RapidIO短包的有效 数据和地址信息。
202:发送设备在预设长度的RapidIO组包中,依次将RapidIO短包的有效 数据和地址信息无缝隙的存力文在RapidIO组包中,直至该RapidIO组包中不能存 放一个RapidIO短包的地址信息和有效数据为止。按照相同的方法将所有需要 组合的RapidIO短包进行RapidIO组包处理。
根据协议的要求,RapidIO数据包的有效数据的长度不超过256字节,即 64个word。优选的,本发明实施例可以选择有效数据长度为256个字节的 RapidIO组包,将多个RapidIO短包拼接成有效数据长度为256字节的RapidIO 组包后再进行传输。以4字节的RapidIO短包组成有效数据长度为256字节的 RapidIO组包为例进行说明,该RapidIO组包的4各式如表1所示
地址数据
0第1个包的实际地址
1第1个包的实际数据
2第2个包的实际地址
3第2个包的实际数据。。。
62第32个包的实际地址
63第32个包的实际数据
表1
在该有效数据长度为256字节的RapidIO组包中,偶地址中存放的是 RapidIO短包的地址信息,该偶地址的下一个奇地址中存》文的是该RapidIO短包 的有效数据。在上述有效数据长度为256字节的RapidIO组包格式中,RapidIO 短包的地址信息占用lword的空间,RapidIO短包的有效it据也占用lword空间。 因此最多可以将32个4字节的RapidIO短包组成一个有效数据长度为256字节 的RapidIO组包。
203:由发送设备将上述组合成的RapidIO组包发送到数据包的接收设备。
10204:接收设备接收由RapidIO短包拼接成的RapidIO组包,可以理解这里, 是由RapidIO短包的有效数据和地址信息拼接成RapidIO短包数据信息,RapidIO 组包的有效数据就是由RapidIO短包数据信息组成。
205:接收设备先对该RapidIO组包进行解包处理,即获取RapidIO短包的
地址信息和有效数据,
组包为例进行说明,接收设备在接收到有效数据长度为256字节的RapidIO组 包后,先进行解包处理在RapidIO组包的有效数据中,依次获取RapidIO组包 中奇地址数据和偶地址数据,将偶地址数据识别为RapidIO短包的地址信息, 将该偶地址下 一个奇地址中的数据识别为该RapidIO短包的有效H据,
206:接收设备才艮据每个RapidIO短包的地址信息将每个RapidIO短包的有 效数据写入端点存储器中。
此外,本发明实施例在上述数据包传输的基础上,还可以进一步的扩展, 使得系统可以对RapidIO短包进行RapidIO组包处理并传送,同时也可以按照正 常的方法处理未经RapidIO组包处理的数据包。
该扩展方法为在数据包的发送设备和接收设备进行约定,将端点存储器 中某一固定地址空间作为读写RapidIO组包数据的专用空间,比如,将端点存 储器地址空间中的Addr0-Addr31作为读写RapidIO组包数据的专用地址空间。 发送设备在发送RapidIO组包时,访问的地址空间是端点存储器的Addr0-Addr31 地址;接收设备在接收数据包时,也通过端点存储器的Addr0-Addr31地址接收 RapidIO组包,即接收数据包时,如果访问的是端点存储器的Addr0-Addr31以 外的地址空间时,则判定接收到的数据包不是RapidIO组包,按照正常接收数 据包的方法处理接收到的数据包;如果访问的是端点存储器的Addr0-Addr31的 地址空间时,则认为接收到数据包为RapidIO组包,按照RapidIO组包的处理方 法进4于相应处理。
优选的,本发明实施例在处理4字节RapidIO短包的数据信息(即有效数 据和地址信息)组成的RapidIO组包时,在数据包到达端点存储器之前添加一 个逻辑处理单元对RapidIO组包进^f亍处理,该逻辑处理单元的结构图如图3所 示。根据该逻辑处理单元的逻辑图,可以获知该逻辑处理单元的功能为当端 点存储器被访问Addr0-Addr32的地址空间,每当地址为偶地址,且写使能有效时,则将当前的数据锁存到寄存器Addr一reg中,作为地址保留。当地址为奇地 址,且写使能有效时,将当前的数据作为有效数据输出,同时将前一个时钟周 期保存的Addr一reg作为地址信息输出。由于外部都是将数据连续地,从低到高 地写入的,因此,前一个偶地址的数据为地址信息,后一个奇地址的数据为有 效数据,相当于2个节拍写一个RapidIO短包的有效数据到端点存储器中。当 端点存储器被访问AddrO Addr31以外的数据空间时,则该模块会直接将数据 包进行透传处理,即不对数据包做任何处理,直接写入到端点存储器中。
本发明实施例通过将多个RapidIO短包组成长包进行传输,可以有效的缩 短大部分RapidIO短包的传输时延,并提高系统的带宽利用率,进而提高了系 统的性能。同时可以对数据包的传输方式进行灵活扩展,在数据包RapidIO短 包较多时,对较多的RapidIO短包进行RapidIO组包处理,在RapidIO短包较少 时按照正常方式处理,在提高了系统带宽利用率的同时,也不会影响正常数据 包的传输。
实施例2
本发明实施例提供了一种基于RapidIO协议的数据包传输的方法,与实施 例1类似,在传送多个固定长度的RapidIO短包时,仍然采用将多个短数据包 组成长的RapidIO组包再进行发送的方法。
实施例1针对所有RapidIO短包的长度都是固定值的场景,不能支持 RapidIO短包长度不固定的应用场景。在本发明实施例中,各个RapidIO短包的 长度可以各不相同,在将多个RapidIO短包组成长的RapidIO组包的过程中,除 了将RapidIO短包的有效数据和地址信息存放在组成的长包中,还将该RapidIO 短包的长度值也存力文在RapidIO组包中。
在本发明实施例中,在将多个RapidIO短包组成长包的过程中,仅将RapidIO 短包的数据信息无缝隙的存放在组成的长包中,其中,RapidIO短包的数据信息 由该RapidIO短包的地址信息、长度信息和有效it据组成,不包括负载信息。 这里相对于实施例1,本实施例中的数据信息同样不包括RapidIO短包的负载信 息,但多了 RapidIO短包的长度信息,参见图4为RapidIO短包组成长包的示意 图,在该图中,Datal、 Data2和Data3等表示的是RapidIO短包的有效数据, Ll、 L2和L3等表示的是RapidIO短包的长度信息,Al、 A2和A3等表示的是
12RapidIO短包的地址信息。
在本发明实施例中,在组成RapidIO组包时,将多个RapidIO短包的数据信 息无缝隙的存储在RapidIO组包中,即仅将RapidIO短包的地址信息、长度信息 和有效数据依次存放在RapidIO组包中, 一个RapidIO短包的地址信息后存放该 RapidIO短包的长度信息和有效数据,并且相邻的RapidIO短包的数据信息是无 缝隙存储的,即相邻的RapidlO短包的数据信息之间没有空闲数据。每个RapidIO 短包的数据信息都是RapidIO组包的有效数据的一部分。
参见图5,本发明实施例提供的方法具体步骤如下
501:发送设备在发送数据包时,获取所有需要发送的RapidIO短包的地址 信息、长度信息和有效数据;
502:发送设备在预设长度的RapidIO组包中,依次将该RapidIO短包的地 址信息、长度信息和有效数据无缝隙的存放在RapidIO组包中,直至该RapidIO 组包中不能存放一个RapidIO短包的地址信息、长度信息和有效数据为止。按 照相同的方法将所有需要組合的RapidIO短包进行RapidIO组包处理。
根据协议的要求,RapidIO数据包的有效数据长度不超过256字节,因此可
进行传输。在该RapidIO组包中,依次存放的RapidIO短包的地址信息、长度信 息和有效数据,其中,RapidIO短包的地址信息和长度信息占用lword的空间, 而不同RapidIO短包的有效数据占用的空间各不相同。因此每个RapidIO组包所 存放的RapidIO短包也是不确定的。
503:由发送设备将上述组合成的RapidIO组包发送到数据包的接收设备。 504: 4妄收i更备4矣收RapidIO短包拼接成的RapidIO组包。 505:接收设备对该RapidIO组包进行解包处理,即获取RapidIO短包的地 址信息、长度信息,并进一步的获取该RapidIO短包的有效数据,
具体的,在获取了 RapidIO组包中的RapidIO短包的长度信息后,首先根据 该长度信息获取该RapidIO短包的长度,然后在RapidIO组包中存放长度信息后 面的数据空间中,提取出与该RapidIO短包长度相同的数据,则提取出的该数 据即该RapidIO短包的有效数据。
506:接收设备根据每个RapidIO短包的地址信息将每个RapidIO短包的有 效数据写入自身的存储器中。本发明实施例也可以进行扩展,使得系统可以同时进行RapidIO组包和正 常包的处理,与实施例1的扩展方法相同,在本发明实施例中,也在端点存储 器中,设置传送RapidIO组包数据的专用地址空间,在对当前数据包进行处理 时,如果访问的是端点存储器的专用地址空间,则按照上述处理RapidIO组包 的方法对当前数据包进行处理;如果访问的是端点存储器的专用地址空间以外 的地址空间,则《|要照处理正常数据包的方法对当前数据包进行处理。
本发明实施例通过将多个RapidIO短包组成长包进行传输,可以有效的缩 短大部分RapidIO短包的传输时延,并提高系统的带宽利用率,进而提高了系 统的性能。并且解决方案可以灵活的进行扩展,在数据包RapidIO短包较多时 进行RapidIO组包处理,在RapidIO短包较少时按照正常方式处理,在提高系统 带宽利用率的同时,也不会影响正常的使用。
实施例3
本发明实施例提供了一种基于RapidIO协议的数据包传输的方法,应用于 RapidIO短包的长度比较固定的应用场景,比如系统中只包含三种长度的 RapidIO短包。在本发明实施例中,仍然采用将多个短数据包组成长的RapidIO 组包再进行发送的方法,但本发明实施例采用了如下的方法以使得RapidIO组 包中不用携带RapidIO短包的地址信息和长度信息。
在发送设备和接收设备处约定,固定每个RapidIO短包在RapidIO组包中的 存储位置。比如系统中只包含三种长度的RapidIO短包,分别为6字节、12字 节和24字节。则预先约定,在进行RapidIO组包时,从RapidIO组包的起始地 址开始,依次无缝隙的存》文各种RapidIO短包的有效数据,如存放的第一个 RapidIO短包的有效数据为6字节的RapidIO短包,起始地址为RapidIO组包的 起始地址;存放的第二个RapidIO短包的有效数据为12字节的RapidIO短包, 起始地址为"RapidIO组包的起始地址+6字节,,;存力文的第三个RapidIO短包的有 效数据为24字节的RapidIO短包,起始地址为"RapidIO组包的起始地址+18字 节";存放的第四个RapidIO短包的有效数据为6字节的RapidIO短包,起始地 址为"RapidIO组包的起始地址+48字节";按照此种方法,将多个RapidIO短包 的有效数据依次无缝隙的存放在RapidIO组包中。
可见本实施例3中RapidIO短包的数据信息可以只理解为RapidIO短包的有效数据,当然其不包括RapidIO短包的负载信息。
本发明实施例3通过将多个RapidIO短包的数据信息组成长包的有效数据 进行传输,也可以有效的缩短大部分RapidIO短包的传输时延,并提高系统的 带宽利用率,进而提高了系统的性能。并且解决方案可以灵活的进行扩展,在 数据包RapidIO短包较多时进行RapidIO组包处理,在RapidIO短包较少时按照 正常方式处理,在提高系统带宽利用率的同时,也不会影响正常的使用
参见图6,本发明实施例提供的方法具体步骤如下
601:发送设备在发送数据包时,获取所有需要发送的RapidIO短包的有效数据。
602:发送设备在预设长度的RapidIO组包中,依次将该RapidIO短包的有 效数据无缝隙的存力文在RapidIO组包中,直至该RapidIO组包中不能存力文一个 RapidIO短包的有效数据为止。按照相同的方法将所有需要组合的RapidIO短包 的有效数据进行RapidIO組包处理。
604:接收设备接收RapidIO短包拼接成的RapidIO组包。
605:接收设备对该RapidIO组包进行解包处理,即按照预设的RapidIO短 包数据存储位置从该RapidIO组包中获取RapidIO短包的有效数据;
具体的,以系统传输6字节、12字节和24字节的RapidIO短包为例进行说 明,接收设备在接收到RapidIO组包后,就可以直接/人RapidIO组包的起始地址 处获取第一个RapidIO短包的有效数据,从"RapidIO组包的起始地址+6字节" 的地址处获取第二个12字节RapidIO短包的有效数据,从"RapidIO组包的起始 地址+18字节,,的地址处获取第三个24字节RapidIO短包的有效数据;从 "RapidIO组包的起始地址+48字节"的地址处获取第四个6字节RapidIO短包的 有效数据;以此方法获取RapidIO组包中的所有RapidIO短包的数据。然后,接 收端按照预设的策略,将第一个RapidIO短包发送到端点存储器的地址A中进 行存储;将第二个RapidIO短包发送到地址B中进行存储;将第三个RapidIO 短包发送到地址C中进行存储,其中,存储RapidIO短包的地址A、地址B和 地址C是预先约定的,可以是端点存储器中的任意地址。接收端按照上述的方 法将所有RapidIO短包都存储到端点存储器中。
606:接收设备4艮据RapidIO组包的地址信息和RapidIO短包在RapidIO组包中的存储位置,依次将每个RapidIO短包的有效数据写入自身的存储器中。
具体的,在将RapidIO短包数据写入存储器时,首先根据RapidIO组包的地 址信息将RapidIO组包中的第一个RapidIO短包的有效数据写入自身的存储器 中;然后,将RapidIO组包的地址信息加上第一个RapidIO短包的长度作为第二 个RapidIO短包的存放地址,并按照该存放地址将第二个RapidIO短包的有效数 据写入自身的存储器中;将RapidIO组包的地址信息加上第一个RapidIO短包和 第二个RapidIO短包的长度作为第三个RapidIO短包的存放地址,并按照该存放 地址将第三个RapidIO组包写入自身的存储器中,以此方法直至将RapidIO组包 中所有RapidIO短包的有效数据都写入自身的存储器。
本发明实施例也可以进行扩展,使得系统可以同时进行RapidIO组包和正 常包的处理,与实施例2的扩展方法相同,在本发明实施例中,也在端点存储 器中,设置传送RapidIO组包数据的专用地址空间,在对当前数据包进行处理 时,如果访问的是端点存储器的专用地址空间,则按照上述处理RapidIO组包 的方法对当前数据包进行处理;如果访问的是端点存储器的专用地址空间以外 的地址空间,则按照处理正常数据包的方法对当前数据包进行处理。
本发明实施例通过将多个RapidIO短包组成长包进行传输,可以有效的缩 短大部分RapidIO短包的传输时延,并提高系统的带宽利用率,进而提高了系 统的性能。并且解决方案可以灵活的进行扩展,在数据包RapidIO短包较多时 进行RapidIO组包处理,在RapidIO短包较少时按照正常方式处理,在提高系统 带宽利用率的同时,也不会影响正常的使用。
实施例4
本发明实施例提供了一种接收设备,发送设备和RapidIO系统。参见图7, 该接收设备包括
接收模块701,用于接收发送设备发送的RapidIO組包,该RapidIO组包的 有效数据由无缝隙地存放的至少两个RapidIO短包的数据信息组成;
获取模块702,用于获取该RapidIO组包中的该RapidIO短包的数据信息; 存储模块703,用于根据该RapidIO组包的数据信息将该RapidIO短包存储 在端点存储器中。
在本发明实施例中,当所有RapidIO数据包的包长都是固定值,此时
16该获取才莫块702,具体用于获取该RapidIO短包的地址信息,并才艮据该 RapidIO短包的数据长度的固定值获取该RapidIO短包的有效数据;
相应的,该存储才莫块703,具体用于根据该RapidIO短包的地址信息将该 RapidIO短包的有效数据存储在端点存储器中。
在RapidIO短包组合数据包时,需要在RapidIO组包中添加RapidIO短包的长度
信息,此时
该获取才莫块702,具体用于获取该RapidIO短包的地址信息和长度信息;并 根据该RapidIO短包的长度信息从该RapidIO组包中获取该RapidIO短包的有效 数据;
相应的,该存储沖莫块703,具体用于根据该RapidIO短包的地址信息将该 RapidIO短包的有效数据存储在端点存储器中。
此外,在传送多种固定长度的RapidIO短包时,可以在发送设备和接收设 备处约定,固定每个RapidIO短包在RapidIO组包中的存储位置,在进行RapidIO 组包时,从RapidIO组包的起始地址开始,将多个RapidIO短包的有效数据依次 存放在RapidIO组包中。比如系统中只包含三种长度的RapidIO短包,分别为6 字节、12字节和24字节。则预先约定,在进行RapidIO组包时,从RapidIO组 包的起始地址开始,依次存放各种RapidIO短包的有效数据,如存放的第一个 RapidIO短包为6字节的RapidIO短包,起始地址为RapidIO组包的起始地址; 存放的第二个RapidIO短包为12字节的RapidIO短包,起始地址为"RapidIO组 包的起始地址+6字节,,;存放的第三个RapidIO短包为24字节的RapidIO短包, 起始地址为"RapidIO组包的起始地址+18字节";存放的第四个RapidIO短包为 6字节的RapidIO短包,起始地址为"RapidIO组包的起始地址+48字节"。
此时,该获取模块702,具体用于按照预设的RapidIO短包数据存储位置从 该RapidIO组包中获取该RapidIO短包的有效数据;
相应的,该存储模块703,具体用于获取该RapidIO组包的地址信息,并根 据该RapidIO组包的地址信息和该预设的RapidIO短包数据存储位置,将该 RapidIO短包的有效数据存储在端点存储器中。
本发明实施例也可以进行扩展,在端点存储器中,设置传送RapidIO组包 数据的专用地址空间,在对当前数据包进行处理时,如果访问的是端点存储器
17的专用地址空间,则:J安照上述处理RapidIO组包的方法对当前数据包进行处理; 如果访问的是端点存储器的专用地址空间以外的地址空间,则按照处理正常数 据包的方法对当前数据包进行处理。 该接收设备还包括
判断模块704,用于判断接收模块接收到的数据包所访问的地址空间是否是 端点存储器的预设地址空间,如果是,则判定该接收;f莫块接收到的该数据包为 RapidIO组包。
参见图8,本发明实施例还提供了一种发送设备,包括 获取模块801,用于获取RapidIO短包的数据信息;
组合模块802,用于依次将该RapidIO短包的数据信息无缝隙的存放在预设 长度的RapidIO组包中,该RapidIO组包的有效数据由无缝隙地存放的至少两个 RapidIO短包的数据信息组成;
发送模块803,用于向接收设备发送该RapidIO组包。
进一步的,该组合模块802,具体用于依次将该RapidIO短包的地址信息和 有效数据无缝隙的存力文在预设长度的RapidIO组包中,该RapidIO短包的数据长 度为固定值;或,具体用于依次将该RapidIO短包的地址信息、长度信息和有 效数据无缝隙的存放在预设长度的RapidIO组包中;或,具体用于按照预设的 RapidIO短包数据的存储位置依次将该RapidIO短包的有效数据无缝隙的存放在 预设长度的RapidIO组包中。
本发明实施例还提供了一种RapidIO系统,参见图9,该系统包括
发送设备901 ,用于获取RapidIO短包的数据信息,依次将该RapidIO短包 的数据信息无缝隙的存放在预设长度的RapidIO组包中,并向接收设备发送该 RapidIO组包,该RapidIO组包的有效数据由无缝隙地存放的至少两个RapidIO 短包的数据信息组成;
接收设备902,用于接收发送设备发送的RapidIO组包,获取该RapidIO组 包中的该RapidIO短包的数据信息,并根据该RapidIO短包的数据信息将该 RapidIO短包存储在端点存储器中。
本发明实施例通过将多个RapidIO短包组成长包进行传输,可以有效的缩 短大部分RapidIO短包的传输时延,并提高系统的带宽利用率,进而提高了系 统的性能。并且解决方案可以灵活的进行扩展,在提高系统带宽利用率的同时,也不会影响正常的使用。
本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存 储介质中,例如,路由器的硬盘、緩存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
权利要求
1、一种基于RapidIO协议的数据包传输的方法,其特征在于,所述方法包括接收发送设备发送的RapidIO组包,所述RapidIO组包的有效数据由无缝隙地存放的至少两个RapidIO短包的数据信息组成;获取所述RapidIO组包中的所述RapidIO短包的数据信息;根据所述RapidIO短包的数据信息将所述RapidIO短包存储在端点存储器中。
2、根据权利要求1所述的基于RapidIO协议的数据包传输的方法,其特征在于,所述RapidIO短包的数据长度为固定值,以及,所述获取所述RapidIO组包中的所述RapidIO短包的数据信息,包括获取所述RapidIO短包的地址信息;据; 、' 又、 , "相应的,所述根据所述RapidIO短包的数据信息将所述RapidIO短包存储在端点存储器中,包括根据所述RapidIO短包的地址信息将所述RapidIO短包的有效数据存储在端点存储器中。
3、根据权利要求1所述的基于RapidIO协议的数据包传输的方法,其特征在于,所述获取所述RapidIO组包中的所述RapidIO短包的数据信息,包括获取所述RapidIO短包的地址信息和长度信息;根据所迷RapidIO短包的长度信息从所述RapidIO组包中获取所述RapidIO短包的有效数据;相应的,所述根据所述RapidIO短包的数据信息将所述RapidIO短包存储在端点存储器中,包括根据所述RapidIO短包的地址信息将所述RapidIO短包的有效数据存储在端点存储器中。
4、 根据权利要求1所述的基于RapidIO协议的数据包传输的方法,其特征 在于,所述获取所述RapidIO组包中的所述RapidIO短包的数据信息,包括按照预设的RapidIO短包数据的存储位置从所述RapidIO组包中获取所述 RapidIO短包的有效数据;相应的,所述4艮据所述RapidIO短包的数据信息将所述RapidIO短包存储在 端点存储器中,包括获取所述RapidIO组包的地址信息;根据所述RapidIO组包的地址信息和所述预设的RapidIO短包数据存储位 置,将所述RapidIO短包的有效数据存储在端点存储器中。
5、 根据权利要求1所述的基于RapidIO协议的数据包传输的方法,其特征 在于,所述接收发送设备发送的RapidIO组包,包括当接收到的数据包所访问的是端点存储器的预设地址空间时,则判定所述 数据包为RapidIO组包,并接收所述数据包。
6、 一种基于RapidIO协议的数据包传输的方法,其特征在于,所述方法包括获取RapidIO短包的数据信息;依次将所述RapidIO短包的数据信息无缝隙的存放在预设长度的RapidIO组 包中,所述RapidIO组包的有效数据由无缝隙地存放的至少两个RapidIO短包的 数据信息組成;向接收设备发送所述RapidIO组包。
7、 根据权利要求6所述的基于RapidIO协议的数据包传输的方法,其特征 在于,所述依次将所述RapidIO短包的数据信息无缝隙的存储在预设长度的 RapidIO组包中,包括依次将所述RapidIO短包的地址信息和有效数据无缝隙的存放在预设长度 的RapidIO组包中,所述RapidIO短包的数据长度为固定值;或,依次将所述RapidIO短包的地址信息、长度信息和有效数据无缝隙的存放在预设长度的RapidIO组包中;或,按照预设的RapidIO短包数据的存储位置依次将所述RapidIO短包的有 效数据无缝隙的存放在预设长度的RapidIO组包中。
8、 一种接收设备,其特征在于,所述接收设备包括接收模块,用于接收发送设备发送的RapidIO组包,所述RapidIO组包的有 效数据由无缝隙地存》文的至少两个RapidIO短包的数据信息组成;获取模块,用于获取所述RapidIO组包中的所述RapidIO短包的数据信息; 存储模块,用于根据所述RapidIO短包的数据信息将所述RapidIO短包存储 在端点存储器中。
9、 根据权利要求8所述的接收设备,其特征在于,所述RapidIO短包的数 据长度为固定值,以及,所述获取模块,还用于获取所述RapidIO短包的地址信息,并根据所述 RapidIO短包的数据长度的固定值获取所述RapidIO短包的有效数据;相应的,所述存储才莫块,还用于根据所述RapidIO短包的地址信息将所述 RapidIO短包的有效数据存储在端点存储器中。
10、 根据权利要求8所述的接收设备,其特征在于,所述获取模块,还用于获取所述RapidIO短包的地址信息和长度信息;并 根据所述RapidIO短包的长度信息从所述RapidIO组包中获取所述RapidIO短包 的有效数据;相应的,所述存储模块,还用于根据所述RapidIO短包的地址信息将所述 RapidIO短包的有效数据存储在端点存储器中。
11、 根据权利要求8所述的接收设备,其特征在于,所述获取模块,还用于按照预设的RapidIO短包数据存储位置从所述 RapidIO组包中获取所述RapidIO短包的有效数据;相应的,所述存储模块,还用于获取所述RapidIO组包的地址信息,并根 据所述RapidIO组包的地址信息和所述预设的RapidIO短包数据存储位置,将所述RapidIO短包的有效数据存储在端点存储器中。
12、 根据权利要求8所述的接收设备,其特征在于,所述接收设备还包括: 判断模块,用于判断接收模块接收到的数据包所访问的地址空间是否是端点存储器的预设地址空间,如果是,则判定所述接收模块接收到的所述数据包 为RapidIO组包。
13、 一种发送设备,其特征在于,所述发送设备包括 获取模块,用于获取RapidIO短包的数据信息;组合模块,用于依次将所述RapidIO短包的数据信息无缝隙的存放在预设 长度的RapidIO组包中,所述RapidIO组包的有效数据由无缝隙地存放的至少两 个RapidIO短包的数据信息组成;发送才莫块,用于向4妄收i殳备发送所述RapidIO组包。
14、 根据权利要求13所述的发送设备,其特征在于,所述组合模块,还用于依次将所述RapidIO短包的地址信息和有效数据无 缝隙的存放在预设长度的RapidIO组包中,所述RapidIO短包的数据长度为固定 值;或,用于依次将所述RapidIO短包的地址信息、长度信息和有效数据无缝 隙的存放在预设长度的RapidIO组包中;或用于按照预设的RapidIO短包数据的 存储位置依次将所述RapidIO短包的有效数据无缝隙的存放在预设长度的 RapidIO组包中。
15、 一种RapidIO系统,其特征在于,所述系统包括发送设备,用于获取RapidIO短包的数据信息,依次将所述RapidIO短包的 数据信息无缝隙的存放在预设长度的RapidIO组包中,并向接收设备发送所述 RapidIO组包,所述RapidIO组包的有效数据由无缝隙地存放的至少两个RapidIO 短包的数据信息组成;接收设备,用于接收发送设备发送的RapidIO组包,获取所述RapidIO组包 中的所述RapidIO短包的数据信息,并根据所述RapidIO短包的数据信息将所述 RapidIO短包存储在端点存储器中。
全文摘要
本发明公开了一种基于RapidIO协议的数据包传输的方法、设备和系统,属于通信技术领域,所述方法包括接收发送设备发送的RapidIO组包,所述RapidIO组包的有效数据由无缝隙地存放的至少两个RapidIO短包的数据信息组成;获取所述RapidIO组包中的所述RapidIO短包的数据信息;根据所述RapidIO短包的数据信息将所述RapidIO短包存储在端点存储器。所述接收设备包括接收模块、获取模块和存储模块;所述发送设备包括获取模块、组合模块和发送模块。所述系统包括发送设备和接收设备。本发明实施例通过将多个RapidIO短包组成RapidIO组包进行传输,可以有效的缩短大部分RapidIO短包的传输时延,同时提高系统的带宽利用率,进而提高了系统的性能。
文档编号H04L12/56GK101515841SQ200910081150
公开日2009年8月26日 申请日期2009年4月3日 优先权日2009年4月3日
发明者健 苏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1