專利名稱:將不可預(yù)取存儲(chǔ)單元映射到存儲(chǔ)器映射輸入/輸出空間中的制作方法
將不可預(yù)取存儲(chǔ)單元映射到存儲(chǔ)器映射輸入/輸出空間中背景技術(shù)
通常,計(jì)算機(jī)系統(tǒng)包括多個(gè)與彼此進(jìn)行通信以執(zhí)行系統(tǒng)應(yīng)用的集成電路。往往,計(jì)算機(jī)系統(tǒng)包括一個(gè)或多個(gè)主機(jī)控制器以及一個(gè)或多個(gè)電子子系統(tǒng)組件。為了執(zhí)行系統(tǒng)功能,(一個(gè)或多個(gè))主機(jī)控制器和子系統(tǒng)組件經(jīng)由通信鏈路進(jìn)行通信,所述通信鏈路諸如并行通信鏈路和串行通信鏈路。并行通信鏈路包括實(shí)現(xiàn)傳統(tǒng)外設(shè)部件互連(PCI)的鏈路,其是PCI extended (PCM)和PCI Local Bus標(biāo)準(zhǔn)的一部分。串行通信鏈路包括實(shí)現(xiàn)PCI Express (PCIe)標(biāo)準(zhǔn)的鏈路。
傳統(tǒng)的PCI是用于附連計(jì)算機(jī)中的硬件設(shè)備的總線。所述設(shè)備可以采取裝配到母板上的集成電路或裝配到插槽中的擴(kuò)充卡的形式。典型的PCI卡包括網(wǎng)卡、聲卡、調(diào)制解調(diào)器、額外端口、電視調(diào)諧器卡、以及盤控制器。
PCI-X是總線和擴(kuò)充卡標(biāo)準(zhǔn),其增強(qiáng)了用于服務(wù)器所要求的更高帶寬的PCI Local Bus標(biāo)準(zhǔn)。PCI-X通過使最大時(shí)鐘速度從66MHz加倍到133MHz來修改傳統(tǒng)PCI標(biāo)準(zhǔn)。與采用標(biāo)準(zhǔn)PCI的133MB/S相比,在采用PCI-X的處理器和外設(shè)之間交換的數(shù)據(jù)的理論最大量是1.06 GB/s。傳統(tǒng)PCI和PCI-X已經(jīng)在很大程度上被以不同的邏輯設(shè)計(jì)為特征的PCIe代替。
PCIe在用戶、服務(wù)器以及工業(yè)應(yīng)用中被用作母板級(jí)互連以鏈接母板安裝的外設(shè)以及用作用于加入板(add-in board)的擴(kuò)充卡接口。PCIe與早期總線之間的差異是基于點(diǎn)到點(diǎn)串行鏈路的拓?fù)浣Y(jié)構(gòu),而不是共享的并行總線。PCIe是經(jīng)由差分信號(hào)對(duì)傳送數(shù)據(jù)的高速串行鏈路。圍繞被稱為通道(lane)的雙向串行點(diǎn)到點(diǎn)連接建立PCIe鏈路。在該電平處,每個(gè)通道利用兩個(gè)單向的低電壓差分信令對(duì)、發(fā)送對(duì)和接收對(duì),以達(dá)到每通道四條數(shù)據(jù)線的總數(shù)。任何兩個(gè)PCIe設(shè)備之間的連接被稱為鏈路,并且其是從一個(gè)或多個(gè)通道的集合建立的。所有的PCIe設(shè)備最低限度地支持單通道(xl)鏈路。PCIe設(shè)備可以可選地支持由 x2、x4、x8、xl2、xl6、x32或更多通道組成的更寬的鏈路。
通常,PCIe設(shè)備使諸如寄存器和存儲(chǔ)器單元之類的存儲(chǔ)單元映射到PCIe存儲(chǔ)空間中,所述PCIe存儲(chǔ)空間也被稱為存儲(chǔ)器映射輸入/輸出(匪10)空間。往往,匪IO空間包括可經(jīng)由32位地址尋址的部分和可經(jīng)由64位地址尋址的部分。對(duì)小于四千兆字節(jié)(GB) 的存儲(chǔ)空間進(jìn)行尋址的可經(jīng)由32位地址尋址的部分被稱為LMMI0。對(duì)大于四GB的存儲(chǔ)空間進(jìn)行尋址的可經(jīng)由64位地址尋址的部分被稱為GMMI0。在橋接器和切換器中的映射資源被定義成將LMMIO空間與不可預(yù)取語義相關(guān)聯(lián),并且將GMMIO空間與可預(yù)取語義相關(guān)聯(lián)。
PCIe設(shè)備正要求越來越大量的不可預(yù)取MMIO空間。在支持大量的PCIe設(shè)備的高度可縮放平臺(tái)上,這會(huì)導(dǎo)致LMMIO空間的短缺,其限制了能夠被支持的設(shè)備的數(shù)量。
由于這些和其它原因,存在對(duì)于本發(fā)明的需求。
圖1是圖示了包括PCIe鏈路的系統(tǒng)的一個(gè)實(shí)施例的圖。
圖2是圖示了下述系統(tǒng)的一個(gè)實(shí)施例的圖,所述系統(tǒng)包括PCIe鏈路和耦合至切換器、橋接器、以及多個(gè)設(shè)備和多功能設(shè)備(MFD)的主機(jī)。
圖3是圖示了用于將設(shè)備存儲(chǔ)單元映射到PCIe存儲(chǔ)空間中的方法的一個(gè)實(shí)施例的圖。
具體實(shí)施方式
在以下詳細(xì)描述中,對(duì)形成于此的一部分的附圖進(jìn)行參考,并且在附圖中通過說明的方式示出了特定實(shí)施例,可以以該特定實(shí)施例來實(shí)現(xiàn)本發(fā)明。在這方面,參考正被描述的(一個(gè)或多個(gè))圖的方位來使用方向術(shù)語,諸如“頂部”、“底部”、“前面”、“后面”、“前端”、 “尾部”等。因?yàn)楸景l(fā)明的實(shí)施例的部件能夠被定位在多個(gè)不同的方位上,所以所述方向術(shù)語是用于說明的目的而決不是限制的。應(yīng)當(dāng)理解的是,在不偏離本發(fā)明的范圍的情況下,可以利用其它實(shí)施例并且可以進(jìn)行結(jié)構(gòu)或邏輯上的改變。因此,以下詳細(xì)描述不被從限制的意義上來理解,并且本發(fā)明的范圍由隨附權(quán)利要求來限定。
圖1是圖示了包括PCIe鏈路22的系統(tǒng)20的一個(gè)實(shí)施例的圖。系統(tǒng)20包括主機(jī) M和輸入/輸出(I/O)設(shè)備26,所述輸入/輸出(I/O)設(shè)備沈包括至少一個(gè)不可預(yù)取存儲(chǔ)單元觀。主機(jī)M和I/O設(shè)備沈被配置成將所述至少一個(gè)不可預(yù)取存儲(chǔ)單元觀映射到經(jīng)由大于32地址位尋址的存儲(chǔ)空間中,其在GMMIO空間中并且在歷史上僅用于可預(yù)取存儲(chǔ)單元。在一個(gè)實(shí)施例中,主機(jī)M包括一個(gè)或多個(gè)微處理器,所述微處理器執(zhí)行軟件、固件、 和/或操作系統(tǒng)指令以提供這些系統(tǒng)功能。在一個(gè)實(shí)施例中,I/O設(shè)備沈包括一個(gè)或多個(gè)微處理器,所述微處理器執(zhí)行軟件、固件、和/或操作系統(tǒng)指令以提供這些系統(tǒng)功能。
主機(jī)M經(jīng)由PCIe鏈路22電耦合至I/O設(shè)備26。在一個(gè)實(shí)施例中,主機(jī)M經(jīng)由 PCIe鏈路22直接地電耦合至I/O設(shè)備26,即,沒有任何中間的PCIe到PCIe切換器(在本文中被稱為切換器),并且沒有任何PCIe到PCI/PCI-X橋接器(在本文中被稱為橋接器)。在一個(gè)實(shí)施例中,主機(jī)M經(jīng)由PCIe鏈路22和一個(gè)或多個(gè)切換器電耦合至I/O設(shè)備沈,其中主機(jī)M被耦合至切換器的一側(cè),而I/O設(shè)備沈被耦合至該切換器的另一側(cè)。在一個(gè)實(shí)施例中,主機(jī)M經(jīng)由一個(gè)或多個(gè)橋接器電耦合至I/O設(shè)備沈,其中主機(jī)M被耦合至橋接器的一側(cè),而I/O設(shè)備沈被耦合至該橋接器的另一側(cè)。
在PCIe協(xié)議中,與傳統(tǒng)PCI協(xié)議相對(duì)比,所有的存儲(chǔ)器讀取請(qǐng)求包括報(bào)頭中的明確的有效載荷字節(jié)計(jì)數(shù)值。因此,只要從請(qǐng)求者到完成者的整條路徑在PCIe之上,PCIe存儲(chǔ)器讀取就將不預(yù)取數(shù)據(jù)。這個(gè)特征以及PCIe切換器的某些其它特征使得將不可預(yù)取存儲(chǔ)單元映射到GMMIO空間中是安全的,而采用傳統(tǒng)PCI協(xié)議和傳統(tǒng)PCI橋接器這樣做將不會(huì)是安全的。PCI-X協(xié)議在其存儲(chǔ)器讀取請(qǐng)求的某些而不是全部中包括明確的有效載荷字節(jié)計(jì)數(shù),并且PCI-X橋接器缺乏這樣的某些特征,該特征使得將不可預(yù)取存儲(chǔ)單元映射到 GMMIO空間中是安全的。
采用PCIe主機(jī)系統(tǒng),為了安全地將至少一個(gè)不可預(yù)取存儲(chǔ)單元28映射到GMMIO 中,兩個(gè)條件是足夠的。用于映射的一個(gè)條件是主機(jī)M和I/O設(shè)備沈不經(jīng)由一個(gè)或多個(gè)中間的PCI或PCI-X橋接器耦合到彼此。用于映射的另一個(gè)條件是在橋接器下方的PCI或 PCI-X設(shè)備被禁止向被映射到PCIe I/O設(shè)備的GMMIO空間中的不可預(yù)取存儲(chǔ)單元進(jìn)行對(duì)等請(qǐng)求。
所述第一條件減少或消除了與橋接器(S卩,在該橋接器的至少一側(cè)上實(shí)行PCI或 PCI-X的橋接器)和在該橋接器下方的橋接器相關(guān)聯(lián)的問題。經(jīng)由第一條件減少或消除的問題包括橋接器進(jìn)行存儲(chǔ)器寫入的字節(jié)合并(這可能破壞GMMIO中的不可預(yù)取存儲(chǔ)單元), 在不具有明確的字節(jié)計(jì)數(shù)的PCI或PCI-X讀取中進(jìn)行預(yù)取,由于在PCI模式下放棄延遲的完成而導(dǎo)致引起無記載數(shù)據(jù)破壞(silent data corruption),以及相對(duì)于零長度存儲(chǔ)器讀取是不定的(ill-defined)橋接器行為。第二條件減少或消除了與對(duì)等請(qǐng)求相關(guān)聯(lián)的問題,諸如針對(duì)存儲(chǔ)器讀取的盲預(yù)取。如果在系統(tǒng)20中不存在PCI或PCI-X設(shè)備,則這兩個(gè)條件都會(huì)被滿足。在一個(gè)實(shí)施例中,系統(tǒng)策略規(guī)定禁止I/O設(shè)備經(jīng)由橋接器耦合至PCIe鏈路22。在一個(gè)實(shí)施例中,主機(jī)M確定在系統(tǒng)20中沒有橋接器,因此主機(jī)M可以將至少一個(gè)不可預(yù)取存儲(chǔ)單元觀映射到GMMIO空間中。還可以單獨(dú)地滿足這兩個(gè)條件。其中,關(guān)于第一條件,主機(jī)M確定I/O設(shè)備沈是否被經(jīng)由一個(gè)或多個(gè)中間的橋接器耦合至主機(jī)對(duì)。如果主機(jī)M被經(jīng)由一個(gè)或多個(gè)中間的橋接器耦合至I/O設(shè)備沈,則主機(jī)M不將至少一個(gè)不可預(yù)取存儲(chǔ)單元映射到GMMIO空間中,即,禁止所述至少一個(gè)不可預(yù)取存儲(chǔ)單元到GMMIO中的映射。如果主機(jī)M被直接耦合至I/O設(shè)備沈或者如果主機(jī)M被經(jīng)由一個(gè)或多個(gè)切換器耦合至I/O設(shè)備沈,則滿足了第一條件。關(guān)于第二條件,在一個(gè)實(shí)施例中,系統(tǒng)策略規(guī)定禁止在橋接器下方的I/O設(shè)備進(jìn)行對(duì)等請(qǐng)求。系統(tǒng)20可以將一個(gè)或多個(gè)不可預(yù)取存儲(chǔ)單元映射到經(jīng)由大于32地址位尋址的存儲(chǔ)空間(即,GMMIO空間)中。將不可預(yù)取存儲(chǔ)單元映射到GMMIO中減輕了 LMMIO上的負(fù)荷并且增加了能夠被附連到PCIe系統(tǒng)的設(shè)備的數(shù)量。圖2是圖示了包括在102處的PCIe鏈路的系統(tǒng)100的一個(gè)實(shí)施例的圖。系統(tǒng)100 包括主機(jī)104,所述主機(jī)104被耦合至切換器106、橋接器108、以及多個(gè)設(shè)備和多功能設(shè)備 (MFD)0如先前所描述的,切換器106指的是PCIe到PCIe切換器,而橋接器108指的是PCIe 到PCI/PCI-X橋接器。同樣地,在一個(gè)方面,主機(jī)104類似于主機(jī)M并且設(shè)備和MFD中的每一個(gè)都類似于I/O設(shè)備26。主機(jī)104包括根聯(lián)合體110 (root complex),所述根聯(lián)合體110在主機(jī)104與切換器106之間、在主機(jī)104與橋接器108之間、以及在主機(jī)104和在112處的MFD X之間進(jìn)行對(duì)接。根聯(lián)合體110包括在114處的根端口 A、在116處的根端口 B、以及在118處的根端口 C。根聯(lián)合體110經(jīng)由在114處的根端口 A和在10 處的PCIe鏈路電耦合至切換器 106,根聯(lián)合體110經(jīng)由在116處的根端口 B和在102b處的PCIe鏈路電耦合至在112處的 MFD X,并且根聯(lián)合體110經(jīng)由在118處的根端口 C和在102c處的PCIe鏈路電耦合至橋接器 108。系統(tǒng)100包括在120處的設(shè)備V、在122處的MFD W、在IM處的設(shè)備Y、以及在126 處的MFD Z0主機(jī)104經(jīng)由切換器106耦合至在120處的設(shè)備V和在122處的MFD W。其中,切換器106的一側(cè)經(jīng)由PCIe鏈路10 電耦合至在114處的根端口 A,而切換器106的另一側(cè)經(jīng)由鏈路128電耦合至在120處的設(shè)備V并且經(jīng)由鏈路130電耦合至在122處的 MFD W。主機(jī)104經(jīng)由橋接器108耦合至在IM處的設(shè)備Y和在1 處的MFD Z。其中,橋接器108的一側(cè)經(jīng)由PCIe鏈路102c電耦合至在118處的根端口 C,而橋接器108的另一側(cè)經(jīng)由總線132電耦合至在IM處的設(shè)備Y并且經(jīng)由總線132電耦合至在1 處的MFD Z。在120處的設(shè)備V、在122處的MFD W、在112處的MFD X、在IM處的設(shè)備Y、以及在1 處的MFD Z中的每個(gè)都包括基地址寄存器、可預(yù)取存儲(chǔ)單元、以及不可預(yù)取存儲(chǔ)單元。在120處的設(shè)備V包括基地址寄存器136、可預(yù)取存儲(chǔ)單元138、以及不可預(yù)取存儲(chǔ)單元140。在122處的MFD W包括基地址寄存器142、可預(yù)取存儲(chǔ)單元144、以及不可預(yù)取存儲(chǔ)單元146。在112處的MFD X包括基地址寄存器148、可預(yù)取存儲(chǔ)單元150、以及不可預(yù)取存儲(chǔ)單元152。在IM處的設(shè)備Y包括基地址寄存器154、可預(yù)取存儲(chǔ)單元156、以及不可預(yù)取存儲(chǔ)單元158。在1 處的MFD Z包括基地址寄存器160、可預(yù)取存儲(chǔ)單元162、以及不可預(yù)取存儲(chǔ)單元164。主機(jī)104和根聯(lián)合體110將可預(yù)取存儲(chǔ)單元138、144、150、156和162以及不可預(yù)取存儲(chǔ)單元140、146、152、158和164映射到被稱為MMIO空間的PCIe存儲(chǔ)空間中。該MMIO 空間包括可經(jīng)由32位地址尋址的部分,其尋址小于四千兆字節(jié)(GB)的存儲(chǔ)空間并且被稱為LMMIO空間;以及可經(jīng)由64位地址尋址的部分,其尋址大于四GB的存儲(chǔ)空間并且被稱為 GMMIO空間。主機(jī)104和根聯(lián)合體110將可預(yù)取存儲(chǔ)單元138、144、150、156和162映射到GMMIO 中,并且將不可預(yù)取存儲(chǔ)單元140、146和152映射到LMMIO或GMMIO中。主機(jī)104和根聯(lián)合體110將不可預(yù)取存儲(chǔ)單元158和164映射到LMMIO中。為了安全地將不可預(yù)取存儲(chǔ)單元映射到GMMIO中,先前所描述的兩個(gè)條件是足夠的。首先,主機(jī)104和具有待映射到GMMIO中的(一個(gè)或多個(gè))不可預(yù)取存儲(chǔ)單元的MFD或設(shè)備不能夠經(jīng)由諸如橋接器108之類的一個(gè)或多個(gè)中間橋接器耦合到彼此。其次,禁止諸如在橋接器108下方的在124處的設(shè)備Y以及在1 處的MFD Z之類的在橋接器下方的設(shè)備和MFD向GMMIO空間中的不可預(yù)取存儲(chǔ)單元進(jìn)行對(duì)等請(qǐng)求。第一條件減少或消除了與橋接器(S卩,在一側(cè)上實(shí)行PCI或PCI-X的橋接器)和在橋接器下方的橋接器相關(guān)聯(lián)的潛在問題。減少或消除的潛在問題包括橋接器進(jìn)行存儲(chǔ)器寫入的字節(jié)合并(這可能破壞GMMIO中的不可預(yù)取存儲(chǔ)單元),在不具有明確的字節(jié)計(jì)數(shù)的 PCI或PCI-X讀取中進(jìn)行預(yù)取,由于在PCI模式下放棄延遲的完成而導(dǎo)致引起無記載數(shù)據(jù)破壞,以及相對(duì)于零長度存儲(chǔ)器讀取是不定的橋接器行為。第二條件減少或消除了與對(duì)等請(qǐng)求相關(guān)聯(lián)的潛在問題,諸如針對(duì)存儲(chǔ)器讀取的盲預(yù)取。如果滿足這兩個(gè)條件,則主機(jī)104和根聯(lián)合體110可以安全地將不可預(yù)取存儲(chǔ)單元映射到作為GMMIO空間的經(jīng)由大于32地址位尋址的存儲(chǔ)空間中。在一個(gè)實(shí)施例中,主機(jī)104和根聯(lián)合體110包括一個(gè)或多個(gè)微處理器,所述微處理器執(zhí)行軟件、固件、和/或操作系統(tǒng)指令以提供這些系統(tǒng)功能。在一個(gè)實(shí)施例中,包括在120 處的設(shè)備V、在122處的MFD W、在112處的MFD X、在IM處的設(shè)備Y、以及在1 處的MFD Z的設(shè)備和MFD中的一個(gè)或多個(gè)包括一個(gè)或多個(gè)微處理器,所述微處理器執(zhí)行軟件、固件、 和/或操作系統(tǒng)指令以提供這些系統(tǒng)功能。在一個(gè)實(shí)施例中,為了滿足兩個(gè)條件,禁止設(shè)備和MFD經(jīng)由諸如橋接器108之類的橋接器耦合至PCIe鏈路102。在一個(gè)實(shí)施例中,為了滿足兩個(gè)條件,禁止諸如橋接器108之類的橋接器耦合至PCIe鏈路102。在一個(gè)實(shí)施例中,為了滿足兩個(gè)條件,主機(jī)104確定諸如橋接器108之類的橋接器是否在系統(tǒng)100中,并且如果沒有橋接器在系統(tǒng)100中,則主機(jī) 104能夠安全地將一個(gè)或多個(gè)不可預(yù)取存儲(chǔ)單元映射到GMMIO中。為了滿足第一條件,主機(jī)104確定諸如在120處的設(shè)備V、在122處的MFD W、在112 處的MFD X、在IM處的設(shè)備Y、以及在1 處的MFD Z之類的設(shè)備或MFD是否經(jīng)由一個(gè)或多個(gè)中間橋接器耦合至主機(jī)104。如果主機(jī)104經(jīng)由一個(gè)或多個(gè)中間橋接器耦合至正被討論的MFD或設(shè)備,則主機(jī)104不將來自該設(shè)備或MFD的不可預(yù)取存儲(chǔ)單元映射到GMMIO中, 艮口,禁止來自該設(shè)備或MFD的不可預(yù)取存儲(chǔ)單元到GMMIO中的映射。如果主機(jī)104被直接地耦合至設(shè)備或MFD,或者如果主機(jī)104經(jīng)由一個(gè)或多個(gè)切換器耦合至設(shè)備或MFD,則滿足了第一條件。在系統(tǒng)100中,主機(jī)104確定在120處的設(shè)備V和在122處的MFD W經(jīng)由切換器 106耦合至主機(jī)104,并且在112處的MFD X被直接地耦合至主機(jī)104,即,沒有中間切換器或橋接器。同樣地,主機(jī)104確定在IM處的設(shè)備Y和在1 處的MFD Z中的每一個(gè)經(jīng)由中間橋接器108耦合至主機(jī)104。因此,關(guān)于在120處的設(shè)備V、在122處的MFD W、以及在 112處的MFD X,滿足第一條件并且不可預(yù)取存儲(chǔ)單元140、146和152到GMMIO中的映射取決于第二條件被滿足。關(guān)于在1 處的設(shè)備Y和在1 處的MFD Z,不滿足第一條件并且主機(jī)104不將不可預(yù)取存儲(chǔ)單元158和164映射到GMMIO中。關(guān)于第二條件,在系統(tǒng)100中系統(tǒng)策略規(guī)定禁止諸如在橋接器108下方的在124 處的設(shè)備Y和在126處的MFD Z之類的在橋接器下方的設(shè)備或MFD進(jìn)行對(duì)等請(qǐng)求。因此, 滿足第二條件并且主機(jī)104能夠?qū)⒉豢深A(yù)取存儲(chǔ)單元140、146和152映射到GMMIO中。為了將可預(yù)取存儲(chǔ)單元和不可預(yù)取存儲(chǔ)單元映射到LMMIO和GMMIO中,主機(jī)104 對(duì)基地址寄存器136、142、148、巧4和160進(jìn)行編程。用于映射LMMIO的基地址寄存器在長度方面是32位的,而用于映射GMMIO的基地址寄存器在長度方面是64位的。為了將不可預(yù)取存儲(chǔ)單元140、146和152映射到GMMIO中,主機(jī)104提供被編程到64位基地址寄存器中的64位地址。圖3是圖示了用于將設(shè)備存儲(chǔ)單元映射到系統(tǒng)100中的PCIe存儲(chǔ)空間中的方法 200的一個(gè)實(shí)施例的圖。在202處,主機(jī)104檢測(cè)PCIe鏈路l(^a、102b以及102c上的設(shè)備、切換器、以及橋接器。主機(jī)104檢測(cè)在120處的設(shè)備V、在122處的MFD W、在112處的 MFD X、在IM處的設(shè)備Y、以及在1 處的MFD Z。同樣地,主機(jī)104檢測(cè)切換器106和橋接器108。在204處,主機(jī)104收集關(guān)于待映射到PCIe存儲(chǔ)空間中的不可預(yù)取和可預(yù)取存儲(chǔ)單元的信息。在120處的設(shè)備V向主機(jī)104提供可預(yù)取存儲(chǔ)單元138和不可預(yù)取存儲(chǔ)單元 140。在122處的MFD W向主機(jī)104提供可預(yù)取存儲(chǔ)單元144和不可預(yù)取存儲(chǔ)單元146。在 112處的MFD X向主機(jī)104提供可預(yù)取存儲(chǔ)單元150和不可預(yù)取存儲(chǔ)單元152。在IM處的設(shè)備Y向主機(jī)104提供可預(yù)取存儲(chǔ)單元156和不可預(yù)取存儲(chǔ)單元158,而在1 處的MFD Z向主機(jī)104提供可預(yù)取存儲(chǔ)單元162和不可預(yù)取存儲(chǔ)單元164。在206處,主機(jī)104確定是否包括在120處的設(shè)備V、在122處的MFD W、在112處的MFD X、在IM處的設(shè)備Y,以及在1 處的MFD Z的設(shè)備中的每一個(gè)經(jīng)由諸如橋接器108 之類的中間橋接器耦合至主機(jī)104。這是將針對(duì)將不可預(yù)取存儲(chǔ)單元映射到GMMIO中而滿足的一個(gè)條件。在系統(tǒng)100中,主機(jī)104確定在IM處的設(shè)備Y和在1 處的MFD Z中的每個(gè)經(jīng)由中間橋接器108耦合至主機(jī)104。結(jié)果,主機(jī)104不將不可預(yù)取存儲(chǔ)單元158和 164映射到GMMI0。主機(jī)104還確定在120處的設(shè)備V、在122處的MFD W、以及在112處的 MFD X不經(jīng)由中間橋接器耦合至主機(jī)104。在208處,系統(tǒng)100禁止來自在IM處的設(shè)備Y和在1 處的MFD Z的對(duì)等請(qǐng)求。 在系統(tǒng)100中系統(tǒng)策略規(guī)定禁止諸如在橋接器108下方的在IM處的設(shè)備Y和在1 處的 MFD Z之類的在橋接器下方的設(shè)備或MFD進(jìn)行對(duì)等請(qǐng)求。因此,滿足第二條件并且主機(jī)104 能夠?qū)⒉豢深A(yù)取存儲(chǔ)單元140、146和152映射到GMMIO中。在210處,主機(jī)104將不可預(yù)取存儲(chǔ)單元158和164映射到LMMIO中并且將不可預(yù)取存儲(chǔ)單元140、146和152映射到LMMIO或GMMIO中。在212處,主機(jī)104將可預(yù)取存儲(chǔ)單元138、144、150、156和162映射到GMMIO中。在214處,系統(tǒng)100繼續(xù)其它的系統(tǒng)功能。系統(tǒng)20和系統(tǒng)100能夠?qū)⒁粋€(gè)或多個(gè)不可預(yù)取存儲(chǔ)單元映射到經(jīng)由大于32地址位尋址的存儲(chǔ)空間(即,GMMIO空間)中。將不可預(yù)取存儲(chǔ)單元映射到GMMIO中減輕了 LMMIO 空間上的負(fù)荷并且增加了能夠被映射到PCIe存儲(chǔ)空間的設(shè)備的數(shù)量。雖然本文中已經(jīng)說明并且描述了特定實(shí)施例,但是本領(lǐng)域的普通技術(shù)人員將了解的是,在不偏離本發(fā)明的范圍的情況下,各種替代和/或等同實(shí)施方式可以取代所示出的和所描述的特定實(shí)施例。本申請(qǐng)旨在涵蓋本文中所討論的特定實(shí)施例的任何修改或變化。 因此,意圖是本發(fā)明僅由權(quán)利要求及其等同物來限制。
權(quán)利要求
1.一種系統(tǒng),包括主機(jī);以及設(shè)備,其具有至少一個(gè)不可預(yù)取存儲(chǔ)單元,其中所述主機(jī)和所述設(shè)備被配置成將所述至少一個(gè)不可預(yù)取存儲(chǔ)單元映射到存儲(chǔ)器映射輸入/輸出空間中,所述存儲(chǔ)器映射輸入/ 輸出空間是經(jīng)由大于32地址位尋址的。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述主機(jī)和所述設(shè)備被配置成確定所述設(shè)備是否被經(jīng)由中間橋接器耦合至所述主機(jī)。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述主機(jī)被耦合至外設(shè)部件互連快速鏈路并且所述設(shè)備被耦合至所述外設(shè)部件互連快速鏈路。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,橋接器被耦合至所述外設(shè)部件互連快速鏈路,并且所述主機(jī)和所述設(shè)備被配置成在將所述至少一個(gè)不可預(yù)取存儲(chǔ)單元映射到所述存儲(chǔ)器映射輸入/輸出空間中之前確定所述設(shè)備是否在所述橋接器的下方。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述主機(jī)和所述設(shè)備被配置成經(jīng)由基地址寄存器將所述至少一個(gè)不可預(yù)取存儲(chǔ)單元映射到外設(shè)部件互連快速存儲(chǔ)器映射輸入/輸出空間中。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,所述基地址寄存器是64位基地址寄存器。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,系統(tǒng)策略規(guī)定在橋接器下方的設(shè)備被禁止進(jìn)行對(duì)等請(qǐng)求。
8.一種系統(tǒng),包括外設(shè)部件互連快速鏈路;設(shè)備,其被耦合至所述外設(shè)部件互連快速鏈路并且包括基地址寄存器,所述基地址寄存器將所述設(shè)備中的不可預(yù)取存儲(chǔ)單元映射到外設(shè)部件互連快速存儲(chǔ)空間;以及主機(jī),其被耦合至所述外設(shè)部件互連快速鏈路,其中,所述設(shè)備和所述主機(jī)被配置成將所述不可預(yù)取存儲(chǔ)單元中的至少一個(gè)映射到所述外設(shè)部件互連快速存儲(chǔ)空間中的大于四千兆字節(jié)的存儲(chǔ)器映射輸入/輸出空間。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述設(shè)備和所述主機(jī)被配置成確定所述設(shè)備在沒有中間橋接器的情況下被耦合至所述主機(jī)。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,系統(tǒng)策略規(guī)定設(shè)備被禁止經(jīng)由橋接器耦合至所述外設(shè)部件互連快速鏈路。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,系統(tǒng)策略規(guī)定在橋接器下方的設(shè)備被禁止進(jìn)行對(duì)等請(qǐng)求。
12.一種方法,包括將設(shè)備的至少一個(gè)不可預(yù)取存儲(chǔ)單元映射到外設(shè)部件互連快速存儲(chǔ)空間中,所述外設(shè)部件互連快速存儲(chǔ)空間大于四千兆字節(jié)的存儲(chǔ)器映射輸入/輸出空間。
13.根據(jù)權(quán)利要求12所述的方法,包括確定主機(jī)是否被經(jīng)由中間橋接器耦合至所述設(shè)備。
14.根據(jù)權(quán)利要求12所述的方法,包括在將所述至少一個(gè)不可預(yù)取存儲(chǔ)單元映射到所述外設(shè)部件互連快速存儲(chǔ)空間中之前, 確定所述設(shè)備是否被經(jīng)由耦合至所述外設(shè)部件互連快速鏈路的橋接器耦合至外設(shè)部件互連快速鏈路。
15.根據(jù)權(quán)利要求12所述的方法,包括 禁止在橋接器下方的設(shè)備進(jìn)行對(duì)等請(qǐng)求。
全文摘要
一種系統(tǒng),該系統(tǒng)包括主機(jī)和設(shè)備。所述設(shè)備具有至少一個(gè)不可預(yù)取存儲(chǔ)單元。所述主機(jī)和所述設(shè)備被配置成將所述至少一個(gè)不可預(yù)取存儲(chǔ)單元映射到存儲(chǔ)器映射輸入/輸出空間中,所述存儲(chǔ)器映射輸入/輸出空間是經(jīng)由大于32地址位尋址的。
文檔編號(hào)G06F12/00GK102511039SQ200980161621
公開日2012年6月20日 申請(qǐng)日期2009年9月25日 優(yōu)先權(quán)日2009年9月25日
發(fā)明者J.P.科萬, K.H.凱辛 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)