CN101573761A - 具有可变读取阈值的非易失性存储器 - Google Patents

具有可变读取阈值的非易失性存储器 Download PDF

Info

Publication number
CN101573761A
CN101573761A CNA2007800410324A CN200780041032A CN101573761A CN 101573761 A CN101573761 A CN 101573761A CN A2007800410324 A CNA2007800410324 A CN A2007800410324A CN 200780041032 A CN200780041032 A CN 200780041032A CN 101573761 A CN101573761 A CN 101573761A
Authority
CN
China
Prior art keywords
voltage
memory
flash memory
state
threshold
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
CNA2007800410324A
Other languages
English (en)
Other versions
CN101573761B (zh
Inventor
伊加尔·布兰德曼
凯文·M·康利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Priority claimed from US11/556,626 external-priority patent/US7558109B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Priority claimed from PCT/US2007/082831 external-priority patent/WO2008057822A2/en
Publication of CN101573761A publication Critical patent/CN101573761A/zh
Application granted granted Critical
Publication of CN101573761B publication Critical patent/CN101573761B/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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel 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/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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

使用在存储器寿命期间调整的一个或一个以上读取电压来从非易失性存储器阵列读取数据。编程目标电压和读取电压可随存储器寿命而一起调整,以将存储器状态映射到宽度逐渐增加的阈值窗口。将个别存储器状态映射到变得较宽的子范围,从而减少错误。

Description

具有可变读取阈值的非易失性存储器
技术领域
本发明涉及非易失性存储器系统,且涉及操作非易失性存储器系统的方法。
背景技术
非易失性存储器系统在各种应用中被使用。一些非易失性存储器系统嵌入在较大的系统(例如个人计算机)中。其它非易失性存储器系统以可装卸方式连接到主机系统,且可在不同主机系统之间互换。此些可装卸存储器系统的实例包含存储器卡和USB快闪驱动器。电子电路卡,包含非易失性存储器卡在内,在商业上已根据许多众所周知的标准来实施。存储器卡与个人计算机、蜂窝式电话、个人数字助理(PDA)、数字静态相机、数字电影摄影机、便携式音频播放器和其它用于存储大量数据的主机电子装置一起使用。此些卡通常含有可再编程的非易失性半导体存储器单元阵列以及控制器,所述控制器控制并支持所述存储器单元阵列的操作,并与卡所连接到的主机介接。若干同一类型的卡可在经设计以接受所述类型的卡的主机卡槽中互换。然而,许多电子卡标准的发展已形成了不同类型的卡,所述卡在各种程度上彼此不兼容。根据一种标准而制作的卡通常不可与经设计以与另一标准的卡一起操作的主机共同使用。存储器卡标准包含PC卡、CompactFlashTM卡(CFTM卡)、SmartMediaTM卡、多媒体卡(MMCTM)、安全数字(SD)卡、miniSDTM卡、订户身份模块(SIM)、Memory StickTM、存储器棒Duo(Memory StickDuo)卡以及微型SD/TransFlashTM存储器模块标准。商业上可从晟碟(SanDisk)公司购得商标为
Figure A20078004103200071
的若干种USB快闪驱动器产品。USB快闪驱动器通常比上文所述之存储器卡大,且形状与所述存储器卡不同。
当读取存储在非易失性存储器系统中的数据时,数据可能含有错误位。重构被破坏数据的传统方式包含应用错误校正码(ECC)。简单的错误校正码通过在数据被写入存储器系统中时存储额外的奇偶位来对数据进行编码,所述额外的奇偶位将位群组的奇偶性设置为所需的逻辑值。如果在存储期间,数据是错误的,那么位群组的奇偶性可能改变。在从存储器系统读取数据时,再次通过ECC计算位群组的奇偶性。因为数据破坏,所以计算出的奇偶性可能不匹配所需的奇偶性条件,且ECC可以检测到所述破坏。
ECC可具有至少两个功能:错误检测和错误校正。这些功能中的每一者的能力通常以可被检测为错误且随后被校正的位的数目来衡量。检测能力可与校正能力相同或大于校正能力。典型ECC可检测的错误位的数目比其可校正的错误位的数目高。数据位与奇偶位的集合有时被称为字。较早的实例是(7,4)汉明码(Hamming code),其具有检测至多达每字(在此实例中为七个位)两个错误的能力,且具有校正所述七位字中的一个错误的能力。
更复杂的ECC每字可校正单个以上错误,但重构数据在计算上变得越来越复杂。常见的实践是用某一可接受的较小的不正确恢复的似然性来恢复数据。然而,随着错误数目增加,可靠的数据恢复的概率也会迅速减小,或额外硬件和/或性能中相关联的成本变为惊人地高。
在半导体存储器装置(包含EEPROM系统)中,数据可由晶体管的阈值电压表示。通常,不同的数字数据存储值对应于不同的电压范围。如果出于某一原因,在读取操作期间,电压电平从其优选范围移位,那么错误发生。错误可由ECC检测,且在一些情况下,这些错误可被校正。
发明内容
在快闪存储器阵列中,在第一时间处,将多个存储器状态映射到第一阈值窗口,其中将所述多个存储器单元中的个别一者映射到第一阈值窗口的子范围;在随后的第二时间处,将所述多个存储器状态映射到第二阈值窗口,其中将所述多个存储器状态中的个别一者映射到所述第二阈值窗口的子范围,所述第二阈值窗口比所述第一阈值窗口宽。
一种从快闪存储器阵列读取数据的方法包含:通过将多个存储器单元的阈值电压与第一预定电压进行比较来从存储器读取第一数据位;在ECC解码器中对所述第一数据位进行解码;以及随后通过将存储器单元的阈值电压与第二预定电压进行比较来从所述多个存储器单元读取第二数据位,所述第二预定电压是根据ECC解码器中对第一数据位的解码而确定的。
一种快闪存储器系统包括:快闪存储器阵列,其包含被编程到多个经编程状态的多个单元;以及读取电路,其连接到所述存储器阵列,所述读取电路在第一模式中将存储器单元阈值电压与第一多个预定电压进行比较,以辨别所述多个经编程状态,且在第二模式中将所述存储器单元阈值电压与第二多个预定电压进行比较,以辨别所述多个经编程状态,所述第二多个预定电压中的最高电压高于所述第一多个预定电压中的最高电压。
一种快闪存储器系统包括:存储器阵列,其包含多个非易失性存储器单元;ECC解码器,其对来自所述存储器阵列的数据进行解码;读取电路,其连接到所述存储器阵列,所述读取电路将存储单元的阈值电压与至少一个预定电压进行比较,以确定所述存储器单元的经编程状态;以及调整电路,其响应于来自ECC解码器的信息而增加或减小所述至少一个预定电压。
附图说明
图1展示非易失性存储器中被编程到逻辑1状态和逻辑0状态的单元的阈值电压(包含用于区分逻辑1状态与逻辑0状态的电压VD)的似然函数。
图2展示包含存储器阵列、调制器/解调器电路和编码器/解码器电路的存储器系统的组件。
图3展示被编程到逻辑1状态和逻辑0状态的单元的读取阈值电压的似然函数,其展示阈值电压值。
图4展示包含存储器阵列、调制器/解调器电路和编码器/解码器电路的存储器系统的组件,其中解调器向解码器提供似然性值。
图5展示具有软输入软输出(SISO)解码器的ECC单元。
图6展示具有两个示范性区分电压的存储器单元的逻辑1状态和逻辑0状态的似然函数。
图7A展示表示三个数据位的八个存储器状态的似然函数,其中三遍读取提供存储器状态之间的区分以及存储器状态内的额外分辨率。
图7B展示包含区分电压和处于所述区分电压的任一侧的增量处的额外读取电压的读取电压的示范性布置。
图8展示存储器单元状态的似然函数可如何随存储器被使用而改变,似然性分布随着使用而变宽。
图9A展示存储器寿命早期的四个存储器状态和分解那些状态的区分电压的似然函数。
图9B展示在具有相同区分电压的存储器寿命的后期,图9A的四个存储器状态的似然函数。
图10A展示根据另一实施例的存储器寿命早期的四个存储器状态的似然函数,其中区分电压与在前一实例中相比间隔更近。
图10B展示在具有经调整的区分电压的存储器寿命后期,图10A的四个存储器状态的似然函数,所述经调整的区分电压与图10A的区分电压相比间隔更宽。
图11展示存储器系统,其包含:ECC解码器;统计单元,其收集关于ECC解码器所进行的校正的统计信息;以及调整单元,其响应于来自所述统计单元的信号而调整操作参数,例如读取电压或编程目标电压。
具体实施方式
在许多非易失性存储器中,从存储器阵列读取的数据可能具有错误。即,被编程到存储器阵列的输入数据的个别位稍后可能被读取为处于不同逻辑值。图1展示指示存储器单元状态的物理参数(阈值电压,VT)与存储器单元可编程到的逻辑值之间的关系。在此实例中,仅两个状态存储于单元中。因此,所述单元存储一个数据位。被编程到逻辑0状态的单元通常具有比处于逻辑1(未经编程)状态的单元高的阈值电压。在替代方案中,逻辑1状态是存储器单元的未经编程状态。图1的垂直轴指示以基于预期阈值电压分布的任何特定阈值电压来读取单元的似然性。针对被编程到逻辑1的单元展示第一似然函数,且针对被编程到逻辑0的单元展示第二似然函数。然而,这些函数之间具有某一程度的重叠。区分电压VD在读取此些单元中使用。具有低于VD的阈值电压的单元被视为处于状态1,而具有高于VD的阈值电压的单元被视为处于状态0。如图1展示,这种情况可能不总是正确的。因为函数之间的重叠,所以存在被编程到逻辑1状态的存储器单元将被读取为具有大于VD的阈值电压且因此将被读取为处于逻辑0状态的非零似然性。类似地,存在被编程到逻辑0状态的存储器单元将被读取为具有逻辑1状态的非零似然性。
函数之间的重叠由于许多原因而发生,包含存储器阵列中的物理缺陷,以及存储器阵列中以后的编程或读取操作对经编程单元造成的干扰。重叠还可能由于普遍缺乏使较大数目的单元保持在非常紧密的阈值电压范围内的能力而发生。某些编程技术可允许阈值电压的函数变窄(具有较小的标准偏差)。然而,此编程可能花费较多的时间。在一些存储器系统中,一个以上位存储在存储器单元中。一般来说,希望在存储器单元中存储尽可能多的位。为了高效地使用可用阈值电压范围,用于邻近状态的函数可使得其显著重叠。
非易失性存储器系统通常使用ECC方法来克服从存储器阵列读取的数据中所出现的错误。此些方法通常根据编码系统从待存储在存储器阵列中的输入数据计算一些额外ECC位。其它ECC方案可以更复杂的方式将输入数据映射到输出数据。ECC位通常是连同输入数据一起存储,但可单独存储。输入数据和ECC位稍后一起被从非易失性存储器阵列读取,且解码器使用所述数据和ECC位两者来检查是否存在任何错误。在一些情况下,此些ECC位还可用于识别出错的位。接着通过改变错误位的状态(从“0”变为“1”或从“1”变为“0”)来校正所述错误位。将ECC位附加到数据位并不是在将数据存储在非易失性存储器中之前对所述数据进行编码的唯一方式。举例来说,可根据提供以下变换的方案来对数据位进行编码:00到1111、01到1100、10到0011和11到0000。
图2展示正存储在存储器系统200中的输入数据的实例。输入数据首先由包含编码器203的ECC单元201接收。输入数据可以是待存储在存储器系统200中的主机数据,或可以是由存储器控制器产生的数据。图2的实例展示四个输入数据位1001。编码器203接着使用编码方案从输入数据位计算ECC位(1111)。编码方案的一个实例是产生ECC位,所述ECC位是选定的数据位群组的奇偶位。
接着将输入数据位和ECC位两者发送到调制/解调单元205,其包含调制器207。调制器207将ECC单元201所发送的数字数据转换成其被写入存储器阵列209中的形式。在一个方案中,将数字数据转换成多个存储器单元中的多个阈值电压值。因此,用于将数字数据转换成存储器单元中存储的阈值电压的各种电路可被视为形成调制器。在图2的实例中,每一存储器单元可保存一个数据位。因此,每一存储器单元可具有在两个范围中的一者中的阈值电压,一个范围表示逻辑“1”状态,且另一范围表示逻辑“0”状态,如图1中所示。存储逻辑“1”状态的存储器单元具有小于VD(<VD)的阈值电压,而存储逻辑“0”状态的存储器单元具有大于VD(>VD)的阈值电压。单元可被编程到高于VD的标称阈值电压且经验证,以确保至少在最初,被编程到所述两个逻辑状态的单元之间存在某一优选分离。
数据可存储在存储器阵列209中历时某一时间周期。在此时间期间,各种事件可能发生,以致使存储器单元的阈值电压改变。明确地说,涉及编程和读取的操作可能要求以影响其它先前经编程单元的方式向字线和位线施加电压。在装置的尺寸减小而使得邻近单元之间的相互作用显著的情况下,此些干扰是特别常见的。经过较长的时间周期,电荷也可能丢失。此些数据保持故障还可能致使数据在被读取时改变。由于此些改变,数据位可能被读出为与原始编程的数据位具有不同的状态。在图2的实例中,一个输入数据位211被读取为具有小于VD(<VD)的阈值,当所述输入数据位原始被写入时,其具有大于VD(>VD)的阈值。
通过调制/解调单元205中的解调器213将存储器单元的阈值电压转换成数据位。这是调制器所执行的过程的反过程。解调器213可包含读出放大器,其从存储器阵列209中的存储器单元读取电压或电流,且从所述读取导出所述单元的状态。在图2的实例中,具有小于VD(<VD)的阈值电压的存储器单元给出经解调的输出“1”,且具有大于VD(>VD)的阈值电压的存储器单元给出经解调的输出“0”。这给出如图所示的输出序列11011111。此序列的第二个位208由于存储在存储器阵列209中而出错。
将解调器213的输出发送到ECC单元201中的解码器215。解码器215从数据位和ECC位确定是否存在任何错误。如果存在较小数目的错误(在码的校正能力内),那么所述错误被校正。如果存在较大数目的错误,如果它们在码的检测能力内,那么所述错误可被识别但不能被校正。如果错误的数目超过码的检测能力,那么所述错误不能被检测,或可能导致错误的校正。在图2的实例中,第二个位中的错误被检测且被校正。此提供来自解码器215的输出(1001),其与输入序列相同。存储器系统200的解码被视为硬输入硬输出解码,因为解码器215仅接收表示输入数据位和ECC位的数据位,且解码器215输出对应于输入数据位的经校正的数据位序列(或如果错误的数目过高,那么无法给出输出)。
图3和图4中展示存储器系统200的替代存储器系统。图3展示与图1的VD=0且低于VD的阈值电压表示逻辑0且高于VD的电压表示逻辑1的函数类似的函数。代替于展示将阈值电压分成两个不同范围的单个电压VD,此处阈值电压由实际电压数字来指示。对应于逻辑“1”的函数的中心高于0伏,且对应于逻辑“0”的函数的中心低于0伏。
图4展示存储器系统421,其使用类似于具有不同读取过程的存储器系统200(使用相同的输入数据位和ECC位)的数据存储过程的数据存储过程。明确地说,代替于简单地确定阈值电压是高于还是低于特定值,存储器系统421读取阈值电压,如图3中所示。将理解,不一定读取实际阈值电压。可使用其它单元操作方法来存储和检索数据(例如,电流感测)。电压感测仅用作一实例。通常,阈值电压指代晶体管以之接通的栅极电压。图4展示比先前实例提供更详细信息的读取发生。此读取可被视为具有比图2的读取高的分辨率(和分解比用于编程的状态多的状态的分辨率)的读取。如在先前实例中,错误出现在读取数据中。此处,对应于第二和第三个位的读数出错。第二和第三个位为逻辑“0”,且通过将单元编程为以具有小于VD的阈值电压而存储,但单元被读取为具有0.05伏和0.10伏的阈值电压,其高于VD(VD=0伏)。
通过一系列读取操作从图4的存储器阵列423读取的原始电压被发送到调制/解调单元427中的解调器425。所述原始电压具有由模拟到数字转换的分辨率规定的有限分辨率。此处,将原始数据转换成似然性数据。明确而言,将每一单元读数转换成对应位为一或零的似然性。来自存储器阵列的读取系列(0.75、0.05、0.10、0.15、1.25、1.0、3.0和0.5伏)不仅可指示单元的状态,而且可用于提供关于所述状态的确定性程度。这可表达为存储器单元被以特定位编程的似然性。因此,接近0伏的读数可给出较低的似然性值,而较远离0伏的读数给出较高的似然性值。所示的似然性值是对数似然比率(下文详细阐释)。这针对处于逻辑0状态的单元提供负数,且针对处于逻辑1状态的单元提供正数,其中数字的量值指示状态被正确识别的似然性。第二和第三似然性值(0.1、0.2)指示逻辑“1”。第二和第三值指示相当低的似然性。
将似然性值发送到ECC单元431中的解码器429(在一些情况下,从原始值获得似然性值可被视为在解码器中执行)。ECC单元431还包含编码器432。解码器429对似然性值执行解码操作。此解码器可被视为软输入解码器。一般来说,软输入指代包含与待解码的数据有关的一些质量信息的输入。作为软输入而提供的额外信息通常允许解码器获得更佳的结果。解码器可使用软输入来执行解码计算,以提供计算出的似然性值作为输出。所述输出被视为软输出,且此解码器被视为软输入软输出(SISO)解码器。此输出接着可再次被用作对SISO解码器的输入,以迭代所述解码并改进结果。SISO解码器可形成向另一单元提供硬输出的较大解码器的一部分。SISO解码器通常提供较佳的性能,且在一些情况下,可提供比用硬输入硬输出解码可能实现的性能更佳的性能。明确地说,对于相同量的额外开销(ECC位的数目),SISO解码器可提供更大的错误校正能力。为了高效地使用SISO解码器,可实施合适的编码/解码方案,且解调适合于高效地获得软输入而无过度复杂性且从存储器阵列读取数据无需过多时间。
在一个实施例中,通过以分解比对存储器进行编程中所使用的状态更大数目的状态的分辨率读取非易失性存储器阵列中的数据,来提供用于SISO解码器的软输入。因此,可通过将存储器单元编程到两个阈值电压范围中的一者来写入数据,且随后通过分解三个或三个以上阈值电压范围来读取所述数据。通常,读取中所使用的阈值电压范围的数目将是编程中所使用的阈值电压范围数目的某一倍数(例如,两倍那么多)。然而,情况并不总是这样。
ECC单元可形成为专用电路,或此功能可由控制器中的固件执行。通常,控制器是专用集成电路(ASIC),其具有为特定功能(例如ECC)而设计的电路,且还具有用以管理控制器操作的固件。因此,编码器/解码器可由存储器控制器中的硬件与固件的组合形成。编码器/解码器(ECC单元)可替代地位于存储器芯片上。调制/解调单元可位于存储器芯片上、控制器芯片上、单独的芯片上或某一组合上。通常,调制/解调单元将包含存储器芯片上的至少一些组件(例如,连接到存储器阵列的外围电路)。虽然图4指示阈值电压被读取达到较高分辨率(模拟读取),但所选分辨率的程度可取决于包含所使用的非易失性存储器的类型在内的许多因素。
图5展示ECC单元431(尤其是解码器429)的更详细视图。解码器429包含SISO解码器532和软-硬转换器534。SISO解码器通常接受原始似然性数据,且对原始似然性数据执行ECC计算,以提供计算出的似然性数据。计算出的似然性数据可被视为软输出。在许多情况下,此软输出接着被提供为对SISO解码器的输入,使得第二解码迭代被执行。SISO解码器可执行相继迭代,直到实现至少一个预定条件为止。举例来说,预定条件可以是所有位都具有大于某一最小值的似然性。预定条件还可以是似然性值的集合,例如平均似然性值。预定条件可以是从一个迭代到下一个迭代的结果的收敛(即,保持迭代,直到只有很小的改进来自额外迭代为止)。预定条件可以是完成预定数目的迭代。还可使用这些条件的组合。使用作为在数据被存储之前编码器432对所述数据执行的解码的结果的数据中的经编码模式来执行解码。编码器432和解码器429两者都被视为ECC单元431的部分。
高效的解码取决于具有合适的编码/解码方案。用于以适合SISO解码器(例如SISO解码器532)中的后续解码的方式对数据进行编码的各种方案是已知的。编码/解码方案包含(但不限于)涡轮码、乘积码、BCH码、瑞得一赛勒曼码(Reed-Solomon code)、卷积码(见第11/383,401号和第11/383,405号美国专利申请案)、汉明码和低密度奇偶校验(LDPC)码。标题为“用于非易失性存储器的软输入软输出解码器(Soft-inputsoft-output decoder for nonvolatile memory)”的第11/536,286号美国专利申请案和标题为“用于非易失性存储器的软输入软输出解码方法(Methods of soft-input soft-outputdecoding for nonvolatile memory)”的第11/536,327号美国专利申请案中提供LDPC码和涡轮码以及其可如何与SISO解码一起使用的详细描述,上述两个美国专利申请案都是在2006年9月28日申请的。
在一些情况下,可收集关于ECC解码器所进行的校正的统计资料。此些统计资料可用于在存储器阵列的操作参数中作出调整。2006年9月28日申请的第11/536,347号和第11/536,372号美国专利申请案描述具有经调整的操作参数的非易失性存储器系统和用于调整此等参数的方法。
非易失性存储器的可被调整的操作参数的一个实例是经编程存储器状态之间的区分电压。图6展示被编程到逻辑1和被编程到逻辑0的单元的读取阈值电压的似然函数635a、635b。在提供较大数目的错误的位置处展示第一区分电压VD,因为具有高于VD的阈值电压的任何单元都被视为被编程到逻辑0,但如图6所述,存在此单元实际上被编程到逻辑1的显著似然性。使用VD作为区分电压意味着相当大数目的单元被读取为处于逻辑0,但它们是被编程到逻辑1。此些数据位通常由ECC校正。被编程到逻辑0的单元将被读取为具有逻辑1的似然性非常低,所以此些位的ECC校正是罕见的。因此,在此情况下,ECC解码器将执行的0到1校正比1到0校正多。
在逻辑1函数与逻辑0函数相交的阈值电压处展示第二区分电压VD′。因此,在单元具有阈值电压VD′处,单元被编程到逻辑1的似然性与被编程到逻辑0的似然性相等。这对于区分电压来说是最佳位置。即使在区分电压位于VD′的情况下,也存在单元的阈值电压将指示错误的逻辑状态的某一似然性。然而,所述似然性较低,且被编程到逻辑0的随后被读取为具有逻辑1的单元的数目等于被编程到逻辑1的随后被读取为具有逻辑0的单元的数目。当区分电压并不位于其最佳值(例如,位于VD)时,可能希望调整所述区分电压,以使其到达其最佳值(例如VD′),或至少使其较靠近其最佳值。检测区分电压并非位于其最佳值的一种方式是来自ECC解码器对对应于区分电压的任一侧上的存储器状态的位所进行的校正。
ECC解码通常可根据在区分的任一侧上的逻辑状态之间所作出的校正的数目来指示区分电压是否位于最佳位置。如果区分电压并非位于其最佳位置,那么ECC解码可指示(根据来自区分电压任一侧上的状态的校正的数目)区分电压应移动的方向。ECC解码还可根据相应的校正数目而指示与从较低状态到较高状态的校正相比,应从较高状态(在此实例中为逻辑0)向较低状态(在此实例中为逻辑1)将区分电压移动多少。可使用合适的电路来根据使用初始区分电压对读取的数据的ECC校正而确定是否应调整区分电压。如果将作出此些调整,那么所述电路可指示应在哪一方向上调整它们,且还可指示应将它们调整多少。
虽然图6仅展示表示所存储数据的一个位的两个经编程状态,但在一些配置中,可将存储器单元编程到表示所存储数据的一个以上位的三个或三个以上状态。图7A展示存储器单元的阈值电压范围(阈值窗口)被分成个别地表示经编程状态的八个子范围的实例。三个数据位存储在此一单元中。在将单元的阈值电压与七个区分电压Va到Vg相比的第一遍读取(R1)期间,单元被读取为位于八个子范围737a到737h中的一者中。区分电压Va到Vg位于预期相邻状态的似然函数将相交的位置处。除将单元的阈值电压与区分电压Va到Vg进行比较之外,在第二遍读取(R2)中还将阈值电压与中间电压Vh到Vo进行比较。中间电压Vh到Vo在区分电压Va到Vg之间,且在第一遍读取R1的每一子范围737a到737h内提供进一步分辨率。使用在子范围737a到737h内进一步分解的额外中间电压Vp到Vee来执行第三遍读取(R3)。在一些情况下,可执行更多遍的读取来实现较高分辨率。两遍或两遍以上读取的结果可用于提供存储器单元的具有较高分辨率的阈值电压。这可被视为一种形式的模拟到数字转换。每一读取的结果可锁存在寄存器中,所述寄存器形成为存储器阵列的外围电路。当已执行了所有的必要读取时,使用寄存器的内容来提供发送到其它电路(例如ECC解码器)的阈值电压值(或均等物)。或者,可将来自每一读取的输出从存储器芯片发送到在执行模拟到数字转换的其它地方(例如,控制器ASIC中)的电路。发送此数据可与进一步读取并行完成以获得效率。
在一些存储器系统中,可响应于ECC校正而作出其它调整。举例来说,在使用查找表来使阈值电压与和特定位相关联的概率值相关的情况下,可调整所述查找表,以平衡从一个状态到另一状态的校正的数目。因此,根据ECC校正的观察而动态地更新阈值电压与概率的相关。
如同图6的双状态存储器单元一样,可调整图7A的实例中的区分电压以平衡邻近状态之间的校正。举例来说,可调整区分电压Vc,使得从100状态到101状态的校正的数目与从101状态到100状态的校正的数目更均等。一般来说,在区分电压被调整的情况下,第二遍读取R2和第三遍读取R3的中间电压也被调整。通常,此些中间电压以一模式布置,以获得关于单元的阈值电压的有用信息。此信息可用于提供关于存储器单元的状态的概率值。执行单独遍的读取(例如R1、R2和R3)并不总是必要的,且在一些情况下,将单个电压比较序列执行为包含区分电压和中间电压的单次读取。在另一实例中,可执行二进位搜索。
因为图7A的实例中存在两个以上存储器状态,所以ECC所进行的校正以及对此校正的分析可能较复杂。仅监视从1到0和从0到1的位的校正的数目通常是不够的。在每单元三个位的情况下,1到0校正比0到1校正多可能意味着在一些情况下应增加区分电压,或在其它情况下应减小区分电压,视位到存储器状态的映射而定。举例来说,为了调整100状态与101状态之间的区分电压,仅需要考虑最低有效位的校正,因为其它位对于这两个状态是相同的。从0到1的校正的数目高于从1到0的校正的数目(对于具有1和0作为较高位的单元中的最低有效位)将指示阈值电压Vc过高且应降低。统计单元可相对于用于表示经校正位和未经校正位的存储器状态而跟踪校正,使得可进行适当的调整。
图7B展示围绕区分电压Vreadn而布置的中间读取电压V1到V6的模式的一个实例。明确地说,图7B展示在Vreadn的任一侧上处于电压差δ处的中间电压V1和V2、在Vreadn的任一侧上处于电压差2δ处的中间电压V3和V4以及在Vreadn的任一侧上处于电压差3δ处的中间电压V5和V6。单元的阈值电压可在如图7A中的具有增加分辨率的读取中与Vreadn和V1到V6进行比较,或可以增加或减小电压的次序或以任一其它便利次序进行比较。通常,在Vreadn被调整以平衡邻近状态之间的ECC校正的情况下,中间电压V1到V6将经相应地调整以维持从Vreadn的相同偏移。
可根据ECC解码器所进行的校正而在任一方向上进行对区分电压的调整。因此,与特定经编程状态相关联的阈值电压范围可变宽或变窄,且可电压上移或电压下移。一般来说,在快闪存储器中,用于特定经编程状态的似然函数随着存储器使用而变宽。图8展示用于同一单元的两个似然函数839a到839b,函数839a展示随阈值电压VT而变的似然性的寿命分布的开始,且函数839b展示随阈值电压VT而变的似然性的寿命分布的结尾。如图所示,寿命分布的开始839a比寿命分布的结尾839b窄。将理解,来自存储器单元的真实数据展示与图8的分布类似的分布,其中y轴指示以不同阈值电压读取的单元的数目。在本描述内容中,似然性用于y轴。
图9A和图9B中展示处理与经编程存储器状态相关联的似然性分布随存储器被使用而加宽的一种方式。图9A展示与存储器寿命中早期的四个经编程状态相关联的四个似然性分布941a到941d。区分电压V7、V8和V9位于分布941a到941d之间。图9A展示邻近分布941a到941d之间无显著重叠,指示在此情况下使用较大的裕度且误读单元的可能性较低。
图9B展示与同一单元在存储器寿命中单元已经历许多存储器操作(例如读取、编程和擦除)之后的较晚阶段的相同四个经编程状态相关联的似然性分布943a到943d。分布943a到943d与分布941a到941d相比已变宽,且展示某种重叠,使得可能存在误读所存储数据的显著似然性。区分电压V7到V9用于如前所述区分存储器状态。因此,存储器状态仍映射到相同的阈值窗口(V10到V11),且个别存储器状态仍映射到阈值窗口V10到V11内的相同子范围。在分布继续变宽的情况下,在某一点处,从存储器读取的数据中错误的数目超过ECC解码器的能力,且存储器不再可用。在此实例中,最初以提供大于所需的裕度的电平来设置区分电压V7到V9。这在存储器寿命中始终使用阈值窗口V10到V11。然而,使用此较宽阈值窗口可能不必要地对存储器造成压力,因为需要较高的电压来将存储器单元编程到较高阈值窗口,例如在V9与V11之间。
图10A和图10B展示最初使用较小的阈值窗口V15到V16且在存储器寿命的后期使用较大的阈值窗口V15′到V16′的替代布置。最初,存储器单元状态映射到较窄的阈值窗口(总阈值电压范围)V15到V16,且随后存储器单元状态映射到较宽的阈值窗口(总阈值电压范围)V15′到V16′。图10A展示比图9A的类似存储器状态941a到941d更靠近在一起的四个存储器状态的似然函数1045a到1045d。这是向较靠近在一起而布置的目标电压编程的结果。编程目标电压是编程操作期间存储器单元被验证为实现的存储器单元阈值电压(通常,一旦存储器单元被验证为达到目标电压,就禁止对所述单元的进一步编程,而其它单元被进一步编程)。编程目标电压(明确地说,最高编程目标电压)比图9A中低,所以编程电压(例如,分别向“与非”存储器中的选定字线和未选定字线供应的Vprog和Vpass)可减小。区分电压V12到V14在读取期间为每一存储器状态界定较窄的阈值电压子范围。因此,存储器状态所映射到的阈值窗口V15到V16在此实例中比阈值窗口V10到V11窄。
在存储器已投入使用某一时间之后,似然函数变得较宽,从而产生图10B的似然函数1047a到1047d。因此,如果编程目标电压和区分电压保持相同,那么似然函数之间将出现高度重叠,且将导致较大数目的错误。为了克服此问题,图10B展示与区分电压V12到V14相比间距更宽的经调整的区分电压V12′到V14′。在图10B中,与存储器状态早期所映射到阈值窗口(V15到V16)相比,所述存储器状态映射到较宽的阈值窗口(V15′到V16′)。因此,图10A和图10B的存储器通过增加存储器状态所映射到的总阈值电压范围来补偿个别存储器状态的变宽的似然性分布。此方案的一个优点是在存储器寿命的早期,使用较低的电压来进行编程和读取,且这些较低电压对正被读取和编程的存储器单元造成较小压力。此些减小的压力可减慢存储器单元的耗损,且增加产品寿命。将存储器状态重新映射到阈值窗口可包含调整编程目标电压以及读取电压。随着存储器系统用完其寿命,编程目标电压的间距越来越宽。
图10A和图10B展示读取操作期间所使用的区分电压V12到V14和V12′到V14′,但还可使用其它读取电压来给出如上文所述的在与存储器状态相关联的阈值电压子范围内分解的高分辨率读取。通常,编程目标电压和读取电压全部可根据预定方案一起被调整,或可以响应性方式(例如响应于来自ECC解码器的信息)而个别地调整。调整可贯穿存储器的寿命以较小的增量发生,或可在存储器寿命期间仅发生有限的次数。在一个实例中,读取电压和编程目标电压响应于数据质量处于阈值等级的确定而增加预定的量。举例来说,所述阈值等级可取决于所需校正的数目、迭代解码器所进行的迭代的数目或当执行高分辨率读取时存储器状态的概率值。
在另一实例中,可响应于被执行的擦除操作的阈值数目而作出调整。在擦除计数针对每一区块而维持的情况下,当到达某一擦除计数时,用于区块的编程和读取电压可改变。在此系统中,不同区块使用不同的编程和读取电压,且存储器系统使用区块内的额外开销位或控制器所维持的表,或使用专用电路、控制器的一部分或其它合适结构以某一其它合适方式来跟踪哪一区块具有经调整的电压。此系统不一定具有确定数据质量的ECC解码器。
读取电压和编程目标电压可随存储器的寿命而一起改变。然而,可在不改变目标电压的情况下对读取电压作出某些改变。举例来说,可在总体校正速率可接受的情况下对区分电压作出改变,以平衡邻近状态之间的错误校正。
一般来说,当读取电压被调整时,其保持于经调整的电压,直到作出随后的调整为止。然而,在一些情况下,可能希望在读取电压中作出临时调整。举例来说,在数据被从存储器读取且被发现具有较差质量(例如,较低概率值或由ECC指示的较高错误数目)的情况下,可以由对较差质量数据的ECC校正所确定的方式来调整一个或一个以上读取电压,且可再次读取所述数据。这可允许获得较佳质量的数据,使得所述数据可被解码。然而,可能没有必要使此些读取电压保持在其经调整的电平。此方案可用于从存储器检索原本无法检索的数据。通常,接着将此数据重新写入到另一位置,使得其不再进一步降级。接着擦除原始区块。这可以是由存储器控制器进行的刷洗(scrub)操作的一部分,或可作为常规读取操作的一部分而发生(例如,响应于主机读取命令)。编程目标电压在此类调整期间通常保持不变。第5,657,332号和第6,751,766号美国专利中给出错误处理的实例。
图11展示根据本发明一实施例的存储器系统1149,其包含ECC模块1151,ECC模块1151具有ECC编码器1153、ECC解码器1155和统计单元1157。统计单元1157收集关于ECC解码器1155所进行的校正的统计信息。ECC解码器1155可包含SISO解码器或硬输入硬输出解码器,或可包含上述两种解码器。在一个实例中,SISO解码器与硬输入硬输出解码器串联(统计单元可收集关于上述两种解码器所进行的解码的统计资料)。可使用两个编码方案,例如用于SISO解码的LDPC码和用于硬输入硬输出解码的BCH码。统计单元可收集指示数据的总体质量的统计资料,且所述统计资料还可指示ECC解码系统所进行的校正的数目,或可指示不同存储器状态之间的校正的比率。向调制/解调电路1161中的调整单元1159提供统计单元的输出。调整单元1159对调制器1163在将数据编程到存储器阵列1167中所使用的操作参数(例如,用于特定存储器状态的目标电压)和解调器1165在从存储器阵列1167读取数据中所使用的操作参数(例如,读取电压)作出适当的改变。
上述各个实例涉及快闪存储器。然而,各种其它非易失性存储器目前也在使用中,且本文所描述的技术可应用于任何合适的非易失性存储器系统。此些存储器系统可包含(但不限于)基于铁电存储的存储器系统(FRAM或FeRAM),基于磁阻存储的存储器系统(MRAM)以及基于相变的存储器(PRAM或“双向统一存储器(OUM)”)。
本文所引用的所有专利、专利申请案、文章、书籍、说明书、其它公开物、文献等都特此出于所有目的以全文引用的方式并入本文中。在一个术语在所并入的公开物、文献等中的任何一者与本文献的文本之间的定义或使用中存在任何矛盾或冲突的情况下,所述术语在本文献中的定义或使用应占优。
尽管已相对于某些优选实施例而描述了本发明的各个方面,但应了解,本发明有权在所附权利要求书的整个范围内受到保护。

Claims (47)

1.一种管理快闪存储器阵列的方法,其包括:
在第一时间处,将存储器单元的多个存储器状态映射到第一阈值窗口,其中将所述多个存储器状态中的个别存储器状态映射到所述第一阈值窗口的子范围;以及
在第二时间处,将所述存储器单元的所述多个存储器状态映射到第二阈值窗口,其中将所述多个存储器状态中的个别存储器状态映射到所述第二阈值窗口的子范围,所述第二阈值窗口比所述第一阈值窗口宽。
2.根据权利要求1所述的方法,其进一步包括通过分解所述第一或第二阈值窗口的所述子范围且在所述子范围内额外地分解来读取所述存储器单元。
3.根据权利要求2所述的方法,其进一步包括向软输入软输出解码器提供所述读取的结果,所述软输入软输出解码器使用所述读取的所述结果作为软输入以根据编码方案计算软输出。
4.根据权利要求3所述的方法,其中从映射到所述第一阈值窗口改变为映射到所述第二阈值窗口是响应于所述软输入软输出解码器所获得的信息。
5.根据权利要求1所述的方法,其中从映射到所述第一阈值窗口改变为映射到所述第二电压范围是响应于所述快闪存储器阵列的含有被擦除预定次数以上的所述存储器单元的一部分。
6.根据权利要求1所述的方法,其中所述快闪存储器阵列位于包含存储器控制器和用于连接到主机的接口的可装卸存储器卡中。
7.根据权利要求1所述的方法,其中所述第二阈值电压范围的对应于存储器状态的子范围具有与所述第一阈值电压范围的对应于所述存储器状态的子范围不同的上限和下限。
8.一种从快闪存储器阵列读取数据的方法,其包括:
通过将多个存储器单元的阈值电压与第一预定电压进行比较来从所述存储器阵列读取第一数据位;
在ECC解码器中对所述第一数据位进行解码;以及
随后通过将存储器单元的阈值电压与第二预定电压进行比较来从所述多个存储器单元读取第二数据位,所述第二预定电压是从所述ECC解码器中所执行的对所述第一数据位的所述解码而确定的。
9.根据权利要求8所述的方法,其中所述ECC解码器是软输入软输出解码器。
10.根据权利要求8所述的方法,其中所述第一预定电压包含区分第一经编程存储器状态与第二经编程存储器状态的第一区分电压。
11.根据权利要求10所述的方法,其中所述第二预定电压包含区分所述第一经编程存储器状态与所述第二经编程存储器状态的第二区分电压,所述第二区分电压是从对所述第一经编程存储器状态和所述第二经编程存储器状态中的数据的ECC校正确定的。
12.根据权利要求11所述的方法,其中将所述第二区分电压选择为使所述ECC解码器所进行的从所述第一经编程存储器状态到所述第二经编程存储器状态的校正的数目与所述ECC解码器所进行的从所述第二经编程存储器状态到所述第一经编程存储器状态的校正的数目平衡。
13.根据权利要求8所述的方法,其中所述第二预定电压包含高于所述第一预定电压中的任何一者的电压。
14.根据权利要求8所述的方法,其进一步包括使用第一多个目标电压将所述第一数据位编程到所述存储器阵列,以及随后调整所述第一多个目标电压。
15.一种管理快闪存储器阵列的方法,所述快闪存储器阵列包含被编程到各种阈值电压的存储器单元,所述方法包括:
通过将所述单元的阈值电压识别为在个别地对应于存储器状态的多个第一阈值电压范围中的一者内且在所述第一阈值电压范围中的若干第一阈值电压范围内额外地分解,来读取存储器单元以提供输出;
使用软输入软输出解码器对所述存储器单元的所述输出执行ECC校正;
随后擦除所述存储器单元,并对所述存储器单元进行编程;以及
随后通过将所述单元的阈值电压识别为在个别地对应于所述存储器状态的多个第二阈值电压范围中的一者内来读取所述存储器单元,所述多个第二阈值电压范围中的所述一者具有根据所述软输入软输出解码器所执行的所述ECC校正而界定的限制。
16.根据权利要求15所述的方法,其中将所述限制选择为使对具有在第二阈值电压范围内在所述限制任一侧上的阈值电压的单元中的数据的校正平衡。
17.根据权利要求15所述的方法,其中所述限制高于所述第一阈值电压范围中的一者的对应限制。
18.根据权利要求15所述的方法,其中所述第二阈值电压范围中的个别电压范围比所述第一阈值电压范围中的个别电压范围宽。
19.根据权利要求15所述的方法,其中所述多个第二阈值电压范围中对应于存储器状态的个别电压范围延伸得比所述多个第一阈值电压范围中对应于所述存储器状态的所述一者高。
20.根据权利要求19所述的方法,其中所述个别电压范围比所述多个第一阈值电压范围中对应于所述存储器状态的所述一者宽。
21.一种管理快闪存储器阵列的方法,其包括:
在第一模式中,将多个存储器单元编程到第一多个目标电压,所述第一多个目标电压中的个别目标电压对应于存储器状态;
在所述第一模式中,通过将所述多个存储器单元的阈值电压与第一多个区分电压进行比较以确定个别单元的存储器状态,来读取所述多个存储器单元;
随后在第二模式中,将所述多个存储器单元编程到第二多个目标电压,所述第二多个目标电压中的个别目标电压对应于所述存储器状态;以及
在所述第二模式中,通过将所述多个存储器单元的阈值电压与第二多个区分电压进行比较以确定个别单元的存储器状态,来读取所述多个存储器单元。
22.根据权利要求21所述的方法,其中所述第二多个目标电压中对应于特定存储器状态的个别目标电压大于所述第一多个目标电压中对应于所述特定存储器状态的个别目标电压。
23.根据权利要求21所述的方法,其中所述第二多个区分电压个别地从所述第一多个区分电压偏移。
24.根据权利要求21所述的方法,其中所述第二多个区分电压在比所述第一多个区分电压大的电压范围上延伸。
25.一种快闪存储器系统,其包括:
快闪存储器阵列,其包含被编程到多个经编程状态的多个存储器单元;
读取电路,其连接到所述存储器阵列,所述读取电路在第一模式中将存储器单元阈值电压与第一多个预定电压进行比较以辨别所述多个经编程状态,且在第二模式中将所述存储器单元阈值电压与第二多个预定电压进行比较以辨别所述多个经编程状态,所述第二多个预定电压中的最高电压高于所述第一多个预定电压中的最高电压。
26.根据权利要求25所述的快闪存储器系统,其进一步包括编程电路。
27.根据权利要求26所述的快闪存储器系统,其中所述编程电路在所述第一模式中将单元编程到个别地对应于经编程状态的第一多个目标电压,且在所述第二模式中将单元编程到个别地对应于经编程状态的第二多个目标电压。
28.根据权利要求27所述的快闪存储器系统,其进一步包括维持指示所述存储器阵列的一部分是在所述第一模式中还是在所述第二模式中被编程的记录。
29.根据权利要求27所述的快闪存储器系统,其中所述第二多个目标电压中的最高电压高于所述第一多个目标电压中的最高电压。
30.根据权利要求27所述的快闪存储器系统,其中所述第二多个目标电压与所述第一多个目标电压相比间距更宽。
31.根据权利要求25所述的快闪存储器系统,其中所述读取电路进一步在所述多个经编程状态中的个别经编程状态内进行辨别,以提供关于单元状态的概率信息。
32.根据权利要求25所述的快闪存储器系统,其进一步包括软输入软输出解码器。
33.根据权利要求32所述的快闪存储器系统,其中所述快闪存储器系统响应于所述软输入软输出解码器所产生的信号而从所述第一模式改变为所述第二模式。
34.根据权利要求25所述的快闪存储器系统,其进一步包括擦除计数指示器,且其中所述快闪存储器系统在所述擦除计数指示器所维持的擦除计数超过预定值时从所述第一模式改变为所述第二模式。
35.根据权利要求25所述的快闪存储器系统,其中所述快闪存储器系统位于具有主机接口的可装卸存储器卡中。
36.一种快闪存储器系统,其包括:
存储器阵列,其包含多个非易失性存储器单元;
ECC解码器,其对来自所述存储器阵列的数据进行解码;
读取电路,其连接到所述存储器阵列,所述读取电路将存储器单元的阈值电压与至少一个预定电压进行比较,以确定所述存储器单元的经编程状态;以及
调整电路,其响应于来自所述ECC解码器的信息而增加或减小所述至少一个预定电压。
37.根据权利要求36所述的快闪存储器系统,其中所述ECC解码器为软输入软输出解码器。
38.根据权利要求37所述的快闪存储器系统,其中所述读取电路向所述软输入软输出解码器提供软输入。
39.根据权利要求36所述的快闪存储器系统,其中所述读取电路将所述阈值电压与界定与所述经编程状态相关联的阈值电压范围的两个预定电压进行比较,且所述调整电路使所述阈值电压范围变宽。
40.根据权利要求36所述的快闪存储器系统,其进一步包括编程电路,所述编程电路将所述多个非易失性存储器单元编程到多个目标电压。
41.根据权利要求36所述的快闪存储器系统,其中所述调整电路响应于来自所述ECC解码器的信息而增加或减小所述多个目标电压中的至少一者。
42.根据权利要求41所述的快闪存储器系统,其中所述调整电路一起增加所述多个目标电压且增加所述至少一个预定电压。
43.一种快闪存储器系统,其包括:
快闪存储器单元阵列;
软输入软输出解码器;
读取电路,其连接到所述存储器阵列,且向所述软输入软输出解码器提供输入,所述读取电路在第一模式中将存储器单元的阈值电压与第一多个预定电压进行比较以辨别所述多个存储器状态,且在第二模式中将所述存储器单元的所述阈值电压与第二多个预定电压进行比较以辨别所述多个存储器状态,所述第二多个预定电压中的最高电压高于所述第一多个预定电压中的最高电压,所述第二多个预定电压是由所述软输入软输出解码器所执行的校正确定的。
44.根据权利要求43所述的快闪存储器系统,其中所述快闪存储器系统响应于所述软输入软输出解码器所执行的校正而从所述第一模式改变为所述第二模式。
45.根据权利要求43所述的快闪存储器系统,其进一步包括编程电路,所述编程电路将快闪存储器单元编程到目标电压。
46.根据权利要求45所述的快闪存储器系统,其中所述编程电路在所述第一模式中将多个快闪存储器单元编程到第一多个目标电压,且在所述第二模式中将所述多个快闪存储器单元编程到第二多个目标电压,所述第二多个目标电压中的最高电压高于所述第一多个目标电压中的最高电压。
47.根据权利要求46所述的快闪存储器系统,其进一步包括指示器,所述指示器指示所述存储器阵列的一部分是在所述第一模式中还是在所述第二模式中被编程。
CN200780041032.4A 2006-11-03 2007-10-29 具有可变读取阈值的非易失性存储器 Active CN101573761B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/556,615 US7904788B2 (en) 2006-11-03 2006-11-03 Methods of varying read threshold voltage in nonvolatile memory
US11/556,626 US7558109B2 (en) 2006-11-03 2006-11-03 Nonvolatile memory with variable read threshold
US11/556,615 2006-11-03
US11/556,626 2006-11-03
PCT/US2007/082831 WO2008057822A2 (en) 2006-11-03 2007-10-29 Nonvolatile memory with variable read threshold

Publications (2)

Publication Number Publication Date
CN101573761A true CN101573761A (zh) 2009-11-04
CN101573761B CN101573761B (zh) 2013-04-24

Family

ID=39463513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780041032.4A Active CN101573761B (zh) 2006-11-03 2007-10-29 具有可变读取阈值的非易失性存储器

Country Status (2)

Country Link
US (1) US7904788B2 (zh)
CN (1) CN101573761B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479556A (zh) * 2010-11-25 2012-05-30 三星电子株式会社 非易失性存储器件及其读取方法
CN103337257A (zh) * 2013-06-20 2013-10-02 深圳市瑞耐斯技术有限公司 一种nand闪存设备及其操作方法
CN103810055A (zh) * 2012-11-12 2014-05-21 飞思卡尔半导体公司 编程具有错误校正码(ecc)的非易失性存储器(nvm)系统
CN103928055A (zh) * 2013-01-14 2014-07-16 三星电子株式会社 闪速存储器、闪速存储器系统及其操作方法
CN103988263A (zh) * 2011-12-15 2014-08-13 美光科技公司 用以减少相变存储器的读取错误的读取偏置管理
CN105164754A (zh) * 2013-04-03 2015-12-16 西部数据技术公司 写入预补偿以延长固态存储器寿命的系统和方法
CN105679368A (zh) * 2016-01-15 2016-06-15 上海华虹宏力半导体制造有限公司 一种通过调整SONOS字线读电压增加flash窗口的方法
CN106293539A (zh) * 2016-08-18 2017-01-04 华为技术有限公司 一种闪存设备的访问方法、装置和系统
CN107257958A (zh) * 2015-02-27 2017-10-17 微软技术许可有限责任公司 用于定制应用的动态近似存储
CN108140408A (zh) * 2015-10-19 2018-06-08 硅存储技术公司 用于闪存存储器的动力驱动优化
CN109671465A (zh) * 2017-08-29 2019-04-23 爱思开海力士有限公司 具有自适应读取阈值方案的存储器系统及其操作方法
CN111538617A (zh) * 2018-12-27 2020-08-14 美光科技公司 用于存储器装置的系统和方法
CN112166472A (zh) * 2018-06-20 2021-01-01 美光科技公司 具有使用基于组件的功能进行的动态校准的存储器子系统

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US7818653B2 (en) * 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US7904780B2 (en) 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
KR100888842B1 (ko) * 2007-06-28 2009-03-17 삼성전자주식회사 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법
US8060798B2 (en) * 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US8117375B2 (en) 2007-10-17 2012-02-14 Micron Technology, Inc. Memory device program window adjustment
US8677221B2 (en) * 2008-01-02 2014-03-18 Apple Inc. Partial voltage read of memory
KR101506655B1 (ko) * 2008-05-15 2015-03-30 삼성전자주식회사 메모리 장치 및 메모리 데이터 오류 관리 방법
US8458536B2 (en) * 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8276042B2 (en) 2009-02-03 2012-09-25 Micron Technology, Inc. Determining sector status in a memory device
US8458114B2 (en) * 2009-03-02 2013-06-04 Analog Devices, Inc. Analog computation using numerical representations with uncertainty
US8107306B2 (en) 2009-03-27 2012-01-31 Analog Devices, Inc. Storage devices with soft processing
US8386884B2 (en) * 2009-07-14 2013-02-26 Macronix International Co., Ltd. Memory apparatus with multi-level cells and operation method thereof
US8799747B2 (en) * 2010-06-03 2014-08-05 Seagate Technology Llc Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
US8508995B2 (en) * 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US8464137B2 (en) 2010-12-03 2013-06-11 International Business Machines Corporation Probabilistic multi-tier error correction in not-and (NAND) flash memory
US8358542B2 (en) 2011-01-14 2013-01-22 Micron Technology, Inc. Methods, devices, and systems for adjusting sensing voltages in devices
US8631288B2 (en) 2011-03-14 2014-01-14 Micron Technology, Inc. Methods, devices, and systems for data sensing in a memory system
KR101835605B1 (ko) * 2011-11-24 2018-03-08 삼성전자 주식회사 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법
US20130185612A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd. Flash memory system and read method of flash memory system
US9257203B2 (en) * 2012-12-06 2016-02-09 Micron Technology, Inc. Setting a default read signal based on error correction
US9146850B2 (en) * 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US10319460B2 (en) * 2013-08-14 2019-06-11 Infineon Technologies Ag Systems and methods utilizing a flexible read reference for a dynamic read window
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
US9389956B2 (en) 2014-01-10 2016-07-12 International Business Machines Corporation Implementing ECC control for enhanced endurance and data retention of flash memories
KR20160005264A (ko) 2014-07-04 2016-01-14 삼성전자주식회사 저장 장치 및 그것의 읽기 방법들
US9594615B2 (en) * 2014-09-30 2017-03-14 Apple Inc. Estimating flash quality using selective error emphasis
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
US9563373B2 (en) 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
TWI575532B (zh) * 2016-03-02 2017-03-21 群聯電子股份有限公司 解碼方法、記憶體控制電路單元及記憶體儲存裝置
KR20180100984A (ko) * 2017-03-03 2018-09-12 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10678633B2 (en) * 2017-11-30 2020-06-09 SK Hynix Inc. Memory system and operating method thereof
JP2019164850A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158590A (ja) * 2000-11-17 2002-05-31 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
US20040080979A1 (en) * 2002-10-25 2004-04-29 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
CN1713372A (zh) * 2004-06-23 2005-12-28 旺宏电子股份有限公司 识别程序化及抹除存储单元中的逻辑信息的方法

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043940A (en) * 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) * 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5343063A (en) * 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
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
US5315541A (en) * 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5661053A (en) * 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
JP3200012B2 (ja) 1996-04-19 2001-08-20 株式会社東芝 記憶システム
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US5909449A (en) * 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US6467062B1 (en) * 1997-12-10 2002-10-15 Mordecai Barkan Digital data (multi-bit) storage with discrete analog memory cells
US6397364B1 (en) * 1998-04-20 2002-05-28 Mordecai Barkan Digital data representation for multi-bit data storage and transmission
JP4132323B2 (ja) * 1998-12-17 2008-08-13 富士通株式会社 不揮発性半導体記憶装置及び不揮発性半導体記憶装置の内部動作方法
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US6538922B1 (en) * 2000-09-27 2003-03-25 Sandisk Corporation Writable tracking cells
US6717851B2 (en) * 2000-10-31 2004-04-06 Sandisk Corporation Method of reducing disturbs in non-volatile memory
EP1211812B1 (en) * 2000-10-31 2006-11-15 STMicroelectronics S.r.l. A/D conversion method in high density multilevel non-volatile memory devices and corresponding converter device
US6469931B1 (en) * 2001-01-04 2002-10-22 M-Systems Flash Disk Pioneers Ltd. Method for increasing information content in a computer memory
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
US6925007B2 (en) * 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
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
US6941412B2 (en) * 2002-08-29 2005-09-06 Sandisk Corporation Symbol frequency leveling in a storage system
US6983428B2 (en) * 2002-09-24 2006-01-03 Sandisk Corporation Highly compact non-volatile memory and method thereof
US7023735B2 (en) * 2003-06-17 2006-04-04 Ramot At Tel-Aviv University Ltd. Methods of increasing the reliability of a flash memory
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US6888758B1 (en) * 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
JP4041076B2 (ja) * 2004-02-27 2008-01-30 株式会社東芝 データ記憶システム
US20050213393A1 (en) * 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7020026B2 (en) * 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory
US7493457B2 (en) * 2004-11-08 2009-02-17 Sandisk Il. Ltd States encoding in multi-bit flash cells for optimizing error rate
US7092290B2 (en) * 2004-11-16 2006-08-15 Sandisk Corporation High speed programming system with reduced over programming
JP2007102865A (ja) * 2005-09-30 2007-04-19 Toshiba Corp 半導体集積回路装置
US7681109B2 (en) * 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US7526715B2 (en) * 2005-10-17 2009-04-28 Ramot At Tel Aviv University Ltd. Probabilistic error correction in multi-bit-per-cell flash memory
US7844877B2 (en) * 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US7546515B2 (en) * 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
US7536627B2 (en) * 2005-12-27 2009-05-19 Sandisk Corporation Storing downloadable firmware on bulk media
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
US20070266296A1 (en) * 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US8042029B2 (en) * 2006-05-21 2011-10-18 Ramot At Tel Aviv University Ltd. Error correction decoding by trial and error
US7533328B2 (en) * 2006-07-04 2009-05-12 Sandisk Il, Ltd. Method of error correction in a multi-bit-per-cell flash memory
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7818653B2 (en) * 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
EP2084709B1 (en) 2006-11-03 2014-04-02 SanDisk Technologies Inc. Nonvolatile memory with variable read threshold
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
US7904780B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158590A (ja) * 2000-11-17 2002-05-31 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
US20040080979A1 (en) * 2002-10-25 2004-04-29 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
CN1713372A (zh) * 2004-06-23 2005-12-28 旺宏电子股份有限公司 识别程序化及抹除存储单元中的逻辑信息的方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479556A (zh) * 2010-11-25 2012-05-30 三星电子株式会社 非易失性存储器件及其读取方法
CN102479556B (zh) * 2010-11-25 2017-04-05 三星电子株式会社 非易失性存储器件及其读取方法
CN103988263B (zh) * 2011-12-15 2017-03-08 美光科技公司 用以减少相变存储器的读取错误的读取偏置管理
CN103988263A (zh) * 2011-12-15 2014-08-13 美光科技公司 用以减少相变存储器的读取错误的读取偏置管理
CN103810055A (zh) * 2012-11-12 2014-05-21 飞思卡尔半导体公司 编程具有错误校正码(ecc)的非易失性存储器(nvm)系统
CN103810055B (zh) * 2012-11-12 2018-06-26 恩智浦美国有限公司 编程具有错误校正码(ecc)的非易失性存储器(nvm)系统
CN103928055B (zh) * 2013-01-14 2019-08-20 三星电子株式会社 闪速存储器、闪速存储器系统及其操作方法
CN103928055A (zh) * 2013-01-14 2014-07-16 三星电子株式会社 闪速存储器、闪速存储器系统及其操作方法
CN105164754A (zh) * 2013-04-03 2015-12-16 西部数据技术公司 写入预补偿以延长固态存储器寿命的系统和方法
CN103337257B (zh) * 2013-06-20 2017-05-24 深圳市瑞耐斯技术有限公司 一种nand闪存设备及其操作方法
CN103337257A (zh) * 2013-06-20 2013-10-02 深圳市瑞耐斯技术有限公司 一种nand闪存设备及其操作方法
CN107257958A (zh) * 2015-02-27 2017-10-17 微软技术许可有限责任公司 用于定制应用的动态近似存储
CN107257958B (zh) * 2015-02-27 2020-07-03 微软技术许可有限责任公司 用于定制应用的动态近似存储
CN108140408A (zh) * 2015-10-19 2018-06-08 硅存储技术公司 用于闪存存储器的动力驱动优化
CN105679368A (zh) * 2016-01-15 2016-06-15 上海华虹宏力半导体制造有限公司 一种通过调整SONOS字线读电压增加flash窗口的方法
CN106293539A (zh) * 2016-08-18 2017-01-04 华为技术有限公司 一种闪存设备的访问方法、装置和系统
US10725673B2 (en) 2016-08-18 2020-07-28 Huawei Technologies Co., Ltd. Flash device access method, apparatus, and system
CN109671465A (zh) * 2017-08-29 2019-04-23 爱思开海力士有限公司 具有自适应读取阈值方案的存储器系统及其操作方法
CN112166472A (zh) * 2018-06-20 2021-01-01 美光科技公司 具有使用基于组件的功能进行的动态校准的存储器子系统
CN111538617A (zh) * 2018-12-27 2020-08-14 美光科技公司 用于存储器装置的系统和方法

Also Published As

Publication number Publication date
US7904788B2 (en) 2011-03-08
US20080123419A1 (en) 2008-05-29
CN101573761B (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN101573761B (zh) 具有可变读取阈值的非易失性存储器
EP2084709B1 (en) Nonvolatile memory with variable read threshold
US7558109B2 (en) Nonvolatile memory with variable read threshold
KR101144096B1 (ko) 소프트-입력, 소프트-출력(siso) 디코더, 통계 유닛 및 적합한 동작을 갖는 비휘발성 메모리
US7805663B2 (en) Methods of adapting operation of nonvolatile memory
EP3491648B1 (en) Method and apparatus with background reference positioning and local reference positioning
US7904780B2 (en) Methods of modulating error correction coding
US8001441B2 (en) Nonvolatile memory with modulated error correction coding
US7904783B2 (en) Soft-input soft-output decoder for nonvolatile memory
US7818653B2 (en) Methods of soft-input soft-output decoding for nonvolatile memory
US20080092015A1 (en) Nonvolatile memory with adaptive operation
US8510637B2 (en) Data reading method, memory storage apparatus and memory controller thereof
US20080320346A1 (en) Systems for reading nonvolatile memory
US8578245B2 (en) Data reading method, memory storage apparatus, and controller thereof
CN108363544B (zh) 固态储存装置及其读取重试方法
WO2008042593A1 (en) Nonvolatile memory with error correction based on the likehood the error may occur
CN105324819A (zh) 固态存储设备中的读数电压计算
CN104932951B (zh) 一种nand闪存出现ecc无法纠错时的数据恢复方法
CN104040504A (zh) 用于存储器系统的软信息生成
US20160283319A1 (en) Data storage device and encoding method thereof
US20170372797A1 (en) Method for screening bad column in data storage medium
WO2009002940A2 (en) Systems and methods of reading nonvolatile memory
CN106548802B (zh) 固态存储装置及其相关读取控制方法
US10629269B2 (en) Solid state storage device and read table management method thereof
TWI385512B (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
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORPORATION

Effective date: 20121112

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

Effective date of registration: 20121112

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.