TWI292990B - Method and apparatus for shared i/o in a load/store fabric - Google Patents
Method and apparatus for shared i/o in a load/store fabric Download PDFInfo
- Publication number
- TWI292990B TWI292990B TW094101174A TW94101174A TWI292990B TW I292990 B TWI292990 B TW I292990B TW 094101174 A TW094101174 A TW 094101174A TW 94101174 A TW94101174 A TW 94101174A TW I292990 B TWI292990 B TW I292990B
- Authority
- TW
- Taiwan
- Prior art keywords
- controller
- packet
- shared
- ethernet
- switch
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
Description
1292990 (1) 九、發明說明 【發明所屬之技術領域】 本發明係關於電腦網路架構領域,且更特別而言’係 關於在一載入/儲存構造中可共用和/或分割網路輸入/輸出 (I/O )端點裝置之架構。 【先前技術】 B 現今所觀察到的電腦架構具有三個不同的次系統,其 當結合時,可形成多數人現今所認爲之電腦。這些次系統 爲:1) 一處理複合體;2)介於處理複合體和I/O控制器 或裝置間的介面;和3 ) I/O (即輸入/輸出)控制器或裝 置本身。 一處理複合體可簡單的爲一單一微處理器,如奔騰( Pentium )微處理器,其耦合至一記憶體。或者,其可爲 複合體,如兩或多個共用記億體的處理器。 • 介於處理複合體和I/O間的介面一般已知爲晶片組。 在晶片組北側(亦即,介於處理複合體和晶片組間)爲視 爲HOST匯流排(主匯流排)的匯流排。主匯流排一般爲 一專屬匯流排,其設計以介面至記憶體,至在處理複合體 內的一或多個微處理器,和至晶片組。在晶片組的南側爲 多數匯流排’其連接晶片組至I / 0裝置。這些匯流排的範 例包括:ISA,EISA,PCI,PCI-X,和 AGP。 I/O裝置爲可使資料經由晶片組傳送至或從處理複合 體傳送而來的裝置’在由晶片組所支持的一或多個匯流排 -5- (2) 1292990 上。I/O裝置的範例包括:親合至一電腦顯示器的繪圖卡; 碟控制器(其耦合至硬碟驅動器或其它資料儲存系統); 網路控制器(以介面至如乙太網路之網路);USB和火線 控制器,其介面至各種裝置,如從數位相機至數位音樂系 統’以進行外部資料儲存;和PS/2控制器用以介面至鍵 盤/滑鼠。I/O裝置設計用以經由一支持其的介面匯流排而 連接晶片組。例如,現代的電腦典型的耦合繪圖卡經由一 AGP匯流排至晶片組。乙太網路卡,SATA,光纖通道, 和S C S I (資料儲存)卡,U S B和火線控制器皆連接至一 PCI匯流排,和PS/2裝置連接至一 ISA匯流排。 熟悉此項技藝的人士可瞭解上述是相當一般性的說明 。但是,更應瞭解的是,和電腦型式無關的,其應包括一 處理複合體以執行指令,一介面至I/O,和I/O裝置以允 許該處理複合體和其本身以外的世界通訊。無論該電腦爲 家用廉價桌上型電腦,使用於繪圖和視頻編輯的高品質工 作站,或在一大組織內提供對無數使用者提供資料庫支持 的叢集伺服器而言,上述都是真的。 本發明人所確知的一個問題是設置一處理複合體,介 面和I/O在每一電腦內的需求是昂貴的,且缺乏模組性。 亦即,一旦購買一電腦後,從使用者的觀點而言,所有的 次系統皆是靜態的。對使用者而言,改變處理複合體而同 時仍使用介面和I / 0是相當困難的。介面或晶片組典型的 相當牽繫著處理複合體,因此,以其中一個交換另一個是 相當不智的。再者,I/O典型的整合在電腦內,至少對於 (3) 1292990 伺服器和商用桌上型電腦而言是如此的,因此,ι/ο 級或修改不是不可能就是太昂貴。 上述限制之例在考量下是有益的。由戴爾(Del] 腦公司所設計的一般網路伺服器爲Dell PowerEdge 。此伺服器包括由Intel所設計的微處理器(Xeon處 ),伴隨記憶體(如處理複合體)。其具有一伺服器 片組以介面處理複合體至I/O (例如,介面)。再者 P 具有板上繪圖器以連接至一顯示器,板上PS/2以連 一滑鼠/鍵盤,板上raid控制器以連接至資料儲存器 上網路介面控制器以連接至10/100和1G (十億位元 太網路,和一 PCI匯流排以添加其它I/O,如SCSI或 通道控制器。這些板上特性皆無法升級。 因此,如上所述,具有上述架構的一個問題是如 現另一 I/O需求時,其將難以甚或因價格而無法完成 。例如,當1 0G乙太網路是水平時,如何將其輕易的 φ 至此伺服器內。假設可購買1 〇 G乙太網路控制器並將 入P CI匯流排。在考量包括數十或數百此種伺服器的 基本架構下,改變至一更快網路架構需要使各個已存 伺服器升級。此種升級形成相當高的成本限制,此即 使已存在的網路基本架構升級是相當困難的。 介於處理複合體,介面,和I / 0間的一對一對應 製造者而言亦是相當昂貴的。亦即,在上述範例中, 份的I/O製造在伺服器的母板上。包括I/O在母板上 製造者而言是相當昂貴的,而對使用者而言,更是天 之升 )電 1750 理器 級晶 ,其 接至 ,板 )乙 光纖 果出 升級 添加 其插 技術 在的 爲何 對於 大部 對於 價。 (4) 1292990 如果使用者使用所有已提供的I/O,則他將是愉快的。但 是,如果使用者不希望使用板上RAID,或10/100乙太網 路時,則他仍需要對其需求付出代價,而此代價並不樂觀 〇 考量另一個出現的平台,即刀片型伺服器。刀片型伺 服器主要爲一處理複合體,一介面,和I/O —起在相當小 的印刷電路板上,該印刷電路板具有背面連接器。此種刀 片型伺服器乃製成可將其它刀片插入一框架中,而該框架 具有和現今的軌道伺服器相似的形狀因數。此種伺服器的 優點是許多刀片可設置在相同的軌道空間中,其先前只需 要一或兩個軌道伺服器。雖然刀片型伺服器在某些領域中 相當有市場成長性,但是,處理密度仍是一實際的問題, 因爲某些原因,其至今仍無法取得顯著的市場佔有率。其 原因之一即爲成本。亦即,刀片型伺服器仍必須提供台座 或軌道伺服器的所有特性,包括處理複合體,介面至I/O ,和I/O。再者’刀片型伺服器必須整合所有必須的I/O, 因爲它們沒有外部匯流排以允許添加其它I/O。因此,各 個刀片型伺服器必須包括此I/O當成乙太網路(1 0/1 00, 和/或1G),和資料儲存控制器(SCSI,光纖通道等)。 近年來由Intel和其它廠商所導入的的發展是嘗試和 允許多重處理複合體和I/O裝置分開。其稱爲Infiniband 。Infiniband爲一種高速串列互接,其設計以供多重在機 箱外的互接。但是,其爲一開關、通道基礎架構,而不是 處理複合體之載入-儲存架構的一部份。亦即,其使用通 -8- (5) 1292990 過處理複合體和主通道配接器(HCA )通訊處之訊息,而 HCA隨後和所有下游裝置、如I/O裝置通訊。HCA掌控所 有至Infiniband構造的傳送,而非處理複合體。亦即,在 處理複合體之載入/儲存域內的唯一裝置爲HCA。此意即 必須留下處理複合體域,以獲得I/O裝置。此種跳躍出處 理複合體域(載入/儲存域)爲Infiniband當成共用I/O解 答的失敗處。依照有關Infiniband的產業分析,「對於所 有伺服器、所有I/O之解脫而言,Infiniband是過度昂貴 且過度假設的,在資料中心中,你可想像到的所有問題的 解答…但是,其變成相當複雜且昂貴以致於無法發展…, 因爲其需要安裝一新的線路系統和顯著的投資在另一開關 高速串列互接上」。 因此’本發明人認知介於處理複合體和其介面,以及 I/O間的分離必須發生,但是,此分離必須不會影響已存 在的作業系統’軟體,或已存在的硬體或硬體基本架構。 藉由使處理複合體和I/O分離,可導入更有效的成本和更 具彈性的解決方式。 再者’本發明人認知此解答必須不是一在機箱外側執 行的通道基本架構。此解答應是使用載入/儲存架構,其 中處理複合體直接傳送至(或至少架構性的直接)或直接 從一 I/O裝置(如一網路控制器,或資料儲存控制器)接 收資料’而無訊息通過。如此可允許完成分離而不會影響 網路基本架構或中斷作業系統。 因此’於此所需要的是一裝置和方法,其可分離處理 (6) 1292990 複合體和其介面至I/O或從I/O裝置而來的介面。 再者’於此所需要的是一裝置和方法,其可允許設計 、製、和銷售處理複合體和其介面,而無需將1/0包括 在其中。 此外’於此所需要的是一裝置和方法,其可允許一單 一 I/O裝置由多重處理複合體所共用。 此外,於此所需要的是一 I/O裝置,其可由使用一共 同載入-儲存構造的兩或更多處理複合體所共用。 再者’於此所需要的是一裝置和方法,其可允許多重 處理複合體經由一共同載入-儲存構造而共用一或多個 裝置。 此外,於此所需要的是一裝置和方法,其可提供介於 多重處理複合體和共用I/O間的切換。 再者,於此所需要的是一裝置和方法,其可允許多重 處理複合體,各個獨立的操作,且使它們的作業系統域可 將共用I/O裝置視爲此I/O裝置專屬其所有。 此外,於此所需要的是一裝置和方法,其可允許共用 I/O裝置可由不同的處理複合體所使用,而不需對已存在 的作業系統或軟體修改其處理複合體。 【發明內容】 本發明旨在提供一種方法和裝置用以將處理複合體從 專屬I/O裝置分離,以使多重處理複合體共用1/0裝置。 在一觀點中,本發明提供一種封包,其用以在一載入 - 10- (7) 1292990 /儲存構造中傳送資料至一共用輸入/輸出(I/O )端點。該 封包包括一標頭欄和一 OS域標頭欄。該標頭欄用以辨識 該共用I/O端點。該0 S (作業系統)域標頭欄耦合至該 標頭欄,且用以辨識和封包關連的多數根複合體之一。 在另一觀點中,本發明提供一種OS標頭,在一 PCI Express封包內。該OS域標頭包含多數位元以界定一作業 系統域,而該PCI Express封包起源於該作業系統域。 B 在另一觀點中,本發明提供一種用以辨識一根複合體 的方法,該根複合體用於在一載入/儲存構造內的一封包 ,以允許共用輸入/輸出(I/O )端點。該方法包含提供用 於該封包的一架構,和提供一欄包含在該封包中,以辨識 用於該封包的根複合體。該輸入/輸出(I/O )端點使用該 欄以辨識用於該封包的根複合體。 在另一觀點中,本發明提供一種傳送封包的方法,其 在一載入/儲存構造內從一共用輸入/輸出(I/O)端點傳送 φ 封包至多數〇 S域之一。該方法包含將一 0 S域編號嵌合 該封包,以關連該封包和多數0 S域之一;傳送具有已嵌 合0 S域編號的封包至一共用I/O開關;檢查嵌合0 S域編 號,以決定在共用I/O開關內與多數0S域之一關連的~ 埠;和使用該璋傳送封包至該多數0 S域之一。 在另一觀點中,本發明提供一種在一載入/儲存域內 的共用輸入/輸出(I/O )構造。該構造包括多數根複合體 ,·一共用I/O開關,其耦合至該多數根複合體;和一共用 I/O控制器,其耦合至該共用I/O開關。該共用I/O開關 -11 - (8) 1292990 從多數根複合體之各個根複合體接收封包,設置根複合體 辨識在該封包內以供該共用I/O控制器使用,和傳送具有 該根複合體辨識之封包至該共用I/O控制器以供處理。 在另一觀點中,本發明提供一種串列通訊架構,該串 列通訊架構介於多數根複合體和多數端點間。該架構以使 多數根複合體之各個根複合體共用多數端點之各個端點。 該架構包含第一鏈接,其介於多數根複合體之各個根複合 P 體和一共用I/O開關間;和第二鏈接,其介於該共用I/O 開關和多數端點的各個端點間。該共用I/O開關在傳送封 包至多數端點前,藉由嵌合一標頭在該封包內,以從多數 根複合體關連封包至根複合體。 在另一觀點中,本發明提供一種用以關連封包的裝置 ,該裝置在一載入/儲存串列通訊構造中關連封包和根複 合體,以允許根複合體共用輸入/輸出(I/O )端點。該裝 置包括一共用I/O開關和一鏈接。該共用1/〇開關耦合至 Φ 各個根複合體,且具有路由控制以藉由安裝一欄在該封包 內,而關連來自各個根複合體的封包和封包起源的根複合 體。該鏈接介於共用I/O開關和輸入/輸出(I/O )端點間 。該鏈接允S午該封包從共用I/O開關傳送至具有該欄的輸 入/輸出(I/O )端點。該輸入/輸出(I/O )端點藉由檢查 該欄而關連封包和它們相關連的根複合體。 在另一觀點中,本發明提供一種用以關連封包的方法 ,在一串列載入/儲存構造中,從多數根複合體關連封包 和封包起源的根複合體,以允許多數根複合體共用I/O端 -12- (9) 1292990 點。該方法包含提供第一鏈接在多數根複合體和一開關間 ,在第一鏈接中的封包未知悉根複合體共用I/O端點;在 該開關內,嵌合一標頭在封包中,以關連該封包和封包起 源的根複合體;提供第二鏈接在開關和I/O端點間,第二 鏈接可使封包和在開關和I/O端點間的嵌合標頭通訊;和 在I/O端點上,檢查具有嵌合標頭的封包,以允許I/O端 點關連各個封包和封包起源的根複合體。 P 在另一觀點中,本發明提供一種乙太網路控制器,其 處理從多數網路電腦伺服器經由一串列載入/儲存構造而 接收的封包。該乙太網路控制器包含一匯流排介面和控制 暫存器邏輯。該匯流排介面耦合至該串列載入/儲存構造 ,且關連各個封包和封包起源的網路電腦伺服器。該控制 暫存器邏輯具有多數控制暫存器,其中各個控制暫存器可 根據封包和封包起源的網路電腦伺服器之關連而選擇以服 務至少一網路電腦伺服器。 Φ 本發明之另一觀點爲提供一種共用資料儲存控制器’ 其用以從多數根複合體經由一共同載入/儲存鏈接而存取 網路資料儲存。該控制器包含多數資訊和一匯流排介面。 各個資源配置至多數根複合體之一特定根複合體。該匯流 排耦合至該共同載入/儲存鏈接和該多數資源,以接收來 自多數根複合體的封包,和根據該配置,選擇多數資源之 一特定資源以使用於封包處理。 在另一觀點中,本發明提供一種使第一電腦和第二電 腦共用使用一串列載入/儲存構造的乙太網路介面控制器 -13- (10) (10)1292990 的裝置。該裝置包含一共用I/O開關;第一鏈接;第二鏈 接;第三鏈接;和一介面用於該乙太網路介面控制器。第 一鏈接耦合第一電腦至該共用I/O開關。第二鏈接耦合第 二電腦至該共用I/O開關。第三鏈接耦合該共用1/0開關 至該乙太網路介面控制器,該第三鏈接使用串列載入/儲 存構造以傳送源自第一電腦和第二電腦的封包至乙太網路 介面控制器。該封包具有標頭資訊,其關連各個封包和第 一電腦或第二電腦。該用於該乙太網路介面控制器之介面 檢查該封包,該封包包括標頭資訊,用以根據該關連選擇 用於該封包的專屬資源。 在另一觀點中,本發明提供一種共用端點裝置之方法 ,其在一串列載入/儲存構造內使至少兩根複合體共用一 端點裝置。該方法包含:以標頭資訊從至少兩根複合體辨 識封包,以關連封包和該至少兩根複合體;從該至少兩根 複合體傳送封包至該端點裝置:在該端點裝置上,檢查該 封包以決定所欲關連的根複合體;根據該關連’配置用於 該封包的資訊;和依照該配置步驟’處理該封包。 由下述之說明伴隨附圖之解說,其中本發明之較佳實 施例以說明例顯示’可更加明瞭本發明之上述和其它目的 ,特徵,和優點。 【實施方式】 參考圖1,方塊圖100表示一多重伺服器計算環境。 該環境包括三個伺服器102,104,和106。爲了本發明的 -14- (11) 1292990 目的,一伺服器爲可提供服務至在相同或不同電腦中的電 腦程式之硬體和軟體的結合。電腦伺服器之範例如由Dell ,HP,Apple,Sun等公司製造的電腦,其執行如 Windows,Linux,Solaris,Novell,MAC OS,Unix 等的 作業系統,且具有由如Intel,AMD,IBM,Sun等公司製 造的一或多個處理器。 各個伺服器102,104,和106具有一根複合體108。 p 該根複合體典型的爲一晶片組,其提供介於一處理複合體 (共用一共同記憶體和執行一共同作業系統的一或多個 CPU ),記憶體,和下游 I/O (例如,IDE,SATA, Infiniband,乙太網路(Ethernet ),光纖通道(Fiber Channel ) ,U S B,Fire wire,P S/2 )間的介面。但是,在 本說明書中,根複合體亦包括一或多個處理複合體(處理 器+記憶體)以及上述其它功能。再者,一根複合體亦可 包括多重處理複合體以執行相同或不同作業系統。例如, Φ 未來的處理器亦可設計以具有多重核心,各個核心互相獨 立(亦即,各個具有其本身的記憶體構造且執行其本身的 作業系統)。在P CI E X p r e s S (其將於下進一步討論)的 內文中,一根複合體爲在PCI Express階層中的一個元件 ,以連接在上游側上的HOST匯流排段和在下游側上的一 或多個PCI Express鏈接。本發明應包括所有對根複合體 的定義。 各個伺服器102,104,和106的根複合體108連接至 三個I/O控制器1 10,Π2,和1 14。爲了說明目的,這些 -15- (12) 1292990 I/O控制器如一網路介面控制器(NIC) 110, 控制器1 1 2,和一其它控制器1 1 4。此三個控 112,114允許各個伺服器102,104,106的根 與網路和如乙太網路1 2 8,光纖通道網路1 3 0 1 3 2之資料儲存系統通訊。熟悉此項技藝的人 些網路128,130,132,只受到網路的限制, 靠近伺服器102,104,106的實質位置,或亦 界上任何角落。 爲了使各個伺服器102,104,106連接至 130,132,在各個伺服器 102,104,106的控 1 1 2,1 1 4和網路 1 2 8,1 3 0,1 3 2間分別提供 124,126。亦即,乙太開關122連接在各個伺 104,106中的網路介面控制器1 10,至乙太網 太開關122使資料或指令從在乙太網路128上 至任一伺服器10 2,104,106,反之亦然。因 於根複合體1 0 8和網路介面控制器1 1 0 (例如 ,PCI,PCI-X,PCI Express )間的通訊通道爲 面控制器1 1 0皆可和使用乙太協定的乙太網路 關1 22 )通訊。但是,熟悉此項技藝的人士可 複合體1 08和網路介面控制器1 1 〇間的通訊通 合體1 08的載入/儲存構造的一部份。 光纖通道開關124連接在各個伺服器102 中的光纖通道控制器1 1 2,至光纖通道網路1 道開關124使資料或指令從在光纖通道網路 一光纖通道 制器 Π 〇, :複合體108 和其它網路 士可瞭解這 而可位在極 可延伸至世 網路128, 制器1 1 〇, 開關122 , 服器102, 路 128 。乙 的裝置傳送 此,無論介 ISA,EISA 何,網路介 1 2 8 (和開 瞭解介於根 道仍是根複 ,104 , 106 3 0。光纖通 ί 0上的裝置 -16- (13) (13)1292990 傳送至任一伺服器102,104,106,反之亦然。 其它開關126連接在各個伺服器102,104,106中的 其它控制器114,至其它網路132。其它開關126使資料 或指令從在其它網路132上的裝置傳送至任一伺服器1〇2 ,104,106,反之亦然。其它型式的網路範例包括 :Infiniband,SATA,串接 SCSI等。雖然上述並非耗竭的 ,其它網路1 3 2於此說明以幫助讀者瞭解本發明下述並非 侷限於乙太網路和光纖通道網路1 28,1 3 0,而是可輕易延 伸至現今存在的網路,或未來將界定的網路。再者,網路 128,130,132的通訊速度於此並未討論,因爲熟悉此項 技藝的人士可瞭解任何網路的介面速度可隨時改變,而仍 使用先前存在的協定。 爲了說明環境1 00的操作,如果伺服器1 02欲傳送資 料或指令經由乙太網路128至伺服器104,106或至在乙 太網路128上的其它裝置(未顯示)時,伺服器1 02的根 複合體1 〇 8將使用其乙太網路控制器1 1 0來傳送資料或指 令至乙太開關1 22,而後將資料或指令傳送至其它伺服器 1 04,1 0 6或至一路由器(未顯示)以到達一外部裝置。熟 悉此項技藝的人士可瞭解連接至乙太網路1 2 8的任何裝置 會具有其本身的網路介面控制器1 1 〇以允許其根複合體和 乙太網路通訊。 本發明人提供上述討論(相關於圖1 )以說明現今的 電腦使用各種通訊通道或網路互相通訊,和與其它電腦或 裝置通訊。再者,當超過一個電腦存在一特殊位置內時, -17- (14) 1292990 典型的使用一開關以用於各個網路型式,以互接這些電腦 ,和至網路。再者,介於一電腦和開關(或網路)間的連 接提供在電腦內。在此例中,伺服器1 〇 2,1 0 4,1 0 6各具 有一網路介面控制器1 1 〇以將它們連接至乙太開關1 22。 它們亦具有一光纖通道控制器1 1 2以連接至一光纖通道開 關124。再者,它們亦具有一其它控制器1 14以連接至其 它開關1 2 6。因此,各個電腦需要包括一控制器以用於其 (I 需要通訊的各個網路型式,並允許其根複合體和該網路通 訊。如此允許不同型式的根複合體執行不同的作業系統, 或一根複合體執行多重作業系統,以互相通訊,因爲它們 皆具有知悉如何經由所欲網路通訊的特殊控制器。 參考圖2A,相似於上述對圖1所討論的,於此顯示 一多重伺服器環境200。更特別而言,此環境200包括三 個伺服器202,204,206,各個伺服器具有一根複合體 2 0 8和三個控制器2 1 0,2 1 2,2 1 4,以允許伺服器2 〇2, # 204,206連接至乙太開關222,光纖通道開關224,和其 它開關226。但是,圖2中存在至少三個額外的不同處。 首先’可瞭解的是各個伺服器202,204,206具有不 同數目的處理器或CPU。伺服器202包含一個CPU240。 伺服器2〇4包含兩個CPU。伺服器206包含四個CPU。第 二,各個伺服器202,204,206的形狀因數大致具有相同 寬度’但是高度不同,以允許具有不同計算容量和作業系 統的伺服器能設置在相同框架或櫃子中。第三,開關222 ’ 224 ’ 226亦具有可使它們如同伺服器202,204,2 0 6之 -18- (15) 1292990 形狀因數以使其可設置在相同框架或櫃子內。熟悉此項技 藝的人士可瞭解,如圖1所示,各個伺服器202,204, 2 〇 6必須包括,在其形狀因數內,一控制器2丨〇,2 1 2, 2 1 4,以用於它們所欲與其通訊的各個網路。 參考圖2 B,於此顯示一計算環境2 0 1。計算環境2 0 1 和上述相關於圖1和2A所討論的相似,但是,伺服器 2 5 0,25 2,2 54以已知的刀片或刀片伺服器的形狀因數實 質的設置在單一電腦板上。刀片伺服器爲一薄模組電子電 路板,包含一、二、或多個微處理器和記憶體,其通常欲 用於單一專屬應用(如用於網頁)且可輕易的插入具有許 多相似伺服器的一空間保留框架。刀片伺服器可垂直安裝 數以百計的刀片伺服器在多重框架或單一板直立櫃的列中 。刀片伺服器,其共用一共同高速匯流排,乃設計以產生 較少的熱,並因此節省能量成本和空間。大的資料中心和 主宰網路的網路服務提供者(I s P )是使用刀片伺服器的 公司之一。刀片伺服器有時視爲一高密度伺服器且典型的 使用在專屬單一工作的伺服器叢集中,例如,檔案分享, 網頁的服務和快取,網路通訊的S S L加密,用於較小顯示 器的網頁內容的轉編碼,資料流音頻和視頻內容,科學計 算,金融模組化等。和大部份的叢集應用相似,刀片伺服 器亦可管理以包括載入平衡和失敗結束容量。一刀片伺服 器通常伴隨其已在板上專屬的作業系統和應用程式而來。 個別的刀片伺服器具有各種高度,包括5 · 2 5吋(3 U型) ,1 · 7 5吋(1 U型)和可能的”副U ”尺寸。(U爲在一設備 -19- (16) 1292990 櫃中的垂直高度標準測量,且等於1 .7 5吋)。 在圖2B的環境201中,各個刀片伺服器250,252, 254具有一CPU (或多數CPU) 2 40,一根複合體208,和 介面控制器210,212,214。伺服器250,252,254用以 在一刀片框架270內操作,該刀片框架270提供電源至刀 片伺服器250,252,254,以及一背板介面260至所有伺 服器25 0,252,254,以經由開關222,224,226和網路 223,225,227通訊。在今曰的刀片伺服器市場中,開關 2 22,224,2 26具有和刀片伺服器25 0,252,254相似的 形狀因數,以供插入刀片框架270中。 除了在刀片形狀因數中顯示的伺服器250,252,254 外,以在刀片框架270內的開關222,224,226,本發明 人想要顯示各個控制器210,212,214需要一介面分別至 根複合體208和媒體存取控制(MAC) 21 1,213,215。 用於各個介面控制器210,212,214的MAC典型的位在 實體層上的一層,且界定其控制器的絕對位址。對應於 MAC亦需要在開關222,224,226的每一埠上,以允許從 一埠(或裝置)適當的路由資料和/或指令(亦即,一般 以封包形式)至另一埠。因此’在刀片伺服器環境內,對 於各個其欲與之通訊的網路而言,一控制器必須供應在各 個刀片伺服器上。且各個控制器必須包括其本身的MAC。 參考圖2 C,於此顯示一刀片環境2 03。更特別而言, 一刀片框架270安裝有多重刀片伺服器25 0。此外,爲了 使伺服器2 5 0互相通訊和通訊至其它網路’刀片開關2 2 2 - 20- (17) 1292990 ,22 4,226亦安裝在框架中。熟悉此項技藝的人士可瞭解 的是,在刀片環境內,爲了使刀片伺服器250和其它網路 通訊,一刀片開關安裝在框架270中,以用於刀片伺服器 25 0所欲與之通訊之各個網路。替代的,貫通纜線亦可提 供以從刀片伺服器25 0提供網路連接至外部開關。 以下參考圖3-20。這些圖示以及伴隨之文字將說明本 發明允許多重根複合體(或處理複合體),無論是單獨存 在,框架安裝,或刀片型式,可共用I/O裝置或控制器, 因此,各個根複合體不需具有其本身的控制器以用於各個 網路或其所接附的構造。本發明使用近來發展的協定,已 知如 P CI E X p r e s s,但是,熟悉此項技藝的人士可瞭解, 雖然本發明的實施例以PCI Express的內文說明,於此仍 有無數的替代例,或迄待發展的載入/儲存協定可使用而 未悖離本發明的精神和範疇。 藉由對背景的瞭解,週邊元件互接(PCI )在1 990年 早期由Intel公司所發展出當成一般I/O架構以比該時期 之ISA架構更快速的傳送資料和指令。從那時起,PCI已 進行了數次的改進,而最近的發展即爲PCI Express。簡 言之,PCI Express爲PCI和PCI-X匯流排規格的替換, 以提供具有更大效能的平台,而使用較少銷數量(PCI和 PCI-X爲並列匯流排架構,PCI Express爲串列匯流排架構 )。對於PCI Express的充分討論會超出本說明書的範疇 ,但是,徹底的背景說明可參考下列書籍:如 Introduction to PCI Express, by Adam Wilen, Justin -21 - (18) (18)1292990
Schade, Ron Thornburg; The Complete PCI Express Reference, Design Insights for Hardware and Software Developers,by Edward Solari and Brad Congdon;和 PCI Express System Architecture, by Ravi Budruk, Don Anderson, Tom Shanley; 這 些書籍 皆可在 www.amazon.com購買。此外,PCI Express規格受到在 www.pcisig.com 的 PCI 基金之 Special Interest Group ( S IG )的管理和傳播。 參考圖 3,於此顯示一伺服器 3 00,其使用 PCI Express匯流排以用於裝置通訊。伺服器3 00包括CPU3 04 ,3 06,其經由一主匯流排3 10而耦合至一根複合體3 08。 根複合體3 0 8耦合至記憶體312,經由PCI Express匯流 排3 20至一端點3 14,經由第二PCI Express匯流排320 至 PCI Express 到 PCI 橋 3 1 6,和經由第三 PCI Express 匯流排 320 至 PCI Express 開關 3 22。PCI Express 到 PCI 橋3 1 6允許根複合體和留下的P C I裝置3 1 8通訊,留下的 PCI裝置318如音效卡,繪圖卡,儲存控制器(SCSI,光 纖通道,SATA ),網路控制器(乙太網路),Firewire ( 火線),USB等。PCI Express開關3 22允許根複合體308 和如光纖通道控制器3 24,網路介面控制器3 26,和其它 控制器3 2 8之多重PCI Express端點裝置通訊。在PCI Express內,一端點界定當成根複合體或開關之下游的任 何元件’且包含具有一至八個功能的裝置。本發明人瞭解 上述包括如I/O控制器之裝置,但是亦包括前端至控制器 -22- (19) 1292990 裝置(例如,X級RFID控制器)的CPU。 伺服器3 00,其可爲單獨的伺服器,框架安裝伺服器 ,或刀片型伺服器,如相關於圖2A-C之說明,亦包括 PCI Express匯流排以在根複合體3 0 8和所有下游介面控 制器324,3 26,3 2 8間通訊。應瞭解的是此伺服器3 00仍 需要專屬I/O控制器324,326,328以使各個伺服器300 和網路構造如乙太網路、光纖通道等通訊。 參考圖4,此方塊圖顯示安裝有本發明共用I/O新穎 觀點的多重伺服器環境400。更特別而言,於此有三個刀 片伺服器 404,406,408,各個伺服器具有一或多個 CPU410耦合至它們的根複合體412。在伺服器404,406 ,408之根複合體412南側上爲PCI Express鏈接43 0。依 照本發明,PCI Express鏈接43 0皆耦合至一共用I/O開關 420。在共用I/O開關420南側爲多數PCI Express鏈接 4 32 (於下界定),其直接耦合至共用I/O裝置440,442 ,444。在一實施例中,共用I/O裝置包括一共用乙太網 路控制器440,一共用光纖通道控制器442,和一共用其 它控制器4 4 4。這些控制器的南側連接至它們相關的網路 或構造。 如下進一步說明,伺服器404,406,408皆沒有它們 專屬的I / Ο控制器。而是,它們的根複合體4 1 2南側直接 耦合至共用I/O開關420,其而後允許各個伺服器4〇4, 406’ 408與共用I/O控制器440,442,444通訊,而仍然 使用PCI Express載入/儲存構造。如更特別而言,共用 -23- (20) 1292990 I/O開關420包括一或多個PCI Express鏈接在其北側,一 開關核心用以處理P CI E X p r e s s資料和指令,和一或多個 PCI Expiress +鏈接在其南側以連接至下游 pci Express裝 置(如網路控制器,資料儲存控制器),和甚至另一個共 用I/O開關420用以級聯pci Express +鏈接。再者,各個 下游裝置 440 ’ 442,444 包括 一 PCI Express +介面 441, 和媒體存取控制器(MAC )。熟悉此項技藝的人士可瞭解 ,當比較圖4和圖2B時,三個共用I/O裝置440,442, 444使所有三個伺服器404,406,408連接至乙太網路, 光纖通道,和其它網路,而圖2B之解決方式需要九個控 制器(每個伺服器三個)和三個開關(每個網路型式一個 )° 參考圖5,此方塊圖顯示安裝有本發明新穎觀點的共 用I/O環境5 0 0。更特別而言,此環境5 00包括根複合體 5 02,504,5 06,其經由一或多個PCI Express鏈接5 08而 耦合至一共用I/O開關510。爲了易於瞭解,以下討論的 根複合體只包括一或多個處理複合體,但是未包括它們的 I/O。如上所述,參考PCI Express只爲了說明目的而已。 替代的實施例包括其它無論是串列或並列之載入/儲存構 造。 共用1/05 10耦合至一共用乙太網路控制器512,一共 用光纖通道控制器5 1 4,和一共用其它控制器5 1 6。共用 乙太網路控制器接附至乙太網路構造520。共用光纖通道 控制器514接附至光纖通道構造5 2 2。共用其它控制器 -24- (21) (21)1292990 5 16接附至其它構造524。在操作上,任一根複合體502, 5 04,50 6可經由共用I/O開關510和共用I/O控制器512 ,514,516而和任一構造520,522,524通訊。以下參考 圖6 - 2 0說明如何完成上述之細節。 參考圖6,於此顯示依照本發明的一共用I / 〇實施例 之計算環境600的方塊圖。此環境包括三個根複合體以 602,604,606表示。這些根複合體602,604,606皆可 具有相同CPU架構執行相同作業系統,或替代的,不同 的架構以執行不同的作業系統。它們的共同點爲具有一介 面至一載入/儲存構造,如PCI Express。爲了說明起見, 複合體602 ’ 604,606各具有一埠603,605,607,其分 別將它們介面至PCI Express。 依照本發明,各個埠603,605,607耦合至在一共用 I/O開關6 1 0內的1 6個埠640之一。雖然亦可使用其它璋 構造,在一實施例中,開關61 〇提供支持PCI Express構 造的1 6個璋。熟悉此項技藝的人士可瞭解這些埠可具有 不同速度(例如,每秒2.5 G B ),且可支持每個鏈接多重 通道(如xl,x2,χ4,χ8,χ12,xl6 )。例如,根複合體 1 6 02之埠4 6〇3可耦合至I/O開關610的埠4,根複 合體2 604之埠7 605可耦合至I/O開關610的埠11 ’和根複合體3 6 0 6之埠1 〇 6 0 7可耦合至I / 〇開關 6 1 0的埠1 6。 在下游側’共用I / Ο開關6 1 0的璋9可親合至在一共 用I/O控制器6 5 0上的一埠,例如一乙太網路控制器支持 -25- (22) 1292990 來自N個不同根複合體之一的封包(亦即,多重〇 S共用 控制器)。在共用I/O控制器650內爲四個OS資源651 ,其可受到獨立的支持。亦即,共用I/O控制器65 0可傳 送、接收、和處理來自四個不同根複合體或〇 S域的封包 。在本文中,一個OS域爲一作業系統域,其中用於一特 別CPU (或一組CPU )的系統記憶體和I/O裝置爲單一系 統記憶圖或作業系統的一部份。此外(或替代的),一 0 S域由一處理複合體,記憶體,和執行作業系統的單一 實例之 I/O、如在一或多個 CPU上運行的 Windows、 Linux、VxWorks,所組成。在一實施例中,介於共用I/0 開關610和共用I/O控制器650間的鏈接使用PCI Express 構造,但是以下將進一步說明增強此構造以允許用於OS 域的辨識。本發明人將此增強構造當成PCI Express + 61 1 ο 參考圖7,於此顯示一架構7 0〇,其環境相似於參考 圖6所述,只是百位數以”7”取代。但是,在此實例中, 三個複合體702,704,706經由共用I/O開關710而耦合 至一共用I/O光纖通道控制器7 5 0。在一實施例中,共用 I/O光纖通道控制器750可支持高達四個獨立的0S域751 。此外,各個根複合體702,704,706保持它們的一對一 埠耦合至共用I/O開關7 1 0,如圖6所示。亦即,雖然其 它實施例允許一根複合體具有多重璋接附至共用I/O開關 71 〇,但是在本實施例中並不需要。例如,根複合體1 702可經由其埠4 703而通訊至多重下游I/O裝置,如 -26- (23) 1292990 乙太網路控制器6 5 0和光纖通道控制器7 5 0。如此可使根 複合體 702,704,706 經由一單一 PCI Express 埠 703, 70 5,707而和接附至共用i/o開關710的任一共用I/O控 制器通訊。 參考圖8,於此顯示一架構8 0 0,其環境相似於參考 圖6-7所述,只是百位數以”8”取代。但是,在此實例中 ,三個複合體802,8 04,8 0 6經由共用I/O開關810而耦 合至一共用I/O其它控制器850 (支持四個獨立〇S域851 )。在一實施例中,共用I / 0其它控制器可爲設計用於共 用I/O開關之系統管理的CPU。可瞭解的是此I/O控制器 可安裝在共用I/O開關810內。再者,於此可安裝如圖6-8所示的任一控制器在共用I/O開關內而不會悖離本發明 的架構。 參考圖9,於此顯示PCI Express封包900的方塊圖 。在PCI Express封包900中的各個方塊的細節詳細的揭 示於由 www.pcisig.com 所發表的 PCI Express Bass 規範 l.〇a,於此提出以供參考。其它資訊可在參考圖2C之說 明內文中獲得。 在一實施例中,如圖9所示之PCI Express的封包構 造,其使用在根複合體602,6 04,606和共用I/O開關 6 1 〇間。但是,本發明人完成所述增強的可能性,亦即, PCI Express + 611亦可使用於在根複合體602,604,606 和共用I/O開關610間的通訊,或直接在根複合體602-606和下游I/O端點間的通訊。亦即,本發明人構思共用 -27- (24) 1292990 I/O開關610可能會安裝在一根複合體中。在本文中,介 於根複合體和所安裝開關間的通訊可爲PCI Express,而 所安裝開關的通訊南側可爲PCI Express+。此外,本發明 人構思多重處理複合體亦可安裝在一起(例如在單一處理 器內的一或多個獨立處理核心),其中處理核心爲共用 I/O知悉(亦即,它們通訊下游至一共用I/O開關,無論 安裝或未使用PCI Express+)。而後,共用I/O開關通訊 至使用PCI Express +的共用I/O端點。 參考圖10,於此顯不由發明人所命名之PCI Express + 的改進封包1000的方塊圖。更特別的,PCI Express +封包 1000包括一 OS域標頭1002在封包1000的交易層內。〇S 域標頭1 0 0 2之細節提供在圖1 1中。 圖1 1顯示一 〇S域標頭1 1〇〇之實施例,其添加至 PCI Express封包。此〇S域標頭1100爲8位元組欄,其 包括保留的5 +位元組,6位元配置以辨識一資源編號,1 位元組配置當成一協定ID欄,和6位元當成0 S域編號。 0S域編號使用以關連一封包和其來源或目的地根複合體 。因此,6位元0S域編號欄可辨識64個獨特的根複合體 或〇 S域至例如共用I/O控制器的端點裝置。本發明人配 置6位元至〇 S域編號欄’因爲在可預見的未來’供應商 將不會想要去建立共用I/O控制器以支持超過64個獨特 的〇S域。但是,熟悉此項技藝的人士將瞭解本發明並不 限於配置在0 S域標頭內的位元數。而重要的是,建立一 機構以關連一封包和其來源或目的地0 s域,以允許ί / ◦ -28- (25) (25)1292990 裝置的共用或分割。 在一替代實施例中,OS域編號使用以關連下游或上 游璋和一 P C I E X p r e s s +封包。亦即,在一封包必須遍歷介 於其來源和目的地間的多重鏈接時,對於介於各個埠對間 (例如’各個鏈接)的給定封包必須存在有不同的〇 S域 編號’並仍能獨特的辨識該封包,因此該〇 S域編號可最 終的公連一根複合體或Ο S域。在本文中,在一系統內的 OS域編號數目可爲64的因數組合,其決定於介於一 OS 域和一端點間的開關數目和在該構造內的鏈接數目。 此外,在0 S域標頭內有多數保留位元。本發明人認 爲該保留位元可具有許多用途。雖然保留位元有其它用途 ,但是其用途之一爲用以追蹤在其載入/儲存構造內的管 理一致性。 在一實施例中,首先藉由嵌合在耦合至封包來源、或 封包所欲耦合至的上游根複合體的共用I/O開關610中的 璋編號,而藉由該共用I/O開關610以建立OS域標頭的 內容當成〇 S域編號。但是,亦可使用其它機構以關連封 包和其來源/目的地根複合體。替代例之一爲耦合至共用 I/O開關610且由共用I/O開關610指定一獨特ID的根複 合體使用當成OS域編號。另一替代例爲以共用I/O開關 或在根複合體內或外的其它機構,對於一根複合體指定以 一獨特的ID,而後將其使用在封包傳送至共用I/O開關( 或下游共用I/O控制器)。 在另一實施例中,提供一個兩位準檢索表。更特別而 -29- (26) 1292990 言,OS域編號關連一 PCI匯流排階層。而後PCI匯流排 階層關連一特別上游或下游瑋。在此實施例中,使用一般 的PCI發現機構以和下游共用I/O裝置通訊。再者,共用 I/O開關使用以映射特別的PCI匯流排階層至特別的端點 ,以使多重〇 S域免於見到比由共用I/O開關所提供更多 的端點。本發明包含關連封包和上游根複合體或0S域的 所有變化例。 在一實施例中,0S域標頭可爲只包括在一 PCI Express封包內的額外資訊以形成一 PCI Express +封包。 因此,進一步參考一標頭,一 〇S標頭,一域標頭,或一 0 S域標頭必須包括至少上述0 S域編號。 參考圖1 2,於此顯示習知技藝的非共用乙太網路控制 器1 200的高位準方塊圖。此非共用乙太網路控制器1200 包括一匯流排介面1 204用以耦合至一匯流排1 202 (例如 PCI,PCI-X,PCI Express等)。此匯流排介面1 2 04耦合 至一資料路徑多工器(MUX ) 1 206。MUX1 206耦合至控 制暫存器邏輯1208,EEPROM1210,傳送邏輯1212,和接 收邏輯1214。在非共甩乙太網路控制器1 200內亦包括 DMA邏輯1 2 1 6和一處理器1 2 1 8。熟悉在非共用乙太網路 控制器1 200內的邏輯的人士可瞭解該控制器包括:1 )匯 流排介面1 204和任何上列其所支持的產業標準匯流排相 容;2 ) —組控制暫存器1 2 0 8,其允許控制器1 2 0 0和其直 接接附的任何伺服器(或根複合體或域)相通訊;和 3) DMA邏輯1216,其包括一 DMA引擎以允許其移動資 -30- (27) 1292990 料至/從一 s3憶體副系統’該sB憶體副系統關連非共 太網路控制器1 200所接附的根複合體。 參考圖1 3,於此顯示依照本發明的共用乙太網路 器1300的方塊圖。共用乙太網路控制器130〇包括一 排介面+1304用以耦合乙太網路控制器1300至一共 入/儲存構造1 3 02,如上述PCI Express +構造。匯流 面+13〇4耦合至一資料路徑多工器+1306。資料路徑 器+ 1 3 06耦合至控制暫存器邏輯+ 1 3 0 8,EEPROM/快 憶體+ 1 3 1 0,傳送邏輯+ 1 3 1 2和接收邏輯+ 1 3 1 4。共用 網路控制器1300進·一步包括DMA邏輯+1316和一處 13 18° 更特別而言,匯流排介面+ 1 304包括:一介面 至一共用I/O構造,如PCI Express+; PCI目標邏輯 ,如一檢索表,其關連一 Ο S域和由共用I/O控制器 所支持的N個作業系統域資源之一個特別作業系統域 •,和P CI架構邏輯1 3 5 4,其在一實施例中,控制在 I / 〇控制器1 3 0 0內的資源和特別Ο S域的關連。例 PCI架構邏輯1354允許共用乙太網路控制器13〇〇在 時列舉其功能以支持1 - N個不同的〇 S域。在一實施 ’對於其所支持的1-N個〇S域的各個OS域,提供 編碼機窃位址至共用I / 〇開關。在一替代實施例中, 變其所支持的Ο S域數目的共用;[/0開關後,對於其 射至的各個0 S域,其從共用;[/〇開關接收一機器位 在任一例中,上述使映射至共用1/〇控制器13〇〇的 用乙 控制 匯流 用載 排介 多工 閃記 乙太 理器 1350 1352 1300 資源 共用 如, 重置 例中 一硬 在改 將映 址。 各個 -31 - (28) 1292990 上游os、域(或根複合體)將其視爲專屬於該os 有資源的控制器。再者,從0 S域(或根複合體) 而言,因爲0 S域將和使用其同屬的載入/儲存協定 PCI Express)的開關通訊,因此不需要對OS域做 變(如作業系統,控制器的驅動器等)。 控制暫存器邏輯+ 1 3 0 8包括多數的控制暫 1320-1328,其各個皆獨立的關連一不同的OS域。 | 如果共用I/O控制器1 3 00只支持三個0S域,因此 有控制暫存器組1 3 20,1 3 22,1 3 24,其中各個控制 組關連三個 0S域之一。因此,關連第一 0S域的 關連控制暫存器邏輯組1 3 2 0,關連第二〇 S域的封 連控制暫存器邏輯組1 3 22,和關連第三〇 S域的封 連控制暫存器邏輯組1 324。再者,熟悉此項技藝的 瞭解雖然在一控制暫存器組(如1 3 2 0 )內的部份控 器需要在共用I/O控制器1 300內複製,以允許多重 Φ 去共用控制器1 3 00,但是並非所有控制暫存器皆需 。亦即,部份控制暫存器必須複製以用於各個0S 它部份則可化名以接達至各個0 S域。圖1 3所示ί 控制暫存器組,其中Ν由共用I/O控制器的供應商 以支持他們所需要的或多或少的獨立0 S域(或根 )0 DMA邏輯+1316包括Ν個DMA引擎1330, 1334; N個描述符1336,1338,1340;和仲裁邏孽 以仲裁N個DMA引擎1 3 3 0 - 1 3 3 4的使用。亦即, 域的具 的觀點 (例如 任何改 存器組 例如, 其可具 暫存器 封包將 包將關 包將關 人士可 制暫存 :0S域 要複製 域,其 I N個 選擇, 複合體 1 3 3 2, I 1342 在支持 -32- (29) 1292990 多重OS域的共用I/O控制器1 3 00的內文中,根據由控制 器所支持的OS域數目,藉由提供多重DMA引擎1 3 3 0-1 3 3 4,任一引擎可在任何時間由控制器1 3 00所使用,則 對於任何特別的封包傳送,可改善效能。因此’於此無需 介於由共用I/O控制器1 3 00所支持的〇S域數目和 DMA 1 33 0- 1 3 3 4的數目間的直接關連,反之亦然。此外, 共用I/O控制器製造商可根據價格/效能配合其需求而只以 一 DMA引擎1330來支持四個OS域,或替代的,可以兩 個DMA引擎1330,1332來支持三個OS域。 再者,仲裁邏輯1 342可使用一如循環法般簡單的演 算法,或替代的,使用交易型式當成加權因數或關連此處 理的OS域當成加權因數而進行不同的加權處理。於此亦 可使用其它仲裁演算法,但其皆未悖離本發明的範疇。 圖1 3顯示共用I/O控制器的一個實施例,特別是乙 太網路控制器,以允許處理來自多重Ο S域(或根複合體 )的封包,而無關於0 S域的架構,或在〇 S域中執行的 作業系統。只要載入/儲存構造1 3 02提供一指示,或關連 一封包至一特別0 S域的資訊,和圖1 3所述相似的實施將 允許不同0S域由共用I/O控制器1 300所服務。再者,雖 然於此未說明,共用I/O控制器1 3 00已特別參考乙太網 路而做說明。熟悉此項技藝的人士可瞭解對於已存在的非 共用I/O控制器的相似修改,如光纖通道,SATA,和其 它控制器可用以支持多重〇S域,亦可由本發明之上述說 明完成。 -33- (30) 1292990 參考圖1 4,於此顯示一環境1 4 0 〇的方塊圖,其和參 考圖6所做的說明相似,但是百位數以”丨4”取代。此外, 於此所顯示的是映射在共用I/O開關1 4 1 0內的多數璋 1 4 4 0的三個璋,特別是璋4,1 1,和1 6分別至根複合體 (或OS域)1402,1404,和1406。再者,共用I/O開關 1410的埠9映射至一共用I/O乙太網路控制器1 4 5 0,而 共用I/O乙太網路控制器1 45 0具有資源145 1以支持四個 不同的OS域1451。在此例中,由於只有三個根複合體 1 402,1 4 04,1 406接附至共用I/O開關1410,因此只有 三個資源1451關連以由控制器1 450使用。 更特別而言,在控制器1 4 5 0內之匯流排+ 1 4 5 2包括 —表用以關連一 〇 S域和一資源1 4 5 1。在一實施例中,由 共用I/O開關1410所提供的OS標頭關連四個資源1451 之一,其中各個資源包括一機器位址。藉由關連N個資源 145 1之一和一 OS域,封包乃由匯流排介面+ 1 452所檢查 ,且根據在封包內的0 S標頭而指定至它們的資源。再者 ,以游共用I/O乙太網路控制器1 45 0處理的封包藉由在 將其傳送至共用I/O開關1410前設置其關連OS標頭在 PCI Express +封包內而傳送上游。 在一實施例中,當多重0 S乙太網路控制器1 4 5 0以共 用I/O開關1410初始化本身時,其即對共用I/O開關 1410指示其具有資源以支持四個 OS域(包括具有四個 MAC位址)。共用I/O開關1 4 1 0知悉其將結合三個根複 合體1402,1404,1406至共用I/O控制器1450,且因此 - 34- (31) 1292990 指定三個0 S域編號(其有效的64個中的),各個關連根 複合體1 402_ 1 406之一,至在I/O控制器1 45 0內的各個 0S資源。共用I/O控制器1 45 0接收OS編號的”映射”至 機器位址,且將其設置在其表1 4 5 2中。而後,當傳送封 包至開關時,共用I/O控制器1 450設置對應於封包的OS 編號在其PCI Express +封包的OS域標頭中。在接收時, 共用I/O開關1410檢查OS域標頭以決定其PCI匯流排階 層。其使用該表以關連一 PCI匯流排階層和一上游埠,以 使封包通過至適當的根複合體1 402- 1 406。 在一替代例中,多重OS乙太網路控制器1 45 0對於其 可支持的各個0 S域(如所示之1,2,3,或4 )提供Ο S 域編號至共用I/O控制器1 45 0。而後,共用I/O .控制器 1 45 0關連這些OS域編號和其耦合至多重OS控制器1450 的埠。當共用I/O開關1410經由此璋傳送/接收封包時, 其而後關連映射至多重OS控制器1 450的各個上游OS域 至由多重OS控制器1 450所提供的OS域編號,依照用於 該封包的P CI匯流排階層。在一實施例中,由多重〇 S控 制器1450所提供的OS域編號標註一表在共用I/O開關 1410內,該表關連下游OS域編號和封包的PCI Express 階層,和決定來自PCI匯流排階層的上游OS域編號。而 後,上游OS域編號使用以辨識用以傳送封包至適當OS 域的上游埠。熟悉此項技藝的人士可瞭解在此實施例中, 介於開關1 4 1 0和控制器1 4 5 0間的Ο S域編號對該鏈接是 局部的。開關1 4 1 0使用在此鏈接上的0 S域編號以關連封 -35- (32) 1292990 包和其上游O S域,以決定耦合至適當〇 s域的上游埠。 用以執行此關連的機構爲一檢索表,但是,應瞭解的是, 本發明並不限於使用此一特殊機構。 雖然尙未說明,但是熟悉此項技藝的人士可瞭解對於 各個在開關1410上的PCI Express埠(或PCI Express + i阜 )而言,可應用於各個埠的PCI匯流排階層的資源(例如 ’ PCI至PCI橋,緩衝邏輯等)必須假定可用於各個埠, 且可支持在各個埠上的各個Ο S域。在一實施例中,對於 各個埠提供專屬資源。在一替代實施例中,使用在開關 1 4 1 0內的共用資源以對各個埠提供虛擬資源。因此,在一 1 6埠開關141 0中,可提供1 6組資源。或替代的,可提供 一或多組資源,其對各個埠市虛擬有效的。 參考圖1 5,於此顯示由本發明的共用I/O開關所接收 的封包傳送至如一共用I/O控制器的端點的流程圖1 5 00。 此流程首先從方塊1 5 0 2開始,而後進行至決定方塊 1 5 04 ° 在決定方塊1 5 04上,在開關上決定是否有來自一根 複合體(或OS域)的需求。亦即,在共用I/O開關內之 上游埠是否包含欲傳送至下游的封包。如果不是,流程回 到決定方塊1 5 04。反之,流程進行至方塊1 5 06。 在方塊1 5 06上,用於封包的下游埠使用在封包內的 資訊辨識。而後,流程進行至方塊1 5 08。 在方塊1 5 08上,共用I/O知悉封包已建立。如果PCI Express爲上游的載入/儲存構造時,則建立PCI Express + -36- (33) (33)1292990 封包,其包括關連封包和封包的〇 s域的〇 s標頭(或至 少以上游埠關連該封包)。而後,流程進行至方塊1 5 1 0。 在方塊1510上,PCI ExpreSS +封包傳送至端點裝置, 如一共用I/O乙太網路控制器。而後,流程進行至方塊 15 12° 在方塊1512上,用於追蹤PCI Express +封包的處理 開始。亦即,在PCI Express載入/儲存構造內,許多封包 需要響應追蹤。對於埠所負責的各個OS域,此追蹤在共 用I/O開關中進行。而後,流程進行到方塊1 5 1 4,其中完 成封包傳送(來自對應的共用I/O開關)。 參考圖1 6,於此顯示從一端點傳送一封包至依照本發 明的共用I/O開關的流程圖1 600。此流程首先從方塊 1 6 02開始,而後進行至決定方塊1 604。 在決定方塊1 604上,決定在關連一端點的共用I/O 開關內的一埠上是否接收到一封包。如果不是,流程回到 決定方塊1 604。反之,流程進行至方塊1 606。 在方塊1 606上,在PCI Express +封包內的OS標頭受 到讀取以決定那一個〇 S域關連該封包。而後,流程進行 至方塊1 6 0 8。 在方塊1608上,PCI Express封包已建立以用於在上 游、非共用I/O知悉、PCI Express鏈接的傳送。實質上, OS標頭從封包移除,且該封包(在OS標頭中已辨識)傳 送至在關連該封包的共用I/O開關中的璋。而後,流程進 行至方塊1 6 1 0。 >37- (34) 1292990 在方塊1 6 1 0上,封包傳送至和封包關連的0 s域。而 後,流程進行至方塊1 6 1 2。 在方塊1612上,如有需要,開使如上述參考方塊 1 5 1 2所說明·的用於追蹤上游封包傳送的處理。而後,流程 進行到方塊1 6 1 4,其中完成此流程。 參考圖1 7,於此顯示從接收一共用I/O開關的傳送的 一共用I/O控制器的觀點,依照本發明的共用I/O的方法 的流程圖1 700。此流程首先從方塊1 702開始’而後進行 至決定方塊1 704。 在決定方塊1704上,決定是否已從共用I/O開關接 收到一封包。如果載入/儲存構造爲PCI Express時,則所 接收到的封包爲PCI Express +封包。如果未接收到封包時 ,流程返回決定方塊1 704。反之,流程進行至方塊1706 〇 在方塊1 706上,決定OS域(或關連該封包的上游埠 )。此決定使用在PCI Express +封包內的OS標頭進行。 流程而後進行至方塊1 70 8。 在方塊 1 7 0 8上,該封包使用配置至和所接收到的封 包關連的〇 S域的資源而受到處理,如同上述參考圖13-1 4所述。而後,流程前進至方塊1 7 1 0。 在方塊1 7 1 0上,如果有需要,則開始追蹤封包的處 理。如上述參考方塊1512所述,在PCI Express架構內的 部份封包需要追蹤’且璋受賦予操控追蹤的任務。在P C I Express +上的共用I/O域內,每一 〇s域提供追蹤。而後 -38- (35)1292990 ,流 I/O 1802 送至 返回 。而 連該 18 10 關( φ 進行 構造 本發 域) ,如 開關 19 12 程進行至方塊1 7 1 2,於此完成傳送。 參考圖1 8,於此顯示從一共用I/O控制器至一共用 開關的上游傳送的流程圖1 800。此流程首先從方塊 開始,而後進行至決定方塊1 8 0 4。 · 在決定方塊1 8 04上,決定一封包是否已準備以被傳 共用I/O開關(或其它上游裝置)。如果不是,流程 決定方塊1 804。反之,流程進行至方塊1 8 06。 在方塊1 806上,決定關連封包的OS域(或上游埠) 後,流程進行至方塊1 8 0 8。 在方塊 1 808上,建立PCI Express +封包,其辨識關 封包的〇 S域(或上游埠)。而後,流程進行至方塊 〇 在方塊1810上,PCI Express +封包傳送至共用I/O開 或其它上游裝置)。而後,流程進行至方塊1 8 1 2。 在方塊1 8 1 2上,執行用於封包的追蹤。而後,流程 至方塊1 8 1 4,於此完成傳送。 圖15-18從各種觀點顯不經由本發明的pci Express + 的封包流程。但是,於此可參考圖1 9以進一步說明 明的共用I/O方法。
圖19顯示一環境1900,其包括多數根複合體(或0S 1902,1904,1906使用一非共用載入/儲存構造19〇8 PCI Express,耦合至一共用I/O開關1910。共用I/O 耦合至三個共用I/O控制器,包括乙太網路控制器 ,光纖通道控制器1 9 1 4,和其它控制器1 9丨6。各個 -39- (36) 1292990 控制器1 9 1 2 -1 9 1 6分別耦合至它們關連的構造1 9 2 0,1 9 2 2 ,1924° 在操作時,三個封包”A”,”B”,和”C”由根複合體1 1 9 02傳送至共用I/O開關1910以進行下游傳送。封包”A” 受傳送至乙太網路控制器1 9 1 2,封包”B ”受傳送至光纖通 道控制器1 9 1 4,和封包”C”受傳送至其它控制器1 9 1 6。共 用I/O開關1910將一次接收一個封包。當其接收到封包 時,其將使用在封包內的資訊以辨識下游裝置,和執行一 檢索表以決定關連各個封包的下游埠。而後,共用I/O開 關將建立包括OS標頭資訊的PCI Express + ”A”,”B”,和 ” C”封包,以關連該封包和根複合體1 1 902 (或以在共用 I/O開關1910中的璋輔合至根複合體1 1 902 )。而後,共 用I/O開關1910將設置各個封包在與它們的下游裝置關 連的埠上。因此,封包”A”設置在耦合至乙太網路控制器 1912的璋上,封包” B”設置在耦合至光纖通道控制器1914 的埠上,和封包”C”設置在耦合至其它控制器1916的埠上 。而後,這些封包傳送至它們相關的控制器。 在根複合體3 1 906上,一封包”G”傳送至共用I/O開 關1 9 1 0,以傳送至乙太網路控制器1 9 1 2。在接收時,共 用I/O開關1 9 1 0藉由設置一 〇 S標頭在關連封包和根複合 體3 1906的PCI Express封包內(或開關埠耦合至根複合 體3 1906),以建立一 PCI Express +封包,用於傳送至乙 太網路控制器1 9 1 2。而後,共用I/O開關1 9 1 0傳送此封 包至乙太網路控制器1 9 1 2。 -40 - (37) 1292990 乙太網路控制器1912具有一封包”D”用以傳送至根複 合體2 1 904。具有OS標頭的此封包傳送至共用I/O開關 1910。此I/O開關接收到”D”封包,檢查〇S標頭,並決定 此封包指定至根複合體2 1 904 (或開關1 9 1 0的上游埠耦 合至根複合體2 1 904 )。而後,此開關1910將OS標頭剝 離”D”封包,並傳送該”D”封包至根複合體2 1 904當成PCI Express 封包。 Φ 光纖通道控制器1 9 1 4具有兩個用於傳送的封包。封 包”F”指定於根複合體3 1 906,和封包”E”指定於根複合體 1 1902。共用 I/O 開關 1910 經由 PCI Express +鏈接 1911 一次接收一個封包。在接收到各個封包時,檢查〇 S標頭 以決定那一個上游埠或根複合體關連各個封包。而後,此 開關1910分別建立非共用PCI Express封包”F”和”E”以用 於根複合體3 1 906和根複合體1 1 902,和提供封包至耦 合根複合體3和1的埠以用於傳送。而後,封包傳送至這 φ 些根複合體。 其它控制器1916具有一封包”G”指定至根複合體2 1 904。封包”G”傳送至共用 I/O開關 1910當成 PCI ExpreSS +封包,其包含OS標頭資訊以關連封包和根複合 體2 1 904 (或在共用I/O開關中的上游埠耦合至根複合體 2 1 904 )。共用I/O開關1910從封包”G”移除0S標頭, 並設置封包在耦合至根複合體2 1 904的埠上,以用於傳 送。而後,封包”G”傳送至根複合體2 1 904。 上述對圖1 9的討論說明了已參考圖3 - 1 8說明的本發 -41 - (38) 1292990 明的新穎特徵,亦即,藉由顯示多數根複合體(或〇s域 )如何在一載入/儲存構造內藉由關連封包和它們相關的 os域而共用I/O端點。雖然上述的討論在PCI Express內 容下進行,但是,熟悉此項技藝的人士可瞭解於此可使用 任何載入/儲存構造,而其皆未脫離本發明的範疇。 參考圖20,於此之方塊圖2000顯示八個根複合體 2002使用本發明的特徵而共用四個共用I/O控制器2010 • 。在一實施例中,八個根複合體2002直接耦合至在共用 I/O開關2004上的八個上游埠2006。共用I/O開關2004 亦經由四個下游埠2007而耦合至共用I/O控制器2010。 雖然在其它實施例中可使用PCI ExpreSS +埠以用於在開關 2 0 04內的所有埠,但是在此實施例中,上游埠2006爲 PCI Express埠,和下游埠2007爲PCI Express +埠。伴隨 檢索表2009的路由控制器邏輯2008提供在共用I/O開關 2 〇 0 4內,以決定封包必須傳送至那一個璋。 # 圖20亦顯示一個第二共用I/O開關2020,其和共用 I/O開關2004相同。共用I/O開關2020亦耦合至各個根 複合體2002 ’以提供用於根複合體2002的多餘性。亦即 ’如果耦合至共用I/O開關的共用I/O控制器20 1 0滿載時 ,共用I/O開關2020可使用接附至它的共用1/0控制器而 持續服務根複合體2002。 雖然未特別顯示,但是熟悉此項技藝的人士可瞭解於 此仍可完成許多與上述說明不同的替代例,但是,其皆仍 屬本發明之申請專利範圍的範疇。例如,上述的討論乃關 -42- (39) 1292990 於從刀片型伺服器移離專屬I/O,和允許多重刀片伺服器 經由在刀片伺服器上的一載入/儲存介面而共用I/O裝置。 此種實施亦可輕易的安裝在框架伺服器,以及基座伺服器 中。再者,依照本發明的刀片伺服器可實際的安裝在框架 或基座伺服器中當成處理複合體,並耦合至其它硬體在框 架和基座伺服器內,如電源、內部硬碟驅動器等。於此說 明的是I/O從處理複合體分離,和由不同複合體共用或分 割 I/O。 此外’上述對本發明的討論係在於三個伺服器和三個 共用I/O控制器。使用三個伺服器僅是便於說明而已。本 發明可以使用在需要I/O的具有至少兩個處理複合體(伺 服器,CPU等)的任何環境中,無論是網路或資料儲存。 爲了共用I/O,需要至少兩個處理複合體。但是,爲了共 用I/O,只需要一個共用I/O端點。因此,本發明人設想 可共用一或多個I/O控制器的兩或多個處理複合體。 # 再者,上述對本發明的討論係在於三個共用I/O控制 器,各個辨識控制器的代表型式。熟悉此項技藝的人士可 瞭解控制器具有許多型式。上述未說明的控制器型式包括 鍵盤,滑鼠,和/或視頻控制器(KVM )。此種KVM控制 器可允許如上述的刀片伺服器將KVM控制器從其機板移 開,而仍能從一開關控制而介面至鍵盤,視頻,和滑鼠( 或其它輸出裝置)。亦即,多數的刀片伺服器可插入刀片 框架。此刀片框架可安裝單一 KVM控制器,而此KVM控 制器可使用本發明而由各個刀片伺服器所共用。 -43- (40) 1292990 再者,在共用I/O開關內藉由使用OS域對I/O控制 器的映射,可使用開關以”分割”1/0資源、無論共用與否 、至0 S域。例如,假設有四個Ο S域(A,B,C,D )和 四個I/O資源(1,2,3,4 ),則可能是三個資源是非共 用(1,2,3 )和一個共用(4 )。因此,共用I/O開關可 映射或分割此構造爲:A-1,B-2,C-3/4,D-4。亦即,0S 域A使用資源1 ; 0 S域B使用資源2 ; 0 S域C使用資源 3和4 ;和OS域D使用(和共用)資源4,所有的分割使 用本發明的I/O開關。 再者,本發明使用一共用I/O開關以關連和路由來自 根複合體的封包至它們相關連的端點。安裝本發明的特徵 在一根複合體(或晶片組)內,以使根複合體的所有下游 共用I/O知悉(例如PCI Express+ )係在本發明的範疇內 。如果是如此,只要在根複合體上的埠提供I/O資訊、如 0S域資訊、至I/O控制器時,共用I/O控制器可直接耦合 至在一根複合體上的埠。重要的是,共用I/O端點可藉由 來源或上游〇 S域而辨認和關連封包,無論一共用I / 〇設 置在根複合體外部或在根複合體本身內。 再者,如果共用I/O開關安裝在根複合體內時,於此 亦可安裝一或多個I/O控制器(或其它端點)在根複合體 中。如此可使單一根複合體支持多重上游〇 S域,並在根 複合體內封包所有必須要對在載入/儲存域(乙太網路, 光纖通道等)外的構造的說明。再者,如果上游〇 S域爲 共用I/O知悉時,亦可直接耦合該域至共用I/O控制器, -44- (41) 1292990 所有皆在根複合體內。 再者,依照本發明的多重1 /0開關亦可級聯以允許根 複合體和下游I / 〇裝置互接的許多變化。在此一級聯狀態 中,一 〇 S標頭可爲一總體的,或其亦可爲局部的。亦即 ,一局部ID可設置在一 Ο S標頭內,該局部ID特別的在 一給定鏈接內辨識一封包(例如,在一根複合體和一開關 間,在一開關和一開關間),和/或在一開關和一端點間 • )。因此,一局部ID可存在於一下游共用I/O開關和一 端點間,而一不同的局部ID可使用在一上游共用I/O開 關和下游共用I/O開關間,和另一局部ID在一上游共用 I / 〇開關和一根複合體間。在此狀態中,各個開關可映射 封包從一埠至另一,璋,和以它們關連的上游/下游埠,再 建立封包以適當的辨識封包。 於此需要進一步正視的是,在今日得科學術語中,根 複合體意即介面下游裝置(例如1/0 )至一主匯流排的元 # 件’該主匯流排關連一單一處理複合體(和記憶體),但 疋’在未來’此根複合體可進一步再界定以使其可提供介 於下游端點和多重上游處理複合體間的介面。亦即,兩或 多個CPU可存在於根複合體的北側,而各個根複合體執 行匕們自己的作業系統。或者,單一 CPU可包含多重處 理核心’各個執行其本身的作業系統。在上述任一情況中 ’在處理核心/複合體和根複合體間的連接可爲共用1/0知 悉’或不是。如果是,則根複合體會作用如同本發明的共 用1/0開關,以從多重處理複合體傳送封包至下游共用 -45- (42) 1292990 I/O端點。替代的,如果處理複合體不是共用I/O知悉時 ,則根複合體會添加一關連至封包,例如0 S標頭,因此 ,下游裝置會是共用I/O知悉,且可關連封包和它們的來 源處理複合體。 於此亦需正視的是,如上所述,添加一標頭在一載入 /儲存構造內可囊封在尙未發展出的其它載入/儲存構造中 ,或可囊封、隧道,或嵌合在一通道基構造內,如先進開 關(Advanced Switching )或所有乙太網路。無關構造是 否使用來自OS域(或根複合體)下游,只要共用I/O端 點被視爲在〇 S域的載入/儲存構造內,本發明人認爲任何 關連一共用I/O端點和一 0 S域的方法之使用皆未能脫離 本發明之範疇。 雖然本發明的目的,特徵和優點已詳細說明如上,本 發明亦可包含其它實施例。除了使用硬體實施本發明外, 本發明亦可以容納在電腦可使用(例如可讀取)媒體的電 腦可讀取碼(如電腦可讀取程式碼,資料等)實施。電腦 碼使本發明於此所述之功能或製造或兩者皆可達成。例如 ,其可經由使用一般的程式語言(如C,C + +,和 JAVA 等);GDSII 資料庫;包括 Verilog HDL,VHDL,和 Altera HDL ( AHDL )等之硬體描述語言;或在此技藝中 存在的其它程式和/或電度(例如架構)捕獲工具,而完 成。電腦碼可設置在任何已知的電腦可使用(例如可讀取 )媒體中,包括半導體記憶體,磁碟,光碟(如CD-ROM ,DVD-ROM等),和當成一電腦資料訊號容納在電腦可 -46- (43) 1292990 使用(例如可讀取)傳輸媒體中(例如,載 媒體包括數位,光學或類比基礎媒體)。因 可經由通訊網路、包括網際網路或內部網路 解的是本發明可蘊含在電腦碼中(例如IP ( 的一部份,如一微處理器碼,或當成一系統 晶片上系統(SOC )),並轉換成硬體當成 的一部份。再者,本發明亦可蘊含當成硬體 _ 合。 本發明並不限於上述之實施例,且於此 改變和修飾,但其仍屬本發明之精神和範疇 明之精神和範疇應由下述申請專利範圍界定: 【圖式簡單說明】 圖1爲三個伺服器各連接至三個不同的 路架構圖。 • 圖2A爲在框架形狀因數內,三個伺服 個不同的構造的電腦網路架構圖。 圖爲在刀片形狀因數內,三個伺服 個不同的構造的電腦網路架構圖。 H 2C爲包含用於二個不同構造之開關 刀片框架的方塊圖。
圖3爲使用PCI Express構造以和專J I/O )端點裝置通訊的電腦伺服器的架構圖。 圖4爲依照本發明共用三個不同I/O端 波或任何其它 此,此電腦碼 來傳輸。可瞭 智慧財產)碼 級設計,如一 積體電路產品 和電腦碼的結 仍可達成各種 。因此,本發 > 〇 構造的電腦網 器各連接至三 器各連接至三 的多重伺服器 陽輸入/輸出( 點的多重刀片 -47- (44) 1292990 電腦伺服器的架構圖。 圖5爲依照本發明經由一共用I/O開關而共用三個不 同I/O端點裝置的三個根複合體的架構圖。 圖6爲依照本發明經由一多璋共用I/O開關而共用一 多OS乙太網路控制器的三個根複合體的架構圖。 圖7爲依照本發明經由一多璋共用i/o開關而共用一 多OS光纖通道控制器的三個根複合體的架構圖。 φ 圖8爲依照本發明經由一多埠共用I/O開關而共用一 多〇 s其它控制器的三個根複合體的架構圖。 圖9爲習知PCI Express封包的方塊圖。 圖1〇爲依照本發明用於共用I/O的PCI Express+( 主)封包的方塊圖。 圖11爲依照本發明在圖10之PCI Express +封包內的 0 S (作業系統)域標頭之詳細圖。 圖1 2爲習知乙太網路控制器的架構圖。 # 圖1 3爲依照本發明的共用乙太網路控制器的架構圖 〇 圖14爲依照本發明從三個根複合體至一共用多〇§乙 太網路控制器之封包流的架構圖。 圖1 5和1 6分別爲在一根複合體和一端點裝置上,從 一共用I/O開關的觀點,依照本發明共用I/O端點裝置之 方法的流程圖。 圖17和18爲在一共用I/O開關上,從i/o端點裝置 的觀點’依照本發明共用I / 0端點裝置之方法的流程圖。 -48- (45) (45)1292990 圖19爲依照本發明從三個根複合體至三個不同共用 I/O構造之封包流的架構圖。 圖20爲依照本發明之八個根複合體各經由一共用I/O 開關而冗餘的共用四個端點裝置之架構圖。 【主要元件符號說明】 100 :多重伺服器計算環境 102 、 104 、 106 :伺服器 108 :根複合體 1 10、1 12、1 14 : I/O 控制器 1 2 8 :乙太網路 1 3 0 :光纖通道網路 1 3 2 :其它網路 1 2 2 :乙太網路開關 124 :光纖通道開關 1 2 6 :其它開關 200 :多重伺服器環境 202、204、206 :伺月艮器 208 :根複合體 210、 212、 214:控制器 222 :乙太網路開關 224 :光纖通道開關 226 :其它開關
240 : CPU -49- (46) (46)1292990 2 0 1 :計算環境 25 0、252、254 :伺月g 器 270 :刀片框架 260 :背面介面 223、 225、 227 :網路 21 1、213、215 :媒體存取控制器(MAC ) 203 :刀片環境 3 00 :伺服器 3 04、3 06 : CPU 3 0 8 :根複合體 3 1 0 :主滙流排 3 1 2 :記憶體 3 1 4 :端點 320 : PCI Express 滙}荒 3 16: PCI Bridge 322 : PCI Express 開關 3 18: PCI 裝置 3 24 :光纖通道控制器 3 26 :網路介面控制器 3 2 8 :其它控制器 400 :多重伺服器環境 404、406、408 :刀片伺服器
410 : CPU 4 1 2 :根複合體 -50- (47) 1292990 43 0 : PCI Express 鍵接 420:共用I/O開關 4 3 2* PCI Express 鍵接 440 :共用乙太網路控制器 442 :共用光纖通道控制器 444 :共用其它控制器
441 : PCI Express +介面 500 :共用I/O環境 502 、 504 · 506 :根複合體 5 10 :共用I/O開關 508: PCI Express 鍵接 5 1 2 :共用乙太網路控制器 514:共用光纖通道控制器 5 1 6 :共用其它控制器 520 :乙太網路構造 522 :光纖通道構造 524 :其它構造 600 :計算環境 602 、 604 、 606 :根複合體 603、 605、 607 :埠 6 1 0 :共用I / Ο開關 640 :埠 65 0 :共用I/O控制器 6 5 1 : Ο S資源 -51 (48) 1292990 6 11 : PCI Express + 7 0 0 :架構 702、 704、 706:根複合體 710 :共用I/O開關 7 5 0 :共用I/O光纖通道控制器 751 : OS 域 703、 705、7 0 7 · PCI Express ί阜
8 0 0 :架構 802 、 804 、 806 :伺月g 器 8 5 0 :共用I/O其它控制器 8 5 1 : Ο S 域 810 :共用I/O開關 900: PCI Express 封包 1000: PCI Express +封包 1 002: O S域標頭 1100: 〇 S域標頭 1 200 :非共用乙太網路控制器 1 204 :滙流排介面 1 2 0 2 :滙流排 1 2 0 6 :資料路徑多工器 1 2 0 8 :控制暫存器邏輯
12 10: EEPROM 1 2 1 2 :傳送邏輯 1 2 1 4 :接收邏輯 -52- (49) 1292990 1216 : DMA 邏輯 1 2 1 8 :處理器 1 3 00 :共用乙太網路控制器 1 3 0 4 :滙流排介面+ 1 3 02 :載入/儲存構造 1 3 06 :資料路徑MUX + 1308:控制暫存器邏輯+
13 10 : EEPROM/Flash + 1 3 1 2 :傳送邏輯+ 1 3 1 4 :接收邏輯+ 13 16: DMA 邏輯 + 1 3 1 8 :處理器 1 3 5 0 :介面 1 3 5 2 : PCI目標邏輯 1 3 5 4: PCI架構邏輯 1 3 2 0 - 1 3 2 8 :控制暫存器組 1330、1332、1334: DMA 弓[擎 1336、 1338、 1340 :描述符 1342:伸裁邏輯 1 400 :環境 1410 :共用I/O開關 1440 :埠 1402、 1404、 1406:根複合體 1 45 0 :共用I/O乙太網路控制器 -53- (50)1292990 1 4 5 1 :資源 1 4 5 2 :滙流排介面+
1 5 00 :流程圖 1 5 02- 1 5 1 4 :方塊 1 6 0 0 :流程圖 1 602- 1 6 1 4 :方塊 1 7 〇 〇 :流程圖 1 702- 1 7 1 2 :方塊 1 8 00 :流程圖 1 8 02- 1 8 1 4 :方塊 1 900 :環境
1902、 1904、 1906 :根複合體 1 90 8 :非共用載入/儲存構造 1910 :共用I/O開關 1 9 1 2 :乙太網路控制器 1 9 1 4 :光纖通道控制器 1920、 1922、 1924 :構造 19 11: PCI Express +鍵接 1 9 1 6 :其它控制器 2 0 0 0 :方塊圖 2002 :根複合體 201 0 :共用I/O控制器 2004 :共用I/O開關 2 0 0 6 :上游璋 -54- 1292990 (51) 2007 :下游璋 2008 :路由控制邏輯 2009 :檢索表 2020 :共用I/O開關
Claims (1)
- (1) 1292990 十、申請專利範圍 1 · 一種乙太網路控制器,其處理從多數根複合體經 由一串列載入/儲存構造而接收的封包,該乙太網路控制 器包含: 一匯流排介面,其耦合至該串列載入/儲存構造,該 匯流排介面關連各個封包和封包起源的根複合體;和 控制暫存器邏輯,其具有多數控制暫存器,其中各個 控制暫存器可根據封包和封包起源的根複合體之關連而選 擇以服務至少一根複合體。 2. 如申請專利範圍第1項的乙太網路控制器,其中 該乙太網路控制器爲1 G乙太網路控制器。 3. 如申請專利範圍第1項的乙太網路控制器,其中 該乙太網路控制器爲1 0G乙太網路控制器。 4. 如申請專利範圍第1項的乙太網路控制器,其中 該串列載入/儲存構造使用PCI Express規範。 5. 如申請專利範圍第1項的乙太網路控制器,其中 該串列載入/儲存構造包裝在一第一構造內。 6. 如申請專利範圍第5項的乙太網路控制器,其中 該第二構造爲一通道基礎構造。 7. 如申請專利範圍第6項的乙太網路控制器,其中 該第二構造包含先進開關(Advanced Switching)。 8 .如申請專利範圍第6項的乙太網路控制器,其中 該第二構造包含所有乙太網路。 9.如申請專利範圍第1項的乙太網路控制器,其中 -56 - (2) 1292990 該封包包含: 一 PCI Express交易層封包(TLP);和 一標頭,用以關連該交易層封包和一根複合體。 10·如申請專利範圍第1項的乙太網路控制器,其中 該多數根複合體包含第一電腦以執行一微軟視窗( Microsoft Windows)作業系統。 11.如申請專利範圍第1 0項的乙太網路控制器,其 中該微軟視窗作業系統未知悉其和其它多數根複合體共用 乙太網路控制器。 12·如申請專利範圍第1 0項的乙太網路控制器,其 中該多數根複合體進一步包含第二電腦以執行Linux作業 系統。 1 3 ·如申請專利範圍第1 2項的乙太網路控制器,其 中該Linux作業系統未知悉其和第一電腦共用乙太網路控 制器。 14·如申請專利範圍第1項的乙太網路控制器,其中 該匯流排介面包含一表以關連各個控制暫存器和至少一根 複合體。 1 5 ·如申請專利範圍第1 4項的乙太網路控制器,其 中該表使用以選擇多數根複合體之一根複合體,以使用以 處理由乙太網路控制器所接收的各個封包。 16·如申請專利範圍第1項的乙太網路控制器,其中 該匯流排介面包含一多工器,其根據由該匯流排介面所執 行的關連而選擇至少一控制暫存器。 -57- (3) 1292990 17.如申請專利範圍第1項的乙太網路控制器,其中 各個控制暫存器包含: 一組專屬控制暫存器;和 一組共用或別名控制暫存器。 1 8 .如申請專利範圍第1 7項的乙太網路控制器,其 中該組專屬控制暫存器專屬多數根複合體之一特定根複合 體。 19. 如申請專利範圍第1 7項的乙太網路控制器,其 中該組共用或別名控制暫存器支持多數根複合體。 20. 如申請專利範圍第1項的乙太網路控制器,進一 步包含: 多數直接記憶體存取(DMA)引擎,各個用以操控從 至少一根複合體而來的封包;和 任意邏輯,其耦合至該多數直接記憶體存取引擎,用 以任意選擇使用於處理由乙太網路控制器從多數根複合體 所接收的封包的該多數直接記憶體存取引擎。 21. 如申請專利範圍第20項的乙太網路控制器,其 中該任意邏輯選擇該多數直接記憶體存取引擎的一特定引 擎,以處理從超過一個以上的根複合體所接收的封包。 22. —種共用網路介面控制器,包含: 一匯流排介面至一串列載入/儲存構造;和 多數控制暫存器,其可由該匯流排介面選擇以關連來 自多數根複合體的封包。 23. 如申請專利範圍第22項的共用網路介面控制器 -58- (4) 1292990 ,其中該串列載入/儲存構造包含PCI Express。 24.如申請專利範圍第22項的共用網路介面控制器 ,其中該串列載入/儲存構造包含PCI Express加上標頭資 訊,以關連各個封包和多數根複合體之一相關連根複合體 〇 2 5.如申請專利範圍第24項的共用網路介面控制器 ’其中該匯流排經由該串列載入/儲存構造耦合至一共用 > 開關。 26.如申請專利範圍第25項的共用網路介面控制器 ’其中該共用I/O開關設置該標頭資訊在該封包內。 2 7 .如申請專利範圍第2 2項的共用網路介面控制器 ’其中該匯流排介面包含一檢索表,用以關連多數控制暫 存器和多數根複合體。 2 8.如申請專利範圍第27項的共用網路介面控制器 ’其中該匯流排介面進一步包含一多工器,用以選擇在該 B 檢索表內使用資訊的多數控制暫存器。 2 9 . —種共用資料儲存控制器,其用以從多數作業系 統域(OSD )經由一共同載入/儲存鏈接而存取網路資料儲 存’該控制器包含: 多數資源,其各個配置至多數OSD之一特定OSD; 和 一匯流排,其耦合至該共同載入/儲存鏈接和該多數 資源,以接收來自多數OSD的封包,和根據該配置,選 擇多數資源之一特定資源以使用於封包處理。 -59- (5) (5)1292990 3〇·如申請專利範圍第29項的共用資料儲存控制器 ,其中該共用資料儲存控制器爲一光纖通道控制器。 31·如申請專利範圍第29項的共用資料儲存控制器 ,其中該共用資料儲存控制器爲一串列ΑΤΑ控制器。 3 2 ·如申請專利範圍第2 9項的共用資料儲存控制器 ’其中該共用資料儲存控制器包含一 Scsi控制器。 3 3 ·如申請專利範圍第2 9項的共用資料儲存控制器 ’其中該共用資料儲存控制器包含一串列接附s C S〗( SAS )控制器。 34·如申請專利範圍第29項的共用資料儲存控制器 ,其中該共同載入/儲存鏈接爲一PCI Express +鏈接。 3 5 ·如申請專利範圍第2 9項的共用資料儲存控制器 ,其中多數資源的导一資源配置至多數OSD的第一 OSD ,和多數資源昀第二資源配置至多數OSD的第二OSD。 36·如申請專利範圍第29項的共用資料儲存控制器 ,其中該多數資源包含多數控制暫存器。 3 7 .如申請專利範圍第2 9項的共用資料儲存控制器 ,其中該封包包含PCI Express封包加上標頭資訊’而該 標頭資訊用以辨識該封包所起源的OSD。 3 8 . —種使第一電腦和第二電腦共用使用一串列載λ /儲存構造的乙太網路介面控制器的裝置,該裝置包含: 一共用I/O開關; 第一鏈接,其耦合第一電腦至該共用1/0開關; 第二鏈接,其耦合第二電腦至該共用1/0開關; -60- (6) 1292990 第三鏈接,其耦合該共用I/O開關至該乙太網路介面 控制器,該第三鏈接使用串列載入/儲存構造以傳送源自 第一電腦和第二電腦的封包至乙太網路介面控制器,該封 包具有標頭資訊,其關連各個封包和第一電腦或第二電腦 :和 一介面用於該乙太網路介面控制器,該乙太網路介面 控制器檢查該封包,該封包包括標頭資訊,用以根據該關 連選擇用於該封包的資源。 3 9 ·如申請專利範圍第3 8項的裝置,其中第一電腦 爲一刀片型伺服器。 40·如申請專利範圍第38項的裝置,其中第二電腦 爲一刀片型伺服器。 4 1 .如申請專利範圍第3 8項的裝置,其中該串列載 入/儲存構造使用PCI Express。 4 2.如申請專利範圍第 3S項的裝置,其中該第一鏈 接和該第二鏈接使用PCI Express。 43·如申請專利範圍第38項的裝置,其中該共用I/O 開關包含路由控制,以添加該標頭資訊至從第一電腦和第 二電腦所接收的封包。 44·如申請專利範圍第38項的裝置,其中該介面包 含一表,該表關連該專屬資源和第一電腦或第二電腦。 45.如申請專利範圍第44項的裝置,其中該介面進 一步包含一多工器,用以從該表中選擇使用該資訊的專屬 資源。 -61 - (7) 1292990 46.如申請專利範圍第 3 8項的裝置,其中從第一電 腦和第二電腦兩者而來的封包同時存在於乙太網路介面控 制器內。 47· —種共用端點裝置之方法,其在一串列載入/儲 存構造內使至少兩根複合體共用一端點裝置,該方法包含 以標頭資訊從至少兩根複合體辨識封包,以關連封包 和該至少兩根複合體; 從該至少兩根複合體傳送封包至該端點裝置; 在該端點裝置上,檢查該封包以決定所欲關連的根複 合體; 根據該關連,配置用於該封包的資訊;和 依照該配置步驟,處理該封包。 48. 如申請專利範圍第47項的共用端點裝置之方法 ’其中該至少兩根複合體的各個根複合體爲不具有專屬端 點裝置的電腦。 49. 如申請專利範圍第47項的共用端點裝置之方法 ’其中該端點裝置爲一共用網路介面控制器。 50. 如申請專利範圍第47項的共用端點裝置之方法 ’其中該端點裝置爲一共用儲存控制器。 51. 如申請專利範圍第5 0項的共用端點裝置之方法 ’其中該共用儲存控制器爲一光纖通道控制器。 5 2.如申請專利範圍第4 7項的共用端點裝置之方法 ’其中該串列載入/儲存構造使用PCI Express。 -62- (8) (8)1292990 5 3 .如申請專利範圍第47項的共用端點裝置之方法 ,其中該辨識封包的步驟嵌合一標頭欄在各個封包內。 54.如申請專利範圍第53項的共用端點裝置之方法 ,其中該標頭欄關連各個封包和封包起源的根複合體。 5 5.如申請專利範圍第47項的共用端點裝置之方法 ,其中該傳送步驟包含: 從至少兩根複合體經由獨立鏈接接收封包至一開關; 安裝標頭資訊至該封包;和 從該開關經由一單一鏈接傳送封包至端點裝置。 56.如申請專利範圍第4 7項的共用端點裝置之方法 ,其中該檢查步驟藉由一匯流排介面執行。 5 7 .如申請專利範圍第4 7項的共用端點裝置之方法 ,其中該匯流排介面包含一表,用以關連標頭資訊和資源 〇 5 S .如申請專利範圍第4 7項的共用端點裝置之方法 ,其中該資源包含多數控制暫存器。 5 9.如申請專利範圍第5 8項的共用端點裝置之方法 ,其中各個控制暫存器專屬於至少兩根複合體之一。 -63-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/757,711 US7103064B2 (en) | 2003-01-21 | 2004-01-14 | Method and apparatus for shared I/O in a load/store fabric |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200539628A TW200539628A (en) | 2005-12-01 |
TWI292990B true TWI292990B (en) | 2008-01-21 |
Family
ID=34807486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094101174A TWI292990B (en) | 2004-01-14 | 2005-01-14 | Method and apparatus for shared i/o in a load/store fabric |
Country Status (4)
Country | Link |
---|---|
US (4) | US7103064B2 (zh) |
EP (2) | EP1706967B1 (zh) |
TW (1) | TWI292990B (zh) |
WO (1) | WO2005071905A1 (zh) |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8102843B2 (en) * | 2003-01-21 | 2012-01-24 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7953074B2 (en) | 2003-01-21 | 2011-05-31 | Emulex Design And Manufacturing Corporation | Apparatus and method for port polarity initialization in a shared I/O device |
US7512717B2 (en) * | 2003-01-21 | 2009-03-31 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7502370B2 (en) * | 2003-01-21 | 2009-03-10 | Nextio Inc. | Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture |
US7698483B2 (en) * | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
US7046668B2 (en) * | 2003-01-21 | 2006-05-16 | Pettey Christopher J | Method and apparatus for shared I/O in a load/store fabric |
US7103064B2 (en) | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
US8346884B2 (en) | 2003-01-21 | 2013-01-01 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7493416B2 (en) * | 2003-01-21 | 2009-02-17 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7917658B2 (en) | 2003-01-21 | 2011-03-29 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for link initialization in a shared I/O environment |
US8032659B2 (en) * | 2003-01-21 | 2011-10-04 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7664909B2 (en) * | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
US7617333B2 (en) * | 2003-01-21 | 2009-11-10 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7836211B2 (en) | 2003-01-21 | 2010-11-16 | Emulex Design And Manufacturing Corporation | Shared input/output load-store architecture |
US7237131B2 (en) * | 2003-12-30 | 2007-06-26 | Intel Corporation | Transaction-based power management in a computer system |
CA2455043A1 (en) * | 2004-01-09 | 2005-07-09 | Digital Multitools Inc. | Method and apparatus for facilitating control of a target computer by a remote computer |
TWM250234U (en) * | 2004-02-06 | 2004-11-11 | Inventec Corp | Expansion device for storage unit |
US9264384B1 (en) * | 2004-07-22 | 2016-02-16 | Oracle International Corporation | Resource virtualization mechanism including virtual host bus adapters |
US20060114918A1 (en) * | 2004-11-09 | 2006-06-01 | Junichi Ikeda | Data transfer system, data transfer method, and image apparatus system |
US7535832B2 (en) * | 2004-11-22 | 2009-05-19 | International Business Machines Corporation | Apparatus and method to set the signaling rate of a switch domain disposed within an information storage and retrieval system |
US7174411B1 (en) | 2004-12-02 | 2007-02-06 | Pericom Semiconductor Corp. | Dynamic allocation of PCI express lanes using a differential mux to an additional lane to a host |
US8285907B2 (en) * | 2004-12-10 | 2012-10-09 | Intel Corporation | Packet processing in switched fabric networks |
JP4398386B2 (ja) * | 2005-01-28 | 2010-01-13 | 富士通株式会社 | 複数の処理ノードをシリアルバスにより相互接続する装置 |
US7474658B2 (en) | 2005-02-10 | 2009-01-06 | International Business Machines Corporation | Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope |
US7870301B2 (en) * | 2005-02-25 | 2011-01-11 | International Business Machines Corporation | System and method for modification of virtual adapter resources in a logically partitioned data processing system |
US7475166B2 (en) * | 2005-02-28 | 2009-01-06 | International Business Machines Corporation | Method and system for fully trusted adapter validation of addresses referenced in a virtual host transfer request |
JP4509827B2 (ja) * | 2005-03-04 | 2010-07-21 | 富士通株式会社 | シリアルコネクトバスを使用したコンピュータシステム及び複数cpuユニットのシリアルコネクトバスによる接続方法 |
US7464174B1 (en) | 2005-03-07 | 2008-12-09 | Pericom Semiconductor Corp. | Shared network-interface controller (NIC) using advanced switching (AS) turn-pool routing field to select from among multiple contexts for multiple processors |
US20060233174A1 (en) * | 2005-03-28 | 2006-10-19 | Rothman Michael A | Method and apparatus for distributing switch/router capability across heterogeneous compute groups |
US7865624B1 (en) | 2005-04-04 | 2011-01-04 | Oracle America, Inc. | Lookup mechanism based on link layer semantics |
US7843926B1 (en) * | 2005-04-05 | 2010-11-30 | Oracle America, Inc. | System for providing virtualization of network interfaces at various layers |
US7356636B2 (en) * | 2005-04-22 | 2008-04-08 | Sun Microsystems, Inc. | Virtualized PCI switch |
US7496045B2 (en) * | 2005-07-28 | 2009-02-24 | International Business Machines Corporation | Broadcast of shared I/O fabric error messages in a multi-host environment to all affected root nodes |
US9813283B2 (en) | 2005-08-09 | 2017-11-07 | Oracle International Corporation | Efficient data transfer between servers and remote peripherals |
US7525957B2 (en) * | 2005-09-01 | 2009-04-28 | Emulex Design & Manufacturing Corporation | Input/output router for storage networks |
US8189603B2 (en) * | 2005-10-04 | 2012-05-29 | Mammen Thomas | PCI express to PCI express based low latency interconnect scheme for clustering systems |
US7474623B2 (en) * | 2005-10-27 | 2009-01-06 | International Business Machines Corporation | Method of routing I/O adapter error messages in a multi-host environment |
US7631050B2 (en) * | 2005-10-27 | 2009-12-08 | International Business Machines Corporation | Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment |
US7430630B2 (en) * | 2005-10-27 | 2008-09-30 | International Business Machines Corporation | Routing mechanism in PCI multi-host topologies using destination ID field |
US20070165596A1 (en) * | 2006-01-18 | 2007-07-19 | Boyd William T | Creation and management of routing table for PCI bus address based routing with integrated DID |
US7707465B2 (en) * | 2006-01-26 | 2010-04-27 | International Business Machines Corporation | Routing of shared I/O fabric error messages in a multi-host environment to a master control root node |
US7380046B2 (en) * | 2006-02-07 | 2008-05-27 | International Business Machines Corporation | Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system |
US7519761B2 (en) * | 2006-10-10 | 2009-04-14 | International Business Machines Corporation | Transparent PCI-based multi-host switch |
US7571273B2 (en) * | 2006-12-06 | 2009-08-04 | International Business Machines Corporation | Bus/device/function translation within and routing of communications packets in a PCI switched-fabric in a multi-host environment utilizing multiple root switches |
US7979592B1 (en) | 2007-02-09 | 2011-07-12 | Emulex Design And Manufacturing Corporation | Virtualization bridge device |
US7792148B2 (en) * | 2008-03-31 | 2010-09-07 | International Business Machines Corporation | Virtual fibre channel over Ethernet switch |
US20090292849A1 (en) * | 2008-05-22 | 2009-11-26 | Khoo Ken | Adaptable pci express controller core |
WO2009154626A1 (en) * | 2008-06-19 | 2009-12-23 | Hewlett-Packard Development Company, L.P. | Multi-blade interconnector |
WO2009154630A1 (en) * | 2008-06-20 | 2009-12-23 | Hewlett-Packard Development Company, L.P. | Low level initializer |
US8145749B2 (en) * | 2008-08-11 | 2012-03-27 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US7984267B2 (en) * | 2008-09-04 | 2011-07-19 | International Business Machines Corporation | Message passing module in hybrid computing system starting and sending operation information to service program for accelerator to execute application program |
US8141102B2 (en) | 2008-09-04 | 2012-03-20 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US8230442B2 (en) * | 2008-09-05 | 2012-07-24 | International Business Machines Corporation | Executing an accelerator application program in a hybrid computing environment |
US8787177B2 (en) * | 2008-11-03 | 2014-07-22 | Apple Inc. | Techniques for radio link problem and recovery detection in a wireless communication system |
US8595343B2 (en) * | 2008-11-14 | 2013-11-26 | Dell Products, Lp | System and method for sharing storage resources |
US9736012B2 (en) | 2008-11-14 | 2017-08-15 | Dell Products, Lp | System and method for sharing storage resources |
US8527734B2 (en) | 2009-01-23 | 2013-09-03 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a watch list of currently registered virtual addresses by an operating system |
US9286232B2 (en) * | 2009-01-26 | 2016-03-15 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a cache of ranges of currently registered virtual addresses |
US8843880B2 (en) * | 2009-01-27 | 2014-09-23 | International Business Machines Corporation | Software development for a hybrid computing environment |
US8255909B2 (en) * | 2009-01-28 | 2012-08-28 | International Business Machines Corporation | Synchronizing access to resources in a hybrid computing environment |
US9170864B2 (en) * | 2009-01-29 | 2015-10-27 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US20100191923A1 (en) * | 2009-01-29 | 2010-07-29 | International Business Machines Corporation | Data Processing In A Computing Environment |
US8001206B2 (en) | 2009-01-29 | 2011-08-16 | International Business Machines Corporation | Broadcasting data in a hybrid computing environment |
US8010718B2 (en) * | 2009-02-03 | 2011-08-30 | International Business Machines Corporation | Direct memory access in a hybrid computing environment |
US8037217B2 (en) * | 2009-04-23 | 2011-10-11 | International Business Machines Corporation | Direct memory access in a hybrid computing environment |
US8335884B2 (en) | 2009-07-10 | 2012-12-18 | Brocade Communications Systems, Inc. | Multi-processor architecture implementing a serial switch and method of operating same |
US8180972B2 (en) * | 2009-08-07 | 2012-05-15 | International Business Machines Corporation | Reducing remote reads of memory in a hybrid computing environment by maintaining remote memory values locally |
US9973446B2 (en) | 2009-08-20 | 2018-05-15 | Oracle International Corporation | Remote shared server peripherals over an Ethernet network for resource virtualization |
US9417905B2 (en) * | 2010-02-03 | 2016-08-16 | International Business Machines Corporation | Terminating an accelerator application program in a hybrid computing environment |
US8578132B2 (en) * | 2010-03-29 | 2013-11-05 | International Business Machines Corporation | Direct injection of data to be transferred in a hybrid computing environment |
US9015443B2 (en) | 2010-04-30 | 2015-04-21 | International Business Machines Corporation | Reducing remote reads of memory in a hybrid computing environment |
TWI439856B (zh) * | 2010-06-30 | 2014-06-01 | Ibm | 具故障備援以管理共享資源之方法與多電腦系統 |
US9331963B2 (en) | 2010-09-24 | 2016-05-03 | Oracle International Corporation | Wireless host I/O using virtualized I/O controllers |
US9083550B2 (en) | 2012-10-29 | 2015-07-14 | Oracle International Corporation | Network virtualization over infiniband |
CN116821032A (zh) * | 2013-12-08 | 2023-09-29 | 跨端口网路解决公司 | 用于在主机计算机之间传输数据的系统和方法 |
US9998359B2 (en) | 2013-12-18 | 2018-06-12 | Mellanox Technologies, Ltd. | Simultaneous operation of remote management and link aggregation |
US10148746B2 (en) | 2014-01-28 | 2018-12-04 | Mellanox Technologies, Ltd. | Multi-host network interface controller with host management |
US9729440B2 (en) | 2015-02-22 | 2017-08-08 | Mellanox Technologies, Ltd. | Differentiating among multiple management control instances using IP addresses |
US9985820B2 (en) | 2015-02-22 | 2018-05-29 | Mellanox Technologies, Ltd. | Differentiating among multiple management control instances using addresses |
CN105227544B (zh) * | 2015-09-06 | 2018-08-31 | 烽火通信科技股份有限公司 | 实现不同协议报文转换的装置及方法 |
US10057336B2 (en) * | 2015-11-17 | 2018-08-21 | Sap Se | Dynamic load balancing between client and server |
US10157153B2 (en) * | 2016-02-03 | 2018-12-18 | Qualcomm Incorporated | Inline cryptographic engine (ICE) for peripheral component interconnect express (PCIe) systems |
EP3549026A4 (en) | 2016-12-12 | 2020-06-03 | Crossport Network Solutions Inc. | AD-HOC-DETECTING SWITCHED DATA SWITCHING TO CONNECT NETWORK HOSTS AND PERIPHERAL DEVICES |
US10831694B1 (en) | 2019-05-06 | 2020-11-10 | Mellanox Technologies, Ltd. | Multi-host network interface controller (NIC) with external peripheral component bus cable including plug termination management |
US11693812B2 (en) | 2021-02-24 | 2023-07-04 | Mellanox Technologies, Ltd. | Multi-host networking systems and methods |
US11785669B2 (en) * | 2021-07-30 | 2023-10-10 | EdgeQ, Inc. | Systems and methods for ethernet link sharing to concurrently support multiple radios |
US11765237B1 (en) | 2022-04-20 | 2023-09-19 | Mellanox Technologies, Ltd. | Session-based remote direct memory access |
Family Cites Families (172)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US654919A (en) * | 1898-08-09 | 1900-07-31 | George E Roberton | Tire. |
US4058672A (en) | 1976-11-10 | 1977-11-15 | International Telephone And Telegraph Corporation | Packet-switched data communications system |
AU649455B2 (en) | 1990-07-11 | 1994-05-26 | American Telephone And Telegraph Company | Distributed computing system |
US5280614A (en) | 1990-08-21 | 1994-01-18 | International Business Machines Corporation | Apparatus and method for controlling access to data using domains |
US5414851A (en) | 1992-06-15 | 1995-05-09 | International Business Machines Corporation | Method and means for sharing I/O resources by a plurality of operating systems |
US5600805A (en) | 1992-06-15 | 1997-02-04 | International Business Machines Corporation | Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems |
WO1994019749A1 (en) | 1993-02-26 | 1994-09-01 | Chou Benjamin E | Computer system for sharing common system resources with two or more independently operating microcomputers |
JP3746785B2 (ja) | 1993-07-28 | 2006-02-15 | 3コム コーポレイション | 多重ネットワーク・アドレスを備えたネットワーク・ステーション |
EP1016957B1 (en) | 1994-04-04 | 2011-08-10 | MagnaChip Semiconductor Ltd. | Method of managing resources shared by multiple processing units |
DE19580738T1 (de) | 1994-05-31 | 1996-08-22 | Fujitsu Ltd | System und Verfahren zur Jobausführung zwischen verschiedenen Betriebssystemen |
JPH08249254A (ja) | 1995-03-15 | 1996-09-27 | Mitsubishi Electric Corp | マルチコンピュータシステム |
US5633865A (en) | 1995-03-31 | 1997-05-27 | Netvantage | Apparatus for selectively transferring data packets between local area networks |
US5761669A (en) | 1995-06-06 | 1998-06-02 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US5590301A (en) | 1995-10-06 | 1996-12-31 | Bull Hn Information Systems Inc. | Address transformation in a cluster computer system |
US5790807A (en) | 1995-12-20 | 1998-08-04 | Tandem Computers Incorporated | Computer sysem data I/O by reference among CPUS and I/O devices |
US5758125A (en) | 1995-12-28 | 1998-05-26 | Newframe Corporation Ltd. | Method of sharing data in a heterogeneous computer system |
US6542919B1 (en) | 1996-03-22 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Operating system for use with protection domains in a single address space |
US6055596A (en) | 1996-06-05 | 2000-04-25 | Compaq Computer Corp. | Expansion card space reservation |
US6308239B1 (en) | 1996-11-07 | 2001-10-23 | Hitachi, Ltd. | Interface switching apparatus and switching control method |
US5926833A (en) | 1997-03-24 | 1999-07-20 | International Business Machines Corporation | Method and system allowing direct data access to a shared data storage subsystem by heterogeneous computing systems |
US5909564A (en) | 1997-03-27 | 1999-06-01 | Pmc-Sierra Ltd. | Multi-port ethernet frame switch |
JP3228182B2 (ja) | 1997-05-29 | 2001-11-12 | 株式会社日立製作所 | 記憶システム及び記憶システムへのアクセス方法 |
US6128666A (en) | 1997-06-30 | 2000-10-03 | Sun Microsystems, Inc. | Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine |
US6044465A (en) | 1997-07-07 | 2000-03-28 | International Business Machines Corporation | User profile storage on and retrieval from a non-native server domain for use in a client running a native operating system |
US6170025B1 (en) | 1997-08-29 | 2001-01-02 | Intel Corporation | Distributed computer system supporting remote interrupts and lock mechanism |
US6078964A (en) | 1997-08-29 | 2000-06-20 | International Business Machines Corporation | Establishing direct communications between two hosts without using a high performance LAN connection |
US6014669A (en) | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US6047339A (en) * | 1997-10-27 | 2000-04-04 | Emulex Corporation | Buffering data that flows between buses operating at different frequencies |
US6633916B2 (en) | 1998-06-10 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for virtual resource handling in a multi-processor computer system |
US6542926B2 (en) | 1998-06-10 | 2003-04-01 | Compaq Information Technologies Group, L.P. | Software partitioned multi-processor system with flexible resource sharing levels |
US6748438B2 (en) * | 1997-11-17 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for accessing shared resources with asymmetric safety in a multiprocessing system |
GB9725368D0 (en) | 1997-11-28 | 1998-01-28 | 3Com Ireland | Resource sharing |
US6112263A (en) | 1997-12-15 | 2000-08-29 | Intel Corporation | Method for multiple independent processes controlling access to I/O devices in a computer system |
US5941972A (en) | 1997-12-31 | 1999-08-24 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
US6330627B1 (en) * | 1998-01-20 | 2001-12-11 | Kabushiki Kaisha Toshiba | System for fast data transfer between memory modules and controller using two clock lines each having a go line portion and a return line portion |
US6247077B1 (en) | 1998-02-06 | 2001-06-12 | Ncr Corporation | Highly-scalable parallel processing computer system architecture |
US6222846B1 (en) * | 1998-04-22 | 2001-04-24 | Compaq Computer Corporation | Method and system for employing a non-masking interrupt as an input-output processor interrupt |
US6167052A (en) | 1998-04-27 | 2000-12-26 | Vpnx.Com, Inc. | Establishing connectivity in networks |
US6221711B1 (en) * | 1998-05-11 | 2001-04-24 | Micron Technology, Inc. | Methods of electrically contacting to conductive plugs, methods of forming contact openings, and methods of forming dynamic random access memory circuitry |
US6141707A (en) | 1998-05-28 | 2000-10-31 | Emc Corporation | Input/output request allocation by establishing master command queue among plurality of command queues to receive and store commands, determine logical volume, and forwarding command to determined logical volume |
US6421711B1 (en) | 1998-06-29 | 2002-07-16 | Emc Corporation | Virtual ports for data transferring of a data storage system |
IL125515A (en) * | 1998-07-26 | 2004-01-04 | Galileo Technology Ltd | Burst descriptors |
US6678269B1 (en) | 1998-10-05 | 2004-01-13 | Alcatel | Network switching device with disparate database formats |
US6785274B2 (en) | 1998-10-07 | 2004-08-31 | Cisco Technology, Inc. | Efficient network multicast switching apparatus and methods |
US6240467B1 (en) | 1998-10-07 | 2001-05-29 | International Business Machines Corporation | Input/output operation request handling in a multi-host system |
DE69934192T2 (de) | 1998-10-27 | 2007-08-30 | Hewlett-Packard Development Co., L.P., Houston | Verfahren und Einrichtung zur Netzverbindung mittels Brücken |
EP1131719A4 (en) | 1998-11-14 | 2007-10-31 | Mti Tech Corp | ILLUSTRATION OF LOGICAL UNITS IN A STORAGE AREA NETWORK |
US6665304B2 (en) | 1998-12-31 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing an integrated cluster alias address |
JP4123621B2 (ja) | 1999-02-16 | 2008-07-23 | 株式会社日立製作所 | 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法 |
US6400730B1 (en) * | 1999-03-10 | 2002-06-04 | Nishan Systems, Inc. | Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network |
JP3853540B2 (ja) | 1999-06-30 | 2006-12-06 | 日本電気株式会社 | ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置 |
US6622153B1 (en) | 1999-07-07 | 2003-09-16 | Agere Systems, Inc. | Virtual parallel multiplier-accumulator |
TW431094B (en) | 1999-07-16 | 2001-04-21 | Via Tech Inc | Memory access of Ethernet |
US6378014B1 (en) | 1999-08-25 | 2002-04-23 | Apex Inc. | Terminal emulator for interfacing between a communications port and a KVM switch |
US6496880B1 (en) | 1999-08-26 | 2002-12-17 | Agere Systems Inc. | Shared I/O ports for multi-core designs |
US6343324B1 (en) | 1999-09-13 | 2002-01-29 | International Business Machines Corporation | Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices |
US6823458B1 (en) | 1999-11-18 | 2004-11-23 | International Business Machines Corporation | Apparatus and method for securing resources shared by multiple operating systems |
US6591309B1 (en) | 1999-11-24 | 2003-07-08 | Intel Corporation | I/O bus abstraction for a cluster interconnection fabric |
JP2001167040A (ja) | 1999-12-14 | 2001-06-22 | Hitachi Ltd | 記憶サブシステム及び記憶制御装置 |
US6556580B1 (en) | 1999-12-16 | 2003-04-29 | 3Com Corporation | Multi-function transmit packet buffer |
US6640206B1 (en) | 1999-12-17 | 2003-10-28 | Omnicluster Technologies Inc. | Peer networking in concentrated computer clusters |
US6859825B1 (en) | 1999-12-29 | 2005-02-22 | Advanced Micro Devices, Inc. | System and method enabling configuration of physical layer devices and corresponding link partners for communicating network data via a configuration source or auto-negotiation |
US6834326B1 (en) | 2000-02-04 | 2004-12-21 | 3Com Corporation | RAID method and device with network protocol between controller and storage devices |
US6772270B1 (en) | 2000-02-10 | 2004-08-03 | Vicom Systems, Inc. | Multi-port fibre channel controller |
US7111076B2 (en) | 2000-04-13 | 2006-09-19 | Intel Corporation | System using transform template and XML document type definition for transforming message and its reply |
US6779071B1 (en) | 2000-04-28 | 2004-08-17 | Emc Corporation | Data storage system having separate data transfer section and message network with status register |
IT1317563B1 (it) * | 2000-05-24 | 2003-07-09 | Flii Guerra & Figli S R L | Valvola a sfera bidirezionale utilizzabile particolarmente per gasfrigorigeni ecologici |
US6718404B2 (en) | 2000-06-02 | 2004-04-06 | Hewlett-Packard Development Company, L.P. | Data migration using parallel, distributed table driven I/O mapping |
US6662254B1 (en) | 2000-06-22 | 2003-12-09 | Axerra Networks, Ltd. | System architecture |
US8751681B1 (en) | 2000-06-30 | 2014-06-10 | Intel Corporation | Delivering content by encapsulating into packages with associated meta-data |
US6754755B1 (en) | 2000-08-10 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Service request system using an activity indicator to reduce processing overhead |
AU2001288399A1 (en) | 2000-08-24 | 2002-03-04 | Tiara Networks, Inc. | System and method for connecting geographically distributed virtual local area networks |
US6961781B1 (en) | 2000-08-31 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Priority rules for reducing network message routing latency |
JP4447137B2 (ja) | 2000-09-06 | 2010-04-07 | 富士通株式会社 | パケット転送処理装置 |
US7404021B2 (en) | 2000-11-17 | 2008-07-22 | Aristos Logic Corporation | Integrated input/output controller |
JP3645487B2 (ja) | 2000-12-13 | 2005-05-11 | 株式会社日立製作所 | コンフィグレーションアクセスルーティング方法 |
US6947970B2 (en) | 2000-12-19 | 2005-09-20 | Intel Corporation | Method and apparatus for multilevel translation and protection table |
US6963535B2 (en) | 2000-12-28 | 2005-11-08 | Intel Corporation | MAC bus interface |
JP4087072B2 (ja) | 2001-01-25 | 2008-05-14 | 株式会社日立製作所 | ストレージシステム及び仮想プライベートボリューム制御方法 |
EP1236466B1 (en) * | 2001-02-28 | 2011-09-21 | Axiomedic Ltd. | Solid self-adhesive compositions for topical treatment of oral mucosal disorders |
US7401126B2 (en) | 2001-03-23 | 2008-07-15 | Neteffect, Inc. | Transaction switch and network interface adapter incorporating same |
US6482245B2 (en) * | 2001-03-30 | 2002-11-19 | Armstrong International | Centrifugal particulate matter gas separator |
US7013353B2 (en) | 2001-03-30 | 2006-03-14 | Intel Corporation | Host-fabric adapter having an efficient multi-tasking pipelined instruction execution micro-controller subsystem |
US6961761B2 (en) * | 2001-05-17 | 2005-11-01 | Fujitsu Limited | System and method for partitioning a computer system into domains |
WO2002103547A1 (en) | 2001-06-15 | 2002-12-27 | Advanced Network Technology Laboratories Pte Ltd. | Computer networks |
US20030191863A1 (en) * | 2001-07-02 | 2003-10-09 | Globespanvirata Incorporated | Communications system using rings architecture |
US20030009975A1 (en) * | 2001-07-16 | 2003-01-16 | Wallach Andrew R. | Bracket-like structural member |
WO2003019394A1 (en) | 2001-08-24 | 2003-03-06 | Intel Corporation | A general input/output architecture, protocol and related methods to support legacy interrupts |
KR100385996B1 (ko) | 2001-09-05 | 2003-06-02 | 삼성전자주식회사 | 하나의 NIC(Network InterfaceCard)에 복수개의 IP 어드레스를 할당하는 방법 및이에 적합한 장치 |
US20030069976A1 (en) | 2001-10-05 | 2003-04-10 | Adc Telecommunications, Inc. | Intelligent round robining |
US20030079055A1 (en) | 2001-10-18 | 2003-04-24 | Inventec Corporation, Taiwan, R.O.C. | Shared input/output network management system |
US6918060B2 (en) | 2001-10-31 | 2005-07-12 | Intel Corporation | Bounding data transmission latency based upon link loading and arrangement |
US7213065B2 (en) | 2001-11-08 | 2007-05-01 | Racemi, Inc. | System and method for dynamic server allocation and provisioning |
US20030112805A1 (en) | 2001-12-19 | 2003-06-19 | Stanton Kevin B. | Method and apparatus for providing device-to-device connectivity using shared infiniband NIC device |
US7099318B2 (en) * | 2001-12-28 | 2006-08-29 | Intel Corporation | Communicating message request transaction types between agents in a computer system using multiple message groups |
US6944617B2 (en) | 2001-12-28 | 2005-09-13 | Intel Corporation | Communicating transaction types between agents in a computer system using packet headers including an extended type/extended length field |
US7155494B2 (en) | 2002-01-09 | 2006-12-26 | Sancastle Technologies Ltd. | Mapping between virtual local area networks and fibre channel zones |
KR100459788B1 (ko) * | 2002-01-14 | 2004-12-04 | 주성엔지니어링(주) | 2단 웨이퍼 리프트 핀 |
US20040025166A1 (en) | 2002-02-02 | 2004-02-05 | International Business Machines Corporation | Server computer and a method for accessing resources from virtual machines of a server computer via a fibre channel |
US20030163341A1 (en) | 2002-02-26 | 2003-08-28 | International Business Machines Corporation | Apparatus and method of dynamically updating dynamic host configuration protocol (DHCP) options |
US7185341B2 (en) | 2002-03-28 | 2007-02-27 | International Business Machines Corporation | System and method for sharing PCI bus devices |
EP1537473A2 (en) | 2002-04-03 | 2005-06-08 | Advanced Micro Devices, Inc. | Ata/sata combined controller |
US20030200330A1 (en) | 2002-04-22 | 2003-10-23 | Maxxan Systems, Inc. | System and method for load-sharing computer network switch |
US7245627B2 (en) | 2002-04-23 | 2007-07-17 | Mellanox Technologies Ltd. | Sharing a network interface card among multiple hosts |
US20030204593A1 (en) | 2002-04-25 | 2003-10-30 | International Business Machines Corporation | System and method for dynamically altering connections in a data processing network |
US7783733B1 (en) | 2002-04-26 | 2010-08-24 | Extreme Networks, Inc. | Method and apparatus for dynamic configuration management |
US7404012B2 (en) | 2002-05-06 | 2008-07-22 | Qlogic, Corporation | System and method for dynamic link aggregation in a shared I/O subsystem |
US7447778B2 (en) | 2002-05-06 | 2008-11-04 | Qlogic, Corporation | System and method for a shared I/O subsystem |
US7197572B2 (en) | 2002-05-06 | 2007-03-27 | Qlogic, Corporation | System and method for implementing logical switches in a network system |
US7356608B2 (en) | 2002-05-06 | 2008-04-08 | Qlogic, Corporation | System and method for implementing LAN within shared I/O subsystem |
US7328284B2 (en) | 2002-05-06 | 2008-02-05 | Qlogic, Corporation | Dynamic configuration of network data flow using a shared I/O subsystem |
US6681262B1 (en) | 2002-05-06 | 2004-01-20 | Infinicon Systems | Network data flow optimization |
US7143196B2 (en) | 2002-05-06 | 2006-11-28 | Silverstorm Technologies, Inc | System and method for span port configuration |
US7415723B2 (en) * | 2002-06-11 | 2008-08-19 | Pandya Ashish A | Distributed network security system and a hardware processor therefor |
US7136400B2 (en) | 2002-06-21 | 2006-11-14 | International Business Machines Corporation | Method and apparatus for multiplexing multiple protocol handlers on a shared memory bus |
US7180862B2 (en) * | 2002-07-18 | 2007-02-20 | Intel Corporation | Apparatus and method for virtual output queue feedback |
US7230929B2 (en) | 2002-07-22 | 2007-06-12 | Qlogic, Corporation | Method and system for dynamically assigning domain identification in a multi-module fibre channel switch |
US20040019729A1 (en) | 2002-07-29 | 2004-01-29 | Kelley Richard A. | Buffer management and transaction control for transition bridges |
US6760793B2 (en) | 2002-07-29 | 2004-07-06 | Isys Technologies, Inc. | Transaction credit control for serial I/O systems |
US20040019726A1 (en) | 2002-07-29 | 2004-01-29 | Kelley Richard A. | Buffer management and transaction control for serial I/O systems |
US8015303B2 (en) * | 2002-08-02 | 2011-09-06 | Astute Networks Inc. | High data rate stateful protocol processing |
US7899030B2 (en) * | 2002-09-11 | 2011-03-01 | Jinsalas Solutions, Llc | Advanced switching architecture |
JP4181839B2 (ja) | 2002-09-30 | 2008-11-19 | キヤノン株式会社 | システムコントローラ |
US20040068591A1 (en) * | 2002-10-03 | 2004-04-08 | Workman Michael Lee | Systems and methods of multiple access paths to single ported storage devices |
US20040073716A1 (en) * | 2002-10-14 | 2004-04-15 | Boom Douglas D. | System, device and method for media data offload processing |
US8051210B2 (en) * | 2002-10-15 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Server with LAN switch that connects ports based on connection information received from first and second LANs |
US20040081104A1 (en) * | 2002-10-29 | 2004-04-29 | Weimin Pan | Method and system for network switch configuration |
US20040088414A1 (en) * | 2002-11-06 | 2004-05-06 | Flynn Thomas J. | Reallocation of computing resources |
US6931475B2 (en) * | 2002-11-18 | 2005-08-16 | Quanta Computer Inc. | Blade server system with KVM switches |
US6976112B2 (en) * | 2002-11-27 | 2005-12-13 | International Business Machines Corporation | Apparatus, method and program product for automatically distributing power to modules inserted in live chassis |
US7573876B2 (en) * | 2002-12-05 | 2009-08-11 | Intel Corporation | Interconnecting network processors with heterogeneous fabrics |
US6895480B2 (en) * | 2002-12-10 | 2005-05-17 | Lsi Logic Corporation | Apparatus and method for sharing boot volume among server blades |
US20040116141A1 (en) * | 2002-12-11 | 2004-06-17 | Erick Loven | Resource management on a personal area network |
US7360067B2 (en) * | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor wireless network |
US7120711B2 (en) | 2002-12-19 | 2006-10-10 | Intel Corporation | System and method for communicating over intra-hierarchy and inter-hierarchy links |
US7174413B2 (en) * | 2003-01-21 | 2007-02-06 | Nextio Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7219183B2 (en) * | 2003-01-21 | 2007-05-15 | Nextio, Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
US8102843B2 (en) | 2003-01-21 | 2012-01-24 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7664909B2 (en) * | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
US7493416B2 (en) | 2003-01-21 | 2009-02-17 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7457906B2 (en) | 2003-01-21 | 2008-11-25 | Nextio, Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7836211B2 (en) | 2003-01-21 | 2010-11-16 | Emulex Design And Manufacturing Corporation | Shared input/output load-store architecture |
US8346884B2 (en) * | 2003-01-21 | 2013-01-01 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7698483B2 (en) * | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
US7188209B2 (en) | 2003-04-18 | 2007-03-06 | Nextio, Inc. | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets |
US7103064B2 (en) * | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7953074B2 (en) * | 2003-01-21 | 2011-05-31 | Emulex Design And Manufacturing Corporation | Apparatus and method for port polarity initialization in a shared I/O device |
US7617333B2 (en) * | 2003-01-21 | 2009-11-10 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US8032659B2 (en) | 2003-01-21 | 2011-10-04 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7512717B2 (en) * | 2003-01-21 | 2009-03-31 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7502370B2 (en) * | 2003-01-21 | 2009-03-10 | Nextio Inc. | Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture |
US7046668B2 (en) * | 2003-01-21 | 2006-05-16 | Pettey Christopher J | Method and apparatus for shared I/O in a load/store fabric |
US7346040B2 (en) * | 2003-02-24 | 2008-03-18 | Avalonrf, Inc. | Providing a high speed data modem based on MIMO technology using a cable or single antenna |
US7024510B2 (en) | 2003-03-17 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | Supporting a host-to-input/output (I/O) bridge |
US20040193737A1 (en) | 2003-03-31 | 2004-09-30 | Huffman Amber D. | Apparatus, method and system to couple one or more hosts to a storage device using unique signal from host |
US7397811B2 (en) | 2003-04-23 | 2008-07-08 | Ericsson Ab | Method and apparatus for determining shared broadcast domains of network switches, ports and interfaces |
US7805525B2 (en) | 2003-04-30 | 2010-09-28 | Hewlett-Packard Development Company, L.P. | System and method for processing fibre channel (FC) layer service requests in an FC network |
US7136953B1 (en) | 2003-05-07 | 2006-11-14 | Nvidia Corporation | Apparatus, system, and method for bus link width optimization |
US7646724B2 (en) | 2003-05-12 | 2010-01-12 | International Business Machines Corporation | Dynamic blocking in a shared host-network interface |
US8560627B2 (en) | 2003-05-23 | 2013-10-15 | Alcatel Lucent | Virtual switch for use in fibre channel applications |
US7421578B1 (en) | 2003-07-22 | 2008-09-02 | Cisco Technology, Inc. | Method and apparatus for electing a leader node in a computer network |
US20050080982A1 (en) * | 2003-08-20 | 2005-04-14 | Vasilevsky Alexander D. | Virtual host bus adapter and method |
US7277995B2 (en) * | 2003-10-29 | 2007-10-02 | Dot Hill Systems Corporation | Storage controller and method for performing host access control in the host interface adapter |
US7146482B2 (en) * | 2003-11-25 | 2006-12-05 | International Business Machines Corporation | Memory mapped input/output emulation |
US7430203B2 (en) * | 2004-01-29 | 2008-09-30 | Brocade Communications Systems, Inc. | Fibre channel zoning hardware for directing a data packet to an external processing device |
CA2456894A1 (en) * | 2004-02-04 | 2005-08-04 | Wei-Jen Tseng | Decorative light supporting assembly |
US20070050520A1 (en) * | 2004-03-11 | 2007-03-01 | Hewlett-Packard Development Company, L.P. | Systems and methods for multi-host extension of a hierarchical interconnect network |
US8374175B2 (en) | 2004-04-27 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | System and method for remote direct memory access over a network switch fabric |
US20060092928A1 (en) * | 2004-10-15 | 2006-05-04 | Dell Products L.P. | System and method for providing a shareable input/output device in a PCI express environment |
US8285907B2 (en) | 2004-12-10 | 2012-10-09 | Intel Corporation | Packet processing in switched fabric networks |
US7830882B2 (en) * | 2006-11-17 | 2010-11-09 | Intel Corporation | Switch scaling for virtualized network interface controllers |
JP5491819B2 (ja) | 2009-10-02 | 2014-05-14 | 株式会社東芝 | ガス絶縁電気機器の部分放電検出装置 |
-
2004
- 2004-01-14 US US10/757,711 patent/US7103064B2/en not_active Expired - Lifetime
-
2005
- 2005-01-05 EP EP05704972A patent/EP1706967B1/en active Active
- 2005-01-05 WO PCT/US2005/000142 patent/WO2005071905A1/en active Application Filing
- 2005-01-05 EP EP12163050.3A patent/EP2498477B1/en active Active
- 2005-01-14 TW TW094101174A patent/TWI292990B/zh active
- 2005-09-26 US US11/235,513 patent/US7620066B2/en active Active
- 2005-09-26 US US11/235,514 patent/US7620064B2/en active Active
-
2006
- 2006-05-04 US US11/381,561 patent/US7782893B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2498477B1 (en) | 2013-11-13 |
EP2498477A1 (en) | 2012-09-12 |
US7620066B2 (en) | 2009-11-17 |
TW200539628A (en) | 2005-12-01 |
US20070098012A1 (en) | 2007-05-03 |
US20040179534A1 (en) | 2004-09-16 |
WO2005071905A1 (en) | 2005-08-04 |
US7103064B2 (en) | 2006-09-05 |
EP1706967B1 (en) | 2012-04-04 |
US20060018342A1 (en) | 2006-01-26 |
US20060018341A1 (en) | 2006-01-26 |
EP1706967A1 (en) | 2006-10-04 |
US7782893B2 (en) | 2010-08-24 |
US7620064B2 (en) | 2009-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI292990B (en) | Method and apparatus for shared i/o in a load/store fabric | |
TWI331281B (en) | Method and apparatus for shared i/o in a load/store fabric | |
TWI297838B (en) | Method and apparatus for shared i/o in a load/store fabric | |
US7219183B2 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
US7174413B2 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
US7953074B2 (en) | Apparatus and method for port polarity initialization in a shared I/O device | |
US7188209B2 (en) | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets | |
US7917658B2 (en) | Switching apparatus and method for link initialization in a shared I/O environment | |
US7698483B2 (en) | Switching apparatus and method for link initialization in a shared I/O environment | |
US8102843B2 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
EP1730646B1 (en) | Shared input/output load-store architecture |