CN113327638B - 闪存及其擦除方法、电子系统和计算机存储介质 - Google Patents
闪存及其擦除方法、电子系统和计算机存储介质 Download PDFInfo
- Publication number
- CN113327638B CN113327638B CN202110591334.0A CN202110591334A CN113327638B CN 113327638 B CN113327638 B CN 113327638B CN 202110591334 A CN202110591334 A CN 202110591334A CN 113327638 B CN113327638 B CN 113327638B
- Authority
- CN
- China
- Prior art keywords
- block
- memory
- erasing
- erased
- flash memory
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000008672 reprogramming Effects 0.000 claims abstract description 51
- 238000012795 verification Methods 0.000 claims description 18
- 238000012937 correction Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
- G11C16/225—Preventing erasure, programming or reading when power supply voltages are outside the required ranges
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/345—Circuits or methods to detect overerased nonvolatile memory cells, usually during erasure verification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5646—Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种闪存及其擦除方法、电子系统和计算机存储介质,所述闪存为其每个存储块增设了对应的信息位,以存储用于表明该存储块在掉电之前是否完成擦除,进而在掉电之前就能很容易地通过这些信息位获知闪存中哪个存储块正在执行擦除操作,在闪存下一次上电后,可以通过读取各个存储块对应的信息位上存储的信息,来检查闪存中是否有存储块在掉电之前未完成擦除,以进一步在闪存的这次上电过程中对各个存储块进行重新编程操作,由此可以避免闪存中因按块擦除某个存储块的擦除应力而导致某些存储单元的阈值电压VT下降并造成这些存储单元的数据读取失败的问题。
Description
技术领域
本发明涉及闪存技术领域,特别涉及一种闪存及其擦除方法、电子系统和计算机存储介质。
背景技术
闪存是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,其主要由存储单元阵列中的多个存储块(BLOCK)组成,每个存储块具有多个存储单元,这些存储块通常设置同一个阱里并共享同一位线。
现有的闪存的擦除方法通常是基于存储块进行的,而具体地,请参考图1,擦除其中某一个存储块BLOCK<#>的步骤包括:S10,对该存储块BLOCK<#>的所有存储单元进行预编程(pre-program);S11,用擦除校验(erase verify)的方式对该存储块BLOCK<#>的所有存储单元进行擦除;S12,对该存储块BLOCK<#>的所有存储单元进行过擦除校正(over-erasedcorrection,OEC),以对该存储块BLOCK<#>中过擦除的存储单元进行编程,消除位线的漏电流;S13,用编程校验(program verify)的方式对该闪存存储块BLOCK<#>以外的其它存储块(other BLOCK)进行重新编程(re-program),以编程这些存储块中的因擦除应力(erasestress)而导致阈值电压VT下降到重新编程校验水平的存储单元。
上述的闪存的擦除方法中,如果在擦除存储块BLOCK<#>的过程中,电源突然关闭,由此会导致该存储块BLOCK<#>的擦除操作仅进行到S10~S12中的某一步骤(即存储块BLOCK<#>的擦除操作未完成),进而导致其它存储块中可能会有一些存储单元的阈值电压VT因擦除应力而下降,在闪存下一次通电后,当读取其它存储块中存储单元的数据时,这些存储块中因擦除应力而导致阈值电压VT下降的存储单元会出现数据读取失败(fail)的问题。
发明内容
本发明的目的在于提供一种闪存及其擦除方法、电子系统和计算机存储介质,能够避免闪存在下一次通电后读取某些存储单元中的数据时出现读取失败的问题。
为实现上述目的,本发明提供一种闪存,其包括多个存储块以及与每个所述存储块一一对应设置的信息位,所述信息位上存储有用于表明所述存储块在掉电之前是否完成擦除的信息。
可选地,每个所述存储块具有多个存储单元,所述信息位存储的信息在所述闪存的下一次上电时被读取。
可选地,所述信息位为一位,用于表明所述存储块在掉电之前是否完成擦除的信息是否均已完成的信息为1个bit数据;或者,所述信息位为多位,用于表明所述存储块在掉电之前是否完成擦除的信息为多个bit数据。
基于同一发明构思,本发明提供一种闪存的擦除方法,所述闪存包括多个存储块以及与每个所述存储块一一对应设置的信息位,每个所述存储块具有多个存储单元,所述信息位上存储有用于表明所述存储块在掉电之前是否完成擦除的信息,所述闪存的擦除方法包括按照各个存储块的编号顺序依次对各个存储块进行擦除,且擦除某一存储块的步骤包括:
对所述某一存储块中的所有存储单元进行预编程操作;
对所述某一存储块对应的信息位进行擦除操作,并通过擦除校验的方式对所述某一存储块中的所有存储单元进行擦除操作;
对所述某一存储块中的所有存储单元进行过擦除校正操作;
通过编程校验的方式对所述闪存中所述某一存储块以外的其它存储块进行重新编程操作;
在所述重新编程操作完成后,对所述某一存储块所对应的信息位进行编程操作,以表明所述存储块在掉电之前已完成擦除。
可选地,所述的闪存的擦除方法还包括:在所述闪存的下一次上电时,先读取各个存储块所对应的信息位上存储的信息,并根据读取出的所述信息,检查所述闪存中是否有存储块在所述下一次上电之前未完成擦除,若有,则对各个存储块进行重新编程操作,并进一步对各个所述存储块所对应的信息位进行再次编程操作。
可选地,在所述下一次上电时,按照各个存储块的编号顺序依次读取各个存储块所对应的信息位上存储的信息,并在每读取一个所述存储块对应的信息位上的信息后,判断所述信息位上存储的信息是否表明所述存储块在掉电之前未完成擦除,若是,则对各个存储块进行重新编程操作,并进一步对各个所述存储块所对应的信息位进行再次编程操作。
可选地,所述信息位为一位,用于表明所述存储块在掉电之前是否完成擦除的信息为1个bit数据;或者,所述信息位为多位,用于表明所述存储块在掉电之前是否完成擦除的信息为多个bit数据。
基于同一发明构思,本发明还提供一种电子系统,其包括闪存和用于实现所述闪存的擦除的操作模组;其中,所述闪存包括多个存储块以及与每个所述存储块一一对应设置的信息位,每个所述存储块具有多个存储单元,所述信息位上存储有用于表明所述存储块在掉电之前是否完成擦除的信息;所述操作模组连接所述闪存并包括:
预编程模块,用于对所述闪存中待擦除的存储块中的所有存储单元进行预编程操作;
擦除模块,用于对所述待擦除的存储块对应的信息位进行擦除操作,通过擦除校验的方式对所述预编程模块预编程后的所述待擦除的存储块中的所有存储单元进行擦除操作;
过擦除校正模块,用于对所述擦除模块擦除后的存储块中的所有存储单元进行过擦除校正操作;
重新编程模块,用于在所述过擦除校正模块完成对所述擦除后的存储块的过擦除校正操作之后,通过编程校验的方式对所述闪存中所述擦除后的存储块以外的其它存储块进行重新编程操作,并在所述重新编程操作完成后对所述某一存储块所对应的信息位进行编程操作,以表明所述某一存储块在掉电之前完成擦除。
可选地,所述操作模组还包括信息读取与检查模块,所述信息读取与检查模块用于在所述闪存下一次上电时读取各个存储块所对应的信息位上存储的信息,并根据读取出的所述信息,检查所述闪存中是否有存储块在所述下一次上电之前未完成擦除,若有,则对各个存储块进行重新编程操作,并进一步对各个所述存储块所对应的信息位进行再次编程操作。
基于同一发明构思,本发明还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明所述的闪存的擦除方法。
与现有技术相比,本发明的技术方案至少具有以下有益效果之一:
1、本发明的闪存为每个存储块增设了对应的信息位,以存储用于表明该存储块在掉电之前是否完成擦除,进而就能很容易地通过这些信息位获知闪存中哪个存储块在掉电之前正在执行擦除操作(即很容易获知,当电源突然关闭时,按块擦除闪存时进行到哪个存储块)。
2、如果因在擦除闪存某一存储块的过程中掉电而导致该存储块的擦除未完成时,则其信息位上的信息会不同于其它存储块,具体地,该存储块对应的信息位上的信息是被擦除的(即未编程的,例如为0),其它存储块对应的信息位上的信息是未被擦除的(即被编程的,例如为1),进而在闪存下一次上电时,可以通过读取各个存储块对应的信息位上存储的信息,很容易地获知上次掉电之前闪存中哪个存储块的擦除未完成,进而在闪存的这次上电过程中对各个存储块进行重新编程操作,由此可以避免闪存中因按块擦除某个存储块的擦除应力而导致某些存储单元的阈值电压VT下降并造成这些存储单元的数据读取失败(fail)的问题。
附图说明
图1是现有技术的闪存的存储阵列按存储块分布的结构示意图。
图2是本发明一实施例的闪存的存储阵列按存储块分布的结构示意图。
图3是本发明一实施例的闪存的擦除方法的流程示意图。
图4是本发明具体实施例的闪存的擦除方法应用到闪存在擦除某一所述存储块的过程中掉电并进行下一次通电的情况中的流程示意图。
图5是本发明具体实施例的电子系统的架构示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的技术方案作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
请参考图2,本发明一实施例提供一种闪存,其包括N+1个存储块BLOCK<0>~BLOCK<N>以及与每个所述存储块BLOCK一一对应设置的信息位INFO,每个所述存储块BLOCK具有多个存储单元,各个存储块BLOCK所对应的信息位INFO上存储有用于表明所述存储块BLOCK在掉电之前是否完成擦除(即表明所述存储块BLOCK在掉电之前是否正在执行擦除且其擦除被中断)的信息。其中,N为自然数,N+1个存储块BLOCK<0>~BLOCK<N>可以形成在同一阱里并共享同一位线。
作为一种示例,信息位INFO上存储的信息为“0”时(即INFO=0),表明相应的存储块BLOCK在掉电之前未完成擦除(即擦除该存储块的过程进行到下文中的步骤S21~S23中的某一步);信息位INFO上存储的信息为“1”时(即INFO=1),表明相应的存储块BLOCK在掉电之前已完成擦除。显然,当按块擦除闪存时,如果某个存储块BLOCK<#>对应的信息位INFO<#>上的信息为0,则表明擦除闪存的进程进行到该存储块BLOCK<#>,且存储块BLOCK<#>正在被擦除,因此,在按块擦除闪存的过程中,一旦出现掉电(即电源突然关闭)的情况,则哪个存储块BLOCK对应的信息位INFO上的信息为0,闪存的擦除就进行到哪个存储块BLOCK,且该存储块BLOCK的擦除未完成。
本实施例中,存储块BLOCK<0>对应的信息位为INFO<0>,信息位INFO<0>上存储有用于表明存储块BLOCK<0>在掉电之前是否完成擦除的信息;存储块BLOCK<1>对应的信息位为INFO<1>,信息位INFO<1>上存储有用于表明存储块BLOCK<1>在掉电之前是否完成擦除的信息;存储块BLOCK<2>对应的信息位为INFO<2>,信息位INFO<2>上存储有用于表明存储块BLOCK<2>在掉电之前是否完成擦除的信息;……存储块BLOCK<#>对应的信息位为INFO<#>,信息位INFO<#>上存储有用于表明存储块BLOCK<#>在掉电之前是否完成擦除的信息;……BLOCK<N>对应的信息位为INFO<N>,信息位INFO<N>上存储有用于表明存储块BLOCK<N>在掉电之前是否完成擦除的信息。
可选地,所有的所述信息位INFO<0>~INFO<N>上存储的信息在所述闪存的下一次上电时被读取,用于确定是否需要对所述闪存中所有的存储块(即所有存储单元)进行重新编程操作。
其中,各个所述信息位INFO<0>~INFO<N>可以均为一位,相应地,用于表明各个存储块BLOCK<0>~BLOCK<N>在掉电之前是否完成擦除的信息均为1个bit数据;或者,各个所述信息位INFO<0>~INFO<N>可以均为多位,相应地,用于表明各个存储块BLOCK<0>~BLOCK<N>在掉电之前是否完成擦除的信息分别为多个bit数据。
请参考图2和图3,本发明还提供一种闪存的擦除方法,所述闪存为图2所示的闪存,其包括N+1个存储块BLOCK<0>~BLOCK<N>以及与每个所述存储块BLOCK<0>~BLOCK<N>一一对应设置的信息位INFO<0>~INFO<N>,每个存储块BLOCK<0>~BLOCK<N>具有多个存储单元,各个信息位INFO<0>~INFO<N>上均存储有用于表明相应的存储块在掉电之前是否完成擦除的信息。本发明的闪存的擦除方法包括按照各个存储块BLOCK<0>~BLOCK<N>的编号顺序依次对各个存储块BLOCK<0>~BLOCK<N>进行擦除,其可以按照从0到N的正序顺序依次对存储块BLOCK<0>~BLOCK<N>进行按块擦除,也可以按照从N到0的倒序顺序依次对存储块BLOCK<0>~BLOCK<N>进行按块擦除;且擦除某一存储块BLOCK<#>(0≤#≤N)的步骤包括:
S20,对存储块BLOCK<#>中的所有存储单元进行预编程操作(pre-program BLOCK<#>),该预编程操作通常是在预定电平上将存储块BLOCK<#>中的所有存储单元编程,这样,存储块BLOCK<#>中所有存储单元的浮动栅极具有大约相同量的电荷;
S21,对存储块BLOCK<#>对应的信息位存储块INFO<#>进行擦除操作(erase INFO<#>),并通过擦除校验(erase verify)的方式对存储块BLOCK<#>中的所有存储单元进行擦除操作(erase BLOCK<#>);其中,一种通过擦除校验(erase verify)的方式的擦除操作是:将擦除脉冲施加到存储块BLOCK<#>上并一行接一行地擦除和校验存储块BLOCK<#>中的每个存储单元,即存储块BLOCK<#>中,只有当前行的所有存储单元被擦除以及均被校验为被擦除的,才会进行下一行存储单元的擦除和校验,以此确定存储块BLOCK<#>中所有存储单元是否都处于擦除状态,直到确定存储块BLOCK<#>中的所有存储单元都已被校验为被擦除的,由此完成存储块BLOCK<#>中所有存储单元的擦除;另一种通过擦除校验(eraseverify)的方式的擦除操作是:先将通过擦除脉冲对存储块BLOCK<#>中所有存储单元进行擦除,然后对存储块BLOCK<#>中所有存储单元进行擦除后的校验,以保证存储块BLOCK<#>中所有存储单元均是被擦除的。
S22,对存储块BLOCK<#>中的所有存储单元进行过擦除校正操作(OEC BLOCK<#>),以对该存储块BLOCK<#>中过擦除的存储单元进行编程(也称为阈值电压Vt分布软编程),以检查存储块BLOCK<#>中的每个列(位线)的电流电平,由此检测存储块BLOCK<#>中被过度擦除的存储单元是否耦合到位线,如果检测出存储块BLOCK<#>中被过度擦除的存储单元耦合到位线中,则过擦除校正操作所使用的编程脉冲会系统地施加到耦合到位线中的存储单元的控制栅极上,直到不能再检测到电流为止,进而消除存储块BLOCK<#>所连接的位线上的漏电流;
S23,通过编程校验(program verify)的方式对所述闪存中存储块BLOCK<#>以外的其它存储块BLOCK<0>~BLOCK<#-1>、BLOCK<#+1>~BLOCK<N>进行重新编程操作(re-program other BLOCK),以防止擦除存储块BLOCK<#>时将其它存储块也擦除的问题;该重新编程操作也是按块进行的,其中,一种通过编程校验(program verify)的方式对某一其它存储块BLOCK进行重新编程操作是:一行接一行地对该其它存储块BLOCK中的存储单元进行数据读取,并判断所读取的数据是否正确,如果不正确,则对其重新编程,使其更正为正确的数据,只有当前行的所有存储单元均被校验为正确的,才会进行下一行存储单元的编程校验,以此确定各个其它存储块BLOCK<0>~BLOCK<#-1>、BLOCK<#+1>~BLOCK<N>中所有存储单元存储的数据未被擦除;
S24,在上述的重新编程操作完成后(即所述闪存中所有的所述其它存储块BLOCK<0>~BLOCK<#-1>、BLOCK<#+1>~BLOCK<N>均通过编程校验后),对存储块BLOCK<#>所对应的信息位INFO<#>进行编程操作(program INFO,即INFO编程操作),以表明所述存储块BLOCK<#>在掉电之前完成擦除,即此时所述存储块BLOCK<#>在掉电之前是已被擦除的。
其中,当用“INFO=0”以及“INFO=1”来表示相应的存储块BLOCK在掉电之前是否完成擦除时,在按照从0至N的顺序按块擦除闪存的过程中,如果在擦除存储块BLOCK<#>的过程中掉电,则INFO<#>=0,INFO<0>~INFO<#-1>、INFO<#+1>~INFO<N>均为1,且INFO<0>~INFO<#-1>均为1表明其它存储块BLOCK<0>~BLOCK<#-1>在掉电之前均已完成擦除,存储块BLOCK<#+1>~BLOCK<N>在掉电之前均还未被擦除到。
由此可见,本发明的技术方案,在按块擦除闪存的过程中,一旦出现掉电(即电源突然关闭)的情况,则哪个存储块BLOCK对应的信息位INFO上的信息为0,就可以知道闪存的按块擦除就进行到哪个存储块BLOCK,且该存储块BLOCK的擦除未完成。
因此,在本发明所述的闪存的擦除方法中,一旦所述闪存在擦除存储块BLOCK<#>的过程中掉电,在所述闪存下一次上电(可以称为这次上电)时,可以先读取各个存储块BLOCK<0>~BLOCK<N>所对应的信息位INFO<0>~INFO<N>上存储的信息,并根据所读取出的信息,来检查(即判断)所述闪存中是否有存储块在这次上电之前未完成擦除,若有,则在所述闪存的这次上电的过程中对各个存储块BLOCK<0>~BLOCK<N>均进行重新编程操作,并进一步对各个所述存储块BLOCK<0>~BLOCK<N>所对应的信息位INFO<0>~INFO<N>均进行再次编程操作,以表明各个所述存储块BLOCK<0>~BLOCK<N>在这次上电过程中均被重新编程,由此保证各个存储单元中的数据能够在这次上电之后被正确读取出来。
请参考图4,本实施例中,在所述闪存下一次上电的过程中,按照各个存储块BLOCK<0>~BLOCK<N>的编号从0至N的正序顺序依次读取各个存储块BLOCK<0>~BLOCK<N>所对应的信息位INFO<0>~INFO<N>上存储的信息,并在每读取一个所述存储块BLOCK<0>~BLOCK<N>对应的信息位INFO<0>~INFO<N>上的信息后,就判断所述信息位上存储的信息是否表示所述存储块在这次上电之前未完成擦除,若是,则在这次上电的过程中对各个存储块BLOCK<0>~BLOCK<N>进行重新编程操作,并进一步对各个所述存储块BLOCK<0>~BLOCK<N>所对应的信息位INFO<0>~INFO<N>进行再次编程操作。例如当在这次上电过程中,按顺序读取到存储块BLOCK<#>对应的信息位INFO<#>上的信息后,判断读出的信息位INFO<#>上的信息是否等于0(其中,0表示存储块BLOCK<#>在掉电之前未完成擦除,1表示存储块BLOCK<#>在掉电之前已完成擦除或者还未被擦除到),若否(NO),则继续读取下一个存储块BLOCK<#+1>对应的信息位INFO<#+1>上的信息,直至发现某个存储块对应的信息位上的信息等于0或者所有的信息位上的信息均不等于0(即均等于1);若是(YES),则,在这次上电的过程中对各个存储块BLOCK<0>~BLOCK<N>进行重新编程操作,并进一步对各个所述存储块BLOCK<0>~BLOCK<N>所对应的信息位INFO<0>~INFO<N>进行再次编程操作,即将信息位INFO<0>~INFO<N>均编程为1。
需要说明的是,上述的闪存的擦除方法中,进行到步骤S21时,才正式对存储块BLOCK<#>开始擦除,步骤S20相当于对存储块BLOCK<#>擦除前的准备工作,因此步骤S21中对信息位INFO<#>的擦除操作只要在采用编程校验的方式对存储块BLOCK<#>以外的其它存储块BLOCK<0>~BLOCK<#-1>、BLOCK<#+1>~BLOCK<N>进行重新编程操作(re-programother BLOCK)完成之前完成即可,其可以放在步骤S20之前执行,也可以放在步骤S20之后执行,且放在步骤S20之后执行时,可以先于存储块BLOCK<#>中所有存储单元的擦除之前,可以在存储块BLOCK<#>中一部分存储单元的擦除校验完成之后进行,也可以在采用擦除校验的方式完成对存储块BLOCK<#>中所有存储单元的擦除之后且在采用编程校验的方式对存储块BLOCK<#>以外的其它存储块BLOCK<0>~BLOCK<#-1>、BLOCK<#+1>~BLOCK<N>中的第一存储块进行重新编程操作(re-program other BLOCK)之前进行。其中,当先擦除存储块BLOCK<#>对应的信息位INFO<#>,后通过擦除校验的方式对存储块BLOCK<#>中的各个存储单元进行擦除时,如果信息位INFO<#>为多位(即其用于表面存储块BLOCK<#>在掉电之前是否完成擦除的数据为多个bit数据),则只有当信息位INFO<#>的各个位上的数据均被擦除时,存储块BLOCK<#>对应的信息位INFO<#>才可以视作被擦除的,之后才可以开始通过擦除校验的方式对存储块BLOCK<#>中的第一存储单元进行擦除。基于同一发明构思,请参考图5,本发明一实施例还提供一种电子系统1,其包括闪存2和用于实现所述闪存1的擦除的操作模组2。
所述闪存2为本发明的闪存,即如图2所示,其包括N+1个存储块BLOCK<0>~BLOCK<N>以及与每个所述存储块BLOCK<0>~BLOCK<N>一一对应设置的信息位INFO<0>~INFO<N>,每个存储块BLOCK<0>~BLOCK<N>具有多个存储单元,各个信息位INFO<0>~INFO<N>上均存储有用于表明相应的存储块在掉电之前是否完成擦除的信息。
所述操作模组3连接所述闪存2并用于实现本发明的闪存的擦除方法,所述操作模组3具体包括预编程模块30、擦除模块31、过擦除校正模块32、重新编程模块33以及信息读取与检查模块34。
其中,预编程模块30用于对所述闪存2中待擦除的存储块中的所有存储单元进行预编程操作,即预编程模块30用于实现上文中的步骤S20。
擦除模块31用于对所述待擦除的存储块对应的信息位进行擦除操作,并通过擦除校验的方式对所述预编程模块30预编程后的所述待擦除的存储块中的所有存储单元进行擦除操作,即擦除模块31用于实现上文中的步骤S21。过擦除校正模块32用于对所述擦除模块31擦除后的存储块中的所有存储单元进行过擦除校正操作,即过擦除校正模块32用于实现上文中的步骤S22。
重新编程模块33用于在所述过擦除校正模块32完成对所述擦除后的存储块的过擦除校正操作之后,通过编程校验的方式对所述闪存2中所述擦除后的存储块以外的其它存储块进行重新编程操作,并在对所述闪存2中各个所述其它存储块均完成重编程操作之后,对所述擦除后的存储块所对应的信息位进行再次编程操作,以表明所述存储块在掉电之前已完成擦除,即重新编程模块33用于实现上文中的步骤S23~S24。
所述信息读取与检查模块34用于在所述闪存2下一次上电的过程,读取各个存储块BLOCK<0>~BLOCK<N>所对应的信息位INFO<0>~INFO<N>上存储的信息,并根据读取出的所述信息,检查所述闪存2中是否有存储块在所述闪存2下一次上电之前未完成擦除,若有,则在所述闪存2下一次上电的过程中对各个存储块BLOCK<0>~BLOCK<N>进行重新编程操作,并进一步对各个所述存储块BLOCK<0>~BLOCK<N>所对应的信息位INFO<0>~INFO<N>进行再次编程操作。
应当注意的是,擦除模块31对待擦除的存储块对应的信息位进行擦除的操作,只要在重新编程模块33通过编程校验的方式对所述闪存2中所述擦除后的存储块以外的其它存储块进行重新编程操作之前完成即可,因此,擦除模块31对待擦除的存储块对应的信息位进行擦除的操作,可以在预编程模块30对待擦除的存储块中的所有存储单元进行预编程操作之前进行,也可以在预编程模块30对待擦除的存储块中的所有存储单元进行预编程操作之后进行。作为一种示例,擦除模块31对待擦除的存储块对应的信息位进行擦除的操作,可以在预编程模块30对待擦除的存储块中的所有存储单元进行预编程操作之后且在擦除模块31通过擦除校验的方式对所述待擦除的存储块中的第一个存储单元进行擦除操作之前进行。可以理解的是,所述操作模组3中的预编程模块30、擦除模块31、过擦除校正模块32、重新编程模块33以及信息读取与检查模块34可以合并在一个装置中实现,或者其中的任意一个模块可以被拆分成多个装置,或者,这些装置中的一个或多个的至少部分功能可以与其它装置的至少部分功能相结合,并在一个装置中实现。根据本发明的实施例,预编程模块30、擦除模块31、过擦除校正模块32、重新编程模块33以及信息读取与检查模块34的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其它的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,预编程模块30、擦除模块31、过擦除校正模块32、重新编程模块33以及信息读取与检查模块34中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
基于同一发明构思,本发明一实施例还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序可以包括代码/计算机可执行指令,所述计算机程序被处理器执行时实现本发明所述的闪存的擦除方法及其任何变形。所述计算机存储介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,所述计算机存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。所述计算机存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)、U盘等;和/或,有线/无线通信链路。
本发明提供的闪存及其擦除方法、电子系统和计算机存储介质中,所述闪存中为其每个存储块增设了对应的信息位,以存储用于表明该存储块在掉电之前是否完成擦除,进而就能很容易地通过这些信息位获知闪存中哪个存储块在掉电之前正在执行擦除操作。当因在擦除闪存某一存储块的过程中掉电而导致该存储块的擦除未完成时,各个存储块对应的信息位上会存储相应的信息,以表明该某一存储块在掉电之前未完成擦除以及其它存储块在掉电之前已完成擦除或者还未被擦除到,进而在闪存下一次上电时,可以通过读取各个存储块对应的信息位上存储的信息,来检查闪存中是否有存储块在掉电之前未完成擦除,以进一步在闪存的这次上电过程中对各个存储块进行重新编程操作,由此可以避免闪存中因按块擦除某个存储块的擦除应力而导致某些存储单元的阈值电压VT下降并造成这些存储单元的数据读取失败(fail)的问题。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于本发明技术方案的范围。
Claims (5)
1.一种闪存的擦除方法,其特征在于,所述闪存包括多个存储块以及与每个所述存储块一一对应设置的信息位,每个所述存储块具有多个存储单元,所述信息位上存储有用于表明所述存储块在掉电之前是否完成擦除的信息,所述闪存的擦除方法包括按照各个存储块的编号顺序依次对各个存储块进行擦除,且擦除某一存储块的步骤包括:
对所述某一存储块中的所有存储单元进行预编程操作;
对所述某一存储块对应的信息位进行擦除操作,并通过擦除校验的方式对所述某一存储块中的所有存储单元进行擦除操作;
对所述某一存储块中的所有存储单元进行过擦除校正操作;
通过编程校验的方式对所述闪存中所述某一存储块以外的其它存储块进行重新编程操作;
在所述重新编程操作完成后,对所述某一存储块所对应的信息位进行编程操作,以表明所述存储块在掉电之前已完成擦除;
其中,在按照各个存储块的编号顺序依次对各个存储块进行擦除的过程中,一旦出现掉电的情况,则正在执行擦除且未完成擦除的存储块的信息位上的信息不同于其它存储块,所述闪存的擦除方法还包括:在所述闪存的下一次上电时,先读取各个存储块所对应的信息位上存储的信息,并根据读取出的所述信息,检查所述闪存中是否有存储块在掉电时正在执行擦除且未完成擦除,若有,对所述正在执行擦除且未完成擦除的存储块以外的其它存储块进行重新编程操作,以使各个所述其它存储块的数据更正为正确的数据,并进一步对各个所述其它存储块所对应的信息位进行再次编程操作。
2.如权利要求1所述的闪存的擦除方法,其特征在于,在所述下一次上电时,按照各个存储块的编号顺序依次读取各个存储块所对应的信息位上存储的信息,并在每读取一个所述存储块对应的信息位上的信息后,判断所述信息位上存储的信息是否表明所述存储块在掉电之前正在执行擦除且未完成擦除。
3.如权利要求1或2所述的闪存的擦除方法,其特征在于,在对所述某一存储块中的所有存储单元进行预编程操作完成之后,先对所述某一存储块对应的信息位进行擦除操作,然后在通过擦除校验的方式对所述某一存储块中的所有存储单元进行擦除操作。
4.一种电子系统,其特征在于,包括闪存和用于实现所述闪存的擦除的操作模组;其中,所述闪存包括多个存储块以及与每个所述存储块一一对应设置的信息位,每个所述存储块具有多个存储单元,所述信息位上存储有用于表明所述存储块在掉电之前是否完成擦除;所述操作模组连接所述闪存并按照各个存储块的编号顺序依次对各个存储块进行擦除,所述操作模组包括:
预编程模块,用于对所述闪存中待擦除的存储块中的所有存储单元进行预编程操作;
擦除模块,用于对所述待擦除的存储块对应的信息位进行擦除操作,并通过擦除校验的方式对所述预编程模块预编程后的所述待擦除的存储块中的所有存储单元进行擦除操作;
过擦除校正模块,用于对所述擦除模块擦除后的存储块中的所有存储单元进行过擦除校正操作;
重新编程模块,用于在所述过擦除校正模块完成对所述擦除后的存储块的过擦除校正操作之后,通过编程校验的方式对所述闪存中所述擦除后的存储块以外的其它存储块进行重新编程操作,并在所述重新编程操作完成后对所述擦除后的存储块所对应的信息位进行编程操作,以表明所述擦除后的存储块在掉电之前完成擦除,其中,在按照各个存储块的编号顺序依次对各个存储块进行擦除的过程,一旦出现掉电的情况,所述重新编程模块使得正在执行擦除且未完成擦除的存储块的信息位上的信息不同于其它存储块;
信息读取与检查模块,用于在所述闪存下一次上电时读取各个存储块所对应的信息位上存储的信息,并根据读取出的所述信息,检查所述闪存中是否有存储块在所述下一次上电之前正在执行擦除且未完成擦除,若有,则对所述正在执行擦除且未完成擦除的存储块以外的其它存储块进行重新编程操作,以使各个所述其它存储块的数据更正为正确的数据,并进一步对各个所述其它存储块所对应的信息位进行再次编程操作。
5.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的闪存的擦除方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591334.0A CN113327638B (zh) | 2021-05-28 | 2021-05-28 | 闪存及其擦除方法、电子系统和计算机存储介质 |
US17/566,253 US11978520B2 (en) | 2021-05-28 | 2021-12-30 | Method of erasing flash memory and electronic system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591334.0A CN113327638B (zh) | 2021-05-28 | 2021-05-28 | 闪存及其擦除方法、电子系统和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113327638A CN113327638A (zh) | 2021-08-31 |
CN113327638B true CN113327638B (zh) | 2022-08-19 |
Family
ID=77421975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110591334.0A Active CN113327638B (zh) | 2021-05-28 | 2021-05-28 | 闪存及其擦除方法、电子系统和计算机存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11978520B2 (zh) |
CN (1) | CN113327638B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11756637B2 (en) * | 2021-11-24 | 2023-09-12 | Western Digital Technologies, Inc. | Block erase type detection using bit count check |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552037B (zh) * | 2009-02-11 | 2012-12-26 | 北京兆易创新科技有限公司 | 一种非易失存储器的擦除方法及装置 |
JP2011129192A (ja) * | 2009-12-16 | 2011-06-30 | Samsung Electronics Co Ltd | 半導体記憶装置 |
KR20130042780A (ko) * | 2011-10-19 | 2013-04-29 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법 |
CN103426474B (zh) * | 2012-05-16 | 2016-03-23 | 北京兆易创新科技股份有限公司 | 一种非易失存储器的擦除方法及装置 |
CN104751888B (zh) * | 2013-12-27 | 2018-11-06 | 北京兆易创新科技股份有限公司 | 一种非易失性存储器的掉电保护方法和装置 |
CN104751887B (zh) * | 2013-12-27 | 2018-11-06 | 北京兆易创新科技股份有限公司 | 一种非易失性存储器的掉电保护方法和装置 |
CN112397128B (zh) * | 2020-11-19 | 2024-06-18 | 潍柴动力股份有限公司 | 一种Flash存储器的控制方法和装置 |
-
2021
- 2021-05-28 CN CN202110591334.0A patent/CN113327638B/zh active Active
- 2021-12-30 US US17/566,253 patent/US11978520B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN113327638A (zh) | 2021-08-31 |
US20220383964A1 (en) | 2022-12-01 |
US11978520B2 (en) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7450435B2 (en) | Systems for comprehensive erase verification in non-volatile memory | |
KR101285576B1 (ko) | 비휘발성 메모리를 프로그래밍/소거하기 위한 방법 및 장치 | |
US6553510B1 (en) | Memory device including redundancy routine for correcting random errors | |
US9225356B2 (en) | Programming a non-volatile memory (NVM) system having error correction code (ECC) | |
US6700820B2 (en) | Programming non-volatile memory devices | |
CN110246533B (zh) | 固态储存装置的失败模式检测方法及错误更正方法 | |
TWI536386B (zh) | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
KR20180052814A (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
TWI602055B (zh) | 半導體儲存裝置及其編程方法 | |
EP2667382B1 (en) | Erasing a non-volatile memory (NVM) system having error correction code (ECC) | |
CN113327638B (zh) | 闪存及其擦除方法、电子系统和计算机存储介质 | |
CN110473584B (zh) | 固态储存装置中已抹除区块的再验证方法 | |
US9378829B2 (en) | Non-volatile memory device with an EPLI comparator | |
KR101842924B1 (ko) | 반도체 메모리 장치 및 입력 데이터의 검증 방법 | |
KR100335769B1 (ko) | 플래쉬 메모리 소자의 프로그램 방법 | |
US7457167B2 (en) | Method for preventing over-erasing of unused column redundant memory cells in a flash memory having single-transistor memory cells | |
JP2006190488A (ja) | 半導体記憶装置の書き込み方法 | |
CN113360421B (zh) | 闪存的擦除方法及系统、计算机存储介质 | |
TWI523019B (zh) | 記憶體裝置及使用非揮發性記憶體元件對系統進行開機之方法 | |
US6370065B1 (en) | Serial sequencing of automatic program disturb erase verify during a fast erase mode | |
KR100521320B1 (ko) | 불 휘발성 메모리 장치 및 그것의 프로그램 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 430205 No.18, Gaoxin 4th Road, Donghu Development Zone, Wuhan City, Hubei Province Patentee after: Wuhan Xinxin Integrated Circuit Co.,Ltd. Country or region after: China Address before: 430205 No.18, Gaoxin 4th Road, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: Wuhan Xinxin Semiconductor Manufacturing Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |