数据写入方法、存储器控制器与存储器储存装置的制作方法

文档序号:6434116阅读:96来源:国知局

专利名称::数据写入方法、存储器控制器与存储器储存装置的制作方法
技术领域
:本发明涉及一种数据写入方法,尤其涉及一种用于可复写式非易失性存储器模组的数据写入方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
:数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本式计算机。固态硬盘就是一种以闪速存储器作为储存媒体的储存装置。因此,近年闪速存储器产业成为电子产业中相当热门的一环。随着半导体制程技术的发展,多阶存储单元(MultiLevelCell,MLC)反及(NAND)闪速存储器模组已广泛的被使用。由于MLCNAND闪速存储器物理特性,在编程部分的实体页面(physicalpage)时电荷会较不稳定并且邻近的实体页面可能会受到影响。例如,以4阶NAND闪速存储器模组为例,每一个实体区块具有多个实体页面并且此些实体页面可被区分为多个下实体页面与分别地对应此些下实体页面的多个上实体页面,其中一个上实体页面会对应一个下实体页面。也就是说,位于相同的字元线上的存储单元会构成一个实体页面对,并且此实体页面对包括一个下实体页面与一个上实体页面。数据写入至下实体页面的速度大于数据写入至上实体页面的速度,因此,下实体页面亦称为快速实体页面且上实体页面亦称为慢速实体页面。特别是,在编程上实体页面期间发生编程错误时,储存于对应此上实体页面的下实体页面中的数据亦可能会遗失。因此,相对于单阶存储单元(SingleLevelCell,SLC)NAND闪速存储器模组来说,MLCNAND闪速存储器模组虽容量较大,但储存可靠度较差。因此,有需要发展能够增加MLCNAND闪速存储器模组的可靠度的数据写入方法。
发明内容本发明提供一种数据写入方法与存储器控制器,其能够有效地提升写入数据至可复写式非易失性存储器模组的可靠度。本发明提供一种存储器储存装置,其能够可靠地储存数据。本发明的一范例实施例提出一种数据写入方法,用于一可复写式非易失性存储器模组,其中可复写式非易失性存储器模组具有多个实体区块,每一实体区块具有依序排列的多个实体页面,此些实体页面被分组为依序排列的多个实体页面对,每一实体页面对至少包括下实体页面与上实体页面,写入数据至下实体页面的速度大于写入数据至上实体页面的速度。本数据写入方法包括接收写入指令与对应此写入指令的第一数据并且将第一数据写入至此些实体页面之中的第一实体页面,其中第一实体页面属于此些实体页面对之中的第一实体页面对。本数据写入方法也包括在将第一数据写入至第一实体页面之前判断第一实体页面是否为第一实体页面对的上实体页面。本数据写入方法还包括,当第一实体页面为第一实体页面对的上实体页面时,在将第一数据写入至第一实体页面之前判断在备份区中是否存有第二数据,其中第二数据已被写入至第一实体页面对的下实体页面中。本数据写入方法还包括,当备份区未存有第二数据时,在将第一数据写入至第一实体页面之前从第一实体页面对的下实体页面中读取第二数据并且将所读取的第二数据暂存至备份区中。在本发明的一实施例中,上述的数据写入方法还包括,当第一实体页面为第一实体页面对的上实体页面时,在将第一数据写入至第一实体页面之前判断在备份区中是否存有第三数据,其中第三数据已被写入至此些实体页面之中邻近第一实体页面对的下实体页面的其他下实体页面中。此外,本数据写方法还包括,当在备份区中未存有第三数据时,在将第一数据写入至第一实体页面之前从此其他下实体页面中读取第三数据并且将所读取的第三数据暂存至备份区中。在本发明的一实施例中,上述的数据写入方法,还包括,当第一实体页面为第一实体页面对的上实体页面时,在将第一数据写入至第一实体页面之前判断在备份区中是否存有属于邻近第一实体页面对的至少一其他实体页面对的数据,其中在可复写式非易失性存储器模组中此其他实体页面对是排列在第一实体页面对的前面;以及当在备份区中未存有此其他实体页面对的数据时,在将第一数据写入至第一实体页面之前从此其他实体页面对中将此其他实体页面对的数据暂存至备份区中。在本发明的一实施例中,其中每一实体页面对还包括一中实体页面,并且上述数据写入方法还包括,当第一实体页面为第一实体页面对的上实体页面时,在将第一数据写入至第一实体页面之前判断在备份区中是否存有属于第一实体页面对的中实体页面的数据;以及当在备份区中未存有属于第一实体页面对的中实体页面的数据时,在将第一数据写入至第一实体页面之前从第一实体页面对的中实体页面中将属于第一实体页面对的中实体页面的数据暂存至备份区中。在本发明的一实施例中,上述备份区为缓冲存储器。在本发明的一实施例中,上述的数据写入方法还包括将上述实体区块的至少其中之一配置为上述备份区。在本发明的一实施例中,上述的数据写入方法还包括在将第一数据写入至第一实体页面之后,判断在第一实体页面上是否发生编程错误;以及当在第一实体页面上发生该编程错误时,将第一数据与第二数据写入至上述实体页面对之中的第二实体页面对中。本发明的另一范例实施例提出一种存储器控制器,用于操作可复写式非易失性存储器模组,其中此可复写式非易失性存储器模组具有多个实体区块,每一实体区块具有依序排列的多个实体页面,此些实体页面被分组为依序排列的多个实体页面对,每一实体页面对至少包括下实体页面与上实体页面,写入数据至下实体页面的速度大于写入数据至上实体页面的速度。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统;存储器接口用以电性连接至可复写式非易失性存储器模组;并且存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以接收写入指令与对应此写入指令的第一数据,并且将第一数据写入至此些实体页面之中的一第一实体页面,其中第一实体页面属于此些实体页面对之中的第一实体页面对。此外,存储器管理电路还用以在将第一数据写入至第一实体页面之前判断第一实体页面是否为第一实体页面对的上实体页面。并且,其中当第一实体页面为第一实体页面对的上实体页面时,存储器管理电路还用以在将第一数据写入至第一实体页面之前判断在备份区中是否存有第二数据,其中此第二数据已被写入至第一实体页面对的下实体页面中。再者,当备份区未存有该第二数据时,存储器管理电路还用以在将第一数据写入至第一实体页面之前从第一实体页面对的下实体页面中读取第二数据并且将所读取的第二数据暂存至备份区中。在本发明的一实施例中,当第一实体页面为第一实体页面对的上实体页面时,存储器管理电路还用以在将第一数据写入至第一实体页面之前判断在备份区中是否存有第三数据,其中第三数据已被写入至此些实体页面之中邻近第一实体页面对的下实体页面的其他下实体页面中。并且,当在备份区中未存有第三数据时,上述的存储器管理电路还用以在将第一数据写入至第一实体页面之前从此其他下实体页面中读取第三数据并且将所读取的第三数据暂存至备份区。在本发明的一实施例中,当第一实体页面为第一实体页面对的上实体页面时,存储器管理电路还用以在将第一数据写入至第一实体页面之前判断在备份区中是否存有属于邻近第一实体页面对的至少一其他实体页面对的数据,其中在可复写式非易失性存储器模组中此其他实体页面对排列在第一实体页面对的前面。此外,当在备份区中未存有此其他实体页面对的数据时,存储器管理电路还用以在将第一数据写入至第一实体页面之前从此其他实体页面对中将此其他实体页面对的数据暂存至备份区中。在本发明的一实施例中,每一实体页面对还包括一中实体页面。此外,当第一实体页面为第一实体页面对的上实体页面时,存储器管理电路还用以在将第一数据写入至第一实体页面之前判断在备份区中是否存有属于第一实体页面对的中实体页面的数据。再者,当在备份区中未存有属于第一实体页面对的中实体页面的数据时,存储器管理电路还用以在将第一数据写入至第一实体页面之前从第一实体页面对的中实体页面中将属于第一实体页面对的中实体页面的数据暂存至备份区中。在本发明的一实施例中,上述的存储器控制器还包括一缓冲存储器并且上述的备份区为此缓冲存储器。在本发明的一实施例中,上述的存储器管理电路还用以将上述实体区块的至少其中的一配置为上述备份区。在本发明的一实施例中,上述的存储器管理电路还用以在将第一数据写入至第一实体页面之后判断在第一实体页面上是否发生编程错误。并且,当在第一实体页面上发生该编程错误时,存储器管理电路还用以将第一数据与第二数据写入至此些实体页面对之中的第二实体页面对中。本发明的一范例实施例提出一种存储器储存装置,其包括可复写式非易失性存储器模组、连接器与存储器控制器。可复写式非易失性存储器模组具有多个实体区块,其中每一实体区块具有依序排列的多个实体页面,此些实体页面被分组为依序排列的多个实体页面对,每一实体页面对至少包括下实体页面与上实体页面,并且写入数据至下实体页面的速度大于写入数据至上实体页面的速度。连接器用以电性连接至主机系统并且存储器控制器电性连接至此可复写式非易失性存储器模组与连接器。存储器控制器用以接收写入指令与对应写入指令的第一数据,并且将第一数据写入至此些实体页面之中的第一实体页面,其中第一实体页面属于此些实体页面对之中的第一实体页面对。此外,存储器控制器还用以在将第一数据写入至第一实体页面之前判断第一实体页面是否为第一实体页面对的上实体页面。并且,当第一实体页面为第一实体页面对的上实体页面时,存储器控制器还用以在将第一数据写入至第一实体页面之前判断在备份区中是否存有第二数据,其中第二数据已被写入至第一实体页面对的下实体页面中。再者,当备份区未存有第二数据时,存储器控制器还用以在将第一数据写入至第一实体页面之前从第一实体页面对的下实体页面中读取第二数据并且将所读取的第二数据暂存至备份区中。在本发明的一实施例中,当第一实体页面为第一实体页面对的上实体页面时,存储器控制器还用以在将第一数据写入至第一实体页面之前判断在备份区中是否存有第三数据,其中第三数据已被写入至此些实体页面之中邻近第一实体页面对的下实体页面的其他下实体页面中。并且,当在备份区中未存有第三数据时,存储器控制器还用以在将第一数据写入至第一实体页面之前从其他下实体页面中读取第三数据并且将所读取的第三数据暂存至备份区。在本发明的一实施例中,当第一实体页面为第一实体页面对的上实体页面时,存储器控制器还用以在将第一数据写入至第一实体页面之前判断在备份区中是否存有属于邻近第一实体页面对的至少一其他实体页面对的数据,其中在可复写式非易失性存储器模组中此其他实体页面对排列在第一实体页面对的前面。此外,当在备份区中未存有此其他实体页面对的数据时,存储器管理电路还用以在将第一数据写入至第一实体页面之前从此其他实体页面对中将此其他实体页面对的数据暂存至备份区中。在本发明的一实施例中,每一实体页面对还包括一中实体页面。此外,当第一实体页面为第一实体页面对的上实体页面时,存储器控制器还用以在将第一数据写入至第一实体页面之前判断在备份区中是否存有属于第一实体页面对的中实体页面的数据。并且,当在备份区中未存有属于第一实体页面对的中实体页面的数据时,存储器控制器还用以在将第一数据写入至第一实体页面之前从第一实体页面对的中实体页面中将属于第一实体页面对的中实体页面的数据暂存至备份区中。在本发明的一实施例中,上述的存储器储存装置还包括缓冲存储器,其中上述备份区为此缓冲存储器。在本发明的一实施例中,上述的存储器控制器还用以将上述实体区块的至少其中之一配置为上述备份区。在本发明的一实施例中,上述的存储器控制器还用以在将第一数据写入至第一实体页面之后判断在第一实体页面上是否发生编程错误。并且,当在第一实体页面上发生编程错误时,存储器管理电路还用以将第一数据与第二数据写入至此些实体页面对之中的第二实体页面对中。基于上述,本发明范例实施例的数据写入方法、存储器控制器与存储器储存装置能够可靠地执行数据的写入,由此避免因编程错误而遗失数据。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。图1A是根据第一范例实施例所显示的主机系统与存储器储存装置。图1B是根据本发明第一范例实施例所显示的计算机、输入/输出装置与存储器储存装置的示意图。图1C是根据本发明另一范例实施例所显示的主机系统与存储器储存装置的示意图。图2是显示图1A所示的存储器储存装置的概要方框图。图3是根据第一范例实施例所显示的存储器控制器的概要方框图。图4A与图4B是根据第一范例实施例所显示管理可复写式非易失性存储器模组的实体区块的示意图。图5’-图7是根据第一范例实施例所显示的使用子实体区块来写入更新数据的范例。图8是根据第一范例实施例所显示的使用混乱实体区块写入数据的范例示意图。图9A是根据本发明实施例显示4阶NAND闪速存储器两阶段程式的示意图。图9B是根据第一范例实施例所显示的实体区块的实体页面的范例示意图。图10是根据第三范例实施例所显示的数据写入方法的流程图。图11是根据本发明另一范例实施例所显示的数据写入方法的流程图。图12是根据第四范例实施例所显示的数据写入方法的流程图。图13是根据本发明另一范例实施例所显示的数据写入方法的流程图。附图标记1000:主机系统1100:计算机1102:微处理器1104:随机存取存储器1106:输入/输出装置1108:系统总线1110:数据传输接口1202鼠标1204:键盘1206:显示器1208:打印机1212:随身碟1214:记忆卡1216:固态硬盘1310:数码相机1312SD卡1314:丽C卡1316:记忆棒1318:CF卡1320:嵌入式储存装置100:存储器储存装置102:连接器104:存储器控制器106:可复写式非易失性存储器模组302:微控制器304:主机接口306:存储器接口308:存储器管理单元310:存储器写入单元312:存储器读取单元314:存储器抹除单元316:数据处理单元318:数据备份单元320:缓冲存储器410(0)~410(N):实体区块502:数据区504:闲置区506:系统区508:取代区610(0)610(H):逻辑区块710(0)710(K):逻辑存取地址900(0)900(63):实体页面对S1001、S1003、S1005、S1007、S1009:数据写入的步骤S1101、S1103:数据写入的步骤S1201、S1203、S1205、S1207、S1209、S1201、S1203:数据写入的步骤S1301、S1303:数据写入的步骤具体实施方式[第一范例实施例]—般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模组与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。图1A是根据第一范例实施例所显示的主机系统与存储器储存装置。请参照图1A,主机系统1000—般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccessmemory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身碟1212、记忆卡1214或固态硬盘(SolidStateDrive,SSD)1216等的可复写式非易失性存储器储存装置。一般而言,主机系统1000可实质地为可与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。图2是显示图1A所示的存储器储存装置的概要方框图。请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模组106。在本范例实施例中,连接器102是相容于串行高级技术附件(SerialAdvancedTechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、平行高级技术附件(ParallelAdvancedTechnologyAttachment,PATA)标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用串行总线(UniversalSerialBus,USB)标准、安全数码(SecureDigital,SD)接口标准、记忆棒(MemoryStick,MS)接口标准、多媒体储存卡(MultiMediaCard,MMC)接口标准、小型闪速(CompactFlash,CF)接口标准、整合式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其他适合的标准。存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模组106中进行数据的写入、读取、抹除与合并等运作。可复写式非易失性存储器模组106是电性连接至存储器控制器104,并且具有多个实体区块以储存主机系统1000所写入的数据。在本范例实施例中,每一实体区块分别具有多个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。例如,每一实体区块是由128个实体页面所组成,并且每一实体页面的容量为4千位元组(Kilobyte,KB)。然而,必须了解的是,本发明不限于此。更详细来说,实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目的一并被抹除的存储单元。实体页面为编程的最小单元。即,实体页面为更新数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,更新数据的最小单位亦可以是实体扇区或其他大小。每一实体页面通常包括数据位元区与冗余位元区。数据位元区用以储存使用者的数据,而冗余位元区用以储存系统的数据(例如,错误检查与校正码)。在本范例实施例中,可复写式非易失性存储器模组106为多阶存储单元(MultiLevelCelI,MLC)NAND闪速存储器模组。然而,本发明不限于此,可复写式非易失性存储器模组106亦可是其他具有相同特性的存储器模组。图3是根据第一范例实施例所显示的存储器控制器的概要方框图。请参照图3,存储器控制器104包括微控制器302、主机接口304、存储器接口306、存储器管理单元308、存储器写入单元310、存储器读取单元312、存储器抹除单元314、数据处理单元316、数据备份单元318与缓冲存储器320。微控制器302用以控制存储器控制器104的整体运作。主机接口304是电性连接至微控制器302并且用以接收与识别主机系统1000所传送的指令与数据。在本范例实施例中,主机接口304是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口304亦可以是相容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。存储器接口306是电性连接至微控制器302并且用以存取可复写式非易失性存储器模组106。也就是说,欲写入至可复写式非易失性存储器模组106的数据会经由存储器接口306转换为可复写式非易失性存储器模组106所能接受的格式。存储器管理单元308、存储器写入单元310、存储器读取单元312、存储器抹除单元314、数据处理单元316与数据备份单元318是电性连接至微控制器302。在此,存储器管理单元308用以管理可复写式非易失性存储器模组106的实体区块。存储器写入单元310用以对可复写式非易失性存储器模组106下达写入指令以将数据写入至可复写式非易失性存储器模组106中。存储器读取单元312用以对可复写式非易失性存储器模组106下达读取指令以从可复写式非易失性存储器模组106中读取数据。存储器抹除单元314用以对可复写式非易失性存储器模组106下达抹除指令以将数据从可复写式非易失性存储器模组106中抹除。而数据处理单元316用以处理欲写入至可复写式非易失性存储器模组106的数据以及从可复写式非易失性存储器模组106中读取的数据。数据备份单元318用以备份已写入至可复写式非易失性存储器模组106的数据。缓冲存储器320是电性连接至微控制器302并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模组106的数据。例如,缓冲存储器320可以是静态随机存取存储器、动态随机存取存储器等。必须了解的是,图3所显示的存储器控制器仅为一个范例,本发明不限于此。例如,除了上述微控制器302、主机接口304、存储器接口306、存储器管理单元308、存储器写入单元310、存储器读取单元312、存储器抹除单元314、数据处理单元316、数据备份单元318与缓冲存储器320,存储器控制器104亦可还包括电源管理电路与错误检查与校正电路。电源管理电路是电性连接至微控制器302并且用以控制存储器储存装置100的电源。错误检查与校正电路是电性连接至微控制器302并且用以执行一错误校正程序以确保数据的正确性。具体来说,当主机接口304从主机系统1000中接收到主机写入指令时,错误检查与校正电路会为对应此主机写入指令的写入数据(亦称为更新数据)产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),并且存储器写入单元310会将此更新数据与对应的错误校正码写入至可复写式非易失性存储器模组106中。之后,当存储器读取单元312从可复写式非易失性存储器模组106中读取数据时会同时读取此数据对应的错误校正码,并且错误检查与校正电路会依据此错误校正码对所读取的数据执行错误校正程序。图4A与图4B是根据第一范例实施例所显示管理可复写式非易失性存储器模组的实体区块的示意图。请参照图4A,可复写式非易失性存储器模组106具有实体区块410(O)410(N),并且存储器控制器104的存储器管理单元308会将实体区块410(0)410(N)逻辑地分组为(或指派至)数据区(dataarea)502、闲置区(sparearea)504、系统区(systemarea)506与取代区(replacementarea)508。逻辑上属于数据区502与闲置区504的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体区块(亦称为数据实体区块)是被视为已储存数据的实体区块,而闲置区504的实体区块(亦称为闲置实体区块)是用以写入新数据的实体区块。例如,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理单元308会从闲置区504中提取实体区块,数据处理单元316会整理欲写入的数据并且存储器写入单元310会将数据写入至所提取的实体区块中。再例如,当对某一逻辑区块执行数据合并程序时,存储器管理单元308会从闲置区504中提取实体区块作为对应此逻辑区块的新数据实体区块,存储器读取单元312会从可复写式非易失性存储器模组106中读取属于此逻辑区块的有效数据,数据处理单元316会整理此些有效数据,存储器写入单元310会将整理后的有效数据写入至新数据实体区块中,并且存储器管理单元308会将此逻辑区块重新映射至新数据实体区块。特别是,在完成数据合并程序后,存储器管理单元308会将储存无效数据的数据实体区块重新关联(或回收)至闲置区504,以作为下次写入新数据之用。例如,存储器抹除单元314会在实体区块被关联至闲置区504时对此实体区块执行抹除运作或者当实体区块从闲置区504中被提取时对此实体区块执行抹除运作,以使得从闲置区504中所提取的实体区块为可用于写入数据的空实体区块。逻辑上属于系统区506的实体区块是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模组的制造商与型号、可复写式非易失性存储器模组的实体区块数、每一实体区块的实体页面数等。逻辑上属于取代区508中的实体区块是用于坏实体区块取代程序,以取代损坏的实体区块。具体来说,倘若取代区508中仍存有正常的实体区块并且数据区502的实体区块损坏时,存储器管理单元308会从取代区508中提取正常的实体区块来更换损坏的实体区块。基于上述,在存储器储存装置100的运作中,数据区502、闲置区504、系统区506与取代区508的实体区块会动态地变动。例如,用以轮替储存数据的实体区块会变动地属于数据区502或闲置区504。值得一提的是,在本范例实施例中,存储器管理单元308是以每一实体区块为单位来进行管理。然而,本发明不限于此,在另一范例实施例中,存储器管理单元308亦可将实体区块分组为多个实体单元,并且以实体单元为单位来进行管理。例如,每一实体单元可由同一存储器芯片(die)或不同存储器芯片中的至少一个实体区块所组成。请参照图4B,存储器管理单元308会配置逻辑区块610(0)610(H)以映射数据区502的实体区块,其中每一逻辑区块具有多个逻辑页面并且此些逻辑页面是依序地映射对应的数据实体区块的实体页面。例如,在存储器储存装置100被格式化时,逻辑区块610(O)610(H)会初始地映射数据区502的实体区块410(O)410(F-1)。在本发明范例实施例中,存储器管理单元308会维护逻辑区块-实体区块映射表(logicalblock-physicalblockmappingtable)以记录逻辑区块610(0)~610(H)与数据区502的实体区块之间的映射关系。此外,主机系统1000是以逻辑存取地址为单位来存取数据。例如,一个逻辑存取地址为一个逻辑扇区(Sector)。当主机系统1000存取数据时,存储器管理单元308会将对应存储器储存装置100的逻辑存取地址710(O)710(K)转换成对应的逻辑页面内的地址。例如,当主机系统1000欲存取某一逻辑存取地址时,存储器管理单元308会将主机系统1000所存取的逻辑存取地址转换为以对应的逻辑区块、逻辑页面与逻辑偏移(offset)所构成的多维地址,并且通过逻辑区块-实体区块映射表于对应的实体页面中存取数据。在此,偏移是用以定位在一个逻辑页面(或实体页面)中的一个逻辑(或实体)地址,其是定义为此逻辑(或实体)地址与此逻辑页面(或实体页面)的起始地址之间的距离,其中此逻辑(或实体)地址亦称为逻辑(实体)偏移地址。图5图7是根据第一范例实施例所显示的使用子实体区块来写入更新数据的范例。请同时参照图5图7,例如,在逻辑区块610(0)是映射至实体区块410(0)的映射状态下,当存储器控制器104从主机系统1000中接收到写入指令而欲写入数据至属于逻辑区块610(0)的逻辑页面时,存储器控制器104会依据逻辑区块-实体区块映射表识别逻辑区块610(0)目前是映射至实体区块410(0)并且从闲置区504中提取实体区块410(F)来轮替实体区块410(0)。然而,当新数据写入至实体区块410(F)的同时,存储器控制器104不会立刻将实体区块410(0)中的所有有效数据搬移至实体区块410(F)而抹除实体区块410(0)。具体来说,存储器读取单元312会从实体区块410(0)中读取欲写入实体页面之前的有效数据(即,实体区块410(0)的第O实体页面与第I实体页面中的数据)。之后,存储器写入单元310会将实体区块410(0)中欲写入实体页面之前的有效数据写入至实体区块410(F)的第O实体页面与第I实体页面中(如图5所示),并且将新数据写入至实体区块410(F)的第24个实体页面中(如图6所示)。此时,存储器控制器104即完成写入的运作。因为实体区块410(0)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将实体区块410(0)中的有效数据搬移至实体区块410(F)可能会造成无谓的搬移。此外,数据必须依序地写入至实体区块内的实体页面,因此,存储器写入单元310、存储器读取单元312与数据处理单元316仅会先搬移欲写入实体页面之前的有效数据(即,储存在实体区块410(0)的第O实体页面与第I实体页面中数据),并且暂不搬移其余有效数据(即,储存在实体区块410(0)的第5K实体页面中数据)。在本范例实施例中,暂时地维持此等暂态关系的运作称为开启(open)母子区块,并且原实体区块(例如,上述实体区块410(0))称为母实体区块而用以替换母实体区块的实体区块(例如,上述与实体区块410(F))称为子实体区块。之后,当需要将实体区块410(0)与实体区块410(F)的数据合并(merge)时,存储器控制器104会将实体区块410(0)与实体区块410(F)的数据整并至一个实体区块,由此提升实体区块的使用效率。在此,合并母子区块的运作称为数据合并程序或关闭(close)母子区块。例如,如图7所示,当进行关闭母子区块时,存储器读取单元312会从实体区块410(0)中读取剩余的有效数据(即,实体区块410(0)的第5K实体页面中的数据),之后,存储器写入单元310会将实体区块410(O)中剩余的有效数据写入至实体区块410(F)的第5实体页面第K实体页面中,然后存储器抹除单元314会对实体区块410(O)执行抹除操作并存储器管理单元308会将抹除后的实体区块410(0)关联至闲置区504并且将实体区块410(F)关联至数据区502。也就是说,存储器管理单元308会在逻辑区块-实体区块映射表中将逻辑区块610(O)重新映射至实体区块410(F)。此外,在本范例实施例中,存储器管理单元308会建立闲置区实体区块表(未显示)来记录目前被关联至闲置区504的实体区块。值得一提的是,闲置区504中实体区块的数目是有限的,基此,在存储器储存装置100运作期间,已开启的母子区块组的数目亦会受到限制。因此,当存储器储存装置100接收到来自于主机系统1000的写入指令时,倘若已开启母子区块组的数目达到上限时,存储器控制器104需关闭至少一组目前已开启的母子区块组后才可执行此写入指令。除了上述使用子实体区块来写入更新数据外,在本范例实施例中,在本范例实施例中,存储器管理单元308还会从闲置区504中提取至少一实体区块作为混乱(Random)实体区块,以写入更新数据。图8是根据第一范例实施例所显示的使用混乱实体区块写入数据的范例示意图。请参照图8,假设实体区块410(S_1)被提取作为混乱实体区块并且在图6所示的储存状态下主机系统1000欲写入更新数据至逻辑区块610(O)的第I逻辑页面时,存储器写入单元310会将此更新数据写入至混乱实体区块中第一个空的实体页面(例如,实体区块410(S-1)的第O实体页面)中。在本范例实施例中,当目前所使用的混乱实体区块已被写满时,存储器管理单元308会再从闲置区504中提取另一个实体区块作为新的混乱实体区块,直到作为混乱实体区块的实体区块的数目达到预设值为止。具体来说,闲置区504的实体区块是有限的,因此,作为混乱实体区块的实体区块的数目亦会受到限制。当作为混乱实体区块的实体区块的数目达到预设值时,存储器管理单元308、存储器写入单元310、存储器读取单元312与存储器抹除单元314会协同地执行上述数据合并程序,对所储存的数据皆为无效数据的混乱实体区块执行抹除运作并且将已抹除的实体区块关联至闲置区504。由此,在执行下一个写入指令时,存储器管理单元308就可再从闲置区504提取空的实体区块作为混乱实体区块。值得一提的是,尽管图8是以当主机系统1000欲更新的逻辑页面的数据已被写入至子实体区块时,将此更新数据会写入至混乱实体区块的例子来作说明,但混乱实体区块的使用方式不限于此。例如,在本发明另一范例实施例中,存储器写入单元310亦可直接将来自于主机系统1000的更新数据直接地先写入至混乱实体区块,并且之后,存储器管理单元308、存储器写入单元310、存储器读取单元312与存储器抹除单元314再协同地将属于一个逻辑区块的有效数据合并至从闲置区504所提取的一个空实体区块中。在本范例实施例中,可复写式非易失性存储器模组106为MLCNAND型闪速存储器模组。具体来说,NAND型闪速存储器模组可根据每一存储单元可储存的数据位元数而区分为MLCNAND型闪速存储器模组及单阶层存储单元(Single-LevelCell,SLC)NAND型闪速存储器模组。SLCNAND型闪速存储器模组的每个存储单元仅能储存I个位元数据,而MLCNAND型闪速存储器模组的每个存储单元可储存至少2个以上的位元数据。例如,以4阶存储单元NAND型闪速存储器模组为例,每一存储单元可储存2个位元数据(即,"11"、"10"、"00"与"01")。基此,对4阶存储单元闪速存储器模组的写入可区分为2个阶段。第一阶段是下实体页面(lowerphysicalpage)的写入,并且第二阶段为上实体页面(upperphysicalpage)的写入(如图9A所示),其中下实体页面的写入速度会快于上实体页面。因此,MLCNAND型闪速存储器模组的每一个实体区块的实体页面可被区分为慢速实体页面(即,上实体页面)与快速实体页面(即,下实体页面)。特别是,相较于上实体页面来说,下实体页面的储存可靠度较高。类似地,在8阶存储单元NAND型闪速存储器模组或16阶存储单元NAND型闪速存储器模组的案例中,存储单元可储存更多位元数据并且会以更多阶段来写入。例如,在8阶存储单元NAND型闪速存储器模组中,每一个实体区块的实体页面可被区分为慢速实体页面(即,上实体页面)、中速实体页面(即,中实体页面与快速实体页面(即,下实体页面)。图9B是根据第一范例实施例所显示的实体区块的实体页面的范例示意图,其显示4阶存储单元闪速存储器模组的实体区块的实体页面配置。请参照图9B,实体区块具有127个实体页面并且此些实体页面可分组为依序排列的实体页面对900(O)900(63),其中每一个实体页面对是由一个上实体页面与一个下实体页面所组成。值得一提的是,一个实体页面对的实体页面是由同一组存储单元所组成,并且上实体页面是在下实体页面完成编程之后才会被编程(如图9A所示),因此,倘若在上实体页面上发生编程错误时,已储存于下实体页面上的数据可能会因此遗失。为了避免已储存于下实体页面的数据因上实体页面的编程错误而遗失,在本范例实施例中,当存储器写入单元310将数据(以下称为第一数据)写入至实体区块(例如,上述子实体区块或混乱实体区块)的实体页面(以下称为第一实体页面)之前,数据备份单元318会判断第一实体页面是否属于上实体页面。倘若存储器写入单元310欲写入的实体页面属于上实体页面时,数据备份单元318会判断备份区是否存有已写入至此实体页面所属的实体页面对的下实体页面(以下称为对应下实体页面)的数据(以下称为第二数据)。倘若备份区未存有已写入至此对应下实体页面的第二数据时,数据备份单元318会指示数据读取单元312从此对应的下实体页面中读取第二数据并且将所读取的第二数据暂存在备份区中。在确定备份区存有已写入至此对应下实体页面的第二数据之后,存储器写入单元310才会对第一实体页面执行编程指令以写入第一数据。之后,在将第一数据写入至第一实体页面之后,存储器管理单元308会判断是否发生编程错误。特别是,倘若发生编程错误时,存储器管理单元308会重新选择另一个实体页面对并且存储器写入单元310会将第一数据与第二数据写入至所重新选择的实体页面对中。例如,以图9A为例,在存储器写入单元310欲写入数据至第9实体页面之前,数据备份单元318会判断备份区是否存有已写入至第3实体页面的数据。倘若备份区未存有已写入至第3实体页面的数据时,数据备份单元318会指示数据读取单元312从第3实体页面中读取数据并且将所读取的数据暂存于备份区中。在本范例实施例中,备份区为缓冲存储器320。然而,本发明不限于此,在本发明另一范例实施例中,存储器管理单元308亦可从闲置区504或系统区506提取至少一个实体区块并且将此实体区块用作为备份区。基于上述,本范例实施例的存储器控制器104对可复写式非易失性存储器模组106进行写入运作时可有效地确保所写入的数据的可靠性。值得一提的是,尽管在本范例实施例中,是以4阶存储单元闪速存储器模组来作说明,但本发明不限于此。例如,以8阶存储单元闪速存储器模组为例,数据备份单元318还会备份中实体页面的数据。具体来说,在将数据写入至一个实体页面对的一个上实体页面之前,除了将此实体页面对的下实体页面的数据暂存至备份区之外,数据备份单元318还判断备份区是否存有此实体页面对的中实体页面的数据,并且倘若备份区未存有此实体页面对的中实体页面的数据时,数据备份单元318还将此实体页面对的中实体页面的数据暂存至备份区。[第二范例实施例]第二范例实施例的存储器储存装置的结构本质上是相同于第一范例实施例的存储器储存装置,其差异仅在于第二范例实施例的存储器控制器还会备份已写入至其他下实体页面中的数据。以下将配合揭示于第一范例实施例的硬件元件来说明第二范例实施例与第一范例实施例的差异之处。如上所述,当在一个实体页面对的上实体页面上发生编程错误时,此实体页面对的下实体页面的数据亦可能会遗失。特别是,在某些情况下,邻近于此下实体页面的其他下实体页面中的数据亦可能会遗失。为解决此问题,在第二范例实施例中,在将对应下实体页面的数据暂存至备份区之后,数据备份单元318还会判断备份区中是否存有邻近此对应下实体页面的其他下实体页面的数据(以下称为第三数据)。倘若备份区中未存有第三数据时,数据备份单元318还会指示数据读取单元312从此其他下实体页面中读取数据并且将所读取的数据暂存于备份区中。例如,以图9A为例,在存储器写入单元310欲写入数据至第9实体页面之前,数据备份单元318会判断备份区是否存有已写入至第3实体页面的数据。倘若备份区未存有已写入至第3实体页面的数据时,数据备份单元318会指示数据读取单元312从第3实体页面中读取数据并且将所读取的数据暂存于备份区中。之后,数据备份单元318还会判断备份区是否存有已写入至第2实体页面的数据。倘若备份区未存有已写入至第2实体页面的数据时,数据备份单元318会指示数据读取单元312从第2实体页面中读取数据并且将所读取的数据暂存于备份区中。必须了解的是,尽管在本范例实施例中是以一个其他下实体页面为例来作说明,但本发明不限于此。在本发明另一范例实施例中,数据备份单元318亦可判断备份区是否存有其他多个下实体页面(例如,第2、1、0等实体页面)的数据,并且备份多个其他下实体页面的数据,以更确保在发生数据遗失时此些遗失的数据可被回复。值得一提的是,尽管在本范例实施例中,在将欲写入的上实体页面所对应的下实体页面的数据暂存至备份区之后,数据备份单元318是对邻近此对应下实体页面的其他下实体页面的数据进行备份,然而本发明不限于此。在本发明另一范例实施例中,在将数据写入至一个实体页面对的上实体页面之前,除了将此实体页面对的下实体页面的数据暂存至备份区之外,数据备份单元318还判断备份区是否存有排列在此实体页面对之前的其他实体页面对(例如,排列在此实体页面对的前一个实体页面对)的数据,并且倘若备份区未存有排列在此实体页面对之前的其他实体页面对的数据时,数据备份单元318还将排列在此实体页面对之前的其他实体页面对的数据暂存至备份区。也就是说,可能会因编程一个上实体页面而影响的其他实体页面对的数据都会被暂存至备份区。[第三范例实施例]在第一范例实施例中,存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元、数据处理单元与数据备份单元是以硬件架构来实作,但本发明不限于此。在第三范例实施例中,存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元、数据处理单元与数据备份单元所执行的功能亦可以固件型式来实作。例如,实作上述存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元、数据处理单元与数据备份单元的功能的控制指令可被烧录至配置于存储器控制器的只读存储器中。当存储器储存装置100运作时,此些控制指令会由微控制器来执行。此外,在本发明另一范例实施例中,实作存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元、数据处理单元与数据备份单元的功能的控制指令亦可以程序码型式储存于可复写式非易失性存储器模组的特定区域(例如,可复写式非易失性存储器模组中专用于存放系统数据的系统区)中。例如,只读存储器(未显示)及随机存取存储器(未显示)会被配置在存储器控制器中,并且此只读存储器具有一驱动码段。当存储器控制器被致能时,微控制器会先执行此驱动码段来将储存于可复写式非易失性存储器模组中的控制指令载入至此随机存取存储器中,之后再运转此些控制指令。也就是说,第一范例实施例所揭示的数据写入运作亦可以程序码来实作。以下以一流程图说明此程序码的运作。图10是根据第三范例实施例所显示的数据写入方法的流程图。请参照图10,在步骤S1001,接收写入指令与对应此写入指令的数据(以下称为第一数据)。在步骤S1003中,判断欲用以写入此第一数据的实体页面(以下称为第一实体页面)是否为上实体页面。倘若第一实体页面非为上实体页面时,在步骤S1005中,将第一数据写入至第一实体页面。具体来说,用于将第一数据写入至第一实体页面的编程指令会被传送给可复写式非易失性存储器模组106。倘若第一实体页面为上实体页面时,在步骤S1007中,判断在备份区中是否存有已被写入至第一实体页面所属的实体页面对(以下称为第一实体页面对)的下实体页面中的数据(以下称为第二数据)。倘若备份区存有第二数据时,上述步骤S1005会被执行。倘若备份区未存有第二数据时,在步骤S1009中,从第一实体页面对的下实体页面中读取第二数据并且将所读取的第二数据暂存至备份区中。之后,步骤S1005会被执行。值得一提的是,图10的流程可还包括在执行步骤S1005之后,判断在第一实体页面上是否发生编程错误,并且当在第一实体页面上发生编程错误时,将第一数据与第二数据写入至另一个实体页面对中。例如,另一个实体页面对(以下称为第二实体页面对)会被选择并且第一数据会被写入至第二实体页面对的下实体页面并且第二数据会被写入至第二实体页面对的上实体页面。尽管在本范例实施例中,是以4阶存储单元闪速存储器模组来作说明,但本发明不限于此。例如,以8阶存储单元闪速存储器模组为例,图10的流程可还包括在将数据写入至第一实体页面对的上实体页面之前,判断备份区是否存有第一实体页面对的中实体页面的数据(如图11的步骤S1101);并且倘若备份区未存有第一实体页面对的中实体页面的数据时,将第一实体页面对的中实体页面的数据暂存至备份区(如图11的步骤S1103)。[第四范例实施例]在第二范例实施例中,存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元、数据处理单元与数据备份单元是以硬件架构来实作,但本发明不限于此。在第四范例实施例中,存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元、数据处理单元与数据备份单元所执行的功能亦可以固件型式来实作。也就是说,第二范例实施例所揭示的数据写入运作亦可以程序码来实作。以下以一流程图说明此程序码的运作。图12是根据第四范例实施例所显示的数据写入方法的流程图。请参照图12,在步骤S1201,接收写入指令与对应此写入指令的数据(以下称为第一数据)。在步骤S1203中,判断欲用以写入此第一数据的实体页面(以下称为第一实体页面)是否为上实体页面。倘若第一实体页面非为上实体页面时,在步骤S1205中,将第一数据写入至第一实体页面。具体来说,用于将第一数据写入至第一实体页面的编程指令会被传送给可复写式非易失性存储器模组106。倘若第一实体页面为上实体页面时,在步骤S1207中,判断在备份区中是否存有已被写入至第一实体页面所属的实体页面对(以下称为第一实体页面对)的下实体页面中的数据(以下称为第二数据)。倘若备份区存有第二数据时,上述步骤S1205会被执行。倘若备份区未存有第二数据时,在步骤S1209中,从第一实体页面对的下实体页面中读取第二数据并且将所读取的第二数据暂存至备份区中。之后,在步骤S1211中,判断备用区是否存有已被写入至邻近第一实体页面对的下实体页面的其他下实体页面的数据(以下称为第三数据)。倘若备份区存有第三数据时,上述步骤S1205会被执行。倘若备份区未存有第三数据时,在步骤S1213中,从邻近第一实体页面对的下实体页面的其他下实体页面中读取第三数据并且将所读取的第三数据暂存至备份区中。之后,步骤S1205会被执行。值得一提的是,尽管在本范例实施例中,图12的流程是在将欲写入的上实体页面所对应的下实体页面的数据暂存至备份区之后,对邻近此对应下实体页面的其他下实体页面的数据进行备份,然而本发明不限于此。例如,如图13所示,根据本发明另一范例实施例的数据写入流程是判断备份区是否存有排列在此实体页面对之前的其他实体页面对(例如,排列在此实体页面对的前一个实体页面对)的数据(步骤S1301),并且倘若备份区未存有排列在此实体页面对之前的其他实体页面对的数据时,将排列在此实体页面对之前的其他实体页面对的数据暂存至备份区(步骤S1303)。综上所述,本发明范例实施例的数据写入方法、存储器控制器与存储器储存装置能够在将数据写入至可复写式非易失性存储器模组时确保数据的可靠度。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属
技术领域
中的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。权利要求1.一种数据写入方法,用于一可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组具有多个实体区块,每一该些实体区块具有依序排列的多个实体页面,该些实体页面被分组为依序排列的多个实体页面对,每一该些实体页面对至少包括一下实体页面与一上实体页面,写入数据至该下实体页面的速度大于写入数据至该上实体页面的速度,该数据写入方法包括接收一写入指令与对应该写入指令的一第一数据;将该第一数据写入至该些实体页面之中的一第一实体页面,其中该第一实体页面属于该些实体页面对之中的一第一实体页面对;在将该第一数据写入至该第一实体页面之前判断该第一实体页面是否为该第一实体页面对的该上实体页面;当该第一实体页面为该第一实体页面对的该上实体页面时,在将该第一数据写入至该第一实体页面之前判断在一备份区中是否存有一第二数据,其中该第二数据已被写入至该第一实体页面对的该下实体页面中;以及当该备份区未存有该第二数据时,在将该第一数据写入至该第一实体页面之前从该第一实体页面对的该下实体页面中读取该第二数据并且将所读取的该第二数据暂存至该备份区中。2.根据权利要求1所述的数据写入方法,其中还包括当该第一实体页面为该第一实体页面对的该上实体页面时,在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有一第三数据,其中该第三数据已被写入至该些实体页面之中邻近该第一实体页面对的该下实体页面的一其他下实体页面中;以及当在该备份区中未存有该第三数据时,在将该第一数据写入至该第一实体页面之前从该其他下实体页面中读取该第三数据并且将所读取的该第三数据暂存至该备份区中。3.根据权利要求1所述的数据写入方法,其中还包括当该第一实体页面为该第一实体页面对的该上实体页面时,在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有属于该些实体页面对之中邻近该第一实体页面对的至少一其他实体页面对的数据,其中在该可复写式非易失性存储器模组中该至少一其他实体页面对排列在该第一实体页面对的前面;以及当在该备份区中未存有该至少一其他实体页面对的数据时,在将该第一数据写入至该第一实体页面之前从该至少一其他实体页面对中将该至少一其他实体页面对的数据暂存至该备份区中。4.根据权利要求1所述的数据写入方法,其中每一该些实体页面对还包括一中实体页面,并且该数据写入方法还包括当该第一实体页面为该第一实体页面对的该上实体页面时,在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有属于该第一实体页面对的该中实体页面的数据;以及当在该备份区中未存有属于该第一实体页面对的该中实体页面的数据时,在将该第一数据写入至该第一实体页面之前从该第一实体页面对的该中实体页面中将属于该第一实体页面对的该中实体页面的数据暂存至该备份区中。5.根据权利要求1所述的数据写入方法,其中该备份区为一缓冲存储器。6.根据权利要求1所述的数据写入方法,其中还包括将该些实体区块的至少其中之一配置为该备份区。7.根据权利要求1所述的数据写入方法,其中还包括在将该第一数据写入至该第一实体页面之后,判断在该第一实体页面上是否发生一编程错误;以及当在该第一实体页面上发生该编程错误时,将该第一数据与该第二数据写入至该些实体页面对之中的一第二实体页面对中。8.一种存储器控制器,用于操作一可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组具有多个实体区块,每一该些实体区块具有依序排列的多个实体页面,该些实体页面被分组为依序排列的多个实体页面对,每一该些实体页面对至少包括一下实体页面与一上实体页面,写入数据至该下实体页面的速度大于写入数据至该上实体页面的速度,该存储器控制器包括一主机接口,用以电性连接至一主机系统;一存储器接口,用以电性连接至该可复写式非易失性存储器模组;以及一存储器管理电路,电性连接至该主机接口与该存储器接口。其中该存储器管理电路用以接收一写入指令与对应该写入指令的一第一数据,并且将该第一数据写入至该些实体页面之中的一第一实体页面,其中该第一实体页面属于该些实体页面对之中的一第一实体页面对,其中该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前判断该第一实体页面是否为该第一实体页面对的该上实体页面,其中当该第一实体页面为该第一实体页面对的该上实体页面时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前判断在一备份区中是否存有一第二数据,其中该第二数据已被写入至该第一实体页面对的该下实体页面中,其中当该备份区未存有该第二数据时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前从该第一实体页面对的该下实体页面中读取该第二数据并且将所读取的该第二数据暂存至该备份区中。9.根据权利要求8所述的存储器控制器,其中当该第一实体页面为该第一实体页面对的该上实体页面时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有一第三数据,其中该第三数据已被写入至该些实体页面之中邻近该第一实体页面对的该下实体页面的一其他下实体页面中,其中当在该备份区中未存有该第三数据时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前从该其他下实体页面中读取该第三数据并且将所读取的该第三数据暂存至该备份区中。10.根据权利要求8所述的存储器控制器,其中当该第一实体页面为该第一实体页面对的该上实体页面时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有属于该些实体页面对之中邻近该第一实体页面对的至少一其他实体页面对的数据,其中在该可复写式非易失性存储器模组中该至少一其他实体页面对排列在该第一实体页面对的前面,其中当在该备份区中未存有该至少一其他实体页面对的数据时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前从该至少一其他实体页面对中将该至少一其他实体页面对的数据暂存至该备份区中。11.根据权利要求8所述的存储器控制器,其中每一该些实体页面对还包括一中实体页面,其中当该第一实体页面为该第一实体页面对的该上实体页面时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有属于该第一实体页面对的该中实体页面的数据,其中当在该备份区中未存有属于该第一实体页面对的该中实体页面的数据时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前从该第一实体页面对的该中实体页面中将属于该第一实体页面对的该中实体页面的数据暂存至该备份区中。12.根据权利要求8所述的存储器控制器,其中还包括一缓冲存储器并且该备份区为该缓冲存储器。13.根据权利要求8所述的资存储器控制器,其中该存储器管理电路还用以将该些实体区块的至少其中之一配置为该备份区。14.根据权利要求8所述的存储器控制器,其中该存储器管理电路还用以在将该第一数据写入至该第一实体页面之后判断在该第一实体页面上是否发生一编程错误,其中当在该第一实体页面上发生该编程错误时,该存储器管理电路还用以将该第一数据与该第二数据写入至该些实体页面对之中的一第二实体页面对中。15.一种存储器储存装置,包括一可复写式非易失性存储器模组,具有多个实体区块,其中每一该些实体区块具有依序排列的多个实体页面,该些实体页面被分组为依序排列的多个实体页面对,每一该些实体页面对至少包括一下实体页面与一上实体页面,并且写入数据至该下实体页面的速度大于写入数据至该上实体页面的速度;一连接器,用以电性连接至一主机系统;以及一存储器控制器,电性连接至该可复写式非易失性存储器模组与该连接器。其中该存储器控制器用以接收一写入指令与对应该写入指令的一第一数据,并且将该第一数据写入至该些实体页面之中的一第一实体页面,其中该第一实体页面属于该些实体页面对之中的一第一实体页面对,其中该存储器控制器还用以在将该第一数据写入至该第一实体页面之前判断该第一实体页面是否为该第一实体页面对的该上实体页面,其中当该第一实体页面为该第一实体页面对的该上实体页面时,该存储器控制器还用以在将该第一数据写入至该第一实体页面之前判断在一备份区中是否存有一第二数据,其中该第二数据已被写入至该第一实体页面对的该下实体页面中,其中当该备份区未存有该第二数据时,该存储器控制器还用以在将该第一数据写入至该第一实体页面之前从该第一实体页面对的该下实体页面中读取该第二数据并且将所读取的该第二数据暂存至该备份区中。16.根据权利要求15所述的存储器储存装置,其中当该第一实体页面为该第一实体页面对的该上实体页面时,该存储器控制器还用以在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有一第三数据,其中该第三数据已被写入至该些实体页面之中邻近该第一实体页面对的该下实体页面的一其他下实体页面中,其中当在该备份区中未存有该第三数据时,该存储器控制器还用以在将该第一数据写入至该第一实体页面之前从该其他下实体页面中读取该第三数据并且将所读取的该第三数据暂存至该备份区中。17.根据权利要求15所述的存储器储存装置,其中当该第一实体页面为该第一实体页面对的该上实体页面时,该存储器控制器还用以在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有属于该些实体页面对之中邻近该第一实体页面对的至少一其他实体页面对的数据,其中在该可复写式非易失性存储器模组中该至少一其他实体页面对排列在该第一实体页面对的前面,其中当在该备份区中未存有该至少一其他实体页面对的数据时,该存储器管理电路还用以在将该第一数据写入至该第一实体页面之前从该至少一其他实体页面对中将该至少一其他实体页面对的数据暂存至该备份区中。18.根据权利要求15所述的存储器储存装置,其中每一该些实体页面对还包括一中实体页面,其中当该第一实体页面为该第一实体页面对的该上实体页面时,该存储器控制器还用以在将该第一数据写入至该第一实体页面之前判断在该备份区中是否存有属于该第一实体页面对的该中实体页面的数据,其中当在该备份区中未存有属于该第一实体页面对的该中实体页面的数据时,该存储器控制器还用以在将该第一数据写入至该第一实体页面之前从该第一实体页面对的该中实体页面中将属于该第一实体页面对的该中实体页面的数据暂存至该备份区中。19.根据权利要求15所述的存储器储存装置,还包括一缓冲存储器,其中该备份区为该缓冲存储器。20.根据权利要求15所述的资存储器储存装置,其中该存储器控制器还用以将该些实体区块的至少其中之一配置为该备份区。21.根据权利要求15所述的存储器储存装置,其中该存储器控制器还用以在将该第一数据写入至该第一实体页面之后判断在该第一实体页面上是否发生一编程错误,其中当在该第一实体页面上发生该编程错误时,该存储器管理电路还用以将该第一数据与该第二数据写入至该些实体页面对之中的一第二实体页面对中。全文摘要一种数据写入方法、存储器控制器与存储器储存装置,用于可复写式非易失性存储器模组,其中可复写式非易失性存储器模组具有多个下实体页面与分别地对应下实体页面的多个上实体页面。本方法包括在将第一数据写入至实体页面之前,判断此实体页面是否为上实体页面;当此实体页面为上实体页面时,判断在备份区中是否存有已被写入至对应此实体页面的下实体页面的第二数据;以及当备份区未存有第二数据时,在将第一数据写入至此实体页面之前从对应此实体页面的下实体页面中将第二数据备份至备份区中。基此,本方法可有效地避免因编程错误而造成的数据遗失。文档编号G06F12/06GK103019952SQ20111028786公开日2013年4月3日申请日期2011年9月26日优先权日2011年9月26日发明者叶志刚申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1