專利名稱:緩存地址的處理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別涉及一種緩存地址的處理方法和裝置。
背景技術(shù):
緩存地址管理是外置超大緩存類芯片的核心技術(shù)之一,用于完成一塊或多塊數(shù)據(jù) /包存儲RAM (Random Access Memory,隨機存儲器)的地址管理。緩存地址管理可通過外置大緩存的芯片系統(tǒng)架構(gòu)實現(xiàn),該架構(gòu)包含一個內(nèi)置的緩存地址管理模塊,如AM (Address Management,地址管理)模塊。當(dāng)報文進入某芯片內(nèi)部時,PWC(Packets Write Controller, 包寫控制器)生成一個入隊信息用于調(diào)度,報文被寫入外部大緩存,寫緩存的地址從AM模塊獲取,當(dāng)報文被成功調(diào)度出隊,PRC(PaCketS Read Controller,包讀控制器)根據(jù)出隊信息中的報文緩存地址從外部緩存讀出報文數(shù)據(jù),一個完整的報文讀完后將緩存報文的緩存地址送到AM模塊進行地址回收釋放。當(dāng)有報文要寫到外部Memory時,PWC向AM申請空閑地址,AM輸出分配的空閑地址給PWC,PWC將報文寫到分配的地址對應(yīng)的存儲塊,并生成報文入隊信息參與調(diào)度。當(dāng)一個報文成功調(diào)度出隊時,PRC根據(jù)出隊信息里的報文存儲信息,從外部存儲讀出數(shù)據(jù)報文,報文成功讀出后將報文的緩存地址送到AM模塊進行地址回收釋放。在對現(xiàn)有技術(shù)進行分析后,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少具有如下缺點現(xiàn)有技術(shù)中對緩存地址的處理方法是一讀一寫,當(dāng)收到分配地址請求時,則分配相應(yīng)的地址,回收時,由于每次回收時都要寫第一 Bitmap,導(dǎo)致第一 Bitmap寫操作頻繁,在某些高速場景,由于讀寫隨時可能同時要進行操作,資源和功耗都較大,拖慢了系統(tǒng)的運轉(zhuǎn)速度,處理速度慢,效率低。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種緩存地址的處理方法和裝置。所述技術(shù)方案如下一種緩存地址的處理方法,所述方法包括從第二 bitmap表中獲得空閑的基地址;根據(jù)所述基地址,從第一 bitmap表中的所述基地址的范圍內(nèi)選擇空閑的緩存地址。一種緩存地址的處理裝置,所述裝置包括第一位圖bitmap表管理模塊,用于通過第一位圖bitmap表對緩存地址進行 bitmap管理,其中,所述第一位圖bitmap表包括用于指示各個緩存地址的狀態(tài)的表項;第二位圖bitmap表管理模塊,用于通過第二位圖bitmap表對第一位圖bitmap表中的基地址進行管理,其中,所述第二位圖bitmap表中包括用于指示第一 bitmap表中的基地址的狀態(tài)的表項,其中,所述基地址用于指示所述第一 bitmap表中所有低比特為所述基地址的緩存地址;處理模塊,用于從所述第二 bitmap表中獲得第一 bitmap表中的空閑的基地址,然后再從所述第一 bitmap表中獲得處于所述基地址范圍內(nèi)的空閑的第一地址,根據(jù)所述第一地址進行分配。本發(fā)明實施例提供的技術(shù)方案的有益效果是通過第一 Bitmap對緩存地址進行Bitmap管理,第二 Bitmap對第一 Bitmap的基地址進行管理,在接收到地址分配請求時,根據(jù)第二 Bitmap中各個比特位的空閑或占用狀態(tài)獲取第一 Bitmap中空閑的緩存地址,對該緩存地址進行分配,改變了現(xiàn)有技術(shù)中一次只分配一個地址的流程,在回收地址時,也將大量地址集中回收,降低了緩存的處理壓力,提高了存儲的穩(wěn)定性。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的一種緩存地址的處理方法的流程圖;圖2是本發(fā)明實施例提供的一種緩存地址的處理方法的流程圖;圖3是本發(fā)明實施例提供的一種緩存地址的處理裝置的結(jié)構(gòu)示意圖;圖4是本發(fā)明實施例提供的一種緩存地址的處理裝置的結(jié)構(gòu)示意圖;圖5是本發(fā)明實施例提供的一種緩存地址的處理裝置的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細(xì)描述。圖1是本發(fā)明實施例提供的一種緩存地址的處理方法的流程圖。參見圖1,該方法包括101、從第二 bitmap表中獲得空閑的基地址;在本實施例中,所述基地址用于指示所述第一 bitmap表中低比特為所述基地址的緩存地址。在本實施例中,用第一 Bitmap表對緩存地址進行Bitmap管理,Bitmap表是一個二維表,第一 Bitmap表中的每個比特位的地址對應(yīng)一個緩存地址。緩存地址與第一 Bitmap 表的映射關(guān)系為第一Bitmap表中比特位的行地址為緩存地址的高比特,第一Bitmap表的列地址為緩存地址的低比特。第一 Bitmap表中每個Bit位的比特值用于表示對應(yīng)緩存地址的狀態(tài),當(dāng)比特位為0時,表示該比特位的地址所指示的緩存地址被占用,當(dāng)比特位為1 時,表示該比特位的地址所指示的緩存地址空閑。進一步,用第二 Bitmap表對第一 Bitmap 表進行Bitmap管理,第二 Bitmap表中的每個比特位的地址對應(yīng)第一 Bitmap表中的一個基地址?;刂放c第二 Bitmap表的映射關(guān)系為第二 Bitmap表中比特位的行地址為基地址的高比特,第二 Bitmap表的列地址為基地址的低比特。第二 Bitmap表中每個Bit位的比特值用于表示對應(yīng)基地址的狀態(tài),當(dāng)比特位為0時,表示該比特位的地址所指示的基地址被占用,當(dāng)比特位為1時,表示該比特位的地址所指示的基地址空閑。優(yōu)選地,Bitmap表可以使用RAM來實現(xiàn)。本領(lǐng)域技術(shù)人員可以獲知,該Bitmap表的設(shè)置方法為現(xiàn)有技術(shù),在此不再贅述。需要說明的是,本發(fā)明的緩存地址的處理方法是以Bitmap表為基礎(chǔ)的,凡是在對緩存進行管理時使用到Bitmap表的,本發(fā)明均適用。本發(fā)明中的緩存包括共享緩存。102、根據(jù)獲得的基地址,從第一 bitmap表中的該基地址的范圍內(nèi)選擇空閑的緩存地址。從所述第二 Bitmap表中獲取1個空閑的比特位,該比特位的行地址為基地址的高比特,第二 Bitmap表的列地址為基地址的低比特,得到空閑的基地址,在該獲取的所述第一 Bitmap表的基地址的范圍內(nèi),選擇空閑的緩存地址。進一步地,該方法還包括讀取待回收緩存地址,將所述第一 Bitmap表中與所述待回收緩存地址對應(yīng)的比特位置為空閑狀態(tài)。通過第一 Bitmap對緩存地址進行Bitmap管理,第二 Bitmap對第一 Bitmap的基地址進行管理,在接收到地址分配請求時,根據(jù)第二 Bitmap中各個比特位的占用或非占用狀態(tài)獲取第一 Bitmap中空閑的緩存地址,對該緩存地址進行分配,改變了現(xiàn)有技術(shù)中一次只分配一個地址的流程,在回收地址時,也將大量地址集中回收,降低了緩存的處理壓力, 提高了存儲的穩(wěn)定性。圖2是本發(fā)明實施例提供的一種緩存地址的處理方法的流程圖。參見圖2,該方法包括201、通過第一位圖bitmap表對緩存地址進行bitmap管理,其中,所述第一位圖 bitmap表包括用于指示各個緩存地址的狀態(tài)的表項;本實施例中,采用第一 Bitmap表來管理緩存地址的分配狀態(tài),其具體的劃分方式和原理為現(xiàn)有技術(shù),在本實施例中不作贅述。舉例說明,將外置的32(ibits外置DDR3緩存劃分成多個區(qū)域即Block來管理,每個Block具有一定的容量,如Block容量為4Kbyte,每個Block對應(yīng)一個地址,則共需要 32GBits/(4KX8) = IM個地址來管理,相應(yīng)的AM模塊需要管理IM個Block地址。將IM個 Block地址用IM的Bitmap管理,稱為第一 Bitmap表,可用IM的RAM實現(xiàn),該RAM的每一 Bit對應(yīng)一個緩存地址,Bit值為1表示該Bit對應(yīng)的地址處于空閑狀態(tài),可以分配,Bit值為0表示該Bit對應(yīng)的地址已分配出去,當(dāng)?shù)刂坊厥諘r,將相應(yīng)的Bit位置為1即可,該Bit 在IM的RAM的地址用于指示該Block的緩存地址,該Bit在IM的RAM的列地址為Block 地址的高比特,行地址即為Block地址的低比特。202、通過第二位圖b i tmap表對第一位圖b i tmap表中的基地址進行管理,其中,所述第二位圖bitmap表中包括用于指示第一 bitmap表中的基地址的狀態(tài)的表項,其中,所述基地址用于指示所述第一 bitmap表中所有低比特為所述基地址的緩存地址;其中,基地址是指第一Bitmap表中的列地址,以一個8KX128Bits的IM RAM為例, 8K列地址稱為基地址,可見,一個基地址對應(yīng)1 個Block地址,如列地址為IK的128Block 地址范圍為16,h20000 2007f。設(shè)列地址用CA來表示,行地址用RA來表示,則每個Bit 表示的 Block 地址為{13,hCA,7,hRA}。本實施例中,采用第二 Bitmap表來管理第一 Bitmap表的分配狀態(tài),其具體的劃分原理為與步驟201相同,在本實施例中不作贅述。
基于步驟201的例子,該步驟202中,8KX 128bits的RAM采用Bitmap方式管理, 該Bitmap只管理IM的RAM的8K個基地址,只需要一塊8K的RAM,如一塊U8X64Bits的 RAM,該RAM的每一 bit代表了 IM的第一 Bitmap RAM的8K基地址中的一個地址。203、從所述第二 Bitmap表中獲取至少一個比特位,根據(jù)該比特位得到所述第一 Bitmap表的基地址,在該獲取的基地址的范圍內(nèi),獲取所述第一 Bitmap表的第一地址,將所述獲取的第一地址作為緩存地址保存在FIFO (First In FirstOut,先入先出隊列)中; 所述FIFO用于存儲緩存地址;如果直接從第二 Bitmap表中搜索空閑的比特位,可能會消耗很多個時鐘周期,所以本實施例中,可以結(jié)合使用一個指定深度的FIFO來進行緩存地址的分配和回收,如256 深度的FIFO。在系統(tǒng)初始化時,在FIFO隊列中預(yù)存空閑緩存地址,并設(shè)定FIFO的兩個水線,第一水線為回收水線,即高閾值,第二水線為搜索空閑比特位的水線,即低閾值。204、當(dāng)所述FIFO的深度高于第一水線時,從所述FIFO讀取預(yù)設(shè)數(shù)值個緩存地址, 將所述第一 Bitmap表中與所述預(yù)設(shè)數(shù)值個緩存地址對應(yīng)的比特位置為空閑狀態(tài);在本實施例中,當(dāng)FIFO的深度高于第一水線時,從FIFO讀出預(yù)設(shè)數(shù)值個緩存地址,將第一 Bitmap表中與該預(yù)設(shè)數(shù)值個緩存地址對應(yīng)的比特位置為空閑狀態(tài),也即是將 Bitmap表中對應(yīng)的bit置為1 ;優(yōu)選地,該預(yù)設(shè)數(shù)值應(yīng)為第一 Bitmap表和第二 Bitmap表的對應(yīng)關(guān)系相關(guān),如第一 Bitmap表的容量為Z5iBits,第二 Bitmap表的容量為2、its,則預(yù)設(shè)數(shù)值為的整數(shù)倍。需要說明的是,對第一 Bitmap表中的每一個Bit來說,只要該Bit對應(yīng)的多個緩存地址中有一個是空閑狀態(tài),則該Bit位也應(yīng)為空閑狀態(tài),直到該Bit對應(yīng)的全部緩存地址都已經(jīng)分配出去,則將該Bit置為被占用狀態(tài)。同理,對第二 Bitmap表中的每一個Bit來說,只要該Bit對應(yīng)的多個第一 Bitmap表地址中有一個是空閑狀態(tài),則該Bit位也應(yīng)為空閑狀態(tài),直到該Bit對應(yīng)的全部第一 Bitmap表地址都已經(jīng)是被占用狀態(tài),則將該Bit置為被占用狀態(tài)。205、當(dāng)所述FIFO的深度低于第二水線時,從所述第二 Bitmap表中取出一個第二地址作為第一 Bitmap表的基地址,在該基地址的范圍內(nèi),獲取所述第一 Bitmap表的第一地址作為緩存地址,將所述緩存地址保存在所述FIFO中;所述第一水線不等于第二水線。需要說明的是,該第一水線不等于第二水線。進一步地,第一水線大于第二水線, 具體地,第一和第二水線之間相差多個周期,若第一水線設(shè)為224,第二水線設(shè)為32,則相差至少192個周期,這樣使用能有效避免讀寫同時操作的情況,IM的第一 Bitmap可以采用單端口的存儲器件實現(xiàn),大大節(jié)省存儲器面積資源。206、當(dāng)接收到地址分配請求時,從該FIFO中獲取緩存地址進行分配;在本實施例中,F(xiàn)IFO中預(yù)存了多個緩存地址,則當(dāng)接收到地址分配請求時,直接從 FIFO分配,延時很小,速度快,可以支持背靠背應(yīng)用。如上文的例子,F(xiàn)IFO存儲的是20Bit的Block地址,當(dāng)有地址分配請求時,從FIFO 取出一個Block地址直接分配出去。207、當(dāng)接收到地址回收請求時,將待回收的緩存地址保存在該FIFO中。在本實施例中,當(dāng)?shù)刂坊厥諘r,首先將待回收緩存地址回收到FIFO,當(dāng)FIFO達到第二水線,從FIFO讀出預(yù)設(shè)數(shù)值個Block地址,并將第一 Bitmap表中該預(yù)設(shè)數(shù)值個Block 地址對應(yīng)的比特位置為空閑狀態(tài)。需要說明的是,系統(tǒng)在運行前需要初始化,初始化將FIFO都充滿緩存地址。通過第一 Bitmap表對緩存地址進行Bitmap管理,第二 Bitmap表對第一 Bitmap表的基地址進行管理,并在第二 Bitmap表上設(shè)置一 FIFO隊列,利用該FIFO隊列對緩存地址的分配和回收進行緩沖,進一步改變了現(xiàn)有技術(shù)中一次只分配一個地址的流程,在回收地址時,也將大量地址集中回收,降低了緩存的處理壓力,提高了存儲的穩(wěn)定性。進一步地,利用雙水線的FIFO來吸收地址回收和地址分配,分配地址直接從FIFO分配,回收地址先回收到FIFO,使地址回收到第一 Bitmap表和從第一 Bitmap表分配操作的隔離,使第一 Bitmap 表用單口 RAM即可實現(xiàn),達到優(yōu)化第一 Bitmap表面積的目的。圖3是本發(fā)明實施例提供的一種緩存地址的處理裝置的結(jié)構(gòu)示意。參見圖3, 該裝置包括第一位圖bitmap表管理模塊301,用于通過第一位圖bitmap表對緩存地址進行 bitmap管理,其中,所述第一位圖bitmap表包括用于指示各個緩存地址的狀態(tài)的表項;第二位圖bitmap表管理模塊302,用于通過第二位圖bitmap表對第一位圖 bitmap表中的基地址進行管理,其中,所述第二位圖bitmap表中包括用于指示第一 bitmap 表中的基地址的狀態(tài)的表項,其中,所述基地址用于指示所述第一 bitmap表中所有低比特為所述基地址的緩存地址;處理模塊303,用于從所述第二 bitmap表中獲得第一 bitmap表中的空閑的基地址,然后再從所述第一 bitmap表中獲得處于所述基地址范圍內(nèi)的空閑的第一地址,根據(jù)所述第一地址進行分配。圖4是本發(fā)明實施例提供的一種緩存地址的處理裝置的結(jié)構(gòu)示意圖。參見圖4,該裝置包括第一位圖bitmap表管理模塊301、第二位圖bitmap表管理模塊302和處理模塊 303,其中,所述處理模塊303包括處理單元303a,用于從所述第二 bitmap表中獲得第一 bitmap表中的空閑的基地址,然后再從所述第一 bitmap表中獲得處于所述基地址范圍內(nèi)的空閑的第一地址;第一存儲單元303b,用于將所述處理單元303a獲取的第一地址作為緩存地址,并保存所述緩存地址;所述處理單元303a,還用于從所述第一存儲單元303b中獲取所述緩存地址進行分配;并將待回收緩存地址保存在所述第一存儲單元中。所述處理單元303a,還用于當(dāng)所述第一存儲單元30 的深度高于第一水線時,從所述第一存儲模塊讀取預(yù)設(shè)數(shù)值個緩存地址,將所述第一 Bitmap表中與所述預(yù)設(shè)數(shù)值個緩存地址對應(yīng)的比特位置為空閑狀態(tài);所述處理單元303a,還用于當(dāng)所述第一存儲單元30 的深度低于第二水線時, 從所述第二 Bitmap表中取出一個第二地址作為所述第一 Bitmap表的基地址,在所述第一 Bitmap表的基地址的范圍內(nèi),獲取所述第一 Bitmap表的第一地址,將所述第一地址保存在所述第一存儲單元中;所述第一水線不等于第二水線。該第一存儲單元30 可以為FIFO。當(dāng)FIFO深度低于第二水線時,也即是需要向 FIFO補充緩存地址,每次從該第一 Bitmap表緩存將Bitmap映射成Block地址后補充到FIFO,在第二 Bitmap表與FIFO間插入第一 Bitmap表緩存,能夠進一步提升地址分配性能, 使地址分配在有空閑地址分配的情況下都能達到線速。當(dāng)?shù)谝?Bitmap表緩存中的緩存地址少于預(yù)設(shè)水線,則從第二 Bitmap表中取出一個為1的Bit位換算成基地址,表示該區(qū)域有空閑地址可分配,獲取到基地址后,用基地址從第一 Bitmap讀出一個區(qū)域,該區(qū)域必然包含多個空閑的Block地址,將該區(qū)域放到第一 Bitmap表緩存里。圖5是本發(fā)明實施例提供的一種緩存地址的處理裝置的結(jié)構(gòu)示意圖。參見圖5, 該裝置包括第一位圖bitmap表管理模塊301、第二位圖bitmap表管理模塊302和處理模塊,其中,所述處理模塊303包括處理單元303a和第一存儲單元30北,所述處理模塊303還包括第二存儲單元303c,用于從所述第二 Bitmap表中獲取至少一個第二地址,將所述獲取的第二地址作為所述第一 Bitmap表的基地址,在所述第一 Bitmap表的基地址的范圍內(nèi),獲取所述第一 Bitmap表的第一地址,保存所述獲取的第一地址;所述處理單元303a,還用于當(dāng)所述第一存儲單元30 的深度低于第二水線時,從所述第二存儲單元303c中獲取預(yù)設(shè)數(shù)值個緩存地址,并將所述緩存地址保存在所述第一存儲單元30 中。最壞情況下,只要第二存儲單元達到一定的深度,能夠緩存獲取的、但未分配出去的緩存地址,使得地址分配側(cè)就可以達到線速,通常該第二存儲單元深度大于4即可滿足要求,在正常情況下,往往一個區(qū)域不止一個空閑狀態(tài)地址,采用第二存儲單元后,還能減小在地址補充時對第一 Bitmap表的讀操作,降低了功耗。在回收側(cè),由于將待回收地址回收到第一 Bitmap時必然不會有讀第一 Bitmap表的操作,使地址補充和回寫分離,第一 Bitmap采用單端口 RAM即可,大大節(jié)省面積資源,且回收也可以達到線速。因此,采用該方案的緩存地址管理結(jié)構(gòu)在節(jié)省面積資源和能耗的同時,提供地址線速分配和回收的能力。在本實施例中,在上一實施例的基礎(chǔ)上在第二 Bitmap表與FIFO間插入第二存儲單元,采用緩存方式緩存基地址和第一 Bitmap表讀出的多個區(qū)域的緩存地址,能夠快速搜索到空閑地址所在的區(qū)域,達到線速補充FIFO地址的能力,也使得分配地址達到線速;同時還能減少讀Block地址Bitmap操作的目的,當(dāng)出現(xiàn)大量地址分配請求時,進一步降低了系統(tǒng)的壓力,提高了處理的速度,特別適用于超高帶寬處理類芯片。需要說明的是,系統(tǒng)在運行前需要初始化,初始化將第一存儲單元和第二存儲單元都充滿緩存地址。本實施例提供的裝置,具體可以RAM,與方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。本實施例提供的裝置,第一 Bitmap對緩存地址進行Bitmap管理,第二 Bitmap對第一 Bitmap的基地址進行管理,在接收到地址分配請求時,根據(jù)第二 Bitmap中各個比特位的空閑或占用狀態(tài)獲取第一 Bitmap中空閑的緩存地址,對該緩存地址進行分配,改變了現(xiàn)有技術(shù)中一次只分配一個地址的流程,在回收地址時,也將大量地址集中回收,降低了緩存的處理壓力,提高了存儲的穩(wěn)定性。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種緩存地址的處理方法,其特征在于,所述方法包括從第二 bitmap表中獲得空閑的基地址;根據(jù)所述基地址,從第一 bitmap表中的所述基地址的范圍內(nèi)選擇空閑的緩存地址。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基地址用于指示所述第一bitmap表中低比特為所述基地址的緩存地址。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括讀取待回收緩存地址,將所述第一 Bitmap表中與所述待回收緩存地址對應(yīng)的比特位置為空閑狀態(tài)。
4.一種緩存地址的處理裝置,其特征在于,所述裝置包括第一位圖bitmap表管理模塊,用于通過第一位圖bitmap表對緩存地址進行bitmap管理,其中,所述第一位圖bitmap表包括用于指示各個緩存地址的狀態(tài)的表項;第二位圖bitmap表管理模塊,用于通過第二位圖bitmap表對第一位圖bitmap表中的基地址進行管理,其中,所述第二位圖bitmap表中包括用于指示第一 bitmap表中的基地址的狀態(tài)的表項,其中,所述基地址用于指示所述第一 bitmap表中所有低比特為所述基地址的緩存地址;處理模塊,用于從所述第二bitmap表中獲得第一bitmap表中的空閑的基地址,然后再從所述第一 bitmap表中獲得處于所述基地址范圍內(nèi)的空閑的第一地址,根據(jù)所述第一地址進行分配。
5.根據(jù)權(quán)利要求4所述的處理裝置,其特征在于,所述處理模塊包括處理單元,用于從所述第二 bitmap表中獲得第一 bitmap表中的空閑的基地址,然后再從所述第一 bitmap表中獲得處于所述基地址范圍內(nèi)的空閑的第一地址;第一存儲單元,用于將所述所述處理模塊獲取的第一地址作為緩存地址,并保存所述緩存地址;所述處理單元,還用于從所述第一存儲單元中獲取所述緩存地址進行分配;并將待回收緩存地址保存在所述第一存儲單元中。
6.根據(jù)權(quán)利要求5所述的處理裝置,其特征在于,所述處理單元,還用于當(dāng)所述第一存儲單元的深度高于第一水線時,從所述第一存儲模塊讀取預(yù)設(shè)數(shù)值個緩存地址,將所述第一 Bitmap表中與所述預(yù)設(shè)數(shù)值個緩存地址對應(yīng)的比特位置為空閑狀態(tài);所述處理單元,還用于當(dāng)所述第一存儲單元的深度低于第二水線時,從所述第二 Bitmap表中取出一個第二地址作為所述第一 Bitmap表的基地址,在所述第一 Bitmap表的基地址的范圍內(nèi),獲取所述第一 Bitmap表的第一地址,將所述第一地址保存在所述第一存儲單元中;所述第一水線不等于第二水線。
7.根據(jù)權(quán)利要求4-6任一項所述的處理裝置,其特征在于,所述處理模塊還包括第二存儲單元,用于從所述第二 Bitmap表中獲取至少一個第二地址,將所述獲取的第二地址作為所述第一 Bitmap表的基地址,在所述第一 Bitmap表的基地址的范圍內(nèi),獲取所述第一 Bitmap表的第一地址,保存所述獲取的第一地址;所述處理單元,還用于當(dāng)所述第一存儲單元的深度低于第二水線時,從所述第二存儲單元中獲取預(yù)設(shè)數(shù)值個緩存地址,并將所述緩存地址保存在所述第一存儲單元中。
全文摘要
本發(fā)明公開了一種緩存地址的處理方法和裝置,屬于數(shù)據(jù)處理領(lǐng)域。該方法包括從第二bitmap表中獲得空閑的基地址;根據(jù)所述基地址,從第一bitmap表中的所述基地址的范圍內(nèi)選擇空閑的緩存地址。該裝置包括第一位圖bitmap表管理模塊、第二位圖bitmap表管理模塊和處理模塊。本發(fā)明通過第一Bitmap對緩存地址進行Bitmap管理,第二Bitmap對第一Bitmap的基地址進行管理,改變了現(xiàn)有技術(shù)中一次只分配一個地址的流程,在回收地址時,也將大量地址集中回收,降低了緩存的處理壓力,提高了存儲的穩(wěn)定性。
文檔編號G06F12/08GK102411543SQ20111037170
公開日2012年4月11日 申請日期2011年11月21日 優(yōu)先權(quán)日2011年11月21日
發(fā)明者游游, 陳文 , 魏華 申請人:華為技術(shù)有限公司