4中提取一個(gè)空的實(shí)體抹除單元作為目前使用或作動(dòng)(active)實(shí)體抹除單元來(lái)寫(xiě)入數(shù)據(jù)。并且,當(dāng)此作動(dòng)實(shí)體抹除單元已被寫(xiě)滿(mǎn)時(shí),存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)再?gòu)拈e置區(qū)504中提取另一個(gè)空的實(shí)體抹除單元作為作動(dòng)實(shí)體抹除單元,以繼續(xù)寫(xiě)入對(duì)應(yīng)來(lái)自于主機(jī)系統(tǒng)1000的寫(xiě)入指令的隨機(jī)數(shù)據(jù)。特別是,為了避免閑置區(qū)504的實(shí)體抹除單元被耗盡,當(dāng)閑置區(qū)504的實(shí)體抹除單元的數(shù)目下降到所設(shè)定的無(wú)用信號(hào)回收門(mén)檻值時(shí),存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)執(zhí)行數(shù)據(jù)合并程序,以使數(shù)據(jù)區(qū)502的至少一個(gè)實(shí)體抹除單元中的數(shù)據(jù)成為無(wú)效數(shù)據(jù),并且之后將數(shù)據(jù)區(qū)502中所存儲(chǔ)的數(shù)據(jù)皆為無(wú)效數(shù)據(jù)的實(shí)體抹除單元關(guān)聯(lián)回閑置區(qū)504。例如,在執(zhí)行數(shù)據(jù)合并程序時(shí),存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)至少需使用一個(gè)空的實(shí)體抹除單元,因此,無(wú)用信號(hào)回收門(mén)檻值至少會(huì)被設(shè)定大于最低門(mén)檻值(即,I)。
[0123]圖8是根據(jù)本發(fā)明范例實(shí)施例示出邏輯地址轉(zhuǎn)實(shí)體程序化單元映射表的范例。
[0124]請(qǐng)參照?qǐng)D8,邏輯地址轉(zhuǎn)實(shí)體地址映射表800包括邏輯頁(yè)面字段802以及實(shí)體程序化單元字段804。邏輯頁(yè)面字段802記錄所配置的每個(gè)邏輯頁(yè)面的編號(hào)并且實(shí)體程序化單元字段804記錄每個(gè)邏輯頁(yè)面映射的實(shí)體程序化單元。例如,在存儲(chǔ)器存儲(chǔ)裝置100為全新且未曾被用來(lái)存儲(chǔ)數(shù)據(jù)的狀態(tài)下,實(shí)體抹除單元410(F)?410(S-1)會(huì)被關(guān)聯(lián)至閑置區(qū)504,并且在邏輯地址轉(zhuǎn)實(shí)體地址映射表800中記錄對(duì)應(yīng)每一個(gè)邏輯頁(yè)面所映射的實(shí)體程序單元的字段會(huì)被標(biāo)記為空值(例如,NULL)。
[0125]圖9是根據(jù)一范例實(shí)施例所示出的實(shí)體程序化單元的排列順序的示意圖。在此,以實(shí)體抹除單元410(0)為例進(jìn)行說(shuō)明,其他實(shí)體抹除單元的結(jié)構(gòu)也可以此類(lèi)推。
[0126]請(qǐng)參照?qǐng)D9,實(shí)體抹除單元410 (O)包括實(shí)體程序化單元PBA (0-0)?PBA(O-K)。例如,在本范例實(shí)施例中,K為整數(shù)。例如,K為255。實(shí)體程序化單元PBA(0-0)與實(shí)體程序化單元PBA(0-2)是由字線W(O)上的存儲(chǔ)單元所構(gòu)成;實(shí)體程序化單元PBA(0-1)與實(shí)體程序化單元PBA(0-4)是由字線W(I)上的存儲(chǔ)單元所構(gòu)成;實(shí)體程序化單元PBA(0-3)與實(shí)體程序化單元PBA(0-6)是由字線W(2)上的存儲(chǔ)單元所構(gòu)成;實(shí)體程序化單元PBA(0-5)與實(shí)體程序化單元PBA(0-8)是由字線W(3)上的存儲(chǔ)單元所構(gòu)成;并且以此類(lèi)推,實(shí)體程序化單元PBA(0-(K-4))與實(shí)體程序化單元PBA(O-(K-1))是由字線W(L-1)上的存儲(chǔ)單元所構(gòu)成且實(shí)體程序化單元PBA(O-(K-2))與實(shí)體程序化單元PBA(O-K)是由字線W(L)上的存儲(chǔ)單元所構(gòu)成。在此,實(shí)體程序化單元 PBA (0-0)、PBA (0-1)、PBA (0-3)、PBA (0-5)、…、PBA (O- (K_4))、PBA(O-(K-2))為下實(shí)體程序化單元,而實(shí)體程序化單元PBA(0-2)、PAB(0-4)、PBA(0-6)、PBA (0-8)、…、PBA (O-(K-1) )、PBA (O-K)為上實(shí)體程序化單元。
[0127]在本范例實(shí)施例中,當(dāng)欲將數(shù)據(jù)寫(xiě)入至實(shí)體程序化單元時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)判斷可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)。倘若可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)為預(yù)設(shè)狀態(tài)時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)以第一寫(xiě)入模式來(lái)將此數(shù)據(jù)寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106 ;并且倘若可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)非為預(yù)設(shè)狀態(tài)時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)以第二寫(xiě)入模式來(lái)將此數(shù)據(jù)寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106。
[0128]在本范例實(shí)施例中,在第一寫(xiě)入模式中,存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)使用下實(shí)體程序化單元來(lái)存儲(chǔ)主機(jī)系統(tǒng)1000欲寫(xiě)入的數(shù)據(jù),而不使用上實(shí)體程序化單元來(lái)存儲(chǔ)數(shù)據(jù)。而在第二寫(xiě)入模式中,存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)使用下實(shí)體程序化單元與上實(shí)體程序化單元來(lái)存儲(chǔ)主機(jī)系統(tǒng)1000欲寫(xiě)入的數(shù)據(jù)。也就是說(shuō),在第二寫(xiě)入模式中,可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的下實(shí)體程序化單元與上實(shí)體程序化單元都會(huì)被選擇來(lái)存儲(chǔ)數(shù)據(jù),而在第一寫(xiě)入模式中僅下實(shí)體程序化單元會(huì)被選擇來(lái)存儲(chǔ)數(shù)據(jù)。因此,第一寫(xiě)入模式的寫(xiě)入速度會(huì)高于在第二寫(xiě)入模式的寫(xiě)入速度。
[0129]在本范例實(shí)施例中,存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)判斷在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106中存儲(chǔ)有效數(shù)據(jù)的實(shí)體程序化單元的數(shù)目是否小于第一門(mén)檻值。倘若在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106中存儲(chǔ)有效數(shù)據(jù)的實(shí)體程序化單元的數(shù)目小于第一門(mén)檻值時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)識(shí)別可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)為預(yù)設(shè)狀態(tài);并且倘若在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106中存儲(chǔ)有效數(shù)據(jù)的實(shí)體程序化單元的數(shù)目非小于第一門(mén)檻值時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)識(shí)別可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)非為預(yù)設(shè)狀態(tài)。在此,第一門(mén)檻值可被設(shè)定為所有實(shí)體程序化單元的數(shù)目乘以一預(yù)定比例。例如,此預(yù)定比例可以是50%,但本范例實(shí)施例不限于此。
[0130]在本范例實(shí)施例中,存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)根據(jù)邏輯地址轉(zhuǎn)實(shí)體地址映射表中的信息來(lái)判斷在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106中存儲(chǔ)有效數(shù)據(jù)的實(shí)體程序化單元的數(shù)目是否小于第一門(mén)檻值。具體來(lái)說(shuō),當(dāng)一個(gè)實(shí)體程序化單元被寫(xiě)入屬于一個(gè)邏輯頁(yè)面的有效數(shù)據(jù)時(shí),在邏輯地址轉(zhuǎn)實(shí)體地址映射表中此邏輯頁(yè)面會(huì)被映射至此實(shí)體程序化單元?;?,存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)可通過(guò)計(jì)算被記錄在邏輯地址轉(zhuǎn)實(shí)體地址映射表中的實(shí)體程序化單元的數(shù)目來(lái)獲取存儲(chǔ)有效數(shù)據(jù)的實(shí)體程序化單元的數(shù)目。
[0131]值得一提的是,除了上述就由比較在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106中存儲(chǔ)有效數(shù)據(jù)的實(shí)體程序化單元的數(shù)目與第一門(mén)檻值來(lái)識(shí)別可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)是否為預(yù)設(shè)狀態(tài)之外,在本發(fā)明另一范例實(shí)施例中,存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)也可根據(jù)閑置區(qū)504中的實(shí)體抹除單元的數(shù)目來(lái)識(shí)別可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)是否為預(yù)設(shè)狀態(tài)。具體來(lái)說(shuō),倘若閑置區(qū)504中的實(shí)體抹除單元的數(shù)目小于第二門(mén)檻值時(shí),存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)識(shí)別可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)非為預(yù)設(shè)狀態(tài);并且倘若閑置區(qū)504中的實(shí)體抹除單元的數(shù)目非小于第二門(mén)檻值時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)識(shí)別可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)為預(yù)設(shè)狀態(tài)。例如,第二門(mén)檻值可被設(shè)定為8,但本范例實(shí)施例不限于此。
[0132]圖10?圖12是根據(jù)本發(fā)明范例實(shí)施例所示出當(dāng)在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)為預(yù)設(shè)狀態(tài)下進(jìn)行寫(xiě)入操作的一范例。
[0133]請(qǐng)參照?qǐng)D10,倘若在圖9所示的狀態(tài)下主機(jī)系統(tǒng)1000欲寫(xiě)入數(shù)據(jù)Dl至邏輯頁(yè)面LBA(I)時(shí),存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)從閑置區(qū)504選擇一個(gè)實(shí)體抹除單元(例如,實(shí)體抹除單元410(0))并且將主機(jī)系統(tǒng)1000欲寫(xiě)入的數(shù)據(jù)Dl寫(xiě)入至實(shí)體程序化單元PBA(0-0)。在完成數(shù)據(jù)的寫(xiě)入后,存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)在邏輯地址轉(zhuǎn)實(shí)體地址映射表800中將邏輯頁(yè)面LBA (I)映射至實(shí)體程序化單元 PBA (0-0)。
[0134]請(qǐng)參照?qǐng)D11,倘若在圖10的狀態(tài)下主機(jī)系統(tǒng)1000欲寫(xiě)入數(shù)據(jù)D2至邏輯頁(yè)面LBA (129)時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)將主機(jī)系統(tǒng)1000欲寫(xiě)入的數(shù)據(jù)D2寫(xiě)入至實(shí)體程序化單元PBA (0-1)中。此時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)在邏輯地址轉(zhuǎn)實(shí)體地址映射表800中將邏輯頁(yè)面LBA (129)映射至實(shí)體程序化單元PBA(O-1)。
[0135]請(qǐng)參照?qǐng)D12,倘若在圖11的狀態(tài)下主機(jī)系統(tǒng)1000欲寫(xiě)入數(shù)據(jù)D3至邏輯頁(yè)面LBA(I)時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)將主機(jī)系統(tǒng)1000欲寫(xiě)入的數(shù)據(jù)D3寫(xiě)入至實(shí)體程序化單元PBA (0-3)中。此時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)在邏輯地址轉(zhuǎn)實(shí)體地址映射表800中將邏輯頁(yè)面LBA (I)映射至實(shí)體程序化單元 PBA (0-3)。
[0136]在圖10?12的寫(xiě)入操作中,由于復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)為預(yù)設(shè)狀態(tài),因此,存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)是選擇下實(shí)體程序化單元(即,實(shí)體程序化單元PBA (0-0)、實(shí)體程序化單元PBA (0-1)、實(shí)體程序化單元PBA (0-3))來(lái)寫(xiě)入數(shù)據(jù),而不會(huì)使用上實(shí)體程序化單元(即,第一寫(xiě)入模式)。
[0137]圖13?圖15是根據(jù)本發(fā)明范例實(shí)施例所示出當(dāng)在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)非為預(yù)設(shè)狀態(tài)下進(jìn)行寫(xiě)入操作的一范例。
[0138]請(qǐng)參照?qǐng)D13,倘若在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)非為預(yù)設(shè)狀態(tài)下主機(jī)系統(tǒng)1000欲寫(xiě)入數(shù)據(jù)D4至邏輯頁(yè)面LBA(I)時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)從閑置區(qū)504選擇一個(gè)實(shí)體抹除單元(例如,實(shí)體抹除單元410 (D))并且將主機(jī)系統(tǒng)1000欲寫(xiě)入的數(shù)據(jù)D4寫(xiě)入至實(shí)體程序化單元PBA(D-O)。在完成數(shù)據(jù)的寫(xiě)入后,存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)在邏輯頁(yè)面-實(shí)體地址映射表800中將邏輯頁(yè)面LBA(I)映射至實(shí)體程序化單元PBA (D-O)。
[0139]請(qǐng)參照?qǐng)D14,倘若在圖13的狀態(tài)下主機(jī)系統(tǒng)1000欲寫(xiě)入數(shù)據(jù)D5至邏輯頁(yè)面LBA (129)時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)將主機(jī)系統(tǒng)1000欲寫(xiě)入的數(shù)據(jù)D5寫(xiě)入至實(shí)體程序化單元PBA(D-1)中。此時(shí),存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)在邏輯頁(yè)面-實(shí)體地址映射表800中將邏輯頁(yè)面LBA(129)映射至實(shí)體程序化單元PBA(D-1)。
[0140]請(qǐng)參照?qǐng)D15,倘若在圖14的狀態(tài)下主機(jī)系統(tǒng)1000欲寫(xiě)入數(shù)據(jù)D6至邏輯頁(yè)面LBA(I)時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)將主機(jī)系統(tǒng)1000欲寫(xiě)入的數(shù)據(jù)D6寫(xiě)入至實(shí)體程序化單元PBA (D-2)中。此時(shí),存儲(chǔ)器控制電路單元104 (或存儲(chǔ)器管理電路202)會(huì)在邏輯頁(yè)面-實(shí)體地址映射表800中將邏輯頁(yè)面LBA(I)映射至實(shí)體程序化單元 PBA (D-2)。
[0141]在圖13?15的寫(xiě)入操作中,由于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106的存儲(chǔ)狀態(tài)為非預(yù)設(shè)狀態(tài),因此,下實(shí)體程序化單元與上實(shí)體程序化單元(即,實(shí)體程序化單元PBA(D-O)、實(shí)體程序化單元PBA(D-1)、實(shí)體程序化單元PBA(D-2))會(huì)被用來(lái)寫(xiě)入數(shù)據(jù)(即,第二寫(xiě)入模式)。
[0142]在本范例實(shí)施例中,在從主機(jī)系統(tǒng)1000接收到寫(xiě)入指令與欲寫(xiě)入的數(shù)據(jù)時(shí),存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)將此寫(xiě)入指令與寫(xiě)入數(shù)據(jù)暫存于緩沖存儲(chǔ)器208,并且回復(fù)主機(jī)系統(tǒng)1000已完成此寫(xiě)入指令。之后,存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)在適當(dāng)時(shí)機(jī)處理此寫(xiě)入指令,由此提升存儲(chǔ)器存儲(chǔ)裝置100的效能。例如,由此緩沖存儲(chǔ)器208是揮發(fā)性存儲(chǔ)器,為了避免異常斷電而遺失數(shù)據(jù),當(dāng)持續(xù)一預(yù)定時(shí)間未從主機(jī)系統(tǒng)1000接收到指令或數(shù)據(jù)時(shí),存儲(chǔ)器控制電路單元104(或存儲(chǔ)器管理電路202)會(huì)以一背景執(zhí)行模式執(zhí)行清空(flush)操作以將暫存于緩沖存儲(chǔ)器208中的數(shù)據(jù)寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊106。具體來(lái)說(shuō),當(dāng)存儲(chǔ)器存儲(chǔ)裝置100接收到來(lái)自主機(jī)系統(tǒng)1000的指令時(shí),存儲(chǔ)器控制電路