掌桥专利:专业的专利平台
掌桥专利
首页

支持保护模式的非易失性存储器设备以及包括非易失性存储器设备的存储器系统

文献发布时间:2023-06-19 16:06:26



本申请要求于2021年1月26日提交的韩国专利申请号10-2021-0010747的优先权,上述申请通过整体引用并入本文。

技术领域

本文描述的一个或多个实施例涉及支持保护模式的非易失性存储器设备、以及包括非易失性存储器设备的存储器系统。

背景技术

许多便携式设备使用存储器来存储数据。与硬盘不同,半导体存储器具有出色的稳定性和耐久性,因为半导体存储器没有机械驱动部件,例如机械臂。半导体存储器还具有高的数据访问速度和低功耗。示例包括通用串行总线存储器设备、具有各种接口的存储器卡、以及固态驱动器(SSD)。

发明内容

本文描述的一个或多个实施例提供了一种存储器设备,该存储器设备包括用于存储数据的经划分的多级单元(MLC)区域和单级单元(SLC)区域。

一个或多个附加的实施例提供了一种存储器系统,该存储器系统包括这种存储器设备,和/或该存储器系统可以有效地进入保护模式而不擦除所存储的数据。

在本公开中,要实现的技术目的不限于上述技术目的,并且本发明所属领域的普通技术人员从以下描述可以清楚地理解上面未描述的其他技术目的。

根据本发明的一个实施例,一种非易失性存储器设备可以包括:包括多个单级单元(SLC)的第一块;包括多个多级单元(MLC)的第二块;以及操作控制器,该操作控制器可以适于响应于从外部施加的读取命令:在正常模式中,对存储在第一块中的第一数据执行使用SLC方法的读取操作,或者对存储在第二块中的第二数据执行使用MLC方法的读取操作,以及在保护模式中,对第一数据执行使用MLC方法的读取操作,或者对第二数据执行使用SLC方法的读取操作。

使用SLC方法的读取操作可以包括:生成一个第一读取电压,并且使用所生成的第一读取电压的电平作为用于确定数据值的标准来执行一次读取操作,并且使用MLC方法的读取操作可以包括:以设置的序列逐个地生成至少两个第二读取电压,以及使用所生成的第二读取电压中的每个第二读取电压的电平作为用于确定数据值的标准来连续并重复地执行至少两次读取操作。

当与读取命令一起被接收的读取地址指示处于保护模式的第一块时,操作控制器可以适于:以MLC序列对读取命令进行解码,以及分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以确定第一数据的值。

当与读取命令一起被接收的读取地址指示处于保护模式的第二块时,操作控制器可以适于:以SLC序列对读取命令进行解码,以及基于一个第一读取电压的电平执行一个读取操作,以确定第二数据的值

当与读取命令一起被接收的读取地址指示处于正常模式的第一块时,操作控制器可以适于:以SLC序列对读取命令进行解码,以及基于一个第一读取电压的电平执行一个读取操作,以确定第一数据的值。

当与读取命令一起被接收的读取地址指示处于正常模式的第二块时,操作控制器可以适于:以MLC序列对读取命令进行解码,以及分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以确定第二数据的值。

当编程命令和编程地址在正常模式中从外部被施加时,操作控制器可以适于:当编程地址指示第一块时,使用SLC方法将输入数据编程到第一块中,以及当编程地址指示第二块时,使用MLC方法将输入数据编程到第二块中。

当编程命令在保护模式中从外部被施加时,操作控制器可以适于向外部输出指示编程操作不可用的响应信号。

根据本发明的一个实施例,一种存储器系统可以包括:包括第一块和第二块的非易失性存储器设备,第一块包括多个单级单元(SLC),并且第二块包括多个多级单元(MLC);以及控制器,该控制器可以适于:当由主机施加的读取请求对应于第一块时,在正常模式中,生成SLC读取命令并且将SLC读取命令传送到非易失性存储器设备,并且在保护模式中,生成MLC读取命令并且将MLC读取命令传送到非易失性存储器设备,以及当由主机施加的读取请求对应于第二块时,在正常模式中,生成MLC读取命令并且将MLC读取命令传送到非易失性存储器设备,并且在保护模式中,生成SLC读取命令并且将SLC读取命令传送到非易失性存储器设备。非易失性存储器设备可以适于:响应于SLC读取命令而执行使用SLC方法的读取操作,并且响应于MLC读取命令而执行使用MLC方法的读取操作。

使用SLC方法的读取操作可以包括:生成一个第一读取电压,并且使用所生成的第一读取电压的电平作为用于确定数据值的标准来执行一次读取操作,以及使用MLC方法的读取操作包括:以设置的序列逐个地生成至少两个第二读取电压,并且使用所生成的第二读取电压中的每个第二读取电压的电平作为用于确定数据值的标准来连续并重复地执行至少两次读取操作。

当在保护模式中,响应于MLC读取命令而对存储在第一块中的第一数据执行使用MLC方法的读取操作时,非易失性存储器设备可以适于:分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以确定第一数据的值。

当在保护模式中,响应于SLC读取命令而对存储在第二块中的第二数据执行使用SLC方法的读取操作时,非易失性存储器设备可以适于:基于一个第一读取电压的电平执行一个读取操作,以确定第二数据的值。

当在正常模式中,响应于SLC读取命令而对第一数据执行使用SLC方法的读取操作时,非易失性存储器设备可以适于:基于一个第一读取电压的电平执行一个读取操作,以确定第一数据的值。

当在正常模式中,响应于MLC读取命令而对第二数据执行使用MLC方法的读取操作时,非易失性存储器设备可以适于:分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以确定第二数据的值。

控制器可以适于:当由主机施加的编程请求对应于第一块时,在正常模式中,生成SLC编程命令并且将SLC编程命令传送到非易失性存储器设备,并且在保护模式中,向主机输出指示编程操作不可用的响应信号;当由主机施加的编程请求对应于第二块时,在正常模式中,生成MLC编程命令并且将MLC编程命令传送到非易失性存储器设备,并且在保护模式中,向主机输出指示编程操作不可用的响应信号,并且非易失性存储器设备适于:响应于SLC编程命令,执行使用SLC方法的编程操作,以及响应于MLC编程命令,执行使用MLC方法的编程操作。

根据本发明的一个实施例,一种操作非易失性存储器设备的方法,该方法可以包括:(a)在正常模式中,响应于从外部施加的读取命令,对存储在包括多个单元的第一块中的第一数据执行使用单级单元(SLC)方法的读取操作,或者对存储在包括多个单元的第二块中的第二数据执行使用多级单元(MLC)方法的读取操作;以及(b)在保护模式中,响应于从外部施加的读取命令,对第一数据执行使用MLC方法的读取操作,或者对第二数据执行使用SLC方法的读取操作。

使用SLC方法的读取操作可以包括:生成一个第一读取电压,并且使用所生成的第一读取电压的电平作为用于确定数据值的标准来执行一次读取操作,以及使用MLC方法的读取操作可以包括:以设置的序列逐个地生成至少两个第二读取电压,并且使用所生成的第二读取电压中的每个第二读取电压的电平作为用于确定数据值的标准来连续并重复地执行至少两次读取操作。

方法(b)可以包括:当与读取命令一起被接收的读取地址指示第一块时,通过以MLC序列对读取命令进行解码,并且分别基于至少两个第二读取电压的电平来连续执行至少两个读取操作,来确定第一数据的值,以及当与读取命令一起被接收的读取地址指示第二块时,通过以SLC序列对读取命令进行解码,并且基于一个第一读取电压的电平来执行一个读取操作,来确定第二数据的值。

方法(a)可以包括:当与读取命令一起被接收的读取地址指示第一块时,通过以SLC序列对读取命令进行解码,并且基于一个第一读取电压的电平来执行一个读取操作,来确定第一数据的值;以及当与读取命令一起被接收的读取地址指示第二块时,通过以MLC序列对读取命令进行解码,并且分别基于至少两个第二读取电压的电平来连续执行至少两个读取操作,来确定第二数据的值。

该方法还可以包括:接收在正常模式中从外部施加的编程命令和编程地址,并且当编程地址指示第一块时,使用SLC方法来对第一块进行编程,以及当编程地址指示第二块时,通过使用MLC方法来对第二块进行编程;以及当编程命令在保护模式中从外部被施加时,向外部输出指示编程操作不可用的响应信号。

根据本发明的一个实施例,一种非易失性存储器设备可以包括:经第一方法编程的块;以及经第二方法编程的块。当在保护模式中接收到对应于经第一方法编程的块的读取请求时,经第二方法编程的块可以被访问以输出具有错误的数据。

根据该技术,在其中多级单元(MLC)区域和单级单元(SLC)区域被划分并且数据被存储在MLC区域和SLC区域中的非易失性存储器设备中,在进入保护模式的部分中,使用SLC方法来读取存储在MLC区域中的数据,并且使用MLC方法来读取存储在SLC区域中的数据。因此,在进入保护模式时,可以控制正常数据不被读取。

因此,即使在进入保护模式时所有所存储的数据还未被擦除的状态下,也可以防止存储在非易失性存储器设备中的数据的泄漏。

附图说明

图1图示了在保护模式中执行读取操作的数据处理系统的一个实施例。

图2图示了在保护模式中执行读取操作的数据处理系统的一个实施例。

图3图示了存储器块的一个实施例。

图4图示了基于SLC方法的读取操作的一个实施例。

图5图示了基于MLC方法的读取操作的一个实施例。

图6图示了在保护模式中执行的读取操作的一个实施例。

图7图示了根据已经被提出的一种方法的读取操作的一个示例,该方法被提供用于与本文描述的一个或多个方法实施例进行比较。

图8A和图8B图示了在根据一个实施例的非易失性存储器设备中,以SLC序列对读取命令进行解码的操作与以MLC序列对读取命令进行解码的操作之间的差异的示例。

具体实施方式

下面参考附图更详细地描述本公开的各种示例。然而,本发明的方面和特征可以以不同方式被实施以形成包括任何所公开的实施例的变型的其他实施例。因此,本发明不限于本文阐述的实施例。相反,提供所描述的实施例以使本公开透彻和完整,并且将本公开充分传达给本发明所属领域的技术人员。贯穿本公开,相似的附图标记指代贯穿本公开的各个附图和示例的相似的部件。应当注意,对“一个实施例”、“另一实施例”等的引用不必意指仅一个实施例,并且对任何这种短语的不同引用不必是相同的(多个)实施例。

应当理解,虽然术语“第一”、“第二”、“第三”等在本文中可以被用来标识各种元件,但这些元件不受这些术语的限制。这些术语用于将一个元件与否则具有相同或相似名称的另一个元件区分开。因此,在一个实例中的第一元件在另一个实例中可以被称为第二元件或第三元件,而不指示元件本身的任何改变。

附图不必按比例绘制,并且在一些情况下,比例可以被扩大以便清楚地说明实施例的特征。当一个元件被称为连接或耦合到另一个元件时,应当理解,前者可以直接连接或耦合到后者,或者经由它们之间的一个或多个中间元件电连接或电耦合到后者。此外,还应当理解,当一个元件被称为在两个元件“之间”时,该元件可以是两个元件之间的唯一元件,或者还可以存在一个或多个中间元件。

本文使用的术语仅用于描述特定实施例的目的,并且不旨在限制本发明。如本文所使用的,单数形式旨在包括复数形式,反之亦然,除非上下文另有明确指示。同样,不定冠词“一”和“一个”意指一个或多个,除非从语言或上下文清楚地意指仅一个。

还应当理解,当在本说明书中使用时,术语“包含”和“包括”说明所陈述的元件的存在,并且不排除一个或多个其他元件的存在或添加。如本文所使用的,术语“和/或”包括相关联的所列项目中的一个或多个项目的任何组合和所有组合。

除非另有定义,否则本文所使用的、包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员鉴于本公开通常理解的相同含义。还应当理解,术语(诸如常用词典中定义的术语)应当被解释为具有与该术语在本公开和相关领域的上下文中的含义一致的含义,而不应当被理想化或过于正式地解释,除非本文明确地如此定义。

在以下描述中,许多具体细节被阐述以便提供对本发明的透彻理解。可以在没有这些具体细节中的一些或全部具体细节的情况下实践本发明。在其他情况下,为了避免不必要地混淆本发明,没有详细描述众所周知的过程结构和/或过程。

还应当注意,在一些情况下,如对于相关领域的技术人员将是明显的,结合一个实施例描述的特征或元件可以被单独使用或与另一个实施例的其他特征或元件组合使用,除非另有特别指示。

下面参考附图详细描述本公开的实施例,其中相似的附图标记指代相似的元件。

图1是图示数据处理系统100的一个实施例的框图,该数据处理系统100可以包括与存储器系统110接合或可操作地耦合的主机102。

主机102可以包括便携式电子设备(诸如移动电话、MP3播放器、膝上型计算机等)以及电子设备(诸如台式计算机、游戏机、电视或投影仪)。主机102还包括至少一个操作系统(OS)以管理和控制在主机102中执行的功能和操作。OS可以提供和存储器系统110接合的主机102与使用存储器系统110的用户之间的互操作性。OS可以支持对应于用户请求的功能和操作。

通过示例而非限制的方式,根据主机102的移动性,OS可以是通用操作系统或移动操作系统。根据系统要求或用户环境,通用操作系统可以被划分为个人操作系统和企业操作系统。个人操作系统(例如,Windows、Chrome等)可能会受制于支持通用用途的服务。企业操作系统可以专门用于保护和支持高性能,企业操作系统包括Windows服务器、Linux、Unix等。此外,移动操作系统可以包括Android、iOS、Windows mobile等。移动操作系统可能会受制于支持针对移动性的服务或功能(例如,省电功能)。

在一个实施例中,主机102可以包括多个操作系统。主机102可以执行与和用户请求相对应的存储器系统110互锁的多个操作系统。主机102可以将对应于用户请求的多个命令传送到存储器系统110,从而在存储器系统110内执行对应于命令的操作。

用于存储器系统110的存储设备可以用易失性存储器设备和/或非易失性存储器设备来实现。易失性存储器设备诸如是动态随机存取存储器(DRAM)和静态RAM(SRAM)。非易失性存储器设备诸如是只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪存。

存储器系统110可以包括控制器130和存储器设备150。存储器设备150可以存储要被主机102访问的数据,并且控制器130可以控制用于在存储器设备150中存储数据的操作。

存储器系统110中的控制器130和存储器设备150可以被集成到单个半导体设备中,该半导体设备可以被包括在如以上示例中所讨论的各种类型的存储器系统中的任何存储器系统中。通过示例而非限制的方式,控制器130和存储器设备150可以用SSD来实现。当存储器系统110被用作SSD时,连接到存储器系统110的主机102的操作速度可以比以用硬盘实现的主机102的操作速度提高更多。

此外,控制器130和存储器设备150可以集成到一个半导体设备中以形成存储器卡。示例包括PC卡(PCMCIA)、紧凑型闪存卡(CF)、诸如智能媒体卡(SM、SMC)的存储器卡、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、以及通用闪存。

存储器系统110可以被配置为例如以下项的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储、能够在无线环境下传送和接收信息的设备、构成家庭网络的各种电子设备之一、构成计算机网络的各种电子设备之一、构成远程信息处理网络的各种电子设备之一、射频标识(RFID)设备、或构成计算系统的各种组件之一。

存储器设备150可以是非易失性存储器设备,并且即使在没有提供电功率时也可以保持存储在其中的数据。存储器设备150可以通过写入操作存储由主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器设备150可以包括多个存储器块BLOCK<0,1,2,...>,这些存储器块中的每个存储器块可以包括多个页P<0,1,2,3,4,…>。页P<0,1,2,3,4,…>中的每个页可以包括多个存储器单元,多个字线(WL)中的对应字线耦合到这些存储器单元。存储器设备150还包括多个存储器管芯,这些存储器管芯中的每个存储器管芯包括多个平面。平面中的每个平面包括多个存储器块中的一些存储器块。存储器设备150可以是例如具有三维堆叠结构的闪存。

存储器设备150可以包括多个存储器块。根据可以在这种块的一个存储器单元中存储或表示的位的数目,存储器块中的每个存储器块可以是单级单元(SLC)存储器块或多级单元(MLC)存储器块。SLC存储器块包括由各自存储一位数据的存储器单元实现的多个页。SLC存储器块可以具有高的数据I/O操作性能和高的耐久性。MLC存储器块包括由各自存储多位(例如,两位或更多位)数据的存储器单元实现的多个页。与SLC存储器块相比,MLC存储器块对于相同空间可以具有更大的存储容量,并且在存储容量方面可以被高度集成。

在一个实施例中,存储器设备150可以用MLC存储器块来实现,MLC存储器块诸如是双级单元存储器块、三级单元(TLC)存储器块、四级单元(QLC)存储器块及其组合。双级存储器块可以包括由各自能够存储2位数据的存储器单元实现的多个页。三级单元(TLC)存储器块可以包括由各自能够存储3位数据的存储器单元实现的多个页。四级单元(QLC)存储器块可以包括由各自能够存储4位数据的存储器单元实现的多个页。在一个实施例中,存储器设备150可以用包括多个如下的页的块来实现,该页由各自能够存储5位或更多位数据的存储器单元来实现。

在一个实施例中,在MLC存储器块中的存储器单元中存储两位数据可以包括在MLC存储器块中的多个物理字线中的一个物理字线中存储两个页的数据的情况。在TLC存储器块中的存储器单元中存储三位数据可以包括在TLC存储器块中的多个物理字线中的一个物理字线中存储三个页的数据的情况。在QLC存储器块中的存储器单元中存储四个位可以包括在QLC存储器块中包括的多个物理字线中的一个物理字线中存储四个页的数据的情况。

在一个实施例中,存储器设备150是非易失性存储器,诸如作为NAND闪存、NOR闪存等的闪存。在一个实施例中,存储器设备150可以是相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)和自旋注入磁存储器(例如,自旋转移力矩磁随机存取存储器(STT-MRAM))中的至少一种存储器。

存储器系统110中的控制器130可以响应于来自主机102的请求而控制存储器设备150。例如,控制器130可以将从存储器设备150读取的数据提供给主机102,并且可以将来自主机102的数据存储在存储器设备150中。因此,控制器130可以控制存储器设备150的读取操作、写入操作、编程操作和擦除操作。

控制器130可以包括主机接口132、处理器134、错误校正码(ECC)电路装置138、功率管理单元(PMU)140、存储器接口142和存储器144。主机接口132可以处理来自主机102的命令和数据,并且可以通过各种接口协议中的至少一种接口协议与主机102通信。示例协议包括通用串行总线(USB)、多媒体卡(MMC)、外围组件互连-快速(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和电子集成驱动器(IDE)。根据一个实施例,主机接口132是用于与主机102交换数据的组件,该组件可以通过被称为主机接口层(HIL)的固件来实现。

ECC组件138可以校正要在存储器设备150中处理(例如,从存储器设备150输出)的数据的错误位,ECC组件138可以包括ECC编码器和ECC解码器。ECC编码器可以对要在存储器设备150中编程的数据执行错误校正编码,以生成在其中添加了奇偶校验位的经编码的数据,并且将经编码的数据存储在存储器设备150中。当控制器130读取存储在存储器设备150中的数据时,ECC解码器可以检测和校正从存储器设备150读取的数据中包含的错误。换句话说,在对从存储器设备150读取的数据执行错误校正解码之后,ECC组件138可以确定错误校正解码是否已经成功,并且输出指令信号(例如,校正成功信号或校正失败信号)。ECC组件138可以使用在ECC编码过程期间生成的奇偶校验位来校正读取数据的错误位。当错误位的数目大于或等于可校正错误位的阈值数目时,ECC组件138可以不校正错误位,而是可以输出错误校正失败信号,该错误校正失败信号指示校正错误位失败。

ECC组件138可以基于编码调制来执行错误校正操作。示例包括基于低密度奇偶校验(LDPC)码、Bose-Chaudhuri-Hocquenghem(BCH)码、turbo码、Reed-Solomon(RS)码、卷积码、递归系统码(RSC)的调制、网格编码调制(TCM)、块编码调制(BCM)等。ECC组件138可以包括用于基于上述码中的至少一种码来执行错误校正操作的任何和所有电路、模块、系统或设备。

PMU 140可以管理控制器130中的电功率。

存储器接口142可以用作用于处理在控制器130和存储器设备150之间传输的命令和数据的接口,以允许控制器130响应于来自主机102的请求而控制存储器设备150。当存储器设备150是闪存时,并且特别地但非排他地,当存储器设备150是NAND闪存时,存储器接口142可以生成用于存储器设备150的控制信号,并且可以在处理器134的控制下处理输入到存储器设备150的或从存储器设备150输出的数据。存储器接口142可以提供用于处理控制器130和存储器设备150之间的命令和数据(例如,NAND闪存接口的操作,特别地但非排他地,控制器130和存储器设备150之间的操作)的接口。根据一个实施例,存储器接口142可以通过被称为闪存接口层(FIL)的固件被实现为用于与存储器设备150交换数据的组件。

存储器144可以支持由存储器系统110和控制器130执行的操作。存储器144可以存储为存储器系统110和控制器130中的操作提供或递送的临时数据或事务数据。控制器130可以响应于来自主机102的请求而控制存储器设备150。控制器130可以将从存储器设备150读取的数据递送到主机102。控制器130可以将通过主机102输入的数据存储在存储器设备150内。存储器144可以用于存储用于控制器130和存储器设备150的数据,以便执行操作,诸如读取操作或编程/写入操作或擦除操作。

当控制器130控制存储器设备150的读取操作、写入操作、编程操作和擦除操作时,要在存储器系统110中的控制器130和存储器设备150之间传输或生成的数据可以被存储在存储器144中。例如,存储器144可以存储数据,以在主机102和存储器设备150之间执行数据写入和读取操作,并且存储器144可以在执行数据写入和读取操作时存储数据。对于这种数据存储,存储器144可以包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。

存储器144可以是易失性存储器。例如,存储器144可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。如图中所示,存储器144可以存在于控制器130内部。在一个实施例中,存储器144可以存在于控制器130外部并且耦合到控制器130。在该情况下,存储器144可以是用于通过单独的存储器接口与控制器130交换数据的外部易失性存储器。

处理器134可以控制存储器系统110的整体操作。例如,处理器134可以响应于来自主机102的写入请求或读取请求,控制对存储器设备150的编程操作或读取操作。处理器134驱动固件(该固件可以包括闪存转换层(FTL)),以控制存储器系统110的整体操作。处理器134可以是例如微处理器或中央处理单元(CPU)。

控制器130可以在存储器设备150中执行从主机102请求的操作。例如,通过由微处理器或中央处理单元(CPU)实施的处理器134,控制器130可以利用存储器设备150执行与从主机102接收的命令相对应的命令操作。控制器130可以执行前台操作作为对应于来自主机102的命令的命令操作。在一个实施例中,控制器130可以执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作、或对应于作为设置命令的设置参数命令或设置特征命令的参数设置操作。

根据一个实施例,控制器130中的处理器134可以响应于由主机102传送的读取请求1或3,生成MLC读取命令或SLC读取命令。SLC读取命令或MLC读取命令可以通过存储器接口142被传输(2-1或2-2或4-1或4-2)到存储器设备150。

控制器130可以通过处理器134执行针对存储器设备150的后台操作。针对存储器设备150的后台操作可以包括将存储在(存储器设备150的存储器块152、154和156中的)一个存储器块中的数据复制到另一个存储器块的操作,例如,垃圾收集(GC)操作。后台操作可以包括在存储器设备150的存储器块152、154和156中的一个或多个存储器块之间交换数据的操作,例如,损耗均衡(WL)操作和读取回收(RR)操作。

后台操作可以包括将从控制器130取回的映射数据存储在存储器设备150的存储器块152、154和156中的操作,例如,映射刷新操作。后台操作可以包括针对存储器设备150的坏块管理操作,该坏块管理操作可以包括检查和处理存储器设备150中的多个存储器块152、154和156中的坏块。

在控制器130的处理器134内,可以包括用于对存储器设备150执行坏块管理的组件。这种组件执行以下坏块管理:检查存储器块152、154和156中的坏块,并且将所标识的坏块处理为坏的。通过坏块管理,在其中已经出现编程失败的存储器块被处理为坏存储器块,并且编程失败的数据被写入在新的存储器块中。由于存储器设备150(例如,NAND闪存)的特性,当在执行数据写入(或编程)时可能会出现编程失败时,坏块管理可以被执行。下面将描述控制器130的编程操作、读取操作和擦除操作的示例。

控制器130可以将与来自主机102的编程(或写入)命令相对应的编程数据存储在控制器130的存储器144中的缓冲器/高速缓存中,并且然后可以将存储在缓冲器/高速缓存中的数据存储在存储器设备150中的存储器块BLOCK<0,1,2,...>中。在一个实施例中,当从主机102输入编程命令时,控制器130可以执行对应于编程命令的编程操作。此时,控制器130可以将对应于编程命令的编程数据存储在存储器设备150中的存储器块BLOCK<0,1,2,...>中的至少一个存储器块中,例如,存储在存储器块BLOCK<0,1,2,...>中的开放存储器块、空闲存储器块或已经在其中执行擦除操作的空存储器块中。

此外,控制器130可以更新与在存储器设备150上执行的编程操作相对应的映射数据,并且然后可以将经更新的映射数据存储在存储器设备150中的存储器块BLOCK<0,1,2,...>中。在一个实施例中,控制器130可以以映射表或映射列表的形式将关于存储在存储器块BLOCK<0,1,2,...>中的用户数据的逻辑到物理地址信息(L2P映射信息)和物理到逻辑地址信息(P2L映射信息)存储在存储器设备150中的存储器块BLOCK<0,1,2,...>中的空存储器块、开放存储器块或空闲存储器块中。

当读取命令从主机102被输入时,控制器130可以检查与和读取命令一起输入的逻辑地址相对应的映射数据,以找到与逻辑地址相对应的物理地址,并且基于物理地址从存储器设备150读取对应于读取命令的数据。随后,控制器130可以将所读取的数据存储在控制器130的存储器144中的缓冲器/高速缓存中,并且然后将存储在缓冲器/高速缓存中的数据提供给主机102。

当擦除命令从主机102被输入时,控制器130可以执行以下擦除操作:检查与擦除命令相对应的存储器块,擦除存储在所检查的存储器块中的数据,更新与所擦除的数据相对应的映射数据,并且然后将经更新的映射数据存储在存储器设备150中的存储器块BLOCK<0,1,2,...>中。

映射数据可以包括例如关于存储在存储器块BLOCK<0,1,2,...>中的对应于编程操作的数据的逻辑到物理(L2P)信息和物理到逻辑(P2L)信息。

与命令相对应的数据可以包括用户数据和由控制器130生成的元数据。元数据可以包括由控制器130生成的并且与存储在存储器设备150中的用户数据相对应的映射数据。此外,元数据可以包括:关于从主机102输入的命令的信息、关于与命令相对应的命令操作的信息、关于存储器设备150的在其上执行命令操作的存储器块的信息、以及关于与命令操作相对应的映射数据的信息。在一个实施例中,元数据可以包括除了与从主机102输入的命令相对应的用户数据之外的用于命令操作的信息和数据。如上所述,可以从控制器130内部生成元数据。

根据一个实施例,存储器系统110中的存储器设备150中的多个存储器块152和154中的一些存储器块可以被分类为SLC块152,并且一些存储器块可以被分类为MLC块154。在该情况下,MLC块可以被分类为TLC块。在该情况下,SLC块152可以对应于单级单元(SLC)存储器块。TLC块154可以对应于三级单元(TLC)存储器块。虽然MLC块可以是TLC块,但是这仅仅是一个实施例,并且在另一个实施例中,可以被分类为另一MLC存储器块。

参考图1,主机102可以请求存储器系统110进入保护模式,即,从正常模式退出(1)。在存储器系统110进入保护模式之后,主机102可以请求读取操作(1)。

在这种状态下,在进入保护模式之后,当由主机102施加的读取请求1对应于SLC块152(其包括存储器设备150中的多个存储器块152和154中的多个SLC)时,存储器系统110中的控制器130可以生成MLC读取命令,并且将MLC读取命令传送到存储器设备150(2-1)。

此外,在进入保护模式之后,当由主机102施加的读取请求1对应于MLC块154(其包括存储器设备150中的多个存储器块152和154中的多个MLC)时,控制器130可以生成SLC读取命令,并且将SLC读取命令传送到存储器设备150(2-2)。

此外,主机102可以请求存储器系统110从保护模式退出,即,进入正常模式,(3)。此外,在存储器系统110进入正常模式之后,主机102可以请求读取操作(3)。

在这种状态下,在进入正常模式之后,当由主机102施加的读取请求3对应于SLC块152(其包括存储器设备150中的多个存储器块152和154中的多个SLC),存储器系统110中的控制器130可以生成SLC读取命令,并且将SLC读取命令传送到存储器设备150(4-1)。

此外,在进入正常模式之后,当由主机102施加的读取请求3对应于MLC块154(其包括存储器设备150中的多个存储器块152和154中的多个MLC)时,控制器130可以生成MLC读取命令,并且将MLC读取命令传送到存储器设备150(4-2)。

此外,存储器设备150可以响应于MLC读取命令而执行使用MLC方法的读取操作,并且可以响应于SLC读取命令而执行使用SLC方法的读取操作。

存储器设备150中的多个存储器块152和154中的每个存储器块的配置、以及使用SLC方法的读取操作和使用MLC方法的读取操作之间的差异可以参考图3至图5来理解。

首先,参考图3,存储器设备150中的多个存储器块152和154中的每个存储器块可以包括多个串ST、各自耦合到多个串ST中的每个串的一端的多个位线BL1和BL2、以及共同耦合到多个串ST中的每个串的另一端的公共源极线CSL。图3图示了存在两个串ST以及两个位线BL1和BL2的情况,但是串的数目和耦合到每个串的位线的数目可以被不同地改变。

两个串ST中的每个串可以包括串联连接的源极选择晶体管SST、多个存储器单元MC、以及漏极选择晶体管DST。在该情况下,存储器单元MC中的每个存储器单元可以具有如下的结构,在该结构中,浮置栅极FG和控制栅极CG堆叠在半导体衬底10的本体上。相应的串ST的对应控制栅极CG被耦合以形成一个字线WL。共享一个字线WL的存储器单元MC可以由对应的字线WL控制。

此外,漏极选择晶体管DST可以控制对应的串ST与对应的位线BL1和BL2之间的连接。在该情况下,漏极选择晶体管DST的栅极可以被耦合以形成一个漏极选择线DSL。此外,源极选择晶体管SST可以控制对应的串ST和公共源极线CSL之间的连接。源极选择晶体管SST的栅极可以被耦合以形成一个源极选择线SSL。

在存储器设备150中,取决于擦除/编程循环的执行,存储器单元MC中的每个存储器单元可以具有擦除状态或编程状态。

参考图4,如果存储器单元MC中的每个存储器单元是SLC,则取决于擦除/编程循环的执行,存储器单元可以具有擦除状态或一种编程状态。例如,经编程的存储器单元可以具有诸如“P”的读取电压分布,并且未经编程(例如,经擦除)的存储器单元可以具有诸如“E”的读取电压分布。在SLC的情况下,可以使用一个读取电压VREAD1来区分一种编程状态P和擦除状态E。因此,在SLC中,一个第一读取电压VREAD1的电平可以被设置为适当的电平,通过该电平可以区分一种编程状态P和擦除状态E。

因此,使用SLC方法的读取操作可以包括:生成一个第一读取电压VREAD1,并且使用所生成的一个第一读取电压VREAD1的电平作为用于确定数据值的标准来执行一次读取操作。例如,如所示的,被编程为具有比第一读取电压VREAD1的电平低的电平的存储器单元的数据可以被确定为具有擦除状态E。被编程为具有比第一读取电压VREAD1的电平高的电平的存储器单元的数据可以被确定具有编程状态P。例如,在使用SLC方法的读取操作中,通过基于一个第一读取电压VREAD1的一个确定操作,存储器单元MC(例如,读取目标)的数据值可以被确定(E或P)为“1”或“0”。

参考图5,如果存储器单元MC中的每个存储器单元是MLC,则取决于擦除/编程循环的执行,存储器单元可以具有擦除状态或多个编程状态。例如,如果假设MLC是三级单元(TLC),则经编程的存储器单元可以具有读取电压分布(诸如第一编程状态至第七编程状态P[1:7]),并且未经编程(例如,经擦除)的存储器单元可以具有诸如“E”的读取电压分布。如果假设MLC是TLC,则可以使用七个第二读取电压VREAD2[1:7]来区分七个编程状态P[1:7]和一个擦除状态E。因此,在假设MLC是TLC的情况下,七个第二读取电压VREAD2[1:7]中的每个第二读取电压的电平可以被设置为如下的电平,通过该电平可以区分七个编程状态P[1:7]和一个擦除状态E。

因此,使用MLC方法的读取操作可以包括:以设置的序列逐个地生成至少两个第二读取电压VREAD2[1:7],并且使用所生成的第二读取电压VREAD2[1:7]中的每个第二读取电压的电平作为用于确定数据值的标准来连续并重复地执行至少两次读取操作。例如,如所示的,对应于一个擦除状态E的存储器单元MC具有如下的阈值电压分布,该阈值电压分布具有比第1第二读取电压VREAD2[1]的电平低的电平。对应于第一编程状态P1的存储器单元MC具有如下的阈值电压分布,该阈值电压分布具有比第1第二读取电压VREAD2[1]高的电平。因此,通过基于第1第二读取电压VREAD2[1]的确定操作,对应于擦除状态E的存储器单元MC的数据值和对应于第一编程状态P1的存储器单元MC的数据值可以被确定(E或P1)为“111”或“011”。

此外,对应于第一编程状态P1的存储器单元MC具有如下的阈值电压分布,该阈值电压分布具有比第2第二读取电压VREAD2[2]低的电平,并且对应于第二编程状态P2的存储器单元MC具有如下的阈值电压分布,该阈值电压分布具有比第2第二读取电压VREAD2[2]高的电平。因此,通过基于第2第二读取电压VREAD2[2]的确定操作,对应于第一编程状态P1的存储器单元MC的数据值和对应于第二编程状态P2的存储器单元MC的数据值可以被确定(P1或P2)为“011”或“010”。以这种方式,通过基于第3第二读取电压VREAD2[3]的确定操作,对应于第二编程状态P2的存储器单元MC的数据值和对应于第三编程状态P3的存储器单元MC的数据值可以被确定(P2或P3)为“010”或“110”。

通过基于第4第二读取电压VREAD2[4]的确定操作,对应于第三编程状态P3的存储器单元MC的数据值和对应于第四编程状态P4的存储器单元MC的数据值可以被确定(P3或P4)为“110”或“100”。

通过基于第5第二读取电压VREAD2[5]的确定操作,对应于第四编程状态P4的存储器单元MC的数据值和对应于第五编程状态P5的存储器单元MC的数据值可以被确定(P4或P5)为“100”或“101”。

通过基于第6第二读取电压VREAD2[6]的确定操作,对应于第五编程状态P5的存储器单元MC的数据值和对应于第六编程状态P6的存储器单元MC的数据值可以被确定(P5或P6)为“101”或“001”。

通过基于第7第二读取电压VREAD2[7]的确定操作,对应于第六编程状态P6的存储器单元MC的数据值和对应于第七编程状态P7的存储器单元MC的数据值可以被确定(P6或P7)为“001”或“000”。

因此,在假设MLC是TLC的读取操作中,通过基于七个第二读取电压VREAD2[1:7]的七个确定操作,存储器单元MC(例如,读取目标)的数据值可以被确定(E或P1或P2或P3或P4或P5或P6或P7)为“111”、“011”、“010”、“110”、“100”、“101”、“001”或“000”。

作为参考,随着经编程的存储器单元MC的阈值电压变得更高(例如,阈值的状态变为第七编程状态P7),可以认为大量电荷被存储在存储器单元MC的浮置栅极FG中。此外,在读取操作时,通过将七个第二读取电压VREAD2[1:7]施加到存储器单元MC(例如,读取目标)的控制栅极CG,可以读取存储器单元MC中存储的数据的状态(例如,擦除状态E或第一编程状态至第七编程状态P[1:7]中的一个编程状态)。此外,在使用MLC方法的读取操作中,取决于存储器设备150的类型或控制存储器设备150的方法,用于生成至少两个第二读取电压VREAD2[1:7]的设置序列可以以各种方式被确定。

返回参考图1,当响应于在保护模式中由控制器130施加的MLC读取命令2-1而对(存储在SLC块152中的)第一数据执行使用MLC方法的读取操作时,存储器设备150可以分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以便确定存储在SLC块152中的第一数据的值。

当响应于在保护模式中由控制器130施加的SLC读取命令2-2而对(存储在MLC块154中的)第二数据执行使用SLC方法的读取操作时,存储器设备150可以基于一个第一读取电压的电平执行一个读取操作,以便确定存储在MLC块154中的第二数据的值。

例如,参考图1和图3至图5,存储在SLC块152中的第一数据的状态可以被分类为编程状态P和擦除状态E。通过基于一个第一读取电压VREAD1的一个确定操作,存储器单元MC(例如,读取目标)的数据值可以被确定为“1”或“0”。此外,存储在MLC块154中的第二数据的状态可以被分类为七个编程状态P[1:7]和一个擦除状态E。通过基于七个第二读取电压VREAD2[1:7]的七个确定操作,存储器单元MC(例如,读取目标)的数据值可以被确定为“111”、“011”、“010”、“110”、“100”、“101”、“001”和“000”。

此外,当响应于在正常模式中由控制器130施加的SLC读取命令4-1而对(存储在SLC块152中的)第一数据执行使用SLC方法的读取操作时,存储器设备150可以基于一个第一读取电压的电平执行一个读取操作,以便确定存储在SLC块152中的第一数据的值。

当响应于在正常模式中由控制器130施加的MLC读取命令4-2而对(存储在MLC块154中额)第二数据执行使用MLC方法的读取操作时,存储器设备150可以分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以便确定存储在MLC块154中的第二数据的值。

当在保护模式中确定存储在SLC块152中的第一数据的值时,如果通过使用MLC方法的读取操作来执行基于七个第二读取电压VREAD2[1:7]的七个确定操作,则存储在SLC块152中的第一数据的值可以被确定为奇异值,该奇异值与通过编程存储的值大不相同并且可能无法预测。

相反,当在正常模式中确定存储在SLC块152中的第一数据的值时,当通过使用SLC方法的读取操作来执行基于一个第一读取电压VREAD1的一个确定操作时,存储在SLC块152中的第一数据的值可以被准确地确定为通过编程存储的值。

当确定存储在MLC块154中的第二数据的值时,如果通过使用SLC方法的读取操作来执行基于一个第一读取电压VREAD1的仅一个确定操作,则存储在MLC块154中的第二数据的值可以被确定为奇异值,该奇异值与通过编程存储的值大不相同并且永远无法预测。相反,当在正常模式中确定存储在MLC块154中的第二数据的值时,如果通过使用MLC方法的读取操作来执行基于七个第二读取电压VREAD2[1:7]的七个确定操作,则存储在MLC块154中的第二数据的值可以被准确地确定为通过编程存储的值。

因此,在正常模式中,当由主机102施加的读取请求3对应于包括(存储器设备150中的多个存储器块152和154中的)多个SLC的SLC块152时,控制器130可以通过生成SLC读取命令并且将SLC读取命令传送到存储器设备150的操作(4-1),来正常读取(存储在SLC块152中的)第一数据。相反,在进入保护模式之后,当由主机102施加的读取请求1对应于包括(存储器设备150中包括的多个存储器块152和154中的)多个SLC的SLC块152时,控制器130可以通过生成MLC读取命令并且将MLC读取命令传送到存储器设备150的操作2-1,来防止(存储在SLC块152中的)第一数据被正常读取。

同样地,在正常模式中,当由主机102施加的读取请求3对应于包括(存储器设备150中的多个存储器块152和154中的)多个MLC的MLC块154时,控制器130可以通过生成MLC读取命令并且将MLC读取命令传送到存储器设备150的操作4-2,来正常读取(存储在MLC块154中的)第二数据。相反,在进入保护模式之后,当由主机102施加的读取请求1对应于包括(存储器设备150中的多个存储器块152和154中的)多个MLC的MLC块154时,控制器130可以通过生成SLC读取命令并且将SLC读取命令传送到存储器设备150的操作2-2,来使得(存储在MLC块154中的)第二数据能够不被正常读取。

因此,在保护模式中,控制器130可以确认由主机102施加的读取请求1对应于存储器设备150中的多个存储器块152和154中的哪个存储器块,并且可以基于确认的结果,将(被传送到存储器设备150的)读取命令的类型控制为不同于正常模式中的读取命令的类型,使得被编程的数据不能被正常读取。

当由主机102施加的编程请求对应于包括(存储器设备150中的多个存储器块152和154中的)多个SLC的SLC块152时,在正常模式中,存储器系统110中的控制器130可以生成SLC编程命令并且将SLC编程命令传送到存储器设备150,并且在保护模式中,该控制器130可以向主机102输出指示编程操作不可行的响应信号。

类似地,当由主机102施加的编程请求对应于包括(存储器设备150中的多个存储器块152和154中的)多个MLC的MLC块154时,在正常模式中,存储器系统110中的控制器130可以生成MLC编程命令并且将MLC编程命令传送到存储器设备150,并且在保护模式中,该控制器130可以向主机102输出指示编程操作不可行的响应信号。

此外,存储器设备150可以响应于MLC编程命令而执行使用MLC方法的编程操作,并且可以响应于SLC编程命令而执行使用SLC方法的编程操作。

图2是被配置成在保护模式中执行读取操作的数据处理系统100的一个实施例的框图。与先前的实施例一样,数据处理系统100可以是存储器系统中的易失性存储器设备或非易失性存储器设备。

图2的数据处理系统100中的主机102和存储器系统110的配置可以与图1的数据处理系统100中的主机102和存储器系统110的配置几乎相同。例如,图1的存储器系统110中的控制器130的元件132、134、138、140、142和144可以与图2的控制器130中的相同。此外,图1的控制器130的许多操作可以与图2的控制器130相同。

然而,图2的存储器系统110中的控制器130和存储器设备150的操作可以与图1的存储器系统110中的控制器130和存储器设备150的操作部分地不同。在一些实施例中,控制器130可以响应于来自主机102的读取请求而执行生成MLC读取命令或SLC读取命令的操作,并且然后将MLC读取命令或SLC读取命令传送到存储器设备150。在图2的实施例中,控制器130可以响应于来自主机102的读取请求而执行生成读取命令的操作,并且将读取命令传送到存储器设备150。

此外,图1图示了仅多个存储器块152和154在存储器设备150中。相比之下,在图2的实施例中,除了多个存储器块152和154之外,操作控制单元(即,操作控制器)200(其执行下文所述的特征操作)可以在存储器设备150中。此外,操作控制单元(或操作控制器)200可以包括地址确定单元(或地址确定逻辑)201、命令解码单元(或命令解码器)202、以及读取操作单元(或读取操作器)203。

例如,主机102可以请求存储器系统110进入保护模式,例如,退出正常模式(1)。在存储器系统110进入保护模式之后,主机102可以请求读取操作(1)。

在这种状态下,存储器系统110中的控制器130可以请求存储器设备150进入保护模式,例如,退出正常模式(2)。在存储器设备150进入保护模式之后,控制器130可以响应于来自主机102的读取请求而生成读取命令,并且可以将所生成的读取命令传送到存储器设备150(2)。

在响应于来自控制器130的请求进入保护模式之后,存储器设备150中的操作控制单元200可以响应于由控制器130施加的读取命令,对存储在SLC块152中的第一数据执行使用MLC方法的读取操作(3-1)。

在响应于来自控制器130的请求进入保护模式之后,操作控制单元200可以响应于由控制器130施加的读取命令,对存储在MLC块154中的第二数据执行使用SLC方法的读取操作(3-2)。

主机102可以请求存储器系统110进入正常模式,例如,退出保护模式(4)。在存储器系统110进入正常模式之后,主机102可以请求读取操作(4)。

在这种状态下,控制器130可以请求存储器设备150进入正常模式,例如,从保护模式退出(5)。此外,在存储器设备150进入正常模式之后,控制器130可以响应于来自主机102的读取请求而生成读取命令,并且可以将所生成的读取命令传送到存储器设备150(5)。

在响应于来自控制器130的请求进入正常模式之后,操作控制单元200可以响应于由控制器130施加的读取命令,对存储在SLC块152中的第一数据执行使用SLC方法的读取操作(6-1)。

在响应于来自控制器130的请求进入正常模式之后,操作控制单元200可以响应于由控制器130施加的读取命令,对存储在MLC块154中的第二数据执行使用MLC方法的读取操作(6-2)。

例如,地址确定单元201可以生成块选择信息,该块选择信息指示与读取命令一起从控制器130接收的读取地址是指示SLC块152还是MLC块154。

命令解码单元202可以响应于从控制器130接收的模式选择信号而进入正常模式或保护模式。因此,命令解码单元202可以响应于来自控制器130的模式选择信号和来自地址确定单元201的块选择信息,通过以SLC序列或MLC序列对读取命令进行解码来生成操作控制信号。

读取操作单元203可以响应于来自命令解码单元202的操作控制信号而生成读取电压。然后,读取操作单元203可以基于读取电压和从控制器130接收的读取地址,以所讨论的SLC方式或MLC方式来对存储器块152或154执行读取操作。

因此,响应于来自主机102的读取请求,即使当控制器130已经进入保护模式时,控制器130也可以向存储器设备150传送读取命令,并且即使当控制器130已经进入正常模式时,控制器130也可以向存储器设备150传送读取命令。

在一个实施例中,从控制器130传送到存储器设备150的读取命令可以具有相同的特性,而不管模式是正常模式还是保护模式。然而,当控制器130向存储器设备150传送读取命令时,还可以传送读取地址。取决于多个存储器块152和154中的由读取地址指示的存储器块,操作控制单元200可以执行使用SLC方法的读取操作或使用MLC方法的读取操作。

多个存储器块152和154中的每个存储器块的配置、以及使用SLC方法的读取操作和使用MLC方法的读取操作之间的差异可以例如参考图3至图5来理解,并且已经参考图1进行了描述。

例如,已经参考图4描述了使用SLC方法的读取操作可以包括:生成一个第一读取电压VREAD1,并且使用所生成的一个第一读取电压VREAD1的电平作为用于确定数据值的标准来执行一次读取操作。此外,已经参考图5描述了使用MLC方法的读取操作可以包括:以设置的序列逐个地生成至少两个第二读取电压VREAD2[1:7],并且使用所生成的第二读取电压VREAD2[1:7]中的每个第二读取电压的电平作为用于确定数据值的标准来连续并重复地执行至少两次读取操作。

再次参考图2,在进入保护模式之后,当与由控制器130施加的读取命令一起被接收的读取地址指示SLC块152时,操作控制单元200可以以MLC序列对由控制器130施加的读取命令进行解码,并且可以对SLC块152执行使用MLC方法的读取操作。

如上所述,操作控制单元200可以以MLC序列来对读取命令进行解码,并且可以分别基于至少两个第二读取电压的电平来连续执行至少两个读取操作,以便确定存储在对应于读取地址的SLC块152中第一数据的值。

例如,当确定读取地址指示SLC块152时,地址确定单元201可以生成对应于SLC块152的块选择信息,并且可以将所生成的块选择信息传送到命令解码单元202。此外,命令解码单元202可以处于在其中命令解码单元202响应于模式选择信号而已经进入保护模式的状态。因此,命令解码单元202可以响应于对应于SLC块152的块选择信息,通过以MLC序列对读取命令进行解码来生成操作控制信号。

读取操作单元203可以响应于来自命令解码单元202的操作控制信号而生成至少两个第二读取电压,以执行使用MLC方法的读取操作。然后,读取操作单元203可以对SLC块152执行使用MLC方法的读取操作,例如,可以分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以便通过使用所生成的至少两个第二读取电压来确定存储在SLC块152中的第一数据的值。

在进入保护模式之后,当与由控制器130施加的读取命令一起被接收的读取地址指示MLC块154时,操作控制单元200可以以SLC序列对由控制器130施加的读取命令进行解码。操作控制单元200然后可以对MLC块154执行使用SLC方法的读取操作。

如上所述,操作控制单元200可以以SLC序列来对读取命令进行解码,并且然后可以基于一个第一读取电压的电平来执行一个读取操作,以便确定存储在对应于读取地址的MLC块154中第二数据的值。例如,当确定读取地址指示MLC块154时,地址确定单元201可以生成与MLC块154相对应的块选择信息,并且然后可以将所生成的块选择信息传送到命令解码单元202。

此外,命令解码单元202可以处于在其中命令解码单元202响应于模式选择信号而已经进入保护模式的状态。因此,命令解码单元202可以响应于对应于MLC块154的块选择信息,通过以SLC序列对读取命令进行解码来生成操作控制信号。

此外,读取操作单元203可以响应于从命令解码单元202接收的操作控制信号而生成一个第一读取电压,以便执行使用SLC方法的读取操作。然后,读取操作单元203可以对MLC块154执行使用SLC方法的读取操作,例如,基于一个第一读取电压的电平执行一个读取操作,以便使用所生成的一个第一读取电压来确定存储在MLC块154中的第二数据的值。

例如,参考图2和图3至图5,存储在SLC块152中的第一数据可以被分类为编程状态P和擦除状态E。通过基于一个第一读取电压VREAD1的一个确定操作,存储器单元MC(例如,读取目标)的数据值可以被确定为“1”或“0”。此外,存储在MLC块154中的第二数据可以被分类为七个编程状态P[1:7]和一个擦除状态E。通过基于七个第二读取电压VREAD2[1:7]的七个确定操作,存储器单元MC(例如,读取目标)的数据值可以被确定为“111”、“011”、“010”、“110”、“100”、“101”、“001”和“000”。

在进入正常模式之后,当与由控制器130施加的读取命令一起被接收的读取地址指示SLC块152时,操作控制单元200可以以SLC序列对由控制器130施加的读取命令进行解码,并且可以对SLC块152执行使用SLC方法的读取操作。

如上所述,操作控制单元200可以以SLC序列对读取命令进行解码,并且可以基于一个第一读取电压的电平执行一个读取操作,以便确定存储在对应于读取地址的SLC块152中的第一数据的值。例如,当读取地址指示SLC块152时,地址确定单元201可以生成与SLC块152相对应的块选择信息,并且可以将所生成的块选择信息传送到命令解码单元202。

命令解码单元202可以处于在其中命令解码单元202响应于模式选择信号而已经进入正常模式的状态。因此,命令解码单元202可以响应于对应于SLC块152的块选择信息,通过以SLC序列对读取命令进行解码来生成操作控制信号。

读取操作单元203可以响应于从命令解码单元202接收的操作控制信号而生成一个第一读取电压,以执行使用SLC方法的读取操作。然后,读取操作单元203可以对SLC块152执行使用SLC方法的读取操作(例如,基于一个第一读取电压的电平的一个读取操作),以便使用所生成的一个第一读取电压来确定存储在SLC块152中的第一数据的值。

在进入正常模式之后,当与由控制器130施加的读取命令一起被接收的读取地址指示MLC块154时,操作控制单元200可以以MLC序列对由控制器130施加的读取命令进行解码。然后,操作控制单元200可以对MLC块154执行使用MLC方法的读取操作。

如上所述,操作控制单元200可以以MLC序列对读取命令进行解码,并且可以分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以便确定存储在对应于读取地址的MLC块154中的第二数据的值。

例如,当读取地址指示MLC块154时,地址确定单元201可以生成与MLC块154相对应的块选择信息,并且可以将所生成的块选择信息传送到命令解码单元202。命令解码单元202可以处于在其中命令解码单元202响应于模式选择信号而已经进入正常模式的状态。因此,命令解码单元202可以响应于对应于MLC块154的块选择信息,通过以MLC序列对读取命令进行解码来生成操作控制信号。

此外,读取操作单元203可以响应于从命令解码单元202接收的操作控制信号而生成至少两个第二读取电压,以便执行使用MLC方法的读取操作。然后,读取操作单元203可以对MLC块154执行使用MLC方法的读取操作,例如,可以分别基于至少两个第二读取电压的电平连续执行至少两个读取操作,以使用所生成的至少两个第二读取电压来确定存储在MLC块154中的第二数据的值。

当在保护模式中确定存储在SLC块152中的第一数据的值时,并且当通过使用MLC方法的读取操作来执行基于七个第二读取电压VREAD2[1:7]的七个确定操作时,存储在SLC块152中的第一数据的值可以被确定为奇异值,该奇异值与通过编程存储的值大不相同并且永远无法预测。相反,当在正常模式中确定存储在SLC块152中的第一数据的值时,并且当通过使用SLC方法的读取操作来执行基于一个第一读取电压VREAD1的一个确定操作时,存储在SLC块152中的第一数据的值可以被准确地确定为通过编程存储的值。

当在保护模式中确定存储在MLC块154中的第二数据的值时,并且当通过使用SLC方法的读取操作来执行基于一个第一读取电压VREAD1的仅一个确定操作时,存储在MLC块154中的第二数据的值可以被确定为奇异值,该奇异值与通过编程存储的值大不相同并且永远无法预测。相反,当在正常模式中确定存储在MLC块154中的第二数据的值时,并且当通过使用MLC方法的读取操作来执行基于七个第二读取电压VREAD2[1:7]的七个确定操作时,存储在MLC块154中的第二数据的值可以被准确地确定为通过编程存储的值。

因此,在正常模式中,当与来自控制器130的读取命令5一起被施加的读取地址指示SLC块152时,操作控制单元200可以以SLC序列对由控制器130施加的读取命令进行解码,以对SLC块152执行使用SLC方法的读取操作。作为结果,存储在SLC块152中的第一数据可以被正常读取(6-1)。相反,在保护模式中,当与来自控制器130的读取命令2一起被施加的读取地址指示SLC块152时,操作控制单元200可以以MLC序列对由控制器130施加的读取命令进行解码,以对SLC块152执行使用MLC方法的读取操作。作为结果,存储在SLC块152中的第一数据不能被正常读取(3-1)。

同样地,在正常模式中,当与来自控制器130的读取命令5一起被施加的读取地址指示MLC块154时,操作控制单元200可以以MLC序列对由控制器130施加的读取命令进行解码,以对MLC块154执行使用MLC方法的读取操作。作为结果,存储在MLC块154中的第二数据可以被正常读取(6-2)。相反,在保护模式中,当与来自控制器130的读取命令2一起被施加的读取地址指示MLC块154时,操作控制单元200可以以SLC序列对由控制器130施加的读取命令进行解码,以对MLC块154执行使用SLC方法的读取操作。作为结果,存储在MLC块154中的第二数据不能被正常读取(3-2)。

因此,在保护模式中,操作控制单元200可以确认与来自控制器130的读取命令一起被施加的读取地址指示多个存储器块152和154中的哪个存储器块。此外,操作控制单元200可以基于确认的结果,将对从控制器130接收的读取命令进行解码的方法控制成不同于正常模式中的方法,使得编程数据不能被正常读取。

(通过存储器设备150中的操作控制单元200)以SLC序列对读取命令进行解码的操作和以MLC序列对读取命令进行解码的操作之间的一个区别可以参考图8来理解。

例如,基于图8A和图8B的比较,可以看出:图8A对应于以SLC序列对读取命令进行解码的情况,并且图8B对应于以MLC序列(例如,TLC序列)对读取命令进行解码的情况。在图8A中以SLC序列对读取命令进行解码的操作的一个目的可以是执行使用SLC方法的读取操作,以用于基于一个读取电压执行一个确定操作。在图8B中以MLC序列对读取命令进行解码的操作的一个目的是执行使用MLC方法的读取操作,以用于基于至少两个读取电压来执行至少两个确定操作。可以看出,图8B中的对读取命令进行解码的方法可以比图8A中的对读取命令进行解码的方法更复杂。

当在正常模式中,控制器130响应于来自主机102的请求而施加编程命令和编程地址,并且编程地址指示SLC块152时,存储器设备150中的操作控制单元200可以以SLC方式将输入数据编程到SLC块152中。此外,当在正常模式中,控制器130响应于来自主机102的请求而施加编程命令和编程地址,并且编程地址指示MLC块154时,操作控制单元200可以以MLC方式将输入数据编程到MLC块154中。

此外,当在保护模式中,控制器130响应于来自主机102的请求而施加编程命令时,操作控制单元200可以向控制器130输出指示编程操作不可行的响应信号。此时,控制器130可以向主机102传送响应信号,该响应信号从存储器设备150接收并且指示编程操作不可行。

图6是图示在存储器系统的保护模式中执行读取操作的方法的一个实施例的流程图,该系统可以对应于本文描述的实施例。图7是描述所提出的在保护模式中执行读取操作的方法的流程图,所提出的该方法可以与图6的在保护模式中执行读取操作的方法实施例相比较。

参考图6,当从主机102接收到针对进入保护模式的请求时(S1),根据一个实施例的存储器系统110可以立即进入保护模式(S2)并且向主机102传送指示已经完成进入保护模式的响应信号(S3)。操作S2中的进入保护模式可以包括存储器系统110从正常模式退出并且进入保护模式的情况。

在该情况下,操作S1到S3几乎不需要花费时间。这是因为在存储器系统110中执行以根据操作S1进入保护模式的附加操作(例如,诸如擦除操作、编程操作或加密操作的操作)不需要被执行。对此的原因是:在存储器系统110已经进入保护模式的状态下出现来自主机102的读取请求时(S4),根据一个实施例的存储器系统110以如下方式操作。

首先,当在操作S4中从主机102接收的读取请求是对SLC块的读取请求时(S5中的SLC),存储器系统可以通过执行使用MLC方法的读取操作(S6)来输出读取数据(S8)。如上所述,如果在保护模式中对SLC块执行使用MLC方法的读取操作,则SLC块中存储的数据的值可以被确定为奇异值,该奇异值与通过编程存储的值大不相同并且永远无法预测。

同样地,当在操作S4中从主机102接收的读取请求是对MLC块的读取请求时(S5中的MLC),存储器系统可以通过执行使用SLC方法的读取操作(S7)来输出读取数据(S8)。如上所述,如果在保护模式中对MLC块执行使用SLC方法的读取操作,则MLC块中存储的数据的值可以被确定为奇异值,该奇异值与通过编程存储的值大不相同并且永远无法预测。

也就是说,通过操作S8在保护模式中输出的读取数据可以总是具有不具有任何意义的奇异值。因此,可以达到保护模式的一个目的(例如,防止存储器系统110中存储的数据被正常读取)。

在操作S8之后,当从主机102接收到保护模式解除请求时(S9),存储器系统110可以立即解除保护模式(S10),并且可以向主机102传送指示保护模式的解除已经完成的响应信号(S11)。操作S10中的解除保护模式可以包括存储器系统110从保护模式退出并且进入正常模式的情况。

在该情况下,操作S9至S11几乎不需要花费时间。这是因为当存储器系统110根据操作S1至S3进入保护模式时,在存储器系统110内执行以进入保护模式的附加操作(例如,诸如擦除操作、编程操作或加密操作的操作)从未被执行。因此,在操作S11之后(例如,在存储器系统110从保护模式退出并且进入正常模式之后),存储器系统110可以以SLC方式读取存储在SLC块中的数据或者以MLC方式读取存储在MLC块中的数据,以便可以正常读取通过编程存储在SLC块或MLC块中的数据的值。

此外,参考图7的所提出的方法,当从主机102接收到进入保护模式的请求时(P1),存储器系统可能必须执行许多操作P2、P3、P4、P5、P6、P7和P8,直到存储器系统110向主机102传送指示进入保护模式已经完成的响应信号(P9)为止。

具体地,在所提出的方法中,存储器系统可以在操作P1之后自主地检查存储器系统是否可以进入保护模式(P2)。例如,存储器系统110可以检查在保护模式中的操作(例如,读取操作、编程操作或擦除操作)之前执行的剩余操作是否正在被执行(P2),并且如果作为检查的结果,剩余操作正在被执行,则可以处理剩余操作(P3)。

如果作为检查的结果,剩余操作没有正在被执行,则存储器系统可以进入保护模式(P4)。然而,在存储器系统110自主进入保护模式的操作P4和存储器系统110向主机102通知已经完成进入保护模式的操作P9之间,需要执行针对保护模式擦除存储器设备150中的所有多个存储器块152和154的操作P5、P6、P7和P8;再次对存储在多个存储器块152和154中的所有数据进行加密和存储的操作等。

如上所述的需要针对保护模式执行的操作P5、P6、P7和P8不可避免地消耗大量时间。此外,返回到需要针对保护模式执行的操作P5、P6、P7和P8可能不可行,或者可能在很长时间内获取或消耗功率。

如上所述,根据一个或多个实施例,提供了一种非易失性存储器设备,该非易失性存储器设备被划分为多级单元(MLC)区域和单级单元(SLC)区域。然后,数据被存储在MLC区域和SLC区域中,例如,在进入保护模式的部分中,使用SLC方法读取存储在MLC区域中的数据,并且使用MLC方法读取存储在SLC区域中的数据。作为结果,在进入保护模式时,可以控制正常数据不被读取。

因此,即使在进入保护模式时,所有所存储的数据还未被擦除,也可以防止存储在非易失性存储器设备中的数据的泄漏。如上所述,因为即使在不擦除存储在非易失性存储器设备中的所有数据的情况下也可以进入保护模式,所以可以减少或最小化进入保护模式的过程所花费的时间。

本文描述的方法、过程和/或操作可以由要由计算机、处理器、控制器或其他信号处理设备执行的代码或指令来执行。计算机、处理器、控制器或其他信号处理设备可以是本文描述的计算机、处理器、控制器或其他信号处理设备,或者可以是除了本文描述的元件之外的元件。因为形成方法(或计算机、处理器、控制器或其他信号处理设备的操作)的基础的算法被详细描述,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理设备转换为用于执行本文的方法的专用处理器。

当至少部分地以软件实现时,控制器、处理器、设备、模块、单元、多路复用器、生成器、逻辑、接口、解码器、驱动器、生成器和其他信号生成和信号处理特征可以包括:例如,用于存储要由例如计算机、处理器、微处理器、控制器或其他信号处理设备执行的代码或指令的存储器或其他存储设备。计算机、处理器、微处理器、控制器或其他信号处理设备可以是本文描述的计算机、处理器、微处理器、控制器或其他信号处理设备,或者可以是除了本文描述的元件之外的元件。因为形成方法(或计算机、处理器、微处理器、控制器或其他信号处理设备的操作)的基础的算法被详细描述,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理设备转换为用于执行本文描述的方法的专用处理器。

虽然已经出于说明的目的描述了各种实施例,但是对于本领域技术人员明显的是,在不脱离本公开的精神和范围的情况下,可以做出各种改变和修改。实施例可以被组合以形成附加的实施例。

技术分类

06120114708282