專利名稱:用于轉(zhuǎn)移空白的系統(tǒng)和方法
背景技術(shù):
高速緩存是使用更小、更快速的存儲裝置來加速對更大、更慢的存儲裝置中存儲的數(shù)據(jù)的訪問的公知技術(shù)。高速緩存的典型應(yīng)用可以在盤訪問技術(shù)中找到。例如,如果將以訪問時間少于驅(qū)動器的固態(tài)存儲器實現(xiàn)的高速緩存插入驅(qū)動器和處理器之間,訪問硬盤驅(qū)動器上的數(shù)據(jù)的基于處理器的系統(tǒng)可以達到改良的性能。如本領(lǐng)域熟練技術(shù)人員公知的,這種高速緩存被存放來自系統(tǒng)訪問的盤的數(shù)據(jù),隨后對相同數(shù)據(jù)的后續(xù)訪問可以對該高速緩存進行而不是對所述盤進行,從而加速性能。高速緩存的使用提供了對系統(tǒng)設(shè)計的某些約束,諸如高速緩存與主存儲裝置的一致性要求,例如在將數(shù)據(jù)寫到高速緩存時,以及基于性能的約束,這些約束確定例如在對不在高速緩存中的數(shù)據(jù)元素進行數(shù)據(jù)訪問以及高速緩存正好滿了時將替換高速緩存的哪些部分(高速緩存替換策略)。
高速緩存,特別是對盤高速緩存,的公知設(shè)計是N路組相聯(lián)高速緩存,其中N是某非零整數(shù)。在這種設(shè)計中,高速緩存被實現(xiàn)為高速緩存線的N個陣列的集合,每個陣列表示一組,而每個組只具有這些數(shù)據(jù)元素作為成員(member)或簡單地具有來自其對該組的尋址映射基于容易計算的映射函數(shù)的盤的元素。因此,在盤高速緩存的情況下,盤上的任何元素都可以快速地被映射到高速緩存中的一組,例如通過獲得用組數(shù)N進行盤上元素的地址的求模形成的整數(shù)值,其標記,在高速緩存中(標記MOD N)該結(jié)果是唯一地將元素映射到一組的數(shù)。許多其它方法可用于將一線映射到高速緩存中的一組,包括標記的比特移位,或者與線相關(guān)聯(lián)的任何其它唯一組,以獲得組的索引號;在標記或其它唯一標識符和掩碼之間進行邏輯AND;用掩碼對標記或其它唯一標識符進行XOR以導出一組數(shù),這是本領(lǐng)域熟練技術(shù)人員已知的,且所聲明的主題不限于這些方法中的任一個或多個。
為了在組相聯(lián)高速緩存中定位元素,系統(tǒng)使用盤上數(shù)據(jù)的地址來計算其中駐留元素的組,并隨后在典型實現(xiàn)中查找經(jīng)過表示該組的陣列直到發(fā)現(xiàn)匹配,或者確定元素不在該組中。
高速緩存的類似實現(xiàn)可使用散列表代替相聯(lián)組來組織高速緩存。在這種高速緩存中,元素再一次被組織成固定大小陣列,通常是同等大小。但是在該實例中,散列函數(shù)被用于計算其中定位元素的陣列。對散列函數(shù)的輸入可基于元素的標記且隨后函數(shù)將元素映射到特殊的散列地址。散列函數(shù)和用于訪問數(shù)據(jù)和高速緩存組織的使用是公知的且這里不詳細討論。
為了簡化該此專利申請中主題的說明,引入術(shù)語恒定訪問時間界限(CATB)來描述包括上述基于組相聯(lián)和散列表的高速緩存的高速緩存設(shè)計。本領(lǐng)域中CATB高速緩存的關(guān)鍵特點在于它們被組織成固定大小陣列,通常是同等大小,它們每一個都是基于諸如其標記的高速緩存元素的某些唯一方面而在恒定時間內(nèi)可尋址的。CATB高速緩存的其它設(shè)計可以是本領(lǐng)域熟練技術(shù)人員顯而易見的。一般,在CATB高速緩存中定位一個元素的訪問時間由常數(shù)限定,或者至少獨立于總高速緩存大小,因為識別陣列的時間是恒定的且每個陣列大小固定,所以陣列內(nèi)的這種查找由常數(shù)限定。為了術(shù)語的一致,術(shù)語查找群被用于表示通過映射元素來識別的陣列(即,組相聯(lián)高速緩存中的組或者基于散列表的高速緩存中的散列地址)。
CATB高速緩存中的每個元素或高速緩存線120都包含來自系統(tǒng)正訪問的較慢存儲裝置的實際數(shù)據(jù)以及用于管理用途的高速緩存管理系統(tǒng)所使用的稱作元數(shù)據(jù)的一些其它數(shù)據(jù)。元數(shù)據(jù)可包括一標記,即線中數(shù)據(jù)的唯一標識符或地址,以及涉及包括比特或標志的線狀態(tài)的其它數(shù)據(jù),該標志用以表示線被使用(分配)還是不被使用(未分配),以及保留用于其它用途的比特。
只要系統(tǒng)在運行中,高速緩存中的特定線總是保留在該高速緩存中是有利的,例如包含常訪問的操作系統(tǒng)代碼的那些線。那些高速緩存線潛在地無限期地被保持在高速緩存中并不受正常的高速緩存替換策略的影響,且被稱作被“固定住”。當為了進入高速緩存的新數(shù)據(jù)的存儲而需要新高速緩存線時,高速緩存管理系統(tǒng)將不從高速緩存中除去該線。在這種實現(xiàn)中的線在其元數(shù)據(jù)中可具有標志,表示線是否被固定住。
但存在與固定住相關(guān)聯(lián)的缺點。出于已知的且這里不詳細描述的原因,具有近似相等大小的組的CATB高速緩存會表現(xiàn)得比具有不均勻組大小的那些更好。如果在諸如組相聯(lián)高速緩存中的組的CATB高速緩存的查找群中的一個或多個線由固定住的數(shù)據(jù)占據(jù),則用非固定住數(shù)據(jù)的用于高速緩存操作的查找群的有效大小減少固定住線的數(shù)量。如果系統(tǒng)嘗試訪問被映射到該查找群的數(shù)據(jù)元素,相對于在具有非固定住元素的其它查找群中訪問數(shù)據(jù)的性能,其性能會被降低。該現(xiàn)象被稱作熱點形成,并為具有固定住線的高速緩存的設(shè)計提出了問題。
圖1示出了可用于實現(xiàn)N路組相聯(lián)高速緩存的動態(tài)數(shù)據(jù)結(jié)構(gòu)。
圖2示出了根據(jù)所聲明主題的在沒有固定住數(shù)據(jù)被添加到高速緩存時實現(xiàn)具有保留用于固定住數(shù)據(jù)的一部分高速緩存的N路組相聯(lián)高速緩存的數(shù)據(jù)結(jié)構(gòu)的狀態(tài)。
圖3示出了所聲明主題的實施例中在已將一些固定住高速緩存線插入高速緩存后圖2的數(shù)據(jù)結(jié)構(gòu)的狀態(tài)。
圖4示出了在所聲明主題的一個實施例中用于將固定住數(shù)據(jù)插入高速緩存的動作的流程圖。
圖5示出了在所聲明主題的一個實施例中在非易失性實現(xiàn)中的斷電事件后采取重新構(gòu)建高速緩存的動作的流程圖。
圖6示出了根據(jù)所聲明主題的一個實施例的基于處理器系統(tǒng)。
具體實施例方式
在所聲明主題的一個實施例中,動態(tài)數(shù)據(jù)結(jié)構(gòu)被用于實現(xiàn)組相聯(lián)高速緩存,一種CATB高速緩存類型。在這種實現(xiàn)中,如圖1所示,高速緩存中的每個組都被實現(xiàn)為鏈接列表100。在兩個示例性實施例中,該列表可以是單或雙鏈接列表。每個組都包含高速緩存線120,每個高速緩存線又具有數(shù)據(jù)和元數(shù)據(jù),如140處所示。從高速緩存的該實現(xiàn)中插入、訪問和去除元素可通過使用高速緩存線的標記計算用于組的標識符并隨后遍歷與相對于該組的鏈接列表來實現(xiàn)。如果找到具有相同標記的線,則元素在該高速緩存中;如果沒有,則元素不在該高速緩存中。
在這種類型的高速緩存實現(xiàn)中,高速緩存中的組可以都是相同大小,但也可以通過從表示一組的鏈接列表中去除一根高速緩存線并將它鏈接到另一鏈接列表或者倒過來從與表示這些組的列表分開的鏈接列表中去除高速緩存線并將它添加到一組,而從組中去除元素或添加元素。因此,在這種高速緩存實現(xiàn)中,組可以是大小不同的。
如圖6所示的基于處理器的系統(tǒng)實現(xiàn)所聲明主題的一個示例性實施例。該圖示出了經(jīng)由總線640連接到存儲器660以及包括盤680和盤高速緩存600的盤和高速緩存系統(tǒng)的處理器620。在該實現(xiàn)中,盤高速緩存600可以在易失性或非易失性存儲器中實現(xiàn)。處理器可執(zhí)行程序和訪問數(shù)據(jù),使得數(shù)據(jù)對盤680進行讀取和寫入因此在盤高速緩存600中進行高速緩存。圖6的系統(tǒng)當然僅僅是表示性的?;谔幚砥鞯南到y(tǒng)的許多其它變型是可能的,包括處理器數(shù)量、總線結(jié)構(gòu)、存儲器結(jié)構(gòu)和盤數(shù)量和類型的變型。此外,所聲明的主題不限于基于處理器的系統(tǒng),特別是一般可以擴展為高速緩存,如權(quán)利要求書中描述的。
在上述實施例中和所聲明主題的其它實施例中,非易失性存儲器單元可使用參考圖1所討論的數(shù)據(jù)結(jié)構(gòu)用于實現(xiàn)盤高速緩存,諸如圖6所示的,但其中一部分高速緩存被保留用于圖2所示的固定住數(shù)據(jù)。在圖中,稱作空(free)固定住線240的一部分未分配高速緩存線被保留與固定住數(shù)據(jù)一起使用。這些空固定住線被置于空固定住鏈接列表220。其余高速緩存線260按用于組相聯(lián)高速緩存的通常方式被分配給N個組200。
在根據(jù)所聲明主題的其它實施例中,高速緩存可按易失性存儲實現(xiàn),這與以上討論的實施例不同。該高速緩存可用作用于盤高速緩存之外用途的高速緩存,例如連網(wǎng)數(shù)據(jù)或數(shù)據(jù)庫高速緩存。
用于組織高速緩存組的實際數(shù)據(jù)結(jié)構(gòu)也可在所聲明主題的一些實施例中不同。例如,高速緩存中的組可以不是精確的相同大小,如圖中所描述的。
為方便說明,上述實施例限于N路組相聯(lián)高速緩存且一般描述這種高速緩存的動態(tài)實現(xiàn)。但是,列表或其它動態(tài)數(shù)據(jù)結(jié)構(gòu)可用于按相似方式使任何類型的CATB高速緩存是動態(tài)的。因此,基于散列表的CATB高速緩存也可用諸如某些類型的鏈接列表的動態(tài)結(jié)構(gòu)類似地實現(xiàn),代替用于每個散列地址的陣列。在所聲明主題的其它實施例中,在其它CATB高速緩存中,可使用不同的基本查找方法,只要查找時間不取決于高速緩存中元素的總數(shù)且單個查找群在大小方面是動態(tài)可變的。
此外,在其它實施例中,諸如“元素”或“存儲元素”或“條目”的其它術(shù)語可用于描述高速緩存線。討論這些可選實施例以說明根據(jù)所聲明主題的實施例可采用的許多可能形式,且不旨在將所聲明主題僅限制于所討論的實施例。
圖3示出了操作期間如上述的根據(jù)所聲明主題的實施例中實現(xiàn)的組相聯(lián)高速緩存的快照。在其操作中的這點處,若干固定住線380已被添加到高速緩存中。在添加固定住線時,將空固定住線從空固定住列表300中去除并用于存儲數(shù)據(jù)的固定住線。當每個固定住線都被添加到高速緩存時,該標記被用于選擇它要被插入的組230之一。在已將固定住線添加到該組后,可以觀察到已被插入固定住線的組中空固定住線340的數(shù)量與插入前相同且跨組的空固定住線的數(shù)量保持平衡。隨著操作進行,會減少空固定住線360的數(shù)量。
將固定住數(shù)據(jù)添加到高速緩存的操作在圖4的流程圖中進一步說明。在將新的固定住數(shù)據(jù)添加到高速緩存中時,高速緩存管理系統(tǒng)將一線從空固定住列表中去除400,將該固定住數(shù)據(jù)存入線420,計算應(yīng)將線插入的組440,以及將線添加到選定的組460。
如以前,體現(xiàn)所聲明主題的高速緩存的操作的該描述不是限制性的。許多其它實施例也是可能的。對于一個示例,不是鏈接列表的數(shù)據(jù)結(jié)構(gòu)可用于存儲固定住數(shù)據(jù)可用的高速緩存線。雖然在該實施例中跨組的空固定住線表現(xiàn)為保持相等,但其它實施例可用不維持跨高速緩存組的空固定住線的數(shù)量的嚴格相等。在其它實施例中,在高速緩存操作期間,被分配用于固定住數(shù)據(jù)的線數(shù)可動態(tài)變化。如以前,操作可容易地推廣到其它CATB高速緩存。討論這些可選實施例以說明根據(jù)所聲明主題的實施例可采用的許多可能形式,并不旨在將所聲明主題僅限于所討論的實施例。
在根據(jù)所聲明主題的一些實施例中的實現(xiàn)中,具有固定住線的保留列表的組相聯(lián)高速緩存可在非易失性存儲器中實現(xiàn),即在切斷裝置外部電源后保持其數(shù)據(jù)完整性的裝置中,切斷外部電源是關(guān)閉系統(tǒng)或電源故障時會出現(xiàn)的,會造成高速緩存電源的丟失。在一個示例性實施例中,這包括用非易失性存儲器實現(xiàn)的高速緩存,作為盤高速緩存。在這種實現(xiàn)中,可能在斷電事件后恢復(fù)電源時恢復(fù)高速緩存狀態(tài)。用于固定住數(shù)據(jù)的高速緩存線的保留群的添加不影響這種恢復(fù)。圖5是在這種性質(zhì)的實現(xiàn)中可用于實現(xiàn)恢復(fù)的過程的流程圖。
圖5中,恢復(fù)過程檢查非易失性高速緩存中的每個線。只要有更多的線要檢查,500,該過程就檢查下一個線510。如果線具有元數(shù)據(jù),其中狀態(tài)信息指示該線被分配,即包含有效高速緩存數(shù)據(jù),則它被插入通過從線的標記中計算組的標識符所標識的組540。如果線未被分配,則可以按某一方式將它添加到未分配線的池530。在處理了所有線時,該恢復(fù)隨后檢查恢復(fù)的第一階段中形成的每個組。只要還存在未處理的組550,就檢查下一個未處理的組。對于具有指示線包含固定住數(shù)據(jù)的元數(shù)據(jù)的組中的每個線,恢復(fù)過程將來自未分配線池的線添加到該組以維持所有組上的未分配線的平衡數(shù)量,570、580。任何剩余的線都被返回給池,590。
涉及該恢復(fù)過程的根據(jù)所聲明主題的許多其它實施例都是可能的。例如,在一些實施例中,重新構(gòu)建過程產(chǎn)生的組可不精確平衡。在其它情況下,將分配線分配給組的過程可以不同。除組相聯(lián)高速緩存之外,恢復(fù)過程可容易地擴展到CATB高速緩存。討論這些可選實施例以說明可采用根據(jù)所聲明主題的實施例的許多可能形式,且不旨在將所聲明主題僅限制于所討論的實施例。
根據(jù)所聲明主題的實施例包括各種步驟。這些實施例中的步驟可以通過硬件裝置執(zhí)行,或者可以在機器可執(zhí)行指令中體現(xiàn),它們可用于使得用指令編程的通用或?qū)S锰幚砥骰蜻壿嬰娐穲?zhí)行這些步驟?;蛘?,這些步驟可通過硬件和軟件的組合來執(zhí)行。根據(jù)所聲明主題的實施例可提供作為計算機程序產(chǎn)品,它可包括其上存儲了數(shù)據(jù)的機器可讀介質(zhì),這些數(shù)據(jù)在由機器訪問時會使得機器執(zhí)行根據(jù)所聲明主題的過程。機器可讀介質(zhì)可包括,但不限于,軟盤、光盤、DVD-ROM盤、DVD-RAM盤、DVD-RW盤、DVD+RW盤、CD-R盤、CD-RW盤、CD-ROM盤和磁光盤、ROM、RAM、EPROM、EEPROM、磁或光卡、閃存或適合于存儲電子指令的其它類型的媒體/機器可讀介質(zhì)。此外,所聲明主題的實施例也可作為計算機程序產(chǎn)品被下載,其中程序可借助載波或其它傳播介質(zhì)中體現(xiàn)的數(shù)據(jù)信號并經(jīng)由通信鏈接(例如,調(diào)制解調(diào)器或網(wǎng)絡(luò)連接)從遠程計算機傳輸?shù)秸埱笥嬎銠C。
許多方法按它們的最基本形式進行描述,但可以在任何方法中添加或刪除步驟并且可以在任何描述的消息中添加或減去信息而不背離所聲明主題的基本范圍。本領(lǐng)域的熟練技術(shù)人員顯而易見的是,可進行許多進一步的修改和適應(yīng)。特殊實施例并非提供用于限制本發(fā)明而是用于說明之。所聲明主題的范圍不受以上提供的具體示例確定而僅由以下的權(quán)利要求書限定。
權(quán)利要求
1.一種在恒定訪問時間界限(CATB)高速緩存中的方法,包括為固定住數(shù)據(jù)而在高速緩存中保留第一數(shù)量的未分配線,該第一數(shù)量小于所述高速緩存中的線數(shù);以及如果需要將數(shù)據(jù)插入所述高速緩存中作為固定住數(shù)據(jù),則從為固定住數(shù)據(jù)保留的線中選擇一線;將數(shù)據(jù)存入所述線;以及將所述線插入CATB高速緩存的查找群。
2.如權(quán)利要求1所述的方法,其特征在于,所述高速緩存的每個線都被存入非易失性存儲器。
3.如權(quán)利要求2所述的方法,其特征在于,還包括在高速緩存的電源丟失后,在加電后,恢復(fù)高速緩存的組織,這是通過在恢復(fù)的第一階段中,對于高速緩存中的每個線確定該線是否被分配;如果該線被分配,則將該線插入高速緩存的查找群;以及如果該線未被分配,則將該線插入空線池。;以及在恢復(fù)的第二階段中,對于每個查找群確定查找群中固定住線的數(shù)量;以及將至少一個線從空線池添加到具有至少一個固定住線的每個查找群。
4.如權(quán)利要求3所述的方法,其特征在于,所述高速緩存是基于處理器的系統(tǒng)中的盤高速緩存。
5.如權(quán)利要求1所述的方法,其特征在于,將所述線插入高速緩存的查找群還包括指示所述線被分配;指示所述線被固定??;以及使用所述線的標記來將所述線映射到高速緩存的查找群。
6.如權(quán)利要求5所述的方法,其特征在于,CATB高速緩存被實現(xiàn)為組相聯(lián)高速緩存;所述高速緩存的每個查找群都是所述高速緩存的組;以及將所述線插入高速緩存的查找群還包括將數(shù)據(jù)地址用作所述線的標記;在所述標記和所述高速緩存中的組數(shù)(N)之間進行求模操作(標記MODN)以將所述標記映射到所述高速緩存的組;基于所述線的標記進行查找;以及將所述線插入表示所述組的動態(tài)數(shù)據(jù)結(jié)構(gòu)。
7.如權(quán)利要求6所述的方法,其特征在于,指示所述線被固定住還包括修改與所述線相關(guān)聯(lián)的元數(shù)據(jù)以指示該線被固定住。
8.對于整數(shù)N,一種在N路組相聯(lián)非易失性盤高速緩存中的方法,包括為固定住數(shù)據(jù)保留預(yù)定數(shù)量的線并將它們組織成用于固定住數(shù)據(jù)的線的池;將高速緩存中的其余線分配入近似相等大小的N個動態(tài)數(shù)據(jù)結(jié)構(gòu),以表示高速緩存的N個組;如果要將數(shù)據(jù)插入高速緩存中作為固定住數(shù)據(jù),則將數(shù)據(jù)插入來自用于固定住數(shù)據(jù)的池的線;通過修改與所述線相關(guān)聯(lián)的元數(shù)據(jù),將所述線標記為被分配;利用基于與所述線相關(guān)聯(lián)的標記的映射來確定線所屬的組;從用于固定住數(shù)據(jù)的所述池中去除所述線;以及將所述線添加到所述組。
9.如權(quán)利要求8所述的方法,其特征在于,還包括在高速緩存的電源丟失后,在加電后,恢復(fù)高速緩存的組織,這是通過在恢復(fù)的第一階段中,對于高速緩存中的每個線確定所述線是否被分配;如果所述線被分配,則使用基于與所述線相關(guān)聯(lián)的標記的映射將所述線插入高速緩存的一個組;以及如果所述線未被分配,則將所述線插入未分配線的池;以及在恢復(fù)的第二階段中,對于所述高速緩存中的每個組使用與所述組中的每個線相關(guān)聯(lián)的元數(shù)據(jù)確定所述組中固定住線的數(shù)量;以及將一個或多個線從未分配線的池移動到具有至少一個固定住線的每個組,以使每個組中非固定住線的數(shù)量近似相等。
10.一種裝置,包括在非易失性存儲器中實現(xiàn)的N路組相聯(lián)高速緩存;所述非易失性存儲器的固定住數(shù)據(jù)部分,用于存儲用于固定住數(shù)據(jù)的線池;以及固定住數(shù)據(jù)插入模塊,用于將固定住數(shù)據(jù)插入來自用于固定住數(shù)據(jù)的線池的一個線;通過修改與所述線相關(guān)聯(lián)的元數(shù)據(jù),將所述線標記為被分配;使用基于與所述線相關(guān)聯(lián)的標記的映射確定所述線所屬的組;從用于固定住數(shù)據(jù)的所述線池中去除所述線;以及將所述線添加到所述組。
11.如權(quán)利要求10所述的裝置,其特征在于,還包括電源,用于向所述高速緩存供電;以及恢復(fù)模塊,用于在高速緩存的電源丟失之后并在加電后恢復(fù)高速緩存的組織,這是通過在恢復(fù)的第一階段中,對于高速緩存中的每個線確定所述線是否被分配;如果所述線被分配,則使用基于與所述線相關(guān)聯(lián)的標記的映射將所述線插入高速緩存的一個組中;以及如果所述線未被分配,則將所述線插入未分配線的池;以及在恢復(fù)的第二階段中,對于高速緩存中的每個組使用與所述組中的每個線相關(guān)聯(lián)的元數(shù)據(jù),確定所述組中固定住線的數(shù)量;以及將一個或多個線從未分配線的池移動到具有至少一個固定住線的每個組,以使每個組中非固定住線的數(shù)量近似相等。
12.一種系統(tǒng),包括處理器;通信地耦合到所述處理器的盤;在通信地與所述處理器耦合的非易失性電池支持動態(tài)隨機訪問存儲器中實現(xiàn)的N路組相聯(lián)高速緩存;非易失性閃存的固定住數(shù)據(jù)部分,用于存儲用于固定住數(shù)據(jù)的線池;以及固定住數(shù)據(jù)插入模塊,用于將固定住數(shù)據(jù)插入來自用于固定住數(shù)據(jù)的線池的一個線;通過修改與所述線相關(guān)聯(lián)的元數(shù)據(jù),將所述線標記為被分配;基于與所述線相關(guān)聯(lián)的標記并使用映射來確定所述線的組;從用于固定住數(shù)據(jù)的所述線池中去除所述線;以及將所述線添加到所述組。
13.一種其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得該機器執(zhí)行權(quán)利要求1的方法。
14.如權(quán)利要求13所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求2的方法。
15.如權(quán)利要求14所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求3的方法。
16.如權(quán)利要求15所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求4的方法。
17.如權(quán)利要求13所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求5的方法。
18.如權(quán)利要求17所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求6的方法。
19.如權(quán)利要求18所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求7的方法。
20.一種其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求8的方法。
21.如權(quán)利要求20所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求9的方法。
22.一種在恒定訪問時間界限(CATB)高速緩存中的方法,包括初始化具有動態(tài)插入和刪除元素的能力的CATB高速緩存的查找群;以及動態(tài)地將元素插入CATB的查找群。
23.如權(quán)利要求22所述的方法,其特征在于,還包括接收用于元素的第一標識符;使用所述第一標識符來計算用于CATB高速緩存中的查找群的第二標識符;以及遍歷所述查找群以定位匹配所述第一標識符的元素。
24.如權(quán)利要求23所述的方法,其特征在于,所述查找群被實現(xiàn)為鏈接列表。
25.一種其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求22的方法。
26.如權(quán)利要求25所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求23的方法。
27.如權(quán)利要求25所述的其上存儲了數(shù)據(jù)的機器可讀介質(zhì),所述數(shù)據(jù)在由機器訪問時使得所述機器執(zhí)行權(quán)利要求24的方法。
全文摘要
在恒定訪問時間界限高速緩存中,對固定住數(shù)據(jù)保留高速緩存中的未分配線的第一數(shù)量,所述第一數(shù)量小于高速緩存中的線數(shù);以及如果數(shù)據(jù)需要被插入高速緩存中作為固定住數(shù)據(jù),則從為固定住數(shù)據(jù)保留的線中選擇一個線;將所述數(shù)據(jù)存入該線;以及將所述線插入高速緩存的查找群。
文檔編號G06F12/12GK1833231SQ200480022223
公開日2006年9月13日 申請日期2004年7月16日 優(yōu)先權(quán)日2003年7月29日
發(fā)明者小R·魯瓦耶 申請人:英特爾公司