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

文档序号:17987622发布日期:2019-06-22 00:31阅读:139来源:国知局
存储器系统及其操作方法与流程

本申请要求于2017年12月12日提交的申请号为10-2017-0170088的韩国专利申请的优先权,其公开全文通过引用并入本文。

示例性实施例涉及一种存储器系统,且更特别地,涉及一种关于存储器装置处理数据的存储器系统及其操作方法。



背景技术:

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

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



技术实现要素:

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

在实施例中,一种存储器系统可包括:存储器装置,包括存储数据的多个页面和包括页面的多个存储块;以及控制器,适于在存储块中执行与从主机接收的多个命令相对应的命令操作,检查与执行命令操作相对应的存储块的参数,并且基于参数,在跳过存储块之中的第一存储块之后,将第二存储块分配为第一目标存储块。

控制器可通过轮询调度方案来顺序地将存储块之中的第二存储块分配为第一目标存储块。

控制器可将第二存储块分配为用于执行命令操作的第一目标存储块,并且可将第一存储块分配为用于执行交换操作的第二目标存储块。

第一存储块的参数可超过第一阈值,第二存储块的参数可等于或小于第一阈值。

控制器可对应于参数来确定第一阈值,并且对应于第一存储块的数量和第一存储块的参数来确定阈值偏移量。

控制器可对应于阈值偏移量来动态地调整第一阈值,并且可根据被动态调整的第一阈值,来调整存储块之中的第一存储块的数量和第二存储块的数量。

控制器可对第一存储块的数量进行计数,并且可当第一存储块的数量超过第二阈值时计算阈值偏移量。

控制器可对应于第二存储块的数量和第二目标存储块的数量来确定第二阈值。

控制器可将参数的平均值、最大值和最小值的计算值以及度量(metric)计算值中的至少一个确定为第一阈值,并且可将第二存储块的数量与第二目标存储块的数量的平均值、最小值和度量计算值中的至少一个确定为第二阈值,控制器可计算第一存储块的平均值与第一阈值之间的偏移量、第一存储块的最大值及最小值的计算值与第一阈值之间的偏移量以及第一存储块的度量计算值与第一阈值之间的偏移量中的至少一个作为阈值偏移量。

控制器可对应于第一存储块的数量来调整交换操作的触发率。

在实施例中,一种存储器系统的操作方法可包括:从主机接收针对存储器装置的多个命令,该存储器装置包括存储数据的多个页面和包括页面的多个存储块;在存储块中执行对应于命令的命令操作;检查与执行命令操作相对应的存储块的参数;以及基于参数,在跳过存储块之中的第一存储块之后,将第二存储块分配为第一目标存储块。

该分配可通过轮询调度方案来顺序地将存储块之中的第二存储块分配为第一目标存储块。

该分配可包括:将第二存储块分配为用于执行命令操作的第一目标存储块;以及将第一存储块分配为用于执行交换操作的第二目标存储块。

第一存储块的参数可超过第一阈值,第二存储块的参数可等于或小于第一阈值。

该方法可进一步包括:对应于参数来确定第一阈值;对应于第二存储块的数量和第二目标存储块的数量来确定第二阈值;对应于第一存储块的数量和第一存储块的参数来计算阈值偏移;对应于阈值偏移来动态地调整第一阈值;以及对应于第一存储块的数量来调整交换操作的触发率。

可根据被动态调整的第一阈值,来调整存储块之中的第一存储块的数量和第二存储块的数量。

该计算可包括:对第一存储块的数量进行计数;以及当第一存储块的数量超过第二阈值时计算阈值偏移量。

该计算可计算第一存储块的平均值与第一阈值之间的偏移量、第一存储块的最大值和最小值的计算值与第一阈值之间的偏移量、以及第一存储块的度量计算值与第一阈值之间的偏移量中的至少一个作为阈值偏移量。

确定第一阈值可将参数的平均值、最大值和最小值的计算值以及度量计算值之中的至少一个确定为第一阈值,并且确定第二阈值可将第二存储块的数量和第二目标存储块的数量的平均值、最小值以及度量计算值之中的至少一个确定为第二阈值。

在实施例中,一种存储器系统可包括:存储器装置,包括多个存储块,多个存储块中的每一个包括多个页面;以及控制器,适于响应于从主机传送的命令将至少一个存储块分配用于第一操作,检查所分配的存储块的参数,以及基于参数将所分配的存储块重新分配用于第二操作,其中可响应于命令来执行第一操作,而第二操作是后台操作。

附图说明

根据参照附图的以下具体实施方式,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:

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

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

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

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

图5至图7是根据实施例的在存储器系统中执行多个命令操作的数据处理操作的示意图的示例;

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

图9至图17是示意性地示出根据本发明的实施例的图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维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、建立数据中心的存储装置、能够在无线环境下传输/接收信息的装置、建立家庭网络的各种电子装置中的一个、建立计算机网络的各种电子装置中的一个、建立远程信息处理的各种电子装置中的一个、射频识别(rfid)装置或建立计算系统的各种部件中的一个。

在示例中,存储器装置150可以是非易失性存储器装置,并且即使未被供应电力,也可以保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据。存储器装置150可通过读取操作将存储在其中的数据输出给主机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且控制器130使用的电力。

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

存储器144可用作存储器系统110和控制器130的工作存储器。存储器144可存储用于支持存储器系统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的可靠性。因此,坏块管理操作需要被更可靠地执行。

而且,在根据本公开的实施例的存储器系统中,控制器130在存储器装置150中执行与从主机102传送的多个命令相对应的多个命令操作。作为示例而非限制,控制器130可在存储器装置150中执行对应于多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作以及对应于多个擦除命令的多个擦除操作。当执行命令操作时,控制器130可更新诸如映射数据的元数据。在根据本公开的实施例的存储器系统中,控制器130在包括在存储器装置150中的多个存储块中执行与从主机102接收的多个命令相对应的命令操作,并且控制器130根据与执行命令操作相对应的存储器装置150的参数,在存储器装置150的存储块中执行命令操作和交换操作。因为在与执行命令操作相对应的多个存储块中可能发生特性劣化,所以存储器装置150的操作可靠性可能劣化。

在根据本公开的实施例的存储器系统中,当控制器130在包括在存储器装置150中的多个存储块中执行命令操作时,在存储块中可能发生特性劣化。当对发生这种特性劣化的存储块执行命令操作时,可能在执行命令操作的同时发生失败。因此,在根据本公开的实施例的存储器系统中,对应于在多个存储块中执行的命令操作,控制器130检查存储块的参数。当在多个存储块中执行擦除操作和编程操作时,控制器130检查擦除计数、编程计数、编程/擦除(p/e)周期或擦除/写入(e/w)周期。为了最小化由于存储块中的特性劣化而导致的在执行命令操作时发生失败,控制器130根据存储块参数来执行命令操作和交换操作。因为下面将参照图5至图8详细描述根据本发明实施例的根据存储器系统中的存储器装置150的存储块的参数来执行命令操作和交换操作,所以在此将省略对其的进一步描述。

用于对存储器装置150执行坏块管理的管理单元(未示出)可被包括在控制器130的处理器134中。管理单元检查包括在存储器装置150中的多个存储块152、154、156中的坏块。管理单元执行将检查到的坏块作为坏的进行处理的坏块管理。坏块管理表示当存储器装置150是例如nand闪速存储器的闪速存储器时,由于nand闪速存储器的特性,当对已经发生编程失败的存储块执行诸如数据编程的数据写入时可能发生编程失败,将该存储块被确定为坏的。坏块管理使得将编程失败的数据写入,即编程到新的存储块中。此外,在存储器装置150具有如上所述的三维堆叠结构的情况下,因为存储器装置150的利用效率和存储器系统110的可靠性可能突然劣化,所以当根据编程失败而将相应存储块确定为坏块时,必须可靠地执行坏块管理。在下文中,将参照图2至图4详细描述根据本公开的实施例的存储器系统中的存储器装置。

图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至图8详细描述与根据实施例的存储器系统中的存储器装置150相关的数据处理操作。在数据处理操作期间,从主机102输入多个命令,从而执行对应于命令的多个命令操作。

图5至图7是根据实施例的当在存储器系统中执行与多个命令相对应的多个命令操作时的数据处理操作的示意图的示例。在本公开的实施例中,将以以下情况为例进行详细描述:在图1所示的存储器系统110中,从主机102接收多个命令,并且执行对应于这些命令的命令操作。在本公开的实施例中,将对数据处理操作进行详细描述。例如,当从主机102输入多个写入命令时,可执行对应于写入命令的编程操作。当从主机102传送多个读取命令时,可执行对应于读取命令的读取操作。当从主机102接收到多个擦除命令时,可执行对应于擦除命令的擦除操作。另外,当从主机102一起输入多个写入命令和多个读取命令时,可执行与写入命令和读取命令相对应的编程操作和读取操作。

此外,在本公开的实施例中,将以以下情况为例进行描述:在与从主机102输入的多个写入命令相对应的写入数据被存储在包括在控制器130的存储器144中的缓冲器/高速缓冲器中之后,存储在缓冲器/高速缓冲器中的写入数据被编程到并存储在包括在存储器装置150中的多个存储块中。然后,在与将写入数据存储在多个存储块中相对应映射数据被更新之后,更新的映射数据被存储在包括在存储器装置150中的多个存储块中。在本公开的实施例中,将以以下情况作为示例进行描述:执行与从主机102接收的多个写入命令相对应的编程操作。此外,在本公开的实施例中,将以以下情况为例进行描述:针对存储在存储器装置150中的数据,从主机102输入多个读取命令,然后基于与读取命令相对应的数据的映射数据,从存储器装置150输出与读取命令相对应的数据。然后,在读取的数据被存储在包括在控制器130的存储器144中的缓冲器/高速缓冲器中之后,存储在缓冲器/高速缓冲器中的数据被输出到主机102。换言之,在本公开的实施例中,将以以下情况为例进行描述:执行与从主机102接收的多个读取命令相对应的读取操作。另外,在本公开的实施例中,将以以下为例进行描述:针对包括在存储器装置150中的存储块,从主机102接收多个擦除命令。当识别出对应于擦除命令的存储块时,擦除存储在所识别的存储块中的数据。当与擦除的数据相对应的映射数据被更新时,更新的映射数据被存储在包括在存储器装置150中的多个存储块中。即,在本公开的实施例中,将以以下情况为例进行描述:执行与从主机102接收的多个擦除命令相对应的擦除操作。

此外,在本实施例中,下面将以控制器130在存储器系统110中执行命令操作为例进行描述。应当注意的是,如上所述,包括在控制器130中的处理器134可通过例如ftl(闪存转换层)在存储器系统110中执行命令操作。而且,在本公开的实施例中,控制器130将与从主机102接收的写入命令相对应的用户数据和元数据编程并存储在包括在存储器装置150中的多个存储块之中的预定存储块中。控制器130从包括在存储器装置150中的多个存储块之中的预定存储块中读取与从主机102接收的读取命令相对应的用户数据和元数据,并且将读取的数据提供至主机102。控制器130从包括在存储器装置150中的多个存储块之中的预定存储块中擦除与从主机102接收的擦除命令相对应的用户数据和元数据。

元数据可包括对应于编程操作而存储在存储块中的数据的第一映射数据和第二映射数据,其中第一映射数据包括逻辑/物理(l2p:逻辑到物理)信息(在下文中,被称为“逻辑信息”),以及第二映射数据包括物理/逻辑(p2l:物理到逻辑)信息(在下文中,被称为“物理信息”)。而且,元数据可包括:关于与从主机102接收的命令相对应的命令数据的信息;关于与命令相对应的命令操作的信息;关于待被执行命令操作的存储器装置150的存储块的信息;以及关于与命令操作相对应的映射数据的信息。换言之,元数据可包括除与从主机102接收的命令相对应的用户数据之外的、响应于命令和用户数据而执行操作所需的所有剩余信息和数据。

在本公开的实施例中,在控制器130从主机102接收多个写入命令和用户数据的情况下,执行对应于写入命令的编程操作,使得对应于写入命令的用户数据被写入并存储在空存储块中。为了存储用户数据,可对存储器装置150的存储块之中的开放存储块或空闲存储块执行擦除操作。而且,第一映射数据和第二映射数据被写入并存储在存储器装置150的存储块之中的至少一个空存储块、至少一个开放存储块或至少一个空闲存储块中。此处,第一映射数据可包括记录了逻辑信息的l2p映射表或l2p映射列表,其中逻辑信息用于存储在存储块中的用户数据的逻辑地址与物理地址的映射。第二映射数据可包括记录了物理信息的p2l映射表或p2l映射列表,其中物理信息用于存储有用户数据的存储块的物理地址与逻辑地址的映射。

此处,当从主机102接收到写入命令时,控制器130将对应于写入命令的用户数据写入并存储在存储块中。控制器130将包括存储在存储块中的用户数据的第一映射数据和第二映射数据的元数据存储在存储块中。对应于存储在存储器装置150的存储块中的用户数据的数据段,控制器130生成并更新第一映射数据的l2p段和第二映射数据的p2l段作为元数据的元段之中的映射数据的映射段。然后,控制器130将映射段存储在存储器装置150的存储块中。存储在存储器装置150的存储块中的映射段被加载在包括在控制器130中的存储器144中并且然后进行更新。

进一步地,当从主机102接收到多个读取命令时,控制器130访问存储器装置150并从存储器装置150读取对应于读取命令的读取数据。控制器130将读取数据存储在包括在控制器130的存储器144中的缓冲器/高速缓冲器中,然后将存储在缓冲器/高速缓冲器中的数据输出到主机102。响应于多个读取命令来执行每个包括连续的子操作的读取操作。

另外,当从主机102接收到多个擦除命令时,控制器130检查与擦除命令相对应的存储器装置150的存储块,并且然后对存储块执行擦除操作。在下文中,将参照图5至图7详细描述根据本公开的实施例的在存储器系统中的数据处理操作。

首先,参照图5,控制器130执行与从主机102接收的多个命令相对应的命令操作。例如,控制器130执行与从主机102接收的多个写入命令相对应的编程操作。在编程操作中,控制器130将与写入命令一起输入的用户数据编程并存储在存储器装置150的存储块中。而且,对应于存储块被执行编程操作,控制器130生成并更新用户数据的元数据并且将元数据存储在存储器装置150的存储块中。

控制器130生成并更新第一映射数据和第二映射数据,第一映射数据和第二映射数据包括表示用户数据被存储在包括在存储器装置150的存储块中的页面中的信息。控制器130生成并更新l2p段作为第一映射数据的逻辑段以及生成并更新p2l段作为第二映射数据的物理段。控制器130将l2p段和p2l段存储在存储器装置150的存储块中包括的页面中。

作为示例而非限制,控制器130将与从主机102接收的写入命令相对应的用户数据高速缓冲和缓冲在包括在控制器130的存储器144中的第一缓冲器510中。在将用户数据的数据段512存储在作为数据缓冲器/高速缓冲器的第一缓冲器510中之后,控制器130将存储在第一缓冲器510中的数据段512复制到包括在存储器装置150的存储块中的至少一个页面中。当与从主机102接收的写入命令相对应的用户数据的数据段512被编程并存储在包括在存储器装置150的存储块中的页面中时,控制器130生成并更新第一映射数据和第二映射数据,并且将第一映射数据和第二映射数据存储在控制器130的存储器144中包括的第二缓冲器520中。控制器130将用户数据的第一映射数据的l2p段522和第二映射数据的p2l段524存储在作为映射缓冲器/高速缓冲器的第二缓冲器520中。控制器130的存储器144中的第二缓冲器520可包括第一映射数据的l2p段522和第二映射数据的p2l段524。另外地,第二缓冲器520包括第一映射数据的l2p段522的映射列表和第二映射数据的p2l段524的映射列表。控制器130将存储在第二缓冲器520中的第一映射数据的l2p段522和第二映射数据的p2l段524存储在存储器装置150的存储块中包括的至少一个页面中。

此外,控制器130执行与从主机102接收的多个命令相对应的命令操作。例如,控制器130执行与从主机102接收的多个读取命令相对应的读取操作。控制器130将作为与读取命令相对应的用户数据的映射段的第一映射数据的l2p段522和第二映射数据的p2l段524加载到第二缓冲器520中。控制器130检查l2p段522和p2l段524。控制器130读取存储在存储器装置150的存储块之中的存储块的页面中的、与l2p段522和p2l段524相对应的用户数据。控制器130将读取的用户数据的数据段512存储在第一缓冲器510中,然后将数据段512输出到主机102。

此外,控制器130执行与从主机102接收的多个命令相对应的命令操作。例如,控制器130执行与从主机102接收的多个擦除命令相对应的擦除操作。控制器130在存储器装置150的存储块之中检查与擦除命令相对应的存储块,并且对检查到的存储块执行擦除操作。

当执行诸如垃圾收集操作或损耗均衡操作的后台操作,即在包括在存储器装置150中的存储块之间复制数据或交换数据的操作时,控制器130将与用户数据相对应的数据段512存储在第一缓冲器510中。控制器130从第二缓冲器520加载与用户数据相对应的映射数据的映射段522和524。然后,控制器130执行垃圾收集操作或损耗均衡操作。

当如上所述在存储器装置150的存储块中执行命令操作时,控制器130检查存储器装置150的存储块的参数。控制器130根据存储块的参数,在存储器装置150的存储块中执行命令操作和交换操作。作为存储器装置150的存储块的参数,控制器130在存储器装置150的存储块中检查与擦除操作和编程操作相对应的擦除计数、编程计数、编程/擦除(p/e)周期或擦除/写入(e/w)周期。

根据存储器装置150的存储块的参数,控制器130跳过将存储块分配用于执行命令操作而是执行交换操作。作为示例而非限制,当确定存储器装置150的存储块中的空存储块、开放存储块或空闲存储块为用于编程操作的目标存储块时,控制器130基于存储块的参数,跳过准备目标存储块以用于编程操作并且将目标存储块分配用于交换操作。当在存储器装置150的存储块中执行编程操作时,控制器130可通过轮询调度方案,将存储块之中的、用于编程操作的目标存储块顺序地分配至每一个编程操作。控制器130可基于存储块的参数,跳过所分配的用于编程操作的目标存储块。控制器130可将所分配的用于编程操作的目标存储块之中的跳过的存储块分配用于交换操作。

参照图6,存储器装置150包括多个存储器管芯,例如存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3。存储器管芯中的每一个可包括多个平面,例如平面0、平面1、平面2和平面3。如上参照图2所述,包括在存储器装置150中的存储器管芯中的各个平面包括多个存储块,例如,n个块block0、block1、……、blockn-1,多个块中的每一个包括多个页面,例如,2m个页面。此外,存储器装置150包括与各个存储器管芯相对应的多个缓冲器,例如,与存储器管芯0相对应的缓冲器0、与存储器管芯1相对应的缓冲器1、与存储器管芯2相对应的缓冲器2及与存储器管芯3相对应的缓冲器3。

当执行与从主机102接收到的多个命令相对应的命令操作时,对应于命令操作的数据可被存储在包括在存储器装置150中的缓冲器中。作为示例而非限制,当执行编程操作时,对应于编程操作的数据被存储在缓冲器中。然后存储在缓冲器中的数据被存储在包括在存储器管芯的存储块中的页面中。当执行读取操作时,从包括在存储器管芯的存储块中的页面中读取对应于读取操作的数据。读取的数据被存储在缓冲器中。然后,存储在缓冲器中的数据通过控制器130被输出到主机102。

在本公开的实施例中,包括在存储器装置150中的缓冲器存在于各个相应存储器管芯的外部,然而缓冲器可存在于各个相应存储器管芯的内部。缓冲器可对应于各个存储器管芯中的各个平面或各个存储块。进一步地,在本公开的实施例中,包括在存储器装置150中的缓冲器是如以上参照图3描述的包括在存储器装置150中的多个页面缓冲器322、324、326,然而,也可以是包括在存储器装置150中的多个高速缓冲器或多个寄存器。

而且,包括在存储器装置150中的多个存储块可被分组为多个超级存储块,并且可在多个超级存储块中执行命令操作。超级存储块中的每一个可包括多个存储块,例如包括在第一存储块组和第二存储块组中的存储块。当第一存储块组被包括在某个第一存储器管芯的第一平面中时,第二存储块组可被包括在第一存储器管芯的第一平面、第一存储器管芯的第二平面或第二存储器管芯的平面中。在下文中,将参照图7通过示例对以下内容进行详细描述:在包括在存储器装置150中的多个存储块中执行与从主机102接收的多个命令相对应的命令操作,检查与执行命令操作相对应的各个存储块的参数,以及根据这些参数,在存储器装置150的存储块中执行命令操作和交换操作。

在对本公开的实施例进行描述时,为便于说明,将通过以下示例进行解释:当在存储器装置150的存储块中执行擦除操作时检查了存储块的擦除计数之后,根据擦除计数在存储器装置150的存储块中执行命令操作和交换操作。此外,即使当不仅根据如上所述的与执行擦除操作和编程操作相对应的参数,例如编程计数、编程/擦除周期或擦除/写入周期,还根据与执行读取操作相对应的参数,例如读取计数或读取回收计数,来在存储器装置150的存储块中执行命令操作和交换操作时,也可以应用本公开。另外,当根据擦除计数在存储器装置150的存储块中执行了命令操作,特别是编程操作和交换操作时,即使当执行了包括命令操作的前台操作和作为后台操作的复制操作时,也可以应用本公开。

参照图7,当从主机102接收多个命令,例如多个写入命令、多个读取命令和多个擦除命令时,控制器130在包括在存储器装置150中的多个存储块中执行与从主机102接收到的多个命令相对应的命令操作,例如编程操作、读取操作和擦除操作。对应于在存储器装置150的存储块中执行的命令操作,控制器130检查存储器装置150的存储块的参数,并根据参数对存储器装置150的存储块执行命令操作和交换操作,例如损耗均衡操作。

当在存储器装置150的存储块中分配用于命令操作,特别是编程操作的目标存储块时,控制器130通过轮询调度方案在存储块之中顺序地分配目标存储块,并且根据存储块的参数,跳过将可选存储块分配为用于编程操作的目标存储块。控制器130将跳过被分配为用于执行编程操作的目标存储块的可选存储块分配为用于交换操作的目标存储块。

详细地,当从主机102接收擦除命令时,控制器130在包括在存储器装置150中的例如以下的多个存储块中执行与从主机102接收的擦除命令相对应的擦除操作:存储块10、存储块11、存储块12、存储块13、存储块14、存储块15、存储块16、存储块17、存储块18、存储块19、存储块20及存储块21。对应于在存储块中执行擦除操作,控制器130检查各个存储块的参数。控制器130检查各个存储块的擦除计数704以作为与在存储块中执行擦除操作相对应的参数。控制器130通过存储块的索引702分别将对存储块检查的擦除计数704记录在参数表700中。参数表700可以是存储器装置150的元数据。因此,参数表700被存储在控制器130的存储器144中,例如被存储在包括在控制器130的存储器144中的第二缓冲器520中。参数表700也可被存储在存储器装置150中。

当从主机102接收写入命令时,控制器130在存储器装置150的存储块中执行与从主机102接收的写入命令相对应的编程操作。特别地,控制器130在包括在存储器装置150中的例如以下的多个存储块中,以轮询调度方案顺序地分配用于执行编程操作的目标存储块:存储块10、存储块11、存储块12、存储块13、存储块14、存储块15、存储块16、存储块17、存储块18、存储块19、存储块20及存储块21。控制器130检查作为存储块的参数的、记录在参数表700中各个存储块的擦除计数704。根据各个存储块的擦除计数704,控制器130分配用于执行编程操作的目标存储块。

控制器130跳过将存储块之中的、擦除计数704超过第一阈值的第一存储块分配为用于编程操作的目标存储块。当通过轮询调度方案,在存储器装置150的存储块之中分配用于编程操作的目标存储块时,控制器130跳过第一存储块。控制器130顺序地将存储块之中的、擦除计数704等于或小于第一阈值的第二存储块分配为目标存储块。在分配第二存储块之中的目标存储块之后,控制器130执行编程操作。控制器130将第一存储块分配为用于交换操作的目标存储块并且对第一存储块执行例如损耗均衡操作的交换操作,其中在参数表700中,第一存储块的擦除计数704超过第一阈值。擦除计数704超过第一阈值的第一存储块变成将被分配为用于交换操作的目标存储块的候选存储块,并且擦除计数704等于或小于第一阈值的第二存储块变成将被分配为用于编程操作的目标存储块的候选存储块。

控制器130对应于各个存储块的、记录在参数表700中的擦除计数704来确定第一阈值。例如,控制器130确定各个存储块的、记录在参数表700中的擦除计数704的平均计数作为第一阈值,确定最小计数和最大计数的计算值(例如,中间值)作为第一阈值,或者确定通过预定度量的计算值作为第一阈值。

在跳过将存储块之中的、擦除计数704超过第一阈值的第一存储块分配为用于执行编程操作的目标存储块之后,控制器130对被跳过分配为目标存储块的第一存储块的数量进行计数。控制器130将跳过的第一存储块记录在参数表700中。控制器130可将第一存储块的数量记录在参数表700中。对应于第一存储块的计数数量,控制器130调整待对第一存储块执行的交换操作的触发率。例如,随着第一存储块的计数数量增加,控制器130增加交换操作的触发率,使得频繁地执行对第一存储块的交换操作。

当第一存储块的计数数量超过第二阈值时,控制器130调整第一阈值。当通过轮询调度方案,在存储器装置150的存储块之中分配用于编程操作的目标存储块时,在跳过的第一存储块的数量超过第二阈值的情况下,将被分配为用于执行编程操作的目标存储块的第二存储块的数量可能不足,因此,控制器130调整第一阈值。也就是说,当跳过的第一存储块的数量超过第二阈值时,控制器130计算阈值偏移量并将第一阈值减小阈值偏移量。因此,对应于减小的第一阈值,可减少将跳过的第一存储块的数量。可增加待通过轮询调度方案而被分配为目标存储块的第二存储块的数量。

控制器130对应于用于执行编程操作而必需分配的目标存储块的数量和待被分配为目标存储块的第二存储块的数量来确定第二阈值。控制器130对应于用于编程操作而分配的目标存储块的数量和候选存储块的数量来确定第二阈值。例如,控制器130可将目标存储块的数量和第二存储块的数量的平均数量确定为第二阈值。在另一示例中,控制器130可将目标存储块的数量与第二存储块的数量之间的计算值(例如,最小数量)确定为第二阈值。在另一示例中,控制器130可将通过预定度量的计算值确定为第二阈值。

此外,控制器130计算与因擦除计数704超过第一阈值而被跳过的第一存储块相对应的阈值偏移量。换言之,在检查参数表700中的第一存储块的擦除计数704之后,控制器130计算与第一存储块的擦除计数704相对应的阈值偏移量。例如,控制器130计算第一存储块的擦除计数的平均计数与第一阈值之间的偏移量作为阈值偏移量。在另一示例中,控制器130计算最小计数和最大计数的计算值(例如,中间值)与第一阈值之间的偏移量作为阈值偏移量。在另一示例中,控制器130计算通过预定度量的计算值与第一阈值之间的偏移量作为阈值偏移量。

在通过阈值偏移量动态地调整第一阈值之后,控制器130跳过将存储器装置150的存储块之中的、擦除计数704超过动态调整后的第一阈值的第一存储块分配为用于编程操作的目标存储块。控制器130通过轮询调度方案,将擦除计数704等于或小于动态调整后的第一阈值的第二存储块顺序地分配为用于执行编程操作的目标存储块。在分配第二存储块之中的目标存储块之后,控制器130执行编程操作。控制器130将擦除计数704超过动态调整后的第一阈值的第一存储块分配为用于交换操作的目标存储块。控制器130对第一存储块执行交换操作,例如损耗均衡操作。

从以上描述中显而易见的是,在根据本公开的实施例的存储器系统中,当在存储器装置150的存储块中执行命令操作,例如编程操作时,在控制器130检查各个存储块的参数之后,对应于参数来分配用于执行命令操作的目标存储块。具体地,在根据本公开的实施例的存储器系统中,当控制器130以轮询调度方案分配目标存储块时,基于参数跳过将可选存储块分配为目标存储块。当对目标存储块执行命令操作时,对跳过的可选存储块执行交换操作。在不仅对应于参数而且对应于跳过的可选存储块而动态地分配目标存储块之后,控制器130执行命令操作。在下文中,将参照图8详细描述根据本公开的实施例的在存储器系统中处理数据的操作。

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

参照图8,在步骤810中,存储器系统110在存储器装置150的存储块中执行与从主机102接收的多个命令相对应的命令操作。

在步骤820中,当执行命令操作时,检查存储器装置150的各个存储块的参数。特别地,在各个存储块中检查与在存储块中执行擦除操作相对应的擦除计数。

在步骤830中,对应于各个存储块的参数,在存储块之中分配用于诸如编程操作的命令操作的目标存储块。具体地,对应于各个存储块的擦除计数,通过轮询调度方案来在存储块之中顺序地分配用于命令操作的目标存储块。当分配目标存储块时,对应于擦除计数,跳过将可选存储块分配为目标存储块。跳过的可选存储块被分配为用于交换操作的目标存储块。

在步骤840中,对存储器装置150的各个存储块执行前台操作和后台操作。特别地,在被分配为用于执行命令操作的目标存储块中执行作为前台操作的命令操作。在被分配为用于执行交换操作的目标存储块中执行作为后台操作的交换操作。

因为以上参照图5至图7对以下内容进行了详细描述,所以在此将省略对其的进一步描述:检查存储器装置150的各个存储块的参数,特别是擦除计数,对应于擦除计数,分配用于命令操作的目标存储块,分配用于交换操作的目标存储块,以及在目标存储块中执行命令操作和交换操作。在下文中,将参照图9至图17对应用了根据本公开的实施例的包括上面参照图1至图8描述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备进行详细描述。

图9至图17是示意性示出图1的数据处理系统的应用示例的示图。

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

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

更具体地,存储器控制器6120可连接到由非易失性存储器实现的存储器装置6130。存储器控制器6120可被配置成访问存储器装置6130。作为示例而非限制,控制器6120可被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置为提供存储器装置6130和主机之间的接口并且使用用于控制存储器装置6130的固件。也就是说,存储器控制器6120可以对应于参照图1至图7描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参照图1至图7描述的存储器系统110的存储器装置150。

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

存储器控制器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-mram)。存储器装置6130可包括图5的存储器装置150中的多个存储器管芯。

存储器控制器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和用于控制存储器装置6230的存储器控制器6220。图10所示的数据处理系统6200可以用作诸如存储卡(cf、sd、微型sd等)或usb装置的存储介质,如参照图1描述的。存储器装置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可用作工作存储器、缓冲存储器或高速缓冲存储器。当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接收数据。存储器控制器6220可通过nvm接口6225将数据传输到存储器装置6230/从存储器装置6230接收数据。主机接口6224可以通过pata总线、sata总线、scsi、usb、pcie或nand接口连接到主机6210。存储器控制器6220可以具有诸如wifi或长期演进(lte)的移动通信协议的无线通信功能。存储器控制器6220可以连接到外部装置,例如主机6210或另一外部装置,并且然后将数据传输到外部装置/从外部装置接收数据。当存储器控制器6220被配置为通过一种或多种各种通信协议与外部装置通信,所以根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置或特别是移动电子装置。

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

参照图11,ssd6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1至图7的存储器系统110的控制器130。存储器装置6340可对应于图1至图7的存储器系统中的存储器装置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的非易失性存储器来实施。图10示出了缓冲存储器6325存在于控制器6320中,然而,缓冲存储器6325可存在于控制器6320的外部。

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

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

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

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

参照图12,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)接口。

图13至图16是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的图。图13至图16示意性地示出了应用了根据本实施例的存储器系统的ufs(通用闪速存储)系统。

参照图13至图16,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可以参照图10至图12描述的数据处理系统6200、ssd6300或emmc6400的形式来实现,并且ufs卡6530、6630、6730、6830可以参照图9描述的存储卡系统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的各种协议彼此通信。

在图13所示的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处的链路层交换来彼此通信。在本实施例中,为了便于描述,已经例示其中一个ufs装置6520和一个ufs卡6530连接到主机6510的配置。然而,多个ufs装置和ufs卡可并行地或以星型形式连接到主机6510。多个ufs卡可并行地或以星型形式连接到ufs装置6520或串联地或以链型形式连接到ufs装置6520。

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

在图15所示的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集成为一个模块。在本实施例中,为了便于描述,已经例示一个ufs装置6720和一个ufs卡6730连接到交换模块6740的配置。然而,包括交换模块6740和ufs装置6720的多个模块可以并行地或以星型形式连接到主机6710或者串联地或以链型形式连接到彼此。此外,多个ufs卡可以并行地或以星型形式连接到ufs装置6720。

在图16所示的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交换来与彼此通信。在本实施例中,为了便于描述,已经例示其中一个ufs装置6820连接到主机6810和一个ufs卡6830连接到ufs装置6820的配置。然而,多个ufs装置可并行地或以星型形式连接到主机6810。星型形式是其中集中部具有单个部件且多个装置连接到集中部的布置。否则,多个ufs装置可串联地或以链型形式连接到主机6810。多个ufs卡可并行地或以星型形式连接到ufs装置6820或串联地或以链型形式连接到ufs装置6820。

图17是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图17示意性地示出了应用了根据本实施例的存储器系统的用户系统。

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

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

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

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

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

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