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

文档序号:18939083发布日期:2019-10-23 01:00阅读:170来源:国知局
存储器系统及其操作方法与流程

本申请要求于2018年4月9日提交的申请号为10-2018-0041143的韩国专利申请的优先权,其全部内容通过引用并入本文。

各种实施例涉及一种存储器系统,更具体地,涉及一种包括非易失性存储器装置的存储器系统及其操作方法。



背景技术:

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

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



技术实现要素:

各种实施例涉及一种存储器系统及其操作方法,该存储器系统能够通过将包括在存储器装置中的多个存储块分组为超级存储块来管理多个存储块。

在实施例中,一种存储器系统可以包括:存储器装置,包括多个存储块;以及控制器,适于根据预设条件并基于类型将存储块分组为多个超级块,并且通过管理超级块来管理存储块,控制器可以通过将超级块之中的每个被分组有好存储块和至少一个坏存储块的一个或多个超级块分类为第一超级块来管理该一个或多个超级块,并且控制器可以基于各个第一超级块中包括的坏存储块的数量来不同地管理各个第一超级块的使用。

控制器可以通过将多个超级块之中的剩余超级块分类为第二超级块来管理剩余超级块,剩余超级块中的每个仅被分组为有好存储块,控制器可以通过将第一超级块之中的、每个包括数量小于等于预设数量的坏存储块的第一超级块分类为第三超级块来管理第一超级块,并且控制器可以通过将第一超级块之中的、每个包括数量大于预设数量的坏存储块的第一超级块分类为第四超级块来管理第一超级块。

控制器可以将正常写入数据存储在第二超级块中,控制器可以将所存储的写入数据的映射数据存储在第三超级块,并且控制器可以将表示访问存储块的日志数据存储在第四超级块中。

控制器可以将在前台操作期间待被写入的数据存储在第二超级块中,控制器可以将在后台操作期间待被写入的数据存储在第三超级块中,并且控制器可以将表示访问超级块的日志数据存储在第四超级块中。

控制器可以用于多层单元的编程方案对第二超级块中的存储器单元进行编程,并且控制器可以用于单层单元的编程方案对第三超级块和第四超级块中的存储器单元进行编程。

控制器可以用于三层单元的编程方案对第二超级块中的存储器单元进行编程,控制器可以用于多层单元的编程方案对第三超级块中的存储器单元进行编程,并且控制器可以用于单层单元的编程方案对第四超级块中的存储器单元进行编程。

控制器可以通过状态位映射来管理第三超级块和第四超级块中的存储块的好/坏状态,并且在将数据存储在第三超级块或第四超级块中时,控制器可以将数据仅存储在第三超级块或第四超级块中的每个的好存储块中,可以通过检查状态位映射来识别第三超级块或第四超级块的每个的好存储块。

在第二超级块之中的被选择第二超级块中由于擦除-写入周期的重复而存在至少一个坏存储块的情况下,控制器可以通过合并操作将被选择第二超级块中存储的有效数据移动至目标超级块,然后可以将被选择第二超级块管理为第三超级块或第四超级块。

存储器装置中的管芯中的第一管芯可以联接至第一通道,管芯中的第二管芯可以联接至第二通道,第一管芯中包括的平面可以联接至共享第一通道的多个第一通路,并且第二管芯中包括的平面可以联接至共享第二通道的多个第二通路。

通过控制器根据预设条件并基于类型将存储块分组成多个超级块可以包括:对第一管芯的第一平面中的第一存储块和第一管芯的第二平面中的第二存储块进行分组,对第二管芯的第三平面中的第三存储块和第二管芯的第四平面中的第四存储块进行分组;对第一管芯的第一平面中的第一存储块和第二管芯的第三平面中的第三存储块进行分组,并且对第一管芯的第二平面中的第二存储块和第二管芯的第四平面中的第四存储块进行分组;或者对第一管芯的第一平面中的第一存储块、第一管芯的第二平面中的第二存储块、第二管芯的第三平面中的第三存储块、以及第二管芯的第四平面中的第四存储块进行分组。

在实施例中,提供了一种用于操作存储器系统的方法,存储器系统包括具有多个存储块的存储器装置,该方法可以包括:根据预设条件并基于类型将存储器块分组为多个超级块,并且通过管理超级块来管理存储块;通过将每个被分组有好存储块和至少一个坏存储块的一个或多个超级块分类为第一超级块来管理该一个或多个超级块;并且基于包括在各个第一超级块中的坏存储块的数量来不同地管理各个第一超级块的使用。

该方法可以进一步包括:通过将多个超级块之中的剩余超级块分类为第二超级块来管理剩余超级块,剩余超级块中的每个仅被分组有好存储块,管理剩余的超级块可以包括:通过将多个第一超级块之中的每个包括数量等于或小于预设数量的坏存储块的第一超级块分类为第三超级块来管理第一超级块;并且通过将第一超级块之中的每个包括数量大于预设数量的坏存储块的第一超级块分类为第四超级块来管理第一超级块。

该方法可以进一步包括:将正常写入数据存储在第二超级块中;将所存储的写入数据的映射数据存储在第三超级块中;以及将表示访问存储块的日志数据存储在第四超级块中。

该方法可以进一步包括:将在前台操作期间待被写入的数据存储在第二超级块中;将在后台操作期间待被写入的数据存储在第三超级块中;以及将表示访问存储块的日志数据存储在第四超级块中。

该方法可以进一步包括:以用于多层单元的编程方案对第二超级块中的存储器单元进行编程;以及以用于单层单元的编程方案对第三超级块和第四超级块中的存储器单元进行编程。

该方法可以进一步包括:以用于三层单元的编程方案对第二超级块中的存储器单元进行编程,以用于多层单元的编程方案对第三超级块中的存储器单元进行编程,以及以用于单层单元的编程方案对第四超级块中的存储器单元进行编程。

该方法可以进一步包括:通过状态位映射管理第三超级块和第四超级块的每个中的存储块的好/坏状态;以及在将数据存储在第三超级块和第四超级块中时,将数据仅存储在第三超级块或第四超级块的每一个中的好存储块中,通过检查状态位映射来识别第三超级块或第四超级块的每个的好存储块。

该方法可以进一步包括:当在第二超级块之中的被选择第二超级块中由于擦除-写入周期的重复而存在至少一个坏存储块时,通过合并操作将存储在选择第二超级块中的有效数据移动至目标超级块,然后通过将被选择第二超级块分类为第三超级块或第四超级块来管理被选择第二超级块。

存储器装置中的管芯的第一管芯可以联接至第一通道,管芯的第二管芯可以联接至第二通道,包括在第一管芯中的平面可以联接至共享第一通道的多个第一通路,并且包括在第二管芯中的平面可以联接至共享第二通道的多个第二通路。

根据预设条件分组可以包括:对第一管芯的第一平面中的第一存储块和第一管芯的第二平面中的第二存储块进行分组,并且对第二管芯的第三平面中的第三存储块和第二管芯的第四平面中的第四存储块进行分组;对第一管芯的第一平面中的第一存储块和第二管芯的第三平面中的第三存储块进行分组,并且对第一管芯的第二平面中的第二存储块和第二管芯的第四平面中的第四存储块进行分组;或者对第一管芯的第一平面中的第一存储块、第一管芯的第二平面中第二存储块、第二管芯的第三平面中的第三存储块和第二管芯的第四平面中的第四存储块进行分组。

在实施例中,一种存储器系统可以包括:存储器装置,包括具有一个或多个坏存储块的第一超级块和仅具有正常存储块的第二超级块;以及控制器,适于控制存储器装置以将数据编程至第一超级块和第二超级块中,控制器可以控制存储器装置根据位映射表将数据编程至第一超级块和第二超级块中的正常存储块中,该位映射表识别第一超级块和第二超级块中的坏存储块,并且控制器可以控制存储器装置根据第一编程方案将第一类型的数据编程至第一超级块中并且根据第二编程方案将第二类型的数据编程至第二超级块中。

附图说明

从下面参照附图的详细说明中,本发明的这些和其他特征和优点对于本发明所属领域的技术人员将变得显而易见,附图中:

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

图2是示出在图1的存储器系统中采用的存储器装置的示例性配置的示意图;

图3是示出图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;

图4是示出图2的存储器装置的示例性三维结构的示意图;

图5是用于说明根据本发明实施例的存储器系统中使用的超级存储块的构思的示图;

图6a和图6b是帮助说明在根据本发明实施例的存储器系统中以超级存储块为单位管理存储块的操作的示图;

图7至图9是帮助说明根据本发明实施例的管理存储器系统中的包括坏存储块的超级存储块的操作的示图;以及

图10至图18是图1所示的数据处理系统的应用示例的示意性图示。

具体实施方式

以下参照附图更详细地描述本发明的各个实施例。然而,应注意的是,本发明可以以包括了公开的实施例的任一种的变型的不同形式实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。而且,在整个说明书中,对“一个实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种措词的不同参考不一定针对相同的实施例。

将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以标识各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与在其他情况下具有相同或相似名称的另一元件。因此,在不脱离本发明的精神和范围的情况下,一个示例中的第一元件也可被称为另一示例中的第二元件或第三元件。

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

将进一步理解的是,当一个元件被称为“连接至”、“联接至”另一元件或“与另一元件通信”时,这种连接、联接或通信可以是有线或无线的,并且可以时直接或间接的,即通过一个或多个中间元件间接连接、联接或通信,除非另有说明,或者上下文另有要求。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。

本文使用的术语的目的是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式旨在包括复数形式,反之亦然,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。

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

在以下描述中,为了提供本发明的全面理解,序阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了不使本发明被不必要地模糊,未详细地描述公知的进程结构和/或进程。

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

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

参照图1,数据处理系统100可以包括主机102和存储器系统110。

主机102可实现为诸如移动电话、mp3播放器和膝上型计算机的各种便携式电子装置中的任一种或实现为诸如台式计算机、游戏机、tv和投影仪的各种非便携式电子装置中的任一种。

存储器系统110可以响应于主机102的请求来操作以存储用于主机102的数据。存储器系统110的非限制性示例包括固态驱动器(ssd)、多媒体卡(mmc)、安全数字(sd)卡、通用存储总线(usb)装置、通用闪速存储(ufs)装置、标准闪存(cf)卡、智能媒体(sm)卡、个人计算机存储卡国际协会(pcmcia)卡和记忆棒。mmc可以包括嵌入式mmc(emmc)、尺寸减小的mmc(rs-mmc)和微型-mmc。sd卡可以包括迷你-sd卡和微型-sd卡。

存储器系统110可以由各种类型的存储装置中的任一种来体现。存储器系统110中的存储装置的非限制性示例可以包括诸如dram动态随机存取存储器(dram)和静态ram(sram)的易失性存储器装置或诸如只读存储器(rom)、掩膜rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电ram(fram)、相变ram(pram)、磁阻ram(mram)、电阻式ram(rram)和闪速存储器的非易失性存储器装置。闪速存储器可以具有3维(3d)堆叠结构。

存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据,并且控制器130可以控制将数据存储到存储器装置150中。

控制器130和存储器装置150可以被集成到单个半导体装置中,其可以被实现为如上所例示的各种类型的存储器系统中的任一种。

存储器系统110的非限制性应用示例包括计算机、超移动pc(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(pmp)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(dmb)播放器、3维(3d)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输/接收信息的装置、配置家庭网络的各种电子装置中的一个、配置计算机网络的各种电子装置中的一个、配置远程信息处理的各种电子装置中的一个、射频识别(rfid)装置或配置计算系统的各种部件中的一个。

存储器装置150可以是非易失性存储器装置,非易失性存储器装置即使不供给电力也可以保留其中存储的数据。存储器装置150可以通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可以包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156,存储块152至156的每一个可以包括多个页面。页面的每一个可以包括联接到字线的多个存储器单元。

控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可以控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。

控制器130可以包括经由内部总线全部操作性地联接的主机接口(i/f)132、处理器134、错误校正码(ecc)组件138、电源管理单元(pmu)140、nand闪存控制器(nfc)142和存储器144。

主机接口132可以被配置为处理主机102的命令和数据,并且可以通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci-e)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)和集成驱动电路(ide)。

ecc组件138可以检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ecc组件138可以通过在ecc编码进程期间使用的ecc代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ecc组件138可以输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ecc组件138不能校正错误位,而是可以输出错误校正失败信号。

ecc组件138可以通过诸如低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhuri-hocquenghem,bch)码、涡轮码、里德-所罗门(reed-solomon,rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)、分组编码调制(bcm)等的编码调制来执行错误校正操作。然而,ecc组件138不限于这些校正技术。因此,ecc组件138可以包括用于适当错误校正的所有电路、模块、系统或装置。

pmu140可提供和管理控制器130的电源。

nfc142可以用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体是nand闪速存储器时,nfc142可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供给存储器装置150的数据。nfc142可以用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,nand闪存接口)。具体地,nfc142可以支持控制器130和存储器装置150之间的数据传送。

存储器144可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求来控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。存储器144可以存储控制器130和存储器装置150执行这些操作所需的数据。

存储器144可以由易失性存储器来实施。例如,存储器144可以由静态随机存取存储器(sram)或动态随机存取存储器(dram)来实施。存储器144可以被设置在控制器130的内部或外部。图1示出了设置在控制器130内的存储器144。然而,在另一实施例中,存储器144可以由具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器实施。

处理器134可以控制存储器系统110的总体操作。处理器134可以驱动固件以控制存储器系统110的总体操作。固件可以被称为闪存转换层(ftl)。

控制器130的处理器134可以包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可以执行坏块管理操作,即在存储器装置150中的多个存储块152至156之中,识别在编程操作期间由于nand闪速存储器的特征而发生编程失败的块(即,坏块)。管理单元可以将坏块的编程失败的数据写入新存储块。在具有3d堆叠结构的存储器装置150中,坏块管理操作可降低存储器装置150的使用效率和存储器系统110的可靠性。因此,坏块管理操作需要被更可靠性地执行。

图2是示出存储器装置150的示例性配置的示意图。

参照图2,存储器装置150可以包括多个存储块0至n-1,并且块0到n-1中的每一个可以包括例如2m个页面的多个页面,其数量可以根据电路设计而变化。各个存储块0至n-1中的存储器单元可以是存储1位数据的单层单元(slc)、或存储2位或更多位数据的多层单元(mlc)。在实施例中,存储器装置150可以包括每一个均存储3位数据的多个三层单元(tlc)。在另一实施例中,存储器装置可以包括每一个均存储4位数据的多个四层单元(qlc)。

图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。

参照图3,可以对应于存储器系统110的存储器装置150中的多个存储块152至156中的任意一个的存储块330可以包括联接到多个相应位线bl0至blm-1的多个单元串340。每个列的单元串340可以包括一个或多个漏极选择晶体管dst和一个或多个源极选择晶体管sst。在漏极选择晶体管dst和源极选择晶体管sst之间,多个存储器单元mc0至mcn-1可以串联联接。在实施例中,存储器单元晶体管mc0至mcn-1中的每一个可以由能够存储多个位的数据信息的mlc来实施。单元串340中的每一个可以电联接到多个位线bl0至blm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线bl0,并且最后的单元串联接到最后的位线blm-1。

虽然图3示出nand闪速存储器单元,但是本发明不限于此配置。存储器单元可以是nor闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置或包括作为电荷存储层的的绝缘层的电荷撷取闪速(ctf)存储器。

存储器装置150可以进一步包括电压供给310,其提供包括根据操作模式供给到字线的编程电压、读取电压和通过电压的字线电压。电压供给单元310的电压生成操作可以由控制电路(未示出)来控制。在控制电路的控制下,电压供给310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且如所需的那样将字线电压提供给所选择的字线和未选择的字线。

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

图4是示出存储器装置150的示例性3d结构的示意图。

存储器150可以由2d或3d存储器装置来实施。具体地,如图4所示,存储器装置150可以由具有3d堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3d结构时,存储器装置150可以包括多个存储块blk0至blkn-1,存储块的每一个具有3d结构(或竖直结构)。

图5是用于说明根据本发明实施例的存储器系统中使用的超级存储块的构思的示图。

参照图5,可以看到,存储器装置150包括存储器系统的部件之中的管芯、平面和存储块的布置。

存储器装置150包括多个存储块block000、block001、block002、…和block00n,block010、block011、block012、…和block01n,block100、block101、block102、…和blcok10n,以及block110、block111、block112、…和block11n。

存储器装置150包括能够通过第零通道ch0输入/输出数据的第零存储器管芯die0和能够通过第一通道ch1输入/输出数据的第一存储器管芯die1。第零通道ch0和第一通道ch1可以交错方案输入/输出数据。

第零存储器管芯die0包括多个平面plane00和plane01,平面plane00和plane01分别对应于多个通路way0和way1,多个通路way0和way1能够通过共享第零通道ch0以交错方案输入/输出数据。

第一存储器管芯die1包括多个平面plane10和plane11,平面plane10和plane11分别对应于多个通路way2和way3,多个通路way2和way3能够通过共享第一通道ch1以交错方案输入/输出数据。

第零存储器管芯的第一平面plane00包括设置数量或预定数量的存储块,即全部多个存储块block000、block001、block002、…和block00n,block010、block011、block012、…和block01n,block100、block101、block102、…和block10n,以及block110、block111、block112、…和block11n中的block000、block001、block002、…和block00n。

第零存储器管芯die0的第二平面plane01包括设置数量或预定数量的存储块,在该情况下为全部多个存储块中的block010、block011、block012、…和block01n。

第一存储器管芯die1的第一平面plane10包括设置数量或预定数量的存储块,在该情况下为全部多个存储块中的block100、block101、block102、…和block10n。

第一存储器管芯die1的第二平面plane11包括设置数量或预定数量的存储块,在该情况下为全部多个存储块中的block110、block111、block112、…和block11n。

以这种方式,存储器装置150中的多个存储块可以根据物理位置进行划分,以使得相同平面中的存储块使用相同的通路并且相同管芯中的存储块使用相同的通道。

尽管图5中示出了存储器装置150包括两个管芯,每一个管芯包括两个平面,但这仅是示例。存储器装置150中的存储器管芯的数量可以根据设计和操作考虑而是任何合适的数量,并且类似地,每个存储器管芯中的平面的数量可以与图5示出的示例中的数量不同。当然,每个平面中的设置数量或预定数量的存储块可以根据设计和操作考虑而不同。

并且,与根据物理位置划分存储块不同,控制器130可以使用根据存储块的同时选择和操作来划分存储块的方案。也就是说,控制器130可以通过将能够被同时选择的存储块进行分组并且因此将多个存储块划分为超级存储块来管理多个存储块。

控制器130可以基于设计考虑,根据各种方案来将多个存储块划分成超级存储块,本文中将描述三个方案。

第一方案是,使用控制器130通过对存储器装置150中的第零存储器管芯die0的第一平面plane00中的一个存储块block000和第二平面plane01中的一个存储块block10进行分组来生成并管理一个超级存储块a1。在将第一方案应用至第一存储器管芯die1时,控制器130可以通过对第一存储器管芯die1中的第一平面plane10中的一个存储块block100和第二平面plane11中的一个存储块block110进行分组来生成并管理一个超级存储块a2。

在第二方案中,通过控制器130生成并管理一个超级存储块b1,以包括第零存储器管芯die0的第一平面plane00中的存储块block002以及第一存储器管芯die1的第一平面plane10中的一个存储块block102。当再次应用第二方案时,控制器130可以通过对第零存储器管芯die0的第二平面plane01中的一个存储块block012和第一存储器管芯die1的第二平面plane11中的一个存储块block112进行分组来生成并管理一个超级存储块b2。因此,第一方案将来自相同管芯的两个不同平面的两个存储块分组成超级块,而第二方案将来自不同管芯的每个管芯的一个存储块分组成超级块。任一种方案的方法都可以扩展应用至两个以上的管芯以及管芯中包括两个以上的平面的布置。

第三方案是使用控制器130通过对第零存储器管芯die0的第一平面plane00中的一个存储块block001、第零存储器管芯die0的第二平面plane01中的一个存储块block011、第一存储器管芯die1的第一平面plane10中的一个存储块block101、以及第一存储器管芯die1的第二平面plane11中包括的一个存储块block111进行分组来生成并管理一个超级存储块c。因此,在第三方案中,将来自每个管芯中的每个平面中的四个存储块进行分组以形成超级块。如第一方案和第二方案的情况,第三方案也可以扩展应用至更复杂的管芯/平面布置,如下面将进一步描述的。

通过被包括在相同超级存储块中而能够被同时选择的存储块可以通过交错方案被基本上同时选择,交错方案例如为通道交错方案、存储器管芯交错方案、存储器芯片交错方案或通路交错方案。

图6a和图6b是用于帮助说明在根据本发明实施例的存储器系统中以超级存储块为单位管理存储块的操作的示图。

首先,参照图6a,示出了根据实施例的通过使用控制器130将存储器装置150中的多个存储块划分成超级存储块来形成超级存储块以管理存储器装置150中的多个存储块的方案。

在图6a的实施例中,存储器装置150包括八个存储器管芯die<0:7>,八个存储器管芯die<0:7>中的每一个包括四个平面plane<0:3>,使得八个存储器管芯die<0:7>包括总共32个平面plane<0:3>*8,并且32个平面plane<0:3>*8中的每一个包括1024个存储块block<0:1023>。换言之,存储器装置150包括总共32768个存储块block<0:1023>*32。

并且,在图6a中示出的存储器装置150中,八个存储器管芯die<0:7>中的总共32个平面plane<0:3>*8通过两个通道ch<0:1>和八个通路way<0:7>输入/输出数据。即,四个通路way<0:3>/way<4:7>共享一个通道ch0/ch1,并且四个平面plane<0:3>共享一个通路way0/way1/way2/way3/way4/way5/way6/way7。

根据本实施例的存储器系统110的控制器130使用以超级存储块为单位来管理存储器装置150中的多个存储块的方案。特别地,可以看到图6a所示的实施例使用了上面参照图5描述的通过控制器130将存储块划分为超级存储块的第三方案。

也就是说,在图6a中,控制器130通过选择存储器装置150中的32个平面plane<0:3>*8的每一个中的一个存储块来形成超级存储块superblock<0:1023>中的每一个,并且管理超级块。因此,32个存储块被包括在超级存储块superblock<0:1023>的每一个中。

由于在如图6a中所示的以超级存储块为单位执行管理的配置中,控制器130同时选择超级存储块superblock<0:1023>的每一个中的32个存储块,因此可以使用超级存储块地址(未示出)来选择各个超级存储块superblock<0:1023>。

以这种方式,为了使用超级存储块地址,控制器130使用以下方案:通过对存储器装置150中的各个32个平面plane<0:3>*8中的具有相同相关位置的存储块进行分组来管理超级存储块。

例如,控制器130通过对各个32个平面plane<0:3>*8中的32个第零存储块block0进行分组来形成并管理第零超级存储块superblock0,通过对各个32个平面plane<0:3>*8中的32个第一存储块block1进行分组来形成并管理第一超级存储块superblock1,并且通过对各个32个平面plane<0:3>*8中的32个第二存储块block2进行分组来形成并管理第二超级存储块superblock2。以这种方式,控制器130通过管理1024个超级存储块superblock<0:1023>来管理存储器装置150中的32768个存储块block<0:1023>*32,其中1024个超级存储块superblock<0:1023>中的每一个包含32个存储块。

控制器130通过管理超级存储块superblock<0:1023>来管理存储块block<0:1023>*32的事实表示控制器130将访问处理单位设置成超级存储块单位。也就是说,即使控制器130通过使用超级存储块superblock<0:1023>中的每一个的超级存储块地址来选择超级存储块superblock<0:1023>的每一个,也不表示不使用每个单独的存储块地址;相反,在控制器130中将重复地使用每个存储块地址。例如,控制器130通过第零超级存储块地址访问第零超级存储块superblock0表示与各个32个平面plane<0:4>*8的、被分组到第零超级存储块superblock0中的32个第零存储块block0相对应的32个存储块被一次访问。

并且,存储器装置150中的全部存储块都正常操作是几乎不可能的。也就是,在安装并使用存储器装置150时,在多个存储块中通常存在至少一个无法操作的坏存储块。这种耐久性差的存储块可以被确定为坏存储块,因为这种存储块即使在使用期限尚未达到时也无法执行正常操作。

在这一点上,如上所述,在控制器130使用通过将各个32个平面plane<0:3>*8中的相同相关位置或定位的存储块进行分组来管理超级存储块的方案以使用超级存储块地址(未示出)的情况下,针对超级存储块superblock<0:1023>之中的包括坏存储块的超级存储块,不可能将访问处理单位设置为超级存储块单位。

也就是,即使仅有一个存储块是坏存储块并且所有剩余的31个存储块是好存储块,也不能将相应超级存储块的访问处理单位设置为超级存储块单位,这显然不能高效地管理这种超级块。

考虑到这个事实,如图6b中所示,通过采用再生超级块表700来重新使用所包括的至少一个存储块是坏存储块的超级存储块。

参照图6b,可以看到存储器装置150中的全部超级存储块superblock中的第718超级存储块superblock718、第820超级存储块superblock820和第829超级存储块superblock829的每一个中的32个存储块之中的一个或多个存储块被确定为坏存储块。

详细地,在包括在第718超级存储块superblock718中的32个存储块中,第一存储器管芯die1的第一平面plane1中的存储块被确定为坏存储块并且剩余的31个存储块是好存储块。

并且,在包括在第820超级存储块superblock820中的32个存储块中,第三存储器管芯die3的第一平面plane1中的存储块和第四存储器管芯die4的第一平面plane1中的存储块被确定为坏存储块,并且剩余的30个存储块被确定为好存储块。

此外,在包括在第829超级存储块superblock829中的32个存储块中,第零存储器管芯die0的第一平面plane1中的存储块被确定为坏存储块,并且剩余的31个存储块为好存储块。

在这种状态中,控制器130生成再生超级块表700以利用好存储块来替换被确定为坏超级存储块的第718超级存储块superblock718、第820超级存储块superblock820和第829超级存储块superblock829中的各自的坏存储块,从而重新生成正常操作超级存储块。

详细地,为了重新使用第718超级存储块superblock718,控制器130应该搜索能够替换第一存储器管芯die1的第一平面plane1中的坏存储块的存储块。

为此,控制器130搜索超级存储块superblock<0:1023>之中的包括至少一个坏存储块的超级存储块。当然,控制器130从搜索目标中排除仅具有好存储块的任何超级存储块。

控制器130可以搜索包括两个坏存储块的第820超级存储块superblock820。由此,控制器130检查第820超级存储块superblock820中的坏存储块中的任一个的位置或定位是否与第718超级存储块superblock718中的坏存储块的位置或定位相同。

如果在相同位置存在坏块,则第820超级存储块superblock820被从搜索目标中排除,并且搜索另外的超级存储块。相反地,如果在相同位置没有坏块,则第820超级存储块superblock820被确定为搜索目标超级存储块。

如从附图中看到的,第718超级存储块superblock718中的坏存储块被定位在第一存储器管芯die1的第一平面plane1中,并且第820超级存储块superblock820中的坏存储块被定位在第三超级管芯die3的第一平面plane1和第四存储器管芯die4的第一平面plane1中。换言之,第820超级存储块superblock80中的坏存储块的位置与第718超级存储块superblock718中的坏存储块的位置不重叠。

因此,控制器130将第820超级存储块superblock820确定为搜索目标,并且生成再生超级块表700,以使得第820超级存储块superblock820中的32个存储块之中的、在第一存储器管芯die1的第一平面plane1中的存储块可以被使用在第718超级存储块superblock718中。

也就是,为了替换第718超级存储块superblock718,控制器130将再生超级块表700的第一行设置为第零再生超级存储块resuperblock0,并且存储32个存储块的块地址值以用于替换第718超级存储块superblock718。

因此,在存储在再生超级块表700的第一行中的第零再生超级存储块resuperblock0的值中,仅一个用于指示第一存储器管芯die1的第一平面plane1中的存储块的块地址为第820超级存储块superblock820的块地址,而全部剩余的31个块地址为第718超级存储块superblock718的块地址。

以这种方式,因为生成了再生超级块表700,所以在控制器130访问第718超级存储块superblock718时,可以参考存储在再生超级块表700的第一行中的第零再生超级存储块resuperblock0的值。

然后,为了重新使用第820超级存储块superblock820,控制器130应该搜索能够替换包括在第820超级存储块superblock820中的32个存储块之中的第一存储器管芯die1的第一平面plane1中的存储块、第三存储器管芯die3的第一平面plane1中的坏存储块和第四存储器管芯die4的第一平面plane1中的坏存储块的存储块。

即使在第820超级存储块superblock820中的32个存储块之中仅存在两个坏存储块,也进行搜索能够替换包括在第820超级存储块superblock820中的32个存储块之中的三个存储块的存储块的原因在于,第820超级存储块superblock820的一个存储块被用于将第718超级存储块superblock718正常地操作为再生超级存储块。即,原因在于生成了再生超级块表700以使用包括在第820超级存储块superblock820中的32个存储块中的、在第一存储器管芯die1的第一平面plane1中的存储块。

因此,为了重新使用第820超级存储块superblock820,控制器130在超级存储块superblock<0:1023>之中搜索包括至少一个坏存储块的超级存储块。当然,控制器130将超级存储块superblock<0:1023>之中的仅包括好存储块的任何超级存储块从搜索目标排除。

控制器130可以搜索包括一个坏存储块的第829超级存储块superblock829。由此,控制器130检查第829超级存储块superblock829中的坏存储块的位置是否与第718超级存储块superblock718中的坏存储块的位置以及第820超级存储块superblock820中包括的坏存储块的位置相同。

如果存在相同位置的块,第829超级存储块superblock829从搜索目标被排除,并搜索另外的超级存储块。相反地,如果没有定位重叠,则将第829超级存储块superblock829确定为搜索目标超级存储块。

如从图6b中可见的,第829超级存储块superblock829的坏存储块被定位在第零存储器管芯die0的第一平面plane1中,第718超级存储块superblock718的坏存储块被定位在第一存储器管芯die1的第一平面plane1中,并且第820超级存储块superblock820的坏存储块被定位在第一存储器管芯die3的第一平面plane1和第四存储器管芯die4的第一平面plane1中。也就是说,第829超级存储块superblock829的坏存储块的位置与第820超级存储块superblock820中的坏存储块的位置以及第718超级存储块superblock718中包括的坏存储块的位置不重叠。

因此,控制器130将第829超级存储块superblock829确定为搜索目标,并且生成再生超级块表700,以使得第829超级存储块superblock829的第一存储器管芯die1的第一平面plane1中的存储块、第三存储器管芯die3的第一平面plane1中的存储块以及第四存储器管芯die4的第一平面plane1中的存储块可以被使用在第820超级存储块superblock820中。

也就是,为了替换第820超级存储块superblock820,控制器130将再生超级块表700的第二行设置为第一再生超级存储块resuperblock1,并且存储32个存储块的各个块地址值以用于替换第820超级存储块superblock820。

因此,在存储在再生超级块表700的第二行中的第一再生超级存储块resuperblock1的值中,仅存在三个超级存储块superblock829中的块的块地址:第一个指示第一存储器管芯die1的第一平面plane1中的存储块,第二个指示第三存储器管芯die3的第一平面plane1中的存储块并且第三个指示第四存储器管芯die4的第一平面plane1中的存储块。全部剩余的29个块地址用于第820超级存储块superblock820的存储块。

以这种方式,因为生成了再生超级块表700,所以当控制器130访问第820超级存储块superblock820时,可以参考存储在再生超级块表700的第二行中的第一再生超级存储块resuperblock1的值。

然后,为了重新使用第829超级存储块superblock829,控制器130应该搜索能够替换包括在第829超级存储块superblock829中的32个存储块之中的第零存储器管芯die0的第一平面plane1中的坏存储块、第一存储器管芯die1的第一平面plane1中的存储块、第三存储器管芯die3的第一平面plane1中的存储块以及第四存储器管芯die4的第一平面plane1中的存储块的存储块。

即使在第829超级存储块superblock829中仅存在一个坏存储块,也进行搜索能够替换在第829超级存储块superblock829中的32个存储块之中的四个存储块的存储块的原因在于,第829超级存储块superblock829中的三个好存储块被用于将第820超级存储块superblock820正常地操作为再生超级存储块。即,原因在于,生成了再生超级块表700以使用包括在第829超级存储块superblock829中的32个存储块之中的第一存储器管芯die1的第一平面plane1中的存储块、第三存储器管芯die3的第一平面plane1中的存储块和第四存储器管芯die4的第一平面plane1中的存储块。

因此,为了重新使用第829超级存储块superblock829,控制器130在超级存储块superblock<0:1023>之中搜索包括至少一个坏存储块的超级存储块。当然,控制器130将超级存储块superblock<0:1023>中的仅包括好存储块的任何超级存储块从搜索目标排除。

作为搜索结果,控制器130可能没有搜索到包括坏存储块的超级存储块。由此,控制器130不重新使用第829超级存储块superblock829。

通过使用上面参照图6b描述的再生超级块表700,即使三个超级存储块superblock718、superblock820和superblock829中包括坏存储块,也可针对两个超级存储块superblock718和superblock820,将访问处理单位设置为超级存储块单位。

也就是说,在图6b中所示的方案中,包括坏存储块的超级存储块superblock718、superblock820和superblock829之中的一些超级存储块,即superblock718和superblock820被正常使用,并且仅超级存储块superblock829不被使用。

然而,即使在图6b中所示的方案中,仍然存在不能使用的超级存储块superblock829,并且超级存储块superblock829中的好存储块也不能被使用,因为这些好存储块没有以超级存储块单位进行分组。

因此,根据实施例的存储器系统110可以如将在下文参照图7至图9描述的方式操作成以使得包括坏存储块的超级存储块使用所有好存储块。也就是,不存在不能使用好存储块的情况。

图7至图9是帮助说明根据实施例的管理存储器系统中的包括坏存储块的超级存储块的操作的示图。

首先,参照图7,可以看到控制器130通过将坏存储块和好存储块混合来管理超级存储块。

首先,图7中所示的存储器装置150包括两个存储器管芯die<0:1>,两个存储器管芯die<0:1>中的每一个包括四个平面plane<0:3>以使得两个存储器管芯die<0:1>包括总共八个平面plane<0:3>*2,并且八个平面plane<0:3>*2的每一个均包括(n+1)个存储块b<0:n>。此配置仅是示例。

存储器系统110的控制器130使用以下方案管理多个存储块:将多个存储块划分为超级块并且以超级存储块为单位来管理多个存储块。特别地,图7使用如上面参照图5描述的通过控制器130将存储块划分成超级存储块的第三方案。

也就是说,在图7中,控制器130通过选择存储器装置150中的八个平面plane<0:3>*2的每一个中的一个存储块来管理超级存储块superblock<0:n>中的每一个。因此,超级存储块superblock<0:n>的每一个中包括八个存储块。

此外,在图7中所示的实施例中,一些超级块包括至少一个坏块且剩余的为好块。也就是,超级存储块可以包括一个或多个坏存储块。

例如,在图7中,在第零超级存储块superblock<0>的情况下,对应于第零管芯die<0>的第零平面plane<0>的一个存储块是坏存储块,并且这一个坏存储块与七个好存储块一起被分组。

在图7中,在第一超级存储块superblock<1>的情况下,对应于第零管芯die<0>的第零平面plane<0>、第零管芯die<0>的第一平面plane<1>和第一管芯die<1>的第零平面plane<0>的三个存储块是坏存储块,并且这三个存储块与五个好存储块一起被分组。

在图7中,在第二超级存储块superblock<2>的情况下,对应于第一管芯die<1>的第零平面plane<0>的一个存储块是坏存储块,并且这一个存储块与七个好存储块一起被分组。

在图7中,在第三超级存储块superblock<3>的情况下,对应于第零管芯die<0>的第零平面plane<0>和第一管芯die<1>的第二平面plane<2>的两个存储块是坏存储块,并且这两个存储块与六个好存储块一起被分组。

在图7中,在第四超级存储块superblock<4>的情况下,对应于第零管芯die<0>的第一平面plane<1>、第一管芯die<1>的第零平面plane<0>和第一管芯die<1>的第一平面plane<1>的三个存储块是坏存储块,并且这三个存储块与五个好存储块一起被分组。

在图7中,在第(n-2)超级存储块superblock<n-2>的情况下,对应于第零管芯die<0>的第零平面plane<0>的一个存储块是坏存储块,并且这一个存储块与七个好存储块一起被分组。

剩余的超级存储块superblock<5:n-3,n-1,n>中的每一个不包括坏存储块,因此剩余的超级存储块作为正常超级存储块被管理,剩余的超级存储块的每一个仅具有好存储块,且好存储块为八个。

如上所述的,在图7中,在每一个被分组有好存储块和至少一个坏存储块的超级存储块superblock<0:4,n-2>的情况下,如上面参照图6a和图6b描述的,不可能将访问处理单位设置为超级存储块单位。

例如,在图7中,在第零超级存储块superblock<0>、第二超级存储块superblock<2>和第(n-2)超级存储块superblock<n-2>的情况下,在这些超级存储块的每一个中仅包括七个好存储块。在第三超级存储块superblock<3>的情况下,仅包括六个好存储块。在第一超级存储块superblock<1>和第四超级存储块<4>的情况下,在这些超级存储块的每一个中仅包括五个好存储块。

因此,不包括坏存储块的正常超级存储块superblock<5:n-3,n-1,n>的每一个满足访问处理单位为超级存储块单位的条件,因为八个存储块被一次访问。相反地,在每一个包括至少一个坏存储块的超级存储块superblock<0:4,n-2>的情况下,超级存储块superblock<0:4,n-2>不满足访问处理单位为超级存储块单位的条件。

考虑这种情况,控制器130通过将超级存储块superblock<0:4,n-2>分类为第一超级块bad+superblock0来管理超级存储块superblock<0:4,n-2>。相反地,通过将在每一个超级块中不包括坏存储块而仅包括八个好存储块的正常超级存储块superblock<5:n-3,n-1,n>分类为第二超级块normalsuperblock来管理正常超级存储块superblock<5:n-3,n-1,n>。

并且,控制器130基于包括在各个第一超级块bad+superblock0中的坏存储块的数量来不同地管理第一超级块bad+superblock0的各自使用。也就是说,控制器130通过将第一超级块bad+superblock0之中的第一超级块superblock<0,2,3,n-2>分类为第三超级块bad+superblock1来管理第一超级块superblock<0,2,3,n-2>,其中第一超级块superblock<0,2,3,n-2>中的每一个均包括数量等于或小于预设数量的坏存储块。并且,控制器130通过将第一超级块bad+superblock0之中的第一超级块superblock<1,4>分类为第四超级块bad+superblock2来管理第一超级块superblock<1,4>,其中第一超级块superblock<1,4>中的每一个均包括数量超过预设数量的坏存储块。

例如,如图7中所示,预设数量可以是“2”。换言之,控制器130通过将第一超级块bad+superblock0之中的第一超级块superblock<0,2,3,n-2>分类为第三超级块bad+superblock1来管理第一超级块superblock<0,2,3,n-2>,其中第一超级块superblock<0,2,3,n-2>的每一个均包括2个或更少的坏存储块。由此,在第三超级块bad+superblock1中,包括第零超级存储块superblock<0>、第二超级存储块superblock<2>、第三超级存储块superblock<3>和第(n-2)超级存储块superblock<n-2>。

此外,控制器130通过将第一超级块bad+superblock0之中的第一超级块superblock<1,4>分类为第四超级块bad+superblock2来管理第一超级块superblock<1,4>,其中第一超级块superblock<1,4>中的每一个均包括多于2个的坏存储块。由此,在第四超级块bad+superblock2中,包括第一超级存储块superblock<1>和第四超级存储块superblock<4>。

预设数量不限于“2”;相反,预设数量可以根据设计和操作考虑而被设置为不同的值。此外,在将超级块分类为不同类型时,分类类型可以多于两个。例如,控制器130可以基于两个预设数量将第一超级块分类为四个超级块。

尽管图7中未详细示出,但可发生以下情况:由于重复地执行擦除-写入周期,因此在存储器系统110的初始操作中已经通过被分类为第二超级块normalsuperblock而被管理的某些超级块被分类为第一超级块bad+superblock0而进行管理。

也就是说,可发生以下情况:在存储器系统110的初始操作中已经通过被分类为第二超级块normalsuperblock而被管理的某些超级块的好存储块可能由于擦除-写入周期的重复而被确定为坏存储块。在这种情况下,控制器130通过合并操作将存储在已经出现坏块的该某些超级块中的有效数据移动至目标超级块,然后将进入空闲状态的该某个超级块作为第一超级块bad+superblock0来管理。在这一点上,根据进入空闲状态的该某个超级块中的坏存储块的数量是否超过预设数量,来确定是将该某些超级块作为第三超级块bad+superblock1还是作为第四超级块bad+superblock2来管理。

在这一点上,为了防止在已存在坏块的该某些超级块中已经存储的有效数据的可靠性降低,控制器130可以额外地执行检测并校正该某个超级块中已经存储的有效数据的错误的操作,然后可以通过合并操作仅将被确定为正常的有效数据移动至目标超级块。

参照图8,在根据上面参照图7描述的实施例的存储器系统110的控制器130中,示出了第一超级块bad+superblock0以及第二超级块normalsuperblock的使用和管理方法,其中第一超级块bad+superblock0被划分为第三超级块bad+superblock1和第四超级块bad+superblock2。

详细地,可以根据以下的两种使用方法c和d来描述第一超级块bad+superblock0以及第二超级块mormalsuperblock的使用方法,其中第一超级块bad+superblock0被划分为第三超级块bad+superblock1和第四超级块bad+superblock2。

第一使用方法c如下所述。

首先,在步骤1301中,控制器130将与从主机102接收的写入命令对应的正常数据存储在第二超级块normalsuperblock中。

在步骤1302中,控制器130将对应于将正常数据存储在第二超级块normalsuperblock中的步骤1301而生成的映射数据存储在第三超级块bad+superblock1中。

在步骤1303中,控制器130将对应于访问存储器装置150中的存储块plane<0:3>*2*{n+1}而生成的日志数据存储在第四超级块bad+superblock2中。

第二使用方法d如下所述。

首先,在步骤1304中,控制器130将在执行前台处理的过程中需要被写入的数据存储在第二超级块normalsuperblock中。

在步骤1305中,控制器130将在执行后台处理的过程中需要被写入的数据存储在第三超级块bad+superbalock1中。

在步骤1306中,控制器130将对应于访问存储器装置150中的存储块plane<0:3>*2*{n+1}而产生的日志数据存储在第四超级块bad+superblock2中。

因此,通过应用上述的第一使用方法c或第二使用方法d,控制器130选择待被存储在第一超级块bad+superblock0中的数据以及待被存储在第二超级块normalsuperblock中的数据,其中第一超级块bad+superblock0被划分为第三超级块bad+superblock1和第四超级块bad+superblock2。

也就是说,控制器130根据数据的属性,将数据不同地存储在第一超级块bad+superblock0和第二超级块normalsuperblock中。

由此,控制器130可以将存储在不包括坏存储块的第二超级块normalsuperblock中的数据的属性与存储在每一个均包括至少一个坏存储块的第一超级块bad+superblock0中的数据的属性相区分。

此外,控制器130可以将待存储在第三超级块bad+superblock1中的数据的属性与待存储在第四超级块bad+superblock2中的数据的属性相区分,其中第三超级块bad+superblock1中的每一个包括相对小数量的坏存储块,以及第四超级块bad+superblock2中的每一个包括相对大数量的坏存储块。

控制器130可以通过以下的两种编程方法a和b来管理第一超级块bad+superblock0和第二超级块normalsuperblock中包括的存储器单元,其中第一超级块bad+superblock0被划分为第三超级块bad+superblock1和第四超级块bad+superblock2。

第一编程方法a如下所述。

首先,控制器130以用于多层单元(mlc)的编程方案对第二超级块normalsuperblock中包括的存储器单元进行编程。这种方案涉及将两位或多位数据编程在一个单元中。

控制器130以用于单层单元(slc)的编程方案对第一超级块bad+superblock0中的存储器单元进行编程,其中第一超级块bad+superblock0被划分为第三超级块bad+superblock1和第四超级块bad+superblock2。

第二编程方法b如下所述。

首先,控制器130以用于三层单元(tlc)的编程方案对第二超级块normalsuperblock中的存储器单元进行编程。

控制器130以用于多层单元(mlc)的编程方案对第三超级块bad+superblock1中的存储器单元进行编程。这涉及将两位数据编程在一个单元中。

控制器130以用于单层单元(slc)的编程方案对第四超级块bad+superblock2中的存储器单元进行编程。

因此,控制器130通过应用上述的第一编程方法a或第二编程方法b,来选择管理第一超级块bad+superblock0中的存储器单元的方案和管理第二超级块normalsuperblock中的存储器单元的方案。

由此,控制器130可以将用于第二超级块normalsuperblock中的存储器单元的编程方案与用于第一超级块bad+superblock0中的存储器单元的编程方案相区分,其中第二超级块normalsuperblock不包括坏存储块,以及第一超级块bad+superblock0中的每一个均包括至少一个坏存储块。

此外,控制器130可以将用于第三超级块bad+superblock1中的存储器单元的编程方案与用于第四超级块bad+superblock2中的存储器单元的编程方案相区分,其中第三超级块bad+superblock1中的每一个均包括相对小数量的坏存储块,以及第四超级块bad+superblock2中的每一个均包括相对大数量的坏存储块。

参照图9,示出了根据本公开实施例的存储器系统110的控制器130管理第一超级块bad+superblock0的方案,其中第一超级块bad+superblock0被划分为第三超级块bad+superblock1和第四超级块bad+superblock2。

详细地,一起参照图7和图9,控制器130通过状态位映射g/bbitmap来管理被分组至第一超级块bad+superblock0中的存储块的好/坏状态,其中第一超级块bad+superblock0被划分为第三超级块bad+superblock1和第四超级块bad+superblock2。

也就是说,在第三超级块bad+superblock1中的第零超级存储块superblock<0>的情况下,对应于第零管芯die<0>的第零平面plane<0>的一个存储块是坏存储块,并且剩余的存储块是好存储块。因此,对应于第零超级存储块superblock<0>的状态位映射g/bbitmap的值为“10000000”。

在第三超级块bad+superblock1中的第二超级存储块superblock<2>的情况下,对应于第一管芯die<1>的第零平面plane<0>的一个存储块是坏存储块,并且剩余的存储块是好存储块。因此,对应于第二超级存储块superblock<2>的状态位映射g/bbitmap的值为“00001000”。

在第三超级块bad+superblock1中的第三超级存储块superblock<3>的情况下,与第零管芯die<0>的第零平面plane<0>和第一管芯die<1>的第二平面plane<2>相对应的两个存储块是坏存储块,并且剩余的存储块是好存储块。因此对应于第三超级存储块superblock<3>的状态位映射g/bbitmap的值为“10000010”。

在第三超级块bad+superblock1中的第(n-2)超级存储块superblock<n-2>的情况下,对应于第零管芯die<0>的第零平面plane<0>的一个存储块是坏存储块,并且剩余的存储块是好存储块。因此,对应于第(n-2)超级存储块superblock<n-2>的状态位映射g/bbitmap的值为“10000000”。

在第四超级块bad+superblock2中的第一超级存储块superblock<1>的情况下,与第零管芯die<0>的第零平面plane<0>、第零管芯die<0>的第一平面plane<1>和第一管芯die<1>的第零平面plane<0>相对应的三个存储块为坏存储块,并且剩余的存储块为好存储块。因此,对应于第一超级存储块superblock<1>的状态位映射g/bbitmap的值为“11001000”。

在第四超级块bad+superblock2中的第四超级存储块superblock<4>的情况下,与第零管芯die<0>的第一平面plane<1>、第一管芯die<1>的第零平面plane<0>和第一管芯die<1>的第一平面plane<1>相对应的三个存储块为坏存储块,并且剩余的存储块为好存储块。因此,对应于第四超级存储块superblock<4>的状态位映射g/bbitmap的值为“01001100”。

如上所述,控制器130通过状态位映射g/bbitmap来管理被分组至第一超级块bad+superblock0中的存储块的好/坏状态,其中第一超级块bad+superblock0被划分为第三超级块bad+superblock1和第四超级块bad+superblock2。由此,在根据上面参照图8描述的使用方法c或d来使用第一超级块bad+superblock0时,控制器130可以快速且准确地发现好存储块。

例如,当控制器130在步骤1302中将对应于将正常数据存储在第二超级块normalsuperblock中而生成的映射数据存储在第三超级块bad+superblock1中时,映射数据应该仅被存储在第三超级块bad+superblock1的好存储块中。

因此,控制器130通过用于存储映射数据的第三超级块bad+superblock1的状态位映射g/bbitmap来快速且准确地检查好存储块定位在何处。

以这种方式,根据状态位映射g/bbitmap的检查结果,控制器130将映射数据仅存储在第三超级块bad+superblock1的好存储块中。

类似地,当控制器130将对应于访问存储器装置150中的存储块plane<0:3>*2*{n+1}而生成的日志数据存储在第四超级块bad+sperblock2(1303)中时,日志数据应该仅被存储在第四超级块bad+superblock2的好存储块中。

因此,控制器130通过用于存储日志数据的第四超级块bad+superblock2的状态位映射g/bbitmap来快速且准确地检查好存储块定位在何处。

以这种方式,根据状态位映射g/bbitmap的检查结果,控制器130将日志数据仅存储在第四超级块bad+superblock2的好存储块中。

图10至图18是示意性示出根据本发明的各种实施例的图1的数据处理系统的应用示例的示图。

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

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

更具体地,存储器控制器6120可以连接到通过非易失性存储器实施的存储器装置6130,并且被配置为访问存储器装置6130。例如,存储器控制器6120可以被配置为控制存储器装置6130的读取操作、写入操作、编程操作和擦除操作。存储器控制器6120可以被配置为提供存储器装置6130和主机之间的接口并且驱动固件以控制存储器装置6130。即,存储器控制器6120可以对应于参照图1和图7描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参照图1和图7描述的存储器系统110的存储器装置150。

因此,存储器控制器6120可以包括ram、处理器、主机接口、存储器接口和错误校正组件。存储器控制器130可以进一步包括图7所示的元件。

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

存储器装置6130可以由非易失性存储器来实施。例如,存储器装置6130可以通过诸如以下的各种非易失性存储器装置中的任一种来实施:可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、nand闪存、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)和自旋转移力矩磁性ram(stt-ram)。存储器装置6130可以包括如在图7的存储器装置150中的多个管芯。

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

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

参照图11,数据处理系统6200可以包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理系统6200可以用作如参照图1描述的诸如存储卡(cf、sd、微型sd等)或usb装置的存储介质。存储器控制器6230可以对应于图1和图7所示的存储器系统110的控制器150,并且存储器装置6220可以对应于图1和图7所示的存储器系统110的控制器130。

存储器控制器6220可以响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可以包括一个或多个cpu6221、诸如ram6222的缓冲存储器、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码、涡轮码、里德-所罗门码、卷积码、rsc或诸如tcm或bcm的编码调制来校正错误。

存储器控制器6220可以通过主机接口6224将数据传输到主机6210/从主机6210接收数据,并且通过nvm接口6225将数据传输到存储器装置6230/从存储器装置6230接收数据。主机接口6224可以通过pata总线、sata总线、scsi、usb、pcie或nand接口连接到主机6210。存储器控制器6220可以具有诸如wifi或长期演进(lte)的移动通信协议的无线通信功能。存储器控制器6220可以连接到例如主机6210或另一外部装置的外部装置,并且然后将数据传输到外部装置/从外部装置接收数据。特别地,当存储器控制器6220被配置为通过各种通信协议的一种或多种与外部装置通信时,存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。

图12是示意性地示出包括根据本发明另一实施例的存储器系统的数据处理系统的示图。图12示意性地示出可以应用存储器系统110的ssd。

参照图12,ssd6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。存储器控制器6320可以对应于图1和图7的存储器系统110的控制器130,并且存储器装置6340可以对应于图1和图7的存储器系统110的存储器装置150。

更具体地,控制器6320可以通过多个通道ch1至chi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、缓冲存储器6325、ecc电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。

缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器nvm提供的数据,或临时存储例如包括映射表的映射数据的多个闪速存储器nvm的元数据。缓冲存储器6325可以由诸如dram、sdram、ddrsdram、lpddrsdram和gram的易失性存储器或诸如fram、reram、stt-mram和pram的非易失性存储器来实施。通过示例,图11示出缓冲存储器6325设置于控制器6320中。然而,缓冲存储器6325可以在控制器6320的外部。

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

主机接口6324可以提供与例如主机6310的外部装置的接口功能,非易失性存储器接口6326可以提供与通过多个通道连接的存储器装置6340的接口功能。

此外,应用了图1和图7的存储器系统110的多个ssd6300可以被被提供以实施例如raid(独立磁盘的冗余阵列)系统的数据处理系统。raid系统可以包括多个ssd6300和用于控制多个ssd6300的raid控制器。当raid控制器响应于从主机6310提供的写入命令执行编程操作时,raid控制器可以根据多个raid级别,即,从主机6310提供的写入命令的raid级别信息,ssd6300中选择一个或多个存储器系统或ssd6300,并将对应于写入命令的数据输出到选择的ssd6300。此外,当raid控制器响应于从主机6310提供的读取命令执行读取命令时,raid控制器可以根据多个raid级别,即,从主机6310提供的读取命令的raid级别信息,在ssd6300中选择一个或多个存储器系统或ssd6300,并且将从选择的ssd6300读取的数据提供给主机6310。

图13是示意性地示出包括根据本发明实施例的存储器系统的数据处理系统的示图。图13示意性地示出了可以应用存储器系统的嵌入式多媒体卡(emmc)。

参照图13,emmc6400可以包括控制器6430和由一个或多个nand闪速存储器实施的存储器装置6440。存储器控制器6430可以对应于图1和图7的存储器系统110的控制器130,并且存储器装置6440可以对应于图1和图7的存储器系统110的存储器装置150。

更具体地,控制器6430可以通过多个通道连接到存储器装置6440。控制器6430可以包括一个或多个内核6432、主机接口6431和例如nand接口6433的存储器接口。

内核6432可以控制emmc6400的全部操作,主机接口6431可以在控制器6430和主机6410之间提供接口功能,并且nand接口6433可以在存储器装置6440和控制器6430之间提供接口功能。例如,主机接口6431可以用作例如参照图1描述的mmc接口的并行接口。此外,主机接口6431可用作串行接口,例如uhs((超高速)-i/uhs-ii)接口。

图14至图17是示意性地示出包括根据本发明实施例的存储器系统的其他数据处理系统的示图。图14至图17示意性地示出了可以应用存储器系统的ufs(通用闪速存储)系统。

参照图14至图17,ufs系统6500、6600、6700和6800可以分别包括主机6510、6610、6710和6810、ufs装置6520、6620、6720和6820以及ufs卡6530、6630、6730和6830。主机6510、6610、6710和6810可以用作有线/无线电子装置或特别是移动电子装置的应用处理器,ufs装置6520、6620、6720和6820可以用作嵌入式ufs装置,并且ufs卡6530、6630、6730和6830可以用作外部嵌入式ufs设备或可移除ufs卡。

在各个ufs系统6500、6600、6700和6800中的主机6510、6610、6710和6810、ufs装置6520、6620、6720和6820以及ufs卡6530、6630、6730和6830可以通过ufs协议与例如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且ufs装置6520、6620、6720和6820以及ufs卡6530、6630、6730和6830可以通过图1和图7所示的存储器系统110实施。例如,在ufs系统6500、6600、6700和6800中,ufs装置6520、6620、6720和6820可以以参照图11至图13描述的数据处理系统6200、ssd6300或emmc6400的形式来实施,并且ufs卡6530、6630、6730和6830可以以参照图10描述的存储卡系统6100的形式来实施。

此外,在ufs系统6500、6600、6700和6800中,主机6510、6610、6710和6810、ufs装置6520、6620、6720和6820以及ufs卡6530、6630、6730和6830可以通过例如mipi(移动工业处理器接口)中的mipim-phy和mipiunipro(统一协议)的ufs接口彼此通信。此外,ufs装置6520、6620、6720和6820以及ufs卡6530、6630、6730和6830可以通过除ufs协议之外的例如ufd、mmc、sd、迷你sd和微型sd的各种协议来彼此通信。

在图14所示的ufs系统6500中,主机6510、ufs装置6520和ufs卡6530中的每一个可以包括unipro。主机6510可以执行交换操作,以便与ufs装置6520和ufs卡6530通信。特别地,主机6510可以通过例如在unipro处的l3交换的链路层交换与ufs装置6520或ufs卡6530通信。ufs装置6520和ufs卡6530可以通过在主机6510的unipro处的链路层交换来与彼此通信。在图14中,作为示例示出了一个ufs装置6520和一个ufs卡6530连接到主机6510的配置。然而,多个ufs装置和ufs卡可以并联地或以星型形式连接到主机6410,并且多个ufs卡可以并联地或以星型形式连接到ufs装置6520,或者串联地或以链型形式连接到ufs装置6520。

在图15所示的ufs系统6600中,主机6610、ufs装置6620和ufs卡6630中的每一个可以包括unipro,并且主机6610可以通过执行交换操作的交换模块6640,例如,通过在unipro处执行例如l3交换的链路层交换的交换模块6640来与ufs装置6620或ufs卡6630通信。ufs装置6620和ufs卡6630可以通过在unipro处的交换模块6640的链路层交换来与彼此通信。在图15中,作为示例示出了一个ufs装置6620和一个ufs卡6630连接到交换模块6640的配置。然而,多个ufs装置和ufs卡可以并联地或以星型形式连接到交换模块6640,并且多个ufs卡可以串联地或以链型形式连接到ufs装置6620。

在图16所示的ufs系统6700中,主机6710、ufs装置6720和ufs卡6730中的每一个可以包括unipro,并且主机6710可以通过执行交换操作的交换模块6740,例如,通过在unipro处执行例如l3交换的链路层交换的交换模块6740来与ufs装置6720或ufs卡6730通信。ufs装置6720和ufs卡6730可以通过在unipro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可以在ufs装置6720内部或外部与ufs装置6720集成为一个模块。在图16中,作为示例示出一个ufs装置6720和一个ufs卡6730连接到交换模块6740的配置。然而,每个包括交换模块6740和ufs装置6720的多个模块可以并联地或以星型形式连接到主机6710,或者串联地或以链型形式连接到彼此。此外,多个ufs卡可以并联地或以星型形式连接到ufs装置6720。

在图17所示的ufs系统6800中,主机6810、ufs装置6820和ufs卡6830中的每一个可以包括m-phy和unipro。ufs装置6820可以执行交换操作,以便与主机6810和ufs卡6830通信。特别地,ufs装置6820可以通过用于与主机6810通信的m-phy和unipro模块之间的交换操作和用于与ufs卡6830通信的m-phy和unipro模块之间的交换操作,例如通过目标id(标识符)交换操作来与主机6810或ufs卡6830通信。主机6810和ufs卡6830可以通过ufs装置6820的m-phy和unipro模块之间的目标id交换来彼此通信。在图17中,作为示例示出了一个ufs装置6820连接到主机6810和一个ufs卡6830连接到ufs装置6820的配置。然而,多个ufs装置可以并联地或以星型形式连接到主机6810,或串联地或以链型形式连接到主机6810,并且多个ufs卡可以并联地或以星型形式连接到ufs装置6820,或者串联地或以链型形式连接到ufs装置6820。

图18是示意性地示出包括根据本发明实施例的存储器系统的数据处理系统的示图。图18示出了可以应用此存储器系统的用户系统。

参照图18,用户系统6900可以包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。

更具体地,应用处理器6930可以驱动包括在例如os的用户系统6900中的部件,并且包括控制包括在用户系统6900中的部件的控制器、接口、图形引擎。应用处理器6930可以被设置为片上系统(soc)。

存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可以包括诸如dram、sdram、ddrsdram、ddr2sdram、ddr3sdram、lpddrsdram、lpddr2sdram和lpddr3sdram的易失性ram或诸如pram、reram、mram和fram的非易失性ram。例如,应用处理器6930和存储器模块6920可以基于pop(堆叠封装)被封装并安装。

网络模块6940可以与外部装置通信。例如,网络模块6940不仅可以支持有线通信,还可以支持诸如以下的各种无线通信:码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma(wcdma)、cdma-2000、时分多址(tdma)、长期演进(lte)、全球微波接入互操作性(wimax)、无线局域网(wlan)、超宽带(uwb)、蓝牙、无线显示(wi-di),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可以应用于有线和/或无线电子装置。网络模块6940可以被包括在应用处理器6930中。

存储模块6950可以存储数据,例如从应用处理器6930接收的数据,并且将存储的数据传输到应用处理器6930。存储模块6950可以由诸如以下的非易失性半导体存储器装置实现:相变ram(pram)、磁性ram(mram)、电阻式ram(reram)、nand闪存、nor闪存和3维nand闪存,并且被设置为诸如用户系统6900的存储卡和外部驱动器的可移除存储介质。存储模块6950可以对应于以上参照图1和图7描述的存储器系统110。此外,存储模块6950可以被实施为以上参照图12至图17描述的ssd、emmc和ufs。

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

此外,当图1和图7的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的全部操作,并且网络模块6940可以用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或支持从触摸面板接收数据的功能。

在根据本发明的实施例中,通过将存储器装置中的多个存储块分组成超级存储块来高效地管理多个存储块。不同的超级块可以包含不同分组的存储块以及不同数量的坏存储块,并且因此被不同地管理。处于管理块的目的,一个这样的超级存储块具有被混合且分组的好存储块和至少一个坏存储块。在这一点上,基于与好存储块一起被分组的坏存储块的数量来管理特定的超级存储块。

因此,可以高效地使用存储器系统的存储空间,并且通过这种方式,可以显著增加存储器系统的可持续性。

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

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