相关申请的交叉引用
本申请要求于2018年11月29日提交的申请号为10-2018-0150799的韩国专利申请的优先权,其通过引用整体并入本文。
示例性实施例涉及一种存储器系统及其操作方法,且更特别地,涉及一种能够延长整个系统寿命的存储器系统的操作方法。
背景技术:
计算机环境范例已变成能够随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可被用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统不具有移动部件,所以其通常提供诸如以下的优点:优异的稳定性和耐用性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡和固态驱动器(ssd)。
技术实现要素:
各个实施例涉及一种存储器系统及其操作方法。
在实施例中,一种存储器系统可包括:存储器装置,包括多个存储块,存储块包括支持两层或更多层单元(xlc)模式和单层单元(slc)模式的存储器单元;以及控制器,适于管理存储器装置的数据并且控制存储器装置,其中当存储器装置的存储器使用大于或等于第一阈值时,控制器选择一个或多个空闲存储块作为一个或多个牺牲存储块,将每个牺牲存储块的模式切换成xlc模式,并且将源存储块中存储的数据移动到一个或多个牺牲存储块中,其中源存储块是多个存储块之中以slc模式驱动且其中存储数据的存储块。
在实施例中,一种存储器系统的操作方法,该存储器系统包括:存储器装置,包括多个存储块,存储块包括支持两层或更多层单元(xlc)模式和单层单元(slc)模式的存储器单元;以及控制器,适于控制存储器装置,该操作方法可包括:监视存储器装置的存储器使用和多个存储块的访问信息;当存储器使用大于或等于第一阈值时,选择一个或多个空闲存储块作为一个或多个牺牲存储块;将一个或多个牺牲存储块中的每一个的模式从slc模式切换为xlc模式;并且将源存储块中存储的数据移动到一个或多个牺牲存储块。
一种存储器系统包括:存储器装置,包括多个存储块,存储块包括支持两层或更多层单元(xlc)模式和单层单元(slc)模式的存储器单元;以及控制器,适于控制存储块以slc模式进行操作;以及当存储块的有效数据大于阈值时,控制存储块的至少一个空闲块以xlc模式进行操作。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出在存储器系统,例如图1的存储器系统中采用的存储器装置的示意图。
图3是示出存储器装置中的存储块的存储器单元阵列的电路图。
图4是示出存储器系统中的存储器装置的示例性三维结构的框图。
图5a至图5c是示出根据实施例的存储器系统,例如图1的存储器系统的操作的示图。
图6是示出根据实施例的存储器系统,例如图1的存储器系统的操作的流程图。
图7a至图7c是示出根据实施例的存储器系统,例如图1的存储器系统的操作的示图。
图8是示出根据实施例的存储器系统,例如图1的存储器系统的操作的流程图。
图9至图17是示出根据本发明的各个实施例的数据处理系统的应用示例的示意图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,本领域技术人员根据本公开内容将显而易见的是,本发明的各个元件和特征可以不同于所述实施例中所示的元件和特征来配置或布置。因此,本发明不限于本文阐述的实施例。相反,提供所描述的实施例使得本公开是完整和全面的并且将本发明充分地传达给本发明所属领域的技术人员。此外,对“实施例”的参考不一定仅表示一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。在整个公开中,相同的附图标记在本发明的各个附图和实施例中始终表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来识别各个元件,但是这些元件不受这些术语的限制。这些术语用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出所公开实施例的各个特征,比例可能已经被夸大。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在另一元件上、连接到或联接到另一元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式并且反之亦然,除非上下文另有清楚地说明。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其指定所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员鉴于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被解释为具有与它们在本公开和相关领域背景下的含义一致的含义,并且不以理想化或过于形式化的意义来解释,除非本文明确地如此限定。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。可在没有这些具体细节中的一些或全部的情况下实施本发明。在其它情况下,未详细地描述公知的进程结构和/或进程以免不必要地模糊本发明。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
参照附图详细地描述本发明的各个实施例。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括可操作地联接到存储器系统110的主机102。
主机102可包括诸如移动电话、mp3播放器和膝上型计算机的各种便携式电子装置中的任意一种或诸如台式计算机、游戏机、电视(tv)和投影仪的各种非便携式电子装置中的任意一种。
主机102可包括至少一个操作系统(os),其可管理和控制主机102的全部功能和操作,并且提供主机102和使用数据处理系统100或存储器系统110的用户之间的操作。os可支持与用户的使用目的和用途相对应的功能和操作。例如,根据主机102的移动性,os可被划分为通用os和移动os。通用os可根据用户的环境被分为个人os和企业os。
存储器系统110可响应于主机102的请求进行操作,以存储用于主机102的数据。存储器系统110的非限制性示例包括固态驱动器(ssd)、多媒体卡(mmc)、安全数字(sd)卡、通用串行总线(usb)装置、通用闪存(ufs)装置、紧凑式闪存(cf)卡、智能媒体卡(smc)、个人计算机存储卡国际协会(pcmcia)卡和记忆棒。mmc可包括嵌入式mmc(emmc)、尺寸减小的mmc(rs-mmc)和微型mmc等。sd卡可包括迷你-sd卡和微型-sd卡。
存储器系统110可通过各种类型的存储装置来实施。这种存储装置的示例可包括但不限于诸如动态随机存取存储器(dram)和静态ram(sram)的易失性存储器装置和诸如只读存储器(rom)、掩模rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电ram(fram)、相变ram(pram)、磁阻ram(mram)、电阻式ram(rram或reram)和闪速存储器的非易失性存储器装置。闪速存储器可具有三维(3d)堆叠结构。
存储器系统110可包括控制器130和存储器装置150。
控制器130和存储器装置150可被集成到单个半导体装置中。例如,控制器130和存储器装置150可集成为一个半导体装置来构成固态驱动器(ssd)。当存储器系统110用作ssd时,可提高连接到存储器系统110的主机102的操作速度。可选地,控制器130和存储器装置150可被集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(pcmcia)卡,紧凑式闪存(cf)卡,智能媒体(sm)卡,记忆棒,包括尺寸减小的mmc(rs-mmc)和微型-mmc的多媒体卡(mmc),包括迷你-sd卡、微型-sd卡和sdhc卡的安全数字(sd)卡,或通用闪存(ufs)装置。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供至主机102。存储器装置150可包括多个存储块152,每个存储块可包括多个页面,并且每个页面可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3d)堆叠结构。
由于下文参照图2至图4详细描述包括3d堆叠结构的存储器装置150的结构,所以在此省略对这些元件和特征的进一步描述。
控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供到主机102,并将从主机102提供的数据存储至存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、编程操作和擦除操作。
控制器130可包括主机接口(i/f)132、处理器134、存储器接口(i/f)142、存储器144和监视器146,其全部经由内部总线可操作地联接。
主机接口132可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci-e或pcie)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)以及电子集成驱动器(ide)。主机接口132可通过被称为主机接口层(hil)的固件来驱动,以便与主机交换数据。
存储器接口142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体是nand闪速存储器时,存储器接口142可在处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供到存储器装置150的数据。存储器接口142可用作用于处理控制器130与存储器装置150之间的命令和数据的接口(例如,nand闪存接口)。具体地,存储器接口142可支持控制器130与存储器装置150之间的数据传送。存储器接口142可通过被称为闪存接口层(fil)的固件来驱动,以便与存储器装置150交换数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。
存储器144可通过易失性存储器来实施。例如,存储器144可通过静态随机存取存储器(sram)或动态随机存取存储器(dram)来实施。存储器144可设置在控制器130的内部或外部。图1例示了设置在控制器130的内部的存储器144。在实施例中,存储器144可通过具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器来实施。
如上所述,存储器144可存储在主机与存储器装置150之间执行数据写入/读取操作所需的数据以及在执行数据写入/读取操作时的数据。为存储这种数据,存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
存储器144可存储位图,该位图指示存储器装置150中包括的多个存储块的存储器单元模式的状态。在各个实施例中,存储器装置150可包括多个存储块,存储块包括支持多层单元(mlc)模式和单层单元(slc)模式的存储器单元。当第一存储块以slc模式驱动时,与该第一存储块相对应的位图值可以是“0”。之后,当第一存储块以mlc模式(例如,三层单元模式)驱动时,与该第一存储块相对应的位图值可被更新为“1”。
监视器146可周期性地监视存储器装置150的使用。特别地,监视器146可监视存储器装置150中存储的有效数据的存储器使用。当存储器装置150中存储的有效数据的存储器使用大于或等于第一阈值时,监视器146可向处理器134提供存储器使用信息。例如,在第一阈值为“8gb”的情况下,当“8gb”的有效数据存储在具有“16gb”的总容量的存储器装置150中时,监视器146可向处理器134提供存储器装置150的当前存储器使用信息。
监视器146可监视存储器装置150中的多个存储块的访问信息。访问信息可指示存储器系统110每单位时间访问相应数据的次数或者存储器系统110访问相应数据所需的时间量。例如,当存储器系统110每秒读取目标块中存储的数据60次时,与目标块相对应的访问信息可以是“60”。然而,这仅是示例,并且本发明不限于此。
在处理器134的控制下,监视器146可确定存储器装置150中的多个存储块之中的冷块。例如,监视器146可确定访问信息的值小于阈值的块为冷块。该阈值可以是预定的。对于另一示例,监视器146可确定存储值大于或等于阈值的顺序数据的存储块为冷块。
在处理器134的控制下,监视器146可周期性地更新存储器装置150的各个存储块的访问信息。然后,监视器146可向处理器134提供访问信息。
处理器134可控制存储器系统110的全部操作。特别地,处理器134可响应于来自主机102的写入请求或读取请求来控制对存储器装置150的编程操作或读取操作。处理器134可驱动被称为闪存转换层(ftl)的固件,以便控制存储器系统110的全部操作。处理器134可被实施为微处理器或中央处理单元(cpu)。
控制器130可通过处理器134在存储器装置150中执行由主机102请求的操作。换言之,控制器130可利用存储器装置150来执行与从主机102接收的命令相对应的命令操作。此外,控制器130可对存储器装置150执行后台操作。对存储器装置150的后台操作可包括垃圾收集(gc)操作、损耗均衡(wl)操作、映射清除(flush)操作、坏块管理操作等。
当存储器装置150中存储的有效数据的存储器使用小于第一阈值时,处理器134可以slc模式来将数据编程到存储器装置150中。具体地,处理器134可向存储器装置150提供具有待编程数据的编程命令。特别地,编程命令可包括slc模式信号。处理器134可使用slc模式信号来控制存储器装置150以slc模式驱动目标存储块。
当存储器装置150中存储的有效数据的存储器使用大于或等于第一阈值时,处理器134可将以slc模式驱动的存储块中存储的数据移动到以两层或更多层单元(xlc)模式驱动的存储块中,该xlc模式代表mlc模式、tlc模式、qlc模式和更多层模式中的任意一种,其中tlc表示三层单元,并且qlc表示四层单元。以slc模式驱动的存储块可被称为slc存储块,并且以xlc模式驱动的存储块可被称为xlc存储块。具体地,处理器134可控制存储器装置150以xlc模式驱动空闲存储块的一个或多个存储块。处理器134可将slc存储块中存储的数据移动到xlc存储块。特别地,处理器134可控制存储器装置150主要将slc存储块的冷块中存储的数据移动到xlc存储块。冷块中存储的数据可被称为冷数据。
当存储器装置150中存储的有效数据的存储器使用小于第二阈值并且数据存储在xlc存储块中时,处理器134可控制存储器装置150将xlc存储块中存储的一些数据移动到slc存储块。
控制器130可进一步包括错误校正码(ecc)组件和电源管理单元(pmu)。
ecc组件可检测并校正从存储器装置150读取的数据中包括的错误。换言之,ecc组件可通过在ecc编码进程期间使用的ecc值对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ecc组件可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ecc组件可不校正错误位,并且可输出错误校正失败信号。
ecc组件可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhri-hocquenghem,bch)码、turbo码、里德-所罗门(reed-solomon)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)以及分组编码调制(bcm)。然而,ecc组件不限于任何特定的结构。ecc组件可包括用于错误校正的任意或所有电路、模块、系统或装置。
pmu可提供和管理控制器130的电力。
存储器装置150可从控制器130接收编程命令。如上所述,编程命令可包括slc模式信号、mlc模式信号和tlc模式信号。
当从控制器130接收到slc模式信号时,存储器装置150可基于所接收的slc模式信号,以slc模式来驱动存储器单元阵列330的多个存储块中的一个或多个空闲块。为了存储所接收的数据,在图3中,存储器装置150内的电压供应装置310可生成第一编程电压,并且读取/写入电路320可使用所生成的第一编程电压来将数据编程到以slc模式驱动的存储块中。
参照图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
图2是示出图1的存储器装置150的示意图。图3是示出存储器装置150中的存储块的存储器单元阵列的电路图。图4是示出存储器装置150的示例性三维(3d)结构的示意图。
参照图2,存储器装置150可包括多个存储块,例如,block0(210)、block1(220)、block2(230)至blockn-1(240)。存储块210、220、230和240中的每一个可包括多个页面,例如2m个页面,页面的数量可根据电路设计而变化。例如,在一些应用中,存储块中的每一个可包括m个页面。页面中的每一个可包括联接到字线wl的多个存储器单元。
存储器装置150可包括mlc存储块、三层单元(tlc)存储块、四层单元(qlc)存储块和/或多层单元(mlc)存储块。mlc存储块中的每一个包括由能够在一个存储器单元中存储两位数据的存储器单元实现的多个页面。tlc存储块中的每一个包括由能够在一个存储器单元中存储三位数据的存储器单元实现的多个页面。qlc存储块中的每一个包括由能够在一个存储器单元中存储四位数据的存储器单元实现的多个页面。也可采用更多层单元存储块,其每个包括由能够在一个存储器单元中存储五位或更多位数据的存储器单元实现的多个页面。
根据本发明的实施例,存储器装置150被描述为非易失性存储器,诸如闪速存储器,例如nand闪速存储器。然而,存储器装置150可被实现为相变随机存取存储器(pcram)、电阻式随机存取存储器(rram或reram)、铁电随机存取存储器(fram)、自旋转移力矩磁性随机存取存储器(stt-ram或stt-mram)中的任意一种。
存储块210至240可通过编程操作而存储从主机102接收的数据,并且通过读取操作来将存储在其中的数据传送到主机102。
参照图3,存储器系统110的存储器装置150可包括存储块330。存储块330可对应于存储器装置150中的多个存储块152中的任意一个。存储块330可包括联接到多个相应位线bl0至blm-1的多个单元串340。每列单元串340可包括一个或多个漏极选择晶体管dst和一个或多个源极选择晶体管sst。多个存储器单元或存储器单元晶体管mc0至mcn-1可串联地联接在漏极和源极选择晶体管dst和sst之间。在实施例中,存储器单元mc0至mcn-1中的每一个可通过能够存储多位数据信息的mlc来实施。单元串340中的每一个可被电联接到多个位线bl0至blm-1之中的相应位线。例如,如图3所示,第一单元串被联接到第一位线bl0,并且最后的单元串被联接到最后的位线blm-1。作为参照,在图3中,“dsl”表示漏极选择线,“ssl”表示源极选择线,“csl”表示公共源极线。
虽然图3示出了nand闪速存储器单元,但是本发明不限于此。注意的是,存储器单元可以是nor闪速存储器单元,或包括其中组合两种或更多种类型的存储器单元的混合闪速存储器单元。而且,注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者包括作为电荷存储层的绝缘层的电荷撷取闪速(ctf)存储器装置。
存储器装置150可进一步包括提供字线电压的电压供应装置310,字线电压包括根据操作模式供应到字线的编程电压、读取电压和通过电压。电压供应装置310的电压生成操作可通过控制电路(未示出)来控制。在控制电路的控制下,电压供应装置310可选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择存储块的字线中的一个,并且根据需要将字线电压提供到所选择字线和未选择字线。
存储器装置150可包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作写入驱动器,其根据待被存储在存储器单元阵列中的数据驱动位线。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据所接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
存储器装置150可由二维(2d)或三维(3d)存储器装置来实施。特别地,如图4所示,存储器装置150可通过具有3d堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3d结构时,存储器装置150可包括多个存储块block0至blockn-1。
存储器装置150中的每个存储块330可包括在第二方向上延伸的多个nand串ns以及在第一方向和第三方向上延伸的多个nand串ns(未示出)。nand串ns中的每一个可联接到位线bl、至少一个漏极选择线dsl、至少一个源极选择线ssl、多个字线wl、至少一个虚设字线dwl(未示出)和公共源极线csl,并且nand串ns中的每一个可包括多个晶体管结构。
简而言之,存储器装置150的每个存储块330可联接到多个位线bl、多个漏极选择线dsl、多个源极选择线ssl、多个字线wl、多个虚设字线dwl以及多个公共源极线csl。每个存储块330可包括多个nand串ns。在每个存储块330中,一个位线bl可联接到多个nand串ns,以在一个nand串ns中实现多个晶体管。每个nand串ns的漏极选择晶体管dst可联接到相应位线bl,并且每个nand串ns的源极选择晶体管sst可联接到公共源极线csl。存储器单元mc可被设置在每个nand串ns的漏极选择晶体管dst和源极选择晶体管sst之间。换言之,多个存储器单元可被实现在存储器装置150的每一个存储块330中。
重新参照图1,存储器装置150中的存储块152可以slc模式和xlc模式中的一种进行操作。可选地,存储器装置150可以混合slc模式和xlc模式的模式进行操作。xlc模式可包括多层单元(mlc)模式、三层单元(tlc)模式和四层单元(qlc)模式。
slc存储块可具有比xlc存储块更长的寿命。也就是说,slc存储块可支持比xlc存储块更多数量的擦除/写入周期(ew)。此外,slc存储块可支持存储器装置150以比xlc存储块更快的速度执行编程操作和读取操作。然而,slc存储块可具有比xlc存储块更小的数据存储容量。
例如,假设存储器装置150中包括的存储块的数量为100,slc存储块具有4mb的容量和30k的ew,并且xlc存储块具有12mb的容量和3k的ew。
当所有存储块都是slc存储块时,存储器装置150可具有“30k*100”的ew和“4mb*100”的数据存储容量。在这种情况下,存储器装置150的ew可具有最大值,但存储器装置150的存储容量可具有最小值。
另一方面,当所有存储块都是xlc存储块时,存储器装置150可具有“3k*100”的ew和“12mb*100”的数据存储容量。在这种情况下,存储器装置150的存储容量可具有最大值,但存储器装置150的ew可具有最小值。
也就是说,slc存储块和xlc存储块的优点和缺点可具有权衡(trade-off)关系。
对于另一示例,当存储器装置150的存储块被划分成“10”个slc存储块和“90”个xlc存储块时,存储器装置150可具有“30k*10” “3k*90”的ew和“4mb*10” “12mb*90”的数据存储容量。
对于另一示例,当存储器装置150的存储块被划分成“90”个slc存储块和“10”个xlc存储块时,存储器装置150可具有“30k*90” “3k*10”的ew和“4mb*90” “12mb*10”的数据存储容量。
如四个示例所示,存储器装置150的ew可根据slc存储块来决定,并且存储器装置150的存储容量可根据xlc存储块来决定。因此,为了提高存储器系统的性能,需要恰当地使用slc存储块和xlc存储块两者。
实施例提供一种能够根据slc存储块的特性和xlc存储块的特性,通过恰当地使用slc存储块和xlc存储块来提高存储器系统110的性能的方法。
图5a至图5c是示出根据实施例的存储器系统110的操作的示图。特别地,图5a至图5c仅示出根据实施例的存储器系统110的核心组件。存储器装置150可包括多个存储块,以支持slc模式和mcl模式。然而,这仅是示例;本发明不限于此。
存储器装置150可包括多个存储块510至580。处理器134可控制存储器装置150处理从主机102提供的编程命令。当存储器装置150的初始容量小于第一阈值时,处理器134可控制存储器装置150以slc模式驱动存储器装置150中的多个存储块510至580。此外,假设存储器装置150的整个容量为“16gb”,并且第一阈值为“5gb”。存储器装置150的整个容量可指示当存储器装置150中的多个存储块都以mlc模式驱动时所测量的容量。
参照图5a,处理器134已根据slc模式将数据存储在第一至第五存储块510至550。假设第一至第五存储块510至550中存储的所有数据都是有效数据。
监视器146可周期性地监视存储器装置150的使用。当数据存储在第五存储块550中时,监视器146可测量存储器装置150的存储器使用为“5gb”。
然后,处理器134可选择当前未使用的一个或多个存储块作为牺牲块,以便获得以mlc模式驱动的存储块。也就是说,处理器134可选择第六至第八存储块560至580中的一个或多个作为牺牲块。例如,假设处理器134已选择第六存储块560作为牺牲块。
在本实施例中,处理器134可在空闲存储块之中选择牺牲存储块。然而,当不存在空闲存储块时,处理器134可按照其中存储的无效数据的量的降序来选择牺牲存储块。此外,当存在存储有相同量的无效数据的存储块时,处理器134可选择冷块作为牺牲存储块。
参照图5b,处理器134可控制存储器装置150将第六存储块560从slc模式切换为mlc模式。同时,处理器134可改变存储器144的位图148中第六存储块560的模式状态。具体地,当在第六存储块560以slc模式驱动的情况下该第六存储块560的模式状态值为“0”时,处理器134可在第六存储块560切换为mlc模式的情况下,将位图148中的第六存储块560的模式状态值改变为“1”。切换为mlc模式的第六存储块565包括的逻辑页面是以slc模式驱动的第六存储块560的逻辑页面的两倍。
参照图5c,处理器134可控制存储器装置150将第一至第五存储块510至550中存储的一些数据段存储到第六存储块565中。特别地,处理器134可控制存储器装置150将第一至第五存储块510至550中存储的数据之中的、正被存储在基于访问信息而确定的冷块中的数据存储在第六存储块565中。例如,假设第四和第五存储块540和550为冷块。
具体地,在处理器134的控制下,存储器装置150可将第四和第五存储块540和550中存储的冷数据临时加载到读取/写入电路320内的页面缓冲器322至326。然后,在处理器134的控制下,存储器装置150可将所加载的冷数据编程到切换为mlc模式的第六存储块565中。为了将加载到页面缓冲器中的冷数据编程到第六存储块565中,存储器装置150内的电压供应装置310可生成第一至第(2n-1)编程电压,并且读取/写入电路320可使用所生成的第一至第(2n-1)编程电压来将数据编程到存储器单元阵列330内的第六存储块565中。此处,“n”代表以xlc模式操作的存储器单元中可存储的位的数量。在mlc模式下,“n”为“2”,并且在tlc模式下,“n”为“3”。因此,图5c中的“n”为“2”。此外,当完成将冷数据从第四和第五存储块540和550传送到第六存储块565时,处理器134可控制存储器装置150擦除第四和第五存储块540和550中存储的数据。
图6是示出根据实施例的存储器系统110的操作的流程图。作为示例,图6示出已参照图5a至图5c描述的存储器系统110的操作。
参照图6,在步骤s601中,监视器146可监视存储器装置150的存储器使用和存储器装置150中的多个存储块的访问信息。虽然在步骤s601中描述了监视操作,但监视器146可周期性地执行监视操作。
在步骤s603中,监视器146可将存储器装置150的存储器使用与第一阈值进行比较。
当存储器使用小于第一阈值(步骤s603中为“否”)时,进程可返回到步骤s601,并且监视器146可执行监视操作。
另一方面,当存储器使用大于或等于第一阈值(步骤s603中为“是”)时,在步骤s605中,处理器134可选择一个或多个空闲存储块中的至少一个作为牺牲存储块。处理器134可将所选择的牺牲存储块从slc模式切换为mlc模式。
在步骤s607中,处理器134可更新存储器144中存储的位图中与切换模式的牺牲存储块相对应的位值。
在步骤s609中,处理器134可将源存储块中存储的冷数据移动到牺牲存储块。例如,如图5c所示,处理器134可将第四和第五存储块540和550中存储的冷数据移动到第六存储块565。
在步骤s611中,处理器134可擦除源存储块中已存储的冷数据。
图7a至图7c是示出根据实施例的存储器系统110的操作的示图。特别地,图7a至图7c仅示出根据实施例的存储器系统110的核心组件。在该示例中,如图5a至图5c所示,存储器装置150可包括多个存储块,以支持slc模式和mcl模式。图5c示出第二和第三存储块520和530中存储有数据。相反,图7a是基于第二和第三存储块520和530中存储的数据被擦除的假设。
假设存储器装置150的整个容量为“16gb”,并且第二阈值为“3gb”。存储器装置150的整个容量可指示当存储器装置150中的多个存储块都以mlc模式驱动时所测量的容量。
参照图7a,数据可仅存储在存储器装置150中的存储块之中的第一和第六存储块510和560中。监视器146可测量存储器装置150的当前存储器使用为“3gb”。然后,监视器146可将当前存储器使用与第二阈值进行比较。因为当前存储器使用“3gb”等于第二阈值“3gb”,所以处理器134可切换以mlc模式驱动的第六存储块565的模式,以便获得以slc模式驱动的存储块。
参照图7b,处理器134可控制存储器装置150将第六存储块565中存储的数据存储到第二和第三存储块520和530中。
具体地,在处理器134的控制下,存储器装置150可将第六存储块565中存储的数据临时加载到读取/写入电路320内的页面缓冲器322至326。然后,在处理器134的控制下,存储器装置150可将所加载的数据编程到以slc模式驱动的第二和第三存储块520和530中。为了将加载到页面缓冲器中的数据编程到第二和第三存储块520和530中,存储器装置150内的电压供应装置310可生成第一至第(2n-1)编程电压,并且读取/写入电路320可使用所生成的第一至第(2n-1)编程电压来将数据编程到存储器单元阵列330内的第二和第三存储块520和530。因为第二和第三存储块520和530是以slc模式驱动,所以“n”为“1”。此外,当完成将数据从第六存储块565传送到第二和第三存储块520和530时,处理器134可控制存储器装置150擦除第六存储块565中存储的数据。
参照图7c,处理器134可控制存储器装置150将第六存储块565从mlc模式切换为slc模式。同时,处理器134可改变存储器中存储的位图148中的第六存储块565的模式状态。具体地,当在第六存储块565以mlc模式驱动的情况下该第六存储块565的模式状态值为“1”时,处理器134可在第六存储块565切换为slc模式的情况下,将位图148中的第六存储块565的模式状态值改变为“0”。
图8是示出根据实施例的存储器系统110的操作的流程图。作为示例,图8示出已参照图7a至图7c描述的存储器系统110的操作。
参照图8,在步骤s801中,监视器146可监视存储器装置150的存储器使用和存储器装置150中的多个存储块的访问信息。虽然在步骤s801中描述了监视操作,但监视器146可周期性地执行监视操作。
在步骤s803中,监视器146可将存储器装置150的存储器使用与第二阈值进行比较。
当存储器使用大于或等于第二阈值(步骤s803中为“否”)时,进程可返回到步骤s801,并且监视器146可执行监视操作。
当存储器使用小于第二阈值(步骤s803中为“是”)时,在步骤s805中,处理器134可选择以mlc模式驱动的目标存储块。
在步骤s807中,处理器134可将目标存储块中存储的数据移动到另一slc存储块。例如,如图7b所示,处理器134可将第六存储块565中存储的数据移动到第二和第三存储块520和530。
在步骤s809中,处理器134可擦除目标存储块中已存储的数据。
在步骤s811中,处理器134可将目标存储块从mlc模式切换为slc模式。
在步骤s813中,处理器134可更新存储器144中存储的位图中与切换模式的目标存储块相对应的位值。
如上所述,存储器系统110可在slc存储块与xlc存储块之间移动数据,从而利用slc存储块和xlc存储块的优点。因此,根据实施例的存储器系统110可延长存储器装置150的寿命,从而提高存储器系统110的性能。
图9至图17是示意性地示出根据各个实施例的图1至图8的数据处理系统的应用示例的示图。
图9是示意性地示出根据实施例的包括存储器系统的数据处理系统的示图。作为示例,图9示出应用根据实施例的存储器系统的存储卡系统6100。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
存储器控制器6120可被连接至通过非易失性存储器(nvm)实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机(未示出)之间的接口连接并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
如图1所示,存储器控制器6120可包括随机存取存储器(ram)、处理器、主机接口、存储器接口和错误校正组件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata、并行ata、小型计算机系统接口(scsi)、增强型小型磁盘接口(edsi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、无线保真(wi-fi或wifi)和蓝牙。因此,根据实施例的存储器系统和数据处理系统可应用于有线和/或无线电子装置,特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置中的任意一种来实施:可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)以及自旋转移力矩磁性ram(stt-ram)。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可被集成以形成固态驱动器(ssd)。对于另一示例,存储器控制器6120和存储器装置6130可形成诸如以下的存储卡:pc卡(例如,个人计算机存储卡国际协会(pcmcia))、紧凑式闪存(cf)卡、智能媒体卡(例如,sm和smc)、记忆棒、多媒体卡(例如,mmc、rs-mmc、微型mmc和emmc)、数字安全(sd)卡(例如,迷你sd卡、微型sd卡和sdhc卡)和/或通用闪存(ufs)。
图10是示意性地示出根据实施例的包括存储器系统的数据处理系统6200的另一示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器(nvm)的存储器装置6230和用于控制该存储器装置6230的存储器控制器6220。数据处理系统6200可用作诸如存储卡(cf卡、sd卡等)或usb装置的存储介质,如参照图1所述的。存储器装置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以高速运行。
如参照图1所述,ecc电路6223可生成用于校正从存储器装置6230提供的数据的失败位或错误位的错误校正码(ecc)。ecc电路6223可对提供到存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ecc电路6223可对从存储器装置6230输出的数据执行错误校正解码。ecc电路6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ecc电路6223可使用低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhri-hocquenghem,bch)码、涡轮码、里德-所罗门码、卷积码、递归系统码(rsc)或诸如网格编码调制(tcm)或分组编码调制(bcm)的编码调制来校正错误。
存储器控制器6220可通过主机接口6224与主机6210交换数据,并且通过nvm接口6225与存储器装置6230交换数据。主机接口6224可通过并行高级技术附件(pata)总线、串行高级技术附件(sata)总线、小型计算机系统接口(scsi)、通用串行总线(usb)、高速外围组件互连(pcie)或nand接口而连接到主机6210。存储器控制器6220可利用诸如无线保真(wifi)或长期演进(lte)的移动通信协议而具有无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一外部装置,并且然后将数据传送到外部装置和/或从外部装置接收数据。特别地,由于存储器控制器6220被配置成通过各种通信协议的一种或多种与外部装置进行通信,因此根据实施例的存储器系统和数据处理系统可被应用于有线和/或无线电子装置,特别是移动电子装置。
图11是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。作为示例,图10示出可应用存储器系统的固态驱动器(ssd)6300。
参照图11,ssd6300可包括控制器6320和包括多个非易失性存储器(nvm)的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
控制器6320可通过多个通道ch1至chi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、错误校正码(ecc)电路6322、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器nvm提供的数据,或者临时存储多个闪速存储器nvm的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如动态随机存取存储器(dram)、同步dram(sdram)、双倍数据速率(ddr)sdram、低功耗ddr(lpddr)sdram和图形ram(gram)的各种易失性存储器或诸如铁电ram(fram)、电阻式ram(rram或reram)、自旋转移力矩磁性ram(stt-mram)和/或相变ram(pram)的各种非易失性存储器中的任意一种来实现。作为示例,图12示出缓冲存储器6325设置在控制器6320中。然而,缓冲存储器6325可位于控制器6320的外部。
ecc电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的错误校正码(ecc)值,在读取操作期间基于ecc值对从存储器装置6340读取的数据执行错误校正操作,并在失败数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与例如主机6310的外部装置的接口连接功能。非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口连接功能。
此外,可设置应用图1的存储器系统110的多个ssd6300来实施诸如独立磁盘的冗余阵列(raid)系统的数据处理系统。raid系统可包括多个ssd6300和用于控制多个ssd6300的raid控制器。当raid控制器响应于从主机6310提供的写入命令执行编程操作时,raid控制器可根据多个raid级别,即,从ssd6300中的主机6310提供的写入命令的raid级别信息,选择一个或多个存储器系统或ssd6300,并将对应于写入命令的数据输出到选择的ssd6300。此外,当raid控制器响应于从主机6310提供的读取命令执行读取操作时,raid控制器可根据多个raid级别,即,从ssd6300中的主机6310提供的读取命令的raid级别信息,选择一个或多个存储器系统或ssd6300,并将从所选择的ssd6300读取的数据提供到主机6310。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。作为示例,图12示出可应用存储器系统的嵌入式多媒体卡(emmc)6400。
参照图12,emmc6400可包括控制器6430和通过一个或多个nand闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口(i/f)6431和例如nand接口(i/f)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所示的存储器系统110实现。例如,在ufs系统6500、6600、6700和6800中,ufs装置6520、6620、6720和6820可以参照图9至图11描述的数据处理系统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协议以外的例如通用串行总线(usb)闪存驱动器(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处的链路层交换来彼此通信。在图13中,通过示例的方式示出一个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可通过交换模块6640的链路层交换在unipro处彼此通信。在图14中,通过示例的方式示出一个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可通过交换模块6740的链路层交换unipro处彼此通信,并且交换模块6740可在ufs装置6720的内部或外部与ufs装置6720集成为一个模块。在图15中,通过示例的方式示出一个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交换来彼此通信。在图16中,通过示例的方式示出一个ufs装置6820连接到主机6810并且一个ufs卡6830连接到ufs装置6820的配置。然而,多个ufs装置可并联或以星型形式连接至主机6810,或串联或以链型形式连接至主机6810,并且多个ufs卡可并联或以星型形式连接至ufs装置6820,或串联或以链型形式连接至ufs装置6820。
图17是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。作为示例,图17是示出可应用存储器系统的用户系统6900的示图。
参照图17,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
应用处理器6930可驱动包括在用户系统6900中的例如操作系统(os)的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被设置为片上系统(soc)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如动态ram(dram)、同步dram(sdram)、双倍数据速率(ddr)sdram、ddr2sdram、ddr3sdram、lpddrsdram、lpddr2sdram或lpddr3sdram的易失性随机存取存储器(ram),或诸如相变ram(pram)、电阻式ram(reram)、磁阻ram(mram)或铁电ram(fram)的非易失性ram。例如,可基于堆叠封装(pop)来封装和安装应用处理器6930和存储器模块6920。
网络模块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闪存和3dnand闪存,并且存储模块6950可被设置为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于以上参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上参照图11至图16所述的ssd、emmc和ufs。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、照相机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、led、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由应用处理器6930处理的数据,或支持从触摸面板接收数据的功能。
虽然已经示出和描述了各个实施例,但是对于本领域技术人员鉴于本公开将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和变型。本发明包括所有这些变化和变型,只要其落入权利要求的范围内。
1.一种存储器系统,包括:
存储器装置,包括多个存储块,所述存储块包括支持两层或更多层单元模式,即xlc模式和单层单元模式,即slc模式的存储器单元;以及
控制器,管理所述存储器装置的数据并且控制所述存储器装置,
其中当所述存储器装置的存储器使用大于或等于第一阈值时,所述控制器选择一个或多个空闲存储块作为一个或多个牺牲存储块,将每个牺牲存储块的模式切换成所述xlc模式,并且将源存储块中存储的数据移动到所述一个或多个牺牲存储块,
其中所述源存储块是所述多个存储块之中以所述slc模式驱动且其中存储数据的存储块。
2.根据权利要求1所述的存储器系统,其中所述控制器包括:
监视器,监视所述存储器装置的所述存储器使用和所述多个存储块的访问信息;
存储器,存储指示所述多个存储块的模式的位图;以及
处理器,切换所述每个牺牲存储块的模式并控制所述控制器与所述每个牺牲存储块之间的数据传送。
3.根据权利要求2所述的存储器系统,其中所述监视器存储所述多个存储块的有效区域的使用,并且存储所述多个存储块之中与所述有效区域相对应的存储块的访问信息。
4.根据权利要求2所述的存储器系统,其中当所述存储器装置重置时,所述控制器以所述slc模式驱动所述多个存储块。
5.根据权利要求2所述的存储器系统,其中当所述每个牺牲存储块从所述slc模式切换为所述xlc模式时,所述处理器更新相应牺牲存储块的位值,并且将每个更新的位值存储在所述位图中。
6.根据权利要求1所述的存储器系统,其中当所述存储器装置的所述存储器使用改变为小于第二阈值时,所述控制器从切换为所述xlc模式的所述存储块之中选择至少一个目标存储块,并且将所述至少一个目标存储块中存储的数据移动到所述一个或多个空闲块,其中所述第二阈值小于所述第一阈值。
7.根据权利要求6所述的存储器系统,其中所述控制器将所述至少一个目标存储块的模式从所述xlc模式改变为所述slc模式。
8.根据权利要求7所述的存储器系统,其中当所述至少一个目标存储块从所述xlc模式切换为所述slc模式时,所述控制器更新存储在所述位图中的所述至少一个目标存储块的位值。
9.根据权利要求1所述的存储器系统,其中所述控制器确定所述多个存储块之中以所述slc模式驱动的冷块,将所述冷块中存储的数据移动到所述一个或多个牺牲存储块,并且擦除所述冷块中存储的数据。
10.根据权利要求9所述的存储器系统,其中所述冷块基于与所述多个存储块相对应的访问信息来确定。
11.一种存储器系统的操作方法,所述存储器系统包括:存储器装置,包括多个存储块,所述存储块包括支持两层或更多层单元模式,即xlc模式和单层单元模式,即slc模式的存储器单元;以及控制器,控制所述存储器装置,所述操作方法包括:
监视所述存储器装置的存储器使用和所述多个存储块的访问信息;
当所述存储器使用大于或等于第一阈值时,选择一个或多个空闲存储块作为一个或多个牺牲存储块;
将所述一个或多个牺牲存储块中的每一个的模式从所述slc模式切换为所述xlc模式;并且
将源存储块中存储的数据移动到所述一个或多个牺牲存储块。
12.根据权利要求11所述的操作方法,进一步包括存储指示所述多个存储块的模式的位图。
13.根据权利要求11所述的操作方法,其中监视所述存储器装置的所述存储器使用和所述多个存储块的所述访问信息包括:存储所述多个存储块的有效区域的使用,以及存储所述多个存储块之中与所述有效区域相对应的存储块的访问信息。
14.根据权利要求11所述的操作方法,进一步包括:当所述存储器装置重置时,以所述slc模式驱动所述多个存储块。
15.根据权利要求12所述的操作方法,进一步包括:当每个牺牲存储块从所述slc模式切换为所述xlc模式时,更新相应牺牲存储块的位值,并且将每个更新的位值存储在所述位图中。
16.根据权利要求12所述的操作方法,进一步包括当所述存储器装置的所述存储器使用改变为小于第二阈值时:
从切换为所述xlc模式的存储块之中选择至少一个目标存储块;并且
将所述至少一个目标存储块中存储的数据移动到以所述slc模式驱动的所述一个或多个空闲块,
其中,所述第二阈值小于所述第一阈值。
17.根据权利要求16所述的操作方法,进一步包括:将与所述至少一个目标存储块相对应的模式从所述xlc模式切换为所述slc模式。
18.根据权利要求17所述的操作方法,进一步包括当所述至少一个目标存储块从所述xlc模式切换为所述slc模式时,更新与所述至少一个目标存储块相对应且存储在所述位图中的位值。
19.根据权利要求11所述的操作方法,进一步包括:
确定以所述slc模式驱动的存储块之中的冷块;并且
将所述冷块中存储的数据移动到所述一个或多个牺牲存储块,并且擦除所述冷块中存储的数据。
20.根据权利要求19所述的操作方法,其中所述冷块基于与所述多个存储块相对应的访问信息来确定。
21.一种存储器系统,包括:
存储器装置,包括多个存储块,所述存储块包括支持两层或更多层单元模式,即xlc模式和单层单元模式,即slc模式的存储器单元;以及
控制器:
控制所述存储块以所述slc模式操作;以及
当所述存储块的有效数据大于阈值时,控制所述存储块的至少一个空闲块以所述xlc模式操作。
技术总结