一种片上网络路由器及路由方法转让专利

申请号 : CN201110448586.4

文献号 : CN103188158B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尹首一张振刘雷波魏少军

申请人 : 清华大学

摘要 :

本申请提供了一种片上网络路由器,包括:无线通信单元与交换开关单元连接,其中,无线通信单元包括:校验码生成模块,用于生成校验码,将校验码附加到输入数据段中,并将数据段传输至调制模块;调制模块,用于将带附加校验码的数据段或者重发请求信号调制成无线信号,并通过天线发送出去;缓存模块,用于将所述带附加校验码的数据段进行缓存;解调模块,用于将天线接收到的无线信号解调,得到解调数据;判断模块,用于判断所述解调数据的类型;比对模块,用于产生比对校验码,并与数据段中的附加校验码比对;无线输入模块,包括第一虚通道子模块,所述无线输入模块用于将校验码比对模块传输的数据段缓存至第一虚通道子模块。

权利要求 :

1.一种片上网络路由器,其特征在于,包括:无线通信单元与交换开关单元连接,其中,所述无线通信单元包括:校验码生成模块,用于生成校验码,将校验码附加到输入数据段中,并将数据段传输至调制模块;

调制模块,用于将带附加校验码的数据段或者重发请求信号调制成无线信号,并通过天线发送出去;

缓存模块,用于将所述带附加校验码的数据段进行缓存;

解调模块,用于将天线接收到的无线信号解调,得到解调数据;

判断模块,用于判断所述解调数据的类型;如果所述解调数据为带附加校验码的数据段,则将所述数据段传输至比对模块;如果所述解调数据为重发请求信号,则将缓存模块中的数据段传输至调制模块;

比对模块,用于产生比对校验码,并与数据段中的附加校验码比对;当比对有误时,则发送重发请求信号至调制模块;当比对正确时,则将数据段传输至无线输入模块;其中,所述校验码比对模块传输至无线输入模块的数据段为去除附加校验码后的数据段;

无线输入模块,包括第一虚通道子模块,所述无线输入模块用于将校验码比对模块传输的数据段缓存至第一虚通道子模块。

2.根据权利要求1所述的片上网络路由器,其特征在于,还包括:输入单元,所述输入单元包括第二虚通道模块,用于将外界输入的数据段缓存至第二虚通道模块,并将输入数据段传输至输出目标。

3.根据权利要求2所述的片上网络路由器,其特征在于,还包括:路由选择单元,用于依据第一虚通道子模块或第二虚通道模块中的数据段信息选择下一个网络路由器;

虚通道分配单元,用于检测所述下一个网络路由器的状态信息,分配第一虚通道子模块或第二虚通道模块中的数据段在下一个网络路由器中的输出目标虚通道。

4.根据权利要求3所述的片上网络路由器,其特征在于,所述输出目标为校验码生成模块或者所述下一个网络路由器中的目标虚通道。

5.一种片上网络路由方法,其特征在于,包括:交换开关单元与无线通信单元之间相互通信;

当无线通信单元处于发送状态时,对数据段进行处理包括以下子步骤:生成校验码,将校验码附加到输入数据段中;

将带附加校验码的数据段或者重发请求信号调制成无线信号,并通过天线发送出去;

缓存所述带附加校验码的数据段;

当无线通信单元处于接收状态时,对数据段进行处理包括以下子步骤:将天线接收到的无线信号解调,得到解调数据;

判断所述解调数据的类型:

如果所述解调数据为带附加校验码的数据段,则产生比对校验码,并与数据段中的附加校验码比对:当比对有误时,则发送重发请求信号进行调制;

当比对正确时,则将数据段传输至无线输入模块存储;

如果所述解调数据为重发请求信号,则将发送状态下缓存的数据段取出,并调制成无线信号,通过天线发送出去;

其中,所述传输至无线输入模块的数据段为去除附加校验码后的数据段。

6.根据权利要求5所述的方法,其特征在于,还包括:将外界输入的数据段缓存至输入单元中的第二虚通道模块,并将数据段传输至输出目标处理。

7.根据权利要求6所述的方法,其特征在于,还包括:依据第一虚通道子模块或第二虚通道模块中的数据段信息选择下一个网络路由器;

检测所述下一个网络路由器的状态信息,分配第一虚通道子模块或第二虚通道模块中的数据段在下一个网络路由器中的输出目标虚通道。

8.根据权利要求7所述的方法,其特征在于,所述将数据段传输至输出目标处理包括:将数据段传输至无线通信单元,生成校验码,将校验码附加到输入数据段中;或者,将数据段传输至下一个网络路由器中的目标虚通道。

说明书 :

一种片上网络路由器及路由方法

技术领域

[0001] 本申请涉及片上系统技术领域,特别是涉及一种片上网络路由器及路由方法。

背景技术

[0002] 片上网络作为一种很有前景的技术成为了学术界研究的热点,并开始被产业界前沿的片上系统设计所采用,英特尔已经开发了一款名为单片云计算机(SCC:Single-chip Cloud Computer)的采用片上网络技术的48核心处理器。片上网络架构是将通信网络的概念移植到片上通信,通过将数据组合成数据包,由传输路径上的路由器进行路径选择和流量控制,实现模块间的数据交换。它能为芯片上的处理单元提供灵活、并行、分布式的数据通路。与总线结构相比,由于片上网络互连架构中只存在到相邻模块的连接,因此具有规则的拓扑结构,从而可以方便的扩展到数百乃至上千个模块的片上系统上。而规则的结构还使得互连线的电气参数更容易控制和优化,物理延时和功耗也更加容易计算,同时功耗也会得到优化。然而,芯片上进行长距离通信时,由于缺少快捷通道,通信需要经过多次路由转发,增加了路由中消息阻塞的概率,从而导致消息的延时很大并且难以预测,服务质量也难以得到保证。
[0003] 随着纳米技术和无线通信的进步,片内无线通信成为了可能,通信的带宽可达数百GHz乃至数十THz。于是产生了一些采用无线、有线连接混合的互连架构。在混合架构的片上网络互连中,有两种信道:传统有线信道和长距离的无线信道。近邻的模块通过有线信道进行连接,而无线信道用于连接距离较远的模块。这些无线信道可被长距离的数据传输所采用,从而减少传输过程中的转发次数。因此,混合架构的片上网络互连可以被认为是在传统的片上网络架构基础上,加入了一些无线的长距离捷径。
[0004] 无线片上网络互连架构中一个重要部分是路由器的设计。路由器的设计需要解决四个主要的问题:首先,片上互连性能的关键指标是数据包的传输延时,因此应当采用以延时为目的进行优化的路由算法,如虫孔交换的路由机制;其次,延时导向的路由算法有可能出现路由死锁的现象,因此设计路由算法时需要防止死锁发生;第三,与传统的有线互连相比,无线传输的比特误差率(BER)要大得多,不能直接满足片上通信可靠性的要求,因此需要对丢失的数据包进行管理;第四,路由的选择算法和MAC层实现足够简单,易于片上实现。
[0005] 传统的片上网络路由器采用虫孔交换的路由机制解决了传输延时的问题,采用X-Y路由等算法避免了路由死锁。但是由于在混合架构的片上网络中加入了无线信道,无线传输的比特误差率增大,片上通信的可靠性降低,新加入的路径会导致数据死锁问题,因此需要设计新的路由器,用以解决上述问题,从而确保无线数据传输的可靠性。

发明内容

[0006] 本申请所要解决的技术问题是提供一种片上网络路由器,能够对数据传输过程中的错误进行检测和数据重传,解决片上网络架构中加入无线连接后导致的数据死锁问题,提高传输的可靠性。
[0007] 为了解决上述问题,本申请公开了一种片上网络路由器,包括:无线通信单元与交换开关单元连接,其中,所述无线通信单元包括:
[0008] 校验码生成模块,用于生成校验码,将校验码附加到输入数据段中,并将数据段传输至调制模块;
[0009] 调制模块,用于将带附加校验码的数据段或者重发请求信号调制成无线信号,并通过天线发送出去;
[0010] 缓存模块,用于将所述带附加校验码的数据段进行缓存;
[0011] 解调模块,用于将天线接收到的无线信号解调,得到解调数据;
[0012] 判断模块,用于判断所述解调数据的类型;如果所述解调数据为带附加校验码的数据段,则将所述数据段传输至比对模块;如果所述解调数据为重发请求信号,则将缓存模块中的数据段传输至调制模块;
[0013] 比对模块,用于产生比对校验码,并与数据段中的附加校验码比对;当比对有误时,则发送重发请求信号至调制模块;当比对正确时,则将数据段传输至无线输入模块;
[0014] 无线输入模块,包括第一虚通道子模块,所述无线输入模块用于将校验码比对模块传输的数据段缓存至第一虚通道子模块。
[0015] 优选的,所述校验码比对模块传输至无线输入模块的数据段为去除附加校验码后的数据段。
[0016] 优选的,所述片上网络路由器还包括:
[0017] 输入单元,所述输入单元包括第二虚通道模块,用于将外界输入的数据段缓存至第二虚通道模块,并将输入数据段传输至输出目标。
[0018] 优选的,所述片上网络路由器还包括:
[0019] 路由选择单元,用于依据第一虚通道子模块或第二虚通道模块中的数据段信息选择下一个网络路由器;
[0020] 虚通道分配单元,用于检测所述下一个网络路由器的状态信息,分配第一虚通道子模块或第二虚通道模块中的数据段在下一个网络路由器中的输出目标虚通道。
[0021] 优选的,所述输出目标为校验码生成模块或者所述下一个网络路由器中的目标虚通道。
[0022] 另一方面,本申请还公开了一种片上网络路由方法,包括:
[0023] 交换开关单元与无线通信单元之间相互通信;
[0024] 当无线通信单元处于发送状态时,对数据段进行处理包括以下子步骤:
[0025] 生成校验码,将校验码附加到输入数据段中;
[0026] 将带附加校验码的数据段或者重发请求信号调制成无线信号,并通过天线发送出去;
[0027] 缓存所述带附加校验码的数据段;
[0028] 当无线通信单元处于接收状态时,对数据段进行处理包括以下子步骤:
[0029] 将天线接收到的无线信号解调,得到解调数据;
[0030] 判断所述解调数据的类型:
[0031] 如果所述解调数据为带附加校验码的数据段,则产生比对校验码,并与数据段中的附加校验码比对:
[0032] 当比对有误时,则发送重发请求信号进行调制;
[0033] 当比对正确时,则将数据段传输至无线输入模块存储;
[0034] 如果所述解调数据为重发请求信号,则将发送状态下缓存的数据段取出,并调制成无线信号,通过天线发送出去。
[0035] 优选的,所述传输至无线输入模块的数据段为去除附加校验码后的数据段。
[0036] 优选的,所述方法还包括:
[0037] 将外界输入的数据段缓存至输入单元中的第二虚通道模块,并将数据段传输至输出目标处理。
[0038] 优选的,所述方法还包括:
[0039] 依据第一虚通道子模块或第二虚通道模块中的数据段信息选择下一个网络路由器;
[0040] 检测所述下一个网络路由器的状态信息,分配第一虚通道子模块或第二虚通道模块中的数据段在下一个网络路由器中的输出目标虚通道。
[0041] 优选的,所述将数据段传输至输出目标处理包括:
[0042] 将数据段传输至无线通信单元,生成校验码,将校验码附加到输入数据段中;或者,
[0043] 将数据段传输至下一个网络路由器中的目标虚通道。
[0044] 与现有技术相比,本申请包括以下优点:
[0045] 本申请通过在片上网络路由器中加入无线通信单元,使得当路由器中具有无线连接时,可以通过无线通信单元进行数据通信。通过在无线通信单元中设置校验码生成模块、比对模块和缓存模块,可以检测无线传输过程中的数据传输错误,并进行数据重传,解决了片上网络架构中加入无线连接后导致的数据死锁问题,提高了传输的可靠性。本申请仅需在传统的路由器基础上附加无线通信单元,与原有路由和VC分配逻辑兼容,结构简明,开销较小。

附图说明

[0046] 图1是本申请一种片上网络路由器的整体结构框图;
[0047] 图2是本申请一种片上网络路由器中无线通信单元的具体结构图;
[0048] 图3是本申请一种片上网络路由器中无线通信单元的结构框图;
[0049] 图4是应用本申请的混合架构互联的片上系统的示意图;
[0050] 图5是本申请一种片上网络路由方法实施例的流程图。

具体实施方式

[0051] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
[0052] 参照图1,示出了本申请一种片上网络路由器的整体结构框图,该网络路由器是在基本路由的基础上加入了无线通信单元,用于当路由器上有无线连接时,进行无线通信。
[0053] 参照图2和图3,示出了本申请一种片上网络路由器中无线通信单元的整体结构图和结构框图,其中,天线可以在发送模式和接收模式间切换,因此无线通信单元是一个半双工的无线信道。
[0054] 该无线通信单元还包括:
[0055] 校验码生成模块(校验码产生器),用于生成校验码(如奇偶校验码,循环冗余检验校验码),将校验码附加到输入数据段中,并将数据段传输至调制模块;
[0056] 调制模块(调制器),用于将带附加校验码的数据段或者重发请求信号调制成无线信号,并通过天线发送出去;
[0057] 缓存模块(重传缓存),用于将所述带附加校验码的数据段进行缓存;
[0058] 解调模块(解调器),用于将天线接收到的无线信号解调,得到解调数据;
[0059] 判断模块,用于判断所述解调数据的类型;如果所述解调数据为带附加校验码的数据段,则将所述数据段传输至比对模块;如果所述解调数据为重发请求信号,则将缓存模块中的数据段传输至调制模块;
[0060] 比对模块(校验码比对器),用于产生比对校验码,并与数据段中的附加校验码比对;当比对有误时,则发送重发请求信号至调制模块;当比对正确时,则将数据段传输至第一虚通道模块;
[0061] 无线输入模块,包括第一虚通道子模块(第一虚通道),所述无线输入模块用于将校验码比对模块传输的数据段缓存至第一虚通道子模块。
[0062] 其中,所述校验码比对模块传输至无线输入模块的数据段为去除附加校验码后的数据段。
[0063] 本申请提出的片上网络路由器还包括:
[0064] 输入单元,所述输入单元包括第二虚通道模块,用于将外界输入的数据段缓存至第二虚通道模块,并将输入数据段传输至输出目标,所述输出目标为校验码生成模块或者下一个网络路由器中的目标虚通道。
[0065] 其中,外界输入的数据段包括东、南、西、北以及本地5个方向的输入,外界数据输入到输入单元后,会调用路由选择单元和虚通道分配单元进行路由及虚通道的决策。
[0066] 路由选择单元,用于依据第一虚通子道模块或第二虚通道模块中的数据段信息选择下一个网络路由器;
[0067] 虚通道分配单元,用于检测所述下一个网络路由器的状态信息,分配第一虚通道子模块或第二虚通道模块中的数据段在下一个网络路由器中的输出目标虚通道。
[0068] 交换开关单元与输入单元、无线通信单元以及交换仲裁单元连接,交换仲裁单元用于控制交换开关单元,从而选择输入数据段的去向。
[0069] 下面,针对具有无线连接时本申请的片上网络路由器的具体工作过程。
[0070] 如果当前路由器接收到的信号为有线信号,则执行下述步骤:
[0071] 步骤11,输入单元接收到外部数据,依据与其相连的前一个网络路由器中虚通道分配单元的信息,将输入数据段缓存至相应的虚通道中。
[0072] 步骤12,交换仲裁单元判断当前需要进行的传输形式:
[0073] 如果通过路由算法得出当前需要进行有线传输,则执行以下步骤:
[0074] 步骤131,路由选择单元依据第二虚通道模块中的数据段信息选择下一个网络路由器;
[0075] 步骤141,虚通道分配单元检测所述下一个网络路由器的状态信息,分配第二虚通道模块中的数据段在下一个网络路由器中的输出目标虚通道;
[0076] 步骤151,交换开关单元将当前路由与所述下一个网络路由器连接;
[0077] 步骤161,将数据段输出至下一个网络路由器中相应的虚通道中。
[0078] 如果通过路由算法得出当前需要进行无线传输,则执行以下步骤:
[0079] 步骤132,将天线初始化为接收状态;交换开关单元将所述输入单元连接至无线传输单元;
[0080] 步骤142,无线传输单元收到发送数据请求,切换天线为发送状态,将接收到的输入数据段传输至校验码生成模块;
[0081] 步骤152,校验码生成模块生成校验码,将校验码附加到输入数据段中,并将数据段传输至调制模块;
[0082] 步骤162,调制模块将带附加校验码的数据段调制成无线信号,并通过天线发送出去;
[0083] 步骤172,缓存模块将所述带附加校验码的数据段进行缓存;
[0084] 如果当前路由接收到的信号为无线信号,则执行下述步骤:
[0085] 步骤21,解调模块将天线接收到的无线信号解调,得到解调数据;
[0086] 步骤22,判断模块判断所述解调数据的类型:
[0087] 如果所述解调数据为重发请求信号,则执行步骤23;
[0088] 如果所述解调数据为带附加校验码的数据段,则将所述数据段传输至比对模块,执行步骤24;
[0089] 步骤23,将天线切换到发送状态,取出缓存模块中的数据段传输至调制模块,并通过天线发送出去,随后切换回接收状态;
[0090] 步骤24,比对模块产生比对校验码,并与数据段中的附加校验码比对:
[0091] 当比对有误时,则将天线切换到发送状态,发送重发请求信号至调制模块,调制模块将重发请求信号调制成无线信号通过天线发送出去,随后切换回接收状态;
[0092] 当比对正确时,则将数据段传输至无线输入模块;
[0093] 步骤25,无线输入模块将校验码比对模块传输的数据段缓存至第一虚通道子模块;
[0094] 步骤26,路由选择单元依据第一虚通道子模块中的数据段信息选择下一个网络路由器;
[0095] 步骤27,虚通道分配单元检测所述下一个网络路由器的状态信息,确定第一虚通道子模块中的数据段在下一个网络路由器中的输出目标虚通道;
[0096] 步骤28,将数据段输出至下一个网络路由器中相应的虚通道中。
[0097] 参照图5,示出了应用本申请的混合架构互联的片上系统的示意图,在路由器3和5、8和14之间有无线连接,因此路由器3、5、8、14使用了本申请所提出的片上网络路由,而其他路由器使用了传统的路由器。注意可以通过频分多址技术为每对无线连接分配特定的频率,从而避免信道的冲突。假定当前需要从模块3传输数据段A到模块5,其工作过程为:
[0098] 步骤a,初始状态路由器3和路由器5的天线均处于接收状态;
[0099] 步骤b,模块3首先将数据段发送到与之连接的路由器3,由于路由器3和5之间有无线连接,交换仲裁单元会控制输入的数据段通过交换开关单元进入无线通信单元;
[0100] 步骤c,无线通信单元将天线切换为发送状态,数据段通过校验码产生模块产生校验码,形成带附加校验码的数据段A’,然后通过调制模块进行调制,通过天线发送A’;
[0101] 步骤d,发送结束后,将已发送的带附加校验码的数据段A’缓存到缓存模块中,并将天线切换回接收状态;
[0102] 步骤e,路由器5接收到数据,首先经解调模块将接收到的无线信号解调,获得解调数据,判断为带附加校验码的数据段A’,于是使用比对模块比对校验信息,确定传输过程是否有误码;
[0103] 步骤f,若比对无误,向虚通道分配单元请求输入通道的虚通道,并将去掉校验码的原始数据段储存到指定虚通道中,随后继续监听;
[0104] 步骤g,若比对有误,将天线切换到发送状态,发送重发请求信号,向源路由提示数据传输错误,随后切换回接收状态;
[0105] 步骤h,若路由器3接到重发请求信号,则将天线切换到发送状态,取出缓存模块中储存的数据段A’,再次经调制模块调制,并通过天线发送,随后切换回接收状态。
[0106] 该过程保证了数据段在模块3和模块5之间进行数据传递时的可靠性。
[0107] 参照图4,示出了本申请一种片上网络路由方法实施例的流程图,所述方法包括:
[0108] 交换开关单元与无线通信单元之间相互通信;
[0109] 当无线通信单元处于发送状态时,对数据段进行处理包括以下子步骤:
[0110] 生成校验码,将校验码附加到输入数据段中;
[0111] 将带附加校验码的数据段或者重发请求信号调制成无线信号,并通过天线发送出去;
[0112] 缓存所述带附加校验码的数据段;
[0113] 当无线通信单元处于接收状态时,对数据段进行处理包括以下子步骤:
[0114] 将天线接收到的无线信号解调,得到解调数据;
[0115] 判断所述解调数据的类型:
[0116] 如果所述解调数据为带附加校验码的数据段,则产生比对校验码,并与数据段中的附加校验码比对:
[0117] 当比对有误时,则发送重发请求信号进行调制;当比对正确时,则将数据段传输至无线输入模块存储;
[0118] 如果所述解调数据为重发请求信号,则将发送状态下缓存的数据段取出,并调制成无线信号,通过天线发送出去。
[0119] 其中,所述传输至无线输入模块的数据段为去除附加校验码后的数据段。
[0120] 所述方法还包括:
[0121] 将外界输入的数据段缓存至输入单元中的第二虚通道模块,并将数据段传输至输出目标处理。
[0122] 依据第一虚通道子模块或第二虚通道模块中的数据段信息选择下一个网络路由器;检测所述下一个网络路由器的状态信息,分配第一虚通道子模块或第二虚通道模块中的数据段在下一个网络路由器中的输出目标虚通道。
[0123] 其中,所述将数据段传输至输出目标处理包括:
[0124] 将数据段传输至无线通信单元,生成校验码,将校验码附加到输入数据段中;或者,
[0125] 将数据段传输至下一个网络路由器中的目标虚通道。
[0126] 对于方法实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0127] 以上对本申请所提供的一种片上网络路由器及路由方法,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。