具有邏輯設(shè)備能力的pci express切換器的制造方法
【專利摘要】本發(fā)明涉及具有邏輯設(shè)備能力的PCI?EXPRESS切換器,其實現(xiàn)供所連接的主機系統(tǒng)使用的邏輯設(shè)備。該邏輯設(shè)備由主機管理系統(tǒng)上運行的邏輯設(shè)備啟用軟件創(chuàng)建。該邏輯設(shè)備能夠合并一個或多個物理設(shè)備或者可以是完全基于軟件的。來自所連接的主機的命令被在該主機中的命令和響應(yīng)隊列中進行處理并且也在該管理系統(tǒng)中所存儲的影子隊列中得到反映。與所連接的主機相關(guān)聯(lián)的DMA引擎被設(shè)置為對所連接的(本地)主機中的隊列進行自動觸發(fā)。命令被發(fā)送至物理設(shè)備以完成工作,并且完成信號被發(fā)送至管理軟件,而針對該工作的響應(yīng)被直接發(fā)送至所連接的主機,其并不知曉該邏輯設(shè)備是非存在的并且由管理系統(tǒng)中的軟件所實現(xiàn)。
【專利說明】具有邏輯設(shè)備能力的PCI EXPRESS切換器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總體上涉及切換器(switch)和電子通信。更特別地,本發(fā)明涉及在智能PCIe切換器中啟用合成或邏輯設(shè)備以便合并多個設(shè)備的功能。
【背景技術(shù)】
[0002]計算機架構(gòu)多年來已經(jīng)有了大幅發(fā)展。近來,對于芯片設(shè)計師而言,將諸如通用串行總線(USB)接口控制器之類的外部數(shù)據(jù)接口包括在其母板之中變得越來越常見。這些接口被稱之為主機控制器。處理器則通常經(jīng)由輸入/輸出(I/O)互連系統(tǒng)連接至計算機系統(tǒng)的其它組件。
[0003]存在著許多不同的可用計算機I/O互連標準。多年來最為流行的之一是外圍設(shè)備互連(PCI)標準。PCI允許總線像橋那樣進行工作,其將本地處理器總線與外設(shè)隔離開來,允許計算機的中央處理單元(CPU)通過該互連而連接至IO設(shè)備的主機。
[0004]近來,PCI的后繼已經(jīng)普及,其被稱作PCI Express (或者簡單地被稱作PCIe)的。PCIe提供了更高的性能、增加的靈活性以及針對下一代系統(tǒng)的可擴縮性,同時保留了與現(xiàn)有PCI應(yīng)用的軟件兼容性。與傳統(tǒng)的PCI相比,PCI Express協(xié)議明顯更為復(fù)雜,其具有三層-事務(wù)層、數(shù)據(jù)鏈路層和物理層。
[0005]在PCI Express (高速PCI)系統(tǒng)中,根聯(lián)合體(root complex)設(shè)備將處理器和存儲器子系統(tǒng)連接至包含一個或多個切換設(shè)備(然而,實施例也可能沒有切換器)的PCIExpress切換器構(gòu)造。在PCI Express中,使用點對點架構(gòu)。與PCI系統(tǒng)中的主機橋相類似,根聯(lián)合體代表通過本地I/O互連而進行互連的處理器生成事務(wù)請求。根聯(lián)合體功能可以被實施為離散的設(shè)備,或者可以與處理器進行整合。根聯(lián)合體可以包含多于一個的PCIExpress端口,并且多個切換設(shè)備可以連接至根聯(lián)合體上的端口或者被級聯(lián)。
[0006]作為示例,圖1是描繪正常共享的IO架構(gòu)的框圖,該IO架構(gòu)具有由運行切換器管理軟件的管理主機104所控制的標準PCIe切換器102。切換器102對一個或多個主機進行服務(wù),所述主機被示為所連接的主機106和所連接的主機108 (也被稱作“本地主機”),例如服務(wù)器、PC和其它計算設(shè)備。還連接至切換器的是一個或多個設(shè)備110-116,所述設(shè)備通常為所連接的主機提供一些類型的功能或服務(wù)。虛擬設(shè)備118-124處于切換器102之內(nèi)。虛擬設(shè)備118和120連接至所連接的主機106且虛擬設(shè)備122和124連接至所連接的主機108。這些虛擬設(shè)備中的某些具有去往物理設(shè)備110-114的數(shù)據(jù)路徑。虛擬設(shè)備 118-124 的功能和角色在題為 “MULT1-ROOT SHARING OF SINGLE-R00T INPUT/OUTPUTVIRTUALIZATION”的美國專利申請?zhí)?2/979,904的共同未決申請中有所描述,其中描述了一種在多個主機使用支持共享1/0機制的PCIe切換器的非透明端口進行連接時使用資源重定向方法的解決方案。
[0007]將期望的是:通過使用DMA引擎、地址映射和存儲器空間重定向而對連接至切換器的物理設(shè)備的功能進行合并來進一步增強PCIe切換器的功能。此外,將期望的是:針對具有或沒有諸如RAID的附加特征的一組SSD驅(qū)動器(或其它存儲設(shè)備)啟用(enable)用于所連接的主機的合成NVMe端點,或者與若干所連接的主機共享一組SSD/存儲驅(qū)動器。最后,即使在資源原本并不允許共享的情況下,如果通過軟件和硬件幫助而使得能夠在多個所連接的主機之間共享稀缺或昂貴的資源,則對于切換器的用戶而言也將是有利的。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的一個方面是一種通過啟用切換器中的非存在的、邏輯(或合成)設(shè)備的操作而增強PCI Express切換器的功能的方法。該邏輯設(shè)備由管理系統(tǒng)主機中對切換器的操作進行控制的邏輯設(shè)備軟件來加以實現(xiàn)。該合成設(shè)備被呈現(xiàn)給連接至該切換器的本地主機。該本地主機內(nèi)的寫入操作被捕獲,從而使得管理系統(tǒng)能夠創(chuàng)建本地主機組件隊列的影子副本(shadow copy)。本地主機加載用于該合成設(shè)備的驅(qū)動器。在該本地主機中發(fā)生的寫入被反映在管理系統(tǒng)中。在該管理系統(tǒng)上創(chuàng)建影子隊列,該管理系統(tǒng)反映本地主機中的命令和響應(yīng)隊列。與本地主機端口相關(guān)聯(lián)的DMA引擎被設(shè)置為對本地主機中的隊列進行自動觸發(fā)。
【專利附圖】
【附圖說明】
[0009]圖1是描繪正常共享的IO架構(gòu)的框圖,該IO架構(gòu)具有由運行切換器管理軟件的系統(tǒng)管理主機所控制的標準PCIe切換器;
[0010]圖2是描繪依據(jù)一個實施例的具有邏輯設(shè)備和管理主機系統(tǒng)的PCIe切換器的框圖,該管理主機系統(tǒng)具有邏輯設(shè)備啟用軟件;和
[0011]圖3是依據(jù)一個實施例的在PCIe切換器上安裝合成或邏輯設(shè)備的處理的流程圖?!揪唧w實施方式】
[0012]現(xiàn)在將對本發(fā)明的具體實施例進行詳細參考,其包括發(fā)明人為了執(zhí)行本發(fā)明所預(yù)期的最佳模式。這些具體實施例的示例在附圖中進行圖示。雖然結(jié)合這些具體實施例對本發(fā)明進行描述,但是將要理解的是,并不旨在將本發(fā)明局限于所描述的實施例。與之相反,旨在覆蓋如可以包括在由所附權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi)的替換物、修改和等同物。在以下描述中,闡述具體細節(jié)以便提供對本發(fā)明的全而理解。本發(fā)明可以在沒有這些具體細節(jié)中的一些或全部的情況下實施。此外,可能沒有對公知特征進行詳細描述以避免對本發(fā)明造成不必要的混淆。
[0013]依據(jù)本發(fā)明,可以使用各種類型的操作系統(tǒng)、編程語言、計算平臺、計算機程序和/或通用機器來實現(xiàn)所述組件、處理步驟和/或數(shù)據(jù)結(jié)構(gòu)。此外,本領(lǐng)域普通技術(shù)人員將會認識到,在不背離本文所公開的發(fā)明原理的范圍和精神的情況下,也可以使用諸如硬線設(shè)備、現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)等的具有較不通用屬性的設(shè)備。本發(fā)明還可以被有形地體現(xiàn)為存儲在諸如存儲設(shè)備的計算機可讀介質(zhì)上的計算機指令的集合。
[0014]在各個附圖中描述了用于將物理設(shè)備合并為PCIe切換器中的邏輯設(shè)備的方法和系統(tǒng),其中該邏輯設(shè)備使用切換管理系統(tǒng)中的軟件來加以實現(xiàn)。通常,使用命令隊列和采用門鈴和中斷的完成或響應(yīng)隊列FIFO模型以用于那些FIFO的任何設(shè)備驅(qū)動器模型能夠被使用以下所描述的方法和系統(tǒng)而呈現(xiàn)給所連接的主機。在繼續(xù)進行之前,對基本組件進行描述是有用的。如所提到的,一個是用于使用所連接的主機存儲器而從所連接的主機驅(qū)動器向DMA引擎進行輸入和輸出的FIFO模型。另一個是使用用于所連接的主機驅(qū)動器的門鈴以向硬件指示新的工作已經(jīng)被添加或者正在等待。為了負荷平衡并且指示工作完成,針對每個完成隊列的每個完成或響應(yīng)隊列使用中斷。這些特征存在于一些PCIe切換器之中,諸如來自加利福尼亞Sunnyvale的PLX Technologies的Capella2切換器。附圖在以下描述了本發(fā)明的創(chuàng)新性PCIe切換器所需要的附加特征。首先提供這些附加特征的概述。
[0015]在一個實施例中,存在著當所連接的主機通過添加至其命令隊列而生成工作時在管理系統(tǒng)中對隊列/FIFO內(nèi)容的自動更新。DMA引擎(切換器端口的一部分)將命令隊列中的排隊的工作請求自動傳輸至管理系統(tǒng),該管理系統(tǒng)也被稱作消費者/合并系統(tǒng)。另一個特征是從物理設(shè)備到所連接的主機的直接數(shù)據(jù)路徑。在命令(控制路徑)通過管理系統(tǒng)(MCPU)時,該數(shù)據(jù)路徑被允許直接從物理設(shè)備去往所連接的主機。這提供了顯著的性能優(yōu)勢并且通過防止管理系統(tǒng)處的瓶頸而使得延遲有所改進。例如,典型的設(shè)備(包括SSD儲存器)將從該設(shè)備向所連接的主機存儲器進行DMA請求(讀或?qū)懭?,并且這些將直接從物理設(shè)備去往所連接的主機。所連接的主機的請求最初去往管理系統(tǒng),并且該管理系統(tǒng)隨后向個體設(shè)備(或驅(qū)動器)重新定向或發(fā)出等同的命令。另一個特征是地址隔離以及從任意物理設(shè)備端點訪問不同的所連接的主機的能力。這可以通過由管理系統(tǒng)軟件啟用的硬件的地址映射/俘獲特征而被啟用。為了向所連接的主機呈現(xiàn)邏輯設(shè)備,要求切換器俘獲(trap)所連接的主機I/O枚舉周期(enumeration cycle)并且還使用管理系統(tǒng)中的邏輯設(shè)備軟件對它們進行正確應(yīng)答。
[0016]在本發(fā)明的一個實施例中,連接至PCIe切換器的邏輯或非存在設(shè)備被呈現(xiàn)或顯示給所連接的主機(連接到PCIe切換器的主機)。該邏輯設(shè)備在物理上并不存在(其是非存在的),從而使得虛構(gòu)設(shè)備能夠在任意時間連接至所連接的主機。邏輯設(shè)備是合成的I/O合并PCIe端點。該邏輯設(shè)備提供了一種用于物理設(shè)備的合并的機制。該邏輯設(shè)備也可以是單純的軟件創(chuàng)建的設(shè)備而其并不對應(yīng)于任何物理設(shè)備(即,在其之后沒有物理設(shè)備)。該邏輯設(shè)備表現(xiàn)為PCIe端點或者表現(xiàn)為【具體實施方式】或部署,諸如RAID設(shè)備。其使用PCIe切換器的具體軟件和硬件加速特征。
[0017]圖2是描繪依據(jù)一個實施例的具有邏輯設(shè)備和管理主機系統(tǒng)的PCIe切換器的框圖,該管理主機系統(tǒng)具有邏輯設(shè)備啟用軟件。示出的是一種連接至主機204和三個物理設(shè)備206-210的創(chuàng)新性PCIe切換器202。具有邏輯設(shè)備軟件以及用于操作管理系統(tǒng)的其它必要軟件的管理系統(tǒng)主機212連接至切換器202。邏輯設(shè)備啟用軟件實施了由虛線框所示的邏輯設(shè)備214 (也被稱之為合并的虛擬設(shè)備)。邏輯設(shè)備214虛擬地與所連接的主機204 —起操作。其具有去往物理設(shè)備206-210的數(shù)據(jù)路徑。管理系統(tǒng)主機212具有由虛線所示的到實現(xiàn)邏輯設(shè)備214的物理設(shè)備206-210的控制路徑。這些控制路徑以虛線表示以指示它們實質(zhì)上源自于管理系統(tǒng)212中的邏輯設(shè)備啟用軟件并且負責在物理上實現(xiàn)邏輯(虛擬)設(shè)備214。
[0018]在以下所描述的各個實施例中,一種對PCIe切換器實現(xiàn)邏輯設(shè)備的方法以新的能力、地址映射和變換及配置,以及存儲空間和配置空間重定向特征來利用DMA引擎。例如,可能需要地址映射以使得邏輯設(shè)備中的基地址寄存器(BAR)被主機管理系統(tǒng)中的軟件映射至管理存儲器。以這種方式,各個物理設(shè)備的特征被合并在一個邏輯設(shè)備之下。另一種優(yōu)勢在于,如果一個物理設(shè)備具有錯誤或者變得禁用,則邏輯設(shè)備仍然能夠進行操作(例如,主機系統(tǒng)將不會遇到“藍屏”的情形)。中斷合并和生成也是可能的,從而緩解了主機系統(tǒng)上的負荷。在沒有這種合并的情況下,如果存在“η”個物理設(shè)備,則可能有“η”個那么多的設(shè)備發(fā)送中斷,這在一些情況下對于所連接的主機而言可能是過載的。來自一個邏輯設(shè)備的中斷將會緩解主機系統(tǒng)的工作負荷。在另一種部署情形中,邏輯設(shè)備可以是NVMe端點,其可以對物理NVMe或非NVMe存儲設(shè)備(例如,SATA驅(qū)動、SSC驅(qū)動)進行合并。
[0019]相關(guān)申請中所描述的方法描述了物理設(shè)備如何被呈現(xiàn)給主機。如以上所指出的,本發(fā)明通過將邏輯設(shè)備的地址空間映射至主機管理系統(tǒng)CPU中而解決了向主機呈現(xiàn)邏輯、非存在設(shè)備。邏輯設(shè)備因此還在設(shè)備被呈現(xiàn)給主機時綁定至DMA引擎,該主機僅能夠看到邏輯設(shè)備而不是DMA功能。通常,如果僅有邏輯設(shè)備被連接至PCIe切換器,則所連接的主機將不會看到或了解到潛在的DMA或非透明(NT),盡管該DMA和NT功能正在進行操作而只是沒有向主機進行顯示而已。
[0020]如以下所解釋的,DMA引擎被附著至隊列和門鈴(doorbell)。隊列被分配在主機存儲器中并且被寫入到邏輯設(shè)備。隊列被映射至主機管理系統(tǒng)存儲器(FIFO)中。DMA隨后被編程以將邏輯設(shè)備中的隊列綁定至主機系統(tǒng)存儲器隊列。此外,所連接的主機中的門鈴也可以被映射至主機管理系統(tǒng)門鈴堆棧。如本領(lǐng)域中已知的,設(shè)備驅(qū)動器向設(shè)備中的命令隊列發(fā)送命令??梢源嬖谝粋€或多個命令隊列。硬件對命令隊列中的數(shù)據(jù)執(zhí)行操作并且結(jié)果被存儲在響應(yīng)隊列中。如所提到的,邏輯設(shè)備具有用于實現(xiàn)這些隊列的FIFO,并且DMA引擎被附著到它們或者被編程以綁定至邏輯設(shè)備中的隊列。
[0021]當所連接的主機驅(qū)動器激活或“敲響”邏輯設(shè)備中的門鈴時(即,當所連接的主機想要使用邏輯設(shè)備所提供的功能時),邏輯設(shè)備DMA引擎由于其被綁定至該邏輯設(shè)備并且更具體地由于其了解邏輯設(shè)備命令隊列而喚醒。DMA引擎將此傳輸至管理系統(tǒng)中斷。所連接的主機所請求的工作被插入隊列中并且處理遵循其正常操作過程。
[0022]主機上的邏輯軟件能夠在主機上沒有外來或附加軟件的情況下執(zhí)行工作。這能夠僅借助于硬件來完成。
[0023]所連接的主機驅(qū)動器向設(shè)備配置空間或BAR寫入操作。特別地,其將寫入到主機管理系統(tǒng)存儲器中的影子空間中所反映的BAR中的設(shè)備的寄存器。照此,BAR的影子副本在主機管理系統(tǒng)上。因此,當在邏輯設(shè)備中存在著對BAR的寫入時,其在管理系統(tǒng)中有所反映。
[0024]主機管理系統(tǒng)中的影子存儲器捕獲原本在所連接的主機中的寫入。如本領(lǐng)域中已知的,當所連接的主機對驅(qū)動器進行加載時,其開始使用BAR中的寄存器,所述BAR專用于所呈現(xiàn)的設(shè)備。驅(qū)動器開始進行操作、配置命令并且初啟(bring up)設(shè)備。PCIe切換器將所有寫入和命令重新定向至管理系統(tǒng)中。如所提到的,所連接的主機中的所有寫入將經(jīng)由PCIe切換器而出現(xiàn)在主機管理系統(tǒng)影子存儲器中。
[0025]一個步驟是在本地主機存儲器上設(shè)置數(shù)據(jù)命令和響應(yīng)隊列。用于設(shè)置或配置空間(諸如,需要支持多少隊列,邏輯盤的數(shù)量,等等)的命令以及其它配置問題可以由主機管理系統(tǒng)上的邏輯軟件進行應(yīng)答或照料(tend)。驅(qū)動器通過為FIFO分配本地系統(tǒng)存儲器并且向硬件寫入基地址和大小而對隊列進行配置。
[0026]圖3是依據(jù)一個實施例的在PCIe切換器上安裝合成或邏輯設(shè)備的過程的流程圖。在步驟302,該合成設(shè)備被呈現(xiàn)在連接至該切換器的本地主機上或顯示給連接至該切換器的本地主機。該本地主機(本文為“主機”)通過執(zhí)行設(shè)備所捕獲的總線上的配置周期而對PCIe上的設(shè)備進行枚舉。這在母專利申請中有所描述。在步驟304,主機系統(tǒng)軟件在配置空間上寫入BAR并且啟用邏輯設(shè)備。在步驟306,該切換器捕獲步驟304處的寫入,從而使得管理系統(tǒng)能夠構(gòu)建與本地主機上相同的配置。其能夠分配相同的存儲空間,因此在BAR和存儲空間內(nèi)存在著一對一映射。因此,現(xiàn)在在管理系統(tǒng)中存在著本地王機BAR的影子副本。
[0027]在步驟308,本地主機對用于邏輯設(shè)備的驅(qū)動器進行加載。管理系統(tǒng)經(jīng)由切換器而被通知以相同的操作。也就是說,當本地主機對主機存儲器中的BAR寫入某些東西時,這些寫入將在管理系統(tǒng)中的影子存儲器中得到反映。在步驟309,本地主機驅(qū)動器執(zhí)行驅(qū)動器初始化和設(shè)備配置查詢。經(jīng)由切換器給管理系統(tǒng)通知這些。在步驟310,本地主機中的所有寫入出現(xiàn)在管理系統(tǒng)上的影子存儲器中。該驅(qū)動器執(zhí)行設(shè)置命令。
[0028]在步驟312,驅(qū)動器就像其正常情況下那樣設(shè)置用于本地主機中的命令和響應(yīng)的隊列。這些用于存儲命令和響應(yīng)的FIFO隊列在本領(lǐng)域是已知的。在步驟314,由管理系統(tǒng)上的軟件創(chuàng)建影子隊列并且將影子隊列存儲在存儲器中。本地主機中的隊列實質(zhì)上被映射至管理系統(tǒng)存儲器。在步驟316,用于本地主機的端口的DMA引擎被設(shè)置為對本地主機上的隊列進行自動觸發(fā)。也就是說,該DMA引擎被編程為將本地主機中的命令隊列綁定至管理系統(tǒng)存儲器中的命令隊列。該映射還在步驟218處利用本地主機中的門鈴來完成。因此,當主機驅(qū)動器敲響門鈴時,該DMA喚醒(S卩,被自動觸發(fā))。
[0029]在步驟320,本地主機驅(qū)動器設(shè)置本地主機上的中斷向量和處理機(handler)。這些中斷被發(fā)送至管理系統(tǒng),在此時可能發(fā)生兩種不同動作之一。在步驟322,管理系統(tǒng)存儲中斷向量以便在運行時間期間直接訪問。在步驟324,中斷向量與將管理本地主機響應(yīng)隊列的DMA引擎隊列相關(guān)聯(lián)。在這一階段,邏輯設(shè)備在PCIe切換器上的安裝完成。
[0030]如以上所描述的,由管理系統(tǒng)中的軟件實現(xiàn)邏輯設(shè)備。正是該軟件對數(shù)據(jù)進行工作并且將其指向物理設(shè)備。當物理設(shè)備完成功能或工作時,完成信號被發(fā)送至管理系統(tǒng),該管理系統(tǒng)經(jīng)由物理設(shè)備的特征被合并在其中的邏輯設(shè)備軟件而對工作進行排序。來自工作的響應(yīng)被直接發(fā)送至本地主機,其在那里被存儲在響應(yīng)隊列中。針對本地主機響應(yīng)隊列的這一更新仍然在管理系統(tǒng)的影子存儲器中有所反映。
[0031]本文的描述提供了多個新的特征以及針對現(xiàn)有PCIe切換技術(shù)的改進。在一個實施例中,對用于啟用I/o物理設(shè)備合并的硬件輔助進行描述,同時使用該合并增加或啟用增值特征。描述了通過使用所連接的主機中的邏輯或合成端點而對從所連接的物理設(shè)備到所連接的端口的熱插拔事件進行的分離和隔離。還存在著由于所連接的物理設(shè)備生成的到所連接的主機的中斷的合并和隔離而導(dǎo)致的性能提升。最后,應(yīng)當注意的是,以上所描述的實施例可利用管理系統(tǒng)中的軟件進行擴展??梢源嬖诙鄠€主機和物理設(shè)備(例如,可以存在15個物理設(shè)備,其被通過全部連接至一個PCIe切換器的5個所連接的主機進行投影)。
[0032]所描述的實施例的各個方面、實施例、實施方式或者特征能夠被分開使用或者以任意組合來使用。所描述的實施例的各個方面可以由軟件、硬件或者硬件和軟件的組合來加以實現(xiàn)。所描述的實施例也可以被體現(xiàn)為計算機可讀介質(zhì)上的計算機可讀代碼。計算機可讀介質(zhì)被定義為能夠存儲隨后能夠由計算機系統(tǒng)進行讀取的數(shù)據(jù)的任意數(shù)據(jù)存儲設(shè)備。計算機可讀介質(zhì)的示例包括只讀存儲器、隨機存取存儲器、CD-ROM、DVD、磁帶和光學數(shù)據(jù)存儲設(shè)備。計算機可讀介質(zhì)也可以在網(wǎng)絡(luò)耦合的計算機系統(tǒng)上進行分布以使得計算機可讀代碼以分布式方式進行存儲和運行。
[0033]雖然已經(jīng)參考其具體實施例特別示出并描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將會理解的是,在不背離本發(fā)明的精神或范圍的情況下可以對所公開的實施例的形式和細節(jié)方面進行改變。此外,雖然已經(jīng)參考各個實施例在本文中對本發(fā)明的各種優(yōu)勢、方面和目標進行了討論,但是將要理解的是,本發(fā)明的范圍并不應(yīng)當通過參考而限定于這樣的優(yōu)勢、方面和目標。相反,本發(fā)明的范圍應(yīng)當參考所附權(quán)利要求來加以確定。
【權(quán)利要求】
1.一種在PCIe切換器中啟用合成設(shè)備的操作的方法,該方法包括: 將該合成設(shè)備呈現(xiàn)給連接至該切換器的本地主機組件; 捕獲該本地主機內(nèi)的讀取和寫入操作,從而使得該切換器的管理系統(tǒng)能夠創(chuàng)建本地主機組件隊列的影子副本; 向該管理系統(tǒng)通知本地主機驅(qū)動器操作,其中該本地主機加載驅(qū)動器; 使得在該本地主機中發(fā)生的寫入能夠被反映在該管理系統(tǒng)上的存儲器中; 使得能夠在該管理系統(tǒng)上創(chuàng)建影子隊列,所述影子隊列反映了該本地主機中的命令和響應(yīng)隊列; 設(shè)置與本地主機端口相關(guān)聯(lián)的DMA引擎以對該本地主機中的隊列進行自動觸發(fā);并且 使得合成設(shè)備門鈴能夠映射至DMA引擎門鈴。
2.根據(jù)權(quán)利要求1的方法,進一步包括: 將該本地主機上的中斷向量發(fā)送到該管理系統(tǒng)。
3.根據(jù)權(quán)利要求1的方法,進一步包括: 針對適當主機設(shè)備響應(yīng)將中斷向量與DMA引擎隊列相關(guān)聯(lián)。
4.根據(jù)權(quán)利要求1的方法,其中多個本地主機和多個物理設(shè)備使用該合成設(shè)備。
5.根據(jù)權(quán)利要求1的方法,其中該管理系統(tǒng)具有合成設(shè)備啟用模塊,其提供用于在該切換器中實現(xiàn)該合成設(shè)備的可執(zhí)行指令。
6.根據(jù)權(quán)利要求1的方法,其中該管理系統(tǒng)具有在該本地主機上所存儲的隊列的影子副本。
7.根據(jù)權(quán)利要求1的方法,其中當該物理設(shè)備完成該本地主機所請求的功能時,將完成信號發(fā)送至該管理系統(tǒng)并且將響應(yīng)直接發(fā)送至該本地主機。
8.根據(jù)權(quán)利要求5的方法,其中該啟用模塊對來自該本地主機的數(shù)據(jù)執(zhí)行操作并且將該數(shù)據(jù)定向至該物理設(shè)備。
9.根據(jù)權(quán)利要求1的方法,其中在該管理系統(tǒng)和物理設(shè)備之間存在用于傳送與該合成設(shè)備相關(guān)的命令的控制路徑以及在該物理設(shè)備和該本地主機之間存在數(shù)據(jù)路徑。
10.根據(jù)權(quán)利要求1的方法,其中存在針對本地主機中的反映在該管理系統(tǒng)中的影子隊列中的隊列的更新的一對一映射。
11.根據(jù)權(quán)利要求1的方法,其中該合成設(shè)備是沒有相關(guān)聯(lián)物理設(shè)備的、由軟件所創(chuàng)建的設(shè)備。
12.根據(jù)權(quán)利要求1的方法,進一步包括:在該本地主機和該管理系統(tǒng)之間映射地址,從而啟用在該物理設(shè)備和該本地主機之間的數(shù)據(jù)傳輸。
13.根據(jù)權(quán)利要求1的方法,進一步包括在該本地主機中分配隊列并且將該隊列寫入至該合成設(shè)備。
14.一種與管理系統(tǒng)相結(jié)合的PCI express切換器,該管理系統(tǒng)具有用于在該切換器中實現(xiàn)物理設(shè)備的邏輯合并的邏輯設(shè)備啟用器模塊,其中該邏輯合并被所連接的主機使用,并且其中該管理系統(tǒng)中的存儲器存儲如在該邏輯設(shè)備中所存儲的命令隊列、響應(yīng)隊列和門鈴的影子副本。
【文檔編號】G06F13/28GK103678201SQ201310536515
【公開日】2014年3月26日 申請日期:2013年9月23日 優(yōu)先權(quán)日:2012年9月21日
【發(fā)明者】J·雷古拉, N·蘇布拉馬尼延, J·M·多森 申請人:Plx科技公司