專利名稱:用于存儲器系統(tǒng)性能監(jiān)視的存儲器集線器和方法
技術領域:
本發(fā)明涉及計算機系統(tǒng),具體涉及具有存儲器集線器(memoryhub)的計算機系統(tǒng),其中的存儲器集線器將多個存儲器裝置和處理器或其它存儲器訪問裝置連接起來。
背景技術:
計算機系統(tǒng)使用存儲器裝置,如動態(tài)隨機存取存儲器(DRAM)裝置來存儲由處理器訪問的數(shù)據(jù)。這些存儲器裝置通常作為計算機系統(tǒng)的系統(tǒng)存儲器使用。在典型的計算機系統(tǒng)中,處理器通過處理器總線以及存儲器控制器與系統(tǒng)存儲器通信。處理器發(fā)出存儲器請求,該存儲器請求包括如讀命令一樣的存儲器命令以及一個指定要從中讀取數(shù)據(jù)或指令的位置的地址。存儲器控制器利用命令和地址產(chǎn)生適當?shù)拿钚盘栆约靶泻土械刂?,這些信息被應用于系統(tǒng)存儲器。響應這些命令和地址,在系統(tǒng)存儲器和處理器間傳送數(shù)據(jù)。存儲器控制器通常是系統(tǒng)控制器的一部分,系統(tǒng)控制器還包括用于把處理器總線和擴展總線如PCI總線連接起來的總線橋電路。
盡管存儲器裝置的運行速度一直在提高,但是這種運行速度的提高未能趕上處理器運行速度的提高。連接處理器和存儲器裝置的存儲器控制器的運行速度的提高更慢。存儲器控制器和存儲器裝置的較慢速度限制了處理器和存儲器裝置間的數(shù)據(jù)帶寬。
除了處理器和存儲器裝置間有限的帶寬外,計算機系統(tǒng)的性能還受等待時間問題的限制,等待時間問題增加了從系統(tǒng)存儲器裝置讀數(shù)據(jù)所需的時間。具體而言,將存儲器裝置讀命令傳送給系統(tǒng)存儲器裝置,如同步DRAM(SDRAM)裝置時,所讀數(shù)據(jù)只有在幾個時鐘周期的延遲后才從SDRAM裝置輸出。因此,盡管SDRAM裝置能夠以高數(shù)據(jù)速率同步輸出突發(fā)數(shù)據(jù),但是最初提供數(shù)據(jù)的延遲會嚴重降低使用這種SDRAM裝置的計算機系統(tǒng)的運行速度。
緩解存儲器等待時間問題的途徑之一是使用通過存儲器集線器和處理器連接的多個存儲器裝置。在存儲器集線器的結構中,系統(tǒng)控制器或存儲器控制器和多個存儲器模塊連接,每個存儲器模塊包括和多個存儲器裝置連接的存儲器集線器。存儲器集線器在控制器和存儲器裝置間高效地傳送存儲器請求和響應。采用這種結構的計算機系統(tǒng)能夠有更高的帶寬,因為在一個存儲器裝置對在先的存儲器訪問作出響應的同時,處理器可以訪問另一個存儲器裝置。例如,處理器可以向系統(tǒng)的一個存儲器裝置輸出寫數(shù)據(jù),而系統(tǒng)的另一個存儲器裝置則在準備為存儲器提供讀數(shù)據(jù)。
盡管采用存儲器集線器的計算機系統(tǒng)能夠提供優(yōu)越的性能,但是因為若干原因,它們還是經(jīng)常不能以最優(yōu)的速度運行。例如,盡管存儲器集線器可以為計算機系統(tǒng)提供更大的存儲器帶寬,但是計算機系統(tǒng)依然存在前文描述的那種等待時間問題。具體而言,盡管在一個存儲器裝置準備傳送數(shù)據(jù)的同時,處理器可以與另一個存儲器通信,但是有時在能夠利用來自另一個存儲器裝置的數(shù)據(jù)之前,需要先從一個存儲器裝置接收數(shù)據(jù)。如果必須在能夠利用接收自一個存儲器裝置的數(shù)據(jù)之前接收來自另一個存儲器裝置的數(shù)據(jù),等待時間問題會繼續(xù)降低這種計算機系統(tǒng)的運行速度。
已經(jīng)用來縮短存儲器裝置等待時間的一種技術是預取數(shù)據(jù),即,在執(zhí)行的程序請求數(shù)據(jù)之前,從系統(tǒng)存儲器讀取這些數(shù)據(jù)。通常,要預取的數(shù)據(jù)是根據(jù)以前獲取的數(shù)據(jù)的模式選擇的。這個模式可以象從中獲取數(shù)據(jù)的地址序列一樣簡單,從而在執(zhí)行的程序需要數(shù)據(jù)之前,能夠從這個序列中隨后的地址獲取這些數(shù)據(jù)。當然這種模式,也稱為“跨距”(stride),可以更復雜。
此外,盡管存儲器集線器可以為計算機系統(tǒng)提供更大的存儲器帶寬,但是計算機系統(tǒng)還是存在吞吐量問題。例如,在可以從存儲器單元的某一行讀數(shù)據(jù)之前,通常通過平衡陣列中的數(shù)字線對陣列中的數(shù)字線進行預充電。然后通過連接這一行的存儲器單元和相應列中的數(shù)字線來打開這一行。然后,連接在每一列中數(shù)字線之間的相應感應放大器,響應對應于存儲在相應存儲器單元中的數(shù)據(jù)的電壓變化。一旦將行打開,就可以通過將數(shù)字線連接到數(shù)據(jù)讀路徑,從打開的行的每一列傳送數(shù)據(jù)。因此,打開一行,也稱為一頁,會耗費一定量的時間,給存儲器的吞吐量帶來限制。
最后,是否預取數(shù)據(jù)(以及預取哪些數(shù)據(jù)),是否預充電或打開一行,以及是否緩存訪問的數(shù)據(jù),關于這些問題的最優(yōu)決策可以隨時間改變,并且隨著和存儲器集線器連接的處理器執(zhí)行的應用程序而改變。
存儲器集線器結構的另一個潛在問題涉及把存儲器集線器用作渠道,通過存儲器集線器將存儲器請求和數(shù)據(jù)傳送給下游存儲器模塊以及從下游存儲器模塊傳送過來。如果存儲器請求和數(shù)據(jù)不能通過存儲器集線器有效地傳送,采用存儲器集線器的存儲器系統(tǒng)的存儲器帶寬會嚴重受限。
所有上述問題都可以通過配置存儲器模塊的不同方面得到某種程度的解決,這里的存儲器模塊包括安裝在模塊上的存儲器集線器。然而,在能夠優(yōu)化存儲器模塊的配置前,需要或者應該分析存儲器集線器的性能,以便確定哪些方面有性能欠缺。然而,尚未開發(fā)出合適的技術來分析基于處理器的系統(tǒng)中使用的存儲器系統(tǒng)的現(xiàn)有性能。
因此,需要一種計算機結構,它具有存儲器集線器結構的優(yōu)點,這種存儲器集線器結構能夠確定使用這種存儲器集線器結構的存儲器系統(tǒng)的性能,從而能夠優(yōu)化系統(tǒng)配置。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供包括多個存儲器裝置和存儲器集線器的存儲器模塊和方法。存儲器集線器包括鏈路接口,如光輸入/輸出端口,該鏈路接口接收存儲器請求,以訪問至少一個所述存儲器裝置的存儲器單元。存儲器集線器還包括和存儲器裝置連接的存儲器裝置接口,該存儲器裝置接口用于把存儲器請求傳送給存儲器裝置,以訪問至少一個所述存儲器裝置的存儲器單元,并響應至少一些存儲器請求接收讀數(shù)據(jù)。存儲器集線器還包括性能計數(shù)器,該性能計數(shù)器和存儲器裝置接口和/或鏈路接口連接。性能計數(shù)器用于跟蹤從包括頁面命中率、預取命中次數(shù)或百分比、緩存命中率或百分比、讀速率、讀請求次數(shù)、寫速率、寫請求次數(shù)、存儲器總線利用率或百分比、本地集線器請求速率或次數(shù)以及遠程集線器請求速率或次數(shù)的組中選出的至少一個度量。
圖1是根據(jù)本發(fā)明一個實例的計算機系統(tǒng)的框圖,其中多個存儲器模塊中的每一個都包括存儲器集線器。
圖2是圖1所示計算機系統(tǒng)使用的存儲器集線器的框圖,這個存儲器集線器包括本發(fā)明的一個實例中的性能監(jiān)視器。
圖3是包括本發(fā)明一個實例中性能計數(shù)器的存儲器集線器的框圖。
具體實施例方式
圖1示出了本發(fā)明一個實例中的計算機系統(tǒng)100。該計算機系統(tǒng)100包括處理器104,處理器104用于實現(xiàn)各種計算機功能,如運行特定軟件以完成特定計算或任務。處理器104包括處理器總線106,該總線通常包括地址總線、控制總線和數(shù)據(jù)總線。處理器總線106通常和高速緩沖存儲器108連接,該高速緩沖存儲器,如前文所述,通常是靜態(tài)隨機存取存儲器(SRAM)。最后,處理器總線106和系統(tǒng)控制器110連接,該控制器110有時也稱為“北橋”或“存儲器控制器”。
系統(tǒng)控制器110充當很多其它組件到處理器104的通信路徑。具體而言,系統(tǒng)控制器110包括圖形端口,該圖形端口通常和圖形控制器112連接,圖形控制器112則和視頻終端114連接。系統(tǒng)控制器110還和一個或多個輸入裝置118如鍵盤或鼠標連接,以使操作者和計算機系統(tǒng)110對接。通常,計算機系統(tǒng)100還包括通過系統(tǒng)控制器110和處理器連接的一個或多個輸出裝置120,如打印機。一個或多個數(shù)據(jù)存儲裝置124通常也通過系統(tǒng)控制器110和處理器104連接,使處理器104能夠?qū)?shù)據(jù)存入內(nèi)部或外部存儲介質(zhì)(未示出)或從中獲得數(shù)據(jù)。典型存儲裝置124的實例包括硬盤、軟盤、磁帶和光盤只讀存儲器(CD-ROM)。
系統(tǒng)控制器110和若干個存儲器模塊130a,b…n連接,這些存儲器模塊充當計算機系統(tǒng)100的系統(tǒng)存儲器。存儲器模塊130優(yōu)選通過高速鏈路134和系統(tǒng)控制器110連接,該高速鏈路可以是光或電通信路徑或一些其它類型的通信路徑。如果將高速鏈路134實施為光通信路徑,該光通信路徑的形式可以是例如一根或多根光纖。這種情況下,系統(tǒng)控制器110和存儲器模塊包括光輸入/輸出端口或單獨的和光通信路徑連接的輸入和輸出端口。示出的存儲器模塊130和系統(tǒng)控制器110間的連接為點到點布局,其中,每段高速鏈路134只連接于兩點之間。因此,除了最后一個存儲器模塊130n外,所有的存儲器模塊都用作存儲器請求和來自以及傳送到下游存儲器模塊130的數(shù)據(jù)的渠道。然而,應該明白,也可以采用其它拓撲。也可以采用交換拓撲,其中系統(tǒng)控制器110通過交換機(未示出)選擇性地和每個存儲器模塊130連接。可用的其它拓撲對于本領域的技術人員而言是顯而易見的。
每個存儲器模塊130都包括存儲器集線器140,用于控制對32個存儲器裝置148的訪問,在圖1示出的實例中,這32個存儲器裝置是同步動態(tài)隨機存取存儲器(SDRAM)裝置。除了最后一個存儲器模塊外,所有存儲器模塊130中的存儲器集線器140也可以充當將存儲器命令傳送到下游存儲器集線器140和來自以及傳送到下游存儲器集線器140的數(shù)據(jù)的渠道。然而,可以使用更少或更多數(shù)目的存儲器裝置148,當然也可以使用非SDRAM裝置的存儲器裝置。在圖1示出的實例中,存儲器集線器140通過高速鏈路134在4個獨立的存儲器通道149上進行通信。在這個實例中,盡管圖1并未示出,提供了4個存儲器集線器控制器128,每個都用來從一個存儲器通道149接收數(shù)據(jù)。然而,在其它實例中,可以使用更少或更多數(shù)目的存儲器通道149。存儲器集線器140通過總線系統(tǒng)150和每個系統(tǒng)存儲器裝置148連接,該總線系統(tǒng)通常包括控制總線、地址總線和數(shù)據(jù)總線。
圖2示出了本發(fā)明一個實施例中的存儲器集線器200。存儲器集線器200可以代替圖1中的存儲器集線器140。圖2示出的存儲器集線器200同四個存儲器裝置240a~d連接,這四個存儲器裝置在本例中是傳統(tǒng)的SDRAM裝置。在另一個實施例中,存儲器集線器200和四個不同的存儲器裝置組連接,而不是僅僅和四個不同的存儲器裝置240a~d連接,其中每一組通常有若干個存儲器裝置。然而,為了提供一個范例,本描述將參考和四個存儲器裝置240a~d連接的存儲器集線器200。應該明白,對存儲器集線器200進行必要的修改以包括多組存儲器包括在本領域技術人員的知識范圍內(nèi)。
存儲器集線器200還包括鏈路接口210a~d和212a~d,分別用于將存儲器集線器200位于其上的存儲器模塊與第一高速數(shù)據(jù)鏈路220和第二高速數(shù)據(jù)鏈路222連接起來。鏈路接口210a~d和212a~d允許將存儲器集線器200作為存儲器請求和來自以及去往下游存儲器模塊130的數(shù)據(jù)間的渠道。如前文關于圖1的討論一樣,高速數(shù)據(jù)鏈路220、222可用光或電通信路徑或一些其它類型的通信路徑實現(xiàn)。鏈路接口210a~d和212a~d為傳統(tǒng)接口,包括用于向高速數(shù)據(jù)鏈路220、222傳輸或接收數(shù)據(jù)、命令和地址信息的電路。眾所周知,這種電路包括本領域公知的發(fā)射機和接收機邏輯。顯然,本領域普通技術人員完全明白可以修改用于特定類型的通信路徑的鏈路接口210a~d、212a~d,并且,這種對鏈路接口210a~d、212a~d的修改可以不偏離本發(fā)明的范圍。例如,如果用光通信路徑實現(xiàn)高速數(shù)據(jù)鏈路220、222,鏈路接口210a~d、212a~d就包括可以將通過光通信路徑的光信號轉(zhuǎn)化為電信號的光輸入/輸出端口。
鏈路接口210a~d、212a~d通過多條由總線214表示的總線和信號線連接到交換機260??偩€214是傳統(tǒng)總線,包括寫數(shù)據(jù)總線和讀數(shù)據(jù)總線,盡管也可以用單根雙向數(shù)據(jù)總線來傳遞通過鏈路接口210a~d、212a~d的雙向數(shù)據(jù)。本領域的普通技術人員應該理解,總線214是以實例的形式示出的,總線214可以包括更多或更少的信號線,如還包括請求線和輪詢(snoop)線,可以將其用于保持高速緩存一致。
鏈路接口210a~d、212a~d包括允許存儲器集線器200以前文解釋過的點到點結構在系統(tǒng)存儲器中連接的電路。這種類型的相互連接提供了處理器104和存儲器集線器200間更好的信號連接,這有幾個原因,其中包括,較小的電容,反射信號的較少的線路不連續(xù)點和較短的信號路徑。然而,也可以將鏈路接口210a~d、212a~d用來以多種其它結構來連接至存儲器集線器200。
交換機260還和四個存儲器接口270a~d連接,這些存儲器接口則分別和系統(tǒng)存儲器裝置240a~d連接。通過為每個系統(tǒng)存儲器240a~d分別提供分開的獨立存儲器接口270a~d,存儲器集線器200能夠避免總線或存儲器組中通常發(fā)生在單通道存儲器結構中的沖突。交換機260通過多條由總線274表示的總線和信號線與每個存儲器接口連接??偩€274包括寫數(shù)據(jù)總線、讀數(shù)據(jù)總線和請求線。然而,應該理解,也可以用單根雙向數(shù)據(jù)總線代替分開的寫數(shù)據(jù)總線和讀數(shù)據(jù)總線。此外,與前面描述的相比,總線274也可以包括更多或更少的信號線。
在本發(fā)明的一個實施例中,每個存儲器接口270a~d特別適合于它連接的系統(tǒng)存儲器裝置240a~d。具體而言,每個存儲器接口270a~d特別適合于分別提供和接收它連接的系統(tǒng)存儲器裝置240a~d接收和產(chǎn)生的特殊信號。而且,存儲器接口270a~d能夠與工作于不同時鐘頻率的系統(tǒng)存儲器裝置240a~d一起工作。這樣,存儲器接口270a~d將處理器104與可能發(fā)生在存儲器集線器230和連接至存儲器集線器200的存儲器裝置240a~d間接口上的變化相隔離,而且,存儲器接口270a~d提供了存儲器裝置240a~d可與之對接的更加受控的環(huán)境。
和鏈路接口210a~d、212a~d以及存儲器接口270a~d連接的交換機260可以是多種傳統(tǒng)或今后開發(fā)的交換機中的一種。例如,交換機260可以是能夠同時以多種方式將鏈路接口210a~d、212a~d和存儲器接口270a~d互相連接的十字(cross-bar)交換機。交換機260也可以是一組復用器,這組復用器不能提供和交叉棒交換機同等級別的連接,但是可以把鏈路接口210a~d、212a~d中的一些或全部和每個存儲器接口270a~d連接起來。交換機260還可以包括仲裁邏輯(未示出),以確定相比于其它存儲器存取哪個存儲器存取應該具有優(yōu)先權。執(zhí)行這一功能的總線仲裁對于本領域的技術人員而言是眾所周知的。
繼續(xù)參考圖2,每個存儲器接口270a~d都包括各自的存儲器控制器280、各自的寫緩沖器282和各自的高速緩沖存儲器單元284。通過為其連接的系統(tǒng)存儲器裝置240a~d提供控制、地址和數(shù)據(jù)信號,并且從其連接的系統(tǒng)存儲器裝置240a~d接收數(shù)據(jù)信號,存儲器控制器280執(zhí)行和傳統(tǒng)存儲器控制器同樣的功能。寫緩沖器282和高速緩沖存儲器單元284包括緩沖器和高速緩沖存儲器的普通組件,其中包括標簽存儲器、數(shù)據(jù)存儲器、比較器和其它類似組件,這在本領域是熟知的。寫緩沖器282和高速緩沖存儲器284所用的存儲器裝置可以是DRAM裝置、靜態(tài)隨機存取存儲器(SRAM)裝置、其它類型的存儲器裝置,或者這三種裝置的組合。此外,高速緩沖存儲器284所用的這些存儲器裝置以及其它組件中的任何一個或所有部分,可以是嵌入式裝置,也可以是獨立裝置。
每個存儲器接口270a~d中的寫緩沖器282用于在處理讀請求時存儲寫請求。在這種系統(tǒng)中,處理器104可以向系統(tǒng)存儲器裝置240a~d發(fā)出寫請求,即便寫請求所發(fā)向的存儲器裝置正忙于處理在先的寫或讀請求。使用這種方法,可以不按順序處理存儲器請求,這是因為較早的寫請求可以在處理隨后的讀請求時存儲在寫緩沖器282中。緩沖寫請求而處理讀請求的能力可以大幅度縮短存儲器讀等待時間,因為不考慮讀請求的時間順序而給予其第一優(yōu)先級。例如,和讀請求間隔分布的一系列寫請求可以存儲在寫緩沖器282中,可以采用流水線方式處理讀請求,然后以流水線方式處理存儲的寫請求。這樣,可以避免把寫請求傳送給存儲器裝置270a~d,然后把讀請求傳送給存儲器裝置270a~d,讀寫請求交替之間漫長的穩(wěn)定時間。
如果數(shù)據(jù)剛從存儲器裝置240a~d讀出或?qū)懭脒^,那么在每個存儲器接口270a~d中使用高速緩沖存儲器單元284就允許處理器104響應發(fā)送給相應系統(tǒng)存儲器裝置240a~d的讀命令接收這些數(shù)據(jù),而不必等待存儲器裝置240a~d來提供這些數(shù)據(jù)。因此,高速緩沖存儲器單元284縮短了系統(tǒng)存儲器裝置240a~d的讀等待時間,使計算機系統(tǒng)的存儲器帶寬最大。同樣地,處理器104可以在高速緩沖存儲器單元284中存儲寫數(shù)據(jù),然后在同一個存儲器接口270a~d中的存儲器控制器280從高速緩沖存儲器單元284向它連接的系統(tǒng)存儲器裝置240a~d傳送寫數(shù)據(jù)時,執(zhí)行其它功能。
存儲器集線器200中還包括性能監(jiān)視器290,性能監(jiān)視器290通過診斷總線292和交換機260連接。性能監(jiān)視器290通過交換機260監(jiān)視存儲器集線器260的性能。例如,性能監(jiān)視器290可以跟蹤存儲器集線器200中的緩存命中次數(shù)、存儲器頁面命中次數(shù)或預取命中次數(shù)。性能監(jiān)視器290也可以通過鏈路接口210a~d、212a~d和交換機260來監(jiān)視通過存儲器集線器200的存儲器請求和數(shù)據(jù)的傳送,以確定集線器200有多忙,以及是否有效地沒有過多延遲地傳送了存儲器請求和數(shù)據(jù)。性能監(jiān)視器290還和維護總線296連接,如系統(tǒng)管理總線(SMBus)或者符合聯(lián)合測試行動小組(JTAG)和IEEE 1149.1標準的維護總線。SMBus和JTAG標準都是本領域的普通技術人員所公知的。通常,維護總線296為用戶提供了對性能監(jiān)視器290跟蹤的性能統(tǒng)計的訪問。應該明白,可以將維護總線296修改為不同于傳統(tǒng)總線標準而不偏離本發(fā)明的范圍。還應該理解,性能統(tǒng)計可以用其它方式從性能監(jiān)視器290傳送。
存儲器集線器200中還包括通過總線288和交換機260連接的DMA引擎286。DMA引擎286使得存儲器集線器200可以把一塊數(shù)據(jù)從系統(tǒng)存儲器的一個位置移到系統(tǒng)存儲器的另一個位置,而無需處理器104干預。總線288包括多個傳統(tǒng)總線和信號線,如地址、控制、數(shù)據(jù)總線和其它類似總線,用于處理系統(tǒng)存儲器中傳送的數(shù)據(jù)。本領域的普通技術人員所熟知的傳統(tǒng)DMA操作可以由DMA引擎286實現(xiàn)。DMA引擎286可以讀取系統(tǒng)存儲器中的鏈路列表,從而無需處理器干預來執(zhí)行DMA存儲器操作,從而使處理器104和帶寬有限的系統(tǒng)總線免于執(zhí)行存儲器操作。DMA引擎286還可以包括用于支持多通道DMA操作的電路,如用于每個系統(tǒng)存儲器裝置240a~d的電路。這種多通道DMA引擎在本領域是熟知的,可以用傳統(tǒng)技術實現(xiàn)。
性能監(jiān)視器290優(yōu)選為存儲器集線器200中的嵌入式電路。然而,也可以包括連接至存儲器集線器200的單獨的性能監(jiān)視器。
如前文所述,縮短存儲器裝置等待時間的方法之一是預取數(shù)據(jù)。因此,存儲器集線器200還包括有預取緩沖器298的預取系統(tǒng)295。簡而言之,存儲器集線器200中的預取系統(tǒng)295預測程序執(zhí)行過程中需要哪些數(shù)據(jù),然后預取這些數(shù)據(jù),并將其存儲在是預取系統(tǒng)295一部分的一個或多個緩沖器如預取緩沖器298中。預取系統(tǒng)295包括有預取緩沖器298的多個預取緩沖器,預取緩沖器的數(shù)目可以根據(jù)運行狀況而變化,就象前文提及的專利申請中解釋的一樣。簡而言之,預取緩沖器從圖2的存儲器裝置接口270c接收預取數(shù)據(jù)。數(shù)據(jù)存儲于預取緩沖器中,因此可用于隨后的存儲器存取。隨后將數(shù)據(jù)傳送給鏈路接口212d。盡管圖2示出了與存儲器裝置接口270c和鏈路接口212d連接的一個預取系統(tǒng),但是應該理解,在一些實施例中,預取系統(tǒng)295可以與多個鏈路接口和/或多個存儲器裝置接口連接。此外,在一些實施例中,還可以有多個預取系統(tǒng)與一個或多個鏈路接口和/或存儲器裝置接口通信。
圖3示出了存儲器集線器獲取性能數(shù)據(jù)的一部分的另一個實施例。在圖3所示的實例中,提供了和存儲器控制器302通信的至少一個性能計數(shù)器300。性能計數(shù)器300還和預取緩沖器306、緩存308、鏈路310和314以及維護總線318通信。應該理解,在本發(fā)明的一些實例中,性能計數(shù)器300可能不與圖3示出的一個或多個組件通信。此外,在其它的實施例中,一個或多個性能控制器還與圖3未示出的一些其它組件通信。
性能計數(shù)器300跟蹤一個或多個和存儲器存取和/或性能相關的度量,例如,在本發(fā)明的一個實例中,包括頁面命中率、預取命中次數(shù)或百分比、緩存命中率或百分比、讀速率、讀請求次數(shù)、寫速率、寫請求次數(shù)、存儲器總線利用率或百分比、本地集線器請求速率或次數(shù)以及遠程集線器請求速率或次數(shù)。性能計數(shù)器300還監(jiān)視通過存儲器集線器的存儲器請求和數(shù)據(jù)的傳送,以確定集線器有多忙,以及是否有效地傳送了存儲器請求和數(shù)據(jù)而沒有過多延遲。應該理解,性能計數(shù)器300也可以監(jiān)視其它性能特性,這依賴于存儲器集線器和與計數(shù)器通信的組件的配置。在這兩種情況下,性能計數(shù)器300跟蹤性能特性,優(yōu)選發(fā)送這些來自存儲器模塊130的特性,以便這些特性可以得到檢驗。例如,可以通過維護總線318傳送性能特性的數(shù)據(jù)指示。維護總線318可以為一個用戶提供對性能計數(shù)器300的訪問,以評估計算機系統(tǒng)的性能。例如,可以通過維護總線318將性能特性下載至單獨的PC主機。傳送和/或使用性能特性的其它方式對于本領域的技術人員而言是顯而易見的。
根據(jù)前文應該理解,盡管為了進行說明描述了本發(fā)明的具體實施例,但是可以進行各種修改而不會偏離本發(fā)明的精神和范圍。因此,本發(fā)明的范圍應該由后附的權利要求來限定。
權利要求
1.一種存儲器模塊,包括多個存儲器裝置;以及存儲器集線器,包括鏈路接口,接收訪問所述多個存儲器裝置的至少一個中的多個存儲器單元的多個存儲器請求;存儲器裝置接口,和所述多個存儲器裝置連接,該存儲器裝置接口用于把多個存儲器請求傳送給所述多個存儲器裝置,以訪問所述存儲器裝置的至少一個中的多個存儲器單元,并且響應所述存儲器請求中的至少一些來接收讀數(shù)據(jù);性能計數(shù)器,和所述存儲器裝置接口連接,該性能計數(shù)器用于跟蹤至少一個性能度量。
2.如權利要求1所述的存儲器模塊,其中所述鏈路接口包括光輸入/輸出端口。
3.如權利要求1所述的存儲器模塊,其中所述存儲器裝置接口包括存儲器控制器,所述性能計數(shù)器和該存儲器控制器連接。
4.如權利要求1所述的存儲器模塊,其中所述存儲器裝置接口包括緩存,所述性能計數(shù)器和該緩存連接。
5.如權利要求1所述的存儲器模塊,其中所述存儲器集線器還包括預取緩沖器,所述性能計數(shù)器還和該預取緩沖器連接。
6.如權利要求1所述的存儲器模塊,其中所述存儲器集線器還包括維護總線,所述性能計數(shù)器還和該維護總線連接。
7.如權利要求1所述的存儲器模塊,其中所述性能計數(shù)器還和所述鏈路接口連接。
8.如權利要求1所述的存儲器模塊,其中由所述性能計數(shù)器跟蹤的性能度量包括從包括頁面命中率、預取命中次數(shù)或百分比、緩存命中率或百分比、讀速率、讀請求次數(shù)、寫速率、寫請求次數(shù)、存儲器總線利用率或百分比、本地集線器請求速率或次數(shù)以及遠程集線器請求速率或次數(shù)的組中選出的至少一個性能度量。
9.如權利要求1所述的存儲器模塊,其中所述存儲器裝置包括動態(tài)隨機存取存儲器裝置。
10.如權利要求1所述的存儲器模塊,其中由所述性能計數(shù)器跟蹤的性能度量包括和通過所述存儲器集線器的存儲器請求和數(shù)據(jù)的傳送相關的性能度量。
11.一種存儲器集線器,包括鏈路接口,接收訪問多個存儲器裝置的至少一個中的多個存儲器單元的多個存儲器請求;存儲器裝置接口,和所述存儲器裝置連接,該存儲器裝置接口用于把多個存儲器請求傳送給所述存儲器裝置,以訪問所述存儲器裝置的至少一個中的多個存儲器單元,以及響應所述存儲器請求的至少一些來接收讀數(shù)據(jù);以及性能計數(shù)器,和所述存儲器裝置接口連接,該性能計數(shù)器用于跟蹤至少一個性能度量。
12.如權利要求11所述的存儲器集線器,其中所述鏈路接口包括光輸入/輸出端口。
13.如權利要求11所述的存儲器集線器,其中所述存儲器裝置接口包括存儲器控制器,所述性能計數(shù)器和該存儲器控制器連接。
14.如權利要求11所述的存儲器集線器,其中所述存儲器裝置接口包括緩存,所述性能計數(shù)器和該緩存連接。
15.如權利要求11所述的存儲器集線器,還包括預取緩沖器,其中所述性能計數(shù)器還和該預取緩沖器連接。
16.如權利要求11所述的存儲器集線器,還包括維護總線,其中所述性能計數(shù)器還和該維護總線連接。
17.如權利要求11所述的存儲器集線器,其中所述性能計數(shù)器還和所述鏈路接口連接。
18.如權利要求11所述的存儲器集線器,其中由所述性能計數(shù)器跟蹤的性能度量包括從包括頁面命中率、預取命中次數(shù)或百分比、緩存命中率或百分比、讀速率、讀請求次數(shù)、寫速率、寫請求次數(shù)、存儲器總線利用率或百分比、本地集線器請求速率或次數(shù)以及遠程集線器請求速率或次數(shù)的組中選出的至少一個性能度量。
19.如權利要求11所述的存儲器集線器,其中由所述性能計數(shù)器跟蹤的性能度量包括和通過所述存儲器集線器的存儲器請求和數(shù)據(jù)的傳送相關的性能度量。
20.如權利要求11所述的存儲器集線器,其中所述存儲器裝置包括動態(tài)隨機存取存儲器裝置。
21.一種計算機系統(tǒng),包括中央處理單元(CPU);和所述CPU連接的系統(tǒng)控制器,該系統(tǒng)控制器具有輸入端口和輸出端口;通過所述系統(tǒng)控制器和所述CPU連接的輸入裝置;通過所述系統(tǒng)控制器和所述CPU連接的輸出裝置;通過所述系統(tǒng)控制器和所述CPU連接的存儲裝置;多個存儲器模塊,所述存儲器模塊的每一個包括多個存儲器裝置;以及存儲器集線器,包括鏈路接口,接收訪問多個所述存儲器裝置的至少一個中的多個存儲器單元的多個存儲器請求;存儲器裝置接口,和所述存儲器裝置連接,該存儲器裝置接口用于把多個存儲器請求傳送給所述多個存儲器裝置,以訪問所述存儲器裝置的至少一個中的多個存儲器單元,以及響應所述存儲器請求的至少一些來接收讀數(shù)據(jù);性能計數(shù)器,和所述存儲器裝置接口連接,該性能計數(shù)器用于跟蹤至少一個性能度量。
22.如權利要求21所述的計算機系統(tǒng),其中所述鏈路接口包括光輸入/輸出端口。
23.如權利要求21所述的計算機系統(tǒng),其中所述存儲器裝置接口包括存儲器控制器,所述性能計數(shù)器和該存儲器控制器連接。
24.如權利要求21所述的計算機系統(tǒng),其中所述存儲器裝置接口包括緩存,所述性能計數(shù)器和該緩存連接。
25.如權利要求21所述的計算機系統(tǒng),其中所述存儲器集線器還包括預取緩沖器,所述性能計數(shù)器還和該預取緩沖器連接。
26.如權利要求21所述的計算機系統(tǒng),其中所述存儲器集線器還包括維護總線,所述性能計數(shù)器還和該維護總線連接。
27.如權利要求21所述的計算機系統(tǒng),其中所述性能計數(shù)器還和所述鏈路接口連接。
28.如權利要求21所述的計算機系統(tǒng),其中由所述性能計數(shù)器跟蹤的性能度量包括從包括頁面命中率、預取命中次數(shù)或百分比、緩存命中率或百分比、讀速率、讀請求次數(shù)、寫速率、寫請求次數(shù)、存儲器總線利用率或百分比、本地集線器請求速率或次數(shù)以及遠程集線器請求速率或次數(shù)的組中選出的至少一個性能度量。
29.如權利要求21所述的計算機系統(tǒng),其中所述存儲器裝置包括動態(tài)隨機存取存儲器裝置。
30.如權利要求21所述的計算機系統(tǒng),其中由所述性能計數(shù)器跟蹤的性能度量包括和通過所述存儲器集線器的存儲器請求和數(shù)據(jù)的傳送相關的性能度量。
31.從存儲器模塊讀取數(shù)據(jù)的方法,包括接收訪問安裝在所述存儲器模塊上的存儲器裝置的多個存儲器請求;響應接收到的存儲器請求,把所述存儲器請求傳送給所述存儲器裝置,所述存儲器請求的至少一些是讀數(shù)據(jù)的存儲器請求;響應所述讀存儲器請求接收讀數(shù)據(jù);以及跟蹤所述存儲器模塊中的至少一個性能度量。
32.如權利要求31所述的方法,其中跟蹤至少一個性能度量的行為包括跟蹤從包括頁面命中率、預取命中次數(shù)或百分比、緩存命中率或百分比、讀速率、讀請求次數(shù)、寫速率、寫請求次數(shù)、存儲器總線利用率或百分比、本地集線器請求速率或次數(shù)以及遠程集線器請求速率或次數(shù)的組中選出的至少一個性能度量。
33.如權利要求31所述的方法,其中跟蹤至少一個性能度量的行為包括跟蹤和通過所述存儲器集線器的存儲器請求和數(shù)據(jù)的傳送相關的性能度量。
34.如權利要求31所述的方法,其中接收存儲器請求以訪問安裝在存儲器模塊上的存儲器裝置的行為包括接收對應于所述多個存儲器請求的多個光信號。
全文摘要
一種存儲器模塊,包括和多個存儲器裝置連接的存儲器集線器。該存儲器集線器包括至少一個性能計數(shù)器,該性能計數(shù)器跟蹤一個或多個系統(tǒng)度量,例如頁面命中率、預取命中次數(shù)或百分比、緩存命中率或百分比、讀速率、讀請求次數(shù)、寫速率、寫請求次數(shù)、存儲器總線利用率或百分比、本地集線器請求速率或次數(shù)和/或遠程集線器請求速率或次數(shù)。
文檔編號G06F13/16GK101036129SQ200480039256
公開日2007年9月12日 申請日期2004年12月15日 優(yōu)先權日2003年12月29日
發(fā)明者約瑟夫·M·杰德洛 申請人:米克倫技術公司