首页> 中国专利> 用于闪存存储器中的软解映射和单元间干扰减轻的方法和设备

用于闪存存储器中的软解映射和单元间干扰减轻的方法和设备

摘要

提供了用于闪存存储器中的软解映射和单元间干扰减轻的方法和设备。在一个变体中,通过以下步骤来读取能够每个单元存储至少两个数据电平s的闪存存储器器件中的目标单元:对于闪存存储器中的至少一个目标单元获得测量的读取值r;获得表示对于闪存存储器中的至少一个入侵单元存储的数据的值h;基于存储在闪存存储器的至少一部分中的值的样式来选择一个或更多个概率密度函数,其中所述概率密度函数包括一个或更多个入侵单元对闪存存储器中的至少一个目标单元的依赖于样式的干扰;基于所测量的读取值r来评估至少一个选择的概率密度函数;以及基于评估步骤的结果来计算一个或更多个对数似然比。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-17

    未缴年费专利权终止 IPC(主分类):G11C16/10 授权公告日:20150617 终止日期:20170630 申请日:20090630

    专利权的终止

  • 2015-06-17

    授权

    授权

  • 2011-08-31

    实质审查的生效 IPC(主分类):G11C16/10 申请日:20090630

    实质审查的生效

  • 2011-07-20

    公开

    公开

说明书

相关申请的交叉引用

本申请要求2008年7月1日提交的美国临时专利申请序列号No.61/133,675、2008年7月3日提交的美国临时专利申请序列号No.61/133,921、2008年7月10日提交的美国临时专利申请序列号No.61/134,688、2008年7月22日提交的美国临时专利申请序列号No.61/135,732和2008年9月30日提交的美国临时专利申请序列号No.61/194,751的优先权,上述每一个专利申请通过引用被包含于此。

本申请涉及2009年3月11日提交的题为“Methods and Apparatus for Storing Data in a Multi-Level Cell Flash Memory Device with Cross-Page Sectors,Multi-Page Coding and Per-Page Coding”的国际专利申请序列号No.PCT/US09/36810,并且涉及题为“Methods and Apparatus for Read-Side Intercell Interference Mitigation in Flash Memories”的国际专利申请;题为“Methods and Apparatus for Write-Side Intercell Interference Mitigation in Flash Memories”的国际专利申请;题为“Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array”的国际专利申请;和题为“Methods and Apparatus for Intercell Interference Mitigation Using Modulation Coding”的国际专利申请,上述国际专利申请中的每一个都与本申请同时提交并且通过引用被包含于此。

技术领域

本发明总体上涉及闪存存储器器件,并且更具体地涉及改进的解映射技术以及用于减轻在这种闪存存储器器件中的单元间干扰、后样式依赖(back pattern dependency)、噪声和其它失真的影响的改进的技术。

背景技术

许多存储器器件(例如闪存存储器器件)使用模拟存储器单元来存储数据。每个存储器单元存储模拟值,也被称为存储值,例如电荷或电压。存储值表示存储在单元中的信息。在闪存存储器器件中,例如,每个模拟存储器单元典型地存储某一电压。对于每个单元的可能的模拟值的范围典型地被分成多个阈值区域,每个区域与一个或更多个数据位值对应。通过写入与期望的一个或更多个位对应的标称模拟值来将数据写到模拟存储器单元。

单电平单元(SLC)闪存存储器器件例如每个存储器单元存储一位(或两个可能的存储器状态)。另一方面,多电平单元(MLC)闪存存储器器件每个存储器单元存储两个或更多个位(即,每个单元具有四个或更多的可编程的状态)。对于MLC闪存存储器器件的更详细的讨论,参见,例如,2009年3月11日提交的题为“Methods and Apparatus for Storing Data in a Multi-Level Cell Flash Memory Device with Cross-Page Sectors,Multi-Page Coding and Per-PageCoding”的国际专利申请序列号No.PCT/US09/36810,其通过引用被包含于此。

在多电平NAND闪存存储器器件中,例如,使用具有在被分成多个区间的范围中的可编程阈值电压的浮栅器件,其中每个区间与不同的多位值对应。为了将给定的多位值编程到存储器单元中,在存储器单元中的浮栅器件的阈值电压被编程到与该值对应的阈值电压区间中。

存储在存储器单元中的模拟值常常失真。该失真典型地是由于例如后模式依赖(BPD)、噪声和单元间干扰(ICI)造成的。对于闪存存储器器件中的失真的更详细的讨论,参见,例如,J.D.Lee等人的“Effects of Floating-Gate Interference on NAND Flash Memory Cell Operation”,IEEE Electron Device Letters,264-266(2002年5月)或Ki-Tae Park等人的“A Zeroing Cell-to-Cell Interference Page Architecture With Temporary ISB Storing and Parallel MSB Program Scheme for MLC NAND Flash Memories”,IEEE J.of Solid State Circuits,Vol.43,No.4,919-928(2008年4月),每篇文献通过引用被包含于此。

ICI是单元之间的寄生电容的结果并且一般被认为是失真的最重要的来源。例如,已知ICI随技术按比例缩小而增大并且随着晶体管尺寸变小而成为阈值电压分布失真的重要的来源。因此,对于可靠的MLC存储器而言特别关心ICI,因为ICI限制可以可靠地被存储在MLC存储器中的电压电平的数量。

已提出或建议了许多技术用于通过减少单元之间的电容耦合来减轻ICI的影响。例如,Ki-Tae Park等人描述了现有的减轻ICI的编程技术,诸如偶数/奇数编程、自底至上编程和多级编程。尽管这些现有方法有助于减少ICI的影响,但是随着晶体管尺寸减小(例如,65nm以下的技术,在该情况中寄生电容因闪存单元紧密接近而大得多),它们变得不太有效。因此需要用于减轻ICI、噪声、BPD和其它失真的影响的改进的信号处理和代码技术。

发明内容

总体上,提供了用于闪存存储器中的软解映射和单元间干扰减轻的方法和设备。根据本发明的一个方面,通过以下步骤来读取能够每个单元存储至少两个数据电平s的闪存存储器器件中的目标单元:对于所述闪存存储器中的至少一个目标单元获得测量的读取值r;基于所述测量的读取值r评估至少一个概率密度函数,其中所述概率密度函数指示对于给定的数据电平s测量读取值r的概率;以及基于所述评估步骤的结果来计算一个或更多个对数似然比。

所述概率密度函数可以还包括对所述目标单元的干扰的表达式,诸如一个或更多个入侵单元对所述闪存存储器中的至少一个目标单元的依赖于样式的干扰。所述干扰可以包括例如后样式依赖、单元间干扰、编程干扰、读取干扰和/或附加噪声。所述概率密度函数可以被表示为存储的表和/或表达式。例如,所述概率密度函数可以基于直方图、高斯近似或另一近似中的一个或更多个。基于格子(trellis)的检测算法可以基于对概率密度函数的认识来检测数据。

一般,所述计算步骤还包含以下步骤:对于两个可能的二进制值中的每一个,针对与所述两个可能的二进制值关联的所有数据电平,合计(aggregate)对于给定数据电平s测量读取值r的概率。该合计包括例如和以及/或者乘积。另外,可以基于对于所述两个可能的二进制值中的每一个所合计的概率来形成比例。对于所述两个可能的二进制值中的每一个所合计的概率可以乘以以下表达式,所述表达式基于对于单元内的除正在计算所述对数似然比的位以外的所有位的一个或更多个先验概率值。

根据本发明的一个方面,通过以下步骤来读取能够每个单元存储至少两个数据电平s的闪存存储器器件中的目标单元:对于所述闪存存储器中的至少一个目标单元获得测量的读取值r;获得表示对于所述闪存存储器中的至少一个入侵单元存储的数据的值h;基于存储在所述闪存存储器的至少一部分中的值的样式来选择一个或更多个概率密度函数,其中所述概率密度函数包括一个或更多个入侵单元对所述闪存存储器中的所述至少一个目标单元的依赖于样式的干扰;基于所述测量的读取值r来评估至少一个选择的概率密度函数;以及基于所述评估步骤的结果来计算一个或更多个对数似然比。所述值h可以是硬判定(decision)和/或软值或检测的数据。可选地可以以迭代的方式使用计算的对数似然比。

一般,所述评估步骤针对存储在所述一个或更多个入侵单元中的值的给定样式来确定对于给定的数据电平s测量读取值r的依赖于样式的概率。

根据本发明的一个方面,通过以下步骤来表征在闪存存储器器件中的干扰:获得表示一个或更多个入侵单元对至少一个目标单元的依赖于样式的干扰的一个或更多个概率密度函数;以及基于存储在所述闪存存储器的至少一部分中的值的样式来选择所述概率密度函数中的一个或更多个。所述干扰可以包括例如后样式依赖、单元间干扰、编程干扰、读取干扰和/或附加噪声。可以基于一个或更多个数据判定来更新所述概率密度函数。

概率密度函数的函数参数或表条目可以可选地例如基于接收的数据判定而被适应性地更新。例如,可以基于接收的入侵样式h来选择概率密度函数。其后,使用已知的技术基于接收的目标单元值r来(例如,通过增大对应的计数器)更新最近出现的选择的概率密度函数。

参考以下详细描述和附图将获得对本发明以及本发明的另外的特征和优点的更完全的了解。

附图说明

图1是传统的闪存存储器系统的示意性框图;

图2示出用于图1的示例性多电平单元闪存存储器的示例性阈值电压分布;

图3示出多电平单元(MLC)闪存存储器器件中的示例性闪存单元阵列的架构;

图4示出用于图2的电压分配方案的示例性两级MLC编程方案;

图5A和图5B共同示出减少在邻近单元上产生的ICI的另选MLC编程方案;

图6更详细地示出多电平单元(MLC)闪存存储器器件中的示例性闪存单元阵列;

图7示出对于目标单元由于来自多个示例性入侵单元的寄生电容而存在的ICI;

图8是根据本发明的并入了基于控制器的ICI减轻技术的示例性闪存存储器系统的示意性框图;

图9是根据本发明另选实施例的并入了基于存储器的ICI减轻技术的示例性闪存存储器系统的示意性框图;

图10示出具有根据本发明的迭代的解映射和解码以及可选的交织(interleave)的示例性闪存读通道架构;

图11是描述并入本发明的特征的示例性解映射处理1100的流程图;

图12示出基于每个入侵单元的所有可能的值而指示对给定目标单元的可能的ICI影响的概率密度函数的集合;以及

图13是描述并入本发明的特征的示例性的联合解映射和ICI减轻处理的流程图。

具体实施方式

本发明的各个方面涉及用于减轻存储器器件(诸如单电平单元或多电平单元(MLC)NAND闪存存储器器件)中的ICI的信号处理技术。本文中使用的多电平单元闪存存储器包括每个存储器单元存储两个或更多个位的存储器。典型地,存储在一个闪存单元中的多个位属于不同的页。虽然此处使用存储作为电压的模拟值的存储器单元示出了本发明,但是如本领域技术人员清楚的,本发明可以用于闪存存储器的任何存储机制(诸如使用电压或电流来表示存储的数据)。

图1是传统的闪存存储器系统100的示意性框图。如图1所示,示例性闪存存储器系统100包括闪存控制系统110和闪存存储器模块160。示例性闪存控制系统110包括闪存控制器120、编码器/解码器模块140和一个或更多个缓存器145。在另选实施例中,编码器/解码器模块140和一些缓存器145可以被实现在闪存控制器120内。可以例如使用公知的市场上可买到的技术和/或产品来实现编码器/解码器模块140和缓存器145。

示例性闪存存储器模块160包括每个都可以使用公知的市场上可买到的技术和/或产品实现的存储器阵列170和一个或更多个缓存器180。存储器阵列170可以被具体实现为单电平或多电平单元闪存存储器,诸如NAND闪存存储器、相变存储器(PCM)、MRAM存储器、NOR闪存存储器或其它非易失性的闪存存储器。对于本领域技术人员将清楚,尽管主要在多电平单元NAND闪存存储器的背景下示出了本发明,但是本发明也可以应用于单电平单元闪存存储器和其它非易失性的存储器。

多电平单元闪存存储器

在多电平单元NAND闪存存储器中,典型地使用阈值检测器来将与特定单元相关的电压值转译为预先定义的存储器状态。图2示出了关于图1的示例性多电平单元闪存存储器170的示例性阈值电压分布,其基于通过引用被包含于此的美国专利No.6,522,580的教导。一般,单元的阈值电压是需要被施加到单元以使得该单元传导一定量的电流的电压。阈值电压是存储在单元中的数据的量度。

在图2所示出的示例性实施例中,每个存储元件使用四个可能的数据状态来在每个存储器单元中存储两个位的数据。图2示出四个峰210-213,其中每个峰与一个状态对应。在多电平单元闪存器件中,阈值电压分布曲线200的不同的峰210-213被用于在单元中存储两个位。

阈值电压分布曲线200的峰210-213被标记有对应的二进制值。因此,在单元处于第一状态210时,它表示低位(也被称为最低有效位LSB)为“1”且高位(也被称为最高有效位MSB)为“1”。状态210一般是单元的初始未编程的状态或擦除的状态。同样地,在单元处于第二状态211时,它表示低位为“0”且高位为“1”。在单元处于第三状态212时,它表示低位为“0”且高位为“0”。最后,在单元处于第四状态213时,它表示低位为“1”且高位为“0”。

阈值电压分布210表示在处于擦除状态(“11”数据状态)的阵列内的单元的阈值电压Vt的分布,具有在0伏以下的负的阈值电压电平。分别存储“10”和“00”用户数据的存储器单元的阈值电压分布211和212被示出分别在0和1伏之间以及在1和2伏之间。阈值电压分布213示出已经被编程为“01”数据状态的单元的分布,具有设定在2伏和4.5伏的读通电压(read pass voltage)之间的阈值电压电平。

因此,在图2的示例性实施例中,可以使用0伏、1伏和2伏作为每个电平或状态之间的电压电平阈值。闪存存储器160(例如,闪存存储器160中的感测电路)使用电压电平阈值来确定给定单元的电压电平或状态。闪存存储器160将基于测量的电压与电压电平阈值的比较结果将一个或更多个位分配给每个单元,其随后作为硬判定被传送到闪存控制系统110。附加地或另选地,在使用软信息的实现方案中,闪存存储器160可以向闪存控制系统110传送作为软信息的测量的电压或者测量的电压的量化版本,其中与存储器单元中存储的位的数量相比,使用数量更多的位来表示测量的电压。

应当进一步注意,典型地使用公知的编程/验证技术来对单元编程。一般,在编程/验证周期期间,闪存存储器160逐渐施加增加的电压以将电荷存储在单元晶体管中,直至超过最小目标阈值电压。例如,当在图2的示例中编程“10”数据状态时,闪存存储器160可以逐渐施加增加的电压以将电荷存储在单元晶体管中,直至超过0.4V的最小目标阈值电压。

如下文将进一步讨论的,单个存储器单元中存储的两个位中的每一个来自不同的页。换言之,每个存储器单元中存储的两个位中的每个位承载不同的页地址。当输入低页(lower page)地址时,访问图2中示出的右侧位。当输入高页(upper page)地址时,访问左侧位。

图3示出了多电平单元(MLC)闪存存储器器件160中的示例性闪存单元阵列300的架构,其中每个示例性单元典型地对应于存储两个位的浮栅晶体管。在图3中,每个单元与两个位所属的两个页的两个编号关联。示例性单元阵列部分300示出了字线n至n+2和四条位线。示例性闪存单元阵列300被分为偶数页和奇数页,其中例如具有偶数编号的单元(诸如具有编号0和2的单元)对应于偶数页,而具有奇数编号的单元(诸如具有编号1和3的单元)对应于奇数页。字线n例如在偶数位线中存储偶数页0和2,并且在奇数位线中存储奇数页1和3。

此外,图3指示了示例性编程序列,其中按照指示的顺序依次地(自底而上)选择偶数或奇数位线单元并且对其编程。编号指示了对页编程的顺序。例如,页0在页1之前被编程。对于偶数页和奇数页的编程的进一步的讨论,参见例如K.-T.Park等人的“A ZeroingCell-to-Cell Interference Page Architecture with Temporary LSBStoring and Parallel MSB Program Scheme for MLC NAND FlashMemories”,IEEE Journal of Solid-State Circuits,Vol.43,No.4,919-928(2008年4月),其通过引用被包含于此。

图4示出了关于图2的电压分配方案的示例性的两级MLC编程方案400。如图4所示,在LSB编程阶段期间,如果LSB是零,则处于擦除状态410的所选择的单元的状态移动到最低编程状态411。因此,在LSB编程阶段,存储器单元被从擦除状态“11”编程到“10”。接着,在MSB编程阶段期间,取决于先前的LSB数据,依次形成两个状态,即状态“00”(412)和状态“01”(413)。一般,在MSB编程阶段期间,“10”状态被编程到“00”,而状态“11”被编程到“01”。

应当注意,图4的编程方案400示出了与从状态410到状态413的状态改变关联的最大电压偏移。已提出或建议了许多编程方案用于减少与状态改变关联的最大电压偏移,并且由此减少由电压偏移引起的ICI。

图5A和图5B共同示出了减少在邻近单元上产生的ICI的另选MLC编程方案500。如图5A所示,在LSB编程阶段期间,按与SLC编程类似的方式,将存储器单元从状态“11”编程到作为临时(或中间)状态的状态“x0”。在同一字线中的邻近单元也进行LSB编程之后,由于ICI,分布可能被扩宽,如图5A中的峰510所示。随后,在图5B中示出的MSB编程阶段,“x0”状态被编程到作为与输入数据对应的最终状态的“00”和“10”,或者“11”状态被编程到最终的“01”状态。一般,除“11”单元之外的所有存储器单元在MSB编程阶段中从对于LSB数据的临时编程状态重新编程到它们的最终状态,使得可以极大地减小由邻近单元引起的ICI。处于最终状态的单元将不会遭受到其处于中间状态时经历的ICI,这是因为其已被重新编程到最终状态。处于最终状态的单元将仅遭受到由于处于最终状态而经历的ICI。如上文提到的,使用中间编程状态的图5A和图5B的多步(multi-step)编程序列减少了最大电压改变,并且因此减少了由这些电压改变引起的ICI。在图5B中可以看到,例如MSB编程阶段期间的最大电压偏移分别与从状态“11”到“01”和从状态“x0”到状态“10”的转变关联。这些电压偏移明显小于图4中的从状态“11”到“01”的最大电压偏移。

图6更详细地示出了多电平单元(MLC)闪存存储器器件130中的示例性闪存单元阵列600。如图6所示,闪存单元阵列600对于每个闪存单元ci存储三个位。图6示出了对于一个模块的闪存单元阵列架构,其中每个示例性单元典型地对应于存储三个位的浮栅晶体管。示例性单元阵列600由m条字线和n条位线组成。典型地,在当前的多页单元闪存存储器中,单个单元中的位属于不同的页。在图6的示例中,每个单元的三个位对应于三个不同的页,并且每条字线存储三个页。在下面的讨论中,页0、1和2被称为字线中的低页层级(page level)、中间页层级和高页层级。

如上文所指出的,闪存单元阵列可以被进一步分为偶数和奇数页,其中例如,具有偶数编号的单元(诸如图6中的单元2和4)对应于偶数页,而具有奇数编号的单元(诸如图6中的单元1和3)对应于奇数页。在该情况中,页(诸如页0)将包含偶数单元中的偶数页(偶数页0)和奇数单元中的奇数页(奇数页0)。

单元间干扰

如前面指出的,ICI是单元之间的寄生电容的结果,并且通常被视为最主要的失真源之一。图7示出了对于目标单元710的由于来自多个示例性入侵单元720的寄生电容而存在的ICI。在图7中使用如下标记:

WL:字线;

BL:位线;

BLo:奇数位线;

BLe:偶数位线;以及

C:电容。

本发明认识到ICI是由在目标单元710已经被编程之后进行编程的入侵单元720引起的。ICI改变目标单元710的电压Vt。在示例性实施例中,采取“自底而上”编程方案,并且字线i和i+1中的相邻入侵单元引起了对于目标单元710的ICI。如图7所示,通过模块的这种自底而上的编程,来自下面的字线i-1的ICI被移除,并且高达五个邻近单元作为入侵单元720对ICI有贡献。然而,应当注意,本领域技术人员将清楚,这里公开的技术可以被推广到来自其它字线(诸如字线i-1)的入侵单元也对ICI有贡献的情况。如果来自字线i-1、i和i+1的入侵单元对ICI有贡献,则需要考虑高达八个最近的邻近单元。如果更远离目标单元的其它单元对ICI的贡献可忽略的话,则可以忽略它们。通常,通过分析编程序列方案(诸如自底而上或者偶数/奇数技术)以识别在给定的目标单元710之后进行编程的入侵单元720,来识别入侵单元720。

在示例性实施例中,入侵单元720引起的对目标单元710的ICI可以如下建模:

ΔVICI(i,j)=kxΔVt(i,j-1)+kxΔVt(i,j+1)+kyΔVt(i+1,j)+

kxyΔVt(i+1,j-1)+kxyΔVt(i+1,j+1)---(1)

其中是入侵单元(w,b)的Vt电压的改变,是由于ICI引起的目标单元(i,j)的Vt电压的改变,并且kx、ky和kxy是关于x、y和xy方向的电容耦合系数。

一般,Vt是表示单元上存储的数据的电压并且是在读操作期间获得的。Vt可以通过读操作获得,例如,作为具有比每单元存储的位数量更高的精度的软电压值,或者作为被量化到具有与每单元存储的位数量相同的分辨率(例如,对于3位/单元的闪存,为3位)的硬电压电平的值。

解映射和ICI减轻

本发明使用概率密度函数提供了用于闪存存储器的改进的解映射功能。本文中使用的术语“概率密度函数”应该包括概率密度函数及其近似,诸如直方图和高斯近似。根据下面结合图12-13讨论的本发明的一个方面,所公开的ICI减轻功能可选地被实现具有解映射功能,以便提供联合解映射和ICI减轻解决方案。在下面结合图10讨论的又一个变体中,描述了使用一个或更多个概率密度函数的迭代的解映射和解码技术,用以从闪存存储器读取和检测数据。在又一个变体中,如在下文中所讨论的,所公开的解映射解决方案考虑取决于存储在邻近单元中的数据样式的概率密度函数(pdf)而不是不具有该数据依赖性的pdf。在一个示例性实施例中,每个概率密度函数表征在闪存存储器阵列中一个或更多个入侵单元对至少一个目标单元的依赖于样式的干扰。

在一个示例性实现方式中,联合解映射和ICI减轻解决方案假设概率密度函数可以使用高斯概率密度函数来近似。基于直方图讨论另外的更高复杂度的实现方式。此外,描述了基于概率密度函数或其近似来检测读取数据的基于格子的检测算法,诸如维特比(Viterbi)、软输出维特比(SOVA)和BCJR算法,其原则上以更高的复杂度为代价而提供更好的性能。

图8是根据本发明的并入基于控制器的软解映射器技术的示例性闪存存储器系统800的示意性框图。在又一个实施例中,闪存存储器系统800并入根据本发明的基于控制器的联合解映射和ICI减轻技术。如图8所示,示例性闪存存储器系统800包括由接口850连接的闪存控制系统810和闪存存储器模块860。示例性闪存控制系统810包括典型地在一个或更多个集成电路上的闪存控制器820和读通道825。

示例性读通道825包括信号处理单元830、编码器/解码器模块840和一个或更多个缓存器845。请注意,术语“读通道”也可以包括写通道。在另选实施例中,编码器/解码器模块840和一些缓存器845可以被实现在闪存控制器820内。编码器/解码器模块840和缓存器845可以例如使用公知的市场上可买到的技术和/或产品来实现,并如在本申请中那样修改以提供本发明的特征和功能。

示例性信号处理单元830包括实现一个或更多个软解映射处理835的一个或更多个处理器,如下面结合例如图10-11进一步讨论的。在又一个实施例中,软解映射器835实现一个或更多个联合解映射和ICI减轻处理,如下面结合例如图12-13进一步讨论的。示例性闪存存储器模块860包括每个都可以使用公知的市场上可买到的技术和/或产品实现的存储器阵列870和一个或更多个缓存器880。

在所公开的ICI减轻技术的各个实施例中,示例性接口850可能需要传递相对于传统闪存存储器系统而言额外的信息,诸如表示与入侵单元关联的信息的值。因此,接口850可能需要具有与传统闪存存储器系统中的接口相比更大的容量或更快的速度。可以可选地例如根据如下申请的教导实现接口850:与本申请同时提交并且通过引用被包含于此的题为“Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array”的国际PCT专利申请序列号No._____(律师案卷号No.08-0769),其使用例如双倍数据率(DDR)技术增大接口850的信息承载容量。

在写操作期间,接口850典型地使用页面级或字线级访问技术来传送要被存储在目标单元中的编程值。对于示例性的页面级或字线级访问技术的更详细的讨论,参见,例如,2009年3月11日提交的题为“Methods and Apparatus for Storing Data in a Multi-Level Cell Flash Memory Device with Cross-Page Sectors,Multi-Page Coding and Per-Page Coding”的国际专利申请序列号No.PCT/US09/36810,其通过引用被包含于此。

在读操作期间,接口850传送对于目标和入侵单元已经从存储器阵列870处获得的硬和/或软读取值。例如,除对于具有目标单元的页面的读取值之外,在接口总线之上还传送对于高/低字线或邻近偶数或奇数位线中的一个或更多个相邻页面的读取值。在图8的实施例中,所公开的ICI减轻技术典型地以针对逻辑电路优化的加工技术被实现在闪存存储器外以实现最低面积。然而,它以必须在接口850上传送的额外的入侵单元数据为代价。

图9是根据本发明的另选实施例的并入基于存储器的软解映射技术的示例性闪存存储器系统900的示意性框图。在又一个实施例中,闪存存储器系统900并入联合解映射和ICI减轻技术。如图9所示,示例性闪存存储器系统900包括由接口950连接的闪存控制系统910和闪存存储器模块960。

示例性闪存控制系统910包括典型地在一个或更多个集成电路上的闪存控制器920和可选的读通道925。在另选实施例中,编码器/解码器模块940和一些缓存器945可以被实现在闪存控制器920内。示例性闪存控制器920可以例如使用公知的市场上可买到的技术和/或产品来实现,并如在本申请中那样修改以支持本发明的特征和功能。示例性读通道925包括编码器/解码器模块940和一个或更多个缓存器945。可以使用公知的市场上可买到的技术和/或产品来实现编码器/解码器模块940和缓存器945。

示例性闪存存储器模块960包括每个都可以使用公知的市场上可买到的技术和/或产品实现的存储器阵列970和一个或更多个缓存器980。另外,示例性闪存存储器模块960包括示例性信号处理单元985,其包括实现一个或更多个软解映射或联合解映射和ICI减轻处理990的一个或更多个处理器,下面结合例如图11-13进一步讨论。

在所公开的ICI减轻技术的各个实施例中,示例性接口950可能需要传送相对于传统闪存存储器系统而言额外的信息,诸如表示与入侵单元关联的信息的值。因此,接口950可能需要具有与传统闪存存储器系统中的接口相比更大的容量或更快的速度。可以可选地例如根据如下申请的教导实现接口950:与本申请同时提交并且通过引用被包含于此的题为“Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array”的国际PCT专利申请序列号No._______(律师案卷号No.08-0769),其使用例如双倍数据率(DDR)技术增大接口950的信息承载容量。

在写操作期间,接口950传送要被存储在目标单元和入侵单元中的编程数据。在读操作期间,接口950传送通过联合解映射和ICI减轻处理990针对目标单元和可选的入侵单元计算的新的硬或软读取值或数据。典型地,对于单个读访问传递的信息是页面或字线的数据。请注意,仅仅发送针对目标单元的数据减少了接口950的带宽要求,但是以使用用来制造闪存存储器的存储器加工技术在存储器内实现ICI减轻处理为代价,其典型地针对存储器而不是逻辑电路来优化。

请注意,在图8和图9的ICI减轻技术的各个实施例中使用的电容耦合系数kx、ky和kxy可以在闪存控制系统810、910和/或闪存存储器模块860、960中被计算。电容耦合系数kx、ky和kxy在相应的接口850、950上被传送可能是必需的。请注意,电容耦合系数可以是适应性的并且连续地、偶然地或周期性地被更新。

软解映射器

图10示出具有根据本发明的迭代的解映射和解码以及可选的交织的示例性闪存读通道架构1000。如图10所示,示例性写路径包括编码器1010、可选的交织器1020、串-并转换器1030和映射器1040。数据以已知的方式被写到存储器1050以及从存储器1050读取。示例性读路径包括软解映射器1060、并-串转换器1070、去交织器1080、解码器1090和交织器1095。一般,如下面进一步讨论的,软解映射器1060产生软信息,该软信息被解码器1090处理以便产生新的软信息并且以迭代的方式反馈到软解映射器,直到迭代处理收敛到最后的判定。

在一个示例性实施例中,软解映射器1060利用以下公式产生软信息(LLR):

Le(Ct)=logΣsχ0tp(r|s)·Πq=1,qtmexp(-La(Cq)·cq)Σsχ1tp(r|s)·Πq=1,qtmexp(-La(Cq)·cq)---(2)

其中p(r|s)是表征闪存通道的概率密度函数;r是测量的读取值(具有任意精度),典型地表示测量的阈值电压,s是数据或电压电平或电压状态(例如在两位/单元的MLC NAND闪存中存在四个电压电平),cq是在位置q处的编码位(coded bit),m是每个单元的位的数量,是对于位置t处的位Ct的先验对数似然比,Le(Ct)是对于位Ct的外在的(extrinsic)对数似然比,并且是其位标记在位置t上具有值Ct=ct的符号的子集。先验对数似然比La(Ct)在示例性实施例中由解码器(诸如低密度的奇偶检验解码器)产生,并且可能可选地已经经过交织器。在示例性实施例中计算的外在的对数似然比Le(Ct)可以被提供给解码器(诸如低密度的奇偶检验解码器)或者在解码之前被传递到去交织器。所计算的外在的对数似然比Le(Ct)还可以被用来对读取值进行最后的判定。

一般,根据公式(2),对于每个可能的二进制值,针对与可能的二进制值关联的所有数据电平,对于给定的数据电平s测量读取值r的概率被合计(例如,求和或相乘)。然后基于对于每个可能的二进制值所合计的概率来形成比例。对于每个可能的二进制值所合计的概率乘以以下表达式,所述表达式基于对于单元内的除正在计算外在的对数似然比的位以外的所有位的一个或更多个先验概率值。

如图10所示,由解映射器1060产生的软信息可以被用于在软解映射器1060、去交织器1080、解码器1090和反馈路径中的交织器1095之间的迭代的解映射和解码。

在又一个变体中,解映射器1060可以使用如下的概率密度函数的高斯近似:

Le(Ct)maxsχ0t[-12σ2(r-s)2-Σq=1,qtmLa(Cq)·cq]-

maxsχ1t[-12σ2(r-s)2-Σq=1,qtmLa(Cq)·cq]---(2a)

其中σ2是对于阈值电压的概率密度函数的方差,(例如被计算作为高斯pdf的二次矩(second moment))。对于该公式中的其它项的讨论,参见公式(2)的讨论。

图11是描述并入本发明的特征的示例性解映射处理1100的流程图。如图11所示,示例性解映射处理1100在步骤1110期间初始获得对于目标单元710的测量值r。其后,在步骤1120期间通过使用对于目标单元710的r的测量值评估概率密度函数或其近似而获得p。

使用在步骤1120期间根据概率密度函数获得的p值,在步骤1130期间使用公式(2)或(2a)(上述)或其近似计算LLR。最后,在步骤1140期间,将计算的LLR提供给解码器或可选地提供给去交织器。在另选实施例中,计算的LLR被用来例如基于LLR的符号而对读取数据进行最后的判定。

联合解映射和单元间干扰减轻

如先前指出的,本发明的一个方面提供联合解映射和ICI减轻解决方案。所公开的联合解映射和ICI减轻解决方案考虑取决于周围单元的数据样式的概率密度函数(pdf)。图12示出对于示例性多电平单元闪存存储器600的给定目标单元710的概率密度函数1210的示例性集合1200。示例性多电平单元闪存存储器600的每个单元具有四个电平(两个位),并且对于数据依赖的pdf考虑一个入侵单元720。

图12示出基于每个入侵单元720的所有可能的值而指示对给定目标单元710的可能的ICI影响的概率密度函数的集合1200。因此,可应用到给定目标单元710的每个可能的电平的概率密度函数的数量是提高到影响给定目标单元710的入侵单元720的数量的每个入侵单元720的可能电平的数量。如先前指出的,在示例性实施例中,每个单元可以具有四个可能的值中的一个,每个目标单元710存在一个入侵单元720并且每个入侵单元720可以具有四个可能的电平中的一个。因此,为了举例,概率密度函数的集合1200包括对于数据或电压电平0的四个概率密度函数1210-1到1210-4,其可归因于入侵单元的样式。还存在对于其它数据电平1、2和3中的每一个的四个概率密度函数。如本领域技术人员清楚的本发明可以被扩展至每个单元具有任意数量的电平、以及任意数量的入侵单元720的多电平单元闪存存储器600。

一般,图12中的每个概率密度函数表示,在其它噪声和干扰影响中,对于对应入侵单元720的给定值的对给定目标单元710的ICI影响。在本发明的又一个实施例中,依赖于数据的概率密度函数可以表示替代ICI的或除ICI之外的其它依赖于数据的失真。如在下文中所讨论的,在各个实施例中,概率密度函数可以是预先定义的和静态的,基于实时观察被改编,或者被表示为对于入侵单元720的测量的或检测的值h的函数,诸如高斯函数。

图13是描述并入本发明的特征的示例性的联合解映射和ICI减轻处理1300的流程图。如图13所示,示例性的联合解映射和ICI减轻处理1300在步骤1310期间初始获得对于目标单元710的测量值r。其后,在步骤1320期间获得表示存储在与目标单元710关联的至少一个入侵单元720中的数据的值h。值h可以是硬判定和/或软值或检测的数据。

对于每个入侵单元,在步骤1330期间使用h来选择对于目标单元710的对应电平的概率密度函数。可以可选地针对目标单元710的一个或更多个可能的电平来选择概率密度函数。概率密度函数可以例如从存储在存储器中的表中获得或者使用描述概率密度函数的函数来评估。其后,在步骤1340期间根据在步骤1330期间使用对于目标单元710的r的测量值而获得的每个概率密度函数来获得p。

使用在步骤1340期间根据每个概率密度函数而获得的p值,在步骤1350期间使用公式(3)(下面)来计算LLR。最后,在步骤1360期间,计算的LLR被提供给解码器和可选的去交织器或者被用来对读取的数据进行最后的判定。

在一个示例性实施例中,联合解映射和ICI减轻处理1300实现以下单元依赖于样式的概率密度函数:

Le(Ct)=logΣsχ0tp(r|s,h(i±1,j),h(i,j±1),h(i±1,j±1))·Πq=1,qtmexp(-La(Cq)·cq)Σsχ1tp(r|s,h(i±1,j),h(i,j±1),h(i±1,j±1))·Πr=1,qtmexp(-La(Cq)·cq)---(3)

其中h(i,j)是基于通道的硬或软输出的入侵单元720的电压电平。

根据本发明的另一方面,在闪存存储器器件中的干扰可以通过以下步骤来表征:获得表示一个或更多个入侵单元对至少一个目标单元的依赖于样式的干扰的一个或更多个概率密度函数;以及基于存储在闪存存储器的至少一部分中的值的样式来选择概率密度函数中的一个或更多个。干扰可以包括例如后样式依赖、单元间干扰、编程干扰、读取干扰和/或附加噪声。概率密度函数可以基于一个或更多个数据判定来更新。概率密度函数可以被表示为存储的表和/或表达式。

请进一步注意,概率密度函数的函数参数或表条目可以可选地例如基于接收的数据判定而被适应性地更新。例如,如上所指出的,基于接收的入侵样式h来选择概率密度函数。然后使用已知的技术基于接收的目标单元值r来(例如,通过增大对应的计数器)更新最近出现的选择的概率密度函数。

如先前指出的,基于许多因素可以减少或忽略影响给定目标单元710的入侵单元720的数量。以这样的方式,可以减少需要考虑的概率密度函数的数量。例如,如果对角耦合系数kxy比其它耦合系数小得多(通常就是这样),则可以忽略来自对角设置的单元的ICI。另外,编程序列影响需要考虑的入侵单元720的数量。例如,如果总是以固定顺序(诸如自底而上的方法)写字线,则没有来自较低字线中的单元的ICI贡献。另外,如果ICI关于目标单元710的左右邻居是对称的,则需要表征的概率密度函数的数量减少一半。

如先前指出的,在一个示例性实现方式中,联合解映射和ICI减轻解决方案假设概率密度函数可以使用高斯概率密度函数来近似。

在又一个变体中,如果概率密度函数基于例如直方图,则可以以额外的复杂度为代价获得改进的性能。当使用直方图实现概率密度函数时,可以使用成功解码的字线来适应性地更新概率密度函数以便训练直方图。

在又一个实施例中,如下所述,概率密度函数及其近似可以被基于格子的检测算法(诸如维特比、软输出维特比(SOVA)以及BCJR算法)使用来检测读取数据。

在维特比实现方式中,单元被连续地解映射,并且对于当前解映射的单元的硬输出是基于先前解映射的电平的。如本领域技术人员清楚的维特比实现方式要求来自闪存通道的软信息以及在解映射器节点之间的连接。在基于维特比、软输出维特比(SOVA)或BCJR算法的实现方式中,通过概率密度函数p(r|s,h(i±1,j),h(i,j±1),h(i±1,j±1))给出分支度量(branch metrics)。

请注意,在维特比实现方式中,格子方向被配置为与编程时间表(schedule)相反,即,较晚编程的单元在格子中较早处(因为新的(邻近的)单元的编程影响先前编程的单元)。SOVA和BCJR算法的定义类似。基于依赖于样式的概率密度函数p(r|s,h(i±1,j),h(i,j±1),h(i±1,j±1))或其近似来计算分支度量。与标准的基于格子的算法的一个差别在于,在闪存存储器的情况下,格子是二维的,反映ICI来自邻近的位线和字线的事实。

处理、系统和产品的细节

尽管这里的多个流程图描述了示例性的步骤序列,但是序列可以变化,这也是本发明的实施例。算法的各种置换被视为本发明的另选实施例。尽管已经针对软件程序中的处理步骤描述了本发明的示例性实施例,但是如本领域技术人员将清楚的,各种功能可以在数字领域中实现为软件程序中的处理步骤,在硬件中通过电路元件或状态机实现,或者通过软件和硬件的组合实现。这种软件可以用在例如数字信号处理器、专用集成电路、微控制器或者通用计算机中。这种硬件和软件可以被具体实现在集成电路内实现的电路内。

因此,本发明的功能可以被具体实现为方法和用于实践这些方法的装置的形式。本发明的一个或更多个方面可以被具体实现为例如存储在存储介质中、加载到机器中和/或由该机器执行、或者在某种传输介质上传送的程序代码的形式,其中当程序代码被加载到诸如计算机的机器中并且由该机器执行时,该机器变为用于实践本发明的设备。当在通用处理器上实现时,程序代码段与处理器组合以提供按与特定逻辑电路相似的方式操作的装置。本发明也可以实现在集成电路、数字信号处理器、微处理器和微控制器中的一个或更多个中。

如本领域中已知的,这里讨论的方法和设备可以作为产品分发,该产品自身包括具有在其上具体实现的计算机可读代码单元的计算机可读介质。计算机可读程序代码单元可以结合计算机系统操作以实现用于执行这里讨论的方法的所有或一些步骤或者创建这里讨论的设备。计算机可读介质可以是可记录介质(例如,软盘、硬盘驱动器、压缩盘、存储卡、半导体器件、芯片、专用集成电路(ASIC)),或者可以是传输介质(例如,网络,包括光纤、万维网、线缆、或者使用时分多址、码分多址的无线信道或者其它射频信道)。可以使用能够存储适于与计算机系统一起使用的信息的任何已知的或开发的介质。计算机可读代码单元是用于允许计算机读取指令和数据的任何机制,诸如磁介质上的磁性变化或者压缩盘表面上的高度变化。

这里描述的计算机系统和服务器中的每一个均包含存储器,该存储器将配置关联的处理器来实现这里公开的方法、步骤和功能。存储器可以是分布式的或者本地的,并且处理器可以是分布式的或者单个的。存储器可以被实现为电、磁或光存储器,或者这些或其它类型的存储器器件的任何组合。而且,术语“存储器”应被足够广泛地解释以涵盖能够被从关联的处理器访问的可寻址空间中的地址读取或者写入该地址的任何信息。通过该定义,网络上的信息仍在存储器内,这是因为关联的处理器可以从网络取回信息。

应当理解,这里示出和描述的实施例和变化仅是对本发明的原理的说明,并且本领域技术人员可以实现各种修改而不偏离本发明的范围和精神。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号