CN103985416B - 用于反转存储器单元格的阻抗漂移的方法和装置 - Google Patents
用于反转存储器单元格的阻抗漂移的方法和装置 Download PDFInfo
- Publication number
- CN103985416B CN103985416B CN201410045141.5A CN201410045141A CN103985416B CN 103985416 B CN103985416 B CN 103985416B CN 201410045141 A CN201410045141 A CN 201410045141A CN 103985416 B CN103985416 B CN 103985416B
- Authority
- CN
- China
- Prior art keywords
- cell
- data
- offset signal
- lattice
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims description 26
- 238000003860 storage Methods 0.000 claims abstract description 93
- 230000000694 effects Effects 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000013500 data storage Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 18
- 238000005259 measurement Methods 0.000 description 14
- 238000012937 correction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005299 abrasion Methods 0.000 description 3
- 230000032683 aging Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 238000002425 crystallisation Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008025 crystallization Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000032677 cell aging Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- -1 oxonium ion Chemical class 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0033—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/5614—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 conductive bridging RAM [CBRAM] or programming metallization cells [PMC]
-
- 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/5678—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 amorphous/crystalline phase transition storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0009—RRAM elements whose operation depends upon chemical change
- G11C13/0011—RRAM elements whose operation depends upon chemical change comprising conductive bridging RAM [CBRAM] or programming metallization cells [PMCs]
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请公开了向存储单元格施加偏置信号以反转存储器单元格的阻抗漂移。将数据写入到基于阻抗的非易失性存储器的单元格。自从将数据写入所述单元格则对活动量度进行跟踪。响应于所述活动量度满足阈值,向所述单元格施加偏置信号以反转所述单元格的阻抗漂移。
Description
发明概述
本公开涉及向存储单元格施加偏置信号以反转存储器单元格的阻抗漂移。在一个实施例中,装置和方法便于将数据写入到基于阻抗的非易失性存储器的单元格。自从将数据写入单元格则对活动量度(例如,经过时间)进行跟踪。响应于所述活动量度满足阈值,向单元格施加偏置信号以反转所述单元格的阻抗漂移。
鉴于下文的详细讨论和附图,可以理解这些和其它特征以及各种实施例的各方面。
附图简述
在附图中,相同的附图标记可用于指示多图中的相似/相同组件。
图1是根据示例实施例的数据存储设备的方框图;
图2是示出根据示例实施例从存储单元格解码数据的方框图;
图3是根据示例性实施例的存储器配置的方框图;
图4是根据示例实施例的存储控制器的方框图;
图5是根据示例实施例使用读和/或编程信号值以调整读或写干扰效应的存储控制器的方框图;
图6是示出了根据示例实施例将逻辑块交织到物理位置中的示例的方框图;
图7是包括具有不同类型或配置的存储器的区域的存储设备的方框图;
图8-9是示出根据示例实施例向存储单元格施加偏置信号以补偿所述存储单元格的阻抗漂移的方框图;
图10是利用已知模式以表征单元格退化的配置的方框图;以及
图11和12是根据示例实施例的方法的流程图。
发明详述
在各种示例实施例的以下描述中,参考了形成本文一部分的附图,并且其中通过图示示出各种示例实施例。但是应当理解的是,其他实施例可以被利用,因为在不背离所附权利要求的范围的情况下,可以做出结构和操作上的改变。
本发明总体上涉及持久性数据存储设备,诸如使用阻抗式存储器的那些设备。阻抗式存储器可以包括使用存储单元格阻抗的持续变化以存储数据的任何存储器。阻抗式存储器可包括(但不限于)阻抗式随机存取存储器(RRAM或ReRAM)和相变存储器(PCM)。虽然这些存储器类型的每一个都具有不同的特征和优点,使用不同存储器类型而有效地利用存储设备可涉及:响应于所述介质的老化和/或基于所述介质的工作量而有效管理介质中的物理变化。
本发明涉及随时间和/或根据操作条件而补偿基于阻抗的存储器的阻抗漂移。补偿可涉及如下的任意组合:使用自适应纠错码(ECC),修改编程和读取行为,采用特定的数据存储格式以及介质的主动管理。补偿的目的是增加存储器的耐久性,并且可以具有其他优点,诸如改进的性能。这些补偿技术也可以组合使用,并且每一个将在下面更详细地讨论。该技术可用于数据存储设备中,诸如图1所示的设备100。
在图1中,方框图示出了根据示例实施例的数据存储设备100。该设备100可以被配置为利用固态存储器的任意组合的固态驱动器(SSD)(或其子部件)。该设备100的特征可以适用于其它类型的硬盘驱动器设备,诸如使用固态存储器和磁盘的组合的混合驱动器。该设备100的特征也可以适用于不利用标准硬驱动数据接口的特殊用途的固态和/或磁盘数据存储设备(或其子部件)。
该设备100可以包括包含设备100的一些或全部非易失性存储器的一个或多个存储器单元102,103。存储器单元102,103可包括一个或多个相应的分立物理单元104,105,例如存储器芯片。在这个示例中,存储器单元102和103都是非分层单位,以及相应的物理单元104、105各包含其他不同类型的非易失性存储器的存储介质。在每个物理单元104、105中,存储器可以被分组成更小的块106,107。因为该物理单位104、105的底层介质是不同的,块106、107的存储器容量可有所不同。而设备100的一些特征也适用于非分层混合介质存储,后述的大多数概念可用于使用单个存储器单元和/或单一存储介质类型的设备中。
该设备100可以包括一个或多个系统控制器110,有利于向通过主机接口112从主机114接收的请求提供服务。控制器110可通常参照逻辑地址从主机114接收读写请求。除其他外,系统控制器110将逻辑地址转换为物理地址,并指示相应的读或写操作在存储器单元102、103的合适物理地址上被执行。
该设备100可以包括易失性随机存取存储器115(RAM),除其他外,该易失性随机存取存储器115可以包括用于非易失性存储器单元102、103 的易失性缓存器117。一般情况下,易失性缓存器117是镜像非易失性存储器102、103的部分的分层存储器结构,但可以比起非易失性存储器102、 103更快速地读出和/或写入。对于某些情况,例如,该数据认为在一段短期间内重复读/写活动,易失性缓存器117将提高性能。
系统控制器110耦合到存储控制器116,该存储控制器116用于确定和改变存储器单元102、103的介质的状态。存储控制器116可包括逻辑电路(例如,门阵列,多路转换器),该逻辑电路允许选择特定的存储单元格进行读或写。存储控制器116还可以包括提供用于读取和写入单元格的信号的模拟信号处理电路(例如,滤波器,放大器)以及数字到模拟转换器(DAC)和模拟到数字转换器(ADC),这些转换器用于在存储介质上存储的模拟信息以及在设备中其它地方所使用的数字信息之间进行转换。
编码器/解码器模块118和存储控制器116一起操作用于在存储器单元 102、103所用的数字编码格式和用户数据格式之间进行转换。编码器/解码器模块118可以是存储控制器116的一部分或独立单元。如果多个存储单元102和103被使用,设备100可以包括多个存储控制器116和编码器/解码器118,其以对于特定存储器类型定制的方式至少执行各自操作。该独立的控制器也可以利用适用于特定存储器架构的自身的逻辑到物理映射。在这种情况下,系统/主控制器110可将逻辑主机地址变换为由存储器单元 102、103可使用的内部逻辑地址。
主控制器110(以及存储控制器116和编码解码器118)可以响应于来自存储器、逻辑电路、固件或软件(这里表示为存储由设备100可操作指令的计算机可读介质120)的指令,以执行如下所述操作。例如,当读取或写入到存储器单元102、103时,自适应编程/读取模块122可以改变存储控制器116所使用的参数。如下文所述,自适应ECC模块124可以与编码器 /解码器118一起操作以修改ECC参数。
该计算机可读介质120还包括格式化模块126,该格式化模块126可以指示相关数据是如何存储于存储器单元102、103的各个方面。格式化模块126的某些方面可以包括在存储控制器116中,诸如在特定的存储器结构中交织数据。格式化模块126的其他方面(诸如用于存储特定数据的不同的存储器单元102、103之间的选择)可以在更高层次上被实现,例如,逻辑到物理映射。管理模块128也可以运行在高层,例如,跟踪主机活动,启动后台进程等。该设备100可以包括数据库130,该数据库130包括用于诸如使用量度、配置设置等数据的非易失性存储器的保留部分。
如前面提到的,存储器单元102、103可被配置为包含不同类型存储器存储介质的非分层单位。例如,存储器单元102、103每个都可以包括各自不同的介质,例如快闪存储器,阻抗式RAM(ReRAM),自旋力矩RAM (STRAM)或相变存储器(PCM)。为了便于本公开,存储器单元102、 103中的至少一个被配置为阻抗式存储器单元,例如ReRAM和PCM。
随着时间的推移,由于例如温度、材料击穿、周期数、保持时间、读取/写入干扰等多种因素,ReRAM和PCM的阻抗级可能会漂移。这些阻抗漂移可引起耐力下降。例如,存储很长一段时间的数据可表现出明显误比特率(BER)和/或变得不可读。当存储单元格用于存储多个位时,这些错误可变得更加明显。有许多方法用于补偿阻抗漂移,包括自适应ECC和编码,修改编程和读取行为,采用特定的数据存储格式,以及介质的主动管理。这些办法可以一起使用或单独使用。它们各自将在下面更详细地讨论。
自适应ECC和编码
大多数数据存储设备使用某种纠错以处理噪声和其他干扰,这些噪声和其他干扰可导致错误的存储或读取数据。例如,使用线性分组码(诸如 Hamming码)的ECC方案当数据写入时向数据添加奇偶校验位。当数据被读回时,奇偶校验位可以被用来检测和纠正错误。代码强度(通常由可以纠正的错误位的数量来衡量)通常随着所用的奇偶校验位的数量增加而增加。
在数据存储介质中,存储单元可以被紧密地包装在压膜上。因此影响一个单元格的活动可影响另一个单元格,例如,由于漏电流,电容耦合,热等。结果,单元格中误差类型的出现(例如,硬判决阈值阻抗值是否高于或低于预期),则可能受到写在相邻单元格的数据影响。该错误还可以通过其它单元格活动(诸如读取和写入)的影响。这样的示例示于图2中,图2是示出根据示例实施例可用在设备中的存储器单元格200的方框图。
一般地,行202、203表示物理上接近的存储器单元格的配置。例如,每行202,203可以表示字线,并且每个块(例如,块206)表示存储一个或多个比特的数据符号的存储单元格。在这个示例中,存储单元格存储2 位符号,以及单元格内的每个比特可以是相同字或不同字(例如,数据字之间的交织比特)的一部分。相对于图2所描述的概念可以适用于存储更多或更少的比特的存储器单元格。
在图2中,ECC解码器模块204用于解码在存储单元格中存储的数据,解码的结果被显示在块210中。为了说明的目的,解码器模块204被示出解码存储单元格206,虽然在许多实施方式中,解码器模块204可同时解码多个单元格(例如,整个字线203)。单元格207-209在物理上相邻于当前解码单元格206。单元格206-208是相同的数据字或字线的一部分,以及单元格206、209来自不同的相邻的数据字或字线。单元格207-209中的数据可或不可与在单元格206中的数据的相同数据字中。
为便于讨论,术语“数据字”通常指示最小数目的比特一起被访问(例如,写入,读取,解码,编码)。例如,如果存储器是字节寻址,则该存储器被配置一次读取最小的1字节(8位)的用户数据。这可能涉及到从单元格读出多于8位的存储数据,例如,用户数据附加ECC数据。某些类型的存储器(诸如闪速存储器,磁光盘)可具有更大的数据字,例如,等于或大于512个字节的扇区或页,用于SSD的通常4096字节。与此相反,“字线”,一般是指物理上相邻并且可由控制器逻辑耦合到共同激活线的单元格的集合。在同一字线中的单元格可以对应于相同的或不同的数据字。
因为在相邻单元格207-209中存储的值可影响从单元格206读取的值,理想的是使用邻位的状态作为现有信息进行纠错。诸如低密度奇偶校验(LDPC)的纠错码可以通过由辅助单元格提供的在先或辅助信息补充信道信息而显示改进的性能。在电信系统中,现有信息可以从相同数据的先前传输(例如,数据的不可恢复块的重传)中获得。在图示的实施例中,现有信息可以由相邻比特207-209的值获得。
通常,通过诸如读取或写入扰乱的处理,相邻比特干扰至少部分确定方式关注的比特。例如,如果通过施加给定极性的相对高电压而将单元格编程到所需电平,这可影响已被编程到使用较低电压和/或不同极性的电压电平的相邻单元格。具体地,单元格的抗性有可能在由相邻单元格编程电平(或在一些情况下的读取电平)诱导的方向上被转移。
在图示的示例中,从单元格206读出的值具有低置信度或不能确定。如果相邻单元格207-209的值是已知的,这些值可以被用作现有信息,用于在解码单元206的第一或后续尝试,其可以执行作为整个字线203的解码的部分。虽然只有字202已经被解码和缓冲(例如,保存在DRAM缓存中)单元格209的值可已知,该场景可出现在某些情况下(例如大量的连续数据读取)。
假设单元格206-208都是相同的编码字的一部分,单元格207和208 的值对于高置信水平可能不知道,直到确定诸如单元格206的未知值。然而,单元格207、208中的当前艰难决定可能仍然是有用的,诸如这些单元格207、208中的估计数据是否适合模式。例如,在这个示例中的所有相邻单元格207-209是值'00',并且这种情况可能是已知的以使读或写扰乱该影响在特定方向上的相邻单元格错误。在该方向上调整单元格206的读取可以确认单元格207、208的值以及对于更高置信水平确定单元格206的值。
图2中的配置2也可以使用压由ECC解码器204可使用的压缩查找表(LUT)212。LUT212提供用于馈送到ECC解码器204的软信息,以及同一LUT212可用于多个位置。软信息可用于给出正确比特的预测可能性。在制造时间通过使用测试/验证过程来计算干扰影响对LUT212预填充。 LUT212也可以更新运行时间以调整设备中的实际测量值。例如,先前成功解码的数据可用于表征扰动,例如,比较未校正的数据和校正后的数据。通常,对LUT212进行压缩,它至少具有小于ECC奇偶校验占用比的内存占用比。
也可用于在存储器中的特定位置(例如,边缘位置可不同于冲模上的中央位置)创建LUT212。也可以使用在相邻位置以前读取的数据填充该 LUT212。该操作可用于当进行顺序读取时预补偿。如果已知最后一页被校正(以及可能该校正是困难的),则该校正信息可在以后使用。校正信息可以作为读取随后页面的起点,因为更可能接下来几页中的错误是由于和最后一页的相同方式转移。
图2中的图表示使用其它单元格的状态/值以协助邻近单元格的纠错的示例。这样可以进一步扩展为示于图3,图3包括根据示例实施例的存储器配置300的方框图。存储器装置300包括多个物理组件(例如,层,芯片等),每个组件具有多个阵列。阵列的行(例如,行306)可表示各个可寻址区域,诸如数据字,页或其组合。ECC模块204可以计算由虚线区域指示的多个维度的错误代码,例如,在多个页面和/或多个部件。这可涉及大致归类特定于存储设备300的错误,并向单独可寻址区域306,特别是部件 302-305,或作为整体向设备300应用校正。
在一个配置中,存储设备300可以在制造期间特征化以开发单元格数据的编码和解码中所用的传递功能。这可以包括减少设备300的广告能力以便利用更多量的ECC。通过跟踪,重表征和/或基于运行时间因素预测降解而在运行时应用额外的标量。这些额外标量可导致不能在制造阶段确定的效果,诸如由与其它功能组件,环境等集成引起的额外降解。
除了上面描述的多维ECC,根据示例实施例的装置可以包括额外的功能以处理特定于阻抗式存储器类型的错误。例如,ECC编码器/解码器配置可以能使用可变码率ECC。配置(例如,通过图1所示的自适应ECC模块124)可以识别更可能导致错误的存储器区域和/或系统状态。这些指标可以用于对这些区域和/或情况选择更高水平的ECC(通过图1中的编码器/解码器模块118)以自适应地减少不可恢复的错误。
当存储单元格降解时ECC编码器/解码器可经配置以改变所述码率。不同水平的ECC可以应用在特定区域,或同一变量的ECC可以应用于相同类型的完整的存储器单元。所述存储设备可以经配置(例如,通过图1中的管理模块128)以执行后台扫描,并检测误码率接近设置校正能力。作为响应,可以计算和使用附加纠错码,也可以在本地或全局使用用于新写入的数据。
在另一个示例中,可基于数据类型或数据的当前活动应用动态的ECC 码。在这种情况下,大的ECC码字可以用于连续数据和/或冷数据,以及小的ECC码字可以用于随机/热数据。因为热数据(以及在某些情况下的随机数据)可以经常或不可预知地重写,这可能是不容易受到因长期数据保存错误的影响,并因此可以使用更小的ECC。此外,更小的ECC可导致改进的吞吐量,或随机或热数据的延迟性能。
在另一个示例中,数据存储设备可以使用更小界限用于加密/编码/加扰,并且使ECC进行调整用于较小的数据分区。例如多个种子是可用的,并且选择最大限度地减少需要被改变的比特数的种子。数据可以以更小粒度进行加密,以使仅仅实际改变的数据的必要部分需要更新。
在另一个示例中,ECC数据可以独立于它保护的用户数据进行存储。在这种情况下,ECC可被存储在存储器单元102、103之一中,以及用户数据存储在单元102、103的另一个中。例如,如果和数据更新比较有更多 ECC更新,ECC可以被存储在高持久性的存储器类型中。
在另一配置中,存储器单元102,103包括至少一些多级单元格。在这种情况下,读取在单元格中存储的值涉及在一个以上阻抗阈值电平之间进行区别。如果单元个存储两位,例如,存储控制器和/或解码器必须确定所存储的阻抗是否在四个区域之一。
四个区域可以用划分四个区域的三个阈值电平来定义。在一个示例中,编码方案可以用于保证最小数目的比特被存储在每个阈值电平,并使用信息以补偿阈值。在这种情况下,编码比特MLC的知识可以帮助提供数据完整性的另一种检验。如果检索在编码期间均匀加扰的一组单级比特,他们将有偶校验被读回。这可以提供数据是否正确的检查。
在MLC存储器(例如,存储两个或更多个比特的单元格)中,该“偶数”编码可以包括均匀分布的符号(例如,2位MLC的“00”,“01”,“10”和“11”)。当读回数据块时,影响一个特定符号的显著倾斜可以提供正看见什么类型的错误的线索。使用两个比特的示例,假设如下读回1024位的页:符号“00”的256个实例;符号“01”的250个实例;符号“10”的240个实例;和符号“11”的278个实例。在这种情况下,“11”状态太多比特以及“10”状态的太少比特存在着显著偏差,并且这可以用于集中在何种补偿对于该特定错误类型可能最有效。
同样,一些存储介质(例如,PCM)可出现固定模式的影响。例如,如果长系列的1或0被存储,这可导致局部加热,可预测干扰模式等。编码方案可以利用该加扰数据,例如,增加数据的随机性以便降低固定模式的概率。虽然编码方案不需要对数据进行压缩以便获得所需加扰,但这种模式减少有时是压缩方案的自然结果。
自适应编程和读取
现在参考图4,简化方框图说明了根据示例实施例的存储控制器400 的各方面。一般来说,存储控制器400包括用于向阵列402的存储器单元格404选择和施加信号的电路。选择模块406选择单个单元格404用于编程或读取操作。在这个示例中,通过行线407和列线408的方式激活单元格。数据模块410在编程或读取操作期间向数据线施加信号(例如,方波412)。数据线可以是行线407或列线408中的一个,或者可经配置为独立的线(未示出)。信号412可以改变单元格404(编程)的状态和/或可用于检测单元格404的当前状态(读取)。
存储控制器400耦合到解码器414和编码器415,所述解码器414和编码器415分别接收和发送信号到存储控制器400。存储控制器400可包括 DAC418,该DAC418将来自编码器415的数字数据转变为被施加以编程单元格404的模拟信号。存储控制器400还可以包括ADC420,以将从单元格读出的信号转变为解码器414使用的数字格式。从存储控制器400提供给解码器414的数据可包括硬盘数据,其中包括从读取存储单元格404 估计的'0'和'1'值。从存储控制器400提供给解码器414的数据也可以或者另外包括软数据,这是估计存储在存储单元个404中的数据符号的范围。软数据可以用于确定硬决策,并且还包括决策置信测量,该测量辅助解码器 414。
由于使用和时间的推移,单元格可倾向于显示由单元格中阻抗值漂移引起的误差。存储控制器400可改变编程和读取操作以补偿这些变化。举例来说,如果存储器单元404是PCM单元格,随着单元格404老化存储控制器400可改变PCM编程算法通过存储控制器工作的方式。
通常,一旦施加特定的电压,PCM单元从非晶态变更为晶态,而阻抗在那些状态之间可测量地不同。随着单元格老化404(由工作周期或时间流逝测量),状态之间的转换可能不会可靠发生。在这样的情况下,并不是施加矩形或梯形脉冲,数据模块410可以施加替代形状的脉冲。例如,波形的前沿或尾迹可以具有更平缓的斜率和具有较少尖锐过渡。该操作可选地涉及改变单元格404的编程时间。
在某些情况下,除非必要,存储控制器400可以够避免重新编程特定的单元格。例如,存储控制器400可以寻址单个单元格404,并能够确定什么被存储在单元格中。在这种情况下,请求编程一组单元格404(例如,主机可寻址的最小扇区或页大小)可只需要编程单元格的子集。编程量的减少涉及可有助于避免相邻单元格的干扰。
在另一个示例中,读取单元格404的当前误差可用作同时读取附加单元格时的输入。例如,在先前读取检测的序列编程错误可用于帮助预测多少后续阈值需要被移位。这可涉及到移位读取阈值以纠正在所存储数据中的读取误差,和/或转移写入阈值以补偿当稍后读回该数据时所检测读取误差。由ADC420产生的数据可用于改进未纠正的比特错误率(UBER)。例如,在错误恢复中,内置于存储控制装置400中的ADC420用于得到软信息。
可以使用单一读取获得阻抗存储器的状态,所以n-比特ADC值本身可用于提供软信息,其中“n”值仅受到ADC的准确度和/或精确度的限制。这相对于闪速存储器,在闪速存储器中,多个读取单个单元格有时用来获得软数据,例如,闪速存储器的3次读取可用于获得两个比特的软信息。虽然从闪速存储器读取数据时也可以使用ADC值,但由于较大的页大小(例如,1-8千字节),这可以包括读取页面时传输和处理过量的数据。相反,如果阻抗式存储器单元使用较小寻址单元,则提供所述ADC值可能并不令人望而却步。
图4中所示的布置也可以用于调整存储控制器400所使用的读取电平。例如,系统控制器(例如,图1中的控制器110和/或自适应编程/读模块 122)可积极跟踪工作量指标,诸如读/写周期,保持,读,写活动电平和温度。系统控制器还可以跟踪例如特定类型的存储器固有的其他量度,例如耐力,吞吐量,延时。作为这些量度的函数,系统控制器可经配置以通过存储控制器400主动改变阻抗读取电平。
在现在参考图5,框图说明了存储控制器如何可以适应读取或编程信号值以调整读或写扰乱影响。单元格501-503是当前正被编程的邻近单元格500,如信号504所示。信号505-507表示施加到单元格501-503的信号,以补偿影响单元格500的编程操作。这些信号505-503可通过在单元格 501-503中部分重新写入数据而施加以调整用于适合移位(用于编程干扰)。在另一种情况下,例如,所有的单元格500-503被同时地编程,信号505-507 也可以加入作为其他信号(未示出)的预补偿,用于当前编程数据写入到单元格501-503。在这种情况下,信号504可已包括补偿刚刚已经或很快将被编程到单元格501-503的值。
编程数据还可以包括:根据噪声容限或经检测以决定是否刷新的其它量度,在给定/规定的刷新时间内读修改写入。使用如本文所述的补偿预测,可以确定在存储器中的数据变得退化的时间。这些预测可用于在数据变得如此恶化以至于不能恢复之前重写数据。然而,这必须与单元格的耐久磨损进行平衡,如果单元格被频繁重新写入磨损将加剧。如果控制器预测单元格被降解,它可以首先读取单元格以确定该预测是否正确(例如,通过 ECC和/或ADC值)。如果该预测是正确的,则所述控制器可以重新写或移动数据。如果该预测是错误的,则错误可以反馈到数据库中以调整以后的预测。
在一个实施例中,传递功能的网格可用于确定每个单元格500-503以及编程操作中涉及的任何其他单元格或其近邻物的补偿。在另一个实施方案中,相邻单元格可以被重新读取以观察他们是否要进行调整。该操作可用于相邻字线,并可涉及查看实际阈值,ECC和/或软读取数据。虽然所示实施例示出了补偿一个紧接邻近的单元格。该操作可以应用到多个单元格,例如,根据与编程单元格的距离衰减补偿。这种补偿可以计算所有单元格中被写入的数据块,以便用于编程特定符号的特定信号电平可以取决于写入的相邻数据而具有各种不同的值。
格式化
如前所述,当读取和/或编程邻近单元格时,阻抗式存储器单元格之间的物理邻接可引起干扰影响。存储器存储设备可包括如上所述的功能以检测和补偿这样的效果。可以采取额外的措施以尽量减少干扰的影响。特别是,逻辑页面可以被安排在最小化固定干扰模式的物理存储器位置中。该数据可以通过自适应逻辑到物理的映射和数据块的自适应配置中的一个或两个配置以供存储在物理存储器单元格中。
现在参考图6,框图示出了根据示例实施例将逻辑块交织到物理位置的示例。块600代表存储介质(诸如RRAM或PCM阵列)的一部分。对于本示例的目的,可以假定水平和垂直方向上彼此相邻的单元格可互相干扰。例如单元格603和604均邻近单元格602。垂直和水平间距可以是相同的或不同的,以及干扰作用可与间距和/或单元格的其它物理性质成比例。
块606-608代表逻辑块,例如字,页,分区等。每个块606-608的数据存储在存储介质600的八个单元格中。每个单元格可以存储单个比特或多个比特码元。每个单元格中的字母表示在单元格中存储数据的逻辑块。例如,区域610和611中的单元格标注了字母“A”,表示他们存储逻辑块606 的数据。区域612-615中的字母“B”和“C”表示分别关联于逻辑块608和608。其他单元格中的字母“D”-“H”表示其他逻辑块的数据(未示出)。
该区域610-615交错,以使得和读取或写入逻辑块606-608相关联的干扰效应将分散在其他页面之间。这可能趋于缓和固定模式影响,使得块606 的写入仅影响沿行或列直接相邻的另一个块的一些符号。在这个示例中示出的交织确保:字与另一字共享不超过四个垂直相邻的单元,并与另一个字共享不超过一个水平相邻单元格。这个示例并不打算在所有情况下是最佳的,以及许多变化是可能的。例如,并不是如图所示分组为四个块,逻辑块606的单元格可以单独分散在存储介质600中。此外,如果单元格是多个比特单元格,每个单元格中的位可以被两个或更多不同的逻辑块之间共享。
在另一个示例中,多个逻辑块(例如,块606-608)可以被分组为以一组顺序修改的通用集合。例如,将数据存储在所示介质600中的8个逻辑块可以该顺序写入:活动分散在不同的物理区域中。这可以防止可能加重干扰影响的热量或其他影响(如电荷)的积聚。
上文中参照图6讨论的交织和分组可以以多种方式来实现。例如,逻辑到物理映射可指示如图6所示的一个或多个单元格组合的位置。该操作可以由图1所示的格式化模块126来执行。交织可通过存储控制器(例如,图1中的存储控制器116),或者由存储器本身的结构来执行。交织可以是固定的,诸如和区域610相关联的逻辑块总是关联于区域611。交织可以是可变的,使得任何两个或更多个区域可以用不同的块相关联。
如先前关于图1描述,存储设备可包括具有不同类型或配置的存储器的区域。这方面的一个示例示于图7,其中存储器单元700,702可以由控制器704(例如,使用图1中所示的格式化模块126)写入和读取。存储器单元700、702可以是不同或相同类型的存储器,但是具有不同的存储单元尺寸,例如,物理块或页大小。在这个示例中,存储器单元702具有最小页面大小N,以及存储器单元700具有2N的最小页大小。如果最小的逻辑块尺寸也对应于2N,则存储器单元700的一个页面可以存储逻辑块,以及存储单元702的两个页面用于存储一个逻辑块。
控制器704可根据如何使用数据而选择单位700和702之一用于存储数据。举例来说,如果预计将随机更新数据,那么在具有较小页大小的单元702中存储数据可能是更有效的。因此,如果数据的逻辑块被确定为是随机的,可以储存在块702的页706、707中。如果可以确定(例如,通过在易失性缓存中的现有条目)仅仅部分页面已经由主机命令改变,则可只需要重写块706,707。该选择可取决于其它因素,诸如单元700、702的相对延迟和吞吐量,单元702中的页是否平行写入,需要编程单元700、702 的页面的相对功耗,等。
控制器704还可以利用其他系统数据以指示数据被存储在一个或两个存储器单元700,702中的位置。例如,控制器可同时跟踪单元700、702 内的磨损,以及工作量量度,诸如数据是否过热或过冷。在这种情况下,存储器单元700、702的最磨损块可以被选择为获得最冷数据。
该控制器704还可以定期重新分配坏的单位(例如字线)并辞退坏的单元。这也可涉及重新特征化诸如可靠性的内在量度指标。例如,如果两个物理页不足以可靠地存储所通告的页大小,它们的通告容量可以减少一半,并可以把它们组合成大大增加ECC码的单个逻辑单元。
管理
设备的一些操作可独立于主机命令而发生。例如,闪存设备可以执行所谓的碎片收集,其中旧的数据块(例如,已删除或已修改的数据,后者涉及将数据块标记为陈旧和并在别处写入修改后的数据)被删除再用于写入新的数据。碎片收集可发生在后台,例如,当主机活动低时。对于阻抗式存储器,特定的操作可独立于主机请求而进行,诸如可发生在后台或低活动期间的定时操作。
根据示例性实施例可在阻抗式存储器设备执行的背景活动示于图8的框图中。基于计时器800,存储控制器或类似设备(例如,图1中中的存储控制器116和/或系统控制器110)向多个基于阻抗的存储器单元804施加偏置信号802。偏置信号802反转往往会转移单元格的阻抗值的基于活动的影响。存储控制器可以包括定制电路或指令以促进施加偏置信号802,该偏置信号802可以是不同于常施加到存储单元以读或写数据的读/写信号。
定时器800可以跟踪运行时间和/或日期/时间(例如,通过板载和/或主机时钟)。由定时器800提供的时间仅是可由设备跟踪以触发向单元格 804施加信号802的一个活动量度。自上次写入操作,该时间可以由其它因素(诸如环境温度或读活动)来增强或调节。在另一个示例中,可以使用诸如访问目标单元格或邻近单元格的的系统活动(而不是时间流逝)以触发向单元格804施加信号802。
偏置802信号通过向设备施加一定的偏差而动态调整阻抗漂移。如果存储单元格804是PCM存储器,因为该材料随时间从结晶迁移到无定形状态,电导率发生变化,。在这样的情况下,通过施加小的偏置将导致熔融温度和结晶温度之间的局部温度,单元格804可保持在结晶模式。
如果单元格804是RRAM,信号802可具有极性以抵消来自单元格的离子迁移。存储控制器可以通过改变信号802的偏置和脉冲时间而调整两种材料之间的氧离子扩散量。此外,无论存储器的类型,所施加的信号可以根据状态,总年龄,工作量历史或其他方面而对于每个单元格或单元格群有所不同。微分信号的示例示于图9的框图中。
基于计时器900,存储控制器或类似设备向多个基于阻抗的存储器单元906施加多个信号902-904。偏置信号902-904反转倾向于转移单元格的阻抗值的基于活动的效果,根据因素(诸如保留时间,数据写入单元,环境因素等)的组合选择各信号电平,持续时间,极性等。一些单元格可能没有施加的任何信号。当单元格的工作量改变时,施加到所述单元格906 的信号类型可以被重新评价。
定时器900可以跟踪运行时间及/或日期/时间(例如,通过板载和/或主机时钟)。由定时器900提供的时间仅是可由设备跟踪以触发向单元格 906施加信号902-904的活动量度。自上次写入操作,该时间可以由其它因素(诸如环境温度或读取活动)来增强或调节。在另一个示例中,可以使用系统活动(诸如读取目标单元格或邻近单元格)而不是时间流逝来触发向单元格906施加信号902-904。
上述的单元格的特征可涉及跟踪单元格的工作负荷,以及单元格本身(例如,错误率)的特定性能方面。然而,该操作可涉及执行数据读取,数据读取可以响应于主机请求来完成。如果在一段时间内数据没有被读出,则在没有来自主机的请求的情况下,则该设备必须启动示例区域的读取以特征化单元格的当前状态。然而,获得关于当前状态(例如,见于单元格的阻抗漂移量)的量度可以基于高置信度中读取数据,这可能不是预先已知的。
现在参照图10,框图示出了利用已知模式来表征单元格退化的配置。参考存储单元格存储已知模式,其可以包括固定模式,或者可以根据其它信息计算的模式,并且可包括用户数据。该参考存储单元1000可以在设备的整个存储器单元中战略性地分散。参考单元1000可以通过参考模块1002 周期性地读取。参考模块1002可以是存储控制器1003的一部分,并且可以在正常读/写活动之外执行功能。在该示例中,参考模块1002可以比较参考单元格1000中的已知/派生数据以及参考单元格1000中的测量阈值。所测量的阈值可具有比用于解码用户数据更高的分辨率,和/或可重复地采样以统计地表征读数。所测量的阈值可用于估计存储用户数据的其他单元格的阻抗漂移。
由参考模块1002所确定的阻抗漂移数据可被存储(例如,在存储器寄存器或经由图1中的数据库130),以调整存储用户数据的其它存储单元格 1006的读或写操作。控制器1003可包括或控制模块1004,该模块1004调节读取或写入到单元格1006中使用的信号(例如,电压,时序)。例如,信号调节模块1004可以包括DAC访问的存储器寄存器,该DAC创建编程信号/波形。当向单元格编程特定数据值时,该DAC访问寄存器时以获得波形参数。
当如图8和9所示周期性地向单元格施加偏置信号时,可使用阻抗漂移数据。例如,多个参考单元1000可在不同时间重写以估计具有不同保留时间和/或访问模式的单元格的衰老影响。基于目标用户数据单元格1006 的保留时间或访问历史,选择具有最接近相应保留时间或访问历史的参考单元1000。参考单元1000的阻抗漂移被用作目标单元格1006的估计,阻抗漂移用于选择施加到目标单元格1006的纠正偏置信号(例如,图8中的信号802)的值。
在现在参考图11,流程图示出了根据示例实施例的方法。该方法可用于向存储器单元格施加偏置信号,以补偿在图8和9所示的存储单元格的阻抗漂移。该方法包括将数据写入1100基于阻抗的非易失性存储器,并自从将数据写入单元格则跟踪1102活动量度(例如,经过时间,温度,读取请求)。如果判定1104所述活动性量度满足阈值时,偏置信号被施加1108 至单元格以反转单元格的阻抗漂移。可选地,如果该活动量度不满足阈值,则可以确定1106相邻活动量度是否影响所关注的单元格。若是,则可修改 1110在1104确定的阈值或在1108施加的偏置信号中的一个。
现在参照图12,流程图示出了根据示例实施例的方法。如图2-4所示,该方法可用于使用相邻单元格状态用于纠错。该方法包括接收1200定向到阻抗式存储器单元的目标单元格的读取请求。确定1202相邻于目标单元格的单元格的状态。相邻单元格可以和是和请求主体相同的逻辑块,或者不同的逻辑块。相邻单元格的状态用作1204纠正目标单元格中错误的现有信息。
上述各种实施例可使用交互以提供特定结果的电路和/或软件模块来实现。无论在模块化水平或作为整体,采用本领域公知的现有技术,计算领域的技术人员可以容易地实现这样描述的功能。例如,本文中所示的流程图可用于创建由处理器执行的计算机可读指令/代码。如在本领域已知的,这些指令可以存储在计算机可读介质上,并传送到处理器用于执行。上面所示的结构和程序仅是可用于促进如上所述在数据存储设备中管理缓存的实施例的代表性示例。
示例性实施例的前述描述已经出于说明和描述的目的进行呈现。它不旨在穷尽或限制本发明概念为所公开的精确形式。许多修改和变化根据上述教导是可能的。所公开的实施例的任何或所有特征都可以单独或以任何组合应用,并不意味着是限制性的,而是纯粹说明性的。它意在范围不受本详细说明的限制,而是由所附的权利要求确定。
Claims (18)
1.一种用于数据存储的方法,包括:
将数据写入到基于阻抗的非易失性存储器的单元格;
自从将数据写入所述单元格则对活动量度进行跟踪;
跟踪相邻单元格的第二活动量度;
响应于所述活动量度满足阈值,向所述单元格施加偏置信号以反转所述单元格的阻抗漂移;以及
响应于所述活动量度不满足阈值并且所述相邻单元格的第二活动量度,修改所述阈值和偏置信号量中的至少一个。
2.如权利要求1所述的方法,其中所述活动量度包括逝去时间、温度以及针对所述单元格的多次读取操作中的至少一个。
3.如权利要求1所述的方法,其中所述偏置信号的极性是在所述单元格上使用的编程信号极性的反转。
4.如权利要求1所述的方法,其中所述单元格包括相位变化存储器单元,以及其中所述偏置信号导致将所述单元格保持在结晶状态。
5.如权利要求1所述的方法,其中所述单元格包括阻抗随机存取存储器(RRAM)单元格,以及其中所述偏置信号导致反转离子迁移。
6.如权利要求1所述的方法,进一步包括跟踪所述单元格的年龄,以及其中响应于所述年龄而修改所述阈值和所述偏置信号量的至少一个。
7.如权利要求1所述的方法,其中对于基于阻抗的非易失性存储器的寿命重复执行跟踪逝去时间以及施加偏置信号。
8.根据权利要求1所述的方法,进一步包括:
从存储已知数据模式的基于阻抗的非易失性存储器的参考单元格确定阻抗漂移数据,以及
根据所述参考单元格的阻抗漂移数据而估计所述单元格的阻抗漂移。
9.一种用于数据存储的装置,包括:
控制器,经配置以从基于阻抗的非易失性存储器单元读取并向其写入,所述控制器经配置以执行:
将数据写入到基于阻抗的非易失性存储器单元的单元格;
自从将数据写入所述单元格则对活动量度进行跟踪;
跟踪相邻单元格的数据访问活动;
响应于所述活动量度满足阈值,向所述单元格施加偏置信号以反转所述单元格的阻抗漂移;以及
响应于所述活动量度不满足阈值并且所述相邻单元格的数据访问活动,修改所述阈值和偏置信号量中的至少一个。
10.如权利要求9所述的装置,其中所述活动量度包括逝去时间、温度以及针对所述单元格的多次读取操作中的至少一个。
11.如权利要求9所述的装置,其中所述偏置信号的极性是在所述单元格上使用的编程信号极性的反转。
12.如权利要求9所述的装置,其中所述单元格包括相位变化存储器单元格,以及其中所述偏置信号导致将所述单元格保持在结晶状态。
13.如权利要求9所述的装置,其中所述单元格包括阻抗随机存取存储器(RRAM)单元格,以及其中所述偏置信号导致反转离子迁移。
14.如权利要求9所述的装置,其中所述控制器进一步执行跟踪所述单元格的年龄,以及其中响应于所述年龄而修改所述阈值和所述偏置信号量的至少一个。
15.如权利要求9所述的装置,其中所述控制器进一步执行:
从存储已知数据模式的基于阻抗的非易失性存储器单元的参考单元格确定阻抗漂移数据,以及
根据所述参考单元格的阻抗漂移数据而估计所述单元格的阻抗漂移。
16.一种用于数据存储的装置,包括:
基于阻抗的非易失性存储器单元;
存储控制器,经配置以向存储器单元的单元格施加偏置信号,所述偏置信号不同于施加以向所述单元格读写的信号;
耦合到所述存储控制器的系统控制器,经配置以执行:
通过所述存储控制器向所述单元格写入数据;
自从将数据写入所述单元格则跟踪逝去时间;
跟踪相邻单元格的数据访问活动;
响应于所述逝去时间满足阈值,通过所述存储控制器向所述单元格施加偏置信号以反转所述单元格的阻抗漂移;以及
响应于所述逝去时间不满足阈值并且所述相邻单元格的数据访问活动,修改所述阈值和偏置信号量中的至少一个。
17.如权利要求16所述的装置,其中所述单元格包括相位变化存储单元格,以及其中所述偏置信号导致将所述单元格保持在结晶状态。
18.如权利要求16所述的装置,其中所述单元格包括阻抗随机存取存储器(RRAM)单元格,以及其中所述偏置信号导致反转离子迁移。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/761,301 US9058869B2 (en) | 2013-02-07 | 2013-02-07 | Applying a bias signal to memory cells to reverse a resistance shift of the memory cells |
US13/761,301 | 2013-02-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103985416A CN103985416A (zh) | 2014-08-13 |
CN103985416B true CN103985416B (zh) | 2018-11-27 |
Family
ID=51259092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410045141.5A Expired - Fee Related CN103985416B (zh) | 2013-02-07 | 2014-02-07 | 用于反转存储器单元格的阻抗漂移的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9058869B2 (zh) |
JP (1) | JP5918284B2 (zh) |
KR (1) | KR101677583B1 (zh) |
CN (1) | CN103985416B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9798623B2 (en) * | 2012-05-11 | 2017-10-24 | Seagate Technology Llc | Using cache to manage errors in primary storage |
US9785499B2 (en) * | 2014-02-12 | 2017-10-10 | Seagate Technology Llc | Hot-read data aggregation and code selection |
JP6481691B2 (ja) * | 2014-09-16 | 2019-03-13 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システムおよび不揮発メモリの制御方法 |
US9583183B2 (en) * | 2014-09-26 | 2017-02-28 | Sandisk Technologies Llc | Reading resistive random access memory based on leakage current |
KR102298607B1 (ko) | 2015-02-17 | 2021-09-06 | 삼성전자주식회사 | 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법 |
US9690656B2 (en) * | 2015-02-27 | 2017-06-27 | Microsoft Technology Licensing, Llc | Data encoding on single-level and variable multi-level cell storage |
US9786386B2 (en) * | 2015-02-27 | 2017-10-10 | Microsoft Technology Licensing, Llc | Dynamic approximate storage for custom applications |
US10008277B2 (en) * | 2016-09-12 | 2018-06-26 | Sandisk Technologies Llc | Block health monitoring using threshold voltage of dummy memory cells |
US10283212B2 (en) | 2016-11-29 | 2019-05-07 | International Business Machines Corporation | Built-in self-test for embedded spin-transfer torque magnetic random access memory |
DE102018132503B4 (de) | 2018-12-17 | 2020-09-17 | Infineon Technologies Ag | Detektion von Codewörtern |
KR102161833B1 (ko) * | 2018-12-31 | 2020-10-05 | 성균관대학교산학협력단 | 온도 정보를 활용한 멀티 레벨 셀 상변화 메모리 스크러빙 장치 |
JP2020149752A (ja) | 2019-03-15 | 2020-09-17 | キオクシア株式会社 | 記憶装置 |
CN111210858B (zh) * | 2019-12-24 | 2021-11-09 | 山东大学 | 一种缓解相变存储器写干扰的方法及系统 |
US20230114966A1 (en) * | 2020-01-28 | 2023-04-13 | Micron Technology, Inc. | Analog storage using memory device |
DE102021121750A1 (de) * | 2021-08-23 | 2023-02-23 | Rheinisch-Westfälische Technische Hochschule (RWTH) Aachen, Körperschaft des öffentlichen Rechts | Verfahren zum Betreiben einer elektrisch programmierbaren Speicherzelle mit einem Chalkogenid für Mehrfach-Pegel Datenspeicher |
JP2023137091A (ja) * | 2022-03-17 | 2023-09-29 | キオクシア株式会社 | メモリシステムおよびメモリ制御方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373632A (zh) * | 2007-08-24 | 2009-02-25 | 三星电子株式会社 | 阻抗可变存储器件及其操作方法 |
CN102326206A (zh) * | 2009-02-24 | 2012-01-18 | 国际商业机器公司 | 抵消阻抗漂移效应的存储器读取方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62256575A (ja) | 1986-04-30 | 1987-11-09 | Fuji Xerox Co Ltd | 感熱記録装置 |
US5657332A (en) | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
JP4129170B2 (ja) | 2002-12-05 | 2008-08-06 | シャープ株式会社 | 半導体記憶装置及びメモリセルの記憶データ補正方法 |
US6930909B2 (en) * | 2003-06-25 | 2005-08-16 | Micron Technology, Inc. | Memory device and methods of controlling resistance variation and resistance profile drift |
US8531863B2 (en) | 2005-05-20 | 2013-09-10 | Adesto Technologies Corporation | Method for operating an integrated circuit having a resistivity changing memory cell |
WO2007132457A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US7623401B2 (en) * | 2006-10-06 | 2009-11-24 | Qimonda North America Corp. | Semiconductor device including multi-bit memory cells and a temperature budget sensor |
JP5262402B2 (ja) | 2008-08-04 | 2013-08-14 | 富士通株式会社 | 記憶装置及びデータ保持方法 |
KR20100096616A (ko) | 2009-02-25 | 2010-09-02 | 삼성전자주식회사 | 저항성 메모리 장치 및 저항성 메모리 장치에서의 입출력 제어 방법 |
US8053255B2 (en) | 2009-03-03 | 2011-11-08 | Seagate Technology Llc | STRAM with compensation element and method of making the same |
US8467237B2 (en) | 2010-10-15 | 2013-06-18 | Micron Technology, Inc. | Read distribution management for phase change memory |
US8719647B2 (en) * | 2011-12-15 | 2014-05-06 | Micron Technology, Inc. | Read bias management to reduce read errors for phase change memory |
-
2013
- 2013-02-07 US US13/761,301 patent/US9058869B2/en not_active Expired - Fee Related
-
2014
- 2014-02-04 KR KR1020140012578A patent/KR101677583B1/ko active IP Right Grant
- 2014-02-06 JP JP2014021382A patent/JP5918284B2/ja not_active Expired - Fee Related
- 2014-02-07 CN CN201410045141.5A patent/CN103985416B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373632A (zh) * | 2007-08-24 | 2009-02-25 | 三星电子株式会社 | 阻抗可变存储器件及其操作方法 |
CN102326206A (zh) * | 2009-02-24 | 2012-01-18 | 国际商业机器公司 | 抵消阻抗漂移效应的存储器读取方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2014154205A (ja) | 2014-08-25 |
KR101677583B1 (ko) | 2016-11-18 |
US20140219001A1 (en) | 2014-08-07 |
KR20140100897A (ko) | 2014-08-18 |
JP5918284B2 (ja) | 2016-05-18 |
US9058869B2 (en) | 2015-06-16 |
CN103985416A (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103985416B (zh) | 用于反转存储器单元格的阻抗漂移的方法和装置 | |
KR102009003B1 (ko) | 다중 계층 메모리 구조에 에러 정정 코드(ecc) 데이터의 저장 | |
CN104517649B (zh) | 具有可变码率的存储设备 | |
US10430084B2 (en) | Multi-tiered memory with different metadata levels | |
US9910606B2 (en) | End of life extension of solid state memory | |
US10055294B2 (en) | Selective copyback for on die buffered non-volatile memory | |
US8799747B2 (en) | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory | |
JP6077673B2 (ja) | ランタイム可変raid保護スキームを有する方法、ソリッドステートドライブコントローラー、及びデータ格納装置 | |
JP6313994B2 (ja) | 可変抵抗メモリセルのためのecc管理のための装置および方法 | |
US9965345B2 (en) | Health management of non-volatile memory | |
US20170168713A1 (en) | Variable Bit Encoding Per NAND Flash Cell to Extend Life of Flash-Based Storage Devices and Preserve Over-Provisioning | |
US9099185B2 (en) | Using different programming modes to store data to a memory cell | |
EP1941368A1 (en) | Corrected data storage and handling methods | |
JP2009537935A (ja) | 多値データ記憶セルの保守動作 | |
US11727994B2 (en) | Performing threshold voltage offset bin selection by package for memory devices | |
US11693745B2 (en) | Error-handling flows in memory devices based on bins | |
US11901013B2 (en) | Optimization of reference voltages in a non-volatile memory (NVM) | |
US20230393991A1 (en) | Error avoidance for partially programmed blocks of a memory device | |
Tabrizi et al. | Predicting bad pages in NAND flash to improve read time: A dynamic programming approach |
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 |
Granted publication date: 20181127 |
|
CF01 | Termination of patent right due to non-payment of annual fee |