CN107315973A - 用于安全元数据修改的一般化验证方案 - Google Patents
用于安全元数据修改的一般化验证方案 Download PDFInfo
- Publication number
- CN107315973A CN107315973A CN201710114752.4A CN201710114752A CN107315973A CN 107315973 A CN107315973 A CN 107315973A CN 201710114752 A CN201710114752 A CN 201710114752A CN 107315973 A CN107315973 A CN 107315973A
- Authority
- CN
- China
- Prior art keywords
- metadata
- write operation
- namespace
- operation request
- file system
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
Abstract
一种验证元数据修改请求的有效性以防止不当元数据操作的系统和方法。在对存储设备中的卷进行初始化期间以及一旦为元数据结构预留了元数据区域,将表征元数据结构和元数据区域的信息存储在存储设备中,所述信息可能采用区域图例的形式,所述区域图例由如幻数签名、节点大小、预留的集群大小以及元数据区域范围等描述符组成。响应于对元数据进行操作的请求,针对所存储的特性信息对所述请求中提供的相关信息进行验证。如果所述验证发现所述请求中提供的信息与所存储的特性信息之间的不一致性,则将所述请求修改作为是无效的并阻止操作。
Description
相关申请的交叉引用
本专利申请涉及:共同未决的共同转让的美国专利申请案第_____号,代理人卷号HGST-H20151246US1,于________提交的题为“METHOD OF PREVENTING METADATACORRUPTION BY USING A NAMESPACE AND A METHOD OF VERIFYING CHANGES TO THENAMESPACE(通过使用命名空间防止元数据损坏的方法以及验证对该命名空间的改变的方法)”;以及共同未决的共同转让的美国专利申请案第_____号,代理人卷号HGST-H20151244US1,题为“Generalized Write Operations Verification Method(一般化写入操作验证方法)”。上述申请出于所有目的通过引用以其全文结合在此。
技术领域
本公开总体上涉及在数据存储管理领域中以及更具体地在文件系统领域中预防元数据损坏。
背景技术
在各种操作系统中,文件系统用于组织数字文件以便于对文件进行存储和检索。文件系统可以管理存储在数据存储设备上的数据块并将其组织到文件和目录中。元数据被文件系统用于维护数据块的使用的信息,并且通常利用数据文件(例如,用户数据)被存储在相同的存储设备上。
文件系统元数据的一致性对于文件系统的运行和用户数据的可访问性是非常重要的。有时,最终用户的工作负载可以触发不当的或错误的行为,这对于不稳定的和成熟的文件系统都是成立的。恢复受损文件系统卷是非常耗时的,并且通常涉及在文件系统卷的未安装状态或离线状态中运行的文件系统检查实用程序。例如,通过对用户和相关联的应用程序造成数据访问的不可接受延迟,这可以防止存储设备高效且正确地运行。此外,尤其对于复杂的元数据损坏而言,恢复受损文件系统卷是重要的任务。因此,文件系统检查实用程序不能通过使文件系统元数据从所有可能的损坏恢复到一致状态来保证文件系统卷的一致性。
与使用检查实用程序来恢复受损文件系统相比,防止文件系统元数据损坏是更有前景的方法。然而,防止损坏的现有技术非期望地且通常包括复杂的逻辑并且限定于个别文件系统和损坏原因。
发明内容
提供一种具有增强效率、可靠性和一般性的能够预留元数据的一致性的数据存储系统也将是有利的。
本公开的实施例利用了一种验证系统,在文件系统元数据上执行所请求的修改或其他写操作之前,所述验证系统实现了验证过程。在对存储设备中的文件系统卷进行初始化期间以及一旦为元数据结构预留了元数据区域,将表征元数据结构和元数据区域的信息存储在存储设备中,所述信息可能采用区域图例的形式,所述区域图例由如幻数签名、节点大小、未来预留的集群大小以及元数据区域范围等描述符组成。响应于请求更新存储在元数据区域中的元数据,针对所存储的信息对请求中提供的相关信息进行验证。此外,如果用户数据写入请求试图修改元数据区域,则可以通过针对所存储的关于元数据区域的信息来防止所述修改。同样地,如果元数据写入请求试图修改任何元数据区域以外的(多个)物理扇区,则同样可以通过验证过程来防止所述修改。此外,可以通过验证,尤其是通过幻数签名和/或元数据节点检查的序列标识号,来防止由元数据写入请求对元数据区域进行的不当的修改。
如果验证过程发现请求中提供的信息与如在元数据区域图例中所存储的信息之间的不一致性,则将请求修改当做是有害的或无效的并且可以不执行。作为结果,可以保护所存储的元数据免受潜在地不安全修改。可以指定存储设备(例如,专用分区、分区表、专用非易失性存储器芯片等)中的特定区域用于存储命名空间,所述命名空间为所预留的元数据区域集合区域图例。对于命名空间或区域图例上的操作的请求也可以基于描述符的值服从于有效性验证。验证过程可以由软件或在主机或存储设备中实现的硬件逻辑来控制和执行。
通过使用验证系统和过程,可以有效防止根据本公开的文件系统卷免受元数据损坏,有利地减少或消除事后对如所要求的潜在耗时的和不可预测的恢复过程的需要。此外,由于验证所依赖的信息有关元数据结构和元数据区域特性,因此所述信息固有地可用在各种文件系统中。因此,这种验证过程对于不同类型的文件系统和损坏原因是有利地通用的。
在本公开的一个实施例中,验证文件系统卷修改的方法包括:响应于用于修改文件系统卷的写入请求,访问与表征元数据结构的描述符集合相关联的存储值以及用于元数据结构的预留区域。基于所述请求以及与所述描述符集合相关联的存储值来验证所述请求的有效性。
上述是概要,从而包含细节的简化、概括和省略;因此,本领域的技术人员会认识到概要只是对本发明的举例说明,决不意味着对本发明的任何限制。在后面阐述的非限制性具体实施方式中,完全由权利要求书限定的本发明的其他方面、发明性特征和优点将变得显而易见。
附图说明
通过结合附图阅读以下具体实施方式将更好理解本发明的实施例,附图中相同的参考字符用于指代相同元件,并且其中:
图1展示了根据本公开的实施例的示例性验证系统,所述示例性验证系统能够防止不安全的数据存储内容修改;
图2展示了根据本公开的实施例的示例性逻辑架构,所述逻辑架构利用所存储的描述符来验证用于已验证区域上进行元数据操作的写入请求;
图3A展示了根据本公开的实施例的用于表征元数据区域的示例性信息,所述元数据区域用于防止对相关联的元数据结构进行的不安全操作;
图3B展示了根据本公开的实施例的命名空间的示例性数据结构;
图4展示了根据本公开的实施例的存储设备中的命名空间的示例性安排;
图5是流程图,描绘了根据本公开的实施例的示例性验证过程,所述验证过程响应于用于在文件系统卷中改变内容(元数据或用户数据)的写入操作;
图6是流程图,描绘了根据本公开的实施例的示例性过程,所述过程响应于用于创建命名空间的请求;
图7A是流程图,描绘了根据本公开的实施例的示例性验证过程,所述验证过程响应于用于删除与分区相关联的命名空间的请求;
图7B是流程图,描绘了根据本公开的实施例的示例性验证过程,所述验证过程响应于用于将区域图例添加到命名空间的请求;
图8A展示了根据本公开的实施例的示例性数据存储系统的配置,所述数据存储系统带有驻留在主机上的验证子系统;
图8B展示了根据本公开的实施例的另一示例性数据存储系统的配置,所述数据存储系统带有驻留在存储设备上的验证子系统;
图9是框图,展示了根据本公开的实施例的示例性计算系统,所述计算系统能够通过验证过程来防对文件系统元数据进行的不当写入操作;以及
图10展示了根据本公开的实施例的验证系统和过程的示例性配置。
具体实施方式
现在将详细参考本发明的优选实施例,在附图中示出了所述实施例的示例。尽管将结合优选实施例描述本发明,但将会理解的是它们并不旨在将本发明限制于这些实施例。相反,本发明旨在覆盖替换,修改和等价物,其可以包括在由附加权利要求限定的本发明的精神和范围内。此外,在以下本发明的实施例的具体实施方式中,为了提供本对发明彻底的理解阐明了许多特定细节。然而,本领域技术人员将意识到本发明可以以不同于这些具体细节而实施。在其他实例中,没有对众所周知的方法、过程、部件和电路进行具体实施方式以免不必要地对本发明的实施例的多个方面造成混淆。虽然为了清晰的目的,方法被描绘为一系列编号步骤,但编号并不必须表示步骤的顺序。应该理解的是,可以跳过、并行执行、或不需要保持严格序列顺序执行这些步骤中的一些。示出本发明的实施例的附图是半图解的而不是按比例的,并且,特别地,一些大小是为了表示清晰,并且在附图中被夸大示出。类似地,虽然为了便于描述,附图中的视图通常示出类似的方向,但是附图中的描绘在很大程度上是任意的。通常,能够在任何方向中操作本发明。
概念与命名
然而,应当记住,所有这些和类似的术语与适当的物理量相关联,并且只是应用于这些量的方便标签。除非另有说明,如从以下讨论显而易见的是,应认识到在整个本发明中,利用术语例如“处理”或“访问”或“执行”或“存储”或“渲染”等的讨论是指计算机系统或相似电子计算装置的动作和处理,这些装置将计算机系统的寄存器和内存以及其他计算机可读介质中表示为物理(电子)量的数据处理并转换为计算机系统内存或寄存器或其他这类信息存储、传输或显示装置中的相似表示为物理量的其他数据。当部件出现在若干实施例中时,使用相同参考号表示所述部件与原始实施例中所展示的部件相同。
用于安全元数据修改的一般化验证方案
总体上,本公开的实施例提供了验证机制以基于表征元数据结构和/或元数据区域的描述符来防止不安全的数据存储内容修改。在元数据区域分配和初始化期间,可以生成和存储描述符。针对所存储的关于预留的元数据区域的描述符来验证针对数据存储内容修改的请求,以便判定所请求的操作是否倾向于导致元数据的不一致性。
图1展示了根据本公开的实施例的示例性验证系统100,所述示例性验证系统能够防止不安全的数据存储内容修改。如图所示,验证系统100包括文件系统驱动程序110、存储设备140中的文件系统卷120以及文件系统创建实用程序,所述文件系统创建实用程序在这个示例中是MKFS实用程序130。系统100还包括存储驱动程序(未示出),所述存储驱动程序与MKFS实用程序130和文件系统驱动程序110合作以实现验证过程。
更具体地,MKFS实用程序130通过预留和初始化存储空间(例如,元数据区域122和123)来为存储设备140的分区内部的元数据结构创建文件系统卷120(如由“(2)”所示)。根据本公开,MKFS实用程序还可以创建存储在存储设备中(如由“(1)”所示)中的命名空间。如以下更具体实施方式的,命名空间包括已验证区域图例的集合,每个已验证区域图例包含表征相应元数据区域和/或元数据结构的关键信息。命名空间被存储在存储设备140的专用分区121中或者被存储在主引导记录(MBR)分区表或全局唯一标识符GUID分区表(GPT)中。在一些其他实施例中,命名空间可以被存储在存储设备(例如,NAND闪速存储器)中的特殊存储器芯片中。命名空间还可以被加密,并且只有包含密钥的请求可以访问命名空间以执行命名空间修改操作。
在操作期间,当文件系统驱动程序110初始化用于添加或更新存储在文件系统卷120(如由“(3)”所示)中的(多条)元数据记录或用户数据的写入请求时,基于与分区120(如由“(4)”所示)相关联的现有区域图例来验证所述请求。例如,在操作元数据区域预留期间,创建这些现有区域图例。如果请求中提供的描述符与存储为区域图例的信息匹配,则可以执行所请求的操作。但是,如果验证过程将写入请求中所请求的修改操作当做无效的,则可以阻止对文件系统卷的所请求的修改。在一些实施例中,报告并记录来自这一验证过程的否定结果以便于用户发现导致文件系统损坏的可疑活动。
当文件系统驱动程序110需要预留另一个元数据区域(如由“(5)”所示)时,它将一些自由空间定位在文件系统卷上,在内部分配并预留这一区域,为所预留的区域准备区域图例,并且试图将这一区域图例存储到命名空间中。另一个独立子系统(例如,主机侧上的设备驱动程序或存储设备的控制器)可以用于检查新的区域图例(如由“(6)”所示)。如果新的区域图例具有不同于任何现有区域图例中的幻数签名的幻数签名,则可以添加新的区域图例。但是如果新的区域图例中的幻数签名与任何现有区域图例中的幻数签名相同,则需要验证新的区域图例。在另一方面,如果验证过程确定了新的区域图例是无效的,则将命名空间修改的请求当做是无效的,并且相应地,可以阻止所请求的操作。在一些实施例中,报告并记录来自这一验证过程的否定结果以便于用户发现导致文件系统损坏的可疑活动。
因此,根据本公开的验证方案可以有效防止文件系统元数据损坏,有利地减少或消除事后对如所要求的潜在耗时的和不可预测的恢复过程的需要。
图2展示了根据本公开的实施例的示例性逻辑架构200,所述逻辑架构利用所存储的描述符来验证用于在已验证区域221至223上进行元数据操作的写入请求。梭巡相互的描述符230描述设备空间210中已验证区域221至223。
将理解的是,本公开出于验证目的不限于用于表征元数据结构和/或元数据区域的任何特定类型的信息。图3A展示了根据本公开的实施例的用于表征元数据区域的示例性信息,所述元数据区域用于防止对相关联的元数据结构进行的不安全操作。在由文件系统创建实用程序创建文件系统卷301后,为元数据结构预留文件系统卷中的元数据区域。由此,文件系统卷301中的每个元数据区域已经被描述符集合的值所界定,并且可以被所述描述符集合的值所表征,所述描述符集合包括幻数签名、节点大小、可能预留的集群大小以及范围中的一个或多个。
更具体地,在所展示的示例中,幻数签名303是特殊的预定义二进制值,所述预定义二进制值标识特定的元数据结构。节点大小302是有待放置在元数据结构中的元数据项目的一部分的粒度。预留的集群大小305可以是最小的、最大的或默认大小的连续元数据区域307。通过偏移306和大小305(例如,根据区域中的开始块以及块的数量(或者距开始块的偏移))来描述所预留的元数据区域的布局。由于所选择的用于表征元数据结构和元数据区域的信息在文件系统卷初始化期间被定义并且固有地可用在各种文件系统中,利用这一信息的验证过程对于不同类型的文件系统是有利地通用的。
本领域技术人员将认识到,出于验证目的,本公开并不限于用于组织元数据区域和元数据结构的特性信息的格式或数据结构。图3B展示了根据本公开的实施例的命名空间的示例性数据结构300。在这个示例中,所述信息被表示在已验证区域图例310、320和330中,每个图例对应于为各个元数据结构预留的元数据区域。每个图例包括用于描述符集合的值,即,幻数签名311、节点大小312、预留的集群大小313以及范围314。由于描述符独立于个别文件系统和元数据内容的特殊性,根据本公开的依赖于描述符的验证方案一般适用于各种文件系统。已验证区域图例可以是可扩展标签语言(XML)、纯文本或者任何其他本领域公知的合适的格式。
公知的是,各个文件系统驻留在存储设备的专用分区中。已验证区域图例的聚合可以被存储在不同于文件系统的分区中,所述已验证区域图例的聚合描述了具体文件系统卷的元数据区域。因此,区域图例提供有关文件系统卷的信息的独立源。已验证区域图例的聚合在此被称作命名空间。图4展示了根据本公开的实施例的存储设备中的命名空间的示例性安排。在这个示例中,存储设备包括多个分区1-M(例如,431和432),每个都与各自的命名空间(例如,410或420)相关联。每个命名空间包括已验证区域图例(例如,411至413),所述已验证区域图例描述了响应分区中的元数据区域。
根据本公开,包含在命名空间中的特性化信息被用在验证过程中以确保对于元数据或用户数据的所要求的文件系统卷修改操作的有效性。另外,可以根据要求编辑命名空间中的信息。例如,命名空间操作可以将区域图例添加到命名空间,将区域图例从命名空间移除,或者删除整个命名空间等。由于对于命名空间的不当操作也可以导致元数据的不一致性,因此根据本公开,请求编辑命名空间可以服从于验证过程,如以下更具体实施方式的。
图5是流程图,描绘了根据本公开的实施例的示例性验证过程500,所述验证过程响应于用于在文件系统卷中改变内容(元数据或用户数据)的写入操作。这种修改请求通常由文件系统驱动程序、特殊用户空间实用程序或者特殊化的用户空间实用程序生成,所述特殊用户空间实用程序能够修改文件系统卷中的任何物理扇区,所述特殊化的用户空间实用程序能够通过提取数据或修改文件系统状态来与一些文件系统的卷一起工作。在验证期间,分析写入操作以便提取相关信息,针对所存储的相关元数据的已验证区域图例来检查所述相关信息。在这个示例中,所提取的信息包括逻辑块寻址(LBA)、已知幻数签名的存在、多个块以及节点大小。
更具体地,在501处,基于所述请求中提供的LBA是否与任何卷图例中的范围重叠到命名空间中来判定写入操作是否被引导写入到任何元数据区域中。如果没有重叠,则在508处检查所述请求的类型,例如,元数据或用户数据。如果所述请求的类型是用户数据,则根据502处的请求来执行所请求的写入用户数据操作。然而,如果没有重叠并且写入操作是元数据类型,则确定写入请求是无效的(在590处)并且报告为不一致的元数据修改请求。如果LBA与任意范围重叠,则判定写入操作的字节流是否包含与区域图例中所提供的相同的幻数签名(在503处),所请求的块的数量对于写入到元数据区域中是否有效(在504处),以及写入请求的大小是否等于如区域图例中所描述的一个或多个节点的大小(在506处)。如果所述请求中提供的任何信息与已验证区域图例中的值不一致,则宣布所述请求是无效的(在505处),因为它将导致元数据的不一致。否则,所述请求通过验证,并且根据507处的写入请求改变元数据。
图6是流程图,描绘了根据本公开的实施例的示例性过程,所述过程响应于用于创建命名空间的请求。在601处,判定是否已经创建命名空间。如果“是”并且如果命名空间验证过程被禁用(如在602处判定的),则在604处删除存在的命名空间而无需验证,接着在605处确认所述删除。然而,如果命名空间已经存在并且验证过程被启用,则在603处被删除前检查命名空间中的区域图例,并且在605处确认所述删除。试图删除命名空间中的图例的过程基于文件系统卷的内部知识,准备了相同的一组区域图例。如果所准备的一组区域图例与包含在待删除的命名空间中的区域图例不一致,则验证过程可以丢弃删除操作。
在另一方面,如果不存在待创建的命名空间(如601中判定的),则在606处,判定命名空间验证是否旨在被启用。如果未被启用,则在608处添加命名空间的区域图例。在609处,检查是否添加所有的区域图例。然而,如果命名空间验证旨在被启用(如在606处所判定的),则在607处,例如通过设置标志或任何其他本领域中公知的合适的方法,启用验证机制。
在文件系统卷中的元数据结构被文件系统创建实用程序创建以后,可以删除或以其他方式修改相关联的命名空间。根据本公开,命名空间验证过程可以用于保护命名空间免受不当操作。根据本公开的实施例,命名空间包括标识号、所有用于创建的已验证区域的幻数签名以及它们所有的节点大小。接收到命名空间删除请求后,执行命名空间验证过程以判定命名空间内容是否在删除请求中被适当地描述,并且相应地,确定删除操作的有效性。
图7A是流程图,描绘了根据本公开的实施例的示例性验证过程700,所述验证过程响应于用于删除与分区相关联的命名空间的请求。基于用户请求或应用程序生成所述请求。例如,所述过程700可以用在图6中执行框603。在一些实施例中,如参照图6所描述的,可以基于用于创建命名空间的请求生成用于删除命名空间的请求。在验证过程700中,检查由试图删除命名空间的过程所准备的区域图例。所述区域图例是在文件系统内部知识的基础上准备的。然后,验证过程将现有区域图例与所准备的区域图例进行对比。
更具体地,在701处,判定所述请求是否提供命名空间的有效标识号。如果不是,则在702处丢弃所述请求。如果所述请求提供了有效的命名空间标识号,则进一步判定命名空间是否包括幻数703,所述请求是否提供有效的节点大小704,以及所述请求是否提供元数据结构的所有幻数签名705。如果有任何信息被判定为与所存储的命名空间不一致,则删除命名空间的请求被宣布是无效的并且可以在702处丢弃。否则,如在706处所请求的,删除命名空间。
图7B是流程图,描绘了根据本公开的实施例的示例性验证过程750,所述验证过程响应于用于将区域图例添加到命名空间的请求。在751处,判定命名空间是否包含具有在所述请求中提供的幻数签名的图例。如果命名空间不包括这种幻数签名,则如所请求的可以在752处添加新的图例而不进行进一步验证。否则,在753处,将具有幻数签名的现有图例中的节点大小与待删除的图例的节点大小进行比较。如果节点大小不一致,则在755处将所述请求中提供的区域图例当做是无效的,并且因此不能被添加到命名空间。如果节点大小一致,则在754处将待添加的图例中的范围与预留的集群大小(例如,最小的、默认的或最大的大小)进行比较。如果所处范围大小等于预留的最小的、默认的或最大的集群大小,则在752处将区域图例添加到命名空间。否则,在755处将所述请求中提供的区域图例当做是无效的。
根据本公开的验证机制可以被实现为存储设备(例如,硬盘驱动程序)和/或主机(计算机或数据存储系统)上的软件、硬件或其组合。另外,验证机制可以用在本地文件系统或分布式文件系统中。在一些实施例中,数据存储系统是单个计算设备,其中验证系统可以是专用操作系统实用程序或专用应用程序。在一些其他实施例中,验证系统被集成在操作系统、文件系统创建实用程序或应用程序中。在又一些其他实施例中,数据存储系统是具有文件系统服务器的服务器-客户端系统并且被耦合到存储设备。
图8A展示了根据本公开的实施例的示例性数据存储系统800的配置,所述数据存储系统带有驻留在主机810上的验证子系统813。主机810包括文件系统驱动程序811,所述文件系统驱动程序向块层子系统812发起读取/写入请求。块层子系统812可以将文件系统的读取/写入请求变换成小型计算机系统接口(SCSI)/串行高级技术附件(SATA)数据包。在变换成SCSI/SATA数据包之前,验证系统813可以检查文件系统的写入请求。可替换地,验证系统813检查SCSI/SATA数据包,所述SCSI/SATA数据包是从主机的块层子系统812(未示出)接收的。文件系统卷以及相关联的已验证区域图例被存储在存储设备820上。在这一配置中,可以相当容易地管理验证子系统813。例如,用户可以设定何时验证可以有效或者无效。
当文件系统驱动程序811发出请求以修改存储在存储设备820中的文件系统卷或命名空间时,验证子系统813访问已验证区域图例并验证请求的有效性,如参照图5至图7B更详细讨论的。在文件系统安装操作期间,已验证区域图例可以首先从存储设备读取到动态随机存取存储器(DRAM)中,从而使得文件系统访问来自DRAM的已验证区域图例。
图8B展示了根据本公开的实施例的另一示例性数据存储系统850的配置,所述数据存储系统带有驻留在存储设备870上的验证子系统871。主句860包括文件系统驱动程序861,所述文件系统驱动程序向块层862发起读取/写入请求。块层子系统862将文件系统的读取/写入请求变换成SCSI/SATA数据包。验证子系统871驻留在存储设备上。验证子系统871包括检查SCSI/SATA数据包,所述SCSI/SATA数据包是从主机的块层子系统862(接收的。对于带有有限计算能力的存储设备,验证子系统871优选地被实现为硬件模块(例如,包括现场可编程门阵列(FPGA)或应用专用集成电路(ASIC))。
图9是框图,展示了根据本公开的实施例的示例性计算系统900,所述计算系统能够通过验证过程来防止对文件系统元数据进行的不当操作。计算系统900包括处理器901、系统存储器902、图形处理单元(GPU)903、输入/输出(I/O)接口904、网络电路905、操作系统910以及应用程序软件920。文件系统创建实用程序921被实现为应用程序。操作系统910包括文件系统驱动程序911和验证子系统912。在一些其他实施例中,验证子系统也可以被实现为个体或应用程序的一部分。在所示示例中,计算系统900通过I/O接口904耦合到存储设备940。存储设备940存储用户数据、元数据记录以及已验证区域图例,所述已验证区域图例表征存储元数据结构的元数据记录的元数据区域。在一些其他实施例中,存储设备可以通过网络电路905和通信网络耦合到计算系统900。在这种情况下,验证子系统优选地驻留在存储设备侧上。
当合并由CPU 901输入和执行的配置时,文件系统创建实用程序921可以在存储设备中创建文件系统卷。文件系统驱动程序911管理存储设备940中的用户数据和元数据。文件系统驱动程序911可以将用于元数据的已验证区域图例存储到存储设备940上,发出用于添加、删除或以其他方式修改元数据或已验证图例的请求。验证子系统912基于已验证区域图例来验证所述请求的有效性。
在一些实施例中,根据本公开的命名空间创建和删除过程可以被集成到文件系统创建实用程序921(例如,MKFS实用程序)中或者从文件系统创建实用程序分离。文件系统创建实用程序可以基于文件系统细节负责在命名空间中的群描述符中编档。在一些实施例中,文件系统驱动程序关于新的元数据预留与验证子系统进行通信,所以它可以基于合适的数据和验证的结果生成有效的请求,并且适当地对命名空间造成改变。在一些其他实施例中,在通过验证子系统自身来分析文件系统卷中的元数据改变的基础上,跟踪新的元数据区域预留。因此,验证过程对于文件系统驱动程序而言可以是透明的。
验证子系统912可以执行各种如参照图1至图8B详细讨论的其他功能。如本领域技术人员将想到的,本公开不限于任何特定的操作系统。操作系统910可以是DOS视窗操作系统、OS/2、Macintosh以及基于Unix的操作系统或任何其他本领域公知的操作系统。
根据本公开,验证系统(或子系统)可以由用户手动配置或者由软件程序自动配置。例如,可以禁用、启用或定制验证功能(包括元数据验证和命名空间验证)以适应特定情况下对操作和保护的各种需要。验证逻辑可以驻留在主机侧(例如,在块层中)上或主机存储系统中的存储侧上。将理解的是,本公开不限于用于验证元数据和命名空间修改请求的验证系统的任何特定配置。
图10展示了根据本公开的实施例的验证系统和过程的示例性配置。在所示示例中,验证逻辑和命名空间(1014、1024和1034)驻留在存储设备上,并且文件系统驱动程序(1012、1022和1032)驻留在主机上。然而,将理解的是,参照图10所描述的验证过程还可以在其中验证逻辑和命名空间驻留在主机上的系统中实现。
在一些情境中,可获得的验证系统可以保持去激活(例如,基于用户指令和配置)。例如,最终用户可以确定文件系统是值得信任的并且指示跳过针对元数据相关的写入操作的验证过程。简图1010示出了对于所有请求普遍禁用验证功能的主机存储系统(设备1011和1013)的示例性配置。在这一配置中,执行对命名空间1014或存储在存储设备1013上的元数据的任何请求的修改(或写入操作)而不进行验证。支路写入操作验证的示例性方法不是在预留元数据区域时创建命名空间,即使可能已经为在存储设备中存储命名空间预留了空间。将理解的是,任何其他适合的方法也可以用于阻止元数据验证,而不脱离本公开的范围。
在一些其他情景中,验证系统可以用于选择性地验证元数据相关的写入请求,而命名空间可以为所有元数据创建。例如,不验证写入到日志区域中的请求,但验证写入到元数据的最终位置的请求。简图1020示出了仅对与验证需求(例如,特殊标志)的指示相关联的请求启用验证功能的主机存储系统(设备1021和1023)的示例性配置。在这一配置中,如果从文件系统驱动程序1022发送的修改请求与特殊标志相关联,则所述请求通过验证逻辑1025服从于验证。如果所述请求被验证为有效,则执行所请求的修改。这一方法有利地提高了管理整个数据存储栈的灵活性和性能。
简图1030示出了对于所有请求普遍启用验证功能的主机存储系统(设备1031和1033)的示例性配置。在这一配置中,由验证逻辑1035验证从文件系统驱动程序1032发送的任何请求的修改以在执行前确认有效性。特别地,所请求的删除动作可以服从于更严格的验证,其需要特殊授权的证明(例如,以请求中提供的密钥的形式)。
根据本公开的实施例,命名空间可以采用多种方式存储。在一些实施例中,在加密或不加密的情况下,命名空间可以存储在专用分区中。加密可以用于进一步保护命名空间数据免受未授权的访问和修改。在一些其他实施例中,命名空间数据可以存储在存储设备(例如,专用NAND闪存芯片)中的特殊存储器区域中。特殊存储器区域结合相关联的特殊用户接口可以有利地为命名空间数据提供更好的保护。
尽管本文已经公开某些优选实施例和方法,从上述公开中本领域技术人员将会清楚,在不脱离本发明的精神和范围的情况下,可以对这些实施例和方法进行变化和修改。在此的意图是本发明应当仅限于所附权利要求以及适用法律的规则和原理所要求的范围。
Claims (27)
1.一种利用验证保护来管理文件系统元数据的方法,所述方法包括:
接收用于验证与规定类别相关联的写入操作请求的第一指示;
预留文件系统卷中的第一多个元数据区域,所述第一多个元数据区域被配置成用于存储多条元数据记录,其中,所述多条元数据记录包括第一元数据记录;
响应于所述第一指示而为所述预留创建命名空间,其中,所述命名空间包括与用于表征所述第一多个元数据区域中的对应元数据区域的描述符集合相关联的存储值;
接收针对对所述第一元数据记录或所述命名空间中与第一描述符集合相关联的存储值进行第一写入操作的第一写入操作请求;以及
针对与所述第一描述符集合相关联的所述存储值来验证所述第一写入操作请求以便判定是否执行所述第一写入操作。
2.如权利要求1所述的方法,其中,与所述规定类别相关联的每个写入操作请求包括标志,并且所述方法进一步包括在所述验证所述第一写入操作请求之前标识所述第一写入操作请求中的所述标志。
3.如权利要求1所述的方法,其中,所述规定类别包括与所述元数据记录相关的所有写入操作请求。
4.如权利要求1所述的方法,进一步包括:
接收用于禁用针对所述文件系统中的写入操作请求的验证的第二指示;
接收用于对第二元数据记录进行第二写入操作的第二写入操作请求;以及
基于所述第二指示,在不验证所述第二写入操作请求的情况下执行所述第二写入操作请求。
5.如权利要求4所述的方法,进一步包括:响应于所述第二指示,预留第二多个元数据区域而不创建与其相关联的命名空间,其中,所述第二多个元数据区域包括用于所述第二元数据记录的元数据区域。
6.如权利要求1所述的方法,进一步包括:将所述命名空间写入存储设备的专用分区中,其中,所述专用分区与所述存储设备中用于存储所述元数据记录的分区分离。
7.如权利要求1所述的方法,其中,所述命名空间采用纯文本格式、二进制格式或者可扩展标志语言(XML)格式进行存储。
8.如权利要求1所述的方法,进一步包括:将所述命名空间写入专用非易失性芯片中,所述专用非易失性芯片与用于存储所述元数据记录的存储设备分离。
9.如权利要求8所述的方法,其中,所述写入包括加密所述命名空间,并且其中,所述验证包括从所述第一写入操作请求中提取密钥。
10.如权利要求1所述的方法,其中,由文件系统驱动程序生成与规定类别相关联的写入操作请求,并且其中,在主机存储系统中的主机服务器处执行所述验证所述第一写入操作请求。
11.如权利要求10所述的方法,进一步包括:所述文件系统驱动程序基于所述验证生成经校正的第一写入操作请求。
12.如权利要求1所述的方法,其中,在主机存储系统中的存储设备处执行所述验证所述第一写入操作请求。
13.如权利要求1所述的方法,其中,各个描述符集合包括以下各项中的一项或多项:幻数签名;节点大小;预留的集群大小;以及范围。
14.一种数据存储系统,包括:
一个或多个处理器;
存储设备,所述存储设备被耦合到所述一个或多个处理器;以及
存储器,所述存储器被耦合到所述一个或多个处理器并且存储指令,所述指令当被所述一个或多个处理器执行时,实现:
第一文件系统创建实用程序,所述第一文件系统创建实用程序被配置成用于:预留所述存储设备的文件系统卷中的第一多个元数据区域,所述第一多个元数据区域被配置成用于存储多条元数据记录,其中,所述多条元数据记录包括第一元数据记录;
命名空间实用程序,所述命名空间实用程序被配置成用于响应第一指示而为所述预留创建命名空间,其中,所述文件系统创建实用程序被进一步配置成用于生成与所述命名空间中的描述符集合相关联的值,所述描述符集合用于表征所述第一多个元数据区域中的对应元数据区域,其中,所述第一指示指示验证与规定类别相关联的写入操作请求;
文件系统驱动程序,所述文件系统驱动程序被配置成用于生成与所述元数据区域相关的写入操作请求;以及
验证逻辑,所述验证逻辑被配置成用于:
接收针对对所述第一元数据记录或所述命名空间中与第一描述符集合相关联的存储值进行第一写入操作的第一写入操作请求;并且
响应于所述第一指示,针对与所述第一描述符集合相关联的所述存储值来验证所述第一写入操作请求以便判定是否执行所述第一写入操作。
15.如权利要求14所述的数据存储系统,其中,与所述规定类别相关联的每个写入操作请求包括标志,并且所述数据存储系统进一步包括在所述验证所述第一写入操作请求之前标识所述第一写入操作请求中的所述标志。
16.如权利要求14所述的数据存储系统,其中,所述规定类别包括与所述元数据记录相关的所有写入操作请求。
17.如权利要求14所述的数据存储系统,其中,所述验证逻辑被进一步配置成用于:
接收用于禁用针对所述文件系统中的写入操作请求的验证的第二指示;
接收用于对第二元数据记录进行第二写入操作的第二写入操作请求;并且
基于所述第二指示,在不验证所述第二写入操作请求的情况下执行所述第二写入操作请求。
18.如权利要求17所述的数据存储系统,其中,所述命名空间实用程序被进一步配置成用于:响应于所述第二指示,在预留第二多个元数据区域期间省略创建与其相关联的命名空间,其中,所述第二多个元数据区域包括用于所述第二元数据记录的元数据区域。
19.如权利要求14所述的数据存储系统,其中,所述命名空间存储在所述存储设备的专用分区中,其中,所述专用分区与所述存储设备中用于存储所述元数据记录的分区分离。
20.如权利要求14所述的数据存储系统,其中,所述验证逻辑驻留在所述数据存储系统的主机上。
21.如权利要求14所述的数据存储系统,其中,所述验证逻辑驻留在所述存储设备上并且在硬件电路中实现。
22.如权利要求14所述的数据存储系统,其中,所述文件系统驱动程序被进一步配置成用于基于所述验证生成经校正的第一写入操作请求。
23.一种系统,包括:
一个或多个处理器;
存储设备,所述存储设备被耦合到所述一个或多个处理器;以及
存储器,所述存储器被耦合到所述一个或多个处理器并且存储指令,所述指令当被所述一个或多个处理器执行时使得所述一个或多个处理器执行一种方法,所述方法包括:
接收用于验证与规定类别相关联的写入操作请求的第一指示;
预留文件系统卷中的第一多个元数据区域,所述第一多个元数据区域被配置成用于存储多条元数据记录,其中,所述多条元数据记录包括第一元数据记录;
响应于所述第一指示而为所述预留创建命名空间,其中,所述命名空间包括与用于表征所述第一多个元数据区域的对应元数据区域的描述符集合相关联的存储值,并且其中,所述描述符集合包括元数据结构;
接收针对对所述第一元数据记录或所述命名空间中与第一描述符集合相关联的存储值进行第一写入操作的第一写入操作请求;以及
针对与所述第一描述符集合相关联的所述存储值来验证所述第一写入操作请求以便判定是否执行所述第一写入操作。
24.如权利要求23所述的系统,其中,所述规定类别包括与所述元数据记录相关的所有写入操作请求或者与所述元数据记录相关的所选写入操作请求集合。
25.根据权利要求23的系统,其中,所述方法进一步包括:
接收用于禁用针对所述文件系统中的写入操作请求的验证的第二指示;
接收用于对第二元数据记录进行第二写入操作的第二写入操作请求;以及
基于所述第二指示,在不验证所述第二写入操作请求的情况下执行所述第二写入操作请求。
26.如权利要求23所述的系统,其中,所述方法进一步包括:响应于所述第二指示,预留第二多个元数据区域而不创建与其相关联的命名空间,其中,所述第二多个元数据区域包括用于所述第二元数据记录的元数据区域。
27.如权利要求23所述的系统,其中,所述方法进一步包括:基于所述验证生成经校正的第一写入操作请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/140,241 | 2016-04-27 | ||
US15/140,241 US10380100B2 (en) | 2016-04-27 | 2016-04-27 | Generalized verification scheme for safe metadata modification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107315973A true CN107315973A (zh) | 2017-11-03 |
CN107315973B CN107315973B (zh) | 2021-09-10 |
Family
ID=60081860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710114752.4A Active CN107315973B (zh) | 2016-04-27 | 2017-02-28 | 用于安全元数据修改的一般化验证方案 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10380100B2 (zh) |
CN (1) | CN107315973B (zh) |
DE (1) | DE102017104080A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10310925B2 (en) | 2016-03-02 | 2019-06-04 | Western Digital Technologies, Inc. | Method of preventing metadata corruption by using a namespace and a method of verifying changes to the namespace |
US10380100B2 (en) | 2016-04-27 | 2019-08-13 | Western Digital Technologies, Inc. | Generalized verification scheme for safe metadata modification |
US10380069B2 (en) | 2016-05-04 | 2019-08-13 | Western Digital Technologies, Inc. | Generalized write operations verification method |
WO2018097344A1 (ko) * | 2016-11-23 | 2018-05-31 | 라인 가부시키가이샤 | 탐지 결과의 유효성을 검증하는 방법 및 시스템 |
US11789822B1 (en) * | 2022-07-22 | 2023-10-17 | Lemon Inc. | Implementation of fast and reliable metadata operations |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1605989A (zh) * | 2003-10-09 | 2005-04-13 | 国际商业机器公司 | 备份操作期间确保有效日志文件系统元数据的方法和装置 |
US20100023847A1 (en) * | 2008-07-28 | 2010-01-28 | Hitachi, Ltd. | Storage Subsystem and Method for Verifying Data Using the Same |
US20110099461A1 (en) * | 2009-10-22 | 2011-04-28 | Microsoft Corporation | Data integrity units in nonvolatile memory |
CN102077193A (zh) * | 2008-06-27 | 2011-05-25 | 微软公司 | 群集共享卷 |
US20130067148A1 (en) * | 2011-09-14 | 2013-03-14 | Sony Corporation | Information processing apparatus and information processing method |
US20130238876A1 (en) * | 2012-03-07 | 2013-09-12 | International Business Machines Corporation | Efficient Inline Data De-Duplication on a Storage System |
CN103699498A (zh) * | 2013-11-25 | 2014-04-02 | 南京大学 | 一种应用程序关键数据保护系统及其保护方法 |
CN104038486A (zh) * | 2014-06-04 | 2014-09-10 | 武汉理工大学 | 一种基于标识型密码实现用户登录鉴别的系统及方法 |
CN104268758A (zh) * | 2014-09-15 | 2015-01-07 | 周刚 | 一种基于发票和第三方电子商务平台的商品防伪系统 |
CN104601579A (zh) * | 2015-01-20 | 2015-05-06 | 成都市酷岳科技有限公司 | 一种保障信息安全的计算机系统及其方法 |
CN104620253A (zh) * | 2012-09-28 | 2015-05-13 | 意法爱立信有限公司 | 用于维持安全时间的方法和设备 |
US20150248280A1 (en) * | 2014-03-03 | 2015-09-03 | Bank Of America Corporation | Build Deployment Automation for Information Technology Management |
CN104995598A (zh) * | 2013-01-22 | 2015-10-21 | 亚马逊技术有限公司 | 用于访问控制的自由形式元数据的用途 |
CN105027122A (zh) * | 2013-01-02 | 2015-11-04 | 甲骨文国际公司 | 压缩和重复数据删除分层驱动 |
CN105468295A (zh) * | 2015-11-14 | 2016-04-06 | 华中科技大学 | 一种实现对象存储的安全防护访问方法及系统 |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369749A (en) * | 1989-05-17 | 1994-11-29 | Ibm Corporation | Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems |
JP3763992B2 (ja) * | 1999-03-30 | 2006-04-05 | 富士通株式会社 | データ処理装置及び記録媒体 |
KR100308873B1 (ko) | 1999-11-17 | 2001-11-07 | 이채홍 | 손상된 데이터를 갖는 손상된 디렉토리 정보로부터 데이터복원 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체 |
US6584582B1 (en) | 2000-01-14 | 2003-06-24 | Sun Microsystems, Inc. | Method of file system recovery logging |
US7526575B2 (en) * | 2001-09-28 | 2009-04-28 | Siebel Systems, Inc. | Method and system for client-based operations in server synchronization with a computing device |
US7206785B1 (en) | 2001-10-24 | 2007-04-17 | Bellsouth Intellectual Property Corporation | Impact analysis of metadata |
JP2003248605A (ja) | 2002-02-26 | 2003-09-05 | Hitachi Ltd | ストレージシステム、主記憶システム、副記憶システム、及びそのデータ複写方法 |
US8041878B2 (en) | 2003-03-19 | 2011-10-18 | Samsung Electronics Co., Ltd. | Flash file system |
US6839724B2 (en) | 2003-04-17 | 2005-01-04 | Oracle International Corporation | Metamodel-based metadata change management |
US7430570B1 (en) | 2003-04-28 | 2008-09-30 | Ibrix, Inc. | Shadow directory structure in a distributed segmented file system |
US7305393B2 (en) | 2003-04-29 | 2007-12-04 | International Business Machines Corporation | Mounted filesystem integrity checking and salvage |
US7529745B2 (en) | 2004-11-19 | 2009-05-05 | International Business Machines Corporation | Method of verifying metadata of a migrated file |
US7610307B2 (en) | 2004-11-30 | 2009-10-27 | Microsoft Corporation | Method and system of detecting file system namespace changes and restoring consistency |
US20060129614A1 (en) | 2004-12-14 | 2006-06-15 | Kim Hong Y | Crash recovery system and method for distributed file server using object based storage |
US20060282471A1 (en) | 2005-06-13 | 2006-12-14 | Mark Timothy W | Error checking file system metadata while the file system remains available |
US7631045B2 (en) * | 2005-07-14 | 2009-12-08 | Yahoo! Inc. | Content router asynchronous exchange |
US8782047B2 (en) | 2009-10-30 | 2014-07-15 | Hitachi Data Systems Corporation | Fixed content storage within a partitioned content platform using namespaces |
US7640412B2 (en) | 2007-01-04 | 2009-12-29 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for improving the reliability of file systems |
KR100881597B1 (ko) | 2007-02-02 | 2009-02-03 | 지인정보기술 주식회사 | 읽기 요청 처리 시스템 및 방법 |
US7899793B2 (en) | 2008-01-09 | 2011-03-01 | Hitachi, Ltd. | Management of quality of services in storage systems |
WO2009131861A2 (en) | 2008-04-13 | 2009-10-29 | Ipharro Media Gmbh | Media asset management |
US8086585B1 (en) | 2008-09-30 | 2011-12-27 | Emc Corporation | Access control to block storage devices for a shared disk based file system |
US8086611B2 (en) | 2008-11-18 | 2011-12-27 | At&T Intellectual Property I, L.P. | Parametric analysis of media metadata |
US8738621B2 (en) * | 2009-01-27 | 2014-05-27 | EchoStar Technologies, L.L.C. | Systems and methods for managing files on a storage device |
WO2010138628A1 (en) | 2009-05-28 | 2010-12-02 | Marvell World Trade Ltd. | Metadata management for virtual volumes |
US8555022B1 (en) | 2010-01-06 | 2013-10-08 | Netapp, Inc. | Assimilation of foreign LUNS into a network storage system |
US9092149B2 (en) | 2010-11-03 | 2015-07-28 | Microsoft Technology Licensing, Llc | Virtualization and offload reads and writes |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
KR101403305B1 (ko) | 2012-08-23 | 2014-06-05 | 한국전자통신연구원 | 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법 |
US20140188957A1 (en) | 2012-11-30 | 2014-07-03 | Hitachi, Ltd. | Hierarchical storage system and file management method |
US9229639B2 (en) * | 2013-03-11 | 2016-01-05 | Sandisk Technologies Inc. | Method and non-volatile memory device for improving latency together with write protection |
US9459973B2 (en) | 2013-03-22 | 2016-10-04 | Hitachi, Ltd. | Storage subsystem, and method for verifying storage area |
US9245140B2 (en) * | 2013-11-15 | 2016-01-26 | Kabushiki Kaisha Toshiba | Secure data encryption in shared storage using namespaces |
US9256373B1 (en) | 2014-05-19 | 2016-02-09 | Emc Corporation | Invulnerable data movement for file system upgrade |
US9250823B1 (en) | 2014-05-20 | 2016-02-02 | Emc Corporation | Online replacement of physical storage in a virtual storage system |
US9672241B2 (en) | 2014-05-28 | 2017-06-06 | International Business Machines Corporation | Representing an outlier value in a non-nullable column as null in metadata |
CN107111627B (zh) | 2014-11-10 | 2021-04-09 | 慧与发展有限责任合伙企业 | 在线文件系统检查 |
US10031679B2 (en) * | 2014-11-21 | 2018-07-24 | Security First Corp. | Gateway for cloud-based secure storage |
US10310925B2 (en) | 2016-03-02 | 2019-06-04 | Western Digital Technologies, Inc. | Method of preventing metadata corruption by using a namespace and a method of verifying changes to the namespace |
US10545927B2 (en) * | 2016-03-25 | 2020-01-28 | Amazon Technologies, Inc. | File system mode switching in a distributed storage service |
US9804966B1 (en) * | 2016-03-29 | 2017-10-31 | EMC IP Holding Company LLC | Methods and apparatus for content-based storage addressing with data prioritization |
US10380100B2 (en) | 2016-04-27 | 2019-08-13 | Western Digital Technologies, Inc. | Generalized verification scheme for safe metadata modification |
US10380069B2 (en) | 2016-05-04 | 2019-08-13 | Western Digital Technologies, Inc. | Generalized write operations verification method |
US10715883B2 (en) * | 2017-09-06 | 2020-07-14 | Rovi Guides, Inc. | Systems and methods for generating summaries of missed portions of media assets |
US11875297B2 (en) * | 2020-12-23 | 2024-01-16 | International Business Machines Corporation | Generation of dashboard templates for operations management |
-
2016
- 2016-04-27 US US15/140,241 patent/US10380100B2/en active Active
-
2017
- 2017-02-27 DE DE102017104080.3A patent/DE102017104080A1/de active Pending
- 2017-02-28 CN CN201710114752.4A patent/CN107315973B/zh active Active
-
2019
- 2019-07-26 US US16/523,960 patent/US11347717B2/en active Active
-
2022
- 2022-05-13 US US17/744,551 patent/US20220269671A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1605989A (zh) * | 2003-10-09 | 2005-04-13 | 国际商业机器公司 | 备份操作期间确保有效日志文件系统元数据的方法和装置 |
CN102077193A (zh) * | 2008-06-27 | 2011-05-25 | 微软公司 | 群集共享卷 |
US20100023847A1 (en) * | 2008-07-28 | 2010-01-28 | Hitachi, Ltd. | Storage Subsystem and Method for Verifying Data Using the Same |
US20110099461A1 (en) * | 2009-10-22 | 2011-04-28 | Microsoft Corporation | Data integrity units in nonvolatile memory |
US20130067148A1 (en) * | 2011-09-14 | 2013-03-14 | Sony Corporation | Information processing apparatus and information processing method |
US20130238876A1 (en) * | 2012-03-07 | 2013-09-12 | International Business Machines Corporation | Efficient Inline Data De-Duplication on a Storage System |
CN104620253A (zh) * | 2012-09-28 | 2015-05-13 | 意法爱立信有限公司 | 用于维持安全时间的方法和设备 |
CN105027122A (zh) * | 2013-01-02 | 2015-11-04 | 甲骨文国际公司 | 压缩和重复数据删除分层驱动 |
CN104995598A (zh) * | 2013-01-22 | 2015-10-21 | 亚马逊技术有限公司 | 用于访问控制的自由形式元数据的用途 |
CN103699498A (zh) * | 2013-11-25 | 2014-04-02 | 南京大学 | 一种应用程序关键数据保护系统及其保护方法 |
US20150248280A1 (en) * | 2014-03-03 | 2015-09-03 | Bank Of America Corporation | Build Deployment Automation for Information Technology Management |
CN104038486A (zh) * | 2014-06-04 | 2014-09-10 | 武汉理工大学 | 一种基于标识型密码实现用户登录鉴别的系统及方法 |
CN104268758A (zh) * | 2014-09-15 | 2015-01-07 | 周刚 | 一种基于发票和第三方电子商务平台的商品防伪系统 |
CN104601579A (zh) * | 2015-01-20 | 2015-05-06 | 成都市酷岳科技有限公司 | 一种保障信息安全的计算机系统及其方法 |
CN105468295A (zh) * | 2015-11-14 | 2016-04-06 | 华中科技大学 | 一种实现对象存储的安全防护访问方法及系统 |
Non-Patent Citations (1)
Title |
---|
鲍爱华: "一种基于虚拟隔离机制的安全私有云存储系统", 《计算机科学》 * |
Also Published As
Publication number | Publication date |
---|---|
US20170316047A1 (en) | 2017-11-02 |
US10380100B2 (en) | 2019-08-13 |
DE102017104080A1 (de) | 2017-11-02 |
CN107315973B (zh) | 2021-09-10 |
US11347717B2 (en) | 2022-05-31 |
US20220269671A1 (en) | 2022-08-25 |
US20190354517A1 (en) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11200337B2 (en) | System and method for user data isolation | |
CN107315973A (zh) | 用于安全元数据修改的一般化验证方案 | |
US10831886B2 (en) | Virtual machine manager facilitated selective code integrity enforcement | |
EP2335181B1 (en) | External encryption and recovery management with hardware encrypted storage devices | |
EP1946238B1 (en) | Operating system independent data management | |
US9742564B2 (en) | Method and system for encrypting data | |
US20080046997A1 (en) | Data safe box enforced by a storage device controller on a per-region basis for improved computer security | |
KR101330492B1 (ko) | 트랜잭션형의 봉인된 저장 | |
US20180091311A1 (en) | Secure logging for host security module | |
CN107590395B (zh) | 适用于云环境的多层数据加密方法、装置、设备及系统 | |
US7818567B2 (en) | Method for protecting security accounts manager (SAM) files within windows operating systems | |
US11409868B2 (en) | Ransomware detection and mitigation | |
CN107506652A (zh) | CephFS分布式文件系统元数据访问保护机制的实现方法及系统 | |
US20130269039A1 (en) | Data access control | |
KR102185150B1 (ko) | 일반화된 기록 동작 검증 방법 | |
CN107273769A (zh) | 一种电子设备的保护方法和装置 | |
KR20210116615A (ko) | 자체-인식, 자체-치유, 및 자체-방어 데이터를 위한 방법 | |
CN104794025B (zh) | 快速校验存储设备的方法 | |
US11003786B2 (en) | System and method to manage file access rights in an information handling system | |
CN107391028B (zh) | 一种虚拟卷权限的控制方法及装置 | |
CN110826099A (zh) | 适用于嵌入式实时操作系统的安全存储方法及系统 | |
CN114254346A (zh) | 一种数据存储的处理方法、系统、设备及介质 | |
US20100122055A1 (en) | Data integrity validation using hierarchical volume management | |
US10956080B2 (en) | Erasure of data from a memory of a data storage apparatus by identifying available free space in the memory and iteratively writing a sequence of files decreasing size to the memory using a file-based protocol | |
US11822663B2 (en) | Supervisor-based firmware hardening |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Western Digital Technologies, Inc. Address before: American California Applicant before: Western data Polytron Technologies Inc |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |