CN103176910B - 用于非易失性存储器的数据合并方法、控制器与储存装置 - Google Patents

用于非易失性存储器的数据合并方法、控制器与储存装置 Download PDF

Info

Publication number
CN103176910B
CN103176910B CN201110442066.2A CN201110442066A CN103176910B CN 103176910 B CN103176910 B CN 103176910B CN 201110442066 A CN201110442066 A CN 201110442066A CN 103176910 B CN103176910 B CN 103176910B
Authority
CN
China
Prior art keywords
data
physical
blocks
page
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110442066.2A
Other languages
English (en)
Other versions
CN103176910A (zh
Inventor
刘建业
陈庆聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201110442066.2A priority Critical patent/CN103176910B/zh
Publication of CN103176910A publication Critical patent/CN103176910A/zh
Application granted granted Critical
Publication of CN103176910B publication Critical patent/CN103176910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种数据合并方法,用于在可复写式非易失性存储模块中合并一个逻辑区块的有效数据。本方法包括指派对应此逻辑区块的多个整理物理区块。此外,本方法也包括以部分同步方式执行数据整理运作与数据搬移运作,以从第一数据物理区块和暂存物理区块中将逻辑区块的有效数据整理至整理物理区块的下页物理页面,且同时从整理物理区块之中将逻辑区块的有效数据编程至第二数据物理区块。再者,本数据合并方法还包括将此逻辑区块重新映射至第二数据物理区块。基此,本方法能够缩短合并数据的时间与提升数据的可靠度。

Description

用于非易失性存储器的数据合并方法、控制器与储存装置
技术领域
本发明是有关于一种用于可复写式非易失性存储器模块的数据合并方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本型计算机。固态硬盘就是一种以闪存作为储存媒体的储存装置。因此,近年闪存产业成为电子产业中相当热门的一环。
依据每个存储单元可储存的位数,与非(NAND)型闪存可区分为单阶储存单元(Single Level Cell,SLC)NAND型闪存、多阶储存单元(Multi Level Cell,MLC)NAND型闪存与三阶储存单元(Trinary Level Cell,TLC)NAND型闪存,其中SLC NAND型闪存的每个存储单元可储存1个位的数据(即,“1”与“0”),MLC NAND型闪存的每个存储单元可储存2个位的数据并且TLC NAND型闪存的每个存储单元可储存3个位的数据。
MLC NAND型闪存具有多个物理区块(physical block),且每一物理区块具有多个物理页面(physical page)。
具体来说,在NAND型闪存中,物理页面是由排列在同一条字线上的数个存储单元所组成。由于SLC NAND型闪存的每个存储单元可储存1个位的数据,因此,在SLC NAND型闪存中,排列在同一条字线上的数个存储单元是对应一个物理页面。
相对于SLC NAND型闪存来说,MLC NAND型闪存的每个存储单元的浮动门储存层可储存2个位的数据,其中每一个储存状态(即,“11”、“10”、“01”与“00”)包括最低有效位(Least Significant Bit,LSB)以及最高有效位(Most Sugnificant Bit,MSB)。例如,储存状态中从左侧算起的第1个位的值为LSB,而从左侧算起的第2个位的值为MSB。因此,排列在同一条字线上的数个存储单元可组成2个物理页面,其中由此些存储单元的LSB所组成的物理页面称为下页物理页面(low physical page),并且由此些存储单元的MSB所组成的物理页面称为上页物理页面(upper physical page)。特别是,下页物理页面的写入速度会快于上页物理页面的写入速度,并且当编程上页物理页面发生错误时,下页物理页面所储存的数据亦可能因此遗失。
类似地,在TLC NAND型闪存中,的每个存储单元可储存3个位的数据,其中每一个储存状态(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”与“000”)包括每一个储存状态包括左侧算起的第1个位的LSB、从左侧算起的第2个位的中间有效位(Center Significant Bit,CSB)以及从左侧算起的第3个位的MSB。因此,排列在同一条字线上的数个存储单元可组成3个物理页面,其中由此些存储单元的LSB所组成的物理页面称为下页物理页面,由此些存储单元的CSB所组成的物理页面称为中页物理页面,并且由此些存储单元的MSB所组成的物理页面称为上页物理页面。特别是,在排列在同一条字线上的数个存储单元所构成的物理页面中储存数据时,仅能选择仅使用编程下页物理页面储存数据或者一并同时使用编程下页物理页面、中页物理页面与上页物理页面来储存数据,否则所储存的数据可能会遗失。例如,若在仅对排列在同一条字线上的数个存储单元所组成的下页物理页面与中页物理页面储存数据的状态下,从此下页物理页面或此中页物理页面读取数据时,此读取运作将会失败。
此外,在物理区块中写入数据时必须以物理页面为单位来写入数据,并且已被写入数据的物理页面必需先被抹除后才能再次用于写入数据。特别是,物理区块为抹除的最小单位。因此,一般来说,在闪存模块的写入过程中,会轮替使用物理区块来写入数据。
例如,当某一个逻辑区块的数据被储存在一个数据物理区块(以下称为原映射数据物理区块)中且主机系统欲更新储存在某一逻辑区块的某一逻辑页面上的数据时,储存装置的存储器控制器会从闪存模块中提取一个物理区块作为对应此逻辑区块的暂存物理区块,并且将此更新数据写入至此暂存物理区块的物理页面中,由此缩短执行写入指令的时间。之后,当闪存模块中无使用的物理区块快耗尽时,存储器控制器会对此逻辑区块执行数据合并(Merge)程序。例如,在数据合并程序中,存储器控制器会提取一个空的物理区块作为新数据物理区块,将属于此逻辑区块的所有有效数据从原映射物理区块与暂存物理区块中复制到新数据物理区块中并且将此逻辑区块重新映射至此新数据物理区块。
然而,如上所述,MLC NAND型闪存或TLC NAND型闪存中部分物理页面的可靠度较低,因此,如何有效地在物理区块之间搬移数据以进行数据合并程序是本领域技术人员所致力的目标。
发明内容
本发明提供一种数据合并方法、存储器控制器与存储器储存装置,其能够提升数据合并的效率及所写入的数据的可靠度。
本发明范例实施例提出一种数据合并方法,用于在可复写式非易失性存储模块中合并一个逻辑区块的有效数据,其中此可复写式非易失性存储器模块具有多个物理区块,每一物理区块具有多个物理页面组,每一物理页面组至少具有一个下页物理页面与一个上页物理页面,写入数据至下页物理页面的速度快于写入数据至上页物理页面的速度,此逻辑区块的有效数据分散地被储存在第一数据物理区块与至少一暂存物理区块中,并且此逻辑区块的有效数据欲被合并至第二数据物理区块。本数据合并方法包括:指派对应此逻辑区块的多个整理物理区块。此外,本数据合并方法也包括以部分同步方式执行数据整理运作与数据搬移运作,其中此数据整理运作用以从第一数据物理区块和暂存物理区块中将上述逻辑区块的有效数据整理至整理物理区块的下页物理页面,此数据搬移运作用以从整理物理区块之中将上述逻辑区块的有效数据搬移至第二数据物理区块。再者,本数据合并方法还包括将此逻辑区块重新映射至第二数据物理区块。
在本发明的一实施例中,上述的以部分同步方式执行数据整理运作与数据搬移运作的步骤包括:(a)从第一数据物理区块和暂存物理区块中将上述逻辑区块的有效数据之中属于多个逻辑页面的有效数据复制到上述整理物理区块的下页物理页面中,其中该些逻辑页面的数目为一预定数目;(b)从此些整理物理区块中将属于该些逻辑页面的有效数据复制到第二数据物理区块,同时从第一数据物理区块和暂存物理区块中将该逻辑区块的有效数据之中属于其它逻辑页面的后续有效数据复制到上述整理物理区块的后续下页物理页面中;以及(c)重复执行步骤(a)与(b),直到上述逻辑区块的所有有效数据都被复制到第二数据物理区块为止。
在本发明的一实施例中,上述的以部分同步方式执行数据整理运作与数据搬移运作的步骤包括:(a)从第一数据物理区块和暂存物理区块中将逻辑区块的有效数据之中属于一个逻辑页面的有效数据复制到整理物理区块的下页物理页面中;(b)从整理物理区块中将此逻辑页面的有效数据复制到第二数据物理区块,同时从第一数据物理区块和暂存物理区块中将此逻辑区块的有效数据之中属于下一个逻辑页面的有效数据复制到整理物理区块的后续下页物理页面中;以及(c)重复执行步骤(a)与(b),直到此逻辑区块的所有有效数据都被复制到第二数据物理区块为止。
在本发明的一实施例中,上述的数据搬移运作是通过使用一复制回(copyback)指令来执行。
在本发明的一实施例中,上述的每一物理页面组还具有一中页物理页面,并且写入数据至下页物理页面的速度快于写入数据至中页物理页面的速度,写入数据至中页物理页面的速度快于写入数据至上页物理页面的速度。
在本发明的一实施例中,上述的数据合并方法还包括:将上述物理区块至少分组为数据区与暂存区,其中第一数据物理区块与第二数据物理区块属于数据区并且暂存物理区块是从暂存区中被指派。
在本发明的一实施例中,上述的从暂存区中指派作为对应上述逻辑区块的整理物理区块的步骤包括:从暂存区中提取3个物理区块作为对应此逻辑区块的第一整理物理区块、第二整理物理区块与第三整理物理区块。
本发明范例实施例提出一种存储器控制器,用于控制可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个物理区块,每一物理区块具有多个物理页面组,每一物理页面组至少具有一个下页物理页面与一上个物理页面,写入数据至下页物理页面的速度快于写入数据至上页物理页面的速度。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口,并且用以将一个逻辑区块的有效数据合并至第二数据物理区块,其中此逻辑区块的有效数据分散地被储存在第一数据物理区块与暂存物理区块中。在此,存储器管理电路指派对应此逻辑区块的多个整理物理区块。此外,存储器管理电路以部分同步方式执行数据整理运作与数据搬移运作,其中此数据整理运作用以从第一数据物理区块和暂存物理区块中将上述逻辑区块的有效数据整理至整理物理区块的下页物理页面,此数据搬移运作用以从整理物理区块之中将上述逻辑区块的有效数据搬移至第二数据物理区块。再者,存储器管理电路更用以将此逻辑区块重新映射至第二数据物理区块。
在本发明的一实施例中,在数据整理运作与数据搬移运作被以部分同步方式执行期间,存储器管理电路从第一数据物理区块和暂存物理区块中将上述逻辑区块的有效数据之中属于多个逻辑页面的有效数据复制到此些整理物理区块的下页物理页面中,其中该些逻辑页面的数目为一预定数目。此外,在数据整理运作与数据搬移运作以部分同步方式被执行期间,存储器管理电路从此些整理物理区块中将属于此些逻辑页面的有效数据复制到第二数据物理区块,同时从第一数据物理区块和暂存物理区块中将该逻辑区块的有效数据之中属于其它逻辑页面的后续有效数据复制到此些整理物理区块的后续下页物理页面中。
在本发明的一实施例中,在数据整理运作与数据搬移运作以部分同步方式被执行期间,存储器管理电路从第一数据物理区块和暂存物理区块中将上述逻辑区块的有效数据之中属于一个逻辑页面的有效数据复制到此些整理物理区块的下页物理页面中。此外,在数据整理运作与数据搬移运作以部分同步方式被执行期间,存储器管理电路从此些整理物理区块中将属于此逻辑页面的有效数据复制到第二数据物理区块,同时从第一数据物理区块和暂存物理区块中将此逻辑区块的有效数据之中属于下一个逻辑页面的有效数据复制到整理物理区块的后续下页物理页面中。
在本发明的一实施例中,上述的存储器管理电路使用复制回指令来执行数据搬移运作。
在本发明的一实施例中,每一物理页面组还具有一中页物理页面,并且写入数据至下页物理页面的速度快于写入数据至中页物理页面的速度,写入数据至中页物理页面的速度快于写入数据至上页物理页面的速度。
在本发明的一实施例中,上述的存储器管理电路将上述物理区块至少分组为数据区与暂存区,其中第一数据物理区块与第二数据物理区块属于数据区并且暂存物理区块是从暂存区中被指派。
在本发明的一实施例中,上述的存储器管理电路从暂存区中提取3个物理区块作为对应上述逻辑区块的第一整理物理区块、第二整理物理区块与第三整理物理区块。
本发明范例实施例提出一种存储器储存装置,其包括连接器、可复写式非易失性存储器模块与存储器控制器。连接器用以电性连接至一主机系统。可复写式非易失性存储器模块具有多个物理区块,每一物理区块具有多个物理页面组,每一物理页面组至少具有一个下页物理页面与一个上页物理页面,并且写入数据至下页物理页面的速度快于写入数据至上页物理页面的速度。存储器控制器电性连接至连接器与可复写式非易失性存储器模块,并且用以将一个逻辑区块的有效数据合并至第二数据物理区块,其中此逻辑区块的有效数据分散地被储存在第一数据物理区块与暂存物理区块中。在此,存储器控制器指派对应此逻辑区块的多个整理物理区块。此外,存储器控制器以部分同步方式执行数据整理运作与数据搬移运作,其中此数据整理运作用以从第一数据物理区块和暂存物理区块中将上述逻辑区块的有效数据整理至整理物理区块的下页物理页面,此数据搬移运作用以从整理物理区块之中将上述逻辑区块的有效数据搬移至第二数据物理区块。再者,存储器控制器还用以将此逻辑区块重新映射至第二数据物理区块。
在本发明的一实施例中,在数据整理运作与数据搬移运作以部分同步方式被执行期间,存储器控制器从第一数据物理区块和暂存物理区块中将上述逻辑区块的有效数据之中属于多个逻辑页面的有效数据复制到此些整理物理区块的下页物理页面中,其中该些逻辑页面的数目为一预定数目。此外,在数据整理运作与数据搬移运作以部分同步方式被执行期间,存储器控制器从此些整理物理区块中将属于此些逻辑页面的有效数据复制到第二数据物理区块,同时从第一数据物理区块和暂存物理区块中将该逻辑区块的有效数据之中属于其它逻辑页面的后续有效数据复制到此些整理物理区块的后续下页物理页面中。
在本发明的一实施例中,在数据整理运作与数据搬移运作以部分同步方式被执行期间,存储器控制器从第一数据物理区块和暂存物理区块中将上述逻辑区块的有效数据之中属于一个逻辑页面的有效数据复制到此些整理物理区块的下页物理页面中。此外,在数据整理运作与数据搬移运作以部分同步方式被执行期间,存储器控制器从此些整理物理区块中将属于此逻辑页面的有效数据复制到第二数据物理区块,同时从第一数据物理区块和暂存物理区块中将此逻辑区块的有效数据之中属于下一个逻辑页面的有效数据复制到整理物理区块的后续下页物理页面中。
在本发明的一实施例中,上述的存储器控制器使用复制回指令来执行数据搬移运作。
在本发明的一实施例中,每一物理页面组还具有一中页物理页面,并且写入数据至下页物理页面的速度快于写入数据至中页物理页面的速度,写入数据至中页物理页面的速度快于写入数据至上页物理页面的速度。
在本发明的一实施例中,上述的存储器控制器将上述物理区块至少分组为数据区与暂存区,其中第一数据物理区块与第二数据物理区块属于数据区并且暂存物理区块是从暂存区中被指派。
在本发明的一实施例中,上述的存储器控制器从暂存区中提取3个物理区块作为对应上述逻辑区块的第一整理物理区块、第二整理物理区块与第三整理物理区块。
基于上述,本发明范例实施例的数据合并方法、存储器控制器与存储器储存装置能够有效地提升合并数据的可靠度并且缩短执行数据合并所需的时间。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据本发明一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3A与图3B是根据本范例时实施例所绘示的存储单元储存架构与物理区块的范例示意图。
图4是根据一范例实施例所绘示的存储器控制器的概要方块图。
图5是根据一范例实施例所绘示管理可复写式非易失性存储器模块的物理区块的示意图。
图6是根据一范例所绘示的写入数据的示意图。
图7与图8是根据一范例所绘示的数据合并程序的示意图,其中图7绘示数据整理运作的范例示意图并且图8绘示数据搬移运作的范例示意图。。
图9是根据一范例实施例所绘示的数据合并方法的流程图。
图10是根据一范例实施例所绘示的步骤S905的详细流程图。
[主要元件标号说明]
1000:主机系统              1100:计算机
1102:微处理器              1104:随机存取存储器
1106:输入/输出装置         1108:系统总线
1110:数据传输接口          1202:鼠标
1204:键盘                  1206:显示器
1208:打印机                1212:随身盘
1214:存储卡                1216:固态硬盘
1310:数字相机              1312:SD卡
1314:MMC卡                 1316:存储棒
1318:CF卡                  1320:嵌入式储存装置
100:存储器储存装置         102:连接器
104:存储器控制器           106:可复写式非易失性存储器模块
302:存储器管理电路         304:主机接口
306:存储器接口             308:缓冲存储器
310:电源管理电路           312:错误检查与校正电路
502:取代区                 504:暂存区
506:数据区
410(0)~410(R)、410(R+1)~410(T)、410(T+1)~410(N):物理区块
610(0)~610(H):逻辑区块
S901、S903、S905、S907:数据合并方法的步骤
S1001、S1003、S1005、S 1007:以部分同步方式执行数据整理运作与数据搬移运作的步骤
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,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或固态硬盘(Solid State Drive,SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机系统1000可实质地为可与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
在本范例实施例中,连接器102是兼容于序列安全数字(Secure Digital,SD)接口标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,IEEE)1394标准、平行先进附件(Parallel Advanced TechnologyAttachment,PATA)标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,PCI Express)标准、通用序列总线(Universal SerialBus,USB)标准、先进附件(Serial Advanced Technology Attachment,SATA)标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Mulii Media Card,MMC)接口标准、小型快闪(Compact Flash,CF)接口标准、集成式驱动电子接口(Integrated Device Electronics,IDE)标准或其它适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取、抹除与合并等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且具有多个物理区块以储存主机系统1000所写入的数据。
在本范例实施例中,每一物理区块分别具有多个物理页面组并且每一物理页面组包括由位于同一条字线的存储单元所构成的至少一个物理页面,其中属于同一个物理区块的物理页面必须被同时地抹除。更详细来说,物理区块为抹除的最小单位。亦即,每一物理区块含有最小数目的一并被抹除的存储单元。
每一物理页面通常包括数据位区与冗余位区。数据位区用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误检查与校正码)。在本范例实施例中,每一物理区块是由258个物理页面所组成,并且每一物理页面的容量为8千字节(Kilobyte,KB)。然而,必须了解的是,本发明不限于此。
在本范例实施例中,可复写式非易失性存储器模块106为一种三阶储存单元(Triple Level Cell,TLC)NAND型闪存模块。然而,必须了解的是,可复写式非易失性存储器模块106并非限于TLC NAND型闪存模块。在本发明另一范例实施例中,可复写式非易失性存储器模块106亦可是MLC NAND型闪存模块或其它具有相同特性的存储器模块。
图3A与图3B是根据本范例实施例所绘示的存储单元储存架构与物理区块的范例示意图。
请参照图3A,可复写式非易失性存储器模块106的每个存储单元的储存状态可被识别为“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如图3A所示),其中左侧算起的第1个位为LSB、从左侧算起的第2个位为CSB以及从左侧算起的第3个位为MSB。此外,排列在同一条字线上的数个存储单元可组成3个物理页面,其中由此些存储单元的LSB所组成的物理页面称为下页物理页面,由此些存储单元的CSB所组成的物理页面称为中页物理页面,并且由此些存储单元的MSB所组成的物理页面称为上页物理页面。
请参照图3B,例如,在本范例实施例中,一个物理区块是由多个物理页面组(即,第0~第85个物理页面组)所组成,其中每个物理页面组包括由排列在同一条字线上的数个存储单元所组成的下页物理页面、中页物理页面与上页物理页面。例如,属于下页物理页面的第0个物理页面、属于中页物理页面的第1个物理页面和属于上页物理页面的第2个物理页面会被视为一个物理页面组。类似地,第3、4、5个物理页面会被视为一个物理页面组,并且以此类推其它物理页面亦是依据此方式被区分为多个物理页面组。
图4是根据一范例实施例所绘示的存储器控制器的概要方块图。必须了解的是,图4所绘示的存储器控制器仅为一个范例,本发明不限于此。
请参照图4,存储器控制器104包括存储器管理电路302、主机接口304、存储器接口306、缓冲存储器308、电源管理电路310、错误检查与校正电路312。
存储器管理电路302用以控制存储器控制器104的整体运作。具体来说,存储器管理电路302具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路302的控制指令是以固件型式来实作。例如,存储器管理电路302具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路302的控制指令亦可以程序码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路302具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块106中的控制指令加载至存储器管理电路302的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路302的控制指令亦可以一硬件型式来实作。例如,存储器管理电路302包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的物理区块;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口304是电性连接至存储器管理电路302并且用以接收与识别主机系统1000所传送的指令与数据。在本范例实施例中,主机接口304是兼容于SD标准。然而,必须了解的是本发明不限于此,主机接口304亦可以是兼容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SATA标准、MS标准、MMC标准、CF标准、IDE标准或其它适合的数据传输标准。
存储器接口306是电性连接至存储器管理电路302并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口306转换为可复写式非易失性存储器模块106所能接受的格式。
缓冲存储器308是电性连接至存储器管理电路302并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。例如,缓冲存储器302可以是静态随机存取存储器、动态随机存取存储器等。
电源管理电路310是电性连接至存储器管理电路302并且用以控制存储器储存装置100的电源。
错误检查与校正电路312是电性连接至存储器管理电路302并且用以执行一错误校正程序以确保数据的正确性。具体来说,当主机接口304从主机系统1000中接收到主机写入指令时,错误检查与校正电路会为对应此主机写入指令的写入数据(亦称为更新数据)产生对应的错误检查与校正码(ErrorChecking and Correcting Code,ECC Code),并且存储器管理电路302会将此更新数据与对应的错误校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路302从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误校正码,并且错误检查与校正电路312会依据此错误校正码对所读取的数据执行错误校正程序。
图5是根据一范例实施例所绘示管理可复写式非易失性存储器模块的物理区块的示意图。
请参照图5,可复写式非易失性存储器模块106具有物理区块410(0)~410(N),并且存储器控制器104的存储器管理电路302会将物理区块410(0)~410(N)分割(partition)为取代区(replacement area)502、暂存区(sparearea)504与数据区(data area)506。
取代区502的物理区块是用于坏物理区块取代程序,以取代损坏的物理区块。具体来说,倘若取代区502中仍存有正常的物理区块并且数据区506或暂存区504的物理区块损坏时,存储器管理电路302会从取代区502中提取正常的物理区块来取代损坏的物理区块。
暂存区504的物理区块是用于暂存主机系统1000所写入的数据。详细的写入方法,将配合图示说明如后。值得一提的是,在本范例实施例中,存储器管理电路302是使用单页模式来操作暂存区504的物理区块。具体来说,在单页模式中,仅下页物理页面会被用来储存数据。也就是说,在单页模式中,存储器管理电路302仅会对下页物理页面进行数据的写入、读取、抹除等运作。
数据区506的物理区块(亦称为数据物理区块)是用于储存主机系统1000所写入的数据。具体来说,存储器管理电路302会将主机系统1000所存取的逻辑存取地址转换为对应的逻辑区块与对应的逻辑页面并且将此逻辑区块的逻辑页面映射至数据区的物理区块的物理页面。也就是说,数据区506的物理区块是被视为已被使用的物理区块(例如,已储存主机系统所写入的数据)。例如,存储器管理电路302会使用逻辑区块-物理区块映射表(logicalblock-physical block mapping table)来记载逻辑区块与数据区506的物理区块之间的映射关系,其中逻辑区块中的逻辑页面可依序的对应所映射的物理区块的物理页面。例如,在本范例实施例中,逻辑区块610(0)~610(H)会被配置以映射数据区506的物理区块,其中一个逻辑区块的容量等于一个物理区块的容量并且数据区506的物理区块的数量必须大于或等于逻辑区块的数量。也就是说,在数据区506的物理区块的数量会攸关存储器储存装置100的容量。在本范例实施例中,逻辑区块610(0)~610(H)的数量是等于数据区506的物理区块。
在本范例实施例中,存储器管理电路302是使用多页模式来操作数据区506的物理区块。具体来说,在多页模式中,物理区块的每个物理页面组的下页物理页面、中页物理页面与上页物理页面皆会被用来储存数据。再者,相较于以单页模式来操作的物理区块,以多页模式来操作的物理区块的使用寿命较短。具体来说,每个物理区块能够被写入或抹除的次数是有限的,当一个物理区块被写入的次数超过一临界值时,此物理区块就会损坏而无法在被写入数据,其中对应以多页模式来操作的物理区块的临界值会低于对应以单页模式来操作的物理区块的临界值。
如上所述,暂存区504的物理区块与数据区506的物理区块是通过使用不同的模式来操作,因此,当一个物理区块被划分至暂存区504或数据区506后,此物理区块将仅能用于特定分割区。也就是说,存储器管理电路302会独立地操作数据区506的物理区块和暂存区504的物理区块,而不会混用此些物理区块。例如,当一个物理区块被划分至暂存区504后,存储器管理电路302会以单页模式于暂存区504中操作此物理区块,直到此物理区块损坏为止;或者当一个物理区块被划分至数据区506后,存储器管理电路302会以多页模式于数据区506中操作此物理区块,直到此物理区块不再属于数据区506。
图6是根据一范例所绘示的写入数据的示意图。
请参照图6,假设数据区506的数据物理区块410(T+1)已储存有属于逻辑区块610(0)的所有逻辑页面的数据(即,逻辑区块610(0)目前是映射数据物理区块410(T+1))并且存储器储存装置100从主机系统1000中接收到将更新数据储存至逻辑区块610(0)的第10~100个逻辑页面的写入指令时,存储器管理电路302会从暂存区504中提取物理区块410(R+1)~410(R+2)作为对应逻辑区块610(0)的第一与第二暂存物理区块来写入属于逻辑区块610(0)的更新数据。具体来说,由于暂存区504的物理区块仅能以单页模式来程序化,因此,需要使用2个暂存物理区块的容量才能够储存属于91个逻辑页面(即,逻辑区块610(0)的第10~100个逻辑页面)的数据。
之后,存储器管理电路302会将欲储存至逻辑区块610(0)的第10~95个逻辑页面的更新数据写入至第一暂存物理区块410(R+1)的下页物理页面(即,第0、3、6...252、255个物理页面)并且将欲储存至逻辑区块610(0)的第96~100个逻辑页面的更新数据写入至第二暂存物理区块410(R+2)的下页物理页面(即,第0、3、6、9、12个物理页面)。
在本范例实施例中,当将主机系统1000欲储存的更新数据写入至暂存物理区块后,存储器管理电路302就会传送通知已完成指令的回复(Response)给主机系统1000。并且,之后,当存储器储存装置100处于闲置状态一段时间(例如,30秒未从主机系统1000中接收到任何指令)或者暂存区504中可用的物理区块的数目小于预设门坎值时,存储器管理电路302才会将属于同一个逻辑区块的有效数据搬移至数据区506中的空数据物理区块中。例如,预设门坎值会被设定为3。然而,必须了解的是,本发明不限于此,预设门坎值亦可以是其它适当的数值。在此,将属于同一个逻辑区块的有效数据搬移至数据区506的空数据物理区块中的运作称为数据合并运作,其中数据合并运作包括数据整理运作与数据搬移运作。
图7与图8是根据一范例所绘示的数据合并程序的示意图,其中图7绘示数据整理运作的范例示意图并且图8绘示数据搬移运作的范例示意图。。
请参照图7,假设数据物理区块410(T+1)、暂存物理区块410(R+1)与410(R+2)分别地储存逻辑区块610(0)的部分逻辑页面的有效数据(如图6所示)并且存储器管理电路302选择对逻辑区块610(0)进行数据合并运作时,首先,存储器管理电路302会从暂存区504中提取物理区块410(R+3)、410(R+4)与410(R+5)作为对应逻辑区块610(0)的第一至第三整理物理区块来储存属于逻辑区块610(0)的所有有效数据。具体来说,由于暂存区504的物理区块仅能以单页模式来程序化,因此,3个整理物理区块的容量才能够储存一个逻辑区块的所有逻辑页面的数据。
之后,存储器管理电路302会将属于逻辑区块610(0)的所有逻辑页面的有效数据从数据物理区块410(T+1)以及暂存物理区块410(R+1)与410(R+2)中依序地复制到整理物理区块410(R+3)、410(R+4)与410(R+5)中。
具体来说,首先,存储器管理电路302会将属于逻辑区块610(0)的第0~9个逻辑页面的有效数据从数据物理区块410(T+1)中依序地复制至整理物理区块410(R+3)的第0、3、6...24、27个物理页面中,并且将属于逻辑区块610(0)的第10~85个逻辑页面的有效数据从暂存物理区块410(R+1)中依序地复制到整理物理区块410(R+3)的第30、33...252、255个物理页面中。更详细来说,由于属于逻辑区块610(0)的第0~9个逻辑页面的数据未被更新,因此,存储器管理电路302会从原映射逻辑区块610(0)的数据物理区块410(T+1)中将属于逻辑区块610(0)的第0~9个逻辑页面的数据搬移至物理区块410(R+3)。此外,由于属于逻辑区块610(0)的第10~85个逻辑页面的更新数据已被储存至暂存物理区块410(R+1)中,因此,存储器管理电路302会从暂存物理区块410(R+1)中将属于逻辑区块610(0)的第10~85个逻辑页面的数据搬移至物理区块410(R+3)。
其次,存储器管理电路302会将属于逻辑区块610(0)的第86~100个逻辑页面的有效数据从暂存物理区块410(R+1)与410(R+2)中依序地复制到整理物理区块410(R+4)的第0、3...39、42个物理页面中,并且将属于逻辑区块610(0)的第101~171个逻辑页面的有效数据从数据物理区块410(T+1)中依序地复制到整理物理区块410(R+4)的第45、48...252、255个物理页面中。更详细来说,由于属于逻辑区块610(0)的第86~95个逻辑页面的更新数据已被储存至暂存物理区块410(R+1)中,因此,存储器管理电路302会从暂存物理区块410(R+1)中将属于逻辑区块610(0)的第86~95个逻辑页面的数据搬移至物理区块410(R+4)。此外,由于属于逻辑区块610(0)的第96~100个逻辑页面的更新数据已被储存至暂存物理区块410(R+2)中,因此,存储器管理电路302会从暂存物理区块410(R+2)中将属于逻辑区块610(0)的第96~100个逻辑页面的数据搬移至物理区块410(R+4)。再者,由于属于逻辑区块610(0)的第101~171个逻辑页面的数据未被更新,因此,存储器管理电路302会从原映射逻辑区块610(0)的数据物理区块410(T+1)中将属于逻辑区块610(0)的第101~171个逻辑页面的数据搬移至物理区块410(R+4)。
然后,存储器管理电路302会将属于逻辑区块610(0)的第172~257个逻辑页面的有效数据从数据物理区块410(T+1)中依序地复制至整理物理区块410(R+5)的第0、3...252、255个物理页面中。更详细来说,由于属于逻辑区块610(0)的第172~257个逻辑页面的数据未被更新,因此,存储器管理电路302会从原映射逻辑区块610(0)的数据物理区块410(T+1)中将属于逻辑区块610(0)的第172~257个逻辑页面的数据搬移至物理区块410(R+5)。
值得一提的是,由于逻辑区块610(0)的所有逻辑页面的有效数据皆已被复制到整理物理区块410(R+3)、410(R+4)与410(R+5)中,因此,在本发明一范例实施例中,存储器管理电路302会将数据物理区块410(T+1)标记为储存无效数据的物理区块或者对数据物理区块410(T+1)执行抹除运作。类似地,在本发明一范例实施例中,存储器管理电路302会将暂存物理区块410(R+1)与410(R+2)标记为储存无效数据的物理区块或者对暂存物理区块410(R+1)与410(R+2)执行抹除运作,由此物理区块410(R+1)与410(R+2)可于执行下一个写入指令时被用来写入数据。
请参照图8,在将逻辑区块610(0)的所有逻辑页面的有效数据整理至整理物理区块410(R+3)、410(R+4)与410(R+5)后,存储器管理电路302会从数据区506中提取数据物理区块410(T+2)作为对应逻辑区块610(0)的新数据物理区块。具体来说,存储器管理电路302会从数据区504中选择一个空的物理区块或者所储存的数据为无效数据的物理区块。特别是,倘若所提取的物理区块是储存无效数据的物理区块时,存储器管理电路302会先对此物理区块执行抹除运作。也就是说,物理区块上的无效数据必须先被抹除。
然后,存储器管理电路302会将逻辑区块610(0)的所有逻辑页面的有效数据从整理物理区块410(R+3)、410(R+4)与410(R+5)中依序地复制到所提取的数据物理区块410(T+2)中。
具体来说,存储器管理电路302会从第一整理物理区块410(R+3)的下页物理页面中将属于逻辑区块610(0)的第0~85逻辑页面的有效数据依序地搬移至物理区块410(T+2)的对应页面(例如,物理区块410(T+2)的第0~85物理页面)。接着,存储器管理电路302会从第二整理物理区块410(R+4)的下页物理页面中将属于逻辑区块610(0)的第86~171逻辑页面的有效数据依序地搬移至物理区块410(T+2)的对应页面(例如,物理区块410(T+2)的第86~171物理页面)。然后,存储器管理电路302会从第三整理物理区块410(R+5)的下页物理页面中将属于逻辑区块610(0)的第172~257逻辑页面的有效数据依序地搬移至物理区块410(T+2)的对应页面(例如,物理区块410(T+2)的第172~257物理页面)。也就是说,由于数据区506的物理区块是以多页模式来操作,因此,物理区块410(T+2)的所有下页物理页面、中页物理页面与上页物理页面皆会被用来储存数据。在本范例实施例中,例如,在数据搬移运作中,存储器管理电路302是使用复制回(copyback)指令来将有效数据从整理物理区块搬移至数据物理区块。
最后,存储器管理电路302会在逻辑区块-物理区块映射表中将逻辑区块610(0)重新映射至物理区块410(T+2)。
此外,由于逻辑区块610(0)的所有逻辑页面的有效数据皆已被复制到物理区块410(T+2)中,因此,在本发明一范例实施例中,存储器管理电路302会将整理物理区块410(R+3)、410(R+4)与410(R+5)标记为储存无效数据的物理区块或者对整理物理区块410(R+3)、410(R+4)与410(R+5)执行抹除运作,由此物理区块410(R+3)、410(R+4)与410(R+5)可于执行下一个写入指令时被再用来写入数据。
值得一提的是,在本范例实施例中,存储器管理电路302会以部分同步方式来执行上述数据整理运作(如图7所示)与上述数据搬移运作(如图8所示)。也就是说,倘若存储器管理电路302欲将分散储存于数据物理区块(以下简称为第一数据物理区块,例如,图7所示的数据物理区块410(T+1))与暂存数据物理区块(例如,图7所示的暂存物理区块410(R+1)与410(R+2))合并至空的数据物理区块(以下称为第二数据物理区块,例如,图8所示的数据物理区块410(T+2))时,存储器管理电路302会在进行数据搬移运作期间同时将已整理好的有效数据从整理物理区块(如图8所示的整理物理区块410(R+3)、410(R+4)与410(R+5))复制到第二数据物理区块。
以图7与图8为例,在数据搬移运作中,存储器管理电路302会依序地将逻辑区块610(0)所有逻辑页面的有效数据依序地复制至整理物理区块410(R+3)、410(R+4)与410(R+5)的下页物理页面。特别是,在逻辑区块610(0)的第0个逻辑页面的有效数据已被复制到整理物理区块410(R+3)后,存储器管理电路302会继续下达指令来将后续逻辑页面的有效数据复制到整理物理区块410(R+3),同时下达指令将逻辑区块610(0)的第0个逻辑页面的有效数据从整理物理区块410(R+3)复制到数据物理区块410(T+2)。接着,在逻辑区块610(0)的第1、2、3个逻辑页面的有效数据已被复制到整理物理区块410(R+3)后,存储器管理电路302会继续下达指令来将后续逻辑页面的有效数据复制到整理物理区块410(R+3),同时下达指令将逻辑区块610(0)的第1、3个逻辑页面的有效数据从整理物理区块410(R+3)复制到数据物理区块410(T+2)。接着,在逻辑区块610(0)的第4、5、6个逻辑页面的有效数据已被复制到整理物理区块410(R+3)后,存储器管理电路302会继续下达指令来将后续逻辑页面的有效数据复制到整理物理区块410(R+3),同时下达指令将逻辑区块610(0)的第2、4、6个逻辑页面的有效数据从整理物理区块410(R+3)复制到数据物理区块410(T+2)。接着,在逻辑区块610(0)的第7、8、9个逻辑页面的有效数据已被复制到整理物理区块410(R+3)后,存储器管理电路302会继续下达指令来将后续逻辑页面的有效数据复制到整理物理区块410(R+3),同时下达指令将逻辑区块610(0)的第5、7、9个逻辑页面的有效数据从整理物理区块410(R+3)复制到数据物理区块410(T+2)。以此类推,存储器管理电路302会在整理后续逻辑页面的有效数据期间,同步地将已整理的部分有效数据从整理物理区块搬移至数据物理区块,直到所有有效数据被搬移至数据物理区块为止。也就是说,在此范例中,存储器管理电路302会在整理属于一预定数目的逻辑页面(例如,3个逻辑页面)的数据之后,在继续整理后续逻辑页面的有效数据时同步地将部分已整理的数据从整理物理区块搬移至数据物理区块。
值得一提的是,上述部分同步方式仅为一个范例,本发明不限于此。例如,在本发明另一范例实施例中,在逻辑区块610(0)的第0个逻辑页面的有效数据已被复制到整理物理区块410(R+3)后,存储器管理电路302会继续下达指令来将后续逻辑页面的有效数据复制到整理物理区块410(R+3),同时下达指令将逻辑区块610(0)的第0个逻辑页面的有效数据从整理物理区块410(R+3)复制到数据物理区块410(T+2)。接着,在逻辑区块610(0)的第2个逻辑页面的有效数据已被复制到整理物理区块410(R+3)后,存储器管理电路302会继续下达指令来将后续逻辑页面的有效数据复制到整理物理区块410(R+3),同时下达指令将逻辑区块610(0)的第2个逻辑页面的有效数据从整理物理区块410(R+3)复制到数据物理区块410(T+2)。接着,在逻辑区块610(0)的第3个逻辑页面的有效数据已被复制到整理物理区块410(R+3)后,存储器管理电路302会继续下达指令来将后续逻辑页面的有效数据复制到整理物理区块410(R+3),同时下达指令将逻辑区块610(0)的第3个逻辑页面的有效数据从整理物理区块410(R+3)复制到数据物理区块410(T+2)。以此类推,存储器管理电路302会在整理后续逻辑页面的有效数据期间,同步地将有效数据从整理物理区块搬移至数据物理区块,直到所有有效数据被搬移至数据物理区块为止。也就是说,在此范例中,存储器管理电路302会在整理属于一个逻辑页面的数据之后,在继续整理属于下一个逻辑页面的有效数据时同步地将已整理的数据从整理物理区块搬移至数据物理区块。
基于上述,由于数据整理运作与数据搬移运作是以部分同步方式被执行,因此,执行数据合并运作所需的时间会大幅缩短。
图9是根据一范例实施例所绘示的数据合并方法的流程图。
请参照图9,在步骤S901中,存储器管理电路302会选择一个逻辑区块(以下称为目标逻辑区块)来进行数据合并运作。具体来说,存储器管理电路202会根据暂存区504所暂存的数据来判断需要被执行数据合并程序的逻辑区块并且从此些逻辑区块中选择一个逻辑区块来进行数据合并程序。也就是说,目标逻辑区块的有效数据已被分散地储存在数据物理区块(以下称对第一数据物理区块)与至少一暂存物理区块中。
在步骤S903中,存储器管理电路302会指派对应目标逻辑区块的多个整理物理区块。例如,在本范例实施例中,存储器管理电路302会从暂存区504中提取3个物理区块作为对应目标逻辑区块的第一至第三整理物理区块。
在步骤S905中,存储器管理电路302会以部分同步方式执行数据整理运作与数据搬移运作,以从第一数据物理区块和至少一暂存物理区块中将目标逻辑区块的有效数据整理至整理物理区块的下页物理页面,同时从整理物理区块将目标逻辑区块的有效数据程序化至第二数据物理区块。
在步骤S907中,存储器管理电路302会将目标逻辑区块重新映射至第二数据物理区块,由此完成数据合并运作。
图10是根据一范例实施例所绘示的步骤S905的详细流程图。
请参照图10,在步骤S1001中,存储器管理电路302会从第一数据物理区块和至少一暂存物理区块中将目标逻辑区块的有效数据之中欲程序化至第二数据物理区块的数据以物理页面为单位复制到整理物理区块中。
接着,在步骤S1003中,存储器管理电路302会判断目标逻辑区块的所有逻辑页面的有效数据是否已皆被整理至整理物理区块。
倘若目标逻辑区块的所有逻辑页面的有效数据尚未完全被整理至整理物理区块时,在步骤S1005中,存储器管理电路302会将至少部分已复制到整理物理区块中的数据程序化至第二数据物理区块,同时从第一数据物理区块和至少一暂存物理区块中将目标逻辑区块的有效数据之中欲编程至第二数据物理区块的后续物理页面的数据复制到整理物理区块中。并且,在步骤S1005之后,步骤S1003会被执行。
倘若目标逻辑区块的所有逻辑页面的有效数据皆已被整理至整理物理区块时,在步骤S1007中,存储器管理电路302会将已复制到整理物理区块中的数据编程至第二数据物理区块。并且在步骤S1007之后,数据整理运作与数据搬移运作会被完成。
综上所述,本发明范例实施例的数据合并方法、存储器控制器与存储器储存装置是将欲合并的数据整理至以单页模式操作的整理物理区块中,并且之后再将数据从整理物理区块中编程至数据物理区块,因此,可有效地提升储存数据的可靠度。此外,本发明范例实施例的数据合并方法、存储器控制器与存储器储存装置是以部分同步方式执行将有效数据整理至整理物理区块的运作以及将有效数据复制至数据物理区块的运作,由此可有效地缩短执行数据合并所需的时间。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。

Claims (21)

1.一种数据合并方法,用于在一可复写式非易失性存储器模块中合并一逻辑区块的有效数据,其中该可复写式非易失性存储器模块具有多个物理区块,每一该多个物理区块具有多个物理页面组,每一该多个物理页面组至少具有一下页物理页面与一上页物理页面,写入数据至所述多个物理页面组中的所述下页物理页面的速度快于写入数据至所述多个物理页面组中的所述上页物理页面的速度,该逻辑区块的有效数据分散地被储存在该多个物理区块之中的一第一数据物理区块与该多个物理区块之中的至少一暂存物理区块中,并且该逻辑区块的有效数据欲被合并至该多个物理区块之中的一第二数据物理区块,该数据合并方法包括:
指派对应该逻辑区块的多个整理物理区块;
以一部分同步方式执行一数据整理运作与一数据搬移运作,其中该数据整理运作用以从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据整理至该些整理物理区块的下页物理页面,该数据搬移运作用以从该些整理物理区块之中将该逻辑区块的有效数据搬移至该第二数据物理区块;以及
将该逻辑区块重新映射至该第二数据物理区块。
2.根据权利要求1所述的数据合并方法,其中以该部分同步方式执行该数据整理运作与该数据搬移运作的步骤包括:
(a)从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于多个逻辑页面的有效数据复制到该些整理物理区块的下页物理页面中,其中该些逻辑页面的数目为一预定数目;
(b)从该些整理物理区块中将属于该些逻辑页面的有效数据复制到该第二数据物理区块,同时从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于其它逻辑页面的后续有效数据复制到该些整理物理区块的后续下页物理页面中;以及
(c)重复执行步骤(a)与(b),直到该逻辑区块的所有有效数据都被复制到该第二数据物理区块为止。
3.根据权利要求1所述的数据合并方法,其中以该部分同步方式执行该数据整理运作与该数据搬移运作的步骤包括:
(a)从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于一个逻辑页面的有效数据复制到该些整理物理区块的下页物理页面中;
(b)从该些整理物理区块中将该逻辑页面的有效数据复制到该第二数据物理区块,同时从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于下一个逻辑页面的有效数据复制到该些整理物理区块的后续下页物理页面中;以及
(c)重复执行步骤(a)与(b),直到该逻辑区块的所有有效数据都被复制到该第二数据物理区块为止。
4.根据权利要求1所述的数据合并方法,其中该数据搬移运作是通过使用一复制回指令来执行。
5.根据权利要求1所述的数据合并方法,其中每一该些物理页面组还具有一中页物理页面,并且写入数据至所述多个物理页面组中的所述下页物理页面的速度快于写入数据至所述多个物理页面组中的所述中页物理页面的速度,写入数据至所述多个物理页面组中的所述中页物理页面的速度快于写入数据至所述多个物理页面组中的所述上页物理页面的速度。
6.根据权利要求5所述的数据合并方法,还包括:
将该些物理区块至少分组为一数据区与一暂存区,
其中该第一数据物理区块与该第二数据物理区块属于该数据区并且该至少一暂存物理区块是从该暂存区中被指派。
7.根据权利要求6所述的数据合并方法,
其中从该暂存区中指派作为对应该逻辑区块的该些整理物理区块的步骤包括:
从该暂存区中提取3个物理区块作为对应该逻辑区块的一第一整理物理区块、一第二整理物理区块与一第三整理物理区块。
8.一种存储器控制器,用于控制一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块具有多个物理区块,每一该些物理区块具有多个物理页面组,每一该些物理页面组至少具有一下页物理页面与一上页物理页面,写入数据至所述多个物理页面组中的所述下页物理页面的速度快于写入数据至所述多个物理页面组中的所述上页物理页面的速度,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以将一逻辑区块的有效数据合并至该些物理区块之中的一第二数据物理区块,其中该逻辑区块的有效数据分散地被储存在该些物理区块之中的一第一数据物理区块与该些物理区块之中的至少一暂存物理区块中,
其中该存储器管理电路指派对应该逻辑区块的多个整理物理区块,并且以一部分同步方式执行一数据整理运作与一数据搬移运作,
其中该数据整理运作用以从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据整理至该些整理物理区块的下页物理页面,该数据搬移运作用以从该些整理物理区块之中将该逻辑区块的有效数据搬移至该第二数据物理区块,
其中该存储器管理电路还用以将该逻辑区块重新映射至该第二数据物理区块。
9.根据权利要求8所述的存储器控制器,其中在该数据整理运作与该数据搬移运作都以该部分同步方式被执行期间,该存储器管理电路从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于多个逻辑页面的有效数据复制到该些整理物理区块的下页物理页面中,其中该些逻辑页面的数目为一预定数目,
其中在该数据整理运作与该数据搬移运作都以该部分同步方式被执行期间,该存储器管理电路从该些整理物理区块中将属于该些逻辑页面的有效数据复制到该第二数据物理区块,同时从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于其它逻辑页面的后续有效数据复制到该些整理物理区块的后续下页物理页面中。
10.根据权利要求8所述的存储器控制器,其中在该数据整理运作与该数据搬移运作都以该部分同步方式被执行期间,该存储器管理电路从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于一个逻辑页面的有效数据复制到该些整理物理区块的下页物理页面中,
其中在该数据整理运作与该数据搬移运作都以该部分同步方式被执行期间,该存储器管理电路从该些整理物理区块中将属于该逻辑页面的有效数据复制到该第二数据物理区块,同时从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于下一个逻辑页面的有效数据复制到该些整理物理区块的后续下页物理页面中。
11.根据权利要求8所述的存储器控制器,其中该存储器管理电路使用一复制回指令来执行该数据搬移运作。
12.根据权利要求8所述的存储器控制器,其中每一该些物理页面组还具有一中页物理页面,并且写入数据至所述多个物理页面组中的所述下页物理页面的速度快于写入数据至所述多个物理页面组中的所述中页物理页面的速度,写入数据至所述多个物理页面组中的所述中页物理页面的速度快于写入数据至所述多个物理页面组中的所述上页物理页面的速度。
13.根据权利要求12所述的存储器控制器,其中该存储器管理电路将该些物理区块至少分组为一数据区与一暂存区,
其中该第一数据物理区块与该第二数据物理区块属于该数据区并且该至少一暂存物理区块是从该暂存区中被指派。
14.根据权利要求13所述的存储器控制器,
其中该存储器管理电路从该暂存区中提取3个物理区块作为对应该逻辑区块的一第一整理物理区块、一第二整理物理区块与一第三整理物理区块。
15.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,具有多个物理区块,每一该些物理区块具有多个物理页面组,每一该些物理页面组至少具有一下页物理页面与一上页物理页面,并且写入数据至所述多个物理页面组中的所述下页物理页面的速度快于写入数据至所述多个物理页面组中的所述上页物理页面的速度;以及
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,并且用以将一逻辑区块的有效数据合并至该些物理区块之中的一第二数据物理区块,其中该逻辑区块的有效数据分散地被储存在该些物理区块之中的一第一数据物理区块与该些物理区块之中的至少一暂存物理区块中,
其中该存储器控制器指派对应该逻辑区块的多个整理物理区块,并且以一部分同步方式执行一数据整理运作与一数据搬移运作,
其中该数据整理运作用以从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据整理至该些整理物理区块的下页物理页面,该数据搬移运作用以从该些整理物理区块之中将该逻辑区块的有效数据搬移至该第二数据物理区块,
其中该存储器控制器还用以将该逻辑区块重新映射至该第二数据物理区块。
16.根据权利要求15所述的存储器储存装置,其中在该数据整理运作与该数据搬移运作都以该部分同步方式被执行期间,该存储器控制器从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于多个逻辑页面的有效数据复制到该些整理物理区块的下页物理页面中,其中该些逻辑页面的数目为一预定数目,
其中在该数据整理运作与该数据搬移运作都以该部分同步方式被执行期间,该存储器控制器从该些整理物理区块中将属于该些逻辑页面的有效数据复制到该第二数据物理区块,同时从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于其它逻辑页面的后续有效数据复制到该些整理物理区块的后续下页物理页面中。
17.根据权利要求15所述的存储器储存装置,其中在该数据整理运作与该数据搬移运作都以该部分同步方式被执行期间,该存储器控制器从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于一个逻辑页面的有效数据复制到该些整理物理区块的下页物理页面中,
其中在该数据整理运作与该数据搬移运作都以该部分同步方式被执行期间,该存储器控制器从该些整理物理区块中将属于该逻辑页面的有效数据复制到该第二数据物理区块,同时从该第一数据物理区块和该至少一暂存物理区块中将该逻辑区块的有效数据之中属于下一个逻辑页面的有效数据复制到该些整理物理区块的后续下页物理页面中。
18.根据权利要求15所述的存储器储存装置,其中该存储器控制器使用一复制回指令来执行该数据搬移运作。
19.根据权利要求15所述的存储器储存装置,其中每一该些物理页面组还具有一中页物理页面,并且写入数据至所述多个物理页面组中的所述下页物理页面的速度快于写入数据至所述多个物理页面组中的所述中页物理页面的速度,写入数据至所述多个物理页面组中的所述中页物理页面的速度快于写入数据至所述多个物理页面组中的所述上页物理页面的速度。
20.根据权利要求19所述的存储器储存装置,其中该存储器控制器将该些物理区块至少分组为一数据区与一暂存区,
其中该第一数据物理区块与该第二数据物理区块属于该数据区并且该至少一暂存物理区块是从该暂存区中被指派。
21.根据权利要求20所述的存储器储存装置,
其中该存储器控制器从该暂存区中提取3个物理区块作为对应该逻辑区块的一第一整理物理区块、一第二整理物理区块与一第三整理物理区块。
CN201110442066.2A 2011-12-26 2011-12-26 用于非易失性存储器的数据合并方法、控制器与储存装置 Active CN103176910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110442066.2A CN103176910B (zh) 2011-12-26 2011-12-26 用于非易失性存储器的数据合并方法、控制器与储存装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110442066.2A CN103176910B (zh) 2011-12-26 2011-12-26 用于非易失性存储器的数据合并方法、控制器与储存装置

Publications (2)

Publication Number Publication Date
CN103176910A CN103176910A (zh) 2013-06-26
CN103176910B true CN103176910B (zh) 2015-10-14

Family

ID=48636804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110442066.2A Active CN103176910B (zh) 2011-12-26 2011-12-26 用于非易失性存储器的数据合并方法、控制器与储存装置

Country Status (1)

Country Link
CN (1) CN103176910B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657083B (zh) * 2013-11-19 2017-12-22 群联电子股份有限公司 数据写入方法、存储器储存装置、存储器控制电路单元
CN104765569B (zh) * 2014-01-06 2017-10-27 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855304A (zh) * 2005-04-27 2006-11-01 三星电子株式会社 支持虚拟页存储的非易失性存储器件及其编程方法
CN101493794A (zh) * 2009-01-19 2009-07-29 成都市华为赛门铁克科技有限公司 一种闪存数据处理方法及装置
TW201120896A (en) * 2009-12-15 2011-06-16 Phison Electronics Corp Flash memory management method and flash memory controller and storage system using the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010100914A1 (ja) * 2009-03-04 2010-09-10 株式会社日立ハイテクノロジーズ 液体クロマトグラフ及び分析方法
KR101635446B1 (ko) * 2010-05-25 2016-07-04 삼성전자주식회사 반도체 메모리 장치의 블록 병합 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855304A (zh) * 2005-04-27 2006-11-01 三星电子株式会社 支持虚拟页存储的非易失性存储器件及其编程方法
CN101493794A (zh) * 2009-01-19 2009-07-29 成都市华为赛门铁克科技有限公司 一种闪存数据处理方法及装置
TW201120896A (en) * 2009-12-15 2011-06-16 Phison Electronics Corp Flash memory management method and flash memory controller and storage system using the same

Also Published As

Publication number Publication date
CN103176910A (zh) 2013-06-26

Similar Documents

Publication Publication Date Title
CN103377129B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN104102585A (zh) 映射信息记录方法、存储器控制器与存储器储存装置
CN103544115B (zh) 数据写入方法、存储器控制器与存储器存储装置
CN104765568A (zh) 数据存储方法、存储器控制电路单元与存储器存储装置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN104765569A (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN103514096A (zh) 数据储存方法、存储器控制器与存储器储存装置
CN103136111A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102890655A (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
CN103678162B (zh) 系统数据储存方法、存储器控制器与存储器储存装置
CN103593296A (zh) 数据储存方法、存储器控制器与存储器储存装置
CN102866861B (zh) 闪存储存系统、闪存控制器与数据写入方法
CN102567221B (zh) 数据管理方法、存储器控制器与存储器储存装置
CN105022695A (zh) 数据存储方法、存储器控制电路单元与存储器存储装置
CN104252317A (zh) 数据写入方法、存储器控制器与存储器存储装置
CN103914391A (zh) 数据读取方法、存储器控制器与存储器存储装置
CN103365790B (zh) 存储器控制器、存储装置与数据写入方法
CN103714008A (zh) 数据存储方法、存储器控制器与存储器存储装置
CN103513930A (zh) 存储器管理方法、存储器控制器与存储器储存装置
CN103544118A (zh) 存储器储存装置、其存储器控制器与数据写入方法
CN104731710A (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
CN103984635A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN104252600A (zh) 数据保护方法、存储器控制器与存储器储存装置
CN103176910B (zh) 用于非易失性存储器的数据合并方法、控制器与储存装置
CN104166558B (zh) 固件码载入方法、存储器控制器与存储器存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant