CN102693759A - 用于多级单元(mlc)存储单元的非顺序编码方案 - Google Patents

用于多级单元(mlc)存储单元的非顺序编码方案 Download PDF

Info

Publication number
CN102693759A
CN102693759A CN2012100963043A CN201210096304A CN102693759A CN 102693759 A CN102693759 A CN 102693759A CN 2012100963043 A CN2012100963043 A CN 2012100963043A CN 201210096304 A CN201210096304 A CN 201210096304A CN 102693759 A CN102693759 A CN 102693759A
Authority
CN
China
Prior art keywords
unit
encoding scheme
mlc
array
storage unit
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
CN2012100963043A
Other languages
English (en)
Other versions
CN102693759B (zh
Inventor
Y·陈
D·斯蒂阿迪
P·J·赖安
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.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of CN102693759A publication Critical patent/CN102693759A/zh
Application granted granted Critical
Publication of CN102693759B publication Critical patent/CN102693759B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/14Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using thin-film elements
    • G11C11/15Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using thin-film elements using multiple magnetic layers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/161Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell
    • 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/5607Digital 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 magnetic storage elements
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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
    • 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/564Miscellaneous aspects
    • G11C2211/5648Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

提供一种用于多级单元(MLC)存储单元的非顺序编码方案。具体而言,提供一种用于管理多级单元(MLC)存储单元阵列的装置和方法。根据多个实施例,非顺序编码方案被选择成相关于与多个物理状态的每一个相关联的写入尝试,向选定MLC存储单元多个可用物理状态的每一个分配不同的多位逻辑值。然后,相关于所选非连续编码方案向选定MLC存储单元写入数据。在一些实施例中,MLC存储单元包括自旋转矩转移随机存取存储器(STRAM)存储单元。在其它实施例中,MLC存储单元包括MLC闪存存储单元。

Description

用于多级单元(MLC)存储单元的非顺序编码方案
发明内容
本发明的多个实施例一般涉及管理多级单元(MLC)存储单元的阵列。
根据多个实施例,非顺序编码方案被选择成相关于与多个物理状态的每一个相关联的写尝试向选定MLC存储单元的多个可用物理状态的每一个分配不同多位逻辑值。然后,相关于所选非顺序编码方案,向选定MLC存储单元写入数据。
表征本发明的多个实施例的这些和其它特征和优点可考虑以下具体讨论和附图来理解。
附图说明
图1是根据本发明多个实施例进行操作的示例性数据储存设备的概括功能示图。
图2示出用于从图1的数据存储设备阵列读取数据或向其写入数据的电路的示例性功能框图。
图3示出根据一些实施例被表征为自旋转矩转移随机存取存储器(STRAM)存储单元的MLC存储单元。
图4是根据其它实施例被表征为STRAM存储单元的MLC存储单元。
图5示出根据另外实施例被表征为STRAM存储单元的MLC存储单元的部分。
图6绘出图5的存储单元的多个示例性物理状态和相应操作特征。
图7示出向图5-6的存储单元分配不同的编码方案。
图8列出可被选择用于图5-6的存储单元的可用、替换编码方案的布局。
图9图示了图8的替换编码方案中每一个的总能耗数据。
图10示出根据多个实施例进行操作的多个MLC闪存单元。
图11是由图10的单元构成的闪存阵列的示意图。
图12示出根据两个替换编码方案,可用于在MLC闪存单元中存储数据的不同阈值电压。
图13示出根据多个实施例用于为存储单元选择适当编码方案的例程。
具体实施方式
本公开一般涉及对多级单元(MLC)存储阵列的管理。固态存储器是为了在形状因数不断减小的情况下提供可靠的数据存储和更快的数据传递速率而正在开发的技术。
最近的进展包括使用采用MLC(多级单元)编程的多位固态存储单元。MLC单元允许每单元存储一位以上的数据。通常,每个单元中的n个存储位可由2n个不同单元状态来表示。例如,如果单个存储器单元被配置成具有2*2=4个不同状态S1、S2、S3和S4,则对应于逻辑状态00、01、10或11的n=2位数据能够存储在该单元中。在这种情形中,状态S1可以表示逻辑状态00,S2=01,S3=10,且S4=11。
这些不同单元状态可以以不同方式表示。被配置为MLC的NAND闪存单元可以在单元的浮动栅上提供四个不同的电荷级。可以向单元施加不同的控制栅阈值电压,以确定浮动栅上的存储电荷量以及单元的编程状态。
最近开发的单元技术,诸如自旋转矩转移随机存取存储器(STRAM)单元,可通过在每个单元内结合多个MTJ(磁隧穿结)被配置成MLC,其中每个MTJ存储单个位。每个MTJ包括自由层和参考层,MTJ依据自由层磁化方向被设置成与参考层磁化方向平行或逆平行而呈现不同的电阻。
虽然MLC编程可用于增加数据存储密度,但是与MLC存储单元相关联的一个限制是写尝试中将元件置于不同编程状态比较困难。应该明白,一些编程状态比其它状态更容易实现。例如,MTJ可能遭遇非对称写入特征,这是因为与诸如平行状态之类的其它状态相比,诸如逆平行状态之类的一些编程状态可能需要较大的电流密度和/或电流脉冲持续时间。单元内诸如MOSFET之类的开关设备的相对取向也可以导致较难和较易的编程方向。
通常与MLC存储单元关联的另一限制是MLC单元的工作寿命随编程电流/电压电平的增加而趋于缩短。例如,被配置成使用单级单元(SLC)编码存储单个位的一些类型的闪存单元在损坏(例如浮动栅/沟道阻挡层物理击穿)之前能够耐受100000次以上的擦写。将同样的闪存单元配置成MLC单元可能会将其工作寿命降低到损坏之前约5000次擦写。
本申请发明人注意到,取决于写到MLC存储单元组的数据模式,多种单元状态并非都以相同统计频率使用。因此,如下所述,本发明的多个实施例一般用于相关于建立多种状态转换所需的写尝试来向一组MLC存储单元分配特定编码方案。这可以向存储单元提供多种益处,诸如功耗降低、数据吞吐量增加以及工作寿命延长。
尽管以下对多个实施例的讨论主要涉及STRAM和闪存单元,但是应该明白,这只是出于说明目的。本文所公开的技术可以适用于任意数量的其它类型易失性和非易失性MLC存储单元。
图1提供数据存储设备100的简化框图,示出能够有益地实施本发明多个实施例的示例性环境。设备100包括顶层控制器102和存储模块104。控制器102可以是可编程的或者是基于硬件的,并且提供对与主机设备(未示出)的I/O操作的顶层控制。控制器102可以是独立组件或者可以直接结合到存储模块104中。存储模块可以是设备的主数据存储区域,或者可以构成控制器102的本地高速缓存存储器。
图2示出图1的存储空间104的一般表示。数据作为存储单元106的行和列的排布而被存储,并且可由多个行和列控制线访问。单元和访问线的实际配置取决于给定应用的要求。
控制逻辑108分别沿多线总线路径110、112和114接收和传递数据、寻址信息和控制/状态值。列和行解码电路116、118向单元106提供适当的切换和其它功能。写入电路120表示操作用于执行向单元106写入数据的写操作的电路元件,并且读取电路122相应地操作用于从单元获取读回数据。所传递数据和其它值的本地缓冲可以经由一个或多个本地寄存器124来提供。
示例性存储单元106在图3中被示为MLC自旋转矩传递随机存取存储器(STRAM)单元。单元106包括分别被标注为MTJ1和MTJ2的第一和第二磁隧穿结130、132。被表征为nMOSFET的切换设备134耦合到MTJ,如图所示。在示例性操作中,数据访问操作可以经由位线(BL)136、源线(SL)138和字线(WL)140来执行。在一些配置中,阵列中多个单元的源线可以连接到公共源平面。
MTJ 130、132的每一个包含参考层142、自由层144和隧穿结146。可以基于自由层144相对于参考层142磁化方向的编程磁取向,将相应MTJ 130、132单独编程为高或低电阻。这些编程电阻可以通过向位线136与源线138之间的单元106施加适当的双向电流来实现。
MTJ 130、132可被配置成具有不同的切换特征,例如将MTJ1从平行切换成逆平行所需的阈值电流密度可以低于将MTJ2从平行切换成逆平行所需的阈值电流密度。这可以通过多种方式来执行,包括通过向相应MTJ提供不同的面积延伸、层厚、材料成分等等。每个MTJ 130、132存储单个数据位,使得MLC单元106存储总共两个数据位。
图4示出MLC单元106的替换配置,其中相应MTJ 130、132以堆叠配置排列。如图3所示,图4的MLC单元也被配置成存储两个数据位,每个MTJ中存储一位。
图5提供MLC单元106的另一配置,其中采用具有由隧穿结156分隔的公共参考层150和相应自由层152、154的组合MTJ结构148。自由层152、154由FL1和FL2标注,并且分别由具有不同面积延伸的相对软和硬的磁材料制成。通过施加较低幅度的读电流并感测跨单元的总压降,可以在读操作期间感测图3-5的多个MLC结构的编程状态。
图6示出图5的示例性结构148的一系列电流-电阻(I-R)曲线。读电流幅度沿x轴160示出,且总单元电阻沿y轴162表示。图3-4的替换MLC结构可以呈现类似的特征。
第一I-R曲线164表示当图5的MTJ结构148被编程为第一状态(S1)(即FL1和FL2两者都具有与参考层150平行的磁化)时单元的电阻。曲线166表示MTJ结构148的第二状态(S2),其中FL1处于逆平行状态且FL2处于平行状态。曲线168表示FL1处于平行状态且FL2处于逆平行状态的第三状态(S3)。曲线170示出FL1和FL2两者处于逆平行状态的第四状态(S4)。
可见,多个状态S1、S2、S3和S4的相应电阻从最低到最高,即R1<R2<R3<R4。给定读电流幅度的示例性电阻值可以是约R1=0.5kΩ、R2=1.0kΩ、R3=1.5kΩ以及R4=2.5kΩ的量级。当然,实际感测电阻会依据给定单元的特定配置和操作特征而改变,所以这些值仅仅是说明性的。
可能需要切换电流的幅度变化以将MLC结构148从一个状态转换成另一状态。这是由于多个因素,诸如改变较高矫顽力和较硬磁畴的位磁化所需的较大编程能量。表1列出在MTJ结构148的编程逻辑状态组合之间转换所需的示例性切换电流。这些值是通过对特定单元的经验分析而获得的;应该明白,不同类型的单元可以提供不同的结果。
Figure BSA00000695546100051
表1
表1中使用正电流值表示从自由层向参考层的电流方向,负电流值表示反方向电流。FL1的软畴的磁化方向自身可以切换而不影响FL2的硬畴的现有磁化方向,并且可能需要较低的功率。切换FL2的硬畴可能需要高得多的功率,并且可以包括将软畴FL1重置回其期望方向的第二操作。
表1示出单元具有用于不同转换的非对称功耗要求。例如,从状态S4转换成状态S1可能需要大得多的写电流幅度(例如328μA量级),但是从状态S3转换成状态S4可能需要小得多的写电流幅度(例如45μA量级)。
表2示出由微处理器(诸如图1的控制器102)对作为基于STRAM的控制器高速缓存(诸如图1的模块104)的MLC存储单元组执行的不同转换的相对频率的经验研究结果。多个值00、01、10、和11是写入高速缓存中多个独立单元的多位(两位)逻辑值。表2中的数字以百分比示出相对频率,其中从一个状态向另一状态的各种转换在微处理器操作期间用较新数据盖写较旧数据时发生。
Figure BSA00000695546100061
表2
从表2可见,多数转换发生在相同值之间,使得对于这些特定写入,MTJ电阻状态无需改变。这在78.80%(64.08+5.44+4.22+5.06)的时间内会发生。最常见的写入值是逻辑00,这发生在几乎三分之二的时间里。
在剩余的21.2%时间内,随着用不同的新数据盖写旧数据,多个存储单元从第一状态向第二状态变化。由于一些转换是其它转换发生率的若干倍,因此对于这些各种状态转换可以观察到显著的差异。例如,从逻辑00向逻辑11的转换频率(3.92%)是从11向01(0.56%)或从11向10(0.61%)转换频率的约7倍。
常规MLC存储阵列中通常将相应逻辑值顺序分配给单元的可用物理状态。例如,图5-6的MTJ结构148的典型编码方案可以涉及如下顺序分配逻辑值:向状态S1分配逻辑“00”、向状态S2向分配逻辑“01”、向状态S3分配逻辑“10”、以及向状态S4分配逻辑“11”。
相反,本发明的多个实施例对阵列中至少一个MLC存储单元选择替换、非顺序编码方案。该替换编码方案相关于与每个物理状态相关联的写尝试向MLC单元的不同物理状态的每一个分配不同的多位逻辑值。之后相关于所选编码方案向单元写入数据。
实现各种状态的写尝试能够以多种途径来确定。例如,写尝试可以基于阵列功耗特征(例如表1例示)和/或转换频率统计(诸如表2例示)。以这种方式使用替换编码方案可以提供许多操作益处,诸如功耗降低、响应性能改进、存储器工作寿命延长等等。
图7示出可以替换地应用于图4-5的MTJ结构148的两个不同编码方案。第一编码方案向物理状态使用逻辑状态的顺序分配,其中状态S1=00,S2=01,S3=10以及S4=11。使用该方案,具有处于平行方向的两个自由层以及最低电阻的MLC STRAM单元可被解释为逻辑00。具有处于逆平行方向的两个自由层以及最高电阻的MLC STRAM单元被视为存储值11,以此类推。
图7中的第二编码方案使用非顺序分配,S2=00,S3=01,S4=10以及S1=11。在该方案中,逻辑值相对于多个物理状态的电阻是失序的。例如,最低电阻状态可被解释为对应于逻辑状态11,最高电阻状态可被解释为对应于逻辑状态10,以此类推。
可以想到,第二方案会如同第一方案一样工作,并且可以在正常操作期间比第一方案显著节能。经验分析表明,一些编码方案可以提供比其它方案节能约40%或更多。
一般而言,对于N-态MLC单元,可以存在多达N!种不同的可用编码方案。4-态MTJ结构148提供4!=24种不同的可能编码方案。这些不同编码方案在图8中列出。每种方案相应的总能量使用值在图9中提供。
能量使用数据(如图9中示出)能够以多种途径经验地确定,诸如通过依次选择每个方案并且使用所选方案向阵列执行预定读、写操作序列同时测量总功耗或其它适当度量(例如最大电流等)。可以在读取和写入电路中实现查找表或其它算法以依次实现每种方案。从图8可见,编码方案2提供最低功耗,且编码方案10提供最高功耗。基于这些结果,方案2可以被选为用于实现的最优编码方案。
应该注意,不同类型的数据负载可以对给定存储器提供不同的结果,因此选择机制可以是自适应的;例如,最初可以在时间t0选择第一方案,并且可以随时间累积频率统计和/或能耗统计,导致决定在随后时间t1切换到第二方案。
如果大部分数据写入并未造成状态变化,则将特定一组存储单元从第一所选方案变成第二所选方案可能会付出显著的写入代价。确定进行向不同方案变化是否有益时可以考虑未来节省方面的投入回报,诸如功耗降低、寿命延长、数据吞吐量改进等等。
在一些实施例中,可以采用相同的非顺序编码方案来编码存储阵列中的全部MLC单元。在其它实施例中,特定存储阵列可以使用在阵列的不同区域使用不同的编码方案;例如,可能会发现,向图2中存储单元106的不同行(或列)应用不同编码方案是有益的。
总之,图3-5的示例性MLC STRAM单元被描述为具有对应于第一、第二、第三和第四电阻R1、R2、R3、R4的四个不同物理状态,其中R1<R2<R3<R4。用除了B1<B2<B3<B4和B4<B3<B2<B1之外的其它次序向四个相应多位逻辑值B1、B2、B3、B4分配这些电阻。即,在非顺序编码方案下,位值不会是顺序的,诸如(00,01,10,11)或(11,10,01,00),而是非顺序的,诸如(01,11,10,00)等等。
基于MTJ的存储器结构(诸如图3-5中的各种STRAM单元)的一个优势在于可以简单地通过采用适当的写电流极性和幅度对存储单元进行写操作来将这些单元从任何状态盖写至任何其它状态。诸如闪存存储器之类的其它存储器结构可以在一些方向上盖写,但是需要擦除操作来将存储单元组重置回初始状态。这并不限制本方法的适用性。相反,本文所述的多个实施例可以容易地适用于MLC闪存存储单元。
图10示出根据一些实施例的一组闪存存储单元200。闪存存储单元200被组织在NAND安排中,但是这并不构成限制。半导体衬底202具有多个隔开的n+掺杂区域204。栅极结构206横跨每对相邻区域204,其中每个栅极结构包括由居间绝缘层212、214分隔的浮动栅(FG)208和控制栅(CG)210。这样,闪存存储单元200大体上类似于nMOSFET晶体管,但具有附加栅极层。
在擦除操作后的初始操作期间,浮动栅208将没有累积的电荷。向控制栅210施加低电平栅极控制电压将会在衬底202中产生导电的漏极-源极导电沟道(CH)。这使得电流流过闪存存储单元208。该状态通常被分配逻辑值11。在写操作期间,向控制栅210施加更大的栅极控制电压,造成电荷从沟道向浮动栅208迁移。在施加该写电压之后该电荷保持在浮动栅208上。
通过在浮动栅208上使用多个受控的累积电荷量,可以将闪存存储单元200配置成MLC单元。例如,可以使用累积电荷的不同水平(例如基本无电荷、第一中间电荷量、第二较高中间电荷量以及最大电荷量),在每个闪存存储单元上存储两位数据。如上所述,这些状态可被标识为状态S1、S2、S3和S4。
有可能添加额外的电荷以增加状态级;处于状态S2的单元可以具有向其添加的额外电荷以将其转换到状态S3或S4。然而,需要擦除操作来将任何较高状态返回较低状态。在擦除期间,施加方向偏置电流以将累积电荷从浮动栅驱动回沟道,从而将该单元重置回第一状态S1(例如逻辑11)。
图11示出存储阵列(诸如图1的模块104)的部分,被配置成来自图10的MLC闪存单元200的阵列。单元200排列成行和列,每行单元连接到公共字线216(WL-1到WL-N)且每列单元连接到公共位线218(BL-1到BL-N)。列控制晶体管被标注为220和222,且全局控制线(SSL,GSL-0和GSL-1)被标注为224、226和228。数据可以被存储为由沿连接到公共字线216的选定行的全部闪存MLC单元200构成的存储页。
图12提供被编程为不同状态S1、S2、S3和S4的闪存MLC单元200的不同布局的图示。可以通过接通SSL和GSL-0线以使控制晶体管220、222呈现导通状态、向连接到选定单元200的选定位线218施加适当电压VDD、以及将GSL-1线设为接地(VSS),确定来自图11的任何选定MLC单元200的编程状态。然后可以使不同栅极控制电压V1、V2、V3和V4的序列通过连接到选定单元200的字线216,其中如图12所示,V1<V2<V3<V4。剩余位线可以接收最高电压V5。
可以意识到,这些控制电压可被选择成使得具有低于该电压的阈值电压的编程单元被置于导通状态;例如,电压V4足以接通单元布局中处于状态S1、S2和S3的闪存存储单元,而不接通处于状态S4的单元。因此,可以向选定单元的字线顺序施加栅极电压序列。
在一个示例中,可以首先施加V3电压以查看这是否使该单元导通。如果否,则编程状态是S3或S4,并且随后施加V4来确定是哪一个。类似地,如果V3使该单元呈现导通,则该单元处于状态S1或S2,并且随后施加V2来确定是哪一个状态。如果位线电压响应于所施加的栅极电压而从VDD降到VSS附近的电平,则闪存单元可被标识为处于导通状态。电压V5会使所有单元呈现导通,而不管其编程状态。
图12示出可用于存储单元200的两个替换编码方案。第一编码方案使用常规、顺序分配,S1=11、S2=10、S3=01以及S4=00。在该惯用方案下,没有累积电荷的经擦除闪存单元被标识为存储位值11,具有最大累积电荷量的闪存单元被标识为存储位值00,以此类推。
第二替换编码方案使用非顺序分配,S1=00、S2=01、S3=11以及S4=10。在后一情形中,经擦除的单元被视为存储值00,具有最大累积电荷量的闪存单元被视为存储值10,以此类推。
可以使用与以上表1和2中所列类似的数据来选择后一编码方案。例如,如果发现逻辑00是特定条件下写入的数据中统计上最常常见的逻辑状态,则状态S1的擦除状况可被选择为对应于该值。
总之,图11-12的MLC闪存单元200具有对应于第一、第二、第三和第四阈值电压V1、V2、V3、V4的四个不同物理状态,其中V1<V2<V3<V4。以除了B1<B2<B3<B4和B4<B3<B2<B1之外的次序向四个对应多位逻辑值B1、B2、B3、B4分配这些电压。换言之,位值不会是顺序的,诸如(00,01,10,11)或(11,10,01,00),而是非顺序的,诸如(01,11,10,00)等等。
图13提供根据多个实施例执行的示例性编码方案选择例程230的流程图。例程200可以在任意数量的不同类型MLC存储单元(诸如以上所述的STRAM或闪存MLC存储单元)上执行。
例程230可以在具有初始基本编码方案的存储阵列上操作,使得通过替代来实现新的替换编码方案,但这并非是必需的。无需执行图13所示的全部步骤,可以按照需要省略或修改多个步骤。可以使用存储在关联存储器中的编程步骤,在设备微控制器(诸如图1中的控制器102)的指导下执行例程230。
最初,例程可以包括在独立单元级别分配状态转换特征,由步骤232示出。这提供诸如表1所示的数据,并且可以在选择进程中有帮助。该独立单元级别特征可以涉及选择特定单元以及依次写入不同物理状态同时测量用于实现每个状态转换的写电流幅度。
在步骤234,可以选择第一编码方案,诸如图8所示的24个示例性编码方案之一。在步骤236,可以基于所选编码方案来配置适当的状态-逻辑值变换表。这些表标识向关联单元写入所选多位值所必需的适当写电流参数,从而将该单元置于对应于位值的物理状态。这些表可以应用于整个阵列或其部分。
接下来在步骤238,使用所选编码方案向阵列中一组存储单元施加选定读/写序列。该序列可以基于基线数据组来预先确定,或者可以对应于正常设备操作期间经历的实际R/W序列。在该操作期间,可以收集各种类型的数据,诸如频率统计和总能耗数据。频率统计可以对应于表2中的数据类型,并且可以通常反映写入存储单元的不同多位值的相对发生情况。对于所选编码方案,总能耗数据可以对应于图9所示的数据。除此之外或作为替代,可以获得与不同耗损级别及其对存储单元工作寿命的关联影响相关联的数据。
判定步骤240判断不同编码方案是否可用于评估;如果是,例程前进到步骤242,其中选择下一编码方案并且重复以上步骤。
一旦全部期望编码步骤被评估,该流程前进到步骤244,其中选择用于实现的最佳编码方案,随后在步骤246使用所选方案写入数据。该例程在步骤248结束,但是应该明白,该例程中的多个步骤可以随时间重复以按照需要实现新的替代编码方案。
编码方案选择进程可以考虑多个参数,诸如功耗、电路复杂度降低、速度、对工作寿命的影响等等。也可以使用这些不同参数的加权和。
在一些实施例中,采用经验方法,其中使用相同或类似的R/W序列单独评估可用编码方案的每一个。在该情形中,最佳编码方案可被选择为在测试期间产生最佳结果的方案,诸如图9所列出的最佳功耗要求。
在其它实施例中,对来自步骤232的状态转换数据以及来自步骤238的频率统计的评估可以足以对阵列实现最优编码方案的选择。例如,有可能将要求最少写尝试的那些状态转换与R/W序列中最常出现的那些逻辑组合相链接。应该明白,后一方法并不一定要求对每个可用编码方案依次进行实际测试。
在又一实施例中,状态转换数据和频率统计用于标识呈现提供性能改进的前景的所选编码方案子集,并且随后这些方案被单独测试和评估以选择最终方案。在一些情形中,可能期望将替换、非顺序编码方案的性能与常规应用的顺序方案进行比较以评定替换方案的功效。
该例程通常操作用于实现最终编码方案,该方案基于写尝试来实现各种单元物理状态,而不管单独写转换特征是否如表1所示地被量化、实际频率统计是否如表2所示地被收集和/或每个可用编码方案是否如图9所示地被单独评定。
应该明白,一旦使用所选编码方案向阵列写入数据,在后续读操作期间可由控制电路参考变换表来恢复(解码)先前写入阵列的数据。变换表可以存储在阵列的元数据区域,并且在设备初始化期间加载到本地易失性存储器(诸如图2的寄存器124)中。
现在应该明白,本文所示的多个实施例在存储阵列管理方面提供优势。采用被具体调谐至测试逻辑状态组合频率的编码方案来优化阵列或部分阵列的能力可以通过最少的附加电路或处理来提供增强的存储阵列性能。
此外,对阵列逐页地定制编码方案的能力可以提供改进阵列性能的经提升的调谐元件。然而,应当明白,本文所讨论的多个实施例具有许多潜在应用,并且不限于特定的电子介质领域或特定的数据存储设备类型。
应该理解,即使已在前面的描述中阐述了本发明多个实施例的许多特征和优势以及本发明多个实施例的结构和功能的细节,然而该详细描述仅为解说性的,并可在细节上做出改变,尤其可在术语的宽泛意义所指示的全面范围上对落入本发明原理内的部分的结构与安排做出改变,其中所附权利要求在该范围内表达。

Claims (20)

1.一种方法,包括:
相关于与选定多级单元(MLC)存储单元的多个可用物理状态的每一个相关联的写尝试,选择向所述多个物理状态的每一个分配不同多位逻辑值的非顺序编码方案;以及
相关于所述非顺序编码方案,向所述选定MLC存储单元写入数据。
2.如权利要求1所述的方法,其特征在于,所述MLC存储单元适于相关于所述单元的2n个物理状态来存储n个独立位,其中n大于1。
3.如权利要求1所述的方法,其特征在于,所述MLC存储单元适于以N个不同物理状态存储数据,其中N大于1,并且所述所选非顺序编码方案是从共N!个可用编码方案中选择的。
4.如权利要求1所述的方法,其特征在于,所述选择步骤包括通过向所述MLC存储单元施加写电流来将所述单元依次转换到多个可用物理状态的每一个,对于每次转换测量所述写电流的幅度,以及相关于所述所测量的写电流选择非顺序编码方案。
5.如权利要求1所述的方法,其特征在于,所选编码方案向具有相对较低电阻的第一物理状态分配第一多位逻辑值,向具有相对高电阻的第二物理状态分配第二多位逻辑值,以及向具有在所述第一和第二物理状态的电阻之间的电阻的第三物理状态分配第三多位逻辑值,其中所述第三多位逻辑值大于所述第一和第二多位逻辑值。
6.如权利要求1所述的方法,其特征在于,对于MLC存储单元,所选非顺序编码方案提供比顺序编码方案低的总能耗水平。
7.如权利要求1所述的方法,其特征在于,所述选择步骤包括向其中布置了MLC存储单元的存储阵列存储数据,累积对于在存储步骤期间向所述阵列写入的每个多位逻辑值的频率统计,以及使用所存储的频率统计来标识所选非顺序编码方案。
8.如权利要求1所述的方法,其特征在于,存储单元的物理状态包括第一、第二、第三和第四电阻R1、R2、R3、R4使得R1<R2<R3<R4,其中所述电阻以除了B1<B2<B3<B4和B4<B3<B2<B1之外的次序分别被分配给对应的多位逻辑值B1、B2、B3、B4。
9.如权利要求1所述的方法,其特征在于,存储单元的物理状态包括第一、第二、第三和第四阈值电压V1、V2、V3、V4使得V1<V2<V3<V4,其中所述电压以除了B1<B2<B3<B4和B4<B3<B2<B1之外的次序分别被分配给对应的多位逻辑值B1、B2、B3、B4。
10.如权利要求1所述的方法,其特征在于,所述选择步骤包括标识用于MLC存储单元的可用替换编码方案布局,其中所述布局中的每个方案对物理状态分配建立不同的多位逻辑值,依次使用每个方案向其中布置了MLC存储单元的阵列写入数据,以及从呈现最低总能耗的布局选择非顺序方案。
11.一种方法,包括:
提供多级单元(MLC)存储单元阵列,每个单元适于相关于所述单元的2n个物理状态存储n个独立位,其中n大于1;
向所述阵列分配非顺序编码方案,所述非顺序编码方案相关于实现所述物理状态所需的写尝试,将选定单元的每个物理状态与逻辑位值的不同n位组合相关联;以及
使用所分配的编码方案,向选定单元写入选定的逻辑位值的n位组合。
12.如权利要求11所述的方法,其特征在于,MLC存储单元被表征为各自具有多个磁隧穿结(MTJ)的STRAM存储单元。
13.如权利要求11所述的方法,其特征在于,所述MLC存储单元被表征为闪存存储单元。
14.如权利要求11所述的方法,其特征在于,所述分配步骤包括通过向选定单元施加写电流来将所述单元依次转换到多个可用物理状态的每一个,对于每次转换测量所述写电流的幅度,以及相关于所述所测量的写电流选择非顺序编码方案。
15.如权利要求11所述的方法,其特征在于,所分配的编码方案将第一多位逻辑值与具有相对较低电阻的第一物理状态相关联,将第二多位逻辑值与具有相对高电阻的第二物理状态相关联,以及将第三多位逻辑值与具有在所述第一和第二物理状态的电阻之间的电阻的第三物理状态相关联,其中所述第三多位逻辑值大于所述第一和第二多位逻辑值。
16.如权利要求11所述的方法,其特征在于,所述分配步骤包括根据写命令和被安排为多位逻辑值的关联写数据的预定序列向存储阵列存储数据,对在存储数据步骤期间向所述阵列写入的每个多位逻辑值累积频率统计,将所述频率统计存储在存储器中,以及使用所存储的频率统计来标识所分配的非顺序编码方案。
17.如权利要求11所述的方法,其特征在于,还包括生成将每个物理状态与关联的逻辑位值n位组合相关联的变换表,将所述变换表存储在存储器中,在写入步骤中使用所述变换表来将选定单元设置在与待写入的选定逻辑位值n位组合相对应的选定物理状态,以及在后续读取步骤使用所述变换表来恢复存储到阵列的数据。
18.一种装置,包括:
多级单元(MLC)存储单元阵列,每个单元适于相关于所述单元的2n个物理状态存储n个独立位,其中n大于1;
控制器,适于向所述阵列分配非顺序编码方案,所述非顺序编码方案相关于实现物理状态所需的写尝试将选定单元的每个物理状态与不同多位逻辑值相关联,并且随后指导对所述阵列的写操作以使用所分配的编码方案向选定单元写入选定的多位逻辑值。
19.如权利要求18所述的装置,其特征在于,还包括存储变换表的存储器,所述变换表将物理状态的每一个与其关联多位逻辑值相关联,其中所述控制器在对所述阵列的写入和读取操作期间使用所述变换表。
20.如权利要求18所述的装置,其特征在于,所述控制器适于标识用于MLC存储单元的可用替换编码方案布局,其中所述布局中的每个方案对物理状态分配建立不同的多位逻辑值,指导依次使用每个方案向所述阵列写入数据,以及从呈现最低总能耗的布局选择非顺序方案。
CN201210096304.3A 2011-03-23 2012-03-22 用于多级单元存储单元的非顺序编码方案的方法和装置 Expired - Fee Related CN102693759B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/070,021 US8942035B2 (en) 2011-03-23 2011-03-23 Non-sequential encoding scheme for multi-level cell (MLC) memory cells
US13/070,021 2011-03-23

Publications (2)

Publication Number Publication Date
CN102693759A true CN102693759A (zh) 2012-09-26
CN102693759B CN102693759B (zh) 2018-05-18

Family

ID=46859135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210096304.3A Expired - Fee Related CN102693759B (zh) 2011-03-23 2012-03-22 用于多级单元存储单元的非顺序编码方案的方法和装置

Country Status (4)

Country Link
US (1) US8942035B2 (zh)
JP (1) JP5412541B2 (zh)
KR (1) KR101366017B1 (zh)
CN (1) CN102693759B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105493292A (zh) * 2013-09-30 2016-04-13 英特尔公司 自旋电子逻辑元件
CN106486359A (zh) * 2015-08-28 2017-03-08 北大方正集团有限公司 一种射频三极管的制作方法及射频三极管
CN105917411B (zh) * 2014-01-28 2018-07-27 高通股份有限公司 用于高密度低功率gshe-stt mram的多电平单元设计

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874994B2 (en) * 2011-07-22 2014-10-28 Sandisk Technologies Inc. Systems and methods of storing data
JP2013175258A (ja) * 2012-02-27 2013-09-05 Sony Corp 多値メモリ、多値メモリ書き込み方法及び多値メモリ読み出し方法
CN104081357A (zh) * 2012-04-27 2014-10-01 惠普发展公司,有限责任合伙企业 使用多级单元设置本地检查点
US8724380B1 (en) 2013-11-13 2014-05-13 Avalanche Technology, Inc. Method for reading and writing multi-level cells
US9105343B2 (en) 2013-11-13 2015-08-11 Avalanche Technology, Inc. Multi-level cells and method for using the same
US9786386B2 (en) 2015-02-27 2017-10-10 Microsoft Technology Licensing, Llc Dynamic approximate storage for custom applications
US9690656B2 (en) 2015-02-27 2017-06-27 Microsoft Technology Licensing, Llc Data encoding on single-level and variable multi-level cell storage
CN113517015B (zh) * 2021-04-29 2024-05-14 中国科学院上海微系统与信息技术研究所 一种实现存储单元多级存储的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080068885A1 (en) * 2006-06-16 2008-03-20 Samsung Electronics Co., Ltd. Method and apparatus for programming multi level cell flash memory device
CN101154450A (zh) * 2006-09-29 2008-04-02 海力士半导体有限公司 对nand闪存器件进行编程的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450363A (en) 1994-06-02 1995-09-12 Intel Corporation Gray coding for a multilevel cell memory system
US6076176A (en) 1998-03-19 2000-06-13 Digital Equipment Corporation Encoding of failing bit addresses to facilitate multi-bit failure detect using a wired-OR scheme
JP2001093288A (ja) 1999-09-20 2001-04-06 Toshiba Corp 不揮発性半導体記憶装置
US7433253B2 (en) * 2002-12-20 2008-10-07 Qimonda Ag Integrated circuit, method of operating an integrated circuit, method of manufacturing an integrated circuit, memory module, stackable memory module
US7388781B2 (en) 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US8120949B2 (en) * 2006-04-27 2012-02-21 Avalanche Technology, Inc. Low-cost non-volatile flash-RAM memory
KR100764750B1 (ko) 2006-10-16 2007-10-08 삼성전자주식회사 유연한 어드레스 맵핑 스킴을 갖는 플래시 메모리 장치
US20080168215A1 (en) * 2007-01-05 2008-07-10 Anxiao Jiang Storing Information in a Memory
KR20090011207A (ko) * 2007-07-25 2009-02-02 주식회사 하이닉스반도체 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법
JP2009259316A (ja) 2008-04-14 2009-11-05 Toshiba Corp 半導体記憶装置
JP5458546B2 (ja) 2008-10-27 2014-04-02 富士通セミコンダクター株式会社 遅延クロック発生装置
KR101448365B1 (ko) * 2010-04-28 2014-10-07 가부시키가이샤 히타치세이사쿠쇼 반도체 기억 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080068885A1 (en) * 2006-06-16 2008-03-20 Samsung Electronics Co., Ltd. Method and apparatus for programming multi level cell flash memory device
CN101154450A (zh) * 2006-09-29 2008-04-02 海力士半导体有限公司 对nand闪存器件进行编程的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105493292A (zh) * 2013-09-30 2016-04-13 英特尔公司 自旋电子逻辑元件
CN105493292B (zh) * 2013-09-30 2019-09-06 英特尔公司 自旋电子逻辑元件
CN105917411B (zh) * 2014-01-28 2018-07-27 高通股份有限公司 用于高密度低功率gshe-stt mram的多电平单元设计
CN106486359A (zh) * 2015-08-28 2017-03-08 北大方正集团有限公司 一种射频三极管的制作方法及射频三极管
CN106486359B (zh) * 2015-08-28 2020-06-23 北大方正集团有限公司 一种射频三极管的制作方法及射频三极管

Also Published As

Publication number Publication date
JP2012203979A (ja) 2012-10-22
US20120243311A1 (en) 2012-09-27
CN102693759B (zh) 2018-05-18
JP5412541B2 (ja) 2014-02-12
US8942035B2 (en) 2015-01-27
KR20120109330A (ko) 2012-10-08
KR101366017B1 (ko) 2014-02-21

Similar Documents

Publication Publication Date Title
CN102693759A (zh) 用于多级单元(mlc)存储单元的非顺序编码方案
CN104332178B (zh) 固态非易失性存储单元的部分重新编程
US11056206B2 (en) Non-volatile memory with dynamic wear leveling group configuration
US10409716B2 (en) Non-volatile memory with adaptive wear leveling
CN1745432B (zh) 非易失性集成电路存储装置和以错误恢复来操作所述装置的方法
US9858009B2 (en) Data folding in 3D nonvolatile memory
US9721662B1 (en) Non-volatile memory with efficient programming
CN1575496B (zh) 闪存装置及其操作方法
US10388390B2 (en) Word line dependent pass voltages in non-volatile memory
US9099185B2 (en) Using different programming modes to store data to a memory cell
US8838881B2 (en) Transfer command with specified sense threshold vector component
CN105359218A (zh) 非易失性存储器编程数据保存
CN105895160A (zh) 具有减少的读取干扰的边界字线搜索和开放的块读取方法
CN103765392A (zh) 存储器装置的损耗均衡
US20160077903A1 (en) Selective Sampling of Data Stored in Nonvolatile Memory
CN101727981B (zh) 带内置存储器单元恢复的非易失性存储器设备及操作方法
KR20110043614A (ko) 플래시 메모리 디바이스 프로그래밍 방법 및 시스템
Richter Flash Memories
CN105308685A (zh) 在非易失性多级多个存储器管芯的编程中恢复附近数据
CN104620321B (zh) 用于非易失性存储器的互补解码
US10141064B1 (en) Prevention of neighboring plane disturb in non-volatile memory
JP6457792B2 (ja) 半導体記憶装置
CN104599705B (zh) 存储器件
Richter et al. Fundamentals of non-volatile memories
US9105361B2 (en) Fault tolerant control line configuration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180518

Termination date: 20190322