CN109376103B - 快速均衡的方法、芯片和通信系统 - Google Patents
快速均衡的方法、芯片和通信系统 Download PDFInfo
- Publication number
- CN109376103B CN109376103B CN201810942481.6A CN201810942481A CN109376103B CN 109376103 B CN109376103 B CN 109376103B CN 201810942481 A CN201810942481 A CN 201810942481A CN 109376103 B CN109376103 B CN 109376103B
- Authority
- CN
- China
- Prior art keywords
- equalization
- chip
- timeout time
- parameter
- link
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03012—Arrangements for removing intersymbol interference operating in the time domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Abstract
本申请提供了一种快速均衡的方法,能够减小链路均衡过程所需的时间。该方法包括:存储之前执行链路均衡时得到的满足链路稳定性要求的主芯片和从芯片的接收参数和发送参数。在确定需要执行链路均衡的情况下,将主芯片的初始快速均衡超时时间和从芯片的初始快速均衡超时时间中较大者配置为第一快速均衡超时时间,并且调用第一均衡参数,以使主芯片和从芯片根据第一快速均衡超时时间和上述发送和接收参数执行本次链路均衡,第一快速均衡超时时间为在执行本次链路均衡时,主芯片和从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。进一步地,本申请还提供了执行该方法的装置、通信系统以及在执行该方法中提及的芯片。
Description
技术领域
本申请涉及芯片技术领域,尤其涉及一种快速均衡的方法、快速均衡的装置、芯片和通信系统。
背景技术
按照外围组件快速互连(peripheral component interconnect express,PCIe)总线标准或加速器的高速互联内存一致性(cache coherent interconnect foraccelerators,CCIX)总线标准的规定,由于某些原因(比如芯片老化,温度变化等)引起链路出现不能稳定运行的现象时,系统软件(system software,SW)需要对链路进行修复。其中,链路修复过程包括链路均衡(简称为“均衡”)。若系统软件触发的链路均衡过程花费的时间过长,可能会导致系统工作或运行超时等错误。因此,需要一种合适的方法来解决链路均衡过程花费的时间过长的问题。
发明内容
本申请提供一种快速均衡的方法,能够减小链路均衡过程所需的时间。进一步地,本申请还提供了执行该方法的装置和通信系统,以及在执行该方法中用到的一种芯片。
第一方面,提供了一种快速均衡的方法。该方法包括以下步骤:
存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
在确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值。
根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
在本实施例中,在执行第N-a次链路均衡且链路稳定时,存储满足链路稳定性要求的均衡参数(即,第一均衡参数)。比如,在该方法由系统软件(或者系统的管理芯片)可以将第一均衡参数存储至主芯片(例如,主芯片的固件(Firmware)或者寄存器)中。在确定需要执行第N次链路均衡时,系统软件首先读取主芯片的初始快速均衡超时时间从芯片的初始快速均衡超时时间,并判断二者中的较大者,然后将该较大者配置为快速均衡超时时间(即,第一均衡快速超时时间),并且调用第一均衡参数。这样,主芯片和从芯片可以将第一均衡参数作为初始参数,并根据该第一均衡超时时间,进行链路均衡。由于第一均衡参数是第N-a次均衡时选择的和链路匹配度较高的参数,因此在均衡过程中的第二阶段(Phase1),主芯片和/或从芯片能够快速实现比特位/符号锁定,达到数据的误码率小于10E-4的要求。在均衡过程中的第三阶段(Phase2),由于第一均衡参数中的主芯片的发送参数和从芯片的接收参数和链路匹配度较高,链路初始误码率较低,因此从芯片只需要稍微调整(比如1~2次)自己的接收参数以及主芯片的发送参数,就能够满足链路稳定性要求(例如,误码率小于10E-12)。这样就能够保证主芯片和从芯片在第一快速均衡超时时间内完成均衡,实现降低均衡超时时间的目的。类似地,在均衡过程中的第四阶段(Phase3),由于第一均衡参数中的主芯片的接收参数和从芯片的发送参数和链路匹配度较高,链路初始误码率较低,因此主芯片只需要稍微调整(比如1~2次)自己的接收参数以及从芯片的发送参数,就能够满足链路稳定性要求(例如,误码率小于10E-12)。这样就能够保证主芯片和从芯片在第一快速均衡超时时间内完成均衡,实现降低均衡过程所需的时间的目的。当变速完成且链路能够稳定运行后,主芯片和从芯片进行更高一级速率的变速,并重复使用第一快速均衡超时时间,以及调用该第一均衡参数作为均衡初始参数,进行链路均衡,直到每种速率都重新找到一个满足链路稳定性要求的参数。当芯片支持的所有速率都完成链路均衡以后,链路以执行第N次链路均衡前,链路运行的最高速率或者以能满足链路稳定要求的最高速率进行业务数据传输。
因此,本申请实施例的快速均衡的方法,通过在本次执行链路均衡时,使用之前存储的满足链路稳定性要求的均衡参数和相对于现有技术较短的均衡超时时间(即,第一均衡超时时间),能够缩短均衡阶段的时间。另外,由于均衡超时时间较短,因此本申请实施例的快速均衡的方法在保证高速高损耗链路能稳定运行的同时,能够提高整个链路修复(比如热重置或者链路重训练)流程在1s内完成的概率,尽可能避免在系统软件发起的链路修复过程中出现等待超时,导致系统软件认为链路不可用的问题。
需要说明的是,本申请中的主芯片是指包含下行口(downstream port,DSP)的芯片。有时,该主芯片也被简称为下行口。本申请中的从芯片是指包含上行口(upstreamport,USP)的芯片。有时,该从芯片也被简称为上行口。
还需要说明的是,第一均衡参数包括各种链路速率下的满足链路稳定性要求的主芯片和从芯片的接收和发送参数。
可选的,该主芯片和该从芯片之间可以通过PCIe总线或CCIX总线连通。可知,本实施例提供的快速均衡的方法应用在使用PCIe总线或CCIX总线的处理器系统内。
进一步地,在应用PCIe总线的处理器系统中,该主芯片为根组件(root complex,RC)或交换芯片,该从芯片是独立于该主芯片的端点设备(Endpoint)。应当知道的是,交换芯片在一些情况下可以为主芯片,在另一些情况下可以为从芯片。
本申请实施例的快速均衡的方法,因可以使用之前存储的满足链路稳定性要求的均衡参数,因此可以设置较短的均衡超时时间,在不需要更改当前协议规定的链路修复时系统软件的等待时长(即,1s)的情况下,能够尽可能避免在系统软件发起的链路修复过程中出现等待超时,导致系统软件认为链路不可用的问题。因此,本申请实施例的方法能够很好的实现PCIe/CCIX协议的兼容性,也能够避免因兼容性问题而对系统软件各种版本进行的修改操作。
可选地,所述需要执行第N次链路均衡的情况包括由操作系统触发的热重置(hotreset)和链路重训练(link retrain)。
上述中,a可以为1。因此本申请实施例的方法,可以在热重置或者链路重训练触发的链路均衡过程中,使用最近一次进行链路均衡时使链路稳定运行的均衡参数。由于最近一次进行链路均衡时使链路稳定运行的均衡参数和链路匹配度较高,链路初始误码率较低,因此能够保证主芯片和从芯片在第一快速均衡超时时间内完成均衡,实现降低均衡过程所需的时间的目的。
可选地,所述主芯片的初始均衡超时时间是根据所述主芯片支持的物理层PHY能力确定的,或者,所述从芯片的初始均衡超时时间是根据所述从芯片支持的PHY能力确定的。
结合第一方面,在第一方面的一种可能的实现方式中,在根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间之前,该方法还可以包括:
确定所述主芯片是否支持快速均衡,以及,确定所述从芯片是否支持所述快速均衡。相应的,所述配置第一快速均衡超时时间,具体包括:在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
在本实施例中,根据主芯片和从芯片是否支持快速均衡,决定是否配置第一快速均衡超时时间,能够避免在主芯片或者从芯片不支持快速均衡时配置第一快速均衡超时时间而可能导致的系统紊乱的问题。
结合第一方面,在第一方面的一种可能的实现方式中,所述确定所述主芯片是否支持快速均衡,具体包括:在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
本实施例中,不需要专门设置标识主芯片是否支持快速均衡的寄存器,通过判断初始快速均衡超时时间是否为0就可以实现确定主芯片是否支持快速均衡的目的,因此能够简化设计。
结合第一方面,在第一方面的一种可能的实现方式中,所述确定所述从芯片是否支持所述快速均衡,具体包括:在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
本实施例中,不需要专门设置标识从芯片是否支持快速均衡的寄存器,通过判断初始快速均衡超时时间是否为0就可以实现确定从芯片是否支持快速均衡的目的,因此能够简化设计。
结合第一方面,在第一方面的一种可能的实现方式中,该方法还可以包括:存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
本实施例中,通过存储第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,使得后续的均衡过程可以使用该第二均衡参数。
结合第一方面,在第一方面的一种可能的实现方式中,该方法还可以包括:清除所述第一快速均衡超时时间。
本实施例中,通过清除第一快速均衡超时时间,可以去使能快速均衡。
结合第一方面,在第一方面的一种可能的实现方式中,该方法还可以包括:在确定需要执行第N+b次链路均衡的情况下,配置第二快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡。其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
本实施例中,在确定需要执行第N+b次链路均衡时,可以首先读取主芯片的初始快速均衡超时时间从芯片的初始快速均衡超时时间,并判断二者中的较大者,然后将该较大者配置为快速均衡超时时间(即,第二均衡快速超时时间),并且调用之前存储的第二均衡参数。这样,主芯片和从芯片可以将第二均衡参数作为初始参数,并根据该第二均衡超时时间,进行链路均衡。由于第二均衡参数和链路匹配度较高,链路初始误码率较低,因此能够保证主芯片和从芯片在第一快速均衡超时时间内完成均衡,实现降低均衡过程所需的时间的目的。
因此,本申请实施例的快速均衡的方法,在本次执行链路均衡时,可以使用之前存储的满足链路稳定性要求的均衡参数和相对于现有技术较短的均衡超时时间,能够缩短均衡阶段的时间。
第二方面,提供了一种快速均衡的装置,该装置用于执行前述第一方面或第一方面任一实现方式所述的方法。该装置包括管理器和收发器。
管理器,用于存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
收发器,在所述管理器确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值。
所述管理器还用于,根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
采用本实施例提供的装置,能够实现第一方面或第一方面任一种可能的实现方式所述的快速均衡的方法。本实施例提供的装置,可以使用之前存储的满足链路稳定性要求的均衡参数和相对于现有技术较短的均衡超时时间(即,第一均衡超时时间),从而能够缩短均衡阶段的时间。另外,由于均衡超时时间较短,因此本申请实施例的装置在保证高速高损耗链路能稳定运行的同时,能够提高整个链路修复(比如热重置或者链路重训练)流程在1s内完成的概率,尽可能避免在系统软件发起的链路修复过程中出现等待超时,导致系统软件认为链路不可用的问题。
可选的,该主芯片和该从芯片之间可以通过PCIe总线或CCIX总线连通。
可选地,所述需要执行第N次链路均衡的情况包括由操作系统触发的热重置和链路重训练。
可选地,所述主芯片的初始均衡超时时间是根据所述主芯片支持的物理层PHY能力确定的,或者,所述从芯片的初始均衡超时时间是根据所述从芯片支持的PHY能力确定的。
结合第二方面,在第二方面的一种可能的实现方式中,所述管理器还用于,确定所述主芯片是否支持快速均衡,以及,确定所述从芯片是否支持所述快速均衡。相应的,所述管理器还用于配置所述配置第一快速均衡超时时间,具体包括:在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
结合第二方面,在第二方面的一种可能的实现方式中,所述管理器还用于确定所述主芯片是否支持快速均衡,具体包括:在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
结合第二方面,在第二方面的一种可能的实现方式中,所述管理器还用于确定所述从芯片是否支持所述快速均衡,具体包括:
在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
结合第二方面,在第二方面的一种可能的实现方式中,所述管理器还用于,存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
结合第二方面,在第二方面的一种可能的实现方式中,所述管理器还用于,清除所述第一快速均衡超时时间。
结合第二方面,在第二方面的一种可能的实现方式中,所述管理器还用于,在确定需要执行第N+b次链路均衡的情况下,配置第二所述快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡,其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
应理解,第二方面的有益效果可以参见第一方面的相关实现方式对应的有益效果,此处不再赘述。
第三方面,提供了一种快速均衡的装置,该装置也用于执行前述第一方面或第一方面任一实现方式所述的快速均衡的方法。该装置包括存储单元、读取单元、确定单元和配置调用单元。
存储单元,用于存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
读取单元,用于在确定单元确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值。
配置调用单元,用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
采用本实施例提供的装置,能够实现第一方面或第一方面任一种可能的实现方式所述的快速均衡的方法。本实施例提供的装置,可以使用之前存储的满足链路稳定性要求的均衡参数和相对于现有技术较短的均衡超时时间(即,第一均衡超时时间),从而能够缩短均衡阶段的时间。另外,由于均衡超时时间较短,因此本申请实施例的装置在保证高速高损耗链路能稳定运行的同时,能够提高整个链路修复(比如热重置或者链路重训练)流程在1s内完成的概率,尽可能避免在系统软件发起的链路修复过程中出现等待超时,导致系统软件认为链路不可用的问题。
可选的,该主芯片和该从芯片之间可以通过PCIe总线或CCIX总线连通。
可选地,所述需要执行第N次链路均衡的情况包括由操作系统触发的热重置和链路重训练。
可选地,所述主芯片的初始均衡超时时间是根据所述主芯片支持的物理层PHY能力确定的,或者,所述从芯片的初始均衡超时时间是根据所述从芯片支持的PHY能力确定的。
结合第三方面,在第三方面的一种可能的实现方式中,所述确定单元还用于,确定所述主芯片是否支持快速均衡,以及,确定所述从芯片是否支持所述快速均衡。相应的,所述配置调用单元用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,具体包括:在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
结合第三方面,在第三方面的一种可能的实现方式中,所述确定单元还用于确定所述主芯片是否支持快速均衡,具体包括:在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
结合第三方面,在第三方面的一种可能的实现方式中,所述确定单元还用于确定所述从芯片是否支持所述快速均衡,具体包括:在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
结合第三方面,在第三方面的一种可能的实现方式中,所述存储单元还用于,存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
结合第三方面,在第三方面的一种可能的实现方式中,所述配置调用单元还用于,清除所述第一快速均衡超时时间。
结合第三方面,在第三方面的一种可能的实现方式中,所述配置调用单元还用于,在所述确定单元确定需要执行第N+b次链路均衡的情况下,配置第二快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡,其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
应理解,第三方面的有益效果可以参见第一方面的相关实现方式对应的有益效果,此处不再赘述。
第四方面,提供了一种快速均衡的装置,该装置也用于执行前述第一方面或第一方面任一实现方式所述的快速均衡的方法。该装置包括中央处理器(central processorunit,CPU)和存储器,CPU用于执行存储在存储器内的代码以本实施例所述的装置的功能。
存储器,用于存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
CPU,用于在确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值;
CPU,用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
采用本实施例提供的装置,能够实现第一方面或第一方面任一种可能的实现方式所述的快速均衡的方法。本实施例提供的装置,可以使用之前存储的满足链路稳定性要求的均衡参数和相对于现有技术较短的均衡超时时间(即,第一均衡超时时间),从而能够缩短均衡阶段的时间。另外,由于均衡超时时间较短,因此本申请实施例的装置在保证高速高损耗链路能稳定运行的同时,能够提高整个链路修复(比如热重置或者链路重训练)流程在1s内完成的概率,尽可能避免在系统软件发起的链路修复过程中出现等待超时,导致系统软件认为链路不可用的问题。
第五方面,提供一种芯片,包括:该芯片可以为前述第一方面或其任一种实现方式、第二方面或其任一种实现方式、或第三方面或其任一种实现方式提及的主芯片。该芯片包括收发器、第一寄存器、第二寄存器、第三寄存器和管理器。
收发器,用于发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一均衡参数为第N-a次执行链路均衡时得到的满足链路稳定性要求的参数,所述第一均衡参数包括所述芯片的接收参数和发送参数,以及对端芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
第一寄存器,用于存储所述芯片的初始快速均衡超时时间,所述芯片的初始快速均衡超时时间小于或者等于所述芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述芯片的初始快速均衡超时时间为器件宣称值,所述第N-a次执行链路均衡时,所述芯片在均衡的第四阶段的均衡超时时间是硬件初始化值。
所述收发器还用于,发送所述芯片的初始快速均衡超时时间,以及接收第一快速均衡超时时间和所述第一均衡参数,所述第一快速均衡超时时间为所述芯片的初始快速均衡超时时间和所述对端芯片的初始快速均衡超时时间中的较大者,所述对端芯片的初始快速均衡超时时间小于或者等于所述对端芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述第N-a次执行链路均衡时,所述对端芯片在均衡的第三阶段的均衡超时时间是硬件初始化值,所述对端芯片的初始快速均衡超时时间为器件宣称值。
管理器,用于在第二寄存器中设置所述第一均衡参数,以及在第三寄存器中设置所述第一快速均衡超时时间。
所述管理器,还用于在所述收发器接收到第一链路修复指示信息时,根据所述第一快速均衡超时时间和所述第一均衡参数,执行第N次链路均衡,其中,所述第一链路修复指示信息用于触发所述第N次链路均衡,所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
具体地,本实施例中,所述芯片在第N-a次执行链路均衡时,在链路稳定运行后,将满足链路稳定性要求的该芯片的参数(或者,该芯片的参数以及对端芯片的参数)发送给系统软件(或者,系统的管理芯片)。系统软件可以将所接收的参数存储至该芯片中或者外部存储介质中,或者系统软件将接收到的该芯片的参数存储至该芯片中。在系统软件确定需要执行第N次链路均衡的情况下,从该芯片的第一寄存器存中读取该芯片的初始均衡超时时间,然后判断该芯片的初始均衡超时时间和对端芯片的初始均衡超时时间中的较大者,将该较大者(即,第一快速均衡超时时间)写入该芯片的第三寄存器中。并且,系统软件从外部存储介质或者该芯片中读取上述所存储的参数,然后将该参数写入第二寄存器中。接着,该芯片可以根据第二寄存器中存储的上述参数和第三寄存器中存储的第一快速均衡超时时间执行第N次链路均衡。
应理解,外部存储介质为位于该芯片、对端芯片和系统软件以外的其他位置的存储介质。
本实施例所述芯片,能够实现第一方面或第一方面的任一种可能的实现方式所述的方法,进而能够缩短均衡阶段的时间。
应理解,第二寄存器为存储用作链均衡的初始参数的寄存器。在第二寄存器中未存储第一均衡参数或者第一均衡参数中该芯片的发送参数和接收参数之前,该第二寄存器存储的是硬件初始化值。
另外,需要说明的是,所述收发器也可以不发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数。在此情况下,该芯片可以将第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数存储至自身的寄存器或者固件中。进一步地,若该芯片具有CPU或者具有CPU所能实现的功能的部件或者单元,则所述收发器可以不接收第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,而是先读取从存储在自身的寄存器或者固件中的上述参数,然后再将上述参数写入第二寄存器中用于存储初始参数的位置。
结合第五方面,在第五方面的一种可能的实现方式中,所述收发器还用于,发送所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二均衡参数包括所述芯片的接收参数和发送参数,以及所述对端芯片的接收参数和发送参数。
需要说明的是,所述收发器也可以不发送第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数。在此情况下,该芯片可以将第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数存储至自身的寄存器或者固件中。
结合第五方面,在第五方面的一种可能的实现方式中,所述收发器还用于,接收清除指示信息,所述清除指示信息用于清除所述第一快速均衡超时时间;所述管理器还用于,根据所述清除指示信息,清除所述第一快速均衡超时时间。
结合第五方面,在第五方面的一种可能的实现方式中,所述收发器还用于,接收第二快速均衡超时时间和所述第二均衡参数,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同。所述管理器还用于,在所述第二寄存器中设置所述第二均衡参数,以及在所述第三寄存器设置所述第二快速均衡超时时间;在所述收发器接收到第二链路修复指示信息时,根据所述第二快速均衡超时时间和所述第二均衡参数,执行第N+b次链路均衡,其中,所述第二链路修复指示信息用于触发所述第N+b次链路均衡,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,b≥1,且b为整数。
应理解,第三寄存器中用于存储第二快速均衡超时时间的位置和用于存储第一快速均衡超时时间的位置相同。第二寄存器中用于存储第一均衡参数(或者第一均衡参数中该芯片的接收参数和发送参数)的位置和用于存储第二均衡参数(或者第二均衡参数中该芯片的接收参数和发送参数)的位置可以相同也可以不同,在二者的位置不同的情况下,第一均衡参数和第二均衡参数中的任一个可以作为初始参数。
第六方面,提供一种芯片,包括:该芯片可以为前述第一方面或其任一种实现方式、第二方面或其任一种实现方式、或第三方面或其任一种实现方式提及的从芯片。该芯片包括收发器、第一寄存器、第二寄存器、第三寄存器和管理器。
收发器,用于发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一均衡参数为第N-a次执行链路均衡时得到的满足链路稳定性要求的参数,所述第一均衡参数包括所述芯片的接收参数和发送参数,以及对端芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
第一寄存器,用于存储所述芯片的初始快速均衡超时时间,所述芯片的初始快速均衡超时时间小于或者等于所述芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述芯片的初始快速均衡超时时间为器件宣称值,所述第N-a次执行链路均衡时,所述芯片在均衡的第三阶段的均衡超时时间是硬件初始化值;
所述收发器还用于,发送所述芯片的初始快速均衡超时时间,以及接收第一快速均衡超时时间和所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一快速均衡超时时间为所述芯片的初始快速均衡超时时间和所述对端芯片的初始快速均衡超时时间中的较大者,所述对端芯片的初始快速均衡超时时间小于或者等于所述对端芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述第N-a次执行链路均衡时,所述对端芯片在均衡的第四阶段的均衡超时时间是硬件初始化值,所述对端芯片的初始快速均衡超时时间为器件宣称值;
管理器,用于在第二寄存器中设置所述第一均衡参数中所述芯片的接收参数和发送参数,以及在第三寄存器中设置所述第一快速均衡超时时间。
所述管理器,还用于在所述收发器接收到第一链路修复指示信息时,根据所述第一快速均衡超时时间和所述第一均衡参数中所述芯片的接收参数和发送参数,执行第N次链路均衡,其中,所述第一链路修复指示信息用于触发所述第N次链路均衡,所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
具体地,本实施例中,所述芯片在第N-a次执行链路均衡时,在链路稳定运行后,将满足链路稳定性要求的该芯片的参数(或者,该芯片的参数以及对端芯片的参数)发送给系统软件(或者,系统的管理芯片)。系统软件可以将所接收的参数存储至该芯片中或者外部存储介质中或者对端芯片中,或者系统软件将接收到的该芯片的参数存储至该芯片中。在系统软件确定需要执行第N次链路均衡的情况下,从该芯片的第一寄存器存中读取该芯片的初始均衡超时时间,然后判断该芯片的初始均衡超时时间和对端芯片的初始均衡超时时间中的较大者,将该较大者(即,第一快速均衡超时时间)存储至该芯片的第三寄存器中。并且,系统软件从外部存储介质或者该芯片或者对端芯片中读取上述所存储的参数,然后将该参数写入第二寄存器中。接着,该芯片可以根据第二寄存器中存储的上述参数和第三寄存器中存储的第一快速均衡超时时间执行第N次链路均衡。
应理解,外部存储介质为位于该芯片、对端芯片和系统软件以外的其他位置的存储介质。
应用本实施例所述的芯片,能够实现第一方面或第一方面的任一种可能的实现方式所述的方法,进而能够缩短均衡阶段的时间。
应理解,第二寄存器为存储用作链均衡的初始参数的寄存器。在第二寄存器中未存储第一均衡参数或者第一均衡参数中该芯片的发送参数和接收参数之前,该第二寄存器存储的是硬件初始化值。
另外,需要说明的是,所述收发器也可以不发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数。在此情况下,该芯片可以将第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数存储至自身的寄存器或者固件中。进一步地,若该芯片具有CPU或者具有CPU所能实现的功能的部件或者单元,则所述收发器可以不接收第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,而是先读取从存储在自身的寄存器或者固件中的上述参数,然后再将上述参数写入第二寄存器中用于存储初始参数的位置。
结合第六方面,在第六方面的一种可能的实现方式中,所述收发器还用于,发送所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二均衡参数包括所述芯片的接收参数和发送参数,以及所述对端芯片的接收参数和发送参数。
需要说明的是,所述收发器也可以不发送第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数。在此情况下,该芯片可以将第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数存储至自身的寄存器或者固件中。
结合第五方面,在第五方面的一种可能的实现方式中,所述收发器还用于,接收清除指示信息,所述清除指示信息用于清除所述第一快速均衡超时时间;
所述管理器还用于,根据所述清除指示信息,清除所述第一快速均衡超时时间。
结合第五方面,在第五方面的一种可能的实现方式中,所述收发器还用于,接收第二快速均衡超时时间和所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同。所述管理器还用于,在所述第二寄存器中设置所述第二均衡参数中所述芯片的接收参数和发送参数,以及在所述第三寄存器设置所述第二快速均衡超时时间;在所述收发器接收到第二链路修复指示信息时,根据所述第二快速均衡超时时间和所述第二均衡参数中所述芯片的接收参数和发送参数,执行第N+b次链路均衡,其中,所述第二链路修复指示信息用于触发所述第N+b次链路均衡,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,b≥1,且b为整数。
应理解,第三寄存器中用于存储第二快速均衡超时时间的位置和用于存储第一快速均衡超时时间的位置相同。第二寄存器中用于存储第一均衡参数(或者第一均衡参数中该芯片的接收参数和发送参数)的位置和用于存储第二均衡参数(或者第二均衡参数中该芯片的接收参数和发送参数)的位置可以相同也可以不同,在二者的位置不同的情况下,第一均衡参数和第二均衡参数中的任一个可以作为初始参数。
第七方面,提供了一种通信系统,该通信系统包括系统软件、主芯片和从芯片。所述主芯片可以是第五方面或第五方面的任一种可能的实现方式所提供的芯片,所述从芯片可以是第六方面或第六方面的任一种可能的实现方式所提供的芯片。所述主芯片和所述从芯片之间通过外围组件快速互连PCIe总线或者加速器的高速互连内存一致性CCIX总线连通。所述系统软件可以实现执行第一方面或第一方面的任一种可能的实现方式中的方法。
比如,该系统软件可以用于:存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
在确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值;
根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
应理解,第六方面或其各个可能实现方式的有益效果可以参见前述各个关联实施例的有益效果,此处不再赘述。
附图说明
图1为本申请提供的一种应用PCIe总线的处理器系统的结构示意图。
图2为本申请提供的位于RC和显卡之间的信号通道的示意图。
图3为PCIe标准规定的建链流程图。
图4为本申请提供的一种快速均衡的方法的流程图。
图5为本申请提供的一种用于指示快速均衡超时时间的方式。
图6为本申请提供的一种快速均衡的方法的流程图。
图7为本申请提供的一种快速均衡的装置的示意图。
图8为本申请提供的另一种快速均衡的装置的示意图。
图9为本申请提供的再一种快速均衡的装置的示意图。
图10为本申请提供的一种芯片的结构示意图。
图11为本申请提供的另一种芯片的结构示意图。
图12为本申请提供的一种通信系统的结构示意图。
具体实施方式
PCIe是一种高速串行计算机扩展总线标准,是电脑总线标准PCI的一种,它沿用现有PCI总线的编程概念和通信标准。PCIe总线采用的是高速串行点对点双通道高带宽的传输方式,因此相对于PCI总线来说具有更快的传输速率。CCIX总线基于与PCIe总线相同的物理架构,该物理架构包括电气子层(electrical sub-block)和逻辑子层(logical sub-block),且CCIX总线支持PCIe1.0、PCIe2.0、PCIe3.0和PCIe4.0的传输速率。.
需要说明的是,PCIe/CCIX总线不仅可以应用于内部互连,也可以应用于外部互连。值得注意的是,在本申请中,PCIe/CCIX总线是指PCIe总线或者CCIX总线。
下面仅以应用PCIe总线的处理器系统(也可以简称为“PCIe系统”)为例以说明本申请涉及的方案。应当知道的是,应用CCIX总线的处理器系统也具有相同或相似的特征,具体参见下文关于应用PCIe总线的处理器系统的描述就能够理解应用CCIX总线的处理器系统,因此不再重复赘述。
图1示出了一个应用PCIe总线的处理器系统。参见图1,该系统包括根组件(rootcomplex,RC)、交换芯片(switch)和PCIe-to-PCI桥等。
具体的,RC也被称为该系统的根控制器,通常被集成在中央处理器(centralprocessor unit,CPU)上。RC通常具有多个端口。通过该多个端口中的每一个端口,该RC可以和一个部件连通。该多个端口可以包括多个用于连接PCIe总线的端口(简称PCIe端口)。通过一个PCIe端口,该RC可以连接一个端点(Endpoint),自然,该RC和该Endpoint之间是通过PCIe总线实现连接的。示例性的,如图1所示,该Endpoint可以为显卡、网卡、光通道卡、Switch或准用集成电路(application specific integrated circuit,ASIC)等。在图1所示的处理器系统中,RC和DDR之间通过DDR总线连通,所以RC上与DDR连接的端口不是PCIe端口。因此,该RC的多个端口可以全是PCIe端口,也可以部分是PCIe端口。
Switch用于对该RC进行链路扩展。具体的,一方面,该Switch和RC之间通过PCIe总线实现连通;另一方面,该Switch具有多个端口,通过一个端口,该Switch可以和一个EP通过PCIe总线连通。因此,基于该Switch,该RC可以通过一个端口和多个Endpoint实现连通。如图1所示,该Switch具有3个端口,该Switch通过该3个端口中的任意一个端口可以和一个ASIC,通过PCIe总线连通。
PCIe-to-PCI桥的作用是桥接,用于实现PCIe总线和PCI总线的转换,从而能够兼容原来的支持PCI总线的Endpoint。如图1所示,PCIe-to-PCI桥的一端通过PCIe总线连接到Switch,另一端连接到PCI总线上。进一步地,图1中还示出了多个支持PCI总线标准的PCI插槽,插在该PCI插槽内的芯片或卡能够通过PCI总线连接到该PCIe-to-PCI桥,进而通过Switch连接到CPU。
需要说明的是,RC和Endpoint之间可以通过PCIe总线直接连通,也可以通过PCIe总线和连接器后实现连通。如图2所示,RC和显卡之间依次通过PCIe总线、连接器、PCIe总线、连接器和PCIe总线后实现连通。容易理解,位于RC和Endpoint之间的多条PCIe总线的长度可以是相同,也可以是不同。
为了便于理解,此处对本申请中多次提及的“系统”进行说明。本申请所述的系统是指应用PCIe/CCIX总线的系统(简称为“PCIe/CCIX系统”)。该PCIe/CCIX系统可以包括一个中央处理器CPU和其外围设备,其中,该CPU和其外围设备之间的通道中至少有一个通道使用的是PCIe/CCIX总线。该PCIe/CCIX系统还可以包括多个CPU和其外围设备,其中,该多个CPU之间的通道中至少有一个通道使用的是PCIe/CCIX总线,或其中一个CPU和外围设备之间的通道中至少有一个通道使用的是PCIe/CCIX总线。
图3示出了PCIe系统从上电到建立通信连接的流程图。根据PCIe标准的规定,当开机或复位后,主芯片和从芯片进行上电校准,然后主芯片和从芯片中的链路状态机将控制链路依次进入:检测(Detect)——轮询(Polling)——配置(Configuration)——连接(Linkup)——恢复。具体的,在Detect阶段,主芯片和从芯片检测对方是否在位。当检测到对方都在位后,进入到Polling阶段,该阶段主要进行比特和符号锁定以及通道极性确定。然后进入到配置阶段,进行链路带宽和链路号的确定,执行通道到通道的相位补偿等。完成配置后,链路以低速运行到Linkup,也即主芯片和从芯片建立连接。然后,系统进入到恢复阶段,进行速率切换以及均衡。
PCIe/CCIX的均衡是一种针对所有高速率(包括8G、16G以及32G)进行均衡电路的参数调优,以选择较优的参数实现链路稳定运行的过程。均衡包括四个阶段,即,第一阶段(Phase 0),第二阶段(Phase 1),第三阶段(Phase 2)和第四阶段(Phase 3)。
在Phase 0,主芯片将从芯片需要用的初始参数发送给从芯片。作为本申请的一个实施例,Endpoint在该阶段的最大停留时间为12ms。
需要说明的是,在均衡的四个阶段,主芯片(或从芯片)在该四个阶段中的任意一个阶段的最大停留时间为主芯片(或从芯片)在该阶段的均衡超时时间。比如,主芯片在均衡的Phase 3的最大停留时间为主芯片在该Phase 3的均衡超时时间。从芯片在均衡的Phase2的最大停留时间为从芯片在该Phase 2的均衡超时时间。
在Phase 1,主芯片和从芯片之间以变速之后的较高速率进行数据收发,且该收发操作使用的是设定的初始参数。具体的,在该阶段,主芯片先向从芯片发送数据,从芯片接收到该数据后停留一会,在确定该数据的误码率小于10E-4后,该从芯片进入下一阶段——Phase 2。在该从芯片进入下一阶段之前,该从芯片向主芯片反馈一个信息用于说明自己将进入下一阶段,主芯片收到该信息后也将进入下一阶段。可选的,从芯片在Phase 1的最大停留时间为12ms,主芯片在Phase 1的最大停留时间为24ms。
在Phase 2,从芯片调整主芯片的发送(Tx)参数,并对应的调整自己的接收(Rx)参数,以期望从芯片和主芯片之间的链路的误码率小于10E-12。若从芯片在Phase2停留的最大时间内,从芯片和主芯片之间的误码率没有达到上述要求,则主芯片和从芯片会退出均衡过程,返回到上一级速率(比如8G协商超时,返回到2.5G)。然后在一段时间后,系统软件会控制链路在该速率下再次进行均衡过程。当前技术中,在该阶段主芯片停留的最大时间和从芯片停留的最大时间是缺省设置的。
在Phase 3,主芯片调整从芯片的发送(Tx)参数,并对应的调整自己的接收(Rx)参数,以期望从芯片和主芯片之间的链路的误码率小于10E-12。若主芯片在Phase3停留的最大时间内,从芯片和主芯片之间的误码率没有达到上述要求,则主芯片和从芯片会退出均衡过程,返回到上一级速率(比如8G协商超时,返回到2.5G)。然后在一段时间后,系统软件会控制链路在该速率下再次进行均衡过程。当前技术中,在该阶段主芯片停留的最大时间和从芯片停留的最大时间是缺省设置的。
当第一次变速完成且链路能够稳定运行,进行更高一级速率的变速,重复上述变速均衡过程直到每种速率都找到一个满足链路稳定性要求的参数。当芯片支持的所有速率都完成均衡以后,链路以芯片支持的最高速率运行或者以能满足链路稳定性要求的最高速率进行业务数据传输。
设备在长期使用过程中受到环境以及芯片老化等因素的影响,可能导致PCIe/CCIX链路发生异常,比如产生降速、误码等现象。为使链路保持持续稳定运行,系统软件会根据设计阶段制定的策略对链路进行修复。对链路进行修复相当于是对链路进行重新训练,其中包括均衡过程。为减少系统软件触发的链路均衡过程花费的时间,本申请提供了一种快速均衡的方法,以下,对该方法进行详细说明。
需要说明的是,本申请中的主芯片是指包含下行口(downstream port,DSP)的芯片。有时,该主芯片也被简称为下行口。本申请中的从芯片是指包含上行口(upstreamport,USP)的芯片。有时,该从芯片也被简称为上行口。进一步地,结合图1可知,在本申请中,主芯片可以为RC,也可以为交换芯片(Switch)。在主芯片为RC时,从芯片可以为端点设备(Endpoint),也可以为交换芯片(Switch)。在主芯片为交换芯片时,从芯片可以为端点设备。其中,该端点设备可以为显卡、网卡、光通道卡、存储卡或交换芯片等。此外,在本申请中,主芯片和芯片可以位于同一处理器系统中,也可以位于不同的处理器系统中。可选地,主芯片和芯片之间通过PCIe/CCIX总线连通。
图4是根据本申请实施例的快速均衡的方法的示意性流程图。如图4所示,该方法主要包括S410~S430。该方法的执行主体可以为系统软件或系统的管理芯片。该系统软件可以为基本输入输出系统(basic input output system,BIOS)。应当知道的是,BIOS是设备上电后加载的第一个软件,BIOS加载完成后会引导启动上层操作系统(operatingsystem,OS)。在BIOS运行阶段,BIOS可以执行本申请提供的快速均衡的方法。
S410,存储第N-a次执行链路均衡时的得到的满足链路稳定性要求的第一均衡参数。
其中,第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
具体地,在需要进行第N-a次链路均衡时,比如上电或者复位后的链路均衡时,主芯片和从芯片可以根据上文所描述的均衡过程进行链路均衡。当第一次变速完成且链路能够稳定运行时,系统软件(或者系统的管理芯片)可以读取满足链路稳定性要求的参数,然后将该参数存储起来。然后主芯片和从芯片进行更高一级速率的变速,并重复上述均衡过程以及存储操作,直到每种速率都满足链路稳定性要求的参数均被存储。可以理解,某一速率下满足链路稳定性要求的参数包括在该速率下的均衡的Phase2得到的满足链路稳定性要求(比如,满足误码率小于10E-12)的主芯片的发送参数和从芯片的接收参数,以及在该速率下的均衡的Phase3得到的满足链路稳定性要求(比如,满足误码率小于10E-12)的主芯片的接收参数和从芯片的发送参数。
应理解,第一均衡参数包括每种速率下满足链路稳定性要求的参数。
示例性的,系统软件可以在读取第一均衡参数后,将第一均衡参数存储至主芯片(例如,主芯片的固件(Firmware)或者寄存器)中。或者,系统软件可以将第一均衡参数中主芯片的发送参数和接收参数存储至主芯片中,以及将第一均衡参数中从芯片的发送参数和接收参数存储至从芯片(例如,从芯片的固件或者寄存器)中。或者,系统软件可以将第一均衡参数存储至外部存储介质中。其中,外部存储介质为位于主芯片、从芯片和系统软件以外的其他位置的存储介质。
此外,S410也可以由主芯片和从芯片执行,或者由二者之一执行。具体地,主芯片在获得其上述发送参数和接收参数后,可以将其上述发送参数和接收参数存储至主芯片中,例如主芯片的固件或者寄存器中。从芯片在获得其上述发送参数和接收参数后,可以将其上述发送参数和接收参数存储至从芯片中,例如从芯片的固件或者寄存器中。或者,主芯片(或者,从芯片)可以将第一均衡参数存储至主芯片(或者,从芯片)中。
应理解,主芯片中用于存储第一均衡参数集或者第一均衡参数集中主芯片的发送参数和接收参数的寄存器,可以是在主芯片新增加的寄存器,也可以是主芯片中预留的寄存器,本申请实施例对此不作限定。类似地,从芯片中用于存储第一均衡参数集或者第一均衡参数集中从芯片的发送参数和接收参数的寄存器,可以是在从芯片新增加的寄存器,也可以是从芯片中预留的寄存器。
作为本申请一个实施例,a>1。例如,a=2,第N-2次执行链路均衡可以是上电时执行的链路均衡,但本申请对此不作限定。那么,在后续的S430步骤中,使用的第一均衡参数可以是第N-2次执行链路均衡时得到的参数。
作为本申请另一实施例,a=1。例如,第N-1次执行链路均衡可以是复位时执行的链路均衡。那么,在后续的S430步骤中,使用的第一均衡参数可以是第N-1次执行链路均衡时得到的参数。
需要说明的是,若在执行第N-1次链路均衡之前还执行了第N-2次链路均衡,那么在存储第N-1次执行链路均衡时得到的参数时,可以覆盖第N-2次执行链路均衡时得到的参数。或者,当第N-1次执行链路均衡时得到的参数与第N-2次执行链路均衡时得到的参数相同时,可以不存储第N-1次执行链路均衡时得到的参数。
在本申请中,第N-a次执行链路均衡时,主芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,以及,从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,均是硬件初始化(hardware initialize)值。示例性的,第N-a次执行链路均衡时,主芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,可以是主芯片的物理层PHY进行初始化校准,对寄存器初始化后的值。类似地,第N-a次执行链路均衡时,从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间可以是从芯片的物理层PHY进行初始化校准,对寄存器初始化后的值。该PHY初始化校准过程可以是上电校准过程中完成的,也可以是在链路以低速(比如2.5G)启动到Linkup阶段后,在变速更更高速率之前完成的。进一步地,主芯片的上述硬件初始化值可以是根据主芯片的PHY能力确定的。类似地,从芯片的上述硬件初始化值可以是根据从芯片的PHY能力确定的。
需要说明的是,在本申请中,非系统软件触发的链路均衡流程在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,都可以使用由硬件初始化的在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
示例性的,上述由硬件初始化的在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间都可以用至少三个比特表示。例如,参见图5,第三阶段的均衡超时时间由比特位20、21和22中的值表示,第四阶段的均衡超时时间由比特位16、17和18中的值表示。比特位16、17和18的取值、比特位20、21和22的取值、比特位20、21和22中的值与第三阶段的均衡超时时间的对应关系、以及比特位16、17和18中的值与第四阶段的均衡超时时间的对应关系,具体可以参照现有技术,这里不再赘述。
S420,在确定需要进行第N次链路均衡的情况下,读取主芯片的初始快速均衡超时时间和从芯片的初始快速均衡超时时间。
其中,主芯片的初始快速均衡超时时间小于或者等于主芯片在第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间;从芯片的初始快速均衡超时时间小于或者等于从芯片在第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间。主芯片的初始快速均衡超时时间和从芯片的初始快速均衡超时时间均是器件宣称(device advertise)值。
本申请中,主芯片的初始快速均衡超时时间可以是主芯片的物理层PHY进行初始化校准,对寄存器初始化后的值。类似地,从芯片的初始快速均衡超时时间可以是从芯片的物理层PHY进行初始化校准,对寄存器初始化后的值。该PHY初始化校准过程可以是上电校准过程中完成的,也可以是在链路以低速(比如2.5G)启动到Linkup阶段后,在变速更更高速率之前完成的。
可选地,初始快速均衡超时时间可以用至少三比特表示。例如,参见图6,初始快速均衡超时时间用三个比特表示,该三个比特位为8、9和10。进一步地,比特位8、9和10中的值与初始快速均衡超时时间的对应关系可以参见表1所示。
表1
在图6所示的寄存器为主芯片中的寄存器的情况下,根据表6可知,000代表初始快速均衡超时时间为0,非000的值代表非0的初始快速均衡超时时间。其中,初始快速均衡超时时间为0表示主芯片没有使能快速均衡,初始快速均衡超时时间非0表示主芯片使能快速均衡。例如,001代表主芯片在均衡的第三阶段和第四阶段的初始均衡超时时间为8ms/16ms。类似地,在图6所示的寄存器为从芯片中的寄存器的情况下,根据表1可知,000初始快速均衡超时时间为0,非000的值代表非0的初始快速均衡超时时间。其中,初始快速均衡超时时间为0表示从芯片没有使能快速均衡,初始快速均衡超时时间非0表示从芯片使能快速均衡。例如,001代表从芯片在均衡的第三阶段和第四阶段的初始均衡超时时间为8ms/16ms。
S430,根据主芯片的初始快速均衡超时时间和从芯片的初始快速均衡超时时间,配置第一快速均衡超时时间并且调用第一均衡参数,以使主芯片和从芯片根据该第一均衡参数和第一快速均衡超时时间执行第N次链路均衡。
其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
具体地,在确定需要进行第N次链路均衡的情况下,比如,系统软件(或系统的管理芯片)确定需要进行链路修复(比如,确定需要触发热重置(hot reset)或者链路重训练(link retrain))时,系统软件可以读取存储在主芯片中的初始快速均衡超时时间,以及读取存储在从芯片中的初始快速均衡超时时间。然后,系统软件比较主芯片的初始快速均衡超时时间和从芯片的初始快速均衡超时时间,将二者中较大者写入至主芯片的寄存器中以及从芯片的寄存器中。并且,系统软件将第一均衡参数存储至主芯片中用于存储初始参数的寄存器中。接着,系统软件(或系统的管理芯片)可以通过向主芯片和从芯片发送第一链路修复指示信息,触发第N次链路均衡,比如,触发热重置或者链路重训练。当主芯片和从芯片根据该第一链路修复指示信息进入Recovery阶段后,主芯片和从芯片将使用第一快速均衡超时时间,以及该第一均衡参数作为初始参数,进行第N次链路均衡。根据触发第N次链路均衡的场景的不同,第N次链路均衡可以对每种速率都进行均衡,也可以只对某一速率进行均衡。
以对每种速率都进行均衡为例,在Phase0,主芯片将从芯片需要用的初始参数(即,第一均衡参数中从芯片的发送参数和接收参数)发送给从芯片。当主芯片和从芯片在Phase1变换到目标速率时,主芯片使用第一均衡参数中的主芯片的发送参数向从芯片发送数据,从芯片使用第一均衡参数中的从芯片的接收参数接收数据。由于第一均衡参数中的主芯片的发送参数和从芯片的接收参数是第N-a次均衡时选择的和链路匹配度较高的参数,因此能够快速实现比特位/符号锁定,达到数据的误码率小于10E-4的要求。然后,主芯片和从芯片可以进入到Phase 2。在Phase 2,从芯片调整主芯片的发送参数和自己的接收参数。同样地,由于第一均衡参数中的主芯片的发送参数和从芯片的接收参数和链路匹配度较高,链路初始误码率较低,因此从芯片只需要稍微调整(比如1~2次)自己的接收参数以及主芯片的发送参数,就能够满足链路稳定性要求(例如,误码率小于10E-12)。这样就能够保证主芯片和从芯片在第一快速均衡超时时间内完成均衡,实现降低均衡超时时间的目的。类似地,在Phase 3,从芯片首先以第一均衡参数中的从芯片的发送参数向主芯片发送数据,主芯片以第一均衡参数中的主芯片的接收参数进行接收,若此时不满足链路稳定性要求(例如,误码率小于10E-12),则主芯片调整自己的接收参数和从芯片的发送参数。由于第一均衡参数中的主芯片的接收参数和从芯片的发送参数和链路匹配度较高,链路初始误码率较低,因此主芯片只需要稍微调整(比如1~2次)自己的接收参数以及从芯片的发送参数,就能够满足链路稳定性要求(例如,误码率小于10E-12)。这样就能够保证主芯片和从芯片在第一快速均衡超时时间内完成均衡,实现降低均衡过程所需的时间的目的。当变速完成且链路能够稳定运行后,主芯片和从芯片进行更高一级速率的变速,并重复使用第一快速均衡超时时间和该第一均衡参数中该速率对应的参数作为均衡初始参数,进行链路均衡,直到每种速率都重新找到一个满足链路稳定性要求的参数。值得注意的是,该第一均衡参数中包括一个或多个速率对应的参数,该一个或多个速率包括主芯片和从芯片进行更高一级速率变速后将要达到的速率,则位于该第一均衡参数中且与该将要达到的速率对应的参数即为“该第一均衡参数中该速率对应的参数”。当芯片支持的所有速率都完成链路均衡以后,链路以执行第N次链路均衡前,链路运行的最高速率或者以能满足链路稳定要求的最高速率进行业务数据传输。
需要说明的是,若在S410中,第一均衡参数被存储至外部存储介质中,那么在系统软件触发第N次链路均衡之前,系统软件可以先从该外部存储介质中读取第一均衡参数,然后再将第一均衡参数写入主芯片中用于存储初始参数的寄存器中。或者,系统软件将第一均衡参数中主芯片的发送参数和接收参数写入主芯片中用于存储初始参数的寄存器中,以及将第一均衡参数中从芯片的发送参数和接收参数写入从芯片中用于存储初始参数的寄存器中。但在此情况下,在Phase0之前,从芯片需要将第一均衡参数中从芯片的发送参数和接收参数发送给主芯片,以使在Phase0,主芯片将第一均衡参数中从芯片的发送参数和接收参数作为从芯片的初始参数发送给从芯片。
若在S410中,第一均衡参数被存储在主芯片中,那么在Phase0之前,主芯片(或者系统软件)先从存储第一均衡参数的位置读取第一均衡参数,然后再将第一均衡参数写入中主芯片中用于存储初始参数的寄存器中。
若在S410中,第一均衡参数中主芯片的发送参数和接收参数被存储在主芯片中,并且第一均衡参数中从芯片的发送参数和接收参数被存储在从芯片中,那么在系统软件触发第N次链路均衡之前,主芯片(或者系统软件)先从存储第一均衡参数中主芯片的发送参数和接收参数的位置读取第一均衡参数中主芯片的发送参数和接收参数,然后再将所读取的参数写入主芯片中用于存储初始参数的寄存器中,并且,从芯片需要将第一均衡参数中从芯片的发送参数和接收参数发送给主芯片,以使在Phase0,主芯片将第一均衡参数中从芯片的发送参数和接收参数作为从芯片的初始参数发送给从芯片。
应当理解,在S430中,第一均衡参数将会覆盖之前在用于存储初始参数的寄存器中存储的初始参数。应理解,之前在用于存储初始参数的寄存器中存储的初始参数,为硬件初始化值(或者器件宣称值)。在第N-a次执行链路均衡时,所使用的初始参数为执行第N-a次链路均衡之前,在用于存储初始参数的寄存器中存储的初始参数。
可选地,快速均衡超时时间(例如,第一快速均衡超时时间)可以用至少三个比特表示。例如,参见图5,快速均衡超时时间用三个比特表示,该三个比特位为26、27和28。进一步地,比特位26、27和28中的值与快速均衡超时时间的对应关系可以参见表2所示。应理解,表1中所示的初始快速均衡超时时间的可能的取值与表2中所示的快速均衡超时时间的可能的取值相同。
表2
在图5所示的寄存器为主芯片中的寄存器的情况下,根据表2可知,000代表快速均衡超时时间为0,非000的值代表非0的快速均衡超时时间。其中,快速均衡超时时间为0表示主芯片没有使能快速均衡,快速均衡超时时间非0表示主芯片使能快速均衡。例如,001代表主芯片在均衡的第三阶段和第四阶段的均衡超时时间为8ms/16ms。类似地,在图5所示的寄存器为从芯片中的寄存器的情况下,根据表2可知,快速均衡超时时间为0,非000的值代表非0的快速均衡超时时间。其中,快速均衡超时时间为0表示从芯片没有使能快速均衡,快速均衡超时时间非0表示从芯片使能快速均衡。例如,001代表从芯片在均衡的第三阶段和第四阶段的均衡超时时间为8ms/16ms。应当注意的是,主芯片的快速均衡超时时间和从芯片的快速均衡超时时间相同。
示例性的,若主芯片中的如图5所示的寄存器的比特位8、9和10中的值为001,从芯片中的如图5所示的寄存器的比特位8、9和10中的值为011,那么如图6所示的寄存器中的比特位26、27和28中的值将为011。
可选地,作为本申请一个实施例,在S420之前,该方法还可以包括:系统软件确定主芯片是否支持快速均衡,以及确定从芯片是否支持快速均衡。并且,在系统软件确定主芯片和从芯片均支持快速均衡时,才执行S420。相反地,在系统软件主芯片和从芯片有一方不支持快速均衡时,不执行S420。
进一步地,在系统软件确定主芯片的初始快速均衡超时时间不为0时,确定主芯片支持快速均衡。类似地,在系统软件确定从芯片的初始快速均衡超时时间不为0时,确定从芯片支持快速均衡。可以理解,在表示主芯片和从芯片的初始快速均衡超时时间的比特的值都不为0时,才执行S420。
具体地,在系统软件需要进行第N次链路均衡的情况下,可以首先读取主芯片的初始快速均衡超时时间和从芯片的初始快速均衡超时时间,若主芯片的初始快速均衡超时时间不为0,且从芯片的初始快速均衡超时时间不为0,再对两个初始均衡超时时间进行比较,根据比较结果配置第一快速均衡超时时间。
应理解,主芯片是否支持快速均衡是指主芯片是否允许被配置第一快速均衡超时时间,或者主芯片是否能够使用第一快速均衡超时时间和第一均衡参数进行链路均衡。类似地,从芯片是否支持快速均衡是指从芯片是否允许被配置所述第一快速均衡超时时间,或者从芯片是否能够使用第一快速均衡超时时间和第一均衡参数进行链路均衡。当主芯片和从芯片都允许被配置所述第一快速均衡超时时间时,或者,当主芯片和从芯片都能够使用第一快速均衡超时时间和第一均衡参数进行链路均衡时,才可以配置第一快速均衡超时时间。
还应理解,本申请中配置了第一快速均衡超时时间,相当于使能了快速均衡。在使能快速均衡的情况下,在链路均衡过程中,将忽略前述由硬件初始化的第三阶段的均衡超时时间和第四阶段的均衡超时时间。也就是说,不使用由硬件初始化的第三阶段的均衡超时时间和第四阶段的均衡超时时间,而是使用第一快速均衡超时时间作为主芯片在均衡的第三阶段的均衡超时时间和从芯片在均衡的第四阶段的均衡超时时间,以及从芯片在均衡的第三阶段的均衡超时时间。
需要说明的是,作为本申请一个实施例,也可以默认为主芯片和从芯片都支持快速均衡。也就是说,在S420之前,不需要判断主芯片是否支持快速均衡,以及从芯片是否支持快速均衡,而直接配置所述第一快速均衡超时时间。
因此,本申请实施例的快速均衡的方法,通过在本次执行链路均衡时,使用之前存储的满足链路稳定性要求的均衡参数和相对于现有技术较短的均衡超时时间,能够缩短均衡阶段的时间。由于均衡超时时间较短,因此本申请实施例的快速均衡的方法在保证高速高损耗链路能稳定运行的同时,能够提高整个链路修复(比如热重置或者链路重训练)流程在1s内完成的概率,尽可能避免在系统软件发起的链路修复过程中出现等待超时,导致系统软件认为链路不可用的问题。
此外,本申请实施例的快速均衡的方法,不需要更改当前协议规定的链路修复时系统软件的等待时长(即,1s),因此能够很好的实现PCIe/CCIX协议的兼容性,也能够避免因兼容性问题而对系统软件各种版本进行的修改操作。
进一步地,在链路以最高速率达到稳定后,系统软件(或系统的管理芯片)可以清除第一快速均衡超时时间,例如清除图6所示的寄存器中的比特位26、27和28中的值,即,将图6所示的寄存器中的比特位26、27和28中的值置为000b。
可选的,在执行完所述第N次链路均衡之后,系统软件(或系统的管理芯片)可以清除所述第一快速均衡超时时间。
可选地,在执行第N次链路均衡时,可以将得到的满足链路均衡的第二均衡参数存储起来,以供后续的链路均衡使用。其中,第二均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数。
应理解,这里的存储操作可以由系统软件(或系统的管理芯片)执行,可以由主芯片和/或从芯片执行,具体地可以参照上文中对S410的描述,这里不再赘述。还应理解,第二均衡参数可以覆盖之前存储的第一均衡参数。
进一步地,该方法还可以包括:在确定需要执行第N+b次链路均衡的情况下,系统软件配置第二快速均衡超时时间,并且调用第二均衡参数,以使主芯片和从芯片根据第二均衡参数和第二快速均衡超时时间执行第N+b次链路均衡。其中,第二快速均衡超时时间为在执行第N+b次链路均衡时,主芯片和从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,第二快速均衡超时时间与第一快速均衡超时时间相同,b≥1,且b为整数。
比如,在执行第N次链路均衡后的一段时间之后,若系统软件(或系统的管理芯片)确定需要再次进行链路修复(比如,确定需要触发热重置或者链路重训练)时,系统软件可以配置第二快速均衡超时时间以及调用第二均衡参数。然后,系统软件可以通过向主芯片和从芯片发送第二链路修复指示信息,触发第N+b次链路均衡,比如,热重置或者链路重训练。根据第二链路修复指示信息,进入Recovery阶段后,主芯片和从芯片使用第二快速均衡超时时间,以及调用该第二均衡参数作为均衡初始参数,进行第N+b次链路均衡。执行第N+b次链路均衡过程具体可以参照上文中对执行第N次链路均衡过程所作的说明,这里不再赘述。
本申请实施例的快速均衡的方法,在本次执行快速均衡时,通过使用之前执行快速均衡得到的使得链路稳定运行的均衡参数,能够使得链路快速达到稳定状态,进而能够较小链路均衡过程所需的时间。
本申请还提供了一种快速均衡的装置,该装置可以用来执行前述的快速均衡的方法,因此本实施例所述的装置可以参见前述方法实施例的相关限定和描述,为了节约篇幅,相同或者相似部分,本实施例不再赘述。需要说明的是,本实施例所述的装置可以为系统的管理芯片。
如图7所示,为本实施例提供的一种快速均衡的装置700。该装置700包括管理器701和收发器702。
管理器701,用于存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
可选地,管理器701可以将第一均衡参数存储至主芯片或者外部存储介质中。管理器701还可以将第一均衡参数中主芯片的相关参数存储至主芯片中,第一均衡参数中从芯片的相关参数存储至从芯片中。
收发器702,在所述管理器701确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值。
所述管理器701还用于,根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
值得注意的是,该第一均衡参数中包括一个或多个速率对应的参数,该一个或多个速率包括执行第N次链路均衡将要达到的速率,则位于该第一均衡参数中且与该将要达到的速率对应的参数即为管理器701执行该第N次链路均衡时所调用的该第一均衡参数。作为本申请一个实施例,所述管理器701还用于,确定所述主芯片是否支持快速均衡,以及,确定所述从芯片是否支持所述快速均衡。相应的,所述管理器701还用于配置所述配置第一快速均衡超时时间,具体包括:在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
进一步地,所述管理器701还用于确定所述主芯片是否支持快速均衡,具体包括:在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
类似地,所述管理器701还用于确定所述从芯片是否支持所述快速均衡,具体包括:在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
作为本申请一个实施例,所述管理器701还用于,存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
作为本申请一个实施例,在执行完所述第N次链路均衡之后,所述管理器701还用于,清除所述第一快速均衡超时时间。
作为本申请一个实施例,所述管理器701还用于,在确定需要执行第N+b次链路均衡的情况下,配置第二所述快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡,其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
本申请还提供了第二种快速均衡的装置,该装置也可以用来执行前述的快速均衡的方法,因此本实施例所述的装置也可以参见前述方法实施例的相关限定和描述。需要说明的是,本实施例所述的装置可以为BIOS。
如图8所示,为本实施例提供的一种快速均衡的装置800。该装置包括存储单元801、读取单元802、确定单元803和配置调用单元804。
存储单元801,用于存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
可选地,存储单元801可以将第一均衡参数存储至主芯片或者外部存储介质中。管理器701还可以将第一均衡参数中主芯片的相关参数存储至主芯片中,第一均衡参数中从芯片的相关参数存储至从芯片中。
读取单元802,用于在确定单元803确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值。
配置调用单元804,用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
值得注意的是,该第一均衡参数中包括一个或多个速率对应的参数,该一个或多个速率包括执行第N次链路均衡将要达到的速率,则位于该第一均衡参数中且与该将要达到的速率对应的参数即为配置调用单元804执行该第N次链路均衡时所调用的该第一均衡参数。
作为本申请一个实施例,所述确定单元803还用于,确定所述主芯片是否支持快速均衡,以及,确定所述从芯片是否支持所述快速均衡。相应的,所述配置调用单元804用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,具体包括:在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
作为本申请一个实施例,所述确定单元803还用于确定所述主芯片是否支持快速均衡,具体包括:在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
进一步地,所述确定单元803还用于确定所述从芯片是否支持所述快速均衡,具体包括:在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
作为本申请一个实施例,所述存储单元801还用于,存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
作为本申请一个实施例,在执行完所述第N次链路均衡之后,所述配置调用单元804还用于,清除所述第一快速均衡超时时间。
作为本申请一个实施例,所述配置调用单元804还用于,在所述确定单元803确定需要执行第N+b次链路均衡的情况下,配置第二快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡,其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
本申请还提供了第三种快速均衡的装置,该装置也可以用于执行前述快速均衡的方法,相应的,该装置也可以参见前述方法实施例的相关限定,相同或相似部分,本实施例不再赘述。
如图9所示,本实施例提供的快速均衡的装置900,该装置900包括中央处理器(central processor unit,CPU)901和存储器902。其中,存储器902用于存储代码,CPU901用于执行存储器902存储的代码以实现本实施例所述的装置的功能。应当知道的是,该CPU为应用该PCIe总线的处理器系统的CPU。
存储器902,用于存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
应理解,上述存储操作也可以由CPU901执行。
可选地,存储器902或者CPU901可以将第一均衡参数存储至主芯片或者外部存储介质中。管理器701还可以将第一均衡参数中主芯片的相关参数存储至主芯片中,第一均衡参数中从芯片的相关参数存储至从芯片中。
CPU901,用于在确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值。
CPU901,还用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
值得注意的是,该第一均衡参数中包括一个或多个速率对应的参数,该一个或多个速率包括执行第N次链路均衡将要达到的速率,则位于该第一均衡参数中且与该将要达到的速率对应的参数即为CPU901执行该第N次链路均衡时所调用的该第一均衡参数。。
作为本申请一个实施例,所述CPU901还用于,确定所述主芯片是否支持快速均衡,以及,确定所述从芯片是否支持所述快速均衡。相应的,所述CPU901用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,具体包括:在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
作为本申请一个实施例,CPU901还用于确定所述主芯片是否支持快速均衡,具体包括:在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
进一步地,CPU901还用于确定所述从芯片是否支持所述快速均衡,具体包括:在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
作为本申请一个实施例,存储器902还用于,存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
应理解,这里的存储操作也可以由CPU901执行。
作为本申请一个实施例,在执行完所述第N次链路均衡之后,CPU901还用于,清除所述第一快速均衡超时时间。
作为本申请一个实施例,CPU901还用于,在所述确定单元803确定需要执行第N+b次链路均衡的情况下,配置第二快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡,其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
本申请还提供了一种芯片,该芯片为前述实施例所述的主芯片。如图10所示,该芯片1000包括收发器1010、第一寄存器1020、第二寄存器1030、第三寄存器1040和管理器1050。
收发器1010,用于发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一均衡参数为第N-a次执行链路均衡时得到的满足链路稳定性要求的参数,所述第一均衡参数包括所述芯片的接收参数和发送参数,以及对端芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数。
第一寄存器1020,用于存储所述芯片的初始快速均衡超时时间,所述芯片的初始快速均衡超时时间小于或者等于所述芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述芯片的初始快速均衡超时时间为器件宣称值,所述第N-a次执行链路均衡时,所述芯片在均衡的第四阶段的均衡超时时间是硬件初始化值。
所述收发器1010还用于,发送所述芯片的初始快速均衡超时时间,以及接收第一快速均衡超时时间和所述第一均衡参数,所述第一快速均衡超时时间为所述芯片的初始快速均衡超时时间和所述对端芯片的初始快速均衡超时时间中的较大者,所述对端芯片的初始快速均衡超时时间小于或者等于所述对端芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述第N-a次执行链路均衡时,所述对端芯片在均衡的第三阶段的均衡超时时间是硬件初始化值,所述对端芯片的初始快速均衡超时时间为器件宣称值。
管理器1050,用于在第二寄存器1030中设置所述第一均衡参数,以及在第三寄存器1040中设置所述第一快速均衡超时时间。或者说,第二寄存器1030用于设置第一均衡参数,以及,第三寄存器1040,用于设置所述第一快速均衡超时时间。
管理器1050,还用于在所述收发器1010接收到第一链路修复指示信息时,根据所述第一快速均衡超时时间和所述第一均衡参数,执行第N次链路均衡,其中,所述第一链路修复指示信息用于触发所述第N次链路均衡,所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
值得注意的是,该第一均衡参数中包括一个或多个速率对应的参数,该一个或多个速率包括执行第N次链路均衡将要达到的速率,则位于该第一均衡参数中且与该将要达到的速率对应的参数即为管理器1050执行该第N次链路均衡时所依据的该第一均衡参数。
具体地,本实施例中,所述芯片在第N-a次执行链路均衡时,在链路稳定运行后,将满足链路稳定性要求的该芯片的参数(或者,该芯片的参数以及对端芯片的参数)发送给系统软件(或者,系统的管理芯片)。系统软件可以将所接收的参数存储至该芯片中或者外部存储介质中,或者系统软件将接收到的该芯片的参数存储至该芯片中。在系统软件确定需要执行第N次链路均衡的情况下,从该芯片的第一寄存器存中读取该芯片的初始均衡超时时间,然后判断该芯片的初始均衡超时时间和对端芯片的初始均衡超时时间中的较大者,将该较大者(即,第一快速均衡超时时间)写入该芯片的第三寄存器中。并且,系统软件从外部存储介质或者该芯片中读取上述所存储的参数,然后将该参数写入第二寄存器中。接着,该芯片可以根据第二寄存器中存储的上述参数和第三寄存器中存储的第一快速均衡超时时间执行第N次链路均衡。
应理解,外部存储介质为位于该芯片、对端芯片和系统软件以外的其他位置的存储介质。
应理解,第二寄存器为存储用作链均衡的初始参数的寄存器。在第二寄存器中未存储第一均衡参数或者第一均衡参数中该芯片的发送参数和接收参数之前,该第二寄存器存储的是硬件初始化值。
另外,需要说明的是,所述收发器也可以不发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数。在此情况下,该芯片可以将第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数存储至自身的寄存器或者固件中。进一步地,若该芯片具有CPU或者具有CPU所能实现的功能的部件或者单元,则所述收发器可以不接收第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,而是先读取从存储在自身的寄存器或者固件中的上述参数,然后再将上述参数写入第二寄存器中用于存储初始参数的位置。
作为本申请一个实施例,所述收发器1010还用于,发送所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二均衡参数包括所述芯片的接收参数和发送参数,以及所述对端芯片的接收参数和发送参数。
需要说明的是,所述收发器也可以不发送第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数。在此情况下,该芯片可以将第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数存储至自身的寄存器或者固件中。
作为本申请一个实施例,所述收发器1010还用于,接收清除指示信息,所述清除指示信息用于清除所述第一快速均衡超时时间;在执行完所述第N次链路均衡之后,所述管理器1050还用于,根据所述清除指示信息,清除所述第一快速均衡超时时间。
作为本申请一个实施例,所述收发器1010还用于,接收第二快速均衡超时时间和所述第二均衡参数,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同。所述第二寄存器1030还用于,存储所述第二均衡参数。
管理器1050还用于,在所述第二寄存器1030中设置所述第二均衡参数,以及在所述第三寄存器1040设置所述第二快速均衡超时时间。或者说,所述第二寄存器1030还用于设置所述第二均衡参数,以及,所述第三寄存器1040还用于,设置所述第二快速均衡超时时间。
所述管理器1050还用于,在所述收发器1010接收到第二链路修复指示信息时,根据所述第二快速均衡超时时间和所述第二均衡参数,执行第N+b次链路均衡,其中,所述第二链路修复指示信息用于触发所述第N+b次链路均衡,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,b≥1,且b为整数。
应理解,第三寄存器中用于存储第二快速均衡超时时间的位置和用于存储第一快速均衡超时时间的位置相同。第二寄存器中用于存储第一均衡参数(或者第一均衡参数中该芯片的接收参数和发送参数)的位置和用于存储第二均衡参数(或者第二均衡参数中该芯片的接收参数和发送参数)的位置可以相同也可以不同,在二者的位置不同的情况下,第一均衡参数和第二均衡参数中的任一个可以作为初始参数。
本申请还提供了一种芯片,该芯片为前述实施例所述的从芯片。如图11所示,该芯片1100包括收发器1110、第一寄存器1120、第二寄存器1130、第三寄存器1140和管理器1150。
收发器1110,用于发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一均衡参数为第N-a次执行链路均衡时得到的满足链路稳定性要求的参数,所述第一均衡参数包括所述芯片的接收参数和发送参数,以及对端芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
第一寄存器1120,用于存储所述芯片的初始快速均衡超时时间,所述芯片的初始快速均衡超时时间小于或者等于所述芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述芯片的初始快速均衡超时时间为器件宣称值,所述第N-a次执行链路均衡时,所述芯片在均衡的第三阶段的均衡超时时间是硬件初始化值。
所述收发器1110还用于,发送所述芯片的初始快速均衡超时时间,以及接收第一快速均衡超时时间和所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一快速均衡超时时间为所述芯片的初始快速均衡超时时间和所述对端芯片的初始快速均衡超时时间中的较大者,所述对端芯片的初始快速均衡超时时间小于或者等于所述对端芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述第N-a次执行链路均衡时,所述对端芯片在均衡的第四阶段的均衡超时时间是硬件初始化值,所述对端芯片的初始快速均衡超时时间为器件宣称值。
管理器1150,用于在第二寄存器1130中设置所述第一均衡参数中所述芯片的接收参数和发送参数,以及在第三寄存器1140中设置所述第一快速均衡超时时间。或者说,第二寄存器1130,用于设置所述第一均衡参数中所述芯片的接收参数和发送参数,以及,第三寄存器1140,用于设置所述第一快速均衡超时时间。
管理器1150,还用于在所述收发器1110接收到第一链路修复指示信息时,根据所述第一快速均衡超时时间和所述第一均衡参数中所述芯片的接收参数和发送参数,执行第N次链路均衡,其中,所述第一链路修复指示信息用于触发所述第N次链路均衡,所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
值得注意的是,该第一均衡参数中包括一个或多个速率对应的参数,该一个或多个速率包括执行第N次链路均衡将要达到的速率,则位于该第一均衡参数中且与该将要达到的速率对应的参数即为管理器1150执行该第N次链路均衡时所依据的该第一均衡参数中该芯片的接收参数和发送参数。
具体地,本实施例中,所述芯片在第N-a次执行链路均衡时,在链路稳定运行后,将满足链路稳定性要求的该芯片的参数(或者,该芯片的参数以及对端芯片的参数)发送给系统软件(或者,系统的管理芯片)。系统软件可以将所接收的参数存储至该芯片中或者外部存储介质中或者对端芯片中,或者系统软件将接收到的该芯片的参数存储至该芯片中。在系统软件确定需要执行第N次链路均衡的情况下,从该芯片的第一寄存器存中读取该芯片的初始均衡超时时间,然后判断该芯片的初始均衡超时时间和对端芯片的初始均衡超时时间中的较大者,将该较大者(即,第一快速均衡超时时间)存储至该芯片的第三寄存器中。并且,系统软件从外部存储介质或者该芯片或者对端芯片中读取上述所存储的参数,然后将该参数写入第二寄存器中。接着,该芯片可以根据第二寄存器中存储的上述参数和第三寄存器中存储的第一快速均衡超时时间执行第N次链路均衡。
应理解,外部存储介质为位于该芯片、对端芯片和系统软件以外的其他位置的存储介质。
应理解,第二寄存器为存储用作链均衡的初始参数的寄存器。在第二寄存器中未存储第一均衡参数或者第一均衡参数中该芯片的发送参数和接收参数之前,该第二寄存器存储的是硬件初始化值。
另外,需要说明的是,所述收发器也可以不发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数。在此情况下,该芯片可以将第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数存储至自身的寄存器或者固件中。进一步地,若该芯片具有CPU或者具有CPU所能实现的功能的部件或者单元,则所述收发器可以不接收第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,而是先读取从存储在自身的寄存器或者固件中的上述参数,然后再将上述参数写入第二寄存器中用于存储初始参数的位置。
作为本申请一个实施例,所述收发器1110还用于,发送所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二均衡参数包括所述芯片的接收参数和发送参数,以及所述对端芯片的接收参数和发送参数。
需要说明的是,所述收发器1110也可以不发送第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数。在此情况下,该芯片可以将第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数存储至自身的寄存器或者固件中。
作为本申请一个实施例,所述收发器1110还用于,接收清除指示信息,所述清除指示信息用于清除所述第一快速均衡超时时间;在执行完所述第N次链路均衡之后,所述管理器1150还用于,根据所述清除指示信息,清除所述第一快速均衡超时时间。
作为本申请一个实施例,所述收发器1110还用于,接收第二快速均衡超时时间和所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同。
所述管理器1150还用于,在所述第二寄存器中设置所述第二均衡参数中所述芯片的接收参数和发送参数,以及在所述第三寄存器设置所述第二快速均衡超时时间。或者说,所述第二寄存器1130还用于,设置所述第二均衡参数;以及,所述第三寄存器1140还用于,设置所述第二快速均衡超时时间。
所述管理器1150还用于,在所述收发器1110接收到第二链路修复指示信息时,根据所述第二快速均衡超时时间和所述第二均衡参数中所述芯片的接收参数和发送参数,执行第N+b次链路均衡,其中,所述第二链路修复指示信息用于触发所述第N+b次链路均衡,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,b≥1,且b为整数。
应理解,第三寄存器中用于存储第二快速均衡超时时间的位置和用于存储第一快速均衡超时时间的位置相同。第二寄存器中用于存储第一均衡参数(或者第一均衡参数中该芯片的接收参数和发送参数)的位置和用于存储第二均衡参数(或者第二均衡参数中该芯片的接收参数和发送参数)的位置可以相同也可以不同,在二者的位置不同的情况下,第一均衡参数和第二均衡参数中的任一个可以作为初始参数。
本申请还提供的一种通信系统。如图12所示,该通信系统1200包括系统软件1210、主芯片1220和从芯片1230。其中,主芯片1220和从芯片1230之间通过PCIe/CCIX总线连通。需要说明的是,该系统软件1210可以为BIOS。
该系统软件1210可以用于:存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片1220的接收参数和发送参数,以及从芯片1230的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
在确定需要执行第N次链路均衡的情况下,读取所述主芯片1220的初始快速均衡超时时间和所述从芯片1230的初始快速均衡超时时间,所述主芯片1220的初始快速均衡超时时间小于或者等于所述主芯片1220在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片1230的初始快速均衡超时时间小于或者等于所述从芯片1230在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片1220的初始快速均衡超时时间和所述从芯片1230的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片1220和所述从芯片1230在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值;
根据所述主芯片1220的初始快速均衡超时时间和所述从芯片1230的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片1220和所述从芯片1230根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片1220的初始快速均衡超时时间和所述从芯片1230的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片1220和所述从芯片1230在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
值得注意的是,该第一均衡参数中包括一个或多个速率对应的参数,该一个或多个速率包括执行第N次链路均衡将要达到的速率,则位于该第一均衡参数中且与该将要达到的速率对应的参数即为系统软件1210执行该第N次链路均衡时所调用的该第一均衡参数。
可选地,该系统软件还可以包括存储器1240,该存储器可以用于存储第一均衡参数。
作为本申请一个实施例,在系统软件1210还用于确定所述主芯片1220是否支持快速均衡,以及,确定所述从芯片1230是否支持所述快速均衡。相应的,系统软件1210配置第一快速均衡超时时间,具体包括:在所述主芯片1220和所述从芯片1230均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
进一步地,系统软件1210确定所述主芯片1220是否支持快速均衡,具体包括:在所述主芯片1220的初始快速均衡超时时间不为0时,确定所述主芯片1220支持所述快速均衡。
类似地,系统软件1210确定所述从芯片1230是否支持所述快速均衡,具体包括:在所述从芯片1230的初始快速均衡超时时间不为0时,确定所述从芯片1230支持所述快速均衡。
作为本申请一个实施例,系统软件1210还用于:存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片1220的接收参数和发送参数,以及所述从芯片1230的接收参数和发送参数。
作为本申请一个实施例,在执行完所述第N次链路均衡之后,系统软件1210还用于:清除所述第一快速均衡超时时间。
作为本申请一个实施例,系统软件1210还用于:在确定需要执行第N+b次链路均衡的情况下,配置第二快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片1220和所述从芯片1230根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡。其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片1220和所述从芯片1230在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
值得注意的是,上述的装置、芯片以及通信系统均可以参见方法实施例中的有关描述。由于本申请保护的主体之间具有单一性,因此这些主体的描述部分有很多相同或相似的部分,为了节约篇幅,本申请文件中对方法实施例做了全面丰富的描述,其他实施例均比较简约。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (38)
1.一种快速均衡的方法,其特征在于,包括:
存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
在确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值;
根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
2.如权利要求1所述的方法,其特征在于,调用所述第一均衡参数,以使所述主芯片和所述从芯片根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,具体是指:
调用与执行所述第N次链路均衡所要达到的速率对应且位于所述第一均衡参数中的参数,以使所述主芯片和所述从芯片根据与执行所述第N次链路均衡所要达到的速率对应且位于所述第一均衡参数中的参数和所述第一快速均衡超时时间,执行所述第N次链路均衡。
3.如权利要求1或2所述的方法,其特征在于,在所述根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间之前,所述方法还包括:
确定所述主芯片是否支持快速均衡;
以及,确定所述从芯片是否支持所述快速均衡;
相应的,所述配置第一快速均衡超时时间,具体包括:
在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
4.如权利要求3所述的方法,其特征在于,所述确定所述主芯片是否支持快速均衡,具体包括:
在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
5.如权利要求4所述的方法,其特征在于,所述确定所述从芯片是否支持所述快速均衡,具体包括:
在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
6.如权利要求4或5所述的方法,其特征在于,所述方法还包括:
存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
7.如权利要求4或5所述的方法,其特征在于,在执行完所述第N次链路均衡之后,所述方法还包括:
清除所述第一快速均衡超时时间。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
在确定需要执行第N+b次链路均衡的情况下,配置第二快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡,其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
9.如权利要求8所述的方法,其特征在于,所述主芯片和所述从芯片之间通过外围组件快速互连PCIe总线或者加速器的高速互连内存一致性CCIX总线连通。
10.如权利要求8或9所述的方法,其特征在于,所述需要执行第N次链路均衡的情况包括由操作系统触发的热重置和链路重训练。
11.如权利要求8或9所述的方法,其特征在于,所述主芯片的初始均衡超时时间是根据所述主芯片支持的物理层PHY能力确定的,或者,所述从芯片的初始均衡超时时间是根据所述从芯片支持的PHY能力确定的。
12.一种快速均衡的装置,其特征在于,包括:
管理器,用于存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
收发器,在所述管理器确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值;
所述管理器还用于,根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
13.如权利要求12所述的装置,其特征在于,
所述管理器具体用于,调用与执行所述第N次链路均衡所要达到的速率对应且位于所述第一均衡参数中的参数,以使所述主芯片和所述从芯片根据与执行所述第N次链路均衡所要达到的速率对应且位于所述第一均衡参数中的参数和所述第一快速均衡超时时间,执行所述第N次链路均衡。
14.如权利要求12或13所述的装置,其特征在于,
所述管理器还用于,确定所述主芯片是否支持快速均衡,以及,确定所述从芯片是否支持所述快速均衡;
相应的,所述管理器还用于配置所述配置第一快速均衡超时时间,具体包括:
在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
15.如权利要求14所述的装置,其特征在于,所述管理器还用于确定所述主芯片是否支持快速均衡,具体包括:
在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
16.如权利要求15所述的装置,其特征在于,所述管理器还用于确定所述从芯片是否支持所述快速均衡,具体包括:
在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
17.如权利要求15或16所述的装置,其特征在于,
所述管理器还用于,存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
18.如权利要求15或16所述的装置,其特征在于,
在执行完所述第N次链路均衡之后,所述管理器还用于,清除所述第一快速均衡超时时间。
19.如权利要求17所述的装置,其特征在于,
所述管理器还用于,在确定需要执行第N+b次链路均衡的情况下,配置第二所述快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡,其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
20.一种快速均衡的装置,其特征在于,包括:
存储单元,用于存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
读取单元,用于在确定单元确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值;
配置调用单元,用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
21.如权利要求20所述的装置,其特征在于,
所述配置调用单元具体用于,调用与执行所述第N次链路均衡所要达到的速率对应且位于所述第一均衡参数中的参数,以使所述主芯片和所述从芯片根据与执行所述第N次链路均衡所要达到的速率对应且位于所述第一均衡参数中的参数和所述第一快速均衡超时时间,执行所述第N次链路均衡。
22.如权利要求20或21所述的装置,其特征在于,
所述确定单元还用于,确定所述主芯片是否支持快速均衡,以及,确定所述从芯片是否支持所述快速均衡;
相应的,所述配置调用单元用于根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,具体包括:
在所述主芯片和所述从芯片均支持所述快速均衡的情况下,配置所述第一快速均衡超时时间。
23.如权利要求22所述的装置,其特征在于,所述确定单元还用于确定所述主芯片是否支持快速均衡,具体包括:
在所述主芯片的初始快速均衡超时时间不为0时,确定所述主芯片支持所述快速均衡。
24.如权利要求23所述的装置,其特征在于,所述确定单元还用于确定所述从芯片是否支持所述快速均衡,具体包括:
在所述从芯片的初始快速均衡超时时间不为0时,确定所述从芯片支持所述快速均衡。
25.如权利要求23或24所述的装置,其特征在于,
所述存储单元还用于,存储所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数,所述第二均衡参数包括所述主芯片的接收参数和发送参数,以及所述从芯片的接收参数和发送参数。
26.如权利要求23或24所述的装置,其特征在于,
在执行完所述第N次链路均衡之后,所述配置调用单元还用于,清除所述第一快速均衡超时时间。
27.如权利要求25所述的装置,其特征在于,
所述配置调用单元还用于,在所述确定单元确定需要执行第N+b次链路均衡的情况下,配置第二快速均衡超时时间,并且调用所述第二均衡参数,以使所述主芯片和所述从芯片根据所述第二快速均衡超时时间和所述第二均衡参数执行所述第N+b次链路均衡,其中,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同,b≥1,且b为整数。
28.一种芯片,其特征在于,包括:
收发器,用于发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一均衡参数为第N-a次执行链路均衡时得到的满足链路稳定性要求的参数,所述第一均衡参数包括所述芯片的接收参数和发送参数,以及对端芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
第一寄存器,用于存储所述芯片的初始快速均衡超时时间,所述芯片的初始快速均衡超时时间小于或者等于所述芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述芯片的初始快速均衡超时时间为器件宣称值,所述第N-a次执行链路均衡时,所述芯片在均衡的第四阶段的均衡超时时间是硬件初始化值;
所述收发器还用于,发送所述芯片的初始快速均衡超时时间,以及接收第一快速均衡超时时间和所述第一均衡参数,所述第一快速均衡超时时间为所述芯片的初始快速均衡超时时间和所述对端芯片的初始快速均衡超时时间中的较大者,所述对端芯片的初始快速均衡超时时间小于或者等于所述对端芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述第N-a次执行链路均衡时,所述对端芯片在均衡的第三阶段的均衡超时时间是硬件初始化值,所述对端芯片的初始快速均衡超时时间为器件宣称值;
管理器,用于在第二寄存器中设置所述第一均衡参数,以及在第三寄存器中设置所述第一快速均衡超时时间;
所述管理器,还用于在所述收发器接收到第一链路修复指示信息时,根据所述第一快速均衡超时时间和所述第一均衡参数,执行第N次链路均衡,其中,所述第一链路修复指示信息用于触发所述第N次链路均衡,所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
29.如权利要求28所述的芯片,其特征在于,
所述管理器具体用于,根据与执行所述第N次链路均衡所要达到的速率对应且位于所述第一均衡参数中的参数和所述第一快速均衡超时时间,执行所述第N次链路均衡。
30.如权利要求28或29所述的芯片,其特征在于,
所述收发器还用于,发送所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二均衡参数包括所述芯片的接收参数和发送参数,以及所述对端芯片的接收参数和发送参数。
31.如权利要求28或29所述的芯片,其特征在于,
在执行完所述第N次链路均衡之后,所述收发器还用于,接收清除指示信息,所述清除指示信息用于清除所述第一快速均衡超时时间;
所述管理器还用于,根据所述清除指示信息,清除所述第一快速均衡超时时间。
32.如权利要求30所述的芯片,其特征在于,
所述收发器还用于,接收第二快速均衡超时时间和所述第二均衡参数,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同;
所述管理器还用于,在所述第二寄存器中设置所述第二均衡参数,以及在所述第三寄存器设置所述第二快速均衡超时时间;
所述管理器还用于,在所述收发器接收到第二链路修复指示信息时,根据所述第二快速均衡超时时间和所述第二均衡参数,执行第N+b次链路均衡,其中,所述第二链路修复指示信息用于触发所述第N+b次链路均衡,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,b≥1,且b为整数。
33.一种芯片,其特征在于,包括:
收发器,用于发送第一均衡参数或者所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一均衡参数为第N-a次执行链路均衡时得到的满足链路稳定性要求的参数,所述第一均衡参数包括所述芯片的接收参数和发送参数,以及对端芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
第一寄存器,用于存储所述芯片的初始快速均衡超时时间,所述芯片的初始快速均衡超时时间小于或者等于所述芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述芯片的初始快速均衡超时时间为器件宣称值,所述第N-a次执行链路均衡时,所述芯片在均衡的第三阶段的均衡超时时间是硬件初始化值;
所述收发器还用于,发送所述芯片的初始快速均衡超时时间,以及接收第一快速均衡超时时间和所述第一均衡参数中所述芯片的接收参数和发送参数,所述第一快速均衡超时时间为所述芯片的初始快速均衡超时时间和所述对端芯片的初始快速均衡超时时间中的较大者,所述对端芯片的初始快速均衡超时时间小于或者等于所述对端芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述第N-a次执行链路均衡时,所述对端芯片在均衡的第四阶段的均衡超时时间是硬件初始化值,所述对端芯片的初始快速均衡超时时间为器件宣称值;
管理器,用于在第二寄存器中设置所述第一均衡参数中所述芯片的接收参数和发送参数,以及在第三寄存器中设置所述第一快速均衡超时时间;
所述管理器,还用于在所述收发器接收到第一链路修复指示信息时,根据所述第一快速均衡超时时间和所述第一均衡参数中所述芯片的接收参数和发送参数,执行第N次链路均衡,其中,所述第一链路修复指示信息用于触发所述第N次链路均衡,所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
34.如权利要求33所述的芯片,其特征在于,
所述管理器具体用于,根据与执行所述第N次链路均衡所要达到的速率对应且位于所述第一均衡参数中的参数和所述第一快速均衡超时时间,执行所述第N次链路均衡。
35.如权利要求33或34所述的芯片,其特征在于,
所述收发器还用于,发送所述第N次执行链路均衡时得到的满足链路稳定性要求的第二均衡参数或者所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二均衡参数包括所述芯片的接收参数和发送参数,以及所述对端芯片的接收参数和发送参数。
36.如权利要求33或34所述的芯片,其特征在于,
在执行完所述第N次链路均衡之后,所述收发器还用于,接收清除指示信息,所述清除指示信息用于清除所述第一快速均衡超时时间;
所述管理器还用于,根据所述清除指示信息,清除所述第一快速均衡超时时间。
37.如权利要求35所述的芯片,其特征在于,
所述收发器还用于,接收第二快速均衡超时时间和所述第二均衡参数中所述芯片的接收参数和发送参数,所述第二快速均衡超时时间与所述第一快速均衡超时时间相同;
所述管理器还用于,在所述第二寄存器中设置所述第二均衡参数中所述芯片的接收参数和发送参数,以及在所述第三寄存器设置所述第二快速均衡超时时间;
所述管理器还用于,在所述收发器接收到第二链路修复指示信息时,根据所述第二快速均衡超时时间和所述第二均衡参数中所述芯片的接收参数和发送参数,执行第N+b次链路均衡,其中,所述第二链路修复指示信息用于触发所述第N+b次链路均衡,所述第二快速均衡超时时间为在执行所述第N+b次链路均衡时,所述芯片和所述对端芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间,b≥1,且b为整数。
38.一种通信系统,其特征在于,包括系统软件、主芯片和从芯片,所述主芯片为如权利要求28至32中任一项所述的芯片,所述从芯片为如权利要求33至37中任一项所述的芯片,所述主芯片和所述从芯片之间通过外围组件快速互连PCIe总线或者加速器的高速互连内存一致性CCIX总线连通;
所述系统软件用于:
存储第N-a次执行链路均衡时得到的满足链路稳定性要求的第一均衡参数,所述第一均衡参数包括主芯片的接收参数和发送参数,以及从芯片的接收参数和发送参数,N≥2,1≤a<N,且a和N均为整数;
在确定需要执行第N次链路均衡的情况下,读取所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间,所述主芯片的初始快速均衡超时时间小于或者等于所述主芯片在所述第N-a次执行链路均衡时,在均衡的第四阶段的均衡超时时间,所述从芯片的初始快速均衡超时时间小于或者等于所述从芯片在所述第N-a次执行链路均衡时,在均衡的第三阶段的均衡超时时间,所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间均是器件宣称值,所述第N-a次执行链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间均是硬件初始化值;
根据所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间配置第一快速均衡超时时间,并且调用所述第一均衡参数,以使所述主芯片和所述从芯片根据所述第一快速均衡超时时间和所述第一均衡参数执行所述第N次链路均衡,其中,第一快速均衡超时时间为所述主芯片的初始快速均衡超时时间和所述从芯片的初始快速均衡超时时间中的较大者,且所述第一快速均衡超时时间为在执行所述第N次链路均衡时,所述主芯片和所述从芯片在均衡的第三阶段的均衡超时时间和第四阶段的均衡超时时间。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/081635 WO2019242376A1 (zh) | 2018-06-19 | 2019-04-06 | 快速均衡的方法、芯片和通信系统 |
EP19822954.4A EP3779708B1 (en) | 2018-06-19 | 2019-04-06 | Method for fast balancing, chips, and communication system |
US17/100,033 US11496340B2 (en) | 2018-06-19 | 2020-11-20 | Fast equalization method, chip, and communications system |
US17/959,490 US11799697B2 (en) | 2018-06-19 | 2022-10-04 | Fast equalization method, chip, and communications system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018106294238 | 2018-06-19 | ||
CN201810629423 | 2018-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109376103A CN109376103A (zh) | 2019-02-22 |
CN109376103B true CN109376103B (zh) | 2021-10-19 |
Family
ID=65403987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810942481.6A Active CN109376103B (zh) | 2018-06-19 | 2018-08-17 | 快速均衡的方法、芯片和通信系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11496340B2 (zh) |
EP (1) | EP3779708B1 (zh) |
CN (1) | CN109376103B (zh) |
WO (1) | WO2019242376A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376103B (zh) * | 2018-06-19 | 2021-10-19 | 华为技术有限公司 | 快速均衡的方法、芯片和通信系统 |
US11863357B2 (en) * | 2019-11-29 | 2024-01-02 | Intel Corporation | Communication link re-training |
CN113742273B (zh) * | 2020-05-30 | 2023-10-20 | 华为技术有限公司 | 一种均衡训练方法、装置及系统 |
JP2021197583A (ja) * | 2020-06-10 | 2021-12-27 | キオクシア株式会社 | 電子機器および方法 |
CN112631688A (zh) * | 2020-12-30 | 2021-04-09 | 海光信息技术股份有限公司 | PCIe链路快速启动方法及装置 |
CN113064648B (zh) * | 2021-03-26 | 2023-03-17 | 山东英信计算机技术有限公司 | 一种链路均衡游标系数配置系统、方法及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050138A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 用于执行链路训练与均衡的装置、系统、和方法 |
CN104050136A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 用于改进与硬件驱动的算法的均衡的装置、系统、以及方法 |
CN107636620A (zh) * | 2014-09-26 | 2018-01-26 | 英特尔公司 | 基于运行时间性能特性的链路再训练 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299038B2 (en) * | 2003-04-30 | 2007-11-20 | Harris Corporation | Predictive routing including the use of fuzzy logic in a mobile ad hoc network |
US8335207B2 (en) * | 2005-12-30 | 2012-12-18 | Samsung Electronics Co., Ltd. | Link mobility tracking and its application to mobile ad hoc networks |
US8301813B2 (en) * | 2009-12-24 | 2012-10-30 | Ati Technologies Ulc | Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol |
US8949497B2 (en) * | 2011-08-24 | 2015-02-03 | Nvidia Corporation | Method and apparatus for interleaving bursts of high-speed serial interconnect link training with bus data transactions |
US9847891B2 (en) * | 2011-08-24 | 2017-12-19 | Nvidia Corporation | System and method for detecting reuse of an existing known high-speed serial interconnect link |
CN102662896B (zh) * | 2012-03-30 | 2015-06-03 | 中兴通讯股份有限公司 | 自动调整预加重参数和/或均衡参数的方法及装置 |
US8856573B2 (en) * | 2012-06-27 | 2014-10-07 | Intel Corporation | Setting a number (N) of fast training sequences (FTS) automatically to an optimal value |
US9886402B2 (en) * | 2012-12-20 | 2018-02-06 | Nvidia Corporation | Equalization coefficient search algorithm |
US10536861B2 (en) * | 2013-04-19 | 2020-01-14 | Linear Technology Corporation | Monitoring of channel stability and interference in wireless networks |
US11860812B2 (en) * | 2017-08-22 | 2024-01-02 | Intel Corporation | Serdes link training |
CN109376103B (zh) * | 2018-06-19 | 2021-10-19 | 华为技术有限公司 | 快速均衡的方法、芯片和通信系统 |
-
2018
- 2018-08-17 CN CN201810942481.6A patent/CN109376103B/zh active Active
-
2019
- 2019-04-06 WO PCT/CN2019/081635 patent/WO2019242376A1/zh unknown
- 2019-04-06 EP EP19822954.4A patent/EP3779708B1/en active Active
-
2020
- 2020-11-20 US US17/100,033 patent/US11496340B2/en active Active
-
2022
- 2022-10-04 US US17/959,490 patent/US11799697B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050138A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 用于执行链路训练与均衡的装置、系统、和方法 |
CN104050136A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 用于改进与硬件驱动的算法的均衡的装置、系统、以及方法 |
CN107636620A (zh) * | 2014-09-26 | 2018-01-26 | 英特尔公司 | 基于运行时间性能特性的链路再训练 |
Also Published As
Publication number | Publication date |
---|---|
EP3779708B1 (en) | 2024-03-20 |
EP3779708A4 (en) | 2021-04-28 |
US20210075647A1 (en) | 2021-03-11 |
CN109376103A (zh) | 2019-02-22 |
US11496340B2 (en) | 2022-11-08 |
US11799697B2 (en) | 2023-10-24 |
US20230094563A1 (en) | 2023-03-30 |
EP3779708A1 (en) | 2021-02-17 |
WO2019242376A1 (zh) | 2019-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376103B (zh) | 快速均衡的方法、芯片和通信系统 | |
JP4370222B2 (ja) | 不良のレーンを特定し、リンクを通じて接続された2つのcsiエージェントの幅の容量を交換するための方法 | |
US11921660B2 (en) | Equalization time configuration method, chip, and communications system | |
US9081705B2 (en) | Methods and apparatus for reliable detection and enumeration of devices | |
US20070233930A1 (en) | System and method of resizing PCI Express bus widths on-demand | |
US20110185163A1 (en) | Multi-root pci express switch, boot method thereof, and multi-root pci manager program | |
EP2257880A2 (en) | System and method for transforming pcie sr-iov functions to appear as legacy functions | |
WO2005083937A1 (en) | Generating topology information identifying devices in a network topology | |
US20200394076A1 (en) | Information Handling System And Method To Allocate Peripheral Component Interconnect Express (PCIE) Bus Resources | |
US11921652B2 (en) | Method, apparatus and system for device transparent grouping of devices on a bus | |
CN113742273B (zh) | 一种均衡训练方法、装置及系统 | |
US11288223B2 (en) | Bridge chip with function of expanding external devices and associated expansion method | |
JP4160068B2 (ja) | ベースバンドプロセッサと無線周波数集積モジュールとの間のデジタルプログラミングインターフェース | |
US10169281B2 (en) | Switch system and operation method thereof | |
WO2023155363A1 (zh) | 服务器动态热备份的方法、装置、设备及存储介质 | |
KR20220158517A (ko) | PCIe 장치 및 이를 포함하는 컴퓨팅 시스템 | |
KR101815961B1 (ko) | Spi 인터페이스 장치 및 이를 이용한 통신 방법 | |
TWI719883B (zh) | 電子裝置以及初始化方法 | |
US20230315591A1 (en) | PCIe DEVICE AND COMPUTING SYSTEM INCLUDING THE SAME | |
CN117370232A (zh) | 具有多个端口的接口装置及其操作方法 | |
CN116893997A (zh) | 接口设备和包括该接口设备的计算系统 | |
KR20110042940A (ko) | Mac-phy인터페이스와 그의 동작 방법 |
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 |