TW202246976A - 快速週邊元件互連裝置以及包括其的計算系統 - Google Patents

快速週邊元件互連裝置以及包括其的計算系統 Download PDF

Info

Publication number
TW202246976A
TW202246976A TW111108729A TW111108729A TW202246976A TW 202246976 A TW202246976 A TW 202246976A TW 111108729 A TW111108729 A TW 111108729A TW 111108729 A TW111108729 A TW 111108729A TW 202246976 A TW202246976 A TW 202246976A
Authority
TW
Taiwan
Prior art keywords
link
pcie device
state
lane
pcie
Prior art date
Application number
TW111108729A
Other languages
English (en)
Inventor
全勇泰
Original Assignee
韓商愛思開海力士有限公司
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 韓商愛思開海力士有限公司 filed Critical 韓商愛思開海力士有限公司
Publication of TW202246976A publication Critical patent/TW202246976A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/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/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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • 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/2007Error 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 using redundant communication media
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

當在鏈路設置操作期間檢測到故障通路時,根據本揭示內容的PCIe裝置透過使用其餘通路設置鏈路。該PCIe裝置包括:複數個通路,包括複數個埠;以及鏈路控制器,設置包括複數個通路的鏈路,其中鏈路被設置成具有包括除了複數個通路之中的故障通路之外的其餘通路的鏈路寬度,其中複數個通路之中的故障通路具有無法與複數個通路之中的未發生故障的其餘通路形成鏈路的狀態。

Description

快速週邊元件互連裝置以及包括其的計算系統
各個實施例整體上關於一種電子裝置,並且更特別地,關於一種快速週邊元件互連(PCIe)裝置以及包括該PCIe裝置的計算系統。
快速週邊元件互連(peripheral component interconnect express, PCIe)裝置可以定義用於將輸入/輸出裝置連接到主機裝置的匯流排協定。週邊元件互連(PCIe)標準定義PCIe裝置中實施的編程構思,該PCIe裝置包括被定義爲高速序列介面的物理通訊層。
儲存裝置可以在諸如電腦或智慧型手機的主機裝置的控制下儲存資料。儲存裝置可以包括儲存資料的記憶體裝置和控制記憶體裝置的記憶體控制器。記憶體裝置可以被劃分爲揮發性記憶體裝置和非揮發性記憶體裝置。
揮發性記憶體裝置只要被供應電力就可以保留資料,並且在沒有電力的情况下可能丟失所儲存的資料。揮發性記憶體裝置的類型可以包括靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)等。
非揮發性記憶體裝置即使沒有電力供應也不會丟失資料。非揮發性記憶體裝置的類型可以包括唯讀記憶體(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、快閃記憶體等。
本揭示內容的各個實施例關於一種PCIe裝置和包括該PCIe裝置的計算系統,在該PCIe裝置中在鏈路設置操作期間檢測故障通路並且該PCIe裝置使用其餘通路建立鏈路。
根據實施例,一種PCIe裝置可以包括:複數個通路,該複數個通路包括複數個埠;以及鏈路控制器,設置包括複數個通路的鏈路,其中鏈路被設置成具有包括除了複數個通路之中的故障通路之外的其餘通路的鏈路寬度,其中複數個通路之中的故障通路具有無法與複數個通路之中的未發生故障的其餘通路形成鏈路的狀態。
根據實施例,一種計算系統可以包括:第一PCIe裝置,包括複數個下游埠;第二PCIe裝置,包括複數個上游埠;以及鏈路,包括複數個通路,複數個通路包括複數個下游埠和複數個上游埠,並且向第一PCIe裝置發送資料,從第一PCIe裝置接收資料,其中第一PCIe裝置將鏈路設置成具有包括除了複數個通路之中的故障通路之外的其餘通路的鏈路寬度,並且其中故障通路具有故障通路無法與其餘通路形成鏈路的狀態。
相關申請案的交叉引用: 本申請案請求於2021年5月24日向韓國智慧財產局提交的、申請號爲10-2021 -0066435的韓國專利申請案的優先權,該韓國專利申請案的全部公開內容透過引用併入本文。
根據本說明書中揭示的構思的實施例的示例的具體結構或功能描述僅用於描述根據該構思的實施例的示例。根據該構思的實施例的示例可以以各種形式執行,然而,具體實施方式不限於本說明書中描述的實施例的示例。
圖1是示出根據本揭示內容的實施例的計算系統的示圖。
參照圖1,計算系統100可以包括中央處理單元(CPU)110、根聯合體(root complex)120、記憶體130、交換機140、PCIe端點150_1~150_3、傳統端點(legacy endpoint)160_1和傳統端點160_2以及PCIe至PCI/PCI-X橋170。
計算系統100可以是支持使用PCIe介面進行通訊的電子裝置。計算系統100可以是個人電腦(PC)、筆記型電腦或行動計算裝置。計算系統100可以包括擴充卡、擴充板、適配器卡、插卡或附屬卡。另外,計算系統100可以包括印刷電路板(PCB),印刷電路板可插入到計算系統100的主機板上的電子連接器或擴充槽中以透過擴充匯流排向計算系統100提供附加功能。另外,計算系統100可以包括諸如固態硬碟(SSD)的儲存裝置,並且可以包括圖形卡、網路卡或USB卡。
CPU 110可以電耦接到計算系統100的每個組件並且可以控制計算系統100的相應操作。更具體地,CPU 110可以驅動作業系統或應用程式以控制耦接到CPU 110的硬體或軟體的組件,並且可以執行各種類型的資料處理和操作。另外,CPU 110可以執行用於控制計算系統100的操作的軟體或應用。
根聯合體120可以是PCIe互連架構中的根集線器、控制器集線器或根控制器。例如,根聯合體120可以包括晶片組、記憶體控制器集線器(MCH)、北橋(northbridge)、互連控制器集線器(ICH)、南橋和根控制器/集線器。另外,根聯合體120可以將CPU 110和記憶體130連接到I/O層級。根聯合體120可以支持點對點(P2P)路由。根聯合體120可以包括至少一個主橋和一個根埠。根聯合體120可以支持至少一個PCIe埠。
記憶體130可以儲存計算系統100的操作所需的資料、命令或程式代碼。根據實施例,記憶體1030可以儲存可操作以運行一個或複數個作業系統(OS)與虛擬機(VM)的程式代碼以及運行用於管理虛擬機(VM)的虛擬化中介(VI)的程式代碼。另外,記憶體130可以被實現爲諸如DRAM或SRAM的揮發性記憶體裝置。
交換機140可以向上游或下游路由資料包或訊息。更具體地,交換機140可以將資料包或訊息從PCIe端點(例如,150_1)向上一層級路由到根聯合體120。然而,可選地,交換機140可以將資料包或訊息從根聯合體120向下一層級路由到PCIe端點(例如,150_2)。
交換機140可以被稱爲複數個虛擬PCI至PCI橋接裝置的邏輯組件。連接到交換機140的裝置的示例可以包括耦接到電子系統的任意內部或外部裝置或者組件,諸如I/O裝置、網路介面控制器(NIC)、插卡、音訊處理器、網路處理器、硬碟驅動器、儲存裝置、CD/DVD ROM、監視器、印表機、滑鼠、鍵盤、路由器、便攜式儲存裝置、火線裝置、通用序列匯流排(USB)裝置、掃描儀和其他輸入/輸出裝置。雖然圖1中未示出,但是該裝置還可以包括支持傳統版本或其他版本的PCI裝置的另一PCIe至PCI/PCI-X橋。
根據實施例,根聯合體120可以耦接到端點。端點可以指成爲PCIe交易的請求器或完成器的功能類型。端點可以被分類爲傳統端點或PCIe端點。
PCIe端點150_1~150_3以及傳統端點160_1和傳統端點160_2中的每一個可以作爲PCIe交易的請求器或完成器。由PCIe端點150_1~150_3和傳統端點160_1和傳統端點160_2發送或接收的交易層資料包(TLP)可以提供配置空間報頭(header)。另外,PCIe端點150_1~150_3以及傳統端點160_1和傳統端點160_2中的每一個作爲完成器可以提供配置請求。在特定條件下,由PCIe端點150_1~150_3和傳統端點160_1和傳統端點160_2發送或接收的交易層資料包(TLP)必須提供配置空間報頭。另外,PCIe端點150_1~150_3以及傳統端點160_1和傳統端點160_2中的每一個作爲完成器必須提供配置請求。
PCIe端點150_1~150_3以及傳統端點160_1和傳統端點160_2可以根據記憶體交易的可能的大小而被分類。例如,當記憶體交易可能超過4GB時,端點可以是PCIe端點(150_1~150_3)。另一方面,當記憶體交易不可能超過4GB時,端點可以是傳統端點(160_1和160_2)。雖然不允許PCIe端點150_1~150_3產生I/O請求,但是傳統端點160_1和傳統端點160_2可以提供或產生I/O請求。另外,PCIe端點150_3可以向根聯合體120發送TLP或者從根聯合體120接收TLP。此外,PCI/PCI-X可以透過PCIe至PCI/PCI-X橋170向根聯合體120發送TLP或從根聯合體120接收TLP。另外,PCIe端點150_1和PCIe端點150_2以及傳統端點160_1和傳統端點160_2可以向交換機140發送TLP或從交換機140接收TLP。
PCIe端點150_1~150_3中的每一個都可以具有類型00h的配置空間報頭。PCIe端點150_1~150_3中的每一個作爲完成器可以支持配置請求。可以編寫PCIe兼容軟體驅動程式和應用,以防止在存取PCIe端點150_1~150_3時使用鎖定語義(lock semantic)。作爲記憶體交易的請求器而操作的PCIe端點150_1~150_3中的每一個可以產生超過4GB的位址。當需要中斷資源時,可能需要PCIe端點150_1~150_3中的每一個來支持MSI或MSI-X或兩者。當實施MSI時,PCIe端點150_1~150_3中的每一個可以支持MSI性能結構的64位元訊息位址版本。由基位址暫存器請求的最小位址範圍可以是128字節。PCIe端點150_1~150_3中的每一個可以被包括在由根聯合體120起源的層級域中的一個中。
傳統端點160_1和傳統端點160_2中的每一個都可以具有類型00h的配置空間報頭。傳統端點160_1和傳統端點160_2中的每一個作爲完成器可以支持配置請求。傳統端點160_1和傳統端點160_2中的每一個作爲完成器可以支持I/O請求。傳統端點160_1和傳統端點160_2中的每一個可以接收針對80h和84h位置中的一個或兩者的I/O請求,而不管相應端點的I/O解碼配置。傳統端點160_1和傳統端點160_2中的每一個可以支持I/O請求。傳統端點160_1和傳統端點160_2中的每一個都可以實現擴充配置空間性能。傳統端點160_1和傳統端點160_2中的每一個可以不產生4GB或更大的位址。如果需要中斷資源,則可能需要傳統端點160_1和傳統端點160_2中的每一個來支持MSI或MSI-X或兩者。當實現MSI時,傳統端點160_1和傳統端點160_2中的每一個可以支持MSI性能結構的32位元或64位元訊息位址版本。可以允許傳統端點160_1和傳統端點160_2中的每一個支持針對請求記憶體資源的基位址暫存器的32位元定址。傳統端點160_1和傳統端點160_2中的每一個可以被包括在由根聯合體120起源的層級域中的一個中。
圖2是示出根據本發明的實施例的PCIe裝置的示圖。
參照圖2,PCIe裝置可以包括PCIe介面並且是支持使用PCIe介面來發送和接收的電子裝置。例如,第一PCIe裝置200-1或第二PCIe裝置200-2可以包括圖1所示的根聯合體120、交換機140、PCIe端點150_1~150_3、傳統端點160_1和傳統端點160_2以及PCIe至PCI/PCI-X橋170中的一個。
另外,第一PCIe裝置200-1或第二PCIe裝置200-2可以分別使用第一PCIe介面210-1或第二PCIe介面210-2執行通訊。更具體地,第一PCIe裝置200-1可以透過使用第一PCIe介面210-1將要從第二PCIe裝置200-2傳輸的資料轉換爲適合通訊的協定。另外,第一PCIe裝置200-1和第二PCIe裝置200-2可以形成鏈路。第一PCIe裝置200-1和第二PCIe裝置200-2可以透過鏈路執行通訊。例如,第一PCIe裝置200-1或第二PCIe裝置200-2可以透過鏈路發送或接收資料包。
圖3是示出根據本揭示內容的實施例的PCIe介面的示圖。
圖3示出了圖2的第一PCIe介面210-1和第二PCIe介面210-2。第一PCIe介面210-1和第二PCIe介面210-2可以具有相同的結構。因此,以下對第一PCIe介面210-1的描述可以同樣適用於第二PCIe介面210-2。
第一PCIe介面210-1中包括的PCIe層可以包括三個離散的邏輯層。例如,第一PCIe介面210-1可以包括交易層、資料鏈路層和物理層。每個層可以包括兩個區段。更具體地,一個區段可以處理出站(outbound)資訊(或要發送的資訊),而另一區段可以處理入站(inbound)資訊(或接收到的資訊)。另外,第一PCIe介面210-1可以使用資料包與其他PCIe介面進行資訊通訊。
交易層可以是PCIe介面的架構中的上層。交易層可以匯集(assemble)或分解(disassemble)交易層資料包(TLP)。另外,交易層可以實施拆分交易,即,在目標系統匯集針對回應的資料的同時,允許其他流量傳輸到鏈路的交易。例如,交易層可以實現請求和回應暫時彼此分開的交易。根據實施例,四個交易位址空間可以由配置位址空間、記憶體位址空間、輸入/輸出位址空間和訊息位址空間組成。記憶體空間交易可以包括讀取請求和寫入請求中的至少一個,用於從記憶體映射位置傳輸資料/寫入請求用於向記憶體映射位置傳輸資料。根據實施例,記憶體空間交易可以使用兩種不同的位址格式,例如,諸如32位元位址的短位址格式或諸如64位元位址的長位址格式。配置空間交易可以被用於存取PCIe裝置的配置空間。針對配置空間的交易可以包括讀取請求和寫入請求。可以定義訊息空間交易(或訊息)以支持PCIe裝置之間的頻內通訊。
交易層可以儲存鏈路配置資訊。另外,交易層可以產生TLP或者可以將TLP轉換爲有效載荷或狀態資訊。
PCIe介面架構中的中間層可以是資料鏈路層。資料鏈路層可以作為交易層與物理層之間的中間級(intermediate stage)。資料鏈路層的主要功能可以是鏈路管理和資料完整性,包括錯誤檢測和錯誤校正。更具體地,資料鏈路層的發送側可以接收由交易層匯集的TLP,應用資料保護碼,或者計算TLP序列號。另外,資料鏈路層的發送側可以將資料保護碼和TLP序列號發送到物理層。資料鏈路層的接收側可以檢查從物理層接收的TLP的完整性,並且將TLP發送到交易層以進行進一步處理。
物理層可以包括用於介面操作的所有電路。所有電路可以包括驅動器、輸入緩衝器、串並轉換電路、並串轉換電路、鎖相環(PLL)和阻抗匹配電路。
另外,物理層可以包括用於將資料包物理地傳輸到外部PCIe裝置的邏輯子區塊和電力子區塊。邏輯子區塊可以用於執行物理層的「數位」功能。更具體地,邏輯子區塊可以包括:發送區段,透過物理子區塊準備發送資訊;以及接收區段,在將所接收的資訊傳遞到資料鏈路層之前識別和準備所接收的資訊。物理層可以包括發送器和接收器。發送器可以接收由發送器序列化並由邏輯子區塊發送到外部裝置的符號。另外,接收器可以從外部裝置接收序列化符號並將接收到的訊號轉換爲位元流。位元流可以被反序列化並被供應到邏輯子區塊。換句話說,物理層可以將從資料鏈路層接收到的TLP轉換爲序列化格式,並且將從外部裝置接收到的資料包轉換爲反序列化格式。另外,物理層可以包括與介面初始化和維護相關的邏輯功能。
圖3例示了第一PCIe介面210-1和第二PCIe介面210-2的架構。然而,其他實施例中的PCIe介面的架構可以包括諸如以下的任意架構:快速路徑互連架構、下一代高性能計算互連架構或其他分層架構。
圖4是示出根據本揭示內容的實施例的發送器、接收器和通路的示圖。
圖4示出了第一發送器TX1、第二發送器TX2、第一接收器RX1和第二接收器RX2。通路可以包括路徑,路徑包括差分驅動訊號對,例如被配置成用於發送的發送路徑對以及被配置成用於接收的接收路徑對。PCIe裝置可以包括用於向另一PCIe裝置發送資料的發送邏輯和用於從另一PCIe裝置接收資料的接收邏輯。例如,PCIe裝置可以包括耦接到第一發送器TX1的兩個發送路徑和耦接到第一接收器RX1的兩個接收路徑。
發送路徑可以指用於資料發送的任意路徑,諸如傳輸線、銅線、無線通訊通道、紅外線通訊鏈路或另一通訊路徑。另外,接收路徑可以以與發送路徑相同的方式實現,並且接收路徑可以被設置成用於接收。
兩個PCIe裝置(例如,圖2所示的第一PCIe裝置200-1和第二PCIe裝置200-2)之間的連接可以被稱爲鏈路。鏈路可以支持至少一個通路。例如,鏈路可以包括複數個通路。另外,每個通路可以由一組差分訊號對(一對用於發送,另一對用於接收)來指示。差分訊號對可以指具有相同頻率和幅度但相反相位的兩個訊號。例如,當第一訊號具有從0切換到電壓位準V+的上升邊緣時,第二訊號可以具有從0切換到電壓位準V-的下降邊緣。例如,PCIe裝置可以使用訊號完整性(諸如交叉耦接、電壓過衝/下衝、振鈴的電氣特性),並且可以透過利用差分訊號來更快地控制傳輸頻率。另外,PCIe裝置可以包括複數個通路來控制頻寬。例如,兩個PCIe裝置可以形成由1、2、4、8、12、16或64個通路組成的鏈路。
圖5是示出根據本揭示內容的實施例的埠的示圖。
如圖5所示,下游埠215-1和上游埠215-2可以分別包括在第一PCIe裝置200-1和第二PCIe裝置200-2中。
根據實施例,與第二PCIe裝置200-2相比,第一PCIe裝置200-1可以是上層。資料移動和傳送到上層可以被稱爲「上游」。另一方面,資料移動和傳送到下層可以被稱爲「下游」。例如,參照圖1,交換機140可以支持下游和上游路由。更具體地,上游可以指從PCIe端點(例如,150_1)向上一層級路由到根聯合體120,並且下游可以指遠離根聯合體120向下一層級路由到PCIe端點(例如,150_2)。
根據實施例,包括下游埠215-1的第一PCIe裝置200-1可以被稱爲「上游組件」。上游組件可以指示圖1的根聯合體120或交換機140。另外,包括上游埠215-2的第二PCIe裝置200-2可以被稱爲「下游組件」。例如,下游組件可以是如圖1所示的交換機140、PCIe端點150_1~150_3、傳統端點160_1和傳統端點160_2以及PCIe至PCI/PCI-X橋170中的一個。
下游埠215-1和上游埠215-2中的每一個可以包括發送器Tx、接收器Rx和鎖相環(PLL)電路。PLL電路可以透過乘以從時脈訊號生產器CLK GEN提供的訊號來產生要供應到發送器Tx或接收器Rx的時脈訊號。PLL電路可以乘以從時脈訊號生產器CLK GEN接收的訊號以產生具有改變頻率的時脈訊號。例如,PLL電路可以乘以具有100 MHz頻率的參考時脈訊號REFCLK以產生具有2.5G Hz頻率的時脈訊號。發送器Tx可以透過使用PLL電路的輸出訊號來將平行資料訊號轉換爲序列資料訊號,並且可以將序列資料訊號發送到例如外部PCIe裝置的外部裝置。接收器Rx可以接收從外部裝置發送的序列資料訊號,以透過使用PLL電路的輸出訊號來產生用於恢復所接收的序列資料訊號的時脈訊號和用於將所恢復的序列資料訊號轉換爲平行資料訊號的時脈訊號。時脈訊號產生器CLK GEN可以產生在PCIe介面的操作中使用的參考時脈訊號REFCLK。PCIe介面的操作可以對應於與外部PCIe裝置的通訊。
圖6是示出根據本揭示內容的實施例的PCIe裝置的鏈路狀態的示圖。
如圖6所示,PCIe裝置的鏈路狀態可以包括檢測、輪詢、配置、熱重設、失能和L0狀態。
檢測狀態可以指在通電或重設之後的初始狀態。檢測狀態可以從將在下面要描述的狀態進入。例如,檢測狀態可以從配置狀態、熱重設狀態、失能狀態、L2狀態、回環狀態和恢復狀態進入。在檢測狀態下,可以重設所有邏輯、埠和暫存器,並且可以檢測耦接到PCIe介面的鏈路。換句話說,處於檢測狀態的PCIe裝置可以搜尋物理地耦接的通路。
在輪詢狀態下,可以將啓用資料通訊的通路與所檢測到的通路區分開。在輪詢狀態下,例如可以同步PCIe介面兩端的時脈並且可以確認通路的極性是D+還是D-。另外,可以檢查可用於通路的資料傳輸速度。換句話說,在輪詢狀態下,可以檢查極性反轉。另外,處於輪詢狀態的鏈路可以進入檢測狀態或配置狀態。
在配置狀態下,可以檢查通路的連接狀態。更具體地,在配置狀態下,可以確定啓用資料通訊的通路寬度。另外,在配置狀態下,可以檢查通路反向。配置狀態可以從輪詢狀態進入。然而,可選地,在進入L0狀態之後,在通路減少或通路寬度增加的情况下可以進入配置狀態。
恢復狀態可以用於重新配置鏈路頻寬。在恢復狀態下,可以改變設置鏈路的鏈路頻寬,並且可以重設位元鎖定、符號鎖定以及通路對齊(lane-to-lane de-skew)。當L0狀態發生錯誤時,可以進入恢復狀態。下文中,在恢復狀態中恢復錯誤之後,狀態可以改變爲L0狀態。另外,根據實施例,在恢復狀態下,可以執行鏈路的均衡操作。
L0狀態可以是透過鏈路發送和接收資料以及資料包的正常操作狀態。更具體地,L0狀態可以是可以發送和接收資料和控制資料包的物理匯流排介面的操作狀態。L0狀態可以是完全活化狀態。
L0s狀態可以指物理匯流排介面可以快速從節電狀態進入並在不經恢復狀態的情况下從節電狀態中恢復的狀態。L0s狀態可以是省電狀態。L0s狀態可以指介面中的一些功能的空閒狀態或待機狀態。
L1狀態可以爲省電狀態。L1狀態可以指允許比L0s狀態更加省電的狀態。L1狀態可以是低功率待機狀態。
L2狀態可以是大力節省電力的省電狀態。大多數發送器和接收器都可以被關閉。雖然不保證提供主電源和時脈,但可以提供輔助電源。L2狀態可以是不向大多數功能供應電力的低功率睡眠狀態。
回環狀態可以旨在使用測試和故障隔離。回環狀態可以基於每個通路來進行操作,並且必須選擇和配置回環接收通路。
失能狀態可以是允許失能設置鏈路直到被指示的狀態。熱重設狀態僅可以由下游埠觸發。下游埠可以使用訓練序列(例如,TS1或TS2)來傳播熱重設。訓練序列(TS)可以由用於初始化位元對齊、符號對齊並且用於物理層參數交換的有序集組成。在本說明書中,「訓練序列」可以被稱爲「訓練序列有序集」。
圖7是示出根據本發明的實施例的PCIe裝置的示圖。
PCIe裝置700可以包括複數個埠P0~Pn和鏈路控制器710。
複數個埠P0~Pn可以形成複數個通路。例如,如圖4所示,一個埠可以與另一PCIe裝置中的一個埠形成一個通路。根據本揭示內容的實施例,複數個埠P0~Pn中的每一個可以是下游埠,或者複數個埠P0~Pn中的每一個可以是上游埠。例如,當複數個埠P0~Pn是下游埠時,PCIe裝置700可以是上游組件。另外,當複數個埠P0~Pn是上游埠時,PCIe裝置700可以是下游組件。複數個埠P0~Pn中的每一個可以包括接收器和發送器。
鏈路控制器710可以設置鏈路。鏈路可以包括複數個埠P0~Pn。換句話說,可以利用複數個埠P0~Pn來形成鏈路。例如,鏈路控制器710可以執行用於設置鏈路的鏈路設置操作。鏈路設置操作可以是指對鏈路進行初始化和配置以使鏈路正常操作的處理。鏈路設置操作可以指根據PCIe裝置的規範的鏈路初始化和訓練操作。
根據實施例,鏈路控制器710可以包括鏈路訓練狀態機(LTSSM)。LTSSM可以是用於執行鏈路設置操作的組件。
鏈路控制器710可以執行鏈路寬度和通路編號協商(negotiation)。鏈路寬度可以指示形成鏈路的通路數量。例如,鏈路控制器710可以在設置鏈路時確定鏈路寬度。通路編號可以指示分配給每個通路的編號。例如,在鏈路設置處理期間,鏈路控制器710可以協商要分配給每個通路的編號,並根據協商確定每個通路的編號。所確定的通路編號可以傳送到另一PCIe裝置,然後該PCIe裝置可以接收相應的通路編號。
根據實施例,鏈路控制器710可以在鏈路設置處理期間檢測複數個通路之中的故障通路。故障通路可以具有無法與其他通路形成鏈路的狀態。其餘通路可以指除了故障通路之外的所有通路。例如,當通路中包括的發送路徑或接收路徑中發生錯誤時,相應通路可以是故障通路。當傳輸資料時,故障通路可能無法正常操作。例如,當鏈路處於檢測狀態時,鏈路控制器710可以透過執行與檢測狀態相對應的鏈路設置操作來檢測故障通路。可以執行與檢測狀態相對應的鏈路設置操作以將鏈路設置在檢測狀態並且可以包括用於檢測鏈路兩端的操作。例如,鏈路的兩端可以是透過鏈路相互耦接的不同PCIe裝置中包括的埠。下文中,鏈路控制器710可以對除了故障通路之外的其餘通路執行與檢測狀態相對應的鏈路設置操作。
另外,當鏈路處於輪詢狀態時,鏈路控制器710可以透過執行與輪詢狀態相對應的鏈路設置操作來檢測故障通路。可以執行與輪詢狀態相對應的鏈路設置操作以設置鏈路並且可以包括發送和接收訓練序列有序集的操作。例如,與輪詢狀態相對應的鏈路設置操作可以包括在透過鏈路耦接的埠之間發送和接收訓練序列有序集。下文中,鏈路控制器710可以對其餘通路執行與輪詢狀態相對應的鏈路設置操作。
根據實施例,鏈路控制器710可以將鏈路設置爲具有包括其餘通路的鏈路寬度。例如,當鏈路處於配置狀態時,可以對其餘通路執行與配置狀態相對應的鏈路設置操作。可以執行與配置狀態相對應的鏈路設置操作以將鏈路設置在配置狀態。例如,與配置狀態相對應的鏈路設置操作可以包括設置鏈路寬度、確定通路編號和執行通路對齊操作。
例如,鏈路控制器710可以確定處於配置狀態的鏈路的鏈路編號和其餘通路中的每一個的通路編號。鏈路控制器710可以透過通路編號協商操作確定其餘通路中的每一個的通路編號。根據實施例,鏈路控制器710可以確定其餘通路中的每一個的通路編號,並且其餘通路中的每一個的通路編號可以依序地增大或減小。
根據實施例,鏈路控制器710可以透過複數個埠P0~Pn將所確定的鏈路編號和其餘通路中的所確定的通路編號提供到其他埠,其他埠與複數個埠P0~Pn形成複數個通路。其他埠可以包括在與PCIe裝置700不同的另一PCIe裝置中。例如,鏈路控制器710可以透過使用訓練序列有序集將所確定的鏈路編號和其餘通路中的每一個的所確定的通路編號提供給其他埠。另一PCIe裝置可以接收鏈路編號和其餘通路中的每一個的通路編號。
圖8A和圖8B是示出根據本揭示內容的實施例的鏈路設置操作的示圖。
參照圖8A,第一PCIe裝置700-1和第二PCIe裝置700-2每個都可以配置圖7的PCIe裝置700。例如,第一PCIe裝置700-1可以包括複數個下游埠P0~P7。另外,第二PCIe裝置700-2可以包括複數個上游埠P0’~P7’。然而,根據其他實施例,第一PCIe裝置700-1中包括的埠可以是上游埠,而第二PCIe裝置700-2中的埠可以是下游埠。根據實施例,第一PCIe裝置700-1可以包括下游埠並且第二PCIe裝置700-2可以包括上游埠。另外,如圖8A所示,第一PCIe裝置700-1和第二PCIe裝置700-2中的每一個可以包括八個埠。然而,埠的數量可以改變。
複數個下游埠P0~P7可以與複數個上游埠P0’~P7’形成複數個通路。第零下游埠P0和第零上游埠P0’可以形成第零通路Lane 0,第一下游埠P1和第一上游埠P1’可以形成第一通路Lane 1,第二下游埠P2和第二上游埠P2’可以形成第二通路Lane 2,第三下游埠P3和第三上游埠P3’可以形成第三通路Lane 3,第四下游埠P4和第四上游埠P4’可以形成第四通路Lane 4,第五下游埠P5和第五上游埠P5’可以形成第五通路Lane 5,第六下游埠P6和第六上游埠P6’可以形成第六通路Lane 6,第七下游埠P7和第七上游埠P7’可以形成第七通路Lane 7。上述形成通路的操作可以與鏈路寬度和通路編號協商操作一起發生。
圖8B示出了在第一PCIe裝置700-1和第二PCIe裝置700-2設置鏈路時第五下游埠P5與第五上游埠P5’之間的通路與故障通路相對應的示例。
第一PCIe裝置700-1可以對複數個下游埠P0~P7執行通路編號協商,以使複數個下游埠P0~P7的埠編號依序地增大。因此,根據PCIe規範,因爲第五下游埠P5與第五上游埠P5’之間的通路是故障通路,所以可以不執行第六下游埠P6與第七下游埠P7的通路編號協商。第六下游埠P6與第六上游埠P6’之間的通路以及第七下游埠P7與第七上游埠P7’之間的通路都可以處於電空閒狀態(electrically idle)。
另外,根據PCIe規範,鏈路寬度可以由第一通路、第二通路、第四通路、第八通路、第十二通路、第十六通路和第三十二通路中的一個來確定。因此,例如,第一PCIe裝置700-1可以將鏈路設置爲具有包括四個通路Lane 0~Lane 3的鏈路寬度。鏈路可以僅由四個通路Lane 0~Lane 3來組成。雖然第四下游埠P4和第四上游埠P4’之間的通路不是故障通路,但是該通路可以處於電空閒狀態。
然而,因爲第四下游埠P4與第四上游埠P4’之間的通路,第六下游埠P6與第六上游埠P6’之間的通路以及第七下游埠P7與第七上游埠P7’之間的通路不可用,所以PCIe裝置的性能可能劣化。因此,可能需要排除故障通路的操作以及使用允許的其餘通路來形成鏈路的方法。
圖9是示出根據本揭示內容的實施例的確定鏈路編號的操作的示圖。
參照圖9,第一PCIe裝置700-1可以在檢測狀態或輪詢狀態透過鏈路設置操作來檢測故障通路。
第一PCIe裝置700-1可以確定處於配置狀態的鏈路編號Link N。第一PCIe裝置700-1可以向上游埠P0’至上游埠P4’、上游埠P6’和上游埠P7’提供訓練序列有序集TS,訓練序列有序集TS包括關於透過除了耦接到故障通路的第五下游埠P5之外的下游埠P0至下游埠P4、下游埠P6和下游埠P7的鏈路編號的資訊LINK_NUM。第二PCIe裝置700-2可以透過上游埠P0’至上游埠P4’、上游埠P6’和上游埠P7’接收訓練序列有序集TS,並且可以接收鏈路編號Link N。
圖10是示出根據本揭示內容的實施例的確定通路編號的操作的示圖。
參照圖10,第一PCIe裝置700-1可以在檢測狀態或輪詢狀態透過鏈路設置操作來檢測故障通路。
第一PCIe裝置700-1可以確定除了故障通路之外的處於配置狀態的其餘通路中的每一個的通路編號。第一PCIe裝置700-1可以確定其餘通路中的每一個的通路編號,使得其餘通路的通路編號可以依序地增大或減小。例如,第一PCIe裝置700-1可以將從第零下游埠P0與第零上游埠P0’之間的通路至第七下游埠P7與第七上游埠P7’之間的通路的通路編號依序地增大。因此,在該示例中,第零下游埠P0與第零上游埠P0’之間的通路可以被確定爲第零通路Lane 0。第一下游埠P1與第一上游埠P1’之間的通路可以被確定爲第一通路Lane 1。第二下游埠P2與第二上游埠P2’之間的通路可以被確定爲第二通路Lane 2。第三下游埠P3與第三上游埠P3’之間的通路可以被確定爲第三通路Lane 3。第四下游埠P4與第四上游埠P4’之間的通路可以被確定爲第四通路Lane 4。第五下游埠P5與第五上游埠P5’之間的通路可以被確定爲第五通路Lane 5。第六下游埠P6與第六上游埠P6’之間的通路可以被確定爲第六通路Lane 6。爲了便於說明,圖10示出了其餘通路的通路編號依序地增大。然而,也可以利用確定其餘通路的通路編號依序地減小的操作。
另外,第一PCIe裝置700-1可以向上游埠P0’至上游埠P4’、上游埠P6’和上游埠P7’提供訓練序列有序集TS,訓練序列有序集TS包括關於透過除了耦接到故障通路的第五下游埠P5之外的下游埠P0至下游埠P4、下游埠P6和下游埠P7的通路編號的資訊LANE_NUM。例如,第零下游埠P0可以透過訓練序列有序集TS向第零上游埠P0’提供關於第零通路Lane 0的資訊。第一下游埠P1可以透過訓練序列有序集TS向第一上游埠P1’提供關於第一通路Lane 1的資訊。第二下游埠P2可以透過訓練序列有序集TS向第二上游埠P2’提供關於第二通路Lane 2的資訊。第三下游埠P3可以透過訓練序列有序集TS向第三上游埠P3’提供關於第三通路Lane 3的資訊。第四下游埠P4可以透過訓練序列有序集TS向第四上游埠P4’提供關於第四通路Lane 4的資訊。第六下游埠P6可以透過訓練序列有序集TS向第六上游埠P6’提供關於第五通路Lane 5的資訊。第七下游埠P7可以透過訓練序列有序集TS向第七上游埠P7’提供關於第六通路Lane 6的資訊。
第二PCIe裝置700-2可以透過上游埠P0’至上游埠P4’、上游埠P6’和上游埠P7’接收訓練序列有序集TS,並且接收通路編號Lane 0~Lane 6。
因此,根據實施例,可以透過將鏈路設置爲具有包括故障通路之外的其餘通路的鏈路寬度,使用活化操作或允許通路形成鏈路。根據另一實施例,可以使用一些允許通路的操作而不是所有允許通路的操作來形成鏈路。例如,第二PCIe裝置700-2可以使用7個允許通路Lane 0~Lane 6之中的6個允許通路的操作來接收通路編號Lane 0~Lane 5。
圖11是示出根據本揭示內容的實施例的操作PCIe裝置的方法的示圖。
圖11的方法可以由如圖7所示的PCIe裝置700來執行。
參照圖11,在步驟S1101,PCIe裝置700可以在鏈路設置操作期間進入檢測狀態或輪詢狀態。
在步驟S1103,PCIe裝置700可以確定是否檢測到複數個通路之中的故障通路。例如,當鏈路處於檢測狀態時,PCIe裝置700可以透過與檢測狀態相對應的鏈路設置操作來檢測故障通路。另外,當鏈路處於輪詢狀態時,PCIe裝置700可以透過與輪詢狀態相對應的鏈路設置操作來檢測故障通路。
作爲步驟S1103的確定結果,當檢測到故障通路時,PCIe裝置700可以在步驟S1105確定鏈路編號和其餘通路中的每一個的通路編號。例如,PCIe裝置700可以確定其餘通路中的每一個的通路編號,使得在配置狀態中其餘通路的通路編號可以依序地增大或減小。
作爲步驟S1103的確定結果,當未檢測到故障通路時,PCIe裝置700可以在步驟S1107確定鏈路編號和所有通路的通路編號。
在步驟S1109,PCIe裝置700可以將所確定的鏈路編號和所確定的通路編號提供給另一PCIe裝置。另一PCIe裝置可以接收所確定的鏈路編號和所確定的通路編號。
根據本揭示內容,可以提供一種能夠在鏈路設置操作期間檢測到故障通路時設置使用其餘通路的鏈路的PCIe裝置以及包括該PCIe裝置的計算系統。
另外,根據本揭示內容,當在鏈路設置操作期間檢測到故障通路時,可以透過將其餘通路配置爲邏輯連續的通路來提高PCIe裝置的性能。
在上述實施例中,可以選擇性地執行或跳過所有步驟。另外,每個實施例中的步驟可能並不總是按規律的順序執行。此外,本說明書和附圖中揭示的實施例旨在幫助本發明所屬技術領域中具有通常知識者更清楚地理解本揭示內容,而非旨在限制本揭示內容的範圍。換句話說,本發明所屬技術領域中具有通常知識者將能夠容易地理解的是,基於本揭示內容的技術範圍,可以進行各種修改。對於本發明所屬技術領域中具有通常知識者將顯而易見的是,在不脫離本發明的精神或範圍的情况下,可以對本揭示內容的上述示例性實施例進行各種修改。因此,本揭示內容旨在涵蓋所有這些修改,只要它們落在所附申請專利範圍及其等同方案的範圍內即可。
100:計算系統 110:中央處理單元 120:根聯合體 130:記憶體 140:交換機 150_1~150_3:PCIe端點 160_1:傳統端點 160_2:傳統端點 170:PCIe至PCI/PCI-X橋 200-1:第一PCIe裝置 200-2:第二PCIe裝置 210-1:第一PCIe介面 210-2:第二PCIe介面 215-1:下游埠 215-2:上游埠 700:PCIe裝置 700-1:第一PCIe裝置 700-2:第二PCIe裝置 710:鏈路控制器 CLK GEN:時脈訊號生產器 Lane 0~Lane 7:第零通路~第七通路 Link N:鏈路編號 LINK_NUM:鏈路編號的資訊 P0:埠 P1:埠 P2:埠 P3:埠 P4:埠 P5:埠 P6:埠 P7:埠 Pn:埠 P0’~P7’:埠 PLL:鎖相環 RX:接收器 RX1:第一接收器 RX2:第二接收器 S1101~S1109:步驟 TS:訓練序列有序集 TX:發送器 TX1:第一發送器 TX2:第二發送器
圖1是示出根據本揭示內容的實施例的計算系統的示圖。 圖2是示出根據本發明的實施例的PCIe裝置的示圖。 圖3是示出根據本揭示內容的實施例的PCIe介面的示圖。 圖4是示出根據本揭示內容的實施例的發送器、接收器和通路的示圖。 圖5是示出根據本揭示內容的實施例的埠的示圖。 圖6是示出根據本揭示內容的實施例的PCIe裝置的鏈路狀態的示圖。 圖7是示出根據本發明的實施例的PCIe裝置的示圖。 圖8A和圖8B是示出根據本揭示內容的實施例的鏈路設置操作的示圖。 圖9是示出根據本揭示內容的實施例的確定鏈路編號的操作的示圖。 圖10是示出根據本揭示內容的實施例的確定通路編號的操作的示圖。 圖11是示出根據本揭示內容的實施例的操作PCIe裝置的方法的示圖。
700:PCIe裝置
710:鏈路控制器
P0:埠
P1:埠
Pn:埠

Claims (20)

  1. 一種快速週邊元件互連(PCIe)裝置,包括: 複數個通路,包括複數個埠;以及 鏈路控制器,設置包括所述複數個通路的鏈路,其中所述鏈路被設置成具有包括除了所述複數個通路之中的故障通路之外的其餘通路的鏈路寬度, 其中所述複數個通路之中的所述故障通路具有無法與所述複數個通路之中的未發生故障的所述其餘通路形成所述鏈路的狀態。
  2. 如請求項1所述的PCIe裝置,其中,所述鏈路控制器包括設置所述鏈路的鏈路訓練狀態機(LTSSM)。
  3. 如請求項1所述的PCIe裝置,其中,當所述鏈路處於檢測狀態時,所述鏈路控制器透過與所述檢測狀態相對應的鏈路設置操作來檢測所述故障通路,並且對所述其餘通路執行與所述檢測狀態相對應的所述鏈路設置操作。
  4. 如請求項1所述的PCIe裝置,其中,當所述鏈路處於輪詢狀態時,所述鏈路控制器透過與所述輪詢狀態相對應的鏈路設置操作來檢測所述故障通路,並且對所述其餘通路執行與所述輪詢狀態相對應的所述鏈路設置操作。
  5. 如請求項1所述的PCIe裝置,其中,當所述鏈路處於配置狀態時,所述鏈路控制器對所述其餘通路執行與所述配置狀態相對應的鏈路設置操作。
  6. 如請求項5所述的PCIe裝置,其中,所述鏈路控制器分別確定處於所述配置狀態的所述鏈路的鏈路編號和所述其餘通路的通路編號。
  7. 如請求項6所述的PCIe裝置,其中,所述鏈路控制器透過通路編號協商操作來確定所述其餘通路的所述通路編號。
  8. 如請求項6所述的PCIe裝置,其中,所述鏈路控制器確定所述其餘通路的所述通路編號,以使所述通路編號依序地增大或減小。
  9. 如請求項6所述的PCIe裝置,其中,所述複數個通路包括複數個其他埠,並且所述鏈路控制器透過所述複數個埠向所述複數個其他埠提供所述鏈路編號和所述其餘通路的所述通路編號。
  10. 如請求項9所述的PCIe裝置,其中,所述鏈路控制器透過使用訓練序列有序集將所述鏈路編號和所述其餘通路的所述通路編號提供到所述複數個其他埠。
  11. 一種計算系統:包括: 第一PCIe裝置,包括複數個下游埠; 第二PCIe裝置,包括複數個上游埠;以及 鏈路,包括複數個通路,所述複數個通路包括所述複數個下游埠和所述複數個上游埠,並且向所述第一PCIe裝置發送資料和從所述第一PCIe裝置接收資料, 其中所述第一PCIe裝置將所述鏈路設置成具有包括除了所述複數個通路之中的故障通路之外的其餘通路的鏈路寬度,並且 其中所述故障通路具有所述故障通路無法與所述其餘通路形成所述鏈路的狀態。
  12. 如請求項11所述的計算系統,其中,所述第一PCIe裝置包括用於設置所述鏈路的鏈路訓練狀態機(LTSSM)。
  13. 如請求項11所述的計算系統,其中,當所述鏈路處於檢測狀態時,所述第一PCIe裝置透過與所述檢測狀態相對應的鏈路設置操作來檢測所述故障通路,並且對所述其餘通路執行與所述檢測狀態相對應的所述鏈路設置操作。
  14. 如請求項11所述的計算系統,其中,當所述鏈路處於輪詢狀態時,所述第一PCIe裝置透過與所述輪詢狀態相對應的鏈路設置操作來檢測所述故障通路,並且對所述其餘通路執行與所述輪詢狀態相對應的所述鏈路設置操作。
  15. 如請求項11所述的計算系統,其中,當所述鏈路處於配置狀態時,所述第一PCIe裝置對所述其餘通路執行與所述配置狀態相對應的鏈路設置操作。
  16. 如請求項15所述的計算系統,其中,所述第一PCIe裝置確定處於所述配置狀態的所述鏈路的鏈路編號和所述其餘通路的通路編號。
  17. 如請求項16所述的計算系統,其中,所述第一PCIe裝置透過通路編號協商操作來確定所述其餘通路的所述通路編號。
  18. 如請求項16所述的計算系統,其中,所述第一PCIe裝置確定所述其餘通路的所述通路編號,以使所述通路編號依序地增大或減小。
  19. 如請求項16所述的計算系統,其中,所述第一PCIe裝置透過所述複數個下游埠向所述複數個上游埠提供所述鏈路編號和所述其餘通路的所述通路編號,並且 其中所述第二PCIe裝置接收所述鏈路編號和所述其餘通路的所述通路編號。
  20. 如請求項19所述的計算系統,其中,所述第一PCIe裝置透過訓練序列有序集向所述複數個上游埠提供所述鏈路編號和所述其餘通路的所述通路編號。
TW111108729A 2021-05-24 2022-03-10 快速週邊元件互連裝置以及包括其的計算系統 TW202246976A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0066435 2021-05-24
KR1020210066435A KR102635457B1 (ko) 2021-05-24 2021-05-24 PCIe 장치 및 이를 포함하는 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
TW202246976A true TW202246976A (zh) 2022-12-01

Family

ID=84103708

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111108729A TW202246976A (zh) 2021-05-24 2022-03-10 快速週邊元件互連裝置以及包括其的計算系統

Country Status (4)

Country Link
US (1) US11797468B2 (zh)
KR (1) KR102635457B1 (zh)
CN (1) CN115391261A (zh)
TW (1) TW202246976A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112022003866T5 (de) * 2021-08-06 2024-05-29 Microchip Technology Incorporated Bestimmung der zuweisung von lanes eines peripheral component interconnect express-ports zu links

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645746B2 (en) 2010-12-03 2014-02-04 International Business Machines Corporation Cable redundancy and failover for multi-lane PCI express IO interconnections
JP5842491B2 (ja) * 2011-09-15 2016-01-13 株式会社リコー 中継装置および通信システム
TWI447588B (zh) 2011-10-07 2014-08-01 Asmedia Technology Inc 適應性驅動傳送資料的方法及其通信裝置
US9424226B1 (en) 2012-10-25 2016-08-23 Qlogic, Corporation Method and system for signal equalization in communication between computing devices
US9645965B2 (en) 2013-03-15 2017-05-09 Intel Corporation Apparatus, system, and method for improving equalization with a hardware driven algorithm
CN105793828B (zh) * 2013-12-26 2019-06-21 英特尔公司 具有pci快速增强的系统和方法
JP6110560B2 (ja) * 2014-04-02 2017-04-05 華為技術有限公司Huawei Technologies Co.,Ltd. PCIeリンク故障を処理する方法、装置及びシステム
US9710341B2 (en) * 2014-12-16 2017-07-18 Dell Products L.P. Fault tolerant link width maximization in a data bus
US9774389B2 (en) * 2015-09-01 2017-09-26 International Business Machines Corporation Dynamic link repair from lane failure with minimal link down-time while sparing fault channels
US20170346596A1 (en) 2016-05-27 2017-11-30 Intel Corporation Method, apparatus, and system for signal equalization
KR102569761B1 (ko) * 2016-10-05 2023-08-22 삼성전자주식회사 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
US10747688B2 (en) 2016-12-22 2020-08-18 Intel Corporation Low latency retimer
CN107066417A (zh) 2017-02-28 2017-08-18 郑州云海信息技术有限公司 一种链路参数在线调整的方法与装置
US10469291B2 (en) 2018-03-19 2019-11-05 Dell Products, Lp System and method to optimize equalization coefficients in a high-speed serial interface
US10698856B1 (en) 2018-12-18 2020-06-30 Ati Technologies Ulc Alternative protocol selection
DE112020000640T5 (de) 2019-01-31 2021-11-25 Tektronix, Inc. Systeme, Verfahren und Vorrichtungen für Hochgeschwindigkeits-Eingangs-/Ausgangs-Margin-Tests
US11815976B2 (en) 2019-05-22 2023-11-14 Qualcomm Incorporated Bandwidth based power management for peripheral component interconnect express devices
US11991025B2 (en) 2019-12-04 2024-05-21 Intel Corporation Transceiver parameter determination
CN112269752B (zh) 2020-10-10 2023-07-14 山东云海国创云计算装备产业创新中心有限公司 一种PCIe虚拟通道的数据处理方法及相关装置
WO2022115494A1 (en) 2020-11-24 2022-06-02 Tektronix, Inc. Systems, methods, and devices for high-speed input/output margin testing
KR102559387B1 (ko) 2021-05-25 2023-07-26 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법

Also Published As

Publication number Publication date
KR102635457B1 (ko) 2024-02-13
US20220374384A1 (en) 2022-11-24
KR20220158517A (ko) 2022-12-01
US11797468B2 (en) 2023-10-24
CN115391261A (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
US7945721B1 (en) Flexible control and/or status register configuration
US7356636B2 (en) Virtualized PCI switch
US8223745B2 (en) Adding packet routing information without ECRC recalculation
JP4928732B2 (ja) データ転送システム及び電子機器
US7752376B1 (en) Flexible configuration space
US11467909B1 (en) Peripheral component interconnect express interface device and operating method thereof
US11960424B2 (en) Peripheral component interconnect express (PCIe) interface device and method of operating the same
TW202248869A (zh) 快捷週邊組件互連介面裝置及其操作方法
TW202246976A (zh) 快速週邊元件互連裝置以及包括其的計算系統
US11815941B2 (en) Peripheral component interconnect express device and operating method thereof
US20230315591A1 (en) PCIe DEVICE AND COMPUTING SYSTEM INCLUDING THE SAME
US20240012770A1 (en) Interface device having plurality of ports and method of operating the same
US20230315672A1 (en) Interface device and computing system including the same
KR102519484B1 (ko) PCIe 인터페이스 장치 및 이를 포함하는 시스템
US20220382696A1 (en) Peripheral component interconnect express device and operating method thereof
US11960367B2 (en) Peripheral component interconnect express device and operating method thereof
KR102669923B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
TW202240422A (zh) 執行通信的裝置和包括該裝置的計算系統