映射表更新方法、存储器控制电路单元及存储器存储装置与流程

文档序号:18850573发布日期:2019-10-13 00:49阅读:145来源:国知局
本发明是有关于一种的映射表更新方法,尤其涉及一种用于可复写式非易失性存储器模块的逻辑地址-实体地址的映射表更新方法、存储器控制电路单元及存储器存储装置。
背景技术
::数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,因此,近年可复写式非易失性存储器产业成为电子产业中相当热门的一环。例如,以闪存作为存储媒体的固态硬盘(Solid-statedrive)已广泛应用作为计算机主机的硬盘,以提升计算机的存取效能。使用可复写式非易失性存储器模块作为存储媒体的存储器存储装置会建立逻辑地址-实体地址映射表来记录逻辑单元与实体单元之间的映射信息,使主机系统可顺利存取可复写式非易失性存储器模块的数据。例如,当主机系统欲写入数据时,存储器存储装置可将此数据编程至实体单元,并将此数据的逻辑单元与实体单元的映射关系更新至逻辑地址-实体地址映射表。具体而言,存储器存储装置会将对应此逻辑单元的逻辑地址-实体地址映射表加载至缓冲存储器来更新。而由于主机系统每次欲写入数据的逻辑单元可能对应于不同的逻辑地址-实体地址映射表,为避免频繁地更新逻辑地址-实体地址映射表,存储器存储装置会分配一暂存空间以存储暂存映射表,且将欲写入的数据编程至作动实体擦除单元,并将数据所属的逻辑单元与作动实体擦除单元的映射关系存储在暂存空间中。当暂存空间已满时,再将存储在暂存空间中的暂存映射表的映射信息一次更新至逻辑地址-实体地址映射表。然而,实际可编程至每个实体单元的数据量可能不同(例如,数据经过压缩),也就是说,每个实体单元可能映射到不同数量的逻辑单元。因此,暂存映射表中对应每个实体单元的映射信息大小也会不同。如此一来,当暂存空间已满时,可能形成作动实体擦除单元尚未被写满的情况。而在此情况下,由于暂存空间已满,存储器存储装置的控制电路会将暂存空间中所存储的暂存映射表的映射信息更新至逻辑地址-实体地址映射表,并将后续欲写入的数据根据编程顺序编程至作动实体擦除单元中尚未被编程的实体编程单元。例如,多阶存储单元(MultiLevelCell,MLC)NAND闪存的实体擦除单元包括下实体编程单元(又称快速页面)与上实体编程单元(又称慢速页面)。在将暂存映射表的映射信息更新至逻辑地址-实体地址映射表之后,倘若根据编程顺序而将欲写入的数据编程至作动实体擦除单元中的上实体编程单元时,发生编程错误(例如,发生不预期断电),会导致对应此上实体编程单元的已编程的下实体编程单元的数据也发生错误。但由于逻辑地址-实体地址映射表已被更新,已无从得知此数据的旧地址,而发生此数据无法恢复的状况。技术实现要素:本发明实施例提供一种映射表更新方法、存储器控制电路单元及存储器存储装置,其能够有效率地更新逻辑地址-实体地址映射表,并避免更新逻辑地址-实体地址映射表后,已编程的数据因其它实体编程单元的编程失败而无法恢复的状况。本发明一实施例提出一种映射表更新方法,以用于存储器存储装置。存储器存储装置具有可复写式非易失性存储器模块。可复写式非易失性存储器模块具有多个实体擦除单元,每一实体擦除单元具有多个实体编程单元。映射表更新方法包括:在缓冲存储器中分配映射表存储空间,以存储实体地址-逻辑地址映射表;判断映射表存储空间中的剩余存储空间是否小于一第一门槛值;倘若判断剩余存储空间小于第一门槛值,则将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至至少一逻辑地址-实体地址映射表;清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息;以及将属于多个逻辑编程单元的多笔写入数据编程至所述实体擦除单元之中的一个作动实体擦除单元的多个实体编程单元,建立编程所述写入数据的实体编程单元与逻辑编程单元之间的多个更新映射信息,并且将所述更新映射信息存储至映射表存储空间中。在本发明的一实施例中,上述将所述更新映射信息存储至映射表存储空间中的步骤包括:当将所述更新映射信息的其中一部分存储至映射表存储空间并且映射表存储空间中的剩余存储空间不大于第二门槛值时,判断作动实体擦除单元中是否存有至少一第一实体编程单元,其中所述至少一第一实体编程单元为下实体编程单元,所述至少一第一实体编程单元已编程有效数据且对应所述至少一第一实体编程单元的上实体编程单元未被编程;倘若判断作动实体擦除单元中存有所述至少一第一实体编程单元时,则将虚拟数据编程至对应所述至少一第一实体编程单元的上实体编程单元;在将虚拟数据编程至对应所述至少一第一实体编程单元的上实体编程单元之后,将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至至少一逻辑地址-实体地址映射表;以及清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息并且将所述更新映射信息的其余部分存储至映射表存储空间中。在本发明的一实施例中,上述映射表存储空间中已存储对应多个已编程实体擦除单元的多个更新映射信息。在本发明的一实施例中,上述的映射表更新方法还包括:计算对应所述已编程实体擦除单元的其中一个已编程实体擦除单元的更新映射信息的大小,其中所述其中一个已编程实体擦除单元为在将所述写入数据编程至作动实体擦除单元的多个实体编程单元之前最后编程的实体擦除单元;以及设定其中一个已编程实体擦除单元的更新映射信息的大小作为第一门槛值。在本发明的一实施例中,上述的映射表更新方法还包括:计算对应每一已编程实体擦除单元的更新映射信息的大小;计算所述已编程实体擦除单元的更新映射信息的大小的平均值;以及设定平均值作为第一门槛值。在本发明的一实施例中,上述的映射表更新方法还包括:计算对应每一已编程实体擦除单元的更新映射信息的大小;识别对应所述已编程实体擦除单元的更新映射信息的大小之中的最大值;以及设定最大值作为第一门槛值。在本发明的一实施例中,上述写入数据之中的至少一部分数据是将从主机系统所接收的多笔原始数据压缩后所产生的数据。本发明一实施例提出一种存储器控制电路单元,用于控制存储器存储装置的可复写式非易失性存储器模块。其中可复写式非易失性存储器模块具有多个实体擦除单元,每一实体擦除单元具有多个实体编程单元。存储器控制电路单元包括:主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统;存储器接口用以电性连接至可复写式非易失性存储器模块;且存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以在缓冲存储器中分配映射表存储空间,以存储实体地址-逻辑地址映射表,此外,存储器管理电路还用以判断映射表存储空间中的剩余存储空间是否小于一第一门槛值。倘若判断剩余存储空间小于第一门槛值,存储器管理电路还用以将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至至少一逻辑地址-实体地址映射表。再者,存储器管理电路还用以清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息。另外,存储器管理电路还用以将属于多个逻辑编程单元的多笔写入数据编程至所述实体擦除单元之中的一个作动实体擦除单元的多个实体编程单元,建立编程所述写入数据的实体编程单元与该些逻辑编程单元之间的多个更新映射信息,并且将所述更新映射信息存储至映射表存储空间中。在本发明的一实施例中,当将所述更新映射信息的其中一部分存储至映射表存储空间且映射表存储空间的剩余存储空间不大于第二门槛值时,存储器管理电路还用以判断作动实体擦除单元中是否存有至少一第一实体编程单元,其中所述至少一第一实体编程单元为下实体编程单元,所述至少一第一实体编程单元已编程有效数据且对应该所述至少一第一实体编程单元的上实体编程单元未被编程。此外,倘若判断作动实体擦除单元中存有所述至少一第一实体编程单元时,存储器管理电路还用以将虚拟数据编程至对应所述至少一第一实体编程单元的上实体编程单元。并且,在将虚拟数据编程至对应所述至少一第一实体编程单元的上实体编程单元之后,存储器管理电路还用以将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至至少一逻辑地址-实体地址映射表。再者,存储器管理电路还用以清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息并且将所述更新映射信息的其余部分存储至映射表存储空间中。在本发明的一实施例中,上述映射表存储空间中已存储对应多个已编程实体擦除单元的多个更新映射信息。在本发明的一实施例中,上述存储器管理电路还用以计算对应所述已编程实体擦除单元的其中一个已编程实体擦除单元的更新映射信息的大小,其中所述其中一个已编程实体擦除单元为在将所述写入数据编程至作动实体擦除单元的多个实体编程单元之前最后编程的实体擦除单元。并且,存储器管理电路还用以设定所述其中一个已编程实体擦除单元的更新映射信息的大小作为第一门槛值。在本发明的一实施例中,上述存储器管理电路还用以计算对应每一已编程实体擦除单元的更新映射信息的大小。此外,存储器管理电路还用以计算所述已编程实体擦除单元的更新映射信息的大小的平均值,并设定此平均值作为第一门槛值。在本发明的一实施例中,上述存储器管理电路还用以计算对应每一已编程实体擦除单元的更新映射信息的大小。此外,存储器管理电路还用以识别对应所述已编程实体擦除单元的更新映射信息的大小之中的最大值,并设定此最大值作为第一门槛值。在本发明的一实施例中,上述写入数据之中的至少一部分数据是通过上述存储器管理电路将从主机系统所接收的多笔原始数据压缩后所产生的数据。本发明一实施例提出一种存储器存储装置,包括:连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元用以电性连接至主机系统;可复写式非易失性存储器模块包括多个实体擦除单元;存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。存储器控制电路单元用以在缓冲存储器中分配映射表存储空间,用以存储实体地址-逻辑地址映射表。此外,存储器控制电路单元还用以判断映射表存储空间中的剩余存储空间是否小于一第一门槛值。倘若判断剩余存储空间小于第一门槛值,存储器控制电路单元还用以将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至至少一逻辑地址-实体地址映射表。再者,存储器控制电路单元还用以清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息。另外,存储器控制电路单元还用以将属于多个逻辑编程单元的多笔写入数据编程至所述实体擦除单元之中的一个作动实体擦除单元的多个实体编程单元,建立编程所述写入数据的实体编程单元与逻辑编程单元之间的多个更新映射信息,并且将所述更新映射信息存储至映射表存储空间中。在本发明的一实施例中,当将所述更新映射信息的其中一部分存储至映射表存储空间并且映射表存储空间中的剩余存储空间不大于第二门槛值时,存储器控制电路单元还用以判断作动实体擦除单元中是否存有至少一第一实体编程单元,其中所述至少一第一实体编程单元为下实体编程单元,所述至少一第一实体编程单元已编程有效数据且对应所述至少一第一实体编程单元的上实体编程单元未被编程。此外,倘若判断作动实体擦除单元中存有所述至少一第一实体编程单元时,存储器控制电路单元还用以将虚拟数据编程至对应所述至少一第一实体编程单元的上实体编程单元。并且,在将虚拟数据编程至对应所述至少一第一实体编程单元的上实体编程单元之后,存储器控制电路单元还用以将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至至少一逻辑地址-实体地址映射表。再者,存储器控制电路单元还用以清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息并且将所述更新映射信息的其余部分存储至映射表存储空间中。在本发明的一实施例中,上述映射表存储空间中已存储对应多个已编程实体擦除单元的多个更新映射信息。在本发明的一实施例中,上述存储器控制电路单元还用以计算对应所述已编程实体擦除单元的其中一个已编程实体擦除单元的更新映射信息的大小,其中所述其中一个已编程实体擦除单元为在将所述写入数据编程至作动实体擦除单元的多个实体编程单元之前最后编程的实体擦除单元。并且,存储器控制电路单元还用以设定所述其中一个已编程实体擦除单元的更新映射信息的大小作为第一门槛值。在本发明的一实施例中,上述存储器控制电路单元还用以计算对应每一已编程实体擦除单元的更新映射信息的大小。此外,存储器控制电路单元还用以计算所述已编程实体擦除单元的更新映射信息的大小的平均值,并设定此平均值作为第一门槛值。在本发明的一实施例中,上述存储器控制电路单元还用以计算对应每一已编程实体擦除单元的更新映射信息的大小。此外,存储器控制电路单元还用以识别对应所述已编程实体擦除单元的更新映射信息的大小之中的最大值,并设定此最大值作为第一门槛值。在本发明的一实施例中,上述写入数据之中的至少一部分数据是通过存储器控制电路单元将从主机系统所接收的多笔原始数据压缩后所产生的数据。基于上述,本发明实施例提供的映射表更新方法、存储器控制电路单元及存储器存储装置,可提升逻辑地址-实体地址映射表的更新效率,并避免更新逻辑地址-实体地址映射表后,已编程的数据因其它实体编程单元的编程失败而无法恢复的状况。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是本发明实施例所示出的主机系统与存储器存储装置的示意图;图2是本发明实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图;图3是本发明实施例所示出的主机系统与存储器存储装置的示意图;图4是本发明实施例所示出的存储器存储装置的概要方块图;图5是本发明实施例所示出的存储器控制电路单元的概要方块图;图6A与图6B是本发明实施例所示出的管理实体擦除单元的范例示意图;图7A、图7B与图7C是本发明实施例所示出的将作动实体擦除单元的更新映射信息存储至映射表存储空间的范例示意图;图8是本发明实施例所示出的将作动实体擦除单元的更新映射信息的一部分存储至映射表存储空间的范例示意图;图9是本发明实施例所示出的实体编程单元的排列顺序的示意图;图10A与图10B是本发明实施例所示出的将虚拟数据编程至作动实体擦除单元的上实体编程单元的范例示意图;图11为本发明实施例所示出的映射表更新方法的流程图;图12为本发明实施例所示出的映射表更新方法的另一范例流程图。附图标记说明:10:存储器存储装置;11:主机系统;12:计算机;13:输入/输出装置;122:微处理器;124:随机存取存储器(RAM);126:系统总线;128:数据传输接口21:鼠标;22:键盘;23:显示器;24:打印机;25:随身盘;26:存储卡;27:固态硬盘;31:数码相机;32:SD卡;33:MMC卡;34:存储棒;35:CF卡;36:嵌入式存储装置;402:连接接口单元;404:存储器控制电路单元;406:可复写式非易失性存储器模块;410(0)~410(N):实体擦除单元;502:存储器管理电路;504:主机接口;506:存储器接口;508:缓冲存储器;510:电源管理电路;512:错误检查与校正电路;514:数据压缩/解压缩电路;602:数据区;604:闲置区;606:系统区;608:取代区;610(0)~610(D):逻辑地址;701、801:映射表存储空间;UM0、UM1、UM2、UM3:更新映射信息;PBA(0-0)~PBA(0-K):实体编程单元;W(0)~W(L):字符线;D0~D5:有效数据DD:虚拟数据S1101、S1103、S1105、S1107、S1109、S1111、S1201、S1203、S1205、S1207:映射表更新方法的步骤。具体实施方式一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。图1是本发明实施例所示出的主机系统与存储器存储装置的示意图,且图2是本发明实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图。请参照图1,主机系统11一般包括计算机12与输入/输出(input/output,简称I/O)装置13。计算机12包括微处理器122、随机存取存储器(randomaccessmemory,简称RAM)124、系统总线126与数据传输接口128。输入/输出装置13包括如图2的鼠标21、键盘22、显示器23与打印机24。必须了解的是,图2所示的装置非限制输入/输出装置13,输入/输出装置13还可包括其它装置。在本实施例中,存储器存储装置10是通过数据传输接口128与主机系统11的其它组件电性连接。通过微处理器122、随机存取存储器124与输入/输出装置13的运作可将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。例如,存储器存储装置10可以是如图2所示的随身盘25、存储卡26或固态硬盘(SolidStateDrive,简称SSD)27等的可复写式非易失性存储器存储装置。图3是本发明实施例所示出的主机系统与存储器存储装置的示意图。一般而言,主机系统11为可实质地与存储器存储装置10配合以存储数据的任意系统。虽然在本实施例中,主机系统11是以计算机系统来做说明,然而,在另一实施例中主机系统11可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为图3中的数码相机(摄像机)31时,可复写式非易失性存储器存储装置则为其所使用的SD卡32、MMC卡33、存储棒(memorystick)34、CF卡35或嵌入式存储装置36(如图3所示)。嵌入式存储装置36包括嵌入式多媒体卡(EmbeddedMMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。图4是本发明实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。在本实施例中,连接接口单元402是兼容于串行先进技术附件(SerialAdvancedTechnologyAttachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并形先进技术附件(ParallelAdvancedTechnologyAttachment,简称PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,简称IEEE)1394标准、高速周边部件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用串行总线(UniversalSerialBus,简称USB)标准、超高速一代(UltraHighSpeed-I,简称UHS-I)接口标准、超高速二代(UltraHighSpeed-II,UHS-II)接口标准、安全数字(SecureDigital,SD)接口标准、存储棒(MemoryStick,简称MS)接口标准、多媒体存储卡(MultiMediaCard,简称MMC)接口标准、小型快闪(CompactFlash,简称CF)接口标准、集成设备电路(IntegratedDeviceElectronics,IDE)标准或其它适合的标准。在本实施例中,连接接口单元可与存储器控制电路单元封装在一个芯片中,或布设于一包含存储器控制电路单元的芯片外。存储器控制电路单元404用以执行以硬件形式或软件形式实现的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与擦除等运作。可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体擦除单元410(0)~410(N)。例如,实体擦除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体擦除单元分别具有复数个实体编程单元,其中属于同一个实体擦除单元的实体编程单元可被独立地写入且被同时地擦除。然而,必须了解的是,本发明不限于此,每一实体擦除单元是可由64个实体编程单元、256个实体编程单元或其它任意个实体编程单元所组成。更详细来说,实体擦除单元为擦除的最小单位。也即,每一实体擦除单元含有最小数目之一并被擦除的存储单元。实体编程单元为编程的最小单元。即,实体编程单元为写入数据的最小单元。每一实体编程单元通常包括数据位区与冗余位区。数据位区包含多个实体存取地址用以存储使用者的数据,而冗余位区用以存储系统的数据(例如,控制信息与错误更正码)。在本实施例中,每一个实体编程单元的数据位区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其它实施例中,数据位区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一实施例中,实体擦除单元为实体区块,并且实体编程单元为实体页面或实体扇区,但本发明不以此为限。在本实施例中,可复写式非易失性存储器模块406为多阶存储单元(MultiLevelCell,简称MLC)NAND型闪存模块(即,一个存储单元中可存储2个数据位的闪存模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是单阶存储单元(SingleLevelCell,简称SLC)NAND型闪存模块(即,一个存储单元中可存储1个数据位的闪存模块)、复数阶存储单元(TrinaryLevelCell,简称TLC)NAND型闪存模块(即,一个存储单元中可存储3个数据位的闪存模块)、其它闪存模块或其它具有相同特性的存储器模块。图5是本发明实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与擦除等运作。在本实施例中,存储器管理电路502的控制指令是以软件形式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。在本发明另一实施例中,存储器管理电路502的控制指令也可以程序代码形式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被使能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令加载至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与擦除等运作。主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本实施例中,主机接口504是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是兼容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其它适合的数据传输标准。存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。在一实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510、错误检查与校正电路512与数据压缩/解压缩电路514。缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,简称ECCCode),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。数据压缩/解压缩电路514是电性连接至存储器管理电路502。在此,数据压缩/解压缩电路514用以压缩欲写入至可复写式非易失性存储器模块406的数据并且用以解压缩从可复写式非易失性存储器模块406中所读取的数据。例如,数据压缩/解压缩电路514包含压缩器(compressor)及解压缩器(decompressor)。压缩器可用以找出原始数据(originaldata)中存在的数据累赘(dataredundancy)、移除所找出的累赘,将剩余的必要数据编码并且输出编码结果(即,压缩数据(compresseddata)。而解压缩器用以将读入的压缩数据根据既定的步骤译码并送出译码结果(即,解压缩数据(decompresseddata))。在本范例实施例中,数据压缩/解压缩电路514是使用无失真压缩算法来压缩数据,以使压缩后的数据能够被还原。图6A与图6B是本发明实施例所示出的管理实体擦除单元的范例示意图。必须了解的是,在此描述可复写式非易失性存储器模块106的实体擦除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体擦除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体擦除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体擦除单元进行操作。请参照图6A,存储器控制电路单元404(或存储器管理电路502)会将实体擦除单元410(0)~410(N)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。逻辑上属于数据区602与闲置区604的实体擦除单元是用以存储来自于主机系统11的数据。具体来说,数据区602的实体擦除单元是被视为已存储数据的实体擦除单元,而闲置区604的实体擦除单元是用以替换数据区602的实体擦除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区604中提取实体擦除单元,并且将数据写入至所提取的实体擦除单元中,以替换数据区602的实体擦除单元。逻辑上属于系统区606的实体擦除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体擦除单元数、每一实体擦除单元的实体编程单元数等。逻辑上属于取代区608中的实体擦除单元是用于坏实体擦除单元取代程序,以取代损坏的实体擦除单元。具体来说,倘若取代区608中仍存有正常之实体擦除单元并且数据区602的实体擦除单元损坏时,存储器管理电路502会从取代区608中提取正常的实体擦除单元来更换损坏的实体擦除单元。特别是,数据区602、闲置区604、系统区606与取代区608的实体擦除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,实体擦除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的实体擦除单元损坏而被取代区608的实体擦除单元取代时,则原本取代区608的实体擦除单元会被关联至闲置区604。请参照图6B,如上所述,数据区602与闲置区604的实体擦除单元是以轮替方式来存储主机系统11所写入的数据。在本实施例中,存储器控制电路单元404(或存储器管理电路502)会配置逻辑地址610(0)~610(D)给主机系统11,以映射至数据区602中部分的实体擦除单元414(0)~410(F-1),以利于在以上述轮替方式来存储数据的实体擦除单元中进行数据存取。特别是,主机系统11会通过逻辑地址610(0)~610(D)来存取数据区602中的数据。此外,存储器控制电路单元404(或存储器管理电路502)会建立逻辑地址-实体地址映射表(logicaladdress-physicaladdressmappingtable),以记录逻辑单元与实体单元之间的映射关系。此逻辑地址-实体地址映射表可以例如是记录逻辑地址与实体擦除单元、逻辑地址与实体编程单元、逻辑编程单元与实体擦除单元及/或逻辑编程单元与实体编程单元之间的映射关系等各种逻辑与实体的对应关系,本发明不加以限制。在本实施例中,存储器存储装置10的可复写式非易失性存储器模块406可以是以实体编程单元为基础(也称为页面为基础(pagebased))来进行管理。例如,在执行写入指令时,不管目前数据是要写入至那个逻辑编程单元,存储器控制电路单元404(或存储器管理电路502)均会以一个实体编程单元接续一个实体编程单元的方式来写入数据(也称为随机写入机制)。具体来说,存储器控制电路单元404(或存储器管理电路502)会从闲置区604中提取一个空的实体擦除单元作为作动实体擦除单元来写入数据。并且,当此作动实体擦除单元已写满时,存储器控制电路单元404(或存储器管理电路502)会再从闲置区604中提取另一个空的实体擦除单元作为作动实体擦除单元,以继续写入对应来自于主机系统11的写入指令的数据。在本实施例中,存储器控制电路单元404(或存储器管理电路502)会在缓冲存储器508中分配映射表存储空间,用以存储实体地址-逻辑地址映射表(physicaladdress-logicaladdressmappingtable),以记录已编程的作动实体擦除单元的实体编程单元与数据所属的逻辑编程单元的映射关系。在本实施例中,编程至实体编程单元的数据可以是经过压缩或未经过压缩的。因此,一个实体编程单元可映射一个或多个逻辑编程单元。若一个实体编程单元是映射到一个逻辑编程单元(例如,编程至作动实体擦除单元的数据未经过压缩),当作动实体擦除单元写满时,作动实体擦除单元的多个实体编程单元与多个逻辑编程单元的多个映射关系所形成的更新映射信息的大小恰为1单位。存储器控制电路单元404(或存储器管理电路502)可在缓冲存储器508中分配4单位的存储空间作为映射表存储空间来存储实体地址-逻辑地址映射表。然而,也可视实际需求来决定分配更多或更少的存储空间来作为映射表存储空间,本发明不加以限制。图7A、图7B与图7C是本发明实施例所示出的将作动实体擦除单元的更新映射信息存储至映射表存储空间的范例示意图。请参照图7A,为方便说明,本实施例是以尚未有任何实体擦除单元被关联至数据区为开始来进行说明。存储器控制电路单元404(或存储器管理电路502)在缓冲存储器508中分配4单位存储空间的映射表存储空间701以存储实体地址-逻辑地址映射表。当存储器控制电路单元404(或存储器管理电路502)从主机系统11接收到将数据写入逻辑地址的写入指令时,存储器控制电路单元404(或存储器管理电路502)会从闲置区604提取一个空的实体擦除单元(即,实体擦除单元410(0))作为作动实体擦除单元。存储器控制电路单元404(或存储器管理电路502)会按照作动实体擦除单元的实体编程单元的编程顺序将数据编程至实体擦除单元410(0)的实体编程单元中。存储器控制电路单元404(或存储器管理电路502)并根据实体擦除单元410(0)中已编程的实体编程单元与数据所属的逻辑编程单元的映射关系建立更新映射信息,且将更新映射信息存储至映射表存储空间701中。当作动实体擦除单元(即实体擦除单元410(0))写满时,存储器控制电路单元404(或存储器管理电路502)会从闲置区604提取另一个空的实体擦除单元410(1)作为新的作动实体擦除单元,以存储后续写入指令的数据。在本实施例中,当作动实体擦除单元已写满而需从闲置区604选取另一个空的实体擦除单元作为新的作动实体擦除单元时,存储器控制电路单元404(或存储器管理电路502)会判断是否需更新逻辑地址-实体地址映射表。具体而言,存储器控制电路单元404(或存储器管理电路502)会预估映射表存储空间701的剩余存储空间是否还可完整存储对应一个实体擦除单元的更新映射信息,进而决定是否需将存储在映射表存储空间701中的实体地址-逻辑地址映射表的映射信息更新到逻辑地址-实体地址映射表。在本实施例中,存储器控制电路单元404(或存储器管理电路502)会判断映射表存储空间701的剩余存储空间是否小于特定的第一门槛值。倘若剩余存储空间小于第一门槛值,存储器控制电路单元404(或存储器管理电路502)会根据实体地址-逻辑地址映射表701中所存储的映射信息,将对应的逻辑地址-实体地址映射表加载至缓冲存储器508,并将映射信息更新至逻辑地址-实体地址映射表。在本实施例中,第一门槛值可设定为存储在映射表存储空间701中对应已编程的实体擦除单元的其中一个实体擦除单元的更新映射信息的大小。例如,此其中一个实体擦除单元可为在选取新的作动实体擦除单元之前最后一个编程的实体擦除单元。在本实施例中,当实体擦除单元410(0)已写满,而选取实体擦除单元410(1)作为新的作动实体擦除单元时,存储器控制电路单元404(或存储器管理电路502)会计算映射表存储空间701中对应已编程的实体擦除单元410(0)的更新映射信息UM0的大小为1单位,且映射表存储空间701的剩余存储空间为3单位。此时,在选取新的作动实体擦除单元之前最后一个编程的实体擦除单元为实体擦除单元410(0)。因此,存储器控制电路单元404(或存储器管理电路502)设定实体擦除单元410(0)的更新映射信息UM0的大小(即1单位)作为第一门槛值。进一步地,存储器控制电路单元404(或存储器管理电路502)会判断映射表存储空间701的剩余存储空间(即3单位)不小于第一门槛值(即1单位),而无需更新逻辑地址-实体地址映射表。也就是说,可将新的作动实体擦除单元的更新映射信息存储至映射表存储空间701。请参照图7B,存储器控制电路单元404(或存储器管理电路502)选取实体擦除单元410(1)作为作动实体擦除单元,并将数据编程至实体擦除单元410(1)中。存储器控制电路单元404(或存储器管理电路502)根据实体擦除单元410(1)中已编程的实体编程单元与数据所属的逻辑编程单元的映射关系建立更新映射信息,且将更新映射信息存储至映射表存储空间中。当实体擦除单元410(1)写满时,存储器控制电路单元404(或存储器管理电路502)计算实体地址-逻辑地址映射表701中对应已编程的实体擦除单元410(1)的更新映射信息UM1的大小为1.5单位。此时,映射表存储空间701已存储有对应实体擦除单元410(0)的更新映射信息UM0与对应实体擦除单元410(1)的更新映射信息UM1,其中更新映射信息UM0的大小为1单位,更新映射信息UM1的大小为1.5单位。存储器控制电路单元404(或存储器管理电路502)并计算映射表存储空间701的剩余存储空间为1.5单位。而在选取新的作动实体擦除单元之前最后一个编程的实体擦除单元为实体擦除单元410(1)。因此,存储器控制电路单元404(或存储器管理电路502)设定实体擦除单元410(1)的更新映射信息UM1的大小(即1.5单位)作为第一门槛值。进一步地,存储器控制电路单元404(或存储器管理电路502)判断剩余存储空间(即1.5单位)不小于第一门槛值(即1.5单位),由此不更新逻辑地址-实体地址映射表。也就是说,可将新的作动实体擦除单元的更新映射信息存储至映射表存储空间701。请参照图7C,存储器控制电路单元404(或存储器管理电路502)选取实体擦除单元410(2)作为作动实体擦除单元,并将数据编程至实体擦除单元410(2)中。存储器控制电路单元404(或存储器管理电路502)根据实体擦除单元410(2)中已编程的实体编程单元与数据所属的逻辑编程单元的映射关系建立更新映射信息,且将更新映射信息存储至映射表存储空间701中。当实体擦除单元410(2)写满时,存储器控制电路单元404(或存储器管理电路502)计算映射表存储空间701中对应已编程的实体擦除单元410(2)的更新映射信息UM2的大小为1单位。此时,映射表存储空间701已存储有对应实体擦除单元410(0)的更新映射信息UM0、对应实体擦除单元410(1)的更新映射信息UM1与对应实体擦除单元410(2)的更新映射信息UM2,其中更新映射信息UM0的大小为1单位,更新映射信息UM1的大小为1.5单位,更新映射信息UM2的大小为1单位。存储器控制电路单元404(或存储器管理电路502)并计算映射表存储空间701的剩余存储空间为0.5单位。在选取新的作动实体擦除单元之前最后一个编程的实体擦除单元为实体擦除单元410(2)。因此,存储器控制电路单元404(或存储器管理电路502)设定实体擦除单元410(2)的更新映射信息UM1的大小(即1单位)作为第一门槛值。进一步地,存储器控制电路单元404(或存储器管理电路502)判断剩余存储空间(即0.5单位)小于第一门槛值(即1单位),需更新逻辑地址-实体地址映射表。也就是说,映射表存储空间701可能无法完整存储对应一个新的作动实体擦除单元的更新映射信息,而需将存储在映射表存储空间701中的实体地址-逻辑地址映射表的映射信息存储至逻辑地址-实体地址映射表,并清除映射表存储空间701中的实体地址-逻辑地址映射表的映射信息。在本发明的另一实施例中,第一门槛值还可设定为映射表存储空间中所存储的对应各已编程实体擦除单元的更新映射信息的大小之中的最大值。例如,请参照图7A,此时,映射表存储空间701只存储了对应实体擦除单元410(0)的更新映射信息UM0,其中更新映射信息UM0的大小为1单位,且映射表存储空间701的剩余存储空间为3单位。存储器控制电路单元404(或存储器管理电路502)识别对应各已编程实体擦除单元的更新映射信息的大小之中,实体擦除单元410(0)的更新映射信息UM0的大小为最大值。因此,存储器控制电路单元404(或存储器管理电路502)设定实体擦除单元410(0)的更新映射信息UM0的大小(即1单位)作为第一门槛值。进一步地,存储器控制电路单元404(或存储器管理电路502)判断映射表存储空间701的剩余存储空间(即3单位)不小于第一门槛值(即1单位),由此不更新逻辑地址-实体地址映射表。例如,请参照图7B,此时,映射表存储空间701已存储了对应实体擦除单元410(0)的更新映射信息UM0与对应实体擦除单元410(1)的更新映射信息UM1,其中更新映射信息UM0的大小为1单位,更新映射信息UM1的大小为1.5单位,且映射表存储空间701的剩余存储空间为1.5单位。存储器控制电路单元404(或存储器管理电路502)识别对应各已编程实体擦除单元的更新映射信息的大小之中,实体擦除单元410(1)的更新映射信息UM1的大小为最大值。因此,存储器控制电路单元404(或存储器管理电路502)设定实体擦除单元410(1)的更新映射信息UM1的大小(即1.5单位)作为第一门槛值。进一步地,存储器控制电路单元404(或存储器管理电路502)判断映射表存储空间701的剩余存储空间(即1.5单位)不小于第一门槛值(即1.5单位),由此不更新逻辑地址-实体地址映射表。例如,请参照图7C,此时,映射表存储空间701已存储了对应实体擦除单元410(0)的更新映射信息UM0、对应实体擦除单元410(1)的更新映射信息UM1与对应实体擦除单元410(2)的更新映射信息UM2,其中更新映射信息UM0的大小为1单位,更新映射信息UM1的大小为1.5单位,更新映射信息UM2的大小为1单位,且映射表存储空间701的剩余存储空间为0.5单位。存储器控制电路单元404(或存储器管理电路502)识别对应各已编程实体擦除单元的更新映射信息的大小之中,实体擦除单元410(1)的更新映射信息UM1的大小为最大值。因此,存储器控制电路单元404(或存储器管理电路502)设定实体擦除单元410(1)的更新映射信息UM1的大小(即1.5单位)作为第一门槛值。进一步地,存储器控制电路单元404(或存储器管理电路502)判断映射表存储空间701的剩余存储空间(即0.5单位)小于第一门槛值(即1.5单位),而将存储在映射表存储空间701中的实体地址-逻辑地址映射表的映射信息存储至逻辑地址-实体地址映射表,并清除映射表存储空间701中的实体地址-逻辑地址映射表的映射信息。在上述的实施例中,第一门槛值是设定为存储在映射表存储空间701中对应已编程的实体擦除单元的其中一个实体擦除单元的更新映射信息的大小。然而,在本发明的另一实施例中,第一门槛值也可设定为映射表存储空间中所存储的对应各已编程实体擦除单元的更新映射信息的大小的平均值。例如,请参照图7A,此时,映射表存储空间701只存储了对应实体擦除单元410(0)的更新映射信息UM0,其中更新映射信息UM0的大小为1单位,且映射表存储空间701的剩余存储空间为3单位。存储器控制电路单元404(或存储器管理电路502)计算对应各已编程实体擦除单元的更新映射信息的大小的平均值为1单位,并将第一门槛值设定为1单位。进一步地,存储器控制电路单元404(或存储器管理电路502)判断映射表存储空间701的剩余存储空间(即3单位)不小于第一门槛值(即1单位),不更新逻辑地址-实体地址映射表。例如,请参照图7B,此时,映射表存储空间701已存储了对应实体擦除单元410(0)的更新映射信息UM0与对应实体擦除单元410(1)的更新映射信息UM1,其中更新映射信息UM0的大小为1单位,更新映射信息UM1的大小为1.5单位,且映射表存储空间701的剩余存储空间为1.5单位。存储器控制电路单元404(或存储器管理电路502)计算对应各已编程实体擦除单元的更新映射信息的大小的平均值为1.25单位,并将第一门槛值设定为1.25单位。进一步地,存储器控制电路单元404(或存储器管理电路502)判断映射表存储空间701的剩余存储空间(即1.5单位)不小于第一门槛值(即1.25单位),不更新逻辑地址-实体地址映射表。例如,请参照图7C,此时,映射表存储空间701已存储有对应实体擦除单元410(0)的更新映射信息UM0、对应实体擦除单元410(1)的更新映射信息UM1与对应实体擦除单元410(2)的更新映射信息UM2,其中更新映射信息UM0的大小为1单位,更新映射信息UM1的大小为1.5单位,更新映射信息UM2的大小为1单位,且映射表存储空间701的剩余存储空间为0.5单位。存储器控制电路单元404(或存储器管理电路502)计算对应各已编程实体擦除单元的更新映射信息的大小的平均值为1.17单位,并将第一门槛值设定为1.17单位。进一步地,存储器控制电路单元404(或存储器管理电路502)判断实体地址-逻辑地址映射表701剩余存储空间(即0.5单位)小于第一门槛值(即1.17单位),而将存储在映射表存储空间701中的实体地址-逻辑地址映射表的映射信息存储至逻辑地址-实体地址映射表,并清除映射表存储空间701中的实体地址-逻辑地址映射表的映射信息。由于,本发明是以映射表存储空间中所存储的对应各已编程实体擦除单元的更新映射信息的大小,来预估映射表存储空间的剩余存储空间是否可完整存储一个新的作动实体擦除单元的更新映射信息。因此,当新的作动实体擦除单元的更新映射信息的大小不如预期,而大于映射表存储空间的剩余存储空间时,会形成作动实体擦除单元还未写满,映射表存储空间仅存储了对应新的作动实体擦除单元的更新映射信息的一部分就已写满的情况。图8是本发明实施例所示出的将作动实体擦除单元的更新映射信息的一部分存储至映射表存储空间的范例示意图。请参照图8,实体擦除单元410(0)与实体擦除单元410(1)为已编程的实体擦除单元。当实体擦除单元410(0)与实体擦除单元410(1)已写满时,映射表存储空间801中存储了对应实体擦除单元410(0)的更新映射信息UM0,与对应实体擦除单元410(1)的更新映射信息UM1,其中更新映射信息UM0的大小为1单位,更新映射信息UM1的大小为1.5单位,且剩余存储空间为1.5单位。存储器控制电路单元404(或存储器管理电路502)选取实体擦除单元410(2)作为作动实体擦除单元。存储器控制电路单元404(或存储器管理电路502)设定实体擦除单元410(1)(即选取新的作动实体擦除单元之前最后一个编程的实体擦除单元)的更新映射信息的大小(即1.5单位)作为第一门槛值。进一步地,存储器控制电路单元404(或存储器管理电路502)判断映射表存储空间801的剩余存储空间(即1.5单位),不小于第一门槛值(即1.5单位),不更新逻辑地址-实体地址映射表。因此,存储器控制电路单元404(或存储器管理电路502)将数据编程至实体擦除单元410(2),并根据实体擦除单元410(2)中已编程的实体编程单元与数据所属的逻辑编程单元的映射关系建立更新映射信息,且将更新映射信息存储至映射表存储空间801中。在本实施例中,存储器控制电路单元404(或存储器管理电路502)可进一步判断映射表存储空间801的剩余存储空间是否不大于第二门槛值,以决定是否要判断作动实体除抹单元(即实体除抹单元410(2))依序可被编程的实体编程单元是否为上实体编程单元。第二门槛值可小于第一门槛值,或等于零(即映射表存储空间801已写满),或依实际需求设定,本发明不加以限制。以下将以第二门槛值为零的情况进行说明。在本实施例中,实际上,当实体擦除单元410(2)写满时,根据实体擦除单元410(2)中已编程的实体编程单元与数据所属的逻辑编程单元的映射关系所建立的更新映射信息的大小为2单位,但映射表存储空间801的剩余存储空间仅能再存储1.5单位大小的更新映射信息。因此,映射表存储空间801仅存储了对应实体擦除单元410(2)的部分的更新映射信息UM3(即,部分的更新映射信息UM3的大小为1.5单位)就已写满,但实体擦除单元410(2)尚未写满。当映射表存储空间801已写满时,也就是说,映射表存储空间801已无剩余存储空间可存储更新映射信息,需将存储在映射表存储空间801中的实体地址-逻辑地址映射表的映射信息更新至逻辑地址-实体地址映射表,并将映射表存储空间801中的实体地址-逻辑地址映射表的映射信息清除。但由于作动实体擦除单元(即实体擦除单元410(2))尚未写满,存储器控制电路单元404(或存储器管理电路502)在更新逻辑地址-实体地址映射表之前,会先判断作动实体擦除单元(即实体擦除单元410(2))依序可被编程的实体编程单元是否为上实体编程单元。具体而言,存储器控制电路单元404(或存储器管理电路502)会判断作动实体擦除单元(即实体擦除单元410(2))中是否存在已编程有效数据的下实体编程单元,且此下实体编程单元所对应的上实体编程单元尚未被编程。倘若判断作动实体擦除单元(即实体擦除单元410(2))中存在上述下实体编程单元,存储器控制电路单元404(或存储器管理电路502)会将一虚拟数据(dummydata)编程至上述下实体编程单元所对应的上实体编程单元中。图9是本发明实施例所示出的实体编程单元的排列顺序的示意图。在此,以实体擦除单元410(2)为例进行说明,其它实体擦除单元的结构也可以此类推。请参照图9,实体擦除单元410(2)包括实体编程单元PBA(0-0)~PBA(0-K)。例如,在本实施例中,K为整数。例如,K为255。实体编程单元PBA(0-0)与实体编程单元PBA(0-2)是由字符线W(0)上的存储单元所构成;实体编程单元PBA(0-1)与实体编程单元PBA(0-4)是由字符线W(1)上的存储单元所构成;实体编程单元PBA(0-3)与实体编程单元PBA(0-6)是由字符线W(2)上的存储单元所构成;实体编程单元PBA(0-5)与实体编程单元PBA(0-8)是由字符线W(3)上的存储单元所构成;并且以此类推,实体编程单元PBA(0-(K-4))与实体编程单元PBA(0-(K-1))是由字符线W(L-1)上的存储单元所构成且实体编程单元PBA(0-(K-2))与实体编程单元PBA(0-K)是由字符线W(L)上的存储单元所构成。在此,实体编程单元PBA(0-0)、PBA(0-1)、PBA(0-3)、PBA(0-5)、…、PBA(0-(K-4))、PBA(0-(K-2))为下实体编程单元,而实体编程单元PBA(0-2)、PAB(0-4)、PBA(0-6)、PBA(0-8)、…、PBA(0-(K-1))、PBA(0-K)为上实体编程单元。图10A与图10B是本发明实施例所示出的将虚拟数据编程至作动实体擦除单元的上实体编程单元的范例示意图。请参照图10A,当映射表存储空间801已写满时,作动实体擦除单元(即实体擦除单元410(2))已编程有效数据的实体编程单元为下实体编程单元PBA(0-0)、PBA(0-1)、PBA(0-3)与上实体编程单元PBA(0-2)、PBA(0-4)。其中,存储器控制电路单元404(或存储器管理电路502)判断实体擦除单元410(2)的下实体编程单元PBA(0-3)所对应的上实体编程单元PBA(0-6)尚未被编程。基此,存储器控制电路单元404(或存储器管理电路502)会先将虚拟数据编程至实体擦除单元410(2)的上实体编程单元PBA(0-6)后,再将存储在映射表存储空间801中的实体地址-逻辑地址映射表的映射信息更新至逻辑地址-实体地址映射表,并清除映射表存储空间801中的实体地址-逻辑地址映射表的映射信息。请参照图10B,在本发明另一实施例中,当映射表存储空间801已写满时,作动实体擦除单元(即实体擦除单元410(2))已编程有效数据的实体编程单元为下实体编程单元PBA(0-0)、PBA(0-1)、PBA(0-3)、PBA(0-5)与上实体编程单元PBA(0-2)、PBA(0-4)。其中,存储器控制电路单元404(或存储器管理电路502)判断实体擦除单元410(2)的下实体编程单元PBA(0-3)所对应的上实体编程单元PBA(0-6)与下实体编程单元PBA(0-5)所对应的上实体编程单元PBA(0-8)皆尚未被编程。基此,存储器控制电路单元404(或存储器管理电路502)会将虚拟数据编程至实体擦除单元410(2)的上实体编程单元PBA(0-6)与上实体编程单元PBA(0-8)后,再将映射表存储空间801中的实体地址-逻辑地址映射表的映射信息更新至逻辑地址-实体地址映射表,并清除映射表存储空间801中的实体地址-逻辑地址映射表的映射信息。图11为本发明实施例所示出的映射表更新方法的流程图。请参照图11,在步骤S1101中,存储器控制电路单元404(或存储器管理电路502)分配映射表存储空间,以存储实体地址-逻辑地址映射表。具体而言,存储器控制电路单元404(或存储器管理电路502)是在缓冲存储器508中分配映射表存储空间。在步骤S1103中,存储器控制电路单元404(或存储器管理电路502)从主机系统11接收多笔写入数据,其中,该些写入数据属于多个逻辑编程单元。在步骤S1105中,存储器控制电路单元404(或存储器管理电路502)选取一个实体擦除单元作为作动实体擦除单元。具体而言,存储器控制电路单元404(或存储器管理电路502)是从可复写式非易失性存储器模块406的多个实体擦除单元中选取其中一个作为作动实体擦除单元。在步骤S1107中,存储器控制电路单元404(或存储器管理电路502)判断映射表存储空间的剩余存储空间是否小于第一门槛值。第一门槛值可依实际需求设定为不同的特定值,此部分已于前面的实施例中说明,在此不再赘述。倘若映射表存储空间的剩余存储空间小于第一门槛值,在步骤S1109中,存储器控制电路单元404(或存储器管理电路502)将存储在映射表存储空间中的实体地址-逻辑地址映射表中的映射信息更新至至少一逻辑地址-实体地址映射表,并清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息。存储器控制电路单元404(或存储器管理电路502)可在将映射信息更新至至少一逻辑地址-实体地址映射表之后,立即清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息。然而,存储器控制电路单元404(或存储器管理电路502)也可在下次编程作动实体擦除单元之前的任意时间点进行清除,本发明不加以限制。在步骤S1111中,存储器控制电路单元404(或存储器管理电路502)将该些写入数据编程至作动实体擦除单元的多个实体编程单元,建立编程该些写入数据的多个实体编程单元与该些逻辑编程单元之间的多个更新映射信息,并将该些更新映射信息存储至映射表存储空间中。具体而言,在步骤S1107中,倘若判断映射表存储空间的剩余存储空间不小于第一门槛值,存储器控制电路单元404(或存储器管理电路502)直接执行步骤S1111。相对地,在步骤S1107中,倘若判断映射表存储空间的剩余存储空间小于第一门槛值,存储器控制电路单元404(或存储器管理电路502)则先执行步骤S1109,再执行步骤S1111。需特别说明的是,在本实施例中,是在将写入数据编程至作动实体擦除单元之前,先判断映射表存储空间的剩余存储空间是否小于第一门槛值。然而,在另一实施例中,也可在将写入数据编程之作动实体擦除单元之后,即判断映射表存储空间的剩余存储空间是否小于第一门槛值,本发明不加以限制。图12为本发明实施例所示出的映射表更新方法的另一范例流程图。图12是针对图11的将更新映射信息存储至映射表存储空间的步骤的一范例实施例方法流程图。请参照图12,在将作动实体擦除单元的多个更新映射信息存储至映射表存储空间中的步骤中,当仅将该些更新映射信息的一部分存储至映射表存储空间中并且实体地址-逻辑地址映射表不大于第二门槛值时,在步骤S1201中,存储器控制电路单元404(或存储器管理电路502)会判断作动实体擦除单元中是否存有已编程有效数据的至少一下实体编程单元,且此至少一下实体编程单元对应的上实体编程单元未被编程。倘若判断作动实体擦除单元中存有此至少一下实体编程单元,在步骤S1203中,存储器控制电路单元404(或存储器管理电路502)将一虚拟数据编程至此至少一下实体编程单元对应的上实体编程单元中。在步骤S1205中,存储器控制电路单元404(或存储器管理电路502)将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至至少一逻辑地址-实体地址映射表。具体而言,在步骤S1201中,倘若判断不存有此至少一下实体编程单元,存储器控制电路单元404(或存储器管理电路502)则直接执行步骤S1205。相对地,在步骤S1201中,倘若判断存有此至少一下实体编程单元,存储器控制电路单元404(或存储器管理电路502)则先执行步骤S1203,再执行步骤S1205。在步骤S1207中,存储器控制电路单元404(或存储器管理电路502)会清除存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息,并且将该些更新映射信息的其余部分存储至映射表存储空间中。综上所述,本发明实施例所提出的映射表更新方法、存储器控制电路单元及存储器存储装置利用映射表存储空间来存储对应于作动实体擦除单元的实体地址-逻辑地址映射表的更新映射信息,并根据映射表存储空间中剩余存储空间的大小,来判断是否要将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至逻辑地址-实体地址映射表。当作动实体擦除单元未写满,但已需将存储在映射表存储空间中的实体地址-逻辑地址映射表的映射信息更新至逻辑地址-实体地址映射表的情况下,若判断依序可编程数据的实体编程单元为上实体编程单元,则将虚拟数据写入上实体编程单元中。基此,可以提升更新逻辑地址-实体地址映射表的效率,并避免更新逻辑地址-实体地址映射表后,已编程的数据因其它实体编程单元的编程失败而无法恢复的状况。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1