用于存储设备的故障安全操作的系统和方法技术方案

技术编号:13974627 阅读:88 留言:0更新日期:2016-11-11 04:35
描述了用于实现存储设备的故障安全操作的技术。一种设备可以被配置成以故障安全方式删除索引节点。一种设备可以被配置成将目录条目标记为未在使用中并且确保这在任何其他事情之前转到磁盘。一种设备可以被配置成以故障安全方式创建索引节点。一种设备可以被配置成分配和初始化簇并且确保这在任何其他事情之前被写入磁盘。以此方式,卷可以在故障出现时处于可预见的状态。

【技术实现步骤摘要】
【国外来华专利技术】本申请要求享有2014年1月6日提交的美国临时申请No.61/924136、2014年4月17日提交的美国申请No.14/255219以及2014年4月17日提交的美国申请No.14/255243的权益,所有所述美国临时申请和美国申请以引用的方式整体纳入本文。
本公开内容涉及用于与文件系统一起使用的系统和方法,且更具体地,涉及用于实现存储设备的故障安全(fail-safe)操作的技术。
技术介绍
设备包括膝上型计算机或台式计算机、平板计算机、电视机、数字视频录像机、机顶盒、数字媒体播放器、视频游戏设备、视频游戏控制台以及蜂窝电话可以利用文件系统来控制如何将数据存储在计算机可读介质上和如何从计算机可读介质检索数据。例如,设备可以根据定义的文件系统将数据读和/或写到存储设备,诸如,存储卡(例如,安全数字(SD)存储卡,包括标准容量(SDSC)格式、高容量(SDHC)格式和扩展容量格式)、硬盘驱动器,和/或固态驱动器(包括通用串行总线(USB)固态驱动器(所谓的“快闪”、“拇指”或“跳跃”驱动器))。文件系统的类型包括例如基于扩展文件系统(ext)的文件系统、基于分层文件系统(HFS)的文件系统、基于XFS文件系统的文件系统、基于ZFS文件系统的文件系统、基于新技术文件系统(NTFS)的文件系统和基于文件分配表(FAT)文件系统的文件系统,所述文件分配表文件系统包括FAT12、FAT16、FAT32、exFAT和事务exFAT文件系统。设备的使用者并不总是在拔掉或关闭设备和/或存储设备之前卸载卷(volume)。另外,存储设备可能意外地被从设备和/或从电源拔掉或设备可能简单地在操作期间耗尽电池电力。
技术实现思路
总体而言,本公开内容描述了用于实现存储设备的故障安全操作的技术。具体地,本公开内容描述了用于分配簇、使簇解除分配、创建索引节点、删除索引节点、重命名索引节点以及其组合的技术。根据本公开内容的一个实施例,一种用于删除索引节点的方法包括将目录条目标记为未在使用中,并且随后使与被标记为未在使用中的目录条目相关联的簇空闲。根据本公开内容的另一个实施例,一种用于删除索引节点的设备包括一个或多个处理器,所述一个或多个处理器被配置成将目录条目标记为未在使用中,并且随后使与被标记为未在使用中的目录条目相关联的簇空闲。根据本公开内容的另一个实施例,一种非暂时性计算机可读存储介质包括存储在其上的指令,在执行所述指令时,导致设备的一个或多个处理器将目录条目标记为未在使用中,并且随后使与被标记为未在使用中的目录条目相关联的簇空闲。根据本公开内容的另一个实施例,一种用于删除索引节点的装置包括用于将目录条目标记为未在使用中的装置和用于随后使与被标记为未在使用中的目录条目相关联的簇空闲的装置。根据本公开内容的一个实施例,一种用于创建目录的方法包括分配用于该目录的簇、初始化分配的簇、将初始化的簇写入磁盘并且随后将目录条目写入磁盘。根据本公开内容的另一个实施例,一种用于创建目录的设备包括一个或多个处理器,所述一个或多个处理器被配置成分配用于该目录的簇、初始化分配的簇、将初始化的簇写入磁盘并且随后将目录条目写入磁盘。根据本公开内容的另一个实施例,一种非暂时性计算机可读存储介质包括存储在其上的指令,在执行所述指令时,导致设备的一个或多个处理器分配用于该目录的簇、初始化分配的簇、将初始化的簇写入磁盘并且随后将目录条目写入磁盘。根据本公开内容的另一个实施例,一种用于创建索引节点的装置包括用于分配用于该目录的簇的装置、用于初始化分配的簇的装置、用于将初始化的簇写入磁盘的装置以及用于随后将目录条目写入磁盘的装置。下文在附图中和说明书中阐明了一个或多个实施例的细节。从说明书、附图和权利要求中将明了其他特征、目的及优点。附图说明图1是例示可以实施本公开内容的一个或多个技术的计算设备的一个实施例的方框图。图2是例示可以实施本公开内容的一个或多个技术的计算设备的操作系统的一个实施例的方框图。图3是例示根据一个示例文件系统定义的卷的一个实施例的概念图。图4A-4B是例示包括与一个索引节点相关联的记录的目录条目的实施例的概念图。图5是例示根据本公开内容的一个或多个技术使分派到索引节点的簇解除分配的一个实施例的概念图。图6是例示根据本公开内容的一个或多个技术使分派到索引节点的簇解除分配的一个实施例的流程图。图7是例示根据本公开内容的一个或多个技术将附加的簇分配到索引节点的一个实施例的概念图。图8是例示根据本公开内容的一个或多个技术将附加的簇分配到索引节点的一个实施例的流程图。图9是例示根据本公开内容的一个或多个技术删除索引节点的一个实施例的流程图。图10是例示根据本公开内容的一个或多个技术创建索引节点的一个实施例的流程图。具体实施方式总体而言,本公开内容描述了用于实现存储设备的故障安全操作的技术。在一个实施例中,故障安全操作可以包括使卷对于不同类型的故障(诸如,自发电力缺失和/或意外存储设备断开)一致。另外,在使卷一致不可能的情况下,故障安全操作可以包括使卷处于不导致任何数据丢失的状态中和/或使卷处于在随后访问数据时数据丢失能够被清理的状态中。存储设备可以根据定义的文件系统管理用户数据。例如,Microsoft Extensible Firmware Initiative FAT32File System Specification(版本1.03,2000年12月6日)——其以引用的方式整体纳入本文——定义了FAT32文件系统的多个方面,并且Microsoft exFAT Revision 1.00 File System Basic Specification(第四版,01-JAN-2009)——其被描述于美国专利No.8321439的附录A中并且其以引用的方式整体纳入本文——定义了exFAT文件系统的多个方面。文件系统可以指定卷的结构和要求,其中卷是存储和检索用户数据所必需的一组文件系统结构和数据空间。如下文参考图3详细描述的,卷可以包括引导记录、文件分配表以及数据区域。用户数据可以包括目录和文件,其在本文中可以被统称为索引节点。当在卸载卷之前将存储设备拔掉或电力缺失发生时,数据损坏可能发生。例如,FAT和exFAT文件系统都可能使损坏发展,诸如例如,交联簇、丢失簇、损坏目录以及损坏文件。在一些实施方式中,NTFS、ext3/4和XFS文件系统可以使用日志报表来克服与过早的移除存储设备或电力缺失相关联的问题。在一些实施方式中,日志报表可能涉及由于需要维护存储设备上的日志所造成的性能代偿(performance penalty)。应注意,FAT和exFAT规范未提供日志报表。因此,将日志增加到FAT和exFAT文件系统将需要改变定义的规范。这可能不是可行的并且将可能导致与现有的FAT和exFAT实施方式不兼容。其他文件系统(诸如,ZFS)例如可以仅写入新的磁盘块,然后切换引用以指向新的块并且然后使旧的块空闲。事务exFAT可以将一个文件分配表和一个分配位图二者都完全复制在一个卷内并且在一个引导扇区中包括与两个文件分配表和两个分配位图中的哪些当前是激活的有关的指针。以此方式,可以对未激活的文件分配表和未激活的分配位图做事务ex本文档来自技高网
...

【技术保护点】
一种用于使分派到索引节点的一个或多个簇解除分配的方法,该方法包括:将一个链终止符结束值写入一个文件分配表的一个新的最后簇条目内;以及随后,在一个文件分配表的相应的条目中将一个或多个解除分配的簇标记为空闲的。

【技术特征摘要】
【国外来华专利技术】2014.01.06 US 61/924,136;2014.04.17 US 14/255,219;1.一种用于使分派到索引节点的一个或多个簇解除分配的方法,该方法包括:将一个链终止符结束值写入一个文件分配表的一个新的最后簇条目内;以及随后,在一个文件分配表的相应的条目中将一个或多个解除分配的簇标记为空闲的。2.权利要求1所述的方法,其中一个索引节点包括一个文件或一个目录。3.权利要求1所述的方法,其中所述一个或多个簇被包括在根据FAT12、FAT16或FAT32文件系统中的一个文件系统定义的卷中。4.权利要求1所述的方法,其中一个新的最后簇条目包括一个指向一个簇链中的下一个簇的条目。5.一种用于使分派到索引节点的一个或多个簇解除分配的方法,该方法包括:确定一个文件分配表是否被用来描述分派到该索引节点的簇;当确定一个文件分配表未被用来描述分派到该索引节点的簇时,更新目录条目记录信息;当确定一个文件分配表被用来描述分派到该索引节点的簇时,将链终止符结束值写入一个文件访问表的一个新的最后簇条目内;以及随后,更新一个分配位图。6.权利要求5所述的方法,其中一个索引节点包括一个文件或一个目录。7.权利要求5所述的方法,其中所述一个或多个簇被包括在根据exFAT文件系统定义的卷中。8.权利要求5所述的方法,其中一个新的最后簇条目包括一个指向一个簇链中的下一个簇的条目。9.权利要求5所述的方法,其中确定一个文件分配表是否被用来描述分派到该索引节点的簇包括确定无文件分配表链标志的值是否被设置。10.权利要求5所述的方法,其中更新目录条目记录信息包括更新校验和、时间数据、有效数据长度和数据大小中的一个或多个。11.一种用于将一个或多个簇分配到索引节点的方法,该方法包括:写入用于新分配的簇的文件访问表条目;以及随后,更新一个文件访问表条目中的先前的最后簇条目以使得它指向下一个簇。12.权利要求11所述的方法,其中一个索引节点包括一个文件或一个目录。13.权利要求11所述的方法,其中所述一个或多个簇被包括在根据FAT12、FAT16或FAT32文件系统中的一个文件系统定义的卷中。14.权利要求11所述的方法,其中更新一个文件访问表条目中的先前的最后簇条目以使得它指向下一个簇包括重写一个链终止符结束值。15.一种用于将一个或多个簇分配到索引节点的方法,该方法包括:更新一个分配位图;确定一个文件分配表是否被用来描述分派到该索引节点的簇;以及当确定一个文件分配表未被用来描述分派到该索引节点的簇时:更新目录条目记录信息;当确定一个文件分配表被用来描述分派到该索引节点的簇时:写入用于新分配的簇的文件访问表条目;以及随后,更新一个文件访问表条目中的先前的最后簇条目以使得它指向下一个簇。16.权利要求15所述的方法,其中一个索引节点包括一个文件或一个目录。17.权利要求15所述的方法,其中所述一个或多个簇被包括在根据exFAT文件系统定义的卷中。18.权利要求15所述的方法,其中更新一个文件访问表条目中的先前的最后簇条目以使得它指向下一个簇包括重写一个链终止符结束值。19.权利要求15所述的方法,其中确定一个文件分配表是否被用来描述分派到该索引节点的簇包括确定无文件分配表链标志的值是否被设置。20.权利要求15所述的方法,其中更新目录条目记录信息包括更新校验和、时间数据、有效数据长度和...

【专利技术属性】
技术研发人员:A·I·奥塔帕玛科夫S·绍卡希茨
申请(专利权)人:图科塞拉公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1