非易失性存储器的损耗均衡系统及方法

文档序号:6500902阅读:174来源:国知局
非易失性存储器的损耗均衡系统及方法
【专利摘要】一种含有多个储存单元的非易失性存储器的损耗均衡架构,使用转换层将主机所提供的非易失性存储器的逻辑地址转换为物理地址。配置一冷区块表格,在至少一个所述储存单元内分配一个或多个冷区块,该储存单元内的冷区块的擦写计数值小于该储存单元内的非冷区块的擦写计数值。在所述冷区块表格中记录冷区块的逻辑地址和相应的物理地址,以建立含有该些冷区块的冷区块群集。
【专利说明】非易失性存储器的损耗均衡系统及方法
【技术领域】
[0001]本发明涉及损耗均衡(wear leveling),特别是关于一种具多储存单元的非易失性存储器的全域(global)损耗均衡的层级架构。
现有技术
[0002]一些可擦写储存介质(例如,快闪存储器)在经过一定次数的擦写周期后会变得不可靠。如果这些擦写周期集中在固定的数据区块,而其余的数据区块则少有擦写周期,则这些可擦写储存介质的寿命会大为减少。图1显示传统储存装置(例如快闪存储器),其包含四个储存单元(亦即,单元I至单元4),其可分别代表四个平面(plane)、通道或晶片。输入数据根据其逻辑区块地址(LBA)经过模数(mod)运算后的余数而写入单元I至单元4的其中之一。以图1为例,余数为{0,…,15}的数据写入单元1,余数为{16,…,31}的数据写入单元2,其余类推。数据很可能大都写入某一储存单元(例如单元I)。如前所述,这会造成图1所示的储存装置的寿命大为减少。为了延长储存装置的寿命,提出了一些损耗均衡(wear leveling)的机制,使得擦写周期得以平均分散。然而,传统的损耗均衡机制仅影响储存装置的限定区域,或者需要使用复杂的演算法。
[0003]因此,亟需提出 一种新颖的机制以增强储存装置的损耗均衡,特别是针对具多个储存单元的非易失性存储器。

【发明内容】

[0004]本发明实施例的目的之一在于提出一种非易失性存储器(特别是具多个储存单元的非易失性存储器)的全域损耗均衡的层级架构,用以全域且预先进行非易失性存储器的损耗均衡。
[0005]根据本发明的实施例,非易失性存储器包含多个储存单元。转换层将主机所提供的非易失性存储器的逻辑地址转换为物理地址。配置冷区块表格,于至少一储存单元内分配一或多个冷区块,该储存单元内的该些冷区块的擦写计数值小于储存单元的非冷区块的擦写计数值。冷区块的逻辑地址与相应物理地址记录于冷区块表格,以建立含有该些冷区块的冷区块群集。
【专利附图】

【附图说明】
[0006]图1显示传统具四储存单元的储存装置。
[0007]图2显示本发明实施例之非易失性存储器的全域损耗均衡的层级架构。
[0008]图3例示图2的非易失性存储器。
[0009]图4A至图4B显示含二个储存单元的存储器依序分配一个冷区块的例子。
[0010]图5A至图5C显示含四个储存单元的存储器依序分配六个冷区块的例子。
[0011]图6显示本发明实施例的主机从存储器读取数据的流程图。
[0012]图7显示本发明实施例的主机将数据写入存储器的流程图。[0013]附图标记说明
[0014]2损耗均衡的层级架构
[0015]20非易失性存储器
[0016]201储存单元
[0017]201A第一储存单元
[0018]201B第二储存单元
[0019]201C第三储存单元
[0020]20ID第四储存单元
[0021]2011冷区块
[0022]21主机
[0023]22转换层
[0024]23存储器控制器
[0025]24冷区块表格
[0026]61逻辑地址是否位于冷区块表格
[0027]62从冷区块表格得到物理地址
[0028]63从转换层得到物理地址
[0029]64获取数据
[0030]71是否为热数据
[0031]72根据冷区块表格将数据写入冷区块
[0032]73根据转换层将数据写入非冷区块
[0033]TE总擦写计数值
【具体实施方式】
[0034]图2显示本发明实施例的非易失性存储器20的全域损耗均衡(global wearleveling)的层级架构2,该非易失性存储器20可被主机21 (例如电脑)存取。非易失性存储器20 (以下简称存储器)可以是快闪存储器,但不限定于此。本实施例的存储器20包含多个储存单元201,例如单元1、单元2等。具储存单元201的存储器20可根据各种平行架构(parallelism)加以分割,例如平面(plane)层级架构、通道层级架构、晶片层级架构或其组合。
[0035]存储器控制器23位于主机21与存储器20之间。在存储器控制器23内,转换层22受控于存储器控制器23,将主机21提供的逻辑地址(例如逻辑区块地址(LBA))转换为存储器20的物理地址。本实施例的转换层22可以是快闪存储器转换层(flash translationlayer, FTL),其可支持快闪存储器20的一般文件系统(file system)。
[0036] 根据本实施例的特征之一,存储器控制器23管理并建构冷区块(cold block)表格24,以全域及预先(preemptive)方式来增强损耗均衡。如图3所示,在至少一个储存单元201 (例如单元1、单元2、单元3或单元4)内分配有一个或多个冷区块2011。储存单元201内的冷区块2011各具有擦写计数值(或擦写周期数),其小于同一储存单元201内的非冷(non-cold)区块(亦即,冷区块2011之外的区块)的擦写计数值。换句话说,在某一个储存单元201内,冷区块2011的擦写周期数少于非冷区块的擦写周期数。冷区块2011的逻辑地址及相应的物理地址被记录在冷区块表格24中,因而建立含有多个冷区块2011的冷区块群组(group)或池(pool)。此外,每一储存单元201分别进行损耗均衡,例如静态(static)损耗均衡。
[0037]在本实施例中,某一储存单元201的冷区块2011分配原则是:将储存单元201的总擦写计数值与存储器20的其他储存单元201的总擦写计数值做比较。由此,总擦写计数值较小的储存单元201将被分配以较多的冷区块2011。反过来说,总擦写计数值较大的储存单元201将被分配以较少的冷区块2011。以图3为例,储存单元3具最小的总擦写计数值,而储存单元4具最大的总擦写计数值。
[0038]可以动态地执行存储器20的冷区块2011的分配。例如,可周期地更新分配冷区块2011。或者,可在某一冷区块2011被填满时,进行冷区块2011的更新分配。图4A至图4B显示含有二个储存单元(亦即,第一储存单元201A及第二储存单元201B)的存储器20依序分配一冷区块2011的例子。首先,如图4A所示,由于第一储存单元201A的总擦写计数值(TE)小于第二储存单元201B的总擦写计数值,因此冷区块2011被分配至第一储存单元201A。存储器20在经过一段期间的擦写周期后,如图4B所示,由于第二储存单元201B的总擦写计数值较小,因此冷区块2011被分配至第二储存单元201B。
[0039]图5A至图5C显示含有四个储存单元(亦即,第一储存单元201A、第二储存单元201B、第三储存单元201C及第四储存单元201D)的存储器20依序分配六个冷区块2011的例子。首先,如图5A所示,根据储存单元201A?201D的各总擦写计数值,进行六个冷区块2011的分配。当第二储存单元201B的一个冷区块2011被填满后,如图5B所示,新的冷区块2011被分配至第四储存单元201D。接着,当第一储存单元201A的一个冷区块2011被填满后,如图5C所示,新的冷区块2011被分配至第三储存单元201C。
[0040]主机21根据冷区块表格24以及转换层22,可以有效地存取存储器20,使得擦写周期平均分散以延长存储器20的服务寿命。图6显示本发明实施例的主机21从存储器20读取数据的流程图。在步骤61,判断主机21提供的读取命令的逻辑地址是否位于冷区块表格24。如果步骤61的判断结果为“是”,则从冷区块表格24得到相应的物理地址(步骤62);否则,如果步骤61的判断结果为“否”,则从转换层22得到相应的物理地址(步骤63)。在步骤64,根据从冷区块表格24 (步骤62)或从转换层22 (步骤62)所得到的物理地址,从存储器20获取数据,并传送至主机21。
[0041]图7显示本发明实施例的主机21将数据写入存储器20的流程图。在步骤71,判断将写入存储器20的数据是否为热(hot)数据。如果该数据为热数据,则根据冷区块表格24将数据写入冷区块2011 (步骤72);否则,如果数据不是热数据(亦即,是冷数据),则根据转换层22将数据写入存储器20的非冷区块(步骤73)。本实施例中的“热”数据的定义可使用传统定义。在一个例子中,某逻辑地址的数据的相应存取计数值大于预设值,则可视为热数据。在另一个例子中,具有较短长度(例如小于4K)的数据可视为热数据。
[0042]根据上述实施例,由于冷区块表格24的冷区块2011的分配是全域地考量储存单元201的擦写计数值,因而可以全面地强化个别储存单元201所执行的损耗均衡。此外,由于热数据被直接写入冷区块,而非如传统作法那样随意地写入存储器再进行损耗均衡,因此,本实施例提供一种预先机制,以强化存储器20的损耗均衡。此外,由于冷区块表格24仅记录冷区块2011,因此冷区块表格24不需要太大的储存量,然而许多传统损耗均衡机制需要庞大的储存量。
[0043]在另一个实施例中,冷区块201的数据还进行回收过程(garbage collection)或有效数据收集机制(valid data collection),以回收不再使用的存储器空间。在本实施例中,回收过程或有效数据收集机制的执行是根据原始(或旧)数据的。例如,如图5C所示,原始存放于第二储存单元201B的热数据被重新移位至第一储存单元201A的冷区块2011,然而第一储存单元201A的该冷区块2011却缺少足够空间或者需执行回收过程。根据本实施例,关联于第二储存单元201B的第一储存单元201A的冷区块2011的数据将会被重新移回到第二储存单元201B的相关区块中。
[0044]以上所述仅仅是本发明的优选实施例,并非用以限定本发明的专利范围;凡其它未脱离发明所公开的精神的等效改变或改进,均应包含在本申请的专利范围内。
【权利要求】
1.一种非易失性存储器的损耗均衡系统,包含: 多个储存单元,位于所述非易失性存储器内; 转换层,用以将由主机所提供的所述非易失性存储器的逻辑地址转换为物理地址;以及 冷区块表格,在至少一个所述储存单元内分配一个或多个冷区块,该储存单元内的所述冷区块的擦写计数值小于该储存单元内的非冷区块的擦写计数值; 其中,在所述冷区块表格内记录所述冷区块的逻辑地址和相应的物理地址,以建立含有所述冷区块的冷区块群集。
2.根据权利要求1所述的非易失性存储器的损耗均衡系统,其中,所述非易失性存储器包含快闪存储器。
3.根据权利要求2所述的非易失性存储器的损耗均衡系统,其中,所述转换层包含快闪存储器转换层,该快闪存储器转换层支持该快闪存储器的文件系统。
4.根据权利要求1所述的非易失性存储器的损耗均衡系统,还包含存储器控制器,用以控制所述转换层并管理所述冷区块表格。
5.根据权利要求1所述的非易失性存储器的损耗均衡系统,其中,所述储存单元还分别进行损耗均衡。
6.根据权利要求5所述的非易失性存储器的损耗均衡系统,其中,所述损耗均衡包含静态损耗均衡。
7.根据权利要求1所述的非易失性存储器的损耗均衡系统,其中,通过将所述储存单元的总擦写计数值与所述存储器的其他储存单元的总擦写计数值进行比较,决定所述储存单元的冷区块的分配数量。
8.根据权利要求7所述的非易失性存储器的损耗均衡系统,其中,所述总擦写计数值较小的储存单元被分配以较多的冷区块,而该总擦写计数值较大的储存单元被分配以较少的冷区块。
9.根据权利要求1所述的非易失性存储器的损耗均衡系统,其中,周期地更新所述非易失性存储器的冷区块的分配,或者,在一个该冷区块被填满时进行该非易失性存储器的冷区块的分配。
10.根据权利要求1所述的非易失性存储器的损耗均衡系统,其中,根据原始储存单元的原始数据的地址,进行所述冷区块的数据回收过程或有效数据收集机制。
11.一种非易失性存储器的损耗均衡方法,包含: 在所述非易失性存储器内提供多个储存单元; 配置一转换层,用以将由主机所提供的该非易失性存储器的逻辑地址转换为物理地址;及 配置一冷区块表格,在至少一个所述储存单元内分配一个或多个冷区块,该储存单元内的所述冷区块的擦写计数值小于该储存单元内的非冷区块的擦写计数值; 其中,在该冷区块表格中记录所述冷区块的逻辑地址与相应物理地址,以建立含有所述冷区块的冷区块群集。
12.根据权利要求11所述的非易失性存储器的损耗均衡方法,其中,所述转换层包含快闪存储器转换层,该快闪存储器转换层支持快闪存储器的文件系统。
13.根据权利要求11所述的非易失性存储器的损耗均衡方法,还包括:对所述储存单元分别进行损耗均衡。
14.根据权利要求13所述的非易失性存储器的损耗均衡方法,其中,所述损耗均衡包含静态损耗均衡。
15.根据权利要求11所述的非易失性存储器的损耗均衡方法,其中,通过将所述储存单元的总擦写计数值与所述存储器的其他储存单元的总擦写计数值进行比较,决定所述储存单元的冷区块的分配数量。
16.根据权利要求15所述的非易失性存储器的损耗均衡方法,其中所述总擦写计数值较小的储存单元被分配以较多的冷区块,而所述总擦写计数值较大的储存单元被分配以较少的冷区块。
17.根据权利要求11所述的非易失性存储器的损耗均衡方法,其中,周期地更新所述非易失性存储器的冷区块的分配,或者,在一个所述冷区块被填满时进行该非易失性存储器的冷区块的分配。
18.根据权利要求11所述的非易失性存储器的损耗均衡方法,还包括:对所述冷区块的数据进行回收过程或有效数据收集机制,并根据原始储存单元的原始数据的地址来执行所述回收过程或有效数据收集机制。
19.根据权利要求11所述的非易失性存储器的损耗均衡方法,还包括以下步骤以使所述主机从所述非易失 性存储器读取数据: 判断由所述主机提供的读取命令的逻辑地址是否位于所述冷区块表格中; 如果该逻辑地址被判断为位于所述冷区块表格中,则从所述冷区块表格得到相应的物理地址; 如果该被逻辑地址被判断为不位于所述冷区块表格中,则从所述转换层得到相应的物理地址;以及 根据从所述冷区块表格或从所述转换层得到的物理地址,从所述非易失性存储器获取数据,并传送至所述主机。
20.根据权利要求11所述的非易失性存储器的损耗均衡方法,还包括以下步骤,以使所述主机将数据写入所述非易失性存储器: 判断将写入所述非易失性存储器的数据是否为热数据; 如果该数据被判断维是热数据,则根据所述冷区块表格,将该数据写入所述冷区块;以及 如果该数据被判断为不是热数据,则根据所述转换层,将该数据写入所述非冷区块。
【文档编号】G06F12/02GK103942148SQ201310089456
【公开日】2014年7月23日 申请日期:2013年3月20日 优先权日:2013年1月21日
【发明者】吕俊贤, 刘亦峻 申请人:擎泰科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1