CN1959672A - 文件系统完整性的优化启动验证 - Google Patents

文件系统完整性的优化启动验证 Download PDF

Info

Publication number
CN1959672A
CN1959672A CNA2006100931831A CN200610093183A CN1959672A CN 1959672 A CN1959672 A CN 1959672A CN A2006100931831 A CNA2006100931831 A CN A2006100931831A CN 200610093183 A CN200610093183 A CN 200610093183A CN 1959672 A CN1959672 A CN 1959672A
Authority
CN
China
Prior art keywords
file
transaction
file system
transaction journal
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2006100931831A
Other languages
English (en)
Inventor
D·道奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
QNX Software Systems GmbH
Original Assignee
QNX Software Systems GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by QNX Software Systems GmbH filed Critical QNX Software Systems GmbH
Publication of CN1959672A publication Critical patent/CN1959672A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Abstract

本发明公开了一种计算机系统,包括处理器、可由处理器访问的随机访问存储、可由处理器访问的永久数据存储装置,还可以包括可由处理器执行的文件系统软件,该文件系统软件用作管理存储在永久数据存储装置上的文件的文件数据和文件系统结构。此外,文件系统软件可以维护包括多个事务记录的事务文件。每个事务记录具有标题部分和数据部分。每个事务记录的标题部分可以包括一个或多个字段,用于存储与由事务记录所表示的文件事务相对应的信息。文件系统软件执行启动处理,在所述的启动处理中在随机访问存储器中生成重建的文件系统,并且,当事务记录满足一个或多个预定的标准时,启动处理可以跳过对事务记录的数据部分的验证。

Description

文件系统完整性的优化启动验证
技术领域
本发明涉及一种用在计算机、嵌入式控制器等中的文件系统。特别是,本发明涉及一种基于事务的文件系统,在该基于事务的文件系统中优化文件系统完整性的启动验证。
背景技术
计算机、嵌入式控制器以及其它基于微处理器的系统典型地是根据多个不同的硬件部件而构建的。硬件部件可以包括处理器、I/O装置、人机界面装置等。另外,这样的系统利用存储器存储部件来保存用在该系统中的数据。存储器存储部件可以采用不同的形式包括、但不局限于硬盘驱动器、软驱、随机存储器、闪存等。
在这样的系统中执行的高级的应用程序必须与这些硬件部件(包括存储器存储部件)经常进行无缝连接。为此,许多系统运行用作应用程序和系统硬件之间的接口的操作系统。文件系统软件可以被包括为操作系统的一部分,或者其可以用作与操作系统相作用的辅助软件部分。在任一种情况下,文件系统软件在存储器存储部件中组织数据,以备处理器和处理器执行的高级应用程序所访问。
由于实现文件系统具有多种方法,就存在多种不同的文件系统分类。例如,在基于事务的文件系统中,由于所有对文件系统结构和数据的更新都被记录为对事务文件的事务处理,所以该文件系统始终保持在一致状态。更特别地,对文件系统的所有更新被作为在事务文件内的事务,并且通过连续应用所有已经提交的事务处理,对文件系统的内容进行动态地重建。
事务文件中的事务或者被提交或者还没有被完成。如果文件系统的操作被打断,诸如由于停电,例如则可以通过参考事务文件的内容,恢复文件系统的状态。任何提交的事务处理都由文件系统使用,并且任何没有完成的事务处理都被返回,将文件系统恢复到试图更新前所处的状态。
将文件系统恢复到一致状态需要文件系统软件执行预定的启动处理。在典型的启动处理中,在其成为文件系统的部分之前,对存储在事务文件中的每个事务的完整性进行验证。在启动处理中,也可以执行另外的文件系统。然而由于该操作是时间、处理以及资源密集的,所以在文件系统中止之后执行事务验证以及其它文件系统操作的传统的方式经常是达不到标准的。
发明内容
本发明公开了一种计算机系统,该系统可以用于实现基于事务的文件系统。该计算机系统包括处理器、可以由处理器访问的随机访问存储器以及同样可以由处理器访问的永久(persistent)数据存储装置。计算机系统也可以包括文件系统软件。该文件系统软件可以由处理器执行,并且该文件系统软件用于管理存储在永久数据存储装置上的文件的文件数据和文件系统结构。此外,文件系统软件可以维护包括多个事务记录的事务文件。每个事务记录具有标题部分和数据部分。每个事务记录的标题部分可以包括一个或多个字段,所述字段用于存储与由事务记录所表示的文件事务相对应的信息。如果文件系统软件的操作中断,文件系统软件利用启动处理继续其执行过程,在所述的启动处理中在随机访问存储器中生成重建的文件系统。在系统重启期间,当事务记录满足一个或多个预定的标准时,启动处理可以跳过对事务记录的数据部分的验证。例如,该启动处理可以在只影响文件数据的事务记录和影响文件系统的元数据的事务记录之间进行区别。当在启动处理中找到事务时,文件系统软件可以标识事务影响了文件数据还是元数据。由于在启动之后只需要元数据来确保文件系统处于一致状态,可以将与元数据相关的事务记录选择成受到完整验证的事务记录的唯一子集。例如可以将对其它的事务记录的验证限制为对包含在每个剩余的事务记录的标题部分中的信息的检查。
事务文件可以存储在例如闪存中。在这种情况下,可以进一步加快启动处理。例如启动处理可以将其标题信息验证限制成闪存装置的相同块中一系列事务记录的第一个事务记录。在启动期间,既不对该系列的尾部事务记录的标题部分也不对其数据部分进行验证,并且即使有的话,启动处理继续移动处理下一个装置块的事务记录。更进一步,启动处理可以检查标题部分信息,以确定装置块中的存储位置是否已被擦除或停用。如果装置块中的存储位置已被擦除或停用,启动处理继续处理下一个装置块。
在察看了以下的附图和详细描述后,本发明的其它的系统、方法和优点对本领域的熟练人员将会或将会变得显而易见。目的在于这样的另外的系统、方法、特征和优点将包括在该说明书之内、在本发明的保护范围之内并且由以下的权利要求保护。
附图说明
参照下列附图和说明可以更好地理解本发明。附图中的组件并不一定是按照比例的,而是将重点放在描述本发明的原理上。而且,在附图中,相同的附图标记在不同的附图中始终表示相应的部分
图1是可以实现基于事务的文件系统的计算机系统的框图,在该文件系统中优化文件系统完整性的启动验证;
图2是表示可以实现在基于事务的文件系统中的文件和目录的排列的一个实例的树状图;
图3是描述可以排列元文件的记录以实现附图2中所示的文件系统结构的一种方式框图;
图4描述了在基于事务的文件系统的事务文件中逻辑排列事务记录的一种方式;
图5表示在一种闪存媒体装置中存储器的物理排列;
图6和7表示事务记录可以排列在用于基于事务的文件系统的闪存媒体装置中的不同的方式;
图8描述了可用于生成范围池(extent pool)的多个相关的处理步骤,所述的范围池又用在重建的文件系统中,所述的重建的文件系统是在重启期间由计算机系统生成的;
图9至11表示用在如图8所示的处理步骤中的不同的记录类型的示例性格式;
附图12表示用在重建的文件系统中的再生的文件体系的目录节点记录的示例性格式;
附图13表示用在重建的文件系统中的再生的文件体系的文件节点记录的示例性格式;
附图14描述了可用于构建用在重建的文件系统中的再生的文件体系的多个相关的处理步骤;
附图15是重建的文件系统的逻辑表示法,所述的文件系统是依照附图8至14所述的、应用到了如图2所示的示例性文件和目录排列的方式而生成的。
具体实施方式
附图1描述了可以用在示例性的基于事务的计算机系统10中的部件。如图所示,示例性的系统10包括处理器15、只读存储器20、以及永久性存储单元30。计算机系统10也可以包括随机存储器35、I/O接口40、以及用户接口45。可以使用在计算机系统10中的具体的部件适合由计算机系统10执行的特定的功能。因此,除了处理器15以外,部件的缺失与否,可以特定于计算机系统10的设计标准。例如,当计算机系统10采取嵌入式控制器等的形式时,可以忽略用户接口45。
只读存储器20可以包括操作系统代码43,其控制由处理器15和不同的硬件部件执行的高级应用程序之间的相互作用,所述的不同的硬件部件包括存储装置20和35、永久存储单元30以及接口装置40和45。操作系统代码43可以包括用于组织存储在永久存储单元30上的文件的文件系统软件。可选地,文件系统软件可以是只与操作系统代码43相交互的单独的软件组件。在后一种情况下,与文件系统软件相对应的代码可以存储在只读存储器20、永久存储单元30等中。当计算机系统10通过I/O接口40与其它的计算机和/或存储装置网络连接时,文件系统软件可以远距离存储并根据需要下载到计算机系统10。但是,附图1描述了在只读存储器20中的文件系统软件47的存储。
永久存储单元30可以采取多种不同的形式。例如,永久存储单元30可以采用硬盘驱动、软盘驱动等。它也可以是非旋转式媒体装置诸如以集成电路格式实现的永久性存储器(例如闪存等)。而且,永久存储单元单元30不必局限于单一的存储器结构。相反,永久存储单元30可以包括多个相同类型的单独的存储装置(例如所有闪存)和/或不同类型的单独的存储装置(例如一个或多个闪存单元和一个或多个硬盘驱动器)。
存储在永久存储单元单元30中的文件包括依照由应用程序或由操作系统代码43使用的预定的格式解释的数据。例如,存储在文件内的数据可以构成可执行程序的软件代码、数据库记录的ASC II文本、与由计算机系统10执行(或不执行)的事务相对应的数据等。
在示例性的系统10中,文件系统软件47利用反向的层级结构来组织存储在永久存储单元30上的文件。附图2是表示可以实现如50表示的反向的层级结构的一种方式的图表。在由多种文件系统所使用的传统的层级结构中,文件结构的顶层从根目录开始并且每个目录向下指向包含在该目录中的文件和子目录。然而,在示例性的反向的层级结构50中,包含在父目录中的子文件和子目录向上指向父目录。根据文件开始其组织的位置,根目录可以构成最低层级的文件系统结构。
在文件系统结构的最高层级,示例性的反向层级结构50包括五个文件55、60、65、70和75。文件55、60和65包含在目录80中,而文件70和75包含在目录85中。因此,文件系统软件47组织文件系统使得代表子文件55、60和65的文件系统记录指向它们的父目录80的记录。类似地,代表子文件70和75的文件系统记录指向其父目录85的记录。
在示例性的反向层级结构50的下一个层级中,文件90和95以及目录80都包含在目录100内,而目录85可以被包含在目录105内。因此,文件系统软件47组织文件系统使得代表子目录80和子文件90与95的文件系统记录指向它们的父目录100的记录。同样,代表子目录85的文件系统记录指向它的父目录105的记录。
根目录110可以形成反向层级结构50的主干。在该实例中,目录100和105以及文件115被包含在根目录110内。因此,文件系统软件47组织文件系统,使得代表子目录100和105以及子文件115的文件系统记录指向它们的父目录105的记录。
文件系统软件47可以组织文件系统的记录来实现反向层级结构的一种方式如图3所示。在该文件系统的实施例中,文件系统软件47可以生成一个或多个元文件,该元文件包括与用在该文件系统中的每个文件和目录相对应的记录。附图3表示了单一的元文件120以及可以排列和安排元文件120中的记录的示例性的方式。在该实例中,元文件120可以被排列为表格,该表格包括多个相等长度的记录条目125。每个记录条目125与可以用在文件系统中的单个的文件或者目录相对应。诸如由130所示的独一的文件标识符可以由文件系统软件47使用,以寻址元文件120的相应记录125。如果每个记录条目125具有相同的记录长度,就可以选择文件标识符130的格式,使得其可以直接或间接地被使用,以作为元文件120中的期望的记录的索引。例如,文件标识符130可以构成偏移值,该偏移值可以连同元文件120的第一记录的存储地址位置一起使用,以计算具有期望的目录/文件信息的图元记录的第一字节的存储地址位置。
在附图3的实例中,文件标识符130指向元文件120中的记录135(条目)7。记录135以与元文件120相邻的展开式的方式显示在附图3中。记录135的展开式也描述了可以用于每个记录条目125的基本的记录格式。在该实例中,记录135包括多个不同的字段,所述字段包括与由记录表示的文件或目录相关的信息。其中,该信息与文件系统结构内的文件或目录的逻辑位置相对应。
可以通过利用元文件记录格式来实现文件系统的反向的层级结构,其中在所述的元文件记录格式中每个元文件记录包括指向表示其父目录的元文件记录的指针。附图3表示元文件记录格式,其中每个元文件记录包括父类标识符字段140,该父类标识符字段140存储其父目录的文件标识符。在该实例中,元文件记录135的父记录标识符140与用于寻址记录145(条目9)的文件标识符相对应。记录145又包括有信息,该信息与包含由记录135表示的文件或目录的目录有关。
每个元文件记录也可以包括与该记录表示的目录或文件相关的其它的信息。在记录135的示例性的记录格式中,使用了多个不同的信息字段。该信息字段包括模式字段150、用户标识字段155、组标识字段160、访问时间字段165、修改时间字段170、生成时间字段175、文件大小字段180以及短名称字段185。模式字段150可以用于确定由记录所表示的文件或目录是否是系统文件/目录、隐藏文件/目录、只读文件/目录等。用户标识字段155和组标识字段160包括关于表示的文件或目录的用户和组所有权的信息。访问时间字段165、修改时间字段170和生成时间字段175分别包括有关表示的文件或目录最近被访问的时间的信息、有关表示的文件或目录最近被修改的时间的信息,以及有关表示的文件或目录被生成的时间的信息。文件大小字段180包含关于由记录表示的文件的大小信息并且对于目录记录来讲文件大小字段180是0。最后,短名称字段185包含表示对应的文件或目录的简短文本名称的ASC II字符。例如可以将短名称字段185的长度选择为符合POSIX标准。此外,每个记录可以包括散列值和/或与短名称相对应的名称总数。文件系统软件47可以使用这样的散列值和/或名称总数,以快速搜索特定的目录和/或文件记录。
元文件120中的每个记录也可以包括扩展记录标识符190的字段。扩展记录标识符190可以用作指向元文件120中的扩展记录的文件标识符。扩展记录可能包括由该记录所表示的文件或目录的进一步的信息,并且在与特定的文件或目录相关的所有信息不在分配给单个元文件记录的存储空间范围内的情况下,扩展记录可能是特别有用的。
附图3描述了可以使用扩展记录标识符190的一种方式。在该实例中,记录135的扩展记录标识符190与用于元文件120中的访问记录195(条目11)的文件标识符(fid)相对应。记录195的分解图与附图3中记录135的分解图相邻。该分解图描述了可以用于扩展记录的一种记录格式。如图所示,每个扩展记录可以包括其自己的父类标识符字段200。然而,扩展记录的父类标识符字段200与指向扩展记录的记录的文件标识符相对应。在如附图3所示的实例中,父类标识符字段200的内容可以用于指回到记录135(条目7)。
在分配给两个记录条目的存储空间不足以容纳与文件或目录相关的全部信息时,扩展记录195还可以指向进一步扩展的记录,其中所述的进一步扩展记录利用其自己的扩展记录标识符,诸如包含在记录195的字段205中的扩展记录标识符。尽管扩展的文件标识符125指向的进一步扩展记录的格式没有示出,进一步扩展的记录同样可以包括指回到记录195的父记录标识符。
包括在扩展记录中的信息的类型在文件系统之间可以不同。在附图3中,扩展记录195包括长名称字段210,其包含有与由记录135表示的文件或目录的长名称的文本相对应的ASC II字符。更多的字段可以存储在每个扩展记录(诸如记录195)的扩展区215中,以存储与相应的文件或目录相关的附加信息。
在前一个实施例中,文件系统使用的扩展记录被存储在元文件120中。然而,扩展记录以及任何进一步扩展的记录可以可选地存储在单独的元文件、多个元文件等中。单独的元文件不需要与元文件120共享相同的存储介质,单独的元文件之间也不需要相互共享。而且,元文件可以被存储在处理器15可访问的不同的存储介质中。即使基本元文件记录(没有相应的扩展记录的目录和文件记录)也可以在多个文件或多个存储媒介之间分配。同样,尽管示例性系统的元文件记录被存储在单个元文件中,该元文件也可以可选地以多个单独的文件的形式存储在相同或不同的存储媒介上。
通过组织反向层级结构的计算机系统10的文件和目录,可以实现一个或多个文件系统的优点。例如,可以以自动完成典型的文件和目录事务(即移动文件/目录、删除文件/目录、生成文件/目录、复制文件/目录)作为更改、添加或删除单个元文件记录的任何方式来实现文件系统。在该实施例中,例如可以只通过改变父类标识符140将由记录135所表示的文件/目录移动到该层级中的另一目录,使得其可以指向新的父目录的元文件记录。这可以利用对元文件120中的记录135的单个写操作来实现。
该反向层级结构可以用于优化事务的系统或基于日志的系统。示例性的事务的系统或基于日志的系统可以通过如图1所示的组件来构建。在该实例中,事务文件220可以保存在永久存储单元30中,并且可以用于保持事务的记录与文件系统的每个文件和目录相关联。基于包含在事务文件220中的事务记录对文件系统进行自动更新。以其中最简单的形式之一,每个事务记录可以被存储为单个逻辑页,其中该逻辑页可以映射到永久存储单元30的物理块或扇区。
事务记录225可以被格式化成在计算机系统10中使用的一种方式如图4所示。一般而言,事务文件220的每个事务记录225包括标题字段230以及相应的数据字段235。标题字段230可以包括多个不同的子字段。如图4所示的子字段包括事务序列字段240、文件标识字段245、事务状态字段250、簇(cluster)高字段255、簇低字段260以及簇数字段265。此外,在标题230中可以包括更多的子字段,以检验事务的完整性并进行错误校正。这些更多的子字段包括簇总数字段247、事务总数字段、检查并校正标题230的错误校正代码字段257、检查并校正数据235的错误校正代码字段259、以及深层状态字段262,其中深层状态字段262表示可以存储事务记录的存储器位置的状况。
标题字段230的每个子字段对文件系统软件47来讲具有重要意义。在该实例中,事务序列字段240可以是单调递增的事务标识符,该标识符可以由文件系统软件47来赋值。当新的事务记录可以被添加到事务文件220时,存储在新记录的事务序列字段240中的值可以比按时间排序的在前的事务记录的事务序列字段的值增加一个预定量。因此,具有较大的事务标识符值的事务记录就被认为在晚于具有较低事务标识符值的事务记录的时间上已经被添加到事务文件220。由事务序列字段240的值(在某些情况下,事务文件220的事务块内的事务记录的位置)表示的事务的时间顺序允许文件系统软件47以适当的顺序应用(即提交)事务,以保持文件系统内容的完整性。也可以使用其它的记住事务的时间顺序的方法。
文件系统软件47利用事务状态字段250来确定是否已经提交了事务记录225的事务。一旦事务已经被提交,文件系统软件47就会禁止对提交的事务记录225的进一步的改变。这保证了文件系统的一致性并且也允许文件系统在例如一次性写入媒介、闪存媒介等中存储事务文件220。
标题230的文件标识字段245标识可以由事务记录225影响的文件。可以选择文件标识字段245的格式使得其与用在元文件记录中的文件标识符相同。文件系统软件47可以使用簇高字段255和簇低字段260来确定数据235可以被写入被标识的文件的起始地址(或偏移量),而簇数字段265可以用于确定有多少簇被标识的文件可以由数据235来重写。
如上所述,永久存储单元30可以包括一个或多个闪存装置。闪存装置在称作存储单元的逻辑门中存储信息,典型地每个存储单元中存储1比特信息。闪存技术中更新近的发展也已使得这样的装置在每个单元中存储大于1比特的信息,有时也称作多级单元装置。此外,闪存是非易失性的,这意味着当该装置断电时存储器单元的内容不会丢失。
尽管闪存装置技术是不断地发展的,占支配地位的技术包括NAND闪存和NOR闪存。NOR闪存装置和NAND闪存装置通常在用于每个存储单元的逻辑门的类型方面是不同的。一种NAND闪存装置275的示例性的逻辑结构270如附图5所示。如图所述,装置275上的可用的存储器可以被组织进邻接的物理块280,每个物理块具有相等数量的存储单元(即16K字节)。NAND闪存装置275进一步将每个邻接的块280分成具体数量的物理扇区或页290。每个物理页290又可以进一步分成数据区295和备用区300。数据区295通常专供存储数据之用,而备用区300典型地专供于对关于存储在数据区295的数据的元信息的保护。元信息可以包括例如用于验证并校正扇区内容的错误校正代码、循环冗余校验数据等。
除了每页的备用区位于数据区的相对侧以外,NOR闪存装置具有与附图5所示的相似的结构。NOR闪存装置也提供随机的访问读取和编程操作,允许继续读取或读取单个的存储单元。然而,一旦块中的存储单元已被写入,NOR闪存装置就不允许该块被重写比块更小的粒度(granularity)。同样,NOR闪存装置也不允许以小于块的粒度(granularity)进行擦除操作。
数据区295和备用区300典型地在NOR和NAND闪存装置中都设置到特定的大小。例如,对于总页面大小为528字节来讲,附图5的示例性NAND闪存装置275的每页290包括512字节的数据区295和16字节的备用区300。NAND闪存装置275在每块280使用了32页290。其它页面大小可以用在计算机系统10中并且是商业上可得的。例如许多NAND装置包括具有64页的块,其中每页存储有2112字节使得总计数据区每页有2048字节并且备用区每页具有64字节。
诸如NAND闪存装置275的闪存装置典型地每次在全部块280上执行擦除操作。擦除操作将块280内的全部比特设置到一致状态,通常设置为二进制“1”的值。在闪存装置275的擦除的块280上的编程操作只可以改变整个页290的内容(尽管可以以稍微不同的方式对NOR闪存装置进行编程)。一旦对NAND闪存装置的页290进行了编程,其状态不能被改变直到全部块280可以被再次擦除。读取闪存装置275的内容也发生在页面层级。
附图6描述了一种可以将事务记录组织在闪存装置(诸如NAND闪存装置275)中的方式。在该实例中,每个事务记录305可以由两个或多个相邻的逻辑页315组成。每个逻辑页315又可以由装置275的块280的两个或多个相邻的物理页290组成。事务记录310的元数据信息可以存储在备用区300中,并且可以包括一些结合附图4的标题描述的字段。根据每页290的备用区300的大小,元数据信息可以在事务记录310的多个备用区300之间进行划分。在两个连续的物理页290的备用区300之间的元数据信息的划分如附图6所示。也可以组织附图6中所示的事务记录使得每个事务记录310与单个的逻辑页315相对应,所述的逻辑页315例如可以由两个相邻的物理页290组成。
可选的排列如图7所示,在该排列中在闪存装置275的每个逻辑页315和物理页290之间可以存在一一对应。该排列与附图6中所示的排列之间的区别是所有元数据信息320可以被存储在事务310的第一物理页290的单个备用区300中。当使用大容量的闪存装置时,这种类型的排列是特别合适的。然而,也可以在事务记录的两个相邻物理页290的备用区300之间对元数据信息320进行划分。
存储在相同装置块290中的事务记录310的序列标识符可以具有相同的值。在这种情况下,序列标识符提供了按时间顺序的信息,该信息可以用于比较不同的装置块的事务记录之间的时间关系。存储在相同块中的事务记录310上的按时间顺序的信息可能来源于块290内的事务记录310的偏置位置,越晚出现的事务记录310其偏置量就越大。
在计算机系统10已经启动或通电之后,可以通过在随机存储器35中生成重建版本的文件系统来对文件系统的完整性进行验证。可以利用存储在事务文件220中的以及来自于存储在元文件120中的文件/目录信息的有效的、提交的事务来生成如图1的330所示的重建的文件系统。在附图1中,重建的文件系统330包括再生的文件体系335和范围表340。
生成范围表340的一种方式如图8至11所示。附图8描述了多个相互联系的处理步骤,这些步骤可以用于生成范围池340,而附图9至11描述了在这些操作中生成的并使用的不同的表和阵列的逻辑组织。
通过扫描事务文件220的块来寻找全部的事务记录,可以在附图8的步骤345开始生成范围表340。可以以从最低序列块向最高序列块的顺序顺次扫描这些块,在其中找到提交的事务记录。当在块内找到事务时,可以在步骤350生成块记录阵列,其中块记录阵列标识每个具有事务记录的装置块。
当文件系统软件47扫描事务文件220的块四个事务时,由于事务已经被停止,或者由于还没有将块分配用于文件系统,文件系统软件可能会遇到已经被擦除的块。可以这样构建事务标题使得无效的事务将标题的全部比特设置为擦除值,典型地是二进制的“1”。当文件系统软件47扫描事务文件220的块时,可以跳过其中标题指示擦除块的任何事务。当其与擦除值相反时,可以通过使用单个比特作为标记以指示事务在被文件系统使用,从而来强制实施标题不变量。一旦在事务标题中找到这样的擦除标记值,就可以跳过对块中剩余页的扫描,因此节省了时间,否则该时间将用于访问擦除页。整个系统的启动时间可以相应的被减小了。
示例性的块阵列355的组织如附图9所示。每个块阵列记录360包括序列字段365、开始事务字段370和事务数量字段375。序列字段365可以用于存储在块中存储的事务记录的事务标识符值。开始事务字段370可以用于存储块中第一个事务的索引,并且事务数量字段375可以用于存储在块中找到的事务的数量。
在附图8的步骤380,文件系统软件47为块阵列355中的每个记录条目增设事务编目表(list table)。附图9描述了一种可以组织事务编目表385的方式。在该实例中,块阵列355的每个记录360指向事务编目表385的至少一个事务列表记录390。更特别地,可以对在块中找到的每个事务生成事务列表记录390,其中所述的块是由给定的块阵列记录360表示的。存储在给定的块阵列记录360的事务375的数量中的值与给定的块中的事务的数量相对应,并指明了有多少给定块的记录390将被添加到事务编目表385中。
事务编目表385的每个事务列表记录390可以具有相同的记录长度并且包括相同的记录字段。用在附图9的记录390中的示例性的字段包括文件簇偏移量字段395、装置簇索引字段400、簇数量字段405和文件标识符/idx字段410。文件簇偏移量字段395可以用于标识块内的事务的物理位置。装置簇索引字段400可以用于标识事务的数据从哪里开始。簇数量字段405可以用于标识有多少簇数据出现在事务内。最后,以下将要描述的文件标识符/idx字段410是多种用途的。首先,存储在文件标识符/idx字段410中的值可以用于标识可以应用事务的文件。存储在字段410中的文件标识符值可以直接对应于用来参照元文件120中的记录的文件标识符。一旦步骤380完成,将以例如递增的块顺序排列块阵列355的记录360,同时将以递增的页顺序排列每个块阵列记录360的记录390。
在步骤415,基于存储在序列字段365中的值,将块阵列355的记录360进行分类。可以执行该操作,以时间顺序(即将相应的事务应用到文件系统的文件的顺序)放置事务编目表385的记录390。
可以利用块阵列355和事务编目表385的分类记录在RAM 35中生成临时文件440,其中临时文件440存储与文件系统的事务记录相对应的文件节点信息。为此,可以首先将与文件系统的根目录相对应的基本记录添加到临时文件440。用于生成临时文件440中的根目录节点的信息可以从与存储在元文件120中的根目录文件相对应的记录中获得。
在临时文件440中排列文件节点记录的一种方式的逻辑表示法如附图10的445所示。在该实例中,每个文件节点记录450包括文件节点字段455和起始字段460。文件节点字段455的内容可以用于标识文件节点,事务编目表385的各种不同的事务记录390可以链接到该文件节点。为了简洁,文件节点字段455的内容可以具有与用于访问元文件120的相应的记录条目125的文件标识符相同的格式。起始字段460的内容可以用于标识事务编目表385中的第一事务记录390的位置,其中所述的事务编目表385与在文件节点字段455中标识的文件相对应。同样,每个文件节点记录450标识文件系统内的文件并标识与被标识的文件相关的第一事务的位置。
在步骤420,对块阵列355和事务编目表385的每个分类的记录360和390进行详细研究以确定临时文件440是否包括与存储在文件标识符/idx字段410中的文件标识符相对应的文件节点记录450。如果在临时文件440中没有找到具有与事务记录390相同的文件标识符的节点记录450,将会在步骤430生成新的文件节点记录450。如果与事务列表记录390相对应的文件节点记录450存在于临时文件440中,事务列表记录390可以被链接到文件节点记录450的一列事务。在该实例中,可以在附图8的步骤435将事务列表记录390链接进文件节点记录450的该列事务。将事务列表记录390链接进文件节点的该列事务的方式,取决于事务列表记录390是否是文件节点的第一事务列表记录或者是文件节点的随后的事务列表记录。如果它是文件节点的第一事务列表记录,可以更新文件节点记录450的起始字段460,以标识该第一事务列表记录390的起始位置。同样,文件节点记录450的起始字段460的内容可以用于指向事务编目表385中的位置,事务编目表385又包含有应用到文件的第一事务的范围信息。当事务列表记录390可以被附加到文件节点的现有的事务列表记录时(即当它不是文件节点的第一事务列表记录时),文件标识符/idx字段410的功能发生改变。更特别地,可以改变字段410的值和功能,使得其指向与文件节点相关的最后一个事务记录390。这在附图10中进行了描述,其中文件节点记录450的起始字段460指向事务列表记录390的开始处。记录390的文件标识符/idx字段410又指向事务列表记录465的开始,其中事务列表记录465中包含关于由文件节点记录450所表示的文件的第二事务的位置的信息。类似地,文件节点记录470的起始字段460指向事务列表记录475的开始处。事务列表记录475的文件标识符/idx字段410指向事务列表记录480的开始处,事务列表记录480包含关于由文件节点记录470表示的文件的第二事务的位置的信息。
一旦所有的事务编目表385的事务列表记录已以正确的方式与相应的文件节点记录相链接,就在步骤485对每个文件节点的事务列表记录进行详细研究,以移除任何涉及未提交的和/或坏的文件事务的事务列表记录。可以以多种不同的方式实现对这样事务列表记录的移除。例如,文件系统软件47可以检验最后出现的事务的状态字段,以确定其是否被提交。如果事务已被提交,事务编目表385中的相应的记录可以维持原状。然而,如果事务还没有被提交,事务编目表385中的相应的记录可以被删除或者被忽略。
为了加快这种类型的事务提交检验的处理,文件系统软件47只需确保已经提交最后发生的事务。由于只有最后出现的事务受停电、不正常的系统停止等的影响,可以跳过所有其它记录的提交检验。通过跳过对所有其它记录的提交检验,可以相当大地减少系统启动所需的时间。
尽管其被表示为线性序列的一部分,由于可以处理每个事务列表记录以将其合并在相应的文件节点中,仍然可以执行步骤485。例如,文件系统软件47可以检验包括在每个事务记录的标题中的状态信息,以确定事务是否已被提交。由于每个事务记录可以用于增设相应的事务列表记录,该检验就可以发生。一旦文件系统软件47找到没有被提交的事务,附图8的步骤420至485中事务编目表385的进一步处理就是不必要的。
在步骤490,在每个文件节点的范围池340中生成条目。一种可实现方式如附图11所示。在该实例中,可以改变每个文件节点的起始字段460的内容,使得其作为范围索引字段487来工作。范围索引字段487指向范围池340中的第一位置,所述的范围池包括关于文件的第一事务的事务数据的位置的信息。每个范围记录490可以包括簇数量字段495、起始簇字段500以及下一个范围字段505。起始簇字段500标识装置270中的起始位置,其中可以存储与文件节点相对应的文件的第一文件事务。簇数量字段495标识有多少装置270的邻接簇被用于存储文件事务。下一个范围字段505标识由文件节点表示的文件的下一个范围记录的范围索引。在该实例中,范围索引487指向范围记录510而范围记录510的下一个范围字段505指向范围记录515。
用于增加范围池340的记录的数据至少部分可以从存储在事务编目表385中的数据中获得。在这里所示的实例中,范围池340可以是更致密形式的事务编目表385。为此,如果事务列表记录是部分相同文件节点,则文件系统软件47可以将具有相邻数据的事务列表记录组成单一的范围记录条目。同样,没有进一步的必要将块阵列355保留在RAM 35中。因此,块阵列355可以从RAM 35中删除。
在执行用于生成范围池340的不同步骤期间,可以检验事务文件220中的事务的完整性。例如,可以在或者附图8的步骤350或者380期间执行事务记录的完整性检验。普通数据检验包括CRC和ECC技术。
为了减少计算机系统10的启动时间,可以将错误检验技术限定到包括在某些事务的标题中的信息。由于事务是在如图8所示的启动处理期间找到的,文件系统软件47可以确定该事务是否影响了文件数据或元数据,诸如元文件120中的目录结构信息。该区别可以是基于与事务相关的文件标识符。通常,元数据将由文件标识符表示,所述的标识符是众所周知的,并且是难以编码进文件系统软件47(例如,它们将元文件120标识为事务主题的文件)。由于只需要元数据来确保文件系统在启动后处于一致状态,当事务与这样的元数据相关时,只执行与事务的数据部分相关的数据检验技术。如果事务并不涉及元数据的变化,可以首先将数据检验技术单独限制到对标题信息的检验。在如图6所示的事务记录格式中,必须检验的关于系统启动的主要标题信息可以被存储在每个事务记录310的第一备用区300中。这允许文件系统软件47跳过对包括在每个事务记录310的第二备用区中的标题信息的验证,因而进一步优化了启动序列。以下将进一步详细描述,对每个事务的数据部分的错误验证可以推迟到在完成启动序列之后相应的文件可以第一次被文件系统软件47访问时。
通过将错误检验单独限制到一系列连续事务的第一事务标题,可以对事务记录的任何启动验证做进一步的优化。在对事务文件220的启动扫描期间,当发现事务标题表示相同文件的多个连续的事务记录接连着时,一旦已经验证了该序列的第一事务记录的标题,就可以跳过对该序列中尾部事务的标题的验证。在最后的尾部事务之后的下一个块,可以继续对标题信息的验证。
在RAM 35中生成重建的文件系统330的下一个步骤可以是构建再生的文件体系335。在该实例中,再生的文件体系335可以包括文件和目录节点记录。目录节点记录的示例性的格式如图12的520所示,而文件节点记录的示例性的格式如附图13的525所示。
目录节点记录520包括可以由文件系统软件47使用的多个不同的字段。更特别地,目录节点记录520可以包括同属字段(sibling field)530、文件标识符字段535、父类标识符字段540、子字段545和目录名称字段550。同样,附图13的文件节点记录包括由文件系统软件47使用的多个不同的字段。该文件节点记录字段可以包括同属字段555、文件标识符字段560、范围索引字段565和名称总数字段570。
由于包含在元文件120中的数据可以用在再生的文件体系335的构建中,元文件记录在元文件120中排列的方式将会影响系统启动性能。为此,元文件120的记录被排列在单个元文件中作为具有相同的长度的邻接记录,并被全部存储在相同存储介质中。这种排列提高了文件系统软件47访问元文件数据的速度并且减少了这样的访问所需的处理的量。
可以用于增设再生的文件体系335的每个文件节点记录525和目录节点记录520的字段的步骤的一个序列如附图14所示。可以对元文件120中的每个记录执行所说的序列,并且所说的序列可以在步骤575开始。在步骤575,可以基于元文件120中第一记录条目的偏置量生成文件标识符。可以在步骤580对再生的文件体系335进行检验,以确定与文件标识符相对应的文件节点记录525或目录节点记录520是否已存在。如果相应的记录520或525不存在,可以在再生的文件体系335中生成新的记录文件。新生成的记录的格式取决于文件标识符是与元文件120中的文件条目对应还是与目录条目对应。文件系统软件47将对此作出决定并应用合适的记录格式520或525。
在步骤585,利用在元文件120中找到的文件/目录的属性,添加新生成的记录的字段。如果新生成的记录与目录节点相对应,利用父类文件标识符中数据的和元文件120中的相应记录的短名称字段的数据,增设父类标识符字段540和目录名称字段550。如果新生成的记录与文件节点相对应,可以利用直接存储的或者来源于元文件120中相应记录的文件名称数据的数据来增加名称总数字段570。可以利用在相应的文件节点记录450(见附图11)的范围索引字段487中找到的数据来增加范围索引字段565。
如果新生成的文件与目录节点相对应,在步骤590可以对再生的文件体系335进行搜索,以确定父节点是否存在。如果父节点不存在,可以将与父节点相对应的目录记录添加到再生的文件体系335。
在步骤595,可以将新生成的文件/目录记录链接到父目录节点的树形结构。如果新生成文件/目录记录的子字段545表示父目录没有子类,可以重设父目录记录的子字段545的值,以指向新生成的文件/目录记录,并且可以设置新生成的文件/目录的同属字段555或530,以指示新生成的文件/目录记录没有同属。如果父节点记录的子字段545指示父目录节点具有子节点,则可以设置新生成的文件/目录记录的同属字段565或530,以指向父目录的现有的子类,并且可以设置父目录的子字段545,以指向新生成的文件/目录记录。如果新生成的文件/目录记录与目录节点相对应,可以设置新生成的目录记录的父类标识符字段540,以指向父目录节点。
在步骤600,文件系统软件47从新生成的文件/目录记录的父目录开始,递归地沿父节点向上移动,并执行一系列处理步骤直到到达根节点。在这一点上,新生成的文件/目录记录的父目录节点可以被参考为当前目录节点。在附图14所示的示例性处理中,文件系统软件47检验再生的文件体系335,以确定与当前目录的父节点相对应的目录节点记录是否存在。可以在步骤605和610执行该处理。如果这样的目录记录不存在于再生的文件体系335中,则可以在步骤615生成新的目录记录。然后可以将新生成的目录记录的子字段545设置为指向当前的目录节点记录,作为新目录记录的唯一的子类。在步骤620,可以将当前的目录节点记录的父类标识符字段540设置为指向新生成的目录记录。可以在步骤625将当前目录节点记录的同属字段530设置为表示不存在当前目录节点记录的同属。
如果在步骤605和610执行的检验指示在与当前的目录的父节点相对应的再生的文件体系335中存在目录记录,则可以在步骤630将当前的目录节点链接到父目录节点的概括的树状结构。为此可以将当前的节点的父类标识符字段540设置到指向再生的文件体系335中的父节点记录的位置。可以将当前目录节点的同属字段530设置为:所指向的记录与父节点记录的子字段545所指向的记录相同。最后,可以将父目录节点的子字段545设置为指向当前目录节点的位置。
在步骤635,文件系统软件47检验以确定递归的目录处理是否完成。在该实例中,当处理向根目录节点的发送时,递归的目录处理被完成,其中根目录节点具有唯一的并且可识别的文件标识符。如果在步骤635到达该根目录节点,可以在步骤640开始对元文件120中下一个文件记录条目的处理,步骤640返回到步骤575控制该处理。如果在步骤635没有到达根目录,则在步骤605开始重复对向上的文件/目录体系中的下一个父节点的处理。
附图15是重建的文件系统330的逻辑表示,并且对应于附图8和14的处理步骤的应用程序对具有如图2所示的文件体系结构的文件系统的应用。在该示例性的表达中,直线665、670、675和680分别代表指针,这些指针与代表目录105、100、80和85的目录节点记录的父类标识符字段540的内容相对应。直线645、650、660、655和652分别代表指针,这些指针与代表目录110、100、105、80和85的目录节点记录的子类标识符字段545的内容相对应。直线685、690、695和705分别代表与目录节点记录的同属标识符字段530的内容相对应的指针,其中所述的目录节点记录分别与目录100、105和80相对应。直线700、705、710和715分别代表与文件节点记录的同属标识符字段555的内容相对应的指针,其中所述的文件节点记录分别与文件90、55、60和70相对应。
利用重建的文件系统330访问永久存储单元30的事务文件220中的数据的一种方式也如图15所示。如图所示,文件系统软件47为软件将要访问的文件节点记录提供文件标识符730。在该实例中,文件标识符730指向代表文件55的文件节点记录。文件系统软件47然后将文件节点记录的范围索引565的内容用作对范围池340的索引,以定位事务文件220中的文件的数据。然而,应当认识到的是文件系统软件47可以以多种不同于附图15中所述的方式使用重建的文件系统330的内容。
如上所述,在启动期间,并不执行对文件完整性的彻底的验证,使得可以加快启动的处理。相反,文件系统软件47可以推迟对文件的彻底验证直到文件第一次可以被访问时。为此,文件系统软件47可以维护指示每个文件的完整性是否已经被彻底验证的表格。可选地,文件系统软件47可以使用再生的文件体系335中的每个文件节点记录的一个或多个比特,以指示文件的完整性是否已经彻底验证。文件系统软件47可以在启动之后至少文件第一次可以被访问时验证该指示符。如果该指示符表明文件没有被彻底验证,则可以在当时对文件执行彻底的验证。可选地,由于文件的事务的标题还没有被检查,文件系统软件只需验证文件的每个事务的数据部分的完整性。该验证处理可以包括一个或多个CRC处理、一个或多个ECC处理等。
如附图5、6和7所示,每个事务记录标题中的多个不同字段可以专用于验证整个事务记录的完整性。如果完整性检查失败并且利用相关的错误校正代码的应用程序不能纠正该错误,则可以将程序错误报告给做出对文件内容进行访问请求的应用程序或系统。
已经对本发明的不同实施例进行了描述,对本领域的普通熟练人员显而易见的是更多的实施例和实施方式可能在本发明的范围之内。因此,本发明并不仅限于附属的权利要求和它们的等效物。

Claims (24)

1、一种计算机系统,包括:
处理器;
可由所述处理器访问的随机访问存储器;
可由所述处理器访问的永久数据存储装置;
可由所述处理器执行的文件系统软件,所述文件系统软件用于管理存储在所述永久数据存储装置上的文件的文件数据和文件系统结构;以及
由所述文件系统软件维护的事务文件,
其中,所述事务文件包括多个事务记录,并且每个事务记录包括标题部分和数据部分,
其中,每个事务记录的所述标题部分包括一个或多个字段,所述字段包含与所述事务记录所表示的文件事务相对应的信息;并且
所述文件系统软件执行启动处理,在所述启动处理中,在所述随机访问存储器中生成重建的文件系统,并且当所述事务记录满足一个或多个预定的标准时,所述启动处理跳过对存储在事务记录的数据部分中的信息的验证。
2、一种计算机系统,包括:
处理器;
可由所述处理器访问的随机访问存储器;
可由所述处理器访问的永久数据存储装置;
可由所述处理器执行的文件系统软件,所述文件系统软件用于管理存储在所述永久数据存储装置上的文件的文件数据和文件系统结构;以及
由所述文件系统软件维护的事务文件,
其中,所述事务文件包括多个事务记录,并且每个事务记录包括标题部分和数据部分,其中每个事务记录的所述标题部分包括一个或多个字段,所述字段包含与所述事务记录所表示的文件事务相对应的信息;并且
其中,所述文件系统软件执行启动处理,在所述启动处理中,在所述随机访问存储器中生成重建的文件系统,并且
其中,所述启动处理跳过对存储在事务记录的数据部分中的信息的验证,除非所述事务记录影响了所述文件系统结构的元数据,并且其中执行所述启动处理以验证存储在影响所述文件系统结构的元数据的事务记录的标题部分和数据部分中的信息。
3、一种计算机系统,包括:
处理器;
可由所述处理器访问的随机访问存储器;
可由所述处理器访问的永久数据存储装置;
可由所述处理器执行的文件系统软件,所述文件系统软件用于管理存储在所述永久数据存储装置上的文件的文件数据和文件系统结构;以及
在闪存介质中由文件系统软件维护的事务文件,
其中,所述闪存介质被组织进存储块中,并且每个存储块包括多个存储页面,其中所述事务文件包括多个事务记录,并且每个事务记录包括标题部分和数据部分,并且其中每个事务记录的标题部分包括一个或多个字段,所述字段包含与所述事务记录所表示的文件事务相对应的信息;并且
其中,所述文件系统软件执行启动处理,在所述启动处理中,在所述随机访问存储器中生成重建的文件系统,其中,当一系列事务记录中的第一个出现的事务记录和尾部事务记录被存储在相同存储块中并且影响相同文件时,所述启动处理验证第一次出现的事务记录的标题部分中的信息,同时跳过对尾部事务记录的任何验证。
4、根据权利要求1所述的计算机系统,其中所述启动处理验证存储在多个事务记录的标题部分中的信息。
5、根据权利要求1所述的计算机系统,其中所述启动处理验证错误校正代码字段,以检查存储在多个事务记录的标题部分中的信息。
6、根据权利要求1所述的计算机系统,其中所述永久数据存储装置包括闪存类的介质。
7、根据权利要求6所述的计算机系统,其中所述闪存类的介质被组织进存储块中,并且其中每个存储块包括多个存储页面。
8、根据权利要求1所述的计算机系统,其中所述重建的文件系统包括再生的文件体系和范围表。
9、根据权利要求8所述的计算机系统,其中所述文件系统软件将所述再生的文件体系组织为反向文件体系。
10、根据权利要求1所述的计算机系统,其中所述启动处理跳过对存储在事务记录的数据部分中的信息的验证,除非所述事务记录影响了所述文件系统结构的元数据,并且其中,当所述事务记录影响了文件系统结构的元数据时,所述启动处理验证存储在事务记录的标题部分和数据部分中的信息。
11、根据权利要求7所述的计算机系统,其中当一系列事务记录中的第一个出现的事务记录和尾部事务记录被存储在相同存储块中并且影响相同文件时,所述启动处理验证第一次出现的事务记录的标题部分中的信息,同时跳过对尾部事务记录的任何验证。
12、根据权利要求2所述的计算机系统,其中所述启动处理验证存储在多个事务记录的标题部分中的信息。
13、根据权利要求2所述的计算机系统,其中所述启动处理验证错误校正代码字段,以检查存储在多个事务记录的标题部分中的信息。
14、根据权利要求2所述的计算机系统,其中所述永久数据存储装置包括闪存类的介质。
15、根据权利要求14所述的计算机系统,其中所述闪存类的介质被组织进存储块中,并且其中,每个存储块包括多个存储页面。
16、根据权利要求2所述的计算机系统,其中所述重建的文件系统包括再生的文件体系和范围表。
17、根据权利要求16所述的计算机系统,其中所述文件系统软件将所述再生的文件体系组织为反向文件体系。
18、根据权利要求14所述的计算机系统,其中当一系列事务记录中的第一个出现的事务记录和尾部事务记录被存储在相同存储块中并且影响相同文件时,所述启动处理验证第一次出现的事务记录的标题部分中的信息,同时跳过对尾部事务记录的任何验证。
19、根据权利要求3所述的计算机系统,其中所述启动处理验证存储在多个事务记录的标题部分中的信息。
20、根据权利要求3所述的计算机系统,其中所述启动处理验证错误校正代码字段,以检查存储在多个事务记录的标题部分中的信息。
21、根据权利要求3所述的计算机系统,其中所述重建的文件系统包括再生的文件体系和范围表。
22、根据权利要求21所述的计算机系统,其中所述文件系统软件将所述再生的文件体系组织为反向文件体系。
23、根据权利要求3所述的计算机系统,其中所述启动处理跳过对存储在事务记录的数据部分中的信息的验证,除非所述事务记录影响了所述文件系统结构的元数据,并且其中,当所述事务记录影响了文件系统结构的元数据时,所述启动处理验证存储在事务记录的标题部分和数据部分中的信息。
24、根据权利要求23所述的计算机系统,其中当一系列事务记录中的第一个出现的事务记录和尾部事务记录被存储在相同存储块中并且影响相同文件时,所述启动处理验证第一次出现的事务记录的标题部分中的信息,同时跳过对尾部事务记录的任何验证。
CNA2006100931831A 2005-07-01 2006-06-23 文件系统完整性的优化启动验证 Pending CN1959672A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/173,798 2005-07-01
US11/173,798 US7970803B2 (en) 2005-07-01 2005-07-01 Optimized startup verification of file system integrity

Publications (1)

Publication Number Publication Date
CN1959672A true CN1959672A (zh) 2007-05-09

Family

ID=37467543

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100931831A Pending CN1959672A (zh) 2005-07-01 2006-06-23 文件系统完整性的优化启动验证

Country Status (6)

Country Link
US (3) US7970803B2 (zh)
EP (1) EP1744247B1 (zh)
JP (1) JP2007012054A (zh)
KR (1) KR20070003576A (zh)
CN (1) CN1959672A (zh)
CA (2) CA2550974C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408880B (zh) * 2007-10-12 2014-06-11 三星电子株式会社 使用分割文件元数据的文件管理方法和装置
CN111190962A (zh) * 2019-12-24 2020-05-22 深圳市优必选科技股份有限公司 一种文件同步方法、装置及本地终端

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873683B2 (en) * 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7809777B2 (en) * 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US8959125B2 (en) * 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US20070005874A1 (en) * 2005-07-01 2007-01-04 Dan Dodge File system storing transaction records in flash-like media
US7970803B2 (en) * 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US7707480B2 (en) 2005-07-01 2010-04-27 Qnx Software Systems Gmbh & Co. Kg System employing data verification operations of differing computational costs
US7698495B2 (en) 2005-07-01 2010-04-13 QNZ Software Systems GmbH & Co. KG Computer system having logically ordered cache management
US7908276B2 (en) * 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US7599972B2 (en) 2006-08-25 2009-10-06 Qnx Software Systems Gmbh & Co. Kg File system having variable logical storage block size
US7827196B2 (en) * 2006-10-30 2010-11-02 International Business Machines Corporation Evaluation of access control and filter conditions
US20080147747A1 (en) * 2006-12-14 2008-06-19 Dan Cardamore Media system having synchronization with preemptive prioritization of synchronization order
US7917479B2 (en) * 2007-03-20 2011-03-29 Micron Technology, Inc. Non-volatile memory devices, systems including same and associated methods
US8843533B1 (en) * 2008-11-12 2014-09-23 Netapp, Inc. File system consistency check system
CN102902814B (zh) * 2012-10-24 2015-09-16 厦门市美亚柏科信息股份有限公司 一种im删除信息的恢复方法
US10564865B2 (en) 2016-03-22 2020-02-18 Seagate Technology Llc Lockless parity management in a distributed data storage system
CN115061734A (zh) 2019-07-12 2022-09-16 华为技术有限公司 一种系统启动方法以及相关设备
CN112363866B (zh) * 2020-10-30 2024-01-09 广州视源电子科技股份有限公司 终端的应用数据恢复方法、装置、计算机设备及存储介质
CN113641633B (zh) * 2021-08-10 2024-03-29 中国工商银行股份有限公司 文件处理方法、装置、电子设备、介质和计算机程序

Family Cites Families (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4882703A (en) * 1984-09-17 1989-11-21 Nicolai Robert L Procedure for fining all words contained within any given word including creation of a dictionary
JPS62186361A (ja) 1986-02-13 1987-08-14 Matsushita Electric Ind Co Ltd 情報検索装置
US4945475A (en) 1986-10-30 1990-07-31 Apple Computer, Inc. Hierarchical file system to provide cataloging and retrieval of data
US4926317A (en) 1987-07-24 1990-05-15 Convex Computer Corporation Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
GB8829919D0 (en) 1988-12-22 1989-02-15 Int Computer Limited File system
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
EP0410210A3 (en) 1989-07-24 1993-03-17 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US5187786A (en) 1991-04-05 1993-02-16 Sun Microsystems, Inc. Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
US5627996A (en) 1992-08-19 1997-05-06 At&T Method and apparatus for accessing the same computer file using different file name formats
US5454103A (en) * 1993-02-01 1995-09-26 Lsc, Inc. Method and apparatus for file storage allocation for secondary storage using large and small file blocks
US5455944A (en) * 1993-03-16 1995-10-03 International Business Machines Corporation Method for managing logging and locking of page free space information in a transaction processing system
US6286013B1 (en) * 1993-04-01 2001-09-04 Microsoft Corporation Method and system for providing a common name space for long and short file names in an operating system
US5530849A (en) 1993-08-16 1996-06-25 Cornell Research Foundation, Inc. Method of reading dynamic, hierarchical file system directories
JPH07175698A (ja) * 1993-12-17 1995-07-14 Fujitsu Ltd ファイルシステム
US5668958A (en) 1995-09-12 1997-09-16 International Business Machines Corporation Heterogeneous filing system with common API and reconciled file management rules
US5726989A (en) * 1995-11-06 1998-03-10 Stellar One Corporation Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream
US5765172A (en) * 1996-01-23 1998-06-09 Dsc Communications Corporation System and method for verifying integrity of replicated databases
US5774715A (en) * 1996-03-27 1998-06-30 Sun Microsystems, Inc. File system level compression using holes
GB9606927D0 (en) 1996-04-02 1996-06-05 Memory Corp Plc Data storage devices
US5806085A (en) * 1996-05-01 1998-09-08 Sun Microsystems, Inc. Method for non-volatile caching of network and CD-ROM file accesses using a cache directory, pointers, file name conversion, a local hard disk, and separate small database
US6097380A (en) * 1996-06-24 2000-08-01 Microsoft Corporation Continuous media stream control
US5995980A (en) * 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication
EP0944981B1 (en) * 1996-10-23 2005-06-29 Infoglobal S.L. Apparatus for integration of several physical media for data communications
US5974425A (en) * 1996-12-17 1999-10-26 Oracle Corporation Method and apparatus for reapplying changes to a database
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US5960436A (en) * 1997-08-29 1999-09-28 International Business Machines Corp. Transaction compaction for replay of transactions from client to server
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
US6516356B1 (en) * 1997-09-30 2003-02-04 International Business Machines Corporation Application interface to a media server and a method of implementing the same
US6160796A (en) 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
US6260044B1 (en) * 1998-02-04 2001-07-10 Nugenesis Technologies Corporation Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database
US6175900B1 (en) * 1998-02-09 2001-01-16 Microsoft Corporation Hierarchical bitmap-based memory manager
AU3304699A (en) * 1998-02-20 1999-09-06 Storm Systems Llc File system performance enhancement
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6697846B1 (en) 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
US6058400A (en) * 1998-04-28 2000-05-02 Sun Microsystems, Inc. Highly available cluster coherent filesystem
US6389513B1 (en) * 1998-05-13 2002-05-14 International Business Machines Corporation Disk block cache management for a distributed shared memory computer system
US6185663B1 (en) * 1998-06-15 2001-02-06 Compaq Computer Corporation Computer method and apparatus for file system block allocation with multiple redo
US6356863B1 (en) 1998-09-08 2002-03-12 Metaphorics Llc Virtual network file server
US6845401B1 (en) 1998-12-30 2005-01-18 Schneider Automation Inc. Embedded file system for a programmable logic controller
US6510450B1 (en) * 1999-02-04 2003-01-21 Novell, Inc. Multiple storage class distributed nametags for locating items in a distributed computing system
US6922708B1 (en) * 1999-02-18 2005-07-26 Oracle International Corporation File system that supports transactions
US6438661B1 (en) * 1999-03-03 2002-08-20 International Business Machines Corporation Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US6754696B1 (en) 1999-03-25 2004-06-22 Micosoft Corporation Extended file system
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
US6324637B1 (en) * 1999-08-13 2001-11-27 Sun Microsystems, Inc. Apparatus and method for loading objects from a primary memory hash index
JP2001101044A (ja) * 1999-09-29 2001-04-13 Toshiba Corp トランザクショナルファイル管理方法、トランザクショナルファイルシステム及び複合トランザクショナルファイルシステム
US6496944B1 (en) 1999-10-06 2002-12-17 International Business Machines Corporation Method for database assisted file system restore
US6412042B1 (en) * 1999-11-17 2002-06-25 Maxtor Corporation System and method for improved disk drive performance and reliability
JP4507319B2 (ja) 1999-12-17 2010-07-21 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および記録媒体、端末装置、並びに、システムおよびシステムの方法
JP3686564B2 (ja) 1999-12-21 2005-08-24 株式会社日立製作所 データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6584582B1 (en) * 2000-01-14 2003-06-24 Sun Microsystems, Inc. Method of file system recovery logging
US6606628B1 (en) * 2000-02-14 2003-08-12 Cisco Technology, Inc. File system for nonvolatile memory
US6523046B2 (en) 2000-02-25 2003-02-18 Microsoft Corporation Infrastructure and method for supporting generic multimedia metadata
US6591376B1 (en) 2000-03-02 2003-07-08 Hewlett-Packard Development Company, L.P. Method and system for failsafe recovery and upgrade of an embedded operating system
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US20020143862A1 (en) * 2000-05-19 2002-10-03 Atitania Ltd. Method and apparatus for transferring information between a source and a destination on a network
US7181743B2 (en) * 2000-05-25 2007-02-20 The United States Of America As Represented By The Secretary Of The Navy Resource allocation decision function for resource management architecture and corresponding programs therefor
US7043472B2 (en) * 2000-06-05 2006-05-09 International Business Machines Corporation File system with access and retrieval of XML documents
US6675177B1 (en) * 2000-06-21 2004-01-06 Teradactyl, Llc Method and system for backing up digital data
JP4164994B2 (ja) * 2000-07-14 2008-10-15 ソニー株式会社 データ記録再生装置及び方法
US6748395B1 (en) 2000-07-14 2004-06-08 Microsoft Corporation System and method for dynamic playlist of media
US6842770B1 (en) 2000-08-18 2005-01-11 Apple Computer, Inc. Method and system for seamlessly accessing remotely stored files
US7689510B2 (en) 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US6571259B1 (en) * 2000-09-26 2003-05-27 Emc Corporation Preallocation of file system cache blocks in a data storage system
US7660902B2 (en) 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
US6990667B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US20020174296A1 (en) 2001-01-29 2002-11-21 Ulrich Thomas R. Disk replacement via hot swapping with variable parity
US7277878B2 (en) * 2001-02-13 2007-10-02 Ariba, Inc. Variable length file header apparatus and system
JP4225729B2 (ja) 2001-03-06 2009-02-18 シャープ株式会社 情報管理装置
US7047257B2 (en) * 2001-04-03 2006-05-16 Qnx Software Systems Computer file management system
US7003619B1 (en) * 2001-04-09 2006-02-21 Matrix Semiconductor, Inc. Memory device and method for storing and reading a file system structure in a write-once memory array
US7174561B2 (en) * 2001-04-13 2007-02-06 Emc Corporation MPEG dual-channel decoder data and control protocols for real-time video streaming
US6748491B2 (en) 2001-04-19 2004-06-08 International Business Machines Corporation Designing a cache using an LRU-LFU array
US7096474B2 (en) * 2001-04-20 2006-08-22 Sun Microsystems, Inc. Mobile multimedia Java framework application program interface
US7136934B2 (en) 2001-06-19 2006-11-14 Request, Inc. Multimedia synchronization method and device
JP2003022206A (ja) * 2001-07-06 2003-01-24 Fujitsu Ltd ファイル管理プログラムおよびファイル管理装置
US8108241B2 (en) * 2001-07-11 2012-01-31 Shabina Shukoor System and method for promoting action on visualized changes to information
US6396421B1 (en) * 2001-07-31 2002-05-28 Wind River Systems, Inc. Method and system for sampling rate conversion in digital audio applications
US7139811B2 (en) 2001-08-01 2006-11-21 Actona Technologies Ltd. Double-proxy remote data access system
US7043493B2 (en) * 2001-09-17 2006-05-09 Fujitsu Limited Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card
US6868480B2 (en) * 2001-09-28 2005-03-15 Ui Evolution, Inc. Removable active application specific medium
US20030074457A1 (en) 2001-10-17 2003-04-17 Kluth Michael R. Computer system with separable input device
GB2387001B (en) 2001-10-22 2005-02-02 Apple Computer Intelligent interaction between media player and host computer
US7191185B2 (en) * 2001-10-30 2007-03-13 Goldman Sachs & Co. Systems and methods for facilitating access to documents via an entitlement rule
US20040064500A1 (en) * 2001-11-20 2004-04-01 Kolar Jennifer Lynn System and method for unified extraction of media objects
JP4168626B2 (ja) 2001-12-06 2008-10-22 株式会社日立製作所 記憶装置間のファイル移行方法
US6959373B2 (en) * 2001-12-10 2005-10-25 Incipient, Inc. Dynamic and variable length extents
JP2003216620A (ja) 2002-01-17 2003-07-31 Matsushita Electric Ind Co Ltd コンテンツ管理システム、コンテンツ管理方法、媒体、およびプログラム
US7149788B1 (en) 2002-01-28 2006-12-12 Witness Systems, Inc. Method and system for providing access to captured multimedia data from a multimedia player
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6983462B2 (en) 2002-03-15 2006-01-03 Toshiba Corporation Method and apparatus for serving a request queue
US7689626B2 (en) 2002-05-31 2010-03-30 Microsoft Corporation System and method for locating log records in multiplexed transactional logs
US6857001B2 (en) 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7054888B2 (en) * 2002-10-16 2006-05-30 Microsoft Corporation Optimizing media player memory during rendering
US7397797B2 (en) * 2002-12-13 2008-07-08 Nvidia Corporation Method and apparatus for performing network processing functions
KR20040065790A (ko) * 2003-01-16 2004-07-23 삼성전자주식회사 디브이디 재생장치 및 이를 이용한 멀티미디어 파일재생방법
CA2419883A1 (en) 2003-02-26 2004-08-26 Ibm Canada Limited - Ibm Canada Limitee Discriminatory replay of log files during table space recovery in a database management system
JP2004295465A (ja) 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
US7139752B2 (en) 2003-05-30 2006-11-21 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, and providing multiple document views derived from different document tokenizations
CN100377119C (zh) 2003-06-20 2008-03-26 深圳市朗科科技有限公司 闪存介质中数据保护方法
EP1650665B1 (en) * 2003-07-24 2012-07-11 Panasonic Corporation File management method and information processing device
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US20080126936A1 (en) * 2003-08-21 2008-05-29 Gary Williams Electronic/software multimedia library control system and methods of use thereof
US20050060420A1 (en) 2003-09-11 2005-03-17 Kovacevic Branko D. System for decoding multimedia data and method thereof
US7584353B2 (en) * 2003-09-12 2009-09-01 Trimble Navigation Limited Preventing unauthorized distribution of media content within a global network
JP2005115857A (ja) 2003-10-10 2005-04-28 Sony Corp ファイル記憶装置
US7451167B2 (en) * 2003-10-24 2008-11-11 Network Appliance, Inc. Verification of file system log data using per-entry checksums
US7181463B2 (en) * 2003-10-24 2007-02-20 Microsoft Corporation System and method for managing data using static lists
JP4144507B2 (ja) 2003-10-30 2008-09-03 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7962575B2 (en) 2003-11-03 2011-06-14 Grape Technology Group, Inc. System and method for data synchronization between devices
US7213176B2 (en) * 2003-12-10 2007-05-01 Electronic Data Systems Corporation Adaptive log file scanning utility
KR100562907B1 (ko) * 2003-12-18 2006-03-21 삼성전자주식회사 미디어 컨텐츠의 통합 관리 장치 및 그 방법
US20050147130A1 (en) * 2003-12-23 2005-07-07 Intel Corporation Priority based synchronization of data in a personal area network
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
EP1562193A1 (en) * 2004-02-06 2005-08-10 Sony International (Europe) GmbH System for storing and rendering multimedia data
WO2005078606A2 (en) * 2004-02-11 2005-08-25 Storage Technology Corporation Clustered hierarchical file services
US7676481B2 (en) * 2005-02-24 2010-03-09 Microsoft Corporation Serialization of file system item(s) and associated entity(ies)
US20050210507A1 (en) * 2004-03-17 2005-09-22 Sony Corporation System and method for multimedia playlist
US7873685B2 (en) * 2004-05-13 2011-01-18 Pixar System and method for flexible path handling
US7627530B2 (en) * 2004-04-26 2009-12-01 Amazon Technologies, Inc. Method and system for managing access to media files
US20050246362A1 (en) 2004-05-03 2005-11-03 Borland Devin P System and method for dynamci log compression in a file system
US20050256845A1 (en) 2004-05-10 2005-11-17 Microsoft Corporation Data management for a networked multimedia console
US7565661B2 (en) 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
CN1998224A (zh) 2004-05-12 2007-07-11 富盛旺公司 高级联络识别系统
KR100921845B1 (ko) * 2004-05-26 2009-10-13 노키아 코포레이션 미디어 아이템들의 관리를 위한 방법, 시스템, 컴퓨터프로그램 및 디바이스
US20050273486A1 (en) 2004-06-03 2005-12-08 Keith Robert O Jr Virtual distributed file system
US20060005124A1 (en) 2004-06-16 2006-01-05 Ewald Speicher User interface for complex process implementation
US8087091B2 (en) * 2004-07-08 2011-12-27 Media Rights Technologies Method and system for preventing unauthorized reproduction of electronic media
KR20060009717A (ko) 2004-07-26 2006-02-01 엘지전자 주식회사 이동통신 단말기의 데이터 관리 시스템
US7672978B2 (en) 2004-08-20 2010-03-02 Nokia Corporation Handling of content in a data processing device
JP2006107192A (ja) * 2004-10-06 2006-04-20 Olympus Imaging Corp 情報処理システム及びコンテンツデータの再生回数管理方法
AU2005299366A1 (en) 2004-10-25 2006-05-04 Empower Technologies Inc., A Washington Corporation System and method for global data synchronization
US7610307B2 (en) * 2004-11-30 2009-10-27 Microsoft Corporation Method and system of detecting file system namespace changes and restoring consistency
US9639554B2 (en) * 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
WO2006074110A2 (en) 2005-01-05 2006-07-13 Divx, Inc. System and method for a remote user interface
JP2006235717A (ja) * 2005-02-22 2006-09-07 Sony Corp コンテンツ転送方法、その装置及びプログラム
US7818350B2 (en) * 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
US20060206538A1 (en) * 2005-03-09 2006-09-14 Veazey Judson E System for performing log writes in a database management system
US7647346B2 (en) * 2005-03-29 2010-01-12 Microsoft Corporation Automatic rules-based device synchronization
US8145686B2 (en) 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US20060277183A1 (en) 2005-06-06 2006-12-07 Tony Nichols System and method for neutralizing locked pestware files
US20060282471A1 (en) * 2005-06-13 2006-12-14 Mark Timothy W Error checking file system metadata while the file system remains available
KR20060133410A (ko) 2005-06-20 2006-12-26 엘지전자 주식회사 복합 미디어 장치에서 파일 검색 및 파일 데이터베이스관리 방법
US7809777B2 (en) * 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7707480B2 (en) * 2005-07-01 2010-04-27 Qnx Software Systems Gmbh & Co. Kg System employing data verification operations of differing computational costs
US7698495B2 (en) * 2005-07-01 2010-04-13 QNZ Software Systems GmbH & Co. KG Computer system having logically ordered cache management
US20070005874A1 (en) * 2005-07-01 2007-01-04 Dan Dodge File system storing transaction records in flash-like media
US8959125B2 (en) * 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US20070022129A1 (en) 2005-07-25 2007-01-25 Parascale, Inc. Rule driven automation of file placement, replication, and migration
US7702821B2 (en) * 2005-09-15 2010-04-20 Eye-Fi, Inc. Content-aware digital media storage device and methods of using the same
US20070185879A1 (en) * 2005-12-23 2007-08-09 Metacommunications, Inc. Systems and methods for archiving and retrieving digital assets
US7426606B2 (en) 2006-03-31 2008-09-16 Intel Corporation Method, apparatus and system for reverting FAT cluster number to file ID and offset of non-FAT flash file system
US7558797B2 (en) * 2006-06-30 2009-07-07 Microsoft Corporation Metadata structures for mass P2P file sharing
US7613770B2 (en) * 2006-06-30 2009-11-03 Microsoft Corporation On-demand file transfers for mass P2P file sharing
US20080027998A1 (en) 2006-07-27 2008-01-31 Hitachi, Ltd. Method and apparatus of continuous data protection for NAS
US7676691B2 (en) 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7752402B2 (en) * 2006-08-18 2010-07-06 Isilon Systems, Inc. Systems and methods for allowing incremental journaling
US7599972B2 (en) * 2006-08-25 2009-10-06 Qnx Software Systems Gmbh & Co. Kg File system having variable logical storage block size
US7908276B2 (en) 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US8566503B2 (en) * 2006-08-25 2013-10-22 Qnx Software Systems Limited Multimedia filesystem having unified representation of content on diverse multimedia devices
US20080059510A1 (en) * 2006-08-31 2008-03-06 Daniel Cardamore Multimedia system framework having layer consolidating access to multiple media devices
EP1895434A1 (en) 2006-08-25 2008-03-05 QNX Software Systems GmbH & Co. KG Multimedia system framework having layer consolidation access to multiple media devices
US20080147747A1 (en) * 2006-12-14 2008-06-19 Dan Cardamore Media system having synchronization with preemptive prioritization of synchronization order
US8682859B2 (en) 2007-10-19 2014-03-25 Oracle International Corporation Transferring records between tables using a change transaction log

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408880B (zh) * 2007-10-12 2014-06-11 三星电子株式会社 使用分割文件元数据的文件管理方法和装置
CN111190962A (zh) * 2019-12-24 2020-05-22 深圳市优必选科技股份有限公司 一种文件同步方法、装置及本地终端
CN111190962B (zh) * 2019-12-24 2024-02-09 深圳市优必选科技股份有限公司 一种文件同步方法、装置及本地终端

Also Published As

Publication number Publication date
US20070005560A1 (en) 2007-01-04
US8667029B2 (en) 2014-03-04
EP1744247A3 (en) 2010-11-03
EP1744247B1 (en) 2013-04-17
CA2550974A1 (en) 2007-01-01
US7970803B2 (en) 2011-06-28
US20110313983A1 (en) 2011-12-22
JP2007012054A (ja) 2007-01-18
US8051114B2 (en) 2011-11-01
KR20070003576A (ko) 2007-01-05
CA2818472C (en) 2015-10-06
US20110072061A1 (en) 2011-03-24
CA2818472A1 (en) 2007-01-01
EP1744247A2 (en) 2007-01-17
CA2550974C (en) 2013-12-10

Similar Documents

Publication Publication Date Title
CN1959672A (zh) 文件系统完整性的优化启动验证
US7873683B2 (en) File system having transaction record coalescing
US8959125B2 (en) File system having inverted hierarchical structure
EP1739535B1 (en) File system storing transaction records in flash-like media
US7809777B2 (en) File system having deferred verification of data integrity
JP3708047B2 (ja) フラッシュメモリの管理方法
US10248556B2 (en) Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session
CN1179281C (zh) 利用逻辑闪速存储器件进行最小单元更新的方法和设备
CN1447243A (zh) 快闪存储器中快速且能防止不正常断电的演算法及其控制系统
CN1534509A (zh) 具有快速且预防不当操作功效的快闪记忆体演算法及其控制系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20070509