CN101405813A - 用于对非易失性存储器进行非实时重新编程以实现较紧密的阈值电压分布的方法 - Google Patents

用于对非易失性存储器进行非实时重新编程以实现较紧密的阈值电压分布的方法 Download PDF

Info

Publication number
CN101405813A
CN101405813A CNA2007800094967A CN200780009496A CN101405813A CN 101405813 A CN101405813 A CN 101405813A CN A2007800094967 A CNA2007800094967 A CN A2007800094967A CN 200780009496 A CN200780009496 A CN 200780009496A CN 101405813 A CN101405813 A CN 101405813A
Authority
CN
China
Prior art keywords
reprogramming
programming
page
volatile memory
memory element
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
CNA2007800094967A
Other languages
English (en)
Other versions
CN101405813B (zh
Inventor
尼玛·穆赫莱斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/425,794 external-priority patent/US7489549B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Priority claimed from PCT/US2007/069711 external-priority patent/WO2007149677A2/en
Publication of CN101405813A publication Critical patent/CN101405813A/zh
Application granted granted Critical
Publication of CN101405813B publication Critical patent/CN101405813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Landscapes

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

Abstract

一组非易失性存储元件经受初始编程,之后,使用较高验证电平非实时地(例如当控制进入备用模式时、当无其它读取或写入任务待决时)执行重新编程。所述重新编程可编程所述组中的页,一次一页,当另一读取或写入任务待决时所述重新编程便在页边界处停止,且当所述控制变得再次可用时重新开始。可提供状态旗标以识别页及/或所述组是否已完成所述重新编程。在另一方面中,在所述重新编程期间将较高通过电压施加到未选定的字线。在另一方面中,使用一默认组读取电压来确定错误计数,且如果所述计数超过阈值,则选择一替代组读取电压。

Description

用于对非易失性存储器进行非实时重新编程以实现较紧密的阈值电压分布的方法
技术领域
本发明涉及非易失性存储器。
背景技术
半导体存储器已越来越普遍地用于用于各种电子装置中。举例来说,非易失性半导体存储器用于蜂窝式电话、数字相机、个人数字助理、移动计算装置、非移动计算装置及其它装置中。在最普遍的非易失性半导体存储器当中有电子可擦除可编程只读存储器(EEPROM)及快闪存储器。在快闪存储器(也是一种类型的EEPROM)的情况下,与传统的全特征EEPROM相比,可在一个步骤中擦除整个存储器阵列的内容或存储器的一部分的内容。
传统EEPROM及快闪存储器两者均使用浮动栅极,所述浮动栅极定位于半导体衬底中的沟道区域上方且与所述沟道区域绝缘。所述浮动栅极位于源极与漏极区域之间。控制栅极提供于浮动栅极的上方且与浮动栅极绝缘。如此形成的晶体管的阈值电压受保持于浮动栅极上的电荷量的控制。即,在接通晶体管以允许在其源极与漏极之间进行传导之前,必须施加到控制栅极的最小电压量是由浮动栅极上的电荷电平控制。
某些EEPROM及快闪存储器装置具有存储元件,所述存储元件使用浮动栅极来存储两个范围的电荷,且因此可在两种状态(例如,擦除状态与编程状态)之间进行编程/擦除。所述快闪存储器装置有时称为二进制快闪存储器装置,因为每一存储元件均可存储一个数据位。
多状态(还称作多电平)快闪存储器装置通过识别多个相异的容许/有效编程阈值电压范围而实施。每一相异阈值电压范围对应于编码于存储器装置中的所述组数据位的预定值。举例来说,当每一存储元件可放置在对应于四个相异阈值电压范围的四个离散电荷带中的一者中时,所述存储元件便可存储两个数据位。
一般地,在编程操作期间施加到控制栅极的编程电压(Vpgm)作为量值随时间增加的一系列脉冲而施加。在一种可能方法中,脉冲的量值随着每一连续脉冲而增加预定步长(例如,0.4V)。Vpgm可施加到快闪存储元件的控制栅极。在编程脉冲之间的时期中,进行验证操作。即,在连续编程脉冲之间读取并行地加以编程的一组存储元件中的每一存储元件的编程电平,以确定其是等于还是大于所述存储元件被编程到的验证电平。对于多状态快闪存储元件阵列来说,可对存储元件的每一状态执行验证步骤,以确定存储元件是否已达到其数据关联验证电平。举例来说,能够在四个状态中存储数据的多状态存储元件可能需要对三个比较点执行验证操作。
当编程EEPROM或快闪存储器装置(例如NAND(NAND)快闪存储器装置)时,一般将编程电压施加到控制栅极且使位线接地,从而使得将来自存储元件的沟道的电子注入到浮动栅极中。当电子累积于浮动栅极中时,浮动栅极变为带负电荷,且存储元件的阈值电压升高以使得存储元件处于编程状态中。可在标题为“用于非易失性存储器的源极侧自增压技术(Source Side Self Boosting Technique For Non-Volatile Memory)”的美国专利6,859,397及标题为“在编程的存储器上进行检测(Detecting Over ProgrammedMemory)”的美国专利6,917,542中找到关于此编程的更多信息,所述专利的全部内容以引用的方式并入本文中。
然而,如标题为“在邻近浮动栅极之间不具有不利的电场效应耦合的高密度非易失性快闪存储器(High density non-volatile flash memory without adverse effects of electricfield coupling between adjacent floating gates)”的美国专利5,867,429中所述,在选定的存储元件的编程期间,相邻存储元件可由于场效应耦合而使其电荷状态发生改变,且所述专利以引用方式并入本文中。一般来说,在场效应耦合的情况下,由于存储于相邻存储元件中的电荷量发生变化而引起存储元件的阈值电压的偏移。举例来说,给定字线上的存储元件可受到与同一字线上及相邻字线上的存储元件的电容耦合的影响。与邻近存储元件最强的耦合致使先前编程存储元件的阈值电压偏移得更高。一组存储元件的阈值电压分布同样扩宽。此是不当的,尤其对多电平存储元件来说,在所述多电平存储元件中较紧密的阈值电压分布是有利的。
发明内容
本发明通过提供一种以减少电容耦合的方式来操作非易失性存储装置的系统及方法来解决上述及其它问题。
在一实施例中,操作非易失性存储器包括在初始编程中经由字线编程非易失性存储元件,从第一字线开始且连续进行到每下一个字线,直到到达最后一个字线。在完成初始编程之后,经由字线重新编程非易失性存储元件。举例来说,可对非易失性存储元件块进行初始编程及重新编程。
可分别在初始编程及重新编程中使用第一及第二组阈值电压(VTH)验证电平来编程非易失性存储元件,其中第二组VTH电压验证电平的每一者相对于第一组VTH验证电平中的对应电平而升高。以此方式,存储元件的VTH在重新编程中仅以递增方式偏移。此外,为了管理计算负载,重新编程可由管理电路作为后台处理而执行,此时管理电路原本将处于备用模式中。此外,可基于管理电路的可用性而以一个或一个以上开始-中止-恢复循环开始、暂时中止并随后恢复重新编程。重新编程可逐页发生,以使得重新编程在一页数据结束时中止而在下一页开始时恢复。旗标位可用来指示对于每一页来说是否均发生重新编程,从而允许跟踪每一页的编程状态。旗标位还可在块电平处使用以允许块电平跟踪。页电平处的旗标位还可提供块电平跟踪。
此外,与初始编程相比,在重新编程中可施加更高的通过电压(Vpass)到未选定的字线。在重新编程期间,因为驻留于漏极侧字线下的存储元件不再擦除,所以对于此刻可编程到高阈值电压的所述存储元件来说,达到反转状况必须耗费更多的Vpass增压电位。因此,在重新编程中增加的Vpass可为有帮助的。
在另一实施例中,操作非易失性存储装置包括:使用第一VTH读取电平读取一组非易失性存储元件的第一部分;根据所述读取来确定错误计数,例如,通过使用错误校正及/或检测码;及如果错误计数超过阈值,则使用不同于第一VTH读取电平的第二VTH读取电平重新读取非易失性存储元件的第一部分。因此,可对非易失性存储元件的第一部分是否仅经受初始编程作出假设,在此情况下,如果用第二VTH读取电平替代第一VTH读取电平来读取第一部分,则将检测到许多错误。或,可假设非易失性存储元件的第一部分业已经受重新编程,在此情况下,如果用第一VTH读取电平替代第二VTH读取电平来读取第一部分,则可检测到许多错误。如果假设不正确,则用替代性VTH读取电平重新读取非易失性存储元件的第一部分。此外,可在初始读取试图中使用在读取第一部分时被确定为正确的相同VTH读取电平来读取非易失性存储元件的第二部分。非易失性存储元件的部分可存储相应数据页,以使得编程在逐页的基础上进行,且正确的VTH读取电平被确定并用于每一页。
在又一实施例中,操作非易失性存储装置包括:在初始编程中经由字线编程非易失性存储元件,以使得当编程与给定字线相关联的非易失性存储元件时,将第一通过电压施加到至少一个其它字线;及,在完成初始编程之后,经由字线重新编程非易失性存储元件,以使得当重新编程与字线的给定一者相关联的非易失性存储元件时,将不同于第一通过电压的第二通过电压施加到所述至少一个其它字线。举例来说,出于上述原因,第二通过电压可高于第一通过电压。
提供用于操作非易失性存储装置及非易失性存储系统的对应方法。非易失性存储系统包括一组非易失性存储元件,及如本文所述用于操作所述组非易失性存储元件的一个或一个以上电路。
附图说明
图1为NAND串的俯视图。
图2为图1的NAND串的等效电路图。
图3为图1的NAND串的横截面图。
图4为描绘三个NAND串的电路图。
图5为可用于实施本发明的一个或一个以上实施例的示范性快闪存储器系统的框图。
图6说明将存储器阵列组织成若干块的实例。
图7A描绘在多状态装置中从擦除状态直接编程到编程状态的情况下的一示范组阈值电压分布。
图7B描绘在重新编程之后图7A的所述示范组阈值电压分布。
图8描绘用于编程非易失性存储装置的一系列编程脉冲。
图9描绘非易失性存储元件的线性及非线性编程方案。
图10描绘编程多状态存储元件的两遍式技术的一实例,其中所述多状态存储元件存储两个不同的数据页的数据。
图11A到图11C描绘在多状态装置中使用两步骤编程的情况下的一示范组阈值电压分布,其中在第一步骤中自擦除状态编程到中间状态,且在第二步骤中自擦除状态编程到第一状态“A”,并自中间状态编程到第二状态“B”或第三状态“C”。
图12为一流程图,其描述使用初始编程及重新编程来编程非易失性存储元件块的过程的一实施例。
图13为一流程图,其描述使用一系列编程脉冲编程非易失性存储装置的过程的一实施例。
图14A到图14F描绘针对初始编程及重新编程使用不同通过电压的增压技术。
图15为一流程图,其描述使用旗标读取非易失性存储装置的块中的页数据的过程的一实施例。
图16为一流程图,其描述使用错误计数读取非易失性存储装置的块中的页数据的过程的一实施例。
具体实施方式
适合于实施本发明的非易失性存储器系统的一实例使用NAND快闪存储器结构,其中多个晶体管串联地布置于NAND串中的两个选择栅极之间。图1为展示一个NAND串的俯视图。图2为其等效电路。图1及图2所绘的NAND串包括四个晶体管100、102、104及106,所述晶体管串联且夹于第一选择栅极120与第二选择栅极122之间。选择栅极120及122将NAND串分别连接到位线接点126及源极线接点128。通过分别施加适当电压到控制栅极120CG及122CG而控制选择栅极120及122。晶体管100、102、104及106中的每一者具有控制栅极及浮动栅极。具体来说,晶体管100包括控制栅极100CG及浮动栅极100FG,晶体管102包括控制栅极102CG及浮动栅极102FG,晶体管104包括控制栅极104CG及浮动栅极104FG,且晶体管106包括控制栅极106CG及浮动栅极106FG。控制栅极100CG、102CG、104CG及106CG分别连接到字线WL3、WL2、WL1及WL0。在一可能设计中,晶体管100、102、104及106每一者均为存储元件,还称为单元或存储元件。在其它设计中,存储元件可包括多个晶体管,或可不同于图1及图2中所绘的那些存储元件。选择栅极120连接到漏极选择线SGD,而选择栅极122连接到源极选择线SGS。
图3提供上文所述的NAND串的横截面图。NAND串的晶体管形成于p阱区域140中。每一晶体管包括堆叠栅极结构,所述结构包括控制栅极(100CG、102CG、104CG及106CG)及浮动栅极(100FG、102FG、104FG及106FG)。浮动栅极形成于处在氧化物或其它介电膜顶部上的p阱的表面上。控制栅极位于浮动栅极上方,其中多晶硅间介电层使控制栅极与浮动栅极分离。存储元件(100、102、104及106)的控制栅极形成字线。在相邻存储元件之间共享N+掺杂层130、132、134、136及138,藉此将存储元件彼此串联连接以形成NAND串。这些N+掺杂层形成存储元件的每一者的源极及漏极。举例来说,N+掺杂层130充当晶体管122的漏极及晶体管106的源极,N+掺杂层132充当晶体管106的漏极及晶体管104的源极,N+掺杂层134充当晶体管104的漏极及晶体管102的源极,N+掺杂层136充当晶体管102的漏极及晶体管100的源极,而N+掺杂层138充当晶体管100的漏极及晶体管120的源极。N+掺杂层126连接到所述NAND串的位线,而N+掺杂层128连接到多个NAND串的共用源极线。
四个晶体管在图1到图3的NAND串中的使用仅提供为一实例,因为用于本文所述技术的NAND串可具有少于或多于四个存储元件。举例来说,某些NAND串将包括八个、十六个、三十二个、六十四个或更多的存储元件。
举例来说,本发明可用于由(例如)福勒诺德海姆(Fowler-Nordheim)隧穿进行编程及擦除的装置。本发明还可应用于使用三层电介质(例如,由氧化硅、氮化硅及氧化硅(ONO)形成的电介质)替代浮动栅极来存储电荷的装置。由ONO形成的三层电介质夹于传导控制栅极与存储元件沟道上方的半传导衬底的表面之间。本发明还可应用于用(例如)小型传导材料岛状物(例如,纳米晶体)替代浮动栅极作为电荷存储区域的装置。这些存储器装置可以与基于浮动栅极的NAND快闪装置类似的方式进行编程及擦除。
图4为描述三个NAND串的电路图。使用NAND结构的快闪存储器系统的典型架构将包括若干NAND串。举例来说,在具有较多NAND串的存储器阵列中展示三个NAND串420、440及460。所述NAND串的每一者包括两个选择晶体管及四个存储元件。举例来说,NAND串420包括选择晶体管422及427以及存储元件423到426,NAND串440包括选择晶体管442及447以及存储元件443到446,NAND串460包括选择晶体管462及467以及存储元件463到466。每一NAND串通过其选择晶体管(例如,选择晶体管427、447或467)而连接到源极线。选择线SGS用于控制源极侧选择栅极。通过受控于漏极选择线SGD的选择晶体管422、442、462等将各个NAND串420、440及460连接到相应位线421、441及461。在其它实施例中,选择线未必需要共用。字线WL3连接到存储元件423、443及463的控制栅极。字线WL2连接到存储元件424、444及464的控制栅极。字线WL1连接到存储元件425、445及465的控制栅极。字线WL0连接到存储元件426、446及466的控制栅极。可以看出,每一位线及相应NAND串包含存储元件的阵列或组的列。字线(WL3、WL2、WL1及WL0)包含所述阵列或组的行。每一字线连接行中的每一存储元件的控制栅极。举例来说,字线WL2连接到存储元件424、444及464的控制栅极。实际上,字线上可存在数千个存储元件。
每一存储元件可存储数据。举例来说,当存储一个数字数据位时,将存储元件的可能阈值电压(VTH)的范围分成两个范围,对其指派逻辑数据“1”及“0”。在NAND型快闪存储器的一实例中,VTH在存储元件被擦除之后为负,且定义为逻辑“1”。编程操作之后的VTH为正,且定义为逻辑“0”。当VTH为负且试图读取时,存储元件将接通以指示逻辑“1”被存储。当VTH为正且试图进行读取操作时,存储元件将不接通,此指示逻辑“0”被存储。存储元件还可存储多个电平的信息,例如,多个数字数据位。在此情况下,VTH值的范围分成数据电平的数目。举例来说,如果存储四个电平的信息,则将有四个VTH范围指派给数据值“11”、“10”、“01”及“00”。在NAND型存储器的一实例中,擦除操作后的VTH为负,且定义为“11”。正VTH值用于状态“10”、“01”及“00”。编程到存储元件中的数据与元件的阈值电压范围之间的特殊关系视存储元件所采用的数据编码方案而定。举例来说,美国专利第6,222,762号及美国专利申请案公开案2004/0255090描述了用于多状态快闪存储元件的多种数据编码方案,所述专利的全部内容以引用的方式并入本文中。
美国专利第5,386,422号、第5,522,580号、第5,570,315号、第5,774,397号、第6,046,935号、第6,456,528号及第6,522,580号中提供NAND型快闪存储器及其操作的相关实例,所述专利的每一者均以引用的方式并入本文中。
当编程快闪存储元件时,将编程电压施加到存储元件的控制栅极,且使与存储元件相关联的位线接地。将来自沟道的电子注入到浮动栅极中。当电子累积于浮动栅极中时,浮动栅极变为带负电,且存储元件的VTH上升。为了将编程电压施加到正被编程的存储元件的控制栅极,将所述编程电压施加于适当字线上。如上所述,所述字线还连接到共享同一字线的其它NAND串的每一者中的一个存储元件。举例来说,当编程图4的存储元件424时,还将编程电压施加到存储元件444及464的控制栅极。
然而,当编程及读取给定存储元件及与给定存储元件具有某种程度的耦合的其它存储元件(例如,共享同一字线或位线的那些存储元件)时,存储于存储元件中的电荷可发生偏移。具体来说,存储电荷电平的偏移由于存储元件之间的场耦合而发生。因为集成电路制造技术的改进使存储元件之间的空间减小,所以所述问题更加严重。所述问题最显著地发生于不同时间编程的两群组邻近存储元件之间。一群组存储元件经编程以增加对应于一组数据的电荷电平。在使用第二组数据编程第二群组存储元件之后,自第一群组存储元件读取的电荷电平由于第二群组存储元件与第一群组存储元件的电荷的电容耦合而常常与编程的电荷电平显得不同。因此,耦合效应视编程存储元件的顺序而定,且因此视编程期间横穿字线的顺序而定。NAND串一般但并非总是自源极侧向漏极侧编程,其中,开始于源极侧字线处,且继续进行到漏极侧字线,一次一个字线。
举例来说,给定存储元件上的电容耦合效应可由同一字线中及同一NAND串中的其它存储元件引起。举例来说,存储元件444可为包括沿字线WL2的其它交替存储元件的第一群组存储元件的部分,其存储一页数据。存储元件424及464可为存储另一页数据的第二群组存储元件的部分。当在存储元件444之后编程第二群组存储元件时,便将存在与存储元件444的电容耦合。与在字线上的直接相邻存储元件的耦合最强,所述直接相邻存储元件为存储元件424及464。
类似地,如果在存储元件444之后编程处于同一NAND串440上的存储元件,则存储元件444可受到所述存储元件的编程的影响。对于存储元件444来说,与在NAND串上的直接相邻存储元件的耦合最强,所述直接相邻存储元件为存储元件443及/或445。举例来说,如果按446、445、444、443的顺序编程NAND串440中的存储元件,则存储元件444可受到与存储元件443的耦合的影响。一般来说,相对于存储元件444对角布置的存储元件(即存储元件423、463、425及465)可提供存储元件444的耦合的约20%,而同一字线或NAND串上的直接相邻存储元件424及464以及443及445提供耦合的约80%。在某些情况下,耦合可足以使存储元件的VTH偏移约0.5V,此足以导致读取误差且使一群组存储元件的VTH分布扩宽。
图5为可用于实施本发明的一个或一个以上实施例的快闪存储器系统的一实施例的框图。还可使用其它系统及实施方案。存储元件阵列502受控于列控制电路504、行控制电路506、c-源极控制电路510及p阱控制电路508。列控制电路504连接到存储元件阵列502的位线,以用于读取存储于存储元件中的数据、在编程操作期间确定存储元件的状态,及控制位线的电位电平以促进或禁止编程及擦除。行控制电路506连接到字线以选择字线的一者、施加读取电压、施加与受控于列控制电路504的位线电位电平相组合的编程电压,及施加擦除电压。C-源极控制电路510控制连接到存储元件的共用源极线(在图7中标记为“c-源极”)。p阱控制电路508控制p阱电压。
存储在存储元件中的数据由列控制电路504读取出,且经由数据输入/输出缓冲器512输出到外部I/O线。待存储于存储元件中的编程数据经由外部I/O线输入到数据输入/输出缓冲器512,且传送到列控制电路504。外部I/O线连接到控制器518。
将用于控制快闪存储器装置的命令数据输入到控制器518。命令数据通知快闪存储器请求何种操作。将输入命令传送到作为控制电路515的部分的状态机516。状态机516控制列控制电路504、行控制电路506、c-源极控制电路510、p阱控制电路508及数据输入/输出缓冲器512。状态机516还可输出快闪存储器的状态数据,例如准备就绪/忙碌(READY/BUSY)或通过/失败(PASS/失败)。
控制器518连接到主机系统(例如,个人计算机、数字相机、个人数字助理及类似物)或可与主机系统相连。所述控制器与主机通信,所述主机起始命令(例如)以将数据存储到存储器阵列502或自存储器阵列502读取数据且提供或接收所述数据。控制器518将所述命令转换成命令信号,所述命令信号可由作为控制电路515的部分的命令电路514转译及执行。命令电路514与状态机516相通信。控制器518一般包含缓冲存储器,以用于写入到存储元件阵列502或从存储元件阵列502读取的用户数据。
一示范性存储器系统包括一个集成电路,所述集成电路包括:控制器518;及一个或一个以上集成电路芯片,每一者包含存储器阵列以及关联控制、输入/输出及状态机电路。存在将系统的存储器阵列及控制器电路一起集成于一个或一个以上集成电路芯片上的趋势。存储器系统可作为主机系统的部分嵌入,或可包括于以可移除方式插入到主机系统中的存储卡或其它封装中。所述卡可包括整个存储器系统(例如,包括控制器),或仅包括具有关联外围电路的存储器阵列,其中控制器或控制功能嵌入于主机中。因此,控制器可嵌入于主机中,或包括于可移除的存储器系统内。
在某些实施例中,可组合图5的某些组件。此外,在各种设计中,可将图5的组件中除存储元件阵列502以外的一者或一者以上视为管理电路。举例来说,一个或一个以上管理电路可包括控制电路、命令电路、状态机、行控制电路、列控制电路、阱控制电路、源极控制电路或数据I/O电路中的任一者或组合。
图6提供图5的存储元件阵列502的示范性结构。描述被分为1,024个块的NAND快闪EEPROM。可将数据编程到不同块中,且同时自不同块读取数据。在擦除操作中,同时擦除存储于每一块中的数据。在一设计中,块是可同时擦除的存储元件的最小单位。在此实例中,于每一块中存在划分为偶数列及奇数列的8,512个列。还将位线划分为偶数位线(BLe)及奇数位线(BLo)。展示了四个存储元件,其串联连接以形成NAND串。尽管展示了在每一NAND串中包括四个存储元件,但可使用多于或少于四个的存储元件。一般地,可在每一NAND串中提供多达32或64个存储元件。NAND串的一个端子经由选择晶体管SGD而连接到对应位线,且另一端子经由第二选择晶体管SGS连接到c-源极线。
在读取及编程操作的一配置中,同时选择4,256个存储元件。选定的存储元件具有相同字线及相同种类的位线(例如,偶数或奇数)。所以,可同时读取或编程形成逻辑页的532个字节的数据,且存储器的一个块可存储至少八个逻辑页(四个字线,每一者具有奇数页及偶数页)。对于多状态存储元件来说,当每一存储元件存储两个数据位(其中所述两个位中的每一者存储于不同页中)时,一个块便存储十六个逻辑页。还可使用其它大小的块及页。另外,可使用除图5及图5的那些架构之外的架构。举例来说,在一设计中,位线并未划分为奇数及偶数位线,以使得可同时(或不同时)编程及读取所有位线。
可通过将p阱升高到擦除电压(例如,20V)且使选定块的字线接地而擦除存储元件。源极及位线是浮动的。可对整个存储器阵列、单独块或作为存储器装置的一部分的存储元件的另一单位执行擦除。将电子从存储元件的浮动栅极转移到p阱区域,以使得存储元件的VTH变为负的。
在读取及验证操作中,选择栅极(SGD及SGS)连接到在2.5到4.5V范围内的电压,且未选定的字线(例如,在WL2为选定的字线时,WL0、WL1及WL3便为未选定的字线)升高到读取通过电压(一般是在4.5到6V范围内的电压),以使晶体管操作为通过栅极。选定的字线WL2连接到一电压,所述电压的电平专用于每一读取及验证操作,以便确定相关存储元件的VTH是高于还是低于所述电平。举例来说,在对两电平存储元件的读取操作中,可使选定的字线WL2接地,以使得检测VTH是否高于0V。在对两电平存储元件的验证操作中,将选定的字线WL2连接到(例如)0.8V,以使得验证VTH是否已达到至少0.8V。源极及p阱均处于0V。将选定的位线(假定为偶数位线(BLe))预充电到(例如)0.7V的电平。如果VTH高于字线上的读取或验证电平,则与关注的存储元件相关联的位线(BLe)的电位电平便由于非传导存储元件而保持高电平。另一方面,如果VTH低于读取或验证电平,则因为传导存储元件使位线放电,所以相关位线(BLe)的电位电平便降低到低电平(例如,小于0.5V)。存储元件的状态可因此由连接到位线的电压比较器读出放大器而检测。
根据此项技术中已知的技术执行上文所述的擦除、读取及验证操作。因此,所属领域的技术人员可改变所阐述的许多细节。还可使用此项技术中已知的其它擦除、读取及验证技术。
如上所述,每一块均可划分为许多页。在一种方法中,一页为一编程单位。在一些实施方案中,个别页可划分为片段,且所述片段可包含随着基本编程操作而一次写入的最少数目的存储元件。一个或一个以上数据页一般存储于一行存储元件中。一页可存储一个或一个以上扇区。一扇区包括用户数据及开销数据,例如,从扇区的用户数据而计算出的错误校正码(ECC)。控制器的一部分在数据编程到阵列中时计算ECC,且在从阵列读取数据时还使用ECC检查数据。或者,可将ECC及/或其它开销数据存储于其所从属的与用户数据不同的页或甚至不同的块中。在其它设计中,存储器装置的其它部分(例如,状态机)可计算ECC。
用户数据的扇区一般为512个字节,对应于磁盘驱动器中的扇区的大小。开销数据一般为额外的16到20个字节。一块可包括许多页,例如,8、32、64或更多的页。
重新编程
提供一种编程技术,其中初始编程一组存储元件,且随后进行至少一次重新编程。举例来说,所述组可为存储元件块,所述块可作为一单位进行擦除。或,所述组可与可不必作为一单位进行擦除的一组字线。在初始编程中,编程所述组存储元件。此外,可在初始编程及重新编程中将存储元件编程到不同的VTH电平。在初始编程及重新编程期间可使用任何编程技术,包括但不限于下文结合图7A与图7B、图10及图11A到图11C所述的那些编程技术。在初始编程中已编程所述组存储元件之后,发生重新编程,其中将所述组中的元件编程到(例如)所要的最终VTH。在初始编程与重新编程之间并不擦除存储元件。
在一种方法中,当从存储元件读取数据时,第一组VTH读取电平可用于在初始编程中仅已编程一次的存储元件,而第二组VTH读取电平可用于还已重新编程的存储元件。第二组的对应值可高于第一组。或者,可在每一种情况下使用相同组VTH读取电平。此外,任何两个相邻VTH状态之间的电压容限应足够大以容纳许多寄生现象,包括耦合、编程干扰、读取干扰、存储元件及系统噪声、过冲、编程噪声及长期电荷滞留。另一寄生现象为数据样式敏感效应,此涉及先前编程的存储元件的特定数据值(例如,VTH值)的效应。由于至少耦合及过冲将减少且尚未重新编程的那些页将不久便进行重新编程,所以重新编程可允许减小相邻VTH状态之间的容限,以使得无额外容限必须致力于非编程页的长期滞留问题。此外,经重新编程的页提供较紧密的VTH分布,所述VTH分布为所述页打开容限。净效应在于可减小存储器VTH窗口,从而允许较小的编程电压且减少编程干扰。
图7A描绘在多状态装置中从擦除状态直接编程到编程状态的情况下的一示范组VTH分布。在此情况下,每一存储元件在由E、A、B及C所表示的四种数据状态下存储两个数据位。E描绘经擦除的存储元件的第一VTH分布,而A、B及C则描述经编程的存储元件的三种VTH分布。在一设计中,E分布中的VTH值为负的,而A、B及C分布中的VTH值为正的。每一相异VTH范围对应于所述组数据位的预定值。编程到存储元件中的数据与存储元件的VTH电平之间的特定关系视存储元件所采用的数据编码方案而定。一实例将“11”指派给VTH范围E(状态E),将“10”指派给VTH范围A(状态A),将“00”指派给VTH范围B(状态B),并将“01”指派给VTH范围C(状态C)。然而,在其它设计中,使用其它方案。
一组三个读取参考电压Vra1、Vrb1及Vrc1用于在初始编程之后从存储元件读取数据。通过测试给定存储元件的VTH是高于还是低于Vra1、Vrb1及Vrc1,系统便可确定存储元件的状态。还指示在初始编程中所用的一组三个验证参考阈值电压Vva1、Vvb1及Vvc1。当将存储元件编程到状态A、B或C时,系统将分别测试那些存储元件是否具有大于或等于Vva1、Vvb1或Vvc1的VTH
在一种方法(称为全序列编程)中,可将存储元件自擦除状态E直接编程为编程状态A、B或C中的任一者(如弯曲箭头所描述的)。举例来说,可对待编程的存储元件群体(例如,块)首先进行擦除,以使得群体中的所有存储元件均处于擦除状态E中。虽然某些存储元件自状态E编程到状态A,但其它存储元件自状态E编程到状态B及/或自状态E编程到状态C。
如所提及的,耦合及其它效应往往使给定存储元件的VTH上升,从而使(例如)块中的一组存储元件的VTH分布上升及扩宽。此可从与图7B的那些VTH分布相比的图8A的相对较宽的VTH分布中看出。
图7B描绘在重新编程之后图7A的所述示范组VTH分布。在重新编程期间,可使用第二组VTH验证电平Vva2、Vvb2及Vvc2,所述验证电平以递增方式分别比Vva1、Vvb1及Vvc1高(例如)0.4V。每一状态的验证电压在初始编程与重新编程之间的偏差可通过存储器特性确定。举例来说,偏差可为每一状态的阈值电压分布的约一半。因此,如果状态“A”的阈值电压分布一般为0.8V宽,则可使用0.4V的偏差。因此,如果Vva1为0.6V,则Vva2可为1.0V。对于每一状态来说验证电平之间的增量无需相同。在重新编程之后,每一状态的VTH分布的下端基于递增式较高阈值电压验证电平而上移,以使得VTH分布变紧。因此,可初始编程一组存储元件,且在完成初始编程之后,可重新编程所述组存储元件,以实现图7B的紧密的VTH分布。
具体来说,重新编程减小每一状态的VTH值的耦合诱发扩展,因为与初始编程期间所添加的电荷量相比,向存储元件添加较小的电荷量。此外,如果存储元件的VTH由于耦合而在此刻高于其原来在初始编程中被最初编程且锁定时的VTH,则其在重新编程期间在被锁定之前需要较少编程。同样,给定存储元件的相邻者在重新编程期间将不会经历其VTH值的显著耦合诱发偏移。结果,存储元件可在重新编程中更为准确地编程到所要的最终VTH。重新编程减轻所有类型的耦合效应,无论是由字线与字线耦合、位线与位线耦合还是由与对角相邻存储元件的耦合所引起的。此外,如果存储元件由于编程行为的不一致性或由于与最后一个验证操作相关联的噪声而被过编程,则其在重新编程期间便需要较少编程脉冲来达到所要的最终状态。重新编程仅将少量电荷放置于正被编程的每一存储元件中。因为在重新编程期间VTH变化较小,所以与初始编程期间相比,锁定事件一般较早地在较低控制栅极编程脉冲电压下发生。可参看图8及图9而进一步了解重新编程的益处。
图8描绘用于编程非易失性存储装置的一系列编程脉冲。在常见编程方法中,将编程电压Vpgm以一系列脉冲施加到存储元件的控制栅极。在一种可能方法中,脉冲的量值随每一连续脉冲增加预定步长(例如,0.4V)。Vpgm可施加到快闪存储器元件的控制栅极(或在某些情况下施加到引导栅极)。Vpgm提供为量值随时间增加的一系列脉冲。在编程脉冲之间的时期中,进行验证操作。即,在连续编程脉冲之间读取经并行编程的一组存储元件(例如,字线上的特定存储元件)的每一存储元件的编程电平,以确定其是等于还是大于存储元件被编程到的验证电平。对于多状态快闪存储器元件阵列来说,可对元件的每一状态执行验证步骤,以确定存储元件是否已达到其数据关联验证电平。举例来说,能够在四个状态中存储数据的多状态存储元件可能需要对三个比较点执行验证操作。
如果存储元件并未在给定数目的脉冲(此按照惯例是固定的)之后达到所要编程电平,则宣告错误状况。Vpgm的量值(包括初始值、电压步长(如果适用)及待在宣告错误状况之前施加的脉冲的最大数目)的选择涉及各种因素之间的折衷。具体来说,如果初始值或步长过大,则某些存储器元件可能会被过编程,从而导致不准确的VTH,而如果初始值或步长过小则会导致较长的编程时间。一般地,非易失性存储器的用户希望存储器较快地进行编程。此外,将不同存储器元件编程到所要状态所需的脉冲的数目可不同。较慢存储器元件将需要较多脉冲,而较快存储器元件将需要较少脉冲。为了具有足够的容限或缓冲以使得电路小片拣选合格率是可接受的,一般容许相对较大数目的Vpgm脉冲。举例来说,在90nm装置中,尽管多状态存储器元件装置中的大多数上部页可在十八个脉冲内进行编程,但是脉冲的最大容许数目可设定为(例如)二十四个,以提供六个脉冲的容限。
举例来说,假设初始编程中给定存储元件在第16个编程脉冲时达到验证电平且被锁定而无法接收其它Vpgm脉冲,如所指示。可参看图9而了解每一Vpgm脉冲下存储元件的阈值电压变化(ΔVTH),其中图9描绘通常的非易失性存储元件的线性及非线性编程方案(regime)。在初始Vpgm脉冲期间,存储元件处于非线性方案中,其中VTH的增加相对于编程脉冲的数目来说为非线性的。基本上,施加到控制栅极的电压不足以允许发生隧穿。当施加额外Vpgm脉冲时,ΔVTH缓慢增加,直到其达到线性编程方案,其中ΔVTH随着后续Vpgm脉冲变得近似恒定。在此方案中,Vpgm增加1V理论上会导致VTH增加1V。编程噪声及读取噪声往往使VTH的增加量随机化。同样,耗尽效应往往在Vpgm每增加1V的情况下将线性方案中的ΔVTH减小到小于1V的值。举例来说,在线性方案中,ΔVTH/ΔVpgm可接近于0.8。然而,一旦处于线性方案中,存储元件便在初始编程期间随着每一额外Vpgm脉冲而迅速达到锁定VTH(验证电平)。较快编程存储元件将比较慢编程存储元件先达到线性方案。视开始Vpgm的值而定,某些极快存储元件可在第一较少Vpgm脉冲下以快得多的速率进行编程,直到其减慢而接近线性方案。开始Vpgm可能需要设定为足够地低以避免此情形。
在重新编程期间,存储元件的VTH仅需要增加相对较小的值,例如,0.4V。一般地,存储元件在重新编程期间将处于非线性方案中。在大多数情况下,预期重新编程中比初始编程中需要一个或一个以上较少编程脉冲来达到较高锁定VTH。在所提供的实例中,存储元件在重新编程期间于第15个Vpgm脉冲时达到锁定VTH,比初始编程中早一个脉冲。
举例来说,在目前实例中,假设VTH在初始编程及重新编程期间如表1及表2所示分别随着Vpgm而变化。存储元件从具有-2V的VTH的状态E编程到状态A,对于初始编程状态A具有1.1V的锁定VTH(Vva1,图7A),而对于重新编程状态A具有1.3V的锁定VTH(Vva2,图7B)。为了简单起见,Vpgm的步长在此实例中为1.0V。可以看出,存储元件在初始编程中于第16个脉冲之后被锁定,此时其VTH首次超过1.1V。存储元件在重新编程中于第15个脉冲之后被锁定,此时其VTH首次超过1.3V。
表1
Vpgm脉冲数目:         VTH(V):          ΔVTH(V),脉冲到脉冲:
1-12                   -2                0
13                     -1.5              0.5
14                     -0.75             0.75
15                     0.25              1.0
16                     1.25              1.0
表2
Vpgm脉冲数目:         VTH(V):          ΔVTH(V),脉冲到脉冲:
1-14                   1.25              0
15                     1.35              0.1
因此,当在重新编程期间于非线性方案中操作时,效果类似于使用较小Vpgm步长,因为比起初始编程来说,VTH以较小步长逐渐上升到所要值。此避免过冲,且允许对VTH进行较为精细的控制。结果,可实现较为紧密且较为准确的VTH分布。
将结合图10及图11A到图11C而论述可使用的额外示范性编程技术。
图10说明编程多状态存储元件的两遍式技术的一实例,其中所述多状态存储元件存储两个不同的数据页的数据:下部页及上部页。描绘四种状态:状态E(11)、状态A(10)、状态B(00)及状态C(01)。对于状态E来说,两个页均存储“1”。对于状态A来说,下部页存储“0”,且上部页存储“1”。对于状态B来说,两个页均存储“0”。对于状态C来说,下部页存储“1”,且上部页存储“0”。尽管已指派特定位样式到所述状态的每一者,但还可指派不同的位样式。在第一遍编程中,存储元件的VTH电平根据待编程到下部逻辑页中的位而设定。如果所述位为逻辑“1”,则VTH不改变,因为其由于早先已得以擦除而处于适当状态中。然而,如果待编程的位为逻辑“0”,则如箭头1110所示,存储元件的阈值电平便增加到状态A。
在第二遍中,存储元件的VTH电平根据编程到上部逻辑页中的位而设定。如果上部逻辑页位将存储逻辑“1”,则不发生编程,因为视下部页位的编程而定,存储元件处于状态E或A的一者中,所述两个状态均携载上部页位“1”。如果上部页位将为逻辑“0”,则VTH偏移。如果第一步骤使得存储元件保留于擦除状态E中,则在第二阶段中,编程存储元件,以使得VTH如箭头1130所描绘增加到处于状态C内。如果存储元件由于第一遍编程而已编程到状态A,则在第二步骤中进一步编程存储元件,以使得VTH如箭头1120所描绘增加到处于状态B内。第二遍的结果在于将存储元件编程到如下状态:指定存储上部页的逻辑“0”,而不改变下部页的数据。所述两遍发生于初始编程及重新编程中。
在一种方法中,可建立一系统以在写入足够数据填充整个页时执行全序列写入。如果对于全页来说未写入足够数据,则编程过程可使用所接收的数据编程下部页。当接收后续数据时,系统将随后编程上部页。在又一方法中,系统可在编程下部页的模式中开始写入,且如果随后接收足够数据来填充字线的存储元件中的所有或大多数元件,则转换为全序列编程模式。由发明者塞吉A哥洛比特(Sergy A.Gorobets)及李燕(Yan Li)在2004年12月14日申请的标题为“使用早期数据的非易失性存储器的管线编程(Pipelined Programming of Non-Volatile Memories Using Early Data)”的美国专利申请案第11/013,125号中揭示了所述方法的更多细节,所述专利的全部内容以引用的方式并入本文中。
一旦已完成初始编程,图10的相对较宽VTH分布便类似于图7A的VTH分布。随后,可执行重新编程,从而使图10的相对较宽VTH分布变紧密到与图7B的VTH分布相类似的VTH分布。
图11A到图11C描绘用于编程非易失性存储器的另一过程,其通过以下方式减少浮动栅极到浮动栅极的耦合:对于任一特定存储元件,在针对先前页写入到邻近存储元件之后,相对于特定页而写入到所述特定存储元件。所示过程针对初始编程及重新编程而执行。
在一示范性实施方案中,非易失性存储元件的每一者使用四个数据状态存储两个数据位。举例来说,假设状态E为擦除状态而状态A、B及C为编程状态。状态E存储数据11,状态A存储数据01,状态B存储数据10,而状态C存储数据00。此为非格雷(Gray)编码的一实例,因为两个位在邻近状态A与B之间变化。还可使用数据到物理数据状态的其它编码。每一存储元件存储来自两个数据页的位。出于参考的目的,将这些数据页称为上部页及下部页;然而,其可被给予其它标记。对于状态A来说,上部页存储位0,而下部页存储位1。对于状态B来说,上部页存储位1,而下部页存储位0。对于状态C来说,两个页均存储位数据0。编程过程具有两个步骤,所述两个步骤发生于初始编程及重新编程中。在第一步骤中,编程下部页。如果下部页将保持数据1,则存储元件状态保持于状态E下。如果数据将编程到0,则升高存储元件的VTH,以使得将存储元件编程到状态B′。因此,图11A展示将存储元件从状态E编程到状态B′,状态B′表示临时状态B;因此,将验证点描述为Vvb′,其低于图11C中所述的Vvb1。
在一设计中,在存储元件从状态E编程到状态B′之后,相对于其下部页而编程邻近字线上的其相邻存储元件。在编程相邻存储元件之后,浮动栅极到浮动栅极的耦合效应将升高考虑中的存储元件的表观VTH,所述存储元件在状态B′中。此将具有如下影响:使状态B′的VTH分布扩宽到图11B所绘的VTH分布。当编程上部页时,将至少部分地纠正VTH分布的此表观扩宽。
图11C描绘编程上部页的过程。如果存储元件处于擦除状态E中且上部页将保持于1,则存储元件将保持于状态E中。如果存储元件处于状态E中且其上部页数据将编程到0,则将升高存储元件的VTH,以使得存储元件处于状态A中。如果存储元件处于具有中间VTH分布的状态B′中且上部页数据将保持于1,则存储元件将编程到最终状态B。如果存储元件处于具有中间VTH分布的状态B′中且上部页数据将变为数据0,则将升高存储元件的VTH,以使得存储元件处于状态C中。图11A到图11C所绘的过程减少浮动栅极到浮动栅极的耦合效应,因为相邻存储元件的仅上部页编程将对给定存储元件的表观VTH产生影响。替代状态编码的一实例为在上部页数据为1时,从中间VTH分布移到状态C,而在上部页数据为0时移到状态B。尽管图11A到图11C相对于四个数据状态及两个数据页提供一实例,但所教示的概念可应用于具有多于或少于四个状态及多于或少于两个页的其它实施方案。可在2005年4月5日申请的标题为“在非易失性存储器的读取操作期间补偿耦合(Compensating For Coupling During Read Operations OfNon-Volatile Memory)”的美国专利申请案第11/099,133号中找到关于各种编程方案及浮动栅极到浮动栅极的耦合的更多细节。
虽然图11A到图11C的编程技术减少耦合效应,但由于相邻存储元件的上部页编程而仍会产生某些耦合。因此,图11C的VTH分布仍然宽于必要的。为了解决此问题,一旦已完成初始编程,便可执行重新编程,从而产生与图7B的VTH分布相类似的较紧密VTH分布。
图12为一流程图,其描述使用初始编程及重新编程来编程非易失性存储元件块的过程的一实施例。虽然所述过程是就存储元件块来描述的,但其一般可应用于任何组存储元件。在步骤1200处,开始块的初始编程,例如,响应于用以存储数据的命令。在步骤1205处,使用例如Vva1、Vvb1及Vvc1(图7A)的第一较低组阈值电压(VTH)验证电平,例如,通过将其加载到控制的工作存储器中。另外,使用第一较低通过电压Vpass1。下文将结合图14到图14F而进一步论述在初始编程及重新编程期间不同通过电压的使用。在步骤1210处,编程块中的第一数据页,且在步骤1215处,相应地为所述页设定旗标位(页旗标1)。请注意,在一种方法中,可于步骤1210处在第一数据页的编程期间设定页旗标。
在一种可能方法中,例如一个以上旗标的信息可用来记住块的部分(例如,页)的编程状态。所述旗标为编程状态信息的形式。编程状态信息可指示页是否已经受编程及/或重新编程,以使得控制可确定哪些页需要重新编程而哪些页可跳过。旗标应具有足够的详尽度以传达所要信息。举例来说,每页一个位足以在仅存在一个重新编程循环时指示针对所述页是否已发生重新编程。旗标可(例如)存储于字线的存储有页的存储元件的一者中。用于每一页的旗标可为一位或一组位。
另外或另一选择为,可提供块电平处的旗标以指示针对作为整体的存储元件块或其它单位是否已完成重新编程。在一种方法中,块旗标可为两个位,其中一个位指示初始编程是否已完成,而另一位指示重新编程是否已完成。如果执行一次以上重新编程,则额外位可用于每一额外重新编程。当块旗标存储于编程块的外部时,可使用块旗标。
一般来说,无需块旗标,因为块中的第一及最后一个经编程页的页旗标可用来指示块是否已编程或重新编程。举例来说,第一编程页的第一位及最后一个编程页的对应第一位可指示是否已发生初始编程。如果第一编程页的位指示尚未针对第一编程页执行初始编程,则可断定尚未针对块的任何部分执行初始编程。如果位指示已针对第一编程页执行初始编程但未针对最后一个页,则可断定已针对块的一部分执行初始编程。如果最后一个编程页的位指示已针对最后一个页执行初始编程,则可断定已针对整个块执行初始编程。
类似地,第一编程页的第二位及最后一个编程页的对应第二位可指示是否已发生重新编程。如果第一编程页的位指示尚未针对第一编程页执行重新编程,则可断定尚未针对块的任何部分执行重新编程。如果位指示已针对第一编程页执行重新编程但未针对最后一个编程页,则可断定已针对块的一部分执行重新编程。如果最后一个编程页的位指示已针对最后一个编程页执行重新编程,则可断定已针对整个块执行重新编程。
当尚未重新编程整个块时,便使用较低读取电压,而对于已重新编程整个块的情况来说,便使用较高读取电压。当块部分重新编程时,控制可执行对已经过二进制编码的旗标存储元件的二进制读取,以确定用以读取页的适当字线读取电压。在一种方法中,较低读取电压用于尚未重新编程的页,而较高电压用于已重新编程的页。
单个多电平存储元件的不同状态的每一者可用于存储编程状态信息,以使得可指定多个旗标值。或块旗标可使用指示块是否已重新编程的单个位。一般来说,块旗标可编码于二进制或多电平存储元件中,且可驻留于同一块内,例如,在块的第一页中或另一块或位置中。在一种可能的方法中,对于多电平存储元件来说,旗标位可使用(例如)作为最远离状态的状态E及C,以提供较大可靠性。
因此,在步骤1215处,为当前编程页设定页旗标(页旗标1),以指示其编程状态。设定旗标包括:如果其现有状态所识别的编程状态信息是正确的,则便将所述旗标保留于所述状态下。举例来说,一个位可指示页是否已重新编程。在初始编程之后,所述位将保留于此状态下。在重新编程之后,所述位改变到零值。
在决策步骤1220处,对是否已针对所述块完成初始编程作出确定。举例来说,此可通过如下方式确定:确定块中的最后一个字线(例如,NAND串的块中的漏极侧字线)上的存储元件何时已被编程。如果初始编程尚未完成,则在步骤1225处编程下一数据页,且在步骤1215处为所述下一页设定指示仅已执行初始编程的页旗标(页旗标1);即,重新编程尚未执行。编程每一连续页,直到针对所述块已完成初始编程,此时,在一中方法中可在步骤1230处为块设定块旗标(块旗标1),且在步骤1235处开始重新编程。此块旗标为编程状态信息的形式。或者,如前所述,无需使用块旗标。请注意,在一种方法中,可在最后一个数据页的编程(步骤1225)中设定块旗标。在步骤1240处,使用例如Vva2、Vvb2及Vvc2(图7B)的第二较高组阈值电压(VTH)验证电平。另外,使用第二较高通过电压Vpass2或第二较高组通过电压。
在决策步骤1245处,对其它任务是否是待决的作出决策。如果存在其它待决任务,则在步骤1250处开始等待,直到不存在其它待决任务。一般来说,为了避免性能损失,当管理块的编程的至少一个电路(例如,图5的控制电路515)已进入备用模式且无其它待决任务或至少无其它待决的较高优先级任务时,便可在非实时基础上发生重新编程。即,重新编程不必紧跟于初始编程之后,且一旦开始,其在重新编程所有存储元件时不必持续进行。举例来说,在暂时停止且随后重新开始重新编程下一数据页之前,可一次重新编程整数个数据页,例如,一个或一个以上页。在块已完成重新编程之前可多次发生停止及重新开始。因此,在管理非易失性存储元件的块或其它单位的编程的至少一个电路进入备用模式之后,及/或当不存在其它待决的较高优先级任务时,可在不同时间处执行重新编程。或者,重新编程可在实时基础上发生,紧接于初始编程之后及/或从开始连续进行到结束。
具体来说,当不存在用以读取或写入数据的其它待决请求或不存在其它待决的较高优先级任务(例如,包括垃圾收集或磁盘碎片整理的任务)时,便可发生重新编程。因此,重新编程可作为后台处理而发生,所述后台处理在资源可用时运行,并且视资源允许而发生及停止。举例来说,可考虑数字相机中的非易失性存储装置。当用户拍照时,控制器便在初始编程中忙于将图像数据存储于非易失性存储装置的至少第一块中,此后,在用户决定拍摄另一张照片之前一般存在等待时间。可在所述等待时间中执行重新编程。如果用户在重新编程完成之前拍摄另一张照片,则可暂时中止重新编程,以允许(例如)在第二块的初始编程中写入新的图像数据。一旦此完成,便可恢复第一块的重新编程。随后,可起始第二块的重新编程。对于一个以上块来说还可并行发生重新编程。类似地,如果用户将相机电源关闭,则可暂时中止重新编程,直到相机重新开机且并未忙于另一任务。
在步骤1255处,使用新的VTH验证电平及通过电压来重新编程第一数据页,且在步骤1260处,为所述页设定页旗标(页旗标2),例如以指示针对所述页已发生重新编程。页旗标为编程状态信息的形式。请注意,在一种方法中,可于步骤1255处在数据页的编程期间设定页旗标。在决策步骤1265处,如果针对块已完成重新编程,则可在一种方法中于步骤1270处为块设定块旗标(块旗标2),且重新编程完成。所述块旗标为编程状态信息的形式。或者,如前所述无需使用块旗标。请注意,在一种方法中,可于数据页的编程期间设定块旗标。另外,在步骤1285处重新编程下一数据页,除非在决策步骤1275处有其它任务待决,在此情况下,于步骤1280处实施等待。重新编程块中的每一连续页且在步骤1260处设定页旗标,直到块的重新编程完成。一般来说,可在页边界上中止及重新开始重新编程。如果用户试图在编程一页的中途关闭装置,则关闭将会被延缓,直到当前页的编程完成。实际上,此时期不到一秒,因此对用户来说并不明显。图13为一流程图,其描述使用一系列编程脉冲编程非易失性存储装置的过程的一实施例。所述过程可用于编程数据页,例如如图12的步骤1210、1225、1255及1285处所指示的。一般同时对多个字线(例如,块)进行擦除过程,同时在逐字线的基础上进行编程。一并参见图5,在步骤1300处,由控制电路515发出“数据加载”命令,且将其输入到命令电路514,从而允许将数据输入到数据输入/输出缓冲器512。所述输入数据被辨识为命令,且由状态机516经由输入到命令电路514的命令锁存信号而予以锁存。在步骤1305处,将指定页地址的地址数据从控制器或主机输入到行控制器或解码器506。所述输入数据被辨识为页地址,且经由受到输入到命令电路514的地址锁存信号的影响的状态机516进行锁存。在步骤1310处,将用于经寻址页的编程数据页输入到数据输入/输出缓冲器512以用于编程。举例来说,在一实施例中可输入532个字节的数据。所述数据锁存于适当寄存器中以用于选定的位线。在一些实施例中,所述数据还可锁存于第二寄存器中,以供选定的位线用于验证操作。在步骤1315处,“编程”命令是由控制器予以发出且输入到数据输入/输出缓冲器512。所述命令由状态机516经由输入到命令电路514的命令锁存信号而锁存。
由“编程”命令进行触发,使用如图8所示的施加到适当字线的步进脉冲将步骤1315中锁存的数据编程到状态机516所控制的选定存储元件中。在步骤1320处,将施加到选定字线的编程脉冲电压电平Vpgm初始化到开始脉冲(例如,12V),且将由状态机516所保持的编程计数器PC初始化为0。可(例如)通过适当地编程电荷泵而设定初始编程脉冲的量值。在步骤1325处,将第一Vpgm脉冲施加到选定的字线。如果逻辑“0”存储于特定数据锁存器中而指示应编程对应存储元件,则使对应位线接地。另一方面,如果逻辑“1”存储于特定锁存器中而指示对应存储元件应保留于其当前数据状态中,则将对应位线连接到VDD以禁止编程。
在步骤1330处,验证选定的存储元件的状态。如果检测到选定的单元的目标阈值电压已达到适当电平,则将存储于对应数据锁存器中的数据改变到逻辑“1”。如果检测到阈值电压尚未达到适当电平,则不改变存储于对应数据锁存器中的数据。以此方式,在其对应数据锁存器中存储有逻辑“1”的位线无需编程。当所有数据锁存器均存储逻辑“1”时,状态机便知道所有选定单元均已编程。在步骤1335处,检查所有数据锁存器是否均存储逻辑“1”。如果是,则编程过程成功完成,因为所有选定存储元件均被编程且验证到其目标状态。在步骤1340处报告“通过(PASS)”状态。如果存储元件的预定部分被编程且验证,则也可报告通过。
视情况,可甚至在某些存储器元件尚未达到其所要状态时于步骤1335处宣告通过。因此,即使某些数目的单元无法达到所要状态,也可在达到最大数目的循环之前停止编程。
如果在步骤1335处确定并非所有数据锁存器均存储逻辑“1”,则继续编程过程。在步骤1345处,对照编程极限值PCmax而检查编程计数器PC。编程极限值的一实例为20个脉冲,然而,其它值也可用于各种实施方案中。如果编程计数器PC已达到PCmax,则在步骤1350处将编程过程标记为失败且报告失败状态。举例来说,失败状态可发生在未成功编程位的数目大于预定数目时。如果编程计数器PC小于PCmax,则在步骤1355处使Vpgm电平增加步长且递增编程计数器PC。所述过程随后循环回到步骤1325以施加下一个Vpgm脉冲。
所述流程图描绘可用于二进制存储元件的编程方法。举例来说,对于多电平存储装置来说,多个编程或验证步骤(例如,结合图10及图11A到图11C所述的)可用于所述流程图的单个迭代中。可针对编程操作的每一步骤执行步骤1320到1355。在第一步骤中,可施加一个或一个以上编程脉冲,且验证其结果以确定单元是否处于适当中间状态中。在第二步骤中,可施加一个或一个以上编程脉冲,且验证其结果以确定单元是否处于适当最终状态中。在成功的编程过程结束时,对于编程的存储元件来说,存储元件的阈值电压应处于一个或一个以上阈值电压分布内,或对于擦除的存储元件来说,应处于一阈值电压分布内。
增压技术
图14A到图14F描绘针对初始编程及重新编程使用不同通过电压的增压技术。这些技术涉及在编程期间施加通过电压Vpass到未选定的字线。一般地,在重新编程期间,其可有助于相对用于初始编程的通过电压Vpass1而增加通过电压Vpass2,因为在重新编程期间,驻留于漏极侧字线下的存储元件不再被擦除。结果,必须耗费更多的Vpass增压电位,来达到此刻可编程到较高阈值电压的这些存储元件的反转状况。升高的Vpass电压可在称为偏行干扰(off-row-disturb)的过程中导致非选定字线下的擦除存储元件的无意编程。然而,如果存储元件VTH窗口由于块重新编程的优点而减小,则此可抵消较高Vpass电压的影响。举例来说。Vpass2可超过Vpass10.5V。在一可能实施方案中,Vpass2可为7到10V。而Vpass1可为6.5到9.5V。一般来说,相同或不同的Vpass值可施加到不同的字线。举例来说,施加到未选定字线的Vpass除了依据执行初始或重新编程而改变之外,其还可依据未选定字线相对于选定字线及/或相对于块边界的位置而改变。
因此,图14A及图14B展示在自增压技术下施加到字线以分别用于初始编程及重新编程的电压。在自增压的情况下,与未选定的位线相关联的沟道是电隔离的,且将通过电压Vpass1或Vpass2在编程期间施加到未选定的字线。未选定的字线耦合到与未选定的位线相关联的沟道,从而使得电压(例如,在初始编程及重新编程中分别为7.5或8V)存在于未选定的位线的沟道中。因此,自增压致使电压增压存在于沟道中,所述电压增压往往跨越隧道氧化物而降低电压且因此减少编程干扰。举例来说,假设在一简化实例中存在四个字线WL0到WL3,且当前正通过编程电压Vpgm编程WL2上的存储元件。在此情况下,通过施加Vpass1或Vpass2到WL0、WL1及WL3而实现自增压。实际上,可将电压可施加到交替字线的相反端。
图14C及图14D展示在局部自增压(LSB)技术下施加到字线以分别用于初始编程及重新编程的电压。图14E及图14F展示在擦除区域自增压(EASB)技术下施加到字线以分别用于初始编程及重新编程的电压。LSB及EASB试图通过使先前编程的存储元件的沟道与受禁存储元件的沟道隔离而解决常规自增压的缺点。举例来说,一并参见图4,如果正编程存储元件424,则LSB及EASB便试图通过使存储元件444的沟道与先前编程的存储元件(445及446)隔离而禁止存储元件444的编程。对于SB、EASB及LSB增压方法或这些增压方法的变化形式来说,用于正编程的存储元件的位线接地或连接到接近于0V(一般处于0到1V范围中)的另一电压,而NAND串中具有被禁止的存储元件的位线处于一般为约1.5到3V的Vdd下。编程电压Vpgm(例如,20V)连接到选定的字线。对于LSB来说,与选定的字线相邻的字线处于0V下或接近于0V,而剩余的非选定字线处于Vpass1或Vpass2下。举例来说,位线421可处于0V下,而位线441处于Vdd下。漏极选择SCG处于Vsgd(一般为2.5到4.5V)下,而源极选择SGS处于0V下。参见图14C及图14D,选定的字线WL2处于Vpgm下,而相邻字线WL1及WL3处于0V下,且其它字线(例如,WL0)处于Vpass1或Vpass2下。
LSB模式的缺点在于选定的字线下的增压沟道电压可极高,因为沟道的部分与未选定的字线下的其它沟道区域隔离,且因此增压电压主要由高编程电压Vpgm确定。由于高增压,所以可在偏压到0V的字线附近发生带对带隧穿或GIDL。沟道增压量可通过使用EASB而限制在较低值上。EASB类似于LSB,除了仅源极侧相邻字线处于0V下。举例来说,参见图14E及图14F,选定的字线WL2处于Vpgm下,而源极侧相邻字线WL1处于0V下,且其它字线(例如,WL0及WL3)处于Vpass1或Vpass2下。在使用此方法的情况下,选定的字线下的沟道区域与选定的存储元件的漏极侧相邻字线下的沟道区域相连,且因此沟道增压主要由施加到未选定字线的通过电压确定,而非如LSB的情况一样由Vpgm确定。漏极侧相邻字线WL3处于Vpass1或Vpass2。如果Vpass过低,则沟道中的增压将不足以防止编程干扰。如果Vpass1或Vpass2过高,则可编程选定的NAND串(位线上为0V)中的未选定字线,或可由于GIDL而发生编程干扰。
使用旗标确定适当读取电压
图15为一流程图,其描述使用旗标读取非易失性存储装置块中的数据页的过程的一实施例。虽然所述过程是就存储元件块来描述的,但其一般可应用于任何组存储元件。偶尔,视需要读取块中的数据。可从已完成初始编程及/或重新编程的块中的页读取数据。当在重新编程中使用较高VTH验证电平时,便可在读取数据时使用较高读取电平。因此,需要在读取页之前知道其编程状态。
为此目的,每一页可具有(例如)驻留于同一页中的专用二进制编码存储元件,所述存储元件的二进制状态用作旗标。当读取操作进行到新的块中时,所述块的第一页可在假设所述页已经过块重新编程的情况下进行读取。如果读取的结果另有指示,则可使用较低组读取电平再次读取页。后续页可能与第一页具有相同编程状态(重新编程或未重新编程)。因此,其可在对应于第一页的模式中读取,直到错误校正码(ECC)错误提高使用错误页状态的可能性,在此情况下,块中的页及所有后续页可在替代读取电压下读取。此外,在读取任一页之后,可对照假设的读取电压而检查其旗标的状态,且如果发现矛盾,则可使用替代读取电压重新读取页。即使第一不当读取并未导致ECC错误,也可进行此行为。
在一示范性实施方案中,于步骤1500处,控制开始读取数据页。在步骤1505处,读取页所处的块的块旗标,以确定编程状态。或者,如结合图12所述的,可读取一个或一个以上页旗标以确定编程状态。在步骤1510处,如果块/页旗标指示针对块已完成重新编程,则在步骤1535处使用第二较高组VTH读取电平。举例来说,这些读取电平可为来自图7B的Vra2、Vrb2及Vrc2。在步骤1540处,使用第二较高组VTH读取电平读取数据页。如果在步骤1545处将读取块中的额外页且重新编程已完成(步骤1510),则使用在步骤1535处所获得的第二较高组VTH读取电平于步骤1540处读取额外数据页。如果不存在其它页要读取,则在步骤1550处结束读取过程。
另一方面,如果在步骤1510处块/页旗标并未指示针对块已完成重新编程,则在步骤1515处读取页旗标,以在步骤1520处确定针对所述页是否仅完成初始编程,或在步骤1530处确定针对所述页是否还已完成重新编程。如果仅已完成初始编程,则在步骤1525处使用第一较低组VTH读取电平。举例来说,这些读取电平可为来自图7A的Vra1、Vrb1及Vrc1。如果重新编程也已完成,则如前所述,在步骤1535处使用第二较高组VTH读取电平,且在步骤1540处读取数据页。重复所述过程,直到不再读取额外页。因此,适当读取电平可基于其关联编程状态而用于块中的每一页。
使用错误计数确定适当读取电平
图16为一流程图,其描述使用错误计数读取非易失性存储装置块中的数据页的过程的一实施例。虽然所述过程是就存储元件块来描述的,但其一般可应用于任何组存储元件。在此方法中,页或块电平旗标无需分别识别页或块的编程状态。替代地,控制电路可读取假设有给定编程状态(例如,仅已完成初始编程或也已完成重新编程)的页,且依赖于错误计数来确定假设是否正确。如果确定假设是不正确的,且使用了错误的读取电压,则使用替代组的读取电压重新读取存储元件。
在一示范性实施方案中,于步骤1600处,控制开始读取数据页。在步骤1605处,使用默认组的VTH读取电平,例如,来自图7A的较低电平Vra1、Vrb1及Vrc1或来自图7B的较高电平Vra2、Vrb2及Vrc2。在步骤1615处,使用默认或假设的VTH读取电平读取页,且在步骤1620处确定页的错误计数。举例来说,错误计数可基于错误校正或检测码所检测到的错误。例如海明(Hamming)码的错误校正码可检测并校正某些错误,而错误检测码(例如,使用奇偶校验位或校验和的那些错误检测码)可仅检测错误而不将其校正。举例来说,如前文结合图6所论述的,页可包括具有关联ECC数据的许多数据扇区。当将扇区写入到存储元件时,便写入额外错误校正或检测位。这些位从使用错误校正或检测码的数据扇区产生。随后,当读取扇区时,便还读取随附的错误校正或检测位。扇区数据随后通过错误校正或检测码而运行,以查看输出是否与错误校正或检测位一致。如果输出不一致,则扇区中存在错误。因此,可基于针对扇区或其它单位所检测到的错误数目而产生错误计数。计数可包括所有检测到的错误,例如,包括可校正的那些错误,或仅包括无法校正的错误。计数可表达为原始计数、百分比或其它度量。
在步骤1625处,如果错误计数超过阈值,则可断定所用的默认组VTH读取电平不正确。在此情况下,于步骤1630处使用替代组的VTH读取电平。举例来说,如果默认组包括来自图7A的较低读取电平Vra1、Vrb1及Vrc1,则替代组可包括来自图7B的较高读取电平Vra2、Vrb2及Vrc2。相反,如果默认组包括较高读取电平,则替代组可包括较低读取电平。所述方法可还可扩展到一个以上替代组读取电平。在步骤1635处,使用替代读取电平重新读取页。如果在步骤1640处将读取额外页,则在步骤1615处使用最近所用组的读取电平读取页,且在步骤1620处确定错误计数。所述过程按所述方式进行。在步骤1625处,如果错误计数并未超过阈值,且如果在步骤1640处不存在要读取的额外页,则在步骤1645处结束所述过程。如果在步骤1640处存在要读取的额外页,则在步骤1615处使用最近所用组的读取电平读取页。
错误阈值可基于特定存储器装置的经历而设定于一电平,其中虑及一般在使用正确读取电平时所经历的错误计数。当错误计数与一般在使用正确读取电平时所经历的错误计数偏离规定量时,便可认为所述错误计数指示不正确的读取电平。可使用测试、建模及实验来设定适当阈值。还可能确定使用替代读取电平时的错误计数,且将其与使用默认读取电平时的错误计数相比较。产生较低错误计数的读取电平可随后用作最终读取电平。
出于说明及描述的目的,已提供对本发明的以上详细描述。其并非意在为详尽的或将本发明限制为所揭示的精确形式。根据以上教示许多修改及变化为可能的。选择所述实施例以便最好地阐释本发明的原理及其实际应用,从而使所属领域的其他技术人员能够在各种实施例中最好地使用本发明,并在适合于预期特定用途的各种修改下最好地使用本发明。希望本发明的范围由所附的权利要求书所界定。

Claims (28)

1.一种用于操作非易失性存储装置的方法,其包含:
在初始编程中经由多个字线而编程多个非易失性存储元件,从所述多个字线的第一者开始,且连续进行到每一下一个字线,直到到达所述多个字线的最后一者;及
在完成所述初始编程之后,经由所述多个字线而重新编程所述多个非易失性存储元件。
2.根据权利要求1所述的方法,其中:
通过以下方式而重新编程所述多个非易失性存储元件:再次从所述多个字线的所述第一者开始,且连续进行到每一下一个字线,直到到达所述多个字线的所述最后一者。
3.根据权利要求1所述的方法,其进一步包含:
当在所述初始编程中编程与所述多个字线的给定一者相关联的非易失性存储元件时,将第一通过电压施加到所述多个字线的至少一个其它字线,且在所述重新编程中,当编程与所述多个字线的所述给定一者相关联的非易失性存储元件时,将不同于所述第一通过电压的第二通过电压施加到所述至少一个其它字线。
4.根据权利要求3所述的方法,其中:
所述第二通过电压高于所述第一通过电压。
5.根据权利要求1所述的方法,其中:
在所述初始编程中,使用第一阈值电压验证电平来编程所述多个非易失性存储元件,且在所述重新编程中,使用高于所述第一阈值电压验证电平的对应者的第二阈值电压验证电平来编程所述多个非易失性存储元件。
6.根据权利要求1所述的方法,其中:
对其中布置有所述多个非易失性存储元件的块执行所述初始编程及所述重新编程。
7.根据权利要求6所述的方法,其进一步包含:
存储指示针对所述块是否已完成所述重新编程的编程状态信息。
8.根据权利要求1所述的方法,其进一步包含:
在管理所述多个非易失性存储元件的编程的至少一个电路进入备用模式之后,在不同时间处执行所述重新编程。
9.根据权利要求1所述的方法,其进一步包含:
当不存在其它待决的较高优先级任务时,在不同时间处执行所述重新编程。
10.根据权利要求1所述的方法,其进一步包含:
在所述重新编程中,当不存在其它待决的较高优先级任务时,编程所述多个非易失性存储元件的一部分,随后中止所述重新编程以服务另一较高优先级任务,且随后当再次不存在其它待决的较高优先级任务时,恢复所述重新编程。
11.根据权利要求1所述的方法,其中:
所述多个非易失性存储元件存储多个数据页,每一页可作为一单位进行编程;及对于每一页,存储指示所述页是否已被重新编程的编程状态信息。
12.根据权利要求1所述的方法,其中:
用数据页来重新编程所述多个非易失性存储元件,一次一页,每一页可作为一单位进行编程。
13.根据权利要求1所述的方法,其进一步包含:
存储指示针对所述多个非易失性存储元件是否已完成所述重新编程的编程状态信息。
14.一种非易失性存储系统,其包含:
多个非易失性存储元件;
一个或一个以上电路,其用于:在初始编程中经由多个字线而编程所述多个非易失性存储元件,从所述多个字线的第一者开始,且连续进行到每一下一个字线,直到到达所述多个字线的最后一者;及在完成所述初始编程之后,经由所述多个字线而重新编程所述多个非易失性存储元件。
15.根据权利要求14所述的非易失性存储系统,其中:
通过以下方式而重新编程所述多个非易失性存储元件:再次从所述多个字线的所述第一者开始,且连续进行到每一下一个字线,直到到达所述多个字线的所述最后一者。
16.根据权利要求14所述的非易失性存储系统,其中:
当在所述初始编程中编程与所述多个字线的给定一者相关联的非易失性存储元件时,所述一个或一个以上电路将第一通过电压施加到所述多个字线的至少一个其它字线,且在所述重新编程中,当编程与所述多个字线的所述给定一者相关联的非易失性存储元件时,所述一个或一个以上电路将不同于所述第一通过电压的第二通过电压施加到所述至少一个其它字线。
17.根据权利要求16所述的非易失性存储系统,其中:
所述第二通过电压高于所述第一通过电压。
18.根据权利要求14所述的非易失性存储系统,其中:
在所述初始编程中,使用第一阈值电压验证电平来编程所述多个非易失性存储元件,且在所述重新编程中,使用高于所述第一阈值电压验证电平的对应者的第二阈值电压验证电平来编程所述多个非易失性存储元件。
19.根据权利要求14所述的非易失性存储系统,其中:
对其中布置有所述多个非易失性存储元件的块执行所述初始编程及所述重新编程。
20.根据权利要求19所述的非易失性存储系统,其中:
存储指示针对所述块是否已完成所述重新编程的编程状态信息。
21.根据权利要求14所述的非易失性存储系统,其中:
在至少一个电路进入备用模式之后,在不同时间处执行所述重新编程。
22.根据权利要求14所述的非易失性存储系统,其中:
在不存在其它待决的较高优先级任务时,在不同时间处执行所述重新编程。
23.根据权利要求14所述的非易失性存储系统,其中:
在所述重新编程中,当不存在其它待决的较高优先级任务时,所述一个或一个以上电路编程所述多个非易失性存储元件的一部分,随后中止所述重新编程以服务另一较高优先级任务,且随后当再次不存在其它待决的较高优先级任务时,恢复所述重新编程。
24.根据权利要求14所述的非易失性存储系统,其中:
所述多个非易失性存储元件存储多个数据页,每一页可作为一单位进行编程;及对于每一页,存储指示所述页是否已被重新编程的编程状态信息。
25.根据权利要求14所述的非易失性存储系统,其中:
所述多个非易失性存储元件用数据页来重新编程,一次一页,每一页可作为一单位进行编程。
26.根据权利要求14所述的非易失性存储系统,其中:
存储指示针对所述多个非易失性存储元件是否已完成所述重新编程的编程状态信息。
27.根据权利要求14所述的非易失性存储系统,其中:
所述多个非易失性存储元件包含多电平存储元件。
28.根据权利要求14所述的非易失性存储系统,其中:
所述多个非易失性存储元件布置于NAND串中。
CN2007800094967A 2006-06-22 2007-05-25 用于对非易失性存储器进行非实时重新编程以实现较紧密的阈值电压分布的方法 Active CN101405813B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/425,794 US7489549B2 (en) 2006-06-22 2006-06-22 System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US11/425,790 US7486561B2 (en) 2006-06-22 2006-06-22 Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US11/425,790 2006-06-22
US11/425,794 2006-06-22
PCT/US2007/069711 WO2007149677A2 (en) 2006-06-22 2007-05-25 Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages

Publications (2)

Publication Number Publication Date
CN101405813A true CN101405813A (zh) 2009-04-08
CN101405813B CN101405813B (zh) 2012-02-29

Family

ID=38873402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800094967A Active CN101405813B (zh) 2006-06-22 2007-05-25 用于对非易失性存储器进行非实时重新编程以实现较紧密的阈值电压分布的方法

Country Status (2)

Country Link
US (2) US7486561B2 (zh)
CN (1) CN101405813B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693758A (zh) * 2011-03-22 2012-09-26 群联电子股份有限公司 数据读取方法、存储器储存装置及其存储器控制器
CN102782764A (zh) * 2009-09-11 2012-11-14 桑迪士克技术有限公司 识别非易失性存储装置中的有风险数据
CN106251900A (zh) * 2015-06-12 2016-12-21 株式会社东芝 半导体存储装置及存储系统
CN107331420A (zh) * 2016-04-28 2017-11-07 大心电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN104464797B (zh) * 2014-12-23 2017-12-12 苏州宽温电子科技有限公司 一种自适应的字线电压调节型sram结构
CN108520766A (zh) * 2017-02-27 2018-09-11 东芝存储器株式会社 半导体存储装置
CN109508205A (zh) * 2017-09-15 2019-03-22 北京忆恒创源科技有限公司 支持原位操作的nvm芯片、其操作方法以及固态存储设备
CN109840047A (zh) * 2017-11-27 2019-06-04 华为技术有限公司 一种降低读延时的方法及装置
CN110767253A (zh) * 2018-07-25 2020-02-07 建兴储存科技(广州)有限公司 固态储存装置及其读取表管理方法
CN111951857A (zh) * 2019-05-15 2020-11-17 北京兆易创新科技股份有限公司 一种非易失性存储器的编程方法及控制装置
CN112582007A (zh) * 2019-09-27 2021-03-30 华邦电子股份有限公司 数据写入方法及非易失性存储器

Families Citing this family (172)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7226857B2 (en) 2004-07-30 2007-06-05 Micron Technology, Inc. Front-end processing of nickel plated bond pads
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
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
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7701770B2 (en) * 2006-09-29 2010-04-20 Hynix Semiconductor Inc. Flash memory device and program method thereof
KR100856292B1 (ko) * 2006-09-29 2008-09-03 주식회사 하이닉스반도체 플래시 메모리 소자 및 프로그램 방법
US7821826B2 (en) * 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
JP4435200B2 (ja) * 2007-04-03 2010-03-17 株式会社東芝 半導体記憶装置のデータ書き込み方法
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7630246B2 (en) * 2007-06-18 2009-12-08 Micron Technology, Inc. Programming rate identification and control in a solid state memory
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US7746704B1 (en) * 2007-09-21 2010-06-29 Marvell International Ltd. Program-and-erase method for multilevel nonvolatile memory
US7773413B2 (en) * 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
WO2009072104A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
TW200929225A (en) * 2007-12-25 2009-07-01 Powerchip Semiconductor Corp Memory programming method and data access method
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) * 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
KR101423052B1 (ko) * 2008-06-12 2014-07-25 삼성전자주식회사 메모리 장치 및 읽기 레벨 제어 방법
KR101413137B1 (ko) * 2008-07-04 2014-07-01 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US7839687B2 (en) * 2008-10-16 2010-11-23 Sandisk Corporation Multi-pass programming for memory using word line coupling
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
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
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) * 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8243522B2 (en) * 2009-12-24 2012-08-14 Intel Corporation NAND memory programming method using double vinhibit ramp for improved program disturb
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
KR101201839B1 (ko) * 2010-04-26 2012-11-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 프로그래밍 전류펄스 생성방법
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
KR20110126408A (ko) 2010-05-17 2011-11-23 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
KR101201859B1 (ko) * 2010-09-03 2012-11-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 프로그래밍 전류펄스 조절방법
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
KR101218605B1 (ko) 2010-09-30 2013-01-04 에스케이하이닉스 주식회사 반도체 메모리 장치
KR101153813B1 (ko) * 2010-09-30 2012-06-13 에스케이하이닉스 주식회사 반도체 메모리 장치
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
CN102543196B (zh) * 2010-12-14 2015-06-17 群联电子股份有限公司 数据读取方法、存储器储存装置及其控制器
US8472280B2 (en) * 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US8432740B2 (en) 2011-07-21 2013-04-30 Sandisk Technologies Inc. Program algorithm with staircase waveform decomposed into multiple passes
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US8804449B2 (en) 2012-09-06 2014-08-12 Micron Technology, Inc. Apparatus and methods to provide power management for memory devices
WO2014061055A1 (en) 2012-10-15 2014-04-24 Hitachi, Ltd. Storage sysyem which includes non-volatile semiconductor storage medium, and storage control method of storage system
KR102002385B1 (ko) * 2012-11-14 2019-07-23 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9257203B2 (en) * 2012-12-06 2016-02-09 Micron Technology, Inc. Setting a default read signal based on error correction
US9032271B2 (en) 2012-12-07 2015-05-12 Western Digital Technologies, Inc. System and method for lower page data recovery in a solid state drive
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9870830B1 (en) * 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
CN104102598B (zh) * 2013-04-09 2018-04-24 群联电子股份有限公司 数据读取方法、控制电路、存储器模块与存储器储存装置
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9245645B2 (en) * 2013-08-09 2016-01-26 Intel Corporation Multi-pulse programming for memory
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
KR20160004073A (ko) * 2014-07-02 2016-01-12 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9953703B2 (en) * 2015-10-16 2018-04-24 Samsung Electronics Co., Ltd. Programming method of non volatile memory device
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10460816B2 (en) 2017-12-08 2019-10-29 Sandisk Technologies Llc Systems and methods for high-performance write operations
WO2021031205A1 (en) 2019-08-22 2021-02-25 Micron Technology, Inc. Granular error reporting on multi-pass programming of non-volatile memory
KR20220068541A (ko) 2020-11-19 2022-05-26 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
US11636897B2 (en) 2021-03-03 2023-04-25 Sandisk Technologies Llc Peak current and program time optimization through loop dependent voltage ramp target and timing control
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
CN113223583B (zh) * 2021-05-14 2024-05-17 深圳市硅格半导体有限公司 NAND Flash坏块内数据重读的方法、电子设备及存储介质
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
KR102491655B1 (ko) 2021-10-01 2023-01-27 삼성전자주식회사 에러 카운트를 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법
KR102619353B1 (ko) * 2022-11-07 2023-12-29 넷솔 주식회사 고신뢰성을 얻기 위한 메모리의 동작 방법 및 이를 구현하기 위한 메모리
KR102610253B1 (ko) * 2022-11-23 2023-12-06 넷솔 주식회사 데이터 복구 방법 및 데이터 복구를 수행하는 비휘발성 메모리

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522580A (en) * 1988-06-14 1996-06-04 Basf Corporation Removing stains from fixed items
US5220531A (en) * 1991-01-02 1993-06-15 Information Storage Devices, Inc. Source follower storage cell and improved method and apparatus for iterative write for integrated circuit analog signal recording and playback
KR960002006B1 (ko) * 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
US5504760A (en) * 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5712180A (en) * 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
TW231343B (zh) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5412601A (en) * 1992-08-31 1995-05-02 Nippon Steel Corporation Non-volatile semiconductor memory device capable of storing multi-value data in each memory cell
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3476952B2 (ja) * 1994-03-15 2003-12-10 株式会社東芝 不揮発性半導体記憶装置
JP3730272B2 (ja) * 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
EP0704854B1 (en) * 1994-09-30 1999-12-01 STMicroelectronics S.r.l. Memory device having error detection and correction function, and methods for writing and erasing the memory device
JPH09251782A (ja) * 1996-03-14 1997-09-22 Fujitsu Ltd 半導体記憶装置
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5712815A (en) * 1996-04-22 1998-01-27 Advanced Micro Devices, Inc. Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells
US5909334A (en) * 1996-05-10 1999-06-01 Western Digital Corporation Verifying write operations in a magnetic disk drive
US6137792A (en) * 1996-06-14 2000-10-24 International Discount Telecommunications Corp. Method and apparatus for enabling transmission of data packets over a bypass circuit-switched public telephone connection
US5844912A (en) * 1997-04-01 1998-12-01 Advanced Micro Devices, Inc. Fast verify for CMOS memory cells
JP3481817B2 (ja) * 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
US6134140A (en) * 1997-05-14 2000-10-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device with soft-programming to adjust erased state of memory cells
US5867429A (en) * 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6134104A (en) * 1997-12-29 2000-10-17 Compaq Computer Corporation Multi-drive portable computer
KR100257868B1 (ko) * 1997-12-29 2000-06-01 윤종용 노어형 플래시 메모리 장치의 소거 방법
JP2000040382A (ja) * 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP3905990B2 (ja) * 1998-12-25 2007-04-18 株式会社東芝 記憶装置とその記憶方法
US6151248A (en) * 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
US6301161B1 (en) * 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
JP4055103B2 (ja) * 2000-10-02 2008-03-05 株式会社ルネサステクノロジ 不揮発性メモリおよびそれを内蔵した半導体集積回路並びに不揮発性メモリの書込み方法
JP3631463B2 (ja) * 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6424566B1 (en) * 2001-02-08 2002-07-23 Advanced Micro Devices, Inc. Program reconnaissance to eliminate variations in vt distributions of multi-level cell flash memory designs
US6738289B2 (en) * 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
US6456533B1 (en) * 2001-02-28 2002-09-24 Advanced Micro Devices, Inc. Higher program VT and faster programming rates based on improved erase methods
JP2002319286A (ja) * 2001-04-19 2002-10-31 Hitachi Ltd 不揮発性記憶装置および記憶システム
US6532172B2 (en) * 2001-05-31 2003-03-11 Sandisk Corporation Steering gate and bit line segmentation in non-volatile memories
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
US6529412B1 (en) * 2002-01-16 2003-03-04 Advanced Micro Devices, Inc. Source side sensing scheme for virtual ground read of flash eprom array with adjacent bit precharge
US7162644B1 (en) * 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US6751129B1 (en) * 2002-05-21 2004-06-15 Sandisk Corporation Efficient read, write methods for multi-state memory
US6781877B2 (en) * 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US7327619B2 (en) * 2002-09-24 2008-02-05 Sandisk Corporation Reference sense amplifier for non-volatile memory
US7046568B2 (en) * 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US7196931B2 (en) * 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US6657891B1 (en) * 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
JP3863485B2 (ja) * 2002-11-29 2006-12-27 株式会社東芝 不揮発性半導体記憶装置
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US7630237B2 (en) * 2003-02-06 2009-12-08 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US6859397B2 (en) * 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
US7200050B2 (en) * 2003-05-26 2007-04-03 Semiconductor Energy Laboratory Co., Ltd. Memory unit and semiconductor device
US7237074B2 (en) * 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed 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
US7068539B2 (en) * 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
US7057939B2 (en) * 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
US7200049B2 (en) * 2004-11-18 2007-04-03 Samsung Electronics Co., Ltd. Methods for accelerated erase operations in non-volatile memory devices and related devices
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US20060140007A1 (en) * 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7339834B2 (en) * 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
US7212454B2 (en) * 2005-06-22 2007-05-01 Sandisk 3D Llc Method and apparatus for programming a memory array
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
US7447076B2 (en) * 2006-09-29 2008-11-04 Sandisk Corporation Systems for reverse reading in non-volatile memory with compensation for coupling

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102782764A (zh) * 2009-09-11 2012-11-14 桑迪士克技术有限公司 识别非易失性存储装置中的有风险数据
CN102782764B (zh) * 2009-09-11 2015-10-21 桑迪士克技术有限公司 用于检测有风险的非易失性存储元件的方法和非易失性存储设备
CN102693758B (zh) * 2011-03-22 2015-05-06 群联电子股份有限公司 数据读取方法、存储器储存装置及其存储器控制器
CN102693758A (zh) * 2011-03-22 2012-09-26 群联电子股份有限公司 数据读取方法、存储器储存装置及其存储器控制器
CN104464797B (zh) * 2014-12-23 2017-12-12 苏州宽温电子科技有限公司 一种自适应的字线电压调节型sram结构
CN106251900B (zh) * 2015-06-12 2019-11-29 东芝存储器株式会社 半导体存储装置及存储系统
CN106251900A (zh) * 2015-06-12 2016-12-21 株式会社东芝 半导体存储装置及存储系统
CN107331420A (zh) * 2016-04-28 2017-11-07 大心电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN108520766A (zh) * 2017-02-27 2018-09-11 东芝存储器株式会社 半导体存储装置
CN108520766B (zh) * 2017-02-27 2022-03-04 铠侠股份有限公司 半导体存储装置
CN109508205A (zh) * 2017-09-15 2019-03-22 北京忆恒创源科技有限公司 支持原位操作的nvm芯片、其操作方法以及固态存储设备
CN109508205B (zh) * 2017-09-15 2024-04-05 北京忆恒创源科技股份有限公司 支持原位操作的nvm芯片、其操作方法以及固态存储设备
CN109840047A (zh) * 2017-11-27 2019-06-04 华为技术有限公司 一种降低读延时的方法及装置
US11210210B2 (en) 2017-11-27 2021-12-28 Huawei Technologies Co., Ltd. Read latency reduction method and apparatus
CN110767253A (zh) * 2018-07-25 2020-02-07 建兴储存科技(广州)有限公司 固态储存装置及其读取表管理方法
CN110767253B (zh) * 2018-07-25 2021-08-03 建兴储存科技(广州)有限公司 固态储存装置及其读取表管理方法
CN111951857A (zh) * 2019-05-15 2020-11-17 北京兆易创新科技股份有限公司 一种非易失性存储器的编程方法及控制装置
CN111951857B (zh) * 2019-05-15 2023-06-09 兆易创新科技集团股份有限公司 一种非易失性存储器的编程方法及控制装置
CN112582007A (zh) * 2019-09-27 2021-03-30 华邦电子股份有限公司 数据写入方法及非易失性存储器
CN112582007B (zh) * 2019-09-27 2023-09-12 华邦电子股份有限公司 数据写入方法及非易失性存储器

Also Published As

Publication number Publication date
CN101405813B (zh) 2012-02-29
US20090103356A1 (en) 2009-04-23
US7633802B2 (en) 2009-12-15
US20070297226A1 (en) 2007-12-27
US7486561B2 (en) 2009-02-03

Similar Documents

Publication Publication Date Title
CN101405813B (zh) 用于对非易失性存储器进行非实时重新编程以实现较紧密的阈值电压分布的方法
CN101268519B (zh) 用自调整最大程序循环对非易失性存储器进行编程
CN101213613B (zh) 借助非易失性存储器的循环的开始编程电压偏移
EP2332147B1 (en) Multi-pass programming for memory with reduced data storage requirement
KR101662760B1 (ko) 비휘발성 저장소자에서 향상된 채널 부스팅을 위한 감소된 프로그래밍 펄스 폭
CN101366091B (zh) 多状态非易失性存储器的编程方法
CN101361134B (zh) 使用经修改的通过电压在减小的程序干扰下对非易失性存储器进行编程的方法和存储系统
CN101351849B (zh) 在非易失性存储器写入操作中的持续检验的方法及装置
KR101020812B1 (ko) 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍
KR101075253B1 (ko) 임계 전압의 치밀한 분포가 가능한 비휘발성 메모리의 비 실시간 재 프로그래밍 방법
CN101589436A (zh) 在非易失性存储器中使用多个升压模式减少程序干扰
JP5174829B2 (ja) 隣接メモリセルの記憶状態を考慮した不揮発性メモリセルの読み出し
CN102906820A (zh) 用同步耦合编程非易失性存储器
KR101531456B1 (ko) 세그먼트된 프로그래밍 방법 및 메모리 디바이스
KR101016432B1 (ko) 타이밍 정보를 이용한 리버스 커플링 효과
EP2556509A1 (en) Saw-shaped multi-pulse programming for program noise reduction in memory
CN101317235A (zh) 具有定时信息的反向耦合效应
CN101416253B (zh) 减少编程干扰的影响
CN101715596B (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORPORATION

Effective date: 20121019

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

Effective date of registration: 20121019

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

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.