相关申请的交叉引用
本申请要求于2018年11月29日提交的申请号为10-2018-0150798的韩国专利申请的优先权,其通过引用整体并入本文。
示例性实施例涉及一种数据处理系统及其操作方法,且更特别地,涉及一种能够提高数据处理效率的数据处理系统及其操作方法。
背景技术:
计算机环境范例已经转变成使计算系统可被随时随地使用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置各自使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器系统或辅助存储器系统。
与硬盘装置相比,因为这种存储器系统没有机械驱动部件,所以它们提供优良的稳定性、耐用性、高信息访问速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡、固态驱动器(ssd)等。
技术实现要素:
各个实施例涉及一种能够使用主机的集成存储器来在后台操作中有效地处理数据的数据处理系统及该数据处理系统的操作方法。
根据本发明的实施例,一种在数据处理系统中执行后台操作的方法,该方法包括:从存储器装置中设置的多个存储块中选择牺牲存储块;并且当主机中的第一存储器的可用容量大于或等于所选择的牺牲存储块中存储的当前有效数据的大小时,将当前有效数据传送到第一存储器。
根据本发明的另一实施例,一种数据处理系统包括:主机,包括第一存储器;以及存储器系统,包括存储器装置和控制器,其中,为了执行后台操作,存储器系统被配置成:从存储器装置中设置的多个存储块中选择牺牲存储块;并且当主机中的第一存储器的可用容量大于或等于所选择的牺牲存储块中存储的当前有效数据的大小时,将当前有效数据传送到第一存储器。
根据本发明的另一实施例,一种存储器系统包括:存储器装置,包括牺牲存储块和至少一个目标存储块;以及控制器,联接到存储器装置并且具有第一存储器,该控制器被配置成:将牺牲存储块中存储的当前有效数据加载到第一存储器中,并且当主机的第二存储器的可用容量大于或等于当前有效数据的大小时,将该当前有效数据传送到主机。
根据本发明的另一实施例,一种数据处理系统包括:主机,包括集成存储器;以及存储器系统,被配置成:当执行后台操作时,从多个存储块中选择至少一个牺牲存储块,读取牺牲存储块中存储的牺牲数据,将至少一个集成存储器的可用容量与牺牲数据的大小进行比较,并且当集成存储器的可用容量大于或等于牺牲数据的大小时,将牺牲数据提供到主机,其中主机将牺牲数据存储在集成存储器中,并且其中牺牲数据是牺牲存储块中存储的有效数据。
根据本发明的另一实施例,一种操作数据处理系统的方法,该数据处理系统包括主机和存储器系统,其中主机包括集成存储器,存储器系统包括控制器和存储器装置,该方法包括:从存储器装置中包括的多个存储块中选择牺牲存储块;将牺牲存储块中存储的牺牲数据从存储器装置加载到控制器中包括的存储器中;将集成存储器的可用容量与牺牲数据的大小进行比较;并且当集成存储器的可用容量大于或等于牺牲数据的大小时,将牺牲数据存储在集成存储器中,其中牺牲数据是牺牲存储块中存储的有效数据。
附图说明
图1是示出根据本公开的实施例的包括存储器系统的数据处理系统的框图。
图2是示出图1所示的存储器系统中采用的存储器装置的示意图。
图3是示出图1所示的存储器装置中的存储块的存储器单元阵列的电路图。
图4是示出根据本公开的实施例的存储器系统的存储器装置的框图。
图5是示出垃圾收集操作的概念图。
图6a是示出根据实施例的垃圾收集操作的概念图。
图6b是示出根据实施例的垃圾收集操作的流程图。
图7a是示出根据实施例的垃圾收集操作的概念图。
图7b是示出根据实施例的垃圾收集操作的概念图。
图7c是示出根据实施例的垃圾收集操作的流程图。
图8至图16是示意性示出根据本公开的各个实施例的图1所示的数据处理系统的示例性应用的示图。
具体实施方式
以下将参照附图更详细地描述本公开的示例性实施例。然而,本发明可以不同的形式来实现,并且不应被解释为限于本文阐述的实施例。相反的,提供这些实施例以便使本公开将是彻底且完整的,并且将本发明的范围充分地传达给本领域的技术人员。在整个公开中,贯穿本发明的各个附图和实施例,相同的附图标记始终表示相同的部件。
注意的是,对“实施例”的参考不一定意味着仅针对一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”和/或“第二”来描述各个元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不脱离本公开的教导的情况下,以下讨论的第一元件也可被称为第二元件。同样,第二元件也可被称为第一元件。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,其可以直接联接或连接到另一元件,或者在其间可存在中间元件。相反地,应理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,不存在中间元件。应以相同的方式来解释元件之间关系的其它表述,诸如“在……之间”、“直接在……之间”、“相邻于”或“直接相邻于”。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包含”、“具有”等指定存在所陈述的特征、数字、步骤、操作、元件、组件和/或其组合,但并不排除存在或添加一个或多个其它特征、数字、步骤、操作、元件、组件和/或其组合。
上述示例性实施例仅用于理解本公开的技术方案的目的,并且本公开的范围不应限于上述示例性实施例。对于本公开所属领域的技术人员显而易见的是,除了上述示例性实施例之外,还可基于本公开的技术方案进行其它修改。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。除非在本公开中另有定义,否则这些术语不应被解释为是理想化的或过于形式化的。
在下文中,将参照附图详细描述本公开的各个实施例。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
主机102可包括诸如移动电话、mp3播放器、膝上型计算机等便携式电子装置中的任意一种,或诸如台式计算机、游戏机、tv、投影仪等非便携式电子装置中的任意一种。
主机102可包括至少一个操作系统(os)或多个操作系统。主机102可运行os以对存储器系统110执行对应于用户请求的操作。此处,主机102可向存储器系统110提供对应于用户请求的多个命令。因此,存储器系统110可执行对应于多个命令的多个操作,即执行对应于用户请求的多个操作。os可管理和控制主机102的全部功能和操作。os可支持主机102和使用数据处理系统100或存储器系统110的用户之间的操作。
另外,主机102可包括集成存储器104,该集成存储器104能够存储利用操作系统或存储器系统110执行操作所需的数据。例如,主机102可将从存储器系统110提供的数据存储在集成存储器104中。此外,主机102可向存储器系统110提供关于集成存储器104的可用容量的信息。基于集成存储器104的可用容量,主机102可执行与存储器系统110的数据通信。在实施例中,集成存储器104可以是设置在主机102中的统一存储器(um),包括主机102中的随机存取存储器(ram)的至少一部分。存储器系统110可基于电子装置的诸如通用闪存(ufs)的闪存规范来使用um。
存储器系统110可响应于来自主机102的请求操作或执行特定的功能或操作,并且特别地,可存储待由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可利用可与主机102电联接的各种类型的存储装置中的一种或多种来实施。存储器系统110可包括固态驱动器(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)等。
各种类型的存储装置可包括诸如dram动态随机存取存储器(dram)、静态ram(sram)等的易失性存储器装置和诸如只读存储器(rom)、掩模rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电ram(fram)、相变ram(pram)、磁阻ram(mram)、电阻式ram(rram)、闪速存储器等的非易失性存储器装置。
存储器系统110可包括存储器装置150和控制器130。
在实施例中,控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所述的存储器系统中的任意一种中。例如,控制器130和存储器装置150可被集成为单个半导体装置,以构成ssd、mmc、emmc、个人计算机存储卡国际协会(pcmcia)卡、安全数字(sd)卡、迷你-sd卡、微型-sd卡、安全数字高容量(sdhc)卡、通用闪存(ufs)装置等中的任意一种。存储器系统110可被配置成计算机、智能电话、便携式游戏机或配置计算系统的各种组件的一部分。
在存储器系统110中,即使不向存储器装置150供应电力,存储器装置150也可保留其中存储的数据。特别地,存储器装置150通过执行编程或写入操作来存储从主机102接收的数据,并且通过执行读取操作向主机102提供存储在其中的数据。
如图1所示,存储器装置150可包括多个存储块152。存储块152中的每一个可包括多个页面,并且页面中的每一个可包括联接到多个字线wl中的相应字线的多个存储器单元。因此,多个页面的数量可对应于多个字线wl的数量。
在实施例中,存储器装置150可包括多个存储器管芯(未示出),并且每个存储器管芯可包括多个平面(未示出)。在实施例中,存储器装置150可以是具有三维(3d)堆叠结构的闪速存储器。
稍后将参照图2至图4描述存储器装置150的以上结构。
控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可响应于读取请求而向主机102提供从存储器装置150读取的数据,并且响应于写入请求而将来自主机102的数据存储到存储器装置150中。对于这些操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
更具体地,控制器130可包括主机接口(i/f)132、处理器134、存储器接口(i/f)142和存储器144,其全部都经由内部总线可操作地彼此联接或接合。
主机接口132可将控制器130物理连接和电连接到主机102。因此,控制器130可通过主机接口132接收由主机102提供的命令和数据,并且可通过主机接口132将来自存储器装置150的数据输出到主机102。也就是说,控制器130可通过主机接口132与主机102通信。主机接口132可使用诸如以下的各种接口协议中的一种或多种来与主机102通信:通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci-e)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)等。主机接口132可由固件,即主机接口层(hil)来驱动以与主机102交换数据。
存储器接口142可用作控制器130与存储器装置150之间的存储器/存储接口,使得控制器130可响应于来自主机102的请求来控制存储器装置150。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。
存储器144可利用易失性存储器装置来实施。例如,存储器144可包括静态随机存取存储器(sram)或动态随机存取存储器(dram)。存储器144可设置在控制器130的内部或外部。图1示出设置在控制器130的内部的存储器144。在另一实施例中,存储器144可以是设置在控制器130的外部并且具有在存储器144与控制器130之间传送数据的存储器接口的外部易失性存储器装置。
存储器144可包括编程存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存以及映射缓冲器/高速缓存中的一个或多个,以便存储在主机102与存储器装置150之间执行数据写入和读取操作所需的数据以及控制器130和存储器装置150执行这些操作所需的其它数据。
处理器134可控制存储器系统110的全部操作。处理器134可使用固件以控制存储器系统110的全部操作。固件可被称为闪存转换层(ftl)。处理器134可利用微处理器或中央处理单元(cpu)来实施。
例如,控制器130可使用处理器134在存储器装置150中执行由主机102请求的操作。而且,控制器130可使用处理器134对存储器装置150执行后台操作。对存储器装置150执行的后台操作可包括垃圾收集(gc)操作、损耗均衡(wl)操作、映射清除(flush)操作、坏块管理操作等中的任意一种。参照图5,将详细描述存储器装置150的垃圾收集操作。
尽管未在附图中示出,但控制器130可进一步包括错误校正码(ecc)单元和电源管理单元(pmu)。
ecc单元可校正存储器装置150处理的数据的错误位,并且包括ecc编码器和ecc解码器。
ecc编码器可通过对待被编程到存储器装置150的数据执行错误校正编码来生成具有奇偶校验位的数据,并且具有奇偶校验位的数据可存储在存储器装置150中。当存储器装置150中存储的数据被读取时,ecc解码器检测并校正从存储器装置150读取的数据中包括的错误。
ecc单元可使用诸如以下的编码调制来执行错误校正:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhuri-hocquenghem,bch)码、汉明(hamming)码、turbo码、里德-所罗门码、卷积码、递归系统码(rsc)、网格编码调制(tcm)、分组编码调制(bcm)等。ecc单元可包括用于错误校正的所有电路、模块、系统或装置。
pmu可提供并管理控制器130的电力,即控制器130中包括的组件的电力。
在下文中,参照图2至图4,将更详细地描述根据实施例的存储器系统110中的存储器装置150。
图2是示出根据实施例的图1所示的存储器装置150的示意图。图3是示出根据实施例的存储器装置150中的存储块330的存储器单元阵列的电路图。图4是示出根据实施例的存储器装置150的示例性3d结构的示意图。
参照图2,存储器装置150可包括多个存储块block0至blockn-1,其中n为大于1的整数。存储块block0至blockn-1中的每一个可包括多个页面,例如2m或m个页面,并且多个页面的数量可根据电路设计而变化,m是大于1的整数。页面中的每一个可包括联接到多个字线wl中的相应字线的多个存储器单元。
而且,存储块block0至blockn-1中的存储器单元中的每一个可以是存储1位数据的单层单元(slc)或存储例如2位或更多位数据的多位数据的多层单元(mlc)。因此,根据存储块block0至blockn-1中的存储器单元中的每一个中可存储的位的数量,存储器装置150可包括slc存储块或mlc存储块。slc存储块可包括每个包括存储器单元的多个页面,该每个存储器单元存储一位数据。slc存储块通常可比mlc存储块具有更高的数据计算性能和更高的耐用性。mlc存储块可包括每个包括存储器单元的多个页面,该每个存储器单元存储多位数据(例如,2位或更多位数据)。mlc存储块通常可比slc存储块具有更大的数据存储空间,即更高的集成密度。
在另一实施例中,存储器装置150可包括多个三层单元(tlc)存储块。在又一实施例中,存储器装置150可包括多个四层单元(qlc)存储块。tlc存储块可包括多个页面,该页面包括每个能够存储3位数据的存储器单元。qlc存储块可包括多个页面,该页面包括每个能够存储4位数据的存储器单元。
存储器装置150可由相变随机存取存储器(pcram)、电阻式随机存取存储器(reram)、铁电随机存取存储器(fram)、自旋转移力矩磁性随机存取存储器(stt-mram)等中的一个或多个来实施。
存储器装置150中的存储块210、220、230和240可通过执行编程操作而在其中存储从主机102传送的数据,并且可通过执行读取操作将其中存储的数据传送到主机102。
接下来,参照图3,对应于图2所示的存储器装置150中的存储块的存储块330可包括作为存储器单元阵列的多个单元串340,多个单元串340分别联接到多个位线bl0至blm-1,m是大于1的整数。
每列的单元串340可包括一个或多个漏极选择晶体管dst和一个或多个源极选择晶体管sst。多个存储器单元mc0至mcn-1可串联联接在漏极选择晶体管dst与源极选择晶体管sst之间。在实施例中,存储器单元晶体管mc0至mcn-1中的每一个可以是能够存储多位数据的mlc。多个存储器单元mc0至mcn-1可分别联接到多个字线wl0至wln-1,n是大于1的整数。
单元串340中的每一个可电联接到多个位线bl0至blm-1之中的相应位线。例如,如图3所示,多个单元串340之中的第一单元串联接到多个位线bl0至blm-1之中的第一位线bl0,并且多个单元串340之中的最后单元串联接到多个位线bl0至blm-1之中的最后位线blm-1。
作为示例,图3示出包括nand闪速存储器单元的存储块330。然而,实施例不限于此。在另一实施例中,存储器装置150中的存储块330可利用nor型闪速存储器、其中混合两种或多种类型的存储器单元的混合闪速存储器或者控制器嵌入在存储器芯片中的1-nand闪速存储器来实施。
图3所示的存储器装置150可进一步包括电压供应电路310。电压供应电路310可根据操作模式而向多个字线wl0至wln-1提供字线电压(例如,编程电压、读取电压、通过电压等),并且向其中形成存储器单元的体材料(例如,阱区)提供体电压。电压供应电路310可在存储器装置150的控制电路(未示出)的控制下执行电压生成操作。此外,电压供应电路310可生成多个可变读取电压,以便从存储块330读取多个读取数据。
当响应于控制电路的控制信号而选择存储器装置150中的多个存储块(或扇区)中的一个存储块,并且然后选择所选择存储块的多个字线中的一个字线时,电压供应电路310可向所选择字线和未选择字线提供字线电压。
存储器装置150可进一步包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作用于从存储块330读取(感测和放大)数据的读出放大器。在编程或写入操作期间,读取/写入电路320可用作用于根据待被存储在存储块330中的写入数据而将电压或电流供应到位线的写入驱动器。在编程或写入操作期间,读取/写入电路320可从缓冲器(未示出)接收写入数据,并根据所接收的写入数据来驱动位线。读取/写入电路320可包括分别对应于列(或位线)或者列对(或位线对)的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
存储器装置150可具有二维或三维结构。特别地,如图4所示,存储器装置150可包括具有三维堆叠结构的非易失性存储器装置。图4所示的存储器装置150可包括在第三方向上堆叠的多个存储块blk0至blkn-1。存储块blk0至blkn-1中的每一个可包括在第一至第三方向(例如,x轴方向、y轴方向和z轴方向)上延伸的结构,因而可被实施为三维结构。
参照图3和图4,存储器装置150中包括的每个存储块330可包括多个单元串340,每个单元串340在第二方向上延伸,并且多个单元串340可布置在第一和第三方向上。在实施例中,多个单元串340中的每一个可联接到多个位线bl0至blm-1中的相应位线bl、至少一个串选择线ssl、至少一个接地选择线gsl(未示出)、多个字线wl0至wln-1、至少一个虚设(dummy)字线dwl(未示出)和共源线csl。在实施例中,多个单元串340中的每一个可包括多个晶体管结构ts(未示出)。然而,实施例不限于此。
在另一实施例中,每个存储块330可包括联接到一个位线bl的多个nand串ns,从而多个晶体管可在一个nand串ns中实施。此外,各个nand串ns的串选择晶体管sst可联接到相应位线bl,并且各个nand串ns的接地选择晶体管gst可联接到共源线csl。存储器单元mc可被设置在各个nand串ns的串选择晶体管sst与接地选择晶体管gst之间。也就是说,多个存储器单元可在存储器装置150的多个存储块中的每个存储块330中实施。
图5是示出包括控制器501和存储器装置511的存储器系统中的垃圾收集(gc)操作的概念图。
控制器501可在存储器装置511中包括的多个存储块之中选择可擦除数据的存储块513(在下文中,称为“牺牲存储块”)。为了确保用于存储高容量数据的空间,或者执行垃圾收集操作或损耗均衡操作,控制器501可将牺牲存储块513中存储的有效数据(在下文中,称为“牺牲数据”)移动到目标存储块515中。
在上述操作中,图5涉及垃圾收集操作。垃圾收集操作可包括从存储器装置511中动态分配的存储器区域中搜索在编程或写入操作中不再可用或不需要被使用的不可用区域的第一操作、将搜索到的不可用区域中的有效数据移动到在编程或写入操作中可用的可用或空闲区域的第二操作以及删除搜索到的不可用区域中存储的所有数据的第三操作。通过执行垃圾收集操作,不可用区域变为空闲区域。不可用区域可对应于牺牲存储块513,并且可用或空闲区域可对应于目标存储块515。
特别地,控制器501可通过第一操作来选择存储器装置511中的牺牲存储块513。此时,控制器501可优先选择存储器装置511中的多个存储块之中具有最小数量的有效数据的存储块作为牺牲存储块513。在第二操作中,控制器501可从牺牲存储块513读取牺牲数据,将所读取的牺牲数据存储在控制器501中的存储器503中,并且然后将牺牲数据编程在存储器装置511的目标存储块515中。然后,在第三操作中,控制器501可删除牺牲存储块513中存储的所有数据。从中已删除所有数据的牺牲存储块513可被称为“空闲存储块”。控制器501可将新数据存储在曾为牺牲存储块513的空闲存储块中。如上所述,空闲存储块可表示其中没有存储数据并且因此具有用于编程或写入操作的可用空间的存储块。
为了有效地执行垃圾收集操作,控制器501应当有效地执行将牺牲存储块513的有效数据存储在控制器501的存储器503中的第一子操作和将存储器503中存储的有效数据存储在目标存储块515中的第二子操作。特别地,在第一子操作中,如果可以一次从多个牺牲存储块读取大量的有效数据并将所读取的有效数据存储在存储器503中,则可提高垃圾收集操作的效率。
然而,因为存储器503具有有限的容量,所以在垃圾收集操作中,控制器501只能在有限的容量内使用存储器503。
在下文中,将参照图6a至图7c描述能够使用主机的集成存储器来解决上述缺点的数据处理系统。除了控制器501中的存储器503之外,还可以通过使用主机的集成存储器来增加垃圾收集操作中可使用的存储器容量。
图6a是示出根据实施例的图1所示的数据处理系统100的操作的概念图。
首先,控制器130的处理器134可搜索存储器装置150中包括的多个存储块,从而从多个存储块中选择至少一个牺牲存储块610。特别地,处理器134可选择多个存储块之中具有最小数量的有效数据的存储块作为牺牲存储块610。然后,处理器134可控制存储器装置150读取牺牲存储块610中存储的有效数据(在下文中,称为“牺牲数据”)。此外,处理器134可将所读取的牺牲数据存储在控制器130的存储器144中。
此外,处理器134可将集成存储器104的可用容量与存储器144中存储的牺牲数据的大小进行比较。基于比较结果,处理器134可确定是否向主机102提供存储器144中存储的牺牲数据。例如,当集成存储器104的可用容量大于或等于牺牲数据的大小时,处理器134可向主机102提供存储器144中存储的牺牲数据。关于集成存储器104的可用容量的信息可存储在存储器144中。
然后,主机102可将从控制器130提供的牺牲数据存储在集成存储器104中。在牺牲数据存储在集成存储器104中之后,主机102可向控制器130提供关于集成存储器104的可用容量的更新信息。基于从主机102提供的关于集成存储器104的可用容量的更新信息,处理器134可更新存储器144中存储的关于集成存储器104的可用容量的信息。
图6b是示出根据实施例的图1所示的数据处理系统100的操作的流程图。特别地,图6b示出参照图6a描述的数据处理系统100的操作。
在步骤s601中,处理器134可从存储器装置150中包括的多个存储块中选择至少一个牺牲存储块。基于多个存储块中的每一个中存储的有效数据的数量,处理器134可选择牺牲存储块。
在步骤s603中,处理器134可将牺牲存储块中存储的有效数据,即牺牲数据,加载到存储器144。具体地,处理器134可控制存储器装置150读取所选择牺牲存储块中存储的牺牲数据。然后,处理器134可将所读取的牺牲数据存储在存储器144中。
在步骤s605中,处理器134可将集成存储器104的可用容量与存储器144中存储的牺牲数据的大小进行比较,以便确定是否向主机102提供存储器144中存储的牺牲数据。
当集成存储器104的可用容量大于或等于牺牲数据的大小(步骤s605中为“是”)时,在步骤s607中,处理器134可在处理器134的控制下将牺牲数据提供到主机102。然后,主机102可将牺牲数据存储在集成存储器104中。在将存储器144中存储的牺牲数据提供到主机102之后,从存储器144删除牺牲数据。
然而,当集成存储器104的可用容量小于牺牲数据的大小(步骤s605中为“否”)时,执行将在图7c中描述的步骤s701、s703和s705的操作,并且然后可执行步骤s607的操作。
图7a是示出根据实施例的数据处理系统100的操作的概念图。特别地,图7a示出当在图6b的步骤s605中确定集成存储器104的可用容量小于存储器144中存储的牺牲数据的大小时执行的数据处理系统100的操作。
如上参照图6a和图6b所述,处理器134可将集成存储器104的可用容量与存储器144中存储的牺牲数据的大小进行比较。当集成存储器104的可用容量小于存储器144中存储的牺牲数据的大小时,控制器130可读出集成存储器104中存储的数据(在下文中,称为“目标数据”)。当存储器144中存储的牺牲数据是当前牺牲数据时,目标数据可对应于在从存储器装置150读取当前牺牲数据之前已从先前搜索到的牺牲存储块读取并存储在集成存储器104中的先前牺牲数据。
在控制器130读出目标数据之后,不论控制器130和存储器装置150将执行何种类的操作,主机102可删除集成存储器104中存储的目标数据。尽管未在图中示出,但在主机102删除集成存储器104中存储的目标数据之后,处理器134可向主机102提供存储器144中存储的当前牺牲数据。然后,在向主机102提供当前牺牲数据时,主机102可将所提供的当前牺牲数据存储在集成存储器104中。此后,主机102可向控制器130提供关于集成存储器104的可用容量的更新信息,使得处理器134可更新存储器144中存储的关于集成存储器104的可用容量的信息。
控制器130可在处理器134的控制下将从主机102读出的目标数据存储在存储器144中。然后,处理器134可根据预定标准对存储器144中存储的目标数据进行排列或分类。
根据实施例,处理器134可基于对应于目标数据的逻辑地址来对目标数据进行排列。例如,处理器134可以对应于目标数据的逻辑地址的顺序来对目标数据进行排列。
根据另一实施例,处理器134可根据目标数据是热数据还是冷数据来对目标数据进行分类。例如,处理器134可基于在读取操作中对与目标数据对应的逻辑地址的每单位时间的访问数量,将目标数据分类为热数据或冷数据。当对与第一目标数据对应的逻辑地址的每单位时间的访问数量大于或等于预定阈值时,处理器134可将第一目标数据分类为热数据。另一方面,当对与第二目标数据对应的逻辑地址的每单位时间的访问数量小于预定阈值时,处理器134可将第二目标数据分类为冷数据。然而,这仅仅是示例,且实施例不限于此。
在完成对目标数据的排列或分类之后,处理器134可控制存储器装置150将目标数据存储在至少一个目标存储块710中。目标存储块710可以是存储器装置150中包括的多个存储块之中的空闲存储块。
例如,处理器134可根据存储器144中排列的目标数据的顺序来将目标数据存储在目标存储块710中。
在另一实施例中,处理器134可将已被分类为热数据的第一目标数据存储在第一目标存储块中。另一方面,处理器134可将已被分类为冷数据的第二目标数据存储在第二目标存储块中。也就是说,被分类为热数据和冷数据的目标数据可存储在不同的目标存储块中。
通过对目标数据进行排列并将所排列的目标数据存储在至少一个目标存储块中,可以提高存储器装置150中的数据管理效率。图7b是示出根据实施例的图1所示的数据处理系统100的操作的概念图。特别地,图7b示出基于相应逻辑地址排列的目标数据的移动路径。此时,假设集成存储器104的可用容量小于存储器144中存储的当前牺牲数据的大小。
参照图7b,集成存储器104存储对应于第四逻辑地址lba4的目标数据a、对应于第一逻辑地址lba1的目标数据b、对应于第三逻辑地址lba3的目标数据c和对应于第二逻辑地址lba2的目标数据d。当集成存储器104的可用容量小于存储器144中存储的当前牺牲数据的大小时,主机102可向控制器130提供先前牺牲数据,即目标数据a、目标数据b、目标数据c和目标数据d。另外,在所有那些目标数据都被提供到控制器130之后,不论控制器130和存储器装置150将执行何种类的操作,主机102可删除目标数据a、目标数据b、目标数据c和目标数据d。
控制器130可在处理器134的控制下将从主机102提供的目标数据a、目标数据b、目标数据c和目标数据d存储在存储器144中。然后,处理器134可根据对应于目标数据a、目标数据b、目标数据c和目标数据d的逻辑地址的顺序来对目标数据a、目标数据b、目标数据c和目标数据d进行排列。
例如,处理器134可根据第一逻辑地址lba1到第四逻辑地址lba4的顺序来对目标数据a、目标数据b、目标数据c和目标数据d进行排列。具体地,处理器134可以按照对应于第一逻辑地址lba1的目标数据b、对应于第二逻辑地址lba2的目标数据d、对应于第三逻辑地址lba3的目标数据c和对应于第四逻辑地址lba4的目标数据a的顺序来对目标数据a、目标数据b、目标数据c和目标数据d进行排列。
在完成排列之后,处理器134可控制存储器装置150将存储器144中存储的目标数据a、目标数据b、目标数据c和目标数据d顺序地存储在至少一个目标存储块710中。
图7c是示出根据实施例的数据处理系统100的操作的流程图。特别地,图7c所示的步骤s701、s703和s705指示待在图6b所示的步骤s605之后执行的操作。
在步骤s701中,主机102可向控制器130提供集成存储器104中存储的作为目标数据的先前牺牲数据。然后,控制器130可在处理器134的控制下将从主机102提供的目标数据存储在存储器144中。
在步骤s703中,处理器134可根据预定标准对存储器144中存储的目标数据进行排列或分类。例如,处理器134可基于对应于目标数据的逻辑地址对目标数据进行排列。在另一示例中,处理器134可根据目标数据是热数据还是冷数据来对目标数据进行分类。
在步骤s705中,处理器134可将所排列或分类的目标数据存储在存储器装置150的目标存储块中。
在实施例中,可在处理器134向主机102提供存储器144中存储的当前牺牲数据之后执行步骤s703和s705。在另一实施例中,处理器134可在执行步骤s703和s705之后向主机102提供存储器144中存储的当前牺牲数据。然而,实施例不限于此。
如上所述,将牺牲存储块610中存储的有效数据存储在集成存储器104中,而不是存储器144中,从而可减少在后台操作中对存储器144的使用。因为在后台操作期间存储器144被使用的容量减少,所以存储器系统110可使用存储器144来执行其它操作。因此,可提高存储器系统110的整体操作性能。
在下文中,参照图8至图16,将提供根据本公开的实施例的采用存储器系统110的数据处理系统和电子装置的更详细的描述,存储器系统110包括以上参照图1至图5、图6a、图6b和图7a至图7c所描述的存储器装置150和控制器130。
图8是示意性地示出根据实施例的包括图1所示的存储器系统的数据处理系统的另一示例的示图。图8示意性地示出可应用图1所示的存储器系统的存储卡系统6100。
参照图8,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可电连接到存储器装置6130并被配置成对该存储器装置6130进行访问。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口连接,并且使用用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于上面参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于上面参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括存储器、处理器、主机接口、存储器接口,并且进一步包括错误校正单元。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如上面参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata、并行ata、小型计算机系统接口(scsi)、增强型小型磁盘接口(edsi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wifi、蓝牙等。因此,根据本公开的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可利用非易失性存储器(nvm)来实施。例如,存储器装置6130可利用诸如以下的各种非易失性存储器装置中的任意一种来实施:可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)、自旋转移力矩磁性ram(stt-ram)等。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。存储卡系统6100可包括以下中的任意一种:pc卡(pcmcia:个人计算机存储卡国际协会)、紧凑式闪存(cf)卡、智能媒体卡(例如,sm和smc)、记忆棒、多媒体卡(例如,mmc、rs-mmc、微型mmc或emmc)、sd卡(例如,sd、迷你sd、微型sd或sdhc)、通用闪存(ufs)等。
图9是示意性地示出根据实施例的包括图1所示的存储器系统的数据处理系统的另一示例的示图。
参照图9,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如上所述,图9所示的数据处理系统6200可用作诸如存储卡(cf、sd、微型sd等)或usb装置的存储介质。存储器装置6230可对应于图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求来控制存储器装置6230的读取操作、写入操作或擦除操作。存储器控制器6220可包括一个或多个cpu6221、诸如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可生成用于校正从存储器装置6230提供的数据的失败位或错误位的ecc(错误校正码)。ecc电路6223可对待被提供到存储器装置6230的数据执行错误校正编码,从而生成包括奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ecc电路6223可对从存储器装置6230输出的数据执行错误校正解码。ecc电路6223可在错误校正解码期间使用奇偶校验位来校正错误。例如,ecc电路6223可使用ldpc码、bch码、turbo码、里德-所罗门码、卷积码、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被配置成根据各种通信协议中的一种或多种与外部装置通信,因此存储器控制器6220可被应用于有线/无线电子装置,特别是移动电子装置。
图10是示意性地示出根据实施例的包括图1所示的存储器系统的数据处理系统的另一示例的示图。图10示意性地示出可应用图1所示的存储器系统的ssd6300。
参照图10,ssd6300可包括控制器6320和包括多个非易失性存储器nvm的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6320可通过多个通道ch1至chi连接到存储器装置6340,i是大于1的整数。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ecc电路6322、主机接口6324以及例如非易失性存储器接口的存储器接口6326。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个非易失性存储器nvm提供的数据。进一步地,缓冲存储器6325可临时存储多个非易失性存储器nvm的元数据,例如,包括映射表的映射数据。缓冲存储器6325可包括诸如dram、sdram、ddrsdram、lpddrsdram和gram的多种易失性存储器或诸如fram、reram、stt-mram和pram的非易失性存储器中的任意一种。图10示出缓冲存储器6325被实现在控制器6320中。然而,缓冲存储器6325可位于控制器6320的外部。
ecc电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ecc值,在读取操作期间基于ecc值对从存储器装置6340读取的数据执行错误校正操作,并在失败数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口连接功能,并且非易失性存储器接口6326可提供与通过多个通道ch1至chi连接的存储器装置6340的接口连接功能。
此外,可提供可应用图1的存储器系统110的多个ssd6300来实施数据处理系统,例如,raid(独立磁盘冗余阵列)系统。raid系统可包括多个ssd6300和用于控制多个ssd6300的raid控制器。当raid控制器响应于从主机6310提供的写入命令执行编程操作时,根据从主机6310提供的写入命令的多个raid级别,即raid级别信息,raid控制器可在ssd6300中选择一个或多个存储器系统或ssd6300,并将对应于写入命令的数据输出到选择的ssd6300。此外,当raid控制器响应于从主机6310提供的读取命令执行读取操作时,根据从主机6310提供的读取命令的多个raid级别,即raid级别信息,raid控制器可在ssd6300中选择一个或多个存储器系统或ssd6300,并将从所选择的ssd6300读取的数据提供到主机6310。
图11是示意性地示出根据实施例的包括图1所示的存储器系统的数据处理系统的另一示例的示图。图11示意性地示出应用图1的存储器系统的嵌入式多媒体卡(emmc)6400。
参照图11,emmc6400可包括控制器6430和包括一个或多个nand闪速存储器的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130。存储器装置6440可对应于图1的存储器系统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)接口。
图12至图15是示意性地示出根据实施例的包括图1所示的存储器系统的数据处理系统的其它示例的示图。图12至图15示意性地示出可应用图1的存储器系统的ufs(通用闪存)系统。
参照图12至图15,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可以参照图8描述的存储卡系统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的各种协议中的任意一种彼此通信。
在图12所示的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。
在图13所示的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。
在图14所示的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。
在图15所示的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或者串联地或以链型形式连接到主机6810。多个ufs卡可并联地或以星型形式连接到ufs装置6820或者串联地或以链型形式连接到ufs装置6820。
图16是示意性地示出根据本发明的实施例的包括图1所示的存储器系统的数据处理系统的另一示例的示图。图16示意性地示出可应用图1的存储器系统的用户系统6900。
参照图16,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动用户系统6900中的诸如os的组件,并且包括控制用户系统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闪存和3dnand闪存等,并且存储模块6950可被设置为用户系统6900的诸如存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于上面参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上面参照图10至图15所述的ssd、emmc或ufs。
用户接口6910可包括用于向应用处理器6930输入数据或命令或将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器、压电元件等的用户输入接口以及诸如液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、led、扬声器、监控器等的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由应用处理器6930处理的数据,或支持从触摸面板接收数据的功能。
根据实施例的数据处理系统可使用主机的集成存储器来有效地执行后台操作。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
1.一种在数据处理系统中执行后台操作的方法,所述方法包括:
从存储器装置中设置的多个存储块中选择牺牲存储块;并且
当主机中的第一存储器的可用容量大于或等于所选择的牺牲存储块中存储的当前有效数据的大小时,将所述当前有效数据传送到所述第一存储器。
2.根据权利要求1所述的方法,其中所述第一存储器是所述主机中的集成存储器,所述方法进一步包括:
当将所述当前有效数据传送到所述主机的所述第一存储器时,将所述当前有效数据加载到控制器中的第二存储器。
3.根据权利要求2所述的方法,进一步包括:
当所述第一存储器的可用容量小于所述当前有效数据的大小时,将目标数据从所述第一存储器加载到所述第二存储器,所述目标数据是已从所述存储器装置中先前选择的牺牲存储块读取并存储在所述第一存储器中的有效数据;并且
将所述目标数据存储在所述存储器装置中的至少一个目标存储块中。
4.根据权利要求3所述的方法,进一步包括:
在将所述目标数据加载到所述第二存储器之后,从所述第一存储器删除所述目标数据;并且
将所述当前有效数据存储在所述第一存储器中。
5.根据权利要求3所述的方法,进一步包括:
在将所述目标数据存储在所述存储器装置的所述至少一个目标存储块中之前,根据预定标准对所述目标数据进行排列。
6.根据权利要求5所述的方法,其中根据对应于所述目标数据的逻辑地址的顺序对所述目标数据进行排列。
7.根据权利要求5所述的方法,其中根据所述目标数据是热数据还是冷数据来对所述目标数据进行分类,所述热数据是第一目标数据,并且所述冷数据是第二目标数据。
8.根据权利要求7所述的方法,其中所述第一目标数据和所述第二目标数据存储在不同的目标存储块中,并且其中所述后台操作是垃圾收集操作。
9.根据权利要求1所述的方法,进一步包括:
当所述第一存储器的可用容量改变时,在所述第二存储器中存储和更新关于所述第一存储器的可用容量的信息。
10.一种数据处理系统,包括:
主机,包括第一存储器;以及
存储器系统,包括存储器装置和控制器,其中,为了执行后台操作,所述存储器系统:
从所述存储器装置中设置的多个存储块中选择牺牲存储块;并且
当所述主机中的所述第一存储器的可用容量大于或等于所选择的牺牲存储块中存储的当前有效数据的大小时,将所述当前有效数据传送到所述第一存储器。
11.根据权利要求10所述的数据处理系统,其中所述第一存储器是所述主机中的集成存储器。
12.根据权利要求11所述的数据处理系统,其中所述存储器系统进一步:
当将所述当前有效数据传送到所述主机的所述第一存储器时,将所述当前有效数据加载到所述控制器中的第二存储器。
13.根据权利要求12所述的数据处理系统,其中所述存储器系统进一步:
当所述第一存储器的可用容量小于所述当前有效数据的大小时,将所述第一存储器中存储的目标数据加载到所述第二存储器,所述目标数据是已从所述存储器装置中先前选择的牺牲存储块读取并存储在所述第一存储器中的有效数据;并且
将所述目标数据存储在所述存储器装置中的至少一个目标存储块中。
14.根据权利要求13所述的数据处理系统,其中所述主机在将所述目标数据加载到所述第二存储器之后,从所述第一存储器删除所述目标数据,并且将所述当前有效数据存储在所述第一存储器中。
15.根据权利要求13所述的数据处理系统,其中所述存储器系统进一步:在将所述目标数据存储在所述至少一个目标存储块中之前,根据预定标准对所述目标数据进行排列。
16.根据权利要求13所述的数据处理系统,其中所述主机进一步:
当所述第一存储器的可用容量改变时,向所述控制器提供关于所述第一存储器的可用容量的信息,
其中所述第二存储器存储和更新关于所述第一存储器的可用容量的信息。
17.一种存储器系统,包括:
存储器装置,包括牺牲存储块和至少一个目标存储块;以及
控制器,联接到所述存储器装置并且具有第一存储器,所述控制器:将所述牺牲存储块中存储的当前有效数据加载到所述第一存储器中,并且当主机的第二存储器的可用容量大于或等于所述当前有效数据的大小时,将所述当前有效数据传送到所述主机。
18.根据权利要求17所述的存储器系统,其中所述第二存储器是所述主机中的集成存储器,并且
其中所述控制器加载所述当前有效数据并且将所述当前有效数据传送到所述主机,以便执行后台操作,其中所述控制器进一步:
当所述第二存储器的可用容量小于所述当前有效数据的大小时,将所述第二存储器中存储的目标数据加载到所述第一存储器,所述目标数据是已从所述存储器装置中先前选择的牺牲存储块读取并存储在所述第二存储器中的有效数据;并且
将所述目标数据存储在所述存储器装置中的所述至少一个目标存储块中。
19.根据权利要求18所述的存储器系统,其中所述控制器进一步:在将所述目标数据存储在所述至少一个目标存储块中之前,根据预定标准对所述目标数据进行排列。
20.根据权利要求19所述的存储器系统,其中根据对应于所述目标数据的逻辑地址的顺序,或者根据所述目标数据是热数据还是冷数据对所述目标数据进行排列。
技术总结