專利名稱::數(shù)據(jù)寫入方法、存儲器控制器與儲存裝置的制作方法
技術(shù)領域:
:本發(fā)明涉及一種用于可擦除非易失性存儲器的數(shù)據(jù)寫入方法及使用此方法的存儲器控制器與存儲器儲存裝置。
背景技術(shù):
:數(shù)碼相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于可擦除非易失性存儲器(rewritablenon-volatilememory)具有數(shù)據(jù)非揮發(fā)性、省電、體積小、無機械結(jié)構(gòu)、讀寫速度快等特性,最適于可攜式電子產(chǎn)品,例如筆記型電腦。固態(tài)硬盤就是一種以快速存儲器作為儲存媒體的存儲器儲存裝置。因此,近年快速存儲器產(chǎn)業(yè)成為電子產(chǎn)業(yè)中相當熱門的一環(huán)。快速存儲器模組的存儲器子模組具有多個實體單元且每一實體單元區(qū)塊具有多個實體頁面(physicalpage),其中在實體單元中寫入數(shù)據(jù)時必須依據(jù)實體頁面的順序依序地寫入數(shù)據(jù)。此外,已被寫入數(shù)據(jù)的實體頁面并需先被抹除后才能再次用于寫入數(shù)據(jù)。特別是,實體單元為抹除的最小單位,并且實體頁面為程式化(亦稱寫入)的最小單元。因此,在快速存儲器模組的管理中,實體單元會被區(qū)分為數(shù)據(jù)區(qū)與閑置區(qū)。數(shù)據(jù)區(qū)的實體單元是用以儲存主機系統(tǒng)所儲存的數(shù)據(jù)。具體來說,存儲器儲存裝置中的存儲器管理電路會將主機系統(tǒng)所存取的邏輯存取地址轉(zhuǎn)換為邏輯單元的邏輯頁面并且將邏輯單元的邏輯頁面映射至數(shù)據(jù)區(qū)的實體單元的實體頁面。也就是說,快速存儲器模組的管理上數(shù)據(jù)區(qū)的實體單元是被視為已被使用的實體單元(例如,已儲存主機系統(tǒng)所寫入的數(shù)據(jù))。例如,存儲器管理電路會使用邏輯單元-實體單元映射表來記載邏輯單元與數(shù)據(jù)區(qū)的實體單元的映射關(guān)系,其中邏輯單元中的邏輯頁面是依序的對應所映射的實體單元的實體頁面。閑置區(qū)的實體單元是用以輪替數(shù)據(jù)區(qū)中的實體單元。具體來說,如上所述,已寫入數(shù)據(jù)的實體單元必須被抹除后才可再次用于寫入數(shù)據(jù),因此,閑置區(qū)的實體單元是被設計用于寫入更新數(shù)據(jù)以替換映射邏輯單元的實體單元?;耍陂e置區(qū)中的實體單元為空或可使用的實體單元,即無記錄數(shù)據(jù)或標記為已沒用的無效數(shù)據(jù)。也就是說,數(shù)據(jù)區(qū)與閑置區(qū)的實體單元的實體頁面是以輪替方式來映射邏輯單元的邏輯頁面,以儲存主機系統(tǒng)所寫入的數(shù)據(jù)。例如,存儲器儲存裝置的存儲器管理電路會從閑置區(qū)中提取一個或多個實體單元作為全域混亂實體單元,并且當主機系統(tǒng)欲寫入更新數(shù)據(jù)的邏輯存取地址是對應儲存裝置的某一邏輯單元的某一邏輯頁面時,儲存裝置的存儲器管理電路會將此更新數(shù)據(jù)寫入至全域混亂實體單元的實體頁面中。此外,存儲器管理電路會在一全域混亂實體單元搜尋表中記錄關(guān)于已被更新的邏輯頁面的更新信息。也就是說,在全域混亂實體單元搜尋表中會記錄屬于一個邏輯單元的有效數(shù)據(jù)分別地被寫入至那些全域混亂實體單元的那些實體頁面中?;耍斈骋贿壿媶卧哪骋贿壿嬳撁娴母聰?shù)據(jù)被儲存于全域混亂實體單元時,存儲器管理電路必須搜尋全域混亂實體單元搜尋表,才能讀取屬于此邏輯單元的有效數(shù)據(jù)。在使用全域混亂實體單元來寫入來自于主機系統(tǒng)的數(shù)據(jù)的架構(gòu)下,當主機系統(tǒng)持續(xù)寫入大量的循序數(shù)據(jù)至存儲器儲存裝置時,全域混亂實體單元可能很快就會被寫滿。此時,倘若閑置區(qū)無足夠的實體單元可作為新的全域混亂實體單元時,存儲器管理電路就必須進行數(shù)據(jù)合并(Merge)程序才能繼續(xù)執(zhí)行寫入指令,以避免閑置區(qū)的實體單元被耗盡(exhaust)0具體來說,在數(shù)據(jù)合并程序中,存儲器管理電路會從閑置區(qū)中提取一個空的實體單元,將在全域混亂實體單元以及數(shù)據(jù)區(qū)的實體單元中屬于同一個邏輯單元的有效數(shù)據(jù)復制至所提取的實體區(qū)塊中,由此所儲存數(shù)據(jù)皆為無效數(shù)據(jù)的全域混亂實體單元與數(shù)據(jù)區(qū)中的實體單元就可被抹除并關(guān)聯(lián)至閑置區(qū)。由于執(zhí)行數(shù)據(jù)合并程序會大幅地延長執(zhí)行寫入指令的時間,甚至造成逾時。因此,如何減少上述數(shù)據(jù)合并程序,以提升存儲器儲存裝置的效能,是此領域技術(shù)人員所致力的目標。
發(fā)明內(nèi)容本發(fā)明提供一種數(shù)據(jù)寫入方法與存儲器控制器,其能夠減少上述數(shù)據(jù)合并程序,以縮短執(zhí)行寫入指令的時間。本發(fā)明提供一種存儲器儲存裝置,其能夠以較短的時間完成數(shù)據(jù)寫入指令。本發(fā)明實施例提出一種數(shù)據(jù)寫入方法,用于將來自于一主機系統(tǒng)的一更新數(shù)據(jù)寫入至一可擦除非易失性存儲器,其中此可擦除非易失性存儲器模組具有多個實體區(qū)塊,每一實體區(qū)塊具有多個實體頁面,此些實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),屬于數(shù)據(jù)區(qū)與閑置區(qū)的實體區(qū)塊被分組為多個實體單元,閑置區(qū)的實體單元用以替換數(shù)據(jù)區(qū)的實體單元以寫入數(shù)據(jù)。本數(shù)據(jù)寫入方法包括配置多個邏輯單元以映射數(shù)據(jù)區(qū)的實體單元,其中每一邏輯單元具有多個邏輯頁面并且上述更新數(shù)據(jù)是屬于其中一個邏輯頁面。本數(shù)據(jù)寫入方法也包括從閑置區(qū)中提取實體單元作為第一全域混亂實體單元。此外,本數(shù)據(jù)寫入方法亦包括判斷上述更新數(shù)據(jù)是否為循序數(shù)據(jù)并且判斷上述更新數(shù)據(jù)對應的邏輯頁面是否為起始邏輯頁面。本數(shù)據(jù)寫入方法還包括倘若更新數(shù)據(jù)為循序數(shù)據(jù)并且上述更新數(shù)據(jù)對應的邏輯頁面為起始邏輯頁面時,從閑置區(qū)中提取一個實體單元作為第二全域混亂實體單元并且將此更新數(shù)據(jù)寫入至第二全域混亂實體單元中。在此,循序數(shù)據(jù)是定義為主機系統(tǒng)依序地寫入至連續(xù)的多個邏輯頁面中的數(shù)據(jù)。此外,本發(fā)明實施例亦提出一種存儲器控制器,用于控制可擦除非易失性存儲器模組,其中此可擦除非易失性存儲器模組具有多個實體區(qū)塊,每一實體區(qū)塊具有多個實體頁面。本存儲器控制器包括主機接口、存儲器接口與存儲器管理電路。主機接口用以耦接至主機系統(tǒng)。存儲器接口用以耦接至可擦除非易失性存儲器模組。存儲器管理電路耦接至主機接口與存儲器接口,并且用以寫入一更新數(shù)據(jù)至可擦除非易失性存儲器模組。在此,存儲器管理電路用以將實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),并且將屬于數(shù)據(jù)區(qū)與閑置區(qū)的該些實體區(qū)塊分組為多個實體單元,其中閑置區(qū)的實體單元用以替換數(shù)據(jù)區(qū)的實體單元以寫入數(shù)據(jù)。此外,存儲器管理電路還用以配置多個邏輯單元以映射數(shù)據(jù)區(qū)的實體單元,其中每一邏輯單元具有多個邏輯頁面并且上述更新數(shù)據(jù)屬于其中一個邏輯頁面。再者,存儲器管理電路還用以從閑置區(qū)中提取實體單元作為第一全域混亂實體單元。另外,存儲器管理電路還用以判斷上述更新數(shù)據(jù)是否為一循序數(shù)據(jù)并且判斷上述更新數(shù)據(jù)對應的邏輯頁面是否為起始邏輯頁面。倘若更新數(shù)據(jù)為循序數(shù)據(jù)并且上述更新數(shù)據(jù)對應的邏輯頁面為起始邏輯頁面時,存儲器管理電路還用以從閑置區(qū)中提取一個實體單元作為第二全域混亂實體單元并且將此更新數(shù)據(jù)寫入至第二全域混亂實體單元中。在此,循序數(shù)據(jù)是定義為主機系統(tǒng)依序地寫入至連續(xù)的多個邏輯頁面中的多筆數(shù)據(jù)。再者,本發(fā)明范例實施例亦提出一種存儲器儲存裝置,其包括連接器、可擦除非易失性存儲器模組與存儲器控制器。連接器用以耦接至主機系統(tǒng)??刹脸且资源鎯ζ髂=M具有多個實體區(qū)塊并且每一實體區(qū)塊具有多個實體頁面。存儲器控制器耦接至連接器與可擦除非易失性存儲器模組,并且用以寫入一更新數(shù)據(jù)至可擦除非易失性存儲器模組中。存儲器控制器用以將此些實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),并且將屬于數(shù)據(jù)區(qū)與閑置區(qū)的實體區(qū)塊分組為多個實體單元,其中閑置區(qū)的實體單元用以替換數(shù)據(jù)區(qū)的實體單元以寫入數(shù)據(jù)。此外,存儲器控制器還用以配置多個邏輯單元以映射數(shù)據(jù)區(qū)的實體單元,其中每一邏輯單元具有多個邏輯頁面并且上述更新數(shù)據(jù)屬于其中一個邏輯頁面。再者,存儲器控制器還用以從閑置區(qū)中提取實體單元作為第一全域混亂實體單元。另外,存儲器控制器還用以判斷上述更新數(shù)據(jù)是否為循序數(shù)據(jù)并且判斷上述更新數(shù)據(jù)對應的邏輯頁面是否為起始邏輯頁面。倘若更新數(shù)據(jù)為循序數(shù)據(jù)并且上述更新數(shù)據(jù)對應的邏輯頁面為起始邏輯頁面時,存儲器控制器還用以從閑置區(qū)中提取一個實體單元作為第二全域混亂實體單元并且將此更新數(shù)據(jù)寫入至第二全域混亂實體單元。在此,循序數(shù)據(jù)是定義為主機系統(tǒng)依序地寫入至連續(xù)的多個邏輯頁面中的多筆數(shù)據(jù)。另外,本發(fā)明實施例還提出一種數(shù)據(jù)寫入方法,用于可擦除非易失性存儲器,其中此可擦除非易失性存儲器模組具有多個實體區(qū)塊,每一實體區(qū)塊具有多個實體頁面,此些實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),屬于數(shù)據(jù)區(qū)與閑置區(qū)的實體區(qū)塊被分組為多個實體單元,數(shù)據(jù)區(qū)的實體單元映射多個邏輯單元,每一邏輯單元具有多個邏輯頁面,閑置區(qū)的實體單元之中的一第一實體單元被用作為目前全域混亂實體單元來寫入數(shù)據(jù)。本數(shù)據(jù)寫入方法包括a、從主機系統(tǒng)接收至少一寫入指令與對應此寫入指令的多筆更新數(shù)據(jù),其中每一更新數(shù)據(jù)對應其中一個邏輯頁面;b、判斷此些更新數(shù)據(jù)是否為一循序數(shù)據(jù),其中倘若此些更新數(shù)據(jù)為循序數(shù)據(jù)時標記一第一標識;C、根據(jù)此些更新數(shù)據(jù)對應的邏輯頁面依序地選擇該些更新數(shù)據(jù)之中未被寫入的其中一個更新數(shù)據(jù)并且執(zhí)行步驟d;d、判斷第一標識是否已被標記,其中倘若第一標識未被標記時執(zhí)行步驟h并且倘若第一標識已被標記時執(zhí)行步驟e;e、判斷一第二標識是否已被標記,其中倘若第二標識未被標記時執(zhí)行步驟f并且倘若第二標識已被標記時執(zhí)行步驟i;f、判斷此更新數(shù)據(jù)對應的邏輯頁面是否為起始邏輯頁面,其中倘若此更新數(shù)據(jù)對應的邏輯頁面為起始邏輯頁面時執(zhí)行步驟g并且倘若此更新數(shù)據(jù)對應的邏輯頁面非為起始邏輯頁面時執(zhí)行步驟h;g、從閑置區(qū)中提取一第二實體單元,將此更新數(shù)據(jù)依序地寫入至第二實體單元中,將第二實體單元作為目前全域混亂實體單元,標記第二標識并且之后執(zhí)行步驟j;h、將此更新數(shù)據(jù)依序地寫入至目前全域混亂實體單元中,將關(guān)于此更新數(shù)據(jù)對應的邏輯頁面的更新信息記錄至全域混亂實體單元搜尋表中并且之后執(zhí)行步驟j;i、將此更新數(shù)據(jù)依序地寫入至目前全域混亂實體單元中,不將關(guān)于此更新數(shù)據(jù)對應的邏輯頁面的更新信息記錄至全域混亂實體單元搜尋表中并且之后執(zhí)行步驟j;以及j、判斷是否已將所有更新數(shù)據(jù)寫入至可擦除非易失性存儲器中,其中倘若未將所有更新數(shù)據(jù)寫入至可擦除非易失性存儲器中時,執(zhí)行步驟C?;谏鲜?,本發(fā)明實施例的數(shù)據(jù)寫入方法、存儲器控制器與存儲器儲存裝置能夠有效地將主機系統(tǒng)以循序?qū)懭肽J剿鶅Υ娴臄?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ū)塊的范例示意圖。圖5A-5G是根據(jù)本發(fā)明范例實施例所顯示寫入數(shù)據(jù)的范例示意圖。圖6是根據(jù)圖5G所顯示的全域混亂實體單元搜尋表。圖7A與7B是根據(jù)本發(fā)明范例實施例所顯示寫入數(shù)據(jù)與執(zhí)行數(shù)據(jù)合并程序的范例示意圖。圖8A-8D是根據(jù)本發(fā)明范例實施例所顯示的主機系統(tǒng)以循序?qū)懭肽J絻Υ鏀?shù)據(jù)的數(shù)據(jù)寫入示意圖。圖9是根據(jù)圖8A所顯示的全域混亂實體單元搜尋表。圖10是根據(jù)本發(fā)明范例實施例所顯示的重新映射邏輯單元與實體單元的示意圖。圖11是根據(jù)一范例所顯示的全域混亂實體單元搜尋表。圖12是根據(jù)本發(fā)明范例實施例所顯示的數(shù)據(jù)寫入方法的流程圖。圖13是根據(jù)本發(fā)明范例實施例所顯示的數(shù)據(jù)寫入方法的概要流程圖。圖14是根據(jù)本發(fā)明范例實施例所顯示的數(shù)據(jù)寫入方法的詳細流程圖。主要元件符號說明1000主機系統(tǒng)1100:電腦1102:微處理器1104:隨機存取存儲器1106:輸入/輸出裝置IlO8:系統(tǒng)總線1110:數(shù)據(jù)傳輸接口1202:鼠標1204鍵盤1206顯示器1208打印機1212:隨身碟1214記憶卡1216:固態(tài)硬盤1310數(shù)碼相機1312=SD卡1314:MMC卡1316:記憶棒1318:CF卡1320嵌入式儲存裝置100存儲器儲存裝置102連接器104存儲器控制器106可擦除非易失性存儲器模組202存儲器管理電路204:主機接口加6:存儲器接口252:緩沖存儲器254:電源管理電路256錯誤檢查與校正電路410(0)-410(N)實體區(qū)塊506系統(tǒng)區(qū)502數(shù)據(jù)區(qū)504:閑置區(qū)508取代區(qū)610(0)-610(K)實體單元710(0)-710(H)邏輯單元810(0)-810(4)根單元902第一欄位904第二欄位S1201、S1203、S1205、S1207在寫入數(shù)據(jù)之前初始化可擦除非易失性存儲器模組的步驟S1301、S1303、S1305、S1307、S1309將來自于主機系統(tǒng)的更新數(shù)據(jù)寫入至可擦除非易失性存儲器模組的步驟S1401、S1403、S1405、S1407、S1409、S1411、S1413、S1415、S1417、S1419、S1421、S1423、S1425、S1427、S1429、S1431數(shù)據(jù)寫入方法的步驟具體實施例方式一般而言,存儲器儲存裝置(亦稱,存儲器儲存系統(tǒng))包括可擦除非易失性存儲器模組與控制器(亦稱,控制電路)。通常存儲器儲存裝置是與主機系統(tǒng)一起使用,以使主機10系統(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é)會QnstituteofElectricalandElectronicEngineers,IEEE)1394標準、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,PCIExpress)標準、通用串行總線(UniversalSerialBus,USB)標準、安全數(shù)位(SecureDigital,SD)接口標準、記憶棒(MemoryStick,MS)接口標準、多媒體儲存卡(MultiMediaCard,MMC)接口標準、小型快速(CompactFlash,CF)接口標準、整合式驅(qū)動電子接口antegratedDeviceElectronics,IDE)標準或其他適合的標準。存儲器控制器104用以執(zhí)行以硬件型式或固件型式實作的多個邏輯門或控制指令,并且根據(jù)主機系統(tǒng)1000的指令在可擦除非易失性存儲器模組106中進行數(shù)據(jù)的寫入、讀取與抹除等運作??刹脸且资源鎯ζ髂=M106是耦接至存儲器控制器104,并且用以儲存主機系統(tǒng)1000所寫入的數(shù)據(jù)??刹脸且资源鎯ζ髂=M106具有實體區(qū)塊410(0)-410(N)。例如,實體區(qū)塊410(0)-410(N)可屬于同一個存儲器晶粒(die)或者屬于不同的存儲器晶粒。每一實體區(qū)塊分別具有復數(shù)個實體頁面,并且每一實體頁面具有至少一實體扇區(qū),其中屬于同一個實體區(qū)塊的實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體區(qū)塊是由1個實體頁面所組成,并且每一實體頁面具有8個實體扇區(qū)(sector)。也就是說,在每一實體扇區(qū)為512位元組(byte)的例子中,每一實體頁面的容量為4千位元組(Kilobyte,K)。然而,必須了解的是,本發(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為多層記憶胞(MultiLevelCell,MLC)NAND快速存儲器模組。然而,本發(fā)明不限于此,可擦除非易失性存儲器模組106亦可是單層記憶胞(SingleLevelCell,SLC)NAND快速存儲器模組、其他快速存儲器模組或其他具有相同特性的存儲器模組。圖3是根據(jù)本發(fā)明范例實施例所顯示的存儲器控制器的概要方框圖。請參照圖3,存儲器控制器104包括存儲器管理電路202、主機接口204與存儲器接口206。存儲器管理電路202用以控制存儲器控制器104的整體運作。具體來說,存儲器管理電路202具有多個控制指令,并且在存儲器儲存裝置100運作時,此些控制指令會被執(zhí)行以進行數(shù)據(jù)的寫入、讀取與抹除等運作。在本范例實施例中,存儲器管理電路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。電源管理電路2M是耦接至存儲器管理電路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,存儲器控制器104的存儲器管理電路202會將實體區(qū)塊410(0)-410-(N)邏輯地分組為數(shù)據(jù)區(qū)502、閑置區(qū)504、系統(tǒng)區(qū)506與取代區(qū)508。邏輯上屬于數(shù)據(jù)區(qū)502與閑置區(qū)504的實體區(qū)塊是用以儲存來自于主機系統(tǒng)1000的數(shù)據(jù)。具體來說,數(shù)據(jù)區(qū)502的實體區(qū)塊是被視為已儲存數(shù)據(jù)的實體區(qū)塊,而閑置區(qū)504的實體區(qū)塊是用以替換數(shù)據(jù)區(qū)502的實體區(qū)塊。也就是說,當從主機系統(tǒng)1000接收到寫入指令與欲寫入的數(shù)據(jù)時,存儲器管理電路202會從閑置區(qū)504中提取實體區(qū)塊,并且將數(shù)據(jù)寫入至所提取的實體區(qū)塊中,以替換數(shù)據(jù)區(qū)502的實體區(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ū)塊。具體來說,倘若取代區(qū)508中仍存有正常的實體區(qū)塊并且數(shù)據(jù)區(qū)502的實體區(qū)塊損壞時,存儲器管理電路202會從取代區(qū)508中提取正常的實體單元來更換損壞的實體區(qū)塊。請參照圖4B,存儲器管理電路202會將數(shù)據(jù)區(qū)502與閑置區(qū)504的實體區(qū)塊410(0)-410(S-I)分組為實體單元610(0)-610(K),并且以實體單元為單位來管理實體區(qū)塊。在本范例實施例中,每一實體單元是由1個實體區(qū)塊所組成。然而,必須了解的是,本發(fā)明不限于此。在另一范例實施例中,每一實體單元亦可由屬于同一存儲器子模組或?qū)儆诓煌鎯ζ髯幽=M中的至少2個實體區(qū)塊所組成。此外,存儲器管理電路202會配置邏輯單元710(0)-710(H)以映射數(shù)據(jù)區(qū)502的實體單元,其中每一邏輯單元具有多個邏輯頁面以依序地映射對應的實體單元的實體頁面。在本范例實施例中,每一實體單元是由1個實體區(qū)塊所組成,每一邏輯頁面是映射1個實體頁面(即,每一邏輯頁面的容量為1個實體頁面的容量)。然而,在每一實體單元是由多個實體區(qū)塊所組成的例子中,每一邏輯頁面亦可映射多個實體頁面(即,每一邏輯頁面的容量為多個實體頁面的容量)。在本范例實施例中,存儲器管理電路202會維護邏輯單元-實體單元映射表(logicalunit-physicalunitmappingtable)以記錄邏輯單元710(0)-710(H)與數(shù)據(jù)區(qū)502的實體單元的映射關(guān)系。例如,當主機系統(tǒng)1000欲存取某一邏輯存取地址時,存儲器管理電路202可將主機系統(tǒng)1000所存取的邏輯存取地址轉(zhuǎn)換為以對應的邏輯單元、邏輯頁面與邏輯扇區(qū)所構(gòu)成的地址,并且通過邏輯單元-實體單元映射表于對應的實體單元的實體頁面中存取數(shù)據(jù)。在本范例實施例中,存儲器管理電路202會從閑置區(qū)504中提取實體單元作為全域混亂實體單元,并且將包含于來自主機系統(tǒng)1000的寫入指令中的數(shù)據(jù)(亦稱為更新數(shù)據(jù))寫入至全域混亂實體單元中。在本范例實施例中,全域混亂實體單元為用以將分別對應于不同邏輯單元的數(shù)據(jù)儲存在至少同一實體區(qū)塊的單元。具體來說,當存儲器儲存裝置100從主機系統(tǒng)1000接收到寫入指令時,來自于主機系統(tǒng)1000的寫入指令中的數(shù)據(jù)可被依序地寫入至全域混亂實體單元中。并且,當此全域混亂實體單元已被寫滿時,存儲器管理電路202會再從閑置區(qū)504中提取實體單元作為另一個全域混亂實體單元,以繼續(xù)寫入對應來自于主機系統(tǒng)1000的寫入指令的更新數(shù)據(jù)。直到作為全域混亂實體單元的實體單元的數(shù)目已到達一上限值時,存儲器管理電路202會執(zhí)行數(shù)據(jù)合并程序,以使儲存于全域混亂實體單元中的數(shù)據(jù)成為無效數(shù)據(jù),并且之后將所儲存的數(shù)據(jù)皆為無效數(shù)據(jù)的全域混亂實體單元關(guān)聯(lián)回閑置區(qū)504。圖5A-5G是根據(jù)本發(fā)明范例實施例所顯示寫入數(shù)據(jù)的范例示意圖。為方便說明,在此假設數(shù)據(jù)區(qū)502具有5個實體單元,閑置區(qū)504具有4個實體單元,每一實體單元具有實3個實體頁面,欲寫入至每一實體單元的數(shù)據(jù)必須依照實體頁面的順序來被寫入,并且作為全域混亂實體單元的實體單元數(shù)的上限值為3。請參照圖5A,在存儲器儲存裝置100的初始狀態(tài)中,邏輯單元710(0)-710(4)的邏輯頁面可依序地映射數(shù)據(jù)區(qū)502的實體單元610(0)-61(K4)的實體頁面,并且閑置區(qū)504具有實體單元610(5)-610(8)。也就是說,存儲器管理電路202會在邏輯單元-實體單元映射表中記錄邏輯單元710(0)-710(4)與實體單元610(0)-610(4)之間的映射關(guān)系,并且將實體單元610(0)-610(4)的實體頁面視為已儲存屬于邏輯單元710(0)-710(4)的邏輯頁面的數(shù)據(jù)(即,初始數(shù)據(jù)ID1-ID15)。必須了解的是,在存儲器儲存裝置100剛出廠時,初始數(shù)據(jù)ID1-ID15可能為空數(shù)據(jù)。此外,存儲器管理電路202會記錄閑置區(qū)504中可用的實體單元610(5)-610(8)。請參照圖5B,假設欲程序化更新數(shù)據(jù)UDl并且更新數(shù)據(jù)UDl是屬于邏輯單元710(0)的第1個邏輯頁面時,存儲器管理電路202會從閑置區(qū)504中提取實體單元610(5)作為全域混亂實體單元并且下達程序化指令以將此更新數(shù)據(jù)UDl寫入至實體單元610(5)的第0個實體頁面。請參照圖5C,接續(xù)圖5B,假設欲再程序化更新數(shù)據(jù)UD2并且更新數(shù)據(jù)UD2是屬于邏輯單元710(1)的第0個邏輯頁面時,存儲器管理電路202會下達程序化指令以將此更新數(shù)據(jù)UD2寫入至實體單元610(5)的第1個實體頁面。請參照圖5D,接續(xù)圖5C,假設欲再程序化更新數(shù)據(jù)UD3并且更新數(shù)據(jù)UD3是屬于邏輯單元710(的第1個邏輯頁面時,存儲器管理電路202會下達程序化指令以將此更新數(shù)據(jù)UD3寫入至實體單元610(5)的第2個實體頁面。請參照圖5E,接續(xù)圖5D,假設欲再程序化更新數(shù)據(jù)UD4并且更新數(shù)據(jù)UD4是屬于邏輯單元710(3)的第0個邏輯頁面時,由于全域混亂實體單元610(5)已無儲存空間,因此,存儲器管理電路202會從閑置區(qū)504中提取實體單元610(6)作為全域混亂實體單元并且下達程序化指令以將此更新數(shù)據(jù)UD4寫入至實體單元610(6)的第0個實體頁面。請參照圖5F,接續(xù)圖5E,假設欲再程序化更新數(shù)據(jù)UD5并且更新數(shù)據(jù)UD5是屬于邏輯單元710C3)的第1個邏輯頁面時,存儲器管理電路202會下達程序化指令以將此更新數(shù)據(jù)UD5寫入至實體單元610(6)的第1個實體頁面。請參照圖5G,接續(xù)圖5F,假設欲再程序化更新數(shù)據(jù)UD6并且更新數(shù)據(jù)UD6是屬于邏輯單元710(0)的第2個邏輯頁面時,存儲器管理電路202會下達程序化指令以將此更新數(shù)據(jù)UD6寫入至實體單元610(6)的第2個實體頁面。為了能夠識別儲存于全域混亂實體單元中的數(shù)據(jù)是屬于那個邏輯頁面,在本范例實施例中,存儲器管理電路202會建立全域混亂實體單元搜尋表,以利有效數(shù)據(jù)的搜尋。在此全域混亂搜尋表中,存儲器管理電路202會建立多個根單元并且為每一根單元配置一登錄鏈結(jié)。特別是,存儲器管理電路202會將邏輯單元的邏輯頁面分組來分別地對應至其中一個根單元,并且將邏輯頁面的更新信息記錄在對應的根單元的登錄鏈結(jié)上?;?,當欲在全域混亂實體單元中搜尋特定邏輯單元的更新數(shù)據(jù)時,僅需搜尋對應的根單元的登錄鏈結(jié)。例如,在本范例實施例中,存儲器管理電路202會每一邏輯單元的邏輯頁面分別地對應至同一個根單元。也就是,同一個邏輯單元的邏輯頁面是對應同一個根單元。必須了解的是,本發(fā)明不限于此,例如,在本發(fā)明另一范例實施中,亦可將一個邏輯單元的一部份邏輯頁面分組至一個根單元并且將此邏輯單元的另一部分邏輯頁面分組至另一根單元。此外,存儲器管理電路202會為每一根單元分別地配置一個登錄鏈結(jié)并且每當執(zhí)行寫入指令時,存儲器管理電路202會在對應的登錄鏈結(jié)上建立登錄以記錄關(guān)于此寫入指令的更新信息。例如,每一登錄包括第一欄位(例如,圖6的欄位902)與第二欄位(例如,圖6的欄位904),其中第一欄位記錄已更新邏輯頁面的地址,并且第二欄位用以記錄儲存此已更新邏輯頁面的更新數(shù)據(jù)的實體地址。圖6是根據(jù)圖5G所顯示的全域混亂實體單元搜尋表。請參照圖6,全域混亂實體單元搜尋表800包括根單元810(0)-810(4),其中邏輯單元710(0)的邏輯頁面是對應根單元810(0),邏輯單元710(1)的邏輯頁面是對應根單元810(1),邏輯單元710(的邏輯頁面是對應根單元810(,邏輯單元710C3)的邏輯頁面是對應根單元810(3),并且邏輯單元710(4)的邏輯頁面是對應根單元810(4)。在根單元810(0)的登錄鏈結(jié)中包含2個有效登錄,以記錄邏輯單元710(0)的第1個邏輯頁面(即,信息"710(0)-1")與第2個邏輯頁面(S卩,信息"710(0)-2")已被更新,其中邏輯單元710(0)的第1個邏輯頁面的更新數(shù)據(jù)被寫入至實體單元610的第0個實體頁面(即,信息"610(5)-0")中并且邏輯單元710(0)的第2個邏輯頁面的更新數(shù)據(jù)被寫入至實體單元610(6)的第2個實體頁面(S卩,信息"610(6)-2")中。在根單元810(1)的登錄鏈結(jié)中包含1個有效登錄,以記錄邏輯單元710(1)的第0個邏輯頁面(即,信息"710(1)-0")已被更新,其中邏輯單元710(1)的第0個邏輯頁面的更新數(shù)據(jù)被寫入至實體單元610(5)的第1個實體頁面(S卩,信息"610(5)-1")中。在根單元810(的登錄鏈結(jié)中包含1個有效登錄,以記錄邏輯單元710(的第1個邏輯頁面(即,信息"71(K2)-1")已被更新,其中邏輯單元710(2)的第1個邏輯頁面的更新數(shù)據(jù)被寫入至實體單元610(5)的第2個實體頁面(S卩,信息"610(5)-2")中。在根單元810C3)的登錄鏈結(jié)中包含2個有效登錄,以記錄邏輯單元710C3)的第0個邏輯頁面(即,信息"710(3)-0")與第1個邏輯頁面(即,信息"710(3)-1")已被更新,其中邏輯單元710C3)的第0個邏輯頁面的更新數(shù)據(jù)被寫入至實體單元610(6)的第0個實體頁面(即,信息"610(6)-0")中并且邏輯單元710(3)的第1個邏輯頁面的更新數(shù)據(jù)被寫入至實體單元610(6)的第1個實體頁面(即,信息"610(6)-1")中。此外,在根單元810(0)_81(Κ4)的登錄鏈結(jié)中分別地會包含1個空的登錄(亦稱為無效登錄),以表示登錄鏈結(jié)的結(jié)束。例如,倘若欲在全域混亂實體單元中搜尋屬于邏輯單元710(4)的數(shù)據(jù)時,存儲器管理單元202可根據(jù)根單元810(4)的登錄鏈結(jié)僅有空的登錄,而識別出全域混亂實體單元中未儲存屬于邏輯單元710(4)的數(shù)據(jù),由此可直接依據(jù)邏輯單元-實體單元映射表的信息從對應的實體單元的實體頁面中讀取數(shù)據(jù)。以此類推,存儲器管理電路202會依序地將主機系統(tǒng)1000欲儲存的數(shù)據(jù)寫入至作為全域混亂實體單元的實體單元中。特別是,當全域混亂實體單元的實體單元的數(shù)目達到3時,存儲器管理電路202會在執(zhí)行寫入指令時一并執(zhí)行數(shù)據(jù)合并程序,以防止閑置區(qū)的實體單元被用盡。圖7Α與7Β是根據(jù)本發(fā)明范例實施例所顯示寫入數(shù)據(jù)與執(zhí)行數(shù)據(jù)合并程序的范例示意圖。請參照圖7Α,接續(xù)圖5G,假設欲再程序化更新數(shù)據(jù)UD7并且更新數(shù)據(jù)UD7是屬于邏輯單元710(2)的第0個邏輯頁面時,由于全域混亂實體單元610(6)已無儲存空間,因此,存儲器管理電路202會從閑置區(qū)504中提取實體單元610(7)作為全域混亂實體單元并且下達程序化指令以將此更新數(shù)據(jù)UD7寫入至實體單元610(7)的第0個實體頁面。特別是,由于作為全域混亂實體單元的實體單元的數(shù)目已達到3,因此,存儲器管理電路202在執(zhí)行圖7Β所示的寫入運作后會執(zhí)行數(shù)據(jù)合并程序。也就是說,在此例子中,在執(zhí)行此次寫入指令期間,存儲器管理電路202會一并執(zhí)行數(shù)據(jù)合并程序。請參照圖7Β,假設存儲器管理電路202選擇邏輯單元710(0)來進行數(shù)據(jù)合并時,存儲器管理電路202會識別邏輯單元710(0)是映射實體單元610(0),從閑置區(qū)504提取實體單元610(8),并且將實體單元610(0)以及全域混亂實體單元中屬于邏輯單元710(0)的有效數(shù)據(jù)復制到實體單元610(8)中。具體來說,存儲器管理電路202會依序地將實體單元610(0)中的數(shù)據(jù)IDl、實體單元610(5)中的UDl與實體單元610(6)中的數(shù)據(jù)UD6寫入至實體單元610(8)的第0-2個實體頁面中,并且將實體單元610(5)的第1個實體頁面與實體單元610(6)的第2個實體頁面標示為無效(如斜線所示)。之后,存儲器管理電路202會對實體單元610(0)執(zhí)行抹除運作,在邏輯單元-實體單元映射表中將邏輯單元710(0)重新映射至實體單元610(8),并且將實體單元610(0)關(guān)聯(lián)至閑置區(qū)504。例如,當執(zhí)行下一個寫入指令時,存儲器管理電路202會對邏輯單元710(1)執(zhí)行數(shù)據(jù)合并程序,并且之后再執(zhí)行下一個寫入指令時,存儲器管理電路202會對邏輯單元710(2)執(zhí)行數(shù)據(jù)合并程序。因此,在實體單元610(7)的儲存空間被填滿時,實體單元610(5)中的數(shù)據(jù)皆會成為無效數(shù)據(jù)。基此,存儲器管理電路202可對實體單元610(5)執(zhí)行抹除運作并將抹除后的實體單元610(5)關(guān)聯(lián)回閑置區(qū)504。或者,例如,當執(zhí)行下一個寫入指令時,存儲器管理電路202會對邏輯單元710(3)執(zhí)行數(shù)據(jù)合并程序。因此,在實體單元610(7)的儲存空間被填滿之前,實體單元610(6)中的數(shù)據(jù)皆會成為無效數(shù)據(jù)。基此,存儲器管理電路202可對實體單元610(6)執(zhí)行抹除運作并將抹除后的實體單元610(6)關(guān)聯(lián)回閑置區(qū)504?;?,根據(jù)上述運作,存儲器管理電路202可持續(xù)將以儲存無效數(shù)據(jù)的實體單元關(guān)聯(lián)回閑置區(qū)504并且從閑置區(qū)504中提取實體單元作為全域混亂實體單元。在本發(fā)明范例實施例中,存儲器管理電路202會判斷主機系統(tǒng)1000欲寫入的更新數(shù)據(jù)是否為循序數(shù)據(jù)。具體來說,主機系統(tǒng)1000寫入數(shù)據(jù)的行為可被區(qū)分為循序?qū)懭肽J?Sequentialwritingmode)與混舌L寫入模式(randomwritingmode)。在循序?qū)懭肽J街?,主機系統(tǒng)1000會依序地寫入多筆數(shù)據(jù)至連續(xù)的多個邏輯頁面中。而在混亂寫入模式中,主機系統(tǒng)1000是于非連續(xù)的邏輯頁面中寫入數(shù)據(jù),例如,首先將第一筆更新數(shù)據(jù)被寫入第5個邏輯頁面,然后將第二筆更新數(shù)據(jù)寫入至第3個邏輯頁面。在此,將主機系統(tǒng)1000以循序?qū)懭肽J綄懭氲臄?shù)據(jù)稱為循序數(shù)據(jù),并且將主機系統(tǒng)1000以混亂寫入模式寫入的數(shù)據(jù)稱為混亂數(shù)據(jù)。特別是,在更新數(shù)據(jù)為循序數(shù)據(jù)時,存儲器管理電路202會在寫入每筆更新數(shù)據(jù)至全域混亂實體單元的實體頁面之前判斷欲寫入的更新數(shù)據(jù)所對應的邏輯頁面是否為任一個邏輯單元的起始邏輯頁面。在此,所謂起始邏輯頁面就是一個邏輯單元的第0邏輯頁面。并且,當欲寫入的更新數(shù)據(jù)所對應的邏輯頁面為起始邏輯頁面時,存儲器管理電路202會從閑置區(qū)504中提取一個空的實體單元,將此筆更新數(shù)據(jù)寫入至所提取的實體單元的第0實體頁面中并且將所提取的實體單元作為目前全域混亂實體單元以寫入后續(xù)的更新數(shù)據(jù)。在此,所謂目前全域混亂實體單元定義為正用于寫入來自于主機系統(tǒng)1000的更新數(shù)據(jù)的全域混亂實體單元。圖8A-8D是根據(jù)本發(fā)明范例實施例所顯示的主機系統(tǒng)以循序?qū)懭肽J絻Υ鏀?shù)據(jù)的數(shù)據(jù)寫入示意圖。在此范例中,其假設在圖5B的儲存狀態(tài)下,主機系統(tǒng)1000將更新數(shù)據(jù)UD8、更新數(shù)據(jù)UD9、更新數(shù)據(jù)UDlO與更新數(shù)據(jù)UDll依序地寫入至邏輯單元710(1)的第2個邏輯頁面、邏輯單元710(的第0-2個邏輯頁面的范例。在此范例中,存儲器管理電路202會根據(jù)主機系統(tǒng)1000所下達的寫入指令來識別更新數(shù)據(jù)為循序數(shù)據(jù)。例如,第一標識會初始地記錄在緩沖存儲器252中,其中當更新數(shù)據(jù)為循序數(shù)據(jù)時,存儲器管理電路202會將第一標識標記為"1",并且,當更新數(shù)據(jù)為混亂數(shù)據(jù)時,存儲器管理電路202會將第一標識反標記為"0"。然而,必須了解的是,第一標識的記錄方式不限于此,任何可區(qū)別主機系統(tǒng)1000是否以循序?qū)懭肽J絻Υ鏀?shù)據(jù)的符號皆可應用于本發(fā)明。之后,存儲器管理電路202會開始將更新數(shù)據(jù)UD8、更新數(shù)據(jù)UD9、更新數(shù)據(jù)UDlO與更新數(shù)據(jù)UDll寫入至全域混亂實體單元的實體頁面。特別是,在第一標識被標記的狀態(tài)下,存儲器管理電路202會在寫入更新數(shù)據(jù)之前會判斷更新數(shù)據(jù)所對應的邏輯頁面是否為起始邏輯頁面。首先,請參照圖8A,存儲器管理電路202會識別更新數(shù)據(jù)UD8所對應的邏輯頁面非為起始邏輯頁面。此時,存儲器管理電路202會依序地將更新數(shù)據(jù)UD8寫入至目前全域混亂實體單元的實體頁面(即,實體單元610(5)的第1個實體頁面)中,并且更新全域混亂實體單元搜尋表800以記錄對應邏輯單元710(1)的第2個邏輯頁面的更新信息(如圖9所示)。在此,正作為目前全域混亂實體單元的實體單元亦可稱為第一全域混亂實體單元。接著,請參照圖8B,存儲器管理電路202會識別更新數(shù)據(jù)UD9所對應的邏輯頁面為起始邏輯頁面。例如,第二標識會初始地記錄在緩沖存儲器252中,其中當?shù)谝粯俗R被標記為"1"并且欲寫入的更新數(shù)據(jù)所對應的邏輯頁面為起始邏輯頁面時,存儲器管理電路202會將第二標識標記為〃1",并且當?shù)谝粯俗R被反標記為〃0〃時存儲器管理電路202會同時將第二標識反標記為"0"。然而,必須了解的是,第二標識的記錄方式不限于此。此時,存儲器管理電路202會從閑置區(qū)504提取空的實體區(qū)塊610(6)作為第二全域混亂實體單元,并且依序地將更新數(shù)據(jù)UD9寫入至實體單元610(6)的第0個實體頁面。之后,存儲器管理電路202會將此第二全域混亂實體單元設定為目前全域混亂實體單元。特別是,存儲器管理電路202不會更新全域混亂實體單元搜尋表800。也就是說,對應邏輯單元710(的第0個邏輯頁面的更新信息不會被記錄至全域混亂實體單元搜尋表800中。具體來說,存儲器管理電路202是根據(jù)第二標識而來判斷是否更新全域混亂實體單元搜尋表800,其中當?shù)诙俗R被標記為"1"時,存儲器管理電路202不會更新全域混亂實體單元搜尋表800,并且當?shù)诙俗R被反標記為"0"時,存儲器管理電路202會更新全域混亂實體單元搜尋表800。接著,請參照圖8C,存儲器管理電路202會識別更新數(shù)據(jù)UDlO所對應的邏輯頁面非為起始邏輯頁面。此時,存儲器管理電路202會依序地將更新數(shù)據(jù)UDlO寫入至目前全域混亂實體單元的實體頁面(即,實體單元610(6)的第1個實體頁面)中。特別是,由于第二標識已被標記為“1“,因此存儲器管理電路不會將對應邏輯單元710(2)的第1個邏輯頁面的更新信息記錄至全域混亂實體單元搜尋表800中。接著,請參照圖8D,存儲器管理電路202會識別更新數(shù)據(jù)UDll所對應的邏輯頁面非為起始邏輯頁面。此時,存儲器管理電路202會依序地將更新數(shù)據(jù)UDll寫入至目前全域混亂實體單元的實體頁面(即,實體單元610(6)的第2個實體頁面)中。特別是,由于第二標識已被標記為“1“,因此存儲器管理電路不會將對應邏輯單元710(2)的第2個邏輯頁面的更新信息記錄至全域混亂實體單元搜尋表800中。在本范例實施例中,寫入更新數(shù)據(jù)之后,存儲器管理電路202會判斷目前全域混亂實體單元是否已儲存某一個邏輯單元的完整有效數(shù)據(jù)。例如,在更新數(shù)據(jù)UDll的寫入之后,存儲器管理電路202會判斷實體單元610(6)是否已儲存邏輯單元710(2)的完整有效數(shù)據(jù)。特別是,當實體單元610(6)已儲存邏輯單元710(的完整有效數(shù)據(jù)時,存儲器管理電路202會在邏輯單元-實體單元映射表中將邏輯單元710(2)重新映射至實體單元610(6),將儲存于原先映射邏輯單元710(2)的實體單元610(2)中的數(shù)據(jù)抹除并且將抹除后的實體單元關(guān)聯(lián)至閑置區(qū)504(如圖10所示)。更詳細來說,在圖8A8D所述的范例中,存儲器管理電路202會將以循序?qū)懭肽J絻Υ娴亩喙P更新數(shù)據(jù)之中屬于同一個邏輯單元的更新數(shù)據(jù)寫入至同一個全域混亂實體單元中。因此當一個全域混亂實體單元所儲存的更新數(shù)據(jù)為某一個邏輯單元的全部有效數(shù)據(jù)時,邏輯單元與實體單元的映射關(guān)系可直接地被更新,無需進行上述數(shù)據(jù)合并程序,因此可大幅提升存儲器儲存裝置100的效能。值得一提的是,在本范例實施例中,倘若在主機系統(tǒng)1000僅依序地寫入更新數(shù)據(jù)UD8、更新數(shù)據(jù)UW與更新數(shù)據(jù)UDlO寫入至邏輯單元710(1)的第2個邏輯頁面、邏輯單元710(2)的第0-1個邏輯頁面時,由于全域混亂實體單元(即,實體單元610(6))未儲存邏輯單元710(的完整有效數(shù)據(jù)。因此,在完成更新數(shù)據(jù)UDlO的寫入之后,存儲器管理電路202會將對應邏輯單元710(2)的第0與1個邏輯頁面的更新信息補記錄至全域混亂實體單元搜尋表800中(如圖11所示)。此外,在主機系統(tǒng)1000僅依序地寫入更新數(shù)據(jù)UD8、更新數(shù)據(jù)UD9與更新數(shù)據(jù)UDlO寫入至邏輯單元710(1)的第2個邏輯頁面、邏輯單元710(的第0_1個邏輯頁面的例子中,在本發(fā)明另一范例實施例中,存儲器管理電路202亦可將儲存于原始映射邏輯單元710(2)的實體單元610(2)的有效數(shù)據(jù)(例如,數(shù)據(jù)ID9)復制至實體單元610(6)后直接地更新邏輯單元與實體單元的映射關(guān)系。圖12是根據(jù)本發(fā)明范例實施例所顯示的數(shù)據(jù)寫入方法的流程圖,其顯示在寫入數(shù)據(jù)之前初始化可擦除非易失性存儲器模組的步驟。請參照圖12,在步驟S1201中,存儲器管理電路202會將可擦除非易失性存儲器模組106的實體區(qū)塊分組為數(shù)據(jù)區(qū)502、閑置區(qū)504、系統(tǒng)區(qū)506與取代區(qū)508。然后,在步驟S1203中,存儲器管理電路202會將數(shù)據(jù)區(qū)502與閑置區(qū)504的實體區(qū)塊分組為實體單元。在步驟S1205中,存儲器管理電路202會配置多個邏輯單元以映射數(shù)據(jù)區(qū)502的實體單元,并且在步驟S1207中存儲器管理電路202會從閑置區(qū)504中提取實體單元作為全域混亂實體單元,其中屬于已更新邏輯頁面的數(shù)據(jù)會被寫入至全域混亂實體單元的實體頁面中。圖13是根據(jù)本發(fā)明范例實施例所顯示的數(shù)據(jù)寫入方法的概要流程圖,其顯示將來自于主機系統(tǒng)的更新數(shù)據(jù)寫入至可擦除非易失性存儲器模組的步驟。請參照圖13,在步驟S1301中,存儲器管理電路202會判斷更新數(shù)據(jù)是否為循序數(shù)據(jù)并且判斷此更新數(shù)據(jù)對應的邏輯頁面是否為起始邏輯頁面。倘若更新數(shù)據(jù)為循序數(shù)據(jù)并且此更新數(shù)據(jù)對應的邏輯頁面為起始邏輯頁面時,在步驟S1303中,存儲器管理電路202會從閑置區(qū)504中提取一個實體單元作為新全域混亂實體單元,將此更新數(shù)據(jù)寫入至此新全域混亂實體單元中并且將此新全域混亂實體單元作為目前全域混亂實體單元(如圖8B所示)。倘若更新數(shù)據(jù)非為循序數(shù)據(jù)或者此更新數(shù)據(jù)對應的邏輯頁面非為起始邏輯頁面時,在步驟S1305中,存儲器管理電路202會將此更新數(shù)據(jù)寫入至目前全域混亂實體單元中。然后,在步驟S1307中,存儲器管理電路202會判斷是否有任何一個全域混亂實體單元儲存屬于某一個邏輯單元的完整有效數(shù)據(jù)。倘若有任一個全域混亂實體單元儲存屬于某一個邏輯單元的完整有效數(shù)據(jù)時,在步驟S1309中,將此邏輯單元重新映射至此全域混亂實體單元。圖14是根據(jù)本發(fā)明范例實施例所顯示的數(shù)據(jù)寫入方法的詳細流程圖,其中閑置區(qū)504的其中一個實體單元(例如,圖8A的實體單元610(5))已被提取作為目前全域混亂實體單元。請參照圖14,在步驟S1401中,存儲器管理電路202會從主機系統(tǒng)1000接收一個或多個寫入指令以及與對應的多筆更新數(shù)據(jù)。在此,每一更新數(shù)據(jù)是對應其中一個邏輯頁面(如圖8A-8D的范例)。在步驟S1403中,存儲器管理電路202會判斷更新數(shù)據(jù)是否為循序數(shù)據(jù)(即,主機系統(tǒng)1000是否以循序?qū)懭肽J絻Υ娲诵└聰?shù)據(jù))。倘若更新數(shù)據(jù)為循序數(shù)據(jù)時,在步驟S1405中,存儲器管理電路202會標記第一標識(例如,第一標識的值會被記錄為"1")。倘若更新數(shù)據(jù)非為循序數(shù)據(jù)時,在步驟S1407中,存儲器管理電路202會反標記第一標識與第二標識(例如,第一標識與第二標識的值會被記錄為〃0〃)。然后,在步驟S1409中,存儲器管理電路202會根據(jù)此些更新數(shù)據(jù)所對應的邏輯頁面順序選擇未被寫入的一個更新數(shù)據(jù)。并且,步驟S1411中,存儲器管理電路202會判斷第一標識是否已被標記。倘若第一標識未被標記時,在步驟S1413中,存儲器管理電路202會將此更新數(shù)據(jù)依序地寫入至目前全域混亂實體單元中并且將關(guān)于此更新數(shù)據(jù)對應的邏輯頁面的更新信息記錄至全域混亂實體單元搜尋表中。倘若第一標識已被標記時,在步驟S1415中,存儲器管理電路202會判斷第二標識示是否已被標記。倘若第二標識未被標記時,在步驟S1417中,存儲器管理電路202會判斷此更新數(shù)據(jù)對應的邏輯頁面是否為起始邏輯頁面。倘若此更新數(shù)據(jù)對應的邏輯頁面為起始邏輯頁面時,在步驟S1419中,存儲器管理電路202會從閑置區(qū)504提取一個空的實體單元(例如,圖8B的實體單元610(6)),將此更新數(shù)據(jù)依序地寫入至所提取的實體單元中,將此實體單元作為目前全域混亂實體單元并且標記第二標識(例如,第二標識的值會被記錄為“1“)。倘若此更新數(shù)據(jù)對應的邏輯頁面非為起始邏輯頁面時,存儲器管理電路202會執(zhí)行步驟S1413。倘若第二標識已被標記時,在步驟S1421中,存儲器管理電路202會將此更新數(shù)據(jù)依序地寫入至目前全域混亂實體單元中并且不將關(guān)于此更新數(shù)據(jù)對應的邏輯頁面的更新信息記錄至全域混亂實體單元搜尋表中。之后,在步驟S1423中,存儲器管理電路202會判斷目前全域混亂實體單元是否已被寫滿。倘若目前全域混亂實體單元已被寫滿時,在步驟S1425中,存儲器管理電路202會判斷第二標記是否已被標記。并且倘若第二標記已被標記時,在步驟S1427中,存儲器管理電路202會將此更新數(shù)據(jù)對應的邏輯單元重新映射至目前全域混亂實體單元并且將此更新數(shù)據(jù)對應的邏輯單元原先映射的實體單元關(guān)聯(lián)至閑置區(qū)504。之后,在步驟S1429中,存儲器管理電路202會從閑置區(qū)504提取一個空的實體單元作為目前全域混亂實體單元。然后,在步驟S1431中,存儲器管理電路202會判斷是否已將所有更新數(shù)據(jù)寫入至可擦除非易失性存儲器中。倘若未將所有更新數(shù)據(jù)寫入至可擦除非易失性存儲器中時,存儲器管理電路202會執(zhí)行步驟S1409。倘若已將所有更新數(shù)據(jù)寫入至可擦除非易失性存儲器中時,圖14的流程會被結(jié)束。基于上述,存儲器管理電路202會依據(jù)圖14的步驟執(zhí)行主機系統(tǒng)1000所下達的寫入指令。特別是,在主機系統(tǒng)1000以循序?qū)懭肽J絻Υ鏀?shù)據(jù)之后,存儲器管理電路202會判斷下一個寫入指令所對應的邏輯頁面是否接續(xù)前一個寫入指令所對應的邏輯頁面。倘若下一個寫入指令所對應的邏輯頁面是非接續(xù)前一個寫入指令所對應的邏輯頁面,存儲器管理電路202會反標記第一標識與第二標識并且將未記錄的更新信息記錄至全域混亂實體單元搜尋表中。綜上所述,本發(fā)明范例實施例的數(shù)據(jù)寫入方法與使用此方法的存儲器控制器與存儲器儲存裝置能夠在主機系統(tǒng)寫入大量循序數(shù)據(jù)時,快速地將邏輯單元重新映射至全域混亂實體單元,以減少數(shù)據(jù)合并。此外,由于邏輯單元可直接地重新映射至全域混亂實體單元,因此,可減少記錄更新信息的步驟?;?,存儲器儲存裝置的效能可被大幅地提升。雖然本發(fā)明已以實施例揭示如上,然其并非用以限定本發(fā)明,任何所屬
技術(shù)領域:
中的普通技術(shù)人員,當可作些許的更動與潤飾,而不脫離本發(fā)明的精神和范圍。權(quán)利要求1.一種數(shù)據(jù)寫入方法,用于將來自于一主機系統(tǒng)的一更新數(shù)據(jù)寫入至一可擦除非易失性存儲器模組,其中該可擦除非易失性存儲器模組具有多個實體區(qū)塊,每一該些實體區(qū)塊具有多個實體頁面,該些實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),屬于該數(shù)據(jù)區(qū)與該閑置區(qū)的該些實體區(qū)塊被分組為多個實體單元,該閑置區(qū)的該些實體單元用以替換該數(shù)據(jù)區(qū)的該些實體單元以寫入數(shù)據(jù),該數(shù)據(jù)寫入方法包括配置多個邏輯單元以映射該數(shù)據(jù)區(qū)的該些實體單元,其中每一該些邏輯單元具有多個邏輯頁面并且該更新數(shù)據(jù)是屬于該些邏輯頁面的其中一個邏輯頁面;從該閑置區(qū)中提取至少一實體單元作為一第一全域混亂實體單元;判斷該更新數(shù)據(jù)是否為一循序數(shù)據(jù)并且判斷該其中一個邏輯頁面是否為該些邏輯單元之中的其中一個邏輯單元的一起始邏輯頁面;倘若該更新數(shù)據(jù)為該循序數(shù)據(jù)并且該其中一個邏輯頁面為該起始邏輯頁面時,從該閑置區(qū)的該些實體單元中提取一個實體單元作為一第二全域混亂實體單元并且將該更新數(shù)據(jù)寫入至該第二全域混亂實體單元,其中該循序數(shù)據(jù)包括該主機系統(tǒng)依序地寫入至該些邏輯頁面之中連續(xù)的多個邏輯頁面中的多筆數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,其中還包括判斷該第二全域混亂實體單元中是否儲存屬于該其中一個邏輯單元的完整有效數(shù)據(jù);以及倘若該第二全域混亂實體單元中儲存屬于該其中一個邏輯單元的完整有效數(shù)據(jù)時,將該其中一個邏輯單元重新映射至該第二全域混亂實體單元。3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)寫入方法,還包括維護一全域混亂實體單元搜尋表來記錄對應該些已更新邏輯頁面的多個更新信息。4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)寫入方法,還包括在將該更新數(shù)據(jù)寫入至該第二全域混亂實體單元之后,不將對應該其中一個邏輯頁面的一更新信息記錄至該全域混亂實體單元搜尋表中。5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)寫入方法,還包括倘若該第二全域混亂實體單元中儲存非屬于該其中一個邏輯單元的完整有效數(shù)據(jù)時,將對應該其中一個邏輯頁面的該更新信息記錄至該全域混亂實體單元搜尋表中。6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,還包括倘若該更新數(shù)據(jù)非為該循序數(shù)據(jù)時,將該更新數(shù)據(jù)寫入至該第一全域混亂實體單元中。7.一種存儲器控制器,用于控制一可擦除非易失性存儲器模組,其中該可擦除非易失性存儲器模組具有多個實體區(qū)塊,并且每一該些實體區(qū)塊具有多個實體頁面,該存儲器控制器包括一主機接口,用以耦接至一主機系統(tǒng);一存儲器接口,用以耦接至該可擦除非易失性存儲器模組;以及一存儲器管理電路,耦接至該主機接口與該存儲器接口,并且用以寫入一更新數(shù)據(jù)至該可擦除非易失性存儲器模組,其中該存儲器管理電路用以將該些實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),并且將屬于該數(shù)據(jù)區(qū)與該閑置區(qū)的該些實體區(qū)塊分組為多個實體單元,其中該閑置區(qū)的該些實體單元用以替換該數(shù)據(jù)區(qū)的該些實體單元以寫入數(shù)據(jù),其中該存儲器管理電路還用以配置多個邏輯單元以映射該數(shù)據(jù)區(qū)的該些實體單元,其中每一該些邏輯單元具有多個邏輯頁面并且該更新數(shù)據(jù)屬于該些邏輯頁面的其中一個邏輯頁面,其中該存儲器管理電路還用以從該閑置區(qū)中提取至少一實體單元作為一第一全域混亂實體單元,其中該存儲器管理電路還用以判斷該更新數(shù)據(jù)是否為一循序數(shù)據(jù)并且判斷該其中一個邏輯頁面是否為該些邏輯單元之中的其中一個邏輯單元的一起始邏輯頁面,倘若該更新數(shù)據(jù)為該循序數(shù)據(jù)并且該其中一個邏輯頁面為該起始邏輯頁面時,該存儲器管理電路還用以從該閑置區(qū)的該些實體單元中提取一個實體單元作為一第二全域混亂實體單元并且將該更新數(shù)據(jù)寫入至該第二全域混亂實體單元,其中該循序數(shù)據(jù)包括該主機系統(tǒng)依序地寫入至該些邏輯頁面之中連續(xù)的多個邏輯頁面中的多筆數(shù)據(jù)。8.根據(jù)權(quán)利要求7所述的存儲器控制器,其中該存儲器管理電路還用以判斷該第二全域混亂實體單元中是否儲存屬于該其中一個邏輯單元的完整有效數(shù)據(jù),其中倘若該第二全域混亂實體單元中儲存屬于該其中一個邏輯單元的完整有效數(shù)據(jù)時,該存儲器管理電路還用以將該其中一個邏輯單元重新映射至該第二全域混亂實體單兀。9.根據(jù)權(quán)利要求8所述的存儲器控制器,其中該存儲器管理電路還用以維護一全域混亂實體單元搜尋表來記錄對應該些已更新邏輯頁面的多個更新信息。10.根據(jù)權(quán)利要求9所述的存儲器控制器,其中該存儲器管理電路還用以在將該更新數(shù)據(jù)寫入至該第二全域混亂實體單元之后,不將對應該其中一個邏輯頁面的一更新信息記錄至該全域混亂實體單元搜尋表中。11.根據(jù)權(quán)利要求10所述的存儲器控制器,倘若該第二全域混亂實體單元中儲存非屬于該其中一個邏輯單元的完整有效數(shù)據(jù)時,該存儲器管理電路還用以將對應該其中一個邏輯頁面的該更新信息記錄至該全域混亂實體單元搜尋表中。12.根據(jù)權(quán)利要求7所述的存儲器控制器,倘若該更新數(shù)據(jù)非為該循序數(shù)據(jù)時,該存儲器管理電路還用以將該更新數(shù)據(jù)寫入至該第一全域混亂實體單元中。13.一種存儲器儲存裝置,包括一連接器,用以耦接至一主機系統(tǒng);一可擦除非易失性存儲器模組,具有多個實體區(qū)塊并且每一該些實體區(qū)塊具有多個實體頁面;以及一存儲器控制器,耦接至該連接器與該可擦除非易失性存儲器模組,并且用以寫入一更新數(shù)據(jù)至該可擦除非易失性存儲器模組,其中該存儲器控制器用以將該些實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),并且將屬于該數(shù)據(jù)區(qū)與該閑置區(qū)的該些實體區(qū)塊分組為多個實體單元,其中該閑置區(qū)的該些實體單元用以替換該數(shù)據(jù)區(qū)的該些實體單元以寫入數(shù)據(jù),其中該存儲器控制器還用以配置多個邏輯單元以映射該數(shù)據(jù)區(qū)的該些實體單元,其中每一該些邏輯單元具有多個邏輯頁面并且該更新數(shù)據(jù)屬于該些邏輯頁面的其中一個邏輯頁面,其中該存儲器控制器還用以從該閑置區(qū)中提取至少一實體單元作為一第一全域混亂實體單元,其中該存儲器控制器還用以判斷該更新數(shù)據(jù)是否為一循序數(shù)據(jù)并且判斷該其中一個邏輯頁面是否為該些邏輯單元之中的其中一個邏輯單元的一起始邏輯頁面,倘若該更新數(shù)據(jù)為該循序數(shù)據(jù)并且該其中一個邏輯頁面為該起始邏輯頁面時,該存儲器控制器還用以從該閑置區(qū)的該些實體單元中提取一個實體單元作為一第二全域混亂實體單元并且將該更新數(shù)據(jù)寫入至該第二全域混亂實體單元,其中該循序數(shù)據(jù)包括該主機系統(tǒng)依序地寫入至該些邏輯頁面之中連續(xù)的多個邏輯頁面中的多筆數(shù)據(jù)。14.根據(jù)權(quán)利要求13所述的存儲器儲存裝置,其中該存儲器控制器還用以判斷該第二全域混亂實體單元中是否儲存屬于該其中一個邏輯單元的完整有效數(shù)據(jù),其中倘若該第二全域混亂實體單元中儲存屬于該其中一個邏輯單元的完整有效數(shù)據(jù)時,該存儲器控制器還用以將該其中一個邏輯單元重新映射至該第二全域混亂實體單元。15.根據(jù)權(quán)利要求14所述的存儲器儲存裝置,其中該存儲器控制器還用以維護一全域混亂實體單元搜尋表來記錄對應該些已更新邏輯頁面的多個更新信息。16.根據(jù)權(quán)利要求15所述的存儲器儲存裝置,其中該存儲器控制器還用以,在將該更新數(shù)據(jù)寫入至該第二全域混亂實體單元之后,不將對應該其中一個邏輯頁面的一更新信息記錄至該全域混亂實體單元搜尋表中。17.根據(jù)權(quán)利要求16所述的存儲器儲存裝置,倘若該第二全域混亂實體單元中儲存非屬于該其中一個邏輯單元的完整有效數(shù)據(jù)時,該存儲器控制器還用以將對應該其中一個邏輯頁面的該更新信息記錄至該全域混亂實體單元搜尋表中。18.根據(jù)權(quán)利要求13所述的存儲器儲存裝置,倘若該更新數(shù)據(jù)非為該循序數(shù)據(jù)時,該存儲器控制器還用以將該更新數(shù)據(jù)寫入至該第一全域混亂實體單元中。19.一種數(shù)據(jù)寫入方法,用于一可擦除非易失性存儲器,其中該可擦除非易失性存儲器模組具有多個實體區(qū)塊,每一該些實體區(qū)塊具有多個實體頁面,該些實體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),屬于該數(shù)據(jù)區(qū)與該閑置區(qū)的該些實體區(qū)塊被分組為多個實體單元,該數(shù)據(jù)區(qū)的該些實體單元映射多個邏輯單元,每一該些邏輯單元具有多個邏輯頁面,該閑置區(qū)的該些實體單元之中的一第一實體單元被用作為一目前全域混亂實體單元來寫入數(shù)據(jù),該數(shù)據(jù)寫入方法包括a、從一主機系統(tǒng)接收至少一寫入指令與對應該至少一寫入指令的多筆更新數(shù)據(jù),其中每一該些更新數(shù)據(jù)對應該些邏輯頁面之中的其中一個邏輯頁面;b、判斷該些更新數(shù)據(jù)是否為一循序數(shù)據(jù),其中倘若該些更新數(shù)據(jù)為該循序數(shù)據(jù)時標記一第一標識;C、根據(jù)該些更新數(shù)據(jù)對應的該些邏輯頁面依序地選擇該些更新數(shù)據(jù)之中未被寫入的其中一個更新數(shù)據(jù)并且執(zhí)行步驟d;d、判斷該第一標識是否已被標記,其中倘若該第一標識未被標記時執(zhí)行步驟h并且倘若該第一標識已被標記時執(zhí)行步驟e;e、判斷一第二標識是否已被標記,其中倘若該第二標識未被標記時執(zhí)行步驟f并且倘若該第二標識已被標記時執(zhí)行步驟i;f、判斷該其中一個更新數(shù)據(jù)對應的一邏輯頁面是否為一起始邏輯頁面,其中倘若該其中一個更新數(shù)據(jù)對應的該邏輯頁面為該起始邏輯頁面時執(zhí)行步驟g并且倘若該其中一個更新數(shù)據(jù)對應的該邏輯頁面非為該起始邏輯頁面時執(zhí)行步驟h;g、從該閑置區(qū)的該些實體單元之中提取一第二實體單元,將該其中一個更新數(shù)據(jù)依序地寫入至該第二實體單元中,將該第二實體單元作為該目前全域混亂實體單元,標記該第二標識并且之后執(zhí)行步驟j;h、將該其中一個更新數(shù)據(jù)依序地寫入至該目前全域混亂實體單元中,將關(guān)于該其中一個更新數(shù)據(jù)對應的該邏輯頁面的一更新信息記錄至該全域混亂實體單元搜尋表中并且之后執(zhí)行步驟j;i、將該其中一個更新數(shù)據(jù)依序地寫入至該目前全域混亂實體單元中,不將關(guān)于該其中一個更新數(shù)據(jù)對應的該邏輯頁面的該更新信息記錄至該全域混亂實體單元搜尋表中并且之后執(zhí)行步驟j;以及j、判斷是否已將所有該些更新數(shù)據(jù)寫入至該可擦除非易失性存儲器中,其中倘若未將所有該些更新數(shù)據(jù)寫入至該可擦除非易失性存儲器中時,執(zhí)行步驟c,其中該循序數(shù)據(jù)包括該主機系統(tǒng)依序地寫入至該些邏輯頁面之中連續(xù)的多個邏輯頁面中的多筆數(shù)據(jù)。20.根據(jù)權(quán)利要求19所述的數(shù)據(jù)寫入方法,還包括判斷該目前全域混亂實體單元是否已被寫滿;以及倘若該目前全域混亂實體單元已被寫滿時,從該閑置區(qū)的該些實體單元之中提取一第三實體單元作為該目前全域混亂實體單元。21.根據(jù)權(quán)利要求20所述的數(shù)據(jù)寫入方法,還包括倘若該目前全域混亂實體單元已被寫滿時,判斷該第二標記是否已被標記,其中倘若該第二標記已被標記時,將該些邏輯單元之中的其中一個邏輯單元重新映射至該目前全域混亂實體單元并且將該其中一個邏輯單元原先映射的一實體單元關(guān)聯(lián)至該閑置區(qū),其中儲存于該目前全域混亂實體單元中的該些更新數(shù)據(jù)是屬于該其中一個邏輯單兀。22.根據(jù)權(quán)利要求21所述的數(shù)據(jù)寫入方法,還包括從該主機系統(tǒng)接收至少一其他寫入指令與對應該至少一其他寫入指令的多筆其他更新數(shù)據(jù),其中每一該些其他更新數(shù)據(jù)對應該些邏輯頁面之中的其中一個邏輯頁面;以及根據(jù)上述步驟e、上述步驟f、上述步驟g、上述步驟h、上述步驟i與上述步驟j分別地將該些其他更新數(shù)據(jù)寫入至該些全域混亂實體單元中。23.根據(jù)權(quán)利要求22所述的數(shù)據(jù)寫入方法,還包括判斷對應該些其他更新數(shù)據(jù)的該些邏輯頁面是否接續(xù)于對應該些更新數(shù)據(jù)的該些邏輯頁面,其中倘若對應該些其他更新數(shù)據(jù)的該些邏輯頁面非接續(xù)于對應該些更新數(shù)據(jù)的該些邏輯頁面時,反標記該第一標識與該第二標識并且將該些更新數(shù)據(jù)所對應的該些邏輯頁面的該些更新信息之中至少一未記錄更新信息記錄至該全域混亂實體單元搜尋表中。全文摘要本發(fā)明提供一種數(shù)據(jù)寫入方法、存儲器控制器與儲存裝置,該方法用于將來自于主機的更新數(shù)據(jù)寫入至存儲器模組中,其中此存儲器模組的實體單元會被提取作為全域混亂實體單元以寫入來自于主機的數(shù)據(jù)。本方法包括判斷更新數(shù)據(jù)是否為循序數(shù)據(jù)并且判斷上述更新數(shù)據(jù)對應的邏輯頁面是否為起始邏輯頁面。本方法還包括倘若更新數(shù)據(jù)為循序數(shù)據(jù)并且上述更新數(shù)據(jù)對應的邏輯頁面為起始邏輯頁面時,提取一個空的實體單元作為新全域混亂實體單元并且將此更新數(shù)據(jù)寫入至新全域混亂實體單元中。基此,本方法可將屬于同一個邏輯單元的更新數(shù)據(jù)寫入至同一個實體單元中,由此縮短執(zhí)行寫入指令的時間。文檔編號G11C16/06GK102543183SQ20101060911公開日2012年7月4日申請日期2010年12月21日優(yōu)先權(quán)日2010年12月21日發(fā)明者葉志剛申請人:群聯(lián)電子股份有限公司