CN110321255B - 用以检查缆线错误的方法及系统 - Google Patents

用以检查缆线错误的方法及系统 Download PDF

Info

Publication number
CN110321255B
CN110321255B CN201811323405.3A CN201811323405A CN110321255B CN 110321255 B CN110321255 B CN 110321255B CN 201811323405 A CN201811323405 A CN 201811323405A CN 110321255 B CN110321255 B CN 110321255B
Authority
CN
China
Prior art keywords
host server
width
expected
speed
ports
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
CN201811323405.3A
Other languages
English (en)
Other versions
CN110321255A (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.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
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 Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of CN110321255A publication Critical patent/CN110321255A/zh
Application granted granted Critical
Publication of CN110321255B publication Critical patent/CN110321255B/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2012Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant and using different communication protocols
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种用以确保主机服务器与交换机之间串联连接效率的系统。架构交换机具有与串联连接相关的数个上游端口。架构控制器耦接于交换机。主机服务器包括基本输入输出系统及一管理控制器。主机伺服器具有数个通过数个缆线耦接至数个串联链端口的端口,以形成串联连接的数个通道。存储器可由控制器及管理控制器存取。管理控制器从存储器读取串联连接的预期速度及预期宽度。基本输入输出系统判断串联连接的实际速度及实际宽度。若实际速度或实际宽度与预期速度或预期宽度不匹配,则管理控制器发送错误信息。

Description

用以检查缆线错误的方法及系统
技术领域
本发明是有关于一种检查架构卡(fabric card)上的装置的连接错误,且特别是有关于一种使用用以比较预期连接数据与实际速连接数据的一共同存储器,以识别一交换机的数个端口与一主机的数个端口之间的错误缆线连接。
背景技术
用于计算应用程序的云端的出现增加了非现场(off-site)安装的需求,如已知数据中心(data center),其储存数据且执行由在远程连接的计算机装置用户所存取的应用程序。此数据中心通常具有大量的服务器(server)、交换机(switch)及储存装置以储存及管理数据。典型的数据中心具有物理机架结构,具有伴随的电源及通讯连接。机架在数据中心的整个房间或数个房间中成排布置。每个机架包括框架,此框架在两个侧壁之间具有插槽(slot)或底盘(classis)。这些插槽可以容纳多个网络装置(network device),例如服务器、交换机及储存装置。在现代数据中心中有许多这种网络设备堆栈在这种机架结构中。例如,一些数据中心拥有数万台服务器、数个伴随的储存装置及数个网络交换机。因此,典型数据中心可包括数万甚至数十万个装置于数百或数千个单独机架中。
为了有效地分配资源,数据中心包括一共享配置(pooled arrangement)中的许多不同类型的装置。随着对资源的需求的出现,可以将这种共享装置可分配给不同的主机服务器。这样的装置可通过装置和主机服务器之间的外围组件交互连接协议(PeripheralComponent Interconnect Express,PCIe)连接,此连接可以由PCIe型交换机致动。
因此,现在许多现代数据中心支持数个具有许多共享装置的分解式结构或解集结构(disaggregate architecture)。图1A绘示一例子的一数据中心10。系统管理员可以存取组合器应用程序(composer application)12,其允许配置数据经由路由器(route)14发送到PCIe架构盒(fabric box)20。架构盒20包括许多串联扩展总线装置(serial expansionbus devices),例如,可被数据中心的其它装置存取的PCIe兼容装置。在此例子中,PCIe架构盒20包括一架构控制器(fabric controller)22,其可以通过网络从路由器14接收配置数据。架构盒20包括PCIe交换机,例如PCIe交换机24及26,其允许主机服务器,例如是主机服务器30、32、34及36与架构盒20中不同的PCIe装置连接。PCIe交换机24包括上游端口40及42,且PCIe交换机26包括上游端口44及46。上游端口40、42、44及46通过缆线(cable)与主机服务器30、32、34及36连接。PCIe交换机24还包括下游端口50、52、54及56。PCIe交换机26包括下游端口60、62、64及66。在此例子中,架构盒20有许多耦接于交换机24及26的对应的数个下游端口的装置。此些装置可被主机服务器30、32、34及36的任一者存取。
如图1A所示,两个主机服务器30和32直接耦接于交换机24的上游端口40及42,而两个主机服务器34及36直接耦接于交换机26的上游端口44及46。在此例子中,装置70、72、74及76直接耦接于PCIe交换机24的下游端口50、52、54及56。装置80、82、84、86直接耦接于PCIe交换机26的下游端口60、62、64及66。藉由增加PCIe交换机可支持额外的装置及主机服务器。例如,系统10允许某些系统资源从主机服务器上移除,而改以外部共享装置盒20取代。因此,不同种类的系统资源可依据不同服务器的需要配置。例如,装置70、72、74、76、80、82、84及86各可以为一例如是非易失性存储器(non-volatile memory,NVMe)、图形处理单元(graphic processing unit,GPU)、现场可编程门阵列(field programmable gatearray,FPGA)、网络接口卡(network interface card,NIC)或其它种类的PCIe兼容装置的资源。各装置可动态地分配给主机,例如主机服务器30、32、34及36。
主机服务器与架构盒之间的主要接口典型来说是一PCIe标准。在图1A中,来自两个PCIe交换机24及26的四个PCIe连接各自支持四个PCIe通道(lane)的一者。每个PCIe信道因此可被分配给主机服务器30、32、34与36中的一者。然而,可使用不同实施方式通过增加主机服务器与架构盒之间最大数据交换来提高性能。例如,一个连接可支持四个PCIe通道;两个连接可支持八个PCIe通道;或,四个连接可支持八个PCIe通道。连接支持的通道数量取决于所使用的架构盒的性能要求。一般来说,通道数量愈越多(连接宽度愈大),因此可实现更高的传输速度。
图1B绘示具有一连接支持四个PCIe信道的主机接口的架构盒100。图1B中与图1A相同的装置及主机服务器组件具有相同组件标号。架构盒100具有单个PCIe交换机102,其具有四个连接于主机交换机30、32、34及36的通道。单个PCIe交换机102具有数个下游端口110a~110h,其连接于装置70、72、74、76、80、82、84及86。单个PCIe交换机102具有连接到不同主机服务器30、32、34及36的上游端口120、122、124及126。因为每个主机服务器30、32、34与36只须一条缆线连接于PCIe交换机102,因此架构盒100的布线(Cabling)是相对直接的(straight forward)。
图1C绘示具有两个PCIe连接支持八个PCIe信道的主机接口的架构盒130。图1C中装置及主机服务器组件与图1A相同组件具有相同标号。架构盒130包括两个PCIe交换机132及134。PCIe交换机132包括数个分别连接到装置70、72、74及76的下游端口136a~136d。PCIe交换机134包括数个分别连接到装置80、82、84及86的下游端口138a~138d。在此例子中,交换机132包括分别耦合到主机服务器30及32的二上游连接140及142。交换机134包括分别耦接于主机服务器34及36的二上游连接144及146。每个上游连接140、142、144及146包括二信道,其中各信道经由一缆线。因此,各通道有一条缆线连接个别的上游连接于主机服务器的数个端口。
图1D绘示具有四个PCIe连接支持六个PCIe信道的主机接口的架构盒150。图1D中装置及主机服务器组件与图1A相同组件具有相同标号。架构盒150包括二PCIe交换机152及154。PCIe交换机152包括分别连接到装置70、72、74及76的下游端口156a~156d。PCIe交换机154包括分别连接到装置80、82、84及86的下游端口158a~158d。在此例子中,交换机152包括分别耦接到主机服务器30及32的两个上游连接160及162。交换机154包括分别耦接到主机服务器34及36的两个上游连接16 4及166。每个上游连接160、162、164及166包括四个通道。因此,各通道有一条缆线连接个别的上游连接于主机服务器的数个端口。
对于较大的配置,例如在八个信道或是十六个信道中出现多个连接的配置,每个连接需要多条缆线。缆线顺序非常重要,以便交换机与主机服务器之间的PCIe物理连接成功配置以最大化连接速度。例如,在一主机伺服器具有四个各为PCIe通道的端口的例子中,缆线应按相同顺序依序连接到PCIe交换机上相应的上游端口。第2A图是图1D中的交换机152及主机服务器30之间的交换机连接的示意图。
如图2A所示,PCIe连接160具有四个信道,其包括一系列四个缆线170、172、174及176,其分别连接交换机152的四个上游端口180、182、184及186。缆线170、172、174及176的另一端连接到主机服务器30的端口190、192、194及196。因此,交换机152及主机服务器30上的端口群以相同顺序连接。当使用所有四个信道,这样的配置允许PCIe连接160有最大速度。
然而,当缆线170、172、174及176错接(misconnected)时,会影响连接的所有连接。图2B是图1D中的系统的特写图(close up view),其中与端口192连接的缆线172与PCIe交换机152的上游端口184错接。与端口194连接的缆线174也与PCIe交换机152的上游端口182。此改变数个端口顺序的错接为一错误架构,其导致连接的PCIe速度从四个信道下降至一个信道。
对于具有多个通道的某些PCIe连接配置的较大数量缆线,这样错误连接的可能性愈来愈高。图2B绘示一种用户以错误顺序连接数条缆线的相对常见事件,当一PCIe连接群使用多条缆线时,导致PCIe速度降级。目前,没有现成方法来通知数据中心运营商发生了缆线配置错误,因此可能发生一分配的装置与主机服务器之间的错误通讯。
因此,需要识别PCIe连接的多信道配置中的连接,也需要自动检测共享资源盒与主机服务器之间的缆线的错误连接,更需要训练主机服务器装置以检测连接速度的意外降低,进而指示缆线错误连接。
发明内容
本发明一实施例提出一种用以确保一主机服务器与一架构交换机之间串联连接(serial link)效率的系统。架构交换机具有与一串联连接相关的数个上游端口(upstreamport)。主机服务器包括一基本输入输出系统(Basic Input/Output System,BIOS)及一管理控制器(management controller)。主机伺服器具有数个通过数个缆线(cable)耦接至数个上游端口(upstream port)的端口,以形成串联连接的数个通道(lane)。存储器可由管理控制器存取。管理控制器从存储器读取串联连接的一预期速度及一预期宽度。基本输入输出系统判断串联连接的一实际速度及一实际宽度。若实际速度或实际宽度与预期速度或预期宽度不匹配,则管理控制器发送一错误信息。
本发明另一实施例提出一种判断一主机服务器与一架构交换机之间的一串联连接的数个适当连接的方法。串联连接具有主机服务器的数个端口与架构交换机的数个上游端口之间的数个通道。通过数个缆线,连接主机服务器的此些端口与架构交换机的此些上游端口。储存串联连接的预期速度及一预期宽度于一存储器,其中存储器可被主机服务器存取。通过主机服务器读取串联连接的预期速度及预期宽度。通过主机服务器判断串联连接的实际速度及一实际宽度。比较预期速度及预期宽度与实际速度及实际宽度。若实际速度或实际宽度不同于预期速度或预期宽度,通过主机服务器产生一错误信息。
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合所附图式详细说明如下:
附图说明
为了描述可以获得本公开上述和其他优点和特征的方式,将通过参考附图中示出的特定示例来呈现上述原理的更具体描述。这些附图仅描绘本公开的示例方面,因此不应被视为对其范围的限制。通过使用以下附图,以附加的特征和细节来描述和解释这些原理。
图1A至1D绘示已知的架构盒及不同的PCIe连接与信道架构的功能方块图。
图2A绘示图1D的多台服务器中的一个的多个PCIe通道中的一个连接于构造盒的一交换机且为正确缆线配置的示意图。
图2B绘示图1D的多台服务器中的一个的多个PCIe通道中的一个连接于构造盒的一交换机且为导致信道速度下降的不正确缆线配置的示意图。
图3绘示检测一表示错误缆线的速度不足的构造盒与主机服务器的系统示意图。
图4绘示以判断缆线是否错误连接为目的的连接速度判断流程图。
附图标记列表
10、200:系统
12:存取组合器应用程序
14:路由器
20、100、210:架构盒
24、26、102、132、134、216:PCIe交换机
30、32、34、36、202:主机服务器
40、42、44、46、120、122、124、126、240、242、244、246:上游端口
50、52、54、56、60、62、64、66、110a~110h、136a~136d、156a~156d、158a~158d、230、232、234、236:下游端口
70、72、74、76、80、82、84、86:装置
140、142、160、162:上游连接
214:电子抹除式可复写只读存储器
212:架构控制器
220、222、224、226:PCIe兼容装置
250、252、254、256:缆线
262:基板管理控制器
264:基本输入输出系统
266:I2C总线
268:PCIe根接口
270、272、274、276:端口
280:预定义信息
400~422:方块
具体实施方式
本发明可以以许多不同的形式实施。代表性实施例在附图中示出,并且将在本文中详细描述。本公开是本公开的原理的示例或说明,并且不旨在将本公开的广泛方面限制于所示的实施例。在这种程度上,例如在摘要,发明内容和具体实施方式部分中公开但未在权利要求中明确阐述的要素和限制不应通过暗示,推理单独地或共同地并入权利要求中。或者其他。出于本详细描述的目的,除非特别声明,否则单数包括复数,反之亦然;并且“包括”一词意味着“包括但不限于”。此外,近似的词,例如“约”,“几乎”,“基本上”,“近似”等,在本文中可用于表示“at,”,例如,“接近”,“接近”或“接近制造公差”或“在可接受的制造公差范围内”,或其任何逻辑组合。根据本公开的网络系统可以包括数据中心、服务器装置和储存装置。数据中心可以包括系统管理软件。服务器装置可以连接到数据中心。服务器装置可以包括BMC,BMC被配置为与数据中心的系统管理软件通信。储存装置可以包括至少一个缆线端口,缆线端口被配置为接收将储存装置连接到服务器装置的储存器缆线。缆线端口可包括非易失性存储器、指示灯和I2C总线。
图3绘示用于将装置资源分配给不同主机的系统200的方块图。系统200包括耦接到PCIe架构盒210的主机服务器202。PCIe架构盒210包括数个串联扩展总线装置(serialexpansion bus device),例如可由主机服务器202存取的PCIe兼容装置,或数据中心内的其它装置。在实施例中,每个主机服务器,如主机服务器202具有PCIe连接,此PCIe连接具有数个通道(lane)连接至PCIe架构盒210。多个信道由主机服务器202的数个端口与PCIe架构盒210之间的缆线连接而建立。随着连接数量的增加,通道数量随之增加,且端口之间的缆线错误连接的可能性也增加。这种错误连接将降低主机服务器与PCIe架构盒210之间的一连接或多个连接的操作性。系统200允许此种错误连接的检测。系统200将警告系统管理员,因此可以纠正错误连接。
在本实施例中,PCIe架构盒210包括架构控制器212,其可监督架构盒210中装置资源到主机服务器,例如主机服务器202的连接。尽管仅绘示出一个主机服务器202,然可以有多个连接到PCIe架构盒210的主机服务器,其中PCIe架构盒210可存取PCIe兼容装置。
架构盒210包括一记忆装置,如电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)214。或者,也可以使用架构控制器212中的内部存储器。在本实施例中,架构控制器212执行一控制应用程序,以使用PCIe交换机216分配多个装置连接至多个主机服务器,如主机服务器202。架构盒210可读取EEPROM214中的数据并且可将数据写入到EEPROM 214。在本实施例中,PCIe兼容装置220、222、224及226耦接到PCIe交换机216的相应下游端口230、232、234及236。PCIe兼容装置220、222、224及226可包括非易失性存储器(non-volatile memory,NVMe)、图形处理单元(graphicprocessing unit,GPU)、现场可编程门阵列(field programmable gate array,FPGA)、网络接口卡(network interface card,NIC)、独立磁盘冗余数组(redundant array ofindependent disks,RAID)、I-IBA卡(I-IBA card)或其它种类的PCIe兼容装置。
由于PCIe交换机216是一种PCIe装置,不同的上游端口240、242、244及246可各自形成具有四个通道的单个PCIe连接。一系列四根缆线250、252、254及256的一端连接到上游端口240、242、244及246。如下述,四根缆线250、252、254及256提供一位于架构盒210与主机服务器202之间的PCIe连接的四根通道。每个通道可以具有多于一根缆线以增加通道的带宽(bandwidth)。更高容量的缆线可允许一根缆线配置给多个信道。PCIe交换机216可具有可额外端口口以配置成额外PCIe连接。于一实施例中,可提供具有类似PCIe交换机216的额外PCIe交换机,其允许在架构盒210中具有可变宽度通道的额外连接。
主机服务器202包括一基板管理控制器(baseboard management controller,BMC)262及一基本输入输出系统(Basic Input/Output System,BIOS)264。BMC 262经由IC间)总线(Inter-Integrated Circuit,I2C 266耦接到EEPROM 214和架构控制器212。I2C总线266可以将架构盒210连接到主机服务器202的独立缆线,或者它可以是缆线250、252、254与256之一的未使用线(unused line)。因此,BMC 262可以读取数据。如果使用架构控制器212的内部存储器代替EEPROM 214,则BMC 262可以读取存储在内部存储器中的数据。主机服务器202包括PCIe根接口(root interface)268。PCIe根接口268包括连接缆线250、252、254与256的另一端的端口270、272、274及276。在本实施例中,主机服务器202和交换机216可以具有多个其他端口,用于彼此或其它装置的其它连接的额外通道。由缆线250、252、254及256形成的PCIe连接允许主机服务器202存取架构盒210的装置220、222、224及226。例如,如果主机服务器202需要额外的图形处理,则装置220、222、224与226中一者可以是图形处理单元,其可以由主机服务器通过PCIe交换机216以及一些或全部缆线250、252、254及256存取。必须以端口的正确顺序连接250、252、254及256,以能够使用所有相应的通道来确保PCIe连接连接的最大效率。
主机服务器202的BMC 262与架构控制器212之间的I2C总线266允许BMC 262及架构控制器212共享EEPROM 214。因此,PCIe架构盒210的EEPROM 214上的数据可以由主机服务器202的BMC 262及PCIe架构盒210的架构控制器212存取。架构控制器212将硬件相关的预定义信息(pre-defined information)280编程到EEPROM 214。在本实施例中,预定义信息280包括主机服务器202与架构盒210之间连接的预期连接速度(expected link speed)及连接群组宽度(link group width)。本实施例的预期连接速度可来自诸如PCIe Gen 1、Gen 2、Gen 3或Gen 4的标准协议,或PCIe标准的新版本速度。或者,可以使用其它协议。在本实施例中的连接群组宽度是连接的通道数,其可以是4或8或16或更多通道。连接宽度由系统中硬件的初始配置决定。在本实施例中,各信道由主机服务器202的多个端口与架构盒210之间的缆线连接而形成。
在连接I2C总线266时,BMC 262检测EEPROM 214并判断PCIe架构连接到主机服务器202。BMC 262从EEPROM 214读取连接速度及连接群组宽度并存储此信息。BMC 262内所存储的信息可用于BIOS 264。当主机服务器202电源启动时,BIOS 264从BMC 262获得连接速度及连接群组宽度。BIOS 264基于连接速度及连接群组宽度执行PCIe总线训练(PCIe bustraining)。一旦总线训练完成,BIOS 264就从根接口(root complex interface)268获得当前PCIe连接速度及连接宽度。
将由BIOS 264获得训练的连接速度及连接群组宽度结果与由BMC 262提供的连接速度及连接群组宽度进行比较。如果数值不匹配,则BIOS 264将重新训练若干次以获取当前的连接速度及连接群组宽度。BIOS 264将执行重新训练的次数由系统配置预先确定。在最后一次重新训练之后,BIOS 264将获得最终的PCIe当前“连接速度”及“连接宽度”设置结果。如果得到的当前速度及宽度与BMC 262提供的预期速度和宽度值不匹配,则BIOS 264将生成错误日志(error log),因为”不匹配”表示缆线已错误地连接到端口。BIOS264将最终PCIe“连接速度”及“连接宽度”训练结果更新到BMC 262。藉由通过应用程序编程接口(application programming interface,API)读取来自EEPROM 214的存储数据及BIOS 264的当前训练结果,BMC 262可回报预期值(expected value)。主机服务器202可产生指示缆线错误连接的警报给操作员。操作员可以获得有关连接速度降低的信息,从而以正确的顺序重新连接错误连接的缆线。
以下示出来自API的正常情况结果的编码段(code segment)。下面的编码段是正常的,因为当前速度及宽度与预期速度及宽度匹配,因此表示形成连接通道的缆线正确连接到主机服务器202的各个端口及架构盒的交换机216。在本例子,主机服务器202与架构盒210之间的连接处于为3的预期速度及为16的预期宽度。
Normal Case Example API:
"PCIeConnectionInfo":[
{
"CurrentSpeed":"3",
"CurrentWidth":"16",
"ExpectedSpeed":"3",
"ExpectedWidth":"16",
"PCIeConnectionId":"D8C4971B8F030134",
"SlotNum":"0x01",
"Status":{
"Health":"OK",
"State":"Enabled"
}
},
]
以下示出来自API的错误情况结果的编码段的例子。在本例子中,当前宽度为8,但预期宽度为16,从而指示缆线错误连接。此错误情况可能是由图3所示的错误连接或漏失连接中的一缆线引起的。例如,图3中的缆线252可能连接端口272与端口234,而缆线254可能连接端口274与端口232。
Error Case 1:Width Mismatch
"PCIeConnectionInfo":[
{
"CurrentSpeed":"3",
"CurrentWidth":"8",
"ExpectedSpeed":"3",
"ExpectedWidth":"16",
"PCIeConnectionId":"D8C4971B8F030134",
"SlotNum":"0x01",
"Status":{
"Health":"Critical",
"State":"Enabled"
}
},
]
以下示出由API产生的错误情况的编码段的另一例子。在本例子中,当前速度是2,当前宽度是8,但是预期速度是3且预期宽度是16,从而指示有缺陷的缆线。
Error Case 2:Speed Mismatch
"PCIeConnectionInfo":[
{
"CurrentSpeed":"2",
"CurrentWidth":"8",
"ExpectedSpeed":"3",
"ExpectedWidth":"16",
"PCIeConnectionId":"D8C4971B8F030134",
"SlotNum":"0x01",
"Status":{
"Health":"Critical",
"State":"Enabled"
}
},
]
以上编码段是一例子API的输出例。然而,编码段的信息可以由其它种类的协议或格式提供。如果预期值和当前设定值不匹配,则BMC 262可以报告错误,并在事件日志(event log)中生成条目(entry)。在本例子中,操作员可通过由BMC 262执行的API来检查错误。API可提供诸如连接的预期速度及宽度以及当前连接速度及宽度之类的数据,以帮助操作员诊断错误。
图4的流程图是用于通过图3中的架构控制器212、BMC 262及BIOS 264检查适当正确缆线连接的机器可读指令(machine readable instruction)的示例。在本例中,机器可读指令包括用于由以下各项执行的算法:(a)处理器、(b)控制人及/或(c)一或多个其它合适的处理装置。此演算可以实现在存储于有形媒介(tangible media)的软件中,例如快闪存储器(flash memory)、CD-ROM、软盘(floppy disk)、硬盘驱动(hard drive)、数字(通用)光盘(DVD)或其它记忆装置。然而,本技术领域通常知识者应容易理解整个算法及/或其部分可替代地由除处理器之外的装置执行且/或以已知方式实现在韧体(firmware)或专用硬件(dedicated hardware)中(例如,它可以由特定功能集成电路(Application SpecificIntegrated Circuit,ASIC)、可程序化逻辑设备(programmable logic device,PLD)、现场可编程逻辑器件(FPLD)、现场可编程门阵列(field programmable gate array,FPGA)、离散逻辑(discrete logic)等实现)。例如,接口的任何或所有组件可由软件、硬件及/或韧体实现。且,由流程图表示的一些或所有机器可读指令可以手动实现。此外,虽然本例子以图4所示的算法为例,然本技术领域通常知识者应容易理解,可替代地使用机器可读指令的其它方法。例如,可改变方块的执行顺序,且/或可改变、消除或组合所描述的一些方块。
架构控制器212储存来自PCIe交换机216连接的连接速度及连接群组宽度于EEPROM 214中(方块400)。通过I2C总线266、BMC 262检测所存的连接速度及连接群组宽度的信息,并判断主机服务器202和PCIe交换机216之间存在有PCIe连接(方块402)。BMC 262读取所存的连接速度及连接群组宽度信息,并储存此信息(方块404)。在服务器202的电源启动时,BIOS 264从BMC 262获得连接速度及连接群组宽度的信息(方块406)。然后,BIOS264开始对PCIe总线的训练排程,以从PCIe根接口268获得当前连接速度及连接群组宽度(方块408)。一旦训练完成,BIOS 264获得当前连接速度及连接群组宽度(方块410)。
将训练结果与当前连接速度及连接群组宽度进行比较(方块412)。如果训练结果与当前连接速度和连接群组宽度匹配,则BIOS 264将结束检查排程(方块414)。若训练结果不匹配,则BIOS 264将进行重新训练,以从PCIe根接口268获得当前连接速度及连接群组宽度(方块416)。在重新训练之后,BIOS 264判断重新训练结果是否与当前连接速度及连接群组宽度匹配(方块418)。若重新训练结果与当前连接速度和连接群组宽度匹配,则BIOS 264结束检查排程(方块414)。若重新训练结果不匹配,则BIOS 264将生成错误日志条目(方块420)。BMC 262报告来自EEPROM 214的预期值及来自BIOS 264的当前值(方块422)。
如本申请所使用的术语“组件(component)”、“模块(module)”、“系统(system)”等通常是指与计算机相关的实体(entity)或硬件(例如,电路)或软件与硬件的组合、软件或一有关于具有一或更多特定功能的操作机器的实体。例如,组件可以是但不限于是在一处理器(例如,数字信号处理器(digital signal processor))执行的程序、一处理器、一对象、一可执行、一执行线程(thread of execution)、一程序(program)及/或一计算机。藉由这样的配置,一个于一控制器执行的应用程序及控制器皆可为组件。一或多个组件可长驻(reside)在一流程(process)及/或执行线程内,且一组件可以位于一个计算机且/或分布在两个或多个计算机之间。此外,“装置”可以采用专用设计的硬件形式、藉由于其上执行软件以使硬件执行特定功能的广义硬件、储存于一计算机可读取媒介(computer-readablemedium)的软件或其组合。
此处所使用的术语仅用于描述特定实施例的目的,而不意图于限制本发明。如本文所使用的,除非上下文另外清楚地指出,否则单数形式“一”、“一个”和“该”也意于包括复数形式。此外,就在详细描述及/或申请专利范围中使用术语“包括”、“包含”、“具”、“具有”、“有”或其变体的范围而言,这些术语用意在于包括以类似于术语“包括”的方式。
除非另外定义,否则此处使用的所有术语(包括技术和科学术语)具有与本发明所属领域的具有通常知识者通常理解的相同含义。应进一步理解的是,例如在常用字典中定义的那些术语应被解释为具有与其在相关领域的上下文中的含义一致的含义,并且不会被理解为理想化或过度形式化的意义,除非明确如此定义。
综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当以权利要求的范围为准。

Claims (10)

1.一种用以确保串联连接效率的系统,包括:
架构交换机,具有与串联连接相关的多个上游端口;
主机服务器,包括基本输入输出系统及基板管理控制器,该主机服务器具有多个端口,所述多个端口通过多个缆线耦接至所述多个上游端口,每个缆线将所述多个端口中的一个端口与所述多个上游端口中的一个上游端口直接连接,以形成该串联连接的多个通道;以及
存储器,可由该基板管理控制器存取;
其中,该基板管理控制器从该存储器读取该串联连接的预期速度及预期宽度,该基本输入输出系统判断该串联连接的实际速度及实际宽度,且若该实际速度或该实际宽度与该预期速度或该预期宽度不匹配,则该基板管理控制器发送错误信息,以指示缆线错误连接。
2.如权利要求1所述的系统,还包括耦接至该架构交换机的架构控制器,其中该架构控制器可操作于存取该存储器;
其中,该存储器位于该架构控制器;
其中,该架构控制器操作于储存该串联连接的该预期速度及该预期宽度于该存储器。
3.如权利要求1所述的系统,还包括多个装置,其中该架构交换机具有多个耦接于所述多个装置的下游端口。
4.如权利要求3所述的系统,其中该存储器及所述多个装置位于架构盒。
5.如权利要求3所述的系统,其中该架构交换机通过该串联连接的所述多个通道连接于该主机服务器与所述多个装置中的一个。
6.一种判断主机服务器与架构交换机之间的串联连接的多个适当连接的方法,该串联连接具有该主机服务器的多个端口与该架构交换机的多个上游端口之间的多个通道,该方法包括:
通过多个缆线,连接该主机服务器的所述多个端口与该架构交换机的所述多个上游端口;
储存该串联连接的预期速度及预期宽度于存储器,其中该存储器可被该主机服务器存取;
通过该主机服务器读取该串联连接的该预期速度及该预期宽度;
通过该主机服务器判断该串联连接的实际速度及实际宽度;
比较该预期速度及该预期宽度与该实际速度及该实际宽度;
若该实际速度或该实际宽度不同于该预期速度或该预期宽度,通过该主机服务器产生错误信息。
7.如权利要求6所述的方法,其中该主机服务器的基板管理控制器执行该读取步骤及该产生步骤,而该主机服务器的BIOS执行该判断步骤及该比较步骤;
其中,该存储器位于架构控制器。
8.如权利要求6所述的方法,其中该架构交换机包括耦接于所述多个装置的下游端口的多个装置。
9.如权利要求8所述的方法,其中该存储器及所述多个装置位于架构盒。
10.如权利要求9所述的方法,还包括:致动该架构交换机以通过该串联连接的所述多个通道连接该主机服务器与所述多个装置中的一个。
CN201811323405.3A 2018-03-29 2018-11-08 用以检查缆线错误的方法及系统 Active CN110321255B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862649734P 2018-03-29 2018-03-29
US62/649,734 2018-03-29
US16/041,065 US10657080B2 (en) 2018-03-29 2018-07-20 Method and system for checking errors on cables
US16/041,065 2018-07-20

Publications (2)

Publication Number Publication Date
CN110321255A CN110321255A (zh) 2019-10-11
CN110321255B true CN110321255B (zh) 2022-11-08

Family

ID=64402089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811323405.3A Active CN110321255B (zh) 2018-03-29 2018-11-08 用以检查缆线错误的方法及系统

Country Status (5)

Country Link
US (1) US10657080B2 (zh)
EP (1) EP3547149B1 (zh)
JP (1) JP6662987B2 (zh)
CN (1) CN110321255B (zh)
TW (1) TW201942756A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11243859B2 (en) * 2019-10-09 2022-02-08 Microsoft Technology Licensing, Llc Baseboard management controller that initiates a diagnostic operation to collect host information
US11509751B2 (en) * 2020-12-23 2022-11-22 Dell Products L.P. Self-describing system using single-source/multi-destination cable
CN112783816B (zh) * 2021-01-04 2022-07-22 东风汽车股份有限公司 一种手持式双串口协议捕获与分析诊断仪及其使用方法
CN114826489B (zh) * 2022-05-29 2023-07-14 苏州浪潮智能科技有限公司 一种链路纠错方法、系统、存储介质及设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163633A (ja) * 2008-01-09 2009-07-23 Ricoh Co Ltd 情報処理装置およびデータ通信方法
TWI437493B (zh) * 2011-07-25 2014-05-11 Quanta Comp Inc 電腦系統及其作業系統載入方法
JP2013117930A (ja) * 2011-12-05 2013-06-13 Hitachi Ltd 計算機及び計算機の制御方法
WO2015111206A1 (ja) * 2014-01-27 2015-07-30 株式会社日立製作所 計算機システム、サーバモジュール及びストレージモジュール
US9563591B2 (en) 2014-03-06 2017-02-07 International Business Machines Corporation Peripheral component interconnect express (PCIe) ping in a switch-based environment
CN104170322B (zh) 2014-04-02 2017-06-20 华为技术有限公司 一种PCIe链路故障的处理方法、设备及系统
WO2015167490A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Storage system bandwidth adjustment
JPWO2015194534A1 (ja) * 2014-06-17 2017-04-20 日本電気株式会社 スイッチ装置とコンピュータシステムと方法並びにプログラム
US9697166B2 (en) 2014-11-21 2017-07-04 International Business Machines Corporation Implementing health check for optical cable attached PCIE enclosure

Also Published As

Publication number Publication date
EP3547149B1 (en) 2021-06-16
US20190303315A1 (en) 2019-10-03
EP3547149A1 (en) 2019-10-02
JP6662987B2 (ja) 2020-03-11
US10657080B2 (en) 2020-05-19
JP2019175424A (ja) 2019-10-10
CN110321255A (zh) 2019-10-11
TW201942756A (zh) 2019-11-01

Similar Documents

Publication Publication Date Title
CN110321255B (zh) 用以检查缆线错误的方法及系统
US7904744B2 (en) Data storage using multiple protocols
CN106603265B (zh) 管理方法、网络装置以及非暂态计算机可读介质
US8948000B2 (en) Switch fabric management
US7673185B2 (en) Adaptive SAS PHY configuration
US9697167B2 (en) Implementing health check for optical cable attached PCIE enclosure
US8880938B2 (en) Reducing impact of a repair action in a switch fabric
US8938566B2 (en) Data storage system for managing serial interface configuration based on detected activity
US20070233821A1 (en) Managing system availability
US10853213B2 (en) Validation of installation of removeable computer hardware components
EP3585062B1 (en) Network system for identifying cable connection and method for authenticating cable id
WO2014082275A1 (zh) 线缆插接情况的检测方法及装置
US9632885B2 (en) Fault detection method and related device and stack system
CN110928820B (zh) 串行小型计算机系统接口区域自动配置的系统和方法
US10303485B2 (en) Control method for controlling a server system by means of a set of reset signals and a set of notification signals
JP6930153B2 (ja) パス切替装置、パス切替方法及びパス切替プログラム、並びに、コンピュータシステム
CN118277154A (zh) 一种硬盘的故障恢复方法及计算设备
CN115902710A (zh) 防呆检测方法及计算设备
JP2006139731A (ja) 情報処理装置、連結記憶装置、記憶制御装置、接続切換制御方法及び接続切換制御プログラム
CN116339771A (zh) 硬盘固件升级的控制方法和计算设备
CN118626299A (zh) 一种PCIe器件故障处理方法、BMC、PCIe器件
JP2006059077A (ja) Pciカード情報採取装置

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