数据存储装置及其操作方法与流程

文档序号:11250804
数据存储装置及其操作方法与流程

本申请要求于2016年3月7日向韩国知识产权局提交的申请号为10-2016-0027151的韩国申请的优先权,其全文通过引用并入本文。

技术领域

各个实施例总体涉及包括作为存储介质的非易失性存储器装置的数据存储装置。



背景技术:

最近,计算机环境范式已经转变为普适计算使得计算机系统可随时随地被使用。由于此,例如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经迅速增加。通常,这些便携式电子装置使用利用了存储器装置的数据存储装置。数据存储装置被用于存储待被用于便携式电子装置中的数据。

由于没有机械驱动部件,使用存储器装置的数据存储装置具有以下优点:优良的稳定性和耐久性、高信息存取速度和低功耗。具有这些优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪速存储(UFS)装置和固态驱动器(SSD)。



技术实现要素:

各个实施例涉及数据存储装置的操作方法,其能够根据有效页面分布特征值(distribution characteristic)优化垃圾收集操作。

在实施例中,用于操作数据存储装置的方法可以包括:确定与应当被保护的空存储块的最小数量成正比并且与表示使用存储块的有效页面被分布的状态的使用存储块的有效页面分布特征值成反比的触发值;在当前空存储块的数量大于触发值的情况下,执行垃圾收集操作第一垃圾收集吞吐量;以及在当前空存储块的数量等于或小于触发值的情况下,执行垃圾收集操作第二垃圾收集吞吐量。

在实施例中,用于操作数据存储装置的方法可以包括:确定使用存储块的有效页面分布特征值;以及基于使用存储块的有效页面分布特征值执行垃圾收集操作。

在实施例中,数据存储装置可以包括:存储器装置,其包括多个存储块;以及控制器,其适于确定在多个存储块中的使用存储块的有效页面分布特征值,并且基于使用存储块的有效页面分布特征值执行垃圾收集操作。

根据实施例,数据存储装置的垃圾收集操作可以被优化,并因此数据存储装置的操作速度可以被提升。

附图说明

图1是示出根据本发明的实施例的数据存储装置的框图。

图2是示出根据本发明的实施例的图1中所示的随机存取存储器中待被驱动的软件的简图。

图3是示出根据本发明的实施例的由图2的垃圾收集模块执行的垃圾收集操作的简图。

图4是示出根据本发明的实施例的垃圾收集操作的流程图。

图5是示出根据本发明的实施例的其中数据被高效地写入存储块中且因此触发值较小的示例的简图。

图6是示出根据本发明的实施例的其中数据被低效地写入存储块中且因此触发值较大的示例的简图。

图7是示出根据本发明的实施例的第一和第二垃圾收集操作的简图。

图8是示出根据本发明的实施例的包括数据存储装置的数据处理系统的框图。

图9是示出根据本发明的实施例的包括固态驱动器(SSD)的数据处理系统的框图。

图10是示出根据本发明的实施例的图9中所示的SSD控制器的示例性配置的框图。

图11是示出根据本发明的实施例的包括数据存储装置的计算机系统的框图。

图12是示出根据本发明的实施例的包括在数据存储装置中的非易失性存储器装置的框图。

具体实施方式

在本发明中,在阅读以下结合附图的示例性实施例之后,本发明的优点、特征及实现它们的方法将变得更显而易见。然而,本发明可以不同的形式被呈现并且不应被解释为限于本文所阐述的实施例。相反,这些实施例被提供以充分详细地描述本发明以使得本发明所属领域内的技术人员能够实施本发明。

在此应当理解的是,本发明的实施例不限于附图中所示出的细节并且附图不一定按比例绘制并且在一些实例中,为了更清楚地描述本发明的某些特征,比例可能已经被放大。尽管特定的术语被用于本文,但应当理解的是,本文所使用的术语只是为了描述特定的实施例而不是为了限定本发明的范围。

如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和所有的组合。将被理解的是,当元件被称作“在另一个元件上”、“连接至”或“联接至”另一个元件时,其可以直接在其它的元件上、连接或联接至其它的元件或者中间元件可以存在。如本文所使用的,除非上下文清楚地另外表明,否则单数形式也旨在包括复数形式。将进一步理解的是,在本说明中使用的术语“包括”、“包括有”、“包含”和/或“包含有”说明至少一个所述特征、步骤、操作和/或元件的存在,但不排除其一个或多个其它的特征、步骤、操作和/或元件的存在或添加。

在下文中,数据存储装置的操作方法将会参照附图并通过实施例的各个示例进行描述。

现在参照图1,根据本发明的实施例的数据存储装置100被提供。

根据图1的实施例,数据存储装置100可以包括控制器200和非易失性存储器装置300。控制器200可以包括控制单元210和随机存取存储器230。

数据存储装置100可以存储待被例如移动电话、MP3播放器、笔记本电脑、台式电脑、游戏机、TV、车载信息娱乐系统等的主机装置(未示出)访问的数据。数据存储装置100也可以被称作存储器系统。

根据与主机装置电联接的接口的协议,数据存储装置100可以被制成各种存储装置中的任意一种。例如,数据存储装置100可以被配置为各种存储装置中的任意一种,例如,固态驱动器,MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡,SD、迷你-SD和微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪速存储(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡类型存储装置,外围组件互联(PCI)卡类型存储装置,高速PCI(PCI-E)卡类型存储装置,标准闪存(CF)卡,智能媒体卡和记忆棒等。

数据存储装置100可以被制成例如堆叠封装(POP)、系统级封装(SIP)、系统级芯片(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)的各种封装中的任意一种。

控制单元210可以驱动编码类型的指令或算法(例如软件),并可以分析并处理从主机装置输入的请求。控制单元210可以通过存储器控制单元(未示出)控制非易失性存储器装置300以处理来自主机装置的请求。

随机存取存储器230可以存储待被控制单元210驱动的软件。而且,随机存取存储器230可以存储软件的驱动所必需的数据,例如元数据。即,随机存取存储器230可以作为控制单元210的工作存储器操作。随机存取存储器230可以临时存储待被从主机装置传输至非易失性存储器装置300或从非易失性存储器装置300传输至主机装置的数据。换言之,随机存取存储器230可以作为数据缓冲存储器或者数据高速缓冲存储器操作。

非易失性存储器装置300可以作为数据存储装置100的存储介质操作。非易失性存储器装置300可以由例如NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫系合金的相变随机存取存储器(PCRAM)以及使用过渡金属氧化物的电阻随机存取存储器(RERAM)的各种非易失性存储器装置中的任意一种配置。铁电随机存取存储器(FRAM)、磁性随机存取存储器(MRAM)、相变随机存取存储器(PCRAM)以及电阻随机存取存储器(RERAM)是能够随机访问存储器单元的非易失性随机存取存储器。非易失性存储器装置300可以被NAND闪速存储器装置与上述各种非易失性随机存取存储器装置的结合配置。在下文的描述中,由NAND闪速存储器装置配置的非易失性存储器装置300(在下文中被称作闪速存储器装置)将会被例示。

闪速存储器装置300可以包括存储器单元区域310。存储器单元区域310可以包括多个存储块。多个存储块的每个可以包括多个页面。从操作的角度或物理的(或结构的)角度来看,包括在存储器单元区域310中的存储器单元可以被配置成分层存储器单元组或存储器单元单元(memory cell unit)。例如,被联接至相同字线并且待被同时读取和写入(或编程)的存储器单元可以被配置成页面P。在下文的描述中,为便于解释,被配置成页面P的存储器单元将被称作“页面”。而且,待被同时擦除的存储器单元可以被配置成存储块B。

在下文的描述中,例如,存储器区域310被8个存储块B1至B8配置。而且,也作为一个示例,存储块B1至B8的每个被示为包括4个页面P1至P4。存储块和页面的数量可以在不脱离本发明的范围的情况下通过设计改变。

图2是示出根据本发明的实施例的图1中所示的随机存取存储器230中待被驱动的软件示例的简图。

数据存储装置100的控制单元210可以驱动被称作闪存转换层FTL的软件以控制闪速存储器装置300的至少一个固有操作并为主机装置提供装置兼容性。通过闪存转换层FTL的驱动,数据存储装置100可被主机装置识别为一般的数据存储装置,例如硬盘。

负载于随机存取存储器230上的闪存转换层FTL可以由用于执行各种功能的模块和驱动模块所需要的元数据配置。例如,如图2所示,闪存转换层FTL可以包括地址映射表MAP、损耗均衡模块WLM、坏块管理模块BBM和垃圾收集模块GCM。闪存转换层FTL的配置不限于上述模块,并且可以进一步包括模块,例如用于并行操作多个闪速存储器装置300的交错模块、用于管理意外断电的突然断电管理模块和在相关领域内已知的其它模块。

在主机装置访问数据存储装置100(例如,请求读取操作或写入操作)的情况下,主机装置可以将逻辑地址提供至数据存储装置100。闪存转换层FTL可以将提供的逻辑地址转换为闪速存储器装置300的物理地址,并通过参照被转换的物理地址执行被请求的操作。为了使这个地址转换操作被执行,地址转换数据(例如地址映射表MAP)可以被包括在闪存转换层FTL中。

损耗均衡模块WLM可以管理闪速存储器装置300的存储块B1至B8的损耗水平。通过擦除操作和写入操作,闪速存储器装置300的存储器单元可能老化。老化的存储器单元(即,损坏的存储器单元)可能导致故障,诸如,例如物理缺陷。为了防止某个存储块比其它存储块损坏得更快,损耗均衡模块WLM可以管理各自的存储块的擦除-写入计数,以这种方式达到均衡。

坏块管理模块BBM可以管理在闪速存储器装置300的存储块B1至B8中已经出现故障的存储块。如上所述,诸如例如物理缺陷的故障可出现在损坏的存储器单元中。存储在故障的存储器单元中的数据不可以被正常读出。此外,数据不可以被正常存储在故障的存储器单元中。坏块管理模块BBM可以管理包括故障存储器单元的存储块,以这种方式使其不被使用。

由于闪速存储器装置300的结构特点,其不支持数据的重写。即,将数据存储在已被写入数据的存储器单元中是不可能的。因此,为了将数据重写入已被写入数据的存储器单元中,应当首先进行擦除操作。这也被称作写入前的擦除操作。

闪速存储器装置300的擦除操作需要很长的时间。由于该原因,在擦除已被写入数据的存储器单元之后,控制单元210不将数据重写入擦除的存储器单元中。而是,控制单元210将待被写入已被写入数据的存储器单元中的数据存储在恢复至擦除状态的存储器单元中。通过控制单元210的该操作,有效数据和无效数据被混合在闪速存储器装置300中。视情况需要,控制单元210可以执行将有效数据收集至一个地方并擦除无效数据的一系列操作(即,垃圾收集操作)。垃圾收集操作可以被称为合并操作。

垃圾收集模块GCM可以对闪速存储器装置300的存储块B1至B8执行垃圾收集操作,如图3所示。垃圾收集模块GCM可以执行垃圾收集操作,同时执行来自主机装置的请求。另外,垃圾收集模块GCM可以执行垃圾收集操作,作为用于管理闪速存储器装置300的内部操作,而不管来自主机装置的请求。

图3示出根据本发明的实施例的由图2的垃圾收集模块GCM执行的垃圾收集操作。

根据图3的实施例,没有被写入任何数据的存储块(例如,擦除的存储块)被定义为空块EB。处于擦除状态的空块EB包括多个空页面EP。已被写入存储在其中的一些数据的存储块被定义为使用块UB。使用块UB可以包括至少一个空页面EP、有效数据被存储在其中的至少一个页面(下文中称作有效页面VP)和无效数据被存储在其中的至少一个页面(下文中称作无效页面IVP)。在使用存储块中,被确定为垃圾收集操作的目标的存储块,即,待对其执行垃圾收集操作的存储块被定义为弃置(victim)块VB。

在第一弃置块VB1的页面P1至P4中,有效页面P3和P4(除了空页面P1和P2以外)可以被分别复制到空块EB1的空页面P1和P2。而且,在第二弃置块VB2的页面P1至P4中,有效页面P3和P4(除了无效页面P1和P2以外)可以被分别复制到空块EB1的空页面P3和P4。复制有有效页面的空块EB1可以因此成为使用块UB3。在有效页面被复制之后,各自的弃置块VB1和VB2可以被擦除并成为空块EB2和EB3。

垃圾收集(GC)操作包括将有效页面VP从弃置块VB复制到空块EB的操作(即,写入操作),和擦除弃置块VB的操作。因此,垃圾收集(GC)操作可消耗控制器200的很多资源并且可需要很长的操作时间。因此,当垃圾收集(GC)操作被执行的时机或者垃圾收集(GC)操作所需要的时间被优化时,数据存储装置100的操作速度可以被提升。可替换地,当垃圾收集(GC)操作被执行的量,即垃圾收集(GC)执行量或处理量(下文中称为垃圾收集吞吐量)被优化时,数据存储装置100的操作速度可被提升。

图4是示出根据本发明的实施例的垃圾收集操作的流程图。

根据图4的实施例,由垃圾收集模块(GCM)执行的垃圾收集操作可以包括第一步骤(即,步骤S100)和第二步骤(即,步骤S200)。为了便于解释,第一步骤将参照图4至图6进行描述,并且第二步骤将随后参照图4和图7进行描述。

第一步骤(即,步骤S100)可以是确定待被执行的垃圾收集是何种类型的步骤。第一步骤(即,步骤S100)可以包括确定或计算触发值TV的步骤S110以及根据触发值TV确定待被执行的垃圾收集的类型的步骤S120。

在步骤S110中,触发值TV(或确定参考值)可以被确定。触发值TV可以如方程1计算。

其中,为了提供用于性能提升的内部操作所必需的空存储器区域(例如,保留区域或过量供给区域),MEB(下文中称作最小的空块)是空存储块的安全的最小数量。

VPDC是存储块B1至B8的(或中的)有效页面分布特征值,

UBVPA是使用块的有效页面的平均值,以及

NUB是使用块的数量。

有效页面分布特征值VPDC通过将使用块的有效页面的平均值(下文中称作平均有效页面)UBVPA除以使用块的数量NUB计算得出。有效页面分布特征值VPDC可以与平均有效页面UBVPA成正比。较小的有效页面分布特征值VPDC意味着使用块的平均有效页面UBVPA较少。因此,较小的有效页面分布特征值VPDC意味着数据被低效地写入存储块中,即,数据通过被分散在许多存储块上而被写入。相反地,较大的有效页面分布特征值VPDC意味着使用块的平均有效页面UBVPA较多。因此,较大的有效页面分布特征值VPDC意味着数据被高效地写入存储块中,即,数据通过被集中在某些存储块上而被写入。

触发值TV通过将最小空块MEB除以有效页面分布特征值VPDC计算得出。触发值TV与有效页面分布特征值VPDC成反比。因此,如果有效页面分布特征值VPDC增加,则触发值TV下降。换言之,如果数据被高效地写入到存储块中,则触发值TV下降。相反地,如果有效页面分布特征值VPDC下降,则触发值TV增加。换言之,如果数据被低效地写入到存储块中,则触发值TV增加。

由于触发值TV根据有效页面分布特征值VPDC确定,所以触发值TV是指示数据是被高效地写入还是被低效地写入的信息。因此,触发值TV可以被用作用于确定随后待被执行的垃圾收集的类型的参考值。

即,在步骤S120中,可以作比较以确定当前空块的数量NEB是否大于触发值TV。根据比较空块的数量NEB和触发值TV的结果,第一类型垃圾收集操作GC1或第二类型垃圾收集操作GC2可以被执行。例如,在空块的数量NEB大于触发值TV的情况下,进程可以进入到步骤S210,并且第一类型垃圾收集操作GC1可以被执行。相反地,在空块的数量NEB等于或小于触发值TV的情况下,进程可以进入到步骤S230,并且第二类型垃圾收集操作GC2可以被执行。

图5是示出数据被高效地写入到存储块中并且因此触发值TV较小的情况的简图。作为示例,最小空块MEB被假定为“1”。

根据图5的实施例,空块的数量NEB可以被确定为三“3”,即,空块B3、B4和B8。使用块的数量NUB可以被确定为“5”,即,使用块B1、B2、B5、B6和B7。平均有效页面UBVPA然后可以通过将使用块B1、B2、B5、B6和B7的有效页面的总数“10(=2+2+4+1+1)”除以使用块的数量NUB“5”而被确定为“2”。触发值TV可以通过将最小空块MEB“1”除以有效页面分布特征值VPDC“0.4”而被确定为“2.5”。

因为空块的数量NEB“3”大于触发值TV“2.5”,这意味着有效页面更密集地集中于使用块B1、B2、B5、B6和B7中。因为有效页面更密集地集中在使用块B1、B2、B5、B6和B7中,所以空块EB比最小空块MEB更安全,并且由于该原因,没有必要急于执行垃圾收集操作。因此,在空块的数量NEB大于触发值TV的情况下,其中非垃圾收集操作比垃圾收集操作被更密集地集中执行的第一类型垃圾收集操作GC1被执行。

图6是示出数据被低效地写入到存储块中并且因此触发值TV较大的情况的简图。作为示例,最小空块MEB被假定为“1”。

根据图6的实施例,空块的数量NEB可以被确定为“1”,即,空块B8。使用块的数量NUB可以被确定为“7”,即,块B1至B7。通过将使用块B1至B7的有效页面的总数“12(2+2+1+1+4+1+1)”除以使用块的数量NUB“7”,平均有效页面UBVPA可以被确定为“1.71”。触发值TV可以通过将最小空块MEB“1”除以有效页面分布特征值VPDC“0.245”被确定为“4.08”。

因为空块的数量NEB“1”等于或小于触发值TV“4.08”,这意味着有效页面被分散在使用块B1至B7中的各处。因为有效页面被分散在使用块B1至B7中的各处,所以空块EB没有最小空块MEB安全,并且由于该原因,有必要急于执行垃圾收集操作。因此,在空块的数量NEB等于或小于触发值TV的情况下,其中垃圾收集操作比非垃圾收集操作被更密集地集中执行的第二类型垃圾收集操作GC2可以被执行。

再次参照图4,第二步骤(即,步骤S200)可以是执行在第一步骤中确定的类型的垃圾收集操作垃圾收集吞吐量的步骤。第二步骤(即,步骤S200)可以包括其中第一类型垃圾收集操作GC1被执行的步骤S210和其中第二类型垃圾收集操作GC2被执行的步骤S230。

其中第一类型垃圾收集操作GC1被执行的步骤S210可以包括确定第一垃圾收集吞吐量GCTH1的步骤S211和执行垃圾收集操作第一垃圾收集吞吐量GCTH1的步骤S213。

在步骤S211中,第一垃圾收集吞吐量GCTH1可以被确定。第一垃圾收集吞吐量GCTH1可以按照方程2计算。

其中,方程2中的缩写词的解释如下。

LPD意为由于垃圾收集操作被执行而降低的性能的极限值(下文中称作极限性能)。极限性能LPD用于限制垃圾收集吞吐量。换言之,极限性能LPD可以用于控制垃圾收集操作被执行的比例以及非垃圾收集操作被执行的比例。

RGCTH作为函数f(v)的变量意为被需要的垃圾收集吞吐量。所需要的垃圾收集吞吐量RGCTH可以通过将弃置块的有效页面分布特征值VVPDC除以使用块的有效页面分布特征值VPDC计算得出。弃置块的有效页面分布特征值VVPDC通过将弃置块的平均有效页面VBVPA除以弃置块的数量NVB计算得出。使用块的有效页面分布特征值VPDC通过将使用块的平均有效页面UBVPA除以使用块的数量NUB计算得出。

假设弃置块的有效页面分布特征值VVPDC较小并且使用块的有效页面分布特征值VPDC较大,即,数据被低效地写入弃置块中并且数据被高效地写入使用块中。在这种情况下,通过执行垃圾收集操作而获得的收益通常较大。即,在这种情况下,尽管垃圾收集操作被执行至较小程度,但空块可以被容易地保护。因此,以如果弃置块的有效页面分布特征值VVPDC较小并且使用块的有效页面分布特征值VPDC较大,则垃圾收集操作被执行至较小程度这样的方式,所需要的垃圾收集吞吐量RGCTH可以被设为与弃置块的有效页面分布特征值VVPDC成正比并且与使用块的有效页面分布特征值VPDC成反比。

假设弃置块的有效页面分布特征值VVPDC较大并且使用块的有效页面分布特征值VPDC较小,即,数据被高效地写入弃置块中并且数据被低效地写入使用块中。在这种情况下,通过执行垃圾收集操作而获得的收益可能较小。即,在这种情况下,尽管垃圾收集操作被执行至较大程度,但空块可能不被容易地保护。因此,以如果弃置块的有效页面分布特征值VVPDC较大并且使用块的有效页面分布特征值VPDC较小,则垃圾收集操作被执行至较大程度这样的方式,所需要的垃圾收集吞吐量RGCTH可以被设为与弃置块的有效页面分布特征值VVPDC成正比并且与使用块的有效页面分布特征值VPDC成反比。

RUB作为函数f(v)的另一个变量意为使用块与总的存储块的比例。使用块的比例RUB通过将使用块的数量NUB除以总的块的数量NTB计算得出。使用块的比例RUB用于通过变量RGCTH控制被施加在函数f(v)上的影响。

第一垃圾收集吞吐量GCTH1可以根据极限性能LPD和函数f(v)被确定。因此,如图7所示,第一垃圾收集吞吐量GCTH1可以在极限性能LPD内变化。尽管所需要的垃圾收集吞吐量由函数f(v)确定,但是垃圾收集吞吐量可以由极限性能LPD限定。换言之,通过极限性能LPD,非垃圾收集操作EGC可以比垃圾收集操作GC更密集地被集中执行。由于该原因,第一类型垃圾收集操作GC1可以被定义为其中非垃圾收集操作EGC被执行的比例高于垃圾收集操作GC被执行的比例的垃圾收集操作。

例如,非垃圾收集操作EGC可以包括用于处理来自主机装置的请求的操作,例如,闪速存储器装置300的读取和写入操作,到主机装置的数据输入操作/来自主机装置的数据输出操作等。非垃圾收集操作EGC被执行得越多,则数据存储装置100达到数据输入/输出量令人满意的目标吞吐量TGTH变得越容易。

其中第二类型垃圾收集操作GC2被执行的步骤S230可以包括确定第二垃圾收集吞吐量GCTH2的步骤S231和执行垃圾收集操作第二垃圾收集吞吐量GCTH2的步骤S233。

在步骤S231中,第二垃圾收集吞吐量GCTH2可以被确定。第二垃圾收集吞吐量GCTH2可以按照方程3被计算。

其中,方程3中的缩写词的解释如下。

RGCTH作为函数f(v)的变量是所需要的垃圾收集吞吐量。所需的垃圾收集吞吐量RGCTH通过将弃置块的有效页面分布特征值VVPDC除以使用块的有效页面分布特征值VPDC计算得出。弃置块的有效页面分布特征值VVPDC通过将弃置块的平均有效页面VBVPA除以弃置块的数量NVB计算得出。使用块的有效页面分布特征值VPDC通过将使用块的平均有效页面UBVPA除以使用块的数量NUB计算得出。

假设弃置块的有效页面分布特征值VVPDC较小并且使用块的有效页面分布特征值VPDC较大,即,数据被低效地写入弃置块中并且数据被高效地写入使用块中。在这种情况下,通过执行垃圾收集操作所获得的收益较大。即,在这种情况下,尽管垃圾收集操作被执行至较小程度,但是空块可以被容易保护。因此,以如果弃置块的有效页面分布特征值VVPDC较小并且使用块的有效页面分布特征值VPDC较大,则垃圾收集操作被执行至较小程度这种方式,所需的垃圾收集吞吐量RGCTH可以被设为与弃置块的有效页面分布特征值VVPDC成正比并且与使用块的有效页面分布特征值VPDC成反比。

假设弃置块的有效页面分布特征值VVPDC较大并且使用块的有效页面分布特征值VPDC较小,即,数据被高效地写入弃置块中并且数据被低效地写入使用块中。在这种情况下,通过执行垃圾收集操作所获得的收益可能较小。即,在这种情况下,尽管垃圾收集操作被执行至较大程度,但是空块可能不被容易保护。因此,以如果弃置块的有效页面分布特征值VVPDC较大并且使用块的有效页面分布特征值VPDC较小,则垃圾收集操作被执行至较大程度这种方式,所需的垃圾收集吞吐量RGCTH可以被设为与弃置块的有效页面分布特征值VVPDC成正比并且与使用块的有效页面分布特征值VPDC成反比。

RUB是函数f(v)的另一个变量并且意为使用块与总的存储块的比例。使用块的比例RUB通过将使用块的数量NUB除以总的块的数量NTB计算得出。使用块的比例RUB用于通过变量RGCTH控制被施加在函数f(v)上的影响。

第二垃圾收集吞吐量GCTH2可以根据函数f(v)被确定。因此,如图7所示,第二垃圾收集吞吐量GCTH2可以在目标吞吐量TGTH内变化。即,为了保护空块,尽管当垃圾收集操作被执行时没有达到目标吞吐量TGTH,但垃圾收集操作GC仍可以更集中的方式被执行第二垃圾收集吞吐量GCTH2。由于该原因,第二类型垃圾收集操作GC2可以被定义为其中垃圾收集操作GC被执行的比例高于非垃圾收集操作EGC被执行的比例的垃圾收集操作。

图8是示出根据本发明的实施例的包括数据存储装置1200的数据处理系统1000的框图。

根据图8的实施例,数据处理系统1000可以包括主机装置1100和数据存储装置1200。

数据存储装置1200可以包括控制器1210和非易失性存储器装置1220。数据存储装置1200可以通过被联接至例如移动电话、MP3播放器、笔记本电脑、台式电脑、游戏机、TV、车载信息娱乐系统等的主机装置1100而使用。数据存储装置1200也可以被称作存储器系统。

控制器1210可以包括主机接口单元1211、控制单元1212、存储器接口单元1213、随机存取存储器1214和错误校正码(ECC)单元1215。

控制单元1212可以响应于来自主机装置1100的请求控制控制器1210的一般操作。控制单元1212可以驱动用于控制非易失性存储器装置1220的固件或软件。

控制单元1212可以执行上文参照图4至图7所描述的垃圾收集操作。因此,数据存储装置1200的垃圾收集操作可以被优化,并因此数据存储装置1200的操作速度可以被提升。

随机存取存储器1214可以被用作控制单元1212的工作存储器。随机存取存储器1214可以被用作临时存储从非易失性存储器装置1220中读取出的数据或主机装置1100提供的数据的缓冲存储器。

主机接口单元1211可以连接主机装置1100与控制器1210。例如,主机接口单元1211可以通过诸如通用串行总线(USB)协议、通用闪速存储(UFS)协议、多媒体卡(MMC)协议、外围组件互联(PCI)协议、高速PCI(PCI-E)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议和串列SCSI(SAS)协议等多种接口协议中的一种与主机装置1100通信。

存储器接口单元1213可以连接控制器1210与非易失性存储器装置1220。存储器接口单元1213可以向非易失性存储器装置1220提供命令和地址。而且,存储器接口单元1213可以与非易失性存储器装置1220交换数据。

错误校正码(ECC)单元1215可以ECC-编码待被存储在非易失性存储器装置1220中的数据。而且,错误校正码(ECC)单元1215可以ECC-解码从非易失性存储器装置1220中读取出的数据。

非易失性存储器装置1220可以被用作数据存储装置1200的存储介质。非易失性存储器装置1220可以包括多个非易失性存储器芯片(或管芯)NVM_1至NVM_k。

控制器1210和非易失性存储器装置1220可以被制成各种数据存储装置中的任意一种。例如,控制器1210和非易失性存储器装置1220可以被集成到一个半导体装置中并且可以被制成MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡,SD、迷你-SD和微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪速存储(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡,标准闪存(CF)卡,智能媒体卡,记忆棒等中的任意一种。

图9是示出根据本发明的实施例的包括固态驱动器(SSD)2200的数据处理系统2000的框图。

根据图9的实施例,数据处理系统2000可以包括主机装置2100和固态驱动器(SSD)2200。

SSD 2200可以包括SSD控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。

SSD控制器2210可以响应于来自主机装置2100的请求访问非易失性存储器装置2231至223n。

缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。而且,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n中读取出的数据。在SSD控制器2210的控制下,被临时存储在缓冲存储器装置2220中的数据可以被传输至主机装置2100或者非易失性存储器装置2231至223n。

非易失性存储器装置2231至223n可以被用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以分别通过多个通道CH1至CHn与SSD控制器2210联接。一个或多个非易失性存储器装置可以被联接至一个通道。被联接至每个通道的非易失性存储器装置可以被联接至相同的信号总线和数据总线。

电源2240可以将通过电源连接器2260输入的电力PWR提供至SSD 2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以供应电力以使得SSD 2200在发生突然断电时被正常终止。辅助电源2241可以包括具有较大电容、能够充电电力PWR的电容器。

SSD控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址和数据等。信号连接器2250可以根据主机装置2100和SSD 2200之间的接口方案由例如并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互联(PCI)、高速PCI(PCI-E)和通用闪速存储(UFS)协议中的一个的连接器配置。

图10是示出图9中所示的固态驱动器(SSD)控制器2210的示例性配置的框图。

根据图10的实施例,SSD控制器2210可以包括存储器接口单元2211、主机接口单元2212、错误校正码(ECC)单元2213、控制单元2214和随机存取存储器(RAM)2215。

存储器接口单元2211可以向非易失性存储器装置2231至223n提供例如命令和地址的控制信号。而且,存储器接口单元2211可以与非易失性存储器装置2231至223n交换数据。在控制单元2214的控制下,存储器接口单元2211可以将从缓冲存储器装置2220中传输的数据分散至各自的通道CH1至CHn。而且,在控制单元2214的控制下,存储器接口单元2211可以将从非易失性存储器装置2231至223n读取出的数据传输至缓冲存储器装置2220。

主机接口单元2212可以提供与和某协议对应的主机装置2100的连接。例如,主机接口单元2212可以通过并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互联(PCI)、高速PCI(PCI-E)和通用闪速存储(UFS)协议中的一个与主机装置2100通信。此外,主机接口单元2212可以执行支持主机装置2100的磁盘仿真功能以将SSD 2200识别为硬盘驱动器(HDD)。

控制单元2214可以分析并处理从主机装置2100输入的信号SGL。控制单元2214可以根据用于驱动SSD 2200的固件或软件控制缓冲存储器装置2220和非易失性存储器装置2231至223n的操作。随机存取存储器2215可被用作用于驱动固件或软件的工作存储器。

控制单元2214可以执行上文参照图4至图7所描述的垃圾收集操作。因此,SSD 2200的垃圾收集操作可以被优化,并因此SSD 2200的操作速度可以被提升。

在被存储在缓冲存储器装置2220中的数据中,错误校正码(ECC)单元2213可以产生待被传输至非易失性存储器装置2231至223n的奇偶校验数据。产生的奇偶校验数据可以和数据一起被存储在非易失性存储器装置2231至223n中。错误校正码(ECC)单元2213可以检测从非易失性存储器装置2231至223n中读取出的数据的错误。当检测的错误位于可校正的范围内时,错误校正码(ECC)单元2213可以校正检测的错误。

图11是示出根据本发明的实施例的包括数据存储装置3300的计算机系统3000的框图。

根据图11的实施例,计算机系统3000可以包括被电联接至系统总线3700的网络适配器3100、中央处理单元(CPU)3200、数据存储装置3300、随机存取存储器(RAM)3400、只读存储器(ROM)3500和用户接口3600。数据存储装置3300可以是图1中所示的数据存储装置100、图8中所示的数据存储装置1200或图9中所示的SSD 2200。

网络适配器3100可以提供计算机系统3000和外部网络之间的连接。中央处理单元3200可以执行用于驱动存在于RAM 3400处的操作系统或应用程序的一般计算处理。

数据存储装置3300可以存储计算机系统3000内所需的一般数据。例如,用于驱动计算机系统3000的操作系统、应用程序、各种程序模块、程序数据和用户数据可以被存储在数据存储装置3300中。

RAM 3400可以被用作计算机系统3000的工作存储器。一经启动,被从数据存储装置3300中读取出的操作系统、应用程序、各种程序模块和驱动程序所需的程序数据可以被加载到RAM 3400上。在操作系统被驱动前激活的基本输入/输出系统(BIOS)可以被存储在ROM 3500中。在计算机系统3000和用户之间的信息交换可以通过用户接口3600实现。

图12是示出根据本发明的实施例的包括在数据存储装置中的非易失性存储器装置300的框图。

根据图12的实施例,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、列解码器330、数据读取/写入块340、电压发生器350和控制逻辑360。

存储器单元阵列310可以包括被布置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域处的存储器单元MC。

行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制来操作。行解码器320可以解码由外部装置(未示出)提供的地址。行解码器320可以基于解码的结果选择并驱动字线WL1至WLm。例如,行解码器320可以将由电压发生器350提供的字线电压提供给字线WL1至WLm。

数据读取/写入块340可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块340可以包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块340可以根据控制逻辑360的控制来操作。数据读取/写入块340可以根据操作模式作为写入驱动器或读出放大器来操作。例如,数据读取/写入块340可以作为将由外部装置提供的数据在写入操作中存储在存储器单元阵列310中的写入驱动器来操作。又例如,数据读取/写入块340可以作为在读取操作中从存储器单元阵列310中读取出数据的读出放大器来操作。

列解码器330可以根据控制逻辑360的控制来操作。列解码器330可以解码由外部装置提供的地址。基于解码的结果,列解码器330可以将分别对应于位线BL1至BLn的数据读取/写入块340的读取/写入电路RW1至RWn与数据输入/输出线(或数据输入/输出缓冲区)联接。

电压发生器350可以产生待被用在非易失性存储器装置300的内部操作中的电压。由电压发生器350产生的电压可以被施加于存储器单元阵列310的存储器单元。例如,在编程操作中产生的编程电压可以被施加于待对其执行编程操作的存储器单元的字线。又例如,在擦除操作中产生的擦除电压可以被施加于待对其执行擦除操作的存储器单元的阱区。还例如,在读取操作中产生的读取电压可以被施加于待对其执行读取操作的存储器单元的字线。

基于由外部装置提供的控制信号,控制逻辑360可以控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,例如,非易失性存储器装置300的读取、写入和擦除操作。

还注意到,在一些实例中,除非另有明确说明,否则对于相关领域的技术人员将显而易见的是,结合一个实施例所描述的特征或元件可以被单独地使用或与另一个实施例的其它特征或元件相组合地使用。

尽管各个实施例在上文中已经被描述,但是本领域技术人员将要理解的是,所描述的实施例仅是示例。因此,本文所描述的数据存储装置的操作方法不应限于所描述的实施例。对于相关领域内的技术人员将是显而易见的是,可以做出各种改变和变型而不脱离如权利要求所限定的本发明的精神和范围。

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