專利名稱::以不一致保護窗口保護所有權(quán)轉(zhuǎn)移的數(shù)據(jù)處理系統(tǒng)和方法
技術(shù)領(lǐng)域:
:本發(fā)明一般地涉及數(shù)據(jù)處理系統(tǒng),并特別地涉及數(shù)據(jù)處理系統(tǒng)中改進的通信。
背景技術(shù):
:常規(guī)的對稱多處理器(SMP)計算機系統(tǒng),例如服務器計算機系統(tǒng),包括全部連接到系統(tǒng)互連的多個處理單元,系統(tǒng)互連典型地包括一個或多個地址、數(shù)據(jù)和控制主線。系統(tǒng)存儲器連接到系統(tǒng)互連,該存儲器代表了多處理器計算機系統(tǒng)中易失性存儲器的最低級別,并且對于所有處理單元的讀寫訪問,該存儲器一般都是可達的。為了減少存在于系統(tǒng)存儲器中的指令和數(shù)據(jù)的訪問等待時間,各個處理單元典型地還受到相應的多級高速緩存層級的支持,較低級別的高速緩存可以由一個或多個處理器核心共享。由于處理單元能夠梯:作的時鐘頻率升高和系統(tǒng)規(guī)^莫的增大,經(jīng)由系統(tǒng)互連的處理單元之間的通信等待時間變成關(guān)鍵的性能考慮。為了滿足這種性能考慮,已經(jīng)提議和/或?qū)崿F(xiàn)了各種互連設計,目的是相對于常規(guī)總線式互連改進性能和可升級性。
發(fā)明內(nèi)容在數(shù)據(jù)處理系統(tǒng)中,多個代理相互之間傳送操作。每個操作包括一個請求和代表對該-清求的全系統(tǒng)響應的組合響應。在該數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)存儲裝置內(nèi),數(shù)據(jù)結(jié)構(gòu)指示該多個代理中每個代理的保護窗口擴展的持續(xù)時間。每個保護窗口擴展是接收到組合響應之后的時段,在該時段內(nèi)該多個代理中的一個關(guān)聯(lián)代理保護代理之間數(shù)據(jù)顆粒(datagranule)的一致性所有權(quán)的轉(zhuǎn)移。通過參考該數(shù)據(jù)結(jié)構(gòu)為該多個代理中的每個代理配置保護窗口擴展的持續(xù)時間,并且該多個代理中的至少兩個代理具有持續(xù)時間不同的保護窗口擴展。此后該多個代理采用配置的保護窗口擴展。本發(fā)明的所有目標,特征和優(yōu)勢在下列詳細寫出的描述中變得4艮明曰么。將在附加權(quán)利要求中列出被認為是本發(fā)明所特有的新穎性特征。然而,在閱讀相關(guān)附圖時,通過參考下列示例性實施例的詳細描述,將最好地理解本發(fā)明以及優(yōu)選使用模式,其中圖1是根據(jù)本發(fā)明的示例性處理單元的高級框圖;圖2是根據(jù)本發(fā)明的示例性數(shù)據(jù)處理系統(tǒng)的高級框圖;圖3是包括請求階段、部分響應階段和組合響應階段的示例性操作的時空圖4是圖2中數(shù)據(jù)處理系統(tǒng)內(nèi)全系統(tǒng)范圍的示例性操作的時空圖;圖5A—圖5C描述了圖4所述的示例性全系統(tǒng)廣播操作的信息流;圖5D—圖5E描述了根據(jù)本發(fā)明的示例性全系統(tǒng)廣播操作的示例性數(shù)據(jù)流;圖6是例示任意數(shù)據(jù)系統(tǒng)拓樸的定時約束的示例性操作的時空圖;圖7A是根據(jù)本發(fā)明第一實施例的包含s配置例程的非易失性存儲器的高級框圖7B是根據(jù)本發(fā)明第一實施例的為數(shù)據(jù)處理系統(tǒng)中的代理設定不一致保護窗口擴展持續(xù)時間的示例性方法的高級邏輯流程圖8A是根據(jù)本發(fā)明第二實施例的包含主s配置例程和代理s配置例程的非易失性存儲器的高級框圖8B是根據(jù)本發(fā)明第二實施例的主代理為數(shù)據(jù)處理系統(tǒng)中的代理設定不一致保護窗口擴展持續(xù)時間使用的示例性方法的高級邏輯流程圖;圖8C是根據(jù)本發(fā)明第二實施例的包含用于計算數(shù)據(jù)處理系統(tǒng)中代理的適當保護窗口擴展持續(xù)時間的系統(tǒng)存儲器的框圖8D是根據(jù)本發(fā)明的第二實施例的數(shù)據(jù)處理系統(tǒng)中每個代理調(diào)用指示到數(shù)據(jù)處理系統(tǒng)中其他代理的尋址和組合響應等待時間的時間戳值集合所使用的示例性方法的高級邏輯流程圖;以及圖8E是根據(jù)本發(fā)明第二實施例的數(shù)據(jù)處理系統(tǒng)中每個代理內(nèi)的指定窺探器針對等待時間測量操作記錄尋址和組合響應時間戳所使用的示例性方法的高級邏輯流程圖。具體實施例方式I.處理單元和^t據(jù)處理系統(tǒng)現(xiàn)在參照附圖并且具體參照圖1,示出了根據(jù)本發(fā)明的處理單元100的示例性實施例的高級框圖。在所述實施例中,處理單元100是一個單個集成電路,包括兩個獨立處理指令和數(shù)據(jù)的處理器核心102a、102b。每個處理器核心102包括至少一個用于取得指令并對其排序以供執(zhí)行的指令排序單元(ISU)104和一個或多個用于執(zhí)行指令的執(zhí)行單元106。執(zhí)行單元106執(zhí)行的指令可以包括,例如,定點和浮點算術(shù)指令、邏輯指令,以及請求對存儲塊的讀寫訪問的指令。多級易失性存儲器層級支持每個處理器核心102a、102b的操作,該層級在其最低級具有一個或多個共享系統(tǒng)存儲器132(圖1中僅示出了一個),在其較高級具有一級或更多級的高速緩沖存儲器。正如所述那樣,處理單元100包括集成存儲控制器(IMC)124,該控制器響應于從處理器核心102a、102b接收的請求和窺探器126在互連結(jié)構(gòu)(下面所述)上窺探到的操作,控制對系統(tǒng)存儲器132的讀寫訪問。在示例性實施例中,處理單元100的高速緩沖存儲器層級包括,每個處理器核心102a、102b內(nèi)的通過式存(store-through)—級(Ll)高速緩存108,和處理單元IOO所有處理器核心102a、102b所共享的二級(L2)高速緩存110。L2高速緩存110包括一個L2陣列和目錄114,主控制器112和窺探器116。響應于從關(guān)聯(lián)處理器核心102a、102b中接收的存儲器訪問(或其他)請求,主控制器112在互連結(jié)構(gòu)上發(fā)起事務并訪問L2陣列和目錄114。窺探器116在互連結(jié)構(gòu)上檢測操作,提供適當響應,并完成#:作所請求的對L2陣列和目錄114的訪問。盡管示例性高速緩存層級只包括兩級高速緩存,本領(lǐng)域普通技術(shù)人員將明白,選擇性的實施例可以包括片上、片外、內(nèi)嵌式(in-line)和旁路讀出式(lookaside)高速緩存的附加等級(L3、L4等等),這些高速緩存可以全包括、部分包括,或不包括更高級高速緩存的內(nèi)容。圖1還示出了,處理單元100包括集成互連邏輯120,通過它可以將處理單元100作為更大數(shù)據(jù)處理系統(tǒng)的一部分連接到互連結(jié)構(gòu)。在所述實施例中,互連邏輯120支持任意數(shù)目tl的"第一層"互連線路,在這種情況下它包括接入和呼出的X、Y、Z線路?;ミB邏輯120還支持任意數(shù)目t2的第二層線路,如圖1中所示的接入和呼出A和B線路。由于這些第一和第二層線路,可以將每個處理單元100連接用于與直至tl/2+t2/2(這種情況下,是五)個其他處理單元100的雙向通信?;ヂ?lián)邏輯120包括在操作的不同階段用于處理和轉(zhuǎn)發(fā)信息的請求邏輯121a、部分響應邏輯121b、組合響應邏輯121c和數(shù)據(jù)邏輯121d。另外,互連邏輯120包括配置寄存器123,該寄存器包括用于配置處理單元100的多個才莫式比特。每個處理單元100還包括響應邏輯122的實例,它實現(xiàn)分布式一致性信令機制的一部分,該機制維持處理單元100的高速緩存層級和其他處理單元100的高速緩存層級之間的高速緩存一致性。最后,每個處理單元100包括支持一個或多個I/O裝置附加的集成I/O(輸入/輸出)控制器128,例如電可插可編程只讀存儲器(EEPROM)130。1/0控制器128可以在X、Y、Z、A和B線路上發(fā)布操作和接收數(shù)據(jù)。根據(jù)本發(fā)明的所述實施例,處理單元100也包括最優(yōu)化數(shù)據(jù)處理系統(tǒng)內(nèi)通信所利用的工具,該^t據(jù)處理系統(tǒng)包括多個處理單元100,例如下面參照圖l所討論的。這些工具包括至少一個s寄存器140,并且在下面參照圖8A—8E所述的本發(fā)明第二實施例中,還包括計時器150、尋址時間戳寄存器152,和組合響應(Cresp)時間戳寄存器154。現(xiàn)在參照圖2,這里描述了根據(jù)本發(fā)明由多個處理單元100構(gòu)成的數(shù)據(jù)處理系統(tǒng)200的示例性實施例框圖。正如示出那樣,數(shù)據(jù)處理系統(tǒng)200包括八個處理節(jié)點202a0-202d0和202al-202dl,在所述實施例中,每一個節(jié)點都實現(xiàn)為包括包含四個處理單元100的封裝的多芯片模塊(MCM)。將每個處理節(jié)點202內(nèi)的處理單元100連接,用于處理器單元的X、Y和Z線路的點對點通信,正如示出那樣。還可以將每個處理單元連接到兩個不同處理節(jié)點202中的處理單元100,用于處理器單元的A和B線路的點對點通信。盡管在圖2中用雙箭頭示出,應該理解,每一對X、Y、Z、A和B線路優(yōu)選地(但不是必須地)實現(xiàn)為單向線^各,而不是雙向線^各。如下給出用于形成圖2所示拓樸的通用表達式對于所有的I#J,節(jié)點[I][K].芯片[J].線路[K]連接到節(jié)點[J][K].芯片[I].線路[K];以及節(jié)點[I][K].芯片[I].線路[K]連接到節(jié)點[I][非K].芯片[I].線路[非K];以及節(jié)點[I][K].芯片[I].線路[非K]:(1)不連接到任何線路,以備將來擴展;或者(2)在所有線路全部使用的情況下(即九個8路節(jié)點形成一個72路系統(tǒng)),連接到節(jié)點[其他][非K].芯片[I].線路[K];以及其中I和J屬于集合(a,b,c,d),并且K屬于集合(A,B〉。當然,能夠定義可選表達式,以便構(gòu)成其他功能上等價的拓樸。此外,應該清楚,所述拓樸是代表性的,而并非窮盡了實施本發(fā)明的數(shù)據(jù)處理系統(tǒng)的拓樸,其他拓樸也是有可能的。在這些可選拓樸中,連接到每個處理單元100的第一層和第二層線路的數(shù)量可以是任意數(shù)量,每一層(即,I)內(nèi)處理節(jié)點202的數(shù)量不需要等于每個處理節(jié)點100(即,J)的處理器單元100的數(shù)量。此外,在一些實施例中,拓樸可以不完全充滿,因為一些處理節(jié)點202或個別處理單元100可以是沒有的、禁用的(例如,由于電源管理和工作負載的原因),或者是無功能的(例如,由于硬件錯誤)。即使完全按照圖2示出的方式連接,所有處理節(jié)點202不需要將每項操作傳送到所有其他處理節(jié)點202。特別地,正如上面記錄的,處理單元100可以在限于它們的處理單元202的范圍中廣播操作,或在一個更大的范圍中廣播操作,例如包括所有處理節(jié)點202的全系統(tǒng)范圍。本領(lǐng)域普通技術(shù)人員將明白,SMP數(shù)據(jù)處理系統(tǒng)100能夠包括許多附加的未示出的組件,例如互連橋接器、非易失性存儲裝置、用于連接網(wǎng)絡或附隨裝置的端口,等等。因為這些附加組件不是理解本發(fā)明所必需的,所以沒有在圖2中將它們示出,這里也沒有進一步地討論它們。II.示例性操作現(xiàn)在參照圖3,這里描述了在圖2的數(shù)據(jù)處理系統(tǒng)200的互連結(jié)構(gòu)上的示例性操作的時空圖。當主控制器300(例如,L2高速緩存110的主控制器112或1/0控制器128內(nèi)部的主控制器)在互連結(jié)構(gòu)上發(fā)布請求302時操作開始。請求302優(yōu)選地包括指示期望訪問類型的至少一種事務類型和指示請求所訪問資源的資源標識符(例如,真實地址)。普通類型的請求優(yōu)選地包括下面表1中列出的。表1<table>tableseeoriginaldocumentpage10</column></row><table>要求破壞其他副本CASTOUT將存儲塊映像從高級存儲器復制到低級存儲器,作為破壞高級副本的準備WRITE請求創(chuàng)建存儲塊新的唯一副本的權(quán)限,不考慮它的現(xiàn)有狀態(tài)并立即將存儲塊映像從高級存儲器復制到低級存儲器,作為破壞高級副本的準備PARTIALWRITE請求創(chuàng)建存儲塊新的唯一副本的權(quán)限,不考慮它的現(xiàn)有狀態(tài)并立即將部分存儲塊映像從高級存儲器復制到低級存儲器,作為破壞高級副本的準備有關(guān)這些操作和促使有效地處理這些操作的示例性高速緩存一致性協(xié)議的更多細節(jié),可以在共同未決的U.S.專利申請11/055,305中找到,以上通過參考將其引入。窺探器304接收請求302,窺探器分布在整個數(shù)據(jù)處理系統(tǒng)200上,例如L2高速緩存110的窺探器116和IMC124的窺探器126。一般而言,作為一些例外,與請求302的主控制器112在相同L2高速緩存110中的窺探器116不窺探請求302(即,一般沒有自我窺探),因為只有在處理單元100不能內(nèi)部地服務于請求302時,才在互連結(jié)構(gòu)上發(fā)送請求302。接收和處理請求302的窺探器304各自提供代表至少該窺探器304對請求302的響應的各部分響應306。IMC124內(nèi)的窺探器126例如基于窺探器126是否負責請求尋址以及它是否具有可用來服務于請求的可用資源,確定要提供的部分響應306。L2高速緩存110的窺探器116可以例如基于它的L2高速緩存目錄114的可用性,處理請求的窺探器116內(nèi)的窺探邏輯實例的可用性,以及與L2高速緩存目錄114中請求尋址相關(guān)聯(lián)的一致性狀態(tài),確定它的部分響應306。通過響應邏輯122的一個或多個實例分階段地或一次性地將窺探器304的部分響應306邏輯地組合,以^更確定對請求302的組合響應(CR)310。在下文中將呈現(xiàn)的一個優(yōu)選實施例中,負責生成組合響應310的響應邏輯122的實例位于包含發(fā)布請求302的主控制器300的處理單元100中。響應邏輯122經(jīng)由互連結(jié)構(gòu)向主控制器300和窺探器304提供組合響應310,以便指示對請求302的響應(例如,成功、失敗、重試,等等)。如果CR310指示請求302成功,那么CR310可以指示,例如,所請求存儲塊的數(shù)據(jù)資源、主控制器300將所請求存儲塊高速緩存于其中的高速緩存狀態(tài),以及是否要求使一個或多個L2高速緩存110中的所請求存儲塊無效化的"清除"操作。響應于收到組合響應310,為了服務于請求302,—個或多個主控制器300和窺探器304典型地完成一個或多個操作。這些操作可以包括向主控制器300供給數(shù)據(jù)、使一個或多個L2高速緩存110中高速緩存的數(shù)據(jù)的一致性狀態(tài)無效或?qū)ζ溥M行更新、完成剔出(castout)操作、向系統(tǒng)存儲器132回寫數(shù)據(jù),等等。如果請求302要求,在響應邏輯122生成組合響應310之前或之后,可以向主控制器300發(fā)送所請求或目標存儲塊,或從主控制器300中發(fā)送所請求或目標存儲塊。在下列描述中,參照窺探器針對請求所指定的請求尋址是一致性最高點(HPC)、一致性最低點(LPC)、或兩者都不是,描述了窺探器304對請求302的部分響應和響應于請求302和/或它的組合響應310由窺揭:器304完成的操作。這里將LPC定義充當存儲塊資料庫的存儲裝置或I/O裝置。在存儲塊缺少HPC時,LPC掌握存儲塊的真實映像并有權(quán)準予或拒絕生成存儲塊的附加高速緩存副本的請求。對于圖1和圖2的數(shù)據(jù)處理系統(tǒng)實施例中的典型請求,LPC將是掌握所涉及存儲塊的系統(tǒng)存儲器132的存儲控制器124。這里將HPC定義為唯一識別的裝置,其對存儲塊的真實映像進行高速緩存(它可以與LPC上相應的存儲塊相一致也可以不一致),并有權(quán)準予或拒絕修改存儲塊的請求。說明性地,HPC也可以響應于不修改存儲塊的操作向請求者提供存儲塊副本。因而,對于圖1和圖2的數(shù)據(jù)處理系統(tǒng)實施例中的典型請求,如果存在HPC,HPC將是L2高速緩存110。盡管可以利用其他指示器指定存儲塊的HPC,本發(fā)明的優(yōu)選實施例利用L2高速緩存110的L2高速緩存目錄114內(nèi)的高速緩存一致狀態(tài)來指定存儲塊的HPC(如果有HPC)。仍然參照圖3,如果需要,請求302中所涉及的存儲塊的HPC(如果有),或在缺少HPC時,存儲塊的LPC,響應于請求302,優(yōu)選地負責保護存儲塊所有權(quán)的轉(zhuǎn)移。在圖3所示的示例性情形中,在從窺探器304n確定它的部分響應的時間一直擴展到窺探器304n接收到組合響應310的時間的保護窗口312a期間,以及在窺探器304n收到組合響應310之后擴展可編程時間的繼起窗口擴展312b期間,請求302的請求尋址所指定的存儲塊的HPC(或缺少HPC時,LPC)上的窺探器304n保護所請求存儲塊所有權(quán)到主控制器300的轉(zhuǎn)移。在保護窗口312a和窗口擴展312b期間,窺探器304n,通過對其他指定相同請求尋址的請求提供部分響應306來保護所有權(quán)轉(zhuǎn)移,該部分響應防止其他主控制器獲得所有權(quán)(例如,重試部分響應),直到所有權(quán)成功地轉(zhuǎn)移到主控制器300。主控制器300在接收到組合響應310之后同樣地啟動保護窗口313,以便保護它對請求302中所請求的存儲塊的所有權(quán)。因為窺探器304均具有處理上述CPU和I/O請求的有限資源,可能發(fā)生幾種不同級別的部分響應或相應的CR。例如,負責所請求存儲塊的存儲控制器124內(nèi)的窺探器126具有一個可用于處理請求的隊列,窺探器126可以做出部分響應,該響應指示了它能夠充當該請求的LPC。另一方面,如果窺探器126沒有可用于處理請求的隊列,窺探器126可以做出部分響應,該響應指示了它存儲塊的LPC,但當前不能服務于該請求。類似地,L2高速緩存110中的窺探器116可以為了處理請求要求窺探邏輯的可用實例并要求訪問L2高速緩存目錄114。不能訪問這些資源中任一個(或兩者)導致發(fā)送部分響應(以及相應的CR),以便信號通知由于沒有需要的資源而不能服務于請求。III.示例性操作的廣播流程現(xiàn)在參照圖4,將結(jié)合圖5A—5C描述圖4,這里例示了圖2中數(shù)據(jù)處理系統(tǒng)200的全系統(tǒng)范圍內(nèi)的操作的示例性操作流程的時空圖。在這些圖中,數(shù)據(jù)處理系統(tǒng)200內(nèi)不同處理單元100標有兩個地址標識符一第一個標識了處理單元100所屬的處理節(jié)點202,第二個標識了處理節(jié)點202內(nèi)的特定處理單元100。因而,例如,處理單元100a0c意指處理節(jié)點202a0的處理單元100c。另外,每個處理單元100標有功能標識符,該標識符指示它相對于參與操作的其他處理單元100的功能。這些功能標識符包括(1)本地主控制器(LM),它指明發(fā)起操作的處理單元100,(2)本地中心(LH),它指明與本地主控制器在同一處理節(jié)點202中的處理單元100,并且該處理單元100負責將才喿作發(fā)送到另一個處理節(jié)點202的響應(本地主控制器也能夠作為本地中心),(3)遠端中心(RH),它指明與本地主控制器在不同處理節(jié)點202中的處理單元100,并且該處理單元100負責將操作分發(fā)到它的處理節(jié)點202中其他處理單元100,以及(4)遠端葉(RL),它指明與本地主控制器在不同的處理節(jié)點202中的處理單元100,并且該處理單元100不是遠端中心。如圖4所示,示例性操作具有至少3個以上參照圖3所述的階段,即,請求(或取址)階段、部分響應(Presp)階段,和組合響應(Cresp)階段。這三個階段優(yōu)先地以前述的順序發(fā)生并且不重疊。操作可以額外地具有數(shù)據(jù)階段,它可以任意地與請求階段、部分響應階段和組合響應階段中任一個重疊。仍然參照圖4并額外的參照圖5A,在本地主控制器100a0c(例如,處理節(jié)點202a0的處理單元100c)完成請求如讀請求到它的處理節(jié)點202a0內(nèi)的每一個本地中心100a0a、100a0b、100a0c和100a0d。的同步廣播時,請求階段開始。應該注意到,本地中心列表包括本地中心100a0c,它同時是本地主控制器。正如以下所述,有利地采用這種內(nèi)部發(fā)送,使本地中心100a0c的操作與本地中心100a0a、100a0b、100a0d同步,使得能夠更容易地滿足下面討論的定時約束。響應于接收到請求,通過其A或B線路連接到遠端中心100的每一個本地中心100將才喿作發(fā)送到它的遠端中心100。因而,本地中心100a0a不在它的呼出A線路上發(fā)送操作,而是經(jīng)由它的呼出B線路將4喿作發(fā)送到處理節(jié)點202al內(nèi)的遠端中心。本地中心100a0b,100a0c和100a0d分別經(jīng)由它們各自的呼出A和B線路將操作發(fā)送到處理節(jié)點202b0和202bl、處理節(jié)點202c0和202cl,以及處理節(jié)點202d0和202dl的遠端中心。每一個接收操作的遠端中心IOO接著將操作發(fā)送到它的處理節(jié)點202中每個遠端葉100。因而,例如,本地中心lOObOa將操作發(fā)送到其他遠端葉100bOb、100bOc,和100bOd。以這種方式,利用不超過三條線路上的發(fā)送,有效地將操作廣播到數(shù)據(jù)處理系統(tǒng)200內(nèi)全部的處理單元100。請求階段之后,部分響應階段(Presp)發(fā)生,如圖4和圖5B所示。在部分響應階段中,每個遠端葉IOO評價操作并將它對操作的部分響應提供給它相應的遠端中心100。例如,遠端葉100bOb、100bOc和lOObOd將它們各自的部分響應發(fā)送到遠端中心100b0a。每個遠端中心100接著將這些部分響應以及它們自己的部分響應發(fā)送到本地中心lOOaOa、100aOb、100aOc和100aOd中相應的一個本地中心。然后本地中心lOOaOa、100aOb、100aOc和100aOd將這些部分響應以及它們自己的部分響應廣播到處理節(jié)點202a0中的每個本地中心100。參照圖5B應該注意到,由于定時的原因,處理節(jié)點202a0中本地中心100進^f亍的部分響應的廣播包括,每個本地中心100對它自己的部分響應的自我廣播。將要明白,可以以多種不同途徑實現(xiàn)按照示出方式進行的對部分響應的收集。例如,可以將個別的部分響應從每個其他的本地中心、遠端中心和遠端葉傳送回到每個本地中心。作為選擇,為了更高的效率,可能期望在部分響應被傳送回到本地中心時對它們進行累計。為了確保將每個部分響應的效果準確地傳送回到本地中心100,優(yōu)選地是完全以一種非破壞性的方式,例如,利用邏輯或功能和某種編碼方式(其中在利用這種功能時沒有相關(guān)信息丟失(例如,"獨熱(one-hot)"編碼))來累計部分響應。如圖4和圖5C進一步所示出地,處理節(jié)點202a0內(nèi)每個本地中心100上的響應邏輯122編譯其他處理單元100的部分響應,以〗更獲得代表對請求的全系統(tǒng)響應的組合響應。然后本地中心100a0a—100a0d沿著與請求階段所采用的相同分發(fā)路徑,將組合響應廣播到所有處理單元100。因而,首先將組合響應廣播到遠端中心100,遠端中心接著將組合響應發(fā)送到它們各自的處理節(jié)點202內(nèi)的遠端葉100。例如,遠端中心100a0b將組合響應發(fā)送到遠端中心100b0a,遠端中心100b0a接著將組合響應發(fā)送到遠端葉100b0b、100b0c和100b0d。如以上所述,服務于操作可以要求附加的數(shù)據(jù)階段,例如圖5D或圖5E所示。例如,如圖5D所示,如果操作是讀類型操作,例如讀或RWITM才喿作,遠端葉100b0d可以經(jīng)由將遠端葉100b0d連接到遠端中心100b0a、將遠端中心100b0a連接到本地中心100a0b、以及將本地中心100a0b連接到本地主控制器100a0c的線路,向本地主控制器100a0c提供所請求存儲塊資源。相反地,如果操作是寫類型操作,例如,將已修改存儲塊回錄到遠端葉100b0b的系統(tǒng)存儲器132的高速緩存剔出操作,則經(jīng)由將本地主控制器100a0c連接到本地中心100a0b、將本地中心100a0b連接到遠端中心100b0a、以及將遠端中心100b0a連接到遠端葉100b0b的線路,發(fā)送存儲塊,如圖5E所示。當然,圖4和圖5A—E所述操作僅僅是無數(shù)可能的全系統(tǒng)操作的示例,該操作可以在例如數(shù)據(jù)處理系統(tǒng)200的多處理器數(shù)據(jù)處理系統(tǒng)中并4亍地發(fā)生。IV.計時考慮如上面參照圖3所述地,在可能存在其他主控制器竟爭相同存儲塊的所有權(quán)的情況下,通過保護窗口312a、窗口擴展312b、和保護窗口313,在存儲塊一致性所有權(quán)從窺探器304n向請求主控制器300的"移交"期間,維持一致性。例如,如圖6所示,保護窗口312a和窗口擴展312b都必須是足夠長的持續(xù)時間,以便在存在竟爭主控制器(CM)320的竟爭請求322的情況下,保護從窺探器304n到獲勝主控制器(WM)300的所請求存儲塊(也稱為數(shù)據(jù)顆粒)的一致性所有權(quán)轉(zhuǎn)移。為了確保保護窗口312a和窗口擴展312b具有足夠長的持續(xù)時間,以便保護從窺探器304n到獲勝主控制器300的所請求存儲塊一致性所有權(quán)轉(zhuǎn)移,優(yōu)選地約束根據(jù)圖4A和圖4B處理單元100之間的通信等待時間,以便滿足下列條件A—lat(CM_S)《A—lat(CM—WM)+C一lat(WM一S)+s,或者可選地表示為,5>AJat(CM—S)-(A一lat(CM—WM)+C一lat(WM一S))這里A—lat(CM—S)是任何竟爭主控制器(CM)320到擁有所請求存儲塊一致性的窺探器(S)304n的尋址等待時間,A_lat(CM_WM)是任何竟爭主控制器(CM)320到窺探器304n授予一致性所有權(quán)的"獲勝"主控制器300(WM)的尋址等待時間,CJat(WM一S)是從獲勝主控制器(WM)300接收到組合響應的時間到擁有所請求存儲塊的窺探器(S)304n接收到組合響應的時間的組合響應等待時間,以及s是窗口擴展312b的持續(xù)時間。如果不滿足前述的適用于任意拓樸的系統(tǒng)的時間約束,竟爭主控制器320的請求322可能(1)在獲勝主控制器300取得一致性所有權(quán)和啟動保護窗口312b之前由獲勝主控制器300接收,以及(2)在保護窗口312a和窗口擴展312b結(jié)束之后由窺探器304n接收。在這些情況下,獲勝主控制器300和窺探器304n都不能提供對竟爭請求322的部分響應,所述部分響應防止竟爭主控制器320取得存儲塊一致性所有權(quán)以及從存儲器中讀取不一致的數(shù)據(jù)。但是,為了避免這種一致性錯誤,能夠?qū)⒋翱跀U展312b可編程地(例如,通過配置寄存器123的適當設置)設置為一個長度(s),以便補償?shù)却龝r間差異或未能滿足維持一致性所必須滿足的時間約束的實際實現(xiàn)的缺點。因此,通過求解上面等式的s,能夠確定在任何實現(xiàn)中的每個代理(例如,處理單元IOO)的窗口擴展312b的理想長度。將能夠理解,基于代理間物理連接長度的差異(例如,A、B以及X、Y和Z線路的長度差異)以及拓樸中存在或缺少不同處理單元100和/或處理節(jié)點202,代理間窗口擴展312b的理想長度將不同(是不一致的)。優(yōu)選的是針對每個代理最優(yōu)化窗口擴展312b的持續(xù)時間,而不是對所有代理應用最壞情況的(最長的)持續(xù)時間,以便減少系統(tǒng)中重試請求的數(shù)量,從而保護一致性所有權(quán)的轉(zhuǎn)換。可以做出關(guān)于前述定時約束的幾種觀察。第一,從竟爭主控制器320到擁有窺探器304a的尋址等待時間不需要有下限,但是必須具有上限。在給定最大可能振蕩器漂移,連接處理單元100的最長線路,累加停頓的最大數(shù)量以及有保證的最壞情況下的吞吐量及其他條件的情況下,通過確定可達到的最壞情況等待時間來設計上限。為了確保觀察到上限,互連結(jié)構(gòu)必須確保不阻塞的行為。第二,從竟爭主控制器320到獲勝主控制器300的尋址等待時間不需要有上限,但必須具有下限。在給定不存在停頓,處理單元100之間可能的最短線路,以及給出特定靜態(tài)配置的最慢振蕩器漂移的情況下,通過可達到的最好情況等待時間確定下限。盡管對于給定的操作,每個獲勝主控制器300和竟爭主控制器320對于它們各自的請求只有一個定時限度,應該理解,在操作過程期間,任何處理單元100可以是一些操作的獲勝主控制器,同時是其他操作的竟爭(和失敗)主控制器。因此,每個處理單元100的尋址等待時間事實上具有一個上限和一個下限。第三,從生成組合響應的時間到獲勝主控制器300觀察到組合響應間到達獲勝主控制器300),但必須具有上限。對比地,從生成組合響應的時間直到窺探器304n接收到組合響應的時間的組合響應等待時間具有下限,但不需要具有上限(盡管可以任意地利用一個上限,以便限制運行中并發(fā)操作的數(shù)量)。第四,在部分響應等待時間上沒有任何約束。也就是說,因為上面列舉的定時約束的所有條件都有關(guān)于請求/尋址等待時間和組合響應等待時間,窺探器304和竟爭主控制器320到獲勝主控制器300的部分響應等待時間不需要具有上限或下限。V.配置保護窗口擴展持續(xù)時間的第一實施例才艮據(jù)本發(fā)明的第一實施例,基于實際采用多個可能數(shù)據(jù)處理系統(tǒng)拓樸中的哪種拓樸,預先確定每個代理的窗口擴展312b的持續(xù)時間。根據(jù)本發(fā)明的第一實施例以及如圖7A所示,數(shù)據(jù)處理系統(tǒng)200內(nèi)的非易失性數(shù)據(jù)存儲裝置,例如EEPROM130(也在圖1中示出),包含程序代碼(例如,s配置例程700)和包含多組可能的窗口擴展持續(xù)時間的數(shù)據(jù)結(jié)構(gòu)(例如,s表702)。根據(jù)圖7B所述處理,通過參照Epsilon表702中指定的多組窗口擴展持續(xù)時間中的一個,s配置例程700配置每個代理中的e寄存器140。現(xiàn)在參照圖7B,根據(jù)本發(fā)明第一實施例,這里描述了為數(shù)據(jù)處理系統(tǒng)200中的代理設置不一致保護窗口擴展的持續(xù)時間的示例性處理的高級邏輯流程圖。例如,在系統(tǒng)啟動時,響應于未示出的數(shù)據(jù)處理系統(tǒng)200的引導軟件調(diào)用數(shù)據(jù)處理系統(tǒng)200內(nèi)的主控制器處理單元100對s配置例程700的執(zhí)行,處理開始于框710。下一步,在框712上,s配置例程700例如基于哪些處理單元100和處理節(jié)點202在數(shù)據(jù)處理系統(tǒng)200中是存在的并有功能的,X、Y、Z以及A和B線路的物理長度,以及其他可能的因素確定數(shù)據(jù)處理系統(tǒng)200的配置。在一種實現(xiàn)中,通過參照預先確定的存儲器位置(例如,在處理器寄存器或系統(tǒng)存儲器132中)做出在框712上所示例的確定,該位置載有代表數(shù)據(jù)處理系統(tǒng)200的系統(tǒng)配置的值。下一步,在框714上,s配置例程700瀏覽s表702,以便為框712上確定的系統(tǒng)配置定位特定s值集。如上面所提到的,s表702優(yōu)選地包括數(shù)據(jù)處理系統(tǒng)200的每種可能的合理配置的相應的s值集。可以例如通過先驗設計分析或在利用關(guān)于圖8A—8E所述的方法的實驗室測試或模擬測試期間確定s表702中已記錄的s值集。響應于在s表702中定位適當?shù)膕值集,s配置例程700將s值(即,窗口擴展312b的持續(xù)時間)寫入每個處理單元IOO的s寄存器140(框716)。經(jīng)由瀏覽鏈寫操作或其他公知的芯片配置機制能夠完成寫操作。用于配置窗口擴展312b持續(xù)時間的示例性處理然后終止于框718。此后,每個處理單元100中的所有窺探器利用該處理單元100的s寄存器140中指定的窗口擴展持續(xù)時間來保護一致性所有權(quán)的轉(zhuǎn)移。可以理解,盡管已經(jīng)參照一種示例性實現(xiàn)描述了本發(fā)明第一實施例,在該示例性實現(xiàn)中非易失性存儲裝置內(nèi)的e配置例程通過參照數(shù)據(jù)存儲裝置內(nèi)的普通數(shù)據(jù)結(jié)構(gòu)(例如s表)設置每個代理的s持續(xù)時間,《旦第一實施例的其他實現(xiàn)也是可能的。例如,可選地,可以以硬件形式(例如,以PLA的形式)實現(xiàn)s配置例程的功能。此外,包含代理的保護窗口擴展持續(xù)時間的數(shù)據(jù)結(jié)構(gòu)可以分布在數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)存儲裝置內(nèi)的多個位置中。VI.用于配置保護窗口擴展持續(xù)時間的第二實施例根據(jù)本發(fā)明的第二實施例,在系統(tǒng)操作期間基于數(shù)據(jù)處理系統(tǒng)200中觀察到的等待時間,動態(tài)地確定每個代理的窗口擴展312b的持續(xù)時間。根據(jù)本發(fā)明的這個第二實施例以及如圖8A所示,數(shù)據(jù)處理系統(tǒng)200內(nèi)的非易失性存儲器,例如EEPROM130(也在圖1中示出),包含數(shù)據(jù)由數(shù)據(jù)處理系統(tǒng)200中每個處理單元100所4丸行的代理s配置例程800和只由數(shù)據(jù)處理系統(tǒng)200的單個主處理單元100所執(zhí)行的主s配置例程802。根據(jù)圖8B、8D和8E所述的處理,主s配置例程802通過參照數(shù)據(jù)處理系統(tǒng)200內(nèi)觀察到的實際操作等待時間,配置每個代理(例如,處理單元100)中的s寄存器140。現(xiàn)在參照圖8B,這里示例了根據(jù)本發(fā)明的第二實施例主處理單元100為數(shù)據(jù)處理系統(tǒng)200中的代理設置不一致保護窗口擴展持續(xù)時間所使用的示例性方法的高級邏輯流程圖。正如示例,在系統(tǒng)啟動之后例如,響應于未示出的數(shù)據(jù)處理系統(tǒng)200的引導軟件調(diào)用每個數(shù)據(jù)處理系統(tǒng)200內(nèi)的所有處理單元100對代理s配置例程800的才丸行以及數(shù)據(jù)處理系統(tǒng)200中的單個主處理單元100對主e配置例程802的執(zhí)行,處理開始于框810。下一步,在框812上,主s配置例程802初始化并開始每個處理單元100內(nèi)的計時器150,使得所有計時器150以預先確定的速率單調(diào)增加(或減少),以便向所有處理單元IOO提供共同的同步時間標準。另外,主s配置例程802初始化系統(tǒng)存儲器132中的多個數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)用于記錄在數(shù)據(jù)處理系統(tǒng)200內(nèi)不同代理上觀察到的等待時間。如圖8C所述,在一個示例性實施例中,這些數(shù)據(jù)結(jié)構(gòu)包括一張N+N的尋址等待時間表840,該表針對數(shù)據(jù)處理系統(tǒng)200中存在的和有功能的N個代理中的每一個,包含從該代理到數(shù)據(jù)處理系統(tǒng)200中每個代理的尋址(即,請求)等待時間的欄目842。另外,系統(tǒng)存儲器132中的數(shù)據(jù)結(jié)構(gòu)包括一張N*N的Cresp等待時間表844,該表對于N個代理中的每一個,包含從該代理到數(shù)據(jù)處理系統(tǒng)200中每個代理的Cresp等待時間的欄目846。這些數(shù)據(jù)結(jié)構(gòu)還包括第一1*N的標記矢量850,該標記矢量對于每個代理,包含該代理啟動等待時間測量操作的標記852,并且還包4舌1*N的s矢量854,該矢量對于每個代理包含一個s字段856。優(yōu)選地將尋址等待時間表840和Cresp等待時間表844中的所有條目初始化為一個特定值(例如,是所有值的最大值),使得能夠?qū)⒁褜戇^的條目與沒有寫過的條目區(qū)分開。同樣優(yōu)選地將標記矢量850中的條目初始化為復位狀態(tài)。對表840、844和矢量850和854的所有讀寫訪問優(yōu)選地是不可高速緩存(例如,高速緩存禁止)訪問。將這些寫操作執(zhí)行為不可高速緩存操作允許這些寫操作只涉及代理對系統(tǒng)存儲器132和相關(guān)聯(lián)的IMC124而不涉及L2高速緩存110,該L2高速緩存還沒有配置維持存儲器一致性的s值。再次參照圖8B,開始等待時間測量,主s配置例程802在標記矢量850中設置代理1(優(yōu)選地是主處理單元100本身)的標記852,以便引起主處理單元100的代理s配置例程800在互連結(jié)構(gòu)上將等待時間測量操作廣播到所有處理單元100(框814)。主s配置例程802然后等待時間Tl,如框816所示,為了使系統(tǒng)中出現(xiàn)的每個處理單元100的代理s配置例程800完成圖8D中所述處理。在時間Tl逝去之后,主s配置例程802然后通過確定代理s配置例程800是否已經(jīng)填滿了表840和844中的所有條目,測試所有代理s配置例程800是否已經(jīng)完成它們的處理(框818)。如果沒有,主s配置例程802再次在框816上等待并重復框818所述測試。因而反復地完成框818和816,直到框818所述測試有了一個肯定的結(jié)果,該結(jié)果指示了所有代理s配置例程800完成執(zhí)行。此后,處理轉(zhuǎn)到框822—826,其描述了主s配置例程802對尋址等待時間表840和Cresp等待時間表844中記錄的原始數(shù)據(jù)進行處理???22例示了主s配置例程802從相同欄842或846中所有表條目中減去沿著每個表840和844的對角線所記錄的基本時間戳,以便標準化原始時間戳數(shù)據(jù)。例如,從尋址等待時間表840的代理1的尋址等待時間欄842的所有尋址等待時間條目中減去代理1到代理1的尋址等待時間時間戳,從尋址等待時間表840的代理N的尋址等待時間欄842的所有尋址等待時間條目中減去代理N到代理N的尋址等待時間時間戳。類似地,從Cresp等待時間表844的代理1的Cresp等待時間欄842的所有Cresp等待時間條目中減去將代理1到代理1的Cresp等待時間時間戳,從Cresp等待時間表844的代理N的Cresp等待時間欄842的所有Cresp等待時間條目中減去代理N到代理N的Cresp等待時間時間戳。通過這種處理,將根據(jù)圖8D所示處理記錄在表840和844內(nèi)的時間戳分別轉(zhuǎn)換成尋址等待時間和Cresp等待時間。下一步,在框824上,對于根據(jù)等式記錄在表840和844中的所有可能的竟爭主控制器(CM)和獲勝主控制器(WM)的組合,主s配置例程802計算下面的等式,以便確定每個給定尋址或Cresp等待時間的代理的最大s:s〉A(chǔ)—lat(CM_S)-(A—lat(CM一WM)+C—lat(WM_S》主£配置例程802將每個代理(例如處理單元100)的最大s記錄在s矢量854中。如框826所示,主s配置例程802然后在記錄在s矢量854中的每個s值增加一個小修正因數(shù),以便考慮定時抖動,例如,這種定時抖動的原因是請求經(jīng)由處理單元100的內(nèi)部信號路徑的通信等待時間不同或引起操作之間定時變化的其他定時因素。在框826之后,處理轉(zhuǎn)到框828,框828描述了主s配置例程802將適當?shù)膕值(即,窗口擴展312b的持續(xù)時間)從s矢量854中寫入每個處理單元100的s寄存器140。經(jīng)由掃描鏈寫操作或其他公知芯片配置機制完成框828所述寫操作。此后,配置窗口擴展312b持續(xù)時間的示例處理然后終止于框830。此后,每個處理單元100中的所有窺探器利用該處理單元100的s寄存器140中指定的窗口擴展312b的持續(xù)時間,以便保護一致性所有權(quán)轉(zhuǎn)移。現(xiàn)在參照圖8D,這里示出了根據(jù)本發(fā)明的第二實施例,數(shù)據(jù)處理系統(tǒng)中每個代理(例如,處理單元100)調(diào)用指示了到數(shù)據(jù)處理系統(tǒng)中其他代理的尋址和組合響應等待時間的時間戳值的集合所使用的示例性方法的高級邏輯流程圖。系統(tǒng)啟動之后,響應于數(shù)據(jù)處理系統(tǒng)200內(nèi)的未示出引導軟件對代理e配置例程800的調(diào)用,處理開始于框860。如框862所示,代理e配置例程800然后等待時間T2,之后在框864測試它的代理在標記矢量850內(nèi)的關(guān)聯(lián)標記852是否設置為指示了輪到該代理通過發(fā)布等待時間測量操作調(diào)用等待時間數(shù)據(jù)集合。理想的是,代理連續(xù)地發(fā)布這種操作,以避免并行操作充滿系統(tǒng)、潛在地增加操作等待時間和不必要地增加保護窗口擴展312b的持續(xù)時間。響應于框864處確定沒有設置該代理的標記852,處理返回框862,反復地重復框864和862直到框864做出肯定的確定。響應于在框864處確定在標記矢量850中設置代理標記852,處理轉(zhuǎn)到框868。在框868上,代理s配置例程800將特定等待時間測量請求廣播到數(shù)據(jù)處理系統(tǒng)200內(nèi)所有代理,以便觸發(fā)在尋址等待時間表840和Cresp等待時間表844的相應條目內(nèi)記錄指示了每個代理的尋址等待時間和Cresp等待時間的時間戳。優(yōu)選地,同樣通過將包含在請求中的特定事務類型(ttype)來同樣地識別等待時間測量請求。在發(fā)布了等待時間測量請求之后,代理s配置例程800等待時間T3,如框870所示,以便準許所有窺探代理將他們的時間戳寫入表840和844。此后代理s配置例程800在框872檢驗是否在尋址等待時間表840和Cresp等待時間表844內(nèi)的它的代理的欄中的所有條目都已用等待時間時間戳而不是用其被初始化的特定值所填充。在框872之后,代理s配置例程800在框874確定它的代理是否是代理N(即,最后一個代理)。如果是,圖8D所述處理終止于框880。另一方面,如果代理s配置例程800在框878中確定它的代理不是代理N,代理s配置例程800順次設置下一個代理的標記852,如框876所示,以便調(diào)用下一個代理完成框864和之后的框所示的步驟。此后處理終止于框880?,F(xiàn)在參照圖8E,這里示出了根據(jù)本發(fā)明的第二實施例,數(shù)據(jù)處理系統(tǒng)中每個代理內(nèi)的指定窺探器記錄等待時間測量操作的尋址和組合響應時間戳所使用的示例性方法的高級邏輯流程圖。示例處理開始于框882,然后進入框884,框884描述了代理中的指定窺探器(例如,窺探器116中所指定的一個窺探器)接收數(shù)據(jù)處理系統(tǒng)200中的代理發(fā)送的全局廣播等待時間測量請求。如框866所示,響應于接收到等待時間測量請求,指定窺探器在它的本地尋址時間戳寄存器152內(nèi)記錄它接收到等待時間測量請求時它的計時器150的時間戳。指定窺探器然后提供部分響應(例如,零信號),如框888所示,并等候接收到等待時間測量操作的組合響應(Cresp),如框890所示。響應于接收到等待時間測量操作的Cresp,指定窺探器也將它的計時器150的時間戳記錄到Cresp時間戳寄存器154內(nèi)(框892)。指定窺探器然后啟動高速緩存禁止(cache-inhibited)寫操作,以便將它的尋址時間戳寄存器152中的時間戳寫入尋址等待時間表840的相應條目中,以及將它的Cresp時間戳寄存器154中的時間戳寫入尋址等待時間表840的相應條目中。此后,圖8E所述處理終止于框896??梢岳斫?,盡管已經(jīng)參照一種示例性實現(xiàn)描述了本發(fā)明的第二實施例,在該示例性實現(xiàn)中非易失性存儲裝置內(nèi)的主s配置例程和代理s配置例程通過參照觀察到的等待時間配置每個代理的s持續(xù)時間,但第二實施例的其他實現(xiàn)也是可能的。。例如,可選地,可以以^t/f牛的形式實現(xiàn)主e配置例程和代理s配置例程的功能。VII.結(jié)論正如所述,本發(fā)明提供改進的數(shù)據(jù)處理系統(tǒng)、程序產(chǎn)品、以及數(shù)據(jù)處理方法,其中窺探器采用的保護一致性所有權(quán)轉(zhuǎn)移的保護窗口擴展的持續(xù)時間是不一致的。根據(jù)一個實施例,預先確定保護窗口擴展的持續(xù)時間并將其寫入數(shù)據(jù)處理系統(tǒng)中的個別代理中。在另一個實施例中,基于數(shù)據(jù)處理系統(tǒng)中實際觀察到的等待時間動態(tài)地確定保護窗口擴展的持續(xù)時間。盡管已經(jīng)如參照優(yōu)選實施例所描述的一樣特別地顯示了本發(fā)明,但本領(lǐng)域普通技術(shù)人員可以理解,在不偏離本發(fā)明精神和范圍的情況下可以做出形式上和細節(jié)上的多種改變。例如,盡管在所示實施例中所有窺探器共享共同窗口擴展持續(xù)時間的代理是處理單元100,但本領(lǐng)域普通技術(shù)人員將明白,在其他實施例中更多或更少數(shù)量的窺探器能夠共享共同窗口擴展持續(xù)時間。另外,盡管針對執(zhí)行指引本發(fā)明功能的程序代碼的數(shù)據(jù)處理系統(tǒng)描述了本發(fā)明的各方面,但是應當理解,本發(fā)明可以可選地實現(xiàn)為數(shù)據(jù)處理系統(tǒng)所使用的程序產(chǎn)品。能夠?qū)⒍x本發(fā)明功能的程序代碼經(jīng)由多種計算機可讀媒介傳送到數(shù)據(jù)處理系統(tǒng),這些媒介包括,但不限于,不可重寫存儲媒介(例如,CD—ROM)、可重寫存儲媒介(例如,軟盤或硬盤驅(qū)動器),以及通信媒介,例如數(shù)字或模擬網(wǎng)絡。因此,可以理解,在承載或編碼有指引本發(fā)明功能的計算機可讀指令時,這些計算機可讀媒介代表本發(fā)明的可選實施例。權(quán)利要求1.一種數(shù)據(jù)處理系統(tǒng),包括多個連接用于通信的代理,所述多個代理中的每個代理包括用于處理數(shù)據(jù)和指令的處理器核心;連接到所述多個代理中至少一個代理的數(shù)據(jù)存儲裝置;在所述數(shù)據(jù)存儲裝置內(nèi)的數(shù)據(jù)結(jié)構(gòu),其指示針對所述多個代理中每個代理的保護窗口擴展的持續(xù)時間,其中每個保護窗口擴展是接收到代表對請求的全系統(tǒng)響應的組合響應之后的時段,在該時段內(nèi)所述多個代理中的一個關(guān)聯(lián)代理保護代理之間數(shù)據(jù)顆粒的一致性所有權(quán)轉(zhuǎn)移,其中至少兩個所述代理具有持續(xù)時間不同的保護窗口擴展;以及用于通過參考所述數(shù)據(jù)結(jié)構(gòu)為所述多個代理中的每個代理配置保護窗口擴展的持續(xù)時間的裝置。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中所述用于配置的裝置包括在所述存儲裝置內(nèi)的配置程序代碼。3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理系統(tǒng),其中所述多個代理中的代理包括多個窺探器;所有所述多個窺探器采用所述代理的保護窗口擴展持續(xù)時間。4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中每個保護窗口擴展具有一個持續(xù)時間,該持續(xù)時間至少為所述多個代理之一中的竟爭主控制器和所述多個代理之一中的保護窺探器之間的請求的第一通信等待時間減去所述竟爭主控制器和發(fā)起所述請求的獲勝主控制器之間的請求的第二通信等待時間然后再減去所述獲勝主控制器和所述保護窺探器之間的組合響應的第三通信等待時間。5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中所述數(shù)據(jù)結(jié)構(gòu)包括多組保護窗口擴展持續(xù)時間,分別與所述數(shù)據(jù)處理系統(tǒng)的多個不同可能配置中的一個相應配置相關(guān)聯(lián);所述用于配置的裝置包括用于確定所述數(shù)據(jù)處理系統(tǒng)的實際配置和用于利用所述數(shù)據(jù)結(jié)構(gòu)中的所述多組保護窗口擴展持續(xù)時間中的一個相關(guān)聯(lián)的保護窗口擴展持續(xù)時間配置所述多個代理的裝置。6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中所述用于配置的裝置包括用于將所述多個代理中每個代理中的存儲位置設定為具有指示所述每個代理的保護窗口擴展持續(xù)時間的值。7.—種在數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)處理方法,所述方法包括所述數(shù)據(jù)處理系統(tǒng)中的多個代理相互之間傳送操作,每個操作包括一個請求和代表對所述請求的全系統(tǒng)響應的組合響應;在數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)存儲裝置內(nèi)存儲數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)指示針對所述多個代理中每個代理的保護窗口擴展的持續(xù)時間,其中每個保護窗口擴展是接收到組合響應之后的時段,在該時段內(nèi)所述多個代理中的一個關(guān)聯(lián)代理保護代理之間數(shù)據(jù)顆粒的一致性所有權(quán)轉(zhuǎn)移,其中至少兩個所述代理具有持續(xù)時間不同的保護窗口擴展;通過參考所述數(shù)據(jù)結(jié)構(gòu)為所述多個代理中的每個代理配置保護窗口擴展的持續(xù)時間;以及所述多個代理采用根據(jù)所述配置步驟的保護窗口擴展。8.根據(jù)權(quán)利要求7所述的方法,其中所述配置步驟包括執(zhí)行所述數(shù)據(jù)處理系統(tǒng)中的配置例程。9.根據(jù)權(quán)利要求8所述的方法,其中所述多個代理中的代理包括多個窺探器;所述采用步驟包括所有所述多個窺探器采用所述代理的保護窗口擴展持續(xù)時間。10.根據(jù)權(quán)利要求7所述的方法,其中每個保護窗口擴展具有一個持續(xù)時間,該持續(xù)時間至少為所述多個代理之一中的竟爭主控制器和所述多個代理之一中的保護窺探器之間的請求的第一通信等待時間減去所述竟爭主控制器和發(fā)起所述請求的獲勝主控制器之間的請求的第二通信等待時間然后再減去所述獲勝主控制器和所述保護窺探器之間的組合響應的第三通信等待時間。11.根據(jù)權(quán)利要求7所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)包括多組保護窗口擴展持續(xù)時間,分別與所述數(shù)據(jù)處理系統(tǒng)的多個不同可能配置中的一個相應配置相關(guān)聯(lián);以及配置步驟包括確定所述數(shù)據(jù)處理系統(tǒng)的實際配置和利用所述數(shù)據(jù)結(jié)構(gòu)中的所述多組保護窗口擴展持續(xù)時間中的一個相關(guān)聯(lián)的保護窗口擴展持續(xù)時間配置所述多個代理。12.根據(jù)權(quán)利要求7所述的方法,其中配置步驟包括將所述多個代理中每個代理中的存儲位置設定為具有指示所述每個代理的保護窗口擴展持續(xù)時間的值。全文摘要本發(fā)明涉及一種以不一致保護窗口保護所有權(quán)轉(zhuǎn)移的數(shù)據(jù)處理系統(tǒng)和方法。在數(shù)據(jù)處理系統(tǒng)中,多個代理相互之間傳送操作。每個操作包括一個請求和代表對該請求的全系統(tǒng)響應的組合響應。在該數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)存儲裝置內(nèi),數(shù)據(jù)結(jié)構(gòu)指示該多個代理中每個代理的保護窗口擴展的持續(xù)時間。每個保護窗口擴展是接收到組合響應之后的時段,在該時段內(nèi)該多個代理中的一個關(guān)聯(lián)代理保護代理之間數(shù)據(jù)顆粒的一致性所有權(quán)的轉(zhuǎn)移。通過參考該數(shù)據(jù)結(jié)構(gòu)為該多個代理中的每個代理配置保護窗口擴展的持續(xù)時間,并且該多個代理中的至少兩個代理具有持續(xù)時間不同的保護窗口擴展。此后該多個代理采用所配置的保護窗口擴展。文檔編號G06F15/16GK101183349SQ20071016757公開日2008年5月21日申請日期2007年10月29日優(yōu)先權(quán)日2006年11月16日發(fā)明者B·L·古德曼,G·L·格思里,J·A·史蒂切利,J·S·小菲爾茲,W·J·斯塔克申請人:國際商業(yè)機器公司