首页> 中国专利> 非易失性存储器装置中的易失性存储器架构及相关控制器

非易失性存储器装置中的易失性存储器架构及相关控制器

摘要

在一些实施例中,非易失性存储器的一个寄存器可用于读取操作且所述非易失性存储器的另一寄存器可用于编程操作。例如,可结合读取操作使用NAND快闪存储器的高速缓冲存储器寄存器,且可结合编程操作使用所述NAND快闪存储器的数据寄存器。根据一些实施例,例如NAND快闪存储器装置的多个非易失性存储器装置的数据寄存器可实施管理存储器装置中的分布式易失性高速缓冲存储器DVC架构。根据某些实施例,可在寄存器之间移动及/或交换数据以执行所述非易失性存储器装置中的某些操作而不丢失在执行其它操作时存储的所述数据。

著录项

  • 公开/公告号CN105593942A

    专利类型发明专利

  • 公开/公告日2016-05-18

    原文格式PDF

  • 申请/专利权人 美光科技公司;

    申请/专利号CN201480053468.5

  • 申请日2014-09-22

  • 分类号G11C16/06(20060101);G11C16/34(20060101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人路勇

  • 地址 美国爱达荷州

  • 入库时间 2023-12-18 15:12:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-29

    授权

    授权

  • 2016-06-15

    实质审查的生效 IPC(主分类):G11C16/06 申请日:20140922

    实质审查的生效

  • 2016-05-18

    公开

    公开

说明书

技术领域

本发明的实施例大体上涉及电子器件,且特定地说,涉及非易失性存储器装置及/或相关联控制器。

背景技术

例如NAND快闪存储器装置的非易失性存储器装置可集成到管理存储器装置中。管理存储器装置的嵌入式控制器及其相关联固件可基于既定协议将来自主机平台的读取及/或编程请求转译成用于非易失性存储器装置的命令序列。例如,嵌入式控制器可根据开放NAND快闪接口(ONFI)协议将来自主机的请求转译成用于NAND快闪存储器装置的命令。管理存储器装置的控制器的易失性存储器(例如静态随机存取存储器(SRAM))消耗越来越多的面积且使此类控制器更为昂贵。

嵌入式多媒体卡(eMMC)装置是管理存储器装置的实例。eMMC装置的固件可将块写入请求转译成用于NAND快闪存储器装置的读取及/或编程命令序列。在一些实例中,用户数据的实际编程可经由NAND页编程命令发生。NAND快闪存储器装置的寄存器(例如数据寄存器及高速缓冲存储器寄存器)的协议及架构的当前定义可限制管理存储器装置的性能。

因此,需要提高管理存储器装置的性能。还需要减少管理存储器装置的控制器的易失性存储器的量。

附图说明

本文中提供这些图式及相关联描述以说明本发明的特定实施例且这些图式及相关联描述不希望是限制性的。

图1是说明性NAND快闪存储器装置的框图。

图2是说明将数据编程到NAND快闪存储器阵列的常规方式的管理存储器装置的图式。

图3是根据实施例的说明NAND快闪存储器装置的页编程操作的管理存储器装置的图式。

图4是根据实施例的说明针对读取命令及编程命令使用NAND快闪装置的单独寄存器的管理存储器装置的图式。

图5是根据实施例的说明读取存储于寄存器中且尚未编程到NAND快闪存储器阵列的数据的管理存储器装置的图式。

图6是根据实施例的说明NAND快闪存储器装置的页编程操作的管理存储器装置的图式。

图7是根据实施例的说明其中将来自高速缓冲存储器寄存器的数据传送到数据寄存器的从NAND快闪存储器阵列的交错读取的管理存储器装置的图式。

图8是根据实施例的包含实施分布式易失性高速缓冲存储器的多个NAND快闪存储器装置的管理存储器装置的框图。

图9是根据另一实施例的说明性NAND快闪存储器装置的图式。

图10A及10B是说明在多平面NAND快闪存储器装置的寄存器之间交换数据的实施例的图式。

图11A、11B及11C是说明根据实施例的用交错高速缓冲存储器读取操作将第一数据暂时加载于寄存器中以读取第二数据的过程的图式。

图12A、12B及12C是说明根据实施例的用交错高速缓冲存储器编程操作将第一数据暂时加载于寄存器中以将第二数据编程到阵列的过程的图式。

为了避免重复描述,可通过相同参考数字指代具有相同或类似功能的组件。

具体实施方式

虽然本文中描述特定实施例,但是所属领域一般技术人员将明白包含未提供本文中阐述的全部优点及特征的实施例的其它实施例。

如上文所讨论,NAND快闪存储器装置的寄存器(例如数据寄存器及高速缓冲存储器寄存器)的协议及/或架构的当前定义可限制管理存储器装置的性能。例如,指定数据寄存器及高速缓冲存储器寄存器用于NAND快闪存储器的读取命令及写入命令两者可限制管理存储器装置的性能。性能可受限于还可称为随机写入操作的随机编程操作。

解决管理存储器装置中的随机编程性能问题的一种方式是:实施固态磁盘(SSD)或eMMC装置中的易失性高速缓冲存储器。运用易失性高速缓冲存储器,可执行相对快速的编程操作。此性能可改善NAND快闪存储器及/或其它非易失性存储器的每秒输入/输出操作(IOPS)。同时,易失性高速缓冲存储器可显著增加控制器的大小。增加的控制器大小可导致更高成本。

一般地描述,本发明的方面涉及针对非易失性存储器装置实现相对良好的随机编程性能,同时在与所述非易失性存储器相关联的控制器上使用相对有限量的易失性存储器。本文中描述NAND快闪存储器装置的寄存器架构。单独寄存器可用于读取操作及编程操作。因而,根据某些实施例,NAND快闪存储器装置的一个寄存器可用于编程操作,且NAND快闪存储器装置的另一寄存器可同时用于读取操作。例如,高速缓冲存储器寄存器可用于读取操作且数据寄存器可用于编程操作。本文中描述的一些寄存器架构可使得能够在寄存器之间交换数据。因此,可将待编程到存储器阵列的第一数据加载到寄存器中,且可在保留加载到寄存器中的第一数据的同时执行交错读取及/或交错编程操作。例如,可在高速缓冲存储器寄存器与数据寄存器之间交换待编程到存储器阵列的第一数据,以使能够在保留所述第一数据时执行一或多个其它读取及/或编程操作。作为另一实例,可将待编程到存储器阵列的第一数据从高速缓冲存储器寄存器移动到独立于数据寄存器及高速缓冲存储器寄存器的虚拟高速缓冲存储器寄存器,同时执行一或多个读取及/或编程操作。接着,可将待编程到存储器阵列的第一数据从虚拟高速缓冲存储器寄存器移动回到高速缓冲存储器寄存器。在某些实施例中,NAND快闪存储器装置的寄存器可实施管理存储器装置内的分布式虚拟高速缓冲存储器。此可加强随机编程操作的性能,而对随机读取操作的性能具有较小影响或不具影响。在一些实施例中,一或多个数据寄存器可实施分布式虚拟高速缓冲存储器。虽然本文中为说明性目的参考NAND快闪存储器装置描述一些实例,但是应了解,可结合任何适合非易失性存储器装置来实施本文中描述的原理及优点。例如,可结合相变存储器(PCM)来实施本文中描述的原理及优点。

图1是说明性NAND快闪存储器装置100的框图。如所说明,NAND快闪存储器装置100包含高速缓冲存储器寄存器110、数据寄存器120及非易失性存储器的阵列130。根据某些实施方案,本文中描述的任何寄存器可称为页缓冲器或锁存器。数据寄存器120还可称为页寄存器。高速缓冲存储器寄存器110及数据寄存器120可各自包括易失性存储器。在写入操作期间,将来自主机的数据加载于高速缓冲存储器寄存器110中。在将数据编程到阵列130的页之前及/或在从阵列130检索数据之后,高速缓冲存储器寄存器110及数据寄存器120可用以保持数据。通常,以串行方式将待编程的数据定时送入(clockedinto)到高速缓冲存储器寄存器110中。接着,通常以并行方式将待编程的数据从高速缓冲存储器寄存器110移动到数据寄存器120。此释放高速缓冲存储器寄存器110以接收用于其它页的编程或读取的数据。从阵列130检索待读取的数据且将其加载于寄存器120中。接着,将数据从数据寄存器120移动到高速缓冲存储器寄存器110,数据被从高速缓冲存储器寄存器110定时取出(clockedout)到主机。高速缓冲存储器寄存器110及/或数据寄存器120可保持至少一页数据。阵列130可包含单电平单元132及多电平单元134。单电平单元132经配置以存储一个数位(digit)的信息,例如一位信息。多电平单元134经配置以存储一个数位以上的信息,例如多位信息。

图2是说明将数据编程到NAND快闪存储器阵列的常规方式的管理存储器装置200的图式。管理存储器装置200可包含控制器210及经由通道CH0及CH1与控制器210通信的多个NAND闪存装置100。如所说明,多个NAND快闪存储器装置100包含第一NAND快闪存储器装置100a及第二NAND快闪存储器装置100b。管理存储器装置200可为例如eMMC装置或SSD。第一NAND快闪存储器装置100a及第二NAND快闪存储器装置100b可由分别通过两个通道CH0及CH1连接到控制器210的不同裸片实施。第一NAND快闪存储器装置100a及第二NAND快闪存储器装置100b除外部连接之外可基本上彼此相同。

控制器210可为嵌入式控制器。控制器210可经由主机总线HB从主机接收数据。控制器210可经由主机总线HB接收用以存取第一NAND快闪存储器装置100a及/或第二NAND快闪存储器装置100b的请求。控制器210还可经由主机总线HB接收用户数据段。例如固态驱动器及快闪驱动器的大容量存储装置可以称为“块”的数据为单位传送数据。由控制器210接收的用户数据段不同于描述快闪存储器中的最小可擦除存储器单元的块。可以段为单位将用户数据从主机发送到控制器210。快闪存储器阵列130a及/或130b的页包括多个段。作为一个非限制性实例,如图2中所说明,用户数据段可为4千字节(KB)的数据。其它大小的段也将可适用。在图2中展示的实例中,控制器210可接收用以存取第一NAND快闪存储器装置100a的请求CMD25,接着接收用户数据段DATA4KB,且接着接收忙碌请求BUSY。

控制器210可将请求转译成用于第一NAND快闪存储器装置100a的命令。图2中展示由控制器210基于从主机接收的请求针对一个NAND快闪存储器装置上的页编程操作中的块写入操作产生的实例命令。这些命令可经由控制器210与第一NAND快闪存储器装置100a之间的通道CH0提供到第一NAND快闪存储器装置100a。

由第一NAND快闪存储器装置100a接收的命令致使用户数据段被加载于高速缓冲存储器寄存器110a中,且接着致使用户数据段被编程到非易失性存储器的阵列130a。因此,第一NAND快闪存储器装置100a一次将一个数据段编程到阵列130a。各自与一或多个数据段相关联的多个编程操作可将一页用户数据编程到阵列130a。

在根据当前ONFI标准操作的NAND快闪存储器装置100中,在与页读取、页高速缓冲存储器读取、页编程及页高速缓冲存储器编程操作相关联的命令期间使用高速缓冲存储器寄存器110及/或数据寄存器120。例如,页编程操作(80h到10h)使主机能够将数据加载到高速缓冲存储器寄存器110且接着将高速缓冲存储器寄存器110的内容编程到快闪存储器的阵列130中的指定块及页地址。作为另一实例,页高速缓冲存储器编程操作(80h到15h)使主机能够:将数据加载到高速缓冲存储器寄存器110;将所接收的数据从高速缓冲存储器寄存器110移动到数据寄存器120;且接着将数据寄存器120的内容编程到NAND快闪存储器的阵列130中的指定块及页地址,而高速缓冲存储器寄存器110可用于一或多个额外页高速缓冲存储器编程操作(80h到15h)及/或页编程操作(80h到10h)。因此,在例如页高速缓冲存储器编程操作(及页高速缓冲存储器读取操作)的一些操作中使用高速缓冲存储器寄存器110及数据寄存器120两者,且在例如页编程(及页读取)操作的一些其它操作中只使用这些寄存器中的一个寄存器。

在来自主机的随机块编程的情况中,可通过NAND页编程时间驱动管理存储器的性能。然而,NAND存储器阵列中页的大小通常大于由主机经由主机总线HB提供到控制器210的用户数据段的大小。NAND页大小随时间增加。为了提高随机编程性能,嵌入式SRAM可包含于一些嵌入式控制器中且用作编程操作的缓冲器。此SRAM可用以建立汇总与一或多个数据段相关联的数个编程请求的页或页条带(pagestripe)。当存在一个非易失性存储器平面时,页条带可对应于一页数据。当存在多个非易失性存储器平面时,页条带可对应于多个计划中的每一者中的完整页。例如,图8的每一NAND快闪存储器装置320a到320d中的页条带包含两个页。当页条带对应于多个页时,在本文中关于页讨论的任何原理及优点可应用于页条带。因此,当待编程到阵列的完整数据页或页条带就绪时,可将其从SRAM传送到NAND快闪存储器的寄存器。

可通过寄存器架构及/或将主机请求转译成用于本文中揭示的非易失性存储器的命令而提高管理存储器装置的随机编程性能。图3到8的管理存储器装置300包含控制器310,控制器310可将主机请求转译成用于非易失性存储器的新命令。控制器310还可将主机请求转译成用于图9到12C的存储器中的任一者的新命令。如所说明,控制器310可为嵌入式控制器。控制器310可使用硬件、固件或其任何组合转译主机命令。这些管理存储器装置300可包含可实施与新命令相关联的新功能性的NAND快闪存储器装置320a及320b。为了实施新命令,NAND快闪存储器装置320a及320b可包含与经配置以实施常规命令的NAND快闪存储器装置100a及100b相比不同的物理硬件。例如,NAND快闪存储器装置320a及320b可包含经配置以在从控制器310接收新命令时解码新命令的解码器。作为另一实例,NAND快闪存储器装置320a及320b可包含与经配置以实施常规命令的NAND快闪存储器装置100a及100b相比不同的到高速缓冲存储器寄存器110及/或数据寄存器120的连接。支持新命令的电路还可包含于NAND快闪存储器装置320a及320b中。NAND快闪存储器装置320a及320b中的高速缓冲存储器寄存器110、数据寄存器120及/或阵列130的内部功能性可分别与NAND快闪存储器装置110a及110b的内部功能性基本上相同。

在一些实施例中,非易失性存储器的寄存器可用于读取操作,且所述非易失性存储器的不同寄存器可用于写入操作。例如,可结合读取操作使用NAND快闪存储器的高速缓冲存储器寄存器,且可结合编程操作使用NAND快闪存储器的数据寄存器。根据一些实施例,多个NAND快闪存储器装置的数据寄存器可一起实施管理存储器装置中的分布式易失性高速缓冲存储器(DVC)架构。DVC可从NAND快闪存储器装置的输入接收数据而不干扰从NAND快闪存储器单元阵列读取的存储于NAND快闪存储器装置的寄存器中的数据。在用户数据段汇总成待编程到NAND快闪存储器单元的数据页时,DVC可将所述用户数据段存储于NAND快闪存储器装置上。例如,当用户数据与不同数据页相关联时,可通过多个不同非易失性存储器装置的易失性存储器存储用户数据段。甚至当用户数据未存储于非易失性存储器单元阵列中时,仍可通过非易失性存储器外部的控制器存取用户数据段。DVC可减小对于控制器中的RAM或其它易失性存储器的需要。

图3是根据实施例的说明NAND快闪存储器装置320a的页编程操作的管理存储器装置300的图式。如图3中所示,在管理存储器装置300中,与从主机接收的单一数据段相关联的多个编程命令CMD25可通过控制器310转译成对例如NAND快闪存储器100a的单一页编程操作及其它相关联管理操作。待由控制器310汇总成单一页编程操作的编程命令CMD25的数目可基于NAND快闪存储器的物理特性,例如页大小及/或平面的数目以及NAND快闪存储器的通道的数目。在说明性实例中,运用12KB页大小,各自与单一4KB数据段相关联的三个编程命令CMD25可由控制器310汇总成一个页编程操作。在某些实施例中,嵌入式控制器310的固件可执行此汇总。在一些其它实施例中,嵌入式控制器310的硬件可执行此汇总。

控制器310可结合将来自主机的编程命令CMD25汇总成NAND快闪存储器装置320a中的单一页编程操作而通过数据寄存器NEWCmd命令提供新页编程给NAND快闪存储器装置320a。通过数据寄存器命令NEWCmd的页编程可使控制器310能够将数据加载到数据寄存器120a,且将数据从数据寄存器120a编程到NAND快闪存储器装置320a的阵列130a中的指定地址,而不干扰保持在高速缓冲存储器寄存器110a中的数据。不同于NAND快闪存储器装置100(图2),NAND快闪存储器装置320a可具有经配置以将用户数据提供到数据寄存器120a而不将用户数据加载到高速缓冲存储器寄存器110a的电路。如图3中所示,通过数据寄存器命令NEWCmd及其它相关联命令的页编程可致使NAND快闪存储器装置320a逐段地将经由通道CH0从控制器310接收的用户数据递增地加载到数据寄存器120a中。接着,当一整页用户数据加载于数据寄存器120a中时,所述页用户数据可经由单一页编程操作编程到阵列130a。

图4是根据实施例的说明针对读取命令及编程命令使用NAND快闪装置的单独寄存器的管理存储器装置300的图式。针对读取命令及编程命令使用单独寄存器可避免寄存器使用的冲突。例如,可服务从主机接收的读取命令而不破坏汇总成NAND快闪存储器装置320a的寄存器(例如如图4中说明的数据寄存器120a)中的用户数据页的用户数据段。使用单独寄存器还可使得能够将待编程到阵列130的数据加载于第一寄存器中而不使用第二寄存器,且接着从阵列130加载读取。接着,在第一寄存器保持待编程到阵列130的数据时,可将来自第二寄存器的数据提供到控制器130。与主机侧上的一或多个段相关联的读取操作可通过控制器310转译成用于NAND快闪存储器装置320a的页读取操作。页读取操作可使用NAND快闪存储器装置320a的高速缓冲存储器寄存器110a。

在NAND快闪存储器装置320a中,高速缓冲存储器寄存器110a可连接到与阵列130相关联的读取电路,且数据寄存器120a可连接到与阵列130相关联的写入电路。因此,待编程到阵列130a的数据及从阵列130a读取的数据可在连接到不同寄存器的单独信号线上传播。在NAND快闪存储器装置320a中,高速缓冲存储器寄存器110a可连接到与阵列130相关联的读取电路,且数据寄存器120a可连接到与阵列130相关联的写入电路。

例如,第一阵列信号线可电连接阵列130a及数据寄存器120a,且第二阵列信号线可电连接阵列130a及高速缓冲存储器寄存器110a。数据寄存器120a可在NAND快闪存储器装置320a的输入处接收从控制器310接收的用户数据,而不将用户数据提供到高速缓冲存储器寄存器110a。NAND快闪存储器装置320a可包含输入/输出接触件与高速缓冲存储器寄存器110a及数据寄存器120a之间的不同电连接。

图4的管理存储器装置300可支持NAND快闪存储器装置320a中的读取同时加载机制。控制器310可将用以读取及编程NAND快闪存储器装置320a的请求转译成通过数据寄存器命令NEWCmd的页编程及通过高速缓冲存储器寄存器命令NEWCmd#2的页读取。通过数据寄存器命令NEWCmd的页编程及通过高速缓冲存储器寄存器命令NEWCmd#2的页读取可经由通道CH0提供到NAND快闪存储器装置320a。通过高速缓冲存储器寄存器命令NEWCmd#2的页读取可从阵列130a检索数据段且可将所述数据段存储到高速缓冲存储器寄存器110a。这可使NAND快闪存储器装置320a能够从阵列130a检索数据而不干扰存储于数据寄存器120a中的数据。因此,在将一页数据汇总于数据寄存器120a中时,可从阵列130a读取数据且可将数据提供到控制器310而不破坏数据寄存器120a中待构建的页或页条带。在另一实施例中(未说明),通过高速缓冲存储器寄存器命令NEWCmd#2的页读取可从阵列130a检索两个或两个以上数据段(例如,数据页)且将所述两个或两个以上数据段加载到高速缓冲存储器寄存器110a。

针对读取及编程操作使用单独寄存器可使两个单独寄存器能够同时用于与读取操作相关联的命令及与编程操作相关联的命令。例如,如图4中所示,编程命令可使控制器310能够经由通道CH0将数据加载到数据寄存器120a,且将数据从数据寄存器120a编程到NAND快闪存储器装置320a的阵列130a中的指定地址。又如图4中所示,读取命令可从NAND快闪存储器装置320a的阵列130a的页检索数据,且可在数据寄存器120a保持用于编程到阵列130a的数据时将所检索的数据加载到高速缓冲存储器寄存器110a。可从NAND快闪存储器装置320a外部的高速缓冲存储器寄存器110a提供所检索的数据。

管理存储器装置300可支持NAND快闪存储器装置320a中的加载同时读取机制。在管理存储器装置300正执行读取操作时,可将待编程到NAND快闪存储器装置320a的阵列130a的数据加载到NAND快闪存储器装置的寄存器中。例如,在结合读取操作将从阵列130a检索的数据保持在高速缓冲存储器寄存器110a中时,可执行参考图3描述的操作。

控制器310因待编程到阵列130a的数据由高速缓冲存储器寄存器110a或数据寄存器120a保持而可跟踪所述数据的位置,使得控制器310可适当地移动数据以完成用以将数据编程到阵列130a及/或当保持在高速缓冲存储器寄存器110a或数据寄存器120a中的数据尚未编程到阵列130a时将此数据传回到主机的操作。另外,控制器310可接收数据被编程到阵列130a的指示以跟踪数据的位置。一或多个寄存器及/或控制器310的固件可存储跟踪信息以跟踪NAND快闪存储器装置320a上的数据的位置。

在一些情况中,主机可发送请求以读回最近被提供到NAND快闪存储器装置320a进行编程的数据。当从主机接收到所述请求时,与所述请求相关联的数据可仍保持在NAND快闪存储器装置320a的寄存器中且可能尚未编程到阵列130a。控制器310可通过将由主机接收的请求转译成替代的用以从保持所请求的数据的寄存器读取数据的命令而支持从NAND快闪存储器装置320a的寄存器读取数据。

图5是根据实施例的说明读取保持在数据寄存器120a中且尚未编程到NAND快闪存储器阵列130a的数据的管理存储器装置300的图式。如图5中所示,控制器310可给NAND快闪存储器装置320a提供通过数据寄存器命令NEWCmd的页编程。控制器310可确定是否存在保持在数据寄存器120a中且尚未编程到NAND快闪存储器阵列130a的数据。例如,控制器310可通过检查由控制器310存储的跟踪信息而检查所请求的数据是否对应于保持在数据寄存器120a中的数据。在将用户数据段汇总成数据寄存器120a中的数据页时,控制器可将用以从NAND快闪存储器装置320a读取数据的请求转译成从数据寄存器120a传回所请求的数据段的命令DATA。因此,当保持在NAND快闪存储器装置320a的易失性存储器中的数据未存储于阵列130a中时,可检索所述数据。NAND快闪存储器装置320a可继续汇总用户数据段,直到数据页存储于数据寄存器120a中为止。接着,可在用命令10h完成的页编程操作期间将数据页编程到阵列130a。

在某些实施方案中,高速缓冲存储器寄存器110a可用于NAND快闪存储器装置320a的读取操作且可用于NAND快闪存储器装置320a的编程操作。在此类实施方案中,专用命令可用以在高速缓冲存储器寄存器110a与数据寄存器120a之间交换数据以实施分布式虚拟高速缓冲存储器的特征。图6及7涉及其中高速缓冲存储器寄存器110a用于NAND快闪存储器装置320a的读取及编程操作两者的实施例。

图6是根据实施例的说明NAND快闪存储器装置320a的页编程操作的管理存储器装置300的图式。与图2的实施例相反,可一次一段地将整个用户数据页加载到高速缓冲存储器寄存器110a中,且接着可将所述整个页编程到阵列130a。图6的实施例如同图3的实施例,区别仅在于将用户数据加载到高速缓冲存储器寄存器110a而非数据寄存器120a。因此,图6的实施例可针对读取操作及编程操作使用单独寄存器。特定地说,高速缓冲存储器寄存器110a可用于读取操作且数据寄存器120a可用于编程操作。将用户数据加载到高速缓冲存储器寄存器110a而非数据寄存器120a可导致对例如使用现有ONFI标准将数据编程到NAND快闪存储器的阵列130a的一些现有方法进行较少改变。

图7是根据实施例的说明其中将来自高速缓冲存储器寄存器110a的数据传送到数据寄存器120a的从阵列130a的交错读取的管理存储器装置300的图式。可结合与任何适合读取及/或编程操作(其中将第一数据加载到高速缓冲存储器寄存器110a中且在另一操作期间需要保留第一数据)相关联的第一数据来实施与在高速缓冲存储器寄存器110a与数据寄存器120a之间交换数据相关联的原理及优点。

在转译用以从阵列130a检索数据的请求之前,控制器310可确定是否存在保持在高速缓冲存储器寄存器110a中且尚未编程到阵列130a的数据。例如,控制器310可基于由控制器310存储的跟踪信息来检查所请求的数据是否对应于保持在高速缓冲存储器寄存器110a中的数据。当由高速缓冲存储器寄存器110a保持的待编程到NAND快闪存储器阵列130a的数据少于一页数据时,控制器可致使NAND快闪存储器装置320a以不丢失数据的方式移动由高速缓冲存储器寄存器110a保持的数据以针对读取操作释放高速缓冲存储器寄存器110a。控制器310可将主机请求转译成交换命令NewSwapCmd以将数据从高速缓冲存储器寄存器110a移动到数据寄存器120a。此可维持由NAND快闪存储器装置320a及320b的数据寄存器120a及120b实施的分布式虚拟高速缓冲存储器中的数据。例如,当将用户数据汇总于高速缓冲存储器寄存器110a中且通过高速缓冲存储器寄存器110a保持少于一页的用户数据时,可将用户数据移动到数据寄存器120a。接着,在将所检索的数据提供到NAND快闪存储器装置320a的输出之后,可将用户数据移动回到高速缓冲存储器寄存器110a。

图7说明其中将高速缓冲存储器寄存器110a中的数据移动到数据寄存器120a的交错读取。在一个实施例中,NAND快闪存储器装置320a可一次一段地将第一数据加载到高速缓冲存储器寄存器110a中。在高速缓冲存储器寄存器110a保持第一数据时,可从主机接收用以从阵列130a读取第二数据的请求。第一数据可包括少于完整数据页的数据。第二数据可包括存储于阵列130a中的一或多个数据段。在一些实例中,第二数据包括一页数据。可将由高速缓冲存储器寄存器110a保持的第一数据移动到数据寄存器120a。接着,在数据寄存器120a保持第一数据时,可从阵列130a检索第二数据且将其加载于高速缓冲存储器寄存器110a中。接着,可将第二数据提供到NAND快闪存储器装置320a的输出。在数据寄存器120a保持第一数据时,可从阵列130检索额外数据且将其加载到高速缓冲存储器寄存器110a中,且可从NAND快闪存储器装置320a输出额外数据。在数据寄存器120a保持第一数据时,可执行例如页高速缓冲存储器编程操作的编程操作作为交错读取操作的替代或作为交错读取操作的补充。在此类编程操作中,在数据寄存器120a保持第一数据时,数据可加载到高速缓冲存储器寄存器110a中且接着编程到阵列130。当完成读取及/或写入操作时,可将第一数据从数据寄存器120a移动到高速缓冲存储器寄存器110a。随后可将第一数据编程到阵列130。例如,一旦完整数据页由高速缓冲存储器寄存器110a保持,便可将高速缓冲存储器寄存器110a的内容编程到阵列130a。

图8是根据实施例的包含实施分布式易失性高速缓冲存储器(DVC)800的多个NAND快闪存储器装置320a、320b、320c及320d的管理存储器装置300的框图。本文中描述的原理及优点可应用于包含两个以上NAND快闪存储器装置的管理存储器装置300,及/或可应用于包含寄存器及阵列的两个或两个以上平面的NAND快闪存储器装置。多个NAND快闪存储器装置320a到320d的数据寄存器120a1到120d2可一起实施DVC800。DVC800可使用包括易失性存储器的NAND快闪存储器装置320a至320d的寄存器以暂时保持NAND快闪存储器装置320a到320d上的数据。此DVC800可实施于例如嵌入式多媒体卡应用中。例如,当将用户数据从来自主机的多个编程请求汇总成页编程操作时,DVC800可使得能够通过NAND快闪存储器装置320a到320d上的寄存器保持数据。例如,如参考图7描述,将数据从高速缓冲存储器寄存器110移动到数据寄存器120可实施DVC800的特征。在一些实施例中,NAND快闪存储器装置320a、320b、320c及320d可选择性启用及/或停用DVC模式。例如,修整设置(trimsetting)可选择性启用及/或停用DVC模式。

DVC800可加强管理存储器装置300的随机编程性能而不增加控制器310上的易失性存储器的量。或者,DVC800可运用控制器310上的较少易失性存储器实现基本上相同的随机编程性能。因此,DVC800可提高管理存储器装置中的随机写入性能及/或降低管理存储器装置中的控制器的成本。

DVC800可导致接近可由DVC800存储的数据段的数目的读取/编程IOPS的增加的性能益处。例如,当DVC800由各自具有各自经配置以存储16KB的数据页的两个数据寄存器的四个裸片组成且数据段以4KB段发送到裸片时,DVC800可存储4×2×16KB=128KB的数据。由于在此实例中每一段是4KB的数据,所以可实现随机编程IOPS接近32倍的增加。在另一实例中,当DVC800由具有各自经配置以存储16KB的数据页的两个数据寄存器的裸片组成且数据段以4KB段发送到裸片时,可实现随机编程IOPS接近8倍的增加。

可根据本文中描述的特征的任何适合组合来实施DVC800。在某些实施方案中,可根据图3到5的实施例实施DVC800。根据一些其它实施方案,可根据图6到7的实施例来实施DVC800。虽然所说明的DVC800包括数据寄存器120a到120d,但是应了解,在一些其它实施例中,高速缓冲存储器寄存器110a到110d及/或非易失性存储器装置上的其它易失性存储器可实施DVC。例如,在图10A及10B的实施例中,单独虚拟高速缓冲存储器寄存器410a及410b可实施DVC。

本文中描述的寄存器架构可与管理存储器装置300的无用单元收集(garbagecollection)及损耗均衡(wearleveling)功能性兼容。控制器310的固件及/或硬件可执行无用单元收集及/或损耗均衡。在某些实施例中,无用单元收集及损耗均衡可保持搁置直到完成编程操作为止。替代地或额外地,在运用完整数据页完全填充寄存器(例如数据寄存器)之前,可强制进行编程操作。

在当前ONFI标准中,在将待编程到存储器阵列的第一数据逐段地加载到NAND快闪存储器装置的寄存器中而不丢失第一数据时,用于NAND快闪存储器装置的寄存器架构无法执行页高速缓冲存储器读取操作。页高速缓冲存储器读取操作仍可用以加强循序读取性能以满足当前及未来管理存储器标准。另外,当将待编程到存储器阵列的第一数据逐段地加载到NAND快闪存储器装置的寄存器中而不丢失第一数据时,当前ONFI标准无法执行页编程操作或页高速缓冲存储器编程操作。然而,具有不同数据的页编程及页高速缓冲存储器编程操作可在更新逻辑到物理指针表时及/或例如在无用单元收集活动期间辅助管理存储器的固件(及/或硬件)。因此,需要提高NAND快闪存储器装置的性能。

图9到12C中说明的实施例是可将第一数据暂时加载到寄存器中且在保留第一数据的同时执行与第二数据相关联的交错页高速缓冲存储器读取操作、页读取操作或页高速缓冲存储器编程操作的NAND快闪存储器装置的寄存器架构的实例。此新寄存器架构包含NAND快闪存储器装置上的三个单独寄存器。另外,NAND快闪存储器装置可执行新移动及/或交换命令以将数据从高速缓冲存储器寄存器110移动到虚拟高速缓冲存储器寄存器410或从虚拟高速缓冲存储器寄存器410移动所述数据。可实施图9到12C的NAND快闪存储器装置400、400a及/或400b而取代图3到8的管理存储器装置300中的任一者中的图3到8的NAND装置320a到320d中的任一者。此管理存储器装置300的控制器310可产生新移动及/或交换命令以将数据从高速缓冲存储器寄存器110移动到虚拟高速缓冲存储器寄存器410或从虚拟高速缓冲存储器寄存器410移动所述数据。

图9是根据实施例的说明性NAND快闪存储器装置400的图式。NAND快闪存储器装置400可实施NAND快闪存储器装置320a到320d的特征的任何组合。NAND快闪存储器装置400还可运用额外寄存器实施额外移动及/或交换特征以实施虚拟高速缓冲存储器。可运用管理存储器装置300中的控制器310实施NAND快闪存储器装置400。

所说明的NAND快闪存储器装置400包含高速缓冲存储器寄存器110、数据寄存器120、虚拟高速缓冲存储器寄存器410及阵列130。高速缓冲存储器寄存器110及数据寄存器120可执行由当前ONFI标准定义的操作。在一个实施例中,虚拟高速缓冲存储器寄存器410可保持与高速缓冲存储器寄存器110的数据量相同的数据及与数据寄存器120的数据量相同的数据。因此,虚拟高速缓冲存储器寄存器410可保持数据页。在一些其它实施例中,当虚拟高速缓冲存储器寄存器410保留少于一页数据的数据时其是满的。例如,在一些实施方案中,虚拟高速缓冲存储器寄存器410经定大小以保持少于完整数据页的一个段。虚拟高速缓冲存储器寄存器410可保持先前加载于高速缓冲存储器寄存器110中的数据,而高速缓冲存储器寄存器110用于执行其它操作。因此,虚拟高速缓冲存储器寄存器410在使用高速缓冲存储器寄存器110及数据寄存器120两者以存取阵列130的任何操作期间可保持先前加载到高速缓冲存储器寄存器110中的数据。例如,虚拟高速缓冲存储器寄存器410可在页读取操作、页高速缓冲存储器读取操作、页高速缓冲存储器编程操作或其任何组合期间保持先前存储于高速缓冲存储器寄存器110中的数据。

在虚拟高速缓冲存储器寄存器410保持第一数据时,第二数据可经由数据寄存器120在高速缓冲存储器寄存器110与阵列130之间传送。例如,可将来自阵列130的第二数据加载到数据寄存器120。接着,可将第二数据从数据寄存器120移动到高速缓冲存储器寄存器110。可将第二数据从高速缓冲存储器寄存器110输出到NAND快闪存储器装置400的输出。作为另一实例,第二数据可加载到高速缓冲存储器寄存器110且可移动到寄存器120。接着,第二数据可从数据寄存器120提供到阵列130且编程到阵列130。

控制器310可产生新MovetoVCache命令以将数据从高速缓冲存储器寄存器110移动到虚拟高速缓冲存储器寄存器410。控制器310还可产生新MovefromVCache命令以将数据从虚拟高速缓冲存储器寄存器410移动到高速缓冲存储器寄存器110。或者,控制器310可产生新VCacheSwap命令以与虚拟高速缓冲存储器寄存器410交换高速缓冲存储器寄存器110的内容。

图10A及10B是说明在多平面NAND快闪存储器装置420的寄存器之间交换数据的实施例的图式。如图10A中所示,可通过执行单平面命令而使数据在多平面NAND快闪存储器装置420的所选择平面400a中的高速缓冲存储器寄存器110a与虚拟高速缓冲存储器寄存器410a之间移动。单平面交换及/或移动命令仅可在所选择平面上操作,而其它平面中的数据未在未选择的平面的高速缓冲存储器寄存器110b与虚拟高速缓冲存储器寄存器410b之间交换及/或移动。替代地或额外地,如图10B中所示,可通过执行多平面命令而使数据在高速缓冲存储器寄存器110a及110b之间移动到多平面NAND快闪存储器装置420的多个平面400a及400b中的虚拟高速缓冲存储器寄存器410a及410b。多平面交换及/或移动命令可同时在全部经寻址平面上操作。NAND快闪存储器装置420可实施单平面及/或多平面交换及/或移动命令。虽然多平面NAND快闪存储器装置420在图10A及10B中说明为具有两个平面,但是本文中描述的原理及优点可应用于具有两个以上平面的实施方案。

运用三个单独寄存器缓冲NAND快闪存储器页或其的部分,可一次一段地将数据暂时加载到高速缓冲存储器寄存器110中且可执行交错页高速缓冲存储器读取操作。图11A、11B及11C是说明根据实施例的用交错读取操作将待编程到阵列的数据暂时加载于寄存器中的过程的图。

参考图11A,可一次一段地将数据加载到高速缓冲存储器寄存器110中。高速缓冲存储器寄存器110可经由通道从控制器310接收待编程到阵列130的第一数据。当高速缓冲存储器寄存器110保持完整数据页时,所述完整数据页可从高速缓冲存储器寄存器110提供到阵列130且编程到阵列130。在高速缓冲存储器寄存器110保存少于整个数据页的数据时,控制器310可从主机接收读取请求(例如页高速缓冲存储器读取请求或页读取请求)以从NAND快闪存储器装置400的阵列130读取数据。基于控制器310的一或多个寄存器或固件中的跟踪信息,控制器310可检测到由高速缓冲存储器寄存器110保持待编程到阵列的少于完整数据页的数据。接着控制器310可产生MovetoVCache命令。NAND快闪存储器装置400可执行MovetoVCache命令以将由高速缓冲存储器寄存器110保持的第一数据移动到虚拟高速缓冲存储器寄存器410。

如图11B中所示,在由虚拟高速缓冲存储器寄存器410保持第一数据时,可将来自阵列130的第二数据加载于数据寄存器120中。在一些实例中,第二数据可包含完整数据页。接着,将第二数据从数据寄存器120移动到高速缓冲存储器寄存器110。当将第二数据加载到高速缓冲存储器寄存器110时,数据寄存器120准备好从阵列130接收新数据。可将第二数据从高速缓冲存储器寄存器110提供到NAND快闪存储器装置400的接触件。此可将第二数据从NAND快闪存储器装置400输出到控制器310。在将第二数据从高速缓冲存储器寄存器110提供到NAND快闪存储器装置400的输出时,可将来自阵列130的额外数据(例如新数据页)加载到数据寄存器120中。在虚拟高速缓冲存储器寄存器410保持第一数据时,控制器310可产生命令以致使NAND快闪存储器装置400根据需要多次重复图11B中所示的操作。在虚拟高速缓冲存储器寄存器410保持第一数据时,控制器310可产生命令以致使NAND快闪存储器装置400根据需要多次执行其它读取及/或编程操作。

响应于检测到完成读取及/或编程操作,控制器310可产生MovefromVCache命令且将此命令提供到NAND快闪存储器装置400。现参考图11C,在完成页高速缓冲存储器读取操作之后,由虚拟高速缓冲存储器寄存器410保持的第一数据可移动到高速缓冲存储器寄存器110。接着,可将待编程到阵列130的数据段加载到高速缓冲存储器寄存器110中。当完整数据页已加载到高速缓冲存储器寄存器110中时,NAND快闪存储器装置400可将所述完整数据页从高速缓冲存储器寄存器110提供到阵列130且将此数据编程到阵列130。

具有NAND快闪存储器装置上用以缓冲NAND快闪存储器页的三个单独寄存器的寄存器架构还可一次一段地将数据暂时加载到高速缓冲存储器寄存器110,且可执行交错页高速缓冲存储器编程操作以将不同数据编程到阵列130。图12A、12B及12C是说明根据实施例的运用交错编程操作将待编程到阵列的第一数据暂时加载于寄存器中以将第二数据编程到所述阵列的过程的图式。

参考图12A,可一次一段地将数据加载到高速缓冲存储器寄存器110中。高速缓冲存储器寄存器110可经由通道从控制器310接收待编程到阵列130的第一数据。当高速缓冲存储器寄存器110保持完整数据页时,可将所述完整数据页从高速缓冲存储器寄存器110提供到阵列130。在高速缓冲存储器寄存器110保留少于整个数据页的数据时,控制器310可从主机接收页高速缓冲存储器编程请求以将数据页编程到NAND快闪存储器装置400的阵列130。基于控制器310的一或多个寄存器或固件中的跟踪信息,控制器310可检测到由高速缓冲存储器寄存器110保持待编程到阵列130的少于完整数据页的数据。接着,控制器310可产生MovetoVCache命令。NAND快闪存储器装置400可执行所述MovetoVCache命令以将由高速缓冲存储器寄存器110保持的第一数据移动到虚拟高速缓冲存储器寄存器410。

如图12B中所示,在由虚拟高速缓冲存储器寄存器410保持第一数据时,可将包含待编程到阵列130的数据页的第二数据加载到高速缓冲存储器寄存器110。接着,将第二数据从高速缓冲存储器寄存器110移动到数据寄存器120。当第二数据已移动到数据寄存器120时,高速缓冲存储器寄存器110准备好从控制器310接收新数据。可将第二数据从数据寄存器120提供到阵列130。接着,可将第二数据编程到阵列130。当将第二数据从数据寄存器120提供到阵列130时,可将由NAND快闪存储器装置400接收的另一数据页加载到高速缓冲存储器寄存器110中。当虚拟高速缓冲存储器寄存器410保持第一数据时,控制器310可产生命令以致使NAND快闪存储器装置400根据需要多次重复图12B中展示的操作。当虚拟高速缓冲存储器寄存器410保持第一数据时,控制器310可产生命令以致使NAND快闪存储器装置400根据需要多次执行其它编程及/或读取操作。

响应于检测到完成高速缓冲存储器页编程操作,控制器310可产生MovefromVCache命令且将此命令提供到NAND快闪存储器装置400。现参考图12C,在完成页高速缓冲存储器编程操作之后,可将由虚拟高速缓冲存储器寄存器410保持的第一数据移动到高速缓冲存储器寄存器110。接着,可将待编程到阵列130的数据段加载到高速缓冲存储器寄存器110中。当完整数据页已加载到高速缓冲存储器寄存器110中时,NAND快闪存储器装置400可将所述完整数据页从高速缓冲存储器寄存器110提供到阵列130且将这些数据编程到阵列130。

在适当的情况下,参考图9到12C中的任一者讨论的特征的任何组合可与彼此组合。此外,可结合其中在执行存取阵列130的一或多个其它操作时需要保留保持在寄存器中的数据的任何操作来实施与参考图9到12C描述的寄存器架构相关联的原理及优点。

在上述实施例中,非易失性存储器及/或控制器实施于需要用以存储数据的非易失性存储器的任何电子装置中。因而,本文中描述的非易失性存储器及/或控制器以及相关联方法可并入于各种电子装置中。电子装置的实例可包含(但不限于)消费者电子产品、电子电路、电子电路组件、消费者电子产品的零件、电子测试设备等。消费者电子产品的实例包含(但不限于)移动电话(例如,智能电话)、电话、电视机、计算机监视器、计算机、手持式计算机、膝上型计算机、平板计算机、个人数字助理(PDA)、微波炉、冰箱、立体声系统、盒式录音机或播放器、DVD播放器、CD播放器、VCR、MP3播放器、收音机、摄录像机、光学相机、数码相机、便携式存储器芯片、洗衣器、干衣器、洗衣器/干衣器、复印机、传真机、扫描仪、多功能外围装置、腕表、时钟等。此外,电子装置可包含未成品。所揭示的技术不适用于心理步骤,且不在人类头脑中执行或不通过人在纸上书写来执行。

除非上下文另有清楚要求,否则在整个描述及权利要求书中,字词“包括(comprise)”、“包括(comprising)”、“包含(include)”、“包含(including)”及类似者应理解为包含性意义而非排它性或穷举性意义;即“包含,但不限于”的意义。前述描述及权利要求书可将元件或特征部称为“连接”或“耦合”在一起。如本文中所使用,除非明确相反陈述,否则“连接”表示一个元件/特征部直接或间接且未必机械地连接到另一元件/特征部。同样地,除非明确相反陈述,否则“耦合”表示一个元件/特征部直接或间接且未必机械地耦合到另一元件/特征部。因此,虽然图式说明元件及组件的布置的各种实例,但是在实际实施例中,可存在额外中介元件、装置、特征部或组件。另外,字词“本文中”、“上文”、“下文”及具有类似意思的字词在用于本申请案中时,应将本申请案作为整体进行指代而非指代本申请案的任何特定部分。在上下文许可的情况下,上述具体实施方式中使用单数或复数的字词还可分别包含复数或单数。关于两个或两个以上项的列表的字词“或”,所述字词涵盖所述字词的全部以下解释:列表中的项中的任一者、列表中所有项及列表中的项的任何组合。

本文中描述的方法的特征的任何组合可以存储于非暂时性计算机可读媒体上的代码体现。当执行时,存储于非暂时性计算机可读媒体上的代码可致使执行本文中描述的方法中的任一者中的一些或全部。应了解,在适当的情况下,本文中讨论的方法中的任一者可包含更多个或更少个操作且可以任何顺序执行所述操作。例如,虽然以给定顺序呈现过程或块,但是替代实施例可以不同顺序执行具有步骤的例程或采用具有块的系统,且可删除、移动、添加、再分、组合及/或修改一些过程或块。可以多种不同方式实施此类过程或块中的每一者。另外,虽然有时过程或块是展示为串行执行,但可替代地并行执行或可在不同时间执行此类程序或块。此外,应了解,本文中讨论的方法至少部分由物理电路实施。因此,权利要求书不希望仅涵盖金属过程或抽象概念。

上文中已描述各种实施例。虽然参考这些特定实施例进行描述,但所述描述希望是说明性的且不希望是限制性的。所属领域技术人员可想到各种修改及应用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号