[go: up one dir, main page]

TWI895591B - 高速週邊組件互連裝置及其操作方法 - Google Patents

高速週邊組件互連裝置及其操作方法

Info

Publication number
TWI895591B
TWI895591B TW111105800A TW111105800A TWI895591B TW I895591 B TWI895591 B TW I895591B TW 111105800 A TW111105800 A TW 111105800A TW 111105800 A TW111105800 A TW 111105800A TW I895591 B TWI895591 B TW I895591B
Authority
TW
Taiwan
Prior art keywords
link
port
pcie
state
host
Prior art date
Application number
TW111105800A
Other languages
English (en)
Other versions
TW202246997A (zh
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 TW202246997A publication Critical patent/TW202246997A/zh
Application granted granted Critical
Publication of TWI895591B publication Critical patent/TWI895591B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

本發明係關於一種操作包括第一埠和第二埠的高速週邊組件互連(Peripheral Component Interconnect Express, PCIe)裝置的方法,該方法包括:執行第一鏈路訓練操作以將第一主機與第一埠的第一鏈路鏈接;當第一鏈路訓練操作完成時,在單埠模式下操作;回應於從第一主機接收的模式改變請求,執行通道減少操作以減少與第一鏈路相對應的通道;並且當第一鏈路的狀態為L0狀態時,執行第二鏈路訓練操作以將第二主機與第二埠的第二鏈路鏈接。

Description

高速週邊組件互連裝置及其操作方法
各個實施例總體上係關於一種電子裝置,並且更特別地,係關於一種高速週邊組件互連(Peripheral Component Interconnect Express,PCIe)裝置及其操作方法。
高速週邊組件互連(Peripheral Component Interconnect Express,PCIe)是指具有用於資料通信的串列配置的介面。基於PCIe的儲存裝置可以支援多埠和多功能。基於PCIe的儲存裝置可以是虛擬化的或非虛擬化的,並且透過至少一種PCIe功能來實現主機I/O命令的服務品質(Quality of Service,QoS)。
儲存裝置可以在諸如計算機或智慧型手機的主機裝置的控制下儲存資料。儲存裝置可以包括儲存資料的記憶體裝置以及控制記憶體裝置的記憶體控制器。記憶體裝置可以劃分為揮發性記憶體裝置和非揮發性記憶體裝置。
揮發性記憶體裝置只要供電就可以保持資料,並且在沒有供電的情況下可能會丟失所儲存的資料。揮發性記憶體裝置的類型可以包括靜態隨 機存取記憶體(Static Random Access Memory,SRAM)、動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)等。
非揮發性記憶體裝置即使在沒有供電的情況下也不會丟失資料。非揮發性記憶體裝置的類型可以包括唯讀記憶體(Read Only Memory,ROM)、可編程ROM(Programmable ROM,PROM)、電可編程ROM(Electrically Programmable ROM,EPROM)、電可擦除可編程ROM(Electrically Erasable and Programmable ROM,EEPROM)、快閃記憶體等。
本申請請求於2021年5月26日向韓國智慧財產局提交的、申請號為10-2021-0067690的韓國專利申請的優先權,該韓國專利申請的全部公開內容透過引用併入本文。
本公開的各個實施例涉及一種透過改變埠模式來操作改進的PCIe裝置的方法。
根據實施例,一種高速週邊組件互連(Peripheral Component Interconnect Express,PCIe)裝置可以包括:第一埠,使用第一鏈路與第一主機鏈接;第二埠,使用第二鏈路與第一主機或第二主機鏈接;以及埠模式控制器,控制第一埠和第二埠以將操作模式從第一埠和第二埠彼此獨立操作的雙埠模式改變為僅第一埠操作的單埠模式,其中埠模式控制器控制第二埠以在第一鏈路鏈接的狀態下重置第二鏈路。
根據實施例,一種高速週邊組件互連(Peripheral Component Interconnect Express,PCIe)裝置可以包括:第一埠,使用第一鏈路與第一主機鏈 接;第二埠,使用第二鏈路與第一主機或第二主機鏈接;以及埠模式控制器,控制第一埠和第二埠以將操作模式從僅第一埠操作的單埠模式改變為第一埠和第二埠彼此獨立操作的雙埠模式,其中埠模式控制器控制第二埠以在第一鏈路鏈接的狀態下執行鏈路訓練操作來鏈接第二鏈路。
根據實施例,一種操作包括第一埠和第二埠的高速週邊組件互連(Peripheral Component Interconnect Express,PCIe)裝置的方法可以包括:執行第一鏈路訓練操作以將第一主機與第一埠的第一鏈路鏈接;當第一鏈路訓練操作完成時,在單埠模式下操作;回應於從第一主機接收的模式改變請求,執行通道(lane)減少操作以減少與第一鏈路相對應的通道;並且當第一鏈路的狀態為L0狀態時,執行第二鏈路訓練操作以將第二主機與第二埠的第二鏈路鏈接。
根據實施例,一種操作包括第一埠和第二埠的高速週邊組件互連(Peripheral Component Interconnect Express,PCIe)裝置的方法可以包括:執行第一鏈路訓練操作以將第一主機與第一埠的第一鏈路鏈接,並且執行第二鏈路訓練操作以將第二主機與第二埠的第二鏈路鏈接;當第一鏈路訓練操作和第二鏈路訓練操作完成時,在第一鏈路和第二鏈路彼此獨立操作的雙埠模式下操作;回應於從第一主機或第二主機接收的模式改變請求,停用(deactivating)第二鏈路;並且當第二鏈路的停用完成時,執行通道增加操作以增加與第一鏈路相對應的通道。
10:第一鏈路
20:第二鏈路
100:PCIe計算系統
110:中央處理單元
120:根複合體
130:記憶體
140:交換機
150_1:PCIe端點
150_2:PCIe端點
150_3:PCIe端點
160_1:傳統端點
160_2:傳統端點
170:PCIe至PCI/PCI-X橋
200-1:第一PCIe裝置
200-2:第二PCIe裝置
210-1:第一PCIe介面
210-2:第二PCIe介面
211:PCIe內核
212:交易層
213:資料鏈路層
214:實體層
1000:PCIe裝置
1010:第一多路多工器
1020:第二多路多工器
1100:第一上游埠
1200:第二上游埠
1300:埠模式控制器
2000-1:第一PCIe主機
2000-2:第二PCIe主機
2100-1:第一下游埠
2100-2:第二下游埠
DualPortEN#:雙埠賦能信號
L0:狀態
L0s:狀態
L1:狀態
L2:狀態
PERST#1:第一PCIe重置信號
PERST#2:第二PCIe重置信號
Refclk#1:第一參考時脈
Refclk#2:第二參考時脈
Rx:接收器
RX1:第一接收器
RX2:第二接收器
RX3:第三接收器
RX4:第四接收器
Tx:發送器
TX1:第一發送器
TX2:第二發送器
TX3:第三發送器
TX4:第四發送器
S1210:步驟
S1220:步驟
S1230:步驟
S1240:步驟
S1310:步驟
S1320:步驟
S1330:步驟
S1340:步驟
〔圖1〕是示出根據本公開實施例的PCIe計算系統的示圖。
〔圖2〕是示出根據本公開實施例的PCIe裝置的示圖。
〔圖3〕是示出根據本公開實施例的PCIe介面的示圖。
〔圖4〕是示出根據本公開實施例的發送器、接收器和通道的示圖。
〔圖5〕是示出根據本公開實施例的雙埠模式和單埠模式的示圖。
〔圖6〕是示出根據本公開實施例的PCIe裝置的鏈路狀態的示圖。
〔圖7〕是示出根據本公開實施例的雙埠模式和單埠模式的示圖。
〔圖8〕是示出根據本公開實施例的雙埠模式和單埠模式的示圖。
〔圖9〕是示出根據本公開實施例的雙埠模式和單埠模式的示圖。
〔圖10〕是示出根據本公開實施例的雙埠模式和單埠模式的示圖。
〔圖11〕是示出根據本公開實施例的PCIe裝置的配置的示圖。
〔圖12〕是示出根據本公開實施例的將PCIe裝置從單埠模式改變為雙埠模式的方法的示圖。
〔圖13〕是示出根據本公開實施例的將PCIe裝置從雙埠模式改變為單埠模式的方法的示圖。
根據本說明書中公開的構思的實施例的示例的具體結構或功能描述僅用於描述根據該構思的實施例的示例。根據該構思的實施例的示例可以以各種形式執行,然而描述不限於本說明書中描述的實施例的示例。
可以根據該構思對實施例示例應用各種修改和改變,從而將在圖式中示出並且在說明書中描述實施例的示例。然而,根據本公開的構思的實施例不被解釋為限於特定的公開,而是包括不脫離本公開的精神和技術範圍的所有改變、等同方案或替代方案。在描述那些實施例時,將省略對本公開所屬 領域眾所習知的並且與本公開不直接相關的技術的描述。這旨在透過省略不必要的描述來更清楚地公開本公開的主旨。
在下文中,將參照圖式詳細描述本公開的示例性實施例。
圖1是示出根據本公開實施例的PCIe計算系統的示圖。
參照圖1,PCIe計算系統100可以包括中央處理單元(CPU)110、根複合體(root complex)120、記憶體130、交換機140、PCIe端點150_1至150_3、傳統端點(legacy endpoint)160_1和160_2以及PCIe至PCI/PCI-X橋170。
PCIe計算系統100可以是支援使用PCIe介面的通信的電子裝置。PCIe計算系統100可以是個人電腦(personal computer,PC)、筆記型電腦或行動計算裝置。PCIe計算系統100可以包括擴充卡、擴充板、適配卡、插件卡或附件卡。另外,PCIe計算系統100可以包括插入到PCIe計算系統100的主板上的電連接器或擴充槽中以透過擴充匯流排向PCIe計算系統100提供附加功能的印刷電路板(printed circuit board,PCB)。另外,PCIe計算系統100可以包括諸如固態硬碟(SSD)的儲存裝置,並且可以包括圖形卡、網路卡或USB卡。
CPU 110可以電聯接到PCIe計算系統100的組件中的每一個並且可以控制PCIe計算系統100的各個操作。更具體地,CPU 110可以驅動作業系統或應用程序來控制聯接到CPU 110的硬體或軟體的組件,並且可以執行各種類型的資料處理和操作。另外,CPU 110可以執行用於控制PCIe計算系統100的操作的軟體或應用。
根複合體120可以是PCIe互連架構中的根集線器、控制器集線器或根控制器。例如,根複合體120可以包括晶片組、記憶體控制器集線器(memory controller hub,MCH)、北橋、互連控制器集線器(interconnect controller hub,ICH)、南橋和根控制器/集線器。另外,根複合體120可以將CPU 110和記憶體130連接到I/O層次結構。根複合體120可以支援對等(peer-to-peer,P2P)路由。根複合體120可以包括至少一個主橋和根埠。根複合體120可以支援至少一個PCIe埠。
記憶體130可以儲存PCIe計算系統100操作所需的資料、命令或程序代碼。根據實施例,記憶體130可以儲存可操作以運行一個或多個作業系統(operating systems,OS)和虛擬機(virtual machines,VM)的程序代碼,以及運行用於管理虛擬機(virtual machines,VM)的虛擬化中介(virtualization intermediary,VI)的程序代碼。另外,記憶體130可以被實現為諸如DRAM或SRAM的揮發性記憶體裝置。
交換機140可以向上游或下游路由封包或訊息。更具體地,交換機140可以從PCIe端點(例如,150_1)向根複合體120沿層次結構向上路由封包或訊息。然而,選擇性地,交換機140可以從根複合體120向PCIe端點(例如,150_2)沿層次結構向下路由封包或訊息。
交換機140可以被稱為多個虛擬PCI到PCI橋裝置的邏輯組件。連接到交換機140的裝置的示例可以包括待聯接到電子系統的任何內部或外部裝置或組件,諸如I/O裝置、網路介面控制器(Network Interface Controller,NIC)、插件卡、音訊處理器、網路處理器、硬碟驅動器、儲存裝置、CD/DVD ROM、監控器、印表機、滑鼠、鍵盤、路由器、可攜式儲存裝置、火線裝置、通用串列匯流排(Universal Serial Bus,USB)裝置、掃描器和其他輸入/輸出裝置。
PCIe端點150_1至150_3以及傳統端點160_1和160_2中的每一個可以用作PCIe交易(transaction)的請求者或完成者。由PCIe端點150_1至150_3以 及傳統端點160_1和160_2所發送或接收的交易層封包(transaction layer packet,TLP)可以提供配置空間標頭(configuration space header)。另外,PCIe端點150_1至150_3以及傳統端點160_1和160_2中的每一個可以作為完成者提供配置請求。在特定條件下,由PCIe端點150_1至150_3以及傳統端點160_1和160_2所發送或接收的交易層封包(transaction layer packet,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和150_2與傳統端點160_1和160_2可以向交換機140發送TLP或者從交換機140接收TLP。
圖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可以包括PCIe內核211、交易層212、資料鏈路層213和實體層214。層(212、213和214)中的每一個可以包括兩個部分。更具體地,一個部分TX可以處理出站資訊(或待發送的資訊),而另一部分RX可以處理入站資訊(或接收到的資訊)。另外,第一PCIe介面210-1可以使用封包與其他PCIe介面進行資訊通信。
PCIe內核211可以控制整個第一PCIe介面210-1。更具體地,PCIe內核211可以包括用於操作介面的軟體層。另外,PCIe內核211可以向交易層212傳送位址、交易類型和資料,或者可以從交易層212接收位址、交易類型和資料。
交易層212可以是PCIe介面的架構中的上層。交易層212可以組裝和分解交易層封包(transaction layer packet,TLP)。另外,交易層212可以實施 拆分交易,即,允許其他流量被發送到鏈路而目標系統組裝用於回應的資料的交易。例如,交易層212可以實施請求和回應在時間上彼此分開的交易。根據實施例,四個交易位址空間可以由配置位址空間、記憶體位址空間、輸入/輸出位址空間和訊息位址空間組成。記憶體空間交易可以包括用於從記憶體映射位置發送資料或者向記憶體映射位置發送資料的讀取請求和寫入請求中的至少一個。根據實施例,記憶體空間交易可以使用兩種不同的位址格式,例如,諸如32位元位址的短位址格式,或者諸如64位元位址的長位址格式。配置空間交易可以用於存取PCIe裝置的配置空間。涉及配置空間的交易可以包括讀取請求和寫入請求。可以定義訊息空間交易(或訊息)以支援PCIe裝置之間的帶內通信。
交易層212可以儲存從PCIe內核211接收的鏈路配置資訊。另外,交易層212可以生成PCIe內核211所請求的TLP或者可以將接收到的TLP轉換為有效載荷或狀態資訊。
PCIe介面架構中的中間層可以是資料鏈路層213。資料鏈路層213可以用作交易層212和實體層214之間的中間級。資料鏈路層213的主要職責可以包括鏈路管理和資料完整性,包括錯誤檢測和錯誤校正。更具體地,資料鏈路層213的發送側可以接受交易層212所組裝的TLP、應用資料保護代碼或者計算TLP序列號。另外,資料鏈路層213的發送側可以向實體層214發送資料保護碼和TLP序列號。資料鏈路層213的接收側可以檢查從實體層214接收的TLP的完整性並且將TLP發送到交易層212以供進一步處理。
實體層214可以包括用於介面操作的電路。實體層214可以包括驅動器、輸入緩衝器、串列至並列轉換電路、並列至串列轉換電路、鎖相迴路(phase locked loop,PLL)和阻抗匹配電路。
另外,實體層214可以包括邏輯子塊和電氣子塊,其將封包實體地發送到外部PCIe裝置。邏輯子塊可以用於執行實體層214的“數位”功能。更具體地,邏輯子塊可以包括透過實體子塊準備發送資訊的發送部分,以及在將接收到的資訊傳遞到資料鏈路層213之前識別和準備接收到的資訊的接收部分。實體層214可以包括發送器Tx和接收器Rx。發送器Tx可以向外部裝置發送邏輯子塊所序列化的符號。另外,接收器Rx可以從外部裝置接收序列化的符號並且將接收到的信號轉換為位元流。位元流可以被反序列化並被提供到邏輯子塊。換言之,實體層214可以將從資料鏈路層213接收的TLP轉換為序列化格式並將從外部裝置接收的封包轉換為反序列化格式。另外,實體層214可以包括與介面初始化和維護相關的邏輯功能。
圖3示出了第一PCIe介面210-1和第二PCIe介面210-2的架構。然而,其他實施例中的PCIe介面架構可以包括任何架構,諸如高速通道互連架構、下一代高性能計算互連架構或其他分層架構。
圖4是示出根據本公開實施例的發送器、接收器和通道的示圖。
圖4示出了第一發送器TX1、第二發送器TX2、第一接收器RX1和第二接收器RX2。通道可以包括路徑,該路徑包括差分驅動信號對,例如被配置用於發送的發送路徑對和被配置用於接收的接收路徑對。PCIe裝置可以包括向另一個PCIe裝置發送資料的發送邏輯以及從另一個PCIe裝置接收資料的接收邏輯。例如,PCIe裝置可以包括聯接到第一發送器TX1的兩條發送路徑和聯接到第一接收器RX1的兩條接收路徑。
發送路徑可以指用於資料發送的任意路徑,諸如發送線、銅線、無線通信頻道、紅外通信鏈路或其他通信路徑。另外,接收路徑可以以與發送路徑相同的方式實現,並且接收路徑可以用於接收。
例如圖2所示的第一PCIe裝置200-1和第二PCIe裝置200-2的兩個PCIe裝置之間的連接可以被稱為鏈路。一個鏈路可以支援至少一個通道。另外,每個通道可以由一組差分信號對(一對用於發送,另一對用於接收)表示。差分信號對可以指具有相同頻率和幅度但相位相反的兩個信號。例如,當第一信號具有從0切換到電壓位準V+的上升沿時,第二信號可以具有從0切換到電壓位準V-的下降沿。例如,PCIe裝置可以使用信號完整性,諸如交叉聯接、電壓過衝/下衝、振鈴(ringing)的電氣特性,並且可以透過使用差分信號更快地控制發送頻率。另外,PCIe裝置可以包括多個通道來控制帶寬。例如,兩個PCIe裝置可以形成由1、2、4、8、12、16或64個通道組成的鏈路。
圖5是示出根據本公開實施例的雙埠模式和單埠模式的示圖。
參照圖5,PCIe裝置1000可以與第一PCIe主機2000-1和第二PCIe主機2000-2鏈接。鏈接可以指建立連接以賦能(enable)邏輯資料通信的狀態。與PCIe裝置1000相比,第一PCIe主機2000-1和第二PCIe主機2000-2可以在上層。另外,資料移動和發送到上層可以被稱為“上游”,並且支援上游的埠可以被稱為“上游埠”。另一方面,資料移動和發送到下層可以被稱為“下游”,並且支援下游的埠可以被稱為“下游埠”。例如,參照圖1,交換機140可以支援下游和上游路由。更具體地,上游可以指從PCIe端點(例如,150_1)向根複合體120沿層次結構向上路由,並且下游可以指從根複合體120向PCIe端點(例如,150_2)沿層次結構向下路由。
PCIe裝置1000可以包括第一上游埠1100和第二上游埠1200。另外,PCIe裝置1000可以以雙埠模式與第一PCIe主機2000-1和第二PCIe主機2000-2執行資料通信,其中第一上游埠1100和第二上游埠1200彼此獨立地操作。
更具體地,PCIe裝置1000中包括的第一上游埠1100可以使用第一鏈路10與第一PCIe主機2000-1鏈接。另外,PCIe裝置1000中包括的第二上游埠1200可以使用第二鏈路20與第二PCIe主機2000-2鏈接。第一上游埠1100可以與第一PCIe主機2000-1的第一下游埠2100-1鏈接。第二上游埠1200可以與第二PCIe主機2000-2的第二下游埠2100-2鏈接。第一鏈路10和第二鏈路20中的每一個的鏈路寬度可以包括諸如x1、x2、x4、x8、x12、x16、x32和x64的通道。
根據實施例,當PCIe裝置1000在雙埠模式下操作時,在第一上游埠1100和第一下游埠2100-1之間的第一鏈路10中發生的錯誤(例如,時脈錯誤)可以不影響第二上游埠1200和第二下游埠2100-2之間的第二鏈路20。
根據實施例,第一上游埠1100和第二上游埠1200中的每一個可以包括PCIe介面和鏈路訓練狀態機(Link Training & Status State Machine,LTSSM)(也稱為鏈路訓練模組)。換言之,第一上游埠1100和第二上游埠1200的PCIe介面和LTSSM可以彼此獨立。更具體地,第一上游埠1100可以包括第一LTSSM1,第二上游埠1200可以包括第二LTSSM2。另外,第一LTSSM1和第二LTSSM2可以獨立地執行第一鏈路10的鏈路訓練和第二鏈路20的鏈路訓練。
圖6是示出根據本公開實施例的PCIe裝置的鏈路狀態的示圖。
如圖6所示,PCIe裝置的鏈路狀態可以包括檢測、輪詢、配置、熱重置、去能(disabled)和L0狀態。
檢測狀態可以指上電(power on)或重置(reset)之後的初始狀態。可以從以下待描述的狀態進入檢測狀態。例如,可以從配置狀態、熱重置狀態、去能狀態、輪詢狀態、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至圖10是示出根據本公開實施例的雙埠模式和單埠模式的示圖。
在圖7至圖10中,PCIe Phy被設計為將在高性能計算中發現的困難系統環境中的介面速度最大化。PCIe Phy是一種採用面向系統的方法設計以最大限度地提高靈活性並方便客戶集成的功耗低、面積得到優化、矽驗證的 IP。多路多工器(Mux)是一種組合邏輯電路,旨在透過應用控制信號將若干條輸入線中的一條切換至單個公共輸出線。多路多工器的操作像非常快速的多位置旋轉開關,一次連接或控制多個被稱為“通道”的輸入線到輸出。
參照圖7至圖10,PCIe裝置1000(未示出)可以包括第一上游埠1100和第二上游埠1200。另外,第一上游埠1100可以與第一下游埠2100-1鏈接,第二上游埠1200可以透過獨立於第一上游埠1100操作的鏈路與第二下游埠2100-2鏈接。第一上游埠1100和第二上游埠1200中的每一個可以包括LTSSM,其控制實體或邏輯連接到LTSSM的鏈路的狀態。
根據實施例,PCIe裝置1000可以在鏈路鏈接的狀態下將操作模式從單埠模式改變為雙埠模式。選擇性地,PCIe裝置1000(具體地,其中的埠模式控制器)可以在至少一個鏈路鏈接的狀態下將操作模式從雙埠模式改變為單埠模式。埠模式控制器可以回應於來自第一主機的、從雙埠模式改變為單埠模式的模式改變請求,控制第二埠以重置第二鏈路。
參照圖7,雙埠模式可以被配置為使得PCIe裝置1000的第一上游埠1100和第二上游埠1200分別連接到第一下游埠2100-1和第二下游埠2100-2。根據實施例,第一下游埠2100-1和第二下游埠2100-2可以被包括在一個主機中並且被實現為獨立的埠。然而,選擇性地,第一下游埠2100-1和第二下游埠2100-2可以被包括在不同的主機中。參照圖7,連接到第一上游埠1100和第二上游埠1200的鏈路可以在邏輯上賦能資料通信。
參照圖8,PCIe裝置1000的第一上游埠1100和第二上游埠1200可以配置單埠模式,其中可以僅使用第一上游埠1100進行資料通信。更具體地,當PCIe裝置1000的操作模式從雙埠模式改變為單埠模式時,第一上游埠1100的 鏈路狀態可以是L0狀態,而第二上游埠1200的鏈路狀態可以處於鏈路鏈接被初始化的重置狀態(例如,冷重置、暖重置或熱重置),或者鏈路鏈接被去能的去能狀態。然而,當PCIe裝置1000的操作模式從單埠模式改變為雙埠模式時,第一上游埠1100的鏈路狀態可以是L0狀態,而第二上游埠1200的鏈路狀態可以是正在為鏈路連接執行鏈路訓練的狀態。例如,第二上游埠1200的鏈路狀態可以是檢測狀態、輪詢狀態和配置狀態中的一種。根據實施例,由於第一上游埠1100的鏈路狀態是L0狀態,因此無論第二上游埠1200的鏈路狀態如何,PCIe裝置1000都可以使用第一上游埠1100與第一下游埠2100-1保持資料通信。
參照圖9,PCIe裝置1000的第一上游埠1100和第二上游埠1200可以在可以僅使用第一上游埠1100進行資料通信的單埠模式下操作。更具體地,當PCIe裝置1000的操作模式從雙埠模式改變為單埠模式時,第一上游埠1100(或者LTSSM 1)可以回應於埠模式控制器的控制執行向上配置操作以增加配置鏈路的通道寬度。例如,第一上游埠1100可以將連接到第一上游埠1100的鏈路的通道寬度從X2通道增加到X4通道。更具體地,為了將第一上游埠1100的鏈路配置為具有最大通道寬度,第一LTSSM1可以將第一上游埠1100的鏈路狀態依次改變為L0狀態、恢復狀態和配置狀態,並且可以執行向上配置操作以增加每個狀態下的通道寬度。
另一方面,當PCIe裝置1000的操作模式從單埠模式改變為雙埠模式時,第一上游埠1100可以執行通道減少操作以減少配置鏈路的通道寬度。例如,第一上游埠1100可以將連接到第一上游埠1100的鏈路的通道寬度從X4通道減小到X2通道。更具體地,PCIe裝置1000可以減少第一上游埠1100的通道寬度以將操作模式從僅第一上游埠1100操作的單埠模式改變為第一上游埠1100和 第二上游埠1200彼此獨立操作的雙埠模式。第一LTSSM1可以以順序的方式將第一上游埠1100的鏈路狀態依次改變為L0狀態、恢復狀態和配置狀態,並且可以執行通道減少操作以減少每個狀態下的通道寬度。
參照圖10,PCIe裝置1000的第一上游埠1100和第二上游埠1200可以配置單埠模式,其中可以僅使用第一上游埠1100進行資料通信。根據實施例,連接到第一下游埠2100-1的鏈路可以以最大通道寬度來實現。然而,根據實施例,在第一上游埠1100和第二上游埠1200連接到同一主機的狀態下,如果在連接到第二上游埠1200的鏈路或資料通信中發生錯誤,則PCIe裝置1000可以僅使用第一上游埠1100來加速資料通信,直到錯誤被恢復。
參照圖7至圖10,PCIe裝置1000可以從主機接收操作模式改變請求以從雙埠模式改變為單埠模式。另外,回應於來自主機的操作模式改變請求,PCIe裝置1000可以將連接到第一上游埠1100和第二上游埠1200的鏈路的狀態依次改變為與圖8、圖9和圖10中的鏈路狀態相對應的鏈路狀態。
然而,參照圖7至圖10,PCIe裝置1000可以從主機接收操作模式改變請求以從雙埠模式改變為單埠模式。另外,回應於來自主機的操作模式改變請求,PCIe裝置1000可以將連接到第一上游埠1100和第二上游埠1200的鏈路的狀態依次改變為與圖10、圖9、圖8和圖7中的鏈路狀態相對應的鏈路狀態。
圖11是示出根據本公開實施例的PCIe裝置的配置的示圖。
參照圖11,PCIe裝置1000可以包括第一上游埠(也成為第一埠)1100、第二上游埠(也成為第二埠)1200和埠模式控制器1300。PCIe裝置1000可以僅使用第一上游埠1100在單埠模式下執行資料通信。更具體地,PCIe裝置1000可以透過使用第一至第四通道中的至少一個將第一上游埠1100與外部裝置 鏈接。圖11示出了具有四個通道的PCIe裝置1000,然而,本公開所設想的PCIe裝置包括的通道可以多於四個。
當PCIe裝置1000使用第一至第四通道在單埠模式下操作時,埠模式控制器1300可以控制第一多路多工器1010,使得可以將相同的參考時脈輸入到每個電路。更具體地,當PCIe裝置1000在單埠模式下操作時,埠模式控制器1300可以控制第一多路多工器(MUX 1)1010,使得可以將第一參考時脈Refclk#1輸入到被輸入到第一多路多工器1010的第一參考時脈Refclk#1和第二參考時脈Refclk#2之間的每個電路。另外,當PCIe裝置1000在單埠模式下操作時,埠模式控制器1300可以控制第二多路多工器(MUX 2)1020,使得可以將從第三通道和第四通道發送的信號發送到第一PCIe介面1。
另外,PCIe裝置1000可以使用第一上游埠1100和第二上游埠1200兩者在雙埠模式下執行資料通信。PCIe裝置1000可以使用第一上游埠1100和第二上游埠1200與至少一個主機鏈接。
當PCIe裝置1000在雙埠模式下操作時,PCIe裝置1000可以使用埠模式控制器1300控制內部電路。更具體地,當PCIe裝置1000在雙埠模式下操作時,埠模式控制器1300可以控制第一多路多工器1010,使得可以將第一參考時脈Refclk#1提供到第一上游埠1100,並且可以將不同於第一參考時脈Refclk#1的第二參考時脈Refclk#2提供到第二上游埠1200。另外,當PCIe裝置1000在雙埠模式下操作時,埠模式控制器1300可以控制第二多路多工器1020,使得可以將從第三通道和第四通道發送的信號發送到第二PCIe介面2。
PCIe裝置1000可以回應於從主機接收的第一PCIe重置信號PERST#1和第二PCIe重置信號PERST#2,分別重置第一上游埠1100和第二上游 埠1200中包括的PCIe介面。另外,PCIe裝置1000可以回應於從主機接收的雙埠賦能信號DualPortEn#而將操作模式改變為單埠模式或雙埠模式。更具體地,埠模式控制器1300可以回應於第一PCIe重置信號PERST#1而重置第一上游埠1100中包括的第一PCIe介面1和LTSSM。埠模式控制器1300可以回應於第二PCIe重置信號PERST#2而重置第二上游埠1200中包括的第二PCIe介面2和LTSSM。
圖12是示出根據本公開實施例的將PCIe裝置從單埠模式改變為雙埠模式的方法的示圖。
在圖12中,順序地示出了操作PCIe裝置1000的方法。更具體地,PCIe裝置1000可以包括第一埠和第二埠。另外,在步驟S1210,PCIe裝置1000可以將第一埠與第一主機鏈接並在單埠模式下操作。更具體地,PCIe裝置1000可以執行第一鏈路訓練操作以將第一主機與第一埠的第一鏈路鏈接。單埠模式可以指在第一埠和第二埠之間僅第一埠操作的模式。
另外,當PCIe裝置1000從主機接收模式改變請求(S1220中為“是”)時,在步驟S1230,PCIe裝置1000可以執行第一鏈路的通道減少操作。通道減少操作可以指減少與第一鏈路相對應的通道寬度(或鏈路寬度)的操作。
在步驟S1240,當第一埠的第一鏈路的狀態變成L0狀態時,PCIe裝置1000可以開始第二埠的鏈接。更具體地,當第一埠的通道減少操作完成並且第一埠的第一鏈路的狀態返回到L0狀態時,PCIe裝置1000(具體地,其中的埠模式控制器)可以執行第二鏈路訓練操作以鏈接第二鏈路。
另外,當第二鏈路訓練操作完成時,PCIe裝置1000可以在第一埠和第二埠彼此獨立操作的雙埠模式下操作。換言之,第一和第二埠中的一個中執行的資料通信或發生的錯誤不會影響另一個埠的操作。為了在雙埠模式下 操作,第一埠和第二埠中的每一個可以包括LTSSM、PCIe介面等。PCIe介面可以指包括回應於LTSSM 1和LTSSM 2中的每一個的分別控制,根據PCIe標準在鏈路狀態下操作的交易層、資料鏈路層和實體層的介面。
圖13是示出根據本公開實施例的將PCIe裝置從雙埠模式改變為單埠模式的方法的示圖。
參照圖13,順序地示出了操作PCIe裝置1000的方法。更具體地,PCIe裝置1000可以包括第一埠和第二埠。另外,在步驟S1310,PCIe裝置1000可以鏈接第一埠和第二埠並在雙埠模式下操作。更具體地,PCIe裝置1000可以將第一埠與第一主機鏈接並將第二埠與第二主機鏈接。換言之,PCIe裝置1000可以獨立地執行將第一主機與第一埠的第一鏈路鏈接的第一鏈路訓練操作,以及將第二主機與第二埠的第二鏈路鏈接的第二鏈路訓練操作。鏈接可以指將鏈路邏輯地連接到主機從而可以與主機進行資料通信的操作。鏈路訓練操作可以指控制與相應鏈路相關聯的設置以執行鏈接的整體操作。
另外,當PCIe裝置1000從主機接收模式改變請求(S1320中為“是”)時,在步驟S1330,PCIe裝置1000(具體地,其中的埠模式控制器)可以控制LTSSM 2以重置或停用第二鏈路。重置或停用可以指實體或邏輯上斷開與主機鏈接的鏈路。另外,根據實施例,當PCIe裝置1000(具體地,其中的埠模式控制器)可以控制第二埠以重置或停用第二鏈路時,第一鏈路可以保持鏈接狀態(例如,L0狀態)。
另外,當第二鏈路的重置或停用完成時,在步驟S1340,PCIe裝置1000(具體地,其中的埠模式控制器)可以控制LTSSM 1以執行通道增加操作以增加第一鏈路的通道寬度。當PCIe裝置1000對第一鏈路執行通道增加操作 時,第一鏈路的狀態可以依次改變為L0狀態、恢復狀態、配置狀態和L0狀態。由於在對第一鏈路進行的通道增加操作期間邏輯上可以進行資料通信,因此第一鏈路可以被引用為處於鏈接狀態。
另外,當對第一鏈路進行的通道增加操作完成時,PCIe裝置1000可以在僅第一埠操作的單埠模式下操作,並且PCIe裝置1000可以將第一鏈路的通道寬度設置為最大通道寬度。
根據本公開,可以提供一種透過改變埠模式來操作改進的PCIe裝置的方法。
在以上討論的實施例中,所有的步驟可以選擇性地執行或跳過。另外,每個實施例中的步驟可以並不總是以經常的順序執行。此外,本說明書和圖式中所公開的實施例旨在幫助本發明所屬技術領域中具有通常知識者更清楚地理解本公開,而非旨在限制本公開的範圍。換言之,本發明所屬技術領域中具有通常知識者將能夠容易地理解基於本公開的技術範圍可以進行各種修改。對本發明所屬技術領域中具有通常知識者顯而易見的是,在不脫離本發明的精神或範圍的情況下,可以對本公開的上述示例性實施例進行各種修改。因此,本公開旨在涵蓋所有這些修改,只要它們落入所附申請專利範圍及其均等方案的範圍內。
1000:PCIe裝置1010:第一多路多工器1020:第二多路多工器1100:第一上游埠1200:第二上游埠1300:埠模式控制器DualPortEN#:雙埠賦能信號PERST#1:第一PCIe重置信號PERST#2:第二PCIe重置信號Refclk#1:第一參考時脈Refclk#2:第二參考時脈RX1:第一接收器RX2:第二接收器RX3:第三接收器RX4:第四接收器TX1:第一發送器TX2:第二發送器TX3:第三發送器TX4:第四發送器

Claims (23)

  1. 一種高速週邊組件互連(PCIe)裝置,包括:第一埠,使用第一鏈路與第一主機鏈接;第二埠,使用第二鏈路與所述第一主機或第二主機鏈接;以及埠模式控制器,控制所述第一埠和所述第二埠以將操作模式從所述第一埠和所述第二埠彼此獨立操作的雙埠模式改變為僅所述第一埠操作的單埠模式,其中當所述第一鏈路被配置為在所述第一埠和所述第一主機之間進行資料通信時,所述埠模式控制器控制所述第二埠以重置所述第二鏈路。
  2. 如請求項1所述的PCIe裝置,其中所述第一埠包括改變所述第一鏈路的狀態的第一鏈路訓練模組,並且其中所述第二埠包括改變所述第二鏈路的狀態的第二鏈路訓練模組。
  3. 如請求項2所述的PCIe裝置,其中當所述第一鏈路在所述第一埠和所述第一主機之間保持資料通信時,所述埠模式控制器控制所述第二鏈路訓練模組以重置所述第二鏈路,並且當所述第二鏈路的重置完成時,控制所述第一鏈路訓練模組以擴充所述第一鏈路的通道寬度。
  4. 如請求項3所述的PCIe裝置,其中所述第一鏈路訓練模組回應於所述埠模式控制器的控制而執行向上配置操作以增加所述第一鏈路的通道寬度。
  5. 如請求項3所述的PCIe裝置,其中所述第一鏈路訓練模組將所述第一鏈路的狀態依次改變為透過所述第一鏈路發送和接收資料和封包的正常操作狀態、恢復狀態、配置狀態和透過所述第一鏈路發送和接收資料和封包的正常操作狀態。
  6. 如請求項1所述的PCIe裝置,其中所述第一埠和所述第二埠中的每一個包括PCIe介面,所述PCIe介面包括交易層、資料鏈路層和實體層,所述交易層、所述資料鏈路層和所述實體層回應於所述第一鏈路訓練模組和所述第二鏈路訓練模組中的每一個的分別控制,根據PCIe標準作為鏈路進行操作。
  7. 如請求項1所述的PCIe裝置,其中所述埠模式控制器回應於來自所述第一主機的、從所述雙埠模式改變為所述單埠模式的模式改變請求,控制所述第二埠以重置所述第二鏈路。
  8. 一種高速週邊組件互連(PCIe)裝置,包括:第一埠,使用第一鏈路與第一主機鏈接;第二埠,使用第二鏈路與所述第一主機或第二主機鏈接;以及埠模式控制器,控制所述第一埠和所述第二埠以將操作模式從僅所述第一埠操作的單埠模式改變為所述第一埠和所述第二埠彼此獨立操作的雙埠模式,其中當所述第一鏈路在所述第一埠和所述第一主機之間進行資料通信時,所述埠模式控制器控制所述第二埠執行鏈路訓練操作以鏈接所述第二鏈路。
  9. 如請求項8所述的PCIe裝置,其中所述第一埠包括改變所述第一鏈路的狀態的第一鏈路訓練模組,並且其中所述第二埠包括改變所述第二鏈路的狀態的第二鏈路訓練模組。
  10. 如請求項9所述的PCIe裝置,其中當所述第一鏈路被配置為在所述第一埠和所述第一主機之間進行資料通信時,所述埠模式控制器控制所述第一鏈路訓練模組執行通道減少操作,以減少與所述第一鏈路相對應的通道,並且在所述通道減少操作完成時,控制所述第二鏈路訓練模組以執行所述鏈路訓練操作。
  11. 如請求項10所述的PCIe裝置,其中所述第一鏈路訓練模組回應於所述埠模式控制器的控制,將所述第一鏈路的狀態依次改變為透過所述第一鏈路發送和接收資料和封包的正常操作狀態、恢復狀態、配置狀態和透過所述第一鏈路發送和接收資料和封包的正常操作狀態。
  12. 如請求項8所述的PCIe裝置,其中所述第一埠和所述第二埠中的每一個包括PCIe介面,所述PCIe介面包括交易層、資料鏈路層和實體層,所述交易層、所述資料鏈路層和所述實體層回應於所述第一鏈路訓練模組和所述第二鏈路訓練模組中的每一個的分別控制,根據PCIe標準作為鏈路進行操作。
  13. 如請求項8所述的PCIe裝置,其中所述第二埠回應於來自所述第一主機的、從所述單埠模式改變為所述雙埠模式的模式改變請求,對所述第二鏈路執行所述鏈路訓練操作。
  14. 一種操作高速週邊組件互連(PCIe)裝置的方法,所述PCIe裝置包括第一埠和第二埠,所述方法包括:執行第一鏈路訓練操作以將第一主機與所述第一埠的第一鏈路鏈接;當所述第一鏈路訓練操作完成時,在單埠模式下操作;回應於從所述第一主機接收的模式改變請求,執行通道減少操作以減少與所述第一鏈路相對應的通道;並且當所述第一鏈路在透過所述第一鏈路發送和接收資料和封包的正常操作狀態下在所述第一埠和所述第一主機之間進行資料通信時,執行第二鏈路訓練操作以將第二主機與所述第二埠的第二鏈路鏈接。
  15. 如請求項14所述的方法,進一步包括:在所述第一埠和所述第二埠彼此獨立操作的雙埠模式下操作。
  16. 如請求項14所述的方法,其中在執行所述第二鏈路訓練操作時,當所述第一鏈路的狀態是在透過所述第一鏈路發送和接收資料和封包的正常操作狀態下在所述第一埠和所述第一主機之間進行資料通信時,執行所述第二鏈路訓練操作。
  17. 如請求項14所述的方法,其中執行所述通道減少操作包括:將所述第一鏈路的狀態依次改變為透過所述第一鏈路發送和接收資料和封包的正常操作狀態、恢復狀態、配置狀態和透過所述第一鏈路發送和接收資料和封包的正常操作狀態。
  18. 如請求項14所述的方法,其中所述第一埠和所述第二埠中的每一個包括PCIe介面,所述PCIe介面包括根據PCIe標準操作的交易層、資料鏈路層和實體層。
  19. 一種操作高速週邊組件互連(PCIe)裝置的方法,所述PCIe裝置包括第一埠和第二埠,所述方法包括:執行第一鏈路訓練操作以將第一主機與所述第一埠的第一鏈路鏈接,並且執行第二鏈路訓練操作以將第二主機與所述第二埠的第二鏈路鏈接;當所述第一鏈路訓練操作和所述第二鏈路訓練操作完成時,在所述第一鏈路和所述第二鏈路彼此獨立操作的雙埠模式下操作;在所述第二鏈路訓練操作期間,透過所述第一鏈路在所述第一埠和所述第一主機之間進行資料通信;回應於從所述第一主機或所述第二主機接收的模式改變請求,停用所述第二鏈路;並且當所述第二鏈路的停用完成時,執行通道增加操作以增加與所述第一鏈路相對應的通道。
  20. 如請求項19所述的方法,進一步包括:當所述通道增加操作完成時,使用所述第一埠在單埠模式下操作。
  21. 如請求項19所述的方法,其中當所述第一鏈路的狀態對應於透過所述第一鏈路發送和接收資料和封包的正常操作狀態時,執行所述第二鏈路的停用。
  22. 如請求項19所述的方法,其中執行所述通道增加操作包括:將所述第一鏈路的狀態依次改變為透過所述第一鏈路發送和接收資料和封包的正常操作狀態、恢復狀態、配置狀態和透過所述第一鏈路發送和接收資料和封包的正常操作狀態。
  23. 如請求項19所述的方法,其中所述第一埠和所述第二埠中的每一個包括PCIe介面,所述PCIe介面包括根據PCIe標準操作的交易層、資料鏈路層和實體層。
TW111105800A 2021-05-26 2022-02-17 高速週邊組件互連裝置及其操作方法 TWI895591B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0067690 2021-05-26
KR1020210067690A KR102635450B1 (ko) 2021-05-26 2021-05-26 PCIe 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
TW202246997A TW202246997A (zh) 2022-12-01
TWI895591B true TWI895591B (zh) 2025-09-01

Family

ID=84157226

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111105800A TWI895591B (zh) 2021-05-26 2022-02-17 高速週邊組件互連裝置及其操作方法

Country Status (4)

Country Link
US (1) US11815941B2 (zh)
KR (1) KR102635450B1 (zh)
CN (1) CN115408318A (zh)
TW (1) TWI895591B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023015308A1 (en) * 2021-08-06 2023-02-09 Microchip Technology Incorporated Determining allocation of lanes of a peripheral-component‑interconnect-express port to links
US12373376B2 (en) * 2023-08-02 2025-07-29 Dell Products, L.P. Wireless interface sharing for out-of-band processors in heterogeneous computing platforms

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060090014A1 (en) * 2004-10-27 2006-04-27 Wong Kar L Transaction layer link down handling for PCI express
TW201743217A (zh) * 2016-06-10 2017-12-16 利魁得股份有限公司 資料儲存系統中的多埠中介件架構
US20180239696A1 (en) * 2017-02-17 2018-08-23 Samsung Electronics Co., Ltd. Storage device supporting multiple communication types and operating method thereof
US20210073157A1 (en) * 2016-07-26 2021-03-11 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode nmve over fabrics devices

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589723B2 (en) * 2010-12-22 2013-11-19 Intel Corporation Method and apparatus to provide a high availability solid state drive
US9262270B2 (en) 2012-12-28 2016-02-16 Intel Corporation Live error recovery
US9086966B2 (en) 2013-03-15 2015-07-21 Intel Corporation Systems, apparatuses, and methods for handling timeouts
US9396152B2 (en) 2013-03-15 2016-07-19 Intel Corporation Device, system and method for communication with heterogenous physical layers
US9430412B2 (en) * 2013-06-26 2016-08-30 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over Ethernet-type networks
JP6427979B2 (ja) 2014-06-19 2018-11-28 富士通株式会社 原因特定方法、原因特定プログラム、情報処理システム
KR102507714B1 (ko) 2016-05-02 2023-03-09 삼성전자주식회사 SRIS를 지원하는 PCIe 장치
US10387353B2 (en) * 2016-07-26 2019-08-20 Samsung Electronics Co., Ltd. System architecture for supporting active pass-through board for multi-mode NMVE over fabrics devices
KR102569761B1 (ko) 2016-10-05 2023-08-22 삼성전자주식회사 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
US11238005B2 (en) 2018-07-20 2022-02-01 Samsung Electronics Co., Ltd. SFF-TA-100X based multi-mode protocols solid state devices
US10698856B1 (en) * 2018-12-18 2020-06-30 Ati Technologies Ulc Alternative protocol selection
US10713209B2 (en) 2019-02-08 2020-07-14 Intel Corporation Recalibration of PHY circuitry for the PCI Express (PIPE) interface based on using a message bus interface
US11815976B2 (en) * 2019-05-22 2023-11-14 Qualcomm Incorporated Bandwidth based power management for peripheral component interconnect express devices
US11836101B2 (en) 2019-11-27 2023-12-05 Intel Corporation Partial link width states for bidirectional multilane links
US11656770B2 (en) * 2020-04-14 2023-05-23 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for supporting multiple connectors on storage devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060090014A1 (en) * 2004-10-27 2006-04-27 Wong Kar L Transaction layer link down handling for PCI express
TW201743217A (zh) * 2016-06-10 2017-12-16 利魁得股份有限公司 資料儲存系統中的多埠中介件架構
US20210073157A1 (en) * 2016-07-26 2021-03-11 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode nmve over fabrics devices
US20180239696A1 (en) * 2017-02-17 2018-08-23 Samsung Electronics Co., Ltd. Storage device supporting multiple communication types and operating method thereof
CN108459827A (zh) * 2017-02-17 2018-08-28 三星电子株式会社 支持多种通信类型的存储装置及其操作方法

Also Published As

Publication number Publication date
US11815941B2 (en) 2023-11-14
KR20220159722A (ko) 2022-12-05
KR102635450B1 (ko) 2024-02-13
US20220382705A1 (en) 2022-12-01
TW202246997A (zh) 2022-12-01
CN115408318A (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
US20250272257A1 (en) Peripheral component interconnect express device and operating method thereof
KR102559387B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
KR102518317B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
TW202248869A (zh) 快捷週邊組件互連介面裝置及其操作方法
US12423183B2 (en) Peripheral component interconnect express interface device and system including the same
TWI895591B (zh) 高速週邊組件互連裝置及其操作方法
US11797468B2 (en) Peripheral component interconnect express device and computing system including the same
US20240248819A1 (en) Peripheral component interconnect express device and operating method thereof
US12436911B2 (en) Interface device and computing system including the same
KR102519480B1 (ko) PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
US20250265207A1 (en) Interface device having plurality of ports and method of operating the same
US20250252023A1 (en) PCIe DEVICE AND COMPUTING SYSTEM INCLUDING THE SAME