文件系统及其控制方法

文档序号:6379666阅读:306来源:国知局
专利名称:文件系统及其控制方法
技术领域
本公开的实施例涉及一种用于管理存储器的坏块的文件系统及其控制方法。
背景技术
文件系统是被设计为以文件单位读取和写入存储器的数据的设备。这种文件系统管理存储在各种类型的存储装置(例如,硬盘、⑶-ROM、DVD、蓝光(Blu-ray)、闪速存储器等)中的文件的物理位置。由于闪速存储器是以块单位配置的存储器,所以需要复杂的驱动算法,并且写入速度和读取速度慢。另外,闪速存储器不支持以具有小规模的页单位写入和读取。因此,对于闪速存储器而言,需要更有效的文件管理方法。作为非易失性存储装置的闪速存储器以电的方式执行记录和擦除。闪速存储器的单元形成多个块,每个块用作擦除存储在单元中的数据的最小单
J Li ο在编程操作或擦除操作期间,使用隧道效应和热载流子效应来实现闪速存储器,其中,隧道效应涉及穿过高能量势垒,热载流子效应使具有高动能的热载流子能够穿过绝缘材料。这种编程操作和擦除操作可变成在数据写入操作期间使单元错误操作的同时限制将数据记录到单元的次数的因素。另外,由于需要高集成度的闪速存储器制造处理的各种限制,可能制造出有缺陷的闪速存储器单元。S卩,在制造处理或操作处理期间,闪速存储器带来存储器单元上的缺陷。确定为具有至少一个这种缺陷的单元被称为坏块。坏块的存在使闪速存储器的使用变得复杂,需要开发对于坏块的管理。为了闪速存储器管理坏块,在闪速存储器的读取/写入期间,产生坏块和有效块之间的替换信息来作为地址表,并且替换信息被存储在闪速存储器的保留区域。此后,通过使用存储在闪速存储器中的地址表来存取在物理块地址上存在的数据。然而,这种存取方法速度慢。另外,考虑读取/写入区域来执行坏块替换,并且还在坏的运行时间产生并存储地址表。为了在地址表正被存储的同时为可能发生的电源故障而准备,地址表与地址表的副本一起被存储。因此,闪速存储器的功能复杂,并且存储器的空间效率降低。

发明内容
因此,本公开的一方面在于提供一种文件系统及其控制方法,其中,所述文件系统能够检查一个存储器单元的坏块和有效块,产生关于检查的坏块和检查的有效块的表,并将所述表加载到另一存储器单元。本公开的另一方面在于提供一种文件系统及其控制方法,其中,所述文件系统能够仅对于存储器上的主要被用于执行读取操作的预定分区产生地址表。本公开的另一方面在于提供一种能够从最低级地址开始映射有效块并从最高级地址开始映射坏块的文件系统。在以下的描述中将部分阐述本公开的其他方面,并且本公开的其他方面从描述中部分将是显然的,或可通过本公开的实施而得知。根据本公开的一方面,文件系统包括:第一存储器单元、控制单元和第二存储器单元。第一存储器单元可以是非易失性的,并且具有多个块。控制单元可被配置为选择第一存储器单元的所述多个块中的一个;确定选择的块是否是有效块;如果选择的块是有效块,则控制针对选择的块的数据写入;通过检查第一存储器单元的所述多个块将所述多个块划分为有效块和坏块;通过将有效块和坏块映射到地址来产生地址表;并控制产生的地址表的加载。第二存储器单元可以是易失性的,并存储用于第一存储单元的所述多个块的地址表。控制单元可对第一存储器单元的预定分区执行检查。所述预定分区可以是具有读取的数据的区域。所述文件系统还包括:接口单元,被配置为接收用于在第一存储器上执行写入的数据,并指示与控制单元的命令相应的数据。控制单元可通过将有效块依次映射到从地址中的最低级地址开始的地址并将坏块依次映射到从地址中的最高级地址开始的地址,来产生地址表。如果选择的块是坏块,则控制单元可选择另一块,并确定所述另一块是否是用于执行数据写入的有效块。控制单元可基于存储在第二存储器单元中的地址表,仅对有效块执行读取操作。当第一存储器单元被启动时,控制单元可重新产生地址表。第一存储器单元可包括可读存储器。根据本公开的另一方面,控制文件系统的方法如下。检查非易失性的第一存储器单元的多个块,以将所述多个块划分为有效块和坏块。通过将划分的有效块和坏块映射到地址来产生地址表。将产生的地址表加载到易失性的第二存储器单元。在第二存储器单元中存储产生的地址表。如果用于第一存储器单元的读取命令被输入,则基于存储在第二存储器单元中的地址表,仅对有效块执行读取操作。产生地址表的步骤包括:将逻辑块地址从逻辑块地址中的最低级逻辑块地址开始依次映射到有效块的物理块地址;并将逻辑块地址从逻辑块地址中的最高级逻辑块地址开始依次映射到坏块的物理块地址,从而产生地址表。所述方法还包括:如果写入命令通过接口单元被输入,则选择第一存储器单元的所述多个块中的一个;确定选择的块是否是有效块;如果选择的块是有效块,则对选择的块执行数据写入操作。所述方法还包括:如果选择的块是坏块,则选择所述多个块中的另一块,并确定所述另一块是否是有效块;执行数据写入。检查第一存储器单元的所述多个块以将所述多个块划分为有效块和坏块的步骤包括:标记第一存储器单元的预定分区;对预定分区内的块执行检查,以将检查的块划分为坏块和有效块。
根据本公开的另一方面,文件系统包括第一存储器单元和第二存储器单元。第一存储器单元可以是非易失性的,并且具有多个块。第二存储器单元可被配置为存储地址表,其中,第一存储器单元的所述多个块的有效块和坏块具有与其映射的地址。如上所述,作为非易失性存储器的闪速存储器的地址表被存储在另一存储器中,从而防止在电源故障时与存储地址表相关的限制。另外,增加了作为非易失性存储器的闪速存储器的文件存取速度。另外,闪速存储器的预定分区被用作只读文件系统。另外,不需要获取坏块的整个空间。当执行程序时(例如,启动加载器和用于大量生产图像的固件时),通过参考存储在另一存储器中的闪速存储器的地址表,跳过闪速存储器的坏块。另外,当开发嵌入式系统时,建立用于管理闪速存储器的文件系统的环境。


通过下面结合附图对实施例进行的描述,本公开的这些和/或其他方面将变得明显和更容易理解,在附图中:图1是示出根据本公开的实施例的文件系统的框图。图2是根据本公开的实施例的文件系统的写入操作的流程图。图3是根据本公开的实施例的产生文件系统的地址表的处理的流程图。图4A、4B、5A和5B是示出根据本公开的实施例的产生文件系统的地址表的示例的示图。
具体实施例方式现在,将详细描述本公开的实施例,其示例在附图中示出,其中,相同的标号始终表示相同的元件。图1是示出根据本公开的实施例的文件系统的框图。文件系统包括接口单元110、控制单元120、第一存储器单元130和第二存储器单元140。接口单元110从用户接收数据的写入命令、读取命令和擦除命令。接口单元110根据控制单元120的命令输出从第一存储器单元130和第二存储器单元140读取的数据。这样的接口单元110包括诸如键盘、鼠标和触摸屏的输入单元以及诸如监视器或触摸屏的显示单元。控制单元120包括用来控制文件系统并执行操作的应用处理器。控制单元120的应用产生用于存取存储在第一存储器单元130中的文件的命令。控制单元120执行对于第一存储器单元130的逻辑块地址和物理块地址的映射,以产生地址表,并将所述地址表加载到第二存储器单元140中,其中,所述地址表通过映射被获取且具有关于每个块是坏块还是有效块的信息。如果通过应用接收到关于文件的任务请求,则控制单元120读取在易失性的第二存储器单元140中存储的地址表,获取第一存储器单元130的期望存取的区域的文件的逻辑块地址,将获取的逻辑块地址替换为第一存储器单元130的物理块地址,并通过传送物理块地址和存取命令来存取物理块。任务的请求包括读取请求、写入请求和更新请求。
S卩,控制单元120通过使用存储在第二存储器单元140中的地址表,存取存储在第一存储器单元130中的文件。另外,控制单元120仅对第一存储器单元130的有效块做出读取请求,而不对坏块做出读取请求。在下文中,将详细描述在第一存储器单元130中将逻辑块地址和物理块地址进行映射的配置。控制单元120标记第一存储器单元130的多个块中的预定分区或整个分区,并检查标记的分区内的块是否可用于将所述块划分为坏块和有效块。控制单元120将逻辑块地址分配给标记的分区,并将第一存储器单元130的有效块和坏块的物理块地址依次映射到逻辑块地址以产生地址表,并且控制产生的地址表的加载。在地址的映射期间,控制单元120按照首先是最低级逻辑块地址的顺序将有效块的物理块地址依次映射到逻辑块地址,并按照首先是最高级逻辑块地址的顺序将坏块的物理块地址依次映射到逻辑块地址。然而,本公开不限于此。例如,控制单元可按照首先是最高级逻辑块地址的顺序将有效块的物理块地址依次映射到逻辑块地址,并按照首先是最低级逻辑块地址的顺序将坏块的物理块地址依次映射到逻辑块地址。另外,可以以任何顺序映射有效块和坏块。从最低级物理块地址开始,执行有效块和坏块的物理地址的映射。如果写入命令通过接口单元110被输入,则控制单元120选择第一存储器单元130的所述多个块中的一个块,确定选择的块是否是有效块,并且如果选择的块是有效块,则对选择的块执行数据写入。如果选择的块是坏块,则控制单元120跳过选择的块,从所述多个块中选择另一块,并确定选择的另一块是否是用于执行数据写入的有效块。第一存储器单元130在作为执行之前存储控制单元120的程序的辅助存储器装置的同时存储文件系统的各种数据。第一存储器单元130包括能够执行诸如只读操作、读取操作和写入操作的操作的非易失性存储器。非易失性存储器是经过可擦除的时间之后记录的信息不改变的存储器,并且在不施加电能的情况下不被擦除。例如,非易失性存储器包括专用于读取的只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPPR0M)、闪速存储器、铁电随机存取存储器(FRAM)和相变随机存取存储器(PRAM)。与闪速存储器相关来描述作为第一存储器单元130的实施例。闪速存储器包括存储数据的多个物理块和物理块地址。所述多个物理块包括可用于执行数据的读取、写入和编辑的有效块以及不可用于数据的读取、写入和编辑的坏块。即,数据被存储在有效块中。第一存储器单元130响应于控制单元120的物理块地址和存取命令,对物理块执行存取操作,其中,第一存储器单元130是闪速存储器。在此情况下,从控制单元120传递对有效块的存取命令,并且第一存储器单元130执行对有效块的存取。例如,第一存储器单元130对与传递的物理块地址相应的物理块执行写入操作、读取操作或擦除操作,其中,仅对有效块执行写入操作、读取操作或擦除操作。第二存储器单元140在作为加载将由控制单元120执行的程序的主存储器装置的同时在其上加载控制单元120的应用并暂存数据。第二存储器单元140是能够读取和写入并需要用于保持存储的信息的电能的易失性存储器。例如,第二存储器单元140可包括随机存取存储器(RAM)。RAM可包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。RAM通过使用集成了晶体管(TR)的集成电路(IC)来读取数据。RAM以随机的方式而不是以顺序的方式进行读取,从而提供较快的读取或写入速度。另外,RAM设置有多个用于写入和读取的电路,从而能够执行写入和读取。因此,增加了存取第一存储器单元130的数据的速度。第二存储器单元140存储地址表,其中,识别预定文件的逻辑块地址被映射到存储实际数据的物理块地址。地址表包括关于每个块是坏块还是有效块的信息。地址表用于根据控制单元120的命令来存取第一存储器单元130中的文件,并且当文件系统被启动时,地址表被重新产生并存储。另外,每当存取第一存储器单元130中的每个文件时,存储在第二存储器单元140中的地址表可被更新。所述文件系统可被嵌入到诸如洗衣机、冰箱、空调、烤箱等的家用电器中,然而,不限于此。由于家用电器按照原样使用存储在第一存储器单元130中的数据,所以第一存储器单元130可使用只读存储器,并且控制单元120产生仅用于第一存储器单元130中的读取区域的地址表。在第一存储器单元130的所述多个块包括写入区域的情况下,控制单元120可对写入区域应用它自己的坏块处理方法(诸如日志型闪存文件系统第2版(JFFS2)、另一种闪存文件系统第2版(YAFFS2)、无排序区块图像文件系统(UBIFS)等)。另外,通过使用闪速存储器作为第一存储器,提高了稳定性并降低了制造成本,并且此外,根据本公开的文件系统被有效地应用于嵌入式系统。图2是根据本公开的实施例的文件系统的写入操作的流程图。首次在第一存储器单元130上执行数据写入的处理如下。如果写入命令通过接口单元110被输入,则文件系统的控制单元120选择第一存储器单元130的所述多个块中的一个(201)。控制单元120确定选择的块是有效块还是坏块(202)。如果确定选择的块是坏块,则控制单元120跳过选择的块(203),并重复操作201至操作203。如果选择的块是有效块,则对选择的块执行数据写入(204)。此后,控制单元120确定是否完成了数据写入(205)。如果确定没有完成数据写入,则在所述多个块被划分为有效块和坏块的同时执行数据写入。如果确定完成了数据写入,则结束数据写入。图3是根据本公开的实施例的产生文件系统的地址表的处理的流程图。将结合图1、图4和图5描述产生地址表的处理。控制单元120选择并标记第一存储器单元130的所述多个块的预定分区(301)。所述预定分区表示具有在其上存储的数据的块,并与读取区域相应。另外,如果存在对于第一控制单元130的所有的块产生地址表的需要,则选择并标记所有的块。控制单元120将逻辑块地址分配给预定标记的分区内的块。此后,控制单元120通过验证每个块的可用性,检查坏块和有效块(302)。控制单元120通过将第一存储器单元130的有效块和坏块的物理块地址依次映射到逻辑块地址来产生地址表(303),并将产生的地址表加载到第二存储器单元140中(304)。第二存储器单元140存储第一存储器单元130的地址表,并根据控制单元120的命令,对第一存储器单元130的地址表进行存取。在下文中,将参照图4和图5描述地址映射。第一存储器单元130具有多个块,并且每个块存储物理块地址(PBA)。参照图4A,第一存储器单元130的第一块是有效块并具有物理块地址100 ;第一存储器单元130的第二块是有效块并具有物理块地址101 ;第一存储器单元130的第三块、第四块和第五块是坏块并分别具有物理块地址102、103和104 ;第一存储器单元130的第六块是有效块并具有物理块地址105 ;第一存储器单元130的第七块是坏块并具有物理块地址106 ;第一存储器单元130的第八块至第11块是有效块并分别具有物理块地址107、108、109 和 110。控制单元120将范围从O到10的第一存储器单元130的逻辑块地址(LBA)分配给每个块,并将第一存储器单元130的物理块地址映射到分配的逻辑块地址。在此情况下,控制单元120从最低级逻辑块地址O开始,将逻辑块地址依次映射到有效块的物理块地址,并从最高级逻辑块地址10开始,将逻辑块地址依次映射到坏块的物理块地址。然而,本公开不限于此。例如,控制单元可从最高级逻辑块地址10开始,将逻辑块地址依次映射到有效块的物理块地址,并从最低级逻辑块地址O开始,将逻辑块地址依次映射到坏块的物理块地址。另外,可以以任何顺序映射有效块和坏块。从最低级物理地址开始,执行有效块和坏块的物理块地址的映射。参照图4B,有效块的物理块地址100、101、105、107、108、109和110被依次映射到从最低级逻辑块地址O开始的逻辑块地址。S卩,逻辑块地址O被映射到物理块地址100 ;逻辑块地址I被映射到物理块地址101 ;逻辑块地址2被映射到物理块地址105 ;逻辑块地址3被映射到物理块地址107 ;逻辑块地址4被映射到物理块地址108 ;逻辑块地址5被映射到物理块地址109 ;逻辑块地址6被映射到物理块地址110。此后,坏块的物理块地址102、103、104和106被依次映射到从最高级逻辑块地址10开始的逻辑块地址。S卩,逻辑块地址10被映射到物理块地址102 ;逻辑块地址9被映射到物理块地址103 ;逻辑块地址8被映射到物理块地址104 ;逻辑块地址7被映射到物理块地址106。在下文中,参照图5A和5B,描述与存在不存储数据的空闲块的情况相关的地址映射。第一存储器单元130具有多个块,所述多个块包括坏块、有效块和空闲块,并且每个块具有物理块地址。参照图5A,第一存储器单元130的第一块是坏块并具有物理块地址1000 ;第一存储器单元130的第二块是有效块并具有物理块地址1001 ;第一存储器单元130的第三块是坏块并具有物理块地址1002 ;第一存储器单元130的第四块、第五块和第六块是有效块并分别具有物理块地址1003、1004和1005 ;第一存储器单元130的第七块至第11块是空闲块并具有物理块地址1006、1007、1008、1009和1010。控制单元120将第一存储器单元130的每个块分配给范围从O到10的逻辑块地址,并将第一存储器单元130的物理块地址映射到分配的逻辑块地址。控制单元120从最低级逻辑块地址O开始将逻辑块地址依次映射到有效块的物理块地址,从最高级逻辑块地址10开始将逻辑块地址依次映射到坏块的物理块地址,并从剩余的逻辑块地址中的最低级逻辑块地址开始将剩余的逻辑块地址映射到空闲块的逻辑块地址。然而,本公开不限于此。例如,控制单元可从最高级逻辑块地址10开始将逻辑块地址依次映射到有效块的物理块地址,从最低级逻辑块地址O开始将逻辑块地址依次映射到坏块的物理块地址,并从剩余的逻辑块地址中的最低级或最高级逻辑块地址开始将剩余的逻辑块地址映射到空闲块的逻辑块地址。另外,可以以任何顺序映射有效块、坏块和空闲块。从最低级物理块地址开始,执行有效块、坏块和空闲块的物理块地址的映射。参照图5B,有效块的物理块地址1001、1003、1004和1005被依次映射到从最低级逻辑块地址O开始的逻辑块地址。S卩,逻辑块地址O被映射到物理块地址1001 ;逻辑块地址I被映射到物理块地址1003 ;逻辑块地址2被映射到物理块地址1004 ;逻辑块地址3被映射到物理块地址1005。此后,坏块的物理块地址1000和1002被依次映射到从最高级逻辑块地址10开始的逻辑块地址。S卩,逻辑块地址10被映射到物理块地址1000 ;逻辑块地址9被映射到物理块地址1002。然后,从剩余的逻辑块地址中的最低级逻辑块地址开始,剩余的逻辑块地址被映射到空闲块的物理块地址。S卩,逻辑块地址4被映射到物理块地址1006 ;逻辑块地址5被映射到物理块地址1007 ;逻辑块地址6被映射到物理块地址1008 ;逻辑块地址7被映射到物理块地址1009 ;逻辑块地址8被映射到物理块地址1010。如上描述,控制单元120产生第一存储器单元130的地址表,并将产生的地址表加载到第二存储器单元140中。此后,通过接口单元或应用输入数据读取命令,检查与数据读取命令相应的逻辑块地址;并将检查的逻辑块地址替换为相应的物理块地址,以请求对第一存储器单元130的存取。参照图5B,如果检查的逻辑块地址为0,则控制单元120将该逻辑块地址替换为与逻辑块地址O相应的物理块地址1001,以请求存取数据。如果检查的逻辑块地址是1,则控制单元120将该逻辑块地址替换为与逻辑块地址I相应的物理块地址1003,以请求存取数据。由于控制单元120试图仅针对有效块进行读取,所以坏块的物理块地址1000和1002没有被请求进行读取。如上描述,作为非易失性存储器的闪速存储器的地址表被存储在另一存储器中,从而消除在电源故障时与存储地址表相关的限制,简化闪速存储器的功能,并提高空间效率。另外,增加了作为非易失性存储器的闪速存储器的文件存取速度。另外,闪速存储器的预定分区被用作只读区域。虽然已经示出并描述了本公开的一些实施例,但是本领域技术人员将理解的是,在不脱离本公开的原理和精神的情况下,可以对这些实施例进行改变,本公开的范围由权利要求及其等同物限定。
权利要求
1.一种文件系统,包括: 第一存储器单元,是非易失性的,并具有多个块; 控制单元,被配置为选择第一存储器单元的所述多个块中的一个;确定选择的块是否是有效块;如果选择的块是有效块,则控制针对选择的块的数据写入;通过检查第一存储器单元的所述多个块,将所述多个块划分为有效块和坏块;通过将有效块和坏块映射到地址来产生地址表,并控制产生的地址表的加载; 第二存储器单元,是易失性的,并存储用于第一存储器单元的所述多个块的地址表。
2.如权利要求1所述的文件系统,其中,控制单元对第一存储器单元的预定分区执行检查。
3.如权利要求1所述的文件系统,其中,所述预定分区是具有读取的数据的区域。
4.如权利要求1所述的文件系统,还包括:接口单元,被配置为接收用于在第一存储器上执行写入的数据,并指示与控制单元的命令相应的数据。
5.如权利要求1所述的文件系统,其中,控制单元通过将有效块依次映射到从地址中的最低级地址开始的地址并将坏块依次映射到从地址中的最高级地址开始的地址,来产生地址表。
6.如权利要求1所述的文件系统,其中,如果选择的块是坏块,则控制单元选择另一块,并确定所述另一块是否是用于执行数据写入的有效块。
7.如权利要求1所述的文件系统,其中,控制单元基于存储在第二存储器单元中的地址表,仅对有效块执行读取操作。
8.如权利要求1 所述的文件系统,其中,当第一存储器单元被启动时,控制单元重新产生地址表。
9.如权利要求1所述的文件系统,其中,第一存储器单元包括可读存储器。
10.一种控制文件系统的方法,所述方法包括: 检查非易失性的第一存储器单元的多个块,以将所述多个块划分为有效块和坏块; 通过将划分的有效块和坏块映射到地址来产生地址表; 将产生的地址表加载到易失性的第二存储器单元; 在第二存储器单元中存储产生的地址表; 如果用于第一存储器单元的读取命令被输入,则基于存储在第二存储器单元中的地址表,仅对有效块执行读取操作。
11.如权利要求10的方法,其中产生地址表的步骤包括: 将逻辑块地址从逻辑块地址中的最低级逻辑块地址开始依次映射到有效块的物理块地址; 将逻辑块地址从逻辑块地址中的最高级逻辑块地址开始依次映射到坏块的物理块地址,从而产生地址表。
12.如权利要求10所述的方法,还包括: 如果写入命令通过接口单元被输入,则选择第一存储器单元的所述多个块中的一个; 确定选择的块是否是有效块; 如果选择的块是有效块,则对选择的块执行数据写入操作。
13.如权利要求12所述的方法,还包括:如果选择的块是坏块,则选择所述多个块中的另一块,并确定所述另一块是否是有效块; 执行数据写入。
14.如权利要求10所述的方法,其中,检查第一存储器单元的所述多个块以将所述多个块划分为有效块和坏块的步骤包括: 标记第一存储器单元的预定分区; 对预定分区内 的块执行检查,以将检查的块划分为坏块和有效块。
全文摘要
提供一种文件系统及其控制方法。所述文件系统包括第一存储器单元,是非易失性的,并具有多个块;控制单元,被配置为选择第一存储器单元的所述多个块中的一个,确定选择的块是否是有效块,如果选择的块是有效块,则控制针对选择的块的数据写入,通过检查第一存储器单元的所述多个块将所述多个块划分为有效块和坏块,通过将有效块和坏块映射到地址来产生地址表,并控制产生的地址表的加载;第二存储器单元,是易失性的,并存储用于第一存储器单元的所述多个块的地址表。作为非易失性存储器的闪速存储器的地址表被存储在另一存储器中。
文档编号G06F12/02GK103198019SQ20121041154
公开日2013年7月10日 申请日期2012年10月24日 优先权日2011年10月24日
发明者赵东锡 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1