CN102027548B - 具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器 - Google Patents

具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器 Download PDF

Info

Publication number
CN102027548B
CN102027548B CN200980115508.3A CN200980115508A CN102027548B CN 102027548 B CN102027548 B CN 102027548B CN 200980115508 A CN200980115508 A CN 200980115508A CN 102027548 B CN102027548 B CN 102027548B
Authority
CN
China
Prior art keywords
voltage
group
memory device
volatile memory
programming
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
Application number
CN200980115508.3A
Other languages
English (en)
Other versions
CN102027548A (zh
Inventor
马克·缪林
梅纳汉·拉瑟
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.)
Western data Israel Limited
Original Assignee
SanDisk IL Ltd
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
Priority claimed from US12/111,729 external-priority patent/US7808819B2/en
Priority claimed from US12/111,748 external-priority patent/US7808836B2/en
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of CN102027548A publication Critical patent/CN102027548A/zh
Application granted granted Critical
Publication of CN102027548B publication Critical patent/CN102027548B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

使用为非易失性存储器器件和/或该器件的部分、诸如各块或各字线的非易失性存储元件定制的电压来存取该器件。该存取可以包括编程、验证或读取。通过定制电压,可以最优化(Vpgtn,Vv)性能,包括克服由编程干扰引起的阈值电压的改变。在一种方法中,用随机测试数据对存储器器件中的不同组的存储元件编程。为不同组的存储元件确定阈值电压分布。基于阈值电压分布来确定一组电压(Vpgtn,Vv),并将其存储在非易失性存储位置中用于随后在存取不同组的存储元件时使用。可以在制造时确定该组电压用于随后在终端用户存取数据时使用。

Description

具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器
技术领域
本发明涉及存储器器件。
背景技术
半导体存储器已经变得日益普遍用于各种电子设备中。例如,非易失性半导体存储器用在蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备和其他设备中。电可擦除可编程只读存储器(EEPROM)和闪存位列最普遍的非易失性半导体存储器之中。与传统的全特征的EEPROM相比,利用也是一种类型的EEPROM的闪存,整个存储器阵列或者存储器的一部分的内容可以在一步(one step)中被擦除。
传统的EEPROM和闪存两者都利用位于半导体衬底中的沟道区上方并与之隔离的浮置栅极。该浮置栅极位于源极区和漏极区之间。在浮置栅极上并与之隔离地提供控制栅极。因此形成的晶体管的阈值电压(VTH)由在浮置栅极上保持的电荷量来控制。就是说,在晶体管导通以允许其源极和漏极之间导电之前必须施加到控制栅极的电压的最小量由浮置栅极上的电荷水平来控制。
一些EEPROM和闪存器件具有用于存储两个范围的电荷的浮置栅极,因此,可以在两个状态、例如擦除状态和编程状态之间编程/擦除存储器元件。这样的闪存器件有时被称为二进制闪存器件,因为每个存储器元件可以存储一位数据。
传统地,每单元存储一位的存储器被称为“单电平单元”(SLC)存储器,并且每单元存储多于一位的存储器被称为“多电平单元”(MLC)存储器。例如,当MLC存储器元件被放置在与四个不同的阈值电压范围对应的四个离散电荷带(charge band)之一中时,每个MLC存储器元件可以存储两位数据。
通常,在编程操作期间施加到控制栅极的编程电压VPGM被施加为幅度随时间增加的一系列脉冲。在一种可能的方法中,脉冲的量值随每个连续的脉冲增加预定步长大小,例如0.2-0.4V。VPGM可以被施加到闪存元件的控制栅极。在编程脉冲之间的时段中,实行验证操作。就是说,在连续的编程脉冲之间读取正被并行编程的一组元件的每个元件的编程电平以确定其是否等于或大于该元件正被编程到的验证电平。对于多状态闪存元件的阵列,可以对元件的每个状态进行验证步骤以确定该元件是否已经达到其数据相关的验证电平。例如,能够以四个状态存储数据的多状态存储器元件可能需要对于三个比较点进行验证操作。
此外,当对EEPROM或诸如NAND串中的NAND闪存器件的闪存器件编程时,通常VPGM被施加到控制栅极,并且位线接地,致使来自单元或者存储器元件、例如存储元件的沟道的电子被注入到浮置栅极中。当电子在浮置栅极中累积时,浮置栅极变为负充电,并且存储器元件的阈值电压升高,使得存储器元件被认为处于已编程状态。可以在题为“Source Side SelfBoostingTechnique For Non-Volatile Memory(非易失性存储器的源极侧自升压技术)”的美国专利6859397以及在2005年2月3日公开的题为“Detecting OverProgrammed Memory(对被编程的存储器的检测)”的美国专利申请公开2005/0024939中可以找到关于这样的编程的更多信息,两者整体通过引用被并于此。
此外,在读取操作期间,读取参考电压被施加到要被读取的一组存储元件,并且确定哪个读取参考电压致使存储元件变得导电。该读取参考电压被设置为允许区分存储元件的数据状态。
但是,在编程、验证和读取期间使用的电压通常是固定的并且并未考虑阈值电压分布可能变化的事实。例如,阈值电压分布可以由于诸如编程干扰的问题而变化。因此,使用固定的编程、验证和读取电压导致非最优化的性能。
发明内容
本发明提供了设置诸如用于写入、读取和验证操作的电压电平以最优化性能的非易失性存储系统。
在一个实施例中,存储系统包括作为多电平存储元件的各个组的非易失性存储元件、非易失性存储位置以及至少一个控制电路。所述至少一个控制电路:a)测量对于各个组的非易失性存储元件的各个阈值电压分布,b)基于相应的阈值电压分布,确定对于每个相应组的非易失性存储元件的相应组的电压,其中该相应组的电压被定制用于相应组的非易失性存储元件,c)将每组电压存储在所述非易失性存储位置中,以及d)在存储之后,从所述非易失性存储位置获取各个组的电压中的至少一组,并使用各个组的电压中的该至少一组来进行涉及各个组的非易失性存储元件中的至少一组的写操作。
在另一实施例中,存储系统包括作为多电平存储元件的各个组的非易失性存储元件、非易失性存储位置以及至少一个控制电路。所述至少一个控制电路:a)测量对于各个组的非易失性存储元件的各个阈值电压分布,其中该测量包括向各个组的非易失性存储元件写入数据,b)基于相应的阈值电压分布,确定对于每个相应组的非易失性存储元件的相应组的电压,其中该相应组的电压被定制用于相应组的非易失性存储元件,c)将每组电压存储在所述非易失性存储位置中,以及d)在存储之后,从所述非易失性存储位置获取各个组的电压中的至少一组,并使用各个组的电压中的该至少一组来存取各个组的非易失性存储元件中的至少一组。
另一实施例包括一组分离的存储器器件。每个相应的存储器器件包括一个或多个相应组的非易失性存储元件、相应的非易失性存储位置和至少一个控制电路,其中非易失性存储元件是多电平存储元件。所述至少一个控制电路:a)测量对于存储器器件中的一个或多个相应组的非易失性存储元件的一个或多个相应阈值电压分布,b)基于相应的阈值电压分布,确定对于每个相应组的非易失性存储元件的相应组的电压,c)将对于每个相应组的非易失性存储元件的相应组的电压存储在所述相应的非易失性存储位置中,以及d)在存储之后,从相应的非易失性存储位置获取各个组的电压中的至少一组,并使用各个组的电压中的该至少一组来进行涉及一个或多个相应组的非易失性存储元件的写操作。此外,各个组的电压被定制用于每个相应组的非易失性存储元件,并且在分离的存储器器件之间变化。
另一实施例包括一组分离的存储器器件。每个相应的存储器器件包括一个或多个相应组的非易失性存储元件、相应的非易失性存储位置和至少一个控制电路,其中非易失性存储元件是多电平存储元件。所述至少一个控制电路:a)测量对于存储器器件中的一个或多个相应组的非易失性存储元件的一个或多个相应阈值电压分布,该测量包括向一个或多个相应组的非易失性存储元件写入数据,b)基于相应的阈值电压分布,确定对于每个相应组的非易失性存储元件的相应组的电压,c)将对于每个相应组的非易失性存储元件的相应组的电压存储在所述相应的非易失性存储位置中,以及d)在存储之后,从相应的非易失性存储位置获取各个组的电压中的至少一组,并使用各个组的电压中的该至少一组来存取一个或多个相应组的非易失性存储元件。此外,各个组的电压被定制用于每个相应组的非易失性存储元件,并且在分离的存储器器件之间变化。
提供了对应的方法、系统和用于进行在此提供的方法的计算机或处理器可读的存储器件。
附图说明
图1是NAND串的顶视图。
图2是图1的NAND串的等效电路图。
图3是NAND闪存元件的阵列的方框图。
图4绘出了在衬底上形成的NAND串的截面图。
图5绘出了存储元件的块。
图6a绘出了具有对应的验证和读取电压的一组非易失性存储元件的初始阈值电压分布。
图6b绘出了经历编程干扰的一组非易失性存储元件的阈值电压分布。
图6c绘出了图6b的阈值电压分布的测量以及对应的读取电压的设置。
图7绘出了编程电压和验证电压的脉冲串。
图8a绘出了可以在编程期间使用的一系列写或编程电压。
图8b绘出了包括对于不同组的非易失性存储元件定制的写、验证和读取电压的数据。
图9a绘出了用于确定一组非易失性存储元件的电压的处理。
图9b绘出了使用由图9a的处理确定的预定电压来存取一组非易失性存储元件的用户数据的处理。
图9c绘出了用于确定多组非易失性存储元件的电压的处理。
图10绘出了使用由图9c的处理确定的预定电压来存取多组非易失性存储元件的用户数据的处理。
图11是NAND闪存元件的阵列的方框图。
图12绘出了主机控制器和存储器器件的概况。
图13是使用单个行/列解码器和读/写电路的非易失性存储器系统的方框图。
具体实施方式
本发明提供了设置诸如用于写、读取和验证操作的电压电平以最优化性能的非易失性存储系统。
适合于实现本发明的存储器系统的一个例子使用NAND闪存结构,其包括在两个选择栅极之间串联排列多个晶体管。串联的晶体管和选择栅极被称为NAND串。图1是示出一个NAND串的顶视图。图2是其等效电路。图1和图2中所示的NAND串包括串联并夹在第一选择栅极120和第二选择栅极122之间的四个晶体管100、102、104和106。选择栅极120选通NAND串与位线126的连接。选择栅极122选通NAND串与源极线128的连接。通过向控制栅极120CG施加适当的电压来控制选择栅极120。通过向控制栅极122CG施加适当的电压来控制选择栅极122。晶体管100、102、104和106中的每个具有控制栅极和浮置栅极。晶体管100具有控制栅极100CG和浮置栅极100FG。晶体管102包括控制栅极102CG和浮置栅极102FG。晶体管104包括控制栅极104CG和浮置栅极104FG。晶体管106包括控制栅极106CG和浮置栅极106FG。控制栅极100CG连接到字线WL3,控制栅极102CG连接到字线WL2,控制栅极104CG连接到字线WL1,并且控制栅极106CG连接到字线WL0。控制栅极还可以被提供为这些字线的部分。在一个实施例中,晶体管100、102、104和106每个是存储元件,并被称为存储器单元。在其他实施例中,存储元件可以包括多个晶体管或者可以不同于图1和图2所示。选择栅极120连接到选择线SGD(漏极选择栅极)。选择栅极122连接到选择线SGS(源极选择栅极)。
图3是绘出三个NAND串的电路图。使用NAND结构的闪存系统的典型构造将包括几个NAND串。例如,在具有多得多的NAND串的存储器阵列中示出三个NAND串320、340和360。每个NAND串包括两个选择栅极和四个存储元件。尽管为了简化示出了四个存储元件,但是,例如,现在的NAND串可以具有高达三十二或六十四个存储元件。
例如,NAND串320包括选择栅极322和327以及存储元件323-326,NAND串340包括选择栅极342和347以及存储元件343-346,NAND串360包括选择栅极362和367以及存储元件363-366。每个NAND串通过其选择栅极(例如选择栅极327、347或367)连接到源极线。选择线SGS用于控制源极侧选择栅极。各个NAND串320、340和360通过选择栅极322、342、362等中的选择晶体管连接到各个位线321、341和361。这些选择晶体管由漏极选择线SGD控制。在其他实施例中,选择线不一定需要是NAND串中共用的;就是说,可以为不同的NAND串提供不同的选择线。字线WL3连接到存储元件323、343和363的控制栅极。字线WL2连接到存储元件324、344和364的控制栅极。字线WL1连接到存储元件325、345和365的控制栅极。字线WL0连接到存储元件326、346和366的控制栅极。如可见,每个位线和各自的NAND串包括存储元件阵列或组的列。字线(WL3、WL2、WL1和WL0)包括阵列或者组的行。每个字线连接在行中的每个存储元件的控制栅极。或者,可以通过字线本身提供控制栅极。例如,字线WL2提供对于存储元件324、344和364的控制栅极。实际上,字线上可以有数以千计的存储元件。
每个存储元件可以存储数据。例如,当存储一位数字数据时,存储元件的可能阈值电压(VTH)的范围被划分成两个范围,它们被分配了逻辑数据“1”和“0”。在NAND型闪存的一个例子中,在存储元件被擦除后VTH是负的,并被定义为逻辑“1”。在编程操作后VTH是正的并被定义为逻辑“0”。当VTH是负的,并试图读取时,存储元件将导通以指示逻辑“1”正被存储。当VTH是正的并且试图读取操作时,存储元件将不导通,这指示逻辑“0”被存储。存储元件还可以存储多电平的信息,例如多位数字数据。在此情况下,VTH值的范围被划分为多个电平的数据。例如,如果存储了四个电平的信息,则将存在被分配给数据值“11”、“10”、“01”和“00”的四个VTH范围。在NAND型存储器的一个例子中,在擦除操作后的VTH是负的并被定义为“11”。正VTH值用于状态“10”、“01”和“00”。被编程到存储元件中的数据和元件的阈值电压范围之间的具体关系取决于对存储元件采用的数据编码方案。例如,例如两者通过引用被并于此的美国专利No.6222762和美国专利7237074描述了用于多状态闪存元件的各种数据编码方案。
在美国专利No.5386422、5570315、5774397、6046935、6456528和6522580中提供了NAND型闪存及其操作的相关例子,其每个通过参考被并于此。
当编程闪存元件时,编程电压被施加到存储元件的控制栅极,并且与存储元件相关的位线接地。来自沟道的电子被注入浮置栅极中。当电子在浮置栅极中累积时,浮置栅极变为负充电,并且存储元件的VTH升高。为了向正被编程的存储元件的控制栅极施加编程电压,将编程电压施加在适当的字线上。如上所述,每个NAND串中的一个存储元件共享同一字线。例如,当编程图3的存储元件324时,编程电压还将被施加到存储元件344和364的控制栅极。未选择的存储元件344和364遭受编程干扰。当由于在所选字线上施加相对高的编程电压而导致在与所选存储元件相同的字线上的未选择的存储元件不经意被编程时,发生编程干扰。
图4绘出了在衬底上形成的NAND串的截面图。该图被简化并未按比例。NAND串400包括在衬底490上形成的源极侧选择栅极406、漏极侧选择栅极424和八个存储元件408、410、412、414、416、418、420和422。在每个存储元件以及选择栅极406和424的每侧提供大量源极区/漏极区,其一个例子是源极/漏极区430。在一种方法中,衬底490采用三阱技术,这包括在n阱区494内的p阱区492,该n阱区494又在p型衬底区496内。NAND串及其非易失性存储元件可以至少部分地形成在p阱区上。除了具有电势VBL的位线426之外,提供具有电势VSOURCE的源极供应线404。电压还可以经由端子402施加到p阱区492以及经由端子403施加到n阱区494。
在读取操作期间,在选择的字线上提供控制栅极电压VCG,该选择的字线在此例子中是WL3,其与存储元件414以及其他未示出的存储元件相关。此外,回想起存储元件的控制栅极可以被提供为字线的一部分。例如,WL0、WL1、WL2、WL3、WL4、WL5、WL6和WL7可以分别经由存储元件408、410、412、414、416、418、420和422的控制栅极延伸。在一个可能的方案中,读取通过(pass)电压VREAD被施加到与NAND串400相关的剩余字线。VSGS和VSGD分别被施加到选择栅极406和424。
图5绘出了存储元件的块。在一个示例实施方式中,NAND快闪EEPROM可以被分区为1024个块。可以同时擦除在每个块中存储的数据。在一个实施例中,块是同时被擦出的存储元件的最小单位。在此例子中,在每个块中,存在与位线BL0、BL1、......、BL4255对应的4256个列。在称为全位线(ABL)构造的一个实施例中,在读取和编程操作期间可以同时选择一个块的所有位线,并可以同时编程沿着公共字线并连接到任意位线的存储元件。
在所提供的例子中,八个存储元件串联连接以形成NAND串,并且存在八个数据字线WL0到WL7。NAND串还可以包括哑(dummy)存储元件和相关字线。在其他实施例中,NAND串可以具有比八个更多或更少的数据存储元件。数据存储器单元可以存储用户或系统数据。哑存储器单元通常不用于存储用户或系统数据。
每个NAND串的一端经由(连接到选择栅极漏极线SGD的)漏极选择栅极连接到对应位线,并且另一端经由(连接到选择栅极源极线SGS的)源极选择栅极连接到公共源505。因此,公共源505耦接到每个NAND串。
在称为奇偶构造的一个实施例中,位线被划分成偶数位线(BLe)和奇数位线(BLo)。在此情况下,沿着公共字线并连接到奇数位线的存储元件在一个时间被编程,而沿着公共字线并连接到偶数位线的存储元件在另一时间被编程。在每个块中,列被划分成偶数列和奇数列。
在读取和编程操作的一个配置期间,同时选择4256个存储元件。所选的存储元件具有相同的字线,因此是公共物理页的部分。因此,可以同时读取或编程532字节的数据,其也可以形成逻辑页,并且存储器的一个块至少可以存储八个逻辑页。在此例子中,物理页和逻辑页相同,但是通常这不是必须的。例如,物理页可以包括多个逻辑页。逻辑页通常是同时被写入(编程)的最小组的存储元件。对于多状态存储元件,当每个存储元件存储两位数据时,则在这两位的每位被存储在不同页中的情况下,一个块存储十六个逻辑页。也可以使用其他大小的块和页。
对于ABL或者奇偶构造,可以通过将p阱升高到擦除电压(例如20V)并将所选块的字线接地来擦除存储元件。源极和位线浮置。可以一次对一个块进行擦除,或者在某些闪存器件中一次几个块。电子从存储元件的浮置栅极被转移到p阱区,使得存储元件的VTH变为负。
在读取和验证操作中,选择栅极(SGD和SGS)连接到2.5到4.5V范围的电压,并且未选择的字线升高到读取通过电压VREAD(通常是在4.5到6V的范围内的电压)以使晶体管工作为通过栅极(pass gate)。所选子线连接到其电平被规定用于每个读取和验证操作的电压,以确定所关注的存储元件的VTH是在该电平以上还是以下。例如,在对于两电平存储元件的读取操作中,所选字线可以接地,使得检测VTH是否高于0V。在对于两电平存储元件的验证操作中,例如,所选字线连接到0.8V,使得验证VTH是否已达到至少0.8V。源极和p阱处于0V。所选位线被预充电到例如0.7V的电平。如果VTH高于字线上的读取或验证电平,则与感兴趣的存储元件相关的位线的电势由于该不导电的存储元件而维持高电平。另一方面,如果VTH低于读取或验证电平,则所关注的位线的电势电平降低到例如小于0.5V的低电平,因为导电的存储元件对该位线放电。由此在一种可能的实施方式中,可以通过连接到该位线的电压比较器感测放大器来检测存储元件的状态。随着编程,可以以每页为基础进行读取操作。
根据本领域中已知的技术执行上述擦除、读取和验证操作的许多细节。因此,本领域技术人员可以改变以上说明的许多细节中的一些。也可以使用本领域中已知的其他擦除、读取和验证技术。
图6a-c涉及编程干扰可以如何改变一组非易失性存储元件的阈值电压分布以及用于应对此问题的处理。图6a绘出了具有对应的验证和读取电压的一组非易失性存储元件的初始阈值电压分布。存储元件的阈值电压是最低的当被施加到存储元件的控制栅极时将沟道状态从不导电状态改变为导电状态的电压。该电压受束缚于(trapped)浮置栅极中的负电荷的量的影响:电荷越多,单元的阈值电压越高。
最常用种类的多电平单元(MLC)型器件使用浮置栅极中的四个电荷量,包括零电荷,因此可以由四个电压电平来表示状态,因此MLC存储元件存储两位数据。通常,可以使用2N个电压电平来表示每存储元件N位。更新的设备可望使用八个或更多的电压电平。使用每存储元件高数量的位允许生产具有高数据密度的快闪器件,并因此降低每个快闪器件的总体成本。注意,多电平数据存储与诸如在某些NROM器件中使用的多位数据存储不同。这种多位数据存储涉及每个对应于0或1的电荷水平。多电平数据存储涉及例如当MLC存储元件存储两位数据时对应于00、01、10和11的电荷水平的范围。
具有四个状态的MLC器件中的读取操作使用三个参考电压电平,具有八个状态的MLC器件使用七个参考电压电平,并且通常,由2N个状态表示的每单元存储N位的器件使用2N-1个参考电压电平用于读取操作。
在图6a中,该图包括表示阈值电压的x轴和表示存储元件的数量的y轴。示例MLC器件包括八个状态,状态0到状态7、相关的验证电压VV1到VV7以及相关的读取电压VR1到VR7。由于每个存储元件被编程到期望的一个分组电压,因此,每个状态的分布相对窄。此外,用于读取存储元件的对应参考电压、例如VR1到VR7、在电压分组之间,通常就在先前的分布之上,例如,VR1在状态0和状态1之间,就在状态0的分布之上,VR2在状态1和状态2之间,就在状态1的分布之上,等等。
如上所述,编程干扰可能导致阈值电压分布中的显著改变。当在与所选存储元件相同的字线上的未选择的存储元件由于在所选字线上的相对高的编程电压的施加而不经意被编程时,发生编程干扰。因此编程干扰趋向于升高存储元件的阈值电压。此外,最低状态、例如擦除状态趋向于升高最多并因此可以用作在一组存储元件中已经经历的编程干扰的量的最坏情况指标。对闪存器件进行的测量示出在不同存储器器件之间、同一器件内的不同块之间甚至同一块内的不同字线之间,编程干扰的量显著变化。为了确保所有存储器器件在可靠性方面的最佳性能(例如最小数量的错误),期望对所有器件将编程干扰保持在类似的水平上或者使电压电平(例如验证和/或读取)适应于具体器件、块和/或字线中的编程干扰的实际值。在此提供了用于控制编程干扰并将编程干扰与验证和/或读取电压电平相匹配的技术。更一般地,该技术定制用于存取一组存储元件的验证和/或读取电压电平。
图6b绘出经历了编程干扰的一组非易失性存储元件的阈值电压分布。绘出的读取参考电压VR1到VR7与图6a中的相同。在此,由于编程干扰,与图6a中所示的分布相比,对于较低状态的阈值电压分布较宽,并且向上偏移。主要对于低电压状态,编程干扰明显,而较高状态通常不遭受编程干扰。注意,相邻数据状态的分布在某些情况下还可能重叠。在此,可以看出,如果如图6a的相同参考电压被用于读取在图6b中表示的数据状态,则可能导致读取错误,在此例子中至少对于读取电压VR1-VR5是这样。每个读取电压VR1-VR5重叠于较低阈值电压分布。相反,在此例子中,读取电压VR6和VR7不重叠于较低阈值电压分布。
此外,编程干扰的影响对于不同组的存储元件可能不同。例如,不同组的存储元件的阈值电压分布可以诸如在器件、块和/或字线电平上变化。从而,如果使用相同的固定组的读取电压,则这可能导致非最优的结果,诸如引起读取操作期间的错误。此外,诸如温度改变和编程/擦除周期的数量以及块中的存储元件的相对位置、诸如基于存储元件与NAND串的源极或漏极的接近性的其他因素可能影响编程干扰。
图6c绘出了图6b的阈值电压分布的测量以及对应读取电压的设置。
测量实际阈值分布的处理涉及在分离的读取操作中读取存储器器件,其中读取操作的数量基于分布测量的期望分辨率。例如,如果存储器器件使用八个状态,表示每个存储元件三位,并且期望每个状态十个点(point)的分辨率,则对七十九个电压阈值电平的每个进行读取操作。在图6c中,每个点(dot)表示读取点,并且实线与图6b中的相同。可以提供直方图,其中每个柱(bin)的高度指示其阈值电压在该柱所规定的范围内的存储元件的数量。可以确定对于给定组的存储元件的最合适的读取电平例如为相邻状态之间的最小值。当存在最小值的范围时,两个数据状态之间的最合适的读取电平可以就在两个状态的较低者的分布之上。在此,读取电平V’R1到V’R5已经被偏移到相对于图6b的电平的最佳电平,而VR6和VR7未改变。如果使用了图6b的读取电平,则将导致重大读取错误。通常,期望使得读取电平尽可能接近先前电平以还允许最大数据保持偏移(data retention shift)。
通常,获取一组存储元件的“阈值电压分布”涉及将存储元件的阈值电压的范围划分为多个子范围,然后对每个子范围中的存储元件的出现的各个次数计数。能够对该组存储元件中的存储元件的所有或者仅一部分的出现计数。还能够仅对于子范围的出现计数、例如一个或多个子范围的一部分的出现计数,并将结果外推到其他子范围。
在一种方法中,提供了对当前器件、块和/或字线的编程干扰的在线(on-line)评估以及对所评估的编程干扰的电压电平设置的调整。例如,可以基于逐块来测量每个制造的存储器器件的实际编程干扰,并且可以在电压电平设置(对于不同数据状态的读取和验证电压)以及对该块测量的编程干扰之间进行匹配。然后这些“每块匹配的”电压电平设置可以用于随后的编程和读取操作。为了应对编程干扰,人们必须修改验证电压或者读取电压,或者这两者。
可以将编程干扰的值定义为存在所有数据状态的页中的擦除状态的阈值电压分布的宽度。即,被编程到该页的数据包括所有可能的数据状态的表示。根据ECC校正能力,可以考虑高达某个百分比的单元的阈值电压分布。可以通过编程例如随机数据到存储器器件、然后读取所有数据状态的阈值电压分布并考虑擦除状态的宽度来获得编程干扰值。默认的电压电平设置可以用于此编程。
一旦获得了擦除电平阈值电压分布的宽度,就可以确定对于剩余的数据状态的电压电平设置。可能存在两种计算电压电平的方法,即“固定编程干扰”和“固定电压窗”方法。两种方法具有相同的原理。
首先,我们识别可用于除了擦除状态之外的所有数据状态的电压窗。可以将可用的电压窗定义为在擦除状态的“结束”(最右)电压(例如编程干扰值)和最高可能的数据状态的验证电压之间的距离,当存在八个数据状态时该最高可能的数据状态的验证电压是VV7。还可以将电压窗定义为开始于擦除状态的最低(最左)电压处。
第二,我们将在数据状态间的该窗成比例地划分为这些状态的相对数据保持偏移。对于块和给定的保持时间的某些条件(例如写/擦除周期)的存储元件的数据保持偏移取决于存储元件阈值电压-阈值电压越高,偏移越大。该依赖性的定量特性是技术特定的,并且例如可以通过测试和/或理论计算来获得。在数据状态之间的可用电压窗的划分可以根据这些特性。
第三,我们基于以上确定每个状态的读取电平和验证电平。两种上述方法之间的差别如下。在固定编程干扰方法中,通过修改电压窗、例如通过修改最高数据状态的验证电压电平将编程干扰值调谐到预定的固定值。编程干扰现象由在编程期间施加到字线的高编程电压在擦除状态中的存储元件上引起的压力(stress)引起。此外,当施加到字线的编程电压越高时,诸如当所选存储元件正被编程到最高数据状态时,编程干扰越高。这意味着可以通过改变最高数据状态的验证电平来控制编程干扰。可以实施迭代过程以获得期望的编程干扰值。例如,如果编程干扰太高,则我们可以降低最高数据状态的验证电平。然后,例如通过确定阈值电压分布来再次确定编程干扰,以确定其是否接近于期望的电平。如果编程干扰仍然太高,我们可以再次降低最高数据状态的验证电平。
注意,所有状态的验证电平可以通过线性或非线性的已知函数以及可用的电压窗而彼此相关。例如,由于较高状态的较高数据保持损失,验证电平通常被设置为向较高状态比较低状态提供相对更多的间隔。因此,一旦整个电压窗已知,我们就可以计算读取或验证电压。
在固定电压窗方法中,最高数据状态的验证电平保持固定在默认值,导致测量的编程干扰,其可以在字线与字线、块与块和/或器件与器件之间不同。可变的编程干扰值可以导致对于其余的数据状态的可变状态宽度。
在示例方法中,可以在存储器器件的制造阶段时或者在存储器器件已经出厂(shipped)到终端用户后进行调整电压电平设置的过程。此外,如期望的,可以在不同时间重复调整。或者,可以对于存储器器件的寿命仅进行一次调整。事实上,由于存储器器件经历另外的编程-擦除周期,编程干扰减轻,因此可以不需要随后的调整。
例如,一旦器件被出厂到终端用户,就可以通过诸如温度改变、经过大量编程周期、自从上次写入数据经过一定量的时间等等的不同事件来触发调整。为此目的提供了适当的追踪组件和/或处理。在一种方法中,可以使用类似于将快闪内部参数存储在ROM熔丝(fuse)处的可靠编程方法在每个器件块的存储器器件中存储调整的电压值。当块正被寻址用于编程或读取时,这些块-特定的值可以进一步被检索并用在存储器器件的正常操作中。
因此,在一种方法中,对存储器器件中的一组存储元件可以确定定制的读取和/或阈值电压的组一次,诸如在制造时。该组电压可以被存储在存储器器件中的非易失性存储位置中,并且随后每次进行读取或编程操作时被存取。进一步细节见图9a-9c以及图10。
图7绘出了编程电压和验证电压的脉冲串700。编程电压在幅值方面按阶梯步长(step wise)方式增加,例如开始于具有VPGM1的幅值的编程脉冲705,随后是具有VPGM2的幅值的编程脉冲710、具有VPGM3的幅值的编程脉冲715、等等。在每个编程脉冲后,施加一系列验证电压VV1到VV7,如波形720、725和730所绘。如关于图6a-6c所述,这些验证电压可以被定制用于给定组的存储元件。
还可以为不同组的非易失性存储元件定制写入电压。图8a绘出了可以在编程期间使用的一系列写入或者编程电压。为了清楚省略了中间验证电压。如所述,写入电压通常开始于初始电平VPGM-INITIAL,并且其幅值根据步长大小增加,直到所有的存储元件都被编程到其对应的状态或达到最终电压VPGM-FINAL,以两者中最早的为准。在一种方法中,可以为特定组的存储元件定制一个或多个写入电压参数。例如,如果具有较低状态的一组存储元件的阈值电压分布指示对于这些状态的阈值电压大部分高于期望值,或者阈值分布的宽度比期望的更高,我们可以得出结论:编程影响比平均更强。在这些情况下,我们可以通过降低VPGM-INITIAL和/或步长大小来降低写入电压。在某些情况下,可以重复在最大可允许VPGM-FINAL或较低水平处的脉冲。如果例如在所有存储元件被编程到其对应状态之前达到VPGM-FINAL的情况下,对于一组存储元件编程影响比平均弱,可以进行类似的调整。这样的调整可以包括增加VPGM-INITIAL、步长大小、和/或最大可允许VPGM-FINAL。应该注意,步长大小直接影响分布状态的宽度,因此如果每个分布的宽度比平均宽,则可以降低步长大小,并且如果每个分布的宽度比平均窄,则可以增加步长大小,例如以实现更快的编程。
图8b绘出了包括为不同组的非易失性存储元件定制的写入、验证和读取电压的数据。如所述,可以为不同组的存储元件定制写入、验证和/或读取电压。可以确定对于每组存储元件的最佳电压并将其存储用于随后使用。例如,对于特定存储器器件、块字线和/或存储器器件中的字线组的电压可以被存储在存储器器件的非易失性存储位置中。在此,对于第一组存储元件、组1的写入电压由VPGM-1表示,验证电压由VV1-1、VV2-1表示、等等,读取电压由VR1-1、VR2-1等等表示。此外,VPGM-1可以表示以下的一个或多个:组1的VPGM-INITIAL、步长大小以及VPGM-FINAL。这三个变量的每个可以被修整(tailored)用于不同组的存储元件。类似地,对于第二组存储元件、组2的写入电压由VPGM-2(例如表示以下的一个或多个:组2的VPGM-INITIAL、步长大小以及VPGM-FINAL)表示、第二组存储元件的验证电压由VV2-1、VV2-2等等表示,并且读取电压由VR1-2、VR2-2等等表示。通常,对于第i组存储元件、组i的编程电压由VPGM-i(例如表示以下的一个或多个:组i的VPGM-INITIAL、步长大小以及VPGM-FINAL)等等表示,第i组存储元件的验证电压由VV1-i、VV2-i等等表示,并且读取电压由VR1-i、VR2-i等等表示。
图9a绘出了用于确定一组非易失性存储元件的电压的处理。步骤900包括开始获得对与一组非易失性存储元件的一组电压(例如读取、验证和/或写入电压)的处理。该组可以表示例如与具有多个字线的块中的一个或多个特定字线相关的存储元件、与具有多个块的存储器器件中的特定块相关的存储元件、或者与整个特定存储器器件相关的存储元件。在一种方法中,步骤902包括利用随机测试数据对该组非易失性存储元件编程。测试数据应该包括所有的数据状态。例如,这样的测试数据当存储器器件在出厂前在制造场所经历测试时可用。在存储器器件出厂后,如果没有测试数据可用,则代替地,可以编程现有用户数据。用户数据也可以被加扰(scramble)使得其相对平均地表示所有的数据状态。例如,出现在诸如给定块的存储器器件的一个位置中的用户数据可以被复制到诸如另一块的另一位置,该另一块包括要对其确定读取/验证电压的特定组的存储元件。
在步骤902后,后随的可以是两个路径之一。在第一路径中,步骤904包括例如通过以不同的递增电压阈值电平进行读取操作来确定该组存储元件的阈值电压分布,如图6c所示。通常,这可以涉及确定所有数据状态的阈值电压分布。步骤906包括基于该阈值电压分布来确定一组电压。例如,可以基于阈值电压分布的最小值来确定一组读取电压,如图6c所示。可以基于电压窗来确定一组验证电压。例如,可以从阈值电压分布来确定电压窗,并从提供了在整个电压窗的限制内的验证电压之间的期望的相对间隔的函数来确定验证电压。步骤912包括将标识该组电压的数据存储在非易失性存储位置中。例如,该组电压的数据可以被存储在存储器器件中的如下存储元件中,其中从这些存储元件获得阈值电压分布。这些可以是例如不存储用户数据的存储元件。在一种方法中,该数据被存储在从其获得了阈值电压分布的块的存储元件中。在另一方法中,该数据被存储在从其获得了阈值电压分布的字线的存储元件中。或者,可以使用由存储器器件的控制器使用的非易失性存储位置。也可以使用其他位置。
在第二路径中,步骤908包括确定对于少于所有数据状态的该组存储元件的阈值电压分布。例如,可以确定擦除状态的阈值电压分布。如所述,擦除状态的阈值电压分布的上沿可以用于测量编程干扰的水平,因为该状态最易受编程干扰影响。可以基于该上沿确定对于状态1的最佳读取电平,并可以基于各状态的读取电平之间的已知关系确定对于剩余状态的最佳读取电平。即,可以使用将对于状态i(i>2)的最佳读取电平与对于状态1的最佳读取电平相联系的公式。还能够确定对于多个状态、诸如对于状态1和状态2的该组存储元件的阈值电压分布,并将这些与其他状态相联系。例如,可以使用将对于状态i(i>3)的最佳读取电平与对于状态1和2的最佳读取电平相联系的公式。这样的公式可以从理论关系和/或实验测试结果获得。步骤910因此包括基于对于少于所有数据状态的阈值电压分布来确定一组电压。
此外,可以以任意方式表示该组电压的数据。先前讨论的图8b提供了一个可能的例子。还可以在某些情况下使用该组存储元件的标识符,如所绘(例如组1、2、......、i)。例如,控制器可以具有存储对应器件中的每个块的、或者该器件中的各个块的分组(group)中的不同组的电压的存储位置。在此情况下,该组存储元件的标识符可以与每组电压相关联。在其他情况下,该组电压的位置用作被施加了电压的存储元件的标识,例如存储在块中的一组电压可以施加到该块,或者存储在字线中的一组电压可以施加到该字线。在另一例子中,不同块的各组电压被存储在一个块中,在该情况下,可能需要标识符来将块与其对应的一组电压相关联。在某些情况下,可以存储该组电压使得其在存储位置中的相对位置标识了这些电压施加到的存储元件。例如,存储位置中的第一位置可以对应于第一块,而存储位置中的第二位置对应于第二块,等等。或者,存储位置可以在块中,其中存储位置中的第一位置可以对应于该块中的第一字线或者字线组,而存储位置中的第二位置对应于该块中的第二字线或者字线组,等等。
而且,可以存储这些电压的绝对值,或者可以存储表示与参考的一组值或者单个参考值的偏移量的偏移值。或者,可以使用用于直接控制电压电路的数据,诸如被输入到数字到模拟转换器的二进制码字。在任一情况下,这样的数据被理解为表示该组电压。
在此提供的技术有利地不需要使用参考存储元件,参考存储元件是为了追踪器件所经历的阈值电压改变的目的而存储非用户数据的附加的存储元件。参考存储元件比存储用户数据的存储元件消耗存储器器件中的额外的空间。通常在“行进中(on the fly)”读取参考存储元件,使得每次读取一页数据时,进行调整。在此情况下,不在非易失性存储位置中存储一组电压用于随后使用。此外,通常参考存储元件不涉及测量阈值电压分布。利用参考存储元件,对一组存储元、例如在确定第二不重叠的一组存储元件的电压时使用的参考存储元件件进行测量。相反,利用在此提供的技术,进行测量,并确定各电压,用于随后使用这些电压被存取的同一组存储元件。
图9b绘出了用于使用由图9a的处理确定的预定电压来存取一组非易失性存储元件的用户数据的处理。在一种方法中,该存取可能发生在存储器器件已经出厂到用户之后、即在器件已经被制造并被安装在由用户使用的主机系统中之后。步骤920包括开始对于一组非易失性存储元件的操作(例如编程、验证或读取)。步骤922包括从非易失性存储位置获得该组电压。步骤924包括使用该组电压来存取对于该组非易失性存储元件的用户数据。这样的存取可以包括编程/验证或读取。
图9c绘出了用于确定多组非易失性存储元件的电压的处理。如所述,可以为不同组的存储元件、包括在单个存储器件内的以及在不同存储器件之间的不同组的存储元件定制电压。许多步骤与图9a中的类似。步骤930包括存储器器件中的一组或多组非易失性存储元件。步骤932包括开始获得对应组的电压的处理。步骤934包括利用随机测试数据对该组非易失性存储元件编程。步骤936包括确定对于一组或多组非易失性存储元件的阈值电压分布。步骤938包括基于该阈值电压分布确定一组电压。步骤940包括将对于当前选择的一组或多组非易失性存储元件的对应组的电压存储在非易失性存储位置中。在决定步骤942,如果该存储器器件中存在下一组存储元件,则处理在步骤930继续,选择下一组或多组非易失性存储元件。如果该存储器器件中不存在下一组存储元件,则处理在决定步骤946继续。如果存在要确定其电压的下一存储器器件,诸如在分析多个存储器器件的制造环境下,则处理在步骤930继续。如果在步骤946不存在下一存储器器件,则处理结束于步骤948。
例如,每遍(pass)处理可以涉及获取用于一字线、一组字线、一块、或者一组块的存储元件的一组电压。例如,给定组的电压可以施加到单个字线或一组字线的存储元件或者施加到单个块或者一组块。此外,注意,当确定例如用于写入、验证和/或读取的多组电压时,每组可以施加到存储元件的不同分组。例如,可以为整个存储器器件获取一组验证电压,而可以为存储器器件中的不同块获取不同组的读取电压。可以连续或同时进行多遍处理。
图10绘出了使用由图9c的处理确定的预定电压存取多组非易失性存储元件的用户数据的处理。步骤100包括选择存储器器件中的一组或多组非易失性存储元件。步骤1002到1006大致分别对应于图9b的步骤920到924。步骤1002包括开始对于一组或多组非易失性存储元件的操作(例如编程、验证或读取)。步骤1004包括从非易失性存储位置获得对应组的电压。步骤1006包括使用该对应组的电压来存取该一组或多组非易失性存储元件的用户数据。这样的存取可以包括编程/验证或读取。在决定步骤1008,如果在存储器器件中存在要存取的下一组存储元件,则处理在步骤1000处继续,其中选择存储器器件中的下一组或多组非易失性存储元件。在决定步骤1008,如果存储器器件中不存在要存取的下一组存储元件,则处理结束于步骤1010。
如前,每遍处理可以涉及获取对于一字线、一组字线、一块、或者一组块的存储元件的一组电压,并存取对应的存储元件。给定组的电压可以施加到单个字线或一组字线的存储元件,或者施加到单个块或者一组块。可以连续或同时进行多遍处理。
图11是诸如图1和2所示的NAND闪存元件的阵列的方框图。沿着每列,位线耦接到相关NAND串的漏极选择栅极的漏极端。例如,位线1106耦接到NAND串1150的漏极选择栅极的漏极端1126。沿着NAND串的每行,源极线1104可以连接NAND串的源极选择栅极的所有源极端1128。作为存储器系统的一部分的NAND构造阵列及其操作的例子在美国专利No.5570315、5774397以及6046935中找到。
存储元件的阵列被划分成大量块的存储元件。作为快闪EEPROM系统共有的,块是擦除的单位。即,每块包含一起被擦除的最小数量的存储元件。每块通常被划分成多页。页是编程的单位。一页或多页数据通常被存储在一行存储元件中。一页可以存储一个或多个扇区。扇区包括用户数据和开销数据。开销数据通常包括已经从扇区的用户数据计算的纠错码(ECC)。控制器的一部分(以下描述)在数据正被编程到阵列中时计算ECC,并且还在正从该阵列读取数据时检查该ECC。或者,ECC和/或其他开销数据相比于用户数据被存储在与用户数据所属于的不同的页中、或者甚至不同的块中。
用户数据的扇区通常是512字节,对应于磁盘中的扇区的大小。开销数据通常是另外的16-20字节。大量页形成块,从例如大约8页高达32、64、128或者更多页。在某些实施例中,一行NAND串包括一个块。
图12绘出了存储系统中的主机控制器和存储器器件的概况。存储器器件单独可以被认为是存储系统。可以在具有其自己的控制器1210用于进行诸如编程/验证和读取的操作的存储器器件1200中提供存储元件1205。可以在例如被插入诸如膝上型计算机、数码相机、个人数字助理(PDA)、数字音频播放器或者移动电话中的可移除存储卡或者USB快闪盘上形成存储器器件。主机设备可以具有其自己的控制器1225,用于与存储器器件交互,诸如读取或写入用户数据。例如,当读取数据时,主机控制器可以向存储器器件发送指示要提取的用户数据的地址的命令。存储器器件控制器将这样的命令转换成可以被存储器器件中的控制电路翻译并执行的命令信号。控制器1210还可以包含如前述的用于存储各组电压的非易失性存储位置1215,以及用于临时存储要被写入到存储器阵列或者从存储器阵列读取的用户数据的缓冲器存储器1220。主机控制器可以被认为是在存储器器件之外或者外部的实体。存储器器件可以包括例如一个或多个存储器晶片(die),并且主机控制器可以在该一个或多个存储器晶片之外,如结合图13讨论的。
存储器器件通过从存储元件读取数据并使其对于主机控制器可用来响应读取命令。在一种可能的方法中,存储器器件将读取的数据存储在缓冲器1220中,并通知主机控制器何时可以读取数据。主机控制器通过从缓冲器读取数据来响应,并向存储器器件发送另一命令以从另一地址读取数据。例如,可以逐页读取数据。主机控制器可以处理读取的数据以确定存储器器件的存储元件的阈值电压分布。在另一方法中,存储器器件的控制电路确定阈值电压分布。以下提供存储器器件的示例实施例的进一步细节。
通常的存储器系统包括包含控制器1210的集成电路芯片以及每个包含存储器阵列和相关控制、输入/输出和状态机电路的一个或多个集成电路芯片。存储器器件可以被嵌入为主机系统的一部分,或者可以被包括在可以移除地可插入主机系统的配合槽中的存储卡中。这样的卡可以包括整个存储器器件,或者具有相关外围电路的控制器和存储器阵列可以被提供在分离的卡中。
图13是使用单个行/列解码器和读/写电路的非易失性存储器系统的方框图。该图图示了根据本发明的一个实施例的具有用于并行读取和编程一页存储元件的读/写电路的存储器器件1396。存储器器件1396可以包括一个或多个存储器晶片1398。存储器晶片1398包括存储元件的二维阵列1400、控制电路1310以及读/写电路1365。在某些实施例中,存储元件的阵列可以是三维的。存储器阵列1400可由字线经由行解码器1330以及由位线经由列解码器1360寻址。读/写电路1365包括多个感测块1300,并允许并行读取或编程一页存储元件。通常,控制器1350被包括在与一个或多个存储器晶片1398相同的存储器器件1396(例如可移除存储卡)中。命令和数据经由线路1320在主机和控制器1350之间以及经由线路1321在控制器和一个或多个存储器晶片1398之间传送。
控制电路1310与读/写电路1365协作以对存储器阵列1100进行存储器操作。控制电路1310包括状态机1312、芯片上地址解码器1314和功率控制模块1316。状态机1312提供对存储器操作的芯片级控制。芯片上地址解码器1314提供在由主机或存储器控制器使用的地址与由解码器1330和1360使用的硬件地址之间的地址接口。功率控制模块1316控制在存储器操作期间提供给字线和位线的功率和电压。例如,功率控制模块1316可以向所选字线提供控制栅极读取电压,并向未选择的字线提供读取通过电压,用于在读取操作期间以及在确定一组存储元件的阈值电压分布时使用。功率控制模块1316还可以向所选字线提供电压扫描(sweep)。例如,功率控制模块1316可以包括为此目的的一个或多个数字到模拟转换器。在此情况下,控制电路可以产生电压扫描而无需例如在存储器晶片1398之外的外部测试设施。这是有利的因为其允许在任何时间产生电压扫描,包括在存储器器件的制造之后、当终端用户已经拥有该存储器器件时。此外,存储器器件1396可以包括用于确定存储元件的阈值电压分布的电路,使得可以在存储器晶片1398内部进行此处理,而无需外部测试设施或外部主机。这是有利的因为其允许在任何时间确定阈值电压分布而无需外部设施。
在某些实施方式中,图13的组件中的一些可以组合。在各种设计中,可以考虑不同于存储元件阵列1100的一个或多个组件(单独或组合地)作为管理或控制电路。例如,一个或多个管理或控制电路可以包括控制电路1310、状态机1312、解码器1314/1360、功率控制1316、感测块1300、读/写电路1365、控制器1350、主机控制器1399等中的任意一个或组合。
存储在存储器阵列中的数据由列解码器1360读出并经由数据I/O线和数据输入/输出缓冲器1352输出到外部I/O线。要被存储在存储器阵列中的编程数据经由外部I/O线输入到输入/输出缓冲器1352。用于控制存储器器件的命令数据被输入到控制器1350。命令数据通知闪存请求什么操作。输入的命令被传送到控制电路1310。状态机1312可以输出存储器器件的状态,诸如READY/BUSY(准备好/忙碌)或者PASS/FAIL(通过/失败)。当存储器器件忙碌时,其不能接收新的读取或写入命令。
还可以与控制器1350结合地提供类似于图12的存储位置1215的数据存储位置1354。
在另一可能的配置中,非易失性存储器系统可以使用双行/列解码器和读/写电路。在此情况下,按对称方式在阵列的相对侧由实现各种外围电路对存储器阵列的存取,使得每侧的存取线和电路的密度降低一半。为了例示和描述的目的已经给出了前面的本发明的详细描述。并不意要排他或将本发明限制为所公开的精确形式。根据以上教导,许多修改和变更是可能的。选择所描述的实施例以最佳地说明本发明的原理及其实际应用,由此使得本领域技术人员在各种实施例中并通过适合于意图的具体使用的各种修改最佳地利用本发明。意要本发明的范围由附于此的权利要求书限定。

Claims (20)

1.一种用于配置存储器器件的方法,包括:
测量对于存储器器件中的各个组的非易失性存储元件(1205)的各个阈值电压分布,所述非易失性存储元件是多电平存储元件;
基于相应的阈值电压分布确定对于每个相应组的非易失性存储元件的相应组的电压,该相应组的电压被定制用于所述相应组的非易失性存储元件,其中,每个相应组的电压包括写电压、读取电压和验证电压中的至少一个;
将表示每组电压的数据存储在非易失性存储位置(1354)中;以及
在存储之后,从所述非易失性存储位置获取各个组的电压中的至少一组的数据,并使用各个组的电压中的该至少一组的数据来进行涉及各个组的非易失性存储元件中的至少一组的写操作。
2.如权利要求1所述的方法,其中:
所述测量测量每组的编程干扰的值,且响应于编程干扰的值,确定所述读取电压和/或验证电压。
3.如权利要求2所述的方法,其中:
所述编程干扰的值被定义为在存在所有数据状态的页中的擦除状态的阈值电压分布的宽度。
4.如权利要求1所述的方法,其中:
所述测量、确定和存储发生在制造场所、在所述存储器器件被出厂到终端用户之前,并且所述获取和进行写操作发生在所述器件被出厂到终端用户之后。
5.如权利要求1所述的方法,其中:
为存储器器件中的非易失性存储元件的不同块确定不同组的电压,非易失性存储元件的每个块可独立于非易失性存储元件的其他块而擦除。
6.如权利要求1所述的方法,其中:
为存储器器件中的非易失性存储元件的字线的不同分组确定不同组的电压,每个分组包括一条或多条字线。
7.如权利要求1所述的方法,还包括:
在所述电压包括写电压的情况下,确定每组非易失性存储元件的编程影响,包括初始编程电压和步长大小中的至少一个,且对于其中编程影响强于平均的一组非易失性存储元件,写电压被减小。
8.如权利要求1的方法,其中:
所述各组电压包括读取和验证电压中的至少一组,且使用其中修改了最高数据状态的验证电压电平的固定编程干扰方法来确定所述各组电压。
9.如权利要求8的方法,其中:
如果编程干扰的值太高,则减少最高数据状态的验证电压电平。
10.如权利要求1的方法,其中:
所述各组电压包括读取和验证电压中的至少一组,且使用其中固定最高数据状态的验证电压电平的固定电压窗方法来确定所述各组电压。
11.如权利要求1的方法,其中:
所述测量测量包括每组的多个数据状态的阈值电压分布。
12.一种存储系统,包括:
各个组的非易失性存储元件(1205),所述非易失性存储元件是多电平存储元件;
非易失性存储位置(1354);以及
至少一个控制电路(1350),所述至少一个控制电路:a)测量对于各个组的非易失性存储元件的各个阈值电压分布,b)基于各个阈值电压分布,确定对于每个相应组的非易失性存储元件的相应组的电压,该相应组的电压被定制用于相应组的非易失性存储元件,其中,每个相应组的电压包括写电压、读取电压和验证电压中的至少一个,c)将表示每组电压的数据存储在所述非易失性存储位置中,以及d)在存储之后,从所述非易失性存储位置获取各个组的电压中的至少一组,并使用各个组的电压中的该至少一组的数据来进行涉及各个组的非易失性存储元件中的至少一组的写操作。
13.如权利要求12的存储系统,其中:
在所述电压包括写电压的情况下,所述至少一个控制电路确定每组非易失性存储元件的编程影响,包括初始编程电压和步长大小中的至少一个,且对于其中编程影响强于平均的一组非易失性存储元件,写电压被减小。
14.如权利要求12所述的存储系统,其中:
所述至少一个控制电路测量每组的编程干扰的值,且响应于编程干扰的值,确定所述读取电压和/或所述验证电压。
15.如权利要求14所述的存储系统,其中:
所述编程干扰的值被定义为在存在所有数据状态的页中的擦除状态的阈值电压分布的宽度。
16.如权利要求12所述的存储系统,其中:
所述至少一个控制电路为所述存储系统中的非易失性存储元件的不同块、所述存储系统中的非易失性存储元件的块的不同分组和所述存储系统中的非易失性存储元件的字线的不同分组中的至少一个确定不同组的电压,每个分组包括一条或多条字线。
17.如权利要求12的存储系统,其中:
所述各组电压包括读取和验证电压中的至少一组,且使用其中修改了最高数据状态的验证电压电平的固定编程干扰方法来确定所述各组电压。
18.如权利要求17的存储系统,其中:
如果编程干扰的值太高,则减少最高数据状态的验证电压电平。
19.如权利要求12的存储系统,其中:
所述各组电压包括读取和验证电压中的至少一组,且使用其中固定最高数据状态的验证电压电平的固定电压窗方法来确定所述各组电压。
20.如权利要求12的存储系统,其中:
所述测量测量包括每组的多个数据状态的阈值电压分布。
CN200980115508.3A 2008-04-29 2009-04-27 具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器 Active CN102027548B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/111,729 2008-04-29
US12/111,729 US7808819B2 (en) 2008-04-29 2008-04-29 Method for adaptive setting of state voltage levels in non-volatile memory
US12/111,748 2008-04-29
US12/111,748 US7808836B2 (en) 2008-04-29 2008-04-29 Non-volatile memory with adaptive setting of state voltage levels
PCT/IL2009/000449 WO2009133553A1 (en) 2008-04-29 2009-04-27 Non-volatile multilevel memory with adaptive setting of reference voltage levels for program, verify and read

Publications (2)

Publication Number Publication Date
CN102027548A CN102027548A (zh) 2011-04-20
CN102027548B true CN102027548B (zh) 2014-01-01

Family

ID=40929666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980115508.3A Active CN102027548B (zh) 2008-04-29 2009-04-27 具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器

Country Status (6)

Country Link
EP (1) EP2274746A1 (zh)
JP (1) JP5410507B2 (zh)
KR (1) KR101606168B1 (zh)
CN (1) CN102027548B (zh)
TW (1) TWI410975B (zh)
WO (1) WO2009133553A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5676842B2 (ja) * 2008-05-30 2015-02-25 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
AU2009273387B9 (en) * 2008-07-21 2015-06-11 Vivoryon Therapeutics N.V. Diagnostic antibody assay
US8223556B2 (en) * 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
CN102163461A (zh) * 2011-05-03 2011-08-24 苏州聚元微电子有限公司 一种提高eeprom良率和读取可靠性的方法
JP2013143155A (ja) 2012-01-06 2013-07-22 Powerchip Technology Corp 不揮発性半導体記憶装置とその書き込み方法
KR102069864B1 (ko) * 2012-11-05 2020-01-23 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
CN104217761B (zh) * 2013-05-31 2018-12-14 慧荣科技股份有限公司 数据储存装置及其错误校正方法
KR102210961B1 (ko) * 2013-06-12 2021-02-03 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동적 접근 방법
JP6262063B2 (ja) * 2014-03-18 2018-01-17 東芝メモリ株式会社 不揮発性メモリおよび書き込み方法
JP5784788B2 (ja) * 2014-04-16 2015-09-24 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置とその書き込み方法
JP6365457B2 (ja) * 2015-08-05 2018-08-01 株式会社デンソー 半導体記憶装置、及びその書込み方法
US10332593B2 (en) * 2015-09-14 2019-06-25 Toshiba Memory Corporation Semiconductor memory device configured to sense memory cell threshold voltages in ascending order
US9875811B2 (en) 2016-01-13 2018-01-23 Macronix International Co., Ltd. Method and device for reading a memory
TWI621125B (zh) * 2016-01-26 2018-04-11 旺宏電子股份有限公司 記憶體之讀取方法與裝置
CN108733305B (zh) * 2017-04-13 2021-09-03 旺宏电子股份有限公司 存储器装置、系统及其操作方法
US10347344B2 (en) * 2017-08-29 2019-07-09 Micron Technology, Inc. Read voltage calibration based on host IO operations
JP6929171B2 (ja) * 2017-09-05 2021-09-01 ローム株式会社 不揮発性半導体記憶装置
KR102395196B1 (ko) * 2017-10-17 2022-05-06 삼성전자주식회사 파라미터 교정 기능을 갖는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
JP2019153366A (ja) * 2018-03-06 2019-09-12 東芝メモリ株式会社 メモリシステム、読み出し方法、プログラム、およびメモリコントローラ
US10930355B2 (en) * 2019-06-05 2021-02-23 SanDiskTechnologies LLC Row dependent sensing in nonvolatile memory
CN110619919B (zh) 2019-09-23 2021-08-13 上海华力微电子有限公司 Flash器件耐久性能测试方法
KR20210110382A (ko) 2019-10-29 2021-09-07 양쯔 메모리 테크놀로지스 씨오., 엘티디. 메모리 디바이스를 프로그래밍하는 방법
CN111341375B (zh) * 2020-02-19 2020-12-01 哈尔滨工业大学 一种面向TLC型NAND Flash的阈值电压获取方法
US11133062B1 (en) * 2020-05-07 2021-09-28 Micron Technology, Inc. Two memory cells sensed to determine one data value
CN114705973B (zh) * 2022-06-01 2022-11-11 北京航空航天大学杭州创新研究院 非侵入式的复杂环境集成电路老化监测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278633B1 (en) * 1999-11-05 2001-08-21 Multi Level Memory Technology High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations
CN101095199A (zh) * 2004-11-16 2007-12-26 桑迪士克股份有限公司 具有减少的过编程的高速编程系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002288988A (ja) * 2001-03-28 2002-10-04 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US6813194B2 (en) * 2002-01-10 2004-11-02 Silicon Storage Technology, Inc. Bias distribution network for digital multilevel nonvolatile flash memory
JP4068863B2 (ja) 2002-03-08 2008-03-26 富士通株式会社 不揮発性多値半導体メモリ
JP4086583B2 (ja) * 2002-08-08 2008-05-14 シャープ株式会社 不揮発性半導体メモリ装置およびデータ書き込み制御方法
JP3889699B2 (ja) * 2002-11-29 2007-03-07 株式会社東芝 不揮発性半導体記憶装置及びそのデータ書き込み方法
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US7254071B2 (en) * 2006-01-12 2007-08-07 Sandisk Corporation Flash memory devices with trimmed analog voltages
US7457178B2 (en) * 2006-01-12 2008-11-25 Sandisk Corporation Trimming of analog voltages in flash memory devices
JP2007250133A (ja) * 2006-03-17 2007-09-27 Sharp Corp 不揮発性半導体記憶装置のテスト方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278633B1 (en) * 1999-11-05 2001-08-21 Multi Level Memory Technology High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations
CN101095199A (zh) * 2004-11-16 2007-12-26 桑迪士克股份有限公司 具有减少的过编程的高速编程系统

Also Published As

Publication number Publication date
JP5410507B2 (ja) 2014-02-05
KR101606168B1 (ko) 2016-03-24
EP2274746A1 (en) 2011-01-19
JP2011519110A (ja) 2011-06-30
CN102027548A (zh) 2011-04-20
KR20110018336A (ko) 2011-02-23
TW201007744A (en) 2010-02-16
WO2009133553A1 (en) 2009-11-05
TWI410975B (zh) 2013-10-01

Similar Documents

Publication Publication Date Title
CN102027548B (zh) 具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器
CN102077298B (zh) 在非易失性存储器中的读取干扰减轻
CN102292775B (zh) 存储器的适应性擦除和软编程
CN101213613B (zh) 借助非易失性存储器的循环的开始编程电压偏移
CN101268519B (zh) 用自调整最大程序循环对非易失性存储器进行编程
CN102099867B (zh) 非易失性存储器的擦除-验证处理
CN102160119B (zh) 非易失性存储器中感测期间的基于数据状态的温度补偿
CN101471135B (zh) 闪存器件及其操作方法
CN101689400B (zh) 基于阈值电压分布的动态检验
KR101041595B1 (ko) 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍
JP2009026436A (ja) 集合的特性を用いてメモリの閾電圧分布を測定する方法
CN103843067A (zh) 用于非易失性存储器的片上动态读取
CN101356587A (zh) 用于对具有减少的编程干扰的nand类型的非易失性存储器进行编程的以末为先模式
CN102067238B (zh) 增加非易失性存储器中的读取吞吐量
JP2010525503A (ja) 不揮発性記憶装置における読み出し動作中の消費電力の低減

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
CP03 Change of name, title or address

Address after: Israel Kfar Saba

Patentee after: Western data Israel Limited

Address before: Israel saaba

Patentee before: SANDISK IL Ltd.

CP03 Change of name, title or address