CN102915770A - 降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器 - Google Patents
降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器 Download PDFInfo
- Publication number
- CN102915770A CN102915770A CN2012103943747A CN201210394374A CN102915770A CN 102915770 A CN102915770 A CN 102915770A CN 2012103943747 A CN2012103943747 A CN 2012103943747A CN 201210394374 A CN201210394374 A CN 201210394374A CN 102915770 A CN102915770 A CN 102915770A
- Authority
- CN
- China
- Prior art keywords
- erase operation
- storage block
- storage unit
- flash
- time
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种降低闪存芯片内部数据互相串扰的方法,其中每一闪存芯片具有多个存储块,每个存储块包括多个存储单元,该方法包括步骤:A.在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;B.根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。本发明还公开了一种闪存存储系统及其控制器。采用本发明实施例,能够有效利用闪存信息存储单元本身电气特性来动态调整闪存芯片运行参数,达到减少相邻存储单元之间串扰的目的,且实现过程简单、易行。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器。
背景技术
作为唯一主流的固态非挥发数据储存技术,闪存已经成为了全球半导体产业体系中发展最为迅速的一环。2010年市场研究报告显示,闪存产品的市场已突破200亿美元。基于闪存芯片的固态数据存储系统主要包含一个固态存储系统控制器和一个以上闪存芯片。
闪存芯片的基本信息存储单元是浮栅金属氧化物半导体晶体管 (Floating-Gate Transistor)。浮栅金属氧化物半导体晶体管的阈值电压可以通过注射一定数量的电子进入浮栅而改变。因此,通过对浮栅内电子数目的精确控制,每个存储单元,即浮栅金属氧化物半导体晶体管,可储存多个比特信息。精确控制浮栅内电子数目的过程通常被称为编程。在每一个存储单元可以被编程之前,其浮栅内的所有电子必须被移走,从而使得其阈值电压被置为最低,这个过程被称为擦除。在对信息存储单元编程的过程中,业界使用一种渐进式的“编程-校验-再编程”的方法以实现对浮栅内电子数目的精确控制。重复的“编程/擦除”(program/erase) 的操作会逐渐在浮栅金属氧化物半导体晶体管内引入越来越多的电子陷阱(traps),以导致越来越低的浮栅金属氧化物半导体晶体管的噪音容限,从而使得闪存芯片只有一定的“编程/擦除”次数限度。
闪存芯片数据读写操作以页面(page)作为基本单位,每一页面内所包含的用户数据通常为4096字节(byte)、8192字节、或16384字节。一定数量(如256、512)的存储页面组成一个存储块,闪存芯片由大量同等大小的存储块以及必须的外围辅助电路构成。数据擦除操作必须以存储块为单位。在对一个页面内所有信息存储单元进行编程时,会对其紧相邻的页面所存储的信息带来干扰,带来相邻页面的数据存储稳定性的下降。这主要是由于相邻信息存储单元之间的寄生电容所引起的串扰(cell-to-cell interference)。随着闪存制造工艺的不断提高,相邻信息存储单元之间会越来越近,直接导致相邻信息存储单元之间的寄生电容及其所引发的相邻信息存储单元之间的串扰会越来越大,这会严重影响闪存芯片数据存储的稳定性。所以,在现有实现中,为了实现对相邻信息存储单元之间串扰的足够的容忍性,闪存芯片必须降低数据写入速度,或者使用更加复杂的纠错码。。
可见,减少相邻信息存储单元之间的串扰提高闪存芯片数据写入速度具有一定的意义,尤其在当前如何提升闪存写入数据的速度是本领域技术人员所致力的目标,能够有效的提高闪存芯片数据写入速度,从而提高整个存储系统的运行速度意义重大。
在现有技术中,通过将用户数据不连续写入页面的方式来减少闪存芯片的相邻信息存储单元之间的串扰,例如,申请号为20091014313.6的中国申请专利公开了一种闪速存储设备的编程方法,其中通过对包括偶数页和奇数页的存储单元的奇数页进行预先编程来把阈值电压提高一定电平,并且随后执行偶数页编程操作和奇数页编程操作,使得可以防止由于单元间干扰效应所导致的不统一的阈值电压分布。虽然所公开的方法在一定程度能够防止由于单元间干扰效应所导致的不统一的阈值电压分布,但是仅仅通过区分奇偶数页来写入数据,容易造成存储空间的浪费,而且该方法涉及到对电压的判断和验证都是难以控制和操作的。
另外,申请号为US2007,0849,992 的美国申请专利的说明书中公开了一种减少编程期间的干扰冲击的方法,其减少来自邻居的上举的干扰影响,包括:在第一时间,对非易失性存储元件的第一群组进行编程;在不同于第一时间的第二时间,对非非易失性存储元件的第二群组进行编程;以及一起验证所述非易失性存储元件的第一群组和所述非非易失性存储元件的第二群组。该方法能够有效减少编程期间相邻存储器单元之间的干扰冲击,但该方法实现过程比较复杂,要改变现有闪存存储系统的编程/擦除程序而实现,不利于普及使用。
发明内容
本发明的实施例提供一种降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器,能够有效地利用闪存信息存储单元本身电气特性来达到减少相邻信息存储单元之间串扰的目的,且实现过程简单、易行。
为达到上述目的,本发明的实施例采用如下技术方案:
一种降低闪存芯片内部数据互相串扰的方法,其中每一闪存芯片具有多个存储块,每个存储块包括多个存储单元,该方法包括步骤:
A、在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;
B、根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。
一种控制器,包括:
微处理单元;
闪存接口,耦接至所述微处理单元以及多个闪存芯片,其中每一闪存芯片具有多个存储块,每个存储块包括多个存储单元;
闪存管理模块,耦接至所述微处理单元以通过微处理单元对所述多个闪存芯片执行闪存处理程序,包括:在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;以及根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。
一种闪存存储系统,包括:
多个闪存芯片,每一闪存芯片具有多个存储块,每个存储块包括多个存储单元;
控制器,耦接至所述多个闪存芯片以在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;以及根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。
本发明实施例提供的一种降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器通过对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间,从而通过减少擦除操作的时间而直接降低接下来的编程过程中所产生的存储单元之间的串扰。因此,有效地利用闪存芯片存储单元的利用闪存信息存储单元本身电气特性来动态调整闪存芯片运行参数,达到减少相邻存储单元之间串扰的目的,并且本发明的设计与现有固态存储系统设计直接兼容,实现过程简单易行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中一种闪存存储系统的组成框图;
图2是本发明实施例1中闪存芯片的组成框图;
图3是不同擦除状态阈值电压所对应的不同串扰强度以及噪音容限的示意图;
图4是擦除操作过程存储单元的阈值电压变化的示意图;
图5是本发明实施例2中一种控制器的组成框图;
图6是本发明实施例3中一种降低闪存芯片内部数据互相串扰的方法流程图;
图7是本发明实施例4中另一种降低闪存芯片内部数据互相串扰的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种闪存存储系统,如图1所示,闪存存储系统100包括控制器110和闪存120,通常闪存存储系统100会与主机140一起使用,并通过通信接口130连接,以使主机140可将数据写入至存储系统100或从存储系统100中读取数据。在本实施例中,主机140可以是计算机、数字相机、摄影机、通信装置、音频播放器或视频播放器等可存储数据的任意系统。通信接口130可以是USB接口、PCI Express 接口、SATA接口、MS接口、MMC接口、SD接口、CF接口、IDE接口或其他适合的数据传输接口。在本实施例中,所述闪存存储系统100为固态硬盘(Solid State Drive, SDD), 但可理解的,在其他实施例中该闪存存储系统100也可以是随身碟或存储卡。
闪存120耦接控制器110并且用以存储数据。在本实施例中,闪存120包括多个闪存芯片122,如图2所示,每一闪存芯片122通常实质上分成多个存储块(physical block)124,一般而言,在闪存中存储块为擦除(erase)的最小单元。每一区块含有最小数码的一病被擦除的存储单元(memory cell)。每一存储块通常会分割成数个闪存页面(page)126, 其中一个闪存页面通常为编程/读取(program/read)的最小单元,但是针对不同的闪存设计,最小的编程/读取(program/read)单元也可为一个扇区(sector)大小,即一页中有多个扇区并以一扇区为编程/读取(program/read)的最小单元。在本实施例中,每一闪存芯片122包括多个闪存页面(page)126,而每一个闪存页面(page)126以扇区作为最小的存储单元128。且每一闪存页面包括用户数据存放区和冗余区,而冗余区通常又包括系统管理区与错误更正区。其中,用户数据存放区用以存储用户的数据,系统管理区用以存储系统管理数据(例如每一区块的逻辑实体地址对应关系、区块的起始分页…等),而错误更正区则用以存储经纠错码编码模块(后面描述)计算后的ECC的纠错码(parity) 。
控制器110用于协调主机140与闪存120的整体运作,例如数据的写入、读取与擦除等。
控制器110包括微处理单元110a、闪存接口110b、闪存管理模块110c以及纠错码编码模块110d。
微处理单元110a用于协调控制闪存接口110b、闪存管理模块110c以及纠错码编码模块110d,以及进行对闪存120的写入、读取与抹除等运作。
闪存接口110b电性连接至微处理单元110a并且用以存取闪存120, 也就是,主机140欲写入至闪存120的用户数据会经由闪存接口110b转换为闪存120所能接受的格式。特别是,在本实施中,闪存管理模块110c对闪存120的信息获取以及发送控制命令等也是需要通过闪存接口110b。
纠错码编码模块110d电性连接至微处理单元210a并且用于对欲写入的用户数据进行纠错码编码,从而产生相应的纠错码编码冗余并且与此数据一同储存至闪存芯片122的同一闪存页面124内,其中之后当从闪存页面124中读取此数据时,纠错码编码模块110d可依据纠错码编码冗余来检查数据是否正确,或者当数据不正确时尝试将错误的数据恢复为正确的数据。纠错码编码冗余是由所选择的纠错码本身所决定的。纠错码编码冗余量的大小直接决定了纠错码编码模块的纠错强度。
闪存管理模块110c电性连接至微处理单元110a以通过微处理单元对所述多个闪存芯片执行闪存管理程序。闪存管理模块110c用于管理闪存120,例如执行平均磨损(wear 1eve1ing)方法、坏区块管理、维护对映表(mapping table)等。特别是,在本发明实施例中,闪存管理模块110c还用于检测闪存120的使用情况,以控制当前的闪存擦除操作时间。执行过程如下:在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。
在具体实施时,控制器110的闪存管理模块110c通过在对任一存储块124进行擦除操作前,实时检测记录每一闪存芯片的闪存页面126经历过的编程/擦除次数,并根据记录的编程/擦除次数而估算每一存储单元128的老化程度及相应的最差情况下的噪音容限;然后,在对所述存储块124进行擦除操作时,实时预测对所述存储块124使用不同的擦除操作时间所能达到的噪音容限,并根据所使用的纠错码的纠错强度,选择能够满足所述存储块124的最差情况下的噪音容限的最短擦除操作时间,并实时跟踪对所述存储块124的擦除操作时间,当发现所述擦除操作时间达到所述最短擦除操作时间时,停止对所述存储块124的擦除操作。
为了进一步阐述本发明实施例的效果,现在对比描述现有技术和本发明的本质区别。在现有技术中,现有闪存芯片内部对于擦除操作的设定非常严格与保守:在擦除操作过程中,不断对闪存芯片的存储块内所有存储单元的阈值电压进行检测,直到几乎所有的存储单元的阈值电压足够低,可以满足最差情况(即最大可允许的“编程/擦除”次数和最长可允许的数据保持时间)下的噪音容限。而本发明则根据检查到的噪音容限而相应调整擦除操作的时间,在描述本发明的效果前,首先,我们先了解一下阈值电压、串扰强度以及噪音容限之间的关系。如图3所示,图3是不同擦除状态阈值电压所对应的不同串扰强度以及噪音容限的示意图,在闪存芯片编程过程中,存储单元之间串扰强度直接由每一个存储单元的阈值电压从被擦除状态(V擦)到被编程状态(V编)之间的电压差(V差= V编 - V擦)决定。电压差越大,所导致的存储单元之间的串扰强度就越强。同时,电压差越大,相应的存储单元的噪音容限也就越大。另外,参考图4,图4是擦除操作过程存储单元的阈值电压变化的示意图,当闪存芯片的存储单元被擦除时,在起始(T=0)时,存储单元阈值电压V0为被编程状态的电压值,开始擦除操作后,信息存储单元阈值电压逐渐下降(如,当T=t0时,Vt0< V0;当T=t1﹥﹥t0时,Vt1<Vt0< V0 ),且其下降的速度在开始时最快,但随着阈值电压值的下降而逐渐降低。因此,在本发明的固态存储系统运行过程中,当固态存储系统控制器要对闪存芯片的某一存储块进行擦除操作时,先估算出存储块内存储单元的老化程度以及相应的噪音容限,然后根据此噪音容限以及所使用的纠错码的纠错强度,固态存储系统控制器相应调整擦除操作的时间,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间,减少擦除操作时间也就是减少擦除过程中存储单元阈值电压的降低量(即提高存储单元在接下来的编程前的擦除状态的阈值电压V擦),从而降低存储单元的阈值电压从被擦除状态(V擦)到被编程状态(V编)之间的电压差(V差= V编 - V擦),进而可直接降低接下来的编程过程中所产生的信息存储单元之间的串扰。且由于该最短擦除操作时间是能够满足所述存储块的最差情况下的噪音容限的,因此该减少后的电压差所影响到的噪音容限也是满足存储块的需求的。当使用本发明时,在闪存芯片的整个使用寿命内,其存储单元擦除状态的阈值电压会随着存储单元老化程度而逐渐降低。在整个使用寿命内,存储单元编程过程中所引入的串扰强度随着擦除状态的阈值电压范围的变化而变化。这样,在闪存芯片使用寿命的初期和中期,由于所用的擦除状态的阈值电压较高,每一个存储单元的阈值电压从被擦除状态到被编程状态之间的电压差就会较低,使得编程操过程中所引入的串扰强度较低,从而达到降低串扰强度的目的。
此外,虽未绘示于本实施例,但控制器110可还包括一般闪存控制器常
见的功能模块,例如电源管理模块等。
本发明实施例中,在闪存存储系统100的控制器110中设置闪存管理模块110c,且该闪存管理模块110c增设了对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间,从而通过减少擦除操作的时间而直接降低接下来的编程过程中所产生的存储单元之间的串扰。因此,有效地利用闪存芯片存储单元的利用闪存信息存储单元本身电气特性来动态调整闪存芯片运行参数,达到减少相邻存储单元之间串扰的目的,并且本实施例的闪存存储系统100与现有固态存储系统设计直接兼容,实现过程简单易行。
实施例2
本发明实施例提供一种控制器,适用于具有闪存的闪存存储系统上,其中,该闪存包括多个闪存芯片,每一闪存芯片具有多个存储块,且每一存储块内设有多个存储单元,关于闪存芯片的具体结构请参考图2以及上述实施例的相关描述。如图5所示,本发明实施例的控制器300包括微处理单元310、闪存接口320、闪存管理模块330以及纠错码编码模块340。
微处理单元310用于协调控制闪存接口320、闪存管理模块330以及纠错码编码模块340,以及进行对闪存的写入、读取与抹除等运作。
闪存接口320电性连接至微处理单元310并且用以存取闪存, 也就是,控制器欲将写入至闪存的用户数据会经由闪存接口320转换为闪存120所能接受的格式。特别是,在本实施中,闪存管理模块330对闪存的信息获取以及发送控制命令等也是需要通过闪存接口320发送。
纠错码编码模块340电性连接至微处理单元310并且用于对欲写入的用户数据进行纠错码编码,从而产生相应的纠错码编码冗余并且与此数据一同储存至闪存芯片的同一闪存页面内,其中之后当从闪存页面中读取此数据时,纠错码编码模块340可依据纠错码编码冗余来检查数据是否正确,或者当数据不正确时尝试将错误的数据恢复为正确的数据。纠错码编码冗余是由所选择的纠错码本身所决定的。纠错码编码冗余量的大小直接决定了纠错码编码模块的纠错强度。
闪存管理模块330电性连接至微处理单元310。闪存管理模块330用于管理闪存, 特别是,在本发明实施例中,闪存管理模块330还用于检测闪存的使用情况,以控制当前的闪存擦除操作时间。具体包括编程/擦除次数记录单元332、噪音容限估算单元334、闪存擦除操作时间计算单元336和擦除操作提前终止命令单元338:
编程/擦除次数记录单元332,用于在对任一存储块进行擦除操作前,实时记录所述存储块内所有存储单元经历过的编程/擦除次数,从而估算所述存储块内所有存储单元的老化程度;
噪音容限估算单元334,用于根据记录的编程/擦除次数而估算每一存储单元的最差情况下的噪音容限;
闪存擦除操作时间计算单元336,用于实时预测对所述存储块使用不同的擦除操作时间所能达到的噪音容限,并根据所使用的纠错码的纠错强度,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间;
擦除操作提前终止命令单元338,用于实时跟踪对所述存储块的擦除操作时间,当发现所述擦除操作时间达到所述最短擦除操作时间时,发出停止对所述存储块的擦除操作的控制命令。
在具体实施时,控制器的闪存管理模块330通过在对任一存储块进行擦除操作前,先利用编程/擦除次数记录单元332实时检测记录每一闪存芯片的闪存页面经历过的编程/擦除次数,从而估算每一存储单元的老化程度;并利用噪音容限估算单元334根据记录的编程/擦除次数而估算每一存储单元的最差情况下的噪音容限;然后,在对所述存储块进行擦除操作时,利用闪存擦除操作时间计算单元336实时预测对所述存储块使用不同的擦除操作时间所能达到的噪音容限,并根据所使用的纠错码的纠错强度,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间,并通过擦除操作提前终止命令单元338实时跟踪对所述存储块的擦除操作时间,当发现所述擦除操作时间达到所述最短擦除操作时间时,停止对所述存储块的擦除操作。
当使用本发明时,在闪存芯片的整个使用寿命内,其存储单元擦除状态的阈值电压会随着存储单元老化程度而逐渐降低。在整个使用寿命内,存储单元编程过程中所引入的串扰强度随着擦除状态的阈值电压范围的变化而变化。这样,在闪存芯片使用寿命的初期和中期,由于所用的擦除状态的阈值电压较高,每一个存储单元的阈值电压从被擦除状态到被编程状态之间的电压差就会较低,使得编程操过程中所引入的串扰强度较低,从而达到降低串扰强度的目的。
本发明实施例中,在控制器中设置闪存管理模块,且该闪存管理模块增设了对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间,从而通过减少擦除操作的时间而直接降低接下来的编程过程中所产生的存储单元之间的串扰。因此,有效地利用闪存芯片存储单元的利用闪存信息存储单元本身电气特性来动态调整闪存芯片运行参数,达到减少相邻存储单元之间串扰的目的,且实现过程简单易行。
实施例3
本发明实施例提供一种降低闪存芯片内部数据互相串扰的方法,适用于闪存存储系统的控制器对闪存的控制上,其中,该闪存包括多个闪存芯片,每一闪存芯片具有多个存储块,且每一存储块内设有多个存储单元,关于闪存芯片的具体结构请参考图2以及上述实施例的相关描述。如图6所示,该方法包括:
步骤S101:在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;
具体的,在本实施例中,可以通过多种现有的方式检测闪存芯片存储单元的噪音容限,例如通过检测存储单元的数据读取误码率以检测噪音容限、通过记录闪存信息存储单元的编程/擦除操作次数以检测噪音容限。
步骤S102:根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。
具体的,在对存储块进行擦除操作时,实时预测对所述存储块使用不同的擦除操作时间所能达到的噪音容限,并根据所使用的纠错码的纠错强度,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间,并实时跟踪对所述存储块的擦除操作时间,当发现所述擦除操作时间达到所述最短擦除操作时间时,停止对所述存储块的擦除操作。
图6是根据本发明实施例示出的降低闪存芯片内部数据互相串扰的方法的流程图,其中这些步骤是闪存存储系统的控制器的微处理器执行闪存管理模块的机械指令所完成的。必须了解的是,本发明所提出的降低闪存芯片内部数据互相串扰的方法步骤并不限于图6所示的执行顺序,本领域技术人员可根据本发明的精神任意更动降低闪存芯片内部数据互相串扰的方法步骤。
实施例4
本发明实施例提供另一种降低闪存芯片内部数据互相串扰的方法,适用于闪存存储系统的控制器对闪存的控制上,其中,该闪存包括多个闪存芯片,每一闪存芯片具有多个存储块,且每一存储块内设有多个存储单元,关于闪存芯片的具体结构请参考图2以及上述实施例的相关描述。如图7所示,该方法包括:
步骤S201:在对任一存储块进行擦除操作前,实时记录所述存储块内所有存储单元经历过的编程/擦除次数,从而估算所述存储块内所有存储单元的老化程度;
步骤S202:根据所述存储块内所有存储单元的老化程度而估算每一存储单元的最差情况下的噪音容限;
步骤S203:在对所述存储块进行擦除操作时,实时预测对所述存储块使用不同的擦除操作时间所能达到的噪音容限,并根据所使用的纠错码的纠错强度,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间;
具体的,纠错码的纠错容限由控制器的错误校正模块设定,错误校正模块用于对欲写入的数据产生一组纠错码并且与此数据一同储存至闪存,其中之后当从闪存中读取此数据时可依据纠错码来检查数据是否正确,或者当数据不正确时尝试将错误的数据恢复为正确的数据,根据所使用的纠错码的纠错强度,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。减少擦除操作时间也就是减少擦除过程中存储单元阈值电压的降低量(即提高存储单元在接下来的编程前的擦除状态的阈值电压V擦),从而降低存储单元的阈值电压从被擦除状态(V擦)到被编程状态(V编)之间的电压差(V差= V编 - V擦),进而可直接降低接下来的编程过程中所产生的信息存储单元之间的串扰。
步骤S204:实时跟踪对所述存储块的擦除操作时间,当发现所述擦除操作时间达到所述最短擦除操作时间时,停止对所述存储块的擦除操作。
当使用本发明时,在闪存芯片的整个使用寿命内,其存储单元擦除状态的阈值电压会随着存储单元老化程度而逐渐降低。在整个使用寿命内,存储单元编程过程中所引入的串扰强度随着擦除状态的阈值电压范围的变化而变化。这样,在闪存芯片使用寿命的初期和中期,由于所用的擦除状态的阈值电压较高,每一个存储单元的阈值电压从被擦除状态到被编程状态之间的电压差就会较低,使得编程操过程中所引入的串扰强度较低,从而达到降低串扰强度的目的。
图7是根据本发明实施例示出的降低闪存芯片内部数据互相串扰的方法的流程图,其中这些步骤是闪存存储系统的控制器的微处理器执行闪存管理模块的机械指令所完成的。必须了解的是,本发明所提出的降低闪存芯片内部数据互相串扰的方法步骤并不限于图7所示的执行顺序,本领域技术人员可根据本发明的精神任意更动降低闪存芯片内部数据互相串扰的方法步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以借助软件加必须的通用硬件的方式来实现,当然也可以通过硬件来完成,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以使个人计算机,服务器,或者网络设备等)来执行本发明哥哥实施例所述的方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种降低闪存芯片内部数据互相串扰的方法,其中每一闪存芯片具有多个存储块,每个存储块包括多个存储单元,其特征在于,该方法包括步骤:
A、在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;
B、根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。
2.如权利要求1所述的降低闪存芯片内部数据互相串扰的方法,其特征在于,所述步骤A具体包括:
A1、在对任一存储块进行擦除操作前,实时记录所述存储块内所有存储单元经历过的编程/擦除次数,从而估算所述存储块内所有存储单元的老化程度;
A2、根据所述存储块内所有存储单元的老化程度而估算每一存储单元的最差情况下的噪音容限。
3.如权利要求1所述的降低闪存芯片内部数据互相串扰的方法,其特征在于,所述步骤B具体包括:
B1、实时预测对所述存储块使用不同的擦除操作时间所能达到的噪音容限,并根据所使用的纠错码的纠错强度,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间;
B2、实时跟踪对所述存储块的擦除操作时间,当发现所述擦除操作时间达到所述最短擦除操作时间时,停止对所述存储块的擦除操作。
4.如权利要求1~3中任一项所述的降低闪存芯片内部数据互相串扰的方法,其特征在于,在对所述存储块编程过程中,每一存储单元的阈值电压从被擦除状态到被编程状态之间的电压差的大小影响到每一存储单元的噪音容限以及存储单元之间的串扰强度;且在对所述存储块擦除操作过程中,每一存储单元的阈值电压随着擦除操作时间而下降。
5.一种控制器,其特征在于,包括:
微处理单元;
闪存接口,耦接至所述微处理单元以及多个闪存芯片,其中每一闪存芯片具有多个存储块,每个存储块包括多个存储单元;
闪存管理模块,耦接至所述微处理单元以通过微处理单元对所述多个闪存芯片执行闪存处理程序,包括:在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;以及根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。
6.如权利要求5所述的控制器,其特征在于,所述闪存管理模块包括:
编程/擦除次数记录单元,用于在对任一存储块进行擦除操作前,实时记录所述存储块内所有存储单元经历过的编程/擦除次数,从而估算所述存储块内所有存储单元的老化程度;
噪音容限估算单元,用于根据记录的编程/擦除次数而估算每一存储单元的最差情况下的噪音容限。
7.如权利要求5所述的控制器,其特征在于,所述闪存管理模块还包括:
闪存擦除操作时间计算单元,用于实时预测对所述存储块使用不同的擦除操作时间所能达到的噪音容限,并根据所使用的纠错码的纠错强度,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间;
擦除操作提前终止命令单元,用于实时跟踪对所述存储块的擦除操作时间,当发现所述擦除操作时间达到所述最短擦除操作时间时,发出停止对所述存储块的擦除操作的控制命令。
8.如权利要求5~7任一项所述的控制器,其特征在于,在对所述存储块编程过程中,每一存储单元的阈值电压从被擦除状态到被编程状态之间的电压差的大小影响到每一存储单元的噪音容限以及存储单元之间的串扰强度;且在对所述存储块擦除操作过程中,每一存储单元的阈值电压随着擦除操作时间而下降。
9.一种闪存存储系统,其特征在于,包括:
多个闪存芯片,每一闪存芯片具有多个存储块,每个存储块包括多个存储单元;
控制器,耦接至所述多个闪存芯片以在对任一存储块进行擦除操作前,检测所述存储块内所有存储单元的老化程度及相应的最差情况下的噪音容限;以及根据所使用的纠错码的纠错强度,将对所述存储块进行擦除操作的时间控制在能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间。
10.如权利要求9所述的闪存存储系统,其特征在于,所述控制器通过实时记录所述存储块内所有存储单元经历过的编程/擦除次数,从而估算所述存储块内所有存储单元的老化程度以及根据记录的编程/擦除次数而估算每一存储单元的最差情况下的噪音容限;并且实时预测对所述存储块使用不同的擦除操作时间所能达到的噪音容限,并根据所使用的纠错码的纠错强度,选择能够满足所述存储块的最差情况下的噪音容限的最短擦除操作时间;以及实时跟踪对所述存储块的擦除操作时间,当发现所述擦除操作时间达到所述最短擦除操作时间时,发出停止对所述存储块的擦除操作的控制命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210394374 CN102915770B (zh) | 2012-10-17 | 2012-10-17 | 降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210394374 CN102915770B (zh) | 2012-10-17 | 2012-10-17 | 降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102915770A true CN102915770A (zh) | 2013-02-06 |
CN102915770B CN102915770B (zh) | 2013-12-25 |
Family
ID=47614103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201210394374 Expired - Fee Related CN102915770B (zh) | 2012-10-17 | 2012-10-17 | 降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102915770B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345940A (zh) * | 2013-06-04 | 2013-10-09 | 上海华力微电子有限公司 | flash抗编程串扰的优化方法 |
CN104461379A (zh) * | 2014-10-31 | 2015-03-25 | 上海华为技术有限公司 | 提高nand闪存的稳定性的方法和nand闪存 |
CN105531768A (zh) * | 2013-08-30 | 2016-04-27 | 英派尔科技开发有限公司 | 闪存中功率消耗的减小 |
WO2018033100A1 (zh) * | 2016-08-18 | 2018-02-22 | 华为技术有限公司 | 一种闪存设备的访问方法、装置和系统 |
US10461804B2 (en) | 2018-01-25 | 2019-10-29 | Western Digital Technologies, Inc. | Elimination of crosstalk effects in non-volatile storage |
US10643732B2 (en) | 2018-03-22 | 2020-05-05 | Western Digital Technologies, Inc. | Determining line functionality according to line quality in non-volatile storage |
CN113948145A (zh) * | 2020-07-17 | 2022-01-18 | 长鑫存储技术有限公司 | 封装芯片的测试方法、系统、计算机设备和存储介质 |
CN113948145B (zh) * | 2020-07-17 | 2024-05-14 | 长鑫存储技术有限公司 | 封装芯片的测试方法、系统、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279819A (zh) * | 2011-07-28 | 2011-12-14 | 张岭 | 提高固态数据存储系统对于大块数据的存储效率的方法 |
CN102323901A (zh) * | 2011-07-28 | 2012-01-18 | 张岭 | 一种提高固态存储系统纠错码使用效率的方法 |
-
2012
- 2012-10-17 CN CN 201210394374 patent/CN102915770B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279819A (zh) * | 2011-07-28 | 2011-12-14 | 张岭 | 提高固态数据存储系统对于大块数据的存储效率的方法 |
CN102323901A (zh) * | 2011-07-28 | 2012-01-18 | 张岭 | 一种提高固态存储系统纠错码使用效率的方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345940A (zh) * | 2013-06-04 | 2013-10-09 | 上海华力微电子有限公司 | flash抗编程串扰的优化方法 |
CN103345940B (zh) * | 2013-06-04 | 2016-01-27 | 上海华力微电子有限公司 | flash抗编程串扰的优化方法 |
CN105531768A (zh) * | 2013-08-30 | 2016-04-27 | 英派尔科技开发有限公司 | 闪存中功率消耗的减小 |
CN105531768B (zh) * | 2013-08-30 | 2019-12-31 | 英派尔科技开发有限公司 | 闪存中功率消耗的减小 |
CN104461379A (zh) * | 2014-10-31 | 2015-03-25 | 上海华为技术有限公司 | 提高nand闪存的稳定性的方法和nand闪存 |
WO2018033100A1 (zh) * | 2016-08-18 | 2018-02-22 | 华为技术有限公司 | 一种闪存设备的访问方法、装置和系统 |
US10725673B2 (en) | 2016-08-18 | 2020-07-28 | Huawei Technologies Co., Ltd. | Flash device access method, apparatus, and system |
US10461804B2 (en) | 2018-01-25 | 2019-10-29 | Western Digital Technologies, Inc. | Elimination of crosstalk effects in non-volatile storage |
US10643732B2 (en) | 2018-03-22 | 2020-05-05 | Western Digital Technologies, Inc. | Determining line functionality according to line quality in non-volatile storage |
CN113948145A (zh) * | 2020-07-17 | 2022-01-18 | 长鑫存储技术有限公司 | 封装芯片的测试方法、系统、计算机设备和存储介质 |
US11862269B2 (en) | 2020-07-17 | 2024-01-02 | Changxin Memory Technologies, Inc. | Testing method for packaged chip, testing system for packaged chip, computer device and storage medium |
CN113948145B (zh) * | 2020-07-17 | 2024-05-14 | 长鑫存储技术有限公司 | 封装芯片的测试方法、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102915770B (zh) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102915770B (zh) | 降低闪存芯片内部数据互相串扰的方法、闪存存储系统及其控制器 | |
US9448868B2 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
US9355022B2 (en) | Systems and methods for intelligent flash management | |
TWI447733B (zh) | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
US9530509B2 (en) | Data programming method, memory storage device and memory control circuit unit | |
US9639463B1 (en) | Heuristic aware garbage collection scheme in storage systems | |
TWI545572B (zh) | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8694748B2 (en) | Data merging method for non-volatile memory module, and memory controller and memory storage device using the same | |
US10620874B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
US9418731B1 (en) | Memory management method, memory storage device and memory control circuit unit | |
TWI640008B (zh) | 資料讀取方法以及儲存控制器 | |
CN102880554B (zh) | 提高闪存芯片存储效率的方法、闪存存储系统及其控制器 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
US20170052704A1 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN102880432B (zh) | 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器 | |
US9236148B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
CN105989887B (zh) | 抹除操作配置方法、存储器控制电路单元与存储器 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 | |
TWI464585B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
US9679652B2 (en) | Threshold based multi-level cell programming for reliability improvement | |
US9760456B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN103984635A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
US11972139B2 (en) | Read voltage level correction method, memory storage device, and memory control circuit unit |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131225 Termination date: 20151017 |
|
EXPY | Termination of patent right or utility model |