存储器系统及其操作方法与流程

文档序号:11589876阅读:352来源:国知局

相关申请的交叉引用

本申请根据美国法典第35卷119条要求于2016年2月1日提交的申请号为10-2016-0012395的韩国专利申请的优先权,其全文通过引用并入本文。

本发明的示例性实施例涉及半导体设计技术,并且尤其涉及包含多层单元的存储器系统的数据输入/输出操作。



背景技术:

计算机环境范式已经转变为可随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用得以迅速增加。这些便携式电子装置可以使用具有用于存储数据的存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。

由于使用半导体存储器装置的存储器系统不具有活动部件,所以它们提供了优良的稳定性、耐久性、高信息存取速度以及低功耗。具有这些优点的存储器系统的示例包括通用串行总线(usb)存储器、具有多种接口的存储卡和固态驱动器(ssd)。



技术实现要素:

各个实施例涉及即使当编程操作在存储器系统启动编程操作之后被突然中止或终止时仍然能够快速并且稳定地中止或终止编程操作的存储器系统及其操作方法。

在实施例中,存储器系统可以包括:多个第一和第二存储器装置,其中每个包括m位多层单元(mlc)、m位多级缓冲区和一个或多个发送缓冲区,其中m为等于或大于2的整数;高速缓冲存储器,其适于缓存输入至所述多个第一和第二存储器装置或从所述多个第一和第二存储器装置输出的数据;以及控制器,其适于无论何时编程数据以m位被缓存到高速缓冲存储器中,都通过将编程数据传递至选择的存储器装置的m位多级缓冲区中来将由高速缓冲存储器缓存的编程数据编程至从第一和第二存储器装置中选择的存储器装置中,并且其适于控制所述选择的存储器装置以执行编程准备操作的除次要准备操作以外的必要准备操作,直到所述编程数据的输入结束或者所述所述选择的存储器装置的m位多级缓冲区已满。

当所述编程数据的输入结束或者所述选择的存储器装置的m位缓冲区已满时,所述控制器控制所述选择的存储器装置以执行所述编程准备操作的次要准备操作,然后将存储在所述选择的存储器装置的m位多级缓冲区中的数据通过所述选择的存储器装置的发送缓冲区一次编程至所述选择的存储器装置的第一m位mlc。

所述编程准备操作的必要准备操作可以包括对存储在所述选择的存储器装置的m位多级缓冲区中的数据进行排序的数据排序操作;以及所述编程准备操作的次要准备操作可以包括对通过所述数据排序操作被排序并存储至所述选择的存储器装置的m位多级缓冲区内的数据进行校验的数据校验操作,以及通过所述数据校验操作被校验的数据被一次编程至所述选择的存储器装置的第一m位mlc时所使用的电压产生操作。

当在所述编程数据的输入结束或者所述第一存储器装置的m位多级缓冲区已满之前的所述选择的存储器装置请求读取操作时,同时当所述编程数据被编程至所述选择的存储器装置时,所述控制器在不使用所述选择的存储器装置的m位多级缓冲区的情况下,通过所述选择的存储器装置的发送缓冲区从所述选择的存储器装置的第二m位mlc一位一位地输出读取数据。

当每个所述第一存储器装置可以执行所述编程准备操作的次要准备操作,并且存储在所述第一存储器装置的所述m位多级缓冲区内的数据被一次编程至其所述的m位mlc时,每个所述第二存储器装置执行所述编程准备操作的除所述次要准备操作以外的必要准备操作,并且所述编程数据存储在所述第二存储器装置的所述m位多级缓冲区中;以及当每个所述第二存储器装置可以执行所述编程准备操作的次要准备操作,并且存储在所述第二存储器装置的所述m位多级缓冲区内的数据被一次编程至其所述的m位mlc时,每个所述第一存储器装置执行所述编程准备操作的除所述次要准备操作以外的必要准备操作,并且所述编程数据存储在所述第一存储器装置的所述m位多级缓冲区中。

所述读取数据可以包括从通过主机的请求来选择的存储块输出的数据或者在垃圾回收操作期间从所述第一或第二存储器装置的受损块输出的有效数据。

所述编程数据可以包括待存储在通过主机的请求来选择的存储块中的数据或者在垃圾回收操作期间待存储在所述第一或第二存储器装置的目标块中的有效数据。

在实施例中,存储器系统的操作方法包括多个第一和第二存储器装置,所述多个第一和第二存储器装置的每个包括m位多层单元(mlc)、m位多级缓冲区和一个或多个发送缓冲区,其中m为等于或大于2的整数,以及用于缓存被输入至所述多个第一和第二存储器装置或从所述多个第一和第二存储器装置输出的数据的高速缓冲存储器,所述操作方法可以包括:无论何时所述编程数据以m位被缓冲至所述高速缓冲存储器时,将所述高速缓冲存储器缓存的编程数据传递至从所述第一和第二存储器装置中选择的存储器装置的m位多级缓冲区以将所述编程数据编程至所述选择的存储器装置;以及控制所述选择的存储器装置以执行编程准备操作的除次要准备操作以外的必要准备操作,直到所有的所述编程数据存储至所述选择的存储器装置的m位多级缓冲区中或者通过所述编程数据的传递所述选择的存储器装置的m位多级缓冲区已满。

操作方法还可以包括当所有的编程数据存储在所述选择的存储器的m位多级缓冲区内或者通过所述编程数据的传递所述选择的存储器装置的m位多级缓冲区已满时:控制所述选择的存储器装置以执行所述编程准备操作的次要准备操作;以及将存储在所述选择的存储器装置的m位多级缓冲区内的数据通过所述选择的存储器装置的发送缓冲区一次编程至所述选择的存储器装置的第一m位mlc。

所述编程准备操作的必要准备操作可以包括对存储在所述选择的存储器装置的m位多级缓冲区中的数据进行排序的数据排序操作,以及所述编程准备操作的次要准备操作可以包括对通过所述数据排序操作而被排序并存储至所述选择的存储器装置的m位多级缓冲区中的数据进行校验的数据校验操作,以及当通过所述数据校验操作被校验的数据被一次编程至所述选择的存储器装置的第一m位mlc时所使用的电压产生操作。

操作方法还可以包括当所述选择的存储器装置需要读取操作时,同时当所述编程数据通过所述编程数据的传递存储在所述选择的存储器装置的m位多级缓冲区中时,在不使用所述选择的存储器装置的m位缓冲区的情况下,通过所述选择的存储器装置的发送缓冲区从所述选择的存储器装置的第二m位mlc一位一位地输出读取数据。

当每个所述第一存储器装置可以执行所述编程准备操作的次要准备操作,并且存储在所述第一存储器装置的m位多级缓冲区内的数据被一次编程至其m位mlc时,每个所述第二存储器装置执行所述编程准备操作的除所述次要准备操作以外的必要准备操作,并且所述编程数据存储在所述第二存储器装置的m位多级缓冲区中;以及当每个所述第二存储器装置可以执行所述编程准备操作的次要准备操作,并且存储在所述第二存储器装置的m位多级缓冲区内的数据被一次编程至其m位mlc时,每个所述第一存储器装置执行所述编程准备操作的除所述次要准备操作以外的必要准备操作,并且所述编程数据存储在所述第一存储器装置的m位多级缓冲区中。

所述读取数据可以包括从通过主机的请求来选择的存储块输出的数据或者在垃圾回收操作期间从所述第一或第二存储器装置的受损块输出的有效数据。

所述编程数据可以包括待存储在通过主机的请求来选择的存储块中的数据或者在垃圾回收操作期间待存储在所述第一或第二存储器装置的目标块中的有效数据。

在实施例中,存储器系统可以包括:多个第一第二存储器装置,所述多个第一第二存储器装置的每个包括m位多层单元(mlc)、m位多级缓冲区和一个或多个发送缓冲区,其中m为等于或大于2的整数;高速缓冲存储器,其适于缓存被输入至所述多个第一和第二存储器装置或从所述多个第一和第二存储器装置输出的数据;以及控制器,其适于将由所述高速缓冲存储器缓存的编程数据通过所述选择的存储器装置的m位多级缓冲区编程至从所述第一和第二存储器中选择的存储器装置的第一mlc。所述控制器可以控制所述选择的存储器装置以当所述编程数据被传递并存储至其所述的m位多级缓冲区中时执行编程准备操作的必要准备操作,并在存储在其所述的m位多级缓冲区中的数据通过其发送缓冲区被一次编程至所述第一mlc时执行所述编程准备操作的次要准备操作。

所述编程准备操作的必要准备操作包括对存储在所述选择的存储器装置的m位多级缓冲区的数据进行排序的数据排序操作;以及所述编程准备操作的次要准备操作可以包括对通过所述数据排序操作被排序并存储至所述选择的存储器装置的m位多级缓冲区内的数据进行校验的数据校验操作,以及通过所述数据校验操作被校验的数据被一次编程至所述选择的存储器装置的第一m位mlc时所使用的电压产生操作。

当所述选择的存储器装置执行所述编程准备操作的必要准备操作时,在不使用其所述的m位多级缓冲区的情况下,所述控制器可以通过所述选择的存储器装置的发送缓冲区从所述选择的存储器装置的第二m位mlc一位一位地输出读取数据。

当所述第一存储器装置可以执行所述编程准备操作的次要准备操作时,所述第二存储器装置执行所述编程准备操作的必要准备操作;以及

当所述第二存储器装置可以执行所述编程准备操作的次要准备操作时,所述第一存储器装置执行所述编程准备操作的必要准备操作。

附图说明

图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的图。

图2是示出根据本发明的实施例的包括多个储存块的存储器装置的图。

图3是示出根据本发明的实施例的存储器装置的存储块的电路图。

图4、5、6、7、8、9、10和11是示出根据本发明的各个实施例的示意性示出了存储器装置的图。

图12是示出根据本发明的实施例的包括多个存储器装置的存储器系统的框图。

图13示出根据本发明的实施例的示出了图12中的存储器系统的每个存储器装置的详细配置的图。

图14是用于描述在图13中的存储器装置中执行的一般编程操作被突然中止或终止的情况下的时序图。

图15是用于描述在图13中的存储器装置中执行的特定编程操作被突然中止或终止的情况下的时序图。

图16是示出了当根据本发明的实施例的特定编程操作被执行时,被设为编程目标的存储器装置的缓冲区状态的图。

图17和图18是示出了根据本发明的实施例的其中特定编程操作被应用于图12至图16的存储器系统的示例的框图。

具体实施方式

以下将参照附图对本发明的各个实施例进行更详细地描述。然而,本发明可以不同的形式呈现并且不应解释为限于本文阐述的实施例。而是,这些实施例被提供使得本公开将是彻底且完整的,并将向本领域技术人员充分传达本发明。在整个公开中,遍及本发明的各个附图和实施例中相似的参考标记指代相似的部件。

除非另有定义,否则包括本文所使用的技术和科学术语的所有术语与本发明所属领域内的普通技术人员通常所理解的术语具有相同的意义。将进一步理解的是,术语例如那些在常用的字典中定义的术语,应当理解为其意义与其在相关领域的语境中的意义相一致并且不应当以理想化或过于正式的概念来理解,除非本文中有明确定义。

本发明可以具有不同的变型和实施例,并且在本文中,一些实施例被当作示例以描述本发明的概念和范围。然而,对于本领域技术人员而言显而易见的是,实施例不限定本发明的概念和范围。此外,本发明的实施例的构成元件应当理解为包括所有的变型、替代物以及等同物。在这方面,随后在图1至9中示出的用于描述本发明的原理的实施例不应当被解释为是限制性的而应当是说明性的。

将进一步理解的是,尽管术语“第一”、“第二”和“第三”等可以用于此以描述各个元件,然而这些元件并不由这些术语所限制。使用这些术语以区分一个元件与另一个元件。因此,在不偏离本发明的精神和范围的情况下,下文所描述的第一元件也可以被称为第二元件或者第三元件。

将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一个元件时,其可以直接在另一个元件上、直接连接至或联接至另一个元件,或者可能存在一个或多个中间元件。此外,也将理解的是,当一个元件被称为在两个元件“之间”时,其可以是在这两个元件之间的唯一的元件,或者也可以存在一个或多个中间元件。

本文所使用的术语只是为了描述特定实施例而并不旨在限制本发明。正如本文所使用的那样,除非上下文清楚地指明,否则单数形式也旨在包括复数形式。将进一步理解的是,在本说明书中使用的术语“包含”、“包含了”、“包括”和“包括了”表明所述元件的存在但不排除一个或多个其它元件的存在或添加。正如本文所使用的那样,术语“和/或”包括一个或多个所列相关项目的任意个或全部的组合。

在下文的描述中,阐述大量具体细节是为了提供对本发明的全面的理解。本发明可以在没有某些或全部这些具体细节的情况下实施。在其它实例中,为了不使本发明不必要地难以理解,公知的过程结构和/或过程没有被详细描述。

在一些实例中,对于本领域技术人员而言,将显而易见的,与特定实施例有关的所描述的元件可以单独使用或与其它实施例结合使用,除非另有具体指明。

在下文中,将参照附图详细描述本发明的各个实施例。

现在参照图1,根据本发明的实施例,提供数据处理系统100。数据处理系统100可以包括主机102和存储器系统110。

主机102可以包括任何适当的电子装置。例如,主机102可以包括诸如移动电话、mp3播放器、膝上型电脑等的便携式电子装置。主机可以包括非便携式电子装置,诸如台式电脑、游戏机、电视机、投影仪等。

存储器系统110可以响应于来自主机102的请求存储待被主机102访问的数据。存储器系统110可以被用作主机102的主存储器系统或者辅助存储器系统。根据主机接口的协议,存储器系统110可以实施为与主机102电联接。可以使用一个或多个半导体存储器装置。可以使用易失性存储器装置或非易失性存储器装置。例如,存储器系统110可以利用固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、减小尺寸的mmc(rs-mmc)和微型-mmc、安全数字(sd)卡、迷你-sd和微型-sd、通用串行总线(usb)存储装置、通用闪速存储(ufs)装置、标准闪存(cf)卡、智能媒体(sm)卡、记忆棒等来实现。

存储器系统110的存储装置可以利用诸如动态随机存取存储器(dram)和静态随机存取存储器(sram)等的易失性存储器装置来实现。可选地,存储器系统110的存储装置可以利用诸如只读存储器(rom)、掩膜rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电随机存取存储器(fram)、相变ram(pram)、磁阻ram(mram)和电阻式ram(rram)等的非易失性存储器装置来实现。

存储器系统110可以包括用于存储数据的存储器装置150和用于控制数据在存储器装置150内存储的控制器130。在存储器装置150内存储的数据可以被主机102访问。

控制器130和存储器装置150可以集成到单个半导体装置内。例如,控制器130和存储器装置150可以集成到配置为固态驱动器(ssd)的半导体装置内。将存储器系统110配置为ssd通常可以允许主机102的操作速度得以显著增加。

控制器130和存储器装置150可以集成到诸如个人计算机存储卡国际协会(pcmcia)卡、标准闪存(cf)卡、智能媒体(sm)卡(smc)、记忆棒、多媒体卡(mmc)、rs-mmc和微型-mmc、安全数字(sd)卡、迷你-sd、微型-sd和sdhc以及通用闪速存储(ufs)装置等的配置为存储卡的半导体装置内。

并且,例如,存储器系统110可以是或包含计算机、超级移动pc(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(pmp)、便携式游戏机、导航装置、黑盒、数码相机、数字多媒体广播(dmb)播放器、三维(3d)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储器、能够在无线环境下发送和接收信息的装置、配置家庭网络的各种电子装置中的一种、配置计算机网络的各种电子装置中的一种、配置远程信息处理网络的各种电子装置中的一种、rfid装置以及配置计算系统的各种构成元件中的一种等。

存储器装置150可以存储由主机102提供的数据。在读取操作期间,存储器装置150可以向主机102提供存储的数据。一个或多个存储器装置150可以被采用。一个或多个存储器装置150可以基本上相同。一个或多个存储器装置可以是不同的存储器装置。存储器装置150可以包括一个或多个存储块152、154和156。存储块152、154和156中的每个可以包括多个页面。每个页面可以包括电联接至多条字线(wl)的多个存储器单元。存储器装置150可以是即使在电源被中断或关闭时仍能够保留存储的数据的非易失性存储器装置。根据实施例,存储器装置可以是闪速存储器。存储器装置可以是具有三维(3d)堆叠结构的闪速存储器装置。本文稍后将参照图2至图11来描述具有三维(3d)堆叠结构的非易失性存储器装置150的示例。

控制器130可以控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和/或擦除操作。通常,控制器130可以响应于来自主机102的请求控制存储器装置150。例如,控制器130可以响应于来自主机102的读取请求向主机102提供从存储器装置150读取的数据。或者,也作为示例,控制器可以响应于写入请求将主机102提供的数据存储至存储器装置150中。

可以使用任何适当的控制器。例如,控制器130可以包括主机接口单元132、处理器134、错误校正码(ecc)单元138、电源管理单元(pmu)140、nand闪速控制器(nfc)142和存储器144。

主机接口单元132可以处理由主机102提供的指令和/或数据。主机接口单元132可以通过诸如通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci-e)、串行scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、集成驱动电子设备(ide)等的多个接口协议中的至少一个与主机102通信。主机接口单元132可以包括适于与主机102和当可能被需要时控制器130的其它组件通信的任何适当的电路、系统或装置。

ecc单元138可以在读取操作期间检测和校正从存储器装置150读取的数据的错误。可以采用各种检测和校正技术。例如,如果由ecc单元138检测的错误位的数量大于或等于可校正错误位的阈值,则ecc单元138可不校正错误位并输出指示校正错误位失败的错误校正失败信号。

ecc单元138可以基于任何合适的错误校正机制来执行错误校正操作。例如,ecc单元138可以基于诸如例如低密度奇偶校验(ldpc)码、博斯-乔德里-霍昆格姆(bch)码、turbo码、里德-所罗门(rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)、分组编码调制(bcm)等的编码调制机制来执行错误校正操作。ecc单元138可以包括错误检测和校正操作所需要的任何适当的电路、系统或装置。

pmu140可以提供和管理用于控制器130的电源。例如,当可能需要时,pmu140可以为控制器130的各种组件提供和管理电源。

nfc142可以用作控制器130和存储器装置150之间的存储器接口以允许控制器130响应于来自主机102的请求控制存储器装置150。例如,nfc142可以产生用于存储器装置150的控制信号。例如,当存储器装置150是闪速存储器特别是nand闪速存储器时,nfc可以在处理器134的控制下处理数据。

存储器144可以用作存储器系统110和控制器130的工作存储器,并存储用于驱动存储器系统110和控制器130的数据。例如,当控制器130控制存储器装置150的操作时,存储器144可以存储被控制器130和存储器装置150用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。

存储器144可以是易失性存储器或包含易失性存储器。例如,存储器144可以是静态随机存取存储器(sram)或动态随机存取存储器(dram)或者包含静态随机存取存储器(sram)或动态随机存取存储器(dram)。如上所述,存储器144可以存储被主机102和存储器装置150用于读取和/或写入操作的数据。存储器144可以是编程存储器、数据存储器、写入缓冲区、读取缓冲区、映射缓冲区等或包含这些装置。

处理器134可以控制存储器系统110的一般操作。例如,处理器134可以响应于来自主机102的写入请求控制用于存储器装置150的写入操作。并且,例如,处理器134可以响应于来自主机102的读取请求控制用于存储器装置150的读取操作。处理器134可以驱动又被称为闪存转换层(ftl)的固件以控制存储器系统110的一般操作。处理器134可以利用微处理器和中央处理单元(cpu)等来实现。可以使用任何适当的处理器。

例如,管理单元(未示出)可以被包括在处理器134内用于执行存储器装置150的坏块管理。因此,管理单元可以找出包括在存储器装置150内的坏存储块,即,处于用于进一步使用的不令人满意的条件下的存储块,并对坏存储块执行坏块管理操作。例如,当例如nand闪速存储器的闪速存储器被用作存储器装置150时,由于nand逻辑功能的固有特征,在写入操作期间可能出现编程失败。在坏块管理期间,编程失败的存储块(例如,坏存储块)的数据可以被编程到新的存储块中。由于编程失败导致的坏块可以使存储器装置尤其是具有3d堆叠结构的存储器装置的使用效率严重恶化,并因此对存储器系统110的可靠性产生负面影响。

参照图2,存储器装置150可以包括多个存储块,例如,第0至第(n-1)块210至240,其中n为正整数。多个存储块210至240中的每个可以包括多个页面,例如,2m数量的页面(2m个页面),其中m为正整数。多个页面中的每个页面可以包括多个存储器单元,多条字线可以被电联接至多个存储器单元。应该注意的是,可以采用任意数量的合适块和每块的页面。

根据每个存储器单元中可存储或表达的位的数量,存储块可以是单层单元(slc)存储块和/多层单元(mlc)存储块。slc存储块可以包括利用存储器单元来实现的多个页面,其中每个存储器单元能够存储1位数据。mlc存储块可以包括利用存储器单元实现的多个页面,其中每个存储器单元能够存储多位数据,例如,2位或者更多位数据。包括利用每个都能够存储3位数据的存储器单元实现的多个页面的mlc存储块可以被采用并将被称为三层单元(tlc)存储块。

多个存储块210至240中的每个可以在写入操作期间存储由主机装置102提供的数据,并在读取操作期间向主机102提供所存储的数据。

参照图3,存储器装置150的存储块152可以包括分别电联接至位线bl0至blm-1的多个单元串340。每个单元串340可以包括至少一个漏极选择晶体管dst和至少一个源极选择晶体管sst。多个存储器单元或多个存储器单元晶体管mc0至mcn-1可以串联地电联接在选择晶体管dst和sst之间。各自的存储器单元mc0至mcn-1可以由多层单元(mlc)组成,其中每个多层单元存储多个位的数据信息。存储器单元可以具有任何适当的架构。

在图3中,“dsl”表示漏极选择线,“ssl”表示源极选择线,并且“csl”表示共源线。

图3作为示例示出由nand闪速存储器单元配置的存储块152。然而,应注意的是,存储块152不限于nand闪速存储器并且在其它实施例中,其可以由nor闪速存储器、结合至少两种存储器单元的混合闪速存储器或者内置在存储器芯片中的具有控制器的nand闪速存储器来实现。并且,半导体装置的操作特征不仅可以应用于其中电荷存储层由导电浮置栅极配置的闪速存储器装置而且可以应用于其中电荷存储层由介电层配置的电荷捕获闪存(ctf)。

还应注意的是,存储器装置150不只限于闪速存储器装置。例如,存储器装置150可以是dram或sram装置。

存储器装置150的电压供应块310可以产生待根据操作模式提供至各自的字线的字线电压,例如,编程电压、读取电压或通过电压。电压供应块310可以产生待被提供给体材料(bulk)例如其中形成有存储器单元的阱区的电压。电压供应块310可以在控制电路(未示出)的控制下执行电压产生操作。电压供应块310可以产生多个可变的读取电压以产生多个读取数据。在控制电路的控制下,电压供应块310可以选择存储块或存储器单元阵列的扇区中的一个、选择被选择的存储块的字线中的一个以及向被选择的字线和未被选择的字线提供字线电压。

存储器装置150的读取/写入电路320可以由控制电路控制并可以根据操作模式用作感测放大器或者写入驱动器。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列中读取数据的感测放大器。并且,在编程操作期间,读取/写入电路320可以用作写入驱动器以用于根据将待存储在存储器单元阵列中的数据来驱动位线。读取/写入电路320可以在编程操作期间从缓冲区(未示出)接收将被写入存储器单元阵列内的数据,并可以根据被输入的数据驱动位线。为此,读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲区322、324和326。页面缓冲区322、324和326中的每个可以包括多个锁存器(未示出)。

图4是示出根据本发明的实施例的存储器装置150的多个存储块152至156的示例的框图。

如图4中所示,存储器装置150可以包括多个存储块blk0至blkn-1。存储块blk0至blkn-1中的每个可以3d结构或垂直结构实现。各自的存储块blk0至blkn-1可以包括在第一至第三方向例如x-轴方向、y-轴方向和z-轴方向上延伸的多个结构。

各自的存储块blk0至blkn-1可以包括在第二方向上延伸的多个nand串ns(图8)。多个nand串ns可以设置在第一方向和第三方向上。每个nand串ns可以电联接至位线bl、至少一个源极选择线ssl、至少一个接地选择线gsl、多个字线wl、至少一个虚拟字线dwl和共源线csl。各自的存储块blk0至blkn-1可以电联接至多个位线bl、多个源极选择线ssl、多个接地选择线gsl、多个字线wl、多个虚拟字线dwl和多个共源线csl。

图5是在图4中所示的多个存储块blk0至blkn-1中的一个存储块blki的立体图。图6是图5中所示的存储块blki的沿线i-i'截取的截面。

参照图5和图6,存储块blki可以包括在第一至第三方向上延伸的结构。

存储块可以包括衬底5111,衬底5111包括掺杂有第一类型杂质的硅材料。例如,衬底5111可以包括掺杂有p-型杂质的硅材料。衬底5111可以是p-型阱,例如,袋状(pocket)p-阱。衬底5111可以进一步包括围绕p-型阱的n-型阱。尽管在本发明的实施例中衬底5111被例示为p-型硅,但应注意的是,衬底5111不限于p-型硅。

在第一方向上延伸的多个掺杂区域5311至5314可以设置在衬底5111上方。掺杂区域在第三方向上以均匀间隔隔开。多个掺杂区域5311至5314可以含有与在衬底5111中所使用的杂质类型不同的第二类型杂质。例如,多个掺杂区域5311至5314可以掺杂有n-型杂质。尽管在本发明的实施例中第一至第四掺杂区域5311至5314被例示为n-型,但应注意的是,它们不限于n-型。

在衬底5111上方、介于第一和第二掺杂区5311和5312之间的区域内,在第一方向上延伸的多个介电材料区域5112可以在第二方向上以均匀的间隔隔开。介电材料区域5112也可以在第二方向上以预设的距离与衬底5111分离。每个介电材料区域5112可以在第二方向上以预设的距离与另一个分离。介电材料5112可以包括任何适当的介电材料,例如氧化硅。

在衬底5111上方、介于两个连续掺杂区域之间例如介于掺杂区域5311和5312之间的区域内,多个柱状物5113在第一方向上以均匀间隔隔开。多个柱状物5113在第二方向上延伸并可以穿过介电材料区域5112,使得其可以与衬底5111电联接。每个柱状物5113可以包括一种或多种材料。例如,每个柱状物5113可以包括内层5115和外表面层5114。表面层5114可以包括掺杂有杂质的掺杂硅材料。例如,表面层5114可以包括掺杂有与衬底5111相同的或相同类型的杂质的硅材料。尽管在本发明的实施例中表面层5114被例示为包括p-型硅,但表面层5114不限于p-型硅并且其它实施例可以被技术人员容易想出,其中衬底5111和柱状物5113的表面层5114可以掺杂有n-型杂质。

每个柱状物5113的内层5115可以由介电材料形成。内层5115可以是介电材料或包括介电材料,例如氧化硅。

在第一和第二掺杂区域5311和5312之间的区域内,介电层5116可以沿着介电材料区域5112、柱状物5113和衬底5111的暴露表面设置。介电层5116的厚度可以小于介电材料区域5112之间的距离的一半。换言之,不同于介电材料5112和介电层5116的材料的区域可以设置在(i)在介电材料区域5112的第一介电材料的底表面下方的介电层5116和(ii)设置在介电材料区域5112的第二介电材料的顶表面上方的介电层5116之间。介电材料区域5112可以位于第一介电材料下方。

在介于连续掺杂区域之间的区域内,例如在第一和第二掺杂区域5311和5312之间的区域内,多个导电材料区域5211至5291可以被置在介电层5116的暴露表面上方。在第一方向上延伸的多个导电材料区域可以在与多个介电材料区域5112的交叉配置中在第二方向上以均匀间隔隔开。介电层5116填充导电材料区域和介电材料区域5112之间的空间。因此,例如,在第一方向上延伸的导电材料区域5211可以设置在邻近衬底5111的介电材料区域5112和衬底5111之间。特别地,在第一方向上延伸的导电材料区域5211可以设置在(i)设置在衬底5111上方的介电层5116和(ii)设置在邻近衬底5111的介电材料区域5112的底表面下方的介电层5116之间。

在第一方向上延伸的导电材料区域5211至5291中的每个可以设置在(i)设置在一个介电材料区域5112的顶表面上方的介电层5116和(ii)设置在下一个介电材料区域5112的底表面下方的介电层5116之间。在第一方向上延伸的导电材料区域5221至5281可以设置在介电材料区域5112之间。在第一方向上延伸的顶部导电材料区域5291可以设置在最上面的介电材料5112上方。在第一方向上延伸的导电材料区域5211至5291可以由金属材料制成或包括金属材料。在第一方向上延伸的导电材料区5211至5291可以由导电材料制成或者包括导电材料,例如多晶硅。

在第二掺杂区域5312和第三掺杂区域5313之间的区域内,可以设置与第一和第二掺杂区域5311和5312之间的结构相同的结构。例如,在第二和第三掺杂区域5312和5313之间的区域内,可以设置在第一方向上延伸的多个介电材料区域5112、在第一方向上顺序地设置并在第二方向上穿过多个介电材料区域5112的多个柱状物5113、设置在多个介电材料区域5112和多个柱状物5113的暴露表面上方的介电层5116以及在第一方向上延伸的多个导电材料区域5212至5292。

在第三掺杂区域5313和第四掺杂区域5314之间的区域内,可以设置与第一和第二掺杂区域5311和5312之间的结构相同的结构。例如,在第三和第四掺杂区域5313和5314之间的区域内,可以设置在第一方向上延伸的多个介电材料区域5112、在第一方向上顺序地设置并在第二方向上穿过多个介电材料区域5112的多个柱状物5113、设置在多个介电材料区域5112和多个柱状物5113的暴露表面上方的介电层5116以及在第一方向上延伸的多个导电材料区域5213至5293。

漏极5320可以分别设置在多个柱状物5113上方。漏极5320可以由掺杂有第二类型杂质的硅材料制成。漏极5320可以由掺杂有n-型杂质的硅材料制成。尽管为了解释的方便性,漏极5320被例示为包含n-型硅,但应注意的是,漏极5320不限于n-型硅。例如,每个漏极5320的宽度可以大于每个对应的柱状物5113的宽度。每个漏极5320可以焊盘的形状设置在每个对应的柱状物5113的顶表面上方。

在第三方向上延伸的导电材料区域5331至5333可以被设置在漏极5320上方。每个导电材料区域5331至5333可延伸地设置在在第三方向上以在第一方向上彼此之间预设的分离距离来被连续布置的漏极5320的上方。各自的导电材料区域5331至5333可以与其下的漏极5320电联接。漏极5320和在第三方向上延伸的导电材料区域5331至5333可以通过接触插塞电联接。在第三方向上延伸的导电材料区域5331至5333可以由金属材料制成。在第三方向上延伸的导电材料区域5331至5333可以由导电材料制成,例如多晶硅。

在图5和图6中,各自的柱状物5113可以与介电层5116和在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293一起形成串。各自的柱状物5113可以与介电层5116以及在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293一起形成nand串ns。每个nand串ns可以包括多个晶体管结构ts。

现在参照图7,在图6中所示的晶体管结构ts中,介电层5116可以包括第一至第三子介电层5117、5118和5119。

在每个柱状物5113内的p-型硅的表面层5114可以用作主体。邻近柱状物5113的第一子介电层5117可以用作隧穿介电层,并可以包括热氧化层。

第二子介电层5118可以用作电荷存储层。第二子介电层5118可以用作电荷捕获层,并且可以包括氮化物层或者诸如氧化铝层、二氧化铪层等的金属氧化物层。

邻近导电材料5233的第三子介电层5119可以用作阻挡介电层。邻近在第一方向上延伸的导电材料5233的第三子介电层5119可以形成为单层或多层。第三子介电层5119可以是介电常数大于第一子介电层5117和第二子介电层5118的诸如氧化铝层和二氧化铪层等的高k介电层。

导电材料5233可以用作栅或控制栅。例如,栅或控制栅5233、阻挡介电层5119、电荷存储层5118、隧穿介电层5117以及主体5114可以形成晶体管或存储器单元晶体管结构。例如,第一至第三子介电层5117至5119可以形成氧化物-氮化物-氧化物(ono)结构。在本实施例中,为了解释的方便性,每个柱状物5113中的p-型硅的表面层5114将被称作第二方向上的主体。

存储块blki可以包括多个柱状物5113。例如,存储块blki可以包括多个nand串ns。具体地,存储块blki可以包括在第二方向或垂直于衬底5111的方向上延伸的多个nand串ns。

每个nand串ns可以包括设置在第二方向上的多个晶体管结构ts。每个nand串ns的多个晶体管结构ts中的至少一个可以用作串源极晶体管sst。每个nand串ns的多个晶体管结构ts中的至少一个可以用作接地选择晶体管gst。

栅或控制栅可以对应于在第一方向上延伸的导电材料区域5211至5291、5212至5292以及5213至5293。例如,栅极或控制栅极可以在第一方向上延伸并形成字线和包括至少一个源极选择线ssl和至少一个接地选择线gsl的至少两个选择线。

在第三方向上延伸的导电材料区域5331至5333可以电联接至nand串ns的一端。在第三方向上延伸的导电材料区域5331至5333可以用作位线bl。例如,在一个存储块blki中,多个nand串ns可以电联接至一个位线bl。

在第一方向上延伸的第二类型掺杂区域5311至5314可以设置至nand串ns的另一端。在第一方向上延伸的第二类型掺杂区域5311至5314可以用作共源线csl。

例如,存储块blki可以包括在垂直于衬底5111的方向例如第二方向上延伸的多个nand串ns并可以用作例如电荷捕获类型存储器的nand闪速存储块,其中多个nand串ns被电联接至一个位线bl。

尽管在图5至图7中示出在第一方向上延伸的导电材料区域5211至5291、5212至5292以及5213至5293被设置为九(9)层,但应注意的是,在第一方向上延伸的导电材料区域5211至5291、5212至5292以及5213至5293不限于此。例如,在第一方向上延伸的导电材料区域可以被设置在八(8)层、十六(16)层或任意的多个层内。例如,在一个nand串ns内,晶体管的数量可以是8个、16个或更多个。

尽管在图5至图7中示出三(3)个nand串ns电联接至一个位线bl,但应注意的是,本实施例并不限于此。在存储块blki中,m个nand串ns可以电联接至一个位线bl,m为正整数。在第一方向上延伸的导电材料区域5211至5291、5212至5292以及5213至5293的数量和共源线5311至5314的数量可以随着电联接至一个位线bl的nand串ns的数量变化。

另外,尽管图5至图7中示出三(3)个nand串ns电联接至在第一方向上延伸的一个导电材料,但应注意的是,本实施例并不限于此。例如,n个nand串ns可以电联接至在第一方向上延伸的一个导电材料,n为正整数。位线5331至5333的数量可以随着电联接至在第一方向上延伸的一个导电材料的nand串ns的数量变化。

参照图8,在具有第一结构的块blki内,多个nand串ns11至ns31可以设置在第一位线bl1和共源线csl之间。第一位线bl1可以对应于图5和图6的在第三方向上延伸的导电材料区域5331。nand串ns12至ns32可以设置在第二位线bl2和共源线csl之间。第二位线bl2可以对应于图5和图6的在第三方向上延伸的导电材料区域5332。nand串ns13至ns33可以设置在第三位线bl3和共源线csl之间。第三位线bl3可以对应于图5和图6的在第三方向上延伸的导电材料区域5333。

每个nand串ns的源极选择晶体管sst可以电联接至对应的位线bl。每个nand串ns的接地选择晶体管gst可以电联接至共源线csl。存储器单元mc1和mc6可以设置在每个nand串ns的源极选择晶体管sst和接地选择晶体管gst之间。

在本示例中,nand串ns可以由行和列的单元来定义。电联接至一个位线的nand串ns可以形成一列。电联接至第一位线bl1的nand串ns11至ns31可以对应于第一列。电联接至第二位线bl2的nand串ns12至ns32可以对应于第二列。电联接至第三位线bl3的nand串ns13至ns33可以对应于第三列。电联接至一个源极选择线ssl的nand串ns可以形成一行。电联接至第一源极选择线ssl1的nand串ns11至ns13可以形成第一行。电联接至第二源极选择线ssl2的nand串ns21至ns23可以形成第二行。电联接至第三源极选择线ssl3的nand串ns31至ns33可以形成第三行。

在每个nand串ns内,高度可以被定义。在每个nand串ns内,邻近接地选择晶体管gst的存储器单元mc1的高度可以具有例如值“1”。在每个nand串ns内,当从衬底5111测量时,随着存储器单元越来越靠近源极选择晶体管sst,存储器单元的高度可以增加。例如,在每个nand串ns内,邻近源极选择晶体管sst的存储器单元mc6的高度可以具有例如值“7”。

布置在相同行内的nand串ns的源极选择晶体管sst可以共享源极选择线ssl。布置在不同行内的nand串ns的源极选择晶体管sst可以分别电联接至不同的源极选择线ssl1、ssl2和ssl3。

在相同行内的nand串ns内的相同高度上的存储器单元可以共享字线wl。例如,在相同高度处,电联接至不同行内的nand串ns的存储器单元mc的字线wl可以彼此之间电联接。在相同行的nand串ns内的相同高度上的虚拟存储器单元dmc可以共享虚拟字线dwl。例如,在相同高度或水平处,电联接至在不同行内的nand串ns的虚拟存储器单元dmc的虚拟字线dwl可以彼此之间电联接。

位于相同水平或高度或层上的字线wl或虚拟字线dwl对于可设置在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293的每层可以彼此之间电联接。在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293可以通过接触部共同电联接至上层。换言之,在相同行内的nand串ns的接地选择晶体管gst可以共享接地选择线gsl。另外,在不同行内的nand串ns的接地选择晶体管gst可以共享接地选择线gsl。例如,nand串ns11至ns13、ns21至ns23和ns31至ns33可以共同电联接至接地选择线gsl。

共源线csl可以共同电联接至nand串ns。在衬底5111上方、在有源区域上方,第一至第四掺杂区域5311至5314可被电联接。第一至第四掺杂区域5311至5314可以通过接触部共同电联接至上层。

例如,如图8所示,相同高度或水平的字线wl可以互相之间电联接。因此,当在特定高度处的字线wl被选择时,被电联接至所选择的字线wl的全部nand串ns可以被选择。在不同行内的nand串ns可以电联接至不同的源极选择线ssl。因此,在电联接至相同字线wl的nand串ns中,通过选择源极选择线ssl1至ssl3中的一个,未选择的行内的nand串ns可以与位线bl1至bl3电隔离。换言之,通过选择源极选择线ssl1至ssl3中的一个,布置在与选择的源极线相同的行内的nand串ns可以被选择。此外,通过选择位线bl1至bl3中的一个,布置在与选择的位线相同的列内的nand串ns可以被选择。因此,只有布置在与选择的源极线相同的行和与选择的位线相同的列内的nand串ns可以被选择。

在每个nand串ns内,可以设置虚拟存储器单元dmc。在图8内,例如,虚拟存储器单元dmc可以设置在每个nand串ns内的第三存储器单元mc3和第四存储器单元mc4之间。例如,第一至第三存储器单元mc1至mc3可以设置在虚拟存储器单元dmc和接地选择晶体管gst之间。第四至第六存储器单元mc4至mc6可以设置在虚拟存储器单元dmc和源极选择晶体管sst之间。每个nand串ns的存储器单元mc可以被虚拟存储器单元dmc划分为两(2)个存储器单元组。在划分的存储器单元组内,邻近接地选择晶体管gst的存储器单元例如mc1至mc3可以被称作下部存储器单元组,并且邻近串选择晶体管sst的剩余存储器单元例如mc4至mc6可以被称作上部存储器单元组。

在下文中,将参照图9至图11进行详细描述,图9至图11示出根据利用不同于第一结构的三维(3d)非易失性存储器装置实现的实施例的存储器系统内的存储器装置。

图9是示意性地示出了利用不同于上文参照图5至图8所描述的第一结构的三维(3d)非易失性存储器装置实施的存储器装置并示出了图4的多个存储块的存储块blkj的立体图。图10是示出了沿着图9的线vii-vii'截取的存储块blkj的截面图。

参照图9和图10,存储块blkj可以包括在第一至第三方向上延伸的结构并可以包括衬底6311。衬底6311可以包括掺杂有第一类型杂质的硅材料。例如,衬底6311可以包含掺杂有p-型杂质的硅材料。衬底6311可以是p-型阱,例如,袋状p-阱。衬底6311还可以包括n-型阱,其围绕p-型阱。尽管在所述实施例中衬底6311被例示为p-型硅,但应注意的是,衬底6311并不限于p-型硅。

在x-轴方向和y-轴方向上延伸的第一至第四导电材料区域6321至6324设置在衬底6311上方。第一至第四导电材料区域6321至6324可以在z-轴方向上以预设的距离隔开。

在x-轴方向和y-轴方向上延伸的第五至第八导电材料区域6325至6328可以设置在衬底6311上方。第五至第八导电材料区域6325至6328可以在z-轴方向上以预设的距离隔开。第五至第八导电材料区域6325至6328可以在y-轴方向上与第一至第四导电材料区域6321至6324隔开。

可以设置穿过第一至第四导电材料区域6321至6324的多个下部柱状物dp。每个下部柱状物dp可以在z-轴方向上延伸。并且,可以设置穿过第五至第八导电材料区域6325至6328的多个上部柱状物up。每个上部柱状物up可以在z-轴方向上延伸。

下部柱状物dp和上部柱状物up中的每个可以包括内部材料6361、中间层6362和表面层6363。中间层6362可以用作单元晶体管的沟道。表面层6363可以包括阻断介电层、电荷存储层和隧穿介电层。

下部和上部柱状物dp和up可以通过管栅pg彼此之间电联接。管栅pg可以设置在衬底6311内。例如,管栅pg可以包括与下部柱状物dp和上部柱状物up相同的材料。

在x-轴方向和y-轴方向上延伸的第二类型的掺杂材料6312可以设置在下部柱状物dp上方。例如,第二类型的掺杂材料6312可以包括n-型硅材料。第二类型的掺杂材料6312可以用作共源线csl。

漏极6340可以被设置在上部柱状物up上方。漏极6340可以包括n-型硅材料。在y-轴方向上延伸的第一和第二上部导电材料区域6351和6352可以设置在漏极6340上方。

第一和第二上部导电材料区域6351和6352可以沿着x-轴方向分离。第一和第二上部导电材料区域6351和6352可以由金属形成。第一和第二上部导电材料区域6351和6352和漏极6340可以通过接触插塞彼此电联接。第一和第二上部导电材料区域6351和6352可以分别用作第一和第二位线bl1和bl2。

第一导电材料6321可以用作源极选择线ssl。第二导电材料6322可以用作第一虚拟字线dwl1。第三和第四导电材料区域6323和6324可以分别用作第一和第二主字线mwl1和mwl2。第五和第六导电材料区域6325和6326可以分别用作第三和第四主字线mwl3和mwl4。第七导电材料6327可以用作第二虚拟字线dwl2。第八导电材料6328可以用作漏极选择线dsl。

下部柱状物dp和邻近下部柱状物dp的第一至第四导电材料区域6321至6324可以形成下部串。上部柱状物up和邻近上部柱状物up的第五至第八导电材料区域6325至6328可以形成上部串。下部串和上部串可以通过管栅pg彼此之间电联接。下部串的一端可以电联接至用作共源线csl的第二类型的掺杂材料6312。上部串的一端可以通过漏极6340电联接至对应的位线。一个下部串和一个上部串可以形成一个单元串,其被电联接在用作共源线csl的掺杂材料6312和用作位线bl的上部导电材料层6351和6352中的对应的一个之间。

例如,下部串可以包括源极选择晶体管sst、第一虚拟存储器单元dmc1和第一与第二主存储器单元mmc1和mmc2。上部串可以包括第三和第四主存储器单元mmc3和mmc4以及第二虚拟存储器单元dmc2和漏极选择晶体管dst。

在图9和图10中,上部串和下部串可以形成nand串ns。nand串ns可以包括多个晶体管结构ts。因为上文参照图7详细描述了包括在图9和图10中的nand串ns内的晶体管结构,所以其详细描述将会在此省略。

图11是示出有如上参照图9和图10描述的具有第二结构的存储块blkj的等效电路的电路图。为了方便起见,仅示出形成在第二结构内的存储块bklj内的一对的第一串st1和第二串st2。

参照图11,在具有第二结构的存储块blkj内,多个单元串可以定义多个对的这种方式来设置,其中每个单元串利用如上参照图9和图10描述的通过管栅pg电联接的一个上部串和一个下部串来实现。

例如,在具有第二结构的存储块blkj内,沿着第一沟道ch1(未示出)堆叠的存储器单元cg0至cg31,例如,至少一个源极选择栅极ssg1和至少一个漏极选择栅极dsg1可以形成第一串st1,以及沿着第二沟道ch2(未示出)堆叠的存储器单元cg0至cg31,例如,至少一个源极选择栅极ssg2和至少一个漏极选择栅极dsg2可以形成第二串st2。

第一和第二串st1和st2可以电联接至相同的漏极选择线dsl和相同的源极选择线ssl。第一串st1可以电联接至第一位线bl1。第二串st2可以电联接至第二位线bl2。

尽管图11示出第一串st1和第二串st2电联接至相同的漏极选择线dsl和相同的源极选择线ssl,但是可以想到,第一串st1和第二串st2可以电联接至相同的源极选择线ssl和相同的位线bl,第一串st1可以电联接至第一漏极选择线dsl1并且第二串st2可以电联接至第二漏极选择线dsl2。进一步地,可以想到,第一串st1和第二串st2可以电联接至相同的漏极选择线dsl和相同的位线bl,第一串st1可以电联接至第一源极选择线ssl1并且第二串st2可以电联接至第二源极选择线ssl2。

图12示出了根据本发明的实施例的存储器系统110。

根据图12的实施例,存储器系统110包括多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>。作为参考,图12示出了存储器系统110包括四个存储器装置如多个第一存储器装置1501<1:4>,以及四个存储器装置如多个第二存储器装置1502<1:4>。然而,这仅是一个示例,并且更多数量或更少数量的存储器装置可以被包括,如多个第一存储器装置1501<1:4>或多个第二存储器装置1502<1:4>。另外,图12示出了包括在图1的控制器130内的ecc单元138和电源管理单元140不包括在图12的控制器130内。然而,省略这些单元的图示是为了有助于对多个第一和第二存储器装置的描述。因此,图1的控制器130的ecc单元138和电源管理单元140也可以包括在图12的控制器130内。

特别地,在图12内示出的存储器系统110可以包括控制器130,多个第一存储器装置1501<1:4>以及多个第二存储器装置1502<1:4>。控制器130可以包括主机接口132、处理器134、存储器144以及存储器接口142。

多个第一存储器装置1501<1:4>可以通过第一沟道ch1联接至存储器接口142,并通过接口142联接至控制器130内的总线bus。

多个第二存储器装置1502<1:4>可以通过第二沟道ch2联接至存储器接口142,并通过接口142联接至控制器130内的总线bus。

多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>可以根据交错机制来操作。

然而,应注意到,其中多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>通过不同的沟道ch1和ch2联接至控制器130并根据交错机制来操作的配置仅是一个示例。根据另一个采用不同的电路设计的实施例,多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>可以以不同的方式联接至控制器并依然可以根据与图12的实施例相同的交错机制来操作。例如,多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>可以通过相同的沟道联接至控制器并可以根据交错机制来操作。

主机102可以通过主机接口132联接至总线bus。

如图1中所示,存储器144可以用作控制器130的工作存储器,并存储控制器130所需的命令、地址和数据以控制多个第一和第二存储器装置1501<1:4>和1502<1:4>。

存储器144可以用作高速缓冲存储器用于缓存输入至多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>的数据或从多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>输出的数据。

例如,存储器144可以用作写入式高速缓冲存储器用于缓存待存储在多个第一和第二存储器装置1501<1:4>和1502<1:4>内的编程数据。同样地,存储器144可以用作读取式缓存存储器用于缓存从多个第一和第二存储器装置1501<1:4>和1502<1:4>中读取的数据。

如参照图1所描述的那样,处理器134可以控制存储器系统110的全部操作。

现在参考图13,根据本发明的实施例,提供在图12的存储器系统内的每个存储器装置的详细架构。例如,图13示出了第一存储器装置1501<1>可以被如何配置的示例。

特别地,如参考图1至图3所描述的,每个第一和第二存储器装置1501<1:4>和1502<1:4>可以包括多个存储块152、154和156,并且存储块152、154和156中的每个可以包括多个存储器单元(未示出)。

在图13所示的实施例中,包括在多个第一和第二存储器装置1501<1:4>和1502<1:4>中的每个内的存储器单元包括每个能够一次存储3位数据的三层单元(tlc)。

例如,图13示出了第一存储器装置1501<1>包括具有tlc的tlc存储块321和322。然而,这只是一个示例。根据另一个采用另一种电路设计的实施例,每个第一和第二存储器装置1501<1:4>和1502<1:4>中可以包括mlc例如存储较少数据的双层单元,或者相比于tlc存储较多数据的mlc例如四、六、八层单元。

根据本实施例的存储器系统110可以支持一次编程操作,即通过一次编程操作存储器系统110可以支持同时编程3位数据到tlc的操作。

为了支持一次编程操作,存储器系统110的每个第一和第二存储器装置1501<1:4>和1502<1:4>可以包括3位多缓冲区mmb、mcb和mlb以及发送缓冲区tmb和tcb。

在图13所示的实施例中,包括在每个第一和第二存储器装置1501<1:4>和1502<1:4>内的3位多级缓冲区mmb、mcb和mlb用于在一次编程操作期间,一次存储3位待存储到tlc内的数据。

当对应于tlc架构的存储器装置包括3位多级缓冲区mmb、mcb和mlb时,对应于双层单元架构的存储器装置可以包括2位多级缓冲区(未示出),并且对应于四层单元架构的储存器装置可以包括4位多级缓冲区(未示出)。即,包括在每个第一和第二存储器装置1501<1:4>和1502<1:4>中的多级缓冲区的类型可以取决于包括在每个第一和第二存储器装置1501<1:4>和1502<1:4>中的存储器单元的类型。

另外,包括在每个第一和第二存储器1501<1:4>和1502<1:4>中的发送缓冲区tmb和tcb可以指高速缓存缓冲区tcb(其用于传输从第一和第二存储器装置1501<1:4>和1502<1:4>的外部输入的数据或输出至第一和第二存储器装置1501<1:4>和1502<1:4>的外部的数据)和主缓冲区tmb(其用于传输包括在第一和第二存储器装置1501<1:4>和1502<1:4>内的多个存储块321和322之间的数据)。在图13所示的实施例中,不管哪种类型的存储器单元包括在存储块321和322中的每个内,发送缓冲区tmb和tcb始终是主缓冲区tmb和缓存缓冲区tcb或者包括主缓冲区tmb和高速缓存缓冲区tcb。

图14是用于描述在图13的存储器装置内执行的一般编程操作突然被中止或终止的情况的时序图。

在如图14所示的一般编程操作期间,当表示所有的编程地址address和编程数据data的编程启动命令start_cmd、编程地址address、编程数据data以及确认命令confirm_cmd按顺序被输入时,每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>可以在时间点t1响应于命令和数据启动编程准备操作。

此时,使用编程地址以在多个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中找到编程数据待存储的位置。另外,编程数据可以存储在包括在位于多个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中的待存储编程数据的存储器装置内的3位多级缓冲区mmb、mcb和mlb中。

此时,当编程数据在页面基础上输入时,一个基于页面的编程数据可以存储在每个3位多级缓冲区mmb、mcb和mlb中,并且总计三个基于页面的编程数据被存储到3位多级缓冲区mmb、mcb和mlb中。另外,当每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>包括tlc时,存储在3位多级缓冲区mmb、mcb和mlb中的三个基于页面的编程数据可以被一次编程到对应于一个物理页面或三个逻辑页面的存储器单元中。

在每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中执行的编程准备操作可以包括对存储在第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中的3位多级缓冲区mmb、mcb和mlb中的数据进行排序的数据排序操作data_setting_in,对通过数据排序操作data_setting_in进行排序并存储在第一存储器装置1501<1:4>或第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb中的数据进行校验的数据校验操作io_check和csc,以及当通过数据校验操作io_check和csc被校验的数据被一次编程至在第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中、被选作一次编程目标的存储器单元时,产生所使用的电压的电压产生操作pump_on。即,为了通过实际编程操作将编程数据编程至多个存储器单元内,编程准备操作可以表明在每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>内执行的操作。

以这种方式,在每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中执行实际编程操作之前,可以执行编程准备操作。此时,为了存储编程数据,根据ispp(增量步进脉冲编程)方法向在每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>内被选作一次编程目标的存储器单元提供通过编程准备操作产生的编程脉冲的操作pgm_pulse。

作为参考,数据排序操作data_setting_in可以表明当数据被一次编程至对应于一个物理页面或三个逻辑页面的tlc时,存储在第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中的3位多级缓冲区mmb、mcb和mlb内的数据的存储位置以为了使发生于其间的干扰最小化的形式而排序。

通过上述过程,在每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中内启动编程操作之后,用于突然终止或中止编程操作的命令stop_cmd可以在时间点t2输入。

其中编程操作被终止或中止的情况可以包括多种不可预知的情况。例如,因为编程操作不需要被执行,所以用于终止编程操作的请求可以直接由主机102发出。通常地,编程操作可能需要相当长的时间。因此,为了执行需要在编程操作之前被执行的读取操作,可以发出暂时中止编程操作的请求。另外,终止编程操作的请求可以被发出用于执行由于各种未知的错误所导致的重置存储器系统110的操作。

以这种方式,在每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中启动编程操作之后,用于突然终止或中止编程操作的命令stop_cmd被输入时,终止或中止编程操作所需要的操作响应于该命令执行。即,终止或中止编程操作所需要的操作在编程终止操作之前执行,如在编程操作之前执行编程准备操作。

在所示的示例中,终止或中止编程操作所需要的操作包括对在编程操作期间使用的电压进行放电的电压放电操作pump_discharge;对被存储在第一或第二存储器设备1501<1:4>或1502<1:4>的3位多级缓冲区mmb、mcb和mlb内的数据进行排序的数据排序操作data_setting_out,因为当执行编程操作时,被选作一次编程目标的存储器单元的状态是变化的,以及对被设为适于在存储器装置内的编程操作的内部电路进行重置的重置操作reset_behavior,该存储器装置对应于在第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中的编程目标。

以这种方式,直到用于终止或中止编程操作的命令stop_cmd输入到每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中之后,编程操作被实际终止或中止时,需要终止或中止的编程操作的操作才被执行。因此,时间点t2和t3之间的时间差可以存在。

作为参考,编程操作可以执行比在每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>内的编程准备操作更长的时间。然而,图14示出了编程操作仅执行了很短的时间,这是因为在编程操作启动之后编程操作被立即终止或中止。

当在每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中的编程操作被启动之后,编程操作突然被终止或中止时,一些操作可以认为在编程准备操作中是不必要的。

特别地,除了在终止或中止编程操作所需的操作中的重置,在编程准备操作中执行的操作可以认为是不必要的。

例如,在编程准备操作期间,执行的操作中的电压产生操作pump_on可以通过需要终止或中止编程操作的操作的电压放电操作pump_discharge来重置。另外,在终止或中止编程操作所需的操作期间,执行数据排序操作data_setting_out时,在编程准备操作期间执行的操作中的数据校验操作io_check和csc需要再次执行。因此,当编程操作没有被正确地完成时,数据校验操作io_check和csc不需要提前执行。

因此,当需要终止或中止编程操作的操作在编程操作完成之前被执行时,在编程准备操作期间执行的操作中的电压产生操作pump_on和数据校验操作io_check和csc可以认为是不必要的。

因此,在实施例中,在编程准备操作期间执行的操作中的电压产生操作pump_on和数据校验操作io_check和csc可以设置为次要准备操作。

然而,在编程准备操作期间执行的操作中的数据排序操作data_setting_in不可以归类为不必要操作。原因是当数据排序操作data_setting_in被归类为需要的操作时,终止或中止编程操作所需的操作需要的时间可以有效地减少。根据本发明的实施例,该原因将在特定编程操作的上下文中进行详细描述。

因此,在实施例中,在编程准备操作期间执行的操作中的数据排序操作data_setting_in可以设置为必要准备操作。

图15是用于描述在图13的存储器装置内特定编程操作被执行的情况的时序图。

参考图15,当表示所有的编程地址address和编程数据data被输入的编程启动命令wt_start_cmd、编程地址address、编程数据data以及确认命令confirm_cmd按顺序输入时,每个第一存储器装置1501<1:4>和第二存储器装置1502<1:4>响应于命令和数据可以启动编程准备操作,如参照图14所述。

此时,根据本发明的实施例,在特定编程操作期间的确认命令confirm_cmd可以与用于终止或中止编程操作的命令stop_cmd同时输入。

因此,在时间点t1n,响应于在特定编程操作期间同时输入的命令confirm_cmd和stop_cmd,多个第一存储器装置1501<1:4>和第二存储器装置1502<1:4>可以仅启动编程准备操作的必要准备操作,而不启动编程准备操作的次要准备操作。

即,在特定编程操作期间,多个第一存储器装置1501<1:4>和第二存储器装置1502<1:4>可以仅启动设为编程准备操作的必要准备操作的数据排序操作data_setting_in,并且可以不启动设为次要准备操作的数据校验操作io_check和csc以及电压产生操作pump_on。

以这种方式,根据本发明的实施例,在时间点t2n,在特定编程操作期间,终止或中止编程操作所需要的操作可以在编程准备操作的必要准备操作之后启动。

此时,根据本发明的实施例,终止或中止编程操作所需要的操作可以仅包括重置操作reset_behavior。

即,在根据本发明的实施例的特定编程操作期间,编程准备操作的必要准备操作的数据排序操作data_setting_in在终止或中止编程操作所需要的操作之前执行。因此,在终止或中止编程操作所需要的操作期间,数据排序操作data_setting_out不需要执行。

另外,在根据本发明的实施例的特定编程操作期间,编程准备操作的次要准备操作的数据校验操作io_check和csc和电压产生操作pump_on在终止或中止编程操作所需要的操作之前不被执行。因此,在为了终止或中止编程操作所需要的操作期间,电压放电操作pump_discharge不需要执行。

以这样的方式,在根据本发明的实施例的特定编程操作期间,表示所有的编程地址和编程数据被输入的确认命令confirm_cmd以及用于终止或中止编程操作的命令stop_cmd可以同时输入。因此,编程操作和终止或中止编程操作所需要的操作可以被相当程度地简化,并且可以最小化这些操作所需的时间化。

在时间点t3n之后,当根据本发明的实施例的特定编程操作应用于在多个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中选作编程目标的任意一个存储器装置时,即当被选择的存储器装置执行编程准备操作的必要准备操作并执行终止或中止编程操作所需要的操作时,编程数据可以存储在包括在选择的存储器装置内的3位多级缓冲区mmb、mcb和mlb中,并且发送缓冲区tmb和tcb可以设为空的状态。

因此,当起始命令rd_start_cmd、读取地址address以及表示读取地址address输入的确认命令confirm_cmd在时间点t3n以后按顺序输入时,选择的存储器装置可以不使用3位多级缓冲区mmb、mcb和mlb,而仅使用发送缓冲区tmb和tcb以在编程终止或中止状态中执行读取操作。

图16描绘了当根据本发明的实施例的特定编程操作被执行时,设为编程目标的存储器装置的缓冲区状态。

参照图16,每个第一存储器装置1501<1:4>或第二存储器装置1502<1:4>可以按顺序将编程数据存储在3位多级缓冲区mmb、mcb和mlb中,在编程起始命令和编程地址(wt_start_cmd&addressinput)之后输入的编程数据被输入。

此时,编程地址可以用于在选择的存储器装置中选择第一或第二存储器装置1501<1:4>或1502<1:4>中的任意一个作为编程目标,并且用于寻找编程数据待被存储于其中的并且对应于一个物理页面(目标页面)或三个逻辑页面tlsb、tcsb和tmsb的存储器单元。另外,当编程数据可以在页面基础上输入时,一个基于页面的编程数据可以存储在包括在选择的存储器装置内的3位多级缓冲区mmb、mcb和mlb。

即,当编程数据的最低有效位(lsb)数据通过高速缓存缓冲区tcb输入时,选择的存储器装置可以将lsb数据存储在在3位多级缓冲区mmb、mcb和mlb中的缓冲区mlb中用以存储lsb数据(1.lsb数据输入)。然后,当编程数据的中心有效位(csb)数据通过高速缓存缓冲区输入时,选择的存储器装置可以将csb数据存储在3位多级缓冲区mmb、mcb和mlb中的缓冲区mcb中用以存储csb数据(2.csb数据输入)。再然后,当编程数据的最高有效位(msb)数据通过高速缓存缓冲区tcb输入时,选择的存储器装置可以将msb数据存储到3位多级缓冲区mmb、mcb和mlb中的缓冲区mmb内用以存储msb数据(3.msb数据输入)。

在所有的编程数据输入到选择的存储器装置(数据输入)的3位多级缓冲区mmb、mcb和mlb之后,当表示所有的编程地址和编程数据被输入的命令和用于终止或中止编程操作的命令同时输入(confirm_cmd&stop_cmdinput)时,选择的存储器装置可以执行编程准备操作的必要准备操作以及终止或中止编程操作所需要的操作。

因为终止或中止编程操作所需要的操作可以在编程准备操作的必要准备操作之后执行,如参考图15所描述,被输入到选择的存储器装置的编程数据不可以被编程到选择的的存储器单元tlsb、tcsb和tmsb中,但可以被维持以被存储在3位多级缓冲区mmb、mcb和mlb中(4.一次编程停留)。

当输入到选择的存储器装置的编程数据没有被编程到选择的存储器单元tlsb、tcsb和tmsb中但被维持以存储到3位多级缓冲区mmb、mcb和mlb中(4.一次编程停留)中时,选择的存储器装置的发送缓冲区tmb和tcb可以设置为空的状态。

在这种状态下,当选择的存储器装置需要读取操作时,或者当读取启动命令、读取地址以及表示读取地址输入的确认命令被接收(rd_start_cmd&address&confirm_cmdinput)时,选择的存储器装置可以不使用3位多级缓冲区mmb、mcb和mlb,而仅使用发送缓冲区tmb和tcb来读取存储在选择的存储器装置的存储器单元trpb的数据。即,在编程终止或中止状态中的读取操作可以在选择的存储器装置上执行(5.随机读取)。

此时,如图16所示,被输入至选择的存储器装置的编程数据待被一次编程至其上的选择的存储器单元tlsb、tcsb和tmsb的物理位置可以不同于作为在编程终止或中止状态中的读取操作的目标的存储器单元trpb的物理位置。

另外,由于作为编程终止或中止状态中的读取操作的目标的存储器单元trpb也为tlc,因此三个基于页面的数据的最大值,即3位数据可以存储在每个存储器单元中。然而,在这种状态中,选择的存储器装置可以仅使用能够传输一个基于页面的数据的发送缓冲区tmb和tcb,即来自每个存储器单元的1位数据。因此,当三个基于页面的数据从作为编程终止或中止状态中的读取操作的目标的存储器单元trpb中读取时,选择的存储器装置需要重复读取一个基于页面的数据,即从每个存储器单元trpb读取三次1位数据。

在编程数据被维持以将其存储到3位多级缓冲区mmb、mcb和mlb(4.一次编程停留)中的状态下,读取操作可以在选择的存储器装置上选择地执行(5.随机读取)。即,在编程数据被维持以将其存储在3位多级缓冲区mmb、mcb和mlb(4.一次编程停留)中的状态下,读取操作(5.随机读取)可以出现也可以不出现。

另外,不管读取操作(5.随机读取)是否被执行,在其中编程数据被维持以将其存储在3位多级缓冲区mmb、mcb和mlb(4.一次编程停留)内的状态下,编程操作可以重新开始。此时,编程重启命令可以被输入(wt_restart_cmdinput),以便为选择的存储器装置重新启动编程操作。在编程重新启动命令被输入后(wt_restart_cmdinput),编程操作可以以如下方式重新开始:执行在用于终止或中止编程的操作之前没有被执行的编程准备操作的第一次要准备操作,然后执行编程准备操作。

此时,如图16所示,编程操作可以包括将存储在选择的存储器装置的3位多级缓冲区mmb、mcb和mlb中的编程数据一次编程至选择的存储器装置的存储器单元tlsb、tcsb和tmsb中。

作为参考,图16示出了存储在选择的存储器装置的3位多级缓冲区mmb、mcb和mlb中的编程数据可能将被一次编程至选择的存储器装置的选择的存储器单元tlsb、tcsb和tmsb中,而无需通过主缓冲区tmb。然而,这仅是为了方便描述而给出的示例。事实上,编程数据可以是通过主缓冲区tmb一次编程的。

图17和18是示出了根据本发明的实施例的特定编程操作应用于图12至16的存储器系统的示例的框图。

图17示出了包括在根据本实施例的存储器系统110内的多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>。

另外,图17在实施例中示出了的包括在存储器系统110的控制器130内的存储器144,如高速缓冲存储器1441,以便强调高速缓冲存储器的作用。

特别地,控制器130可以执行将编程数据wt_data<1:4>编程至多个第一存储器装置1501<1:4>的操作。编程数据wt_data<1:4>可以被缓存至高速缓冲存储器1441以被传输并编程至多个第一存储器装置1501<1:4>。即,第一编程数据wt_data<1>可以被传输并编程至第一个第一存储器装置1501<1>,并且第二编程数据wt_data<2>可以被传输并编程至第二个第一存储器装置1501<2>。第三编程数据wt_data<3>可以被传输并编程至第三个第一存储器装置1501<3>,并且第四编程数据wt_data<4>可以被传输并编程至第四个第一存储器装置1501<4>。

此时,为了存储在一次被编程至多个第一存储器装置1501<1:4>的所有的编程数据wt_data<1:4>,高速缓冲存储器需要具有相对较大的尺寸。

然而,在根据本发明的实施例的特定编程操作期间,待编程至各自的第一存储器装置1501<1:4>的编程数据wt_data<1:4>可以存储到包括在各自的第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb中。

例如,在第一编程数据wt_data<1>被缓存至高速缓冲存储器1441内的时间点上,第一编程数据wt_data<1>可以被传递并存储至包括在第一个第一存储器装置1501<1>内的3位多级缓冲区mmb、mcb和mlb中,并且在第二编程数据wt_data<2>被缓存至高速缓冲存储器1441内的时间点上,第二编程数据wt_data<2>可以被传递并存储至包括在第二个第一存储器装置1501<2>内的3位多级缓冲区mmb、mcb和mlb中。在第三编程数据wt_data<3>缓存至高速缓冲存储器1441内的时间点上,第三编程数据wt_data<3>可以被传递并存储至包括在第三个第一存储器装置1501<3>内的3位多级缓冲区mmb、mcb和mlb中,并且在第四编程数据wt_data<4>缓存至高速缓冲存储器1441内的时间点上,第四编程数据wt_data<4>可以被传递并存储至包括在第四个第一存储器装置1501<4>内的3位多级缓冲区mmb、mcb和mlb中。

以这种方式,无论何时缓存在高速缓冲存储器1441内的编程数据wt_data<1:4>的大小变得与可以同时存储在包括在各自的第一存储器装置1501<1:4>中的3位多级缓冲区mmb、mcb和mlb中的数据的大小相等,例如对应于三个页面的大小,根据本发明的实施例的控制器130都可以将高速缓冲存储器1441中的编程数据wt_data<1:4>分别传递并存储至包括在多个第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb中。

另外,当缓存在高速缓冲存储器1441内的编程数据wt_data<1:4>传递并存储至包括在各自的第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb中时,控制器130不仅可以使用图14中所示的一般编程操作,也可以使用参照图15和图16所述的特定编程操作。由于图14中所示的一般编程操作是公知的编程操作,因此以下描述将会基于图15和图16的根据本发明的实施例的特定编程操作来进行。

因此,在输出各自的第一存储器装置1501<1:4>的读取目标存储器单元trpb<1:4>内的读取数据rd_data<1:4>的操作的同时,控制器130可以执行将缓存在高速缓冲存储器1441内的编程数据传递并存储至包括在各自的第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb中的操作。

即,当将编程数据wt_data<1:4>编程至多个第一存储器装置1501<1:4>时,控制器130可以仅使用发送缓冲区tmb和tcb来从各自的第一存储器装置1501<1:4>的读取目标存储器单元trpb<1:4>中读取该读取数据rd_data<1:4>,而不使用包括在各自的第一存储器装置1501<1:4>的3位多级缓冲区mmb、mcb和mlb,即使是在当处于编程数据wt_data<1:4>的输入没有结束或各自的第一存储器装置1501<1:4>的3位多级缓冲区mmb、mcb与mlb没有满的状态下的第一存储器装置1501<1:4>需要读取操作的情况下。

控制器130的上述操作,即,将缓存在高速缓冲存储器1441中的编程数据wt_data<1:4>传递并存储到包括在各自的第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb中的操作可以一直持续,直到没有更多的数据被缓存至高速缓冲存储器1441中,因为编程数据wt_data<1:4>的输入被结束或者包括在各自的第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb已满。

当由于编程数据wt_data<1:4>的输入结束或者包括在各自的第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb已满所以没有更多的数据被缓存至高速缓冲存储器1441中时,控制器130可以控制多个第一存储器装置1501<1:4>以同时执行编程准备操作的次要准备操作,并且控制多个第一存储器装置1501<1:4>以执行编程操作。然后,存储在包括在各自的第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb中的编程数据wt_data<1:4>可以被一次编程至各自的第一存储器装置1501<1:4>的编程目标存储器单元tlsb、tcsb和tmsb。

另外,图17中所示的操作,即,将编程数据wt_data<1:4>编程至多个第一存储器1501<1:4>的操作可以应用于将编程数据wt_data<1:4>编程至多个第二存储器1502<1:4>的操作。

特别地,缓存在高速缓冲存储器1441内的编程数据wt_data<1:4>可以被传输并编程至多个第二存储器装置1502<1:4>。即,第一编程数据wt_data<1>可以被传输并编程至第一个第二存储器装置1502<1>,并且第二编程数据wt_data<2>可以被传输并编程至第二个第二存储器装置1502<2>。第三编程数据wt_data<3>可以被传输并编程至第三个第二存储器装置1502<3>,并且第四编程数据wt_data<4>可以被传输并编程至第四个第二存储器装置1502<4>。

此时,高速缓冲存储器1441需要具有相对大的大小,用于一次存储待编程至多个第二存储器装置1502<1:4>的所有的编程数据wt_data<1:4>。

然而,在根据本发明的实施例的特定编程操作期间,待编程至各自的第二存储器装置1502<1:4>的编程数据wt_data<1:4>可以存储到包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb中。

例如,在第一编程数据wt_data<1>缓存到高速缓冲存储器1441内的时间点上,第一编程数据wt_data<1>可以被传递并存储至包括在第一个第二存储器装置1502<1>内的3位多级缓冲区mmb、mcb和mlb中,并且在第二编程数据wt_data<2>缓存到高速缓冲存储器1441内的时间点上,第二编程数据wt_data<2>可以被传递并存储至包括在第二个第二存储器装置1502<2>内的3位多级缓冲区mmb、mcb和mlb中。在第三编程数据wt_data<3>缓存到高速缓冲存储器1441内的时间点上,第三编程数据wt_data<3>可以被传递并存储至包括在第三个第二存储器装置1502<2>内的3位多级缓冲区mmb、mcb和mlb中,并且在第四编程数据wt_data<4>缓存到高速缓冲存储器1441内的时间点上,第四编程数据wt_data<4>可以被传递并存储至包括在第四个第二存储器装置1502<4>内的3位多级缓冲区mmb、mcb和mlb中。

以这种方式,无论何时缓存在高速缓冲存储器1441中的编程数据wt_data<1:4>的大小变得与可以同时存储在包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb中的数据的大小相等,例如对应于三个页面的大小,根据本发明的实施例的控制器130都可以将缓存在高速缓冲存储器1441中的编程数据wt_data<1:4>分别传递并存储至包括在多个第二存储器装置1502<1:4>的3位多级缓冲区mmb、mcb和mlb中。

另外,当缓存在高速缓冲存储器1441中的编程数据wt_data<1:4>被传递并存储至包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb中时,控制器130不仅可以使用图14所示的一般编程操作,还可以使用图15和图16的特定编程操作。由于图14中所示的一般编程操作是公知的编程操作,以下描述将会基于图15和图16的根据本发明的实施例的特定编程操作。

因此,在输出存储在各自的第二存储器装置1502<1:4>的读取目标存储器单元trpb<1:4>中的读取数据rd_data<1:4>的操作的同时,控制器130可以执行将缓存在高速缓冲存储器144内的编程数据wt_data<1:4>传递并存储至包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb中的操作。。

即,当将编程数据wt_data<1:4>编程至多个第二存储器装置1502<1:4>时,控制器130可以仅使用发送缓冲区tmb和tcb来从各自的第二存储器装置1502<1:4>的读取目标存储器单元trpb<1:4>中读取该读取数据rd_data<1:4>,而不使用包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb,即使是在当处于编程数据wt_data<1:4>的输入没有结束或包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb没有满的状态下的第二存储器装置1502<1:4>需要读取操作的情况下。

控制器130的上述操作,即,将缓存在高速缓冲存储器1441内的编程数据wt_data<1:4>传递并存储至或包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb中的操作可以一直持续,直到没有更多的数据被缓存至高速缓冲存储器1441,因为编程数据wtdata<1:4>的输入被结束或者包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb与mlb已满。

当因为编程数据wt_data<1:4>的输入结束或者包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb已满所以没有更多的数据被缓存至高速缓冲存储器1441时,控制器130可以控制多个第二存储器装置1502<1:4>以同时执行编程准备操作的次要准备操作,并且控制多个第二存储器装置1502<1:4>以同时执行编程操作。然后,存储在包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb中的编程数据可以被一次编程至各自的第二存储器装置1501<1:4>的编程目标存储器单元tlsb、tcsb和tmsb中。

参考图18,根据本发明的实施例,特定编程操作可以根据交错机制在多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>中被执行。

特别地,在将存储在各自的第二存储器装置1502<1:4>的3位多级缓冲区mmb、mcb和mlb内的数据一次编程至编程目标存储器单元tlsb、tcsb和tmsb的编程操作在编程准备操作的次要准备操作于第二存储器装置1502<1:4>中启动之后被执行期间,在第一存储器装置1501<1:4>仅启动编程准备操作的必要准备操作而不启动次要准备操作的状态下,多个第一存储器装置1501<1:4>可以将编程数据wt_data<1:4>存储至其3位多级缓冲区mmb、mcb和mlb中。

另一方面,在将被存储在各自的第一存储器装置1501<1:4>的3位多级缓冲区mmb、mcb与mlb内的数据一次编程至编程目标存储器单元tlsb、tcsb和tmsb的编程操作在编程准备操作的次要准备操作于第一存储器装置1501<1:4>中被启动之后被执行期间,在第二存储器装置1502<1:4>仅启动编程准备操作的必要准备操作而不启动次要准备操作的状态下,多个第二存储器装置1502<1:4>可以将编程数据wt_data<1:4>存储在其中的3位多级缓冲区mmb、mcb和mlb内。

如参照图18所描述的那样,当多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>根据交错机制被操作时,根据本发明的实施例的特定编程操作可以有效使用。

特别地,当编程数据wt_data<1:4>直接从主机102输入并存储至第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中时,包括在第一存储器装置1501<1:4>或第二存储器装置1502<1:4>的每个中的3位多级缓冲区mmb、mcb和mlb可以为了与高速缓冲存储器1441具有相同的用途而被操作。因此,可以最小化高速缓冲存储器1441的物理尺寸。

另外,当编程数据wt_data<1:4>直接从主机102输入并存储至第一存储器装置1501<1:4>或第二存储器装置1502<1:4>中时,读取数据rd_data<1:4>可以从各自的第一存储器装置1501<1:4>或各自的第二存储器装置1502<1:4>中读取,并输出至主机102,即使是在编程操作未完成的状态下。因此,即使当主机交替或随机地请求编程操作和读取操作时,所有的编程操作和读取操作仍可以在消耗最小的等待时间的状态下被执行。

另外,当多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>需要执行垃圾回收操作来作为后台操作而非主机102的请求时,根据本发明的实施例的特定编程操作可以被有效应用。

特别地,当根据本发明的实施例的特定编程操作被使用时,在第一存储器装置1501<1:4>设为一组的状态下,多个第一存储器装置1501<1:4>可以同时执行垃圾回收操作。同样地,在第二存储器装置1502<1:4>设为一组的状态下,多个第二存储器装置1502<1:4>可以同时执行垃圾回收操作。另外,根据交错机制,在多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>设为各自的组的状态下,多个第一存储器装置1501<1:4>和多个第二存储器装置1502<1:4>可以交替执行垃圾回收操作。

首先,在第一存储器装置1501<1:4>设为一组的状态下,其中多个第一存储器装置1501<1:4>同时执行垃圾回收操作的情况将在下文描述。读取数据rd_data<1:4>可以包括已经存储在第一存储器装置1501<1:4>的各自的受损(victim)块内的有效数据。以这样的方式,已经存储在第一存储器装置1501<1:4>的各自的受损块内的有效数据可以作为读取数据rd_data<1:4>被读取并被缓存至高速缓冲存储器1441内,然后作为编程数据wt_data<1:4>被编程至第一存储器装置1501<1:4>的目标块。即,编程数据wt_data<1:4>可以表示在垃圾回收操作期间从多个第一存储器装置1501<1:4>中随机读取的读取数据rd_data<1:4>。

因此,在第一存储器装置1501<1:4>设为一组之后的同时为了顺利执行垃圾回收操作,即使当执行编程操作时,第一存储器装置1501<1:4>仍将执行读取操作。

即,当特定编程操作被应用时,多个第一存储器装置1501<1:4>可以设为一组,然后同时顺利执行垃圾回收操作。

这是因为,在特定编程操作期间,当将编程数据wt_data<1:4>编程至多个第一存储器装置1501<1:4>时,在不使用包括在各自的第一存储器装置1501<1:4>内的3位多级缓冲区mmb、mcb和mlb的情况下,控制器130可以仅使用发送缓冲区tmb和tcb来从各自的第一存储器装置1501<1:4>的读取目标存储器单元trpb<1:4>中读取该读取数据rd_data<1:4>,即使是在处于编程数据wt_data<1:4>的输入没有结束或者各自的第一存储器装置1501<1:4>的3位多级缓冲区mmb、mcb和mlb没有满的状态下的第一存储器装置1501<1:4>请求读取操作的情况下。

其次,在第二存储器装置1502<1:4>设为一组的状态下,多个第二存储器装置1502<1:4>同时执行垃圾回收操作的情况将在下文中描述。读取数据rd_data<1:4>可以包括已经存储在第二存储器装置1502<1:4>的各自的受损块内的有效数据。这样,已经存储在第二存储器装置1501<1:4>的各自的受损块内的有效数据可以作为读取数据rd_data<1:4>被读取、并被缓存至高速缓冲存储器1441内,然后作为编程数据wt_data<1:4>被编程至第二存储器装置1502<1:4>的目标块。即,编程数据wt_data<1:4>可以表示在垃圾回收操作期间从多个第二存储器装置1502<1:4>中被随机读取的读取数据rd_data<1:4>。

因此,当第二存储器装置1502<1:4>设为一组之后的同时为了顺利执行垃圾回收操作,即使当执行编程操作时,第二存储器装置1502<1:4>仍将执行读取操作。

即,当特定编程操作被应用时,多个第二存储器装置1502<1:4>可以设为一组,然后同时顺利执行垃圾回收操作。

这是因为,在特定编程操作期间,当将编程数据wt_data<1:4>编程至多个第二存储器装置1502<1:4>时,在不使用包括在各自的第二存储器装置1502<1:4>内的3位多级缓冲区mmb、mcb和mlb的情况下,控制器130可以仅使用发送缓冲区tmb和tcb来从各自的第二存储器装置1502<1:4>的读取目标存储器单元trpb<1:4>中读取该读取数据rd_data<1:4>,即使是在处于编程数据wt_data<1:4>的输入没有结束或者各自的第二存储器装置1502<1:4>的3位多级缓冲区mmb、mcb和mlb没有满的状态下的第二存储器装置1502<1:4>请求读取操作的情况下。

另外,根据参考图18所示的交错机制,控制器130可以交替执行设为各自的组的第一和第二存储器装置的垃圾回收操作。

根据本实施例,当编程数据被编程至多个存储器装置时,存储器系统及其操作方法可以控制多个存储器装置不启动编程操作,直到编程数据被缓冲到各自的存储器装置的所有的页面缓冲区中。

即使当需要突然中止或终止编程操作的情况在编程数据被缓冲至所有的存储器装置的页面缓冲区之前出现,存储器系统及其操作方法不需要为每个存储器装置取消编程准备操作,并因此可以快速并稳定地中止或终止编程操作。

尽管为说明目的已经描述了各种实施例,然而对于本领域技术人员而言,在不偏离权利要求所限定的本发明的精神和范围的情况下,可以做出各种变化和变型是显而易见的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1