專利名稱::存儲器管理與寫入方法及其存儲器控制器與儲存系統(tǒng)的制作方法
技術領域:
:本發(fā)明是有關于一種存儲器管理與寫入方法及使用此方法的可復寫式非揮發(fā)性存儲控制器與可復寫式非揮發(fā)性儲存系統(tǒng)。
背景技術:
:數(shù)字相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于可復寫式非揮發(fā)性存儲器(rewritablenon-volatilememory)具有數(shù)據(jù)非揮發(fā)性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用于這類可攜式由電池供電的產品上。固態(tài)硬盤就是一種以可復寫式非揮發(fā)性存儲器作為儲存媒體的儲存裝置。由于可復寫式非揮發(fā)性存儲器體積小容量大,所以已廣泛用于個人重要數(shù)據(jù)的儲存。因此,近年可復寫式非揮發(fā)性存儲器產業(yè)成為電子產業(yè)中相當熱門的一環(huán)。一般來說,存儲器芯片是由多個實體區(qū)塊所組成。此外,可復寫式非揮發(fā)性存儲器儲存系統(tǒng)的控制器會將實體區(qū)塊分組為多個實體單元,并且將此些實體單元邏輯地分組為數(shù)據(jù)區(qū)(dataarea)與備用區(qū)(sparearea)來管理。屬于數(shù)據(jù)區(qū)的實體單元是用以儲存由主機寫入指令所寫入的有效數(shù)據(jù),而屬于備用區(qū)的實體單元是用以在執(zhí)行主機寫入指令時替換數(shù)據(jù)區(qū)的實體單元。為了能夠讓主機能夠順利地存取以輪替方式儲存數(shù)據(jù)的實體單元,可復寫式非揮發(fā)性存儲器儲存系統(tǒng)會提供邏輯單元以利主機系統(tǒng)進行存取。也就是說,可復寫式非揮發(fā)性存儲器儲存系統(tǒng)會建立邏輯單元-實體單元映射表(logicalunit-physicalunitmappingtable),并且在此表中記錄與更新邏輯單元與數(shù)據(jù)區(qū)的實體單元之間的映射關系來反映實體單元的輪替。具體來說,當可復寫式非揮發(fā)性存儲器儲存系統(tǒng)接受到主機系統(tǒng)的主機寫入指令而欲將數(shù)據(jù)寫入至一邏輯單元時,可復寫式非揮發(fā)性存儲器儲存系統(tǒng)會從備用區(qū)中提取一個實體單元;將在此邏輯單元原始所映射的實體單元中的有效舊數(shù)據(jù)與欲寫入的新數(shù)據(jù)寫入至從備用區(qū)中所提取的實體單元;將此邏輯單元原始所映射的實體單元進行抹除操作并關聯(lián)至備用區(qū);并且在邏輯單元-實體單元映射表中將此邏輯單元重新映射至已寫入新數(shù)據(jù)的實體單元(即,此已寫入新數(shù)據(jù)的實體單元已被關聯(lián)至數(shù)據(jù)區(qū))?;耍鳈C系統(tǒng)僅需要依據(jù)邏輯單元來進行存取,而可復寫式非揮發(fā)性存儲器儲存系統(tǒng)會依據(jù)邏輯單元-實體單元映射表在所映射的實體單元上執(zhí)行數(shù)據(jù)的讀取或寫入。特別是,隨著可復寫式非揮發(fā)性存儲器中每一實體單元的容量越來越大,搬移有效舊數(shù)據(jù)所需的時間亦隨著大幅增加。為了能夠提升搬移有效舊數(shù)據(jù)的速度,可復寫式非揮發(fā)性存儲器的制造商提供了復制(CopyBack)指令組以縮短在實體單元之間搬移數(shù)據(jù)所需的時間。然而,在可復寫式非揮發(fā)性存儲器的電路設計上,由實體區(qū)塊所組成的實體單元是分別地屬于不同區(qū)塊面(Plane),并且上述復制指令僅適用于屬于同一個區(qū)塊面的實體單元之間。因此,為了能夠使用復制指令組,在目前的存儲器管理技術中,可復寫式非揮發(fā)性存儲器儲存系統(tǒng)的控制器會根據(jù)實體單元所屬的區(qū)塊面將實體單元分為數(shù)個實體單元群來分別地管理。也就是說,每一實體單元群具有各別的數(shù)據(jù)區(qū)與備用區(qū),上述實體單元的輪替僅限于同一個實體單元群中。由此,可復寫式非揮發(fā)性存儲器儲存系統(tǒng)的控制器可順利地利用復制指令組來在實體單元之間搬移有效舊數(shù)據(jù)??蓮蛯懯椒菗]發(fā)性存儲器的實體單元(或實體區(qū)塊)的寫入與抹除次數(shù)是有限的(例如,10000次),特別是,由于實體單元是以輪替方式來儲存數(shù)據(jù),因此當部分實體單元已磨損后既使其他實體單元仍可使用,但此可復寫式非揮發(fā)性存儲器儲存系統(tǒng)已無法再被正常使用。基此,將實體單元分為多個實體單元群來管理時,若主機系統(tǒng)經(jīng)常于某一邏輯單元上存取數(shù)據(jù)時,對應的實體單元群會較其他實體單元群更快被抹損,而使得可復寫式非揮發(fā)性存儲器儲存系統(tǒng)無法再使用。
發(fā)明內容本發(fā)明提供一種存儲器管理與寫入方法,其能夠有效地提升寫入數(shù)據(jù)至存儲器芯片的速度并且延長可復寫式非揮發(fā)性存儲器儲存裝置的壽命。本發(fā)明提供一種可復寫式非揮發(fā)性存儲器控制器,其能夠有效地提升寫入數(shù)據(jù)至存儲器芯片的速度并且延長可復寫式非揮發(fā)性存儲器儲存裝置的壽命。本發(fā)明提供一種可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其能夠有效地提升寫入數(shù)據(jù)至存儲器芯片的速度并且延長存儲器芯片的壽命。本發(fā)明實施例提出一種存儲器管理與寫入方法,用于管理一存儲器芯片的多個實體單元。本存儲器管理與寫入方法包括配置多個邏輯單元;將此些實體單元分組為一第一實體單元群與一第二實體單元群;將第一實體單元群的部分實體單元分組為一第一數(shù)據(jù)區(qū)與對應第一數(shù)據(jù)區(qū)的一第一備用區(qū);將第二實體單元群的部分實體單元分組為一第二數(shù)據(jù)區(qū)與對應第二數(shù)據(jù)區(qū)的一第二備用區(qū);以及將邏輯單元映射至第一數(shù)據(jù)區(qū)與第二數(shù)據(jù)區(qū)的實體單元。本存儲器管理與寫入方法也包括記錄第一實體單元群與第二實體單元群中的每一實體單元的一抹除次數(shù);依據(jù)此些抹除次數(shù)計算第一實體單元群的一第一抹除次數(shù)與第二實體單元群的一第二抹除次數(shù);并且計算第一抹除次數(shù)與第二抹除次數(shù)之間的一抹除次數(shù)差值。本存儲器管理與寫入方法還包括當接收到對應一第一邏輯單元的主機寫入指令與對應此主機寫入指令的新數(shù)據(jù)時,判斷上述抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值,其中此第一邏輯單元映射第一數(shù)據(jù)區(qū)的實體單元之中的一第一實體單元。此外,當判斷上述抹除次數(shù)差值大于此抹除次數(shù)差異門檻值時,執(zhí)行一交換寫入程序。在此,此交換寫入程序包括從第二備用區(qū)的實體單元之中提取一第二實體單元;以及將新數(shù)據(jù)寫入至該第二實體單元中。本發(fā)明實施例提出一種可復寫式非揮發(fā)性存儲器控制器,其包括微處理器單元、可復寫式非揮發(fā)性存儲器界面單元與存儲器管理單元??蓮蛯懯椒菗]發(fā)性存儲器界面單元電性連接至微處理器單元,并且用以電性連接至上述存儲器芯片。存儲器管理單元電性連接至微處理器單元,其中此存儲器管理單元具有復數(shù)個程序碼用以供微處理器單元執(zhí)行上述存儲器管理與寫入方法中的程序。本發(fā)明實施例提出一種可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其包括連接器、存儲器芯片與可復寫式非揮發(fā)性存儲器控制器。此可復寫式非揮發(fā)性存儲器控制器用以執(zhí)行上述存儲器管理與寫入方法中的程序。基于上述,本發(fā)明實施例能夠提升寫入數(shù)據(jù)存儲器芯片的速度并且延長存儲器芯片的壽命。為讓本發(fā)明上述特征和優(yōu)點能還明顯易懂,下文特舉實施例,并配合所附圖作詳細說明如下。圖IA為本發(fā)明一實施例使用可復寫式非揮發(fā)性存儲器儲存裝置的主機系統(tǒng);圖IB為本發(fā)明實施例電腦、輸入/輸出裝置與可復寫式非揮發(fā)性存儲器儲存裝置的示意圖;圖IC為本發(fā)明另一實施例主機系統(tǒng)與可復寫式非揮發(fā)性存儲器儲存裝置的示意圖;圖2為圖IA所示的可復寫式非揮發(fā)性存儲器儲存裝置的概要方塊圖;圖3為本發(fā)明一實施例可復寫式非揮發(fā)性存儲器控制器的概要方塊圖;圖4圖8為本發(fā)明一實施例管理存儲器芯片的示意圖;圖9為本發(fā)明一實施例邏輯單元-實體單元映射表的示意圖;圖1015圖為本發(fā)明實施例數(shù)據(jù)寫入范例;圖16為本發(fā)明實施例存儲器管理與寫入方法的流程圖。主要元件符號說明1000主機系統(tǒng);1102:微處理器;1106輸入/輸出裝置;1110:數(shù)據(jù)傳輸界面;1204鍵盤;1208打印機;1214:記憶卡;1310數(shù)字相機;1314:MMC卡;1318:CF卡;106存儲器芯片;202微處理器單元;206主機界面單元;252緩沖存儲器;256錯誤校正單元;302系統(tǒng)區(qū);306:取代區(qū);512第一數(shù)據(jù)區(qū);520第二實體單元群;524:第二備用區(qū);900邏輯單元-實體單元映射表;101100電腦;1104隨機存取存儲器;1108系統(tǒng)總線;1202滑鼠;1206顯示器;1212隨身碟;1216固態(tài)硬盤;1312=SD卡;1316記憶棒;1320嵌入式儲存裝置;102連接器;204存儲器管理單元;460(0)460(H)邏輯單元;254:電源管理單元;430(0)430(N)實體單元;304儲存區(qū);510第一實體單元群;514:第一備用區(qū);522第二數(shù)據(jù)區(qū);104可復寫式非揮發(fā)性存儲器控制器;100可復寫式非揮發(fā)性存儲器儲存裝置;208可復寫式非揮發(fā)性存儲器界面單元;S1601、S1603、S1605、S1607、S1609、S1611、S1613、S1615、S1617、S1619、S1621、S1623存儲器管理與寫入方法的步驟。具體實施例方式一般而言,可復寫式非揮發(fā)性存儲器儲存裝置(亦稱,可復寫式非揮發(fā)性存儲器儲存系統(tǒng))包括存儲器芯片與控制器(亦稱,控制電路)。通??蓮蛯懯椒菗]發(fā)性存儲器儲存裝置會與主機系統(tǒng)一起使用,以使主機系統(tǒng)可將數(shù)據(jù)寫入至可復寫式非揮發(fā)性存儲器儲存裝置或從可復寫式非揮發(fā)性存儲器儲存裝置中讀取數(shù)據(jù)。另外,亦有可復寫式非揮發(fā)性存儲器儲存裝置是包括嵌入式存儲器與可執(zhí)行于主機系統(tǒng)上以實質地作為此嵌入式存儲器的控制器的軟體。圖IA為本發(fā)明一實施例使用可復寫式非揮發(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ā)明實施例中可復寫式非揮發(fā)性存儲器儲存裝置100是通過數(shù)據(jù)傳輸界面1110與主機系統(tǒng)1000的其他元件電性連接。通過微處理器1102、隨機存取存儲器1104與輸入/輸出裝置1106的處理可將數(shù)據(jù)寫入至可復寫式非揮發(fā)性存儲器儲存裝置100或從可復寫式非揮發(fā)性存儲器儲存裝置100中讀取數(shù)據(jù)。例如,可復寫式非揮發(fā)性存儲器儲存裝置100可以是如圖IB所示的隨身碟1212、記憶卡1214或固態(tài)硬盤(SolidStateDrive,SSD)1216。一般而言,主機1000可為可儲存數(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,MEMSTICK)1316、CF卡1318或嵌入式儲存裝置1320(如圖IC所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機系統(tǒng)的基板上。圖2為圖IA所示的可復寫式非揮發(fā)性存儲器儲存裝置的概要方塊圖。請參照圖2,可復寫式非揮發(fā)性存儲器儲存裝置100包括連接器102、可復寫式非揮發(fā)性存儲器控制器104與存儲器芯片106。連接器102是電性連接至可復寫式非揮發(fā)性存儲器控制器104并且用以電性連接至主機系統(tǒng)1000。在本實施例中,連接器102為安全數(shù)字(securedigital,SD)界面連接器。然而,必須了解的是本發(fā)明不限于此,連接器102亦可以是通用序列總線(UniversalSerialBus,USB)連接器、電氣和電子工程師協(xié)會QnstituteofElectricalandElectronicEngineers,IEEE)1394連接器、高速周邊零件連接界面(PeripheralComponentInterconnectExpress,PCIExpress)連接器、序歹Ij先進附件(SerialAdvancedTechnologyAttachment,SATA)連接器、記憶棒(MemoryStick,MS)界面連接器、多媒體儲存卡(MultiMediaCard,MMC)界面連接器、小型快閃(CompactFlash,CF)界面連接器、整合式驅動電子界面antegratedDeviceElectronics,IDE)連接器或其他適合的連接器??蓮蛯懯椒菗]發(fā)性存儲器控制器104會執(zhí)行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,并且根據(jù)主機系統(tǒng)1000的指令在存儲器芯片106中進行數(shù)據(jù)的寫入、讀取與抹除等運作。圖3為本發(fā)明一實施例可復寫式非揮發(fā)性存儲器控制器的概要方塊圖。請參照圖3,可復寫式非揮發(fā)性存儲器控制器104包括微處理器單元202、存儲器管理單元204、主機界面單元206、可復寫式非揮發(fā)性存儲器界面單元208。微處理器單元202為可復寫式非揮發(fā)性存儲器控制器104的主控單元,用以與存儲器管理單元204、主機界面單元206與可復寫式非揮發(fā)性存儲器界面單元208等協(xié)同合作以進行可復寫式非揮發(fā)性存儲器儲存裝置100的各種運作。存儲器管理單元204是電性連接至微處理器單元202,用以搭配微處理器單元202以使微處理器單元202執(zhí)行根據(jù)本實施例的數(shù)據(jù)存取機制與區(qū)塊管理機制。具體來說,存儲器管理單元204具有多個控制指令并且微處理器單元202會載入此些控制指令以執(zhí)行根據(jù)本實施例的數(shù)據(jù)存取機制與區(qū)塊管理機制。此些數(shù)據(jù)存取機制與區(qū)塊管理機制將于以下配合圖式作詳細說明。在本實施例中,存儲器管理單元204是以一韌體型式實作在可復寫式非揮發(fā)性存儲器控制器104中。例如,將包括多個控制指令的存儲器管理單元204燒錄至一程序存儲器(例如,只讀存儲器(ReadOnlyMemory,ROM))中并且將此程序存儲器嵌入在可復寫式非揮發(fā)性存儲器控制器104中,當可復寫式非揮發(fā)性存儲器儲存裝置100運作時,存儲器管理單元204的多個控制指令會由微處理器單元202來執(zhí)行以完成根據(jù)本發(fā)明實施例的數(shù)據(jù)存取機制與存儲器管理機制。在本發(fā)明另一實施例中,存儲器管理單元204的控制指令亦可以程序碼型式儲存于存儲器芯片106的特定區(qū)域(例如,存儲器芯片中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲器管理單元204具有一只讀存儲器(未繪示)及一隨機存取存儲器(RandomAccessMemory,RAM)(未繪示)。特別是,此只讀存儲器具有一驅動代碼段,并且當可復寫式非揮發(fā)性存儲器控制器104被致能時,微處理器單元202會先執(zhí)行該驅動代碼段以將儲存于存儲器芯片106中存儲器管理單元204的控制指令載入至存儲器管理單元204隨機存取存儲器中,之后再運轉此些控制指令以執(zhí)行本發(fā)明實施例的數(shù)據(jù)存取機制與存儲器管理機制。此外,在本發(fā)明另一實施例中,存儲器管理單元204亦可以一硬體型式實作在可復寫式非揮發(fā)性存儲器控制器104中。主機界面單元206是電性連接至微處理器單元202并且用以接收與識別主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)。也就是說,主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)會通過主機界面單元206來傳送至微處理器單元202。在本實施例中,主機界面單元206是對應連接器102為SD界面。然而,必須了解的是本發(fā)明不限于此,主機界面單元210亦可以是PATA界面、USB界面、IEEE1394界面、PCIExpress界面、SATA界面、MS界面、MMC界面、CF界面、IDE界面或其他適合的數(shù)據(jù)傳輸界面??蓮蛯懯椒菗]發(fā)性存儲器界面單元208是電性連接至微處理器單元202并且用以存取存儲器芯片106。也就是說,欲寫入至存儲器芯片106的數(shù)據(jù)會經(jīng)由可復寫式非揮發(fā)性存儲器界面單元208轉換為存儲器芯片106所能接受的格式。在本發(fā)明一實施例中,可復寫式非揮發(fā)性存儲器控制器104還包括緩沖存儲器252。緩沖存儲器252是電性連接至微處理器單元202并且用以暫存來自于主機系統(tǒng)1000的數(shù)據(jù)與指令或來自于存儲器芯片106的數(shù)據(jù)。在本發(fā)明一實施例中,可復寫式非揮發(fā)性存儲器控制器104還包括電源管理單元254。電源管理單元2M是電性連接至微處理器單元202并且用以控制可復寫式非揮發(fā)性存儲器儲存裝置100的電源。在本發(fā)明一實施例中,可復寫式非揮發(fā)性存儲器控制器104還包括錯誤校正單元256。錯誤校正單元256是電性連接至微處理器單元202并且用以執(zhí)行一錯誤校正程序以確保數(shù)據(jù)的正確性。具體來說,當微處理器單元202從主機系統(tǒng)1000中接收到主機寫入指令時,錯誤校正單元256會為對應此主機寫入指令的寫入數(shù)據(jù)產生對應的錯誤檢查與校正碼(ErrorCheckingandCorrectingCode,ECCCode),并且微處理器單元202會將此寫入數(shù)據(jù)與對應的錯誤校正碼寫入至存儲器芯片106中。之后,當微處理器單元202從存儲器芯片106中讀取數(shù)據(jù)時會同時讀取此數(shù)據(jù)對應的錯誤校正碼,并且錯誤校正單元256會依據(jù)此錯誤校正碼對所讀取的數(shù)據(jù)執(zhí)行錯誤校正程序。請再參照圖2,存儲器芯片106是電性連接至可復寫式非揮發(fā)性存儲器控制器104。存儲器芯片106為一可復寫式非揮發(fā)性存儲器,并且具有多個實體區(qū)塊。各實體區(qū)塊分別具有復數(shù)個頁面,其中對應于同一實體區(qū)塊的頁面可獨立寫入且同時抹除。更詳細來說,實體區(qū)塊為抹除的最小單位。亦即,每一實體區(qū)塊含有最小數(shù)目之一并被抹除的記憶胞。每一實體區(qū)塊具有數(shù)個實體頁面,并且實體頁面為程序化的最小單元。換言之,實體頁面為寫入數(shù)據(jù)或讀取數(shù)據(jù)的最小單元。每一實體頁面通常包括使用者數(shù)據(jù)區(qū)與冗余區(qū)。使用者數(shù)據(jù)區(qū)用以儲存使用者的數(shù)據(jù),而冗余區(qū)用以儲存系統(tǒng)的數(shù)據(jù)(例如,錯誤檢查與校正碼)。在本實施例中,存儲器芯片106為快閃存儲器芯片。例如,存儲器芯片106為一多層記憶胞(MultiLevelCell,MLC)NAND存儲器芯片。然而,本發(fā)明不限于此,存儲器芯片106亦可是單層記憶胞(SingleLevelCell,SLC)NAND存儲器芯片或其他具有相同特性的存儲器。圖4圖8為本發(fā)明一實施例繪示管理存儲器芯片的示意圖。必須了解的是,在此描述存儲器芯片106實體區(qū)塊的運作時,以“提取”、“交換”、“分組”、“輪替”等詞來操作實體區(qū)塊是邏輯上的概念。也就是說,存儲器芯片106實體區(qū)塊的實際位置并未更動,而是邏輯上對存儲器芯片106的實體區(qū)塊進行操作。請參照圖4,可復寫式非揮發(fā)性存儲器控制器104的微處理器單元202會根據(jù)存儲器芯片106的電路設計將存儲器芯片106的實體區(qū)塊分組為多個實體單元來進行管理。例如,1個實體單元包括2個實體區(qū)塊,并且以實體單元作為抹除的單位。必須了解的是,盡管本實施例是以2個實體區(qū)塊所組成的實體單元來進行管理。然而,本發(fā)明不限于此,在本發(fā)明另一實施例中,1個實體單元亦可僅由1個實體區(qū)塊或者由3個以上的實體區(qū)塊所組成。例如,存儲器芯片106的實體區(qū)塊會被分組為實體單元430(0)430(N)。此外,可復寫式非揮發(fā)性存儲器控制器104的微處理器單元202會將實體單元430(0)430(N)邏輯地分組為系統(tǒng)區(qū)302、儲存區(qū)304與取代區(qū)306。邏輯上屬于系統(tǒng)區(qū)302的實體單元430(0)430(S_1)用以記錄系統(tǒng)數(shù)據(jù),其中此系統(tǒng)數(shù)據(jù)包括關于存儲器芯片的制造商與型號、存儲器芯片的實體區(qū)塊數(shù)、每一實體區(qū)塊的頁面數(shù)等。邏輯上屬于儲存區(qū)304的實體單元430(S)430(R-I)是用以儲存主機系統(tǒng)1000所寫入的數(shù)據(jù)。也就是說,可復寫式非揮發(fā)性存儲器儲存裝置100會使用分組為儲存區(qū)304的實體單元來實際地儲存主機系統(tǒng)1000所寫入的數(shù)據(jù)。邏輯上屬于取代區(qū)306中的實體單元430(R)430(N)是替代實體單元。例如,存儲器芯片106于出廠時會預留4%的實體區(qū)塊作為更換使用。也就是說,當系統(tǒng)區(qū)302與儲存區(qū)304中實體區(qū)塊損毀時,預留于取代區(qū)306中的實體區(qū)塊是用以取代損壞的實體區(qū)塊(即,壞實體區(qū)塊(badblock))。因此,倘若取代區(qū)306中仍存有正常的實體區(qū)塊且發(fā)生實體區(qū)塊損毀時,微處理器單元202會從取代區(qū)306中提取正常的實體區(qū)塊來更換損毀的實體區(qū)塊。倘若取代區(qū)306中無正常的實體區(qū)塊且發(fā)生實體區(qū)塊損毀時,則可復寫式非揮發(fā)性存儲器儲存裝置100將會被宣告為寫入保護(writeprotect)狀態(tài),而無法再寫入數(shù)據(jù)。特別是,系統(tǒng)區(qū)302、儲存區(qū)304與取代區(qū)306的實體單元的數(shù)量會依據(jù)不同的存儲器規(guī)格而有所不同。此外,必須了解的是,在可復寫式非揮發(fā)性存儲器儲存裝置100的運作中,實體單元關聯(lián)至系統(tǒng)區(qū)302、儲存區(qū)304與取代區(qū)306的分組關系會動態(tài)地變動。例如,當儲存區(qū)中的實體單元損壞時而被取代區(qū)的實體單元取代時,則原本取代區(qū)的實體單元會被關聯(lián)至儲存區(qū)。請參照圖5,在本實施例中,微處理器單元202將儲存區(qū)304的實體單元430(S)430(R-I)分組第一實體單元群510與第二實體單元群520。例如,第一實體單元群510是由實體單元430(S)、430(S+2)、430(S+4)...430(R-2)所組成,并且第二實體單元群520是由實體單元430(S+l)、430(S+3)、430(S+5)...430(R-I)所組成。特別是,在本實施例中,在電路設計上,存儲器芯片106的實體區(qū)塊可區(qū)分為2個區(qū)塊面,其中第一實體單元群510的實體單元430(S)、430(S+2)、430(S+4)...430(R-2)是屬于其中一個區(qū)塊面(plane),并且第二實體單元群520的實體單元430(S+l)、430(S+3)、430(S+5)...430(R-I)是屬于另一個區(qū)塊面。在本發(fā)明實施例中,區(qū)塊面是指存儲器芯片106中部分實體區(qū)塊集合。在此實體區(qū)塊集合所屬頁面上的數(shù)據(jù),可由一復制指令組復制至同一實體區(qū)塊集合中的另一頁面。在本實施例中,區(qū)塊面中各實體單元是共用同一個暫存器與同一條數(shù)據(jù)傳輸總線,但本發(fā)明不以此為限。此外,在本實施例中,所述復制指令組是可將一原先儲存于存儲器芯片106中數(shù)據(jù),在讀至存儲器芯片106中暫存器后,經(jīng)過(或未經(jīng)過)修改后再寫入存儲器芯片106中一指令集合。亦即,在未需修改數(shù)據(jù)的狀態(tài)下,可復寫式非揮發(fā)性存儲器控制器104可不需再傳送一次欲寫入的數(shù)據(jù)予存儲器芯片106。換句話說,復制指令組是用以將存儲器芯片106中數(shù)據(jù),在存儲器芯片106中進行重制(R印roduction)寫入。在本實施例中,此指令集合可具有二個周期。在本實施例中,微處理器單元202會將每一實體單元群的實體單元分組為數(shù)據(jù)區(qū)與備用區(qū)。具體來說,第一實體單元群510的實體單元會被分組為第一數(shù)據(jù)區(qū)512與第一14備用區(qū)514,并且第二實體單元群520的實體單元會被分組為第二數(shù)據(jù)區(qū)522與第二備用區(qū)524。第一數(shù)據(jù)區(qū)512與第二數(shù)據(jù)區(qū)522的實體單元是用以儲存來自于主機系統(tǒng)1000的數(shù)據(jù)。第一備用區(qū)514與第二備用區(qū)524的實體單元是用以替換第一數(shù)據(jù)區(qū)512與第二數(shù)據(jù)區(qū)522的實體單元。因此,第一備用區(qū)514與第二備用區(qū)524的實體單元為空或可使用的實體單元,即無記錄數(shù)據(jù)或標記為已沒用的無效數(shù)據(jù)。也就是說,在備用區(qū)中的實體單元已被執(zhí)行抹除運作,或者當備用區(qū)中的實體單元被提取用于儲存數(shù)據(jù)之前所提取的實體單元會被執(zhí)行抹除運作。因此,備用區(qū)的實體單元為可被使用的實體單元。請同時參照圖6圖8,以第一實體單元群510為例,例如,當可復寫式非揮發(fā)性存儲器控制器104從主機系統(tǒng)1000中接收到主機寫入指令而欲寫入數(shù)據(jù)至第一數(shù)據(jù)區(qū)512的實體單元430(時,微處理器單元202會從第一備用區(qū)514中提取實體單元430(D)來輪替第一數(shù)據(jù)區(qū)512的實體單元430(S)。然而,當微處理器單元202將新數(shù)據(jù)寫入至實體單元430(D)的同時,微處理器單元202不會立刻將實體單元430(中的所有有效數(shù)據(jù)搬移至實體單元430(D)而抹除實體單元430(。具體來說,微處理器單元202會將實體單元430(S)中欲寫入實體頁面之前的有舊效數(shù)據(jù)(即,第0實體頁面與第1實體頁面)復制至實體單元430(D)(如圖6所示),并且將新數(shù)據(jù)寫入至實體單元430(D)的實體單元430-(D)的第2實體頁面與第3實體頁面(如圖7所示)。此時,微處理器單元202即完成寫入的動作。因為實體單元430(S)中的有效舊數(shù)據(jù)有可能在下個操作(例如,主機寫入指令)中變成無效,因此立刻將實體單元430(S)中的所有有效數(shù)據(jù)搬移至替換實體單元430(D)可能會造成無謂的搬移。在本實施例中,暫時地維持此等母子暫態(tài)關系(即,實體單元430(S)與實體單元430(D))的動作稱為開啟(open)母子單元,并且原實體單元稱為母實體單元而替換實體單元稱為子實體單元。之后,當需要將實體單元430(S)與實體單元430(D)的內容真正合并時,微處理器單元202才會將實體單元430(S)與實體單元430(D)整并為一個實體單元,由此提升區(qū)塊的使用效率。在此,合并母子單元的動作稱為關閉(close)母子單元。例如,如圖8所示,當進行關閉母子單元時,微處理器單元202會將實體單元430(中剩余的有效數(shù)據(jù)(即,第4實體頁面第K實體頁面)復制至替換實體單元430(D),然后將實體單元430(S)抹除并關聯(lián)至第一備用區(qū)514,同時,將實體單元430(D)關聯(lián)至第一數(shù)據(jù)區(qū)512。也就是說,第一實體單元群510的實體單元會以輪替方式來儲存主機系統(tǒng)1000對可復寫式非揮發(fā)性存儲器儲存裝置100寫入的數(shù)據(jù)。在本實施例中,微處理器單元202配置邏輯位址給主機系統(tǒng)1000以利于在以上述輪替方式的實體單元中進行數(shù)據(jù)存取。此外,微處理器單元202會將所提供的邏輯位址分組為邏輯單元,并且將邏輯單元映射至第一數(shù)據(jù)區(qū)512的實體單元。例如,當可復寫式非揮發(fā)性存儲器儲存裝置100被初始化(例如,格式化)時,邏輯單元460(0)460(Z-I)會映射至第一數(shù)據(jù)區(qū)512的實體單元,并且一個邏輯單元映射一個實體單元。在此,微處理器單元202會建立與維護邏輯單元-實體單元映射表(logicalunit-physicalunitmappingtable)900來記錄每一邏輯單元所映射的實體單元(如圖9所示)。例如,當主機系統(tǒng)1000欲將數(shù)據(jù)寫入至屬于邏輯單元460(0)的邏輯位址時,微處理器單元202會根據(jù)一配置單元(未繪示)或一運算式來識別此邏輯位址是屬于邏輯單元460(0)。之后,微處理器單元202會根據(jù)邏輯單元-實體單元映射表來識別映射邏輯單元460(0)的實體單元430(S);執(zhí)行開啟母子單元運作以從第一備用區(qū)514中提取實體單元430(D);并且將實體單元430(S)中的有效舊數(shù)據(jù)與主機系統(tǒng)1000欲寫入的數(shù)據(jù)寫入至實體單元430(D)。例如,當邏輯單元所映射的實體單元處于上述母子單元狀態(tài)(如圖7所示)時,則微處理器單元202會注記此邏輯單元為處于開啟母子單元狀態(tài),并且于一子實體單元表(未繪示)或一變數(shù)中記錄對應的子實體單元。之后,在微處理器單元202對實體單元430(與實體單元430(D)執(zhí)行關閉母子單元運作后,微處理器單元202會更新邏輯單元-實體單元映射表600以將邏輯單元460(0)重新映射至實體單元430(D)。特別是,由于第一實體單元群510的實體單元是屬于同一個區(qū)塊面,因此微處理器單元202可使用復制指令組(copy)在第一實體單元群510的實體單元之間搬移有效舊數(shù)據(jù),由此提升寫入數(shù)據(jù)的效率。也就是說,第一實體單元群510的實體單元會以輪替方式來儲存主機系統(tǒng)1000對可復寫式非揮發(fā)性存儲器儲存裝置100寫入的數(shù)據(jù)。并且,當實體單元為空或未儲存任何有效數(shù)據(jù)時,此實體區(qū)塊會被關聯(lián)至第一備用區(qū)514。而當實體單元儲存有效數(shù)據(jù)且映射至邏輯單元時,此實體單元會被關聯(lián)至第一數(shù)據(jù)區(qū)512。此外,當實體單元第一備用區(qū)514中被提取來寫入對應一邏輯單元的數(shù)據(jù)并且處于開啟母子單元的暫態(tài)時,則此實體單元為此邏輯單元所映射的實體單元的子實體單元。在此,在同一個實體單元群中從備用區(qū)(例如,第一備用區(qū)514)中提取實體單元來替換數(shù)據(jù)區(qū)(例如第一數(shù)據(jù)區(qū)51的實體單元來寫入主機系統(tǒng)1000所儲存至邏輯單元的數(shù)據(jù)稱為"一般寫入程序"。類似地,第二實體單元群520的實體單元亦會以輪替方式來儲存主機系統(tǒng)1000對可復寫式非揮發(fā)性存儲器儲存裝置100寫入的數(shù)據(jù)。例如,當可復寫式非揮發(fā)性存儲器儲存裝置100被初始化(例如,格式化)時,邏輯單元460(Z)460(H)會映射至第二數(shù)據(jù)區(qū)522的實體單元,并且一個邏輯單元映射一個實體單元。在本實施例中,微處理器單元202會記錄儲存區(qū)304的每一實體單元的抹除次數(shù)。如上所述,已寫入數(shù)據(jù)的實體單元必須先被抹除后才可再用于寫入數(shù)據(jù)。每當實體單元被執(zhí)行抹除運作時,微處理器單元202會更新此實體單元的抹除次數(shù)。特別是,在本實施例中,微處理器單元202會計算第一實體單元群510中所有實體單元的平均抹除次數(shù),并且計算第二實體單元群520中所有實體單元的平均抹除次數(shù)。如上所述,當主機系統(tǒng)1000頻繁地對某一邏輯單元群進行存取時,此邏輯單元所映射的實體單元群的磨損會較高。例如,主機系統(tǒng)1000頻繁地對邏輯單元460(0)460(Z-I)進行存取時,第一實體單元群510的平均抹除次數(shù)會高于第二實體單元群520的平均抹除次數(shù)。為了能夠平均存儲器芯片106內所有實體單元的磨損,在本實施例中,當可復寫式非揮發(fā)性存儲器儲存裝置100從主機系統(tǒng)1000接收到主機寫入指令與對應此主機寫入指令的數(shù)據(jù)時,微處理器單元202會識別對應此主機寫入指令的邏輯單元,并且判斷此邏輯單元所映射的實體單元所屬的實體單元群的平均抹除次數(shù)與其他實體單元群的平均抹除次數(shù)之間的平均抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值。并且,當此邏輯單元所映射的實體單元所屬的實體單元群的平均抹除次數(shù)與其他實體單元群的平均抹除次數(shù)之間的平均抹除次數(shù)差值大于此抹除次數(shù)差異門檻值時,微處理器單元202會從其他實體單元群的備用區(qū)中提取實體單元以執(zhí)行"交換寫入程序"。在此,抹除次數(shù)差異門檻值可依據(jù)存儲器芯片106的實體區(qū)塊的壽命(即,可抹除次數(shù))來決定。例如,在本實施例中,抹除次數(shù)差異門檻值是設定為300。然,本發(fā)明不限于此。例如,在圖9所示的狀態(tài)下,當可復寫式非揮發(fā)性存儲器儲存裝置100從主機系統(tǒng)1000接收到指示儲存新數(shù)據(jù)至邏輯單元460(0)的主機寫入指令時,微處理器單元202會將邏輯單元460(0)目前所映射的實體單元430(所屬的第一實體單元群的平均抹除次數(shù)減去第二實體單元群的平均抹除次數(shù)以獲得平均抹除次數(shù)差值,并且判斷所獲得的平均抹除次數(shù)差值是否大于抹除次數(shù)差異門檻值。例如,倘若所獲得的平均抹除次數(shù)差值大于抹除次數(shù)差異門檻值時,微處理器單元202會從第二備用區(qū)524中提取實體單元430(D+1)來執(zhí)行開啟母子單元運作。并且,當對實體單元430(與實體單元430(D+1)執(zhí)行關閉母子單元運作時,邏輯單元460(0)會被重新映射至實體單元430(D+1),實體單元430(S)會被關聯(lián)至第一備用區(qū)514并且實體單元430(D+1)會被關聯(lián)至第二數(shù)據(jù)區(qū)522。值得一提的是,由于實體單元430(與實體單元430(D+1)屬于不同區(qū)塊面,因此微處理器單元202會使用一般讀取與寫入指令來搬移有效舊數(shù)據(jù)。亦即,可復寫式非揮發(fā)性存儲器控制器104需先從快閃存儲器芯片106中讀出有效舊數(shù)據(jù)后,再傳送此有效舊數(shù)據(jù)回至存儲器芯片106以進行寫入運作?;耍诘谝粚嶓w單元群510的實體單元的平均磨損高于第二實體單元群520的實體單元的情況下,微處理器單元202會不斷地執(zhí)行"交換寫入程序"而使得第二實體單元群520的第二數(shù)據(jù)區(qū)522所映射的邏輯單元的數(shù)量大于第一實體單元群510的第一數(shù)據(jù)區(qū)512所映射的邏輯單元的數(shù)量。也就是說,第二實體單元群520的實體單元還會有機會被輪替來寫入主機系統(tǒng)1000所儲存的數(shù)據(jù),由此平均第一實體單元群510與第二實體單元群520的實體單元的磨損。例如,當主機系統(tǒng)1000再次儲存新數(shù)據(jù)至邏輯單元460(0)時,微處理器單元202會從第二實體單元群520的第二備用區(qū)524中提取實體單元來寫入數(shù)據(jù)。值得一提的是,由于邏輯單元460(0)目前所映射的實體單元430(D+1)是屬于第二實體單元群520,其與從第二備用區(qū)所提取的實體單元是屬于同一個區(qū)塊面,因此微處理器單元202會使用復制指令組在第二實體單元群520的實體單元之間搬移有效舊數(shù)據(jù),由此提升寫入數(shù)據(jù)的效率。值得一提的是,在第一實體單元群510的實體單元的平均磨損高于第二實體單元群520的實體單元的情況下,當微處理器單元202不斷地執(zhí)行"交換寫入程序"時,第一備用區(qū)514的實體單元的數(shù)量會不斷地增加,而第二備用區(qū)524的實體單元的數(shù)量會不斷地減少。特別是,若第二備用區(qū)524的實體單元的數(shù)量持續(xù)減少,將會造成第二備用區(qū)524的實體單元的數(shù)量不足以完成以輪替方式所執(zhí)行的寫入程序。在本發(fā)明一實施例中,除了判斷實體單元群的平均抹除次數(shù)之間的平均抹除次數(shù)差值是否大于抹除次數(shù)差異門檻值之外,微處理器單元202亦會判斷欲寫入的實體單元所屬的實體單元群所映射的邏輯單元的數(shù)量和其他實體單元群所映射的邏輯單元的數(shù)量之間的邏輯單元數(shù)差值是否小于一邏輯單元數(shù)差異門檻值。并且,當此邏輯單元數(shù)差值非小于邏輯單元數(shù)差異門檻值時,微處理單元202會使用"一般寫入程序",而不會執(zhí)行"交換寫入程序"。也就是說,微處理器單元202會記錄每一實體單元群所映射的邏輯單元的數(shù)量,并且依據(jù)每一實體單元群所映射的邏輯單元的數(shù)量來判斷是否執(zhí)行"交換寫入程序"。在此,邏輯單元數(shù)差異門檻值是依據(jù)初始地配置于備用區(qū)中的實體單元的數(shù)量來決定。例如,當每一備用區(qū)的實體單元的數(shù)量為4時,邏輯單元數(shù)差異門檻值必須設定為小于或等于6。也就是說,每一備用區(qū)至少保留一個實體單元以用于執(zhí)行寫入程序。例如,在圖9所示的狀態(tài)下,當可復寫式非揮發(fā)性存儲器儲存裝置100從主機系統(tǒng)1000接收到指示欲儲存新數(shù)據(jù)至邏輯單元460(0)的主機寫入指令并且所獲得的平均抹除次數(shù)差值大于抹除次數(shù)差異門檻值時,微處理器單元202會將第二實體單元群所映射的邏輯單元的數(shù)目減去實體單元430(S)所屬的第一實體單元群510所映射的邏輯單元的數(shù)目以獲得邏輯單元數(shù)差值,并且判斷所獲得的邏輯單元數(shù)差值是否小于邏輯單元數(shù)差異門檻值。倘若所獲得的邏輯單元數(shù)差值非小于邏輯單元數(shù)差異門檻值時,微處理器單元202會執(zhí)行"一般寫入程序"來寫入數(shù)據(jù)。反之,倘若所獲得的邏輯單元數(shù)差值小于邏輯單元數(shù)差異門檻值時,微處理器單元202會執(zhí)行"交換寫入程序"來寫入數(shù)據(jù)。在另一實施例中,微處理器單元202會計算每一實體單元群中所有實體單元中最高抹除次數(shù),或抹除次數(shù)之總合。并且,當此邏輯單元所映射的實體單元所屬的實體單元群與其他實體單元群的最高抹除次數(shù)或抹除次數(shù)的總合兩者間的差值大于上述抹除次數(shù)差異門檻值時,微處理器單元202會執(zhí)行上述"交換寫入程序"。此外,在另一實施例中,可復寫式非揮發(fā)性存儲器儲存裝置100是在一預定間隔之后,當從主機系統(tǒng)1000接收到欲儲存新數(shù)據(jù)至邏輯單元的主機寫入指令時才判斷所獲得的平均抹除次數(shù)差值是否大于抹除次數(shù)差異門檻值以確認是否執(zhí)行"交換寫入程序"。此間隔可根據(jù)儲存區(qū)304的實體單元的抹除次數(shù)來決定。例如,微處理器單元202會為存儲器芯片106配置一抹除計數(shù)值,并且每當抹除運作被執(zhí)行時微處理器單元202會計數(shù)此抹除計數(shù)值(例如,將此抹除計數(shù)值加1)。此外,當此抹除計數(shù)值到達一預定值時,才判斷所獲得的平均抹除次數(shù)差值是否大于抹除次數(shù)差異門檻值以確認是否執(zhí)行"交換寫入程序"。在此,此預定值是設定為500,但本發(fā)明不限于此。特別是,在執(zhí)行上述判斷后,此抹除計數(shù)值會被重置(例如,歸零)。圖1015圖為本發(fā)明實施例數(shù)據(jù)寫入范例。為方便說明,在此范例中,開啟母子單元運作被執(zhí)行以寫入數(shù)據(jù)后關閉母子單元運作會立刻被執(zhí)行,而無上述母子單元的暫態(tài)。請參照圖10,在此范例中,假設第一實體單元群510的第一數(shù)據(jù)區(qū)512具有4個實體單元(即,實體單元430(S)、430(S+2)、430(S+4)、430(S+6))且第一備用區(qū)514具有3個實體單元(即,430(D)、430(D+2)、430(D+4)),第二實體單元群520的第二數(shù)據(jù)區(qū)522具有4個實體單元(即,實體單元430(S+l)、430(S+3)、430(S+5)、430(S+7))且第二備用區(qū)514具有3個實體單元(即,430(D+l)、430(D+3)、430(D+5)),邏輯單元460(0)460(3)映射至第一數(shù)據(jù)區(qū)512的實體單元,并且與邏輯單元460(4)460(7)映射至第二數(shù)據(jù)區(qū)522的實體單元。此外,在此范例中,第一實體單元群510的實體單元的平均抹除次數(shù)減去第二實體單元群520的實體單元的平均抹除次數(shù)所獲得的平均抹除次數(shù)差值遠大于抹除次數(shù)差異門檻值,并且邏輯單元數(shù)差異門檻值為4。請參照圖10及11,倘若主機系統(tǒng)1000欲儲存數(shù)據(jù)至邏輯單元460(1)時,由于第二實體單元群520的實體單元所映射的邏輯單元的數(shù)目減去第一實體單元群510的實體單元所映射的邏輯單元的數(shù)目所獲得的邏輯單元數(shù)差值為0,因此,微處理器單元202從第二備用區(qū)5M提取實體單元430(D+1)以寫入數(shù)據(jù)并且將邏輯單元460(1)重新映射至實體單元430(D+1)。此時,實體單元430(S+2)會被關聯(lián)至第一備用區(qū)514,并且實體單元430(D+1)會被關聯(lián)至第二數(shù)據(jù)區(qū)522。請參照圖12,倘若在圖11所示的狀態(tài)下主機系統(tǒng)1000欲儲存數(shù)據(jù)至邏輯單元460(2)時,由于第二實體單元群520的實體單元所映射的邏輯單元的數(shù)目減去第一實體單元群510的實體單元所映射的邏輯單元的數(shù)目所獲得的邏輯單元數(shù)差值為2,因此,微處理器單元202從第二備用區(qū)5M提取實體單元430(D+3)以寫入數(shù)據(jù)并且將邏輯單元460(2)重新映射至實體單元430(D+3)。此時,實體單元430(S+4)會被關聯(lián)至第一備用區(qū)514,并且實體單元430(D+;3)會被關聯(lián)至第二數(shù)據(jù)區(qū)522。請參照圖13,倘若在圖12所示的狀態(tài)下主機系統(tǒng)1000欲儲存數(shù)據(jù)至邏輯單元460(2)時,由于邏輯單元460(2)目前是映射第二實體單元群520的實體單元且第一實體單元群510的實體單元的平均抹除次數(shù)減去第二實體單元群520的實體單元的平均抹除次數(shù)所獲得的平均抹除次數(shù)差值遠大于抹除次數(shù)差異門檻值,因此,微處理器單元202從第二備用區(qū)5M提取實體單元430(0+以寫入數(shù)據(jù)并且將邏輯單元460(重新映射至實體單元430(D+5)。此時,實體單元430(D+3)會被關聯(lián)至第二備用區(qū)524,并且實體單元430(D+5)會被關聯(lián)至第二數(shù)據(jù)區(qū)522。請參照圖14,倘若在圖13所示的狀態(tài)下主機系統(tǒng)1000欲儲存數(shù)據(jù)至邏輯單元460(0)時,由于第二實體單元群520的實體單元所映射的邏輯單元的數(shù)目減去第一實體單元群510的實體單元所映射的邏輯單元的數(shù)目所獲得的邏輯單元數(shù)差值為4,因此,微處理器單元202從第一備用區(qū)514提取實體單元430(D)以寫入數(shù)據(jù)并且將邏輯單元460(0)重新映射至實體單元430(D)。此時,實體單元430(S)會被關聯(lián)至第一備用區(qū)514,并且實體單元430(D)會被關聯(lián)至第一數(shù)據(jù)區(qū)512。值得一提的是,在本發(fā)明另一實施例中,微處理器單元202會在可復寫式非揮發(fā)性存儲器儲存裝置100處于閑置時,方判斷實體單元群所映射的邏輯單元的數(shù)量之間的邏輯單元數(shù)差值是否等于邏輯單元數(shù)差異門檻值。并且,當邏輯單元數(shù)差值等于邏輯單元數(shù)差異門檻值時,微處理器單元202會執(zhí)行平均磨損程序來平衡實體單元群所映射的邏輯單元的數(shù)量。在此,所謂可復寫式非揮發(fā)性存儲器儲存裝置100處于閑置是表示微處理器單元202于一段時間內未從主機系統(tǒng)1000中接收到任何指令。例如,請參照圖15,倘若在圖14所示的狀態(tài)下在可復寫式非揮發(fā)性存儲器儲存裝置100處于閑置期間微處理器單元202判斷通過第二實體單元群520所映射的邏輯單元的數(shù)目減去第一實體單元群510所映射的邏輯單元的數(shù)目所獲得的邏輯單元數(shù)差值等于邏輯單元數(shù)差異門檻值時,微處理器單元202會從第二數(shù)據(jù)區(qū)522中隨機地選擇實體單元430(S+1);從第一備用區(qū)514中隨機地提取一個實體單元4300+;將實體單元430(S+1)內的數(shù)據(jù)搬移至實體單元430(0+中;將實體單元430(S+1)關聯(lián)至第二備用區(qū)5M且將實體單元430(0+關聯(lián)至第一數(shù)據(jù)區(qū)512;以及將實體單元430(S+1)所映射的邏輯單元460(4)重新映射至實體單元430(0+。由此,每一實體單元群所映射的邏輯單元的數(shù)量會較為平衡,以避免某一實體單元群的備用區(qū)的實體單元的數(shù)量不足以完成以輪替方式執(zhí)行的寫入程序。值得一提的是,盡管在本實施例中是以隨機方式選擇實體單元來執(zhí)行上述"平均磨損程序",然而本發(fā)明不限于此。在本發(fā)明另一實施例中,微處理器單元202可根據(jù)每一實體單元的抹除次數(shù)來選擇實體單元。例如,微處理器單元202會從數(shù)據(jù)區(qū)中選擇抹除次數(shù)最高的實體單元并且從備用區(qū)中選擇抹除次數(shù)最低的實體單元來執(zhí)行"平均磨損程序"。圖16為本發(fā)明實施例存儲器管理與寫入方法的流程圖。請參照圖16,當可復寫式非揮發(fā)性存儲器儲存裝置100被初始化時,步驟S1601會被執(zhí)行。在步驟S1601中,微處理器單元202會配置多個邏輯單元,并且將實體單元分組為多個實體單元群。例如,每一實體單元群的實體單元是屬于同一個區(qū)塊面。在步驟S1603中微處理器單元202會將每一實體單元群的部分實體單元分組為數(shù)據(jù)區(qū)與對應的備用區(qū),并且將邏輯單元映射至數(shù)據(jù)區(qū)的實體單元。在步驟S1605中微處理器單元202會記錄每一實體單元群中每一實體單元的抹除次數(shù),并且依據(jù)所記錄的抹除次數(shù)來計算每一實體單元群的平均抹除次數(shù)。在步驟S1607中微處理器單元202會計算每一數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目。之后,當可復寫式非揮發(fā)性存儲器儲存裝置100接收到主機寫入指令與對應主機寫入指令的數(shù)據(jù)時,步驟S1609會被執(zhí)行。在步驟S1609中,微處理器單元202會識別對應此主機寫入指令的邏輯單元所映射的實體單元并且識別此實體單元所屬的實體單元群。接著,在步驟S1611中微處理器單元202會將此實體單元所屬的實體單元群的平均抹除次數(shù)減去另一實體單元群的平均抹除次數(shù)以獲得平均抹除次數(shù)差值。并且在步驟S1613中微處理器單元202會判斷步驟S1611中所獲得的平均抹除次數(shù)差值是否大于平均抹除差異門檻值。倘若此平均抹除次數(shù)差值非大于平均抹除差異門檻值,則在步驟S1615中微處理器單元202會執(zhí)行"一般寫入程序",然后步驟S1605會被執(zhí)行。倘若此平均抹除次數(shù)差值大于平均抹除差異門檻值,則在步驟S1617中微處理器單元202會將另一實體單元群所映射的邏輯單元的數(shù)量減去此實體單元所屬的實體單元群所映射的邏輯單元的數(shù)量以獲得邏輯單元數(shù)差值。之后,在步驟S1619中微處理器單元202會判斷在步驟S1617中所獲得的邏輯單元數(shù)差值是否小于邏輯單元數(shù)差異門檻值。倘若此邏輯單元數(shù)差值小于邏輯單元數(shù)差異門檻值時,則在步驟S1621中微處理器單元202會執(zhí)行〃交換寫入程序〃,并且步驟S1605會被執(zhí)行。反之,倘若此邏輯單元數(shù)差值非小于邏輯單元數(shù)差異門檻值時,則在步驟S1623中微處理器單元202會執(zhí)行〃一般寫入程序〃,并且步驟S1605會被執(zhí)行。綜上所述,本發(fā)明實施例的存儲器管理與寫入方法、可復寫式非揮發(fā)性存儲器控制器與可復寫式非揮發(fā)性存儲器儲存裝置通過將實體單元分組為對應不同區(qū)塊面的實體單元群并且可利用復制指令執(zhí)行上述"一般寫入程序"以有效地提升寫入數(shù)據(jù)的速度。同時,當實體單元的抹除次數(shù)不平均時,通過上述"交換寫入程序"能夠有效地平均實體單元的磨損,由此延長可復寫式非揮發(fā)性存儲器儲存裝置的壽命。雖然本發(fā)明已以實施例描述如上,然其并非用以限定本發(fā)明,任何所屬
技術領域:
中具有通常知識者,在不脫離本發(fā)明精神和范圍內,都可作些許更動與潤飾,故本發(fā)明保護范圍當以權利要求書為準。權利要求1.一種存儲器管理與寫入方法,用于管理一存儲器芯片的多個實體單元,該存儲器管理與寫入方法包括配置多個邏輯單元;將所述實體單元分組為一第一實體單元群與一第二實體單元群;將該第一實體單元群的部分所述實體單元分組為一第一數(shù)據(jù)區(qū)與對應該第一數(shù)據(jù)區(qū)的一第一備用區(qū);將該第二實體單元群的部分所述實體單元分組為一第二數(shù)據(jù)區(qū)與對應該第二數(shù)據(jù)區(qū)的一第二備用區(qū);將所述邏輯單元映射至該第一數(shù)據(jù)區(qū)與該第二數(shù)據(jù)區(qū)的實體單元;記錄該第一實體單元群與該第二實體單元群的每一所述實體單元的一抹除次數(shù);依據(jù)所述抹除次數(shù)計算該第一實體單元群的一第一抹除次數(shù)與該第二實體單元群的一第二抹除次數(shù),并且計算該第一抹除次數(shù)與該第二抹除次數(shù)之間的一抹除次數(shù)差值;以及,當接收到對應所述邏輯單元之中的一第一邏輯單元的一主機寫入指令與對應該主機寫入指令的新數(shù)據(jù)時,判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值,其中該第一邏輯單元映射該第一數(shù)據(jù)區(qū)的實體單元之中的一第一實體單元,其中當判斷該抹除次數(shù)差值大于該抹除次數(shù)差異門檻值時,執(zhí)行一交換寫入程序,該交換寫入程序包括從該第二備用區(qū)的實體單元之中提取一第二實體單元;以及,將該新數(shù)據(jù)寫入至該第二實體單元中。2.根據(jù)權利要求1所述存儲器管理與寫入方法,其中該交換寫入程序還包括將該第二實體單元關聯(lián)至該第二數(shù)據(jù)區(qū)并且將該第一邏輯單元重新映射至該第二實體單元。3.根據(jù)權利要求1所述存儲器管理與寫入方法,其中當判斷該抹除次數(shù)差值不大于該抹除次數(shù)差異門檻值時,執(zhí)行一一般寫入程序,該一般寫入程序包括從該第一備用區(qū)的實體單元之中提取一第三實體單元;以及,將該新數(shù)據(jù)寫入至該第三實體單元中。4.根據(jù)權利要求3所述存儲器管理與寫入方法,其中該一般寫入程序還包括使用一復制指令組從該第一實體單元中搬移有效舊數(shù)據(jù)至該第三實體單元中,其中該復制指令組是用以將該存儲器芯片中之數(shù)據(jù)在該存儲器芯片中進行重制寫入。5.根據(jù)權利要求3或4所述存儲器管理與寫入方法,其中該一般寫入程序還包括將該第三實體單元關聯(lián)至該第一數(shù)據(jù)區(qū),并且將該第一邏輯單元重新映射至該第三實體單元。6.根據(jù)權利要求2所述存儲器管理與寫入方法,還包括計算一邏輯單元數(shù)差值,其中該邏輯單元數(shù)差值是通過將該第一數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目減去該第二數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目所獲得,判斷該邏輯單元數(shù)差值是否等于一邏輯單元數(shù)差異門檻值,其中當判斷該邏輯單元數(shù)差值等于該邏輯單元數(shù)差異門檻值時,執(zhí)行一平均磨損程序,該平均磨損程序包括從該第一備用區(qū)的實體單元之中提取一第四實體單元;從該第二數(shù)據(jù)區(qū)的實體單元之中選擇一第五實體單元,其中該第五實體單元映射所述邏輯單元之中的一第二邏輯單元;將該第三邏輯單元的有效數(shù)據(jù)搬移至該第四實體單元;以及,將該第四實體單元關聯(lián)至該第一數(shù)據(jù)區(qū),將該第五實體單元關聯(lián)至第二備用區(qū),并且將該第二邏輯單元重新映射至該第四實體單元。7.根據(jù)權利要求1所述存儲器管理與寫入方法,其中在該存儲器芯片中所述實體單元分別地屬于一第一區(qū)塊面與一第二區(qū)塊面,其中將所述實體單元分組為該第一實體單元群與該第二實體單元群的步驟包括將屬于該第一區(qū)塊面的實體單元分組為該第一實體單元群并且將屬于該第二區(qū)塊面的實體單元分組為該第二實體單元群,其中該第一區(qū)塊面所對應的數(shù)據(jù)無法由該復制指令組復制至該第二區(qū)塊面并且該第二區(qū)塊面所對應的數(shù)據(jù)無法由該復制指令組復制至該第一區(qū)塊面。8.根據(jù)權利要求1所述存儲器管理與寫入方法,還包括計算一邏輯單元數(shù)差值,其中該邏輯單元數(shù)差值是通過將該第一數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目減去該第二數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目所獲得,其中判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值的步驟包括判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值且該邏輯單元數(shù)差值是否小于一邏輯單元數(shù)差異門檻值,其中執(zhí)行該交換寫入程序的步驟是在當該抹除次數(shù)差值大于該抹除次數(shù)差異門檻值且該邏輯單元數(shù)差值小于該邏輯單元數(shù)差異門檻值時被執(zhí)行。9.根據(jù)權利要求1所述存儲器管理與寫入方法,還包括為該存儲器芯片配置一抹除計數(shù)值,其中當接收到對應所述邏輯單元之中的該第一邏輯單元的該主機寫入指令與對應該主機寫入指令的該新數(shù)據(jù)時還判斷該抹除計數(shù)值是否等于一預定值,其中判斷該抹除次數(shù)差值是否大于該抹除次數(shù)差異門檻值的步驟是在當該抹除計數(shù)值等于該預定值時被執(zhí)行。10.一種可復寫式非揮發(fā)性存儲器控制器,用于管理一存儲器芯片的多個實體單元,該可復寫式非揮發(fā)性存儲器控制器包括一微處理器單元;一可復寫式非揮發(fā)性存儲器界面單元,電性連接至該微處理器單元,用以電性連接至該存儲器芯片;以及,一存儲器管理單元,電性連接至該微處理器單元,其中該存儲器管理單元具有復數(shù)個程序碼用以供該微處理器單元執(zhí)行至少下列程序配置多個邏輯單元;將所述實體單元分組為一第一實體單元群與一第二實體單元群;將該第一實體單元群的部分所述實體單元分組為一第一數(shù)據(jù)區(qū)與對應該第一數(shù)據(jù)區(qū)的一第一備用區(qū);將該第二實體單元群的部分所述實體單元分組為一第二數(shù)據(jù)區(qū)與對應該第二數(shù)據(jù)區(qū)的一第二備用區(qū);將所述邏輯單元映射至該第一數(shù)據(jù)區(qū)與該第二數(shù)據(jù)區(qū)的實體單元;記錄該第一實體單元群與該第二實體單元群的每一所述實體單元的一抹除次數(shù);依據(jù)所述抹除次數(shù)計算該第一實體單元群的一第一抹除次數(shù)與該第二實體單元群的一第二抹除次數(shù),并且計算該第一抹除次數(shù)與該第二抹除次數(shù)之間的一抹除次數(shù)差值;以及,當接收到對應所述邏輯單元之中的一第一邏輯單元的一主機寫入指令與對應該主機寫入指令的新數(shù)據(jù)時,判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值,其中該第一邏輯單元映射該第一數(shù)據(jù)區(qū)的實體單元之中的一第一實體單元,其中當判斷該抹除次數(shù)差值大于該抹除次數(shù)差異門檻值時,執(zhí)行一交換寫入程序,該交換寫入程序包括從該第二備用區(qū)的實體單元之中提取一第二實體單元;以及,將該新數(shù)據(jù)寫入至該第二實體單元中。11.根據(jù)權利要求10所述可復寫式非揮發(fā)性存儲器控制器,其中該交換寫入程序還包括將該第二實體單元關聯(lián)至該第二數(shù)據(jù)區(qū)并且將該第一邏輯單元重新映射至該第二實體單元。12.根據(jù)權利要求10所述可復寫式非揮發(fā)性存儲器控制器,其中當判斷該抹除次數(shù)差值不大于該抹除次數(shù)差異門檻值時,該存儲器管理單元執(zhí)行一一般寫入程序,該一般寫入程序包括從該第一備用區(qū)的實體單元之中提取一第三實體單元;以及,將該新數(shù)據(jù)寫入至該第三實體單元中。13.根據(jù)權利要求11所述可復寫式非揮發(fā)性存儲器控制器,其中該微處理器單元還用以計算一邏輯單元數(shù)差值以及判斷該邏輯單元數(shù)差值是否等于一邏輯單元數(shù)差異門檻值,其中該邏輯單元數(shù)差值是通過將該第一數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目減去該第二數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目所獲得,其中當判斷該邏輯單元數(shù)差值等于該邏輯單元數(shù)差異門檻值時,該存儲器管理單元還用以執(zhí)行一平均磨損程序,該平均磨損程序包括從該第一備用區(qū)的實體單元之中提取一第四實體單元;從該第二數(shù)據(jù)區(qū)的實體單元之中選擇一第五實體單元,其中該第五實體單元映射所述邏輯單元之中的一第二邏輯單元;將該第三邏輯單元的有效數(shù)據(jù)搬移至該第四實體單元;以及,將該第四實體單元關聯(lián)至該第一數(shù)據(jù)區(qū),將該第五實體單元關聯(lián)至第二備用區(qū),并且將該第二邏輯單元重新映射至該第四實體單元。14.根據(jù)權利要求10所述可復寫式非揮發(fā)性存儲器控制器,其中該微處理器單元還用以計算一邏輯單元數(shù)差值,其中該邏輯單元數(shù)差值是通過將該第一數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目減去該第二數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目所獲得,其中判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值的程序包括判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值且該邏輯單元數(shù)差值是否小于一邏輯單元數(shù)差異門檻值,其中執(zhí)行該交換寫入程序的程序是在當該抹除次數(shù)差值大于該抹除次數(shù)差異門檻值且該邏輯單元數(shù)差值小于該邏輯單元數(shù)差異門檻值時被執(zhí)行。15.一種可復寫式非揮發(fā)性存儲器儲存系統(tǒng),包括一連接器;一存儲器芯片,具有多個實體單元;以及,一可復寫式非揮發(fā)性存儲器控制器,電性連接至該存儲器芯片與該連接器,用以執(zhí)行至少下列程序配置多個邏輯單元;將所述實體單元分組為一第一實體單元群與一第二實體單元群;將該第一實體單元群的部分所述實體單元分組為一第一數(shù)據(jù)區(qū)與對應該第一數(shù)據(jù)區(qū)的一第一備用區(qū);將該第二實體單元群的部分所述實體單元分組為一第二數(shù)據(jù)區(qū)與對應該第二數(shù)據(jù)區(qū)的一第二備用區(qū);將所述邏輯單元映射至該第一數(shù)據(jù)區(qū)與該第二數(shù)據(jù)區(qū)的實體單元;記錄該第一實體單元群與該第二實體單元群的每一所述實體單元的一抹除次數(shù);依據(jù)所述抹除次數(shù)計算該第一實體單元群的一第一抹除次數(shù)與該第二實體單元群的一第二抹除次數(shù),并且計算該第一抹除次數(shù)與該第二抹除次數(shù)之間的一抹除次數(shù)差值;以及,當接收到對應所述邏輯單元之中的一第一邏輯單元的一主機寫入指令與對應該主機寫入指令的新數(shù)據(jù)時,判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值,其中該第一邏輯單元映射該第一數(shù)據(jù)區(qū)的實體單元之中的一第一實體單元,其中當判斷該抹除次數(shù)差值大于該抹除次數(shù)差異門檻值時,執(zhí)行一交換寫入程序,該交換寫入程序包括從該第二備用區(qū)的實體單元之中提取一第二實體單元;以及,將該新數(shù)據(jù)寫入至該第二實體單元中。16.如申請專利范圍第15所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中該交換寫入程序還包括將該第二實體單元關聯(lián)至該第二數(shù)據(jù)區(qū)并且將該第一邏輯單元重新映射至該第二實體單元。17.根據(jù)權利要求15所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中當判斷該平均抹除次數(shù)差值不大于該抹除次數(shù)差異門檻值時,該可復寫式非揮發(fā)性存儲器控制器執(zhí)行一一般寫入程序,該一般寫入程序包括從該第一備用區(qū)的實體單元之中提取一第三實體單元;以及,將該新數(shù)據(jù)寫入至該第三實體單元中。18.根據(jù)權利要求17所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中該一般寫入程序還包括使用一復制指令組從該第一實體單元中搬移有效舊數(shù)據(jù)至該第三實體單元中,其中該復制指令組是用以將該存儲器芯片中之數(shù)據(jù)在該存儲器芯片中進行重制寫入。19.根據(jù)權利要求17或18所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中該一般寫入程序還包括將該第三實體單元關聯(lián)至該第一數(shù)據(jù)區(qū),并且將該第一邏輯單元重新映射至該第三實體單元。20.根據(jù)權利要求16所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中該可復寫式非揮發(fā)性存儲器控制器還用以計算一邏輯單元數(shù)差值以及判斷該邏輯單元數(shù)差值是否等于一邏輯單元數(shù)差異門檻值,其中該邏輯單元數(shù)差值是通過將該第一數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目減去該第二數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目所獲得,其中當判斷該邏輯單元數(shù)差值等于該邏輯單元數(shù)差異門檻值時,該可復寫式非揮發(fā)性存儲器控制器還用以執(zhí)行一平均磨損程序,該平均磨損程序包括從該第一備用區(qū)的實體單元之中提取一第四實體單元;從該第二數(shù)據(jù)區(qū)的實體單元之中選擇一第五實體單元,其中該第五實體單元映射所述邏輯單元之中的一第二邏輯單元;將該第三邏輯單元的有效數(shù)據(jù)搬移至該第四實體單元;以及,將該第四實體單元關聯(lián)至該第一數(shù)據(jù)區(qū),將該第五實體單元關聯(lián)至第二備用區(qū),并且將該第二邏輯單元重新映射至該第四實體單元。21.根據(jù)權利要求15所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中在該存儲器芯片中所述實體單元分別地屬于一第一區(qū)塊面與一第二區(qū)塊面,其中該可復寫式非揮發(fā)性存儲器控制器用以將屬于該第一區(qū)塊面的實體單元分組為該第一實體單元群并且將屬于該第二區(qū)塊面的實體單元分組為該第二實體單元群,其中該第一區(qū)塊面所對應之數(shù)據(jù)無法由該復制指令組復制至該第二區(qū)塊面,并且該第二區(qū)塊面所對應的數(shù)據(jù)無法由該復制指令組復制至該第一區(qū)塊面。22.根據(jù)權利要求15所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中該可復寫式非揮發(fā)性存儲器控制器還用以計算一邏輯單元數(shù)差值,其中該邏輯單元數(shù)差值是通過將該第一數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目減去該第二數(shù)據(jù)區(qū)的實體單元所映射的邏輯單元的數(shù)目所獲得,其中判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值的程序包括判斷該抹除次數(shù)差值是否大于一抹除次數(shù)差異門檻值且該邏輯單元數(shù)差值是否小于一邏輯單元數(shù)差異門檻值,其中執(zhí)行該交換寫入程序的程序是在當該抹除次數(shù)差值大于該抹除次數(shù)差異門檻值且該邏輯單元數(shù)差值小于該邏輯單元數(shù)差異門檻值時被執(zhí)行。23.根據(jù)權利要求15所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中該可復寫式非揮發(fā)性存儲器控制器還用以為該存儲器芯片配置一抹除計數(shù)值,其中當接收到對應所述邏輯單元之中的該第一邏輯單元的該主機寫入指令與對應該主機寫入指令的該新數(shù)據(jù)時該可復寫式非揮發(fā)性存儲器控制器還用以判斷該抹除計數(shù)值是否等于一預定值,其中判斷該抹除次數(shù)差值是否大于該抹除次數(shù)差異門檻值的程序是在當該抹除計數(shù)值等于該預定值時被執(zhí)行。24.根據(jù)權利要求15所述可復寫式非揮發(fā)性存儲器儲存系統(tǒng),其中該存儲器芯片具有多個實體區(qū)塊,所述實體區(qū)塊分別地具有多個實體頁面,并且每一所述實體區(qū)塊的實體頁面可獨立地被寫入且同時地被抹除,其中所述實體單元是由所述實體區(qū)塊所組成。全文摘要本發(fā)明提供一種存儲器管理與寫入方法及其存儲器控制器與儲存系統(tǒng)。存儲器管理與寫入方法用于管理一存儲器芯片的多個實體單元。本方法包括將此些實體單元分組為第一與第二實體單元群,記錄與計算對應第一實體單元群的第一抹除次數(shù)與對應第二實體單元群的第二抹除次數(shù);并且計算第一抹除次數(shù)與第二抹除次數(shù)之間的抹除次數(shù)差值。本方法還包括當接收到主機寫入指令時,判斷抹除次數(shù)差值是否大于抹除次數(shù)差異門檻值。此外,當判斷平均抹除次數(shù)差值大于抹除次數(shù)差異門檻值時,本方法還包括執(zhí)行交換寫入程序以將對應此主機寫入指令的數(shù)據(jù)寫入至存儲器芯片中。基此,可有效地延長存儲器芯片的壽命。文檔編號G06F12/06GK102193869SQ20101012499公開日2011年9月21日申請日期2010年3月1日優(yōu)先權日2010年3月1日發(fā)明者葉志剛申請人:群聯(lián)電子股份有限公司