具有多位存储器件的数据存储系统及其操作方法

文档序号:6771112阅读:129来源:国知局
专利名称:具有多位存储器件的数据存储系统及其操作方法
具有多位存储器件的数据存储系统及其操作方法相关申请的交叉引用本申请要求于2010年3月9日提交的韩国专利申请No. 10-2010-0020798以及 2010年11月9日提交的韩国专利申请No. 10-2010-0111143的优先权,其全部内容通过参照而被合并于此。
背景技术
示范性实施例涉及一种电子设备,更具体地,示范性实施例涉及存储系统。半导体存储器件是在诸如计算机和从卫星到消费电子设备的基于微处理器的应用之类的数字逻辑系统中通常发现的重要的微电子元件。半导体存储器件的制造的进步, 包括使得定标到较高的存储器密度和较快的工作速度的工艺改进和电路设计相关的发展, 帮助建立用于其它的数字逻辑族的性能标准。半导体存储器件一般包括诸如随机存取存储器(RAM)器件之类的易失性存储器件和非易失性存储器件。在RAM器件中,例如通过建立诸如静态随机存取存储器(SRAM)中的双稳态触发器的逻辑状态或通过对动态随机存取存储器(DRAM)中的电容器充电,来存储数据。在SRAM和DRAM器件二者中,只要提供功率电源,数据就保持存储并且可以读取数据,但是当电源关断或中断时,数据就丢失。掩模只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器 (EPROM)和电可擦除可编程只读存储器(EEPROM)器件是在即使电源关断或中断时也能够保持存储的数据的非易失性存储器的示例。非易失性存储器的数据存储状态根据使用的制造技术可以是永久的或可重编程的。非易失性的半导体存储器用于计算机、航空电子学、电信和消费电子设备行业中的多种应用中的程序和微代码存储。单芯片易失性以及非易失性存储器存储模式的组合还在诸如用在需要快速、可重编程的非易失性存储器的系统中的非易失性SRAM(nvRAM)之类的器件中有效。此外,许多专用存储器结构已经演进了,其包含一些额外的逻辑电路以优化特定应用任务的性能。掩模只读存储器(MROM)、可编程只读存储器(PROM)和可擦除可编程只读存储器 (EPROM)非易失性存储器件不能够自由地运行自系统擦除和写操作,因此不容易更新这样的存储器的内容。另一方面,电可擦除可编程只读存储器(EEPROM)非易失性存储器件是电可擦除和可写的,因而可以容易地应用于需要连续更新的辅助存储器或系统编程存储器。

发明内容
本发明构思的实施例的一个方面针对为了数据存储设备提供的操作方法,该数据存储设备包括非易失性存储器件,包括存储单元阵列;和存储器控制器,其包括缓冲存储器并且其控制该非易失性存储器件。该操作方法包括根据外部请求将数据存储在该缓冲存储器中,并确定存储在该缓冲存储器中的数据是否是伴随该存储单元阵列的缓冲器编程操作的数据。当存储在该缓冲存储器中的数据是伴随该缓冲器编程操作的数据时,确定是否需要对该存储单元阵列的主编程操作,并且当需要对该存储单元阵列的主编程操作时,确定对该存储单元阵列的主编程操作的编程模式。该操作方法还包括基于确定的编程模式向该多位存储器件发出用于对该存储单元阵列的主编程操作的命令的集合。本发明构思的实施例的另一个方面针对数据存储设备,其包括包括存储单元阵列的非易失性存储器件,该存储单元阵列包括第一区域和第二区域;和存储器控制器,包括缓冲存储器并且被配置为控制该非易失性存储器件。当第一区域的最小编程单位的数据存储在该缓冲存储器中时,该存储器控制器控制该非易失性存储器件以使得将存储在该缓冲存储器中的数据存储在第一区域中。当第二区域的最小编程单位的数据存储在该第一区域中时,该存储器控制器控制该非易失性存储器件以使得将存储在该第一区域中的数据存储在第二区域中。该非易失性存储器件包括页缓冲器,每个页缓冲器包括多个锁存器,该多个锁存器的一个用于存储要被存储在第一区域中或从第一区域读出的数据,并且当存储在第一区域中的数据存储在第二区域中时,根据从该存储器控制器提供的转存(dump)命令,存储在该一个锁存器中的数据被转存到其余锁存器当中的被选中的锁存器中。本发明构思的实施例的另一个方面针对为了数据存储设备提供的操作方法,该数据存储设备包括非易失性存储器件,包括存储单元阵列;和存储器控制器,其包括缓冲存储器并且其控制该非易失性存储器件。该操作方法包括响应于对该存储单元阵列的第一区域的缓冲器编程操作的需求,控制该非易失性存储器件以便对该存储单元阵列的第一区域执行缓冲器编程操作,并且响应于对该存储单元阵列的第二区域的主编程操作的需求, 控制该非易失性存储器件以便对该存储单元阵列的第二区域执行主编程操作。对第二区域的主编程操作包括多个数据设置时间段,每个伴随对第一区域的单个位读操作;和多位编程时间段,其中将在多个数据设置操作中运行的单个位读操作的结果存储在第二区域中。在多个数据设置时间段的开始之前和在多个数据设置时间段的结束之后,切换非易失性存储器件的工作模式。


通过参考附图的详细描述,上述和其它目的和特征将变得明显,其中除非另作说明,在各个图中,相似的参考数字始终指代相似的部分,并且其中图IA是显示根据本发明构思的示范性实施例的应用于多电平存储器件的地址加扰技术的示例的图;图IB是显示当根据用于在每个存储单元中存储4位数据的3步编程来执行编程操作时变化的阈值电压分布的示例的图;图IC是显示当根据用于在每个存储单元中存储3位数据的3步编程来执行编程操作时变化的阈值电压分布的示例的图;图2是显示根据本发明构思的示范性实施例的数据存储系统的框图;图3是显示每单元存储4位数据且应用3步重新编程方法的多位存储器件的示范性地址加扰技术的图;图4是显示在图2示出的数据存储系统的编程操作期间的示范性数据流的图;图5是显示根据图4描述的单个位和1步编程操作的集合的示范性数据流的图;图6是显示根据图4描述的单个位和粗/细编程操作的集合的示范性数据流的图7是显示根据图4描述的单个位、粗和细编程操作的集合的示范性数据流的图;图8是用于描述根据本发明构思的实施例的图2示出的存储器系统的读操作的流程图;图9是显示每单元存储3位数据且应用3步重新编程方法的多位存储器件的示范性地址加扰技术的图;图10是显示在应用图9示出的地址加扰技术的数据存储系统的编程操作期间的示范性数据流的图;图11是用于描述根据本发明构思的示范性实施例的页交织技术的图;图12是显示在应用图11描述的页交织技术的数据存储系统的编程操作期间的示范性数据流的图;图13是显示每单元存储3位数据且应用3步重新编程方法的多位存储器件的示范性地址加扰技术的图;图14是显示在图2示出的数据存储系统的编程操作期间的示范性数据流的图;图15是显示根据本发明构思的示范性实施例的多位存储器件的页缓冲器结构的图;图16是显示图13和14描述的1步编程操作的命令序列的图;图17是显示根据图16示出的1步编程命令序列的示范性数据流的图;图18是显示图13和14描述的粗编程操作的示范性命令序列的图;图19是显示根据图18示出的粗编程命令序列的示范性数据流的图;图20是显示应用图11描述的页交织技术和图13描述的地址加扰技术的数据存储系统的编程操作的示范性数据流的图;图21是显示在存储单元中存储4位数据且使用重新编程方法的多位存储器件的另一个示范性地址加扰技术的图;图22A到22D是用于描述根据本发明构思的示范性实施例的多位存储器件的第一和第二区域的各种组合的图;图23是用于描述根据本发明构思的示范性实施例的存储器控制器的操作的流程图;图M是用于描述根据本发明构思的另一个示范性实施例的存储器控制器的操作的流程图;图25是用于描述根据本发明构思的另一个示范性实施例的存储器控制器的操作的流程图;图沈示出了显示具有全位线存储器结构或奇偶存储器结构的存储单元阵列的图;图27是显示根据本发明构思的示范性实施例的计算系统的框图;图观是显示根据本发明构思的示范性实施例的存储器控制器的框图;图四是显示根据本发明构思的示范性实施例的固态驱动器的框图;图30是显示使用图四中的固态驱动器的存储设备的示例的框图;图31是显示使用图四中的固态驱动器的存储服务器的示例的框图32到34是显示应用根据本发明构思的示范性实施例的数据存储设备的系统的示例的图;图35是示出了根据本发明构思的实施例的存储器卡的示例的框图;图36是示出了根据本发明构思的实施例的数字静态照相机的示例的框图;和图37是示出了应用图35中的存储器卡的各种系统的示例的图。
具体实施例方式下面将参照示出本发明构思的实施例的附图更完整地描述本发明构思。但是,可以以多种不同的形式来实施本发明构思,并且本发明构思不应当被理解为局限于这里所描述的实施例。相反,提供这些实施例以使得本公开对本领域技术人员来说清楚完整,并完全传达本发明构思的范围。在附图中,为了清楚,层和区域的大小和相对大小可以被放大。相似的参考数字始终指代相似的元件。应当理解,尽管这里可能使用术语第一、第二、第三等来描述各种元件、部件、区域、层和/或区段,但是这些元件、部件、区域、层和/或区段不应当被这些术语所限制。这些术语可以仅用于将一个元件、组件、区域、层和部件和另一个区域、层或部件区分开来。因此,在不脱离本发明构思的教导的情况下,下面讨论的第一元件、组件、区域、层或部件可以被称为第二元件、组件、区域、层或部件。这里可能使用空间相对术语,如“在· · ·之下”、“在· · ·下面”、“低于”、“在...之上”、“在...上面”等等来简化描述,以描述图中所示的一个元件或特征对另一个元件或特征的关系。应当理解,空间相对术语可以意欲包括使用中的或操作中的设备的除了图中描述的方位之外的不同的方位。例如,如果在图中的设备被翻转,则用在其它元件或特征 “之下”或“下面”描述的元件将被用在其它元件或特征“之上”来定位。因此,示范性术语 “在...之下”和“在...下面”能够包括“在...之上”和“在...之下”两种方位。设备可以以其它方式定位(旋转90度或在其它方位),相应地解释这里所用的空间相对描述语。此外,应当理解,当一个层被称为位于两个层之间时,在这两个层之间可以仅仅有该一个层,或者也可以存在一个或多个插入层。这里所用的术语仅仅是为了描述具体的实施例,不意欲是限制本发明构思。正如这里所用的,单数形式“一”、“一个”和“这个”可以意欲也包括复数形式,除非上下文清楚地指明是单数。还应当理解,用于本说明书中的术语“包括”和/或“包含”指定了既定特征、 整数、步骤、操作、元件和/或部件的存在,但是不排除一个或更多的其它特征、整数、步骤、 操作、元件、部件、和/或它们的分组的存在或增加。这里所用的术语“和/或”包括相关列出的项的一个或多个的任意或所有组合。应当理解,当称一个元件或层“在...上”、“连接到”、“耦接到”、或“邻近于”另一个元件或层时,其能够直接在另一元件或层上、连接到、耦接到或邻近于另一个元件或层上, 或者也可以存在插入的元件或层。相反,当称一个元件“直接在...上”、“直接连接到”、“直接耦接到”或“直接邻近于”另一元件或层时,则不存在插入的元件或层。除非另有定义,这里所用的所有术语(包括技术和科学术语)具有和本发明构思所属领域的技术人员通常理解的相同的意思。还应当理解,诸如在通常使用的词典中定义的那些术语应当被理解为具有和在相关技术的内容中的意思一致的意思,并且不应当被解释为理想化的或超出正规认识的,除非这里做了特别的定义。这里,多电平存储器件是指能够每存储单元存储多个位的存储器件。随着存储在多电平存储器件的每个存储单元中的数据位的数目增大,已经逐渐变得难以保证这样的器件的可靠性。引起可靠性降低的因素中的一个代表性因素是由相邻存储单元之间的耦合引起的阈值电压的变化。例如,由于在对与先前编程的存储单元相邻的存储单元进行编程时引起的耦合,从而该先前编程的存储单元的阈值电压可能变化。在图IA中,示出了应用于多电平存储器件以便有效管理这样的耦合的地址加扰技术的示例。将在4位数据存储在一个存储单元中的假设下描述地址加扰技术。为了便于说明,在图IA中,仅仅示出了四个字线mi)到WL3。多个存储单元MC与每个字线连接。最初, 执行1步编程操作,其中较低的2位数据存储到第一字线mi)中的每个存储单元。也就是说,在该1步编程操作期间,2页数据存储在与第一字线mi)连接的存储单元中。这在图IA 中用①表示。然后,对与第二字线WLl连接的存储单元执行1步编程操作。这在图IA中用 ②表示。在对与第二字线WLl连接的存储单元执行1步编程操作之后,对位于第二字线WLl 之下的并且编程了较低的2位数据的第一字线mi)执行粗编程操作(也称为2步编程操作)。这在图IA中用③表示。在粗编程操作期间,上2位数据存储在与第一字线mi)连接的存储单元中。在与第一字线mi)连接的存储单元的粗编程操作之后,对第三字线WL2执行1步编程操作。这在图IA中用④表示。在对第三字线WL2的1步编程操作之后,执行粗编程操作,在其间,上2位数据存储在与第二字线WLl连接的存储单元中。这在图IA中用 ⑤表示。在对第二字线WLl的粗编程操作之后,对第一字线Wi)执行细编程操作。这在图 IA中用⑥表示。此后,根据如图IA的圆圈数字所示的上述编程顺序依次运行1步、粗和细编程操作。根据图IA描述的编程顺序选择字线的方式被称为地址加扰技术。当1步编程操作和粗编程操作完成时,形成与M位数据(M是2或更大的整数)对应的阈值电压分布(例如,2"个阈值电压分布)。尽管在完成粗编程操作时形成所有这些阈值电压分布,但是阈值电压分布之间的读裕度(margin) —般不足。因而,执行细编程操作以保证足够区分阈值电压分布的读裕度。换句话说,进行细编程操作以使得每个阈值电压分布的宽度变窄,从而增大相邻的分布之间的间隔。在细编程操作期间,使用高于在粗编程操作期间使用的读校验电压的读校验电压。可以通过上述编程技术减小相邻的存储单元之间的耦合,其被称为重新编程方法/算法。在示范性实施例中,上述对4位数据的重新编程方法,S卩1步编程、粗编程和细编程可以应用于2位数据和3位数据的重新编程方法。利用该重新编程方法,必须保持存储在任意字线中的存储单元中的数据,直到对该任意字线的细编程操作完成。例如,根据从存储器控制器提供给多位存储器件的数据执行1步编程操作,并且根据通过1步编程操作存储的数据和从存储器控制器提供的数据执行粗编程操作。根据通过1步和粗编程操作存储的数据进行细编程操作。但是,如上所述, 难以精确地读取通过1步和粗编程操作存储的数据。这意味着必须将细编程操作所需的数据从存储器控制器提供给多位存储器件。为此,存储器控制器需要保持存储在任意字线中的存储单元中的数据直到对该任意字线的细编程操作完成。这需要在存储器控制器中提供相对大的缓冲存储器以便保持细编程操作所需的数据。图IB是显示当根据用于在每个存储单元中存储4位数据的3步编程来执行编程操作时阈值电压分布的变化的图。例如,图IB示出了在3步编程期间图IA中的字线Wi) 的存储单元的阈值电压分布。首先,2页数据(即,第一和第二页数据)存储在被选中的字线(例如,图IA中的 WL0)的存储单元中。此时,如图IB的方框21所示,可以基于要被编程的数据将与擦除状态 E对应的阈值电压分布中的存储单元编程为具有阈值电压分布中的每个与编程状态Q1、Q2 和Q3对应的阈值电压。如上所述,字线(例如,WL0)中的1步编程的存储单元的粗编程操作发生在相邻字线(例如,WLl)中的存储单元的1步编程操作之后。此时,如图IB的方框22所示,字线 (例如,WL0)中的1步编程的存储单元的分布由于在编程相邻字线(例如,WLl)中的存储单元时引起的耦合而加宽。然后,2页数据,即第三和第四页数据可以存储在被选中的字线mi)的存储单元中。此时,如图IB的方框23所示,可以将与每个状态对应的阈值电压分布中的存储单元编程为具有相应的阈值电压分布ΡΓ P15’中的阈值电压。例如,可以基于要被编程的数据将与擦除状态E对应的阈值电压分布中的存储单元编程为具有与编程状态Pl'到P3'对应的阈值电压分布中的阈值电压。可以基于要被编程的数据将与编程状态Ql对应的阈值电压分布中的存储单元编程为具有与编程状态P4’到P7’对应的阈值电压分布中的阈值电压。可以基于要被编程的数据将与编程状态Q2对应的阈值电压分布中的存储单元编程为具有与编程状态P8’到Ρ1Γ对应的阈值电压分布中的阈值电压。可以基于要被编程的数据将与编程状态Q3对应的阈值电压分布中的存储单元编程为具有与编程状态P12’到P15’ 对应的阈值电压分布中的阈值电压。如上所述,字线(例如,WL0)中的粗编程的存储单元的细编程操作可以在对相邻字线(例如,WL2和WLl)的1步编程操作和粗编程操作之后进行。此时,如图IB的方框M 所示,字线(例如,Wi))中的粗编程的存储单元的分布由于在编程相邻字线(例如,WL2和 WLl)中的存储单元时引起的耦合而加宽。为此,难以可靠地从粗编程的存储单元中读取数据。可以将字线mi)中的存储单元编程为具有最终的阈值电压分布Pl到P15,如图IB 的方框25所示。此操作被称为细编程操作。如上所述,细编程操作需要先前编程的数据 (例如,第一到第四页数据)。由于难以从字线WLO中的存储单元中读取先前编程的数据,因此将基于从存储器控制器提供的数据(或,由存储器件保持的数据)进行细编程操作。如图IB的方框沈所示,细编程的存储单元的分布由于在编程相邻字线中的存储单元时引起的耦合而加宽。然后,将根据图IA中描述的编程顺序(或序列)对每个字线进行1步编程操作、 粗编程操作和细编程操作,将用和图IB中描述的相同的方式来执行。图IC是显示在根据用于在每个存储单元中存储3位数据的3步编程来执行编程操作时阈值电压分布的变化的图。下面将更完整地描述根据3步编程的编程方法。首先,2页数据(即,第一和第二页数据)存储在被选中的字线(例如,图IA中的 WL0)的存储单元中。此时,如图IC的方框31所示,可以基于要被编程的数据将与擦除状态 E对应的阈值电压分布中的存储单元编程为具有阈值电压分布中的每个与编程状态Q1、Q2 和Q3对应的阈值电压。
如上所述,字线(例如,WL0)中的1步编程的存储单元的粗编程操作发生在相邻字线(例如,WLl)中的存储单元的1步编程操作之后。此时,如图IC的方框31的实线所示, 字线(例如,Wi))中的1步编程的存储单元的分布由于在编程相邻字线(例如,WLl)中的存储单元时引起的耦合而加宽。然后,可以将ι页数据存储在被选中的字线Wi)的存储单元中。此时,如图IC的方框32所示,可以将与每个状态对应的阈值电压分布中的存储单元编程为具有相应的阈值电压分布Pl P7中的阈值电压。例如,可以基于要被编程的数据将与擦除状态E对应的阈值电压分布中的存储单元编程为具有与编程状态Pl对应的阈值电压分布中的阈值电压。可以基于要被编程的数据将与编程状态Ql对应的阈值电压分布中的存储单元编程为具有与编程状态P2和P3对应的阈值电压分布中的阈值电压。可以基于要被编程的数据将与编程状态Q2对应的阈值电压分布中的存储单元编程为具有与编程状态P4和P5对应的阈值电压分布中的阈值电压。可以基于要被编程的数据将与编程状态Q3对应的阈值电压分布中的存储单元编程为具有与编程状态P6到P7对应的阈值电压分布中的阈值电压。如上所述,字线(例如,WL0)中的粗编程的存储单元的细编程操作可以在对相邻字线(例如,WL2和WLl)的1步编程操作和粗编程操作之后进行。此时,如图IC的方框32 中的实线所示,字线(例如,WL0)中的粗编程的存储单元的分布由于在编程相邻字线(例如,WL2和WLl)中的存储单元时引起的耦合而加宽。为此,难以精确地从粗编程的存储单元中读取数据。可以将字线mi)中的存储单元编程为具有最终的阈值电压分布Pl到P15,如图IC 的方框33所示。此操作被称为细编程操作。如上所述,细编程操作需要先前编程的数据 (例如,第一到第三页数据)。由于难以从字线WLO中的存储单元中读取先前编程的数据,因此将基于从存储器控制器提供的数据(或,由存储器件保持的数据)进行细编程操作。如图IC的方框33中的实线所示,细编程的存储单元的分布由于编程相邻字线中的存储单元时引起的耦合而加宽。然后,将根据图IA中描述的编程顺序(或序列)对每个字线进行1步编程操执行、 粗编程操作和细编程操作,将用和图IC中描述的相同的方式来执行。图2是显示根据本发明构思的示范性实施例的数据存储系统的框图。参考图2,数据存储系统1000包括作为非易失性存储器件的多位存储器件100、存储器控制器200和主机300。多位存储器件100可以由一个或多个存储芯片形成。作为数据存储设备,多位存储器件100和存储器控制器200可以构成存储卡、固态驱动器(SSD)、存储棒等等。多位存储器件100包括多个存储块(或区/体),每个存储块具有以行和列布置的存储单元。存储单元的每一个存储多位(或多电平)数据。存储单元被布置为具有2维阵列结构或3维/垂直阵列结构。在美国公开No. 2008/0023747和2008/00847 中公开了示范性的3维阵列结构,其全部内容通过引用而被合并于此。多位存储器件100的存储块分成第一区域101和第二区域102。这里,第一和第二区域101和102可以在逻辑上被定义,而不是在物理上定义。此外,第一和第二区域101和 102的划分能够在逻辑上改变。第一区域101中的存储块和第二区域102中的存储块用不同的方式编程。例如,可以根据单个位(single-bit)编程技术(以下称为SLC编程技术) 来编程第一区域101中的存储块,并且可以根据多位编程方式(例如,上述N步重新编程技术)(以下称为MLC编程技术)来编程第二区域102中的存储块。换句话说,依据此示例, 第一区域101中的每个存储单元存储1位数据,而第二区域102中的每个存储单元存储M 位数据(M是3或更大的整数)。此外,第一区域101中的每个存储单元可以存储数目比存储在第二区域102中的每个存储单元中的M位数据(M是3或更大的整数)少的数据位。仍然参考图2,存储器控制器200被配置为响应于主机300的请求来控制多位存储器件100。存储器控制器200可以包括缓冲存储器201。缓冲存储器201用于临时存储从主机300发送的数据和从多位存储器件100读出的数据。存储器控制器200以静态调度模式控制存储器件100的编程操作。例如,当第一区域101的最小编程单位的数据存储在缓冲存储器201中时,存储器控制器200控制多位存储器件100以使得最小编程单位的数据存储(或编程)在第一区域101中。这被称为缓冲器编程操作。如果在第一区域101中积聚了第二区域102的最小编程单位的数据,则存储器控制器200控制多位存储器件100以使得第二区域102的最小编程单位的数据存储(或编程)在第二区域102中。这被称为主编程操作。稍后将更完整地描述缓冲器编程操作和主编程操作。在示范性实施例中,可以根据编程模式、每单元位数等不同地确定第一区域101 的最小编程单位和第二区域102的最小编程单位。第一区域101的最小编程单位不同于第二区域102的最小编程单位。在示范性实施例中,可以通过缓冲器编程操作将数据存储在第一区域101并通过主编程操作将数据存储在第二区域102中,来减小存储器控制器200的缓冲存储器201的尺寸。换句话说,不必要将用于细编程操作的数据保持在缓冲存储器201中。因此,存储器控制器200的缓冲存储器201的尺寸减小了。图3是显示每单元存储4位数据且应用3步重新编程方法的多位存储器件的示范性地址加扰技术的图,以及图4是显示在图2示出的数据存储系统的编程操作期间的数据流的示例的图。下面将更完整地描述根据本发明构思的示范性实施例的数据存储系统的操作。 为了简化描述,如图3所示,假定每个存储块包括64条字线Wi)到WL63,并且每个存储单元存储4位数据。利用此假设,4页存储在每条字线的存储单元中,并且256页存储在每个存储块中。这里,术语“页”用于指示数据的页,其例如在逻辑上可由分开的页地址寻址。 首先,当将第一区域101的最小编程单位的数据DO从主机300传送到存储器控制器200的缓冲存储器201时,根据存储器控制器200的控制将存储在缓冲存储器201中的数据DO编程到多位存储器件100的第一区域101中。如上所述,通过SLC编程操作将数据 DO编程到第一区域101中。存储器控制器200判断在第一区域101中是否积聚了第二区域 102的最小编程单位的数据,并且根据判断结果控制主编程操作。可以根据页地址来判断在第一区域101中是否积聚了第二区域102的最小编程单位的数据。由于仅仅一页DO存储在第一区域101中,因此不执行主编程操作。如果将第一区域101的最小编程单位的数据 Dl从主机300传送到存储器控制器200的缓冲存储器201,则根据存储器控制器200的控制将存储在缓冲存储器201中的数据Dl编程到多位存储器件100的第一区域101中。由于第二区域102的最小编程单位的数据(例如,1步编程操作所需的2页)积聚在第一区域101中,因此存储器控制器200控制多位存储器件100以使得存储在第一区域101中的数据DO和Dl被存储在第二区域102中。也就是说,基于存储在第一区域101中的数据DO 和Dl进行对字线Wi)的1步编程操作。如上所述,当第一区域101的最小编程单位的数据Di (i是0到25 存储在缓冲存储器201中时,在存储器控制器200的控制之下通过SLC编程操作将存储在缓冲存储器 201中的数据编程到多位存储器件100的第一区域101中。与确定第一区域101的最小编程单位的数据是否存储在缓冲存储器201中一起,存储器控制器200确定在第一区域101 中是否积聚了第二区域102的最小编程单位的数据。存储器控制器200可以根据确定结果控制对第二区域102的1步编程操作、粗编程操作或细编程操作,下面将更完整地描述。可以用参考图3描述的地址加扰方式执行对第二区域102的1步编程操作、粗编程操作或细编程操作。例如,如果DO和Dl数据存储在第一区域101中,则根据存储在第一区域101中的DO和Dl数据来执行对字线Wi)的1步编程操作。如果D2和D3数据存储在第一区域101中,则执行对字线WLl的1步编程操作。也就是说,根据存储在第一区域101 中的D2和D3数据执行对字线WLl的1步编程操作。接下来,如果D4和D5数据存储在第一区域101中,则根据存储在第一区域101中的DO、DU D4和D5数据执行对字线Wi)的粗编程操作。当D6和D7数据存储在第一区域 101中时,根据存储在第一区域101中的D6和D7数据执行对字线WL2的1步编程操作。如果D8和D9数据存储在第一区域101中,则根据存储在第一区域101中的D2、D3、D8和D9 数据执行对字线WLl的粗编程操作。在根据存储在第一区域101中的D8和D9数据执行对字线WLl的粗编程操作之后,根据存储在第一区域101中的D0、D1、D4和D5数据进行对字线Wi)的细编程操作。然后,在D2M数据存储在第一区域101中之前,其余数据DlO到 D253可以按照与D6和D7数据的1步编程操作、D8和D9数据的粗编程操作、和D0、D1、D4、 和D5数据的细编程操作相同的顺序存储在第二区域102中。在D2M和D255数据存储在第一区域101中的情况下,根据存储在第一区域101 中的D2M和D255数据执行对字线札63的粗编程操作。在根据存储在第一区域101中的 D254和D255数据执行对字线札63的粗编程操作之后,根据存储在第一区域101中的D246、 D247、D252和D253数据进行对字线WL62的细编程操作。最后,根据存储在第一区域101中的D250、D251、D2M和D255数据进行对字线札63的细编程操作。从图4中可以理解,可以根据要被存储在第一区域101中的数据,即要被存储在第一区域101中的数据的页地址,判断SLC编程操作、SLC和1步编程操作的集合、SLC和粗编程操作的集合、SLC、粗和细编程操作的集合、和SLC、粗、细和细编程操作的集合。当将相应的命令从存储器控制器200提供给多位存储器件100时,可以执行例如SLC编程操作、1步编程操作、粗编程操作或细编程操作。可替换地,指示编程模式的命令集合提供给多位存储器件100,并且多位存储器件100根据该命令集合自动地执行操作的集合。编程模式由SLC 编程操作、SLC和1步编程操作的集合、SLC和粗编程操作的集合、SLC、粗和细编程操作的集合、或SLC、粗、细和细编程操作的集合形成。可以根据地址加扰技术、每单元位数等改变编程模式中的编程操作的集合。下表1示出了应用于参考图3和4描述的编程操作的编程模式。表 权利要求
1.一种数据存储设备的操作方法,该数据存储设备包括包括存储单元阵列的非易失性存储器件;和包括缓冲存储器并控制该非易失性存储器件的存储器控制器,该操作方法包括根据外部请求将数据存储在缓冲存储器中;确定存储在该缓冲存储器中的数据是否是伴随该存储单元阵列的缓冲器编程操作的数据;当存储在该缓冲存储器中的数据是伴随该缓冲器编程操作的数据时,确定是否需要对该存储单元阵列的主编程操作;当需要对存储单元阵列的主编程操作时,确定对该存储单元阵列的主编程操作的编程模式;以及基于确定的编程模式向该多位存储器件发出用于对该存储单元阵列的主编程操作的命令的集合。
2.如权利要求1所述的操作方法,其中该存储单元阵列包括第一区域和第二区域,该第一区域经由该缓冲器编程操作被编程,以及该第二区域经由该主编程操作被编程。
3.如权利要求2所述的操作方法,其中根据伴随该缓冲器编程操作的数据的地址信息来确定用于该主编程操作的编程模式。
4.如权利要求3所述的操作方法,其中该主编程操作包括1步编程操作、粗编程操作和细编程操作中的至少一个。
5.如权利要求4所述的操作方法,其中在主编程操作时提供给该多位存储器件的命令的集合包括第一区域的单个位读命令、转存命令、和第二区域的多位编程命令。
6.如权利要求5所述的操作方法,其中该非易失性存储器件包括页缓冲器,每个页缓冲器包括多个锁存器,该多个锁存器中的一个用于存储要被存储在第一区域中或从第一区域读出的数据,并且在第二区域的编程操作期间,根据转存命令,将存储在该一个锁存器中的数据转存到其余锁存器当中的被选中的锁存器中。
7.如权利要求6所述的操作方法,还包括在将用于第二区域的编程操作的命令的集合输出到多位存储器件之前并在第二区域的多位编程命令之前,向该多位存储器件发出模式切换命令。
8.如权利要求2所述的操作方法,其中在确定是否需要主编程操作之前将用于缓冲器编程操作的数据发送到第一区域。
9.如权利要求2所述的操作方法,其中当基于确定的编程模式将用于主编程操作的命令的集合提供给多位存储器件时,将用于缓冲器编程操作的数据发送到第一区域。
10.如权利要求2所述的操作方法,其中经由单个位编程操作编程第一区域,并且经由多位编程操作编程第二区域。
11.如权利要求2所述的操作方法,其中经由多位编程操作编程第一区域和第二区域。
12.—种数据存储设备,包括非易失性存储器件,包括存储单元阵列,该存储单元阵列包括第一区域和第二区域;和存储器控制器,包括缓冲存储器并且被配置为控制该非易失性存储器件,其中当第一区域的最小编程单位的数据存储在该缓冲存储器中时,该存储器控制器控制该非易失性存储器件以使得将存储在该缓冲存储器中的数据存储在第一区域中;其中当第二区域的最小编程单位的数据存储在该第一区域中时,该存储器控制器控制该非易失性存储器件以使得将存储在该第一区域中的数据存储在第二区域中;以及其中该非易失性存储器件包括页缓冲器,每个页缓冲器包括多个锁存器,该多个锁存器的一个用于存储要被存储在第一区域中或从第一区域读出的数据,并且当存储在第一区域中的数据被存储在第二区域中时,根据从该存储器控制器提供的转存命令,将存储在该一个锁存器中的数据转存到其余锁存器当中的被选中的锁存器中。
13.如权利要求12所述的数据存储设备,其中根据从该存储器控制器提供的命令的集合将存储在第一区域中的第二区域的最小编程单位的数据存储在第二区域中。
14.如权利要求13所述的数据存储设备,其中该命令的集合包括第一区域的单个位读命令、转存命令、和第二区域的多位编程命令。
15.一种数据存储设备的操作方法,该数据存储设备包括包括存储单元阵列的非易失性存储器件;和包括缓冲存储器并控制该非易失性存储器件的存储器控制器,该操作方法包括控制该非易失性存储器件,以便响应于对存储单元阵列的第一区域的缓冲器编程操作的需求,对存储单元阵列的第一区域执行缓冲器编程操作;以及控制该非易失性存储器件,以便响应于对存储单元阵列的第二区域的主编程操作的需求,对存储单元阵列的第二区域执行主编程操作,其中对第二区域的主编程操作包括多个数据设置时间段,每个数据设置时间段伴随对第一区域的单个位读操作;和多位编程时间段,其中将在多个数据设置操作中执行的单个位读操作的结果存储在第二区域中;以及其中在多个数据设置时间段的开始之前且在多个数据设置时间段的结束之后,切换非易失性存储器件的操作模式。
16.如权利要求15所述的操作方法,其中经由单个位编程操作编程第一区域,并且经由多位编程操作编程第二区域。
17.如权利要求15所述的操作方法,其中经由多位编程操作分别编程第一区域和第二区域。
18.如权利要求15所述的操作方法,其中在对第一区域的缓冲器编程操作开始之前且在对第一区域的缓冲器编程操作结束之后切换非易失性存储器件的操作模式。
19.如权利要求15所述的操作方法,其中该非易失性存储器件还包括页缓冲器,每个页缓冲器包括多个锁存器,该多个锁存器中的一个用于存储经由各个单个位读操作读出的数据,并且在多个数据设置时间段的每一个之内,根据从存储器控制器提供的转存命令,将存储在该一个锁存器中的数据转存到其余锁存器当中的被选中的锁存器中。
20.如权利要求15所述的操作方法,其中该主编程操作包括1步编程操作、粗编程操作和细编程操作中的至少一个。
全文摘要
一种数据存储设备包括包括存储单元阵列的非易失性存储器件;和包括缓冲存储器并控制该非易失性存储器件的存储器控制器。该数据存储设备的操作方法包括根据外部请求将数据存储在缓冲存储器中,并确定存储在该缓冲存储器中的数据是否是伴随该存储单元阵列的缓冲器编程操作的数据。当存储在该缓冲存储器中的数据是伴随该缓冲器编程操作的数据时,该方法还包括确定是否需要对该存储单元阵列的主编程操作,以及当需要对存储单元阵列的主编程操作时,确定对该存储单元阵列的主编程操作的编程模式。该方法还包括基于确定的编程模式向该多位存储器件发出用于对该存储单元阵列的主编程操作的命令的集合。
文档编号G11C16/10GK102290105SQ20111005611
公开日2011年12月21日 申请日期2011年3月9日 优先权日2010年3月9日
发明者尹翔镛, 朴起台, 李元奭, 韩真晚 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1