專(zhuān)利名稱(chēng):存儲(chǔ)設(shè)備控制方法及存儲(chǔ)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)技術(shù),更具體地說(shuō),涉及半導(dǎo)體存儲(chǔ)設(shè)備中的存儲(chǔ)技術(shù)。
背景技術(shù):
對(duì)于半導(dǎo)體存儲(chǔ)設(shè)備,例如閃存設(shè)備,一般包含至少一個(gè)閃存介質(zhì)。閃存介質(zhì)包括若干個(gè)物理塊。每個(gè)物理塊都具有物理地址。為了對(duì)物理塊進(jìn)行讀寫(xiě)操作,需要建立物理地址與邏輯地址的映射關(guān)系。這種映射關(guān)系就記錄在地址映射表中。 閃存介質(zhì)在使用之前所有的物理塊都是空塊(即不包含任何數(shù)據(jù)的物理塊)。為提高存取速度,在建立物理地址與邏輯地址的映射關(guān)系時(shí),除了將所有的邏輯地址都與物理地址建立映射關(guān)系之外,還保留一定數(shù)量的空塊無(wú)對(duì)應(yīng)的邏輯地址。這部分無(wú)對(duì)應(yīng)的邏輯地址的空塊的信息構(gòu)成一個(gè)集合,稱(chēng)為空塊池。通常,存儲(chǔ)設(shè)備在使用之前,空塊池存儲(chǔ)在半導(dǎo)體存儲(chǔ)介質(zhì)中。 在閃存設(shè)備上電初始化過(guò)程中,空塊池被讀入存儲(chǔ)設(shè)備的內(nèi)存(可以是存儲(chǔ)設(shè)備的控制器內(nèi)部的隨機(jī)存儲(chǔ)器,也可以是控制器外部的同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)中。在對(duì)閃存介質(zhì)進(jìn)行數(shù)據(jù)寫(xiě)入的過(guò)程中,當(dāng)執(zhí)行寫(xiě)操作的物理塊的剩余空間不足以容納該次寫(xiě)操作的數(shù)據(jù)時(shí),控制器將調(diào)用空塊池中記錄的空塊來(lái)完成該次寫(xiě)操作。此時(shí)只需對(duì)這些空塊分配邏輯地址后就可以寫(xiě)入數(shù)據(jù)了。為使空塊池中記錄的空塊保持預(yù)定的數(shù)量,現(xiàn)有的方法是在空塊池中的空塊不足時(shí)將已用物理塊中的內(nèi)容擦除而成為空塊,然后將該空塊的物理地址等信息記錄到空塊池中。當(dāng)這些已用物理塊中包含儲(chǔ)存了有效數(shù)據(jù)的頁(yè)(簡(jiǎn)稱(chēng)有效頁(yè))時(shí),則需將有效頁(yè)中的數(shù)據(jù)搬遷到其它物理塊,再將該已用物理塊擦除成為空塊,并將該空塊的信息保存在空塊池中。這個(gè)過(guò)程在本申請(qǐng)中簡(jiǎn)稱(chēng)為"空塊回收"。 但是,在上述寫(xiě)入數(shù)據(jù)的過(guò)程中進(jìn)行空塊回收時(shí),有效頁(yè)的搬遷需要占用一定的操作時(shí)間,因此空塊回收的次數(shù)過(guò)多會(huì)降低半導(dǎo)體存儲(chǔ)設(shè)備的寫(xiě)入速度。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種存儲(chǔ)設(shè)備控制方法及存儲(chǔ)設(shè)備,以減少數(shù)據(jù)寫(xiě)入過(guò)程中的空塊回收次數(shù),從而提高數(shù)據(jù)寫(xiě)入速度。 為實(shí)現(xiàn)發(fā)明目的,所述存儲(chǔ)設(shè)備包括半導(dǎo)體存儲(chǔ)介質(zhì),存儲(chǔ)設(shè)備的控制方法包括建立部分邏輯地址與半導(dǎo)體存儲(chǔ)介質(zhì)中空塊的物理地址的映射關(guān)系;記錄無(wú)映射關(guān)系的空塊的信息;對(duì)無(wú)映射關(guān)系的空塊進(jìn)行操作。 該存儲(chǔ)設(shè)備可設(shè)有空塊池,用于記錄無(wú)映射關(guān)系的至少部分空塊的信息,和擴(kuò)展記錄區(qū),用于記錄空塊池中未記錄的無(wú)映射關(guān)系的空塊。 其中,對(duì)無(wú)映射關(guān)系的空塊進(jìn)行操作的步驟可包括當(dāng)在空塊池記錄的空塊數(shù)量
低于第一預(yù)設(shè)值時(shí),將擴(kuò)展記錄區(qū)記錄的至少一空塊的信息記錄到空塊池中。
該方法可包括當(dāng)擴(kuò)展記錄區(qū)沒(méi)有空塊的信息記錄時(shí),進(jìn)行空塊回收。 還可包括當(dāng)空塊池記錄的空塊數(shù)量達(dá)到第二預(yù)設(shè)值時(shí),將回收的空塊的信息記錄到擴(kuò)展記錄區(qū)中。 另外,該方法還包括當(dāng)要進(jìn)行讀操作的邏輯地址未建立與物理地址的映射關(guān)系時(shí),返回全0數(shù)據(jù)。 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種存儲(chǔ)設(shè)備,包括控制器和半導(dǎo)體存儲(chǔ)介質(zhì),該控制器包括第一單元,建立部分邏輯地址與半導(dǎo)體存儲(chǔ)介質(zhì)中空塊的物理地址的映射關(guān)系,和將無(wú)映射關(guān)系的空塊的信息記錄在半導(dǎo)體存儲(chǔ)介質(zhì)中;第二單元,對(duì)無(wú)映射關(guān)系的空塊進(jìn)行操作。 該存儲(chǔ)設(shè)備還可包括空塊池,用于記錄至少一個(gè)空塊的物理地址與邏輯地址的映射關(guān)系;擴(kuò)展記錄區(qū),用于記錄空塊池中未記錄的無(wú)映射關(guān)系的空塊。 其中,第二單元可包括空塊池管理模塊,當(dāng)空塊池記錄的空塊數(shù)量低于第一預(yù)設(shè)值時(shí),將擴(kuò)展記錄區(qū)中記錄的至少一空塊的信息加入到空塊池中。 第二單元還可包括空塊回收模塊,當(dāng)在擴(kuò)展記錄區(qū)中沒(méi)有空塊的信息記錄時(shí),進(jìn)行空塊回收。 另外,當(dāng)空塊池記錄的空塊數(shù)量達(dá)到第二預(yù)設(shè)值時(shí),空塊回收模塊可將回收的空塊的信息記錄到擴(kuò)展記錄區(qū)中。 根據(jù)本發(fā)明,能有效減少數(shù)據(jù)寫(xiě)入過(guò)程中的空塊回收次數(shù),從而提高數(shù)據(jù)寫(xiě)入速度。
圖1是本發(fā)明一個(gè)實(shí)施例中存儲(chǔ)設(shè)備的結(jié)構(gòu)示意 圖2是圖1中控制器的內(nèi)部結(jié)構(gòu)示意 圖3是圖2中第二單元的內(nèi)部結(jié)構(gòu)示意圖; 圖4是本發(fā)明一個(gè)實(shí)施例中存儲(chǔ)設(shè)備控制方法的流程示意 圖5是本發(fā)明的一個(gè)實(shí)施例中存儲(chǔ)設(shè)備執(zhí)行寫(xiě)操作的方法流程 圖6是本發(fā)明一個(gè)實(shí)施例中存儲(chǔ)設(shè)備執(zhí)行讀操作的方法流程圖。
具體實(shí)施例方式
圖1示出了本發(fā)明一個(gè)實(shí)施例中的存儲(chǔ)設(shè)備l,該存儲(chǔ)設(shè)備1包括控制器11和至少一個(gè)半導(dǎo)體存儲(chǔ)介質(zhì)12,還可以包括內(nèi)存13。如前所述,內(nèi)存13可以是存儲(chǔ)設(shè)備的控制器11內(nèi)部的隨機(jī)存儲(chǔ)器(如圖1所示),也可以是控制器11外部的同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。
圖2示出了圖l所示的控制器ll。該控制器ll包括第一單元lll和第二單元112,其中 第一單元111建立存儲(chǔ)設(shè)備1的部分邏輯地址與半導(dǎo)體存儲(chǔ)介質(zhì)12中的空塊的物理地址的映射關(guān)系,和將無(wú)映射關(guān)系的空塊的信息記錄在半導(dǎo)體存儲(chǔ)介質(zhì)12中。
第二單元112對(duì)無(wú)映射關(guān)系的空塊進(jìn)行操作。 在一個(gè)實(shí)施方式中,第一單元111在初始建立邏輯地址與物理地址的映射關(guān)系時(shí),是將部分邏輯地址而不是所有邏輯地址都映射至物理塊的物理地址。同時(shí),仍然將一部分無(wú)映射關(guān)系的空塊的信息記錄到空塊池,并將其余無(wú)映射關(guān)系的空塊的信息記錄到半導(dǎo)體存儲(chǔ)介質(zhì)12的一個(gè)區(qū)域(本申請(qǐng)中稱(chēng)為"擴(kuò)展記錄區(qū)")中。控制器11的第一單元111可根據(jù)實(shí)際需要設(shè)置建立物理地址與邏輯地址映射關(guān)系的空塊的數(shù)量。
例如,半導(dǎo)體存儲(chǔ)介質(zhì)12含有8192個(gè)物理塊,除去壞塊和用于記錄存儲(chǔ)設(shè)備信息的一些物理塊外,物理地址可與邏輯地址建立映射關(guān)系的物理塊假設(shè)為8100個(gè)。在使用之前,這些物理塊都是空塊??刂破?1的第一單元111僅建立邏輯地址與物理塊0 99的物理地址的映射關(guān)系。第一單元111將物理塊100 139信息記錄到空塊池,而將剩余的無(wú)映射關(guān)系的物理塊140 8099的信息記錄在半導(dǎo)體存儲(chǔ)介質(zhì)12中的擴(kuò)展記錄區(qū)中。
在另一個(gè)實(shí)施方式中,可將所有的邏輯地址都不映射至空塊的物理地址。第一單元111仍然將一部分物理地址與邏輯地址無(wú)映射關(guān)系的空塊的信息記錄到空塊池。同時(shí),將未在空塊池中記錄的無(wú)映射關(guān)系的其余所有空塊的信息都記錄在半導(dǎo)體存儲(chǔ)介質(zhì)12中的擴(kuò)展記錄區(qū)中。 例如,在上例中,由于所有的邏輯地址都未映射任何空塊的物理地址,控制器11的第一單元111仍將物理地址與邏輯地址沒(méi)有映射關(guān)系的物理塊0 39的信息記錄到空塊池。同時(shí),第一單元111將其余無(wú)映射關(guān)系的物理塊40 8099的信息都記錄在擴(kuò)展記錄區(qū)中。 在上述實(shí)施方式中,使用存儲(chǔ)設(shè)備1時(shí),第二單元112將空塊池存入存儲(chǔ)設(shè)備1的內(nèi)存13中。當(dāng)存儲(chǔ)設(shè)備1需要取空塊時(shí),從內(nèi)存13中取空塊池的至少一個(gè)空塊的信息記錄,并建立該空塊的物理地址與邏輯地址的映射關(guān)系,以及根據(jù)該映射關(guān)系對(duì)該空塊進(jìn)行寫(xiě)操作。這樣,當(dāng)空塊池中記錄的空塊不足(例如空塊池記錄的空塊數(shù)量低于一個(gè)預(yù)先設(shè)定的下限)時(shí),控制器11可以將記錄在半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中的至少一空塊的信息加入空塊池中,而不必進(jìn)行回收空塊至空塊池的操作。這樣可以改善由于回收空塊的過(guò)程中有效頁(yè)的搬遷所帶來(lái)的降低數(shù)據(jù)寫(xiě)入速度的問(wèn)題。 圖3示出了圖2所示的第二單元112。該第二單元112包括空塊池管理模塊1121、空塊回收模塊1122和地址映射模塊1123,其中 空塊池管理模塊1121可將半導(dǎo)體存儲(chǔ)介質(zhì)12中擴(kuò)展記錄區(qū)記錄的空塊的信息加入空塊池中。例如,當(dāng)空塊池記錄的空塊不足(例如空塊池記錄的空塊數(shù)量低于預(yù)設(shè)的下限(第一預(yù)設(shè)值))時(shí),空塊池管理模塊1121則將半導(dǎo)體存儲(chǔ)介質(zhì)12中擴(kuò)展記錄區(qū)記錄的空塊的信息加入空塊池中。如上所述,這樣就不必進(jìn)行回收空塊至空塊池的操作。
當(dāng)記錄于空塊池中的空塊不足,并且半導(dǎo)體存儲(chǔ)介質(zhì)12中的擴(kuò)展記錄區(qū)沒(méi)有空塊的信息記錄時(shí),空塊回收模塊1122執(zhí)行操作以回收空塊至空塊池。在一個(gè)實(shí)施例中,當(dāng)空塊池記錄的空塊數(shù)量已達(dá)到預(yù)設(shè)的上限(第二預(yù)設(shè)值)時(shí),空塊回收模塊1122可將回收的空塊的信息記錄到半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中。 地址映射單元1123用于建立空塊池記錄的空塊的物理地址與邏輯地址的映射關(guān)系,根據(jù)該映射關(guān)系形成地址映射表。存儲(chǔ)設(shè)備1則可根據(jù)該地址映射表進(jìn)行數(shù)據(jù)操作。
圖4示出了本發(fā)明一個(gè)實(shí)施例中的存儲(chǔ)設(shè)備控制方法,該方法可用于圖1所示的存儲(chǔ)設(shè)備l,具體過(guò)程如下 在步驟S401中,在建立存儲(chǔ)設(shè)備1的邏輯地址與半導(dǎo)體存儲(chǔ)介質(zhì)12中的空塊的物理地址的映射關(guān)系時(shí),僅建立部分邏輯地址與半導(dǎo)體存儲(chǔ)介質(zhì)12中的空塊的物理地址的映射關(guān)系。 在步驟S402中,記錄無(wú)映射關(guān)系的空塊的信息。
5
在步驟S403中,對(duì)無(wú)映射關(guān)系的空塊進(jìn)行操作。 在一個(gè)實(shí)施方式中,在初始建立邏輯地址與物理地址的映射關(guān)系時(shí),是將部分邏輯地址而不是全部邏輯地址都映射至物理塊的物理地址??筛鶕?jù)實(shí)際需要設(shè)置物理地址與邏輯地址建立映射關(guān)系的空塊的數(shù)量。在這種情況下,仍然將一部分無(wú)映射關(guān)系的空塊的信息記錄到空塊池,并將未記錄在空塊池中的無(wú)映射關(guān)系的空塊的信息記錄到擴(kuò)展記錄區(qū)中。 另外,可以不對(duì)任何邏輯地址建立與物理地址的映射關(guān)系,并且除了將一部分無(wú)映射關(guān)系的空塊的信息記錄到空塊池外,將其余所有無(wú)映射關(guān)系的空塊的信息(如物理地址)都記錄在擴(kuò)展記錄區(qū)中。 在上述實(shí)施方式中,在使用存儲(chǔ)設(shè)備1時(shí),將空塊池存入存儲(chǔ)設(shè)備1的內(nèi)存13中。根據(jù)存儲(chǔ)設(shè)備1寫(xiě)操作的需要,控制器11從內(nèi)存13中獲取空塊池的至少一個(gè)空塊的信息記錄,并建立該空塊的物理地址與邏輯地址的映射關(guān)系,從而根據(jù)該映射關(guān)系對(duì)空塊進(jìn)行寫(xiě)操作。 圖5示出了本發(fā)明的一個(gè)實(shí)施例中存儲(chǔ)設(shè)備1執(zhí)行寫(xiě)操作的方法流程。具體過(guò)程如下 首先,存儲(chǔ)設(shè)備1接收寫(xiě)命令,并利用控制器11判斷當(dāng)前寫(xiě)操作相應(yīng)的邏輯地址
是否映射了物理地址。若是,則進(jìn)一步判斷該物理地址對(duì)應(yīng)的物理塊剩余空間是否不足。當(dāng)
對(duì)應(yīng)的物理塊剩余空間足夠時(shí),則直接執(zhí)行寫(xiě)操作,否則,開(kāi)始執(zhí)行步驟S501 。 在步驟S501中,判斷空塊池中記錄的空塊的數(shù)量是否不足(例如,低于第一預(yù)設(shè)
值)。若是,則執(zhí)行步驟S502,否則,執(zhí)行步驟S505。例如,空塊池總共可以有100個(gè)空塊的
信息記錄,設(shè)定作為下限的第一預(yù)設(shè)值為5個(gè)。當(dāng)空塊池記錄的空塊數(shù)量少于5個(gè)時(shí)就判
斷為空塊不足。 在步驟S502中,判斷半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中是否有空塊的信息記錄。若是,則執(zhí)行步驟S503,否則,執(zhí)行步驟S504。在一個(gè)實(shí)施例中,可通過(guò)一個(gè)標(biāo)記或結(jié)構(gòu)體記錄半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中是否有空塊,該標(biāo)記或結(jié)構(gòu)體可保存在空塊池中。
在步驟S503中,空塊池管理模塊1121將擴(kuò)展記錄區(qū)中至少一空塊的信息記錄至空塊池。例如,可從半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中取出一部分空塊的信息,并將取出的信息加入空塊池。同時(shí),更新半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中的記錄,包括將這部分空塊的信息在擴(kuò)展記錄區(qū)中刪除。 在步驟S504中,空塊回收模塊1122回收空塊并將回收到的空塊的信息記錄至空塊池。在一個(gè)實(shí)施例中,當(dāng)空塊池中記錄的空塊數(shù)量低于第一預(yù)設(shè)值,并且半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中沒(méi)有空塊的信息記錄時(shí),則需回收空塊至空塊池。若要回收的已用物理塊包含了有效頁(yè),則需將有效頁(yè)中的數(shù)據(jù)搬遷到其它物理塊,再將該已用物理塊擦除成為空塊,并將該空塊的信息記錄到空塊池。在另一個(gè)實(shí)施例中,當(dāng)空塊池記錄的空塊數(shù)量已達(dá)到預(yù)設(shè)的上限(第二預(yù)設(shè)值)時(shí),則可將回收空塊的信息記錄到半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中。 在步驟S505中,從內(nèi)存13獲取空塊池的至少一個(gè)空塊的信息記錄,地址映射單元
1123建立該空塊的物理地址與邏輯地址之間的映射關(guān)系。 在步驟S506中,控制器11可根據(jù)該映射關(guān)系執(zhí)行寫(xiě)操作。
在一個(gè)實(shí)施例中,在執(zhí)行寫(xiě)操作之后,控制器11可回收半導(dǎo)體存儲(chǔ)介質(zhì)12中的無(wú)效塊。所謂無(wú)效塊,是指不包含有效頁(yè)的物理塊,該物理塊中的信息都是無(wú)效的??刂破鱨l檢查半導(dǎo)體存儲(chǔ)介質(zhì)12中是否有無(wú)效塊。若是,則將無(wú)效塊直接擦除后成為空塊,并將該空塊的信息加入到空塊池或擴(kuò)展記錄區(qū)中。 根據(jù)上述實(shí)施方式,當(dāng)寫(xiě)操作對(duì)應(yīng)的物理塊剩余空間不足以容納該次寫(xiě)操作的數(shù)據(jù)時(shí),則取空塊池中記錄的空塊來(lái)存儲(chǔ)該次寫(xiě)操作的數(shù)據(jù)。當(dāng)空塊池記錄的空塊的數(shù)量不足時(shí),無(wú)需進(jìn)行回收空塊至空塊池的操作,而是將半導(dǎo)體存儲(chǔ)介質(zhì)12的擴(kuò)展記錄區(qū)中記錄的空塊的信息記錄到空塊池中,從而有效減少空塊回收次數(shù)。 圖6示出了本發(fā)明的一個(gè)實(shí)施例中存儲(chǔ)設(shè)備1執(zhí)行讀操作的方法流程,具體過(guò)程如下 在步驟S601中,存儲(chǔ)設(shè)備1接收讀命令。 在步驟S602中,半導(dǎo)體存儲(chǔ)設(shè)備1利用控制器11判斷當(dāng)前讀命令的邏輯地址是否建立了與物理地址的映射關(guān)系,若是,則執(zhí)行步驟S604,否則,執(zhí)行步驟S603。
在步驟S603中,存儲(chǔ)設(shè)備1返回全0數(shù)據(jù)。 在步驟S604中,控制器11判斷當(dāng)前邏輯地址是否寫(xiě)過(guò)數(shù)據(jù),若是,則執(zhí)行步驟S605,否則,執(zhí)行步驟S603。 在步驟S605中,讀取物理塊中的相應(yīng)數(shù)據(jù),并將數(shù)據(jù)返回。 在存儲(chǔ)設(shè)備1執(zhí)行讀操作時(shí),當(dāng)前讀命令的邏輯地址未映射物理地址時(shí),即當(dāng)前
的邏輯地址沒(méi)有對(duì)應(yīng)的物理塊,此時(shí)無(wú)需再讀半導(dǎo)體存儲(chǔ)介質(zhì)12,也無(wú)需判斷半導(dǎo)體存儲(chǔ)
介質(zhì)12中是否有數(shù)據(jù),而直接返回全O數(shù)據(jù),從一定程度上提高了讀取速度。 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精
神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
存儲(chǔ)設(shè)備的控制方法,所述存儲(chǔ)設(shè)備包括半導(dǎo)體存儲(chǔ)介質(zhì),所述方法包括建立部分邏輯地址與半導(dǎo)體存儲(chǔ)介質(zhì)中空塊的物理地址的映射關(guān)系;記錄無(wú)所述映射關(guān)系的空塊的信息;和對(duì)無(wú)所述映射關(guān)系的空塊進(jìn)行操作。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述存儲(chǔ)設(shè)備設(shè)有空塊池,用于記錄無(wú)所述映射關(guān)系的至少部分空塊的信息,禾口擴(kuò)展記錄區(qū),用于記錄所述空塊池中未記錄的無(wú)所述映射關(guān)系的空塊。
3. 根據(jù)權(quán)利要求2所述的方法,其中對(duì)無(wú)所述映射關(guān)系的空塊進(jìn)行操作的步驟包括當(dāng)在所述空塊池記錄的空塊數(shù)量低于第一預(yù)設(shè)值時(shí),將所述擴(kuò)展記錄區(qū)記錄的至少一空塊的信息記錄到所述空塊池中。
4. 根據(jù)權(quán)利要求3所述的方法,還包括當(dāng)所述擴(kuò)展記錄區(qū)沒(méi)有空塊的信息記錄時(shí),進(jìn)行空塊回收。
5. 根據(jù)權(quán)利要求4所述的方法,還包括當(dāng)所述空塊池記錄的空塊數(shù)量達(dá)到第二預(yù)設(shè)值時(shí),將回收的空塊的信息記錄到所述擴(kuò)展記錄區(qū)中。
6. 根據(jù)權(quán)利要求l-5任一項(xiàng)所述的方法,還包括當(dāng)要進(jìn)行讀操作的邏輯地址未建立與物理地址的映射關(guān)系時(shí),返回全0數(shù)據(jù)。
7. 存儲(chǔ)設(shè)備,包括控制器和半導(dǎo)體存儲(chǔ)介質(zhì),所述控制器包括第一單元,建立部分邏輯地址與半導(dǎo)體存儲(chǔ)介質(zhì)中空塊的物理地址的映射關(guān)系,和將無(wú)所述映射關(guān)系的空塊的信息記錄在半導(dǎo)體存儲(chǔ)介質(zhì)中;第二單元,對(duì)無(wú)所述映射關(guān)系的空塊進(jìn)行操作。
8. 根據(jù)權(quán)利要求7所述的存儲(chǔ)設(shè)備,還包括空塊池,用于記錄至少一個(gè)空塊的物理地址與邏輯地址的映射關(guān)系;擴(kuò)展記錄區(qū),用于記錄所述空塊池中未記錄的無(wú)所述映射關(guān)系的空塊。
9. 根據(jù)權(quán)利要求8所述的存儲(chǔ)設(shè)備,其中所述第二單元包括空塊池管理模塊,當(dāng)空塊池記錄的空塊數(shù)量低于第一預(yù)設(shè)值時(shí),將所述擴(kuò)展記錄區(qū)中記錄的至少一空塊的信息加入到所述空塊池中。
10. 根據(jù)權(quán)利要求9所述的存儲(chǔ)設(shè)備,其中所述第二單元還包括空塊回收模塊,當(dāng)在所述擴(kuò)展記錄區(qū)中沒(méi)有空塊的信息記錄時(shí),進(jìn)行空塊回收。
11. 根據(jù)權(quán)利要求io所述的存儲(chǔ)設(shè)備,其中,當(dāng)所述空塊池記錄的空塊數(shù)量達(dá)到第二預(yù)設(shè)值時(shí),所述空塊回收模塊將回收的空塊的信息記錄到所述擴(kuò)展記錄區(qū)中。
全文摘要
本發(fā)明提供了一種存儲(chǔ)設(shè)備的控制方法及存儲(chǔ)設(shè)備。存儲(chǔ)設(shè)備包括半導(dǎo)體存儲(chǔ)介質(zhì),該方法包括建立部分邏輯地址與半導(dǎo)體存儲(chǔ)介質(zhì)中空塊的物理地址的映射關(guān)系;記錄無(wú)所述映射關(guān)系的空塊的信息;和對(duì)無(wú)所述映射關(guān)系的空塊進(jìn)行操作。采用本發(fā)明提供的存儲(chǔ)設(shè)備及其控制方法,能有效減少數(shù)據(jù)寫(xiě)入過(guò)程中的空塊回收次數(shù),從而提高數(shù)據(jù)寫(xiě)入速度。
文檔編號(hào)G06F12/06GK101770425SQ200810187399
公開(kāi)日2010年7月7日 申請(qǐng)日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者盧賽文 申請(qǐng)人:深圳市朗科科技股份有限公司