非易失性存储器及对将写入其中的数据编码的系统和方法

文档序号:6756609阅读:145来源:国知局
专利名称:非易失性存储器及对将写入其中的数据编码的系统和方法
技术领域
本发明通常涉及数据处理系统,更具体地讲,涉及在数据处理系统中使用存储装置,如非易失性存储器系统。
背景技术
近来,使用非易失性存储器的装置的数量增加。例如,MP3播放器、数码相机、移动电话、摄像机、闪存卡和固态盘(SSD)是使用非易失性存储器作为存储装置的装置示例。
随着越来越多的装置使用非易失性存储器作为存储装置,非易失性存储器的容量普遍增加。增加存储器容量的一种方法使用所谓的多级存储单元(MLC, multi level cell)方法,即在一个存储单元中存储多个比特。
根据阔值电压的分布,2比特MLC可被编程以具有四种状态11、 01、10和00中的任何一种。然而,随着时间流逝,通过频繁的编程操作和擦除操作以及温度变化,存储单元会受应力影响(stressed)。与编程和擦除较不频繁的存储单元的阔值电压电平相比,编程和擦除更频繁的存储单元的阔值电压电平会变化更大。这会导致阈值电压电平移位,阈值电压电平移位会在读取包含于其中的数据过程中引起错误。

发明内容
根据本发明的一些实施例,通过提供将被写到非易失性存储器的数据,对将被写到非易失性存储器的数据与随机图案进行逻辑组合以产生编码的数据,并将编码的数据编入非易失性存储器,来操作非易失性存储器系统。在其它实施例中,该方法还包括基于参考值产生随机图案。在其它实施例中,所述参考值与非易失性存储器中的块相关联,编码的数据将被编入该块中。所述方法还包括在非易失性存储器中的与所述参考值相关联的块被擦除时改变所述参考值。
在其它实施例中,所述参考值是擦除计数值。
在其它实施例中,产生随机图案的步骤包括操作多个随机图案产生器,
并响应于所述参考值选择所述随机图案产生器之一 的输出作为随机图案。
在其它实施例中,产生随机图案的步骤包括操作随机图案产生器以响应于与所述参考值对应的种子值来产生随机图案。
在其它实施例中,产生随机图案的步骤包括提供多个随机图案,并响应于所述参考值选择所述多个随机图案之一作为随机图案。
在其它实施例中,产生随机图案的步骤包括将多个数据图案分别与多个随机图案相关联,将待写到非易失性存储器的数据与所述多个数据图案之一匹配,选择所述多个随机图案中与所述多个数据图案中的与将被写到非易失性存储器的数据相匹配的一个数据图案相关联的一个随机图案作为随机图案。
在其它实施例中,所述方法还包括从非易失性存储器读取编码的数据并利用随机图案将编码的数据解码。
在其它实施例中,将编码的数据解码的步骤包括通过对编码的数据与随机图案进行逻辑组合来将编码的数据解码。
在其它实施例中,对将被写到非易失性存储器的数据与随机图案进行逻辑组合的步骤包括对将被写到非易失性存储器的数据和随机图案执行异或操作,并且对编码的数据与随机图案进行逻辑组合的步骤包括对编码的数据和随机图案执行异或操作。
在其它实施例中,将被写到非易失性存储器的数据包括纠错数据。
在其它实施例中,所述非易失性存储器包括闪存。
在本发明的其它实施例中,通过检测将被写到非易失性存储器的数据中的图案,基于检测的图案对将被写到非易失性存储器的数据进行编码,并将编码的数据编入非易失性存储器,来操作非易失性存储器系统。
在其它实施例中,检测将被写到非易失性存储器的数据中的图案的步骤包括将多个数据图案分别与多个编码的数据图案相关联,将待写到非易失性存储器的数据中的图案与所述多个编码的数据图案之一 匹配。
在其它实施例中,对将被写到非易失性存储器的数据编码的步骤包括选^^所述多个编码的数据图案中与所述多个数据图案中的 一个数据图案相关联的 一个编码的数据图案作为随机图案,其中所述一个数据图案与将被写到非易失性存储器的数据中的图案相匹配。
在其它实施例中,所述非易失性存储器包括闪存。
在本发明的其它实施例中,存储器系统包括非易失性存储器;和存储器控制器,被构造为对将被写到非易失性存储器的数据与随机图案进行逻辑组合,以产生编码的数据并将编码的数据编入非易失性存储器中。
在其它实施例中,存储器控制器还被构造为基于参考值产生随机图案。
在其它实施例中,所述参考值与非易失性存储器中的块相关联,编码的数据将被编入该块中;存储器控制器还被构造为在非易失性存储器中的与所述参考值相关联的块被擦除时改变所述参考值。
在其它实施例中,所述参考值是擦除计数值。
在其它实施例中,存储器控制器包括多个随机图案产生器;和选择器,被构造为响应于所述参考值选择所述随机图案产生器之一的输出作为随机图案。
在其它实施例中,存储器控制器包括随机图案产生器,可操作以响应于与所述参考值对应的种子值来产生随机图案。
在其它实施例中,存储器控制器包括本地存储器,其上存储有多个随机图案;和选择器,被构造为响应于所述参考值选择所述多个随机图案之一作为随机图案。
在其它实施例中,存储器控制器包括本地存储器,其上存储有分别与多个随机图案相关联的多个数据图案;和图案检测器,被构造为将待写到非易失性存储器的数据与所述多个数据图案之一匹配。存储器控制器被构造为选择所述多个随机图案中与所述多个数据图案中的与将被写到非易失性存储器的数据相匹配的 一个数据图案相关联的 一个随机图案作为随机图案。
在其它实施例中,存储器控制器还被构造为从非易失性存储器读取编码的数据并利用随机图案将编码的数据解码。
在其它实施例中,存储器控制器还被构造为通过对编码的数据与随机图案进行逻辑组合来将编码的数据解码。
在其它实施例中,存储器控制器还被构造为通过对将被写到非易失性存储器的数据和随机图案执行异或操作来对将被到非易失性存储器的数据与随机图案进行逻辑组合,并且通过对编码的数据和随机图案执行异或操作来对编码的数据与随机图案进行逻辑组合。
在其它实施例中,将被写到非易失性存储器的数据包括纠错数据。
在其它实施例中,所述非易失性存储器包括闪存。
在其它实施例中,存储器系统被包含在存储卡装置、固态驱动器(SSD)
装置、ATA总线装置、串行ATA (SATA)总线装置、多媒体卡(MMC )装置、安全数字(SD)装置、记忆棒装置、硬盘驱动器(HDD)装置、混合硬盘驱动器(HHD)装置和/或通用串行总线(USB)闪存驱动装置。
在其它实施例中,存储器系统被包含在图形卡、计算机、移位终端、个人数字助理(PDA)、照相机、游戏机、MP3播放器、电视、DVD播放器、路由器和/或GPS系统中。
在本发明的其它实施例中,存储器系统包括非易失性存储器;和存储器控制器,被构造位检测将被写到非易失性存储器的数据中的图案,基于检测的图案对将被写到非易失性存储器的数据进行编码,并将编码的数据编入非易失性存储器。
在其它实施例中,存储器控制器包括本地存储器,其上存储有分别与多个编码的数据图案相关联的多个数据图案;和图案检测器,被构造为将待写到非易失性存储器的数据与所述多个编码的数据图案之一 匹配。
在其它实施例中,存储器控制器还被构造为选择所述多个编码的数据图案中与所述多个数据图案中的与将被写到非易失性存储器的数据中的图案相匹配的 一个数据图案相关联的 一个编码的数据图案作为随机图案。
在其它实施例中,存储器系统被包含在存储卡装置、固态驱动器(SSD)装置、ATA总线装置、串行ATA (SATA)总线装置、多媒体卡(MMC )装置、安全数字(SD)装置、记忆棒装置、硬盘驱动器(HDD)装置、混合硬盘驱动器(HHD)装置和/或通用串行总线(USB)闪存驱动装置。
在其它实施例中,存储器系统被包含在图形卡、计算机、移位终端、个人数字助理(PDA)、照相机、游戏机、MP3播放器、电视、DVD播放器、路由器和/或GPS系统中。
在本发明的其它实施例中,通过提供将被写到非易失性存储器的数据,通过改变将被写到非易失性存储器的数据并将改变的数据编入非易失性存储器来使非易失性存储器中的存储单元的编程应力(program stress)均衡,来
8操作非易失性存储器。
对于本领域技术人员而言,通过阅读下面的附图和详细描述,根据本发
明实施例的其它系统、方法和/或计算机程序产品将变得明显。所有这样的另 外的系统、方法和/或计算机程序产品都意图被包括在权利要求所限定的本发 明的范围内。


通过下面结合附图对特定实施例的详细描述,本发明的其它特征将会更 容易理解,其中
图1是根据本发明一些实施例的存储器系统的框图2是根据本发明一些实施例的图1的数据改变块的框图3A至图3D是根据本发明多个实施例的图2的随机图案产生器的框
图4示出根据本发明一些实施例的相同数据图案的重复编程; 图5A至图5C示出传统闪存MLC和根据本发明一些实施例的闪存MLC 的数据保持概念的比较;
图6是示出根据本发明一些实施例的存储器系统操作的流程图7是根据本发明的其它实施例的存储器系统的框图8是包含根据本发明一些实施例的存储器系统的电子系统的框图9是根据本发明进一步实施例的存储器系统的框图IO是图9的存储器装置的框图11是示出根据本发明一些实施例的图10的存储器系统的操作的流程
图12是示出根据本发明一些实施例的数据改变单元的操作的框图13A和图13B是示出根据本发明一些实施例的在改变将被写到存储器 装置的数据过程中使用的参考值的存储的框图14是示出根据本发明一些实施例的在存储器装置的突然断电事件中 补偿在改变将被写到存储器装置的数据过程中使用的参考值的流程图15A和图15B示出当不使用数据改变功能时和当根据本发明一些实施 例使用数据改变功能时的情况的阈值电压分布示例;
图16A、图16B和图16C是分别示出根据本发明一些实施例的序列产生器、线性反馈移位寄存器和CRC产生器/检验器的框图。
具体实施例方式
尽管本发明可允许各种修改和替换形式,但是通过示例的方式在附图中 显示了本发明的特定实施例并将在这里对其进行详细描述。然而,应该理解 的是,不是为了将本发明限于所公开的特定形式,而是相反,本发明将覆盖 落入由权利要求限定的本发明的精神和范围内的所有修改、等同物和替换。 贯穿对附图的描述,相同的标号表示相同的元件。
如这里所使用的,除非上下文清楚地指出,否则单数形式也意在包括复 数形式。还应该理解的是,术语"包括"当用在说明书中时,其表明所述的 特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它 特征、整数、步骤、操作、元件、组件和/或它们的组的存在或添加。应该理 解的是,当元件被称作在"连接"或者"结合"到另一元件时,它可以直接 直接连接或者结合到另一元件,或者可以存在中间元件。此外,如这里所使 用的,"连接"或"结合"可包括无线连接或结合。如这里所使用的,术语"和 /或"包括一个或多个相关所列项的任意和全部组合。
除非另外限定,否则这里使用的所有术语(包括技术术语和科学术语) 的含义与本发明所属领域的普通技术人员通常理解的含义相同。还应该理解 的是,在通用字典里限定的术语应该被理解为其含义与相关领域的内容中它 们的含义一致,除非在这里^f皮特定地限定,否则不应该;故理想化的或过度正 式地理解。
本发明可被实现为方法、系统和/或计算机程序产品。因此,本发明可被 实现在硬件和/或软件(包括固件、驻留软件、微码等)中。此外,本发明可 采取计算机可用或计算机可读存储介质上的计算机程序产品的形式,该计算 机可用或计算机可读存储介质上包含有计算机可用或计算机可读程序代码, 以便由指令执行系统使用或者与指令执行系统结合使用。在本说明书的上下 文中,计算机可用或计算机可读介质可以是能够包含、存储、通信、传播或 者传输由指令执行系统、设备或装置使用或者与指令执行系统、识别或装置 结合使用的程序的任何介质。
计算机可用或计算机可读介质可以是例如(但不限于)电、磁、光学、 电磁、红外或半导体系统、设备、装置或传播介质。计算机可读介质的更具
10体的例子(非穷尽性列表)可包括具有一条或多条电线的电连接、便携式
计算机磁盘、随机存取存储器(RAM )、只读存储器(ROM)、可擦除可编程 只读存储器(EPROM或闪存)、光纤和紧凑盘只读存储器(CD-ROM )。请注
的介质,可经对例如纸或其它介质的光学扫描来电子地捕获该程序,然后如 果需要,对该程序进行编译、解释或按照合适的方式处理,然后将其存储在 计算机存储器中。
为了示出的目的,这里参照包括闪存数据存储装置的非易失性存储器来 描述本发明的各种实施例。应该理解,数据存储装置不限于诸如闪存装置的 实现,而是通常可以实现为写前擦除存储器装置。因此,数据存储装置可以 是存储卡装置、固态驱动器(SSD)装置、ATA总线装置、串行ATA(SATA) 总线装置、多媒体卡(MMC)装置、安全数字(SD)装置、记忆棒装置、 硬盘驱动器(HDD)装置、混合硬盘驱动器(HHD)装置和/或通用串行总线 (USB)闪存驱动装置。
根据本发明的一些实施例,可通过提供将被写到非易失性存储器的数据 来操作包括存储器控制器和非易失性存储器的存储器系统。将被写到非易失 性存储器的数据可与随机图案进行逻辑组合,以产生编码的数据。然后,编 码的数据可被编入非易失性存储器。通过对将被写到非易失性存储器的数据 进行编码,存储位置的更均匀的分布可被编程和擦除,从而非易失性存储器 磨损更均匀。在多级存储单元(MLC)闪存的情况下,这会导致各种编程状 态的阈值电压由于温度和磨损而更均匀地移位,从而会提高从其读取数据的 准确性。
现在参照图1,根据本发明的一些实施例的存储器系统1000包括存储器 控制器1400和非易失性存储器1200。存储器控制器1400包括通过示出的地 址/数据总线结合的主机接口 1410、闪存接口 ( flash interface ) 1420、处理单 元1430、緩沖器1440和数据改变块1450。处理单元1430可以是例如商品化 的微处理器或者定制的微处理器。根据本发明一些实施例,緩冲器1440是一 个或多个本地存储器装置的代表,这些本地存储器装置包含用于操作存储器 控制器1400的软件和数据。緩冲器1440可包括(但不限于)以下类型的装 置高速緩沖存储器、ROM、 PROM、 EPROM、 EEPROM、闪存、SRAM和 DRAM。数据改变块1450可以被构造为对将被写到非易失性存储器1200的数据 进行编码,并对从非易失性存储器1200读取的数据进行解码。数据改变块 1450可利用随机图案来执行其编码/解码操作,其中可基于参考值产生该随机 图案。在一些实施例中,所述参考值可基于擦除计数值(ECV)。例如,闪存 中的每一块可具有与其相关联的ECV。当对该块执行擦除操作时,ECV可增 加。非易失性存储器1200可为不同存储块保持ECV,并经闪存转换层(FTL) 接口将这些ECV提供给处理单元1430。处理单元1430可通过将ECV存储 在緩冲器1440中来将ECV值提供给数据改变块145,以便在对将被编入非 易失性存储器1200的数据进行编码过程中使用。数据改变块1450可被构造 为对将被写到非易失性存储器1200的数据进行编码以避免将相同的数据重
的阈值电压的不期望的移位。
图2是示出根据本发明的一些实施例的数据改变块1450的框图。数据改 变块1450包括如图所示构造的选择码产生器1451、随机图案产生器1452以 及异或模块1453和1454。现在将描述数据改变块1450的示例性操作。选择 码产生器1451可被构造为响应于块的ECV产生选择码(SC),其中该块中 的数据将被写到非易失性存储器1200。随机图案产生器1452可被构造为响 应于使能信号(EN)、时钟信号(CLK)和SC产生随机图案数据(RPD)。 然后,异或模块1453可通过对将被写到非易失性存储器1200的未编码数据 (WD)和RPD执行异或运算,来产生将被写到非易失性存储器1200的编码 数据(WD')。
RPD可响应于CLK的周期而改变。例如,RPD的初始值可基于SC被 设置为"10"。然后,重复地响应于CLK, RPD可改变为"10"、 "11"、 "00" 和"01"。待写数据WD和RPD可具有相同的比特数。例如,如果WD是 "01010101"并且RPD是"00001111",则将,皮编入非易失性存储器1200中 的编码数据WD,为"01011010"。
当执行读取操作时,异或模块1454可对从非易失性存储器1200读取的 编码数据RD,和对编码数据RD'编码所使用的RPD执行异或操作。例如,可 通过对RD, "01011010"和RPD "00001111"执行异或4喿作来恢复未编码数 据RD,从而获得"01010101"。
可根据本发明的各种实施例按照各种不同的方式实现随机图案产生器1452。现在参照图3A,随机图案产生器1452可包括响应于使能信号EN和
时钟信号CLK的多个随机图案产生器1610、 1620.......1630。选择器模块
1640可被构造为响应于SC值选择多个随机图案产生器1610、 1620、......1630
之一的输出作为RPD。
图3B示出根据本发明另一实施例的随机图案产生器1452。现在参照图 3B,随机图案产生器1452包括基于种子值(SV)、使能信号EN和时钟信号 CLK来产生RPD的随机图案产生器1650,其中该SV可基于SC值。
图3C示出根据本发明另一实施例的随机图案产生器1452。现在参照图 3C,随机图案产生器1452包括存储在存储器中的多个随机图案表。选择器 1660可被构造为响应于SC值选择随机图案表之一。选择的随机图案表被存 储在活动表緩沖器1670中,来自于该随机图案表的条目响应于使能信号EN 和时钟信号CLK被输出作为RPD。根据本发明的其它实施例,随机图案表可 被设计为对特定问题图案,如MP3头进行编码,例如而非依赖于产生的RPD 的随机本性。
图3D示出根据本发明另一实施例的随机图案产生器1452。参照图3D, 随机图案产生器1452包括数据图案检测器1680,该数据图案检测器1680可 被构造为检测将被写到非易失性存储器1200的数据中的图案。检测到的图案 可被用作对表16卯进行索引的指针,在表16卯中,待写数据中的图案与特 定RPD条目相关联。与待写数据中检测到的图案相关联的RPD条目被输出 作为RPD。
图4示出根据本发明一些实施例的对相同数据图案的重复编程。如图4 中所示,用户数据"00001111"被重复地编入非易失性存储器1200。然而, 根据本发明的一些实施例,不是将相同的值"00001111"编程多次,而是每 次对用户数据进行不同的编码,这是因为在每一次编程操作之前,存储位置 被擦除,从而导致不同的随机图案被用来对用户数据进行编码。如图所示, 对于第一次编程操作,用户数据被编码为"01011010";对于在执行擦除操作 之后的第二次编程操作,用户数据被编码为"00001111";对于在执行第二次 擦除操作之后的第三次编程操作,用户数据被编码为"10100101";对于在执 行第三次擦除操作之后的第四次编程操作,用户数据被编码为"11110000"。
图5A至图5C示出传统闪存MLC和根据本发明 一些实施例的闪存MLC 的数据保持(data retention)概念的比较。如图5A所示,在传统的闪存中,在P2状态(10)下两个存储单元(cell)被编程,在P3状态(00)下两个存 储单元被编程。然而,如图5B所示,由于传统闪存中的编程操作,随着时间 流逝,阈值电压(Vth)移位到VR1'、 VR2,和VR3,电平。此外,由于电荷损 失(charge loss),如实心图标所表示的,存储单元移位。结果,可能难以确 定与MCA和MCB关联的值。图5C示出在根据本发明的一些实施例的闪存 中的MLC的阈值电压。由于在编程/擦除操作的数量方面,存储单元受应力 影响相似,所以用于4企测MLC中的数据的阚值电压的改变相似,从而使得存 储在其中的数据可以以提高的可靠性被读取。此外,与传统闪存系统相比,
本发明的实施例可提高数据保持时间。
以下参照根据本发明一些实施例的方法、系统、装置和/或计算机程序产 品的消息流、流程图和/或框图来描述本发明。这些消息流、流程图和/或框图 还示出用于操作包括外部数据存储装置的数据处理系统的示例性操作。应该 理解的是,消息流、流程图和/或框图的每一消息/方框可由计算机程序指令和 /或硬件操作来实现。这些计算机程序指令可被提供给通用计算机、专用计算 机或其它可编程数据处理设备的处理器,以产生机器,从而使得经计算机或 其它可编程数据处理设备的处理器执行的指令创建实现消息流、流程图和/或 框图的方框中所指定的功能的装置。
这些计算机程序指令还可被存储在能够引导计算机或其它可编程数据处 理设备以特定方式工作的计算机可用或计算机可读存储器中,使得存储在计 算机可用或计算机可读存储器中的指令产生包含实现消息流、流程图和/或框 图的方框中指定的功能的指令的产品。
计算机程序指令还可被载入计算机或其它可编程数据处理设备中以使计 算机或其它可编程设备上执行一 系列操作步骤,以产生计算机实现的处理, 从而在计算机或其它可编程设备上运行的指令提供实现消息流、流程图和/或 框图的方框中指定的功能的步骤。
参照图6,在方框S100,操作开始,其中基于与非易失性存储器装置相 关联的均衡磨损(wear-leveling)信息来改变编程数据。在一些实施例中,通 过将待写到非易失性存储器的数据与随机图案逻辑组合来改变编程数据,以
产生编码的数据。在方框S200,改变的/编码的编程数据被编入非易失性存储
柴扭罢
现在参照图7,根据本发明的进一步实施例,存储器系统2000包括存储器控制器2400和非易失性存储器2200。存储器控制器2400包括通过示出的 地址/数据总线结合的主机接口 2410、闪存接口 2420、处理单元2430、緩冲 器2440和数据改变块2450。这些元件与上面参照图1描述的对应元件相似。 然而,存储器控制器2400包括另外的纠错码(ECC)模块2460, ECC模块 2460可用于利用纠错数据来修正将被写到非易失性存储器2200的数据。相 应地,在本发明的一些实施例中,在被编入非易失性存储器2200之前将被数 据改变块2450编码的数据可包括纠错数据。
尽管图1至图7示出了根据本发明一些实施例的存储器系统硬件/软件架 构,但是应该理解的是,本发明不限于这样的构造,而是意图包含能够实现 这里描述的操作的任何构造。
为了开发方便,用于实现上面参照图1至图7讨论的装置和/或系统的操 作的计算机程序代码可以用高级编程语言,如Java、 C和/或C+十编写。此外,
用于实现本发明的实施例的操作的计算机程序代码还可用其它编程语言,如 (但不限于)解释性语言编写。 一些模块或例程可用汇编语言或者甚至微码 来编写,以提高性能和/或存储器使用。还应该理解的是,任何或者所有程序 模块的功能还可利用离散硬件元件、 一个或多个专用集成电路(ASIC)或者 可编程数字信号处理器或微控制器来实现。
图8示出包含根据本发明的一些实施例的存储器系统的电子系统。如图 8所示,电子系统3000可包括经地址/数据总线3001互相结合的微处理器 3100、用户接口 3200、电池3300、存储器控制器3400、非易失性存储器(例 如,闪存)3500和调制解调器3600。控制器3400和非易失性存储器3500可 如上面参照图1至图7所述的实现。因此,根据本发明的一些实施例,包括 存储器控制器3400和非易失性存储器3500的存储器系统可包含在电子系统 3000,如(但不限于)图形卡、计算机、移动终端、个人数字助理(PDA)、 照相机、游戏机、MP3播放器、电视、DVD播放器、路由器和/或GPS系统 中。
图9示出根据本发明进一步实施例的存储器系统。
根据本发明的 一些实施例,图9示出的存储器系统4000可包括存储器控 制器4200和非易失性存储器装置4400。存储器控制器4200可包括主机接口 4210、闪存接口 4220、处理单元4230和緩沖存储器4240。
主机接口 4210可被构造为根据给定的接口协议与外部装置连接,闪存接口 4220可被构造为根据给定的接口协议与非易失性存储器装置4400连接。 处理单元4230可控制存储器控制器4200的总体操作。緩冲存储器4240可用 于存储从外部装置提供的写入数据(或者被称为编程数据)或者从非易失性 存储器装置4400读取的数据。此外,緩冲存储器4240可用于存储从非易失 性存储器装置4400读出的擦除计数信息(或者,均衡磨损信息)作为种子值。 继续参照图9,尽管图9中没有示出,但是非易失性存储器装置4400可 包括存储单元阵列,在存储单元阵列中,存储单元(或者非易失性存储器存 储单元)按照行和列排列。非易失性存储器装置4400还可包括如上所述的数 据改变单元4410。即,数据改变单元4410不是被设置在存储器控制器4200 中,而是可以被设置在非易失性存储器装置4400中。数据改变单元4410可 改变将被存储在存储单元阵列中的数据,并将从存储单元阵列读出的数据恢 复为原始数据。
图IO是示出图9所示的非易失性存储器装置的框图。 参照图10,非易失性存储器装置4400可包括数据改变单元4410、存储 单元阵列4420、数据寄存器4430、数据输入緩冲器4440和数据输出緩冲器 4450。
数据改变单元4410可由如上所述的实施例之一形成。例如,数据改变单 元4410可形成为利用擦除计数值作为种子值来产生随机图案数据。在这种情 况下,在写/读操作之前,可从存储器控制器4200将种子值提供给数据改变 单元4410。数据改变单元4410可基于种子值(或者擦除计数值)改变经数 据输入緩冲器4440提供的输入数据DI。数据寄存器4430可将经数据改变单 元4410提供的数据,即改变的数据存储在存储单元阵列4420中。数据寄存 器4430可从存储单元阵列4420读取数据,并将读出的数据输出给数据改变 单元4410。数据改变单元4410可基于种子值(或者擦除计数值)将从数据 寄存器4430提供的数据恢复为原始数据,并经数据输出緩沖器4450将其提 供给外部(即,存储器控制器)。
外部提供的数据DI可经数据路径①被直接发送给数据寄存器4430,而 不经过数据改变单元4410。可选地,外部提供的数据DI可经数据改变单元 4410的旁路路径②被发送给数据寄存器4430。在这种情况下,数据改变单元 4410可被构造为使得输入数据DI在不经过任何改变的情况下被传送。由数 据寄存器4430读取的数据可经数据路径③被直接发送给数据输出緩沖器
164450,而不经过数据改变单元4410。可选地,由数据寄存器4430读取的数 据可经数据改变单元4410的旁路路径④被传送给数据输出緩冲器4450。在 这种情况下,数据改变单元4410可被构造为使得读取的数据在不经过任何改 变的情况下被传送。
图11是描述根据本发明示例性实施例的存储器系统的操作的流程图。根 据本发明的存储器系统的数据改变操作可有选择地执行。例如,可仅在存储 器系统,即非易失性存储器装置的条件满足特定条件时才执行数据改变操作。 下面将更充分地描述示例性实施例。
在方框S1000,为存储器系统供电。在上电之后,在方框S1100,存储 器系统可确定擦除计数值ECV是否大于参考值RV。可由处理单元 1430/2430/4230来进行该确定操作。如果确定#^除计#:值ECV小于或等于参 考值RV,则在方框S1200,可根据处理单元的控制使数据改变单元无效。如 果确定擦除计数值ECV大于参考值RV,则在方框S1300,可根据处理单元 的控制使数据改变单元有效。之后,可基于外部操作请求对非易失性存储器 装置进行访问。
如图11中所描述的,如果数据改变操作被有选择地进行,则图1中所示 的数据改变单元1450可被构造为执行在不进行任何改变的情况下传送数据 的旁路功能。
图12是示出根据本发明进一步示例性实施例的存储器系统的框图。 在每一存储单元中不存储1比特数据,而是只能存储N比特数据(以下, 称为多比特数据)(N是大于或等于2的整数)。当多比特数据被存储在存储 单元中时,根据本发明的数据改变操作将如下进行。为了描述筒单,假设每 一存储单元中存储2比特数据。
多比特数据可由LSB (最低有效位)数据和MSB (最高有效位)数据形 成。将被存储在存储单元阵列MCA中的LSB数据可被存储在存储器系统的 緩冲存储器BUF中。LSB可被存储在緩冲存储器BUF中,直到对MSB数据 的写操作被请求。当对MSB数据的写操作被请求,即如果MSB数据被存储 在緩冲存储器BUF中时,经数据改变单元同时改变LSB和MSB数据,并且 改变的数据被存储在存储单元阵列MCA中。可由数据改变单元通过考虑在 LSB和MSB数据净皮存储在存储单元中时确定的存储单元的应力(stress)或 者存储单元分布来改变LSB和MSB数据。如果每一存储单元中存储4比特数据,则根据图12中描述的方式将较低
的2比特数据同时存储在存储单元阵列MCA中,然后根据图12中描述的方 式将较高的2比特数据同时存储在存储单元阵列MCA中。
在根据本发明的存储器系统中,能够利用特定种子值代替均衡磨损信息 (即,擦除计数值),来产生随机图案数据。这样的特定种子值可被存储在非 易失性存储器装置中。该特定种子值可经各种方式被存储在非易失性存储器 装置中。例如,如图13A所示,特定种子值被存储在存储单元阵列MCA的 备用区域中,改变的数据被存储在主区域中。可选地,如图13B所示,特定 种子值可与改变的数据一起被存储在存储单元阵列MCA的主区域中。
在示例性实施例中,根据本发明,存储器系统的数据改变功能可仅用于 管理弱的存储单元。换言之,当在读取/编程操作中关于任何存储单元(对应 于一页或者一个存储块)产生错误时,可仅对错误的存储单元应用数据改变 功能。用于应用了数据改变功能的存储单元的信息可由处理单元来管理并被 存储在非易失性存储器装置中。
在示例性实施例中,种子值可在每次擦除操作被执行时改变。但是,种 子值的改变不限于此。例如,种子值可在每次读取操作被执行时改变。可管 理任何存储块的读取计数值并使用读取计数值作为种子值。在这种情况下, 读取计数值可在处理单元的控制下被管理,并被临时存储在緩沖存储器中。 存储在緩沖存储器中的读取计数值可被周期性地存储在非易失性存储器装置 的任何区域,例如元区域(meta region)中。当突然断电时,存储在緩沖存 储器中的读取计数值可能被破坏。这意味着存储在非易失性存储器装置中的 读取计数值不同于存储在缓沖存储器中的被破坏的读取计数值。存储在非易 失性存储器装置中的读取计数值可经下面的方法被补偿。
图14是示出如果发生突然断电则补偿读取计数数据的方法的流程图。
在方框S2100,假设在存储器系统的操作期间在存储器系统中发生突然 断电。如果发生突然断电,则非易失性存储器装置保持数据,但是緩沖存储 器丢失存储在其中的数据。因此,当发生突然断电时,存储在緩冲存储器中 的读取计数数据被丟失,而存储在非易失性存储器装置中的读取计数数据被保持。
在存储器系统的初始化操作中,存储在非易失性存储器装置中的读取计 数数据被加载到緩沖存储器中。每次进行非易失性存储器装置的读取操作时,存储在緩冲存储器中的读取计数数据增加。
否则,仅通过另外的闪存编程操作来更新非易失性存储器装置中存储的 读取计数数据。因此,由于如果发生突然断电,则存储在緩沖存储器中的读 取计数数据被丢失,所以无法知道与突然断电时对应的读取计数数据。根据 本发明的 一些实施例的存储器系统设置有能够在发生突然断电时补偿读取计 数数据的方法。
在方框S2200,存储器系统再次通电。这里,通电操作是在突然断电之
后激活的初始化操作。在方框S2300,读取计数数据从非易失性存储器装置
被加载到緩沖存储器。
在方框S2400,对存储块执行读取操作。在方框S2500,检测包括存储 块的区段(section )。这里,该区段包括多个存储块(例如,四个存储块BLK1 ~ BLK4 )。
在方框S2600,存储器系统补偿包括在检测的区段中的所有存储块的读 取计数数据。例如,假设读取计数数据的闪存编程循环为100,检测的区段 为第一区段,并且在补偿存储块BLK1 BLK4之前的读取计数数据如表1中所示。
区段块读取计数读取计数
补偿之前补偿之后
BLK1120(120+50)
1BLK2319(319+50)
BLK3418(418+50)
BLK4502(502+50)
在表1中,读取计数数据的补偿值被设置为50, 50是闪存编程循环100 的中间值。补偿之后的读取计数数据被分别设置为170、 369、 468和552。 但是,根据本发明的进一步实施例,读取计数数据的补偿值可被设置为闪存 编程循环的范围内的其它值。
在示例性实施例中,补偿读取计数值的方法可应用于擦除计数值。 这里,闪存编程循环指示存储在緩沖存储器中的读取计数数据被周期性 地编入非易失性存储器装置的循环。例如,在编程循环为IOO的情况下,存 储器系统每次读取计数达到100、 200、 300等时将读取计数数据更新到非易
19失性存储器装置。在编程循环为1000的情况下,存储器系统每次读取计数数
据达到1000、 2000、 3000等时将读取计数数据更新到非易失性存储器装置。 在上述数据改变功能应用于存储器系统的情况下,可防止或减小阈值电 压分布由于编程应力或者电荷损失而变宽的可能性。例如,在没有使用数据 改变功能的情况下,如图15A所示,阈值电压分布P3在电荷损失之后可能 变宽为阔值电压分布P3',从而靠近邻近的阈值电压分布P2或者与邻近的阈 值电压分布P2重叠。另一方面,在使用根据本发明的数据改变功能之后,如 图15B所示,阈值电压分布P3可在电荷损失之后改变为阈值电压分布P3,从 而不与邻近的阔值电压分布P2重叠。换言之,如果使用根据本发明的数据改 变功能,则尽管发生电荷损失,仍然能够更均匀地保持阔值电压分布。这意 味着通过使强加于每一存储单元的编程应力均衡,每一阔值电压分布变得更 均匀。此外,通过使强加于每一存储单元的编程应力均衡,每一存储块中的 存储单元的阈值电压分布变得更均匀。此外,通过随机改变编程数据获得的 编程应力的均衡可使"0"和'T,比特能够被均匀地写到每一存储单元。当 写入每一存储单元的比特变得均匀时,相邻存储单元之间的耦合(coupling) 可被减小。
在根据本发明的存储器系统中,可利用PN序列产生器、线性反馈移位 寄存器(LFSR)、 CRC产生器/检验器等来产生随机图案数据。PN序列产生 器、线性反馈移位寄存器(LFSR)、 CRC产生器/检验器的示例性实施例分别 在图16A、图16B和图16C中示出。图16A至图16C中示出的示例性实施例 的操作是本领域所公知的,因此省略了其描述。
在实质上不脱离本发明的原理的情况下,可对实施例进行各种变化和修 改。所有这样的变化和修改意图被包括在权利要求所限定的本发明的范围内。
权利要求
1、一种存储器系统,包括非易失性存储器;和存储器控制器,被构造为对将被写到非易失性存储器的数据与随机图案进行逻辑组合,以产生编码的数据并将编码的数据编入非易失性存储器中。
2、 根据权利要求1所述的存储器系统,其中,存储器控制器还被构造为基于参考值产生随机图案。
3、 根据权利要求2所述的存储器系统,其中,所述参考值与非易失性存储器中的块相关联,编码的数据将被编入该块中;存储器控制器还被构造为
4、 根据权利要求3所述的存储器系统,其中,所述参考值是擦除计数值。
5、 根据权利要求2所述的存储器系统,其中,存储器控制器包括多个随机图案产生器;和选择器,被构造为响应于所述参考值选择所述随机图案产生器之一的输出作为随机图案。
6、 根据权利要求2所述的存储器系统,其中,存储器控制器包括随机图案产生器,可操作以响应于与所述参考值对应的种子值来产生随机图案。
7、 根据权利要求2所述的存储器系统,其中,存储器控制器包括本地存储器,其上存储有多个随机图案;和选择器,被构造为响应于所述参考值选择所述多个随机图案之一作为随机图案。
8、 根据权利要求2所述的存储器系统,其中,存储器控制器包括本地存储器,其上存储有分别与多个随机图案相关联的多个数据图案;和图案检测器,被构造为将待写到非易失性存储器的数据与所述多个数据图案之一匹配,其中,存储器控制器被构造为选择所述多个随机图案中的与所述多个数据图案中的 一个数据图案相关联的 一个随机图案作为随机图案,所述一个数据图案与将被写到非易失性存储器的数据匹配。
9、 根据权利要求2所述的存储器系统,其中,存储器控制器还被构造为从非易失性存储器读取编码的数据并利用随机图案将编码的数据解码。
10、 根据权利要求9所述的存储器系统,其中,存储器控制器还被构造为通过对编码的数据与随机图案进行逻辑组合来将编码的数据解码。
11、 根据权利要求IO所述的存储器系统,其中,存储器控制器还被构造为通过对将被写到非易失性存储器的数据和随机图案执行异或操作来对将被写到非易失性存储器的数据与随机图案进行逻辑组合,并且通过对编码的数据和随机图案执行异或操作来对编码的数据与随机图案进行逻辑组合。
12、 根据权利要求1所述的存储器系统,其中,将被写到非易失性存储器的数据包括纠错数据。
13、 一种操作非易失性存储器系统的方法,包括提供将被写到非易失性存储器的数据;和通过改变将被写到非易失性存储器的数据并将改变的数据编入非易失性存储器来使非易失性存储器中的存储单元的编程应力均衡。
14、 根据权利要求13所述的方法,还包括基于参考值改变待写数据。
15、 根据权利要求14所述的方法,其中,所述参考值与非易失性存储器中的块相关联,改变的数据将被编入该块中,所述方法还包括在非易失性存储器中的与所述参考值相关联的块被擦除时改变所述参考值。
16、 根据权利要求15所述的方法,其中,所述参考值是擦除计数值。
17、 根据权利要求15所述的方法,其中,所述参考值和改变的数据存储在非易失性存储器的不同区域中。
18、 根据权利要求15所述的方法,其中,所述参考值和改变的数据存储在非易失性存储器的相同区域中。
19、 根据权利要求13所述的方法,其中,通过改变将被写到非易失性存储器的数据并将改变的数据编入非易失性存储器来使非易失性存储器中的存储单元的编程应力均衡的步骤包括当数据改变条件满足时改变待写数据。
20、 根据权利要求19所述的方法,其中,所述数据改变条件是与非易失性存储器中的块相关联的擦除计数值超过擦除计数阈值,其中改变的数据将被编入该块中。
21、 根据权利要求13所述的方法,其中,非易失性存储器的每一存储单元被构造为存储N比特数据,其中N大于1,其中改变待写数据的步骤包括改变数据的最高有效位部分;和改变数据的最低有效位部分。
22、 根据权利要求13所述的方法,其中,通过改变将被写到非易失性存储器的数据并将改变的数据编入非易失性存储器来使非易失性存储器中的存储单元的编程应力均衡的步骤包括当在非易失性存储器中的块中发生读取或编程错误时改变待写数据,其中改变的数据将被编入该块中。
23、 一种非易失性存储器,包括数据改变单元,被构造为接收将被写到非易失性存储器的数据,通过改变将被写到非易失性存储器的数据来使非易失性存储器中的存储单元的编程应力均衡,并将改变的数据编入非易失性存储器。
24、 根据权利要求23所述的非易失性存储器,其中,数据改变单元还被构造为基于参考值改变待写数据。
25、 根据权利要求24所述的非易失性存储器,其中,所述参考值与非易失性存储器中的块相关联,改变的数据将被编入该块中;其中,数据改变单元还被构造为在非易失性存储器中的与所述参考值相关联的块被擦除时改变所述参考值。
全文摘要
提供一种非易失性存储器及对将写入其中的数据编码的系统和方法。通过提供将被写到非易失性存储器的数据,对将被写到非易失性存储器的数据与随机图案进行逻辑组合以产生编码的数据,并将编码的数据编入非易失性存储器,来操作非易失性存储器系统。
文档编号G11C16/10GK101562043SQ20091013204
公开日2009年10月21日 申请日期2009年4月15日 优先权日2008年4月15日
发明者吴和锡, 崔珍赫 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1