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

技术编号:9596531 阅读:74 留言:0更新日期:2014-01-23 02:04
本发明专利技术提出一种数据存储方法、存储器控制器与存储器存储装置。该数据存储方法,用于可复写式非易失性存储器模块,包括将逻辑地址划分为多个逻辑区域,且分别地为此些逻辑区域建立逻辑地址映射表。本方法亦包括将属于一个逻辑地址的数据写入至一个物理编程单元;且在暂时映射表中将此物理编程单元映射至此逻辑地址。本方法还包括,当暂时映射表已被写满时,根据记录在暂时映射表中的映射记录在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系并且清除记录在暂时映射表中的映射记录。

【技术实现步骤摘要】
数据存储方法、存储器控制器与存储器存储装置
本专利技术涉及一种用于可复写式非易失性存储器模块的数据存储方法及使用此方法的存储器控制器与存储器存储装置。
技术介绍
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储介质的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于便携式电子产品,例如笔记型计算机。固态硬盘就是一种以快闪存储器作为存储介质的存储装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。一般来说,快闪存储器存储装置的快闪存储器模块会划分为多个物理区块,其中物理区块更划分为多个物理页面,而物理区块是快闪存储器的擦除单位并且物理页面是快闪存储器的写入单位。由于在编程快闪存储器的记忆胞时,仅能执行单向的编程(即,仅能将记忆胞的值由1编程为0),因此无法对已编程的物理页面(即,存有旧数据的页面)直接进行写入,而是必须先将此物理页面擦除后方可重新编程。特别是,由于快闪存储器的擦除是以物理区块为单位,因此当欲将存有旧数据的物理页面执行擦除运作时,必须对此物理页面所属的整个物理区块进行擦除。因此,快闪存储器模块的物理区块会被区分为数据区与闲置区,其中数据区的物理区块是已被使用来存储数据的物理区块,而备用区中的物理区块是未被使用的物理区块,其中当主机系统欲写入数据至快闪存储器存储装置时,快闪存储器存储装置的控制电路会从备用区中提取物理区块来写入数据,并且将所提取的物理区块会关联为数据区。并且,当数据区的物理区块被执行擦除运作(eraseoperation)后,已擦除的物理区块会被关联为备用区。由于主机系统是以逻辑地址来进行写入,并且主机系统写入数据至逻辑地址时经常不会依据逻辑地址的顺序来写入。基此,如何有效地记录逻辑地址与物理地址之间的映射关系,以提升存储数据的速度是此领域技术人员所致力的目标。
技术实现思路
本专利技术提供一种数据存储方法、存储器控制器与存储器存储装置,其能够有效地提升数据写入运作的效能。本专利技术一范例实施例提出一种数据存储方法,用于可复写式非易失性存储器模块,此可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元。本数据存储方法包括配置多个逻辑地址,并且将此些逻辑地址划分为多个逻辑区域。本数据存储方法也包括分别地为此些逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表。本数据存储方法亦包括从主机系统中接收一数据,其中此主机系统指示将此数据存储至第一逻辑地址。本数据存储方法还包括:将此数据写入至第一物理编程单元;在暂时映射表中记录第一物理编程单元映射至第一逻辑地址;并且判断暂时映射表是否已被写满。本数据存储方法还包括,倘若暂时映射表已被写满时,根据记录在暂时映射表中的多个映射记录在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系,并且清除记录在暂时映射表中的映射记录,其中暂时映射表记录其中一部分物理编程单元的映射关系。在本专利技术的一实施例中,上述的根据记录在暂时映射表中的映射记录,在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系的步骤包括:根据记录在暂时映射表中的逻辑地址所属的逻辑区域排序记录在暂时映射表中的映射记录;以及根据排序后的映射记录依序地更新逻辑地址映射表中所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系。在本专利技术的一实施例中,第二物理编程单元已被写入属于第二逻辑地址的有效数据,第三物理编程单元已被写入属于第三逻辑地址的有效数据,第四物理编程单元已被写入属于第四逻辑地址的有效数据,第五物理编程单元已被写入属于第五逻辑地址的有效数据,第六物理编程单元已被写入属于第六逻辑地址的有效数据,第七物理编程单元已被写入属于第七逻辑地址的有效数据,上述第一逻辑地址、第三逻辑地址与第六逻辑地址属于第一逻辑区域并且上述第二逻辑地址、第四逻辑地址、第五逻辑地址与第七逻辑地址属于第二逻辑区域。并且,上述根据记录在暂时映射表中的逻辑地址所属的逻辑区域排序记录在暂时映射表中的映射记录的步骤包括:依据上述第一逻辑地址、第三逻辑地址、第六逻辑地址、第二逻辑地址、第四逻辑地址、第五逻辑地址与第七逻辑地址的顺序排列记录在暂时映射表中的映射记录。在本专利技术的一实施例中,上述的根据排序后的映射记录依序地更新逻辑地址映射表中逻辑地址与物理擦除单元的物理编程单元之间的映射关系的步骤包括:先在对应第一逻辑区域的逻辑地址映射表中,将上述第一逻辑地址映射至所述第一物理编程单元,将上述第三逻辑地址映射至第三物理编程单元,并且将上述第六逻辑地址映射至第六物理编程单元;以及在完成对应第一逻辑区域的逻辑地址映射表的更新后,在对应第二逻辑区域的逻辑地址映射表中,将第二逻辑地址映射至第二物理编程单元,将第四逻辑地址映射至第四物理编程单元,将第五逻辑地址映射至第五物理编程单元,并且将第七逻辑地址映射至第七物理编程单元。在本专利技术的一实施例中,上述的数据存储方法还包括为此些物理擦除单元的物理编程单元建立一物理地址信息表,其中物理地址信息表记录关于所有物理编程单元的信息。在本专利技术的一实施例中,上述的物理地址信息表为一物理地址映射表,并且物理地址映射表记录每一物理编程单元所映射的逻辑地址。在本专利技术的一实施例中,上述的物理地址信息表为一物理地址存储状态表,并且物理地址存储状态表记录每一物理编程单元所存储的数据为有效数据或无效数据的标记。本专利技术一范例实施例提出数据存储方法,用于可复写式非易失性存储器模块,此可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元。本数据存储方法包括:配置多个逻辑地址,并且将此些逻辑地址划分为多个逻辑区域。本数据存储方法还包括分别地为此些逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表。本数据存储方法也包括从主机系统中接收数据,其中此主机系统指示将此数据存储至第一逻辑地址。本数据存储方法也包括将此数据写入至第一物理编程单元;并且判断对应第一逻辑地址所属的逻辑区域的逻辑地址映射表是否已被载入至缓冲存储器。本数据存储方法也包括,倘若对应第一逻辑地址所属的逻辑区域的逻辑地址映射表已被载入至所述缓冲存储器时,在对应第一逻辑地址所属的逻辑区域的逻辑地址映射表中记录第一逻辑地址映射至第一物理编程单元;以及倘若对应第一逻辑地址所属的逻辑区域的逻辑地址映射表未被载入至所述缓冲存储器时,在暂时映射表中记录第一物理编程单元映射至第一逻辑地址。本数据存储方法也包括:判断暂时映射表是否已被写满;以及倘若暂时映射表已被写满时,根据记录在暂时映射表中的映射记录在逻辑地址映射表中更新逻辑地址与物理擦除单元的物理编程单元之间的映射关系,并且清除记录在暂时映射表中的映射记录,其中暂时映射表记录其中一部分物理编程单元的映射关系。在本专利技术的一实施例中,上述的数据存储方法还包括为此些物理擦除单元的物理编程单元建立一物理地址信息表,其中物理地址信息表记录关于所有物理编程单元的信息。本专利技术一范例实施例提出一种存储器控制器,用于控制一可复写本文档来自技高网
...
数据存储方法、存储器控制器与存储器存储装置

【技术保护点】
一种数据存储方法,用于一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元,该数据存储方法包括:配置多个逻辑地址,并且将所述多个逻辑地址划分为多个逻辑区域;分别地为所述多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表;从一主机系统中接收一数据,其中该主机系统指示将所述数据存储至所述多个逻辑地址之中的一第一逻辑地址;将所述数据写入至所述多个物理擦除单元的物理编程单元之中的一第一物理编程单元;在一暂时映射表中记录所述第一物理编程单元映射至所述第一逻辑地址;判断所述暂时映射表是否已被写满;以及倘若所述暂时映射表已被写满时,根据记录在所述暂时映射表中的多个映射记录在这些逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系,并且清除记录在所述暂时映射表中的所述多个映射记录,其中所述暂时映射表记录所述多个物理擦除单元的多个物理编程单元的其中一部分物理编程单元的映射关系。

【技术特征摘要】
1.一种数据存储方法,用于一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元,该数据存储方法包括:配置多个逻辑地址,并且将所述多个逻辑地址划分为多个逻辑区域;分别地为所述多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表;从一主机系统中接收一数据,其中该主机系统指示将所述数据存储至所述多个逻辑地址之中的一第一逻辑地址;将所述数据写入至所述多个物理擦除单元的物理编程单元之中的一第一物理编程单元;在一暂时映射表中记录所述第一物理编程单元映射至所述第一逻辑地址;判断所述暂时映射表是否已被写满;以及倘若所述暂时映射表已被写满时,根据记录在所述暂时映射表中的多个映射记录在这些逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系,并且清除记录在所述暂时映射表中的所述多个映射记录,其中所述暂时映射表记录所述多个物理擦除单元的多个物理编程单元的其中一部分物理编程单元的映射关系。2.如权利要求1所述的数据存储方法,其中上述根据记录在所述暂时映射表中的所述多个映射记录,在所述逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的步骤包括:根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射表中的所述多个映射记录;以及根据排序后的映射记录依序地更新所述逻辑地址映射表中所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系。3.如权利要求1所述的数据存储方法,其中所述多个物理擦除单元的物理编程单元之中的一第二物理编程单元已被写入属于所述多个逻辑地址之中的一第二逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第三物理编程单元已被写入属于所述多个逻辑地址之中的一第三逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第四物理编程单元已被写入属于所述多个逻辑地址之中的一第四逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第五物理编程单元已被写入属于所述多个逻辑地址之中的一第五逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第六物理编程单元已被写入属于所述多个逻辑地址之中的一第六逻辑地址的有效数据,所述多个物理擦除单元的物理编程单元之中的一第七物理编程单元已被写入属于所述多个逻辑地址之中的一第七逻辑地址的有效数据,所述第一逻辑地址、所述第三逻辑地址与所述第六逻辑地址属于所述多个逻辑区域之中的一第一逻辑区域并且所述第二逻辑地址、所述第四逻辑地址、所述第五逻辑地址与所述第七逻辑地址属于所述多个逻辑区域之中的一第二逻辑区域,其中上述根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射表中的所述多个映射记录的步骤包括:依据所述第一逻辑地址、所述第三逻辑地址、所述第六逻辑地址、所述第二逻辑地址、所述第四逻辑地址、所述第五逻辑地址与所述第七逻辑地址的顺序排列记录在所述暂时映射表中的所述多个映射记录。4.如权利要求3所述的数据存储方法,其中上述根据排序后的映射记录更新所述逻辑地址映射表中所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的步骤包括:先在对应所述第一逻辑区域的逻辑地址映射表中,将所述第一逻辑地址映射至所述第一物理编程单元,将所述第三逻辑地址映射至所述第三物理编程单元,并且将所述第六逻辑地址映射至所述第六物理编程单元;以及在完成对应所述第一逻辑区域的逻辑地址映射表的更新后,在对应所述第二逻辑区域的逻辑地址映射表中,将所述第二逻辑地址映射至所述第二物理编程单元,将所述第四逻辑地址映射至所述第四物理编程单元,将所述第五逻辑地址映射至所述第五物理编程单元,并且将所述第七逻辑地址映射至所述第七物理编程单元。5.如权利要求1所述的数据存储方法,还包括:为所述多个物理擦除单元的物理编程单元建立一物理地址信息表,其中该物理地址信息表记录关于所述多个物理擦除单元的所有物理编程单元的信息。6.如权利要求5所述的数据存储方法,其中所述物理地址信息表为一物理地址映射表,并且该物理地址映射表记录每一物理编程单元所映射的逻辑地址。7.如权利要求5所述的数据存储方法,其中所述物理地址信息表为一物理地址存储状态表,并且该物理地址存储状态表记录每一物理编程单元所存储的数据为有效数据或无效数据的标记。8.一种数据存储方法,用于一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元,该数据存储方法包括:配置多个逻辑地址,并且将所述多个逻辑地址划分为多个逻辑区域;分别地为所述多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表;从一主机系统中接收一数据,其中该主机系统指示将所述数据存储至所述多个逻辑地址之中的一第一逻辑地址;将所述数据写入至所述多个物理擦除单元的物理编程单元之中的一第一物理编程单元;判断对应所述第一逻辑地址所属的逻辑区域的逻辑地址映射表是否已被载入至一缓冲存储器;倘若对应所述第一逻辑地址所属的逻辑区域的逻辑地址映射表已被载入至所述缓冲存储器时,在对应所述第一逻辑地址所属的逻辑区域的逻辑地址映射表中将所述第一逻辑地址映射至所述第一物理编程单元;倘若对应所述第一逻辑地址所属的逻辑区域的逻辑地址映射表未被载入至所述缓冲存储器时,在一暂时映射表中记录所述第一物理编程单元映射至所述第一逻辑地址;判断所述暂时映射表是否已被写满;以及倘若所述暂时映射表已被写满时,根据记录在所述暂时映射表中的多个映射记录在这些逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系,并且清除记录在所述暂时映射表中的所述多个映射记录,其中所述暂时映射表记录所述多个物理擦除单元的多个物理编程单元的其中一部分物理编程单元的映射关系。9.如权利要求8所述的数据存储方法,还包括:为所述多个物理擦除单元的物理编程单元建立一物理地址信息表,其中该物理地址信息表记录关于所述多个物理擦除单元的所有物理编程单元的信息。10.一种存储器控制器,用于控制一可复写式非易失性存储器模块,该可复写式非易失性存储器模块具有多个物理擦除单元并且每一物理擦除单元具有多个物理编程单元,该存储器控制器包括:一主机接口,用以电性连接至一主机系统;一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及一存储器管理电路,电性连接至该主机接口与该存储器接口,其中该存储器管理电路用以配置多个逻辑地址,并且将所述多个逻辑地址划分为多个逻辑区域,其中该存储器管理电路还用以分别地为所述多个逻辑区域建立多个逻辑地址映射表,其中每一逻辑区域对应一个逻辑地址映射表,其中该存储器管理电路还用以从该主机系统中接收一数据,其中该主机系统指示将所述数据存储至所述多个逻辑地址之中的一第一逻辑地址,其中该存储器管理电路还用以将所述数据写入至所述多个物理擦除单元的物理编程单元之中的一第一物理编程单元,且在一暂时映射表中记录所述第一物理编程单元映射至所述第一逻辑地址,其中该存储器管理电路还用以判断所述暂时映射表是否已被写满,其中倘若所述暂时映射表已被写满时,该存储器管理电路还用以根据记录在所述暂时映射表中的多个映射记录在这些逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系,并且清除记录在所述暂时映射表中的所述多个映射记录,其中所述暂时映射表记录所述多个物理擦除单元的多个物理编程单元的其中一部分物理编程单元的映射关系。11.如权利要求10所述的存储器控制器,其中在上述根据记录在所述暂时映射表中的所述多个映射记录,在所述逻辑地址映射表中更新所述多个逻辑地址与所述多个物理擦除单元的物理编程单元之间的映射关系的运作中,该存储器管理电路根据记录在所述暂时映射表中的逻辑地址所属的逻辑区域排序记录在所述暂时映射...

【专利技术属性】
技术研发人员:叶志刚
申请(专利权)人:群联电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1