目錄設計方法及裝置制造方法
【專利摘要】本發明公開了一種目錄設計方法及裝置,屬于計算機【技術領域】。方法包括:根據緩存塊的數目,建立多個目錄集合,每個目錄集合中包括多個目錄組,每個目錄組中包括多個目錄項,一個目錄項與一個緩存塊對應;分別為多個目錄組配置標簽,標簽用于標識目錄組所包括的所有目錄項對應的緩存塊的占用狀態;分別為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引;存儲多個目錄集合及多個標簽。本發明在為每個目錄組配置一個標簽后,可實現一個標簽標識一個目錄組中全部目錄組對應的緩存塊的占用狀態,不但節省了目錄占用的存儲空間,還降低了遠端節點對本地內存的訪問延時,提升了多處理器系統的性能。
【專利說明】目錄設計方法及裝置
【技術領域】
[0001]本發明涉及計算機【技術領域】,特別涉及一種目錄設計方法及裝置。
【背景技術】
[0002]在計算機領域中,一個多處理器系統不但包括本地節點,還包括多個遠端節點。其中,本地節點至少包括一個節點控制器、一個或多個本地內存。一個本地內存通常劃分為多個緩存塊,每個緩存塊的大小一般為64字節或128字節。節點控制器上存儲了一個包含多條目錄項的目錄,每條目錄項用來記錄遠端節點對一個緩存塊的占用狀態。當遠端節點請求一個本地內存時,節點控制器根據存儲的目錄確定是否有其他遠端節點占用了所請求的本地內存。而為了使節點控制器能夠快速且精確地確定是否有其他遠端節點占用了所請求的內存,如何進行目錄設計,成為了本領域技術人員關注的一個問題。
[0003]現有技術在進行目錄設計時,通常采取三種方式。第一種方式為Ι-bit(比特)目錄設計方式,一條目錄項占用lbit,一條目錄項中以二進制數值O或I表示一個緩存塊的占用狀態;第二種方式為2-bit目錄設計方式,一條目錄項占用2bit,一條目錄項中以兩個二進制數表示一個緩存塊的占用狀態;其中,占用狀態至少包括可能態(表示任意可能的狀態)、共享態(表示多個遠端節點共享緩存塊)及無效態(表示沒有任何遠端節點占用緩存塊)。第三種方式為精確目錄設計方式,一條目錄項占用多個bit,一條目錄項中包括一個緩存塊的占用狀態和占用信息。其中,占用狀態同樣分為可能態、共享態及無效態;占用信息用來表示哪個或哪幾個遠端節點占用了該緩存塊。
[0004]在實現本發明的過程中,發明人發現現有技術至少存在以下問題:
[0005]無論針對上述哪一種目錄設計方式,當本地內存的存儲空間越來越大時,將生成海量的目錄項,在對包含海量目錄項的目錄進行存儲時,將占用大量的存儲空間。以本地內存的總存儲空間為IT(百萬兆)為例,則即便采取占用存儲空間最小的ι-bit目錄設計方式,生成的目錄項也需2G(千兆)存儲空間進行存儲。而占用太多的存儲空間來存儲目錄會存在目錄設計的成本高、復雜度高及技術要求高的缺陷,且還將導致遠端節點對本地內存的訪問延時過大,進而給多處理器系統的性能造成不良影響。
【發明內容】
[0006]為了解決現有技術的問題,本發明實施例提供了一種目錄設計方法及裝置。所述技術方案如下:
[0007]第一方面,提供了一種目錄設計方法,所述方法包括:
[0008]根據緩存塊的數目,建立多個目錄集合,每個目錄集合中包括多個目錄組,每個目錄組中包括多個目錄項,一個目錄項與一個緩存塊對應;
[0009]分別為所述多個目錄組配置標簽,所述標簽用于標識所述目錄組所包括的所有目錄項對應的緩存塊的占用狀態;
[0010]分別為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引。[0011]存儲多個目錄集合及多個標簽。
[0012]在第一方面的第一種可能的實現方式中,所述存儲多個目錄集合及多個標簽之后,所述方法還包括:
[0013]當接收到遠端節點發送的內存訪問請求時,根據所述內存訪問請求攜帶的目標目錄項的標簽索引信息,獲取所述目標目錄項所在目錄組的標簽;
[0014]根據所述目標目錄項所在目錄組的標簽,確定所述目標目錄項對應的緩存塊的占用狀態;
[0015]基于所述目標目錄項對應的緩存塊的占用狀態,響應所述遠端節點的內存訪問請求。
[0016]結合第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,所述存儲多個目錄集合及多個標簽之后,所述方法還包括:
[0017]當接收到遠端節點發送的內存訪問請求時,根據所述內存訪問請求攜帶的集合索弓I信息,確定所述目標目錄項所在目錄集合;
[0018]根據所述內存訪問請求攜帶的目錄組索引信息,在所述目標目錄項所在目錄集合中查找所述目標目錄項所在目錄組;
[0019]如果查找到所述目標目錄項所在目錄組,則根據所述內存訪問請求攜帶的目錄項索引信息確定所述目標目錄項;
[0020]根據所述目標目錄項所在目錄組的標簽,確定所述目標目錄項對應的緩存塊的占用狀態;
[0021 ] 基于所述目標目錄項對應的緩存塊的占用狀態,響應所述遠端節點的內存訪問請求。
[0022]結合第一方面的第二種可能的實現方式,在第一方面的第三種可能的實現方式中,所述在所述目標目錄項所在目錄集合中查找所述目標目錄項所在目錄組之后,所述方法還包括:
[0023]如果未查找到所述目標目錄項所在目錄組,則在所述目標目錄項所在目錄集合中,查找第一目錄組,所述第一目錄組為全部目錄項均處于未占用狀態的目錄組;
[0024]如果查找到所述第一目錄組,則根據所述第一目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第一標簽索引信息;
[0025]根據所述第一標簽索引信息,獲取第一標簽;
[0026]更新所述第一標簽,并將所述第一目錄組對應的目錄組索引信息更新為所述內存訪問請求攜帶的目錄組索引信息。
[0027]結合第一方面的第三種可能的實現方式,在第一方面的第四種可能的實現方式中,所述根據所述第一目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第一標簽索引信息,包括:
[0028]將所述目錄組索引信息的多個數據位置于所述集合索引信息的多個數據位之前,組合成新的數據位;
[0029]將所述新的數據位確定為所述第一標簽索引信息的數據位。
[0030]結合第一方面的第三種可能的實現方式,在第一方面的第五種可能的實現方式中,所述在所述目標目錄所在的目錄集合中,查找第一目錄組之后,所述方法還包括:[0031]如果未查找到所述第一目錄組,則根據預設策略查找第二目錄組;
[0032]根據所述第二目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第二標簽索引信息;
[0033]根據所述第二標簽索引信息,獲取第二標簽;
[0034]更新所述第二標簽,并將所述第二目錄組對應的目錄組索引信息更新為所述內存訪問請求攜帶的目錄組索引信息。
[0035]第二方面,提供了一種目錄設計裝置,所述裝置包括:
[0036]目錄建立模塊,用于根據緩存塊的數目,建立多個目錄集合,每個目錄集合中包括多個目錄組,每個目錄組中包括多個目錄項,一個目錄項與一個緩存塊對應;
[0037]標簽配置模塊,用于分別為所述多個目錄組配置標簽,所述標簽用于標識所述目錄組所包括的所有目錄項對應的緩存塊的占用狀態;
[0038]索引設置模塊,用于分別為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引;
[0039]存儲模塊,用于存儲多個目錄集合及多個標簽。
[0040]在第二方面的第一種可能的實現方式中,所述裝置還包括:
[0041]標簽獲取模塊,用于當接收到遠端節點發送的內存訪問請求時,根據所述內存訪問請求攜帶的目標目錄項的標簽索引信息,獲取所述目標目錄項所在目錄組的標簽;
[0042]狀態確定模塊,用于根據所述目標目錄項所在目錄組的標簽,確定所述目標目錄項對應的緩存塊的占用狀態;
[0043]響應模塊,用于基于所述目標目錄項對應的緩存塊的占用狀態,響應所述遠端節點的內存訪問請求。
[0044]結合第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,
[0045]所述裝置還包括:
[0046]目錄集合確定模塊,用于當接收到遠端節點發送的內存訪問請求時,根據所述內存訪問請求攜帶的集合索引信息,確定所述目標目錄項所在目錄集合;
[0047]目錄組查找模塊,用于根據所述內存訪問請求攜帶的目錄組索引信息,在所述目標目錄項所在目錄集合中查找所述目標目錄項所在目錄組;
[0048]目錄項確定模塊,用于當查找到所述目標目錄項所在目錄組時,根據所述內存訪問請求攜帶的目錄項索引信息確定所述目標目錄項;
[0049]所述狀態確定模塊,用于根據所述目標目錄項所在目錄組的標簽,確定所述目標目錄項對應的緩存塊的占用狀態;
[0050]所述響應模塊,用于基于所述目標目錄項對應的緩存塊的占用狀態,響應所述遠端節點的內存訪問請求。
[0051]結合第二方面的第二種可能的實現方式,在第二方面的第三種可能的實現方式中,所述裝置還包括:
[0052]所述目錄組查找模塊,還用于當未查找到所述目標目錄項所在目錄組時,在所述目標目錄項所在目錄集合中,查找第一目錄組,所述第一目錄組為全部目錄項均處于未占用狀態的目錄組;[0053]索引信息生成模塊,用于如果查找到所述第一目錄組,則根據所述第一目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第一標簽索引信息;
[0054]所述標簽獲取模塊,用于根據所述第一標簽索引信息,獲取第一標簽;
[0055]更新模塊,用于更新所述第一標簽,并將所述第一目錄組對應的目錄組索引信息更新為所述內存訪問請求攜帶的目錄組索引信息。
[0056]結合第二方面的第三種可能的實現方式,在第二方面的第四種可能的實現方式中,所述索引信息生成模塊,用于將所述目錄組索引信息的多個數據位置于所述集合索引信息的多個數據位之前,組合成新的數據位;將所述新的數據位確定為所述第一標簽索引信息的數據位。
[0057]結合第二方面的第三種可能的實現方式,在第二方面的第五種可能的實現方式中,所述裝置還包括:
[0058]所述目錄組查找模塊,用于當未查找到所述第一目錄組時,根據預設策略查找第
二目錄組;
[0059]索引信息生成模塊,用于根據所述第二目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第二標簽索引信息;
[0060]所述標簽獲取模塊,用于根據所述第二標簽索引信息,獲取第二標簽;
[0061]所述更新模塊,用于更新所述第二標簽,并將所述第二目錄組對應的目錄組索引信息更新為所述內存訪問請求攜帶的目錄組索引信息。
[0062]本發明實施例提供的技術方案帶來的有益效果是:
[0063]在根據緩存塊的數目,建立包括多個目錄項和多個目錄組的層次化目錄集合,并為每個目錄組配置一個標簽后,可實現一個標簽標識一個目錄組中全部目錄組對應的緩存塊的占用狀態,從而節省了目錄占用的存儲空間,僅用片上內存便可對生成的目錄進行存儲,無需引入片外內存。不但節省了設計成本,降低了目錄設計的復雜度,還降低了遠端節點對本地內存的訪問延時,提升了多處理器系統的性能。
【專利附圖】
【附圖說明】
[0064]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例。
[0065]圖1是本發明實施例提供的一種多處理器系統的系統架構圖;
[0066]圖2是本發明實施例提供的一種緩存塊和目錄項的對應關系圖;
[0067]圖3是本發明實施例提供的一種目錄設計的方法流程圖;
[0068]圖4是本發明實施例提供的一種目錄設計的方法流程圖;
[0069]圖5是本發明實施例提供的第一種目錄集合的結構示意圖;
[0070]圖6是本發明實施例提供的一種緩存塊和標簽的對應關系圖;
[0071]圖7是本發明實施例提供的第二種目錄集合的結構示意圖;
[0072]圖8是本發明實施例提供的第一種內存物理地址的示意圖;
[0073]圖9是本發明實施例提供的一種目錄訪問的方法流程圖;
[0074]圖10是本發明實施例提供的第二種內存物理地址的示意圖;
[0075]圖11是本發明實施例提供的一種目錄設計裝置的結構示意圖。【具體實施方式】
[0076]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。
[0077]在對本發明實施例作詳細描述之前,先對對處理系統進行介紹。參見圖1,一個多處理器(CPU)系統中包括本地節點100和多個遠端節點101。本地節點100與各個遠端節點101通過節點間網絡102進行連接。本地節點100通過節點控制器103與節點間網絡102連接。其中,本地節點100包括了一個節點控制器103、一個或多個本地內存104及一個本地網絡106。本地內存104或通過本地網絡106與節點控制器103相連,或直接與節點控制器103相連。進一步地,節點控制器103上存儲有一個目錄105,或節點控制器103與存儲有目錄105的存儲介質相連。節點控制器103通過目錄105控制本地內存104。當遠端節點需要訪問本地內存時,內存訪問請求(讀內存請求或寫內存請求)從遠端節點101通過節點間網絡102到達節點控制器103。為了維護緩存一致性(Cache Coherence)節點控制器需要訪問目錄來確定是否有遠端節點占用了所請求的本地內存,然后決定是否向遠端節點發起偵聽消息。進一步地,參見圖2,目錄105包括多個目錄項,每個目錄項與本地內存104的一個緩存塊相對應,用來標識緩存塊的占用狀態,即一個目錄項用來記錄遠端節點對一個緩存塊的占用信息。
[0078]圖3是本發明實施例提供的一種目錄設計方法,參見圖3,本發明實施例提供的方法流程包括:
[0079]301、根據緩存塊的數目,建立多個目錄集合,每個目錄集合中包括多個目錄組,每個目錄組中包括多個目錄項,一個目錄項與一個緩存塊對應。
[0080]302、分別為多個目錄組配置標簽,標簽用于標識目錄組所包括的所有目錄項對應的緩存塊的占用狀態。
[0081]303、分別為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引。
[0082]304、存儲多個目錄集合及多個標簽。
[0083]本發明實施例提供的方法,在根據緩存塊的數目,建立包括多個目錄項和多個目錄組的層次化目錄集合,并為每個目錄組配置一個標簽后,可實現一個標簽標識一個目錄組中全部目錄組對應的緩存塊的占用狀態,從而節省了目錄占用的存儲空間,僅用片上內存便可對生成的目錄進行存儲,無需引入片外內存。不但節省了設計成本,降低了目錄設計的復雜度,還降低了遠端節點對本地內存的訪問延時,提升了多處理器系統的性能。
[0084]可選地,存儲多個目錄集合及多個標簽之后,方法還包括:
[0085]當接收到遠端節點發送的內存訪問請求時,根據內存訪問請求攜帶的目標目錄項的標簽索引信息,獲取目標目錄項所在目錄組的標簽;
[0086]根據目標目錄項所在目錄組的標簽,確定目標目錄項對應的緩存塊的占用狀態;
[0087]基于目標目錄項對應的緩存塊的占用狀態,響應遠端節點的內存訪問請求。
[0088]可選地,存儲多個目錄集合及多個標簽之后,方法還包括:
[0089]當接收到遠端節點發送的內存訪問請求時,根據內存訪問請求攜帶的集合索引信息,確定目標目錄項所在目錄集合;
[0090]根據內存訪問請求攜帶的目錄組索引信息,在目標目錄項所在目錄集合中查找目標目錄項所在目錄組;
[0091]如果查找到目標目錄項所在目錄組,則根據內存訪問請求攜帶的目錄項索引信息確定目標目錄項;
[0092]根據目標目錄項所在目錄組的標簽,確定目標目錄項對應的緩存塊的占用狀態;
[0093]基于目標目錄項對應的緩存塊的占用狀態,響應遠端節點的內存訪問請求。
[0094]可選地,在目標目錄項所在目錄集合中查找目標目錄項所在目錄組之后,方法還包括:
[0095]如果未查找到目標目錄項所在目錄組,則在目標目錄項所在目錄集合中,查找第一目錄組,第一目錄組為全部目錄項均處于未占用狀態的目錄組;
[0096]如果查找到第一目錄組,則根據第一目錄組對應的目錄組索引信息和目標目錄項的集合索引信息,生 成第一標簽索引信息;
[0097]根據第一標簽索引信息,獲取第一標簽;
[0098]更新第一標簽,并將第一目錄組對應的目錄組索引信息更新為內存訪問請求攜帶的目錄組索引信息。
[0099]可選地,根據第一目錄組對應的目錄組索引信息和目標目錄項的集合索引信息,生成第一標簽索引信息,包括:
[0100]將目錄組索引信息的多個數據位置于集合索引信息的多個數據位之前,組合成新的數據位;
[0101]將新的數據位確定為第一標簽索引信息的數據位。
[0102]可選地,在目標目錄所在的目錄集合中,查找第一目錄組之后,方法還包括:
[0103]如果未查找到第一目錄組,則根據預設策略查找第二目錄組;
[0104]根據第二目錄組對應的目錄組索引信息和目標目錄項的集合索引信息,生成第二標簽索引信息;
[0105]根據第二標簽索引信息,獲取第二標簽;
[0106]更新第二標簽,并將第二目錄組對應的目錄組索引信息更新為內存訪問請求攜帶的目錄組索引信息。
[0107]上述所有可選技術方案,可以采用任意結合形成本發明的可選實施例,在此不再
--贅述。
[0108]圖4是本發明實施例提供的一種目錄設計方法,現以執行主體為圖1中節點控制器為例,對本發明實施例提供的目錄設計方式進行詳細地解釋說明。參見圖4,本發明實施例提供的方法流程包括:
[0109]401、根據緩存塊的數目,建立多個目錄集合,每個目錄集合中包括多個目錄組,每個目錄組中包括多個目錄項,一個目錄項與一個緩存塊對應。
[0110]其中,緩存塊的大小通常為64字節。當然,緩存塊的大小除上述64字節外,還可為其他大小,例如,32字節或128字節等等,本實施例對緩存塊的大小不作具體限定。在確定緩存塊的大小后,本地節點的緩存塊的數目取決于本地節點的總存儲空間。以本地節點的
總存儲空間為1T、緩存塊的大小為64字節為例,則緩存塊的數目總共有—=2j4對于數
26目眾多的緩存塊,需為每一個緩存塊建立一個目錄項,以記錄遠端節點對緩存塊的占用狀態。其中,一個緩存塊可被一個遠端節點占用,也可被多個遠端節點占用,還可不被任何遠端節點占用。在進行目錄設計時,我們采取如圖5所示的層次化目錄設計方式。首先,根據緩存塊的數目建立多個目錄集合,之后在每一個目錄集合中設置多個目錄組,最后在每個目錄組中設置多個目錄項,從而完成目錄的層次化設置。以本地節點的總存儲空間為IT為例,則通常建立1000個目錄集合,每個目錄集合中一般包括16個目錄組,每個目錄組中包括1000個目錄項,每個目錄項記錄一個緩存塊的占用狀態。此外,由于受限于存儲空間的大小限制,一個目錄集合中通常不會包含大量的目錄組。通常情況下,一個目錄集合中僅包括幾個或幾十個目錄組。進一步地,若想提高目錄的設計精度,還可通過減少每個目錄項包括的目錄項個數的方式實現。但是減少每個目錄項包括的目錄項個數,則意味著目錄集合的增加,進而目錄占用的內存也會加大。為了追求設計精度,可使用片外內存來存儲目錄,比如使用 SDRAM (Synchronous Dynamic Random Access Memory,同步動態隨機存儲器)。
[0111]402、分別為多個目錄組配置標簽,標簽用于標識目錄組所包括的目錄項對應的緩存塊的占用狀態。
[0112]在本發明實施例中,為了減少用于存儲目錄的內存使用量,增加了標簽的設計。其中,每個標簽占用lbit,每個標簽與一個目錄組相對應,用于標識與該目錄組對應的緩存塊的占用狀態。步驟401中生成的目錄中包括多少個目錄組,便存在多少個標簽,多個標簽可構成一個如圖6所示的標簽向量。該標簽向量可對本地內存的全部緩存塊的占用狀態進行標識。繼續以圖5為例,由于圖5中包括1000*16=16000個目錄組,所以當本地內存的總存儲空間為IT時,總共需配置16000個標簽。如果一個標簽為0,則該標簽所標識的所有緩存塊為未占用狀態(沒有任何的遠端節點對緩存塊進行占用);如果一個標簽為1,則該標簽所標識的所有緩存塊為可能態(指代任意可能的狀態,緩存塊可能未被占用、可能被一個遠端節點占用、可能被多個遠端節點占用)。
[0113]此外,在初次執行本實施例提供的方法時,也即未有任何遠端節點對本地節點的緩存塊進行占用時,全部的標簽都為O ;當在后續過程中,本地節點的節點控制器接收到遠端節點發送的內存訪問請求時,標簽會進行更新;也即,當緩存塊由未占用狀態變為占用狀態時,該緩存塊對應的目錄項的標簽將由O變為I。相應地,若緩存塊由占用狀態變為未占用狀態,也即,遠端節點釋放了該緩存塊,則該緩存塊對應的目錄項的標簽將由I變為O。在本發明實施例中,一個標簽便可標識一個目錄組所包括的全部目錄項對應的緩存塊的占用狀態,相較于現有技術中的目錄設計方式而言,可大大節省目錄占用的存儲空間。
[0114]403、分別為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引。
[0115]在本發明實施例中,由于目錄中包括海量的數據,所以在查詢緩存塊的占用狀態時,若以遍歷的方式進行查詢則將消耗大量的時間。以本地內存的總存儲空間為IT為例,則生成的目錄中一共包含1000個目錄集合、16000個目錄組、234個目錄項,若不對目錄集合、目錄組、目錄項及標簽設置索引的話,則在查找一個待訪問緩存塊對應的目標目錄項時,將極其耗時。所以在根據上述步驟401和步驟402進行目錄設計后,還需為目錄集合、目錄組、目錄項及標簽設置索引,以便在海量數據中快速鎖定目標目錄項所在目錄中的位置。
[0116]在為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引時,可采取用二進制數進行索引的方式。以為目錄集合設置索引為例,若存在1000個目錄集合,則可用10位的二進制數對1000個目錄集合進行索引。依次以0000000000、0000000001、0000000010等對1000個目錄集合進行標識。目錄組、目錄項及標簽的設置索引方式同目錄集合的設置索引方式一致,此處不再贅述。當然,除了上述以二進制數進行索引的方式外,還可采取其他索引方式,本實施例對此不作具體限定。本發明實施例僅以二進制數進行索引的方式進行舉例說明。此外,在如圖5所示的目錄中,每個目錄集合中除包括各個目錄組以外,還可包括各個目錄組對應的目錄組索引信息(Tag),包括目錄組索引信息(Tag)的目錄集合如圖7所示。
[0117]404、存儲多個目錄集合及多個標簽。
[0118]在本發明實施例中,在存儲多個目錄集合及多個標簽時,可將上述各項存儲在本地節點的節點控制器上;還可將上述各項存儲在于節點控制器連接的其他存儲介質上。具體采取何種存儲方式本實施例對此不作具體限定。可視情況而定。以本地節點的總存儲空間為IT為例,則采用本發明實施例提供的目錄設計方式標簽的內存消耗為lTB/64byte/lKbit=16Mbit ;Tag 的內存消耗 lK*16*14bit=224Kbit ;目錄項的內存消耗1K*16*1K*目錄項長度=16Μ*目錄項長度。由上述計算可見,該目錄設計占用內存有限,完全可以由片上內存來完成。所以相較于現有的目錄設計方式而言,大大降低了內存消耗。
[0119]需要說明的是,在通過上述步驟401至404進行層次化的目錄設計后,當節點控制器接收到遠端節點發送的內存訪問請求時,便可根據內存訪問請求中攜帶的信息進行目錄訪問,從而確定目標目錄項對應的緩存塊的占用狀態,并根據目標目錄項對應的緩存塊的占用狀態,響應遠端節點的內存訪問請求。詳細過程參見下述步驟405至步驟407。
[0120]405、當接收到遠端節點發送的內存訪問請求時,根據內存訪問請求攜帶的目標目錄項的標簽索引信息,獲取目標目錄項所在目錄組的標簽。
[0121]其中,內存訪問請求中包括目標內存的物理地址。該目標內存的物理地址中包括標簽索引信息、目錄項索引信息及緩存塊索引信息。參見圖8,以本地節點的總存儲空間為IT為例,則目標內存的物理地址共有40bit。其中,標簽索引信息占據24bit,目錄項索引信息占據lObit,緩存塊索引信息占據6bit。
[0122]在本發明實施例中,節點控制器在接收到遠端節點發送的內存訪問請求后,將根據該內存訪問請求攜帶的相關信息進行目錄的訪問,也即在存儲于自身的目錄中查找目標目錄項(請求緩存塊對應的目錄項),或在與其相連的存儲有目錄的存儲介質中查找目標目錄項,確定目標目錄項對應的緩存塊的占用狀態。而為了確定目標目錄項對應的緩存塊的占用狀態,還需先確定目標目錄項所在目錄組的標簽。在獲取目標目錄項所在目錄組的標簽時,由于內存訪問請求中攜帶目標目錄項的標簽索引信息,而一個標簽索引信息能夠唯一標識一個標簽,所以根據該標簽索引信息便可獲取到目標目錄項所在目錄組的標簽。在本發明實施例中,由于在步驟402中為一個目錄組分配一個標簽,所以通過目標目錄項所在目錄組的標簽,便可確定目標目錄項對應的緩存塊的占用狀態。
[0123]406、根據目標目錄項所在目錄組的標簽,確定目標目錄項對應的緩存塊的占用狀態。
[0124]在本發明實施例中,標簽占用lbit。如果目標目錄項所在目錄組的標簽為0,則確定目標目錄項對應的緩存塊為未占用狀態,也即沒有任何的遠端節點對目標目錄項對應的緩存塊進行讀寫操作;如果目標目錄項所在目錄組的標簽為1,則確定目標目錄項對應的緩存塊為可能態(任意可能的狀態),目標目錄項對應的緩存塊可能被一個遠端節點占用,也可能被多個遠端節點占用,甚至也可能未被任何遠端節點所占用。
[0125]407、基于目標目錄項對應的緩存塊的占用狀態,響應遠端節點的內存訪問請求。
[0126]在本發明實施例中,若根據上述步驟406確定目標目錄項對應的緩存塊為未占用狀態,則節點控制器可直接分配目標目錄項對應的緩存塊給遠端節點,以供遠端節點進行讀寫操作。若根據上述步驟406確定目標目錄項對應的緩存塊為可能態,則節點控制器還需向除發送內存訪問請求之外的其他遠端節點發送偵聽消息,以確定是否有遠端節點對目標目錄項對應的緩存塊進行占用。若節點控制器確定有其他遠端節點占用了目標目錄項對應的緩存塊,且其他遠端節點允許共享該緩存塊,則節點控制器可直接分配目標目錄項對應的緩存塊給遠端節點,以供遠端節點進行讀寫操作。若節點控制器確定有其他遠端節點占用了目標目錄項對應的緩存塊,且其他遠端節點不允許共享該緩存塊,則節點控制器便不能分配該緩存塊給遠端節點進行讀寫操作,針對該種情況,節點控制器可向發送內存訪問請求的遠端節點回應訪問失敗信息,以對遠端節點進行提醒。
[0127]此外,遠端節點在占用緩存塊進行讀寫操作后,一般會立即釋放占用的緩存塊。而節點控制器對這一情況是未知的,需遠端節點主動將緩存塊釋放消息發送給節點控制器,以便節點控制器根據緩存塊釋放消息進行標簽的更新。若遠端節點未將緩存塊釋放消息發送給節點控制器,則若其他遠端節點請求該遠端節點之前占用的緩存塊,則節點控制器將不會分配對應的緩存塊給其他遠端節點。為了避免該種情況的發生,節點控制器在響應其他遠端節點的內存訪問請求時,還需發送偵聽消息,以確定是否真正有遠端節點占用了請求的緩存塊。
[0128]需要說明的是,在進行層次化目錄設計之后,除了采取上述步驟405至步驟407所示的基于標簽索引信息的目錄訪問方式外,還可采取基于集合索引信息、目錄組索引信息及目錄項索引信息的目錄訪問方式。具體過程詳見如圖9所示的步驟901至步驟910。
[0129]901、當接收到遠端節點發送的內存訪問請求時,根據內存訪問請求攜帶的集合索引信息,確定目標目錄項所在目錄集合。
[0130]其中,內存訪問請求中包括目標內存的物理地址。該目標內存的物理地址中包括目錄組索引信息、集合索引信息、目錄項索引信息及緩存塊索引信息。參見圖10,以本地節點的總存儲空間為IT為例,則目標內存的物理地址共有40bit。其中,目錄組索引信息占據14bit,集合索引信息占據lObit,目錄項索引信息占據lObit,緩存塊索引信息占據6bit。
[0131]在本發明實施例中,節點控制器在接收到遠端節點發送的內存訪問請求后,將根據該內存訪問請求攜帶的相關信息進行目錄的訪問,也即在存儲于自身的目錄中查找目標目錄項(請求緩存塊對應的目錄項),或在與其相連的存儲有目錄的存儲介質中查找目標目錄項,確定目標目錄項對應的緩存塊的占用狀態。而為了確定目標目錄項對應的緩存塊的占用狀態,還需先確定目標目錄項所在目錄集合。在確定目標目錄項所在目錄集合時,由于內存訪問請求中攜帶集合索引信息,而一個集合索引信息能夠唯一標識一個目錄集合,所以根據該集合索引信息便可確定目標目錄項所在目錄集合。
[0132]902、根據目錄組索引信息,在目標目錄項所在目錄集合中查找目標目錄項所在目錄組;如果查找到目標目錄項所在目錄組,則執行步驟903 ;如果未查找到目標目錄項所在目錄組,則執行步驟905。[0133]在本發明實施例中,在確定目標目錄項所在目錄集合后,接下來便要在目標目錄項所在目錄集合中查找目標目錄項所在目錄組。在查找目標目錄項所在目錄組時,具體可采用下述方式:由于目標目錄項所在目錄集合中的每個目錄組均對應一個目錄組索引信息(Tag),所以可將內存訪問請求攜帶的目錄索引信息同目標目錄項所在目錄集合中每一個目錄組的目錄組索引信息進行比較;如果內存訪問請求攜帶的目錄索引信息同目標目錄項所在目錄集合中一個目錄組的目錄組索引信息相同,則執行下述步驟903;如果內存訪問請求攜帶的目錄索引信息同目標目錄項所在目錄集合中任一個目錄組的目錄組索引信息均不相同,則執行下述步驟905。
[0134]903、根據目錄項索引信息確定目標目錄項;根據目標目錄項所在目錄組的標簽,確定目標目錄項對應的緩存塊的占用狀態。
[0135]由于已根據上述步驟901確定了目標目錄項所在目錄集合,根據上述步驟902確定了目標目錄項所在目錄組,所以本步驟僅需根據目錄項索引信息對目標目錄項進行定位即可。由于一個目錄項索引信息可對目錄組中一個目錄項進行唯一標識,所以根據目錄項索引信息遍歷目標目錄項所在目錄組,便可查找到目標目錄項。由于目標目錄項所在目錄組對應一個標簽,所以根據目標目錄項所在目錄組的標簽,便可確定目標目錄想對應的緩存塊的占用狀態。確定目標目錄項對應的緩存塊的占用狀態的方式同上述步驟406 —致,此處不再贅述。在執行完本步驟后,執行下述步驟904。
[0136]904、基于目標目錄項對應的緩存塊的占用狀態,響應遠端節點的內存訪問請求。
[0137]該步驟同上述407同理,此處不再贅述。
[0138]905、在目標目錄項所在目錄集合中,查找第一目錄組,第一目錄組為全部目錄項均處于未占用狀態的目錄組;如果查找到第一目錄組,則執行步驟907 ;如果未查找到第一目錄組,則執行步驟908。
[0139]由于未在目標目錄項所在目錄集合中,查找到目標目錄項所在目錄組,因此要進行目錄組的替換操作,以便后續過程中節點控制器根據目標目錄項對應的緩存塊的占用狀態響應遠端節點的內存訪問請求。在進行目錄替換操作時,首先在目標目錄項所在目錄集合中查找第一目錄組,也即第一目錄組中所有目錄項對應的緩存塊均為被任何遠端節點占用;若在目標目錄項所在目錄集合中查找到第一目錄組,則執行下述步驟906 ;若在目標目錄項所在目錄集合中未查找到第一目錄組,則執行下述步驟908。
[0140]906、根據第一目錄組對應的目錄組索引信息和目標目錄項的集合索引信息,生成第一標簽索引信息。
[0141]在本發明實施例中,在根據第一目錄組對應的目錄組索引信息和目標目錄項的集合索引信息,生成第一標簽索引信息時,具體可采取下述方式實現:
[0142]將目錄組索引信息的多個數據位置于集合索引信息的多個數據位之前,組合成新的數據位;將新的數據位確定為第一標簽索引信息的數據位。
[0143]以本地內存的總存儲空間為IT為例,則第一目錄組的目錄組索引信息為14位,目標目錄項的集合索引信息為10位。以第一目錄組的目錄組索引信息為
00000000000011,目標目錄項的集合索引信息為1000000001為例,則第一標簽索引信息為000000000000111000000001。在執行完本步驟后,執行下述步驟907。
[0144]907、根據第一標簽索引信息,獲取第一標簽;更新第一標簽,并將第一目錄組對應的目錄組索引信息更新為內存訪問請求攜帶的目錄組索引信息。
[0145]在本發明實施例中,由于一個標簽索引信息可對一個標簽進行唯一標識,所以根據第一標簽的索引信息即可快速在存儲的多個標簽中獲取到第一標簽。在獲取到第一標簽后,對第一標簽進行更新,即將第一標簽置O。并將第一目錄組對應的目錄組索引信息更新為內存訪問請求攜帶的目錄組索引信息。也即,將第一目錄組對應的目錄組索引信息和標簽索引信息進行了替換,得到了一個新的目錄組。
[0146]908、根據預設策略查找第二目錄組。
[0147]在本發明實施例中,預設策略可為LRU (Least Recently Used近期最少使用)策略。也即在查找第二目錄組時,可將目標目錄項所在目錄集合中近期最少被訪問的目錄組作為第二目錄組。若近期最少被訪問的目錄組存在多個,比如,近期訪問次數為O次的目錄組存在多個,則可在多個目錄組任意選擇一個目錄組作為第二目錄組。其中,近期可指代當前時間與前一個小時或前一分鐘或前一秒中之間的時間范圍,本實施例對近期所指代的時間范圍大小不進行具體限定。
[0148]909、根據第二目錄組對應的目錄組索引信息和目標目錄項的集合索引信息,生成第二標簽索引信息。
[0149]該步驟同上述步驟906同理,此處不再贅述。
[0150]910、根據第二標簽索引信息,獲取第二標簽;更新第二標簽,并將第二目錄組對應的目錄組索引信息更新為內存訪問請求攜帶的目錄組索引信息。
[0151]在本發明實施例中,由于一個標簽索引信息可對一個標簽進行唯一標識,所以根據第二標簽的索引信息即可快速在存儲的多個標簽中獲取到第二標簽。在獲取到第二標簽后,對第二標簽進行更新,即將第二標簽置I。并將第二目錄組對應的目錄組索引信息更新為內存訪問請求攜帶的目錄組索引信息。也即,將第二目錄組對應的目錄組索引信息和標簽索引信息進行了替換,得到了一個新的目錄組。
[0152]需要說明的是,本地內存除了可由節點控制器進行控制之外,還可由HA(HomeAgent,本地代理)進行控制。其中,HA 為 NUMA (Non Uniform Memory Access Achitecture,非一致訪問分布共享存儲技術)系統中用于管理系統內存的節點,可以認為是一個維護CC協議的內存控制器。如果圖1中本地內存104由HA進行管理,HA通過本地網絡106與節點控制器103相連,則節點控制器103此時就是一個網絡互連芯片。
[0153]本發明實施例提供的方法,在根據緩存塊的數目,建立包括多個目錄項和多個目錄組的層次化目錄集合,并為每個目錄組配置一個標簽后,可實現一個標簽標識一個目錄組中全部目錄組對應的緩存塊的占用狀態,從而節省了目錄占用的存儲空間,僅用片上內存便可對生成的目錄進行存儲,無需引入片外內存,不但節省了設計成本,降低了目錄設計的復雜度,還降低了遠端節點對本地內存的訪問延時,提升了多處理器系統的性能。
[0154]圖11是本發明實施例提供的一種目錄設計裝置,參見圖11,該裝置包括:目錄建立模塊1101、標簽配置模塊1102、索引設置模塊1103、存儲模塊1104。
[0155]其中,目錄建立模塊1101,用于根據緩存塊的數目,建立多個目錄集合,每個目錄集合中包括多個目錄組,每個目錄組中包括多個目錄項,一個目錄項與一個緩存塊對應;標簽配置模塊1102目錄建立模塊1101連接,用于分別為多個目錄組配置標簽,標簽用于標識目錄組所包括的所有目錄項對應的緩存塊的占用狀態;索引設置模塊1103與標簽配置模塊1102連接,用于分別為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引;存儲模塊1104索引設置模塊1103連接,用于存儲多個目錄集合及多個標簽。
[0156]可選地,該裝置還包括:
[0157]標簽獲取模塊,用于當接收到遠端節點發送的內存訪問請求時,根據內存訪問請求攜帶的目標目錄項的標簽索引信息,獲取目標目錄項所在目錄組的標簽;
[0158]狀態確定模塊,用于根據目標目錄項所在目錄組的標簽,確定目標目錄項對應的緩存塊的占用狀態;
[0159]響應模塊,用于基于目標目錄項對應的緩存塊的占用狀態,響應遠端節點的內存訪問請求。
[0160]可選地,該裝置還包括:
[0161]目錄集合確定模塊,用于當接收到遠端節點發送的內存訪問請求時,根據內存訪問請求攜帶的集合索引信息,確定目標目錄項所在目錄集合;
[0162]目錄組查找模塊,用于根據內存訪問請求攜帶的目錄組索引信息,在目標目錄項所在目錄集合中查找目標目錄項所在目錄組;
[0163]目錄項確定模塊,用于當查找到目標目錄項所在目錄組時,根據內存訪問請求攜帶的目錄項索引信息確定目標目錄項;
[0164]狀態確定模塊,用于根據目標目錄項所在目錄組的標簽,確定目標目錄項對應的緩存塊的占用狀態;
[0165]響應模塊,用于基于目標目錄項對應的緩存塊的占用狀態,響應遠端節點的內存訪問請求。
[0166]可選地,該裝置還包括:
[0167]目錄組查找模塊,用于當未查找到目標目錄項所在目錄組時,在目標目錄項所在目錄集合中,查找第一目錄組,第一目錄組為全部目錄項均處于未占用狀態的目錄組;
[0168]索引信息生成模塊,用于如果查找到第一目錄組,則根據第一目錄組對應的目錄組索弓I信息和目標目錄項的集合索弓I信息,生成第一標簽索弓I信息;
[0169]標簽獲取模塊,用于根據第一標簽索引信息,獲取第一標簽;
[0170]更新模塊,用于更新第一標簽,并將第一目錄組對應的目錄組索引信息更新為內存訪問請求攜帶的目錄組索引信息。
[0171]可選地,索引信息生成模塊,用于將目錄組索引信息的多個數據位置于集合索引信息的多個數據位之前,組合成新的數據位;將新的數據位確定為第一標簽索引信息的數據位。
[0172]可選地,該裝置還包括:
[0173]目錄組查找模塊,用于當未查找到第一目錄組時,根據預設策略查找第二目錄組;
[0174]索引信息生成模塊,用于根據第二目錄組對應的目錄組索引信息和目標目錄項的集合索引信息,生成第二標簽索引信息;
[0175]標簽獲取模塊,用于根據第二標簽索引信息,獲取第二標簽;
[0176]更新模塊,用于更新第二標簽,并將第二目錄組對應的目錄組索引信息更新為內存訪問請求攜帶的目錄組索引信息。[0177]綜上所述,本發明實施例提供的裝置,在根據緩存塊的數目,建立包括多個目錄項和多個目錄組的層次化目錄集合,并為每個目錄組配置一個標簽后,可實現一個標簽標識一個目錄組中全部目錄組對應的緩存塊的占用狀態,從而節省了目錄占用的存儲空間,僅用片上內存便可對生成的目錄進行存儲,無需引入片外內存,不但節省了設計成本,降低了目錄設計的復雜度,還降低了遠端節點對本地內存的訪問延時,提升了多處理器系統的性倉泛。
[0178]需要說明的是:上述實施例提供的目錄設計裝置在進行目錄設計時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的目錄設計裝置與目錄設計法實施例屬于同一構思,其具體實現過程詳見方法實施例,這里不再贅述。
[0179]上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
[0180]本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0181]以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種目錄設計方法,其特征在于,所述方法包括: 根據緩存塊的數目,建立多個目錄集合,每個目錄集合中包括多個目錄組,每個目錄組中包括多個目錄項,一個目錄項與一個緩存塊對應; 分別為所述多個目錄組配置標簽,所述標簽用于標識所述目錄組所包括的所有目錄項對應的緩存塊的占用狀態; 分別為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引; 存儲多個目錄集合及多個標簽。
2.根據權利要 求1所述的方法,其特征在于,所述存儲多個目錄集合及多個標簽之后,所述方法還包括: 當接收到遠端節點發送的內存訪問請求時,根據所述內存訪問請求攜帶的目標目錄項的標簽索引信息,獲取所述目標目錄項所在目錄組的標簽; 根據所述目標目錄項所在目錄組的標簽,確定所述目標目錄項對應的緩存塊的占用狀態; 基于所述目標目錄項對應的緩存塊的占用狀態,響應所述遠端節點的內存訪問請求。
3.根據權利要求1所述的方法,其特征在于,所述存儲多個目錄集合及多個標簽之后,所述方法還包括: 當接收到遠端節點發送的內存訪問請求時,根據所述內存訪問請求攜帶的集合索引信息,確定所述目標目錄項所在目錄集合; 根據所述內存訪問請求攜帶的目錄組索引信息,在所述目標目錄項所在目錄集合中查找所述目標目錄項所在目錄組; 如果查找到所述目標目錄項所在目錄組,則根據所述內存訪問請求攜帶的目錄項索引信息確定所述目標目錄項; 根據所述目標目錄項所在目錄組的標簽,確定所述目標目錄項對應的緩存塊的占用狀態; 基于所述目標目錄項對應的緩存塊的占用狀態,響應所述遠端節點的內存訪問請求。
4.根據權利要求3所述的方法,其特征在于,所述在所述目標目錄項所在目錄集合中查找所述目標目錄項所在目錄組之后,所述方法還包括: 如果未查找到所述目標目錄項所在目錄組,則在所述目標目錄項所在目錄集合中,查找第一目錄組,所述第一目錄組為全部目錄項均處于未占用狀態的目錄組; 如果查找到所述第一目錄組,則根據所述第一目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第一標簽索引信息; 根據所述第一標簽索引信息,獲取第一標簽; 更新所述第一標簽,并將所述第一目錄組對應的目錄組索引信息更新為所述內存訪問請求攜帶的目錄組索引信息。
5.根據權利要求4所述的方法,其特征在于,所述根據所述第一目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第一標簽索引信息,包括: 將所述目錄組索引信息的多個數據位置于所述集合索引信息的多個數據位之前,組合成新的數據位; 將所述新的數據位確定為所述第一標簽索引信息的數據位。
6.根據權利要求4所述的方法,其特征在于,所述在所述目標目錄所在的目錄集合中,查找第一目錄組之后,所述方法還包括: 如果未查找到所述第一目錄組,則根據預設策略查找第二目錄組; 根據所述第二目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第二標簽索引信息; 根據所述第二標簽索引信息,獲取第二標簽; 更新所述第二標簽,并將所述第二目錄組對應的目錄組索引信息更新為所述內存訪問請求攜帶的目錄組索引信息。
7.一種目錄設計裝置,其特征在于,所述裝置包括: 目錄建立模塊,用于根據緩存塊的數目,建立多個目錄集合,每個目錄集合中包括多個目錄組,每個目錄組中包括多個目錄項,一個目錄項與一個緩存塊對應; 標簽配置模塊,用于分別為所述多個目錄組配置標簽,所述標簽用于標識所述目錄組所包括的所有目錄項對應的緩存塊的占用狀態; 索引設置模塊,用于分別為每個目錄集合、每個目錄組、每條目錄項及每個標簽設置索引 ; 存儲模塊,用于存儲多個目錄集合及多個標簽。
8.根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 標簽獲取模塊,用于當接收到遠端節點發送的內存訪問請求時,根據所述內存訪問請求攜帶的目標目錄項的標簽索引信息,獲取所述目標目錄項所在目錄組的標簽; 狀態確定模塊,用于根據所述目標目錄項所在目錄組的標簽,確定所述目標目錄項對應的緩存塊的占用狀態; 響應模塊,用于基于所述目標目錄項對應的緩存塊的占用狀態,響應所述遠端節點的內存訪問請求。
9.根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 目錄集合確定模塊,用于當接收到遠端節點發送的內存訪問請求時,根據所述內存訪問請求攜帶的集合索引信息,確定所述目標目錄項所在目錄集合; 目錄組查找模塊,用于根據所述內存訪問請求攜帶的目錄組索引信息,在所述目標目錄項所在目錄集合中查找所述目標目錄項所在目錄組; 目錄項確定模塊,用于當查找到所述目標目錄項所在目錄組時,根據所述內存訪問請求攜帶的目錄項索引信息確定所述目標目錄項; 所述狀態確定模塊,用于根據所述目標目錄項所在目錄組的標簽,確定所述目標目錄項對應的緩存塊的占用狀態; 所述響應模塊,用于基于所述目標目錄項對應的緩存塊的占用狀態,響應所述遠端節點的內存訪問請求。
10.根據權利要求9所述的裝置,其特征在于,所述裝置還包括: 所述目錄組查找模塊,用于當未查找到所述目標目錄項所在目錄組時,在所述目標目錄項所在目錄集合中,查找第一目錄組,所述第一目錄組為全部目錄項均處于未占用狀態的目錄組; 索引信息生成模塊,用于如果查找到所述第一目錄組,則根據所述第一目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第一標簽索引信息; 所述標簽獲取模塊,用于根據所述第一標簽索引信息,獲取第一標簽; 更新模塊,用于更新所述第一標簽,并將所述第一目錄組對應的目錄組索引信息更新為所述內存訪問請求攜帶的目錄組索引信息。
11.根據權利要求10所述的裝置,其特征在于,所述索引信息生成模塊,用于將所述目錄組索引信息的多個數據位置于所述集合索引信息的多個數據位之前,組合成新的數據位;將所述新的數據位確定為所述第一標簽索引信息的數據位。
12.根據權利要求10所述的裝置,其特征在于,所述裝置還包括: 所述目錄組查找模塊,用于當未查找到所述第一目錄組時,根據預設策略查找第二目錄組; 索引信息生成模塊,用于根據所述第二目錄組對應的目錄組索引信息和所述目標目錄項的集合索引信息,生成第二標簽索引信息; 所述標簽獲取模塊,用于根據所述第二標簽索引信息,獲取第二標簽; 所述更新模塊,用于更新所述第二標簽,并將所述第二目錄組對應的目錄組索引信息更新為所述內存訪問請求攜帶的目錄組索引信息。
【文檔編號】G06F17/30GK103970678SQ201410159502
【公開日】2014年8月6日 申請日期:2014年4月21日 優先權日:2014年4月21日
【發明者】趙亞飛, 姚策, 褚小偉 申請人:華為技術有限公司