存储系统及其编程方法和包括存储系统的计算系统的制作方法

文档序号:6782365阅读:113来源:国知局
专利名称:存储系统及其编程方法和包括存储系统的计算系统的制作方法
技术领域
这里所公开的本发明涉及一种半导体存储器件,更具体地,涉及一 种包括闪速存储器件的存储系统。
背景技术
近年来,诸如易失性存储器和非易失性存储器之类的存储器件很快 应用于诸如MP3播放器、PMP、移动电话、笔记本计算机、PDA等之 类的移动设备中。这种移动设备逐渐需要大容量存储能力,以便提供各 种功能,例如移动图片再现功能。已经进行了多种努力来满足这种需要。 作为一种努力,己经提出了一种多比特存储器件,所述多比特存储器件 在一个存储单元中存储两个或更多数据比特。在题为"NON-VOLATILE MEMORY DEVICE HAVmG MULTI-BIT CELL STRUCTURE AND A METHOD OF PROGRAMMING SAME"的美国专利No.6,122,188、题为 "INTEGRATED CIRCUIT MEMORY DEVICE FOR STORING A MULTI-BIT DATA AND A METHOD FOR READING STORED IN THE SAME"的美国专利No. 6,075,734、以及题为"MULTI-BIT MEMORY CELL ARRAY OF A NON-VOLATILE SEMICONDUCTOR MEMORY DEVICE AND METHOD FOR DRIVING THE SAME"的美国专利No. 5,923,587中公开了用于在一个存储单元中存储多比特数据的示例性多 比特存储器件,通过引用将其全部内容结合在本文中。在存储单元存储1比特数据的情况下,所述存储单元具有在两个阈 值电压分布的任一个中的阈值电压。即,存储单元具有分别表示数据"l" 和"0"的两种状态的任一个。另一方面,在存储2比特数据的存储单元的 情况下,所述存储单元具有四种阈值电压分布之一中的阈值电压。艮P,
存储单元具有分别表示数据"ll"、数据"10"、数据"01"和数据"00"的四种
状态之一。
可以按照各种方式实现在存储单元中对多比特数据编程的方法。例 如,在每一个存储单元中存储的两个数据比特分别由页数据(在下文中 称作LSB数据(或低位数据)和MSB (或者高位数据)组成。在这种 情况下,首先,对存储单元中的LSB数据比特编程,然后对所述存储单 元中的MSB数据比特编程。在下文中,将对存储器中的多个数据编程 的方式称为页单位编程,下面将对其进行更加全面地描述。
可以将一个存储单元编程为具有"ll"、 "10"、 "00"和"01"状态之一。
为了方便起见,假设"ir,、 "io"、 "oo"和"or状态分别与sto、 sti、 st2
和ST3相对应。具有"ll"状态的存储单元是已擦除的存储单元,以及具
有"io"状态的存储单元的阈值电压比具有"ir状态的存储单元的阈值电
压更高。具有"00"状态的存储单元的阈值电压比具有"10"状态的存储单
元的阈值电压更高,以及具有"or状态的存储单元的阈值电压比具有
"00"状态的存储单元的阈值电压更高。如果在这种假设下进行LSB程序 操作,如图1A所示,存储单元具有已擦除状态或"10"状态(ST1)。如 果在所述LSB程序操作之后执行MSB程序操作,如图1B所示,具有"l 1" 状态的存储单元具有已擦除状态或"01"状态(ST3),而具有"10"状态 (ST1)的存储单元具有"10"状态(ST1)或"00"状态(ST2)。即,当
lsb数据为"r时将存储单元编程为"or状态,而当lsb数据为"0"时将 存储单元编程为"oo"状态。
当存储多比特数据时将出现问题,下面将更加全面地描述。
为了便于描述,将描述在一个存储单元中存储2比特数据的操作。 如上所述,首先,可以将低位数据比特存储在存储单元中。然后,可以 将高位数据比特存储在存储单元中。在将高位数据比特编程到存储单元 中的同时断开电源的情况下,取消了加电时最后编程的页的程序操作。另一方面,假设在将高位数据比特编程到存储单元中的同时断开电源的 情况下,先前存储的低位数据比特可能丢失。这是因为在高位数据比特 的程序操作时,与低位数据比特相对应的阈值电压改变。

发明内容
本发明涉及一种存储系统和编程方法,能够防止低位数据由于高位 数据的程序故障导致丢失。
本发明还涉及提供一种存储系统和数据恢复方法,能够恢复由于加 电故障导致丢失的低位数据。
本发明的一个方面是提供一种对多比特闪速存储器件编程的方法, 所述多比特闪速存储器件包括存储单元,每一个存储单元均配置成存储 多比特数据。所述方法包括确定待存储到选定存储单元中的数据是否
是LSB数据;以及如果待存储到选定存储单元中的数据不是LSB数据,
将所述选定存储单元中存储的低位数据备份到所述多比特闪速存储器件 的备份存储块中。
所述方法还可以包括在将所述低位数据备份到所述备份存储块中 之后,对待存储到所述选定存储块的数据编程。
所述方法还可以包括如果将待存储到选定存储单元的数据确定是 LSB数据,对待存储到选定存储单元中的数据编程,而不进行备份操作。
所述闪速存储器件可以包括从以下组中选择的存储器件,所述组包
括NAND闪速存储器件、NOR闪速存储器件、CTF存储器件和相变 存储器件。
所述存储单元的每一个均可以配置成存储2比特数据。 备份到所述备份存储块中的低位数据可以是LSB数据。 所述存储单元的每一个均可以配置成存储M比特数据,其中M是
大于或等于3的整数。
备份到所述备份存储器的低位数据可以包括来自以下组的全部或至
少一个数据比特,该组包括第一数据比特至第(M-l)数据比特。
本发明的另一个方面是提供一种对多比特闪速存储器件编程的方
法,所述多比特闪速存储器件包括存储单元,每一个存储单元均配置成存储多比特数据。所述方法包括对待存储到选定存储单元的数据编程; 确定待存储到选定存储单元中的数据是否是LSB数据;以及如果确定待
存储到选定存储单元中的数据是LSB数据,将所述选定存储单元中存储
的低位数据备份到所述多比特闪速存储器件的备份存储块中。
所述存储单元的每一个均可以配置成存储2比特数据。 备份到所述备份存储块中的低位数据可以是LSB数据。 所述存储单元的每一个均可以配置成存储M比特数据,其中M是
大于或等于3的整数。
备份到所述备份存储器的低位数据可以包括来自以下组的全部或至
少一个数据比特,该组包括第一数据比特至第(M-l)数据比特。
本发明的另一个方面是提供一种对多比特闪速存储器件编程的方
法,所述多比特闪速存储器件包括存储单元,每一个存储单元均配置成
存储多比特数据。所述方法包括基于页偏移值,确定待存储到选定存 储单元的数据是否是待备份的数据;以及如果确定待存储到选定存储单 元中的数据是待备份的数据,将基于待存储到所述选定存储块中的数据 的起始页属于页偏移值的所述选定存储块的低位页数据备份到备份存储 块中。
如果确定待存储到所述选定存储块中的数据是待备份的数据,可以 将属于所述页偏移值的所述选定存储块的低位页数据备份到所述备份存 储块中。
如果待存储到所述选定存储块中的数据不是待备份的数据,可以将 待存储的数据编程在所述选定存储块中。
所述闪速存储器件可以是NAND闪速存储器件。 所述多比特数据可以是M比特数据,其中M是大于或等于2的整数。
在一些情况下,每一个所述存储块均可以具有一个页偏移值。 在一些情况下,每一个所述存储器均可以具有至少两个不同的页偏 移值。
如果在加电时对于所述选定存储块检测到电源故障,可以将待备份 到所述备份存储块的数据和所述选定存储块的有效数据复制到自由的存储块。
本发明的另一个方面是提供一种存储系统,所述存储系统包括多 比特闪速存储器件,所述多比特闪速存储器件包括多个存储块;以及存 储器控制器,配置成控制所述多比特闪速存储器件。所述存储器控制器 配置成确定是否存在基于待编程到所述多比特闪速存储器件中的数据的 起始地址属于页偏移值的低位数据。并且当确定存在基于待编程到所述 多比特闪速存储器件中的数据的起始地址属于页偏移值的低位数据时, 所述存储器控制器配置成控制所述多比特闪速存储器将属于页偏移值的 低位数据从所述存储块备份到自由存储块中。
所述存储器控制器可以配置成控制所述多比特闪速存储器件,使得 当不存在基于待编程数据的起始地址属于页偏移值的低位数据时,将待 编程数据在所述选定存储块中编程。
所述存储单元的每一个均可以配置成存储2比特数据。
待备份到所述备份存储块中的低位数据可以是LSB数据。
所述存储单元的每一个均可以配置成存储M比特数据,其中M是 大于或等于3的整数。
待备份到所述备份存储器的低位数据可以是从以下组中选择的数据 比特,所述组包括第一数据比特至第(M-l)数据比特。
所述存储系统可以配置成检测对于所述选定的存储块是否发生电源 故障。
所述存储器控制器可以配置成控制所述多比特闪速存储器件,使得 当检测到所述选定存储块的电源故障时,将备份到所述备份存储块的数 据和所述选定存储块的有效数据复制到自由存储块中。
所述多比特闪速存储器件可以是NAND闪速存储器件。
所述多比特闪速存储器件和所述存储器控制器可以组成 OneNAND 闪速存储器件。
本发明的另一个方面是提供一种存储系统,包括多比特闪速存储 器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器, 配置成控制所述多比特闪速存储器件。所述存储器控制器配置成将通过 对待编程数据的地址与页偏移值相加获得的地址确定为待编程数据的起始地址。
本发明的另一个方面是提供一种存储系统,包括多比特闪速存储 器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器, 配置成控制所述多比特闪速存储器。所述存储器控制器配置成分配至少 一个页给自由页,其中待编程到所述至少一个页中的数据是影响低位数 据的数据。
本发明的另一个方面是提供一种存储系统,包括多比特闪速存储 器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器, 配置成控制所述多比特闪速存储器。所述存储器控制器配置成确定待存
储到所述多比特闪速存储器件中的数据是否是元数据(metadata);以及 其中当待存储到所述多比特闪速存储器件中的数据确定为元数据时,所 述存储器控制器配置成将通过所述元数据的地址和页偏移值的相加获得 的地址确定为所述元数据的起始地址。
可以将所述存储器控制器配置成当将待存储到所述多比特存储器件 中的数据确定为不是元数据时,确定是否存在基于待编程到所述多比特 闪速存储器件的数据的起始地址属于页偏移值的低位数据。
可以将所述存储器控制器配置成控制所述多比特闪速存储器件,使 得当存在基于待编程到所述多比特闪速存储器件中的数据的起始地址属 于页偏移值的低位数据时,将基于待编程数据的起始地址属于页偏移值 的低位数据备份到所述存储块的自由存储块中。
可以将所述存储器控制器配置成控制所述多比特闪速存储器件,使 得当不存在基于待编程数据的起始地址属于页偏移值的低位数据时,将 待编程数据编程到所述选定的存储块中。
本发明的另一个方面是提供一种存储系统,包括多比特闪速存储 器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器, 配置成控制所述多比特闪速存储器。所述存储器控制器配置成确定待存 储到所述多比特闪速存储器件中的数据是否是元数据;以及当待存储到 所述多比特闪速存储器件中的数据确定为元数据时,所述存储器控制器 配置成分配至少一个页给自由页,其中待编程到所述至少一个页中的数 据是影响低位数据的数据。可以将所述存储器控制器配置成当将待存储到所述多比特存储器件 中的数据确定为不是元数据时,确定是否存在基于待编程到所述多比特 闪速存储器件中的数据的起始地址属于页偏移值的低位数据。
可以将所述存储器控制器配置成控制所述多比特闪速存储器件,使 得当存在基于待编程的数据的起始地址属于页偏移值的低位数据时,将 基于待编程数据的起始地址属于页偏移值的低位数据从所述存储块备份 到自由存储块中。
可以将所述存储器控制器配置成控制所述多比特闪速存储器件,使 得当不存在基于待编程数据的起始地址属于页偏移值的低位数据时,将 待编程数据编程到所述选定的存储块中。


将参考以下附图描述根据本发明的非限制性和非完全性实施例,其 中贯穿全图相似的参考数字表示相似的部分,除非另有说明。在附图中 图1是用于描述根据传统的页单位程序操作的编程方法的图。 图2是示出了根据本发明方面的存储系统的实施例的方框图。 图3至5是用于描述对多比特闪速存储器件的页单位编程的各种方 法的实施例的图。
图6是用于描述根据本发明方面的存储系统的程序操作实施例的流 程图。
图7和8是用于描述根据本发明方面的存储系统的程序操作的实施 例的图。
图9是用于描述根据本发明方面的存储系统的程序操作时的数据备 份操作的实施例的图。
图10是用于描述在页偏移值彼此不同的情况下、根据本发明方面的 存储系统的程序操作时的数据备份操作的实施例的图。
图11是用于描述根据本发明其他方面的存储系统的程序操作的实 施例的图。
图12是用于描述对在高位数据程序操作时引起的电源故障导致丢 失的低位数据进行恢复操作的实施例的流程图。图13是示出了根据数据恢复操作的实施例的数据流程的图。 图14是用于描述在根据本发明方面的存储系统中的程序操作时、基 于程序数据类型防止低位数据丢失的操作的实施例的流程图。
图15是用于描述每个单元存储3比特数据的闪速存储器件的数据备
份操作的实施例的图。
图16是示出了根据本发明另一个方面的计算系统的实施例的方框图。
图17是示出了根据本发明另一个方面的闪速存储器件的实施例的
方框图。
具体实施例方式
下面将参考附图更加详细地描述根据本发明方面的系统和方法的优 选实施例,其中示出了闪速存储器件作为示例,用于说明根据本发明的 结构和操作特征。然而,本发明可以按照不同的形式来实现,并且不应 该设想为局限于这里阐述的实施例。贯穿附图,相似的参考数字表示相 似的元件。
图2是示出了根据本发明方面的存储系统的实施例的方框图。 参考图2,存储系统包括闪速存储器件100和存储器控制器200。例 如,闪速存储器件100和存储器控制器200可以组成存储卡。在这种情 况下,存储器控制器200可以配置成按照各种接口方式与外部装置连接。 替代地,闪速存储器件100和存储器控制器200可以组成由单个芯片构 成的OneNANDW闪速存储器件。但是,本领域普通技术人员应该理解, 根据本发明的存储系统不局限于在该公开中所提供的特定实施例。
闪速存储器件100可以是存储多比特数据的多比特闪速存储器件。 闪速存储器件100可以配置成在存储器控制器200的控制下,执行编程、 擦除和读取操作。例如,闪速存储器件100可以是诸如NAND闪速存储 器件、CFT存储器件、NOR闪速存储器件、相变存储器件等之类的非易 失性存储器件。存储器控制器200可以配置成响应于来自外部器件(例 如主机)的命令来控制所述闪速存储器件。存储器控制器200可以包括 中央处理单元(CPU)210、用于存储在固件中实现的一组指令的存储器220、缓冲存储器230和闪存接口 240。尽管图中未示出,在图2中的存 储系统组成存储卡的情况下,存储器控制器200还可以包括诸如安全块、 加密/解密块等之类的功能块,这些功能是执行所述存储卡的功能所需 的。
当从外部装置接收命令时,CPU 210可以基于在存储器220中存储 的固件,控制与所述输入命令相对应的操作程序。在存储器220中存储 的固件可以包括本领域公知的闪存翻译层(FTL, flash translation layer)。 FTL可以包括地址映射功能、坏块管理功能、电源故障恢复功能、根据 本发明的数据备份功能(用于防止低位数据丢失)等。存储器220可以 是易失性存储器或非易失性存储器。可以将在存储器220中存储的固件 存储在闪速存储器件100中。在这种情况下,在加电时可以将所述固件 从闪速存储器件100加载到存储器220上。缓冲存储器230可以用于对 待存储到闪速存储器件100中的数据或从闪速存储器件IOO读取的数据 进行缓冲。闪存接口 240可以基于CPU 210的控制,利用读取/编程/擦 除命令向闪速存储器件100传输地址和/或数据。
当要求程序操作时,根据本发明的一个方面,存储器控制器200可 以确定待存储到与所要求的程序操作相对应的页中的数据是否是多比特 数据的LSB数据。如果确定待存储的数据为LSB数据比特,那么根据 传统的编程程序,存储器控制器200可以向闪速存储器件100传输命令、 地址和数据。如果待存储的数据不是LSB数据比特,那么存储器控制器 200可以控制闪速存储器件IOO,使得将与待存储数据有关的存储单元的 数据备份到闪速存储器件100的自由存储块中。可以在程序操作之前或 对LSB数据比特编程之后执行数据备份操作,这将随后更加全面地描 述。利用这种数据备份操作,可以防止低位数据比特由于高位数据比特 的程序操作时引起的电源故障导致丢失。另外,可以对由于高位数据比 特的程序操作时引起的电源故障导致丢失的低位数据比特进行恢复。这 将随后更加全面地描述。
图3至5是用于描述对多比特闪速存储器件的页单位编程的各种方 法的实施例的图。为了便于描述,假设将2比特数据存储在存储单元中。 在下文中,在存储单元中存储的两个数据比特中, 一个称作低位数据比特(或者LSB数据比特),另一个称作高位数据比特(或者MSB数据比 特)。本领域普通技术人员应该理解,可以将这些方法扩展到具有多于2 比特的数据。
多个存储单元可以与每一条字线相连。在图3中,示出了与三条字 线WLO至WL2和一条位线BL相连的三个存储单元。但是,本领域普 通技术人员应该明白更多个数的存储单元与每一条字线相连。在与每一 条字线相连的各个存储单元中存储的数据比特可以组成两个页数据。例 如,在与字线WLO相连的各个存储单元中存储的LSB/低位数据比特可 以组成LSB/低位页数据,而在与所述字线WLO柑连的各个存储单元中 存储的MSB/高位数据比特可以组成MSB/高位页数据。
如图3所示,可以将第一页数据比特0P (作为LSB页数据)和第 二页数据比特1P (作为MSB页数据)可以连续地存储在与字线WLO 相连的存储单元中。在字线WL1的情况下,第三页数据比特2P (作为 LSB页数据)和第四页数据比特3P (作为MSB页数据)可以连续地存 储在与所述字线WL1相连的存储单元中。同样地,在字线WL2中,第 五页数据4P (作为LSB页数据)和第六页数据比特5P (作为MSB数 据)可以连续地存储在与字线WL2相连的存储单元中。如从图3的表 中所理解的,确定字线编号WN、页编号PN和表示LSB数据和MSB 数据的数据类型DT之间的关系,将LSB页数据和MSB页数据存储在 相同行/字线的存储单元中。换句话说,在相同存储单元中存储的LSB 页和MSB页之间的距离(在下文中称作"页偏移值")是"1"。在所述页 偏移值是"l"的情况下,可以将LSB页数据和MSB页数据连续地编程在 存储单元中。
参考图4的页单位编程方法,可以将第一页数据0P、第二页数据 1P和第三页数据2P连续地编程在分别与字线WLO、 WL1和WL2相连 的存储单元中。然后,可以将第四页数据3P、第五页数据4P和第六页 数据5P连续地编程在分别与字线WLO、 WL1和WL2相连的存储单元 中。在这种情况下,在相同存储单元中存储的LSB页和MSB页之间的 距离(即页偏移值)是"3"。在页偏移值是"3"的情况下,可能没有将LSB 页数据和MSB页数据连续地编程在存储单元中。参考图5的页单位编程方法,不会恒定地保持页偏移值,而是将其
划分为不同的值。例如,如图5所示,页偏移值包括"2"和"4"。如从图5 所理解的,可以将第一页数据0P和第二页数据1P编程在分别与字线 WL0和WL1相连的存储单元中。然后,可以将第三页数据2P和第四页 数据3P编程在分别与字线WL0和WL1相连的存储单元中。在这种情 况下,将LSB页和MSB页之间的页偏移值存储在相同的单元中,即页 偏移值是"2"。另一方面,可以将第五页数据4P至第八页数据7P连续地 编程在分别与字线WL2至WL5相连的存储单元中。然后,可以将第九 页数据8P至第十二页数据IIP连续地编程在分别与字线WL2至WL5 相连的存储单元中。在这种情况下,在相同存储单元中存储的LSB页和 MSB页之间的距离(即页偏移值)是"4"。
图6是用于描述根据本发明方面的存储系统的程序操作实施例的流 程图,图7和8是用于描述根据本发明方面的存储系统的程序操作的实 施例的图,以及图9是用于描述根据本发明方面的在存储系统的程序操 作时的数据备份操作的实施例的图。在下文中将参考附图更加全面地描 述根据本发明方面的存储系统的程序操作。在这些实施例中,假设在相 同存储单元中存储的LSB页和MSB页之间的距离(即页偏移值)是"4"。
将在这种假设下描述根据本发明的存储系统的程序操作。
参考图6,当要求程序操作时,可以将命令、地址和数据从外部装 置(例如主机)提供给存储器控制器200 (B310)。此时,输入数据可以 存储在缓冲存储器230中。为了便于描述,如图7所示,假设将用"A" 标记的数据OP至4P存储在闪速存储器件100的选定存储块中。存储器 控制器200可以确定是否将数据预先存储在待存储输入数据的存储单元 中。此外,根据本发明方面的存储器控制器200可以确定待存储在与所 要求的程序操作相对应的页中的数据是否是2比特数据的LSB比特 (B320)。如果待存储的数据是LSB数据,存储器控制器200可以将程 序命令与地址和数据一起发送给闪速存储器件100 (B340)。闪速存储器 件100可以响应与地址和数据一起发送的程序命令而执行程序操作。
另一方面,如果待存储的数据不是LSB数据比特,可以基于当前存 储的数据的起始页对于属于页偏移值的LSB页执行数据备份操作。例如,在图7和8的CASE1,可以基于由"B"标记的数据的起始页5P,将 属于页偏移值(OFFSET=4)的LSB页数据IP至3P备份到自由存储块 的相应页IP至3P。这是为了防止先前存储的LSB数据由于在由"B"标 记的数据的程序操作时的电源故障导致丢失。可以按照各种方式进行数 据备份操作。例如,可以经由众所周知的回写(copy-back)程序操作将 数据备份到闪速存储器件100的自由存储块。替代地,可以将待备份数 据经由存储器控制器200存储在自由存储块的相应页中。这可能需要一 组读取和程序操作。本领域普通技术人员应该明白,可以经由存储器控 制器200的错误检测和校正单元(未示出)进行对于经由读取操作读出 的备份数据的错误检测和校正操作。本领域普通技术人员还应该明白, 数据备份操作不局限于该公开中所述的。在图7和8的CASE2中,可 以基于由"D"标记的数据的起始页6P,将属于页偏移值(OFFSET=4) 的LSB页数据2P和3P备份到自由存储块的相应页2P和3P。另一方面, 在图7和8的CASE3中,因为待存储的数据F是LSB数据比特,存储 器控制器200可以将程序命令与地址和数据一起发送到闪速存储器件 100,而不会进行数据备份操作(B340)。闪速存储器件100可以响应与 地址和数据一起发送的程序命令而执行程序操作。
如从以上描述所理解的,可以防止低位/LSB数据比特由于在高位 /MSB数据比特的程序操作时引起的电源故障导致丢失。
如上所述的数据备份操作可以在程序操作之前执行。另一方面,可 以在对页数据编程之后连续地进行数据备份操作。例如,参考图9,可 以经由步骤B410和B420将页数据编程到闪速存储器件100中。然后, 存储器控制器200可以通过使用页偏移值来确定LSB数据是否包括在存 储的数据内(B430)。如果是,可以根据上述方式将己存储数据的LSB 数据备份到自由存储块中。随后,可以终止程序操作。
如图10所示,图IO是用于描述在页偏移值彼此不同的情况下、根 据本发明方面的存储系统的程序操作时的数据备份操作的实施例的图, 可以将多个(例如两个)页偏移值应用于存储块。也可以使用上述方法 执行这种情况下的数据备份操作。例如,在CASE4,因为待存储数据是 LSB数据,不会执行数据备份操作。然而在CASE5中,因为待存储数据不是LSB数据,执行对于属于页偏移值的LSB页的数据备份操作, 基于待存储数据的起始页来执行所述备份操作。即,可以基于由"D"标 记的数据的起始页IIP将属于页偏移值(OFFSET=2)的LSB页数据9P 备份到自由存储块的相应页9P。
图11是用于描述根据本发明其他方面的存储系统的程序操作的实 施例的图。
为了防止低位页数据当编程高位页数据时引起的电源故障导致丢 失,如图11的CASE6所示,可以将通过将页偏移值(例如6P)和其中 将存储由"B"标记的数据的页编号(例如,6P)相加获得的页编号(例 如10P)确定作为由"B"标记的数据的起始页编号。替代地,在图11的 CASE7中,通过将影响低位页的页设定到自由/空页,可以防止低位数 据的丢失。可以经由页地址的增加来检测自由页。当存储大容量数据(例 如移动图片、MP3文件、图片等)以及小容量数据(例如,元数据)时, CASE6和CASE7是可用的。另外,将CASE7应用于存储系统是可用的, 所述存储系统不会使用自由存储块。
图12是用于描述对于在高位数据程序操作时引起的电源故障导致 丢失的低位数据进行恢复操作的实施例的流程图,以及图13是示出了根 据数据恢复操作的实施例的数据流程的图。
参考图12,如果加电,存储器控制器200可以基于电源故障恢复功 能确定电源故障是否出现(B150)。如果确定不是电源故障,可以终止 数据恢复操作。随后,存储器控制器200可以根据外部装置(例如主机) 的请求控制闪速存储器件100。如果确定是电源故障,如图13所示,存 储器控制器200可以控制闪速存储器件100,以便将存在电源故障的存 储块(即故障存储块)中的有效数据和备份存储块中的备份数据两者都 复制到自由存储块中(B520)。可以经由各种方式进行将数据复制到自 由存储块的操作,例如回写程序方式、反复读取和程序方式(iterative read and program manner)等。可以经由数据备份操作恢复由于电源故障导致 丢失的低位数据。可以经由擦除程序(或者不需要擦除程序)向自由存 储块分配故障存储块和备份存储块。
图14是用于描述在根据本发明的存储系统中的程序操作时、基于程序数据类型、按照不同方式执行用于防止低位数据丢失的操作的实施例 的流程图。
参考图14,存储器控制器200可以确定待存储在闪速存储器件100 中的数据是否是元数据(B610)。在待存储在闪速存储器件100中的数 据是元数据的情况下,存储器控制器200可以根据图11中所述的程序跳 转方式执行程序操作(B620)。利用这种程序方式,可以防止由于在高 位数据的程序操作时产生的电源故障导致的低位数据丢失。另一方面, 在待存储在闪速存储器件100中的数据不是元数据的情况下,存储器控 制器200可以基于参考图6和图9所述的备份方式执行程序操作(B630)。 同样地,通过这种程序方式,'可以防止在高位数据的程序操作时产生的 电源故障导致的低位数据丢失。
图15是用于描述每个单元存储3比特数据的闪速存储器件的数据备 份操作的实施例的图。
在每个单元存储3比特数据的情况下,当存储第二数据比特时和当 存储第三数据比特时的页偏移值可以是不同的。如从图15所理解的,低 位数据比特,即LSB数据比特0P/1P/2P可能由于当将第二数据比特 3P/4P/5P存储为高位数据比特时发生的电源故障导致丢失。在这种情况 下,页偏移值可以是"3"。另夕卜,LSB数据比特3P/4P/5P可能由于当将 第三数据比特6P/7P/8P存储为高位数据比特时发生的电源故障导致丢 失。在这种情况下,页偏移值可以是"6"。因此,当存储M比特数据(例 如,其中M是大于或等于3的整数)时可以根据不同页偏移值执行数据 备份操作。可以按照上述相同方式执行数据备份操作,因此省略其描述。
图16是示出了根据本发明另一个方面的计算系统的实施例的方框图。
参考图16,计算系统可以包括主机300、存储器控制器400和闪速 存储器件500。存储器控制器400可以根据主机300的请求来控制闪速 存储器件500。与图2中所述的存储器控制器不同,图16中的存储器控 制器400可以配置成执行传统的存储器控制功能。主机300可以包括器 件驱动器DD,不只用于执行与存储器控制器400的接口功能,而且根 据上述数据备份方式执行防止丢失低位数据的功能。这种数据备份方式与上述方式相同,因此省略其描述。
图17是示出了根据本发明另一个方面的闪速存储器件的实施例的 方框图。
参考图17,闪速存储器件600可以包括存储单元阵列610、行选择器 电路620、读出放大器和写入驱动器电路630、列选择器电路640和控制逻 辑650。在示例实施例中,闪速存储器件600可以是NAND闪速存储器件。 具体地,控制逻辑650可以包括执行上述数据备份操作所必须的固件651。 控制逻辑650可以经由固件651控制上述数据备份操作。
以上公开的主题应该认为是说明性的而不是限制性的,并且所附权 利要求意欲覆盖落在本发明的真实精神和范围内的全部这些修改、改进 和其他实施例。因此,在法律所允许的最大范围,本发明的范围由所附 权利要求及其等价物的最宽的允许解释来确定,而不应受到前述详细描 述的限制或局限。
权利要求
1. 一种对多比特闪速存储器件编程的方法,所述多比特闪速存储器件包括存储单元,每一个存储单元均配置成存储多比特数据,所述方法包括确定待存储到选定存储单元中的数据是否是LSB数据;以及如果待存储到选定存储单元中的数据不是LSB数据,将所述选定存储单元中存储的低位数据备份到所述多比特闪速存储器件的备份存储块中。
2. 根据权利要求1所述的方法,还包括在将所述低位数据备份到所述备份存储块中之后,对待存储到所述 选定存储块的数据编程。
3. 根据权利要求1所述的方法,还包括如果确定待存储到选定存储单元中的数据是LSB数据,对待存储到所述选定存储单元中的数据编程,而不进行备份操作。
4. 根据权利要求1所述的方法,其中所述闪速存储器件包括从以下 组中选择的存储器件,所述组包括NAND闪速存储器件、N0R闪速存储 器件、CTF存储器件和相变存储器件。
5. 根据权利要求1所述的方法,其中所述存储单元的每一个均配置 成存储2比特数据。
6. 根据权利要求5所述的方法,其中备份到所述备份存储块中的低 位数据是LSB数据。
7. 根据权利要求1所述的方法,其中所述存储单元的每一个均配置 成存储M比特数据,其中M是大于或等于3的整数。
8. 根据权利要求7所述的方法,其中备份到所述备份存储器的低位 数据包括来自以下组的全部或至少一个数据比特,所述组包括第一数 据比特至第(M-1)数据比特。
9. 一种对多比特闪速存储器件编程的方法,所述多比特闪速存储器 件包括存储单元,每一个存储单元均配置成存储多比特数据,所述方法包括对待存储到选定存储单元中的数据编程;确定待存储到选定存储单元中的数据是否是LSB数据;以及如果确定待存储到选定存储单元中的数据是LSB数据,将所述选定存储单元中存储的低位数据备份到所述多比特闪速存储器件的备份存储 块中。
10. 根据权利要求9所述的方法,其中所述存储单元的每一个均配 置成存储2比特数据。
11. 根据权利要求IO所述的方法,其中备份到所述备份存储块中的 低位数据是LSB数据。
12. 根据权利要求9所述的方法,其中所述存储单元的每一个均配 置成存储M比特数据,其中M是大于或等于3的整数。
13. 根据权利要求12所述的方法,其中备份到所述备份存储器的低 位数据包括来自以下组的全部或至少一个数据比特,所述组包括第一 数据比特至第(M-l)数据比特。
14. 一种对多比特闪速存储器件编程的方法,所述多比特闪速存储 器件包括存储单元,每一个存储单元均配置成存储多比特数据,所述方 法包括基于页偏移值,确定待存储到选定存储块中的数据是否是待备份的 数据;以及如果确定待存储到选定存储块中的数据是待备份的数据,将基于待 存储到所述选定存储块中的数据的起始页属于页偏移值的所述选定存储 块的低位页数据备份到备份存储块中。
15. 根据权利要求14所述的方法,其中如果确定待存储到所述选定 存储块中的数据是待备份的数据,将属于所述页偏移值的所述选定存储 块的低位页数据备份到所述备份存储块中。
16. 根据权利要求14所述的方法,其中如果待存储到所述选定存储 块中的数据不是待备份的数据,将待存储的数据编程在所述选定存储块 中。
17. 根据权利要求14所述的方法,其中所述闪速存储器件是NAND闪速存储器件。
18. 根据权利要求14所述的方法,其中所述多比特数据是M比特数据,其中M是大于或等于2的整数。
19. 根据权利要求14所述的方法,其中每一个所述存储块均具有一 个页偏移值。
20. 根据权利要求14所述的方法,其中每一个所述存储块均具有至 少两个不同的页偏移值。
21. 根据权利要求14所述的方法,其中如果在加电时对于所述选定 存储块检测到电源故障,将待备份到所述备份存储块的数据和所述选定 存储块的有效数据复制到自由存储块。
22. —种存储系统,包括多比特闪速存储器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器,配置成控制所述多比特闪速存储器件, 其中所述存储器控制器配置成确定是否存在基于待编程到所述多 比特闪速存储器件中的数据的起始地址属于页偏移值的低位数据;并且 当确定存在基于待编程到所述多比特闪速存储器件中的数据的起始地址 属于页偏移值的低位数据时,所述存储器控制器配置成控制所述多比特 闪速存储器而将属于页偏移值的低位数据从所述存储块备份到自由存储 块中。
23. 根据权利要求22所述的存储系统,其中所述存储器控制器配置 成控制所述多比特闪速存储器件,使得当不存在基于待编程数据的起始 地址属于页偏移值的低位数据时,将待编程数据编程到所述选定存储块 中。
24. 根据权利要求22所述的存储系统,其中所述存储单元的每一个 均配置成存储2比特数据。
25. 根据权利要求24所述的存储系统,其中待备份到所述备份存储 块中的低位数据是LSB数据。
26. 根据权利要求22所述的存储系统,其中所述存储单元的每一个 均配置成存储M比特数据,其中M是大于或等于3的整数。
27. 根据权利要求26所述的存储系统,其中待备份到所述备份存储 块的低位数据是从以下组中选择的数据比特,所述组包括第一数据比特 至第(M-l)数据比特。
28. 根据权利要求22所述的存储系统,其中所述存储系统配置成检 测对于所述选定存储块是否发生电源故障。
29. 根据权利要求28所述的存储系统,其中所述存储器控制器配置 成控制所述多比特闪速存储器件,使得当检测到所述选定存储块的电源 故障时,将备份到所述备份存储块的数据和所述选定存储块的有效数据 复制到自由存储块中。
30. 根据权利要求22所述的存储系统,其中所述多比特闪速存储器 件是NAND闪速存储器件。
31. 根据权利要求22所述的存储系统,其中所述多比特闪速存储器 件和所述存储器控制器组成OneNMD 闪速存储器件。
32. —种存储系统,包括多比特闪速存储器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器,配置成控制所述多比特闪速存储器件, 其中所述存储器控制器配置成将通过待编程数据的地址与页偏移 值相加获得的地址确定为待编程数据的起始地址。
33. —种存储系统,包括多比特闪速存储器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器,配置成控制所述多比特闪速存储器件, 其中所述存储器控制器配置成分配至少一个页给自由页,其中待编 程到所述至少一个页中的数据是影响低位数据的数据。
34. —种存储系统,包括多比特闪速存储器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器,配置成控制所述多比特闪速存储器件, 其中所述存储器控制器配置成确定待存储到所述多比特闪速存储器件中的数据是否是元数据;以及其中当待存储到所述多比特闪速存储器件中的数据被判断为元数据时,所述存储器控制器配置成将通过所述 元数据的地址和页偏移值相加获得的地址确定为所述元数据的起始地 址。
35. 根据权利要求34所述的存储系统,其中所述存储器控制器配置 成当将待存储到所述多比特闪速存储器件中的数据确定为不是元数据 时,确定是否存在基于待编程到所述多比特闪速存储器件的数据的起始 地址属于页偏移值的低位数据。
36. 根据权利要求35所述的存储系统,其中所述存储器控制器配置 成控制所述多比特闪速存储器件,使得当存在基于待编程到所述多比特 闪速存储器件中的数据的起始地址属于页偏移值的低位数据时,将基于 待编程数据的起始地址属于页偏移值的低位数据备份到所述存储块的自 由存储块中。
37. 根据权利要求36所述的存储系统,其中所述存储器控制器配置 成控制所述多比特闪速存储器件,使得当不存在基于待编程数据的起始 地址属于页偏移值的低位数据时,将待编程数据编程到所述选定存储块 中。
38. —种存储系统,包括多比特闪速存储器件,所述多比特闪速存储器件包括多个存储块;以及存储器控制器,配置成控制所述多比特闪速存储器件, 其中所述存储器控制器配置成确定待存储到所述多比特闪速存储 器件中的数据是否是元数据;以及当待存储到所述多比特闪速存储器件 中的数据确定为元数据时,所述存储器控制器配置成分配至少一个页给 自由页,其中待编程到所述至少一个页中的数据是影响低位数据的数据。
39. 根据权利要求38所述的存储系统,其中所述存储器控制器配置 成当将待存储到所述多比特闪速存储器件中的数据确定为不是元数据 时,确定是否存在基于待编程到所述多比特闪速存储器件的数据的起始 地址属于页偏移值的低位数据。
40. 根据权利要求39所述的存储系统,其中所述存储器控制器配置成控制所述多比特闪速存储器件,使得当存在基于待编程数据的起始地 址属于页偏移值的低位数据时,将基于待编程数据的起始地址属于页偏 移值的低位数据从所述存储块备份到自由存储块中。
41.根据权利要求40所述的存储系统,其中所述存储器控制器配置 成控制所述多比特闪速存储器件,使得当不存在基于待编程数据的起始 地址属于页偏移值的低位数据时,将待编程数据编程到选定存储块中。
全文摘要
公开了一种对多比特闪速存储器件编程的存储系统和方法,所述多比特闪速存储器件包括存储单元,每一个存储单元均配置成存储多比特数据,所述方法包括并且所述存储系统配置成确定待存储到选定存储单元中的数据是否是LSB数据;以及如果待存储到选定存储单元中的数据不是LSB数据,将所述选定存储单元中存储的低位数据备份到所述多比特闪速存储器件的备份存储块中。
文档编号G11C11/56GK101303891SQ20081009561
公开日2008年11月12日 申请日期2008年4月29日 优先权日2007年4月30日
发明者尹松虎, 崔仁奂, 张俊镐, 芮敬旭, 郑云在 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1