CN110377547B - PCIE4.0链路中实现redriver参数自适应的方法及装置 - Google Patents

PCIE4.0链路中实现redriver参数自适应的方法及装置 Download PDF

Info

Publication number
CN110377547B
CN110377547B CN201910573274.2A CN201910573274A CN110377547B CN 110377547 B CN110377547 B CN 110377547B CN 201910573274 A CN201910573274 A CN 201910573274A CN 110377547 B CN110377547 B CN 110377547B
Authority
CN
China
Prior art keywords
driver
result
bmc
parameters
initial
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
CN201910573274.2A
Other languages
English (en)
Other versions
CN110377547A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201910573274.2A priority Critical patent/CN110377547B/zh
Publication of CN110377547A publication Critical patent/CN110377547A/zh
Application granted granted Critical
Publication of CN110377547B publication Critical patent/CN110377547B/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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种在PCIE4.0链路中实现redriver参数自适应的方法及装置,该方法包括:设定redriver参数值列表,并从redriver参数值列表中选择一组参数作为初始值;PCIE4.0链路协商时,redriver运行初始值,BMC读取最后一次协商的lane margin结果作为初始结果并存储起来;经过时间间隔T,BMC再次读取实时的lane margin结果,并与步骤S2中预存的初始结果比较,当结果变差时进入下一步;BMC以初始值为基准,按照由近到远的顺序遍历redriver参数值列表中的参数,并验证对应参数下的lane margin结果;BMC选择lane margin结果最好的一组参数作为redriver的最新参数。所述的装置包括:BMC,用于根据lane margin结果修正redriver的参数值;redriver,用于运行BMC修正后的参数值。本申请通过BMC定时监控PCIE4.0信号质量,并根据信号质量的变化实时调整redriver参数。

Description

PCIE4.0链路中实现redriver参数自适应的方法及装置
技术领域
本发明服务器技术领域,具体涉及一种在PCIE4.0链路中实现redriver参数自适应的方法及装置。
背景技术
在服务器中,PCIE总线速度快,带宽高,是连接CPU与各个设备的主要IO总线,随着PCIE技术的升级,目前PCIE4.0的速率已经达到了16Gbps,对信号完整性是一个很大的挑战,对链路损耗要求更严格。
在PCIE4.0链路中,上行设备和下行设备之间会进行PCIE链路协商,使两端设备的TXEQ配置为最优值。在超长链路中,两端的PCIE设备中会加上一个redriver,补偿链路带来的损耗,redriver的参数通过仿真和调试确定,并把这个值固定在redriver中。
在实际应用场景下,在PCIE4.0链路两端的设备在协商的过程中,不同的环境下,协商的TXEQ值也会有的变化,用以适应环境变化的影响,此时,由于redriver是一个纯电气器件,参数固定,在两端的PCIE设备进行参数协商时,redriver并不参与PCIE链路的协商,因此redriver也自然不能改变参数来适应环境。
发明内容
本发明所要解决的技术问题在于针对上述现有技术的不足,提供一种在PCIE4.0链路中实现redriver参数自适应的方法及装置。
本发明解决其技术问题所采取的技术方案是:
本发明实施例提供了一种PCIE4.0链路中实现redriver参数自适应的方法,具体步骤包括:
步骤S1:设定redriver参数值列表,并从redriver参数值列表中选择一组参数作为初始值;
步骤S2:PCIE4.0链路协商时,redriver运行初始值,与此同时,BMC读取最后一次协商的lane margin结果作为初始结果并存储起来;
步骤S3:经过时间间隔T,BMC再次读取实时的lane margin结果,并与步骤S2中预存的初始结果比较,当结果变差时进入下一步;
步骤S4:BMC以初始值为基准,按照由近到远的顺序遍历redriver参数值列表中的参数,并验证对应参数下的lane margin结果;
步骤S5:BMC选择lane margin结果最好的一组参数作为redriver的最新参数。
优选的,步骤S1中,redriver参数值列表中每一组相邻参数的EQ差值为1。
优选的,步骤S1中,初始值选择redriver参数值列表位于中间的参数。
进一步的,步骤S1中,设定好的redriver参数值列表及初始值,在开机上电过程中,由BMC通过I2C写进redriver寄存器。
进一步的,在步骤S3中,时间间隔T的设置时间选择1分钟到12小时之间,且服务器所处环境的外界温度波动越大时,时间间隔T选择的时间越短。
进一步的,步骤S3中,判断结果是否变差的具体方法为:
在芯片内部SERDES做电压和相位的容忍度测试,对于当前信号SERDES做上下左右偏移,当偏移到出现误码是,则判定当前位置为极限值,其中,lane margin的结果等同于上下左右偏移绝对值之和,当值变小说明容忍度变差。
本发明的实施例还提供一种在PCIE4.0链路中实现redriver参数自适应的装置,所述的装置包括:
BMC,用于根据lane margin结果修正redriver的参数值;
redriver,用于运行BMC修正后的参数值,以适应PCIE4.0链路环境的变化。
进一步的,所述的BMC包括:
写入单元,用于将redriver参数值列表和初始值写入redriver寄存器;
判断单元,用于获取初始值下的lane margin结果,并在设定的时间间隔T时再次获取实时的lane margin结果,判断结果是否变差;
调整单元,用于在判断单元发现结果变差后,遍历redriver参数值列表中全部参数并获取相应的lane margin结果;
选择单元,用于从调整单元获取的全部lane margin结果中,选择结果最好的一组参数作为redriver修正后的参数。
本发明的有益效果是:
本申请中,利用PCIE4.0的设备必须支持lane margin功能这一特性,引入眼图来判断信号质量,通过比较信号质量调整redriver的参数,从而可以适应环境变化对PCIE4.0链路信号质量的影响,最大化的提升PCIE4.0链路信号质量,避免外部环境对PCIE4.0链路的影响。
对于redriver参数预先设定的列表,尽量将相邻参数的EQ差值设定为1,可以确保调整幅度的精细化,避免调整幅度过大导致信号质量变差的可能性。此外,初始值的参数选择为中间值,相比于初始值选择为边界值,可以为后期的调整预留更大的调整空间。
附图说明
图1为本申请实施例的方法流程图;
图2为本申请实施例的装置原理图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明实施例提供了一种在PCIE4.0链路中实现redriver参数自适应的方法,所述的方法通过BMC定时监控PCIE4.0信号质量,并根据信号质量的变化实时调整redriver参数,形成反馈电路,达到自适应参数的目的。
该实施例中,整个方法的具体实现过程为:
步骤S1:设定redriver参数值列表,并从redriver参数值列表中选择一组参数作为初始值,这个初始值是开机上电过程中BMC通过I2C写进redriver寄存器的。
在硬件设计阶段我们会设计这个初始值,不同的redriver,不同的项目初始值都是不同的,以PERICOM的redriver简单举例,redriver的Equalizationsetting配置表如下:
Figure BDA0002111413230000051
某服务器项目硬件设计预估需要在8GHz频点补偿15db插入损耗,EQ值选择1010,转换为16进制为0xA,所以初始值配置为0xA。
此外,需要注意的是,redriver参数值列表中每一组相邻参数的EQ差值为1,并且,一般初始值不会选择在两端,初始值选择redriver参数值列表位于中间的参数。
步骤S2:在PCIE4.0链路协商的过程中,redriver使用BMC配置的初始值,与此同时,BMC通过I2C读取最后一次协商的lane margin结果并存储起来,该存储过程可以通过I2C写进EEPROM里存储起来。
之所以读取最后一次协商的lane margin结果,是因为PCIE4.0协议中规定,PCIE4.0的设备必须支持lane margin功能,使对方设备发过来的PCIE信号形成眼图,通过对对眼图进行评估,可以实现判定信号质量。
步骤S3:经过一段时间的延时后,BMC每隔一定时间,BMC再次读取实时的lanemargin结果,并与步骤S2中预存的初始结果比较,当结果变差时进入下一步。
该步骤中,BMC的时间间隔设多少取决于我们想让redriver多长时间调整一次参数,在1分钟到12小时这一区间内,设置为几分钟或几小时一次都可以,比如10分钟、30分钟、1小时、6小时等等,具体多少时间取决于对服务器可靠性的要求和所处的环境,举例来说,在极端环境下,环境温度经常快速变化,对服务器可靠性要求高,则需要设置为几分钟一次;如果服务器所处环境较好,在空调机房内,则可以设置几小时一次。
其中,BMC判断lane margin结果是否变差,所采用的具体方式为:给PCIE设备发送指令,使其做lane margin动作,读取lane margin的结果,并和最初的lane margin结果做比较,一旦发现结果变差,在芯片内部SERDES会做电压和相位的容忍度测试,对于当前信号SERDES会做上下左右偏移,当偏移到出现误码时,则判定当前位置为极限值,而lanemargin的结果可以理解为上下左右偏移绝对值之和,当值变小说明容忍度变差,这就说明经过一段时间的环境变化后,例如机器发热温度升高,湿度变化等等,当前的redriver参数已经不适合当前环境。
步骤S4:BMC以初始值为基准,按照由近到远的顺序遍历redriver参数值列表中的参数,并验证对应参数下的lane margin结果,具体执行时,BMC通过I2C下指令给redriver,使redriver的参数在初始值附近进行微调,微调即写入另一组TXEQ值给redriver,策略可以灵活设定,例如一共有16组值可以选择,当前值为第7组,可以设定策略为选择参数相差不大的第6组和第8组,如果处于第一组,则只能调大到第二组。
步骤S5:BMC选择lane margin结果最好的一组参数作为redriver的最新参数。
在服务器实际运行中,步骤S3-S5是一个不断循环执行的过程,服务器运行不停止,该循环不停止。
如图2所示,与实施例的方法相对应的,本发明的实施例还提供一种在PCIE4.0链路中实现redriver参数自适应的装置,所述的装置包括BMC和redriver,其中,BMC用于根据lane margin结果修正redriver的参数值,redriver用于运行BMC修正后的参数值,以适应PCIE4.0链路环境的变化。
更进一步的,所述的BMC包括以下用于实现各个功能的单元:
写入单元,用于将redriver参数值列表和初始值写入redriver寄存器,具体原理为:开机上电过程中BMC通过I2C写进redriver寄存器。
判断单元,用于获取初始值下的lane margin结果,并在设定的时间间隔T时再次获取实时的lane margin结果,判断结果是否变差,具体原理为:给PCIE设备发送指令,使其做lane margin动作,读取lane margin的结果,并和最初的lane margin结果做比较,一旦发现结果变差,在芯片内部SERDES会做电压和相位的容忍度测试,对于当前信号SERDES会做上下左右偏移,当偏移到出现误码时,则判定当前位置为极限值,而lane margin的结果可以理解为上下左右偏移绝对值之和,当值变小说明容忍度变差。
调整单元,用于在判断单元发现结果变差后,遍历redriver参数值列表中全部参数并获取相应的lane margin结果,具体原理为:BMC通过I2C下指令给redriver,使redriver的参数在初始值附近进行微调,微调即写入另一组TXEQ值给redriver,策略可以灵活设定。
选择单元,用于从调整单元获取的全部lane margin结果中,选择结果最好的一组参数作为redriver修正后的参数。
最后应说明的是:以上只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

Claims (7)

1.PCIE4.0链路中实现redriver参数自适应的方法,其特征在于,具体步骤包括:
步骤S1:设定redriver参数值列表,并从redriver参数值列表中选择一组参数作为初始值;
步骤S2:PCIE4.0链路协商时,redriver运行初始值,与此同时,BMC读取最后一次协商的lane margin结果作为初始结果并存储起来;
步骤S3:经过时间间隔T,BMC再次读取实时的lane margin结果,并与步骤S2中预存的初始结果比较,当结果变差时进入下一步;
步骤S4:BMC以初始值为基准,按照由近到远的顺序遍历redriver参数值列表中的参数,并验证对应参数下的lane margin结果;
步骤S5:BMC选择lane margin结果最好的一组参数作为redriver的最新参数。
2.根据权利要求1所述的PCIE4.0链路中实现redriver参数自适应的方法,其特征在于,步骤S1中,redriver参数值列表中每一组相邻参数的EQ差值为1。
3.根据权利要求1所述的PCIE4.0链路中实现redriver参数自适应的方法,其特征在于,步骤S1中,初始值选择redriver参数值列表位于中间的参数。
4.根据权利要求1-3任意一项所述的PCIE4.0链路中实现redriver参数自适应的方法,其特征在于,步骤S1中,设定好的redriver参数值列表及初始值,在开机上电过程中,由BMC通过I2C写进redriver寄存器。
5.根据权利要求1所述的PCIE4.0链路中实现redriver参数自适应的方法,其特征在于,在步骤S3中,时间间隔T的设置时间选择1分钟到12小时之间,且服务器所处环境的外界温度波动越大时,时间间隔T选择的时间越短。
6.根据权利要求1所述的PCIE4.0链路中实现redriver参数自适应的方法,其特征在于,步骤S3中,判断结果是否变差的具体方法为:
在芯片内部SERDES做电压和相位的容忍度测试,对于当前信号SERDES做上下左右偏移,当偏移到出现误码时 ,则判定当前位置为极限值,其中,lane margin的结果等同于上下左右偏移绝对值之和,当值变小说明容忍度变差。
7.PCIE4.0链路中实现redriver参数自适应的装置,其特征在于,所述的装置包括:
BMC,用于根据lane margin结果修正redriver的参数值;
redriver,用于运行BMC修正后的参数值,以适应PCIE4.0链路环境的变化;
所述的BMC包括:
写入单元,用于将redriver参数值列表和初始值写入redriver寄存器;
判断单元,用于获取初始值下的lane margin结果,并在设定的时间间隔T时再次获取实时的lane margin结果,判断结果是否变差;
调整单元,用于在判断单元发现结果变差后,遍历redriver参数值列表中全部参数并获取相应的lane margin结果;
选择单元,用于从调整单元获取的全部lane margin结果中,选择结果最好的一组参数作为redriver修正后的参数。
CN201910573274.2A 2019-06-28 2019-06-28 PCIE4.0链路中实现redriver参数自适应的方法及装置 Active CN110377547B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910573274.2A CN110377547B (zh) 2019-06-28 2019-06-28 PCIE4.0链路中实现redriver参数自适应的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910573274.2A CN110377547B (zh) 2019-06-28 2019-06-28 PCIE4.0链路中实现redriver参数自适应的方法及装置

Publications (2)

Publication Number Publication Date
CN110377547A CN110377547A (zh) 2019-10-25
CN110377547B true CN110377547B (zh) 2021-03-12

Family

ID=68251113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910573274.2A Active CN110377547B (zh) 2019-06-28 2019-06-28 PCIE4.0链路中实现redriver参数自适应的方法及装置

Country Status (1)

Country Link
CN (1) CN110377547B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641615B (zh) * 2021-07-09 2023-06-16 苏州浪潮智能科技有限公司 一种redriver参数的自动调节方法、装置及存储介质
CN113722255A (zh) * 2021-09-01 2021-11-30 浙江大华技术股份有限公司 一种信号质量处理方法、装置及系统
CN115904849B (zh) * 2023-01-09 2023-05-12 苏州浪潮智能科技有限公司 Pcie链路信号测试方法、系统、计算机设备及介质
CN115878540B (zh) * 2023-01-19 2023-06-13 苏州浪潮智能科技有限公司 一种PCIe器件链路训练管理方法、管理装置及服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729173A (zh) * 2017-11-14 2018-02-23 郑州云海信息技术有限公司 一种用于服务器的redriver参数配置监控方法
CN207529315U (zh) * 2017-12-21 2018-06-22 郑州云海信息技术有限公司 一种PCIe ReDriver卡装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8212587B2 (en) * 2008-10-23 2012-07-03 Pericom Semiconductor Corp. Redriver with output receiver detection that mirrors detected termination on output to input
CN104125298A (zh) * 2014-08-08 2014-10-29 浪潮电子信息产业股份有限公司 一种采用pcie通道实现数据高速交换的多cpu处理系统设计方法
CN106325850A (zh) * 2016-08-03 2017-01-11 浪潮(北京)电子信息产业有限公司 一种基于温湿度自适应调整ReDriver配置参数的方法和装置
CN106598903B (zh) * 2016-11-29 2020-01-14 浙江宇视科技有限公司 调节Redriver芯片参数的方法及装置
CN107885923A (zh) * 2017-10-31 2018-04-06 郑州云海信息技术有限公司 一种基于redriver参数自适应改善信号质量的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729173A (zh) * 2017-11-14 2018-02-23 郑州云海信息技术有限公司 一种用于服务器的redriver参数配置监控方法
CN207529315U (zh) * 2017-12-21 2018-06-22 郑州云海信息技术有限公司 一种PCIe ReDriver卡装置

Also Published As

Publication number Publication date
CN110377547A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN110377547B (zh) PCIE4.0链路中实现redriver参数自适应的方法及装置
US8644085B2 (en) Duty cycle distortion correction
US8111564B2 (en) Setting controller termination in a memory controller and memory device interface in a communication bus
US7978538B2 (en) Setting memory device termination in a memory device and memory controller interface in a communication bus
EP3469513B1 (en) Secure input voltage adjustment in processing devices
US20140237301A1 (en) Preset evaluation to improve input/output performance in high-speed serial interconnects
CN112181888A (zh) 一种cpu拓扑装置、电子设备及拓扑切换方法
US8254472B2 (en) Communication device and communication system
CN111984477A (zh) 一种PCIe设备信号参数动态校正装置和方法
CN105846972A (zh) 发送校准方法和控制设备
CN115116489A (zh) 高带宽存储器的derr管脚的训练方法和相关装置
WO2014049752A1 (ja) データ伝送装置及びデータ伝送方法
JP6703134B2 (ja) レプリカレーンを使用したチャネルトレーニング
TWI739678B (zh) 記憶體測試裝置以及測試電壓調整方法
EP3641142B1 (en) Communication device, communication method and program
US7936845B2 (en) Apparatus, method and computer-readable recording medium for setting signal correction-magnitude
CN110489362B (zh) eMMC校正输出入有效窗口自动调整方法、装置、存储介质
US20190027088A1 (en) Display and dynamic driving voltage compensation method thereof
CN105812064A (zh) 一种光模块控制方法、光模块及光通信终端
US20130070829A1 (en) Sampling phase calibrating method, storage system utilizing the sampling phase calibrating method
US11138081B2 (en) Error detecting system, error detecting method and image display controlling system
CN114220380A (zh) 校准数字电路、源级驱动器和显示面板
CN108595193B (zh) 用于风扇转速控制的基板管理控制器固件更新方法
CN112558507A (zh) 频率自适应方法和装置、数据处理设备、介质和产品
JP2007318227A (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