CN102132348A - 用于闪存存储器中写入端单元间干扰减轻的方法和装置 - Google Patents
用于闪存存储器中写入端单元间干扰减轻的方法和装置 Download PDFInfo
- Publication number
- CN102132348A CN102132348A CN200980132503.1A CN200980132503A CN102132348A CN 102132348 A CN102132348 A CN 102132348A CN 200980132503 A CN200980132503 A CN 200980132503A CN 102132348 A CN102132348 A CN 102132348A
- Authority
- CN
- China
- Prior art keywords
- unit
- ici
- programming
- object element
- invasion
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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/1072—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 in multilevel memories
-
- 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/5621—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 charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/5621—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 charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/02—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
- Semiconductor Memories (AREA)
Abstract
提供了用于闪存存储器中写入端单元间干扰减轻的方法和装置。通过如下来对闪存存储器器件写入的方法,包括:获得要写入到所述闪存存储器中的至少一个目标单元的编程数据;获得用于晚于所述目标单元编程的至少一个入侵单元的编程数据的一个或更多个位;以及通过产生经预补偿的编程值,来预补偿对于所述目标单元的单元间干扰。所述入侵单元包括与所述目标单元相邻的一个或更多个单元,诸如在与所述目标单元相同字线中的一个或更多个相邻的单元和/或在所述目标单元上或下的相邻字线中的一个或更多个单元。可选地,将用于所述目标单元的所述经预补偿的编程值提供给所述闪存存储器。
Description
相关申请的交叉引用
本发明要求在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 Interfacing Between a Flash Memory Controller and a Flash Memory Array”的国际专利申请、题为“Methods and Apparatus for Intercell Interference Mitigation Using Modulation Coding”的国际专利申请、和题为“Methods and Apparatus for Soft Demapping and Intercell Interference Mitigation in Flash Memories”的国际专利申请;通过引用将这些申请合并于此。
技术领域
本发明通常涉及闪存存储器器件,更具体地,涉及用于减轻这些闪存存储器器件中的单元间干扰的影响的改进的技术。
背景技术
诸如闪存存储器器件的许多存储器器件使用模拟存储器单元存储数据。每个存储器单元存储诸如电荷或电压的模拟值,其也被称为存储值。存储值表示单元中存储的信息。在闪存存储器器件中,例如,每个模拟存储器单元典型地存储某个电压。每个单元的可能的模拟值的范围典型地被划分成阈值区域,每个区域对应于一个或更多个数据位值。通过写入对应于所期望的一个或更多个位的标称模拟值,将数据写入模拟存储器单元。
单电平单元(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-Page Coding”的序列号为No.PCT/US09/36810的国际专利申请,通过引用将其合并于此。
在多电平NAND闪存存储器器件中,例如,使用具有在被划分成多个区间的范围中的可编程阈值电压的浮栅器件,每个区间对应于不同的多位值。为了将给定多位值编程到存储器单元中,存储器单元中的浮栅器件的阈值电压被编程到对应于该值的阈值电压区间中。
存储器单元中存储的模拟值常常失真。这种失真典型地归因于例如,后向模式依赖(back pattern dependency)(BDP)、噪声和单元间干扰(ICI)。对于闪存存储器器件中的失真的更详细的讨论,参见例如,J.D.Lee等人的″Effects of Floating-Gate Interference on NANDFlash Memory Cell Operation,″IEEE Electron Device Letters,264-266(May 2002)或者Ki-Tae Park等人的″A Zeroing Cell-to-Cell Interference Page Architecture With Temporary LSB Storing and Parallel MSB Program Scheme for MLC NAND Flash Memories,″IEEEJ.of Solid State Circuits,Vol.43,No.4,919-928,(April 2008),通过引用将这些文献合并于此。
ICI是单元之间的寄生电容引起的,并且通常被认为是最主要的失真源。Id.例如,已知ICI随着技术尺度缩小而增加,并且随着晶体管尺寸变得越小而成为阈值电压分布的重要的失真源。因此,对于可靠的MLC存储器,ICI受到特别的关注,这是因为ICI限制了能够可靠地存储在MLC存储器中的电压电平的数量。
已提出或建议了许多技术用于通过减小单元之间的电容耦合来减轻ICI。例如,Ki-Tae Park等人描述了现有的减轻ICI的编程技术,诸如偶数/奇数编程、自底至上编程和多级编程。尽管这些现有方法有助于减少ICI的影响,但是随着晶体管尺寸的减小(例如,65nm以下的技术,在该情况中寄生电容因闪存单元紧密接近而变得大得多),它们变得不太有效。因此,存在对改善的用于减轻ICI的影响的信号处理和编码技术的需求。
发明内容
一般地说,提供了用于闪存存储器中写入端单元间干扰减轻的方法和装置。根据本发明一个方面,通过如下来对闪存存储器器件写入:获得要写入到所述闪存存储器中的至少一个目标单元的编程数据;获得用于晚于所述目标单元编程的至少一个入侵单元的编程数据的一个或更多个位;以及通过产生经预补偿的编程值,来预补偿对于所述目标单元的单元间干扰。所述至少一个入侵单元包括与所述目标单元相邻的一个或更多个单元,诸如在与所述目标单元相同字线中的一个或更多个相邻的单元和/或在所述目标单元上或下的相邻字线中的一个或更多个单元。
可选地,将用于所述目标单元的所述经预补偿的编程值提供给所述闪存存储器。所述公开的技术可以可选地应用到多步骤页编程序列中的一个或更多个步骤。在本发明的多个变型中,例如,可以忽略从对角地相邻的入侵单元对所述目标单元的单元间干扰,和/或对于偶数/奇数编程序列,可以忽略从相同字线中的一个或更多个相邻单元对所述目标单元的单元间干扰。
通过参照下面的详细描述和附图将获得对本发明以及本发明的另外的特征和优点的更全面的理解。
附图说明
图1是传统闪存存储器***的示意性框图;
图2示出了关于图1的示例性多电平单元闪存存储器的示例性阈值电压分布;
图3示出了多电平单元(MLC)闪存存储器器件中的示例性闪存单元阵列的架构;
图4示出了关于图2的电压分配方案的示例性两级MLC编程方案;
图5A和5B共同示出了减少加在邻居单元上的ICI的替代的MLC编程方案;
图6更详细地示出了多电平单元(MLC)闪存存储器器件中的示例性闪存单元阵列;
图7示出了对于目标单元的因来自多个示例性入侵单元的寄生电容而存在的ICI;
图8是并入了根据本发明的基于控制器的ICI减轻技术的示例性闪存存储器***的示意性框图;
图9是并入了根据本发明的替代实施例的基于存储器的ICI减轻技术的示例性闪存存储器***的示意性框图;
图10是描述并入了本发明的特征的写入端ICI减轻处理的示例性实现方案的流程图;
图11是描述并入了本发明的特征的读取端ICI减轻处理的示例性实现方案的流程图;以及
图12是描述并入了本发明的特征的迭代的读取端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 address)时,访问图2中示出的右侧位。当输入高页地址(upper page address)时,访问左侧位。
图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 Zeroing Cell-to-Cell Interference Page Architecture with Temporary LSB Storing and Parallel MSB Program Scheme for MLC NAND Flash Memories,″IEEE Journal of Solid-State Circuits,Vol.43,No.4,919-928(April 2008),通过引用将其合并于此。
图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:位线
Bio:奇数位线;
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可以如下建模:
通常,Vt是表述单元上存储的数据的电压并且是在读操作期间获得的。Vt可以通过读操作获得,例如,作为具有比每单元存储的位数目更高的精度的软电压值,或者作为被量化到具有与每单元存储的位数目相同的分辨率(例如,对于3位/单元的闪存,为3位)的硬电压电平的值。
***级考虑
图8是并入了根据本发明的基于控制器的ICI减轻技术的示例性闪存存储器***800的示意性框图。如图8中所示,示例性闪存存储器***800包括由接口850连接的闪存控制***810和闪存存储器模块860。示例性闪存控制***810包括典型地在一个或更多个集成电路上的闪存控制器820和读通道825。例如,可以使用公知的商用技术和/或产品,如在这里所修改的以支持本发明的特征和功能,来实现该示例性的闪存控制器820。
示例性读通道825包括信号处理单元830、编码器/解码器模块840、和一个或更多个缓存器845。应当注意,术语“读通道”也可以包括写通道。在替代的实施例中,编码器/解码器模块840和一些缓存器845可以实现在闪存控制器820内部。例如,可以使用公知的商用技术和/或产品,如在这里所修改的以提供本发明的特征和功能,来实现编码器/解码器模块840和缓存器845。
示例性信号处理单元830包括一个或多个处理器,其实现下文结合例如图10-12进一步讨论的一个或更多个ICI减轻处理835。此外,图8中示出的各模块之间的数据流也在下文结合例如图10-12进一步讨论。通常,如下文结合图10和12进一步讨论的,为了在读操作期间执行ICI减轻,一个或更多个ICI减轻处理835基于硬或软读取值计算新的读取值。同样地,如下文结合图10进一步讨论的,为了在写操作期间执行ICI减轻,一个或更多个ICI减轻处理835基于对于目标单元和入侵单元的编程数据生成要存储在存储器阵列870中的经预补偿的编程值。
示例性的闪存存储器模块860包括每一个都可以利用公知的可商业获得的技术和/或产品实现的一个或更多个缓存器880和存储器阵列870。
在所公开的ICI减轻技术的各种实施例中,相对于传统的闪存存储器***,示例性接口850可能需要传送另外的信息,诸如表示与入侵单元关联的信息的值。因此,较之传统的闪存存储器***中的接口,接口850可能需要具有更高的容量(例如,更多的输入或输出引脚)或更快的速率。接口850可以可选地例如根据与此同时提交的题为“Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array”的国际专利申请(代理人案卷号(Attorney Docket 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的国际专利申请,通过引用将其合并于此。典型地,由于经预补偿的编程值的数量典型地大于原始编程值的数量,因此较之表示原始编程值,需要更多的位来表示经预补偿的编程值。因此,对于写入端ICI减轻,接口850需要传送比传统接口更多的数据。
在读取操作期间,接口850传送对于目标单元和入侵单元已经从存储器阵列870获得的硬和/或软读取值。例如,除对于具有目标单元的页的读取值以外,还在接口总线上传送对于在上/下字线或邻近的偶或奇位线中的一个或更多个相邻页的读取值。
在图8的实施例中,所公开的写入或读取端ICI减轻技术是在闪存存储器外部实现的,典型地是通过对逻辑电路进行优化以实现最低面积的工艺技术实现的。然而,其代价是必须在接口850上传输另外的入侵单元数据。
图9是并入了根据本发明的替代实施例的基于存储器的ICI减轻技术的示例性闪存存储器***900的示意性框图。如图9中所示,示例性闪存存储器***900包括通过接口950连接的闪存控制***910和闪存存储器模块960。示例性闪存控制***910包括典型地在一个或更多个集成电路上的闪存控制器920和可选的读通道925。示例性读通道925包括编码器/解码器模块940和一个或更多个缓存器945。在替代的实施例中,编码器/解码器模块940和一些缓存器945可以实现在闪存控制器920内部。例如,可以使用公知的商用技术和/或产品,如在这里所修改的以支持本发明的特征和功能,来实现示例性闪存控制器920。可以使用公知的商用技术和/或产品来实现编码器/解码器模块940和缓存器945。
示例性闪存存储器模块960包括每一均可以使用公知的商用技术和/或产品来实现的一个或更多个缓存器980和存储器阵列970。另外,示例性闪存存储器模块960包括示例性信号处理单元985,其包括一个或更多个处理器,其实现如下文结合例如图10-12进一步讨论的一个或更多个ICI减轻处理990。此外,图9中示出的各模块之间的数据流也在下文结合例如图10-12进一步讨论。通常,如下面所进一步讨论的,为了在读取操作期间进行ICI减轻,一个或更多个ICI减轻处理990基于从存储器阵列970读取的硬或软读取值计算新的读取值。同样地,如下文结合图10进一步讨论的,为了在写操作期间执行ICI减轻,一个或更多个ICI减轻处理990基于从闪存控制器910接收的关于目标单元和入侵单元的编程数据生成经预补偿的编程值。
在所公开的ICI减轻技术的各种实施例中,相对于于传统的闪存存储器***,示例性接口950可能需要传送另外的信息,诸如表示与入侵单元关联的信息的值。因此,较之传统的闪存存储器***中的接口,接口950可能需要具有更高的容量(例如,更多的输入或输出引脚)或更快的速率。接口950可以可选地例如根据与此同时提交的题为“Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array”的国际专利申请(代理人案卷号(Attorney Docket No.)08-0769)(通过引用将该申请合并于此)的教导来实现,其使用例如双数据速率(DDR)技术来增加接口950的信息承载容量。
在写操作期间,接口950传送要存储在目标和入侵单元中的编程数据,并且经预补偿的编程值是在闪存存储器960内部计算的。接口950将如传统的闪存存储器***中的那样,传送例如对于具有目标单元的页的编程数据,以及另外的对于具有入侵单元的相邻字线或者偶数或奇数位线的编程数据。典型地,较之表示经预补偿的编程值,需要较少的位来表示该编程数据。因此,对于写入端ICI减轻,接口950将典型地需要比接口850小的带宽。然而,其代价是使用用于制造闪存存储器的存储器工艺技术(其典型地对于存储器而非逻辑电路进行优化)来实现存储器内的写入端ICI减轻处理。
在读取操作期间,接口950传送对于目标单元和可选地对于入侵单元已经通过ICI减轻处理990计算的新的硬和/或软读取值或数据。典型地,被传递用于单个读取访问的信息是页或字线的数据。应当注意,仅发送用于目标单元的数据降低了接口950的带宽要求,代价是利用用于制造闪存存储器的存储器工艺技术(典型地,其优化用于存储器而非逻辑电路)来实现存储器内的读取端ICI减轻处理。
应当注意,可以在闪存控制***810、910和/或闪存存储器模块860、960中计算图8和9的ICI减轻技术的各种实施例中使用的电容耦合系数kx、ky和kxy。可能有必要在各个接口850、950上传送电容耦合系数kx、ky和kxy。应当注意,电容耦合系数可以是自适应的并且连续地、不定期地或者定期地更新。
如前面指出的,本发明的各种方面提供了用于减轻ICI的信号处理技术。除其他益处之外,用于减轻ICI的信号处理方法不受技术和物理约束的限制。通常,如后面所讨论的,利用将存储在入侵单元720中的编程电压的知识,可以在目标单元710的编程期间实现写入端ICI减轻。同样地,可以利用入侵单元720中已经存储的电压的知识来实现读取端ICI减轻。因此,本发明一些方面提供了示例性的写入端和读取端ICI减轻技术。在本发明的另外的变型中,可以利用所公开的写入端和读取端ICI减轻技术的组合来实现ICI减轻。
写入端ICI减轻
图10是描述并入了本发明的特征的写入端ICI减轻处理1000的示例性实现方案的流程图。如上文结合图8和9讨论的,写入端ICI减轻处理1000将典型地由闪存控制***810中的信号处理单元830或者闪存存储器960中的信号处理单元985实现。如图10中所示,在步骤1010中,写入端ICI减轻处理1000初始获得要写入到闪存存储器700中的一个或更多个目标单元710的编程数据。如前面指出的,在例如于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中,可以找到示例性的页或字线级访问技术的更详细的讨论,通过引用将该申请合并于此。
随后,在步骤1020中,对于目标单元710,写入端ICI减轻处理1000获得关于以后将进行编程的至少一个相邻单元720的一个或更多个位的编程数据。应当注意,在步骤1020中获得的入侵单元720可以与存储器700中的相邻页关联,并且写入端ICI减轻处理1000可能不得不等待直至对于入侵单元720的编程数据变得可用。对于目标单元和潜在的入侵单元的编程数据可以被存储在例如缓存器845或980中,直至对于入侵单元的所有值变得可用。这些缓存器可以存储例如具有目标单元的页,以及相邻字线或者相邻偶数或奇数位线中的x、y或xy方向上的相邻页,直至收集到足以执行ICI减轻的数据量。可以在缓存器中从在先的写处理获得用于潜在的入侵单元的编程数据。如前面指出的,通过分析编程序列方案(诸如,自底而上或者偶数/奇数技术)以识别在给定的目标单元710之后进行编程的入侵单元720,从而来识别入侵单元720。
在步骤1030中写入端ICI减轻处理1000对对于目标单元的ICI进行预补偿。通过下式获得对预期的ICI进行补偿的目标单元710的新的编程电压:
其中PVt是原始编程电压或者目标阈值电压;PVtc是ICI消除之后的新的编程阈值电压,而ΔVc是ICI消除项。
通常,基于入侵单元720的耦合系数和电压改变来计算式(2)的ICI减轻项。如前面指出的,在图7的示例性实施例中,入侵单元720包括同一字线和上面的相邻字线中的单元。可选地,如果下面的相邻字线中的入侵单元引起ICI,则也可以考虑它们。因此,减轻了因ICI引起的电压分布的偏移和扩宽。
ICI减轻项可以被计算如下:
其中是电压电平l被编程到单元(w,b)中时的单元(w,b)的Vt电压的改变;l∈{1,2,...L}是电压电平(对于3位/单元,L=8);并且kx、ky和kxy是电容耦合系数。应当注意,不同的电压电平l可以被编程到不同的目标和入侵单元中。
最后,在步骤1040中,将在步骤1030中计算的对于目标单元710的经预补偿的编程值提供给闪存存储器860、960。
读取端ICI减轻
如先前所述的,可以利用入侵单元720中所存储的电压的知识来实现读取端ICI减轻。如这里所讨论的,所公开的读取端ICI减轻技术能够处理从闪存单元所取得(retrieved)的软电压值,或者硬电压电平(检测到的电压电平)(或者其组合)。在一个示例性实施例中,对于目标单元710使用软电压值,而对于入侵单元720使用硬电压电平。
图11是描述并入了本发明的特征的读取端ICI减轻处理1100的示例性实现方式的流程图。如上面结合图8和9所讨论的,读取端ICI减轻处理1100典型地通过闪存控制***810中的信号处理单元830或者闪存存储器960中的信号处理单元985来实现。读取端ICI减轻处理1100典型地在接收到读取给定的页或字线的请求时实现。之后,闪存控制器820典型地识别需要读取的单元。
如图1l中所示,最初,读取端ICI减轻处理1100在步骤1110期间获得对于一个或更多个目标单元710的读取值。之后,对于给定的目标单元710,读取端ICI减轻处理1100在步骤1120期间获得表示至少一个入侵单元720中存储的电压的值。对于所述目标单元和入侵单元的值可以是硬值或软值。硬值可以是通过将所读取的阈值电压与如上所述的电压电平阈值相比较或者通过信号处理或解码技术而获得的检测的电压电平。应当注意,在步骤1120期间获得的值可以是测量值或者期望值,基于例如与给定的电平或状态相关联的电压分布的均值。
如果使用期望值,则不需要相邻直线中所存储的实际值的知识来实现减轻。例如,可以测量含目标单元的单个字线,并且对于相邻字线(入侵单元720)中所存储的电压可以使用期望值。因此,对于相同字线中的入侵单元将使用测量值,对于相邻字线中的入侵单元将使用期望值。例如可以利用电压分布的知识离线地(offline)计算期望值。对于相邻字线使用期望值具有如下的优点:不需要读取该相邻字线,并且不需要在接口总线850上传送与该相邻字线对应的数据。
在另一变型中,对于目标单元710可以采用软值,而对于入侵单元720可以使用硬质,以减少在接口850、950上发送的数据。
应当注意,可以将在步骤1120期间所获得的入侵单元720的值与存储器700中的相邻页相关联,并且读取端ICI减轻处理1100可能不得不等待直到对于入侵单元720的值变得可用。对于目标单元和潜在的入侵单元的值可以存储在例如缓存器845或980中,直到对于入侵单元的所有的值变得可用。这些缓存器可以存储例如具有目标单元的页,以及在x、y、或xy方向上相邻的字线或者相邻的偶或奇位线中的相邻页,直到已经收集了足够量的数据来进行ICI减轻。对于潜在的入侵单元的值也可以从先前的读取处理在缓存器中获得。
在步骤1130期间,读取端ICI减轻处理1100确定从相应的入侵单元720对于目标单元710的ICI。利用下式获得对于目标单元710的ICI:
其中是电压电平l被编程到单元(w,b)中时的单元(w,b)的Vt电压的平均的、实际的、或估计的改变。l∈{1,2,...L}是电压电平(对于3位/单元,L=8)。kx、ky和kxy是电容耦合系数。Vt电压的改变可以是例如测量值和基线(baseline)或参考电压之间的差。
例如,如果测量值指示闪存存储器单元是在图5B中的最终状态‘10’,则电压的改变可以被计算为该测量值和对于状态‘x0’的参考电压之间的差,这里,例如使用对于状态‘x0’的分布的均值作为参考电压。
通常,基于入侵单元720的电压改变和耦合系数来计算式(4)的ICI减轻项。如前面所示的,在图7的示例性实施例中,入侵单元720包括在相同字线和上面的相邻字线中的单元。可选地,也可以将下面的相邻字线中的单元考虑为入侵单元,如果它们导致ICI的话。因此,减轻了电压分布的偏移和宽化。在其中仅考虑来自相同字线的数据的实施例中,减轻了电压分布的偏移,而宽化被减少了较小的量。
读取端ICI减轻处理1100在步骤1140期间通过如下从目标单元710的读取值中移除所确定ICI获得新的读取值,其校正对于目标单元710的ICI:
其中RVt是原始读取电压或读取值;RVtc是在ICI消除之后的新的读取电压或者新的读取值,而ΔVc是ICI消除项。
最后,读取端ICI减轻处理1100在步骤1150期间将该新的读取值提供用于解码。
图12是描述并入了本发明的特征的迭代的读取端ICI减轻处理1200的示例性实现方案的流程图。如上面结合图8和9所讨论的,迭代的读取端ICI减轻处理1200将典型地通过闪存控制***810中的信号处理单元或者闪存存储器960中的信号处理单元985来实现。通常,迭代的读取端ICI减轻处理1200的步骤1210至1250基本与图11的读取端ICI减轻处理1100的相应步骤1110至1150类似。
在步骤1260期间执行测试以确定是否检测到解码错误(例如,通过解码器840(图8))。如果在步骤1260期间确定未发生解码错误,则编程控制终止。
然而,如果在步骤1260期间确定已经发生了解码错误,则在步骤1270期间调整一个或更多个ICI减轻参数以扩展用于处理1200的后续迭代的ICI减轻的范围。例如,处理1200的第一轮(pass)或第一迭代可以仅补偿含目标单元的相同页或字线(分别对于页或字线访问技术而言)中的ICI。如果在步骤1260期间检测到解码错误,则处理1200的第二轮或第二迭代也可以包括一个或更多个相邻页或字线以考虑来自x、y、以及可选地,xy方向的ICI。
在另一变型中,处理1200的第一轮或第一迭代可以仅采用对于目标单元和/或入侵单元的硬值,但是在解码错误的情况下可以扩展以包括对于目标单元和/或入侵单元的软值。可以如下获得软信息:通过利用增加的数量的电压电平阈值来读出电压,或者通过利用与第一次读取相比不同阈值来重新读取电压(然后,可以基于这些多个读取值计算软信息)。
在读取端ICI减轻处理1100和迭代的读取端ICI减轻处理1200两者中,用于ICI减轻的电压可以是具有比每单元存储的位数更高精度的软电压值、或者具有与每单元存储的位数(例如,对于三位/单元的MLC存储器,为三位)相同解析度的被量化为硬电压电平的值。在读取处理的另一变型中,对于目标单元710可以使用软电压值,对于入侵单元720可以使用硬电压电平。另外,ICI减轻可以是基于对于入侵单元720的检测值的,其中所述检测值通过利用信号处理和解码技术读取入侵单元并检测存储的值而获得。替代地,可以从缓存器845、880、945、或980读取检测值,如果这些检测值在先前的读取处理之后已经被存储了的话。
ICI减轻简化方案
A.多步的页编程序列
如上文所讨论的,图5A和5B示出了示例性的多步的页编程序列。本发明的一个方面认识到,在将多步的页编程序列应用到MLC闪存器件600时,通过最终的高页的后续编程使在中间编程期间呈现的ICI偏移。通常,高(MSB)页的最终编程进行重新编程并且使最终编程的电压的分布收紧,并且因此消除施加到中间状态的ICI。因此,在本发明的一个实施例中,仅在对最终的最高页(MSB)编程时ICI被消除。可选地,可以对较低页的编程(即,中间状态)消除ICI,但是通常不需要实现良好的错误率性能。例如,对于图6的三个位/单元的闪存器件600,可以忽略低页和中间页的中间编程。
通常,对于写入端ICI减轻,需要例如相邻字线或位线中的入侵单元的编程电平l的知识。通常,在式(3)中存在L个不同的ΔVt(l)值。在图6的示例性MLC闪存存储器阵列600中,例如,在具有每单元三个位的MLC闪存存储器阵列600中,L等于8。然而,本发明的一个方面认识到,取决于所使用的编程算法,可以仅使用M个不同的ΔVt(l)来近似描述L个不同的ΔVt(l)值,其中M<L。对于图5B中示出的示例性编程方案,由于从“11”到“01”和从“x0”到“10”的转变近似具有相同的电压偏移,因此考虑M=3个不同的ΔVt(l)是足够的。更复杂的ICI减轻处理将考虑对于所有可能的“11”到“11”、“11”到“01”、“x0”到“00”、“x0”到“10”的转变的L=4个不同的ΔVt(l)值。在图7的实施例中,由于有五个相邻单元720引起ICI,因此式(2)和(3)中的不同的ΔVc值的数目是M5而非L5。因此当M<L时,显著地减少了需要计算的不同的ΔVc值的数目。
当对于图7中示出的示例性闪存存储器使用多步的页编程序列时,如下实现图10的基于控制器或者基于存储器的ICI减轻处理1000。页数据被临时存储在缓冲存储器845或980中,并且未被写入到闪存存储器器件870、970,直至对于上面的相邻字线的高页数据可用。如上文结合图10讨论的,各ICI减轻模块835或990基于这些数据位计算新的编程电压(经预补偿的编程值)。如果电源电压例如因电力中断或关机而下降到阈值电压以下,则缓冲存储器845或980中存储的数据可以被写入闪存存储器870、970(或者另一非易失性存储器)以防止数据丢失。
此外,对于读取端ICI减轻,通过考虑多步骤编程序列的电压偏移属性并仅考虑M<L不同电压偏移ΔVt(l),可以显著地减少基于式(4)和(5)计算的不同的ΔVc值的数目。于是,在图7的实施例中,式(4)和(5)中的不同的ΔVc值的数目是M5而不是L5,因为存在五个导致ICI的相邻单元720。
上述写入端侧和读取端ICI减轻不仅可以应用于最终状态,也可以应用于中间状态,例如在对3位/单元闪存中的中间页编程时,或者在读取在对3位/单元闪存中的中间页编程之后形成的中间状态时。
应当注意,多步的页编程考虑影响闪存存储器的读和写。一旦被编程到中间状态,则单元可以被不确定地保持在中间状态。当在读取操作期间单元为中间状态时,根据本发明可以实现ICI减轻。
B.忽略X-Y方向上的电容耦合系数
如前面指出的,在示例性实施例中,式(3)和(4)考虑电容耦合系数kx、ky和kxy以解决图7中示出的示例性闪存存储器中的目标单元710和高达五个相邻入侵单元720之间的ICI。然而,本发明的另一方面认识到,kxy<<kx<ky。因此,在式(3)和(4)中可以忽略x-y方向上的电容耦合kxy,并且ICI减轻项变为:
这样,不同的ΔVc值的数目减少到L3而非如式(3)和(4)给出的L5。通过仅考虑M<L个不同的电压偏移ΔVt(l),可以进一步减少不同的ΔVc值的数目。于是,需要计算的不同的ΔVc值的数目减少到M3。通常,在ICI减轻简化方案A和B中,不同的ΔVc值的数目由Mk给出,其中k是所考虑的入侵单元的数目,而M是所考虑的不同的电压偏移的数目。式(3)和(4)写入端和读取端减轻可以如这里描述地简化。如根据式(2)明显的是,通过减少不同的ΔVc值的数目,还减少了经预补偿的编程值的数目。这有助于例如减少需要在接口850上传输的数据量,并且作为结果,通过仅考虑M<L个不同的电压偏移ΔVt(l),较之未减少不同的ΔVc值的数目的写入端减轻方案,可以减小接口850的容量(在引脚或传输速率方面)。
C.对偶数/奇数编程忽略X方向上的系数
如上文结合图3讨论的,示例性的偶数/奇数编程序列选择偶数或奇数位线单元,并且按照所指出的顺序(自底而上)依次编程。本发明的另一方面认识到,对于偶数或奇数页(例如,如果奇数页在偶数页之后进行编程,则对于奇数页),可以忽略x方向上的耦合。因此,对于奇数页,式(3)中的ICI减轻项简化为:
其中需要计算的不同的ΔVc值的数目减少到仅为M。一些具有奇数和偶数位线的并行编程的闪存架构允许忽略所有x耦合以及小的性能损失。通常,式(7)可以用于偶数和奇数页两者以减小硬件复杂性。用于写入端和读取端减轻的式(3)和(4)可以如这里所描述地简化。
D.通过调整电压电平阈值处理残留的ICI和保持(retention)效应
本发明的一个方面认识到:由于保持和泄露效应而导致的恒定的和/或残留的ICI影响和电压偏移可以通过适当地调整一个或更多个电压电平阈值来解决。
应当注意,尽管由于保持而导致信号的降级,但仍可以实现所公开的ICI减轻技术。由于保持和相关联的泄露效应,目标单元和入侵单元的阈值电压每一将偏移相应的量。通过选择适当的电压电平阈值,可以减轻保持效应和残留的ICI影响。
处理过程、***和产品的细节
尽管这里的多个流程图描述了示例性的步骤序列,但是序列可以变化这也是本发明的实施例。算法的各种置换被视为本发明的替代的实施例。尽管已经针对软件程序中的处理步骤描述了本发明的示例性实施例,但是如本领域的技术人员将理解的,各种功能可以在数字领域中实现为软件程序中的处理步骤,在硬件中通过电路元件或状态机实现,或者通过软件和硬件的组合实现。该软件可以用在例如数字信号处理器、专用集成电路、微控制器或者通用计算机中。该硬件和软件可以以在集成电路内实现的电路中实施。
因此,本发明的功能可以被实施为方法和用于实践这些方法的装置的形式。本发明的一个或更多个方面可以被实施为程序代码的形式,而不管该程序代码例如是存储在存储介质中、加载到机器中和/或由该机器执行、或者在某种传输介质上传送,其中当程序代码被加载到诸如计算机的机器中并且由该机器执行时,该机器变为用于实践本发明的装置。当在通用处理器上实现时,程序代码段与处理器组合以提供按与特定逻辑电路相似的方式操作的装置。本发明也可以实现在集成电路、数字信号处理器、微处理器和微控制器中的一个或更多个中。
如本领域中已知的,这里讨论的方法和装置可以作为产品分发,该产品自身包括具有在其上实施的计算机可读代码单元的计算机可读介质。该计算机可读程序代码单元可以结合计算机***操作以执行用于执行这里讨论的方法的所有或一些步骤或者创建这里讨论的装置。该计算机可读介质可以是可记录介质(例如,软盘、硬盘、压缩盘、存储器卡、半导体器件、芯片、专用集成电路(ASIC)),或者可以是传输介质(例如,网络,包括光纤、万维网、线缆、或者使用时分多址、码分多址的无线信道或者其他射频信道)。可以使用能够存储适于与计算机***一起使用的信息的任何已知的或开发的介质。计算机可读代码单元是用于允许计算机读取指令和数据的任何机制,诸如磁介质上的磁性变化或者压缩盘表面的高度变化。
这里描述的计算机***和服务器每一均包含存储器,该存储器将配置关联的处理器来实现这里公开的方法、步骤和功能。存储器可以是分布式的或者本地的,并且处理器可以是分布式的或者单个的。存储器可以被实现为电、磁或光存储器,或者这些或其他类型的存储装置的任何组合。而且,术语“存储器”应被足够广泛地解释以涵盖能够被从关联的处理器访问的可寻址空间中的地址读取或者写入该地址的任何信息。通过该定义,网络上的信息仍在存储器范围内,这是因为关联的处理器可以从网络取回信息。
应当理解,这里示出和描述的实施例的变化方案仅是本发明的原理的说明,并且本领域的技术人员可以实现多种修改而不偏离本发明的范围和精神。
Claims (17)
1.一种对闪存存储器器件写入的方法,包括:
获得要写入到所述闪存存储器中的至少一个目标单元的编程数据;
获得用于晚于所述目标单元编程的至少一个入侵单元的编程数据的一个或更多个位;以及
通过产生经预补偿的编程值,来预补偿对于所述目标单元的单元间干扰。
2.根据权利要求1所述的方法,其中,利用页访问技术和字线级访问技术中的一个或更多个来对所述闪存存储器器件编程。
3.根据权利要求1所述的方法,其中所述至少一个入侵单元包括与所述目标单元相邻的一个或更多个单元。
4.根据权利要求3所述的方法,其中所述至少一个入侵单元包括在与所述目标单元相同字线中的一个或更多个相邻的单元。
5.根据权利要求3所述的方法,其中所述至少一个入侵单元包括在所述目标单元上或下的相邻字线中的一个或更多个单元。
6.根据权利要求3所述的方法,其中所述至少一个入侵单元中的至少一个被存储在缓存器中,直至所述至少一个入侵单元全部都可用。
7.根据权利要求3所述的方法,其中通过分析用于所述闪存存储器器件的编程序列方案来识别所述至少一个入侵单元。
8.根据权利要求1所述的方法,进一步通过下式获得预补偿了所述单元间干扰的所述目标单元的新的编程电压:
其中PVt是原始编程电压;PVtc是ICI消除之后的新的编程电压,而ΔVc是ICI消除项。
10.根据权利要求1所述的方法,进一步包括在接口上提供对于所述目标单元的经预补偿的编程值以用于在所述闪存存储器器件的存储器阵列中写入。
11.根据权利要求1所述的方法,其中所述获得步骤从接口获得要写入到至少一个目标单元的所述编程数据和所述用于至少一个入侵单元的编程数据中的一个或更多个位,并且由与所述闪存存储器器件相关联的处理器计算所述经预补偿的编程值。
12.根据权利要求1所述的方法,其中所述方法被应用到多步骤页编程序列中的一个或更多个步骤。
13.根据权利要求1所述的方法,其中所述确定单元间干扰的步骤忽略从对角地相邻的入侵单元对所述目标单元的单元间干扰。
14.根据权利要求1所述的方法,其中对于偶数/奇数编程序列,所述确定单元间干扰的步骤忽略从相同字线中的一个或更多个相邻单元对所述目标单元的单元间干扰。
15.根据权利要求1所述的方法,进一步包括将用于所述目标单元的所述经预补偿的编程值提供给所述闪存存储器的步骤。
16.根据权利要求1所述的方法,其中利用多步骤编程序列的电压偏移属性来将待计算的不同电压偏移ΔVc值的数目减少到Mk,其中M<L,k是所考虑的入侵单元的数目,而M是所考虑的不同电压偏移的数目。
17.一种对闪存存储器器件写入的***,包括:
存储器;以及
至少一个处理器,其耦接到所述存储器,其操作来:
获得要写入到所述闪存存储器中的至少一个目标单元的编程数据;
获得用于晚于所述目标单元编程的至少一个入侵单元的编程数据的一个或更多个位;以及
通过产生经预补偿的编程值,来预补偿对于所述目标单元的单元间干扰。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13367508P | 2008-07-01 | 2008-07-01 | |
US61/133,675 | 2008-07-01 | ||
US13392108P | 2008-07-07 | 2008-07-07 | |
US61/133,921 | 2008-07-07 | ||
US13468808P | 2008-07-10 | 2008-07-10 | |
US61/134,688 | 2008-07-10 | ||
US13573208P | 2008-07-22 | 2008-07-22 | |
US61/135,732 | 2008-07-22 | ||
US19475108P | 2008-09-30 | 2008-09-30 | |
US61/194,751 | 2008-09-30 | ||
PCT/US2009/049327 WO2010002942A1 (en) | 2008-07-01 | 2009-06-30 | Method and apparatus for write-side intercell interference mitigation in flash memories |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102132348A true CN102132348A (zh) | 2011-07-20 |
CN102132348B CN102132348B (zh) | 2015-06-17 |
Family
ID=40957821
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980132505.0A Expired - Fee Related CN102132350B (zh) | 2008-07-01 | 2009-06-30 | 用于闪存存储器中的软解映射和单元间干扰减轻的方法和设备 |
CN200980132501.2A Expired - Fee Related CN102132353B (zh) | 2008-07-01 | 2009-06-30 | 用于闪存存储器中读取端单元间干扰减轻的方法和装置 |
CN200980132503.1A Expired - Fee Related CN102132348B (zh) | 2008-07-01 | 2009-06-30 | 用于闪存存储器中写入端单元间干扰减轻的方法和装置 |
CN200980132723.4A Expired - Fee Related CN102160120B (zh) | 2008-07-01 | 2009-06-30 | 使用调制编码减轻单元间干扰的方法和设备 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980132505.0A Expired - Fee Related CN102132350B (zh) | 2008-07-01 | 2009-06-30 | 用于闪存存储器中的软解映射和单元间干扰减轻的方法和设备 |
CN200980132501.2A Expired - Fee Related CN102132353B (zh) | 2008-07-01 | 2009-06-30 | 用于闪存存储器中读取端单元间干扰减轻的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980132723.4A Expired - Fee Related CN102160120B (zh) | 2008-07-01 | 2009-06-30 | 使用调制编码减轻单元间干扰的方法和设备 |
Country Status (8)
Country | Link |
---|---|
US (4) | US8526230B2 (zh) |
EP (4) | EP2308058B1 (zh) |
JP (4) | JP5710474B2 (zh) |
KR (4) | KR101675170B1 (zh) |
CN (4) | CN102132350B (zh) |
IL (3) | IL210396A0 (zh) |
TW (4) | TWI501238B (zh) |
WO (4) | WO2010002942A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104112477A (zh) * | 2013-04-19 | 2014-10-22 | 光宝科技股份有限公司 | 用于固态储存装置中晶体单元的群组区分方法 |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8050086B2 (en) | 2006-05-12 | 2011-11-01 | Anobit Technologies Ltd. | Distortion estimation and cancellation in memory devices |
WO2007132456A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device with adaptive capacity |
US8595573B2 (en) | 2006-12-03 | 2013-11-26 | Apple Inc. | Automatic defect management in memory devices |
US8369141B2 (en) | 2007-03-12 | 2013-02-05 | Apple Inc. | Adaptive estimation of memory cell read thresholds |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
WO2008139441A2 (en) | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US8300478B2 (en) | 2007-09-19 | 2012-10-30 | Apple Inc. | Reducing distortion using joint storage |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
KR101509836B1 (ko) | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
US8225181B2 (en) * | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8230300B2 (en) * | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8493783B2 (en) | 2008-03-18 | 2013-07-23 | Apple Inc. | Memory device readout using multiple sense times |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8526230B2 (en) * | 2008-07-01 | 2013-09-03 | Lsi Corporation | Methods and apparatus for write-side intercell interference mitigation in flash memories |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
KR101602316B1 (ko) * | 2009-02-09 | 2016-03-22 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 데이터 처리 방법 |
US8023345B2 (en) * | 2009-02-24 | 2011-09-20 | International Business Machines Corporation | Iteratively writing contents to memory locations using a statistical model |
US8228701B2 (en) * | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8179731B2 (en) | 2009-03-27 | 2012-05-15 | Analog Devices, Inc. | Storage devices with soft processing |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8386739B2 (en) * | 2009-09-28 | 2013-02-26 | International Business Machines Corporation | Writing to memory using shared address buses |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8677203B1 (en) | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for multi-die memory systems |
KR101678404B1 (ko) * | 2010-02-25 | 2016-11-23 | 삼성전자주식회사 | 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법 |
KR101710663B1 (ko) * | 2010-03-02 | 2017-02-28 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US8463985B2 (en) * | 2010-03-31 | 2013-06-11 | International Business Machines Corporation | Constrained coding to reduce floating gate coupling in non-volatile memories |
US8775913B2 (en) | 2010-03-31 | 2014-07-08 | Lsi Corporation | Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems |
US8504885B2 (en) | 2010-03-31 | 2013-08-06 | Lsi Corporation | Methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems |
US8429500B2 (en) | 2010-03-31 | 2013-04-23 | Lsi Corporation | Methods and apparatus for computing a probability value of a received value in communication or storage systems |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8406051B2 (en) * | 2010-05-17 | 2013-03-26 | Seagate Technology Llc | Iterative demodulation and decoding for multi-page memory architecture |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8645794B1 (en) | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
KR101678888B1 (ko) * | 2010-08-06 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 판독 방법 |
US8493781B1 (en) | 2010-08-12 | 2013-07-23 | Apple Inc. | Interference mitigation using individual word line erasure operations |
WO2012023102A1 (en) * | 2010-08-17 | 2012-02-23 | Technion R&D Foundation | Mitigating inter-cell coupling effects in non volatile memory (nvm) cells |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US8964464B2 (en) * | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US9082480B2 (en) | 2011-01-04 | 2015-07-14 | Seagate Technology Llc | Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window |
US8854880B2 (en) | 2011-01-04 | 2014-10-07 | Lsi Corporation | Inter-cell interference cancellation in flash memories |
US9898361B2 (en) | 2011-01-04 | 2018-02-20 | Seagate Technology Llc | Multi-tier detection and decoding in flash memories |
US9106264B2 (en) | 2011-01-04 | 2015-08-11 | Lsi Corporation | Encoding and decoding in flash memories using convolutional-type low-density parity check codes |
US9292377B2 (en) | 2011-01-04 | 2016-03-22 | Seagate Technology Llc | Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values |
US9502117B2 (en) | 2011-03-14 | 2016-11-22 | Seagate Technology Llc | Cell-level statistics collection for detection and decoding in flash memories |
US8780659B2 (en) | 2011-05-12 | 2014-07-15 | Micron Technology, Inc. | Programming memory cells |
US8549380B2 (en) * | 2011-07-01 | 2013-10-01 | Intel Corporation | Non-volatile memory error mitigation |
US9076547B2 (en) | 2012-04-05 | 2015-07-07 | Micron Technology, Inc. | Level compensation in multilevel memory |
US9030870B2 (en) | 2011-08-26 | 2015-05-12 | Micron Technology, Inc. | Threshold voltage compensation in a multilevel memory |
US9117529B2 (en) * | 2011-12-23 | 2015-08-25 | Hgst Technologies Santa Ana, Inc. | Inter-cell interference algorithms for soft decoding of LDPC codes |
TWI514404B (zh) * | 2012-02-24 | 2015-12-21 | Silicon Motion Inc | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 |
KR101962786B1 (ko) | 2012-03-23 | 2019-03-27 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법 |
US9136011B2 (en) | 2012-04-26 | 2015-09-15 | Hgst Technologies Santa Ana, Inc. | Soft information module |
KR102089570B1 (ko) | 2012-06-04 | 2020-03-16 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 처리 방법 |
US8824203B2 (en) * | 2012-07-13 | 2014-09-02 | Micron Technology, Inc. | Multiple step programming in a memory device |
KR101762885B1 (ko) | 2012-11-09 | 2017-07-28 | 존슨 컨트롤스 테크놀러지 컴퍼니 | 연장된 경로를 갖는 가변 기하학적 디퓨저 및 그 제어방법 |
CN103811077B (zh) * | 2012-11-12 | 2017-03-29 | 光宝电子(广州)有限公司 | 闪存中的资料补偿方法 |
US9021332B2 (en) * | 2012-12-11 | 2015-04-28 | Seagate Technology Llc | Flash memory read error recovery with soft-decision decode |
CN104919433B (zh) | 2013-01-11 | 2017-10-31 | 英派尔科技开发有限公司 | 用于闪存的页面分配 |
US9355716B2 (en) | 2013-01-17 | 2016-05-31 | University Of Hawaii | Memory channel detector systems and methods |
US20150170754A1 (en) * | 2013-01-17 | 2015-06-18 | Empire Technology Development Llc | Mitigating Inter-Cell Interference |
CN103971750B (zh) * | 2013-01-29 | 2017-02-08 | 中国航空工业集团公司西安飞机设计研究所 | 一种ram的9相邻单元敏感故障检测方法 |
US9424946B2 (en) | 2013-02-08 | 2016-08-23 | Seagate Technology Llc | Non-volatile buffering to enable sloppy writes and fast write verification |
US9142309B2 (en) * | 2013-02-19 | 2015-09-22 | Sk Hynix Memory Solutions Inc. | Generation of a composite read based on neighboring data |
CN105074826B (zh) * | 2013-02-27 | 2018-01-16 | 英派尔科技开发有限公司 | 存储器装置的基于线性规划的解码 |
US9129711B2 (en) | 2013-02-28 | 2015-09-08 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US8990668B2 (en) * | 2013-03-14 | 2015-03-24 | Western Digital Technologies, Inc. | Decoding data stored in solid-state memory |
KR102168096B1 (ko) * | 2013-03-15 | 2020-10-20 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 데이터 쓰기 방법 |
KR102067611B1 (ko) | 2013-03-15 | 2020-01-20 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법과 상기 메모리 컨트롤러를 포함하는 장치들 |
KR20150018291A (ko) | 2013-08-09 | 2015-02-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR102149770B1 (ko) * | 2013-08-26 | 2020-08-31 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것의 동작 방법 |
US9164828B2 (en) | 2013-09-26 | 2015-10-20 | Seagate Technology Llc | Systems and methods for enhanced data recovery in a solid state memory system |
KR102204394B1 (ko) * | 2013-10-14 | 2021-01-19 | 삼성전자주식회사 | 메모리 시스템에서의 코딩 방법 및 디코딩 방법 |
US9218851B2 (en) * | 2013-10-24 | 2015-12-22 | Sandisk Technologies Inc. | Power drop protection for a data storage device |
TWI527048B (zh) | 2013-11-29 | 2016-03-21 | 慧榮科技股份有限公司 | 應用於快閃記憶體裝置的錯誤更正碼單元、自我測試方法及相關的控制器 |
US9859925B2 (en) | 2013-12-13 | 2018-01-02 | Empire Technology Development Llc | Low-complexity flash memory data-encoding techniques using simplified belief propagation |
US9798613B2 (en) | 2013-12-27 | 2017-10-24 | Toshiba Memory Corporation | Controller of nonvolatile semiconductor memory |
US9645763B2 (en) | 2014-01-13 | 2017-05-09 | Seagate Technology Llc | Framework for balancing robustness and latency during collection of statistics from soft reads |
US9911492B2 (en) | 2014-01-17 | 2018-03-06 | International Business Machines Corporation | Writing multiple levels in a phase change memory using a write reference voltage that incrementally ramps over a write period |
JP6262063B2 (ja) * | 2014-03-18 | 2018-01-17 | 東芝メモリ株式会社 | 不揮発性メモリおよび書き込み方法 |
US9349477B2 (en) | 2014-06-16 | 2016-05-24 | Seagate Technology Llc | Inter-cell interference estimation based on a pattern dependent histogram |
US9343170B2 (en) | 2014-06-24 | 2016-05-17 | Hgst Technologies Santa Ana, Inc. | Word-line inter-cell interference detector in flash system |
KR102246843B1 (ko) * | 2015-01-15 | 2021-05-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9613664B2 (en) * | 2015-01-20 | 2017-04-04 | Samsung Electronics Co., Ltd. | Method of operating memory device including multi-level memory cells |
KR102298607B1 (ko) * | 2015-02-17 | 2021-09-06 | 삼성전자주식회사 | 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법 |
US9595317B2 (en) * | 2015-05-28 | 2017-03-14 | Sandisk Technologies Llc | Multi-state programming for non-volatile memory |
DE112016002451T5 (de) * | 2015-06-01 | 2018-03-01 | Sony Corporation | Datenverarbeitungsvorrichtung und Datenverarbeitungsverfahren |
US9734912B2 (en) | 2015-11-25 | 2017-08-15 | Macronix International Co., Ltd. | Reprogramming single bit memory cells without intervening erasure |
US9704594B1 (en) | 2016-02-18 | 2017-07-11 | Western Digital Technolgies, Inc. | Inter-cell interference reduction in flash memory devices |
JP6606039B2 (ja) | 2016-09-09 | 2019-11-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP2018163709A (ja) | 2017-03-24 | 2018-10-18 | 東芝メモリ株式会社 | メモリシステム |
CN107403643B (zh) * | 2017-07-17 | 2019-12-24 | 华中科技大学 | 一种通过重定向提高3d fg nand闪存可靠性的方法 |
CN108511021B (zh) * | 2018-03-26 | 2020-10-27 | 上海华虹宏力半导体制造有限公司 | 一种虚拟接地闪存读取电路 |
KR102080089B1 (ko) * | 2018-05-18 | 2020-02-21 | 최영준 | 정전시 전력 소모를 감소시키기 위한 데이터 저장 방법 및 데이터 저장 장치 |
KR102565913B1 (ko) * | 2018-06-12 | 2023-08-11 | 에스케이하이닉스 주식회사 | 저장 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 이의 동작 방법 |
JP7066584B2 (ja) | 2018-09-18 | 2022-05-13 | キオクシア株式会社 | メモリシステム |
US10770155B2 (en) | 2018-10-11 | 2020-09-08 | International Business Machines Corporation | Determining a read apparent voltage infector page and infected page |
US10878912B1 (en) | 2019-08-02 | 2020-12-29 | Kabushiki Kaisha Toshiba | Multi-cell modulation for flash memory |
US11621033B2 (en) * | 2020-01-14 | 2023-04-04 | Micron Technology, Inc. | Techniques for low power operation |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5313421A (en) | 1992-01-14 | 1994-05-17 | Sundisk Corporation | EEPROM with split gate source side injection |
US5867429A (en) * | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
EP0948140B1 (en) * | 1998-04-03 | 2006-03-22 | Agere Systems Inc. | Iterative demapping and decoding of multilevel modulated signal |
US6781877B2 (en) * | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US6944063B2 (en) * | 2003-01-28 | 2005-09-13 | Sandisk Corporation | Non-volatile semiconductor memory with large erase blocks storing cycle counts |
JP4005000B2 (ja) * | 2003-07-04 | 2007-11-07 | 株式会社東芝 | 半導体記憶装置及びデータ書き込み方法。 |
JP2007533195A (ja) * | 2004-04-09 | 2007-11-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 変調コードシステム並びに信号をコード化及びデコードする方法 |
US6980140B1 (en) * | 2004-06-18 | 2005-12-27 | Nortel Networks Limited | Flash ADC receiver with reduced errors |
JP4410188B2 (ja) | 2004-11-12 | 2010-02-03 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法 |
US7251160B2 (en) | 2005-03-16 | 2007-07-31 | Sandisk Corporation | Non-volatile memory and method with power-saving read and program-verify operations |
US7187585B2 (en) * | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7526715B2 (en) * | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
JP4800901B2 (ja) | 2005-12-12 | 2011-10-26 | 矢崎総業株式会社 | 電圧検出装置及び絶縁インタフェース |
JP4734110B2 (ja) * | 2005-12-14 | 2011-07-27 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP4177847B2 (ja) * | 2006-01-06 | 2008-11-05 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US8055979B2 (en) | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
US7388781B2 (en) * | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7971130B2 (en) * | 2006-03-31 | 2011-06-28 | Marvell International Ltd. | Multi-level signal memory with LDPC and interleaving |
WO2007132457A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US8050086B2 (en) | 2006-05-12 | 2011-11-01 | Anobit Technologies Ltd. | Distortion estimation and cancellation in memory devices |
JP5095131B2 (ja) * | 2006-05-31 | 2012-12-12 | 株式会社東芝 | 半導体記憶装置 |
JP4912460B2 (ja) | 2006-06-19 | 2012-04-11 | サンディスク コーポレイション | 不揮発性メモリの読み出し動作改善における個別サイズマージンのプログラムおよび選択状態時の補償による検知 |
WO2008011440A2 (en) * | 2006-07-20 | 2008-01-24 | Sandisk Corporation | Floating gate memory with compensating for coupling during programming |
ATE522905T1 (de) * | 2006-07-20 | 2011-09-15 | Sandisk Corp | Kompensation für die kopplung zwischen benachbarten speicherelementen in einem nichtflüchtigen speicher auf der basis der abtastung eines nachbarn mit kopplung |
US7894269B2 (en) | 2006-07-20 | 2011-02-22 | Sandisk Corporation | Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells |
JP4764288B2 (ja) * | 2006-08-22 | 2011-08-31 | 株式会社東芝 | 半導体記憶装置及びその製造方法 |
KR100800378B1 (ko) * | 2006-08-24 | 2008-02-01 | 삼성전자주식회사 | 메모리 소자 및 그의 제조방법 |
JP4791912B2 (ja) * | 2006-08-31 | 2011-10-12 | 株式会社東芝 | 不揮発性半導体記憶装置及び不揮発性記憶システム |
US7457155B2 (en) * | 2006-08-31 | 2008-11-25 | Micron Technology, Inc. | Non-volatile memory device and method having bit-state assignments selected to minimize signal coupling |
JP4886434B2 (ja) * | 2006-09-04 | 2012-02-29 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR100771883B1 (ko) * | 2006-09-06 | 2007-11-01 | 삼성전자주식회사 | 멀티-레벨 불휘발성 메모리 장치 및 프로그램 방법 |
KR101615773B1 (ko) * | 2006-09-08 | 2016-04-26 | 샌디스크 테크놀로지스, 인코포레이티드 | 플래시 메모리에서 사이클링 효과들에 대한 의사 랜덤 및 명령 구동 비트 보상 및 이를 위한 방법 |
JP2008077810A (ja) * | 2006-09-25 | 2008-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
US7886204B2 (en) * | 2006-09-27 | 2011-02-08 | Sandisk Corporation | Methods of cell population distribution assisted read margining |
TWI353521B (en) | 2006-09-28 | 2011-12-01 | Sandisk Corp | Soft-input soft-output decoder for nonvolatile mem |
TWI360126B (en) * | 2006-09-28 | 2012-03-11 | Sandisk Corp | Nonvolatile memory with adaptive operations and me |
KR101017847B1 (ko) * | 2006-11-03 | 2011-03-04 | 쌘디스크 코포레이션 | 가변 판독 임계값을 갖는 비휘발성 메모리 |
US7941590B2 (en) * | 2006-11-06 | 2011-05-10 | Marvell World Trade Ltd. | Adaptive read and write systems and methods for memory cells |
EP1921614A3 (en) | 2006-11-08 | 2008-06-11 | Daewoo Electronics Corporation | Optical information processing apparatus and optical information processing method |
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 |
EP2304733A1 (en) * | 2006-12-29 | 2011-04-06 | Sandisk Corporation | Nand flash memory cell array and method with adaptive memory state partitioning |
US7984360B2 (en) * | 2006-12-31 | 2011-07-19 | Ramot At Tel Aviv University Ltd. | Avoiding errors in a flash memory by using substitution transformations |
KR100816154B1 (ko) | 2007-01-23 | 2008-03-21 | 주식회사 하이닉스반도체 | 플래시 메모리 소자의 어드레스 스케쥴링 방법 |
DE102007006603A1 (de) * | 2007-02-06 | 2008-08-07 | Keiper Gmbh & Co.Kg | Verriegelungsvorrichtung für einen Fahrzeugsitz |
US8031526B1 (en) * | 2007-08-23 | 2011-10-04 | Marvell International Ltd. | Write pre-compensation for nonvolatile memory |
KR101425958B1 (ko) * | 2007-09-06 | 2014-08-04 | 삼성전자주식회사 | 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법 |
US7697325B2 (en) * | 2007-09-24 | 2010-04-13 | Sandisk Corporation | Non-volatile memory cell endurance using data encoding |
US7633798B2 (en) * | 2007-11-21 | 2009-12-15 | Micron Technology, Inc. | M+N bit programming and M+L bit read for M bit memory cells |
US7897953B2 (en) * | 2008-01-16 | 2011-03-01 | Micron Technology, Inc. | Multi-level programmable PCRAM memory |
JP2009272016A (ja) * | 2008-05-09 | 2009-11-19 | Hitachi Ltd | フラッシュメモリシステム |
US8458563B2 (en) * | 2008-06-23 | 2013-06-04 | Ramot At Tel Aviv University Ltd. | Reading a flash memory by joint decoding and cell voltage distribution tracking |
US8526230B2 (en) * | 2008-07-01 | 2013-09-03 | Lsi Corporation | Methods and apparatus for write-side intercell interference mitigation in flash memories |
EP2311041A1 (en) * | 2008-07-22 | 2011-04-20 | LSI Corporation | Methods and apparatus for programming multiple program values per signal level in flash memories |
WO2010039869A1 (en) * | 2008-09-30 | 2010-04-08 | Lsi Corporation | Methods and apparatus for soft data generation for memory devices using reference cells |
US8228728B1 (en) * | 2009-09-14 | 2012-07-24 | Marvell International Ltd. | Programming method for multi-level cell flash for minimizing inter-cell interference |
US8213255B2 (en) * | 2010-02-19 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile storage with temperature compensation based on neighbor state information |
-
2009
- 2009-06-30 US US13/001,286 patent/US8526230B2/en not_active Expired - Fee Related
- 2009-06-30 EP EP09774391.8A patent/EP2308058B1/en not_active Not-in-force
- 2009-06-30 JP JP2011516835A patent/JP5710474B2/ja not_active Expired - Fee Related
- 2009-06-30 EP EP09774392A patent/EP2308053A1/en not_active Withdrawn
- 2009-06-30 JP JP2011516836A patent/JP5496191B2/ja not_active Expired - Fee Related
- 2009-06-30 WO PCT/US2009/049327 patent/WO2010002942A1/en active Application Filing
- 2009-06-30 KR KR1020117002541A patent/KR101675170B1/ko active IP Right Grant
- 2009-06-30 JP JP2011516838A patent/JP5621175B2/ja not_active Expired - Fee Related
- 2009-06-30 US US13/001,278 patent/US8462549B2/en active Active
- 2009-06-30 US US13/001,310 patent/US8797795B2/en active Active
- 2009-06-30 CN CN200980132505.0A patent/CN102132350B/zh not_active Expired - Fee Related
- 2009-06-30 WO PCT/US2009/049333 patent/WO2010002948A1/en active Application Filing
- 2009-06-30 KR KR1020117002551A patent/KR101671313B1/ko active IP Right Grant
- 2009-06-30 WO PCT/US2009/049326 patent/WO2010002941A1/en active Application Filing
- 2009-06-30 WO PCT/US2009/049330 patent/WO2010002945A1/en active Application Filing
- 2009-06-30 US US13/001,317 patent/US8788923B2/en active Active
- 2009-06-30 CN CN200980132501.2A patent/CN102132353B/zh not_active Expired - Fee Related
- 2009-06-30 KR KR1020117002564A patent/KR101626631B1/ko active IP Right Grant
- 2009-06-30 CN CN200980132503.1A patent/CN102132348B/zh not_active Expired - Fee Related
- 2009-06-30 CN CN200980132723.4A patent/CN102160120B/zh not_active Expired - Fee Related
- 2009-06-30 EP EP09774398A patent/EP2308056A1/en not_active Withdrawn
- 2009-06-30 EP EP09774395A patent/EP2308055A1/en not_active Withdrawn
- 2009-06-30 KR KR1020117002545A patent/KR101628413B1/ko active IP Right Grant
- 2009-06-30 JP JP2011516840A patent/JP5710475B2/ja not_active Expired - Fee Related
- 2009-07-01 TW TW098122303A patent/TWI501238B/zh active
- 2009-07-01 TW TW098122307A patent/TWI497522B/zh not_active IP Right Cessation
- 2009-07-01 TW TW098122308A patent/TWI501241B/zh active
- 2009-07-01 TW TW098122306A patent/TWI501248B/zh active
-
2010
- 2010-12-30 IL IL210396A patent/IL210396A0/en unknown
- 2010-12-30 IL IL210397A patent/IL210397A0/en unknown
- 2010-12-30 IL IL210394A patent/IL210394A0/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104112477A (zh) * | 2013-04-19 | 2014-10-22 | 光宝科技股份有限公司 | 用于固态储存装置中晶体单元的群组区分方法 |
CN104112477B (zh) * | 2013-04-19 | 2017-07-07 | 光宝科技股份有限公司 | 用于固态储存装置中晶体单元的群组区分方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102132348B (zh) | 用于闪存存储器中写入端单元间干扰减轻的方法和装置 | |
CN102099865B (zh) | 用于在闪存存储器中每信号电平编程多个编程值的方法和装置 | |
CN102132349B (zh) | 用于在闪存存储器控制器和闪存存储器阵列之间接口的方法和设备 | |
CN103843067B (zh) | 用于非易失性存储器的片上动态读取 | |
CN102171767A (zh) | 用于存储装置的基于性能因素调节的软数据生成方法装置 | |
EP2218074A1 (en) | M+n bit programming and m+l bit read for m bit memory cells | |
CN102067237A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150617 Termination date: 20170630 |