CN102142987B - 一种高速串行总线设备及其传输数据的方法 - Google Patents

一种高速串行总线设备及其传输数据的方法 Download PDF

Info

Publication number
CN102142987B
CN102142987B CN201010593965.8A CN201010593965A CN102142987B CN 102142987 B CN102142987 B CN 102142987B CN 201010593965 A CN201010593965 A CN 201010593965A CN 102142987 B CN102142987 B CN 102142987B
Authority
CN
China
Prior art keywords
differential
passage
serial bus
differential data
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010593965.8A
Other languages
English (en)
Other versions
CN102142987A (zh
Inventor
王恩东
胡雷钧
秦济龙
李仁刚
刘刚
周恒钊
柳雄
丁亚军
刘金广
林杨
张峰
武扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201010593965.8A priority Critical patent/CN102142987B/zh
Publication of CN102142987A publication Critical patent/CN102142987A/zh
Application granted granted Critical
Publication of CN102142987B publication Critical patent/CN102142987B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明公开了一种串行总线设备及其传输数据的方法,涉及计算机通信领域。本发明公开的一种串行总线设备包括:收发模块,与对端设备之间建立一条差分时钟通道以及多条差分数据通道;链路检测模块,根据所接收到的链路检测指令检测差分时钟通道和各条差分数据通道的状态;控制状态机模块,向链路检测模块发起链路检测指令,以及在链路检测模块检测到所述差分时钟通道发生故障时,修复该差分时钟通道,在链路检测模块检测到有差分数据通道发生故障时,启动带内复位,剔除发生故障的差分通道,并对剩余的差分数据通道进行重组后进行数据传输。本发明的实施例具有高速率、低延迟、链路检测自适应、可扩展性、智能化、自动复位等特性。

Description

一种高速串行总线设备及其传输数据的方法
技术领域
本发明涉及计算机通信领域,具体涉及一种高速串行总线设备及其传输数据的方法。
背景技术
几十年来随着半导体技术的按照摩尔定律的规律不断向前发展,尤其是最近几年,高速串行总线接口大幅提升数据传输速率,不断的向前发展,高速串行总线不断应用在各种数字处理器、桥片和外设芯片连接当中,从而使互联带宽更宽。高速串行总线技术发展迅速,高性能串行高速总线技术的发展是伴随着半导体和高速LVDS(Low-Voltage Differential Signaling,低压差分信号)实现技术的发展而发展的,在过去几十年间,可以说是串行高速总线体系结构和通信技术不断创新的年代,出现了包括AGP(AccelerateGraphical Port,加速图形接口)、PCIe(Peripheral Component InterconnectExpress,高速个人计算机扩展总线接口规范)、SATA(Serial AdvancedTechnology Attachment,串行高级技术附件)、DDR2(Double Data Rate2。双倍速率同步动态随机存储器2)、Infiniband(支持多并发链接的“转换线缆”)等多个串行互联标准和技术。基于LVDS的高速串行接口不断增加,现已经成为构建高速计算机系统的主流接口技术,串行高速总线在高速计算机和通信领域有着旺盛的生命力和广阔的发展前景。
然而,目前大多数高速串行总线接口主要应用在计算机外部设备间通信领域,并已逐渐形成了主流高速串行总线体系架构,如图1所示。其中,由于计算机外设通信应用对数据传输延迟要求不高,因此目前的高速串行总线接口物理层比较适合于延迟要求不高、链路较简单和固定位宽的数传应用领域。
发明内容
本发明所要解决的技术问题是,提供一种串行总线系统及其传输数据的方法,以适于日益增长的高性能多处理器的复杂互联高速总线应用领域。
为了解决上述问题,本发明申请人考虑到,可以控制状态机模块为核心,通过灵活的硬线逻辑机制配合感知各模块、各控制单元和及其他存储资源完成高效智能化的高速物理互联。使串行总线体系结构发挥较高效能的最大限度地兼顾数传链路的自适应及物理层的灵活和智能化需求,能够在数据传输发生异常时启动带内复位、重新进行链路检测感知、检测数传通道以及自适应地剔除有问题的通道,然后自动降宽进行数据传输。同时具备可变位宽和自动位整理功能,且全硬线逻辑实现保证了物理层能够长期稳定高速运行。所以自适应接入、位宽可变、较高可靠性和较强的抗干扰能力。
具体地,本发明公开了一种高速串行总线设备,该设备包括:
收发模块,与对端设备之间建立一条差分时钟通道以及多条差分数据通道;
链路检测模块,根据所接收到的链路检测指令检测所述差分时钟通道和各条差分数据通道的状态;
控制状态机模块,向所述链路检测模块发起链路检测指令,以及在所述链路检测模块检测到所述差分时钟通道发生故障时,修复该差分时钟通道,在所述链路检测模块检测到有差分数据通道发生故障时,启动带内复位,剔除发生故障的差分通道,并对剩余的差分数据通道进行重组后进行数据传输。
较佳地,上述高速串行总线设备中,所述控制状态机模块分为:
发送模块,向所述链路检测模块发起链路检测指令;
差分时钟通道修复模块,在所述链路检测模块检测到所述差分时钟通道发生故障时,修复该差分时钟通道;
差分数据通道修改模块,在所述检测结果获取子模块获取的检测结果包括有差分数据通道发生故障时,启动带内复位,剔除发生故障的差分通道,对剩余的差分数据通道进行重组,并降低重组后的各差分数据通道的带宽。
较佳地,差分时钟通道修复模块利用备用通道替换所述差分时钟通道以修复所述差分时钟通道。
上述设备还包括环回数传自检单元;
所述环回数传自检单元,对所述各差分数据通道进行环回检测以保证差分数据通道的传输质量。
较佳地,该设备还包括配置寄存器,所述控制状态机模块通过所述配置寄存器以触发所述环回数传自检单元进行环回检测。
本发明还公开了一种高速串行总线设备传输数据的方法,包括:
高速串行总线设备与对端设备之间建立一条差分时钟通道以及多条差分数据通道后,检测所述差分时钟通道和各条差分数据通道的状态,当检测到所述差分时钟通道发生故障,则修复该差分时钟通道,当检测到有差分数据通道发生故障,则启动带内复位,剔除发生故障的差分通道,并对剩余的差分数据通道进行重组后进行数据传输。
较佳地,上述方法,当所述高速串行总线设备检测到有差分数据通道发生故障,启动带内复位,剔除发生故障的差分通道,对剩余的差分数据通道进行重组后,还将降低重组后的各差分数据通道的带宽。
较佳地,当所述高速串行总线设备检测到所述差分时钟通道发生故障,修复该差分时钟通道指:利用备用通道替换发生了故障的差分时钟通道。
较佳地,所述高速串行总线设备还对所述各差分数据通道进行环回检测以保证差分数据通道的传输质量。
较佳地,所述高速串行总线设备通过一配置寄存器触发环回检测操作。
本发明的实施例特别适用于日益增长的高性能多处理器等的复杂互联应用领域中,本发明的至少一个实施例具有高速率、低延迟、链路检测自适应、可扩展性、智能化及自动复位等特性。其弥补了传统高速串行总线的结构的不足,从而使其适用于处理器、存储及北桥等复杂的高速低延迟互联应用领域,具有非常广阔的发展前景。
附图说明
图1为传统的高速串行总线物理层的体系结构示意图;
图2为本发明所提出的高速串行总线系统结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明技术方案做进一步详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例1
本实施例提供一种高速串行总线系统,如图2所示,包括:控制状态机模块(201)、链路检测模块(202)、扰码并行序列产生单元(203)、收发模块(进一包括接收子模块(204)和发送子模块(205))、环回数传自检单元(206)。下面介绍各模块、单元的功能,其中:
控制状态机模块(201)是体系结构的核心,负责协调各扰码并行序列产生单元、接收子模块、发送子模块以及环回数传自检单元间的通信以及协议的转化(协议的转化包括不同状态间的跳变,当信号达到状态转换条件时,触发协议的转化),以及控制物理层芯片的初始化过程,即从静止到初始化完成这个过程,整个总线系统的各个逻辑功能对应于控制状态机模块对应的状态;
具体地,控制状态机模块主要向链路检测模块、扰码并行序列产生单元、收发模块以及环回数传自检单元发起复位指令,向链路检测模块发起链路检测指令,向发送子模块和接收子模块发起轮询指令(轮询指令进一步包括位锁定指令、通道对齐指令,参数交换指令等),并自动实现物理层的自适应初始化过程,使得物理层从静止状态经过复位然后到活动状态。同时,控制状态机模块并根据链路检测结果进行基本处理。其中,基本处理包括根据检测结果进行链路恢复、或者根据检测结果与上层控制状态机模块进行交互,以及根据控制状态机模块发送的指令进行相应处理,例如,检测到有差分数据通道发生故障时,进行带内复位(Inband-reset)(即指与对端之间的复位,其中,复位是由于传输错误等引起的复位),控制状态机模块可通过这个机制使收发双方物理层实现自适应进行数传和复位,同时采用降宽处理操作(即降低差分数据通道的传输宽度);而检测到时钟通道发生链接故障时可采用替换处理操作(即利用冗余差分时钟链路替换故障差分时钟链路);
本实施例中,控制状态机模块又包括:
发送模块,向链路检测模块发起链路检测指令;
差分时钟通道修复模块,在链路检测模块检测到所述差分时钟通道发生故障时,修复该差分时钟通道;
差分数据通道修改模块,在检测结果获取子模块获取的检测结果包括有差分数据通道发生故障时,启动带内复位,剔除发生故障的差分通道,对剩余的差分数据通道进行重组,并降低重组后的各差分数据通道的带宽。
链路检测模块(202),主要负责检测与对端之间的通信链路(与对端之间的通信链路包括各差分数据通道和新增的差分时钟通道)的状态(即链路故障检测以及链路传输宽度检测)。
具体地,链路检测模块可采用链路检测电路实现,例如通过模拟数字电路结合的方式实现,所采用的链路检测电路需要充分考虑互联双方的结构对传输链路物理特性的影响,以及配置链路传输的电压摆幅特性,实现互联链路的检测。该链路检测模块可以集成在发送子模块和接收子模块中,但链路检测模块的功能与发送子模块、接收子模块的功能是完全独立的。当然链路检测模块也可以集成在其他模块或单元中,例如控制状态机模块中等。
其中,考虑到总线系统互联节点的结构特点以及传输链路物理特性对硬件线路数据传输的影响,因此链路检测模块又可分为第一链路检测子模块和第二链路检测子模块,第一链路检测子模块主要在本总线系统作为发送端时实现上述链路检测功能,而第二链路检测子模块主要在本总线系统作为接收端时实现上述链路检测功能。
在优选的方案中,链路检测模块还可以具有检测电路仿真验证功能,即采用软件建模仿真以验证链路检测结果的正确性,并通过人为故障设置验证差分时钟冗余以及链路传输宽度降低等设计的正确性。
还有一些实现方案中,链路检测模块可采用FPGA(Field-ProgrammableGate Array,现场可编程门阵列)实现与调试采用相关的硬件器件实现检测电路原理结构,并且设计冗余硬件以提高系统的可靠性。这种设计所具有的优点使其带来的故障动态检查排除、高效实施等诸多特性,使其更适用于互联多节点的高性能计算机系统。
扰码并行序列产生单元(203),主要在数据加扰、解码等操作过程中,负责对传输数据在发送方向进行加扰,在接收方向进行解扰,以及产生用于互联协议的设定格式(例如设定格式中包括4位CRC校验码,数据头,数据等)的数据包;
为了保证传输数据中差分时钟信号恢复的质量和稳定性,以及足够的比特定时含量,需要采用扰码来防止长连0或长连1序列的出现。因此,需要对传输数据在发送方向进行加扰,在接收方向进行解扰。扰码的产生原理一般是根据LFSR(线性移位寄存器)产生的,如需要并行扰码输出,则需要通过串并转换,或者使用并行扰码算法,或者使用RAM存储并行扰码序列,然后并行读出。
接收子模块(204),主要在数传通信过程中,负责接收对端发送的各通道数据并实现多数据通道对齐的转换操作(即将多数据通道存在偏差的数据转换成通道对齐),以及将转换后的数据组合成为接收数据包形式,同时,接收对端的差分时钟通道的数据,因为差分时钟通道的应用可保证时钟传输质量;
接收子模块还接收差分时钟通道数据,可以实现桶状缓冲器多通道对齐,去除通路之间的偏差,使传输延迟非常低。其中,去除通道间的偏差(Lane toLane deskew)可以通过通道的三级位宽为32bit的移位寄存器来实现,其总的存储深度为96bit,该类似筒式的移位寄存器可用来存储各个通路的并行数据,实现通道之间的最大小于32bit的偏差对齐(其中包括了不完整帧头字符的检测情况)。
发送子模块(205),主要实现可变位宽的数据发送功能,同时,向对端发送差分时钟通道数据;
其中,发送子模块可通过可变位宽多路器、位整理逻辑实现可变位宽的数据发送功能,发送子模块还用于发送差分时钟通道数据以实现低延迟传输,目前在逻辑层与物理层之间数据传递和互联大多采用直接连接的方法,当进行改变位宽数传时就需要重新理顺发送方与接收方连线,即进行位整理,这样也导致需重新布线,即需要调整芯片内接口布线或者调整印制板布线,比较浪费时间和人力。针对于以上问题,本发明技术方案采用了硬线逻辑方法,即通过在逻辑层与物理层之间增加灵活的位整理硬线逻辑电路。
环回数传自检单元(206),在本端向对端发送数据后,接收本端发出的信号以判断各数据通道是否出现环回的问题,例如,可以通过快速通道互联完善自环测试模式,以方便系统互联测试和维护。该单元可支持环回主/从检测,并且控制状态机模块可通过寄存器配置该环回数传自检单元进入环回测试状态;能够自适应判别主从;上电初始化过程中可实现环回自检等;其中,环回数传自检单元即可以作为主方发出和检查固定测试序列,也可以作为从方接收数据后反射回去。
实施例2
本实施例介绍上述设备实现数据传输的过程,该过程如下:
互联的双方检测各差分数据通道以及差分时钟通道的状态是否均正常,当差分数据通路以及差分时钟通道的状态均正常时,进行数据传输。其中,检测到有差分数据通道不正常(如发生故障,或带宽小于设定值),则自动剔除所检测到的发生故障的差分数据通道,并对剩余正常通道进行通道重组(例如,将剩余的连续排列的5路差分数据通道或者10路差分数据通道作为新的差分数据通道),检测到差分时钟通道不正常(如发生故障,或带宽小于设定值)时,则修复差分时钟通道。然后通信双方物理层尝试发送固定测试训练序列并进行参数配置等动作,双方接收序列正确无误后就会把控制权交给上面一层链路层。在优选实施例中,某一端向对端发送数据后,发送端还进行环回检测,以便系统互联测试和维护。具体地,可支持环回主/从检测。
从上述实施例可以看出,本发明的实施例在与对端建立差分数据通道的同时建立了差分时钟通道,并采用了链路检测技术,从而可以通过降低传输链路宽度,或者增加冗余设计等方法提高系统互联的可靠性。另外,本发明实施例中采用的发送子模块,可以保证较快的运行速度,并减小走线长度和减少交叉干扰度,同样在进行芯片数传接口印制板布线时(routing)也容易布通并减少交叉干扰和提高布线信号完整性,能够适用不同带宽进行传输和起到理顺发送方与接收方连线的作用,同时可根据接口宽度需要很快的修进设计,可维护性、可移植性好。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种高速串行总线设备,其特征在于,该设备包括:
收发模块,与对端设备之间建立一条差分时钟通道以及多条差分数据通道;
链路检测模块,根据所接收到的链路检测指令检测所述差分时钟通道和各条差分数据通道的状态;
控制状态机模块,向所述链路检测模块发起链路检测指令,以及在所述链路检测模块检测到所述差分时钟通道发生故障时,利用备用通道替换所述差分时钟通道以修复该差分时钟通道,在所述链路检测模块检测到有差分数据通道发生故障时,启动带内复位,剔除发生故障的差分通道,并对剩余的差分数据通道进行重组,并降低重组后的各差分数据通道的带宽进行数据传输。
2.如权利要求1所述的高速串行总线设备,其特征在于,该设备还包括环回数传自检单元;
所述环回数传自检单元,对所述各差分数据通道进行环回检测以保证差分数据通道的传输质量。
3.如权利要求2所述的高速串行总线设备,其特征在于,该设备还包括配置寄存器,所述控制状态机模块通过所述配置寄存器以触发所述环回数传自检单元进行环回检测。
4.一种高速串行总线设备传输数据的方法,其特征在于,该方法包括:
所述高速串行总线设备与对端设备之间建立一条差分时钟通道以及多条差分数据通道后,检测所述差分时钟通道和各条差分数据通道的状态,当检测到所述差分时钟通道发生故障,则利用备用通道替换发生了故障的差分时钟通道以修复该差分时钟通道,当检测到有差分数据通道发生故障,则启动带内复位,剔除发生故障的差分通道,并对剩余的差分数据通道进行重组后,还将降低重组后的各差分数据通道的带宽进行数据传输。
5.如权利要求4所述的方法,其特征在于,
所述高速串行总线设备还对所述各差分数据通道进行环回检测以保证差分数据通道的传输质量。
6.如权利要求5所述的方法,其特征在于,
所述高速串行总线设备通过一配置寄存器触发环回检测操作。
CN201010593965.8A 2010-12-09 2010-12-09 一种高速串行总线设备及其传输数据的方法 Active CN102142987B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010593965.8A CN102142987B (zh) 2010-12-09 2010-12-09 一种高速串行总线设备及其传输数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010593965.8A CN102142987B (zh) 2010-12-09 2010-12-09 一种高速串行总线设备及其传输数据的方法

Publications (2)

Publication Number Publication Date
CN102142987A CN102142987A (zh) 2011-08-03
CN102142987B true CN102142987B (zh) 2014-01-08

Family

ID=44410229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010593965.8A Active CN102142987B (zh) 2010-12-09 2010-12-09 一种高速串行总线设备及其传输数据的方法

Country Status (1)

Country Link
CN (1) CN102142987B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101831550B1 (ko) * 2012-10-22 2018-02-22 인텔 코포레이션 다중슬롯 링크 계층 플릿에서의 제어 메시징
CN103345438B (zh) * 2013-05-31 2015-02-18 中国兵器工业第二○三研究所 串行接口故障检测装置及方法
CN103856305B (zh) * 2014-01-24 2017-05-03 浪潮电子信息产业股份有限公司 一种差分信号反转纠正电路及其方法
US9543949B2 (en) 2014-01-24 2017-01-10 Inspur Electronic Information Industry Co., Ltd Differential signal reversion and correction circuit and method thereof
EP3229430A4 (en) 2014-12-31 2017-12-06 Huawei Technologies Co. Ltd. Data processing method and device
CN104536929A (zh) * 2015-01-14 2015-04-22 浪潮(北京)电子信息产业有限公司 一种物理层初始化方法及客户端
US10880764B2 (en) 2015-02-15 2020-12-29 Skyworks Solutions, Inc. Circuits, devices, and methods for monitoring a serial bus
DE112015006961T5 (de) * 2015-09-26 2018-06-14 Intel Corporation Verbindungsfehlerdetektion in mehrfachchipgehäusen
CN112422229B (zh) * 2019-08-21 2023-01-10 苏州华兴源创科技股份有限公司 一种物理层重构系统
WO2022126341A1 (zh) * 2020-12-14 2022-06-23 华为技术有限公司 通信系统、链路训练方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1286505A1 (en) * 2001-08-23 2003-02-26 Samsung Electronics Co., Ltd. Method for compensating for propagation delay in a point-to-multipoint data communication network
CN101364960A (zh) * 2008-07-08 2009-02-11 华亚微电子(上海)有限公司 高速差分接口
CN101436986A (zh) * 2008-11-20 2009-05-20 杭州立地信息技术有限公司 一种基于elcp协议通信路由的实现方法
CN101908974A (zh) * 2010-07-16 2010-12-08 北京航天发射技术研究所 Can总线双冗余热切换系统及热切换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1286505A1 (en) * 2001-08-23 2003-02-26 Samsung Electronics Co., Ltd. Method for compensating for propagation delay in a point-to-multipoint data communication network
CN101364960A (zh) * 2008-07-08 2009-02-11 华亚微电子(上海)有限公司 高速差分接口
CN101436986A (zh) * 2008-11-20 2009-05-20 杭州立地信息技术有限公司 一种基于elcp协议通信路由的实现方法
CN101908974A (zh) * 2010-07-16 2010-12-08 北京航天发射技术研究所 Can总线双冗余热切换系统及热切换方法

Also Published As

Publication number Publication date
CN102142987A (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
CN102142987B (zh) 一种高速串行总线设备及其传输数据的方法
US9607673B1 (en) Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communication
CN102301364B (zh) Cpu互联装置
US5442628A (en) Local area network data processing system containing a quad elastic buffer and layer management (ELM) integrated circuit and method of switching
US11281603B2 (en) Serial interface for semiconductor package
WO2008054696A1 (en) Memory controller including a dual- mode memory interconnect
CN103310850A (zh) 片上网络资源节点存储器的内建自测试结构和自测试方法
CN105357147A (zh) 一种高速高可靠的片上网络适配单元
US8660125B2 (en) Node device, integrated circuit and control method in ring transmission system
CN102724092A (zh) 一种Profibus-DP现场总线通信协议冗余主站
CN106502932A (zh) 基于分层结构的片间互联接口及其写操作和读操作的方法
CN103095463A (zh) Pcie交换网系统和通信方法
CN112118158A (zh) 一种交换机的测试方法、测试装置、测试设备及存储介质
CN101771554B (zh) 一种余度管理电路及其管理方法
CN102929329A (zh) 片上系统间互连网络的动态重构方法
CN102763087A (zh) Cpu间互联容错的实现方法及系统
CN102523145A (zh) 一种本地总线桥接和数据传输的方法
CN101304296B (zh) 网络装置及其传输方法
CN101826998B (zh) 实现交换网片全交换功能测试的方法及交换网片
CN107070937A (zh) 一种基于fpga的协议转换装置
CN106603276A (zh) 一种serdes链路组的故障处理方法和故障处理装置
CN106209307A (zh) 多颗fpga片间互联方法与系统
CN105262659A (zh) 基于fpga芯片的hdlc协议控制器
CN109885420A (zh) 一种PCIe链路故障的分析方法、BMC及存储介质
CN202617157U (zh) 一种pcie交换电路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant