專利名稱:用于改進(jìn)pci-x或pci網(wǎng)橋性能的緩沖器管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及用于改進(jìn)PCI-X或PCI網(wǎng)橋性能的緩沖器管理,并特別地涉及用于管理跨越PCI-X或PCI網(wǎng)橋的事務(wù)的系統(tǒng)和方法。更特別地,本發(fā)明涉及等待、增加和/或優(yōu)化用于其大小跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的可用緩沖器。這里,術(shù)語PCI-X或PCI網(wǎng)橋指一個(gè)PCI-X到PCI-X或PCI到PCI的網(wǎng)橋,該網(wǎng)橋連接兩個(gè)PCI總線。PCI-X是目前正被開發(fā)的PCI總線的高性能擴(kuò)展。
外圍設(shè)備互連(PCI)規(guī)范已經(jīng)被開發(fā),并繼續(xù)被改進(jìn)用于在主計(jì)算機(jī)、系統(tǒng)存儲(chǔ)器和各種設(shè)備或適配器,諸如總線上的設(shè)備,插卡,或集成的適配器,之間的通訊。關(guān)于PCI的該規(guī)范已經(jīng)被細(xì)化為PCI規(guī)范版本2.2,于1998年12月公布。PCI-X是由PCI特別權(quán)益小組(PCISIG)正在開發(fā)的規(guī)范草案,作為對(duì)PCI規(guī)范的補(bǔ)充,將在1999年中期發(fā)布。PCI-X試圖向后兼容。因此,兩種網(wǎng)橋接口必須既能在PCI模式,又能在PCI-X模式下工作(PCI到PCI,PCI-X到PCI-X,PCI到PCI-X,PCI-X到PCI)。這些規(guī)范在此引入作為參考。
不同的事務(wù),諸如輸入/輸出(I/O)事務(wù)以及直接存儲(chǔ)訪問(DMA)事務(wù),跨越在主計(jì)算機(jī)和不同的設(shè)備以及I/O設(shè)備與系統(tǒng)存儲(chǔ)器之間的PCI-X或PCI網(wǎng)橋發(fā)生。跨越這樣的網(wǎng)橋的延遲的事務(wù)需要宿主重復(fù)該事務(wù)直到它停止接收重試并且該事務(wù)被完成。但是,伴隨延遲的事務(wù)的問題是宿主必須持續(xù)地重復(fù)并等待直到合適的緩沖器可用或它通過主橋接收到導(dǎo)致事務(wù)的合并或備份的數(shù)據(jù)請(qǐng)求。分割跨越這些網(wǎng)橋的事務(wù)避免了使宿主等待以及重復(fù)該事務(wù),并允許命令被網(wǎng)橋接收,結(jié)果(數(shù)據(jù))隨后返回,而該網(wǎng)橋作為宿主。但是分割事務(wù)可以導(dǎo)致大的事務(wù)被分解為較小的事務(wù),而跨越網(wǎng)橋被處理的較小的事務(wù)通常比大事務(wù)在使用總線上效率低。
舉例來說,現(xiàn)行的PCI-X規(guī)范草案提供對(duì)分割讀的大小的編程能力(最多4K字節(jié))。此外,該P(yáng)CI-X規(guī)范草案提供一個(gè)設(shè)備或適配器能夠發(fā)出的最大數(shù)目的未解決請(qǐng)求(最多32個(gè)請(qǐng)求),并且還要求該設(shè)備或適配器不經(jīng)過重試接收在一個(gè)總線事務(wù)中未解決的讀完成。一個(gè)總線事務(wù)可以包括一個(gè)地址周期,一個(gè)屬性周期,一個(gè)目標(biāo)響應(yīng)周期,一個(gè)或多個(gè)數(shù)據(jù)周期,以及一個(gè)周轉(zhuǎn)周期。一個(gè)PCI-X到PCI-X(PtP)網(wǎng)橋目前被允許在一個(gè)(1)ADB(一個(gè)ADB是具有128字節(jié)的數(shù)據(jù)塊,該數(shù)據(jù)塊在128字節(jié)地址邊界對(duì)齊)在網(wǎng)橋的緩沖空間中可用時(shí)接收一個(gè)讀完成事務(wù)或延遲內(nèi)存寫事務(wù)。緩沖空間的一個(gè)(1)ADB的可用性可以導(dǎo)致在PtP網(wǎng)橋接收部分讀完成數(shù)據(jù)時(shí)較大的讀完成被分割為較小的讀完成,并且然后被斷開連接。問題在于當(dāng)一個(gè)(1)ADB事務(wù)在網(wǎng)橋中被緩沖,它們將被傳遞給網(wǎng)橋的另一端,并作為單個(gè)ADB傳輸被執(zhí)行。該單個(gè)ADB傳輸降低了總線的有效帶寬,其中數(shù)據(jù)在該總線中被接收和傳遞。
在系統(tǒng)忙時(shí),這問題變得尤其嚴(yán)重。該問題在系統(tǒng)忙時(shí)開始出現(xiàn),并一直存在直到系統(tǒng)變得不太忙。這樣的問題的一個(gè)例子參考圖2被說明。PtP網(wǎng)橋22具有緩沖器以接收并保存來自總線20的數(shù)據(jù)直到網(wǎng)橋22能夠獲得對(duì)另一總線24的訪問并將該數(shù)據(jù)傳遞給最終目的地。圖2顯示了PtP網(wǎng)橋22中需要的緩沖類型,即延遲內(nèi)存寫(PMW)緩沖器30,分割讀完成(SRC)和分割寫完成(SWC)緩沖器32,以及分割讀請(qǐng)求(SRR)和分割寫請(qǐng)求(SWR)緩沖器34。PtP網(wǎng)橋22的事務(wù)類型是延遲內(nèi)存寫(PMW),分割讀完成(SRC),分割寫完成(SWC),分割寫請(qǐng)求(SWR),以及分割寫請(qǐng)求(SWR)。一個(gè)分割完成可以是一個(gè)SRC或SWC,而一個(gè)分割請(qǐng)求可以是一個(gè)SRR或SWR。圖2顯示的緩沖器只被顯示用于從PCI-X總線20(總線#1)到PCI-X總線24(總線#2)的事務(wù)。用于從PCI-X總線24(總線#2)到PCI-X總線20(總線#1)的事務(wù)的類似的緩沖器存在但沒有被顯示在圖2中,因?yàn)閱蝹€(gè)緩沖器組足以描述這個(gè)問題。
該問題可以在PMW緩沖器30或SRC緩沖器32之一中發(fā)生。關(guān)鍵問題是與固定大小的固定緩沖器對(duì)照,管理單個(gè)ADB大小的緩沖器產(chǎn)生的結(jié)果。舉例來說,SRC緩沖器32被設(shè)置為保持2K字節(jié)的數(shù)據(jù)(16個(gè)ADB),并且SRC緩沖器32裝滿了包含4個(gè)獨(dú)立的事務(wù)的數(shù)據(jù),其中每個(gè)事務(wù)包含了4個(gè)ADB。滿的SRC緩沖器32可以是總線#1(總線20)比總線#2(總線24)快或總線#2由于若干個(gè)讀請(qǐng)求變得非常忙的結(jié)果。PtP網(wǎng)橋22被準(zhǔn)許訪問總線#2,PtP網(wǎng)橋22開始傳遞來自SRC緩沖器32中的一個(gè)SRC。當(dāng)數(shù)據(jù)的一個(gè)(1)ADB已經(jīng)被傳遞給總線#2,PtP網(wǎng)橋22開始接收來自總線#1的一個(gè)SRC。由于總線#1比總線#2快,SRC緩沖器32中的可用ADB在網(wǎng)橋22能夠清空到總線#2的第二個(gè)ADB前被填充。因此,網(wǎng)橋22需要在第一個(gè)ADB邊界斷開與總線#1事務(wù)的連接。當(dāng)該序列繼續(xù),其中網(wǎng)橋22傳遞每個(gè)ADB大小的數(shù)據(jù)到總線#2,SRC緩沖器32中的一個(gè)ADB被釋放,該ADB被只有一個(gè)(1)ADB大小的SRC事務(wù)填充,并跟隨一個(gè)斷開連接。由此,網(wǎng)橋22中的SRC緩沖器32被一個(gè)(1)ADB大小的SRC事務(wù)填充,沒有有效利用接收這些被傳遞的事務(wù)的總線。
因此,需要提供用于改進(jìn)PCI-X或PCI網(wǎng)橋性能的緩沖器管理。需要提供一種用于管理跨越PCI-X或PCI網(wǎng)橋的事務(wù)的系統(tǒng)和方法。還需要提供一種系統(tǒng)和方法,該系統(tǒng)和方法等待、增加和/或優(yōu)化用于其大小跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的可用緩沖器,以及用于根據(jù)事務(wù)的大小和可用緩沖空間以優(yōu)化處理各個(gè)事務(wù)的定時(shí)。
因此,本發(fā)明的一個(gè)目標(biāo)是提供用于改進(jìn)PCI-X或PCI網(wǎng)橋性能的緩沖器管理。
本發(fā)明的另一個(gè)目標(biāo)是提供用于管理跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的系統(tǒng)和方法。
本發(fā)明的又一個(gè)目標(biāo)是提供一種系統(tǒng)和方法,該系統(tǒng)和方法等待、增加和/或優(yōu)化用于其大小跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的可用緩沖器,以及用于根據(jù)事務(wù)的大小和可用緩沖空間以優(yōu)化處理各個(gè)事務(wù)的定時(shí)。
上述目標(biāo)以下面描述的方法實(shí)現(xiàn)。用于改進(jìn)PCI-X或PCI網(wǎng)橋性能的緩沖器管理。用于管理跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的系統(tǒng)和方法,以及等待、增加和/或優(yōu)化用于其大小跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的可用緩沖器的系統(tǒng)和方法。事務(wù)在網(wǎng)橋上被處理,而該網(wǎng)橋具有包括實(shí)際可用緩沖空間的緩沖器,用于接收和處理該業(yè)務(wù)。該事務(wù)的大小是確定的。該系統(tǒng)和方法設(shè)置一個(gè)可用空閑塊,該塊是一組可用緩沖空間,該空間將在較大的事務(wù)(多個(gè)ADB)被處理前被釋放。該系統(tǒng)和方法等待實(shí)際可用緩沖空間被釋放并達(dá)到可用空閑塊。當(dāng)該實(shí)際可用緩沖空間達(dá)到可用空閑塊時(shí),該較大的事務(wù)被處理。對(duì)該事務(wù)的處理包括如果該事務(wù)大小不大于實(shí)際可用緩沖空間則接收該事務(wù),當(dāng)事務(wù)的大小小于可用空閑塊但大于實(shí)際可用緩沖空間時(shí),重試該事務(wù)用于被該網(wǎng)橋處理,當(dāng)事務(wù)大小大于可用空閑決并大于可用緩沖空間時(shí)由該網(wǎng)橋重試該事務(wù)直到可用緩沖空間大于或等于可用空閑塊,接收該事務(wù),并且一旦實(shí)際可用緩沖被填滿或在事務(wù)結(jié)束時(shí)斷開連接。
本發(fā)明上述的,以及附加的目標(biāo),特征和優(yōu)點(diǎn)在下面的詳細(xì)描述中將變得顯而易見。
本發(fā)明的新特征載于所附的權(quán)利要求中。但是本發(fā)明本身,以及優(yōu)選的使用模式,進(jìn)一步的目標(biāo)和優(yōu)點(diǎn),通過參考附圖閱讀下面對(duì)一個(gè)實(shí)施例的詳細(xì)描述將被很好地理解,其中
圖1是整個(gè)系統(tǒng)的一個(gè)框圖,該系統(tǒng)用于在計(jì)算機(jī)系統(tǒng)和各種接口設(shè)備間提供改進(jìn)PCI-X性能的緩沖器管理。
圖2是一個(gè)PCI-X到PCI-X(PtP)網(wǎng)橋的例子的框圖,圖示了其中包含的緩沖器。
圖3是關(guān)于在計(jì)算機(jī)系統(tǒng)和各種接口設(shè)備間提供改進(jìn)PCI-X性能的緩沖器管理的算法的一個(gè)流程圖。
本發(fā)明是關(guān)于改進(jìn)PCI-X或PCI網(wǎng)橋性能的緩沖器管理的系統(tǒng)和方法。本發(fā)明公開了等待、增加和/或優(yōu)化用于其大小跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的可用緩沖器,以及用于根據(jù)事務(wù)的大小和可用緩沖空間以優(yōu)化地處理各個(gè)事務(wù)的定時(shí)。本發(fā)明不限于本說明中公開的特定的裝置和方法,任何等待、增加和/或優(yōu)化用于其大小跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的可用緩沖器,以及提供用于根據(jù)事務(wù)的大小和可用緩沖空間以優(yōu)化處理各個(gè)事務(wù)的定時(shí)的合適系統(tǒng)或方法可以被實(shí)現(xiàn)。
現(xiàn)在參考附圖,特別地參考圖1,提供緩沖器管理的整個(gè)系統(tǒng)10被顯示,其中緩沖器管理用于改進(jìn)計(jì)算機(jī)系統(tǒng)11與各種接口設(shè)備26之間的PCI-X的性能。計(jì)算機(jī)系統(tǒng)11具有一個(gè)中央處理單元(CPU)12,存儲(chǔ)控制器14,以及存儲(chǔ)器16。接口設(shè)備26包括設(shè)備D1,D2,D3,…,DN。計(jì)算機(jī)系統(tǒng)11具有外圍主機(jī)總線(PHB)接口18,該接口能夠與PCI-X設(shè)備接口。PHB接口18與PCI-X總線#1(總線20)通訊并通過接口連接。這里為便于描述,由網(wǎng)橋生成的能夠以PCI-X模式工作的PCI總線被稱為PCI-X總線??偩€#1與PCI-X到PCI-X(PtP)網(wǎng)橋22通訊并通過接口連接,而網(wǎng)橋22與PCI-X總線#2(總線24)通訊并通過接口連接。總線#2與各種設(shè)備26通訊并通過接口連接。
現(xiàn)在參考附圖,特別地參考圖2,在總線#1(總線20)與總線#2(總線24)之間通訊和通過接口連接的PtP網(wǎng)橋22被更詳細(xì)地顯示。PtP網(wǎng)橋22具有各種類型的緩沖器。被顯示的緩沖器是延遲內(nèi)存寫(PMW)緩沖器30,分割讀完成(SRC)和分割寫完成(SWC)緩沖器32,以及分割讀請(qǐng)求(SRR)和分割寫請(qǐng)求(SWR)緩沖器34。如前面提到的,PtP網(wǎng)橋22的事務(wù)類型是延遲內(nèi)存寫(PMW),分割讀完成(SRC),分割寫完成(SWC),分割讀請(qǐng)求(SRR),以及分割寫請(qǐng)求(SWR)。一個(gè)分割完成可以是一個(gè)SRC或SWC,而一個(gè)分割請(qǐng)求可以是一個(gè)SRR或SWR。圖2顯示的緩沖器只被顯示用于從PCI-X總線20(總線#1)到PCI-X總線24(總線#2)的事務(wù)。用于從PCI-X總線24(總線#2)到PCI-X總線20(總線#1)的事務(wù)的類似的緩沖器存在但沒有被顯示在圖2中,因?yàn)閱蝹€(gè)緩沖器組足以描述這個(gè)問題。圖2還顯示了一個(gè)可用空閑塊寄存器31,該寄存器可以是固定的或可編程的,以及一個(gè)可用空閑緩沖器計(jì)數(shù)器33,該計(jì)數(shù)器跟蹤可用緩沖器的ADB數(shù)。本發(fā)明不限于這里公開的特定的緩沖器,事務(wù)方向,或事務(wù)類型。任何合適的緩沖器,事務(wù)方向,或事務(wù)類型可以被實(shí)現(xiàn)或與本發(fā)明一起使用。
參考圖1和圖2,系統(tǒng)10被配置以增加和/或優(yōu)化可用緩沖器用于其大小跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù),以及根據(jù)事務(wù)的大小和可用緩沖空間調(diào)度以優(yōu)化地處理各個(gè)事務(wù)。PtP網(wǎng)橋22控制并等待網(wǎng)橋22中的可用緩沖器或緩沖空間使其在處理或傳遞各種事務(wù)前至少具有一個(gè)最優(yōu)的可用空間(諸如可用字節(jié))數(shù)。如圖1和圖2中顯示的系統(tǒng)10的硬件被配置以實(shí)現(xiàn)在事務(wù)中這樣的增加和優(yōu)化。
參考圖1和圖2,事務(wù)大小可以被從1ADB增加到4ADB或更多,其中一個(gè)ADB被定義為具有128字節(jié)的一個(gè)數(shù)據(jù)塊,該數(shù)據(jù)塊在128字節(jié)地址邊界對(duì)齊。事務(wù)大小的增加降低了總線上開銷階段的百分比,因此提高了數(shù)據(jù)傳輸率。本發(fā)明要求網(wǎng)橋22等待緩沖器,諸如SRC緩沖器32,中一組空間(諸如4ADB的空間),在接收部分分割完成并從總線#1斷開連接(即較大事務(wù)的分解)前可用,以保證較大事務(wù)將可用以被傳遞給總線#2,導(dǎo)致對(duì)總線#2更有效的應(yīng)用。
在允許為優(yōu)化的或最好的性能而發(fā)生分解前,系統(tǒng)性能分析或其它裝置可以被用于判斷可用緩沖器的最佳數(shù)目(以ADB為單位)以首先釋放,該最佳數(shù)目是可用空閑塊(AFB)31。AFB的大小是固定的或可編程的。如果事務(wù)大小等于或小于網(wǎng)橋22中可用緩沖器的數(shù)目,該事務(wù)將總是被網(wǎng)橋22接收。如果事務(wù)大小小于AFB,但是大于可用緩沖器數(shù),該事務(wù)將被網(wǎng)橋22重試。在PCI或PCI-X中重試是指目標(biāo)要求訪問,但是在沒有數(shù)據(jù)傳輸?shù)那闆r下斷開連接,要求宿主重復(fù)該訪問直到它隨著數(shù)據(jù)傳輸被接收。如果事務(wù)大小大于AFB,并同時(shí)大于可用緩沖器數(shù),一旦可用緩沖器數(shù)變得大于或等于AFB,該事務(wù)將被接收,但是,一旦可用緩沖器被填滿,或在事務(wù)的結(jié)尾,將被斷開連接(事務(wù)被分解為較小的事務(wù))。最佳的AFB大小隨不同的應(yīng)用類型,系統(tǒng)配置,以及被系統(tǒng)10支持的設(shè)備或適配器而變化。與從總線#2到總線#1發(fā)生的事務(wù)相比,對(duì)于從總線#1到總線#2發(fā)生的事務(wù),AFB的大小也可以是不同的。
此外,方法和軟件算法可以被提供以增加和優(yōu)化跨越PCI-X或PCOI網(wǎng)橋的事務(wù)?,F(xiàn)在參考附圖,特別地參考圖3,用于提供計(jì)算機(jī)系統(tǒng)10和各種接口設(shè)備26之間改進(jìn)的PCI-X性能的緩沖器管理的一種算法27被顯示。本發(fā)明不限于在本說明書中公開的特定算法,任何合適的用于改進(jìn)PCI-X性能的緩沖器管理算法可以與本發(fā)明一起使用。算法27在模塊28開始。在判定模塊29,算法27判斷在緩沖器(諸如在圖2中顯示的緩沖器30,32,或34)中,是否有額外的可用空間,諸如一個(gè)ADB空間,被釋放。如果沒有這樣的空間被釋放,算法27轉(zhuǎn)移到判定模塊38。但是,如果有這樣的額外空間被釋放,算法27轉(zhuǎn)移到模塊36,在其中可用空閑緩沖器計(jì)數(shù)器被增加被釋放的ADB的數(shù)目,并然后轉(zhuǎn)移到判定模塊38。可用空閑緩沖器計(jì)數(shù)器是以ADB為單位計(jì)數(shù)可用緩沖器空間的計(jì)數(shù)器。
在判定模塊38,算法27查找對(duì)網(wǎng)橋22的下一分割完成訪問,該訪問可能正等待緩沖器中實(shí)際可用空間的釋放并達(dá)到可用空閑塊(AFB),該AFB是一組在對(duì)事務(wù)的處理開始前將被釋放的可用緩沖空間(即,ADB數(shù))。如果下一訪問尚未發(fā)生,算法27循環(huán)回判定模塊29以判斷是否緩沖器中額外的緩沖空間再次被釋放。在另一方面,如果對(duì)網(wǎng)橋22的下一訪問已經(jīng)發(fā)生,算法27轉(zhuǎn)移到判定模塊39。
在判定模塊39,算法27判斷是否存在可用緩沖空間。如果有可用緩沖空間,算法27轉(zhuǎn)移到判定模塊40。在另一方面,如果沒有可用空間,事務(wù)在模塊37被重試,算法27通過連接符Y轉(zhuǎn)移到判定模塊29以判斷是否有緩沖空間被釋放。
在判定模塊40,算法27判斷事務(wù)大小是否小于或等于實(shí)際可用緩沖空間數(shù)。如果事務(wù)大小小于或等于實(shí)際可用緩沖空間數(shù),算法27轉(zhuǎn)移到模塊42以接受該事務(wù)并通過連接符Z轉(zhuǎn)移到模塊50,其中可用空閑緩沖器計(jì)數(shù)器被減少由被接收的事務(wù)填充的ADB數(shù)。然后算法27通過連接符循環(huán)回判定模塊29以判斷是否緩沖器中額外的緩沖空間再次被釋放。
在另一方面,如果在判定模塊40,事務(wù)大小不小于或等于實(shí)際可用緩沖空間數(shù),算法27轉(zhuǎn)移到判定模塊44。在判定模塊44,算法27判斷事務(wù)大小是否小于在AFB寄存器中可用空閑塊(AFB)。該AFB寄存器是一個(gè)可編程寄存器,用于指示以AFB數(shù)計(jì)的一個(gè)判定設(shè)置,即,該AFB寄存器被設(shè)置為AFB值,該值是在對(duì)該事務(wù)的處理開始前將被釋放的可用緩沖空間(即若干ADB)的數(shù)目。因此,在判定模塊44,如果事務(wù)大小不小于該AFB,算法27轉(zhuǎn)移到模塊43以判斷可用緩沖器是否大于或等于AFB。如果是,算法27轉(zhuǎn)移到模塊46以接收該事務(wù)并隨后轉(zhuǎn)移到模塊48以在實(shí)際可用緩沖器數(shù)被填充或在事務(wù)傳輸結(jié)束時(shí)從總線(諸如總線#1)斷開連接。算法27然后轉(zhuǎn)移到模塊50以將可用空閑緩沖器計(jì)數(shù)器減少由在其中被接收的事務(wù)填充的ADB的數(shù)目。但是,如果在判定模塊44,事務(wù)大小小于AFB,算法27轉(zhuǎn)移到模塊52,其中網(wǎng)橋22將重試對(duì)宿主的訪問指示以在以后重復(fù)訪問。然后算法27循環(huán)回模塊29以判斷緩沖器中是否有額外的緩沖空間再次被釋放。但是,如果在判定模塊43中可用緩沖器不大于或等于AFB,算法27轉(zhuǎn)移到模塊52,在其中事務(wù)被重試。
因此,本發(fā)明公開了一種關(guān)于等待、增加和/或優(yōu)化用于其大小跨越一個(gè)PCI-X或PCI網(wǎng)橋的事務(wù)的可用緩沖器,以及用于根據(jù)事務(wù)的大小和可用緩沖空間優(yōu)化處理各個(gè)事務(wù)的定時(shí)的系統(tǒng)和方法。
盡管本發(fā)明根據(jù)一個(gè)優(yōu)選實(shí)施例被特別地顯示和描述,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,不偏離本發(fā)明的精神和范圍的各種形式和細(xì)節(jié)上的改變可以被進(jìn)行。
權(quán)利要求
1.用于改進(jìn)PCI-X或PCI網(wǎng)橋性能的緩沖器管理方法,其中事務(wù)跨越該網(wǎng)橋被處理,而且該網(wǎng)橋具有包含實(shí)際可用緩沖空間的緩沖器用于接收和處理事務(wù),包括如下步驟判斷事務(wù)的大小,設(shè)置一可用空閑塊,該塊是一組可用緩沖空間,將在某個(gè)較大事務(wù)被處理前被釋放,等待實(shí)際可用緩沖空間被釋放并達(dá)到可用空閑塊,在實(shí)際可用緩沖空間達(dá)到可用空閑塊時(shí)判斷事務(wù)的大小是否大于實(shí)際可用緩沖空間,如果事務(wù)大小不大于實(shí)際可用緩沖空間則接收該事務(wù),在事務(wù)的大小小于可用空閑塊但大于實(shí)際可用緩沖空間時(shí),由該網(wǎng)橋重試該事務(wù),在事務(wù)大小大于可用空閑塊并大于可用緩沖空間時(shí),由該網(wǎng)橋重試該事務(wù)直到可用緩沖空間大于或等于可用空閑塊,以及接收該事務(wù),并且一旦實(shí)際可用緩沖被填滿或在事務(wù)結(jié)束時(shí)斷開連接。
2.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括如下步驟使用一個(gè)可用空閑塊寄存器用于編程一組可用緩沖空間,這些可用緩沖空間將在某個(gè)較大事務(wù)被處理前被釋放。
3. 根據(jù)權(quán)利要求1的方法,進(jìn)一步包括如下步驟使用一個(gè)可用空閑緩沖器計(jì)數(shù)器用于跟蹤緩沖器中的實(shí)際可用緩沖空間。
4.根據(jù)權(quán)利要求3的方法,其中等待步驟進(jìn)一步包括如下步驟判斷緩沖器中是否有額外緩沖空間已被釋放,如果在緩沖器中額外的緩沖空間被釋放,將由可用空閑緩沖器計(jì)數(shù)器跟蹤的實(shí)際可用緩沖空間增加該額外的緩沖空間,以及判斷下一次訪問是否發(fā)生,以及實(shí)際可用緩沖空間是否已達(dá)到可用空閑塊。
5.根據(jù)權(quán)利要求3的方法,進(jìn)一步包括如下步驟在事務(wù)被接收時(shí),將由可用空閑緩沖器計(jì)數(shù)器跟蹤的實(shí)際可用緩沖空間減少被填充的緩沖空間的數(shù)量。
6.用于改進(jìn)PCI-X或PCI網(wǎng)橋的性能的緩沖器管理方法,其中事務(wù)跨越該網(wǎng)橋被處理,并且該網(wǎng)橋具有包含實(shí)際可用緩沖空間的緩沖器,用于接收并處理該事務(wù),包括如下步驟判斷事務(wù)的大小,設(shè)置一個(gè)可用空閑塊,它是一組可用緩沖空間,將在某個(gè)較大的事務(wù)被處理前被釋放,等待實(shí)際可用緩沖空間被釋放并達(dá)到可用空閑塊,以及,在實(shí)際可用緩沖空間達(dá)到可用空閑塊后處理該事務(wù)。
7.根據(jù)權(quán)利要求6的方法,其中處理步驟進(jìn)一步包含如下步驟如果事務(wù)大小不大于實(shí)際可用緩沖空間則接收該事務(wù),在事務(wù)的大小小于可用空閑塊但大于實(shí)際可用緩沖空間時(shí),重試該事務(wù)用于被該網(wǎng)橋處理,在事務(wù)大小大于可用空閑塊并大于可用緩沖空間時(shí),由該網(wǎng)橋重試該事務(wù)直到可用緩沖空間大于或等于可用空閑塊,以及接收該事務(wù),并且一旦實(shí)際可用緩沖被填滿或在事務(wù)結(jié)束時(shí)斷開連接。
8.用于改進(jìn)PCI-X或PCI網(wǎng)橋的性能的緩沖器管理系統(tǒng),其中事務(wù)跨越該網(wǎng)橋被處理,并且該網(wǎng)橋具有包含實(shí)際可用緩沖空間的緩沖器,用于接收并處理該事務(wù),包括一個(gè)具有PCI-X或PCI接口的計(jì)算機(jī)系統(tǒng),連接到PCI-X或PCI接口的第一PCI-X或PCI總線,連接到PCI-X或PCI總線的PCI-X或PCI網(wǎng)橋,連接到PCI-X或PCI網(wǎng)橋的第二PCI-X或PCI總線,連接到第二PCI-X或PCI總線的設(shè)備,其中該系統(tǒng)設(shè)置一個(gè)可用空閑塊,該空閑塊是一組可用緩沖空間,將在某個(gè)較大的事務(wù)被處理前被釋放,等待實(shí)際可用緩沖空間被釋放并達(dá)到可用空閑塊,并在實(shí)際可用緩沖空間已經(jīng)達(dá)到該可用空閑塊時(shí)處理該事務(wù)。
9.根據(jù)權(quán)利要求8的系統(tǒng),其中系統(tǒng)通過在事務(wù)大小不大于實(shí)際可用緩沖空間的條件下接收該事務(wù),通過在事務(wù)的大小小于可用空閑塊但大于實(shí)際可用緩沖空間的條件下重試該事務(wù)用于被該網(wǎng)橋處理,通過在事務(wù)大小大于可用空閑塊并大于可用緩沖空間的條件下由該網(wǎng)橋重試該事務(wù)直到可用緩沖空間大于或等于可用空閑塊,以及通過接收該事務(wù),并且一旦實(shí)際可用緩沖被填滿或在事務(wù)結(jié)束時(shí)斷開連接,來處理該事務(wù)。
10.根據(jù)權(quán)利要求8的系統(tǒng)進(jìn)一步包括一個(gè)連接到計(jì)算機(jī)系統(tǒng)的可用空閑塊寄存器,其中該可用空閑塊寄存器與可用緩沖空間一起被編程,該可用緩沖空間將在某個(gè)較大事務(wù)被處理前被釋放。
11.根據(jù)權(quán)利要求8的系統(tǒng)進(jìn)一步包括一個(gè)連接到計(jì)算機(jī)系統(tǒng)的可用空閑緩沖器計(jì)數(shù)器,其中可用空閑緩沖器計(jì)數(shù)器用于跟蹤在緩沖器中的實(shí)際可用緩沖空間。
12.根據(jù)權(quán)利要求8的系統(tǒng),其中每個(gè)網(wǎng)橋進(jìn)一步包含用于處理事務(wù)的緩沖器。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中緩沖器是延遲存儲(chǔ)器寫(PostedMemory Write)緩沖器。
14.根據(jù)權(quán)利要求12的系統(tǒng),其中緩沖器是分割讀完成和分割寫完成緩沖器。
15.根據(jù)權(quán)利要求12的系統(tǒng),其中緩沖器是分割讀請(qǐng)求和分割寫請(qǐng)求緩沖器。
16.一個(gè)緩沖器管理系統(tǒng),包括一個(gè)PCI-X或PCI網(wǎng)橋,具有包含實(shí)際可用緩沖空間的緩沖器,用于接收和處理事務(wù),包括判斷該事務(wù)的大小;一個(gè)包含值的寄存器,該值代表一個(gè)可用空閑塊,該空閑塊是一組可用緩沖空間,將在某個(gè)較大事務(wù)被處理前被釋放;以及一個(gè)計(jì)數(shù)器,判斷何時(shí)實(shí)際可用緩沖空間被釋放并達(dá)到可用空閑塊;其中所說的網(wǎng)橋當(dāng)實(shí)際可用緩沖空間已經(jīng)達(dá)到可用空閑塊時(shí)處理該事務(wù)。
全文摘要
用于改進(jìn)PCI-X或PCI網(wǎng)橋性能的緩沖器管理系統(tǒng)和方法。該系統(tǒng)和方法設(shè)置一個(gè)可用空閑塊,該系統(tǒng)和方法等待實(shí)際可用緩沖空間被釋放并達(dá)到可用空閑塊。當(dāng)該實(shí)際可用緩沖空間達(dá)到可用空閑塊時(shí),該較大的事務(wù)被處理;如果該事務(wù)大小不大于實(shí)際可用緩沖空間則接收該事務(wù),當(dāng)事務(wù)大小小于可用空閑塊但大于實(shí)際可用緩沖空間時(shí),重試該事務(wù),當(dāng)事務(wù)大小大于可用空閑塊并大于可用緩部空間時(shí)由該網(wǎng)橋重試該事務(wù)直到可用緩沖空間大于或等于可用空閑塊。
文檔編號(hào)G06F13/10GK1296225SQ00108930
公開日2001年5月23日 申請(qǐng)日期2000年5月17日 優(yōu)先權(quán)日1999年5月18日
發(fā)明者R·A·凱利, D·M·尼爾, L·D·懷特利, A·G·雅內(nèi)斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司