欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種空閑存儲(chǔ)單元的查找方法及裝置的制作方法

文檔序號(hào):6383359閱讀:216來(lái)源:國(guó)知局
專利名稱:一種空閑存儲(chǔ)單元的查找方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及一種空閑存儲(chǔ)單元的查找方法及裝置。
背景技術(shù)
在計(jì)算機(jī)領(lǐng)域中,幾乎所有的文件系統(tǒng)都使用BITMAP算法來(lái)管理存儲(chǔ)資源。所謂的BITMAP (位圖)算法就是用一個(gè)BIT (比特)位來(lái)標(biāo)記某個(gè)存儲(chǔ)單 元對(duì)應(yīng)的Value,而Key即是該BIT的位置,由于采用了 BIT為單位來(lái)存儲(chǔ)數(shù)據(jù),因此可以大大節(jié)省存儲(chǔ)空間。其中,BITMAP算法的性能對(duì)計(jì)算機(jī)系統(tǒng)的應(yīng)用性能有直接的影響。現(xiàn)有技術(shù)中,采用線性BITMAP算法來(lái)管理存儲(chǔ)資源,其中,表示某個(gè)存儲(chǔ)單元的所有BIT都不區(qū)分等級(jí),全部都是平等的。例如用線性BITMAP表示I百萬(wàn)個(gè)存儲(chǔ)單元的使用狀態(tài),就用I百萬(wàn)個(gè)BIT表示,當(dāng)BIT值為0,表示該存儲(chǔ)單元沒有被使用,當(dāng)BIT值為I表示該存儲(chǔ)單元被使用了。如圖I所示,表示前面的8個(gè)存儲(chǔ)單元的使用情況,8個(gè)存儲(chǔ)單元均未使用,當(dāng)?shù)?個(gè)、第8個(gè)存儲(chǔ)單元被使用時(shí),將第5個(gè)、第8個(gè)存儲(chǔ)單元對(duì)應(yīng)的BIT置為I。根據(jù)上述線性BITMAP算法,由于存儲(chǔ)單元中哪個(gè)被使用,哪個(gè)沒有被使用是無(wú)法預(yù)先知道的,在查找空閑存儲(chǔ)單元時(shí),每次都需要從第一個(gè)BIT開始查找,或者每次從后面往前面逐一查找,直至找到BIT為O的存儲(chǔ)單元。該查找方法在存儲(chǔ)單元的數(shù)量很大時(shí),會(huì)嚴(yán)重影響計(jì)算機(jī)系統(tǒng)的性能,而且容易出現(xiàn)性能急劇降低的情況。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例中提供了一種空閑存儲(chǔ)單元的查找方法及裝置,能夠減小對(duì)計(jì)算機(jī)系統(tǒng)性能的影響。為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例公開了如下技術(shù)方案第一方面,提供一種空閑存儲(chǔ)單元的查找方法,存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,所述多個(gè)存儲(chǔ)單元的使用狀態(tài)通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,其中,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)所述下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),所述使用狀態(tài)為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊,所述方法包括接收對(duì)空閑存儲(chǔ)單元的查找指令,所述空閑存儲(chǔ)單元為使用狀態(tài)為空閑的存儲(chǔ)單元;根據(jù)所述查找指令從所述多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向所述最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊;將所述最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。
結(jié)合上述第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述預(yù)定數(shù)量與處理器處理的數(shù)據(jù)位寬數(shù)相同。結(jié)合上述第一方面,和/或第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,每個(gè)BIT位表示每一級(jí)中的一個(gè)存儲(chǔ)塊。結(jié) 合上述第一方面,和/或第一種可能的實(shí)現(xiàn)方式,和/或第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述接收對(duì)空閑存儲(chǔ)單元的查找指令,具體為接收查找空閑存儲(chǔ)單元的位掃描指令。第二方面,提供一種空閑存儲(chǔ)單元的查找裝置,存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,所述多個(gè)存儲(chǔ)單元的使用狀態(tài)通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,其中,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)所述下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),所述使用狀態(tài)為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊,所述裝置包括指令接收單元,用于接收對(duì)空閑存儲(chǔ)單元的查找指令,所述空閑存儲(chǔ)單元為使用狀態(tài)為空閑的存儲(chǔ)單元;查找單元,用于根據(jù)所述查找指令從所述多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向所述最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊;確定單兀,用于將所述最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。結(jié)合上述第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述預(yù)定數(shù)量與處理器處理的數(shù)據(jù)位寬數(shù)相同。結(jié)合上述第二方面,和/或第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,每個(gè)BIT位表示每一級(jí)中的一個(gè)存儲(chǔ)塊。結(jié)合上述第二方面,和/或第一種可能的實(shí)現(xiàn)方式,和/或第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述接收對(duì)空閑存儲(chǔ)單元的查找指令,具體為接收查找空閑存儲(chǔ)單元的位掃描指令。第三方面,提供一種電子設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器的存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,所述多個(gè)存儲(chǔ)單元的使用狀態(tài)通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,其中,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)所述下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),所述使用狀態(tài)為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊;所述處理器,用于接收對(duì)空閑存儲(chǔ)單元的查找指令,所述空閑存儲(chǔ)單元為使用狀態(tài)為空閑的存儲(chǔ)單元;根據(jù)所述查找指令從所述多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向所述最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊;將所述最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。結(jié)合上述第三方面,在第一種可能的實(shí)現(xiàn)方式中,所述預(yù)定數(shù)量與所述處理器處理的數(shù)據(jù)位寬數(shù)相同。本發(fā)明實(shí)施例通過(guò)多級(jí)存儲(chǔ)塊對(duì)存儲(chǔ)單元進(jìn)行管理,在查找空閑存儲(chǔ)單元時(shí)無(wú)需對(duì)存儲(chǔ)單元進(jìn)行逐一查找,而只需進(jìn)行逐級(jí)查找存儲(chǔ)塊即可快速查找到空閑存儲(chǔ)單元,該方法提高了對(duì)空閑存儲(chǔ)單元的查找效率,減小了對(duì)計(jì)算機(jī)性能的影響,而且,在每次查找時(shí)無(wú)論當(dāng)前存儲(chǔ)資源的使用情況如何,只需針對(duì)存儲(chǔ)塊的分級(jí)級(jí)別進(jìn)行查找即可,避免了出現(xiàn)性能急劇降低的情況。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實(shí)施例一種空閑存儲(chǔ)單元的查找方法流程圖;圖2為圖I所示實(shí)施例中多級(jí)存儲(chǔ)塊的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例另一種空閑存儲(chǔ)單元的查找方法流程圖;圖4為圖3所示實(shí)施例中多級(jí)存儲(chǔ)塊的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例一種空閑存儲(chǔ)單元的查找裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例一種電子設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。參見圖1,為本發(fā)明實(shí)施例一種空閑存儲(chǔ)單元的查找方法流程圖。存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,為了便于存儲(chǔ)資源的管理,查找和分配,本發(fā)明實(shí)施例中,通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征多個(gè)存儲(chǔ)單元的使用狀態(tài),如圖2所示,多級(jí)存儲(chǔ)塊中,上一級(jí)中的每一存儲(chǔ)塊包含下一級(jí)中的預(yù)定數(shù)量N的存儲(chǔ)塊,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量N的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征預(yù)定數(shù)量N的存儲(chǔ)單元的使用狀態(tài)。該預(yù)定數(shù)量可以與處理器處理的數(shù)據(jù)位寬數(shù)相同,例如若CPU為64位的,則該預(yù)定數(shù)量可以為64,若CPU為32位的,則該預(yù)定數(shù)量可以為32等。其中,存儲(chǔ)單元為實(shí)體存儲(chǔ)元素,各存儲(chǔ)塊為便于資源管理的虛擬存儲(chǔ)元素。針對(duì)每一存儲(chǔ)塊,當(dāng)其下一級(jí)中包含的存儲(chǔ)塊中存在空閑存儲(chǔ)塊時(shí),該空閑存儲(chǔ)塊即使用狀態(tài)為空閑的存儲(chǔ)塊,該存儲(chǔ)塊也為空閑存儲(chǔ)塊;當(dāng)其下一級(jí)中預(yù)定數(shù)量N的存儲(chǔ)塊的使用狀態(tài)為均被使用時(shí),該存儲(chǔ)塊也處于被使用狀態(tài)。例如圖2中所示,若第一級(jí)中的存儲(chǔ)塊2、3、4為空閑存儲(chǔ)塊,也即這些存儲(chǔ)塊的使用狀態(tài)為未被使用時(shí),包含該存儲(chǔ)塊2、3、4的第二級(jí)中的存儲(chǔ)塊I也為空閑存儲(chǔ)塊;若第一級(jí)中的存儲(chǔ)塊I、均被使用,則包含該存儲(chǔ)塊I、的第二級(jí)中的存儲(chǔ)塊I的狀態(tài)也為被使用狀態(tài)?;谏鲜龃鎯?chǔ)資源的架構(gòu),本實(shí)施例中,該空閑存儲(chǔ)單元的查找方法可以包括步驟101,接收對(duì)空閑存儲(chǔ)單元的查找指令。本實(shí)施例中,該執(zhí)行主體可以是處理器,或獨(dú)立與處理器之外的另一裝置。該查找指令具體可以是通過(guò)硬件提供的位掃描指令,例如X86的CPU提供的BSF (BITscanforward,位掃描)指令。其中,空閑存儲(chǔ)單元也即使用狀態(tài)為空閑的存儲(chǔ)單元。步驟102,根據(jù)查找指令從多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊。在接收到查找指令后,根據(jù)該指令觸發(fā)從多級(jí)存儲(chǔ)塊的最高級(jí)的存儲(chǔ)塊逐級(jí)向下一級(jí)掃描,查找空閑的存儲(chǔ)塊。具體的,由于多級(jí)存儲(chǔ)塊的結(jié)構(gòu)中只有當(dāng)下一級(jí)中預(yù)定數(shù)量N的存儲(chǔ)塊均被使用時(shí),上一級(jí)中包含該N個(gè)存儲(chǔ)塊的存儲(chǔ)塊才被設(shè)置為被使用狀態(tài),所以,若最高級(jí)的存儲(chǔ)塊均被使用,則說(shuō)明當(dāng)前沒有空閑的存儲(chǔ)塊,也即最低級(jí)的存儲(chǔ)塊中對(duì)應(yīng)的所有存儲(chǔ)單元均被使用,此時(shí)查找結(jié)束。
若最高級(jí)中的各存儲(chǔ)塊中有空閑存儲(chǔ)塊,例如圖2中的最高級(jí)第Y級(jí)中存儲(chǔ)塊2為空閑存儲(chǔ)塊,也即為空閑狀態(tài),則繼續(xù)查找下一級(jí)即第Y-I級(jí)的存儲(chǔ)塊,具體的,可以直接查找第Y級(jí)的存儲(chǔ)塊2包含的第Y-I級(jí)中的存儲(chǔ)塊,假設(shè)第Y-I級(jí)中的存儲(chǔ)塊3、4為空閑存儲(chǔ)塊,則繼續(xù)查找存儲(chǔ)塊3包含的下一級(jí)即第Y-2級(jí)中的空閑存儲(chǔ)塊,以及存儲(chǔ)塊4包含的第Y-2級(jí)中的空閑存儲(chǔ)塊,直至最低級(jí)即第一級(jí)中的存儲(chǔ)塊。假設(shè)查找到的最低級(jí)中的空閑存儲(chǔ)塊為存儲(chǔ)塊X至存儲(chǔ)塊X+M,其中,X,M均為大于O的整數(shù)。步驟103,將最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。最后,將最低級(jí)中的存儲(chǔ)塊X至存儲(chǔ)塊X+M中對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。之后,可以根據(jù)所需要的存儲(chǔ)空間對(duì)查找到的空閑存儲(chǔ)單元進(jìn)行分配。若空閑存儲(chǔ)單元被占用后,連續(xù)預(yù)定數(shù)量N的存儲(chǔ)單元被使用,則最低級(jí)中表征該連續(xù)N個(gè)存儲(chǔ)單元的使用狀態(tài)的存儲(chǔ)塊即被占用,該存儲(chǔ)塊的使用狀態(tài)由空閑更改為被使用,若該第一級(jí)中的存儲(chǔ)塊中也出現(xiàn)了連續(xù)預(yù)定數(shù)量N的存儲(chǔ)塊被使用,則其上一級(jí)中包含該連續(xù)N個(gè)存儲(chǔ)塊的存儲(chǔ)塊也被占用,其狀態(tài)也要由空閑更改為被使用,以此類推。本發(fā)明實(shí)施例通過(guò)多級(jí)存儲(chǔ)塊對(duì)存儲(chǔ)單元進(jìn)行管理,在查找空閑存儲(chǔ)單元時(shí)無(wú)需對(duì)存儲(chǔ)單元進(jìn)行逐一查找,而只需進(jìn)行逐級(jí)查找存儲(chǔ)塊即可快速查找到空閑存儲(chǔ)單元,該方法提高了對(duì)空閑存儲(chǔ)單元的查找效率,減小了對(duì)計(jì)算機(jī)性能的影響,而且,在每次查找時(shí)無(wú)論當(dāng)前存儲(chǔ)資源的使用情況如何,只需針對(duì)存儲(chǔ)塊的分級(jí)級(jí)別進(jìn)行查找即可,避免了出現(xiàn)性能急劇降低的情況。參見圖3,為本發(fā)明實(shí)施例另一種空閑存儲(chǔ)單元的查找方法流程圖。本實(shí)施例中多級(jí)存儲(chǔ)塊為4級(jí)存儲(chǔ)塊,如圖4所示,用BIT位表示各存儲(chǔ)塊,每個(gè)BIT位表示一個(gè)存儲(chǔ)塊,若BIT位置1,則說(shuō)明其代表的存儲(chǔ)塊的使用狀為被使用,若BIT位置0,則說(shuō)明其代表的存儲(chǔ)塊的使用狀態(tài)為空閑狀態(tài),上一級(jí)中的每一存儲(chǔ)塊包含下一級(jí)中的連續(xù)的64個(gè)存儲(chǔ)塊,最低級(jí)的每個(gè)存儲(chǔ)塊對(duì)應(yīng)連續(xù)的64個(gè)存儲(chǔ)單元。本實(shí)施例以64位的X86的CPU為例進(jìn)行說(shuō)明,其中,預(yù)定數(shù)量即為64?;谏鲜龃鎯?chǔ)資源的架構(gòu),本實(shí)施例中,該空閑存儲(chǔ)單元的查找方法可以包括步驟301,接收X86的CPU提供的BSF指令。步驟302,根據(jù)該BSF指令從最高級(jí)的存儲(chǔ)塊逐級(jí)向低一級(jí)的存儲(chǔ)塊查找為O的BIT,直至最低級(jí)的存儲(chǔ)塊。
由于BIT為O表明該BIT代表的存儲(chǔ)塊為空閑存儲(chǔ)塊,因此只要逐級(jí)掃描BIT為O的存儲(chǔ)塊即可。本實(shí)施例中,從第四級(jí)的存儲(chǔ)塊依次向第三級(jí)、第二級(jí)、第一級(jí)的存儲(chǔ)塊查找為O的BIT。步驟303,將最低級(jí)存儲(chǔ)塊中BIT為O的存儲(chǔ)塊對(duì)應(yīng)的BIT為O的存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。當(dāng)BIT為O的存儲(chǔ)單元被占用時(shí),該存儲(chǔ)單元的BIT置為I,若連續(xù)64個(gè)存儲(chǔ)單元的BIT均為1,則將上一級(jí)中對(duì)應(yīng)該64個(gè)存儲(chǔ)單元的存儲(chǔ)塊的BIT位也置為1,依次類推。本發(fā)明實(shí)施例通過(guò)多級(jí)存儲(chǔ)塊對(duì)存儲(chǔ)單元進(jìn)行管理,在查找空閑存儲(chǔ)單元時(shí)無(wú)需對(duì)存儲(chǔ)單元進(jìn)行逐一查找,而只需進(jìn)行逐級(jí)查找存儲(chǔ)塊即可快速查找到空閑存儲(chǔ)單元,該方法提高了對(duì)空閑存儲(chǔ)單元的查找效率,減小了對(duì)計(jì)算機(jī)性能的影響,而且,在每次查找時(shí)無(wú)論當(dāng)前存儲(chǔ)資源的使用情況如何,只需針對(duì)存儲(chǔ)塊的分級(jí)級(jí)別進(jìn)行查找即可,避免了出現(xiàn)性能急劇降低的情況。以上各實(shí)施例中,每個(gè)存儲(chǔ)單元所用來(lái)存儲(chǔ)的數(shù)據(jù)塊的數(shù)據(jù)量可以根據(jù)需要設(shè)定,例如可以是4K字節(jié)的數(shù)據(jù)塊、8K字節(jié)的數(shù)據(jù)塊、32K字節(jié)的數(shù)據(jù)塊等。該存儲(chǔ)單元也可以是抽象的存儲(chǔ)元素,每個(gè)存儲(chǔ)元素根據(jù)具體場(chǎng)景需要可以有不同的具體含義。本發(fā)明實(shí)施例可以用于在文件系統(tǒng)、SAN存儲(chǔ)設(shè)備,使用該BITMAP算法來(lái)管理存儲(chǔ)資源可以提升計(jì)算機(jī)系統(tǒng)性能,降低復(fù)雜度。以上是對(duì)本發(fā)明方法實(shí)施例的描述,下面對(duì)實(shí)現(xiàn)上述方法的裝置進(jìn)行介紹。參見圖5,為本發(fā)明實(shí)施例一種空閑存儲(chǔ)單元的查找裝置的結(jié)構(gòu)示意圖。其中,存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,所述多個(gè)存儲(chǔ)單元的使用狀態(tài)通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,其中,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)所述下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),所述使用狀態(tài) 為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊。其中,預(yù)定數(shù)量可以與處理器處理的數(shù)據(jù)位寬數(shù)相同??梢圆捎妹總€(gè)BIT位表示每一級(jí)中的一個(gè)存儲(chǔ)塊,若BIT位置0,則表明其代表的存儲(chǔ)塊空閑,即為被使用,若BIT位置I則表明其代表的存儲(chǔ)塊被使用。該裝置可以包括指令接收單元501,用于接收對(duì)空閑存儲(chǔ)單元的查找指令,所述空閑存儲(chǔ)單元為使用狀態(tài)為空閑的存儲(chǔ)單元。該指令接收單元501具體可以用于接收查找空閑存儲(chǔ)單元的位掃描指令。查找單元502,用于根據(jù)所述指令接收單元501接收到的查找指令,從所述多級(jí)存儲(chǔ)塊的最聞級(jí)存儲(chǔ)塊向所述最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊。確定單元503,用于將所述最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。本發(fā)明實(shí)施例通過(guò)多級(jí)存儲(chǔ)塊對(duì)存儲(chǔ)單元進(jìn)行管理,并通過(guò)該裝置的上述單元在查找空閑存儲(chǔ)單元時(shí)無(wú)需對(duì)存儲(chǔ)單元進(jìn)行逐一查找,而只需進(jìn)行逐級(jí)查找存儲(chǔ)塊即可快速查找到空閑存儲(chǔ)單元,該方法提高了對(duì)空閑存儲(chǔ)單元的查找效率,減小了對(duì)計(jì)算機(jī)性能的影響,而且,在每次查找時(shí)無(wú)論當(dāng)前存儲(chǔ)資源的使用情況如何,只需針對(duì)存儲(chǔ)塊的分級(jí)級(jí)別進(jìn)行查找即可,避免了出現(xiàn)性能急劇降低的情況。參見圖6,為本發(fā)明實(shí)施例一種電子設(shè)備的結(jié)構(gòu)示意圖。該電子設(shè)備,例如計(jì)算機(jī),可以包括存儲(chǔ)器601和處理器602。存儲(chǔ)器601中的存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,所述多個(gè)存儲(chǔ)單元的使用狀態(tài)通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,其中,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)所述下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),所述使用狀態(tài)為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊。其中,預(yù)定數(shù)量 可以與所述處理器602處理的數(shù)據(jù)位寬數(shù)相同。處理器602,用于接收對(duì)空閑存儲(chǔ)單元的查找指令,所述空閑存儲(chǔ)單元為使用狀態(tài)為空閑的存儲(chǔ)單元;根據(jù)所述查找指令從所述多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向所述最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊;將所述最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。該電子設(shè)備提高了對(duì)空閑存儲(chǔ)單元的查找效率,減小了對(duì)計(jì)算機(jī)性能的影響,而且,在每次查找時(shí)無(wú)論當(dāng)前存儲(chǔ)資源的使用情況如何,只需針對(duì)多級(jí)存儲(chǔ)塊的分級(jí)級(jí)別進(jìn)行查找即可,避免了出現(xiàn)性能急劇降低的情況。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種空閑存儲(chǔ)單元的查找方法,其特征在于,存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,所述多個(gè)存儲(chǔ)單元的使用狀態(tài)通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,其中,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)所述下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),所述使用狀態(tài)為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊,所述方法包括 接收對(duì)空閑存儲(chǔ)單元的查找指令,所述空閑存儲(chǔ)單元為使用狀態(tài)為空閑的存儲(chǔ)單元;根據(jù)所述查找指令從所述多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向所述最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊; 將所述最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述預(yù)定數(shù)量與處理器處理的數(shù)據(jù)位寬數(shù)相同。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,每個(gè)比特表示每一級(jí)中的一個(gè)存儲(chǔ)塊。
4.根據(jù)權(quán)利要求I至3中任意一項(xiàng)所述的方法,其特征在于,所述接收對(duì)空閑存儲(chǔ)單元的查找指令,具體為 接收查找空閑存儲(chǔ)單元的位掃描指令。
5.一種空閑存儲(chǔ)單元的查找裝置,其特征在于,存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,所述多個(gè)存儲(chǔ)單元的使用狀態(tài)通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,其中,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)所述下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),所述使用狀態(tài)為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊,所述裝置包括 指令接收單元,用于接收對(duì)空閑存儲(chǔ)單元的查找指令,所述空閑存儲(chǔ)單元為使用狀態(tài)為空閑的存儲(chǔ)單元; 查找單元,用于根據(jù)所述查找指令從所述多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向所述最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊; 確定單元,用于將所述最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述預(yù)定數(shù)量與處理器處理的數(shù)據(jù)位寬數(shù)相同。
7.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于,每個(gè)比特表示每一級(jí)中的一個(gè)存儲(chǔ)塊。
8.根據(jù)權(quán)利要求5至7中任意一項(xiàng)所述的裝置,其特征在于, 所述指令接收單元,具體用于接收查找空閑存儲(chǔ)單元的位掃描指令。
9.一種電子設(shè)備,其特征在于,包括存儲(chǔ)器和處理器, 所述存儲(chǔ)器中的存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,所述多個(gè)存儲(chǔ)單元的使用狀態(tài)通過(guò)多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,其中,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征所述預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)所述下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),所述使用狀態(tài)為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊; 所述處理器,用于接收對(duì)空閑存儲(chǔ)單元的查找指令,所述空閑存儲(chǔ)單元為使用狀態(tài)為空閑的存儲(chǔ)單元;根據(jù)所述查找指令從所述多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向所述最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊;將所述最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。
10.根據(jù)權(quán)利要求9所述的電子設(shè)備,其特征在于,所述預(yù)定數(shù)量與所述處理器處理的數(shù)據(jù)位寬數(shù)相同。
全文摘要
本發(fā)明公開一種空閑存儲(chǔ)單元的查找方法及裝置。該查找方法中,存儲(chǔ)資源包括多個(gè)存儲(chǔ)單元,多個(gè)存儲(chǔ)單元的使用狀態(tài)由多級(jí)存儲(chǔ)塊的使用狀態(tài)來(lái)表征,上一級(jí)中的每一存儲(chǔ)塊的使用狀態(tài)表征相鄰下一級(jí)中的預(yù)定數(shù)量的存儲(chǔ)塊的使用狀態(tài),最低級(jí)的每個(gè)存儲(chǔ)塊的使用狀態(tài)表征預(yù)定數(shù)量的存儲(chǔ)單元的使用狀態(tài);當(dāng)下一級(jí)中的存儲(chǔ)塊中存在使用狀態(tài)為空閑的存儲(chǔ)塊時(shí),該使用狀態(tài)為空閑的存儲(chǔ)塊的上一級(jí)存儲(chǔ)塊也為使用狀態(tài)為空閑的存儲(chǔ)塊,方法包括接收對(duì)空閑存儲(chǔ)單元的查找指令;根據(jù)查找指令從多級(jí)存儲(chǔ)塊的最高級(jí)存儲(chǔ)塊向最低級(jí)存儲(chǔ)塊逐級(jí)查找使用狀態(tài)為空閑的存儲(chǔ)塊;將最低級(jí)存儲(chǔ)塊中使用狀態(tài)為空閑的存儲(chǔ)塊對(duì)應(yīng)的空閑存儲(chǔ)單元確定為要查找的空閑存儲(chǔ)單元。
文檔編號(hào)G06F12/02GK102968382SQ20121051948
公開日2013年3月13日 申請(qǐng)日期2012年12月6日 優(yōu)先權(quán)日2012年12月6日
發(fā)明者文海, 黃巖 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
翁牛特旗| 广宗县| 扶绥县| 延边| 池州市| 祥云县| 即墨市| 永吉县| 普定县| 唐山市| 杨浦区| 洛宁县| 英超| 元氏县| 太白县| 尼玛县| 仁寿县| 小金县| 沧州市| 资阳市| 青河县| 石渠县| 会宁县| 玛纳斯县| 夏邑县| 彭水| 铅山县| 马山县| 东莞市| 巴东县| 武夷山市| 华池县| 社旗县| 紫阳县| 广东省| 泰和县| 万山特区| 镇赉县| 酉阳| 绥宁县| 鄂托克前旗|