数据存储方法、存储器控制器与存储器存储装置制造方法

文档序号:6486736阅读:129来源:国知局
数据存储方法、存储器控制器与存储器存储装置制造方法【专利摘要】本发明提出一种数据存储方法、存储器控制器与存储器存储装置。该数据存储方法,用于可复写式非易失性存储器模块,包括将逻辑地址划分为多个逻辑区域,且分别地为此些逻辑区域建立逻辑地址映射表。本方法亦包括将属于一个逻辑地址的数据写入至一个物理编程单元;且在暂时映射表中将此物理编程单元映射至此逻辑地址。本方法还包括,当暂时映射表已被写满时,根据记录在暂时映射表中的映射记录在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系并且清除记录在暂时映射表中的映射记录。【专利说明】数据存储方法、存储器控制器与存储器存储装置【
技术领域
】[0001]本发明涉及一种用于可复写式非易失性存储器模块的数据存储方法及使用此方法的存储器控制器与存储器存储装置。【
背景技术
】[0002]数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储介质的需求也急速增加。由于可复写式非易失性存储器(rewritablenon_volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于便携式电子产品,例如笔记型计算机。固态硬盘就是一种以快闪存储器作为存储介质的存储装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。[0003]一般来说,快闪存储器存储装置的快闪存储器模块会划分为多个物理区块,其中物理区块更划分为多个物理页面,而物理区块是快闪存储器的擦除单位并且物理页面是快闪存储器的写入单位。由于在编程快闪存储器的记忆胞时,仅能执行单向的编程(即,仅能将记忆胞的值由I编程为0),因此无法对已编程的物理页面(B卩,存有旧数据的页面)直接进行写入,而是必须先将此物理页面擦除后方可重新编程。特别是,由于快闪存储器的擦除是以物理区块为单位,因此当欲将存有旧数据的物理页面执行擦除运作时,必须对此物理页面所属的整个物理区块进行擦除。因此,快闪存储器模块的物理区块会被区分为数据区与闲置区,其中数据区的物理区块是已被使用来存储数据的物理区块,而备用区中的物理区块是未被使用的物理区块,其中当主机系统欲写入数据至快闪存储器存储装置时,快闪存储器存储装置的控制电路会从备用区中提取物理区块来写入数据,并且将所提取的物理区块会关联为数据区。并且,当数据区的物理区块被执行擦除运作(eraseoperation)后,已擦除的物理区块会被关联为备用区。[0004]由于主机系统是以逻辑地址来进行写入,并且主机系统写入数据至逻辑地址时经常不会依据逻辑地址的顺序来写入。基此,如何有效地记录逻辑地址与物理地址之间的映射关系,以提升存储数据的速度是此领域技术人员所致力的目标。【
发明内容】[0005]本发明提供一种数据存储方法、存储器控制器与存储器存储装置,其能够有效地提升数据写入运作的效能。[0006]本发明一范例实施例提出一种数据存储方法,用于可复写式非易失性存储器模块,此可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元。本数据存储方法包括配置多个逻辑地址,并且将此些逻辑地址划分为多个逻辑区域。本数据存储方法也包括分别地为此些逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表。本数据存储方法亦包括从主机系统中接收一数据,其中此主机系统指示将此数据存储至第一逻辑地址。本数据存储方法还包括:将此数据写入至第一物理编程单元;在暂时映射表中记录第一物理编程单元映射至第一逻辑地址;并且判断暂时映射表是否已被写满。本数据存储方法还包括,倘若暂时映射表已被写满时,根据记录在暂时映射表中的多个映射记录在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系,并且清除记录在暂时映射表中的映射记录,其中暂时映射表记录其中一部分物理编程单元的映射关系。[0007]在本发明的一实施例中,上述的根据记录在暂时映射表中的映射记录,在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系的步骤包括:根据记录在暂时映射表中的逻辑地址所属的逻辑区域排序记录在暂时映射表中的映射记录;以及根据排序后的映射记录依序地更新逻辑地址映射表中所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系。[0008]在本发明的一实施例中,第二物理编程单元已被写入属于第二逻辑地址的有效数据,第三物理编程单元已被写入属于第三逻辑地址的有效数据,第四物理编程单元已被写入属于第四逻辑地址的有效数据,第五物理编程单元已被写入属于第五逻辑地址的有效数据,第六物理编程单元已被写入属于第六逻辑地址的有效数据,第七物理编程单元已被写入属于第七逻辑地址的有效数据,上述第一逻辑地址、第三逻辑地址与第六逻辑地址属于第一逻辑区域并且上述第二逻辑地址、第四逻辑地址、第五逻辑地址与第七逻辑地址属于第二逻辑区域。并且,上述根据记录在暂时映射表中的逻辑地址所属的逻辑区域排序记录在暂时映射表中的映射记录的步骤包括:依据上述第一逻辑地址、第三逻辑地址、第六逻辑地址、第二逻辑地址、第四逻辑地址、第五逻辑地址与第七逻辑地址的顺序排列记录在暂时映射表中的映射记录。[0009]在本发明的一实施例中,上述的根据排序后的映射记录依序地更新逻辑地址映射表中逻辑地址与物理擦除单元的物理编程单元之间的映射关系的步骤包括:先在对应第一逻辑区域的逻辑地址映射表中,将上述第一逻辑地址映射至所述第一物理编程单元,将上述第三逻辑地址映射至第三物理编程单元,并且将上述第六逻辑地址映射至第六物理编程单元;以及在完成对应第一逻辑区域的逻辑地址映射表的更新后,在对应第二逻辑区域的逻辑地址映射表中,将第二逻辑地址映射至第二物理编程单元,将第四逻辑地址映射至第四物理编程单元,将第五逻辑地址映射至第五物理编程单元,并且将第七逻辑地址映射至第七物理编程单元。[0010]在本发明的一实施例中,上述的数据存储方法还包括为此些物理擦除单元的物理编程单元建立一物理地址信息表,其中物理地址信息表记录关于所有物理编程单元的信肩、O[0011]在本发明的一实施例中,上述的物理地址信息表为一物理地址映射表,并且物理地址映射表记录每一物理编程单元所映射的逻辑地址。[0012]在本发明的一实施例中,上述的物理地址信息表为一物理地址存储状态表,并且物理地址存储状态表记录每一物理编程单元所存储的数据为有效数据或无效数据的标记。[0013]本发明一范例实施例提出数据存储方法,用于可复写式非易失性存储器模块,此可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元。本数据存储方法包括:配置多个逻辑地址,并且将此些逻辑地址划分为多个逻辑区域。本数据存储方法还包括分别地为此些逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表。本数据存储方法也包括从主机系统中接收数据,其中此主机系统指示将此数据存储至第一逻辑地址。本数据存储方法也包括将此数据写入至第一物理编程单元;并且判断对应第一逻辑地址所属的逻辑区域的逻辑地址映射表是否已被载入至缓冲存储器。本数据存储方法也包括,倘若对应第一逻辑地址所属的逻辑区域的逻辑地址映射表已被载入至所述缓冲存储器时,在对应第一逻辑地址所属的逻辑区域的逻辑地址映射表中记录第一逻辑地址映射至第一物理编程单元;以及倘若对应第一逻辑地址所属的逻辑区域的逻辑地址映射表未被载入至所述缓冲存储器时,在暂时映射表中记录第一物理编程单元映射至第一逻辑地址。本数据存储方法也包括:判断暂时映射表是否已被写满;以及倘若暂时映射表已被写满时,根据记录在暂时映射表中的映射记录在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系,并且清除记录在暂时映射表中的映射记录,其中暂时映射表记录其中一部分物理编程单元的映射关系。[0014]在本发明的一实施例中,上述的数据存储方法还包括为此些物理擦除单元的物理编程单元建立一物理地址信息表,其中物理地址信息表记录关于所有物理编程单元的信肩、O[0015]本发明一范例实施例提出一种存储器控制器,用于控制一可复写式非易失性存储器模块,此可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以配置多个逻辑地址,将此些逻辑地址划分为多个逻辑区域,并且分别地为此些多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表。此外,存储器管理电路还用以从主机系统中接收数据,其中此主机系统指示将此数据存储至第一逻辑地址。并且,存储器管理电路还用以将此数据写入至第一物理编程单元,且在暂时映射表中记录第一物理编程单元映射至第一逻辑地址。另外,存储器管理电路还用以判断暂时映射表是否已被写满。倘若暂时映射表已被写满时,存储器管理电路还用以根据记录在暂时映射表中的映射记录在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系,并且清除记录在暂时映射表中的映射记录。在此,暂时映射表记录其中一部分物理编程单元的映射关系。[0016]在本发明的一实施例中,上述根据记录在暂时映射表中的映射记录,在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系的运作中,存储器管理电路会根据记录在暂时映射表中的逻辑地址所属的逻辑区域排序记录在暂时映射表中的映射记录,且根据排序后的映射记录依序地更新逻辑地址映射表中逻辑地址与物理擦除单元的物理编程单元之间的映射关系。[0017]在本发明的一实施例中,第二物理编程单元已被写入属于第二逻辑地址的有效数据,第三物理编程单元已被写入属于第三逻辑地址的有效数据,第四物理编程单元已被写入属于第四逻辑地址的有效数据,第五物理编程单元已被写入属于第五逻辑地址的有效数据,第六物理编程单元已被写入属于第六逻辑地址的有效数据,第七物理编程单元已被写入属于第七逻辑地址的有效数据,上述第一逻辑地址、第三逻辑地址与第六逻辑地址属于第一逻辑区域并且上述第二逻辑地址、第四逻辑地址、第五逻辑地址与第七逻辑地址属于第二逻辑区域。并且,在上述根据记录在暂时映射表中的逻辑地址所属的逻辑区域排序记录在暂时映射表中的多个映射记录的运作中,存储器管理电路依据上述第一逻辑地址、第三逻辑地址、第六逻辑地址、第二逻辑地址、第四逻辑地址、第五逻辑地址与第七逻辑地址的顺序排列记录在暂时映射表中的映射记录。[0018]在本发明的一实施例中,在上述根据排序后的映射记录依序地更新逻辑地址映射表中逻辑地址与物理擦除单元的物理编程单元之间的映射关系的运作中,存储器管理电路先在对应第一逻辑区域的逻辑地址映射表中,将上述第一逻辑地址映射至第一物理编程单元,将第三逻辑地址映射至第三物理编程单元,并且将第六逻辑地址映射至第六物理编程单元;以及在完成对应第一逻辑区域的逻辑地址映射表的更新后,存储器管理电路在对应第二逻辑区域的逻辑地址映射表中,将第二逻辑地址映射至第二物理编程单元,将第四逻辑地址映射至第四物理编程单元,将第五逻辑地址映射至第五物理编程单元,并且将第七逻辑地址映射至第七物理编程单元。[0019]在本发明的一实施例中,存储器管理电路为此些物理擦除单元的物理编程单元建立一物理地址信息表,并且物理地址信息表记录关于物理擦除单元的所有物理编程单元的信息。[0020]在本发明的一实施例中,上述的物理地址信息表为一物理地址映射表,并且物理地址映射表记录每一物理编程单元所映射的逻辑地址。[0021]在本发明的一实施例中,上述的物理地址信息表为一物理地址存储状态表,并且物理地址存储状态表记录每一物理编程单元所存储的数据为有效数据或无效数据的标记。[0022]本发明一范例实施例提出一种存储器存储装置,其包括连接器、可复写式非易失性存储器模块与存储器控制器。连接器用以电性连接至主机系统。可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元。存储器控制器电性连接至连接器与可复写式非易失性存储器模块。存储器控制器用以配置多个逻辑地址,将此些逻辑地址划分为多个逻辑区域,并且分别地为此些多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表。此外,存储器控制器还用以从主机系统中接收数据,其中此主机系统指示将此数据存储至第一逻辑地址。并且,存储器控制器还用以将此数据写入至第一物理编程单元,且在暂时映射表中记录第一物理编程单元映射至第一逻辑地址。另外,存储器控制器还用以判断暂时映射表是否已被写满。倘若暂时映射表已被写满时,存储器控制器还用以根据记录在暂时映射表中的映射记录在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系,并且清除记录在暂时映射表中的映射记录。在此,暂时映射表记录其中一部分物理编程单元的映射关系。[0023]在本发明的一实施例中,上述根据记录在暂时映射表中的映射记录,在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系的运作中,存储器控制器会根据记录在暂时映射表中的逻辑地址所属的逻辑区域排序记录在暂时映射表中的映射记录,且根据排序后的映射记录依序地更新逻辑地址映射表中逻辑地址与物理擦除单元的物理编程单元之间的映射关系。[0024]在本发明的一实施例中,第二物理编程单元已被写入属于第二逻辑地址的有效数据,第三物理编程单元已被写入属于第三逻辑地址的有效数据,第四物理编程单元已被写入属于第四逻辑地址的有效数据,第五物理编程单元已被写入属于第五逻辑地址的有效数据,第六物理编程单元已被写入属于第六逻辑地址的有效数据,第七物理编程单元已被写入属于第七逻辑地址的有效数据,上述第一逻辑地址、第三逻辑地址与第六逻辑地址属于第一逻辑区域并且上述第二逻辑地址、第四逻辑地址、第五逻辑地址与第七逻辑地址属于第二逻辑区域。并且,在上述根据记录在暂时映射表中的逻辑地址所属的逻辑区域排序记录在暂时映射表中的多个映射记录的运作中,存储器控制器依据上述第一逻辑地址、第三逻辑地址、第六逻辑地址、第二逻辑地址、第四逻辑地址、第五逻辑地址与第七逻辑地址的顺序排列记录在暂时映射表中的映射记录。[0025]在本发明的一实施例中,在上述根据排序后的映射记录依序地更新逻辑地址映射表中逻辑地址与物理擦除单元的物理编程单元之间的映射关系的运作中,存储器控制器先在对应第一逻辑区域的逻辑地址映射表中,将上述第一逻辑地址映射至第一物理编程单元,将第三逻辑地址映射至第三物理编程单元,并且将第六逻辑地址映射至第六物理编程单元;以及在完成对应第一逻辑区域的逻辑地址映射表的更新后,存储器控制器在对应第二逻辑区域的逻辑地址映射表中,将第二逻辑地址映射至第二物理编程单元,将第四逻辑地址映射至第四物理编程单元,将第五逻辑地址映射至第五物理编程单元,并且将第七逻辑地址映射至第七物理编程单元。[0026]在本发明的一实施例中,存储器控制器为此些物理擦除单元的物理编程单元建立一物理地址信息表,并且物理地址信息表记录关于物理擦除单元的所有物理编程单元的信肩、O[0027]在本发明的一实施例中,上述的物理地址信息表为一物理地址映射表,并且物理地址映射表记录每一物理编程单元所映射的逻辑地址。[0028]在本发明的一实施例中,上述的物理地址信息表为一物理地址存储状态表,并且物理地址存储状态表记录每一物理编程单元所存储的数据为有效数据或无效数据的标记。[0029]基于上述,本发明范例实施例的数据存储方法、存储器控制器与存储器存储装置能够有效地减少切换映射表的次数,由此缩短执行写入运作所需的时间。[0030]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。【专利附图】【附图说明】[0031]图1是根据一范例实施例所绘示的主机系统与存储器存储装置。[0032]图2是根据一范例实施例所绘示的计算机、输入/输出装置与存储器存储装置的示意图。[0033]图3是根据一范例实施例所绘示的主机系统与存储器存储装置的示意图。[0034]图4是绘示图1所示的存储器存储装置的概要方块图。[0035]图5是根据一范例实施例所绘示的存储器控制器的概要方块图。[0036]图6与图7是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。[0037]图8是根据本发明范例实施例所绘示的逻辑地址映射表的范例。[0038]图9~图11是根据本发明范例实施例所绘示的进行写入运作而更新逻辑地址映射表的一范例。[0039]图12是根据本范例实施例所绘示的物理地址存储状态表的示意图。[0040]图13是根据本范例实施例所绘示的暂时映射表的示意图。[0041]图14~图20是根据本范例实施例所绘示的在写入来自于主机系统的多笔数据时更新暂时映射表的示意图。为方便说明,在此假设暂时映射表仅能够记录7笔映射记录。[0042]图21~图24是根据本范例实施例所绘示的清除暂时映射表的运作示意图。[0043]图25是根据本范例实施例所绘示的数据存储方法中初始化存储器存储装置的流程图。[0044]图26是根据本范例实施例所绘示的数据存储方法中执行写入运作的流程图。[0045]图27是根据另一范例实施例所绘示的数据存储方法中执行写入运作的流程图。[0046]【主要元件符号说明】[0047]1000:主机系统[0048]1100:计算机[0049]1102:微处理器[0050]1104:随机存取存储器[0051]1106:输入/输出装置[0052]1108:系统总线[0053]1110:数据传输接口[0054]1202:鼠标[0055]1204:键盘[0056]1206:显示器[0057]1252:打印机[0058]I256:随身碟[0059]1214:存储卡[0060]1216:固态硬盘[0061]1310:数字相机[0062]1312:SD卡[0063]1314:MMC卡[0064]1316:记忆棒[0065]1318:CF卡[0066]1320:嵌入式存储装置[0067]100:存储器存储装置[0068]102:连接器[0069]104:存储器控制器[0070]106:可复写式非易失性存储器模块[0071]304(O)~304(R):物理擦除单元[0072]202:存储器管理电路[0073]206:存储器接口[0074]252:缓冲存储器[0075]254:电源管理电路[0076]256:错误检查与校正电路[0077]402:存储区[0078]404:系统区[0079]406:取代区[0080]LZ(O广LZ(M):逻辑区域[0081]LBA(O)^LBA(H):逻辑地址[0082]PBA(0-1)^PBA(N-K):物理编程单元[0083]800、810:逻辑地址映射表[0084]802:逻辑地址索引栏位[0085]804:物理地址栏位[0086]1200:物理地址存储状态表[0087]1202:物理地址索引栏位[0088]1204:状态栏位[0089]1300:暂时映射表[0090]1302:物理地址索引栏位[0091]1304:逻辑地址栏位[0092]S2501、S2503、S2505、S2507:初始化存储器存储装置的步骤[0093]S2601、S2603、S2605、S2607、S2609、S2611、S2613:存储数据的步骤[0094]S2701、S2703、S2705、S2707、S2709:存储数据的步骤【具体实施方式】[0095]—般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。[0096]图1是根据一范例实施例所绘示的主机系统与存储器存储装置。[0097]请参照图1,主机系统1000—般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccessmemory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1252。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。[0098]在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的随身碟1256、存储卡1214或固态硬盘(SolidStateDrive,SSD)1216等的可复写式非易失性存储器存储装置。[0099]一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音讯播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。[0100]图4是绘示图1所示的存储器存储装置的概要方块图。[0101]请参照图4,存储器存储装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。[0102]在本范例实施例中,连接器102是相容于序列先进附件(SerialAdvancedTechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合并列先进附件(ParallelAdvancedTechnologyAttachment,PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用序列总线(UniversalSerialBus,USB)标准、安全数字(SecureDigital,SD)接口标准、超高速一代(UltraHighSpeed-1,UHS-1)接口标准、超高速二代(UltraHighSpeed-1I,UHS-1I)接口标准、记忆棒(MemoryStick,MS)接口标准、多媒体存储卡(MultiMediaCard,MMC)接口标准、炭入式多媒体存储卡(EmbeddedMultimediaCard,eMMC)接口标准、通用快闪存储器(UniversalFlashStorage,UFS)接口标准、小型快闪(CompactFlash,CF)接口标准、整合式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其他适合的标准。[0103]存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与擦除等运作。[0104]可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理擦除单元304(0)~304(R)。例如,物理擦除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理擦除单元分别具有多个物理编程单元,并且属于同一个物理擦除单元的物理编程单元可被独立地写入且被同时地擦除。例如,每一物理擦除单元是由128个物理编程单元所组成。然而,必须了解的是,本发明不限于此,每一物理擦除单元也可由64个物理编程单元、256个物理编程单元或其他任意个物理编程单元所组成。[0105]更详细来说,物理擦除单元为擦除的最小单位。亦即,每一物理擦除单元含有最小数目的一并被擦除的记忆胞。物理编程单元为编程的最小单元。即,物理编程单元为写入数据的最小单元。每一物理编程单元通常包括数据位区与冗余位区。数据位区包含多个物理存取地址用以存储使用者的数据,而冗余位区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个物理编程单元的数据位区中会包含4个物理存取地址,且一个物理存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据位区中也可包含数目更多或更少的物理存取地址,本发明并不限制物理存取地址的大小以及个数。例如,在一范例实施例中,物理擦除单元为物理区块,并且物理编程单元为物理页面或物理扇区,但本发明不以此为限。[0106]在本范例实施例中,可复写式非易失性存储器模块106为多阶记忆胞(MultiLevelCell,MLC)NAND型快闪存储器模块,即一个记忆胞中可存储至少2个位数据。然而,本发明不限于此,可复写式非易失性存储器模块106也可是复数阶记忆胞(TrinaryLevelCell,TLC)NAND型快闪存储器模块、其他快闪存储器模块或其他具有相同特性的存储器模块。[0107]图5是根据一范例实施例所绘示的存储器控制器的概要方块图。必须了解的是,图5所示的存储器控制器的结构仅为一范例,本发明不以此为限。[0108]请参照图5,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。[0109]存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与擦除等运作。[0110]在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。[0111]在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序代码型式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与擦除等运作。[0112]此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、记忆胞管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路。记忆胞管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路是电性连接至微控制器。其中,记忆胞管理电路用以管理可复写式非易失性存储器模块106的物理擦除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器擦除电路用以对可复写式非易失性存储器模块106下达擦除指令以将数据从可复写式非易失性存储器模块106中擦除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。[0113]主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SD标准、UHS-1接口标准、UHS-1I接口标准、MS标准、MMC标准、eMMC接口标准、UFS接口标准、CF标准、IDE标准或其他适合的数据传输标准。[0114]存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。[0115]在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254以及错误检查与校正电路256。[0116]缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。[0117]电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。[0118]错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。[0119]图6与图7是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。[0120]必须了解的是,在此描述可复写式非易失性存储器模块106的物理擦除单元的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作物理擦除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的物理擦除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的物理擦除单元进行操作。[0121]请参照图6,存储器控制器104(或存储器管理电路202)会将可复写式非易失性存储器模块106的物理擦除单元304(O)?304(R)逻辑地分组为存储区402、系统区404与取代区406。[0122]逻辑上属于存储区402的物理擦除单元是用以存储主机系统1000所写入的数据。也就是说,存储器存储装置100会使用分组为存储区402的物理擦除单元来实际地存储主机系统1000所写入的数据。[0123]逻辑上属于系统区404的物理擦除单元是用以记录系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的物理擦除单元数、每一物理擦除单元的物理编程单元数等。[0124]逻辑上属于取代区406中的物理擦除单元是替代物理擦除单元。例如,可复写式非易失性存储器模块106于出厂时会预留4%的物理擦除单元作为更换使用。也就是说,当存储区402与系统区404中的物理擦除单元损毁时,预留于取代区406中的物理擦除单元是用以取代损坏的物理擦除单元(即,坏物理擦除单元(badblock))。因此,倘若取代区406中仍存有正常的物理擦除单元且发生物理擦除单元损毁时,存储器控制器104会从取代区406中提取正常的物理擦除单元来更换损毁的物理擦除单元。倘若取代区406中无正常的物理擦除单元且发生物理擦除单元损毁时,则存储器控制器104会将整个存储器存储装置100宣告为写入保护(writeprotect)状态,而无法再写入数据。[0125]特别是,存储区402、系统区404与取代区406的物理擦除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置100的运作中,物理擦除单元关联至存储区402、系统区404与取代区406的分组关系会动态地变动。例如,当存储区402中的物理擦除单元损坏而被取代区406的物理擦除单元取代时,则原本取代区406的物理擦除单元会被关联至存储区402。[0126]请参照图7,如上所述,存储区402的物理擦除单元是以轮替方式来存储主机系统1000所写入的数据。在本范例实施例中,存储器控制器104(或存储器管理电路202)会配置逻辑地址LBA(O广LBA(H)给主机系统1000以进行数据的存取。每个逻辑地址是由数个扇区(sector)所组成。例如,在本范例实施例中,每一逻辑地址是由4个扇区所组成。但本发明不限于此,在本发明另一范例实施例中,逻辑地址也可是由8个扇区所组成或是由16个扇区所组成。一般来说,存储区402的物理擦除单元的物理编程单元的数目是大于逻辑地址的数目。[0127]例如,当存储器控制器104(或存储器管理电路202)开始使用物理擦除单元304(0)来存储主机系统1000欲写入的数据时,不管主机系统1000是写入那个逻辑地址,存储器控制器104(或存储器管理电路202)会将数据写入至物理擦除单元304(0)的物理编程单元;而当存储器控制器104(或存储器管理电路202)开始使用物理擦除单元304(I)来存储主机系统1000欲写入的数据时,不管主机系统1000是写入那个逻辑地址,存储器控制器104(或存储器管理电路202)会将数据写入至物理擦除单元304(I)的物理编程单元中。也就是说,当写入主机系统1000欲写入的数据时,存储器控制器104(或存储器管理电路202)会使用一个物理擦除单元内的物理编程单元来写入数据,并且当此物理擦除单元内的物理编程单元被使用完后才会再选择另一个无存储数据的物理擦除单元,并且在新选择的物理擦除单元的物理编程单元中继续写入数据。[0128]为了识别数据每个逻辑地址的被存储在那个物理编程单元,在本范例实施例中,存储器控制器104(或存储器管理电路202)会记录逻辑地址与物理编程单元之间的映射关系。并且,当主机系统1000欲在扇区中存取数据时,存储器控制器104(或存储器管理电路202)会确认此扇区所属的逻辑地址,并且在此逻辑地址所映射的物理编程单元中来存取数据。例如,在本范例实施例中,存储器控制器104(或存储器管理电路202)会在可复写式非易失性存储器模块106中存储逻辑地址映射表来记录每一逻辑地址所映射的物理编程单元,并且当欲存取数据时存储器控制器104(或存储器管理电路202)会将逻辑地址映射表载入至缓冲存储器252来维护。[0129]值得一提的是,由于缓冲存储器252的容量有限无法存储记录所有逻辑地址的映射关系的映射表,因此,在本范例实施例中,存储器控制器104(或存储器管理电路202)会将逻辑地址LBA(O广LBA(H)分组为多个逻辑区域LZ(O广LZ(M),并且为每一逻辑区域配置一个逻辑地址映射表。特别是,当存储器控制器104(或存储器管理电路202)欲更新某个逻辑地址的映射关系时,对应此逻辑地址所属的逻辑区域的逻辑地址映射表会被载入至缓冲存储器252来被更新。[0130]图8是根据本发明范例实施例所绘示的逻辑地址映射表的范例。[0131]请参照图8,在本范例实施例中,每一逻辑区域的逻辑地址映射表是相同的,在此仅以对应逻辑区域LZ(O)的逻辑地址映射表800来作说明。逻辑地址映射表800包括逻辑地址索引栏位802以及物理地址栏位804。逻辑地址索引栏位802记录逻辑区域LZ(O)的每个逻辑地址的编号并且物理地址栏位804记录每个逻辑地址所映射的物理编程单元。在存储器存储装置100为全新且未曾被用来存储数据的状态下,所有逻辑地址映射表中对应每一个逻辑地址所映射的物理编程单元的栏位会被标记为空值(例如,NULL)。[0132]图9-图11是根据本发明范例实施例所绘示的进行写入运作而更新逻辑地址映射表的一范例。[0133]请参照图9,倘若在存储器存储装置100为全新且未曾被用来存储数据的状态下主机系统1000欲写入数据至逻辑地址LBA(I)时,存储器控制器104(或存储器管理电路202)会选择一个物理擦除单元(例如,物理擦除单元304(0))并且将主机系统1000欲写入的数据写入至物理编程单元PBA(0-1)。在完成数据的写入后,存储器控制器104(或存储器管理电路202)会在逻辑地址映射表800中将逻辑地址LBA(I)映射至物理编程单元PBA(O-1)。[0134]请参照图10,倘若在图9的状态下主机系统1000欲写入数据至逻辑地址LBA(129)时,存储器控制器104(或存储器管理电路202)会将主机系统1000欲写入的数据写入至物理编程单元PBA(0-2)中。此时,存储器控制器104(或存储器管理电路202)会在逻辑地址映射表800中将逻辑地址LBA(129)映射至物理编程单元PBA(0_2)。[0135]请参照图11,倘若在图10的状态下主机系统1000欲写入数据至逻辑地址LBA(I)时,存储器控制器104(或存储器管理电路202)会将主机系统1000欲写入的数据写入至物理编程单元ΡΒΑ(0-3)中。此时,存储器控制器104(或存储器管理电路202)会在逻辑地址映射表800中将逻辑地址LBA(I)映射至物理编程单元PBA(0-3)。此时,物理编程单元PBA(O-1)所存储的数据为无效数据。特别是,在某个物理擦除单元的所有物理编程单元所存储的数据皆为无效数据时,存储器控制器104(或存储器管理电路202)就可对此物理擦除单元执行擦除运作并且所擦除后的物理擦除单元就可再被用来写入数据。基此,为了识别存储无效数据的物理编程单元,在本范例实施例中,存储器控制器104(或存储器管理电路202)会维护物理地址信息表,由此来识别每个物理地址所存储的数据为有效数据或无效数据。例如,存储器控制器104(或存储器管理电路202)会使用物理地址存储状态表来记录物理地址的状态。[0136]图12是根据本范例实施例所绘示的物理地址存储状态表的示意图。[0137]请参照图12,物理地址存储状态表1200包括物理地址索引栏位1202与状态栏位1204,物理地址索引栏位1202记录每个物理编程单元的编号且状态栏位1204记录每个对应物理编程单元的状态。例如,当状态栏位被标记为‘0’时,表示对应的物理编程单元所存储的数据为无效数据且状态栏位被标记为‘I’时,表示对应的物理编程单元存储数据为有效数据,但本发明不限于此。[0138]值得一提的,除了使用上述的物理地址存储状态表1200来识别物理地址的状态外,在本发明另一范例实施例中,物理地址映射表也可被用来识别物理地址的状态。例如,物理地址映射表包括物理地址索引栏位与逻辑地址栏位,其中逻辑地址栏位用以记录映射物理地址索引栏位所记录的物理编程单元的逻辑地址。并且,通过比对逻辑地址映射表与物理地址映射表,每个物理编程单元所存储的数据为有效数据或无效数据就可被识别。[0139]如上所述,在存储器存储装置100运作期间对应所有逻辑区域的逻辑地址映射表无法同时被载入至缓冲存储器252。因此,如果主机系统1000频繁地存取属于不同逻辑区域的逻辑地址时,存储器控制器104(或存储器管理电路202)需频繁地切换对应的逻辑地址映射表(即,将已完成更新的逻辑地址映射表回存至可复写式非易失性存储器模块106且将对应目前欲存取的逻辑地址所属的逻辑区域的逻辑地址映射表载入至缓冲存储器252),由此会严重影响存储器存储装置100的存取效能。基此,在本范例实施例中,存储器控制器104(或存储器管理电路202)更建立暂时映射表,以记录部分物理编程单元与逻辑地址的映射关系。特别是,在执行写入运作期间,如果对应的逻辑地址映射表未存于缓冲存储器252中时,存储器控制器104(或存储器管理电路202)会使用此暂时映射表来记录映射目前所写入的物理编程单元的逻辑地址,由此避免频繁执行切换逻辑地址映射表的运作。[0140]图13是根据本范例实施例所绘示的暂时映射表的示意图。[0141]请参照图13,暂时映射表1300包括物理地址索引栏位1302与逻辑地址栏位1304。物理地址索引栏位1302用以记录被用以写入数据的物理编程单元的编号,并且逻辑地址栏位1304用以记录映射被写入数据的物理编程单元的逻辑地址的编号。特别是,暂时映射表1300仅能够记录预定笔数的映射记录,因此,每当暂时映射表1300被写满时,存储器控制器104(或存储器管理电路202)会根据暂时映射表1300的映射记录更新对应的逻辑地址映射表,并且将暂时映射表1300的记录清除,以利记录对应下个写入运作的映射关系。然而,本发明并不限于此,在另一范例实施例中,存储器控制器104(或存储器管理电路202)也可在暂时映射表1300被写满时,再开启另一暂时映射表以记录对应下个写入运作的映射关系。也就是说,在本范例实施例中,物理地址存储状态表记录关于所有物理擦除单元的所有物理编程单元的信息,而暂时映射表是记录其中一部分物理编程单元的映射关系。例如,暂时映射表所能够记录的映射记录的笔数可根据缓冲存储器252的大小来设计。[0142]图14?图20是根据本范例实施例所绘示的在写入来自于主机系统的多笔数据时更新暂时映射表的示意图。为了方便说明,在此假设暂时映射表仅能够记录7笔映射记录。[0143]请参照图14,倘若主机系统1000欲将数据存储至属于逻辑区域LZ(O)的逻辑地址LBA(3)且对应逻辑区域LZ(O)的逻辑地址映射表未存于缓冲存储器252时,存储器控制器104(或存储器管理电路202)会选择一个物理擦除单元(例如,物理擦除单元304(O)),将此数据写入至物理擦除单元304(O)的物理编程单元PBA(0-1),并且在暂时映射表1300中记录物理编程单元PBA(O-1)是映射至逻辑地址LBA(3)。[0144]请参照图15,接着,倘若主机系统1000欲将数据存储至属于逻辑区域LZ(I)的逻辑地址LBA(Z+4)且对应逻辑区域LZ(I)的逻辑地址映射表未存于缓冲存储器252时,存储器控制器104(或存储器管理电路202)会将此数据写入至物理擦除单元304(0)的物理编程单元PBA(0-2),并且在暂时映射表1300中记录物理编程单元PBA(0-2)是映射至逻辑地址LBA(Z+4)。[0145]请参照图16,接着,倘若主机系统1000欲将数据存储至属于逻辑区域LZ(O)的逻辑地址LBA(2)且对应逻辑区域LZ(O)的逻辑地址映射表未存于缓冲存储器252时,存储器控制器104(或存储器管理电路202)会将此数据写入至物理擦除单元304(0)的物理编程单元PBA(0-3),并且在暂时映射表1300中记录物理编程单元PBA(0-3)是映射至逻辑地址LBA⑵。[0146]请参照图17,接着,倘若主机系统1000欲将数据存储至属于逻辑区域LZ(I)的逻辑地址LBA(Z+2)且对应逻辑区域LZ(I)的逻辑地址映射表未存于缓冲存储器252时,存储器控制器104(或存储器管理电路202)会将此数据写入至物理擦除单元304(0)的物理编程单元PBA(0-4),并且在暂时映射表1300中记录物理编程单元PBA(0-4)是映射至逻辑地址LBA(Z+2)。[0147]请参照图18,接着,倘若主机系统1000欲将数据存储至属于逻辑区域LZ(I)的逻辑地址LBA(Z+1)且对应逻辑区域LZ(I)的逻辑地址映射表未存于缓冲存储器252时,存储器控制器104(或存储器管理电路202)会将此数据写入至物理擦除单元304(0)的物理编程单元PBA(0-5),并且在暂时映射表1300中记录物理编程单元PBA(0-5)是映射至逻辑地址LBA(Z+I)。[0148]请参照图19,接着,倘若主机系统1000欲将数据存储至属于逻辑区域LZ(O)的逻辑地址LBA(IO)且对应逻辑区域LZ(O)的逻辑地址映射表未存于缓冲存储器252时,存储器控制器104(或存储器管理电路202)会将此数据写入至物理擦除单元304(O)的物理编程单元PBA(0-6),并且在暂时映射表1300中记录物理编程单元PBA(0-6)是映射至逻辑地址LBA(IO)。[0149]请参照图20,接着,倘若主机系统1000欲将数据存储至属于逻辑区域LZ(I)的逻辑地址LBA(Z+3)且对应逻辑区域LZ(I)的逻辑地址映射表未存于缓冲存储器252时,存储器控制器104(或存储器管理电路202)会将此数据写入至物理擦除单元304(0)的物理编程单元PBA(0-7),并且在暂时映射表1300中记录物理编程单元PBA(0-7)是映射至逻辑地址LBA(Z+3)。[0150]在图14?图20的写入运作中,由于映射关系是记录在暂时映射表1300中,因此,既使对应的逻辑地址映射表未存于缓冲存储器252,也无需执行逻辑地址映射表的切换,由此可大幅提升写入数据的速度。[0151]在本范例实施例中,当暂时映射表1300被写满时,存储器控制器104(或存储器管理电路202)会进行清除暂时映射表的运作。[0152]具体来说,存储器控制器104(或存储器管理电路202)会根据记录在暂时映射表1300的逻辑地址所属的逻辑区域来排序记录在暂时映射表1300的映射记录,并且以逻辑区域为单位来更新对应的逻辑地址映射表,由此避免多次切换逻辑地址映射表。[0153]图21?图24是根据本范例实施例所绘示的清除暂时映射表的运作示意图。[0154]请参照图21,倘若欲对已写满的暂时映射表1300(如图20所示)进行清楚运作时,存储器控制器104(或存储器管理电路202)会将关于属于逻辑区域LZ(O)的逻辑地址LBA(3)、LBA⑵与LBA(IO)的映射记录排在一起,然后,将关于属于逻辑区域LZ(I)的逻辑地址LBA(Z+4)、LBA(Z+2)、LBA(Z+1)与LBA(Z+3)的映射记录排在一起。然后,存储器控制器104(或存储器管理电路202)会依据排序后的暂时映射表1300先更新对应逻辑区域LZ(O)的逻辑地址映射表800(如图22所示),之后,再更新对应逻辑区域LZ(I)的逻辑地址映射表810(如图23所示)。[0155]具体来说,存储器控制器104(或存储器管理电路202)会在对应逻辑区域LZ(O)的逻辑地址映射表800将逻辑地址LBA(3)映射至物理编程单元PBA(O-1),将逻辑地址LBA⑵映射至物理编程单元PBA(0-3)并且将逻辑地址LBA(10)映射至物理编程单元PBA(0-6)。之后,存储器控制器104(或存储器管理电路202)会在对应逻辑区域LZ(I)的逻辑地址映射表810将逻辑地址LBA(Z+4)映射至物理编程单元PBA(0-2),将逻辑地址LBA(Z+2)映射至物理编程单元PBA(0-4),将逻辑地址LBA(Z+1)映射至物理编程单元PBA(0-5)并且将逻辑地址LBA(Z+3)映射至物理编程单元PBA(0_7)。[0156]此外,存储器控制器104(或存储器管理电路202)更会更新物理地址存储状态表,以记录物理编程单元ΡΒΑ(0-?)~ΡΒΑ(0-7)所存储的数据为有效数据(如图24所示)。再者,存储器控制器104(或存储器管理电路202)会将暂时映射表1300中的映射记录清除,以回复如图13所示的状态。[0157]值得一提的是,尽管在本范例实施例中,是描述在暂时映射表已被写满时,执行暂时映射表的清除运作。然而,本发明不限于此。例如,在发生进行数据合并运作、编程错误或存储器存储装置100进行关机时,也可对暂时映射表执行清除运作,以确保最新的映射关系已被更新至逻辑地址映射表。[0158]图25是根据本范例实施例所绘示的数据存储方法中初始化存储器存储装置的流程图。[0159]请参照图25,在步骤S2501中,存储器控制器104(或存储器管理电路202)会配置多个逻辑地址,并且将此些逻辑地址划分为多个逻辑区域。[0160]在步骤S2503中,存储器控制器104(或存储器管理电路202)会分别地为此些逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表以记录此逻辑区域内的逻辑地址的映射关系。[0161]并且,在步骤S2505中,存储器控制器104(或存储器管理电路202)会为存储器存储装置100的物理擦除单元的物理编程单元建立一物理地址信息表,以记录每一物理编程单元所存储的数据为有效数据或无效数据。[0162]然后,在步骤S2507中,存储器控制器104(或存储器管理电路202)会建立暂时映射表,以记录部分物理编程单元的映射关系。[0163]图26是根据本范例实施例所绘示的数据存储方法中执行写入运作的流程图。[0164]请参照图26,在步骤S2601中,存储器控制器104(或存储器管理电路202)从主机系统1000中接收数据,其中主机系统1000指示将此数据存储至一个逻辑地址(以下称为第一逻辑地址)。[0165]在步骤S2603中,存储器控制器104(或存储器管理电路202)会将此数据写入至其中一个空的物理编程单元(以下称为第一物理编程单元)。[0166]在步骤S2605中,存储器控制器104(或存储器管理电路202)会判断对应第一逻辑地址所属的逻辑区域的逻辑地址映射表是否已被载入至缓冲存储器252中。[0167]倘若对应第一逻辑地址所属的逻辑区域的逻辑地址映射表已被载入至缓冲存储器252中时,在步骤S2607中,存储器控制器104(或存储器管理电路202)会直接在对应第一逻辑地址所属的逻辑区域的逻辑地址映射表中将第一逻辑地址映射至第一物理编程单元。然后,图26的流程会被中止。[0168]倘若对应第一逻辑地址所属的逻辑区域的逻辑地址映射表未被载入至缓冲存储器252中时,在步骤S2609中,存储器控制器104(或存储器管理电路202)会在暂时映射表中将第一物理编程单元映射至第一逻辑地址。[0169]然后,在步骤S2611中,存储器控制器104(或存储器管理电路202)会判断暂时映射表是否已被写满。[0170]倘若暂时映射表未被写满时,图26的流程会被中止。[0171]倘若暂时映射表已被写满时,在步骤S2613中,存储器控制器104(或存储器管理电路202)会根据记录在暂时映射表中的映射记录在对应的逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系,更新物理地址信息表并且清除记录在暂时映射表中的映射记录。然后,图26的流程会被中止。[0172]值得一提的是,在本发明另一范例实施例中,存储器控制器104(或存储器管理电路202)也可不判断对应第一逻辑地址所属的逻辑区域的逻辑地址映射表是否已被载入至缓冲存储器252,而直接先使用暂时映射表来记录目前写入的物理地址的映射关系。[0173]图27是根据另一范例实施例所绘示的数据存储方法中执行写入运作的流程图。[0174]请参照图27,在步骤S2701中,存储器控制器104(或存储器管理电路202)从主机系统1000中接收数据,其中主机系统1000指示将此数据存储至一个逻辑地址(以下称为第一逻辑地址)。[0175]在步骤S2703中,存储器控制器104(或存储器管理电路202)会将此数据写入至其中一个空的物理编程单元(以下称为第一物理编程单元)。[0176]在步骤S2705中,存储器控制器104(或存储器管理电路202)会在暂时映射表中将第一物理编程单元映射至第一逻辑地址。[0177]然后,在步骤S2707中,存储器控制器104(或存储器管理电路202)会判断暂时映射表是否已被写满。[0178]倘若暂时映射表未被写满时,图27的流程会被中止。[0179]倘若暂时映射表已被写满时,在步骤S2709中,存储器控制器104(或存储器管理电路202)会根据记录在暂时映射表中的映射记录在对应的逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系,更新物理地址信息表并且清除记录在暂时映射表中的映射记录。[0180]综上所述,本发明范例实施例的数据存储方法、存储器控制器与存储器存储装置能够有效地减少切换映射表的次数,由此缩短写入数据所需的时间。[0181]虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附权利要求书所界定者为准。【权利要求】1.一种数据存储方法,用于一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元,该数据存储方法包括:配置多个逻辑地址,并且将所述多个逻辑地址划分为多个逻辑区域;分别地为所述多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表;从一主机系统中接收一数据,其中该主机系统指示将所述数据存储至所述多个逻辑地址之中的一第一逻辑地址;将所述数据写入至所述多个物理擦除单元的物理编程单元之中的一第一物理编程单元;在一暂时映射表中记录所述第一物理编程单元映射至所述第一逻辑地址;判断所述暂时映射表是否已被写满;以及倘若所述暂时映射表已被写满时,根据记录在所述暂时映射表中的多个映射记录在这些逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系,并且清除记录在所述暂时映射表中的所述多个映射记录,其中所述暂时映射表记录所述多个物理擦除单元的多个物理编程单元的其中一部分物理编程单元的映射关系。2.如权利要求1所述的数据存储方法,其中上述根据记录在所述暂时映射表中的所述多个映射记录,在所述逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的步骤包括:根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射表中的所述多个映射记录;以及根据排序后的映射记录依序地更新所述逻辑地址映射表中所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系。3.如权利要求1所述的数据存储方法,其中所述多个物理擦除单元的物理编程单元之中的一第二物理编程单元已被写入属于所述多个逻辑地址之中的一第二逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第三物理编程单元已被写入属于所述多个逻辑地址之中的一第三逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第四物理编程单元已被写入属于所述多个逻辑地址之中的一第四逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第五物理编程单元已被写入属于所述多个逻辑地址之中的一第五逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第六物理编程单元已被写入属于所述多个逻辑地址之中的一第六逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第七物理编程单元已被写入属于所述多个逻辑地址之中的一第七逻辑地址的有效数据,所述第一逻辑地址、所述第三逻辑地址与所述第六逻辑地址属于所述多个逻辑区域之中的一第一逻辑区域并且所述第二逻辑地址、所述第四逻辑地址、所述第五逻辑地址与所述第七逻辑地址属于所述多个逻辑区域之中的一第二逻辑区域,其中上述根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射表中的所述多个映射记录的步骤包括:依据所述第一逻辑地址、所述第三逻辑地址、所述第六逻辑地址、所述第二逻辑地址、所述第四逻辑地址、所述第五逻辑地址与所述第七逻辑地址的顺序排列记录在所述暂时映射表中的所述多个映射记录。4.如权利要求3所述的数据存储方法,其中上述根据排序后的映射记录更新所述逻辑地址映射表中所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的步骤包括:先在对应所述第一逻辑区域的逻辑地址映射表中,将所述第一逻辑地址映射至所述第一物理编程单元,将所述第三逻辑地址映射至所述第三物理编程单元,并且将所述第六逻辑地址映射至所述第六物理编程单元;以及在完成对应所述第一逻辑区域的逻辑地址映射表的更新后,在对应所述第二逻辑区域的逻辑地址映射表中,将所述第二逻辑地址映射至所述第二物理编程单元,将所述第四逻辑地址映射至所述第四物理编程单元,将所述第五逻辑地址映射至所述第五物理编程单元,并且将所述第七逻辑地址映射至所述第七物理编程单元。5.如权利要求1所述的数据存储方法,还包括:为所述多个物理擦除单元的物理编程单元建立一物理地址信息表,其中该物理地址信息表记录关于所述多个物理擦除单元的所有物理编程单元的信息。6.如权利要求5所述的数据存储方法,其中所述物理地址信息表为一物理地址映射表,并且该物理地址映射表记录每一物理编程单元所映射的逻辑地址。7.如权利要求5所述的数据存储方法,其中所述物理地址信息表为一物理地址存储状态表,并且该物理地址存储状态表记录每一物理编程单元所存储的数据为有效数据或无效数据的标记。`8.一种数据存储方法,用于一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元,该数据存储方法包括:配置多个逻辑地址,并且将所述多个逻辑地址划分为多个逻辑区域;分别地为所述多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表;从一主机系统中接收一数据,其中该主机系统指示将所述数据存储至所述多个逻辑地址之中的一第一逻辑地址;将所述数据写入至所述多个物理擦除单元的物理编程单元之中的一第一物理编程单元;判断对应所述第一逻辑地址所属的逻辑区域的逻辑地址映射表是否已被载入至一缓冲存储器;倘若对应所述第一逻辑地址所属的逻辑区域的逻辑地址映射表已被载入至所述缓冲存储器时,在对应所述第一逻辑地址所属的逻辑区域的逻辑地址映射表中将所述第一逻辑地址映射至所述第一物理编程单元;倘若对应所述第一逻辑地址所属的逻辑区域的逻辑地址映射表未被载入至所述缓冲存储器时,在一暂时映射表中记录所述第一物理编程单元映射至所述第一逻辑地址;判断所述暂时映射表是否已被写满;以及倘若所述暂时映射表已被写满时,根据记录在所述暂时映射表中的多个映射记录在这些逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系,并且清除记录在所述暂时映射表中的所述多个映射记录,其中所述暂时映射表记录所述多个物理擦除单元的多个物理编程单元的其中一部分物理编程单元的映射关系。9.如权利要求8所述的数据存储方法,还包括:为所述多个物理擦除单元的物理编程单元建立一物理地址信息表,其中该物理地址信息表记录关于所述多个物理擦除单元的所有物理编程单元的信息。10.一种存储器控制器,用于控制一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元,该存储器控制器包括:一主机接口,用以电性连接至一主机系统;一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及一存储器管理电路,电性连接至该主机接口与该存储器接口,其中该存储器管理电路用以配置多个逻辑地址,并且将所述多个逻辑地址划分为多个逻辑区域,其中该存储器管理电路还用以分别地为所述多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表,其中该存储器管理电路还`用以从该主机系统中接收一数据,其中该主机系统指示将所述数据存储至所述多个逻辑地址之中的一第一逻辑地址,其中该存储器管理电路还用以将所述数据写入至所述多个物理擦除单元的物理编程单元之中的一第一物理编程单元,且在一暂时映射表中记录所述第一物理编程单元映射至所述第一逻辑地址,其中该存储器管理电路还用以判断所述暂时映射表是否已被写满,其中倘若所述暂时映射表已被写满时,该存储器管理电路还用以根据记录在所述暂时映射表中的多个映射记录在这些逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系,并且清除记录在所述暂时映射表中的所述多个映射记录,其中所述暂时映射表记录所述多个物理擦除单元的多个物理编程单元的其中一部分物理编程单元的映射关系。11.如权利要求10所述的存储器控制器,其中在上述根据记录在所述暂时映射表中的所述多个映射记录,在所述逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的运作中,该存储器管理电路根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射表中的所述多个映射记录,且根据排序后的映射记录依序地更新所述逻辑地址映射表中所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系。12.如权利要求10所述的存储器控制器,其中所述多个物理擦除单元的物理编程单元之中的一第二物理编程单元已被写入属于所述多个逻辑地址之中的一第二逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第三物理编程单元已被写入属于所述多个逻辑地址之中的一第三逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第四物理编程单元已被写入属于所述多个逻辑地址之中的一第四逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第五物理编程单元已被写入属于所述多个逻辑地址之中的一第五逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第六物理编程单元已被写入属于所述多个逻辑地址之中的一第六逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第七物理编程单元已被写入属于所述多个逻辑地址之中的一第七逻辑地址的有效数据,所述第一逻辑地址、所述第三逻辑地址与所述第六逻辑地址属于所述多个逻辑区域之中的一第一逻辑区域并且所述第二逻辑地址、所述第四逻辑地址、所述第五逻辑地址与所述第七逻辑地址属于所述多个逻辑区域之中的一第二逻辑区域,其中在上述根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射表中的所述多个映射记录的运作中,该存储器管理电路依据所述第一逻辑地址、所述第三逻辑地址、所述第六逻辑地址、所述第二逻辑地址、所述第四逻辑地址、所述第五逻辑地址与所述第七逻辑地址的顺序排列记录在所述暂时映射表中的所述多个映射记录。13.如权利要求10所述的存储器控制器,其中在上述根据排序后的映射记录依序地更新所述逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的运作中,该存储器管理电路先在对应所述第一逻辑区域的逻辑地址映射表中,将所述第一逻辑地址映射至所述第一物理编程单元,将所述第三逻辑地址映射至所述第三物理编程单元,并且将所述第六逻辑地址映射至所述第六物理编程单元;以及在完成对应所述第一逻辑区域的逻辑地址映射表的更新后,该存储器管理电路在对应所述第二逻辑区域的逻辑地址映射表中,将所述第二逻辑地址映射至所述第二物理编程单元,将所述第四逻辑地址映射至所述第四物理编程单元,将所述第五逻辑地址映射至所述第五物理编程单元,并且将所述第七逻辑地址映射至所述第七物理编程单元。14.如权利要求10所述的存储器控制器,其中该存储器管理电路还用以为所述多个物理擦除单元的物理编程单元建立一物理地址信息表,并且该物理地址信息表记录关于所述多个物理擦除单元的所有物理编程单元的信息。15.如权利要求14所述的存储器控制器,其中所述物理地址信息表为一物理地址映射表,并且该物理地址映射表记录每一物理编程单元所映射的逻辑地址。16.如权利要求14所述的存储器控制器,其中所述物理地址信息表为一物理地址存储状态表,并且该物理地址存储状态表记录每一物理编程单元所存储的数据为有效数据或无效数据的标记。17.一种存储器存储装置,包括:一连接器,用以电性连接至一主机系统;一可复写式非易失性存储器模块,具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元;以及一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,其中该存储器控制器用以配置多个逻辑地址,并且将所述多个逻辑地址划分为多个逻辑区域,其中该存储器控制器还用以分别地所述多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表,其中该存储器控制器还用以从该主机系统中接收一数据,其中该主机系统指示将所述数据存储至所述多个逻辑地址之中的一第一逻辑地址,其中该存储器控制器还用以将所述数据写入至所述多个物理擦除单元的物理编程单元之中的一第一物理编程单元,且在一暂时映射表中记录所述第一物理编程单元映射至所述第一逻辑地址,其中该存储器控制器还用以判断所述暂时映射表是否已被写满,其中倘若所述暂时映射表已被写满时,该存储器控制器还用以根据记录在所述暂时映射表中的多个映射记录在这些逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系,并且清除记录在所述暂时映射表中的所述多个映射记录,其中所述暂时映射表记录所述多个物理擦除单元的多个物理编程单元的其中一部分物理编程单元的映射关系。18.如权利要求17所述的存储器存储装置,其中在上述根据记录在所述暂时映射表中的所述多个映射记录,在所述逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的运作中,该存储器控制器根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射表中的所述多个映射记录,且根据排序后的映射记录依序地更新所述逻辑地址映射表中所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系。19.如权利要求17所述的存储器存储装置,其中所述多个物理擦除单元的物理编程单元之中的一第二物理编程单元已被写入属于所述多个逻辑地址之中的一第二逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第三物理编程单元已被写入属于所述多个逻辑地址之中的一第三逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第四物理编程单元已被写入属于所述多个逻辑地址之中的一第四逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第五物理编程单元已被写入属于所述多个逻辑地址之中的一第五逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第六物理编程单元已被写入属于所述多个逻辑地址之中的一第六逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第七物理编程单元已被写入属于所述多个逻辑地址之中的一第七逻辑地址的有效数据,所述第一逻辑地址、所述第三逻辑地址与所述第六逻辑地址属于所述多个逻辑区域之中的一第一逻辑区域并且所述第二逻辑地址、所述第四逻辑地址、所述第五逻辑地址与所述第七逻辑地址属于所述多个逻辑区域之中的一第二逻辑区域,其中在上述根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射表中的所述多个映射记录的运作中,该存储器控制器依据所述第一逻辑地址、所述第三逻辑地址、所述第六逻辑地址、所述第二逻辑地址、所述第四逻辑地址、所述第五逻辑地址与所述第七逻辑地址的顺序排列记录在所述暂时映射表中的所述多个映射记录。20.如权利要求17所述的存储器存储装置,其中在上述根据排序后的映射记录依序地更新所述逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的运作中,该存储器控制器先在对应所述第一逻辑区域的逻辑地址映射表中,将所述第一逻辑地址映射至所述第一物理编程单元,将所述第三逻辑地址映射至所述第三物理编程单元,并且将所述第六逻辑地址映射至所述第六物理编程单元;以及在完成对应所述第一逻辑区域的逻辑地址映射表的更新后,该存储器控制器在对应所述第二逻辑区域的逻辑地址映射表中,将所述第二逻辑地址映射至所述第二物理编程单元,将所述第四逻辑地址映射至所述第四物理编程单元,将所述第五逻辑地址映射至所述第五物理编程单元,并且将所述第七逻辑地址映射至所述第七物理编程单元。21.如权利要求17所述的存储器存储装置,其中该存储器控制器还用以为所述多个物理擦除单元的物理编程单元建立一物理地址信息表,并且该物理地址信息表记录关于所述多个物理擦除单元的所有物理编程单元的信息。22.如权利要求21所述的存储器存储装置,其中所述物理地址信息表为一物理地址映射表,并且该物理地址映射表记录每一物理编程单元所映射的逻辑地址。23.如权利要求21所述的存储器存储装置,其中所述物理地址信息表为一物理地址存储状态表,并且该物理地址存储状态表记录每一物理编程单元所存储的数据为有效数据或无效数据的标记。`【文档编号】G06F12/02GK103530062SQ201210229126【公开日】2014年1月22日申请日期:2012年7月3日优先权日:2012年7月3日【发明者】叶志刚申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1