映射信息管理设备和方法转让专利

申请号 : CN200710161640.0

文献号 : CN101154190B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金辰圭方卿镒

申请人 : 三星电子株式会社

摘要 :

本发明涉及一种支持不同单元类型的非易失性存储器的映射信息管理设备和方法,更具体地讲,涉及一种能够考虑支持不同单元类型的非易失性存储器中的每种单元类型的物理特性来管理映射信息的支持不同单元类型的非易失性存储器的映射信息管理设备和方法,在所述不同类型的非易失性存储器中的一个单元表示的比特互不相同。支持不同单元类型的非易失性存储器的映射信息管理设备包括:用户请求单元,用于使用户通过使用逻辑地址来请求预定操作;非易失性存储器,包括具有不同单元类型的多个存储区域;和映射信息管理单元,将映射信息存储到第一存储区域中,其中,所述映射信息是关于写入所述多个存储区域的第二存储区域的用户数据的信息。

权利要求 :

1.一种支持不同单元类型的非易失性存储器的映射信息管理设备,包括:用户请求单元,通过使用逻辑地址来请求预定操作;

非易失性存储器,包括具有不同单元类型的多个存储区域;和映射信息管理单元,管理将映射信息存储到第一存储区域的存储操作,其中,所述映射信息是关于写入所述多个存储区域的第二存储区域的用户数据的信息,其中,非易失性存储器包括第一单元类型的第一存储区域和第二单元类型的第二存储区域。

2.如权利要求1所述的映射信息管理设备,其中,第一存储区域是单级单元类型,和

第二存储区域是多级单元类型。

3.如权利要求1所述的映射信息管理设备,其中,第一存储区域包括:

映射信息存储区域,存储关于写入第二存储区域的用户数据的映射信息;和索引区域,指示映射信息存储区域中存储的映射信息是否可用。

4.如权利要求3所述的映射信息管理设备,其中,在用户数据被完全写入第二存储区域之前,映射信息管理单元将映射信息存储到映射信息存储区域中,和如果完成用户数据的写入,则映射信息管理单元将预定值写入索引区域。

5.如权利要求4所述的映射信息管理设备,其中,映射信息管理单元基于写入索引区域的值来确定映射信息存储区域中存储的映射信息是否可用,和如果确定映射信息可用,则映射信息管理单元重新配置映射信息。

6.如权利要求1所述的映射信息管理设备,其中,第一存储区域中存储的数据比第二存储区域中存储的数据被更频繁地更新。

7.一种支持不同单元类型的非易失性存储器的映射信息管理方法,所述方法包括:如果用户通过使用逻辑地址来请求预定操作,则将映射信息存储到第一存储区域中,其中,所述映射信息是关于写入非易失性存储器的第二存储区域的用户数据的信息,所述非易失性存储器包括具有不同单元类型的多个存储区域,所述非易失性存储器包括第一单元类型的第一存储区域和第二单元类型的第二存储区域。

8.如权利要求7所述的映射信息管理方法,其中,第一存储区域是单级单元类型,第二存储区域是多级单元类型。

9.如权利要求7所述的映射信息管理方法,其中,第一存储区域包括:映射信息存储区域,存储关于写入第二存储区域的用户数据的映射信息;和索引区域,指示映射信息存储区域中存储的映射信息是否可用。

10.如权利要求9所述的映射信息管理方法,其中,存储映射信息的步骤包括:

在用户数据被完全写入第二存储区域之前,将映射信息存储到映射信息存储区域中;

以及

如果完成用户数据的写入,则将预定值写入索引区域。

11.如权利要求10所述的映射信息管理方法,还包括:基于写入索引区域的值来确定映射信息存储区域中存储的映射信息是否可用;以及如果确定映射信息可用,则重新配置映射信息。

12.如权利要求7所述的映射信息管理方法,其中,第一存储区域中存储的数据比第二存储区域中存储的数据被更频繁地更新。

说明书 :

映射信息管理设备和方法

[0001] 本申请要求于2006年9月27日在韩国知识产权局提交的第10-2006-0094298号韩国专利申请的优先权,该申请完全公开于此以资参考。

技术领域

[0002] 根据本发明的设备和方法涉及管理支持不同单元(cell)类型的非易失性存储器的映射信息,更具体地讲,涉及这样一种支持不同单元类型的非易失性存储器的映射信息管理设备和方法,所述设备和方法能够考虑非易失性存储器中的每种单元类型的物理特性来管理映射信息,在所述非易失性存储器中,由一个单元表示的比特数量互不相同。

背景技术

[0003] 通常,用作用于存储和处理数据的存储介质的非易失性存储器已广泛用于嵌入式系统(例如,家电、通信设备和机顶盒)中。
[0004] 主要用作非易失性存储器的闪存是能够以电的方式删除数据或恢复数据的非易失性存储装置,由于闪存比基于磁盘存储器的存储介质具有更低的功耗并具有与硬盘类似的高访问次数,所以闪存适合于小型的便携式设备。
[0005] 在闪存中,从硬件特性的角度来看,为了对写有数据的存储器扇区执行写操作,在写操作之前,应该执行删除包括所述扇区的所有块的操作。先擦后写操作引起闪存性能的恶化。为了解决该问题,引入了逻辑地址和物理地址的概念。即,通过各种映射算法将对逻辑地址的读/写操作改变为对物理地址的读/写操作,然后,执行读/写操作。
[0006] 例如,当用户使用预定逻辑地址请求对非易失性存储器的写操作时,对物理地址(所述物理地址被映射到在非易失性存储器中使用的逻辑地址)执行写操作,并以与写操作相同的方式执行读操作。关于逻辑地址和物理地址的映射信息存储在非易失性存储器的预定区域中,当断电然后通电时,重新配置映射信息。
[0007] 在这种情况下,将非易失性存储器的物理地址划分成用于存储用户数据的区域和用于存储关于逻辑地址和物理地址的映射信息的区域,而没有考虑与物理地址相应的单元类型。这是因为,由相同的单元类型形成了设置有现有的非易失性存储器的设备。
[0008] 即,从硬件特性的角度来看,根据由一个单元表示的比特数来将非易失性存储器划分成几种类型。例如,将闪存划分成两种类型,即,由一个单元表示一比特的单级单元(SLC)类型和由一个单元表示多比特的多级单元(MLC)类型。SLC类型比MLC类型具有更高速度的读/写性能,还比MLC类型具有更多的部分编程次数(number of partial programming,NOP)。当SLC类型和MLC类型具有相同的物理大小时,SLC类型比MLC类型具有更小的存储容量。
[0009] 由于具有目前生产的非易失性存储器的设备仅包括单个单元类型,所以所有的物理地址具有相同的性能和相同的物理特性。因此,需要一种考虑支持不同的单元类型的非易失性存储器中的每一单元类型的存储区域的物理特性来有效管理映射信息的方法。
[0010] 第2004-062328号日本专利申请公开了一种根据NAND闪存(所述NAND闪存具有用户物理块和擦除物理块)中的物理块的擦除状态和数据量来改变数据流的方法。然而,还没有公开一种支持不同单元类型的非易失性存储器的映射方法。

发明内容

[0011] 本发明的一方面在于提供这样一种支持不同单元类型的非易失性存储器的映射信息管理设备和方法:能够考虑所述非易失性存储器中每种单元类型的存储区域的物理特性来确定用于存储关于逻辑地址和物理地址的映射信息的存储区域,以有效地管理映射信息。
[0012] 本发明的多方面不限于上面提到的内容,通过下面的描述,本领域的技术人员将清楚地理解本发明的其他方面。
[0013] 根据本发明的一方面,提供了一种支持不同单元类型的非易失性存储器的映射信息管理设备,所述包括:用户请求单元,用于使用户通过使用逻辑地址来请求预定操作;非易失性存储器,包括具有不同单元类型的多个存储区域;和映射信息管理单元,将映射信息到第一存储区域中,其中,所述映射信息是关于写入所述多个存储区域的第二存储区域的用户数据的信息。
[0014] 根据本发明的另一方面,提供了一种支持不同单元类型的非易失性存储器的映射信息管理方法,所述方法包括:当用户通过使用逻辑地址请求预定操作时,将映射信息存储到第一存储区域中,其中,所述映射信息是关于写入非易失性存储器的第二存储区域的用户数据的信息,所述非易失性存储器包括具有不同单元类型的多个存储区域。
[0015] 本发明的其他示例性实施例的细节包括在对本发明和附图的详细描述中。

附图说明

[0016] 通过参照附图对本发明示例性实施例的详细描述,本发明的以上和其他特征和方面将变得更清楚,其中:
[0017] 图1是示出根据本发明示例性实施例的支持不同单元类型的非易失性存储器的结构的示图;
[0018] 图2是示出根据本发明示例性实施例的支持不同单元类型的非易失性存储器的映射信息管理设备的示图;
[0019] 图3是示出根据本发明示例性实施例的第一存储区域的结构的示图;
[0020] 图4是示出根据本发明示例性实施例的支持不同单元类型的非易失性存储器的写方法的流程图;
[0021] 图5是示出根据本发明示例性实施例的第一存储区域和第二存储区域的示图;
[0022] 图6是示出根据本发明示例性实施例的支持不同单元类型的非易失性存储器的读方法的流程图;和
[0023] 图7是示出根据本发明示例性实施例的初始化映射信息的方法的流程图。

具体实施方式

[0024] 可通过参照下面对示例性实施例的详细描述和附图更容易地理解本发明的多方面和特点以及用于实现所述本发明的方法。然而,可以以许多不同的形式来实现本发明,不应该将本发明解释为限于在此阐述的示例性实施例。此外,提供了这些示例性实施例以使本公开是彻底的和完整的,并将本发明的构思全面地传达给本领域的技术人员,本发明仅由权利要求来限定。在整个说明书中,相同的标号表示相同的部件。
[0025] 以下,将参照根据本发明示例性实施例的支持不同单元类型的非易失性存储器的映射管理设备和方法的框图或流程图来描述本发明。应该理解,流程图中的每个方框以及方框的组合可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或者其他可编程数据处理设备的处理器以产生设备,从而经计算机或者其他可编程数据处理设备的处理器执行的指令创建用于实现在一个流程图方框或多个流程图方框中指定的功能的装置。这些计算机程序指令还可被存储在可指导计算机或者其他可编程数据处理设备以特定方式工作的计算机可用或计算机可读存储器中,以便存储在计算机可用或计算机可读存储器中的指令生产包括执行在一个流程图方框或多个流程图方框中指定的功能的指令手段的产品。计算机程序指令还可被载入计算机或其他可编程数据处理设备以使得一系列操作步骤在计算机或其他可编程设备上被执行以产生计算机执行的过程,从而在计算机或其他可编程设备上执行的指令提供用于实现在一个流程图方框或多个流程图方框中指定的功能的步骤。
[0026] 框图的每一方框可表示模块、代码段或代码的一部分,其包括一个或多个用于实现特定逻辑功能的可执行指令。还应该注意,在一些可选择的实现中,在方框中提到的功能可以以不同于所示的顺序出现。例如,根据所涉及的功能,连续显示的两个方框实际上可能基本上同时发生,或者所述方框有时可能以相反的顺序被执行。
[0027] 图1是示出一般非易失性存储器的结构的示图。
[0028] 如图1所示,根据一个单元所表示的比特数来将一般的非易失性存储器划分成SLC类型和MLC类型。SLC类型比MLC类型具有更高速度的读/写/擦除性能和更多的NOP。
[0029] 例如,当由SLC类型中的一个单元来表示1比特并由MLC类型中的一个单元来表示2比特时,SLC类型的存储区域中的一块包括64页,而MLC类型的存储区域中的一块包括128页。当在SLC类型中块的大小为128KB时,在MLC类型中块的大小为256KB。在这种情况下,页的大小可以是2112字节或528字节。图1示出具有2112字节大小的一页,而页的大小并不限于2112字节或528字节。例如,页的大小可根据非易失性存储器的使用环境而变化。在这种情况下,当不考虑SLC类型和MLC类型的物理特性时,将用户数据和逻辑地址的映射信息写入每种单元类型的存储区域,其中,所述逻辑地址被映射到写入用户数据的物理地址。
[0030] 映射信息比用户数据被更频繁地更新。由于在SLC类型的存储区域中保证高速读/写/擦除性能,所以即使当映射信息被频繁地更新时,也不发生速度减小。另一方面,当映射信息被频繁更新时,MLC类型的存储区域比SLC类型的存储区域具有更低速度的读/写/擦除性能。
[0031] 因此,根据本发明示例性实施例的支持不同单元类型的非易失性存储器的映射设备和方法考虑了在支持不同单元类型的非易失性存储器中的每种单元类型的物理性能,以提高非易失性存储器的性能。图2是示出根据本发明示例性实施例的支持不同单元类型的非易失性存储器的映射信息管理设备的示图。在以下本发明的示例性实施例中,支持不同单元类型的非易失性存储器的映射信息管理设备被简称为“映射信息管理设备”。
[0032] 如图2所示,根据本发明示例性实施例的映射信息管理设备100包括:用户请求单元110,用于使用户通过使用预定逻辑地址请求预定操作;非易失性存储器120,包括第一单元类型的第一存储区域121和第二单元类型的第二存储区域122;和映射信息管理单元130,将关于被写入第一存储区域121和第二存储区域122的用户数据的映射信息存储到第二存储区域122中,即,管理将所述映射信息存储到第二存储区域122中的存储操作。
[0033] 用户请求单元110可被认为是应用程序(例如,通过逻辑地址使用存储装置的文件系统或数据库管理系统(DMBS))。因此,用户可通过所述应用程序使用预定逻辑地址来请求非易失性存储器120中的预定操作。
[0034] 非易失性存储器120可包括具有不同读/写/擦除性能和NOP的不同单元类型的第一存储区域121和第二存储区域122。在本发明的该示例性实施例中,第一存储区域121是SLC类型,第二存储区域122是MLC类型。然而,本发明并不限于此。例如,在第一存储区域121和第二存储区域122具有不同读/写/擦除性能和NOP的情况下,第一存储区域121和第二存储区域122可具有多种单元类型。另外,在本发明的该示例性实施例中,由于第一存储区域121是SLC类型,所以第一存储区域121比MLC类型的第二存储区域122具有更高速度的读/写/擦除性能和更多的NOP。
[0035] 如图3所示,第一存储区域121可包括:映射信息存储区域121a,被写入关于写入第二存储区域122的用户数据的映射信息;和索引区域121b,指示写入映射信息存储区域121a的映射信息是否可用。在本发明的该示例性实施例中,将关于写入第二存储区域122的用户数据的映射信息写入映射信息存储区域121a,但是本发明并不限于此。例如,可将用户数据和与第一存储区域121相应的映射信息存储到映射信息存储区域121a中。
[0036] 如上所述,将关于写入第二存储区域122的用户数据的映射信息存储在第一存储区域121中,所述映射信息的大小比用户数据小,并比用户数据被更频繁地更新。因此,存储在比第二存储区域122具有更高速度的读/写/擦除性能的第一存储区域121中的映射信息使得可以提高非易失性存储器120的性能。
[0037] 映射信息管理单元130将关于写入第二存储区域122的用户数据的逻辑和物理地址的映射信息写入第一存储区域121的映射信息存储区域121a,并且还将用户数据写入第二存储区域122。然后,映射信息管理单元130将预定值写入第一存储区域121的索引区域121b。即,在本发明的该示例性实施例中,在将用户数据写入第二存储区域122之前,映射信息管理单元130分别将映射信息和用户数据写入第一存储区域121的映射信息存储区域121a和第二存储区域122,然后将预定值写入与映射信息存储区域121a相应的索引区域121b。
[0038] 这是因为,当非易失性存储器120突然断电从而需要重新配置映射信息时,映射信息管理单元130可基于写入索引区域121b的值来确定与映射信息存储区域121a相应的用户数据的可用性。例如,映射信息管理单元130可在用户数据被完全写入第二存储区域122之前将值“FF”写入索引区域121b,并在用户数据被完全写入第二存储区域122之后将值“00”写入索引区域121b。因此,在突然断电之后又被供电从而映射信息需要被重新配置的情况下,当将值“FF”写入索引区域121b时,映射信息管理单元130确定用户数据不可用,当将值“00”写入索引区域121b时,映射信息管理单元130确定用户数据可用。
[0039] 映射信息管理单元130可将关于第二存储区域122中包括的至少一个块的映射信息存储到第一存储区域121的映射信息存储区域121a中,即,映射信息管理单元130管理将所述映射信息存储到第一存储区域121的映射信息存储区域121a的存储操作。
[0040] 当用户请求单元110请求映射信息管理单元130从第二存储区域122读取用户数据时,映射信息管理单元130可基于第一存储区域121的映射信息存储区域121a中存储的映射信息来访问第二存储区域122中的请求的用户数据。
[0041] 图4是示出支持不同单元类型的非易失性存储器的写方法的流程图。图4中示出的写方法是将用户数据写入第二存储区域122的方法的示例。
[0042] 如图4所示,在根据本发明示例性实施例的支持不同单元的非易失性存储器的写方法中,首先,用户通过用户请求单元110使用预定逻辑地址来请求用户数据写操作(S110)。
[0043] 然后,映射信息管理单元130确定将被映射到用于请求写操作的逻辑地址的物理地址(S120),并将关于逻辑地址和物理地址的映射信息存储到第一存储区域121的映射信息存储区域121a中(S130)。
[0044] 在本发明的该示例性实施例中,映射信息管理单元130将当第二存储区域122的物理地址被映射时的映射信息存储到第一存储区域121中,即,映射信息管理单元130管理将所述映射信息存储到第一存储区域121的存储操作。在这种情况下,由于第一存储区域121比第二存储区域122具有更高速度的读/写/擦除性能,所以将关于第一存储区域121中包括的物理地址的映射信息存储到第一存储区域121中,并将关于第二存储区域122中包括的物理地址的映射信息存储到第一存储区域121中,这防止了由于在第一存储区域
121中映射信息的频繁更新所导致的整个系统处理速度的降低。
[0045] 当通过写操作将用户数据完全写入第二存储区域122(S140)时,映射信息管理单元130将预定值写入与存储有映射信息的映射信息存储区域121a相应的索引区域121b(S150)。
[0046] 图5是示出根据本发明示例性实施例的存储在第一存储区域中的映射信息和存储在第二存储区域中的用户数据的示图。
[0047] 如图5所示,当将用户数据写入第二存储区域122的每一块(第0块520、第1块521...第n块528)时,可通过如图4所示的方法将映射信息(包括物理块编号、逻辑块编号、删除操作的数量和块的状态)写入第一存储区域121。
[0048] 图6是示出根据本发明示例性实施例的支持不同单元类型的非易失性存储器的读方法的流程图。图6所示的读方法是用户请求读取第二存储区域122中存储的用户数据的示例。
[0049] 如图6所示,在根据本发明示例性实施例的支持不同单元类型的非易失性存储器的读方法中,首先,用户通过用户请求单元110使用预定逻辑地址来请求用户数据的读操作(S210)。
[0050] 然后,映射信息管理单元130从第一存储区域121读出关于所请求的数据的映射信息(S220)。
[0051] 随后,映射信息管理单元130基于所读取的映射信息来提取请求读出的用户数据,并将提取的用户数据发送到用户请求单元110(S230)。
[0052] 在图4和图6所示的根据本发明示例性实施例的支持不同单元类型的非易失性存储器的写方法和读方法中,将关于写入第二存储区域122的用户数据的映射信息存储到第一存储区域121的映射信息存储区域121a中,并使用所存储的映射信息来访问写入第二存储区域122的用户数据。因此,考虑到第一存储区域121和第二存储区域122的物理性能,将频繁更新的映射信息存储到第一存储区域121,并将大小比映射信息大且比映射信息更低频率地被更新的用户数据存储到第二存储区域122,从而使得可以提高使用非易失性存储器120的设备的性能。
[0053] 同时,在本发明的该示例性实施例中,当由于意外的电源故障导致非易失性存储器被突然断电然后被再次供电时,映射信息管理单元130可基于第一存储区域121中存储的映射信息执行重新配置映射信息的初始化操作。
[0054] 图7是示出根据本发明示例性实施例的初始化映射信息的方法的流程图。
[0055] 如图7所示,在根据本发明示例性实施例的初始化映射信息的方法中,映射信息管理单元130读出第一存储区域121中存储的映射信息(S310)。在这种情况下,映射信息管理单元130可读出映射信息存储区域121a,例如,存储有映射信息的页或扇区。在该示例性实施例中,认为映射信息管理单元130读出页。
[0056] 映射信息管理单元130检查写入与映射信息存储区域121a相应的索引区域121b的值(S320)。当检查所读取的值是预定值(S330)时,映射信息管理单元130确定映射信息可用(S340)。另一方面,当检查所读取的值不是预定值时,映射信息管理单元130确定映射信息不可用(S350)。
[0057] 然后,重复步骤S310至S340,直到在第二存储区域122中不存在需要重新配置映射信息的块为止,即,直到完成映射信息的重新配置为止(S360)。
[0058] 这里使用的术语“单元”或“模块”表示,但不限于,软件和硬件组件,诸如执行特定任务的现场可编程门阵列(FPGA)或专用集成电路(ASIC)。模块或单元可以方便地被配置以驻留在可寻址的存储介质上,并且可被配置以在一个或多个处理器上执行。因此,举例来说,模块或单元可包括:诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、进程、函数、属性、过程、子程序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、数组和变量。在组件和模块或单元中提供的功能可被组合为更少的组件和模块或单元,或者可进一步被分离成另外的组件和模块或单元。
[0059] 尽管已经参照附图描述了根据本发明示例性实施例的支持不同单元类型的非易失性存储器的映射设备和方法,但是本领域的技术人员应该清楚,在不脱离本发明的范围和精神的情况下,可对其进行各种修改和改变。因此,应该理解,上述示例性实施例在所有方面不是限制性的,而是说明性的。
[0060] 如上所述,根据本发明示例性实施例的支持不同单元类型的非易失性存储器的映射设备和方法,考虑到支持不同单元类型的非易失性存储器中每一单元类型的存储区域中包括的物理地址的特性,将待存储的数据划分成映射数据和用户数据,这使得可以提高非易失性存储器的可操作性能。