单元间干扰消除的制作方法

文档序号:6740192阅读:136来源:国知局
专利名称:单元间干扰消除的制作方法
技术领域
本公开内容总体上涉及半导体存储器,并且更具体地涉及闪存中的干扰消除。
背景技术
这里提供的背景描述是为了总体上呈现本公开内容的上下文的目的。本发明人的工作在这一背 景技术部分中描述的该工作的程度上以及该描述的可以在提交时未另外限定为现有技术的方面既未被明示地也未被暗示地承认为相对于本公开内容的现有技术。。存储器集成电路(IC)包括存储器阵列。存储器阵列包括以行和列排列的存储器单元。存储器单元可包括易失性存储器或非易失性存储器的单元。当电力从存储器单元移除时,易失性存储器丢失存储在存储器单元中的数据。当电力从存储器单元移除时,非易失性存储器维持存储在存储器单元中的数据。在存储器阵列的列和行中的存储器单元通过选择行的字线(WL)和选择列的位线(BL)来寻址。存储器IC包括在读取/写入(R/W)和擦除/编程(EP)操作期间分别选择WL和BL的WL解码器和BL解码器。在图1中,存储器IClO包括存储器阵列12、WL解码器16、BL解码器18和控制模块19。存储器阵列12包括如所示的以行和列排列的存储器单元14。WL解码器16和BL解码器18依赖于在R/W和EP操作期间选择的存储器单元14的地址分别选择WL和BL。控制模块19接收来自主机(未示出)的命令(例如,读取、写入、擦除、编程等)。控制模块19在所选择的存储器单元14中读取和写入数据。附加地,当存储器单元14包括诸如闪存的非易失性存储器的单元时,控制模块19擦除和编程所选择的存储器单元14 (例如,在一个或多个块或页中)。仅为举例,存储器单元14可包括NAND或NOR闪存的单元。每个存储器单元14可被编程以存储N个二进制数字(比特)的信息,其中N是大于或等于I的整数。因此,每个存储器单元14可具有2n个状态。为了每个单元存储N个比特,每个存储器单元14可包括具有2N个可编程阈值电压(以下为阈值电压)的晶体管。晶体管的2N个阈值电压分别代表存储器单元14的2Nf状态。在图2中,存储器单元14-1可以包括具有阈值电压Vt的晶体管50。晶体管50可以包括浮置栅极G(以下为栅极G)、源极S和漏极D。写入操作期间存储在栅极G中的电荷的数量确定阈值电压Vt的值和存储器单元14-1的状态。仅为举例,晶体管50可以具有依赖于存储在栅极G中的电荷的数量的两个可编程阈值电压Vn和VT2。当存储在栅极G中的电荷的数量是Ql时,晶体管50的阈值电压是VT1。当存储在栅极G中的电荷的数量是Q2时,晶体管50的阈值电压是VT2。依赖于存储在栅极G中的电荷的数量,具有大于或等于Vn或Vt2的值的栅极电压(即Ves)可导通晶体管50 (即生成预定的漏极电流)。通过测量晶体管50的阈值电压Vt来读取存储器单元14的状态(即,存储在存储器单元14中的数据)。阈值电压Vt无法被直接读出。相反,通过施加栅极电压至栅极G和感测漏极电流来测量阈值电压VT。漏极电流通过跨晶体管50的源极S和漏极D施加小电压来感测漏极电流。当栅极电压小于阈值电压Vt时,晶体管50被关断,并且漏极电流为低(近似于零)。相反地,当栅极电压大于或等于阈值电压Vt时,晶体管50导通,并且漏极电流变为高(即等于对应于与Vt的预定的漏极电流)。生成高漏极电流的栅极电压的值代表晶体管50的阈值电压Vt。通常,同时感测在存储器阵列的块或页中的存储器单元的状态。在块中的存储器单元的晶体管的栅极被连接到WL。选择WL,并且向WL施加电压。当晶体管的漏极电流首次超过预定的(编程的)值时,通过在WL上步进通过(2n-1)个电压和确定晶体管的阈值电压来感测N比特存储器单元的状态。在图3A和图3B中,晶体管50的阈值电压被如下测量。仅为举例,晶体管50可具有四个阈值电压Vn到Vt4中的一个阈值电压,其中Vn < Vt2 < Vt3 < Vt4。从而,存储器单元14-1可具有四个状态00、01、10和11中的一个状态。在图3A中,控制模块19包括电压发生器20和电流感测放大器22。电流感测放大器的数量等于BL的数量。例如,当IClO包括B个BL时,电流感测放大器22针对B个BL分别包括B个电流感测放大器,这里B是大于I的整数。在图3B中,当将确定存储器单元的状态时,WL解码器16选择包括存储器单元
........14-n(统称为存储器单元14)的WL。存储器单元14中的
每个存储器单元包括类似于晶体管50的晶体管。晶体管被示出为在栅极中存储电荷的电容C。当读取操作开始时,电压发生器20向WL解码器16供应电压(例如,阶梯电压)。WL解码器16向所选择的WL输入该电压。因此,电压被施加给在所选择的WL上的晶体管的栅极。电流感测放大器22包括用于每个BL的一个电流感测放大器。例如,电流感测放大器22-1与位线BL-1通信并感测流动穿过存储器单元14-1的晶体管50的漏极电流。电流感测放大器22-1通过跨晶体管50的源极和漏极施加小电压来感测漏极电流。每个电流感测放大器感应穿过存储器单元14的晶体管中的各自的晶体管的漏极电流。控制模块19基于由各个电流感测放大器22感测的漏极电流测量晶体管的阈值电压。

发明内容
一种系统,包括读取模块,配置用于通过沿着存储器阵列的第一字线读取存储器单元来生成关于第一存储器单元的第一信息,第一存储器单元沿着存储器阵列的第一位线和第一字线定位。存储器单元包括第一存储器单元。第一信息指示相对于施加到第一字线以读取存储器单元的多个阈值电压的第一存储器单元的阈值电压分布的位置。读取模块被配置用于通过读取第二存储器单元生成关于第二存储器单元的第二信息。第二存储器单元沿着(i)第一字线、(ii)临近于第一字线的第二字线或(iii)临近于第一位线的第二位线定位。第二信息指示引起对第一存储器单元的干扰的第二存储器单元的状态。该系统进一步包括补偿模块,配置用于基于(i)第一信息和(ii)第二信息补偿由第二存储器单元的状态引起的干扰。在其它特征中,补偿模块被配置用于使用对应于(i)第一信息和(ii)对应于于引起对第一存储器单元的干扰的第二存储器单元的状态的阈值电压分布的分布数的对数似然比补偿干扰。系统包括读取模块,配置用于通过沿着存储器阵列的第一字线读取存储器单元来生成关于沿着存储器阵列的第一位线和第一字线定位的第一存储器单元的第一信息。存储器单元包括第一存储器单元。第一信息指示相对于施加到第一字线以读取存储器单元的多个阈值电压的第一存储器单元的阈值电压分布的位置。该系统进一步包括状态确定模块,配置用于确定引起对第一存储器单元的干扰的一个或多个存储器单元的状态。该一个或多个存储器单元沿着(i)第一字线、(ii)临近于第一字线的第二字线或(iii)临近于第一位线的第二位线定位。该一个或多个存储器单元的位置依赖于编程存储器单元的预定序列。在其它特征中,该系统进一步包括映射模块,配置用于将引起类似干扰的一个或多个状态映射到分布数。分布数代表引起对第一存储器单元的干扰的一个或多个状态的阈值电压分布。系统包括选择模块,配置用于选择沿着存储器阵列的第一位线和第一字线定位的第一存储器单元,以及选择沿着(i)第一字线、(ii)临近于第一字线的第二字线或(iii)临近于第一位线的第二位线定位的第二存储器单元。基于编程存储器的预定序列选择第二存储器单元的位置。该系统进一步包括读写模块,配置用于在第一存储器单元中和随后在第二存储器单元中写入数据,以及读取第一存储器单元和第二存储器单元。该系统进一步包括检测模块,配置用于检测引起对第一存储器单元的干扰的第二存储器单元的一个或多个状态。在其它特征中,该系统进一步包括读取模块,配置用于通过沿着存储器阵列的第一字线读取存储器单 兀来生成关于第一存储器单兀的第一信息。该存储器单兀包括第一存储器单元。第一信息指示相对于施加到第一字线以读取存储器单元的多个阈值电压的第一存储器单元的阈值电压分布的位置。该系统进一步包括状态确定模块,配置用于确定引起对第一存储器单元的干扰的一个或多个存储器单元的状态。该一个或多个存储器单元包括第二存储器单元。该一个或多个存储器单元沿着(i)第一字线、(ii)临近于第一字线的第二字线或(iii)临近于第一位线的第二位线定位。该一个或多个存储器单元的位置依赖于编程存储器单元的预定序列。—种方法,包括通过沿着存储器阵列的第一字线读取存储器单元来生成关于第一存储器单元的第一信息,第一存储器单元沿着存储器阵列的第一位线和第一字线定位。存储器单元包括第一存储器单元。第一信息指示相对于施加到第一字线以读取存储器单元的多个阈值电压的第一存储器单元的阈值电压分布的位置。该方法进一步包括通过读取第二存储器单元来生成关于第二存储器单元的第二信息。第二存储器单元沿着(i)第一字线、
(ii)临近于第一字线的第二字线或(iii)临近于第一位线的第二位线定位。第二信息指示引起对第一存储器单元的干扰的第二存储器单元的状态。该方法进一步包括基于(i)第一信息和(ii)第二信息补偿由第二存储器单元的状态引起的干扰。在其它特征中,补偿干扰包括使用对应于(i)第一信息和(ii)对应于引起对第一存储器单元的干扰的第二存储器单元的状态的阈值电压分布的分布数的对数似然比。一种方法,包括选择沿着存储器阵列的第一位线和第一字线定位的第一存储器单元。该方法进一步包括选择沿着(i)第一字线、(ii)临近于第一字线的第二字线或(iii)临近于第一位线的第二位线定位的第二存储器单元。基于编程存储器单元的预定序列选择第二存储器单元的位置。该方法进一步包括在第一存储器单元中写入数据,随后在第二存储器单元中写入数据,以及读取第一存储器单元和第二存储器单元。该方法进一步包括检测引起对第一存储器单元的干扰的第二存储器的一个或多个状态。在其它特征中,该方法进一步包括通过沿着存储器阵列的第一字线读取存储器单兀来生成关于第一存储器单兀的第一信息。该存储器单兀包括第一存储器单兀。第一信息指示相对于施加到第一字线以读取存储器单元的多个阈值电压的第一存储器单元的阈值电压分布的位置。该方 法进一步包括确定引起对第一存储器单元的干扰的一个或多个存储器单元的状态。该一个或多个存储器单元包括第二存储器单元。该一个或多个存储器单元沿着(i)第一字线、(ii)临近于第一字线的第二字线或(iii)临近于第一位线的第二位线定位。基于编程存储器单元的预定序列选择该一个或多个存储器单元的位置。本公开内容的适用性的更多领域将通过详细描述、权利要求书和附图中变得显而易见。详细描述和具体示例旨在仅出于例示的目的而并不旨在限制本公开内容的范围。


通过详细描述和附图本公开将得到更加全面的理解,其中:图1是根据现有技术的存储器集成电路(IC)的功能框图;图2是根据现有技术的多级存储器单元的示意图;图3A和图3B是根据现有技术的图1的存储器IC的功能框图;图4A描绘了根据本公开内容的3比特存储器单元的电荷水平分布;图4B描绘了归因于根据本公开内容的3比特存储器单元的循环的图4A的电荷水平分布中的漂移;图5描绘了根据本公开内容的用于执行多个读取操作的参考电压和单比特单元的阈值电压分布;图6A描绘了根据本公开内容的存储器阵列;图6B示出了根据本公开内容的图6A的存储器阵列中的用于编程页的表格;图7A示出了根据本公开内容的存储器阵列中的受害者(victim)单元和多个攻击者(aggressor)单兀;图7B示出了根据本公开内容的攻击者单元对受害者单元的阈值电压分布的效果;图7C示出了根据本公开内容的当受害者单元未受攻击者单元影响时受害者单元的总体阈值电压分布;图7D示出了根据本公开内容的当受害者单元受到攻击者单元影响时受害者单元的总体阈值电压分布;
图8示出了根据本公开内容的仓索引的直方图;图9A是根据本公开内容的包括用于补偿单元间干扰的控制模块的存储器集成电路(IC)的功能框图;图9B示出了根据本公开内容的用于存储软信息和攻击者状态信息的存储器的布局;图10是根据本公开内容的仓索引的直方图;图11图示了根据本公开内容的在将攻击者状态信息映射到分布数之前和之后所要求的用于存储攻击者状态信息的存储器的数量之间的差;图12A和图12B图示了根据本公开内容的压缩映射信息的过程;图13是根据本公开内容的包括发现存储器IC的单元间干扰模式的发现模块的系统的功能框图;图14示出了根据本公开内容的用于补偿单元间干扰的方法的流程图;图15示出了根据本公开内容的用于使用单元间干扰消除解码数据的方法的流程图;以及图16示出了根据本公开内容的用于检测存储器IC中的攻击者单元的模式的方法的流程图。
具体实施例方式本公开内容涉及在闪存中消除单元间干扰。在闪存中,当沿着字线在存储器单元中写入新数据时,新写入的数据影响`沿着临近的字线在存储器单元中更早写入的数据。因此,沿着临近的字线在存储器单元中更早写入的数据经历来自新写入的数据的单元间干扰。单元间干扰依赖于数据。即,单元间干扰依赖于新写入的数据的数据模式。为了纠正单元间干扰对沿着字线在存储器单元中存储的数据的影响,可以反复读取沿着字线的存储器单元。通过沿着字线反复读取存储器单元而获得的信息被用于解码沿着字线存储在存储器单元中的数据。本公开内容涉及通过沿着字线读取存储器单元和还读取临近字线中的存储器单元来消除对沿着字线存储在存储器单元中的数据的单元间干扰的影响。通过读取临近字线中的存储器单元而获得的信息被用于补偿对沿着字线存储在存储器单元中的数据的单元间干扰的影响。因此,使用通过沿着字线读取存储器单元和通过沿着临近字线读取存储器单元获得的信息解码沿着字线存储在存储器单元中的数据。在详细描述单元间干扰和单元间干扰消除之前,说明闪存单元的阈值电压分布。另外,说明根据本公开内容生成用于存储器单元的包括仓索引和对数似然比的软信息。该软信息被用于如以下所说明的那样消除单元间干扰。在诸如闪存系统之类的某些存储器系统中,存储器单元通过在晶体管的被称为浮置栅极的隔离区域中俘获细粒度电荷量而存储数据。通过施加电压给晶体管和估计读出电流来读取存储在存储器单元(例如,如以下所说明的晶体管)中的数据,读出电流由俘获的电荷数量确定。当施加的电压大于或等于晶体管的阈值电压(其由俘获的电荷的数量确定)时,晶体管导通,并且读出电流为高。
存储器单元可以每单元存储一个或多个比特,并且可以被分别称为单级或多级存储器单元。单级存储器单元可存储一个比特的信息。仅为举例,比特可以当电荷被存储在存储器单元中时是逻辑0,或者当没有电荷被存储在存储器单元中时是逻辑I。 多级存储器单元可以通过存储不同数量的电荷或者电荷水平来存储多个比特的信息。例如,假设Q是在多级存储器单元中可以存储的最大电荷量。可以通过存储在0和Q之间的细粒度电荷量来在这样的存储器单元中存储多比特信息。仅为举例,可以通过俘获0,Q/3,2Q/3,Q四级电荷中的任一级电荷在一个多级存储器单元中存储2比特的信息。俘获电荷的过程被称为编程。俘获的电荷的不同级别转译为用于存储器单元的不同阈值电压。可以通过估计存储在存储器单元中的电荷的数量来读取存储在存储器单元中的数据。通过施加电压和读取电流来估计存储在存储器单元中的电荷的数量。当电流变高时,施加的电压与参考电压中的一个参考电压进行比较。该参考电压对应于存储器单兀的各种状态和对应的阈值电压,其依赖于存储器单元中俘获的电荷的数量。在图4A中,示出了用于3比特存储器单元的阈值电压分布的示例。3比特存储器单元仅用于示例。该讨论适用于具有2N个标称阈值电压和(2n-1)个参考电压的任意N比特存储器单元,其中N是大于I的整数。3比特存储器单元可存储多达八个不同电荷水平,其中每个电荷水平对应于八个不同状态中的一个。因此,存储器单元的阈值电压分布包括八个不同的标称阈值电压。该八个标称阈值电压与可被分别存储在存储器单元中的八个电荷水平相关联。尽管待编程到期望的状态的单元被编程到对应于期望状态的电荷水平,当单元被编程到期望状态时存储在单元中的实际电荷可以不同,并且导致围绕标称阈值电压的阈值电压的分布。因此,阈值电压可具有分布而不是单个值。临近电荷水平的交叉定义可以在读取操作期间用于检测存储在存储器单元中的数据的参考电压。因此,3比 特存储器单元具有定位在临近分布曲线相交处的七个参考电压(Vrl 到 Vr7)。在读取操作期间应当获知参考电压以确定电荷水平以及因此的存储在存储器单元中的数据。最初,在制造时设置参考电压。随后,在正常读取操作期间,(通过施加电压给栅极并且测量漏极电流)测量存储器单元的阈值电压并与七个参考电压进行比较以确定存储在存储器单元中的数据(即,存储器单元的状态)。仅为举例,当阈值电压小于或等于Vrt时,存储在存储器单元中的数据是111。当阈值电压小于或等于^并且大于Vrt时,存储在存储器单元中的数据是110,以此类推。最后,当阈值电压大于时,存储在存储器单元中的数据是011。在图4B中,诸如多级闪存之类存储器单元在反复读取、写入、擦除和/或编程操作(总体上称为循环)之后会遭受电荷滞留损失。例如,存储器单元的浮置栅极周围的氧化物可以在反复循环之后再生。因此,在如所示出的循环之后,阈值电压分布可以变化或漂移。因此,在循环之后,使用参考电压从之前循环读取的数据可能不正确。读取操作通常涉及关于存储在存储器单元中的比特进行硬判决。考虑可以存储0或I的单比特存储器单元。假设对应于存储的值(即,状态)0和I的标称阈值电压分别是Vtl和%。不失一般性,假设Vtl > Vi。因为单比特存储器单元可以具有两个状态0或1,所以设置在Vtl和V1中心的仅一个参考电压\通常足够检测单比特存储器单元的状态。
阈值电压可以归因于使用、操作条件(例如,噪声)和单元间干扰(即,当前被写入一个单元中的数据影响之前写入附近单元中的数据)随时间变化。如果两个阈值电压均遭受类似的噪声条件,则参考电压I可以被设置在Vc^p V1的中点,即\ = 0.0+nx)。从比特误差率(BER) +角度可以看到I的这个设置是最佳的。单元的阈值电压(即,处于该电压时漏极电流为高)与\进行比较。如果阈值电压大于Vp则将单元读取为0,否则读取为I。这被认为是硬判决,因为读取操作的结果是关于存储器单元的状态的硬判决。通常,同时读取在一块或一页中的存储器单元。S卩,电压被施加给一页中的存储器单元,并且依赖于单元的阈值电压是大于还是小于参考电压将单元读取为存储0或I。当噪声水平为高或单元的阈值电压分布由于使用和单元间干扰而移位时,如果参考电压未被调节为说明噪声或移位,则硬判决可能是不正确的。误差校正解码器可被用于校正某些错误。然而,不是所有误差都可以被校正。在确定存储器单元的阈值电压时,可以通过执行多次读取而不是执行单次读取来减少误差。特别地,可以使用附加的参考电压执行附加读取以确定阈值电压。通过执行更多读取,可以关于存储在单元中的数据收集更多的信息。通过执行附加的读取而收集的附加的信息被称为软信息,其可以由解码器用于校正误差。在图5中,考虑可以存储I或0的单比特单元的示例阈值电压分布。对应于单元的两个状态的标称电压水平被分别表示为-1或I。仅为举例,-1和I可以分别对应于IV和4V。S卩,在图5中,VJP V。可以分别等于IV和4V。假设三个参考电压Vrt < Vr2 < Vr3被使用在三个读取操作中以确定单元的阈值电压。即,施加给单元的电压与三个参考电压进行比较以确定单元的阈值电压。三个参考电压将包括阈值电压的实线划分为四个区域R1 = (_ ^,Vrl]、R2 = (Vrl, Vr2]、R3 = (Vr2, Vr3]和R4 = (Vr3,-]。通过执行三个读取,单元的阈值电压可以被装入四个区域或仓中的一个中。

具有在仓0中的阈值电压的单元更可能已存储了 -1,并且具有在仓3中的阈值电压的单元更可能已存储了 I。然而,具有在仓I和仓2中的阈值电压的单元可能已存储了 -1或I。可以通过进一步增加读取的数目来降低关于在仓I和2中的单元的状态的不确定性。即,通过增加读取的数目可以更精确地确定单元的阈值电压。然而,出于实用的目的,读取的数目应当保持有限。现在说明软信息的概念。假设单元的阈值电压在仓0中。已知阈值电压读取(即Y)位于仓0中(即Y G仓0),单元的状态是1(即X = I)的概率P被表达为P(X= 1|Y G仓O)。类似地,已知阈值电压读数(即Y)位于仓0中(即Ye仓0),单元的状态是_1(即,x = -1)的概率P被表达为P(X =-1|y G仓O)。如果单元的阈值电压在仓制0中,则概率P(x = -1 IY G仓)相对于概率P(X = I |y G仓0)为高。针对每个单元计算这些概率,并且通过这些概率计算对数似然比(LLR)。特别地,当单元的阈值电压位于仓中的一个时(即当Y已知时),可以计算LLR以确定单元的实际阈值电压(即 X)是 I 还是-1。LLR 被表达成 log[P(X = 1|Y)/P(X = _1|Y)]。P(X = l|Y)是在给定Y时(即阈值电压读数在给定仓中)单元的实际阈值电压X是I的概率。P(X= -l|Y)是在给定Y时(即阈值电压读数在给定仓中)单元的实际阈值电压X是-1的概率。概率 P(X = 1|Y)和 P(X = -1|Y)的和为 I。即,P(X = 11Y) +P(X = -1|Y) = I。
如果P(X = 1|Y)大于P(X = _1|Y),则LLR为正,并且如果P (X = l|Y)小于P(X=-1 |Y),则LLR为负。因此,如果LLR的符号为正,则单元的实际阈值电压更可能是1,并且如果LLR的符号为负,则单元的实际阈值电压更可能是-1。LLR的量值的绝对值指示对结果的置信度。量值的绝对值越高,则对结果的置信度越大。换句话说,LLR的符号指示硬判决,并且LLR的量值的绝对值指示硬判决的可靠性。因此,当执行单个读取以读取单元的块时,结果是与单元相关联的硬判决I和-1的流。另一方面,当执行多个读取时,结果是与单元相关联的仓号。在最右和最左仓中的单元的状态分别是具有高可靠性的I和-1。关于在最右和最左仓中的单元的状态的信息是软信息,其可由解码器用于确定那些状态不确定的剩下的单元的状态。可以如下设置用于多个读取的参考电压。通常,执行t个读取的过程可以被转译为将与之电压位于其上的实现分为(t+1)个区域中并把单元的阈值电压装仓到区域之一。更一般地,这个过程可以被转译为具有两个输入(-1和I)和(t+1)个输出(即(t+1)个区域或仓)的通道。例如,如图5中所示,通过执行三个读取,可以将单元的阈值电压装仓到四个区域或仓之一中。当计算参考电压时,也计算与每个仓相关联的LLR和概率。LLR被分配给各自的仓。像参考电压一样,LLR值可以围绕阈值电压分布的中心对称。例如,除了符号的变化,用于仓0的LLR值可以与用于仓3的LLR值相同。类似地,除了符号的变化,用于仓I的LLR值可以与用于仓2的LLR值相同,以此类推。目前,基于仓索引分配LLR。存储器单元的仓索引指示存储器单元的阈值电压分布的位置。该位置与用于读取存储器单元的参考电压有关。向具有相同仓索引的存储器单元分配相同LLR。然而,为了补偿单元间干扰,附近单元的状态也需要被考虑。如果具有相同仓索引的两个单元的附近单元具有不同状态,则这两个单元可以具有不同的LLR。在图6A和图6B中,存储器阵列12包括沿着如所示出的字线WL0、WL1、......、WLn
和位线BL0、BL1........BLn定位的存储器单元14,其中n是大于I的整数。仅为举例,假
定存储器单元14每单元存储2个比特。数据被按照页存储在存储器单元14中。因为存储器单元14每单元存储2个比特,所以每个字线将与2页相关联:第一页(例如,页A),在第一页存储每个存储器单元沿着字线的2个比特中的第一个比特;和第二页(例如页B),在第二页存储每个存储器单元沿着字线的2个比特中的第二个比特。通常以预定的顺序对页进行编程。制造者优化编程页的顺序以最小化单元间干扰。例如,顺序可以如图6B中所示:页0、1、2和3可以分别沿着字线0、1、2和3 ;页4、5、6和7可以分别沿着字线0、1、2和3 ;页8和9可以分别沿着字线4和5 ;页10和11可以分别沿着字线4和5;以此类推。按照以下顺序对页进行编程:字线0被编程到程序页0 ;字线I被编程到程序页I ;字线2被编程到程序页2 ;字线3被编程到程序页3 ;继而字线0被编程到程序页4 ;字线I被编程到程序页5;以此类推。因此,页0和4而不是页0和I将沿着字线O。相反,如果页0和I沿着字线0,并且如果页2和3沿着字线1,则页0和I将首先被编程,而后是页2和3。然而,在已经编程页0和I之后编程页2和3将影响写入页0和I中的数据。相反,如果如图6B中所示编程页,则当在字线0上写入页4时,可以考虑已经沿着字线I写入在页I上的数据的影响。
尽管制造者优化顺序以最小化单元间干扰,但是某些内部干扰可能仍然存留。制造者的顺序针对设备类型而固定。例如,使用19纳米工艺制造的3比特每单元存储器集成电路可以具有针对该设备优化的固定的编程顺序。基于制造者的顺序,设备中的单元间干扰可以遵循一个模式。该模式可以被识别和补偿。可以在设备被制造之后和使用者开始使用设备存储数据之前针对设备生成补偿数据。可以在使用者开始使用设备存储数据之前向设备添加补偿数据。补偿数据可以贯穿设备的使用寿命用于补偿单元间干扰。图7A至图7D用于说明单元间干扰。在图7A中,当数据被写入到第i个字线中的第j个单元(即在第j个字线和第i个位线的交叉点处的单元)时,数据受到先前写入一个或多个附近单元中的数据影响。受附近单元影响的在第i个字线中的第j个单元被称为受害者单元(V)。影响受害者单元的附近单元被称为攻击者单元(A)。攻击者单元归因于攻击者单元与受害者单元之间的耦合而影响受害者单元。攻击者单元临近于受害者单元定位。例如,攻击者单元可以定位在字线j + 1和/或j_l处,其临近于其中定位有受害者单元的字线j。攻击者单元还可以定位在位线i+1和/或i_l处,其临近于其中定位有受害者单元的位线i。在图7B中,受害者单元的阈值电压分布是一个或多个攻击者单元的状态的函数。仅为举例,假定单元可以存储2比特每单元(即每个单元可以具有四个可能状态中的一个可能状态)。假定两个受害者单元Vl和V2受两个攻击者单元Al和A2的影响。仅为举例,假定攻击者单元Al被充电到最高状态(状态4)并且攻击者单元A2被充电到最低状态(状态I)。仅为举例,进 一步假定受害者单元Vl和V2被编程到第二状态。因为攻击者单元A2被编程到最低状态,所以攻击者单元A2的状态可以不干扰受害者单元V2的状态。因此,受害者单元V2的阈值电压分布将如所示显示为正常。因为攻击者单元Al被编程到最高状态,所以攻击者单元Al的状态可以干扰受害者单元Vl的状态。因此,受害者单元Vl的阈值电压分布可以如所示向右移位。因此,当读取受害者单元Vl和V2时,在不知道攻击者单元Al和A2的状态时,受害者单元Vl和V2的阈值电压分布将表现为单个分布,其事实上是如所示出的正常分布和移位的分布的总和。现在假定沿着字线的N个单元被编程到第二状态。N个单元中的每个单元将具有附近单元。附近单元中的每个单元可以具有四个可能状态中的一个。因此,N个单元可以被划分成四个组。N/4个单元的第一组可以具有编程到状态I的附近单元。N/4个单元的第二组可以具有编程到状态2的附近单元。N/4个单元的第三组可以具有编程到状态3的附近单元。N/4个单元的第四组可以具有编程到状态4的附近单元。在图7C中,如果附近单元被编程到状态1,则附近单元将对N个单元的阈值电压分不造成影响。因此,四组中每一组中的单元的阈值电压分布将表现为正常。N个单元的总阈值电压分布将如所示是四个组的分布之和。然而,在图7D中,如果附近单元被编程到状态I到4,附近单元将如所示影响N个单元的阈值电压分布。因此,四个组中的每一组中的单元的阈值电压的分布将如所示呈现移位。如所示,N个单元的总阈值电压分布将是四个组的分布之和。在第四组中的N/4个单元的阈值电压分布可以实际上已几乎移位了一个状态,这通过简单的检测总分布将不是可检测的,除非考虑到附近状态的状态。
因此,为了补偿单元间干扰,替代分配相同的LLR给具有相同仓索引的两个单元,如果每个单元的附近单元具有不同的状态,则可以向每个单元分配不同的LLR。例如,如果两个受害者单元Vl和V2具有相同的状态(例如,状态2),并且如果它们各自的攻击者单元Al和A2具有不同的状态(例如,Al具有状态4,而A2具有状态I),则可以向Vl分配与V2不同的LLR以区分Vl的阈值电压分布与V2的阈值电压分布,尽管Vl和V2的总分布(以及由此的仓索引)相同。在图8中,使出了具有能够存储3比特每单元的存储器单元的存储器设备的直方图。每个单元可具有八个可能状态中的一个。注意,替代单个总分布,可以观察到三个不同的阈值电压分布。同样,因为具有某些状态的单元导致类似的单元间干扰,未观察到对应于八个独立状态的八个独立分布。例如,具有状态1、3、5和7的单元导致类似的单元间干扰;具有状态0、4和6的单元导致类似的单元间干扰;并且具有状态2的单元导致类似的单元间干扰因此,因此,当单元可以具有八个可能状态时,仅三个阈值电压分布导致单元间干扰。单元间干扰模式 是设备相关的。即,针对存储器设备所观察的单元间干扰模式对于使用相同工艺制造的存储器设备的全部单位而言相同。进一步地,单元间干扰模式(即,攻击者单元的导致对受害者单元的单元间干扰的模式)贯穿存储器设备的寿命没有发生改变,尽管存储器设备的寿命归因于使用。因此,存储器设备的单元间干扰模式是存储器设备的特色性特性。存储器设备的单元间干扰模式基于存储器设备制造者针对设备而优化的编程序列或编程页的顺序。因此,对于存储器设备,可以通过选择受害者单元和分析一个或多个攻击者单元的影响来研究单元间干扰模式。可以沿着与受害者单元相同的位线和/或相同的字线定位攻击者单元。备选地或附加地,可以沿着临近的字线和/或位线定位攻击者单元。在图9A和图9B中,根据本发明的检测和补偿单元间干扰的存储器集成电路(IC) 100如下所示。在图9A中,存储器IC100包括存储器阵列12、WL/BL解码器模块102和控制模块104。控制模块104包括读取模块110、参考电压模块112、装仓模块114、攻击者状态确定模块116、LLR模块118、补偿模块120、映射模块122和解码器模块124。读取模块110读取存储器单元的状态,其由存储器阵列12中的WL/BL解码器模块102选择。参考电压模块112生成参考电压以读取存储器单元。装仓模块114基于用于读取存储器单元的参考电压将存储器单元的阈值电压分布划分成多个仓。装仓模块114基于使用参考电压在存储器单元上执行的读取操作生成用于每个存储器单元的仓索引。如下所述,攻击者状态确定模块116确定影响受害者单元的攻击者单元的状态并且确定影响受害者单元的被称为用于攻击者单元的攻击者状态的组合状态。LLR模块118基于针对每个存储器单元的攻击者状态和仓索引的组合生成LLR。补偿模块120基于LLR补偿(消除)单元间干扰。映射模块122如下所述将攻击者状态映射到攻击者单元的阈值电压分布以优化攻击者状态信息。在使用中,在发生误差而补偿单元间干扰之后,解码器模块124解码读取自存储器阵列12的数据。现在详细说明这些模块的操作。如上所述,为了说明单元间干扰,仓索引还应当反映附近单元的状态。针对其计算LLR的单元被称为受害者单元。导致对受害者单元的单元间干扰的附近单元被称作攻击者单元。如下生成攻击者状态。
假定,例如在2比特每单元存储器设备中,受害者单元受两个攻击者单元影响,其中的每一个可以具有四个可能状态中的一个。在这个示例中,两个攻击者单元可以具有总共16个状态,并且存储器的四比特对于存储两个攻击者单元的组合状态将是必须的。两个攻击者单元的组合状态被称为攻击者状态。在图8中示出的示例中,当八个可能状态的总数可具有八个对应的阈值电压分布时,八个分布中的仅三个导致单元间干扰,因为某些状态并不导致干扰并且某些状态导致类似的干扰。因此,出于单元间干扰的目的仅需要考虑三个分布。类似地,当针对两个攻击者单元具有16个可能状态时,16个可能状态中的某些将不引起单元间干扰,并且16个可能状态中的一些将导致某些类似的干扰。因此,将引起单元间干扰的分布的总数将小于16。因此,小于四个比特对于存储两个攻击者单元的攻击者状态将是必需的。在图9B中,示出了生成和存储用于受害者单元的软信息(仓索引信息)和攻击者状态信息的示例。读取模块110使用多个参考电压多次读取存储器单元的页,其中页包括受害者单元(和可能的攻击者单元)。基于多次读取操作,装仓模块114生成用于每个受害者单元的软信息(仓索引信息)并且针对每个受害者单元在第一组的六个比特(比特零到比特五)中存储软信息。读取模块110读取存储器单元的一个或多个临近页,其中临近页包括用于受害者单元的攻击者单元。附加地,如果包括受害者单元的页还包括攻击者单元,则读取模块Iio还可以读取包括受害者单元的页。攻击者状态确定模块116确定攻击者单元的状态、生成攻击者状态并且在第二组的六比特(比特六到比特11)中存储用于每个受害者单元的攻击者状态信息。因此,比特0到11形成如下度量,该度量包括用于受害者单元的软信息和攻击者状态信息并且指示由攻击者单元引起的对受害者单元的单元间干扰。基于度量,LLR模块118可以生成LLR以消除由攻击者单元引起的对受害者单元的单元间干扰。

第一组的六比特指示受害者单元的阈值电压分布的位置,而第二组的六比特指示引起对受害者单元的单元间干扰的攻击者单元的分布的数量(例如,在图8中示出3个分布)。读取模块110区分被执行以生成软信息的读取操作和被执行以生成攻击者状态信息的读取操作。例如,描述符字段中的比特可以用于区分读取操作。因此,通过读取操作获得的数据可以被路由以更新存储在适当存储器位置中的信息。其它方式可以用于区分读取操作。可以通过攻击者单元的字线数和位线数参数化攻击者单元。具体而言,对于每个受害者单元,对应的攻击者单元的位置可以按照字线数和位线数的偏移来指定。例如,在图7A中,如果受害者单元定位在字线i和位线j,则攻击者单元可以定位在字线i+1和位线j-1、字线i和位线j_l和/或字线i+1和位线j。参数或偏移提供了攻击者单元关于受害者单元定位在何处的空间指示。因此,可以按照受害者单元和对应的攻击者单元的字线数和位线数的偏移指定用于存储器设备的单元间干扰模式。读取模块110利用单元间干扰模式以执行读取操作并且包括生成自每个读取操作的数据中的偏移信息,从而使得可以适当地更新软信息和攻击者状态信息。例如,对于在位线j上的受害者单元,攻击者单元可以在位线j+k上,其中k是任意整数。因此,来自每个读取操作的数据应当包括k的值。例如,让攻击者单元在字线i+1和位线j+1处。在这种情况下,当读取字线i+1中的页时,描述符被编程以指示来自读取操作的数据包括具有k= I的攻击者状态信息。因此在新读取中的位线m的值应当进入针对位线m-1的仓索引存储器中。另一攻击者单元可以在字线i+2和位线j-1处。在这种情况下,当读取字线i+2中的页时,描述符被编程以指示来自读取操作的数据包括具有k = -1的攻击者状态信息。在这种情况下,在新读取中的位线m的值应当进入针对位线m+1的仓索引存储器中。在获取所有的软信息和攻击者状态信息之后,LLR模块118基于获取的软信息和攻击者状态信息针对每个单元生成LLR。在正常操作期间,当通过读取模块110读取的页具有归因于单元间干扰的误差时,补偿模块120基于页中的单元的LLR校正误差。具体而言,LLR模块118生成以一组表形式的LLR,每个可能的攻击者状态一个表。如果需要k比特来存储攻击者状态,则将需要2k个表来存储LLR。这可以急剧地增加用于存储LLR所需要的存储器的数量和用于编程表所需要的时间的数量。然而,如以上参考图8所说明的,如果存在总共2k个攻击者状态,则某些状态的影响将是类似的,并且一般而言,某些状态可以被分组成一个状态。对受害者单元有类似的单元间干扰作用的攻击者单元的状态的组被称为分布。例如,在图8中,尽管攻击者单元可以具有总共八个状态,但仅有三个分布(每个分布包括一组状态)影 响受害者单元,并且因此将导致三个LLR表代替八个LLR表。因此,表的总数将等于分布的数量而不是状态的数量。表格提供LLR,其为整数。对于用于受害者单元的仓索引值,以及对于对应于受害者单元的攻击者单元的攻击者状态,表提供LLR值。在图10中,说明LLR表的概念。仅为举例,考虑2比特每单元存储器设备。假设受害者单元定位在字线i和位线j,其由(i,j)指示。进一步假定引起对受害者单元的单元间干扰的两个攻击者单元定位在(i,j-1)和(i,j+1)。两个攻击者单元可具有总数为16个可能的状态。依赖于由16个状态引起的单元间干扰,16个可能的状态可被分组成三个分布,其中被分组到一个分布中的状态引起类似的单元间干扰:分布O、分布I和分布2。假设每个2比特每单元的四个状态由O、1、2或3表示。分布0对应于或代表16个状态中的如下九个的阈值电压分布:


、[1,0]、[1,1]、[1,2]、[2,0]、[2,1]和[2,2]。分布I对应于或代表16个状态中的如下六个的阈值电压分布:[3,0]、[3,I]、[3,2]、
、[1,3]和[2,3],其中至少一个攻击者单元被编程到最高状态3。分布2对应或代表16个状态中的如下一个的阈值电压分布:[3,
3],其中两个攻击者单元均被编程到最高状态3。为了存储诸如[x,y]的状态,需要四个比特。然而,对于四个比特,16个不同的表并不是必需的,因为用于引起类似单元间干扰的某些状态的表将是相同的。例如,用于状态
和[2,0]的表将是相同的,因为由这些状态引起的单元间干扰具有相同的阈值电压分布。因此,映射模块122将攻击者状态映射到分布数。例如,在图10中示出的示例中,映射模块122将对应于分布0的九个攻击者状态映射到分布数0,将对应于分布I的六个状态映射到分布数1,以及将对应于分布2的一个状态到分布数2。
因此,攻击者状态信息的四个比特被压缩成两个比特,其被要求存储分布数0、1或2。表的数量被降低到分布数的数量(例如,在图10中示出的示例中,用于三个分布的三个表代替用于16个状态的16个表)。LLR模块118为每个分布数生成一个LLR表格。例如,在图9B中,分布数从比特6开始被写入攻击者状态存储器中。因此,在一个示例中,为了存储八个分布数,仅比特6、比特7和比特8可能是必需的。这将节省存储器,因为原本是用于存储更大的攻击者状态信息所必须的比特9、比特10和比特11将不是用于存储更少的分布数所要求的。在图11中,2比特每单元设备的示例示出了映射之前用于存储攻击者状态信息所要求的存储器的数量与映射之后用于存储分布数所要求的存储器的数量之间的差异。在将攻击者状态映射到分布数之前,比特6和比特7包含攻击者单元(i,j-1)的状态,并且比特8和比特9包含攻击者单元(i,j+l)的状态。在将攻击者状态映射到分布数之后,比特6和比特7包含分布数。 在图12A和图12B中,映射模块122可以将映射信息压缩以在攻击者状态存储器中空出更多比特以支持读取更多攻击者单元(例如,在未来设备中)。因为攻击者状态的数量可以远多于分布的数量,所以攻击者状态到分布数查找表可以很大。例如,如果攻击者状态由9比特确定并且分布的总数是8,则查找表将具有512个条目。而且,如果攻击者状态存储器是仅6比特,则无法支持这个攻击者模式,除非可以如下压缩映射信息。可以在多个步骤中执行攻击者状态到分布数映射以支持这种情况。在图12A中,仅为举例,再次考虑2比特每单元存储器设备,在其中攻击者状态由4比特确定,但仅存在3个分布(这仅是为了例示的目的,在实践中,攻击者状态可以由9比特确定)。现在假设我们仅具有用于攻击者状态存储器的3比特。映射可以在随后两个步骤中实现。在第一步骤中,读取模块110读取攻击者单元(i,j-1)的状态并且它存储在比特6和比特7中。这时,从攻击者状态到分布数的映射根据图12A中示出的表执行。分布数现在包含在比特6中。在图12B中,在步骤2中,读取模块110读取攻击者单元(i,j+l)并且存储比特7和比特8中的状态。从攻击者状态到分布数的另一映射使用图12B中示出的表执行。分布数现在包含在比特6和比特7中。在使用中,例如,由攻击者单元引起的对受害者单元的单元间干扰被如下消除,其中攻击者单元的状态信息被压缩并且存储在比特7和6中,而受害者单元的仓索引被存储在软信息存储器中(在图9B中示出的比特0-5)。从比特7和比特6获得LLR表(例如,对应于分别由在图12B中的00、01或10表示的分布数O、I或2的表)。继而获得对应于受害者单元的仓索引的LLR表中的LLR条目。LLR被用于消除由攻击者单元在受害者单元上引起的单元间干扰。对于存储器设备,可以检测作为存储器设备的鲜明特征的单元间干扰模式,并且继而可以基于所检测的单元间干扰模式生成LLR表并提供给制造者以用于并入存储器设备中以用于干扰消除。如下离线(一旦设备被制造之后)执行发现步骤,发现步骤包括检测攻击者单元和它们的影响。在图13中,发现模块200确定存储器集成电路202的单元间干扰模式。发现模块200包括单元选择模块204、读取/写入数据生成模块206、攻击者单元检测模块208和干扰模式检测模块210。单元选择模块204选择受害者单元,并且选择附近单元以确定是否任何附近单元为攻击者单元。读取/写入数据生成模块206在受害者单元和攻击者单元中写入所有可能状态,并且对于写入到受害者单元和每个攻击者单元的每个状态,读回写入到受害者单元的数据。基于读取/写入操作,攻击者单元检测模块208通过检测哪些隔壁单元中的哪些状态引起与受害者单元的单元间干扰来针对每个受害者单元检测攻击者单元。基于检测的攻击者单元,干扰模式检测模块210检测干扰模式,其是存储器集成电路202的显著特性。发现步骤的结果是3元组(a,b,c)的列表,其中a是字线数中的偏移,b是位线数中的偏移,并且c是攻击者位线中的页的类型。具有c的原因是在某些设备中单元间干扰不依赖于字线中的某些比特的可能性。例如,MSB(最高有效位)和CSB(中心有效位)可以确定单元间干扰和没有LSB (最低有效位)。本质上,发现步骤生成向量,其指示对于给定类型的存储器设备,对于受害者单元(i,j),哪些单元是攻击者单元。例如,在使用24纳米工艺制造的2比特每单元存储器设备中,受害者单元(i,j)受攻击者单元(i,j-1)、(i,j+1)和(i+2,j)的影响。每个攻击者单元有两个比特。因此,发现步骤的输出将包括单元间干扰模式,从而指示针对每个受害者单元的攻击者单元的位置,并且这将如下所示。攻击者单元(i,j-1)对受害者单元(i,j)的单元间干扰是:(0,-1,0)和(0,-1,I),其中字线偏移a = 0,位线偏移b = -1,并且c = 0和1,因为攻击者单元的全部两个比特引起干扰。攻击者单元(i,j+1)对受害者单元(i,j)的单元间干扰是:(0,1,0)和(0,1,1),其中字线偏移a = 0,位线偏移b= 1,并且C = O和1,因为攻击者单元(i,j+l)的全部两个比特引起干扰。攻击者单元 (i+2, j)对受害者单元(i,j)的单元间干扰是:(2,0,0)和(2,0,1),其中字线偏移a = 2,位线偏移b = 0,并且c = 0和1,因为攻击者单元(i+2,j)的全部两个比特引起干扰。例如,在使用27纳米工艺制造的3比特每单元存储器设备中,受害者单元(i,j)受攻击者单元(i+1,j)的影响。发现步骤的输出将包括单元间干扰模式,从而指示针对每个受害者单元的攻击者单元的位置,并且这将如下所示。攻击者单元(i+1,j)对受害者单元(i,j)的单元间干扰是:(1,0,0)、(1,0,0)和(1,0,2),其中字线偏移&= 1,位线偏移b = 0,并且c = 0、1和2,因为攻击者单元(i+1,j)的全部三个比特引起干扰。在将来,在假设的3比特每单元存储器设备中,受害者单元(i,j)可以受攻击者单元(i+1,j)、(i+l,j-1)和(i+1,j+1)影响。发现步骤的输出将包括单元间干扰模式,从而指示针对每个受害者单元的攻击者单元的位置,并且这将如下所示。攻击者单元(i+1,j)对受害者单元(i,j)的单元间干扰将是:(1,0,0)、(1,0,1)和(1,0,2),其中字线偏移a = 1,位线偏移b = 0,并且C = O、I和2,因为攻击者单元(i+1,j)的全部三个比特将引起干扰。攻击者单元(i+1,j-1)对受害者单元(i,j)的单元间干扰将是:(1,-1,0)、(1,_1,I)和(1,-1,2),其中字线偏移a = 1,位线偏移b = -1,并且c = 0、1和2,因为攻击者单元(i+1,j-1)的全部三个比特将引起干扰。攻击者单元(i+1, j+1)对受害者单元(i,j)的单元间干扰将是:(1,1,0)、(1,1,I)和(1,1,2),其中字线偏移a = 1,位线偏移b = 1,并且c = 0、1和2,因为攻击者单元(i+1, j+1)的全部三个比特将引起干扰。可以看到如果发现步骤的输出是大小k的列表,用于存储攻击者状态信息需要则k比特。如果k> 6,则上面参考图12A和图12B说明的多步映射需要用于压缩攻击者状态信息。发现步骤还包含向分布数映射表提供中间攻击者状态。发现步骤还提供用于针对不同分布计算LLR所必须的信息。在图14中,示出了根据本公开内容的用于补偿单元间干扰的方法250。在252,控制多次读取第一页,生成软信息并在存储器比特的第一集合中存储软信息。在254,控制读取临近于第一页的第二页,基于攻击者单元的组合状态生成攻击者状态信息并在存储器比特的第二集合中存储攻击者状态信息。在256,控制将攻击者状态信息映射到分布数并利用分布数更新存储在比特的第二集合中的攻击者状态信息。在258,控制压缩攻击者状态信息,通过最优化分布数来包括分布数。在260,控制基于软信息和攻击者状态信息生成LLR并且每个分布数生成一个LLR表。在图15中,使出了根据本公开方式的用于使用单元间干扰消除来解码数据的方法300。在302,在使用中,控制读取页并且生成软信息。在304,控制确定是否在页中出现误差和读取页中的单元。在314,如果没有出现误差,则控制解码数据。在306,如果出现误差,则控制读取对应于单元的攻击者单元并生成攻击者状态信息。在308,控制定位用于攻击者状态的分布数。在310,在用于分布数的LLR表中,控制定位用于对应于单元的软信息的条目的LLR。在312,控制使用LLR补偿干扰。在314,控制解码页中的数据。
`
在图16中,示出了根据本公开内容的用于检测存储器集成电路中的攻击者单元的模式的方法350。在352,控制编程每个单元和其附近单元到不同状态。在354,对于每个单元,控制检测引起单元间干扰的附近单元(攻击者单元)。在356,控制确定用于存储器集成电路的单元间干扰模式。前述的描述在性质上仅仅是例示性的并且绝不是旨在于限制本公开内容、其应用或使用。本公开内容的广泛教示可以按照各种形式实现。因此,当本公开内容包括特定示例时,本公开内容的真实范围不应当被如此限制,因为其它的修改通过研究附图、说明书和随后的权利要求书将变得明显。出于清楚的目的,相同的参考标记将被使用在图中以表示类似的元件。正如此处使用的,短语A、B和C中的至少一个应该被解释成意味着使用非排他的逻辑OR逻辑(A或B或C)。应当理解,在未改变本公开内容的原理的情况下,方法中的一个或多个步骤可以按照不同的顺序(或同时)执行。在本申请中,包括以下定义,术语模块可以由术语电路代替。术语模块可以指代以下各项或作为以下各项的部分或包括以下各项:专用集成电路(ASIC);数字、模拟或混合模拟/数字分立电路;数字、模拟或混合模拟/模拟集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共享的、专用的或成组的);存储由处理器执行的代码的存储器(共享的、专用的或成组的);提供描述的功能的其它的合适的硬件组件;或以上的部分或全部的组合,诸如在片上系统中。如以上所使用的,术语代码可以包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类和/或对象。术语共享处理器包含执行来自多个模块的某些或全部代码的单个处理器。术语成组处理器包含与附加的处理器结合的处理器,执行来自一个或多个模块的某些或全部代码。术语共享存储器包含存储来自多个模块的某些或全部代码的单个存储器。术语成组存储器包含与附加的存储器结合的存储器,存储来自一个或多个模块的某些或全部代码。术语存储器可以是术语计算机可读介质的子集。术语计算机可读介质并不包含通过介质传播的暂时的电磁信号和电信号,并且可以因此被认为是有形的和非暂时的。非暂时的有形的计算机可读介质的非限制性示例包括非易失性存储器、易失性存储器、磁存储器和光学存储器。在本申请中描述的装置和方法可以部分地或全部地通过由一个或多个处理器执行的一个或多个计算机程序实现。计算机程序包括存储在至少一个非暂时的有形的计算机可读介质上的处理器可执行指 令。计算机程序还可包括和/或依赖于存储的数据。
权利要求
1.一种系统,包括: 读取模块,配置用于 通过沿着存储器阵列的第一字线读取存储器单元生成关于沿着所述存储器阵列的第一位线和所述第一字线定位的第一存储器单元的第一信息,所述存储器单元包括所述第一存储器单元,其中所述第一信息指示相对于施加给所述第一字线以读取所述存储器单元的多个阈值电压的所述第一存储器单元的阈值电压分布的位置,以及 通过读取第二存储器单元生成关于所述第二存储器单元的第二信息,其中所述第二存储器单元沿着(i)所述第一字线、(ii)临近于所述第一字线的第二字线或(iii)临近于所述第一位线的第二位线定位,其中所述第二信息指示引起对所述第一存储器单元的干扰的所述第二存储器单元的状态;以及 补偿模块,配置用于基于(i)所述第一信息和(ii)所述第二信息补偿由所述第二存储器单元的所述状态引起的所述干扰。
2.如权利要求1所述的系统,其中所述补偿模块被配置用于使用对应于(i)所述第一信息和(ii)对应于引起对所述第一存储器单元的所述干扰的所述第二存储器单元的所述状态的阈值电压分布的分布数的对数似然比补偿所述干扰。
3.如权利要求1所述的系统,进一步包括: 状态确定模块,配置用于确定引起对所述第一存储器单元的干扰的一个或多个存储器单元的状态,所述一个或多个存储器单元包括所述第二存储器单元, 其中所述一个或多个存储器单元沿着(i)所述第一字线、(ii)临近于所述第一字线的所述第二字线或(iii)临近于所述第一位线的所述第二位线定位,以及 其中所述一个或多个存 储器单元的位置依赖于编程所述存储器单元的预定序列。
4.如权利要求3所述的系统,进一步包括: 映射模块,配置用于将引起类似干扰的一个或多个所述状态映射到分布数, 其中所述分布数表示引起对所述第一存储器单元的所述干扰的所述一个或多个所述状态的阈值电压分布。
5.如权利要求4所述的系统,进一步包括: 对数似然比模块,配置用于生成对应于(i)所述第一信息和(ii)所述分布数的对数似然比, 其中所述对数似然比被用于补偿对所述第一存储器单元的所述干扰。
6.一种系统,包括: 选择模块,配置用于 选择沿着存储器阵列的第一位线和第一字线定位的第一存储器单元,以及选择沿着(i)所述第一字线、(ii)临近于所述第一字线的第二字线或(iii)临近于所述第一位线的第二位线定位的第二存储器单元, 其中基于编程所述存储器单元的预定序列选择所述第二存储器单元的位置; 读写模块,配置用于 在所述第一存储器单元中并且随后在所述第二存储器单元中写入数据,以及 读取所述第一存储器单元和所述第二存储器单元;以及 检测模块,配置用于检测引起对所述第一存储器单元的干扰的所述第二存储器单元的一个或多个状态。
7.如权利要求6所述的系统,进一步包括: 读取模块,配置用于 通过沿着所述存储器阵列的所述第一字线读取存储器单元生成关于所述第一存储器单元的第一信息,所述存储器单元包括所述第一存储器单元, 其中所述第一信息指示相对于施加给所述第一字线以读取所述存储器单元的多个阈值电压的所述第一存储器单元的阈值电压分布的位置;以及状态确定模块,配置用于 确定引起对所述第一存储器单元的干扰的一个或多个存储器单元的状态,所述一个或多个存储器单元包括所述第二存储器单元, 其中所述一个或多个存储器单元沿着(i)所述第一字线、(ii)临近于所述第一字线的所述第二字线或(iii)临近于所述第一位线的所述第二位线定位,以及 其中基于编程所述存储器单元的所述预定序列选择所述一个或多个存储器单元的位置。
8.如权利要求7所述的系统,进一步包括: 映射模块,配置用于将引起类似干扰的一个或多个所述状态映射到分布数, 其中所述分布数表示引起对所述第一存储器单元的所述干扰的所述一个或多个所述状态的阈值电压分布。
9.如权利要求8所述的系统,进一步包括: 对数似然比模块,配置用于生成对应于(i)所述第一信息和(ii)所述分布数的对数似然比, 其中所述对数似然比被用于补偿对所述第一存储器单元的所述干扰。
10.一种方法,包括: 通过沿着存储器阵列的第一字线读取存储器单元生成关于沿着所述存储器阵列的第一位线和所述第一字线定位的第一存储器单元的第一信息,所述存储器单元包括所述第一存储器单元,其中 所述第一信息指示相对于施加给所述第一字线以读取所述存储器单元的多个阈值电压的所述第一存储器单元的阈值电压分布的位置; 通过读取第二存储器单元生成关于所述第二存储器单元的第二信息,其中 所述第二存储器单元沿着(i)所述第一字线、(ii)临近于所述第一字线的第二字线或(iii)临近于所述第一位线的第二位线定位,以及 所述第二信息指示引起对所述第一存储器单元的干扰的所述第二存储器单元的状态;以及 基于(i)所述第一信息和(ii)所述第二信息补偿由所述第二存储器单元的所述状态引起的所述干扰。
11.如权利要求10所述的方法,其中所述补偿所述干扰包括使用对应于(i)所述第一信息和(ii)对应于引起对所述第一存储器单元的所述干扰的所述第二存储器单元的所述状态的阈值电压分布的分布数的对数似然比。
12.如权利要求10所述的方法, 进一步包括:确定引起对所述第一存储器单元的干扰的一个或多个存储器单元的状态,所述一个或多个存储器单元包括所述第二存储器单元, 其中所述一个或多个存储器单元沿着(i)所述第一字线、(ii)临近于所述第一字线的所述第二字线或(iii)临近于所述第一位线的所述第二位线定位,以及 其中所述一个或多个存储器单元的位置依赖于编程所述存储器单元的预定序列。
13.如权利要求12所述的方法,进一步包括: 将引起类似干扰的一个或多个所述状态映射到分布数, 其中所述分布数表示引起对所述第一存储器单元的所述干扰的所述一个或多个所述状态的阈值电压分布。
14.如权利要求13所述的方法,进一步包括: 生成对应于(i)所述第一信息和(ii)所述分布数的对数似然比, 其中所述对数似然比被用于补偿对所述第一存储器单元的所述干扰。
15.—种方法,包括: 选择沿着存储器阵列的第一位线和第一字线定位的第一存储器单元,以及选择沿着(i)所述第一字线、(ii)临近于所述第一字线的第二字线或(iii)临近于所述第一位线的第二位线定位的第二存储器单元,其中基于编程所述存储器单元的预定序列选择所述第二存储器单元的位置; 在所述第一存储器单元中写入数据; 随后在所述第二存储器单元中写入数据; 读取所述第一存储器单元和所述第二存储器单元;以及 检测引起对所述第一存储器单元的干扰的所述第二存储器的一个或多个状态。
16.如权利要求15所述的方法,进一步包括: 通过沿着所述存储器阵列的所述第一字线读取存储器单元生成关于所述第一存储器单元的第一信息,所述存储器单元包括所述第一存储器单元,其中 所述第一信息指示相对于施加给所述第一字线以读取所述存储器单元的多个阈值电压的所述第一存储器单元的阈值电压分布的位置;以及 确定引起对所述第一存储器单元的干扰的一个或多个存储器单元的状态,所述一个或多个存储器单元包括所述第二存储器单元,其中 所述一个或多个存储器单元沿着(i)所述第一字线、(ii)临近于所述第一字线的所述第二字线或(iii)临近于所述第一位线的所述第二位线定位,以及 基于编程所述存储器单元的预定序列选择所述一个或多个存储器单元的位置。
17.如权利要求16所述的方法,进一步包括: 将引起类似干扰的一个或多个所述状态映射到分布数, 其中所述分布数表示引起对所述第一存储器单元的干扰的所述一个或多个所述状态的阈值电压分布。
18.如权利要求17所述的方法,进一步包括: 生成对应于(i)所述第一信息和(ii)所述分布数的对数似然比, 其中所述对数似然比被用于补偿对所述第一存储器单元的所述干扰。
全文摘要
本发明各实施方式总体上涉及单元间干扰消除。具体地,涉及一种方法,包括选择沿着存储器阵列的第一位线和第一字线定位的第一存储器单元。该方法进一步包括选择沿着(i)第一字线、(ii)临近于第一字线的第二字线或(iii)临近于第一位线的第二位线定位的第二存储器单元。基于编程存储器单元的预定序列选择第二存储器单元的位置。该方法进一步包括在第一存储器单元中写入数据,随后在第二存储器单元中写入数据和读取第一存储器单元和第二存储器单元。该方法进一步包括检测引起对第一存储器单元的干扰的第二存储器的一个或多个状态。
文档编号G11C16/06GK103226974SQ201210599259
公开日2013年7月31日 申请日期2012年12月17日 优先权日2011年12月15日
发明者S·K·奇拉帕加里, 陈振钢, G·伯德 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1