CN101408880A - 使用分割文件元数据的文件管理方法和装置 - Google Patents
使用分割文件元数据的文件管理方法和装置 Download PDFInfo
- Publication number
- CN101408880A CN101408880A CNA2008101079509A CN200810107950A CN101408880A CN 101408880 A CN101408880 A CN 101408880A CN A2008101079509 A CNA2008101079509 A CN A2008101079509A CN 200810107950 A CN200810107950 A CN 200810107950A CN 101408880 A CN101408880 A CN 101408880A
- Authority
- CN
- China
- Prior art keywords
- node
- file
- metadata
- file metadata
- section point
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- 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/0608—Saving storage space on storage systems
-
- 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/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
如闪存之类的存储器中的文件管理,包括在存储器中存储包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,所述第二类型文件元数据包括文件状态以及第一和第二节点的存储位置信息。第三节点可包括:包括第二节点的存储位置信息的节点;以及包括索引表的节点,所述索引表将第二节点的存储位置信息的存储位置交叉引用到第一节点的存储位置。可以提供方法和装置。
Description
相关申请交叉引用
本申请根据35U.S.C§119要求2007年10月12日递交的韩国专利申请No.10-2007-0103183的优先权,其整体公开内容一并于此用作参考。
技术领域
本发明涉及存储系统和方法,更具体地,涉及文件管理系统和方法。
背景技术
闪存(flash memory)通常电可擦除和/或可编程,且通常用于相对大单元的数据存储。例如,闪存广泛用于计算机和计算机控制装置的操作系统和其他计算机程序的存储,以及例如数码相机和音乐播放器之类的消费产品的视频、音频和/或其他媒体文件的存储。
图1示出了闪存的常规使用。CPU 11和随机存取存储器(RAM)14通过总线15通信,该总线可以包括数据线和控制信号线。RAM 14可用于临时存储程序代码如操作系统和应用程序,以及CPU 11对之进行操作的数据。闪存控制器12也连接到总线15,且控制总线15和闪存13之间的数据传输,该闪存13可用于CPU 11和RAM 14所使用的信息的非易失存储。例如,在一些应用中,引导程序可存储在闪存13中,CPU 11可通过闪存控制器12加载引导程序。在其他应用中,数据,例如音频和视频文件,可通过闪存控制器12在闪存13和总线15之间传输。
在一些应用中,RAM 14可用于支持管理闪存13的文件系统。参考图2,应用程序21可通过文件系统管理器22读取和写入数据,该文件系统管理器22通过闪存翻译逻辑(FTL)23与闪存24相接口,该闪存翻译逻辑23将面向硬盘的地址信息,即扇区地址,转换为闪存地址信息,例如块和页地址信息。FTL 24例如可以实现在闪存控制器中,如上面参照图1描述的闪存控制器12。
多种不同的文件系统可以用于闪存。图3示出了常规FAT(文件分配表)文件系统,包括BIOS参数块BPB区、FAT表区、目录项区和数据区。闪存翻译逻辑FTL将FAT文件系统中的扇区号转换为块和页号,从而FAT表、目录项和数据存储在闪存中的特定块和页位置。
图4和5示出了在NAND闪存应用中使用FAT文件系统时可能发生的操作示例。参考图4,来自FAT系统的扇区6的信息由闪存翻译层FTL映射为闪存的块0、页2。参考图5,如果修改块0页2中的数据,扇区6重映射为块0中的新页3。具体地,闪存翻译层FTL可在闪存中搜索空白页,且将修改的数据写入该空白页。随后将先前的页标记为无效,直到执行“碎片收集”程序以擦除无效页,从而它们可以被释放以用于以后的写入。
由于FAT文件系统最初开发用于与闪存具有不同特性的硬盘驱动器,已经开发了更适合于闪存特性的其他类型文件系统。这些文件系统的例子包括JFFS和JFFS2,记载在2001年在Ottawa Linux Symposium发表的David Woodhouse的文章“JFFS:The Journalling Flash File System”中。
发明内容
本发明的一些实施例提供了在存储器中管理文件的方法,包括:在闪存中存储包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,第二类型元数据包括文件状态以及第一和第二节点的存储位置信息。在一些实施例中,该方法还可包括:读取第三节点以检索第一节点和/或第二节点的存储位置信息,并基于检索的存储位置信息访问第一节点和/或第二节点。第一类型元数据可以包括与第二类型元数据相比改变更少的信息。例如,第一类型元数据可包括文件识别信息和/或文件创建信息,而第二类型元数据可包括文件状态信息。
根据另外的实施例,第三节点包括:包括第二节点的存储位置信息的节点;以及包括索引表的节点,索引表将第二节点的存储位置信息的存储位置交叉引用到第一节点的存储位置。该方法还可包括:基于索引表,检索包括第一类型元数据的节点的存储位置;响应于检索的存储位置,读取包括第一类型元数据的节点;从读取的包括第一类型元数据的节点中识别第一节点;检索包括与所识别的第一节点相对应的第二节点的存储位置信息的节点的存储位置;以及响应于所检索的包括与所识别的第一节点相对应的第二节点的存储位置信息的节点的存储位置,访问第二节点。
该方法还可包括执行文件写入操作,其中将文件数据和第二类型文件元数据作为新节点写入存储器中,而不将第一类型元数据写入存储器的新节点中。在另外的实施例中,以周期或非周期的方式,间歇写入包括文件数据的各个部分的新节点以及包括第二类型元数据的新节点,所述第二类型元数据包括针对包括数据的所述部分的节点的存储位置信息。
本发明另外的实施例提供了在存储器中管理文件的方法,包括:管理包括文件识别信息的第一类文件元数据以及包括文件状态信息和文件存储位置信息的第二类文件元数据,分别作为存储器中的第一和第二类型节点。在对文件的一系列文件写入操作中,第二类型节点可以比第一类型节点更频繁地写入存储器。在对文件的文件写入操作中,将新的第二类型节点写入新的存储位置,而不写入新的第一类型节点。
根据本发明另外的实施例,一种装置包括:配置成与存储器通信的存储控制电路;和文件系统管理电路,与存储控制电路可操作地连接,且配置成使得存储控制电路在存储器中存储包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,第二类型元数据包括文件状态以及第一节点和第二节点的存储位置元数据。本发明另外的实施例提供了计算机程序产品,包括计算机可读存储介质中包含的计算机程序代码,该计算机程序代码包括:程序代码,配置成在存储器中存储包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,所述第二类型元数据包括文件状态以及第一和第二节点的存储位置信息。另外的实施例提供了存储装置,包括非易失性存储介质,其中文件存储为包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,第二类型元数据包括文件状态信息以及第一和第二节点的存储位置信息。
附图说明
图1是示出了常规计算系统体系结构的示意框图。
图2-5是示出了常规的基于FAT的闪存文件系统的示意框图。
图6是示出了根据本发明一些实施例的文件系统的示意框图。
图7是示出了图6的文件系统的装置和操作的示意框图。
图8是示出了根据本发明的一些实施例用于向使用图6的文件系统的闪存中写入文件的操作的流程图。
图9是示出了根据本发明的一些实施例用于从图6的闪存中读取文件的操作的流程图。
图10是示出了根据本发明一些实施例的文件系统的示意框图。
图11是示出了用于图10中文件系统的装置和操作的示意框图。
图12是示出了根据本发明的一些实施例用于向使用图10的文件系统的闪存中写入文件的操作的流程图。
图13是示出了根据本发明的一些实施例用于从使用图10的文件系统的闪存中读取文件的操作的流程图。
图14是示出了根据本发明另外的实施例用于支持文件系统的装置和操作的示意框图。
图15是示出了根据本发明的一些实施例用于向使用图10的文件系统闪存中写入文件的操作的流程图。
具体实施方式
以下,参考示出本发明实施例的附图更充分的描述本发明。然而,本发明可以许多不同形式实现,且不应解释为受限于此处提出的实施例。相反,提供这些实施例使得公开充分而完整,且将本发明的范围充分传达给本领域的技术人员。
在附图中,为了清楚,元件的尺寸或结构可理想化或放大。可以理解的是,当将元件称作“连接到”或“耦合到”另一元件,它可以直接连接到或耦合到另一元件,或可以存在插入元件。相反,当将元件称作“直接连接到”或“直接耦合到”另一元件,则不存在插入元件。相同数字始终指示相同元件。正如此处所使用,术语“和/或”包括一个或多个相关所列项目的任意或所有组合。
可以理解的是,尽管这里可以使用术语第一、第二、第三等描述各种元件、组件和/或部分,这些元件、组件和/或部分不应为这些术语限制。这些术语仅仅用于将一个元件、组件或部分与另一元件、组件和/或部分区分。因此,在不脱离本发明教导的情况下,下面讨论的第一元件、组件或部分可以称之为第二元件、组件或部分。
这里使用的术语仅仅是为了描述具体实施例,而不是限制本发明。正如此处使用的,单数形式也意味着包括复数形式,除非上下文中另外明确指出。进一步可以理解的是,在说明中使用的术语“包括”说明存在所说的特征、整数、步骤、操作、元件和/或组件,但是不排除存在或增加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组合。
除非有另外的定义,此处使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员的通常理解相同的含义。进一步可以理解的是,术语,例如在常用词典中定义的那些,应解释为具有与相关技术和本发明的背景一致的含义,而不应解释为理想化的或过于刻板的理解,除非这里明确的如此定义。
下面描述在应用于闪存装置时本发明的特定实施例。然而,可以理解的是,本发明可以应用于其他类型存储系统,包括但不限制于其他类型固态存储装置、磁存储系统和光存储系统。
本发明的一些实施例源于如下认识:通过区分相对“静态”的文件元数据(如文件名、创建日期等)与更“动态”的元数据(如文件大小、最后编辑日期等),可以在装置中,尤其是具有如闪存之类的特征(例如块擦除和类似约束条件)的装置中,实现文件的更有效存储。这些不同类型的信息可以两种不同类型的存储“节点”,即独立的存储单元,存储在存储器中,从而每次以新数据更新文件时不需要重写“静态”元数据。这可以减少一系列更新消耗的存储空间量,从而减少可归因于存储管理功能的开销,例如碎片收集。
图6示出了根据本发明的一些实施例在闪存600中实现的文件系统610。根据文件系统610,使用三种不同类型节点将文件存储在闪存600中。第一类型节点611包括动态文件元数据,例如倾向于频繁改变的文件元数据,如文件大小、最后修改时间、文件分配信息等。第二类型节点612包括静态文件元数据,例如倾向于不那么频繁改变的文件元数据,如文件ID、创建时间、文件名等。第三类型节点613包括文件数据,例如不同于元数据的数据,如数字、图形、文本、音频和/或视频数据。第一类型节点611,即动态元数据节点,包括第二和第三类型节点612、613的闪存位置信息(例如存储地址),从而可以访问动态元数据节点611以找到静态元数据节点612和数据节点613。如下面详细描述的,这种设置的使用可在修改文件时减少对闪存的数据再写入,因为静态元数据节点612可以在若干次文件修改中保持不变,从而在每次对闪存进行文件写入操作时不需要重写该元数据节点。
附图7示出了根据本发明的一些实施例用于在闪存720中实现包括动态元数据节点721、静态元数据节点722和数据节点723的文件系统的装置和方法。在处理器710(该处理器710例如可以包括如微处理器之类的计算装置以及相关存储器)上执行的应用程序712向在处理器710上执行的文件系统管理器713提供数据。文件系统管理器713设置成存储和检索来自闪存720的数据。如图所示,文件系统管理器713可包括闪存空间管理器714,闪存空间管理器714设置成为闪存720中的文件管理提供空间管理功能,例如空闲存储位置的识别和选择以及无效存储位置的碎片收集。文件系统管理器713还可包括文件元数据管理器715,文件元数据管理器715设置成维护动态元数据节点721和静态元数据节点722。
应当理解,节点721、722和723可以以多种不同方式设置在闪存内。例如,数据节点723可沿块/页边界存储,例如,每个数据节点723可以对应于页。节点721、722和723也可设置成利用闪存720的存储空间中限定的分区(partition)。例如,如图7所示,静态数据节点722和数据节点723可以依次存储在闪存装置720的“数据块”中,而动态数据节点721存储在存储装置720的“元块”(meta block)中。这在根据下面参照图9描述的方式进行读取操作期间,在试图访问静态元数据节点和数据节点722和723的存储位置信息时,可以有助于动态元数据节点721的检索,因为文件元数据管理器715可以将对文件动态元数据的检索限制在装置720的“元块”,而不必通过存储装置720的数据块进行读取。应当理解,可以使用其他类型的分割方法。
图8示出了根据本发明的一些实施例,将文件写入使用如上所述的文件系统的闪存中的示例操作。如果存在新的静态元数据,例如,如果新创建文件和/或改变静态元数据如文件名,则将静态元数据存储在闪存的静态元数据节点中(方框810、820)。如果静态元数据不是新的,例如,如果文件已经存储在闪存中且仅仅要改变动态元数据或数据,则已存储文件的静态元数据保持不变。如果存在新数据,则将数据存储在一个或多个数据节点中(方框830、840)。如果不存在新数据,例如,如果创建了文件且不包括数据,则可以绕过数据存储。文件写入操作将随着在闪存的动态元数据节点中存储动态元数据而结束,动态元数据包括静态元数据节点和创建的任何数据节点的闪存位置信息(方框850)。
图9示出了根据本发明另外的实施例从使用如上所述的文件系统的闪存中读取文件的示例操作。为了读取文件,读取闪存中存储的一个或多个动态元数据节点,以获得与之相关联的静态元数据节点的闪存位置信息(方框910)。使用该位置信息访问一个或多个静态元数据节点,以获得闪存中存储的文件的文件识别信息(方框920)。如果定位了与所请求的文件相对应的静态元数据节点,则使用与该静态元数据节点相关联的动态元数据节点中的闪存位置信息访问包含文件数据的数据节点(方框930、940)。如果在静态元数据节点的搜索中没有定位到文件,可产生错误消息(例如,“文件未发现”)(方框930、950)。
根据本发明另外的实施例,上述文件系统可通过增加交叉引用静态文件元数据节点和动态文件元数据节点的第四种类型文件存储节点进一步修改,从而文件定位不需要涉及到搜索闪存中存储的所有动态元数据节点。这种设置可帮助减少支持文件系统所需要的系统存储器(例如RAM)的数量。
图10示出了根据本发明另外的实施例使用文件系统1010设置的闪存1000。在文件系统1010中,文件存储在闪存1000中,使用第一类型节点1011,其包括索引表,所述索引表对文件动态元数据节点1012的闪存位置信息与静态元数据节点1013的闪存位置信息进行交叉引用。类似于上面参照图6-9描述的实施例,动态元数据节点1012包括动态文件元数据,例如,倾向于频繁改变的文件元数据,如文件大小、最后修改时间、文件分配信息等。静态元数据节点1013包括静态文件元数据,例如,倾向于不那么频繁改变的文件元数据,如文件ID、创建日期、文件名等。类似于上面描述的实施例,一个或多个数据节点1014包括来自文件的数据。动态元数据节点1012包括静态元数据节点1013和数据节点1014的闪存位置信息,从而可访问动态元数据节点1012以找到静态元数据节点1013和数据节点1014。
图11示出了根据本发明的一些实施例用于在闪存1120中实现包括文件的索引表节点1121、动态元数据节点1122、静态元数据节点1123和一个或多个数据节点1124的文件系统的装置和方法。在处理器1110上执行的应用程序1112向在处理器1110上执行的文件系统管理器1113提供数据。文件系统管理器1113设置成存储和检索来自闪存1120的数据。如图所示,文件系统管理器1113可包括闪存空间管理器1114,闪存空间管理器1114设置成为闪存1120中的文件管理提供空间管理功能,例如空闲存储位置的识别和选择以及无效存储位置的碎片收集。文件系统管理器1113还包括文件元数据管理器1115,文件元数据管理器1115设置成管理动态元数据节点1122和静态元数据节点1123。文件系统管理器1113进一步包括文件索引管理器1116,文件索引管理器1116设置成维护文件索引表节点1121,文件索引表节点1121交叉引用动态元数据节点1122和静态元数据节点1123的闪存位置信息。
图12示出了根据本发明的一些实施例,将文件写入使用以上参照图10和11所述的文件系统的闪存中的示例操作。如果存在新的静态元数据,例如,如果创建新文件,则将静态元数据存储在闪存的静态元数据节点中(方框1210、1220)。如果静态元数据不是新的,例如,如果文件已存储在闪存中且仅仅要改变数据和动态元数据,则已存储文件的静态元数据保持不变。如果存在新数据,则将数据存储在一个或多个数据节点中(方框1230、1240)。如果不存在新数据,例如,如果文件新创建且不包括数据,则可绕过数据存储。随后将动态元数据存储在闪存的动态元数据节点中,动态元数据包括静态元数据节点和创建的任何数据节点的闪存位置信息(方框1250)。将交叉引用静态元数据节点和动态元数据节点的闪存位置信息的信息存储在闪存中的文件索引表节点中(方框1260)。
图13示出了根据本发明另外的实施例从使用以上参照图10和11所述的文件系统的闪存中读取文件的示例操作。为了读取文件,访问闪存中存储的文件索引表节点(方框1310)。使用来自文件索引表节点的位置信息,读取闪存中存储的一个或多个静态元数据节点,以试图找到所请求的文件(方框1320)。如果发现了合适的静态元数据节点,则使用从索引表获得的位置信息访问相应动态元数据节点(方框1330、1340)。如果没有发现相应的静态元数据节点,可产生错误消息(方框1360)。如果定位了与所请求的文件相对应的静态元数据节点,则可使用与该静态元数据节点相关联的动态元数据节点中的闪存位置信息访问包括文件数据的数据节点(方框1350)。
根据本发明另外的实施例,可以修改以上参照图6-9或10-13所述的文件系统,以允许以分段形式将文件存储在闪存中。该方法例如在减少将文件写入闪存时发生数据损坏的危险方面可能是有利的,尤其对于如媒体文件等小量数据可丢失而不完全破坏该文件价值的文件。
图14示出了根据本发明的一些实施例在闪存中实现这种系统的装置和方法。在处理器1410(该处理器1410例如可包括如微处理器之类的计算装置以及相关存储器)上执行的应用程序1412向在处理器1410上执行的文件系统管理器1413提供数据。文件系统管理器1413设置成存储和检索来自闪存1420的数据。如图所述,文件系统管理器1413可包括闪存空间管理器1414,闪存空间管理器1414设置成为闪存1420中的文件管理提供空间管理功能,例如空闲存储位置的识别和选择以及无效存储位置的碎片收集。文件系统管理器1413还包括文件元数据管理器1415,文件元数据管理器1415设置成使用静态元数据节点1423和动态元数据节点1422a-c存储文件,其中动态元数据节点1422a-c在下面参照图15讨论的断续(intermittent incremental)文件写入操作中在创建相应数据节点1424a-c的同时进行创建。文件系统管理器1413进一步包括文件索引管理器1416,文件索引管理器1416设置成管理文件索引表节点1421,文件索引表节点1421交叉引用动态元数据节点1422a-c和静态元数据节点1423的闪存位置信息。
与以上参照图10-13描述的实施例不同,在图14所示的文件系统中,文件以断续方式存储在闪存中。例如,在一些实施例中,可周期性写入文件数据的一部分,在每个连续写入周期中写入新的、更新的动态元数据节点1422a-c。参照图14,例如,在第一周期,在对数据节点1424a进行写入时,写入动态元数据节点1422a,该动态元数据节点1422a包括数据节点1424a和静态元数据节点1423的闪存位置信息。在随后的周期中,写入第二数据节点1424b,同时写入新的动态元数据节点1422b,该动态元数据节点1422b包括第一数据节点1424a、第二数据节点1424b和静态元数据节点1423的闪存位置信息,从而新的动态元数据节点1422b取代第一动态元数据节点1422a。可以在文件的下个写入周期对第三数据节点1424c和第三动态元数据节点1422c执行类似操作。
图15示出了根据本发明的一些实施例用于根据以上参照图14所述以分段方式将文件写入闪存中的示例操作。如果存在新的静态元数据,例如,如果新创建文件,则将静态元数据存储在闪存的静态元数据节点中(方框1510、1520)。如果静态元数据不是新的,例如,如果文件已经存在且其静态元数据不变,则已存储在闪存中的文件的静态元数据保持不变。如果存在新数据,则将数据存储在一个或多个数据节点中(方框1530、1540)。以递归环(recursive loop)的方式,将文件数据的部分逐步写入闪存中(方框1540),同时将动态元数据存储在动态元数据节点(方框1550)中并将索引表存储在索引表节点中(方框1560)。对数据节点、动态元数据节点和索引表节点进行递归写入,直到文件不再有数据需要存储(方框1570)。如果不存在新的数据,例如,如果文件新创建且不包括数据,可绕过数据存储。应当理解,以上面参照图14和15描述的方式存储的文件可使用基本上与上面参照图13描述的相同操作来读取,除了访问与相应于所需文件的静态节点相对应的动态元数据节点的操作(方框1340)可涉及访问最后写入的动态元数据节点,该动态元数据节点包括通过一系列间断写入周期(例如,参照图14描述的写入周期)写入的数据节点的闪存位置信息。
应当理解,在一些实施例中,间断写入周期可以是非周期性的和/或在每个周期可写入不同量的数据。在其他实施例中,可基于文件类型和/或其他因素选择性地执行周期和非周期写入操作,且可基于文件类型和/或其他因素选择性应用根据图6-9和10-13的间断操作和写入操作。例如,相对短的文件和/或数据完整性对其重要的文件可使用上面参照图10-13描述的操作进行写入,而较长的文件和/或不太重要的文件可使用参照图14和15讨论的操作进行存储。
上文是对本发明的说明且不应解释为其限制。尽管已经描述了本发明的一些示例性实施例,但是本领域的技术人员可以容易的理解,可能做出对示例性实施例的许多修改而不实际脱离本发明的新颖教导和优点。因此,所有这些修改应包含在权利要求限定的本发明的范围内。因此,可以理解的是,上文是对本发明的说明而不应解释为局限于所公开的具体实施例,且对公开实施例的修改以及其他实施例应包含在所附权利要求的范围内。
Claims (25)
1.一种在存储器中管理文件的方法,该方法包括:
在存储器中存储包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,所述第二类型文件元数据包括文件状态以及第一和第二节点的存储位置信息。
2.根据权利要求1的方法,进一步包括:执行文件写入操作,其中将文件数据和第二类型文件元数据作为新节点写入存储器中,而不将第一类型文件元数据写入存储器的新节点中。
3.根据权利要求2的方法,进一步包括:周期写入包括文件数据的各个部分在内的新节点以及包括第二类型文件元数据的新节点,所述第二类型文件元数据包括针对包括文件数据的所述部分在内的节点的存储位置信息。
4.根据权利要求1的方法,其中,第三节点包括:包括第二节点的存储位置信息在内的节点;以及包括索引表的节点,所述索引表将第二节点的存储位置信息的存储位置交叉引用到第一节点的存储位置。
5.根据权利要求4的方法,进一步包括:
基于索引表,检索包括第一类型文件元数据的节点的存储位置;
响应于所检索的存储位置,读取包括第一类型文件元数据的节点;
从读取的包括第一类型文件元数据的节点中识别第一节点;
检索包括与所识别的第一节点相对应的第二节点的存储位置信息在内的节点的存储位置;和
响应于所检索的包括与所识别的第一节点相对应的第二节点的存储位置信息在内的节点的存储位置,访问第二节点。
6.根据权利要求1的方法,进一步包括:
读取第三节点,以检索第一节点和/或第二节点的存储位置信息;和
基于所检索的存储位置信息,访问第一节点和/或第二节点。
7.根据权利要求1的方法,其中,第一类型文件元数据包括与第二类型文件元数据相比改变更少的信息。
8.根据权利要求1的方法,其中,第一类型文件元数据包括文件识别信息和/或文件创建信息,第二类型文件元数据包括文件状态信息。
9.根据权利要求1的方法,其中,存储器设置成多个块,每个块包括多个页,且向第二节点分配页。
10.一种在存储器中管理文件的方法,该方法包括:
管理包括文件识别信息的第一类文件元数据以及包括文件状态信息和文件存储位置信息的第二类文件元数据,分别作为存储器中的第一和第二类型节点。
11.根据权利要求10的方法,其中,在对文件的一系列写入操作中,第二类型节点与第一类型节点相比更频繁地被写入存储器。
12.根据权利要求10的方法,包括:在对文件的文件写入操作中,将新的第二类型节点写入新的存储位置,而不写入新的第一类型节点。
13.一种装置,包括:
存储控制电路,设置成与存储器通信;和
文件系统管理器电路,与存储控制电路可操作地连接,并配置成使得存储控制电路在存储器中存储包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,所述第二类型文件元数据包括文件状态以及第一和第二节点的存储位置元数据。
14.根据权利要求13的装置,其中,文件系统管理器电路设置成进行文件写入操作,其中将文件数据和第二类型文件元数据作为新节点写入存储器中,而不将第一类型文件元数据写入存储器的新节点中。
15.根据权利要求14的装置,其中,文件系统管理器电路设置成周期写入包括文件数据的各个部分在内的新节点以及包括第二类型文件元数据的新节点,所述第二类型文件元数据包括针对包括文件数据的所述部分在内的节点的存储位置信息。
16.根据权利要求13的装置,其中,第三节点包括:包括第二节点的存储位置信息在内的节点以及包括索引表的节点,所述索引表将第二节点的存储位置信息的存储位置交叉引用第一节点的存储位置。
17.根据权利要求13的装置,其中,第一类型文件元数据包括与第二类型文件元数据相比改变更少的信息。
18.根据权利要求13的装置,其中,第一类型文件元数据包括文件识别信息和/或文件创建信息,第二类型文件元数据包括文件状态信息。
19.一种计算机程序产品,包括计算机可读存储介质中包含的计算机程序代码,该计算机程序代码包括:
程序代码,设置成在存储器中存储包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,所述第二类型文件元数据包括文件状态以及第一和第二节点的存储位置信息。
20.根据权利要求19的计算机程序产品,其中,计算机程序代码进一步包括:程序代码,设置成进行文件写入操作,其中将文件数据和第二类型文件元数据作为新节点写入存储器中,而不将第一类型文件元数据写入存储器的新节点中。
21.根据权利要求20的计算机程序产品,其中,计算机程序代码进一步包括:程序代码,设置成周期写入包括文件数据的各个部分在内的新节点以及包括第二类型文件元数据的新节点,所述第二类型文件元数据包括针对包括文件数据的所述部分在内的节点的存储位置信息。
22.根据权利要求19的计算机程序产品,其中,第三节点包括:包括第二节点的存储位置信息在内的节点;以及包括索引表的节点,所述索引表将第二节点的存储位置信息的存储位置交叉引用到第一节点的存储位置。
23.一种存储装置,包括:
存储介质,其中文件存储为包括第一类型文件元数据的第一节点、包括文件数据的第二节点和包括第二类型文件元数据的第三节点,所述第二类型文件元数据包括文件状态信息以及第一和第二节点的存储位置信息。
24.根据权利要求23的装置,其中,第三节点包括:包括第二节点的存储位置信息在内的节点;以及包括索引表的节点,所述索引表将第二节点的存储位置信息的存储位置交叉引用到第一节点的存储位置。
25.根据权利要求23的装置,其中,第一类型文件元数据包括与第二类型文件元数据相比改变更少的信息。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2007-0103183 | 2007-10-12 | ||
KR1020070103183A KR101433859B1 (ko) | 2007-10-12 | 2007-10-12 | 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법 |
KR1020070103183 | 2007-10-12 | ||
US12/015,878 | 2008-01-17 | ||
US12/015,878 US7970806B2 (en) | 2007-10-12 | 2008-01-17 | Methods and apparatus for file management using partitioned file metadata |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101408880A true CN101408880A (zh) | 2009-04-15 |
CN101408880B CN101408880B (zh) | 2014-06-11 |
Family
ID=40535260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810107950.9A Expired - Fee Related CN101408880B (zh) | 2007-10-12 | 2008-05-21 | 使用分割文件元数据的文件管理方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7970806B2 (zh) |
KR (1) | KR101433859B1 (zh) |
CN (1) | CN101408880B (zh) |
TW (1) | TW200917031A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011095093A1 (zh) * | 2010-02-08 | 2011-08-11 | 深圳市同洲电子股份有限公司 | 文件系统挂载方法、数据管理方法及相关装置 |
CN103067461A (zh) * | 2012-12-18 | 2013-04-24 | 曙光信息产业(北京)有限公司 | 一种文件的元数据管理系统以及元数据管理方法 |
CN103310000A (zh) * | 2013-06-25 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 元数据管理方法 |
CN109407989A (zh) * | 2018-10-18 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种元数据刷写的方法和装置 |
Families Citing this family (252)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9692725B2 (en) | 2005-05-26 | 2017-06-27 | Citrix Systems, Inc. | Systems and methods for using an HTTP-aware client agent |
US9407608B2 (en) | 2005-05-26 | 2016-08-02 | Citrix Systems, Inc. | Systems and methods for enhanced client side policy |
US9621666B2 (en) | 2005-05-26 | 2017-04-11 | Citrix Systems, Inc. | Systems and methods for enhanced delta compression |
US8943304B2 (en) | 2006-08-03 | 2015-01-27 | Citrix Systems, Inc. | Systems and methods for using an HTTP-aware client agent |
US7756826B2 (en) * | 2006-06-30 | 2010-07-13 | Citrix Systems, Inc. | Method and systems for efficient delivery of previously stored content |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US8370603B2 (en) * | 2008-12-23 | 2013-02-05 | Apple Inc. | Architecture for address mapping of managed non-volatile memory |
US8321647B2 (en) | 2009-05-06 | 2012-11-27 | Apple Inc. | Multipage preparation commands for non-volatile memory systems |
US8438453B2 (en) | 2009-05-06 | 2013-05-07 | Apple Inc. | Low latency read operation for managed non-volatile memory |
US8495332B2 (en) * | 2009-07-24 | 2013-07-23 | Apple Inc. | Controller for optimizing throughput of read operations |
US8838877B2 (en) * | 2009-09-16 | 2014-09-16 | Apple Inc. | File system derived metadata for management of non-volatile memory |
US8489907B2 (en) * | 2009-09-16 | 2013-07-16 | Apple Inc. | Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller |
US9063886B2 (en) | 2009-09-18 | 2015-06-23 | Apple Inc. | Metadata redundancy schemes for non-volatile memories |
US8726126B2 (en) * | 2010-03-23 | 2014-05-13 | Apple Inc. | Non-regular parity distribution detection via metadata tag |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8892981B2 (en) | 2010-09-30 | 2014-11-18 | Apple Inc. | Data recovery using outer codewords stored in volatile memory |
US8438139B2 (en) | 2010-12-01 | 2013-05-07 | International Business Machines Corporation | Dynamic rewrite of files within deduplication system |
US9824091B2 (en) | 2010-12-03 | 2017-11-21 | Microsoft Technology Licensing, Llc | File system backup using change journal |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8620894B2 (en) | 2010-12-21 | 2013-12-31 | Microsoft Corporation | Searching files |
US8954647B2 (en) | 2011-01-28 | 2015-02-10 | Apple Inc. | Systems and methods for redundantly storing metadata for non-volatile memory |
US9229818B2 (en) | 2011-07-20 | 2016-01-05 | Microsoft Technology Licensing, Llc | Adaptive retention for backup data |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
KR20140069659A (ko) * | 2012-11-29 | 2014-06-10 | 성균관대학교산학협력단 | 플래시 메모리용 파일 시스템 |
US9646039B2 (en) | 2013-01-10 | 2017-05-09 | Pure Storage, Inc. | Snapshots in a storage system |
US9069695B2 (en) | 2013-03-14 | 2015-06-30 | Apple Inc. | Correction of block errors for a system having non-volatile memory |
US11630585B1 (en) | 2016-08-25 | 2023-04-18 | Pure Storage, Inc. | Processing evacuation events in a storage array that includes a plurality of storage devices |
CN105335095B (zh) * | 2014-08-11 | 2019-04-05 | 北京兆易创新科技股份有限公司 | 闪存文件系统的处理方法及装置 |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9716755B2 (en) | 2015-05-26 | 2017-07-25 | Pure Storage, Inc. | Providing cloud storage array services by a local storage array in a data center |
US11102298B1 (en) | 2015-05-26 | 2021-08-24 | Pure Storage, Inc. | Locally providing cloud storage services for fleet management |
US9594678B1 (en) | 2015-05-27 | 2017-03-14 | Pure Storage, Inc. | Preventing duplicate entries of identical data in a storage device |
US9444822B1 (en) | 2015-05-29 | 2016-09-13 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US10021170B2 (en) | 2015-05-29 | 2018-07-10 | Pure Storage, Inc. | Managing a storage array using client-side services |
US9300660B1 (en) | 2015-05-29 | 2016-03-29 | Pure Storage, Inc. | Providing authorization and authentication in a cloud for a user of a storage array |
US11503031B1 (en) | 2015-05-29 | 2022-11-15 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9588691B2 (en) * | 2015-06-10 | 2017-03-07 | Pure Storage, Inc. | Dynamically managing control information in a storage device |
US9594512B1 (en) | 2015-06-19 | 2017-03-14 | Pure Storage, Inc. | Attributing consumed storage capacity among entities storing data in a storage array |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US10296236B2 (en) | 2015-07-01 | 2019-05-21 | Pure Storage, Inc. | Offloading device management responsibilities from a storage device in an array of storage devices |
US11461010B2 (en) | 2015-07-13 | 2022-10-04 | Samsung Electronics Co., Ltd. | Data property-based data placement in a nonvolatile memory device |
US10282324B2 (en) | 2015-07-13 | 2019-05-07 | Samsung Electronics Co., Ltd. | Smart I/O stream detection based on multiple attributes |
US10509770B2 (en) | 2015-07-13 | 2019-12-17 | Samsung Electronics Co., Ltd. | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device |
US9892071B2 (en) | 2015-08-03 | 2018-02-13 | Pure Storage, Inc. | Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array |
US9851762B1 (en) | 2015-08-06 | 2017-12-26 | Pure Storage, Inc. | Compliant printed circuit board (‘PCB’) within an enclosure |
US11294588B1 (en) | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
US10198194B2 (en) | 2015-08-24 | 2019-02-05 | Pure Storage, Inc. | Placing data within a storage device of a flash array |
US9384082B1 (en) | 2015-10-23 | 2016-07-05 | Pure Storage, Inc. | Proactively providing corrective measures for storage arrays |
US10514978B1 (en) | 2015-10-23 | 2019-12-24 | Pure Storage, Inc. | Automatic deployment of corrective measures for storage arrays |
US11360844B1 (en) | 2015-10-23 | 2022-06-14 | Pure Storage, Inc. | Recovery of a container storage provider |
US10284232B2 (en) | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US10374868B2 (en) | 2015-10-29 | 2019-08-06 | Pure Storage, Inc. | Distributed command processing in a flash storage system |
US9740414B2 (en) | 2015-10-29 | 2017-08-22 | Pure Storage, Inc. | Optimizing copy operations |
US10353777B2 (en) | 2015-10-30 | 2019-07-16 | Pure Storage, Inc. | Ensuring crash-safe forward progress of a system configuration update |
US9760479B2 (en) | 2015-12-02 | 2017-09-12 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US11762764B1 (en) | 2015-12-02 | 2023-09-19 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US11616834B2 (en) | 2015-12-08 | 2023-03-28 | Pure Storage, Inc. | Efficient replication of a dataset to the cloud |
US10326836B2 (en) | 2015-12-08 | 2019-06-18 | Pure Storage, Inc. | Partially replicating a snapshot between storage systems |
US10162835B2 (en) | 2015-12-15 | 2018-12-25 | Pure Storage, Inc. | Proactive management of a plurality of storage arrays in a multi-array system |
US11347697B1 (en) | 2015-12-15 | 2022-05-31 | Pure Storage, Inc. | Proactively optimizing a storage system |
US10346043B2 (en) | 2015-12-28 | 2019-07-09 | Pure Storage, Inc. | Adaptive computing for data compression |
US9886314B2 (en) | 2016-01-28 | 2018-02-06 | Pure Storage, Inc. | Placing workloads in a multi-array system |
US10572460B2 (en) | 2016-02-11 | 2020-02-25 | Pure Storage, Inc. | Compressing data in dependence upon characteristics of a storage system |
US9760297B2 (en) | 2016-02-12 | 2017-09-12 | Pure Storage, Inc. | Managing input/output (‘I/O’) queues in a data storage system |
US9959043B2 (en) | 2016-03-16 | 2018-05-01 | Pure Storage, Inc. | Performing a non-disruptive upgrade of data in a storage system |
US11995315B2 (en) | 2016-03-16 | 2024-05-28 | Pure Storage, Inc. | Converting data formats in a storage system |
US11112990B1 (en) | 2016-04-27 | 2021-09-07 | Pure Storage, Inc. | Managing storage device evacuation |
US9841921B2 (en) | 2016-04-27 | 2017-12-12 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices |
US11809727B1 (en) | 2016-04-27 | 2023-11-07 | Pure Storage, Inc. | Predicting failures in a storage system that includes a plurality of storage devices |
US9811264B1 (en) | 2016-04-28 | 2017-11-07 | Pure Storage, Inc. | Deploying client-specific applications in a storage system utilizing redundant system resources |
US10303390B1 (en) | 2016-05-02 | 2019-05-28 | Pure Storage, Inc. | Resolving fingerprint collisions in flash storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US9507532B1 (en) | 2016-05-20 | 2016-11-29 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
US10452310B1 (en) | 2016-07-13 | 2019-10-22 | Pure Storage, Inc. | Validating cabling for storage component admission to a storage array |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US10459652B2 (en) | 2016-07-27 | 2019-10-29 | Pure Storage, Inc. | Evacuating blades in a storage array that includes a plurality of blades |
US10474363B1 (en) | 2016-07-29 | 2019-11-12 | Pure Storage, Inc. | Space reporting in a storage system |
US11886922B2 (en) | 2016-09-07 | 2024-01-30 | Pure Storage, Inc. | Scheduling input/output operations for a storage system |
US10671439B1 (en) | 2016-09-07 | 2020-06-02 | Pure Storage, Inc. | Workload planning with quality-of-service (‘QOS’) integration |
US10908966B1 (en) | 2016-09-07 | 2021-02-02 | Pure Storage, Inc. | Adapting target service times in a storage system |
US10146585B2 (en) | 2016-09-07 | 2018-12-04 | Pure Storage, Inc. | Ensuring the fair utilization of system resources using workload based, time-independent scheduling |
US10331588B2 (en) | 2016-09-07 | 2019-06-25 | Pure Storage, Inc. | Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling |
US10235229B1 (en) | 2016-09-07 | 2019-03-19 | Pure Storage, Inc. | Rehabilitating storage devices in a storage array that includes a plurality of storage devices |
US11960348B2 (en) | 2016-09-07 | 2024-04-16 | Pure Storage, Inc. | Cloud-based monitoring of hardware components in a fleet of storage systems |
US11481261B1 (en) | 2016-09-07 | 2022-10-25 | Pure Storage, Inc. | Preventing extended latency in a storage system |
US11531577B1 (en) | 2016-09-07 | 2022-12-20 | Pure Storage, Inc. | Temporarily limiting access to a storage device |
US11379132B1 (en) | 2016-10-20 | 2022-07-05 | Pure Storage, Inc. | Correlating medical sensor data |
US10007459B2 (en) | 2016-10-20 | 2018-06-26 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
US11620075B2 (en) | 2016-11-22 | 2023-04-04 | Pure Storage, Inc. | Providing application aware storage |
US10162566B2 (en) | 2016-11-22 | 2018-12-25 | Pure Storage, Inc. | Accumulating application-level statistics in a storage system |
US10198205B1 (en) | 2016-12-19 | 2019-02-05 | Pure Storage, Inc. | Dynamically adjusting a number of storage devices utilized to simultaneously service write operations |
US11461273B1 (en) | 2016-12-20 | 2022-10-04 | Pure Storage, Inc. | Modifying storage distribution in a storage system that includes one or more storage devices |
US10489307B2 (en) | 2017-01-05 | 2019-11-26 | Pure Storage, Inc. | Periodically re-encrypting user data stored on a storage device |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11340800B1 (en) | 2017-01-19 | 2022-05-24 | Pure Storage, Inc. | Content masking in a storage system |
US10503700B1 (en) | 2017-01-19 | 2019-12-10 | Pure Storage, Inc. | On-demand content filtering of snapshots within a storage system |
US11163624B2 (en) | 2017-01-27 | 2021-11-02 | Pure Storage, Inc. | Dynamically adjusting an amount of log data generated for a storage system |
US11003381B2 (en) | 2017-03-07 | 2021-05-11 | Samsung Electronics Co., Ltd. | Non-volatile memory storage device capable of self-reporting performance capabilities |
US12056383B2 (en) | 2017-03-10 | 2024-08-06 | Pure Storage, Inc. | Edge management service |
US11675520B2 (en) | 2017-03-10 | 2023-06-13 | Pure Storage, Inc. | Application replication among storage systems synchronously replicating a dataset |
US11941279B2 (en) | 2017-03-10 | 2024-03-26 | Pure Storage, Inc. | Data path virtualization |
US10454810B1 (en) | 2017-03-10 | 2019-10-22 | Pure Storage, Inc. | Managing host definitions across a plurality of storage systems |
US10503427B2 (en) | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US11089105B1 (en) | 2017-12-14 | 2021-08-10 | Pure Storage, Inc. | Synchronously replicating datasets in cloud-based storage systems |
US10521344B1 (en) | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US11803453B1 (en) | 2017-03-10 | 2023-10-31 | Pure Storage, Inc. | Using host connectivity states to avoid queuing I/O requests |
US11169727B1 (en) | 2017-03-10 | 2021-11-09 | Pure Storage, Inc. | Synchronous replication between storage systems with virtualized storage |
US11442825B2 (en) | 2017-03-10 | 2022-09-13 | Pure Storage, Inc. | Establishing a synchronous replication relationship between two or more storage systems |
US9910618B1 (en) | 2017-04-10 | 2018-03-06 | Pure Storage, Inc. | Migrating applications executing on a storage system |
US10459664B1 (en) | 2017-04-10 | 2019-10-29 | Pure Storage, Inc. | Virtualized copy-by-reference |
US11868629B1 (en) | 2017-05-05 | 2024-01-09 | Pure Storage, Inc. | Storage system sizing service |
US11609718B1 (en) | 2017-06-12 | 2023-03-21 | Pure Storage, Inc. | Identifying valid data after a storage system recovery |
US11340939B1 (en) | 2017-06-12 | 2022-05-24 | Pure Storage, Inc. | Application-aware analytics for storage systems |
US11989429B1 (en) | 2017-06-12 | 2024-05-21 | Pure Storage, Inc. | Recommending changes to a storage system |
US11016824B1 (en) | 2017-06-12 | 2021-05-25 | Pure Storage, Inc. | Event identification with out-of-order reporting in a cloud-based environment |
US12086651B2 (en) | 2017-06-12 | 2024-09-10 | Pure Storage, Inc. | Migrating workloads using active disaster recovery |
US10976962B2 (en) | 2018-03-15 | 2021-04-13 | Pure Storage, Inc. | Servicing I/O operations in a cloud-based storage system |
US12086650B2 (en) | 2017-06-12 | 2024-09-10 | Pure Storage, Inc. | Workload placement based on carbon emissions |
US11442669B1 (en) | 2018-03-15 | 2022-09-13 | Pure Storage, Inc. | Orchestrating a virtual storage system |
US10417092B2 (en) | 2017-09-07 | 2019-09-17 | Pure Storage, Inc. | Incremental RAID stripe update parity calculation |
US11422731B1 (en) | 2017-06-12 | 2022-08-23 | Pure Storage, Inc. | Metadata-based replication of a dataset |
US11593036B2 (en) | 2017-06-12 | 2023-02-28 | Pure Storage, Inc. | Staging data within a unified storage element |
US12061822B1 (en) | 2017-06-12 | 2024-08-13 | Pure Storage, Inc. | Utilizing volume-level policies in a storage system |
US10613791B2 (en) | 2017-06-12 | 2020-04-07 | Pure Storage, Inc. | Portable snapshot replication between storage systems |
US10853148B1 (en) | 2017-06-12 | 2020-12-01 | Pure Storage, Inc. | Migrating workloads between a plurality of execution environments |
US11210133B1 (en) | 2017-06-12 | 2021-12-28 | Pure Storage, Inc. | Workload mobility between disparate execution environments |
EP3612922A1 (en) | 2017-06-12 | 2020-02-26 | Pure Storage, Inc. | Accessible fast durable storage integrated into a bulk storage device |
US10884636B1 (en) | 2017-06-12 | 2021-01-05 | Pure Storage, Inc. | Presenting workload performance in a storage system |
US11592991B2 (en) | 2017-09-07 | 2023-02-28 | Pure Storage, Inc. | Converting raid data between persistent storage types |
US10552090B2 (en) | 2017-09-07 | 2020-02-04 | Pure Storage, Inc. | Solid state drives with multiple types of addressable memory |
US11561714B1 (en) | 2017-07-05 | 2023-01-24 | Pure Storage, Inc. | Storage efficiency driven migration |
US11477280B1 (en) | 2017-07-26 | 2022-10-18 | Pure Storage, Inc. | Integrating cloud storage services |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US12067466B2 (en) | 2017-10-19 | 2024-08-20 | Pure Storage, Inc. | Artificial intelligence and machine learning hyperscale infrastructure |
US11455168B1 (en) | 2017-10-19 | 2022-09-27 | Pure Storage, Inc. | Batch building for deep learning training workloads |
US10452444B1 (en) | 2017-10-19 | 2019-10-22 | Pure Storage, Inc. | Storage system with compute resources and shared storage resources |
US11861423B1 (en) | 2017-10-19 | 2024-01-02 | Pure Storage, Inc. | Accelerating artificial intelligence (‘AI’) workflows |
US10671435B1 (en) | 2017-10-19 | 2020-06-02 | Pure Storage, Inc. | Data transformation caching in an artificial intelligence infrastructure |
US11494692B1 (en) | 2018-03-26 | 2022-11-08 | Pure Storage, Inc. | Hyperscale artificial intelligence and machine learning infrastructure |
US10360214B2 (en) | 2017-10-19 | 2019-07-23 | Pure Storage, Inc. | Ensuring reproducibility in an artificial intelligence infrastructure |
US10484174B1 (en) | 2017-11-01 | 2019-11-19 | Pure Storage, Inc. | Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices |
US10671494B1 (en) | 2017-11-01 | 2020-06-02 | Pure Storage, Inc. | Consistent selection of replicated datasets during storage system recovery |
US10509581B1 (en) | 2017-11-01 | 2019-12-17 | Pure Storage, Inc. | Maintaining write consistency in a multi-threaded storage system |
US10467107B1 (en) | 2017-11-01 | 2019-11-05 | Pure Storage, Inc. | Maintaining metadata resiliency among storage device failures |
US10817392B1 (en) | 2017-11-01 | 2020-10-27 | Pure Storage, Inc. | Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US10936238B2 (en) | 2017-11-28 | 2021-03-02 | Pure Storage, Inc. | Hybrid data tiering |
US10990282B1 (en) | 2017-11-28 | 2021-04-27 | Pure Storage, Inc. | Hybrid data tiering with cloud storage |
US10795598B1 (en) | 2017-12-07 | 2020-10-06 | Pure Storage, Inc. | Volume migration for storage systems synchronously replicating a dataset |
US11036677B1 (en) | 2017-12-14 | 2021-06-15 | Pure Storage, Inc. | Replicated data integrity |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10992533B1 (en) | 2018-01-30 | 2021-04-27 | Pure Storage, Inc. | Policy based path management |
US10942650B1 (en) | 2018-03-05 | 2021-03-09 | Pure Storage, Inc. | Reporting capacity utilization in a storage system |
US10521151B1 (en) | 2018-03-05 | 2019-12-31 | Pure Storage, Inc. | Determining effective space utilization in a storage system |
US11972134B2 (en) | 2018-03-05 | 2024-04-30 | Pure Storage, Inc. | Resource utilization using normalized input/output (‘I/O’) operations |
US11150834B1 (en) | 2018-03-05 | 2021-10-19 | Pure Storage, Inc. | Determining storage consumption in a storage system |
US11861170B2 (en) | 2018-03-05 | 2024-01-02 | Pure Storage, Inc. | Sizing resources for a replication target |
US10296258B1 (en) | 2018-03-09 | 2019-05-21 | Pure Storage, Inc. | Offloading data storage to a decentralized storage network |
US10917471B1 (en) | 2018-03-15 | 2021-02-09 | Pure Storage, Inc. | Active membership in a cloud-based storage system |
US11048590B1 (en) | 2018-03-15 | 2021-06-29 | Pure Storage, Inc. | Data consistency during recovery in a cloud-based storage system |
US12066900B2 (en) | 2018-03-15 | 2024-08-20 | Pure Storage, Inc. | Managing disaster recovery to cloud computing environment |
US11288138B1 (en) | 2018-03-15 | 2022-03-29 | Pure Storage, Inc. | Recovery from a system fault in a cloud-based storage system |
US11210009B1 (en) | 2018-03-15 | 2021-12-28 | Pure Storage, Inc. | Staging data in a cloud-based storage system |
US10924548B1 (en) | 2018-03-15 | 2021-02-16 | Pure Storage, Inc. | Symmetric storage using a cloud-based storage system |
US11095706B1 (en) | 2018-03-21 | 2021-08-17 | Pure Storage, Inc. | Secure cloud-based storage system management |
US11171950B1 (en) | 2018-03-21 | 2021-11-09 | Pure Storage, Inc. | Secure cloud-based storage system management |
US10838833B1 (en) | 2018-03-26 | 2020-11-17 | Pure Storage, Inc. | Providing for high availability in a data analytics pipeline without replicas |
US11436344B1 (en) | 2018-04-24 | 2022-09-06 | Pure Storage, Inc. | Secure encryption in deduplication cluster |
US11392553B1 (en) | 2018-04-24 | 2022-07-19 | Pure Storage, Inc. | Remote data management |
US12086431B1 (en) | 2018-05-21 | 2024-09-10 | Pure Storage, Inc. | Selective communication protocol layering for synchronous replication |
US10992598B2 (en) | 2018-05-21 | 2021-04-27 | Pure Storage, Inc. | Synchronously replicating when a mediation service becomes unavailable |
US11675503B1 (en) | 2018-05-21 | 2023-06-13 | Pure Storage, Inc. | Role-based data access |
US11954220B2 (en) | 2018-05-21 | 2024-04-09 | Pure Storage, Inc. | Data protection for container storage |
US11455409B2 (en) | 2018-05-21 | 2022-09-27 | Pure Storage, Inc. | Storage layer data obfuscation |
US10871922B2 (en) | 2018-05-22 | 2020-12-22 | Pure Storage, Inc. | Integrated storage management between storage systems and container orchestrators |
GB201810533D0 (en) * | 2018-06-27 | 2018-08-15 | Nordic Semiconductor Asa | Hardware protection of files in an intergrated-circuit device |
US11416298B1 (en) | 2018-07-20 | 2022-08-16 | Pure Storage, Inc. | Providing application-specific storage by a storage system |
US11403000B1 (en) | 2018-07-20 | 2022-08-02 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11632360B1 (en) | 2018-07-24 | 2023-04-18 | Pure Storage, Inc. | Remote access to a storage device |
US11146564B1 (en) | 2018-07-24 | 2021-10-12 | Pure Storage, Inc. | Login authentication in a cloud storage platform |
US11954238B1 (en) | 2018-07-24 | 2024-04-09 | Pure Storage, Inc. | Role-based access control for a storage system |
US11860820B1 (en) | 2018-09-11 | 2024-01-02 | Pure Storage, Inc. | Processing data through a storage system in a data pipeline |
US10671302B1 (en) | 2018-10-26 | 2020-06-02 | Pure Storage, Inc. | Applying a rate limit across a plurality of storage systems |
US12026381B2 (en) | 2018-10-26 | 2024-07-02 | Pure Storage, Inc. | Preserving identities and policies across replication |
US11023179B2 (en) | 2018-11-18 | 2021-06-01 | Pure Storage, Inc. | Cloud-based storage system storage management |
US11526405B1 (en) | 2018-11-18 | 2022-12-13 | Pure Storage, Inc. | Cloud-based disaster recovery |
US12026060B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Reverting between codified states in a cloud-based storage system |
US11340837B1 (en) | 2018-11-18 | 2022-05-24 | Pure Storage, Inc. | Storage system management via a remote console |
US10963189B1 (en) | 2018-11-18 | 2021-03-30 | Pure Storage, Inc. | Coalescing write operations in a cloud-based storage system |
US12026061B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Restoring a cloud-based storage system to a selected state |
US11650749B1 (en) | 2018-12-17 | 2023-05-16 | Pure Storage, Inc. | Controlling access to sensitive data in a shared dataset |
US11003369B1 (en) | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
US11042452B1 (en) | 2019-03-20 | 2021-06-22 | Pure Storage, Inc. | Storage system data recovery using data recovery as a service |
US11221778B1 (en) | 2019-04-02 | 2022-01-11 | Pure Storage, Inc. | Preparing data for deduplication |
US11068162B1 (en) | 2019-04-09 | 2021-07-20 | Pure Storage, Inc. | Storage management in a cloud data store |
US11327676B1 (en) | 2019-07-18 | 2022-05-10 | Pure Storage, Inc. | Predictive data streaming in a virtual storage system |
US11853266B2 (en) | 2019-05-15 | 2023-12-26 | Pure Storage, Inc. | Providing a file system in a cloud environment |
US11126364B2 (en) | 2019-07-18 | 2021-09-21 | Pure Storage, Inc. | Virtual storage system architecture |
US11392555B2 (en) | 2019-05-15 | 2022-07-19 | Pure Storage, Inc. | Cloud-based file services |
US12001355B1 (en) | 2019-05-24 | 2024-06-04 | Pure Storage, Inc. | Chunked memory efficient storage data transfers |
US11797197B1 (en) | 2019-07-18 | 2023-10-24 | Pure Storage, Inc. | Dynamic scaling of a virtual storage system |
US11487715B1 (en) | 2019-07-18 | 2022-11-01 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11093139B1 (en) | 2019-07-18 | 2021-08-17 | Pure Storage, Inc. | Durably storing data within a virtual storage system |
US11861221B1 (en) | 2019-07-18 | 2024-01-02 | Pure Storage, Inc. | Providing scalable and reliable container-based storage services |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11526408B2 (en) | 2019-07-18 | 2022-12-13 | Pure Storage, Inc. | Data recovery in a virtual storage system |
KR20210076497A (ko) * | 2019-12-16 | 2021-06-24 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US11086553B1 (en) | 2019-08-28 | 2021-08-10 | Pure Storage, Inc. | Tiering duplicated objects in a cloud-based object store |
US11693713B1 (en) | 2019-09-04 | 2023-07-04 | Pure Storage, Inc. | Self-tuning clusters for resilient microservices |
US12045252B2 (en) | 2019-09-13 | 2024-07-23 | Pure Storage, Inc. | Providing quality of service (QoS) for replicating datasets |
US11360689B1 (en) | 2019-09-13 | 2022-06-14 | Pure Storage, Inc. | Cloning a tracking copy of replica data |
US11797569B2 (en) | 2019-09-13 | 2023-10-24 | Pure Storage, Inc. | Configurable data replication |
US11573864B1 (en) | 2019-09-16 | 2023-02-07 | Pure Storage, Inc. | Automating database management in a storage system |
US11669386B1 (en) | 2019-10-08 | 2023-06-06 | Pure Storage, Inc. | Managing an application's resource stack |
US11943293B1 (en) | 2019-12-06 | 2024-03-26 | Pure Storage, Inc. | Restoring a storage system from a replication target |
US11709636B1 (en) | 2020-01-13 | 2023-07-25 | Pure Storage, Inc. | Non-sequential readahead for deep learning training |
US11720497B1 (en) | 2020-01-13 | 2023-08-08 | Pure Storage, Inc. | Inferred nonsequential prefetch based on data access patterns |
US11733901B1 (en) | 2020-01-13 | 2023-08-22 | Pure Storage, Inc. | Providing persistent storage to transient cloud computing services |
US12014065B2 (en) | 2020-02-11 | 2024-06-18 | Pure Storage, Inc. | Multi-cloud orchestration as-a-service |
US11637896B1 (en) | 2020-02-25 | 2023-04-25 | Pure Storage, Inc. | Migrating applications to a cloud-computing environment |
US11868622B2 (en) | 2020-02-25 | 2024-01-09 | Pure Storage, Inc. | Application recovery across storage systems |
US12038881B2 (en) | 2020-03-25 | 2024-07-16 | Pure Storage, Inc. | Replica transitions for file storage |
US11321006B1 (en) | 2020-03-25 | 2022-05-03 | Pure Storage, Inc. | Data loss prevention during transitions from a replication source |
US11301152B1 (en) | 2020-04-06 | 2022-04-12 | Pure Storage, Inc. | Intelligently moving data between storage systems |
US11630598B1 (en) | 2020-04-06 | 2023-04-18 | Pure Storage, Inc. | Scheduling data replication operations |
US11494267B2 (en) | 2020-04-14 | 2022-11-08 | Pure Storage, Inc. | Continuous value data redundancy |
US11921670B1 (en) | 2020-04-20 | 2024-03-05 | Pure Storage, Inc. | Multivariate data backup retention policies |
US11431488B1 (en) | 2020-06-08 | 2022-08-30 | Pure Storage, Inc. | Protecting local key generation using a remote key management service |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11349917B2 (en) | 2020-07-23 | 2022-05-31 | Pure Storage, Inc. | Replication handling among distinct networks |
US12079222B1 (en) | 2020-09-04 | 2024-09-03 | Pure Storage, Inc. | Enabling data portability between systems |
RU2754601C1 (ru) * | 2020-12-18 | 2021-09-03 | Акционерное Общество "Крафтвэй Корпорэйшн Плс" | Способ инкрементального сохранения |
US20220197944A1 (en) * | 2020-12-22 | 2022-06-23 | Netapp Inc. | File metadata service |
US11397545B1 (en) | 2021-01-20 | 2022-07-26 | Pure Storage, Inc. | Emulating persistent reservations in a cloud-based storage system |
US11853285B1 (en) | 2021-01-22 | 2023-12-26 | Pure Storage, Inc. | Blockchain logging of volume-level events in a storage system |
US12086649B2 (en) | 2021-05-12 | 2024-09-10 | Pure Storage, Inc. | Rebalancing in a fleet of storage systems using data science |
US11816129B2 (en) | 2021-06-22 | 2023-11-14 | Pure Storage, Inc. | Generating datasets using approximate baselines |
CN113434506B (zh) * | 2021-06-29 | 2023-05-16 | 平安科技(深圳)有限公司 | 数据管理及检索方法、装置、计算机设备及可读存储介质 |
US11714723B2 (en) | 2021-10-29 | 2023-08-01 | Pure Storage, Inc. | Coordinated snapshots for data stored across distinct storage environments |
US11914867B2 (en) | 2021-10-29 | 2024-02-27 | Pure Storage, Inc. | Coordinated snapshots among storage systems implementing a promotion/demotion model |
US11893263B2 (en) | 2021-10-29 | 2024-02-06 | Pure Storage, Inc. | Coordinated checkpoints among storage systems implementing checkpoint-based replication |
US11922052B2 (en) | 2021-12-15 | 2024-03-05 | Pure Storage, Inc. | Managing links between storage objects |
US11847071B2 (en) | 2021-12-30 | 2023-12-19 | Pure Storage, Inc. | Enabling communication between a single-port device and multiple storage system controllers |
US12001300B2 (en) | 2022-01-04 | 2024-06-04 | Pure Storage, Inc. | Assessing protection for storage resources |
US11860780B2 (en) | 2022-01-28 | 2024-01-02 | Pure Storage, Inc. | Storage cache management |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
US12019877B2 (en) * | 2022-07-18 | 2024-06-25 | Micron Technology, Inc. | Metadata allocation in memory systems |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168698A1 (en) * | 2005-11-03 | 2007-07-19 | Coulson Richard L | Recovering from a non-volatile memory failure |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3715690B2 (ja) | 1995-08-02 | 2005-11-09 | キヤノン株式会社 | マルチメディアデータファイリングシステム |
KR100542572B1 (ko) | 2003-02-10 | 2006-01-11 | 삼성전자주식회사 | 파일의 용량 및 메모리 잔량 디스플레이 장치 및 방법 |
KR100597411B1 (ko) * | 2004-08-04 | 2006-07-05 | 삼성전자주식회사 | 파일의 효율적인 데이터 관리를 위한 방법 및 장치 |
KR20060039373A (ko) | 2004-11-02 | 2006-05-08 | 삼성전자주식회사 | 데이터 보호시스템 및 그 방법 |
US7457910B2 (en) * | 2005-06-29 | 2008-11-25 | Sandisk Corproation | Method and system for managing partitions in a storage device |
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 |
KR100739722B1 (ko) | 2005-08-20 | 2007-07-13 | 삼성전자주식회사 | 플래시 메모리 관리 방법 및 플래시 메모리 시스템 |
KR100654462B1 (ko) * | 2005-08-24 | 2006-12-06 | 삼성전자주식회사 | 캐쉬 메모리를 메모리 블록으로 나누어 파일의 데이터를저장하는 캐쉬 방법 및 캐쉬 시스템 |
US20070143378A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with adaptive file handling in a directly mapped file storage system |
KR100714709B1 (ko) * | 2006-01-11 | 2007-05-04 | 삼성전자주식회사 | 숨김 영역 관리 장치 및 방법 |
KR20070096429A (ko) * | 2006-03-24 | 2007-10-02 | 부산대학교 산학협력단 | 빠른 마운팅을 지원하는 낸드 플래시 메모리에 적용되는파일시스템 |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
US10291724B2 (en) * | 2007-10-10 | 2019-05-14 | Core Wireless Licensing S.A.R.L. | Method, apparatus and computer program product for enabling access to a dynamic attribute associated with a service point |
US8140746B2 (en) * | 2007-12-14 | 2012-03-20 | Spansion Llc | Intelligent memory data management |
-
2007
- 2007-10-12 KR KR1020070103183A patent/KR101433859B1/ko not_active IP Right Cessation
-
2008
- 2008-01-17 US US12/015,878 patent/US7970806B2/en not_active Expired - Fee Related
- 2008-04-08 TW TW097112683A patent/TW200917031A/zh unknown
- 2008-05-21 CN CN200810107950.9A patent/CN101408880B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168698A1 (en) * | 2005-11-03 | 2007-07-19 | Coulson Richard L | Recovering from a non-volatile memory failure |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011095093A1 (zh) * | 2010-02-08 | 2011-08-11 | 深圳市同洲电子股份有限公司 | 文件系统挂载方法、数据管理方法及相关装置 |
CN103067461A (zh) * | 2012-12-18 | 2013-04-24 | 曙光信息产业(北京)有限公司 | 一种文件的元数据管理系统以及元数据管理方法 |
CN103067461B (zh) * | 2012-12-18 | 2016-03-30 | 曙光信息产业(北京)有限公司 | 一种文件的元数据管理系统以及元数据管理方法 |
CN103310000A (zh) * | 2013-06-25 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 元数据管理方法 |
CN103310000B (zh) * | 2013-06-25 | 2017-06-16 | 曙光信息产业(北京)有限公司 | 元数据管理方法 |
CN109407989A (zh) * | 2018-10-18 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种元数据刷写的方法和装置 |
CN109407989B (zh) * | 2018-10-18 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种元数据刷写的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20090100115A1 (en) | 2009-04-16 |
KR20090037705A (ko) | 2009-04-16 |
KR101433859B1 (ko) | 2014-08-27 |
CN101408880B (zh) | 2014-06-11 |
TW200917031A (en) | 2009-04-16 |
US7970806B2 (en) | 2011-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101408880B (zh) | 使用分割文件元数据的文件管理方法和装置 | |
US11520697B2 (en) | Method for managing a memory apparatus | |
JP4633802B2 (ja) | 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法 | |
CN1078364C (zh) | 存储器管理方法 | |
US10140026B2 (en) | Data storage device and data maintenance method thereof | |
US9606746B2 (en) | Shiftable memory supporting in-memory data structures | |
US8402202B2 (en) | Input/output control method and apparatus optimized for flash memory | |
US8650379B2 (en) | Data processing method for nonvolatile memory system | |
CN101147133A (zh) | 闪速存储器中的直接文件数据编程及删除 | |
KR100703807B1 (ko) | 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치 | |
US8332575B2 (en) | Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance | |
CN108345433B (zh) | 用于最大化的可去重存储器的方法、存储器系统和产品 | |
CN1936866A (zh) | 具有资料还原功能的闪存记忆体存储机制 | |
CN102306124A (zh) | Nand Flash芯片硬件驱动层的实现方法 | |
KR20080038368A (ko) | 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱 | |
CN1542624A (zh) | 一种在Flash文件系统中加快逻辑块映射速度的方法 | |
US20060224817A1 (en) | NOR flash file allocation | |
US20120072657A1 (en) | System and method to write data using phase-change ram | |
KR100479170B1 (ko) | 메모리 억세스 제어장치 및 방법 | |
CN101297274A (zh) | 用于实现命令同步以支持多线程非易失性存储器文件系统的方法 | |
US8122183B2 (en) | Data managing method for flash memory and flash memory device using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140611 Termination date: 20150521 |
|
EXPY | Termination of patent right or utility model |