CN102254571B - 增强型多电平存储器 - Google Patents
增强型多电平存储器 Download PDFInfo
- Publication number
- CN102254571B CN102254571B CN201110136221.8A CN201110136221A CN102254571B CN 102254571 B CN102254571 B CN 102254571B CN 201110136221 A CN201110136221 A CN 201110136221A CN 102254571 B CN102254571 B CN 102254571B
- Authority
- CN
- China
- Prior art keywords
- state
- memory unit
- threshold voltage
- value
- level memory
- 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
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
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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
-
- 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/564—Miscellaneous aspects
- G11C2211/5644—Multilevel memory comprising counting devices
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Error Detection And Correction (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本申请案涉及增强型多电平存储器。本文中所揭示的标的物涉及半导体存储器,且更特定来说,涉及多电平非易失性或易失性存储器。
Description
技术领域
本文中所揭示的标的物涉及半导体存储器,且更特定来说涉及多电平非易失性存储器。
背景技术
存储器装置用于许多类型的电子装置中,例如计算机、蜂窝电话、PDA、信息记录器及导航设备,此处仅列举几个实例。在此类电子装置当中,可采用各种类型的非易失性存储器装置,例如NAND或NOR快闪存储器、SRAM、DRAM及相变存储器,此处仅列举几个实例。一般来说,可使用写入或编程过程将信息存储于此类存储器装置中,而可使用读取过程来检索所存储的信息。
举例来说,可编程存储器的存储密度可通过按比例缩小存储器单元的物理大小以减少其空间占用并允许在集成有所述存储器的裸片上的同一硅区域上形成较大数目的存储器单元来增加。另一种提升存储密度的方式可涉及采用所谓的“多电平”编程方案,其中存储器单元可能够存储一个以上信息位。特定来说,通过采用此多电平编程方案,可将存储器单元编程为若干个不同编程状态中的任何一者,每一状态与对应逻辑值相关联。存储器单元的编程状态可由所述存储器单元中所包含的晶体管的阈值电压值来界定。举例来说,对于适于存储两个位的存储器单元,所述存储器单元的阈值电压值可采取四个不同值中的一者。在特定实例中,此所存储位对的逻辑值可对应于二进制序列“11”、“10”、“01”、“00”,其对应于增加的阈值电压值。此处,逻辑值“11”可与具有最低阈值电压值的状态(经擦除状态)相关联,且其它状态可依序与具有增加的阈值电压值的状态相关联。然而,由于此存储器可固有的实质上不可避免的容限,替代被准确地编程到四个所要值中的一者,经编程存储器单元的阈值电压可分布在四个相应编程分布(也称为“群体”)当中。因此,举例来说,每一编程状态可能不与单个阈值电压相关联,而是可与相应阈值电压范围相关联,所述阈值电压范围又由相应编程分布来界定。
附图说明
将参考以下各图描述非限制性及非穷尽性实施例,其中除非另外说明,否则所有各图中相似参考编号指代相似部件。
图1是根据一实施例的存储器装置的示意性框图。
图2A是根据一实施例的编码单元的框图。
图2B是根据一实施例的线性组合器单元的框图。
图2C是根据一实施例的线性组合器的格子图。
图3是展示根据一实施例的编程分布及此些分布的分区的图示。
图4是根据另一实施例的格子图。
图5A是根据一实施例的感测电路的示意图。
图5B是根据一实施例的感测电路的时序图。
图6是根据一实施例的解码单元的示意性框图。
图7A是展示根据一实施例的编程分布及此些分布的度量函数的图示。
图7B是根据一实施例实施度量函数的查找表。
图7C是展示根据一实施例的编程分布及度量值的图示。
图8是根据另一实施例的格子图。
图9A是根据另一实施例的编码单元的框图。
图9B是根据另一实施例的线性组合器单元的框图。
图9C是展示根据一实施例分割成若干子集的编程的示意图。
图10是根据一实施例的计算系统及存储器装置的示意图。
具体实施方式
本说明书通篇中所提及的“一个实施例”或“一实施例”意指结合所述实施例描述的特定特征、结构或特性包含在所主张标的物的至少一个实施例中。因此,在本说明书通篇中的各个地方出现的短语“在一个实施例中”或“一实施例”未必全部指代相同实施例。此外,可将特定特征、结构或特性组合在一个或一个以上实施例中。
在一实施例中,存储器装置的存储密度可通过并入能够存储两个以上编程状态以表示一个信息位的多电平存储器单元来增加。在选择个别多电平存储器单元可被编程到的若干个不同编程状态之前,存储器装置的设计者可考虑数个因素,包含存储器装置的供应电压的值及存储器装置可固有的容限参数。举例来说,供应电压的值可界定编程分布集合所横跨的电压范围的上部电平,且每一编程分布的宽度可与存储器装置固有的容限参数有关。在一实施例中,进一步增加存储密度的方法可涉及通过根据卷积码编码信息以提供符号并将此些符号存储于一个或一个以上多电平存储器单元中来存储所述信息。检索此所存储信息可包括对此些所存储符号应用所谓的“软决策”及卷积解码。在另一实施例中,增加存储密度的方法可涉及在将信息存储于存储器装置的存储器单元中之前使用错误校正码(ECC)来处理信息。以此方式,通过使用软决策方法来读取存储器单元的内容,即使编程分布的数目相对高而足以导致邻近编程分布当中的部分重叠也可减少错误读取的概率,如下文所描述。
在一实施例中,存储器装置可包括多个存储器单元,所述多个存储器单元具有设定到有序编程分布序列当中的一个编程分布的阈值电压值。此存储器装置可接收待存储于目标存储器单元集合中的第一输入信息。所述第一输入信息可包含第一数目个位以将所述第一输入信息编码成对应第二输入信息。所述第二输入信息可包含比第一数目个位高的第二数目个位。可根据第二输入信息编程存储器装置以将目标存储器单元集合的阈值电压设定到所述序列的选定编程分布集合。所述序列的编程分布可被布置成若干子集,其中子集可包含不需要是所述序列中的相继编程分布的多个编程分布。所述第二输入信息可包含识别所述编程分布集合所属的子集的子集信息,如下文详细地描述。
图1是根据一实施例的存储器100的示意性框图。特定来说,非易失性半导体存储器100可包括(举例来说)电可编程非易失性快闪存储器。举例来说,存储器100可集成于半导体材料芯片(图中未展示)中且可包含布置成多个行及列的用以存储信息的存储器单元110的矩阵105。在一个实施方案中,存储器单元110可包括具有电荷存储元件(例如将由电子充电的导电浮动栅极)的N沟道MOS晶体管,但所主张标的物在这方面不受限制。
存储器100可包括多电平存储器。在经擦除条件中,存储器单元110可具有低阈值电压值。可通过将特定量的电荷置到存储器单元110的浮动栅极中而将存储器单元110编程为若干个状态中的任何一者。此些状态的特征可在于由与前一状态的浮动栅极电荷量相比增加的浮动栅极电荷量产生的增加的阈值电压值。在特定实施例中,存储器100可包括NAND架构,其中矩阵105可包含若干群组,例如彼此串联连接以形成相应存储器单元串的八个、十六个或十六个以上存储器单元110的群组。属于同一矩阵列的不同存储器单元串可彼此并联连接到相应位线BL 112,但所主张标的物并不受如此限制。
存储器100可接收选择所要存储器单元110或存储器单元110群组的地址代码ADR。地址代码ADR可提供给读取-编程单元115,举例来说,读取-编程单元115可包含选择器电路及读取与编程电路,例如页缓冲器电路(未展示)。举例来说,此些选择器电路可选择经寻址存储器单元110而读取与编程电路可执行可对存储器单元110实施的读取与编程操作。
在存储器100中,信息可在被存储于存储器单元110中之前经编码。出于此目的,根据一实施例,存储器100可包含编码-解码单元120,其用以对待存储于存储器单元110中的输入信号DIN执行编码操作且对从存储器单元110读取的输出经编码信号DCOUT执行解码操作。更特定来说,编码-解码单元120可包含用以从I/O缓冲器140接收输入信号DIN的编码单元130,I/O缓冲器140又可与存储器100的I/O端子150相关联。在一个实施方案中,编码-解码单元120可对输入信号DIN执行编码操作且将对应的输入经编码信号DCIN提供到读取与编程单元115。至少部分地基于地址代码ADR,可接着将输入经编码信号DCIN存储于矩阵105的对应存储器单元110中。编码-解码单元120可进一步包含用以从读取与编程单元115接收从经寻址存储器单元110读取的输出经编码信号DCOUT、对其执行解码操作及/或将对应的(经解码)输出信号DOUT提供到I/O缓冲器140的解码单元160。
在一实施例中,一种系统可包括例如存储器100的存储器装置。在特定实施方案中,存储器装置可包括用以跨越一个或一个以上多电平存储器单元存储表示信息的信号的存储器阵列及用以对所述存储器阵列应用软决策及卷积编码以确定所述信息的值的控制器。此系统可进一步包括用以操作所述存储器装置的存储器装置控制器及用以托管一个或一个以上应用程序并起始给所述存储器装置控制器的写入及/或读取命令以提供对所述存储器阵列的存取的处理器。当然,存储器装置的此些细节仅为实例,且所主张标的物并不受如此限制。
图2A是根据一实施例的编码单元130的框图。在特定实例中,存储器单元110可经编程以每一者存储三个信息位。当然,在其它实施方案中可存储其它数目个位。本文中,实例可描述涉及特定数目、值等等的特定实施方案。然而,此些特定性仅打算用于说明性目的,且所主张标的物并不受如此限制。待存储于经寻址存储器单元110中的输入信号DIN可由三个位a1(k)、a2(k)、a3(k)的串表示,其中“k”是包括整数的指数。在存储器100的每一第k个操作循环(举例来说,其可由时钟信号(图5B)界定)处,可将位a1(k)、a2(k)、a3(k)的新串提供到编码单元130以进行编码。待在特定存储器存取期间(例如,在特定的第k个操作循环期间)编程的存储器单元110的数目可大于一。然而,为简单起见,目前所描述的实施方案涉及可在一个操作循环中存取的单个存储器单元110。
编码单元130可编码包括三位串的输入信号DIN以获得输入经编码信号DCIN。根据一实施例,编码单元130可包括利用线性编码过程来向输入信号DIN添加冗余的卷积编码器。在一个实施方案中,此线性编码过程可包括维特比过程,但所主张标的物并不受如此限制。由编码单元130引入的冗余可涉及一个位以便可将形成输入信号DIN的每一三位串a1(k)、a2(k)、a3(k)编码成形成输入经编码信号DCIN的对应四位符号b1(k)、b2(k)、b3(k)、b4(k)。可接着将此四位符号b1(k)、b2(k)、b3(k)、b4(k)提供到读取-编程单元115以存储于由地址代码ADR(举例来说)寻址的存储器单元110中。如下文将更详细地描述,举例来说,可将每一存储器单元110编程为24=16个不同状态。同样,此些实例仅打算用于说明性目的,且所主张标的物并不受如此限制。编码单元130可包含包括(举例来说)有限状态机的线性组合器单元205,其用以从位a3(k)产生位b3(k)及b4(k)。另一方面,位b1(k)可与位a1(k)一致,且位b2(k)可与位a2(k)一致。举例来说,在每一第k个操作循环处,可至少部分地基于在特定操作循环期间提供到线性组合器单元205的信号(例如,位a3(k))且至少部分地基于线性组合器单元205(为有限状态机)的内部状态(其又可取决于在前面的操作循环(本文中由记号第(k-1)个表示)期间提供到线性组合器单元205的信息所采取的值)来计算位b3(k)及b4(k)。当然,编码单元的此些细节仅为实例,且所主张标的物并不受如此限制。
图2B是根据一实施例的线性组合器205的框图。线性组合器205可包含三个延迟元件210、215、220及/或二进制加法器225。每一此延迟元件可在存储器100的操作循环期间接收一位并记住所述位的值。以此方式,在存储器100的每一第k个操作循环处,延迟元件可提供表示在先前的第(k-1)个操作循环处接收的值的输出信号。举例来说,延迟元件210可接收并存储位a3(k)。延迟元件210可包含连接到延迟元件215的输入端子的输出端子(电路节点B)。延迟元件215可包含连接到延迟元件220的输入端子的输出端子(电路节点C),延迟元件220又可具有连接到二进制加法器225的第一输入端子的输出端子(电路节点D)。二进制加法器225可包含连接到节点B的第二输入端子及用以接收位a3(k)的第三输入端子。线性组合器205可包含连接到节点C以用于提供位b3(k)的第一输出端子及连接到二进制加法器225的输出端子以用于提供位b4(k)的第二输出端子。当然,线性组合器的此些细节仅为实例,且所主张标的物并不受如此限制。
在一实施方案中,由编码单元130执行的编码操作可涉及可由线性组合器205界定的特定ECC。图2C展示根据一实施例的格子图230,其可表示由线性组合器205产生的代码结构。特定来说,格子图230可描绘线性组合器205的至少部分地取决于在其输入处接收的位a3(k)的值的演变内部状态。
线性组合器205的内部状态集合可由电路节点B、C、D所采取的值界定且因此,举例来说,可包含23=8个不同内部状态。在格子图230中,所述内部状态可以参考Si(k)、Si(k+1)来识别,其中i=0、1、…、7。特定来说,参考Si(k)可对应于线性组合器205在存储器100的类属第k个操作循环处所采取的内部状态,而参考Si(k+1)可对应于在后续的第(k+1)个操作循环处所采取的内部状态。当然,此格子图仅为实例,且所主张标的物在这方面不受限制。
格子图230展示至少部分地基于位a3(k)的值而在线性组合器205的“目前”内部状态Si(k)与“将来”内部状态Si(k+1)之间发生的容许转变。更特定来说,目前内部状态Si(k)可转变到两个不同的将来内部状态Sj(k+1)或Sl(k+1)。举例来说,如果位a3(k)等于“0”,那么格子图230展示内部状态Si(k)可经由转变箭头tij(以实线描绘)转变到对应内部状态Sj(k+1)。另一方面,如果位a3(k)等于“1”,那么内部状态Si(k)可经由另一转变箭头t’il(以虚线描绘)转变到对应内部状态Sl(k+1)。所述容许转变(例如,由转变箭头tij、t’il指示)可界定代码结构。容许转变又可由线性组合器205的结构界定。举例来说,如果通过修改延迟元件及/或二进制加法器之间的连接而改变线性组合器205的结构,那么格子图230中的容许转变及/或对应代码结构可相应地改变。
为了存储由编码单元130使用格子图230所界定的代码而产生的四位符号b1(k)、b2(k)、b3(k)、b4(k),可将经寻址存储器单元110编程为对应于相应的十六个编程分布D0、D1、…D15的十六个不同状态当中的对应一者。图3中图解说明十六个编程分布D0、D1、…D15,其可至少部分地基于位b1(k)、b2(k)、b3(k)、b4(k)所采取的值。此些编程分布D0、D1、…D15可由于其相应宽度而彼此重叠且可至少部分地取决于存储器100固有的容限。在这方面,在图3中编程分布D0、D1、…D15可能未按比例绘制。
根据一实施例,位b1(k)、b2(k)、b3(k)、b4(k)与各种编程分布D0、D1、…D15之间的关联性可涉及子集分割,如下。举例来说,可将十六个编程分布D0、D1、…D15分割成四个不同子集B0、B1、B2、B3,每一子集包含四个编程分布。所述子集可由位b3(k)、b4(k)的对应值来识别。举例来说,子集B0可对应于b3(k)=0、b4(k)=0且可包含编程分布D0、D4、D8、D12;子集B1可对应于b3(k)=0、b4(k)=1且可包含编程分布D1、D5、D9、D13;子集B2可对应于b3(k)=1、b4(k)=0且可包含编程分布D2、D6、D10、D14;子集B3可对应于b3(k)=1、b4(k)=1且可包含编程分布D3、D7、D11、D15。
在子集B0、B1、B2、B3内,可至少部分地基于位b1(k)、b2(k)来区别四个编程分布。举例来说,子集D0、D1、D2、D3的第一编程分布可对应于b1(k)=0、b2(k)=0,第二分布D4、D5、D6、D7可对应于b1(k)=1、b2(k)=0,第三分布D8、D9、D10、D11可对应于b1(k)=0、b2(k)=1,且第四分布D12、D13、D14、D15可对应于b1(k)=1、b2(k)=1。此外,在子集B0、B1、B2、B3内,邻近编程分布之间的距离可以使得避免相同子集的编程分布之间的重叠的方式增加。
已建立链接位b3(k)及b4(k)与四个子集B0、B1、B2、B3的关联性且使用图2C的格子图230检验线性组合器205的内部状态Si(k)的转变,可针对特定转变确定选择哪一子集。举例来说,如果线性组合器205处于状态S0(k)中且如果在第k个操作循环处接收的位a3(k)的值等于“0”,那么内部状态可转变为S0(k+1),且位b3(k)、b4(k)可分别采取值“0”、“0”。举例来说,内部状态可经由转变箭头t00转变。此一对值可对应于子集B0。如果替代地位a3(k)的值等于“1”,那么选定子集可包括B2,因为内部状态可经由转变箭头t’01转变到S4(k+1),且位b3(k)、b4(k)可分别采取值“1”、“0”。当然,存储器装置的此些细节仅为实例,且所主张标的物并不受如此限制。
图4是根据另一实施例的格子图。在特定实例中,可将十二个信息位的序列存储于四个存储器单元110中。此序列可包括在四个相继操作循环期间接收的输入信号DIN的四个部分。特定来说,在循环“k”处,输入信号DIN可对应于串a1(k)=0、a2(k)=1、a3(k)=0;在循环“k+1”处,输入信号DIN可对应于串a1(k+1)=0、a2(k+1)=1、a3(k+1)=1;在循环“k+2”处,输入信号DIN可对应于串a1(k+2)=1、a2(k+2)=0、a3(k+2)=1;且在循环“k+3”处,输入信号DIN可对应于串a1(k+3)=0、a2(k+3)=0、a3(k+3)=0。线性组合器205的初始内部状态可为S0(k)。当然,此格子图仅为实例,且所主张标的物并不受如此限制。
在第k个操作循环处,可将串a1(k)=0、a2(k)=1、a3(k)=0提供到编码单元130。如对应格子图405可展示,在接下来的第(k+1)个操作循环处,线性组合器205可遵循转变箭头t00而维持相同内部状态S0(k+1)。举例来说,由编码单元130产生以存储于第一存储器单元110中的对应四位符号可为b1(k)=0、b2(k)=1、b3(k)=0、b4(k)=0,其可对应于属于子集B0的分布D8。
在第(k+1)个操作循环处,可将串a1(k+1)=0、a2(k+1)=1、a3(k+1)=1提供到编码单元130。如对应格子图410可展示,线性组合器205可经由转变箭头t’01切换到内部状态S4(k+2)。因此,由编码单元130产生以存储于第二存储器单元110中的对应四位符号可为b1(k+1)=0、b2(k+1)=1、b3(k+1)=1、b4(k+1)=0,其可对应于属于子集B2的分布D10。
在第(k+2)个操作循环处,如果将串a1(k+2)=1、a2(k+2)=0、a3(k+2)=1提供到编码单元130,那么组合器单元205可经由转变箭头t’46从内部状态S4(k+2)切换到内部状态S6(k+3)(参见格子图415)。因此,由编码单元130产生以存储于第三存储器单元110中的对应四位符号可为b1(k+2)=1、b2(k+2)=0、b3(k+2)=0、b4(k+2)=0,其可对应于属于子集B0的分布D4。
最终,在第(k+3)个操作循环处,如果将串a1(k+3)=0、a2(k+3)=0、a3(k+3)=0提供到编码单元130,那么组合器单元205可经由转变箭头t63从内部状态S6(k+3)切换到内部状态S3(k+4)(参见格子图420)。因此,由编码单元130产生以存储于第四存储器单元110中的对应四位符号可为b1(k+3)=0、b2(k+3)=0、b3(k+3)=1、b4(k+3)=1,其可对应于属于子集B3的分布D3。
因此,由编码单元130执行的编码可使用卷积码使得每一符号可由编码单元130经由可考虑到在前面的操作循环处接收的输入信号DIN的过去历史的编码路径而产生。举例来说,参考先前实例,可能已根据编码路径S0(k)-S0(k+1)-S4(k+2)-S6(k+3)-S3(k+4)编码了输入信号DIN序列。可能已从内部状态S6(k+3)开始计算了四位符号b1(k+3)、b2(k+3)、b3(k+3)、b4(k+3),而内部状态S6(k+3)又可能是在从内部状态S0(k)开始的三个操作循环之后到达的。举例来说,如果在三个前面的操作循环期间接收的输入信号DIN序列不同,那么编码路径可不同且因此,组合器单元205的内部状态也可不同于S6(k+3)。
在一实施例中,可使用软决策系统在由读取-编程单元115感测的输出经编码信号DCOUT(图1)上检索存储于经寻址存储器单元110群组中的信息位。更特定来说,由读取-编程单元115提供的输出经编码信号DCOUT可包括指示经寻址存储器单元110的阈值电压的数的数字序列(举例来说)。为了使用软决策系统以充足程度的可靠性(例如,以低错误概率)检索所存储的信息位,由读取-编程单元115感测的阈值电压的值可具有相对高的分辨率以产生相对高的准确度。
举例来说,可根据电压斜坡读取方案来感测经寻址存储器单元110的阈值电压,其中可将增加的线性电压斜坡施加到经寻址存储器单元的栅极端子且电路可测量所述存储器单元接通所花费的时间。在一个实施方案中,举例来说,感测存储器单元110的阈值电压的值可使用图5中所展示的感测电路500。感测电路500可构成读取-编程单元115的一部分。感测电路500可包含电压比较器505,其具有用于接收指示对应于经寻址存储器单元110的位线BL的电压的位线电压Vbl的第一输入端子。电压比较器505还可包含耦合到参考产生器块510以用于接收参考电压Vref的第二输入端子及用于在位线电压Vbl的值变为低于参考电压VREF的情况下将触发信号TRIG提供到计数器电路515的输出端子。根据一实施例,举例来说,计数器电路515可产生从值“000000”开始且以值“111111”结束(举例来说)的六位序列。计数器电路515可接收时钟信号CK,其界定更新所述序列的值的频率。计数器电路515的操作可由控制块520通过复位信号RESET、开始信号START及停止信号STOP来管理。特定来说,例如,由计数器电路515产生的序列可响应于断定开始信号START而开始、响应于断定停止信号STOP而停止且可响应于断定复位信号RESET而复位(举例来说,复位到值“000000”)。此外,还可将由电压比较器505产生的触发信号TRIG提供到控制块520。当然,感测电路的此些细节仅为实例,且所主张标的物并不受如此限制。
控制块520还可从计数器电路515接收可在由计数器电路515产生的序列已执行完整循环(例如,到达值“111111”)的情况下断定的溢出信号OFL。控制块520还可耦合到读取电压产生器525,读取电压产生器525可产生待提供到经寻址存储器单元110的栅极端子的读取电压Vrd。如下文将更详细地描述,读取电压Vrd可采取不同值,此取决于待执行的操作。感测电路500可进一步包含用以至少暂时存储8个位(举例来说)的寄存器530。举例来说,寄存器530的第一区段535可存储由计数器电路515产生的6个位,且寄存器530的第二区段540可存储由控制块520产生的2位串RN。六输入NOR门545可以使得在其输入端子处接收存储于第一区段535中的六个位的方式耦合到寄存器530。NOR门545的输出端子可连接到控制块520以将信号NO DATA提供到控制块520。
图5B是根据一实施例的感测电路500的时序图550。举例来说,此时序图550可图解说明在用于感测经寻址存储器单元110的阈值电压的操作期间所涉及的信号的进程。由感测电路500执行的感测操作可实现高达四个或四个以上不同阶段的执行,每一阶段由串RN的对应值识别。在第一阶段(RN=00)的开始,控制块520可断定复位信号RESET以对计数器电路515进行复位,且寄存器530可在第一区段535中存储串“000000”。举例来说,此意味着可将信号NO DATA设定为高值。同时,可通过使用预充电电路(未展示)使连接到包含经寻址存储器单元110的存储器串的位线BL的电压达到特定预充电电压PV。此时,由读取电压产生器525产生的读取电压Vrd可被设定为第一值,且开始信号START可由控制块520以使得开始计数器电路515所计数的序列的方式断定。
借助被偏置到读取电压Vrd的经寻址存储器单元110的栅极端子,位线BL可开始以至少部分地取决于存储器单元110的阈值电压的放电速率放电。更特定来说,如果已将存储器单元110编程到对应于相对高的阈值电压的编程分布,那么读取电压Vrd的值可不足以接通经寻址存储器单元110。在此情况下,放电速率可特别低,因为位线BL可由于因经寻址存储器单元110中存在经反向偏置结所致的大致不可避免的泄漏效应而放电。另一方面,举例来说,如果阈值电压充分低,那么读取电压Vrd可足以接通(至少部分地)存储器单元110,其中放电速率会对应增加。
计数器电路515可测量位线BL放电所花费的时间。此测量可指示存储器单元110的阈值电压。更特定来说,例如,如果位线电压Vbl变为低于参考电压VREF,那么电压比较器505可断定触发信号TRIG。响应于触发信号TRIG的断定,控制块520可断定停止信号STOP以终止由计数器电路515产生的序列。可接着将所述序列所采取的值暂时存储于寄存器530的第一区段535中。存储于寄存器530中的值可提供以相对精确的方式量化经寻址存储器单元110的阈值电压的机会。如果所述值不同于“000000”,那么由NOR门545产生的信号NO DATA可切换到逻辑低值,从而用信号通知已正确地感测所述阈值电压。
举例来说,如果位线BL的放电速率太低,那么由计数器电路515产生的序列可在位线电压Vbl已达到参考电压VREF之前达到值“111111”。在此情况下,计数器电路515可断定溢出信号OFL且控制块520可断定停止信号STOP以终止计数器电路115。此时,可起始第二阶段(RN=01),其中控制块520再次断定复位信号RESET以对计数器电路515及返回到预充电电压PV的位线BL进行复位。感测电路500可再次执行先前所描述的操作,但是以增加的读取电压Vrd值进行。同样,举例来说,如果位线BL的放电速率太低,那么可使用随后增加的读取电压Vrd来执行第三阶段(RN=10)或甚至第四阶段(RN=11)。因此,由感测电路500执行的感测操作的结果可包括数字串。在特定实施方案中,此串可包括存储于寄存器530中的八位数字串,所述数字串的值可表示经寻址存储器单元110的阈值电压。当然,此串及上文所图解说明的其它细节仅为实例,且所主张标的物并不受如此限制。
在图5B中所图解说明的实例中,位线电压Vbl可仅在第四阶段期间下降到低于参考电压VREF,因此指示可对应于相对高的编程分布的高阈值电压。举例来说,像存储于寄存器530中的值的值可不足以确定存储器单元110已被编程到哪一编程分布。如上文参考图3所描述,十六个编程分布D0、D1、…D15可彼此重叠,且因此使用感测电路500感测的特定阈值电压值可属于两个不同邻近编程分布当中的一者。出于此目的,可执行更多操作,如下文将描述。
如果已正确地感测阈值电压,那么存储于寄存器530中的8位数字串可表示待提供到解码单元160的输出经编码信号DCOUT。可能已根据由编码单元130界定的代码将存储器单元110编程到特定编程分布,且因此可解码由所述8位数字串给出的信息(例如,所感测阈值电压的值)以获得(经解码)输出信号DOUT。如上文所描述,感测电路500可使用四步程序以(举例来说)8个位的分辨率感测经寻址存储器单元110的阈值电压值。更特定来说,感测电路500可实施由2位串RN识别的四个不同读取,其中每一读取具有6个位的分辨率,但所主张标的物在这方面不受限制。可在再次使位线BL达到预充电电压PV之后发生四个读取中的每一者。
举例来说,用以感测阈值电压的不需要每存储器单元110涉及一个以上位线预充电的替代方法可包含大致类似于先前所描述的四个读取操作中的一者但具有经改进分辨率(例如8位分辨率)的单个读取操作。然而,在此情况下,感测可受存储器单元的泄漏效应的干扰,因为执行此单个读取操作可涉及较长时间,且因此,位线BL的放电速率可主要归因于此泄漏效应。
图6是根据一实施例的解码单元160的示意性框图。如先前所提及,解码单元160可对输出经编码信号DCOUT执行解码操作以获得对应(经解码)输出信号DOUT。举例来说,解码单元160可包含用以接收指示所感测阈值电压的值的输出经编码信号DCOUT的度量单元605。解码单元160可相应地产生四个对应度量值MR0、MR1、MR2、MR3,其可分别量化所感测的阈值电压属于编程分布(属于子集B0、B1、B2、B3)的概率。举例来说,对于存储器单元110可采取的阈值电压的值(例如,对于输出经编码信号DCOUT的值),度量单元605可至少部分地基于编程分布D0、D1、…、D15的子集分割的定义来计算度量值MR0、MR1、MR2、MR3。当然,解码单元的此些细节仅为实例,且所主张标的物并不受如此限制。
根据一实施例,为了描述可如何由度量单元605计算各种度量值MR0、MR1、MR2、MR3,现在将结合图3(其图解说明可能已如何将编程分布D0、D1、…、D15分割成子集B0、B1、B2、B3)参考图7A。图7A针对每一子集Bi(i=0,1,2,3)展示一对应度量函数FBi,其趋势可与阈值电压对应于子集Bi的概率相关。举例来说,FBi的趋势可至少部分地取决于存储器单元110的阈值电压。可考虑到(举例来说)编程分布的数目及编程分布被布置成子集的方式来建立度量函数FBi。根据一实施例,图7A中所图解说明的度量函数FBi可包括呈现对应于属于子集Bi的每一编程分布的中心峰值的最大值的周期函数。此周期函数可随着阈值电压值背离对应于峰值的值而降低。举例来说,度量函数FB0可呈现对应于分布D0、D4、D8及D12的中心峰值的四个阈值电压值的最大值。因此,所述四个阈值电压值可为具有属于子集B0的最高概率的阈值电压值,因为这些值可对应于形成子集B0自身的编程分布D0、D4、D8、D12的中心。此外,对于在距编程分布D0、D4、D8、D12的中心最大距离处的那些阈值电压值,度量函数FB0可等于零。举例来说,对应于分布D2的峰值的阈值电压值可定位于距属于子集B0的最近编程分布(例如,D0及D4)的峰值的最大距离处,且因此具有属于包含于子集B0中的编程分布的接近于零的概率。
根据一实施例,可使用例如图7B中所展示的查找表710的查找表来实施度量函数FB0、FB1、FB2、FB3。更特定来说,如果已使用感测电路500产生了输出经编码信号DCOUT(例如,具有八个位的分辨率,仅作为实例),那么查找表710可包含28=256个行,每一行对应于阈值电压的相应值。查找表710的每一行可包含与对应于所述行的阈值电压值有关的四个度量值MR0、MR1、MR2、MR3。举例来说,根据特定实施方案,四个度量值MR0、MR1、MR2、MR3可由四个对应6位数字串表示。所述四个6位数字串的值可与度量函数FB0、FB1、FB2、FB3在包含于查找表710的所述行中的阈值电压处所采取的值成比例。在查找表710中,可能已使对应于分布D0的峰值的阈值电压值对应于DCOUT=“8”。因此,包含于查找表710的第八行中的度量值MR0可等于“111111”,从而指示阈值电压值属于子集B0(包括编程分布D0)的概率为最高值。举例来说,查找表710可存储于一对应只读存储器(ROM)中或四个不同ROM中,每一ROM专用于度量值MR0、MR1、MR2、MR3当中的相应一者。当然,像分辨率的位数目的细节仅为实例,且所主张标的物并不受如此限制。
现在将参考图7C,其描绘根据一实施例由度量单元605响应于读取-编程单元115所产生的四个特定输出经编码信号DCOUT值而产生的度量值MR0、MR1、MR2、MR3。所接收的第一DCOUT值可包括值“135”。举例来说,所述值可对应于在图4中所图解说明的实例中编程的第一存储器单元110所采取的阈值电压值。因此,DCOUT=“135”可对应于定位于可属于子集B0的编程分布D8的中心峰值的附近的阈值电压。在此特定输出经编码信号DCOUT值的情况下,最高度量值可为MR0,其可等于“60”(为清晰起见,本文中以十进制表示度量值)。
所接收的第二DCOUT值可替代地具有值“157”。此值可(举例来说)对应于已在图4中所图解说明的实例中编程的第二存储器单元110所采取的阈值电压值。因此,DCOUT=“157”可对应于定位于可属于子集B1的编程分布D9与可属于子集B2的编程分布D10之间的中心值周围的阈值电压。事实上,在此特定DCOUT值的情况下,最高度量值(其可为MR2=“31”)可大致等于度量值MR1=“29”。
第三所接收DCOUT值可替代地包括值“84”。举例来说,所述值可对应于已在图4中所图解说明的实例中编程的第三存储器单元110所采取的阈值电压值。因此,DCOUT=“84”可对应于定位于大致接近可属于子集B0的编程分布D4的中心峰值处但略朝向可属于子集B1的编程分布D5移位的阈值电压。因此,最高度量值(其可包括MR0=“40”)可显著高于第二最高度量值(其可包括MR1=“25”)。
最终,第四DCOUT值可具有值“61”。此值可(举例来说)对应于已在图4中所图解说明的实例中编程的第四存储器单元110所采取的阈值电压值。因此,DCOUT=“61”可对应于定位于接近可属于子集B3的编程分布D3的中心峰值处且略朝向可属于子集B2的编程分布D2移位的阈值电压。因此,最高度量值(其可包括MR3=“48”)可显著高于第二最高度量值(其可包括MR2=“20”)。因此,可确定第一存储器单元已被编程到属于子集B0的编程分布。类似地,第三存储器单元可能已被编程到属于子集B0的编程分布而第四存储器单元可能已被编程到属于子集B3的编程分布。然而,确定第二存储器单元可能已被编程到的子集可为相对困难的,因为子集B1及B2两者可具有近似相同的概率。
在一实施例中,如下文更详细地解释,解码单元160可检索由编码单元130编码的信息位并接着将此信息存储于n个存储器单元110的群组中。举例来说,解码单元160可通过对根据从n个存储器单元110读取的DCOUT所计算的度量值执行软决策解码操作来检索信息位。返回到图6,度量单元605可耦合到相加-比较-选择(ACS)单元610,其可累加从n个存储器单元110读取的DCOUT的度量值MR0、MR1、MR2、MR3。以此方式,可针对每一存储器单元产生形成界定由编码单元130实施的代码的格子图的路径度量值PMVi(k)集合,其中i=0到7(例如,状态Si(k)的编号)。此些路径度量值可允许确定为编码存储于n个存储器单元110中的信息位已遵循的最可能编码路径。举例来说,对应于n个存储器单元110中的每一者的路径度量值PMVi(k)可暂时存储于路径度量寄存器615中。
解码单元160可进一步包括用以暂时存储从n个存储器单元110读取的DCOUT的经编码信息寄存器617及耦合到路径度量寄存器615以用于接收路径度量值PMVi(k)的回溯单元620。至少部分地基于所接收的路径度量值PMVi(k),回溯单元620可实施软决策操作以针对n个存储器单元110中的每一者检索包含特定存储器单元110已被编程到的编程分布的子集。回溯单元620可能够检索输出信号DOUT的第一部分,其可包括信号DIN的先前已经由线性组合器单元205编码以存储于特定存储器单元110中的一部分。参考由图2C中所展示的格码230界定的ECC,信号DIN的由回溯单元620检索的部分可包含3位串a1(k)、a2(k)、a3(k)中的位a3(k)。位a3(k)可用于产生DCIN的位b3(k)、b4(k)。
为了检索信号DOUT的对应于信号DIN的尚未经编码的部分(例如,两个位a1(k)、a2(k))的剩余部分,解码单元160可进一步包含耦合到回溯单元620及经编码信息寄存器617的鉴别器单元625。特定来说,如下文将描述,可至少部分地基于由回溯单元620检索的特定子集及DCOUT来计算信号DOUT的剩余部分。
为了描述实例,解码单元160可解码从已根据在参考图4的实例中提供的经编码信号DCIN编程的四个存储器单元110感测的输出经编码信号DCOUT序列。因此,第一存储器单元110可根据串a1(k)=0、a2(k)=1、a3(k)=0编程;第二存储器单元110可根据串a1(k+1)=0、a2(k+1)=1、a3(k+1)=1编程;第三存储器单元110可根据串a1(k+2)=1、a2(k+2)=0、a3(k+2)=1编程;且第四存储器单元110可根据串a1(k+3)=0、a2(k+3)=0、a3(k+3)=0编程。参考图8来描述对由解码单元160实施的操作的说明,图8包含对应于上文所描述的四个存储器单元的格子图405、410、415、420。
在第一第k个操作循环处,度量单元605可从感测电路500接收对应于第一存储器单元的阈值电压的第一输出经编码信号DCOUT。在此情况下,所述输出经编码信号DCOUT可等于“135”。如已描述,度量单元605可计算对应度量值MR0、MR1、MR2、MR3,在此情况下,所述对应度量值可分别等于“60”、“10”、“2”及“12”。
ACS单元610可根据描述如下的过程从度量值MR0、MR1、MR2、MR3产生路径度量值PMVi(k)。如上文所解释,在由编码器单元130执行的编码操作期间,可使格子图中的转变与对应子集选择相关联。因此,ACS单元610可给格子图405中的在状态Si(k)与状态Si(k+1)当中发生的每一可能转变指派与所述转变相关联的子集的度量值。举例来说,由于从状态S0(k)到状态S0(k+1)的转变(其可由转变箭头t00识别)可与子集B0的选择相关联,因此ACS单元610可给所述转变指派度量值MR0,在此情况下,其可等于“60”。从状态S0(k)到状态S4(k+1)的转变(由转变箭头t’04识别)可替代地与子集B2的选择相关联。因此,ACS单元610可给所述转变指派度量值MR2,在此情况下,其可等于“2”。同样,此格子图仅为实例,且所主张标的物并不受如此限制。
在一实施例中,可借以将度量值指派给格子图405的各种转变的过程可界定对应“分支度量集合”。针对格子图405的每一状态Si(k),可将两个度量值(称为“分支度量值”)指派给从状态Si(k)自身分支的两个转变。举例来说,此些分支度量值可暂时存储于分支度量寄存器630中。
接着,针对格子图405的每一状态Si(k),ACS单元610可比较两个对应度量值、选择最高一者、将路径度量值PMVi(k)设定为选定度量值且可将所述选定度量值存储于路径度量寄存器615中。在此情况下,在第k个操作循环期间产生的对应于第一存储器单元的路径度量值PMVi(k)可包括PMV0(k)=“60”、PMV1(k)=“12”、PMV2(k)=“60”、PMV3(k)=“12”、PMV4(k)=“60”、PMV5(k)=“12”、PVM6(k)=“60”及PVM7(k)=“12”。
在接下来的(k+1)操作循环期间,度量单元605可从感测电路500接收第二输出经编码信号DCOUT,其可对应于第二存储器单元的阈值电压。在此情况下,举例来说,DCOUT可等于“157”,且对应度量值MR0、MR1、MR2及MR3可分别等于“8”、“29”、“31”及“11”。如先前所描述,通过使用此些新的度量值,ACS单元610可产生对应于格子图410的新的分支度量集合且可将分支度量集合存储于分支度量寄存器630中。
在一实施例中,针对格子图410的每一状态Si(k+1),ACS单元610可比较两个对应度量值、选择最高一者且将路径度量值PMVi(k+1)设定为选定度量值与在前面的第k个操作循环处计算的已存储于路径度量寄存器615中的路径度量值PMVi(k)之间的度量值和。ACS单元610可将所述路径度量值存储于路径度量寄存器615中。在此情况下,对应于第二存储器单元的所得路径度量值PMVi(k+1)可包括PMV0(k+1)=“68”、PMV1(k+1)=“89”、PMV2(k+1)=“91”、PMV3(k+1)=“71”、PMV4(k+1)=“91”、PMV5(k+1)=“71”、PVM6(k+1)=“68”及PVM7(k+1)=“89”。当然,指派度量值的此些细节仅为实例,且所主张标的物并不受如此限制。在(k+2)操作循环期间产生的且对应于第三存储器单元的路径度量值PMVi(k+2)可包括PMV0(k+2)=“108”、PMV1(k+2)=“116”、PMV2(k+2)=“111”、PMV3(k+2)=“111”、PMV4(k+2)=“129”、PMV5(k+2)=“99”、PVM6(k+2)=“131”及PVM7(k+2)=“97”。此外,在(k+3)操作循环期间产生的且对应于第四存储器单元的路径度量值PMVi(k+3)可包括PMV0(k+3)=“136”、PMV1(k+3)=“159”、PMV2(k+3)=“149”、PMV3(k+3)=“179”、PMV4(k+3)=“128”、PMV5(k+3)=“159”、PVM6(k+3)=“140”及PVM7(k+3)=“145”。
在一实施例中,可通过在每一操作循环处且针对格子图的每一状态选择具有最高度量值的转变而产生路径度量值PMVi(k)、PMVi(k+1)、PMVi(k+2)、PMVi(k+3)。因此,现在可检索编码单元130为编码提供到线性组合器单元205的信号DIN的一部分而遵循的编码路径。特定来说,例如,回溯单元620可存取路径度量寄存器615、扫描对应于最后一个读取的存储器单元110的路径度量值PMVi(k+3)且可选择具有最高路径度量值PMVi(k+3)的状态Si(k+4)。使用软决策选择,此状态可为待检索的编码路径的最终状态的最可能候选者。在本实例中,此状态可包括状态S3(k+4),其具有等于“179”的路径度量PMVi(k+3)。
此时,为了回溯编码路径的前面的状态(在此情况下,为(k+3)状态),回溯单元620可检查从状态Si(k+3)到选定状态Si(k+4)的转变。在此情况下,此些转变可包含从状态S6(k+3)开始的转变及从状态S7(k+3)开始的转变。回溯单元620可接着选择从具有最高路径度量值PMVi(k+2)的状态Si(k+3)开始的转变。选定状态可表示待检索的编码路径的倒数第二个状态。在此实例中,选定状态可包括具有等于“131”的路径度量值PMVi(k+2)的状态S6(k+3)。举例来说,已确定连接编码路径的最后两个状态的转变,可检索第四存储器单元110的阈值电压已被编程到的子集,因为格子图中的每一转变可与特定子集(在此情况下,为子集B3)的选择相关联。
如较早所描述,在格子图中一对状态之间的每一转变还可与信号DIN的已经编码的部分的对应值相关联。换句话说,已确定连接编码路径的最后两个状态的转变,可检索已存储于第四存储器单元110中的位a3(k+3)。在此实例中,可从状态S6(k+3)开始且以状态S3(k+4)结束的选定转变可对应于a3(k+3)=“0”。此时,可反复进行所述过程以通过选择具有最高路径度量值的那些转变来回溯编码路径的其它前面的状态。
参考图8,借助上文所描述的过程检索的编码路径以较粗的线描绘且包含状态序列(从第一个到最后一个):S0(k)-S0(k+1)-S4(k+2)-S6(k+3)-S3(k+4)。所述编码路径可与编码单元130为编码待存储于参考图4的实例的四个存储器单元110中的信息位而实际遵循的路径一致。因此,由回溯单元620产生的位序列可为正确的位序列,例如,a3(k)=“0”、a3(k+1)=“1”、a3(k+2)=“1”及a3(k+3)=“0”。信号DOUT的对应于信号DIN的尚未经编码的部分(例如,位a1(k)、a2(k)、a1(k+1)、a2(k+1)、a1(k+2)、a2(k+2)、a1(k+3)及a2(k+3))的剩余部分可替代地由鉴别器单元625检索。特定来说,针对每一存储器单元110,鉴别器单元625可能够至少部分地基于存储器单元110的阈值电压已被编程到的子集且至少部分地基于表示所述存储器单元110的阈值电压的DCOUT来检索信号DOUT的所述部分。阈值电压可由回溯单元620确定。DCOUT可存储于经编码信息寄存器617中。
在一实施例中,属于一子集的编程分布可不彼此重叠且一子集内的每一编程分布可与信号DIN的经确定部分(例如,尚未经编码的部分)相关联。因此,知晓存储器单元110的阈值电压已被编程到的子集及阈值电压自身的值可足以识别所述阈值电压已被编程到的特定编程分布及信号DIN的相关联部分。举例来说,参考先前实例的第四存储器单元110,回溯单元620可确定其阈值电压已被编程到的子集为子集B3。参考图3,子集B3可包含编程分布D3、D7、D11及D15。相关联DCOUT可对应于定位于接近可属于子集B3的编程分布D3的中心峰值处且略朝向又可属于子集B2的编程分布D2移位的阈值电压(参见图7C)。因此,知晓其阈值电压已被编程到的子集包括子集B3可允许用以确定是否已将所述阈值电压编程到编程分布D3的方式。举例来说,每一子集的第一编程分布D0、D1、D2、D3可与b1(k+3)=0及b2(k+3)=0相关联,第二分布D4、D5、D6、D7可与b1(k+3)=1及b2(k+3)=0相关联,第三分布D8、D9、D10、D11可与b1(k+3)=0及b2(k+3)=1相关联,且第四分布D12、D13、D14、D15可与b1(k+3)=1及b2(k+3)=1相关联。由于b1(k+3)=a1(k+3)、b2(k+3)=a2(k+3),因此对应于第四存储器单元100的信号DOUT的剩余部分可包括a1(k+3)=0、a2(k+3)=0。通过针对所述实例的四个存储器单元110重复此些操作,可检索信号DOUT。举例来说,针对第一存储器单元110,a1(k)=0、a2(k)=1、a3(k)=0;针对第二存储器单元110,a1(k+1)=0、a2(k+1)=1、a3(k+1)=1;针对第三存储器单元110,a1(k+2)=1、a2(k+2)=0、a3(k+2)=1;且针对第四存储器单元110,a1(k+3)=0、a2(k+3)=0、a3(k+3)=0。
由先前所描述的编码-解码单元120执行的操作可使用由线性组合器205的结构界定的特定卷积码及特定子集分割。然而,在用于编码待存储于存储器单元中的信息的子集分割及代码不同的情况下,类似考虑因素也可适用。举例来说,在上文所描述的实施例中,为在每一存储器单元110中存储三个信息位(例如由位a1(k)、a2(k)、a3(k)形成的未经译码串),可将每一存储器单元110编程为对应于十六个编程分布D0、D1、…D15的十六个不同状态当中的对应一者,此取决于对应(经编码)串b1(k)、b2(k)、b3(k)、b4(k)所采取的值。编程分布的数目可由形成串b1(k)、b2(k)、b3(k)、b4(k)的位的数目界定,所述位的数目又可由用于产生所述串的代码所引入的冗余界定。
由于存储器单元固有的容限所引入的限制,编程分布的数目(例如以上实例中所描述的十六个)可为过多的且可导致邻近编程分布当中的过多重叠。用以使用较低数目的编程分布来存储同一数目的信息位的方法可涉及编码待存储于对应于一个以上存储器单元的块中的信息。以此方式,可将由代码界定的冗余细分在对应于所述块的存储器单元当中。因此,可减少每一存储器单元可被编程到的编程分布的数目。参考图9A、图9B及图9C来论述可如何实施此解决方案的实例。在特定实例中,待存储于存储器中的信息可包括六个信息位的块,其中六个位的每一块可存储于对应对的经寻址存储器单元110中。举例来说,出于此目的,可修改编码单元130,从而产生编码单元910。在特定实施方案中,待存储于一对经寻址存储器单元110中的信号DIN可由六个位a1(k)、a2(k)、a3(k)、a4(k)、a5(k)、a6(k)的串表示。编码单元910可编码形成信号DIN的六位串以获得经编码信号DCIN。编码单元910可包括使用线性编码方案将冗余添加到信号DIN的卷积编码器。然而,在此情况下,由编码单元910引入的冗余可每对存储器单元110包括一个位。可将形成信号DIN的每一六位串a1(k)、a2(k)、a3(k)、a4(k)、a5(k)、a6(k)编码成形成经编码信号DCIN的对应七位符号b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k)。可接着将此七位符号b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k)提供到读取-编程单元115以便存储于由地址代码ADR寻址的存储器单元110对中。根据一实施例,位b1(k)、b2(k)、b3(k)、b4(k)可与位a1(k)、a2(k)、a3(k)、a4(k)一致,而位b5(k)、b6(k)、b7(k)可由线性组合器920从位a5(k)、a6(k)产生,如图9B中所展示。由于可将六位串a1(k)、a2(k)、a3(k)、a4(k)、a5(k)、a6(k)编码成对应七位符号b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k),因此可将每一对存储器单元110编程为27=128个不同状态。
因此,可将经寻址对中的每一存储器单元110编程为对应于相应的十二个编程分布E0、E1、…、E11(针对所述对中的第一存储器单元)及F0、F1、…、F11(针对所述对中的第二存储器单元)的十二个不同状态当中的对应一者。以此方式,每一对存储器单元110将能够被编程到的128个不同状态当中的每一状态可与由编程分布对Ei,Fj(i=1到11,j=1到11)界定的12*12=144个状态当中的对应一者相关联。因此,在此些值的情况下,不需要使用144-128=16个分布对Ei,Fj。
由位b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k)的值识别的128个状态与编程分布对Ei,Fj之间的关系可由包含于编码单元910中或读取-编程单元115中的映射单元(未展示)界定。甚至在此情况下,由位b1(k)、b2(k)、b3(k)、b4(k)、b5(k)、b6(k)、b7(k)界定的128个状态与各种编程分布对Ei,Fj之间的关联性也可涉及子集分割。更特定来说,如图9C中所展示,可将128个状态分割成23=8个不同子集SB0、SB1、SB2、SB3、SB4、SB5、SB6、SB7,每一子集包含24=16个编程分布对Ei,Fj。每一子集可由线性组合器920所产生的串b5(k)、b6(k)、b7(k)的对应值识别。此外,在每一子集SB0、SB1、SB2、SB3、SB4、SB5、SB6、SB7内,各种编程分布对Ei,Fj之间的“距离”可以使得避免相同子集的编程分布之间的任何重叠的方式增加。
图10是根据一实施例的计算系统及存储器装置的示意图。举例来说,此计算装置可包括执行应用程序及/或其它代码的一个或一个以上处理器。举例来说,存储器装置810可包含图1中所展示的存储器100。计算装置804可表示可为可配置以管理存储器装置810的任何装置、器具或机器。存储器装置810可包含存储器控制器815及存储器822。通过举例而非限制的方式,计算装置804可包含:一个或一个以上计算装置及/或平台,例如桌上型计算机、膝上型计算机、工作站、服务器装置等;一个或一个以上个人计算或通信装置或器具,例如个人数字助理、移动通信装置等;计算系统及/或相关联服务提供者能力,例如数据库或数据存储服务提供者/系统;及/或其任一组合。
应认识到,系统800中所展示的各种装置的全部或部分可使用或以其它方式包含硬件、固件、软件或其任一组合来实施。因此,通过举例而非限制的方式,计算装置804可包含通过总线840及主机或存储器控制器815以操作方式耦合到存储器822的至少一个处理单元820。处理单元820表示可配置以执行数据计算程序或过程的至少一部分的一个或一个以上电路。通过举例而非限制的方式,处理单元820可包含一个或一个以上处理器、控制器、微处理器、微控制器、专用集成电路、数字信号处理器、可编程逻辑装置、现场可编程门阵列及类似装置或其任一组合。处理单元820可包含经配置以与存储器控制器815通信的操作系统。此操作系统可(举例来说)产生待经由总线840发送到存储器控制器815的命令。此类命令可包括读取及/或写入命令。响应于写入命令,举例来说,存储器控制器815可提供偏置信号(例如设定或复位脉冲)以将与所述写入命令相关联的信息写入到存储器分区(举例来说)。在一实施方案中,举例来说,存储器控制器815可操作存储器装置810,其中处理单元820可托管一个或一个以上应用程序及/或起始给存储器控制器的写入命令以提供对存储器装置810中的存储器单元的存取。
在一个实施例中,一种系统可包括:存储器装置,其包括用以跨越一个或一个以上多电平存储器单元存储信息的存储器阵列、用以对所述存储器阵列应用软决策及卷积编码以确定所述信息的值的控制器;及存储器装置控制器,其用以操作所述存储器装置。所述系统可进一步包括用以托管一个或一个以上应用程序并起始给所述存储器装置控制器的写入及/或读取命令以提供对所述存储器阵列的存取的处理器。
存储器822表示任何数据存储机构。存储器822可包含(举例来说)主要存储器824及/或辅助存储器826。主要存储器824可包含(举例来说)随机存取存储器、只读存储器等。尽管在此实例中图解说明为与处理单元820分离,但应理解,主要存储器824的全部或部分可提供于处理单元820内或以其它方式与处理单元820共同定位/耦合。
辅助存储器826可包含(举例来说)与主要存储器相同或类似类型的存储器及/或一个或一个以上数据存储装置或系统,例如,磁盘驱动器、光盘驱动器、磁带驱动器、固态存储器驱动器等。在某些实施方案中,辅助存储器826可以操作方式接纳或可以其它方式配置以耦合到计算机可读媒体828。计算机可读媒体828可包含(举例来说)载运及/或使得可存取用于系统800中的装置中的一者或一者以上的数据、代码及/或指令的任何媒体。
计算装置804可包含(举例来说)输入/输出832。输入/输出832表示可为可配置以接受或以其它方式引入人类及/或机器输入的一个或一个以上装置或特征及/或可为可配置以递送或以其它方式提供人类及/或机器输出的一个或一个以上装置或特征。通过举例而非限制的方式,输入/输出装置832可包含以操作方式配置的显示器、扬声器、键盘、鼠标、轨迹球、触摸屏、数据端口等。
尽管已图解说明及描述了目前被视为实例性实施例的实施例,但所属领域的技术人员将理解可做出各种其它修改且可替代等效物,此并不背离所主张的标的物。另外,可做出许多修改以使特定情形适于所主张的标的物的教示内容,此并不背离本文中所描述的中心概念。因此,打算所主张的标的物不限于所揭示的特定实施例,而是此所主张的标的物还可包含归属于所附权利要求书及其等效物的范围内的所有实施例。
Claims (20)
1.一种使用软决策及卷积解码确定数据状态的方法,所述方法包括:
将状态存储于一个或多个多电平存储器单元中,所述存储状态包括根据卷积码来编码所述状态以提供代表所述状态的若干符号;
使用软决策及卷积编码来确定所述经编码的状态,其中确定进一步包括:
从所述多电平存储器单元中读取与所感测的阈值电压相关联的软决策;
维持多组周期函数,其中每一组与所存储状态的不同的多个编程分布相关联,其中与特定的周期函数相关联的所存储的状态彼此之间是周期性的;
将软决策与特定周期函数组相关联;以及
至少部分地基于已遵循用于编码的最可能编码路径的计算从所述特定周期函数组中选择一编程分布。
2.根据权利要求1所述的方法,其中所述确定所述经编码的状态进一步包括:
从所存储的值检索所述存储状态并应用所述软决策及卷积解码以恢复所述所存储的状态。
3.根据权利要求1所述的方法,其中所述软决策包括确定多个编程状态当中最可能的编程状态以确定所述经编码的状态。
4.根据权利要求1所述的方法,其中所述多电平存储器单元能够存储两个或多于两个位。
5.根据权利要求1所述的方法,进一步包括
产生值,所述值包括所感测的阈值电压属于所述一个或多个多电平存储器单元的特定编程分布的概率的测量。
6.根据权利要求1所述的方法,其中多组周期函数维持在查找表中。
7.一种存储器装置,其包括:
存储器阵列,其用以跨越一个或多个多电平存储器单元存储状态;及
控制器,其经配置以:
根据卷积码来编码所述状态以提供代表所述状态的若干符号;
从所述多电平存储器单元中读取与所感测的阈值电压相关联的软决策;
存取多组周期函数,其中每一组与所存储状态的不同的多个编程分布相关联,其中与特定的周期函数相关联的所存储的状态彼此之间是周期性的;
将软决策与特定周期函数组相关联;以及
至少部分地基于已遵循用于编码的最可能编码路径的计算从所述特定周期函数组中选择一编程分布以使用软决策和卷积译码确定所述经编码的状态。
8.根据权利要求7所述的存储器装置,其中所述软决策包括确定多个编程状态当中最可能的编程状态以确定所述经编码的状态。
9.根据权利要求7所述的存储器装置,其进一步包括:
感测电路,其用以确定所述一个或多个多电平存储器单元的所述阈值电压;及
转换器,其用以将值转换成指示所述一个或多个多电平存储器单元的所述阈值电压的数的数字序列。
10.根据权利要求9所述的存储器装置,其中所述感测电路包括电压比较器,所述电压比较器具有多个输入以接收对应于所述一个或多个多电平存储器单元中的一者的位线电压以及参考电压。
11.根据权利要求7所述的存储器装置,其中所述多电平存储器单元能够存储两个或多于两个位。
12.根据权利要求7所述的存储器装置,进一步包括查找表,其经配置以存储所述周期函数组。
13.根据权利要求7所述的存储器装置,其进一步包括:
解码单元,其用以产生值以量化所感测的阈值电压属于所述一个或多个多电平存储器单元的特定编程分布的概率。
14.一种计算系统,其包括:
存储器装置,其包括:
存储器阵列,其经配置以跨越一个或多个多电平存储器单元存储状态,及
控制器,其经配置以:
根据卷积码来编码所述状态以提供代表所述状态的若干符号;
从所述多电平存储器单元中读取与所感测的阈值电压相关联的软决策;
存取多组周期函数,其中每一组与所存储状态的不同的多个编程分布相关联,其中与特定的周期函数相关联的所存储的状态彼此之间是周期性的;
将软决策与特定周期函数组相关联;以及
至少部分地基于已遵循用于编码的最可能编码路径的计算从所述特定周期函数组中选择一编程分布以使用软决策和卷积译码确定所述经存储的状态;及
处理器,其用以托管一个或多个应用程序并起始给所述存储器装置控制器的写入及/或读取命令以提供对所述存储器阵列的存取。
15.根据权利要求14所述的系统,其中所述软决策包括确定多个编程状态当中最可能的编程状态以确定所述存储状态。
16.根据权利要求14所述的系统,其进一步包括:
感测电路,其用以确定所述一个或多个多电平存储器单元的所述阈值电压;及
转换器,其用以将值转换成指示所述一个或多个多电平存储器单元的所述阈值电压的数的数字序列。
17.根据权利要求16所述的系统,其中所述感测电路包括电压比较器,所述电压比较器具有多个输入以接收对应于所述一个或多个多电平存储器单元中的一者的位线电压以及参考电压。
18.根据权利要求14所述的系统,其中所述编码包括维特比编码。
19.根据权利要求14所述的系统,其进一步包括:
解码单元,其用以产生值以量化所感测的阈值电压属于所述一个或多个多电平存储器单元的特定编程分布的概率。
20.根据权利要求14所述的系统,进一步包括查找表,其经配置以存储所述周期函数组。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/783,483 | 2010-05-19 | ||
US12/783,483 US8386895B2 (en) | 2010-05-19 | 2010-05-19 | Enhanced multilevel memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102254571A CN102254571A (zh) | 2011-11-23 |
CN102254571B true CN102254571B (zh) | 2015-06-17 |
Family
ID=44973482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110136221.8A Active CN102254571B (zh) | 2010-05-19 | 2011-05-18 | 增强型多电平存储器 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8386895B2 (zh) |
JP (1) | JP5555840B2 (zh) |
KR (1) | KR101409551B1 (zh) |
CN (1) | CN102254571B (zh) |
DE (1) | DE102011075966B4 (zh) |
TW (1) | TWI484497B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386895B2 (en) * | 2010-05-19 | 2013-02-26 | Micron Technology, Inc. | Enhanced multilevel memory |
US9251873B1 (en) | 2010-05-20 | 2016-02-02 | Kandou Labs, S.A. | Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications |
US9275720B2 (en) * | 2010-12-30 | 2016-03-01 | Kandou Labs, S.A. | Differential vector storage for dynamic random access memory |
IT1403667B1 (it) * | 2011-01-31 | 2013-10-31 | St Microelectronics Srl | Dispositivo di memoria con misurazione interna di parametri funzionali |
US8780659B2 (en) * | 2011-05-12 | 2014-07-15 | Micron Technology, Inc. | Programming memory cells |
US8797805B2 (en) | 2011-12-22 | 2014-08-05 | Micron Technology, Inc. | Methods and apparatuses for determining threshold voltage shift |
US8943386B1 (en) * | 2012-02-16 | 2015-01-27 | Sk Hynix Memory Solutions Inc. | Generating soft read values which optimize dynamic range |
US8737139B2 (en) | 2012-04-11 | 2014-05-27 | Micron Technology, Inc. | Determining soft data for combinations of memory cells |
US9239754B2 (en) * | 2012-08-04 | 2016-01-19 | Seagate Technology Llc | Single read based soft-decision decoding of non-volatile memory |
US8848453B2 (en) | 2012-08-31 | 2014-09-30 | Micron Technology, Inc. | Inferring threshold voltage distributions associated with memory cells via interpolation |
KR102125371B1 (ko) | 2012-12-04 | 2020-06-22 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 동작방법 |
KR102067611B1 (ko) | 2013-03-15 | 2020-01-20 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법과 상기 메모리 컨트롤러를 포함하는 장치들 |
KR102087436B1 (ko) | 2013-04-02 | 2020-04-14 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
TWI498893B (zh) * | 2013-10-31 | 2015-09-01 | Innostor Technology Corp | MLC memory write method in multiple environments |
EP3111607B1 (en) | 2014-02-28 | 2020-04-08 | Kandou Labs SA | Clock-embedded vector signaling codes |
US9373408B2 (en) * | 2014-10-07 | 2016-06-21 | SanDisk Technologies, Inc. | Highly linear analog-to-digital converter and method for nonvolatile memory |
US10379940B2 (en) * | 2016-12-08 | 2019-08-13 | Sandisk Technologies Llc | Pipeline delay detection during decoding by a data storage device |
US10467177B2 (en) | 2017-12-08 | 2019-11-05 | Kandou Labs, S.A. | High speed memory interface |
US10777286B2 (en) | 2018-12-28 | 2020-09-15 | Micron Technology, Inc. | Apparatus and methods for determining data states of memory cells |
US10942889B2 (en) | 2019-06-04 | 2021-03-09 | Micron Technology, Inc. | Bit string accumulation in memory array periphery |
KR102440692B1 (ko) * | 2019-06-04 | 2022-09-07 | 마이크론 테크놀로지, 인크. | 메모리 어레이 주변부에서의 비트 스트링의 누산 |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4058851A (en) | 1976-10-18 | 1977-11-15 | Sperry Rand Corporation | Conditional bypass of error correction for dual memory access time selection |
KR930004862B1 (ko) | 1990-12-17 | 1993-06-09 | 삼성전자 주식회사 | 상태 평가량 기억장치 |
DE69423104T2 (de) | 1994-10-31 | 2000-07-20 | St Microelectronics Srl | Fehlernachweis- und Korrekturverfahren in einem mehrstufigen Speicher und Speicher für dieses Verfahren |
US6857099B1 (en) | 1996-09-18 | 2005-02-15 | Nippon Steel Corporation | Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program |
US6023781A (en) | 1996-09-18 | 2000-02-08 | Nippon Steel Corporation | Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program |
US5956743A (en) | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
FR2769747B1 (fr) | 1997-10-15 | 2001-10-05 | Sgs Thomson Microelectronics | Perfectionnement aux memoires non volatiles programmables par effet dit "de porteurs chauds" et effacables par effet tunnel |
US6279133B1 (en) | 1997-12-31 | 2001-08-21 | Kawasaki Steel Corporation | Method and apparatus for significantly improving the reliability of multilevel memory architecture |
WO1999038170A1 (fr) | 1998-01-21 | 1999-07-29 | Sony Corporation | Procede de codage et dispositif de memoire |
JP3308915B2 (ja) | 1998-11-11 | 2002-07-29 | エヌイーシーマイクロシステム株式会社 | 不良救済用メモリセル及びそれを用いた記憶装置 |
US6871303B2 (en) | 1998-12-04 | 2005-03-22 | Qualcomm Incorporated | Random-access multi-directional CDMA2000 turbo code interleaver |
IL141800A0 (en) | 1999-07-06 | 2002-03-10 | Samsung Electronics Co Ltd | Rate matching device and method for a data communication system |
US20050114587A1 (en) | 2003-11-22 | 2005-05-26 | Super Talent Electronics Inc. | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines |
US6487251B1 (en) | 1999-08-30 | 2002-11-26 | Hughes Electronics Corporation | System and method for performing combined multi-rate convolutional coding |
US6175522B1 (en) | 1999-09-30 | 2001-01-16 | Advanced Micro Devices, Inc. | Read operation scheme for a high-density, low voltage, and superior reliability nand flash memory device |
US6628723B1 (en) | 1999-10-15 | 2003-09-30 | Cisco Technology | Coding rate reduction for turbo codes |
US6731538B2 (en) | 2000-03-10 | 2004-05-04 | Kabushiki Kaisha Toshiba | Semiconductor memory device including page latch circuit |
JP2002076915A (ja) | 2000-08-31 | 2002-03-15 | Sony Corp | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 |
US6591394B2 (en) | 2000-12-22 | 2003-07-08 | Matrix Semiconductor, Inc. | Three-dimensional memory array and method for storing data bits and ECC bits therein |
JP4017177B2 (ja) | 2001-02-28 | 2007-12-05 | スパンション エルエルシー | メモリ装置 |
KR100390959B1 (ko) * | 2001-06-29 | 2003-07-12 | 주식회사 하이닉스반도체 | 센싱회로를 이용한 멀티레벨 플래시 메모리 프로그램/리드방법 |
KR100438537B1 (ko) | 2001-07-19 | 2004-07-03 | 엘지전자 주식회사 | 이동 통신 단말기에서의 복호 장치 및 그 제어 방법 |
US6683817B2 (en) | 2002-02-21 | 2004-01-27 | Qualcomm, Incorporated | Direct memory swapping between NAND flash and SRAM with error correction coding |
US6751766B2 (en) * | 2002-05-20 | 2004-06-15 | Sandisk Corporation | Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data |
US7293217B2 (en) | 2002-12-16 | 2007-11-06 | Interdigital Technology Corporation | Detection, avoidance and/or correction of problematic puncturing patterns in parity bit streams used when implementing turbo codes |
US6839870B2 (en) | 2003-03-21 | 2005-01-04 | Terayon Communications Systems, Inc. | Error-correcting code interleaver |
US7467264B2 (en) | 2003-06-27 | 2008-12-16 | Hewlett-Packard Development Company, L.P. | Methods and apparatuses for determining the state of a memory element |
JP3984209B2 (ja) | 2003-07-31 | 2007-10-03 | 株式会社東芝 | 半導体記憶装置 |
JP2005078721A (ja) * | 2003-09-01 | 2005-03-24 | Nippon Telegr & Teleph Corp <Ntt> | 誤り訂正方法およびメモリ回路 |
US7389465B2 (en) | 2004-01-30 | 2008-06-17 | Micron Technology, Inc. | Error detection and correction scheme for a memory device |
US7607073B1 (en) | 2004-08-04 | 2009-10-20 | Marvell International Ltd. | Methods, algorithms, software, circuits, receivers and systems for iteratively decoding a tailbiting convolutional code |
WO2006026645A2 (en) | 2004-08-30 | 2006-03-09 | Silicon Storage Technology, Inc. | Systems and methods for providing nonvolatile memory management in wireless phones |
US7061804B2 (en) | 2004-11-18 | 2006-06-13 | Qualcomm Incorporated | Robust and high-speed memory access with adaptive interface timing |
KR100578141B1 (ko) | 2004-11-22 | 2006-05-10 | 삼성전자주식회사 | 읽기 속도를 향상시킬 수 있는 낸드 플래시 메모리 장치 |
EP1850342B1 (en) | 2004-12-28 | 2012-12-05 | International Business Machines Corporation | INFORMATION RECORDING DEVICE and DATA-FLOW CONTROLLER FOR THE DEVICE |
US7359279B2 (en) | 2005-03-31 | 2008-04-15 | Sandisk 3D Llc | Integrated circuit memory array configuration including decoding compatibility with partial implementation of multiple memory layers |
US7644338B2 (en) | 2005-09-13 | 2010-01-05 | Samsung Electronics Co., Ltd. | Method of detecting and correcting a prescribed set of error events based on error detecting code |
US8291295B2 (en) | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7469368B2 (en) | 2005-11-29 | 2008-12-23 | Broadcom Corporation | Method and system for a non-volatile memory with multiple bits error correction and detection for improving production yield |
US7844879B2 (en) * | 2006-01-20 | 2010-11-30 | Marvell World Trade Ltd. | Method and system for error correction in flash memory |
US8055979B2 (en) | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7388781B2 (en) | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
WO2007132457A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US7840875B2 (en) | 2006-05-15 | 2010-11-23 | Sandisk Corporation | Convolutional coding methods for nonvolatile memory |
US20070266296A1 (en) | 2006-05-15 | 2007-11-15 | Conley Kevin M | Nonvolatile Memory with Convolutional Coding |
US7836364B1 (en) * | 2006-05-30 | 2010-11-16 | Marvell International Ltd. | Circuits, architectures, apparatuses, systems, methods, algorithms, software and firmware for using reserved cells to indicate defect positions |
US7627803B2 (en) | 2006-07-05 | 2009-12-01 | Harris Corporation | System and method for variable forward error correction (FEC) protection |
US8046660B2 (en) | 2006-08-07 | 2011-10-25 | Marvell World Trade Ltd. | System and method for correcting errors in non-volatile memory using product codes |
US7739576B2 (en) | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
US7805663B2 (en) | 2006-09-28 | 2010-09-28 | Sandisk Corporation | Methods of adapting operation of nonvolatile memory |
TWI360126B (en) * | 2006-09-28 | 2012-03-11 | Sandisk Corp | Nonvolatile memory with adaptive operations and me |
JP5177991B2 (ja) * | 2006-10-25 | 2013-04-10 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7904780B2 (en) | 2006-11-03 | 2011-03-08 | Sandisk Corporation | Methods of modulating error correction coding |
US8151163B2 (en) | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
KR100766042B1 (ko) | 2006-12-06 | 2007-10-12 | 삼성전자주식회사 | 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치 |
KR100845529B1 (ko) | 2007-01-03 | 2008-07-10 | 삼성전자주식회사 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
KR100842680B1 (ko) | 2007-01-08 | 2008-07-01 | 삼성전자주식회사 | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 |
US8010735B2 (en) | 2007-07-31 | 2011-08-30 | Broadcom Corporation | Flash memory with millimeter wave host interface and method for use therewith |
US7904793B2 (en) * | 2007-03-29 | 2011-03-08 | Sandisk Corporation | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads |
US7966546B2 (en) * | 2007-03-31 | 2011-06-21 | Sandisk Technologies Inc. | Non-volatile memory with soft bit data transmission for error correction control |
US7975209B2 (en) * | 2007-03-31 | 2011-07-05 | Sandisk Technologies Inc. | Non-volatile memory with guided simulated annealing error correction control |
KR101492595B1 (ko) | 2007-05-21 | 2015-02-11 | 라모트 앳 텔-아비브 유니버시티 리미티드 | 메모리 효율적인 ldpc 디코딩 |
US8065583B2 (en) | 2007-07-06 | 2011-11-22 | Micron Technology, Inc. | Data storage with an outer block code and a stream-based inner code |
US8051358B2 (en) | 2007-07-06 | 2011-11-01 | Micron Technology, Inc. | Error recovery storage along a nand-flash string |
JP5354979B2 (ja) | 2007-07-12 | 2013-11-27 | パナソニック株式会社 | 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器 |
US7860200B2 (en) | 2007-10-12 | 2010-12-28 | Harris Corporation | Communications system using adaptive filter that is selected based on output power |
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 |
US8499229B2 (en) | 2007-11-21 | 2013-07-30 | Micro Technology, Inc. | Method and apparatus for reading data from flash memory |
US8327245B2 (en) | 2007-11-21 | 2012-12-04 | Micron Technology, Inc. | Memory controller supporting rate-compatible punctured codes |
US8046542B2 (en) | 2007-11-21 | 2011-10-25 | Micron Technology, Inc. | Fault-tolerant non-volatile integrated circuit memory |
US8335977B2 (en) * | 2007-12-05 | 2012-12-18 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells |
KR101398212B1 (ko) * | 2008-03-18 | 2014-05-26 | 삼성전자주식회사 | 메모리 장치 및 인코딩/디코딩 방법 |
US8051240B2 (en) * | 2008-05-09 | 2011-11-01 | Sandisk Technologies Inc. | Compensating non-volatile storage using different pass voltages during program-verify and read |
US8023334B2 (en) * | 2008-10-31 | 2011-09-20 | Micron Technology, Inc. | Program window adjust for memory cell signal line delay |
US8510628B2 (en) * | 2009-11-12 | 2013-08-13 | Micron Technology, Inc. | Method and apparatuses for customizable error correction of memory |
US8451664B2 (en) | 2010-05-12 | 2013-05-28 | Micron Technology, Inc. | Determining and using soft data in memory devices and systems |
US8386895B2 (en) * | 2010-05-19 | 2013-02-26 | Micron Technology, Inc. | Enhanced multilevel memory |
US8194441B2 (en) | 2010-09-23 | 2012-06-05 | Micron Technology, Inc. | Phase change memory state determination using threshold edge detection |
-
2010
- 2010-05-19 US US12/783,483 patent/US8386895B2/en active Active
-
2011
- 2011-05-11 JP JP2011106289A patent/JP5555840B2/ja active Active
- 2011-05-17 DE DE102011075966.2A patent/DE102011075966B4/de active Active
- 2011-05-18 CN CN201110136221.8A patent/CN102254571B/zh active Active
- 2011-05-18 KR KR1020110047060A patent/KR101409551B1/ko active IP Right Grant
- 2011-05-19 TW TW100117641A patent/TWI484497B/zh active
-
2013
- 2013-02-25 US US13/776,418 patent/US8700978B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011243198A (ja) | 2011-12-01 |
KR20110127615A (ko) | 2011-11-25 |
US20110289376A1 (en) | 2011-11-24 |
DE102011075966B4 (de) | 2016-09-01 |
TWI484497B (zh) | 2015-05-11 |
KR101409551B1 (ko) | 2014-07-02 |
DE102011075966A1 (de) | 2011-12-29 |
US8700978B2 (en) | 2014-04-15 |
TW201214457A (en) | 2012-04-01 |
CN102254571A (zh) | 2011-11-23 |
JP5555840B2 (ja) | 2014-07-23 |
US8386895B2 (en) | 2013-02-26 |
US20130242652A1 (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102254571B (zh) | 增强型多电平存储器 | |
US10811090B2 (en) | Memory cell state in a valley between adjacent data states | |
Jiang et al. | Rank modulation for flash memories | |
CN102792382B (zh) | 存储器装置中的感测操作 | |
EP0853806B1 (en) | Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell | |
CN102099864B (zh) | 具有极性控制的每单元多比特(mbc)的非易失性存储器设备和系统及其编程方法 | |
CN101755307B (zh) | 基于疲劳状况刷新非易失性存储器单元 | |
CN101755305B (zh) | 存储器装置及操作存储器单元的方法 | |
US20100124088A1 (en) | Storage at m bits/cell density in n bits/cell analog memory cell devices, m>n | |
KR20080080041A (ko) | 메모리 컨트롤러 및 반도체 장치 | |
US9230661B2 (en) | Determining soft data for combinations of memory cells | |
US20060227021A1 (en) | Hybrid fractional-bit systems | |
CN113051100B (zh) | 一种闪存存储器及其错误比特计数检测系统 | |
CN101589437A (zh) | 用于验证编程的分段位扫描 | |
CN102197437A (zh) | 存储器装置中的数据传送及编程 | |
JP2011014195A (ja) | フラッシュメモリ | |
CN102089827A (zh) | 非易失性存储器和关联多遍编程的方法 | |
US20040177292A1 (en) | Structure and method for detecting errors in a multilevel memory device with improved programming granularity | |
KR20100085657A (ko) | 불휘발성 메모리 소자 및 그 동작 방법 | |
US9361181B2 (en) | Error protection for memory devices | |
KR101261052B1 (ko) | 멀티레벨 셀 메모리 장치 및 그 데이터 저장 방법 |
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 |