專利名稱::區(qū)塊管理方法、存儲器控制器與存儲器儲存裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種區(qū)塊管理方法,且尤其涉及一種用于管理可復寫式非易失性存儲器的實體區(qū)塊的區(qū)塊管理方法及使用此方法的存儲器控制器與存儲器儲存裝置。
背景技術(shù):
:數(shù)碼相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于可復寫式非易失性存儲器(rewritablenon-volatilememory)具有數(shù)據(jù)非易失性、省電、體積小、無機械結(jié)構(gòu)、讀寫速度快等特性,最適于可攜式電子產(chǎn)品,例如筆記本式計算機。固態(tài)硬盤就是一種以閃速存儲器作為儲存媒體的儲存裝置。因此,近年閃速存儲器產(chǎn)業(yè)成為電子產(chǎn)業(yè)中相當熱門的一環(huán)??蓮蛯懯椒且资源鎯ζ髂=M具有多個實體區(qū)塊(physicalblock),且每一實體區(qū)塊具有多個實體頁面(physicalpage),其中在實體區(qū)塊中寫入數(shù)據(jù)時必須依據(jù)實體頁面的順序依序地寫入數(shù)據(jù)。此外,已被寫入數(shù)據(jù)的實體頁面并需先被抹除后才能再次用于寫入數(shù)據(jù)。特別是,實體區(qū)塊為抹除的最小單位,并且實體頁面為程序化(亦稱寫入)的最小單元。因此,當可復寫式非易失性存儲器儲存裝置(以下稱為存儲器儲存裝置)被制造完成而進行第一次格式化(亦稱為開卡)時,存儲器儲存裝置的存儲器控制器會對可復寫式非易失性存儲器模組的所有實體區(qū)塊進行磁盤掃瞄以識別好的實體區(qū)塊,將此些好的實體區(qū)塊優(yōu)先分組至數(shù)據(jù)區(qū)與閑置區(qū)并且將剩余的實體區(qū)塊分組至取代區(qū)。數(shù)據(jù)區(qū)的實體區(qū)塊是用以儲存主機系統(tǒng)所儲存的數(shù)據(jù),而閑置區(qū)的實體區(qū)塊是用以輪替數(shù)據(jù)區(qū)中的實體區(qū)塊。因此,在閑置區(qū)中的實體區(qū)塊為空或可使用的區(qū)塊,即無記錄數(shù)據(jù)或標記為已沒用的無效數(shù)據(jù)。也就是說,數(shù)據(jù)區(qū)與閑置區(qū)的實體區(qū)塊的實體頁面是以輪替方式來映射邏輯區(qū)塊的邏輯頁面,以儲存主機系統(tǒng)所寫入的數(shù)據(jù)。例如,當主機系統(tǒng)欲將數(shù)據(jù)寫入至儲存裝置的某一邏輯區(qū)塊的某一邏輯頁面時,存儲器控制器會從閑置區(qū)中提取實體區(qū)塊作為替換實體區(qū)塊,將此數(shù)據(jù)寫入至所提取的替換實體區(qū)塊的實體頁面中,并且記錄此邏輯頁面的數(shù)據(jù)被儲存于此實體頁面中。此外,在數(shù)據(jù)區(qū)中原先映射此邏輯頁面的實體頁面會被標記為無效。取代區(qū)的實體區(qū)塊是用以在存儲器儲存裝置運作過程中取代發(fā)生損壞的實體區(qū)塊。更詳細來說,在一個實體區(qū)塊經(jīng)過多次抹除(例如,10000次)后,此實體區(qū)塊可能會損壞而無法再被程序化。因此,當數(shù)據(jù)區(qū)中有實體區(qū)塊損壞時,存儲器控制器會嘗試從取代區(qū)中提取可用實體區(qū)塊來取代壞實體區(qū)塊。特別是,倘若取代區(qū)無可用實體區(qū)塊可取代壞實體區(qū)塊時,則此儲存裝置將會被宣告無法再被用來儲存數(shù)據(jù),即進入寫入保護模式。然而,事實上,當取代區(qū)無可用實體區(qū)塊可取代壞實體區(qū)塊時,數(shù)據(jù)區(qū)與閑置區(qū)中仍存許多未損壞的實體區(qū)塊,可用以儲存數(shù)據(jù)。因此,如果可繼續(xù)利用此些未損壞的實體區(qū)塊來儲存數(shù)據(jù),將可有效地延長存儲器儲存裝置的壽命。
發(fā)明內(nèi)容本發(fā)明提供一種區(qū)塊管理方法、存儲器控制器與存儲器儲存裝置,其能夠有效地使用未損壞的實體區(qū)塊。本發(fā)明范例實施例提出一種區(qū)塊管理方法,用于一可復寫式非易失性存儲器模組,其中此可復寫式非易失性存儲器模組具有多個實體區(qū)塊。本區(qū)塊管理方法包括將此些實體區(qū)塊邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū),其中數(shù)據(jù)區(qū)的實體區(qū)塊包括一個或多個壞實體區(qū)塊。本區(qū)塊管理方法亦包括配置多個邏輯區(qū)塊,以映射屬于數(shù)據(jù)區(qū)的實體區(qū)塊,其中每一邏輯區(qū)塊獨立地映射數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一。本區(qū)塊管理方法還包括將此些邏輯區(qū)塊之中映射壞實體區(qū)塊的邏輯區(qū)塊標記為屬于壞邏輯地址。在本發(fā)明的一實施例中,上述的將邏輯區(qū)塊之中映射壞實體區(qū)塊的壞邏輯區(qū)塊標記為屬于壞邏輯地址的步驟包括在區(qū)塊映射表中記錄邏輯區(qū)塊與屬于數(shù)據(jù)區(qū)的實體區(qū)塊之間的多個映射;在區(qū)塊映射表中為每一邏輯區(qū)塊對應地配置一識別標記;以及在區(qū)塊映射表中將對應屬于壞邏輯地址的邏輯區(qū)塊的識別標記分別地記錄成損壞狀態(tài)。在本發(fā)明的一實施例中,上述的區(qū)塊管理方法還包括從主機系統(tǒng)接收第一寫入指令與對應第一寫入指令的第一寫入數(shù)據(jù),其中第一寫入數(shù)據(jù)是屬于第一邏輯區(qū)塊并且在區(qū)塊映射表中第一邏輯區(qū)塊目前映射數(shù)據(jù)區(qū)的實體區(qū)塊之中的第一實體區(qū)塊并且,上述本區(qū)塊管理方法還包括判斷對應第一邏輯區(qū)塊的識別標記是否被記錄為損壞狀態(tài);以及當對應第一邏輯區(qū)塊的識別標記被記錄為損壞狀態(tài)時,將錯誤信息傳送給主機系統(tǒng)以回應此第一寫入指令。在本發(fā)明的一實施例中,上述的區(qū)塊管理方法還包括當對應第一邏輯區(qū)塊的識別標記非被記錄為損壞狀態(tài)時,從閑置區(qū)中提取第二實體區(qū)塊,并且下達第一程序化指令以將第一寫入數(shù)據(jù)寫入至第二實體區(qū)塊。在本發(fā)明的一實施例中,上述的區(qū)塊管理方法還包括判斷第一寫入數(shù)據(jù)是否正常地被寫入至第二實體區(qū)塊中;以及當?shù)谝粚懭霐?shù)據(jù)無法正常地被寫入至第二實體區(qū)塊中時,判斷取代區(qū)的實體區(qū)塊之中是否存有可用實體區(qū)塊。上述本區(qū)塊管理方法還包括,當取代區(qū)的實體區(qū)塊之中無存有可用實體區(qū)塊時,在區(qū)塊映射表中將第一邏輯區(qū)塊重新映射至第二實體區(qū)塊,在區(qū)塊映射表中將對應第一邏輯區(qū)塊的識別標記記錄成損壞狀態(tài)并且將第一實體區(qū)塊關(guān)聯(lián)至閑置區(qū)。本發(fā)明范例實施例提出一種區(qū)塊管理方法,用于可復寫式非易失性存儲器模組,其中可復寫式非易失性存儲器模組具有多個實體區(qū)塊。本區(qū)塊管理方法包括將此些實體區(qū)塊邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū);并且配置多個邏輯區(qū)塊,以映射數(shù)據(jù)區(qū)的實體區(qū)塊,其中每一邏輯區(qū)塊獨立地映射數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一。本區(qū)塊管理方法也包括從主機系統(tǒng)接收第一寫入指令與對應第一寫入指令的第一寫入數(shù)據(jù),其中第一寫入數(shù)據(jù)是屬于第一邏輯區(qū)塊并且第一邏輯區(qū)塊映射數(shù)據(jù)區(qū)的實體區(qū)塊之中的第一實體區(qū)塊。本區(qū)塊管理方法還包括從閑置區(qū)中提取第二實體區(qū)塊,下達第一程序化指令以將第一寫入數(shù)據(jù)寫入至第二實體區(qū)塊中并且判斷第一寫入數(shù)據(jù)是否正常地被寫入至第二實體區(qū)塊中。本區(qū)塊管理方法還包括,當?shù)谝粚懭霐?shù)據(jù)無法正常地被寫入至第二實體區(qū)塊中時,判斷取代區(qū)中是否存有可用實體區(qū)塊;以及當取代區(qū)中無存有可用實體區(qū)塊時,將第一邏輯區(qū)塊重新映射至第二實體區(qū)塊,將第一邏輯區(qū)塊標記為屬于壞邏輯地址并且將第一實體區(qū)塊關(guān)聯(lián)至閑置區(qū)。在本發(fā)明的一實施例中,上述的區(qū)塊管理方法還包括,當取代區(qū)中存有可用實體區(qū)塊時,下達第二程序化指令以將第一寫入數(shù)據(jù)寫入至可用實體區(qū)塊中。在本發(fā)明的一實施例中,上述的區(qū)塊管理方法還包括在區(qū)塊映射表中記錄邏輯區(qū)塊與屬于數(shù)據(jù)區(qū)的實體區(qū)塊之間的多個映射;以及在區(qū)塊映射表中為每一邏輯區(qū)塊對應地配置一識別標記。此外,上述的將第一邏輯區(qū)塊標記為屬于壞邏輯地址的步驟包括在區(qū)塊映射表中將對應第一邏輯區(qū)塊的識別標記記錄成損壞狀態(tài)。本發(fā)明范例實施例提出一種存儲器控制器,用于控制可復寫式非易失性存儲器模組,其中此可復寫式非易失性存儲器模組具有多個實體區(qū)塊。本存儲器控制器包括主機接口、存儲器接口與存儲器管理電路。主機接口用以電性連接至主機系統(tǒng)。存儲器接口用以電性連接至可復寫式非易失性存儲器模組。存儲器管理電路電性連接至主機接口與存儲器接口,并且用以將此些實體區(qū)塊邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū),其中數(shù)據(jù)區(qū)的實體區(qū)塊包括一個或多個壞實體區(qū)塊。此外,存儲器管理電路還用以配置多個邏輯區(qū)塊,`以映射屬于數(shù)據(jù)區(qū)的實體區(qū)塊,其中每一邏輯區(qū)塊獨立地映射數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一。再者,存儲器管理電路還用以將邏輯區(qū)塊之中映射壞實體區(qū)塊的邏輯區(qū)塊標記為屬于壞邏輯地址。在本發(fā)明的一實施例中,上述的存儲器管理電路在區(qū)塊映射表中記錄邏輯區(qū)塊與屬于數(shù)據(jù)區(qū)的實體區(qū)塊之間的映射。此外,存儲器管理電路在區(qū)塊映射表中為每一邏輯區(qū)塊對應地配置識別標記。再者,存儲器管理電路在區(qū)塊映射表中將對應屬于壞邏輯地址的邏輯區(qū)塊的識別標記分別地記錄成損壞狀態(tài)。在本發(fā)明的一實施例中,上述的存儲器管理電路通過主機接口從主機系統(tǒng)接收第一寫入指令與對應第一寫入指令的第一寫入數(shù)據(jù),其中第一寫入數(shù)據(jù)是屬于第一邏輯區(qū)塊并且在區(qū)塊映射表中第一邏輯區(qū)塊目前映射數(shù)據(jù)區(qū)的實體區(qū)塊之中的第一實體區(qū)塊。再者,存儲器管理電路判斷對應第一邏輯區(qū)塊的識別標記是否被記錄為損壞狀態(tài)。當對應第一邏輯區(qū)塊的識別標記被記錄為損壞狀態(tài)時,存儲器管理電路將錯誤信息傳送給主機系統(tǒng)以回應此第一寫入指令。在本發(fā)明的一實施例中,當對應第一邏輯區(qū)塊的識別標記非被記錄為損壞狀態(tài)時,存儲器管理電路從閑置區(qū)的實體區(qū)塊中提取第二實體區(qū)塊,并且下達第一程序化指令以將第一寫入數(shù)據(jù)寫入至第二實體區(qū)塊。在本發(fā)明的一實施例中,上述的存儲器管理電路判斷第一寫入數(shù)據(jù)是否正常地被寫入至第二實體區(qū)塊中。當?shù)谝粚懭霐?shù)據(jù)無法正常地被寫入至第二實體區(qū)塊中時,存儲器管理電路判斷取代區(qū)的實體區(qū)塊之中是否存有可用實體區(qū)塊。當取代區(qū)的實體區(qū)塊之中無存有可用實體區(qū)塊時,存儲器管理電路在區(qū)塊映射表中將第一邏輯區(qū)塊重新映射至第二實體區(qū)塊,在區(qū)塊映射表中將對應第一邏輯區(qū)塊的識別標記記錄成損壞狀態(tài)并且將第一實體區(qū)塊關(guān)聯(lián)至閑置區(qū)。本發(fā)明范例實施例提出一種存儲器控制器,用于控制可復寫式非易失性存儲器模組,其中此可復寫式非易失性存儲器模組具有多個實體區(qū)塊。本存儲器控制器包括主機接口、存儲器接口與存儲器管理電路。主機接口用以電性連接至主機系統(tǒng)。存儲器接口用以電性連接至可復寫式非易失性存儲器模組。存儲器管理電路電性連接至主機接口與存儲器接口,并且用以將此些實體區(qū)塊邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū)。此外,存儲器管理電路還用以配置多個邏輯區(qū)塊,以映射數(shù)據(jù)區(qū)的實體區(qū)塊,其中每一邏輯區(qū)塊獨立地映射數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一。另外,存儲器管理電路通過主機接口從主機系統(tǒng)接收第一寫入指令與對應第一寫入指令的第一寫入數(shù)據(jù),其中第一寫入數(shù)據(jù)是屬于第一邏輯區(qū)塊并且第一邏輯區(qū)塊映射數(shù)據(jù)區(qū)的實體區(qū)塊之中的第一實體區(qū)塊。并且,存儲器管理電路還用以從閑置區(qū)的實體區(qū)塊中提取第二實體區(qū)塊,下達第一程序化指令以將第一寫入數(shù)據(jù)寫入至第二實體區(qū)塊中并且判斷第一寫入數(shù)據(jù)是否正常地被寫入至第二實體區(qū)塊中。當?shù)谝粚懭霐?shù)據(jù)無法正常地被寫入至第二實體區(qū)塊中時,存儲器管理電路判斷取代區(qū)的實體區(qū)塊之中是否存有可用實體區(qū)塊。當取代區(qū)的實體區(qū)塊之中無存有可用實體區(qū)塊時,其中存儲器管理電路將第一邏輯區(qū)塊重新映射至第二實體區(qū)塊,將第一邏輯區(qū)塊標記為屬于壞邏輯地址并且將第一實體區(qū)塊關(guān)聯(lián)至閑置區(qū)。在本發(fā)明的一實施例中,當取代區(qū)的實體區(qū)塊之中存有可用實體區(qū)塊時,存儲器管理電路下達第二程序化指令以將第一寫入數(shù)據(jù)寫入至可用實體區(qū)塊中。在本發(fā)明的一實施例中,上述的存儲器管理電路在區(qū)塊映射表中記錄邏輯區(qū)塊與屬于數(shù)據(jù)區(qū)的實體區(qū)塊之間的映射,在區(qū)塊映射表中為每一邏輯區(qū)塊對應地配置一識別標記,并且在區(qū)塊映射表中將對應第一邏輯區(qū)塊的識別標記記錄成損壞狀態(tài),以將第一邏輯區(qū)塊標記為屬于壞邏輯地址。本發(fā)明范例實施例提出一種存儲器儲存裝置,其包括具有多個實體區(qū)塊的可復寫式非易失性存儲器模組、用以電性連接至主機系統(tǒng)的連接器與存儲器控制器。存儲器控制器電性連接至可復寫式非易失性存儲器模組與連接器,并且用以將實體區(qū)塊邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū),其中數(shù)據(jù)區(qū)的實體區(qū)塊包括一個或多個壞實體區(qū)塊。此外,存儲器控制器還用以配置多個邏輯區(qū)塊,以映射屬于數(shù)據(jù)區(qū)的實體區(qū)塊,其中每一邏輯區(qū)塊獨立地映射數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一。再者,存儲器控制器還用以將邏輯區(qū)塊之中映射壞實體區(qū)塊的邏輯區(qū)塊標記為屬于壞邏輯地址。在本發(fā)明的一實施例中,上述的存儲器控制器在區(qū)塊映射表中記錄邏輯區(qū)塊與屬于數(shù)據(jù)區(qū)的實體區(qū)塊之間的映射。此外,存儲器控制器在區(qū)塊映射表中為每一邏輯區(qū)塊對應地配置識別標記。再者,存儲器控制器在區(qū)塊映射表中將對應屬于壞邏輯地址的邏輯區(qū)塊的識別標記分別地記錄成損壞狀態(tài)。在本發(fā)明的一實施例中,上述的存儲器控制器通過連接器從主機系統(tǒng)接收第一寫入指令與對應第一寫入指令的第一寫入數(shù)據(jù),其中第一寫入數(shù)據(jù)是屬于第一邏輯區(qū)塊并且在區(qū)塊映射表中第一邏輯區(qū)塊目前映射數(shù)據(jù)區(qū)的實體區(qū)塊之中的第一實體區(qū)塊。再者,存儲器控制器判斷對應第一邏輯區(qū)塊的識別標記是否被記錄為損壞狀態(tài)。當對應第一邏輯區(qū)塊的識別標記被記錄為損壞狀態(tài)時,存儲器控制器將錯誤信息傳送給主機系統(tǒng)以回應此第一寫入指令。在本發(fā)明的一實施例中,當對應第一邏輯區(qū)塊的識別標記非被記錄為損壞狀態(tài)時,存儲器控制器從閑置區(qū)的實體區(qū)塊中提取第二實體區(qū)塊,并且下達第一程序化指令以將第一寫入數(shù)據(jù)寫入至第二實體區(qū)塊。在本發(fā)明的一實施例中,上述的存儲器控制器判斷第一寫入數(shù)據(jù)是否正常地被寫入至第二實體區(qū)塊中。當?shù)谝粚懭霐?shù)據(jù)無法正常地被寫入至第二實體區(qū)塊中時,存儲器控制器判斷取代區(qū)的實體區(qū)塊之中是否存有可用實體區(qū)塊。當取代區(qū)的實體區(qū)塊之中無存有可用實體區(qū)塊時,存儲器控制器在區(qū)塊映射表中將第一邏輯區(qū)塊重新映射至第二實體區(qū)塊,在區(qū)塊映射表中將對應第一邏輯區(qū)塊的識別標記記錄成損壞狀態(tài)并且將第一實體區(qū)塊關(guān)聯(lián)至閑置區(qū)。本發(fā)明范例實施例提出一種存儲器儲存裝置,其包括具有多個實體區(qū)塊的可復寫式非易失性存儲器模組、用以電性連接至主機系統(tǒng)的連接器與存儲器控制器。存儲器控制器電性連接至可復寫式非易失性存儲器模組與連接器,并且用以將實體區(qū)塊邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū)。此外,存儲器控制器還用以配置多個邏輯區(qū)塊,以映射數(shù)據(jù)區(qū)的實體區(qū)塊,其中每一邏輯區(qū)塊獨立地映射數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一。另外,存儲器控制器通過連接器從主機系統(tǒng)接收第一寫入指令與對應第一寫入指令的第一寫入數(shù)據(jù),其中第一寫入數(shù)據(jù)是屬于第一邏輯區(qū)塊并且第一邏輯區(qū)塊映射數(shù)據(jù)區(qū)的實體區(qū)塊之中的第一實體區(qū)塊。另外,存儲器控制器還用以從閑置區(qū)中提取第二實體區(qū)塊,下達第一程序化指令以將第一寫入數(shù)據(jù)寫入至第二實體區(qū)塊中并且判斷第一寫入數(shù)據(jù)是否正常地被寫入至第二實體區(qū)塊中。當?shù)谝粚懭霐?shù)據(jù)無法正常地被寫入至第二實體區(qū)塊中時,存儲器控制器判斷取代區(qū)的實體區(qū)塊之中是否存有可用實體區(qū)塊。當取代區(qū)的實體區(qū)塊之中無存有可用實體區(qū)塊時,存儲器控制器將第一邏輯區(qū)塊重新映射至第二實體區(qū)塊,將第一邏輯區(qū)塊標記為屬于壞邏輯地址并且將第一實體區(qū)塊關(guān)聯(lián)至閑置區(qū)。在本發(fā)明的一實施例中,當取代區(qū)的實體區(qū)塊之中存有可用實體區(qū)塊時,存儲器控制器下達第二程序化指令以將第一寫入數(shù)據(jù)寫入至可用實體區(qū)塊中。在本發(fā)明的一實施例中,上述的存儲器控制器在區(qū)塊映射表中記錄邏輯區(qū)塊與屬于數(shù)據(jù)區(qū)的實體區(qū)塊之間的映射,在區(qū)塊映射表中為每一邏輯區(qū)塊對應地配置一識別標記,并且在區(qū)塊映射表中將對應第一邏輯區(qū)塊的識別標記記錄成損壞狀態(tài),以將第一邏輯區(qū)塊標記為屬于壞邏輯地址?;谏鲜?,本發(fā)明范例實施例的區(qū)塊管理方法、存儲器控制器與存儲器儲存裝置能夠有效地利用未損壞的實體區(qū)塊,以使得壞實體區(qū)塊過多個可復寫式非易失性存儲器模組亦可繼續(xù)被用來儲存數(shù)據(jù)并且延長存儲器儲存裝置的壽命。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。圖IA是根據(jù)本發(fā)明第一范例實施例顯示主機系統(tǒng)與存儲器儲存裝置。圖IB是根據(jù)本發(fā)明第一范例實施例所顯示的計算機、輸入/輸出裝置與存儲器儲存裝置的示意圖。圖IC是根據(jù)本發(fā)明另一范例實施例所顯示的主機系統(tǒng)與存儲器儲存裝置的示意圖。圖2是顯示圖IA所示的存儲器儲存裝置的概要方框圖。圖3是根據(jù)本發(fā)明第一范例實施例所顯示的存儲器控制器的概要方框圖。圖4A與圖4B是根據(jù)本發(fā)明第一范例實施例所顯示管理可復寫式非易失性存儲器模組的實體區(qū)塊的示意圖。圖5圖7是根據(jù)本發(fā)明第一范例實施例所顯示的寫入數(shù)據(jù)至可復寫式非易失性存儲器模組的范例。圖8是根據(jù)本發(fā)明第一范例實施所顯示的區(qū)塊映射表的范例。圖9是根據(jù)第一范例實施例的區(qū)塊管理方法所顯示的分組實體區(qū)塊與配置邏輯區(qū)塊的流程圖。圖10是根據(jù)第一范例實施例的區(qū)塊管理方法所顯示的執(zhí)行來自于主機系統(tǒng)的寫入指令的流程圖。圖11是根據(jù)第二范例實施例所顯示的開卡時所建立的區(qū)塊映射表的范例。圖12是根據(jù)本發(fā)明第二范例實施例所顯示的區(qū)塊映射表的另一范例。圖13是根據(jù)第二范例實施例的區(qū)塊管理方法所顯示的分組實體區(qū)塊與配置邏輯區(qū)塊的流程圖。圖14是根據(jù)第二范例實施例的區(qū)塊管理方法所顯示的執(zhí)行來自于主機系統(tǒng)的寫入指令的流程圖。附圖標記1000:主機系統(tǒng)1100:計算機1102:微處理器1104:隨機存取存儲器1106:輸入/輸出裝置1108:系統(tǒng)總線1110:數(shù)據(jù)傳輸接口1202:鼠標1204:鍵盤1206:顯示器1208:打印機1212:隨身碟1214:記憶卡1216:固態(tài)硬盤1310:數(shù)碼相機1312SD卡1314:MMC卡1316:記憶棒1318:CF卡1320:嵌入式儲存裝置100:存儲器儲存裝置102:連接器104:存儲器控制器106:可復寫式非易失性存儲器模組202:存儲器管理電路204:主機接口206:存儲器接口252:緩沖存儲器254:電源管理電路256:錯誤檢查與校正電路502:數(shù)據(jù)區(qū)504:閑置區(qū)506:系統(tǒng)區(qū)508:取代區(qū)410(0)410(N):實體區(qū)塊610(0)610(H):邏輯區(qū)塊710(0)710(K):邏輯存取地址800:區(qū)塊映射表S901、S903、S905、S907、S909:分組實體區(qū)塊與配置邏輯區(qū)塊的步驟S1001、S1003、S1005、S1007、S1009:執(zhí)行來自于主機系統(tǒng)的寫入指令的步驟S130US1303:分組實體區(qū)塊與配置邏輯區(qū)塊的步驟S1401、S1403、S1405、S1407、S1409、S1411、S1413、S1415:執(zhí)行來自于主機系統(tǒng)的寫入指令的步驟具體實施例方式[第一范例實施例]—般而言,存儲器儲存裝置(亦稱,存儲器儲存系統(tǒng))包括可復寫式非易失性存儲器模組與控制器(亦稱,控制電路)。通常存儲器儲存裝置是與主機系統(tǒng)一起使用,以使主機系統(tǒng)可將數(shù)據(jù)寫入至存儲器儲存裝置或從存儲器儲存裝置中讀取數(shù)據(jù)。圖IA是根據(jù)本發(fā)明第一范例實施例所顯示的主機系統(tǒng)與存儲器儲存裝置。請參照圖1A,主機系統(tǒng)1000—般包括計算機1100與輸入/輸出(input/output,I/O)裝置1106。計算機1100包括微處理器1102、隨機存取存儲器(randomaccessmemory,RAM)1104、系統(tǒng)總線1108與數(shù)據(jù)傳輸接口1110。輸入/輸出裝置1106包括如圖IB的鼠標1202、鍵盤1204、顯示器1206與打印機1208。必須了解的是,圖IB所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。在本發(fā)明實施例中,存儲器儲存裝置100是通過數(shù)據(jù)傳輸接口1110與主機系統(tǒng)1000的其他元件電性連接。藉由微處理器1102、隨機存取存儲器1104與輸入/輸出裝置1106的運作可將數(shù)據(jù)寫入至存儲器儲存裝置100或從存儲器儲存裝置100中讀取數(shù)據(jù)。例如,存儲器儲存裝置100可以是如圖IB所示的隨身碟1212、記憶卡1214或固態(tài)硬盤(SolidStateDrive,SSD)1216等的可復寫式非易失性存儲器儲存裝置。一般而言,主機系統(tǒng)1000可實質(zhì)地為可與存儲器儲存裝置100配合以儲存數(shù)據(jù)的任意系統(tǒng)。雖然在本范例實施例中,主機系統(tǒng)1000是以計算機系統(tǒng)來作說明,然而,在本發(fā)明另一范例實施例中主機系統(tǒng)1000可以是數(shù)碼相機、攝影機、通信裝置、音頻播放器或視頻播放器等系統(tǒng)。例如,在主機系統(tǒng)為數(shù)碼相機(攝影機)1310時,可復寫式非易失性存儲器儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memorystick)1316、CF卡1318或嵌入式儲存裝置1320(如圖IC所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機系統(tǒng)的基板上。圖2是顯示圖IA所示的存儲器儲存裝置的概要方框圖。請參照圖2,存儲器儲存裝置100包括連接器102、存儲器控制器104與可復寫式非易失性存儲器模組106。在本范例實施例中,連接器102是相容于序列先進附件(SerialAdvancedTechnologyAttachment,SATA)標準。然而,必須了解的是,本發(fā)明不限于此,連接器102亦可以是符合電氣和電子工程師協(xié)會(InstituteofElectricalandElectronicEngineers,IEEE)1394標準、平行先進附件(ParallelAdvancedTechnologyAttachment,PATA)標準、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,PCIExpress)標準、通用串行總線(UniversalSerialBus,USB)標準、安全數(shù)位(SecureDigital,SD)接口標準、記憶棒(MemoryStick,MS)接口標準、多媒體儲存卡(MultiMediaCard,MMC)接口標準、小型閃速(CompactFlash,CF)接口標準、整合式驅(qū)動電子接口(IntegratedDeviceElectronics,IDE)標準或其他適合的標準。存儲器控制器104用以執(zhí)行以硬件型式或固件型式實作的多個邏輯門或控制指令,并且根據(jù)主機系統(tǒng)1000的指令在可復寫式非易失性存儲器模組106中進行數(shù)據(jù)的寫入、讀取、抹除與合并等運作??蓮蛯懯椒且资源鎯ζ髂=M106是電性連接至存儲器控制器104,并且具有多個實體區(qū)塊以儲存主機系統(tǒng)1000所寫入的數(shù)據(jù)。在本范例實施例中,每一實體區(qū)塊分別具有復數(shù)個實體頁面,其中屬于同一個實體區(qū)塊的實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體區(qū)塊是由128個實體頁面所組成,并且每一實體頁面的容量為4千字節(jié)(Kilobyte,KB)。然而,必須了解的是,本發(fā)明不限于此,每一實體區(qū)塊是可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成。更詳細來說,實體區(qū)塊為抹除的最小單位。亦即,每一實體區(qū)塊含有最小數(shù)目之一并被抹除的存儲單元。實體頁面為程序化的最小單元。即,實體頁面為寫入數(shù)據(jù)的最小單元。然而,必須了解的是,在本發(fā)明另一范例實施例中,寫入數(shù)據(jù)的最小單位亦可以是實體扇區(qū)或其他大小。每一實體頁面通常包括數(shù)據(jù)位元區(qū)與冗余位元區(qū)。數(shù)據(jù)位元區(qū)用以儲存使用者的數(shù)據(jù),而冗余位元區(qū)用以儲存系統(tǒng)的數(shù)據(jù)(例如,錯誤檢查與校正碼)。在本范例實施例中,可復寫式非易失性存儲器模組106為多階存儲單元(MultiLevelCelI,MLC)NAND閃速存儲器模組。然而,本發(fā)明不限于此,可復寫式非易失性存儲器模組106亦可是單階存儲單元(SingleLevelCell,SLC)NAND閃速存儲器模組、其他閃速存儲器模組或其他具有相同特性的存儲器模組。圖3是根據(jù)本發(fā)明第一范例實施例所顯示的存儲器控制器的概要方框圖。請參照圖3,存儲器控制器104包括存儲器管理電路202、主機接口204與存儲器接口206。存儲器管理電路202用以控制存儲器控制器104的整體運作。具體來說,存儲器管理電路202具有多個控制指令,并且在存儲器儲存裝置100運作時,此些控制指令會被執(zhí)行以根據(jù)本范例實施例的區(qū)塊管理方法來管理可復寫式非易失性存儲器模組106中的實體區(qū)塊。在本范例實施例中,存儲器管理電路202的控制指令是以固件型式來實作。例如,存儲器管理電路202具有微處理器單元(未示出)與只讀存儲器(未示出),并且此些控制指令是被燒錄至此只讀存儲器中。當存儲器儲存裝置100運作時,此些控制指令會由微處理器單元來執(zhí)行以進行數(shù)據(jù)的寫入、讀取與抹除等運作。在本發(fā)明另一范例實施例中,存儲器管理電路202的控制指令亦可以程序碼型式儲存于可復寫式非易失性存儲器模組106的特定區(qū)域(例如,存儲器模組中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲器管理電路202具有微處理器單元(未示出)、只讀存儲器(未示出)及隨機存取存儲器(未示出)。特別是,此只讀存儲器具有驅(qū)動碼段,并且當存儲器控制器104被使能時,微處理器單元會先執(zhí)行此驅(qū)動碼段來將儲存于可復寫式非易失性存儲器模組106中的控制指令載入至存儲器管理電路202的隨機存取存儲器中。之后,微處理器單元會運轉(zhuǎn)此些控制指令以進行數(shù)據(jù)的寫入、讀取與抹除等運作。此外,在本發(fā)明另一范例實施例中,存儲器管理電路202的控制指令亦可以一硬件型式來實作。主機接口204是電性連接至存儲器管理電路202并且用以接收與識別主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)。也就是說,主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)會通過主機接口204來傳送至存儲器管理電路202。在本范例實施例中,主機接口204是相容于SATA標準。然而,必須了解的是本發(fā)明不限于此,主機接口204亦可以是相容于PATA標準、IEEE1394標準、PCIExpress標準、USB標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的數(shù)據(jù)傳輸標準。存儲器接口206是電性連接至存儲器管理電路202并且用以存取可復寫式非易失性存儲器模組106。也就是說,欲寫入至可復寫式非易失性存儲器模組106的數(shù)據(jù)會經(jīng)由存儲器接口206轉(zhuǎn)換為可復寫式非易失性存儲器模組106所能接受的格式。在本發(fā)明一范例實施例中,存儲器控制器104還包括緩沖存儲器252。緩沖存儲器252是電性連接至存儲器管理電路202并且用以暫存來自于主機系統(tǒng)1000的數(shù)據(jù)與指令或來自于可復寫式非易失性存儲器模組106的數(shù)據(jù)。在本發(fā)明一范例實施例中,存儲器控制器104還包括電源管理電路254。電源管理電路254是電性連接至存儲器管理電路202并且用以控制存儲器儲存裝置100的電源。在本發(fā)明一范例實施例中,存儲器控制器104還包括錯誤檢查與校正電路256。錯誤檢查與校正電路256是電性連接至存儲器管理電路202并且用以執(zhí)行錯誤檢查與校正程序以確保數(shù)據(jù)的正確性。具體來說,當存儲器管理電路202從主機系統(tǒng)1000中接收到寫入指令時,錯誤檢查與校正電路256會為對應此寫入指令的數(shù)據(jù)產(chǎn)生對應的錯誤檢查與校正碼(ErrorCheckingandCorrectingCode,ECCCode),并且存儲器管理電路202會將對應此寫入指令的數(shù)據(jù)與對應的錯誤檢查與校正碼寫入至可復寫式非易失性存儲器模組106中。之后,當存儲器管理電路202從可復寫式非易失性存儲器模組106中讀取數(shù)據(jù)時會同時讀取此數(shù)據(jù)對應的錯誤檢查與校正碼,并且錯誤檢查與校正電路256會依據(jù)此錯誤檢查與校正碼對所讀取的數(shù)據(jù)執(zhí)行錯誤檢查與校正程序。圖4A與圖4B是根據(jù)本發(fā)明范例實施例所顯示管理可復寫式非易失性存儲器模組的實體區(qū)塊的示意圖。請參照圖4A,可復寫式非易失性存儲器模組106具有實體區(qū)塊410(O)410(N),并且存儲器控制器104的存儲器管理電路202會將實體區(qū)塊410(O)410(N)邏輯地分組為(或指派至)數(shù)據(jù)區(qū)(dataarea)502、閑置區(qū)(freearea)504、系統(tǒng)區(qū)(systemarea)506與取代區(qū)(replacementarea)508。邏輯上屬于數(shù)據(jù)區(qū)502與閑置區(qū)504的實體區(qū)塊是用以儲存來自于主機系統(tǒng)1000的數(shù)據(jù)。具體來說,數(shù)據(jù)區(qū)502的實體區(qū)塊(亦稱為數(shù)據(jù)實體區(qū)塊)是被視為已儲存數(shù)據(jù)的實體區(qū)塊,而閑置區(qū)504的實體區(qū)塊(亦稱為閑置實體區(qū)塊)是用以寫入新數(shù)據(jù)的實體區(qū)塊。例如,當從主機系統(tǒng)1000接收到寫入指令與欲寫入的數(shù)據(jù)時,存儲器管理電路202會從閑置區(qū)504中提取實體區(qū)塊,并且將數(shù)據(jù)寫入至所提取的實體區(qū)塊中。再例如,當對某一邏輯區(qū)塊執(zhí)行數(shù)據(jù)合并程序時,存儲器管理電路202會從閑置區(qū)504中提取實體區(qū)塊作為對應此邏輯區(qū)塊的新數(shù)據(jù)實體區(qū)塊來寫入數(shù)據(jù),并且替換原先映射此邏輯區(qū)塊的數(shù)據(jù)實體區(qū)塊。在本范例實施例中,存儲器管理電路202是以每一實體區(qū)塊為單位來對數(shù)據(jù)區(qū)502與閑置區(qū)504的實體區(qū)塊進行管理。然而,本發(fā)明不限于此,在另一范例實施例中,存儲器管理電路202亦可將數(shù)據(jù)區(qū)502與閑置區(qū)504的實體區(qū)塊分組為多個實體單元,并且以實體單元為單位來進行管理。例如,每一實體單元可由同一存儲器子模組或不同存儲器子模組中的至少一個實體區(qū)塊所組成。邏輯上屬于系統(tǒng)區(qū)506的實體區(qū)塊是用以記錄系統(tǒng)數(shù)據(jù)。例如,系統(tǒng)數(shù)據(jù)包括關(guān)于可復寫式非易失性存儲器模組的制造商與型號、可復寫式非易失性存儲器模組的實體區(qū)塊數(shù)、每一實體區(qū)塊的實體頁面數(shù)等。邏輯上屬于取代區(qū)508中的實體區(qū)塊是用于壞實體區(qū)塊取代程序,以取代損壞的實體區(qū)塊。具體來說,在存儲器儲存裝置100運作期間,倘若數(shù)據(jù)區(qū)502或閑置區(qū)504的實體區(qū)塊損壞時,存儲器管理電路202會從取代區(qū)508中提取正常的實體區(qū)塊來更換損壞的實體區(qū)塊?;谏鲜觯诖鎯ζ鲀Υ嫜b置100的運作中,數(shù)據(jù)區(qū)502、閑置區(qū)504、系統(tǒng)區(qū)506與取代區(qū)508的實體區(qū)塊會動態(tài)地變動。例如,用以輪替儲存數(shù)據(jù)的實體區(qū)塊會變動地屬于數(shù)據(jù)區(qū)502或閑置區(qū)504。值得一提的是,在存儲器儲存裝置100被制造完成而進行第一次被初始化(亦稱為開卡)時,存儲器管理電路202會對可復寫式非易失性存儲器模組106的所有實體區(qū)塊410(0)410(N)進行磁盤掃瞄以識別好實體區(qū)塊,將此些好實體區(qū)塊分組為數(shù)據(jù)區(qū)502、閑置區(qū)504與系統(tǒng)區(qū)506并且將剩余好的實體區(qū)塊分組至取代區(qū)508,其中數(shù)據(jù)區(qū)502、閑置區(qū)504與系統(tǒng)區(qū)506的實體區(qū)塊的數(shù)量是固定的。具體來說,可復寫式非易失性存儲器模組106在制造過程中,可能會產(chǎn)生具缺陷的實體區(qū)塊(以下稱為壞實體區(qū)塊),因此,存儲器管理電路202會先識別出可用的實體區(qū)塊。此外,存儲器儲存裝置100會被配置具有固定數(shù)目的實體區(qū)塊的數(shù)據(jù)區(qū)502、閑置區(qū)504與系統(tǒng)區(qū)506。特別是,在本范例實施例中,存儲器管理電路202會判斷在開卡程序中被分組至取代區(qū)508中好實體區(qū)塊的數(shù)量是否小于一預定數(shù)目。例如,此預定數(shù)目會被設定為10,但本發(fā)明不以此為限。倘若被分組至取代區(qū)508中好實體區(qū)塊的數(shù)量小于預定數(shù)目時,存儲器管理電路202會將部分壞實體區(qū)塊分組至數(shù)據(jù)區(qū)502并且將部分好實體區(qū)塊從數(shù)據(jù)區(qū)502移至取代區(qū)508,以使得取代區(qū)508中好實體區(qū)塊的數(shù)量等于預定數(shù)目。也就是說,在開卡程序中,至少會將預定數(shù)目的好實體區(qū)塊分組至取代區(qū)508,并且倘若好實體區(qū)塊的數(shù)目不足時,部分壞實體區(qū)塊會被分組至數(shù)據(jù)區(qū)502。為了方便說明,在第一范例實施例中,假設在開卡過程中,被分組至數(shù)據(jù)區(qū)502的實體區(qū)塊410(P)為壞實體區(qū)塊。請參照圖4B,存儲器管理電路202會配置邏輯區(qū)塊610(0)610(H)以映射數(shù)據(jù)區(qū)502的實體區(qū)塊,其中每一邏輯區(qū)塊具有多個邏輯頁面并且此些邏輯頁面是依序地映射對應的數(shù)據(jù)實體區(qū)塊的實體頁面。例如,在存儲器儲存裝置100被格式化時,邏輯區(qū)塊610(0)610(H)會初始地映射數(shù)據(jù)區(qū)502的實體區(qū)塊410(0)410(F-I)。在本發(fā)明范例實施例中,存儲器管理電路202會維護區(qū)塊映射表(例如,邏輯區(qū)塊-實體區(qū)塊映射表(logicalblock-physicalblockmappingtable))以記錄邏輯區(qū)塊610(0)610(H)與數(shù)據(jù)區(qū)502的實體區(qū)塊之間的映射。此外,由于主機系統(tǒng)1000是以邏輯存取地址(例如,扇區(qū)(Sector))為單位來存取數(shù)據(jù),當主機系統(tǒng)1000存取數(shù)據(jù)時存儲器管理電路202會將對應存儲器儲存裝置100的邏輯存取地址710(O)710(K)轉(zhuǎn)換成對應的邏輯頁面。例如,當主機系統(tǒng)1000欲存取某一邏輯存取地址時,存儲器管理電路202會將主機系統(tǒng)1000所存取的邏輯存取地址轉(zhuǎn)換為以對應的邏輯區(qū)塊與邏輯頁面所構(gòu)成的多維地址,并且通過區(qū)塊映射表于對應的實體頁面中存取數(shù)據(jù)。圖5圖7是根據(jù)一范例實施例所顯示的使用子實體區(qū)塊來寫入更新數(shù)據(jù)的范例。請同時參照圖5圖7,例如,在邏輯區(qū)塊610(0)是映射至實體區(qū)塊410(0)的映射狀態(tài)下,當存儲器控制器104從主機系統(tǒng)1000中接收到寫入指令而欲寫入數(shù)據(jù)至屬于邏輯區(qū)塊610(O)的邏輯頁面時,存儲器控制器104會依據(jù)邏輯區(qū)塊-實體區(qū)塊映射表識別邏輯區(qū)塊610(O)目前是映射至實體區(qū)塊410(O)并且從閑置區(qū)504中提取實體區(qū)塊410(F)來輪替實體區(qū)塊410(O)。然而,當新數(shù)據(jù)寫入至實體區(qū)塊410(F)的同時,存儲器控制器104不會立刻將實體區(qū)塊410(O)中的所有有效數(shù)據(jù)搬移至實體區(qū)塊410(F)而抹除實體區(qū)塊410(O)。具體來說,存儲器控制器104會從實體區(qū)塊410(O)中讀取欲寫入實體頁面之前的有效數(shù)據(jù)(即,實體區(qū)塊410(0)的第O實體頁面與第I實體頁面中的數(shù)據(jù))。之后,存儲器控制器104會將實體區(qū)塊410(0)中欲寫入實體頁面之前的有效數(shù)據(jù)寫入至實體區(qū)塊410(F)的第O實體頁面與第I實體頁面中(如圖5所示),并且將新數(shù)據(jù)寫入至實體區(qū)塊410(F)的第24個實體頁面中(如圖6所示)。此時,存儲器控制器104即完成寫入的運作。因為實體區(qū)塊410(0)中的有效數(shù)據(jù)有可能在下個操作(例如,寫入指令)中變成無效,因此立刻將實體區(qū)塊410(O)中的有效數(shù)據(jù)搬移至實體區(qū)塊410(F)可能會造成無謂的搬移。此外,數(shù)據(jù)必須依序地寫入至實體區(qū)塊內(nèi)的實體頁面,因此,存儲器控制器104僅會先搬移欲寫入實體頁面之前的有效數(shù)據(jù)(即,儲存在實體區(qū)塊410(O)的第O實體頁面與第O實體頁面中數(shù)據(jù)),并且暫不搬移其余有效數(shù)據(jù)(即,儲存在實體區(qū)塊410(O)的第5K實體頁面中數(shù)據(jù))。在本范例實施例中,暫時地維持此等暫態(tài)關(guān)系的運作稱為開啟(open)母子區(qū)塊,并且原實體區(qū)塊(例如,上述實體區(qū)塊410(0))稱為母實體區(qū)塊而用以替換母實體區(qū)塊的實體區(qū)塊(例如,上述與實體區(qū)塊410(F))稱為子實體區(qū)塊。之后,當需要將實體區(qū)塊410(0)與實體區(qū)塊410(F)的數(shù)據(jù)合并(merge)時,存儲器控制器104會將實體區(qū)塊410(0)與實體區(qū)塊410(F)的數(shù)據(jù)整并至一個實體區(qū)塊,由此提升實體區(qū)塊的使用效率。在此,合并母子區(qū)塊的運作稱為數(shù)據(jù)合并程序或關(guān)閉(close)母子區(qū)塊。例如,如圖7所示,當進行關(guān)閉母子區(qū)塊時,存儲器控制器104會從實體區(qū)塊410(0)中讀取剩余的有效數(shù)據(jù)(即,實體區(qū)塊410(0)的第5K實體頁面中的數(shù)據(jù)),之后,存儲器控制器104會將實體區(qū)塊410(O)中剩余的有效數(shù)據(jù)寫入至實體區(qū)塊410(F)的第5實體頁面第K實體頁面中,然后存儲器控制器104會對實體區(qū)塊410(O)執(zhí)行抹除操作并存儲器控制器104會將抹除后的實體區(qū)塊410(0)關(guān)聯(lián)至閑置區(qū)504并且將實體區(qū)塊410(F)關(guān)聯(lián)至數(shù)據(jù)區(qū)502。也就是說,存儲器控制器104會在邏輯區(qū)塊-實體區(qū)塊映射表中將邏輯區(qū)塊610(0)重新映射至實體區(qū)塊410(F)。此外,在本范例實施例中,存儲器控制器104會建立閑置區(qū)實體區(qū)塊表(未示出)來記錄目前被關(guān)聯(lián)至閑置區(qū)504的實體區(qū)塊。值得一提的是,閑置區(qū)504中實體區(qū)塊的數(shù)目是有限的,基此,在存儲器儲存裝置100運作期間,已開啟的母子區(qū)塊組的數(shù)目亦會受到限制。因此,當存儲器儲存裝置100接收到來自于主機系統(tǒng)1000的寫入指令時,倘若已開啟母子區(qū)塊組的數(shù)目達到上限時,存儲器控制器104需關(guān)閉至少一組目前已開啟的母子區(qū)塊組后才可執(zhí)行此寫入指令。圖8是根據(jù)本發(fā)明第一范例實施所顯示的區(qū)塊映射表的范例。請參照圖8,區(qū)塊映射表800包括邏輯區(qū)塊地址欄位、實體區(qū)塊地址欄位、識別標記欄位O邏輯區(qū)塊地址欄位用以記錄提供給主機系統(tǒng)1000存取的邏輯區(qū)塊,并且實體區(qū)塊地址欄位用以記錄每一邏輯區(qū)塊所映射的實體區(qū)塊。識別標記欄位用以記錄每一邏輯區(qū)塊為好邏輯地址或壞邏輯地址。具體來說,如上所述,在好實體區(qū)塊不足的情況下,一個或多個壞實體區(qū)塊會被分組至數(shù)據(jù)區(qū)502,因此,部分邏輯區(qū)塊會映射至壞實體區(qū)塊。在本范例實施例中,當對應一個邏輯區(qū)塊的識別標記被記錄成表示“非損壞狀態(tài)”的‘0’時表示此邏輯區(qū)塊為好邏輯地址;并且當對應一個邏輯區(qū)塊的識別標記被記錄成表示“損壞狀態(tài)”的‘I’時表示此邏輯區(qū)塊為壞邏輯地址。必須了解的是,本發(fā)明不限于此,其他符號亦可被用于區(qū)別好邏輯地址與壞邏輯地址。例如,在本范例實施例中,數(shù)據(jù)區(qū)502中的壞實體區(qū)塊410(P)在格式化過程中被映射至邏輯區(qū)塊610(K)0基此,存儲器管理電路202會將對應邏輯區(qū)塊610(K)的識別標記記錄成‘I’。在完成上述初始化與格式化之后,存儲器儲存裝置100即可根據(jù)主機系統(tǒng)1000的指令來存取數(shù)據(jù)。值得一提的是,在本范例實施例中,當存儲器管理電路202通過主機接口204從主機系統(tǒng)1000接收到寫入指令與對應此寫入指令的寫入數(shù)據(jù)時,存儲器管理電路202會識別對應此寫入指令的邏輯區(qū)塊并且判斷對應此邏輯區(qū)塊的識別標記是否被記錄成損壞狀態(tài)。倘若對應此邏輯區(qū)塊的識別標記被記錄成損壞狀態(tài)時,存儲器管理電路202會將指示寫入失敗的錯誤信息傳送給主機系統(tǒng)1000以回應此寫入指令,而不進行寫入運作。基此,主機系統(tǒng)1000會根據(jù)此錯誤信息將此邏輯地址標記為壞軌區(qū),而不再使用此邏輯地址來存取數(shù)據(jù)。例如,在完成上述初始化與格式化之后,當主機系統(tǒng)1000傳送指示將數(shù)據(jù)儲存于邏輯區(qū)塊610(K)的寫入指令給存儲器儲存裝置100時,存儲器管理電路202會根據(jù)對應邏輯區(qū)塊610(K)的識別標記傳送錯誤信息給主機系統(tǒng)1000,而不進行寫入運作。也就是說,在本范例實施例中,邏輯區(qū)塊610(K)與實體區(qū)塊410(Ρ)之間的映射將會被固定而不會再被做任何更動。圖9是根據(jù)第一范例實施例的區(qū)塊管理方法所顯示的分組實體區(qū)塊與配置邏輯區(qū)塊的的流程圖。請參照圖9,在步驟S901中,實體區(qū)塊會被邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū)。例如,如上所述,存儲器控制器104的存儲器管理電路202會識別可復寫式非易失性存儲器模組106中的好實體區(qū)塊并且將好實體區(qū)塊分組至數(shù)據(jù)區(qū)502、閑置區(qū)504、系統(tǒng)區(qū)506與取代區(qū)508中。之后,在步驟S903中,取代區(qū)508中好實體區(qū)塊的數(shù)目會被判斷是否小于預定數(shù)目。倘若取代區(qū)508中好實體區(qū)塊的數(shù)目小于預定數(shù)目時,在步驟S905中,一個或多個壞實體區(qū)塊會被分組至數(shù)據(jù)區(qū)502并且數(shù)據(jù)區(qū)502中一個或多個好實體區(qū)塊會被重新分組至取代區(qū)508,以使得取代區(qū)508中好實體區(qū)塊的數(shù)目等于預定數(shù)目。之后,在步驟S907中,多個邏輯區(qū)塊會被配置,以映射屬于數(shù)據(jù)區(qū)504的實體區(qū)塊。并且,在步驟S909中,邏輯區(qū)塊的中映射壞實體區(qū)塊的邏輯區(qū)塊會被標記為屬于壞邏輯地址。具體來說,在步驟S907與步驟S909中,存儲器管理電路202會在區(qū)塊映射表500中將每一邏輯區(qū)塊獨立地映射至數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一并且將對應映射壞實體區(qū)塊的邏輯區(qū)塊的識別標記記錄成損壞狀態(tài)(如圖8所示)。圖10是根據(jù)第一范例實施例的區(qū)塊管理方法所顯示執(zhí)行來自于主機系統(tǒng)的寫入指令的流程圖。請參照圖10,在步驟S1001中,來自于主機系統(tǒng)1000的寫入指令(以下稱為第一寫入指令)與對應第一寫入指令的寫入數(shù)據(jù)(以下稱為第一寫入數(shù)據(jù))會被接收。在此,假設第一寫入數(shù)據(jù)是欲被儲存至一個邏輯區(qū)塊(即,第一寫入數(shù)據(jù)是屬于此邏輯區(qū)塊(以下稱為第一邏輯區(qū)塊))并且第一邏輯區(qū)塊目前是映射于數(shù)據(jù)區(qū)502中的一個實體區(qū)塊(以下稱為第一實體區(qū)塊)。之后,在步驟S1003中,對應第一邏輯區(qū)塊的識別標記會被判斷是否被記錄為損壞狀態(tài)。倘若對應第一邏輯區(qū)塊的識別標記被記錄為損壞狀態(tài)時,在步驟S1005中,錯誤信息會被傳送給主機系統(tǒng)1000以回應第一寫入指令。也就是說,存儲器管理電路202不會對可復寫式非易失性存儲器模組106下達程序化指令,并且直接將指示寫入失敗的錯誤信息傳送給主機系統(tǒng)1000。倘若對應第一邏輯區(qū)塊的識別標記未被記錄為損壞狀態(tài)時,在步驟S1007中,一個實體區(qū)塊(以下稱為第二實體區(qū)塊)會從閑置區(qū)504中被提取,并且在步驟S1009中,第一程序化指令會被下達以將第一寫入數(shù)據(jù)寫入至第二實體區(qū)塊中。也就是說,存儲器管理電路202會對可復寫式非易失性存儲器模組106下達程序化指令,以將主機系統(tǒng)1000欲儲存的數(shù)據(jù)寫入至從閑置區(qū)504中所提取的第二實體區(qū)塊中。此外,在本發(fā)明另一范例實施例中,倘若屬于第一邏輯區(qū)塊的有效數(shù)據(jù)皆已被寫入至第二實體區(qū)塊(例如,如圖7所示)時,存儲器管理電路202還會在第一程序化指令成功地被完成之后,在區(qū)塊映射表500中將第一邏輯區(qū)塊重新映射至第二實體區(qū)塊并且將原始映射第一邏輯區(qū)塊的第一實體區(qū)塊關(guān)聯(lián)至閑置區(qū)504?;谏鲜?,在第一范例實施例中,倘若在開卡程序中識別出存儲器儲存裝置100存有過多壞實體區(qū)塊時,根據(jù)本范例實施例的區(qū)塊管理方法,存儲器儲存裝置100中其他好實體區(qū)塊仍可被有效地利用來儲存數(shù)據(jù)。[第二范例實施例]第一范例實施例是揭示在開卡過程中固定地將部分邏輯區(qū)塊標記為壞邏輯地址的區(qū)塊管理方法。也就是說,壞邏輯地址是在開卡過程中被標記,由此使得其他好實體區(qū)塊仍可繼續(xù)被使用來儲存數(shù)據(jù)。然而,如上所述,在存儲器儲存裝置運作期間,好實體區(qū)塊亦可能會因多次的抹除而損壞。在第二范例實施例中,存儲器管理電路是根據(jù)實體區(qū)塊的使用狀態(tài)來將逐步將邏輯區(qū)塊標記為壞邏輯地址,由此有效地延長存儲器儲存裝置的壽命。以下將使用第一范例實施例的圖1A、2、3的硬件架構(gòu)來描述第二范例實施例。在本范例實施例中,存儲器控制器104的存儲器管理電路202亦會如圖4A、4B、57所示來管理實體區(qū)塊及寫入數(shù)據(jù)并且亦會建立與維護的區(qū)塊映射表。`圖11是根據(jù)第二范例實施例所顯示的開卡時所建立的區(qū)塊映射表的范例。請參照圖11,在本范例實施例中,在初始化(即,開卡程序)與格式化過程中,存儲器管理電路202會在區(qū)塊映射表800中將數(shù)據(jù)區(qū)502的實體區(qū)塊410(O)410(F-I)分別地映射至邏輯區(qū)塊610(O)610(H),并且將對應每一邏輯區(qū)塊的識別標記記錄成指示“未損壞狀態(tài)”的‘0’。在本范例實施例中,存儲器管理電路202不會將壞實體區(qū)塊分組至數(shù)據(jù)區(qū)502。在本范例實施例中,當主機系統(tǒng)1000傳送寫入指令而欲將寫入數(shù)據(jù)儲存至一個邏輯區(qū)塊時,存儲器管理電路202會而下達程序化指令以將寫入數(shù)據(jù)寫入至從閑置區(qū)504中提取的實體區(qū)塊中。特別是,當寫入數(shù)據(jù)無法正常地被寫入至所提取的實體區(qū)塊并且取代區(qū)508中無存有可取代壞實體區(qū)塊的可用實體區(qū)塊時,存儲器管理電路202會將此邏輯區(qū)塊重新映射至所提取的實體區(qū)塊,將第一邏輯區(qū)塊標記為屬于壞邏輯地址,將原始映射此邏輯區(qū)塊的實體區(qū)塊關(guān)聯(lián)至閑置區(qū)504并且將指示寫入失敗的錯誤信息傳送給主機系統(tǒng)1000。之后,只要主機系統(tǒng)1000欲將寫入數(shù)據(jù)儲存至此邏輯區(qū)塊時,存儲器管理電路202都會將錯誤信息傳送給主機系統(tǒng)1000。圖12是根據(jù)本發(fā)明第二范例實施例所顯示的區(qū)塊映射表的另一范例。請參照圖12,在此假設主機系統(tǒng)1000所欲儲存的寫入數(shù)據(jù)是屬于邏輯區(qū)塊610(1),實體區(qū)塊410(F)被提取作為子實體區(qū)塊來寫入此寫入數(shù)據(jù),實體區(qū)塊410(F)發(fā)生程序化錯誤而被判定已損壞并且取代區(qū)508已無可用實體區(qū)塊。此時,存儲器管理電路202會在區(qū)塊映射表800中將邏輯區(qū)塊610(I)重新映射至實體區(qū)塊410(F),將對應邏輯區(qū)塊610(1)的識別標記記錄成損壞狀態(tài),將原始映射邏輯區(qū)塊610(I)的實體區(qū)塊410(1)關(guān)聯(lián)至閑置區(qū)504并且傳送指示寫入失敗的錯誤信息給主機系統(tǒng)1000。特別是,后續(xù)當主機系統(tǒng)1000欲寫入數(shù)據(jù)至標記為損壞狀態(tài)的邏輯區(qū)塊時,存儲器管理電路202會直接將錯誤信息傳送給主機系統(tǒng)1000,而不對可復寫式非易失性存儲器模組106進行寫入運作。更詳細來說,由于實體區(qū)塊410(F)已損壞并且取代區(qū)508已無可用實體區(qū)塊,因此,存儲器管理電路202通過將原始映射邏輯區(qū)塊的好實體區(qū)塊與從閑置區(qū)504中所提取的壞實體區(qū)塊交換并且將此邏輯區(qū)塊標記為屬于壞邏輯地址,可使閑置區(qū)504仍有足夠?qū)嶓w區(qū)塊來執(zhí)行對其他好邏輯地址的寫入運作?;?,存儲器儲存裝置100仍可繼續(xù)儲存數(shù)據(jù),直到所有邏輯區(qū)塊皆被標記為屬于壞邏輯地址為止。圖13是根據(jù)第二范例實施例的區(qū)塊管理方法所顯示的分組實體區(qū)塊與配置邏輯區(qū)塊的流程圖。請參照圖13,在步驟S1301中,實體區(qū)塊會被邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū)。例如,如上所述,存儲器控制器104的存儲器管理電路202會識別可復寫式非易失性存儲器模組106中的好實體區(qū)塊并且將好實體區(qū)塊分組至數(shù)據(jù)區(qū)502、閑置區(qū)504、系統(tǒng)區(qū)506與取代區(qū)508中。之后,在步驟S1303中,多個邏輯區(qū)塊會被配置,以映射屬于數(shù)據(jù)區(qū)504的實體區(qū)塊。具體來說,在步驟S1303中,存儲器管理電路202會在區(qū)塊映射表500中將每一邏輯區(qū)塊獨立地映射至數(shù)據(jù)區(qū)的實體區(qū)塊的其中之一并且將每一邏輯區(qū)塊的識別標記記錄成非損壞狀態(tài)(如圖11所示)。圖14是根據(jù)第二范例實施例的區(qū)塊管理方法所顯示的執(zhí)行來自于主機系統(tǒng)的寫入指令的流程圖。請參照圖14,在步驟S1401中,來自于主機系統(tǒng)1000的寫入指令(以下稱為第一寫入指令)與對應第一寫入指令的寫入數(shù)據(jù)(以下稱為第一寫入數(shù)據(jù))會被接收。在此,假設第一寫入數(shù)據(jù)是欲被儲存至一個邏輯區(qū)塊(即,第一寫入數(shù)據(jù)是屬于此邏輯區(qū)塊(以下稱為第一邏輯區(qū)塊))并且第一邏輯區(qū)塊目前是映射于數(shù)據(jù)區(qū)502中的一個實體區(qū)塊(以下稱為第一實體區(qū)塊)。之后,在步驟S1403中,對應第一邏輯區(qū)塊的識別標記會被判斷是否被記錄為損壞狀態(tài)。倘若對應第一邏輯區(qū)塊的識別標記被記錄為損壞狀態(tài)時,在步驟S1405中,錯誤信息會被傳送給主機系統(tǒng)1000。也就是說,存儲器管理電路202不會對可復寫式非易失性存儲器模組I06下達程序化指令,而直接將指示寫入失敗的錯誤信息傳送給主機系統(tǒng)1000。倘若對應第一邏輯區(qū)塊的識別標記未被記錄為損壞狀態(tài)時,在步驟S1407中,一個實體區(qū)塊(以下稱為第二實體區(qū)塊)會從閑置區(qū)504中被提取,并且在步驟S1409中,程序化指令(以下稱為第一程序化指令)會被下達以將第一寫入數(shù)據(jù)寫入至第二實體區(qū)塊中。也就是說,存儲器管理電路202會對可復寫式非易失性存儲器模組106下達程序化指令,以將主機系統(tǒng)1000欲儲存的數(shù)據(jù)寫入至從閑置區(qū)504中所提取的第二實體區(qū)塊中。之后,在步驟S1411中,第一寫入數(shù)據(jù)會被判斷是否正常地被寫入至第二實體區(qū)塊中。倘若第一寫入數(shù)據(jù)無法正常地被寫入至第二實體區(qū)塊中時,在步驟S1413中,取代區(qū)的實體區(qū)塊之中會被判斷是否存有可用實體區(qū)塊。倘若取代區(qū)的實體區(qū)塊之中無存有可用實體區(qū)塊時,在步驟S1415中,第一邏輯區(qū)塊會被重新映射至第二實體區(qū)塊,第一邏輯區(qū)塊會被標記為屬于壞邏輯地址(即,第一邏輯區(qū)塊的識別標記會被標記為損壞狀態(tài)),第一實體區(qū)塊會被關(guān)聯(lián)至閑置區(qū)并且錯誤信息會被傳送至主機系統(tǒng)1000。倘若取代區(qū)的實體區(qū)塊之中存有可用實體區(qū)塊時,在步驟S1417中,程序化指令(以下稱為第二程序化指令)會被下達以將第一寫入數(shù)據(jù)寫入至此可用實體區(qū)塊中?;谏鲜?,在第二范例實施例中,倘若在存儲器儲存裝置運作期間有實體區(qū)塊損壞且取代區(qū)508無可用實體區(qū)塊時,根據(jù)上述區(qū)塊管理方法存儲器儲存裝置100中其他好實體區(qū)塊仍可被有效地使用,以供主機系統(tǒng)1000進行存取。值得一提的是,在上述第一范例實施例中壞邏輯地址是在開卡期間被標記并且在上述第二范例實施例中,壞邏輯地址是在存儲器儲存裝置運作期間逐步被標記。然而,在本發(fā)明另一范例實施例中,壞邏輯地址可在開卡期間被標記并且在存儲器儲存裝置運作期間亦會逐步被標記。例如,存儲器管理電路202可執(zhí)行圖9所示的步驟來執(zhí)行初始化(即,開卡程序)并且根據(jù)圖14的步驟來寫入數(shù)據(jù)。綜上所述,當在開卡程序中發(fā)現(xiàn)可復寫式非易失性存儲器模組中損壞實體區(qū)塊過多時,本發(fā)明范例實施例的區(qū)塊管理方法、存儲器控制器與存儲器儲存裝置會將損壞實體區(qū)塊分組至數(shù)據(jù)區(qū)并且將其對應的邏輯區(qū)塊標記為壞邏輯地址,由此開卡程序仍可被正常完成而有效地使用此可復寫式非易失性存儲器模組中的好實體區(qū)塊。此外,在存儲器儲存裝置運作期間發(fā)生實體區(qū)塊損壞且取代區(qū)無可用實體區(qū)塊時,本發(fā)明范例實施例的區(qū)塊管理方法、存儲器控制器與存儲器儲存裝置會將損壞實體區(qū)塊映射至邏輯區(qū)塊并且將此邏輯區(qū)塊標記為壞邏輯地址,由此使其他好實體區(qū)塊仍可繼續(xù)被使用并且延長存儲器儲存裝置的壽命。雖然本發(fā)明已以實施例揭示如上,任何所屬
技術(shù)領(lǐng)域:
中的普通技術(shù)人員,當可作些許更動與潤飾,而不脫離本發(fā)明的精神和范圍。權(quán)利要求1.一種區(qū)塊管理方法,用于一可復寫式非易失性存儲器模組,其中該可復寫式非易失性存儲器模組具有多個實體區(qū)塊,該區(qū)塊管理方法包括將該些實體區(qū)塊邏輯地至少分組為一數(shù)據(jù)區(qū)、一閑置區(qū)與一取代區(qū),其中該數(shù)據(jù)區(qū)的該些實體區(qū)塊包括一個或多個壞實體區(qū)塊;配置多個邏輯區(qū)塊,以映射屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊,其中每一該些邏輯區(qū)塊獨立地映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊的其中之一;以及將該些邏輯區(qū)塊之中映射該一個或多個壞實體區(qū)塊的一個或多個邏輯區(qū)塊標記為屬于一壞邏輯地址。2.根據(jù)權(quán)利要求I所述的區(qū)塊管理方法,其中將該些邏輯區(qū)塊之中映射該一個或多個壞實體區(qū)塊的該一個或多個邏輯區(qū)塊標記為屬于該壞邏輯地址的步驟包括在一區(qū)塊映射表中記錄該些邏輯區(qū)塊與屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊之間的多個映射;在該區(qū)塊映射表中為每一該些邏輯區(qū)塊對應地配置一識別標記;以及在該區(qū)塊映射表中將該些識別標記之中對應屬于該壞邏輯地址的該一個或多個邏輯區(qū)塊的一個或多個識別標記分別地記錄成一損壞狀態(tài)。3.根據(jù)權(quán)利要求2所述的區(qū)塊管理方法,其中還包括從一主機系統(tǒng)接收一第一寫入指令與對應該第一寫入指令的一第一寫入數(shù)據(jù),其中該第一寫入數(shù)據(jù)是屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊并且在該區(qū)塊映射表中該第一邏輯區(qū)塊目前映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊之中的一第一實體區(qū)塊;判斷該些識別標記之中對應該第一邏輯區(qū)塊的一識別標記是否被記錄為該損壞狀態(tài);以及當對應該第一邏輯區(qū)塊的該識別標記被記錄為該損壞狀態(tài)時,將一錯誤信息傳送給該主機系統(tǒng)以回應該第一寫入指令。4.根據(jù)權(quán)利要求3所述的區(qū)塊管理方法,其中還包括當對應該第一邏輯區(qū)塊的該識別標記非被記錄為該損壞狀態(tài)時,從該閑置區(qū)的該些實體區(qū)塊中提取一第二實體區(qū)塊,并且下達一第一程序化指令以將該第一寫入數(shù)據(jù)寫入至該第二實體區(qū)塊。5.根據(jù)權(quán)利要求4所述的區(qū)塊管理方法,其中還包括判斷該第一寫入數(shù)據(jù)是否正常地被寫入至該第二實體區(qū)塊中;當該第一寫入數(shù)據(jù)無法正常地被寫入至該第二實體區(qū)塊中時,判斷該取代區(qū)的該些實體區(qū)塊之中是否存有一可用實體區(qū)塊;以及當該取代區(qū)的該些實體區(qū)塊之中無存有該可用實體區(qū)塊時,在該區(qū)塊映射表中將該第一邏輯區(qū)塊重新映射至該第二實體區(qū)塊,在該區(qū)塊映射表中將對應該第一邏輯區(qū)塊的該識別標記記錄成該損壞狀態(tài)并且將該第一實體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。6.一種區(qū)塊管理方法,用于一可復寫式非易失性存儲器模組,其中該可復寫式非易失性存儲器模組具有多個實體區(qū)塊,該區(qū)塊管理方法包括將該些實體區(qū)塊邏輯地至少分組為一數(shù)據(jù)區(qū)、一閑置區(qū)與一取代區(qū);配置多個邏輯區(qū)塊,以映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊,其中每一該些邏輯區(qū)塊獨立地映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊的其中之一;從一主機系統(tǒng)接收一第一寫入指令與對應該第一寫入指令的一第一寫入數(shù)據(jù),其中該第一寫入數(shù)據(jù)是屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊并且該第一邏輯區(qū)塊映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊之中的一第一實體區(qū)塊;從該閑置區(qū)的該些實體區(qū)塊中提取一第二實體區(qū)塊,下達一第一程序化指令以將該第一寫入數(shù)據(jù)寫入至該第二實體區(qū)塊中并且判斷該第一寫入數(shù)據(jù)是否正常地被寫入至該第二實體區(qū)塊中;當該第一寫入數(shù)據(jù)無法正常地被寫入至該第二實體區(qū)塊中時,判斷該取代區(qū)的該些實體區(qū)塊之中是否存有一可用實體區(qū)塊;以及當該取代區(qū)的該些實體區(qū)塊之中無存有該可用實體區(qū)塊時,將該第一邏輯區(qū)塊重新映射至該第二實體區(qū)塊,將該第一邏輯區(qū)塊標記為屬于一壞邏輯地址并且將該第一實體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。7.根據(jù)權(quán)利要求6所述的區(qū)塊管理方法,其中還包括當該取代區(qū)的該些實體區(qū)塊之中存有該可用實體區(qū)塊時,下達一第二程序化指令以將該第一寫入數(shù)據(jù)寫入至該可用實體區(qū)塊中。8.根據(jù)權(quán)利要求6所述的區(qū)塊管理方法,其中還包括在一區(qū)塊映射表中記錄該些邏輯區(qū)塊與屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊之間的多個映射;以及在該區(qū)塊映射表中為每一該些邏輯區(qū)塊對應地配置一識別標記,其中將該第一邏輯區(qū)塊標記為屬于該壞邏輯地址的步驟包括在該區(qū)塊映射表中將該些識別標記之中對應該第一邏輯區(qū)塊的一識別標記記錄成一損壞狀態(tài)。9.一種存儲器控制器,用于控制一可復寫式非易失性存儲器模組,其中該可復寫式非易失性存儲器模組具有多個實體區(qū)塊,該存儲器控制器包括一主機接口,用以電性連接至一主機系統(tǒng);一存儲器接口,用以電性連接至該可復寫式非易失性存儲器模組;以及一存儲器管理電路,電性連接至該主機接口與該存儲器接口,并且用以將該些實體區(qū)塊邏輯地至少分組為一數(shù)據(jù)區(qū)、一閑置區(qū)與一取代區(qū),其中該數(shù)據(jù)區(qū)的該些實體區(qū)塊包括一個或多個壞實體區(qū)塊,其中該存儲器管理電路還用以配置多個邏輯區(qū)塊,以映射屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊,其中每一該些邏輯區(qū)塊獨立地映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊的其中之一,其中該存儲器管理電路還用以將該些邏輯區(qū)塊之中映射該一個或多個壞實體區(qū)塊的一個或多個邏輯區(qū)塊標記為屬于一壞邏輯地址。10.根據(jù)權(quán)利要求9所述的存儲器控制器,其中該存儲器管理電路在一區(qū)塊映射表中記錄該些邏輯區(qū)塊與屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊之間的多個映射,其中該存儲器管理電路在該區(qū)塊映射表中為每一該些邏輯區(qū)塊對應地配置一識別標記,其中該存儲器管理電路在該區(qū)塊映射表中將該些識別標記之中對應屬于該壞邏輯地址的該一個或多個邏輯區(qū)塊的一個或多個識別標記分別地記錄成一損壞狀態(tài)。11.根據(jù)權(quán)利要求10所述的存儲器控制器,其中該存儲器管理電路通過該主機接口從該主機系統(tǒng)接收一第一寫入指令與對應該第一寫入指令的一第一寫入數(shù)據(jù),其中該第一寫入數(shù)據(jù)是屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊并且在該區(qū)塊映射表中該第一邏輯區(qū)塊目前映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊之中的一第一實體區(qū)塊,其中該存儲器管理電路判斷該些識別標記之中對應該第一邏輯區(qū)塊的一識別標記是否被記錄為該損壞狀態(tài),其中當對應該第一邏輯區(qū)塊的該識別標記被記錄為該損壞狀態(tài)時,該存儲器管理電路將一錯誤信息傳送給該主機系統(tǒng)以回應該第一寫入指令。12.根據(jù)權(quán)利要求11所述的存儲器控制器,其中當對應該第一邏輯區(qū)塊的該識別標記非被記錄為該損壞狀態(tài)時,該存儲器管理電路從該閑置區(qū)的該些實體區(qū)塊中提取一第二實體區(qū)塊,并且下達一第一程序化指令以將該第一寫入數(shù)據(jù)寫入至該第二實體區(qū)塊。13.根據(jù)權(quán)利要求12所述的存儲器控制器,其中該存儲器管理電路判斷該第一寫入數(shù)據(jù)是否正常地被寫入至該第二實體區(qū)塊中,其中當該第一寫入數(shù)據(jù)無法正常地被寫入至該第二實體區(qū)塊中時,該存儲器管理電路判斷該取代區(qū)的該些實體區(qū)塊之中是否存有一可用實體區(qū)塊,其中當該取代區(qū)的該些實體區(qū)塊之中無存有該可用實體區(qū)塊時,該存儲器管理電路在該區(qū)塊映射表中將該第一邏輯區(qū)塊重新映射至該第二實體區(qū)塊,在該區(qū)塊映射表中將對應該第一邏輯區(qū)塊的該識別標記記錄成該損壞狀態(tài)并且將該第一實體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。14.一種存儲器控制器,用于控制一可復寫式非易失性存儲器模組,其中該可復寫式非易失性存儲器模組具有多個實體區(qū)塊,該存儲器控制器包括一主機接口,用以電性連接至一主機系統(tǒng);一存儲器接口,用以電性連接至該可復寫式非易失性存儲器模組;以及一存儲器管理電路,電性連接至該主機接口與該存儲器接口,并且用以將該些實體區(qū)塊邏輯地至少分組為一數(shù)據(jù)區(qū)、一閑置區(qū)與一取代區(qū);其中該存儲器管理電路還用以配置多個邏輯區(qū)塊,以映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊,其中每一該些邏輯區(qū)塊獨立地映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊的其中之一,其中該存儲器管理電路通過該主機接口從該主機系統(tǒng)接收一第一寫入指令與對應該第一寫入指令的一第一寫入數(shù)據(jù),其中該第一寫入數(shù)據(jù)是屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊并且該第一邏輯區(qū)塊映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊之中的一第一實體區(qū)塊,其中該存儲器管理電路還用以從該閑置區(qū)的該些實體區(qū)塊中提取一第二實體區(qū)塊,下達一第一程序化指令以將該第一寫入數(shù)據(jù)寫入至該第二實體區(qū)塊中并且判斷該第一寫入數(shù)據(jù)是否正常地被寫入至該第二實體區(qū)塊中;其中當該第一寫入數(shù)據(jù)無法正常地被寫入至該第二實體區(qū)塊中時,該存儲器管理電路判斷該取代區(qū)的該些實體區(qū)塊之中是否存有一可用實體區(qū)塊,其中當該取代區(qū)的該些實體區(qū)塊之中無存有該可用實體區(qū)塊時,該存儲器管理電路將該第一邏輯區(qū)塊重新映射至該第二實體區(qū)塊,將該第一邏輯區(qū)塊標記為屬于一壞邏輯地址并且將該第一實體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。15.根據(jù)權(quán)利要求14所述的存儲器控制器,其中當該取代區(qū)的該些實體區(qū)塊之中存有該可用實體區(qū)塊時,該存儲器管理電路下達一第二程序化指令以將該第一寫入數(shù)據(jù)寫入至該可用實體區(qū)塊中。16.根據(jù)權(quán)利要求14所述的存儲器控制器,其中該存儲器管理電路在一區(qū)塊映射表中記錄該些邏輯區(qū)塊與屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊之間的多個映射,其中該存儲器管理電路在該區(qū)塊映射表中為每一該些邏輯區(qū)塊對應地配置一識別標記,其中該存儲器管理電路在該區(qū)塊映射表中將該些識別標記之中對應該第一邏輯區(qū)塊的一識別標記記錄成一損壞狀態(tài),以將該第一邏輯區(qū)塊標記為屬于該壞邏輯地址。17.一種存儲器儲存裝置,包括一可復寫式非易失性存儲器模組,具有多個實體區(qū)塊;一連接器,用以電性連接至一主機系統(tǒng);一存儲器控制器,電性連接至該可復寫式非易失性存儲器模組與該連接器,并且用以將該些實體區(qū)塊邏輯地至少分組為一數(shù)據(jù)區(qū)、一閑置區(qū)與一取代區(qū),其中該數(shù)據(jù)區(qū)的該些實體區(qū)塊包括一個或多個壞實體區(qū)塊,其中該存儲器控制器還用以配置多個邏輯區(qū)塊,以映射屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊,其中每一該些邏輯區(qū)塊獨立地映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊的其中之一,其中該存儲器控制器還用以將該些邏輯區(qū)塊之中映射該一個或多個壞實體區(qū)塊的一個或多個邏輯區(qū)塊標記為屬于一壞邏輯地址。18.根據(jù)權(quán)利要求17所述的存儲器儲存裝置,其中該存儲器控制器在一區(qū)塊映射表中記錄該些邏輯區(qū)塊與屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊之間的多個映射,其中該存儲器控制器在該區(qū)塊映射表中為每一該些邏輯區(qū)塊對應地配置一識別標記,其中該存儲器控制器在該區(qū)塊映射表中將該些識別標記之中對應屬于該壞邏輯地址的該一個或多個邏輯區(qū)塊的一個或多個識別標記分別地記錄成一損壞狀態(tài)。19.根據(jù)權(quán)利要求18所述的存儲器儲存裝置,其中該存儲器控制器通過該連接器從該主機系統(tǒng)接收一第一寫入指令與對應該第一寫入指令的一第一寫入數(shù)據(jù),其中該第一寫入數(shù)據(jù)是屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊并且在該區(qū)塊映射表中該第一邏輯區(qū)塊目前映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊之中的一第一實體區(qū)塊,其中該存儲器控制器判斷該些識別標記之中對應該第一邏輯區(qū)塊的一識別標記是否被記錄為該損壞狀態(tài),其中當對應該第一邏輯區(qū)塊的該識別標記被記錄為該損壞狀態(tài)時,該存儲器控制器將一錯誤信息傳送給該主機系統(tǒng)以回應該第一寫入指令。20.根據(jù)權(quán)利要求19所述的存儲器儲存裝置,其中當對應該第一邏輯區(qū)塊的該識別標記非被記錄為該損壞狀態(tài)時,該存儲器控制器從該閑置區(qū)的該些實體區(qū)塊中提取一第二實體區(qū)塊,并且下達一第一程序化指令以將該第一寫入數(shù)據(jù)寫入至該第二實體區(qū)塊。21.根據(jù)權(quán)利要求20所述的存儲器儲存裝置,其中該存儲器控制器判斷該第一寫入數(shù)據(jù)是否正常地被寫入至該第二實體區(qū)塊中,其中當該第一寫入數(shù)據(jù)無法正常地被寫入至該第二實體區(qū)塊中時,該存儲器控制器判斷該取代區(qū)的該些實體區(qū)塊之中是否存有一可用實體區(qū)塊,其中當該取代區(qū)的該些實體區(qū)塊之中無存有該可用實體區(qū)塊時,該存儲器控制器在該區(qū)塊映射表中將該第一邏輯區(qū)塊重新映射至該第二實體區(qū)塊,在該區(qū)塊映射表中將對應該第一邏輯區(qū)塊的該識別標記記錄成該損壞狀態(tài)并且將該第一實體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。22.—種存儲器儲存裝置,包括一可復寫式非易失性存儲器模組,具有多個實體區(qū)塊;一連接器,用以電性連接至一主機系統(tǒng);一存儲器控制器,電性連接至該可復寫式非易失性存儲器模組與該連接器,并且用以將該些實體區(qū)塊邏輯地至少分組為一數(shù)據(jù)區(qū)、一閑置區(qū)與一取代區(qū);其中該存儲器控制器還用以配置多個邏輯區(qū)塊,以映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊,其中每一該些邏輯區(qū)塊獨立地映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊的其中之一,其中該存儲器控制器通過該連接器從該主機系統(tǒng)接收一第一寫入指令與對應該第一寫入指令的一第一寫入數(shù)據(jù),其中該第一寫入數(shù)據(jù)是屬于該些邏輯區(qū)塊之中的一第一邏輯區(qū)塊并且該第一邏輯區(qū)塊映射該數(shù)據(jù)區(qū)的該些實體區(qū)塊之中的一第一實體區(qū)塊,其中該存儲器控制器還用以從該閑置區(qū)的該些實體區(qū)塊中提取一第二實體區(qū)塊,下達一第一程序化指令以將該第一寫入數(shù)據(jù)寫入至該第二實體區(qū)塊中并且判斷該第一寫入數(shù)據(jù)是否正常地被寫入至該第二實體區(qū)塊中;其中當該第一寫入數(shù)據(jù)無法正常地被寫入至該第二實體區(qū)塊中時,該存儲器控制器判斷該取代區(qū)的該些實體區(qū)塊之中是否存有一可用實體區(qū)塊,其中當該取代區(qū)的該些實體區(qū)塊之中無存有該可用實體區(qū)塊時,該存儲器控制器將該第一邏輯區(qū)塊重新映射至該第二實體區(qū)塊,將該第一邏輯區(qū)塊標記為屬于一壞邏輯地址并且將該第一實體區(qū)塊關(guān)聯(lián)至該閑置區(qū)。23.根據(jù)權(quán)利要求22所述的存儲器儲存裝置,其中當該取代區(qū)的該些實體區(qū)塊之中存有該可用實體區(qū)塊時,該存儲器控制器下達一第二程序化指令以將該第一寫入數(shù)據(jù)寫入至該可用實體區(qū)塊中。24.根據(jù)權(quán)利要求22所述的存儲器儲存裝置,其中該存儲器控制器在一區(qū)塊映射表中記錄該些邏輯區(qū)塊與屬于該數(shù)據(jù)區(qū)的該些實體區(qū)塊之間的多個映射,其中該存儲器控制器在該區(qū)塊映射表中為每一該些邏輯區(qū)塊對應地配置一識別標記,其中該存儲器控制器在該區(qū)塊映射表中將該些識別標記之中對應該第一邏輯區(qū)塊的一識別標記記錄成一損壞狀態(tài),以將該第一邏輯區(qū)塊標記為屬于該壞邏輯地址。全文摘要一種用于可復寫式非易失性存儲器模組的區(qū)塊管理方法及使用此方法的存儲器控制器與存儲器儲存裝置,其中此可復寫式非易失性存儲器模組具有多個實體區(qū)塊。本方法包括將此些實體區(qū)塊邏輯地至少分組為數(shù)據(jù)區(qū)、閑置區(qū)與取代區(qū),并且配置多個邏輯區(qū)塊,以映射屬于數(shù)據(jù)區(qū)的實體區(qū)塊。本方法亦包括將一個或多個壞實體區(qū)塊指派至數(shù)據(jù)區(qū)并且將映射壞實體區(qū)塊的邏輯區(qū)塊標記為壞邏輯地址,由此禁止對映射壞實體區(qū)塊的邏輯地址的存取?;?,本方法可使存有過多壞實體區(qū)塊的可復寫式非易失性存儲器模組仍可被用來儲存數(shù)據(jù)。文檔編號G06F12/02GK102902626SQ20111021186公開日2013年1月30日申請日期2011年7月27日優(yōu)先權(quán)日2011年7月27日發(fā)明者葉志剛申請人:群聯(lián)電子股份有限公司