亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置的制作方法

文檔序號:6429896閱讀:180來源:國知局

專利名稱::數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種用于可復(fù)寫式非易失性存儲器模組的數(shù)據(jù)寫入方法及使用此方法的存儲器控制器與存儲器儲存裝置。
背景技術(shù)
:數(shù)碼相機、手機與MP3在這幾年來的成長十分迅速,促使消費者對儲存媒體的需求也急遽增加。由于可復(fù)寫式非易失性存儲器(rewritablenon-volatilememory)具有數(shù)據(jù)非易失性、低耗電、體積小、無機械結(jié)構(gòu)且讀寫速度快等特性,最適合用在可攜式電子產(chǎn)品,例如手機、個人數(shù)字助理與筆記本式計算機等。例如,目前備受注目的固態(tài)硬盤就是一種以閃速存儲器作為儲存媒體的儲存裝置。因此,近年來閃速存儲器產(chǎn)業(yè)已成為電子產(chǎn)業(yè)中相當熱門的一環(huán)。可復(fù)寫式非易失性存儲器模組具有多個實體區(qū)塊(physicalblock),且每一實體區(qū)塊具有多個實體頁面(physicalpage),其中在實體區(qū)塊中寫入數(shù)據(jù)時必須根據(jù)實體頁面的順序依序地寫入數(shù)據(jù)。此外,已被寫入數(shù)據(jù)的實體頁面必需先被抹除后才能再次用于寫入數(shù)據(jù)。特別是,實體區(qū)塊為抹除的最小單位,并且實體頁面為編程(亦稱寫入)的最小單元。因此,為提升運作效率,一般來說,存儲器儲存裝置的存儲器控制器會將可復(fù)寫式非易失性存儲器模組的實體區(qū)塊區(qū)分為數(shù)據(jù)區(qū)與閑置區(qū)。數(shù)據(jù)區(qū)的實體區(qū)塊是用以儲存主機系統(tǒng)所寫入的數(shù)據(jù)。具體來說,存儲器管理電路會將主機系統(tǒng)所存取的邏輯存取地址轉(zhuǎn)換為邏輯區(qū)塊的邏輯頁面,并且將邏輯區(qū)塊的邏輯頁面映射至數(shù)據(jù)區(qū)的實體區(qū)塊的實體頁面。也就是說,在閃速存儲器模組的管理上,數(shù)據(jù)區(qū)的實體區(qū)塊被視為已使用的實體區(qū)塊(例如,已儲存主機系統(tǒng)所寫入的數(shù)據(jù))。另夕卜,存儲器管理電路會使用邏輯區(qū)塊-實體區(qū)塊映射表(logicalblock-physicalblockmappingtable)來記載邏輯區(qū)塊與數(shù)據(jù)區(qū)的實體區(qū)塊的映射關(guān)系,其中邏輯區(qū)塊中的邏輯頁面依序地對應(yīng)所映射的實體區(qū)塊的實體頁面。閑置區(qū)的實體區(qū)塊是用以輪替數(shù)據(jù)區(qū)中的實體區(qū)塊。具體來說,已寫入數(shù)據(jù)的實體區(qū)塊必須被抹除后才可再次用于寫入數(shù)據(jù),而閑置區(qū)的實體區(qū)塊是被設(shè)計用于寫入更新數(shù)據(jù)以替換原先映射邏輯區(qū)塊的實體區(qū)塊?;?,閑置區(qū)中的實體區(qū)塊為空的或可使用的區(qū)塊,即無記錄數(shù)據(jù)或標記為已沒用的無效數(shù)據(jù)。也就是說,當存儲器儲存裝置的儲存空間被格式化時,數(shù)據(jù)區(qū)的實體區(qū)塊會被映射至邏輯區(qū)塊并且數(shù)據(jù)區(qū)的實體區(qū)塊被視為已儲存更新數(shù)據(jù)。之后,當主機系統(tǒng)欲儲存數(shù)據(jù)至邏輯區(qū)塊的邏輯頁面時,存儲器控制器會從閑置區(qū)中提取一個空的實體區(qū)塊并且將此數(shù)據(jù)寫入至所提取的實體區(qū)塊中的實體頁面中,由此完成此邏輯頁面上的數(shù)據(jù)的更新。然而,如上所述,實體頁面為編程(亦稱寫入)的最小單元,因此,當主機系統(tǒng)僅欲更新一個邏輯頁面中的部分數(shù)據(jù)(即,欲寫入的數(shù)據(jù)量小于一個頁面容量)時,存儲器控制器必須從原始映射此邏輯頁面的實體頁面中讀取未被更新的數(shù)據(jù),整理(arrange)欲更新的數(shù)據(jù)與未更新的數(shù)據(jù)以產(chǎn)生完整的有效頁面數(shù)據(jù),然后再將此有效頁面數(shù)據(jù)寫入至空的實體頁面中。隨著半導(dǎo)體技術(shù)的發(fā)展,可復(fù)寫式非易失性存儲器模組的每一實體頁面的頁面容量亦越來越大。例如,目前可復(fù)寫式非易失性存儲器模組的每一實體頁面已普遍被設(shè)計為可儲存8千位元組(Kilobyte,KB)的使用者數(shù)據(jù)(即,頁面容量為8千位元組)。然而,主機系統(tǒng)(例如,個人計算機)的作業(yè)系統(tǒng)經(jīng)常是以較小的單位來儲存數(shù)據(jù)。例如,微軟的窗口作業(yè)系統(tǒng)7會經(jīng)常地儲存數(shù)據(jù)量為4千位元組的數(shù)據(jù)。因此,存儲器控制器需頻繁地進行有效數(shù)據(jù)的讀取與整理,才能將數(shù)據(jù)寫入至實體頁面中,因而嚴重影響存儲器儲存裝置的寫入速度。
發(fā)明內(nèi)容本發(fā)明提供一種數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置,其能夠在無需執(zhí)行有效頁面數(shù)據(jù)整理下快速地將數(shù)據(jù)寫入至實體頁面中。本發(fā)明一范例實施例提出一種數(shù)據(jù)寫入方法,用于將更新數(shù)據(jù)寫入至可復(fù)寫式非易失性存儲器模組中,其中此可復(fù)寫式非易失性存儲器模組具有多個實體頁面,此些實體頁面輪替地映射多個邏輯頁面,此更新數(shù)據(jù)屬于該些邏輯頁面之中的第一邏輯頁面并且此更新數(shù)據(jù)是從第一邏輯頁面的邏輯偏移地址開始被依序地儲存至第一邏輯頁面中。本數(shù)據(jù)寫入方法包括依序地將此些實體頁面之中的一第一實體頁面劃分為多個儲存區(qū)段并且為每一儲存區(qū)段配置一狀態(tài)標記,其中每一儲存區(qū)段具有一起始實體偏移地址并且此些狀態(tài)標記初始地被記錄成無效狀態(tài)。本數(shù)據(jù)寫入方法也包括判斷此更新數(shù)據(jù)的大小是否小于數(shù)據(jù)存取單位,其中此數(shù)據(jù)存取單位等于每一實體頁面的頁面容量。本數(shù)據(jù)寫入方法還包括,當判斷此更新數(shù)據(jù)的大小小于數(shù)據(jù)存取單位時,還判斷對應(yīng)此更新數(shù)據(jù)的邏輯偏移地址是否對應(yīng)第一實體頁面中其中一個儲存區(qū)段的起始實體偏移地址并且判斷此更新數(shù)據(jù)的大小是否等于此儲存區(qū)段的區(qū)段容量。本數(shù)據(jù)寫入方法還包括,當判斷對應(yīng)此更新數(shù)據(jù)的邏輯偏移地址是對應(yīng)其中一個儲存區(qū)段的起始實體偏移地址并且此更新數(shù)據(jù)的大小等于此儲存區(qū)段的區(qū)段容量時,將此更新數(shù)據(jù)寫入至此儲存區(qū)段中并且將對應(yīng)此儲存區(qū)段的狀態(tài)標記記錄成有效狀態(tài),其中在將此更新數(shù)據(jù)寫入至此儲存區(qū)段時,其他儲存區(qū)段不會被寫入屬于此第一邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。在本發(fā)明的一實施例中,上述的數(shù)據(jù)寫入方法還包括,當判斷更新數(shù)據(jù)的大小非小于數(shù)據(jù)存取單位時,將更新數(shù)據(jù)寫入至第一實體頁面中并且將每一儲存區(qū)段的狀態(tài)標記記錄成有效狀態(tài)。在本發(fā)明的一實施例中,上述的數(shù)據(jù)寫入方法還包括,當判斷對應(yīng)更新數(shù)據(jù)的邏輯偏移地址未對應(yīng)該些儲存區(qū)段之中的任一個儲存區(qū)段的起始實體偏移地址或者更新數(shù)據(jù)的大小不等于此儲存區(qū)段的區(qū)段容量時,從可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于第一邏輯頁面的有效數(shù)據(jù),依據(jù)更新數(shù)據(jù)所對應(yīng)的邏輯偏移地址與有效數(shù)據(jù)所對應(yīng)的其他邏輯偏移地址整理(arrange)此更新數(shù)據(jù)與有效數(shù)據(jù)以產(chǎn)生有效頁面數(shù)據(jù),將有效頁面數(shù)據(jù)寫入至第一實體頁面中并且將每一儲存區(qū)段的狀態(tài)標記記錄成有效狀態(tài)。本發(fā)明一范例實施例提出一種數(shù)據(jù)寫入方法,用于將儲存至一個邏輯頁面的更新數(shù)據(jù)寫入至可復(fù)寫式非易失性存儲器模組的一個實體頁面中,其中此更新數(shù)據(jù)是從此邏輯頁面的邏輯偏移地址開始被儲存至此邏輯頁面中。本數(shù)據(jù)寫入方法包括依序地將此實體頁面劃分為第一儲存區(qū)段與第二儲存區(qū)段,其中第一儲存區(qū)段具有第一起始實體偏移地址,第二儲存區(qū)段具有第二起始實體偏移地址并且第一儲存區(qū)段與第二儲存區(qū)段具有相同的區(qū)段容量。本數(shù)據(jù)寫入方法也包括為第一儲存區(qū)段與第二儲存區(qū)段分別地配置第一狀態(tài)標記與第二狀態(tài)標記,其中第一狀態(tài)標記與第二標記初始地被記錄成無效狀態(tài)。本數(shù)據(jù)寫入方法還包括判斷此更新數(shù)據(jù)的大小是否小于數(shù)據(jù)存取單位,其中數(shù)據(jù)存取單位等于此實體頁面的頁面容量。本數(shù)據(jù)寫入方法也包括,當判斷此更新數(shù)據(jù)的大小小于數(shù)據(jù)存取單位時,還判斷對應(yīng)更新數(shù)據(jù)的邏輯偏移地址是否對應(yīng)第一起始實體偏移地址或第二起始實體偏移地址。本數(shù)據(jù)寫入方法還包括,當判斷對應(yīng)更新數(shù)據(jù)的邏輯偏移地址對應(yīng)第一起始實體偏移地址時,還判斷此更新數(shù)據(jù)的大小是否等于區(qū)段容量。本數(shù)據(jù)寫入方法還包括,當此更新數(shù)據(jù)的大小等于區(qū)段容量時,將此更新數(shù)據(jù)寫入至第一儲存區(qū)段中并且將第一狀態(tài)標記記錄成有效狀態(tài),其中在將此更新數(shù)據(jù)寫入至第一儲存區(qū)段時,第二儲存區(qū)段不會被寫入屬于此邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。在本發(fā)明的一實施例中,上述的數(shù)據(jù)寫入方法還包括,當判斷對應(yīng)更新數(shù)據(jù)的邏輯偏移地址是對應(yīng)該第二起始實體偏移地址時,還判斷此更新數(shù)據(jù)的大小是否等于區(qū)段容量。并且,本數(shù)據(jù)方法還包括,當判斷此更新數(shù)據(jù)的大小等于區(qū)段容量時,將此更新數(shù)據(jù)寫入至第二儲存區(qū)段中并且將第二狀態(tài)標記記錄成有效狀態(tài),其中在將此更新數(shù)據(jù)寫入至第二儲存區(qū)段時,第一儲存區(qū)段不會被寫入屬于此邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。在本發(fā)明的一實施例中,上述的數(shù)據(jù)寫入方法還包括,當判斷此更新數(shù)據(jù)的大小非小于數(shù)據(jù)存取單位時,將此更新數(shù)據(jù)寫入至實體頁面中并且將第一狀態(tài)標記與第二狀態(tài)標記皆記錄成有效狀態(tài)。在本發(fā)明的一實施例中,上述的數(shù)據(jù)寫入方法還包括,當判斷邏輯偏移地址未對應(yīng)第一起始實體偏移地址或第二起始實體偏移地址時,從可復(fù)寫式非易失性存儲器模組中·的其他實體頁面中讀取屬于此邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù),依據(jù)此更新數(shù)據(jù)所對應(yīng)的邏輯偏移地址與此有效數(shù)據(jù)所對應(yīng)的其他邏輯偏移地址整理(arrange)此更新數(shù)據(jù)與有效數(shù)據(jù)以產(chǎn)生有效頁面數(shù)據(jù),將有效頁面數(shù)據(jù)寫入至此實體頁面中并且將第一狀態(tài)標記與第二狀態(tài)標記皆記錄成有效狀態(tài)。在本發(fā)明的一實施例中,上述的數(shù)據(jù)寫入方法還包括,當判斷此更新數(shù)據(jù)的大小不等于區(qū)段容量時,從可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于此邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù),依據(jù)此更新數(shù)據(jù)所對應(yīng)的邏輯偏移地址與此有效數(shù)據(jù)所對應(yīng)的其他邏輯偏移地址整理(arrange)此更新數(shù)據(jù)與有效數(shù)據(jù)以產(chǎn)生有效頁面數(shù)據(jù),將有效頁面數(shù)據(jù)寫入至此實體頁面中并且將第一狀態(tài)標記與第二狀態(tài)標記皆記錄成有效狀態(tài)。在本發(fā)明的一實施例中,上述的實體頁面的大小為8千位元組,并且依序地將此實體頁面劃分為第一儲存區(qū)段與第二儲存區(qū)段的步驟包括將此實體頁面之中前面4千位元組的儲存空間劃分為第一儲存區(qū)段并且將此實體頁面之中后面4千位元組的儲存空間劃分為第二儲存區(qū)段。本發(fā)明一范例實施例提出一種存儲器控制器,用于控制可復(fù)寫式非易失性存儲器模組。本存儲器控制器包括主機接口、存儲器接口、微控制器、存儲器管理單元、數(shù)據(jù)處理單元與存儲器寫入單元。主機接口用以電性連接至主機系統(tǒng)。存儲器接口用以電性連接至可復(fù)寫式非易失性存儲器模組,其中可復(fù)寫式非易失性存儲器模組具有多個實體頁面。微控制器電性連接至主機接口與存儲器接口。存儲器管理單元、數(shù)據(jù)處理單元與存儲器寫入單元電性連接至微控制器。在此,存儲器管理單元用以配置多個邏輯頁面并且指派此些實體頁面來輪替地映射邏輯頁面。主機接口用以從主機系統(tǒng)接收更新數(shù)據(jù),其中此更新數(shù)據(jù)屬于此些邏輯頁面之中的第一邏輯頁面并且此更新數(shù)據(jù)是從第一邏輯頁面的邏輯偏移地址開始被依序地儲存至第一邏輯頁面中。存儲器管理單元依序地將此些實體頁面之中的第一實體頁面劃分為多個儲存區(qū)段并且為每一儲存區(qū)段配置一個狀態(tài)標記,其中每一儲存區(qū)段具有一起始實體偏移地址并且此些狀態(tài)標記初始地被記錄成無效狀態(tài)。數(shù)據(jù)處理單元會判斷此更新數(shù)據(jù)的大小是否小于數(shù)據(jù)存取單位,其中此數(shù)據(jù)存取單位等于每一實體頁面的頁面容量。當此更新數(shù)據(jù)的大小小于數(shù)據(jù)存取單位時,數(shù)據(jù)處理單元還判斷對應(yīng)更新數(shù)據(jù)的邏輯偏移地址是否對應(yīng)其中一個儲存區(qū)段的起始實體偏移地址并且判斷此更新數(shù)據(jù)的大小是否等于此儲存區(qū)段的區(qū)段容量。當對應(yīng)更新數(shù)據(jù)的邏輯偏移地址對應(yīng)其中一個儲存區(qū)段的起始實體偏移地址并且此更新數(shù)據(jù)的大小等于此儲存區(qū)段的區(qū)段容量時,存儲器寫入單元將此更新數(shù)據(jù)寫入至此儲存區(qū)段中并且將對應(yīng)此儲存區(qū)段的狀態(tài)標記記錄成有效狀態(tài),其中在將此更新數(shù)據(jù)寫入至此儲存區(qū)段時,其他儲存區(qū)段不會被寫入屬于此第一邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。在本發(fā)明的一實施例中,當此更新數(shù)據(jù)的大小非小于數(shù)據(jù)存取單位時,存儲器寫入單元將此更新數(shù)據(jù)寫入至第一實體頁面中并且將每一儲存區(qū)段的狀態(tài)標記記錄成有效狀態(tài)。在本發(fā)明的一實施例中,上述的存儲器控制器還包括存儲器讀取單元。當邏輯偏移地址未對應(yīng)任一個儲存區(qū)段的起始實體偏移地址或者此更新數(shù)據(jù)的大小不等于此儲存區(qū)段的區(qū)段容量時,存儲器讀取單元從可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于第一邏輯頁面的有效數(shù)據(jù),數(shù)據(jù)處理單元依據(jù)此更新數(shù)據(jù)所對應(yīng)的邏輯偏移地址與此有效數(shù)據(jù)所對應(yīng)的其他邏輯偏移地址整理(arrange)此更新數(shù)據(jù)與有效數(shù)據(jù)以產(chǎn)生有效頁面數(shù)據(jù),并且存儲器寫入單元將此有效頁面數(shù)據(jù)寫入至第一實體頁面中且將每一儲存區(qū)段的狀態(tài)標記記錄成有效狀態(tài)。本發(fā)明一范例實施例提出一種存儲器儲存裝置,其包括連接器、可復(fù)寫式非易失性存儲器模組與存儲器控制器。連接器用以電性連接至主機系統(tǒng)。可復(fù)寫式非易失性存儲器模組具有多個實體頁面。存儲器控制器電性連接至可復(fù)寫式非易失性存儲器模組與連接器。在此,存儲器控制器用以配置多個邏輯頁面并且指派此些實體頁面來輪替地映射邏輯頁面。此外,連接器用以從主機系統(tǒng)接收更新數(shù)據(jù),其中此更新數(shù)據(jù)屬于此些邏輯頁面之中的第一邏輯頁面并且此更新數(shù)據(jù)是從第一邏輯頁面的邏輯偏移地址開始被依序地儲存至第一邏輯頁面中。存儲器控制器會依序地將此些實體頁面之中的第一實體頁面劃分為多個儲存區(qū)段并且為每一儲存區(qū)段配置一個狀態(tài)標記,其中每一儲存區(qū)段具有起始實體偏移地址并且此些狀態(tài)標記初始地被記錄成無效狀態(tài)。存儲器控制器會判斷此更新數(shù)據(jù)的大小是否小于數(shù)據(jù)存取單位,其中此數(shù)據(jù)存取單位等于每一實體頁面的頁面容量。當此更新數(shù)據(jù)的大小小于數(shù)據(jù)存取單位時,存儲器控制器還判斷對應(yīng)更新數(shù)據(jù)的邏輯偏移地址是否對應(yīng)其中一個儲存區(qū)段的起始實體偏移地址并且判斷此更新數(shù)據(jù)的大小是否等于此儲存區(qū)段的區(qū)段容量。當對應(yīng)更新數(shù)據(jù)的邏輯偏移地址是對應(yīng)其中一個儲存區(qū)段的起始實體偏移地址并且更新數(shù)據(jù)的大小等于此儲存區(qū)段的區(qū)段容量時,存儲器控制器將此更新數(shù)據(jù)寫入至此儲存區(qū)段中并且將對應(yīng)此儲存區(qū)段的狀態(tài)標記記錄成有效狀態(tài),其中在將此更新數(shù)據(jù)寫入至此儲存區(qū)段時,其他儲存區(qū)段不會被寫入屬于第一邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。在本發(fā)明的一實施例中,當此更新數(shù)據(jù)的大小非小于數(shù)據(jù)存取單位時,存儲器控制器將此更新數(shù)據(jù)寫入至第一實體頁面中并且將每一儲存區(qū)段的該狀態(tài)標記記錄成有效狀態(tài)。在本發(fā)明的一實施例中,當對應(yīng)更新數(shù)據(jù)的邏輯偏移地址未對應(yīng)任一個儲存區(qū)段的起始實體偏移地址或者此更新數(shù)據(jù)的大小不等于此儲存區(qū)段的區(qū)段容量時,存儲器控制器從可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于第一邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù),依據(jù)此更新數(shù)據(jù)所對應(yīng)的邏輯偏移地址與有效數(shù)據(jù)所對應(yīng)的其他邏輯偏移地址整理(arrange)此更新數(shù)據(jù)與有效數(shù)據(jù)以產(chǎn)生有效頁面數(shù)據(jù),將此有效頁面數(shù)據(jù)寫入至第一實體頁面中并且將每一儲存區(qū)段的狀態(tài)標記記錄成有效狀態(tài)。在本發(fā)明的一實施例中,每一實體頁面的大小為8千位元組并且每一儲存區(qū)段的大小為4千位元組。本發(fā)明一范例實施例提出一種數(shù)據(jù)寫入方法,用于將一更新數(shù)據(jù)寫入至一閃速存儲器模組中,其中此閃速存儲器模組具有多個實體頁面,此些實體頁面輪替地映射多個邏輯頁面,此更新數(shù)據(jù)屬于此些邏輯頁面之中的一第一邏輯頁面,其中每一實體頁面為該閃速存儲器模組的最小寫入單位。本數(shù)據(jù)寫入方法包括將此些實體頁面之中的一第一實體頁面劃分為多個儲存區(qū)段;以及為每一儲存區(qū)段配置一狀態(tài)標記,用以標記各儲存區(qū)段所儲存的數(shù)據(jù)的有效性。本數(shù)據(jù)寫入方法也包括將更新數(shù)據(jù)寫入此些儲存區(qū)段之中的至少一儲存區(qū)段;及修改寫入此更新數(shù)據(jù)的儲存區(qū)段對應(yīng)的狀態(tài)標記,其中在第一實體頁面中儲存更新數(shù)據(jù)的儲存區(qū)段的狀態(tài)標記的狀態(tài)為有效,并且非儲存更新數(shù)據(jù)的其他儲存區(qū)段的狀態(tài)標記的狀態(tài)為無效。基于上述,本發(fā)明范例實施例的數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置能夠有效地縮短寫入數(shù)據(jù)的時間。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。圖I是根據(jù)本發(fā)明所示的數(shù)據(jù)寫入方法的概要流程圖。圖2A是根據(jù)一范例實施例所示的主機系統(tǒng)與存儲器儲存裝置。圖2B是根據(jù)一范例實施例所示的計算機、輸入/輸出裝置與存儲器儲存裝置的示意圖。圖2C是根據(jù)另一范例實施例所示的主機系統(tǒng)與存儲器儲存裝置的示意圖。圖3是根據(jù)一范例實施例所示的存儲器儲存裝置的概要方框圖。圖4是根據(jù)一范例實施例所示的存儲器控制器的概要方框圖。圖5A與圖5B是根據(jù)一范例實施例所示管理可復(fù)寫式非易失性存儲器模組的實體區(qū)塊的示意圖。圖6圖8是根據(jù)一范例實施例所示的使用子實體區(qū)塊來寫入更新數(shù)據(jù)的范例。圖9是根據(jù)一范例實施例所示的將數(shù)據(jù)量小于數(shù)據(jù)存取單元的更新數(shù)據(jù)寫入至一個實體頁面的范例。圖10是根據(jù)一范例實施例所示的使用子實體區(qū)塊與全域混亂實體區(qū)塊寫入數(shù)據(jù)的示意圖。圖11是根據(jù)一范例實施例所示的將數(shù)據(jù)量小于數(shù)據(jù)存取單元的更新數(shù)據(jù)寫入至一個實體頁面的另一范例。圖12是是根據(jù)一范例實施例所示的在區(qū)塊管理表中記錄狀態(tài)標記的范例。圖13是根據(jù)一范例實施例所示的數(shù)據(jù)寫入方法的流程圖。附圖標記S101、S103、S105、S107:數(shù)據(jù)寫入的步驟1000:主機系統(tǒng)1100:計算機1102:微處理器1104:隨機存取存儲器1106:輸入/輸出裝置1108:系統(tǒng)總線1110:數(shù)據(jù)傳輸接口12O2:鼠標1204:鍵盤1206:顯示器1208:打印機1212:隨身碟1214:記憶卡1216:固態(tài)硬盤1310:數(shù)碼相機1312SD卡1314:MMC卡1316:記憶棒1318:CF卡1320:嵌入式儲存裝置100:存儲器儲存裝置102:連接器104:存儲器控制器106:可復(fù)寫式非易失性存儲器模組302:微控制器304:主機接口306:存儲器接口308:存儲器管理單元310:存儲器寫入單元312:存儲器讀取單元314:存儲器抹除單元316:數(shù)據(jù)處理單元410(0)410(N):實體區(qū)塊502:數(shù)據(jù)區(qū)504:閑置區(qū)506:系統(tǒng)區(qū)508:取代區(qū)610(0)610(H):邏輯區(qū)塊710(0)710(K):邏輯存取地址LP0、LP1:邏輯頁面PPO、PPUPP2實體頁面UDO、UDI:更新數(shù)據(jù)VD0、VD1:有效數(shù)據(jù)0D0:舊數(shù)據(jù)902:第一儲存區(qū)段904:第二儲存區(qū)段902a:第一狀態(tài)標記904a第二狀態(tài)標記S1301、S1303、S1305、S1307、S1309、S1311、S1313、S1315:數(shù)據(jù)寫入的步驟具體實施例方式在本發(fā)明中,每個實體頁面會被區(qū)分為多個儲存區(qū)段并且當寫入數(shù)據(jù)時,僅被更新的儲存區(qū)段會被寫入更新數(shù)據(jù),而未更新的儲存區(qū)段不會被填補未更新的數(shù)據(jù)。請參照圖1,具體來說,當欲寫入更新數(shù)據(jù)至可復(fù)寫式非易失性存儲器模組(例如,閃速存儲器模組)的一個實體頁面(以下稱為第一實體頁面)時,第一實體頁面會被劃分為多個儲存區(qū)段(SlOl),并且每一儲存區(qū)段會被對應(yīng)地配置一狀態(tài)標記(S103),其中此些狀態(tài)標記用以分別地標記此些儲存區(qū)段所儲存的數(shù)據(jù)的有效性。然后,此更新數(shù)據(jù)寫入會被寫入至此些儲存區(qū)段之中的至少一儲存區(qū)段(S105)并且用以寫入此更新數(shù)據(jù)的儲存區(qū)段所對應(yīng)的狀態(tài)標記會被修改(S107),其中在儲存更新數(shù)據(jù)的儲存區(qū)段的狀態(tài)標記的狀態(tài)為有效,并且非儲存更新數(shù)據(jù)的其他儲存區(qū)段的狀態(tài)標記的狀態(tài)為無效。由此,由于無需填補為更新的數(shù)據(jù),因此,可大幅縮短寫入數(shù)據(jù)所需的時間。以下將以數(shù)個范例實施例與附圖來更清楚描述本發(fā)明。圖2A是根據(jù)一范例實施例所示的主機系統(tǒng)與存儲器儲存裝置。請參照圖2A,主機系統(tǒng)1000—般包括計算機1100與輸入/輸出(input/output,I/O)裝置1106。計算機1100包括微處理器1102、隨機存取存儲器(randomaccessmemory,RAM)1104、系統(tǒng)總線1108與數(shù)據(jù)傳輸接口1110。輸入/輸出裝置1106包括如圖2B的鼠標1202、鍵盤1204、顯示器1206與打印機1208。必須了解的是,圖2B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。在本發(fā)明實施例中,存儲器儲存裝置100是通過數(shù)據(jù)傳輸接口1110與主機系統(tǒng)1000的其他元件電性連接。藉由微處理器1102、隨機存取存儲器1104與輸入/輸出裝置1106的運作可將數(shù)據(jù)寫入至存儲器儲存裝置100或從存儲器儲存裝置100中讀取數(shù)據(jù)。例如,存儲器儲存裝置100可以是如圖2B所示的隨身碟1212、記憶卡1214或固態(tài)硬盤(SolidStateDrive,SSD)1216等的可復(fù)寫式非易失性存儲器儲存裝置。一般而言,主機系統(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時,可復(fù)寫式非易失性存儲器儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memorystick)1316、CF卡1318或嵌入式儲存裝置1320(如圖2C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機系統(tǒng)的基板上。圖3是根據(jù)一范例實施例所示的存儲器儲存裝置的概要方框圖。請參照圖3,存儲器儲存裝置100包括連接器102、存儲器控制器104與可復(fù)寫式非易失性存儲器模組106。在本范例實施例中,連接器102是相容于串行高級技術(shù)附件(SerialAdvancedTechnologyAttachment,SATA)標準。然而,必須了解的是,本發(fā)明不限于此,連接器102亦可以是符合電氣和電子工程師協(xié)會(InstituteofElectricalandElectronicEngineers,IEEE)1394標準、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,PCIExpress)標準、平行高級技術(shù)附件(ParallelAdvancedTechnologyAttachment,PATA)標準、通用串行總線(UniversalSerialBus,USB)標準、安全數(shù)碼(SecureDigital,SD)接口標準、記憶棒(MemoryStick,MS)接口標準、多媒體儲存卡(MultiMediaCard,MMC)接口標準、小型閃速(CompactFlash,CF)接口標準、集成式驅(qū)動電子接口(IntegratedDeviceElectronics,IDE)標準或其他適合的標準。存儲器控制器104用以執(zhí)行以硬件型式或固件型式實作的多個邏輯門或控制指令,并且根據(jù)主機系統(tǒng)1000的指令在可復(fù)寫式非易失性存儲器模組106中進行數(shù)據(jù)的寫入、讀取、抹除與合并等運作??蓮?fù)寫式非易失性存儲器模組106是電性連接至存儲器控制器104,并且具有多個實體區(qū)塊以儲存主機系統(tǒng)1000所寫入的數(shù)據(jù)。在本范例實施例中,每一實體區(qū)塊分別具有多個實體頁面,其中屬于同一個實體區(qū)塊的實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體區(qū)塊是由128個實體頁面所組成,并且每一實體頁面的容量為8千位元組(Kilobyte,KB)。然而,必須了解的是,本發(fā)明不限于此,每一實體區(qū)塊亦可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成。更詳細來說,實體區(qū)塊為抹除的最小單位。亦即,每一實體區(qū)塊含有最小數(shù)目的一并被抹除的存儲單元。實體頁面為編程的最小單元。即,實體頁面為寫入數(shù)據(jù)的最小單元。具體來說,在存儲器控制器104對可復(fù)寫式非易失性存儲器模組106下達寫入指令之后,可復(fù)寫式非易失性存儲器模組106會從存儲器控制器104接收屬于I個實體頁面的數(shù)據(jù)并且暫存于其的緩沖存儲器(未示出)中,然后,數(shù)據(jù)會一起被編程至一個實體頁面中。每一實體頁面通常包括數(shù)據(jù)位元區(qū)與冗余位元區(qū)。數(shù)據(jù)位元區(qū)用以儲存使用者的數(shù)據(jù),而冗余位元區(qū)用以儲存系統(tǒng)的數(shù)據(jù)(例如,錯誤檢查與校正碼)。在此,數(shù)據(jù)位元區(qū)的大小即為一個頁面容量,其亦稱為數(shù)據(jù)存取單位。在本范例實施例中,可復(fù)寫式非易失性存儲器模組106為多階存儲單元(MultiLevelCelI,MLC)NAND閃速存儲器模組。然而,本發(fā)明不限于此,可復(fù)寫式非易失性存儲器模組106亦可是單階存儲單元(SingleLevelCell,SLC)NAND閃速存儲器模組、其他閃速存儲器模組或其他具有相同特性的存儲器模組。圖4是根據(jù)一范例實施例所示的存儲器控制器的概要方框圖。請參照圖4,存儲器控制器104包括微控制器302、主機接口304、存儲器接口306、存儲器管理單元308、存儲器寫入單元310、存儲器讀取單元312、存儲器抹除單元314與數(shù)據(jù)處理單元316。微控制器302用以控制存儲器控制器104的整體運作。主機接口304是電性連接至微控制器302并且用以接收與識別主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)。在本范例實施例中,主機接口304是相容于SATA標準。然而,必須了解的是本發(fā)明不限于此,主機接口304亦可以是相容于PATA標準、IEEE1394標準、PCIExpress標準、USB標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的數(shù)據(jù)傳輸標準。存儲器接口306是電性連接至微控制器302并且用以存取可復(fù)寫式非易失性存儲器模組106。也就是說,欲寫入至可復(fù)寫式非易失性存儲器模組106的數(shù)據(jù)會經(jīng)由存儲器接口306轉(zhuǎn)換為可復(fù)寫式非易失性存儲器模組106所能接受的格式。存儲器管理單元308、存儲器寫入單元310、存儲器讀取單元312、存儲器抹除單元314與數(shù)據(jù)處理單元316是電性連接至該微控制器302。在此,存儲器管理單元308用以管理可復(fù)寫式非易失性存儲器模組106的實體區(qū)塊。存儲器寫入單元310用以對可復(fù)寫式非易失性存儲器模組106下達寫入指令以將數(shù)據(jù)寫入至可復(fù)寫式非易失性存儲器模組106中。存儲器讀取單元312用以對可復(fù)寫式非易失性存儲器模組106下達讀取指令以從可復(fù)寫式非易失性存儲器模組106中讀取數(shù)據(jù)。存儲器抹除單元314用以對可復(fù)寫式非易失性存儲器模組106下達抹除指令以將數(shù)據(jù)從可復(fù)寫式非易失性存儲器模組106中抹除。而數(shù)據(jù)處理單元316用以處理欲寫入至可復(fù)寫式非易失性存儲器模組106的數(shù)據(jù)以及從可復(fù)寫式非易失性存儲器模組106中讀取的數(shù)據(jù)。圖5A與圖5B是根據(jù)一范例實施例所示管理可復(fù)寫式非易失性存儲器模組的實體區(qū)塊的示意圖。請參照圖5A,可復(fù)寫式非易失性存儲器模組106具有實體區(qū)塊410(O)410(N),并且存儲器控制器104的存儲器管理單元308會將實體區(qū)塊410(0)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ù)時,存儲器管理單元308會從閑置區(qū)504中提取實體區(qū)塊,數(shù)據(jù)處理單元316會整理欲寫入的數(shù)據(jù)并且存儲器寫入單元310會將數(shù)據(jù)寫入至所提取的實體區(qū)塊中。再例如,當對某一邏輯區(qū)塊執(zhí)行數(shù)據(jù)合并程序時,存儲器管理單元308會從閑置區(qū)504中提取實體區(qū)塊作為對應(yīng)此邏輯區(qū)塊的新數(shù)據(jù)實體區(qū)塊,存儲器讀取單元312會從可復(fù)寫式非易失性存儲器模組106中讀取屬于此邏輯區(qū)塊的有效數(shù)據(jù),數(shù)據(jù)處理單元316會整理此些有效數(shù)據(jù),存儲器寫入單元310會將整理后的有效數(shù)據(jù)寫入至新數(shù)據(jù)實體區(qū)塊中,并且存儲器管理單元308會將此邏輯區(qū)塊重新映射至新數(shù)據(jù)實體區(qū)塊。特別是,在完成數(shù)據(jù)合并程序后,存儲器管理單元308會將儲存無效數(shù)據(jù)的數(shù)據(jù)實體區(qū)塊重新關(guān)聯(lián)(或回收)至閑置區(qū)504,以作為下次寫入新數(shù)據(jù)之用。例如,存儲器抹除單元314會在實體區(qū)塊被關(guān)聯(lián)至閑置區(qū)504時對此實體區(qū)塊執(zhí)行抹除運作或者當實體區(qū)塊從閑置區(qū)504中被提取時對此實體區(qū)塊執(zhí)行抹除運作,以使得從閑置區(qū)504中所提取的實體區(qū)塊為可用于寫入數(shù)據(jù)的空實體區(qū)塊。邏輯上屬于系統(tǒng)區(qū)506的實體區(qū)塊是用以記錄系統(tǒng)數(shù)據(jù)。例如,系統(tǒng)數(shù)據(jù)包括關(guān)于可復(fù)寫式非易失性存儲器模組的制造商與型號、可復(fù)寫式非易失性存儲器模組的實體區(qū)塊數(shù)、每一實體區(qū)塊的實體頁面數(shù)等。邏輯上屬于取代區(qū)508中的實體區(qū)塊是用于壞實體區(qū)塊取代程序,以取代損壞的實體區(qū)塊。具體來說,倘若取代區(qū)508中仍存有正常的實體區(qū)塊并且數(shù)據(jù)區(qū)502的實體區(qū)塊損壞時,存儲器管理單元308會從取代區(qū)508中提取正常的實體區(qū)塊來更換損壞的實體區(qū)塊?;谏鲜?,在存儲器儲存裝置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。值得一提的是,在本范例實施例中,存儲器管理單元308是以每一實體區(qū)塊為單位來進行管理。然而,本發(fā)明不限于此,在另一范例實施例中,存儲器管理單元308亦可將實體區(qū)塊分組為多個實體單元,并且以實體單元為單位來進行管理。例如,每一實體單元可由同一存儲器芯片(die)或不同存儲器芯片中的至少一個實體區(qū)塊所組成。請參照圖5B,存儲器管理單元308會配置邏輯區(qū)塊610(0)610(H)以映射數(shù)據(jù)區(qū)502的實體區(qū)塊,其中每一邏輯區(qū)塊具有多個邏輯頁面并且此些邏輯頁面是依序地映射對應(yīng)的數(shù)據(jù)實體區(qū)塊的實體頁面。例如,在存儲器儲存裝置100被格式化時,邏輯區(qū)塊610(O)610(H)會初始地映射數(shù)據(jù)區(qū)502的實體區(qū)塊410(O)410(F-I)。在本發(fā)明范例實施例中,存儲器管理單元308會維護邏輯區(qū)塊-實體區(qū)塊映射表(logicalblock-physicalblockmappingtable)以記錄邏輯區(qū)塊610(0)~610(H)與數(shù)據(jù)區(qū)502的實體區(qū)塊之間的映射關(guān)系。此外,主機系統(tǒng)1000是以邏輯存取地址為單位來存取數(shù)據(jù)。例如,一個邏輯存取地址為一個邏輯扇區(qū)(Sector)。當主機系統(tǒng)1000存取數(shù)據(jù)時,存儲器管理單元308會將對應(yīng)存儲器儲存裝置100的邏輯存取地址710(O)710(K)轉(zhuǎn)換成對應(yīng)的邏輯頁面內(nèi)的地址。例如,當主機系統(tǒng)1000欲存取某一邏輯存取地址時,存儲器管理單元308會將主機系統(tǒng)1000所存取的邏輯存取地址轉(zhuǎn)換為以對應(yīng)的邏輯區(qū)塊、邏輯頁面與邏輯偏移(offset)所構(gòu)成的多維地址,并且通過邏輯區(qū)塊-實體區(qū)塊映射表于對應(yīng)的實體頁面中存取數(shù)據(jù)。在此,偏移是用以定位在一個邏輯頁面(或?qū)嶓w頁面)中的一個邏輯(或?qū)嶓w)地址,其是定義為此邏輯(或?qū)嶓w)地址與此邏輯頁面(或?qū)嶓w頁面)的起始地址之間的距離,其中此邏輯(或?qū)嶓w)地址亦稱為邏輯(實體)偏移地址。圖6圖8是根據(jù)一范例實施例所示的使用子實體區(qū)塊來寫入更新數(shù)據(jù)的范例。請同時參照圖6圖8,例如,在邏輯區(qū)塊610(0)是映射至實體區(qū)塊410(0)的映射狀態(tài)下,當存儲器控制器104從主機系統(tǒng)1000中接收到寫入指令而欲寫入數(shù)據(jù)至屬于邏輯區(qū)塊610(O)的邏輯頁面時,存儲器控制器104會依據(jù)邏輯區(qū)塊-實體區(qū)塊映射表識別邏輯區(qū)塊610(0)目前是映射至實體區(qū)塊410(O)并且從閑置區(qū)504中提取實體區(qū)塊410(F)來輪替實體區(qū)塊410(0)。然而,當新數(shù)據(jù)寫入至實體區(qū)塊410(F)的同時,存儲器控制器104不會立刻將實體區(qū)塊410(O)中的所有有效數(shù)據(jù)搬移至實體區(qū)塊410(F)而抹除實體區(qū)塊410(0)。具體來說,存儲器讀取單元312會從實體區(qū)塊410(O)中讀取欲寫入實體頁面之前的有效數(shù)據(jù)(即,實體區(qū)塊410(O)的第O實體頁面與第I實體頁面中的數(shù)據(jù))。之后,存儲器寫入單元310會將實體區(qū)塊410(O)中欲寫入實體頁面之前的有效數(shù)據(jù)寫入至實體區(qū)塊410(F)的第O實體頁面與第I實體頁面中(如圖6所示),并且將新數(shù)據(jù)寫入至實體區(qū)塊410(F)的第24個實體頁面中(如圖7所示)。此時,存儲器控制器104即完成寫入的運作。因為實體區(qū)塊410(0)中的有效數(shù)據(jù)有可能在下個操作(例如,寫入指令)中變成無效,因此立刻將實體區(qū)塊410(O)中的有效數(shù)據(jù)搬移至實體區(qū)塊410(F)可能會造成無謂的搬移。此外,數(shù)據(jù)必須依序地寫入至實體區(qū)塊內(nèi)的實體頁面,因此,存儲器寫入單元310、存儲器讀取單元312與數(shù)據(jù)處理單元316僅會先搬移欲寫入實體頁面之前的有效數(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(O))稱為母實體區(qū)塊而用以替換母實體區(qū)塊的實體區(qū)塊(例如,上述與實體區(qū)塊410(F))稱為子實體區(qū)塊。之后,當需要將實體區(qū)塊410(O)與實體區(qū)塊410(F)的數(shù)據(jù)合并(merge)時,存儲器控制器104會將實體區(qū)塊410(O)與實體區(qū)塊410(F)的數(shù)據(jù)整并至一個實體區(qū)塊,由此提升實體區(qū)塊的使用效率。在此,合并母子區(qū)塊的運作稱為數(shù)據(jù)合并程序或關(guān)閉(close)母子區(qū)塊。例如,如圖8所示,當進行關(guān)閉母子區(qū)塊時,存儲器讀取單元312會從實體區(qū)塊410(0)中讀取剩余的有效數(shù)據(jù)(即,實體區(qū)塊410(0)的第5K實體頁面中的數(shù)據(jù)),之后,存儲器寫入單元310會將實體區(qū)塊410(O)中剩余的有效數(shù)據(jù)寫入至實體區(qū)塊410(F)的第5實體頁面第K實體頁面中,然后存儲器抹除單元314會對實體區(qū)塊410(O)執(zhí)行抹除操作并存儲器管理單元308會將抹除后的實體區(qū)塊410(0)關(guān)聯(lián)至閑置區(qū)504并且將實體區(qū)塊410(F)關(guān)聯(lián)至數(shù)據(jù)區(qū)502。也就是說,存儲器管理單元308會在邏輯區(qū)塊-實體區(qū)塊映射表中將邏輯區(qū)塊610(O)重新映射至實體區(qū)塊410(F)。此外,在本范例實施例中,存儲器管理單元308會建立閑置區(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í)行此寫入指令。值得一提的是,如上所述,在可復(fù)寫式非易失性存儲器模組106的編程中,數(shù)據(jù)是以數(shù)據(jù)存取單位為單位被寫入至實體頁面中。倘若屬于某一個邏輯頁面的更新數(shù)據(jù)的大小小于數(shù)據(jù)存取單位時,屬于此邏輯頁面的其他有效數(shù)據(jù)必須從其他實體頁面被讀取并且所讀取的其他有效數(shù)據(jù)與更新數(shù)據(jù)會被一并寫入至實體頁面中。圖9是根據(jù)一范例實施例所示的將數(shù)據(jù)量小于數(shù)據(jù)存取單元的更新數(shù)據(jù)寫入至一個實體頁面的范例。請參照圖9,倘若主機系統(tǒng)1000欲從某個邏輯區(qū)塊的邏輯頁面LPO的第O位元組開始儲存大小為2KB的更新數(shù)據(jù)UDO以取代舊數(shù)據(jù)ODO時,假設(shè)存儲器管理單元308選擇一個實體區(qū)塊的實體頁面PPO來寫入此更新數(shù)據(jù)。由于數(shù)據(jù)處理單元316識別更新數(shù)據(jù)UDO的大小小于數(shù)據(jù)存取單位(即,更新數(shù)據(jù)UDO僅為邏輯頁面LPO的的部分數(shù)據(jù)),因此,存儲器讀取單元312會從原始映射邏輯頁面LPO的實體頁面(例如,實體頁面PPl)中讀取屬于邏輯頁面LPO的其他偏移位元組的有效數(shù)據(jù)VDO。之后,數(shù)據(jù)處理單元316會將更新數(shù)據(jù)UDO與有效數(shù)據(jù)VDO整理成一個有效頁面數(shù)據(jù),并且存儲器寫入單元310會將此有效頁面數(shù)據(jù)寫入至實體頁面PPO中。除了上述使用子實體區(qū)塊來寫入更新數(shù)據(jù)外,在本范例實施例中,在本范例實施例中,存儲器管理單元308還會從閑置區(qū)504中提取至少一實體區(qū)塊作為混亂(Random)實體區(qū)塊,以寫入更新數(shù)據(jù)。例如,倘若主機系統(tǒng)1000欲更新的邏輯頁面的數(shù)據(jù)已被寫入至子實體區(qū)塊時,此更新數(shù)據(jù)會被寫入至混亂實體區(qū)塊,以避免反復(fù)執(zhí)行上述數(shù)據(jù)合并程序。圖10是根據(jù)一范例實施例所示的使用混亂實體區(qū)塊寫入數(shù)據(jù)的示意圖。請參照圖10,假設(shè)實體區(qū)塊410(S_1)被提取作為混亂實體區(qū)塊并且在圖7所示的儲存狀態(tài)下主機系統(tǒng)1000欲寫入更新數(shù)據(jù)至邏輯區(qū)塊610(O)的第I邏輯頁面時,存儲器管理單元308會將此更新數(shù)據(jù)寫入至混亂實體區(qū)塊中第一個空的實體頁面(例如,實體區(qū)塊410(S-I)的第O實體頁面)中。在本范例實施例中,當目前所使用的混亂實體區(qū)塊已被寫滿時,存儲器管理單元308會再從閑置區(qū)504中提取另一個實體區(qū)塊作為新的混亂實體區(qū)塊,直到作為混亂實體區(qū)塊的實體區(qū)塊的數(shù)目達到預(yù)設(shè)值為止。具體來說,閑置區(qū)504的實體區(qū)塊是有限的,因此,作為混亂實體區(qū)塊的實體區(qū)塊的數(shù)目亦會受到限制。當作為混亂實體區(qū)塊的實體區(qū)塊的數(shù)目達到預(yù)設(shè)值時,存儲器管理單元308會執(zhí)行上述數(shù)據(jù)合并程序,對所儲存的數(shù)據(jù)皆為無效數(shù)據(jù)的混亂實體區(qū)塊執(zhí)行抹除運作并且將已抹除的實體區(qū)塊關(guān)聯(lián)至閑置區(qū)504。由此,在執(zhí)行下一個寫入指令時,存儲器管理單元308就可再從閑置區(qū)504提取空的實體區(qū)塊作為混亂實體區(qū)塊。值得一提的是,在寫入數(shù)據(jù)至混亂實體區(qū)塊的運作中,數(shù)據(jù)會根據(jù)其大小而以不同的模式被寫入至實體頁面中。具體來說,當主機系統(tǒng)1000欲儲存數(shù)據(jù)(以下稱為更新數(shù)據(jù))至一個邏輯頁面并且存儲器管理單元308決定將此更新數(shù)據(jù)寫入至混亂實體區(qū)塊時,數(shù)據(jù)處理單元316會判斷此更新數(shù)據(jù)的大小是否小于一個數(shù)據(jù)存取單位。倘若此更新數(shù)據(jù)的大小非小于一個數(shù)據(jù)存取單位(即,為一個數(shù)據(jù)存取單位)時,存儲器寫入單元310會將此更新數(shù)據(jù)寫入至混亂實體區(qū)塊的一個實體頁面中,而無需進行有效頁面數(shù)據(jù)整理(arrange)。例如,圖6_7的寫入運作就是直接將整個邏輯頁面的更新數(shù)據(jù)寫入至實體頁面中。倘若此更新數(shù)據(jù)的大小小于一個數(shù)據(jù)存取單位(即,不為一個數(shù)據(jù)存取單位)時,存儲器管理單元308會選擇混亂實體區(qū)塊的一個實體頁面并且將此實體頁面劃分為多個儲存區(qū)段。此外,數(shù)據(jù)處理單元316會判斷對應(yīng)此更新數(shù)據(jù)的邏輯偏移地址(B卩,主機系統(tǒng)100欲儲存此更新數(shù)據(jù)的起始邏輯偏移地址)是否對應(yīng)實體頁面中某一儲存區(qū)段的起始實體偏移地址且判斷此更新數(shù)據(jù)的大小是否等于此儲存區(qū)段的區(qū)段容量。倘若此更新數(shù)據(jù)的邏輯偏移地址非對應(yīng)實體頁面中某一儲存區(qū)段的起始實體偏移地址或者此更新數(shù)據(jù)的大小非等于此儲存區(qū)段的區(qū)段容量時,存儲器寫入單元310會從其他實體頁面(例如,母實體區(qū)塊的實體頁面)中讀取屬于此邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù),整理更新數(shù)據(jù)與所讀取的有效數(shù)據(jù)以產(chǎn)生完整的有效頁面數(shù)據(jù)并且將此有效頁面數(shù)據(jù)寫入至實體頁面中(如圖9所示)。倘若此更新數(shù)據(jù)的邏輯偏移地址是對應(yīng)實體頁面中某一儲存區(qū)段的起始實體偏移地址并且此更新數(shù)據(jù)的大小等于此儲存區(qū)段的區(qū)段容量時,存儲器寫入單元310僅會將此更新數(shù)據(jù)寫入至實體頁面的此儲存區(qū)段中,而無進行有效頁面數(shù)據(jù)整理。圖11是根據(jù)一范例實施例所示的將數(shù)據(jù)量小于數(shù)據(jù)存取單元的更新數(shù)據(jù)寫入至一個實體頁面的另一范例。請參照圖11,例如,倘若主機系統(tǒng)1000欲從某個邏輯區(qū)塊的邏輯頁面LPl的第O位元組開始儲存數(shù)據(jù)量為4KB的更新數(shù)據(jù)UDl時,存儲器管理單元308選擇一個實體區(qū)塊的實體頁面PP2來寫入此更新數(shù)據(jù)。由于數(shù)據(jù)處理單元316識別更新數(shù)據(jù)UDl的大小小于數(shù)據(jù)存取單位,因此,存儲器管理單元308會將實體頁面PP2的儲存空間依序地劃分為起始實體偏移地址為第O位元組的第一儲存區(qū)段902以及起始實體偏移地址為第4KB位元組的第二儲存區(qū)段904。在本范例實施例中,一個實體頁面的頁面容量為8KB并且一個儲存區(qū)段的區(qū)段容量為4KB,因此,一個實體頁面可被劃分為2個4KB的儲存區(qū)段。然而,必須了解的是,本發(fā)明不限于此,每個實體頁面中儲存區(qū)段的數(shù)目是根據(jù)儲存區(qū)段的區(qū)段容量與實體頁面的頁面容量的不同而有所不同。例如,倘若頁面容量為16KB且區(qū)段容量為4KB時,存儲器管理單元308會將一個實體頁面劃分為4個4KB的儲存區(qū)段或2個8KB的儲存區(qū)段。再者,盡管在本范例實施例中,實體頁面是被劃分為相同區(qū)段容量的多個儲存區(qū)段,但本發(fā)明不限于此,每一儲存區(qū)段亦具有不同的區(qū)段容量。此外,由于數(shù)據(jù)處理單元316識別更新數(shù)據(jù)UDl的邏輯偏移地址是對應(yīng)第一儲存區(qū)段902的起始實體偏移地址(即,第O位元組)并且更新數(shù)據(jù)UDl的大小等于第一儲存區(qū)段902的區(qū)段容量(即,4KB),因此,存儲器寫入單元310僅會將更新數(shù)據(jù)UDl寫入至第一儲存區(qū)段902中,而不會將屬于邏輯頁面LPl的其他偏移地址的有效數(shù)據(jù)VDl寫入至實體頁面PP2中。也就是說,在圖11的范例中,存儲器控制器104無需進行有效頁面數(shù)據(jù)整理而直接將更新數(shù)據(jù)寫入至實體頁面中,由此,可有效地提升將數(shù)據(jù)寫入至混亂實體區(qū)塊的速度。值得一提的是,如上所述,在可復(fù)寫式非易失性存儲器模組106中,數(shù)據(jù)是以實體頁面為單位來編程,因此,在圖11所述的范例中,更新數(shù)據(jù)UDl被傳輸至可復(fù)寫式非易失性存儲器模組106中之后,仍會與暫存于可復(fù)寫式非易失性存儲器模組106的緩沖存儲器(未示出)中的無意義數(shù)據(jù)一起被寫入至實體頁面中。值得一提的是,存儲器管理單元308會為第一儲存區(qū)段902與第二儲存區(qū)段904分別地配置第一狀態(tài)標記902a與第二狀態(tài)標記904a,其中第一狀態(tài)標記902a與第二狀態(tài)標記904a會被初始地記錄成”無效狀態(tài)”。特別是,當更新數(shù)據(jù)UDl被寫入至第一儲存區(qū)段902時,存儲器寫入單元310會一并將第一狀態(tài)標記902a記錄成”有效狀態(tài)”。由此,當主機系統(tǒng)1000欲讀取此邏輯頁面的數(shù)據(jù)時,存儲器管理單元308可通過狀態(tài)標記識別出儲存于實體頁面中的有效數(shù)據(jù)。例如,存儲器管理單元308會將儲存區(qū)段的狀態(tài)標記配置在實體頁面的冗余位元區(qū)中,并且使用I個位元來代表一個儲存區(qū)段的狀態(tài),其中當儲存區(qū)段儲存有效數(shù)據(jù)時,對應(yīng)此儲存區(qū)段的狀態(tài)標記會被標記為“I”并且當儲存區(qū)段未儲存有效數(shù)據(jù)時,對應(yīng)此儲存區(qū)段的狀態(tài)標記會被標記為“O”。此外,例如,存儲器管理單元308可在用以記錄用作為混亂實體區(qū)塊的實體區(qū)塊的區(qū)塊管理表1102中,記錄僅部分地址儲存有效數(shù)據(jù)的實體頁面(例如,實體區(qū)塊PP2)的每一儲存區(qū)段的狀態(tài)標記(如圖12所示)。此外,除了上述微控制器302、主機接口304、存儲器接口306、存儲器管理單元308、存儲器寫入單元310、存儲器讀取單元312、存儲器抹除單元314與數(shù)據(jù)處理單元316,存儲器控制器104亦可還包括緩沖存儲器、電源管理電路與錯誤檢查與校正電路。緩沖存儲器是電性連接至微控制器302并且用以暫存來自于主機系統(tǒng)1000的數(shù)據(jù)與指令或來自于可復(fù)寫式非易失性存儲器模組106的數(shù)據(jù)。電源管理電路是電性連接至微控制器302并且用以控制存儲器儲存裝置100的電源?!ゅe誤檢查與校正電路是電性連接至微控制器302并且用以執(zhí)行一錯誤校正程序以確保數(shù)據(jù)的正確性。具體來說,當主機接口304從主機系統(tǒng)1000中接收到主機寫入指令時,錯誤檢查與校正電路會為對應(yīng)此主機寫入指令的寫入數(shù)據(jù)產(chǎn)生對應(yīng)的錯誤檢查與校正碼(ErrorCheckingandCorrectingCode,ECCCode),并且存儲器寫入單兀308會將此寫入數(shù)據(jù)與對應(yīng)的錯誤校正碼寫入至可復(fù)寫式非易失性存儲器模組106中。之后,當存儲器讀取單元312從可復(fù)寫式非易失性存儲器模組106中讀取數(shù)據(jù)時會同時讀取此數(shù)據(jù)對應(yīng)的錯誤校正碼,并且錯誤檢查與校正電路會依據(jù)此錯誤校正碼對所讀取的數(shù)據(jù)執(zhí)行錯誤校正程序。值得一提的是,在本范例實施例中,存儲器管理單元308、存儲器寫入單元310、存儲器讀取單元312、存儲器抹除單元314與數(shù)據(jù)處理單元316是以硬件架構(gòu)來實作,但本發(fā)明不限于此。在本發(fā)明另一范例實施例中,存儲器管理單元308、存儲器寫入單元310、存儲器讀取單元312、存儲器抹除單元314與數(shù)據(jù)處理單元316亦可以固件型式來實作。例如,存儲器管理單元308、存儲器寫入單元310、存儲器讀取單元312、存儲器抹除單元314與數(shù)據(jù)處理單元316的控制指令可被燒錄至配置于存儲器控制器的只讀存儲器中。當存儲器儲存裝置100運作時,此些控制指令會由微控制器來執(zhí)行。此外,在本發(fā)明另一范例實施例中,實作存儲器管理單元308、存儲器寫入單元310、存儲器讀取單元312、存儲器抹除單元314與數(shù)據(jù)處理單元316的控制指令亦可以程序碼型式儲存于可復(fù)寫式非易失性存儲器模組的特定區(qū)域(例如,可復(fù)寫式非易失性存儲器模組中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。例如,只讀存儲器(未示出)及隨機存取存儲器(未示出)會被配置在存儲器控制器中,并且此只讀存儲器具有一驅(qū)動碼段。當存儲器控制器被使能時,微控制器會先執(zhí)行此驅(qū)動碼段來將儲存于可復(fù)寫式非易失性存儲器模組中的控制指令載入至此隨機存取存儲器中,之后再運轉(zhuǎn)此些控制指令。圖13是根據(jù)一范例實施例所示的數(shù)據(jù)寫入方法的流程圖,其顯示實作將數(shù)據(jù)寫入至混亂實體區(qū)塊的實體頁面的控制指令的步驟。請參照圖13,當欲將屬于一個邏輯頁面(以下稱為第一邏輯頁面)的更新數(shù)據(jù)寫入至混亂實體區(qū)塊的一個實體頁面(以下稱為第一實體頁面)時,首先,在步驟S1301中,第一實體頁面會依序地被劃分為多個儲存區(qū)段,并且在步驟S1303中,對應(yīng)此些儲存區(qū)段的狀態(tài)標記會被配置并初始化為“無效狀態(tài)”。將實體頁面劃分為多個儲存區(qū)段與配置狀態(tài)標記的方法已配合圖10詳細描述如上,在此不再贅述。之后,在步驟S1305中,此更新數(shù)據(jù)的大小會被判斷是否小于數(shù)據(jù)存取單位。倘若判斷此更新數(shù)據(jù)的大小非小于數(shù)據(jù)存取單位時,則在步驟S1307中,此更新數(shù)據(jù)會被寫入至第一實體頁面中并且第一實體頁面的每一儲存區(qū)段的儲存狀態(tài)會被記錄成“有效狀態(tài)”。倘若判斷此更新數(shù)據(jù)的大小小于數(shù)據(jù)存取單位時,則在步驟S1309中,對應(yīng)此更新數(shù)據(jù)的邏輯偏移地址(即,用以儲存此更新數(shù)據(jù)的起始邏輯偏移地址)會被判斷是否對應(yīng)第一實體頁面中其中一個儲存區(qū)段的起始實體偏移地址。倘若對應(yīng)此更新數(shù)據(jù)的邏輯偏移地址非對應(yīng)第一實體頁面中任何一個儲存區(qū)段的起始實體偏移地址時,則在步驟S1311中,屬于第一邏輯頁面的其他偏移地址的有效數(shù)據(jù)會從可復(fù)寫式非易失性存儲器模組106的其他實體頁面被讀取,所讀取的有效數(shù)據(jù)與此更新數(shù)據(jù)會被整理以產(chǎn)生屬于第一邏輯頁面的有效頁面數(shù)據(jù),此有效頁面數(shù)據(jù)會被寫入至第一實體頁面中并且第一實體頁面的每一儲存區(qū)段的儲存狀態(tài)會被記錄成“有效狀態(tài)”。倘若對應(yīng)此更新數(shù)據(jù)的邏輯偏移地址對應(yīng)第一實體頁面中其中一個儲存區(qū)段(以下稱為目標儲存區(qū)段)的起始實體偏移地址時,則在步驟S1313中,更新數(shù)據(jù)的大小會被判斷是否等于目標儲存區(qū)段的區(qū)段容量。倘若更新數(shù)據(jù)的大小不等于目標儲存區(qū)段的區(qū)段容量時,則步驟S1311會被執(zhí)行。倘若更新數(shù)據(jù)的大小等于目標儲存區(qū)段的區(qū)段容量時,則在步驟S1315中,更新數(shù)據(jù)會被寫入至目標儲存區(qū)段中并且目標儲存區(qū)段的狀態(tài)標記會被記錄成“有效狀態(tài)”。特別是,在步驟S1315中,第一實體頁面的其他儲存區(qū)段不會被寫入有效數(shù)據(jù)。必須了解是,盡管在本范例實施例中,是以將更新數(shù)據(jù)寫入至混亂實體區(qū)塊的實體頁面中的一個儲存區(qū)段為例來說明本發(fā)明的數(shù)據(jù)寫入方法,但本發(fā)明不限于此,寫入數(shù)據(jù)至可復(fù)寫式非易失性存儲器模組的任何實體頁面的操作皆可使用本發(fā)明的數(shù)據(jù)寫入方法。綜上所述,本發(fā)明范例實施例的數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置能夠在無需進行有效頁面數(shù)據(jù)整理下直接將更新數(shù)據(jù)寫入至實體頁面中,由此提升數(shù)據(jù)寫入的速度。特別是,對于經(jīng)常以固定小于一個實體頁面(例如,8千位元組)的數(shù)據(jù)量(例如,4千位元組)來存取數(shù)據(jù)的作業(yè)系統(tǒng)來說,本發(fā)明范例實施例的數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置還能夠大幅度地提升數(shù)據(jù)存取的效能。雖然本發(fā)明已以實施例揭示如上,然其并非用以限定本發(fā)明,任何所屬
技術(shù)領(lǐng)域
的普通技術(shù)人員,當可作些許更動與潤飾,而不脫離本發(fā)明的精神和范圍。權(quán)利要求1.一種數(shù)據(jù)寫入方法,用于將一更新數(shù)據(jù)寫入至一可復(fù)寫式非易失性存儲器模組中,其中該可復(fù)寫式非易失性存儲器模組具有多個實體頁面,該些實體頁面輪替地映射多個邏輯頁面,該更新數(shù)據(jù)屬于該些邏輯頁面之中的一第一邏輯頁面并且該更新數(shù)據(jù)是從該第一邏輯頁面的一邏輯偏移地址開始被依序地儲存至該第一邏輯頁面中,該數(shù)據(jù)寫入方法包括將該些實體頁面之中的一第一實體頁面劃分為多個儲存區(qū)段,其中每一該些儲存區(qū)段具有一起始實體偏移地址;為每一該些儲存區(qū)段配置一狀態(tài)標記,其中該些狀態(tài)標記初始地被記錄成一無效狀態(tài);判斷該更新數(shù)據(jù)的一大小是否小于一數(shù)據(jù)存取單位,其中該數(shù)據(jù)存取單位等于每一該些實體頁面的一頁面容量;當判斷該更新數(shù)據(jù)的大小小于該數(shù)據(jù)存取單位時,還判斷該邏輯偏移地址是否對應(yīng)該些儲存區(qū)段之中的其中一個儲存區(qū)段的起始實體偏移地址并且判斷該更新數(shù)據(jù)的大小是否等于該其中一個儲存區(qū)段的一區(qū)段容量;以及當判斷該邏輯偏移地址對應(yīng)該些儲存區(qū)段之中的該其中一個儲存區(qū)段的起始實體偏移地址并且該更新數(shù)據(jù)的大小等于該其中一個儲存區(qū)段的區(qū)段容量時,將該更新數(shù)據(jù)寫入至該其中一個儲存區(qū)段中并且將對應(yīng)該其中一個儲存區(qū)段的該狀態(tài)標記記錄成一有效狀態(tài),其中在將該更新數(shù)據(jù)寫入至該其中一個儲存區(qū)段時,該些儲存區(qū)段之中的其他儲存區(qū)段不會被寫入屬于該第一邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)寫入方法,其中還包括當判斷該更新數(shù)據(jù)的大小非小于該數(shù)據(jù)存取單位時,將該更新數(shù)據(jù)寫入至該第一實體頁面中并且將每一該些儲存區(qū)段的該狀態(tài)標記記錄成該有效狀態(tài)。3.根據(jù)權(quán)利要求I所述的數(shù)據(jù)寫入方法,其中還包括當判斷該邏輯偏移地址未對應(yīng)該些儲存區(qū)段之中的任一個儲存區(qū)段的起始實體偏移地址或者該更新數(shù)據(jù)的大小不等于該其中一個儲存區(qū)段的區(qū)段容量時,從該可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于該第一邏輯頁面的該有效數(shù)據(jù),依據(jù)該更新數(shù)據(jù)所對應(yīng)的該邏輯偏移地址與該有效數(shù)據(jù)所對應(yīng)的該其他邏輯偏移地址整理該更新數(shù)據(jù)與該有效數(shù)據(jù)以產(chǎn)生一有效頁面數(shù)據(jù),將該有效頁面數(shù)據(jù)寫入至該第一實體頁面中并且將每一該些儲存區(qū)段的該狀態(tài)標記記錄成該有效狀態(tài)。4.一種數(shù)據(jù)寫入方法,用于將儲存至一邏輯頁面的一更新數(shù)據(jù)寫入至一可復(fù)寫式非易失性存儲器模組的一實體頁面中,其中該更新數(shù)據(jù)是從該邏輯頁面的一邏輯偏移地址開始被儲存至該邏輯頁面中,該數(shù)據(jù)寫入方法包括將該實體頁面劃分為一第一儲存區(qū)段與一第二儲存區(qū)段,其中該第一儲存區(qū)段具有一第一起始實體偏移地址,該第二儲存區(qū)段具有一第二起始實體偏移地址并且該第一儲存區(qū)段與該第二儲存區(qū)段具有相同的一區(qū)段容量;為該第一儲存區(qū)段與該第二儲存區(qū)段分別地配置一第一狀態(tài)標記與一第二狀態(tài)標記,其中該第一狀態(tài)標記與該第二標記初始地被記錄成一無效狀態(tài);判斷該更新數(shù)據(jù)的一大小是否小于一數(shù)據(jù)存取單位,其中該數(shù)據(jù)存取單位等于該實體頁面的一頁面容量;當判斷該更新數(shù)據(jù)的大小小于該數(shù)據(jù)存取單位時,還判斷該邏輯偏移地址是否對應(yīng)該第一起始實體偏移地址或該第二起始實體偏移地址;當判斷該邏輯偏移地址對應(yīng)該第一起始實體偏移地址時,還判斷該更新數(shù)據(jù)的大小是否等于該區(qū)段容量,并且當判斷該更新數(shù)據(jù)的大小等于該區(qū)段容量時,將該更新數(shù)據(jù)寫入至該第一儲存區(qū)段中并且將該第一狀態(tài)標記記錄成一有效狀態(tài),其中在將該更新數(shù)據(jù)寫入至該第一儲存區(qū)段時,該第二儲存區(qū)段不會被寫入屬于該邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)寫入方法,其中還包括當判斷該邏輯偏移地址對應(yīng)該第二起始實體偏移地址時,還判斷該更新數(shù)據(jù)的大小是否等于該區(qū)段容量,并且當判斷該更新數(shù)據(jù)的大小等于該區(qū)段容量時,將該更新數(shù)據(jù)寫入至該第二儲存區(qū)段中并且將該第二狀態(tài)標記記錄成該有效狀態(tài),其中在將該更新數(shù)據(jù)寫入至該第二儲存區(qū)段時,該第一儲存區(qū)段不會被寫入屬于該邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。6.根據(jù)權(quán)利要求4所述的數(shù)據(jù)寫入方法,其中還包括當判斷該更新數(shù)據(jù)的大小非小于該數(shù)據(jù)存取單位時,將該更新數(shù)據(jù)寫入至該實體頁面中并且將該第一狀態(tài)標記與該第二狀態(tài)標記皆記錄成該有效狀態(tài)。7.根據(jù)權(quán)利要求4所述的數(shù)據(jù)寫入方法,其中還包括當判斷該邏輯偏移地址未對應(yīng)該第一起始實體偏移地址或該第二起始實體偏移地址時,從該可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于該邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù),依據(jù)該更新數(shù)據(jù)所對應(yīng)的該邏輯偏移地址與該有效數(shù)據(jù)所對應(yīng)的該其他邏輯偏移地址整理該更新數(shù)據(jù)與該有效數(shù)據(jù)以產(chǎn)生一有效頁面數(shù)據(jù),將該有效頁面數(shù)據(jù)寫入至該實體頁面中并且將該第一狀態(tài)標記與該第二狀態(tài)標記皆記錄成該有效狀態(tài)。8.根據(jù)權(quán)利要求4所述的數(shù)據(jù)寫入方法,其中還包括當判斷該更新數(shù)據(jù)的大小不等于該區(qū)段容量時,從該可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于該邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù),依據(jù)該更新數(shù)據(jù)所對應(yīng)的該邏輯偏移地址與該有效數(shù)據(jù)所對應(yīng)的該其他邏輯偏移地址整理該更新數(shù)據(jù)與該有效數(shù)據(jù)以產(chǎn)生一有效頁面數(shù)據(jù),將該有效頁面數(shù)據(jù)寫入至該實體頁面中并且將該第一狀態(tài)標記與該第二狀態(tài)標記皆記錄成該有效狀態(tài)。9.根據(jù)權(quán)利要求4所述的數(shù)據(jù)寫入方法,其中該實體頁面的大小為8千位元組,其中依序地將該實體頁面劃分為該第一儲存區(qū)段與該第二儲存區(qū)段的步驟包括將該實體頁面之中前面4千位元組的一儲存空間劃分為該第一儲存區(qū)段并且將該實體頁面之中后面4千位元組的一儲存空間劃分為該第二儲存區(qū)段。10.一種存儲器控制器,用于控制一可復(fù)寫式非易失性存儲器模組,該存儲器控制器包括一主機接口,用以電性連接至一主機系統(tǒng);一存儲器接口,用以電性連接至該可復(fù)寫式非易失性存儲器模組,其中該可復(fù)寫式非易失性存儲器模組具有多個實體頁面;一微控制器,電性連接至該主機接口與該存儲器接口;一存儲器管理單元,電性連接至該微控制器并且用以配置多個邏輯頁面并且指派該些實體頁面來輪替地映射該些邏輯頁面;一數(shù)據(jù)處理單元,電性連接至該微控制器;一存儲器寫入單元,接至該微控制器,其中該主機接口用以從該主機系統(tǒng)接收一更新數(shù)據(jù),其中該更新數(shù)據(jù)屬于該些邏輯頁面之中的一第一邏輯頁面并且該更新數(shù)據(jù)是從該第一邏輯頁面的一邏輯偏移地址開始被依序地儲存至該第一邏輯頁面中,其中該存儲器管理單元將該些實體頁面之中的一第一實體頁面劃分為多個儲存區(qū)段并且為每一該些儲存區(qū)段配置一狀態(tài)標記,其中每一該些儲存區(qū)段具有一起始實體偏移地址并且該些狀態(tài)標記初始地被記錄成一無效狀態(tài),其中該數(shù)據(jù)處理單元會判斷該更新數(shù)據(jù)的一大小是否小于一數(shù)據(jù)存取單位,其中該數(shù)據(jù)存取單位等于每一該些實體頁面的一頁面容量,其中當該更新數(shù)據(jù)的大小小于該數(shù)據(jù)存取單位時,該數(shù)據(jù)處理單元還判斷該邏輯偏移地址是否對應(yīng)該些儲存區(qū)段之中的其中一個儲存區(qū)段的起始實體偏移地址并且判斷該更新數(shù)據(jù)的大小是否等于該其中一個儲存區(qū)段的一區(qū)段容量,其中當該邏輯偏移地址對應(yīng)該些儲存區(qū)段之中的該其中一個儲存區(qū)段的起始實體偏移地址并且該更新數(shù)據(jù)的大小等于該其中一個儲存區(qū)段的區(qū)段容量時,該存儲器寫入單元將該更新數(shù)據(jù)寫入至該其中一個儲存區(qū)段中并且將對應(yīng)該其中一個儲存區(qū)段的該狀態(tài)標記記錄成一有效狀態(tài),其中在將該更新數(shù)據(jù)寫入至該其中一個儲存區(qū)段時,該些儲存區(qū)段之中的其他儲存區(qū)段不會被寫入屬于該第一邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。11.根據(jù)權(quán)利要求10所述的存儲器控制器,其中當該更新數(shù)據(jù)的大小非小于該數(shù)據(jù)存取單位時,該存儲器寫入單元將該更新數(shù)據(jù)寫入至該第一實體頁面中并且將每一該些儲存區(qū)段的該狀態(tài)標記記錄成該有效狀態(tài)。12.根據(jù)權(quán)利要求10所述的存儲器控制器,其中還包括一存儲器讀取單元,其中當該邏輯偏移地址未對應(yīng)該些儲存區(qū)段之中的任一個儲存區(qū)段的起始實體偏移地址或者該更新數(shù)據(jù)的大小不等于該其中一個儲存區(qū)段的區(qū)段容量時,該存儲器讀取單元從該可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于該第一邏輯頁面的其他邏輯偏移地址的該有效數(shù)據(jù),該數(shù)據(jù)處理單元依據(jù)該更新數(shù)據(jù)所對應(yīng)的該邏輯偏移地址與該有效數(shù)據(jù)所對應(yīng)的該其他邏輯偏移地址整理該更新數(shù)據(jù)與該有效數(shù)據(jù)以產(chǎn)生一有效頁面數(shù)據(jù),并且該存儲器寫入單元將該有效頁面數(shù)據(jù)寫入至該第一實體頁面中且將每一該些儲存區(qū)段的該狀態(tài)標記記錄成該有效狀態(tài)。13.一種存儲器儲存裝置,包括一連接器,用以電性連接至一主機系統(tǒng);一可復(fù)寫式非易失性存儲器模組,具有多個實體頁面;以及一存儲器控制器,電性連接至該可復(fù)寫式非易失性存儲器模組與該連接器,其中該存儲器控制器用以配置多個邏輯頁面并且指派該些實體頁面來輪替地映射該些邏輯頁面,其中該連接器用以從該主機系統(tǒng)接收一更新數(shù)據(jù),其中該更新數(shù)據(jù)屬于該些邏輯頁面之中的一第一邏輯頁面并且該更新數(shù)據(jù)是從該第一邏輯頁面的一邏輯偏移地址開始被依序地儲存至該第一邏輯頁面中,其中該存儲器控制器將該些實體頁面之中的一第一實體頁面劃分為多個儲存區(qū)段并且為每一該些儲存區(qū)段配置一狀態(tài)標記,其中每一該些儲存區(qū)段具有一起始實體偏移地址并且該些狀態(tài)標記初始地被記錄成一無效狀態(tài),其中該存儲器控制器會判斷該更新數(shù)據(jù)的一大小是否小于一數(shù)據(jù)存取單位,其中該數(shù)據(jù)存取單位等于每一該些實體頁面的一頁面容量,其中當該更新數(shù)據(jù)的大小小于該數(shù)據(jù)存取單位時,該存儲器控制器還判斷該邏輯偏移地址是否對應(yīng)該些儲存區(qū)段之中的其中一個儲存區(qū)段的起始實體偏移地址并且判斷該更新數(shù)據(jù)的大小是否等于該其中一個儲存區(qū)段的一區(qū)段容量,其中當該邏輯偏移地址對應(yīng)該些儲存區(qū)段之中的該其中一個儲存區(qū)段的起始實體偏移地址并且該更新數(shù)據(jù)的大小等于該其中一個儲存區(qū)段的區(qū)段容量時,該存儲器控制器將該更新數(shù)據(jù)寫入至該其中一個儲存區(qū)段中并且將對應(yīng)該其中一個儲存區(qū)段的該狀態(tài)標記記錄成一有效狀態(tài),其中在將該更新數(shù)據(jù)寫入至該其中一個儲存區(qū)段時,該些儲存區(qū)段之中的其他儲存區(qū)段不會被寫入屬于該第一邏輯頁面的其他邏輯偏移地址的有效數(shù)據(jù)。14.根據(jù)權(quán)利要求13所述的存儲器儲存裝置,其中當該更新數(shù)據(jù)的大小非小于該數(shù)據(jù)存取單位時,該存儲器控制器將該更新數(shù)據(jù)寫入至該第一實體頁面中并且將每一該些儲存區(qū)段的該狀態(tài)標記記錄成該有效狀態(tài)。15.根據(jù)權(quán)利要求13所述的存儲器儲存裝置,其中當該邏輯偏移地址未對應(yīng)該些儲存區(qū)段之中的任一個儲存區(qū)段的起始實體偏移地址或者該更新數(shù)據(jù)的大小不等于該其中一個儲存區(qū)段的區(qū)段容量時,該存儲器控制器從該可復(fù)寫式非易失性存儲器模組中的其他實體頁面中讀取屬于該第一邏輯頁面的其他邏輯偏移地址的該有效數(shù)據(jù),依據(jù)該更新數(shù)據(jù)所對應(yīng)的該邏輯偏移地址與該有效數(shù)據(jù)所對應(yīng)的該其他邏輯偏移地址整理該更新數(shù)據(jù)與該有效數(shù)據(jù)以產(chǎn)生一有效頁面數(shù)據(jù),將該有效頁面數(shù)據(jù)寫入至該第一實體頁面中并且將每一該些儲存區(qū)段的該狀態(tài)標記記錄成該有效狀態(tài)。16.根據(jù)權(quán)利要求13所述的存儲器儲存裝置,其中每一該些實體頁面的大小為8千位元組并且每一該些儲存區(qū)段的大小為4千位元組。17.一種數(shù)據(jù)寫入方法,用于將一更新數(shù)據(jù)寫入至一閃速存儲器模組中,其中該閃速存儲器模組具有多個實體頁面,該些實體頁面輪替地映射多個邏輯頁面,該更新數(shù)據(jù)屬于該些邏輯頁面之中的一第一邏輯頁面,其中每一該些實體頁面為該閃速存儲器模組的最小寫入單位,該數(shù)據(jù)寫入方法包括將該些實體頁面之中的一第一實體頁面劃分為多個儲存區(qū)段;為每一該些儲存區(qū)段配置一狀態(tài)標記,用以標記各該儲存區(qū)段所儲存的數(shù)據(jù)的有效性;將該更新數(shù)據(jù)寫入該等儲存區(qū)段之中的至少一儲存區(qū)段;及修改寫入該更新數(shù)據(jù)的該至少一儲存區(qū)段對應(yīng)的狀態(tài)標記,其中在該第一實體頁面中儲存該更新數(shù)據(jù)的該至少一儲存區(qū)段的狀態(tài)標記的狀態(tài)為有效,并且非儲存該更新數(shù)據(jù)的其他儲存區(qū)段的狀態(tài)標記的狀態(tài)為無效。全文摘要一種數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置,數(shù)據(jù)寫入方法用于將更新數(shù)據(jù)寫入至具有多個實體頁面的閃速存儲器模組中,其中每一實體頁面為閃速存儲器模組的最小寫入單位。本方法包括將一個實體頁面劃分為多個儲存區(qū)段且為每一儲存區(qū)段配置一狀態(tài)標記,用以標記儲存區(qū)段所儲存的數(shù)據(jù)的有效性。本方法也包括將更新數(shù)據(jù)寫入此些儲存區(qū)段中的至少一儲存區(qū)段且修改寫入此更新數(shù)據(jù)的儲存區(qū)段對應(yīng)的狀態(tài)標記,其中在實體頁面中儲存更新數(shù)據(jù)的儲存區(qū)段的狀態(tài)標記的狀態(tài)為有效并且非儲存更新數(shù)據(jù)的其他儲存區(qū)段的狀態(tài)標記的狀態(tài)為無效?;耍痉椒煽s短寫入數(shù)據(jù)至實體頁面的時間。文檔編號G06F13/16GK102915273SQ20111021942公開日2013年2月6日申請日期2011年8月2日優(yōu)先權(quán)日2011年8月2日發(fā)明者葉志剛申請人:群聯(lián)電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1