CN103843067A - 用于非易失性存储器的片上动态读取 - Google Patents

用于非易失性存储器的片上动态读取 Download PDF

Info

Publication number
CN103843067A
CN103843067A CN201280043430.0A CN201280043430A CN103843067A CN 103843067 A CN103843067 A CN 103843067A CN 201280043430 A CN201280043430 A CN 201280043430A CN 103843067 A CN103843067 A CN 103843067A
Authority
CN
China
Prior art keywords
level
read
reads
reading
data
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
Application number
CN201280043430.0A
Other languages
English (en)
Other versions
CN103843067B (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.)
SanDisk Corp
Original Assignee
SanDisk Corp
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 SanDisk Corp filed Critical SanDisk Corp
Publication of CN103843067A publication Critical patent/CN103843067A/zh
Application granted granted Critical
Publication of CN103843067B publication Critical patent/CN103843067B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/5642Sensing or reading circuits; Data output 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/26Sensing or reading circuits; Data output 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5644Multilevel memory comprising counting devices

Landscapes

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

Abstract

本发明公开了用于动态地确定芯片(例如,存储器裸片)上的读取电平。一种方法包括:在第一读取电平集合处读取存储器裸片上的非易失性存储元件组。在存储器裸片上存储读取电平的两个最新结果。确定在两个最新读取电平的读取之间在该组中有多少示出不同结果的非易失性存储元件的计数。使用存储器裸片上存储的结果来在存储器裸片上执行确定。基于当计数达到预定标准时的读取电平来确定用于区别所述多个数据状态中的第一相邻数据状态对之间的动态读取电平。注意到,可以在存储器裸片上动态地确定读取电平。

Description

用于非易失性存储器的片上动态读取
技术领域
本公开涉及用于非易失性存储器的技术。
背景技术
半导体存储器已经变得越来越普及地用于各种电子设备中。例如,将非易失性半导体存储器用于个人导航设备、蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备和其它设备中。电可擦除可编程只读取存储器(EEPROM)及闪速存储器是最流行的非易失性半导体存储器之一。
EEPROM和闪速存储器都使用位于半导体衬底中的沟道区上方并与该沟道区绝缘的浮置栅极。该浮置栅极和沟道区位于源极区和漏极区之间。控制栅极被设置在浮置栅极上并与之绝缘。晶体管的阈值电压由浮置栅极上保留的电荷量来控制。也就是说,在晶体管导通以允许在晶体管的源极和漏极之间的导通之前必须施加给控制栅极的最小电压量由浮置栅极上的电荷电平控制。
一些EEPROM及闪速存储器设备具有用于存储两个范围的电荷的浮置栅极,并且因此,存储器元件可在两个状态(例如已擦除状态和已编程状态)之间被编程/擦除。这样的闪速存储器设备有时被称为二进制闪速存储器设备,因为每个存储器元件可存储一位数据。
多状态(也称为多电平)闪速存储器设备通过识别多个不同的允许/有效的已编程的阈值电压范围来实现。每个不同的阈值电压范围与在存储器设备中编码的数据位集合的预定值对应。例如,每个存储器元件在当其处于与四个不同阈值电压范围对应的四个离散电荷带之一时能够存储两位数据。
通常,在编程操作期间施加给控制栅极的编程电压VPGM是作为幅度随时间增加的一系列脉冲而施加的。在一个可能的方法中,脉冲的幅度随着每个连续脉冲而增加预定步长,例如0.2-0.4V。VPGM可被施加给闪速存储器元件的控制栅极。在编程脉冲之间的时间段中,执行验证操作。也就是说,在连续编程脉冲之间读取被并行编程的一组元件中的每个元件的编程电平,以确定该编程电平是否等于或大于该元件正被编程到的验证电平。对于多状态闪速存储器元件的阵列,可以针对元件的每个状态执行验证步骤,以确定该元件是否已经达到了其数据关联验证电平。例如,能够以四个状态存储数据的多状态存储器元件可能需要针对三个比较点执行验证操作。
而且,当对EEPROM或闪速存储器设备(例如,在NAND串中的NAND闪速存储器设备)编程时,通常VPGM被施加给控制栅极并且位线被接地,这致使来自单元或者存储器元件(例如,存储元件)的沟道的电子被注入到浮置栅极中。当电子在浮置栅极中聚集时,浮置栅极变为带负电并且存储器元件的阈值电压升高,因而认为该存储器元件处于已编程状态。
此外,在读取操作期间,将读取参考电压施加给待读取的存储元件集合,并且做出关于哪个读取参考电压导致存储元件变得导通的认定。读取参考电压被设置,以允许区别存储元件的数据状态。然而,读取参考电压通常是固定的,并且不能解决以下这样的事实:例如由于一些因素(例如电荷泄漏,温度改变,编程循环的数量等)而造成的存储元件集合的阈值电压分布可改变。因此,读取错误可能出现。
为了解决阈值电压分布中的移位,可以“动态地”确定新的读取参考电压。然而,用于动态地确定新读取电平的一些传统方法需要构建用于每个状态的阈值电压分布。然而,这需要大量的计算,其可能是耗时的。另外,还可能需要在存储器控制器中执行这些计算。
用于动态地确定读取电平的一种传统方法是读取数据,并随后确定是否可以使用错误校正码(ECC)来校正错误。如果ECC不能校正错误,则可以移位读取电平并且再次读取数据。如果ECC仍然不能校正错误,则重复该过程直到成功地读取该数据为止。该过程通常涉及将数据转移出存储器阵列,以尝试使用ECC来进行校正。将数据转移出存储器阵列以及执行ECC都可能占据相当多的时间。
而且,随着存储器阵列尺寸的缩小,多个寄生效应(例如单元到单元的干扰)和非理想效应(例如编程噪声)增加,这导致用于每个已编程状态的更宽的阈值电压分布。因此,在每个已编程状态之间可用的空间随着每个生成而变得越来越小,这意味着错误失败位计数在增加。这使得选择用于每个状态的读取电平甚至更加重要以使得错误失败位计数最小化。
附图说明
图1是NAND串的俯视图。
图2是NAND串的等效电路图。
图3是非易失性存储器系统的框图。
图4是描述存储器阵列的一个实施例的框图。
图5是描述感测块的一个实施例的框图。
图6A描述示例性Vt分布集合。
图6B描述示例性Vt分布集合。
图7示出用于两个数据状态的阈值电压分布。
图8是用于动态地确定片上读取电平的过程的一个实施例的流程图。
图9描述读取电平和关联的误比较的一个实施例。
图10A是用于动态地确定存储器裸片上的读取电平的过程的一个实施例的流程图。
图10B描述数据锁存器的一个实施例。
图11A描述用于一个实施例的误比较和误读取之间的可能关系的图形。
图11B描述用于表示一个实施例的误读取和误比较之间的关联的图形
图12是描述用于执行读取操作的过程的一个实施例的流程图。
图13A描述用于动态地确定读取电平的过程的一个实施例的流程图。
图13B描述用于动态地确定读取电平的过程的一个实施例的流程图。
图14A是将来自一个字线的动态地确定的读取电平用于另一个字线的过程的一个实施例的流程图。
图14B是将来自一个块的动态地确定的读取电平用在另一块中的过程的一个实施例的流程图。
图15是使用单个字线电压来感测两个不同阈值电压的过程的一个实施例的流程图。
图16是使用源极跟随器感测进行读取的过程的一个实施例的流程图。
图17描述了用于动态地确定读取电平的过程的一个实施例的流程图。
具体实施方式
本文公开了动态地确定芯片(例如,存储器裸片)上的读取电平。在一个实施例中,在默认读取电平处执行非易失性存储元件(例如,存储器单元)的初始读取。注意到,该读取可以确定每个存储器单元具有高于读取电平的阈值电压还是低于读取电平的阈值电压。可以将读取结果存储到存储器裸片上的第一数据锁存器集合中。随后可以在再次读取之前稍微地调节读取电平。可以将第二读取结果存储到第二数据锁存器集合中。随后可以基于一个存储器单元接一个存储器单元来比较在两个数据锁存器集合中的结果。实际上,该比较可以确定哪个存储器单元示出对于两个读取的不同结果(例如,“误比较”)。如果误比较的数量不小于预定阈值,则可以在另一个读取电平处执行另一个读取。当误比较的数量小于预定阈值时,最后读取的结果可以用作最终读取结果。而且,所用的最后的读取电平可以被用作用于进一步的读取操作的读取电平。因此,可以动态地确定读取电平。注意到,可以在存储器裸片上动态地确定读取电平。
注意到,一个实施例并未将数据离开存储器裸片而转移到外部控制器以为了动态地建立读取电平。而且,一个实施例并未执行ECC算法以动态地建立读取电平。因此,通过不必为了找到合适的读取电平来转移从存储器裸片离开的数据,从而节约了时间。而且,通过不必为了找到合适的读取电平来执行ECC算法,从而节约了时间。
还注意到,在一些情况中,还期望销售不具有外部控制器的存储器设备。例如,一些客户可能想要提供他们自己的存储器控制器。因此,动态地确定片上的读取电平的这些实施例具有的优势在于:在没有控制器确定合适的读取电平的具体要求的情况下提供存储器设备。
在一些实施例中,使用NAND存储器阵列来执行动态地确定片上的读取电平。然而,注意到,可以在其它类型的非易失性存储上执行动态地确定读取电平。NAND是闪速存储器系统的示例,其中,该闪速存储器系统包括夹在两个选择栅极之间串联布置的多个晶体管。串联的晶体管和选择栅极被称为NAND串。图1是示出一个NAND串的俯视图。图2是NAND串的等效电路图。图1和图2中描述的NAND串包括四个晶体管100、102、104和106,其串联且夹在第一(或者漏极侧)选择栅极120和第二(或者源极侧)选择栅极122之间。选择栅极120经由位线接触126将NAND串连接至位线。选择栅极122将NAND串连接至源极线128。通过向选择线SGD施加适当的电压来控制选择栅极120。通过向选择线SGS施加适当的电压来控制选择栅极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。
注意到,虽然图1和图2示出了NAND串中的四个存储器单元,但是仅作为示例来提供四个晶体管的使用。NAND串可具有少于四个存储器单元或者多于四个存储器单元。例如,一些NAND串将包括八个存储器单元,16个存储器单元,32个存储器单元,64个存储器单元,128个存储器单元等。本文的讨论不限于NAND串中的任何特定数量的存储器单元。
使用NAND结构的闪速存储器系统的典型结构将包括若干NAND串。每个NAND串通过由选择线SGS控制的NAND串的源极选择栅极连接至源极线,并且通过由选择线SGD控制的NAND串的漏极选择栅极连接至NAND串关联的位线。每个位线和经由位线接触连接至所述位线的相应的NAND串包括存储器单元阵列的列。多个NAND串共享位线。通常,位线在与字线垂直的方向运行在NAND串的顶部,并且连接至一个或多个感测放大器。
每个存储器单元可存储以模拟或数字形式表示的数据。当存储一位数字数据时,存储器单元的可能阈值电压的范围划分为两个范围,给这两个范围分配逻辑数据“1”和“0”。在NAND型闪速存储器的一个示例中,在存储器单元被擦除之后,阈值电压是负值,并且定义为逻辑“1”。在编程操作之后,阈值电压是正值,并且定义为逻辑“0”。当阈值电压是负值并且通过向控制栅极施加0伏而尝试读取时,存储器单元会导通,以表示存储了逻辑“1”。当阈值电压是正值并且通过向控制栅极施加0伏而尝试读取操作时,存储器单元不会导通,这表示存储了逻辑“0”。
在存储多个数据电平的情况中,可能阈值电压的范围划分为多个数据电平。例如,如果存储四个信息电平(两个数据位),则将给四个阈值电压范围分配数据值“11”、“10”、“01”和“00”。在一个NAND型存储器的示例中,在擦除操作之后,阈值电压是负值,并且定义为“11”。正阈值电压用于“10”、“01”和“00”的数据状态。如果存储八个信息电平(或状态)(例如,用于三个数据位),则将给八个阈值电压范围分配数据值“000”、“001”、“010”、“011”、“100”、“101”、“110”和“111”。
被编程到存储器单元中的数据和该单元的阈值电压电平之间的具体关系依赖于该单元所采用的数据编码方案。例如,通过引用方式全部并入本文中的美国专利No.6,222,762和美国专利申请公开案No.2004/0255090描述了用于多状态闪速存储器单元的各种数据编码方案。在一个实施例中,通过使用格雷码分配,数据值被分配给阈值电压范围,以使得如果浮置栅极的阈值电压错误移位至其相邻物理状态,将只有一位被影响。在一些实施例中,可以针对不同字线而改变数据编码方案,可以随着时间而改变数据编码方案,或者用于随机字线的数据位可能被反转或者另外地随机化,以减少数据模式敏感性以及甚至在存储器单元上的磨损(wear)。
在以下美国专利/专利申请中提供NAND型闪速存储器的相关示例及其操作:美国专利No.5,570,315、美国专利No.5,774,397、美国专利No.6,046,935、美国专利No.6,456,528和美国专利公开案No.US2003/0002348,其全部内容通过引用方式并入本文中。本文的讨论还可以应用于除了NAND之外的其它类型的闪速存储器以及其它类型的非易失性存储器。
除了NAND闪速存储器之外,还可以使用其它类型的非易失性存储设备。例如,还可以使用所谓的TANOS结构(其由硅衬底上的TaN-Al2O3-SiN-SiO2的堆叠层组成),其基本上是使用在氮化物层(而不是浮置栅极)中俘获电荷的存储器单元。可用于闪速EEPROM系统中的另一类型的存储器单元利用非导电介电材料代替导电浮置栅极来以非易失性方式存储电荷。在陈(Chan)等人的文章(“真正的单晶体管氧化物-氮化物-氧化物EEPROM装置”(”A TrueSingle-Transistor Oxide-Nitride-Oxide EEPROM Device,”)(IEEE电子设备通讯(IEEE Electron Device Letters)EDL第8卷,第3期,1987年3月,第93到第95页)中描述此单元。由氧化硅、氮化硅和氧化硅(“ONO”)形成的三层电介质夹在导电的控制栅极与存储器单元沟道上方的半导电衬底的表面之间。通过将电子从单元沟道注入到氮化物中对该单元进行编程,在该氮化物中,电子被捕获并存储在有限区域中。这种存储的电荷随后以可检测的方式改变该单元的一部分沟道的阈值电压。通过将热空穴注入氮化物中来擦除存储器单元。也见诺扎基(Nozaki)等人的"具有MONOS存储器单元的用于半导体磁盘应用的1MbEEPROM"("A1-Mb EEPROM with MONOS Memory Cell for SemiconductorDisk Application,")(IEEE固态电路学报(IEEE Journal of Solid-State Circuits),第26卷,第4期,1991年4月,第497到501页),该文描述了呈分裂栅极配置的类似存储器单元,其中掺杂的多晶硅栅极在存储器单元沟道的一部分上延伸,从而形成单独的选择晶体管。前述两篇文章的全文通过引用的方式并入本文中。在威廉D.布朗(William D.Brown)和乔E.布鲁尔(Joe E.Brewer)编辑的"非易失性半导体存储器技术"("Nonvolatile Semiconductor Memory Technology,")(IEEE出版社,1998),其通过引用的方式并入本文中的第1.2节中提到的编程技术在该节中也被描述为适用于介电电荷俘获设备。还可使用其它类型的存储器设备。
图3示出非易失性存储设备210,其可包括一个或多个存储器裸片或芯片212。存储器裸片212包括(二维或者三维的)存储器单元阵列200、控制电路220以及读/写电路230A和230B。在一个实施例中,在阵列的相对侧,以对称方式可由各种外围电路实现对存储器阵列200的访问,以使得每一侧的存取线路和电路的密度减少一半。读/写电路230A和230B包括多个感测块300,其允许存储器单元的页被并行读取或编程。存储器阵列200可经由行解码器240A和240B通过字线以及经由列解码器242A和242B通过位线来寻址。在一个典型的实施例中,在与一个或多个存储器裸片212相同的存储器设备210(例如,可移除的存储卡或包)中包括控制器244。经由线232而在主机和控制器244之间以及经由线234而在控制器和一个或多个存储器裸片212之间转移指令和数据。一个实现可以包括多个芯片212。
控制电路220与读/写电路230A和230B协作,以在存储器阵列200上执行存储器操作。控制电路220包括状态机222、片上地址解码器224及功率控制模块226。状态机222提供存储器操作的芯片级控制。片上地址解码器224在主机或存储器控制器使用的地址与解码器240A、240B、242A和242B使用的硬件地址之间提供地址接口。功率控制模块226在存储器操作期间对供应给字线和位线的功率和电压进行控制。在一个实施例中,功率控制模块226包括一个或多个电荷泵,其可形成大于电源电压的电压。
在一个实施例中,控制电路220、功率控制电路226、解码器电路224、状态机电路222、解码器电路242A、解码器电路242B、解码器电路240A、解码器电路240B、读/写电路230A、读/写电路230B,和/或控制器244中的一个或任意组合可以被称为一个或多个管理电路。
图4描述了存储器单元阵列200的一种示例性结构。在一个实施例中,存储器单元的阵列被划分为M个存储器单元块。通常对于闪速EEPROM系统而言,块是擦除单位。也就是说,每一块包含被一起擦除的最小数量的存储器单元。每一块通常被划分为多个页。页是编程单位。一个或多个数据页通常被存储在一行存储器单元中。一页可以存储一个或多个扇区。扇区包含用户数据和开销数据。开销数据通常包含从扇区的用户数据计算出的错误校正码(ECC)。控制器(如下所述)的一部分在数据正被编程到阵列中时计算ECC,并且也在数据正从阵列读取时检查ECC。在一个实施例中,控制器244能够基于ECC来校正一定数量的误读取。
可替换地,ECC和/或其它开销数据存储在与其有关的用户数据不同的页乃至块中。用户数据的扇区通常为512字节,与磁盘驱动器中的扇区的大小对应。大量页形成块,数目从8页例如多达32、64、128页或者更多页。还可以使用不同大小的块和布置。
在另一个实施例中,位线被划分为奇数位线和偶数位线。在奇数/偶数位线架构中,沿着共用字线且连接至奇数位线的存储器单元在一个时间被编程,而沿着共用字线且连接至偶数位线的存储器单元在另一时间被编程。
图4示出存储器阵列200的块i的更多细节。块i包括X+1条位线和X+1个NAND串。块i还包括64条数据字线(WL0-WL63)、两条虚设(dummy)字线(WL_d0和WL_d1)、漏极侧选择线(SGD)和源极侧选择线(SGS)。每个NAND串的一个端子经由漏极选择栅极(连接至选择线SGD)连接至对应的位线,并且另一个端子经由源极选择栅极(连接至选择线SGS)连接至源极线。因为具有六十四条数据字线和两条虚设字线,所以每个NAND串包括六十个数据存储器单元和两个虚设存储器单元。在其它实施例中,NAND串可以具有多于或者少于64个数据存储器单元和两个虚设存储器单元。数据存储器单元可以存储用户数据或系统数据。虚设存储器单元通常不用于存储用户数据或者系统数据。一些实施例不包括虚设存储器单元。
图5是单独的感测块300的框图,该单独的感测块300被分割为核心部分(被称为感测模块480)和共用部分490。在一个实施例中,针对每个位线具有独立的感测模块480,而针对多个感测模块480集合具有一个共用部分490。在一个示例中,感测块将包括一个共用部分490及八个感测模块480。组中的每个感测模块将经由数据总线472与关联的共用部分通信。针对进一步的细节,引用美国专利申请公开2006/0140007,其全部内容通过引用方式并入本文中。
感测模块480包括感测电路470,该感测电路470确定在所连接的位线中的传导电流是高于还是低于预定阈值水平。在一些实施例中,感测模块480包括通常称为感测放大器的电路。感测模块480还包括位线锁存器482,该位线锁存器482用于设置关于所连接位线的电压状态。例如,在位线锁存器482中锁存的预定状态将导致所连接的位线被拉至指示编程禁止的状态(例如,Vdd)。
共用部分490包括处理器492、数据锁存器494集合,及耦合在数据锁存器494集合与数据总线420之间的I/O接口496。处理器492执行计算。例如,处理器492的功能之一是确定在被感测的存储器单元中存储的数据以及将所确定的数据存储在数据锁存器集合中。数据锁存器494集合用于存储在读取操作期间由处理器492确定的数据位。在一些实施例中,数据锁存器494用于将存储第一读取结果和第二读取结果作为动态地确定读取电平的过程的一部分。数据锁存器494还可以用于存储在编程操作期间从数据总线420输入的数据位。所输入的数据位代表意图被编程到存储器中的写入数据。I/O接口496在数据锁存器494和数据总线420之间提供接口。
在读取或者感测期间,系统的操作是在状态机222的控制下,状态机222控制:给被寻址到的单元供应不同的控制栅极电压。由于感测模块480步进通过与存储器所支持的各种存储器状态对应的各种预定控制栅极电压,因此感测模块480可在这些电压之一处启动(trip),并且将从感测模块480经由总线472向处理器492提供输出。此时,处理器492通过考虑感测模块的一个或多个启动事件以及关于经由输入线493而从状态机施加的控制栅极电压的信息,来确定作为结果的存储器状态。然后,处理器492为存储器状态计算二级制编码并将作为结果的数据位存储到数据锁存器494中。在核心部分的另一个实施例中,位线锁存器482既用作用于锁存感测模块480的输出的锁存器,又用作如上所述的位线锁存器。
预计到的是,一些实现将包括多个处理器492。在一个实施例中,每个处理器492将包括输出线(图5中未描述),使得每一个输出线被一起线或(wired-OR)。在一些实施例中,输出线在连接到线或线之前被反相。此配置使得在编程验证过程期间能够快速确定编程过程何时已完成,因为接收线或线的状态机可确定何时所有被编程的位都已达到所要的电平。例如,当每一位已达到其所要电平时,所述位的逻辑零将被发送到线或线(或数据1被反相)。当所有位都输出数据0(或被反相的数据1)时,然后状态机知道要终止编程过程。在其中每一个处理器与八个感测模块通信的实施例中,状态机可(在一些实施例中)需要读取线或线八次,或将逻辑添加到处理器492以累加关联位线的结果,使得状态机只需要读取线或线一次。
在编程或验证期间,将待编程的数据通过数据总线420存储在数据锁存器494集合中。在状态机的控制下,编程操作包括向被寻址到的存储器单元的控制栅极施加的一系列编程电压脉冲(具有增加的幅度)。在每个编程脉冲之后进行验证过程,以确定存储器单元是否已经被编程到期望的状态。处理器492监视与期望存储器状态相关的已验证的存储器状态。当这两个状态一致时,处理器492设置位线锁存器482,以使得引起位线被拉至指示编程禁止的状态。即使存储器单元受到在其控制栅极上的编程脉冲,与位线耦合的该单元也会被禁止进行进一步编程。在其它实施例中,处理器初始加载位线锁存器482并且在验证过程期间感测电路将该位线锁存器482设置为禁止值。
数据锁存器堆栈494包含与感测模块对应的数据锁存器堆叠。在一个实施例中,对于每个感测模块480具有3-5个(或者另一个数量的)数据锁存器。在一个实施例中,每个锁存器为一位。在一些实现中(但是并非必须),数据锁存器可被实现为移位寄存器,使得其中存储的并行数据被转换为针对数据总线420的串行数据,且反之亦然。在一个实施例中,与m个存储器单元的读/写块对应的所有数据锁存器可链接在一起,以形成块移位寄存器,使得数据块能够以串行转移而被输入或输出。特别地,调节读/写模块组,使得其数据锁存器集合中的每一个都将数据依次移入或移出数据总线,就像它们是用于整个读/写块的移位寄存器的一部分那样。
关于读取操作和感测放大器的额外信息可参看:(1)美国专利7,196,931,“具有减少的源极线偏置错误的非易失性存储器和方法”("Non-Volatile MemoryAnd Method With Reduced Source Line Bias Errors,");(2)美国专利7,023,736“具有改进的感测的非易失性存储器和方法”("Non-Volatile Memory And Methodwith Improved Sensing,");(3)美国专利申请公开No.2005/0169082;(4)美国专利7,196,928,“补偿非易失性存储器的读取操作期间的耦合”("Compensating forCoupling During Read Operations of Non-Volatile Memory,");以及(5)在2006年7月20日公开的美国专利申请公开No.2006/0158947“非易失性存储器的参考感测放大器,"("Reference Sense Amplifier For Non-Volatile Memory")。刚刚上述列出的所有五份专利文献的全文均通过引用的方式并入本文中。
在(具有验证的)成功编程过程的结束时,酌情而定地,存储器单元的阈值电压应当在用于已编程的存储器单元的阈值电压的一个或多个分布之内或者在用于已擦除的存储器单元的阈值电压的分布之内。图6A示出当每个存储器单元存储三个数据位时与用于存储器单元阵列的数据状态对应的示例性Vt分布。然而,其它实施例可以使用每个存储器单元多于三个数据位或者少于三个数据位。图6A示出与擦除状态和已编程状态A-G对应的八个Vt分布。在一个实施例中,擦除状态中的阈值电压是负值,并且已编程状态中的阈值电压均是正值。然而,已编程状态A-G中的一个或多个中的阈值电压可以为负值。擦除状态中的一些或全部阈值电压可能是正值。
在每一个数据状态擦除-G的之间是用于从存储器单元读取数据的读取参考电压。例如,图6A示出在擦除状态和A状态之间的读取参考电压VrA以及在A状态和B状态之间的读取参考电压VrB。通过测试给定存储器单元的阈值电压是高于相应的读取参考电压还是低于相应的读取参考电压,系统可以确定存储器单元处于什么状态。
验证参考电压处于每个已编程状态的下边缘处或附近。例如,图6A示出用于A状态的VvA和用于B状态的VvB。当将存储器单元编程到给定状态时,系统将测试那些存储器单元具有是大于验证参考电压还是小于验证参考电压的阈值电压。
图6B示出由于错误校正算法可以处理处于错误中的单元的一定百分比,所以Vt分布可以部分地重叠。注意到,在一些实施例中,在一个时间点处,阈值电压分布可以类似图6A,并且在另一个时间处,阈值电压分布可以重叠,如图6B所示。例如,在刚刚编程之后,阈值电压分布可以类似图6A。然而,随着时间推移,存储器单元的阈值电压可以移位,使得可能存在重叠。
还注意到,与所描述的阈值电压分布的相等间隔/宽度相反,各个分布可以具有不同的宽度/间隔,以容纳对数据保留损耗的不同数量的敏感性。
图7示出用于两个数据状态(F状态和G状态)的阈值电压分布,每个数据状态针对两个时间点。曲线702和704示出与在存储器单元刚刚被编程之后对应的Vt分布。曲线712和714示出与在存储器单元被编程之后的一段时间对应的Vt分布。在刚刚编程之后,在F状态和G状态之间具有显著的间隙。然而,在一段时间之后,因为多个原因,阈值电压可能移位。一个可能的原因是存储器设备可能在不使用一段时间的情况下已经休息了,从而导致来自存储器单元的电荷损耗,被称为数据保留损耗。如果存储器设备处于热环境(例如,汽车)中,数据保留可能成为较大问题。
曲线714示出用于G状态的阈值分布的可能移位。在该示例中,由于来自存储器单元的电荷损耗,所以阈值电压通常向下移位。由于阈值向下移位的数量中的单元至单元的变化,所以还具有阈值电压的范围的扩散。曲线712示出用于F状态的阈值分布的可能移位。类似于G状态,用于F状态的阈值电压通常向下移位。还具有阈值电压的范围的扩散。注意到,阈值电压中的其它移位是可能的。
电压电平VrG’表示在刚刚编程之后适合于使用的读取电平。电压电平VrG’’表示在阈值电压分布已经移位到曲线712和714之后适合于使用的读取电平。在该示例中,虽然可能使用不同的读取电平,但是读取点VrG’’与曲线712和714的谷(这些曲线首次相交的地方)对应。
注意到,如果在阈值电压分布已经移位到曲线712和714之后读取电平VrG’将被使用,则在曲线714上的具有小于VrG’的阈值电压的存储器单元将被误读取。通常,框711表示如果使用读取电平VrG’则将被误读取的在曲线714上具有阈值电压的存储器单元。使用VrG’将不会导致在曲线712上的具有阈值电压的存储器单元的误读取。然而,可以看出,在曲线714上具有相当大量的存储器单元。注意到,y轴可以为对数分度(log scale)。
错误校正算法能够处理一些误读取。然而,如果误读取的数量是太高,则不能成功地读取数据。例如,如果误读取的数量大于控制器244的一个实施例的错误校正能力,则不能准确地读取数据。
然而,通过将读取电平动态地调节到例如VrG’’,可以成功地读取数据。注意到,仍然具有小数量的误读取;然而,错误校正应当能够校正这些误读取。在该示例中,一个误读取发生在曲线714上具有低于VrG’’的阈值电压的存储器单元。一个误读取发生在曲线712上具有高于VrG’’的阈值电压的存储器单元。注意到,由于对数分度,所以可能在曲线712和曲线714的相交处具有相对较少的存储器单元。
在一个实施例中,动态地调节读取电平,以使误读取最小化。然而,使误读取最小化不是必需的。在一个实施例中,动态地调节读取电平,使得误读取是足够的低,从而可以使用ECC来校正这些误读取。在一些情况中,相对强的ECC是可用的,在该情况中较高数量的误读取是可容忍的。
注意到,从一个存储器裸片到下一个存储器裸片可能存在变化,这可导致阈值电压分布中的不同。另外,可能在存储器裸片之内存在变化。例如,从一个块到下一个块可能存在不同。另外,可能在块之内存在字线到字线的变化。针对那些不同的一个可能的原因在于各种干扰效应可能取决于裸片、块、字线等而是不同的。这可能导致阈值分布宽度的不同。另外,可能存在写入到不同块的历史数据的不同。例如,已经针对不同的时段一直在休息的在两个不同时间处编程的两个块将示出不同数量的阈值移位。因此,通常,最佳的读取电平可能基于裸片、块、字线等而不同。
可以针对任何单元(裸片、块、字线等)来动态地确定读取电平。注意到,甚至对于刚刚编程的存储器阵列而言,也可能存在裸片、块、字线等之间的不同,这可能导致阈值分布之间的不同。换言之,不存在一组读取电平适合于所有裸片、块、字线等的那种情况。因此,动态地确定读取电平可以用于刚刚编程的存储器。这可能允许使用于裸片、块、字线等的读取电平最优化。
图8是用于动态地确定片上读取电平的过程800的一个实施例的流程图。注意到,过程800描述了一般流程,并且可以不同的顺序来执行这些步骤。另外,注意到,步骤可能包括子步骤。在一些情况中,在执行一个步骤的一个或多个子步骤之后,可以执行另一个步骤或多个步骤(或者这些步骤的一部分)。然后,或者可以执行第一步骤的更多个子步骤。
在步骤802中,在第一读取电平集合处读取存储器裸片212上的非易失性存储元件组。在一个实施例中,每个连续的读取可以处于较低电压。在一个实施例中,每个连续的读取可以处于较高电压。在一个实施例中,在相同的读取电平处执行两个读取;然后,可以在另一个读取电平处执行另外两个读取,等等。读取参考电平集合可以处于用于区别两个数据状态的期望读取电平附近。简要地参照图9,描述了示例性读取电平集合和关联的误比较。注意到,步骤802可以包括集合中的在仅一些读取电平处的读取。
在步骤804中,在存储器裸片212上存储读取结果。在一个实施例中,在每个读取之后,将结果存储到数据锁存器集合中。这些数据锁存器可以为感测块300的数据锁存器494;然而,数据锁存器可以位于存储器裸片212上的其它地方。
在步骤806中,确定在两个最新的连续读取之间有多少被示出不同结果的非易失性存储元件的计数。例如,再次参考图9,在每对邻近的读取电平的下面描述了误比较计数。通过比较初始读取电平的结果和第二读取电平的结果来确定用于前两个读取的误比较计数。示出初始读取和第二读取之间的不同结果的每个存储器单元被认为误比较。误比较计数在初始读取电平和第二读取电平之间可能是相当高的。在该示例中,误比较计数随着读取电平接近合适的读取电平而下降。误比较计数可能在阈值电压分布之间的谷的周围处最低。如果在该点之外继续进行读取(例如,仍是更低的电压),则误比较计数可能上升,如图9所表示。然而,不必执行所有这些读取。事实上,不必确定最小的误比较计数,其将在下面被更充分地解释。
在步骤808中,基于当误比较计数达到预定标准时的读取电平来确定用于区别数据状态对的读取电平。在一个实施例中,读取电平设置为在步骤802中使用的最后读取电平。通常,该对数据状态可能是相邻的数据状态。在该示例中,读取电平可以用于区别F状态和G状态。注意到,过程800可以用于动态地确定用于区别其它数据状态对的读取电平。
在一个实施例中,步骤808中的预定标准基于错误校正能力。例如,取决于例如多少个存储器单元用于存储错误校正码之类的因素,控制器244可以能够校正一些数量的误读取。允许的误比较的数量可以基于控制器校正读取错误的能力。在一个实施例中,所允许的误比较的数量是如果使用在步骤802中所用的最后读取电平,则控制器244应当能够校正读取错误的数量。
在一个实施例中,步骤808中的预定标准在于误比较的数量达到最小值。参照图9,在一个实施例中,假定误比较将下降直到达到最小值为止,并且随后上升。为了找到最小值,可以将来自一对读取的误比较计数与来自下一对读取的误比较计数进行比较。一旦找到的误比较计数高于以前的误比较计数,就已经找到了最小值。
接下来,注意到,在图9的示例中,在初始读取之后,下一个读取电平处于较低电压。初始读取可能为默认电平,例如图7中的VrG’。可能已经做出假设,针对这些数据状态,期望阈值电压向下移位。然而,针对其它数据状态或其它设备,可能期望阈值电压将向上移位。因此,步骤802中使用的读取电平可能增加,对于一些设备或状态而言,可能难以预测阈值电压向哪个方向移位。在该情况中,步骤802可能首先以连续地较低电压读取。如果误比较计数上升而不是下降,则可以增加读取电平。
图10A是用于动态地确定存储器裸片212上的读取电平的过程1000的一个实施例的流程图。过程1000可以用于确定用于区别两个数据状态的读取电平。如果需要,则可以重复过程1000,以确定用于区别其它数据状态对的读取电平。然而,如下面将讨论的,用于动态地确定一个读取电平的结果可以用于确定用于区别其它数据状态对的读取电平。过程1000是过程800的一个实施例。为了讨论,将使用确定用于区别F状态和G状态的读取电平的示例。
在步骤1001中,将允许用于最大数量读取的计数器初始化为0。在步骤1002中,在初始电平处对非易失性存储器进行读取。初始电平可能是使用过程1000或另一个过程来最新确定的电平。该初始电平还可以是在工厂中设置的默认电平。步骤1002可以是用于图8的步骤802的一个实施例的一个子步骤。
在步骤1004中,将来自初始读取的结果转移到第一数据锁存器集合。在读取的每个存储器单元的第一集合中可能具有一个数据锁存器。在一个实施例中,数据锁存器位于存储器裸片212上。一个示例是感测块300中的数据锁存器494。
在步骤1006中,移位读取电平。在一个实施例中,读取电平在以下方向上移位,在该方向上,期望随着时间推移来移位阈值电压。读取电平可能向下或者向上移位。注意到,可以在过程1000期间多次重复步骤1006。在一个实施例中,每次读取电平移位相同的数量。例如,每次读取电平可能移位50mV。然而,电压移位的大小可以从步骤1006的一次迭代到下一次迭代而是不同的。另外,移位的方向可能改变。例如,最初,移位可能至较低电压。然而,如果做出进步以位于合适的读取电平的情况没有实现,则读取电平可能向上移位。
在一个实施例中,移位的数量是根据误比较计数的。例如,当误比较计数较高时,移位可能较大,并且随着误比较计数减小,也减小读取电平中的移位。误比较计数建议了读取电平离两个阈值电压分布之间的谷有多远。当误比较较高时,可能读取电平远离谷位置,这意味着可以在没有跳过谷位置的情况下在下一次迭代期间作出更大的移位。
在步骤1008中,在新的读取电平处读取存储器单元。在步骤1010中,将步骤1008的读取结果转移到第二数据锁存器集合。在一个实施例中,这些锁存器位于存储器裸片212上。作为一个示例,数据锁存器为感测块300中的数据锁存器494。
在步骤1012中,将第一数据锁存器集合中的结果和第二数据锁存器集合中的结果进行比较。在一个实施例中,基于一个存储器单元接一个存储器单元,在第一数据锁存器和第二数据锁存器之间执行异或(XOR)逻辑操作。因此,在该实施例中,如果对于给定存储器单元的读取结果针对两个读取是相同的,则比较产生“0”。然而,在该实施例中,如果对于给定存储器单元的读取结果针对两个读取是不同的,则比较产生“1”。比较结果“1”在本文中可以被称为“误比较”。图10B描述了锁存器494的一个实施例,其中该锁存器494具有锁存器1、锁存器2和用于确定两个锁存器中的结果之间的异或的异或电路。异或电路可以输出误比较结果。每个被读取的存储器单元可以具有一个这样的锁存器494。
在步骤1014中,合计用于被读取的存储器单元的误比较的数量,并且将其与阈值进行比较。在一个实施例中,阈值基于控制器的错误校正能力。下面将讨论进一步的细节。在一个实施例中,可以在存储器裸片212上总计由图10B的异或输出的误比较的数量。在一个实施例中,一旦总数达到某些限制(例如,32,64等),计数就停止。
如果误比较大于阈值,则这可能指出还没有找到合适的读取电平。如果是这样的话,则在步骤1015中最大读取(MaxRead)的计数增加一。然后,在步骤1016中将最大读取与限值进行比较。注意到在一些情况中,误比较的数量可能在被允许的迭代的最大数量内没有达到低于阈值(步骤1014)的水平。这可能指出数据是不可读的。然而,还可以是可能使用了其它技术来读取数据。尽管尝试在不同的读取电平处进行读取,但是如果误比较数量未能变得比阈值更低,则过程1000可能结束。在一个实施例中,通过使用与误比较的最低数量(即使该数量不低于阈值)对应的读取电平的结果,过程1000结束。任何读取错误可能是很好地可校正的,特别是如果阈值很好地处于可校正的错误的边界之内的话。
只要没有执行读取的最大数量,过程1000就可能回到步骤1006,以移位读取电平。另外,在步骤1017中,可以将第二数据锁存器集合中存储的结果转移到第一数据锁存器集合。因此,当执行下一个读取时,第二数据锁存器集合是空闲的,以存储最新的读取结果。在一个实施例中,在步骤1016中,实际上不是将结果从第二数据锁存器集合转移到第一数据锁存器集合,而是数据锁存器的角色被反相。例如,下一个读取结果可以被存储在第一数据锁存器集合中(而不是如步骤1010中所示的第二集合)。
最后,误比较的数量应当变得低于阈值(步骤1014=是)。这可能指出:最新的读取电平适合于读取存储器单元。在一个实施例中,这指出:所用的错误校正将能够校正任何误读取。注意到,步骤1014中的阈值可能设置为显著地低于用于校正错误的临界情况的水平。例如,这可以是错误校正可能校正100个误读取。然而,可以设置阈值使得可能存在少于40个误比较。注意到,误比较的数量通常与误读取的数量不相同。然而,在一些实施例中,存在误比较的数量和误读取的数量之间的关系或关联。
在步骤1018中,第二锁存器集合中的结果可以用作实际的读取结果。在一个实施例中,将这些结果移出数据锁存器494以用于进一步处理。注意到,这些结果指出每个存储器单元具有高于给定的读取电平的阈值电压还是低于给定的读取电平的阈值电压。也就是说,结果可以区别两个数据状态。例如,结果可以区别F状态和G状态。可以执行在其它读取电平(例如,VrA,VrB等)处的读取,以确定每个存储器单元的数据状态。
注意到,可以存储最终的读取电平供以后使用。例如,下次该存储器单元组被读取时候,最终的读取电平可以用作步骤1002中的初始读取电平。最终的读取电平可以存储在存储器上的临时寄存器中的一个寄存器中,否则它可以外部地存储在控制器的非易失性存储器中。然而,注意到,不必在每次读取存储器单元时使用过程1000。在一个实施例中,使用最终的读取电平来简单地读取存储器单元。因此,在一个实施例中,在步骤1020中存储最终的读取电平。注意到,可以在没有将读取结果发出存储器裸片212的情况下确定读取电平。例如,没有必要将读取结果发送给外部控制器以执行复杂的计算。此外,可以在没有将ECC校正应用于结果的情况下找到读取电平。然而,注意到,可以在动态地找到读取电平之后应用ECC校正。
图11A描述了一个实施例的误比较和误读取(还称为失败位计数)之间的可能关系的图形。与读取电压电平相对地标绘误比较和误读取。误比较可以将来自过程800或过程1000的误比较作为示例。用于误比较点的读取电平可以为针对读取电平对来确定误比较计数的该读取电平对中的所用的最新读取电平。误比较的刻度为任意单位。同样地,用于误读取的刻度为任意单位。
通常,误比较与图11A的图形中的误读取相互关联。图11B描述了指出用于一个实施例的误读取和误比较之间的关联1150的图形。注意到,如果将阈值设置为一些具体的数值(例如,20),则这可以与特定数量的误读取相互关联。因此,阈值可以设置为与一些可容忍数量的误读取相互关联。注意到,误读取的数量可能很好地低于存储器设备上的控制器244的ECC能力。
图12是描述用于执行读取操作的过程1200的一个实施例的流程图。图12在没有描述如何建立动态读取电平的情况下描述了一般的读取过程。在过程1200中使用具有读取电平VrA,VrB和VrC的读取。因此,过程1200描述了读取每个单元存储两位的存储器单元。注意到,动态读取可以用于确定针对一个或多个VrA,VrB和VrC的电压电平。
可以针对以下页来执行图12的过程,该页包括块的所有位线、仅块的奇数位线、仅块的偶数位线或者块的位线的其它子集。在步骤1240中,将读取参考电压Vra施加到与目标页相关联的合适的字线。在步骤1242中,感测与页相关联的位线,以基于将Vra施加到被寻址的存储器单元的控制栅极来确定该被寻址的存储器单元导通还是未导通。导通的位线指出存储器单元被导通;因此,那些存储器单元的阈值电压低于Vra(例如,在擦除状态中)。在步骤1244中,位线的感测结果被存储在用于那些位线的合适的锁存器中。
在步骤1246中,将读取参考电压Vrb施加到与被读取的页相关联的字线。在步骤1248中,如上所述,感测位线。在步骤1250中,结果被存储在用于位线的合适的锁存器中。
在步骤1252中,将读取参考电压Vrc施加到与页相关联的字线。在步骤1254中,如上所述,感测位线,以确定哪个存储器单元导通。在步骤1256中,来自感测步骤的结果被存储在用于位线的合适的锁存器中。
在步骤1258中,确定用于每个位线的数据值。例如,如果存储器单元在Vra处导电,则存储器单元处于擦除状态。如果存储器单元在Vrb和Vrc处导电而不是在Vra处导电,则存储器单元处于状态A。如果存储器单元在Vrc处导电而不是在Vra和Vrb处导电,则存储器单元处于状态B。如果存储器单元不在Vra、Vrb或Vrc处导电,则存储器单元处于状态C。在其它实施例中,感测各种电平(Vra、Vrb和Vrc)可以以不同顺序出现。
图13A描述了用于动态地确定读取电平的过程1300的一个实施例的流程图。过程1300描述了用于动态地确定读取电平以用在图12的读取操作中的一个实施例。可以针对每个存储器单元存储超过两位的存储器单元来修改过程1300。
在过程1300中,过程(例如,过程800或1000)可以用于动态地确定用于区别两个状态的读取电平(例如,VrA)。然后,可以基于第一个读取电平来确定用于随后的读取电平(例如,VrB,VrC)的初始值。可以确定用于VrB和VrC的初始值以用在过程(例如800或1000)中。用于描述图13A的表示法如下所示。单引号将被使用,以指的是用于最后读取的读取电平。双引号将指的是在这个时刻动态地确定的读取电平。例如,VrA’指的是用于最后的读取操作的读取电平,而VrA’’指的是动态地确定的新的读取电平。如果没有使用引号,则这指示读取电平的一般参考。
在步骤1302中,动态地确定用于VrA’’的读取电平。在一个实施例中,使用过程800。在一个实施例中,使用过程1000。注意到,确定VrA’’的过程可以实现图12的步骤1240-1244。例如,施加在过程1000期间所用的最后的读取电平可以被认为将VrA施加到字线(步骤1240)。使用最后结果集合的步骤1018可以被认为步骤1244(存储结果)的一个实施例。
在步骤1304中,注意VrA’’和VrA’之间的差。例如,VrA’’可能比VrA’少150mV。作为一个示例,VrA’可能已经为工厂中设置的默认读取电平。因此,这指出该读取电平已经从默认电平移位了150mV。
在步骤1306中,基于VrA’’与VrA’之间的差和VrB’来确定用于VrB的初始值。在最简单的示例中,可以通过VrA’’与VrA’之间的差来调节用于VrB的初始值。然而,可能期望用于不同状态的阈值电压移位不同量。因此,用于VrB的初始值可能与VrB’相差一些其它量。
在步骤1308中,用于VrB的初始值被用在用于动态地确定新的读取电平VrB’’的过程中。例如,用于VrB的初始值可以用在图10的步骤1002中。然后,过程1000可以继续直到该过程结束为止。过程1000中使用的最后的读取电平可以用作新的读取电平VrB’’。
注意到,确定VrB’’的过程1000的特定步骤可以为步骤1246-1250的一个实施例。例如,在过程1000中施加最后的读取电平可以是步骤1246(将VrB施加到字线)的一个实施例。另外,使用来自第二锁存器集合的数据(步骤1018)可以被认为是步骤1250(存储在VrB处的读取结果)的一个实施例。
在步骤1310中,确定用于VrC的初始值。在步骤1310A中,选项A在于基于VrA’’与VrA’之间的差和VrC’来确定VrC。在步骤1310B中,选项B在于基于VrB’’与VrB’之间的差和VrC’来确定VrC。在一个实施例中,基于(VrB’’-VrB’)和(VrA’’-VrA’)的组合来确定VrC。注意到,如果期望VrC的Vt的移位将更靠近VrC最靠近的状态,则最好基于最靠近VrC的状态来确定VrC。类似于用于VrB的初始值的情况,可以通过由VrB’’与VrB’之间的差调节VrC’来确定用于VrC的初始值。然而,用于VrC的初始值可能与VrC’相差一些其它量。
在步骤1312中,用于VrC的初始值用于动态地确定VrC’’。例如,用于VrC的初始值被用在图10的步骤1002中。然后,过程1000继续直到确定VrC’’为止。注意到,可以通过执行过程1000来实现图12的步骤1252-1256,以确定VrC’’。
注意到,过程1300可以通过减少在过程1000中需要的读取的数量来节约时间。具体地,当确定VrB’’时,可以节约VrC’’的时间。注意到,当需要找到七个读取电平(针对每个存储器单元3位)或者15个读取电平(针对每个存储器单元4位),可以节约更多的时间。
针对一些读取电平而言,可以通过跳过过程1000(或类似的过程)来节约更多的时间。例如,在使用过程1000来确定VrA’’之后,可以在没有执行过程1000的情况下确定合适的VrB’’和VrC’’。图13B描述了根据一个实施例用于动态地确定读取电平的过程1350的一个实施例的流程图。在过程1350中,过程例如过程800或1000可以用于动态地确定用于区别两个状态的读取电平(例如,VrA)。然后,可以基于第一读取电平来确定其它读取电平。
在步骤1352中,动态地确定用于VrA’’的读取电平。在一个实施例中,使用过程800。在一个实施例中,使用过程1000。在步骤1354中,注意VrA’’和VrA’之间的差。例如,VrA’’可以比VrA’少150mV。
在步骤1356中,基于VrB’和VrA’’与VrA’之间的差来确定VrB’’。在最简单的示例中,可以通过VrA’’与VrA’之间的差来调节VrB’’。然而,可能期望用于不同状态的阈值电压移位不同量。因此,VrB’’可能与VrB’相差一些其它量,这可以基于VrA’’与VrA’之间的差。例如,VrB’’可以与VrB’相差VrA’’与VrA’之间的差加上一些附加的固定量。还可以使用用于VrB’’与VrB’之间的差和VrA’’与VrA’之间的差的其它关系。注意到,在本实施例中,不执行过程1000来确定VrB’’。因此,用于VrB’’的值可以在没有执行过程1000的情况下用在步骤1246中(见图12)。因此,节约更多的时间。
在步骤1358中,确定VrC’’。在步骤1358A中,在选项A中,基于VrC’和VrA’’与VrA’之间的差来确定VrC’’。在步骤1358B中,在选项B中,基于VrC’和VrB’’与VrB’之间的差来确定VrC’’。在最简单的示例中,可以通过VrA’’与VrA’之间的差来调节VrC’’。然而,如VrB’’所提及的,VrC’’可能与VrC’相差一些其它量,这可以基于VrA’’与VrA’之间的差,或者VrB’’与VrB’之间的差,或者基于两个差的组合。再次注意到,在本实施例中,不执行过程1000来确定VrC’’。因此,用于VrC’’的值可以在不执行过程1000的情况下用在步骤1252中(见图12)。
可以的是,在同一块内用于不同字线的合适的读取电平彼此非常靠近。因此,替代动态地确定用于每个字线的读取电平(使用过程例如过程800或1000),来自一条字线的动态地确定的电平可以被保存在存储器中的临时寄存器上,该动态地确定的电平可以从该临时寄存器被读取,并且用于另一个字线上的读取。在一个实施例中,可以在所有字线上使用相同的读取电平。然而,可能存在一些字线到字线的变化。因此,可以解释这种变化。
图14A是将来自一个字线的动态地确定的读取电平用于另一个字线的过程1000的一个实施例的流程图。在步骤1402中,动态地确定用于WLn的读取电平。在一个实施例中,使用过程800。在一个实施例中,使用过程1000。
在步骤1404中,动态地确定的读取电平被存储到临时寄存器中。该寄存器可以在存储器裸片212上或者离开存储器裸片212。例如,读取电平可以存储到控制器244中。读取电平可以存储到存储器裸片212上的控制电路220中。读取电平可以存储到读取电路230中的某些地方,或者甚至在存储器阵列200中。
在步骤1406中,基于所存储的读取电平来读取WLn+1。在一个实施例中,极其相同的读取电平用于超过一个字线。在一个实施例中,字线的依赖关系用于基于所存储的读取电平来确定读取电平。例如,漏极选择栅极附近的字线可能比其它字线受到或多或者或少地阈值电压移位。因此,这在确定用于那些字线的读取电平时可以被考虑进去。
在步骤1408中,基于所存储的读取电平来读取WLn+2。在步骤1410中,基于所存储的读取电平来读取WLn+m。步骤1418-1410可能类似于步骤1406。然而,如上所述,字线依赖关系可以被考虑进入。步骤1408和1410之间的虚线箭头指出可以读取其它字线。注意到,可以与图14A中描述的不同顺序来读取字线。
其中当动态地确定读取电平时可以节约时间的另一种方法是使用施加给被选字线的相同电压来感测超过一个阈值电压。这可以用在例如步骤802中以读取多个读取电平中的两个。参考图10,可以使用相同的字线电压来执行步骤1002的初始读取和在步骤1008处的第二读取。如果更多的读取在过程1000中被认定是必须的,则可以使用相同的字线电压来执行第三读取和第四读取。
在一个实施例中,当读取另一个块时,可以使用来自一个块的动态地确定的读取电平。例如,一大块存储器可以在大约相同时间点处被一起写入并且存储在多个块集合上。这些块可能被保持得大部分不被接触,并且因此他们可以经历相同的数据保留/热压力等。随后希望在这些块中的WL将显示类似的Vt移位。因此,来自一个块的动态地确定的读取电平可以用于另一块。
图14B是将来自一个块的动态地确定的读取电平用在另一块中的过程1450的一个实施例的流程图。在步骤1452中,编程多个块中的字线。这可以在大约相同时间点处出现。在步骤1454中,跟踪在大约相同时间点处被写入的块。在一个实施例中,控制器244跟踪这些块。控制器244可以注意哪些块在大约相同时间点处被写入,并且随后跟踪在该状态中剩下的哪些块。如果再次编程块(或者在该块中的特定字线),则控制器244可以排除已编程的那个块(或者特定字线)。
在步骤1456中,动态地确定用于被跟踪的块中的一个块中的至少一条字线的读取电平。在步骤1458中,动态地确定的读取电平可以被存储在存储器裸片212上或者控制器244中。在任何一种情况下,存储器可以为临时寄存器或者永久存储器。
在步骤1460中,基于动态地确定的读取电平来读取被跟踪块中的另一个块的字线。这可能涉及直接地使用动态地确定的读取电平,或者在将这些动态地确定的读取电平先于在其它块中使用他们而做出一些调节。注意到,在步骤1458之后,不必立即地执行步骤1460。
图15是使用单个字线电压来感测两个不同阈值电压的过程1500的一个实施例的流程图。在步骤1502中,将读取通过电压Vread施加给未被选字线。读取通过电压可以足够地高,以导致存储器单元无论处于哪种数据状态都能够导通。
在步骤1504中,将读取比较电压Vcgrv施加给被选字线。读取比较电压通常靠近用于在过程1500中被测试的阈值电压。注意到,施加读取比较电压可以导致给定的NAND串上的被选存储器单元导通。此外,传导电流的大小可以根据存储器单元的阈值电压。如果存储器单元的阈值电压低于读取比较电压,则存储器单元可以具有传导电流。
在步骤1506中,在第一时间长度内感测位线。在一个实施例中,在步骤1506之前,对耦合到给定位线的电容器进行充电。然后,在步骤1506中,由传导电流(如果有的话)对电容器进行放电。如果传导电流是足够的强,则电容器电压将下降到指出存储器单元导通的电平(例如,导电的电流)。
注意到,对于相同的传导电流,对电容器进行放电的时间(“感测时间”)越长,期望电容器电压下降越深。因此,可以选择感测时间,以调节什么样的阈值电压正被感测。在一个实施例中,具有较短感测时间的感测意味着存储器单元必须具有穿过NAND串的较高的传导电流,以被检测为“导通”,这意味着如果使用较长感测时间来完成感测,则该存储器单元的Vt需要低于该存储器单元所需要的电压。
在步骤1508中,在第二时间长度内感测位线。例如,在步骤1508中在更长时间内感测位线,这可以针对比步骤1508更高的Vt进行测试。步骤1508可能涉及感测与步骤1506相同的感测电容器。可替选地,可以使用两个不同的感测电容器。在该情况中,可以将位线电流的复制品提供给第二电容器。
在步骤1510中,存储来自第一感测时间的结果。在步骤1512中,存储来自第二感测时间的结果。由于第一感测时间较短,所以该第一感测时间对较低的阈值电压进行测试。因此,步骤1510的结果是用于VrA,而步骤1512的结果是用于VrA+x mV。然而,在另一个实施例中,第一感测时间可能比第二感测时间长。在该情况中,步骤1510的结果是用于VrA,而步骤1512的结果是用于VrA-x mV,其中,x>0。
注意到,图15是用于使用相同的字线电压来感测两个不同Vt的一个实施例。在一个实施例中,使用源极跟随器感测以作为替代。图16是使用源极跟随器感测进行读取的过程1600的一个实施例的流程图。可以在步骤802期间使用过程1600,以使用相同字线电压来在两个不同电平处进行读取。可以在过程1000期间使用过程1600,以使用相同字线电压来在两个不同电平处进行读取。
在步骤1602中,对共用源极线进行充电多达Vdd~2.5V。在步骤1604中,浮置被选位线,以通过从共用源极线流到位线的电流来充电。
在步骤1606中,将Vread施加给未被选字线。在步骤1608中,将Vcgrv施加给被选位线。基于每个NAND串上的被选存储器单元的阈值电压,存储器单元可以传导电流。该电流可以从源极线流到位线,由此对位线进行充电。较高的电流可以在特定感测时间之内流过高的传导单元,由此给相关联的位线充电到较高的电压电平。另一方面,非传导单元将不让任何电流流过,导致了位线保留在初始电平。因此,通过感测在位线处的电压电平,可以判断单元的状态。
在步骤1610中,感测用于第一电压电平的位线。在步骤1612中,感测用于第二电压电平的位线。这两个电压电平旨在对稍有不同的阈值电压进行测试。因此,可以使用单个的字线电压来对相差例如50mV的两个阈值电压进行测试。注意到,针对两个过程1600和1500而言,使用单个字线电压来感测多个阈值,与移位字线电压电平以在两个不同阈值处进行感测形成对照,如在过程1000的步骤1006中做的那样。因此,将减少字线安置在两个不同Vcgrv电平处的两个不同读取之间所需要的任何额外的时间。
在一个实施例中,当动态地确定读取电平时所用的读取电平彼此相差一些设置的量。例如,在过程1000中,第二读取(步骤1008)可以与第一读取(步骤1002)相差50mV。然后,针对步骤1008的下一次迭代,可以将读取调节另外50mV。注意到,这是图8中的步骤802的一个实施例。
在一个实施例中,不是将不同的读取电平与每个连续的读取一起使用,而是相同的读取电平可以用于两个最新的读取。因此,在步骤802的一个实施例中,相同的读取电平用于两个最新的读取。注意到,这仍然允许误比较能够被计数。由于没有改变读取电平,所以可以通过读取噪声导致误比较,这导致存储器单元的阈值电压从一个读取波动到另一个读取。如果读取电平靠近两个阈值电压分布之间的谷,则靠近读取电平存在较少的存储器单元。这意味着仅有少量的存储器单元的阈值电压可以由于读取噪声而四处跳跃。这意味着误比较计数应当很低。另一方面,如果读取电平远离谷,则在阈值电压分布的那个阶段将存在较大群的存储器单元,然后,将存在较大数量的单元可以在阈值电压的周围跳跃,并且计数为误比较。因此,误比较计数可以仍然用作与误读取(或者失败位计数)有关的测量。注意到,使用用于两个读取的相同读取电平可以节约时间,这是因为字线不需要在两个连续的读取之间斜升到不同电压。
图17描述了用于动态地确定读取电平的过程1700的一个实施例的流程图。过程1700将使用用于两个最新的读取的相同读取电平。过程1700是过程800的一个实施例。由于过程1700类似于过程1000,所以将不详细地描述该过程1700。
在步骤1701中,将最大读取初始化为0。在步骤1702中,执行第一读取。该读取位于初始读取电平(可以为默认读取电平),最后的读取电平,以用于该存储器裸片212、块、字线等。该读取电平可以为用于块中的一些其它字线、裸片中的另一块等的最后的读取电平。在步骤1704中,将第一读取结果转移到第一数据锁存器集合中。
在步骤1706中,在与步骤1702相同的电平处执行第二读取。注意到,在被选字线上没有对电压做出移位,因此节约了时间。在步骤1710中,将第二读取结果转移到第二数据锁存器集合中。
在步骤1712中,将第一锁存器集合中的数据和第二锁存器集合中的数据进行比较。在步骤1714中,做出关于误比较是否低于一些阈值的确定。阈值可以被建立,使得该阈值与误读取计数相互关联。例如,误读取可以为能够由ECC算法校正的那个。在一个实施例中,当读取电平靠近最佳读取电平时,期望误比较计数较少。如上所注意的,用于较低误比较计数的一个可能原因在于误比较计数可以是噪声的函数。最佳读取电平附近存在较少的存储器单元。因此,在一个实施例中,应当存在较少的由噪声影响的存储器单元。
如果误比较计数不少于阈值,则在步骤1715中递增最大读取。如果最大读取超过限值(步骤1716),则该过程结束。倘若没有执行最大数量的迭代,则在步骤1717中将来自第二锁存器集合的数据转移到第一锁存器集合。在步骤1718中,移位读取电平。在一个实施例中,在期望阈值电压分布移动的方向中移位读取电平。例如,可以向下移位读取电平。读取电平可以移位任何量。在一个实施例中,移位的量是误比较计数的函数。例如,在一些情况中,误比较计数可以暗示读取电平离两个阈值电压分布之间的谷有多远。因此,如果误比较计数较高,则用于下一次迭代的读取电平可以在没有跳过最佳读取位置风险的情况下移位较大的量,其中,最佳读取位置通常出现在相邻状态之间的谷位置处。类似地,如果误比较计数较低,则可以使用较小的移位量。
然后,使用新的读取电平来重复步骤1702-1714。最后,误比较计数应当小于阈值。当是这样,可以在步骤1719中使用来自第二锁存器集合的数据。注意到,在一个实施例中,可以使用来自第一锁存器集合的数据以作为替代。
在步骤1720中,基于最后的读取电平来建立动态读取电平。注意到,在该情况中,最后的读取电平用在最后的两个读取的每一个中。该动态读取电平可以被存储以供以后使用。当以后读取相同的单元(例如,字线、块、存储器裸片)时,可以使用该动态读取电平。当读取一些其它单元时,还可以使用该动态读取电平。例如,当读取相同块中的另一个字线时,可以使用该动态读取电平。该动态读取电平还可以用于帮助确定用于区别其它状态的读取电平。
在一些实施例中,在领域中确定动态读取电平。在一个实施例中,在运送存储器设备之前,在晶片分类期间或者一些其它时间动态地确定读取电平。注意到,这可以用于建立默认的读取电平。而且,可以针对不同的单元(例如,存储器裸片,块,字线等)来调整这些默认的读取电平。因此,在一个实施例中,用于不同单元的单独的默认读取电平被存储在存储器设备上。
一个实施例包括操作非易失性存储器的方法。该方法包括:在第一读取电平集合处读取在存储器裸片上的非易失性存储元件组。该非易失性存储元件组存储多个数据状态。读取电平的两个最新结果存储在存储器裸片上。确定在用于两个最新读取电平的读取之间在该组中有多少被示出不同结果的非易失性存储元件的计数。使用存储器裸片上存储的结果来在存储器裸片上执行确定。基于当计数达到预定标准时的读取电平来确定用于区别多个数据状态的第一对相邻数据状态的动态读取电平。
一个实施例包括非易失性存储设备,该非易失性存储设备包括存储器裸片、在存储器裸片上的非易失性存储元件组、和与非易失性存储元件组进行通信的一个或多个管理电路。非易失性存储元件组存储多个数据状态。一个或多个管理电路在第一读取电平集合处读取非易失性存储元件组。一个或多个管理电路将读取电平的两个最新的结果存储在存储器裸片上。一个或多个管理电路确定在两个最新的读取电平处的读取之间在该组中有多少被示出不同结果的非易失性存储元件的计数。一个或多个管理电路使用存储器裸片上存储的结果来确定存储器裸片上的计数。一个或多个管理电路基于当计数达到预定标准时的读取电平来建立用于区别多个数据状态中的第一相邻数据状态对的所调节的读取电平。
一个实施例包括一种操作非易失性存储器的方法,包括如下步骤。做出存储器裸片上的非易失性存储元件组中的每个非易失性存储元件是否具有超过第一电平的阈值电压的确定。非易失性存储元件组存储多个数据状态,组中的一些非易失性存储元件存储错误码。组中的每个非易失性存储元件是否具有超过第一电平的阈值电压的指示被存储在存储器裸片上。做出组中的每个非易失性存储元件是否具有超过第二电平的阈值电压的确定。组中的每个非易失性存储元件是否具有超过第二电平的阈值电压的指示被存储在存储器裸片上。确定有多少非易失性存储元件具有处于第一电平和第二电平之间的阈值电压的这样的非易失性存储元件的计数。基于所存储的指示来在存储器裸片上执行确定。做出关于计数是否小于阈值的确定。阈值与能够使用错误码来校正的错误水平对应。如果计数小于阈值,则第一电平和第二电平中的一个被建立为用于区别数据状态对的电平。
一个实施例包括一种操作非易失性存储器的方法,包括:在第一读取电平处读取存储器裸片上的非易失性存储元件组,非易失性存储元件存储多个数据状态,第一读取电平处于用于区别多个数据状态中的两个数据状态的读取电平附近;在存储器裸片上的第一数据锁存器中存储用于组中的每个非易失性存储元件的、第一电平处的第一读取结果;在第二读取电平处读取非易失性存储元件组,第二读取电平处于用于区别两个数据状态的读取电平附近,第一读取电平和第二读取电平对不同的阈值电压进行测试;在存储器裸片上的第二数据锁存器中存储用于组中的每个非易失性存储元件的、第二电平处的第二读取结果;执行第一数据锁存器中的第一结果和第二数据锁存器中的第二结果之间的异或,以产生误比较计数;并且如果误比较计数小于阈值,则将第一结果和第二结果中的一个结果用作用于区别两个数据状态的结果。
一个实施例包括非易失性存储器设备,包括:存储器裸片;在存储器裸片上的非易失性存储元件组,非易失性存储元件组存储多个数据状态;存储器裸片上的第一数据锁存器;存储器裸片上的第二数据锁存器;和与非易失性存储元件组进行通信的一个或多个管理电路。一个或多个管理电路在第一读取电平处读取非易失性存储元件组,第一读取电平位于用于区别多个数据状态中的两个数据状态的读取电平附近。一个或多个管理电路在第一数据锁存器中存储用于组中的每个非易失性存储器单元的、在第一电平处的第一读取结果。一个或多个管理电路在第二读取电平处读取非易失性存储元件组,第二读取电平位于用于区别两个数据状态的读取电平附近。第一读取电平和第二读取电平对不同的阈值电压进行测试。一个或多个管理电路在第二数据锁存器中存储用于组中的每个非易失性存储器单元的、在第二电平处的第二读取结果。一个或多个管理电路执行在第一数据锁存器中的第一结果和在第二数据锁存器中的第二结果之间的异或,以产生误比较计数。如果误比较计数小于阈值,则一个或多个管理将第一结果和第二结果中的一个结果用作用于区别两个数据状态的结果。
上文中提供了对本发明的具体描述以用于阐述和说明。但并非用于穷举或者将本发明限于所公开的精确形式。根据以上教导,可实现很多修改和变型。上述实施例被选取用于最佳地解释本发明的原理及其实际应用,从而使得本领域技术人员能够以不同的实施例并利用适于特定预期用途的不同变型来最佳地利用本发明。本发明的范围要由所附权利要求来定义。

Claims (15)

1.一种操作非易失性存储器的方法,包括:
在第一读取电平集合处读取存储器裸片上的非易失性存储元件组(802),所述非易失性存储元件组存储多个数据状态;
在所述存储器裸片上存储所述读取电平的两个最新结果(804);
确定在两个最新读取电平的读取之间在所述组中有多少被示出不同结果的非易失性存储元件的计数,使用所述存储器裸片上存储的所述结果来在所述存储器裸片上执行所述确定(806);并且
基于当所述计数达到预定标准时的读取电平来建立用于区别所述多个数据状态中的第一相邻数据状态对的动态读取电平(808)。
2.根据权利要求1所述的方法,其中,所述非易失性存储元件组的一部分存储错误校正码,达到预定标准的所述计数包括低于阈值的计数,其中,所述阈值与能够通过使用所述错误校正码来施加错误校正以校正的水平对应。
3.根据权利要求1或2所述的方法,其中,所述第一读取电平集合中的第一读取电平为默认读取电平,并且所述第一读取电平集合中的第二读取电平位于以下方向,在该方向上期望所述非易失性存储元件组的阈值分布随着时间的推移而移动。
4.根据权利要求1至3中的任一项的方法,其中,所述非易失性存储元件组与第一字线相关联,并且还包括将所述第一动态读取电平用作用于区别与其它字线相关联的非易失性存储元件的所述第一相邻数据状态对的初始读取电平。
5.根据权利要求1至4中的任一项的方法,其中,所述读取电平彼此相差统一步长。
6.根据权利要求5所述的方法,其中,所述动态读取电平为第一动态读取电平,并且还包括:
在彼此相差统一步长的第二读取电平集合处读取所述非易失性存储元件组;
在所述存储器裸片上存储第二读取电平集合的两个最新结果;并且
确定在所述第二集合中的两个最新读取电平的读取之间在所述组中有多少被示出不同结果的非易失性存储元件的计数,使用在所述存储器裸片上存储的所述结果来在所述存储器裸片上执行所述确定;并且
基于当所述计数达到预定标准时的读取电平来建立用于区别所述多个数据状态中的第二相邻数据状态对的第二动态读取电平。
7.根据权利要求6所述的方法,还包括:
基于用于区别所述第一相邻数据状态对的第一动态读取电平来确定用于第二读取电平集合的初始读取电平。
8.根据权利要求1至4中的任一项的方法,其中,所述第一读取电平集合中的至少两个读取电平具有相同的大小。
9.根据权利要求1所述的方法,其中,达到所述预定标准的所述计数包括达到最小值的所述计数。
10.根据权利要求1至9中的任一项的方法,其中,所述存储在每个所述读取电平处的读取的结果包括:在第一数据锁存器中存储从第一读取电平处读取的结果以及在第二数据锁存器中存储从第二读取电平处读取的结果,所述确定在两个最新读取电平的读取之间在所述组中有多少被示出不同结果的非易失性存储元件的计数包括:执行所述第一数据锁存器中的结果与所述第二数据锁存器中的结果的异或。
11.一种非易失性存储器设备,包括:
存储器裸片(212);
在所述存储器裸片(212)上的非易失性存储元件组,所述非易失性存储元件组存储多个数据状态;
与所述非易失性存储元件组进行通信的一个或多个管理电路(220,230,242,244),所述一个或多个管理电路在第一读取电平集合处读取所述非易失性存储元件组,所述一个或多个管理电路在所述存储器裸片上存储所述读取电平的两个最新结果,所述一个或多个管理电路确定在两个最新读取电平的读取之间在所述组中有多少被示出不同结果的非易失性存储元件的计数,所述一个或多个管理电路使用在所述存储器裸片上存储的所述结果来确定在所述存储器裸片上的计数,所述一个或多个管理电路基于当所述计数达到预定标准时的所述读取电平来建立用于区别所述多个数据状态中的第一相邻数据状态对的所调节的读取电平。
12.根据权利要求11所述的非易失性存储器设备,其中,所述非易失性存储元件组中的一些非易失性存储元件存储错误校正码,所述一个或多个管理电路确定所述计数是否达到阈值,所述阈值与能够通过使用所述错误校正码来施加错误校正以校正的水平对应,以确定所述计数是否达到所述预定标准。
13.根据权利要求11或12所述的非易失性存储器设备,其中:
所述一个或多个管理电路在所述彼此相差步长的第二读取电平集合处读取所述非易失性存储元件组,所述一个或多个管理电路在所述存储器裸片上存储所述第二读取电平集合的两个最新结果,所述一个或多个管理电路确定在所述第二集合中的两个最新读取电平的读取之间在所述组中有多少示出不同结果的非易失性存储元件的计数,使用在所述存储器裸片上存储的所述结果来在所述存储器裸片上执行所述确定,所述一个或多个管理电路基于当所述计数达到预定标准时的读取电平来建立用于区别所述多个数据状态中的第二相邻数据状态对的所调节的读取电平。
14.根据权利要求13所述的非易失性存储器设备,其中:
所述一个或多个管理电路基于用于区别所述第一相邻数据状态对的所调节的读取电平来确定第二读取电平集合的初始读取电平。
15.根据权利要求11至14中的任一项的非易失性存储器设备,还包括:
在所述存储器裸片上的第一数据锁存器和在所述存储器裸片上的第二数据锁存器,
用于在所述第一数据锁存器和所述第二数据锁存器之间执行异或的逻辑,
一个或多个管理电路,其在第一数据锁存器中存储从第一读取电平处读取的结果,所述一个或多个管理电路在第二数据锁存器中存储从第二读取电平处读取的结果,所述一个或多个管理电路通过执行所述第一数据锁存器中的结果与所述第二数据锁存器中的结果的异或来确定所述计数。
CN201280043430.0A 2011-09-21 2012-09-13 用于非易失性存储器的片上动态读取 Expired - Fee Related CN103843067B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/239,194 US8406053B1 (en) 2011-09-21 2011-09-21 On chip dynamic read for non-volatile storage
US13/239,194 2011-09-21
PCT/US2012/055046 WO2013043446A1 (en) 2011-09-21 2012-09-13 On chip dynamic read for non-volatile storage

Publications (2)

Publication Number Publication Date
CN103843067A true CN103843067A (zh) 2014-06-04
CN103843067B CN103843067B (zh) 2017-03-29

Family

ID=46924558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280043430.0A Expired - Fee Related CN103843067B (zh) 2011-09-21 2012-09-13 用于非易失性存储器的片上动态读取

Country Status (6)

Country Link
US (2) US8406053B1 (zh)
EP (1) EP2758963B1 (zh)
KR (1) KR101961975B1 (zh)
CN (1) CN103843067B (zh)
TW (1) TW201322260A (zh)
WO (1) WO2013043446A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825894A (zh) * 2015-01-07 2016-08-03 华邦电子股份有限公司 存储器读取方法以及数字存储器装置
CN106158039A (zh) * 2015-05-13 2016-11-23 桑迪士克科技有限责任公司 非易失性存储器中的动态读取低谷搜索
CN106683703A (zh) * 2017-03-15 2017-05-17 珠海格力电器股份有限公司 一种数据读取方法、集成电路及芯片
CN108538330A (zh) * 2017-03-06 2018-09-14 桑迪士克科技有限责任公司 存储器中的第一读取对策
CN110277127A (zh) * 2018-03-14 2019-09-24 三星电子株式会社 非易失性存储器件
CN110751276A (zh) * 2018-07-24 2020-02-04 闪迪技术有限公司 在nand存储器阵列中实现具有三值输入和二值权重的神经网络
CN113628658A (zh) * 2020-05-07 2021-11-09 西部数据技术公司 校准非易失性存储器读取阈值
CN113628665A (zh) * 2020-05-07 2021-11-09 美光科技公司 基于以经优化读取电压为中心的信号和噪声特性确定位错误计数

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458536B2 (en) 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
US8891297B2 (en) * 2011-11-01 2014-11-18 Micron Technology, Inc. Memory cell sensing
KR101858560B1 (ko) * 2011-11-24 2018-05-18 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법과 상기 불휘발성 메모리 장치를 포함하는 메모리 시스템의 동작 방법
US9430735B1 (en) * 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
US9036417B2 (en) 2012-09-06 2015-05-19 Sandisk Technologies Inc. On chip dynamic read level scan and error detection for nonvolatile storage
US9135972B2 (en) * 2013-02-20 2015-09-15 Apple Inc. Readout of interfering memory cells using estimated interference to other memory cells
US9129711B2 (en) * 2013-02-28 2015-09-08 Kabushiki Kaisha Toshiba Semiconductor memory device
US9530515B2 (en) * 2013-03-13 2016-12-27 Sandisk Technologies Llc Determining read voltages for reading memory
US9190159B2 (en) * 2013-03-15 2015-11-17 Kabushiki Kaisha Toshiba Semiconductor memory device
US9489299B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9489300B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9390008B2 (en) 2013-12-11 2016-07-12 Sandisk Technologies Llc Data encoding for non-volatile memory
US9129701B2 (en) 2013-12-19 2015-09-08 Sandisk Technologies Inc. Asymmetric state detection for non-volatile storage
US9455029B2 (en) * 2014-05-23 2016-09-27 Micron Technology, Inc. Threshold voltage analysis
KR102218722B1 (ko) 2014-06-09 2021-02-24 삼성전자주식회사 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법
KR102290974B1 (ko) 2014-11-07 2021-08-19 삼성전자주식회사 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법
US9720754B2 (en) 2014-11-20 2017-08-01 Western Digital Technologies, Inc. Read level grouping for increased flash performance
US9905302B2 (en) 2014-11-20 2018-02-27 Western Digital Technologies, Inc. Read level grouping algorithms for increased flash performance
US9576671B2 (en) 2014-11-20 2017-02-21 Western Digital Technologies, Inc. Calibrating optimal read levels
JP6378102B2 (ja) 2015-01-28 2018-08-22 東芝メモリ株式会社 半導体装置および読み出し方法
EP3269062B1 (en) * 2015-03-10 2020-08-05 Coriant Oy Methods and devices for managing transfer of data frames
KR102412781B1 (ko) 2015-11-03 2022-06-24 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 독출 방법
US9672928B2 (en) * 2015-11-10 2017-06-06 Samsung Electronics Co., Ltd. Method and apparatus for estimating read levels of nonvolatile memory and for programming pilot signals used for such estimation
KR102585221B1 (ko) * 2016-04-21 2023-10-05 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
US9805809B1 (en) * 2016-08-31 2017-10-31 Sandisk Technologies Llc State-dependent read compensation
US9952944B1 (en) * 2016-10-25 2018-04-24 Sandisk Technologies Llc First read solution for memory
US10262743B2 (en) * 2016-10-25 2019-04-16 Sandisk Technologies Llc Command sequence for first read solution for memory
US10558381B2 (en) * 2016-12-16 2020-02-11 Sandisk Technologies Llc Dynamic read table generation
KR20180070974A (ko) 2016-12-19 2018-06-27 삼성전자주식회사 비휘발성 메모리의 리드 동작 방법, 비휘발성 메모리를 포함하는 메모리 시스템 및 이의 동작 방법
KR102663813B1 (ko) * 2017-01-13 2024-05-07 삼성전자주식회사 최적의 읽기 전압으로 독출하는 불휘발성 메모리 장치
US10388394B2 (en) * 2017-07-25 2019-08-20 Apple Inc. Syndrome weight based evaluation of memory cells performance using multiple sense operations
US10199111B1 (en) * 2017-08-04 2019-02-05 Micron Technology, Inc. Memory devices with read level calibration
US10347315B2 (en) 2017-10-31 2019-07-09 Sandisk Technologies Llc Group read refresh
US10418097B2 (en) * 2017-11-27 2019-09-17 Western Digital Technologies, Inc. Non-volatile storage system with read calibration
US10622075B2 (en) * 2017-12-12 2020-04-14 Sandisk Technologies Llc Hybrid microcontroller architecture for non-volatile memory
KR102427638B1 (ko) 2018-01-10 2022-08-01 삼성전자주식회사 비휘발성 메모리 장치 및 이의 읽기 방법
KR102402668B1 (ko) 2018-02-26 2022-05-26 삼성전자주식회사 비휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 저장 장치
US10529433B1 (en) 2018-08-13 2020-01-07 Micron Technology, Inc. Offset memory component automatic calibration (AUTOCAL) error recovery for a memory sub-system
US10777286B2 (en) * 2018-12-28 2020-09-15 Micron Technology, Inc. Apparatus and methods for determining data states of memory cells
TWI690930B (zh) * 2019-01-09 2020-04-11 力晶積成電子製造股份有限公司 補償非易失性記憶元件在編程時電荷流失與源極線偏置的方法
US10872671B1 (en) 2019-06-13 2020-12-22 Sandisk Technologies Llc Dynamic read voltages in non-volatile memory
US11221800B2 (en) 2020-03-02 2022-01-11 Micron Technology, Inc. Adaptive and/or iterative operations in executing a read command to retrieve data from memory cells
US11740970B2 (en) 2020-03-02 2023-08-29 Micron Technology, Inc. Dynamic adjustment of data integrity operations of a memory system based on error rate classification
US12009034B2 (en) 2020-03-02 2024-06-11 Micron Technology, Inc. Classification of error rate of data retrieved from memory cells
US11086572B1 (en) 2020-03-02 2021-08-10 Micron Technology, Inc. Self adapting iterative read calibration to retrieve data from memory cells
US11029890B1 (en) 2020-03-02 2021-06-08 Micron Technology, Inc. Compound feature generation in classification of error rate of data retrieved from memory cells
US11257546B2 (en) * 2020-05-07 2022-02-22 Micron Technology, Inc. Reading of soft bits and hard bits from memory cells
US11049582B1 (en) 2020-05-07 2021-06-29 Micron Technology, Inc. Detection of an incorrectly located read voltage
US11562793B2 (en) 2020-05-07 2023-01-24 Micron Technology, Inc. Read soft bits through boosted modulation following reading hard bits
US11081200B1 (en) 2020-05-07 2021-08-03 Micron Technology, Inc. Intelligent proactive responses to operations to read data from memory cells
WO2021229260A1 (en) 2020-05-13 2021-11-18 Micron Technology, Inc. Counter-based methods and systems for accessing memory cells
US10991444B1 (en) 2020-05-28 2021-04-27 Western Digital Technologies, Inc. Tiered read reference calibration
JP2021190150A (ja) 2020-06-02 2021-12-13 キオクシア株式会社 メモリシステム及びメモリコントローラ
US11488682B2 (en) 2020-06-24 2022-11-01 Sandisk Technologies Llc Calibration for integrated memory assembly
US11049547B1 (en) 2020-08-05 2021-06-29 Samsung Electronics Co., Ltd. Non-volatile memory device, operating method thereof, and storage device including the non-volatile memory device
KR20220086733A (ko) 2020-12-16 2022-06-24 삼성전자주식회사 메모리 컨트롤러, 메모리 장치, 및 저장 장치
US11615854B2 (en) 2021-04-02 2023-03-28 Micron Technology, Inc. Identify the programming mode of memory cells during reading of the memory cells
US11514983B2 (en) 2021-04-02 2022-11-29 Micron Technology, Inc. Identify the programming mode of memory cells based on cell statistics obtained during reading of the memory cells
US11664073B2 (en) 2021-04-02 2023-05-30 Micron Technology, Inc. Adaptively programming memory cells in different modes to optimize performance
KR20230005634A (ko) * 2021-07-01 2023-01-10 에스케이하이닉스 주식회사 리드 동작을 수행하는 저장 장치 및 그 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100017684A1 (en) * 2008-07-17 2010-01-21 Xueshi Yang Data recovery in solid state memory devices
US20100020611A1 (en) * 2008-07-23 2010-01-28 Park Kitae Flash memory systems and operating methods using adaptive read voltage levels
CN102077298A (zh) * 2008-06-30 2011-05-25 桑迪士克公司 在非易失性存储器中的读取干扰减轻
WO2012097136A2 (en) * 2011-01-14 2012-07-19 Micron Technology, Inc. Methods, devices, and systems for adjusting sensing voltages in devices
WO2012125542A1 (en) * 2011-03-14 2012-09-20 Micron Technology, Inc. Methods, devices, and systems for data sensing

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7177197B2 (en) * 2001-09-17 2007-02-13 Sandisk Corporation Latched programming of memory and method
US7046568B2 (en) 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US7196931B2 (en) 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7327619B2 (en) 2002-09-24 2008-02-05 Sandisk Corporation Reference sense amplifier for non-volatile memory
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US20060140007A1 (en) 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7196928B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7471562B2 (en) 2006-05-08 2008-12-30 Macronix International Co., Ltd. Method and apparatus for accessing nonvolatile memory with read error by changing read reference
US7844878B2 (en) 2006-08-09 2010-11-30 Microsoft Corporation Dynamic electronic correction code feedback to extend memory device lifetime
US7876621B2 (en) 2007-04-23 2011-01-25 Sandisk Il Ltd. Adaptive dynamic reading of flash memories
US8073648B2 (en) 2007-05-14 2011-12-06 Sandisk Il Ltd. Measuring threshold voltage distribution in memory using an aggregate characteristic
US7613045B2 (en) 2007-11-26 2009-11-03 Sandisk Il, Ltd. Operation sequence and commands for measuring threshold voltage distribution in memory
US7957187B2 (en) * 2008-05-09 2011-06-07 Sandisk Corporation Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
US7859932B2 (en) 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
US8027195B2 (en) 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
KR101603099B1 (ko) * 2009-10-01 2016-03-28 삼성전자주식회사 불안정 메모리 셀 산포를 검출하는 메모리 시스템 및 상기 불안정 메모리 셀 산포 검출방법
KR20120010924A (ko) * 2010-07-27 2012-02-06 엘지전자 주식회사 얼음 이송수단을 갖는 냉장고

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102077298A (zh) * 2008-06-30 2011-05-25 桑迪士克公司 在非易失性存储器中的读取干扰减轻
US20100017684A1 (en) * 2008-07-17 2010-01-21 Xueshi Yang Data recovery in solid state memory devices
US20100020611A1 (en) * 2008-07-23 2010-01-28 Park Kitae Flash memory systems and operating methods using adaptive read voltage levels
WO2012097136A2 (en) * 2011-01-14 2012-07-19 Micron Technology, Inc. Methods, devices, and systems for adjusting sensing voltages in devices
WO2012125542A1 (en) * 2011-03-14 2012-09-20 Micron Technology, Inc. Methods, devices, and systems for data sensing

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825894B (zh) * 2015-01-07 2019-10-01 华邦电子股份有限公司 存储器读取方法以及数字存储器装置
CN105825894A (zh) * 2015-01-07 2016-08-03 华邦电子股份有限公司 存储器读取方法以及数字存储器装置
CN106158039A (zh) * 2015-05-13 2016-11-23 桑迪士克科技有限责任公司 非易失性存储器中的动态读取低谷搜索
CN106158039B (zh) * 2015-05-13 2019-12-03 桑迪士克科技有限责任公司 非易失性存储器中的动态读取低谷搜索
CN108538330A (zh) * 2017-03-06 2018-09-14 桑迪士克科技有限责任公司 存储器中的第一读取对策
CN108538330B (zh) * 2017-03-06 2022-05-24 桑迪士克科技有限责任公司 存储器中的第一读取对策
CN106683703A (zh) * 2017-03-15 2017-05-17 珠海格力电器股份有限公司 一种数据读取方法、集成电路及芯片
CN106683703B (zh) * 2017-03-15 2023-09-15 珠海零边界集成电路有限公司 一种数据读取方法、集成电路及芯片
CN110277127A (zh) * 2018-03-14 2019-09-24 三星电子株式会社 非易失性存储器件
CN110277127B (zh) * 2018-03-14 2024-06-11 三星电子株式会社 非易失性存储器件
CN110751276A (zh) * 2018-07-24 2020-02-04 闪迪技术有限公司 在nand存储器阵列中实现具有三值输入和二值权重的神经网络
CN113628658A (zh) * 2020-05-07 2021-11-09 西部数据技术公司 校准非易失性存储器读取阈值
CN113628665A (zh) * 2020-05-07 2021-11-09 美光科技公司 基于以经优化读取电压为中心的信号和噪声特性确定位错误计数

Also Published As

Publication number Publication date
US8576624B2 (en) 2013-11-05
KR20140065440A (ko) 2014-05-29
KR101961975B1 (ko) 2019-03-25
EP2758963A1 (en) 2014-07-30
US8406053B1 (en) 2013-03-26
EP2758963B1 (en) 2018-05-02
US20130070524A1 (en) 2013-03-21
US20130148425A1 (en) 2013-06-13
TW201322260A (zh) 2013-06-01
CN103843067B (zh) 2017-03-29
WO2013043446A1 (en) 2013-03-28

Similar Documents

Publication Publication Date Title
CN103843067A (zh) 用于非易失性存储器的片上动态读取
CN102160118B (zh) 非易失性存储器阵列的最后字线的数据保持的改进
CN101689400B (zh) 基于阈值电压分布的动态检验
CN101006519B (zh) 非易失性存储器系统及其编程的方法
CN102099867B (zh) 非易失性存储器的擦除-验证处理
CN101584006B (zh) 非易失性存储器中的经分割的软编程
CN101405812B (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
JP5250117B2 (ja) メモリのための適応消去及びソフトプログラミング
CN102246241B (zh) 非易失性存储器的数据刷新
CN102763166B (zh) 选择性的存储器单元编程和擦除
CN101213613B (zh) 借助非易失性存储器的循环的开始编程电压偏移
CN101584005B (zh) 非易失性存储器中的经分割擦除及擦除验证
EP2446443B1 (en) Forecasting program disturb in memory by detecting natural threshold voltage distribution
CN102306501B (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
EP2078303B1 (en) Reading of a nonvolatile memory cell by taking account of the stored state of a neighboring memory cell
CN103765519A (zh) 用于非易失性存储的读取通过电压的智能移位
CN102483955A (zh) 用于处理存储器装置中的阈值电压改变的方法、装置及系统
CN102906820A (zh) 用同步耦合编程非易失性存储器
CN105190763A (zh) 在编程期间降低非易失性存储装置的nand串选择栅极电压
CN101779250B (zh) 编程脉冲持续期的智能控制
CN101802925B (zh) 控制门线架构
CN101317235B (zh) 用于具有定时信息的反向耦合效应的方法和系统
CN101421794A (zh) 减少读取期间的编程干扰的影响
CN104952475B (zh) 快闪存储器及其编程方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Texas, USA

Applicant after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Applicant before: SANDISK TECHNOLOGIES Inc.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170329

Termination date: 20210913