CN115098427A - 一种链路宽度自适应的实现方法 - Google Patents

一种链路宽度自适应的实现方法 Download PDF

Info

Publication number
CN115098427A
CN115098427A CN202210723815.7A CN202210723815A CN115098427A CN 115098427 A CN115098427 A CN 115098427A CN 202210723815 A CN202210723815 A CN 202210723815A CN 115098427 A CN115098427 A CN 115098427A
Authority
CN
China
Prior art keywords
link
state machine
mode
training
ltssm
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.)
Granted
Application number
CN202210723815.7A
Other languages
English (en)
Other versions
CN115098427B (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.)
CETC 58 Research Institute
Original Assignee
CETC 58 Research Institute
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 CETC 58 Research Institute filed Critical CETC 58 Research Institute
Priority to CN202210723815.7A priority Critical patent/CN115098427B/zh
Publication of CN115098427A publication Critical patent/CN115098427A/zh
Application granted granted Critical
Publication of CN115098427B publication Critical patent/CN115098427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种链路宽度自适应的实现方法,所述实现方法基于链路宽度自适应装置***,且装置***包括:轮询方式选择装置、LTSSM状态机模块、链路训练状态判断模块,端口间采用轮询的方式进行链路训练:从最大链路宽度开始,若linkup不成功,则以逐步递减的轮询模式进行链路训练,直到以某一链路宽度linkup成功;且轮询模式中采用链路协商机制,链路协商机制通过LTSSM状态机模块跳转实现,LTSSM状态机模块控制着PCIE链路协商的整个过程。本发明所述的实现方法可使正确的链路训练过程不需要依赖于PHY检测链路远端是否存在接收设备的正确结果。

Description

一种链路宽度自适应的实现方法
技术领域
本发明涉及电子技术领域,尤其是指一种规避PHY无法自适应训练链路宽度的方法。
背景技术
PCI Express是用来互联诸如计算和通信平台应用中***设备的第三代高性能I/O总线。为了提高总线性能,减少整个***的成本并利用计算机设计方面新的开发成果,PCIExpress在原有总线的基础上进行大量的重新设计,相较于PCI与PCI-X两种多点并行互联总线,PCI Express实现两台设备之间通信的串行、点对点类型的互联,多台PCI Express设备使用桥片(switch)实现互联,这意味着在一个***中可以连接许多设备;另一方面,与原有总线相比PCI Express总线的带宽有了显著的提升,PCIE1.0的带宽为2.5Gbps、PCIE2.0的带宽为5Gbps,同时互联的PCIE设备间可以存在多条链路,实现带宽数的倍增,因此需要相应的链路协商机制来控制链路的正常工作。
链路协商机制由LTSSM状态机模块进行实现,LTSSM状态机模块控制着链路协商的整个过程,例如:PCIE LTSSM状态机模块主要包括以下几种状态:Detect、Polling、Configuration、L0、L0s、L1、L2、Recovery、Loopback、Hot Reset、Disabled,中Detect状态就是通过PHY检测链路远端是否存在接收设备,从而决定状态机的下一个状态:若PHY检测链路远端设备的功能正常,则检测到接收器的通道数(lane)与链路协商的结果相符,则下一状态为Polling.Active子状态,从而LTSSM状态机模块可以正常跳转直至L0状态,linkup成功;否则,下一状态又跳转回为Detect.Quiet状态机子状态,从而陷入死循环,导致无法link up。
但是存在部分PCIE PHY无法正确进行检测这一过程,当两个PCIE设备间链路(lane)宽度不一致时,PCIE设备的控制器检测到接收器的通道数(lane)与链路协商的结果不符,造成LTSSM状态机模块无法正常跳转至下一状态Polling.Active子状态,从而无法正确进行链路训练。在这种情况下,应该采用某种规避方法使链路训练正确进行。
发明内容
为解决上述技术问题,本发明的一种链路宽度自适应的实现方法,通过更改PHY发起接收器检测序列请求的方法进行链路训练的方式,所述实现方法基于链路宽度自适应装置***,且装置***包括:轮询方式选择装置、LTSSM状态机模块、链路训练状态判断模块,,所述的轮询方式选择装置中轮询模式通过外部装置配置;同时若轮询模式使能,则进入轮询模式下的LTSSM状态机模块跳转,否则,则进入普通的LTSSM状态机模块跳转;且轮询模式中采用链路协商机制,链路协商机制通过LTSSM状态机模块跳转实现,LTSSM状态机模块控制着PCIE链路协商的整个过程。
在本发明的一个实施例中,所述的轮询模式过程中最大宽度和异常次数阈值参数也可通过外部装置配置,或直接使用默认参数值。
在本发明的一个实施例中,所述的链路协商机制包括以下几种状态:Detect、Polling、Configuration、L0、L0s、L1、L2、Recovery、Loopback、Hot Reset、Disabled,而本发明方法中轮询方式下的链路协商过程中,Detect状态不需要依赖PHY检测链路远端是否存在接收设备。
在本发明的一个实施例中,所述的轮询模式下,在循环最开始的状态,将根据当前链路训练状态判断模块决定是否继续该轮循环模式,若当前链路训练不成功的循环的次数已超过某个阈值,则退出该循环,链路训练结果link up不成功,否则继续该轮循环。
在本发明的一个实施例中,循环模式下,包含如下步骤:
步骤S1:采用最大链路宽度X2n模式进行链路训练(n的默认值取决于设备支持的最大链路宽度,可通过外部配置,也可直接使用默认参数值,例如:设备支持的最大链路宽度为32,则n=5);
步骤S2:若LTSSM状态机模块正常跳转至L0状态,则link up成功;否则,若超过一定的时间期限或者LTSSM状态机模块跳转出现异常的次数超过某个值后,仍未link up成功,则继续改用X2n-1的链路宽度进入链路训练模式;
步骤S3:在X2n-1链路宽度模式下进行链路训练,重复上述步骤S2,若超过一定的时间期限或者LTSSM状态机模块跳转出现异常的次数超过阈值后,仍未link up成功,则逐步递减的轮询方式进行链路训练(X2n-2,X2n-3,…X1),直到以某一链路宽度link up成功;
步骤S4:若递减到X1模式,仍未link up成功,则返回循环最开始的判断状态,根据权利要求4所述,根据当前链路训练状态判断模块决定是否继续该轮循环模式。
本发明的上述技术方案相比现有技术具有以下优点:PCIE链路协商机制通过LTSSM状态机模块跳转实现,LTSSM状态机模块控制着PCIE链路协商的整个过程,其主要包括以下几种状态:Detect、Polling、Configuration、L0、L0s、L1、L2、Recovery、Loopback、Hot Reset、Disabled,其中Detect状态就是通过PHY检测链路远端是否存在接收设备,从而决定状态机的下一个状态:若PHY检测链路远端设备的功能正常,则检测到接收器的通道数(lane)与链路协商的结果相符,则下一状态为Polling.Active子状态,从而LTSSM状态机模块可以正常跳转直至L0状态,link up成功;否则,下一状态又跳转回为Detect.Quiet状态机子状态,从而陷入死循环,导致无法link up。如果PCIE PHY无法正确检测链路远端是否存在接收设备时,当两个PCIE设备间链路(lane)宽度不一致时,检测到接收器的通道数(lane)与链路协商的结果不符,造成LTSSM状态机模块无法正常跳转至下一状态Polling.Active子状态,从而无法正确进行链路训练。在这种情况下,本发明所述的链路宽度自适应的实现方法,克服了上述技术中的不足,使正确的链路训练过程不需要依赖于PHY检测链路远端是否存在接收设备的正确结果。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。
图1是本发明在链路宽度自适应的实现方法在实施方式中的流程示意图;
图2是本发明在链路宽度自适应的实现方法在实施方式中的结构框图。
具体实施方式
如图1和图2所示,本实施例提供一种链路宽度自适应的实现方法,所述实现方法基于链路宽度自适应装置***,且链路宽度自适应装置100主要包括:轮询方式选择装置110;LTSSM状态机模块120;链路训练状态判断模块130。
链路宽度自适应装置100包括轮询方式选择装置110,其用于选择是否进入轮询模式,选择结果SWMODE发送给LTSSM状态机模块120,LTSSM状态机模块120根据选择结果SWMODE进行LTSSM状态机的跳转方式;LTSSM状态机的跳转的过程状态,即链路训练状态LKSTS传递给链路训练状态判断模块130,链路训练状态判断模块130回复判断结果T给LTSSM状态机模块120,LTSSM状态机模块120根据回复结果T进行LTSSM状态机的跳转方式,最终输出链路宽度自适应装置100的运行结果,即Link up状态。
轮询方式选择装置110可以是拨码开关、或EEPROM、Flash等,链路宽度自适应装置100上电启动后,首先通过轮询方式选择装置110选择是否进入轮询模式。轮询方式选择装置110通过接口150向LTSSM状态机模块120发送选择结果,例如:EEPROM通过I2C接口,或Flash通过SPI接口,加载相关寄存器,由该寄存器控制LTSSM状态机模块120中的状态机跳转方式。
LTSSM状态机模块120包括最大宽度配置和异常次数阈值配置端口180,和轮询方式选择端口150,根据配置端口180和选择端口150的输入,LTSSM状态机按特定方式跳转,跳转的流程如图2所示。
LTSSM状态机模块120中的LTSSM状态机的跳转的过程状态,即链路训练状态LKSTS,将发送给链路训练状态判断模块130,链路训练状态判断模块130最终的判断结果T反馈回LTSSM状态机模块120,根据回复的判断结果T,LTSSM状态机按特定方式跳转,跳转的流程如图1所示。
如图2所示,LTSSM状态机模块120中,若轮询模式使能,则进入轮询模式下的LTSSM状态机跳转,否则,则进入普通的LTSSM状态机跳转:跳转状态Detect将通过PHY检测链路远端是否存在接收设备,从而决定状态机的下一个状态,若正常跳转至L0状态,则link up成功,否则,链路训练结果link up不成功。
如图1所示,进入轮询模式后,将根据链路训练状态判断模块130最终的判断结果T决定是否继续该轮循环模式,其中,判断结果T的判据为:若当前链路训练不成功循环的次数小于某个阈值,则继续该轮循环,否则,则退出该循环,链路训练结果link up不成功。
如图2所示,循环模式下,包含如下步骤:
步骤S1:采用最大链路宽度X2n模式进行链路训练(n的默认值取决于设备支持的最大链路宽度,也可通过外部配置,例如:设备支持的最大链路宽度为32,则n=5);
步骤S2:若LTSSM状态机正常跳转至L0状态,则link up成功。否则,若超过一定的时间期限或者LTSSM状态机跳转出现异常的次数超过某个值后,仍未link up成功,则继续改用X2n-1的链路宽度进入链路训练模式;
步骤S3:在X2n-1链路宽度模式下进行链路训练,重复上述步骤S2,若超过一定的时间期限或者LTSSM状态机跳转出现异常的次数超过某个值后,仍未link up成功,则逐步递减的轮询方式进行链路训练(X2n-2,X2n-3,…X1),直到以某一链路宽度link up成功;
步骤S4:若递减到X1模式,仍未link up成功,则返回循环最开始的状态:根据链路训练状态判断模块130最终的判断结果T决定是否继续该轮循环模式。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (5)

1.一种链路宽度自适应的实现方法,所述实现方法基于链路宽度自适应装置***,且装置***包括:轮询方式选择装置、LTSSM状态机模块、链路训练状态判断模块,其特征在于,所述的轮询方式选择装置中轮询模式通过外部装置配置;同时若轮询模式使能,则进入轮询模式下的LTSSM状态机模块跳转,否则,则进入普通的LTSSM状态机模块跳转;且轮询模式中采用链路协商机制,链路协商机制通过LTSSM状态机模块跳转实现,LTSSM状态机模块控制着PCIE链路协商的整个过程。
2.根据权利要求1所述的链路宽度自适应的实现方法,其特征在于:所述的轮询模式过程中最大宽度和异常次数阈值参数也可通过外部装置配置,或直接使用默认参数值。
3.根据权利要求1所述的链路宽度自适应的实现方法,其特征在于:所述的链路协商机制包括以下几种状态:Detect、Polling、Configuration、L0、L0s、L1、L2、Recovery、Loopback、Hot Reset、Disabled,而本发明方法中轮询方式下的链路协商过程中,Detect状态不需要依赖PHY检测链路远端是否存在接收设备。
4.根据权利要求1所述的链路宽度自适应的实现方法,其特征在于:所述的轮询模式下,在循环最开始的状态,将根据当前链路训练状态判断模块决定是否继续该轮循环模式,若当前链路训练不成功的循环的次数已超过某个阈值,则退出该循环,链路训练结果linkup不成功,否则继续该轮循环。
5.根据权利要求4所述的链路宽度自适应的实现方法,其特征在于:循环模式下,包含如下步骤:
步骤S1:采用最大链路宽度X2n模式进行链路训练;
步骤S2:若LTSSM状态机模块正常跳转至L0状态,则link up成功;否则,若超过一定的时间期限或者LTSSM状态机模块跳转出现异常的次数超过某个值后,仍未link up成功,则继续改用X2n-1的链路宽度进入链路训练模式;
步骤S3:在X2n-1链路宽度模式下进行链路训练,重复上述步骤S2,若超过一定的时间期限或者LTSSM状态机模块跳转出现异常的次数超过阈值后,仍未link up成功,则逐步递减的轮询方式进行链路训练(X2n-2,X2n-3,…X1),直到以某一链路宽度link up成功;
步骤S4:若递减到X1模式,仍未link up成功,则返回循环最开始的判断状态,根据权利要求4所述,根据当前链路训练状态判断模块决定是否继续该轮循环模式。
CN202210723815.7A 2022-06-24 2022-06-24 一种链路宽度自适应的实现方法 Active CN115098427B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210723815.7A CN115098427B (zh) 2022-06-24 2022-06-24 一种链路宽度自适应的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210723815.7A CN115098427B (zh) 2022-06-24 2022-06-24 一种链路宽度自适应的实现方法

Publications (2)

Publication Number Publication Date
CN115098427A true CN115098427A (zh) 2022-09-23
CN115098427B CN115098427B (zh) 2024-05-07

Family

ID=83292253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210723815.7A Active CN115098427B (zh) 2022-06-24 2022-06-24 一种链路宽度自适应的实现方法

Country Status (1)

Country Link
CN (1) CN115098427B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118012812A (zh) * 2024-04-10 2024-05-10 芯瞳半导体技术(山东)有限公司 Pcie链路训练方法、装置、电子设备及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136953B1 (en) * 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
CN103514133A (zh) * 2013-10-12 2014-01-15 江苏华丽网络工程有限公司 一种用于pcie高速链路管理的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136953B1 (en) * 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
CN103514133A (zh) * 2013-10-12 2014-01-15 江苏华丽网络工程有限公司 一种用于pcie高速链路管理的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118012812A (zh) * 2024-04-10 2024-05-10 芯瞳半导体技术(山东)有限公司 Pcie链路训练方法、装置、电子设备及计算机存储介质

Also Published As

Publication number Publication date
CN115098427B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
TWI730993B (zh) 第1通信裝置、通信方法、及通信系統
US10721022B2 (en) Communication apparatus, communication method, program, and communication system
CN115098427A (zh) 一种链路宽度自适应的实现方法
RU2740163C2 (ru) Устройство связи, способ связи, программа и система связи
CN109074343B (zh) 通信设备、通信方法、程序、以及通信***
JP4646859B2 (ja) Usb機器、およびusb接続システム
US10805043B2 (en) Data transmission apparatus and data transmission method, reception device and reception method, program, and data transmission system
US20070220296A1 (en) Data processing apparatus
JP2011159119A (ja) 情報処理装置、情報送信方法および情報受信方法
EP3459190B1 (en) Communication device, communication method, program, and communication system
JPH0713880A (ja) バスに対する情報伝送方法
CN115158341B (zh) 基于功能安全设计的车辆故障上传方法及装置
JP6344302B2 (ja) 組電池制御装置
JP4822171B2 (ja) 送信装置および画像データ伝送システム
KR101539579B1 (ko) Rs232c 직렬 통신 하드웨어 이상 감지 처리장치 및 그 방법
KR20190008196A (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
US10824582B2 (en) Communication apparatus, communication method, program, and communication system
US20100158007A1 (en) Method and apparatus for aggregating single packets in a single session
US20170155546A1 (en) Duplex control device and duplex system
US11526457B2 (en) Semiconductor device and method of operating the same
US20230283298A1 (en) Data error correction circuit and data transmission method
CN115657567A (zh) 一种单引脚传输控制信号的方法及控制***
US11416439B2 (en) USB-C connection line and USB-C connection line signal judgement method thereof
US11005599B2 (en) Data transmission systems and data transmission methods of suppressing data error occurrences due to crosstalk
WO2019239676A1 (ja) 組電池監視装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant