CN105264610B - 在多位存储元件处存储数据时使用虚数据的装置和方法 - Google Patents
在多位存储元件处存储数据时使用虚数据的装置和方法 Download PDFInfo
- Publication number
- CN105264610B CN105264610B CN201480032476.1A CN201480032476A CN105264610B CN 105264610 B CN105264610 B CN 105264610B CN 201480032476 A CN201480032476 A CN 201480032476A CN 105264610 B CN105264610 B CN 105264610B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- page
- lpage
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- 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)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
存储设备包括非易失性存储器和控制器。在数据存储设备中进行的方法包括在控制器处接收要被存储在非易失性存储器处的第一数据和第二数据。该方法还包括从控制器向非易失性存储器发送第一数据、第二数据和虚数据以被存储在非易失性存储器中的单个物理页的各个逻辑页处。该单个物理页包括根据位到状态的映射而可编程到多个电压状态中的多个存储元件。虚数据防止单个物理页的存储元件被编程到多个电压状态中的特定电压状态。
Description
技术领域
本公开通常涉及在多位存储元件处存储数据。
背景技术
诸如通用串行总线(USB)闪存设备、嵌入式闪存设备或可移除存储卡的非易失性数据存储设备已经使得数据和软件应用有越来越高的便携性。闪存设备可以通过在每个闪存单元中存储多个位来增强数据存储密度。例如,多级单元(MLC)闪存设备通过每个存储元件存储2位、每个存储元件存储3位、每个存储元件存储4位或更多来提供增加的存储密度。虽然增加每存储元件的位数量并减小设备特征尺寸可以增加存储器设备的存储密度,但是被存储在存储器设备处的数据的位错误率也可能增加。例如,可能由于在相邻存储器存储元件之间的交叉耦合效应而导致错误。
另外,一些闪存设备可以保留存储器的一部分,用于用作诸如在二进制缓存中的单级单元(SLC)存储元件,而存储器的剩余部分被用作MLC存储元件。在具有二进制缓存的存储器设备中,二进制缓存中的存储器存储元件比剩余的存储器存储元件更加经常被循环使用(cycle),且比其他存储器存储元件损耗得更快,缩短了闪存设备的有用寿命。
发明内容
可以通过选择性地控制要被存储在存储器的一个或多个多位存储元件处的有效的位数量而减少用作SLC存储元件的存储元件的加速损耗以及基于相邻存储器存储元件之间的高状态电容的错误。例如,控制器可以选择特定的多位存储元件以在第一时间段期间用作单个位存储元件,且可以选择该特定多位存储元件以在第二时间段期间用作多位存储元件。通过选择性地控制该特定多位存储元件以在第一时间段期间用作单个位存储元件和在第二时间段期间用作多位存储元件两者,相比于在二进制缓存中的专用SLC存储元件,该特定多位存储元件的损耗可以降低。
另外,当被存储在特定多位存储元件处的位的数量少于能够被存储在特定多位存储元件处的位的总数时,控制器可以生成要被存储在该特定多位存储元件处的虚(dummy)数据。虚数据可以防止该特定多位存储元件被编程到多个电压状态中的特定电压状态。例如,虚数据可以防止该特定多位存储元件被编程到多个电压状态中的最高电压状态。通过防止编程到最高电压状态,可以减小该特定多位存储元件的损耗,且还可以减小在相邻多位存储元件之间的交叉耦合效应,减少错误的出现。
附图说明
图1是包括具有控制器的数据存储设备的系统的特定示意实施例的方框图,该控制器被配置为选择要被存储在存储器的多位存储元件处的位的数量;
图2是示出可以被并入图1的数据存储设备中的组件的具体实施例的方框图;
图3描述了可以在被用作2位存储元件的3位存储元件中编程的不同电压状态的示意实施例;
图4描述了可以在被用作1位存储元件的3位存储元件中编程的不同电压状态的示意实施例;
图5描述了可以被施加到存储器的块的不同块存储机制的示意实施例;
图6描述了位到状态的4位映射的示意实施例和修改的位到状态的4位映射的示意实施例以例示使用4位存储元件作为3位存储元件;
图7描述了可以应用于存储器的块的块存储机制的示意实施例;
图8是在多位存储元件处存储数据的方法的第一示意实施例的流程图;以及
图9是在多位存储元件处存储数据的方法的第二示意实施例的流程图。
具体实施方式
参考图1,系统100包括耦合于主机设备130的数据存储设备102。数据存储设备102包括控制器120和被配置为每个存储元件存储多位的非易失性存储器104,比如多级单元(MLC)闪存。非易失性存储器104可以支持每个存储元件多位的配置,比如每个存储元件2位的配置、每个存储元件3位的配置、每个存储元件4位的配置、或每个存储元件多于4位的其他配置。数据存储设备102被配置为选择要被存储在非易失性存储器104的一个或多个多位存储元件处的位的“有效”数量,比如每个存储元件存储的用户数据的位的数量。数据存储元件102还被配置为基于要被存储在一个或多个多位存储元件处的所选的位的有效数量来向非易失性存储器104选择性地提供虚数据。被提供给一个或多个多位存储元件的虚数据可以防止一个或多个多位存储元件被编程到多个电压状态中的特定电压状态。
主机设备130可以被配置为提供要被存储在非易失性存储器104处的诸如用户数据的数据132、或请求要从非易失性存储器104读取的数据。例如,数据132可以包括第一数据、第二数据、和/或第三数据。主机设备130可以包括移动电话、音乐播放器、视频播放器、游戏控制台、电子书阅读器、个人数字助理(PDA)、诸如膝上计算机、笔记本计算机、或平板计算机的计算机、任何其他电子设备或其任意组合。
主机设备130可以被配置为经由存储器接口实现通信协议,该存储器接口使能从非易失性存储器104读取和向非易失性存储器104写入。例如,主机设备130可以符合联合电子设备工程师委员会(JEDEC)工业规范而操作。作为其他例子,主机设备130可以符合一个或多个其他规范而操作。
数据存储设备102可以被配置为耦合于主机设备130。例如,数据存储设备102可以是存储卡,比如安全数字卡、微卡、迷你SD.TM卡(德拉华州威尔明顿的SD-3CLLC的商标)、多媒体卡.TM(MMC.TM)卡(维吉尼亚州阿灵顿的JEDEC固态技术协会的商标)、或紧致(CF)卡(加利福尼亚州米尔皮塔斯的SanDisk公司的商标)。作为另一例子,数据存储设备102可以被配置为耦合于主机设备130,作为嵌入式存储器,比如(维吉尼亚州阿灵顿的JEDEC固态技术协会的商标)和eSD,作为示意性示例。为了例示,数据存储设备102可以对应于eMMC(嵌入式多媒体卡)设备。数据存储设备102可以符合JEDEC工业规范而操作。例如,数据存储设备102可以符合JEDEC eMMC规范、JEDEC通用闪存(UFS)规范、一个或多个其他规范或其组合而操作。
数据存储设备102可以被配置为经由控制器120从主机设备130接收数据132用于存储在非易失性存储器104中。例如,控制器120被配置为从主机设备130接收数据和指令。控制器120还被配置为经由总线126向非易失性存储器104发送数据和命令以及从非易失性存储器104接收数据。例如,控制器120可以被配置为发送数据和写入命令来指示非易失性存储器104存储数据132到非易失性存储器104的指定地址,比如对应于非易失性存储器104的多位存储元件的地址。作为另一例子,控制器120可以被配置为发送读取命令以从非易失性存储器104的指定地址读取数据。
控制器120可以包括每存储元件位选择引擎122。每存储元件位选择引擎122可以选择要被存储在非易失性存储器104的一个或多个存储元件处的对应的位数量。要被存储的位的数量可以少于或等于总位数。为了例示,每存储元件位选择引擎122可以选择要被存储在3位存储元件处的位的数量。例如,每存储元件位选择引擎122可以指定该3位存储元件要被用作1位存储元件、2位存储元件或3位存储元件。在另一实施方式中,每存储元件位选择引擎122可以选择要被存储在4位存储元件处的位的数量。例如,每存储元件位选择引擎122可以指定该4位存储元件要被用作1位存储元件、2位存储元件、3位存储元件或4位存储元件。因此,每存储元件位选择引擎122可以选择要被存储在能够存储总位数的诸如多位存储元件的特定存储元件处的位的数量。
为了以降低的容量使用特定存储元件,该特定存储元件仍然可以基于该特定存储元件能够存储的总位数而被编程。当以降低的容量来使用该特定存储元件时,该特定存储元件的至少一个逻辑页存储虚数据124,而其他逻辑页存储诸如数据132的用户数据。虚数据124可以包括第一虚数据125、第二虚数据127或其组合。因此,当以降低的容量来使用特定存储元件时,控制器120可以发送能够被存储在该特定存储元件处的总位数。因为即使当要被存储在特定存储元件处的位的数量少于总位数时非易失性存储器104也接收总位数,因此与特定存储元件存储总位数时相比,非易失性存储器104可以在不需要任何另外的硬件而编程该特定存储元件以用减少的容量来存储数据。
每存储元件位选择引擎122可以选择特定存储元件的总位数的哪个(哪些)位要存储数据132。每存储元件位选择引擎122可以对于未被选择来存储数据132的特定存储元件的每个位,生成诸如第一虚数据125和/或第二虚数据127的虚数据。另外或可替换地,每存储元件位选择引擎122可以选择特定存储元件的总位数的哪个(哪些)位要存储虚数据124。通过选择特定存储元件的哪个(哪些)位来接收数据132或虚数据124,每存储元件位选择引擎122可以防止特定存储元件被编程到诸如最高电压状态的特定电压状态,如在此进一步描述的。然后,控制器120可以向非易失性存储器104发送包括数据132或数据132和虚数据124(例如,第一虚数据125和/或第二虚数据127)的组合的数据128用于存储。
非易失性存储器104可以包括NAND闪存、NOR闪存或任何其他类型的闪存。非易失性存储器104可以包括多级单元(MLC)闪存,其被配置为每个存储元件存储多个位。例如,非易失性存储器104可以包括三级单元(TLC)闪存,其被配置为在非易失性存储器104的每个存储器存储元件中存储3位。
非易失性存储器104包括位到状态映射电路110、参考电压集112和存储元件的代表组106。存储元件的代表组106可以包括一个或多个代表存储元件C0-Cn。存储元件的组106可以被包括在字线(WL)108中。例如,存储元件的组106可以包括第一存储元件C0、第二存储元件C1、第三存储元件C2和第四存储元件Cn。虽然将字线108描绘为包括四个存储元件,但是字线108可以包括任何数量的存储元件。
组106的每个存储元件可以是能够存储多位的多级单元(MLC)闪存单元。例如,每个存储元件C0-Cn可以用与存储元件的电压状态对应的电压值、比如与特定范围的阈值电压值对应的预定电压状态的电压值来编程。每个存储元件的电压状态可以对应于在存储元件处存储的数据值,如在此进一步描述的。
字线108可以包括一个或多个物理页。字线108的每个物理页可以包括一个或多个存储元件。非易失性存储器104还可以包括多个块的存储元件,比如在每个擦除块中包括多个字线的闪存的擦除块,如参考图2进一步描述的。
该参考电压集112可以定义与存储元件C0-Cn相关联的电压。该参考电压集112可以将每个存储元件C0-Cn的阈值电压的可用范围划分为多个电压状态,每个电压状态对应于要被存储在特定存储元件处的数据值。在该参考电压集112中包括的参考电压的数量可以对可以被存储在存储元件C0-Cn的每个处的每存储元件的总位数分类。例如,当该参考电压集112包括三个参考电压时,存储元件C0-Cn的每个可以具有四个可用(或可能的)电压状态。四个电压状态可以对应于基于每个存储元件2位的四个数据值,比如“00”的第一位值、“01”的第二位值、“10”的第三位值和“11”的第四位值。作为另一例子,当该参考电压集112包括七个参考电压时,每个存储元件可以具有对应于基于每个存储元件3位而生成的八个数据值的八个可用的电压状态。作为进一步的例子,当该参考电压集112包括十五个参考电压时,每个存储元件可以具有对应于基于每个存储元件4位而生成的十六个数据值的十六个可用的电压状态。
非易失性存储器104可以包括一个或多个另外的参考电压集。例如,在每个存储元件三位的实施方式中,该参考电压集112可以包括用于与非易失性存储器104的一块一起使用的七个参考电压的第一特定集、以及用于与非易失性存储器104的另一块一起使用的七个参考电压的另一集(例如,以容纳非易失性存储器104的该块中的不均匀损耗的影响)。非易失性存储器104可以包括读取电路和写入电路(例如,读取/写入电路)用于向存储元件C0-Cn读取和写入数据。读取/写入电路可以包括位到状态映射电路110、参考电压集112或其组合。在非易失性存储器104中包括的写入电路可以被配置为通过将对应于特定电压状态的电压值编程到存储元件C0-Cn中的特定存储元件来写入数据值(例如一组位)到该特定存储元件。可以通过位到状态映射电路110基于数据值来选择电压值。例如,位到状态映射电路110可以确定对应于从控制器120接收的特定位值的特定电压状态。写入电路可以将该特定存储元件编程到对应于该特定电压状态的电压值。
读取电路可以被配置为基于从特定存储元件读取的特定电压状态来确定被存储在该特定存储元件处的数据值。基于特定存储元件的电压状态,位到状态映射电路110可以使用位到状态的映射来确定被存储在特定存储元件处的数据值。
由位到状态映射电路110应用的位到状态的3位映射160的示意例子可以被存储在位到状态映射电路110处或可以由该位到状态映射电路110访问。基于位到状态的3位映射160,存储元件可以被编程到指定为"Er"(擦除)、"A"、"B"、"C"、"D"、"E"、"F"、和"G"的八个可能的电压状态之一中。每个预定电压状态可以被映射到与位于“高”页的第一位、位于“中间”页的第二位和位于“低”页的第三位相关联的相应3位数据值。例如,第一位可以与3位数据值的最高有效位(MSB)相关联,且第三位可以与3位数据值的最低有效位(LSB)相关联。
图示180以直方图图示了电压状态(例如,根据位到状态的3位映射160),示出了用于每个阈值电压值的存储元件的数量。例如,相对于可以被包括在该参考电压集112中的参考电压Va、Vb、Vc、Vd、Ve、Vf、Vg描绘电压状态"Er"、"A"、"B"、"C"、"D"、"E"、"F"和"G"。因此,电压状态"Er"、"A"、"B"、"C"、"D"、"E"、"F"和"G"的每个具有基于参考电压压Va、Vb、Vc、Vd、Ve、Vf、Vg中的一个或多个的对应电压值范围。例如,电压状态“Er”182具有小于参考电压Va 186的电压值(对应于全一数据值“111”)。作为另一例子,电压状态“A”184具有大于或等于参考电压Va 186并小于参考电压Vb 188的电压值(对应于“110”的数据值)。
与字线108相关联的物理页190的例子被描绘为存储第一数据值192、第二数据值194、第三数据值196和第四数据值198。一个或多个数据值192-198的每个可以对应于包括字线108的存储元件C0-Cn的该组106的存储元件。例如,第一数据值192可以对应于第一存储元件C0,第二数据值可以对应于第二存储元件C1,第三数据值196可以对应于第三存储元件C2,且第四数据值198可以对应于第四存储元件Cn。虽然物理页190被描绘为对应于四个存储元件,但是物理页190可以对应于任何数量的存储元件(例如,2000个存储元件)。
物理页190可以包括多个逻辑页,比如高逻辑页166、中间逻辑页168和低逻辑页170。逻辑页166-170的每个可以存储用于数据值192-198的每个的位值。例如,高逻辑页166可以对应于数据值192-198中的最高有效位(MSB),且低逻辑页可以对应于192-198中的最低有效位(LSB)。被存储在物理页190处的数据值192-198每个可以对应于一个电压状态,比如位到状态的3位映射160中的电压状态"Er"、"A"、"B"、"C"、"D"、"E"、"F"和"G"之一。为了例示,第一数据值192可以存储对应于电压状态“Er”的全一值“111”,且第二数据值194可以存储对应于电压状态“E”的值“011”。
在一个具体实施例中,物理页190可以基于由每存储元件位选择引擎122选择的要被存储的位的数量,来在高逻辑页166、中间逻辑页168、低逻辑页170或其组合中存储虚数据,比如虚数据124。例如,如在物理页190中所示,中间逻辑页168存储虚数据124的全一位序列。
在操作期间,数据存储设备102可以从主机设备130接收数据132。例如,控制器120可以接收要被存储在非易失性存储器104处的诸如位值的序列的数据132。数据132可以包括第一数据(例如第一页用户数据)、第二数据(例如,第二页用户数据)和第三数据(例如,第三页用户数据)。
控制器120可以接收数据132,且可以标识存储数据132的一个或多个存储元件。对于标识的一个或多个存储元件,每存储元件位选择引擎122可以确定要被存储在该一个或多个存储元件的每个处的位的有效数量。该一个或多个存储元件可以被包括在单个物理页中。例如,该一个或多个存储元件每个可以包括3位存储元件,且每存储元件位选择引擎122可以确定在该一个或多个存储元件的每个处存储1位、2位还是3位。每存储元件位选择引擎122可以在所选的位的有效数量小于存储元件被配置为存储的位的总数时生成虚数据124。当确定在每个3位存储元件处存储减少数量的位时,虚数据124可以取决于要被存储在每个3位存储元件处的位的数量而包括第一虚数据、或第一虚数据125和第二虚数据127。控制器120可以向非易失性存储器104发送包括数据132、或者数据132和虚数据124的组合的数据128以存储在该一个或多个存储元件处。虚数据124可以防止一个或多个存储元件被编程到诸如最高电压状态的特定电压状态。例如,虚数据124可以包括通过禁止与特定电压状态对应的特定数据值被存储在特定存储元件处来防止该特定存储元件被编程到该特定电压状态的位值。通过防止特定电压状态、诸如最高电压状态,可以减小由在多位存储元件和相邻于该多位存储元件的存储元件之间的交叉耦合效应引起的错误,且可以减少基于高电压状态电容的错误量。
非易失性存储器104可以接收数据128并向位到状态映射电路110提供数据128。位到状态映射电路110可以将数据128映射到电压状态。非易失性存储器104可以用由位到状态映射电路110确定的电压状态来编程由控制器120标识的一个或多个存储元件的每个。
在第一示意例子中,一组3位存储元件(例如物理页190)可以包括三个逻辑页,诸如与最高有效位(MSB)相关联的高逻辑页、中间逻辑页和与最低有效位(LSB)相关联的低逻辑页。当每存储元件位选择引擎122选择该组3位存储元件以每存储元件存储2位时,每存储元件位选择引擎122可以选择高逻辑页和低逻辑页来存储数据(或,可替换地可以选择中间逻辑页来存储虚数据124)。例如,高逻辑页可以存储数据132的第一部分(第一数据),且低逻辑页可以存储数据132的第二部分(例如第二数据)。每存储元件位选择引擎122可以生成要被存储在中间逻辑页处的虚数据124。虚数据124可以包括全一序列或全零序列。如针对物理页190例示的,虚数据124是全一。因此,在物理页190中的所有存储元件被限制为处于电压状态"Er"、"A"、"D"或"E"之一,防止存储元件被编程到一个或多个特定电压状态,比如最高电压状态“G”或第二高电压状态“F”。然后,控制器120可以向非易失性存储器104发送包括虚数据124和数据132(例如第一部分和第二部分)的数据128用于存储在该组3位存储元件处。数据132的第一部分、数据132的第二部分和虚数据124的每个可以被存储在该组3位存储元件的各个逻辑页处。
在第二示意例子中,每存储元件位选择引擎122可以选择要被存储在一组3位存储元件(例如物理页190)处的位的数量。响应于由每存储元件位选择引擎122使用该组3位存储元件的每个存储元件作为1位存储元件的选择,每存储元件位选择引擎122可以生成包括第一虚数据125和第二虚数据127的虚数据124。每存储元件位选择引擎122可以选择与存储元件相关联的一个逻辑页来接收数据132(例如数据132的一部分),且其他两个逻辑页接收第一虚数据125和第二虚数据127。例如,高逻辑页可以接收数据132,中间逻辑页可以接收第一虚数据125,且低逻辑页可以接收第二虚数据127。第一虚数据125和第二虚数据127每个可以是全一位序列或全零位序列。可替换地,第一虚数据125可以是全一位序列,且第二虚数据127可以是全零位序列。如果第一虚数据125和第二虚数据127包括用于中间逻辑页和低逻辑页的全一,则所有存储元件维持在"Er"电压状态("1"值)或被编程到电压状态"E"("0"值)。由于各个存储元件的阈值电压偏压,电压状态"Er"和"E"之间的分隔可以得到较低错误率。另外,在物理页190中的所有存储元件被限制为处于电压状态"Er"或"E"之一,防止存储元件被编程到一个或多个特定电压状态,诸如最高电压状态“G”或第二高电压状态“F”。
通过选择要被存储在多位存储元件处的每存储元件位的数量并选择性地提供虚数据到多位存储元件,控制器120可以防止多位存储元件被编程到多个电压状态中的特定电压状态。通过防止多位存储元件被编程到特定电压状态、诸如最高电压状态,可以减小由在多位存储元件和相邻于该多位存储元件的存储元件之间的交叉耦合效应引起的错误,且可以减小基于高电压状态电容的错误量。可替换地或另外,可以选择不同存储元件以存储不同位数量。因此,存储器中没有存储元件一直被专用于操作在每存储元件特定位的配置中,这种每存储元件单个位配置作为二进制缓存的部分。因此,被存储在特定存储元件处的位的数量可以改变,以防止该特定存储元件被专门用作专用单个位存储元件,由此减少损耗。例如,控制器可以选择特定多位存储元件以在第一时间段期间用作单个位存储元件,且可以选择该特定多位存储元件以在第二时间段期间用作多位存储元件。可替换地或另外,对于所有位模式可以使用相同指令用于读取操作或写入操作,而不考虑特定位模式是否使用虚数据124。因此,不需要不同指令来操作特定存储元件作为1位存储元件、2位存储元件、3位存储元件、4位存储元件,或存储多于4位的存储元件。
参考图2,描述了图1的数据存储设备102的特定示意实施例,示出了非易失性存储器104和控制器120的另外细节。控制器120可以包括每存储元件位选择引擎122、每存储元件位存储机制226、块/字线跟踪引擎228、和适应性跟踪引擎230。
每存储元件位存储机制226可以包括每存储元件一个或多个位的存储机制。每个每存储元件位存储机制可以指示要被存储在一个或多个字线、一个或多个物理页、一个或多个存储元件、或其组合处的数据位的数量、虚位的数量或其组合。每存储元件一个或多个位的存储机制可以包括块存储机制、字线存储机制、或其组合。块存储机制可以标识要应用于在非易失性存储器104的块中包括的多个字线的每存储元件的位的样式或机制,如参考图5进一步描述的。字线存储机制可以标识要被应用于字线、字线的一个或多个物理页、或一个或多个存储元件的每存储元件的位的机制,如参考3、4、和6描述的。另外或可替换地,每存储元件位存储机制226可以包括位到状态的一个或多个映射(例如,与任意位数量相关联的位到状态的映射),其可以被用于将数据值翻译为要在存储元件处编程的电压状态,且将编程在存储元件处的电压状态翻译为数据值。
每存储元件位选择引擎122可以从每存储元件位存储机制226中选择特定的每存储元件位存储机制。例如,每存储元件位选择引擎122可以选择特定的每存储元件位存储机制以应用于非易失性存储器104的块、字线、物理页、存储元件、或其组合。每存储元件位选择引擎122可以基于预定选择样式、基于定时器、基于从适应性跟踪引擎230接收的输入、基于块/字线跟踪引擎228的输入、或其组合,来选择特定的每存储元件位存储机制。每存储元件位选择引擎122可以向块/字线跟踪引擎228提供所选择的特定每存储元件位存储机制的指示。
每存储元件位选择引擎122可以基于或根据所选择的特定每存储元件位存储机制,选择或确定要被存储在一个或多个存储元件的每个处的位的数量。例如,每存储元件位选择引擎122可以在其中单个物理页包括三个或更多逻辑页的实施方式中,选择向特定存储元件分配单个逻辑页的用户数据、两个逻辑页的用户数据、还是三个或更多逻辑页的用户数据。另外或可替换地,每存储元件位选择引擎122可以确定物理页的逻辑页的数量用于接收虚数据,比如图1的虚数据124。每存储元件位选择引擎122可以向块/字线跟踪引擎228提供要被存储在多个存储元件的每个处的位的数量的第一指示、哪些逻辑页包括数据的第二指示、哪些逻辑页包括虚数据的第三指示、或其组合。
块/字线跟踪引擎228被配置为跟踪要应用于非易失性存储器104的每存储元件位存储机制,比如要应用于非易失性存储器104的块、字线、物理页,和/或存储元件的每存储元件位存储机制。另外或可替换地,块/字线跟踪引擎228可以跟踪被存储在非易失性存储器104的块、字线、物理页、或存储元件处的数据位的位置、虚位的位置、或其组合。块/字线跟踪引擎228可以存储和维持每存储元件位选择引擎122可访问的指示符,包括用于每存储元件位存储机制、数据位的位置、虚位的位置、或其组合的指示符,该指示符可以由每存储元件位选择引擎122、诸如读取/写入电路或处理器单元的数据存储设备的一个或多个另外的组件、或其组合来读取。
适应性跟踪引擎230可以跟踪与非易失性存储器104的操作相关联的一个或多个参数,比如与块、字线、物理页、存储元件、或其组合相关联的一个或多个参数。该一个或多个参数可以包括用于特定块的擦除时间、块擦除的数量、存储器操作的设置数量、一个或多个存储元件被擦除或被写入的频率、在字线中的已编程的存储元件的数量、与存储元件、物理页、字线、或块相关联的错误的数量、字线中的已编程的单元的密度、或其组合。
该一个或多个参数可以作为对每存储元件位选择引擎122的输入而提供。每存储元件位选择引擎122可以基于该一个或多个参数中的一个或多个,来选择或开始每存储元件位存储机制的选择。例如,每存储元件位选择引擎122可以响应于接收到一个或多个参数,开始被应用于非易失性存储器104的块、字线、物理页、或存储元件的每存储元件位存储机制的选择。作为示意性例子,每存储元件位选择引擎122可以基于特定块的擦除时间(例如,将存储元件返回到擦除状态所需的脉冲的数量)正在增加或已经增加到阈值以上的指示,将用于非易失性存储器104的特定块的特定每存储元件位存储机制从第一每存储元件位存储机制改变为第二每存储元件位存储机制。
非易失性存储器104可以包括块280,该块280包括多个字线。多个字线可以包括第一字线WLn-1、第二字线WLn、第三字线WLn+1、第四字线WLn+2、第五字线WLn+3、和第六字线WLn+4。例如,多个字线中的一个字线可以对应于图1的字线108。虽然块280被描述为包括六个字线,但块280可以包括多于六个字线(或少于六个字线)。
多个字线的每个字线可以与多个逻辑页相关联。例如,第一字线WLn-1可以与多个逻辑页、比如第一逻辑页284、第二逻辑页286、和第三逻辑页288相关联。与第一字线WLn-1相关联的多个逻辑页可以对应于图1的高逻辑页166、中间逻辑页168、和低逻辑页170。作为另一例子,第二字线WLn可以与第四逻辑页294、第五逻辑页296、和第六逻辑页298相关联。虽然多个字线的每个被描述为包括三个逻辑页,但每个字线可以具有任意数量的逻辑页,诸如两个或更多逻辑页。
由每存储元件位选择引擎122选择的特定的位到单元存储机制可以对应于被应用于块280的多个字线的样式。作为第一示意例子,每存储元件位选择引擎122可以选择与第一样式相关联的第一位到单元存储机制,其中交替的字线在单个相应逻辑页中存储虚数据。当应用第一位到单元存储机制,且数据被存储在块280的字线中的一个或多个时,虚数据可以被存储在第一字线WLn-1、第三字线WLn+1、和第五字线WLn+3、或其组合的单个逻辑页处。例如,第一字线WLn-1可以在第一字线WLn-1的第一逻辑页284、第二逻辑页286、或第三逻辑页288中存储虚数据。
作为第二示意例子,每存储元件位选择引擎122可以选择与第二样式相关联的第二位到单元存储机制,其中交替的字线在两个相应逻辑页中存储虚数据。当应用第二位到单元存储机制,且数据被存储在块280的字线中的一个或多个时,虚数据可以被存储在第一字线WLn-1、第三字线WLn+1、和第五字线WLn+3、或其组合的逻辑页处。例如,第一逻辑页WLn-1可以在第一逻辑页284、第二逻辑页286和第三逻辑页288中的任何两个逻辑页中存储虚数据。
在操作期间,每存储元件位选择引擎122可以从每存储元件位存储机制226选择特定每存储元件位存储机制,以应用于非易失性存储器104的块280。例如,每存储元件位选择引擎122可以基于从适应性跟踪引擎230接收的一个或多个参数,来选择特定每存储元件位存储机制。
控制器120可以接收要被存储在非易失性存储器104处的用户数据,诸如图1的数据132。要被存储在非易失性存储器104处的用户数据可以包括第一数据和第二数据。控制器120可以确定用户数据要被存储到的块280的位置,比如特定字线或特定物理页。基于由控制器120确定的位置和该特定每存储元件位存储机制,每存储元件位选择引擎122可以选择要被存储在与该位置相关联的一个或多个存储元件的每个处的位的数量。例如,每存储元件位选择引擎122可以选择一个或多个存储元件以每存储元件存储2位。每存储元件位选择引擎122还可以确定一个或多个存储元件中的哪些逻辑页(如果有的话)要接收虚数据。例如,当一个或多个存储元件每个可以存储每存储元件总共3位时,每存储元件位选择引擎122可以确定该一个或多个存储元件的特定逻辑页要接收虚数据,诸如图1的虚数据124。每存储元件位选择引擎122可以向块/字线跟踪引擎228提供用于接收虚数据的逻辑页的指示。因此,控制器120可以向非易失性存储器104发送要虚数据、第一数据、和第二数据以存储在该一个或多个存储元件的每个的各个逻辑页处。
非易失性存储器104可以基于虚数据、第一数据、和第二数据来编程一个或多个存储元件。例如,非易失性存储器104可以使用位到状态映射电路110以基于虚数据、第一数据和第二数据来确定该一个或多个存储元件的每个的电压状态。非易失性存储器104可以将该一个或多个存储元件的每个设置到由位到状态映射电路110所确定的相应电压状态。
基于特定每存储元件位存储机制,虚数据可以被提供到非易失性存储器104的一个或多个位置以防止一个或多个存储元件被编程到多个电压状态中的特定电压状态。当该特定电压状态包括多个电压状态中的最高电压状态时,防止一个或多个存储元件被编程到最高电压状态可以减少在相邻存储元件之间的状态电容。可替换地或另外,可以跟踪与该块相关联的一个或多个参数。基于一个或多个参数,每存储元件位选择引擎122可以开始将被应用于块280的特定每存储元件位存储机制从第一存储机制到第二存储机制的改变。该特定每存储元件位存储机制的改变可以使得操作为单个位存储元件的特定存储元件改变到操作为多位存储元件。因此,被存储在特定存储元件处的位的数量可以改变,以防止特定存储元件被专门用作单个位存储元件。
图3描述了当通过提供虚数据到3位存储元件的单个逻辑页将该3位存储元件用作2位存储元件时可以被编程在存储元件处的电压状态的多个实施例。多个实施例的每个还描述被提供给3位存储元件的数据值(索引为0-7),以例示包括可以从控制器被提供到存储器的虚数据的数据值。诸如虚数据124(例如,第一虚数据125或第二虚数据127)的虚数据可以由控制器120生成,且可以被包括在被提供到图1的非易失性存储器104的数据128中。
在第一实施例300中,通过提供第一虚数据到3位存储元件的高逻辑页,3位存储元件被用作2位存储元件。在第一实施例300中,第一虚数据包括3位存储元件的高逻辑页中的零的位值。因此,当控制器提供要被存储在存储器的特定存储元件处的包括第一虚数据的第一数据时,该第一数据可以包括"011"、"010"、"000"、或"001"的数据值。基于被提供到存储器的第一数据,存储器可以使用位到状态的3位映射、诸如图1的位到状态的3位映射160来编程存储元件。当第一数据包括第一虚数据时,存储器可以将该存储元件编程到电压状态"C"、"D"、"E"、或"F"之一。例如,当第一数据具有"011"的第一数据值时,存储器可以将该存储元件编程到电压状态"E"。作为另一例子,当第一数据具有"010"的第二数据值时,存储器可以将该存储元件编程到电压状态"D"。作为另一例子,当第一数据具有"000"的第三数据值时,存储器可以将该存储元件编程到电压状态"C"。作为另一例子,当第一数据具有"001"的第四数据值时,存储器可以将该存储元件编程到电压状态"F"。
在第二实施例300中,通过提供在3位存储元件的中间逻辑页中具有一的位值的第二虚数据,3位存储元件被用作2位存储元件。因此,当控制器提供要被存储在存储器的存储元件处的包括第二虚数据的第二数据时,第二数据可以具有"111"、"110"、"010"、或"011"的数据值。基于被提供到存储器的第二数据,可以使用位到状态的3位映射、诸如图1的位到状态的3位映射160来编程存储元件到电压状态"Er"、"A"、"D"或"E"之一。
在第三实施例320中,通过提供在3位存储元件的低逻辑页中具有零的位值的第三虚数据,3位存储元件被用作2位存储元件。因此,当控制器提供要被存储在存储器的存储元件处的包括第三虚数据的第三数据时,第三数据可以具有"110"、"100"、"000"、或"010"的数据值。基于第三数据,可以使用位到状态的3位映射、诸如图1的位到状态的3位映射160将存储元件编程到电压状态"A"、"B"、"C"或"D"之一。
当控制器包括要与数据一起被存储在存储器的存储元件处的虚数据时,防止一个或多个特定电压状态被编程到存储元件。例如,当控制器包括要与数据一起被存储在存储器的存储元件处的虚数据时,防止最高电压状态、即电压状态"G"被编程到存储元件。虽然实施例300-320中没有实施例将存储元件编程到最高电压状态(即,电压状态"G"),但是当包括了以要与数据一起被存储在存储元件处的虚数据时,其他实施例可以包括将存储元件编程到最高电压状态。
当在擦除存储元件以处于最低电压状态、例如电压状态"Er"(擦除)之后、控制器包括要与数据一起被存储在存储器的存储元件处的虚数据时,所有存储元件可以基于包括虚数据的数据从(即,不维持在)"Er"电压状态而编程。但是,控制器仍可以提供对应于最低电压状态的数据值,诸如全一数据值,以维持存储元件处于擦除状态。例如,在第一实施例300和第三实施例320中,控制器可以发送数据值"111"(对应于电压状态"Er"(擦除))以维持在存储元件的每个页中的擦除数据(例如,写入"1"值)。
图4描述了当通过提供虚数据到3位存储元件的两个逻辑页而将3位存储元件用作1位存储元件时可以被编程在存储元件处的电压状态的实施例。每个实施例还描述了被提供给3位存储元件的数据值(索引为0-7),以例示可以从控制器被提供到存储器的包括在两个特定逻辑页中的虚数据的数据值。诸如虚数据124(例如,第一虚数据125或第二虚数据127)的虚数据可以由控制器120生成,且可以被包括在被提供到的图1的非易失性存储器104的数据128中。
在第一实施例400中,通过提供具有1的位值的第一虚数据到3位存储元件的中间逻辑页和低逻辑页,3位存储元件被用作2位存储元件。在第一实施例400中,第一虚数据在3位存储元件的中间逻辑页和低逻辑页中具有1的位值。因此,当控制器提供要被存储在存储器的存储元件处的包括第一虚数据的第一数据时,第一数据可以包括"111"、或"011"的数据值。基于被提供到存储器的第一数据,存储器可以使用位到状态的3位映射、诸如图1的位到状态的3位映射160来编程存储元件。当第一数据包括第一虚数据时,存储元件可以被编程到电压状态"Er"或"E"之一。例如,当第一数据具有"111"的第一数据值时,存储元件可以具有电压状态"Er"。作为另一例子,当第一数据具有"011"的第二数据值时,存储器可以将存储元件编程到电压状态"E"。
在第二实施例410中,通过提供在3位存储元件的高逻辑页和中间逻辑页中具有一的位值的第二虚数据,3位存储元件被用作2位存储元件。因此,当控制器提供要被存储在存储器的存储元件处的包括第二虚数据的第二数据时,第二数据可以具有"111"、或"110"的数据值。基于被提供到存储器的第二数据,使用位到状态的3位映射、诸如图1的位到状态的3位映射160,存储元件可以处于电压状态"Er"或电压状态"A"。
在第三实施例430中,通过提供在3位存储元件的高逻辑页和中间逻辑页中具有零的位值的第三虚数据,3位存储元件被用作2位存储元件。因此,当控制器提供要被存储在存储器的存储元件处的包括第三虚数据的第三数据时,第三数据可以包括"000"、或"001"的数据值。基于第三数据,可以使用图1的位到状态的3位映射160来编程存储元件到电压状态"C"或"F"之一。注意,当控制器提供包括在高逻辑页和中间逻辑页中具有零的位值的第三虚数据的第三数据时,防止存储元件保留在擦除电压状态(即,电压状态"Er"(擦除)被禁止)。控制器仍可以提供对应于最低电压状态的数据值,诸如全一数据值,以完成在存储元件的每个页中的擦除数据(例如,写入“1”值)。
当控制器包括要与数据一起存储在存储器的存储元件处的虚数据时,防止一个或多个特定电压状态被编程到存储元件。例如,基于如在实施例400-430中描述的虚数据,防止最高电压状态(例如,状态"G")被编程当存储元件。虽然实施例400-430中没有实施例将存储元件编程到最高电压状态,但是当控制器包括要与数据一起被存储在存储元件处的虚数据时,其他实施例可以包括将存储元件编程到最高电压状态。
图5描述每个基于对应的块存储机制而存储数据的块的示意实施例。每个块可以包括多个字线,比如第一字线WLn-1、第二字线WLn、第三字线WLn+1、第四字线WLn+2、第五字线WLn+3、和第六字线WLn+4。每个字线可以包括与高逻辑页、中间逻辑页、和低逻辑页相关联的至少一个3位存储元件。
每个块存储机制可以标识要被应用于诸如非易失性存储器104的块280的存储器的块的每存储元件位的样式。例如,每个块存储机制可以被包括在图2的每存储元件位存储机制226中。可以遍及一个或多个块应用特定块存储机制的样式。与该样式相关联的多个字线中的至少一个字线可以包括虚数据,诸如图1的虚数据124。
在第一实施例500中,第一块存储机制已经被应用于第一块502。当应用第一块存储机制时,块502的交替的字线可以在单个对应的逻辑页中存储虚数据。例如,第一块存储机制可以使得虚数据被存储在交替的字线的中间逻辑页处。如在第一实施例500中描述的,虚数据被存储在块502的第一字线WLn-1、第三字线WLn+1、和第五字线WLn+3的中间逻辑页处,而用户数据被存储在块502的第一字线WLn-1、第三字线WLn+1、和第五字线WLn+3中的高页和低页处。如在第一实施例500中描述的,用户数据被存储在块502的第二字线WLn、第四字线WLn+2、和第六字线WLn+4的每个逻辑页处。
在第二实施例510中,第二块存储机制已经被应用于第二块512。当应用第二块存储机制时,交替的字线可以在2个对应的逻辑页中存储虚数据。例如,第一块存储机制可以使得第一虚数据被存储在中间逻辑页处且使得第二虚数据被存储在交替的字线的低逻辑页处。如在第二实施例510中描述的,虚数据被存储在第二块512的第一字线WLn-1、第三字线WLn+1、和第五字线WLn+3的中间逻辑页和低逻辑页处,而用户数据被存储在第二块512的第一字线WLn-1、第三字线WLn+1、和第五字线WLn+3中的高页处。如在第二实施例510中描述的,用户数据被存储在第二块512的第二字线WLn、第四字线WLn+2、和第六字线WLn+4的每个逻辑页处。
在第三实施例520中,第三块存储机制已经被应用于第三块522。第三块存储机制可以标识包括三个字线的样式。该样式的第一字线可以包括在第一字线的高逻辑页和中间逻辑页中的虚数据,第二字线可以不包括任何虚数据,且第三字线可以包括在低逻辑页中的虚数据。如在第三实施例520中描述的,第一字线WLn-1、第二字线WLn、和第三字线WLn+1可以与该样式的第一实例相关联,且第四字线WLn+2、第五字线WLn+3、和第六字线WLn+4可以与该样式的第二实例相关联。
在第四实施例530中,第四块存储机制已经被应用于第四块532。当应用第四块存储机制时,第四块532的每个字线可以在单个对应的逻辑页中存储虚数据。例如,第四块存储机制可以使得虚数据被存储在每个字线的中间逻辑页处。如在第四实施例530中描述的,虚数据被存储在中间逻辑页处,而用户数据被存储在块532的第一字线WLn-1、第二字线WLn、第三字线WLn+1、第四字线WLn+2、第五字线WLn+3、和第六字线WLn+4的高页和低页处。
虽然已经描述了包括对应的样式的四个示意的块存储机制,但是可以使用其他块存储机制。例如,块存储机制不限于包括每存储元件可以存储总共3位的存储元件的块。块存储机制可以被使用和应用于包括每存储元件包括2位或更多位的存储元件的块。
图6描绘了位到状态的4位映射的实施例,且描绘了4位存储元件(索引为0-15)的两个实施例以图示包括可以从控制器被提供到存储器的虚数据的数据值。
在600处描绘了位到状态的4位映射的具体实施例。位到状态的4位映射600可以对应于由图1的非易失性存储器104使用的位到状态映射电路110或可以被包括在该位到状态映射电路110中。位到状态的4位映射600可以应用于4-位存储元件。例如,4-位存储元件可以对应于图1的存储元件C0-Cn之一。存储元件可以存储与诸如第一位、第二位、第三位、和第四位的一组位相关联的位值。第一位可以对应于数据值的最高有效位(MSB),且第四位可以对应于数据值的最低有效位(LSB)。如在图6中描述的,位到状态的4位映射600图示由诸如图1的非易失性存储器104的存储器实施的3-5-2-5编码。3-5-2-5编码指示与第一位相关联的第一行包括从0→1或1→0的3个转变(transition),与第二位相关联的第二行包括5个转变,与第三位相关联的第三行包括2个转变,且与第四位相关联的第四行包括5个转变。
4-位存储元件可以被编程到十六个预定电压状态之一。例如,位到状态的4位映射600包括一组16个可能的状态,例如,阈值电压范围,比如"Er"(擦除)、"A"、"B"、"C","D"、"E"、"F"、"G"、"H"、"I"、"J"、"K"、"L"、"M"、"N"和"O"。十六个预定电压状态的每个可以被映射到位到状态的4位映射600描述的、由该组逻辑页指示的特定位值。为了例示在该组可能的电压状态和特定位值之间的对应性,特定存储元件可以存储对应于电压状态"A"的第一值"1110"。为了进一步例示在该组可能的电压状态和特定位值之间的对应性,该特定存储元件可以存储对应于电压状态"K"的第二值"1101"。
第一实施例610和第二实施例620每个描述了4位存储元件(索引为0-15)来例示当通过提供虚数据给4位存储元件的单个逻辑页而将4位存储元件用作3位存储元件时、可以从控制器提供到存储器的数据值。诸如虚数据124的虚数据可以由控制器120生成,且可以被包括在被提供到图1的非易失性存储器104的数据128中。
在第一实施例610中,通过提供第一虚数据到4位存储元件的单个逻辑页,4位存储元件被用作3位存储元件。在第一实施例610中,4位存储元件包括在4位存储元件的第二逻辑页中包括一的位值的第一虚数据。因此,当控制器提供要被存储在存储器的存储元件处的包括该第一虚数据的第一数据时,第一数据可以包括"1111"、"1110"、"0110"、"0111"、"0101"、"0100"、"1100"、或"1101"的数据值。当第一数据包括第一虚数据时,存储器可以将存储元件编程到电压状态"Er"、"A"、"B"、"C"、"F"、"G"、"J"或"K"之一。
在第二实施例620中,通过提供在4位存储元件的第四逻辑页中包括一的位值的第二虚数据,4位存储元件被用作3位存储元件。因此,当控制器提供要被存储在存储器的存储元件处的包括第二虚数据的第二数据时,第二数据可以具有"1111"、"0111"、"0011"、"0001"、"0101"、"1001"、"1101"或"1011"的数据值。当第一数据包括第一虚数据时,存储器可以将存储元件编程到电压状态"Er"、"C"、"D"、"E"、"F"、"K"、"L"、或"M"之一。
注意,当控制器包括与要被存储在存储器的存储元件处的数据一起的虚数据时,防止一个或多个特定电压状态被编程到存储元件。例如,当控制器包括伴随要被存储在存储器的存储元件处的数据的虚数据时,防止最高电压状态(例如,对应于"0010"的数据值的电压状态"O")被编程到存储元件。虽然第一实施例610或第二实施例620都没有将存储元件编程到最高电压状态,但是当控制器将虚数据包括在要被存储在存储元件处的数据中时,其他实施例可以包括将存储元件编程到最高电压状态。
还注意,虽然第一实施例610和第二实施例620可以包括具有最低电压状态、即电压状态"Er"的特定存储元件,但用作3位存储元件、2位存储元件、或1位存储元件的4位存储元件的其他实施例可以在控制器包括虚数据作为要被编程的数据值的一部分时防止对应于最低电压状态的数据值被提供给存储器。在这种实施例中,控制器仍可以提供对应于最低电压状态的数据值,诸如"1111"的全一数据值,以维持在存储元件的所有页中的擦除数据。
如关于图3-4所述的,虚数据的位值可以被提供给存储元件的特定逻辑页,且可以基于位到状态映射的特定逻辑页的诸如最高电压状态的特定电压状态的值来确定。例如,当特定电压状态是最高电压状态时,特定逻辑页中的虚数据的位值可以是与最高电压状态中的逻辑页的位值不同的值,使得防止最高电压状态被编程到接收虚数据的存储元件中。为了例示,参考位到状态的4位映射600,对应于最高电压状态(即,"O"电压状态)的数据值的第二位的位值是零。因此,在第一实施例610中,第一虚数据具有被供应给第二逻辑页的位值1以防止最高电压状态(即,"O"电压状态)被编程。当选择多个逻辑页来接收虚数据时,多个逻辑页的至少一个逻辑页可以具有作为与该至少一个逻辑页的最高电压状态的位值不同的值的虚位值。当确定要结合任何大小的位到状态映射而使用的虚数据的值时可以应用该方法,或者可以应用该方法以防止任何特定电压状态的编程。
可替换地或另外,可以基于包括最高数量的转变的位到状态映射的特定逻辑页来确定接收虚数据的逻辑页。例如,参考位到状态的4位映射600,第一行包括从0→1或1→0的3个转变,第二行包括5个转变,第三行包括2个逻辑转变,且第四行包括5个转变。因此,在第一实施例610中,4位存储元件包括在第二逻辑页中的第一虚数据,且在第二实施例620中,4位存储元件包括在第四逻辑页中的第二虚数据。在一个具体实施例中,当选择多个逻辑页来接收虚数据时,可以基于位到状态的映射中的多个逻辑页的每个的转变的数量,来选择多个逻辑页的至少一个逻辑页以具有虚数据。例如,可以选择位到状态的特定映射、比如图1的位到状态的3位映射160或与任意数量的位相关联的位到状态的另一映射。可以分析位到状态的特定映射的每个逻辑页来确定转变的数量。可以选择具有最高数量的转变的特定逻辑页来接收虚数据。当确定要结合任何大小的位到状态映射而使用的虚数据的值时可以应用该方法。例如,控制器120可以选择位到状态的特定映射,分析位到状态的特定映射的每个逻辑页,并选择特定逻辑页来接收虚数据。控制器120可以使用每存储元件位选择引擎122、每存储元件位存储机制226、或其组合来实施该方法(例如,处理)。
图7描绘基于对应的块存储机制而存储数据的块702的示意实施例700。块702可以包括多个字线,比如第一字线WLn-1、第二字线WLn、第三字线WLn+1、第四字线WLn+2、第五字线WLn+3、和第六字线WLn+4。每个字线可以包括至少一个与高逻辑页和低逻辑页相关联的2位存储元件。
该块存储机制可以标识要被应用于存储器的块、诸如非易失性存储器104的块280的每存储元件的位的样式。例如,块存储机制可以被包括在图2的每存储元件位存储机制226中。可以遍及一个或多个块应用特定块存储机制的样式。与该样式相关联的多个字线中的至少一个字线可以包括虚数据,诸如图1的虚数据124。
在示意实施例700中,特定块存储机制已经被应用于块702。当应用特定块存储机制时,块702的每个字线可以在单个对应的逻辑页中存储虚数据。例如,该特定块存储机制可以使得虚数据要被存储在每个字线的低逻辑页处。如在示意实施例700中描述的,虚数据被存储在所示的字线的低逻辑页处,而用户数据被存储在字线中的高页处。
虽然已经描述了包括对应的样式的示意的块存储机制,但是可以使用其他块存储机制。例如,块存储机制不限于包括可以每存储元件存储总共2位的存储元件的块。块存储机制可以被使用和应用于包括每存储元件具有2位或更多位的存储元件的块。
参考图8,描述了选择要被存储在多位存储元件处的每存储元件位的数量的方法800的第一具体实施例。可以在包括控制器和非易失性存储器的数据存储设备中进行方法800。非易失性存储器可以包括可编程到一组电压状态的一组存储元件。比如在MLC闪速存储器设备的实施方式中,该组电压状态的每个电压状态可以对应于阈值电压值的范围。例如,可以在图1的数据存储设备102中进行方法800。
方法800包括在802接收要被存储在非易失性存储器处的第一数据和第二数据。第一数据和第二数据可以被包括在诸如图1的数据132的用户数据中。可以在数据存储设备的控制器、比如图1的控制器120处接收第一数据和第二数据。为了例示,第一数据和第二数据可以对应于要被分别存储在图1的高逻辑页166和低逻辑页170处的数据。
方法800包括在804发送第一数据、第二数据、和虚数据到非易失性存储器以被存储在非易失性存储器中的单个物理页的各个逻辑页处,其中单个物理页包括根据位到状态的映射可编程到多个电压状态的多个存储元件,且其中虚数据防止该单个物理页的存储元件被编程到多个电压状态中的特定电压状态。例如,该特定电压状态可以是多个电压状态中的最高电压状态。可以由控制器的每存储元件位选择引擎、比如图1的每存储元件位选择引擎122来生成虚数据。多个存储元件可以对应于图1的该组存储元件106。
在一些实施方式中,控制器可以接收要被存储在非易失性存储器处的第三数据、第四数据和第五数据。可以在第一数据和第二数据之后或与之同时接收第三数据、第四数据、和第五数据。例如,控制器120可以向非易失性存储器104发送要被存储在非易失性存储器104的与该单个物理页相邻的物理页处的第三数据、第四数据和第五数据。例如,当非易失性存储器104在图2的第二逻辑页286中存储第一数据且在第一字线WLn-1的第三逻辑页288中存储第二数据时,第三数据、第四数据、和第五数据可以分别被存储在作为第一字线WLn-1的相邻字线的第二字线WLn的第四逻辑页294、第五逻辑页296、和第六逻辑页298处。
在其他实施方式中,每存储元件位存储机制、比如图2的每存储元件位机制226之一可以包括块存储机制、字线存储机制、或其组合。例如,每存储元件位选择引擎122可以选择要被存储在单个物理页的多个存储元件处的每存储元件的位的数量。基于所选择的每存储元件的位的数量,每存储元件位选择引擎122可以生成要与第一数据和第二数据一起发送到单个物理页的虚数据。
参考图9,描绘了选择要被存储在多位存储元件处的每存储元件位数量的方法900的第二具体实施例。可以在包括控制器和非易失性存储器的数据存储设备中进行方法900。非易失性存储器可以包括可编程到一组电压状态的一组存储元件。比如在MLC闪速存储器设备的实施方式中,该组电压状态的每个电压状态可以对应于阈值电压值的范围。例如,可以在图1的数据存储设备102中进行方法900。
方法900包括在902接收要被存储在非易失性存储器处的第一数据。第一数据可以被包括在数据存储元件处接收的用户数据、比如在图1的数据存储元件102处接收的数据132中。可以在数据存储设备的控制器处接收第一数据和第二数据。控制器可以对应于图1的控制器120。
方法900包括在904向非易失性存储器发送第一数据、第一虚数据和第二虚数据以被存储在非易失性存储器中的单个物理页的各个逻辑页处。该单个物理页包括根据位到状态的映射而可编程到多个电压状态中的多个存储元件,且第一虚数据和第二虚数据防止该单个物理页的存储元件被编程到多个电压状态中的特定电压状态。例如,该特定电压状态可以是多个电压状态中的最高电压状态。可以由控制器的每存储元件位选择引擎、比如图1的每存储元件位选择引擎122来生成第一虚数据和第二虚数据。可以在非易失性存储器处应用位到状态的映射,比如在图1的非易失性存储器104处使用的位到状态的3位映射160。多个存储元件可以对应于图1的该组存储元件106。第一虚数据和第二虚数据可以对应于图1的虚数据124,比如在图4的第一实施例400中的中间逻辑页和低逻辑页中所示的全一虚数据、在图4的第二实施例410中的高逻辑页和中间逻辑页所示的全一虚数据、或图4的第三实施例430中的高逻辑页和中间逻辑页中的全零虚数据,作为例示性的、非限制性的例子。
在一些实施方式中,每存储元件位存储机制、比如图2的每存储元件位机制226之一可以包括块存储机制、字线存储机制、或其组合。例如,每存储元件位选择引擎122可以选择要被存储在单个物理页的多个存储元件处的每存储元件位数量。基于选择的每存储元件位数量,每存储元件位选择引擎122可以生成要与第一数据和第二数据一起被发送到单个物理页的虚数据。
在其他实施方式中,控制器可以接收要被存储在非易失性存储器处的第二数据、第三数据、和第四数据,比如控制器120接收包括要被存储在图1的非易失性存储器104处的第二数据、第三数据、和第四数据的数据132。可以在第一数据之后或与其同时接收第二数据、第三数据、和第四数据。控制器120可以向非易失性存储器104发送第二数据、第三数据和第四数据以被存储在非易失性存储器104处的与该单个物理页相邻的物理页处。例如,当第一数据被存储在与诸如第二实施例510的第二块512的第一字线WLn-1或图5的第三实施例520的第三块522的第一字线WLn-1的第一字线相关联的第一物理页处时,第二数据、第三数据、第四数据可以被存储在与相邻于第一物理页的第二字线相关联的第二物理页处,该第二字线诸如第二实施例510的第二块512的第二字线WLn或图5的第三实施例520的第三块522的第二字线WLn。
虽然在此描述的各种组件被例示为块组件并以通用术语来描述,但这种组件可以包括被配置为使得图1的控制器120能够选择要被存储在多位存储元件处的每存储元件位数量的一个或多个微处理器、状态机、或其他电路。可替换地或另外,组件可以包括被配置为使得图1的控制器120能够选择性地提供虚数据以防止多位存储元件被编程到多个电压状态中的特定电压状态(例如,最高电压状态)的一个或多个微处理、状态机、或其他电路。例如,控制器120可以表示物理组件,比如硬件控制器、状态机、逻辑电路、或其他结构,以使得图1的控制器120能够选择要被存储在多位存储元件处的每存储元件位数量。作为另一例子,控制器120可以表示物理组件,比如硬件控制器、状态机、逻辑电路、或其他结构,以使得图1的控制器120能够生成虚数据。作为另一例子,控制器120可以表示物理组件,比如硬件控制器、状态机、逻辑电路、或其他结构,以使得图1的控制器120能够发送虚数据到多位存储元件以防止多位存储元件被编程到多个电压状态中的最高电压状态。
可以使用被编程以进行图8的方法800、图9的方法900、或其组合的微处理器或微控制器来实现控制器120。在一个具体实施例中,微处理器或微控制器被编程以从一个或多个每存储元件位存储机制、比如每存储元件位存储机制226中选择特定每存储元件位存储机制,以应用于存储器。微处理器或微控制器还可以被编程以接收要存储在存储器处的用户数据,比如图1的数据132。微处理器或微控制器还可以被编程以确定用户数据要被存储到的存储器的位置,比如特定字线或特定物理页。微处理器或微控制器还可以被编程以选择要被存储在与该位置相关联的一个或多个存储元件的每个处的位的数量。微处理器或微控制器还可以被编程以确定该一个或多个存储元件中的哪些逻辑页(如果有的话)要接收虚数据以及确定至少一个逻辑页何时接收虚数据。微处理器或微控制器还可以被编程以发送虚数据和用户数据到存储器,以被存储在一个或多个存储元件的每个的各个逻辑页处。在一个具体实施例中,控制器包括处理器,其执行被存储在非易失性存储器104处的指令。可替换地,或另外,由处理器执行的可执行指令可以被存储在不是非易失性存储器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.根据权利要求1所述的方法,其中,所述虚数据是全一的位序列。
4.根据权利要求1所述的方法,还包括选择是向所述物理页分配两个逻辑页的用户数据还是三个逻辑页的用户数据。
5.根据权利要求1所述的方法,其中,所述数据的第一部分要被存储在物理页的第一逻辑页处,且所述数据的第二部分要被存储在物理页的至少第三逻辑页处,且其中,所述物理页包括高逻辑页、中间逻辑页和低逻辑页。
6.根据权利要求5所述的方法,其中,所述虚数据被存储在高逻辑页、中间逻辑页或低逻辑页处。
7.根据权利要求1所述的方法,其中,所述非易失性存储器包括具有多个字线的块,且其中,所述控制器被配置为向所述块内的多个字线中的交替的字线发送所述虚数据。
8.一种数据存储设备,包括:
非易失性存储器,包括一组顺序排序的字线,每个字线包括一个或多个物理页,所述一个或多个物理页的每个物理页包括根据位到状态的映射而能够编程到多个电压状态的多个存储元件;以及
控制器,耦合于所述非易失性存储器,其中,所述控制器被配置为:
向所述非易失性存储器发送数据、该数据要被存储在特定字线的物理页的第一逻辑页处,以及
向非易失性存储器发送虚数据,所述虚数据要被存储在所述物理页的第二逻辑页处,
其中,所述控制器被配置以将所述虚数据存储到所述组顺序排序的字线中的交替字线,且其中,所述虚数据防止所述物理页的存储元件被编程到所述多个电压状态中的最高电压状态。
9.根据权利要求8所述的数据存储设备,其中,特定存储元件的擦除状态对应于在所述特定存储元件处存储的全一的值,且其中所述虚数据是全一的位序列。
10.根据权利要求8所述的数据存储设备,其中,所述物理页包括三个或更多逻辑页。
11.根据权利要求8所述的数据存储设备,其中,所述物理页包括高逻辑页、中间逻辑页和低逻辑页。
12.根据权利要求11所述的数据存储设备,其中,所述虚数据被存储在中间逻辑页处。
13.根据权利要求8所述的数据存储设备,其中,所述非易失性存储器包括具有多个物理页的块。
14.根据权利要求13所述的数据存储设备,其中,所述控制器被配置为向所述块内的多个页中的交替的物理页发送所述虚数据。
15.根据权利要求8所述的数据存储设备,其中,所述控制器还被配置为:
接收要被存储在所述非易失性存储器处的另外的数据;以及
向所述非易失性存储器发送所述另外的数据以被存储在所述非易失性存储器处的、与所述物理页相邻的物理页处。
16.根据权利要求8所述的数据存储设备,其中,每个存储元件存储包括多个位的对应数据值。
17.根据权利要求8所述的数据存储设备,其中,所述非易失性存储器包括闪存。
18.一种数据存储设备,包括:
非易失性存储器,包括第一字线和第二字线,第一字线具有第一物理页,且第二字线具有第二物理页;以及
耦合于所述非易失性存储器的控制器,其中,所述控制器被配置为:
发送要被存储在包括第一物理页的低逻辑页的一个或多个第一逻辑页处的第一数据,且向非易失性存储器发送要被存储在所述第一物理页处的第一虚数据;以及
向所述非易失性存储器发送第二数据、和第二虚数据以被存储在所述第二物理页处,所述第二虚数据要被存储在包括所述第二物理页的低逻辑页的一个或多个第二逻辑页处。
19.根据权利要求18所述的数据存储设备,其中,所述一个或多个第一逻辑页包括一个逻辑页,且所述一个或多个第二逻辑页包括一个逻辑页。
20.根据权利要求18所述的数据存储设备,其中,所述第一字线相邻于所述第二字线,其中,所述第一虚数据要被存储在第一物理页的高逻辑页和中间逻辑页处,且其中,所述第二数据要被存储在所述第二物理页的高逻辑页和中间逻辑页处。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/028,885 US9406385B2 (en) | 2013-09-17 | 2013-09-17 | Apparatus and method of storing data at a multi-bit storage element |
US14/028,846 | 2013-09-17 | ||
US14/028,846 US9361220B2 (en) | 2013-09-17 | 2013-09-17 | Apparatus and method of using dummy data while storing data at a multi-bit storage element |
US14/028,885 | 2013-09-17 | ||
PCT/US2014/054098 WO2015041858A1 (en) | 2013-09-17 | 2014-09-04 | Apparatus and method of using dummy data while storing data at a multi-bit storage element |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105264610A CN105264610A (zh) | 2016-01-20 |
CN105264610B true CN105264610B (zh) | 2018-05-22 |
Family
ID=51570892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480032476.1A Active CN105264610B (zh) | 2013-09-17 | 2014-09-04 | 在多位存储元件处存储数据时使用虚数据的装置和方法 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN105264610B (zh) |
TW (1) | TW201523634A (zh) |
WO (1) | WO2015041858A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113571106B (zh) * | 2021-07-21 | 2023-04-25 | 四川虹美智能科技有限公司 | 带电可擦可编程只读存储器的数据读取方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008016112A (ja) * | 2006-07-05 | 2008-01-24 | Toshiba Corp | 半導体記憶装置 |
CN101356507A (zh) * | 2005-09-09 | 2009-01-28 | 晟碟以色列有限公司 | 领先的存储器存储系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7545673B2 (en) * | 2007-09-25 | 2009-06-09 | Sandisk Il Ltd. | Using MLC flash as SLC by writing dummy data |
US7941592B2 (en) * | 2008-08-14 | 2011-05-10 | Bonella Randy M | Method and apparatus for high reliability data storage and retrieval operations in multi-level flash cells |
US8266503B2 (en) * | 2009-03-13 | 2012-09-11 | Fusion-Io | Apparatus, system, and method for using multi-level cell storage in a single-level cell mode |
US8301828B2 (en) * | 2010-06-02 | 2012-10-30 | Conexant Systems, Inc. | Systems and methods for reliable multi-level cell flash storage |
KR101727707B1 (ko) * | 2010-07-26 | 2017-04-19 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법과, 상기 방법을 수행할 수 있는 장치들 |
-
2014
- 2014-09-04 WO PCT/US2014/054098 patent/WO2015041858A1/en active Application Filing
- 2014-09-04 CN CN201480032476.1A patent/CN105264610B/zh active Active
- 2014-09-15 TW TW103131806A patent/TW201523634A/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101356507A (zh) * | 2005-09-09 | 2009-01-28 | 晟碟以色列有限公司 | 领先的存储器存储系统和方法 |
JP2008016112A (ja) * | 2006-07-05 | 2008-01-24 | Toshiba Corp | 半導体記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105264610A (zh) | 2016-01-20 |
WO2015041858A1 (en) | 2015-03-26 |
TW201523634A (zh) | 2015-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9245631B2 (en) | Apparatus and method of storing data at a multi-bit storage element | |
US9645896B2 (en) | Data storage device and flash memory control method | |
US9361220B2 (en) | Apparatus and method of using dummy data while storing data at a multi-bit storage element | |
US8917559B2 (en) | Multiple write operations without intervening erase | |
CN105005450B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN109697024B (zh) | 存储器系统及其操作方法 | |
KR20150014437A (ko) | 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법 | |
WO2015054338A1 (en) | System and method of storing data in a data storage device with a selection of two writing orders in order to improve the reading speed of a differential look ahead reading mode. | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
US9852066B2 (en) | Systems and methods of address-aware garbage collection | |
CN104850514B (zh) | 存取闪存的方法及相关的控制器与记忆装置 | |
CN106683701B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN104715796A (zh) | 多位存储单元非易失性存储器的写入方法及系统 | |
CN109947662A (zh) | 存储器系统及其操作方法 | |
TW201346918A (zh) | 判定針對記憶體之字線之程式化步階大小之系統及方法 | |
CN106155582B (zh) | 非挥发性储存装置与控制器 | |
CN108461107A (zh) | 读阈值跟踪方法与装置 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN104731710B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN105264610B (zh) | 在多位存储元件处存储数据时使用虚数据的装置和方法 | |
WO2014159396A2 (en) | System and method of accessing memory of a data storage device | |
CN104142895B (zh) | 写入方法、存储器控制器与存储器储存装置 | |
US8713242B2 (en) | Control method and allocation structure for flash memory device | |
CN106297896B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN105099443B (zh) | 采样电路模块、存储器控制电路单元及数据采样方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: texas Applicant after: DELPHI INT OPERATIONS LUX SRL Address before: texas Applicant before: Sandisk Corp. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |