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

文档序号:8265211阅读:来源:国知局
所对应的数据的传输,需要在所述全带宽传输通道上传输的次 数;
[0035] 将所述目标节拍数与所述未发生故障的全带宽传输通道的数目相乘,得到重配置 的数据单元的总数据量,其中,一个所述全带宽传输通道一次传输一比特的数据单元的数 据量。
[0036] 结合第二方面的第四种可能实现方式,在第二方面的第五种可能的实现方式中, 所述配置单元具体用于:
[0037] 将校验码的数据量除以所述未发生故障的全带宽传输通道的数目的商向上取整, 将所述商向上取整的结果乘于基础节拍数,得到所述目标节拍数,其中,所述基础节拍数根 据所述总线的设计标准设定。
[0038] 从以上技术方案可以看出,本发明实施例具有以下优点:
[0039] 在本发明实施例中的全带宽传输通道可以包括:数据传输通道和冗佘校验通道, 数据传输通道用于传输数据单元,而冗佘校验通道用于对数据单元的传输进行数据链路层 校验;当检测到全带宽传输通道发生故障时,若发生故障的全带宽传输通道的数目小于或 等于冗佘校验通道的数目,则可以关闭所述冗佘校验通道的数据链路层校验功能,并在未 发生故障的全带宽传输通道中选择个数与原数据传输通道相等的全带宽传输通道进行数 据单元的传输;若冗佘校验通道,则对数据单元进行重配置,使得所述数据单元的数据量为 未发生故障的全带宽传输通道的数目的整数倍,从而避免为了适应数据链路层消息单元的 数据量而成倍的下降带宽,使得带宽资源可以得到有效的利用。
【附图说明】
[0040] 图1是本发明实施例数据传输的总线架构示意图;
[0041] 图2是本发明实施例数据传输方法的一个流程示意图;
[0042] 图3是本发明实施例数据传输方法的另一个流程示意图;
[0043] 图4是本发明实施例总线的协议架构和控制逻辑的示意图;
[0044] 图5是本发明实施例中数据结构示意图;
[0045] 图6是本发明实施例数据传输装置的逻辑结构示意图;
[0046] 图7是本发明实施例基于数据传输方法的计算机设备的一个流程示意图。
【具体实施方式】
[0047] 本发明实施例提供了一种数据传输方法,用于当全带宽传输通道发生故障时,根 据全带宽传输通道的情况适应性的调整数据单元的传输方式。
[0048] 下面对本发明实施例中数据传输方法所应用的系统架构进行简要的描述,将分别 描述发送端(源模块)及接收端(目标模块)的协议模块和控制模块。
[0049] -、发送端的协议模块;
[0050] 容错协议主要从传输的各个层次(包括物理层,数据链路层,传输层和事务层)来 设计以保证传输过程高效无误。同时在传输过程中发生错误时,需要一定的自愈能力,通过 减少带宽或者容错能力来保证系统的正常运行。
[0051] 本发明实施例中的容错协议主要设计四层协议:物理层,数据链路层,传输层和事 务层。自上而下来看,发送端所需发送的原始数据包即属于事务层数据包,不能直接传输。 发送端首先将其封装成传输层数据包,进而切分成数据链路层传输单元(即本发明实施例 中数据单元的一种),然后在物理层进行传输。接收模块接收到物理层的传输数据,验证无 误后将其拆解得到数据链路层传输单元,然后送到事务层,得到事务层的数据包,最后发往 接收模块进行处理。
[0052] 二、发送端控制模块;
[0053] 控制模块主要监测全带宽传输通道可用数目,确定协议模块的配置信息;发送端 控制模块对通道检测和配置。
[0054] 三、接收端协议模块;
[0055] 为保证正确解包,接收端需要和发送端保持一致的协议配置。接收端根据接收端 控制模块配置信息对协议层进行配置。配置成功后反馈给控制模块。进而根据配置信息, 采集全带宽传输通道上接收到的数据链路层消息单元与校验信息,对LUnit校验,若无错 误,则将其整合成传输层数据包,进而解包得到内存事务包。若校验发生错误,反馈给控制 模块。
[0056] 四、接收端控制模块;
[0057] 接收端控制模块主要负责与发送端控制模块同步,通过握手进行相同的协议配 置。同时负责重传事宜。若接收到协议模块发出的校验错误信号,即向发送端发出一个控 制信息包,告知发送端进行重传。
[0058] 消息传输的总线传输流程如图1所示,源模块在完成通道检测和配置之后,提取 事务层数据包,发起事务层数据包的传输;该事务层数据包首先被封装成传输层数据包,进 而被切分成数据链路层消息单元(LUnit);数据链路层消息单元依次传送到物理层的带宽 通道上进行传输。一个数据链路层消息单元传输完毕后,目标模块对该数据链路层消息单 元进行循环冗佘校验码(CRC,Cyclic Redundancy Check)校验,若发生错误,则发送一个特 殊的链路层控制消息单元给源模块让其重传。若链路层控制消息单元没错误,则将LUnit 整合成一个完整的传输层数据包,拆包后得到事务层数据包,并将事务层数据包送至后续 处理部分。这就是数据单元传输和校验的一个基本流程。
[0059] 请参阅图2,本发明实施例中数据传输方法的一个实施例包括:
[0060] 201、检测全带宽传输通道,当所述全带宽传输通道发生故障时,若发生故障的全 带宽传输通道的数目小于或等于M,则执行步骤202 ;若发生故障的全带宽传输通道的数目 大于M,则执行步骤203 ;
[0061] 数据传输装置检测全带宽传输通道,所述全带宽传输通道包括:N个数据传输通 道和M个冗佘校验通道;所述数据传输通道用于传输数据单元,所述冗佘校验通道用于对 数据单元的传输进行数据链路层校验;所述N和M分别为大于零的自然数。
[0062] 若所述全带宽传输通道正常,则在在当前的全带宽传输通道上进行数据单元的传 输;若所述全带宽传输通道发生故障,且发生故障的全带宽传输通道的数目小于或等于所 述M,则执行步骤202 ;若所述全带宽传输通道发生故障,且发生故障的全带宽传输通道的 数目大于所述M,则执行步骤203。
[0063] 示例性的,全带宽传输通道可以使用CRC校验码进行检测。
[0064] 在实际应用中,并未明确指定哪几个通道为数据传输通道和冗佘校验通道,S卩,可 以根据全带宽传输通道的总数、数据单元的大小等信息在全带宽传输通道中分配具体的数 据传输通道和冗佘校验通道。如,假设全带宽传输通道有19个,一个数据单元的大小为64 比特,则最适配的数据传输通道数为16,因此,设定数据传输通道为16个,而冗佘校验通道 为3个。
[0065] 在本发明实施例中,所述数据单元为具有一定数据量大小的数据块,数据单元是 一个泛指的概念,可以为传输层数据包的数据链路层消息单元;可以理解的是,数据单元在 实际应用中还可以有其它的具体形式,此处具体不作限定。
[0066] 在实际应用中,数据传输装置根据不同的场景可以为不同的物理装置,如在内存 控制器发送数据给内存的场景,所述数据传输装置为内存控制器。
[0067] 202、选择N个数据传输通道进行数据单元的传输;
[0068] 若所述全带宽传输通道发生故障,且发生故障的全带宽传输通道的数目小于或等 于所述M,则数据传输装置在未发生故障的全带宽传输通道中选择N个数据传输通道进行 数据单元的传输,所述N等于原数据传输通道的数目。
[0069] 所述数据链路层校验指的是在对每个数据链路的数据单元进行校验。
[0070] 所述传输层校验指的是对传输层的数据包进行校验。
[0071] 203、根据未发生故障的全带宽传输通道的数目以及目标节拍数对数据单元进行 重配置,在未发生故障的全带宽传输通道上传输重配置后的数据单元。
[0072] 在全带宽传输通道没有故障的情况下,在数据传输装置将事务层数据包封装成传 输层数据包之后,数据传输装置会将该传输层数据包拆分为若干个数据单元,一般的数据 单元大小为64比特,若数据传输通道为16个,则传输的节拍数(Burst)为4(即一个数据 单元需要在数据传输通道上传输4次才能够传输完成)。
[0073] 若所述全带宽传输通道发生故障,且发生故障的全带宽传输通道的数目大于所述 冗佘校验通道的数目,则需要根据未发生故障的全带宽传输通道的数目以及目标节拍数对 数据单元进行重配置,使得所述数据单元的数据量为未发生故障的全带宽传输通道的数目 的整数倍;所述目标节拍数为完成一个所述数据单元传输需要在所述全带宽传输通道上传 输的次数。在数据单元重配置完成后,在未发生故障的全带宽传输通道上传输重配置后的 数据单元。
[0074] 具体的,所述目标节拍数为数据节拍数和校验码节拍数之和,所述校验码节拍数 为完成一个所述数据单元所对应的校验码的传输,需要在所述全带宽传输通道上传输的次 数;所述数据节拍数为完成一个所述数据单元所对应的数据的传输,需要在所述全带宽传 输通道上传输的次数。
[0075] 当数据单元的大小进行重配置时,还可以选择在一个数据单元传输的最后一个节 拍或两个节拍传输校验码。考虑到数据单元大小,为了保证数据校验的冗佘度,可以将校验 码的大小设定为12比特。
[0076] 可选的,目标节拍数可以根据实际情况设定;
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1