CN102117661B - 用于存储器的可定制纠错的方法和设备 - Google Patents
用于存储器的可定制纠错的方法和设备 Download PDFInfo
- Publication number
- CN102117661B CN102117661B CN201010546314.3A CN201010546314A CN102117661B CN 102117661 B CN102117661 B CN 102117661B CN 201010546314 A CN201010546314 A CN 201010546314A CN 102117661 B CN102117661 B CN 102117661B
- Authority
- CN
- China
- Prior art keywords
- distribution
- digital value
- error
- sensing cell
- memory array
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
Abstract
在此描述了一种用于给存储器阵列提供可定制纠错的方法和设备。在一个实施方式中,设备包括用于存储数据的存储器阵列,和耦合到存储器阵列的模数感测单元。该模数感测单元用于感测与存储器阵列相关联的模拟信号,并用于将该模拟信号转换成数字值的分布。纠错码(ECC)单元从模数感测单元接收数字值的分布。可配置非易失性查找表生成包括错误概率数据的ECC参数并将ECC参数提供给用于纠错的ECC单元。错误概率数据具有与数字值的分布相关联的错误概率值。ECC单元使用错误概率数据来执行ECC算法以提供纠错。
Description
技术领域
本发明的实施方式总体上涉及存储器中的纠错领域。更具体地,本发明的实施方式涉及具有模拟感测的可定制纠错。
背景技术
电子设备可能需要纠错以访问包含在这些设备内的存储器。纠错码(ECC)或前向纠错(FEC)码是被添加到发送方的消息中的冗余数据。如果错误的数目在正使用的代码的容量范围内,则接收方可以使用额外的信息来发现这些错误的位置并纠正这些错误。纠错码被用于计算机数据存储中。
由于技术的发展,将来的高密度存储器,特别是非易失性存储器,将会呈现出在10E-3范围内的高原始误码率。通常的ECC机不能很好地满足这些需求。另外,不同的ECC需求和不同的产品开发造成设计、开发、测试和制造成本问题以及投入市场的附加时间。
发明内容
根据本发明的一方面,提供了一种设备,该设备包括:
用于存储数据的存储器阵列;
耦合到所述存储器阵列的模数感测单元,该模数感测单元用于感测与所述存储器阵列相关联的模拟信号并用于将所述模拟信号转换成数字值的分布;以及
耦合到所述模数感测单元的纠错码单元,该纠错码单元用于从所述模数感测单元接收数字值的分布并获得具有与数字值的分布相关联的错误概率值的错误概率数据。
根据本发明的另一方面,提供了一种数据处理装置,该数据处理装置包括:
具有至少一个处理器核的处理单元;以及
耦合到所述处理单元的系统存储器,该系统存储器具有包括用于存储数据的存储器阵列的集成电路装置;
耦合到所述存储器阵列的模数感测单元,该模数感测单元用于感测与所述存储器阵列相关联的模拟信号,并将所述模拟信号转换成数字值的分布;以及
耦合到所述模数感测单元的纠错码单元,该纠错码单元用于从所述模数感测单元接收所述数字值的分布并获得具有与所述数字值的分布相关联的错误概率值的错误概率数据。
根据本发明的又一方面,提供了一种方法,该方法包括:
在存储器阵列中存储数据;
使用模数感测单元来感测与所述存储器阵列相关联的模拟信号;
使用所述模数感测单元将所述模拟信号转换成数字值的分布;
将所述数字值的分布从所述模数感测单元发送到纠错码单元;以及
生成与每个数字值相关联的错误概率数据。
附图说明
在附图中以示例的方式而非限制的方式示出了本发明的一个或多个实施方式,其中相似的参考标记指示相似的元件,其中:
图1示出了根据一个实施方式的数据处理装置;
图2示出了根据一个实施方式的提供具有可定制纠错的存储器访问的设备;
图3示出了根据另一个实施方式的提供具有可定制纠错的存储器访问的设备;
图4示出了根据一个实施方式的单元电流和电压阈值分布以及由模数感测单元生成的数字值的可能栅格(grid);
图5示出了根据一个实施方式的模数感测单元的示例性实施方式;
图6示出了根据另一个实施方式的由模数感测单元生成的数字值的分布;
图7示出了根据一个实施方式的用于存储器装置中的纠错的方法。
具体实施方式
在此描述了一种提供用于存储器阵列的可定制纠错的方法和设备。在一个实施方式中,设备包括存储器装置,该存储器装置具有存储器单元阵列以存储数据。存储器单元布置成n行和m列。该设备还包括用于选择和适当地偏置所述单元的解码模块,和耦合到存储器阵列的模数感测单元。模数感测单元感测与存储器阵列单元相关联的模拟信号(例如电流或阈值电压),并将所述模拟信号转换成数字值的分布。该设备还包括耦合到模数感测单元的纠错码(ECC)单元。该ECC单元从模数感测单元接收数字值的分布。可配置查找表生成包括错误概率数据的ECC参数,并将ECC参数提供给ECC单元以用于纠错。错误概率数据包括与数字值的分布相关联的错误概率值。ECC单元执行ECC算法以使用错误概率数据来提供纠错。
可配置查找表基于模拟信号的分布来更新错误概率数据。与存储器阵列相关联的感测到的模拟信号和相应的数字值可以在存储器阵列的产品寿命期间改变,例如由于制造过程中的分布范围或由于电压和/或温度操作条件的变化。可配置查找表在能够更新分配给每个数字值的“错误概率”方面提供了很大的灵活性。在产生与温度或电压操作相关的变化的情况下,能够使用来自电压或温度传感器的输入来改变错误概率以更新查找表的值。
图1示出了根据一个实施方式的具有存储器访问和纠错的数据处理装置。数据处理装置100包括处理单元110和耦合到处理单元110的系统存储器120,处理单元110具有第一处理器核116、第二处理器核118和主控制器119。主控制器119可以位于处理单元110的内部或位于处理单元110的外部。第一处理器核116和第二处理器核118分别包括嵌入式非易失性存储器130和132。系统存储器120包括电路装置122和各种类型的存储器(例如,DRAM124、RAM126和ROM128),该电路装置122可以是集成电路装置。电路装置122使用模数感测单元、查找表和ECC单元来提供具有可定制纠错的非易失性存储器访问(例如,NVM123)。这些部件将结合图2、图3和图5进行更详细的描述。本公开的可定制纠错也可以被实施以用于访问存储器130和存储器132,并且其可以位于NVM123的内部或者由主控制器119驱动。
数据处理装置100可以可选择地包括耦合到处理单元110的收发器112。收发器112利用天线114接收空中信号,并且可以包括发送器160和接收器162。如在该无线实施方式中所示,数据处理装置100包括一个或多个天线结构114,以允许无线电装置与其他空中数据处理装置进行通信。这样,数据处理装置100可以用作蜂窝式通信装置或在无线网络中工作的装置。配置在装置100的同一平台中的无线电子系统提供了利用RF/位置空间中的不同频带来与网络中的其他装置进行通信的能力。应该理解,本发明的范围不受可以由数据处理装置100所使用的通信协议的类型、数量或频率的限制。
该实施方式示出了天线结构114与收发器112的耦合,以适于调制/解调。总的来说,模拟前端收发器112可以是独立的射频(RF)离散或集成模拟电路,或收发器112可以嵌有具有一个或多个处理器核116和118的处理器。这多个处理器核允许处理工作量在这些处理器核之间共享,并处理基带功能和应用功能。可以使用接口来提供处理器和系统存储器120中的存储器存储之间的通信或信息。
系统存储器120可以由一种或多种不同类型的存储器提供,系统存储器120既可以包括可选的DRAM、RAM和/或ROM又可以包括具有非易失性存储器(NVM)123的电路装置122。NVM123可以包括相变材料。NVM123可以被称为相变存储器(PCM)、相变随机存取存储器(PRAM或PCRAM)、双向标准存储器(OUM)或硫族化物随机存取存储器(C-RAM)。NVM123可以包括闪存存储器(例如,NOR、NAND)、固态驱动器和卡/棒存储器。
图2示出了根据一个实施方式的提供具有可定制纠错的存储器访问的设备。设备200(例如,电路装置122)包括存储数据的一个或多个存储器单元阵列210(例如,NVM123)。行选择单元220和列选择与偏置单元230用于访问阵列210。读写电路与逻辑240控制行选择单元和列选择单元,以提供存储器访问。模数感测单元250耦合到存储器阵列210。模数感测单元250感测与存储器阵列的存储器单元相关联的模拟信号,并将该模拟信号转换成数字值的一个或多个分布,这将结合图4-6更详细地进行描述。模拟信号可以包括与存储器单元的逻辑状态(例如,0,1,00,01,10,11)相关联的电流或电压值的分布。用户数据和奇偶校验(parity)信息也可以从阵列210被发送到模数感测单元250。
在一个实施方式中,纠错码(ECC)单元260耦合到模数感测单元250。ECC单元260包括编解码机,该编解码机从模数感测单元250接收数字值的分布(例如,N0[k:0],N1[k:0],...Ni[k:0]),并使用查找表270提供的错误概率数据来执行ECC算法以便为一个或多个阵列提供纠错。该查找表可以通过更新数字值的分布得到更新。ECC算法可以存储在存储器(例如,ROM)的ECC单元中并可以由微控制器来实施,或者可以被实现为有限状态机或布尔电路。
可配置非易失性查找表270耦合到ECC单元260。可配置非易失性查找表270生成包括错误概率数据的ECC参数(例如,ECC参数1[j:0],...ECC参数i[j:0]),并将ECC参数提供给ECC单元260以用于纠错。可配置非易失性查找表270可以位于ECC单元260的外部或者与ECC单元260相集成。可配置非易失性查找表基于阵列中单元电流的变化或电阻或阈值电压分布的变化来更新错误概率数据。可以例如在晶圆测试期间或在设备启动时或者在给定的读取状态时来检测这些变化。而且,可以在合适的电压传感器280和温度传感器290检测到工作温度和/或电压变化时更新错误概率数据。错误概率值可以基于分布中的数字值距参考水平的距离,这将结合图4详细描述。
在一个实施方式中,模数感测单元250感测与存储器阵列的存储器单元相关联的模拟信号,以提供初始数字值。在其他实施方式中,模数感测单元基于阵列中的单元电流的变化或电阻或阈值电压分布的变化来感测与存储器阵列的存储器单元相关联的模拟信号,从而更新数字值。模拟信号和相应的数字值可以在存储器阵列的产品寿命期间改变。具有不同类型存储器的不同类型的产品也可以具有不同的模拟信号。
查找表270在更新分配给每个数字值的“错误概率”方面(即使是在产品寿命期间)提供了很大的灵活性。工艺变化、不同的产品说明(例如,较多或较少的读/写周期、不同的温度范围、工艺参数微调等)被跟踪和存储在查找表中。不同的可靠性标准以及不同的预期编程存储器单元分布可以与每个给定读取状态的错误概率相关连,并且该信息可以被发送到ECC单元。ECC单元使用来自查找表的该信息来优化对于特定需求的纠错,而不需要任何新的掩码命令(maskorder)。随后的产品鉴定周期(qualificationphase)也可以被大大减少。
例如,模拟读取并转换成数字值可以在电子晶圆分类、电子表征或产品鉴定期间执行。编程后的存储器单元分布(比如电流或电压分布)可以被分成不同的和离散的单元群(population),每个单元群都具有在对脉冲或算法进行编程后被正确置于逻辑状态中的不同的统计概率。以这种方式,所述概率可以被有用地收集在查找表中,并在ECC单元的纠错期间被使用。
图3示出了根据另一个实施方式的提供具有纠错的存储器访问的设备。设备300(例如,电路装置122)包括存储数据的一个或多个存储器单元阵列310。行选择单元320和列选择与偏置单元330用于访问阵列310。读写电路与逻辑340控制行选择单元和列选择单元,以提供存储器访问。模数感测单元350耦合到存储器阵列310。模数感测单元350感测与存储器阵列的存储器单元相关联的模拟信号,并将该模拟信号转换成数字值的分布。
在一个实施方式中,纠错码(ECC)单元360耦合到模数感测单元350。ECC单元360从模数感测单元350接收数字值的分布(例如,N0[k:0],N1[k:0],...Ni[k:0]),并从查找表370接收错误概率数据。ECC单元360使用错误概率数据执行ECC算法以提供纠错,所述错误概率数据可以用数字值的每个更新分布来更新。
可配置非易失性查找表370从单元350接收数字值的分布。可配置非易失性查找表370生成包括错误概率数据的ECC参数(例如,ECC参数1[j:0],...ECC参数i[j:0]),并将ECC参数提供给ECC单元360以用于纠错。可配置非易失性查找表370可以位于ECC单元360的外部或者与ECC单元360相集成。可配置非易失性查找表可以基于数字值分布的更新时间来更新错误概率数据。例如,当合适的电压传感器380和温度传感器390检测到工作温度和/或电压的变化时更新错误概率数据。
在另一个实施方式中,数字值的分布可以只被提供给查找表370而不被提供给ECC单元360。ECC单元360访问表370来获得更新的错误概率数据,并能够将该数据存储在ECC单元360中的存储器内。
由于将技术推向其极限,所以将来的大容量存储器(例如,NAND、NOR、PCM)在准确恢复存储的数据方面将会具有越来越高的错误概率,这被称为原始误码率(RBER)。通常,该问题通过实施ECC机来管理,所述ECC机能够纠正数据串上的多个错误。由于ECC的作用,最终的误码率比开始的误码率要少一个数量级。如果原始误码率(RBER)不太高的话,则最广泛使用的ECC机是基于很有效的代码(例如,多个随机错误模式校正编码(BoseRay-ChaudhuriHocquenghem))。然而,由于技术的限制,这种条件在不远的将来可能不会得到满足。
可以使用在高RBER时更加有效的另一种类型的ECC码,即软解码代码(例如,所谓的卷积码),但为了起作用,这种ECC码需要不只是输入0和1的字符串,而且需要输入数据的“可靠性”,或者换句话说即接收到的0(或1)“真的”是发送的0(或1)的概率。这不能利用传统的感测放大器来完成,而是需要图4所示的新的思想。
图4示出了根据一个实施方式的由模数感测单元生成的数字值的分布。通常的存储器单元阵列能够采用的模拟值(例如,电流、电阻或阈值电压)的整个空间被分成由二进制代码所识别的N个“片”,从而分布中的每个单元都被从感测电路分配给了限定片。每个片都基于该特定片距参考水平410的距离而被所表示数据的不同“错误概率”所表征。例如,与距离参考水平410较近的片相关联的数据(例如,420和422)将具有较高的错误概率和较低的可靠性,这是因为由于跨越参考水平的分布中的一个分布的感测精确性限制或存在“尾部(tail)”,所以它们更有可能是读取错误的结果。与距参考水平410较远或接近最大群片的片相关联的数据(例如,430、432、434)会具有较低的错误概率和较高的可靠性,这是因为它们不太可能是读取错误的结果。与接近中间(intermediate)群片的片相关联的数据(例如,440和442)将具有中等的错误概率和中等的可靠性。
在一些实施方式中,查找表包括可再编程(NVM)寄存器,在其中存储错误概率或与片的错误概率相关的某些参数。查找表中的数字值用来选择给定的错误概率或其他有用信息(例如,ECC参数[k:0])。ECC参数可以与来自从存储器阵列读取的所有码字的其他类似信息相结合,并被发送到ECC单元。
在一些实施方式中,片不是固定不变的,而是可以一个装置一个装置地改变,或在装置寿命期间发生改变。
ECC单元可以恢复与其中设置有特定单元的片相关的信息和来自查找表的相关错误概率以及其他信息(例如,奇偶校验信息、N个片、产品数据单信息等),将这些信息结合起来,并然后实施卷积码以有效地减少误码率。查找表在根据存储器单元阵列的模型、干扰因素、工艺变化、写入速度要求、耐久性和总的可靠性说明等等来改变被分配给每个片的“错误概率”方面提供了显著的灵活性(即使在产品寿命期间)。从而,本设计大大地提高了ECC单元本身的有效性。查找表(例如,非易失性寄存器)可以以各种方式(例如,通过压膜(die)、通过晶圆、通过分组(lot))定制。
考虑了可靠性信息(例如,概率、似然值等)的ECC被称为软决策算法。当前的ECC设计使用软解码。只使用接收到的比特值的ECC机被称为硬决策算法。通常,和硬解码相比,在信噪比上软解码可以提供多达3dB的增益。换句话说,硬决策ECC在处理误码率上可以给出和软决策ECC相同的性能,其可以处理大于三个数量级的误码率。软决策技术包括卷积码、网格编码调制、turbo码和低密度奇偶校验(LDPC)码。生成可靠性信息的有效能力使得即使对于片上ECC控制器而言也能应用软决策ECC。本设计可以用于级联码(concatenatedcode)或非级联码。
现有的纠错方法不使用查找表。对错误概率的估计通过数学假设来完成,例如假设高斯分布。这样,不能够使错误概率适用于更精确的、基于表征(characterization)的阵列分布的模型化或随着外部条件的变化(诸如上面所述的所有那些条件)而改变它们。
图5示出了根据一个实施方式的模数感测单元的示例性实施。模拟信号从存储器单元被感测,并以电流Icell或电压Vcell的形式形成输入510。电流或电压斜波520,In(x),用于将感测自存储器单元的电流或电压转换成数字值。数模生成器与感测单元530接收输入510和电流或电压阶跃(或连续斜波)输入信号512。单元530输出停止信号,该停止信号被接收作为N生成单元540的输入。单元540还接收启动信号输入。
在一个实施方式中,单元530基于初始值N和参考输入信号Istep(Vstep)512来生成电流或电压斜波信号520的模拟水平。生成的斜波信号520等于Istep(Vstep)512的N倍,并被用作比较水平;N是2个逻辑信号(启动信号与停止信号)和一个时钟信号的函数。如果启动信号是0,则N是0。如果存储器单元的电流(Icell)510比生成的电流N*Istep大,则在每个时钟周期N加上1(N=N+1),并且生成等于(N+1)*Istep的新的电流。N增加的这种条件对应于启动信号等于1且停止信号等于0。上述循环持续到单元的电流小于所生成的水平。当单元电流等于或超过比较电流时,则发出停止信号,等于N*Istep的生成的电流保持恒定(N保持为N),并且单元电流被量化为n比特的数字输出,该n比特的数字输出被锁存然后表示N本身。如果所感测和生成的电流水平被所感测和生成的电压水平替代,则也可以应用相同的原理。
图6示出了根据另一个实施方式的由模数感测单元生成的数字值的分布。用于通常的多级(例如,这种情况下的2比特/单元、1.5比特/单元、3比特/单元、4比特/单元等)存储器单元阵列(例如,PCM)的00、01、10和11逻辑状态的整个空间被分成N个“片”,从而分布中的每个单元都被从感测电路分配给了限定片。每个片都基于那个特定片距参考水平的“距离”或容限(margin)而由所表示数据的不同的“错误概率”来表征。例如,容限610、620和630可以分别由参考水平612、614、622、624、632和634来限定。
在实施方式中,对于多级单元(MLC)存储器(例如,PCM)而言,图6示出了在Vsafe等于450毫伏的情况下对单元存储元件进行偏置时的电流斜波。特别地,具有四个逻辑状态(例如,00、01、10和11)的2比特/单元的装置。PCM存储器单元可以模型化为可变电阻器,该可变电阻器可以基于硫族化物材料的相位而采取不同的值。如果材料是无定形的,这对应于复位状态00,则相关的电阻非常高,其范围从几百千欧姆到高于1M欧姆。如果材料是结晶的,则相关的电阻的范围为几千欧姆(例如,小于15KΩ)。合适形状、宽度和幅值的电流(或电压)脉冲被用于从一个相位切换到另一个相位。对于MLC操作,使用中间状态,并且这些状态由中间电阻值所表征。例如,复位状态00具有大于200KΩ的电阻。第一中间状态01具有35与50KΩ之间的电阻。第二中间状态10具有20与25KΩ之间的电阻。置位状态11具有小于16KΩ的电阻。
落入具有其中一个容限中的电阻或具有接近其中一个容限的电阻的片中的数据具有更高的错误概率和更低的可靠性,因为与落入具有在其中一个逻辑状态的中间中的电阻的片(例如,12)中的数据相比,该数据更有可能是读取错误的结果。不同逻辑状态之间的转变也可以以连续方式由相对概率来驱动,而不需要指定任何的容限窗口。
图7示出了根据一个实施方式的用于具有存储器阵列的存储器装置中的纠错的方法。该方法包括,在框702处,在存储器阵列中存储数据。该方法包括,在框704处,使用模数感测单元来感测与存储器阵列相关联的模拟信号。接下来,该方法包括,在框706处,使用模数感测单元将模拟信号转换成数字值的分布。例如,每个分布可以与单级或多级存储器阵列的逻辑状态(例如,0、1、00、01、10、11)相关联。在框708处,模数感测单元将数字值的分布发送给纠错码(ECC)单元。在框710处,查找表向ECC单元提供包括错误概率数据的ECC参数,该错误概率数据与每个数字值相关联。
在框712处,ECC单元使用错误概率数据来执行ECC算法以提供纠错。在一个实施方式中,在框714处,分别在存储器装置启动时或在给定的读取状态时或合适的电压传感器或温度传感器检测到工作电压或温度变化时,用与存储器阵列相关联的错误信息来更新非易失性查找表。可配置非易失性查找表基于数字值的分布来更新错误概率数据,其中错误概率值基于分布中的数字值距参考水平的距离,如图4和图6中所示。
从对计算机存储器内的数据比特或二进制数字信号进行操作的算法和符号表示方面给出了部分详细描述。这些算法描述和表示可以是数据处理领域的技术人员用来向本领域其他技术人员传达其工作实质的技术。
在此,算法通常被认为是产生期望结果的有条理的一系列动作或操作。这些包括对物理量的物理操作。通常,虽然不是必要的,但是这些量可以采用能够被存储、传送、组合、比较或者以其他方式操作的电或磁信号形式。主要出于通用的原因,将这些信号称作比特、值、元素、符号、字符、项、数字等有时被证明是方便的。然而应该理解,所有这些或类似术语要与合适的物理量相关联并且只是应用于这些量的方便标记。
除非以其他方式特别指出,否则可以理解,在整个说明书中,使用诸如“处理”、“计算(computing)”、“运算(calculating)”、“确定”等术语的论述都指代计算机或计算系统或者类似电子计算设备的动作和/或处理,其中所述计算机或计算系统或者类似电子计算设备操作和/或转换在计算系统的寄存器和/或存储器内部被表示为物理(诸如电子)量的数据,使这些数据成为在计算系统的存储器、寄存器或其他这样的信息存储、传输或显示设备内部类似地被表示为物理量的其他数据。
本发明的实施方式可以包括用于执行本文的操作的设备。该设备可以是为期望目的而特别构建的,或者该设备可以包括通用计算机,其中该通用计算机由存储在该计算机中的计算机程序有选择地激活或重新配置。这种程序可以存储在存储媒介上,诸如但不限于任何类型的盘,包括软盘、光盘、只读压缩磁盘存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、电可编程只读存储器(EPROM)、电可擦除和可编程只读存储器(EEPROM)、磁卡或光卡、或其他任何类型的适于存储电子指令且能够耦合到计算装置的系统总线的介质。
可以使用术语“耦合”和“连接”及其衍生词。应该理解,这些术语并不意图当作彼此的同义词。相反地,在特定的实施方式中,“连接”可以用于表示两个或多个元件彼此直接物理连接或电连接。“耦合”可以用于表示两个或多个元件彼此直接或非直接(它们之间有其他的中间元件)物理连接或电连接,和/或两个或多个元件彼此配合或相互作用(例如,在因果关系中)。
在上面的详细描述中,列出了多个特定的细节以提供对本发明的透彻的理解。然而,本领域的技术人员应该理解,本发明可以在没有这些特定细节的情况下实施。在其他示例中,已知的方法、过程、部件和电路没有被详细描述以避免混淆本发明。应该理解,上述描述是示例性的,而不是限制性的。通过阅读和理解上述说明,许多其他的实施方式对于本领域的技术人员来说是显而易见的。所以,本发明的范围参考所附权利要求书以及所述权利要求书有权要求的等价物的全部范围来确定。
Claims (14)
1.一种存储器设备,该设备包括:
用于存储数据的存储器阵列;
耦合到所述存储器阵列的模数感测单元,该模数感测单元用于感测与所述存储器阵列相关联的模拟信号并用于将所述模拟信号转换成数字值的分布;
耦合到所述模数感测单元的纠错码单元,该纠错码单元用于从所述模数感测单元接收数字值的分布并获得具有与数字值的分布相关联的错误概率值的错误概率数据;以及
耦合到所述纠错码单元的可配置非易失性查找表,该可配置非易失性查找表用于生成包括所述错误概率数据的纠错码参数并将该纠错码参数提供给用于纠错的所述纠错码单元,其中所述可配置非易失性查找表基于所述数字值的分布来更新错误概率数据,以及错误概率值基于所述分布中的数字值距参考水平的距离。
2.根据权利要求1所述的设备,其中所述纠错码单元用于使用所述错误概率数据来执行纠错码算法以提供纠错。
3.根据权利要求1所述的设备,其中所述模数感测单元用于在所述设备启动时感测与所述存储器阵列的存储器单元相关联的模拟信号。
4.根据权利要求1所述的设备,其中所述模数感测单元用于在给定所述存储器阵列的读取状态时感测与所述存储器阵列的存储器单元相关联的模拟信号。
5.根据权利要求1所述的设备,该设备还包括:
一个或多个另外的存储器阵列,其中所述纠错码单元用于为两个或更多个存储器阵列提供纠错。
6.一种数据处理装置,该数据处理装置包括:
具有至少一个处理器核的处理单元;以及
耦合到所述处理单元的系统存储器,该系统存储器具有集成电路装置,该集成电路装置包括:
用于存储数据的存储器阵列;
耦合到所述存储器阵列的模数感测单元,该模数感测单元用于感测与所述存储器阵列相关联的模拟信号,并将所述模拟信号转换成数字值的分布;
耦合到所述模数感测单元的纠错码单元,该纠错码单元用于从所述模数感测单元接收所述数字值的分布并获得具有与所述数字值的分布相关联的错误概率值的错误概率数据;以及
耦合到所述纠错码单元的可配置非易失性查找表,该可配置非易失性查找表用于生成包括所述错误概率数据的纠错码参数并将该纠错码参数提供给用于纠错的所述纠错码单元,其中所述可配置非易失性查找表基于所述数字值的分布来更新所述错误概率数据,以及所述错误概率值是基于所述分布中的数字值距参考水平的距离的。
7.根据权利要求6所述的数据处理装置,其中所述纠错码单元用于使用所述错误概率数据来执行纠错码算法以提供纠错。
8.根据权利要求6所述的数据处理装置,其中所述数字值的分布表示所述存储器阵列中的存储器单元的电流或电压分布。
9.根据权利要求6所述的数据处理装置,其中所述非易失性查找表被配置为基于所述阵列中单元电流的变化或电阻或阈值电压分布的变化来接收更新的数字值。
10.根据权利要求6所述的数据处理装置,其中所述非易失性查找表位于所述纠错码单元的外部或嵌入所述纠错码单元内。
11.一种用于操作存储器装置的方法,该方法包括:
在存储器阵列中存储数据;
使用模数感测单元来感测与所述存储器阵列相关联的模拟信号;
使用所述模数感测单元将所述模拟信号转换成数字值的分布;
将所述数字值的分布从所述模数感测单元发送到纠错码单元;
生成与每个数字值相关联的错误概率数据;
使用非易失性查找表来将包括所述错误概率数据的纠错码参数提供到所述纠错码单元;以及
在启动存储器装置时或在给定所述存储器阵列的读取状态时,利用与所述存储器阵列相关联的更新后的错误信息来更新所述非易失性查找表。
12.根据权利要求11所述的方法,该方法还包括:
使用所述错误概率数据利用所述纠错码单元来执行纠错码算法以提供纠错。
13.一种用于操作存储器装置的方法,该方法包括:
在存储器阵列中存储数据;
使用模数感测单元来感测与所述存储器阵列相关联的模拟信号;
使用所述模数感测单元将所述模拟信号转换成数字值的分布;
将所述数字值的分布从所述模数感测单元发送到纠错码单元;
生成与每个数字值相关联的错误概率数据;
当合适的电压传感器或温度传感器分别检测到工作电压或温度的变化结果时,利用与所述存储器阵列相关联的更新后的错误信息来更新非易失性查找表。
14.一种用于操作存储器装置方法,该方法包括:
在存储器阵列中存储数据;
使用模数感测单元来感测与所述存储器阵列相关联的模拟信号;
使用所述模数感测单元将所述模拟信号转换成数字值的分布;
生成与每个数字值相关联的错误概率数据;
将所述数字值的分布从所述模数感测单元发送到纠错码单元,其中可配置非易失性查找表基于所述数字值的分布来更新所述错误概率数据,以及错误概率值是基于所述分布中的数字值距参考水平的距离。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/617,661 US8510628B2 (en) | 2009-11-12 | 2009-11-12 | Method and apparatuses for customizable error correction of memory |
US12/617,661 | 2009-11-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102117661A CN102117661A (zh) | 2011-07-06 |
CN102117661B true CN102117661B (zh) | 2016-01-27 |
Family
ID=43975058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010546314.3A Active CN102117661B (zh) | 2009-11-12 | 2010-11-12 | 用于存储器的可定制纠错的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8510628B2 (zh) |
JP (1) | JP5808101B2 (zh) |
KR (1) | KR101268772B1 (zh) |
CN (1) | CN102117661B (zh) |
DE (1) | DE102010050957B4 (zh) |
TW (1) | TWI453753B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11869584B2 (en) | 2010-04-19 | 2024-01-09 | Silicon Motion, Inc. | Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell |
TWI594256B (zh) * | 2010-04-19 | 2017-08-01 | 慧榮科技股份有限公司 | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 |
US8386895B2 (en) | 2010-05-19 | 2013-02-26 | Micron Technology, Inc. | Enhanced multilevel memory |
US8412882B2 (en) * | 2010-06-18 | 2013-04-02 | Microsoft Corporation | Leveraging chip variability |
JP5943395B2 (ja) * | 2011-11-02 | 2016-07-05 | 国立大学法人 東京大学 | メモリコントローラおよびデータ記憶装置 |
KR102012310B1 (ko) | 2012-08-07 | 2019-10-21 | 삼성전자 주식회사 | 데이터 저장 장치의 동작 방법, 데이터 저장 장치 및 이를 이용한 시스템 |
US9142322B2 (en) * | 2012-08-10 | 2015-09-22 | Stmicroelectronics International N.V. | Memory manager |
US8869008B2 (en) * | 2013-01-17 | 2014-10-21 | Apple Inc. | Adaptation of analog memory cell read thresholds using partial ECC syndromes |
US9009562B2 (en) | 2013-01-30 | 2015-04-14 | Hewlett-Packard Development Company, L.P. | Providing memory protection using a modified error correction code |
US9019754B1 (en) | 2013-12-17 | 2015-04-28 | Micron Technology, Inc. | State determination in resistance variable memory |
KR102215597B1 (ko) | 2013-12-23 | 2021-02-15 | 삼성전자주식회사 | 전자기기 |
US9847110B2 (en) * | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
JP2016062463A (ja) * | 2014-09-19 | 2016-04-25 | 株式会社東芝 | メモリシステム、誤り訂正装置、および誤り訂正方法 |
US9373408B2 (en) * | 2014-10-07 | 2016-06-21 | SanDisk Technologies, Inc. | Highly linear analog-to-digital converter and method for nonvolatile memory |
US9912355B2 (en) * | 2015-09-25 | 2018-03-06 | Intel Corporation | Distributed concatenated error correction |
US20170126249A1 (en) * | 2015-10-30 | 2017-05-04 | Intel Corporation | Temperature dependent multiple mode error correction |
US10073138B2 (en) * | 2015-12-22 | 2018-09-11 | Intel Corporation | Early detection of reliability degradation through analysis of multiple physically unclonable function circuit codes |
US10169126B2 (en) * | 2016-10-12 | 2019-01-01 | Samsung Electronics Co., Ltd. | Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation |
CN108255633B (zh) * | 2016-12-28 | 2021-07-30 | 旺宏电子股份有限公司 | 存储控制方法、存储装置 |
CN106815090B (zh) * | 2017-01-19 | 2019-11-08 | 深圳星忆存储科技有限公司 | 一种数据处理方法及装置 |
US10387242B2 (en) * | 2017-08-21 | 2019-08-20 | Qualcomm Incorporated | Dynamic link error protection in memory systems |
US10269445B1 (en) * | 2017-10-22 | 2019-04-23 | Nanya Technology Corporation | Memory device and operating method thereof |
US11355214B2 (en) * | 2020-08-10 | 2022-06-07 | Micron Technology, Inc. | Debugging memory devices |
US20230263078A1 (en) * | 2022-02-16 | 2023-08-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory device, method for configuring memory cell in n-bit memory unit, and memory array |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202107A (zh) * | 2006-09-13 | 2008-06-18 | 意法半导体股份有限公司 | 具有非易失性地存储冗余数据的保留区域的与非闪存器件 |
CN101256842A (zh) * | 2007-01-03 | 2008-09-03 | 三星电子株式会社 | 纠错码控制器和包括该纠错码控制器的存储器系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
KR100295074B1 (ko) * | 1992-12-22 | 2001-09-17 | 리패치 | 응용주문형집적회로인에러정정코드메모리제어기 |
US6751766B2 (en) * | 2002-05-20 | 2004-06-15 | Sandisk Corporation | Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data |
US8091009B2 (en) * | 2006-03-23 | 2012-01-03 | Broadcom Corporation | Symbol by symbol map detection for signals corrupted by colored and/or signal dependent noise |
US8533563B2 (en) * | 2008-03-31 | 2013-09-10 | Qimonda Ag | Memory read-out |
KR101758192B1 (ko) * | 2008-09-30 | 2017-07-14 | 엘에스아이 코포레이션 | 소프트 데이터 값 생성 방법 및 소프트 데이터 값 생성 시스템 |
-
2009
- 2009-11-12 US US12/617,661 patent/US8510628B2/en active Active
-
2010
- 2010-11-01 TW TW099137534A patent/TWI453753B/zh active
- 2010-11-10 DE DE102010050957.4A patent/DE102010050957B4/de active Active
- 2010-11-10 KR KR1020100111531A patent/KR101268772B1/ko active IP Right Grant
- 2010-11-12 JP JP2010268790A patent/JP5808101B2/ja active Active
- 2010-11-12 CN CN201010546314.3A patent/CN102117661B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202107A (zh) * | 2006-09-13 | 2008-06-18 | 意法半导体股份有限公司 | 具有非易失性地存储冗余数据的保留区域的与非闪存器件 |
CN101256842A (zh) * | 2007-01-03 | 2008-09-03 | 三星电子株式会社 | 纠错码控制器和包括该纠错码控制器的存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
DE102010050957B4 (de) | 2019-11-21 |
US20110113303A1 (en) | 2011-05-12 |
CN102117661A (zh) | 2011-07-06 |
KR101268772B1 (ko) | 2013-05-29 |
TW201123197A (en) | 2011-07-01 |
US8510628B2 (en) | 2013-08-13 |
KR20110065323A (ko) | 2011-06-15 |
JP2011108354A (ja) | 2011-06-02 |
TWI453753B (zh) | 2014-09-21 |
JP5808101B2 (ja) | 2015-11-10 |
DE102010050957A1 (de) | 2011-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102117661B (zh) | 用于存储器的可定制纠错的方法和设备 | |
KR101753498B1 (ko) | 신뢰도 데이터 업데이트 | |
US10733047B2 (en) | Hard and soft bit data from single read | |
KR101811298B1 (ko) | 랜덤마이져로 씨드를 제공하는 씨드 컨트롤러 및 그것을 포함한 메모리 컨트롤러 | |
CN106257594B (zh) | 读取干扰收回策略 | |
CN102132354B (zh) | 闪存中的数据的快速低功率读取 | |
US10148293B2 (en) | Incremental LLR generation for flash memories | |
CN102203877A (zh) | 使用解码器性能反馈的用于存储器器件的软数据生成的方法和装置 | |
JP2004509404A (ja) | 圧縮イベント計数手法およびフラッシュメモリシステムへの応用 | |
CN111092619B (zh) | Ldpc解码器、半导体存储器系统及其操作方法 | |
WO2008082591A2 (en) | High speed interface for multi-level memory | |
US10522234B2 (en) | Bit tagging method, memory control circuit unit and memory storage device | |
CN109524051A (zh) | 用于执行并行读取-修改-写入操作的存储器器件 | |
CN105164649A (zh) | 对存储在固态存储器中的数据进行解码 | |
CN103325425B (zh) | 存储器控制器 | |
CN107608818A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN109493910A (zh) | 微控制器及其操作方法以及具有该微控制器的存储系统 | |
TW201539465A (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN106681856A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US10713116B2 (en) | Solid state device implementing dynamic polar encoding | |
US10504608B2 (en) | Linked-list interlineation of data | |
CN106708649B (zh) | 解码方法、存储器储存装置及存储器控制电路单元 | |
US10528496B2 (en) | Controller and operating method thereof | |
CN112216328A (zh) | 具有低复杂度解码的存储器系统及其操作方法 | |
CN107301873A (zh) | 译码方法、内存储存装置及内存控制电路单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |