一种数据传输方法及装置的制造方法

文档序号:8265211阅读:242来源:国知局
一种数据传输方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信领域,尤其涉及一种数据传输方法及装置。
【背景技术】
[0002] 总线是计算机各种功能部件之间传送信息的公共通路,它是由导线组成的传输线 束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总 线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是CPU、内存、输入设 备、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的 接口电路再与总线相连接,从而形成了计算机硬件系统。
[0003] 总线的带宽大小影响系统服务质量,总线带宽的下降可能引起系统的性能降级。 由于总线是主机各个部件的连接通路,一旦出现物理故障(断裂点)后,系统可能出现灾难 性的瘫痪。为避免发生此类事故,需对总线进行可靠性设计。
[0004] HT(HyperTransport)总线技术是一种点对点连接技术,它的分为四层:物理层、 数据链路层、协议层和会话层。其可靠性设计主要在数据链路层加入循环冗佘校验码,在数 据链路层进行校验。其通道数目可以有以下几种选择:32、16、8、4、2。当总线通道发生硬故 障时,可以通过人工设定带宽来使系统正确运行。该方法需要人工诊断和干预,不具备自动 化的诊断和处理功能。其次,虽然可以通过调整带宽可能使设备正常运行,但其数据传输通 道不能动态选择,若硬故障发生在使用的数据传输通道上,则系统仍无法正确运行。
[0005] 现有技术提出了一种总线自愈技术,可以在无需人为干预的情况下,动态配置物 理通道,使得物理线路的全带宽降低为原来的1 / 2,以此来来解决总线通道发生物理故障 的问题。
[0006] 在实际的数据传输应用中,由于需要保证数据链路层消息单元的数据量是数据传 输通道的整数倍,因此当总线发生单个通道故障时,若使用这种总线自愈技术,则需要成倍 的修改数据传输通道,使得带宽至少要下降为原来的1 / 2,严重影响了系统性能,并浪费 大量的可用通道。

【发明内容】

[0007] 本发明实施例提供了一种数据传输方法,用于当全带宽传输通道发生故障时,根 据全带宽传输通道的情况适应性的调整数据单元的传输方式。
[0008] 本发明实施例第一方面提供的数据传输方法,包括:
[0009] 检测总线的全带宽传输通道,所述全带宽传输通道包括:N个数据传输通道和M个 冗佘校验通道;所述数据传输通道用于传输数据单元,所述冗佘校验通道用于对所述数据 单元的传输进行数据链路层校验;所述N和M分别为大于零的自然数,所述数据单元为具有 一定数据量大小的数据块;
[0010] 若所述全带宽传输通道发生故障,且发生故障的全带宽传输通道的数目小于或等 于所述M,则在未发生故障的全带宽传输通道中选择N个全带宽传输通道进行数据单元的 传输; toon] 若所述全带宽传输通道发生故障,且发生故障的全带宽传输通道的数目大于所述 M,则根据未发生故障的全带宽传输通道的数目以及目标节拍数对数据单元的大小进行重 配置,使得所述数据单元的数据量为未发生故障的全带宽传输通道的数目的整数倍,所述 目标节拍数为完成一个所述数据单元传输需要在所述全带宽传输通道上传输的次数。
[0012] 在第一方面的第一种可能的实现方式中,若所述全带宽传输通道发生故障,且发 生故障的全带宽传输通道的数目小于或等于所述M,则所述在未发生故障的全带宽传输通 道中选择N个全带宽传输通道进行数据单元的传输之前,包括:
[0013] 关闭所述冗佘校验通道的数据链路层校验功能,设置所述数据单元传输的传输层 校验功能。
[0014] 结合第一方面的第一种可能实现方式,在第一方面的第二种可能的实现方式中, 所述设置所述数据单元传输的传输层校验功能,包括 :
[0015] 对数据单元进行封装,为所述数据单元的数据包添加序列编号,并为所述数据单 元的数据包添加循环冗佘校验码的标志位;当发生故障的全带宽传输通道的数目小于或等 于所述M时,将所述循环冗佘校验码的标志位标志设置为启动。
[0016] 在第一方面的第三种可能的实现方式中,若所述全带宽传输通道发生故障,且发 生故障的全带宽传输通道的数目小于所述M,则所述在未发生故障的全带宽传输通道中选 择N个全带宽传输通道进行数据单元的传输之前,包括:
[0017] 将原12位的循环冗佘校验码修改为8位的循环冗佘校验码,在K个未发生故障的 全带宽传输通道中使用所述8位的循环冗佘校验码进行数据链路层校验,所述K个未发生 故障的全带宽传输通道为选择了所述N个全带宽传输通道之后剩余的未发生故障的全带 宽传输通道,所述K为大于零的整数。
[0018] 在第一方面的第四种可能的实现方式中,所述根据未发生故障的全带宽传输通道 的数目以及目标节拍数对数据单元进行重配置,使得所述数据单元的数据量为未发生故障 的全带宽传输通道的数目的整数倍,具体包括:
[0019] 对单个所述数据单元的总数据量进行重配置,获取传输重配置的数据单元的目标 节拍数,所述目标节拍数为数据节拍数和校验码节拍数之和,所述校验码节拍数为完成一 个数据单元所对应的校验码的传输,需要在所述全带宽传输通道上传输的次数;所述数据 节拍数为完成一个数据单元所对应的数据的传输,需要在所述全带宽传输通道上传输的次 数;
[0020] 将所述目标节拍数与所述未发生故障的全带宽传输通道的数目相乘,得到重配置 的数据单元的总数据量,其中,一个所述全带宽传输通道一次传输一比特的数据单元的数 据量。
[0021] 结合第一方面的第四种可能实现方式,在第一方面的第五种可能的实现方式中, 所述获取传输所述数据单元的目标节拍数,具体为:
[0022] 将校验码的数据量除以所述未发生故障的全带宽传输通道的数目的商向上取整, 将所述商向上取整的结果乘于基础节拍数,得到所述目标节拍数,其中,所述基础节拍数根 据所述总线的设计标准设定。
[0023] 本发明实施例第二方面提供的数据传输装置,包括:检测单元,配置单元,第一传 输单元和第二传输单元;
[0024] 所述检测单元用于检测总线的全带宽传输通道,所述全带宽传输通道包括:N个 数据传输通道和M个冗佘校验通道;所述数据传输通道用于传输数据单元,所述冗佘校验 通道用于对所述数据单元的传输进行数据链路层校验;所述N和M分别为大于零的自然数, 所述数据单元为具有一定数据量大小的数据块;若所述全带宽传输通道发生故障,且发生 故障的全带宽传输通道的数目小于或等于所述M,则触发所述第一传输单元;若所述全带 宽传输通道发生故障,且发生故障的全带宽传输通道的数目大于所述M,则触发所述配置单 元;
[0025] 所述第一传输单元用于在未发生故障的全带宽传输通道中选择N个全带宽传输 通道进行数据单元的传输;
[0026] 所述配置单元根据未发生故障的全带宽传输通道的数目以及目标节拍数对数据 单元的大小进行重配置,使得所述数据单元的数据量为未发生故障的全带宽传输通道的数 目的整数倍,所述目标节拍数为完成一个所述数据单元传输需要在所述全带宽传输通道上 传输的次数;在完成数据单元的重配置后,触发所述第二传输单元;
[0027] 所述第二传输单元用于在所述未发生故障的全带宽传输通道中传输重配置的数 据单元。
[0028] 在第二方面的第一种可能的实现方式中,所述第一传输单元还用于:
[0029] 若所述全带宽传输通道发生故障,且发生故障的全带宽传输通道的数目小于或等 于所述M,则所述在未发生故障的全带宽传输通道中选择N个全带宽传输通道进行数据单 元的传输之前,关闭所述冗佘校验通道的数据链路层校验功能,设置所述数据单元传输的 传输层校验功能。
[0030] 结合第二方面的第一种可能实现方式,在第二方面的第二种可能的实现方式中, 所述数据传输装置还包括:
[0031] 数据封装单元,用于对数据单元进行封装,为所述数据单元的数据包添加序列编 号,并为所述数据单元的数据包添加循环冗佘校验码的标志位;当发生故障的全带宽传输 通道的数目小于或等于所述M时,将所述循环冗佘校验码的标志位标志设置为启动。
[0032] 在第二方面的第三种可能的实现方式中,所述第一传输单元还用于:若所述全带 宽传输通道发生故障,且发生故障的全带宽传输通道的数目小于所述M,则所述在未发生故 障的全带宽传输通道中选择N个全带宽传输通道进行数据单元的传输之前,将原12位的循 环冗佘校验码修改为8位的循环冗佘校验码,在K个未发生故障的全带宽传输通道中使用 所述8位的循环冗佘校验码进行数据链路层校验,所述K个未发生故障的全带宽传输通道 为选择了所述N个全带宽传输通道之后剩余的未发生故障的全带宽传输通道,所述K为大 于零的整数。
[0033] 在第二方面的第四种可能的实现方式中,所述配置单元具体用于:
[0034] 对单个所述数据单元的总数据量进行重配置,获取传输重配置的数据单元的目标 节拍数,所述目标节拍数为数据节拍数和校验码节拍数之和,所述校验码节拍数为完成一 个数据单元所对应的校验码的传输,需要在所述全带宽传输通道上传输的次数;所述数据 节拍数为完成一个数据单元
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1