相关申请的交叉引用
本申请要求于2019年1月15日提交的申请号为10-2019-0004957的韩国专利申请的优先权,其通过引用整体并入本文。
各个实施例涉及一种存储器系统。
背景技术:
计算机环境范式已经转变成使计算系统可随时随地使用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
因为不具有移动部件,所以存储器系统具有诸如优异的稳定性和耐用性、高信息访问速度和低功耗的优点。具有这些优点的存储器系统的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡以及固态驱动器(ssd)。
技术实现要素:
各个实施例涉及一种能够提高前台操作的性能的存储器系统及其操作方法。
在实施例中,一种存储器系统的操作方法,该操作方法可以包括:基于当前时间和存储器系统在设置时间段内的使用,来确定垃圾收集触发条件;并且当满足垃圾收集触发条件时,执行垃圾收集操作。
在实施例中,一种存储器系统可以包括:存储器装置,被配置为存储数据;以及控制器,被配置为控制该存储器装置。该控制器可以包括:垃圾收集控制器,被配置为基于当前时间和存储器系统在设置时间段内的使用来确定垃圾收集触发条件;以及垃圾收集器,被配置为在满足垃圾收集触发条件时执行垃圾收集操作。
在实施例中,一种控制器的操作方法,该操作方法可以包括:基于从主机提供的时间信息,识别当前时间,该当前时间落在第一时间窗和第二时间窗中的一个内;并且在第一时间窗和第二时间窗期间,在分别满足第一触发条件和第二触发条件时,控制存储器装置以执行后台操作,其中在第一时间窗和第二时间窗期间,控制存储器装置,使得存储器装置分别根据第一和第二交替时段来交替地执行后台操作和所请求的前台操作。
附图说明
图1是示出包括在由控制器控制的存储器装置中的存储器单元阵列的示图。
图2a和图2b是示出包括多个存储块的存储器装置的示图。
图3是示意性示出根据本发明实施例的包括存储器系统的数据处理系统的结构的示图。
图4是示出根据本发明实施例的存储器系统的操作的流程图。
图5是示出根据本发明实施例的存储器系统的提高的性能的示图。
图6是示出根据本发明实施例的存储器系统的操作的流程图。
图7a和图7b是示出根据本发明实施例的基于垃圾收集模式的存储器系统的性能提高的示图。
图8是示出根据本发明一实施例的数据处理系统100的框图和流程图。
图9至图17是示意性地示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
下面参照附图描述本发明的各个实施例。应当理解,以下描述集中于本发明实施例的特征和方面;省略了对公知技术信息的描述,以免不必要地使这些特征和方面。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是两个元件之间仅有的元件,或者也可存在一个或多个中间元件。除非另有规定或上下文另有说明,否则无论是直接连接/联接还是间接连接/联接,两个元件之间的通信可以是有线的或无线的。
如本文所用,除非上下文另有明确说明,否则单数形式也可包括复数形式,反之亦然。除非另有说明或从上下文清楚地指向单数形式,否者在本申请和所附权利要求中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,但不排除存在或添加一个或多个其它元件。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
在整个说明书中,对“一个实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。
图1是示出包括在存储器装置150中的存储器单元阵列的配置的电路图。
参照图1,可以对应于存储器系统110(如图3所示)的存储器装置150中包括的多个存储块中的任一存储块的存储块330,可以包括联接到多个相应位线bl0至blm-1的多个单元串340。每个列的单元串340可包括一个或多个漏极选择晶体管dst和一个或多个源极选择晶体管sst。可在漏极选择晶体管dst和源极选择晶体管sst之间串联联接多个存储器单元mc0至mcn-1。在一个实施例中,存储器单元mc0至mcn-1中的每一个可以由能够存储多个数据位的mlc来实施。可将单元串340中的每一个电联接到多个位线bl0至blm-1中的相应位线。例如,如图1所示,将第一单元串联接到第一位线bl0,将最后单元串联接到最后位线blm-1。作为参考,在图1中,“dsl”表示漏极选择线,“ssl”表示源极选择线,“csl”表示共源线。
虽然图1示出了nand闪速存储器单元,但是本发明不限于此种方式。应注意的是,存储器单元可以是nor闪速存储器单元,或者包括内部组合了两个或更多个类型的存储器单元的混合闪速存储器单元。还应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者是包括作为电荷存储层的绝缘层的电荷撷取闪速(ctf)存储器装置。
存储器装置150可进一步包括电压供给装置310,该电压供给装置310根据操作模式而向字线提供包括编程电压、读取电压和通过电压的字线电压。电压供给装置310的电压产生操作可由控制电路(未示出)来控制。在控制电路的控制下,电压供给装置310可选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择存储块的字线中的一个,并且按需要将字线电压提供给所选择字线和未选择字线。
存储器装置150可包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可用作根据待存储在存储器单元阵列中的数据来驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待存储到存储器单元阵列中的数据,并根据所接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
根据每个存储器单元内能够存储的数据位的数量,存储器装置150中包括的多个存储块中的每一个可以是单层单元(slc)存储块或多层单元(mlc)存储块。slc存储块的每一个slc存储一个数据位,mlc存储块的每一个mlc存储多个数据位。每个存储器单元存储三个数据位的mlc存储块可以被称为三层单元(tlc)存储块,而每个存储器单元存储四个数据位的mlc存储块可以被称为四层单元(qlc)存储块。mlc存储块还包括由能够在一个存储器单元中存储五个或更多个数据位的存储器单元实现的存储块。
存储器装置150可由二维(2d)或三维(3d)存储器装置来实施。特别地,存储器装置150可以由具有3d堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3d结构时,存储器装置150可以包括多个3d存储块。
根据本发明的实施例,存储器装置150是诸如闪速存储器的非易失性存储器,例如nand闪速存储器。然而,可将存储器装置150实现为相变随机存取存储器(pcram)、电阻式随机存取存储器(rram或reram)、铁电随机存取存储器(fram)、自旋转移力矩磁性随机存取存储器(stt-ram或stt-mram)中的任意一种。然而,存储器装置150不限于非易失性存储器类型。
图2a和图2b示出了包括例如存储块block1至block5的多个存储块的存储器装置150。
举例来说,图2a和图2b示出了存储器装置150包括五个存储块。图2a和图2b中的每个存储块可以被配置为与参照图1描述的存储块330相同或相似。尽管作为示例,图2a和图2b示出了五个存储块,但是存储块的数量可以根据设计而变化。
每个存储块可以包括联接到多条字线的存储器单元。当联接到一条字线的存储器单元被称为页面时,每个存储块可以包括多个页面。图2a和图2b所示的每个存储块可以包括十个页面。
图1的电压供给装置310可以向字线施加电压以执行写入操作。也就是说,存储器装置150的写入操作的最小单位可以对应于联接到一条字线的存储器单元,即一个页面。
电压供给装置310可以向存储块330中包括的所有字线施加电压以执行擦除操作,从而移除在那些存储器单元中捕获的电荷。也就是说,存储器装置150的擦除操作的最小单位可以对应于一个存储块。
也就是说,可以基于不同单位来执行存储器装置150的写入操作和擦除操作,并且存储器装置150可以不支持重写操作。因此,为了更新存储在特定页面中的数据,控制器130(参见图3)可以控制存储器装置150以将待更新的数据写入另一页面,并且使现有页面无效。
在图2a和图2b中,有效页面由“valid”表示,无效页面由“invalid”表示,擦除页面由“erase”表示。
图2a示出了仅第五块(block5)是空闲块,而其他存储块是脏块的情况。空闲块可以指示所有页面是擦除页面或无效页面的存储块,其中所有页面是无效页面的存储块即为很快将被擦除的存储块。脏块可以指示非空闲块的存储块。
参照图2a,当存储器装置150中的无效页面的数量增加时,存储器装置150可能缺少足够的存储空间来存储数据。
为了去除存储块的无效页面,控制器130可以控制存储器装置150以将牺牲块的有效页面写入目标块并且对牺牲块执行擦除操作。这样的一系列操作可以被称为垃圾收集(gc)操作。参照图3描述这种控制器130。
图2b示出已经在图2a的存储器装置150中执行了垃圾收集操作。当第二至第四块(block2至block4)的有效数据被收集并传送到第五块(block5)时,可以生成三个空闲块。也就是说,block2、block3和block4已成为空闲块。参照图2b,存储器装置150可以执行垃圾收集操作以确保能够存储数据的存储空间。
图3示意性地示出了根据实施例的包括存储器系统110的数据处理系统100的结构。
数据处理系统100可以包括主机102和存储器系统110。存储器系统110可以包括参照图1描述的存储器装置150和用于控制存储器装置150的控制器130。
主机102可包括诸如移动电话、mp3播放器和膝上型计算机的各种便携式电子装置中的任何一种,或诸如台式计算机、游戏机、电视(tv)和投影仪的各种非便携式电子装置中的任何一种。
主机102可包括至少一个操作系统(os),该操作系统可管理和控制主机102的全部功能和操作,并且通过使用数据处理系统100或存储器系统110来提供主机102和用户之间的操作。os可支持与用户的使用目的和用途相对应的功能和操作。例如,根据主机102的移动性,os可被划分为通用os和移动os。根据用户的环境,通用os可被分为个人os和企业os。
例如,被配置为支持向一般用户提供服务的功能的个人os可包括windows和chrome,并且被配置为确保和支持高性能的企业os可包括windows服务器、linux和unix。此外,被配置为支持向用户提供移动服务的功能以及系统的省电功能的移动os可包括android、ios和windowsmobile。主机102可包括多个os,并且执行os以对存储器系统110执行与用户请求相对应的操作。
存储器系统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可包括存储器装置150和控制器130。
在实施例中,控制器130和存储器装置150可以集成到单个半导体装置中以构成固态驱动器(ssd)。当存储器系统110用作ssd时,可提高连接至存储器系统110的主机102的操作速度。在另一实施例中,控制器130和存储器装置150可集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(pcmcia)卡、标准闪存卡(cf)、智能媒体(sm)卡、记忆棒、包括尺寸减小的mmc(rs-mmc)和微型-mmc的多媒体卡(mmc)、包括迷你-sd卡、微型-sd卡和sdhc卡的安全数字(sd)卡或通用闪存(ufs)装置。
存储器系统110的非限制性应用示例可以包括计算机、超移动pc(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(pmp)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(dmb)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理的各种电子装置中的一个、射频识别(rfid)装置或构成计算系统的各种组件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力也可保留所存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将所存储的数据提供给主机102。存储器装置150可包括多个存储块152、154、156……,多个存储块中的每一个可包括多个页面,并且多个页面中的每一个可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3d)堆叠结构。
存储器系统110中的控制器130可以响应来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储在存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可以利用处理器、存储器和输入/输出端口来实施。
处理器可控制存储器系统110的全部操作。具体地,处理器可以响应来自主机102的写入请求或读取请求,来控制对存储器装置150的编程操作或读取操作。
例如,控制器130可以通过处理器执行主机102请求的操作,其中处理器可以被实现为微处理器或cpu。换言之,控制器130可以执行与从主机102接收的命令相对应的命令操作。控制器130可执行前台操作作为与从主机102接收到的命令相对应的命令操作。例如,控制器130可执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及与设置参数命令或设置特征命令相对应的参数设置操作。
控制器130可通过处理器对存储器装置150执行后台操作。
(控制器130的)存储器可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。更具体地,当控制器130响应来自主机102的请求来控制存储器装置150时,例如,当控制器130控制存储器装置150的读取、写入、编程和擦除操作,以便将从存储器装置150中读取的数据提供给主机102或者将从主机102提供的数据存储到存储器装置150中时,存储器可以存储对存储器系统110,即在控制器130和存储器装置150之间,执行这些操作所需的数据。
存储器可以通过易失性存储器来实施。例如,存储器可以通过静态随机存取存储器(sram)或动态随机存取存储器(dram)来实施。存储器可以设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器。在实施例中,存储器可通过具有用于在存储器和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。
如上所述,存储器可以存储在主机和存储器装置150之间执行数据写入/读取操作所需的数据,以及当执行数据写入/读取操作时的数据。为了存储这些数据,存储器可以包括编程存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
控制器130可以包括主机接口132、垃圾收集控制器134、垃圾收集器136以及诸如nand闪存控制器(nfc)的存储器接口142。
主机接口132可被配置成处理主机102的命令和数据,并且可通过诸如通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci-e或pcie)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)以及电子集成驱动器(ide)的各种接口协议中的一种或多种来与主机102通信。
可以通过被称为主机接口层(hil)的固件来驱动主机接口132,以便与主机102交换数据。
存储器接口142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,以便控制器130响应来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是nand闪速存储器时,存储器接口142可在处理器的控制下生成用于存储器装置150的控制信号并且处理待提供到存储器装置150的数据。存储器接口142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,nand闪存接口)。具体地,存储器接口142可支持控制器130和存储器装置150之间的数据传输。
可以通过被称为闪存接口层(fil)的固件来驱动存储器接口142,以便与存储器装置150交换数据。
在实施方案中,存储器接口142可以包括ecc组件。ecc组件可以校正由存储器装置150处理的数据的错误位,并且包括ecc编码器和ecc解码器。ecc编码器可以对待被编程在存储器装置150中的数据进行错误校正编码,以生成添加了奇偶校验位的数据。可以将添加了奇偶校验位的数据存储在存储器装置150中。ecc解码器可以检测和校正从存储器装置150读取的数据中包含的错误。
ecc组件可检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ecc组件可通过在ecc编码处理期间使用的ecc值,来对从存储器装置150读取的数据执行错误校正解码处理。根据错误校正解码处理的结果,ecc组件可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ecc组件可以不校正错误位,并且代替地,可输出错误校正失败信号。
ecc组件可通过诸如低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhuri-hocquenghem,bch)码、涡轮码、里德-所罗门(reed-solomon,rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)或分组编码调制(bcm)的编码调制来执行错误校正。但是,ecc组件不限于任何特定的代码或结构。ecc组件可以包括用于错误校正的任意和所有电路、模块、系统或装置。
垃圾收集器136可以执行参照图2a和图2b描述的垃圾收集操作。例如,垃圾收集器136可以检测存储器装置150中的空闲块的数量,并且基于所检测到的空闲块的数量来执行垃圾收集操作。例如,垃圾收集器136可以基于每个存储块中的有效页面的数量来选择牺牲块。垃圾收集器136可以控制存储器装置150以读取所选择的牺牲块中的有效页面。垃圾收集器136可以控制存储器装置150以将从存储器装置150读取的有效页面的数据写入到目标块。
垃圾收集操作是被执行以回收存储器装置150的存储空间的后台操作。但是,当正在执行垃圾收集操作时,存储器系统的前台操作的性能可能会降低。具体地,当在垃圾收集器136的控制下执行垃圾收集操作时,存储器装置150不能根据主机的请求来执行读取或写入操作。因此,前台操作的吞吐量可能降低。
存储器装置150可能不会全天地执行前台操作。例如,由于用户很少在夜间使用主机102,因此在此期间可能仅很少地执行存储器系统110的前台操作。此外,即使在夜间从主机102接收到请求,但是在该请求不是由用户而是由主机102自身做出的情况下,存储器系统110也可以不提供对相应请求的快速响应。
另一方面,用户在白天可能频繁地使用主机102,并且频繁地访问存储器系统110。也就是说,在白天期间,可能频繁地执行存储器系统110的前台操作。
在本说明书中,用户频繁使用主机102的时间窗可以被定义为活跃时间段(也可被称为活跃时间窗),用户很少使用主机102的时间窗可以被定义为非活跃时间段(也可被称为非活跃时间窗)。活跃时间窗和非活跃时间窗可以被实验性地或探试性地确定,并且与活跃时间窗和非活跃时间窗相关的信息可以存储在存储器系统110中。例如,活跃时间窗可以是白天,而非活跃时间窗可以是夜间。
主机102可以识别当前时间。图3示出了可以通过实时时钟(rtc)104来识别当前时间的主机102。存储器系统110可以通过从主机102接收时间信息来识别当前时间。
根据实施例,当当前时间处于非活跃时间窗时,与当前时间处于活跃时间窗相比,存储器系统110可以更频繁地执行垃圾收集操作,从而在存储器装置150中确保许多空闲块。在非活跃时间窗内,用户可能通过主机102提供较少的请求。因此,在非活跃时间窗内,即使由于存储器系统110频繁地执行垃圾收集操作而使前台操作的吞吐量降低,用户也可能不会感觉到性能降低,由于用户在这段时间内很少使用存储器系统110。
由于在非活跃时间窗内获得了许多空闲块,因此存储器系统110可以在活跃时间窗内使用所获得的空闲块来执行操作。因此,在活跃时间窗内,存储器系统110可以对来自主机102的请求提供快速响应。
根据实施例,垃圾收集控制器134可以基于当前时间来确定垃圾收集操作的频率。
根据实施例,垃圾收集控制器134可以基于当前时间以及分别关于用户何时最可能和最不可能使用存储器系统110,即活跃时间窗和非活跃时间窗的信息,来确定垃圾收集触发条件。例如,即使存储器装置150在非活跃时间窗内具有比在活跃时间窗内更多的空闲块,垃圾收集控制器134也可以确定垃圾收集触发条件,使得在非活跃时间窗内更频繁地执行垃圾收集操作,这可以在该时间段内获得存储器装置150所能获得的尽可能多的空闲块。在该情况下,在活跃时间窗期间,当用户最有可能正在使用存储器装置150时,已经确保了许多空闲块以提供较好的使用体验。
根据实施例,垃圾收集控制器134可以基于当前时间以及活跃使用时段和非活跃使用时段来确定垃圾收集模式。例如,垃圾收集控制器134可以确定垃圾收集模式,使得垃圾收集操作在非活跃时间窗内比在活跃时间窗内执行的时间更长。图4是示出根据实施例的存储器系统110的操作的流程图。
在步骤s402中,垃圾收集控制器134可以通过主机接口132从主机102接收时间信息。
在实施方案中,主机102可以在特定时段中向垃圾收集控制器134提供时间信息,该特定时段可被预先确定。在实施方案中,当控制器130在向主机102提供对主机102的请求的响应的同时,请求时间信息时,主机102可以响应于请求来将时间信息提供给垃圾收集控制器134。时间信息可以指示当主机102将时间信息提供给垃圾收集控制器134时的时间。垃圾收集控制器134可以基于时间信息来确定当前时间。
在步骤s404中,垃圾收集控制器134可以基于当前时间以及活跃时间窗和非活跃时间窗或者反映使用量或使用频率的时段来确定垃圾收集触发条件。
在实施例中,当存储器装置150中包括的空闲块的数量等于或小于阈值时,垃圾收集器136可以执行垃圾收集操作。垃圾收集控制器134可以根据当前时间是处于活跃时间窗还是处于非活跃时间窗来确定两个不同的阈值。在当前时间处于活跃时间窗内时,可以使用第一阈值,并且在当前时间处于非活跃时间窗内时,可以使用大于第一阈值的第二阈值。在实施例中,第一阈值和第二阈值中的每一个代表存储器系统110中的空闲块的最小数量。也就是说,在活跃时间窗内,仅当需要额外地获得空闲块时,垃圾收集控制器134才控制垃圾收集器136以执行垃圾收集操作。相反,在非活跃时间窗内,即使已经存在足够数量的空闲块,垃圾收集控制器134也可以控制垃圾收集器136执行垃圾收集操作,以获得更多的空闲块。本质上,在非活跃时间窗期间操作存储器系统110来储备空闲块,以在活跃时间窗期间确保它们的使用,而无需在活跃时间窗期间执行过多的垃圾收集操作,从而不会在活跃时间窗期间过分干扰正在执行的前台操作。
在步骤s406中,垃圾收集控制器134可以将所确定的垃圾收集触发条件提供给垃圾收集器136。
在步骤s408中,垃圾收集器136可以确定是否满足了所接收到的垃圾收集触发条件。
在实施例中,垃圾收集器136可以确定存储器装置150中包括的空闲块的数量是否等于或小于分别用于活跃时间窗和非活跃时间窗的第一阈值或第二阈值。
当满足所确定的垃圾收集触发条件时,在步骤s410中,垃圾收集器136可以执行垃圾收集操作。具体地,垃圾收集器136可以选择用于垃圾收集操作的牺牲块和目标块,并且控制存储器装置150以执行连同垃圾收集操作的读取、写入或擦除操作。
图5是示出根据实施例的存储器系统110的提高的性能的示图。
在图5的曲线图中,横轴表示时间,纵轴表示存储器装置150中的空闲块的数量。曲线图的横轴示出当前时间最初位于活跃时间窗502内,并且随着时间的流逝,落入非活跃时间窗504内,然后又回到活跃时间窗506内。曲线图的纵轴示出作为活跃时间窗的垃圾收集触发条件的第一阈值,以及作为非活跃时间窗的垃圾收集触发条件的第二阈值。
在活跃时间窗502内,存储器系统110需要提供对主机102的请求的快速响应。因此,垃圾收集器136不能执行许多垃圾收集操作。该曲线图示出了由于已经在存储器装置150中存储了很多数据,所以在活跃时间窗502内空闲块的数量保持在第一阈值附近,并且该曲线图还示出了在活跃时间窗内没有连续地或频繁地执行存储器系统110的垃圾收集操作。
在非活跃时间窗504内,存储器系统110不需要提供对主机102的请求的快速响应。因此,垃圾收集器136可以执行许多垃圾收集操作。该曲线图示出了在非活跃时间窗504内,将垃圾收集触发条件变成了第二阈值,即使空闲块的数量等于或大于第一阈值也执行垃圾收集操作,使得执行垃圾收集,直到空闲块的数量达到第二阈值为止。
在活跃时间窗506内,可以将数据写入在活跃时间窗504内获得的许多空闲块中。特别地,阴影时间段表示在使用空闲块时,在已达到第二阈值的空闲块的数量减少到第一阈值之前所经过的时间。但是,因为阴影时间段发生在活跃时间窗内,所以在空闲块的数量达到第一阈值之前,可以不执行垃圾收集操作。因此,可以提高在活跃时间窗内的存储器系统110的前台操作的吞吐量,并且用户可以感觉到存储器系统110的性能提高。
图6是示出根据实施例的存储器系统110的操作的流程图。
在步骤s602中,垃圾收集控制器134可以通过主机接口132从主机102接收时间信息。垃圾收集控制器134可以基于时间信息来确定当前时间。
在步骤s604中,垃圾收集控制器134可以基于当前时间以及基于活跃时间窗和非活跃时间窗或者反映使用量或使用频率的时段,来确定垃圾收集触发条件和垃圾收集模式。
垃圾收集触发条件可以与参照图4的步骤s404所描述的垃圾收集触发条件相同。
在实施例中,当满足垃圾收集触发条件并且从主机102接收到请求时,控制器130可以在两者之间交替地执行前台操作和垃圾收集操作,以便对主机102的请求提供快速响应。也就是说,可以重复以下一系列操作,直到完成操作中的一个或另一个:在第一持续时间期间执行了垃圾收集操作之后,在第二持续时间期间执行前台操作。在本说明书中,垃圾收集操作所持续的第一持续时间可以被称为垃圾收集操作的持续时间。垃圾收集控制器134可以通过改变垃圾收集操作的持续时间来确定垃圾收集模式。
图7a和图7b是示出基于垃圾收集模式的存储器系统110的性能提高的示图。
在图7a和图7b的示图中,横轴表示时间,纵轴定量地(quantitatively)表示垃圾收集操作的吞吐量。以相同比例示出了图7a和图7b的相应轴。
图7a的示图表示当垃圾收集模式是第一模式时的存储器系统110的性能。
参照图7a的示图,当存储器系统110需要执行垃圾收集操作和前台操作两者时,以交替方式在第一持续时间内执行垃圾收集操作gc并且在第二持续时间内执行前台操作fg。当存储器系统110执行垃圾收集操作时,垃圾收集操作的吞吐量可能增加。然而,当存储器系统110执行前台操作时,不能与前台操作同时执行垃圾收集操作。因此,垃圾收集操作的吞吐量可能降低。
图7b的示图表示当垃圾收集模式是第二模式时的存储器系统110的性能。在第二模式下,垃圾收集操作的持续时间可能比在第一模式下更长。
即使当垃圾收集模式是第二模式时,也可以如在第一模式中那样交替地执行第一持续时间内的垃圾收集操作gc和第二持续时间内的前台操作fg。
如图7a和图7b所示,除了在第二模式下的第一持续时间大于在第一模式下的第一持续时间之外,在第二模式下的、垃圾收集操作gc和所请求的前台操作fg每个连续执行一次的单个时段的总时间可比在第一模式下更长。
图7a和图7b的示图中所示的阴影部分表示垃圾收集操作的吞吐量。参照图7a和图7b,当将垃圾收集模式设置为第二模式时,与当将垃圾收集模式设置为第一模式时相比,垃圾收集器136可执行更长的垃圾收集操作。
当所接收到的当前时间处于活跃时间窗内时,垃圾收集控制器134可以将垃圾收集模式确定为第一模式。当所接收到的当前时间处于非活跃时间窗内时,垃圾收集控制器134可以将垃圾收集模式确定为第二模式。
重新参照图6,在步骤s606中,垃圾收集控制器134可以将所确定的垃圾收集触发条件和所确定的垃圾收集模式提供给垃圾收集器136。
在步骤s608中,垃圾收集器136可以确定是否满足所确定的垃圾收集触发条件。
当满足所确定的垃圾收集触发条件时,在步骤s610中,垃圾收集器136可以在所确定的垃圾收集模式下执行垃圾收集操作。
当所接收到的当前时间处于活跃时间窗内时,垃圾收集器136可以在第一模式下执行垃圾收集操作。因此,存储器系统110可以提供对主机102的请求的快速响应。
当所接收到的当前时间处于非活跃时间窗内中时,垃圾收集器136可以在第二模式下执行垃圾收集操作。因此,存储器系统110可以集中地执行垃圾收集操作。
根据参照图1至图7b描述的实施例,在当前时间处于非活跃时间窗内时,存储器系统110可以通过适当地确定垃圾收集触发条件和垃圾收集模式来促进垃圾收集操作,以在存储器装置150中确保大量的空闲块。相反,在当前时间处于活跃时间窗内时,存储器系统110可以通过使用在非活跃时间窗期间获得的许多空闲块来促进写入操作的更高效性能,从而提供对主机102的请求的快速响应。
根据实施例,垃圾收集控制器134可以设置附加操作条件以及垃圾收集触发条件和垃圾收集模式,以便促进非活跃时间窗内的垃圾收集操作。垃圾收集控制器134可以将附加操作条件提供给垃圾收集器136。
例如,垃圾收集控制器134可以改变用于选择垃圾收集操作的牺牲块的条件。在当前时间处于活跃时间窗内时,垃圾收集控制器134可以选择有效页面的数量等于或小于第一阈值的存储块作为牺牲块。此外,在当前时间处于非活跃时间窗内时,垃圾收集控制器134可以选择有效页面的数量等于或小于第二阈值的存储块作为牺牲块,其中第二阈值大于第一阈值。也就是说,垃圾收集控制器134可以在非活跃时间窗内选择更多的存储块作为牺牲块,并且控制垃圾收集器136执行垃圾收集操作,从而促进垃圾收集操作。
图8是示出根据本发明实施例的数据处理系统100的框图和流程图。
参照图8,数据处理系统100可以包括主机102和存储器系统110。存储器系统110可以包括参照图1描述的存储器装置150和用于控制存储器装置150的控制器130。
主机102可以与参照图3描述的主机相同。主机102可以通过实时时钟(rtc)104来识别当前时间。主机102可以将当前时间(时间信息)提供给控制器130。
控制器130可以确定由主机102提供的当前时间落入第一时间窗还是第二时间窗内,该第一时间窗和该第二时间窗一起构成一整天,即24小时的时段。两个时间窗的持续时间可以相等,但不必须相等。
在实施例中,第一时间窗可以是活跃时间窗,该活跃时间窗表示一天中的较多使用相关装置的部分,第二时间窗可以是非活跃时间窗,该非活跃时间窗表示一天中的较少使用相关装置的剩余部分。在实施例中,第一时间窗是一天的一半,包括白天的全部或大部分,第二时间窗是一天的另一半,即夜间的全部或大部分。在实施例中,第一时间窗是从09:00至21:00或从06:00至18:00。但是,第一时间窗和第二时间窗不必须分别与白天时段和夜间时段相关联。相反,可以将这些时间窗设置为与特定装置的实际使用相一致。因此,例如,如果特定装置在晚上比白天使用得更多,则可以将第一时间窗设置为夜间(或夜间的一部分),并且可以将第二时间窗设置为白天(或白天的一部分)。
可以在第一和第二时间窗内分别建立单独的触发条件以触发执行后台操作,例如垃圾收集操作(gc)。可以设置触发条件,以在第二时间窗即非活跃时间窗期间更积极地启用gc,并且在优先进行写入和读取操作的第一时间窗即活跃时间窗期间限制gc。因此,控制器130可以在分别在第一时间窗和第二时间窗期间,在分别满足第一触发条件和第二触发条件时,控制存储器装置150执行后台操作。
在实施例中,分别在第一时间窗和第二时间窗期间,当存储器装置150中的可用存储空间分别小于第一阈值和第二阈值时,控制器130可以控制存储器装置150以执行后台操作。也就是说,在第一时间窗期间,第一触发条件是存储器装置150中的可用存储空间小于第一阈值,并且在第二时间窗期间,第二触发条件是存储器装置150中的可用存储空间小于第二阈值。在实施例中,第一阈值小于第二阈值。
控制器130可以控制存储器装置150以在第一时间窗期间,如图7a所示的交替地执行后台操作和所请求的前台操作,并且在第二时间窗期间,如图7b所示的交替地执行后台操作和所请求的前台操作。
在实施例中,如图7a所示,第一交替时段可以是在第一模式下执行了一次后台操作(例如,垃圾收集操作)和所请求的前台操作单个时段。在实施例中,如图7b所示,第二交替时段可以是在第二模式下执行了一次后台操作(例如,垃圾收集操作)和所请求的前台操作的单个时段。
在实施例中,如图7a和7b所示,相比于第一交替时段,控制器130可以控制存储器装置150在第二交替时段中交替地执行更长时间的后台操作。在实施例中,如图7a和7b所示,第二交替时段比第一交替时段长。
图9至图17是示意性示出根据各个实施例的图1至图8的数据处理系统的应用示例的示图。
图9是示意性地示出根据实施例的包括存储器系统的数据处理系统的示图。图9示意性示出了应用存储器系统的存储卡系统6100。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可与由非易失性存储器(nvm)实施的存储器装置6130连接,并且被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机(未示出)之间的接口连接并且驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图3描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图3描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括随机存取存储器(ram)、处理器、主机接口、存储器接口和错误校正组件。
存储器控制器6120可通过连接器6110与例如图3的主机102的外部装置通信。例如,如参照图3所述,存储器控制器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-mram)的各种非易失性存储器装置中的任何一种来实施。
可将存储器控制器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可包括具有一个或多个非易失性存储器(nvms)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。数据处理系统6200可用作诸如存储卡(cf卡、sd卡等)或usb装置的存储介质,如参照图3描述的。存储器装置6230可对应于图3所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图3所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个中央处理单元(cpu)6221、诸如随机存取存储器(ram)6222的缓冲存储器、错误校正码(ecc)电路6223、主机接口6224以及诸如nvm接口6225的存储器接口。
cpu6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。ram6222可根据cpu6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓存存储器。当ram6222用作工作存储器时,由cpu6221处理的数据可被临时存储在ram6222中。ram6222可以用作缓冲存储器,用于缓冲从主机6210传送到存储器装置6230或从存储器装置6230传送到主机6210的数据。ram6222还可以用作高速缓存存储器,以辅助存储器装置6230以高速操作。
ecc电路6223可对应于图3所示的控制器130的ecc组件138。如参照图3所述,ecc电路6223可生成用于校正从存储器装置6230提供的数据的失败位或错误位的错误校正码(ecc)。ecc电路6223可对提供给存储器装置6230的数据执行错误校正编码,由此形成具有奇偶校验位的数据。奇偶校验位可存储在存储器装置6230中。ecc电路6223可对从存储器装置6230输出的数据执行错误校正解码。ecc电路6223可使用奇偶校验位来校正错误。例如,如参照图3所述,ecc电路6223可使用低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(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是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性示出应用了存储器系统的固态驱动器(ssd)6300。
参照图11,ssd6300可包括控制器6320和包括多个非易失性存储器(nvm)的存储器装置6340。控制器6320可对应于图3的存储器系统110中的控制器130,并且存储器装置6340可对应于图3的存储器系统中的存储器装置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)的各种非易失性存储器来实现。通过示例,图10示出缓冲存储器6325设置在控制器6320中。然而,缓冲存储器6325可被设置在控制器6320的外部。
ecc电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的错误校正码(ecc)值,在读取操作期间基于ecc值来对从存储器装置6340读取的数据执行错误校正操作,并且在失败数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与例如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道而连接的存储器装置6340的接口功能。
此外,可提供应用了图3的存储器系统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。
图12是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图12示意性地示出应用了存储器系统的嵌入式多媒体卡(emmc)6400。
参照图12,emmc6400可包括控制器6430和通过一个或多个nand闪速存储器实施的存储器装置6440。控制器6430可对应于图3的存储器系统110中的控制器130,并且存储器装置6440可对应于图3的存储器系统中的存储器装置150。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口(i/f)6431和例如nand接口(i/f)6433的存储器接口。
内核6432可控制emmc6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且nand接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作例如参照图3所述的mmc接口的并行接口。此外,主机接口6431可用作串行接口,例如超高速(uhs)-i和uhs-ii接口。
已经参照图8至图11描述的存储器控制器6120、存储器控制器6220、控制器6320和控制器6430可以基于当前时间来确定垃圾收集触发条件,并且根据是否满足垃圾收集触发条件来执行垃圾收集操作,从而提高用户所感觉的存储卡系统6100、数据处理系统6200、ssd6300和emmc6400的性能。
图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可由图3所示的存储器系统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可通过ufs接口,例如mipi(移动产业处理器接口)中的mipim-phy和mipiunipro(统一协议)彼此通信。此外,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处,通过链路层交换来彼此通信。根据实施例,示出了其中一个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处的链路层交换来彼此通信。根据实施例,示出了其中一个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集成为一个模块。根据实施例,示出了其中一个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,或串联或以链型形式连接至主机6810,并且多个ufs卡可并联或以星型形式连接至ufs装置6820,或以串联或链型形式连接至ufs装置6820。
图17是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图17示意性地示出应用了存储器系统的用户系统6900。
参照图17,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更具体地,应用处理器6930可驱动包括在例如操作系统(os)的用户系统6900中的组件,并且包括控制包括在用户系统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闪存,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图3所述的存储器系统110。此外,存储模块6950可被实施为如上参照图10至图15所述的ssd、emmc和ufs。
在实施例中,存储模块6950可以基于当前时间来确定垃圾收集触发条件,并且根据是否满足垃圾收集触发条件来执行垃圾收集操作,从而提高用户所感觉的存储模块6950的性能。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、发光二极管(led)、扬声器和监视器的用户输出接口。
此外,当图3的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由应用处理器6930处理的数据或支持从触摸面板接收数据的功能。
根据实施例,提供了一种能够提高前台操作的性能的存储器装置及其操作方法。
尽管已经说明和描述了各个实施例,但是根据本公开,本领域技术人员将清楚的是,在不脱离所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和修改。