專利名稱::實(shí)現(xiàn)存儲(chǔ)設(shè)備損耗均衡的方法及存儲(chǔ)設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)存儲(chǔ)設(shè)備損耗均衡的方法及存儲(chǔ)設(shè)備。
背景技術(shù):
:一般來(lái)說(shuō),存儲(chǔ)設(shè)備的使用壽命是由存儲(chǔ)單元的最大可擦寫次數(shù)決定的,隨著存儲(chǔ)單元的擦寫次數(shù)的增加,該存儲(chǔ)單元最終變?yōu)橹蛔x狀態(tài),從而成為壞塊。為了延長(zhǎng)存儲(chǔ)設(shè)備的使用壽命,行之有效的方法是在盡量小的影響性能的前提下,均衡使用存儲(chǔ)設(shè)備中的所有存儲(chǔ)單元,而不讓某個(gè)或某幾個(gè)存儲(chǔ)單元被過(guò)度使用,這種均衡使用存儲(chǔ)設(shè)備中的存儲(chǔ)單元的技術(shù)成為損耗均衡(wearleveling)才支術(shù)。下面以目前常見(jiàn)的兩種非易失性閃存NORFLASH和NANDFLASH為例說(shuō)明現(xiàn)有技術(shù)中實(shí)現(xiàn)損耗均衡的方法NANDFLASH可以達(dá)到高存儲(chǔ)密度,并且寫入和擦除的速度也很快,在大容量數(shù)據(jù)存儲(chǔ)中存在優(yōu)勢(shì),應(yīng)用廣泛。NANDFLASH中的基本存儲(chǔ)單元為扇區(qū),扇區(qū)也是進(jìn)行擦寫操作的基本單位。扇區(qū)的大小為528個(gè)字節(jié),其中512字節(jié)用于存儲(chǔ)數(shù)據(jù),16字節(jié)用于存儲(chǔ)壞塊標(biāo)識(shí)和錯(cuò)誤校-驗(yàn)碼(ECC)。為了達(dá)到損耗均衡的目的,在向NANDFLASH中某個(gè)邏輯扇區(qū)寫入數(shù)據(jù)后,記錄該邏輯扇區(qū)已寫數(shù)據(jù)不可用,當(dāng)需要對(duì)該邏輯扇區(qū)中的數(shù)據(jù)進(jìn)行更新時(shí),不是將該扇區(qū)擦除后重新寫入更新后的數(shù)據(jù),而是將更新后的數(shù)據(jù)寫入其他可用即未保存數(shù)據(jù)的邏輯扇區(qū)。按照該方法,總是將新的數(shù)據(jù)寫入未寫入數(shù)據(jù)的新扇區(qū),直到滿足一定的條件時(shí),比如,當(dāng)前NANDFLASH中不存在可用扇區(qū)或可用扇區(qū)的數(shù)量較少時(shí),才將已保存數(shù)據(jù)即記錄為不可用的扇區(qū)統(tǒng)一進(jìn)行擦除,以保證NANDFLASH中存儲(chǔ)空間的可用性??梢?jiàn),通過(guò)上述損耗均衡的方法,NANDFLASH中的扇區(qū)能夠得到均衡使用,一般不會(huì)出現(xiàn)某個(gè)或某幾個(gè)扇區(qū)被過(guò)度使用的情況。NORFLASH帶有隨機(jī)接入存儲(chǔ)器(RAM)接口,有足夠的地址引腳來(lái)尋址,可以很容易地存取NORFLASH內(nèi)部的每一個(gè)字節(jié),應(yīng)用程序可以直接在NORFLASH內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中,并且傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益。NORFLASH中每個(gè)物理扇區(qū)的大小為256個(gè)字節(jié),將NORFLASH的整個(gè)存儲(chǔ)空間進(jìn)行邏輯扇區(qū)的劃分,劃分后每個(gè)邏輯扇區(qū)的大小為256+4個(gè)字節(jié),其中,前256個(gè)字節(jié)用于存儲(chǔ)數(shù)據(jù),后4個(gè)字節(jié)用來(lái)存i文ECC碼和扇區(qū)號(hào)。同樣的,為了達(dá)到損耗均衡的目的,在向NORFLASH某個(gè)邏輯扇區(qū)寫入數(shù)據(jù)后,記錄該邏輯扇區(qū)已寫數(shù)據(jù)不可用,當(dāng)需要對(duì)該邏輯扇區(qū)中的數(shù)據(jù)進(jìn)行更新時(shí),不是將該邏輯扇區(qū)擦除后重新寫入更新后的數(shù)據(jù),而是將更新后的數(shù)據(jù)寫入其他可用即未保存數(shù)據(jù)的邏輯扇區(qū)。按照該方法,總是將新的數(shù)據(jù)寫入未寫入數(shù)據(jù)的新扇區(qū),直到滿足一定的條件時(shí),才將已保存數(shù)據(jù)即記錄為不可用的扇區(qū)統(tǒng)一進(jìn)行擦除??梢?jiàn),通過(guò)上述損耗均衡的方法,NORFLASH中的扇區(qū)能夠得到均衡使用。向扇區(qū)中寫入數(shù)據(jù)是指將該扇區(qū)中的某些數(shù)椐位設(shè)置成邏輯0;對(duì)扇區(qū)進(jìn)行擦除是指將該扇區(qū)中的每一數(shù)據(jù)位都設(shè)置成邏輯1。一般在向扇區(qū)寫入數(shù)據(jù)前需要將該扇區(qū)進(jìn)行擦除。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中存在如下技術(shù)問(wèn)題現(xiàn)有的損耗均衡的實(shí)現(xiàn)方案中,為了使得存儲(chǔ)單元不被過(guò)度使用,在一定的時(shí)間內(nèi)存儲(chǔ)設(shè)備中總有一些存儲(chǔ)單元不可用,4吏得對(duì)存儲(chǔ)空間的利用受到了限制,并且實(shí)現(xiàn)復(fù)雜度也較高。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種存儲(chǔ)設(shè)備中損耗均衡的方法及存儲(chǔ)設(shè)備,用于以較低的復(fù)雜度解決現(xiàn)有技術(shù)中存儲(chǔ)設(shè)備中的存儲(chǔ)單元被過(guò)度使用的問(wèn)題。本發(fā)明實(shí)施例提供一種存儲(chǔ)設(shè)備中損耗均衡的方法,所述存儲(chǔ)設(shè)備中存儲(chǔ)有邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,該方法包括讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果,第一物理存儲(chǔ)單元為所述對(duì)應(yīng)關(guān)系中第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的物理存儲(chǔ)單元;在確定所述統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),對(duì)所述第二物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的笫二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所迷預(yù)先設(shè)定的閾值。本發(fā)明實(shí)施例提供一種存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備包括第一存儲(chǔ)單元,用于存儲(chǔ)邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系;讀取單元,用于讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果,第一物理存儲(chǔ)單元為所述對(duì)應(yīng)關(guān)系中第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的物理存儲(chǔ)單元;更新單元,用于在確定所述統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),對(duì)所述第二物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫才喿作的次數(shù)小于所述預(yù)先設(shè)定的閾值。本發(fā)明中,在存儲(chǔ)設(shè)備中存儲(chǔ)有邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,通過(guò)在第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)小于預(yù)先設(shè)定的閾值,通過(guò)動(dòng)態(tài)調(diào)整存儲(chǔ)設(shè)備中邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,達(dá)到了避免第一物理存儲(chǔ)單元被過(guò)度使用的問(wèn)題。圖1為本發(fā)明實(shí)施例提供的方法流程示意圖2為本發(fā)明實(shí)施例中存儲(chǔ)單元擦寫次數(shù)的統(tǒng)計(jì)流程示意圖3為本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備結(jié)構(gòu)示意圖。具體實(shí)施例方式為了避免存儲(chǔ)設(shè)備中的某個(gè)存儲(chǔ)單元被過(guò)度使用,從而達(dá)到損耗均衡的目的,本發(fā)明實(shí)施例提供一種存儲(chǔ)設(shè)備中損耗均衡的方法,本方法中,在存儲(chǔ)設(shè)備中存儲(chǔ)有邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,例如,第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)第一物理存儲(chǔ)單元號(hào),在第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)小于預(yù)先設(shè)定的閾值。參見(jiàn)圖1,本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備中損耗均衡的方法,具體包括以下步驟步驟10:讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果;這里,第一物理存儲(chǔ)單元為存儲(chǔ)設(shè)備保存的邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系中,第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的物理存儲(chǔ)單元;步驟11:確定讀取到的統(tǒng)計(jì)結(jié)果是否超過(guò)預(yù)先設(shè)定的閾值;步驟12:在統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào);這里,對(duì)第二物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于預(yù)先設(shè)定的閾值。9在將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,第二物理存儲(chǔ)單元號(hào)對(duì)應(yīng)第二邏輯存儲(chǔ)單元號(hào),在將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)的同時(shí)或之后,為了避免第二邏輯存儲(chǔ)單元號(hào)不可用,還可以將第二邏輯存儲(chǔ)單元號(hào)與第一物理存儲(chǔ)單元號(hào)相對(duì)應(yīng),即將第一物理存儲(chǔ)單元號(hào)與第二物理存儲(chǔ)單元號(hào)互換。較佳的,步驟12中,為了確保寫入存儲(chǔ)設(shè)備的數(shù)據(jù)不會(huì)因?yàn)檫壿嫶鎯?chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系的調(diào)整而丟失,在確定統(tǒng)計(jì)結(jié)果超過(guò)預(yù)定的閾值之后、并且將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,將第一物理存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)寫入第二物理存儲(chǔ)單元。步驟12中,第二物理存儲(chǔ)單元可以按照如下方式確定在確定統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先設(shè)定的閾值之后、并且將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,在存儲(chǔ)設(shè)備保存的邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系中查找滿足設(shè)定條件的第二邏輯存儲(chǔ)單元號(hào),將第二邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的物理存儲(chǔ)單元號(hào)確定為第二物理存儲(chǔ)單元號(hào),對(duì)第二邏輯存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第二邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于預(yù)先設(shè)定的閾值。這里的設(shè)定條件可以為第一條件或第二條件,具體如下第一條件為第二邏輯存儲(chǔ)單元號(hào)所標(biāo)識(shí)的邏輯存儲(chǔ)單元是未被使用過(guò)的邏輯存儲(chǔ)單元;第二條件為第二邏輯存儲(chǔ)單元號(hào)所標(biāo)識(shí)的邏輯存儲(chǔ)單元被擦寫的次數(shù)不超過(guò)設(shè)定門限值,該門限值小于所述預(yù)先設(shè)定的閾值。當(dāng)然,設(shè)定條件并不局限于以上兩種,可以根據(jù)需要進(jìn)行設(shè)定。上述從邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系中查找滿足第一條件的第二邏輯存儲(chǔ)單元號(hào)的具體實(shí)現(xiàn)方式可以為對(duì)于存儲(chǔ)設(shè)t床存的邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系中的各邏輯存儲(chǔ)單元號(hào),根據(jù)預(yù)先設(shè)置存儲(chǔ)單元是否被使用過(guò)的使用標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,確定該邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的使用標(biāo)識(shí),若該使用標(biāo)識(shí)為未被使用過(guò),則記錄該邏輯存儲(chǔ)單元號(hào);然后,從記錄的邏輯存儲(chǔ)單元號(hào)中選取一個(gè)邏輯存儲(chǔ)單元號(hào)作為第二邏輯存儲(chǔ)單元號(hào)。同樣的,從邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系中查找滿足第二條件的第二邏輯存儲(chǔ)單元號(hào)的具體實(shí)現(xiàn)方式可以為對(duì)于存儲(chǔ)設(shè)備保存的邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系中的各邏輯存儲(chǔ)單元號(hào),根椐預(yù)先建立的邏輯存儲(chǔ)單元號(hào)與擦寫次數(shù)的對(duì)應(yīng)關(guān)系,確定該邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的擦寫次數(shù),若該擦寫次數(shù)未超過(guò)設(shè)定門限值,則記錄該邏輯存儲(chǔ)單元號(hào);然后,從記錄的邏輯存儲(chǔ)單元號(hào)中選取一個(gè)邏輯存儲(chǔ)單元號(hào)作為第二邏輯存儲(chǔ)單元號(hào)。上述第一條件和第二條件還可以結(jié)合起來(lái)使用,例如,首先查找滿足第一條件的第二邏輯存儲(chǔ)單元號(hào),若查找到,則結(jié)束;否則,繼續(xù)查找滿足第二條件的第二邏輯存儲(chǔ)單元號(hào),以此類推,這里不再窮舉。本發(fā)明中,需要對(duì)存儲(chǔ)設(shè)備中物理存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)進(jìn)行統(tǒng)計(jì),具體統(tǒng)i十方法可以4口下在內(nèi)存中統(tǒng)計(jì)對(duì)存儲(chǔ)設(shè)備中的全部或部分物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù);在滿足預(yù)先設(shè)定的數(shù)據(jù)擦寫操作次數(shù)寫入條件時(shí),從在內(nèi)存中的統(tǒng)計(jì)結(jié)果和保存在存儲(chǔ)設(shè)備中統(tǒng)計(jì)結(jié)果記錄區(qū)的物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)中,選取數(shù)值最大的N個(gè)物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù),其中,N為大于0的整數(shù);利用選取到的物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)更新存^i殳備的統(tǒng)計(jì)結(jié)果記錄區(qū),即,將選取到的物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)覆蓋統(tǒng)計(jì)結(jié)果記錄區(qū)中已有的記錄。那么,步驟10中,是從存儲(chǔ)設(shè)備的統(tǒng)計(jì)結(jié)果記錄區(qū)中讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果。上述統(tǒng)計(jì)方法的具體實(shí)現(xiàn)可以采用如下算法在內(nèi)存中開辟一個(gè)整數(shù)型數(shù)組,作為統(tǒng)計(jì)結(jié)果的存儲(chǔ)區(qū)域,該數(shù)組中每個(gè)元素記錄了一個(gè)邏輯存儲(chǔ)單元號(hào)和該邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)。該數(shù)組共有63個(gè)元素,也就是最多可記錄63個(gè)邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)。該數(shù)組劃分為兩個(gè)區(qū),一個(gè)是固定區(qū),另一個(gè)是浮動(dòng)區(qū),浮動(dòng)區(qū)中元素的記錄可以被替換,固定區(qū)中元素的記錄不能被替換。浮動(dòng)區(qū)中各元素記錄的數(shù)據(jù)擦寫次數(shù)為一次,固定區(qū)中各元素記錄的數(shù)據(jù)擦寫次數(shù)為兩次以上。當(dāng)然數(shù)組的大小可以根據(jù)實(shí)際需要隨意指定。同時(shí),在存儲(chǔ)設(shè)備中劃分一塊統(tǒng)計(jì)結(jié)果記錄區(qū),該統(tǒng)計(jì)結(jié)果記錄區(qū)用于保存從內(nèi)存寫入的統(tǒng)計(jì)結(jié)果數(shù)據(jù)。如圖2所示,執(zhí)行如下步驟來(lái)統(tǒng)計(jì)邏輯存儲(chǔ)單元的擦寫次數(shù)步驟20:邏輯存儲(chǔ)單元A被執(zhí)行數(shù)據(jù)擦除操作;步驟21:讀取數(shù)組中的第i個(gè)元素,該元素記錄了邏輯存儲(chǔ)單元B和邏輯存儲(chǔ)單元B的數(shù)據(jù)擦寫次數(shù)C;i的初始值為l;步驟22:判斷i是否等于63,即判斷是否遍歷到數(shù)組的最后一個(gè)元素,若是,則到步驟29;否則,到步驟23;步驟23:判斷A是否等于B,即判斷A的記錄是否已保存在數(shù)組中,若是,則到步驟24;否則,i加l,到步驟21;步驟24:更新當(dāng)前元素中記錄的數(shù)據(jù)擦寫次數(shù)C-C+1;步驟25:查找存儲(chǔ)設(shè)備的統(tǒng)計(jì)結(jié)果記錄區(qū)中是否保存有邏輯存儲(chǔ)單元B的數(shù)據(jù)擦寫次數(shù),若是,則將查找到的邏輯存儲(chǔ)單元B的數(shù)據(jù)擦寫次數(shù)加1;步驟26:將當(dāng)前元素劃分為固定區(qū)的元素;步驟27:固定區(qū)的元素?cái)?shù)加l,浮動(dòng)區(qū)的元素?cái)?shù)減1;固定區(qū)和浮動(dòng)區(qū)的元素?cái)?shù)初始值為0;步驟28:判斷數(shù)組的全部元素是否均屬于固定區(qū),若是,則到步驟32,否則,到步驟30;步驟29:將邏輯存儲(chǔ)單元A的數(shù)據(jù)擦寫次數(shù)1插入數(shù)組的當(dāng)前可插入元素位置X,X的初始值為1,每插入一條記錄后X加1,當(dāng)X等于63時(shí),X12會(huì)初始化為當(dāng)前可插入位置的最小地址X-Y+1,其中Y為當(dāng)前數(shù)組固定區(qū)的元素個(gè)數(shù),X總是位于數(shù)組的浮動(dòng)區(qū);步驟30:統(tǒng)計(jì)數(shù)組中保存的所有邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)之和;步驟31:判斷統(tǒng)計(jì)的數(shù)據(jù)擦寫次數(shù)之和是否超過(guò)設(shè)定的門限值,若是,則到步驟32,否則,到步驟33;步驟32:更新存^i殳備中的統(tǒng)計(jì)結(jié)果記錄區(qū),具體的,首先按照從大到小的順序,將數(shù)組中保存的邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)和保存在存儲(chǔ)設(shè)備中統(tǒng)計(jì)結(jié)果記錄區(qū)的邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)進(jìn)行排序,從排序結(jié)果中選取前N個(gè)邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù),并將選取的N個(gè)邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)寫入存儲(chǔ)設(shè)備的統(tǒng)計(jì)結(jié)果記錄區(qū),統(tǒng)計(jì)結(jié)果記錄區(qū)原有的記錄被覆蓋;步驟33:本流程結(jié)束??梢?jiàn),上述數(shù)據(jù)擦寫操作次數(shù)寫入條件的具體內(nèi)容可以是如下兩種第一種,為步驟28中提及的數(shù)組的全部元素均屬于固定區(qū),即數(shù)組中保存的邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)均在兩次以上;第二種,為步驟31中提及的統(tǒng)計(jì)的數(shù)據(jù)擦寫次數(shù)之和超過(guò)設(shè)定的門限值。在步驟24后,還可以執(zhí)行步驟12中的更新操作,即判斷步驟24中更新后的邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)是否超過(guò)預(yù)先設(shè)定的閾值,若是,則將對(duì)應(yīng)關(guān)系(存儲(chǔ)設(shè)備保存的邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系)中該較小的其他物理存儲(chǔ)單元號(hào),并將該邏輯存儲(chǔ)單元的記錄在數(shù)組中刪除,同時(shí)將固定區(qū)的元素?cái)?shù)減l,浮動(dòng)區(qū)的元素?cái)?shù)加l。采用上述方法,由于在進(jìn)行數(shù)據(jù)擦寫操作時(shí),實(shí)際是對(duì)邏輯存儲(chǔ)單元對(duì)應(yīng)的物理存儲(chǔ)單元進(jìn)行棒寫操作,因此,對(duì)存儲(chǔ)設(shè)備中邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)進(jìn)行統(tǒng)計(jì),也就是對(duì)該邏輯存儲(chǔ)單元對(duì)應(yīng)的物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)進(jìn)行統(tǒng)計(jì)。對(duì)存儲(chǔ)設(shè)備中邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)進(jìn)13行統(tǒng)計(jì)時(shí),在存儲(chǔ)設(shè)備中僅保存對(duì)少數(shù)幾個(gè)(N個(gè))邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果,這幾個(gè)邏輯存儲(chǔ)單元的擦寫次數(shù)最多,能夠合理的節(jié)省存儲(chǔ)設(shè)備的存儲(chǔ)資源,因?yàn)橥ǔ6啻畏磸?fù)進(jìn)行擦寫操作的存儲(chǔ)單元只集中在幾個(gè)邏輯存儲(chǔ)單元上,也就只需要對(duì)這幾個(gè)邏輯存儲(chǔ)單元執(zhí)行步驟12中的更新操作,因此在存儲(chǔ)設(shè)備中僅記錄少數(shù)幾個(gè)邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果是合理的。同時(shí),在內(nèi)存中統(tǒng)計(jì)邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)后,在滿足預(yù)先設(shè)定的數(shù)據(jù)擦寫操作次數(shù)寫入條件時(shí),才執(zhí)行后續(xù)更新存儲(chǔ)設(shè)備中統(tǒng)計(jì)結(jié)果的操作,而不是實(shí)時(shí)進(jìn)行更新,如果在兩次更新操作之間出現(xiàn)斷電情況,那么^義會(huì)丟失第一次更新后的統(tǒng)計(jì)結(jié)果,影響不大。較佳的,步驟12中,為了確保數(shù)據(jù)不被寫入壞塊,需要定時(shí)判斷存儲(chǔ)設(shè)備中的物理存儲(chǔ)單元是否為壞塊,若是,則更新保存的邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,例如,判斷物理存儲(chǔ)單元號(hào)X所標(biāo)識(shí)的物理存儲(chǔ)單元X為壞塊后,將該對(duì)應(yīng)關(guān)系中的物理存儲(chǔ)單元號(hào)X更新為物理存儲(chǔ)單元號(hào)Y,物理存儲(chǔ)單元號(hào)Y所標(biāo)識(shí)的物理存儲(chǔ)單元Y不是壞塊,并且對(duì)物理存儲(chǔ)單元Y的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值。判定是否為壞塊的一個(gè)時(shí)機(jī)可以是,在步驟12中將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之后,將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第二物理存儲(chǔ)單元號(hào)更新為第三物理存儲(chǔ)單元號(hào),對(duì)第三物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第三物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值,并且,第三物理存儲(chǔ)單元并非壞塊。在將物理存儲(chǔ)單元號(hào)X更新為物理存儲(chǔ)單元號(hào)Y之前,為了防止數(shù)據(jù)丟失,還可以將物理存儲(chǔ)單元X中存儲(chǔ)的數(shù)據(jù)寫入到物理存儲(chǔ)單元Y中。判斷某個(gè)物理存儲(chǔ)單元是否為壞塊的方法可以有以下兩種第一種,向物理存儲(chǔ)單元寫入數(shù)據(jù),然后從該物理存儲(chǔ)單元讀出數(shù)據(jù),若讀出的數(shù)據(jù)一致,則說(shuō)明該物理存儲(chǔ)單元并非壞塊,若不一致,則可判定該物理存儲(chǔ)單元為壞塊。第二種,擦除物理存儲(chǔ)單元中的數(shù)據(jù),然后從該物理存儲(chǔ)單元讀出數(shù)據(jù),若讀出的數(shù)據(jù)的比特位全部為1,則說(shuō)明該物理存儲(chǔ)單元并非壞塊,否則,可判定該物理存儲(chǔ)單元為壞塊。在將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之后,對(duì)存儲(chǔ)設(shè)備中的存儲(chǔ)單元進(jìn)行數(shù)據(jù)檫寫操作的過(guò)程如下接收到攜帶第一邏輯存儲(chǔ)單元號(hào)的數(shù)據(jù)擦寫指令后,根據(jù)保存的邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,確定第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)第二物理存儲(chǔ)單元號(hào),并對(duì)第二物理存儲(chǔ)單元進(jìn)行數(shù)據(jù)擦寫操作。本發(fā)明中的存儲(chǔ)設(shè)備可以是NORFLASH、NANDFLASH等非易失性閃存設(shè)備,還可以是磁盤等存儲(chǔ)設(shè)備。下面以NORFLASH為例進(jìn)行說(shuō)明NORFLASH中按照頁(yè)的大小劃分為若干個(gè)基本存儲(chǔ)單元,每頁(yè)256個(gè)字節(jié),將該基本存儲(chǔ)單元稱為物理扇區(qū),即物理扇區(qū)是NORFLASH的物理存儲(chǔ)單元;將NORFLASH的磁盤扇區(qū)稱為邏輯扇區(qū),即邏輯扇區(qū)是NORFLASH的邏輯存儲(chǔ)單元。NORFLASH分為上層文件管理層、損耗均衡處理(FTL)層和驅(qū)動(dòng)層。FTL層獨(dú)立于驅(qū)動(dòng)層之上,為上層文件管理層提供以邏輯地址為訪問(wèn)單位的對(duì)Flash進(jìn)行數(shù)據(jù)讀、寫、擦除等相關(guān)指令函數(shù)。FTL層主要實(shí)現(xiàn)的功能有邏輯地址到物理地址的轉(zhuǎn)換、損耗均衡的頁(yè)交換處理、以及壞塊管理等。邏輯地址到物理地址的轉(zhuǎn)換也就是邏輯扇區(qū)到物理扇區(qū)的轉(zhuǎn)換。NORFLASH的物理層上的存儲(chǔ)結(jié)構(gòu)可以分為信息區(qū)、頁(yè)訪問(wèn)表(PageAccessTable,PAT)區(qū)和數(shù)據(jù)區(qū),如下表所示<table>tableseeoriginaldocumentpage15</column></row><table>其中,數(shù)據(jù)區(qū)用來(lái)存儲(chǔ)用戶寫入的文件數(shù)據(jù);PAT區(qū)用來(lái)保存邏輯扇區(qū)與物理扇區(qū)的對(duì)應(yīng)關(guān)系,如下表所示<table>tableseeoriginaldocumentpage16</column></row><table>信息區(qū)用來(lái)記錄PAT區(qū)和數(shù)據(jù)區(qū)的起始地址和大小。由于PAT區(qū)的地址是固定的,在NORFLASH中存儲(chǔ)PAT時(shí),可以利用相對(duì)PAT起始地址的偏移量來(lái)表征邏輯扇區(qū)號(hào),這樣可以節(jié)省一半的空間,訪問(wèn)操作也會(huì)節(jié)省一半。對(duì)NORFLASH進(jìn)行損耗均衡處理的一個(gè)實(shí)例如下步驟S01:FTL層接收到上層文件管理層發(fā)來(lái)的攜帶邏輯地址a的數(shù)據(jù)寫指令,確定邏輯地址a對(duì)應(yīng)的邏輯扇區(qū)號(hào)為0001,邏輯扇區(qū)號(hào)等于邏輯地址除以物理扇區(qū)大小256的商;步驟S02:FTL層通過(guò)查找PAT區(qū)中邏輯扇區(qū)號(hào)與物理扇區(qū)號(hào)的對(duì)應(yīng)關(guān)系,確定邏輯扇區(qū)號(hào)0001對(duì)應(yīng)的物理扇區(qū)號(hào)為0001;步驟S03:FTL層將攜帶物理扇區(qū)號(hào)0001的數(shù)據(jù)寫指令發(fā)送給驅(qū)動(dòng)層;步驟S04:驅(qū)動(dòng)層確定物理扇區(qū)號(hào)0001對(duì)應(yīng)的物理地址,物理地址等于物理扇區(qū)號(hào)乘以物理扇區(qū)大小256的結(jié)果,加上邏輯地址除以物理扇區(qū)大小256的余數(shù);步驟S05:驅(qū)動(dòng)層向確定的物理地址對(duì)應(yīng)的物理扇區(qū)寫入數(shù)據(jù);步驟S06:在為定時(shí)讀取擦寫次數(shù)而設(shè)置的定時(shí)器超時(shí)時(shí),讀取物理扇區(qū)號(hào)0001所標(biāo)識(shí)的物理扇區(qū)的數(shù)據(jù)擦寫次數(shù)為4.53萬(wàn)次,超過(guò)了設(shè)定的閾值4.5萬(wàn)次,查找PAT表中未^^吏用過(guò)的物理扇區(qū),查找結(jié)杲為邏輯扇區(qū)號(hào)0008對(duì)應(yīng)的物理扇區(qū)號(hào)0008,將物理扇區(qū)號(hào)0001與物理扇區(qū)號(hào)0008互換,此時(shí),邏輯扇區(qū)號(hào)0001對(duì)應(yīng)物理扇區(qū)號(hào)0008,邏輯扇區(qū)號(hào)0008對(duì)應(yīng)物理扇區(qū)號(hào)0001;如下表所示邏輯扇區(qū)號(hào)物理扇區(qū)號(hào)0001000800020002000300030004000400050005000600060007000700080001步驟S07:FTL層接收到上層文件管理層發(fā)來(lái)的攜帶邏輯地址a的數(shù)據(jù)寫指令,確定邏輯地址a對(duì)應(yīng)的邏輯扇區(qū)號(hào)為0001;步驟S08:FTL層通過(guò)查找PAT區(qū)中邏輯扇區(qū)號(hào)與物理扇區(qū)號(hào)的對(duì)應(yīng)關(guān)系,確定邏輯扇區(qū)號(hào)0001對(duì)應(yīng)的物理扇區(qū)號(hào)為0008;步驟S03:FTL層將攜帶物理扇區(qū)號(hào)0008的數(shù)據(jù)寫指令發(fā)送給驅(qū)動(dòng)層;步驟S04'.驅(qū)動(dòng)層確定物理扇區(qū)號(hào)0008對(duì)應(yīng)的物理地址,并向確定的物理地址對(duì)應(yīng)的物理扇區(qū)寫入數(shù)據(jù)。在步驟S06中,除了定時(shí)讀取物理扇區(qū)的數(shù)據(jù)擦寫次數(shù)外,還可以在對(duì)該物理扇區(qū)進(jìn)行數(shù)據(jù)擦除時(shí)讀取該物理扇區(qū)的數(shù)據(jù)擦寫次數(shù),并判斷讀取到的數(shù)據(jù)擦寫次數(shù)是否超過(guò)預(yù)先設(shè)定的閾值。參見(jiàn)圖3,本發(fā)明實(shí)施例還提供一種存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備包括第一存儲(chǔ)單元30,用于存儲(chǔ)邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系;讀取單元31,用于讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果,第一物理存儲(chǔ)單元為所述對(duì)應(yīng)關(guān)系中第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的物理存儲(chǔ)單元;17更新單元32,用于在確定所述統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),對(duì)所述第二物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值。該存儲(chǔ)設(shè)備還包括數(shù)據(jù)交換單元33,用于在所述更新單元將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,將第一物理存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)寫入笫二物理存儲(chǔ)單元。該存儲(chǔ)設(shè)備還包括查找單元34,用于在所述更新單元將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,從所述對(duì)應(yīng)關(guān)系中查找第二邏輯存儲(chǔ)單元號(hào),將第二邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的物理存儲(chǔ)單元號(hào)作為第二物理存儲(chǔ)單元號(hào)發(fā)送給所述更新單元;對(duì)所述第二邏輯存儲(chǔ)單元號(hào)所標(biāo)識(shí)的邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)小于所迷預(yù)先設(shè)定的閾值。所述查找單元34包括記錄單元,用于對(duì)于所述對(duì)應(yīng)關(guān)系中的各邏輯存儲(chǔ)單元號(hào),根據(jù)預(yù)先設(shè)置r該遲輯存儲(chǔ)單元號(hào)所標(biāo)i1存儲(chǔ)單元是否被使用過(guò)的使用標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,確定該邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的使用標(biāo)識(shí),若該使用標(biāo)識(shí)為未被使用過(guò),則記錄該邏輯存儲(chǔ)單元號(hào);選取單元,用于從所述記錄單元中選取一個(gè)邏輯存儲(chǔ)單元號(hào)作為第二邏輯存儲(chǔ)單元號(hào)發(fā)送給所述更新單元。該存儲(chǔ)設(shè)備還包括第二存儲(chǔ)單元35,用于存儲(chǔ)所述存儲(chǔ)設(shè)備中部分或全部物理存儲(chǔ)單元的數(shù)據(jù)擦寫的次數(shù)信息;所述讀取單元31用于從所述第二存儲(chǔ)單元中讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)杲。該存儲(chǔ)設(shè)備還包括壞塊管理單元36,用于判斷第二邏輯存儲(chǔ)單元是否為壞塊,若是,則將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第二物理存儲(chǔ)單元號(hào)更新為第三物理存儲(chǔ)單元號(hào),對(duì)所述第三物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第三物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值。該存儲(chǔ)設(shè)備還包括文件系統(tǒng)單元37,用于接收到攜帶第一邏輯存儲(chǔ)單元號(hào)的數(shù)據(jù)擦寫指令后,根椐所述對(duì)應(yīng)關(guān)系,確定第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)第二物理存儲(chǔ)單元號(hào),并對(duì)第二物理存儲(chǔ)單元進(jìn)行數(shù)據(jù)擦寫操作。綜上,本發(fā)明的有益效果包括本發(fā)明實(shí)施例提供的方案中,在存儲(chǔ)設(shè)備中存儲(chǔ)有邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,通過(guò)在第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)小于第一物理存儲(chǔ)單元,能夠動(dòng)態(tài)調(diào)整存儲(chǔ)設(shè)備中邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,以避免了存儲(chǔ)設(shè)備中的某個(gè)存儲(chǔ)單元被過(guò)度使用,從而達(dá)到了損耗均衡的目的。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。權(quán)利要求1、一種存儲(chǔ)設(shè)備中損耗均衡的方法,其特征在于,所述存儲(chǔ)設(shè)備中存儲(chǔ)有邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,該方法包括讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果,第一物理存儲(chǔ)單元為所述對(duì)應(yīng)關(guān)系中第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的物理存儲(chǔ)單元;在確定所述統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),對(duì)所述第二物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值。2、如權(quán)利要求1所述的方法,其特征在于,在確定所述統(tǒng)計(jì)結(jié)果超過(guò)預(yù)定的閾值之后、并且將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,該方法進(jìn)一步包括將第一物理存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)寫入第二物理存儲(chǔ)單元。3、如權(quán)利要求1所述的方法,其特征在于,在確定所述統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先設(shè)定的閾值之后、并且將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,該方法進(jìn)一步包括從所述對(duì)應(yīng)關(guān)系中查找第二邏輯存儲(chǔ)單元號(hào),將第二邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的物理存儲(chǔ)單元號(hào)確定為第二物理存儲(chǔ)單元號(hào);對(duì)所述第二邏輯存儲(chǔ)單元號(hào)所標(biāo)識(shí)的邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值。4、如權(quán)利要求3所述的方法,其特征在于,所述從所述對(duì)應(yīng)關(guān)系中查找第二邏輯存儲(chǔ)單元號(hào)包括對(duì)于所述對(duì)應(yīng)關(guān)系中的各邏輯存儲(chǔ)單元號(hào),根據(jù)預(yù)先設(shè)置在所述存儲(chǔ)設(shè)備中的邏輯存儲(chǔ)單元號(hào)與用于表示該邏輯存儲(chǔ)單元號(hào)所標(biāo)識(shí)的邏輯存儲(chǔ)單元是否被使用過(guò)的使用標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,確定該邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的使用標(biāo)識(shí),若該使用標(biāo)識(shí)為未被使用過(guò),則記錄該邏輯存儲(chǔ)單元號(hào);從記錄的邏輯存儲(chǔ)單元號(hào)中選取一個(gè)作為第二邏輯存儲(chǔ)單元號(hào)。5、如權(quán)利要求1所述的方法,其特征在于,在讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果之前,該方法進(jìn)一步包括操作的次數(shù);在滿足預(yù)先設(shè)定的數(shù)據(jù)擦寫操作次數(shù)寫入條件時(shí),從在內(nèi)存中的統(tǒng)計(jì)結(jié)果和保存在所述存儲(chǔ)設(shè)備中統(tǒng)計(jì)結(jié)果記錄區(qū)的物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)中,選取數(shù)值最大的N個(gè)物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù);所述N為大于0的整數(shù);利用選取到的物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)更新所述統(tǒng)計(jì)結(jié)果記錄區(qū);所述讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果包括從所述統(tǒng)計(jì)結(jié)果記錄區(qū)中讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果。6、如權(quán)利要求1所述的方法,其特征在于,在將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之后,該方法進(jìn)一步包括判斷第二物理存儲(chǔ)單元是否為壞塊,若是,則將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第二物理存儲(chǔ)單元號(hào)更新為第三物理存儲(chǔ)單元號(hào),對(duì)第三物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第三物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值。7、如權(quán)利要求1-5中任一所述的方法,其特征在于,在將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之后,該方法進(jìn)一步包括接收到攜帶第一邏輯存儲(chǔ)單元號(hào)的數(shù)據(jù)擦寫指令后,根據(jù)所述對(duì)應(yīng)關(guān)系,確定第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)第二物理存儲(chǔ)單元號(hào),并對(duì)第二物理存儲(chǔ)單元進(jìn)行數(shù)據(jù)擦寫操作。8、一種存儲(chǔ)設(shè)備,其特征在于,該存儲(chǔ)設(shè)備包括第一存儲(chǔ)單元,用于存儲(chǔ)邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系;讀取單元,用于讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果,第一物理存儲(chǔ)單元為所述對(duì)應(yīng)關(guān)系中第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的物理存儲(chǔ)單元;更新單元,用于在確定所述統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先"^殳定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),對(duì)所述第二物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值。9、如權(quán)利要求8所述的存儲(chǔ)設(shè)備,其特征在于,該存儲(chǔ)設(shè)備還包括數(shù)據(jù)交換單元,用于在所述更新單元將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,將第一物理存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)寫入第二物理存儲(chǔ)單元。10、如權(quán)利要求8所述的存儲(chǔ)設(shè)備,其特征在于,該存儲(chǔ)設(shè)備還包括查找單元,用于在所述更新單元將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào)之前,從所述對(duì)應(yīng)關(guān)系中查找第二邏輯存儲(chǔ)單元號(hào),將第二邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的物理存儲(chǔ)單元號(hào)作為第二物理存儲(chǔ)單元號(hào)發(fā)送給所述更新單元;對(duì)所述第二邏輯存儲(chǔ)單元號(hào)所標(biāo)識(shí)的邏輯存儲(chǔ)單元的數(shù)據(jù)擦寫次數(shù)小于所述閾值。11、如權(quán)利要求IO所述的存儲(chǔ)設(shè)備,其特征在于,所述查找單元包括記錄單元,用于對(duì)于所述對(duì)應(yīng)關(guān)系中的各邏輯存儲(chǔ)單元號(hào),根據(jù)預(yù)先設(shè)置在所述存儲(chǔ)設(shè)備中的邏輯存儲(chǔ)單元號(hào)與用于表示該邏輯存儲(chǔ)單元號(hào)所標(biāo)識(shí)的邏輯存儲(chǔ)單元是否被使用過(guò)的使用標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,確定該邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的使用標(biāo)識(shí),若該使用標(biāo)識(shí)為未被使用過(guò),則記錄該邏輯存儲(chǔ)單元號(hào);選取單元,用于從所述記錄單元中選取一個(gè)邏輯存儲(chǔ)單元號(hào)作為第二邏輯存儲(chǔ)單元號(hào)發(fā)送給所述更新單元。12、如權(quán)利要求8所述的存儲(chǔ)設(shè)備,其特征在于,該存儲(chǔ)設(shè)備還包括第二存儲(chǔ)單元,用于存儲(chǔ)所述存儲(chǔ)設(shè)備中部分或全部物理存儲(chǔ)單元的數(shù)據(jù)擦寫的次數(shù)信息;所述讀取單元用于從所述第二存儲(chǔ)單元中讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果。13、如權(quán)利要求8所述的存儲(chǔ)設(shè)備,其特征在于,該存儲(chǔ)設(shè)備還包括壞塊管理單元,用于判斷第二物理存儲(chǔ)單元是否為壞塊,若是,則將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第二物理存儲(chǔ)單元號(hào)更新為第三物理存儲(chǔ)單元號(hào),對(duì)第三物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第三物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述預(yù)先設(shè)定的閾值。14、如權(quán)利要求8-12中任一所述的存儲(chǔ)設(shè)備,其特征在于,該存儲(chǔ)設(shè)備還包括文件系統(tǒng)單元,用于接收到攜帶第一邏輯存儲(chǔ)單元號(hào)的數(shù)據(jù)擦寫指令后,根據(jù)所述對(duì)應(yīng)關(guān)系,確定第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)第二物理存儲(chǔ)單元號(hào),并對(duì)第二物理存儲(chǔ)單元進(jìn)行數(shù)據(jù)擦寫操作。全文摘要本發(fā)明實(shí)施例公開了一種存儲(chǔ)設(shè)備中損耗均衡的方法,所述存儲(chǔ)設(shè)備中存儲(chǔ)有邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,該方法為讀取對(duì)第一物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作次數(shù)的統(tǒng)計(jì)結(jié)果,第一物理存儲(chǔ)單元為所述對(duì)應(yīng)關(guān)系中第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的物理存儲(chǔ)單元;在確定所述統(tǒng)計(jì)結(jié)果超過(guò)預(yù)先設(shè)定的閾值時(shí),將第一邏輯存儲(chǔ)單元號(hào)對(duì)應(yīng)的第一物理存儲(chǔ)單元號(hào)更新為第二物理存儲(chǔ)單元號(hào),對(duì)所述第二物理存儲(chǔ)單元號(hào)所標(biāo)識(shí)的第二物理存儲(chǔ)單元的數(shù)據(jù)擦寫操作的次數(shù)小于所述閾值。采用本發(fā)明,能夠動(dòng)態(tài)調(diào)整邏輯存儲(chǔ)單元號(hào)與物理存儲(chǔ)單元號(hào)的對(duì)應(yīng)關(guān)系,達(dá)到存儲(chǔ)設(shè)備內(nèi)損耗均衡的目的。文檔編號(hào)G11C16/06GK101533670SQ20091008264公開日2009年9月16日申請(qǐng)日期2009年4月23日優(yōu)先權(quán)日2009年4月23日發(fā)明者楠張,楊貴龍申請(qǐng)人:北京握奇數(shù)據(jù)系統(tǒng)有限公司