專利名稱:一種空閑存儲單元的查找方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,特別是涉及一種空閑存儲單元的查找方法及裝置。
背景技術(shù):
在計算機領(lǐng)域中,幾乎所有的文件系統(tǒng)都使用BITMAP算法來管理存儲資源。所謂的BITMAP (位圖)算法就是用一個BIT (比特)位來標記某個存儲單 元對應(yīng)的Value,而Key即是該BIT的位置,由于采用了 BIT為單位來存儲數(shù)據(jù),因此可以大大節(jié)省存儲空間。其中,BITMAP算法的性能對計算機系統(tǒng)的應(yīng)用性能有直接的影響?,F(xiàn)有技術(shù)中,采用線性BITMAP算法來管理存儲資源,其中,表示某個存儲單元的所有BIT都不區(qū)分等級,全部都是平等的。例如用線性BITMAP表示I百萬個存儲單元的使用狀態(tài),就用I百萬個BIT表示,當BIT值為0,表示該存儲單元沒有被使用,當BIT值為I表示該存儲單元被使用了。如圖I所示,表示前面的8個存儲單元的使用情況,8個存儲單元均未使用,當?shù)?個、第8個存儲單元被使用時,將第5個、第8個存儲單元對應(yīng)的BIT置為I。根據(jù)上述線性BITMAP算法,由于存儲單元中哪個被使用,哪個沒有被使用是無法預(yù)先知道的,在查找空閑存儲單元時,每次都需要從第一個BIT開始查找,或者每次從后面往前面逐一查找,直至找到BIT為O的存儲單元。該查找方法在存儲單元的數(shù)量很大時,會嚴重影響計算機系統(tǒng)的性能,而且容易出現(xiàn)性能急劇降低的情況。
發(fā)明內(nèi)容
本發(fā)明實施例中提供了一種空閑存儲單元的查找方法及裝置,能夠減小對計算機系統(tǒng)性能的影響。為了解決上述技術(shù)問題,本發(fā)明實施例公開了如下技術(shù)方案第一方面,提供一種空閑存儲單元的查找方法,存儲資源包括多個存儲單元,所述多個存儲單元的使用狀態(tài)通過多級存儲塊的使用狀態(tài)來表征,其中,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲單元的使用狀態(tài);當所述下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,所述使用狀態(tài)為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊,所述方法包括接收對空閑存儲單元的查找指令,所述空閑存儲單元為使用狀態(tài)為空閑的存儲單元;根據(jù)所述查找指令從所述多級存儲塊的最高級存儲塊向所述最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊;將所述最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。
結(jié)合上述第一方面,在第一種可能的實現(xiàn)方式中,所述預(yù)定數(shù)量與處理器處理的數(shù)據(jù)位寬數(shù)相同。結(jié)合上述第一方面,和/或第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,每個BIT位表示每一級中的一個存儲塊。結(jié) 合上述第一方面,和/或第一種可能的實現(xiàn)方式,和/或第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述接收對空閑存儲單元的查找指令,具體為接收查找空閑存儲單元的位掃描指令。第二方面,提供一種空閑存儲單元的查找裝置,存儲資源包括多個存儲單元,所述多個存儲單元的使用狀態(tài)通過多級存儲塊的使用狀態(tài)來表征,其中,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲單元的使用狀態(tài);當所述下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,所述使用狀態(tài)為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊,所述裝置包括指令接收單元,用于接收對空閑存儲單元的查找指令,所述空閑存儲單元為使用狀態(tài)為空閑的存儲單元;查找單元,用于根據(jù)所述查找指令從所述多級存儲塊的最高級存儲塊向所述最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊;確定單兀,用于將所述最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。結(jié)合上述第二方面,在第一種可能的實現(xiàn)方式中,所述預(yù)定數(shù)量與處理器處理的數(shù)據(jù)位寬數(shù)相同。結(jié)合上述第二方面,和/或第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,每個BIT位表示每一級中的一個存儲塊。結(jié)合上述第二方面,和/或第一種可能的實現(xiàn)方式,和/或第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述接收對空閑存儲單元的查找指令,具體為接收查找空閑存儲單元的位掃描指令。第三方面,提供一種電子設(shè)備,包括存儲器和處理器,所述存儲器的存儲資源包括多個存儲單元,所述多個存儲單元的使用狀態(tài)通過多級存儲塊的使用狀態(tài)來表征,其中,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲單元的使用狀態(tài);當所述下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,所述使用狀態(tài)為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊;所述處理器,用于接收對空閑存儲單元的查找指令,所述空閑存儲單元為使用狀態(tài)為空閑的存儲單元;根據(jù)所述查找指令從所述多級存儲塊的最高級存儲塊向所述最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊;將所述最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。結(jié)合上述第三方面,在第一種可能的實現(xiàn)方式中,所述預(yù)定數(shù)量與所述處理器處理的數(shù)據(jù)位寬數(shù)相同。本發(fā)明實施例通過多級存儲塊對存儲單元進行管理,在查找空閑存儲單元時無需對存儲單元進行逐一查找,而只需進行逐級查找存儲塊即可快速查找到空閑存儲單元,該方法提高了對空閑存儲單元的查找效率,減小了對計算機性能的影響,而且,在每次查找時無論當前存儲資源的使用情況如何,只需針對存儲塊的分級級別進行查找即可,避免了出現(xiàn)性能急劇降低的情況。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實施例一種空閑存儲單元的查找方法流程圖;圖2為圖I所示實施例中多級存儲塊的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例另一種空閑存儲單元的查找方法流程圖;圖4為圖3所示實施例中多級存儲塊的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例一種空閑存儲單元的查找裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例一種電子設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例中技術(shù)方案作進一步詳細的說明。參見圖1,為本發(fā)明實施例一種空閑存儲單元的查找方法流程圖。存儲資源包括多個存儲單元,為了便于存儲資源的管理,查找和分配,本發(fā)明實施例中,通過多級存儲塊的使用狀態(tài)來表征多個存儲單元的使用狀態(tài),如圖2所示,多級存儲塊中,上一級中的每一存儲塊包含下一級中的預(yù)定數(shù)量N的存儲塊,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量N的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征預(yù)定數(shù)量N的存儲單元的使用狀態(tài)。該預(yù)定數(shù)量可以與處理器處理的數(shù)據(jù)位寬數(shù)相同,例如若CPU為64位的,則該預(yù)定數(shù)量可以為64,若CPU為32位的,則該預(yù)定數(shù)量可以為32等。其中,存儲單元為實體存儲元素,各存儲塊為便于資源管理的虛擬存儲元素。針對每一存儲塊,當其下一級中包含的存儲塊中存在空閑存儲塊時,該空閑存儲塊即使用狀態(tài)為空閑的存儲塊,該存儲塊也為空閑存儲塊;當其下一級中預(yù)定數(shù)量N的存儲塊的使用狀態(tài)為均被使用時,該存儲塊也處于被使用狀態(tài)。例如圖2中所示,若第一級中的存儲塊2、3、4為空閑存儲塊,也即這些存儲塊的使用狀態(tài)為未被使用時,包含該存儲塊2、3、4的第二級中的存儲塊I也為空閑存儲塊;若第一級中的存儲塊I、均被使用,則包含該存儲塊I、的第二級中的存儲塊I的狀態(tài)也為被使用狀態(tài)?;谏鲜龃鎯Y源的架構(gòu),本實施例中,該空閑存儲單元的查找方法可以包括步驟101,接收對空閑存儲單元的查找指令。本實施例中,該執(zhí)行主體可以是處理器,或獨立與處理器之外的另一裝置。該查找指令具體可以是通過硬件提供的位掃描指令,例如X86的CPU提供的BSF (BITscanforward,位掃描)指令。其中,空閑存儲單元也即使用狀態(tài)為空閑的存儲單元。步驟102,根據(jù)查找指令從多級存儲塊的最高級存儲塊向最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊。在接收到查找指令后,根據(jù)該指令觸發(fā)從多級存儲塊的最高級的存儲塊逐級向下一級掃描,查找空閑的存儲塊。具體的,由于多級存儲塊的結(jié)構(gòu)中只有當下一級中預(yù)定數(shù)量N的存儲塊均被使用時,上一級中包含該N個存儲塊的存儲塊才被設(shè)置為被使用狀態(tài),所以,若最高級的存儲塊均被使用,則說明當前沒有空閑的存儲塊,也即最低級的存儲塊中對應(yīng)的所有存儲單元均被使用,此時查找結(jié)束。
若最高級中的各存儲塊中有空閑存儲塊,例如圖2中的最高級第Y級中存儲塊2為空閑存儲塊,也即為空閑狀態(tài),則繼續(xù)查找下一級即第Y-I級的存儲塊,具體的,可以直接查找第Y級的存儲塊2包含的第Y-I級中的存儲塊,假設(shè)第Y-I級中的存儲塊3、4為空閑存儲塊,則繼續(xù)查找存儲塊3包含的下一級即第Y-2級中的空閑存儲塊,以及存儲塊4包含的第Y-2級中的空閑存儲塊,直至最低級即第一級中的存儲塊。假設(shè)查找到的最低級中的空閑存儲塊為存儲塊X至存儲塊X+M,其中,X,M均為大于O的整數(shù)。步驟103,將最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。最后,將最低級中的存儲塊X至存儲塊X+M中對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。之后,可以根據(jù)所需要的存儲空間對查找到的空閑存儲單元進行分配。若空閑存儲單元被占用后,連續(xù)預(yù)定數(shù)量N的存儲單元被使用,則最低級中表征該連續(xù)N個存儲單元的使用狀態(tài)的存儲塊即被占用,該存儲塊的使用狀態(tài)由空閑更改為被使用,若該第一級中的存儲塊中也出現(xiàn)了連續(xù)預(yù)定數(shù)量N的存儲塊被使用,則其上一級中包含該連續(xù)N個存儲塊的存儲塊也被占用,其狀態(tài)也要由空閑更改為被使用,以此類推。本發(fā)明實施例通過多級存儲塊對存儲單元進行管理,在查找空閑存儲單元時無需對存儲單元進行逐一查找,而只需進行逐級查找存儲塊即可快速查找到空閑存儲單元,該方法提高了對空閑存儲單元的查找效率,減小了對計算機性能的影響,而且,在每次查找時無論當前存儲資源的使用情況如何,只需針對存儲塊的分級級別進行查找即可,避免了出現(xiàn)性能急劇降低的情況。參見圖3,為本發(fā)明實施例另一種空閑存儲單元的查找方法流程圖。本實施例中多級存儲塊為4級存儲塊,如圖4所示,用BIT位表示各存儲塊,每個BIT位表示一個存儲塊,若BIT位置1,則說明其代表的存儲塊的使用狀為被使用,若BIT位置0,則說明其代表的存儲塊的使用狀態(tài)為空閑狀態(tài),上一級中的每一存儲塊包含下一級中的連續(xù)的64個存儲塊,最低級的每個存儲塊對應(yīng)連續(xù)的64個存儲單元。本實施例以64位的X86的CPU為例進行說明,其中,預(yù)定數(shù)量即為64?;谏鲜龃鎯Y源的架構(gòu),本實施例中,該空閑存儲單元的查找方法可以包括步驟301,接收X86的CPU提供的BSF指令。步驟302,根據(jù)該BSF指令從最高級的存儲塊逐級向低一級的存儲塊查找為O的BIT,直至最低級的存儲塊。
由于BIT為O表明該BIT代表的存儲塊為空閑存儲塊,因此只要逐級掃描BIT為O的存儲塊即可。本實施例中,從第四級的存儲塊依次向第三級、第二級、第一級的存儲塊查找為O的BIT。步驟303,將最低級存儲塊中BIT為O的存儲塊對應(yīng)的BIT為O的存儲單元確定為要查找的空閑存儲單元。當BIT為O的存儲單元被占用時,該存儲單元的BIT置為I,若連續(xù)64個存儲單元的BIT均為1,則將上一級中對應(yīng)該64個存儲單元的存儲塊的BIT位也置為1,依次類推。本發(fā)明實施例通過多級存儲塊對存儲單元進行管理,在查找空閑存儲單元時無需對存儲單元進行逐一查找,而只需進行逐級查找存儲塊即可快速查找到空閑存儲單元,該方法提高了對空閑存儲單元的查找效率,減小了對計算機性能的影響,而且,在每次查找時無論當前存儲資源的使用情況如何,只需針對存儲塊的分級級別進行查找即可,避免了出現(xiàn)性能急劇降低的情況。以上各實施例中,每個存儲單元所用來存儲的數(shù)據(jù)塊的數(shù)據(jù)量可以根據(jù)需要設(shè)定,例如可以是4K字節(jié)的數(shù)據(jù)塊、8K字節(jié)的數(shù)據(jù)塊、32K字節(jié)的數(shù)據(jù)塊等。該存儲單元也可以是抽象的存儲元素,每個存儲元素根據(jù)具體場景需要可以有不同的具體含義。本發(fā)明實施例可以用于在文件系統(tǒng)、SAN存儲設(shè)備,使用該BITMAP算法來管理存儲資源可以提升計算機系統(tǒng)性能,降低復(fù)雜度。以上是對本發(fā)明方法實施例的描述,下面對實現(xiàn)上述方法的裝置進行介紹。參見圖5,為本發(fā)明實施例一種空閑存儲單元的查找裝置的結(jié)構(gòu)示意圖。其中,存儲資源包括多個存儲單元,所述多個存儲單元的使用狀態(tài)通過多級存儲塊的使用狀態(tài)來表征,其中,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲單元的使用狀態(tài);當所述下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,所述使用狀態(tài) 為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊。其中,預(yù)定數(shù)量可以與處理器處理的數(shù)據(jù)位寬數(shù)相同。可以采用每個BIT位表示每一級中的一個存儲塊,若BIT位置0,則表明其代表的存儲塊空閑,即為被使用,若BIT位置I則表明其代表的存儲塊被使用。該裝置可以包括指令接收單元501,用于接收對空閑存儲單元的查找指令,所述空閑存儲單元為使用狀態(tài)為空閑的存儲單元。該指令接收單元501具體可以用于接收查找空閑存儲單元的位掃描指令。查找單元502,用于根據(jù)所述指令接收單元501接收到的查找指令,從所述多級存儲塊的最聞級存儲塊向所述最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊。確定單元503,用于將所述最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。本發(fā)明實施例通過多級存儲塊對存儲單元進行管理,并通過該裝置的上述單元在查找空閑存儲單元時無需對存儲單元進行逐一查找,而只需進行逐級查找存儲塊即可快速查找到空閑存儲單元,該方法提高了對空閑存儲單元的查找效率,減小了對計算機性能的影響,而且,在每次查找時無論當前存儲資源的使用情況如何,只需針對存儲塊的分級級別進行查找即可,避免了出現(xiàn)性能急劇降低的情況。參見圖6,為本發(fā)明實施例一種電子設(shè)備的結(jié)構(gòu)示意圖。該電子設(shè)備,例如計算機,可以包括存儲器601和處理器602。存儲器601中的存儲資源包括多個存儲單元,所述多個存儲單元的使用狀態(tài)通過多級存儲塊的使用狀態(tài)來表征,其中,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲單元的使用狀態(tài);當所述下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,所述使用狀態(tài)為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊。其中,預(yù)定數(shù)量 可以與所述處理器602處理的數(shù)據(jù)位寬數(shù)相同。處理器602,用于接收對空閑存儲單元的查找指令,所述空閑存儲單元為使用狀態(tài)為空閑的存儲單元;根據(jù)所述查找指令從所述多級存儲塊的最高級存儲塊向所述最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊;將所述最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。該電子設(shè)備提高了對空閑存儲單元的查找效率,減小了對計算機性能的影響,而且,在每次查找時無論當前存儲資源的使用情況如何,只需針對多級存儲塊的分級級別進行查找即可,避免了出現(xiàn)性能急劇降低的情況。本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種空閑存儲單元的查找方法,其特征在于,存儲資源包括多個存儲單元,所述多個存儲單元的使用狀態(tài)通過多級存儲塊的使用狀態(tài)來表征,其中,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲單元的使用狀態(tài);當所述下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,所述使用狀態(tài)為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊,所述方法包括 接收對空閑存儲單元的查找指令,所述空閑存儲單元為使用狀態(tài)為空閑的存儲單元;根據(jù)所述查找指令從所述多級存儲塊的最高級存儲塊向所述最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊; 將所述最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述預(yù)定數(shù)量與處理器處理的數(shù)據(jù)位寬數(shù)相同。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,每個比特表示每一級中的一個存儲塊。
4.根據(jù)權(quán)利要求I至3中任意一項所述的方法,其特征在于,所述接收對空閑存儲單元的查找指令,具體為 接收查找空閑存儲單元的位掃描指令。
5.一種空閑存儲單元的查找裝置,其特征在于,存儲資源包括多個存儲單元,所述多個存儲單元的使用狀態(tài)通過多級存儲塊的使用狀態(tài)來表征,其中,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲單元的使用狀態(tài);當所述下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,所述使用狀態(tài)為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊,所述裝置包括 指令接收單元,用于接收對空閑存儲單元的查找指令,所述空閑存儲單元為使用狀態(tài)為空閑的存儲單元; 查找單元,用于根據(jù)所述查找指令從所述多級存儲塊的最高級存儲塊向所述最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊; 確定單元,用于將所述最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述預(yù)定數(shù)量與處理器處理的數(shù)據(jù)位寬數(shù)相同。
7.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于,每個比特表示每一級中的一個存儲塊。
8.根據(jù)權(quán)利要求5至7中任意一項所述的裝置,其特征在于, 所述指令接收單元,具體用于接收查找空閑存儲單元的位掃描指令。
9.一種電子設(shè)備,其特征在于,包括存儲器和處理器, 所述存儲器中的存儲資源包括多個存儲單元,所述多個存儲單元的使用狀態(tài)通過多級存儲塊的使用狀態(tài)來表征,其中,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲單元的使用狀態(tài);當所述下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,所述使用狀態(tài)為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊; 所述處理器,用于接收對空閑存儲單元的查找指令,所述空閑存儲單元為使用狀態(tài)為空閑的存儲單元;根據(jù)所述查找指令從所述多級存儲塊的最高級存儲塊向所述最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊;將所述最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。
10.根據(jù)權(quán)利要求9所述的電子設(shè)備,其特征在于,所述預(yù)定數(shù)量與所述處理器處理的數(shù)據(jù)位寬數(shù)相同。
全文摘要
本發(fā)明公開一種空閑存儲單元的查找方法及裝置。該查找方法中,存儲資源包括多個存儲單元,多個存儲單元的使用狀態(tài)由多級存儲塊的使用狀態(tài)來表征,上一級中的每一存儲塊的使用狀態(tài)表征相鄰下一級中的預(yù)定數(shù)量的存儲塊的使用狀態(tài),最低級的每個存儲塊的使用狀態(tài)表征預(yù)定數(shù)量的存儲單元的使用狀態(tài);當下一級中的存儲塊中存在使用狀態(tài)為空閑的存儲塊時,該使用狀態(tài)為空閑的存儲塊的上一級存儲塊也為使用狀態(tài)為空閑的存儲塊,方法包括接收對空閑存儲單元的查找指令;根據(jù)查找指令從多級存儲塊的最高級存儲塊向最低級存儲塊逐級查找使用狀態(tài)為空閑的存儲塊;將最低級存儲塊中使用狀態(tài)為空閑的存儲塊對應(yīng)的空閑存儲單元確定為要查找的空閑存儲單元。
文檔編號G06F12/02GK102968382SQ20121051948
公開日2013年3月13日 申請日期2012年12月6日 優(yōu)先權(quán)日2012年12月6日
發(fā)明者文海, 黃巖 申請人:華為技術(shù)有限公司