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

文档序号:13474238阅读:233来源:国知局
存储器系统及其操作方法与流程

相关申请的交叉引用

本申请要求于2016年7月7日向韩国知识产权局提交的申请号为10-2016-0086050的韩国专利申请的优先权,其公开的全部内容通过引用并入本文。

本发明的示例性实施例涉及一种处理关于存储器装置的数据的存储器系统及其操作方法。



背景技术:

计算机环境范例已经转变为普适计算系统,能够在任何时间和任何地点使用。由于此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增长。这些便携式电子装置通常使用具有一个或多个用于存储数据的存储器装置的存储器系统。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。

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



技术实现要素:

各种实施例涉及一种存储器系统及其操作方法,其能够最小化存储器系统的复杂性和性能退化,并最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。

在本发明的实施例中,一种存储器装置,其包括多个页面、多个存储块、多个平面以及多个存储器管芯,其中每个页面包括与字线联接的多个存储器单元,页面被包括在多个存储块中,多个平面包括存储块,并且平面被包括在多个存储器管芯中;以及控制器,其适于对存储块执行前台操作和后台操作中的至少一个,对应于执行前台操作和后台操作中的至少一个来检查各个存储块的参数,生成各个存储块的归一化参数(normalizedparameters),以及通过使用各个存储块的归一化参数来执行前台操作和后台操作。

控制器可对应于执行前台操作和后台操作中的至少一个为各个存储块设置权重,并且可通过将权重赋予至各个存储块的参数来使各个存储块的参数归一化。

当执行前台操作和后台操作中的至少一个时,各个存储块的权重取决于各个存储块中的应力水平(stresslevel)。

各个存储块的应力水平取决于各个存储块的操作特性和结构特性中的至少一个。

在存储块之中,控制器可为具有第一应力水平的第一存储块设置第一权重,可为具有第二应力水平的第二存储块设置第二权重,可为具有第三应力水平的第三存储块设置第三权重。

第一存储块可以是单层单元(slc)存储块,第二存储块可以是多层单元(mlc)存储块,以及第三存储块可以是三层单元(tlc)存储块。

在通过使用归一化参数来执行前台操作和后台操作中的至少一个之后,控制器可更新各个存储块的参数和归一化参数。

前台操作可包括对存储块的编程操作、读取操作、擦除操作和参数设置操作中的至少一个,后台操作可包括对存储块的数据复制操作、数据交换操作、映射刷新操作和坏块管理操作中的至少一个。

控制器可通过使用各个存储块的归一化参数来选择存储块之中的第一存储块和第二存储块,并可对第一存储块和第二存储块执行数据复制操作或数据交换操作。

当执行前台操作和后台操作时,至少一个参数包括各个存储块中的操作参数和状态参数。

在本发明的实施例中,一种操作存储器系统的方法可包括:对存储器装置的多个存储块执行前台操作和后台操作中的至少一个,该存储器装置的多个存储块包括多个页面,每个页面包括联接至字线的多个存储器单元;对应于执行前台操作和后台操作来检查各个存储块中的每一个的参数;使各个存储块的参数归一化并生成各个存储块中的每一个的归一化参数;以及通过使用各个存储块中的每一个的归一化参数来执行前台操作和后台操作中的至少一个。

该方法可进一步包括:对应于执行前台操作和后台操作中的至少一个,为各个存储块中的每一个设置权重。归一化参数的生成可包括通过将权重赋予至各个存储块的参数来使各个存储块中的每一个的参数归一化。

权重的设置可包括当执行前台操作和后台操作中的至少一个时,根据各个存储块中的每一个的应力水平来为各个存储块中的每一个设置权重。

各个存储块中的每一个的应力水平可取决于各个存储块中的每一个的操作特性和结构特性中的至少一个。

权重的设置可包括为具有第一应力水平的第一存储块设置第一权重,为具有第二应力水平的第二存储块设置第二权重,以及为具有第三应力水平的第三存储块设置第三权重。

第一存储块可以是单层单元(slc)存储块,第二存储块可以是多层单元(mlc)存储块,第三存储块可以是三层单元(tlc)存储块。

该方法可进一步包括:在通过使用归一化参数来执行前台操作和后台操作中的至少一个之后,更新各个存储块中的每一个的参数和归一化参数。

前台操作可包括对存储块的编程操作、读取操作、擦除操作和参数设置操作中的至少一个,并且后台操作可包括在存储块中的数据复制操作、数据交换操作、映射刷新操作和坏块管理操作中的至少一个。

后台操作的执行可包括:通过使用各个存储块的归一化参数来选择存储块之中的第一存储块和第二存储块;以及对第一存储块和第二存储块执行数据复制操作或数据交换操作。

当执行前台操作和后台操作中的至少一个时,参数可包括各个存储块中的每一个的操作参数和状态参数中的至少一个。

在本发明的实施例中,一种用于操作存储器系统的方法可包括:提供包括第一类型存储器单元的第一存储块、包括不同于第一类型存储器单元的第二类型存储器单元的第二存储块以及联接至第一存储块和第二存储块的控制器;对应于第一存储块和第二存储块中的存储器单元类型设置各个不同大小(magnitude)的权重;通过将权重赋予至第一存储块和第二存储块的参数来生成第一存储块和第二存储块的归一化参数;以及通过使用第一存储块和第二存储块的归一化参数来执行前台操作和后台操作。

附图说明

从下面参照附图对本发明的各个实施例的详细描述,本发明的这些和其它特征与优点对于本领域技术人员将变得显而易见,其中:

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

图2是示出根据本发明的实施例的在图1的存储器系统中采用的存储器装置的图。

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

图4是示出根据本发明的实施例的存储器系统中的存储器装置的结构的图。

图5至图7是根据实施例的存储器系统中的关于存储器装置的数据处理操作的图的代表性示例。

图8是根据实施例的在存储器系统中处理数据的操作过程的流程图。

图9至图14是示出根据本发明的各个实施例的存储器系统的图。

具体实施方式

尽管下面参照附图更详细地描述了各种实施例,但是应注意到,本发明可以不同的形式实施,并且不应被解释为仅限于本文所阐述的实施例。相反,提供所描述的实施例以便使本公开将是彻底且完全的,并将本发明完全传达给本发明所属领域的技术人员。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记表示相同的部件。

将理解的是,尽管可以在本文中使用术语“第一”、“第二”、“第三”等来描述各种元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可被称为第二元件或第三元件。

附图不一定按比例绘制,并且在一些情况下,比例可能已经被夸大以便清楚地示出实施例的特征。

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

本文使用的术语仅是为了描述特定实施例为目的,并不旨在限制本发明。

如本文所使用的,除非上下文另有明确指示,否则单数形式也旨在包括复数形式。

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

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

我们进一步注意到,在以下描述中,阐述了许多具体细节以提供对本发明的透彻理解。然而,对于相关领域的技术人员显而易见的是,可在没有一些或全部这些具体细节中的情况下实践本发明。在其它情况下,没有详细地描述公知的进程结构和/或进程以避免不必要地模糊本发明。

还应注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有特别说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。

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

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

参照图1,数据处理系统100可包括可操作地联接到存储器系统110的主机102。

例如,主机102可包括诸如移动电话、mp3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、tv和投影仪的非便携式电子装置。

存储器系统110可响应于从主机102接收的请求而操作。例如,存储器系统110可存储将由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据将与主机102电联接的主机接口的协议,存储器系统110可利用各种存储器装置中的任一种来实施。存储器系统110可利用诸如以下的各种存储器装置的任何一种来实施:例如,固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、缩小尺寸的mmc(rs-mmc)、微型-mmc、安全数字(sd)卡、迷你-sd、微型-sd、通用串行总线(usb)存储装置、通用闪速存储(ufs)装置、标准闪存(cf)卡、智能媒体(sm)卡、记忆棒等。

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

存储器系统110可包括存储器装置150,其用于存储将由主机102访问的数据;以及控制器130,其可操作地联接到存储器装置150,用于控制数据在存储器装置150中的存储以及存储的数据从存储器装置到主机的传输。

控制器130和存储器装置150可集成到单个半导体装置中。例如,控制器130和存储器装置150可集成到配置为固态驱动器(ssd)的单个半导体装置中。当存储器系统110用作ssd时,可显著增加与存储器系统110电联接的主机102的操作速度。

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

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

存储器系统110的存储器装置150可当装置的电源被中断时,保留所存储的数据,并且更具体地,在写入操作期间存储从主机102提供的数据,并且在读取操作期间将所存储的数据提供到主机102。存储器装置150可包括多个存储块,例如,存储块152、154和156。存储块152、154和156中的每一个可包括多个页面。每个页面可包括联接到字线(wl)的多个存储器单元。存储器装置150可以是非易失性存储器装置,例如闪速存储器。闪速存储器可具有三维(3d)堆叠结构。稍后将描述存储器装置150的结构和存储器装置150的三维(3d)堆叠结构。

存储器系统110的控制器130可响应于来自主机102的请求来控制存储器装置150。例如,在从主机102接收到读取请求时,控制器130可向存储器装置发出读取命令和地址,用于读取存储在存储器装置中的所请求的地址中的数据,并且可将从存储器装置150读取的数据提供给主机102。而且,响应于从主机102接收的编程请求(也称为写入请求),控制器130可发出写入命令、地址和写入数据,并且可控制存储器装置的操作,其用于将写入数据存储到存储器装置150中。写入数据与写入请求一起从主机102提供到存储控制器。为此,控制器130可控制存储器装置150的一个或多个操作,包括例如读取操作、写入操作和擦除操作。控制器130还可控制存储器装置150的一个或多个后台操作。

在图1所示的实施例中,控制器130包括主机接口单元132、处理器134、错误校正码(ecc)单元138、电源管理单元(pmu)140、nand闪存控制器(nfc)142、以及存储器144。

主机接口单元132提供主机和控制器130之间的接口。例如,主机接口132可接收和处理从主机102提供的请求、地址和数据。主机接口还可将从存储器装置读取的数据传输到主机。主机接口132可通过诸如以下的各种公知接口协议的至少一种与主机102通信:通用串行总线(usb)、多媒体卡(mmc),高速pci(pci-e)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)以及电子集成驱动器(ide)。

ecc单元138可在读取操作期间检测并校正从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ecc单元138可不校正错误位,并且可输出指示校正错误位失败的错误校正失败信号。

ecc单元138可基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bch)码、涡轮码,里德-所罗门(rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)、分组编码调制(bcm)等。ecc单元138可包括用于错误校正操作的所有电路、系统或装置。

pmu140可提供和管理用于控制器130的电力,即用于包括在控制器130中的组成元件的电力。

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

存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供至主机102,并将从主机102提供的数据存储在存储器装置150中。当控制器130控制存储器装置150的操作时,存储器144可存储由控制器130和存储器装置150用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。

存储器装144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(sram)或动态随机存取存储器(dram)来实施。如上所述,存储器144可存储由主机102和存储器装置150用于读取操作和写入操作的数据。为存储数据,存储器144可包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。

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

管理单元(未示出)可被包括在处理器134中,并且可执行存储器装置150的坏块管理。管理单元可发现包括在存储器装置150中的对于进一步使用处于令人不满意状况的坏存储块,并且对坏存储块执行坏块管理。当存储器装置150是闪速存储器,例如nand闪速存储器时,由于nand逻辑功能的特征,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,可将编程失败的存储块或坏存储块的数据编程到新存储块中。而且,由于编程失败导致的坏块使具有3d堆叠结构的存储器装置150的使用效率和存储器系统110的可靠性严重恶化,因此需要可靠的坏块管理。

图2是示出图1的存储器装置150的示意图。

参照图2,存储器装置150可包括多个存储块,例如,第0块210至第(n-1)块240。多个存储块210至240中的每一个可包括多个页面,例如2m个页面(2mpages),本发明不限于此。多个页面中的每一个可包括多个存储器单元,其中多个字线电联接到多个存储器单元。

而且,根据每个存储器单元中可存储或表达的位的数量,存储器装置150可包括如单层单元(slc)存储块和多层单元(mlc)存储块的多个存储块。slc存储块可包括利用每个能够存储1位数据的存储器单元实施的多个页面。mlc存储块可包括利用每个能够存储多位数据,例如,2位或更多位数据,的存储器单元实施的多个页面。包括利用每个能够存储3位数据的存储器单元实施的多个页面的mlc存储块可被定义为三层单元(tlc)存储块。

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

图3是示出存储器装置中的存储块的示例的电路图。

参照图3,存储器装置150的存储块330可包括被实现为存储器单元阵列并且分别联接到位线bl0至blm-1的多个单元串340。单元串340的每列可包括至少一个漏极选择晶体管dst和至少一个源极选择晶体管sst。多个存储器单元或存储器单元晶体管mc0至mcn-1可串联地联接在选择晶体管dst和sst之间。各个存储器单元mc0至mcn-1可由每个存储多个位的数据信息的多层单元(mlc)构成。单元串340可分别电联接到对应的位线bl0至blm-1。作为参照,在图3中,“dsl”可表示漏极选择线,“ssl”可表示源极选择线,“csl”可表示共源线。

虽然图3示出了由nand闪速存储器单元构成的存储块330作为示例,但是应当注意,根据本实施例的存储器装置300的存储块330不限于nand闪速存储器,并且可由nor闪速存储器、其中组合至少两种存储器单元的混合闪速存储器或者其中控制器内置在存储器芯片中的1-nand闪速存储器来实现。半导体装置的操作特征不仅可应用于其中电荷存储层由导电浮栅构成的闪速存储器装置,而且还可应用于其中电荷存储层由介电层构成的电荷捕获闪存(ctf)。

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

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

此外,存储器装置150可被实现为二维或三维存储器装置。如图4所示,在将存储器装置150实现为三维非易失性存储器装置的情况下,存储器装置150可包括多个存储块blk0至blkn-1。

图4是示出图2所示的存储器装置的存储块的框图,并且存储块blk0至blkn-1可被实施为三维结构(或垂直结构)。例如,各个存储块blk0至blkn-1可通过包括在第一至第三方向,例如,x轴方向、y轴方向和z轴方向上延伸的结构而被实现为三维结构。

包括在存储器装置150中的各个存储块blk0至blkn-1可包括在第二方向上延伸的多个nand串。多个nand串可设置在第一方向和第三方向上。每个nand串可联接到位线、至少一个串选择线、至少一个接地选择线、多个字线、至少一个虚拟字线以及共源线,并且可包括多个晶体管结构。

也就是说,在存储器装置150的多个存储块blk0到blkn-1之中,各个存储块blk0到blkn-1可联接到多个位线、多个串选择线、多个接地选择线、多个字线、多个虚拟字线以及多个共源线,因此,可包括多个nand串。此外,在各个存储块blk0至blkn-1中,多个nand串可联接到一个位线,并且可在一个nand串中实现多个晶体管。每个nand串的串选择晶体管可联接到相应的位线,并且每个nand串的接地选择晶体管可联接到共源线。可在每个nand串的串选择晶体管和接地选择晶体管之间设置存储器单元。也就是说,在存储器装置150的多个存储块blk0至blkn-1中,可在存储块blk0至blkn-1中的每一个中实现多个存储器单元。

在下文中,将参照图5至图7详细描述在根据本发明的实施例的存储器系统中的关于存储器装置150的数据处理。特别地,将描述关于存储器装置150的对应于从主机102接收的命令的命令数据处理操作。该命令可以是写入命令,其也称为编程命令。在另一实施例中,该命令可以是读取命令。

图5至图7是示出在根据本发明的实施例的存储器系统中的关于存储器装置的数据处理操作的图。数据处理操作可包括执行对应于从图1所示的存储器系统110中的主机102接收的命令的命令操作。例如,接收到的命令可以是写入命令,因此,数据处理操作可包括对应于从主机102接收到的写入命令来执行编程操作。或者接收的命令可以是读取命令,因此,数据处理操作可包括对应于从主机102接收到的读取命令来执行读取操作。

在从主机102接收到写入命令的情况下,数据处理操作可包括将对应于接收的写入命令的写入数据存储在包括在控制器130的存储器144中的第一缓冲器/高速缓冲存储器中。数据处理操作可进一步包括将存储在控制器130的存储器144的缓冲器/高速缓冲存储器中的数据编程并存储在包括在存储器装置150中的存储块,例如包括在存储器装置150中的多个存储块中的至少一个第一存储块中。写入数据可包括用户数据和用户数据的元数据。数据处理操作可进一步包括在写入数据被存储在存储器装置150的至少一个第一存储块中时,生成和更新与存储在存储器装置150中的数据相关的元数据。元数据可首先存储在控制器130的存储器144的第二缓冲器/高速缓冲存储器中。在基于存储在存储器装置中的最新用户数据将元数据更新之后,控制器然后可将更新的元数据存储在存储器装置150的存储块的至少一个第二存储块中。至少一个第一存储块和第二存储块可以是相同的块或可以是不同的块。至少一个第一存储块和/或第二存储块可以是包括多个存储块的超级块。

在从主机102接收到读取命令的情况下,数据处理操作可包括从存储器装置150读取对应于所接收的读取命令的读取数据,将所读取的数据存储在包括在控制器130的存储器144中的第一缓冲器/高速缓冲存储器中,以及将存储在缓冲器/高速缓冲存储器中的数据提供给主机102。

在从主机102接收到擦除命令的情况下,数据处理操作可包括对存储器装置150执行擦除操作或参数设置操作以执行如上所述的对存储器装置150的编程操作或读取操作,或对存储器装置150执行后台操作。在本公开的实施例中,作为后台操作,可执行将存储在存储器装置150的存储块中的数据复制到可选存储块的操作,例如垃圾收集(gc)操作,可执行交换存储器装置150的存储块或存储在存储块中的数据的操作,例如损耗平衡(wl)操作,可执行将存储在控制器130中的映射数据存储在存储器装置150的存储块中的操作,例如映射刷新操作,或者可执行检查和处理包括在存储器装置150中的坏块的坏块管理操作。而且,在本公开的实施例中,前台操作可被执行为对应于从主机102接收的命令的命令操作。例如,可执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作、对应于作为设置命令的设置参数命令或设置特征命令的参数设置操作等。

也就是说,在本公开的实施例中,作为示例,将详细描述在对存储器装置150执行前台操作或后台操作的情况下的数据处理。在本公开的实施例中,在对存储器装置150执行前台操作或后台操作的情况下,对应于执行前台操作和后台操作,存储器装置150的参数被更新。特别地,可更新根据执行前台操作和后台操作的操作参数以及当执行前台操作和后台操作时存储器装置150的状态参数。

例如,在本公开的实施例中,当对存储器装置150执行前台操作或后台操作时,可对包括在存储器装置150中的多个存储块更新作为存储器装置150的操作参数的写入计数或编程计数、擦除计数、读取计数、编程/擦除周期或擦除/写入周期、编程电压偏移参数、擦除电压偏移参数、读取电压偏移参数、读取回收参数、错误校正参数等。可对应于包括在存储器装置150中的各个存储块的编程操作来更新写入计数、编程计数或编程电压偏移参数。可对应于包括在存储器装置150中的各个存储块的擦除操作来更新擦除计数或擦除电压偏移参数。可对应于包括在存储器装置150中的各个存储块的编程操作和擦除操作来更新编程/擦除周期或擦除/写入周期。另外,可对应于包括在存储器装置150中的各个存储块的读取操作来更新读取计数或读取电压偏移参数。特别地,可对应于在读取操作中读取失败数据的读取回收操作来更新读取回收参数。可对应于在读取操作中读取失败数据的错误校正操作来更新错误校正参数。

在本公开的实施例中,当对存储器装置150执行前台操作或后台操作时,可对包括在存储器装置150中的多个存储块更新作为存储器装置150的状态参数的温度参数、时间参数、特性参数等。在对包括在存储器装置150中的各个存储块执行前台操作或后台操作的情况下,可对应于各个存储块的温度来更新温度参数。在本公开的实施例中,在通过考虑温度参数来对各个存储块执行前台操作或后台操作,特别是执行读取操作的情况下,可通过调节读取电压来执行读取操作。此外,可对应于包括在存储器装置150中的多个存储块的保留时间来更新时间参数。特别地,可通过在包括在各个存储块中的形成多个页面的多个存储器单元中的编程操作,对应于数据存储保留时间来更新时间参数。在本公开的实施例中,在通过考虑时间参数来对各个存储块执行前台操作或后台操作,特别是执行读取操作的情况下,可通过调节读取电压来执行读取操作。在对包括在存储器装置150中的多个存储块执行前台操作或后台操作的情况下,可对应于各个存储块的结构特性或操作特性来确定特性参数。在本公开的实施例中,在通过考虑特性参数来对各个存储块执行前台操作或后台操作,特别是执行编程操作、读取操作或擦除操作的情况下,可通过调节编程电压、读取电压或擦除电压来执行编程操作、读取操作或擦除操作。

换言之,在本公开的实施例中,在对存储器装置150执行前台操作或后台操作的情况下,可更新存储器装置150的参数,即操作参数和状态参数。鉴于以这种方式更新的操作参数和状态参数,可执行对存储器装置150的前台操作或后台操作。在下面的描述中,作为示例,将描述控制器130在存储器系统110中执行数据处理操作,即,对存储器装置150的前台操作或后台操作,以及参数更新操作。如上所述,包括在控制器130中的处理器134可通过例如闪存转换层(ftl)来执行操作。

在本公开的实施例中,作为存储器装置150的前台操作,控制器130可将对应于从主机102接收的写入命令的用户数据和元数据存储在包括在控制器130的存储器144中的第一缓冲器中,并将存储在缓冲器中的数据写入并存储在包括在存储器装置150中的多个存储块之中的可选存储块中,即,执行编程操作。进一步地,控制器130可从包括在存储器装置150的相应存储块中的多个页面中读取对应于从主机102接收的读取命令的用户数据和元数据,将所读取的数据存储在包括在控制器130的存储器144中的第二缓冲器中,并将存储在第二缓冲器中的数据提供给主机102,即执行读取操作。第一缓冲器和第二缓冲器可以是相同的或可以是不同的。

对应于编程操作的存储在存储块中的数据的元数据可包括第一映射数据,其包括逻辑/物理(逻辑到物理;l2p)信息(以下称为“逻辑信息”),以及第二映射数据,其包括物理/逻辑(物理到逻辑;p2l)信息(以下称为“物理信息”)。而且,元数据可包括关于对应于从主机102接收的命令的命令数据的信息、关于对应于命令的命令操作的信息、关于将对其执行命令操作的存储器装置150的存储块的信息、以及关于对应于命令操作的映射数据的信息。即,元数据可包括除了对应于从主机102接收的命令的用户数据之外的所有剩余信息和数据。特别地,如上所述,元数据不仅包括在控制器130对存储器装置150执行前台操作或后台操作的情况下的参数,还包括所更新的参数。

在本公开的实施例中,在控制器130执行作为前台操作的编程操作的情况下,控制器130可将对应于从主机102接收的写入命令的用户数据写入和存储在存储器装置150的至少一个第一存储块中。在存储器装置150的存储块之中,至少一个第一存储块可以是开放存储块或空闲存储块。元数据可包括存储在存储块中的用户数据的逻辑地址和物理地址之间的映射信息,即第一映射数据,其包括其中记录逻辑信息的l2p映射表或l2p映射列表,以及元数据可包括存储用户数据的存储块的物理地址和逻辑地址之间的映射信息,即第二映射数据,其包括其中记录物理信息的p2l映射表或p2l映射列表。可将元数据写入并存储在存储器装置150的存储块的至少一个第二存储块中。至少一个第二存储块可以是存储器装置150的存储块之中的开放存储块或空闲存储块。至少一个第一存储块和至少一个第二存储块可以是相同的或可以是不同的。

在实施例中,当从主机102接收到写入命令时,控制器130可将对应于写入命令的用户数据写入和存储在多个存储块中,以及将包括存储在多个存储块中的用户数据的第一映射数据和第二映射数据的元数据存储在相同的多个存储块中。例如,控制器130可将用户数据的数据段和所接收的用户数据的元数据的元段,例如,作为映射数据的映射段的第一映射数据的l2p段和第二映射数据的p2l段,存储在存储器装置150的相同存储块中。更具体地,控制器130可首先将从主机接收的用户数据的数据段和用户数据的元数据的元段存储在包括在控制器130中的存储器144中,然后控制器130可将存储在存储器144中的用户数据的数据段存储在存储器装置150的一个或多个存储块中。由于用户数据的数据段被存储在存储器装置150的一个或多个存储块中,所以控制器130可生成存储在存储器装置150的一个或多个存储器装置中的用户数据的元段,并更新存储在存储器144中的元段。然后,控制器130可将所更新的存储在存储器144中的用户数据的元段存储在存储器装置150的相同的一个或多个存储块中。例如,控制器可执行映射刷新操作。

在本公开的实施例中,在控制器130执行作为前台操作的读取操作的情况下,控制器130可从存储器装置150的一个或多个存储块中读取对应于从主机102接收的读取命令的用户数据。特别地,通过检查用户数据的映射数据,控制器130可读取存储在存储器装置150的存储块之中的相应存储块的一个或多个页面中的数据。控制器130可将从存储器装置150读取的数据存储在包括在控制器130中的存储器144中,并将所读取的数据提供给主机102。特别地,为了检查对应于读取命令的用户数据的映射数据,控制器130可将映射数据的映射段加载在包括在控制器130中的存储器144中,并检查映射段。在下文中,将参照图5至图7详细描述根据实施例的存储器系统中的数据处理操作。

首先,参照图5,在执行作为前台操作的编程操作的情况下,控制器130可将对应于从主机102接收的命令的数据,例如对应于写入命令的用户数据,写入和存储在存储器装置150的存储块552、554、562、564、572、574、582和584的至少一个第一存储块中。而且,对应于对至少一个第一存储块552、554、562、564、572、574、582和584的写入操作,控制器130可生成和更新用户数据的元数据。控制器130还可将元数据写入并存储在存储器装置150的存储块552、554、562、564、572、574、582和584的至少一个第二存储块中。至少一个第一存储块和至少一个第二存储块可以是相同的或可以是不同的。至少一个第一存储块和至少一个第二存储块可以是开放存储块或空闲存储块。

元数据可包括第一映射数据和第二映射数据。第一映射数据和第二映射数据可包括指示用户数据被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584的至少一个第一存储块中的一个或多个页面中的信息。因此,例如,在实施例中,控制器130可生成和更新第一映射数据和第二映射数据,例如指示用户数据被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584的至少一个第一存储块中的一个或多个页面中的信息。第一映射数据可包括逻辑段(l2p段)。第二映射数据可包括物理段(p2l段)。控制器130然后可通过执行映射刷新操作将l2p段和p2l段存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584的至少一个第二存储块中的一个或多个页面中。

例如,控制器130可将对应于从主机102接收的写入命令的用户数据缓存和缓冲在包括在控制器130的存储器144中的第一缓冲器510中。更具体地,控制器130可将用户数据的数据段512存储在作为数据缓冲器/高速缓冲存储器的第一缓冲器510中。然后,控制器130可将存储在第一缓冲器510中的数据段512写入和存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584的至少一个第一存储块中的一个或多个页面中。

由于对应于从主机102接收的写入命令的用户数据的数据段512被写入并存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584的至少一个第一存储块中的一个或多个页面中,控制器130可生成第一映射数据和第二映射数据,并将第一映射数据和第二映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。更具体地,控制器130可将用户数据的第一映射数据的l2p段522和用户数据的第二映射数据的p2l段524存储在作为映射缓冲器/高速缓冲存储器的第二缓冲器520中。在控制器130的存储器144的第二缓冲器520中,如上所述,可存储有第一映射数据的l2p段522和第二映射数据的p2l段524,或者可存储有用于第一映射数据的l2p段522的映射列表和用于第二映射数据的p2l段524的映射列表。控制器130可将存储在第二缓冲器520中的第一映射数据的l2p段522和第二映射数据的p2l段524写入和存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584的至少一个第二存储块中的一个或多个页面中。

而且,在执行作为前台操作的读取操作的情况下,控制器130可将对应于从主机102接收的命令的数据,例如对应于读取命令的用户数据,的映射段,例如第一映射数据的l2p段522和第二映射数据的p2l段524加载在第二缓冲器520中,并且检查l2p段522和p2l段524。之后,控制器130可读取存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584之中的至少一个相应存储块中的一个或多个页面中的用户数据,将所读取的用户数据的数据段512存储在第一缓冲器510中,并将数据段512提供给主机102。

如上所述,在执行前台操作,例如擦除操作,或执行后台操作,例如在包括在存储器装置150中的存储块之间复制数据或交换数据的操作,例如垃圾收集操作或损耗平衡操作的情况下,控制器130可将相应用户数据的数据段512存储在第一缓冲器510中,并且将相应元数据的元段,例如映射数据的映射段522和524,存储在第二缓冲器520中,从而执行前台操作或后台操作。

参照图6,存储器装置150可包括多个存储器管芯,例如存储器管芯0610、存储器管芯1630、存储器管芯2650和存储器管芯3670。存储器管芯610、630、650和670中的每一个可包括多个平面(plane)。例如,存储器管芯0610可包括平面0612、平面1616、平面2620和平面3624,存储器管芯1630可包括平面0632、平面1636、平面2640和平面3464,存储器管芯2650可包括平面0652、平面1656、平面2660和平面3664,以及存储器管芯3670可包括平面0672、平面1676、平面2680和平面3684。包括在存储器装置150中的存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684分别包括多个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686,例如如上面参照图2所示,包括多个页面,例如,2m个页面,的n个块block0、block1……blockn-1。存储器装置150的多个存储器管芯可联接到相同通道。例如,存储器管芯0610和存储器管芯2650可联接到通道0602,以及存储器管芯1630和存储器管芯3670可联接到通道1604。

在本公开的实施例中,如上所述,控制器130可对包括在存储器装置150的各个存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684的存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686执行前台操作或后台操作。而且,对应于前台操作或后台操作,控制器130可对各个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686更新参数,然后通过考虑所更新的参数来对各个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686执行前台操作或后台操作。在下文中,将参照图7,通过举例详细描述:在根据实施例的存储器系统中对存储器装置150执行前台操作或后台操作的情况下,通过考虑所更新的参数执行的对存储器装置150的更新参数的操作和对存储器装置150的前台操作或后台操作。

参照图7,如上所述,存储器装置150可包括多个存储器管芯,每个存储器管芯可包括多个平面,并且每个平面可包括多个存储块。控制器130可对包括在存储器装置150中的一个或多个存储块执行前台操作或后台操作。控制器130可对应于前台操作或后台操作,对存储器装置150的一个或多个存储块更新一个或多个参数,并通过考虑所更新的参数来对存储器装置150的各个存储块执行前台操作或后台操作。

在图7的所述实施例中,通过举例来描述:存储块0552和存储块1554是包括在图6中的存储器管芯0610的平面0612中的存储块并且是单层单元(slc)存储块,存储块2562是包括在图6中的存储器管芯1630的平面0632中的存储块并且是单层单元存储块,存储块3564是包括在图6中的存储器管芯1630的平面1636中的存储块并且是单层单元存储块。而且,在图7的所述实施例中,通过举例来描述:存储块4572是包括在图6中的存储器管芯2650的平面0652中的存储块并且是多层单元(mlc)存储块,存储块5574是包括在存储器管芯2650的平面1656中的存储块并且是多层单元存储块,存储块6582是包括在存储器管芯3670的平面0672中的存储块并且是三层单元(tlc)存储块,以及存储块7584是包括在存储器管芯3670的平面1676中的存储块并且是三层单元存储块。

在根据所述实施例的存储器系统中,如上所述,控制器130可对存储器装置150的存储块552、554、562、564、572、574、582和584执行前台操作或后台操作,前台操作例如编程操作、读取操作、擦除操作、参数设置操作等,后台操作例如垃圾收集操作、损耗平衡操作、映射刷新操作、坏块管理操作等。控制器130可对应于执行前台操作或后台操作,对存储器装置150的存储块552、554、562、564、572、574、582和584更新参数,例如,各个存储块552、554、562、564、572、574、582和584的操作参数和状态参数,并通过考虑所更新的操作参数和状态参数来对各个存储块552、554、562、564、572、574、582和584执行前台操作或后台操作。

详细地,控制器130可对存储块552、554、562、564、572、574、582和584执行前台操作或后台操作,并且对应于前台操作或后台操作,生成参数列表700,各个存储块552、554、562、564、572、574、582和584的参数被记录在参数列表700中。

控制器130可将各个存储块552、554、562、564、572、574、582和584的参数记录在参数列表700中,并将参数列表700存储在包括在控制器130的存储器144中的第二缓冲器520中。由于如上所述,各个存储块552、554、562、564、572、574、582和584的参数可包括在元数据中,因此可通过被包括在元数据中而将参数列表700存储在存储器装置150中。

特别地,控制器130可通过指示存储器装置150的存储块552、554、562、564、572、574、582和584的指数(index)702,将对应于在各个存储块552、554、562、564、572、574、582和584中执行前台操作或后台操作的参数704记录在参数列表700中。如上所述,由存储块552、554、562、564、572、574、582和584记录在参数列表700中的参数704可包括各个存储块552、554、562、564、572、574、582和584中的操作参数和状态参数。

控制器130可使记录在参数列表700中的各个存储块552、554、562、564、572、574、582和584的参数704归一化,并通过指数702将各个存储块552、554、562、564、572、574、582和584的归一化参数708记录在参数列表700中。控制器130可通过将由各个存储块552、554、562、564、572、574、582和584设置的权重706赋予至各个存储块552、554、562、564、572、574、582和584的参数704来使各个存储块552、554、562、564、572、574、582和584的参数704归一化,并将各个存储块552、554、562、564、572、574、582和584的归一化参数708记录在参数列表700中。

当通过举例进行详细描述时,控制器130可对应于各个存储块552、554、562、564、572、574、582和584的操作特性和结构特性,通过各个存储块552、554、562、564、572、574、582和584来设置权重706。特别地,控制器130可对应于各个存储块552、554、562、564、572、574、582和584的存储器单元类型,通过各个存储块552、554、562、564、572、574、582和584来设置权重706。换言之,控制器130可对应于各个存储块552、554、562、564、572、574、582和584中的存储器单元类型,例如,单层单元存储块、多层单元存储块和三层单元存储块,来设置各自不同大小的权重。例如,在对各个存储块552、554、562、564、572、574、582和584执行前台操作或后台操作的情况下,单层单元存储块中的存储器单元的应力水平(以下称为“第一应力水平”)、多层单元存储块中的存储器单元的应力水平(以下称为“第二应力水平”)以及三层单元存储块中的存储器单元的应力水平(以下称为“第三应力水平”)可彼此不同。因此,控制器130可通过考虑各个存储块552、554、562、564、572、574、582和584中的应力水平来设置对应于各个存储块552、554、562、564、572、574、582和584的各个权重。

在控制器130根据各个应力水平对各个存储块552、554、562、564、572、574、582和584执行前台操作或后台操作的情况下,在包括在各个存储块552、554、562、564、572、574、582和584中的存储器单元中可能发生操作特性退化。特别地,由于第一应力水平是最低水平,第三应力水平是最高水平,所以与第一应力水平对应的存储块中的特性退化可能最小,与第三应力水平对应的存储块中的特性退化可能最大。

即,在执行前台操作或后台操作的情况下,由于各个存储块552、554、562、564、572、574、582和584的操作特性和结构特性导致的各个存储块552、554、562、564、572、574、582和584中的应力水平是不同的,所以控制器130可根据各个应力水平,对应于各个存储块552、554、562、564、572、574、582和584中的操作特征退化来设置对应于各个存储块552、554、562、564、572、574、582和584的各个权重706。例如,控制器130可为对应于第一应力水平的存储块设置第一大小的权重,为对应于第二应力水平的存储块设置第二大小的权重,以及为对应于第三应力水平的存储块设置第三大小的权重。第一大小的权重可以是最大大小的权重,并且第三大小的权重可以是最小大小的权重。

例如,控制器130可在存储块0552中执行前台操作或后台操作的情况下,对应于存储块0552的应力水平,将存储块0552的权重706设置为“w0”;在存储块1554中执行前台操作或后台操作的情况下,对应于存储块1554的应力水平,将存储块1554的权重706设置为“w1”;在存储块2562中执行前台操作或后台操作的情况下,对应于存储块2562的应力水平,将存储块2562的权重706设置为“w2”;并且在存储块3564中执行前台操作或后台操作的情况下,对应于存储块3564的应力水平,将存储块3564的权重706设置为“w3”。进一步地,控制器130可在存储块4572中执行前台操作或后台操作的情况下,对应于存储块4572的应力水平,将存储块4572的权重706设置为“w4”;在存储块5574中执行前台操作或后台操作的情况下,对应于存储块5574的应力水平,将存储块5574的权重706设置为“w5”;在存储块6582中执行前台操作或后台操作的情况下,对应于存储块6582的应力水平,将存储块6582的权重706设置为“w6”;并且在存储块7584中执行前台操作或后台操作的情况下,对应于存储块7584的应力水平,将存储块7584的权重706设置为“w7”。

控制器130可将分别对各个存储块552、554、562、564、572、574、582和584设置的权重706记录在参数列表700中。例如,在参数列表700中,将权重706“w0”记录为对应于存储块0552的索引702“0”,将权重706“w1”记录为对应于存储块1554的指数702“1”,将权重706“w2”记录为对应于存储块2562的指数702“2”,将权重706“w3”记录为对应于存储块3564的指数702“3”,将权重706“w4”记录为对应于存储块4572的指数702“4”,将权重706“w5”记录为对应于存储块5574的指数702“5”,将权重706“w6”记录为对应于存储块6582的指数702“6”,将权重706“w7”记录为对应于存储块7584的指数702“7”。

如上所述,控制器130可对应于存储块0552的指数702“0”,在存储块0552中执行前台操作或后台操作的情况下,将存储块0552的参数704“p0”记录在参数列表700中,可对应于存储块1554的指数702“1”,在存储块1554中执行前台操作或后台操作的情况下,将存储块1554的参数704“p1”记录在参数列表700中。控制器130可对应于存储块2562的指数702“2”,在存储块2562中执行前台操作或后台操作的情况下,将存储块2562的参数704“p2”记录在参数列表700中,可对应于存储块3564的指数702“3”,在存储块3564中执行前台操作或后台操作的情况下,将存储块3564的参数704“p3”记录在参数列表700中。控制器130可对应于存储块4572的指数702“4”,在存储块4572中执行前台操作或后台操作的情况下,将存储块4572的参数704“p4”记录在参数列表700中,可对应于存储块5574的指数702“5”,在存储块5574中执行前台操作或后台操作的情况下,将存储块5574的参数704“p5”记录在参数列表700中。控制器130可对应于存储块6582的指数702“6”,在存储块6582中执行前台操作或后台操作的情况下,将存储块6582的参数704“p6”记录在参数列表700中,可对应于存储块7584的指数702“7”,在存储块7584中执行前台操作或后台操作的情况下,将存储块7584的参数704“p7”记录在参数列表700中。

记录在参数列表700中的各个存储块552、554、562、564、572、574、582和584的参数704可包括用于各个存储块552、554、562、564、572、574、582和584的操作参数,例如,写入计数、编程计数、擦除计数、读取计数、编程/擦除周期、擦除/写入周期、编程电压偏移参数、擦除电压偏移参数、读取电压偏移参数、读取回收参数、错误校正参数等,以及用于各个存储块552、554、562、564、572、574、582和584的状态参数,例如温度参数、时间参数、特性参数等。

在各个存储块552、554、562、564、572、574、582和584中执行前台操作或后台操作的情况下,通过将由各个存储块552、554、562、564、572、574、582和584设置的各个权重706赋予至各个存储块552、554、562、564、572、574、582和584的参数704,控制器130可使各个存储块552、554、562、564、572、574、582和584的参数704归一化,即,生成各个存储块552、554、562、564、572、574、582和584的归一化参数708。如上所述,可通过各个存储块552、554、562、564、572、574、582和584的指数702将各个存储块552、554、562、564、572、574、582和584的归一化参数708记录在参数列表700中。

在对各个存储块552、554、562、564、572、574、582和584执行前台操作或后台操作的情况下,控制器130可通过使用记录在参数列表700中的各个存储块552、554、562、564、572、574、582和584的归一化参数708来执行前台操作或后台操作。在通过归一化参数708对各个存储块552、554、562、564、572、574、582和584执行前台操作或后台操作之后,控制器130可更新记录在参数列表700中的各个存储块552、554、562、564、572、574、582和584的参数704。通过将权重706赋予至各个的存储块552、554、562、564、572、574、582和584的所更新的参数704,控制器130可再次使各个存储块552、554、562、564、572、574、582和584的所更新的参数704归一化,即再次生成所更新的参数704的归一化参数708。通过将归一化参数708记录在参数列表700中,控制器130可更新参数列表700。

也就是说,控制器130可对应于在各个存储块552、554、562、564、572、574、582和584中执行前台操作或后台操作来更新记录在参数列表700中的各个存储块552、554、562、564、572、574、582和584的参数704和归一化参数708,并通过各个存储块552、554、562、564、572、574、582和584的归一化参数708来执行前台操作或后台操作。在下文中,将作为示例详细描述:在作为单层单元存储块的存储块0552中、在作为多层单元存储块的存储块4572中、在作为三层单元存储块的存储块6582中执行前台操作,例如读取操作的情况。

首先,在对应于从主机102接收的读取命令对存储块0552、存储块4572和存储块6582执行读取操作的情况下,控制器130可检查存储块0552、存储块4572和存储块6582的例如读取电压偏移参数的参数704,并将参数704记录在参数列表700中。为便于解释,将通过采用以下示例进行描述:存储块0552、存储块4572和存储块6582的读取电压偏移参数全部都相同。

换言之,在参数列表700中,可记录存储块0552的读取电压偏移参数“p0=10”、存储块4572的读取电压偏移参数“p4=10”和存储块6582的读取电压偏移参数“p6=10”。可对应于存储块0552、存储块4572和存储块6582的应力水平分别为其设置权重706。例如,可将对应于第一应力水平的存储块0552的权重“w0=10”设置到存储块0552,可将对应于第二应力水平的存储块4572的权重“w4=20”设置到存储块4572,可将对应于第三应力水平的存储块6582的权重“w6=30”设置到存储块6582。

因此,通过将存储块0552、存储块4572和存储块6582的权重分别赋予至存储块0552、存储块4572和存储块6582的读取电压偏移参数,控制器130可使存储块0552、存储块4572和存储块6582的读取电压偏移参数归一化,即生成存储块0552、存储块4572和存储块6582的归一化读取电压偏移参数。控制器130可生成存储块0552的归一化读取电压偏移参数“p0'=100”、存储块4572的归一化读取电压偏移参数“p4'=200”和存储块6582的归一化读取电压偏移参数“p6'=300”。

在对应于从主机102接收的读取命令对存储块0552、存储块4572和存储块6582执行读取操作的情况下,控制器130可通过使用存储块0552、存储块4572和存储块6582的归一化读取电压偏移参数来对存储块0552、存储块4572和存储块6582执行读取操作。例如,控制器130可通过存储块0552的归一化读取电压偏移参数“p0'=100”来对存储块0552执行读取操作,例如,通过使用相对于存储器装置150的参照读取电压的电压偏移100来对存储块0552执行读取操作。控制器130可通过存储块4572的归一化读取电压偏移参数“p4'=200”来对存储块4572执行读取操作,例如,通过使用相对于存储器装置150的参照读取电压的电压偏移200来对存储块4572执行读取操作。控制器130可通过存储块6582的归一化读取电压偏移参数“p6'=300”来对存储块6582执行读取操作,例如,通过使用相对于存储器装置150的参照读取电压的电压偏移300来对存储块6582执行读取操作。

如上所述,在通过使用存储块0552、存储块4572和存储块6582的归一化读取电压偏移参数来对存储块0552、存储块4572和存储块6582执行读取操作之后,控制器130可更新存储块0552、存储块4572和存储块6582的读取电压偏移参数,并且通过将权重赋予至存储块0552、存储块4572和存储块6582的读取电压偏移参数,更新归一化读取电压偏移参数。

在下文中,作为示例,将详细描述以下情况:在作为单层单元存储块的存储块0552、存储块1554、存储块2562和存储块3564中执行后台操作,例如,损耗平衡操作。

首先,在对应于从主机102接收的擦除命令对存储块0552、存储块1554、存储块2562和存储块3564执行擦除操作的情况下,控制器130可检查存储块0552、存储块1554、存储块2562和存储块3564的参数704,例如擦除计数,并将参数704记录在参数列表700中。

也就是说,在参数列表700中,可记录存储块0552的擦除计数“p0=200”、存储块1554的擦除计数“p1=250”、存储块2562的擦除计数“p2=150”和存储块3564的擦除计数“p3=200”。可对应于存储块0552、存储块1554、存储块2562和存储块3564的应力水平分别将权重706设置到存储块0552、存储块1554、存储块2562和存储块3564。例如,可将对应于存储块0552的应力水平的存储块0552的权重“w0=10”设置到存储块0552,可将对应于存储块1554的应力水平的存储块1554的权重“w1=20”设置到存储块1554,可将对应于存储块2562的应力水平的存储块2562的权重“w2=30”设置到存储块2562,以及可将对应于存储块3564的应力水平的存储块3564的权重“w3=40”设置到存储块3564。

因此,通过将存储块0552、存储块1554、存储块2562和存储块3564的权重分别赋予至存储块0552、存储块1554、存储块2562和存储块3564的擦除计数,控制器130可使存储块0552、存储块1554、存储块2562和存储块3564的擦除计数归一化,即,生成存储块0552、存储块1554、存储块2562和存储块3564的归一化擦除计数。控制器130可生成存储块0552的归一化擦除计数“p0'=2000”、存储块1554的归一化擦除计数“p1'=5000”、存储块2562的归一化擦除计数“p2'=4500”和存储块3564的归一化擦除计数“p3'=8000”。

在对存储块0552、存储块1554、存储块2562和存储块3564执行损耗平衡操作的情况下,控制器130可通过使用存储块0552、存储块1554、存储块2562和存储块3564的归一化擦除计数来对存储块0552、存储块1554、存储块2562和存储块3564执行擦除操作。例如,通过存储块0552、存储块1554、存储块2562和存储块3564的归一化擦除计数,控制器130可通过将存储块3564选择为源存储块、将存储块0552选择为目标存储块并在存储块3564和存储块0552之间进行交换来执行损耗平衡操作。

如上所述,在通过使用存储块0552、存储块1554、存储块2562和存储块3564的归一化擦除计数来对存储块0552、存储块1554、存储块2562和存储块3564执行损耗平衡操作之后,控制器130可更新存储块0552、存储块1554、存储块2562和存储块3564的擦除计数,并且通过将权重赋予至存储块0552、存储块1554、存储块2562和存储块3564的擦除计数,更新归一化擦除计数。

在作为在存储块552、554、562、564、572、574、582和584中的后台操作,将存储在可选存储块中的数据复制和存储到另一可选存储块中的情况下,如上所述,控制器130可通过使用各个存储块552、554、562、564、572、574、582和584中的归一化参数708来在存储块552、554、562、564、572、574、582和584之中选择第一存储块作为源存储块以及选择第二存储块作为目标存储块,然后,将存储在第一存储块的一个或多个页面中的数据复制并存储到第二存储块的一个或多个页面。在执行如上所述的复制操作之后,控制器130可更新各个存储块552、554、562、564、572、574、582和584的参数704,并生成参数704被更新的各个存储块552、554、562、564、572、574、582和584的归一化参数708,即更新各个存储块552、554、562、564、572、574、582和584的归一化参数708。

以这种方式,在根据本公开的实施例的存储器系统中,在对存储器装置150执行前台操作或后台操作的情况下,可对应于执行前台操作或后台操作来检查存储器装置150的参数。而且,可通过将权重赋予至存储器装置150的参数来生成存储器装置150的归一化参数,并可通过使用存储器装置150的归一化参数来对存储器装置150执行前台操作或后台操作。因此,在根据本公开的实施例的存储器系统中,在对存储器装置150执行前台操作或后台操作的情况下,可通过考虑根据存储器装置150中的应力水平的操作特性退化来执行前台操作或后台操作,因此,可提高存储器装置150的操作性能和可靠性。

以下,将参照图8详细描述根据实施例的在存储器系统中处理数据的操作。

图8是根据实施例的在存储器系统中处理数据的操作过程的流程图。

参照图8,在步骤810中,存储器系统可对包括在存储器装置150中的一个或多个存储块执行前台操作或后台操作。前台操作可包括对应于从主机102接收的命令的命令操作。例如,前台操作可包括对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作、对应于设置命令的参数设置操作等。后台操作可包括在存储器装置150的存储块中复制数据的操作或交换数据的操作。例如,后台操作可包括垃圾收集操作或损耗平衡操作、映射刷新操作、坏块管理操作等。

在步骤820中,可为将对其执行前台操作或后台操作的各自的一个或多个存储块生成归一化参数。更具体地,可对一个或多个存储块检查参数,并通过对各自的一个或多个存储块应用权重设置,使各自的一个或多个存储块的参数可被归一化。如上所述,在各个存储块中执行前台操作或后台操作的情况下,可对应于各个存储块中的应力水平来确定各个存储块的权重。例如,由于对应于各个存储块的存储器单元类型,各个存储块中的应力水平不同,所以可根据各个存储块中的应力水平将权重设置为具有不同的大小。

在步骤830中,通过使用各个存储块的归一化参数,可在各个存储块中执行前台操作或后台操作。

在步骤840中,更新参数和归一化参数。更具体地,在更新对其执行前台操作或后台操作的各个存储块的参数之后,可对各个存储块的更新的参数进行归一化,即,可更新各个存储块中的归一化参数。

由于上面参照图5至7对以下内容进行过详细描述,这里将省略对其的进一步描述:对包括在存储器系统的存储器装置中的各个存储块执行前台操作或后台操作,对应于执行前台操作或后台操作来检查各个存储块的参数和设置各个存储块的参数的权重,使各个存储块的参数归一化,即生成归一化参数,通过使用归一化参数在各个存储块中执行前台操作或后台操作,以及更新各个存储块的参数和归一化参数。

图9至图14是示出根据本发明的各个实施例的存储器系统的图。

图9是示出作为上面参照图1至图8描述的数据处理系统的存储卡系统6100的图。

参照图9,存储卡系统6100包括存储器控制器6120、存储器装置6130和连接器6110。

详细地,存储器控制器6120可与存储器装置6130连接,并且可访问存储器装置6130。在一些实施例中,存储器装置6130可利用非易失性存储器(nvm)来实施。存储器控制器6120可控制对存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可提供存储器装置6130与主机(未示出)之间的接口,并且可驱动用于控制存储器装置6130的固件。例如,存储器控制器6120可对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6130可对应于上面参照图1描述的存储器系统110中的存储器装置150。

因此,存储器控制器6120可包括诸如如图1所示的随机存取存储器(ram)、处理单元、主机接口、存储器接口和错误校正单元的组件。

存储器控制器6120可通过连接器6110与外部装置(例如,上面参照图1描述的主机102)通信。例如,如上面参照图1所述,存储器控制器6120可被配置为通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata,并行ata、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪速存储(ufs)、无线保真(wi-fi)以及蓝牙。因此,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子设备,例如,移动电子设备。

存储器装置6130可利用非易失性存储器来实施。例如,存储器装置6130可利用诸如以下的各种非易失性半导体存储器装置来实施:电可擦除可编程rom(eprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)以及自旋转移力矩磁性ram(stt-mram)。

存储器控制器6120和存储器装置6130可集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成到单个半导体装置中来构造固态驱动器(ssd)。存储器控制器6120和存储器装置6130可构造诸如以下的存储卡:pc卡(pcmcia:个人计算机存储卡国际协会)、标准闪存卡(cf)、智能媒体卡(sm和smc)、记忆棒、多媒体卡(mmc、rs-mmc、mmc微型和emmc)、sd卡(例如,sd、迷你sd、微型sd和sdhc)以及通用闪速存储器(ufs)。

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

参照图10,数据处理系统6200包括:存储器装置6230,其可利用至少一个非易失性存储器(nvm)实施;以及存储器控制器6220,其用于控制存储器装置6230。如上面参照图1所描述的,数据处理系统6200可以是诸如存储卡(例如,cf、sd和微型sd)的存储介质。存储器装置6230可对应于上面参照图1描述的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于上面参照图1描述的存储器系统110中的控制器130。

存储器控制器6220可响应于从主机6210接收的请求来控制对存储器装置6230的操作,包括读取操作、写入操作和擦除操作。存储器控制器6220可包括中央处理单元(cpu)6221、作为缓冲存储器的随机存取存储器(ram)6222、错误校正码(ecc)电路6223、主机接口6224以及作为存储器接口的nvm接口6225,其全部经由内部总线联接。

cpu6221可控制存储器装置6230的操作,诸如读取、写入、文件系统管理、坏页面管理等。ram6222可根据cpu6221的控制来操作,并且可用作工作存储器、缓冲存储器、高速缓冲存储器等。在ram6222被用作工作存储器的情况下,由cpu6221处理的数据临时存储在ram6222中。在ram6222被用作缓冲存储器的情况下,ram6222用于缓冲将从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。在ram6222用作高速缓冲存储器的情况下,ram6222可用于使具有低速的存储器装置6230能够以高速操作。

ecc电路6223对应于上面参照图1描述的控制器130的ecc单元138。如上参照图1所述的,ecc电路6223可生成用于校正从存储器装置6230接收的数据中的失效位或错误位的错误校正码(ecc)。ecc电路6223可对待提供给存储器装置6230的数据执行错误校正编码,并且可生成添加有奇偶校验位的数据。奇偶校验位可存储在存储器装置6230中。ecc电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ecc电路6223可通过使用奇偶校验位来校正错误。例如,如上参照图1所述,ecc电路6223可通过使用诸如以下的各种编码调制来校正错误:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bch)码、涡轮码、里德-所罗门(rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)以及分组编码调制(bcm)。

存储器控制器6220通过主机接口6224向主机6210传输数据以及从主机6210接收数据,并且通过nvm接口6225向存储器装置6230传输数据以及从存储器装置6230接收数据。主机接口6224可通过诸如以下的各种接口协议中的至少一种与主机6210连接:并行高级技术附件(pata)总线、串行高级技术附件(sata)总线、小型计算机系统接口(scsi)、通用串行总线(usb)、高速外围组件互连(pcie)或nand接口。进一步地,由于诸如无线保真(wi-fi)或长期演进(lte)的无线通信功能或移动通信协议被实现,因此存储器控制器6220可通过与诸如主机6210的外部装置或除主机6210之外的另一外部装置连接来发送和接收数据。特别地,由于存储器控制器6220被配置为通过各种通信协议中的至少一种与外部装置通信,因此根据实施例的存储器系统和数据处理系统可应用于有线/无线电子设备,例如,移动电子设备。

图11是示出包括根据本发明的实施例的存储器系统的数据处理系统的示例的图。图11可以是固态驱动器(ssd)。

参照图11,ssd6300可包括存储器装置6340和控制器6320,其中存储器装置6340可包括多个非易失性存储器nvm。控制器6320可对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6340可对应于上面参照图1描述的存储器系统110中的存储器装置150。

控制器6320可通过多个通道ch1、ch2、ch3……chi与存储器装置6340连接。控制器6320可包括经由内部总线联接的处理器6321、缓冲存储器6325、错误校正码(ecc)电路6322、主机接口6324和作为存储器接口的非易失性存储器(nvm)接口6326。

缓冲存储器6325临时存储从主机6310接收的数据或从包括在存储器装置6340中的多个非易失性存储器nvm接收的数据。缓冲存储器6325也临时存储多个非易失性存储器nvm的元数据。例如,元数据可包括含有映射表的映射数据。缓冲存储器6325可利用易失性存储器或非易失性存储器来实施,其中易失性存储器诸如但不限于动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率(ddr)sdram、低功率双倍数据速率(lpddr)sdram以及图形随机存取存储器(gram),非易失性存储器诸如但不限于铁电随机存取存储器(fram)、电阻式随机存取存储器(reram)、自旋转移力矩磁性随机存取存储器(stt-mram)以及相变随机存取存储器(pram)。虽然为便于解释在图11中示出了缓冲存储器6325设置在控制器6320内部,但是应当注意的是,缓冲存储器6325可设置在控制器6320外部。

ecc电路6322在编程操作中计算将被编程在存储器装置6340中的数据的错误校正码值,在读取操作中基于错误校正码值对从存储器装置6340读取的数据执行错误校正操作,并且在对失效数据的恢复操作中对从存储器装置6340恢复的数据执行错误校正操作。

主机接口6324提供关于诸如主机6310的外部装置的接口功能。非易失性存储器接口6326提供关于存储器装置6340的接口功能,存储器装置6340通过多个通道ch1、ch2、ch3……chi被连接。

在实施例中,提供独立磁盘冗余阵列(raid)系统,该系统包括多个ssd6300。每个ssd6300可采用上面参照图1描述的存储器系统110。在raid系统中,可包括多个ssd6300和用于控制多个ssd6300的raid控制器。在通过从主机6310接收写入命令来执行编程操作的情况下,raid控制器可响应于从主机6310接收的写入命令的raid级别信息,在多个raid级别(例如,多个ssd6300)之中选择至少一个存储器系统(例如,至少一个ssd6300),并且可向所选择的ssd6300输出对应于写入命令的数据。在通过从主机6310接收读取命令来执行读取操作的情况下,raid控制器可响应于从主机6310接收的写入命令的raid级别信息,在多个raid级别(例如,多个ssd6300)之中选择至少一个存储器系统(例如,至少一个ssd6300),并且可将从所选择的ssd6300输出的数据提供至主机6310。

图12示出包括根据本发明的实施例的存储器系统的嵌入式多媒体卡(emmc)。

参照图12,emmc6400包括利用至少一个nand闪速存储器来实施的存储器装置6440和控制器6430。控制器6430可对应于上面参照图1描述的存储器系统110中的控制器130。存储器装置6440可对应于上面参照图1描述的存储器系统110中的存储器装置150。

更具体地,控制器6430可通过由两个箭头所指示的多个通道与存储器装置6440连接。控制器6430可包括核心(core)6432、主机接口6431和诸如nand存储器接口6433的存储器接口6433。

核心6432可控制emmc6400的操作。主机接口6431可提供控制器6430和主机6410之间的接口功能。nand接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可以是诸如上面参照图1所述的mmc接口的并行接口,或者是诸如超高速等级1(uhs-i)/uhs等级2(uhs-ii)和通用闪速存储器(ufs)接口的串行接口。

图13是示意性示出包括根据本发明的实施例的存储器系统的通用闪速存储器(ufs)系统6500的图。

参照图13,ufs系统6500可包括ufs主机6510、多个ufs装置6520和6530、嵌入式ufs装置6540和可移动ufs卡6550。ufs主机6510可以是有线/无线电子设备,例如移动电子设备,的应用处理器。

ufs主机6510、ufs装置6520和6530、嵌入式ufs装置6540和可移除ufs卡6550可分别通过ufs协议与诸如有线/无线电子设备(例如,移动电子设备)的外部装置通信。例如,ufs装置6520和6530、嵌入式ufs装置6540和可移除ufs卡6550可利用上面参照图1描述的存储器系统110被实施为上面参照图9描述的存储卡系统6100。嵌入式ufs装置6540和可移除ufs卡6550可通过除ufs协议之外的另一协议通信。例如,嵌入式ufs装置6540和可移除ufs卡6550可通过诸如但不限于以下的各种卡协议进行通信:usb闪存驱动器(ufd)、多媒体卡(mmc)、安全数字(sd)、迷你sd和微型sd。

图14是示意性示出包括根据本发明的实施例的存储器系统的用户系统6600的图。

用户系统6600可包括应用处理器6630、存储器模块6620、网络模块6640、存储模块6650和用户接口6610。

应用处理器6630可驱动包括在用户系统6600中的组件和操作系统(os)。例如,应用处理器6630可包括用于控制包括在用户系统6600中的组件的控制器、接口、图形引擎等。应用处理器6630可作为片上系统(soc)提供。

存储器模块6620可作为用户系统6600的主存储器、工作存储器、缓冲存储器或高速缓冲存储器操作。存储器模块6620可包括诸如动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率(ddr)sdram、ddr2sdram、ddr3sdram、低功率双倍数据速率(lpddr)sdram、lpddr2sdram和lpddr3sdram的易失性随机存取存储器,或诸如相变随机存取存储器(pram)、电阻式随机存取存储器(reram)、磁性随机存取存储器(mram)和铁电随机存取存储器(fram)的非易失性随机存取存储器。例如,应用处理器6630和存储器模块6620可通过基于堆叠封装(pop)被封装来安装。

网络模块6640可与外部装置通信。例如,网络模块6640不仅可支持有线通信,而且可支持诸如码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma(wcdma)、cdma-2000、时分多址(tdma)、长期演进(lte)、全球微波接入互操作性(wimax)、无线局域网(wlan)、超宽带(uwb)、蓝牙、无线显示器(wi-di)等的各种无线通信,并且因此可与例如移动电子设备的有线/无线电子设备通信。因此,存储器系统和数据处理系统可应用于有线/无线电子设备。网络模块6640可包括在应用处理器6630中。

存储模块6650可存储诸如从应用处理器6530接收的数据的数据,并将存储在其中的数据传输到应用处理器6530。存储模块6650可由诸如相变ram(pram)、磁性ram(mram)、电阻式ram(reram)、nand闪速存储器、nor闪速存储器以及三维nand闪速存储器的非易失性半导体存储器装置来实现。存储模块6650可被设置为诸如用户系统6600的存储卡和外部驱动器的可移除存储介质。例如,存储模块6650可对应于上面参照图1描述的存储器系统110,并且可利用上面参照图11至13描述的ssd、emmc和ufs来实施。

用户接口6610可包括用于将数据或命令输入到应用处理器6630或者用于将数据输出到外部装置的接口。例如,用户接口6610可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、发光二极管(led)、扬声器和电动机的用户输出接口。

在根据实施例的将上面参照图1描述的存储器系统110应用于用户系统6600的移动电子设备的情况下,如上所述,应用处理器6630可控制移动电子设备的操作,并且作为通信模块的网络模块6640可控制与外部装置的有线/无线通信。作为移动电子设备的显示/触摸模块的用户接口6610显示由应用处理器6630处理的数据或者支持来自触摸面板的数据的输入。

根据实施例的存储器系统及其操作方法可最小化存储器系统的复杂性和性能退化,并最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。

虽然为了说明的目的已经描述了各种实施例,但是对于本领域技术人员将显而易见的是,在不脱离如权利要求中所限定的本发明的精神和范围的情况下,可进行各种改变和修改。

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