專利名稱::數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種數(shù)據(jù)寫入方法,且特別是有關(guān)于用于可復(fù)寫式非易失性存儲器模組的數(shù)據(jù)寫入方法及使用此方法的存儲器控制器與存儲器儲存裝置。
背景技術(shù):
:數(shù)碼相機(jī)、手機(jī)與MP3在這幾年來的成長十分迅速,使得消費(fèi)者對儲存媒體的需求也急速增加。由于可復(fù)寫式非易失性存儲器(rewritablenon-volatilememory)具有數(shù)據(jù)非易失性、省電、體積小、無機(jī)械結(jié)構(gòu)、讀寫速度快等特性,最適于可攜式電子產(chǎn)品,例如筆記本式計算機(jī)。固態(tài)硬盤就是一種以閃速存儲器作為儲存媒體的儲存裝置。因此,近年閃速存儲器產(chǎn)業(yè)成為電子產(chǎn)業(yè)中相當(dāng)熱門的一環(huán)。閃速存儲器儲存系統(tǒng)具有多個實(shí)體區(qū)塊(physicalblock),且每一實(shí)體區(qū)塊具有多個實(shí)體頁面(physicalpage),其中在實(shí)體區(qū)塊中寫入數(shù)據(jù)時必須依據(jù)實(shí)體頁面的順序依序地寫入數(shù)據(jù)。此外,已被寫入數(shù)據(jù)的實(shí)體頁面必需先被抹除后才能再次用于寫入數(shù)據(jù)。特別是,實(shí)體區(qū)塊為抹除的最小單位,并且實(shí)體頁面為編程(亦稱寫入)的最小單元。因此,在閃速存儲器儲存系統(tǒng)的管理中,實(shí)體區(qū)塊會被區(qū)分為數(shù)據(jù)區(qū)與閑置區(qū)。數(shù)據(jù)區(qū)的實(shí)體區(qū)塊是用以儲存主機(jī)系統(tǒng)所儲存的數(shù)據(jù)。具體來說,控制電路會將主機(jī)系統(tǒng)所存取的邏輯存取地址轉(zhuǎn)換為邏輯區(qū)塊的邏輯頁面并且將邏輯區(qū)塊的邏輯頁面映射至數(shù)據(jù)區(qū)的實(shí)體區(qū)塊的實(shí)體頁面。也就是說,閃速存儲器模組的管理上數(shù)據(jù)區(qū)的實(shí)體區(qū)塊是被視為已被使用的實(shí)體區(qū)塊(例如,已儲存主機(jī)系統(tǒng)所寫入的數(shù)據(jù))。例如,控制電路會使用邏輯區(qū)塊-實(shí)體區(qū)塊映射表來記載邏輯區(qū)塊與數(shù)據(jù)區(qū)的實(shí)體區(qū)塊的映射關(guān)系,其中邏輯區(qū)塊中的邏輯頁面是依序的對應(yīng)所映射的實(shí)體區(qū)塊的實(shí)體頁面。閑置區(qū)的實(shí)體區(qū)塊是用以輪替數(shù)據(jù)區(qū)中的實(shí)體區(qū)塊。具體來說,如上所述,已寫入數(shù)據(jù)的實(shí)體區(qū)塊必須被抹除后才可再次用于寫入數(shù)據(jù),而閑置區(qū)的實(shí)體區(qū)塊是被設(shè)計用于寫入更新數(shù)據(jù)以替換原先映射邏輯區(qū)塊的實(shí)體區(qū)塊?;?,在閑置區(qū)中的實(shí)體區(qū)塊為空或可使用的區(qū)塊,即無記錄數(shù)據(jù)或標(biāo)記為已沒用的無效數(shù)據(jù)。由數(shù)據(jù)區(qū)的實(shí)體區(qū)塊與閑置區(qū)的實(shí)體區(qū)塊是以輪替方式來以儲存主機(jī)系統(tǒng)所寫入的數(shù)據(jù)。為了讓主機(jī)系統(tǒng)能夠順利地存取以輪替方式儲存數(shù)據(jù)的實(shí)體區(qū)塊,閃速存儲器儲存系統(tǒng)會提供邏輯區(qū)塊并且將主機(jī)系統(tǒng)所存取的邏輯存取地址對應(yīng)至此些邏輯區(qū)塊內(nèi)的邏輯頁面。具體來說,閃速存儲器儲存系統(tǒng)會將主機(jī)所存取的邏輯存取地址轉(zhuǎn)換至對應(yīng)的邏輯區(qū)塊,并且通過在邏輯區(qū)塊-實(shí)體區(qū)塊映射表(logicalblock-physicalblockmappingtable)中記錄與更新邏輯區(qū)塊與數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之間的映射關(guān)系來反映實(shí)體區(qū)塊的輪替。所以,主機(jī)僅需依據(jù)邏輯存取地址進(jìn)行存取,而閃速存儲器儲存系統(tǒng)會依據(jù)邏輯區(qū)塊-實(shí)體區(qū)塊映射表在所映射的實(shí)體區(qū)塊上進(jìn)行數(shù)據(jù)的讀取或?qū)懭?。具體來說,當(dāng)主機(jī)系統(tǒng)欲將數(shù)據(jù)儲存于一邏輯存取地址時,閃速存儲器儲存系統(tǒng)的控制電路會識別此邏輯存取地址所屬的邏輯區(qū)塊,從閑置區(qū)中提取一實(shí)體區(qū)塊并且將新數(shù)據(jù)寫入至從閑置區(qū)中提取的實(shí)體區(qū)塊(亦稱為子實(shí)體區(qū)塊或替換實(shí)體區(qū)塊),以替換原先映射此邏輯區(qū)塊的實(shí)體區(qū)塊(亦稱為母實(shí)體區(qū)塊)。在此,一個邏輯區(qū)塊映射母實(shí)體區(qū)塊和子實(shí)體區(qū)塊的運(yùn)作稱為開啟母子區(qū)塊運(yùn)作,并且映射同一個邏輯區(qū)塊的母實(shí)體區(qū)塊與子實(shí)體區(qū)塊稱為母子區(qū)塊組。一般來說,由于閑置區(qū)的實(shí)體區(qū)塊是有限的,因此在閃速存儲器儲存系統(tǒng)中,母子區(qū)塊組的數(shù)目是會受到限制。例如,在閃速存儲器儲存系統(tǒng)中,同時僅允許運(yùn)作3組母子區(qū)塊組。之后,當(dāng)主機(jī)系統(tǒng)欲寫入數(shù)據(jù)至非處于開啟母子區(qū)塊運(yùn)作的狀態(tài)的另一個邏輯區(qū)塊時,閃速存儲器儲存系統(tǒng)必須進(jìn)行數(shù)據(jù)合并程序,以將映射某一個邏輯區(qū)塊的母子區(qū)塊組的有效數(shù)據(jù)合并(即,將屬于此邏輯區(qū)塊的數(shù)據(jù)都合并至一個實(shí)體區(qū)塊中)。隨著一個邏輯區(qū)塊的容量越來越大并且主機(jī)系統(tǒng)頻繁地僅更新一個邏輯區(qū)塊內(nèi)部分邏輯頁面的數(shù)據(jù)時,閃速存儲器儲存系統(tǒng)必須花費(fèi)很長的時間來進(jìn)行上述數(shù)據(jù)合并程序以執(zhí)行下一個寫入指令,因此,會造成延遲執(zhí)行寫入指令的時間并且閃速存儲器儲存系統(tǒng)的效能低落。因此,如何有效地寫入數(shù)據(jù)以縮短執(zhí)行寫入指令所需的時間,是此領(lǐng)域技術(shù)人員所致力的目標(biāo)。
發(fā)明內(nèi)容本發(fā)明提供一種數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置,其能夠有效地縮短執(zhí)行寫入指令的時間。基此,本發(fā)明一范例實(shí)施例提出一種數(shù)據(jù)寫入方法,用于一可復(fù)寫式非易失性存儲器模組,其中此可復(fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊,每一實(shí)體區(qū)塊具有多個實(shí)體頁面,此些實(shí)體區(qū)塊至少被分組為一數(shù)據(jù)區(qū)與一閑置區(qū),多個邏輯區(qū)塊被配置以映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊,每一邏輯區(qū)塊具有多個邏輯頁面,多個實(shí)體區(qū)塊分別地從該閑置區(qū)中被提取作為對應(yīng)數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊。本數(shù)據(jù)寫入方法包括從閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊。本數(shù)據(jù)寫入方法也包括從主機(jī)系統(tǒng)中接收寫入指令與對應(yīng)此寫入指令的更新數(shù)據(jù),其中此寫入指令指示從上述邏輯頁面之中的第一邏輯頁面開始寫入此更新數(shù)據(jù),此第一邏輯頁面屬于上述邏輯區(qū)塊之中的第一邏輯區(qū)塊,并且第一邏輯區(qū)塊映射上述已更新實(shí)體區(qū)塊之中的第一已更新實(shí)體區(qū)塊。本數(shù)據(jù)寫入方法還包括判斷此些替換實(shí)體區(qū)塊之中對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊是否存有屬于第一邏輯頁面的數(shù)據(jù)。本數(shù)據(jù)寫入方法還包括,當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊存有屬于第一邏輯頁面的數(shù)據(jù)時,將備用實(shí)體區(qū)塊獨(dú)立地指派給第一已更新實(shí)體區(qū)塊并且將此更新數(shù)據(jù)寫入至備用實(shí)體區(qū)塊中,其中此備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)寫入方法還包括,當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊未存有屬于第一邏輯頁面的數(shù)據(jù)時,將此更新數(shù)據(jù)寫入至對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)寫入方法還包括從閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)第一已更新實(shí)體區(qū)塊的暫存實(shí)體區(qū)塊;以及將屬于第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至?xí)捍鎸?shí)體區(qū)塊中。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)寫入方法還包括在將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中之后,執(zhí)行下述步驟,其中此些步驟包括將第一邏輯區(qū)塊重新映射至備用實(shí)體區(qū)塊以將備用實(shí)體區(qū)塊關(guān)聯(lián)至數(shù)據(jù)區(qū);對第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作;并且將抹除后的第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊關(guān)聯(lián)至閑置區(qū)。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)寫入方法還包括,當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊存有屬于第一邏輯頁面的數(shù)據(jù)時,執(zhí)行下述步驟,其中此些步驟包括從第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊中復(fù)制屬于第一邏輯區(qū)塊的有效數(shù)據(jù)至備用實(shí)體區(qū)塊;將第一邏輯區(qū)塊重新映射至備用實(shí)體區(qū)塊以將備用實(shí)體區(qū)塊關(guān)聯(lián)至數(shù)據(jù)區(qū);對第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作;并且將抹除后的第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊關(guān)聯(lián)至閑置區(qū)。本發(fā)明另一范例實(shí)施例,提出一種數(shù)據(jù)寫入方法,用于可復(fù)寫式非易失性存儲器模組,其中此可復(fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊,每一實(shí)體區(qū)塊具有多個實(shí)體頁面,此些實(shí)體區(qū)塊至少被分組為數(shù)據(jù)區(qū)與閑置區(qū),多個邏輯區(qū)塊被配置以映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊,每一邏輯區(qū)塊具有多個邏輯頁面,多個實(shí)體區(qū)塊分別地從閑置區(qū)中被提取作為對應(yīng)數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊。本數(shù)據(jù)寫入方法包括從閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊。本數(shù)據(jù)寫入方法也包括從主機(jī)系統(tǒng)中接收寫入指令與對應(yīng)此寫入指令的更新數(shù)據(jù),其中此寫入指令指示從上述邏輯頁面之中的第一邏輯頁面開始寫入此更新數(shù)據(jù),此第一邏輯頁面屬于上述邏輯區(qū)塊之中的第一邏輯區(qū)塊,并且第一邏輯區(qū)塊映射上述已更新實(shí)體區(qū)塊之中的第一已更新實(shí)體區(qū)塊。本數(shù)據(jù)寫入方法還包括判斷第一邏輯頁面是否為第一邏輯區(qū)塊的起始邏輯頁面,并且當(dāng)該第一邏輯頁面為該第一邏輯區(qū)塊的該起始邏輯頁面時,還判斷更新數(shù)據(jù)的大小是否等于一個實(shí)體區(qū)塊容量。本數(shù)據(jù)寫入方法還包括,當(dāng)更新數(shù)據(jù)的大小等于一個實(shí)體區(qū)塊容量時,將備用實(shí)體區(qū)塊獨(dú)立地指派給第一已更新實(shí)體區(qū)塊并且將更新數(shù)據(jù)寫入至備用實(shí)體區(qū)塊中,其中備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)寫入方法還包括,當(dāng)更新數(shù)據(jù)的大小非等于一個實(shí)體區(qū)塊容量時,對第一已更新實(shí)體區(qū)塊執(zhí)行一數(shù)據(jù)合并程序并且從閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入更新數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)寫入方法還包括,當(dāng)該第一邏輯頁面非為該第一邏輯區(qū)塊的該起始邏輯頁面,判斷在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面是否存有數(shù)據(jù)。上述數(shù)據(jù)寫入方法還包括,當(dāng)在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面未存有數(shù)據(jù)時,將此更新數(shù)據(jù)寫入至對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中;以及當(dāng)在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面存有數(shù)據(jù)時,對第一已更新實(shí)體區(qū)塊執(zhí)行一數(shù)據(jù)合并程序并且從閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入更新數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)寫入方法還包括從閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)第一已更新實(shí)體區(qū)塊的暫存實(shí)體區(qū)塊;以及將屬于第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至此暫存實(shí)體區(qū)塊中。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)寫入方法還包括在將備用實(shí)體區(qū)塊獨(dú)立地指派給第一已更新實(shí)體區(qū)塊并且將此更新數(shù)據(jù)寫入至備用實(shí)體區(qū)塊中之后,執(zhí)行下述步驟,其中此些步驟包括將第一邏輯區(qū)塊重新映射至備用實(shí)體區(qū)塊以將備用實(shí)體區(qū)塊關(guān)聯(lián)至數(shù)據(jù)區(qū);以及對第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作并且將抹除后的第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊關(guān)聯(lián)至閑置區(qū)。本發(fā)明另一范例實(shí)施例提出一種存儲器控制器,用于控制可復(fù)寫式非易失性存儲器模組,其中此可復(fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊,并且每一實(shí)體區(qū)塊具有多個實(shí)體頁面。本存儲器控制器包括主機(jī)接口、存儲器接口與存儲器管理電路。主機(jī)接口用以電性連接至主機(jī)系統(tǒng)。存儲器接口用以電性連接至可復(fù)寫式非易失性存儲器模組。存儲器管理電路電性連接至主機(jī)接口與存儲器接口,并且用以將此些實(shí)體區(qū)塊至少分組為數(shù)據(jù)區(qū)與閑置區(qū)。在此,存儲器管理電路配置多個邏輯區(qū)塊以映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊,且每一邏輯區(qū)塊具有多個邏輯頁面。此外,存儲器管理電路分別地從閑置區(qū)中提取多個實(shí)體區(qū)塊作為對應(yīng)數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,并且從閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于此些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊。另外,存儲器管理電路從主機(jī)系統(tǒng)中接收寫入指令與對應(yīng)此寫入指令的更新數(shù)據(jù),其中此寫入指令指示從此些邏輯頁面之中的第一邏輯頁面開始寫入此更新數(shù)據(jù),第一邏輯頁面屬于此些邏輯區(qū)塊之中的第一邏輯區(qū)塊,第一邏輯區(qū)塊映射此些已更新實(shí)體區(qū)塊之中的第一已更新實(shí)體區(qū)塊。再者,存儲器管理電路判斷此些替換實(shí)體區(qū)塊之中對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊是否存有屬于第一邏輯頁面的數(shù)據(jù)。當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊存有屬于第一邏輯頁面的數(shù)據(jù)時,存儲器管理電路將備用實(shí)體區(qū)塊獨(dú)立地指派給第一已更新實(shí)體區(qū)塊并且將此更新數(shù)據(jù)寫入至此備用實(shí)體區(qū)塊中,其中此備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊未存有屬于第一邏輯頁面的數(shù)據(jù)時,上述的存儲器管理電路將此更新數(shù)據(jù)寫入至對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中。在本發(fā)明的一實(shí)施例中,上述的存儲器管理電路從閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)第一已更新實(shí)體區(qū)塊的一暫存實(shí)體區(qū)塊,并且將屬于第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至此暫存實(shí)體區(qū)塊中。本發(fā)明另一范例實(shí)施例提出一種存儲器控制器,用于控制可復(fù)寫式非易失性存儲器模組,其中此可復(fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊,并且每一實(shí)體區(qū)塊具有多個實(shí)體頁面。本存儲器控制器包括主機(jī)接口、存儲器接口與存儲器管理電路。主機(jī)接口用以電性連接至主機(jī)系統(tǒng)。存儲器接口用以電性連接至可復(fù)寫式非易失性存儲器模組。存儲器管理電路電性連接至主機(jī)接口與存儲器接口,并且用以將此些實(shí)體區(qū)塊至少分組為數(shù)據(jù)區(qū)與閑置區(qū)。在此,存儲器管理電路配置多個邏輯區(qū)塊以映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊,且每一邏輯區(qū)塊具有多個邏輯頁面。此外,存儲器管理電路分別地從閑置區(qū)中提取多個實(shí)體區(qū)塊作為對應(yīng)數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,并且從閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于此些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊。另外,存儲器管理電路從主機(jī)系統(tǒng)中接收寫入指令與對應(yīng)此寫入指令的更新數(shù)據(jù),其中此寫入指令指示從此些邏輯頁面之中的第一邏輯頁面開始寫入此更新數(shù)據(jù),第一邏輯頁面屬于此些邏輯區(qū)塊之中的第一邏輯區(qū)塊,第一邏輯區(qū)塊映射此些已更新實(shí)體區(qū)塊之中的第一已更新實(shí)體區(qū)塊。再者,存儲器管理電路判斷此些替換實(shí)體區(qū)塊之中對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊是否存有屬于第一邏輯頁面的數(shù)據(jù)。當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊存有屬于第一邏輯頁面的數(shù)據(jù)時,上述的存儲器管理電路還用以判斷第一邏輯頁面是否為第一邏輯區(qū)塊的一起始邏輯頁面。當(dāng)?shù)谝贿壿嬳撁鏋榈谝贿壿媴^(qū)塊的起始邏輯頁面時,上述的存儲器管理電路還判斷此更新數(shù)據(jù)的大小是否等于一個實(shí)體區(qū)塊容量。當(dāng)此更新數(shù)據(jù)的大小等于一個實(shí)體區(qū)塊容量時,上述的存儲器管理電路將此備用實(shí)體區(qū)塊獨(dú)立地指派給第一已更新實(shí)體區(qū)塊并且將此更新數(shù)據(jù)寫入至備用實(shí)體區(qū)塊中,其中此備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,當(dāng)更新數(shù)據(jù)的大小非等于一個實(shí)體區(qū)塊容量時,存儲器管理電路對第一已更新實(shí)體區(qū)塊執(zhí)行數(shù)據(jù)合并程序并且從閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,當(dāng)?shù)谝贿壿嬳撁娣菫榈谝贿壿媴^(qū)塊的起始邏輯頁面時,存儲器管理電路還判斷在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面是否存有數(shù)據(jù)。當(dāng)在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面未存有數(shù)據(jù)時,存儲器管理電路將此更新數(shù)據(jù)寫入至對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中;以及當(dāng)在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面存有數(shù)據(jù)時,存儲器管理電路對第一已更新實(shí)體區(qū)塊執(zhí)行數(shù)據(jù)合并程序并且從閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,上述的存儲器管理電路從閑置區(qū)中提取一個實(shí)體區(qū)塊作為對應(yīng)第一已更新實(shí)體區(qū)塊的暫存實(shí)體區(qū)塊,并且將屬于第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至此暫存實(shí)體區(qū)塊中。本發(fā)明另一范例實(shí)施例提出一種存儲器儲存裝置,其包括連接器、可復(fù)寫式非易失性存儲器模組與存儲器控制器。連接器用以電性連接至主機(jī)系統(tǒng)??蓮?fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊并且每一實(shí)體區(qū)塊具有多個實(shí)體頁面。存儲器控制器電性連接至連接器與可復(fù)寫式非易失性存儲器模組,并且用以將此些實(shí)體區(qū)塊至少分組為數(shù)據(jù)區(qū)與閑置區(qū)。在此,存儲器控制器配置多個邏輯區(qū)塊以映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊,且每一邏輯區(qū)塊具有多個邏輯頁面。此外,存儲器控制器分別地從閑置區(qū)中提取多個實(shí)體區(qū)塊作為對應(yīng)數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,并且從閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于此些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊。另外,存儲器控制器從主機(jī)系統(tǒng)中接收寫入指令與對應(yīng)此寫入指令的更新數(shù)據(jù),其中此寫入指令指示從此些邏輯頁面之中的第一邏輯頁面開始寫入此更新數(shù)據(jù),第一邏輯頁面屬于此些邏輯區(qū)塊之中的第一邏輯區(qū)塊,第一邏輯區(qū)塊映射此些已更新實(shí)體區(qū)塊之中的第一已更新實(shí)體區(qū)塊。再者,存儲器控制器判斷此些替換實(shí)體區(qū)塊之中對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊是否存有屬于第一邏輯頁面的數(shù)據(jù)。當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊存有屬于第一邏輯頁面的數(shù)據(jù)時,存儲器控制器將備用實(shí)體區(qū)塊獨(dú)立地指派給第一已更新實(shí)體區(qū)塊并且將此更新數(shù)據(jù)寫入至此備用實(shí)體區(qū)塊中,其中此備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊未存有屬于第一邏輯頁面的數(shù)據(jù)時,上述的存儲器控制器將此更新數(shù)據(jù)寫入至對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中。在本發(fā)明的一實(shí)施例中,上述的存儲器控制器從閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)第一已更新實(shí)體區(qū)塊的一暫存實(shí)體區(qū)塊,并且將屬于第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至此暫存實(shí)體區(qū)塊中。本發(fā)明另一范例實(shí)施例提出一種存儲器儲存裝置,其包括連接器、可復(fù)寫式非易失性存儲器模組與存儲器控制器。連接器用以電性連接至主機(jī)系統(tǒng)??蓮?fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊并且每一實(shí)體區(qū)塊具有多個實(shí)體頁面。存儲器控制器電性連接至連接器與可復(fù)寫式非易失性存儲器模組,并且用以將此些實(shí)體區(qū)塊至少分組為數(shù)據(jù)區(qū)與閑置區(qū)。在此,存儲器控制器配置多個邏輯區(qū)塊以映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊,且每一邏輯區(qū)塊具有多個邏輯頁面。此外,存儲器控制器分別地從閑置區(qū)中提取多個實(shí)體區(qū)塊作為對應(yīng)數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,并且從閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于此些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊。另外,存儲器控制器從主機(jī)系統(tǒng)中接收寫入指令與對應(yīng)此寫入指令的更新數(shù)據(jù),其中此寫入指令指示從此些邏輯頁面之中的第一邏輯頁面開始寫入此更新數(shù)據(jù),第一邏輯頁面屬于此些邏輯區(qū)塊之中的第一邏輯區(qū)塊,第一邏輯區(qū)塊映射此些已更新實(shí)體區(qū)塊之中的第一已更新實(shí)體區(qū)塊。再者,存儲器控制器判斷此些替換實(shí)體區(qū)塊之中對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊是否存有屬于第一邏輯頁面的數(shù)據(jù)。當(dāng)?shù)谝惶鎿Q實(shí)體區(qū)塊存有屬于第一邏輯頁面的數(shù)據(jù)時,上述的存儲器控制器還用以判斷第一邏輯頁面是否為第一邏輯區(qū)塊的一起始邏輯頁面。當(dāng)?shù)谝贿壿嬳撁鏋榈谝贿壿媴^(qū)塊的起始邏輯頁面時,上述的存儲器控制器還判斷此更新數(shù)據(jù)的大小是否等于一個實(shí)體區(qū)塊容量。當(dāng)此更新數(shù)據(jù)的大小等于一個實(shí)體區(qū)塊容量時,上述的存儲器控制器將此備用實(shí)體區(qū)塊獨(dú)立地指派給第一已更新實(shí)體區(qū)塊并且將此更新數(shù)據(jù)寫入至備用實(shí)體區(qū)塊中,其中此備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,當(dāng)更新數(shù)據(jù)的大小非等于一個實(shí)體區(qū)塊容量時,上述的存儲器控制器對第一已更新實(shí)體區(qū)塊執(zhí)行數(shù)據(jù)合并程序并且從閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,當(dāng)?shù)谝贿壿嬳撁娣菫榈谝贿壿媴^(qū)塊的起始邏輯頁面時,上述的存儲器控制器還判斷在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面是否存有數(shù)據(jù)。當(dāng)在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面未存有數(shù)據(jù)時,上述的存儲器控制器將此更新數(shù)據(jù)寫入至對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中;以及當(dāng)在對應(yīng)第一已更新實(shí)體區(qū)塊的第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面存有數(shù)據(jù)時,上述的存儲器控制器對第一已更新實(shí)體區(qū)塊執(zhí)行數(shù)據(jù)合并程序并且從閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。在本發(fā)明的一實(shí)施例中,上述的存儲器控制器從閑置區(qū)中提取一個實(shí)體區(qū)塊作為對應(yīng)第一已更新實(shí)體區(qū)塊的暫存實(shí)體區(qū)塊,并且將屬于第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至此暫存實(shí)體區(qū)塊中。基于上述,上述范例實(shí)施例的數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置能夠有效地在執(zhí)行寫入指令時避免執(zhí)行數(shù)據(jù)合并,由此縮短執(zhí)行寫入指令的時間。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì)說明如下。圖1A是根據(jù)第一范例實(shí)施例所顯示的主機(jī)系統(tǒng)與存儲器儲存裝置。圖1B是根據(jù)本發(fā)明第一范例實(shí)施例所顯示的計算機(jī)、輸入/輸出裝置與存儲器儲存裝置的示意圖。圖1C是根據(jù)本發(fā)明另一范例實(shí)施例所顯示的主機(jī)系統(tǒng)與存儲器儲存裝置的示意圖。圖2是顯示圖1A所示的存儲器儲存裝置的概要方框圖。圖3是根據(jù)第一范例實(shí)施例所顯示的存儲器控制器的概要方框圖。圖4A與圖4B是根據(jù)第一范例實(shí)施例所顯示管理可復(fù)寫式非易失性存儲器模組的實(shí)體區(qū)塊的示意圖。圖5圖6是根據(jù)第一范例實(shí)施例所顯示的使用替換實(shí)體區(qū)塊來寫入更新數(shù)據(jù)的范例。圖7是根據(jù)第一范例實(shí)施例所顯示的執(zhí)行數(shù)據(jù)合并的范例。圖8A與圖SB是根據(jù)本發(fā)明第一范例實(shí)施例所顯示的配置與指派備用實(shí)體區(qū)塊的范例示意圖。圖9是根據(jù)本發(fā)明第一范例實(shí)施例所顯示的使用備用實(shí)體區(qū)塊來寫入更新數(shù)據(jù)的范例。圖10是根據(jù)本發(fā)明第一范例實(shí)施例所顯示的數(shù)據(jù)寫入方法的流程圖。圖11是根據(jù)本發(fā)明第二范例實(shí)施例所顯示的數(shù)據(jù)寫入方法的流程圖。附圖標(biāo)記1000:主機(jī)系統(tǒng)1100:計算機(jī)1102:微處理器1104:隨機(jī)存取存儲器1106:輸入/輸出裝置1108:系統(tǒng)總線1110:數(shù)據(jù)傳輸接口12O2:鼠標(biāo)1204:鍵盤1206:顯示器1208:打印機(jī)1212:隨身碟1214:記憶卡1216:固態(tài)硬盤1310:數(shù)碼相機(jī)1312SD卡1314:MMC卡1316:記憶棒1318:CF卡1320:嵌入式儲存裝置100:存儲器儲存裝置102:連接器104:存儲器控制器106:可復(fù)寫式非易失性存儲器模組302:存儲器管理電路304:主機(jī)接口306:存儲器接口308:緩沖存儲器310:電源管理電路312:錯誤檢查與校正電路502:數(shù)據(jù)區(qū)504:閑置區(qū)506:系統(tǒng)區(qū)508:取代區(qū)410(0)410(N):實(shí)體區(qū)塊610(0)610(H):邏輯區(qū)塊710(0)710(K):邏輯存取地址S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015、S1017、S1019:數(shù)據(jù)寫入的步驟SllOUS1103、S1105、S1107、S1109、SlllUS1113、S1115、S1117、S1119、S1121、S1123、S1125、S1127:數(shù)據(jù)寫入的步驟具體實(shí)施例方式[第一范例實(shí)施例]一般而言,存儲器儲存裝置(亦稱,存儲器儲存系統(tǒng))包括可復(fù)寫式非易失性存儲器模組與控制器(亦稱,控制電路)。通常存儲器儲存裝置是與主機(jī)系統(tǒng)一起使用,以使主機(jī)系統(tǒng)可將數(shù)據(jù)寫入至存儲器儲存裝置或從存儲器儲存裝置中讀取數(shù)據(jù)。圖1A是根據(jù)第一范例實(shí)施例所顯示的主機(jī)系統(tǒng)與存儲器儲存裝置。請參照圖1A,主機(jī)系統(tǒng)1000—般包括計算機(jī)1100與輸入/輸出(input/output,I/O)裝置1106。計算機(jī)1100包括微處理器1102、隨機(jī)存取存儲器(randomaccessmemory,RAM)1104、系統(tǒng)總線1108與數(shù)據(jù)傳輸接口1110。輸入/輸出裝置1106包括如圖1B的鼠標(biāo)1202、鍵盤1204、顯示器1206與打印機(jī)1208。必須了解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。在本發(fā)明實(shí)施例中,存儲器儲存裝置100是通過數(shù)據(jù)傳輸接口1110與主機(jī)系統(tǒng)1000的其他元件電性連接。藉由微處理器1102、隨機(jī)存取存儲器1104與輸入/輸出裝置1106的運(yùn)作可將數(shù)據(jù)寫入至存儲器儲存裝置100或從存儲器儲存裝置100中讀取數(shù)據(jù)。例如,存儲器儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態(tài)硬盤(SolidStateDrive,SSD)1216等的可復(fù)寫式非易失性存儲器儲存裝置。一般而言,主機(jī)系統(tǒng)1000可實(shí)質(zhì)地為可與存儲器儲存裝置100配合以儲存數(shù)據(jù)的任意系統(tǒng)。雖然在本范例實(shí)施例中,主機(jī)系統(tǒng)1000是以計算機(jī)系統(tǒng)來作說明,然而,在本發(fā)明另一范例實(shí)施例中主機(jī)系統(tǒng)1000可以是數(shù)碼相機(jī)、攝影機(jī)、通信裝置、音訊播放器或視訊播放器等系統(tǒng)。例如,在主機(jī)系統(tǒng)為數(shù)碼相機(jī)(攝影機(jī))1310時,可復(fù)寫式非易失性存儲器儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memorystick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機(jī)系統(tǒng)的基板上。圖2是顯示圖1A所示的存儲器儲存裝置的概要方框圖。請參照圖2,存儲器儲存裝置100包括連接器102、存儲器控制器104與可復(fù)寫式非易失性存儲器模組106。在本范例實(shí)施例中,連接器102是相容于安全數(shù)碼(SecureDigital,SD)接口標(biāo)準(zhǔn)。然而,必須了解的是,本發(fā)明不限于此,連接器102亦可以是符合電氣和電子工程師協(xié)會(InstituteofElectricalandElectronicEngineers,IEEE)1394標(biāo)準(zhǔn)、平行先進(jìn)附件(ParallelAdvancedTechnologyAttachment,PATA)標(biāo)準(zhǔn)、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,PCIExpress)標(biāo)準(zhǔn)、通用序列總線(UniversalSerialBus,USB)標(biāo)準(zhǔn)、序列先進(jìn)附件(SerialAdvancedTechnologyAttachment,SATA)標(biāo)準(zhǔn)、記憶棒(MemoryStick,MS)接口標(biāo)準(zhǔn)、多媒體儲存卡(MultiMediaCard,MMC)接口標(biāo)準(zhǔn)、小型閃速(CompactFlash,CF)接口標(biāo)準(zhǔn)、整合式驅(qū)動電子接口(IntegratedDeviceElectronics,IDE)標(biāo)準(zhǔn)或其他適合的標(biāo)準(zhǔn)。存儲器控制器104用以執(zhí)行以硬件型式或固件型式實(shí)作的多個邏輯門或控制指令,并且根據(jù)主機(jī)系統(tǒng)1000的指令在可復(fù)寫式非易失性存儲器模組106中進(jìn)行數(shù)據(jù)的寫入、讀取、抹除與合并等運(yùn)作。可復(fù)寫式非易失性存儲器模組106是電性連接至存儲器控制器104,并且具有多個實(shí)體區(qū)塊以儲存主機(jī)系統(tǒng)1000所寫入的數(shù)據(jù)。在本范例實(shí)施例中,每一實(shí)體區(qū)塊分別具有多個實(shí)體頁面,其中屬于同一個實(shí)體區(qū)塊的實(shí)體頁面可被獨(dú)立地寫入且被同時地抹除。例如,每一實(shí)體區(qū)塊是由128個實(shí)體頁面所組成,并且每一實(shí)體頁面的容量為4千位元組(Kilobyte,KB)。然而,必須了解的是,本發(fā)明不限于此。更詳細(xì)來說,實(shí)體區(qū)塊為抹除的最小單位。亦即,每一實(shí)體區(qū)塊含有最小數(shù)目之一并被抹除的存儲單元。實(shí)體頁面為編程的最小單元。即,實(shí)體頁面為更新數(shù)據(jù)的最小單元。然而,必須了解的是,在本發(fā)明另一范例實(shí)施例中,更新數(shù)據(jù)的最小單位亦可以是實(shí)體扇區(qū)或其他大小。每一實(shí)體頁面通常包括數(shù)據(jù)位元區(qū)與冗余位元區(qū)。數(shù)據(jù)位元區(qū)用以儲存使用者的數(shù)據(jù),而冗余位元區(qū)用以儲存系統(tǒng)的數(shù)據(jù)(例如,錯誤檢查與校正碼)。在本范例實(shí)施例中,可復(fù)寫式非易失性存儲器模組106為多階存儲單元(MultiLevelCell,MLC)NAND閃速存儲器模組。然而,本發(fā)明不限于此,可復(fù)寫式非易失性存儲器模組106亦可是單階層存儲單元(SingleLevelCell,SLC)NAND閃速存儲器模組、其他閃速存儲器模組或其他具有相同特性的存儲器模組。圖3是根據(jù)第一范例實(shí)施例所顯示的存儲器控制器的概要方框圖。必須了解的是,圖3所顯示的存儲器控制器僅為一個范例,本發(fā)明不限于此。請參照圖3,存儲器控制器104包括存儲器管理電路302、主機(jī)接口304、存儲器接口306、緩沖存儲器308、電源管理電路310、錯誤檢查與校正電路312。存儲器管理電路302用以控制存儲器控制器104的整體運(yùn)作。具體來說,存儲器管理電路302具有多個控制指令,并且在存儲器儲存裝置100運(yùn)作時,此些控制指令會被執(zhí)行以進(jìn)行數(shù)據(jù)的寫入、讀取與抹除等運(yùn)作。在本范例實(shí)施例中,存儲器管理電路302的控制指令是以固件型式來實(shí)作。例如,存儲器管理電路302具有微處理器單元(未顯示)與只讀存儲器(未顯示),并且此些控制指令是被燒錄至此只讀存儲器中。當(dāng)存儲器儲存裝置100運(yùn)作時,此些控制指令會由微處理器單元來執(zhí)行以進(jìn)行數(shù)據(jù)的寫入、讀取與抹除等運(yùn)作。在本發(fā)明另一范例實(shí)施例中,存儲器管理電路302的控制指令亦可以程序碼型式儲存于可復(fù)寫式非易失性存儲器模組106的特定區(qū)域(例如,存儲器模組中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲器管理電路302具有微處理器單元(未顯示)、只讀存儲器(未顯示)及隨機(jī)存取存儲器(未顯示)。特別是,此只讀存儲器具有驅(qū)動碼,并且當(dāng)存儲器控制器104被使能時,微處理器單元會先執(zhí)行此驅(qū)動碼段來將儲存于可復(fù)寫式非易失性存儲器模組106中的控制指令載入至存儲器管理電路302的隨機(jī)存取存儲器中。之后,微處理器單元會運(yùn)轉(zhuǎn)此些控制指令以進(jìn)行數(shù)據(jù)的寫入、讀取與抹除等運(yùn)作。此外,在本發(fā)明另一范例實(shí)施例中,存儲器管理電路302的控制指令亦可以一硬件型式來實(shí)作。例如,存儲器管理電路302包括微控制器、存儲器管理單元、存儲器寫入單元、存儲器讀取單元、存儲器抹除單元與數(shù)據(jù)處理單元。存儲器管理單元、存儲器寫入單元、存儲器讀取單元、存儲器抹除單元與數(shù)據(jù)處理單元是電性連接至微控制器。其中,存儲器管理單元用以管理可復(fù)寫式非易失性存儲器模組106的實(shí)體區(qū)塊;存儲器寫入單元用以對可復(fù)寫式非易失性存儲器模組106下達(dá)寫入指令以將數(shù)據(jù)寫入至可復(fù)寫式非易失性存儲器模組106中;存儲器讀取單元用以對可復(fù)寫式非易失性存儲器模組106下達(dá)讀取指令以從可復(fù)寫式非易失性存儲器模組106中讀取數(shù)據(jù);存儲器抹除單元用以對可復(fù)寫式非易失性存儲器模組106下達(dá)抹除指令以將數(shù)據(jù)從可復(fù)寫式非易失性存儲器模組106中抹除;而數(shù)據(jù)處理單元用以處理欲寫入至可復(fù)寫式非易失性存儲器模組106的數(shù)據(jù)以及從可復(fù)寫式非易失性存儲器模組106中讀取的數(shù)據(jù)。主機(jī)接口304是電性連接至存儲器管理電路302并且用以接收與識別主機(jī)系統(tǒng)1000所傳送的指令與數(shù)據(jù)。在本范例實(shí)施例中,主機(jī)接口304是相容于SD標(biāo)準(zhǔn)。然而,必須了解的是本發(fā)明不限于此,主機(jī)接口304亦可以是相容于PATA標(biāo)準(zhǔn)、IEEE1394標(biāo)準(zhǔn)、PCIExpress標(biāo)準(zhǔn)、USB標(biāo)準(zhǔn)、SATA標(biāo)準(zhǔn)、MS標(biāo)準(zhǔn)、MMC標(biāo)準(zhǔn)、CF標(biāo)準(zhǔn)、IDE標(biāo)準(zhǔn)或其他適合的數(shù)據(jù)傳輸標(biāo)準(zhǔn)。存儲器接口306是電性連接至存儲器管理電路302并且用以存取可復(fù)寫式非易失性存儲器模組106。也就是說,欲寫入至可復(fù)寫式非易失性存儲器模組106的數(shù)據(jù)會經(jīng)由存儲器接口306轉(zhuǎn)換為可復(fù)寫式非易失性存儲器模組106所能接受的格式。緩沖存儲器308是電性連接至存儲器管理電路302并且用以暫存來自于主機(jī)系統(tǒng)1000的數(shù)據(jù)與指令或來自于可復(fù)寫式非易失性存儲器模組106的數(shù)據(jù)。例如,緩沖存儲器302可以是靜態(tài)隨機(jī)存取存儲器、動態(tài)隨機(jī)存取存儲器等。電源管理電路310是電性連接至存儲器管理電路302并且用以控制存儲器儲存裝置100的電源。錯誤檢查與校正電路312是電性連接至存儲器管理電路302并且用以執(zhí)行一錯誤校正程序以確保數(shù)據(jù)的正確性。具體來說,當(dāng)主機(jī)接口304從主機(jī)系統(tǒng)1000中接收到主機(jī)寫入指令時,錯誤檢查與校正電路會為對應(yīng)此主機(jī)寫入指令的寫入數(shù)據(jù)(亦稱為更新數(shù)據(jù))產(chǎn)生對應(yīng)的錯誤檢查與校正碼(ErrorCheckingandCorrectingCode,ECCCode),并且存儲器管理電路302會將此更新數(shù)據(jù)與對應(yīng)的錯誤校正碼寫入至可復(fù)寫式非易失性存儲器模組106中。之后,當(dāng)存儲器管理電路302從可復(fù)寫式非易失性存儲器模組106中讀取數(shù)據(jù)時會同時讀取此數(shù)據(jù)對應(yīng)的錯誤校正碼,并且錯誤檢查與校正電路312會依據(jù)此錯誤校正碼對所讀取的數(shù)據(jù)執(zhí)行錯誤校正程序。圖4A與圖4B是根據(jù)第一范例實(shí)施例所顯示管理可復(fù)寫式非易失性存儲器模組的實(shí)體區(qū)塊的示意圖。請參照圖4A,可復(fù)寫式非易失性存儲器模組106具有實(shí)體區(qū)塊410(0)410(N),并且存儲器控制器104的存儲器管理電路302會將實(shí)體區(qū)塊410(0)410(N)邏輯地分組為(或指派至)數(shù)據(jù)區(qū)(dataarea)502、閑置區(qū)(sparearea)504、系統(tǒng)區(qū)(systemarea)506與取代區(qū)(replacementarea)508。邏輯上屬于數(shù)據(jù)區(qū)502與閑置區(qū)504的實(shí)體區(qū)塊是用以儲存來自于主機(jī)系統(tǒng)1000的數(shù)據(jù)。具體來說,數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊(亦稱為數(shù)據(jù)實(shí)體區(qū)塊)是被視為已儲存數(shù)據(jù)的實(shí)體區(qū)塊,而閑置區(qū)504的實(shí)體區(qū)塊(亦稱為閑置實(shí)體區(qū)塊)是用以寫入新數(shù)據(jù)的實(shí)體區(qū)塊。例如,當(dāng)從主機(jī)系統(tǒng)1000接收到寫入指令與欲寫入的數(shù)據(jù)時,存儲器管理電路302會從閑置區(qū)504中提取實(shí)體區(qū)塊,整理欲寫入的數(shù)據(jù)并且將數(shù)據(jù)寫入至所提取的實(shí)體區(qū)塊中。再例如,當(dāng)對某一邏輯區(qū)塊執(zhí)行數(shù)據(jù)合并程序時,存儲器管理電路302會從閑置區(qū)504中提取實(shí)體區(qū)塊作為對應(yīng)此邏輯區(qū)塊的新數(shù)據(jù)實(shí)體區(qū)塊,從可復(fù)寫式非易失性存儲器模組106中讀取屬于此邏輯區(qū)塊的有效數(shù)據(jù),整理此些有效數(shù)據(jù),將整理后的有效數(shù)據(jù)寫入至新數(shù)據(jù)實(shí)體區(qū)塊中,并且將此邏輯區(qū)塊重新映射至新數(shù)據(jù)實(shí)體區(qū)塊。特別是,在完成數(shù)據(jù)合并程序后,存儲器管理電路302會將儲存無效數(shù)據(jù)的數(shù)據(jù)實(shí)體區(qū)塊重新關(guān)聯(lián)(或回收)至閑置區(qū)504,以作為下次寫入新數(shù)據(jù)之用。例如,存儲器管理電路302會在將實(shí)體區(qū)塊關(guān)聯(lián)至閑置區(qū)504之前對此實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作或者當(dāng)實(shí)體區(qū)塊從閑置區(qū)504中被提取時對此實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作,以使得從閑置區(qū)504中所提取的實(shí)體區(qū)塊為可用于寫入數(shù)據(jù)的空實(shí)體區(qū)塊。邏輯上屬于系統(tǒng)區(qū)506的實(shí)體區(qū)塊是用以記錄系統(tǒng)數(shù)據(jù)。例如,系統(tǒng)數(shù)據(jù)包括關(guān)于可復(fù)寫式非易失性存儲器模組的制造商與型號、可復(fù)寫式非易失性存儲器模組的實(shí)體區(qū)塊數(shù)、每一實(shí)體區(qū)塊的實(shí)體頁面數(shù)等。邏輯上屬于取代區(qū)508中的實(shí)體區(qū)塊是用于壞實(shí)體區(qū)塊取代程序,以取代損壞的實(shí)體區(qū)塊。具體來說,倘若取代區(qū)508中仍存有正常的實(shí)體區(qū)塊并且數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊損壞時,存儲器管理電路302會從取代區(qū)508中提取正常的實(shí)體區(qū)塊來更換損壞的實(shí)體區(qū)塊。基于上述,在存儲器儲存裝置100的運(yùn)作中,數(shù)據(jù)區(qū)502、閑置區(qū)504、系統(tǒng)區(qū)506與取代區(qū)508的實(shí)體區(qū)塊會動態(tài)地變動。例如,用以輪替儲存數(shù)據(jù)的實(shí)體區(qū)塊會變動地屬于數(shù)據(jù)區(qū)502或閑置區(qū)504。值得一提的是,在本范例實(shí)施例中,存儲器管理電路302是以每一實(shí)體區(qū)塊為單位來進(jìn)行管理。然而,本發(fā)明不限于此,在另一范例實(shí)施例中,存儲器管理電路302亦可將實(shí)體區(qū)塊分組為多個實(shí)體單元,并且以實(shí)體單元為單位來進(jìn)行管理。例如,每一實(shí)體單元可由同一存儲器芯片(die)或不同存儲器芯片中的至少一個實(shí)體區(qū)塊所組成。請參照圖4B,存儲器管理電路302會配置邏輯區(qū)塊610(0)610(H)以映射數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊,其中每一邏輯區(qū)塊具有多個邏輯頁面并且此些邏輯頁面是依序地映射對應(yīng)的數(shù)據(jù)實(shí)體區(qū)塊的實(shí)體頁面。例如,在存儲器儲存裝置100被格式化時,邏輯區(qū)塊610(0)610(H)會初始地映射數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊410(0)410(F-1)。在本發(fā)明范例實(shí)施例中,存儲器管理電路302會維護(hù)邏輯區(qū)塊-實(shí)體區(qū)塊映射表(logicalblock-physicalblockmappingtable)以記錄邏輯區(qū)塊610(0)610(H)與數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊之間的映射關(guān)系。此外,主機(jī)系統(tǒng)1000是以邏輯存取地址為單位來存取數(shù)據(jù)。例如,一個邏輯存取地址為一個邏輯扇區(qū)(Sector)。當(dāng)主機(jī)系統(tǒng)1000存取數(shù)據(jù)時,存儲器管理電路302會將對應(yīng)存儲器儲存裝置100的邏輯存取地址710(0)710(K)轉(zhuǎn)換成對應(yīng)的邏輯頁面內(nèi)的地址。例如,當(dāng)主機(jī)系統(tǒng)1000欲存取某一邏輯存取地址時,存儲器管理電路302會將主機(jī)系統(tǒng)1000所存取的邏輯存取地址轉(zhuǎn)換為以對應(yīng)的邏輯區(qū)塊、邏輯頁面與邏輯偏移(offset)所構(gòu)成的多維地址,并且通過邏輯區(qū)塊-實(shí)體區(qū)塊映射表于對應(yīng)的實(shí)體頁面中存取數(shù)據(jù)。在此,偏移是用以定位在一個邏輯頁面(或?qū)嶓w頁面)中的一個邏輯(或?qū)嶓w)地址,其是定義為此邏輯(或?qū)嶓w)地址與此邏輯頁面(或?qū)嶓w頁面)的起始地址之間的距離,其中此邏輯(或?qū)嶓w)地址亦稱為邏輯(或?qū)嶓w)偏移地址。圖5圖6是根據(jù)第一范例實(shí)施例所顯示的使用替換實(shí)體區(qū)塊來寫入更新數(shù)據(jù)的范例。請同時參照圖5圖6,例如,在邏輯區(qū)塊610(0)是映射至實(shí)體區(qū)塊410(0)的映射狀態(tài)下,當(dāng)存儲器控制器104從主機(jī)系統(tǒng)1000中接收到寫入指令而欲寫入更新數(shù)據(jù)至屬于邏輯區(qū)塊610(0)的邏輯頁面時,存儲器控制器104會依據(jù)邏輯區(qū)塊-實(shí)體區(qū)塊映射表識別邏輯區(qū)塊610(0)目前是映射至實(shí)體區(qū)塊410(0)并且從閑置區(qū)504中提取實(shí)體區(qū)塊410(F)來寫入更新數(shù)據(jù)。然而,在寫入更新數(shù)據(jù)至實(shí)體區(qū)塊410(F)的過程中,存儲器控制器104不會立刻將實(shí)體區(qū)塊410(0)中的所有有效數(shù)據(jù)搬移至實(shí)體區(qū)塊410(F)而抹除實(shí)體區(qū)塊410(0)。具體來說,存儲器管理電路302會從實(shí)體區(qū)塊410(0)中讀取欲寫入實(shí)體頁面之前的有效數(shù)據(jù)(即,實(shí)體區(qū)塊410(0)的第0實(shí)體頁面與第I實(shí)體頁面中的數(shù)據(jù))。之后,存儲器管理電路302會將實(shí)體區(qū)塊410(0)中欲寫入實(shí)體頁面之前的有效數(shù)據(jù)寫入至實(shí)體區(qū)塊410(F)的第0實(shí)體頁面與第I實(shí)體頁面中(如圖5所示),并且將新數(shù)據(jù)寫入至實(shí)體區(qū)塊410(F)的第24個實(shí)體頁面中(如圖6所示)。此時,存儲器控制器104即完成寫入的運(yùn)作。因為實(shí)體區(qū)塊410(0)中的有效數(shù)據(jù)有可能在下個操作(例如,寫入指令)中變成無效,因此立刻將實(shí)體區(qū)塊410(0)中的有效數(shù)據(jù)搬移至實(shí)體區(qū)塊410(F)可能會造成無謂的搬移。此外,數(shù)據(jù)必須依序地寫入至實(shí)體區(qū)塊內(nèi)的實(shí)體頁面,因此,存儲器管理電路302僅會先搬移欲寫入實(shí)體頁面之前的有效數(shù)據(jù)(即,儲存在實(shí)體區(qū)塊410(0)的第0實(shí)體頁面與第I實(shí)體頁面中數(shù)據(jù)),并且暫不搬移其余有效數(shù)據(jù)(即,儲存在實(shí)體區(qū)塊410(0)的第5K實(shí)體頁面中數(shù)據(jù))。也就是說,實(shí)體區(qū)塊410(0)與實(shí)體區(qū)塊410(F)的實(shí)體頁面是依序映射邏輯區(qū)塊610(0)的邏輯頁面。在本范例實(shí)施例中,暫時地維持此等暫態(tài)關(guān)系的運(yùn)作稱為開啟(open)母子區(qū)塊,并且原實(shí)體區(qū)塊(例如,上述實(shí)體區(qū)塊410(O))稱為母實(shí)體區(qū)塊或已更新實(shí)體區(qū)塊而用以替換母實(shí)體區(qū)塊的實(shí)體區(qū)塊(例如,上述實(shí)體區(qū)塊410(F))稱為子實(shí)體區(qū)塊或替換實(shí)體區(qū)塊。在此,用以儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)的母實(shí)體區(qū)塊與子實(shí)體區(qū)塊稱為母子區(qū)塊組。值得一提的是,閑置區(qū)504中實(shí)體區(qū)塊的數(shù)目是有限的,基此,在存儲器儲存裝置100運(yùn)作期間,已開啟的母子區(qū)塊組的數(shù)目亦會受到限制。也就是說,在存儲器儲存裝置100運(yùn)作期間,已開啟的母子區(qū)塊組的數(shù)目不能大于一母子區(qū)塊數(shù)門檻值。例如,在本范例實(shí)施例中,母子區(qū)塊數(shù)門檻值被設(shè)定為3,但本發(fā)明不限于此。因此,當(dāng)存儲器儲存裝置100接收到來自于主機(jī)系統(tǒng)1000的寫入指令時,倘若已開啟母子區(qū)塊組的數(shù)目達(dá)到母子區(qū)塊數(shù)門檻值時,存儲器控制器104需執(zhí)行數(shù)據(jù)合并(datamerge)運(yùn)作以關(guān)閉至少一組目前已開啟的母子區(qū)塊組后才可執(zhí)行此寫入指令。具體來說,在數(shù)據(jù)合并(datamerge)運(yùn)作中,存儲器控制器104會將母實(shí)體區(qū)塊與子實(shí)體區(qū)塊的數(shù)據(jù)整并至一個實(shí)體區(qū)塊。圖7是根據(jù)第一范例實(shí)施例所顯示的執(zhí)行數(shù)據(jù)合并的范例。請參照圖7,倘若需要將圖6所示的實(shí)體區(qū)塊410(0)與實(shí)體區(qū)塊410(F)的有效數(shù)據(jù)合并時,存儲器管理電路302會從實(shí)體區(qū)塊410(0)中讀取剩余的有效數(shù)據(jù)(即,實(shí)體區(qū)塊410(0)的第5K實(shí)體頁面中的數(shù)據(jù)),并且將實(shí)體區(qū)塊410(0)中剩余的有效數(shù)據(jù)寫入至實(shí)體區(qū)塊410(F)的第5實(shí)體頁面第K實(shí)體頁面中。之后,存儲器管理電路302會將實(shí)體區(qū)塊410(F)關(guān)聯(lián)至數(shù)據(jù)區(qū)502。也就是說,存儲器管理電路302會在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中將邏輯區(qū)塊610(0)重新映射至實(shí)體區(qū)塊410(F)。此外,存儲器管理電路302會對實(shí)體區(qū)塊410(0)執(zhí)行抹除操作,并且將抹除后的實(shí)體區(qū)塊410(0)關(guān)聯(lián)至閑置區(qū)504。例如,在本范例實(shí)施例中,存儲器管理電路302會建立閑置區(qū)實(shí)體區(qū)塊表(未顯示)來記錄目前被關(guān)聯(lián)至閑置區(qū)504的實(shí)體區(qū)塊。值得一提的是,由于可復(fù)寫式非易失性存儲器模組的編程規(guī)范要求必須從每一實(shí)體區(qū)塊的起始實(shí)體頁面開始寫入至最后一個實(shí)體頁面并且每個位元僅能程式一次(即由僅能“I”變?yōu)椤?”),因此,一旦子實(shí)體區(qū)塊的實(shí)體頁面已被寫入屬于某個邏輯頁面的數(shù)據(jù)后主機(jī)系統(tǒng)1000欲再次將更新數(shù)據(jù)寫入此邏輯頁面時,此子實(shí)體區(qū)塊無法繼續(xù)被用來寫入此更新數(shù)據(jù)。例如,如圖6所示,當(dāng)對應(yīng)母實(shí)體區(qū)塊410(0)的子實(shí)體區(qū)塊410(F)已儲存屬于邏輯區(qū)塊610(0)的第0邏輯頁面的數(shù)據(jù)且主機(jī)系統(tǒng)1000欲儲存更新數(shù)據(jù)至邏輯區(qū)塊610(0)的第0邏輯頁面時,在子實(shí)體區(qū)塊410(F)中映射邏輯區(qū)塊610(0)的第0邏輯頁面的實(shí)體頁面(即,第0實(shí)體頁面)無法繼續(xù)被用來寫入此更新數(shù)據(jù)。此時,在本范例實(shí)施例中,存儲器管理電路302會從閑置區(qū)504中提取一個實(shí)體區(qū)塊作為可用于所有母實(shí)體區(qū)塊的備用實(shí)體區(qū)塊(preparedphysicalblock)。特別是,當(dāng)一個邏輯區(qū)塊的某一個邏輯頁面的數(shù)據(jù)已被儲存在對應(yīng)的子實(shí)體區(qū)塊中且主機(jī)系統(tǒng)1000欲儲存更新數(shù)據(jù)至此邏輯頁面時,存儲器管理電路302會獨(dú)立地指派此備用實(shí)體區(qū)塊給映射此邏輯區(qū)塊的母實(shí)體區(qū)塊并且將更新數(shù)據(jù)寫入至此備用實(shí)體區(qū)塊中。值得一提的是,盡管在本范例實(shí)施例中是以配置一個實(shí)體區(qū)塊作為所有母實(shí)體區(qū)塊的備用實(shí)體區(qū)塊為例來進(jìn)行說明,然而,本發(fā)明不限于此。在本發(fā)明另一范例實(shí)施例中,作為所有母實(shí)體區(qū)塊的備用實(shí)體區(qū)塊的數(shù)目亦可以是其他數(shù)目,例如,每一個母實(shí)體區(qū)塊均配置一個實(shí)體區(qū)塊作為每一個母實(shí)體區(qū)塊的備用實(shí)體區(qū)塊。圖8A與圖SB是根據(jù)本發(fā)明第一范例實(shí)施例所顯示的配置與指派備用實(shí)體區(qū)塊的范例示意圖。請參照圖8A,在此范例中,假設(shè)邏輯區(qū)塊610(0)610(H)目前是依序地映射數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊410(0)410(F-1)并且存儲器管理電路302已對邏輯區(qū)塊610(0)610(2)執(zhí)行開啟母子區(qū)塊運(yùn)作(即,如圖56所示的運(yùn)作),其中實(shí)體區(qū)塊410(F)從閑置區(qū)504中被提取作為對應(yīng)實(shí)體區(qū)塊410(0)的子實(shí)體區(qū)塊,實(shí)體區(qū)塊410(F+1)從閑置區(qū)504中被提取作為對應(yīng)實(shí)體區(qū)塊410(I)的子實(shí)體區(qū)塊并且實(shí)體區(qū)塊410(F+2)從閑置區(qū)504中被提取作為對應(yīng)實(shí)體區(qū)塊410(2)的子實(shí)體區(qū)塊。也就是說,實(shí)體區(qū)塊410(F)已被寫入屬于邏輯區(qū)塊610(0)的部分邏輯頁面的有效數(shù)據(jù),實(shí)體區(qū)塊410(F+1)已被寫入屬于邏輯區(qū)塊610(1)的部分邏輯頁面的有效數(shù)據(jù)并且實(shí)體區(qū)塊410(F+2)已被寫入屬于邏輯區(qū)塊610(2)的部分邏輯頁面的有效數(shù)據(jù)。特別是,存儲器管理電路302會在閑置區(qū)504中保留一個實(shí)體區(qū)塊(例如,實(shí)體區(qū)塊410(F+3))作為用于母實(shí)體區(qū)塊(即,實(shí)體區(qū)塊410(0)410(2))的備用實(shí)體區(qū)塊。更詳細(xì)來說,在存儲器儲存裝置100的運(yùn)作過程中,由于可復(fù)寫式非易失性存儲器模組106是以實(shí)體頁面為編程的單位,存儲器管理電路302亦可能從閑置區(qū)504中提取實(shí)體區(qū)塊來作為其他用途。例如,存儲器管理電路302會從閑置區(qū)504中提取實(shí)體區(qū)塊作為暫存實(shí)體區(qū)塊(temporaryphysicalblock),來儲存數(shù)據(jù)量小于一個實(shí)體頁面的大小的更新數(shù)據(jù)。也就是說,存儲器管理電路302會判斷更新數(shù)據(jù)是否為小于一個實(shí)體頁面的大小的小數(shù)據(jù),并且將小數(shù)據(jù)先暫存至從閑置區(qū)504中提取的一個實(shí)體區(qū)塊(例如,實(shí)體區(qū)塊410(S-1))。之后,再將小數(shù)據(jù)匯整成一個實(shí)體頁面的數(shù)據(jù)來寫入至子實(shí)體區(qū)塊。因此,在本范例實(shí)施例中,存儲器管理電路302會監(jiān)控閑置區(qū)504中的實(shí)體區(qū)塊的數(shù)量,并且保持閑置區(qū)504中至少還有一個實(shí)體區(qū)塊可被提取作為備用實(shí)體區(qū)塊。請參照圖SB,假設(shè)主機(jī)系統(tǒng)1000欲儲存更新數(shù)據(jù)至邏輯區(qū)塊610(0)的某個邏輯頁面并且子實(shí)體區(qū)塊410(F)中映射此邏輯頁面已儲存有數(shù)據(jù)時,存儲器管理電路302會指派所配置的備用實(shí)體區(qū)塊(即,實(shí)體區(qū)塊410(F+3))給母實(shí)體區(qū)塊410(0)并且將更新數(shù)據(jù)寫入至實(shí)體區(qū)塊410(F+3)中。在本范例實(shí)施例中,當(dāng)備用實(shí)體區(qū)塊指派給一個母實(shí)體區(qū)塊后,存儲器管理電路302僅會將屬于此母實(shí)體區(qū)塊所映射的邏輯區(qū)塊的數(shù)據(jù)寫入至此備用實(shí)體區(qū)塊。特別是,存儲器管理電路302會依序地將備用實(shí)體區(qū)塊的實(shí)體頁面映射邏輯區(qū)塊的邏輯頁面來寫入屬于此邏輯區(qū)塊的數(shù)據(jù)。圖9是根據(jù)本發(fā)明第一范例實(shí)施例所顯示的使用備用實(shí)體區(qū)塊來寫入更新數(shù)據(jù)的范例。請參照圖9,當(dāng)屬于邏輯區(qū)塊610(0)的第04頁面的數(shù)據(jù)已被寫入至子實(shí)體區(qū)塊410(F)中(如圖6所示)且主機(jī)系統(tǒng)1000欲儲存下一筆更新數(shù)據(jù)至邏輯區(qū)塊610(0)的第I邏輯頁面時,存儲器管理電路302會指派備用實(shí)體區(qū)塊410(F+3)給實(shí)體區(qū)塊410(0),將屬于邏輯區(qū)塊610(0)的第0邏輯頁面的有效數(shù)據(jù)從實(shí)體區(qū)塊410(F)的第0實(shí)體頁面復(fù)制到實(shí)體區(qū)塊410(F+3)的第0實(shí)體頁面,并且將屬于邏輯區(qū)塊610(0)的第I邏輯頁面的更新數(shù)據(jù)寫入至實(shí)體區(qū)塊410(F+3)的第I實(shí)體頁面。也就是說,在指派備用實(shí)體區(qū)塊之后,存儲器管理電路302會依序的使用備用實(shí)體區(qū)塊的實(shí)體頁面來映射一個邏輯區(qū)塊的邏輯頁面來寫入屬于此邏輯區(qū)塊的數(shù)據(jù)。也就是說,備用實(shí)體區(qū)塊只可被指派給一個母實(shí)體區(qū)塊并且被當(dāng)作此母實(shí)體區(qū)塊的額外子實(shí)體區(qū)塊來操作。特別是,在備用實(shí)體區(qū)塊被寫入屬于一個邏輯區(qū)塊的所有有效數(shù)據(jù)之后,存儲器管理電路302會在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中將此邏輯區(qū)塊重新映射至此備用實(shí)體區(qū)塊(即,將此備用實(shí)體區(qū)塊關(guān)聯(lián)至數(shù)據(jù)區(qū)502),對原先映射此邏輯區(qū)塊的母實(shí)體區(qū)塊與對應(yīng)的子實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作,并且將抹除后的實(shí)體區(qū)塊關(guān)聯(lián)至閑置區(qū)504。然后,存儲器管理電路302會從閑置區(qū)504中提取一個空的實(shí)體區(qū)塊作為新的備用實(shí)體區(qū)塊。例如,如圖9所示,倘若主機(jī)系統(tǒng)1000依序地儲存更新數(shù)據(jù)至邏輯區(qū)塊610的的第2K邏輯頁面之后,存儲器管理電路302會直接地將邏輯區(qū)塊610(0)重新映射至實(shí)體區(qū)塊410(F+3)并且對實(shí)體區(qū)塊410(0)與實(shí)體區(qū)塊410(F)執(zhí)行抹除運(yùn)作。又例如,當(dāng)需要執(zhí)行數(shù)據(jù)合并程序時,邏輯區(qū)塊610(0)的其他有效數(shù)據(jù)(即,屬于邏輯區(qū)塊610(0)的第2K邏輯頁面的數(shù)據(jù))會從實(shí)體區(qū)塊410(0)或?qū)嶓w區(qū)塊410(F)中搬移到實(shí)體區(qū)塊410(F+3)并且邏輯區(qū)塊610(0)會被重新映射至實(shí)體區(qū)塊410(F+3)。也就是說,備用實(shí)體區(qū)塊會被關(guān)聯(lián)至數(shù)據(jù)區(qū)504變成映射邏輯區(qū)塊610(0)的實(shí)體區(qū)塊。此外,實(shí)體區(qū)塊410(0)與實(shí)體區(qū)塊410(F)會被執(zhí)行抹除運(yùn)作并且抹除后的實(shí)體區(qū)塊410(0)與實(shí)體區(qū)塊410(F)會被關(guān)聯(lián)至閑置區(qū)。圖10是根據(jù)本發(fā)明第一范例實(shí)施例所顯示的數(shù)據(jù)寫入方法的流程圖。請參照圖10,在步驟S1001中,存儲器管理電路302會從主機(jī)系統(tǒng)1000中接收寫入指令與對應(yīng)此寫入指令的更新數(shù)據(jù)。在步驟S1003中,存儲器管理電路302會識別寫入指令所指示的邏輯存取地址所對應(yīng)的邏輯區(qū)塊(以下稱為第一邏輯區(qū)塊)與邏輯頁面(以下稱為第一邏輯頁面)。然后,在步驟S1005中,存儲器管理里電路202會判斷是否已對第一邏輯區(qū)塊執(zhí)行開啟母子區(qū)塊運(yùn)作。倘若未對第一邏輯區(qū)塊執(zhí)行開啟母子區(qū)塊運(yùn)作時,在步驟S1007中,存儲器管理電路302會判斷已開啟母子區(qū)塊組的數(shù)目是否達(dá)到母子區(qū)塊數(shù)門檻值。倘若已開啟母子區(qū)塊組的數(shù)目未達(dá)到母子區(qū)塊數(shù)門檻值時,在步驟S1009中,存儲器管理電路302會從閑置區(qū)504中提取一個實(shí)體區(qū)塊作為子實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。倘若已開啟母子區(qū)塊組的數(shù)目已達(dá)到母子區(qū)塊數(shù)門檻值時,在步驟SlOll中,存儲器管理電路302會選擇一個已開啟母子區(qū)塊運(yùn)作的邏輯區(qū)塊來執(zhí)行數(shù)據(jù)合并程序。并且,在步驟SlOll之后,步驟S1009會被執(zhí)行。使用子實(shí)體區(qū)塊來寫入更新數(shù)據(jù)的方法已配合圖5與圖6描述如上并且執(zhí)行數(shù)據(jù)合并程序的方法已配合圖7詳細(xì)描述如上,在此不再重復(fù)描述。倘若已對第一邏輯區(qū)塊執(zhí)行開啟母子區(qū)塊運(yùn)作時,在步驟S1013中,存儲器管理電路302會判斷在對應(yīng)映射第一邏輯區(qū)塊的母實(shí)體區(qū)塊(以下稱為第一已更新實(shí)體區(qū)塊)的子實(shí)體區(qū)塊(以下稱為第一替換實(shí)體區(qū)塊)中映射第一邏輯頁面的實(shí)體頁面是否存有數(shù)據(jù)。倘若在第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面未存有數(shù)據(jù)時,在步驟S1015中,存儲器管理電路302會繼續(xù)使用第一替換實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。倘若在第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面存有數(shù)據(jù)時,在步驟S1017中,存儲器管理電路302會從閑置區(qū)504中提取一個實(shí)體區(qū)塊作為備用實(shí)體區(qū)塊并且獨(dú)立地指派此備用實(shí)體區(qū)塊給第一已更新實(shí)體區(qū)塊。然后,在步驟S1019中,存儲器管理電路302將此更新數(shù)據(jù)寫入至此備用實(shí)體區(qū)塊中。使用備用實(shí)體區(qū)塊來寫入更新數(shù)據(jù)的方法已配合圖9詳細(xì)描述如上,在此不再重復(fù)描述。在另一范例實(shí)施例中,在步驟SlO19之后,存儲器管理電路302還可將第一邏輯區(qū)塊的其他有效數(shù)據(jù)搬移至備用實(shí)體區(qū)塊并且將第一邏輯區(qū)塊重新映射至此備用實(shí)體區(qū)塊。之后,存儲器管理電路302可對第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作并將抹除后的實(shí)體區(qū)塊關(guān)聯(lián)至閑置區(qū)504。值得一提的是,存儲器管理電路302亦可在下一次執(zhí)行寫入指令時,才執(zhí)行上述將第一邏輯區(qū)塊的其他有效數(shù)據(jù)搬移至備用實(shí)體區(qū)塊、重新映射第一邏輯區(qū)塊及抹除實(shí)體區(qū)塊等運(yùn)作。此外,在另一范例實(shí)施例中,在步驟SlO19之后,存儲器管理電路302還可判斷備用實(shí)體區(qū)塊是否已被寫滿。并且,倘若備用實(shí)體區(qū)塊已被寫滿時,存儲器管理電路302還會將第一邏輯區(qū)塊重新映射至此備用實(shí)體區(qū)塊,對第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作并將抹除后的實(shí)體區(qū)塊關(guān)聯(lián)至閑置區(qū)504。[第二范例實(shí)施例]第二范例實(shí)施例的硬件架構(gòu)是類似于第一范例實(shí)施例的硬件架構(gòu),其差異之處僅在于使用備用實(shí)體區(qū)塊來寫入更新數(shù)據(jù)的時機(jī)。具體來說,在已對欲儲存更新數(shù)據(jù)的邏輯區(qū)塊開啟母子區(qū)塊運(yùn)作的情況下,當(dāng)在對應(yīng)映射此邏輯區(qū)塊的母實(shí)體區(qū)塊的子實(shí)體區(qū)塊中映射欲寫入此更新數(shù)據(jù)的邏輯頁面的實(shí)體頁面存有數(shù)據(jù)時,第一范例實(shí)施例的存儲器管理電路就會指派備用實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。然而,在第二范例實(shí)施例中,當(dāng)已對欲儲存更新數(shù)據(jù)的邏輯區(qū)塊開啟母子區(qū)塊運(yùn)作時,存儲器管理電路則會判斷欲寫入更新數(shù)據(jù)的邏輯頁面是否為邏輯區(qū)塊的起始邏輯頁面且更新數(shù)據(jù)的大小是否等于一個實(shí)體區(qū)塊的大小,其中僅當(dāng)欲寫入更新數(shù)據(jù)的邏輯頁面為邏輯區(qū)塊的起始邏輯頁面且更新數(shù)據(jù)的大小等于一個實(shí)體區(qū)塊的大小時,存儲器管理電路才會使用備用實(shí)體區(qū)塊來寫入更新數(shù)據(jù)。以下僅針對第一范例實(shí)施例與第二范例實(shí)施例的差異之處進(jìn)行描述。圖11是根據(jù)本發(fā)明第二范例實(shí)施例所顯示的數(shù)據(jù)寫入方法的流程圖。請參照圖11,在步驟SllOl中,存儲器管理電路302會從主機(jī)系統(tǒng)1000中接收寫入指令與對應(yīng)此寫入指令的更新數(shù)據(jù)。在步驟S1103中,存儲器管理電路302會識別寫入指令所指示的邏輯存取地址所對應(yīng)的邏輯區(qū)塊(以下稱為第一邏輯區(qū)塊)與邏輯頁面(以下稱為第一邏輯頁面)。然后,在步驟SI105中,存儲器管理里電路202會判斷是否已對第一邏輯區(qū)塊執(zhí)行開啟母子區(qū)塊運(yùn)作。倘若未對第一邏輯區(qū)塊執(zhí)行開啟母子區(qū)塊運(yùn)作時,在步驟S1107中,存儲器管理電路302會判斷已開啟母子區(qū)塊組的數(shù)目是否達(dá)到母子區(qū)塊數(shù)門檻值。倘若已開啟母子區(qū)塊組的數(shù)目未達(dá)到母子區(qū)塊數(shù)門檻值時,在步驟SI109中,存儲器管理電路302會從閑置區(qū)504中提取一個實(shí)體區(qū)塊作為子實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。倘若已開啟母子區(qū)塊組的數(shù)目已達(dá)到母子區(qū)塊數(shù)門檻值時,在步驟Sllll中,存儲器管理電路302會選擇一個已開啟母子區(qū)塊運(yùn)作的邏輯區(qū)塊來執(zhí)行數(shù)據(jù)合并程序。并且,在步驟Sllll之后,執(zhí)行步驟S1109。使用子實(shí)體區(qū)塊來寫入更新數(shù)據(jù)的方法已配合圖5與圖6描述如上并且執(zhí)行數(shù)據(jù)合并程序的方法已配合圖7詳細(xì)描述如上,在此不再重復(fù)描述。倘若已對第一邏輯區(qū)塊執(zhí)行開啟母子區(qū)塊運(yùn)作時,在步驟S1113中,存儲器管理電路302會判斷第一邏輯頁面是否為第一邏輯區(qū)塊的起始邏輯頁面。具體來說,存儲器管理電路302會判斷第一邏輯頁面是否為第一邏輯區(qū)塊的第0邏輯頁面。倘若第一邏輯頁面非為第一邏輯區(qū)塊的起始邏輯頁面時,在步驟S1115中,存儲器管理電路302會判斷在對應(yīng)映射第一邏輯區(qū)塊的母實(shí)體區(qū)塊(以下稱為第一已更新實(shí)體區(qū)塊)的子實(shí)體區(qū)塊(以下稱為第一替換實(shí)體區(qū)塊)中映射第一邏輯頁面的實(shí)體頁面是否存有數(shù)據(jù)。倘若在第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面未存有數(shù)據(jù)時,在步驟S1117中,存儲器管理電路302會繼續(xù)使用第一替換實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)。倘若在第一替換實(shí)體區(qū)塊中映射第一邏輯頁面的實(shí)體頁面存有數(shù)據(jù)時,在步驟S1119中,存儲器管理電路302會對第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊執(zhí)行數(shù)據(jù)合并程序(如圖7所示)并且從閑置區(qū)504中提取一個空的實(shí)體區(qū)塊作為新的子實(shí)體區(qū)塊來寫入此更新數(shù)據(jù)(如圖5與6所示)。倘若第一邏輯頁面為第一邏輯區(qū)塊的起始邏輯頁面時,在步驟S1121中,存儲器管理電路302會判斷更新數(shù)據(jù)的大小是否等于一個實(shí)體區(qū)塊的大小。例如,主機(jī)系統(tǒng)1000是以扇區(qū)為單位傳送欲儲存的更新數(shù)據(jù)給存儲器儲存裝置100,并且此些更新數(shù)據(jù)會暫存于緩沖存儲器308中。特別是,存儲器管理電路302會在接收完對應(yīng)目前寫入指令的所有欲儲存的更新數(shù)據(jù)后,判斷對應(yīng)目前寫入指令的更新數(shù)據(jù)是否等于一個實(shí)體區(qū)塊的大小。倘若更新數(shù)據(jù)的大小非等于一個實(shí)體區(qū)塊的大小時,步驟S1119會被執(zhí)行。倘若更新數(shù)據(jù)的大小等于一個實(shí)體區(qū)塊的大小時,在步驟S1123中,存儲器管理電路302會從閑置區(qū)504中提取一個實(shí)體區(qū)塊作為備用實(shí)體區(qū)塊并且獨(dú)立地指派此備用實(shí)體區(qū)塊給第一已更新實(shí)體區(qū)塊。然后,在步驟S1125中,存儲器管理電路302將此更新數(shù)據(jù)寫入至此備用實(shí)體區(qū)塊中。最后,在步驟SI127中,存儲器管理電路302會將第一邏輯區(qū)塊重新映射至此備用實(shí)體區(qū)塊,對第一已更新實(shí)體區(qū)塊與第一替換實(shí)體區(qū)塊執(zhí)行抹除運(yùn)作并將抹除后的實(shí)體區(qū)塊關(guān)聯(lián)至閑置區(qū)504。綜上所述,本發(fā)明一范例實(shí)施例的數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置額外地為已更新實(shí)體區(qū)塊配置備用實(shí)體區(qū)塊,其中當(dāng)更新數(shù)據(jù)無法被寫入至替換實(shí)體區(qū)塊時,更新數(shù)據(jù)會被寫入至備用實(shí)體區(qū)塊中,由此避免執(zhí)行數(shù)據(jù)合并程序,而縮短執(zhí)行寫入指令的時間。此外,在本發(fā)明另一范例實(shí)施例中,在已對邏輯區(qū)塊執(zhí)行開啟母子區(qū)塊運(yùn)作的情況下,當(dāng)更新數(shù)據(jù)欲被儲存至此邏輯區(qū)塊的所有邏輯頁面時,此更新數(shù)據(jù)會被直接地寫入至備用實(shí)體區(qū)塊中,由此避免執(zhí)行數(shù)據(jù)合并程序,而縮短執(zhí)行寫入指令的時間。雖然本發(fā)明已以實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何所屬
技術(shù)領(lǐng)域:
的普通技術(shù)人員,當(dāng)可作些許更動與潤飾,而不脫離本發(fā)明的精神和范圍。權(quán)利要求1.一種數(shù)據(jù)寫入方法,用于一可復(fù)寫式非易失性存儲器模組,其中該可復(fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊,每一該些實(shí)體區(qū)塊具有多個實(shí)體頁面,該些實(shí)體區(qū)塊至少被分組為一數(shù)據(jù)區(qū)與一閑置區(qū),多個邏輯區(qū)塊被配置以映射該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊,每一該些邏輯區(qū)塊具有多個邏輯頁面,多個實(shí)體區(qū)塊分別地從該閑置區(qū)中被提取作為對應(yīng)該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,該數(shù)據(jù)寫入方法包括:從該閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于該些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊;從一主機(jī)系統(tǒng)中接收一寫入指令與對應(yīng)該寫入指令的一更新數(shù)據(jù),其中該寫入指令指示從該些邏輯頁面之中的一第一邏輯頁面開始寫入該更新數(shù)據(jù),該第一邏輯頁面屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊,并且該第一邏輯區(qū)塊映射該些已更新實(shí)體區(qū)塊之中的一第一已更新實(shí)體區(qū)塊;判斷該些替換實(shí)體區(qū)塊之中對應(yīng)該第一已更新實(shí)體區(qū)塊的一第一替換實(shí)體區(qū)塊是否存有屬于該第一邏輯頁面的數(shù)據(jù);以及當(dāng)該第一替換實(shí)體區(qū)塊存有屬于該第一邏輯頁面的數(shù)據(jù)時,將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中,其中該備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,其中還包括:當(dāng)該第一替換實(shí)體區(qū)塊未存有屬于該第一邏輯頁面的數(shù)據(jù)時,將該更新數(shù)據(jù)寫入至對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中。3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,其中還包括:從該閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)該第一已更新實(shí)體區(qū)塊的一暫存實(shí)體區(qū)塊;以及將屬于該第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至該暫存實(shí)體區(qū)塊中。4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,其中還包括:在將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中之后,執(zhí)行下述步驟:將該第一邏輯區(qū)塊重新映射至該備用實(shí)體區(qū)塊以將該備用實(shí)體區(qū)塊關(guān)聯(lián)至該數(shù)據(jù)區(qū);以及對該第一已更新實(shí)體區(qū)塊與該第一替換實(shí)體區(qū)塊執(zhí)行一抹除運(yùn)作并且將抹除后的該第一已更新實(shí)體區(qū)塊與該第一替換實(shí)體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,其中還包括:當(dāng)該第一替換實(shí)體區(qū)塊存有屬于該第一邏輯頁面的數(shù)據(jù)時,執(zhí)行下述步驟:從該第一已更新實(shí)體區(qū)塊與該第一替換實(shí)體區(qū)塊中復(fù)制屬于該第一邏輯區(qū)塊的有效數(shù)據(jù)至該備用實(shí)體區(qū)塊;將該第一邏輯區(qū)塊重新映射至該備用實(shí)體區(qū)塊以將該備用實(shí)體區(qū)塊關(guān)聯(lián)至該數(shù)據(jù)區(qū);以及對該第一已更新實(shí)體區(qū)塊與該第一替換實(shí)體區(qū)塊執(zhí)行一抹除運(yùn)作并且將抹除后的該第一已更新實(shí)體區(qū)塊與該第一替換實(shí)體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。6.一種數(shù)據(jù)寫入方法,用于一可復(fù)寫式非易失性存儲器模組,其中該可復(fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊,每一該些實(shí)體區(qū)塊具有多個實(shí)體頁面,該些實(shí)體區(qū)塊至少被分組為一數(shù)據(jù)區(qū)與一閑置區(qū),多個邏輯區(qū)塊被配置以映射該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊,每一該些邏輯區(qū)塊具有多個邏輯頁面,多個實(shí)體區(qū)塊分別地從該閑置區(qū)中被提取作為對應(yīng)該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,該數(shù)據(jù)寫入方法包括:從該閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于該些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊;從一主機(jī)系統(tǒng)中接收一寫入指令與對應(yīng)該寫入指令的一更新數(shù)據(jù),其中該寫入指令指示從該些邏輯頁面之中的一第一邏輯頁面開始寫入該更新數(shù)據(jù),該第一邏輯頁面屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊,并且該第一邏輯區(qū)塊映射該些已更新實(shí)體區(qū)塊之中的一第一已更新實(shí)體區(qū)塊;判斷該第一邏輯頁面是否為該第一邏輯區(qū)塊的一起始邏輯頁面;當(dāng)該第一邏輯頁面為該第一邏輯區(qū)塊的該起始邏輯頁面時,判斷該更新數(shù)據(jù)的一大小是否等于一個實(shí)體區(qū)塊容量;以及當(dāng)該更新數(shù)據(jù)的該大小等于一個實(shí)體區(qū)塊容量時,將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中,其中該備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)寫入方法,其中還包括:當(dāng)該更新數(shù)據(jù)的該大小非等于一個實(shí)體區(qū)塊容量時,對該第一已更新實(shí)體區(qū)塊執(zhí)行一數(shù)據(jù)合并程序并且從該閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入該更新數(shù)據(jù)。8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)寫入方法,其中還包括:當(dāng)該第一邏輯頁面非為該第一邏輯區(qū)塊的該起始邏輯頁面,判斷在對應(yīng)該第一已更新實(shí)體區(qū)塊的一第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的實(shí)體頁面是否存有數(shù)據(jù);當(dāng)在對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的該實(shí)體頁面未存有數(shù)據(jù)時,將該更新數(shù)據(jù)寫入至對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中;以及當(dāng)在對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的該實(shí)體頁面存有數(shù)據(jù)時,對該第一已更新實(shí)體區(qū)塊執(zhí)行一數(shù)據(jù)合并程序并且從該閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入該更新數(shù)據(jù)。9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)寫入方法,其中還包括:從該閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)該第一已更新實(shí)體區(qū)塊的一暫存實(shí)體區(qū)塊;以及將屬于該第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至該暫存實(shí)體區(qū)塊中。10.根據(jù)權(quán)利要求6所述的數(shù)據(jù)寫入方法,其中還包括:在將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中之后,執(zhí)行下述步驟:將該第一邏輯區(qū)塊重新映射至該備用實(shí)體區(qū)塊以將該備用實(shí)體區(qū)塊關(guān)聯(lián)至該數(shù)據(jù)區(qū);以及對該第一已更新實(shí)體區(qū)塊與該第一替換實(shí)體區(qū)塊執(zhí)行一抹除運(yùn)作并且將抹除后的該第一已更新實(shí)體區(qū)塊與該第一替換實(shí)體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。11.一種存儲器控制器,用于控制一可復(fù)寫式非易失性存儲器模組,其中該可復(fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊,并且每一該些實(shí)體區(qū)塊具有多個實(shí)體頁面,該存儲器控制器包括:一主機(jī)接口,用以電性連接至一主機(jī)系統(tǒng);一存儲器接口,用以電性連接至該可復(fù)寫式非易失性存儲器模組;以及一存儲器管理電路,電性連接至該主機(jī)接口與該存儲器接口,并且用以將該些實(shí)體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),其中該存儲器管理電路配置多個邏輯區(qū)塊以映射該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊,且每一該些邏輯區(qū)塊具有多個邏輯頁面,其中該存儲器管理電路分別地從該閑置區(qū)中提取多個實(shí)體區(qū)塊作為對應(yīng)該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,其中該存儲器管理電路從該閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于該些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊,其中該存儲器管理電路從該主機(jī)系統(tǒng)中接收一寫入指令與對應(yīng)該寫入指令的一更新數(shù)據(jù),其中該寫入指令指示從該些邏輯頁面之中的一第一邏輯頁面開始寫入該更新數(shù)據(jù),該第一邏輯頁面屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊,并且該第一邏輯區(qū)塊映射該些已更新實(shí)體區(qū)塊之中的一第一已更新實(shí)體區(qū)塊,其中該存儲器管理電路判斷該些替換實(shí)體區(qū)塊之中對應(yīng)該第一已更新實(shí)體區(qū)塊的一第一替換實(shí)體區(qū)塊是否存有屬于該第一邏輯頁面的數(shù)據(jù),其中當(dāng)該第一替換實(shí)體區(qū)塊存有屬于該第一邏輯頁面的數(shù)據(jù)時,該存儲器管理電路將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中,其中該備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。12.根據(jù)權(quán)利要求11所述的存儲器控制器,其中當(dāng)該第一替換實(shí)體區(qū)塊未存有屬于該第一邏輯頁面的數(shù)據(jù)時,該存儲器管理電路將該更新數(shù)據(jù)寫入至對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中。13.根據(jù)權(quán)利要求11所述的存儲器控制器,其中該存儲器管理電路從該閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)該第一已更新實(shí)體區(qū)塊的一暫存實(shí)體區(qū)塊,并且將屬于該第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至該暫存實(shí)體區(qū)塊中。14.一種存儲器控制器,用于控制一可復(fù)寫式非易失性存儲器模組,其中該可復(fù)寫式非易失性存儲器模組具有多個實(shí)體區(qū)塊,并且每一該些實(shí)體區(qū)塊具有多個實(shí)體頁面,該存儲器控制器包括:一主機(jī)接口,用以電性連接至一主機(jī)系統(tǒng);一存儲器接口,用以電性連接至該可復(fù)寫式非易失性存儲器模組;以及一存儲器管理電路,電性連接至該主機(jī)接口與該存儲器接口,并且用以將該些實(shí)體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),其中該存儲器管理電路配置多個邏輯區(qū)塊以映射該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊,且每一該些邏輯區(qū)塊具有多個邏輯頁面,其中該存儲器管理電路分別地從該閑置區(qū)中提取多個實(shí)體區(qū)塊作為對應(yīng)該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,其中該存儲器管理電路從該閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于該些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊,其中該存儲器管理電路從該主機(jī)系統(tǒng)中接收一寫入指令與對應(yīng)該寫入指令的一更新數(shù)據(jù),其中該寫入指令指示從該些邏輯頁面之中的一第一邏輯頁面開始寫入該更新數(shù)據(jù),該第一邏輯頁面屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊,并且該第一邏輯區(qū)塊映射該些已更新實(shí)體區(qū)塊之中的一第一已更新實(shí)體區(qū)塊,其中該存儲器管理電路判斷該些替換實(shí)體區(qū)塊之中對應(yīng)該第一已更新實(shí)體區(qū)塊的一第一替換實(shí)體區(qū)塊是否存有屬于該第一邏輯頁面的數(shù)據(jù),其中當(dāng)該第一替換實(shí)體區(qū)塊存有屬于該第一邏輯頁面的數(shù)據(jù)時,該存儲器管理電路判斷該第一邏輯頁面是否為該第一邏輯區(qū)塊的一起始邏輯頁面,其中當(dāng)該第一邏輯頁面為該第一邏輯區(qū)塊的該起始邏輯頁面時,該存儲器管理電路判斷該更新數(shù)據(jù)的一大小是否等于一個實(shí)體區(qū)塊容量,其中當(dāng)該更新數(shù)據(jù)的該大小等于一個實(shí)體區(qū)塊容量時,該存儲器管理電路將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中,其中該備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。15.根據(jù)權(quán)利要求14所述的存儲器控制器,其中當(dāng)該更新數(shù)據(jù)的該大小非等于一個實(shí)體區(qū)塊容量時,該存儲器管理電路對該第一已更新實(shí)體區(qū)塊執(zhí)行一數(shù)據(jù)合并程序并且從該閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入該更新數(shù)據(jù)。16.根據(jù)權(quán)利要求14所述的存儲器控制器,其中當(dāng)該第一邏輯頁面非為該第一邏輯區(qū)塊的該起始邏輯頁面時,該存儲器管理電路判斷在對應(yīng)該第一已更新實(shí)體區(qū)塊的一第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的實(shí)體頁面是否存有數(shù)據(jù),其中當(dāng)在對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的該實(shí)體頁面未存有數(shù)據(jù)時,該存儲器管理電路將該更新數(shù)據(jù)寫入至對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中,其中當(dāng)在對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的該實(shí)體頁面存有數(shù)據(jù)時,該存儲器管理電路對該第一已更新實(shí)體區(qū)塊執(zhí)行一數(shù)據(jù)合并程序并且從該閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入該更新數(shù)據(jù)。17.根據(jù)權(quán)利要求14所述的存儲器控制器,其中該存儲器管理電路從該閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)該第一已更新實(shí)體區(qū)塊的一暫存實(shí)體區(qū)塊,并且將屬于該第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至該暫存實(shí)體區(qū)塊中。18.—種存儲器儲存裝置,包括:一連接器,用以電性連接至一主機(jī)系統(tǒng);一可復(fù)寫式非易失性存儲器模組,具有多個實(shí)體區(qū)塊并且每一該些實(shí)體區(qū)塊具有多個實(shí)體頁面;以及一存儲器控制器,電性連接至該連接器與該可復(fù)寫式非易失性存儲器模組,并且用以將該些實(shí)體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),其中該存儲器控制器配置多個邏輯區(qū)塊以映射該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊,且每一該些邏輯區(qū)塊具有多個邏輯頁面,其中該存儲器控制器分別地從該閑置區(qū)中提取多個實(shí)體區(qū)塊作為對應(yīng)該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,其中該存儲器控制器從該閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于該些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊,其中該存儲器控制器從該主機(jī)系統(tǒng)中接收一寫入指令與對應(yīng)該寫入指令的一更新數(shù)據(jù),其中該寫入指令指示從該些邏輯頁面之中的一第一邏輯頁面開始寫入該更新數(shù)據(jù),該第一邏輯頁面屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊,并且該第一邏輯區(qū)塊映射該些已更新實(shí)體區(qū)塊之中的一第一已更新實(shí)體區(qū)塊,其中該存儲器控制器判斷該些替換實(shí)體區(qū)塊之中對應(yīng)該第一已更新實(shí)體區(qū)塊的一第一替換實(shí)體區(qū)塊是否存有屬于該第一邏輯頁面的數(shù)據(jù),其中當(dāng)該第一替換實(shí)體區(qū)塊存有屬于該第一邏輯頁面的數(shù)據(jù)時,該存儲器控制器將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中,其中該備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。19.根據(jù)權(quán)利要求18所述的存儲器儲存裝置,其中當(dāng)該第一替換實(shí)體區(qū)塊未存有屬于該第一邏輯頁面的數(shù)據(jù)時,該存儲器控制器將該更新數(shù)據(jù)寫入至對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中。20.根據(jù)權(quán)利要求18所述的存儲器儲存裝置,其中該存儲器控制器從該閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)該第一已更新實(shí)體區(qū)塊的一暫存實(shí)體區(qū)塊,并且將屬于該第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至該暫存實(shí)體區(qū)塊中。21.一種存儲器儲存裝置,包括:一連接器,用以電性連接至一主機(jī)系統(tǒng);一可復(fù)寫式非易失性存儲器模組,具有多個實(shí)體區(qū)塊并且每一該些實(shí)體區(qū)塊具有多個實(shí)體頁面;以及一存儲器控制器,電性連接至該連接器與該可復(fù)寫式非易失性存儲器模組,并且用以將該些實(shí)體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),其中該存儲器控制器配置多個邏輯區(qū)塊以映射該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊,且每一該些邏輯區(qū)塊具有多個邏輯頁面,其中該存儲器控制器分別地從該閑置區(qū)中提取多個實(shí)體區(qū)塊作為對應(yīng)該數(shù)據(jù)區(qū)的該些實(shí)體區(qū)塊之中的多個已更新實(shí)體區(qū)塊的多個替換實(shí)體區(qū)塊,其中該存儲器控制器從該閑置區(qū)中提取至少一實(shí)體區(qū)塊作為用于該些已更新實(shí)體區(qū)塊的一備用實(shí)體區(qū)塊,其中該存儲器控制器從該主機(jī)系統(tǒng)中接收一寫入指令與對應(yīng)該寫入指令的一更新數(shù)據(jù),其中該寫入指令指示從該些邏輯頁面之中的一第一邏輯頁面開始寫入該更新數(shù)據(jù),該第一邏輯頁面屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊,并且該第一邏輯區(qū)塊映射該些已更新實(shí)體區(qū)塊之中的一第一已更新實(shí)體區(qū)塊,其中該存儲器控制器判斷該些替換實(shí)體區(qū)塊之中對應(yīng)該第一已更新實(shí)體區(qū)塊的一第一替換實(shí)體區(qū)塊是否存有屬于該第一邏輯頁面的數(shù)據(jù),其中當(dāng)該第一替換實(shí)體區(qū)塊存有屬于該第一邏輯頁面的數(shù)據(jù)時,該存儲器控制器判斷該第一邏輯頁面是否為該第一邏輯區(qū)塊的一起始邏輯頁面,其中當(dāng)該第一邏輯頁面為該第一邏輯區(qū)塊的該起始邏輯頁面時,該存儲器控制器判斷該更新數(shù)據(jù)的一大小是否等于一個實(shí)體區(qū)塊容量,其中當(dāng)該更新數(shù)據(jù)的該大小等于一個實(shí)體區(qū)塊容量時,該存儲器控制器將該備用實(shí)體區(qū)塊獨(dú)立地指派給該第一已更新實(shí)體區(qū)塊并且將該更新數(shù)據(jù)寫入至該備用實(shí)體區(qū)塊中,其中該備用實(shí)體區(qū)塊僅儲存屬于同一個邏輯區(qū)塊的數(shù)據(jù)。22.根據(jù)權(quán)利要求21所述的存儲器儲存裝置,其中當(dāng)該更新數(shù)據(jù)的該大小非等于一個實(shí)體區(qū)塊容量時,該存儲器控制器對該第一已更新實(shí)體區(qū)塊執(zhí)行一數(shù)據(jù)合并程序并且從該閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入該更新數(shù)據(jù)。23.根據(jù)權(quán)利要求21所述的存儲器儲存裝置,其中當(dāng)該第一邏輯頁面非為該第一邏輯區(qū)塊的該起始邏輯頁面,該存儲器控制器判斷在對應(yīng)該第一已更新實(shí)體區(qū)塊的一第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的實(shí)體頁面是否存有數(shù)據(jù),其中當(dāng)在對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的該實(shí)體頁面未存有數(shù)據(jù)時,該存儲器控制器將該更新數(shù)據(jù)寫入至對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中,其中當(dāng)在對應(yīng)該第一已更新實(shí)體區(qū)塊的該第一替換實(shí)體區(qū)塊中映射該第一邏輯頁面的該實(shí)體頁面存有數(shù)據(jù)時,該存儲器控制器對該第一已更新實(shí)體區(qū)塊執(zhí)行一數(shù)據(jù)合并程序并且從該閑置區(qū)中提取一個空的實(shí)體區(qū)塊來寫入該更新數(shù)據(jù)。24.根據(jù)權(quán)利要求21所述的存儲器儲存裝置,其中該存儲器控制器從該閑置區(qū)中提取一實(shí)體區(qū)塊作為對應(yīng)該第一已更新實(shí)體區(qū)塊的一暫存實(shí)體區(qū)塊,并且將屬于該第一邏輯區(qū)塊且數(shù)據(jù)量小于一個實(shí)體頁面的大小的數(shù)據(jù)暫存至該暫存實(shí)體區(qū)塊中。全文摘要本發(fā)明提出一種數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置。本方法包括提取一個實(shí)體區(qū)塊作為用于多個已更新實(shí)體區(qū)塊的備用實(shí)體區(qū)塊。本方法也包括,當(dāng)主機(jī)系統(tǒng)欲寫入更新數(shù)據(jù)至某個邏輯區(qū)塊的某個邏輯頁面且在對應(yīng)此邏輯區(qū)塊的已更新實(shí)體區(qū)塊的替換實(shí)體區(qū)塊中對應(yīng)此邏輯頁面的實(shí)體頁面已儲存數(shù)據(jù)時,將備用實(shí)體區(qū)塊獨(dú)立地指派給此已更新實(shí)體區(qū)塊并且將此更新數(shù)據(jù)寫入至備用實(shí)體區(qū)塊中?;?,本方法能夠在無需執(zhí)行數(shù)據(jù)合并程序下完成數(shù)據(jù)寫入,由此縮短執(zhí)行寫入指令的時間。文檔編號G06F12/06GK103077124SQ20111032740公開日2013年5月1日申請日期2011年10月25日優(yōu)先權(quán)日2011年10月25日發(fā)明者陳慶聰,蔡來福申請人:群聯(lián)電子股份有限公司