一种非易失存储器的数据恢复方法和装置转让专利

申请号 : CN201410688150.6

文献号 : CN105702292B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡洪洪杰陈建梅

申请人 : 北京兆易创新科技股份有限公司

摘要 :

本发明提供了一种非易失存储器的数据恢复方法和装置,其中,所述非易失存储器的数据恢复方法,具体包括:在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作。本发明可以提高长期未进行擦除和数据恢复的区域中存储单元的数据可靠性,延长Flash的使用寿命。

权利要求 :

1.一种非易失存储器的数据恢复方法,其特征在于,所述方法包括:在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作,所述读取操作的存储单元和读取操作对应存储单元位于同一块读取区域;

其中,在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作,包括:分别利用灵敏放大器比较所述读取操作对应存储单元的阈值电压与第一参考电压和第二参考电压的大小;

当所述阈值电压介于所述第一参考电压和所述第二参考电压之间时,确定所述读取操作对应存储单元为待恢复的存储单元;

对所述待恢复的存储单元进行数据恢复。

2.如权利要求1所述的方法,其特征在于,所述第一参考电压小于编程单元0的阈值电压,所述第二参考电压大于编程单元0的阈值电压,编程单元0的阈值电压的范围是依据存储单元中存储数据为0时对应的阈值电压值确定的。

3.如权利要求1所述的方法,其特征在于,还包括:当所述存储单元的读取操作的数据输出完成时,停止对所述读取操作对应存储单元进行数据恢复操作。

4.一种非易失存储器的数据恢复装置,其特征在于,包括:数据恢复模块,用于在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作,所述读取操作的存储单元和读取操作对应存储单元位于同一块读取区域;

所述数据恢复模块,包括:

确定单元,用于针对所述读取操作对应存储单元,从中寻找待恢复的存储单元;

恢复单元,用于对所述待恢复的存储单元进行数据恢复;

所述确定单元,包括:

比较子单元,用于分别利用灵敏放大器比较所述读取操作对应存储单元的阈值电压与第一参考电压和第二参考电压的大小;

确定子单元,用于当所述阈值电压介于所述第一参考电压和所述第二参考电压之间时,确定所述读取操作对应存储单元为待恢复的存储单元。

5.如权利要求4所述的装置,其特征在于,所述第一参考电压小于编程单元0的阈值电压,所述第二参考电压大于编程单元0的阈值电压,编程单元0的阈值电压的范围是依据存储单元中存储数据为0时对应的阈值电压值确定的。

6.如权利要求4所述的装置,其特征在于,还包括:终止模块,用于当所述存储单元的读取操作的数据输出完成时,停止对所述读取操作对应存储单元进行数据恢复操作。

说明书 :

一种非易失存储器的数据恢复方法和装置

技术领域

[0001] 本发明涉及半导体存储器技术领域,特别是涉及一种非易失存储器的数据恢复方法和装置。

背景技术

[0002] 随着各种电子装置及嵌入式系统的迅速发展和广泛应用,如计算机、个人数字助理、移动电话、数字相机等,大量需要一种能多次编程,容量大,读写、擦除快捷、方便、简单,外围器件少,价格低廉的非易失性(在无电源供应情况下的数据保持性)的存储器件。非易失性存储器件就是在这种背景需求下应运而生的。一个非易失存储器由存储单元(cell)组成,一个存储单元可以包括源极(S,source),漏极(D,drain),栅极(G,gate),p型衬底(pwell),控制栅(CG,ControlGate)以及浮栅(FG,floating gate),FG可用于接电压。
[0003] 参见图1,示出了现有技术一种NOR Flash存储数据的结构示意图,其中,通过四端的浮栅来存储数据,浮栅中存储的电荷量表示存储的信息,较多电荷量时表示存“0”,较少电荷量时表示存“1”,在断电的时候也不会丢失数据。但是,在NOR Flash执行擦除指令的过程中,可能会因为擦除应力导致不必要的存储单元产生电压阈值退化。
[0004] 为了解决上述问题,现有方案在对NOR Flash执行擦除指令的过程中执行数据恢复(Recovery)操作,旨在防止因擦除应力导致不必要的存储单元产生阈值退化。
[0005] 然而,随着时间的推移,由于存储单元不具有理想的数据保持能力,浮栅中的电子会不断地从沟道漏走,而电荷数目的减少会引起阈值电压的降低。这样,对于长久未进行擦除的块,其中的存储单元可能会产生明显的电压阈值退化,当对这些块进行读操作时,丢失了大量浮栅电荷的单元存储的信息就会由“0”变成“1”,从而可能引起存储信息的误读,影响NOR Flash数据的可靠性。

发明内容

[0006] 本发明实施例所要解决的技术问题是提供一种非易失存储器的数据恢复方法和装置,能够提高长期未进行擦除和数据恢复的区域中存储单元的数据可靠性,延长Flash的使用寿命。
[0007] 为了解决上述问题,本发明公开了一种非易失存储器的数据恢复方法,包括:
[0008] 在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作。
[0009] 优选地,所述在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作的步骤,包括:
[0010] 针对所述读取操作对应存储单元,从中寻找待恢复的存储单元;
[0011] 对所述待恢复的存储单元进行数据恢复。
[0012] 优选地,所述针对所述读取操作对应存储单元,从中寻找待恢复的存储单元的步骤,包括:
[0013] 分别利用灵敏放大器比较所述读取操作对应存储单元的阈值电压与第一参考电压和第二参考电压的大小;
[0014] 当所述阈值电压介于所述第一参考电压和所述第二参考电压之间时,确定所述读取操作对应存储单元为待恢复的存储单元。
[0015] 优选地,所述第一参考电压稍小于编程单元0的阈值电压,所述第二参考电压大于编程单元0的阈值电压。
[0016] 优选地,所述方法还包括:
[0017] 当所述存储单元的读取操作的数据输出完成时,停止对所述读取操作对应存储单元进行数据恢复操作。
[0018] 依据本发明的另一方面,提供了一种非易失存储器的数据恢复装置,包括:
[0019] 数据恢复模块,用于在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作。
[0020] 优选地,所述数据恢复模块,包括:
[0021] 确定单元,用于针对所述读取操作对应存储单元,从中寻找待恢复的存储单元;
[0022] 恢复单元,用于对所述待恢复的存储单元进行数据恢复。
[0023] 优选地,所述确定单元,包括:
[0024] 比较子单元,用于分别利用灵敏放大器比较所述读取操作对应存储单元的阈值电压与第一参考电压和第二参考电压的大小;
[0025] 确定子单元,用于当所述阈值电压介于所述第一参考电压和所述第二参考电压之间时,确定所述读取操作对应存储单元为待恢复的存储单元。
[0026] 优选地,所述第一参考电压稍小于编程单元0的阈值电压,所述第二参考电压大于编程单元0的阈值电压。
[0027] 优选地,所述装置还包括:
[0028] 终止模块,用于当所述存储单元的读取操作的数据输出完成时,停止对所述读取操作对应存储单元进行数据恢复操作。
[0029] 与现有技术相比,本发明实施例包括以下优点:
[0030] 本发明在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作;以Flash为例,由于Flash的读操作频率远远大于擦除操作频率,因此,在对非易失存储器中存储单元的读取操作的数据输出阶段进行数据恢复,可以提高长期未进行擦除和数据恢复的区域中存储单元的数据可靠性,延长了Flash的使用寿命。

附图说明

[0031] 图1示出了现有技术一种NOR Flash存储数据的结构示意图;
[0032] 图2示出了本发明的一种对读取操作对应存储单元进行数据恢复操作的步骤流程图;
[0033] 图3示出了本发明的一种对待恢复的存储单元施加应力电压的示意图;
[0034] 图4示出了本发明的一种非易失存储器的数据恢复方法实施例三的步骤流程图;
[0035] 图5示出了本发明的一种非易失存储器的数据恢复方法实施例四的步骤流程图;以及
[0036] 图6示出了本发明一种非易失存储器的数据恢复装置的数据恢复模块结构框图。

具体实施方式

[0037] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0038] 实施例一
[0039] 本发明提供的一种非易失存储器的数据恢复方法,具体可以包括如下步骤:
[0040] 在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作。
[0041] 本发明实施例可以应用于计算机、个人数字助理、移动电话、数字相机等各种使用非易失存储器的电子装置中,用以提高相应电子装置数据存储的可靠性。
[0042] 现有方案在对Flash执行擦除指令的过程中增加数据恢复操作,旨在防止因擦除应力导致不必要的存储单元产生阈值退化,然而,对于长期未进行擦除和数据恢复的区域中存储单元的数据可靠性并不能得到保证。
[0043] 本发明在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作;以Flash为例,由于Flash的读操作频率远远大于擦除操作频率,因此,在对非易失存储器中存储单元的读取操作的数据输出阶段进行数据恢复,可以提高长期未进行擦除和数据恢复的区域中存储单元的数据可靠性,延长了Flash的使用寿命。
[0044] 实施例二
[0045] 本实施例的非易失存储器的数据恢复方法在上述实施例一的基础上,进一步还可以包括如下可选技术方案。
[0046] 所述在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作的步骤,具体可以包括:
[0047] 步骤201、针对所述读取操作对应存储单元,从中寻找待恢复的存储单元;
[0048] 本发明是在对非易失存储器中存储单元的读取操作的数据输出阶段进行数据恢复操作的,假设读取操作对应存储单元位于一块读取区域,那么,待恢复的存储单元也位于该块读取区域,步骤201则是从该块读取区域中寻找待恢复的存储单元。
[0049] 首先说明对Flash中存储单元进行读取操作的具体流程:首先利用灵敏放大器(Sense Amplifier,SA)从当前读取区域读出数据信息,并将读出的数据信息存放在锁存器(latch)中,然后利用后续的数据输出使能信号逐个输出存放在锁存器中的数据。数据输出结束后,地址增加,SA继续读出数据信息并输出。
[0050] 通过上述流程可以看出,在Flash中存储单元的读取操作的数据输出阶段,SA并不需要工作,因此,可以在此时调用数据恢复的状态机执行数据恢复操作,其中,在数据恢复中,SA主要用于进行阈值电压的两次比较以确定待恢复的存储单元,状态机主要用于控制数据恢复的时序;该两次比较分别为:首先将相应地址的存储单元的阈值电压与第一参考电压进行比较,然后将该阈值电压与第二参考电压进行比较。
[0051] 在本发明的一种优选实施例中,所述针对所述读取操作对应存储单元,从中寻找待恢复的存储单元的步骤,具体可以包括:
[0052] 步骤A1、分别利用灵敏放大器比较所述读取操作对应存储单元的阈值电压与第一参考电压和第二参考电压的大小;
[0053] 存储单元中存储的电荷量决定了存储单元的阈值电压,也决定了其中存储的数据(1或0)。需要进行数据恢复的存储单元,原本存储数据应该为0,对应的阈值电压大小应该大于等于编程单元0的阈值电压,由于外界影响等因素,电荷缓慢地通过沟道漏走,从而使得对应的阈值电压逐渐减小,小于编程单元0的阈值电压;这里,编程单元0的阈值电压范围可以依据存储单元中存储数据为0时对应的阈值电压值确定。
[0054] 在实际应用中,可以令第一参考电压为稍小于编程单元0的阈值电压,并将所述读取操作对应存储单元的阈值电压VT与第一参考电压进行比较;如果VT小于第一参考电压,则认为该存储单元原本就是擦除单元“1”,若将其进行数据恢复,会将“1”错写成“0”,导致存储信息错误;如果VT大于该第一参考电压,则可以认为当前读取操作对应存储单元可能是被编程单元,其中存储的信息为“0”,记录下该存储单元。上述稍小于可用于表示第一参考电压与编程单元0的阈值电压比较接近,本领域技术人员可以根据实际需要确定二者的接近程度,例如编程单元0的阈值电压为6V,第一参考电压为5V等等。
[0055] 另外,还可以令第二参考电压为大于编程单元0的阈值电压,若所述读取操作对应存储单元的阈值电压VT大于第一参考电压的同时又小于第二参考电压,则说明该存储单元的电荷有所流失,需要进行数据恢复,确定该存储单元为待恢复的存储单元;若VT大于第二参考单元的阈值电压,则认为该存储单元的浮栅中存储了足量的电荷,不需要进行数据恢复操作。
[0056] 由于SA在此阶段并不工作,因此,可以利用SA进行阈值电压的两次比较以确定待恢复的存储单元。
[0057] 步骤A2、当所述阈值电压介于所述第一参考电压和所述第二参考电压之间时,确定所述读取操作对应存储单元为待恢复的存储单元。
[0058] 步骤202、对所述待恢复的存储单元进行数据恢复。
[0059] 在本发明的一种应用示例中,对待恢复的存储单元进行数据恢复的步骤,具体可以包括:
[0060] 对于需要进行数据恢复的存储单元,可以对其施加预设的应力电压,使其电压阈值恢复到第二参考电压以上,从而达到数据恢复的目的。例如,参照图3,示出了本发明的一种对待恢复的存储单元施加应力电压的示意图,具体可以在栅极和漏极分别接值为VGPGM和VDPGM的正电压,同时,源极和衬底接地,以及通过热载流子注入(Hot Carrier Injection,HCI)来恢复浮栅中丢失的电荷,使浮栅管的阈值电压恢复到第二参考电压以上,保证数据具有更好的可靠性。其中,VGPGM和VDPGM的电压值可以为芯片测试得出的经验值,在具体应用中可以根据需要进行设置;此外,对于浮栅类型的Flash单元可以采用HCI方法来恢复浮栅中丢失的电荷,具有速度较快,编程效率高的优点;当然,本领域技术人员在具体应用中也可以采用其它替代方法来恢复浮栅中丢失的电荷,对此,本发明不做具体限制。
[0061] 综上,本发明实施例中,在对Flash中存储单元的读取操作的数据输出阶段,利用SA在当前读取区域中寻找待恢复的存储单元,并对该存储单元执行数据恢复操作,可以实现对存储单元的数据恢复,从而提高长期未进行擦除和数据恢复的区域中存储单元的数据可靠性。此外,由于在对Flash中存储单元的读取操作的数据输出阶段,SA并不工作,在此阶段调用数据恢复的状态机,并不会增加读操作的时间成本,Flash的读性能也不会退化。
[0062] 实施例三
[0063] 参照图4,示出了本发明的一种非易失存储器的数据恢复方法实施例三的步骤流程图,所述方法可以包括:
[0064] 步骤401、在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作;
[0065] 在具体应用中,如果对latch中的数据输出已经结束,数据恢复操作尚未完成,将会影响Flash的读取性能,因此,为了避免上述问题的发生,本发明实施例还可以包括下述步骤:
[0066] 步骤402、当所述存储单元的读取操作的数据输出完成时,停止对所述读取操作对应存储单元进行数据恢复操作。
[0067] 在本发明给出的一个应用示例中,对latch中的数据进行输出时,可以输出8N字节的数据,数据输出将会花费较长的时间;另外,Flash的读操作频率较高,而本发明的数据恢复操作频率与读操作频率相应,因此本发明提供的方法会对存储单元经常进行数据恢复,所以,每次需要恢复的存储单元数目不会很多。因此,在对latch中的数据进行输出的过程中,基本可以完成当前读取区域中待恢复的存储单元的数据恢复操作。如果在数据输出结束时数据恢复还没有完成,此时,SA将要读取地址加N的数据,为了避免对Flash读取性能的影响或者错误的发生,可以在SA读取地址加N的数据之前停止数据恢复的状态机,即停止当前数据恢复操作;而且,此时至少已经完成了部分存储单元的数据恢复工作,故还可以减少下次执行读操作的过程中需要恢复的存储单元的数量。
[0068] 实施例四
[0069] 为了更清楚的描述本发明的非易失存储器的数据恢复方法,下面结合Flash的整个读取过程对本发明提供的方法进行详细说明。
[0070] 参照图5,示出了本发明的一种非易失存储器的数据恢复方法实施例四的步骤流程图,具体可以包括如下步骤:
[0071] 步骤501、SA获取地址信息,以确定当前数据读取区域;
[0072] 步骤502、利用8N个SA从当前数据读取区域同时读出N个字节的数据,并将其存放在latch中;
[0073] 可以理解,SA的数量以及每次读取数据的字节数在具体应用中可以根据需要进行设置,本发明对此不作限制。
[0074] 步骤503、利用数据输出使能信号依次输出存放在latch中的数据;
[0075] 步骤504、判断latch中N个字节的数据输出是否结束,若未结束,则执行步骤505;若输出结束,则执行步骤506;
[0076] 步骤505、SA在当前数据读取区域中寻找待恢复的存储单元,以及对待恢复的存储单元执行数据恢复操作;
[0077] 步骤506、停止对所述读取操作对应存储单元的数据恢复操作;
[0078] 步骤507、Address地址加N后交给SA,重新确定当前数据读取区域,返回执行步骤502。
[0079] 其中,步骤505中SA在当前数据读取区域中寻找待恢复的存储单元,具体可以包括以下子步骤:
[0080] 子步骤S1、分别利用SA比较当前读取操作对应存储单元的阈值电压VT与第一参考电压VTA和第二参考电压VTB的大小;
[0081] 子步骤S2、当所述阈值电压VT介于所述第一参考电压VTA和所述第二参考电压VTB之间,即满足条件VTA
[0082] 装置实施例
[0083] 本发明还提供了一种非易失存储器的数据恢复装置,该装置具体可以包括:
[0084] 数据恢复模块,用于在对非易失存储器中存储单元的读取操作的数据输出阶段,对所述读取操作对应存储单元进行数据恢复操作。
[0085] 参照图6,示出了本发明一种非易失存储器的数据恢复装置的数据恢复模块的结构框图,具体可以包括:
[0086] 确定单元610,用于针对所述读取操作对应存储单元,从中寻找待恢复的存储单元;
[0087] 恢复单元620,用于对所述待恢复的存储单元进行数据恢复。
[0088] 在本发明的另一种优选实施例中,所述确定单元610,具体可以包括:
[0089] 比较子单元,用于分别利用灵敏放大器比较所述读取操作对应存储单元的阈值电压与第一参考电压和第二参考电压的大小;
[0090] 确定子单元,用于当所述阈值电压介于所述第一参考电压和所述第二参考电压之间时,确定所述读取操作对应存储单元为待恢复的存储单元。
[0091] 在本发明的又一种优选实施例中,所述第一参考电压稍小于编程单元0的阈值电压,所述第二参考电压大于编程单元0的阈值电压。
[0092] 在本发明的再一种优选实施例中,所述装置具体还可以包括:
[0093] 终止模块,用于当所述存储单元的读取操作的数据输出完成时,停止对所述读取操作对应存储单元进行数据恢复操作。
[0094] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0095] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0096] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0097] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0098] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0099] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0100] 尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0101] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0102] 以上对本发明所提供的一种非易失存储器的数据恢复方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。