CN106504788B - 具有空闲存储器件的存储系统及其操作方法 - Google Patents
具有空闲存储器件的存储系统及其操作方法 Download PDFInfo
- Publication number
- CN106504788B CN106504788B CN201610141526.0A CN201610141526A CN106504788B CN 106504788 B CN106504788 B CN 106504788B CN 201610141526 A CN201610141526 A CN 201610141526A CN 106504788 B CN106504788 B CN 106504788B
- Authority
- CN
- China
- Prior art keywords
- memory device
- sub
- sub memory
- data
- program operation
- 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
- 230000015654 memory Effects 0.000 title claims description 104
- 238000000034 method Methods 0.000 title claims description 21
- 238000003860 storage Methods 0.000 claims abstract description 34
- 239000000872 buffer Substances 0.000 claims description 85
- 230000002093 peripheral effect Effects 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 20
- 230000008859 change Effects 0.000 description 15
- 230000007704 transition Effects 0.000 description 13
- 101000583553 Homo sapiens Phosphoglucomutase-1 Proteins 0.000 description 11
- 102100030999 Phosphoglucomutase-1 Human genes 0.000 description 11
- 101000833350 Homo sapiens Phosphoacetylglucosamine mutase Proteins 0.000 description 5
- 101001072903 Homo sapiens Phosphoglucomutase-2 Proteins 0.000 description 5
- 102100024440 Phosphoacetylglucosamine mutase Human genes 0.000 description 5
- 102100036629 Phosphoglucomutase-2 Human genes 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 2
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 2
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 101001072881 Homo sapiens Phosphoglucomutase-like protein 5 Proteins 0.000 description 1
- 102100036635 Phosphoglucomutase-like protein 5 Human genes 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 235000012773 waffles Nutrition 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/85—Active fault masking without idle spares
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
一种存储系统可以包括:存储器件,包括耦接到信道的多个子存储器件;以及控制器,所述控制器适用于控制存储器件以:在使用第一数据的对子存储器件之中的选中子存储器件的第一编程操作期间,将第一数据储存在子存储器件之中的选中子存储器件和至少一个空闲子存储器件中;以及当对选中子存储器件的第一编程操作失败时,用储存在空闲子存储器件中的第一数据来对选中子存储器件执行第二编程操作。
Description
相关申请的交叉引用
本申请要求2015年9月7日提交的申请号为10-2015-0126374的韩国专利申请的优先权,其全部内容通过引用整体合并于此。
技术领域
本公开总体而言涉及一种半导体存储器技术,更具体地,涉及一种包括控制器和存储器件的存储系统及其操作方法。
背景技术
存储系统广泛用于各种应用,包括作为数字设备(诸如计算机、数码相机、音频播放器、智能电话等)中的存储部件。存储系统通常可以包括用于储存数据的存储器件和用于控制存储器件的操作的控制器。当存储系统与充当主机的数字设备链接时,控制器可以在主机与存储器件之间传达命令和数据。
近来,数字设备需要大量的数据。由于此原因,数字设备可以采用包括多个子存储器器件组的存储设备,每个子存储器件组包括多个子存储器件。通常,每个组可以经由单个信道与控制器通信。因此,存储系统可以具有多个信道。
在包括多个信道的存储系统中,在控制器与子存储器件之间的通信会增加,这对控制器提出了更高的负载要求。例如,在编程操作期间,控制器可以暂时储存数据作为对选中子存储器件的编程失败的准备。然而,由于子存储器件的数量增加,控制器中的暂时数据会相应地大幅增加,导致控制器负载的大幅增加。
发明内容
本公开提供包含具有更小负载的控制器的存储系统及其操作方法。
在本公开的一个方面中,提供了一种存储系统包括:存储器件,包括耦接到信道的多个子存储器件;以及控制器,所述控制器适用于控制存储器件以:在使用第一数据对子存储器件之中的选中子存储器件的第一编程操作期间,将第一数据储存在子存储器件之中的选中子存储器件和至少一个空闲子存储器件中;以及当对选中子存储器件的第一编程操作失败时,用储存在空闲子存储器件中的第一数据对选中子存储器件执行第二编程操作。
在本公开的一个方面中,提供了一种操作存储系统的方法,包括:将第一数据输入至耦接到相同信道的第一子存储器件和第二子存储器件中;用输入到第一子存储器件中的第一数据来执行对第一子存储器件的第一编程操作;以及当第一编程操作失败时,用储存在第二子存储器件中的第一数据来对第一子存储器件执行第二编程操作。
在本公开的一个方面中,提供了一种操作存储器件的方法,包括:将用于对第一子存储器件的第一编程操作的编程命令输入到第一子存储器件和第二子存储器件中;将用于第一编程操作的地址和第一数据输入到第一子存储器件和第二子存储器件中;将用于第一编程操作的编程开始命令输入到第一子存储器件中;以及将编程停置命令输入至第二子存储器件以在第一编程操作期间保持空闲。
根据本公开,在对选中子存储器件的编程操作期间,可以在未选中的子存储器件中暂时储存相同的数据,导致控制器所必需的储存减少。这可以导致性能改善。
附图说明
图1是根据本公开的一个实施例的存储系统的示图。
图2是根据本公开的另一个实施例的存储系统的示图。
图3是图1中示出的单个子存储器件组的例子的示图。
图4是图3中所示的单个子存储器件的例子的示图。
图5是图4中所示的子存储器件的例子的框图。
图6是图5中所示的页缓冲器的例子的示图。
图7是根据本公开的一个实施例的编程操作的流程图。
图8是图7中的编程操作的时序图的例子。
图9是说明图8中所示的在编程操作期间输入命令和数据的方法的时序间隔图的例子。
图10是说明编程操作的一个实施例的时序图。
图11是说明图7中的编程操作的另一个实施例的时序图。
图12是根据本公开的一个实施例的包括存储系统的计算系统的示图。
具体实施方式
将参照附图来描述各个实施例。然而要注意,本公开可以用各种不同的形式来实施,且不应解释为仅仅限于所描述的实施例。确切地说,提供这些实施例作为例子,使得本公开将彻底且完整。
还要注意,尽管在本文中可以使用术语“第一”、“第二”、“第三”等来描述各种元件、部件、区域、层和/或部分,但是这些元件、部件、区域、层和/或部分不应受这些术语的限制。这些术语用来将一个元件、部件、区域、层或部分与另一个元件、部件、区域、层或部分区分开来。因此,在不脱离本公开的精神和范围的情况下,下文描述的第一元件、部件、区域、层或部分可以叫做第二元件、部件、区域、层或部分。
将理解的是,当称一个元件或层“连接到”或“耦接到”另一个元件或层时,它可以直接连接或直接耦接到另一个元件或层,或者可以经由一个或更多个中间元件或层而间接连接或耦接到另一元件或层。此外,还将理解的是,当称元件或层在两个元件或层“之间”时,它可以是这两个元件或层之间的唯一元件或层,或者还可以存在一个或更多个中间元件、层或空隙空间。
另外,要注意的是,本文中所用的术语仅仅用于描述特定的实施例的目的而并非意图限制本公开。如本文中所用的,除非上下文另外明确指示,否则单数形式“一”和“一个”也意图包括复数形式。还将理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”、“包含有”时,表示存在所陈述的特征、整体、操作、步骤、元件和/或部件,且不排除存在或增加其它特征、整体、操作、步骤、元件、部件和/或它们的组。如本文所用的,术语“和/或”包括相关联的所列项目中的一个或更多个的任何和所有组合。
除非另外定义,否则本文中所用的包括技术术语和科学术语的所有术语具有与本发明概念所属领域的普通技术人员所普遍理解的意义相同的意义。还将理解的是,诸如在通用词典中定义的那些术语的术语应被解释为具有与相关技术背景下所解释的意义相同的意义,且除非在本说明书中明确这样定义,否则不应解释为具有理想主义或过于形式主义的意义。
在下列描述中,列出许多具体细节以便提供对本公开的彻底理解。本公开可以在没有这些具体细节中的一些或全部的情况下实践。在其它情况下,未详细描述众所周知的工艺结构和/或工艺,以便不要不必要地模糊本公开。
在下文,将参照附图来描述本公开的各个实施例。
图1是根据本公开的一个实施例的存储系统的示图。
参见图1,根据本公开的一个实施例,提供存储系统1000。存储系统1000可以包括用于储存数据的存储器件1100和用于控制存储器件1100的操作的控制器1200。
存储器件1100可以包括多个子存储器件组1110、1120和11k0。每个子存储器件组1110、1120和11k0可以包括多个子存储器件。
每个子存储器件组1110、1120和11k0可以通过对应的信道CH1至CHk与控制器1200通信,其中k是正整数。
控制器1200可以从主机2000接收命令CMD,且可以基于接收的命令CMD而经由对应的信道CH1至CHk来控制每个子存储器件组1110、1120和11k0。另外,控制器1200可以包括针对编程操作(也称为写入操作)、读取或擦除操作的用于暂时储存数据的缓冲存储器1210。
缓冲存储器1210可以具有可以小于存储器件的储存容量的储存容量限值。当缓冲存储器1210储存许多数据时,控制器1200可能会遭受增大的负载。在这种情况下,根据本公开的一个实施例,至少一个空闲子存储器件可以用于将数据暂时储存在其中。如本文所使用的,术语“空闲子存储器件”是指用于编程的相同子存储器件组中的未选中的子存储器件。可以认识到,用于编程操作的选中子存储器件与空闲子存储器件可以属于相同的子存储器件组,从而可以具有相同的配置。在一个实施例中,选中子存储器件和空闲子存储器件属于相同的子存储器件组且基本上相同。
在编程操作期间,选中子存储器件与空闲子存储器件可以经由控制器1200提供的地址而相互区分开。相应地,控制器1200可以分别地控制每个选中子存储器件和空闲子存储器件。在编程操作期间,控制器1200可以将数据储存在选中子存储器件中,且还可以同时或随后将相同的数据储存到至少一个空闲子存储器件内。后者的储存可以是暂时的储存。当对选中子存储器件的当前编程操作失败时,可以使用空闲子存储器件或多个空闲子存储器件中暂时储存的数据以用于对选中子存储器件的后续再编程操作。
图2是根据本公开的另一个实施例的存储系统的示图。
参见图2,根据本公开的一个实施例的存储系统3000可以包括用于储存数据的存储器件1100和用于控制存储器件1100的存储器控制器1200。另外,存储器控制器1200可以控制主机2000与存储器件1100之间的通信。存储器控制器1200可以包括缓冲存储器1210、CPU 1220、SRAM 1230、主机接口1240、ECC模块1250和存储器接口1260。
当存储器控制器1200可以控制存储器件1100时,缓冲存储器1210可以暂时将数据储存在其中。CPU 1220可以对控制器1200的数据交换进行控制。SRAM 1230可以用作CPU1220的工作存储器。主机接口1240可以具有针对耦接到存储系统3000的主机2000的数据交换协议。ECC(纠错码,error correction code)模块1250可以检测和纠正从存储器件1100读取的数据中的错误。存储器接口1260可以与存储器件1100接口。另外,尽管未示出,但是要注意,存储系统3000可以包括ROM(未示出),该ROM用于储存用于与主机系统或主机2000接口的编码数据。
CPU 1220可以被配置成运行诸如闪存转换层(FTL)的固件。闪存转换层(FTL)可以具有多种功能。根据一个实施例,闪存转换层(FTL)可以包括多种层,诸如编程时序层、恢复层、地址映射层、读取纠正层等。根据一个实施例,当对选中页的编程操作失败时,闪存转换层(FTL)可以将选中页地址改变为相关联的存储块中的另一个页地址,或者可以将当前存储块地址改变为另一个存储块地址。新的页地址或存储块地址可以经由存储器接口1260传送到存储器件1100。
图3示出图1的存储器件1100的第一子存储器件组1110与控制器1200之间的连接关系。其余的子存储器件组1120至11k0中的每个可以具有类似的与控制器1200的连接关系。
第一子存储器件组1110可以包括多个子存储器件NV11至NV18,所述多个子存储器件NV11至NV18都耦接到单个的第一信道CH1。尽管这个例子示出第一子存储器件组1110包括8个子存储器件NV11至NV18,但是要注意的是,本公开不限于此种方式。根据存储系统,在子存储器件组中可以包括比8个子存储器件更少或更多的子存储器件。子存储器件NV11至NV18可以每个都用易失性存储器件或非易失性存储器件来实施。例如,当应用于便携式电子设备时,子存储器件可以用非易失性存储器件来实施。在一个实施例中,子存储器件NV11至NV18中的每个可以是或包括NAND闪存器件。
图4是图3的第一子存储器件NV11的示图。要注意的是,图3的其余第二子存储器件NV12至第八子存储器件NV18中的每个可以具有与第一子存储器件NV11相同的配置。
参见图4,第一子存储器件NV11可以经由第一信道CH1(图2和图3中所示)接收芯片使能信号CE#、命令锁存器使能信号CLE、地址锁存器使能信号ALE、写入使能信号WE#、就绪-忙碌信号RB#、命令CMD、地址ADD和数据DATA等。可以将芯片使能信号CE#选择性地施加给耦接到单个信道的子存储器件,同时可以将其余信号CLE、ALE、WE#和RB#以及命令CMD、地址ADD和数据DATA中的每个共同施加给耦接到单个信道的子存储器件。根据一个实施例,可以将芯片使能信号CE#选择性地施加给共同耦接到第一信道CH1的每个子存储器件NV11至NV18,同时可以将其余信号CLE、ALE、WE#和RB#以及命令CMD、地址ADD和数据DATA中的每个共同施加给共同耦接到第一信道CH1的子存储器件NV11至NV18。
在命令CMD、地址ADD或数据DATA可以输入到选中子存储器件时,可以将低值的芯片使能信号CE#施加给选中子存储器件。就此而论,其余的未选中(空闲)的子存储器件可以具有被施加至其的高值的芯片使能信号CE#。当命令CMD可以输入到子存储器件时,可以将命令锁存器使能信号CLE设置为高值。当地址ADD可以输入到子存储器件时,可以将地址锁存器使能信号ALE设置为高值。当选中子存储器件执行编程操作时,可以将就绪-忙碌信号RB#设置为低值。在写入使能信号WE#可以从高值转变为低值时,命令CMD和地址ADD可以输入到选中子存储器件。
图5是图4的第一子存储器件NV11的详细框图。图3的其余的第二子存储器件NV12至第八子存储器件NV18中的每个可以具有与第一子存储器件NV11相同的配置。具体地,第一子存储器件NV11可以包括被配置成将数据储存在其中的存储单元阵列110、被配置成执行对存储单元阵列110的编程操作、读取操作或擦除操作的外围电路120以及被配置用于控制外围电路120的控制逻辑130。
存储单元阵列110可以包括多个存储块。存储块可以具有相同的配置。每个存储块可以具有二维或三维结构。每个存储块可以具有包括存储单元的多个串(未示出)。
外围电路120可以包括电压发生器121、行解码器122、页缓冲器123、列解码器124以及输入/输出电路125。
电压发生器121可以响应于操作信号OPSIG来产生多种电平的操作电压Vop。根据一个实施例,基于编程操作信号OPSIG,电压发生器121可以产生用于编程操作的编程电压、编程通过电压、编程验证电压等。
行解码器122可以将操作电压Vop传送到与响应于行地址RADD而选中存储块耦接的字线WL。
页缓冲器123可以经由位线BL连接到存储单元阵列110。响应于页缓冲器控制信号PBSIG,缓冲器123可以对位线BL预充电,或者可以在编程操作期间提供数据给选中存储块,或者可以在读取操作期间暂时储存从选中存储块提供的数据。
列解码器124可以响应于列地址CADD而与页缓冲器123交流数据DATA,或者可以与输入/输出电路125交流数据DATA。
输入/输出电路125可以被配置成将命令CMD和地址ADD从外部设备(例如图2中的存储器控制器1200)传送给控制逻辑130,和/或将数据DATA从外部设备传送给列解码器124,或者将数据DATA从列解码器12输出给外部设备。
控制逻辑130可以被配置成响应于命令CMD和地址ADD,来输出操作信号OPSIG、行地址RADD、页缓冲器控制信号PBSIG和列地址CADD。根据一个实施例,在接收到编程命令CMD时,控制逻辑130可以被配置用于控制外围电路120,以允许页缓冲器123储存数据DATA。在接收到编程开始命令CMD时,控制逻辑130可以被配置用于控制外围电路120,以允许页缓冲器123中的数据DATA被编程到选中存储块中。另外,在接收到停置命令CMD时,控制逻辑130可以被配置用于控制外围电路120,以不允许编程操作且将数据DATA保留在页缓冲器123中。
图6是图5中所示的页缓冲器的例子的示图。
参见图6,页缓冲器123可以包括第一子页缓冲器PB1至第i子页缓冲器PBi。第一子页缓冲器PB1至第i子页缓冲器PBi可以分别耦接到第一位线BL1至第i位线BLi。第一子页缓冲器PB1至第i子页缓冲器PBi可以包括多个锁存器LAT,每个锁存器将来自列解码器(图4的124)的数据暂时储存在其中。每个子页缓冲器PB1至PBi可以包括至少两个锁存器LAT。根据一个实施例,在编程操作期间,每个锁存器可以储存从列解码器124接收的数据,或者可以储存要输入到位线BL1至BLi的数据。在能够在单个存储单元中储存两(2)位或更多位数据的多电平单元(MLC)的情况下,每个页缓冲器PB1至PBi可以包括至少三个锁存器LAT。
图7是根据本公开的一个实施例的编程操作的流程图。参见图7,当控制器1200接收到编程命令CMD时,在步骤61处,控制器1200可以将相同的数据输入至用于编程操作的选中子存储器件和用于编程操作的至少一个空闲(即未选中的)子存储器件二者中。例如,在存储器件1100的第一子存储器件组1110中可以包括选中子存储器件和至少一个空闲子存储器件。可以将数据同时地、顺序地或交叠地输入至选中子存储器件中的页缓冲器和所述至少一个空闲子存储器件中的页缓冲器(或多个页缓冲器)二者中。当选中子存储器件进入编程失败状态时,可以采用所述至少一个空闲子存储器件的页缓冲器中的数据。尽管选中子存储器件和空闲子存储器件可以具有相同的输入数据,但是选中子存储器件可以执行编程操作,而空闲子存储器件可以只是保留数据而不执行编程操作。这可以基于在相同的数据输入之后分别输入到选中子存储器件和空闲子存储器件的命令。
在步骤62处,控制器1200可以响应于编程开始命令而控制外围电路用储存在页缓冲器中的数据来对选中子存储器件的选中页执行编程操作。当选中子存储器件执行编程操作时,所述至少一个空闲子存储器件可以响应于停置命令而停置编程操作。编程操作可以基于页来执行。页可以指分别耦接到字线的存储单元组。编程操作可以经由增量步进脉冲编程(ISPP)来执行,使得可以采用步进式方式来增加编程电压。在ISPP方法中,可以执行多个编程循环,直到选中页中的每个存储单元的阈值电压达到目标电平为止。
在步骤63处,判断对选中页的编程操作通过还是失败。根据一个实施例,每个编程循环可以包括向耦接到选中页的字线施加编程电压,以及对选中用于编程操作的页进行验证。
在对选中页的编程操作的判断为通过时,可以认为,选中页中的每个存储单元的阈值电压达到目标电平且对选中页的编程操作可以结束。
当尽管编程循环可能被执行了最大数量但对选中页的编程操作的判断仍为失败时,可以在步骤64处将地址改变为针对另一选中页。例如,地址改变可以发生在同一存储块中,或者地址改变可以发生在不同的存储块之间。在后者的情况下,可以将地址改变为针对另一存储块的另一页。例如,可以利用控制器1200中的CPU 1220来作出这种改变。
根据完成地址改变的步骤64,在步骤65处,控制器1200可以用至少一个空闲子存储器件中暂时储存的数据来对选中子存储器件执行编程操作。根据一个实施例,控制器1200可以根据在步骤64处改变的地址来执行编程操作。具体地,控制器1200可以经由缓冲存储器1210来将暂时储存在至少一个空闲子存储器件中的数据传送到选中子存储器件的页缓冲器。接下来,控制器1200可以控制外围电路根据在步骤64处改变的地址,来用从至少一个空闲子存储器件提供的数据来对选中子存储器件执行编程操作。
可以按照下面描述的多个实施例来实现编程操作。
图8是说明图7的编程操作的一个实施例的时序图。
参见图8,为了对耦接到相同信道的子存储器件NV11至NV18之中的选中子存储器件SEL执行编程操作,可以用所示的时序顺序来进行编程操作。选中子存储器件SEL可以是第一子存储器件NV11,而其余的未选中的第二子存储器件NV12至第八子存储器件NV18可以是空闲子存储器件IDLE。在空闲子存储器件IDLE之中,至少一个空闲子存储器件可以暂时储存与第一子存储器件NV11储存的数据相同的数据。根据一个实施例,两个或更多个空闲子存储器件可以每个都暂时储存相同的数据。在这个例子中,空闲子存储器件NV13和NV150可以每个都暂时储存相同的数据。在至少两个空闲子存储器件可以每个都暂时储存相同的数据时,可以给所述至少两个空闲子存储器件提供用于另一种操作(诸如读取操作)的新命令。在这种情况下,除了所述至少两个空闲子存储器件中的至少一个之外,可以重置其余的空闲子存储器件的页缓冲器。之后,控制器1200可以响应于提供的读取命令来控制外围电路对其余的空闲子存储器件执行读取操作。例如,当读取命令可以输入至空闲子存储器件NV13和NV15时,空闲子存储器件NV13和NV15中的一个的页缓冲器可以被重置,而另一个可以在其页缓冲器中具有选中子存储器件NV11的数据。
第一数据输入间隔IN1
在第一数据输入间隔IN1期间,选中第一子存储器件NV11和空闲的第三子存储器件NV13和第五子存储器件NV15都可以接收相同的数据。根据一个实施例,可以将相同的数据同时输入至选中第一子存储器件NV11的页缓冲器中以及输入至空闲的第三子存储器件NV13和第五子存储器件NV15的各个页缓冲器中。可以使用来自空闲的第三子存储器件NV13和第五子存储器件NV15的数据。可以不使用来自缓冲存储器的数据。在数据输入到选中子存储器件NV11以及空闲子存储器件NV13和NV15中的每个之前,可以将地址输入到选中子存储器件NV11以及空闲的子存储器件NV13和NV15。将参照图9来更详细描述地址的输入。
第一编程间隔PGM1
在第一数据输入间隔IN1之后的第一编程间隔PGM1期间,控制器1200可以控制外围电路用储存在选中的第一子存储器件NV11的页缓冲器(例如,与选中页相对应的子页缓冲器)中的数据来对选中的第一子存储器件NV11执行编程操作。根据一个实施例,可以针对选中的第一子存储器件NV11中的选中存储块中的选中存储页执行编程操作。在这种状态下,可以不对空闲的第三子存储器件NV13和第五子存储器件NV15执行编程操作。
当选中的第一子存储器件NV11进入编程失败状态时,控制器1200可以经由缓冲存储器1210来将数据从空闲的第三子存储器件NV13或第五子存储器件NV15传送到选中的第一子存储器件NV11。例如,控制器1200可以将地址改变为指示选中的第一子存储器件NV11中的同一存储块的另一页或另一存储块的页以用于编程操作。然后,控制器1200可以控制外围电路根据改变的地址来对选中的第一子存储器件NV11执行编程操作。可选地,控制器1200可以将选中子存储器件从第一子存储器件NV11改变为第二空闲子存储器件NV12至第八空闲子存储器件NV18中的一个以用于编程操作。
当对选中的第一子存储器件NV11的选中页的编程成功时,空闲的第三子存储器件NV13和第五子存储器件NV15的页缓冲器(更具体地,图5中的子页缓冲器PB1至PBi)可以分别被重置。然后,控制器1200可以控制外围电路来对选中的第一子存储器件NV11的下一页执行编程操作。在完成对选中页的编程操作之时,下一页可以经历编程操作。可以在第二数据输入间隔IN2和相关联的第二编程间隔PGM2(分别等同于第一数据输入间隔IN1和第一编程间隔PGM1)期间对下一页执行编程操作。
下面将参照图9来描述用于在如图8中示出的编程操作期间向选中的子存储器件和空闲的子存储器件都输入相同数据的方法。在图9中,出于说明的目的,在编程操作期间,第一子存储器件NV11是选中的子存储器件而第三子存储器件NV13是空闲子存储器件。然而,要注意的是,本发明不限于此种方式,选中的子存储器件和空闲子存储器件的任何可能的组合是可能的。例如,第五子存储器件NV15可以是空闲子存储器件而第二子存储器件NV12可以是选中的子存储器件。
参见图4和图9,编程过程可以包括:公共命令输入间隔,在公共命令输入间隔期间准备针对选中的第一子存储器件NV11和空闲的第三子存储器件NV13的编程操作;地址输入间隔,在地址输入间隔期间,地址输入至选中的第一子存储器件NV11和空闲的第三子存储器件NV13;数据输入间隔,在数据输入间隔期间,数据输入至选中的第一子存储器件NV11和空闲的第三子存储器件NV13;编程开始命令输入间隔,在编程开始命令输入间隔期间,编程开始命令输入至选中的第一子存储器件NV11;以及编程停置间隔,在编程停置间隔期间,在对选中的第一子存储器件NV11的编程操作期间不对空闲的第三子存储器件NV13执行编程操作。
在公共命令输入间隔期间,可以施加低电平的芯片使能信号CE#给选中的第一子存储器件NV11和空闲的子存储器件NV13,使得可以共同经由输入/输出端子IO将编程命令80h发送给选中的第一子存储器件NV11和空闲的子存储器件NV13。例如,可以将高电平的芯片使能信号CE#提供给其余的空闲子存储器件。为了告知命令输入,命令锁存器使能信号CLE可以被设置为高电平,相应地,可以经由输入/输出端子IO提供编程命令80h。当写入使能信号WE#从低电平转变到高电平时,可以同时向选中的第一子存储器件NV11和空闲的子存储器件NV13二者都施加编程命令80h。例如,在写入使能信号WE#的上升沿,可以向选中的第一子存储器件NV11和空闲的第三子存储器件NV13施加编程命令80h。当第一子存储器件NV11和第三子存储器件NV13中的每个接收编程命令80h时,命令锁存器使能信号CLE可以从高电平再次转变到低电平。
在地址输入间隔期间,用于加载地址的地址锁存器使能信号ALE可以从低电平转变到高电平。因为应当将地址共同地施加给选中的第一子存储器件NV11和空闲的子存储器件NV13,所以可以将施加给选中的第一子存储器件NV11和空闲的第三子存储器件NV13的芯片使能信号CE#保持为低电平。可以将地址集A0至Ai(i包括正整数)顺序地加载到输入/输出端子IO。输入/输出端子IO可以在写入使能信号WE#的上升沿将加载的地址集A0至Ai并行地输出给选中的第一子存储器件NV11和空闲的第三子存储器件NV13。当选中的第一子存储器件NV11和空闲的第三子存储器件NV13中的每个接收地址集A0至Ai时,地址锁存器使能信号ALE可以再次转变为低电平。
在数据输入间隔期间,数据集D0至Dn(n包括正整数)可以顺序地加载到输入/输出端子IO。输入/输出端子IO可以响应于数据选通信号DQS而将加载的数据集A0至An并行地输出给选中的第一子存储器件NV11和空闲的第三子存储器件NV13。根据一个实施例,数据集A0至An可以在数据选通信号DQS的上升沿和下降沿二者处输入到选中的第一子存储器件NV11和空闲的第三子存储器件NV13。
在编程开始命令输入间隔期间,施加给空闲的第三子存储器件NV13的芯片使能信号CE#可以转变到高电平,而施加给选中的第一子存储器件NV11的芯片使能信号CE#保持在低电平。为了对选中的第一子存储器件NV11执行编程操作,可以将编程开始命令10h加载到输入/输出端子IO。为了使输入/输出端子IO将加载的编程开始命令10h输入到选中的第一子存储器件NV11,写入使能信号WE#可以从高电平转变到低电平,以及再转变到高电平。例如,由于编程开始命令10h在写入使能信号WE#的上升沿输入到选中的第一子存储器件NV11,因此高电平的写入使能信号WE#可以转变到低电平,然后到高电平。
在编程停置间隔期间,控制器1200可以控制外围电路开始对选中的第一子存储器件NV11执行编程操作。在对选中的第一子存储器件NV11的编程操作期间,就绪-忙碌信号RB#可以从高电平转变到低电平,然后可以保持在低电平。在对选中的第一子存储器件NV11的编程操作期间,空闲的第三子存储器件NV13应当处于编程停置状态。例如,施加给选中的第一子存储器件NV11的芯片使能信号CE#可以转变到高电平,而施加给空闲的第三子存储器件NV13的芯片使能信号CE#可以转变到低电平。为了使第三子存储器件NV13保持其编程停置状态,可以将停置命令11h加载到输入/输出端子IO。为了使输入/输出端子IO将加载的停置命令11h输入到第三子存储器件NV13,写入使能信号WE#可以从高电平转变到低电平,以及再转变到高电平。例如,由于应当在写入使能信号WE#的上升沿处将停置命令11h施加给第三子存储器件NV13,因此高电平的写入使能信号WE#可以转变到低电平,然后到高电平。
不同的子存储器件可以并行地接收相同的数据,然后可以处于不同的操作状态。如上所述,这可以经由芯片使能信号CE#的控制使得相同的数据并行地输入至不同的子存储器件,以及经由不同的命令的施加使得不同的子存储器件可以处于不同的操作状态来实现。
图10是说明图7中的编程操作的一个实施例的时序图。
参见图10,可以用图示的时序顺序来进行编程操作,以便对耦接到相同信道的子存储器件NV11至NV18之中的选中子存储器件SEL执行编程操作。例如,选中子存储器件SEL可以是第一子存储器件NV11至第四子存储器件NV14,而其余的空闲子存储器件IDLE或未选中的子存储器件可以是第五子存储器件NV15至第八子存储器件NV18。
第一数据可以输入到选中的第一子存储器件NV11和空闲的第五子存储器件NV15二者。第二数据可以输入到选中的第二子存储器件NV12和空闲的第六子存储器件NV16二者。第三数据可以输入到选中的第三子存储器件NV13和空闲的第七子存储器件NV17二者。第四数据可以输入到选中的第四子存储器件NV14和空闲的第八子存储器件NV18二者。上述组合仅仅是为了方便下面的描述的例子。因此要注意的是,可以采用选中的器件和相关联的空闲器件的任何组合。例如,第一数据可以输入到选中的第一子存储器件NV11和空闲的第八子存储器件NV18二者。第二数据可以输入到选中的第二子存储器件NV12和空闲的第七子存储器件NV17二者。第三数据可以输入到选中的第三子存储器件NV13和空闲的第六子存储器件NV16二者。第四数据可以输入到选中的第四子存储器件NV14和空闲的第五子存储器件NV15二者。下面将描述针对选中子存储器件的编程操作的时序顺序的例子。
第一数据输入间隔IN1
在第一数据输入间隔IN1期间,第一数据可以并行地输入到选中的第一子存储器件NV11和空闲的第五子存储器件NV15二者。根据一个实施例,第一数据可以并行地输入到选中的第一子存储器件NV11的页缓冲器和空闲的第五子存储器件NV15的页缓冲器二者。因此,当对选中的第一子存储器件NV11编程失败时,不来自缓冲存储器1210但来自与第一子存储器件NV11耦接到相同的信道的第五空闲子存储器件NV15的第一数据可以是可用的。
编程间隔PGM1
在第一数据输入间隔IN1之后的第一编程间隔PGM1期间,控制器1200可以控制外围电路用储存在第一子存储器件NV11的页缓冲器(例如,与选中页相对应的子页缓冲器)中的第一数据来对选中的第一子存储器件NV11执行编程操作。根据一个实施例,可以针对选中的第一子存储器件NV11中的选中存储块中的选中存储页执行编程操作。在这种状态下,可以不对空闲的第五子存储器件NV15执行编程操作。
当第一子存储器件NV11进入编程失败状态时,控制器1200可以将第一数据经由缓冲存储器1210从空闲的第五子存储器件NV15传送到选中的第一子存储器件NV11。例如,控制器1200可以将地址改变为指示选中第一子存储器件NV11中的同一存储块的另一页或另一存储块的页以用于编程操作。然后,控制器1200可以控制外围电路根据改变的地址来对选中的第一子存储器件NV11执行编程操作。可选地,控制器1200可以将选中的子存储器件从第一子存储器件NV11改变为第二空闲子存储器件NV12至第八空闲子存储器件NV18中的一个以用于编程操作。
第二数据输入间隔IN2
当在第一编程间隔PGM1期间对第一子存储器件NV11的选中页编程成功时,空闲的第五子存储器件NV15的页缓冲器(更具体而言,图5中的子页缓冲器PB1至PBi)可以被重置。然后,控制器1200可以控制外围电路对选中的第一子存储器件NV11的下一页执行编程操作。在完成对选中页的编程操作时,下一页可以经历编程操作。可以在第二数据输入间隔IN2和相关联的第二编程间隔PGM2(分别等同于如上所述的第一数据输入间隔IN1和第一编程间隔PGM1)期间对下一页执行编程操作。
在第一编程间隔PGM1之后的针对选中的第一子存储器件NV11的下一页的编程操作的第二数据输入间隔IN2期间,第二数据可以并行地输入到选中的第一子存储器件NV11和空闲的第五子存储器件NV15。根据一个实施例,可以将第二数据并行地输入到第一子存储器件NV11的页缓冲器和第五子存储器件NV15的页缓冲器二者。例如,每个页缓冲器中的不同的子页缓冲器可以供第一数据输入间隔IN1和第二数据输入间隔IN2期间提供的第一数据和第二数据使用,因为对于第一数据和第二数据选择不同的页。因此,当对选中的第一子存储器件NV11编程失败时,不来自缓冲存储器1210的但来自与第一子存储器件NV11耦接到相同信道的第五空闲子存储器件NV15的第一数据是可用的。
第二编程间隔PGM2
在第二数据输入间隔IN2之后的第二编程间隔PGM2期间,控制器1200可以控制外围电路用储存在第一子存储器件NV11的页缓冲器(例如,与当前页相对应的改变了的子页缓冲器)中的第二数据来对选中的第一子存储器件NV11执行编程操作。根据一个实施例,可以针对选中的第一子存储器件NV11中的选中存储块中的当前选中页执行编程操作。在这种情况下,可以不对空闲的第五子存储器件NV15执行编程操作。
当第一子存储器件NV11进入编程失败状态时,控制器1200可以将第二数据经由缓冲存储器1210从空闲的第五子存储器件NV15传送到选中的第一子存储器件NV11。例如,控制器1200可以将地址改变为指示选中的第一子存储器件NV11中的同一存储块的另一页或另一存储块的页以用于编程操作。然后,控制器1200可以控制外围电路根据改变的地址来对选中的第一子存储器件NV11执行编程操作。可选地,控制器1200可以将选中的子存储器件从第一子存储器件NV11改变为第二空闲子存储器件NV12至第八空闲子存储器件NV18中的一个以用于编程操作。
当在第二编程间隔PGM2期间对选中的第一子存储器件NV11的选中页编程成功时,空闲的第五子存储器件NV15的页缓冲器(更具体地,图5中的子页缓冲器PB1至PBi)可以被重置。然后,控制器1200可以控制外围电路对选中的第一子存储器件NV11的下一页执行编程操作。可以按照与上述相同的方式来执行后续的对下一页的操作。
第三数据输入间隔IN3
针对选中的第二子存储器件NV12和空闲的第六子存储器件NV16的编程操作的数据输入间隔IN3可以设置在第一数据输入间隔IN1与第二数据输入间隔IN2之间,使得数据输入间隔IN3不与第一数据输入间隔IN1与第二数据输入间隔IN2交叠。共享同一信道的第一子存储器件NV11至第八子存储器件NV18不能同时都传送不同的数据。
在第三输入间隔IN3期间,第三数据可以并行地输入到选中的第二子存储器件NV12和空闲的第六子存储器件NV16二者。根据一个实施例,第三数据可以并行地输入到选中的第二子存储器件NV12的页缓冲器和空闲的第六子存储器件NV16的页缓冲器二者。因此,当对选中的第一子存储器件NV11编程失败时,不来自缓冲存储器1210但来自与第二子存储器件NV12耦接到相同信道的空闲的第六子存储器件NV16的第三数据是可用的。
第三编程间隔PGM3
在第三数据输入间隔IN3之后的第三编程间隔PGM3期间,控制器1200可以控制外围电路用储存在第二子存储器件NV12的页缓冲器(例如,与选中页相对应的子页缓冲器)中的第三数据来对选中的第二子存储器件NV12执行编程操作。根据一个实施例,可以对选中的第二子存储器件NV12中的选中存储块中的选中存储页执行编程操作。在这种状态下,可以不对空闲的第六子存储器件NV16执行编程操作。
当第二子存储器件NV12进入编程失败状态时,控制器1200可以经由缓冲存储器1210将第三数据从空闲的第六子存储器件NV16传送到选中的第二子存储器件NV12。例如,控制器1200可以将地址改变为指示选中的第二子存储器件NV12中的同一存储块的另一页或另一存储块的页以用于编程操作。然后,控制器1200可以控制外围电路根据改变的地址来对选中的第二子存储器件NV12执行编程操作。可选地,控制器1200可以将选中的子存储器件从第二子存储器件NV12改变为第一空闲子存储器件NV11和第三空闲子存储器件NV13至第八空闲子存储器件NV18中的一个以用于编程操作。
第四数据输入间隔IN4
当在第三编程间隔PGM3期间对选中的第二子存储器件NV12的选中页编程成功时,空闲的第六子存储器件NV16的页缓冲器(更具体地,图5中的子页缓冲器PB1至PBi)可以被重置。然后,控制器1200可以控制外围电路对选中的第二子存储器件NV12的下一页执行编程操作。在完成对选中页的编程操作之时,下一页可以经历编程操作。可以在第四数据输入间隔IN4和相关联的第四编程间隔PGM4期间(分别等同于如上所述的第三数据输入间隔IN3和第三编程间隔PGM3)对下一页执行编程操作。
在第三编程间隔PGM3之后,在针对选中的第二子存储器件NV12的下一页的编程操作的第四数据输入间隔IN4期间,第四数据可以并行地输入给选中的第二子存储器件NV12和空闲的第六子存储器件NV16二者。根据一个实施例,第四数据可以并行地输入给选中的第二子存储器件NV12的页缓冲器和空闲的第六子存储器件NV16的页缓冲器二者。例如,每个页缓冲器中的不同的子页缓冲器可以供第三数据输入间隔IN3和第四数据输入间隔IN4期间提供的第三数据和第四数据使用,因为对于第三数据和第四数据选择不同的页。因此,当对选中的第二子存储器件NV12编程失败时,不来自缓冲存储器1210但来自与第二子存储器件NV12耦接到相同信道的空闲第六子存储器件NV16的第三数据和第四数据是可用的。
第四编程间隔PGM4
在第四数据输入间隔IN4之后的第四编程间隔PGM4期间,控制器1200可以控制外围电路用储存在第二子存储器件NV12的页缓冲器(例如,与当前页相对应的改变的子页缓冲器)中的第四数据来对选中的第二子存储器件NV12执行编程操作。根据一个实施例,可以对选中的第二子存储器件NV12中的选中存储块中的选中存储页执行编程操作。在这种状态下,可以不对空闲的第六子存储器件NV16执行编程操作。
当第二子存储器件NV12进入编程失败状态时,控制器1200可以经由缓冲存储器1210将第四数据从空闲的第六子存储器件NV16传送到选中的第二子存储器件NV12。例如,控制器1200可以将地址改变为指示选中的第二子存储器件NV12中的同一存储块的另一页或另一存储块的页以用于编程操作。然后,控制器1200可以控制外围电路根据改变的地址来对选中的第二子存储器件NV12执行编程操作。可选地,控制器1200可以将选中的子存储器件从第二子存储器件NV12改变为第一空闲子存储器件NV11和第三空闲子存储器件NV13至第八空闲子存储器件NV18中的一个以用于编程操作。
当在第四编程间隔PGM4期间对选中的第二子存储器件NV12的选中页编程成功时,空闲的第六子存储器件NV16的页缓冲器(更具体地,图5中的子页缓冲器PB1至PBi)可以被重置。然后,控制器1200可以控制外围电路对选中的第二子存储器件NV12的下一页执行编程操作。后续的对下一页的操作可以按照与上述相同的方式来执行。
之后,可以按照与第一数据输入间隔IN1至第四数据输入间隔IN4和第一编程间隔PGM1至第四编程间隔PGM4中的方式相同的方式来进行第五数据输入间隔IN5至第八数据输入间隔IN8和相关联的第五编程操作间隔PGM5至第八编程操作间隔PGM8。
图11是说明图7中的编程操作的另一个实施例的时序图。
参见图11,可以以所示的时序顺序来进行编程操作,以便对耦接到相同信道的子存储器件NV11至NV18之中的选中子存储器件SEL执行编程操作。在此实施例中,选中子存储器件SEL的数量可以大于空闲的或未选中的子存储器件IDLE的数量。例如,选中的子存储器件SEL可以是第一子存储器件NV11至第五子存储器件NV15,而其余的空闲的或未选中的子存储器件IDLE可以是第六子存储器件NV16至第八子存储器件NV18。这种划分是示范性的,是为了下面将要进行的描述的方便。
第一数据输入间隔IN1至第六数据输入间隔IN6和相关联的编程间隔PGM1至PGM6
在第一数据输入间隔IN1至第六数据输入间隔IN6和相对应的第一编程间隔PGM1至第六编程间隔PGM6期间,对选中的第一子存储器件NV11至第三子存储器件NV13和空闲的第六子存储器件NV16至第八子存储器件NV18的编程操作可以与参照图10所描述的相同。
第七数据输入间隔IN7至第十数据输入间隔IN10和相关联的编程间隔PGM7至
PGM10
当存储系统1000不具有足够的空闲子存储器件来用于选中的第四子存储器件NV14和选中的第五子存储器件NV15时,如图11中所示,选中的第四子存储器件NV14和选中的第五子存储器件NV15可以采用不来自空闲器件但来自控制器1200中的缓冲存储器1210的数据。在对第四子存储器件NV14和第五子存储器件NV15编程失败的情况下,控制器1200可以将缓冲存储器1210暂时储存的数据分别提供给第四子存储器件NV14和第五子存储器件NV15。例如,控制器1200可以将地址改变为指示选中的第四子存储器件NV14和选中的第五子存储器件NV15中的同一存储块的另一页或另一存储块的页以用于编程操作。然后,控制器1200可以控制外围电路根据改变的地址来对选中的第四子存储器件NV14和选中的第五子存储器件NV15执行编程操作。可选地,控制器1200可以将选中的子存储器件从第四子存储器件NV14和第五子存储器件NV15改变为第一空闲子存储器件NV11至第三空闲子存储器件NV13和第六空闲子存储器件NV16至第八空闲子存储器件NV18中的一个以用于编程操作。
根据本公开,在编程操作期间,可以较少频率地访问控制器1200中的缓冲存储器1210。这可以降低控制器1200的负载,且可以保护控制器的缓冲存储器中的存储空间。另外,经由并行地输入数据给共享同一信道的不同子存储器件,可以缩短数据传输时间,导致控制器的性能提高。
图12是根据本公开的一个实施例的包括存储系统的计算系统的示图。
参见图12,根据本公开的一个实施例的计算系统4000可以包括可以经由系统总线而全部彼此电连接的存储器件1100、存储器控制器1200、微处理器4100、用户接口4200和调制解调器4400。计算系统4000可以用移动设备来实现,且可以例如包括提供其操作电压的电池(未示出)。可以认识到,计算系统4000还可视需要而提供有应用芯片组、相机图像处理器(CIS)、移动DRAM等。在一个实施例中,存储器控制器1200和存储器件1110可以配置在一起而形成SSD(固态驱动器/盘)。
计算系统4000可以包括存储器件1100,存储器件1100包括至少一个子存储器件组,每个组包括多个子存储器件,每个信道分配一个组。控制器1200可以被配置用于控制存储器件。控制器1200还可以被配置成:将数据储存至用于编程操作的未选中子存储器件中的至少一个和用于编程操作的选中的子存储器件,其中选中的子存储器件和未选中的子存储器件属于单个子存储器件组;(a)允许用储存在其中的数据来对选中的子存储器件编程,以及在对选中的子存储器件的编程操作(a)失败的情况下,(b)允许用储存在未选中的子存储器件中的数据来对选中的子存储器件编程。
在一种实施方式中,计算系统4000中的存储系统(1200和1100)可以采用各种形式来封装。例如,这种封装可以包括但不限于,层叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、华夫包式裸片(a die inwaffle pack)、晶圆形式裸片(a die in wafer form)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料度量四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外型集成电路(SOIC)、收缩型小外型封装(SSOP)、薄型小外型封装(TSOP)、薄型四方扁平封装(TQFP)、系统封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或者晶圆级处理层叠封装(WSP)等。
上面的描述没有按照限制的意义来进行,而仅仅是出于描述本发明的实施例的目的。在已经阅读了本公开之后,在不脱离由所附权利要求所限定的本发明的范围的情况下,许多另外的实施例对于本领域技术人员将是明显的。
Claims (20)
1.一种存储系统, 包括:
存储器件,所述存储器件包括耦接到信道的子存储器件;以及
控制器,所述控制器被配置为控制存储器件以:在使用第一数据的对子存储器件之中的选中子存储器件的第一编程操作期间,将第一数据储存在子存储器件之中的所述选中子存储器件和至少一个空闲子存储器件中,以及依据对所述选中子存储器件的第一编程操作的失败,用储存在所述至少一个空闲子存储器件中的第一数据对选中子存储器件执行第二编程操作,
在所述控制器将用于所述第一编程操作的编程命令输入到所述选中子存储器件中之后,所述控制器将编程停置命令输入到所述至少一个空闲子存储器件中,以保持所述至少一个空闲子存储器件的空闲状态。
2.根据权利要求1所述的存储系统,其中,每个子存储器件包括用于储存第一数据的页缓冲器。
3.根据权利要求1所述的存储系统,其中,控制器将第一数据同时输入到选中子存储器件和所述至少一个空闲子存储器件中。
4.根据权利要求1所述的存储系统,其中,控制器包括用于暂时储存数据的缓冲存储器。
5.根据权利要求4所述的存储系统,其中,依据对选中子存储器件的第一编程操作的失败,所述控制器经由缓冲存储器来将第一数据从所述至少一个空闲子存储器件传送到选中子存储器件以用于第二编程操作。
6.根据权利要求5所述的存储系统,其中,控制器控制外围电路通过将地址改变为指示选中子存储器件的另一存储区以用于第二编程操作来对选中子存储器件执行第二编程操作。
7.根据权利要求1所述的存储系统,其中,控制器在将第一数据储存在所述至少一个空闲子存储器件之前,提供地址给选中子存储器件和所述至少一个空闲子存储器件。
8.根据权利要求1所述的存储系统,其中,所述至少一个空闲子存储器件耦接到与选中子存储器件的信道相同的信道。
9.根据权利要求1所述的存储系统,其中,依据对选中子存储器件的第一编程操作的成功,控制器将所述至少一个空闲子存储器件中的储存了第一数据的页缓冲器重置。
10.根据权利要求1所述的存储系统,其中,如果响应于新命令而执行对所述至少一个空闲子存储器件中的一部分的读取操作,则所述控制器将所述至少一个空闲子存储器件中的一部分的页缓冲器重置以经历读取操作,直至剩余至少一个储存了第一数据的空闲子存储器件。
11.一种操作存储器控制器的方法,包括:
输入第一数据到耦接到同一信道的第一子存储器件和第二子存储器件中;
将编程停置命令输入给所述第二子存储器件以及将编程命令输入到所述第一子存储器件中;
控制所述第一子存储器件以用输入到所述第一子存储器件中的第一数据来执行第一编程操作;以及
控制所述第一子存储器件以依据所述第一编程操作的失败而用储存在第二子存储器件中的第一数据来执行第二编程操作。
12.根据权利要求11所述的方法,还包括:控制所述第二子存储器件以响应于第一编程操作的成功而删除所述第一数据。
13.根据权利要求11所述的方法,其中,对第一子存储器件中的存储块之中的选中存储块的选中页执行第一编程操作。
14.根据权利要求13所述的方法,其中,控制所述第一子存储器件来执行所述第二编程操作包括:将地址改变为指示所述第一子存储器件的另一存储区以用于第二编程操作。
15.根据权利要求14所述的方法,其中,地址指示第一子存储器件中所包括的页和存储块中的一种或更多种。
16.一种操作存储器控制器的方法,包括:
将用于对第一子存储器件的第一编程操作的编程命令输入到第一子存储器件和第二子存储器件中;
将用于第一编程操作的地址和第一数据输入到第一子存储器件和第二子存储器件中;
将用于第一编程操作的编程开始命令输入到第一子存储器件中;以及
将编程停置命令输入给第二子存储器件以在第一编程操作期间保持空闲。
17.根据权利要求16所述的方法,其中,输入编程命令以及输入地址和第一数据每个都包括:
输入激活的芯片使能信号给第一子存储器件和第二子存储器件,以及
输入未激活的芯片使能信号给除第一子存储器件和第二子存储器件之外的其余子存储器件。
18.根据权利要求16所述的方法,其中,输入编程开始命令包括:
输入激活的芯片使能信号给第一子存储器件,以及
输入未激活的芯片使能信号给第二子存储器件。
19.根据权利要求16所述的方法,其中,输入编程停置命令包括:
输入未激活的芯片使能信号给第一子存储器件,以及
输入激活的芯片使能信号给第二子存储器件。
20.根据权利要求16所述的方法,还包括:
依据第一编程操作的失败,用储存在第二子存储器件中的第一数据来对第一子存储器件执行第二编程操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150126374A KR102312399B1 (ko) | 2015-09-07 | 2015-09-07 | 메모리 시스템 및 이의 동작 방법 |
KR10-2015-0126374 | 2015-09-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106504788A CN106504788A (zh) | 2017-03-15 |
CN106504788B true CN106504788B (zh) | 2020-10-13 |
Family
ID=58189454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610141526.0A Active CN106504788B (zh) | 2015-09-07 | 2016-03-11 | 具有空闲存储器件的存储系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10037247B2 (zh) |
KR (1) | KR102312399B1 (zh) |
CN (1) | CN106504788B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052464A (zh) * | 2018-01-12 | 2018-05-18 | 江苏华存电子科技有限公司 | 用于分散与降低非易失性储存装置峰值电流与功耗的方法 |
KR102485411B1 (ko) | 2018-03-02 | 2023-01-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20220025558A (ko) | 2020-08-24 | 2022-03-03 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073561A (zh) * | 2011-01-26 | 2011-05-25 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘写操作纠错的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0752399B2 (ja) * | 1988-06-30 | 1995-06-05 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 記憶システム |
GB0326293D0 (en) * | 2003-11-12 | 2003-12-17 | Ibm | Data storage systems |
JP4062247B2 (ja) * | 2003-12-11 | 2008-03-19 | ソニー株式会社 | 半導体記憶装置 |
KR100850270B1 (ko) | 2007-02-08 | 2008-08-04 | 삼성전자주식회사 | 페일비트 저장부를 갖는 반도체 메모리 장치 |
KR101297563B1 (ko) | 2007-11-15 | 2013-08-19 | 삼성전자주식회사 | 스토리지 관리 방법 및 관리 시스템 |
US8572311B1 (en) * | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
KR20120091648A (ko) * | 2011-02-09 | 2012-08-20 | 삼성전자주식회사 | 비휘발성 메모리, 이를 포함하는 시스템, 및 이의 프로그램 방법 |
TWI454922B (zh) * | 2011-12-19 | 2014-10-01 | Phison Electronics Corp | 記憶體儲存裝置及其記憶體控制器與資料寫入方法 |
DE112011106013T5 (de) * | 2011-12-21 | 2014-10-02 | Intel Corp. | System und Verfahren für den intelligenten Datentransfer von einem Prozessor in ein Speicheruntersystem |
KR101969883B1 (ko) | 2012-04-13 | 2019-04-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20140080216A (ko) * | 2012-12-20 | 2014-06-30 | 에스케이하이닉스 주식회사 | 반도체 메모리 시스템 및 그의 동작 방법 |
US9037903B2 (en) * | 2012-12-28 | 2015-05-19 | Intel Corporation | Apparatus and method for partial memory mirroring |
KR20140142793A (ko) | 2013-06-04 | 2014-12-15 | 삼성전자주식회사 | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
KR102074329B1 (ko) | 2013-09-06 | 2020-02-06 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 처리 방법 |
WO2015164049A1 (en) * | 2014-04-25 | 2015-10-29 | Rambus, Inc. | Memory mirroring |
US9798628B2 (en) * | 2014-04-25 | 2017-10-24 | Rambus Inc. | Memory mirroring |
KR20170030900A (ko) * | 2015-09-10 | 2017-03-20 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US10095618B2 (en) * | 2015-11-25 | 2018-10-09 | Intel Corporation | Memory card with volatile and non volatile memory space having multiple usage model configurations |
-
2015
- 2015-09-07 KR KR1020150126374A patent/KR102312399B1/ko active IP Right Grant
-
2016
- 2016-02-19 US US15/048,514 patent/US10037247B2/en active Active
- 2016-03-11 CN CN201610141526.0A patent/CN106504788B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073561A (zh) * | 2011-01-26 | 2011-05-25 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘写操作纠错的方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20170029261A (ko) | 2017-03-15 |
KR102312399B1 (ko) | 2021-10-15 |
US20170068604A1 (en) | 2017-03-09 |
CN106504788A (zh) | 2017-03-15 |
US10037247B2 (en) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9032272B2 (en) | Memory systems and block copy methods thereof | |
CN109427400B (zh) | 存储器装置及其操作方法 | |
US10777264B2 (en) | Nonvolatile memory device and program method and program verification method thereof | |
KR100902008B1 (ko) | 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템 | |
US9281068B2 (en) | Nonvolatile memory and related reprogramming method | |
US8934304B2 (en) | Operating method of nonvolatile memory device and operating method of memory system including nonvolatile memory device | |
CN107045892B (zh) | 非易失性存储器和包括非易失性存储器的存储装置 | |
CN107871515B (zh) | 半导体存储器装置及其操作方法 | |
US11989082B2 (en) | Non-volatile memory device, method of operating the device, and memory system including the device | |
JP2008108418A (ja) | マルチページプログラムの方法、及びこれを行うためのフラッシュメモリ装置 | |
CN110780802A (zh) | 存储器控制器及其操作方法 | |
US20200098439A1 (en) | Memory system, operation method thereof, and nonvolatile memory device | |
KR20180029432A (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
CN106504788B (zh) | 具有空闲存储器件的存储系统及其操作方法 | |
US10073741B2 (en) | Memory system with reduced program time and method of operating the same | |
US20210166747A1 (en) | Memory device and method of operating the memory device | |
US11048440B2 (en) | Memory system, memory device and operating method thereof | |
US20160062688A1 (en) | Flash memory device, flash memory system, and operating method | |
CN112908388A (zh) | 存储器装置及其操作方法 | |
US11908523B2 (en) | Express programming using advanced cache register release in a memory sub-system | |
US11688465B2 (en) | Memory system having memory controller | |
US20240203501A1 (en) | Programming operation using cache register release in a memory sub-system | |
CN115691617A (zh) | 单层级单元存储器的混合并行编程 | |
CN116580744A (zh) | 存储器装置中的双单层级单元编程 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |