CN103959389B - 固态储存设备中的读取检测 - Google Patents
固态储存设备中的读取检测 Download PDFInfo
- Publication number
- CN103959389B CN103959389B CN201280058297.6A CN201280058297A CN103959389B CN 103959389 B CN103959389 B CN 103959389B CN 201280058297 A CN201280058297 A CN 201280058297A CN 103959389 B CN103959389 B CN 103959389B
- Authority
- CN
- China
- Prior art keywords
- symbol
- codeword
- read
- level
- signal
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 40
- 239000013598 vector Substances 0.000 claims abstract description 100
- 238000000034 method Methods 0.000 claims abstract description 93
- 230000015654 memory Effects 0.000 claims abstract description 73
- 238000012935 Averaging Methods 0.000 claims abstract description 10
- 238000009826 distribution Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 43
- 230000008569 process Effects 0.000 description 24
- 230000007246 mechanism Effects 0.000 description 12
- 238000013519 translation Methods 0.000 description 11
- 230000001419 dependent effect Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 230000000087 stabilizing effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000007476 Maximum Likelihood Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000003064 k means clustering Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000000044 Amnesia Diseases 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 231100000863 loss of memory Toxicity 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Classifications
-
- 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
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/563—Multilevel memory reading aspects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/563—Multilevel memory reading aspects
- G11C2211/5634—Reference cells
Landscapes
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
提供了一种用于检测存储在多层级固态存储器中的N符号码字的方法和设备。每个码字是预定义N符号矢量集合的N符号矢量的排列。每个码字的符号存储在固态存储器(2)的相应q层级单元中,其中N≥q>2,以及所述符号中的每个符号具有q个符号值中的一个符号值。读取存储码字群组的存储器单元以获取相应的读取信号,每个包括与码字的相应符号对应的N个信号分量。根据信号电平对每个读取信号的分量进行排序,以产生经排序的读取信号。对经排序的读取信号的对应分量求平均,以产生平均读取信号。根据平均读取信号和每个符号值在其符号根据符号值进行排序的所述码字中每个符号位置处出现的预定义概率,确定与所述存储器单元的所述q个层级的每一个对应的参考信号电平。继而根据参考信号电平,检测与每个读取信号对应的码字。
Description
技术领域
本发明总体上涉及固态储存设备(SSSD)中的读取检测,并且更具体地,涉及用于在读出固态存储器时、对存储在多层级存储器单元中的码字进行检测的方法和设备。
背景技术
在固态存储器(诸如闪存和相变存储器(PCM))中,基础的储存单位(“单元(cell)”)可以被设置为表现出不同电特性的多个不同状态,或“层级”。这些不同层级可以用来存储信息。为了读出存储的信息,经由测量(其利用不同的电特性区分不同层级)来检测单元层级。在所谓的“单层级单元”(SLC)设备中,存储器单元可以设置为仅两个层级,并且由此可以仅记录二进制值。其他设备具有所谓的“多层级单元”,其可以被设置为q个不同层级,其中q>2。多层级NOR(异或)闪存例如可以针对每个单元存储4个层级,即,2个比特。目前出现了多层级单元(MLC)NAND(与非)闪存芯片,其可以使用25nm工艺技术、针对单个快闪单元存储数据的3个比特。已经证实了可以在PCM芯片中的每个单元内存储2个比特。
当向多层级单元写入信息时,每个单元可以用来存储q维符号,其中q个可能的符号值的每一个由不同的单元层级代表。在读出多层级单元时,读取信号电平与指示q个单元层级的参考信号电平的集合进行比较,以便确定每个单元被设置到哪个层级,以及由此检测存储的符号值。然而,多层级SSSD的一个问题在于:在单元读出期间测量的物理量(诸如,PCM设备中的电阻)易于漂移(drift)。尤其是,PCM单元的电阻会随着时间以随机方式向上漂移。此漂移可以依赖于数据,即,可能针对不同单元层级而发生变化。又例如,在闪存单元中,所测量的物理量是晶体管的阈值电压,并且这会根据该单元经历的写入/擦除周期的数量而向上漂移。对于任何给定的已存储符号值以及因此的单元层级,由此,在单元读出时获取的实际读取信号电平是可变的。在与此类似的情况(即,针对单元层级的读取信号电平分布是可变的)中,用于层级检测的参考信号电平也需要改变(例如,随着时间改变,或者随着写入周期的数量改变,等等),以便确保所存储符号的可靠检测。
已经提出了解决漂移问题的多种技术。一个技术涉及将存储器的部分(fraction)作为参考。预留存储器单元的池(pool)供***使用,以及每次在将用户数据的块写入存储器中时,将先验信息写入这些单元中的某些单元。每次读取用户文件时,也读取参考单元。由于存储的单元层级对于参考单元是已知的,并且这些单元和用户单元经历了相同的使用,所以参考单元读取可以被用来推导出用来改变检测的参考信号电平的估计。这些“参考单元”方法的缺点包括:由此带来的开销,这会转换为存储器容量的损失;归因于额外单元的读出而在控制器复杂度和延迟方面造成的惩罚,以及与参考单元池的管理有关的问题(例如,耗损平衡问题)。而且,由于漂移是统计学现象,并且在存储器阵列中的单元之间存在显著的变化,所以参考单元可能不具有代表性,并且基于参考单元方法的有效性可能会随着时间、以及在存储器阵列不同部分上发生很大变化。
基于模型的漂移消除技术寻求基于关键参数(诸如,温度、时间和损耗)来对漂移进行建模,并且相应地进行补偿。然而,难以获得针对关键参数的准确单元历史。而且,仍然存在单元之间的波动,并且没有可用于短期漂移的、已经建立成型的分析模型。使用时间感知感测的基于模型的方法在Wei Xu等人、在2010年关于质量电子设计的国际峰会期间的“Using Time-Aware Memory Sensing to Address Resistance Drift Issue in Multi-Level Phase Change Memory”中进行了描述。所提出的***跟踪自存储器单元的写入和读取之间流逝的时间,并且据此来估计以及补偿依赖于时间的漂移造成的影响。
基于编码的技术在本申请人共同待审的第10164495.3号欧洲专利申请(2010年5月31日提交)中进行了详述。该技术将输入数据编码为所谓“转译稳定(translation-stable)码”的N符号码字。每个码字符号可以获取q个符号值中的一个,并且通过根据符号值设置单元层级而存储在相应的q层级单元中。转译稳定码使得每个可能的输入数据字由编码机制映射到具有相对符号值唯一序列的码字。这种码可以例如从一个或多个排列码集合中的码字进行构建,排列码的每个码字是具有以递增符号值顺序布置的N个q维符号的预定矢量(“初始矢量”)的预定义排列。在任何情况中,利用转译稳定码,信息可以在单元层级的相对(而不是绝对)幅度中进行有效编码,以及此特征使得该机制可以在一定程度上对抗漂移对检测准确性的影响。
发明内容
尽管之前提出了很多策略,但是需要针对涉及为经历漂移影响的多层级单元层级确定参考信号电平的读取检测技术提供改进。
本发明的一个方面提供了一种用于检测N符号码字的方法,每个码字是预定义N符号矢量集合的N符号矢量的排列,其中每个码字的符号存储在固态存储器的相应q层级单元中,其中N≥q>2,且该符号中的每个符号具有q个符号值中的一个符号值。该方法包括:
读取存储码字群组的所述存储器单元,以获取相应的读取信号,每个读取信号包括与码字的相应符号对应的N个信号分量;
根据信号电平对每个读取信号的分量进行排序,以产生经排序的读取信号;
对所述经排序的读取信号的对应分量求平均,以产生平均读取信号;
根据所述平均读取信号和每个符号值在其符号根据符号值进行排序的所述码字中每个符号位置处出现的预定义概率,确定与所述存储器单元的所述q个层级的每一个对应的参考信号电平;以及
根据所述参考信号电平,检测与每个读取信号对应的所述码字。
实现本发明的读取检测方法提供了检测存储在q层级存储器单元中的N符号码字,其中整体编码机制采用作为N符号矢量预定义集合的排列的码字。此矢量的集合可以总体上包括一个或多个矢量。码字的每个q维符号根据符号值和单元层级之间的预定义对应关系存储在相应的q层级单元中。一次读取多个存储的码字,以及继而处理针对此码字群组的所产生的读取信号,以确定针对q个单元层级的当前参考信号电平。这些参考信号电平继而用于检测该群组中的码字。用于确定当前参考信号电平的技术利用码字的内在属性,即,所***字是与矢量的前述集合对应的较小子集的排列。具体地,对矢量集合的知识允许针对每个可能符号值、在其符号已经根据符号值排序的码字中每个可能符号位置处的出现定义概率。通过根据信号电平(例如,按照信号电平递增的顺序)对读取信号分量进行排序,以及继而对针对码字群组的结果排序读取信号求平均,获取平均读取信号。前述概率继而可以与平均读取信号的分量相关,以获取针对q层级单元的当前参考信号电平的可靠估计。根据码字群组推导的参考信号电平的集合继而用于检测这些码字。可见,此技术是自适应的,因为其使用了实际的“用户单元”(即,存储编码用户数据的单元)以用于参考电平估计和检测。由此可以获得适当参考电平的良好估计,以及与上文使用“参考单元”相关联的问题可以避免。消除了对于管理这些额外***单元的需求还允许更简单的实现。实现本发明的方法还是鲁棒的,并且可修改以用于快速实现。因此,整体上,实现本发明的方法在多层级单元储存设备中提供了显著的性能优势。
应当注意,各种码落入针对实现本发明的读取检测机制的操作的整体需求中。这些涵盖了有实用兴趣的很多码,包括在上文参考的本申请人共同待审欧洲专利申请中描述的转译稳定码。在优选实施方式中使用转译稳定码仍然归因于这些码的内在特性而针对漂移效应提供了进一步的鲁棒性。然而,可以利用众多其他码实现可靠的操作,乃至未编码数据也符合操作的基本要求。具体地,q维用户数据字(在其他方式下不会经历调制编码)可以示出为q维矢量的较小集合的排列,即使比在优选实施方式中使用的编码机制包含更多的这种矢量。因此,通常情况下,在本发明实施方式中检测到的N符号码字可以代表经调制编码的数据,或者简单地在q维字母表中表达的用户数据字。
通过对经排序读取信号(其中已经根据信号电平(例如,按照信号电平递增的顺序,或信号电平递减的顺序)对信号分量进行排序)的对应分量(即,第一,第二,…,第N个分量)求平均而产生平均读取信号。为了估计当前参考信号电平,将平均读取信号与预定义概率一起使用。这些代表每个符号值在其符号根据符号值进行排序的码字中每个符号位置处出现的概率。(注意,通常可能存在符号值到单元层级的任意映射,并且此映射可以反映在码字符号的排序中,以对应于读取信号电平分量的排序)。方便地,每个所述矢量的符号根据符号值进行类似排序。前述概率进而取决于在矢量集合中每个符号位置处的符号值。如果在集合中仅存在一个矢量(以及不存在其他因素影响,或者被认为影响,概率分布),则此处使用的概率可以简单地是单个矢量的符号直接定义的0或1。然而,在优选实施方式中,编码机制基于多个矢量的排列。在此情况下,概率也取决于作为每个矢量排列的有效码字的数量。尽管在定义概率时可以考虑其他因素,但是矢量的结构及其排列的数量足以在优选实施方式中定义概率。利用下文例证的这种实施方式实现良好的结果。
可以设计根据针对码字群组推导的当前参考信号电平检测码字设计各种技术。优选实施方式使用参考信号电平来标识每个码字读取信号所对应的矢量。特定的优选实施方式将参考电平估计用作针对检测过程第二估计阶段的初始值。此处,针对使用初始参考电平估计获取的电平分布推导出统计数据。此统计数据包括更新的参考电平估计,并且用在进一步的步骤中,其中每个码字读取信号与之对应的矢量再次被标识。在这些各种优选技术中,可以通过向针对给定码字标识的矢量应用逆排列来执行码字检测,该逆排列是产生针对该码字的经排序读取信号的读取信号的排列的逆。将在下文详细讨论这些技术及其各种优势。
本发明的第二方面提供了一种用于检测N符号码字的设备,每个码字是预定义N符号矢量集合的N符号矢量的排列,其中每个码字的符号存储在固态存储器的相应q层级单元中,其中N≥q>2,且该符号中的每个符号具有q个符号值中的一个符号值。该设备包括存储器控制器,用于读取存储码字群组的存储器单元,以获取相应的读取信号,每个读取信号包括与码字的相应符号对应的N个信号分量,以及码字检测器,包括控制逻辑,配置用于:
根据信号电平对每个读取信号的分量进行排序,以产生经排序的读取信号;
对所述经排序的读取信号的对应分量求平均,以产生平均读取信号;
根据所述平均读取信号和每个符号值在其符号根据符号值进行排序的所述码字中每个符号位置处出现的预定义概率,确定与所述存储器单元的所述q个层级的每一个对应的参考信号电平;以及
根据所述参考信号电平,检测与每个读取信号对应的所述码字。
本发明还提供了一种固态存储设备,包括:
固态存储器,具有q层级单元,其中q>2,
写入装置,用于将N符号码字写入所述固态存储器,其中N≥q,所述N符号码字的每一个是预定义N符号矢量预定义集合的N符号矢量的排列,其中每个码字的符号存储在相应的q层级单元中,且该符号中的每个符号具有q个符号值中的一个符号值;以及
根据本发明第二方面的用于在读取存储器时检测所述码字的设备。
通常,尽管参考实现本发明的方法在此处描述特征,对应的特征可以在实现本发明的设备中提供给,反之亦然。
附图说明
现在,通过示例方式,参考附图来描述本发明的优选实施方式,其中:
图1是实现本发明的固态储存设备的示意框图;
图2指示图1设备中码字检测器操作的关键步骤;
图3指示在图1设备中使用的示例性编码机制的构建;
图4给出了在图1设备中使用的编码机制的另一示例;
图5指示可以由图1设备执行的第一码字检测方法的步骤;
图6指示图1设备中的优选码字检测方法的步骤;
图7a和图7b是示出了利用本发明实施方式获取的实验结果的图;
图8示出了针对更小的码字群组大小、与图7a对应的实验结果;以及
图9a和图9b示出了在不同初始条件下、与图7a和图7b对应的实验结果。
具体实施方式
图1是实现本发明的、固态储存设备(此处是相变存储器(PCM)设备1)的简化示意图。设备1包括用于将数据存储在多层级PCM单元的一个或多个集成阵列中的相变存储器2。尽管该附图中示出为单个框,但是通常情况下,存储器2可以包括任何期望的PCM储存单位配置,例如从单个芯片或晶圆到多个储存库,每个包括多个储存芯片的多个封装。设备1的写入装置包括用于编码输入用户数据的编码器3,和控制结果码字在存储器2中的写入的存储器控制器4。实现在编码器3中的编码机制基于下文讨论的排列码。该设备读取装置还涉及存储器控制器4,用于读取存储器2中的适当单元,以及解码器5,用于处理结果读取信号。解码器5包括码字检测器6,其检测与所接收读取信号对应的码字,和数据解码器7,其解码这些码字以恢复原始用户数据。
存储器2中PCM单元的每一个可以设置为在此处标记为l0-lq-1的q>2个标称层级中的一个。存储器控制器4可以通过以已知方式调整单元的电阻来将单元设置到特定层级。具体地,层级l0-lq-1对应于控制器4中定义的连续增大的电阻值序列中的各个值。为了读取单元,控制器4应用较小的探测信号来获取指示单元电阻的反馈信号。在写入和读取操作期间,控制器4通过向存储器组件2中字线和位线的阵列施加适当的电压信号、而以公知方式寻址个体单元。
在操作中,待记录在存储器2中的输入数据被提供给编码器3。编码器3将每个输入数据字编码为输出至存储器控制器4的相应码字。码字的每一个具有N个q维符号sn,n=1,2,…,N,其中N>=q。因此,码字的符号可以每一个采用q个可能值(sn∈{0,1,···,q-1})中的一个。编码机制使得编码器3生成的每个码字是来自N符号矢量的预定义集合的N符号矢量的排列。这种编码机制可以基于排列码。排列码的特征在于N个字母的排列群组在其上进行操作的、长度为N的实矢量(“初始矢量”)。该码完全由其长度N和具有N个分量(符号)的初始矢量X0确定。码字包括通过对初始矢量的分量进行排列获得的所有长度N矢量。整体编码机制可以利用一个或多个这种排列码,尽管在优选实施方式中,编码机制以排列码的并集为基础。即,针对整体码的有效码字集合包括多个排列码中的所***字或者码字的子集。前述矢量的集合继而包括这些排列码的初始矢量。这种码的特定示例在下文给出。
来自编码器3的码字的q个可能符号值对应于存储器2中q层级单元的各个预先确定的层级l0到lq-1。即,在符号值和单元层级之间存在预定义的对应关系。(尽管在理论上、符号值到单元层级的任何任意映射是可能的,但是为了简单,优选的映射是保序的。在此示例中,假设符号值0,1,…,q-1与单元层级l0到lq-1之间存在直接的对应关系,使得符号0映射到单元等级l0,符号值1映射到单元等级l1,等等。)控制器4通过将每个单元设置为与符号值对应的层级,而将编码器3输出的每个码字的N个符号存储在存储器2的各个单元中。注意,当将某个单元设置到给定层级的情况下,该单元的实际电阻值x可能归因于写入噪音而落入针对该层级的标称电阻值l周围的较小区间内。
码字的块基本上由存储器控制器4同时从存储器读取或向其写入。在此实施方式中,控制器4并行地写入/读取B个码字的群组,使得每个群组中的码字同时写入/读取。在读取操作中,读取存储B个码字的群组的存储器单元,以获取B个实值读取信号y,每个具有N个信号分量yn,n=1,2…,N,其指示存储码字N个符号的单元序列的读回电阻值。每个读取信号的信号分量y1,…yn由此对应于码字的各个符号。读取信号y被提供给解码器模块5,其中码字检测器6通过以下详述的过程来检测与每个读取信号对应的码字。数据解码器7继而通过执行在编码器3中执行的数据字到码字映射的逆过程来对检测到的码字进行解码,由此恢复原始输入数据。
通常,编码器3和解码器5的功能性可以以硬件、软件或其组合实现。例如,输入数据字向编码器3中码字的映射可以使用查找表(尤其对于小码而言)实现,或者使用用于针对较大码进行高效操作的枚举源编码的公知技术实现。数据解码器7可以以对应方式实现,用于执行编码过程的逆过程。码字检测器6包括控制逻辑,用于实现下文详述的码字检测过程的各种步骤,以及此控制逻辑可以以硬件部件、或软件部件,或硬件和软件部件的组合实现。尽管将在一系列单独步骤的方面描述检测过程,但是与不同步骤关联的功能可以利用控制逻辑的单个部件提供,以及多个部件可以涉及任何特定步骤的执行。例如,一个或多个步骤可以整体或者部分由软件执行,其配置处理器以实现描述的功能,以及适当的软件对于本领域技术人员而言也是明显的。然而出于操作速度的原因,通常优选地尽可能使用硬连线逻辑电路来实现检测器功能。同样,根据此处描述的操作,适当的实现将会是明显的。
如上文所述,存储器控制器4输出的每个读取信号的信号分量y1,…,yN对应于所存储码字的相应符号S1,…SN。对应于给定符号值s的读回电阻电平y归因于漂移和噪音影响是可变的。漂移是随机的特性,并且此处建模为确定性部分f(归因于漂移的平均趋势)和依赖于数据的随机部分g(漂移和噪音):
y=f(x,t)+g(x,t)
其中y是漂移的电平,x是原始存储的值,t是时间,f(x,t)是针对所有固定的t、x的单调函数(即,电平随着时间维持着其阶数),以及g(x,t)是捕获噪音的数据依赖特性的随机过程。对于固定的x和t,对加性噪音建模为均值为0、且数据依赖方差为g(x,t)~N(0,σ(x))的高斯分布。
因此,读回电阻电平分布随着时间移位,具有改变的均值和潜在的方差,以及依赖于电平,其具有依赖于数据的均值和方差。针对从读取信号y准确检测码字,码字检测器6必须考虑可变的电阻电平分布。更基础地,为了将读取信号分量yn与符号值sn相关,码字检测器必须针对读取操作估计与不同单元层级l0到lq-1(以及由此不同符号值)对应的适当参考信号电平。这些参考信号电平继而可以用于码字检测。在下文参考图2的流程图给出了码字检测过程的总览。为了确保描述,假设编码器3采用作为由L个初始矢量c(1),c(2),…,c(L)定义的L个排列码(每个的长度为N)并集的示例性码,其符号按照递增符号值顺序排序。任何给定码字的符号可以采用上文描述的q个符号值之一(尽管并不是所有的q个值都需要出现在所有初始矢量中)。
图2指示由码字检测器6执行的主操作步骤。如步骤10所指示的,检测器操作在从存储器控制器4接收了与从存储器2读取的B个码字群组对应的B个读取信号的群组时开始。读取信号y临时存储在码字检测器6中,用于随后的处理操作。接着,在步骤11中,检测器6的控制逻辑根据信号电平对每个读取信号y的分量y1到yN进行排序。具体地,读取信号分量按照递增信号电平(反映此处初始矢量的符号顺序)对进行排序,以产生B个经排序的读取信号zi的群组:
此排序过程定义了针对每个读取信号y的信号分量的排列(k1到kN)。结果已排序的读取信号及其关联排列存储在码字检测器6中,用于后面的过程步骤。接着,在步骤12中,检测器逻辑对经排序读取信号的相应分量求平均,以获取时间t的“平均”读取信号
由此,经排序读取信号的第一、第二,…,第N个分量在B个信号上进行平均,以产生平均读取信号(在此示例中执行直接、未加权的平均过程是为了简化,当然如果期望的话,可以在其他实施方式中设想加权的平均)。在步骤13中,检测器逻辑确定与存储器单元的q个层级的每一个对应的当前参考信号电平λ。对于时间t=0处的q个标称单元层级l0到lq-1,时间t处对应的漂移层级由l0到lq-1表示。这些参考信号电平l0到lq-1在检测器6中使用平均读取信号和基于编码器3中所采用特定码C在检测器6中预先定义的概率集合进行计算。这些指定了每个可能符号值在其符号根据符号值进行了排序的码字中每个符号位置处出现的概率。具体地,考虑经排序的码C0,(其中所***字X=[X1,X2,…,XN]∈C已经替换为其经排序的版本X0):
Xo=[Xk1,Xk2,...,XkN],其中Xk1≤Xk2≤...≤XkN,随机的(Nxq)-矩阵P=[pnm]定义为:
pnm=prob{Xo n=Sm}
其中n=1到N,m=0到q-1,以及S1,S2,…,Sq-1分别是符号值0,1,…,q-1。这种矩阵可以基于已知的码结构(即,定义码的有效码字的集合)针对任何码C进行定义。针对排列码的并集的特定示例将在下文详细描述。
假设在每个存储器写入操作处,随机地从码中选择B个码字,并且如上文所述同时将其写入PCM阵列,继而针对B个码字的经排序信号x=[x1,x2,…,xn](如果重新布置为其经排序的版本xo=[xk1,xk2,...,xkn],其中xk1≤xk2≤...≤xkn)满足:
其中x(i)o是经排序的写入信号的集合,并且上标T代表矢量转置。注意,如果使用了所***字,则误差矢量基本上为0。在读回时,所产生的读取信号y按照图2的步骤11和12所描述的进行排序和求平均。原始标称单元层级l0,...,lq-1随着时间漂移,并且时间t处的电平λ0到λq-1由λm=f(lm,t),m=0,...,q-1给出。由于f(.)是单调的,所以上文定义的相同随机矩阵P给出了与(2)类似的、在电平λm和平均读取信号的分量之间的关系。具体地,当遵从之前定义的信道分布y=f(x,t)+g(x,t)时,平均读取信号满足:
(其中,如果群组B包括所***字,则误差e是零均值噪音采样矢量g的平均(逐个分量),预期其基本上等于0)。等式(3)代表N个线性方程的超定***,其可以以公知方式针对q个未知数{λ0,λ2,...,λq-1}进行求解。下文给出针对排列码的并集的这一过程特定示例。
现在参考图2,已经在过程的步骤13中确定了当前参考信号电平λ0到λq-1,检测器使用这些参考电平在步骤14中检测与B个读取信号y的当前群组对应的码字。这可以以各种方式进行,并且在下文详细描述了特定示例。继而码字检测操作完成。
现在将针对优选实施方式(其中码C是转译稳定码)示出图2的步骤13中确定参考电平λ的过程。转译稳定码在第10164495.3号欧洲专利申请中进行了定义和描述,该专利申请的相关内容通过引用在此并入。然而,简言之,利用转译稳定编码机制,所有可能输入数据字的集合中的每个数据字编码为具有相对符号值唯一序列的码字。这可以通过考虑图3的简单转译稳定码得以理解。此码是N=16以及q=4的排列码。因此,码字具有16个4维符号,可能的值为0,1,2,3。这种码因此可以与具有4维单元的存储器2一起使用。此示例中的初始矢量X0在该附图中示出。针对码C的码字集合{c}包括该附图中所指示的初始矢量X0的所有可能排列。存在这些码字的16!/244个排列,借由此该码具有1.62比特/维度(即,比特/单元)的速率。在此码中固有的是这些码字的每一个具有与码字中最低符号值有关的符号值唯一序列,借由此向码字中的所有符号值添加任何实值数值都不会产生另一码字。具体地,如果我们定义长度为N(此处为16)的转译矢量t=[1 1 1 … 1],则对于码C中的所***字c:
(c+Rt)∩C=c (4)
其中R是实数集。这提供了此处针对任何N符号、q维字母码的“转译稳定”码的定义。针对这种码,由于每个可能的数据字映射到具有相对字符值唯一序列的码字,所以输入数据有效地在相对(而不是绝对)符号值中进行编码。符号值和存储器单元层级之间的对应关系意味着码字将记录为存储器2中相对层级的相应唯一序列。所有层级中的固定漂移不会改变相对层级序列,并且因此不会影响记录的信息。通过检测读回上的相对层级序列,正确的码字以及因此数据字可以得以恢复,而不论与为μ·[1 1 ...1](如上所述,μ∈R)的转译对应的单元层级中的任何漂移产生的移位。记录***由此对这种“类型[11…1]漂移”具有抵抗力。
尽管图3示出了单个排列码,但是其他转译稳定编码机制可以以多个这种码为基础。具体地,我们定义码C的码字集合可以选自多个排列码的码字,以便满足上述等式(4)定义的转译稳定要求。更具体地,给定了转译稳定码C,定义L个唯一的初始矢量c(1),...,c(L),每个具有按字典序排序的分量c1 (j)≤c2 (j)≤...≤cN (j),使得用于编码器3的转译稳定码C包含在对应的排列调制码的并集中,即:
其中∏(c(j))代表具有初始矢量c(j)和的排列调制码。
图4示出了用于在设备1中使用的、构建优选转译稳定码(q=4,N=7)。该码以附图中所示具有初始矢量c(j)的4个排列调制码的并集为基础。存在2100个码字,包括由#∏(c(j))指示的每个初始矢量的多个排列。假设所***字都具有等同可能性,则定义上述概率矩阵P的概率取决于初始矢量的结构和作为每个矢量的排列的码字的数量#∏(c(j))。具体地,初始矢量c(j)出现的概率pj(j-1,...,L)可以容易地计算为:
p1=p2=63/210;
p3=p4=42/210.
如果将时间t处的初始矢量标记为j=1,...,L,则基于上述等式(1),平均读取信号的分量Zn可以表示为
此等式可以以矩阵形式重写为(对应于上述等式(3)):
其中以及λ=[λ0,λ1,...,λq-1]T是时间t处参考信号电平的矢量。矩阵P由此利用初始矢量的出现概率和在初始矢量中每个符号位置处的符号值定义。具体地,经由等式(7)将图4矢量中的符号值0到3与参考电平λ0到λ3相关:
(p1+p2+p3+p4)·λ0=z1
(p2+p3+p4)·λ0+p1·λ1=z2
(p1+p2+p3+p4)·λ3=z7
由于N>=q,可以以公知方式针对未知的参考电平λ0,...,λ3对线性方程的这一集合求解。在此优选实施方式中,检测器6使用本领域技术人员公知的最小平方方法求解这些等式。
在某些实施方式中,可以通过将每个读取信号y的分量yn与这些电平进行比较以识别特定单元电平(以及由此每个读取信号分量所对应的符号值)而直接将参考信号电平λ0到λ3用于码字检测。然而,优选实施方式通过使用参考信号电平λ0到λ3标识如下初始矢量来提供改进的检测准确性,其中与每个读取信号对应的码字是该初始矢量的排列。实际上,读取信号被划分成簇,每个簇包含代表码字(其是相同初始矢量的排列)的读取信号。现在将参考图5和图6描述这种技术的示例。
图5示出了可以由码字检测器6执行的第一码字检测过程中的主要步骤。操作开始于步骤20,其中已经确定了当前参考信号电平λ0到λq-1。接着,在步骤21中,检测器通过将矢量的每个符号替换为与符号值对应的参考信号电平λ来产生与每个初始矢量对应的矢量信号。即,每个初始矢量c(j)映射到时间t处的其对等物u(j),其中实际物理量(参考信号电平λ)作为分量:
即,c(j)的第i个分量使用当前参考电平估计λm=f((lm,t),m=0,1,...,q-1映射到结果矢量信号继而用来将B个经排序读取信号zi的群组(来自图2的步骤11)划分为与各个初始矢量c(j)对应的簇。具体地,在步骤22中,通过确定哪个矢量信号u(j)最接近该经排序的读取信号来标识如下初始矢量,其中与每个经排序读取信号zi对应的码字是该初始矢量的排列:
最接近初始矢量r=arg minj{|zi-u(j)|},其中j=1,…L。此最小值可以在此处使用任何方便的最小距离标准(例如,使用简单Euclidean距离度量)来评估。
已经根据在步骤22中标识的初始矢量、有效地将每个经排序的读取信号zi(以及因此对应的读取信号y)指派给簇,在步骤23中,检测器逻辑可以通过向针对读取信号标识的初始矢量应用逆排列来检测与每个读取信号对应的码字。针对给定的读取信号,逆排列简单的是在图2的步骤11中产生经排序读取信号的读取信号的排列(k1到kN)的逆。继而,针对B个读取信号群组的每一个的结果码字由码字检测器6在图5的步骤24中输出。(注意,如果某些操作错误导致此处检测到无效码字,则检测器6简单地输出针对该码字的擦除符号。这可以通过数据检测器7中的某些适当纠错处理来解决。这种处理对于本领域技术人员来说是公知的,并且不需要在此处解决)。码字检测过程继而完成。
图5的码字检测技术独立于任何特定漂移模型,以及针对某些应用提供了足够准确的检测。码字错误率性能从根本上依赖于码C中固有的最小距离,并且此距离可以在需要时与码速率进行权衡。此简单技术会随着群组中码字数量B的增大而越来越可靠,确保了B个码字批次中初始矢量的“良好”表征。然而,该技术不会考虑依赖于数据的噪音。现在将参考图6来描述对于这种问题不那么敏感的特定优选检测技术。
图6操作开始于步骤30,其中如之前所述确定当前参考信号电平λ0到λq-1。该过程的步骤31和32与图5的步骤21和22相同,由此检测器6根据用于对应码字的初始矢量来将读取信号聚集为簇。在步骤33,检测器逻辑计算针对与存储器单元的q个标称层级的每一个对应的读取信号分量电平的分布的统计数据。具体地,通过将经排序的读取信号分量与各种簇中初始矢量的符号相关,获取针对q个单元层级的每一个的读取信号电平分布。这些分布继而被处理,以获取每个情况中的均值和方差。这样针对q个单元层级获得的均值由λ’0到λ’q-1表示,并且代表针对在初始分簇步骤32中使用的参考信号电平λ的更新值。针对每个电平分布的方差由σ指示。在图6的步骤34中,检测器逻辑将均值λ’和方差σ用在最初在步骤32中执行的分簇操作的第二轮中。因此,每个经排序读取信号与之对应的初始矢量再次被标识,这次使用的是针对电平分布的统计数据(λ’,σ)。此过程优选地以最大后验(MAP)检测方法和最大相似(ML)检测方法中的一个为基础,这种方法是本领域技术人员公知的。在此示例中,将针对每个经排序读取信号zi的最接近初始矢量c(r)标识为:
(j=1,...,L),以及此处采用ML技术,其中:
其中,是经排序读取信号zi的分量
对应于符号利用对应的平均参考电平λ’替换的初始矢量c(v);以及
代表针对参考电平的分布的标准差,其中均值λ’对应于的每个分量。
已经有效地根据使用步骤34中统计数据标识的初始矢量对读取信号y进行了重新分簇,后续步骤35和36对应于图5的步骤23和24。因此,检测器6通过向针对每个簇中的读取信号标识的初始矢量应用适当的逆排列,在步骤35中检测码字,从而在步骤36中输出检测的码字(或擦除符号)。该过程继而完成。
可见,图6的过程涉及第一参考电平估计λ(来自图2的步骤13)用作初始化值的迭代分簇技术的两个阶段。与诸如k均值分簇和期望最大化的已知分簇技术相比,图6过程代表了很大的改进。例如,已知技术通常需要若干次迭代收敛到良好答案,这对所讨论的应用增大了延迟。而且,已知的方法倾向于去往错误答案(局部最小值)的收敛,除非适当进行了初始化。相反,图6过程以防止收敛到错误答案的良好定义初始化为基础。其还在两个步骤中收敛:第一个步骤对应于步骤32,第二个步骤(步骤34)给出了最终答案。因此可以确保该技术对于初始条件足够鲁棒,以及快速在两次迭代中收敛到最终答案。另外,图6过程独立于底层漂移特性(只要漂移不重排电阻电平)。其还考虑了数据依赖噪音,并且较之于图5的过程、对于较小群组B不那么敏感。
应当理解,上述检测技术缓解了与基于参考单元的现有技术有关的问题,并且是自适应的,因为从其读取码字的实际用户单元用于那些码字的参考电平估计和检测。这些技术也可以修改为简单的快速实现,并且较之于现有***提供改进的性能。
图7a和7b示出了将图5和6的检测方法与其他码字检测技术相比较的实验结果。这些结果基于带有200k个单元(1k个单元=1024个单元)的PCM设备,所有这些单元用在估计过程中。每个单元编程有4个可能电平(q=4)之一。图7a描绘了随着时间、针对6个不同方法的电平误差率变化。图7b示出了随着时间、针对4个单元电平、使用传统k均值分簇算法(“k均值”)和实际参考电平(从每个单元中已存储电平的良好知识计算而来(“原始”))计算的参考电平(均值)轨迹,这些点很大程度上与两个方法重合。在图7a中,标记为“UNC:Ref-Cell”的轨迹使用基于参考单元的技术、利用未编码数据(未在编码器3中进行调制编码)获取,开销是21.5%(其对应于用于所示其他方法的调制码的开销)。标记为“UNC:Genie”的轨迹也利用未编码数据获取,但是使用了genie(即,对所有用户单元数据具有良好知识的不切实际的检测器)来执行针对漂移的基于模型的修正。所有其他轨迹示出了使用图4的转译稳定的排列调制(PM)码、针对已编码数据的结果(码率=1.57比特/单元)。标记为“PM:EMML”的轨迹示出了利用用来在码字检测中对读取信号进行分簇的常规期望最大化算法、针对已编码数据的结果。标记为“PM:LS”的轨迹示出了利用图5的检测方法针对已编码数据的结果。标记为“PM:LSML”的轨迹示出了利用图6的检测方法、针对已编码数据的结果。标记为“PM:GenML”的轨迹示出了利用genie执行基于模型的漂移修正、针对已编码数据的结果。标记为“PM:kMML”的轨迹示出了利用用于在码字检测中将读取信号分簇时采用的传统k均值分簇算法、针对已编码数据的结果。从此图可见,图5的方法给出了良好的结果,表现比EM方法和使用未编码数据的两个方法要好。图6的方法给出了很好的结果。该性能基本上等于基于genie和k均值的方法。然而,genie是不切实际的,而且图6方法比k均值方法收敛更快。具体地,k均值技术平均需要4.1次迭代能达到收敛,而图6方法总是如上文所述在两个步骤中收敛。
图8示出了针对B=20个码字的结果。如此图中证实的,图5和6的方法即使在小群组大小的情况下也表现良好。图6的方法尤其给出了与基于genie估计器的几乎相同的性能,即使群组只有20个码字。
图9a和9b通常与示出针对相同基本场景(但是具有用于k均值和EM方法的不同初始条件)的结果的图7a和7b对应。具体地,在图7a和7b中,在读取单元的每个时刻,k均值和EM使用针对参考电平、从读取单元的上一时刻获取的最终估计作为初始值。另一方面,在图9a和9b中,利用目标参考电平(即,在写入单元期间的给定目标电平)初始化k均值和EM。后一机制更现实,因为图7a和7b的机制将需要单独的存储区域来存储来自之前存储器读出的参考电平估计。可见,k均值和EM方法对于初始情况(包括收敛到局部最小值(参见图9a)和给出较差性能这两个方面)比较敏感。相反,图5和图6的方法对于初始情况是免疫的。图6的方法尤其与基于genie的机制执行得一样好。
当然,可以理解,可以对上文详述的特定实施方式做出很多改变和修改。例如,尽管优选实施方式使用转译稳定码,但是也可以使用其他编码机制(或者乃至未编码数据),其中码字的整个集合包括一个或多个预定义矢量的排列。而且,尽管存储器2使用PCM单元,所描述的技术可以应用于其他多层级固态存储器单元,诸如闪存单元,其中类似的考虑也是适用的。可以对上述实施方式做出很多其他改变和修改,而不会脱离本发明的范围。
Claims (15)
1.一种用于检测N符号码字的方法,每个码字是预定义N符号矢量集合的N符号矢量的排列,其中每个码字的符号存储在固态存储器(2)的相应q层级单元中,其中N≥q>2,且所述符号中的每个符号具有q个符号值中的一个符号值,所述方法包括:
读取存储码字群组的所述存储器单元,以获取相应的读取信号,每个读取信号包括与码字的相应符号对应的N个信号分量;
根据信号电平对每个读取信号的分量进行排序,以产生经排序的读取信号;
对所述经排序的读取信号的对应分量求平均,以产生平均读取信号;
根据所述平均读取信号和每个符号值在其符号根据符号值进行排序的所述码字中每个符号位置处出现的预定义概率,确定与所述存储器单元的所述q个层级的每一个对应的参考信号电平;以及
根据所述参考信号电平,检测与每个读取信号对应的所述码字。
2.如权利要求1所述的方法,其中所述矢量的所述符号根据符号值进行排序,并且其中所述概率取决于位于所述矢量集合的每个符号位置处的所述符号值。
3.如权利要求2所述的方法,其中所述集合包括多个矢量,以及其中所述概率取决于作为每个矢量的排列的有效码字的数量。
4.如权利要求3所述的方法,包括根据所述平均读取信号和所述预定义概率来定义针对所述参考信号电平的线性方程集合,以及求解所述方程以确定所述参考信号电平。
5.如权利要求4所述的方法,包括使用最小平方方法来求解所述方程。
6.如权利要求3至5中任一所述的方法,其中所述检测与每个读取信号对应的码字的步骤包括:
通过用与所述符号值对应的所述参考信号电平替换所述矢量的每个符号,产生与每个矢量对应的矢量信号;以及
通过确定哪个矢量信号与针对该码字的已排序读取信号最接近,标识如下矢量,其中所述群组中的每个码字是所述矢量的排列。
7.如权利要求6所述的方法,包括通过向针对该码字标识的所述矢量应用逆排列来检测每个码字,所述逆排列是产生针对该码字的所述已排序读取信号的所述读取信号的所述排列的逆。
8.如权利要求6所述的方法,包括:
计算针对与来自所述已排序读取信号的所述存储器单元的q个层级的每一个对应的所述读取信号分量电平和针对与之对应的码字标识的矢量的分布的统计数据;以及
根据针对该码字的已排序读取信号和所述统计数据,再次标识如下矢量,其中所述群组中的每个码字是所述矢量的排列。
9.如权利要求8所述的方法,其中所述矢量使用最大后验检测方法和最大相似度检测方法中的一个、根据所述统计数据来标识矢量。
10.如权利要求8或9所述的方法,包括通过使用所述统计数据针对码字标识的所述矢量应用逆排列来检测每个码字,所述逆排列是针对该码字产生所述已排序读取信号的所述读取信号的排列的逆。
11.如权利要求1所述的方法,其中所述N符号码字是转译稳定码的码字。
12.如权利要求1所述的方法,其中所述码字群组被基本上同时读取。
13.如权利要求1所述的方法,其中所述码字群组包括基本上同时向所述固态存储器(2)写入的码字。
14.一种用于检测N符号码字的设备,每个码字是预定义N符号矢量集合的N符号矢量的排列,其中每个码字的符号存储在固态存储器(2)的相应q层级单元中,其中N≥q>2,且所述符号中的每个符号具有q个符号值中的一个符号值,所述设备包括存储器控制器(4),用于读取存储码字群组的所述存储器单元,以获取相应的读取信号,每个读取信号包括与码字的相应符号对应的N个信号分量,以及码字检测器(6),包括控制逻辑,配置用于:
根据信号电平对每个读取信号的分量进行排序,以产生经排序的读取信号;
对所述经排序的读取信号的对应分量求平均,以产生平均读取信号;
根据所述平均读取信号和每个符号值在其符号根据符号值进行排序的所述码字中每个符号位置处出现的预定义概率,确定与所述存储器单元的所述q个层级的每一个对应的参考信号电平;以及
根据所述参考信号电平,检测与每个读取信号对应的所述码字。
15.一种固态存储器设备(1),包括:
固态存储器(2)具有q层级单元,其中q>2,
写入装置(3,4),用于将N符号码字写入所述固态存储器(2),其中N≥q,所述N符号码字的每一个是预定义N符号矢量集合的N符号矢量的排列,其中每个码字的符号存储在相应q层级单元中,且所述符号中的每个符号具有q个符号值中的一个符号值;以及
如权利要求14的设备,用于在读取所述存储器(2)时检测所述码字。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11183336 | 2011-09-29 | ||
EP11183336.4 | 2011-09-29 | ||
PCT/IB2012/053237 WO2013046066A1 (en) | 2011-09-29 | 2012-06-27 | Read-detection in solid-state storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103959389A CN103959389A (zh) | 2014-07-30 |
CN103959389B true CN103959389B (zh) | 2016-08-24 |
Family
ID=46604009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280058297.6A Active CN103959389B (zh) | 2011-09-29 | 2012-06-27 | 固态储存设备中的读取检测 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8930803B2 (zh) |
CN (1) | CN103959389B (zh) |
DE (1) | DE112012003458B4 (zh) |
GB (1) | GB2509858B (zh) |
WO (1) | WO2013046066A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201203496D0 (en) * | 2012-02-29 | 2012-04-11 | Ibm | Read-detection in solid-state storage devices |
US8781022B1 (en) * | 2013-03-01 | 2014-07-15 | Au Optronics Corporation | Methods for multi-level data transmission |
GB2513592A (en) | 2013-04-30 | 2014-11-05 | Ibm | Read-detection in multi-level cell memory |
GB2518632A (en) * | 2013-09-26 | 2015-04-01 | Ibm | Estimation of level-thresholds for memory cells |
GB2520708A (en) * | 2013-11-28 | 2015-06-03 | Ibm | Multi-stage codeword detector |
GB2527604A (en) | 2014-06-27 | 2015-12-30 | Ibm | Data encoding in solid-state storage devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007134188A3 (en) * | 2006-05-15 | 2008-04-10 | Apple Inc | Shifting reference values to account for voltage sag |
CN101523504A (zh) * | 2006-08-05 | 2009-09-02 | 本霍夫有限公司 | 固态存储元件及方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3196351A (en) * | 1962-06-26 | 1965-07-20 | Bell Telephone Labor Inc | Permutation code signaling |
EP1016449B1 (de) | 1998-12-28 | 2003-09-03 | Ulrich Dipl.-Ing. Weise | Filtertasche, Filtereinsatz mit solchen Filtertaschen und Verfahren zur Herstellung eines solchen Filtereinsatzes |
US7747549B2 (en) | 2001-09-25 | 2010-06-29 | Rikan | Long-term memory neural network modeling memory-chaining functions of the brain wherein a pointer holds information about mutually related neurons and neurons are classified hierarchically by degree of activation |
US7957189B2 (en) | 2004-07-26 | 2011-06-07 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7533328B2 (en) | 2006-07-04 | 2009-05-12 | Sandisk Il, Ltd. | Method of error correction in a multi-bit-per-cell flash memory |
US8060806B2 (en) | 2006-08-27 | 2011-11-15 | Anobit Technologies Ltd. | Estimation of non-linear distortion in memory devices |
US7814401B2 (en) | 2006-12-21 | 2010-10-12 | Ramot At Tel Aviv University Ltd. | Soft decoding of hard and soft bits read from a flash memory |
US7984360B2 (en) | 2006-12-31 | 2011-07-19 | Ramot At Tel Aviv University Ltd. | Avoiding errors in a flash memory by using substitution transformations |
US7940552B2 (en) | 2007-04-30 | 2011-05-10 | Samsung Electronics Co., Ltd. | Multiple level cell phase-change memory device having pre-reading operation resistance drift recovery, memory systems employing such devices and methods of reading memory devices |
US7577036B2 (en) * | 2007-05-02 | 2009-08-18 | Micron Technology, Inc. | Non-volatile multilevel memory cells with data read of reference cells |
US8245094B2 (en) * | 2007-11-20 | 2012-08-14 | California Institute of Technology Texas A & M | Rank modulation for flash memories |
US8000135B1 (en) * | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US7787307B2 (en) | 2008-12-08 | 2010-08-31 | Micron Technology, Inc. | Memory cell shift estimation method and apparatus |
US7929338B2 (en) | 2009-02-24 | 2011-04-19 | International Business Machines Corporation | Memory reading method for resistance drift mitigation |
US7944744B2 (en) | 2009-06-30 | 2011-05-17 | Sandisk Il Ltd. | Estimating values related to discharge of charge-storing memory cells |
US8578246B2 (en) * | 2010-05-31 | 2013-11-05 | International Business Machines Corporation | Data encoding in solid-state storage devices |
DE112012005424T5 (de) * | 2011-12-21 | 2014-09-18 | International Business Machines Corporation | Lese/Schreib-Operationen in Halbleiterspeicher-Bauelementen |
GB201203496D0 (en) * | 2012-02-29 | 2012-04-11 | Ibm | Read-detection in solid-state storage devices |
-
2012
- 2012-06-27 DE DE112012003458.9T patent/DE112012003458B4/de active Active
- 2012-06-27 GB GB1406675.7A patent/GB2509858B/en active Active
- 2012-06-27 CN CN201280058297.6A patent/CN103959389B/zh active Active
- 2012-06-27 WO PCT/IB2012/053237 patent/WO2013046066A1/en active Application Filing
- 2012-09-19 US US13/622,451 patent/US8930803B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007134188A3 (en) * | 2006-05-15 | 2008-04-10 | Apple Inc | Shifting reference values to account for voltage sag |
CN101523504A (zh) * | 2006-08-05 | 2009-09-02 | 本霍夫有限公司 | 固态存储元件及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103959389A (zh) | 2014-07-30 |
WO2013046066A1 (en) | 2013-04-04 |
DE112012003458T5 (de) | 2014-05-08 |
GB201406675D0 (en) | 2014-05-28 |
US20130086457A1 (en) | 2013-04-04 |
GB2509858B (en) | 2015-08-26 |
GB2509858A (en) | 2014-07-16 |
DE112012003458B4 (de) | 2016-04-07 |
US8930803B2 (en) | 2015-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103959389B (zh) | 固态储存设备中的读取检测 | |
US8793543B2 (en) | Adaptive read comparison signal generation for memory systems | |
US10276247B2 (en) | Read retry operations with estimation of written data based on syndrome weights | |
US9563502B1 (en) | Read retry operations with read reference voltages ranked for different page populations of a memory | |
TWI375228B (en) | Adaptive dynamic reading of flash memories | |
US8938665B2 (en) | Read-detection in solid-state storage devices | |
US8578246B2 (en) | Data encoding in solid-state storage devices | |
US20130121080A1 (en) | Adaptive Estimation of Memory Cell Read Thresholds | |
US8972837B2 (en) | Read/write operations in solid-state storage devices | |
CN101601094A (zh) | 使用多个门限读取存储单元的方法 | |
CN101496110A (zh) | 存储设备中的失真估计和消除 | |
KR20090086523A (ko) | 에러가 발생할 수 있는 확률을 기초로 하여 에러가 보정된 비휘발성 메모리 | |
JP2009537056A (ja) | メモリ素子用の歪み推定と誤り訂正符号化の組み合せ | |
Choe et al. | Machine-learning-based read reference voltage estimation for NAND flash memory systems without knowledge of retention time | |
US9619328B2 (en) | Read-detection in multi-level cell memory | |
CN113762457A (zh) | 解码的方法、训练神经网络的方法和存储器装置 | |
GB2518632A (en) | Estimation of level-thresholds for memory cells | |
CN112382332B (zh) | 一种用于nand闪存芯片信号检测的方法及装置 | |
US9202580B2 (en) | Level-estimation in multi-level cell memory | |
US11621048B2 (en) | Positioning read thresholds in a nonvolatile memory based on successful decoding | |
Yassine | Modeling and signal processing for flash memory |
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 |