存储器系统及其操作方法转让专利

申请号 : CN201910593642.X

文献号 : CN110928805B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李宗珉

申请人 : 爱思开海力士有限公司

摘要 :

本文描述了存储器系统及其操作方法。一种存储器系统,包括:存储器装置;存储器;多个队列;牺牲块管理器,适用于将与牺牲块相对应的垃圾收集信息存储在存储器中;队列管理器,适用于根据属性来分类垃圾收集信息和队列,并且将分类的垃圾收集信息分别排队到对应的队列;以及垃圾收集执行器,适用于基于排队的垃圾收集信息来控制存储器装置的垃圾收集操作。

权利要求 :

1.一种存储器系统,包括:

存储器装置;

存储器;

多个队列;

牺牲块管理器,适用于将与牺牲块相对应的垃圾收集信息存储在所述存储器中;

队列管理器,适用于根据属性来分类所述垃圾收集信息和所述队列,并且将分类的所述垃圾收集信息分别排队到对应的所述队列;以及垃圾收集执行器,适用于基于排队的所述垃圾收集信息来控制所述存储器装置的垃圾收集操作,其中所述队列中的每个队列中的所述垃圾收集信息中的每个垃圾收集信息包括与属性信息相对应的多个位,并且其中所述多个位在所述队列中的每个队列中相同,并且包括表示在突然断电之后是否执行恢复操作的一个位、表示所述牺牲块的类型的一个位以及表示目标块的类型的一个位。

2.根据权利要求1所述的存储器系统,其中所述队列管理器将与所述队列中的每个队列相对应的所述属性信息存储在所述存储器中。

3.根据权利要求1所述的存储器系统,其中当停止对所述牺牲块的有效页执行所述垃圾收集操作的操作时,所述垃圾收集执行器将所述有效页的地址信息存储在所述存储器中,并且从其地址信息被存储的所述有效页恢复所述垃圾收集操作。

4.根据权利要求1所述的存储器系统,其中所述队列管理器包括:突然断电管理器,适用于基于在突然断电之后是否需要恢复操作来将所述垃圾收集信息分类为第一子组和第二子组。

5.根据权利要求4所述的存储器系统,其中所述队列管理器包括:牺牲块类型管理器,适用于基于所述牺牲块是映射块还是数据块来将所述垃圾收集信息分类为第三子组和第四子组。

6.根据权利要求5所述的存储器系统,其中所述队列管理器包括:目标块类型管理器,适用于基于目标块是否是损耗均衡目标块来将所述垃圾收集信息分类为第五子组和第六子组。

7.根据权利要求6所述的存储器系统,其中所述队列管理器包括:分配器,适用于通过从由所述突然断电管理器、所述牺牲块类型管理器和所述目标块类型管理器所分类的所述垃圾收集信息中去除冗余信息来将所述垃圾收集信息分类为第一组至第八组。

8.根据权利要求4所述的存储器系统,其中所述突然断电管理器将与其读取计数等于或大于预定阈值的牺牲块相对应的垃圾收集信息分类为所述第一子组。

9.根据权利要求5所述的存储器系统,其中所述牺牲块类型管理器将与作为映射块的牺牲块相对应的垃圾收集信息分类为所述第三子组。

10.根据权利要求6所述的存储器系统,其中所述目标块类型管理器将与其擦除计数小于预定阈值的牺牲块相对应的垃圾收集信息分类为所述第五子组。

11.一种用于操作存储器系统的方法,包括:将对应于牺牲块的垃圾收集信息存储在存储器中;

根据属性来分类所述垃圾收集信息和多个队列,并且将分类的所述垃圾收集信息分别排队到对应的所述队列;以及基于排队的所述垃圾收集信息来控制存储器装置的垃圾收集操作,其中所述队列中的每个队列中的所述垃圾收集信息中的每个垃圾收集信息包括与属性信息相对应的多个位,并且其中所述多个位在所述队列中的每个队列中相同,并且包括表示在突然断电之后是否执行恢复操作的一个位、表示所述牺牲块的类型的一个位以及表示目标块的类型的一个位。

12.根据权利要求11所述的方法,其中在分类所述垃圾收集信息和所述队列中,将与所述队列中的每个队列相对应的所述属性信息存储在所述存储器中。

13.根据权利要求11所述的方法,其中在控制所述垃圾收集操作中,当停止对所述牺牲块的有效页执行所述垃圾收集操作的操作时,将所述有效页的地址信息存储在所述存储器中,并且从其地址信息被存储的所述有效页恢复所述垃圾收集操作。

14.根据权利要求11所述的方法,其中分类所述垃圾收集信息和所述队列包括:突然断电管理过程,

其中基于在突然断电之后是否需要恢复操作,将所述垃圾收集信息分类为第一子组和第二子组。

15.根据权利要求14所述的方法,其中分类所述垃圾收集信息和所述队列包括:牺牲块类型管理过程,

其中基于所述牺牲块是映射块还是数据块,将所述垃圾收集信息分类为第三子组和第四子组。

16.根据权利要求15所述的方法,其中分类所述垃圾收集信息和所述队列包括:目标块类型管理过程,

其中基于目标块是否是损耗均衡目标块,将所述垃圾收集信息分类为第五子组和第六子组。

17.根据权利要求16所述的方法,其中分类所述垃圾收集信息和所述队列包括:分配过程,

其中通过从通过所述突然断电管理过程、所述牺牲块类型管理过程和所述目标块类型管理过程而分类的所述垃圾收集信息中去除冗余信息,将所述垃圾收集信息分类为第一组至第八组。

18.根据权利要求14所述的方法,其中在所述突然断电管理过程中,将与其读取计数等于或大于预定阈值的牺牲块相对应的所述垃圾收集信息分类为所述第一子组。

19.根据权利要求15所述的方法,其中在所述牺牲块类型管理过程中,将与作为映射块的牺牲块相对应的所述垃圾收集信息分类为所述第三子组。

20.根据权利要求16所述的方法,其中在所述目标块类型管理过程中,将与其擦除计数小于预定阈值的牺牲块相对应的所述垃圾收集信息分类为所述第五子组。

21.一种用于操作包括控制器和存储器装置的存储器系统的方法,包括:检测所述存储器装置的多个存储器块之中的牺牲块;

生成与所述牺牲块相对应的垃圾收集信息;

基于垃圾收集操作的属性来分类所述垃圾收集信息和多个垃圾收集队列;

将分类的所述垃圾收集信息分别排队到对应的垃圾收集队列;

基于排队的所述垃圾收集信息来控制在所述存储器装置上执行的所述垃圾收集操作,其中关于分别与所述垃圾收集队列相对应的所述属性的信息被记录在所述控制器中的存储器中,所述存储器与所述垃圾收集队列分开,其中所述垃圾收集队列中的每个垃圾收集队列中的所述垃圾收集信息中的每个垃圾收集信息包括与属性信息相对应的多个位,并且其中所述多个位在所述垃圾收集队列中的每个垃圾收集队列中相同,并且包括表示在突然断电之后是否执行恢复操作的一个位、表示所述牺牲块的类型的一个位以及表示目标块的类型的一个位。

22.根据权利要求21所述的方法,其中基于以下来分类所述垃圾收集信息:在突然断电之后是否需要恢复操作;

所述牺牲块是映射块还是数据块;以及

目标块是否是损耗均衡目标块。

说明书 :

存储器系统及其操作方法

[0001] 相关申请的交叉引用
[0002] 本申请要求2018年9月20日提交的韩国专利申请序号 10‑2018‑0112757的优先权,其全部内容通过引用并入本文。

技术领域

[0003] 本发明的各种实施例涉及存储器系统,并且更具体地涉及能够有效地执行垃圾收集操作的存储器系统以及用于操作存储器系统的方法。

背景技术

[0004] 计算机环境范例已经转移到普适计算,这使得能够随时随地使用计算系统。结果,诸如移动电话、数码相机和膝上型计算机之类的便携式电子装置的使用迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。可以将存储器系统用作便携式电子装置的主存储器装置或辅助存储器装置。
[0005] 与硬盘装置相比,存储器系统提供优异的稳定性、耐用性、高信息访问速度和低功耗,因为它们没有移动部件。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储器卡、以及固态驱动器(SSD)。

发明内容

[0006] 本发明的实施例涉及一种能够有效地执行具有各种属性的垃圾收集操作的存储器系统。
[0007] 根据本发明的实施例,一种存储器系统包括:存储器装置;存储器;多个队列;牺牲块管理器,适用于将与牺牲块相对应的垃圾收集信息存储在存储器中;队列管理器,适用于根据属性来分类垃圾收集信息和队列,并且将分类的垃圾收集信息分别排队到对应的队列;以及垃圾收集执行器,适用于基于排队的垃圾收集信息来控制存储器装置的垃圾收集操作。
[0008] 根据本发明的另一个实施例,一种用于操作存储器系统的方法包括:将与检测到的牺牲块相对应的垃圾收集信息存储在存储器中;根据属性来分类垃圾收集信息和多个队列,并且将分类的垃圾收集信息分别排队到对应的队列;以及基于排队的垃圾收集信息来控制存储器装置的垃圾收集操作。
[0009] 根据本发明的另一个实施例,一种用于操作存储器系统的方法包括:检测存储器装置的多个存储器块之中的牺牲块;生成与牺牲块相对应的垃圾收集信息;基于垃圾收集操作的属性来分类垃圾收集信息和多个垃圾收集队列;将分类的垃圾收集信息分别排队到对应的垃圾收集队列;基于排队的垃圾收集信息来控制在存储器装置上执行的垃圾收集操作,其中关于分别与垃圾收集队列相对应的属性的信息被记录在控制器中的存储器中,该存储器与垃圾收集队列分开;并且其中基于以下来分类垃圾收集信息:在突然断电之后是否需要恢复操作;牺牲块是映射块还是数据块;以及目标块是否是损耗均衡目标块。

附图说明

[0010] 图1是示出传统垃圾收集队列的框图。
[0011] 图2是示出根据本发明的实施例的垃圾收集队列的框图。
[0012] 图3是示出根据本发明实施例的包括存储器系统的数据处理系统的框图。
[0013] 图4是描述根据本发明的实施例的操作存储器系统的过程的流程图。
[0014] 图5是示出根据本发明的实施例的存储器系统的框图。
[0015] 图6是突然断电管理器的详细框图。
[0016] 图7是描述根据本发明的实施例的操作突然断电管理器的过程的流程图。
[0017] 图8是牺牲块类型管理器的详细框图。
[0018] 图9是描述根据本发明的实施例的操作牺牲块类型管理器的过程的流程图。
[0019] 图10是目标块类型管理器的详细框图。
[0020] 图11是描述根据本发明的实施例的操作目标块类型管理器的过程的流程图。
[0021] 图12是队列管理器504的详细框图。
[0022] 图13是示出图3中所示的存储器系统中采用的存储器装置的配置的示意图。
[0023] 图14是示出图3中所示的存储器装置中的存储器块的存储器单元阵列的配置的电路图。
[0024] 图15是示出根据本发明的实施例的存储器系统的存储器装置的结构的框图。
[0025] 图16至图24是示意性地示出根据本发明的各种实施例的数据处理系统的各种应用示例的图。

具体实施方式

[0026] 以下将参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式被实现,并且不应该被解释为限于本文阐述的实施例。相反,提供这些实施例是为了使本公开彻底和完整,并且向本领域技术人员充分传达本发明的范围。贯穿本公开,在本发明的各个图和实施例中,相同的附图标记指代相同的部件。
[0027] 应注意,对“一个实施例”、“另一个实施例”等的引用不一定意指仅一个实施例,并且对任何这样的短语的不同引用不一定是指 (一个或多个)相同实施例。
[0028] 应当理解,尽管本文可以使用术语“第一”和/或“第二”来描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅被用来区分一个元件和另一个元件。例如,在不脱离本公开的教导的情况下,下面讨论的第一元件可以被称为第二元件。类似地,第二元件也可以被称为第一元件。
[0029] 应当理解,当一个元件被称为“耦合”或“连接”到另一个元件时,它可以直接耦合或连接到另一个元件,或者可以在它们之间存在中间元件。相反,应该理解,当一个元件被称为“直接耦合”或“直接连接”到另一个元件时,不存在中间元件。应以相同的方式诠释其他解释元件之间的关系的表达式,诸如“在……之间”、“直接在...... 之间”、“与......相邻”或“直接与......相邻”。
[0030] 本文使用的术语仅用于描述特定实施例的目的,而不旨在是限制性的。在本公开中,除非上下文另有明确指示,否则单数形式也旨在包括复数形式。本申请和所附权利要求中使用的冠词“一”和“一个”通常应被诠释为意指“一个或多个”,除非另有说明或从上下文清楚地指向单数形式。将进一步理解,当在本说明书中使用时,术语“包括”、“包含”、“具有”等指定所述特征、数字、步骤、操作、元件、部件和/或它们的组合的存在,但不排除存在或添加一个或多个其他特征、数字、步骤、操作、元件、部件和/或其组合。
[0031] 上述实施例仅用于理解本公开的技术精神的目的,并且本公开的范围不应局限于上述实施例。对于本公开所属领域的技术人员显而易见的是,除了上述实施例之外,还可以基于本公开的技术精神进行其他修改。
[0032] 除非另外定义,否则本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。除非在本公开中另外定义,否则这些术语不应被诠释为理想的或过于正式的。
[0033] 在下文中,将参考附图详细描述本发明的各种实施例。
[0034] 垃圾收集操作可以指代将牺牲块的有效数据复制到目标块中的操作。通常,闪存可以检测包括其数目等于或大于预定阈值的多个无效页的存储器块作为牺牲块,以便防止存储器空间被浪费,并且在牺牲块上执行垃圾收集操作。在执行将包括在牺牲块中的有效页复制到目标块中的垃圾收集操作之后,闪存可以对牺牲块执行擦除操作。闪存可以通过垃圾收集操作将无效页转换为空页来获得存储器空间。
[0035] 根据属性可以存在各种垃圾收集操作。例如,根据牺牲块的类型,垃圾收集操作可以是其中牺牲块是映射块的垃圾收集操作,或者是其中牺牲块是数据块的垃圾收集操作。映射块是用于存储映射数据的块,并且数据块是用于存储主机数据或系统数据的块。
[0036] 此外,根据目标块的类型,垃圾收集操作可以包括损耗均衡垃圾收集操作和正常垃圾收集操作。损耗均衡垃圾收集操作可以是当目标块的擦除计数等于或大于预定阈值时将牺牲块的冷数据复制到目标块中的垃圾收集操作。正常垃圾收集操作可以是如上所述将牺牲块的有效数据复制到目标块中以便将无效页转换为空页而不管目标块的擦除计数如何的垃圾收集操作。
[0037] 根据当由于发生诸如突然断电之类的特殊事件而丢失存储在易失性存储器中的垃圾收集信息时是否执行恢复操作,垃圾收集操作可以是恢复垃圾收集操作或非恢复垃圾收集操作。恢复垃圾收集操作可以包括读取回收垃圾收集操作和坏块垃圾收集操作。读取回收垃圾收集操作可以是这样的垃圾收集操作,其中将读取计数等于或大于预定阈值的牺牲块的有效数据复制到目标块中,以便防止当在特定存储器块中频繁执行读操作时可能发生的读取干扰现象。此外,坏块垃圾收集操作可以是这样的垃圾收集操作,其中当在将数据编程到某个块中时发生编程故障时,将在发生编程故障以前的被正常编程在发生编程故障的牺牲块中的有效数据复制到目标块。
[0038] 闪存可以将包括牺牲块和目标块的地址信息的垃圾收集信息以及作为关于垃圾收集操作的属性的信息的属性信息排队到控制器中的队列,并且基于排队的垃圾收集信息顺序地执行垃圾收集操作。传统上,可以将垃圾收集信息排队到单个队列,并且可以针对每个垃圾收集信息个别地记录属性信息。因此,当垃圾收集操作具有多种属性和许多牺牲块时,被属性信息所占用的存储器空间可能增加。
[0039] 图1是示出传统垃圾收集队列的框图。
[0040] 可以在图1中假设,垃圾收集队列122排队第一至第十六垃圾收集信息,并且垃圾收集信息具有三种属性。垃圾收集信息的属性可以包括在突然断电之后是否执行恢复操作、牺牲块的类型以及目标块的类型。
[0041] 垃圾收集信息可以包括3位属性信息。属性信息的最高有效位 (MSB)可以表示在突然断电之后是否执行恢复操作,中央有效位 (CSB)可以表示牺牲块的类型,并且最低有效位(LSB)可以表示目标块的类型。
[0042] 当在突然断电之后需要恢复操作时,闪存可以在最高有效位 (MSB)中记录值“1”,并且当在突然断电之后不需要恢复操作时,在最高有效位(MSB)中记录值“0”。此外,当牺牲块是数据块时,闪存可以在中央有效位(CSB)中记录值“1”,并且当牺牲块是映射块时,在中央有效位(CSB)中记录值“0”。此外,当目标块是损耗均衡目标块时,闪存可以在最低有效位(LSB)中记录值“1”,并且当目标块不是损耗均衡目标块时,闪存可以在最低有效位(LSB) 中记录值“0”。
[0043] 由于针对每个垃圾收集信息个别地记录属性信息,闪存可能将属性信息记录在第一至第十六垃圾收集信息中的每一个中,并且将第一至第十六垃圾收集信息排队到垃圾收集队列122。因此,闪存可能需要48位,这是通过将分配给属性信息的3位乘以垃圾收集信息的数目16来获得的,以便将属性信息记录到第一至第十六垃圾收集信息中。
[0044] 图2是示出根据本发明的实施例的垃圾收集队列的框图。
[0045] 如之前参考图1所述,在本发明的该特定实施例中可以假设和描述垃圾收集信息具有三种属性,并且可以由多个垃圾收集队列排队的垃圾收集信息的总数是16。
[0046] 根据本发明的实施例,控制器(稍后在图3中描述)可以包括与根据属性信息可能存在的所有情况的数目一样多的垃圾收集队列215 至285。例如,当垃圾收集信息具有三种3
属性时,控制器可以根据3 位属性信息将垃圾收集信息分类为八(=2)种情况,并且控制器可以包括八个垃圾收集队列215至285,其分别对应于基于三种属性信息所分类的八种情况的垃圾收集信息。
[0047] 控制器可以将分别对应于垃圾收集队列215至285的属性信息记录在单独的存储器295中,并且将对应于属性信息的垃圾收集信息排队到对应的垃圾收集队列。控制器可以包括单独的存储器295,并且单独的存储器295可以是易失性存储器。例如,通过在单独的存储器 295中记录'111'作为对应于第一垃圾收集队列215的属性信息,控制器可以将与表示在突然断电之后需要恢复操作、牺牲块是数据块、并且目标块是损耗均衡目标块的情况相对应的第一和第九垃圾收集信息排队在第一垃圾收集队列215中。
[0048] 控制器可以根据属性对第一至第十六垃圾收集信息进行分类,并且将分类后的垃圾收集信息排队到与该属性相对应的垃圾收集队列。根据本发明的实施例,可以将属性信息记录在垃圾收集队列中,并且可以将与该属性相对应的垃圾收集信息排队到对应的垃圾收集队列。因此,为了根据属性对第一至第十六垃圾收集信息进行分类,可能需要通过将分配给属性信息的3位乘以作为垃圾收集队列的数目的8所获得的总共24位。根据本发明的实施例,由于可以将属性信息记录在根据属性信息分类的队列中,而无需针对每个垃圾收集信息单独记录属性信息,因此可以降低将属性分配给垃圾收集信息所需的存储器空间。
[0049] 图3是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
[0050] 参见图3,数据处理系统100可以包括存储器系统110和可操作地耦合到存储器系统110的主机102。
[0051] 主机102可以包括诸如移动电话、MP3播放器和膝上型计算机之类的各种便携式电子装置中的任何一种或者诸如台式计算机、游戏机、电视和投影仪之类的各种非便携式电子装置中的任何一种。
[0052] 主机102可以包括至少一个OS(操作系统)或多个操作系统。主机102可以执行OS以在存储器系统110上执行与用户的请求相对应的操作。这里,主机102可以向存储器系统110提供与用户请求相对应的多个命令。因此,存储器系统110可以执行对应于多个命令(即,对应于用户的请求)的某些操作。OS可以管理和控制主机102的整体功能和操作。OS可以使用数据处理系统100或存储器系统110来支持主机102和用户之间的操作。
[0053] 存储器系统110可以响应于来自主机102的请求来操作或执行特定功能或操作,并且特别地,可以存储要由主机102访问的数据。存储器系统110可以被用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,可以利用各种类型的存储器装置中的任何一种来实现存储器系统110,其可以与主机102电耦合。存储器系统 110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)和嵌入式MMC(eMMC)。
[0054] 存储器系统110可以包括各种类型的存储装置。此类存储装置的非限制性示例包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)之类的易失性存储器装置以及诸如只读存储器 (ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FeRAM)、相变RAM(PCRAM)、磁阻式RAM(MRAM)、电阻式RAM(ReRAM)和闪存之类的非易失性存储器装置。
[0055] 存储器系统110可以包括存储器装置150和控制器130。
[0056] 控制器130和存储器装置150可以被集成到单个半导体装置中,该半导体装置可以被包括在如上所述的各种类型的存储器系统中的任何一种中。例如,控制器130和存储器装置150可以被集成为单个半导体装置以构成SSD、PCMCIA(个人计算机存储器卡国际协会) 卡、包括mini‑SD、micro‑SD和SDHC在内的SD卡、以及UFS装置。存储器系统110可以被配置作为计算机、智能电话、便携式游戏机的一部分或构成计算系统的各种部件之一。
[0057] 存储器装置150可以是非易失性存储器装置,即使没有供电,它也可以保留所存储的数据。存储器装置150可以存储通过写入操作从主机102提供的数据,并且通过读取操作将存储在其中的数据输出到主机102。在一个实施例中,存储器装置150可以包括多个存储器管芯(未示出),并且每个存储器管芯可以包括多个平面(未示出)。每个平面可以包括多个存储器块152至156,每个存储器块可以包括多个页,每个页可以包括耦合到字线的多个存储器单元。在一个实施例中,存储器装置150可以是具有3维(3D)堆叠结构的闪存。
[0058] 在本文中,下面将参考图13至图15详细描述存储器装置150的结构和存储器装置150的3D立体堆叠结构。
[0059] 控制器130可以响应于来自主机102的请求来控制存储器装置 150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。为了该操作,控制器130可以控制存储器装置150的读取、写入、编程和擦除操作。
[0060] 具体而言,控制器130可以包括主机接口(主机I/F)132、处理器134、存储器接口(I/F)142和存储器144。参见图5,处理器134 可以包括牺牲块(牺牲BLK)管理器502、队列管理器504和垃圾收集执行器506。存储器接口142还可以包括如图2中所示的第一至第八垃圾收集队列215至285。存储器144可以包括如图2中所示的单独的存储器295。
[0061] 主机接口132可以处理主机102的命令和数据。主机接口132可以通过诸如通用串行总线(USB)、多媒体卡(MMC)、外围部件快速互连(PCI‑E)、小型计算机系统接口(SCSI)、串行附接SCSI (SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和集成驱动电子装置(IDE)之类的各种接口协议中的一个或多个来与主机102通信。可以经由固件(即,主机接口层(HIL))来驱动主机接口132,以用于与主机102交换数据。
[0062] 存储器接口142可以用作控制器130和存储器装置150之间的存储器/存储接口,使得控制器130可以响应于来自主机102的请求来控制存储器装置150。
[0063] 存储器144可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。
[0064] 存储器144可以是易失性存储器。例如,存储器144可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。可以将存储器144设置在控制器130内部或外部。图3示出了设置在控制器130内的存储器144。在一个实施例中,存储器144可以是外部易失性存储器,其具有用于在存储器144和控制器130之间传送数据的存储器接口。
[0065] 如上所述,存储器144可以包括程序存储器、数据存储器、写缓冲器/高速缓存、读缓冲器/高速缓存、数据缓冲器/高速缓存以及映射缓冲器/高速缓存,以存储执行主机102和存储器装置150之间的数据写入和读取操作所需的一些数据以及控制器130和存储器装置150执行这些操作所需的其他数据。
[0066] 处理器134可以控制存储器系统110的整体操作。处理器134可以使用固件来控制存储器系统110的整体操作。固件可以被称为闪存转换层(FTL)。可以用微处理器、中央处理单元(CPU)等来实现处理器134。
[0067] 例如,控制器130可以通过处理器134执行由主机102在存储器装置150中请求的操作。此外,控制器130可以通过处理器134在存储器装置150上执行后台操作。在存储器装置150上执行的后台操作可以包括将存储在存储器装置150的存储器块152至156之中的一些存储器块中的数据复制和处理到其他存储器块中的操作,即,垃圾收集(GC)操作。后台操作可以包括在存储器块152至156之间或在存储器块152至156的数据之间执行交换的操作,即,损耗均衡(WL) 操作。后台操作可以包括将存储在控制器130中的映射数据存储在存储器块152至156中的操作,即,映射刷新操作。后台操作可以包括检测和处理存储器装置150中的存储器块152至156之中的坏块的操作,即,坏块管理操作。
[0068] 图4是描述根据本发明的实施例的操作存储器系统110的过程的流程图。
[0069] 在步骤S402中,处理器134可以基于有效页的数目、执行的读取操作的数目(其也可以被称为“读取计数”)、执行的擦除操作的数目(也可以被称为“擦除计数”)和编程失败信息来检测牺牲块。处理器134可以检测其有效页的数目等于或大于预定阈值的块、其读取计数等于或大于预定阈值的块、其擦除计数小于预定阈值的块、以及发生编程故障的块作为牺牲块。
[0070] 在步骤S404中,处理器134可以针对在步骤S402中检测到的牺牲块生成垃圾收集信息infoGC,并且将生成的垃圾收集信息infoGC存储在存储器144中。垃圾收集信息infoGC可以包括牺牲块的地址信息和目标块的地址信息。目标块可以是用于通过垃圾收集操作对牺牲块的有效数据进行编程的块。
[0071] 在步骤S406中,处理器134可以从存储器144读取在步骤S404 中生成的垃圾收集信息infoGC,以根据属性进行分类。根据本发明的实施例,属性可以包括在突然断电之后是否执行恢复操作、牺牲块的类型、以及目标块的类型,并且处理器134可以根据属性将垃圾收集信息infoGC分类成8种情况。例如,处理器134可以将其中在突然断电之后需要执行恢复操作、并且牺牲块是数据块、并且目标块是损耗均衡目标块的垃圾收集信息infoGC分类为第一组。此外,处理器134 可以将在突然断电之后不需要恢复操作、并且牺牲块是映射块、并且目标块不是损耗均衡目标块的垃圾收集信息infoGC分类为第八组。
[0072] 在步骤S408中,处理器134可以将在步骤S406中根据属性分类的第一至第八垃圾收集信息infoGC排队到第一至第八垃圾收集队列 215至285。根据本发明的实施例,处理器134可以记录与第一至第八垃圾收集队列215至285中的每一个相对应的属性信息。
[0073] 在步骤S410中,处理器134可以基于在步骤S408中排队的垃圾收集信息infoGC来控制存储器装置150的垃圾收集操作。根据本发明的实施例,当基于垃圾收集信息infoGC将牺牲块的所有有效页复制到目标块中时,处理器134可以从垃圾收集队列中删除垃圾收集信息 infoGC。当在垃圾收集操作期间并非牺牲块的所有有效页都被复制到目标块中时需要停止垃圾收集操作时,处理器134可以将其中执行了垃圾收集操作的牺牲块的有效页的地址记录到另一个存储器中。处理器134可以参考牺牲块的有效页的记录的地址,以从垃圾收集操作被中断的有效页恢复垃圾收集操作。
[0074] 图5是示出根据本发明的实施例的存储器系统110的框图。图5 仅示意性地示出了与图3的数据处理系统100相关的组成元件。
[0075] 如早先参考图3所述,处理器134可以包括牺牲块管理器502、队列管理器504和垃圾收集执行器506。此外,存储器接口142可以包括第一至第八垃圾收集队列215至285。队列管理器504可以包括突然断电(SPO)管理器602、牺牲块类型管理器802、目标块类型管理器1002和分配器1202,其将在本说明书中稍后描述。
[0076] 牺牲块管理器502可以检测牺牲块并且将针对牺牲块的垃圾收集信息infoGC存储在存储器144中。垃圾收集信息infoGC可以包括牺牲块的地址信息和目标块的地址信息。牺牲块管理器502可以选择有效页的数目小于预定阈值的块、读取计数等于或大于预定阈值的块、以及擦除次数小于预定阈值的块作为牺牲块。
[0077] 队列管理器504可以根据属性对存储在存储器144中的垃圾收集信息infoGC进行分类。根据本发明的实施例,属性可以包括在突然断电之后是否执行恢复操作、牺牲块的类型以及目标块的类型。参见图 6、图8和图10,队列管理器504可以根据在突然断电之后是否执行恢复操作、牺牲块的类型、以及目标块的类型来将垃圾收集信息infoGC分类为第一至第六子组。如稍后将参考图12描述的那样,队列管理器504可以通过从上面分类的第一至第六子组中去除重叠的垃圾收集信息infoGC来将垃圾收集信息infoGC分类为第一至第八组,并且将它们排队到与这些组相对应的垃圾收集队列。
[0078] 图6是图5中所示的队列管理器504的突然断电管理器602的详细框图。
[0079] 根据本发明的实施例,突然断电管理器602可以包括读取计数管理元件604和第一分类元件606。
[0080] 读取计数管理元件604可以基于存储在存储器144中的垃圾收集信息infoGC来测量牺牲块的读取计数。读取计数管理元件604可以向第一分类元件606提供垃圾收集信息infoGC和针对每个牺牲块测量的读取计数信息infoRC。
[0081] 第一分类元件606可以基于提供的读取计数信息infoRC将垃圾收集信息infoGC分类为第一和第二子组。第一分类元件606可以在垃圾收集信息infoGC之中将其中牺牲块的读取计数等于或大于预定阈值的垃圾收集信息infoGC分类为第一子组Infosub1。第一分类元件606可以在垃圾收集信息infoGC中将其中牺牲块的读取计数小于预定阈值的垃圾收集信息infoGC分类为第二子组Infosub2。第一分类元件606可以向分配器1202(未示出)提供关于第一和第二子组的信息infosub1和 infosub2。
[0082] 根据本发明的实施例,突然断电管理器602可以将其读取计数等于或大于阈值的牺牲块的垃圾收集信息infoGC分类为在突然断电之后需要恢复操作的垃圾收集信息infoGC。当垃圾收集信息被排队到垃圾收集队列时,可以初始化牺牲块的读取计数。因此,尽管垃圾收集信息被排队到垃圾收集队列,但在由于发生突然断电而未执行读取回收垃圾收集操作时,除非执行恢复操作,否则无法检测到物理损坏的读取回收目标块。因此,突然断电管理器602可以将读取计数等于或大于预定阈值的牺牲块的垃圾收集信息infoGC分类为第一子组,并且当发生突然断电时,执行针对第一子组的恢复操作。
[0083] 图7是描述根据本发明的实施例的操作突然断电管理器602的过程的流程图。
[0084] 在步骤S702中,队列管理器504的突然断电管理器602可以基于存储在存储器144中的垃圾收集信息infoGC来测量牺牲块的读取计数RCvictim。
[0085] 在步骤S704中,断电管理器602可以将在步骤S702中测量的读取计数RCvictim与预定阈值(THRC)进行比较。
[0086] 在步骤S706中,当牺牲块的测量的读取计数RCvictim等于或大于预定阈值THRC时(步骤S704中的“是”),突然断电管理器602可以将对应于牺牲块的垃圾收集信息分类为第一子组Infosub1。
[0087] 在步骤S708中,当牺牲块的测量的读取计数RCvictim小于预定阈值THRC时(步骤S704中的“否”),突然断电管理器602可以将对应于牺牲块的垃圾收集信息分类为第二子组Infosub2。
[0088] 图8是图5中所示的队列管理器504的牺牲块类型管理器802的详细框图。
[0089] 牺牲块类型管理器802可以包括数据类型管理元件804和第二分类元件806。
[0090] 数据类型管理元件804可以基于存储在存储器144中的垃圾收集信息infoGC来检测牺牲块是映射块还是数据块。数据类型管理元件 804可以向第二分类元件806提供关于针对每个牺牲块检测到的牺牲块类型的信息infoVT。
[0091] 第二分类元件806可以基于所提供的牺牲块的类型信息infoVT将垃圾收集信息infoGC分类为第三和第四子组。当牺牲块是映射块时,第二分类元件806可以将与牺牲块相对应的垃圾收集信息infoGC分类为第三子组。当牺牲块是数据块时,第二分类元件806可以将与牺牲块相对应的垃圾收集信息infoGC分类为第四子组。第二分类元件806 可以向分配器1202(未示出)提供关于第三和第四子组的信息infosub3和infosub4。
[0092] 图9是描述根据本发明的实施例的操作牺牲块类型管理器802的过程的流程图。
[0093] 在步骤S902中,队列管理器504的牺牲块类型管理器802可以基于存储在存储器144中的垃圾收集信息infoGC来检测牺牲块是映射块还是数据块。
[0094] 在步骤S904中,当牺牲块是映射块(步骤S902中的“映射”) 时,牺牲块类型管理器802可以将对应于牺牲块的垃圾收集信息 infoGC分类为第三子组Infosub3。
[0095] 在步骤S906中,当牺牲块是数据块(步骤S902中的“数据”) 时,牺牲块类型管理器802可以将对应于牺牲块的垃圾收集信息 infoGC分类为第四子组Infosub4。
[0096] 图10是图5中所示的队列管理器504的目标块类型管理器1002 的详细框图。
[0097] 目标块类型管理器1002可以包括擦除计数管理元件1004和第三分类元件1006。
[0098] 擦除计数管理元件1004可以基于存储在存储器144中的垃圾收集信息infoGC来测量牺牲块的擦除计数。擦除计数管理元件1004可以向第三分类元件1006提供垃圾收集信息infoGC和针对每个牺牲块测量的擦除计数信息infoEC。
[0099] 第三分类元件1006可以基于提供的擦除计数信息infoEC将垃圾收集信息infoGC分类为第五和第六子组。第三分类元件1006可以在垃圾收集信息infoGC之中将牺牲块的擦除计数小于预定阈值的垃圾收集信息infoGC分类为第五子组。第三分类元件1006可以在垃圾收集信息infoGC之中将牺牲块的擦除计数等于或大于预定阈值的垃圾收集信息infoGC分类为第六子组。第三分类元件1006可以向分配器1202 (未示出)提供关于第五和第六子组的信息infosub5和infosub6。
[0100] 根据本发明的实施例,目标块类型管理器1002可以将其擦除计数小于阈值的牺牲块的有效数据确定为冷数据。目标块类型管理器 1002可以通过将针对存储冷数据的牺牲块的垃圾收集信息分类为第五子组,来分别地分类针对损耗均衡垃圾收集操作的垃圾收集信息。损耗均衡垃圾收集操作可以是将牺牲块的冷数据复制到其擦除计数等于或大于阈值的存储器块中的操作。因此,目标块类型管理器1002 可以通过分别地分类针对损耗均衡垃圾收集操作的垃圾收集信息,来将其擦除计数等于或大于阈值的目标块的垃圾收集信息分类为第五子组。
[0101] 图11是描述根据本发明的实施例的操作目标块类型管理器1002 的过程的流程图。
[0102] 在步骤S1102中,队列管理器504的目标块类型管理器1002可以基于存储在存储器144中的垃圾收集信息infoGC来测量牺牲块的擦除计数infoEC。
[0103] 在步骤S1104中,目标块类型管理器1002可以将在步骤S1102 中测量的擦除计数infoEC与预定阈值(THEC)进行比较。
[0104] 在步骤S1106中,当牺牲块的擦除计数小于预定阈值THEC时(步骤S1104中的“是”),目标块类型管理器1002可以将与牺牲块相对应的垃圾收集信息分类为第五子组Infosub5。
[0105] 在步骤S1108中,当测量的牺牲块的擦除计数等于或大于预定阈值THEC时(步骤S1104中的“否”),目标块类型管理器1002可以将与牺牲块相对应的垃圾收集信息分类为第六子组Infosub6。
[0106] 图12是队列管理器504的详细框图。
[0107] 如早先参考图5所述,队列管理器504可以包括突然断电管理器 602、牺牲块类型管理器802、目标块类型管理器1002和分配器1202。
[0108] 分配器1202可以通过从突然断电管理器602、牺牲块类型管理器 802和目标块类型管理器1002提供的第一至第六子组信息Infosub1至 Infosub6中去除重叠的垃圾收集信息,来将垃圾收集信息分类为第一至第八组。例如,分配器1202可以将包括在第一、第三和第五子组中的垃圾收集信息分类为第一组、将包括在第二、第三、和第五子组中的垃圾收集信息分类为第二子组,并且将包括在第二、第四和第六子组中的垃圾收集信息分类为第八子组。
[0109] 分配器1202可以将包括在存储器接口142中的第一至第八垃圾收集队列215至285的属性信息记录到存储器144中。根据本发明的实施例,对应于各个垃圾收集队列的属性信息可以是3位。然而,这仅仅是示例,并且与个体垃圾收集队列相对应的属性信息可以根据设计而不同。分配器1202可以在最高有效位(MSB)、中央有效位(CSB) 和最低有效位(LSB)中记录在突然断电之后是否执行恢复操作、牺牲块的类型以及目标块的类型。
[0110] 分配器1202可以将第一至第八组的垃圾收集信息infoGC1至 infoGC8分别排队到对应的垃圾收集队列215至285。根据本发明的实施例,分配器1202可以记录针对每个垃圾收集队列的属性信息,而不记录针对每个垃圾收集信息的属性信息,以便通过根据属性来分类垃圾收集信息并且将垃圾收集信息分别排队到对应的垃圾收集队列来提高存储器空间的效用效率。而且,根据本发明的实施例,由于相同属性的垃圾收集信息被排队到同一队列,因此可以缩短用于搜索垃圾收集信息的时间。
[0111] 返回参见图5,垃圾收集执行器506可以基于排队到垃圾收集队列215至285的垃圾收集信息来控制存储器装置150的垃圾收集操作。根据本发明的实施例,当基于垃圾收集信息将牺牲块的所有有效页复制到目标块中时,垃圾收集执行器506可以从垃圾收集队列中删除垃圾收集信息。当在垃圾收集操作期间并非所有牺牲块的有效页都被复制到目标块中并且垃圾收集执行器506必须停止垃圾收集操作时,可以将其中执行了垃圾收集操作的牺牲块的有效页的地址记录在单独的存储器中。垃圾收集执行器506可以通过参考牺牲块的有效页的地址来从垃圾收集操作被中断的有效页恢复垃圾收集操作。
[0112] 在下文中,将参考图13至图15更详细地描述根据本发明实施例的存储器系统中的存储器装置。
[0113] 图13是示出存储器装置150的示意图。图14是示出存储器装置 150中的存储器块330的存储器单元阵列的配置的电路图。图15是示出存储器装置150的3D结构的示意图。
[0114] 参见图13,存储器装置150可以包括多个存储器块BLOCK0至 BLOCKN‑1,其中N是大M于1的整数。块BLOCK0至BLOCKN‑1中的每一个可以包括多个页,例如,2 或M个页,其数目可根据电路设计而变化,M是大于1的整数。每个页可以包括耦合到多个字线 WL的多个存储器单元。
[0115] 此外,相应存储器块BLOCK0至BLOCKN‑1中的存储器单元可以是存储1位数据的单级单元(SLC)存储器块或存储2位数据的多级单元(MLC)存储器块中的一个或多个。因此,取决于可在存储器块中的每个存储器单元中表达或存储的位的数目,存储器装置150可以包括SLC存储器块或MLC存储器块。SLC存储器块可以包括由存储器单元体现的多个页,每个存储器单元存储一位数据。SLC存储器块通常可以具有比MLC存储器块更高的数据计算性能和更高的耐用性。MLC存储器块可以包括由存储器单元体现的多个页,每个存储器单元存储多位数据(例如,2位或更多位)。MLC存储器块通常可以具有比SLC存储器块更大的数据储存空间,即,更高的集成密度。在另一个实施例中,存储器装置150可以包括多个三级单元(TLC) 存储器块。在又一个实施例中,存储器装置150可以包括多个四级单元(QLC)存储器块。TCL存储器块可以包括由存储器单元体现的多个页,每个存储器单元能够存储3位数据。QLC存储器块可以包括由存储器单元体现的多个页,每个存储器单元能够存储4位数据。
[0116] 存储器装置150不局限于仅非易失性存储器。作为示例而非限制,存储器装置150可以由相变随机存取存储器(PCRAM)、电阻式随机存取存储器(ReRAM)、铁电随机存取存储器(FeRAM)和自旋转移力矩磁随机存取存储器(STT‑MRAM)中的任何一个实现。
[0117] 存储器块BLOCK0至BLOCKN‑1可以存储通过编程操作从主机 102传送的数据,并且可以通过读取操作将存储在其中的数据传送到主机102。
[0118] 参见图14,存储器块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。
[0119] 尽管图14示出了NAND闪存单元,但是本公开不限于此。注意,存储器单元可以是NOR闪存单元,或包括组合在其中的两种或更多种存储器单元的混合闪存单元。此外,应注意,存储器装置150可以是包括导电浮栅作为电荷储存层的闪存装置或包括绝缘层作为电荷储存层的电荷陷阱闪存(CTF)装置。
[0120] 存储器装置150可以进一步包括电压供应310,其根据操作模式生成包括编程电压、读取电压和通过电压在内的不同字线电压以供应给字线。电压供应310的电压生成操作可以由控制电路(未示出)控制。在控制电路的控制下,电压供应310可以根据可能需要选择存储器单元阵列的至少一个存储器块(或区段),选择所选择的存储器块的至少一个字线,并且将字线电压提供给所选择的字线和未选择的字线。
[0121] 存储器装置150可以包括由控制电路控制的读/写电路320。在验证/正常读取操作期间,读/写电路320可以作为感测放大器操作,以用于从存储器单元阵列读取(感测和放大)数据。在编程操作期间,读/写电路320可以作为写驱动器操作,以用于根据要被存储在存储器单元阵列中的数据向位线供应电压或电流。在编程操作期间,读/写电路320可以从缓冲器(未示出)接收要被存储到存储器单元阵列中的数据,并且根据接收的数据驱动位线。读/写电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页缓冲器322至326。页缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
[0122] 存储器装置150可以由2D或3D存储器装置来体现。特别地,如图14中所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来体现。当存储器装置150具有3D结构时,存储器装置 150可以包括多个存储器块BLK0至BLKN‑1。在此,图15是示出图 3中所示的存储器装置150的存储器块152、154和156的框图。存储器块152、154和156中的每一个可以以3D结构(或垂直结构)来实现。例如,存储器块152、154和156可以包括在第一至第三方向(例如,x轴方向、y轴方向和z轴方向)上延伸的3D结构的结构。
[0123] 包括在存储器装置150中的每个存储器块330可以包括沿第二方向延伸的多个NAND串NS、以及沿第一方向和第三方向延伸的多个 NAND串NS(未示出)。在本文中,每个NAND串NS可以耦合到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚设字线DWL、以及公共源极线CSL,并且每个NAND串NS可以包括多个晶体管结构TS。
[0124] 简而言之,存储器装置150的存储器块152、154和156之中的每个存储器块330可以耦合到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚设字线DWL和多个公共源极线CSL,并且每个存储器块330可以包括多个NAND串NS。而且,在每个存储器块330中,一个位线BL可以耦合到多个NAND串 NS,以在一个NAND串NS中实现多个晶体管。而且,每个NAND 串NS的串选择晶体管SST可以耦合到对应的位线BL,并且每个 NAND串NS的接地选择晶体管GST可以耦合到公共源极线CSL。在本文中,存储器单元MC可以被设置在每个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间。换句话说,可以在存储器装置150的存储器块152、154和156的每个存储器块330中实现多个存储器单元。
[0125] 在下文中,将参见图16至图24更详细地描述根据本发明实施例的数据处理系统和电子装置,其中参考图1至图15描述的包括存储器装置150和控制器130的存储器系统110被应用到数据处理系统和电子装置。
[0126] 图16是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图16示意性地示出了存储器系统可以被应用到的存储器卡系统。
[0127] 参见图16,存储器卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
[0128] 更具体地,存储器控制器6120可以电连接到存储器装置6130,并且被配置为访问由非易失性存储器体现的存储器装置6130。例如,存储器控制器6120可以控制存储器装置6130的读取、写入、擦除和后台操作。存储器控制器6120可以提供存储器装置6130和主机之间的接口,并且使用固件来控制存储器装置6130。也就是说,存储器控制器6120可以对应于参考图3描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参考图3描述的存储器系统110的存储器装置150。
[0129] 因此,存储器控制器6120可以包括RAM、处理器、主机接口、存储器接口和纠错部件。
[0130] 存储器控制器6120可以通过连接器6110来与外部装置例如图3 的主机102通信。例如,如参考图3所描述,存储器控制器6120可以通过各种通信协议中的一种或多种来与外部装置通信,通信协议诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、快速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小磁盘接口(EDSI)、集成驱动电子装置(IDE)、火线、通用闪存(UFS)、 WIFI和蓝牙。因此,根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置或特定移动电子装置。
[0131] 存储器装置6130可以由非易失性存储器实现。例如,存储器装置6130可以由各种非易失性存储器装置中的任何一种实现,诸如可擦除和可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、 NAND闪存、NOR闪存、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁RAM(STT‑RAM)。
[0132] 存储器控制器6120和存储器装置6130可以被集成到单个半导体装置中以形成固态驱动器(SSD)。此外,可以如此集成存储器控制器6120和存储器装置6130以形成存储器卡,诸如PC卡(PCMCIA:个人计算机存储器卡国际协会)、紧凑型闪存(CF)卡、智能媒体卡 (例如SM和SMC)、记忆棒、多媒体卡(例如MMC、RS‑MMC、 MMCmicro和eMMC)、SD卡(例如SD、miniSD、microSD和SDHC) 和/或通用闪存(UFS)。
[0133] 图17是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。
[0134] 参见图17,数据处理系统6200可以包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图17中所示的数据处理系统6200可以用作诸如存储器卡 (CF、SD、micro‑SD等)或USB装置之类的储存介质,如参考图3 所述。存储器装置6230可以对应于图3中所示的存储器系统110中的存储器装置150,并且存储器控制器6220可以对应于图3中所示的存储器系统110中的控制器130。
[0135] 存储器控制器6220可以响应于主机6210的请求来控制对存储器装置6230的读取、写入或擦除操作。存储器控制器6220可以包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
[0136] CPU 6221可以控制存储器装置6230上的整体操作,例如,读取、写入、文件系统管理和坏页管理操作。RAM 6222可以根据CPU 6221 的控制来操作,并且用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,可以将由CPU 6221处理的数据临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222 可以用于缓冲从主机6210传输到存储器装置6230的数据,反之亦然。当RAM 6222用作高速缓存存储器时,RAM 
6222可以帮助低速存储器装置6230以高速操作。
[0137] ECC电路6223可以生成用于校正从存储器装置6230提供的数据的失败位或错误位的ECC(纠错码)。ECC电路6223可以对提供给存储器装置6230的数据执行纠错编码,从而形成具有奇偶校验位的数据。可以将奇偶校验位存储在存储器装置6230中。ECC电路6223 可以对从存储器装置6230输出的数据执行纠错解码。ECC电路6223 可以使用奇偶校验位来纠正错误。ECC电路6223可以使用LDPC码、 BCH码、turbo码、Reed‑Solomon码、卷积码、RSC或诸如TCM或BCM的编码调制来纠正错误。
[0138] 存储器控制器6220可以通过主机接口6224向/从主机6210发送/ 接收数据。存储器控制器6220可以通过NVM接口6225向/从存储器装置6230发送/接收数据。主机接口6224可以通过PATA总线、SATA 总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可以具有利用诸如WiFi或长期演进(LTE)之类的移动通信协议的无线通信功能。存储器控制器6220可以连接到外部装置,例如主机6210或另一外部装置,然后向/从外部装置发送/接收数据。具体地,由于存储器控制器6220可以根据各种通信协议中的一个或多个通信协议来与外部装置通信,根据实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置,尤其是移动电子装置。
[0139] 图18是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图18示意性地示出了存储器系统可以被应用到的SSD。
[0140] 参见图18,SSD 6300可以包括控制器6320和存储器装置6340,存储器装置6340包括多个非易失性存储器。控制器6320可以对应于图3的存储器系统110中的控制器130,并且存储器装置6340可以对应于图3的存储器系统中的存储器装置150。
[0141] 更具体地,控制器6320可以通过多个信道CH1至CHi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和存储器接口,例如非易失性存储器接口6326。
[0142] 缓冲存储器6325可以临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪存NVM提供的数据。此外,缓冲存储器6325可以临时存储多个闪存NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可以由各种诸如DRAM、SDRAM、 DDR SDRAM、LPDDR SDRAM和GRAM之类的易失性存储器或诸如FeRAM、ReRAM、STT‑MRAM和PCRAM之类的非易失性存储器中的任何一种来体现。图18示出将缓冲存储器6325体现在控制器6320中。然而,缓冲存储器6325可以在控制器6320的外部。
[0143] ECC电路6322可以在编程操作期间计算要被编程到存储器装置 6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置 6340读取的数据执行纠错操作,并且在失败数据恢复操作期间对从存储器装置6340恢复的数据执行纠错操作。
[0144] 主机接口6324可以提供与外部装置(例如,主机6310)的接口功能,并且非易失性存储器接口6326可以提供与通过多个信道连接的存储器装置6340的接口功能。
[0145] 此外,可以提供图3的存储器系统110可以被应用到的多个SSD 6300来体现数据处理系统,例如,RAID(独立盘冗余阵列)系统。 RAID系统可以包括多个SSD 6300和用于控制多个SSD 6300的RAID 控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,根据多个RAID级别,即,在SSD 6300中的从主机6310 提供的写入命令的RAID级别信息,RAID控制器可以选择一个或多个存储器系统或SSD 6300,并且将与写入命令相对应的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令而执行读取命令时,根据多个RAID级别,即,在SSD 6300 中的从主机6310提供的读取命令的RAID级别信息,RAID控制器可以选择一个或多个存储器系统或SSD 6300,并且将从所选择的SSD 6300读取的数据提供给主机6310。
[0146] 图19是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图19示意性地示出了存储器系统可以被应用到的嵌入式多媒体卡(eMMC)。
[0147] 参见图19,eMMC 6400可以包括控制器6430和由一个或多个 NAND闪存体现的存储器装置6440。控制器6430可以对应于图3的存储器系统110中的控制器130。存储器装置6440可以对应于图3 的存储器系统110中的存储器装置150。
[0148] 更具体地,控制器6430可以通过多个信道连接到存储器装置 6440。控制器6430可以包括一个或多个核6432、主机接口6431和存储器接口,例如NAND接口6433。
[0149] 核6432可以控制eMMC 6400的整体操作,主机接口6431可以提供控制器6430和主机6410之间的接口功能,并且NAND接口6433 可以提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可以用作并行接口,例如,如参考图3所述的MMC接口。此外,主机接口6431可以用作串行接口,例如,UHS((超高速)‑I/UHS‑II)接口。
[0150] 图20至图23是示意性地示出根据实施例的包括存储器系统的数据处理系统的其他示例的图。图20至图23示意性地示出了存储器系统可以被应用到的UFS(通用闪存存储)系统。
[0151] 参见图20至图23,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卡。
[0152] 相应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可以以参考图17至图19所描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来体现,并且 UFS卡6530、6630、
6730、6830可以以参考图16所描述的存储器卡系统6100的形式来体现。
[0153] 此外,在UFS系统6500、6600、6700、6800中,主机6510、6610、 6710、6810、UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可以通过例如MIPI(移动行业处理器接口)中的MIPI M‑PHY和MIPI UniPro(统一协议)的UFS接口来彼此通信。此外, UFS装置
6520、6620、6720、6820和UFS卡6530、6630、6730、6830 可以通过除UFS协议之外的任何各种协议来彼此通信,例如,UFD、 MMC、SD、mini‑SD和micro‑SD。
[0154] 在图20中所示的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卡可以并联或以星形的形式连接到主机 6410。星形构造是其中单个装置与多个装置耦合以进行集中化操作的布置。多个UFS卡可以并联或以星形的形式连接到UFS装置6520,或者可以串联或以链的形式连接到UFS装置6520。
[0155] 在图21中所示的UFS系统6600中,主机6610、UFS装置6620 和UFS卡6630中的每一个可以包括UniPro。通过执行切换操作的切换模块6640,例如通过在UniPro处执行链路层切换(例如L3切换) 的切换模块6640,主机6610可以与UFS装置6620或UFS卡6630 通信。UFS装置6620和UFS卡6630可以通过在UniPro处的切换模块6640的链路层切换来彼此通信。在所示的实施例中,一个UFS装置6620和一个UFS卡6630连接到切换模块6640。然而,多个UFS 装置和UFS卡可以并联或以星形的形式连接到切换模块6640。多个 UFS卡可以串联或以链的形式连接到UFS装置6620。
[0156] 在图22中所示的UFS系统6700中,主机6710、UFS装置6720 和UFS卡6730中的每一个可以包括UniPro。通过执行切换操作的切换模块6740,例如通过在UniPro处执行链路层切换(例如L3切换) 的切换模块6740,主机6710可以与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。
[0157] 在图23中所示的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。
[0158] 图24是示意性地示出根据本发明实施例的包括存储器系统的数据处理系统的另一示例的图。图24是示意性地示出存储器系统可以被应用到的用户系统的图。
[0159] 参见图24,用户系统6900可以包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
[0160] 更具体地,应用处理器6930可以驱动用户系统6900中的部件,例如OS,并且包括控制器、接口和控制用户系统6900中包括的部件的图形引擎。应用处理器6930可以作为片上系统(SoC)而被提供。
[0161] 存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可以包括易失性RAM,诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、 DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM或LPDDR3 SDRAM。存储器模块6920还可以包括非易失性RAM,诸如PCRAM、 ReRAM、MRAM或FeRAM。例如,可以基于POP(封装上封装) 来封装和安装应用处理器6930和存储器模块6920。
[0162] 网络模块6940可以与外部装置通信。例如,网络模块6940不仅可以支持有线通信,而且还可以支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、 CDMA‑2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI‑DI),从而与有线/无线电子装置尤其是移动电子装置通信。因此,根据本发明实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置。网络模块6940可以被包括在应用处理器6930中。
[0163] 存储模块6950可以存储数据,例如,从应用处理器6930接收的数据,然后可以将所存储的数据传输到应用处理器6930。存储模块 6950可以由非易失性半导体存储器装置来体现,诸如相变RAM (PCRAM)、磁RAM(MRAM)、电阻式RAM(ReRAM)、NAND 闪存、NOR闪存和3D NAND闪存,并且作为诸如用户系统6900的存储器卡或外部驱动之类的可移除储存介质而被提供。存储模块6950 可以对应于参考图3描述的存储器系统110。此外,可以将存储模块 6950体现为如上面参考图18至图23所述的SSD、eMMC和UFS。
[0164] 用户接口6910可以包括用于向应用处理器6930输入数据或命令或者将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、小键盘、按钮、触摸板、触摸屏、触摸垫、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件之类的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机之类的用户输出接口。
[0165] 此外,当将图3的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的整体操作,并且网络模块6940可以用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或者支持从触摸板接收数据的功能。
[0166] 根据本发明的实施例,存储器系统可以通过根据属性将垃圾收集信息排队到单独的队列来有效地使用存储器空间并且快速执行垃圾收集操作。
[0167] 虽然已经关于特定实施例描述了本发明,但是对于本领域技术人员来说显而易见的是,在不脱离所附权利要求中限定的本公开的精神和范围的情况下,可以进行各种改变和修改。