CN104285256A - 非易失性存储器中不***擦除的多个写入操作 - Google Patents
非易失性存储器中不***擦除的多个写入操作 Download PDFInfo
- Publication number
- CN104285256A CN104285256A CN201380022817.2A CN201380022817A CN104285256A CN 104285256 A CN104285256 A CN 104285256A CN 201380022817 A CN201380022817 A CN 201380022817A CN 104285256 A CN104285256 A CN 104285256A
- Authority
- CN
- China
- Prior art keywords
- state
- data
- memory element
- group
- group memory
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/146—Write once memory, i.e. allowing changing of memory content by writing additional bits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
一种要由数据存储设备(102)执行的方法,包括将第一数据(160)写入至非易失性存储设备(104)中的一组存储元件(106)。基于要被存储在该组存储元件的每个特定存储元件(108)中的第一数据值,将所述每个特定存储元件分配至第一状态集合(148)的特定状态。所述方法还包括用第二数据(162)覆写该组存储元件中的所述第一数据(160)。基于要被存储在该组存储元件的每个特定存储元件(108)中的第二数据值,将所述每个特定存储元件分配至第二状态集合(150)的特定状态。至少一个状态(142)被包括在所述第一状态集合(148)中,并且被排除在所述第二状态集合(150)之外。
Description
优先权声明
本申请要求于2012年4月4日提交的印度专利申请No.1357/CHE/2012的优先权,将其整体合并在此。
技术领域
本公开一般涉及在非易失性存储器中存储数据。
背景技术
诸如通用串行总线(USB)闪存设备或可移除存储卡的非易失性数据存储设备已经允许增加数据和软件应用的便携性。闪存设备可以通过将电荷注入到晶体管的浮置栅极、改变晶体管的阈值电压,在存储器单元中存储数据值。第一电压范围内的阈值电压可以对应于一个数据值,而第二电压范围内的阈值电压可以对应于另一数据值。将感测电压施加至晶体管的控制栅极使得可以检测阈值电压,并因此可以检测存储在存储器单元中的数据值。例如,与低于晶体管的阈值电压的感测电压相比,高于阈值电压的感测电压将使得更高的电流通过晶体管。
这样的存储器单元可以被擦除和再编程以存储其它数据。通常,擦除闪存单元是耗时的,并且可能影响数据存储设备的数据写入延时。另外,擦除闪存中的数据可能需要擦除存储器的擦除块内的多个存储器页。与擦除存储器块关联的存储器管理或“家务”操作(诸如,在擦除擦除块之前将有效数据从该擦除块拷贝至另一存储器位置)也可能影响数据存储设备处的写入延时。
发明内容
可以执行顺序写入操作以将数据写入至非易失性存储器处的一组存储元件,而不***擦除操作。每个写入操作对应于存储元件的不同状态集合。例如,第一写入操作可以使用存储元件的第一状态或第二状态存储第一数据。第二写入操作可以覆写第一数据,并使用相同存储元件的第二状态或第三状态(但不是第一状态)存储第二数据。还可以在第二写入操作之后执行另外的写入操作。在将该组存储元件编程到最后的状态集合之后,可以执行擦除操作以将该组存储元件返回至第一状态。
附图说明
图1是包括被配置为在不执行***擦除操作的情况下用第二数据覆写第一数据的数据存储设备的***的特定说明性实施例的框图;
图2是图示可由图1的数据存储设备执行的、将第一数据写入至一组单元并用第二数据覆写第一数据的特定实施例的概括图;以及
图3是在不执行***擦除操作的情况下用第二数据覆写第一数据的方法的特定说明性实施例的流程图。
具体实施方式
参考图1,***100的特定实施例包括耦接至主机设备130的数据存储设备102。数据存储设备102被配置为通过将存储元件从第一状态集合重新编程到第二状态集合,覆写存储在存储器104处的数据,而不执行***擦除操作。第二状态集合排除第一状态集合中的至少一个状态。
主机设备130可以被配置为提供要存储在存储器104的诸如用户数据132的数据,或请求要从存储器104读取的数据。例如,主机设备130可以包括移动电话、音乐或视频播放器、游戏控制台、电子书阅读器、个人数字助理(PDA)、计算机(诸如膝上型计算机、笔记本式计算机或平板式计算机)、任何其它电子设备、或它们的任意组合。
数据存储设备102包括耦接至控制器120的存储器104。存储器104可以是非易失性存储器,诸如NAND闪存。存储器104包括存储元件的代表性组106,诸如NAND闪存的字线。组106包括代表性存储元件108,诸如闪存单元。例如,数据存储设备102可以是存储卡,诸如安全数字卡、卡、miniSD.TM卡(特拉华州威尔明顿的SD-3C LLC的商标)、MultiMediaCard.TM(MMC.TM)卡(弗吉尼亚州阿灵顿的JEDEC固态技术协会的商标)或(EF)卡(加利福尼亚州米尔皮塔斯的SanDisk公司的商标)。作为另一示例,数据存储设备102可以被配置为耦接至主机设备130,作为内嵌的存储器,诸如(弗吉尼亚州阿灵顿的JEDEC固态技术协会的商标)和eSD,作为说明性示例。
控制器120被配置为从主机设备130接收数据和指令以及向主机设备130发送数据,同时,数据存储设备102操作地耦接至主机设备130。控制器120还被配置为将数据和命令发送至存储器104,并且从存储器104接收数据。例如,控制器120被配置为发送数据和写入命令以指示存储器104将数据存储至指定地址。作为另一示例,控制器120被配置为发送读取命令以从存储器104的指定地址读取数据。
控制器120包括多次可编程单元写入引擎140,其被配置为使用第一状态集合148将第一数据160写入至组106,并使用第二状态集合150用第二数据162覆写第一数据160。例如,存储元件组106的每个存储元件可以被配置为被放置到诸如代表性第一状态142、典型第二状态144、典型第三状态146和典型第N状态190(N是大于3的正整数)的多个状态中之一。为了说明,组106可以是可被编程为具有在分别对应于第一状态142、第二状态144、第三状态146或第N状态190的第一、第二、第三或第N电压范围内的阈值电压的闪存单元的字线,如参考图2更详细描述的。
多次可编程单元写入引擎140可以被配置为将写入操作期间组106中的全部存储元件的状态更新为在特定状态集合(如这里所使用的,可交替地使用“写入操作”和“覆写操作”)中。多次可编程单元写入引擎140可以维护表或其它机制以跟踪从在存储器104中的多个可编程存储元件的每个特定组的最近的擦除事件以来已经在该特定组执行的多个写入操作。替代地,或者另外地,多次可编程单元写入引擎140可以维护表或其它机制以跟踪针对存储器104中的多个可编程存储元件的每个特定组的当前状态集合。在接收到用以对诸如组106的存储元件组执行写入操作的指令时,多次可编程单元写入引擎140可以确定该组的存储元件的当前状态集合(例如,第一状态集合148)并指定下一状态集合以实施写入操作(例如,第二状态集合150可以用于覆写使用第一状态集合148存储在组106中的数据)。
可以从组106读取数据,其中,基于组106,状态集合对应于组106中的存储元件。例如,当组106的存储元件对应于第一状态集合148时,可以通过确定每个存储元件是在第一状态142还是在第二状态144而从存储元件读取数据。替代地,因为组106中的存储元件被限制为在第一状态142或第二状态144中,所以可以通过确定组106中的每个存储元件是否在第一状态142中(或者通过确定每个存储元件是否在第二状态144中)而读取数据。当组106的存储元件对应于第二状态集合150,则可以通过确定每个存储元件是否在第二状态144中(或者替代地,通过确定每个存储元件是否在第三状态146中)而从存储元件读取数据。
多次可编程单元写入引擎140可以被配置为识别何时组106的存储元件对应于“最高”状态集合(例如,包括第N状态190的状态集合,使得不存在额外状态以使能对现有数据的覆写)并使得在在组106执行另一写入操作之前执行擦除操作(例如,将组106的存储元件返回至第一状态142(或至另一状态))。在执行擦除操作之后,可以使用第一状态集合148将数据存储至组106。因此,在无需接入擦除操作的情况下,可以在组106执行的多个连续写入操作可基于可用状态的数目(例如,N个状态)和每个状态集合中的状态的数目(例如,每个集合两个状态)。例如,在N=8且每个状态集合使用两个状态的实施方式中,可以执行七个连续写入操作。
在操作期间,控制器120可以被配置为从主机设备130接收用户数据132,并确定用户数据132要被存储至组106。多次可编程单元写入引擎140可以被配置为确定组106的存储元件已经被擦除且在第一状态142中。多次可编程单元写入引擎140可以确定第一数据160(例如,用户数据132的编码版本)要被使用第一状态集合148而编程至组106。例如,可以使用第一状态142或第二状态144,将第一数据160中的每个数据值(例如,每个比特)存储在组106的不同存储元件中。基于存储在存储元件中的第一数据160的特定数据值是逻辑“0”值、还是逻辑“1”值,将组106中的每个存储元件设置为第一状态142或第二状态144。
多次可编程单元写入引擎140可以指定将诸如逻辑“0”值的第一逻辑值分配至第二状态144,并将用户数据132的诸如逻辑“1”的第二逻辑值分配至第一状态142。控制器120可以通过将存储第一数据160的逻辑“0”值的每个存储元件设置为第二状态144并且将存储第一数据160的逻辑“1”值的每个存储元件留在第一状态142中,发送要使用第一状态集合148编程至组106的第一数据160(例如,用户数据132的编码版本)。在第一数据160已经被存储在存储器104中之后,多次可编程单元写入引擎140可以更新内部表或其它跟踪机制以指示组106已经被编程至第一状态集合148。
在将第一数据160写入至组106之后,控制器120可以接收要被存储至组106的第二数据162。多次可编程单元写入引擎140可以确定组106的存储元件在第一状态集合148(例如,通过读取内部表或跟踪机制),并且可以确定第二数据162要使用第二状态集合150编程至组106。例如,可以使用第二状态144或第三状态146将第二数据162中的每个数据值(例如,每个比特)存储在组106的不同存储元件中。基于存储在存储元件中的第二数据162的特定数据值是逻辑“0”值还是逻辑“1”值,将组106中的每个存储元件设置为第二状态144或第三状态146。控制器120可以指示使用第二状态集合150在组106存储第二数据162,而无需首先对组106的存储元件执行擦除操作。
可以对组106执行连续数据写入操作而不***擦除操作,直到组106的存储元件中的至少一个被编程至第N状态190为止。此后,当后续数据集合要被存储至组106时,多次可编程单元写入引擎140可以确定不存在可用于在组106覆写的额外状态,并且可以使得控制器120发起组106的擦除操作以将组106的全部存储元件返回至第一状态142。在将存储元件返回至第一状态142之后,可以根据第一状态集合148编程数据。
响应于接收到请求以从组106读取数据(诸如,读取第二数据162),多次可编程单元写入引擎140(或控制器120中的其它逻辑)可以确定组106的当前状态集合,诸如第二状态集合150。例如,当控制器120确定组106的存储元件在第二状态集合150时,控制器120可以通过确定组106中的每个存储元件是在第三状态146还是不在第三状态146中,指示存储器104执行组106中数据的读取。
与允许存储元件在多个写入操作中始终保持在一个状态中的实施方式相比,在每个写入操作期间更新组106的存储元件的状态(以对应于针对组106的更新的状态集合)减小了写入延时。例如,在当存储元件在最高准许状态中时将存储元件中的数据值读取为“0”值、否则读取为“1”值、以及特定存储元件在多个连续写入操作的每个期间通过保持在较低状态(例如初始状态)存储“1”值、同时随着每个连续写入操作而将存储“0”值的存储元件编程至越来越高的状态的实施方式中,当“0”值最终被写入至存储元件时,存储元件经历多状态转变。在将存储元件从初始状态(对应于逻辑“1”值)转变至最高准许状态(对应于逻辑“0”值)所需的时间量与初始状态和最终状态之间的状态的数目成比例的实施方式中,存储元件的更大的多状态转变将比被编程的其它存储元件的单状态和双状态转变需要更多时间,因此将延迟写入操作的完成(增加写入延时)。
然而,通过在写入第二数据162时将组106中的全部存储元件的状态从第一状态142改变至第二状态144或第三状态146,可以减少任意存储元件稍后将经历(例如,当将逻辑“0”值写入至存储元件时)的状态改变的数目,如参考图2更详细描述的。结果,可以通过避免在大量状态之中的转变而减小写入延时。
参考图2,描绘将数据写入至图1的存储元件108的示例,并将其概括地标明为200。在示例200中,将存储元件108实施为闪存单元。第一图202图示了响应于已经执行了第一写入操作而作为闪存单元的状态的存储元件108的可能状态。闪存单元根据单元的阈值电压的范围具有一系列四个定义的状态(即,N=4)。例如,存储元件108可以处于第一状态(“Er”)142、第二状态(“A”)144、第三状态(“B”)146、或第四状态(“C”)190。第一状态142对应于小于第一感测电压(V1)232的阈值电压的范围。第二状态144对应于大于或等于第一感测电压(V1)232且小于第二感测电压(V2)234的阈值电压的范围。第三状态146对应于大于或等于第二感测电压234且小于第三感测电压(V3)236的阈值电压的范围。第四状态190对应于大于或等于第三感测电压236的阈值电压的范围。可以将存储元件108初始化为处于第一状态142,诸如,在图1的组106执行的擦除操作之后。
在执行第一写入操作201时,如果存储元件108被分配逻辑“1”值,则存储元件108可以不被编程,并且可以保持在第一状态142中。否则,如果存储元件108被分配逻辑“0”值,则存储元件108可以被编程至第二状态144。为了说明,可以将一系列编程电压步骤施加至闪存单元以将闪存单元的阈值调整到越来越高的电压,直到阈值等于或超过第一验证电压233。在根据第一写入操作201编程闪存单元之后,可以通过在第一感测电压(V1)232执行感测操作确定闪存的状态。例如,可以将第一感测电压232施加至闪存单元的控制栅极以确定闪存单元是否被第一感测电压232激活(即,确定闪存单元的阈值电压是大于还是小于第一感测电压232)。可以确定存储元件108在闪存单元的阈值电压不超过第一感测电压232时具有逻辑“1”值、否则具有逻辑“0”值。
第二图204描绘了由第二写入操作203导致的存储元件108的准许状态(即,对应于第二状态集合150的第二状态144和第三状态146)。存储元件108可以响应于被分配逻辑“1”值而被编程至第二状态144,或者响应于被分配逻辑“0”值而被编程至第三状态146。通过施加一系列编程脉冲直到存储元件108的阈值电压满足或超过第二验证电压235为止,存储元件108可以被编程至第二状态144或第三状态146。注意,已经在第一写入操作201中被分配逻辑“1”值且在第二写入操作203中继续具有逻辑“1”值的存储元件被从第一状态142编程至第二状态144。在第二写入操作204中具有逻辑“0”值的存储元件被从第一状态142或第二状态144编程至第三状态146。可以通过在第二感测电压234执行感测操作而确定存储在存储元件108中的数据值。例如,可以将第二感测电压234施加至闪存单元(存储元件108)的控制栅极,可以确定在闪存单元的阈值电压不超过第二感测电压234时闪存单元具有逻辑“1”值、否则具有逻辑“0”值。
第三图206描绘了作为响应于执行第三写入操作205的存储元件108的准许状态的第三状态集合252。第三写入操作205将存储元件108编程至第三状态146和第四状态190中之一。可以通过施加一系列编程电压脉冲以增加存储元件108的阈值电压来满足或超过第三验证电压237,来执行将存储元件108编程至第四状态190。在执行第三写入操作205以将组106的存储元件编程至第三状态集合252之后,可以通过使用第三感测电压236施加感测操作而确定存储元件108中存储的数据值。
通过将在连续写入操作期间的存储元件108编程为在指定状态集合内(例如,响应于在连续写入操作中分配逻辑“1”值,不允许存储元件108保持在第一状态142中),减少了在每个编程操作期间编程存储元件108的最大编程时间。为了说明,通过第一状态分布208和第一编程步骤图210图示了允许存储元件在多个写入操作中始终保持在一个状态中的实施方式的第一示例,以便与对应于本公开的一个或多个实施例的第二状态分布218和第二编程步骤图220进行比较。
状态分布的第一示例208图示了在第一写入操作和第二写入操作期间保持在第一状态142中(例如,存储逻辑“1”值)、并在第三写入操作中存储逻辑“0”值的存储元件。第三写入操作将包括将存储元件从第一状态编程至第四状态。第一编程步骤图210沿着纵轴图示编程步骤的电压,并且沿着横轴图示时间量。图210描绘了将阈值电压从第一状态提升至第四状态所需的多个编程步骤。作为说明性示例,可以使用在时间0开始并且在时间t1结束的八个编程步骤而执行从第一状态编程至第四状态。
与由图208-210描绘的实施方式形成对比,作为第二写入操作203的结果,根据本公开的存储元件108被编程至第二状态144,如状态分布的第二示例218中图示的。当第三写入操作205使得存储元件108被分配对应于第四状态190的逻辑“0”值时,与状态分布的第一示例208相比,减少了施加至存储元件108的阈值电压改变量。如在第二编程步骤图220中图示的,将存储元件108从第二状态144编程至第四状态190可能需要与第一图210(例如八个步骤)相比减少的数目的步骤(例如五个步骤)。第二图220图示了存储元件109的编程在比时间t1早的时间t2结束。
通过将在每个写入操作的存储元件的状态更新为在所分配的状态集合内(例如,第二写入操作203将存储元件108分配至排除了第一状态142的第二状态集合150),阈值电压的最大改变(以及将存储元件108编程至新状态所需的最大对应时间量)被限制于双状态转变的改变。因此,可以避免可能另外通过在更大数目的状态上编程存储元件而导致的写入延迟。此外,即使存储元件108中存储的数据值并未被第二写入操作203改变,在执行第二写入操作203时,将存储元件108从第一状态142编程至第二状态144也不影响数据写入时间。例如,在第二写入操作203期间,存储元件组106内的一些存储元件可以被从第一状态142编程至第二状态144,并且其它存储元件可以被从第一状态142编程至第三状态146。因此,在此情况下,可以与编程组106的其它存储元件并行地实现将存储元件108从第一状态142编程至第二状态144,而不增加第二写入操作203的写入延时。
参考图3,描绘了方法300的特定实施例。可以在诸如图1的数据存储设备102的数据存储设备中执行方法300。方法300包括在302将第一数据写入至一组存储元件。基于要存储在该组存储元件的每个特定存储元件中的第一数据值,将所述每个特定存储元件分配至第一状态集合的特定状态。例如,基于图1的第一状态集合148,可以将组106的每个存储元件分配至第一状态142(例如,存储“1”数据值)或至第二状态144(例如,存储“0”数据值)。
方法330还包括在304用第二数据覆写该组存储元件中的第一数据。基于要被存储在该组存储元件的每个特定存储元件中的第二数据值,将所述每个特定存储元件分配至第二状态集合的特定状态。将至少一个状态包括在第一状态集合中,并且从第二状态集合排除该至少一个状态。例如,图1的第二状态集合150将包括在第一状态集合148中的第一状态142排除在外。为了执行覆写,可以将组106的每个存储元件分配至第二状态144(例如,存储“1”数据值)或至第三状态146(例如,存储“0”数据值)。
第一状态集合可以包括第一状态和第二状态。例如,图1的第一状态集合148包括第一状态142和第二状态144。第二状态集合可以包括第二状态和第三状态,但不包括第一状态。例如,图1的第二状态集合150包括第二状态144和第三状态146,但不包括第一状态142。
在将第一数据存储在该组存储元件中的同时,第一状态可以对应于第一逻辑值,并且第二状态可以对应于第二逻辑值。为了说明,在图1的第一数据160被写入至组106的同时,具有第一状态142的存储元件108可以对应于逻辑“1”值,并且具有第二状态144的存储元件108可以对应于逻辑“0”值。在将第二数据存储在该组存储元件中的同时,第二状态可以对应于第一逻辑值,并且第三状态可以对应于第二逻辑值。为了说明,在图1的第二数据162被写入至组106的同时,具有第二状态144的存储元件108可以对应于逻辑“1”值,并且具有第三状态146的存储元件108可以对应于逻辑“0”值。
该组存储元件可以包括闪存单元,诸如关于图2描述的。第一状态可以对应于小于第一感测电压的存储器单元的阈值电压,诸如,第一状态142对应于小于图2的第一感测电压232的阈值电压。第二状态可以对应于大于第一感测电压且小于第二感测电压的阈值电压,诸如,第二状态144对应于大于第一感测电压232且小于第二感测电压234的阈值电压。第三状态可以对应于大于第二感测电压的阈值电压,诸如第三状态146对应于大于第二感测电压234(且小于第三感测电压236)的阈值电压。
覆写该组存储元件中存储的数据可以导致该组存储元件的任何存储元件的双状态阈值电压变化最大。例如,如关于图2的状态分布的第二示例218而描述的,每个存储元件在覆写操作期间经历至多双状态阈值电压改变。用以覆写该组存储元件中存储的数据的编程电压步骤的数目(在图2的第二编程步骤图220中被图示为五个编程电压步骤)可以被限制为小于用以将存储元件从最低阈值电压状态编程至最高阈值电压状态的编程电压步骤的数目(在图2的第一编程步骤图210中被图示为八个编程电压步骤)。用以覆写该组存储元件中存储的数据的编程电压步骤的数目可以被限制为小于用以引起存储元件中的三状态转变的编程电压步骤的数目。例如,如图2中描绘的,用以转变一个或两个状态(例如,从状态Er至A、Er至B、A至B、或A至C)的编程电压步骤的数目可以被限制为小于用以从状态Er转变至C(即,三状态转变)的编程电压步骤的数目。
可以对该组存储元件执行一个或多个额外写入操作而不执行擦除操作。在完成每个额外写入操作时,将该组存储元件的每个特定存储元件分配至对应于额外写入操作的指定的状态集合的特定状态。例如,在完成图2的第一写入操作201时,可以将组106中的每个存储元件分配至第一状态集合148的状态。在完成第二写入操作203时,可以将组106中的每个存储元件分配至第二状态集合150的状态,并且,在完成第三写入操作205时,可以将组106中的每个存储元件分配至第三状态集合252的状态。在执行一个或多个额外写入操作之后,可以对该组存储元件执行擦除操作。
虽然这里描绘的各个组件被图示为块组件并且被以通用术语描述,但是这些组件可以包括一个或多个微处理器、状态机、或其它电路,其被配置为使得控制器(例如,图1的控制器120内的多次可编程单元写入引擎140)能够将基于第一状态集合存储数据的存储元件分配至第二状态集合内的状态,以使得能够使用第二状态集合覆写数据。例如,多次可编程单元写入引擎140可以表示诸如硬件控制器、状态机、逻辑电路、或其它结构的物理组件,以使得图1的多次可编程单元写入引擎140能够将第二状态集合的状态分配至第一状态集合的存储元件,以便用使用第二状态集合表示的其它数据覆写使用第一状态集合表示的数据。
可以使用微处理器或微控制器实施控制器(例如,包括多次可编程单元写入引擎140的控制器120),其中所述微处理器或微控制器被编程以确定一组存储元件的当前状态集合、根据分配至存储元件的逻辑数据值将每个存储元件分配至下一状态集合的特定状态(其中,从下一状态集合排除当前状态集合的至少一个状态)、以及更新指示该组存储元件被编程至该下一状态集合的表。在特定实施例中,由执行存储在非易失性存储器104的指令的处理器实施多次可编程单元写入引擎140。替代地、或另外地,由处理器执行的可执行指令可以存储在并非非易失性存储器104的部分的单独的存储器位置,诸如在只读存储器(ROM)。
在特定实施例中,可以在被配置为选择性地耦接至一个或多个外部设备的便携式设备中实施数据存储设备102。然而,在其它实施例中,可以将数据存储设备102附接或嵌入在一个或多个主机设备内,诸如在主机通信设备的外壳内。例如,数据存储设备102可以在诸如无线电话、个人数字助理(PDA)、游戏设备或游戏控制台、便携式导航设备、或使用内部非易失性存储器的其它设备的封装装置内。在特定实施例中,数据存储设备102可以耦接至非易失性存储器,诸如,三维(3D)存储器、闪存(例如,NAND、NOR、多层单元(MLC)、分位线NOR(DINOR)存储器、AND存储器、高电容耦合率(HiCR)、不对称非接触式晶体管(ACT)、或其它闪存)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、一次性可编程存储器(OTP)、或任何其它类型的存储器。
这里描述的实施例的说明意在提供对各个实施例的一般理解。可以利用且从本公开推导出其它实施例,以使得可以在不违背本公开的范围的情况下做出结构和逻辑替换和改变。此公开意在覆盖各个实施例的任意和全部随后的修改或变化。
以上公开的主题将被认为是说明性的、而不是限制性的,并且,所附权利要求书意在覆盖落入本公开的范围内的所有这些修改、改进、和其它实施例。因此,在法律所准许的最大程度上,本发明的范围将由所附权利要求及其等价物的最宽泛的准许解释来确定,并且将不被前述详细描述限制或限定。
Claims (20)
1.一种方法,包括:
在数据存储设备中,执行:
将第一数据写入至一组存储元件,其中,基于要被存储在该组存储元件的每个特定存储元件中的第一数据值,将所述每个特定存储元件分配至第一状态集合的特定状态;以及
用第二数据覆写该组存储元件中的所述第一数据,其中,基于要被存储在该组存储元件的每个特定存储元件中的第二数据值,将所述每个特定存储元件分配至第二状态集合的特定状态,
其中,至少一个状态被包括在所述第一状态集合中,并且被排除在所述第二状态集合之外。
2.如权利要求1所述的方法,其中,所述第一状态集合包括第一状态和第二状态,并且其中,所述第二状态集合包括所述第二状态和第三状态、但不包括所述第一状态。
3.如权利要求2所述的方法,其中:
在将所述第一数据存储在该组存储元件中时,所述第一状态对应于第一逻辑值并且所述第二状态对应于第二逻辑值,并且,在将所述第二数据存储在该组存储元件中时,所述第二状态对应于所述第一逻辑值并且所述第三状态对应于所述第二逻辑值。
4.如权利要求2所述的方法,其中,该组存储元件包括闪存单元,其中,所述第一状态对应于第一阈值电压范围,其中,所述第二状态对应于第二阈值电压范围,并且其中,所述第三状态对应于第三阈值电压范围。
5.如权利要求4所述的方法,其中,覆写该组存储元件中存储的数据导致该组存储元件的每个存储元件的阈值电压变化不超过双状态阈值电压变化。
6.如权利要求5所述的方法,其中,用以覆写该组存储元件中存储的数据的编程电压步骤的数目被限制为小于用以将所述特定存储元件从最低阈值电压状态编程至最高阈值电压状态的编程电压步骤的数目。
7.如权利要求5所述的方法,其中,用以覆写该组存储元件中存储的数据的编程电压步骤的数目被限制为小于用以引起所述特定存储元件中的三状态转变的编程电压步骤的数目。
8.如权利要求1所述的方法,还包括在不执行擦除操作的情况下对该组存储元件执行一个或多个额外写入操作。
9.如权利要求8所述的方法,还包括在执行所述一个或多个额外写入操作之后,对该组存储元件执行擦除操作。
10.一种数据存储设备,包括:
存储器;以及
控制器,耦接至所述存储器,其中,所述控制器被配置为将第一数据写入至所述存储器的一组存储元件,其中,基于所述第一数据的第一数据值将该组存储元件的每个特定存储元件分配至第一状态集合的特定状态,所述第一数据值要被存储在所述特定存储元件中,并且其中,所述控制器还被配置为用第二数据覆写该组存储元件中的所述第一数据,其中,基于所述第二数据的第二数据值将该组存储元件的每个特定存储元件分配至第二状态集合的特定状态,所述第二数据值要被存储在该特定存储元件中,其中,至少一个状态被包括在所述第一状态集合中,并且被排除在所述第二状态集合之外。
11.如权利要求10所述的数据存储设备,其中,所述第一状态集合包括第一状态和第二状态,并且其中,所述第二状态集合包括所述第二状态和第三状态、但不包括所述第一状态。
12.如权利要求11所述的数据存储设备,其中:
在将所述第一数据存储在该组存储元件中时,所述第一状态对应于第一逻辑值并且所述第二状态对应于第二逻辑值,并且,在将所述第二数据存储在该组存储元件中时,所述第二状态对应于所述第一逻辑值并且所述第三状态对应于所述第二逻辑值。
13.如权利要求11所述的数据存储设备,其中,所述存储器包括闪存,并且其中,该组存储元件包括所述闪存的闪存单元。
14.如权利要求13所述的数据存储设备,其中,所述第一状态对应于闪存单元的小于第一感测电压的阈值电压,其中,所述第二状态对应于大于所述第一感测电压且小于第二感测电压的阈值电压,并且其中,所述第三状态对应于大于所述第二感测电压的阈值电压。
15.如权利要求14所述的数据存储设备,其中,覆写该组存储元件中存储的数据导致该组存储元件的每个存储元件的不超过双状态阈值电压变化的阈值电压变化。
16.如权利要求15所述的数据存储设备,其中,用以覆写该组存储元件中存储的数据的编程电压步骤的数目被限制为小于用以将所述特定存储元件从最低阈值电压状态编程至最高阈值电压状态的编程电压步骤的数目。
17.如权利要求15所述的数据存储设备,其中,用以覆写该组存储元件中存储的数据的编程电压步骤的数目被限制为小于用以引起所述特定存储元件中的三状态转变的编程电压步骤的数目。
18.如权利要求10所述的数据存储设备,其中,所述控制器还被配置为在不执行擦除操作的情况下对该组存储元件执行一个或多个额外写入操作。
19.如权利要求18所述的数据存储设备,其中,所述控制器还被配置为在执行所述一个或多个额外写入操作之后,对该组存储元件执行擦除操作。
20.如权利要求10所述的数据存储设备,其中,所述数据存储设备被配置为可移除地耦接至主机设备。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1357CH2012 | 2012-04-04 | ||
IN1357/CHE/2012 | 2012-04-04 | ||
US13/465,351 US8917559B2 (en) | 2012-04-04 | 2012-05-07 | Multiple write operations without intervening erase |
US13/465,351 | 2012-05-07 | ||
PCT/US2013/034155 WO2013151846A1 (en) | 2012-04-04 | 2013-03-27 | Multiple write operations without intervening erase in non-volatile memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104285256A true CN104285256A (zh) | 2015-01-14 |
Family
ID=49292202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380022817.2A Pending CN104285256A (zh) | 2012-04-04 | 2013-03-27 | 非易失性存储器中不***擦除的多个写入操作 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8917559B2 (zh) |
CN (1) | CN104285256A (zh) |
WO (1) | WO2013151846A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140029709A (ko) * | 2012-08-29 | 2014-03-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
US9324438B2 (en) | 2013-08-05 | 2016-04-26 | Jonker Llc | Method of operating incrementally programmable non-volatile memory |
US11783898B2 (en) | 2014-09-18 | 2023-10-10 | Jonker Llc | Ephemeral storage elements, circuits, and systems |
US10839086B2 (en) | 2014-09-30 | 2020-11-17 | Jonker Llc | Method of operating ephemeral peripheral device |
US10061738B2 (en) | 2014-09-30 | 2018-08-28 | Jonker Llc | Ephemeral peripheral device |
US10115467B2 (en) | 2014-09-30 | 2018-10-30 | Jonker Llc | One time accessible (OTA) non-volatile memory |
US9734912B2 (en) * | 2015-11-25 | 2017-08-15 | Macronix International Co., Ltd. | Reprogramming single bit memory cells without intervening erasure |
KR102474937B1 (ko) * | 2016-03-21 | 2022-12-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10671317B2 (en) | 2016-05-25 | 2020-06-02 | Samsung Electronics Co., Ltd. | Block cleanup: page reclamation process to reduce garbage collection overhead in dual-programmable NAND flash devices |
US10474567B2 (en) * | 2016-05-25 | 2019-11-12 | Samsung Electronics Co., Ltd. | Multi-bit data representation framework to enable dual program operation on solid-state flash devices |
US10055351B1 (en) | 2016-06-29 | 2018-08-21 | EMC IP Holding Company LLC | Low-overhead index for a flash cache |
US10331561B1 (en) | 2016-06-29 | 2019-06-25 | Emc Corporation | Systems and methods for rebuilding a cache index |
US10089025B1 (en) | 2016-06-29 | 2018-10-02 | EMC IP Holding Company LLC | Bloom filters in a flash memory |
US10261704B1 (en) | 2016-06-29 | 2019-04-16 | EMC IP Holding Company LLC | Linked lists in flash memory |
US10037164B1 (en) | 2016-06-29 | 2018-07-31 | EMC IP Holding Company LLC | Flash interface for processing datasets |
US10146438B1 (en) | 2016-06-29 | 2018-12-04 | EMC IP Holding Company LLC | Additive library for data structures in a flash memory |
US9818476B1 (en) | 2016-07-25 | 2017-11-14 | Samsung Electronics Co., Ltd. | Reprogram without erase using capacity in multi-level NAND cells |
US9627049B1 (en) | 2016-07-25 | 2017-04-18 | Samsung Electronics Co., Ltd. | Reprogram without erase using capacity in multi-level NAND cells |
US11482292B1 (en) | 2021-06-23 | 2022-10-25 | Western Digital Technologies, Inc. | Non-volatile storage with processive writes |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555204A (en) * | 1993-06-29 | 1996-09-10 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US5815434A (en) | 1995-09-29 | 1998-09-29 | Intel Corporation | Multiple writes per a single erase for a nonvolatile memory |
DE60102203D1 (de) | 2000-12-15 | 2004-04-08 | St Microelectronics Srl | Programmierverfahren für eine Mehrpegelspeicherzelle |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US7193898B2 (en) * | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
EP1909290B1 (en) | 2006-08-24 | 2009-10-07 | STMicroelectronics S.r.l. | Method for compacting the erased threshold voltage distribution of flash memory devices during writing operations |
WO2008047180A1 (en) * | 2006-10-20 | 2008-04-24 | Freescale Semiconductor, Inc. | System and method for fetching an information unit |
US8938655B2 (en) | 2007-12-20 | 2015-01-20 | Spansion Llc | Extending flash memory data retension via rewrite refresh |
US8131915B1 (en) | 2008-04-11 | 2012-03-06 | Marvell Intentional Ltd. | Modifying or overwriting data stored in flash memory |
KR101544607B1 (ko) | 2008-10-28 | 2015-08-17 | 삼성전자주식회사 | 메모리 장치 및 그 프로그램 방법 |
US7978529B1 (en) | 2008-12-24 | 2011-07-12 | Micron Technology, Inc. | Rewritable single-bit-per-cell flash memory |
-
2012
- 2012-05-07 US US13/465,351 patent/US8917559B2/en active Active
-
2013
- 2013-03-27 CN CN201380022817.2A patent/CN104285256A/zh active Pending
- 2013-03-27 WO PCT/US2013/034155 patent/WO2013151846A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20130265830A1 (en) | 2013-10-10 |
US8917559B2 (en) | 2014-12-23 |
WO2013151846A1 (en) | 2013-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104285256A (zh) | 非易失性存储器中不***擦除的多个写入操作 | |
US8811081B2 (en) | Systems and methods of updating read voltages in a memory | |
US8683297B2 (en) | Systems and methods of generating a replacement default read threshold | |
KR101891378B1 (ko) | 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법 | |
US8874992B2 (en) | Systems and methods to initiate updating of reference voltages | |
US8605502B1 (en) | Systems and methods of updating read voltages | |
US20110320688A1 (en) | Memory Systems And Wear Leveling Methods | |
US20150098271A1 (en) | System and method of storing data in a data storage device | |
US9639461B2 (en) | System and method of processing of duplicate data at a data storage device | |
US9715445B2 (en) | File differentiation based on data block identification | |
CN110400588A (zh) | 存储器装置以及该存储器装置的操作方法 | |
US11294586B2 (en) | Method for performing read acceleration, associated data storage device and controller thereof | |
US20140019670A1 (en) | Data writing method, memory controller, and memory storage device | |
WO2014150505A2 (en) | System and method of determining reading voltages of a data storage device | |
CN110244093A (zh) | 低电压检测电路与包括该低电压检测电路的存储器装置 | |
TW201346918A (zh) | 判定針對記憶體之字線之程式化步階大小之系統及方法 | |
CN104835526A (zh) | 将数据写入至闪存的方法及相关的记忆装置与闪存 | |
CN111752856A (zh) | 存储器控制器及其操作方法 | |
CN109388514A (zh) | 存储器***及其操作方法 | |
US8972650B2 (en) | Methods and systems for performing efficient page reads in a non-volatile memory | |
US20140269086A1 (en) | System and method of accessing memory of a data storage device | |
CN112017718A (zh) | 存储装置及其操作方法 | |
CN112346654A (zh) | 存储装置以及操作该存储装置的方法 | |
CN105264610B (zh) | 在多位存储元件处存储数据时使用虚数据的装置和方法 | |
US20120198126A1 (en) | Methods and systems for performing selective block switching to perform read operations in a non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150114 |