TWI530793B - 用以改善整體非通透橋接裝置之操作的方法與系統 - Google Patents
用以改善整體非通透橋接裝置之操作的方法與系統 Download PDFInfo
- Publication number
- TWI530793B TWI530793B TW100116480A TW100116480A TWI530793B TW I530793 B TWI530793 B TW I530793B TW 100116480 A TW100116480 A TW 100116480A TW 100116480 A TW100116480 A TW 100116480A TW I530793 B TWI530793 B TW I530793B
- Authority
- TW
- Taiwan
- Prior art keywords
- doorbell
- register
- interrupt
- memory
- msi
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- 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)
- Bus Control (AREA)
- Advance Control (AREA)
- Image Input (AREA)
- Executing Machine-Instructions (AREA)
Description
本發明係有關於一種非通透橋接器,及更明確言之但非排它地,係有關於一種改善整體非通透橋接器裝置之操作之方法及系統。
非通透橋接器使得兩個主機或記憶體域電絕緣。在該非通透橋接器之任一例上的裝置從另一側係為不可見,但該非通透橋接器允許在該裝置之處理器域間有一用於資料移轉及狀態交換之路徑。
第1圖例示說明先前技術門鈴暫存器105之方塊圖100。在該非通透橋接器一次側上的裝置可寫入或規劃該先前技術門鈴暫存器105,來將中斷逆流發送至結束在所附接之根埠(Root Port)的非通透橋接器次要側上的另一裝置。
先前技術門鈴暫存器105具有固定的或硬編碼的位元,其係對映至特定延伸訊息信號中斷(MSI-X)向量。舉例言之,先前技術門鈴暫存器105之位元0至3係對映至MSI-X向量0 110等。非通透橋接器之使用者可受門鈴暫存器位元與MSI-X向量間之預先界定的對映關係所限。
依據本發明之一實施例,係特地提出一種裝置包含透過一根埠而耦接一裝置之一非通透橋接器;及耦接該非通透橋接器來維持透過該根埠發送至該裝置之多個中斷信號之順序的邏輯組件。
從後文主旨之詳細說明部分顯然易知本發明之實施例之特徵及優點,附圖中:第1圖例示說明先前技術門鈴暫存器105之方塊圖;第2圖例示說明依據本發明之一個實施例,整體非通透橋接器裝置之方塊圖;第3圖例示說明依據本發明之一個實施例,整體非通透橋接器裝置來維持中斷順序之方塊圖;第4圖例示說明依據本發明之一個實施例,維持中斷順序之流程圖;第5圖例示說明依據本發明之一個實施例,對映暫存器之方塊圖;第6圖例示說明依據本發明之一個實施例,整體非通透橋接器裝置之記憶體對映關係方塊圖;及第7圖例示說明依據本發明之一個實施例,一種具體實現此處揭示之方法之系統。
此處揭示之本發明之實施例係於附圖中舉例說明但絕非限制性。為求例示說明之簡單明瞭,圖式中例示說明之元件並非必要照比例繪製。舉例言之,某些元件的尺寸比較其它元件誇大以求清晰明了。又,若屬合宜,元件符號在多幅圖式間重複來指示相對應的或類似的元件。說明書中述及本發明之「一個實施例」或「一實施例」表示關聯該實施例所述之一特定特徵、結構、或特性係含括於至少一個本發明之實施例。如此,「於一個實施例中」一詞出現在全文說明書各處並非必要全部皆係指同一個實施例。
本發明之實施例提出一種改善整體非通透橋接器(NTB)裝置之操作之方法及系統。於本發明之一個實施例中,NTB裝置係耦接至另一NTB裝置。於本發明之另一個實施例中,NTB裝置係耦接至另一根埠裝置。NTB裝置具有邏輯組件來維持欲發送至其它NTB裝置或根埠裝置之中斷信號順序。藉此方式,可遵照發送至其它NTB裝置或根埠裝置之中斷排序。
於本發明之一個實施例中,當整體NTB裝置係在NTB模式操作時,針對與非通透橋接器裝置相關聯之主要基址暫存器(BAR)及與其它NTB裝置或根埠裝置相關聯之次要BAR二者,分配耦接NTB裝置之記憶體的連續部分或連續區。於本發明之一個實施例中,整體NTB裝置具有邏輯組件來報告或指示一次BAR大小為一次BAR與次要BAR的組合大小。
於本發明之一個實施例中,整體NTB裝置基於對映暫存器而協助一門鈴暫存器之各位元與多個向量中之個別者間之對映關係的動態修改。藉此方式,門鈴暫存器並未限於預先界定之對映關係,而可規劃成中斷向量之任何對映關係。於本發明之一個實施例中,整體NTB係至少部分遵照由周邊組件互連體(PCI)特殊利益團體(PCI-SIG)所維持的周邊組件互連體(PCI)快速標準或規格。於本發明之一個實施例中,整體NTB支援若干類型中斷,諸如但非限於舊有INTx中斷,此處x可為A、B、C或D、MSI、MSI-X及任何其它類型中斷。
第2圖例示說明依據本發明之一個實施例,整體NTB裝置205之方塊圖200。整體NTB裝置205具有一處理核心210、組態暫存器215及一根複合體220。於本發明之一個實施例中,根複合體220係耦接匯流排1230、組態暫存器215及主記憶體240。根複合體220具有一NTB 222及一根埠(RP)224。根埠224係透過匯流排3234而耦接PCI快速(PCIe)端點裝置260。於本發明之一個實施例中,根複合體220代表處理核心210產生異動處理請求。於本發明之一個實施例中,根複合體220係整合處理核心210。
NTB 222係透過根埠/NTB 252而耦接另一裝置或系統250。於本發明之一個實施例中,處理核心210具有邏輯組件來確保由根複合體220所產生的異動處理係維持在適當PCI順序。於本發明之一個實施例中,適當PCI順序係基於但非限於循序順序、時間序列、異動處理編號等。於本發明之一個實施例中,組態暫存器215具有與整體NTB裝置205相關聯之一次門鈴暫存器及與其它裝置/系統250相關聯之次要門鈴暫存器。
一次及次要門鈴暫存器使得整體NTB裝置205之處理核心210使用中斷或向量而與其它裝置/系統250聯絡。舉例言之,於本發明之一個實施例中,當附接根埠時,藉由寫至次要門鈴暫存器,處理核心210與其它裝置/系統250聯絡。於本發明之另一個實施例中,當附接遠端NTB時,藉由寫至在組態暫存器215中之一暫存器,結果導致靶定於其它裝置/系統250之一次門鈴暫存器的異動處理,處理核心210與其它裝置/系統250聯絡。於本發明之一個實施例中,在組態暫存器215中之一暫存器係定名為背靠背門鈴暫存器。
於本發明之一個實施例中,當次要門鈴暫存器之一特定位元係經寫入或規劃時,與該次要門鈴暫存器之特定位元相關聯之中斷經產生及發送至其它裝置/系統250。當附接一遠端NTB及背靠背門鈴暫存器之一特定位元係經寫入或規劃時,產生一異動處理,其係靶定於該遠端NTB的一次門鈴暫存器。如此然後產生中斷給遠端裝置/系統250。
於本發明之一個實施例中,組態暫存器215具有一對映暫存器,其指示一次門鈴暫存器之各位元與個別中斷向量間之對映關係。於本發明之另一個實施例中,組態暫存器215具有一對映暫存器,其指示次要門鈴暫存器之各位元與個別中斷向量間之對映關係。對映暫存器協助一次(或次要)門鈴暫存器之各位元與個別中斷向量間之對映關係的動態修改。
於本發明之一個實施例中,對映暫存器可藉在處理核心210上執行的軟體規劃來改變一次門鈴暫存器之各位元與個別中斷向量間之對映關係,來改變含在組態暫存器215內部的次要門鈴暫存器之各位元與個別中斷向量間相關聯之對映關係。於本發明之另一個實施例中,對映暫存器可藉在遠端裝置/系統250上執行的軟體規劃來改變含在組態暫存器215內部的次要門鈴暫存器之各位元與個別中斷向量間相關聯之對映關係。於本發明之一個實施例中,一次(或次要)門鈴之各位元可安排路由至任何有效MSI-X向量,該向量係發送給其它裝置/系統250之附接的根埠/NTB 252。
於本發明之一個實施例中,當根複合體220操作或設定其埠中之一者作為NTB 222時,NTB 222具有針對一次側亦即根複合體220之主要基址暫存器(BAR),及針對次要側亦即其它裝置/系統250之次要BAR。於本發明之一個實施例中,一次及次要BAR係在主記憶體240之記憶體對映輸入/輸出區(MMIO)中對映。其它裝置/系統250可使用次要BAR來存取NTB 222之暫存器。
於本發明之一個實施例中,處理核心210具有邏輯組件,藉由針對一次及次要BAR分配主記憶體240之一連續區或區域而啟動主記憶體240之MMIO。藉此方式,整體NTB 205確保次要BAR係對映於主記憶體240。第2圖之例示說明並非限制性,可使用整體NTB裝置205中模組之不同組態而不影響本發明之運作。舉例言之,於本發明之一個實施例中,主記憶體240係整合整體NTB裝置205。於本發明之一個實施例中,整體NTB裝置205為單核心或多核心處理器。於本發明之一個實施例中,其它裝置/系統252係至少部分遵照PCI快速標準或規格。
第3圖例示說明依據本發明之一個實施例,整體NTB裝置205維持中斷順序之方塊圖300。為求例示說明之清晰,第3圖係參考第2圖討論。方塊圖300例示說明整體NTB裝置205如何維持發送給其它裝置/系統250之中斷順序。當中斷係欲由整體NTB裝置205發送至遠端裝置/系統250時,處理核心210產生一門鈴異動處理請求。於本發明之另一個實施例中,根複合體220代表處理核心210而產生門鈴異動處理請求。處理核心210藉寫至門鈴暫存器而執行門鈴異動處理請求。於本發明之一個實施例中,處理核心210藉寫至一次門鈴暫存器而執行門鈴異動處理請求。門鈴異動處理請求係發送至傳輸佇列310及發送至組態暫存器215。
中斷產生邏輯組件330檢查門鈴異動處理是否為傳輸佇列310中一個將跳出的或執行的異動處理。若是,則中斷產生邏輯組件330檢查在組態暫存器215中與門鈴異動處理相關聯之暫存器是否已經更新。若是,則中斷產生邏輯組件330發送一指示給傳輸仲裁器320,針對門鈴異動處理之中斷係將發送至裝置/系統250。中斷產生邏輯組件330在發送指示給傳輸仲裁器320之前,檢查是否兩個條件皆已滿足。藉此方式,於本發明之一個實施例中維持門鈴異動處理之順序。
傳輸仲裁器320如中斷產生邏輯組件330之指示從傳輸佇列310或所產生的中斷中選擇一異動處理,及發送所選的異動處理給鏈接層340及其它裝置/系統250。第3圖之例示說明絕非限制性。於本發明之一個實施例中,中斷產生邏輯組件330可藉處理核心210或根複合體220執行。熟諳相關技藝人士容易瞭解可執行方塊圖300中各模組的其它組合而不影響本發明之運作。
第4圖例示說明依據本發明之一個實施例維持中斷順序之流程圖400。為求例示說明之清晰,第4圖係參考第3圖討論。於步驟410,當接收到門鈴異動處理請求時,處理核心210寫入門鈴暫存器。於本發明之一個實施例中,處理核心210基於欲發送至其它裝置/系統250的所要求中斷向量而寫入次要門鈴暫存器之一特定位元。於本發明之另一個實施例中,處理核心210基於欲發送至其它裝置/系統250的所要求中斷向量而寫入背靠背門鈴暫存器之一特定位元。當該特定門鈴位元係經寫入時,門鈴異動處理係在傳輸佇列310中佇列等候,及處理核心210更新組態暫存器215中與門鈴異動處理相關聯之暫存器。
於步驟420,中斷產生邏輯組件330檢查門鈴異動處理是否為傳輸佇列310中欲執行或欲跳出的下一個異動處理。若否,則流程400返回步驟420。若是,則流程400前進步驟430,檢查在組態暫存器215中與門鈴異動處理相關聯之暫存器是否已經更新。若於步驟430與門鈴異動處理相關聯之暫存器尚未更新,則流程400返回步驟430。若於步驟430與門鈴異動處理相關聯之暫存器已經更新,則流程400進入步驟440,送出指示來產生門鈴異動處理之中斷,及流程400結束。於本發明之一個實施例中,中斷產生邏輯組件330發送該指示給傳輸仲裁器320。
由中斷產生邏輯組件330所執行的步驟420及430確保遵照異動處理之適當PCI順序。門鈴異動處理之特定中斷向量係唯有在滿足步驟420及430之二條件時才產生。
第5圖例示說明依據本發明之一個實施例對映暫存器之方塊圖500。為了例示說明之清晰,第5圖例示說明於本發明之一個實施例中,MSI-X對映暫存器510對門鈴暫存器530之對映520。MSI-X對映暫存器510具有可規劃位元,表示於本發明之一個實施例中門鈴暫存器530各位元之MSI-X對映。
舉例言之,於本發明之一個實施例中,門鈴暫存器530之位元0之MSI-X對映512係規劃成對映MSI-X向量3。於本發明之一個實施例中,表示門鈴暫存器530之位元0之MSI-X對映512所要求的位元數目係取決於欲發送至其它裝置/系統250的獨特MSI-X向量總數。舉例言之,於本發明之一個實施例中,若有八個不同MSI-X向量可供發送至其它裝置/系統250,則MSI-X對映暫存器510使用3位元來表示門鈴暫存器530之各位元對映至一特定MSI-X向量。
三位元係經規劃成000b來表示對映至MSI-X向量0 538,規劃成001b來表示對映至MSI-X向量1 536等。於本發明之一個實施例中,門鈴暫存器530之位元0之MSI-X對映512的3位元係經規劃成011b來表示位元0係對映至MSI-X向量3 532。熟諳相關技藝人士容易瞭解可使用規劃MSI-X對映暫存器510位元之其它方式而不影響本發明之運作。
MSI-X對映暫存器510使得門鈴暫存器530之各位元被規劃來對映任何可資利用MSI-X向量。舉例言之,於本發明之一個實施例中,門鈴暫存器530之位元8可經規劃來對映MSI-X向量1536。不似先前技術門鈴暫存器105具有對映關係固定分配至MSI-X向量,在整體非通透橋接器設計中,MSI-X對映暫存器510提供針對軟體或韌體動態修改門鈴位元至MSI-X向量之對映關係的彈性方法。
第4圖中例示說明之MSI-X向量數目並非限制性,任何中斷向量數目皆可由整體NTB裝置205支援。於本發明之另一個實施例中,對映暫存器將MSI-X中斷以外的另一型中斷對映至門鈴暫存器530位元。
第6圖例示說明依據本發明之一個實施例,整體NTB裝置205之記憶體對映之方塊圖600。於本發明之一個實施例中,當在既有PCI快速埠上操作整體NTB裝置205時,有個基址暫存器(BAR),其它裝置/系統250可用來存取在整體NTB裝置205內部的暫存器。於本發明之一個實施例中,此等暫存器係位在主記憶體240的MMIO區,且定名為次要BAR。
於本發明之一個實施例中,當其它裝置/系統250係連結至整體NTB裝置205之NTB 222時,可讀寫屬於NTB 222之一部分的暫存器。為了達成此項目的,於本發明之一個實施例中,整體NTB裝置205提供足夠MMIO空間給主要及次要BAR。舉例言之,於本發明之一個實施例中,主要BAR定址次要BAR之相同MMIO暫存器,且具有相同大小。於本發明之一個實施例中,主要及次要BAR可具有16位元、32位元或任何其它位元數目之大小。
於本發明之一個實施例中,次要BAR具有固定數目之唯讀位元及固定數目之讀寫位元,其可由列舉軟體或韌體讀取來決定在整體NTB裝置205中由次要BAR所要求的記憶體量。於本發明之一個實施例中,整體NTB裝置205具有邏輯組件來指示主要BAR大小為主要BAR與次要BAR大小的組合。舉例言之,於本發明之一個實施例中,當主要及次要BAR皆具有32千位元組(KB)大小時,由整體NTB裝置205指示的主要BAR大小為64 KB。藉此,使得整體NTB裝置205分配足量記憶體給主要及次要BAR二者。
於本發明之一個實施例中,處理核心210檢查是否接取主要BAR 610,若是,則將接取位址對映至主記憶體240中主要及次要BAR所專用的組合64 KB的下32 KB,如主要BAR0暫存器650例示說明。於本發明之一個實施例中,主要BAR0基址652可分配在主記憶體240之任一處。在620,其它裝置/系統250檢查是否接取次要BAR,及若是,則於630,接取位址平移及對映至主記憶體240之上下32 KB,如次要BAR0暫存器640例示說明。於本發明之一個實施例中,次要BAR0基址654係設定為主要BAR0基址652與主要BAR0實際大小(非報告大小)之和。
於本發明之一個實施例中,主要及次要BAR的分開對映有助於確定暫存器只由假設可看見個別暫存器之埠所見。於本發明之一個實施例中,在處理核心210上操作的軟體瞭解主要BAR之大小係報告為主要BAR0大小及次要BAR0大小。
第7圖例示說明依據本發明之一個實施例,具體實現此處揭示之方法之系統700。系統700包括但非限於桌上型電腦、膝上型電腦、小型筆記型電腦、筆記型電腦、個人數位助理器(PDA)、伺服器、工作站、行動電話、行動運算裝置、網際網路設備或任何其它類型運算裝置。於另一實施例中,用來具體實現此處揭示之方法之系統700可以是單晶片系統(SOC)系統。
處理器710具有一處理核心712來執行系統700指令。處理核心712包括但非限於提取指令之預提取邏輯、解碼指令之解碼邏輯、執行指令之執行邏輯等。處理器710具有一快取記憶體716來快取系統700之指令及/或資料。於本發明之另一個實施例中,快取記憶體716包括但非限於階級1、階級2及階級3快取記憶體或處理器710內部快取記憶體之任何其它組態。
記憶體控制器中樞器(MCH)714執行功能使得處理器710接取且通訊記憶體730,記憶體730包括依電性記憶體732及/或非依電性記憶體734。依電性記憶體732包括但非限於同步動態隨機存取記憶體(SDRAM)、動態隨機存取記憶體(DRAM)、RAMBUS動態隨機存取記憶體(RDRAM)、及/或任何其它類型隨機存取記憶體裝置。非依電性記憶體734包括但非限於NAND快閃記憶體、相變記憶體(PCM)、唯讀記憶體(ROM)、可電氣抹除可規劃唯讀記憶體(EEPROM)或任何其它類型非依電性記憶體裝置。
記憶體730儲存欲藉處理器710執行的資訊及指令。記憶體730也儲存當處理器710執行指令中的暫時性變數或其它中間資訊。晶片組720透過點對點(PtP)介面717及722而連結處理器710。晶片組720允許處理器710連結至系統700中的其它模組。於本發明之一個實施例中,介面717及722係依據PtP通訊協定諸如英特爾(Intel)快速路徑互連(QPI)等操作。晶片組720連結至顯示裝置740,其係包括但非限於液晶顯示器(LCD)、陰極射線管(CRT)顯示器、或任何其它形式之視覺顯示裝置。
此外,晶片組720連結至互連多個模組774、760、762、764及766之一或多個匯流排750及755。當匯流排速度或通訊協定有不匹配時,匯流排750及755可透過匯流排橋接器772而互連在一起。晶片組720耦接但非限於非依電性記憶體760、大容量儲存裝置762、鍵盤/滑鼠764及網路介面766。大容量儲存裝置762包括但非限於固態驅動器、硬碟驅動器、通用串列匯流排快閃記憶體驅動器、或任何其它形式電腦資料儲存媒體。網路介面766係使用任何其它類型眾所周知之網路介面標準具體實現,包括但非限於乙太網路介面、通用串列匯流排(USB)介面、周邊組件介面(PCI)快速介面、無線介面、及/或任何其它適當類型介面。無線介面係依據但非限於IEEE 802.11標準操作及其相關家族、Home Plug AV(HPAV)、超寬帶(UWB)、藍牙、WiMax、或任何形式之無線通訊協定。
雖然第7圖所示模組係顯示為在系統700內部之分開方塊,藉若干此等方塊執行功能可在單一半導體電路內部整合或可使用二或多個分開積體電路具體實現。舉例言之,雖然快取記憶體716係闡釋為在處理器710內部的分開方塊,快取記憶體716可分別結合入處理核心712。於本發明之另一個實施例中,系統700可包括多於一個處理器/處理核心。
此處揭示之方法可於硬體、軟體、韌體、或其任何其它組合。雖然描述所揭示之主旨之實施例之實例,但熟諳相關技藝人士容易瞭解另外可使用具體實現所揭示之主旨之多種其它方法。於前文說明中,已經描述所揭示之主旨之多個構面。為求解說目的,陳述特定數目、系統及組態以供徹底瞭解本主旨。但熟諳相關技藝人士可未使用特定細節而實現本文主旨揭示之效果。於其它情況下,眾所周知之特徵、組件、或模組經刪除、簡化、組合、或分裂以免遮蔽所揭示之主旨。
「可操作」一詞用於此處表示裝置、系統、協定等可操作或當裝置或系統係在電源關狀態時,適用於操作其期望的功能。所揭示之主旨之多個實施例可在硬體、韌體、軟體、或其組合具體實現,或當藉機器執行任務、界定摘要資料類型或低階硬體脈絡、或產生結果存取時,可參考或結合程式碼描述,諸如指令、功能、程序、資料結構、邏輯、應用程式、設計表示型態、或針對設計之模擬、仿真及製造格式。
圖式中所示技術可使用儲存在且執行在一或多個運算裝置,諸如通用電腦或運算裝置之代碼及資料而具體實現。此等運算裝置使用機器可讀取媒體諸如機器可讀取儲存媒體(例如磁碟;光碟;隨機存取記憶體;唯讀記憶體;快閃記憶裝置;相變記憶體)及機器可讀取通訊媒體(例如電氣、光學、聲學或其它形式之傳播信號,諸如載波、紅外線信號、數位信號等)而儲存及通訊(內部且通過網路與其它運算裝置通訊)代碼及資料。
雖然已經參考具體實施例描述所揭示之主旨,但本詳細說明部分絕非意圖解譯為限制性意義。所揭示之主旨相關聯之熟諳技藝人士顯然易知具體實施例之各項修改及主旨之其它實施例被視為落入於所揭示之主旨之範圍內。
100、200、300、500、600...方塊圖
105...先前技術門鈴暫存器
110...延伸訊息信號中斷(MSI-X)向量0
205...整體非通透橋接器(NTB)裝置
210...處理核心
215...組態暫存器
220...根複合體
222...非通透橋接器(NTB)
224...根埠(RP)
230...匯流排1
232...匯流排2
234...匯流排3
240...主記憶體
250...其它裝置/系統
252...根埠/NTB
260...PCI快速(PCIe)端點裝置
310...傳輸佇列
320...傳輸仲裁器
330...中斷產生邏輯組件
340...鏈接層
400...流程圖
410-440...步驟
510...MSI-X對映暫存器
512、514、516、518...MSI-X對映
520...對映
530...門鈴暫存器
532、534、536、538...MSI-X向量
610、620、630...執行動作
640...次要BAR0暫存器
650...主要BAR0暫存器
652...次要BAR0基址
654...主要BAR0基址
656...主要BAR0之報告大小
700...系統
710...處理器
712...處理核心
714...記憶體控制器中樞器(MCH)
716...快取記憶體
717、722...點對點(PtP)介面
720...晶片組
724、726...介面
730...記憶體
732...依電性記憶體
734、780...非依電性記憶體
740...顯示裝置
750、760...匯流排
772...匯流排橋接器
774...輸入/輸出(I/O)裝置
782...大容量裝置
784...鍵盤/滑鼠
786...網路介面
第1圖例示說明先前技術門鈴暫存器105之方塊圖;
第2圖例示說明依據本發明之一個實施例,整體非通透橋接器裝置之方塊圖;
第3圖例示說明依據本發明之一個實施例,整體非通透橋接器裝置來維持中斷順序之方塊圖;
第4圖例示說明依據本發明之一個實施例,維持中斷順序之流程圖;
第5圖例示說明依據本發明之一個實施例,對映暫存器之方塊圖;
第6圖例示說明依據本發明之一個實施例,整體非通透橋接器裝置之記憶體對映關係方塊圖;及
第7圖例示說明依據本發明之一個實施例,一種具體實現此處揭示之方法之系統。
200...方塊圖
205...整體非通透橋接器(NTB)裝置
210...處理核心
215...組態暫存器
220...根複合體
222...非通透橋接器(NTB)
224...根埠(RP)
230、232、234...匯流排
240...主記憶體
250...其它裝置/系統
252...根埠/NTB
260...PCI快速(PCIe)端點裝置
Claims (17)
- 一種非通透橋接器設備,其包含:一非通透橋接器,其透過一根埠而與一裝置耦接;及邏輯組件,其與該非通透橋接器耦接,以維持要透過該根埠被發送至該裝置的多個中斷信號之一順序,其中該邏輯組件被用來:判定一門鈴異動處理是否為下一個要從一傳輸佇列中跳出者;判定與該門鈴異動處理相關聯的一門鈴暫存器是否已經更新;及回應於判定該門鈴異動處理為下一個要從該傳輸佇列中跳出者以及判定出與該門鈴異動處理相關聯的該門鈴暫存器已經更新,而產生該等多個中斷信號中之一者。
- 如申請專利範圍第1項之設備,其中該等多個中斷信號包含一舊有中斷、一訊息信號中斷(MSI)、及一延伸MSI(MSI-X)中之至少一者。
- 如申請專利範圍第1項之設備,其進一步包含有多個組態暫存器,其中該門鈴暫存器為多個組態暫存器中之一者。
- 如申請專利範圍第3項之設備,其中該等多個組態暫存器包含一對映暫存器,並且其中該對映暫存器係用來指示該門鈴暫存器之各位元與多個MSI-X向量中之個別一者之間的對映關係。
- 如申請專利範圍第1項之設備,其中該裝置可依據周邊組件介面快速(PCIe)規格操作。
- 如申請專利範圍第1項之設備,其進一步包含有一處理核心,其中該邏輯組件為該處理核心的一部分。
- 如申請專利範圍第6項之設備,其進一步包含有:與該處理核心和該非通透橋接器耦接的一記憶體,其中該處理核心用於分配該記憶體之一連續部分,該記憶體之該連續部分包含與該非通透橋接器相關聯的一主要基址暫存器和與該裝置相關聯的一次要基址暫存器。
- 一種運算系統,其包含:一記憶體;一處理核心;與該處理核心、記憶體、及一匯流排耦接的一根複合體;在該匯流排上的一埠,其係操作為一非通透橋接器,該非通透橋接器用於透過一通訊鏈路而與具有一根埠的一裝置耦接,其中該處理核心用於藉由針對一主要基址暫存器和一次要基址暫存器而分配該記憶體之一連續區,來將與該裝置相關聯之該非通透橋接器的一次要側對映至與該非通透橋接器之一主要側相關聯的該記憶體之一記憶體對映輸入輸出(MMIO)區;中斷產生邏輯組件,其與該非通透橋接器耦接,以維持要透過該通訊鏈路被發送至裝置的多個中斷信號 之一順序,多個組態暫存器,並且其中維持要透過該通訊鏈路被發送至該裝置的該等多個中斷信號之該順序的該中斷產生邏輯組件被用於:判定一門鈴異動處理是否為下一個要從一傳輸佇列中跳出者;判定與該門鈴異動處理相關聯的一門鈴暫存器是否已經更新;及回應於判定該門鈴異動處理為下一個要從該傳輸佇列中跳出者以及判定出與該門鈴異動處理相關聯之該門鈴暫存器已經更新,而產生該等多個中斷信號中之一者。
- 如申請專利範圍第8項之系統,其中該處理核心更進一步用於報告該主要基址暫存器的大小為該記憶體之該連續區之大小。
- 如申請專利範圍第8項之系統,其中該裝置為另一非通透橋接器裝置和根埠裝置中之一者。
- 如申請專利範圍第8項之系統,其中該等多個組態暫存器包含一對映暫存器,並且其中該對映暫存器用於指示該門鈴暫存器之各位元與多個向量中之個別一者之間的對映關係。
- 如申請專利範圍第8項之系統,其中該等多個向量包含一舊有中斷、一訊息信號中斷(MSI)、及一延伸MSI(MSI-X)中之至少一者。
- 如申請專利範圍第12項之系統,其中該系統可依據周邊組件介面快速(PCIe)規格操作。
- 一種用於門鈴暫存器的操作之方法,其包含下列步驟:促進對於一門鈴暫存器之各位元與多個向量中之個別一者之間的對映關係之動態修改,其中該對映關係至少部分係奠基於一對映暫存器;維持要透過一根埠被發送至一裝置的多個中斷信號之一順序;其中維持要透過該根埠被發送至該裝置的該等多個中斷信號之該順序的步驟包含:判定一門鈴異動處理是否為下一個要從一傳輸佇列中跳出者;判定與該門鈴異動處理相關聯的一門鈴暫存器是否已經更新;及回應於判定該門鈴異動處理為下一個要從該傳輸佇列中跳出者以及判定出與該門鈴異動處理相關聯的該門鈴暫存器已經更新,而產生該等多個中斷信號中之一者。
- 如申請專利範圍第14項之方法,其中該對映暫存器包含與該門鈴暫存器之各位元相關聯的一或多個位元,該方法更進一步包含下列步驟:規劃與該門鈴暫存器之各位元相關聯的該一或多個位元,來設定該門鈴暫存器之各位元與該等多個向量中之個別者該之間的對映關係。
- 如申請專利範圍第15項之方法,其中該等多個向量包含一舊有中斷、一訊息信號中斷(MSI)、及一延伸MSI(MSI-X)中之至少一者。
- 如申請專利範圍第14項之方法,其更進一步包含下列步驟:以一主要基址暫存器之大小與一次要基址暫存器之大小的和來指示該主要基址暫存器之大小。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/792,490 US8589613B2 (en) | 2010-06-02 | 2010-06-02 | Method and system to improve the operations of an integrated non-transparent bridge device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201211778A TW201211778A (en) | 2012-03-16 |
TWI530793B true TWI530793B (zh) | 2016-04-21 |
Family
ID=45065376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100116480A TWI530793B (zh) | 2010-06-02 | 2011-05-11 | 用以改善整體非通透橋接裝置之操作的方法與系統 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8589613B2 (zh) |
EP (1) | EP2577491A4 (zh) |
CN (1) | CN103038758B (zh) |
TW (1) | TWI530793B (zh) |
WO (1) | WO2011152950A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI845294B (zh) * | 2022-05-13 | 2024-06-11 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及儲存裝置的方法 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10534606B2 (en) | 2011-12-08 | 2020-01-14 | Oracle International Corporation | Run-length encoding decompression |
GB2517097B (en) * | 2012-05-29 | 2020-05-27 | Intel Corp | Peer-to-peer interrupt signaling between devices coupled via interconnects |
JP5930046B2 (ja) * | 2012-08-17 | 2016-06-08 | 富士通株式会社 | 情報処理装置、及び情報処理装置の制御方法 |
TW201411358A (zh) * | 2012-09-10 | 2014-03-16 | Accusys Inc | 透過PCIe介面連接於一主機系統的儲存裝置和方法 |
US9424219B2 (en) * | 2013-03-12 | 2016-08-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge |
US9311266B2 (en) * | 2013-06-14 | 2016-04-12 | National Instruments Corporation | Hidden base address register programming in peripheral component interconnect express buses |
US9672167B2 (en) | 2013-07-22 | 2017-06-06 | Futurewei Technologies, Inc. | Resource management for peripheral component interconnect-express domains |
US11113054B2 (en) | 2013-09-10 | 2021-09-07 | Oracle International Corporation | Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression |
US9465760B2 (en) * | 2013-11-18 | 2016-10-11 | Futurewei Technologies, Inc. | Method and apparatus for delivering MSI-X interrupts through non-transparent bridges to computing resources in PCI-express clusters |
CN103605595A (zh) * | 2013-12-10 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种基于dos环境的ntb通讯的测试方法 |
US9665513B2 (en) * | 2013-12-30 | 2017-05-30 | Intel Corporation | Systems and methods for automatic root port to non-transparent bridge switching for a PCI express interconnect architecture |
CN105760319A (zh) * | 2014-12-15 | 2016-07-13 | 中兴通讯股份有限公司 | 数据发送成功的确认方法及装置 |
US9747225B2 (en) * | 2015-05-05 | 2017-08-29 | Microsoft Technology Licensing, Llc | Interrupt controller |
US10922252B2 (en) | 2015-06-22 | 2021-02-16 | Qualcomm Incorporated | Extended message signaled interrupts (MSI) message data |
US9760513B2 (en) * | 2015-09-22 | 2017-09-12 | Cisco Technology, Inc. | Low latency efficient sharing of resources in multi-server ecosystems |
US10599488B2 (en) | 2016-06-29 | 2020-03-24 | Oracle International Corporation | Multi-purpose events for notification and sequence control in multi-core processor systems |
US20180046338A1 (en) * | 2016-08-12 | 2018-02-15 | Liqid Inc. | Disaggregated Fabric-Switched Computing User Interfaces |
US10380058B2 (en) | 2016-09-06 | 2019-08-13 | Oracle International Corporation | Processor core to coprocessor interface with FIFO semantics |
US10783102B2 (en) | 2016-10-11 | 2020-09-22 | Oracle International Corporation | Dynamically configurable high performance database-aware hash engine |
CN106484652B (zh) * | 2016-10-26 | 2019-09-24 | 郑州云海信息技术有限公司 | 一种基于ntb硬件的多队列通信方法及系统 |
US10459859B2 (en) | 2016-11-28 | 2019-10-29 | Oracle International Corporation | Multicast copy ring for database direct memory access filtering engine |
US10725947B2 (en) | 2016-11-29 | 2020-07-28 | Oracle International Corporation | Bit vector gather row count calculation and handling in direct memory access engine |
US10884970B2 (en) * | 2016-12-28 | 2021-01-05 | Intel Corporation | Techniques for coalescing doorbells in a request message |
US10795842B2 (en) | 2017-05-08 | 2020-10-06 | Liqid Inc. | Fabric switched graphics modules within storage enclosures |
WO2020055921A1 (en) * | 2018-09-10 | 2020-03-19 | GigaIO Networks, Inc. | Methods and apparatus for high-speed data bus connection and fabric management |
CN111666231B (zh) * | 2019-03-05 | 2023-02-10 | 佛山市顺德区顺达电脑厂有限公司 | 于丛集式系统中维持存储器共享方法 |
EP3959608A4 (en) | 2019-04-25 | 2022-12-21 | Liqid Inc. | COMPOSITE COMPUTING SYSTEMS WITH CONVERGED AND DISAGGREGATED COMPONENT POOL |
US11403247B2 (en) | 2019-09-10 | 2022-08-02 | GigaIO Networks, Inc. | Methods and apparatus for network interface fabric send/receive operations |
EP4184304A4 (en) * | 2020-07-31 | 2023-09-13 | Huawei Technologies Co., Ltd. | PROCESSOR, UFS CONTROL METHOD AND COMPUTER SYSTEM |
US11442776B2 (en) | 2020-12-11 | 2022-09-13 | Liqid Inc. | Execution job compute unit composition in computing clusters |
CN113296061A (zh) * | 2021-05-19 | 2021-08-24 | 北京无线电测量研究所 | 一种同步脉冲信号的传输方法、系统和电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629179B1 (en) * | 2000-07-31 | 2003-09-30 | Adaptec, Inc. | Message signaled interrupt generating device and method |
US6748478B1 (en) * | 2000-12-27 | 2004-06-08 | Intel Corporation | System function configurable computing platform |
US7363389B2 (en) * | 2001-03-29 | 2008-04-22 | Intel Corporation | Apparatus and method for enhanced channel adapter performance through implementation of a completion queue engine and address translation engine |
US7062594B1 (en) * | 2004-06-30 | 2006-06-13 | Emc Corporation | Root complex connection system |
US7934033B2 (en) * | 2008-03-25 | 2011-04-26 | Aprius, Inc. | PCI-express function proxy |
US8244951B2 (en) * | 2008-09-25 | 2012-08-14 | Intel Corporation | Method and apparatus to facilitate system to system protocol exchange in back to back non-transparent bridges |
TW201015336A (en) * | 2008-10-03 | 2010-04-16 | Accusys Technology Ltd | Shared-storage bus switch |
JP5074457B2 (ja) * | 2009-06-04 | 2012-11-14 | 株式会社日立製作所 | 計算機システム、スイッチ切り替え方法及びpciスイッチ |
CN101588285B (zh) * | 2009-06-24 | 2011-07-13 | 成都市华为赛门铁克科技有限公司 | 一种非透明传输的实现方法、非透明桥和通信系统 |
-
2010
- 2010-06-02 US US12/792,490 patent/US8589613B2/en not_active Expired - Fee Related
-
2011
- 2011-05-04 CN CN201180038026.XA patent/CN103038758B/zh active Active
- 2011-05-04 WO PCT/US2011/035169 patent/WO2011152950A2/en active Application Filing
- 2011-05-04 EP EP11790154.6A patent/EP2577491A4/en not_active Ceased
- 2011-05-11 TW TW100116480A patent/TWI530793B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI845294B (zh) * | 2022-05-13 | 2024-06-11 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及儲存裝置的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2577491A4 (en) | 2014-01-22 |
EP2577491A2 (en) | 2013-04-10 |
WO2011152950A3 (en) | 2012-04-05 |
US8589613B2 (en) | 2013-11-19 |
US20110302349A1 (en) | 2011-12-08 |
CN103038758A (zh) | 2013-04-10 |
TW201211778A (en) | 2012-03-16 |
WO2011152950A2 (en) | 2011-12-08 |
CN103038758B (zh) | 2015-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI530793B (zh) | 用以改善整體非通透橋接裝置之操作的方法與系統 | |
TWI471730B (zh) | 用以促進在異質平台中共享指標之方法及設備 | |
US10152433B2 (en) | Inline PCI-IOV adapter | |
JP5646750B2 (ja) | 周辺機器のページフォルト(pagefault)を処理する機構 | |
US9467512B2 (en) | Techniques for remote client access to a storage medium coupled with a server | |
CN102681952B (zh) | 将数据写入存储设备的方法与存储设备 | |
JP5241737B2 (ja) | プロセッサ・システムにおいて命令レベルでのリソース割り当ての識別を可能にする方法および装置 | |
JP5917782B2 (ja) | プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体 | |
JP6171210B2 (ja) | 複数orチェーンバスの拡張データバス反転符号化 | |
US20150019798A1 (en) | Method and Apparatus for Providing Dual Memory Access to Non-Volatile Memory | |
JP5681782B2 (ja) | オン・ダイ・システム・ファブリック・ブロックの制御 | |
CN103999057B (zh) | 具有开关的相变存储器(pcms)的元数据管理和支持 | |
US7305526B2 (en) | Method, system, and program for transferring data directed to virtual memory addresses to a device memory | |
US9632953B2 (en) | Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers | |
TW202101227A (zh) | 閃存實體資源集合管理裝置及方法以及電腦程式產品 | |
US20220114115A1 (en) | Interleaving of heterogeneous memory targets | |
US9727521B2 (en) | Efficient CPU mailbox read access to GPU memory | |
TW201303789A (zh) | 具有高速傳輸功能之基板管理控制器及其傳輸方法 | |
US8516200B2 (en) | Avoiding cross-interrogates in a streaming data optimized L1 cache | |
US10853255B2 (en) | Apparatus and method of optimizing memory transactions to persistent memory using an architectural data mover | |
US8593472B1 (en) | System and method for accessing a frame buffer via a storage driver | |
US7716397B2 (en) | Methods and systems for interprocessor message exchange between devices using only write bus transactions | |
US20240111694A1 (en) | Node identification allocation in a multi-tile system with multiple derivatives | |
TW201512842A (zh) | 完成封包回送技術 |