專(zhuān)利名稱(chēng):控制計(jì)算機(jī)可讀存儲(chǔ)器的方法和管理器數(shù)據(jù)單元的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)器管理,并且更具體地涉及基于已知的存 儲(chǔ)器位置時(shí)延來(lái)存儲(chǔ)數(shù)據(jù)單元的計(jì)算機(jī)體系結(jié)構(gòu)。
背景技術(shù):
實(shí)際上,所有計(jì)算機(jī)電路都采用某種數(shù)字存儲(chǔ)器來(lái)存儲(chǔ)數(shù)據(jù)。這 樣的存儲(chǔ)器可包括不同類(lèi)型的存儲(chǔ)器設(shè)備的組合,包括以下一個(gè)或多個(gè)片上存儲(chǔ)器(例如寄存器陣列)、板上存儲(chǔ)器(例如高速緩沖存儲(chǔ)器)、 主存儲(chǔ)器(例如來(lái)自處理器的不同電路板上的DRAM存儲(chǔ)器芯片)、快 擦寫(xiě)存儲(chǔ)器(例如可被插到專(zhuān)用讀出器或USB端口的存儲(chǔ)器設(shè)備)、以 及盤(pán)存儲(chǔ)器(例如硬盤(pán)驅(qū)動(dòng)器)。駐留在存儲(chǔ)器空間中的一些數(shù)據(jù)單元(其可包括任何對(duì)數(shù)據(jù)進(jìn)行 分組的方法)比存儲(chǔ)在相同存儲(chǔ)器空間的其它數(shù)據(jù)單元更少使用。然 而,計(jì)算機(jī)的存儲(chǔ)器空間的不同部分表現(xiàn)出不同的存儲(chǔ)器時(shí)延(將數(shù) 據(jù)從存儲(chǔ)器位置傳送到請(qǐng)求它的實(shí)體所花費(fèi)的時(shí)間)。例如,最接近 存儲(chǔ)器緩沖器的存儲(chǔ)器芯片可能比更遠(yuǎn)離存儲(chǔ)器緩沖器的存儲(chǔ)器芯片 具有更低的時(shí)延。多數(shù)存儲(chǔ)器設(shè)備可按照相對(duì)速度來(lái)分類(lèi)。例如,片上存儲(chǔ)器通常 比板上存儲(chǔ)器更快,并且通常兩個(gè)都比盤(pán)存儲(chǔ)器快得多。然而,有時(shí) 相對(duì)較慢的存儲(chǔ)器設(shè)備的某些部分實(shí)際上可比相對(duì)較快的存儲(chǔ)器設(shè)備 的部分具有更低的時(shí)延。因此,在較快存儲(chǔ)器設(shè)備的較慢部分而不是 在較慢存儲(chǔ)器設(shè)備的較快部分中放入頻繁使用的數(shù)據(jù)單元將導(dǎo)致存儲(chǔ) 器空間的低效使用。在許多存儲(chǔ)器應(yīng)用中,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)芯片被放置 在陣列中相似等級(jí)位置處,從而建立了扁平存儲(chǔ)器結(jié)構(gòu),其中所有存 儲(chǔ)器都同樣地可從存儲(chǔ)器控制器進(jìn)行數(shù)據(jù)讀和寫(xiě)。然而,在當(dāng)前行業(yè)標(biāo)準(zhǔn)模式,例如完全緩沖的雙列直插式存儲(chǔ)器模塊(FBDIMM)中, 通過(guò)存儲(chǔ)器芯片上的緩沖器訪問(wèn)每層存儲(chǔ)器的時(shí)間存在不均勻。當(dāng)前 的FBDIMM標(biāo)準(zhǔn)利用較近的DIMM芯片的較低時(shí)延,而不是有意地將 經(jīng)常使用的數(shù)據(jù)映射在更接近存儲(chǔ)器控制器的位置,或?qū)⒉惶?jīng)常使 用的數(shù)據(jù)映射在更遠(yuǎn)離控制器的位置。當(dāng)前存儲(chǔ)器設(shè)備包括(處理器的)高速緩沖存儲(chǔ)器,其通常將數(shù) 據(jù)放入到分類(lèi)的層次(Ll/L2/L3),但是在主存儲(chǔ)器中或在諸如硬盤(pán) 驅(qū)動(dòng)器的直接訪問(wèn)存儲(chǔ)設(shè)備(DASD)中,需要主該數(shù)據(jù)的拷貝保留 空間。就增加的存儲(chǔ)器使用,以及創(chuàng)建數(shù)據(jù)的拷貝和保證數(shù)據(jù)最新的 額外開(kāi)銷(xiāo)二者而言,這都是存儲(chǔ)器的低效利用。因此,需要一種存儲(chǔ)器管理系統(tǒng),其基于數(shù)據(jù)單元的相對(duì)使用頻 率和存儲(chǔ)位置的時(shí)延來(lái)確定存儲(chǔ)數(shù)據(jù)單元的位置。也需要一種存儲(chǔ)器管理系統(tǒng),其將數(shù)據(jù)單元存儲(chǔ)在根據(jù)時(shí)延分離 的分層存儲(chǔ)器空間中,其中數(shù)據(jù)單元的額外拷貝不需要保留。發(fā)明內(nèi)容本發(fā)明克服了現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的一個(gè)方面是一種控制包 含多個(gè)存儲(chǔ)器位置的計(jì)算機(jī)可讀存儲(chǔ)器的方法,其中確定存儲(chǔ)在第一 存儲(chǔ)器位置的數(shù)據(jù)單元的使用頻率。將數(shù)據(jù)單元移動(dòng)到不同于第一存 儲(chǔ)器位置的第二存儲(chǔ)器位置,所述第二存儲(chǔ)器位置是基于所述第二存 儲(chǔ)器位置的已知時(shí)延與所述數(shù)據(jù)單元的使用頻率之間的對(duì)應(yīng)關(guān)系來(lái)選 擇的,所述第二存儲(chǔ)器位置是所述數(shù)據(jù)單元的主數(shù)據(jù)存儲(chǔ)位置。另一方面,本發(fā)明是一種管理計(jì)算電路中的多個(gè)存儲(chǔ)器位置的方 法,每個(gè)所述存儲(chǔ)器位置存儲(chǔ)相應(yīng)數(shù)據(jù)單元。確定每個(gè)存儲(chǔ)器位置的 時(shí)延,并確定每個(gè)數(shù)據(jù)單元的使用頻率。在具有低時(shí)延的主存儲(chǔ)器位 置存儲(chǔ)具有高使用頻率的至少一個(gè)數(shù)據(jù)單元,以及在具有高時(shí)延的主 存儲(chǔ)器位置存儲(chǔ)具有低使用頻率的至少一個(gè)數(shù)據(jù)單元。
另一個(gè)方面,本發(fā)明是一種用于管理多個(gè)存儲(chǔ)器位置中存儲(chǔ)的數(shù) 據(jù)單元的裝置。每個(gè)存儲(chǔ)器位置具有被分類(lèi)為多個(gè)時(shí)延類(lèi)中的一個(gè)的 已知時(shí)延。使用頻率指示器與每個(gè)存儲(chǔ)器位置相關(guān)。遞增器在預(yù)定數(shù) 目的周期上,每當(dāng)存儲(chǔ)在相應(yīng)存儲(chǔ)器位置中的數(shù)據(jù)單元被訪問(wèn)時(shí),遞 增每個(gè)使用頻率指示器。存儲(chǔ)器控制器在作為與數(shù)據(jù)單元的使用頻率 對(duì)應(yīng)的時(shí)延類(lèi)的成員的主存儲(chǔ)器位置存儲(chǔ)每個(gè)數(shù)據(jù)單元。通過(guò)以下結(jié)合附圖的優(yōu)選實(shí)施例的描述將理解本發(fā)明的這些和 其它方面。本領(lǐng)域技術(shù)人員明白,在不背離本公開(kāi)的新穎概念的精神 和范圍的情況下,可對(duì)本發(fā)明進(jìn)行許多變化和修改。
圖l是示出 一般存儲(chǔ)器分類(lèi)模式的方框圖。圖2是示出采用不同類(lèi)型的存儲(chǔ)器設(shè)備的存儲(chǔ)器分類(lèi)模式的方框圖。圖3A — 3D是說(shuō)明基于時(shí)延的存儲(chǔ)器管理的典型例子的表格。 圖4是示出存儲(chǔ)器管理的方法的流程圖。
具體實(shí)施方式
現(xiàn)在詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例。參照附圖,在整個(gè)視圖中類(lèi) 似的數(shù)字表示類(lèi)似的部分。如此處說(shuō)明和整個(gè)權(quán)利要求書(shū)中所使用的, 除非上下文清楚地規(guī)定例外的情況,否則下列術(shù)語(yǔ)采取與此處明確相 關(guān)的含義"a"、"an"和"the"的含義包括復(fù)數(shù)引用,"in"的含義包含"in" 和"on"。并且如此處所使用的,"主存儲(chǔ)器位置"和"主位置,,是指其中 存儲(chǔ)數(shù)據(jù)單元的主拷貝的存儲(chǔ)器位置,而"輔存儲(chǔ)器位置"或"輔位置,, 是指其中存儲(chǔ)已在主位置中存儲(chǔ)的數(shù)據(jù)單元的拷貝的存儲(chǔ)器位置。例 如,主位置通常會(huì)包含主存儲(chǔ)器,而輔位置通常會(huì)包含高速緩沖存儲(chǔ) 器。眾所周知,在某些應(yīng)用中,全部存儲(chǔ)器訪問(wèn)的96-99%是針對(duì)相 同的25%的存儲(chǔ)器地址進(jìn)行的。通過(guò)利用存儲(chǔ)器存儲(chǔ)體系結(jié)構(gòu)可實(shí)現(xiàn) 性能增強(qiáng),該體系結(jié)構(gòu)允許較少使用的數(shù)據(jù)駐留在具有相對(duì)較高時(shí)延的存儲(chǔ)器位置(即,例如遠(yuǎn)離存儲(chǔ)器控制器的DRAM芯片),而更頻 繁使用的數(shù)據(jù)單元被存儲(chǔ)在較低時(shí)延的存儲(chǔ)器位置(即,例如在距離 存儲(chǔ)器控制器更近的DRAM芯片中)。這種體系結(jié)構(gòu)可被應(yīng)用于許多 存儲(chǔ)器標(biāo)準(zhǔn),包括DRAM、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、 FBDIMM 存儲(chǔ)器、緩沖和再驅(qū)動(dòng)DRAM、快擦寫(xiě)存儲(chǔ)器或串行排列的DASD存 儲(chǔ)設(shè)備。
不同于當(dāng)前的高速緩沖存儲(chǔ)器模式,該模式在快速的輔存儲(chǔ)器位 置(例如板上高速緩存芯片)中存儲(chǔ)頻繁使用的數(shù)據(jù)單元,以及在主 存儲(chǔ)器位置(例如主存儲(chǔ)器)中保存存儲(chǔ)在輔位置中的每個(gè)數(shù)據(jù)單元 的拷貝,本發(fā)明的一個(gè)實(shí)施例區(qū)分主位置的時(shí)延間的差別。因此,本 發(fā)明將整個(gè)存儲(chǔ)器空間(或其子集)視作一組主存儲(chǔ)器位置,并且將 更頻繁訪問(wèn)的數(shù)據(jù)單元移動(dòng)到較低時(shí)延的主存儲(chǔ)器位置,而將較不頻 繁訪問(wèn)的數(shù)據(jù)單元移動(dòng)到較高時(shí)延的主存儲(chǔ)器位置。
如圖1所示,存儲(chǔ)器管理系統(tǒng)100的一個(gè)圖示包括存儲(chǔ)器控制器 110,其控制存儲(chǔ)在存儲(chǔ)器空間120中的數(shù)據(jù),并且給處理器112或其它 邏輯電路提供數(shù)據(jù)。在一個(gè)實(shí)施例中,存儲(chǔ)器空間120可包括主存儲(chǔ)器 芯片的陣列。在另一個(gè)實(shí)施例中,存儲(chǔ)器空間120可包括若干不同的存 儲(chǔ)器設(shè)備,包括以下的組合片上存儲(chǔ)器、板上存儲(chǔ)器、主存儲(chǔ)器等。 存儲(chǔ)器空間120可按照不同物理存儲(chǔ)器單元被分組。(示出的物理單元 被表示為M11到M44,其中以一種可視化物理單元的方式,第一個(gè)數(shù) 字表示行,第二個(gè)數(shù)字表示列)。例如,物理單元可對(duì)應(yīng)于不同存儲(chǔ)器 芯片,或存儲(chǔ)設(shè)備中的不同存儲(chǔ)器位置。應(yīng)當(dāng)指出,為易于理解,大 大簡(jiǎn)化了圖l中所示的內(nèi)容,并且許多商業(yè)實(shí)施例可以更加復(fù)雜。通過(guò) 直接測(cè)量或者模擬來(lái)確定每個(gè)存儲(chǔ)器位置的時(shí)延,并且根據(jù)其時(shí)延, 每個(gè)單獨(dú)物理存儲(chǔ)器位置被分組成多個(gè)時(shí)延類(lèi)中的一個(gè)。例如,存儲(chǔ) 器單元M12、 M13、 M22和M23被分組在快時(shí)延組122。這可以是例如 因?yàn)樗鼈兾锢砩辖咏鎯?chǔ)器控制器IIO,或因?yàn)樗鼈儾捎帽绕渌鎯?chǔ)器 位置更快的技術(shù),或兩者的組合。中等時(shí)延組124包括存儲(chǔ)器位置M11、 M21、 M32、 M33、 M24和M14。慢時(shí)延組126包括存儲(chǔ)器位置M31、 M41、 M42、 M43、 M44和M34。存儲(chǔ)器控制器110基于每個(gè)數(shù)據(jù)單元的使用水平將數(shù)據(jù)單元(其 可以表示從數(shù)據(jù)的單個(gè)字節(jié)到頁(yè)或其它分組的任何尺寸)分配到主存 儲(chǔ)器位置。因此,具有相對(duì)較高使用頻率的數(shù)據(jù)單元將被存儲(chǔ)在快時(shí) 延組122中的存儲(chǔ)器位置,具有相對(duì)中等使用頻率的數(shù)據(jù)單元將被存儲(chǔ) 在中等時(shí)延組124中的存儲(chǔ)器位置,具有相對(duì)較低使用頻率的數(shù)據(jù)單元 將被存儲(chǔ)在慢時(shí)延組126中的存儲(chǔ)器位置。雖然在一個(gè)實(shí)施例中,本發(fā)明可被應(yīng)用于改進(jìn)諸如主存儲(chǔ)器的僅 僅一種存儲(chǔ)器的性能,但是在其他實(shí)施例中,本發(fā)明可被應(yīng)用于包括 若干不同存儲(chǔ)器設(shè)備的存儲(chǔ)器空間。如圖2所示,多設(shè)備存儲(chǔ)器空間200 可以特別包括下列存儲(chǔ)器設(shè)備片上存儲(chǔ)器210、板上存儲(chǔ)器212、主 存儲(chǔ)器214、快擦寫(xiě)存儲(chǔ)器216和盤(pán)存儲(chǔ)器218。根據(jù)應(yīng)用,可以將存儲(chǔ) 器位置分組成所需數(shù)目的不同時(shí)延類(lèi)。所示的例子包括最快組220(其 僅包括片上存儲(chǔ)器210),次最快組222 (其包括片上存儲(chǔ)器210的較慢 部分、所有的板上存儲(chǔ)器212和主存儲(chǔ)器214的低時(shí)延部分),中等時(shí) 延組224 (其包括來(lái)自主存儲(chǔ)器214的大部分存儲(chǔ)器位置和快擦寫(xiě)存儲(chǔ) 器216的較快部分),中等慢時(shí)延組228 (其包括主存儲(chǔ)器214的較慢部 分和大部分快擦寫(xiě)存儲(chǔ)器228),慢時(shí)延組226 (其包括主存儲(chǔ)器214 的最慢部分、快擦寫(xiě)存儲(chǔ)器216的最慢部分和盤(pán)存儲(chǔ)器218的最快部 分),以及最慢時(shí)延組230 (其包括大部分盤(pán)存儲(chǔ)器218)。在這種情 況下,數(shù)據(jù)單元可以根據(jù)6個(gè)不同使用頻率加以分類(lèi)并且存儲(chǔ)在相應(yīng)的 時(shí)延組中。圖3A到3D中示出了一個(gè)模式,其包括根據(jù)使用頻率和存儲(chǔ)器位 置時(shí)延生成用于管理數(shù)據(jù)的存儲(chǔ)器映射300。在這種模式中,所有存儲(chǔ) 器地址被分配給三個(gè)時(shí)延類(lèi)中的一個(gè)"S,,(慢)、"M,,(中等)或"F,, (快)。在一個(gè)實(shí)施例中,存儲(chǔ)器映射300可以是頁(yè)表的一部分。該分配 在多數(shù)應(yīng)用中將是靜態(tài)的。如圖3A所示,每個(gè)數(shù)據(jù)單元最初被分配使 用頻率"OOO"。每個(gè)數(shù)據(jù)單元可被存儲(chǔ)在任何存儲(chǔ)器位置。在一些實(shí)施
例中,基于使用頻率的預(yù)測(cè), 一些或所有數(shù)據(jù)單元可被預(yù)先分配存儲(chǔ) 器位置。
一旦存儲(chǔ)器操作開(kāi)始,每當(dāng)訪問(wèn)存儲(chǔ)在每個(gè)存儲(chǔ)器位置中的數(shù)據(jù)單元,就遞增與該存儲(chǔ)器位置相關(guān)的使用頻率。如圖3B所示,在 預(yù)定數(shù)目的周期之后,與每個(gè)存儲(chǔ)器位置相關(guān)的使用頻率字段反映了 在預(yù)定數(shù)目的周期期間每個(gè)數(shù)據(jù)單元已被訪問(wèn)的次數(shù)。如圖3C所示, 將最少訪問(wèn)的數(shù)據(jù)單元移動(dòng)到指定為"S"的存儲(chǔ)器位置(例如,將在該 期間尚未被訪問(wèn)過(guò)的數(shù)據(jù)單元"EXXXXXX,,從圖3B中的地址"0F384" 移動(dòng)到圖3C中的地址"0F380"),將適度訪問(wèn)的數(shù)據(jù)單元移動(dòng)到指定 為"M,,的存儲(chǔ)器位置(例如,將在該期間已被訪問(wèn)過(guò)4次的數(shù)據(jù)單元 "AXXXXXX"從圖3B中的地址"0F380"移動(dòng)到圖3C中的地址 "0F385,,),將頻繁訪問(wèn)的數(shù)據(jù)單元移動(dòng)到指定為"F,,的存儲(chǔ)器位置(例 如,在該期間已被訪問(wèn)過(guò)7次的數(shù)據(jù)單元"CXXXXXX,,從圖3B中的地 址"0F382,,移動(dòng)到圖3C中的地址"0F386")。 一旦數(shù)據(jù)單元已被分配到 適當(dāng)?shù)拇鎯?chǔ)器位置,如圖3D所示,使用頻率計(jì)數(shù)器被復(fù)位到"000", 并且過(guò)程再次開(kāi)始。圖4中示出了管理存儲(chǔ)器的一種方式的流程圖。最初,每個(gè)使用 頻率被設(shè)置成零400,存儲(chǔ)器周期計(jì)數(shù)器被設(shè)置成零402。測(cè)試404確定 預(yù)定的時(shí)間量是否已結(jié)束。如果沒(méi)有結(jié)束,則存儲(chǔ)器周期計(jì)數(shù)器被遞 增406,系統(tǒng)針對(duì)每個(gè)存儲(chǔ)器地址確定408在當(dāng)前周期期間地址是否被 訪問(wèn)過(guò)。如果存儲(chǔ)器被訪問(wèn)過(guò),那么與該地址對(duì)應(yīng)的使用頻率被遞增 410,系統(tǒng)返回到步驟404。如果存儲(chǔ)器未被訪問(wèn),那么系統(tǒng)直接返回 到步驟404。 一旦預(yù)定時(shí)間量已經(jīng)結(jié)束,則系統(tǒng)針對(duì)每個(gè)地址確定420 使用頻率是否大于"上移"閾值。如果大于,則相應(yīng)的數(shù)據(jù)單元被移動(dòng) 到更快時(shí)延類(lèi)中的地址。如果不大于,則系統(tǒng)確定424使用頻率是否小 于"下移"閾值。如果小于下移閾值,則相應(yīng)的數(shù)據(jù)單元被移動(dòng)到更慢 時(shí)延類(lèi)中的地址。否則,數(shù)據(jù)單元被保留在原處,并且系統(tǒng)返回到步 驟400?;诿總€(gè)使用頻率組內(nèi)的數(shù)據(jù)單元的預(yù)測(cè)數(shù)量,"上移,,和"下 移,,閾值可以是靜態(tài)的,或者可以是動(dòng)態(tài)的,其將允許使用頻率組來(lái)保 持固定數(shù)量的項(xiàng),但是其中成員資格準(zhǔn)則可以改變。
本發(fā)明很小修改或不做修改就可被應(yīng)用于現(xiàn)有的存儲(chǔ)器管理模 式,并且可被應(yīng)用于現(xiàn)有的硬件。例如,可以修改采用高速緩沖存儲(chǔ) 器、主存儲(chǔ)器和盤(pán)存儲(chǔ)器的現(xiàn)有模式,使得存儲(chǔ)器位置映射將根據(jù)其 各自的時(shí)延而不是它們所駐留在的存儲(chǔ)器設(shè)備對(duì)現(xiàn)有存儲(chǔ)器單元進(jìn)行 分組。本發(fā)明優(yōu)于諸如高速緩沖存儲(chǔ)器模式的其他存儲(chǔ)器模式的一個(gè) 優(yōu)點(diǎn)是其不需要在主存儲(chǔ)器位置和輔存儲(chǔ)器位置中保存數(shù)據(jù)的重復(fù)拷 貝。在一個(gè)實(shí)施例中,如那些當(dāng)前被用來(lái)在盤(pán)和主存儲(chǔ)器(例如DRAM)之間給存儲(chǔ)器換頁(yè)的方法相比,用于確定存儲(chǔ)器使用的方法 是相同的或者相似的。下面權(quán)利要求的范圍旨在覆蓋用于將存儲(chǔ)器在 盤(pán)存儲(chǔ)器和其他存儲(chǔ)器類(lèi)型換入和換出的所有現(xiàn)有模式。在一個(gè)實(shí)施 例中,本發(fā)明可被實(shí)現(xiàn)為存儲(chǔ)器時(shí)延映射的軟件管理的擴(kuò)展。在一些實(shí)施例中,數(shù)據(jù)單元訪問(wèn)計(jì)數(shù)器模式會(huì)導(dǎo)致增加開(kāi)銷(xiāo)。并 且,利用這樣的模式,如果在短時(shí)間段內(nèi)多次訪問(wèn)數(shù)據(jù)單元,然后不 再訪問(wèn)該數(shù)據(jù)單元,則其訪問(wèn)計(jì)數(shù)器將使其被留在低時(shí)延存儲(chǔ)器中太 久。用于實(shí)現(xiàn)數(shù)據(jù)單元分配的另 一種機(jī)制可采用類(lèi)似于當(dāng)前高速緩存 線替換的模式。存儲(chǔ)器管理系統(tǒng)設(shè)計(jì)領(lǐng)域的技術(shù)人員通常知道,被頻 繁訪問(wèn)的數(shù)據(jù)單元可通過(guò)最近最少使用(LRU)模式的使用而被保留 在低時(shí)延存儲(chǔ)器中。在LRU模式中,數(shù)據(jù)單元按其最近訪問(wèn)的順序被 排序。當(dāng)需要移動(dòng)數(shù)據(jù)單元到更慢存儲(chǔ)器時(shí)延類(lèi)時(shí),最近最少使用的 數(shù)據(jù)單元被首先移動(dòng)。存儲(chǔ)器時(shí)延分層結(jié)構(gòu)可被傳送到存儲(chǔ)器管理控制器軟件,其管理 在存儲(chǔ)器時(shí)延層次結(jié)構(gòu)中頁(yè)被存儲(chǔ)在哪里。可能有軟件跟蹤將始終被 高度使用的存儲(chǔ)器頁(yè)的情況。在這種情況下,這樣的存儲(chǔ)器頁(yè)(或者其 它數(shù)據(jù)單元)應(yīng)當(dāng)固定在最低時(shí)延存儲(chǔ)器位置,例如通過(guò)對(duì)某些數(shù)據(jù)單 元使用鎖(例如任務(wù)分配鎖)、用于事務(wù)處理的日志文件,從而保證 數(shù)據(jù)單元總是被分配給預(yù)定時(shí)延類(lèi)的存儲(chǔ)器。應(yīng)該注意到,本發(fā)明可被應(yīng)用于計(jì)算機(jī)的整個(gè)存儲(chǔ)器空間,或僅 應(yīng)用于其子集。這里期望將權(quán)利要求的范圍延伸到所有此類(lèi)情況。
雖然包括在遞交時(shí)為發(fā)明人所知的優(yōu)選實(shí)施例和本發(fā)明的最佳 方式,但是上述實(shí)施例僅僅作為說(shuō)明的例子被提供。將容易理解,在 沒(méi)有背離本發(fā)明的精神和范圍的情況下,可以由該說(shuō)明書(shū)中所揭示的 特定的實(shí)施例作出許多改變。因此,應(yīng)由下面的權(quán)利要求確定本發(fā)明 的范圍,而不是限于上面具體描述的實(shí)施例。
權(quán)利要求
1.一種控制包含多個(gè)存儲(chǔ)器位置的計(jì)算機(jī)可讀存儲(chǔ)器的方法,包括步驟a.確定存儲(chǔ)在第一存儲(chǔ)器位置的數(shù)據(jù)單元的使用頻率;以及b.將數(shù)據(jù)單元移動(dòng)到不同于第一存儲(chǔ)器位置的第二存儲(chǔ)器位置,所述第二存儲(chǔ)器位置是基于所述第二存儲(chǔ)器位置的已知時(shí)延與所述數(shù)據(jù)單元的使用頻率之間的對(duì)應(yīng)關(guān)系來(lái)選擇的,所述第二存儲(chǔ)器位置是所述數(shù)據(jù)單元的主數(shù)據(jù)存儲(chǔ)位置。
2. 如權(quán)利要求1所述的方法,其中確定步驟包括對(duì)在預(yù)定數(shù)目的 存儲(chǔ)器周期期間訪問(wèn)所述數(shù)據(jù)單元的次數(shù)進(jìn)行計(jì)數(shù)。
3. 如權(quán)利要求1所述的方法,其中第一存儲(chǔ)器位置與第二存儲(chǔ)器 位置具有相同的物理存儲(chǔ)器類(lèi)。
4. 如權(quán)利要求1所述的方法,其中第一存儲(chǔ)器位置與第二存儲(chǔ)器 位置具有不同的物理存儲(chǔ)器類(lèi)。
5. 如權(quán)利要求1所述的方法,進(jìn)一步包括生成存儲(chǔ)器映射的步驟, 該存儲(chǔ)器映射將存儲(chǔ)器位置分組成多個(gè)時(shí)延類(lèi),每個(gè)時(shí)延類(lèi)與不同的 時(shí)延范圍相對(duì)應(yīng)。
6. 如權(quán)利要求1所述的方法,進(jìn)一步包括步驟 基于多個(gè)存儲(chǔ)器位置中的每個(gè)的已知時(shí)延,將該存儲(chǔ)器位置表征為一組時(shí)延類(lèi)中的一個(gè)。
7. 如權(quán)利要求1所述的方法,其中確定數(shù)據(jù)單元的使用頻率的步 驟包括步驟a. 將計(jì)數(shù)器與第一存儲(chǔ)器位置相關(guān)聯(lián);以及b. 每當(dāng)訪問(wèn)所述數(shù)據(jù)單元時(shí)遞增計(jì)數(shù)器。
8. —種管理計(jì)算電路中的多個(gè)存儲(chǔ)器位置的方法,每個(gè)所述存儲(chǔ) 器位置存儲(chǔ)相應(yīng)數(shù)據(jù)單元,所述方法包括步驟a. 確定每個(gè)存儲(chǔ)器位置的時(shí)延;b. 確定每個(gè)數(shù)據(jù)單元的使用頻率;以及 C.在具有低時(shí)延的主存儲(chǔ)器位置存儲(chǔ)具有高使用頻率的至少一個(gè) 數(shù)據(jù)單元,以及在具有高時(shí)延的主存儲(chǔ)器位置存儲(chǔ)具有低使用頻率的 至少一個(gè)數(shù)據(jù)單元。
9. 如權(quán)利要求8所述的方法,進(jìn)一步包括生成存儲(chǔ)器映射的步驟, 該存儲(chǔ)器映射將存儲(chǔ)器位置分組成多個(gè)時(shí)延類(lèi),每個(gè)時(shí)延類(lèi)與不同的 時(shí)延范圍相對(duì)應(yīng)。
10. 如權(quán)利要求9所述的方法,其中確定每個(gè)存儲(chǔ)器位置的時(shí)延的 步驟包括步驟在使用計(jì)算電路之前確定每個(gè)存儲(chǔ)器位置的時(shí)延,使得所述存儲(chǔ) 器映射是靜態(tài)的。
11. 如權(quán)利要求8所述的方法,其中確定每個(gè)數(shù)據(jù)單元的使用頻率 的步驟包括步驟a. 將計(jì)數(shù)器與每個(gè)存儲(chǔ)器位置相關(guān)聯(lián);以及b. 每當(dāng)訪問(wèn)存儲(chǔ)在存儲(chǔ)器位置的數(shù)據(jù)單元時(shí)遞增計(jì)數(shù)器。
12. 如權(quán)利要求11所述的方法,進(jìn)一步包括步驟a. 在預(yù)定數(shù)目的存儲(chǔ)器周期之后,比較與每個(gè)存儲(chǔ)器位置相關(guān)的 計(jì)數(shù)器的當(dāng)前值;以及b. 基于與其中存儲(chǔ)每個(gè)數(shù)據(jù)單元的存儲(chǔ)器位置相對(duì)應(yīng)的計(jì)數(shù)器 的當(dāng)前值,確定該數(shù)據(jù)單元的使用頻率;以及c. 將數(shù)據(jù)單元移動(dòng)到具有與該數(shù)據(jù)單元的使用頻率對(duì)應(yīng)的時(shí)延類(lèi) 的存儲(chǔ)器位置。
13. 如權(quán)利要求8所述的方法,其中數(shù)據(jù)單元包括頁(yè)表存儲(chǔ)器管理 模式中的數(shù)據(jù)頁(yè)。
14. 一種用于管理數(shù)據(jù)單元的裝置,包括a. 多個(gè)存儲(chǔ)器位置,每個(gè)存儲(chǔ)器位置具有被分類(lèi)為多個(gè)時(shí)延類(lèi)中 的一個(gè)的已知時(shí)延;b. 與每個(gè)存儲(chǔ)器位置相關(guān)的使用頻率指示器;c. 遞增器,在預(yù)定數(shù)目的周期上,每當(dāng)存儲(chǔ)在相應(yīng)存儲(chǔ)器位置中 的數(shù)據(jù)單元被訪問(wèn)時(shí),該遞增器遞增每個(gè)使用頻率指示器;以及 d.存儲(chǔ)器控制器,其在作為與數(shù)據(jù)單元的使用頻率對(duì)應(yīng)的時(shí)延類(lèi) 的成員的主存儲(chǔ)器位置存儲(chǔ)每個(gè)數(shù)據(jù)單元。
15. 根據(jù)權(quán)利要求14的裝置,其中使用頻率指示器包括與頁(yè)表上的 每個(gè)存儲(chǔ)器位置相關(guān)的多個(gè)位。
16. 根據(jù)權(quán)利要求14的裝置,其中至少 一個(gè)時(shí)延類(lèi)包含來(lái)自不同物 理存儲(chǔ)器單元的存儲(chǔ)器位置。
17. 根據(jù)權(quán)利要求14的裝置,其中可由所述裝置訪問(wèn)的至少 一個(gè)物 理存儲(chǔ)器單元包含被分類(lèi)為不同時(shí)延類(lèi)的存儲(chǔ)器位置。
18. 根據(jù)權(quán)利要求14的裝置,其中所述多個(gè)存儲(chǔ)器位置包含駐留在 不同物理存儲(chǔ)器單元上的存儲(chǔ)器位置。
19. 根據(jù)權(quán)利要求14的裝置,其中所述多個(gè)存儲(chǔ)器位置包含駐留在 不同類(lèi)型的物理存儲(chǔ)器單元上的存儲(chǔ)器位置。
全文摘要
在控制包含多個(gè)存儲(chǔ)器位置的計(jì)算機(jī)可讀存儲(chǔ)器的方法中,確定存儲(chǔ)在第一存儲(chǔ)器位置中的數(shù)據(jù)單元的使用頻率。將數(shù)據(jù)單元移動(dòng)到不同于第一存儲(chǔ)器位置的第二存儲(chǔ)器位置,所述第二存儲(chǔ)器位置是基于所述第二存儲(chǔ)器位置的已知時(shí)延與所述數(shù)據(jù)單元的使用頻率之間的對(duì)應(yīng)關(guān)系來(lái)選擇的,所述第二存儲(chǔ)器位置是所述數(shù)據(jù)單元的主數(shù)據(jù)存儲(chǔ)位置。
文檔編號(hào)G06F12/02GK101105772SQ20071010259
公開(kāi)日2008年1月16日 申請(qǐng)日期2007年5月16日 優(yōu)先權(quán)日2006年7月13日
發(fā)明者威廉·P.·郝維斯, 杰拉爾德·K.·巴特里, 約翰·M.·伯肯哈根, 菲利普·R.·格曼 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司