TW201942756A - 用以檢查纜線錯誤的方法及系統 - Google Patents
用以檢查纜線錯誤的方法及系統 Download PDFInfo
- Publication number
- TW201942756A TW201942756A TW107138098A TW107138098A TW201942756A TW 201942756 A TW201942756 A TW 201942756A TW 107138098 A TW107138098 A TW 107138098A TW 107138098 A TW107138098 A TW 107138098A TW 201942756 A TW201942756 A TW 201942756A
- Authority
- TW
- Taiwan
- Prior art keywords
- host server
- width
- link
- speed
- expected
- Prior art date
Links
Classifications
-
- 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/1678—Details of memory controller using bus width
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error 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/2012—Error 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
-
- 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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- 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/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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
-
- 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
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)中的許多不同類型的裝置。隨著對資源的需求的出現,可以將這種共用裝置可分配給不同的主機伺服器。這樣的裝置可通過裝置和主機伺服器之間的週邊元件交互連接協定(Peripheral Component Interconnect Express, PCIe)鏈結,此鏈結可以由PCIe型交換機致動。
因此,現在許多現代資料中心支持數個具有許多共用裝置的分解式結構或解集結構(disaggregate architecture)。第1A圖繪示一例子的一資料中心10。系統管理員可以存取組合器應用程式(composer application)12,其允許配置資料經由路由器(route)14發送到PCIe架構盒(fabric box)20。架構盒20包括許多串聯擴展匯排裝置(serial expansion bus 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 gate array, 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)效率的系統。架構交換機具有與一串聯鏈結相關的數個上游埠(upstream port)。主機伺服器包括一基本輸入輸出系統(Basic Input/Output System, BIOS)及一管理控制器(management controller)。主機伺服器具有數個透過數個纜線(cable)耦接至數個上游埠(upstream port)的埠,以形成串聯鏈結的數個通道(lane)。記憶體可由管理控制器存取。管理控制器從記憶體讀取串聯鏈結的一預期速度及一預期寬度。基本輸入輸出系統判斷串聯鏈結的一實際速度及一實際寬度。若實際速度或實際寬度與預期速度或預期寬度不匹配,則管理控制器發送一錯誤訊息。
本發明另一實施例提出一種判斷一主機伺服器與一架構交換機之間的一串聯鏈結的數個適當連接的方法。串聯鏈結具有主機伺服器之數個埠與架構交換機之數個上游埠之間的數個通道。透過數個纜線,連接主機伺服器之此些埠與架構交換機之此些上游埠。儲存串聯鏈結之一預期速度及一預期寬度於一記憶體,其中記憶體可被主機伺服器存取。透過主機伺服器讀取串聯鏈結之預期速度及預期寬度。透過主機伺服器判斷串聯鏈結之一實際速度及一實際寬度。比較預期速度及預期寬度與實際速度及實際寬度。若實際速度或實際寬度不同於預期速度或預期寬度,透過主機伺服器產生一錯誤訊息。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
本發明可以以許多不同的形式實施。代表性實施例在附圖中示出,並且將在本文中詳細描述。本公開是本公開的原理的示例或說明,並且不旨在將本公開的廣泛方面限制於所示的實施例。在這種程度上,例如在摘要,發明內容和具體實施方式部分中公開但未在權利要求中明確闡述的要素和限制不應通過暗示,推理單獨地或共同地併入權利要求中。或者其他。出於本詳細描述的目的,除非特別聲明,否則單數包括複數,反之亦然;並且“包括”一詞意味著“包括但不限於”。此外,近似的詞,例如“約”,“幾乎”,“基本上”,“近似”等,在本文中可用於表示“at,”,例如,“接近”,“接近”或“接近製造公差”或“在可接受的製造公差範圍內”,或其任何邏輯組合。根據本揭露的網路系統可以包括資料中心、伺服器裝置和儲存裝置。資料中心可以包括系統管理軟體。伺服器裝置可以連接到資料中心。伺服器裝置可以包括BMC,BMC被配置為與資料中心的系統管理軟體通信。儲存裝置可以包括至少一個纜線埠,纜線埠被配置為接收將儲存裝置連接到伺服器裝置的儲存器纜線。纜線埠可包括非揮發性記憶體、指示燈和I2
C匯流排。
第3圖繪示用於將裝置資源分配給不同主機的系統200的方塊圖。系統200包括耦接到PCIe架構盒210的主機伺服器202。PCIe架構盒210包括數個串聯擴展匯排裝置(serial expansion 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可讀取EEPROM 214中的資料並且可將資料寫入到 EEPROM 214。在本實施例中,PCIe相容裝置220、222、224及226耦接到PCIe交換機216的相應下游埠230、232、234及236。PCIe相容裝置220、222、224及226可包括非揮發性記憶體(non-volatile memory, NVMe)、圖形處理單元(graphic processing unit, GPU)、可程式化閘陣積體電路(field programmable gate array, FPGA)、網絡介面卡(network interface card, NIC)、獨立磁碟冗餘陣列(redundant array of independent 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 bus training)。一旦匯流排訓練完成,BIOS 264就從根介面(root complex interface) 268獲得當前PCIe鏈結速度及鏈結寬度。
將由BIOS 264獲得訓練的鏈結速度及鏈結群組寬度結果與由BMC 262提供的鏈結速度及鏈結群組寬度進行比較。如果數值不匹配,則BIOS 264將重新訓練若干次以獲取當前的鏈結速度及鏈結群組寬度。BIOS 264將執行重新訓練的次數由系統配置預先確定。在最後一次重新訓練之後,BIOS 264將獲得最終的PCIe當前“鏈結速度”及“鏈結寬度”設置結果。如果得到的當前速度及寬度與BMC 262提供的預期速度和寬度值不匹配,則BIOS 264將生成錯誤日誌(error log),因為”不匹配”表示纜線已錯誤地連接到埠。BIOS 264將最終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 Specific Integrated 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)。然後,BIOS 264開始對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-readable medium)的軟體或其組合。
此處所使用的術語僅用於描述特定實施例的目的,而不意圖於限制本發明。如本文所使用的,除非上下文另外清楚地指出,否則單數形式「一」、「一個」和「該」也意於包括複數形式。此外,就在詳細描述及/或申請專利範圍中使用術語「包括」、「包含」、「具」、「具有」、「有」或其變體的範圍而言,這些術語用意在於包括以類似於術語「包括」的方式。
除非另外定義,否則此處使用的所有術語(包括技術和科學術語)具有與本發明所屬領域的具有通常知識者通常理解的相同含義。應進一步理解的是,例如在常用字典中定義的那些術語應被解釋為具有與其在相關領域的上下文中的含義一致的含義,並且不會被理解為理想化或過度形式化的意義,除非明確如此定義。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
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‧‧‧方塊
為了描述可以獲得本揭露上述和其他優點和特徵的方式,將通過參考附圖中示出的特定示例來呈現上述原理的更具體描述。這些附圖僅描繪本揭露的示例方面,因此不應被視為對其範圍的限制。通過使用以下附圖,以附加的特徵和細節來描述和解釋這些原理。 第1A~1D圖繪示習知架構盒及不同的PCIe鏈結與通道架構的功能方塊圖。 第2A圖繪示第1D圖之多台伺服器之一者的多個PCIe通道之一者連接於構造盒的一交換機且為正確纜線配置的示意圖。 第2B圖繪示第1D圖之多台伺服器之一者的多個PCIe通道之一者連接於構造盒的一交換機且為導致通道速度下降的不正確纜線配置的示意圖。 第3圖繪示偵測一表示錯誤纜線的速度不足的構造盒與主機伺服器之系統示意圖。 第4圖繪示以判斷纜線是否錯誤連接為目的之鏈結速度判斷流程圖。
Claims (10)
- 一種用以確保串聯鏈結(serial link)效率的系統,包括: 一架構交換機(fabric switch)具有與一串聯鏈結相關的複數個上游埠(upstream port); 一主機伺服器,包括一基本輸入輸出系統(Basic Input/Output System, BIOS)及一管理控制器(management controller),該主機伺服器具有複數個透過複數個纜線(cable)耦接至該些複數個上游埠,以形成該串聯鏈結的複數個通道(lane);以及 一記憶體,可由該管理控制器存取; 其中,該管理控制器從該記憶體讀取該串聯鏈結的一預期速度及一預期寬度,該基本輸入輸出系統判斷該串聯鏈結的一實際速度及一實際寬度,且若該實際速度或該實際寬度與該預期速度或該預期寬度不匹配,則該管理控制器發送一錯誤訊息。
- 如申請專利範圍第1項所述之系統,更包括一耦接至該架構交換機之架構控制器(fabric controller),其中該架構控制器可操作於存取該記憶體; 其中,該記憶體位於該架構控制器; 其中,該架構控制器操作於儲存該串聯鏈結之該預期速度及該預期寬度於該記憶體。
- 如申請專利範圍第1項所述之系統,更包括複數個裝置,其中該架構交換機具有複數個耦接於該些裝置之下游埠。
- 如申請專利範圍第3項所述之系統,其中該記憶體及該些裝置位於一架構盒(fabric box)。
- 如申請專利範圍第3項所述之系統,其中該架構交換機透過該串聯鏈結之該些通道連接於該主機伺服器與該些裝置之一者。
- 一種判斷一主機伺服器與一架構交換機之間的一串聯鏈結的複數個適當連接的方法,該串聯鏈結具有該主機伺服器之複數個埠與該架構交換機之複數個上游埠之間的複數個通道,該方法包括: 透過複數個纜線,連接該主機伺服器之該些埠與該架構交換機之該些上游埠; 儲存該串聯鏈結之一預期速度及一預期寬度於一記憶體,其中該記憶體可被該主機伺服器存取; 透過該主機伺服器讀取該串聯鏈結之該預期速度及該預期寬度; 透過該主機伺服器判斷該串聯鏈結之一實際速度及一實際寬度; 比較該預期速度及該預期寬度與該實際速度及該實際寬度; 若該實際速度或該實際寬度不同於該預期速度或該預期寬度,透過該主機伺服器產生一錯誤訊息。
- 如申請專利範圍第6項所述之方法,其中該主機伺服器之一管理控制器執行該讀取步驟及該產生步驟,而該主機伺服器之一BIOS執行該判斷步驟及該比較步驟; 其中,該記憶體位於該架構控制器。
- 如申請專利範圍第6項所述之方法,其中該架構交換機包括耦接於該些裝置之下游埠之複數個裝置。
- 如申請專利範圍第8項所述之方法,其中該記憶體及該些裝置位於一架構盒。
- 如申請專利範圍第9項所述之方法,更包括:致動該架構交換機以透過該串聯鏈結之該些通道連接該主機伺服器與該些裝置之一者。
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 (1)
Publication Number | Publication Date |
---|---|
TW201942756A true TW201942756A (zh) | 2019-11-01 |
Family
ID=64402089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107138098A TW201942756A (zh) | 2018-03-29 | 2018-10-26 | 用以檢查纜線錯誤的方法及系統 |
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)
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)
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 |
-
2018
- 2018-07-20 US US16/041,065 patent/US10657080B2/en active Active
- 2018-10-26 TW TW107138098A patent/TW201942756A/zh unknown
- 2018-11-08 CN CN201811323405.3A patent/CN110321255B/zh active Active
- 2018-11-20 EP EP18207259.5A patent/EP3547149B1/en active Active
- 2018-11-22 JP JP2018219045A patent/JP6662987B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP3547149B1 (en) | 2021-06-16 |
US20190303315A1 (en) | 2019-10-03 |
EP3547149A1 (en) | 2019-10-02 |
CN110321255B (zh) | 2022-11-08 |
JP6662987B2 (ja) | 2020-03-11 |
US10657080B2 (en) | 2020-05-19 |
JP2019175424A (ja) | 2019-10-10 |
CN110321255A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201942756A (zh) | 用以檢查纜線錯誤的方法及系統 | |
CN106603265B (zh) | 管理方法、网络装置以及非暂态计算机可读介质 | |
US8948000B2 (en) | Switch fabric management | |
US10127170B2 (en) | High density serial over LAN management system | |
US7904744B2 (en) | Data storage using multiple protocols | |
US8874955B2 (en) | Reducing impact of a switch failure in a switch fabric via switch cards | |
US8880938B2 (en) | Reducing impact of a repair action in a switch fabric | |
TW201637400A (zh) | 用於配線連接之方法及配線連接系統 | |
US9762682B2 (en) | Methods and systems for managing network attached storage (NAS) within a management subsystem | |
US20160098336A1 (en) | Methods and systems for dynamic retimer programming | |
WO2020000760A1 (zh) | 服务器的管理方法、装置、计算机设备及存储介质 | |
US11550739B2 (en) | Storage system and method for switching working mode of storage system | |
US10990496B2 (en) | System and method to derive health information for a general purpose processing unit through aggregation of board parameters | |
US20180145869A1 (en) | Debugging method of switches | |
US20210157609A1 (en) | Systems and methods for monitoring and validating server configurations | |
CN110928820B (zh) | 串行小型计算机系统接口区域自动配置的系统和方法 | |
JP7572483B2 (ja) | ストレージシステム及びストレージシステムの稼働モードを切り替えるための方法 | |
CN118626428A (zh) | 带宽分配方法、服务器、设备、介质及程序产品 | |
CN118277154A (zh) | 一种硬盘的故障恢复方法及计算设备 | |
CN115454341A (zh) | 关联逻辑盘符和硬盘插槽的方法及服务器 | |
CN115902710A (zh) | 防呆检测方法及计算设备 |