用于闪速存储器的数据管理设备和方法

文档序号:6756399阅读:110来源:国知局
专利名称:用于闪速存储器的数据管理设备和方法
技术领域
本发明涉及一种用于闪速存储器的数据管理设备和方法,更具体地说,涉及一种用于闪速存储器的数据管理设备和方法,其能防止由大块闪速存储器的逻辑操作单元和物理操作单元之间的差异引起的存储空间的浪费和大块闪速存储器的性能的下降。
背景技术
通常,家用电器、通信装置和例如机顶盒的嵌入式系统使用非易失性存储器作为用于存储和处理数据的存储装置。
闪速存储器是一种非易失性存储器,在其中数据能被电子地擦除和重写。由于它们比基于磁盘存储器的存储介质消耗更少的功率,与硬盘一样易存取,并且是紧凑尺寸的,所以闪速存储器适合于便携式装置。
由于闪速存储器的硬件特性,与在传统的随机存取存储器(RAM)、非易失性存储介质或磁存储介质中不同,记录在闪速存储器上的数据被以块为单位擦除。
图1是这种典型的闪速存储器系统的框图。参考图1,典型的闪速存储器系统包括闪速存储器10和控制器20。具有加载在其中的用户程序21的控制器20在用户请求时控制预定的数据以被在闪速存储器10上执行。
控制器20包括文件系统22,在其中用户程序21被加载;和闪速转换层(FTL)23,用于将被用户请求的例如读或写操作的预定数据操作传输到闪速存储器10。
FTL 23是帮助将闪速存储器10作为块装置使用的软件,并且通常支持用于管理闪速存储器10的块重映射方法。
这里,块重映射方法能实现关于给定的数据的逻辑块号(LBN)和物理块号之间的关系的映射信息的管理。通过这样做,即使相关的PBN改变,记录在闪速存储器10中的数据也总是可用相同的逻辑块号(LBN)存取。实际上,当存储在闪速存储器10中的数据被修改或从闪速存储器10删除时,记录在闪速存储器10中的PBN可以改变。
低级格式化操作应当通过FTL 23对闪速存储器10执行以使闪速存储器10可用。参考图2,已经经过低级格式化操作的闪速存储器10被划分为映射区31、日志区32、数据区33和备用区34。
映射区31、日志区32、数据区33和备用区34中的每一个至少包括一个块。
映射区31包括将LBN转换成PBN的块映射表。明确地说,块映射表将数据区33的块(在下文中称作数据块)的LBN映射到PBN。如果块映射表被更新,则更新的块映射表被存储在映射区31的块(在下文中称作映射块)中。
此外,当例如读或写操作的预定的数据操作被在用户请求时对闪速存储器执行时,日志区32在数据区33前面被使用。
日志表将已经被用户使用以发出用于对闪速存储器10执行预定的数据操作请求的LBN映射到在日志区32中的块(在下文中称作日志块)的PBN。日志表被存储在日志区32。
参考图3,日志表包括LBN 32a、指派预定的日志块并被映射到LBN 32a的PBN 32b、和指派数据存在的预定的日志块的页的页号32c。
闪速存储器10的块包括在其中对闪速存储器10执行数据操作的多个页。
在将数据写到日志区32时,数据被写到日志区32中的任何空白页。页号32c指定数据应已经被写到其中的页。
因此,如图4所示,页号32c使存储在日志区32的日志块32d的页中的数据能被传输到数据区33的数据块33a的各自的页。
FTL 23将数据区33分成多个具有预定大小的数据块。因此,数据区33被以数据块为单位来存取。PBN被顺序地分配给数据块。
当日志区32中没有剩余存储空间从而数据不能再被写到日志区32时,备用区34被使用。
现在将对在闪速存储器10上执行的数据操作进行更详细地描述。
图5是将数据写到闪速存储器的传统的方法的流程图。参考图5,在操作步骤S51中,参考存储在映射区31中的块映射表,LBN被转换成数据区33的PBN(在下文中称作数据PBN)。
在操作步骤S52中,参考存储在日志区32中的日志表,LBN也被转换成日志区32的PBN(在下文中称作日志PBN)。
在操作步骤S53中如果与LBN匹配的日志PBN存在,并且在操作步骤S54中由日志PBN指派的日志块的页为空,则在操作步骤S55中数据被写到日志块的页。
如果日志块的页已经装满其它数据,则在操作步骤S56中确定日志块的另一页是否能被分配。
在操作步骤S57中,如果日志块的另一页能被分配,则数据被写到日志块的相应页。
在操作步骤S58中,如果由日志PBN指派的日志块被确定已经装满数据,则确定其它日志块是否能被分配。
在操作步骤S59中,如果没有日志块能被分配,则通过块合并新的数据块能被生成。
在操作步骤S60中,数据被写到新的日志块。
在操作步骤S61中,如果能分配另一日志块,则数据被写到相应的日志块。
另一方面,为了从闪速存储器读取数据,如图6所示,在操作步骤S71中,查询与被用户使用的LBN来匹配的日志PBN。
在操作步骤S72中,如果与LBN匹配的日志PBN存在,则在操作步骤S73中,通过存取与LBN匹配的日志PBN查询数据被写入的页。
在操作步骤S74中,如果数据在查询的页中存在,则从该查询的页读取数据。
在操作步骤S75中,如果与LBN匹配的日志PBN不存在或如果在与LBN匹配的日志PBN没有找到写入数据的页,则数据被从由参考块映射表被确定与LBN匹配的数据PBN指派的数据块查询并读取。
闪速存储器分类为小块闪速存储器或大块闪速存储器。
在小块闪速存储器中,逻辑操作单元与物理操作单元相同,而在大块闪速存储器中,物理操作单元大于逻辑操作单元。
具体地说,在大块闪速存储器中,物理操作单元至少包括一个逻辑操作单元。
因此,由于大块闪速存储器的逻辑和物理操作单元之间的这种差异,大块闪速存储器的相当可观的存储容量可能被浪费。
例如,假设对大块闪速存储器以512字节为单位执行逻辑操作并对大块闪速存储器以2048字节为单位执行物理操作。如果用户对大块闪速存储器以512为单元执行数据操作,则只使用大块闪速存储器的每一块的512字节,并且占大块闪速存储器的存储容量的75%的大块闪速存储器的每一块的剩余的1536字节被浪费。

发明内容
本发明提供一种用于闪速存储器的数据管理设备和方法,其能防止由大块闪速存储器的逻辑操作单元和物理操作单元之间的差异引起的存储空间的浪费。
根据本发明的一方面,提供一种用于具有内部存储器的闪速存储器的数据管理设备。该数据管理设备将存储在物理块中的将对其执行数据操作的数据复制到内部存储器,对内部存储器执行数据操作,并将数据传输到物理块。
更好地,但并非必须地,对应于闪速存储器的物理操作单元的数据被复制到内部存储器。
从物理块复制到内部存储器的数据最好,但并非必须,被以闪速存储器的逻辑操作单元修改。
根据本发明的另一方面,提供一种用于具有内部存储器的闪速存储器的数据管理方法,包括将存储在物理块中的将对其执行数据操作的数据复制到内部存储器,并对内部存储器执行数据操作。
将存储在物理块中的数据向内部存储器的复制可以包括查询与将对其执行数据操作的逻辑块对应的物理块,并将存储在物理块中的数据以闪速存储器的物理操作单元复制到内部存储器。
查询物理块可以包括参考将逻辑块号映射到物理块号的表查询物理块。
存储在物理块中的数据的复制可以包括对从内部存储器复制的数据以逻辑操作单元为单位执行数据操作。
该数据管理方法还包括将已经对其完成数据操作的数据从内部存储器传输到物理块。
数据的传输可以包括在数据被传输到物理块之后更新表。


通过下面结合附图对其示例性实施例进行的详细描述,本发明的上述和其他特点和优点将会变得清楚,其中图1是被用于闪速存储器的传统的数据管理设备的框图;图2是示出已经被进行低级格式化操作的闪速存储器的结构的示图;图3是示出典型的日志表的示图;图4是示出参考图3的典型的日志表从日志块到数据块的数据的传输的示图;图5是示出将数据写到闪速存储器的传统方法的示图;图6是示出从闪速存储器读取数据的传统方法的示图;图7A是示出典型的小块闪速存储器的示图;图7B是示出典型的大块闪速存储器的示图;图8是根据本发明示例性实施例的被用于闪速存储器的数据管理设备的框图;图9是示出已经经过由闪速转换层(FTL)执行的低级格式化操作的闪速存储器的结构的示图;图10是示出根据本发明示例性实施例的块映射表的示图;图11是示出根据本发明示例性实施例的日志区中的块到数据区中的块的映射的示图;图12是示出根据本发明示例性实施例的日志表的示图;图13A是示出将数据写到单一扇区的典型方法的示图;图13B是示出将数据写到多个扇区的典型方法的示图;图14是根据本发明示例性实施例的将数据写到闪速存储器的方法的流程图;图15是示出根据本发明示例性实施例的将数据写到闪速存储器的扇区的框图;图16是示出根据本发明示例性实施例的将数据写到日志块的页的示图;图17是示出根据本发明示例性实施例的将存储在数据块的页中的数据复制到内部存储器的示图;图18是示出根据本发明示例性实施例修改复制到内部存储器的数据和将该修改的数据传输到日志块的示图;和图19是根据本发明示例性实施例的从闪速存储器读取数据的方法的流程图。
具体实施例方式
通过参考下面对优选实施例的详细描述和附图,可以更方便地理解本发明以及实现本发明的方法的优点和特点。然而,本发明可以以多种不同的形式实现并且不应被解释为限于在此提出的实施例。更合适地说,这些实施例被提供以便本公开将是彻底的和完整的并且将本发明的概念充分地传达给本领域的技术人员,并且本发明仅由所附权利要求限定。在说明书中相同的标号始终表示相同部件。
现在将参照附图对本发明进行更全面的描述,本发明的示例性实施例表示在附图中。
闪速存储器通常被分类为小块闪速存储器和大块闪速存储器。
小块闪速存储器具有相同大小的逻辑操作单元和物理操作单元,然而大块闪速存储器具有大小大于逻辑操作单元的大小的物理操作单元。
这就是说,如图7A所示,在小块闪速存储器中,以其对小块闪速存储器执行逻辑操作的单位,即逻辑操作单元51与以其对小块闪速存储器执行物理操作的单位,即物理操作单元52相同。
另一方面,如图7B所示,在大块闪速存储器中,物理操作单元53至少包括一个逻辑操作单元54。
这里,作为被用户使用数据操作单元的逻辑操作单元51和54通常被称为扇区,并且作为被用在各自的闪速存储器中的数据操作单元的物理操作单元52和53通常被称为页。
逻辑和物理操作单元的大小可以根据使用闪速存储器的设备的类型而不同。
在这种情况下,对单一块闪速存储器执行的数据操作比对大块闪速存储器更有效率,因为单一块闪速存储器的逻辑和物理操作单元相同,而大块闪速存储器的逻辑和物理操作单元不同。
例如,假设对大块闪速存储器以512字节为单位执行逻辑操作和对大块闪速存储器以2048字节为单位执行物理操作。如果用户对大块闪速存储器以512字节为单位执行数据操作,则只有大块闪速存储器的每一块的512字节被使用,并且大块闪速存储器的每一块的剩余1536字节被浪费。
本发明被引入用于闪速存储器的数据管理设备,其能够防止由大块闪速存储器的逻辑操作单元与物理操作单元之间的差异引起的大块闪速存储器的存储空间的浪费和性能的下降。该数据管理设备被显示在图8中。参考图8,该数据管理设备包括闪速转换层(FTL)200,其能使包括内部存储器110的闪速存储器100被用作块装置并包括关于闪速存储器100的逻辑块号(LBN)与物理块号(PBN)之间的关系的映射信息;和控制器300,其将在相关物理地址存储的数据传输到内部存储器110并允许对内部存储器110执行数据操作。
为了使闪速存储器100可用,FTL 200对闪速存储器100执行低级格式化操作。如图9所示,作为低级格式化操作的结果,闪速存储器100被分为FTL信息区101、日志区102、备用区103和数据区104。FTL信息区101、日志区102、备用区103和数据区104中的每一个包括至少一个块。
在这种情况下,FTL信息区101包括将被用户指定的LBN映射到数据PBN的块映射表。
块映射表在图10中示出。参考图10,块映射表包括被用户指定的LBN510和相应于LBN 510的数据PBN 520。
将被用户指定的LBN映射到日志PBN的日志表被存储在日志区102中。
换句话说,当对闪速存储器100执行数据操作时,数据操作对闪速存储器100的其它区域之前的具有日志表的日志区102执行。
此外,日志区102的每一日志PBN被映射到数据PBN。参考图11,日志PBN 530被映射到数据PBN 540。
参考图12,日志表包括LBN 610、被映射到LBN 610的PBN 620和包括在PBN 620中的页号630。
当日志区102中没有剩余存储空间以致数据不能再写到日志区时备用区103被使用。
换句话说,如果日志区102充满数据以致对日志区102不能再执行数据操作,则由用户指定的LBN被映射到备用区104的PBN,因此数据操作能稍后对备用区104执行。
控制器300控制存储在相应于由用户指定的LBN的PBN的数据被传输到内部存储器110以对内部存储器110执行数据操作。
这里,由用户指定的LBN指定相应的PBN和关于包括在由该相应的PBN指派的块中的逻辑和物理操作单元的信息,即关于由该相应的PBN指派的块中的扇区和页的信息。
例如,假定扇区具有512字节的大小并且页具有2048字节的大小。于是,如图13A所示,数据操作可以对预定页710的单一扇区执行。同时,如图13B所示,数据操作也可以对预定页720、730或740的一个或多个扇区执行。
换句话说,控制器300将预存储在闪速存储器100的相关页中的数据复制到内部存储器110的相关页,对内部存储器110的相关页的一个或多个扇区执行数据操作,并将数据写到闪速存储器100的页。
在本实施例中,在其中数据操作将被执行的物理地址被预定的数据占用的情况下,也就是,没有空闲空间可用,将被以例子的方式被描述。
在这种情况下,如果相关页的数据被复制到内部存储器110使得该相关页的扇区的数据能被重写,从而防止由闪速存储器100的逻辑和物理操作单元之间的差异引起的存储空间的浪费。
根据本发明示例性实施例的用于闪速存储器的数据管理方法的操作,即根据本发明示例性实施例的用于闪速存储器的数据管理方法现在将被描述。
图14是根据本发明示例性实施例的将数据写到闪速存储器的方法的流程图。参考图10和图14,在操作步骤S110中,参考日志表,由用户使用的LBN被转换成日志PBN。
这时,由于数据被写到在闪速存储器100的其它区域之前的日志区102,LBN被转换成日志PBN。
在操作步骤S120中,如果没有与该LBN匹配的日志PBN,则在操作步骤S130中,与该LBN匹配的日志PBN被添加到日志表。
然后,数据操作进入操作步骤S140。
其后,如果在操作步骤S120中存在与LBN匹配的日志PBN,则在操作步骤S140中相应于日志PBN的页被查询。
在操作步骤S150中,确定是否将数据写到查询的页的所有的多个扇区。
在操作步骤S160中,如果确定将数据写到查询的页的所有扇区,则数据被写到查询的页的所有扇区。
如果确定将数据写到查询的页的一些扇区,则在操作步骤S170中数据被复制到内部存储器110。
例如,如图15所示,在数据被写到在预定的LBN的页3的扇区1和2,并且被写到由与该预定的LBN相应的日志PBN指派的图16的日志块的页1的情况下,存储在由与该预定的LBN相应的数据PBN指派的图17的数据块的页3中的数据被复制到内部存储器110。
另一方面,被写到图16的日志块的页1的数据,而不是存储在图17的数据块的页3的数据,可以被复制到内部存储器110。
在操作步骤S180中,被复制到内部存储器110的数据被修改并随后被写到它原来的位置。
例如,参考图18,存储在图17的数据块的页3的扇区1和2中的数据被复制到内部存储器110并随后被修改。修改的数据被写到图16的日志块的页1的扇区1和2。
在操作步骤S190中,如果完成了将数据写入到查询的页,则日志表被更新。
现在将对根据本发明另一实施例的从闪速存储器读取数据的方法进行详细描述。
在显示在图19中的从闪速存储器读取数据的方法中,在操作步骤S210中,用户发出用于使用预定的LBN从闪速存储器读取数据的请求。
在操作步骤S220中,参考存储在FTL信息区101中的日志表,确定与预定的LBN匹配的日志PBN是否存在。
在操作步骤S230中,如果与预定的LBN匹配的日志PBN存在,则确定由相应的日志PBN指派的日志块中是否存在数据。
在操作步骤S240中,如果该日志块中存在数据,则从该日志块的页读取数据。
在操作步骤S250中,如果日志块中不存在数据,则从由参考日志表而确定与预定的LBN匹配的数据PBN指派的数据块的页读取数据。
尽管已经参照附图对根据本发明的用于闪速存储器的数据管理设备和方法进行了描述,但本发明不限于本说明书中公开的实施例和附图并且在不脱离本发明的精神和范围的情况下,可以进行各种修改和变化。
如上所述,根据本发明的用于闪速存储器的数据管理设备和方法具有以下优点第一,可防止由大块闪速存储器的逻辑和物理操作单元之间的差异引起的大块闪速存储器的存储空间的浪费。
第二,可通过闪速存储器的存储容量的有效使用来提高闪速存储器的性能。
权利要求
1.一种用于具有内部存储器的闪速存储器的数据管理设备,包括控制器,被配置以执行例如将存储在物理块中的将对其执行数据操作的数据复制到内部存储器,数据操作对内部存储器执行并且在已经对其执行数据操作的数据被传输到物理块。
2.如权利要求1所述的数据管理设备,其中,对应于闪速存储器的物理操作单元的数据被复制到内部存储器。
3.如权利要求2所述的数据管理设备,其中,从物理块复制到内部存储器的数据被以闪速存储器的逻辑操作单元被修改。
4.一种用于具有内部存储器的闪速存储器的数据管理方法,包括将存储在物理块中的将对其执行数据操作的数据复制到内部存储器;和对内部存储器执行数据操作。
5.如权利要求4所述的数据管理方法,其中,将存储在物理块中的数据向内部存储器的复制包括查询与数据操作将对其执行的逻辑块相应的物理块;和将存储在物理块中的数据以闪速存储器的物理操作单元复制到内部存储器。
6.如权利要求5所述的数据管理方法,其中,查询物理块包括参考将逻辑块号映射到物理块号的表来查询物理块。
7.如权利要求6所述的数据管理方法,其中存储在物理块中的数据的复制包括对从内部存储器以逻辑操作单元为单位复制的数据执行数据操作。
8.如权利要求7所述的数据管理方法,还包括将已经对其完成数据操作的数据从内部存储器传输到物理块。
9.如权利要求8所述的数据管理方法,其中,数据的传输包括在数据被传输到物理块之后更新表。
全文摘要
提供了一种用于闪速存储器的数据管理设备和方法。该数据管理设备和方法能防止由闪速存储器的逻辑和物理操作单元之间的差异引起的闪速存储器的存储空间的浪费和性能的下降。数据管理设备将存储在物理块中的将对其执行数据操作的数据复制到内部存储器,对内部存储器执行数据操作,并将该数据传输到物理块。
文档编号G11C11/34GK1652088SQ20051000525
公开日2005年8月10日 申请日期2005年2月3日 优先权日2004年2月3日
发明者明星珠, 金辰赫, 郑宰旭, 郑贤模, 郑泰善 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1