CN104428838A - 针对检测保护的虚拟存储器擦除或编程方法 - Google Patents

针对检测保护的虚拟存储器擦除或编程方法 Download PDF

Info

Publication number
CN104428838A
CN104428838A CN201380036297.0A CN201380036297A CN104428838A CN 104428838 A CN104428838 A CN 104428838A CN 201380036297 A CN201380036297 A CN 201380036297A CN 104428838 A CN104428838 A CN 104428838A
Authority
CN
China
Prior art keywords
erasing
memory
primitive
program cycles
programming pulse
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.)
Pending
Application number
CN201380036297.0A
Other languages
English (en)
Inventor
M·米兰达特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inside Secure SA
Original Assignee
Inside Secure SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inside Secure SA filed Critical Inside Secure SA
Publication of CN104428838A publication Critical patent/CN104428838A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种用于编程或擦除非易失性存储器的存储器基元的方法,包括第一擦除或编程循环,其包括:i)施加(S11)至少一个擦除或编程脉冲(Np)到第一存储器基元;ii)确定(S14)所述存储器基元的状态:擦除的或编程的,以及如果存储器基元不在想要的状态,重复步骤i)和ii),以及第二擦除或编程循环,包括施加预定数量的擦除或编程脉冲到第二存储器基元。

Description

针对检测保护的虚拟存储器擦除或编程方法
技术领域
本发明涉及一种擦除或编程非易失性存储器的存储器基元的方法,并涉及这样的非易失性存储器。
背景技术
非易失性半导体存储器,诸如EEPROM和闪存,通常包括电可擦除可编程存储器基元阵列。这样的存储器基元通常包括至少一个浮动栅极晶体管FGT。浮动栅极晶体管通常包括源极和漏极区域、在源极和漏极区域之间延伸的沟道区域、跨过沟道区域延伸的控制栅极、以及在控制栅极和沟道区域之间延伸的浮动栅极。
浮动晶体管通过施加电压脉冲(“编程脉冲”)到其源极或漏极区域而被编程,或通过其体(bulk)区域,以将电荷注射到浮动栅极中。相反,通过施加电压脉冲(“擦除脉冲”)到其控制栅极或穿过体区域,其被擦除,以从浮动栅极提取电荷。浮动栅极中的电荷数量限定了晶体管的阈值电压,这对应于存储在存储器基元中的数据值。
这样的存储器基元具有有限的有效寿命,也被已知为耐久性。这样的基元在变得降级前可忍受的擦除和编程循环的数量是有限的,这是由于到浮动栅极和来自浮动栅极的电荷的重复传输。结果,将被施加到存储器基元以进行编程或擦除过程的编程或擦除脉冲的数量可随着时间而增加,同时基元老化。
因此,在一些存储器中,施加到存储器基元的擦除或编程脉冲的数量被控制电路监控,其在被擦除或编程时验证了存储器基元的状态。擦除或编程脉冲的数量被实时调整,直到基元达到想要的擦除的或编程的状态,或直到达到最大授权的脉冲数量。以这种方式,不同存储器基元的阈值电压的分散在整个存储器阵列内被减少。
图1是在存储器基元上进行擦除或编程循环的传统循环的流程图,例如在美国专利7,983,078中描述的类型。
在步骤S1,可变的Np被设为初始值,例如1。在步骤S2中,擦除或编程操作被初始化。在步骤S3,一个擦除或编程脉冲被施加到指定的存储器基元。在步骤S4,存储器基元的状态被确定。在步骤S5,存储器基元的状态被验证,以检查其是否对应于想要的状态。如果响应为是,控制基元终止循环作为“通过”。如果想要的状态还未达到,在步骤S6期间,验证Np是否等于授权的最大脉冲数量Npmax。如果响应为是,循环被终止为“失败”。如果Np小于Npmax,在步骤S7中Np被增加1,且循环返回到步骤S3。
在一些应用中,诸如加密计算,当涉及敏感数据时,有时候想要遮蔽某些写操作。此遮蔽可能包括将假数据写入某些存储器基元中,以误导查看存储器电路行为的第三方。如图1所示,进行将假数据写入存储器基元中,差别仅在于擦除或编程循环的末端数据的实际值不重要。
为了简明,涉及假数据的擦除或编程循环在接下来将被称为“虚拟”操作,且被指定接收这样的假数据的存储器基元将被指定为“虚拟(dummy)”基元。
通常,尽管虚拟循环比正常数据循环要更加不频繁地发生,较小部分的可用存储空间被专用于虚拟操作。结果,被专用于虚拟操作的存储器基元比专用于常规操作的存储器基元要经受更多的擦除和/或编程循环。结果,虚拟存储器基元比常规存储器基元老化地更快,且随着时间变化,虚拟擦除或编程操作可与常规擦除或编程操作区别开,在于其涉及更多的擦除或编程脉冲。
发明内容
本发明包括观测到,通过计算在擦除或编程操作中涉及的脉冲数量,攻击者可将虚拟擦除或编程操作与常规擦除或编程操作区别开。
因此,想要提供一种进行擦除或编程循环的方法,其可降低这样的安全风险。
本发明的实施例涉及一种编程或擦除非易失性存储器的存储器基元的方法,包括第一存储器基元的第一擦除或编程循环,包括以下步骤:i)施加至少一个擦除或编程脉冲到所述存储器基元,ii)确定所述存储器基元的擦除的或编程的状态,以及iii)如果所述存储器基元没有处于想要的状态,重复步骤i)和ii),其中所述方法还包括第二存储器基元的第二擦除或编程循环,包括将预定数量的擦除或编程脉冲施加到所述第二存储器基元。
根据一个实施例,擦除或编程脉冲的所述预定数量是在第一存储器基元的至少一个第一擦除或编程循环期间,施加到第一存储器基元的脉冲的第一数量的函数。
根据一个实施例,所述第二循环包括:iv)施加至少一个擦除或编程脉冲到所述存储器基元,v)确定所述存储器基元的状态:擦除的或编程的,以及vi)重复步骤iv)和v),直到所述预定数量的擦除或编程脉冲被施加到所述第二存储器基元。
根据一个实施例,所述方法包括验证所述擦除或编程循环是否在所述第一或所述第二存储器基元上被进行的步骤。
根据一个实施例,所述第一擦除或编程循环包括存储施加到所述第一存储器基元的以将其设置为想要的状态的脉冲的所述数量的步骤。
根据一个实施例,根据以下方法中的至少一种,确定擦除或编程脉冲的所述预定数量:擦除或编程脉冲的所述预定数量是在第一存储器基元的一个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的数量的函数;擦除或编程脉冲的所述预定数量是在第一存储器基元的多个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的数量的平均值的函数;擦除或编程脉冲的所述预定数量是在第一存储器基元的多个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的数量的最大值的函数。
根据一个实施例,所述方法包括通过所述第一擦除或编程循环的方式,将常规数据写入所述第一存储器中,以及通过所述第二擦除或编程循环的方式,将假数据写入所述第二存储器基元中。
本发明的实施例还涉及一种非易失性存储器,包括存储器基元阵列,以及控制电路,所述控制电路被配置为进行所述存储器的第一存储器基元的第一擦除或编程循环,所述第一擦除或编程循环包括以下步骤:i)施加至少一个擦除或编程脉冲到所述存储器基元;ii)确定存储器基元的状态:擦除的或编程的,以及iii)如果所述存储器基元没有处于想要的状态,重复步骤i)和ii)。所述控制电路还被配置为进行第二存储器基元的第二擦除或编程循环,包括将预定数量的擦除或编程脉冲施加到所述第二存储器基元。
根据一个实施例,所述控制电路被配置为作为在第一存储器基元的至少一个第一擦除或编程循环期间,施加到第一存储器基元的脉冲的第一数量的函数,来确定擦除或编程脉冲的所述预定数量。
根据一个实施例,当进行所述第二擦除或编程循环时,所述控制电路被配置为:iv)施加至少一个擦除或编程脉冲到所述存储器基元;v)确定所述存储器基元的状态:擦除的或编程的,以及vi)重复步骤iv)和v),直到所述预定数量的擦除或编程脉冲被施加到所述第二存储器基元。
根据一个实施例,所述控制电路被配置为,当进行所述第一擦除或编程循环时,存储施加到所述第一存储器基元的以将其设为想要的状态的脉冲的所述数量。
根据一个实施例,所述控制电路被配置为根据以下方法中的至少一种,确定擦除或编程脉冲的所述预定数量:擦除或编程脉冲的预定数量是在第一存储器基元的第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程循环的所述数量的函数;擦除或编程脉冲的所述预定数量是在第一存储器基元的多个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的数量的平均值的函数;擦除或编程脉冲的所述预定数量是在第一存储器基元的多个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的数量的最大值的函数。
根据一个实施例,所述控制电路被配置为通过所述第一擦除或编程循环的方式,将常规数据写入所述第一存储器基元中,以及通过所述第二擦除或编程循环的方式,将假数据写入第二存储器基元中。
根据一个实施例,所述控制电路被配置为记忆第二存储器基元的地址,以及仅将所述第二擦除或编程循环施加到第二存储器基元。
本发明的实施例也涉及电子装置,包括根据本发明的非易失性存储器。
附图说明
现在将结合但不限于附图来描述本发明的实施例,其中:
图1,之前已被描述,是示出进行存储器基元擦除或编程循环的传统方法的流程图,
图2是根据本发明的存储器器件的实施例的框图,
图3A和3B是示出根据本发明一个实施例的擦除或编程循环的流程图,
图4是示出根据本发明另一个实施例的擦除或编程循环的流程图,
图5是示出根据本发明又一个实施例的擦除或编程循环的流程图,以及
图6示出了根据本发明的包括存储器器件的电子装置。
具体实施方式
图2示意性地示出了根据本发明的一个实施例的非易失性存储器MEM。存储器MEM包括存储器基元阵列MA、行解码器RDEC、列解码器CDED、编程锁存器PL块、列选择(column select)晶体管CST组、感测放大器SA块、输入/输出端口IOP以及控制电路CCT。
存储器阵列包括连接到字线WL和位线BL的存储器基元(未示出)。行解码器RDEC连接到字线,编程锁存器PL连接到位线的一端,而感测放大器SA通过选择晶体管CST连接到位线的另一端。后者通过列选择线CSL被列解码器CDEC控制。
控制电路CCT被耦合到IOP端口的输入/输出,并经由总线BS耦合到编程锁存器PL的输入和感测放大器SA的输出。控制电路通过端口IOP接收由主机控制器(未示出)发送的擦除、编程或读取命令。这样的命令包括存储器基元的地址和将被写入的数据。在一个实施例中,控制电路CCT被配置为接收写命令,而不是擦除和编程命令,并通过进行对应的擦除和编程循环来执行这些命令。
在程序锁存器PL中,加载将被写入存储器阵列中的数据,而在存储器阵列中被读取的数据由感测放大器SA提供。在行解码器RDEC和列解码器CDEC中,加载擦除、编程或读取地址ADD,第一接收其最高有效位(Most Significant Bits)ADDM,而第二是其最低有效位(LeastSignificant Bits)ADDL。
控制电路可包括具有程序存储器(未示出)的微处理器或状态机,不同的寄存器、不同的供电电路,以提供要求用于擦除、编程、读取操作的电压,以及用于通过感测放大器而确定存储器基元的状态的电压。
存储器阵列可包括存储器基元的两个类型T1、T2。类型T1的存储器基元被用来存储常规数据(应用数据),而T2类型的存储器基元被用作“虚拟”存储器基元,以存储假数据。
当存储器被指定或当其被个性化时,虚拟存储器基元的位置可以被预定义。也可由耦合到存储器的主机控制器而动态限定,这是通过向存储器发送指示虚拟存储器基元位置的特定配置命令,或指定这样位置的虚拟写命令。
虚拟存储器基元优选地位于相同页(连接到相同字线WL的存储器基元的整体),或在相同的扇区(sector)(相邻页的整体),或在仅包含虚拟存储器基元的不同页或部分。在一个实施例中,存储器基元的状态,一旦被限定为T2,在整个存储器的寿命期限内是不可逆的。
控制电路CCT被配置为进行令两种类型的擦除循环EC1和EC2,以及两种类型的编程循环PC1和PC2。循环EC1、PC1分别是施加到类型T1的存储器基元的常规擦除和编程循环。循环EC2、PC2分别是施加到类型T2的存储器基元的虚拟擦除和编程循环。
循环EC1、PC1具有相同的结构,且在图3A中由相同的流程图示出。每个包括步骤S11到S17。在步骤S11中,之前提到的可变Np被设为初始值,这里是1。在步骤S12,擦除或编程操作被初始化。这样的初始化包括例如提供合适的电压用于擦除或编程循环(例如包括电荷泵的激活),施加地址ADDM、ADDL到行和列解码器,以及对于编程循环PC1,将数据存储在编程锁存器PL中。在步骤S13,控制电路施加一个擦除或编程脉冲到指定的存储器基元。在步骤S14,控制电路确定存储器基元的状态。该操作是通过例如在特定的读出电压下感测存储器基元的阈值电压而进行的,通过感测放大器SA的方式。每个感测放大器输出比特,该比特给出其耦合到的存储器基元的状态的指示。
在步骤S15中,控制电路验证存储器基元的状态是否对应于想要的状态,擦除的或编程的。如果不是,在步骤S16,控制电路验证Np是否等于可以被施加的脉冲的最大数量Npmax。如果响应为是,循环被终止为“失败”。如果Np小于Npmax,控制电路在步骤S17将Np增加1,并返回到步骤S13,以将进一步的擦除或编程脉冲施加到存储器基元。
如果在步骤S15,存储器基元的状态对应于想要的状态,擦除或编程循环被终止为“通过”。在终止循环前,在步骤S18,控制电路将可变Np存储在寄存器中,分别作为擦除参考值N11i或编程参考值N12i,“i”表示多个相同本质的循环,擦除或编程,中的当前循环EC1或PC1的等级,其中类似的可变值已被记录。
擦除或编程循环EC2、PC2具有相同的结构,且由图3B中的相同流程图示出。每个包括步骤S21到S27。
在步骤S21,如果进行擦除循环EC2,虚拟擦除参数N21被设为之前的常规擦除循环EC1的参考值N11i的函数。如果进行编程循环PC2,虚拟编程参数N22被设为之前的常规编程循环PC1的参考值N12i的函数。
在步骤S22,可变Np被设为1。在步骤S23,擦除或编程操作被初始化。在步骤S24,控制电路施加一个擦除或编程脉冲到指定的存储器基元。在步骤S25(可选的),控制电路确定存储器基元的状态。在步骤S26,如果擦除循环EC2被进行,控制电路验证Np是否等于N21,或如果编程循环PC2被进行,控制电路验证Np是否等于N22。如果响应为是,控制电路终止循环为“通过”。如果响应为否,在步骤S27,Np增加1,且控制电路返回到步骤S24以将又一个脉冲施加给相关的存储器基元。
本领域技术人员将理解,步骤S22优选地与在循环EC1或PC1中进行的步骤S12相同,且该步骤S25(尽管其是可选的,因为其对于虚拟擦除或编程循环不是必须的)被提供,以便循环EC2与循环EC1相似,并且循环PC2与循环PC1尽可能相似,这是从电流消耗、生成的电压、进行的步骤数量等而言。
在实施例中,验证步骤S25′可被包括在循环EC2、PC2中,如图3B所示,这样循环与循环EC1、PC1更像了,但是验证的结果不被考虑,这样不管什么结构,步骤S26都被进行。
在实施例中,步骤S21由控制电路在执行循环EC2、PC2之前被进行,作为背景计算,例如每次在循环EC1或PC1之后,记录了新的参考值N11i或N12i,预计了未来的虚拟循环EC2、PC2。
循环EC1、EC2、PC1、PC2适用于其他各种实施例。例如,在步骤S11或S22,Np可被设为初始值“n”,并在步骤S16或S27被增加“n”。在这种情况下,步骤S13或S24包括将“n”个擦除或编程脉冲施加到存储器基元。而且,步骤S26可包括验证Np是否大于或等于N21或N22,而不是验证严格的等式,特别是如果在步骤S24被施加到存储器基元的擦除或编程脉冲的数量“n”被逐渐增加,并伴随基元的老化。
图4是示出根据本发明的擦除循环EC12或编循环PC12的实施例的流程图,两个都具有相同的结构,且都用相同的流程图示出。循环EC12是将循环EC1并入到循环EC2的结果,且可以是常规擦除循环或虚拟擦除循环。类似地,循环P12是将循环PC1合并到循环PC2的结果,且可以是常规编程循环或虚拟编程循环。
循环EC12、PC12包括步骤S30到S41。步骤S30等于步骤S21,且包括确定参数N21或N22作为之前的常规循环EC12、PC12的参考值N11i和N12i的函数。如上所示,该计算可在循环开始前的另一个瞬间被完成,例如在下述步骤S39之后,在涉及常规擦除或编程操作的在前循环EC12、PC12的结尾处。
步骤S31等于步骤S11或S22,且包括将Np设为1。S32等于步骤S12或S23,且包括初始化擦除或编程操作。步骤S33等于步骤S13或S24,且包括将一个擦除或编程脉冲施加到相关的存储器基元。步骤S34等于步骤S14或S25,且包括确定存储器基元的状态。
在步骤S35,控制电路确定当前的擦除或编程循环EC12、PC12是常规擦除或编程循环,或是虚拟擦除或编程循环。该确定包括,例如,通过确定当前循环是否被在第二类型T2或是在第一类型T1的存储器基元上执行,通过检查在擦除或编程命令中接收到的地址并将其与对应于虚拟页或扇区的地址范围进行比较。在另一个实施例中,当前循环是“常规”或“虚拟”循环的信息被包括在其命令中。为了节约时间,当进行步骤S35时,该确定可在循环EC12、PC12的最开始被执行,在步骤S30被进行前,且可在逻辑值设置一个标记,指示当前循环是常规的还是虚拟的。在这种情况下,步骤S35仅包括测试该标记的值。
如果当前循环是常规循环,控制电路进行到第一执行分支,包括步骤S36、S37、S38、S39,其等于步骤S15、S16、S17和S18。如果当前循环是虚拟循环,控制电路进入到第二执行分支,包括步骤S40和S41,其等于步骤S26和S27。
第一分支:在步骤S36,控制电路验证存储器基元的状态是否对应于想要的状态。如果状态不对应,在步骤S37,控制电路验证施加的Np是否等于Npmax。如果响应为是,循环被终止为“失败”。如果响应为否,Np在步骤S38被增加1,且控制电路返回到步骤S33。如果对于步骤S36的响应为是,Np被加载到寄存器中,作为步骤S39中的脉冲参考值N11i或N12i,且控制电路终止循环为“通过”。
第二分支:在步骤S40,控制电路验证Np是否等于N21(如果是虚拟擦除循环)或N22(如果是虚拟编程循环)。如果响应为是,控制电路终止循环为“通过”。如果响应为否,Np在步骤41被增加1,且控制电路返回到步骤S33。
在第二分支的替代实施例中,验证步骤在步骤S40之前进行,这样第一和第二分支与彼此更类似,这是从电流消耗、生成的电压、进行的步骤数量等来说的。但是在这种情况下,不考虑验证步骤的结果。
图5是示出根据本发明的擦除循环EC13或编程循环PC13的另一个实施例的流程图。循环EC13、PC13与循环EC12、PC12的不同之处在于验证步骤,在这里用步骤S34′表示,其被放置在步骤S34之后、步骤S35之前。验证的结果随后被存储为例如“通过标记”。在第一分支中,之前的验证步骤S36被“验证通过?”步骤S36′取代,其中控制电流仅验证步骤S34′的验证是否通过,诸如通过检查“通过标记”。以这种方式,虚拟操作或数据操作情况中的擦除和编程循环EC13、PC13彼此更类似,这是从电流消耗、生成的电压、进行的步骤数量来说的。
可提供不同的算法用于确定虚拟擦除参数N21作为常规擦除循环返回的不同参考值N11i的函数,并用于确定虚拟编程参考值N22作为常规编程循环返回的不同参考值N12i的函数。这些算法被优选地考虑,这样虚拟擦除或编程循环与常规擦除或编程循环类似,只要涉及到施加到存储器基元的脉冲数量以及确定并验证存储器基元的状态。根据其中实施了本发明的应用、存储器阵列的不同页或扇区如何被使用、以及虚拟存储器基元如何且何时被使用,这些算法可能大不相同。
一些非限制性例子在以下给出:
1)N21等于在上一个常规擦除循环期间记录的最后一个参考值N11i或者是其的函数,且N22等于在上一个常规编程循环期间记录的最后一个参考值N12i或者是其的函数,或
2)N21是在“I”上一个常规擦除循环期间记录的“I”上一个参考值N11i的平均值或其函数,且N22是在“I”上一个常规编程循环期间记录的“I”上一个参考值N12i的平均值或其函数,或
3)N21是在“I”上一个常规擦除循环期间记录的“I”上一个参考值N11i的最大值或其函数,且N22是“I”上一个常规编程循环期间记录的“I”上一个参考值N12i的最大值或其函数。
这些算法可通过将由随机数发生器提供的随机值或特定的偏差值,添加到上述值或从上述值移除,而变得不同。在其他实施例中,存储器基元的老化也被考虑进来,例如通过仅考虑在特定老化范围内存储器基元上的常规擦除或编程循环而返回的参考值N11i、N12i。存储器阵列内的存储器基元的关于虚拟存储器基元的位置也被考虑进来。例如,算法可仅考虑特定区域内存储器基元上进行的常规擦除或编程循环而返回的参考值N11i、N12i,例如在加密计算期间写入敏感数据的区域。
在一些实施例中,存储器也可包括具有不同耐久性的数据扇区。下表示出了示例性方法,用于当存储器包括具有第一耐久性寿命(例如10000个循环)的第一数据扇区“A”时,确定N21作为N11(A)和N11(B)的函数,以及具有第二耐久性寿命(例如1000000个循环)的第二数据扇区“B”。参考“bv”指示偏差值,例如-1、0或1。根据上述方法,N11(A)和N11(B)其本身是为用于考虑的扇区A和B而记录的擦除参考值N11i的函数,且可例如是上一个参考值N11i、“I”上一个参考值N11i的平均值或“I”上一个参考值N11i最大值。最后,这样的例子确实适于确定N22作为N12的函数。
初始(新基元) 半衰期(老化基元)
N11(A)=1 N11(A)=2
N11(B)=1 N11(B)=6
1)N21=N11(A) N21=1 N21=2
2)N21=max(N11(A),N11(B)) N21=1 N21=6
3)N21=average(N11(A),N11(B)) N21=1 N2=4
4)N21=N11(B)+bv N21=1+bv N2=6+bv
尽管开始是出于安全原因提供本发明以进行与常规擦除或编程循环类似的虚拟擦除或编程循环,在一些实施例中,根据本发明的擦除和编程循环EC2、PC2可被用来用于除了进行虚拟操作外的其他目的。例如,当大数量的擦除或编程循环必须在包括相同老化度的存储器基元的存储器阵列的更大扇区上进行时,常规擦除/验证或编程/验证循环EC1、PC1可在考虑的范围的第一存储器基元上进行,且随后,如果参考参数N11、N12是稳定的,擦除或编程循环EC2、PC2在进一步的存储器基元上进行,而不验证存储器基元的状态,以减少用于擦除或编程大扇区的全局时间。在这种情况下,不进行循环EC2、PC2的确定步骤S25以节约时间。
而且,本领域技术人员将理解本发明适用于各种其他实施和应用。特别地,本发明可被施加到具有NOR或NAND类型架构的闪存存储器、EEPROM存储器,以及使用擦除/验证和编程/验证处理的任何其他类型的可擦除可编程存储器。因此,本发明不限于包括浮动栅极晶体管的存储器基元,也包括可向其施加多个脉冲以保证擦除和/或编程的任何其他类型的存储器基元。
还将理解,不是由地址指定的所有存储器基元必须被正确擦除和/或编程,以便方法将被考虑为通过的,而是可设置特定的阈值,在该阈值之上或者之下,操作被认为是已通过的或已失败的。
图6示出了包括其中嵌入了根据本发明的非易失性存储器MEM的集成电路IC的电子装置ED。电子装置ED可以是非接触式芯片卡、标签、移动电话、个人数字助理等。

Claims (15)

1.一种编程或擦除非易失性存储器的存储器基元的方法,包括:
第一存储器基元(T1)的第一擦除或编程循环,包括以下步骤:
i)施加(S11,S33)至少一个擦除或编程脉冲(Np)到所述存储器基元,
ii)确定(S14,S34)所述存储器基元的状态:擦除的或者编程的,以及
iii)如果所述存储器基元不在想要的状态,重复步骤i)和ii),
其特征在于,其还包括第二存储器基元(T2)的第二擦除或编程循环,包括施加(S24,S33)预定数量(N21,N22)的擦除或编程脉冲到所述第二存储器基元。
2.根据权利要求1所述的方法,其中,所述预定数量(N21,N22)的擦除或编程脉冲是在第一存储器基元的至少一个第一擦除或编程循环期间,被施加到第一存储器基元(T1)的脉冲的第一数量(N11i,N12i)的函数。
3.根据权利要求1或2所述的方法,其中所述第二循环包括:
iv)施加(S24,S33)至少一个擦除或编程脉冲(Np)到所述存储器基元,
v)确定(S25,S34)所述存储器基元的所述状态:擦除的或编程的,以及
vi)重复步骤iv)和v),直到所述预定数量(N21,N22)的擦除或编程脉冲被施加到所述第二存储器基元。
4.根据权利要求1到3中的一个所述的方法,包括验证(S35)所述擦除或编程循环是在所述第一(T1)还是在所述第二(T2)存储器基元上进行的步骤。
5.根据权利要求1到4中的一个所述的方法,其中所述第一擦除或编程循环包括存储施加到所述第一存储器基元的以将所述第一存储器基元设为想要的状态的脉冲的所述数量(N11,N12)的步骤(S18,S39)。
6.根据权利要求1到5中的一个所述的方法,其中擦除或编程脉冲的所述预定数量(N21,N22)是根据以下方法的至少一种来确定的:
擦除或编程脉冲的所述预定数量(N21,N22)是在第一存储器基元的一个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的所述数量的(N11i,N12i)的函数;
擦除或编程脉冲的所述预定数量(N21,N22)是在第一存储器基元的多个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的数量(N11i,N12i)的平均值的函数;
擦除或编程脉冲的所述预定数量(N21,N22)是在第一存储器基元的多个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或者编程脉冲的数量(N11i,N12i)的最大值的函数。
7.根据权利要求1到6所述的方法,包括:
通过所述第一擦除或编程循环,将常规数据写入所述第一存储器基元(T1)中,以及
通过所述第二擦除或编程循环,将假数据写入所述第二存储器基元(T2)中。
8.一种非易失性存储器(MEM),包括:
存储器基元(MA)阵列(MA),以及
控制电路(CCT),所述控制电路被配置为进行所述存储器(MA)的第一存储器基元(T1)的第一擦除或编程循环,所述第一擦除或编程循环包括以下步骤:
i)施加(S11,S33)至少一个擦除或编程脉冲(Np)到所述存储器基元,
ii)确定(S14,S34)所述存储器基元的状态:擦除的或编程的,以及
iii)如果所述存储器基元不在想要的状态,重复步骤i)和ii),
其特征在于,所述控制电路还被配置为进行第二存储器基元(T2)的第二擦除或编程循环,包括施加(S24,S33)预定数量的(N21,N22)擦除或编程脉冲到所述第二存储器基元。
9.根据权利要求8所述的非易失性存储器,其中所述控制电路被配置为作为在第一存储器基元的至少一个第一擦除或编程循环期间施加到第一存储器基元(T1)的脉冲的第一数量(N11i,N12i)的函数来确定擦除或编程脉冲的所述预定数量(N21,N22)。
10.根据权利要求8或9中的一个所述的非易失性存储器,其中当进行所述第二擦除或编程循环时,所述控制电路被配置为:
iv)施加(S24,S33)至少一个擦除或编程脉冲(Np)到所述存储器基元,
v)确定(S25,S34)所述存储器基元的状态:擦除的或编程的,以及
vi)重复步骤iv)和v),直到所述预定数量(N21,N22)的擦除或编程脉冲被施加到所述第二存储器基元。
11.根据权利要求8到10中的一个所述的非易失性存储器,其中所述控制电路被配置为,当所述第一擦除或编程循环被进行时,存储施加到所述第一存储器基元的以将所述第一存储器基元设为想要的状态的脉冲的数量(N11,N12)。
12.根据权利要求8到11中的一个所述的非易失性存储器,其中所述控制电路被配置为根据以下方法中的至少一种,确定擦除或编程脉冲的预定数量(N21,N22):
擦除或编程脉冲的所述预定数量(N21,N22)是在第一存储器基元的一个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的所述数量(N11i,N12i)的函数;
擦除或编程脉冲的所述预定数量(N21,N22)是在第一存储器基元的多个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的数量(N11i,N12i)的平均值的函数;
擦除或编程脉冲的所述预定数量(N21,N22)是在第一存储器基元的多个第一擦除或编程循环期间,施加到所述第一存储器基元的擦除或编程脉冲的数量(N11i,N12i)的最大值的函数。
13.根据权利要求8到12中的一个所述的非易失性存储器,其中所述控制电路被配置为:
通过所述第一擦除或编程循环的方式,将常规数据写入所述第一存储器基元(T1)中,以及
通过所述第二擦除或编程循环的方式,将假数据写入所述第二存储器基元(T2)中。
14.根据权利要求8到13中的一个所述的非易失性存储器,其中所述控制电路被配置为:
记忆第二存储器基元(T2)的地址,以及
仅将所述第二擦除或编程循环施加到第二存储器基元。
15.一种包括根据权利要求8到14中的一个所述的非易失性存储器(MEM)的电子装置(ED)。
CN201380036297.0A 2012-07-09 2013-06-28 针对检测保护的虚拟存储器擦除或编程方法 Pending CN104428838A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1201940 2012-07-09
FR1201940A FR2993089B1 (fr) 2012-07-09 2012-07-09 Procede d'effacement ou de programmation d'une memoire factice protege contre la detection
PCT/FR2013/051519 WO2014009627A1 (fr) 2012-07-09 2013-06-28 Procédé d'effacement ou de programmation d'une mémoire factice protégé contre la détection

Publications (1)

Publication Number Publication Date
CN104428838A true CN104428838A (zh) 2015-03-18

Family

ID=48914335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380036297.0A Pending CN104428838A (zh) 2012-07-09 2013-06-28 针对检测保护的虚拟存储器擦除或编程方法

Country Status (8)

Country Link
US (1) US9478294B2 (zh)
EP (1) EP2870605B1 (zh)
JP (1) JP2015525942A (zh)
KR (1) KR20150030257A (zh)
CN (1) CN104428838A (zh)
FR (1) FR2993089B1 (zh)
IN (1) IN2014KN02632A (zh)
WO (1) WO2014009627A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106448731A (zh) * 2015-08-06 2017-02-22 意法半导体(鲁塞)公司 用于管理eeprom存储器单元中的数据的写入周期的方法和系统
CN107068186A (zh) * 2015-12-15 2017-08-18 三星电子株式会社 操作存储装置的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10777271B2 (en) * 2017-09-29 2020-09-15 Intel Corporation Method and apparatus for adjusting demarcation voltages based on cycle count metrics

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101763A1 (en) * 2001-02-01 2002-08-01 Mitsubishi Denki Kabushiki Kaisha Non-volatile semiconductor memory device
US20080117674A1 (en) * 2006-11-21 2008-05-22 Byeong-Hoon Lee Flash Memory Device and Smart Card Including the Same
CN101297372A (zh) * 2005-09-07 2008-10-29 飞思卡尔半导体公司 用于编程/擦除非易失性存储器的方法和设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1186575A (ja) * 1997-09-05 1999-03-30 Oki Electric Ind Co Ltd 不揮発性半導体記憶装置
FR2790347B1 (fr) * 1999-02-25 2001-10-05 St Microelectronics Sa Procede de securisation d'un enchainement d'operations realisees par un circuit electronique dans le cadre de l'execution d'un algorithme
WO2001061503A1 (en) * 2000-02-16 2001-08-23 Fujitsu Limited Nonvolatile memory
US7983078B2 (en) 2008-09-24 2011-07-19 Sandisk Technologies Inc. Data retention of last word line of non-volatile memory arrays
JP5542737B2 (ja) * 2011-05-12 2014-07-09 株式会社東芝 不揮発性半導体記憶装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101763A1 (en) * 2001-02-01 2002-08-01 Mitsubishi Denki Kabushiki Kaisha Non-volatile semiconductor memory device
CN101297372A (zh) * 2005-09-07 2008-10-29 飞思卡尔半导体公司 用于编程/擦除非易失性存储器的方法和设备
US20080117674A1 (en) * 2006-11-21 2008-05-22 Byeong-Hoon Lee Flash Memory Device and Smart Card Including the Same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106448731A (zh) * 2015-08-06 2017-02-22 意法半导体(鲁塞)公司 用于管理eeprom存储器单元中的数据的写入周期的方法和系统
CN106448731B (zh) * 2015-08-06 2019-10-25 意法半导体(鲁塞)公司 用于管理eeprom存储器单元中的数据的写入周期的方法和系统
CN107068186A (zh) * 2015-12-15 2017-08-18 三星电子株式会社 操作存储装置的方法
CN107068186B (zh) * 2015-12-15 2022-03-25 三星电子株式会社 操作存储装置的方法

Also Published As

Publication number Publication date
EP2870605B1 (fr) 2016-07-20
EP2870605A1 (fr) 2015-05-13
FR2993089A1 (fr) 2014-01-10
FR2993089B1 (fr) 2014-07-18
KR20150030257A (ko) 2015-03-19
JP2015525942A (ja) 2015-09-07
WO2014009627A1 (fr) 2014-01-16
US9478294B2 (en) 2016-10-25
US20150124532A1 (en) 2015-05-07
IN2014KN02632A (zh) 2015-05-08

Similar Documents

Publication Publication Date Title
CN101689400B (zh) 基于阈值电压分布的动态检验
CN103489479B (zh) 半导体存储器件及其操作方法
US9466382B2 (en) Compensation for sub-block erase
US8014201B2 (en) Nonvolatile memory device extracting parameters and nonvolatile memory system including the same
CN106158033B (zh) 存储器电路及其操作方法
KR101616097B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
CN101199024B (zh) 利用改变字线条件来补偿较慢擦除的存储器单元以擦除非易失性存储器
CN111916130B (zh) 擦除具有极少编程页面的区块的系统与方法
US9312024B2 (en) Flash memory device having efficient refresh operation
KR20110125029A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US20130159798A1 (en) Non-volatile memory device and operating method thereof
CN103177765A (zh) 半导体存储器件及其操作方法
US20210166771A1 (en) Memory device and method of operating the memory device
CN109726143A (zh) 存储器控制器的操作方法和储存设备的操作方法
CN115798552A (zh) 存储器装置及该存储器装置的操作方法
CN104428838A (zh) 针对检测保护的虚拟存储器擦除或编程方法
CN103632719A (zh) 半导体存储器件及其制造方法
KR20210112190A (ko) 메모리 장치 및 그 동작 방법
CN110473584B (zh) 固态储存装置中已抹除区块的再验证方法
KR20210074028A (ko) 메모리 장치 및 그 동작 방법
CN114078542A (zh) 存储器装置及其操作方法
CN110838318A (zh) 提高存储器数据可靠性的方法和系统
CN117953948A (zh) 存储器装置及其操作方法
CN114078516A (zh) 存储器装置和操作该存储器装置的方法
KR20240079728A (ko) 증가형 스텝 펄스 프로그램 방식에 따른 프로그램 동작을 수행하는 메모리 장치, 이를 포함하는 저장 장치 및 이의 동작 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20180209