用于q电平存储器单元的方法和设备
技术领域
本发明总体上涉及对存储器单元的电平阈值的估计。提供了用于确定在读出q电平存储器单元时连续单元电平之间的阈值的方法和设备,以及合并了该设备的数据存储装置。
背景技术
在固态存储器中,例如闪存和相变存储器,基本存储器单位(“单元(cell)”)可以被设置为q个不同状态或“电平”,允许对信息进行存储。每个单元可以被用来存储q进制(qary)符号,q个可能的符号值中每个符号值由不同的单元电平来表示。在所谓的“单电平单元”(SLC)装置中,存储器单元可以被设置为仅两个电平(q=2),因此可以仅记录二进制值。其他装置使用所谓的“多电平单元”,所述多电平单元可以被设置为q>2个不同的单元电平,从而允许每个单元存储多于一个比特。
对存储在q电平存储器单元中的数据的检测依赖于在回读(readback)时识别不同的单元电平。在闪存和相变存储器(PCM)中,例如,不同的单元电平分别表现出不同的电荷和电阻特性,可以通过单元上的电流或电压测量来检测所述电荷和电阻特性。在对单元进行读出操作时,可以将读取信号电平与一组表示q个单元电平的参考信号电平进行比较,从而确定每个单元被设置成哪个电平,并从而检测存储的符号值。这里的基本问题是在单元读出期间测量的物理量会遇到变异性(variability),例如由于随着时间或单元使用的测量值中的噪声和/或偏移。所以,对于任何给定的存储的符号值和进而对于单元电平,在单元读出时获得的实际读取信号电平是可变的。因此,对被设定为任何给定单元电平的单元的多个读取操作将产生读取信号电平的分布。
用于数据检测的参考信号电平的准确对回读性能至关重要。参考信号电平可以表示为针对q个单元电平的“电平阈值”。对于每对连续存储器单元电平,电平阈值表示定义对应于两个单元电平的读取信号电平分布之间的阈值或边界的读取信号电平。所以,用于检测q电平单元的参考信号电平可以被表示为q-1个电平阈值。
估计参考信号电平的传统技术使用从参考存储器单元池获得的训练数据。每次向存储器写入用户数据块时,将已知信息写入参考单元。然后每当读取用户文件时读取参考单元,并且参考单元读取被用来得到对用于检测的改变的参考信号电平的估计。参考单元的方法有各种缺点,包括由于为参考目使用存储器区域而造成的开销、增加的控制器复杂性和延迟、以及参考单元可能不能真实表示的由于存储器阵列装置中单元之间的固有变异性造成的有效性改变。
用于参考电平的估计的更复杂的技术是自适应性的,其使用来自存储真实用户数据的单元的回读信号来估计用于检测所述单元中的数据的参考电平。用于参考电平估计的自适应技术例如我们的美国专利申请公开号US 2013/0227380 A1中所述的技术。该申请描述了一种用于读取检测MLC存储器中的长度为N的q进制符号代码的***。从而,这些代码的码字每个具有N个符号,其中每个符号可以取q个符号值中的一个符号值。通过基于q进制符号值将单元设置成某电平来将每个符号记录在各个q电平单元中。存储器单元被分批读取以获得对应于码字组的读取信号。每个读取信号具有对应于码字的各个符号的N个信号组分(component)。根据信号值对整组读取信号的读取信号组分进行排序。然后将得到的经排序的组分序列进行划分以获得多个段,每段对应于不同的存储器单元电平。这些段的每段的大小(即,组分的数量)基于预定的频率数据被确定,所述预定的频率数据表示使用代码时出现相应电平的预期频率。从而相邻段之间的边界对应于前面所述的电平阈值。在该***中,进一步处理生成的对应于各个存储器单元电平的读取信号电平分布,以获得统计数据。该数据用于随后的检测过程,该检测过程包括一个或多个检测阶段,从而检测对应于当前这批读取信号的码字。在US 2013/0227380 A1中,检测使用基于向量的匹配技术,该匹配技术有效地将整个读取信号与码字进行匹配。
上述自适应技术在参考单元方式上是大的进步,即使用小的数据记录(即,在回读时小的批大小)也能提供明显改进的性能。然而,发生用户数据的不对称仍然可能出现问题。在回读数据记录中的数据不对称意味着被设置成q个不同的单元电平的单元的数量存在显著的差异。特别是短的数据记录,其在存储器应用中比较典型,甚至可能在主机上有扰码器的情况下有一定的概率出现数据不对称。用户数据的不对称表现出明显影响检测性能。如图所示,附图中的图1显示了在对来自多电平PCM单元中的四千个数据记录的多个连续回读操作中发生了检测错误。检测***基于上述US 2013/0227380 A1的检测***,以及用户数据在用长度N=8的4进制符号代码编码后被存储在具有(q=4)电平单元的相变存储器中。在这些结果中,在三批上有82%的错误。如图所示,这在所有模拟时间步长中持续显示错误。这些批中的电平分布(即,设置成四个连续单元电平的单元的数目)为[89 6141 65]、[77 85 53 41]和[79 84 47 46],呈现了在每种情况下有清楚的数据不对称。
发明内容
本发明的一个方面的一个实施例提供了用于q电平存储器单元的电平阈值确定方法。该方法包括:
读取多个存储器单元,以获得各个读取信号组分;
根据信号电平处理所述读取信号组分,以生成信号电平向量,所述信号电平向量包括一系列元素,所述一系列元素表示读取信号组分按信号电平顺序的分布;
用长度大于扫描中连续窗口位置的间隔的滑动窗口来扫描信号电平向量;
在每个窗口位置处,根据窗口中信号电平向量的元素来计算度量;以及
根据扫描中所述度量的变化来确定针对连续存储器单元电平的电平阈值。
从而,实现本发明的方法可以提供对读出q电平存储器单元时的电平阈值的自适应确定。根据一批单元的读取信号组分生成信号电平向量,所述信号电平向量表示这些组分按信号电平顺序的分布,用滑动窗口扫描该信号电平向量。滑动窗口的概念众所周知,概念“窗口”是被扫描序列中的连续元素组,在扫描中在窗口的任何给定位置“观察”该连续元素组。窗口的长度对应于组中被观察的元素的数量。窗口以预定的间隔从序列的一端向另一端移动,通过连续的窗口位置。在实现本发明的方法中,窗口的长度大于扫描期间连续窗口位置的间隔。所以,在相邻的窗口位置处窗口中的元素组之间存在重叠。在每个窗口位置计算的度量取决于在该位置处窗口中的元素。然后基于扫描过程中该度量的变化,确定针对连续的存储器单元电平的电平阈值。本发明的实施例即使是在存在数据不对称的情况下也可以实现对电平阈值的更准确的识别,从而实现降低检测中的误码率和读回性能的显著改善。
在可以考虑应用到SLC存储器的情况下,实现本发明的方法对于多电平存储器(即,q>2)特别有利。在这种情况下,可以根据度量的变化确定针对q-1对连续存储器单元电平中的每对的电平阈值。
信号电平向量表示按信号电平顺序的读取信号组分的分布。在一些实施例中,可以通过根据信号电平对读取信号组分排序来生成信号电平向量。从而,在还可以考虑另外的处理步骤的情况下,信号电平向量可以仅仅是通过将一批读取信号组分排列成信号电平顺序(即,以信号电平增加或减少的顺序)来生成的向量。在其他实施例中,可以通过根据信号电平使读取信号组分转换成二进制,来生成信号电平向量。这避免了将读取信号组分本身进行排序所需要的排列操作,提供了特别简单的实施方式。还可以考虑另外的处理步骤,信号电平向量可以简单地包括对按信号电平顺序的二进制数生成的二进制计数的向量。
在实现本发明的方法中可以采用各种度量。然而,在优选方法中,在每个窗口位置为所述窗口中的元素确定参考值,以及度量取决于窗口中每个元素与参考值之间的绝对差。参考值优选包括窗口中元素的平均,方便地可以包括窗口中元素的均值。在这些优选方法中,度量包括窗口中各个元素与参考值之间的差的L1范数。在这些方法中,扫描中的度量的变化方便地在对应于电平阈值的位置处呈现了局部最大值。从而,可以根据对应于扫描中度量变化中的阈值的局部最大值的位置来确定每个电平阈值。如果q=2,则单个最大值表示两个电平之间的阈值。如果q>2,则局部最大值按电平阈值的顺序在度量变化中出现。由于可能在数据中出现假的局部最大值,至少在最初可以根据度量变化中第q-1大的局部最大值的位置来确定q-1对连续存储器单元电平的电平阈值。然而,优选实施例基于对随后的检测过程中使用初始电平阈值的错误率的估计来采用校正***。可以采用这些实施例,其中多电平存储器单元存储预定义的有效码字集合的N符号码字的各个q进制符号。这里,所述方法包括:
读取存储码字组的存储器单元,以获得各个读取信号,每个所述读取信号包括N个所述读取信号组分;
根据针对q-1对连续存储器单元电平的所述电平阈值来检测对应于每个所述读取信号的码字;
根据针对所述组检测到的有效码字的数目来计算错误值;以及
如果错误值超过预定错误阈值,则用新的电平阈值替换对应于第(q-1)大的局部最大值的电平阈值,根据在扫描中所述度量变化中的第q大的局部最大值的位置确定所述新的电平阈值。
然后,从读取信号组分中确定的电平阈值可以用于对所述读取信号组分的数据检测。特别地,本发明的第二方面的一个实施例提供了一种用于检测码字的方法,每个所述码字具有N个存储在各个q电平存储器单元中的q进制符号。所述方法包括:
执行根据本发明的第一方面的电平阈值确定方法,所述电平阈值确定方法包括读取存储码字组的存储器单元,以获得各个读取信号,每个所述读取信号包括N个所述读取信号组分;以及
根据确定的所述或每个电平阈值来检测对应于每个所述读取信号的码字。
实现本发明的检测方法可以包括,根据所确定的所述或每个电平阈值,为对应于每个存储器单元电平的所述读取信号组分的分布计算统计数据。然后可以根据统计数据来检测对应于每个所述读取信号的码字。
根据本发明的第三方面的一个实施例提供了一种用于对读出q电平存储器单元时的电平阈值进行确定的设备。所述设备包括:
向量生成器,用于接收通过读取各个存储器单元获得的多个读取信号组分,和根据信号电平处理所述读取信号组分以生成信号电平向量,所述信号电平向量包括一系列元素,所述一系列元指示读取信号组分按信号电平顺序的分布;
滑动窗口扫描器,用长度大于扫描中连续窗口位置的间隔的滑动窗口来扫描所述信号电平向量,并且在每个窗口位置处,根据所述窗口中的信号电平向量的元素来计算度量;以及
阈值识别器,用于根据扫描中所述度量的变化来确定针对连续存储器单元电平的电平阈值。
根据本发明的第四方面的一个实施例提供了一种数据存储装置,包括:
存储器,具有q电平存储器单元;
读/写设备,用于在各个存储器单元中写入q进制符号,和用于读取存储器单元以获得各个读取信号组分,每个所述读取信号组分对应于所述符号;
根据本发明第三方面所述的电平阈值确定设备,用于接收多个所述读取信号组分和由此确定针对连续存储器单元电平的电平阈值;以及
检测器,用于根据所确定的所述或每个电平阈值来检测对应于所述读取信号组分的q进制符号。
一般的,在这里参考本发明的一个方面的实施例来描述特征时,可以酌情在本发明的另一方面的实施例中提供相应的特征。
附图说明
现在将参考附图,以示例的方式,描述本发明的优选实施例,在附图中:
图1示出了使用先前的检测技术在回读多电平存储器时检测错误的发生;
图2示出了实现本发明的数据存储装置的示意框图;
图3是图2装置中的电平阈值估计器的示意框图;
图4示出了图3的设备中的阈值识别器的操作;
图5显示了图3设备的操作中执行的滑动窗口扫描的结果;
图6示出了针对图3设备生成的信号电平向量的电平阈值的识别;
图7a和7b将先前的检测***的性能与使用实现本发明的方法所确定的电平阈值的***进行比较;
图8显示了在存在极端数据不对称时使用实现本发明的方法的电平阈值估计的结果;
图9示出了在本发明的优选实施例中采用的电平阈值校正***的操作;以及
图10针对回读小数据记录将先前的检测***的性能与本发明的实施例进行比较。
具体实施方式
图2是实现本发明的数据存储装置(这里为相变存储器(PCM)装置1)的简化原理图。装置1包括相变存储器2,用于在多电平PCM单元的一个或多个集成阵列中存储数据。存储器2中的每个PCM单元通过以已知的方式调整单元的电阻,可以被设置为q>2个标称电平(这里被标识为l1到lq)之一。虽然在附图中以单个方框示出,但是一般的,存储器2可以包括任何所需配置的PCM存储器单元,例如,范围可以从单个芯片或晶片到对个存储库,每个存储库包括多个存储芯片的封装。装置1包括编码器3,用于如下所述对输入用户数据进行编码。读/写控制器4,控制将生成的码字写入存储器2中,和随后读取存储器单元以获得对应于码字的读取信号。用于处理生成的读取信号的解码器5,包括阈值估计器6、码字检测器7和数据解码器8。阈值估计器6包括用于确定针对q个单元电平的电平阈值的功能。码字检测器8使用电平阈值来检测对应于读取信号的码字,以及数据解码器8对检测到的码字进行解码以恢复原始的用户数据。
在装置1的操作中,要在存储器2中记录的输入用户数据被提供到编码器3。在该实施例中,编码器3将输入数据编码成预定的长度为N的q进制符号码字的码字组,其中一般N≥q。从而,每个码字具有N个符号sn,n=1,2,…,N,以及每个符号取q个可能的值中的一个值。这里,在编码器3中可以采用任何长度为N的q进制符号代码。一般的,编码程序可以包括对输入数据的调制编码或将二进制输入数据简单地映射到q进制符号而不再进一步对用户数据编码。
编码器3输出的码字被读/写控制器4写入到存储器2中。在写入操作中,每个码字的N个符号被存储到存储器2的各个单元中。q个可能的符号值对应于存储器2中的q电平单元的各个预定电平l1到lq。由此,每个存储器单元被设置成某电平,该电平取决于要根据符号值与单元电平之间的预定义的对应性存储的符号值。(注意,当将单元设置成给定电平时,由于读取噪声,单元假设的实际电阻值x可能在围绕所述电平的标称电阻值的小区间内)。为了在随后的读取操作中读取单元,可以将小的探测信号施加给单元,以获得表示单元的电阻的回读信号。
由控制器4将码字块基本上同时写入/读取自存储器。在该实施例中,控制器并行写入/读取B个码字构成的组,从而每组中的码字在同一时刻被写入/读取。在读取操作中,对存储一组B个码字的存储器单元进行读取,以获得B个实数值读取信号y,每个实数值读取信号y具有N个读取信号组分yn,n=1,2,…,N,表示存储码字的N个符号的单元序列的回读电阻值。从而,每个读取信号的信号组分y1,…yN对应于码字的各个符号。一组读取信号y被提供到解码器模块5,以由阈值估计器6和码字检测器7使用。如下面所详述的,阈值估计器6处理读取信号,以确定针对q个存储器单元电平的当前一组电平阈值。码字检测器7基于电平估计器6为所述组确定的电平阈值检测对应于当前组的读取信号的码字。数据解码器8通过执行在编码器3中执行的编码的逆运算对检测的码字进行解码,从而恢复原始输入数据。
一般的,可以用硬件、软件或其结合来实现编码器3和解码器5的功能。例如,特别是对于小代码,可以使用查找表来实施将输入数据字映射到编码器3中的码字,或者利用列举的源编码的已知技术来实现用大代码的更有效的操作。可以用对应的方式实施数据解码器8,来执行编码过程的逆运算。阈值估计器6包括用于执行下面详述的电平阈值确定过程的各个步骤的控制逻辑,并且可以用硬件或软件或硬件和软件组件的结合来实现该控制逻辑。例如,可以全部或者部分通过软件来执行一个或多个步骤,所述软件对处理器进行配置以执行所述功能,合适的软件对于本领域的技术人员来说是明显的。然而,出于运行速度的原因,通常优选使用硬连线逻辑电路来执行阈值估计器功能。再次,根据这里对操作的描述,合适的实现方式将是明显的。
图3示出了阈值估计器6的主要功能组件。所述主要功能组件包括向量生成器10、滑动窗口扫描器11和阈值识别器12,所述向量生成器从控制器4接收一批B个读取信号y。向量生成器10包括用于根据信号电平处理所述一批中的读取信号组分以生成信号电平向量的逻辑。下面要进一步描述的该信号电平向量包括表示按信号电平顺序的读取信号组分的分布或散布的一系列元素。信号电平向量被输出到滑动窗口扫描器11和阈值识别器12。滑动窗口扫描器包括用于存储输入信号电平向量的寄存器14,和如下面详细描述的用于执行对所述向量的滑动窗口扫描的扫描逻辑15。扫描期间在滑动窗口的每个位置,扫描逻辑根据窗口中的信号电平向量的元素来计算预定度量或测量量。在扫描中,针对连续的窗口位置i=1,2,3等的一系列度量值Mi被输出到阈值识别器12。阈值识别器逻辑根据从一组输入值Mi确定的扫描中度量的变化来确定针对q个存储器单元电平的电平阈值。下面会进一步描述该过程。如图中的虚线箭头所示,阈值识别器还可以从码字检测器7接收控制输入。在优选实施例中,该输入可以被用于以信号来发送错误条件从而促进如下所述的校正过程的性能。下面将更详细地解释阈值估计器6的每个组件的操作。
向量生成器10接收一批B个读取信号y(b),b=1,…,B,对应于从存储器2读取的一组B个码字。B个读取信号一起形成带有对应于BxN个存储的码字符号的BxN个读取信号组分的级连的(concatenated)字yB=[y(1),y(2),…,y(B)]。在该第一实施例中,向量生成器根据信号电平通过对级联的字yB的BxN个组分进行排序来生成信号电平向量。这里以信号电平增加的顺序对读取信号组分进行排序,从而生成的信号电平向量具有对应于排序的读取信号组分的一系列元素[y1 s,y2 s,…yBN s]。然后该向量被输出到滑动窗口扫描器11。
滑动窗口扫描器11接收的信号电平向量被存储在寄存器14中。扫描逻辑用滑动窗口对信号电平向量进行扫描,所述滑动窗口具有大于扫描间距(即,扫描中连续的窗口位置的间隔)的长度。这保证了在相邻窗口位置处窗口中向量元素组之间有重叠。根据信号电平向量的长度和单元电平的数量q,选择窗口长度和扫描间距,从而在扫描结果中给出足够的分辨率以通过下述过程识别电平阈值。一般的,窗口长度和信号电平向量的长度相比,应该比较小,相邻位置处的窗口应该重叠窗口长度的一部分。在扫描过程中,大约30到70个窗口位置通常比较合适,在相邻位置处大约40%到60%的窗口重叠可能是合适的。作为示例,在q=4电平存储器单元的情况下对于一批B=32个使用N=8的4进制符号代码的读取信号,信号电平向量具有256个元素。下面出现的结果使用了8个元素的窗口长度和4个元素的扫描间距,在扫描过程中给出了63个窗口位置。然而,一般地,可以选择适合给定***的参数,并且合适的值对于本领域的技术人员将是明显的。
在扫描中的每个窗口位置,扫描逻辑基于窗口中信号电平向量的元素计算度量Mi的值。在该优选实施例中,度量Mi取决于窗口中每个元素与参考值(这里是窗口中元素的均值)之间的绝对差。在该特定的示例中,度量Mi是窗口中各个元素与均值之间的差的L1范数。从而,扫描逻辑15首先计算窗口组分的均值ym,然后将Mi计算为:
其中,yi为窗口中的元素,而w为窗口长度。扫描中生成的针对连续窗口位置i=1,2,3等的一系列度量值Mi被提供给阈值识别器12。
图4示出了阈值识别器12执行的用于确定针对q电平单元的电平阈值的主要功能步骤。如步骤20所示,在接收到来自滑动窗口扫描器的度量时操作开始。在步骤21中,阈值识别器逻辑分析扫描过程中具有窗口索引i的Mi的变化。利用本实施例的优选度量,度量值随着窗口位置的变化呈现出局部最大值,指示特定窗口位置处的电平阈值。这在图5中被示出。该图显示了对于由上述方法从B=32个读取信号中获得的256个元素信号电平向量的度量随窗口位置的变化,所述B=32个读取信号对应于存储在4电平PCM存储器中的长度为8的4进制符号码字。滑动窗口扫描使用8个元素的窗口长度w和4个元素的扫描间距,针对63个连续窗口位置给出了一系列的63个度量值。在用于生成存储器单元中记录的编码数据的二进制用户数据中,模拟在零与一之间的70%:30%的数据不对称。可以看到,度量变化呈现了三个强大的局部最大值。按照窗口索引增加的顺序,这些局部最大值对应于针对三对连续存储器单元电平l1和l2、l2和l3、l3和l4的电平阈值。
再参照图4,在步骤22中阈值识别器在扫描结果中选择q-1个最大的局部最大值。在步骤23中,如下确定对应于这些最大值中每个最大值的阈值信号电平。首先从扫描结果中识别每个最大值出现的窗口索引。然后针对该窗口索引确定从向量生成器10接收的信号电平向量中的对应的窗口位置。在该位置处在向量元素的窗口内发生相邻单元电平之间的转变,然后由阈值识别器逻辑选择合适的阈值元素。可以考虑各种用于在这里选择阈值元素的方法。在一个简单的实施例中,例如,可以假设阈值出现在窗口的中心,从而中心元素(或对于偶数长度的窗口的两个中心元素之一)被选择作为阈值元素。然而,在优选实施例中,阈值识别器逻辑计算窗口中每个元素与下一个元素之间的差。然后选择该差为最大值的元素(即,与下一个元素最不同的元素)作为阈值元素。然后,对应于该元素的信号电平定义电平阈值。在步骤24中,由阈值估计器6将q-1个电平阈值输出到码字检测器7,过程完成。
图6显示了针对与图5的扫描结果相对应的信号电平向量的电平阈值识别过程的结果。可以看到,尽管数据不对称较大,但该过程会得到对电平之间变换处的阈值元素的正确识别。
检测器7使用对于一组码字根据读取信号计算的q-1个电平阈值来检测对应于所述读取信号的码字。可以以各种方式执行基于电平阈值的码字检测。在简单的实施例中,例如,可以直接使用电平阈值来用于码字检测,这可以通过将每个读取信号y的组分yn与这些电平相比以识别特定单元电平从而识别每个读取信号组分对应的符号值来进行。在更复杂的***中,可以使用电平阈值来计算针对读取信号组分的分布的统计数据,所述读取信号组分根据计算的电平阈值被确定为对应于每个存储器单元电平。例如,可以根据单元电平l1到lq的分布计算均值λ1到λq和标准差σ1到σq。然后可以基于该统计数据检测对应于每个读取信号的码字。例如,码字检测器7可以使用诸如ML(最大似然)、MAP(最大后验)或MD(最小距离)解码的技术来执行一个或多个阶段的码字检测。在上面参考的我们的共同未决美国和英国专利申请中详述了该检测过程的具体示例,所述专利申请的相关内容作为参考被合并与此。然而一般的,可以基于阈值估计器6确定的电平阈值来实现任何所需的检测技术,以及码字检测器7的合适的实施方式对于本领域的技术人员来说是明显的。
上述电平阈值估计技术造成了回读性能的明显改进。作为说明,图7a针对用各种先前的电平估计和检测***进行的同样的回读操作绘制了作为时间的函数(从而增加电平漂移)的电平错误率。***参数通常如上对于图5和图6所述的,在用户比特流中的零与一之间包括70%:30%的数据不对称。标记为“先前的M1”的曲线对应于上面提到的我们的美国申请中所述的***。标记为“先前的M2”的曲线对应于上面提到的我们的英国申请的***。标记为“参考单元”的曲线对应于使用参考单元来确定前述电平阈值的基于ML的检测。“先知(Genie)”曲线对应于假设完全知道电平统计λ、σ从而知道电平阈值的基于ML的检测。标记为“固定”的曲线对应于使用对应于t=0时刻的初始值的固定的(不变的)电平阈值的基于MD的检测。由于数据不对称造成的先前的方法M1和M2的错误平台状况是显而易见的。相反,图7b示出了与我们上述美国申请(曲线“新的M1”)的检测***和我们上述英国申请(曲线“新的M2”)的检测***中使用的阈值估计器6确定的电平阈值等价的结果。从该图中,错误率的改进显而易见。没有观察到错误平台,减少了错误率,并且性能甚至比基于先知的方法明显提高。从而,上述技术可以在存在数据不对称、甚至在单元电平中有严重漂移的情况下提供对电平阈值的高度准确识别。而且,即使在存在非常大的数据不对称的情况下,该技术也具有鲁棒性。图8示出了针对通常和以前一样的回读情形的电平阈值估计处理的结果,但是对于256个符号的数据记录,分别将140、59、48和9个单元设置成四个单元电平l1到l4。即使在该极端情况下,也证明能准确识别阈值。
可以考虑对上述实施例的各种修改。在向量生成器10的可替换的实施方式中,例如,可以通过根据信号电平对BxN个读取信号组分进行二进制变换来生成信号电平向量。也就是说,在向量生成器中定义一系列“二进制数”,每个所述二进制数对应于特定的信号电平值(或值的范围),以及每个读取信号组分根据其信号电平被分配到合适的二进制数。通常已经对输入的读取信号组分进行量化,在读取-写入控制器4中的模数转换器(ADC)的输出端生成该输入的读取信号组分。在简单的实施方式中,向量生成器10可以使用和ADC输出端有的信号组分电平一样多的二进制数。(可替换的,可以采用较少的二进制数,每个二进制数对应于信号组分电平的范围)。从而,产生的二进制数计数指示具有对应电平的组分的数目。所述二进制数计数按照信号电平增加(或减少)的顺序排列,从而提供读取信号组分按信号电平的分布的直方图。滑动窗口编码器11和阈值识别器12的后续操作整体上相当于该信号电平向量。二进制变换依赖于模式匹配处理,可以仅使用逻辑AND门来执行该模式匹配处理。这需要比用于根据信号电平来对组分排序的分类过程小得多的复杂性。从而,基于二进制变换的实施例有价值地降低了处理复杂性。
优选实施例还可以基于检测的错误率来实施校正***。具体的,码字检测器7可以使用上述确定的一组初始电平阈值根据为一组读取信号检测的有效码字数(以及由此的无效码字数)来计算错误值。可以将该错误值与检测器7中的预定错误阈值相比较。如果大量的检测的码字被认为无效,即,不是代码的预定一组有效码字中的成员,则错误值将超过阈值。在该事件中,码字检测器7向图3中的阈值识别器12的控制输入端提供错误信号。在接收到时,阈值识别器在(为该目的临时存储的)扫描结果中找到第q大的局部最大值,并将对应于该最大值的信号电平识别为新的电平阈值。然后阈值识别器输出一组校正的电平阈值,在所述一组校正的电平阈值中对应于第q大的局部最大值的新的电平阈值代替对应于第q-1大的局部最大值的先前的电平阈值。在图9的扫描结果中示意性示出了该校正过程。这里,针对一组初始电平阈值检测的第3大局部最大值是不准确的。通过用对应于第4大的局部最大值的新的电平阈值代替对应于该最大值的错误的电平阈值,来实现一组校正的电平阈值。然后再对校正的阈值执行检测,消除引起校正过程的错误条件。
上述校正***提供了检测性能的甚至进一步的改进。而且,***甚至用非常小的数据记录提供了较好的性能。通过示例的方式,图10示出了再次与先前的***进行比较的在用107个单元和16码字批大小进行长期模拟运行时的“新的M2”方法的性能。如这些结果所示,实现了改进的性能,并且即使在这种小的数据记录的情况下也没有观察到错误平台。
当然可以对所述示例性***做出其他改变和变换。例如可以在滑动窗口扫描中采用各种其他度量。可以采用除了均值以外的值作为度量中的参考值,例如其他形式的平均数,诸如众数(最常发生的)值(mode value)或一些形式的加权平均值,或除了平均值以外的一些代表值,例如窗口中的最小值或最大值。度量Mi可以是L1范数本身或者是以某方式进一步处理该值的结果。一般的,这里可以采用其他函数,例如诸如L2范数的其他范数,并且可以考虑呈现除了对应于扫描结果中的电平阈值的位置的最大值以外的特征的度量。在一些情况下,还可以在生成信号电平向量时包括对组分/二进制数计数的进一步的处理。
虽然存储器2使用PCM单元,但是所述技术是通用的,当然可以应用于其他存储器单元。而且,尽管应用到多电平单元是特别有利的,但是也可以应用该技术来估计在对(q=2)电平单元读出时SLC存储器中的电平阈值。
应该理解,在不脱离本发明的范围的情况下可以对示例性实施例做出许多其他改变和修改。