一种固态存储系统及控制器、提高闪存芯片寿命的方法

文档序号:6739631阅读:194来源:国知局
专利名称:一种固态存储系统及控制器、提高闪存芯片寿命的方法
技术领域
本发明涉及一种存储技术领域,尤其涉及一种固态存储系统及固态存储系统控制器,以及一种提高闪存芯片使用寿命的方法。
背景技术
作为唯一主流的固态非挥发数据储存技术,闪存已经成为了全球半导体产业体系中发展最为迅速的一环。2010年市场研究报告显示,闪存产品的市场已突破200 亿美元。基于闪存芯片的固态数据存储系统主要包含一个固态存储系统控制器芯片和一个以上闪存芯片。浮栅金属氧化物半导体晶体管(Floating-Gate Transistor)是闪存芯片的基本信息存储单元。浮栅金属氧化物半导体晶体管的阈值电压可以通过注射一定数量的电子进入浮栅而改变。因此,通过对浮栅内电子数目的精确控制,每个信息存储单元,即浮栅金属氧化物半导体晶体管,可储存多个比特信息。
精确控制浮栅内电子数目的过程通常被称为编程。在每一个信息存储单元被编程之前,其浮栅内的所有电子必须被移走,从而使得其阈值电压被置为最低,这个过程被称为擦除。
在对信息存储单元编程的过程中,现有技术使用一种渐进式的“编程一校验一再编程”的方法以实现对浮栅内电子数目的精确控制。重复的“编程/擦除Iprogram/erase) 的操作会逐渐降低浮栅金属氧化物半导体晶体管的噪音容限,从而使得闪存芯片只有一定的“编程/擦除”次数限度。
现有技术中,关于闪存芯片内部不同信息存储单元的“编程/擦除”次数的信息仅仅被固态存储系统控制器芯片利用来进行转换层(Translation Layer)固件设计,以达到闪存芯片内部不同存储单元的老化均衡(Wear-leveling)。
如上所述,在现有技术中,关于闪存芯片内部不同存储单元的“编程/擦除”次数的信息仅仅被固态存储系统控制器芯片利用来进行转换层(Translation Layer)固件设计,以达到闪存芯片内部不同存储单元的老化均衡(Wear-leveling)。
但是,即便固态存储系统控制器芯片可以实现最优的老化均衡,随着闪存制造工艺精度的不断提高,重复的“编程/擦除”操作对于闪存信息存储单元的副作用将持续增加,使得闪存芯片的使用寿命不断下降。如何延长闪存芯片的使用寿命(即重复“编程/擦除”次数)仍是固态存储系统设计中亟待解决的技术问题。
申请号为US2008162079,发明名称为 “END OF LIFE PREDICTION OF FLASH MEMORY ”的美国专利申请,其也公开了一种闪存生命周期的预测的技术方案,包括通过一个计数器对该闪存的使用次数进行计数;设定至少一个关于该闪存的使用次数的阈值;当计数器的计数次数达到某个阈值时,即可预知该闪存的剩余的寿命。
该美国专利并没有公开如何提高闪存的寿命和使用效率,无法解决现有技术中存在的技术问题。
申请号为CN200610170494. 3,发明名称为“闪存资料读写寿命提升方法”的中国专利申请,其公开了一种闪存资料读写寿命提升方法,其步骤包含a.内存写入资料; b.检查新的存储计数器记数值是否值是超过计数临界值? c.规划新的空白存储区块于保留区块内;d.递增对应新的空白存储区块的新的存储计数器内容值;e.交换旧的存储区块与新的空白存储区块的地址;f.抹除旧的存储区块内容的值在保留区块中。本发明可以准确计数存储区块读写次数,以便于有效的使用存储区块,使闪存的效能与寿命提升,并可以使闪存的存储区块不论是经常使用或不经常使用皆能达到精确分配与平衡使用的功效。
该中国专利申请虽然公开了一种提高闪存效能和寿命的技术方案,但是其实质是对存储区块进行有效利用的技术方案,但该技术方案并未考虑到信息存储单元的老化程度和相应的噪音容限,无法实时调整电压编程范围,也就无法真正提高闪存的使用寿命
发明内容
本发明为解决现有技术中存在的技术问题,提供了一种固态存储系统控制器、固态存储系统,以及相应的提闻闪存芯片寿命的方法,其可以真正提闻闪存芯片的使用寿命。
本发明提供的一种固态存储系统控制器,包括存储单元块“编程/擦除”次数记录模块,用于实时记录与其连接的每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;噪音容限估算模块,用于估算某一个存储单元块的存储单元的噪音容限;存储单元阈值电压编程范围设定模块,用于根据所述噪音容限估算模块估算得到的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整存储单元阈值电压编程范围;闪存芯片编程参数设定模块,用于根据存储单元阈值电压编程范围设定模块调整后的存储单元阈值电压编程范围,调整所述闪存芯片在编程过程中的参数。
其中,所述噪音容限估算模块估算的噪音容限为所述存储单元的最差可能的噪音容限。
其中,所述存储单元阈值电压编程范围设定模块具体用于根据所述噪音容限估算模块估算得到的最差可能的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,将所述存储单元的阈值电压编程范围调整为最小可容忍的阈值电压编程范围。
其中,闪存芯片编程参数设定模块具体用于用于根据存储单元阈值电压编程范围设定模块调整得到的存储单元的最小可容忍的阈值电压编程范围,将所述闪存芯片在编程过程中的参数调整为最优编程参数。
相应的,本发明还提供了一种固态存储系统,包括固态存储系统控制器和与所述固态存储系统控制器连接的多个闪存芯片;所述每一个闪存芯片包括至少一个存储单元块,所述每一个存储单元块包括至少一个存储单元;所述固态存储系统控制器用于实时记录所述每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;在对某一个存储单元块写入数据之前,估算该存储单元块的存储单元的噪音容限;根据其估算的噪音容限以及所述固态存储系统控制器使用的纠错码的纠错强度,调整该存储单元的阈值电压编程范围;根据所述调整后的存储单元阈值电压编程范围,调整所述闪存芯片在编程过程中的参数。
其中,所述固态存储系统控制器,包括存储单元块“编程/擦除”次数记录模块,用于实时记录与其连接的每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;噪音容限估算模块,用于估算某一个存储单元块的存储单元的噪音容限;存储单元阈值电压编程范围设定模块,用于根据所述噪音容限估算模块估算得到的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整存储单元阈值电压编程范围;闪存芯片编程参数设定模块,用于根据存储单元阈值电压编程范围设定模块调整后的存储单元阈值电压编程范围,调整所述闪存芯片在编程过程中的参数。
相应的,本发明还提供了一种提高闪存芯片使用寿命的方法,所述方法基于权利要求5所述的固态存储系统实现,所述固态存储系统,包括固态存储系统控制器和与所述固态存储系统控制器连接的多个闪存芯片;所述每一个闪存芯片包括至少一个存储单元块,所述每一个存储单元块包括至少一个存储单元;所述提高闪存芯片使用寿命的方法,包括所述固态存储系统控制器实时记录所述每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;所述固态存储系统控制器在对某一个存储单元块写入数据之前,估算该存储单元块的存储单元的噪音容限;所述固态存储系统控制器根据其估算的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整该存储单元的阈值电压编程范围;所述固态存储系统控制器根据其调整得到的存储单元阈值电压编程范围,调整对所述闪存芯片进行编程时的编程参数。
其中,所述固态存储系统控制器在对某一个存储单元块写入数据之前,估算该存储单元块的存储单元的噪音容限为所述存储单元的最差可能的噪音容限。
其中,所述固态存储系统控制器根据其估算的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整该存储单元的阈值电压编程范围,具体包括所述固态存储系统控制器根据其估算得到的最差可能的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,将所述存储单元的阈值电压编程范围调整为最小可容忍的阈值电压编程范围。
其中,所述固态存储系统控制器根据其调整得到的存储单元阈值电压编程范围, 调整对所述闪存芯片进行编程时的编程参数,具体包括所述固态存储系统控制器根据其调整得到的存储单元的最小可容忍的阈值电压编程范围,将所述闪存芯片在编程过程中的参数调整为最优编程参数。
实施本发明,由于实时对存储单元阈值电压编程范围进行调整,可以有效地降低每一次“编程/擦除”过程对闪存芯片的存储单元所带来的老化,可以直接延长闪存芯片的使用寿命。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图I为本发明提供的固态存储系统的结构示意图;图2为本发明提供的闪存芯片的结构示意图;图3为本发明提供的固态存储系统控制器的结构示意图;图4为本发明提供的提高闪存芯片寿命的方法的流程示意图;图5为现有技术的存储单元阈值电压范围及分布示意图;图6为应用本发明的存储单元阈值电压范围及分布示意图。
具体实施方式
本发明为解决现有技术中存在的技术问题,提供了一种固态存储系统控制器、固态存储系统,以及相应的提闻闪存芯片寿命的方法,其可以真正提闻闪存芯片的使用寿命。
参见图1,为本发明提供的固态存储系统的结构示意图。
如图I所示,本发明提供的一种固态存储系统,包括固态存储系统控制器I和与所述固态存储系统控制器I连接的多个闪存芯片。
如图2所示,所述每一个闪存芯片包括至少一个存储单元块,所述每一个存储单元块包括至少一个存储单元。
所述固态存储系统控制器I用于实时记录所述每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;在对某一个存储单元块写入数据之前,估算该存储单元块的存储单元的噪音容限;根据其估算的噪音容限以及所述固态存储系统控制器使用的纠错码的纠错强度,调整该存储单元的阈值电压编程范围;根据所述调整后的存储单元阈值电压编程范围,调整所述闪存芯片在编程过程中的参数。
具体的,在固态存储系统运行过程中,固态存储系统控制器实时纪录关于每一个闪存芯片内部每一个存储单元块的“编程/擦除”次数。当固态存储系统控制器要向某一闪存芯片上某一存储单元块写入数据时,先检查此存储单元块所已经经历的“编程/擦除” 次数。根据“编程/擦除”次数的信息,固态存储系统控制器估算出存储单元块内存储单元的老化程度以及相应的噪音容限。根据此噪音容限以及固态存储系统控制器使用的纠错码的纠错强度,固态存储系统控制器相应调整闪存芯片在编程过程中的参数设定以适当降低存储单元阈值电压编程范围。由于降低存储单元阈值电压编程范围可直接降低“编程/擦除”过程对存储单元所带来的老化,因此,该动态调节阈值电压编程范围的方法可直接延长闪存芯片的使用寿命。
固态存储系统的固态存储控制器的具体功能和结构将结合图3进行描述,如图3 所示,本发明提供的固态存储系统控制器1,包括存储单元块“编程/擦除”次数记录模块10,用于实时记录与其连接的每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;噪音容限估算模块11,用于估算某一个存储单元块的存储单元的噪音容限;存储单元阈值电压编程范围设定模块12,用于根据所述噪音容限估算模块11估算得到的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整存储单元阈值电压编程范围;闪存芯片编程参数设定模块13,用于根据存储单元阈值电压编程范围设定模块12调7整后的存储单元阈值电压编程范围,调整所述闪存芯片在编程过程中的参数。
其中,所述噪音容限估算模块11估算的噪音容限为所述存储单元的最差可能的噪音容限。
其中,所述存储单元阈值电压编程范围设定模块12具体用于根据所述噪音容限估算模块I估算得到的最差可能的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,将所述存储单元的阈值电压编程范围调整为最小可容忍的阈值电压编程范围。
其中,闪存芯片编程参数设定模块13具体用于用于根据存储单元阈值电压编程范围设定模块12调整得到的存储单元的最小可容忍的阈值电压编程范围,将所述闪存芯片在编程过程中的参数调整为最优编程参数。
可选的,所述固态存储系统控制器还包括其他功能模块,在此不再赘述。
具体实现过程中,存储单元块“编程/擦除”次数记录模块10用于实时纪录所有闪存芯片中所有存储单元块经历过的“编程/擦除”次数。噪音容限估算模块11用于实时估算某一存储单元块内的存储单元的最差可能的噪音容限,存储单元噪音容限的估算需要两个信息(I)此存储单元块经历过的“编程/擦除”次数;(2)存储单元阈值电压编程范围。根据闪存芯片存储单元的老化模型及以上两个信息,噪音容限估算模块11可实时估算某一存储单元块内的存储单元的最差可能的噪音容限。
利用噪音容限估算模块11,存储单元阈值电压编程范围设定模块12实时预测当使用不同的存储单元阈值电压时所达到的噪音容限。进而,根据固态存储系统控制器芯片所使用的纠错码的纠错强度,存储单元阈值电压编程范围设定模块12选择最小可容忍的存储单元阈值电压编程范围。
根据存储单元阈值电压编程范围设定模块12所选择的存储单元阈值电压编程范围,闪存芯片编程参数设定模块13计算出相应的最优编程参数以调节闪存芯片的实际编程过程。
当固态存储系统控制器I欲将一用户数据块写入某闪存芯片的某个存储单元块内,先对此用户数据块进行纠错码编码,同时启动其存储单元阈值电压编程范围设定模块 12选择的最小可容忍的存储单元阈值电压编程范围。进而,固态存储系统控制器I利用闪存芯片编程参数设定模块13得到相应的最优编程参数,并将此闪存芯片编程参数传输给闪存芯片,最后将已编码的用户数据块传至闪存芯片以进行存储。
相应的,本发明还提供了一种提高闪存芯片使用寿命的方法,所述方法基于如图I 所示固态存储系统实现,所述固态存储系统,包括固态存储系统控制器和与所述固态存储系统控制器连接的多个闪存芯片;所述每一个闪存芯片包括至少一个存储单元块,所述每一个存储单元块包括至少一个存储单元;参见图4,为本发明提供的提高闪存芯片使用寿命的方法的流程示意图。
本发明提供的提闻闪存芯片使用寿命的方法,包括步骤100,固态存储系统控制器实时记录所述每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;步骤101,固态存储系统控制器在对某一个存储单元块写入数据之前,估算该存储单元块的存储单元的噪音容限;具体的,所述固态存储系统控制器在对某一个存储单元块写入数据之前,估算该存储单元块的存储单元的噪音容限为所述存储单元的最差可能的噪音容限。
步骤102,固态存储系统控制器根据其估算的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整该存储单元的阈值电压编程范围;具体的,所述固态存储系统控制器根据其估算得到的最差可能的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,将所述存储单元的阈值电压编程范围调整为最小可容忍的阈值电压编程范围。
步骤103,固态存储系统控制器根据其调整得到的存储单元阈值电压编程范围,调整对所述闪存芯片进行编程时的编程参数。
具体的,所述固态存储系统控制器根据其调整得到的存储单元的最小可容忍的阈值电压编程范围,将所述闪存芯片在编程过程中的参数调整为最优编程参数。
为了进一步阐述本发明提供的固态存储系统、固态存储系统控制器,以及提高闪存芯片使用寿命的方法的技术效果,本实施例通过图5和图6比较现有技术和本发明的本质区别。
如图5所示,在现有固态存储系统设计中,在闪存芯片的整个使用寿命内,其存储单元阈值电压编程范围保持不变。所以,在闪存芯片使用寿命的初期,其噪音容限相当大, 随着“编程/擦除”次数的逐渐增加,存储单元逐渐老化,致使其噪音容限逐渐减小。在闪存芯片的整个使用寿命内,存储单元阈值电压编程范围以及相应的编程参数维持不变。电压编程范围直接决定每一次“编程/擦除”操作对存储单元所带来的老化,并且较大的电压编程范围会导致较严重的存储单元老化。
所以,在现有固态存储系统设计中,由于持续使用较大的电压编程范围,所有的 “编程/擦除”操作都会带来较严重的存储单元老化。
如图6所示,当使用本发明提供的固态存储系统、固态存储系统控制器,以及提高闪存芯片使用寿命的方法时,在闪存芯片的整个使用寿命内,其存储单元阈值电压编程范围会随着存储单元老化程度而逐渐增长,同时存储单元的噪音容限保持几乎不变。在闪存芯片的整个使用寿命内,存储单元编程参数随着阈值电压编程范围的变化而变化。这样,在闪存芯片使用寿命的初期和中期,由于所用的电压编程范围较小,每一次“编程/擦除”操作对存储单元所带来的老化就会较弱,进而使得闪存芯片可经受更多的“编程/擦除”次数,达到延长闪存芯片使用寿命的目的。
综上所述,实施本发明,由于实时对存储单元阈值电压编程范围进行调整,可以有效地降低每一次“编程/擦除”过程对闪存芯片的存储单元所带来的老化,可以直接延长闪存芯片的使用寿命。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种固态存储系统控制器,包括存储单元块“编程/擦除”次数记录模块,用于实时记录与其连接的每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;噪音容限估算模块,用于估算某一个存储单元块的存储单元的噪音容限;存储单元阈值电压编程范围设定模块,用于根据所述噪音容限估算模块估算得到的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整存储单元阈值电压编程范围;闪存芯片编程参数设定模块,用于根据存储单元阈值电压编程范围设定模块调整后的存储单元阈值电压编程范围,调整所述闪存芯片在编程过程中的参数。
2.如权利要求I所述的固态存储系统控制器,其特征在于,所述噪音容限估算模块估算的噪音容限为所述存储单元的最差可能的噪音容限。
3.如权利要求2所述的固态存储系统控制器,其特征在于,所述存储单元阈值电压编程范围设定模块具体用于根据所述噪音容限估算模块估算得到的最差可能的噪音容限, 以及所述固态存储系统控制器使用的纠错码的纠错强度,将所述存储单元的阈值电压编程范围调整为最小可容忍的阈值电压编程范围。
4.如权利要求3所述的固态存储系统控制器,其特征在于,闪存芯片编程参数设定模块具体用于用于根据存储单元阈值电压编程范围设定模块调整得到的存储单元的最小可容忍的阈值电压编程范围,将所述闪存芯片在编程过程中的参数调整为最优编程参数。
5.一种固态存储系统,其特征在于,包括固态存储系统控制器和与所述固态存储系统控制器连接的多个闪存芯片;所述每一个闪存芯片包括至少一个存储单元块,所述每一个存储单元块包括至少一个存储单元;所述固态存储系统控制器用于实时记录所述每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;在对某一个存储单元块写入数据之前,估算该存储单元块的存储单元的噪音容限;根据其估算的噪音容限以及所述固态存储系统控制器使用的纠错码的纠错强度,调整该存储单元的阈值电压编程范围;根据所述调整后的存储单元阈值电压编程范围,调整所述闪存芯片在编程过程中的参数。
6.如权利要求5所述的固态存储系统,其特征在于,所述固态存储系统控制器,包括存储单元块“编程/擦除”次数记录模块,用于实时记录与其连接的每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;噪音容限估算模块,用于估算某一个存储单元块的存储单元的噪音容限;存储单元阈值电压编程范围设定模块,用于根据所述噪音容限估算模块估算得到的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整存储单元阈值电压编程范围;闪存芯片编程参数设定模块,用于根据存储单元阈值电压编程范围设定模块调整后的存储单元阈值电压编程范围,调整所述闪存芯片在编程过程中的参数。
7.一种提高闪存芯片使用寿命的方法,其特征在于,所述方法基于权利要求5所述的固态存储系统实现,所述固态存储系统,包括固态存储系统控制器和与所述固态存储系统控制器连接的多个闪存芯片;所述每一个闪存芯片包括至少一个存储单元块,所述每一个存储单元块包括至少一个存储单元;所述提高闪存芯片使用寿命的方法,包括所述固态存储系统控制器实时记录所述每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;所述固态存储系统控制器在对某一个存储单元块写入数据之前,估算该存储单元块的存储单元的噪音容限;所述固态存储系统控制器根据其估算的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整该存储单元的阈值电压编程范围;所述固态存储系统控制器根据其调整得到的存储单元阈值电压编程范围,调整对所述闪存芯片进行编程时的编程参数。
8.如权利要求7所述的提高闪存芯片使用寿命的方法,其特征在于,所述固态存储系统控制器在对某一个存储单元块写入数据之前,估算该存储单元块的存 储单元的噪音容限为所述存储单元的最差可能的噪音容限。
9.如权利要求8所述的提高闪存芯片使用寿命的方法,其特征在于,所述固态存储系统控制器根据其估算的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,调整该存储单元的阈值电压编程范围,具体包括所述固态存储系统控制器根据其估算得到的最差可能的噪音容限,以及所述固态存储系统控制器使用的纠错码的纠错强度,将所述存储单元的阈值电压编程范围调整为最小可容忍的阈值电压编程范围。
10.如权利要求9提高闪存芯片使用寿命的方法,其特征在于,所述固态存储系统控制器根据其调整得到的存储单元阈值电压编程范围,调整对所述闪存芯片进行编程时的编程参数,具体包括所述固态存储系统控制器根据其调整得到的存储单元的最小可容忍的阈值电压编程范围,将所述闪存芯片在编程过程中的参数调整为最优编程参数。
全文摘要
本发明提供一种固态存储系统及控制器,以及一种提高闪存芯片使用寿命的方法,该固态存储系统控制器包括存储单元块“编程/擦除”次数记录模块,用于实时记录与其连接的每一个闪存芯片内部的每一个存储单元块“编程或擦除”次数;噪音容限估算模块,用于估算某一个存储单元块的存储单元的噪音容限;存储单元阈值电压编程范围设定模块,用于根据噪音容限,以及固态存储系统控制器使用的纠错码的纠错强度,调整存储单元阈值电压编程范围;闪存芯片编程参数设定模块,用于根据存储单元阈值电压编程范围设定模块调整后的存储单元阈值电压编程范围,调整闪存芯片在编程过程中的参数。实施本发明,可切实有效提高闪存芯片的使用寿命。
文档编号G11C16/34GK102937935SQ20121032270
公开日2013年2月20日 申请日期2012年9月4日 优先权日2012年9月4日
发明者张彤, 邹粤林 申请人:邹粤林
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1