一種建立緩存目錄的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種建立緩存目錄的方法及系統(tǒng),該方法包括:確定用于標(biāo)識緩存目標(biāo)數(shù)據(jù)的處理器的目錄向量對應(yīng)的索引信息,以及確定所述目標(biāo)數(shù)據(jù)在存儲器中的存儲地址;建立所述索引信息和所述存儲地址的第一對應(yīng)關(guān)系。在上述技術(shù)方案中,通過確定目錄向量對應(yīng)的索引信息,建立索引信息與存儲地址之間的映射關(guān)系,在多個(gè)存儲地址對應(yīng)相同目錄向量時(shí)避免重復(fù)存儲相同目錄向量,從而減小緩存目錄占用的存儲空間,進(jìn)而解決了現(xiàn)有技術(shù)中緩存目錄占用存儲空間過大的技術(shù)問題,減小緩存目錄的空間占用率。
【專利說明】ー種建立緩存目錄的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子【技術(shù)領(lǐng)域】,特別涉及ー種建立緩存目錄的方法及電子設(shè)備。
【背景技術(shù)】
[0002]分布式共享存儲器DSM (Distribute Share Memory)系統(tǒng)中,為了保證物理存儲中已經(jīng)被修改的內(nèi)容與緩存中的內(nèi)容一致,即保證緩存一致性CC(Cache Coherence),現(xiàn)有技術(shù)中,由目錄來跟蹤某ー個(gè)內(nèi)存塊被哪些處理器進(jìn)行了訪問和緩存。當(dāng)其它處理器需要讀寫此內(nèi)存數(shù)據(jù)塊時(shí),目錄將向具有此數(shù)據(jù)的處理器發(fā)送點(diǎn)對點(diǎn)的消息,使其數(shù)據(jù)失效或回寫。
[0003]現(xiàn)有技術(shù)提供一種全向量目錄Full Bit Vector Scheme:目錄向量的姆一Bit指向一個(gè)處理器,每ー個(gè)緩存行Cache line中的目標(biāo)數(shù)據(jù)對應(yīng)ー個(gè)目錄向量。全向量目錄在存儲的過程中存儲目標(biāo)數(shù)據(jù)在內(nèi)存中的存儲地址,及與每個(gè)存儲地址對應(yīng)的目錄向量,具體存儲情況如下表:
[0004]
【權(quán)利要求】
1.ー種建立緩存目錄的方法,其特征在于,包括: 確定用于標(biāo)識緩存目標(biāo)數(shù)據(jù)的處理器的目錄向量對應(yīng)的索引信息,以及確定所述目標(biāo)數(shù)據(jù)在存儲器中的存儲地址; 建立所述索引信息和所述存儲地址的第一對應(yīng)關(guān)系。
2.如權(quán)利要求1所述的方法,其特征在于,所述確定用于標(biāo)識緩存目標(biāo)數(shù)據(jù)的處理器的目錄向量對應(yīng)的索引信息,包括: 判斷已建立的目錄向量和索引信息的第二對應(yīng)關(guān)系集中是否有所述目錄向量、以及與所述目錄向量對應(yīng)的所述索引信息;如果有,則根據(jù)所述第二對應(yīng)關(guān)系集確定所述目錄向量對應(yīng)的所述索引信息;否則,根據(jù)所述目錄向量的漢明重量和所述目錄向量,確定所述目錄向量對應(yīng)的所述索引信息。
3.如權(quán)利要求2所述的方法,其特征在干,所述根據(jù)所述目錄向量的漢明重量和所述目錄向量,確定所述目錄向量對應(yīng)的所述索引信息,具體為: 若所述漢明重量小于設(shè)定閾值,對所述目錄向量進(jìn)行編碼,并將編碼后得到的結(jié)果作為所述目錄向量對應(yīng)的所述索引信息;或 若所述漢明重量不小于所述設(shè)定閾值,根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息。
4.如權(quán)利要求3所述的方法,其特征在于,根據(jù)所述目錄向量的漢明重量和所述目錄向量,生成所述目錄向量對應(yīng)的索引信息之后,所述方法還包括: 將用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息置于所述索引信息中。
5.如權(quán)利要求3所述 的方法,其特征在干,所述根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量的所述索引信息,具體為: 將所述目錄向量添加到所述第二對應(yīng)關(guān)系集所在的表格中,生成用于標(biāo)識所述目錄向量在所述表格中所處位置的位置信息,將所述位置信息作為所述索引信息;或 生成與所述第二對應(yīng)關(guān)系集中所有的索引號不同的一個(gè)目標(biāo)索引號,將生成的所述目標(biāo)索引號作為所述索引信息。
6.如權(quán)利要求5所述的方法,其特征在干,所述將所述目錄向量添加到所述第二對應(yīng)關(guān)系集所在的表格中,包括: 對所述目錄向量進(jìn)行位分段,劃分獲得至少兩個(gè)分段位; 對所述至少兩個(gè)分段位中每個(gè)分段位進(jìn)行異或操作,獲得所述表格中用于存儲所述目錄向量的列標(biāo)識或行標(biāo)識; 將所述目錄向量添加到所述列標(biāo)識或所述行標(biāo)識對應(yīng)的行或列中。
7.如權(quán)利要求3-6中任ー權(quán)項(xiàng)所述的方法,其特征在于,所述判斷已建立的目錄向量和索引信息的第二對應(yīng)關(guān)系集中是否有所述目錄向量、以及與所述目錄向量對應(yīng)的所述索引信息,具體包括: 確定所述漢明重量對應(yīng)的表格,所述表格中包含所述第二對應(yīng)關(guān)系集; 判斷所述第二對應(yīng)關(guān)系集中是否有所述目錄向量對應(yīng)的所述索引信息; 其中,所述目錄向量的漢明重量在所屬的所述表格對應(yīng)的漢明重量范圍內(nèi)。
8.如權(quán)利要求7所述的方法,其特征在干,在根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息之后,還包括:將所述目錄向量的漢明重量對應(yīng)的表格的表格標(biāo)識添加到所述索引信息中。
9.如權(quán)利要求7所述的方法,其特征在干,在所述根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息之后,所述方法還包括: 根據(jù)生成的所述索引信息和所述目錄向量,更新所述第二對應(yīng)關(guān)系集。
10.如權(quán)利要求1-9中任ー權(quán)項(xiàng)所述的方法,其特征在于,所述確定用于標(biāo)識緩存目標(biāo)數(shù)據(jù)的處理器的目錄向量對應(yīng)的索引信息,具體為: 在檢測到緩存所述目標(biāo)數(shù)據(jù)的所述處理器發(fā)生了變化時(shí),確定所述目錄向量對應(yīng)的所述索引信息;或 在檢測到所述處理器緩存了所述存儲器中的所述目標(biāo)數(shù)據(jù)時(shí),確定所述目錄向量對應(yīng)的所述索引信息。
11.一種確定目錄向量的方法,其特征在于,包括: 根據(jù)索引信息和存儲地址的第一對應(yīng)關(guān)系,確定目標(biāo)數(shù)據(jù)在存儲器中的存儲地址對應(yīng)的索引信息; 根據(jù)確定的所述索引信息,確定用于標(biāo)識緩存所述目標(biāo)數(shù)據(jù)的處理器的目錄向量。
12.如權(quán)利要求11所述的方法,其特征在于,所述根據(jù)確定的所述索引信息,確定用于標(biāo)識緩存所述目標(biāo)數(shù)據(jù)的處理器的目錄向量,包括: 根據(jù)所述索引信息包含的用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息,在確定所述標(biāo)識信息為ー級標(biāo)識時(shí),對所述索引信息進(jìn)行解碼,并將解碼后的結(jié)果作為所述目錄向量;或 根據(jù)所述索引信息包含的用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息,在確定所述標(biāo)識信息為ニ級標(biāo)識時(shí),根據(jù)目錄向量和索引信息的第二對應(yīng)關(guān)系,確定目標(biāo)數(shù)據(jù)在存儲器中的存儲地址對應(yīng)的索引信息對應(yīng)的目錄向量。
13.如權(quán)利要求12所述的方法,其特征在于,所述根據(jù)目錄向量和索引信息的第二對應(yīng)關(guān)系,確定目標(biāo)數(shù)據(jù)在存儲器中的存儲地址對應(yīng)的索引信息對應(yīng)的目錄向量,具體包括: 確定存儲所述目錄向量表格,其中,所述表格包含所述第二對應(yīng)關(guān)系; 根據(jù)所述表格包含的所述第二對應(yīng)關(guān)系,確定所述索引信息對應(yīng)的所述目錄向量。
14.ー種建立緩存目錄的系統(tǒng),其特征在于,包括: 確定單元,用于確定用于標(biāo)識緩存目標(biāo)數(shù)據(jù)的處理器的目錄向量對應(yīng)的索引信息,以及確定所述目標(biāo)數(shù)據(jù)在存儲器中的存儲地址; 關(guān)聯(lián)單元,用于建立所述索引信息和所述存儲地址的第一對應(yīng)關(guān)系。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述確定単元具體用于: 判斷已建立的目錄向量和索引信息的第二對應(yīng)關(guān)系集中是否有所述目錄向量、以及與所述目錄向量對應(yīng)的所述索引信息;若有,根據(jù)所述第二對應(yīng)關(guān)系集確定所述目錄向量對應(yīng)的所述索引信息;否則,根據(jù)所述目錄向量的漢明重量和所述目錄向量,確定所述目錄向量對應(yīng)的所述索引信息。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述確定単元還用于: 在所述漢明重量小于設(shè)定閾值時(shí),對所述目錄向量進(jìn)行編碼,并將編碼后得到的結(jié)果作為所述目錄向量對應(yīng)的所述索引信息;或在所述漢明重量不小于所述設(shè)定閾值時(shí),根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述確定単元還用于: 在根據(jù)所述目錄向量的漢明重量和所述目錄向量,生成所述目錄向量對應(yīng)的索引信息之后,將用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息置于所述索引信息中。
18.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述確定単元還用于: 在所述漢明重量不小于所述設(shè)定閾值時(shí),將所述目錄向量添加到所述第二對應(yīng)關(guān)系集所在的表格中,生成用于標(biāo)識所述目錄向量在所述表格中所處位置的位置信息,將所述位置信息作為所述索引信息;或生成與所述第二對應(yīng)關(guān)系集中所有的索引號不同的一個(gè)目標(biāo)索引號,將生成的所述目標(biāo)索引號作為所述索引信息。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述確定単元具體用于: 將所述目錄向量添加到所述第二對應(yīng)關(guān)系集所在的表格中時(shí),對所述目錄向量進(jìn)行位分段,劃分獲得至少兩個(gè)分段位;對所述至少兩個(gè)分段位中每個(gè)分段位進(jìn)行異或操作,獲得所述表格中用于存儲所述目錄向量的列標(biāo)識或行標(biāo)識;將所述目錄向量添加到所述列標(biāo)識或所述行標(biāo)識對應(yīng)的行或列中。
20.如權(quán)利要求16-19中任ー權(quán)項(xiàng)所述的系統(tǒng),其特征在于,所述確定単元還用于: 確定所述漢明重量對應(yīng)的表格,所述表格中包含所述第二對應(yīng)關(guān)系集;判斷所述第二對應(yīng)關(guān)系集中是否有所述目錄向量對應(yīng)的所述索引信息;其中,所述目錄向量的漢明重量在所屬的所述表格對應(yīng)的漢明重量范圍內(nèi)。
21.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述確定単元還用于: 在根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息之后,將所述目錄向量的漢明重量對應(yīng)的表格的表格標(biāo)識添加到所述索引信息中。
22.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述確定単元還用于: 在所述根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息之后,根據(jù)生成的所述索引信息和所述目錄向量,更新所述第二對應(yīng)關(guān)系集。
23.如權(quán)利要求14-22中任ー權(quán)項(xiàng)所述的系統(tǒng),其特征在于,所述確定単元還用于: 在檢測到緩存所述目標(biāo)數(shù)據(jù)的所述處理器發(fā)生了變化時(shí),確定所述目錄向量對應(yīng)的所述索引信息;或在檢測到所述處理器緩存了所述存儲器中的所述目標(biāo)數(shù)據(jù)時(shí),確定所述目錄向量對應(yīng)的所述索引信息。
24.一種確定目錄向量的系統(tǒng),其特征在于,包括: 第一確定單元,用于根據(jù)索引信息和存儲地址的對應(yīng)關(guān)系,確定目標(biāo)數(shù)據(jù)在存儲器中的存儲地址對應(yīng)的索引信息; 第二確定單元,用于根據(jù)確定的所述索引信息,確定用于標(biāo)識緩存所述目標(biāo)數(shù)據(jù)的處理器的目錄向量。
25.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述第二確定單元具體用于: 根據(jù)所述索引信息包含的用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息,在確定所述標(biāo)識信息為ー級標(biāo)識時(shí),對所述索引信息進(jìn)行解碼,并將解碼后的結(jié)果作為所述目錄向量;或根據(jù)所述索引信息包含的用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息,在確定所述標(biāo)識信息為ニ級標(biāo)識時(shí),根據(jù)目錄向量和索引信息的第二對應(yīng)關(guān)系,確定目標(biāo)數(shù)據(jù)在存儲器中的存儲地址對應(yīng)的索引信息對應(yīng)的目錄向量。
26.如權(quán)利要求25所述的系統(tǒng),其特征在于,所述第二確定單元還用于: 確定存儲所述目錄向量表格,其中,所述表格包含所述第二對應(yīng)關(guān)系;根據(jù)所述表格包含的所述第二對應(yīng)關(guān)系,確定所述索引信息對應(yīng)的所述目錄向量。
27.—種分布式共享存儲器系統(tǒng),其特征在于,包括: 節(jié)點(diǎn)控制器,用于確定的目錄向量對應(yīng)的索引信息,其中所述目錄向量用于標(biāo)識緩存目標(biāo)數(shù)據(jù)的處理器,以及用于確定所述目標(biāo)數(shù)據(jù)的存儲地址;并建立所述索引信息和所述存儲地址的第一對應(yīng)關(guān)系; 目錄存儲器,用于保存所述第一對應(yīng)關(guān)系。
28.如權(quán)利要求27所述的系統(tǒng),其特征在于,所述目錄存儲器還用于: 存儲目錄向量和索引信息的第二對應(yīng)關(guān)系集; 所述節(jié)點(diǎn)控制器具體用于: 判斷所述目錄存儲器中已存儲的目錄向量和索引信息的第二對應(yīng)關(guān)系集中是否有所述目錄向量、以及與所述目錄向量對應(yīng)的所述索引信息;若有,根據(jù)所述第二對應(yīng)關(guān)系集確定所述目錄向量對應(yīng)的所述索引信息;否則,根據(jù)所述目錄向量的漢明重量和所述目錄向量,確定所述目錄向量對應(yīng)的所述索引信息。
29.如權(quán)利要求28所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器還用于: 在所述漢明重量小于設(shè)定閾值時(shí),對所述目錄向量進(jìn)行編碼,并將編碼后得到的結(jié)果作為所述目錄向量對應(yīng)的所述索引信息;或在所述漢明重量不小于所述設(shè)定閾值時(shí),根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息。
30.如權(quán)利要求29所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器還用于: 在根據(jù)所述目錄向量的漢明重量和所述目錄向量,生成所述目錄向量對應(yīng)的索引信息之后,將用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息置于所述索引信息中。
31.如權(quán)利要求29所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器還用于: 在所述漢明重量不小于所述設(shè)定閾值時(shí),將所述目錄向量添加到所述目錄存儲器中存儲所述第二對應(yīng)關(guān)系集的表格中,并生成用于標(biāo)識所述目錄向量在所述表格中所處位置的位置信息,將所述位置信息作為所述索引信息;或生成與所述第二對應(yīng)關(guān)系集中所有的索引號不同的一個(gè)目標(biāo)索引號,將生成的所述目標(biāo)索引號作為所述索引信息。
32.如權(quán)利要求31所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器具體用于: 將所述目錄向量添加到所述目錄存儲器中存儲所述第二對應(yīng)關(guān)系集的表格中時(shí),對所述目錄向量進(jìn)行位分段,劃分獲得至少兩個(gè)分段位;對所述至少兩個(gè)分段位中每個(gè)分段位進(jìn)行異或操作,獲得所述表格中用于存儲所述目錄向量的列標(biāo)識或行標(biāo)識;將所述目錄向量添加到所述列標(biāo)識或所述行標(biāo)識對應(yīng)的行或列中。
33.如權(quán)利要求29-32中任ー權(quán)項(xiàng)所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器具體用于: 在判斷已建立的目錄向量和索引信息的第二對應(yīng)關(guān)系集中是否有所述目錄向量、以及與所述目錄向量對應(yīng)的所述索引信息時(shí),確定所述漢明重量對應(yīng)的表格,所述表格中包含所述第二對應(yīng)關(guān)系集;判斷所述第二對應(yīng)關(guān)系集中是否有所述目錄向量對應(yīng)的所述索引信息;其中,所述目錄向量的漢明重量在所屬的所述表格對應(yīng)的漢明重量范圍內(nèi)。
34.如權(quán)利要求33所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器還用于:在根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息之后,將所述目錄向量的漢明重量對應(yīng)的表格的表格標(biāo)識添加到所述索引信息中。
35.如權(quán)利要求33所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器還用于: 在根據(jù)所述目錄向量和所述第二對應(yīng)關(guān)系集,生成所述目錄向量對應(yīng)的所述索引信息之后,根據(jù)生成的所述索引信息和所述目錄向量,更新所述目錄存儲器中保存的所述第二對應(yīng)關(guān)系集。
36.如權(quán)利要求27-35中任ー權(quán)項(xiàng)所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器還用于: 在檢測到緩存所述目標(biāo)數(shù)據(jù)的所述處理器發(fā)生了變化時(shí),確定所述目錄向量對應(yīng)的所述索引信息;或在檢測到所述處理器緩存了所述存儲器中的所述目標(biāo)數(shù)據(jù)時(shí),確定所述目錄向量對應(yīng)的所述索引信息。
37.如權(quán)利要求36所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器還用于: 根據(jù)索引信息和存儲地址的對應(yīng)關(guān)系,確定目標(biāo)數(shù)據(jù)在存儲器中的存儲地址對應(yīng)的索引信息;根據(jù)確定的所述索引信息,確定用于標(biāo)識緩存所述目標(biāo)數(shù)據(jù)的處理器的目錄向量。
38.如權(quán)利要求37所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器具體用于: 根據(jù)所述索引信息包含的用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息,在確定所述標(biāo)識信息為ー級標(biāo)識時(shí),對所述索引信息進(jìn)行解碼,并將解碼后的結(jié)果作為所述目錄向量;或根據(jù)所述索引信息包含的用于標(biāo)識獲取所述目錄向量的方式的標(biāo)識信息,在確定所述標(biāo)識信息為ニ級標(biāo)識時(shí),根據(jù)目錄向量和索引信息的第二對應(yīng)關(guān)系,確定目標(biāo)數(shù)據(jù)在存儲器中的存儲地址對應(yīng)的索引信息對應(yīng)的目錄向量。
39.如權(quán)利要求38所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)控制器具體用于: 確定存儲所述目錄向量表格,其中,所述表格包含所述第二對應(yīng)關(guān)系;根據(jù)所述表格包含的所述第二對應(yīng)關(guān)系,確定所述索引信息對應(yīng)的所述目錄向量。
【文檔編號】G06F12/02GK103455434SQ201310377351
【公開日】2013年12月18日 申請日期:2013年8月26日 優(yōu)先權(quán)日:2013年8月26日
【發(fā)明者】程永波, 李濤, 賀成洪 申請人:華為技術(shù)有限公司