CN1826659B - 存储器系统、读取存储在该存储器系统中数据的方法及为存储器系统所执行的方法 - Google Patents

存储器系统、读取存储在该存储器系统中数据的方法及为存储器系统所执行的方法 Download PDF

Info

Publication number
CN1826659B
CN1826659B CN2004800212103A CN200480021210A CN1826659B CN 1826659 B CN1826659 B CN 1826659B CN 2004800212103 A CN2004800212103 A CN 2004800212103A CN 200480021210 A CN200480021210 A CN 200480021210A CN 1826659 B CN1826659 B CN 1826659B
Authority
CN
China
Prior art keywords
memory element
state
tracking
group
tracks
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
CN2004800212103A
Other languages
English (en)
Other versions
CN1826659A (zh
Inventor
丹尼尔·C·古特曼
斯蒂芬·J·格罗斯
沙阿扎德·哈立德
杰弗里·S·冈威尔
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.)
Delphi International Operations Luxembourg SARL
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 CN1826659A publication Critical patent/CN1826659A/zh
Application granted granted Critical
Publication of CN1826659B publication Critical patent/CN1826659B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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

Abstract

将跟踪单元用于存储器系统中以改进读取过程。所述跟踪单元可提供数据质量的一个指示且若存在差错则可作为数据恢复操作的一部分使用。跟踪单元5提供一个构件以将读取参数调整到最佳水平以便反映存储器系统的目前状况。另外,使用多状态存储单元的一些存储器系统将应用循环数据方案以最小化磨损。可基于多个跟踪单元的状态将所述循环方案编码在所述跟踪单元中,其在读取时被解码。

Description

存储器系统、读取存储在该存储器系统中数据的方法及为存储器系统所执行的方法
技术领域
本发明涉及用于读取存储装置的技术。
背景技术
半导体存储装置已变得更加普遍地用于各种电子装置中。举例来说,非易失半导体存储器用于蜂窝电话、数码相机、个人数字助理、移动计算装置、非移动计算装置和其它装置中。电可擦除可编程只读存储器(EEPROM)和闪存为最普遍的非易失半导体存储器之一。
EEPROM和闪存都利用一个浮栅,其定位在一个半导体衬底中的一通道区域上且与所述通道区域绝缘。所述浮栅定位在源极与漏极区之间。将一个控制栅极提供在所述浮栅之上且与所述浮栅绝缘。通过在浮栅上所保留的电荷量来控制晶体管的阈电压。即,在晶体管接通以允许在其源极与漏极之间的导电之前所必须施加至控制栅极的最小电压量是由在浮栅上的电荷量来控制的。
许多EEPROM和闪存具有用于存储两个电荷范围的浮栅,且因此,可在两个状态之间编程/擦除所述存储单元。所述存储单元存储一位数据。其它EEPROM和闪存单元存储多个电荷范围,且因此,所述存储单元可被编程为多个状态。所述存储单元存储多位数据。阈电压窗口的大小和参数取决于装置特征、操作条件和操作历史。
常规EEPROM和闪存在每次经历一个擦除和编程循环时就会受到与耐久性相关(endurance related)的压力。一个闪存的耐久性是其承受给定次数的编程和擦除循环的能力。随着不断的使用,缺陷倾向于在存储装置中不断增多且可最终使装置变得不可靠。限制以前的闪存装置耐久性的一个物理现象为在浮栅与衬底之间的活性电介质中的电子的捕获。在编程期间,通过所述电介质将电子从衬底注入到所述浮栅。同样,在擦除期间,通过电介质将电子从浮栅中抽取。在两种情况下,电子皆可被所述电介质捕获。所捕获的电子对抗所施加的电场和随后的编程/擦除循环,从而引起经编程的阈电压偏移为一个较低值且经擦除的阈电压偏移为一个较高值。此可在经编程与经擦除状态之间的电压窗口的逐渐闭合中看出。若编程/擦除循环继续,则所述装置可最终发生严重故障。若实施多状态存储器,则此问题甚至更加关键,因为需要更精确地设置所述阈电压。
第二个问题涉及在所述浮栅上的电荷保留。举例来说,在浮栅上的负电荷倾向于在一段时间中通过漏电而有所减少。这导致阈电压经过一段时间而偏移到一个较低值。在所述装置的寿命期间,阈电压可偏移多达一伏特或更多。在多状态装置中,这可将存储单元偏移一个或两个状态。
第三个问题在于,对于所述存储装置中的单元所执行的编程/擦除循环不一定均匀。举例来说,将一个重复模式(pattern)持续编程入一组存储单元并不罕见。因此,一些单元将被持续编程和擦除而其它单元将永不或很少被编程。所述不均匀编程和擦除会引起一个特定区段中的单元的不均匀压力条件。编程/擦除循环历史的非均一性可导致任意特殊给定状态的阈电压的更宽分布。除了加宽阈分布以外,某些单元可比其它单元更早出现电压窗口闭合、装置故障或电荷保留问题。
发明内容
本发明,概述说来,涉及用于改进一个存储器系统的读取过程的跟踪单元。在不同实施例中,所述跟踪单元可用作一个数据恢复操作的一部分,以提供一个指示数据的质量问题的告警和/或作为一个构件以存储关于如何将数据编码在存储器中的指示。在一个实施例中,若误差校正码(“ECC”)处理不能够校正数据中的差错,则所述跟踪单元仅用于数据恢复。
本发明的一个实施例包括读取存储在一个包括一组存储元件的存储器系统中的数据。所述存储元件包括数据存储元件和跟踪存储元件。数据存储元件能够以一组多个状态存储可循环编码的数据。跟踪存储元件经读取且分类入跟踪状态。跟踪状态对应于由数据存储元件所利用的多个状态的一个子集。基于跟踪存储元件的分类来确定一个循环方案(意即,所选择的特定循环编码)。使用所确定的循环方案来读取一些或全部数据存储元件。在一种实施的一个实例中,循环方案的确定包括将两个或两个以上非冗余跟踪存储元件的分类加以组合以产生一个识别器(identifier),其与其它非冗余识别器组合来指示循环方案。
本发明的另一个实施例包括对所述跟踪单元执行多个读取操作且记录在那些读取操作期间的差错信息。基于所记录的差错信息确定一个质量规格(quality gauge)。如果质量规格满足预定标准,则执行一个预定的响应。如果预定数目的跟踪存储元件具有差错、如果预定数目的跟踪单元的阈电压从一个预期值变化了至少一预定值,或如果超出了一组渐进的差错阈值(例如,随着时间流逝的不同差错水平),则质量规格可包括一个告警。响应的实例包括放弃一个读取过程、改变一个ECC操作的参数和/或开始一个数据恢复操作。
本发明的一些实施例包括针对存储元件状态的一个子集中的每个状态执行多个读取操作。存储元件状态表示在存储器系统中的多状态存储元件的不同数据值。接着基于多个读取操作来确定用于区别存储元件状态中的每一个的一组目前比较值。一种实施的一个实例包括对第一组跟踪存储元件执行读取操作以获取与第一状态相关联的多个阈电压电平、基于对第一组存储元件执行读取操作的步骤确定第一组跟踪存储元件的阈电压电平、对第二组跟踪存储元件执行读取操作以获取与第二状态相关联的多个阈电压电平、基于对第二组跟踪存储元件执行读取操作的步骤确定第二组跟踪存储元件的阈电压电平,且基于第一和第二状态的所确定的阈电压电平来修改现有的读取比较值,其中第一状态与第二状态彼此并不相邻。
各种读取操作可为对一个请求数据的主机装置的响应或作为一个内部操作(例如,将数据复制到另一个位置、垃圾收集等等)的一部分。
本发明的一种实施包括一组存储元件和一个控制器电路。存储元件包括多状态数据存储元件和跟踪存储元件。跟踪存储元件使用由数据存储元件所使用的多个状态的一个子集。控制器电路与跟踪存储元件通信且能够引起本文中所述功能的实现。存储器系统可为EEPROM存储器系统、闪存系统或其它适合类型的存储器系统。在一个实施中,控制器电路包括用于实现所述功能的专用硬件。在另一个实施中,控制器被编程以执行所述功能。例如,软件/固件可存储在一个或一个以上处理器可读存储媒体(例如、闪存、EEPROM、DRAM和其它媒介)上以便编程所述控制器。
在一个例示性实施中,数据存储元件利用八个阈电压状态(状态0、状态1、状态2、状态3、状态4、状态5、状态6和状态7)且跟踪存储元件使用状态1和状态6。跟踪存储元件被分组成对以建立一个循环码的一位。三个位建立所述循环码。可将多组三对(例如四组)用于冗余。
从以下已接合图示陈述本发明的优选实施例的描述中,将更加明显看出本发明的这些和其它目标和优点。
附图说明
图1为利用本发明一个实施例的一个闪存系统的方框图。
图2为图1的系统的存储单元阵列的一部分的一个实施例的平面图。
图3为在截面A-A处取得的图2的存储单元阵列的部分横截面图。
图4为图3的结构的等效电路。
图5为提供用于一个操作所述存储单元的方式的例示电压的一个表格。
图6描绘本发明一个实施例的一个状态空间。
图7描绘逻辑状态分配的一个实例。
图8描绘不同循环编码方案的物理至逻辑状态分配的一个实例。
图9为描绘与本发明一个实施例相关联的用户数据和开销数据的一个数据图(datamap)。
图10描述跟踪单元数据模式到循环方案的分配的一个实例。
图11为描述一个用于写入数据的方法的一个实施例的流程图。
图12为描述一个用于读取数据的方法的一个实施例的流程图。
图13为可用于确定在读取操作期间一个单元的状态的表格。
图14为描述一个用于确定一个循环方案的方法的一个实施例的流程图。
图15为描述一个用于处理跟踪单元的方法的一个实施例的流程图。
具体实施方式
I.存储器系统
在图1的方框图中大体说明了并入本发明各个方面的一个例示存储器系统。除了图1之结构以外的结构也可用于本发明中。将大量可个别寻址的存储单元11排列成具有多行和多列的阵列。沿着阵列11的列延伸的位线通过线15与位线解码器、驱动器和感测放大器电路13电连接。沿着阵列11的行延伸的字线通过线17电连接到字线解码器和驱动器电路19。沿着在阵列11中的存储单元的列延伸的导引栅(steering gate)通过线23电连接到导引栅解码器和驱动器电路21。电路13、19和21中的每一个通过总线25从控制器27接收地址。解码器和驱动电路13、19和21也通过各别控制和状态信号线29、31和33连接到控制器27。施加到导引栅和位线的电压通过互连控制器和驱动器电路13和21的总线22来协调。
控制器27可通过线35连接到一个主机装置(未图示)。主机可为个人电脑、笔记本电脑、手持装置、数码相机、音频播放器、蜂窝电话或各种其它装置。图1的存储器系统可实现于根据若干现有的物理和电学标准中的一种标准的卡中,诸如来自PCMCIA、CompactFlashTM Association、MMCTM Association、Smart Media、SecureDigitalTM、Memory Stick和其它中的一者。当呈卡格式时,线35端接在卡上的一个连接器中,所述连接器与主机装置的一个互补连接器相对接。或者,可将图1的存储器系统嵌入在主机装置中。在另一个替代中,可将控制器27嵌入主机装置中而存储器系统的其它组件在一个可拆卸卡上。在其它实施例中,存储器系统可在封装而非一个卡中。举例来说,存储器系统可在一个或一个以上集成电路、或一个或一个以上电路板或其它封装中。
解码器和驱动器电路13、19和21根据在各别控制和状态线29、31和33中的控制信号而在阵列11的其各别线(通过总线25来寻址)中产生适当电压,以执行编程、读取和擦除功能。包括电压电平和其它阵列参数的状态信号通过相同的控制和状态线29、31和33而由阵列11提供给控制器27。电路13内的复数个感测放大器接收指示阵列11中的经寻址存储单元的状态的电流或电压电平。在一个读取操作期间,所述感测放大器通过线41为控制器27提供关于存储单元状态的信息。通常使用大量感测放大器以便能够并行读取大量存储单元的状态。
II.存储单元
图2是存储器阵列11的一部分的第一实施例的平面图。图3是在截面A-A处取得的存储器阵列的部分横截面图。说明了衬底和导电元件,同时未详细说明存在于其间的电介质层。这简化了图示,然而,应了解适当的氧化物层将包含在导电层本身之间,和导电层与衬底之间。
硅衬底45包括一个平坦上表面47。通过初始离子注入和随后的扩散来将伸长的扩散层49、51和53穿过表面47形成在衬底45中。伸长的扩散层49、51和53充当存储单元的源极和漏极。为了提供对这个描述的一个规定,所示的扩散层沿第一“x”方向间隔开,而长度沿第二“y”方向延伸。这些“x”和“y”方向基本上彼此垂直。将大量浮栅包括在衬底表面47上,所述浮栅之间有适当的栅极电介质,处在多行和多列的阵列中。一行浮栅55、56、57、58、59、60与另一行浮栅62、63、64、65、66、67相邻且平行。一列浮栅69、55、62、71和73与一列浮栅75、56、63、77和79相邻且平行。浮栅由导电掺杂多晶硅(“多晶硅”)的第一层形成,其被沉积在表面上且接着通过使用一个或一个以上掩蔽步骤的蚀刻而分隔为个别浮栅。
位线解码器和驱动器电路13(参见图1)通过线15与阵列的所有位线源极/漏极扩散层(包括图2和图3的扩散层49、51和53)连接。个别存储单元的列的源极和漏极连接到合适的操作电压,以响应在总线25上提供的地址和在线29上的控制信号来读取或编程。
图2和图3的结构为每两列浮栅使用一个导引栅。导引栅81、83和85沿“y”方向伸长且在“x”方向上具有延伸跨越两列相邻浮栅的一宽度且具有位于两列相邻浮栅间的源极/漏极扩散层。在任何两个导引栅之间的空间至少与由所述两个导引栅所重叠的相邻列浮栅之间的沿“x”方向的空间同样大,以便允许随后将一个栅极形成在这个空间中的衬底处。通过蚀刻第二层导电掺杂多晶硅来形成导引栅,所述第二层导电掺杂多晶硅经沉积在第一多晶硅层和适当的多晶硅层间电介质的整个表面上。导引栅解码器和驱动器电路21(参见图1)通过线23连接到所有导引栅且能够响应提供在总线25上的地址、线33上的控制信号和来自驱动器和感测放大器13的数据来个别地控制所述导引栅的电压。
图2和图3的字线91、92、93、94和95沿“x”方向伸长且在导引栅之上延伸,其间具有沿“y”方向的间隔,从而将每一字线与一行浮栅对齐。字线是通过蚀刻第三层导电掺杂多晶硅而形成,所述第三层导电掺杂多晶硅经沉积在首先形成在第二多晶硅层上和在导引栅之间暴露的区域上的一个电介质层上方的整个表面上。字线允许选择某行中所有存储单元以进行读取或写入。选择栅极解码器和驱动器电路19(参见图1)与每一字线连接以便个别选择存储器阵列的一行。接着通过位线和导引栅解码器和驱动器电路13和21(参见图1)来启用一个所选行内的个别单元以进行读取或写入。
虽然在以上结构中的栅极优选地由经掺杂多晶硅材料制成,但是可使用其它适合的导电材料取代所述的三个多晶硅层中的一个或一个以上层。举例来说,借以形成字线和选择栅极的第三层可为一种多硅化物(polycide)材料,其为顶端具有一种导电耐火金属(诸如钨)硅化物的多晶硅,以便增加其电导率。由于由多硅化物所形成的多晶硅层间氧化物的质量通常并不令人满意,故多硅化物通常不用于取代第一或第二多晶硅层。
图2和图3中未图示金属导体层。由于扩散层和多晶硅元件通常具有明显小于金属的电导率,故在独立的层中包括金属导体,同时沿着多晶硅元件和扩散层的长度以周期间隔穿过任意中间层连接到各别金属线。由于图2-3实施例的所有扩散层和多晶硅元件都需要被单独驱动,故通常在这些金属线的数目和扩散层与多晶硅元件的数目之间存在一一对应关系。
图4描绘图3的结构的等效电路,其中等效元件由与图2和图3中相同的参考数字来标识,但是添加了符号“′”。所说明的结构与一个相邻结构共享源极和漏极扩散层。通过在相邻扩散层49和51之间的衬底中的通道的电传导是由在三个不同区域中的不同栅极元件来控制的。左侧的第一区域(T1-左)的正上方具有浮栅56和与其电容性耦合的导引栅81。右侧的第二区域(T1-右)以相同方式受到浮栅57和导引栅83的控制。在T1-左和T1-右之间的第三区域T2是通过作为字线92的一部分的选择栅极99来控制的。
通过扩散层49与51之间的通道的电子传导水平因此受通过施加在栅极上的电压而由这些不同栅极元件赋予其各别通道区域的电场所影响。在浮栅上的电压取决于其携带的净电荷加上从其它栅极和节点电容性耦合来的所有位移电荷的量。通过在一个浮栅下的通道部分的所允许导电水平由在那个浮栅上的电压所控制。在选择栅极99上的电压仅打开和关闭通道到任何传导状态以便选择个别单元以与其源极/漏极区连接。在一个实施例中,可将个别存储单元看作三个晶体管的串联,一个晶体管对应于通道的三个不同区域(T1-左、T2、T1-右)中的每一个。在其它实施例中,可将每一浮栅看作一个存储单元。
通过将一个电压施加在某单元的另一(未选择)浮栅之上的导引栅上(所述电压足以致使在所述另一浮栅下方的通道区域变得足够导电,而无论所述另一浮栅携带了何电荷(与其状态相关))来选择单一存储单元的两个浮栅中的一个以用于编程或读取。当通过施加到那个单元的字线的一个充分电压来打开所述单元的选择晶体管时,仅所选择的浮栅响应针对所述单元的读取或编程操作。在读取一个浮栅的状态期间,在单元的源极和漏极之间通过所述单元的电流就取决于由所选浮栅所携带的电荷,而不考虑在另一浮栅上的电荷。虽然施加在未选择浮栅上方的导引栅上以使在所述未选择浮栅下的通道部分导电的电压也通过相同的导引栅耦合到相邻单元的相邻浮栅,但是通过将适当电压条件施加在相邻单元的其它元件上可避免对相邻单元的影响。
图2-4的实施例的浮栅优选地通过将电压施加在其位线(源极和漏极扩散层)和其两个导引栅上来加以编程,所述电压导致电子在衬底通道区域中获得足够能量而越过栅极电介质注入到所选浮栅上。用于其的优选技术为在美国专利第5,313,421号和第5,712,180号中所述的“源极侧注入”,两案之全文都以引用的方式并入本文中。
为了擦除图2-4的实施例的存储单元,可设计和操作其以使得电子被从所选浮栅移动到通道或字线的选择栅极。若电子被擦除到选择栅极,则在浮栅边缘103和选择栅极99之间的电介质优选地为一薄层氧化物,其生长在浮栅边缘上且当将适当电压施加在所述单元的各种元件上时电子可穿过其发生隧穿效应(tunnel)。在浮栅边缘105和选择栅极99之间提供同样条件。当被设计成将电子擦除到选择栅极99时,应注意确保所导致的跨越选择栅极和衬底表面47之间的栅极电介质的电压梯度保持充分低于所述电介质的击穿电平。这一点需要关注的原因是因为字线通常在擦除期间被提升到超出10伏特的电平且有时被提升到20伏特或更多,同时施加到所述单元的其它电压通常为5伏特或更少。跨越选择栅极电介质的电压梯度可通过使所述电介质更厚或选择具有高于正常所用的介电常数的电介质来减小,但是这会不利地影响选择晶体管的操作。
若单元是擦除到通道的,则稍微修改图2-4的实施例。首先,使得在选择栅极99和相邻浮栅边缘103和105之间的电介质更厚以阻止浮栅到选择栅极的擦除。第二,使得在浮栅下侧和衬底表面47之间的栅极电介质的厚度更薄,诸如大约100埃,以促进电子的隧穿过其。第三,将待作为一个区块同时擦除的单元沿着列或在区块内分组到一起。在一个实施例中,在衬底上使区块与其它区块分离。这通常通过三阱方法来完成,其中将一个n型阱形成在一个p型衬底中,且将一承载单元区块的p型阱定位在使该区块与其它区块分离的n型阱内。接着将适当的擦除电压施加到待擦除区块的p型阱,同时不影响其它区块。
关于图1-5结构的更多细节可在美国专利6,151,248中发现,其全文以引用的方式并入本文中。图2-4的存储器结构为一个合适存储单元实例。其它结构也可用于实施本发明。举例来说,一个实施例可使用包括电荷存储电介质的多层电介质。
III.存储器阵列操作
在图5的表格中提供了用以编程、读取和擦除阵列11的存储单元的例示操作电压。行(2)涉及擦除到选择栅极(字线)的单元类型的操作,而行(8)显示用于操作擦除到衬底的单元类型的修改。在这些实例中,其中形成单元的衬底部分包含p型掺杂且位线扩散层为n型的。在所有这些操作中均使衬底保持在地面电势处。
在图5表格的行(1)中,所提供的电压条件是用于未被选择的一行。通过驱动器电路19将一个未选择行的字线置于地面电势(图1)。在沿着一个未选择行的用于单元的位线(扩散层)和导引栅的列中的“X”指示在那些元件上的电压并不要紧,即一个“无关”状态。由于不存在由用于阵列元件的电路13、19和21中任一者所产生的负电压,故在这个实例中,在一行的选择栅极上的零电压确保不启用沿着那行的单元中的任一个。没有电流可流过其通道。编程或读取在不同行的相同列中的其它单元可在不影响在其字线上具有零电压的行的条件下进行。
表格的第二行(2)提供一组例示电压,其用于擦除经设计以擦除到字线的选择栅极的单元类型。通过驱动器电路19将在10-25伏特范围中(例如20伏特)的高擦除电压VE施加到浮栅待擦除的所有字线。这通常是包括在大量相邻行中所有单元的至少一个经定义的单元区块。然而,在适当的应用中,可同时擦除更少或更多的单元。或者,擦除区块可甚至限制于单一单元行。沿着一个或一个以上所选择行的单元的导引栅经驱动电路21设定为一个低电压(例如,零伏特)以便通过在导引栅和浮栅之间的高度电容性耦合来使浮栅的电压维持在一个低电平处。在浮栅和其各别选择栅极(字线)之间所引起的电势差导致电子隧穿过中间电介质。关于擦除的更多信息可在美国专利5,270,979中发现,其以引用的方式并入本文中。
图5表格中的行(3)和行(4)提供用于读取一个存储单元的两个浮栅的状态的例示电压:行(3)关于左侧浮栅且行(4)关于右侧浮栅。在每种情况下,通过将选择栅极提升到一个足以打开单元的选择晶体管以允许电流流过通道的电压VSR来启用所述单元。这个电压通常比选择晶体管的阈值高一伏特。
当读取一个浮栅的电压状态时,正被读取的浮栅上的导引栅上施加了一个电压VM且将在另一浮栅上的导引栅提升到VBR,如图5表格的行(3)和行(4)所示。使得电压VBR足够高(例如,8伏特)以使得无论未选择的浮栅的编程状态如何,在未选择的浮栅下的单元通道部分都充分导电。为了读取所选择浮栅的状态,在读取步骤期间使电压VM步进经过多个电压(以下描述),且通过在电路13内的感测放大器来侦测当单元电流通过一个经定义的阈时VM的值。
在图5表格的行(5)和行(6)中给出了用于编程双浮栅单元的一个浮栅的例示电压。为了选择用于操作的单元,充分提升选择栅极以接通所述单元的选择晶体管。电压VSP可不同于在读取期间所使用的电压VSR以便优化源极侧注入编程速度。一个实例为当选择晶体管的阈值为一伏特时Vsp=2.2伏特。在编程操作期间,将与经选择以被编程的浮栅在单元的相同侧上的位线扩散层提升到一个最大位线电压(例如,5伏特)。使得这个电压足够高以能够在浮栅和选择栅极通道之间的间隙上积聚一个足够大的电场以获得源极侧热电子编程。在编程期间,与未选择浮栅在单元相同侧上的位线扩散层被偏压到零伏特或接近零伏特。
将在未选择浮栅上的导引栅提升到一个足以使在未选择浮栅下的通道区域充分导电的电压VBP(例如,VBP=8伏特)以便不与编程目标浮栅冲突,无论什么浮栅电压存在在未选择浮栅上,只要在浮栅电压的一个编程窗口范围内。将具有一个能将所选择浮栅驱动到一个电压(其辅助产生在其下的通道中的所需电场条件以供热电子编程)的电平的电压VP施加到在所选择浮栅上的导引栅。举例来说,电压VP可在5-12伏特的范围内。这个电压可在编程操作期间变化。通常,首先将适当组的编程电压施加到一个已擦除单元,之后是适当组的读取电压,且,若读取步骤并未指示已经将所选择浮栅编程到所需电压状态(其可为用于二进位存储的编程状态或用于多电平存储的可变存储状态中的一者),则可再次施加可部分不同于较早组的编程电压。
图5表格的行(7)显示施加到在被选择用于编程的行中但本身将不被编程的那些单元的电压。举例来说,在一个阵列的一个分段部分的一个行内的被同时编程的若干单元可沿着所述行与在其之间的未经编程的其它单元交替间隔。这些未被编程的单元接收图5表格的行(7)的电压。将相反位线扩散层保持在相同电压处以便防止任何电流在通道中流动(例如,都在零伏特处或都在5伏特处)。与在行(1)中所使用的符号一样,“x”指示在这些单元的导引栅上的电压为无关的。
在存储器阵列经设计成被擦除到衬底的情况下,施加行(8)而非行(2)中的那些擦除电压条件。将包含待擦除的单元区块的p型阱和其周围的n型阱提升到擦除电压VE,在10-25伏特的例示范围内(例如,20伏特为优选的)。在读取和编程所述单元期间,将其阱保持在地面电势处。优选地在擦除期间将一个正电压VSE施加到选择栅极以便降低在选择栅极电介质上所施加的电压,因为在衬底和选择栅极之间的一个过大电压差可毁坏电介质材料或导致其被制造得比用于单元操作原本所需的厚度更厚。由于此电压部分地从选择栅极耦合到要擦除的毗邻浮栅,故其不能太高否则使得在浮栅和衬底通道之间的电压差(使其为高来实现擦除)被减少的太多。VSE的一个例示范围为3-12伏特,取决于VE的电平。当VE=20伏特时优选地VSE=10伏特。
在图5中所提供的值为一组实例。所属领域的技术人员能够使用其它适合的值和方法来操作所述存储器系统。
IV.跟踪单元
如上所述,浮栅可存储多个电平或电荷范围,因此,提供了多个状态。在一个实例中,浮栅存储八个目标电荷范围;因此,提供了八个状态。所述浮栅存储三位数据。图6图形地描绘了可存储八个状态的浮栅的例示状态空间。图6显示八个物理状态:P0、P1、P2、P3、P4、P5、P6和P7。用于例示的目的,在图6中的垂直轴线是用于以毫伏为单位的阈电压。然而,视实施而定,可使用其它单位。对于物理状态中的每一个,图6显示了阈电压电平的分布范围,其通过一个钟形曲线来表示。钟形曲线的顶端(或最右方点)通常为状态的中心。举例来说,状态P1具有在1,000mV处的状态中心、在800mV处的下限和在1,200mV处的上限。在所述状态之间的区域称为状态间阈余量。存在七个阈余量,每一个阈余量在每一相邻组状态之间。举例来说,在相邻状态P1和P2之间存在一个阈余量。请注意图6显示了状态P1-P7为正电压而P0包括负电压。在其它实施例中,更多或更少状态可为正的或负的。另外,在各种实施例中,由于存储器阵列的特殊特征和条件,从0到4,900mV的电压范围可不同。
一个存储八个状态的浮栅可存储相当于三位的数据。因此,存在八个逻辑状态。在一个实施例中,使用葛雷码分配(gray code assignment)来将这些逻辑状态分配给物理状态以便当浮栅的阈电压错误地偏移到其相邻物理状态时,仅一个位会受影响。图7提供一个描绘二进位数据到逻辑状态的例示性葛雷码分配的表格。在其它实施例中,也可使用非葛雷码分配。每个逻辑状态分配给一个物理状态。然而,可循环逻辑状态到物理状态的分配。图8为一个显示用于将逻辑状态分配到物理状态的八个不同循环方案的表格。举例来说,在循环0中,物理状态P0存储逻辑状态L0(例如,二进位数据000),物理状态P1存储逻辑状态L1(例如,二进位数据001),等等。在循环1中,物理P0存储逻辑状态L7(例如,二进位100),物理状态P1存储逻辑L0(例如,二进位数据000),等等。因此,存在当编程时可使用的八个不同循环方案。在本发明的一个实施例中,每次编程一个区段,那个区段将首先经擦除且接着使用八个循环方案中的一个来编程。在之后的编程/擦除循环中,将使用一个不同的循环方案来编程所述区段。在一个实施中,存储器装置将顺序轮转经过所述循环状态。在另一个实施例中,存储器装置将为每一编程循环随机(或伪随机地)选择一个循环方案。循环数据可独立于正编程入所述区段的实际数据模式而促进在重复编程擦除循环中的对一区段中的所有单元的均匀压力状态的维持。就数据循环来说,应注意在一个实施例中,可将相同的发布-擦除循环扩展到一个给定擦除区块的所有区段,因为所有那些区段历史一致地操作。也应注意,如果区段内磨损调平(wear leveling)不足,则可需要某些形式的强制编程区段内磨损调平(例如,偶尔编程到某一强制电平或逻辑数据模式)。
在一个实施中,存储器阵列11被划分为区段。如何划分区段的一个实施例被描绘在图9中。所述区段包括用户数据250和ECC数据252。区段通常由在一个字线上、能够存储512字节用户数据的单元子集组成。区段的其它定义也可配合本发明使用。所述区段也包括跟踪单元254和标头信息256(未由用户直接指示)。标头信息包括地址信息、位和/或区段映射相关信息和写入所述区段的次数的计数值。其它信息也可存储在标头中。跟踪单元的实例可在美国专利第5,172,338号、第6,222,762号和第6,538,922号中发现;所述专利案的全文以引用的方式并入本文中。跟踪单元用于可靠地建立在浮栅中的电荷的各种状态中的每一个的最佳辨别点。在图9中所描绘的实施例中,区段包括24个跟踪单元。所述跟踪单元经分成对且接着将三对分组为一组。在一个实施例中,每对包括在相同区段内的一对浮栅,其中浮栅如上参考图2-4所述。图9显示四组跟踪单元:组260、组262、组264和组266。在一个实施例中,所述组为相同信息的冗余复本。
在一个实施例中,跟踪单元仅以两个状态之一存储数据。举例来说,图9显示每一跟踪单元以物理状态P1或物理状态P6存储数据。在其它实施例中,可使用其它状态。在许多实施例中,不会使用所有状态。举例来说,图6显示具有八个状态的存储器状态空间。因此,本发明对于跟踪单元将使用少于八个状态。使用一状态子集的优点在于所使用的状态(跟踪单元状态)可用在其之间的一个或一个以上状态加以分隔。选择状态P1和P6的考虑在于其在阈电压电平方面分隔地尽可能远以提供最大基线,同时避免由于不同相关操作条件或要求而可具有不同阈电压分布统计数据的两个末端状态(状态P0和状态P7)。举例来说,状态P0可能遵循擦除操作的统计数据,与数据编程的统计数据成对比。在编程工作最繁重的状态(状态P7)的情况下,放松余量的潜能可导致在分布中的相对于中间状态P1-P6的差异/偏移。图6将状态的电压阈分布说明为钟形曲线。对应的跟踪单元分布由更窄的钟形曲线200和202描绘。由于分隔状态P1和P6的大阈电压增量(Δ),在不同样大量破坏数据部分的条件下,将非常难于误侦测足够量的跟踪单元(将一个较高阈电压范围与一个较低者互换和/或反之)。
在具有八以外之数目的状态的实施例中,跟踪单元可使用不同状态来存储数据。举例来说,在具有四个状态(例如,P0、P1、P2、P3)的装置中,跟踪单元可以状态P1和P3存储数据。在一个具有十六个状态(P0、P1、P2、……、P14、P15)的装置的实施例中,跟踪单元可以状态P1和P14存储数据。可代替以上所提及的状态或除了以上所提及的状态之外使用其它状态。
引起的一个问题是应将对应跟踪单元置于数据流内的何处。将其保持在末端消除了不断将其移出的需要,从而潜在地在读取期间节省了少量时间但潜在地需要在必要时移出整个区段的数据以读取跟踪信息。这也倾向于将跟踪单元物理地聚集在区段的一个局部区域中,使得其易受局部变化的影响。在整个区段中物理地分配跟踪单元改进了反映一个区段内的局部变化的能力,但是管理和使用很麻烦。和置于末端的情况一样,将跟踪单元置于前端也将倾向于将其物理地聚集到一起,且跟踪单元将无论是否需要都被包括在每一读取操作的读取通过(read pass)中。然而,在一个实施例中,跟踪单元也用于编码数据循环状态。当使用跟踪单元编码数据循环时,应在每一读取过程期间读取所述跟踪单元。因此,如在图9中所描绘的,将其置于数据流前部是有道理的。应注意,有可能通过构建阵列解码均匀地将这些跟踪单元物理地分散在区段内同时仍提供前端跟踪单元读取来反映此实施例。
每一跟踪单元以状态P1抑或P6存储数据。也就是说,使阈电压电平处在P1或P6处。当与相邻单元(例如,在一个实施例中,相邻的浮栅)配对时,其经编程以便所述对中的一个处在状态P1且所述对的另一个处在状态P6。这样,所述对可具有两个定向:16或61。当所述对处在16时,则所述对被认为是逻辑0。当所述对处在61时,认为所述对是逻辑1。因此,将一对跟踪单元用于形成一位循环编码数据(0或1)。一组三对形成适合于存储八个可能循环方案中的一个的一指示的三位循环编码数据。举例来说,组260包括三位循环编码数据。在组260中的第一位是16,其是逻辑0;在组260中的第二位是61,其是逻辑1;且在组260中的第三位是16,其是逻辑0。因此,组260存储码010(十进制数2或循环2)。在其它实施例中,可使用比八个循环更多或更少的循环,且因此,识别循环方案的码可由三个以上或三个以下的位(例如,两位、五位、等等)和六个以上或六个以下的跟踪单元和/或浮栅所形成。在一个实施中,浮栅可存储16个电平/状态且使用了循环位中的4个(或不同数目)。在一个实施例中,所述组中的每一个彼此冗余。通过使用冗余,可校正在跟踪单元中的个别差错。因此组262、264和266全部存储010。在一个特定组中的三位和六个跟踪单元彼此不冗余,因为需要所有三个位(和相关的六个单元)来识别循环方案的码。
由每组所存储的三位表示一个指示一特定循环方案的码。如上所讨论,图8描绘了在本发明的一个实施例中的八个不同循环方案。图10描绘如何将存储在组260、262、264和266内的各种码分配给每一循环状态。因此,为161616的数据模式对应于循环0,161661对应于循环编码1,166116对应于循环编码2,166161对应于循环编码3,611616对应于循环编码4,611661对应于循环编码5,616116对应于循环编码6且616161对应于循环编码7。
图11为描述用于编程一个区段的单元的方法的流程图,其包括编程跟踪单元。用于编程个别单元的技术以上已描述。图11为一个装置级流程。在步骤342,接收用户数据。也就是说,控制器将接收来自一个主机系统的数据。在另一个实例中,待写入的数据可来源于内部,由诸如擦洗(scrubbing)、磨损调平或垃圾收集的内部需要所规定。在步骤344中,控制器确定要使用的循环方案。如上所讨论,可顺序、随机、伪随机或通过任意其它适合方案来选择循环方案。在步骤346中,对于每一跟踪单元,确定与所选择循环方案相关联的适当物理状态。也就是说,基于循环码(参见图10),将适当数据模式分配给跟踪单元的组。在一个实施例中,跟踪单元并不循环。在步骤348中,控制器确定每一个待编程的数据值的物理状态。也就是说,使用图8的表格,将每一数据值的每一逻辑状态分配给一特定存储单元的一个物理状态。在一些实施例中,当正将数据传输到存储器时,动态计算所述数据的物理状态。
在步骤350,控制器发出一个“数据装载”命令。在步骤352中,从控制器将地址数据提供给适当的解码器。在步骤354中,将编程数据输入到存储器阵列,适当地偏压字线和位线,数据和地址已被锁存以建立被选择的位线、字线和导引栅。在步骤356中,控制器发出一个“编程”命令。
在步骤360中,执行一个编程操作。在许多实施例中,将一个编程电压分为许多脉冲。脉冲的量值随着每一脉冲增加一个预定步长(step size)。在脉冲之间的周期中,执行验证操作。也就是说,在每一编程脉冲之间读取被并行编程的每一单元的编程电平以确定其是否至少与其数据相关验证电平相等。举例来说,若阈电压经提升到2.5伏特,则接着验证过程将确定阈电压是否为至少2.5伏特。一旦确定了一个给定存储单元的阈电压已达到或超出验证电平,则从那个单元中除去编程电压,终止进一步编程。对仍被并行写入的其它单元的编程继续,直到其也达到其验证电平,于是终止其编程。
在图11的步骤358中,将编程电压(Vpgm)初始化为起始脉冲条件且将一个编程计数器PC初始化在0处。在步骤360中,施加第一Vpgm脉冲。在步骤362中,验证经选择存储单元的阈电平。如果侦测到所选择单元的目标阈电压已达到通过其相关数据所确定的其适当电平,则对那个单元的进一步编程被禁止。如果已确定阈电压未达到适当电平,则对那个单元的编程将不被禁止。因此,如果所有验证状态(步骤364)指示所有单元已达到其适合的阈电平,则将在步骤366中报告一个通过状态。若所有单元未被验证为达到适当阈电压,则在步骤368中,对照编程限制值来检查编程计数器。一个编程限制值的实例为20。若编程计数器为不少于20,则编程过程已失败且在步骤370中报告“失败”状态。若编程计数器少于20,则在步骤372中将编程电压电平增加一步长且将编程计数器加一。在步骤372之后,过程返回到步骤360以施加下一个编程电压脉冲。
一旦经编程,阵列11的存储单元就可根据图12的过程来读取。在步骤400中,读取操作开始于正常比较点(normal compare point)。一个比较点为一个电压阈电平,其通常设定在两个电压阈状态之间且用于区别在那个电平以上和以下的状态。举例来说,图6将比较点显示为在700mV、1,300mV、1,900mV、2,500mV、3,100mV、3,700mV和4,300mV处的阴影浓重的灰线。另外,存在一个用以规定当在跟踪单元处理之后数据质量较低时是否强制进行多位校正尝试的选项,如以下将更详细描述。这个选项可由主机、由控制器或预编程到存储器系统中来规定。
在图12的步骤402中,确定本地地址。也就是说,控制器接收或存取待读取数据的一个逻辑地址(或多个地址)。这些地址被转化为在特定存储器阵列中的物理地址。在步骤404中,将布尔变量(boolean variable)TrackingDone设定为False。在步骤418中,读取跟踪单元。以下将描述关于读取跟踪单元的更多信息。在步骤420中,计算循环方案且在步骤422中,确定(或更新)一个相关质量规格。以下将描述关于计算循环和确定/更新质量规格的更多信息。在步骤424中,基于质量规格确定所述数据为高质量还是低质量(以下所述)。如果质量规格指示低质量数据,则过程进行至步骤470(下文讨论)。如果质量规格指示高质量数据,则在步骤426中,使用经计算的循环来读取用户数据和误差校正码以自物理地读取的数据建立逻辑数据。也就是说,根据在步骤420中所确定的循环方案来解码用户数据。根据在此项技术中已知的标准方法,控制器产生用于数据读取过程的ECC验证子(ECC syndrome)。在步骤428中,这些ECC验证子经分析以确定在数据中是否存在任何差错。如果ECC并未发现任何差错(步骤430),则读取过程完成且为成功的。如果请求来自主机,则所读取的数据从控制器回报给主机。如果ECC过程确定一个差错存在(步骤430),则在步骤440,控制器尝试一单位纠错过程。也就是说,使用所属领域的技术人员所熟知的方法,将ECC用于校正有差错的单一位数据。如果单位纠错过程为成功的(步骤442),则视情况(如一个选项位所设定的)排队经校正数据以用于重写(步骤444)。接着认为读取过程成功,将数据回报给主机(如果需要)且视情况将经校正数据重写到存储器阵列。应注意,将ECC用于读取数据在此项技术中已熟知。本发明将可配合此项技术中已知的许多ECC方案一起工作。如果单位纠错过程不成功(例如,由于存在多个差错),则通过在步骤450中测试布尔变量TrackingDone来确定跟踪单元处理是否已完成。如果变量TrackingDone设定为True(那意味着跟踪单元处理已完成),则所述过程在步骤452中尝试一个多位纠错过程。本发明将配合此项技术中已知的多位纠错过程一起工作。如果多位纠错技术成功(步骤454),则经校正数据被排队以用于重写入,认为读取过程为成功的且所读取(和校正)的数据被返回到主机(如果需要)。如果多位纠错过程不成功(步骤454),则认为读取过程为失败且相应地来处理(例如,如果主机期待这个数据,则主机接收到一个差错消息)。
如果在步骤450中,确定跟踪单元处理未完成(由于布尔变量TrackingDone被设定为False),则在步骤460中,控制器将执行跟踪单元处理。跟踪单元处理包括处理跟踪单元以确定一组新的比较点。以下将参考图15描述关于步骤460的更多信息。在步骤462中,将基于步骤460的结果调整现有比较点且在步骤464中将布尔变量TrackingDone设定为True。在步骤464之后,过程返回到步骤418且系统再次尝试使用新比较点来读取跟踪单元和数据单元。应注意,新比较点可被临时或永久使用。另外,新比较点可仅用于处理中的当前区段,或用于当前区段以及其它区段。举例来说,在一个实施例中,如果将一组区段当作一个组(例如,一个文件)且如果调整了一个区段的比较点,则在所述组中的所有区段的比较点都将被调整。
如果在步骤424中,质量规格指示低质量数据,则过程进行至步骤470。在步骤470中,通过测试布尔变量TrackingDone来确定跟踪单元处理是否已完成。如果TrackingDone设定为True,则读取过程失败。如果TrackingDone设定为False,则在步骤460中执行跟踪单元处理。另外,在步骤470处,可设定一个变量以强制所述过程在步骤452中执行多位纠错。
图12的步骤418包括读取跟踪单元。为了这样做,使在适当导引栅上的电压电平步进经过七个比较点,如参考图6中所述,以便执行七个读取操作。在每个读取操作中,将导引栅的电压步进到一不同电平以便在每一比较点处测试跟踪单元。在每一比较点处,确定特定跟踪单元是打开还是保持关闭。也就是说,电流流动还是没有流动。在七个读取操作的结束时,将来自读取操作的数据移位到控制器。接着控制器根据图13的表格来变换那个数据。在图13中的表格基于来自七个读取操作中的每一个的数据来指示一个特定存储单元处于什么状态。举例来说,如果对于所有七个读取操作存储单元都打开,则存储单元处于物理状态P0中。如果在第一通过期间存储单元关闭且在剩余六个读取操作期间存储单元打开,则存储单元处于状态P1。如果在前两个读取操作期间存储单元关闭且在剩余读取操作期间存储单元打开,则存储单元处于状态P2,等等。如所预料,当不存在任何差错时,每一个跟踪单元被发现为数据状态P1或P6,与初始写入时一样。在其它实施例中,可使用其它状态。应注意,如上所述的读取过程使用电压感测;然而,应了解,电流感测或其它读取(或感测)方法也在本发明的范畴内。
图14是描述用于计算循环方案的过程(图12的步骤420)的一个实施例的流程图。在步骤520中,控制器存取来自一对跟踪单元(在一个实施例中,一对浮栅,例如,参见图3-4)的数据。在步骤522中,确定一对跟踪单元中的一个是否处于状态P1且所述对跟踪单元的另一个是否处于状态P6。如果这样,则在步骤524中适当设定用于那两个跟踪单元的位,如参看图10所述。也就是说,如果第一跟踪单元处于P1且第二跟踪单元处于P6,则将对应循环位设定为0。或者,如果第一跟踪单元处于P6且第二跟踪单元处于P1,则将循环位设定为逻辑1。在步骤526中,确定是否存在任何更多对单元要处理。如果存在更多对要处理,则方法返回到步骤520。应注意在一个实施例中,当已确定单元处于状态P1和P6(参看步骤522)时,系统可接受除了状态P1或状态P6以外的状态。举例来说,状态P0、P1、P2和P3(或那些状态的一个子集)可被当作状态P1且状态P4、P5、P6和P7(或那些状态的一个子集)可被当作状态P6。
如果在步骤522中确定所述单元对并不具有一个处于状态P1的单元和处于状态P6的另一单元,则在步骤530中,确定两个单元是否处于不同状态中。如果两个单元处于相同状态,则存在一个错误,在步骤532中记录所述错误。步骤532可包括在存储用于这个特定比较的具体数据之后将数据添加到一个逐次差错测量结果。在步骤532中存储的数据用于质量规格。如果两个单元处于不同状态,则在步骤534中,控制器将具有较低阈电压的单元分配为处于状态P1(步骤534)且将具有较高阈电压的单元分配为处于状态P6(步骤536)。在步骤538中,记录差错且操作返回到步骤524。步骤538可包括记录不处于状态P1或P6的单元数目和/或这些特殊单元自状态P1和/或P6的偏移的增量(Δ)。
当不存在更多要处理的对时(步骤526),则在此时系统将已处理12对,且因此,将具有12位数据。所述的12位数据被分组为按图9中所描绘的方式加以组织的四组数据。在步骤550,通过比较三个位与图10的表格来确定用于每一组的循环。为每一组独立确定一个循环。接着相对于彼此比较所述组。如果所有四组具有相同的循环码(步骤552),则在步骤554中存储那个循环码。如果所述的四组并不一致,则接着在步骤556中解决争议,且在步骤558中存储差错信息之后,接着在步骤554中存储经解决得的循环码。
存在许多方式来解决争议。一种方式是表决,其中多数取胜。举例来说,如果四组中有三组确定所述码为一个特定值且第四组确定一个不同的特定值,则争议将通过使用由所述三组选择的码来继续而解决。一个替代方法是将位匹配以看出那个位偏离且接着通过位来进行表决。举例来说,如果在所有四组上的前两位都相同,但在所述组中的一组中的第三位不同,则假定第三位是由具有一个共同值的所述三组所确定的值。或者,可通过单元来得出结果,其中如果所有组的五个单元相同且在所述组中一个组的第六单元不同,则忽略所述一个不同单元。
用于确定循环的另一个实施例是利用一个为物理状态P1和物理状态P6之间的中途点的比较点来为每一跟踪单元仅执行一次读取。假定所有打开的单元处于P1且所有保持关闭的单元处于P6。其中一个循环对的两个单元经决定处于相同状态中,所述系统可以更大分辨率来步进经过各种中间比较点直到其发现所述单元之一打开而另一个单元关闭的一个比较点。
图14显示了在其中记录差错的框532、538和558。这个差错用于产生质量规格。基于在步骤532、538和558中所记录的数据,在图12的步骤422中确定质量规格。在一个实施例中,质量规格测量差错的数目、差错超过一个阈值的量,等等。举例来说,在一个实施例中,质量规格可存储不处于状态P1或P6的跟踪单元的数目的指示,或质量规格可存储所述单元不同于P1或P6的累积量或平均量。或者,质量规格可存储多个值,诸如那些不处于P1或P6中的跟踪单元与P1和P6的差异中的每一个。其它数据或差错测量结果也可反映在质量规格中。在另一个实施例中,基于差错数目或量值将质量规格设定为若干预设定状态中的一个。当质量规格满足预定义标准(取决于所测量的数据)时,诸如低于一个阈值、高于一个阈值或满足一个规则/性质,所述系统可使用质量规格来触发行为。
尽管在存在宽偏移和数据状态/余量的情况下确定循环具有宽容度相当大的能力,但从跟踪单元读取的实际状态可实质上偏离目标状态P1和P6。通过确定有多少单元不同于目标,建立质量规格的一个实施例。当这个质量规格超出一个预定阈(或渐进的阈值集合)时,可响应质量规格而触发一个警报条件(或一系列渐进的警报条件)。在一个实施例中,存储器装置将不执行对警报条件或差错规格的响应(例如,其将照常操作且读取过程将继续)。在其它实施例中,存储装置将执行对警报条件的响应;举例来说,所述过程可立即移动到跟踪单元处理(参见图12的步骤424)以调整比较点且重启动读取过程。或者,可放弃整个读取过程(例如,通过步骤470转到Done/Failure(完成/失败)区块)。在另一替代中,可改变ECC参数。举例来说,如果质量规格在阈之上,则系统可选择不执行多位纠错。一个触发警报条件的阈的实例是不处于状态P1或P6的跟踪单元的数目是否大于1。这将允许忽略单一随机失败位(例如,由于随机噪音)。然而,因为出现两个此种随机、不相关差错的可能性非常小,所以将标记出多于一个的失败,从而指示了存在于区段内的更普遍的失败条件。在其它实施例中,阈可为2个(或任何数目)不处于状态P1或P6的跟踪单元。
图15是描述一个执行跟踪单元处理的过程的一个实施例的流程图(参见图12的步骤460和462)。在步骤600中,控制器将导致针对在与物理状态P1相关联的一预定范围内的每一阈电压而在每一跟踪单元上执行读取操作。举例来说,图6显示与状态P1相关联的阈电压210。这十五个电压包括在状态P1的预期范围内部、以及低于和高于那个范围的阈电压。在其它实施例中,可使用一个更大分辨率以便测试更多阈电压或可使用更小分辨率来测试更少阈电压以节省时间。其它实施例可增加或减少在图6中所描绘的分辨率范围。在一个实施例中,所有跟踪单元将具有针对那些阈电压中的每一阈电压的读取操作。在另一个实施例中,仅那些被认为处于P1中的跟踪单元将针对与P1相关联的阈电压而执行读取操作。举例来说,在每一被认为处于状态P1的跟踪单元上存在15个读取操作。在另一个实施例中,所有的跟踪单元将针对那些阈电压中的每一阈电压进行读取操作,然而,对于那些不被认为处于P1的跟踪单元来说读取操作的结果将被丢弃。在步骤602中,控制器将导致针对在与状态P6相关联的一范围内的每一阈电压而在每一跟踪单元上执行读取操作。举例来说,图6显示在与状态P6相关联的范围中的十五个阈电压212。以上关于P1所讨论的类似实施例替代也可应用于P6。举例来说,可使用多于十五个的阈电压来达到一个更高的分辨率且也可通过少于十五个的阈电压来使用更低分辨率。在一个实施例中,和P1的情况一样,每一跟踪单元将在步骤602中经历十五个读取操作。在另一个实施例中,在步骤602中将仅读取那些被认为处于P6中的跟踪单元。
在图15的步骤604中,控制器将基于步骤600和602的读取操作而确定每一跟踪单元的实际阈电压。控制器将寻找使单元开启的第一个阈电压。在步骤604的末端,控制器将具有24个阈电压,每一个用于所述24个跟踪单元中的一个。在步骤606中,控制器将确定状态P1的一个代表阈电压。在步骤608中,控制器将确定状态P6的一个代表阈电压。两个状态中的每一者的代表阈电压可使用多种熟知数学方法之一来计算。举例来说,可建立每一状态群体的分布且确定其平均值。或者,可使用线性回归(linearregression)。为简化,可执行每一群体的简单平均。在一个替代中,计算一个简单平均数但是丢弃非正常值(outlier)。可通过一个过滤过程或仅通过去除所述两个群体(例如,P1和P6)中的每一者的最高和最低阈电压来丢弃非正常值。
在步骤610中,基于两个代表阈电压产生七个新比较点。通过内插法和外插法来建立这些比较点以达到最优比较点的一个最佳估算值。存在用于确定比较点的许多方法。在一个实例中,控制器可确定状态P1和P6的代表阈电压中的增加,平均那两个数目以确定一个平均增加且接着将现有的比较点提升那个平均增加的量。举例来说,如果已确定状态P1和P6的代表阈电压增加了100mV的平均增加量,则将通过将默认比较点集合(700、1300、1900、2500、3100、3700、4300和4900)提升100mV到新电平(800、1400、2000、2600、3200、3800、4400和5000)来调整所述默认比较点集合且根据这些新比较点来读取数据。在另一个实施例中,所述系统可估计八个状态中的每一者的代表阈电压、确定这八个代表阈电压之间的关系、将状态P1和P6的新值插入到那个关系中以确定八个状态中的每一者的新阈电压。利用所述新阈电压,可通过建立最接近相邻状态间的中点的读取电压电平来计算状态之间的新比较点。或者,可在比较点和状态P1和P6的代表阈电压之间确定一个关系,以便插入用于P1和P6的代表阈电压的新值会改变所述比较点。也可使用其它算法。
在一个实施例中,新比较点并不只用于刚触发跟踪单元处理的失败的读取区段,而是也用于之后的读取(例如,在相同读取会话或未来读取会话期间读取对相同存储器中的其它位置的读取,其可需要或可不需要相同校正)。在所述的情况下,选择的比较点可为代替原始参考值的校正值。或者,两组参考寄存器和相关读取模式可同时维持两组条件,一个使用默认值且另一个使用最近建立的校正值。在一种模式下出现读取失败时,可通过使用所述另一读取模式/参考条件来实施重新读取以作为尝试数据恢复的第一步骤。可基于成功的可能性来来最优地建立将被首先尝试的模式(例如,统计学地基于特征,或动态地基于成功历史)。应注意,以上过程描述了在跟踪单元处理期间的十五个步骤。其它实施例使用比十五个步骤更多或更少的步骤;举例来说,所述过程可使用伏特分辨率(volt resolution)为25mV且状态间间隔为500mV的20个步骤。在一个实施例中,仅在质量规格指示低质量数据或ECC失败的情况下,才执行跟踪单元处理。
应注意在一个实施例中,系统可独立读出一个标头或标头堆栈(例如,预备一个内部数据复制操作时),其中用户数据部分必须在存储器内被完整传输。在所述情况下,在重新写入用户数据(例如,复制其到别处)之前,有必要首先抽取现有的数据循环,如上所述。接着,根据所抽取的循环写入新标头加上用户数据。
以上所述的过程由控制器执行或控制。在一个实施例中,所有或多数过程是可由固件支持的。因此,可将程序代码(例如,固件)在诸如闪存、RAM等的处理器/控制器可读取存储媒介上嵌入控制器内以用于编程所述控制器。也可将程序代码存储在与控制器通信的存储器元件中。或者,可将专用硬件包括在控制器内以执行那些功能中的许多功能。应注意,术语控制器是存储器系统内的执行本文所述功能的处理装置的某种通称。
在一个实施例中,以上所讨论的所有方法都实时地执行。对使用跟踪单元的实际性能影响的量化基于实际实施而变化。在计算所述循环的情况下,对性能的影响可最小化,因为所有相关操作可以一流水线形式以处理器的全速来执行,其中跟踪单元数据为正常数据流流量的一部分。或者,在上述调用跟踪单元处理的实施中,需要三十个顺序读取和许多移出加上控制器执行跟踪单元处理计算、接着是载入新读取条件和最后的完全读取所需的时间。有可能减小执行阈电压读取所经过的范围或使阈电压读取搜索算法更高效(例如,通过对每一群体阈中点的二分法搜索)。然而,考虑到其发生率较小,预期总性能影响可最小化且比完全的读取失败或误校正好得多。
以上实例是关于一个特定闪存系统而提供的。然而,本发明的原理可应用于其它类型的闪存系统以及其它类型的存储器(例如,其它集成电路/固态/半导体存储器),包括那些目前现有的或那些被构想的使用正开发的新技术的存储器。本发明也可应用到包括光学、磁性和机械系统的非电子存储器。
出于说明和描述的目的已给出本发明的以上详细描述。其并不非详尽的或用以限制本发明到所揭示的精确形式。基于以上的讲解,许多修改和变化都是可能的。选择所述实施例以便最佳地解释本发明的原理和其实际应用,从而使所属领域的技术人员能够按适合于所构想的特定用途的方式在各种实施例中和配合各种修改最好地利用本发明。意欲由所附加的权利要求来定义本发明的范畴。

Claims (74)

1.一种用于读取存储在一个存储器系统中的数据的方法,所述存储器系统包括一组多状态存储元件,所述多状态存储元件包括数据存储元件和跟踪存储元件,所述数据存储元件能够将可循环编码数据存储在一组多个状态中,所述方法包含以下步骤:
读取所述跟踪存储元件,所述读取所述跟踪存储元件的步骤包括将所述跟踪存储元件的至少一子集分类入若干跟踪状态,所述跟踪状态对应于所述多个状态的一个子集,在所述多个状态的所述子集中的状态被其它状态所分隔;
基于所述分类而确定一个码,所述码识别循环方案,且所述码包括与一个或多个其它位组合的第一位;和
使用所述循环方案来读取所述数据存储元件的至少一个子集。
2.根据权利要求1所述的方法,其中:
所述确定所述码的步骤包括将两个或两个以上非冗余跟踪存储元件的分类加以组合。
3.根据权利要求1所述的方法,其中:
所述读取所述跟踪存储元件的步骤包括将一个第一跟踪存储元件分类入一个第一跟踪状态且将一个第二跟踪存储元件分类入一个第二跟踪状态;和
所述确定所述码的步骤包括基于处于所述第一跟踪状态的所述第一跟踪存储元件和处于所述第二跟踪状态的所述第二跟踪存储元件的一个组合而产生所述第一位。
4.根据权利要求3所述的方法,其中:
所述读取所述跟踪存储元件的步骤进一步包括将一个第三跟踪存储元件分类入所述第一跟踪状态,和将一个第四跟踪存储元件分类入所述第二跟踪状态;且
所述的确定步骤进一步包括基于处于所述第一跟踪状态的所述第三跟踪存储元件和处于所述第二跟踪状态的所述第四跟踪存储元件的一个组合而产生所述码的第二位。
5.根据权利要求4所述的方法,其中:
所述读取所述跟踪存储元件的步骤进一步包括将一个第五跟踪存储元件分类入所述第一跟踪状态和将一个第六跟踪存储元件分类入所述第二跟踪状态;
所述的确定步骤进一步包括基于处于所述第一跟踪状态的所述第五跟踪存储元件和处于所述第二跟踪状态的所述第六跟踪存储元件的一个组合而产生所述码的第三位;
所述码包括所述第一位、所述第二位和所述第三位。
6.根据权利要求1所述的方法,其中:
所述的多个状态包括八个状态;和
所述多个状态的所述子集包括一个第一状态和一个第二状态,所述第二状态与所述第一状态由至少四个其它状态所分隔。
7.根据权利要求1所述的方法,其中:
所述的多个状态包括八个状态:状态0、状态1、状态2、状态3、状态4、状态5、状态6和状态7;和
所述多个状态的所述子集包括状态1和状态6;
所述的分类步骤包括确定一个特定跟踪存储元件被认为处于状态1还是状态6。
8.根据权利要求1所述的方法,其中:
所述的多个状态包括八个状态:状态0、状态1、状态2、状态3、状态4、状态5、状态6和状态7;
所述多个状态的所述子集包括状态1和状态6;和
所述的分类步骤包括确定一个特定跟踪存储元件被认为处于状态1还是状态6,即使所述的特定存储元件实际上并不处于状态1或状态6。
9.根据权利要求1所述的方法,其中所述确定所述码的步骤包括以下步骤:存取来自成对的跟踪存储元件的数据;
确定一个特定对是否具有一个处于一个第一跟踪状态的第一跟踪存储元件和一个处于一个第二跟踪状态的第二跟踪存储元件;
如果所述特定对具有一个处于所述第一跟踪状态的跟踪存储元件和处于一个第二跟踪状态的所述第二跟踪存储元件,则基于所述的第一跟踪存储元件和所述的第二跟踪存储元件,确定所述码的所述第一位,所述码包含所述第一位和至少一个其它非冗余位;和
如果所述特定对具有一个处于所述第一跟踪状态的跟踪存储元件和处于一个第二跟踪状态的所述第二跟踪存储元件,则确定一个用于将所述多个状态的所述子集中的第一和第二状态分配给所述特定对的最佳匹配。
10.根据权利要求1所述的方法,其中:
所述读取所述跟踪存储元件的步骤包括读取多组跟踪存储元件;和
所述确定一个循环方案的步骤包括基于一组跟踪存储元件而尝试识别所述循环方案和基于其它组跟踪存储元件而冗余地尝试识别所述循环方案。
11.根据权利要求10所述的方法,其中:
如果不同组的跟踪存储元件识别不同循环方案,则在所述不同组跟踪存储元件之间通过一个多数表决方法来选择所述循环方案。
12.根据权利要求1所述的方法,其中:
所述读取所述数据存储元件的至少一个子集的步骤包括基于所述循环方案而解码从所述数据存储元件的所述子集读取的数据。
13.根据权利要求1所述的方法,其中:
在所述跟踪存储元件中的数据未经可循环地编码。
14.根据权利要求1所述的方法,其中:
所述多状态存储元件为闪存存储元件。
15.根据权利要求1所述的方法,其中:
所述多状态存储元件为非易失存储器存储元件。
16.根据权利要求1所述的方法,其中:
所述多状态存储元件包括浮栅。
17.根据权利要求1所述的方法,其中:
所述多状态存储元件包括多层电介质,所述多层电介质包括一电荷存储电介质。
18.根据权利要求1所述的方法,其中:
所述多状态存储元件为固态存储元件。
19.根据权利要求1所述的方法,其中:
一个控制器执行所述的确定步骤。
20.根据权利要求19所述的方法,其中:
可从一个主机系统中去除所述的控制器。
21.根据权利要求19所述的方法,其中:
可从一个主机系统中去除所述控制器和所述多状态存储元件。
22.根据权利要求1所述的方法,进一步包含以下步骤:
针对所述多个状态的所述子集中的每一状态而对所述跟踪存储元件执行多个读取操作;
基于所述执行多个读取操作的步骤来确定用于区别所述多个状态中的每一状态的一组目前比较值;和
使用所述组目前比较值来读取所述数据存储元件的所述子集中的一个或一个以上数据存储元件。
23.根据权利要求22所述的方法,其中:
所述的执行步骤包括针对所述多个状态的所述子集的一个第一状态而执行第一复数个读取操作、针对所述多个状态的所述子集的一个第二状态而执行第二复数个读取操作、基于所述第一复数个读取操作而确定用于所述第一状态的一个第一值,和基于所述第二复数个读取操作而确定用于所述第二状态的一个第二值;和
所述确定所述目前比较值组的步骤包括基于所述第一值和所述第二值而确定所述组目前比较值。
24.根据权利要求22所述的方法,其中所述确定所述目前比较值组的步骤包括以下步骤:
确定用于一个第一状态的一个代表阈电压值;
确定用于一个第二状态的一个代表阈电压值;和
基于用于所述第一状态的所述代表阈电压值和用于所述第二状态的所述代表阈电压值来改变现有的比较值,而不使用用于所述第一状态与所述第二状态之间的所有状态的数据。
25.根据权利要求24所述的方法,其中所述执行多个读取操作的步骤包括以下步骤:
针对与一个第一状态相关联的多个阈电压电平而对所述跟踪存储元件的一个第一组执行读取操作;
基于所述对所述跟踪存储元件的一个第一组执行读取操作的步骤来确定用于所述跟踪存储元件的所述第一组的阈电压电平;
针对与一个第二状态相关联的多个阈电压电平而对所述跟踪存储元件的一个第二组执行读取操作;和
基于所述对所述跟踪存储元件的一个第二组执行读取操作的步骤来确定用于所述跟踪存储元件的所述第二组的阈电压电平。
26.根据权利要求22所述的方法,其中:
所述的多个状态包括存储逐渐增加的阈电压范围的八个状态;
所述八个状态包括状态0、状态1、状态2、状态3、状态4、状态5、状态6,和状态7;
所述多个状态的所述子集包括状态1和状态6;
所述执行多个读取操作的步骤包括用于状态1和状态6中的每一个的多个读取操作,每个读取操作对一个不同的阈电压电平进行测试;
所述确定一组目前比较值的步骤包括基于所述执行多个读取操作的步骤来确定用于状态1的一个第一代表阈值和用于状态6的一个第二代表阈值;和
所述确定一组目前比较值的步骤进一步包括使用所述第一代表阈值和所述第二代表阈值基于内插法和外插法来改变现有的一组比较值。
27.根据权利要求22所述的方法,进一步包含以下步骤:
针对一组所述跟踪存储元件执行一组初始的读取操作;
记录来自所述组的初始读取操作的差错信息;
基于所述的差错信息而确定一个质量规格;和
确定所述的质量规格是否符合预定义标准,所述执行多个读取操作和确定一组目前的比较值的步骤是响应于确定了所述质量规格符合所述预定义标准而执行的。
28.一种读取存储在一个固态存储器系统中的数据的方法,所述存储器系统包括一组多状态存储元件,所述多状态存储元件包括数据存储元件和跟踪存储元件,所述的数据存储元件能够将可循环编码数据存储在一组多个状态中,所述方法包含以下步骤:
自所述跟踪存储元件读取不可循环编码的数据,所述从所述跟踪存储元件读取不可循环编码的数据的步骤包括将所述跟踪存储元件的至少一个子集分类入若干跟踪状态,所述跟踪状态通过所述多个状态中的一个或多个非跟踪状态的其它状态而彼此分隔;
基于所述分类来确定一个码,所述码识别循环方案,且所述码包括与一个或多个其它位组合的第一位;和
使用所述的循环方案来读取所述数据存储元件的至少一个子集。
29.根据权利要求28所述的方法,其中:
所述的跟踪存储元件为闪存存储元件。
30.根据权利要求29所述的方法,其中:
所述确定一个循环方案的步骤包括将两个或两个以上非冗余跟踪存储元件的分类加以组合以产生所述循环方案的一个识别。
31.根据权利要求29所述的方法,其中:
所述读取不可循环编码的数据的步骤包括将一个第一跟踪存储元件分类入一个第一跟踪状态和将一个第二跟踪存储元件分类入一个第二跟踪状态;和
所述确定所述码的步骤包括基于处于所述第一跟踪状态的所述第一跟踪存储元件和处于所述第二跟踪状态的所述第二跟踪存储元件的一个组合而产生所述第一位。
32.根据权利要求29所述的方法,其中所述确定所述码的步骤包括以下步骤:
存取来自成对的跟踪存储元件的数据;
确定一个特定对是否具有一个处于一个第一跟踪状态的跟踪存储元件和一个处于一个第二跟踪状态的第二跟踪存储元件;
如果所述特定对具有一个处于所述第一跟踪状态的跟踪存储元件和处于一个第二跟踪状态的所述第二跟踪存储元件,则基于所述的第一跟踪存储元件和所述的第二跟踪存储元件,确定所述码的第一位,所述码包含所述第一位和至少一个其它非冗余位;和
如果所述特定对具有一个处于所述第一跟踪状态的跟踪存储元件和处于所述第二跟踪状态的所述第二跟踪存储元件,则确定一个用于将所述多个状态的所述子集中的第一和第二状态分配给所述特定对的最佳匹配。
33.根据权利要求28所述的方法,进一步包含以下步骤:
针对所述多个状态的一个子集中的每一状态而在所述跟踪存储元件上执行多个读取操作;
基于所述执行多个读取操作的步骤来确定用于区别所述多个状态中的每一状态的一组目前比较值;和
使用所述组目前比较值来读取所述数据存储元件的所述子集中的一个或一个以上的数据存储元件。
34.根据权利要求28所述的方法,进一步包含以下步骤:
执行针对一组所述跟踪存储元件的一组初始读取操作;
记录来自所述组初始读取操作的差错信息;
基于所述的差错信息而确定一个质量规格;和
确定所述的质量规格是否符合预定义标准,所述执行多个读取操作和确定一组目前比较值的步骤是响应于确定了所述质量规格符合所述预定义标准而执行的。
35.一种用于读取存储于一个存储器系统中的数据的方法,所述的存储器系统包括一组多状态存储元件,所述多状态存储元件包括数据存储元件和跟踪存储元件,所述的数据存储元件能够将可循环编码数据存储在一组多个状态中,所述方法包含以下步骤:
读取所述跟踪存储元件,所述读取所述跟踪存储元件的步骤包括将所述跟踪存储元件的至少一个子集分类入若干跟踪状态,所述跟踪状态对应于所述多个状态的一个子集;
基于所述分类而确定来自一组循环方案的一个第一循环方案,所述组循环方案包括比跟踪状态更多的循环方案;
使用所述第一循环方案来读取所述数据存储元件的至少一个子集;
确定一个差错;
再次读取所述跟踪存储元件且确定一组新比较点;和
使用所述组新比较点来读取所述数据存储元件的所述子集中的一个或一个以上的数据存储元件。
36.一种存储器系统,其包含:
一组多状态存储元件,所述的多状态存储元件包括数据存储元件和跟踪存储元件,所述的数据存储元件能够将可循环编码数据存储在一组多个状态中;
用于读取所述跟踪存储元件的构件,所述用于读取所述跟踪存储元件的构件将所述跟踪存储元件的至少一个子集分类入若干跟踪状态,所述的跟踪状态对应于所述多个状态的一个子集,所述跟踪状态为不相邻的状态;
用于基于所述分类而确定一个码的构件,所述码识别循环方案,且所述码包括与一个或多个其它位组合的第一位;和
用于使用所述的循环方案来读取所述数据存储元件的至少一个子集的构件。
37.根据权利要求36所述的存储器系统,其中:
所述用于确定所述码的构件包括用于将两个或两个以上非冗余跟踪存储元件的分类加以组合的构件。
38.根据权利要求36所述的存储器系统,进一步包含:
用于确定一组新读取比较点的构件;和
用于使用所述一组新读取比较点来读取所述数据存储元件的所述子集中的一个或一个以上的数据存储元件的构件。
39.根据权利要求36所述的存储器系统,进一步包含:
用于确定在所述数据存储元件中的所述数据是否符合预定义差错标准,若所述质量规格符合所述预定义差错标准则确定一组新读取比较点,且使用所述一组新读取比较点来重新读取所述数据存储元件的所述子集中的一个或一个以上的数据存储元件的构件。
40.一种存储器系统,其包含:
一组多状态存储元件,所述的多状态存储元件包括数据存储元件和跟踪存储元件,所述的数据存储元件能够将可循环编码数据存储在一组多个状态中;
一个与所述组多状态存储元件通信的感测电路,所述的感测电路能够读取所述数据存储元件和所述跟踪存储元件;和
一个与所述感测电路通信的控制器电路,所述的控制器电路将由所述感测电路所读取的所述跟踪存储元件的至少一个子集分类入若干跟踪状态,所述的跟踪状态对应于所述多个状态的一个子集,所述跟踪状态通过所述多个状态中的一个或多个不在所述多个状态的所述子集中的其它状态而彼此分隔,所述控制器电路基于所述分类而确定一个码,所述码识别循环方案,且所述码包括与一个或多个其它位组合的第一位,之后对所述数据存储元件的至少一个子集的读取操作使用所述循环方案。
41.根据权利要求40所述的存储器系统,其中:
所述控制器通过将两个或两个以上非冗余跟踪存储元件的分类加以组合来确定所述码。
42.根据权利要求40所述的存储器系统,其中:
一个第一跟踪存储元件被特征化为一个第一跟踪状态且一个第二跟踪存储元件被特征化为一个第二跟踪状态;和
所述控制器电路通过基于处于所述第一跟踪状态的所述第一跟踪存储元件和处于所述第二跟踪状态的所述第二跟踪存储元件的一个组合而产生所述第一位来确定所述码。
43.根据权利要求40所述的存储器系统,其中:
所述的多个状态包括八个状态:状态0、状态1、状态2、状态3、状态4、状态5、状态6,和状态7;
所述多个状态的所述子集包括状态1和状态6;和
所述分类包括确定一个特定存储元件被认为是处于状态1还是状态6,即使所述特定存储元件实际上并不处于状态1或状态6。
44.根据权利要求40所述的存储器系统,其中所述的控制器电路通过以下步骤来确定所述码:
存取来自成对的跟踪存储元件的数据;
确定一个特定对是否具有一个处于一个第一跟踪状态的跟踪存储元件和一个处于一个第二跟踪状态的第二跟踪存储元件;
如果所述特定对具有一个处于所述第一跟踪状态的跟踪存储元件和处于一个第二跟踪状态的所述第二跟踪存储元件,则基于所述的第一跟踪存储元件和所述的第二跟踪存储元件来确定所述码的所述第一位,所述码包括所述第一位和至少一个其它非冗余位;和
如果所述特定对不具有一个处于所述第一跟踪状态的跟踪存储元件和处于一个第二跟踪状态的所述第二跟踪存储元件,则确定用于将在所述多个状态中的所述子集的第一和第二状态分配给所述特定对的一个最佳匹配。
45.根据权利要求40所述的存储器系统,其中:
在所述跟踪存储元件中的数据未经可循环地编码。
46.根据权利要求40所述的存储器系统,其中:
所述的跟踪存储元件为闪存存储元件。
47.根据权利要求40所述的存储器系统,其中:
所述控制器电路导致针对所述多个状态的一个子集中的每一状态而执行多个读取操作,基于所述多个读取操作的执行来确定用于区别所述多个状态中的每一个状态的一组目前比较值,且导致使用所述一组目前比较值来读取所述数据存储元件的所述子集中的一个或一个以上数据存储元件。
48.根据权利要求47所述的存储器系统,其中:
所述组目前比较值是通过以下步骤来确定的:确定用于一个第一状态的一个代表阈电压值,确定用于一个第二状态的一个代表阈电压值,和基于用于所述第一状态的所述代表阈电压值和用于所述第二状态的所述代表阈电压值来改变现有比较值而不使用用于所述第一状态和所述第二状态之间的所有状态的数据。
49.根据权利要求47所述的存储器系统,其中:
所述控制器电路导致对一组所述跟踪存储元件执行一组初始读取操作、记录来自所述组初始读取操作的差错信息、基于所述差错信息而确定一个质量规格,和确定所述质量规格是否符合预定义标准的一个执行,所述执行多个读取操作和确定一组目前比较值的步骤是响应于确定了所述质量规格符合所述预定义标准而执行的。
50.一种读取数据的方法,包含以下步骤:
读取在一个闪存系统中的一组跟踪存储元件,所述的闪存系统包括一组多状态存储元件,所述的多状态存储元件包括数据存储元件和跟踪存储元件,所述的数据存储元件能够存储处于一组多个状态中的可循环编码数据,所述的跟踪存储元件存储不可循环编码的数据,所述读取所述一组跟踪存储元件的步骤包括将所述跟踪存储元件的至少一个子集分类入跟踪状态;
基于所述的分类而确定一个码,所述码识别循环方案,且所述码包括与一个或多个其它位组合的第一位;和
自所述数据存储元件的至少一个子集读取数据且使用所述的循环方案来解码读取自所述数据存储元件的所述子集的所述数据。
51.根据权利要求50所述的方法,其中:
所述确定所述码的步骤包括将两个或两个以上非冗余跟踪存储元件的分类加以组合。
52.根据权利要求50所述的方法,其中:
所述读取所述跟踪存储元件组的步骤包括将一个第一跟踪存储元件分类入一个第一跟踪状态和将一个第二跟踪存储元件分类入一个第二跟踪状态;和
所述确定所述码的步骤包括基于处于所述第一跟踪状态的所述第一跟踪存储元件和处于所述第二跟踪状态的所述第二跟踪存储元件的一个组合来产生所述第一位。
53.一种为一个存储器系统所执行的方法,所述存储器系统包括一组存储元件,所述的存储元件包括数据存储元件和跟踪存储元件,所述数据存储元件存储处于多个状态中的数据,所述方法包含以下步骤:
执行所述跟踪存储元件的读取操作;
记录来自所述读取操作的差错信息;
基于所述的差错信息确定一个质量规格;和
如果所述的质量规格满足预定义标准则响应所述的质量规格。
54.根据权利要求53所述的方法,进一步包含以下步骤:
基于所述执行读取操作的步骤而确定用于所述数据存储元件的至少一个子集的一个循环方案;和
使用所述的循环方案来读取所述数据存储元件的所述子集。
55.根据权利要求53所述的方法,进一步包含以下步骤:
如果所述质量规格不满足预定标准,则使用一个循环方案来读取所述数据存储元件的所述子集,所述循环方案是基于执行所述读取操作的步骤而确定的。
56.根据权利要求53所述的方法,其中:
所述执行读取操作的步骤包括确定所述跟踪存储元件是否处于一组预设跟踪状态中;和
所述记录差错信息的步骤包括记录关于并不处于所述一组预设跟踪状态中的所述跟踪存储元件中的任意者的差错信息。
57.根据权利要求56所述的方法,其中:
所述确定所述质量规格的步骤包括确定有多少跟踪存储元件不处于所述一组预设跟踪状态中。
58.根据权利要求56所述的方法,其中:
所述确定所述质量规格的步骤包括确定在所述跟踪存储元件的读取状态和所述一组预设跟踪状态之间的差异。
59.根据权利要求56所述的方法,其中:
所述确定一个质量规格的步骤包括更新一个对差错的逐次测量。
60.根据权利要求53所述的方法,其中:
所述的跟踪存储元件被分组成对;
所述执行读取操作的步骤包括确定所述跟踪存储元件的目前状态和针对每对跟踪存储元件确定所述对跟踪存储元件中的一个是否处于一个第一状态和所述对跟踪存储元件中的第二个是否处于一个第二状态,所述第一状态并非所述第二状态的一个相邻状态;和
所述记录差错信息的步骤包括如果所述对跟踪存储元件中的所述第一者不处于所述第一状态,则记录所述对跟踪存储元件中的所述第一者的差错信息和如果所述对跟踪存储元件中的所述第二个不处于所述第二状态,则记录所述对跟踪存储元件中的所述第二个的差错信息。
61.根据权利要求53所述的方法,其中:
所述响应所述质量规格的步骤包括放弃一个读取过程,所述执行所述跟踪存储元件的读取操作的步骤是所述的读取过程的一部分。
62.根据权利要求53所述的方法,其中:
所述响应所述质量规格的步骤包括改变一个误差校正码过程的参数。
63.根据权利要求53所述的方法,其中所述响应所述质量规格的步骤包括以下步骤:
针对一组预设的跟踪状态中的每一状态而对所述跟踪存储元件执行多个读取操作;和
确定用于区别所述数据存储元件的状态的一组目前比较值。
64.根据权利要求63所述的方法,进一步包含以下步骤:
使用所述组目前比较值以自所述数据存储元件的一个子集读取数据;
对所述数据执行一个误差校正码分析;和
如果所述误差校正码分析是成功的则报告所述数据。
65.根据权利要求63所述的方法,其中所述确定一组目前比较值的步骤包括以下步骤:
确定用于一个第一状态的一个代表阈电压值;
确定用于一个第二状态的一个代表阈电压值;和
基于用于所述第一状态的所述代表阈电压值和用于所述第二状态的所述代表阈电压值来偏移现有的比较值而不使用用于所述第一状态和所述第二状态之间的所有状态的数据。
66.根据权利要求53所述的方法,进一步包含以下步骤:
基于所述执行读取操作的步骤而确定用于所述数据存储元件的至少一个子集的一个循环方案;和
使用所述循环方案来读取所述数据存储元件的所述子集。
67.根据权利要求53所述的方法,进一步包含以下步骤:
如果所述的质量规格不满足预定标准,则使用一个循环方案来读取所述数据存储元件的一个子集,所述的循环方案是基于所述执行读取操作的步骤而确定的。
68.根据权利要求67所述的方法,其中所述响应所述质量规格的步骤包括以下步骤:
针对一组预设的跟踪状态中的每一状态而对所述跟踪存储元件执行多个读取操作;和
确定用于区别所述数据存储元件的状态的一组目前比较值。
69.一种存储器系统,其包含:
一组存储元件,所述的存储元件包括数据存储元件和跟踪存储元件,所述的数据存储元件以多个状态来存储数据,所述的跟踪存储元件使用所述多个状态的一个子集;和
一个与所述跟踪存储元件通信的控制器,作为一个用于读取所述存储器系统的过程的一部分,所述的控制器能够导致执行所述跟踪存储元件的读取操作、记录来自所述读取操作的差错信息和基于所述读取操作而确定一个质量规格,如果所述质量规格满足预定标准,则用于读取所述存储器系统的所述过程执行对所述质量规格的一个响应,对所述质量规格的所述响应包括针对所述多个状态的所述子集中的每一状态而对所述跟踪存储元件执行多个读取操作和确定用于区别状态的一组目前比较值。
70.根据权利要求69所述的存储器系统,其中:
所述控制器确定所述跟踪存储元件是否处于一组跟踪状态中且记录关于并不处于所述跟踪状态中的跟踪存储元件的差错信息。
71.根据权利要求69所述的存储器系统,其中:
所述的质量规格指示有多少跟踪存储元件不处于所述跟踪状态中。
72.根据权利要求69所述的存储器系统,其中:
对所述质量规格的所述响应包括改变一个误差校正码过程的参数。
73.根据权利要求69所述的存储器系统,其中:
对所述质量规格的所述响应进一步包括使用所述组目前比较值以自所述数据存储元件的子集读取数据,
对所述数据执行一个误差校正码分析且如果所述误差校正码分析是成功的则报告所述数据。
74.根据权利要求69所述的存储器系统,其中:
所述的控制器通过以下步骤来确定所述组目前比较值:确定一个用于所述多个状态的所述子集中的一个第一状态的代表阈电压值、确定一个用于所述多个状态的所述子集中的一个第二状态的代表阈电压值和基于用于所述第一状态的所述代表阈电压值和用于所述第二状态的所述代表阈电压值来偏移现有的比较值而不使用用于所述第一状态和所述第二状态之间的所有状态的数据。
CN2004800212103A 2003-06-13 2004-06-07 存储器系统、读取存储在该存储器系统中数据的方法及为存储器系统所执行的方法 Active CN1826659B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/461,244 2003-06-13
US10/461,244 US7237074B2 (en) 2003-06-13 2003-06-13 Tracking cells for a memory system
PCT/US2004/018172 WO2004114313A2 (en) 2003-06-13 2004-06-07 Tracking cells for a memory system

Publications (2)

Publication Number Publication Date
CN1826659A CN1826659A (zh) 2006-08-30
CN1826659B true CN1826659B (zh) 2013-04-17

Family

ID=33511212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800212103A Active CN1826659B (zh) 2003-06-13 2004-06-07 存储器系统、读取存储在该存储器系统中数据的方法及为存储器系统所执行的方法

Country Status (8)

Country Link
US (5) US7237074B2 (zh)
EP (1) EP1636802B1 (zh)
JP (1) JP4681559B2 (zh)
KR (1) KR101049580B1 (zh)
CN (1) CN1826659B (zh)
AT (1) ATE535912T1 (zh)
TW (1) TWI244089B (zh)
WO (1) WO2004114313A2 (zh)

Families Citing this family (243)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963505B2 (en) * 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
US7237074B2 (en) * 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US7266732B2 (en) * 2003-12-22 2007-09-04 Samsung Electronics Co., Ltd. MRAM with controller
US7355237B2 (en) * 2004-02-13 2008-04-08 Sandisk Corporation Shield plate for limiting cross coupling between floating gates
US7023733B2 (en) * 2004-05-05 2006-04-04 Sandisk Corporation Boosting to control programming of non-volatile memory
DE102005020808B3 (de) * 2005-05-04 2006-07-20 Micronas Gmbh Nichtflüchtige Speichereinrichtung mit einer Programmier- und Löschkontrolle
US7023737B1 (en) * 2005-08-01 2006-04-04 Sandisk Corporation System for programming non-volatile memory with self-adjusting maximum program loop
US7230854B2 (en) * 2005-08-01 2007-06-12 Sandisk Corporation Method for programming non-volatile memory with self-adjusting maximum program loop
US7301817B2 (en) * 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
WO2007067447A1 (en) 2005-12-06 2007-06-14 Sandisk Corporation Reducing read disturb for non-volatile storage
US7355889B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
US7355888B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Apparatus for programming non-volatile memory with reduced program disturb using modified pass voltages
US7365018B2 (en) * 2005-12-28 2008-04-29 Sandisk Corporation Fabrication of semiconductor device for flash memory with increased select gate width
US7395466B2 (en) * 2005-12-30 2008-07-01 Intel Corporation Method and apparatus to adjust voltage for storage location reliability
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7609561B2 (en) * 2006-01-18 2009-10-27 Apple Inc. Disabling faulty flash memory dies
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US7912994B2 (en) * 2006-01-27 2011-03-22 Apple Inc. Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7594043B2 (en) * 2006-01-27 2009-09-22 Apple Inc. Reducing dismount time for mass storage class devices
WO2007103038A1 (en) 2006-03-03 2007-09-13 Sandisk Corporation Read operation for non-volatile storage with compensation for floating gate coupling
US7849302B2 (en) * 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
EP2315212A1 (en) 2006-04-12 2011-04-27 Sandisk Corporation Reducing the impact of program disturb during read
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7852690B2 (en) * 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
US7551486B2 (en) * 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7870736B2 (en) * 2006-06-01 2011-01-18 Virginia Tech Intellectual Properties, Inc. Premixing injector for gas turbine engines
US7342831B2 (en) * 2006-06-16 2008-03-11 Sandisk Corporation System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7391650B2 (en) * 2006-06-16 2008-06-24 Sandisk Corporation Method for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7349261B2 (en) * 2006-06-19 2008-03-25 Sandisk Corporation Method for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
US7492633B2 (en) * 2006-06-19 2009-02-17 Sandisk Corporation System for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
US7486561B2 (en) 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US20070297247A1 (en) * 2006-06-26 2007-12-27 Gerrit Jan Hemink Method for programming non-volatile memory using variable amplitude programming pulses
US7304893B1 (en) 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7716415B2 (en) * 2006-08-01 2010-05-11 Sandisk Il Ltd. Method of avoiding errors in flash memory
US7440326B2 (en) 2006-09-06 2008-10-21 Sandisk Corporation Programming non-volatile memory with improved boosting
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US8001314B2 (en) 2006-09-12 2011-08-16 Apple Inc. Storing a driver for controlling a memory
US7705387B2 (en) * 2006-09-28 2010-04-27 Sandisk Corporation Non-volatile memory with local boosting control implant
US7977186B2 (en) * 2006-09-28 2011-07-12 Sandisk Corporation Providing local boosting control implant for non-volatile memory
JP2008090451A (ja) 2006-09-29 2008-04-17 Toshiba Corp 記憶装置
US7691710B2 (en) * 2006-10-17 2010-04-06 Sandisk Corporation Fabricating non-volatile memory with dual voltage select gate structure
US7586157B2 (en) * 2006-10-17 2009-09-08 Sandisk Corporation Non-volatile memory with dual voltage select gate structure
US7616490B2 (en) * 2006-10-17 2009-11-10 Sandisk Corporation Programming non-volatile memory with dual voltage select gate structure
US7596031B2 (en) 2006-10-30 2009-09-29 Sandisk Corporation Faster programming of highest multi-level state for non-volatile memory
US7440323B2 (en) * 2006-11-02 2008-10-21 Sandisk Corporation Reducing program disturb in non-volatile memory using multiple boosting modes
US7468911B2 (en) * 2006-11-02 2008-12-23 Sandisk Corporation Non-volatile memory using multiple boosting modes for reduced program disturb
US20080108358A1 (en) * 2006-11-08 2008-05-08 Motorola, Inc. Interference mitigation and recovery
US7696035B2 (en) * 2006-11-13 2010-04-13 Sandisk Corporation Method for fabricating non-volatile memory with boost structures
US7508703B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Non-volatile memory with boost structures
US7508710B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Operating non-volatile memory with boost structures
US7623387B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Non-volatile storage with early source-side boosting for reducing program disturb
US7623386B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Reducing program disturb in non-volatile storage using early source-side boosting
US7570520B2 (en) * 2006-12-27 2009-08-04 Sandisk Corporation Non-volatile storage system with initial programming voltage based on trial
US7551482B2 (en) * 2006-12-27 2009-06-23 Sandisk Corporation Method for programming with initial programming voltage based on trial
US7468919B2 (en) * 2006-12-30 2008-12-23 Sandisk Corporation Biasing non-volatile storage based on selected word line
US7583535B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Biasing non-volatile storage to compensate for temperature variations
US7554853B2 (en) * 2006-12-30 2009-06-30 Sandisk Corporation Non-volatile storage with bias based on selective word line
US7468920B2 (en) 2006-12-30 2008-12-23 Sandisk Corporation Applying adaptive body bias to non-volatile storage
US7525843B2 (en) * 2006-12-30 2009-04-28 Sandisk Corporation Non-volatile storage with adaptive body bias
US7583539B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Non-volatile storage with bias for temperature compensation
US7984360B2 (en) * 2006-12-31 2011-07-19 Ramot At Tel Aviv University Ltd. Avoiding errors in a flash memory by using substitution transformations
US7660166B2 (en) * 2007-01-31 2010-02-09 Sandisk Il Ltd. Method of improving programming precision in flash memory
KR101163162B1 (ko) 2007-02-20 2012-07-06 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 저장소자를 위한 가변 프로그램
US7613051B2 (en) * 2007-03-14 2009-11-03 Apple Inc. Interleaving charge pumps for programmable memories
US7814304B2 (en) * 2007-03-14 2010-10-12 Apple Inc. Switching drivers between processors
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
US7532516B2 (en) * 2007-04-05 2009-05-12 Sandisk Corporation Non-volatile storage with current sensing of negative threshold voltages
US7606076B2 (en) * 2007-04-05 2009-10-20 Sandisk Corporation Sensing in non-volatile storage using pulldown to regulated source voltage to remove system noise
US7606072B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Non-volatile storage with compensation for source voltage drop
US7606071B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Compensating source voltage drop in non-volatile storage
US7996599B2 (en) 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
US7869277B1 (en) 2007-04-25 2011-01-11 Apple Inc. Managing data writing to memories
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7440327B1 (en) 2007-04-25 2008-10-21 Sandisk Corporation Non-volatile storage with reduced power consumption during read operations
US7870327B1 (en) 2007-04-25 2011-01-11 Apple Inc. Controlling memory operations using a driver and flash memory type tables
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US7606079B2 (en) * 2007-04-25 2009-10-20 Sandisk Corporation Reducing power consumption during read operations in non-volatile storage
US7577036B2 (en) * 2007-05-02 2009-08-18 Micron Technology, Inc. Non-volatile multilevel memory cells with data read of reference cells
US7460404B1 (en) * 2007-05-07 2008-12-02 Sandisk Corporation Boosting for non-volatile storage using channel isolation switching
US7577026B2 (en) * 2007-05-07 2009-08-18 Sandisk Corporation Source and drain side early boosting using local self boosting for non-volatile storage
US7463522B2 (en) * 2007-05-07 2008-12-09 Sandisk Corporation Non-volatile storage with boosting using channel isolation switching
US7991942B2 (en) * 2007-05-09 2011-08-02 Stmicroelectronics S.R.L. Memory block compaction method, circuit, and system in storage devices based on flash memories
US8041883B2 (en) 2007-05-09 2011-10-18 Stmicroelectronics S.R.L. Restoring storage devices based on flash memories and related circuit, system, and method
US7882301B2 (en) * 2007-05-09 2011-02-01 Stmicroelectronics S.R.L. Wear leveling in storage devices based on flash memories and related circuit, system, and method
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US8073648B2 (en) 2007-05-14 2011-12-06 Sandisk Il Ltd. Measuring threshold voltage distribution in memory using an aggregate characteristic
US7471567B1 (en) 2007-06-29 2008-12-30 Sandisk Corporation Method for source bias all bit line sensing in non-volatile storage
US7545678B2 (en) * 2007-06-29 2009-06-09 Sandisk Corporation Non-volatile storage with source bias all bit line sensing
US7969788B2 (en) 2007-08-21 2011-06-28 Micron Technology, Inc. Charge loss compensation methods and apparatus
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7672163B2 (en) 2007-09-14 2010-03-02 Sandisk Corporation Control gate line architecture
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
US7577034B2 (en) * 2007-09-26 2009-08-18 Sandisk Corporation Reducing programming voltage differential nonlinearity in non-volatile storage
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
US7894263B2 (en) * 2007-09-28 2011-02-22 Sandisk Corporation High voltage generation and control in source-side injection programming of non-volatile memory
US7613045B2 (en) * 2007-11-26 2009-11-03 Sandisk Il, Ltd. Operation sequence and commands for measuring threshold voltage distribution in memory
US7768839B2 (en) 2007-11-27 2010-08-03 Micron Technology, Inc. Memory read methods, apparatus, and systems
US7688638B2 (en) * 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
KR101498669B1 (ko) * 2007-12-20 2015-03-19 삼성전자주식회사 반도체 메모리 시스템 및 그것의 액세스 방법
US7915664B2 (en) * 2008-04-17 2011-03-29 Sandisk Corporation Non-volatile memory with sidewall channels and raised source/drain regions
US7808819B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Method for adaptive setting of state voltage levels in non-volatile memory
US7808836B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Non-volatile memory with adaptive setting of state voltage levels
US8051240B2 (en) * 2008-05-09 2011-11-01 Sandisk Technologies Inc. Compensating non-volatile storage using different pass voltages during program-verify and read
US7719902B2 (en) * 2008-05-23 2010-05-18 Sandisk Corporation Enhanced bit-line pre-charge scheme for increasing channel boosting in non-volatile storage
US7952928B2 (en) * 2008-05-27 2011-05-31 Sandisk Il Ltd. Increasing read throughput in non-volatile memory
JP2009294869A (ja) * 2008-06-04 2009-12-17 Toshiba Corp メモリシステム
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US8458536B2 (en) 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
US7755946B2 (en) * 2008-09-19 2010-07-13 Sandisk Corporation Data state-based temperature compensation during sensing in non-volatile memory
JP5537551B2 (ja) * 2008-09-28 2014-07-02 ラマト アット テル アビブ ユニバーシティ リミテッド フラッシュメモリにおける適応符号化用の方法およびシステム
US8671327B2 (en) 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
US7974133B2 (en) 2009-01-06 2011-07-05 Sandisk Technologies Inc. Robust sensing circuit and method
US8026544B2 (en) 2009-03-30 2011-09-27 Sandisk Technologies Inc. Fabricating and operating a memory array having a multi-level cell region and a single-level cell region
US8351236B2 (en) 2009-04-08 2013-01-08 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines and a single-sided word line architecture
US8199576B2 (en) * 2009-04-08 2012-06-12 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines and a double-global-bit-line architecture
US8572443B2 (en) * 2009-04-08 2013-10-29 International Business Machines Corporation System, method, and computer program product for determining a retention behavior for at least one block of a memory device having finite endurance and/or retention
US7983065B2 (en) 2009-04-08 2011-07-19 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines
WO2010117912A1 (en) 2009-04-08 2010-10-14 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines and a double-global-bit-line architecture
US7907449B2 (en) 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
US8054691B2 (en) 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
US8995197B1 (en) * 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8400854B2 (en) 2009-09-11 2013-03-19 Sandisk Technologies Inc. Identifying at-risk data in non-volatile storage
US8174895B2 (en) 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US8279693B2 (en) * 2010-04-09 2012-10-02 Qualcomm Incorporated Programmable tracking circuit for tracking semiconductor memory read current
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8546214B2 (en) 2010-04-22 2013-10-01 Sandisk Technologies Inc. P-type control gate in non-volatile storage and methods for forming same
US8274831B2 (en) 2010-05-24 2012-09-25 Sandisk Technologies Inc. Programming non-volatile storage with synchronized coupling
US8547720B2 (en) 2010-06-08 2013-10-01 Sandisk 3D Llc Non-volatile memory having 3D array of read/write elements with efficient decoding of vertical bit lines and word lines
US8526237B2 (en) 2010-06-08 2013-09-03 Sandisk 3D Llc Non-volatile memory having 3D array of read/write elements and read/write circuits and method thereof
US9170933B2 (en) 2010-06-28 2015-10-27 International Business Machines Corporation Wear-level of cells/pages/sub-pages/blocks of a memory
US8369156B2 (en) 2010-07-13 2013-02-05 Sandisk Technologies Inc. Fast random access to non-volatile storage
KR101806807B1 (ko) * 2010-11-08 2017-12-11 삼성전자주식회사 메모리 카드
US8837216B2 (en) 2010-12-13 2014-09-16 Sandisk Technologies Inc. Non-volatile storage system with shared bit lines connected to a single selection device
US8625322B2 (en) 2010-12-14 2014-01-07 Sandisk 3D Llc Non-volatile memory having 3D array of read/write elements with low current structures and methods thereof
KR20140043050A (ko) 2010-12-14 2014-04-08 쌘디스크 3디 엘엘씨 듀얼 게이팅되는 수직 선택 디바이스들을 갖는 삼차원 비휘발성 저장
US9227456B2 (en) 2010-12-14 2016-01-05 Sandisk 3D Llc Memories with cylindrical read/write stacks
KR101772951B1 (ko) 2011-03-10 2017-09-13 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 읽기 방법
US8667244B2 (en) 2011-03-21 2014-03-04 Hewlett-Packard Development Company, L.P. Methods, systems, and apparatus to prevent memory imprinting
KR20120122142A (ko) * 2011-04-28 2012-11-07 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 검증 방법
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8638606B2 (en) 2011-09-16 2014-01-28 Sandisk Technologies Inc. Substrate bias during program of non-volatile storage
WO2013043602A2 (en) 2011-09-19 2013-03-28 SanDisk Technologies, Inc. High endurance non-volatile storage
US8406053B1 (en) 2011-09-21 2013-03-26 Sandisk Technologies Inc. On chip dynamic read for non-volatile storage
US8917554B2 (en) 2011-10-26 2014-12-23 Sandisk Technologies Inc. Back-biasing word line switch transistors
US9076544B2 (en) 2011-11-18 2015-07-07 Sandisk Technologies Inc. Operation for non-volatile storage system with shared bit lines
US9036416B2 (en) 2011-11-18 2015-05-19 Sandisk Technologies Inc. Non-volatile storage with broken word line screen and data recovery
KR101882853B1 (ko) * 2011-12-21 2018-08-27 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US8797805B2 (en) 2011-12-22 2014-08-05 Micron Technology, Inc. Methods and apparatuses for determining threshold voltage shift
US8885404B2 (en) 2011-12-24 2014-11-11 Sandisk Technologies Inc. Non-volatile storage system with three layer floating gate
US8634239B2 (en) 2011-12-28 2014-01-21 Sandisk Technologies Inc. Hybrid multi-level cell programming sequences
US9269425B2 (en) 2011-12-30 2016-02-23 Sandisk 3D Llc Low forming voltage non-volatile storage device
US8582381B2 (en) 2012-02-23 2013-11-12 SanDisk Technologies, Inc. Temperature based compensation during verify operations for non-volatile storage
US8937835B2 (en) 2012-03-13 2015-01-20 Sandisk Technologies Inc. Non-volatile storage with read process that reduces disturb
US8804430B2 (en) 2012-03-26 2014-08-12 Sandisk Technologies Inc. Selected word line dependent select gate diffusion region voltage during programming
US8804425B2 (en) 2012-03-26 2014-08-12 Sandisk Technologies Inc. Selected word line dependent programming voltage
US8638608B2 (en) 2012-03-26 2014-01-28 Sandisk Technologies Inc. Selected word line dependent select gate voltage during program
US8902659B2 (en) 2012-03-26 2014-12-02 SanDisk Technologies, Inc. Shared-bit-line bit line setup scheme
US8937837B2 (en) 2012-05-08 2015-01-20 Sandisk Technologies Inc. Bit line BL isolation scheme during erase operation for non-volatile storage
US9171584B2 (en) 2012-05-15 2015-10-27 Sandisk 3D Llc Three dimensional non-volatile storage with interleaved vertical select devices above and below vertical bit lines
US9281029B2 (en) 2012-06-15 2016-03-08 Sandisk 3D Llc Non-volatile memory having 3D array architecture with bit line voltage control and methods thereof
US8923050B2 (en) 2012-06-15 2014-12-30 Sandisk 3D Llc 3D memory with vertical bit lines and staircase word lines and vertical switches and methods thereof
US9142305B2 (en) 2012-06-28 2015-09-22 Sandisk Technologies Inc. System to reduce stress on word line select transistor during erase operation
US9053819B2 (en) 2012-07-11 2015-06-09 Sandisk Technologies Inc. Programming method to tighten threshold voltage width with avoiding program disturb
US9036417B2 (en) 2012-09-06 2015-05-19 Sandisk Technologies Inc. On chip dynamic read level scan and error detection for nonvolatile storage
US20140071761A1 (en) 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading
US20140108705A1 (en) 2012-10-12 2014-04-17 Sandisk Technologies Inc. Use of High Endurance Non-Volatile Memory for Read Acceleration
US9159406B2 (en) 2012-11-02 2015-10-13 Sandisk Technologies Inc. Single-level cell endurance improvement with pre-defined blocks
US9087601B2 (en) 2012-12-06 2015-07-21 Sandisk Technologies Inc. Select gate bias during program of non-volatile storage
US9076545B2 (en) 2013-01-17 2015-07-07 Sandisk Tecnologies Inc. Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution
US9026757B2 (en) 2013-01-25 2015-05-05 Sandisk Technologies Inc. Non-volatile memory programming data preservation
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US8885416B2 (en) 2013-01-30 2014-11-11 Sandisk Technologies Inc. Bit line current trip point modulation for reading nonvolatile storage elements
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
WO2014138124A1 (en) 2013-03-04 2014-09-12 Sandisk 3D Llc Vertical bit line non-volatile memory systems and methods of fabrication
US9411722B2 (en) 2013-03-04 2016-08-09 Sandisk Technologies Llc Asynchronous FIFO buffer for memory access
US9064547B2 (en) 2013-03-05 2015-06-23 Sandisk 3D Llc 3D non-volatile memory having low-current cells and methods
US9165933B2 (en) 2013-03-07 2015-10-20 Sandisk 3D Llc Vertical bit line TFT decoder for high voltage operation
US9349452B2 (en) 2013-03-07 2016-05-24 Sandisk Technologies Inc. Hybrid non-volatile memory cells for shared bit line
US9165656B2 (en) 2013-03-11 2015-10-20 Sandisk Technologies Inc. Non-volatile storage with shared bit lines and flat memory cells
US8879331B2 (en) 2013-03-12 2014-11-04 Sandisk Technologies Inc. Shared bit line string architecture
US8990668B2 (en) * 2013-03-14 2015-03-24 Western Digital Technologies, Inc. Decoding data stored in solid-state memory
US8988947B2 (en) 2013-03-25 2015-03-24 Sandisk Technologies Inc. Back bias during program verify of non-volatile storage
US9105468B2 (en) 2013-09-06 2015-08-11 Sandisk 3D Llc Vertical bit line wide band gap TFT decoder
US9424179B2 (en) * 2013-10-17 2016-08-23 Seagate Technology Llc Systems and methods for latency based data recycling in a solid state memory system
US9123414B2 (en) 2013-11-22 2015-09-01 Micron Technology, Inc. Memory systems and memory programming methods
US9336875B2 (en) 2013-12-16 2016-05-10 Micron Technology, Inc. Memory systems and memory programming methods
US9129701B2 (en) 2013-12-19 2015-09-08 Sandisk Technologies Inc. Asymmetric state detection for non-volatile storage
US9362338B2 (en) 2014-03-03 2016-06-07 Sandisk Technologies Inc. Vertical thin film transistors in non-volatile storage systems
US9379246B2 (en) 2014-03-05 2016-06-28 Sandisk Technologies Inc. Vertical thin film transistor selection devices and methods of fabrication
US9123392B1 (en) 2014-03-28 2015-09-01 Sandisk 3D Llc Non-volatile 3D memory with cell-selectable word line decoding
US9627009B2 (en) 2014-07-25 2017-04-18 Sandisk Technologies Llc Interleaved grouped word lines for three dimensional non-volatile storage
KR102238592B1 (ko) 2014-08-08 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 디폴트 독출 전압 설정 방법 및 비휘발성 메모리 장치의 데이터 독출 방법
US9983828B2 (en) 2014-10-09 2018-05-29 Sandisk Technologies Llc Health indicator of a storage device
US9443606B2 (en) 2014-10-28 2016-09-13 Sandisk Technologies Llc Word line dependent two strobe sensing mode for nonvolatile storage elements
US20160118135A1 (en) 2014-10-28 2016-04-28 Sandisk Technologies Inc. Two-strobe sensing for nonvolatile storage
US9251891B1 (en) * 2014-11-11 2016-02-02 Sandisk Technologies Inc. Devices and methods to conditionally send parameter values to non-volatile memory
US9947682B2 (en) 2014-11-18 2018-04-17 Sandisk Technologies Llc Three dimensional non-volatile memory with separate source lines
US20160189786A1 (en) 2014-12-24 2016-06-30 Sandisk Technologies Inc. Methods and apparatus for reducing read time for nonvolatile memory devices
US9543023B2 (en) 2015-01-23 2017-01-10 Sandisk Technologies Llc Partial block erase for block programming in non-volatile memory
US9450023B1 (en) 2015-04-08 2016-09-20 Sandisk Technologies Llc Vertical bit line non-volatile memory with recessed word lines
US20160300620A1 (en) 2015-04-08 2016-10-13 Sandisk Technologies Inc. Multiple bit line voltage sensing for non-volatile memory
US9595317B2 (en) 2015-05-28 2017-03-14 Sandisk Technologies Llc Multi-state programming for non-volatile memory
US9996299B2 (en) 2015-06-25 2018-06-12 Western Digital Technologies, Inc Memory health monitoring
EP3890460A1 (en) 2015-09-28 2021-10-06 Tactotek Oy Multilayer structure and related method of manufacture for electronics
US9715924B2 (en) 2015-10-22 2017-07-25 Sandisk Technologies Llc Three dimensional non-volatile memory with current sensing programming status
KR20180026022A (ko) 2016-09-01 2018-03-12 삼성전자주식회사 스토리지 장치 및 그것의 카피백 방법
US9753806B1 (en) 2016-10-14 2017-09-05 International Business Machines Corporation Implementing signal integrity fail recovery and mainline calibration for DRAM
US10481999B2 (en) * 2016-12-05 2019-11-19 Microsoft Technology Licensing, Llc Partial process recording
US9842657B1 (en) 2017-05-18 2017-12-12 Sandisk Technologies Llc Multi-state program using controlled weak boosting for non-volatile memory
CN107181454B (zh) * 2017-05-26 2023-03-21 重庆科技学院 路径延长轨道及其太阳能板间连接轨道
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
JP2019153366A (ja) * 2018-03-06 2019-09-12 東芝メモリ株式会社 メモリシステム、読み出し方法、プログラム、およびメモリコントローラ
US10607664B2 (en) 2018-03-22 2020-03-31 Micron Technology, Inc. Sub-threshold voltage leakage current tracking
JP7023204B2 (ja) * 2018-09-14 2022-02-21 キオクシア株式会社 メモリシステムおよびメモリシステムの制御方法
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11081162B1 (en) 2020-02-24 2021-08-03 Sandisk Technologies Llc Source side precharge and boosting improvement for reverse order program
US11704234B2 (en) * 2020-04-28 2023-07-18 Silicon Motion, Inc. Method for accessing flash memory module and associated package
US10998041B1 (en) 2020-05-07 2021-05-04 Western Digital Technologies, Inc. Calibrating non-volatile memory read thresholds
US11527300B2 (en) 2020-08-26 2022-12-13 Western Digital Technologies, Inc. Level dependent error correction code protection in multi-level non-volatile memory
US11436083B2 (en) 2020-09-04 2022-09-06 Western Digital Technologies, Inc. Data address management in non-volatile memory
US20210117270A1 (en) * 2020-12-24 2021-04-22 Intel Corporation Overcoming error correction coding mis-corrects in non-volatile memory
CN114978478A (zh) * 2021-02-19 2022-08-30 联华电子股份有限公司 物理不可复制函数电路及其操作方法以及半导体芯片
US11557358B2 (en) 2021-04-15 2023-01-17 Sandisk Technologies Llc Memory apparatus and method of operation using adaptive erase time compensation for segmented erase

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180430A (zh) * 1995-03-31 1998-04-29 三星电子株式会社 不按顺序执行读写指令的存储器控制器
US20030086293A1 (en) * 2001-11-02 2003-05-08 Sandisk Corporation Error management for writable tracking storage units

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US494307A (en) * 1893-03-28 William sayer
IT1221018B (it) 1985-03-28 1990-06-21 Giulio Casagrande Dispositivo per verificare celle di memoria in funzione del salto di soglia ottenibile in fase di scrittura
IT1221780B (it) 1988-01-29 1990-07-12 Sgs Thomson Microelectronics Circuito di rilevamento dello stato di celle di matrice in memorie eprom in tecnologia mos
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
JPH0713877B2 (ja) 1988-10-19 1995-02-15 株式会社東芝 半導体メモリ
JPH0814994B2 (ja) 1989-01-13 1996-02-14 株式会社東芝 半導体記憶装置
IT1228822B (it) 1989-03-23 1991-07-04 Sgs Thomson Microelectronics Cella di riferimento per la lettura di dispositivi di memoria eeprom.
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
DE69034191T2 (de) 1989-04-13 2005-11-24 Sandisk Corp., Sunnyvale EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5293345A (en) 1989-06-12 1994-03-08 Kabushiki Kaisha Toshiba Semiconductor memory device having a data detection circuit with two reference potentials
US5198997A (en) 1989-08-11 1993-03-30 Sony Corporation Ultraviolet erasable nonvolatile memory with current mirror circuit type sense amplifier
DE69016153T2 (de) 1989-10-20 1995-05-18 Fujitsu Ltd Nichtflüchtige Halbleiterspeicheranordnung.
IT1244293B (it) 1990-07-06 1994-07-08 Sgs Thomson Microelectronics Dispositivo di lettura per celle eprom con campo operativo indipendente dal salto di soglia delle celle scritte rispetto alle celle vergini
IT1247650B (it) 1990-10-31 1994-12-28 Sgs Thomson Microelectronics Memoria flash eprom con aumentata immunita' da soft programming su una linea di riferimento
US5383070A (en) 1990-11-21 1995-01-17 Bond; Charles R. Method and device for measuring disk drive alignment
JP3454520B2 (ja) 1990-11-30 2003-10-06 インテル・コーポレーション フラッシュ記憶装置の書込み状態を確認する回路及びその方法
US5287315A (en) 1991-01-31 1994-02-15 Texas Instruments Incorporated Skewed reference to improve ones and zeros in EPROM arrays
US6002614A (en) 1991-02-08 1999-12-14 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
US5504760A (en) 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
JPH04291940A (ja) 1991-03-20 1992-10-16 Toshiba Corp 不揮発性メモリ
JP3253958B2 (ja) * 1991-03-28 2002-02-04 ブリテイッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 信号および星座成形を構成する分数のビット速度に関する機構
US5142496A (en) 1991-06-03 1992-08-25 Advanced Micro Devices, Inc. Method for measuring VT 's less than zero without applying negative voltages
EP0526427B1 (en) 1991-07-25 1997-10-15 STMicroelectronics S.r.l. Sense amplifier for programmable memories with a virtually enhanced source of signal
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5712180A (en) 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
US5386132A (en) 1992-11-02 1995-01-31 Wong; Chun C. D. Multimedia storage system with highly compact memory device
US5712189A (en) 1993-04-30 1998-01-27 Texas Instruments Incorporated Epitaxial overgrowth method
US5463586A (en) 1993-05-28 1995-10-31 Macronix International Co., Ltd. Erase and program verification circuit for non-volatile memory
US5608676A (en) 1993-08-31 1997-03-04 Crystal Semiconductor Corporation Current limited current reference for non-volatile memory sensing
US5828601A (en) 1993-12-01 1998-10-27 Advanced Micro Devices, Inc. Programmed reference
GB9401227D0 (en) 1994-01-22 1994-03-16 Deas Alexander R Non-volatile digital memory device with multi-level storage cells
US5493533A (en) 1994-09-28 1996-02-20 Atmel Corporation Dual differential trans-impedance sense amplifier and method
US5532623A (en) 1994-10-21 1996-07-02 Waferscale Integration, Inc. Sense amplifier with read current tracking and zero standby power consumption
US5802166A (en) 1994-11-30 1998-09-01 Sni Innovation, Inc. Dual signal triggered message waiting notification system for indicating storage of different types of messages awaiting retrieval
US5684739A (en) 1994-11-30 1997-11-04 Nkk Corporation Apparatus and method for determining current or voltage of a semiconductor device
US5537358A (en) 1994-12-06 1996-07-16 National Semiconductor Corporation Flash memory having adaptive sensing and method
US5541886A (en) 1994-12-27 1996-07-30 Intel Corporation Method and apparatus for storing control information in multi-bit non-volatile memory arrays
US5687114A (en) 1995-10-06 1997-11-11 Agate Semiconductor, Inc. Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell
US5629892A (en) 1995-10-16 1997-05-13 Advanced Micro Devices, Inc. Flash EEPROM memory with separate reference array
KR0172533B1 (ko) 1995-10-18 1999-03-30 김주용 플래쉬 메모리 장치
KR0172364B1 (ko) 1995-11-06 1999-03-30 김광호 불휘발성 반도체 메모리의 기준셀을 이용한 소거검증 방법
JPH09139089A (ja) 1995-11-13 1997-05-27 Sony Corp 強誘電体記憶装置
JP3581207B2 (ja) 1996-02-13 2004-10-27 株式会社東芝 不揮発性半導体メモリ
TW338158B (en) 1996-02-29 1998-08-11 Sanyo Electric Co Non volatile semiconductor memory device
JPH09270195A (ja) 1996-04-02 1997-10-14 Sharp Corp 半導体記憶装置
EP0805454A1 (en) 1996-04-30 1997-11-05 STMicroelectronics S.r.l. Sensing circuit for reading and verifying the content of a memory cell
US5886927A (en) 1996-06-11 1999-03-23 Nkk Corporation Nonvolatile memory device with verify function
DE69630024D1 (de) 1996-06-18 2003-10-23 St Microelectronics Srl Nichtflüchtiger Speicher mit Einzelzellenreferenzsignalgeneratorschaltung zum Auslesen von Speicherzellen
EP0814480B1 (en) 1996-06-18 2003-12-17 STMicroelectronics S.r.l. Method and circuit for reading low-supply-voltage nonvolatile memory cells
DE69702256T2 (de) 1996-06-24 2001-01-18 Advanced Micro Devices Inc Verfahren für einen merhfachen, bits pro zelle flash eeprom, speicher mit seitenprogrammierungsmodus und leseverfahren
WO1998003978A1 (fr) 1996-07-18 1998-01-29 Nkk Corporation Dispositif de reference, procede de fixation d'un niveau de reference, procede d'autodiagnostic et memoire semi-conductrice non volatile
JPH10302486A (ja) 1996-08-30 1998-11-13 Sanyo Electric Co Ltd 半導体記憶装置
US5864569A (en) 1996-10-18 1999-01-26 Micron Technology, Inc. Method and apparatus for performing error correction on data read from a multistate memory
US5790453A (en) 1996-10-24 1998-08-04 Micron Quantum Devices, Inc. Apparatus and method for reading state of multistate non-volatile memory cells
US5764568A (en) 1996-10-24 1998-06-09 Micron Quantum Devices, Inc. Method for performing analog over-program and under-program detection for a multistate memory cell
JPH10134587A (ja) 1996-10-29 1998-05-22 Sony Corp 不揮発性半導体記憶装置
US5774395A (en) 1996-11-27 1998-06-30 Advanced Micro Devices, Inc. Electrically erasable reference cell for accurately determining threshold voltage of a non-volatile memory at a plurality of threshold voltage levels
FR2760888B1 (fr) 1997-03-11 1999-05-07 Sgs Thomson Microelectronics Circuit de lecture pour memoire adapte a la mesure des courants de fuite
DE69723227T2 (de) 1997-04-14 2004-06-03 Stmicroelectronics S.R.L., Agrate Brianza Hochpräzisionsanalogleseschaltkreis für Speichermatrizen, insbesondere für Flash-Analogspeichermatrizen
JP3169858B2 (ja) 1997-06-20 2001-05-28 日本電気アイシーマイコンシステム株式会社 多値型半導体記憶装置
JP3039458B2 (ja) 1997-07-07 2000-05-08 日本電気株式会社 不揮発性半導体メモリ
IT1293644B1 (it) 1997-07-25 1999-03-08 Sgs Thomson Microelectronics Circuito e metodo di lettura di celle di una matrice di memoria analogica, in particolare di tipo flash
JPH1166875A (ja) 1997-08-18 1999-03-09 Fujitsu Ltd 半導体記憶回路
JP3730373B2 (ja) 1997-09-02 2006-01-05 株式会社東芝 半導体記憶装置
JPH11213684A (ja) 1998-01-28 1999-08-06 Toshiba Corp 不揮発性半導体メモリ
EP0936627B1 (en) 1998-02-13 2004-10-20 STMicroelectronics S.r.l. Low voltage non volatile memory sense amplifier
JPH11270195A (ja) 1998-03-20 1999-10-05 Ube Nitto Kasei Co Ltd 張設体用挟持部材及び張設体の設置方法
JPH11274437A (ja) 1998-03-26 1999-10-08 Sanyo Electric Co Ltd 不揮発性半導体メモリ装置
FR2778012B1 (fr) 1998-04-28 2001-09-28 Sgs Thomson Microelectronics Dispositif et procede de lecture de cellules de memoire eeprom
US5966330A (en) 1998-04-30 1999-10-12 Eon Silicon Devices, Inc. Method and apparatus for measuring the threshold voltage of flash EEPROM memory cells being applied a variable control gate bias
DE69820594D1 (de) 1998-05-29 2004-01-29 St Microelectronics Srl Anordnung und Verfahren zum Lesen von nichtflüchtigen Speicherzellen
DE69832164T2 (de) 1998-08-07 2006-08-17 Stmicroelectronics S.R.L., Agrate Brianza Ausleseanordnung für Multibit-Halbleiterspeicheranordnung
JP3588553B2 (ja) 1998-08-13 2004-11-10 株式会社東芝 不揮発性半導体メモリ
DE69828966D1 (de) 1998-09-15 2005-03-17 St Microelectronics Srl Verfahren zum Schutz des Inhalts nichtflüchtiger Speicherzellen
US5936906A (en) 1998-10-29 1999-08-10 Winbond Electronics Corp. Multilevel sense device for a flash memory
US6282145B1 (en) 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US6381659B2 (en) 1999-01-19 2002-04-30 Maxtor Corporation Method and circuit for controlling a first-in-first-out (FIFO) buffer using a bank of FIFO address registers capturing and saving beginning and ending write-pointer addresses
US6094368A (en) 1999-03-04 2000-07-25 Invox Technology Auto-tracking write and read processes for multi-bit-per-cell non-volatile memories
US6151248A (en) 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
US6103573A (en) 1999-06-30 2000-08-15 Sandisk Corporation Processing techniques for making a dual floating gate EEPROM cell array
US6188615B1 (en) 1999-10-29 2001-02-13 Hewlett-Packard Company MRAM device including digital sense amplifiers
US6314014B1 (en) 1999-12-16 2001-11-06 Ovonyx, Inc. Programmable resistance memory arrays with reference cells
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP4291940B2 (ja) 2000-08-11 2009-07-08 本田技研工業株式会社 Dohc型エンジン
US6512263B1 (en) 2000-09-22 2003-01-28 Sandisk Corporation Non-volatile memory cell array having discontinuous source and drain diffusions contacted by continuous bit line conductors and methods of forming
US6538922B1 (en) 2000-09-27 2003-03-25 Sandisk Corporation Writable tracking cells
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US6751766B2 (en) * 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180430A (zh) * 1995-03-31 1998-04-29 三星电子株式会社 不按顺序执行读写指令的存储器控制器
US20030086293A1 (en) * 2001-11-02 2003-05-08 Sandisk Corporation Error management for writable tracking storage units

Also Published As

Publication number Publication date
US20110141816A1 (en) 2011-06-16
CN1826659A (zh) 2006-08-30
US7916552B2 (en) 2011-03-29
TW200502971A (en) 2005-01-16
EP1636802B1 (en) 2011-11-30
US20040255090A1 (en) 2004-12-16
ATE535912T1 (de) 2011-12-15
US7681094B2 (en) 2010-03-16
US7237074B2 (en) 2007-06-26
US20100202199A1 (en) 2010-08-12
US20070217259A1 (en) 2007-09-20
US8072817B2 (en) 2011-12-06
WO2004114313A3 (en) 2005-03-17
TWI244089B (en) 2005-11-21
US20070226434A1 (en) 2007-09-27
US7760555B2 (en) 2010-07-20
WO2004114313A2 (en) 2004-12-29
EP1636802A2 (en) 2006-03-22
KR20060025551A (ko) 2006-03-21
JP2007500918A (ja) 2007-01-18
KR101049580B1 (ko) 2011-07-15
JP4681559B2 (ja) 2011-05-11

Similar Documents

Publication Publication Date Title
CN1826659B (zh) 存储器系统、读取存储在该存储器系统中数据的方法及为存储器系统所执行的方法
CN103843067B (zh) 用于非易失性存储器的片上动态读取
US8971119B2 (en) Select transistor tuning
CN100589206C (zh) 确定存储器数据单元是否被擦除及处理存储器数据单元的方法
CN101595529B (zh) 非易失性存储器软编程中的受控升压
US9105349B2 (en) Adaptive operation of three dimensional memory
US8966330B1 (en) Bad block reconfiguration in nonvolatile memory
US8972675B2 (en) Efficient post write read in three dimensional nonvolatile memory
US9136022B2 (en) Selection of data for redundancy calculation by likely error rate
CN101127240A (zh) 降低非易失性存储器存储元件间耦合效应的方法
KR20160096082A (ko) 전하 트래핑 메모리에 대한 기입 스킴
CN104769678A (zh) 具有数据保留分区的闪速存储器
EP0969478B1 (en) A multilevel programming method for a nonvolatile semiconductor memory
US20230326537A1 (en) Memory device, memory system, and method of operating the same
US20230282285A1 (en) Method for programming memory device, memory device and memory system
WO2023165440A1 (en) Method for programming memory device, memory device and memory system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORPORATION

Effective date: 20121015

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20121015

Address after: American Texas

Applicant after: Sandisk Corp.

Address before: American California

Applicant before: Sandisk Corp.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: American Texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Corp.