CN102713826A - 经由位图的树表示分配文件存储的方法和设备 - Google Patents
经由位图的树表示分配文件存储的方法和设备 Download PDFInfo
- Publication number
- CN102713826A CN102713826A CN201080058365XA CN201080058365A CN102713826A CN 102713826 A CN102713826 A CN 102713826A CN 201080058365X A CN201080058365X A CN 201080058365XA CN 201080058365 A CN201080058365 A CN 201080058365A CN 102713826 A CN102713826 A CN 102713826A
- Authority
- CN
- China
- Prior art keywords
- bitmap
- tree
- block
- tree representation
- node
- 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
- 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
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及经由位图的树表示分配文件存储的方法和设备。描述了搜索位图的树表示来找到存储装置中待分配的可用区块的方法和设备。可以接收针对文件的分配请求,以开始搜索。在一个实施例中,位图可包括与存储装置中的区块对应的位的阵列。每个位可指示区块之一是否可用的。树表示可包括具有节点的至少一个红黑树,所述节点对应于位图中指示可用区块范围的一个或多个连续位。可以根据与分配请求相关联的文件来选择一个树表示,以识别与所述分配请求匹配的可用区块范围。当位图随着存储装置中的区块分配的改变而被更新时,树表示可以被同步。
Description
技术领域
本发明一般涉及文件系统。更具体地,本发明涉及基于位图为文件分配存储装置中的区块。
背景技术
文件系统的一个主要要求是以区块为单位保持对存储装置的可用空闲空间的跟踪。传统上,文件系统可使用位图来表示空闲空间。位图简单地是位的阵列,其中,第N个位指示第N个区块是已分配的还是空闲的。因此,位图的开销(overhead)可以相对低,诸如,对于每4K大小的区块1位的情况,约为0.003%。对于1GB的文件系统,对应的位图的大小约32KB,这可以容易地适应存储器,以进行快速扫描来识别空闲空间。
然而,当文件系统的大小继续比存储器大小的增长更快地增长时,加载在文件系统中用于扫描的位图在大小或时间方面可能变得重要。例如,用于1PB文件系统的32GB大小位图可能不适应大多数数据处理系统或处理机上的存储器。结果,扫描位图可能需要每次从盘中读取位图(例如,盘的页入和页出),这样会显著降低文件系统的速度。
此外,将大尺寸位图加载到存储器中会直接与其它内核任务竞争数据处理系统中可用的有限资源。例如,如果位图不能被完全缓存,则可能需要用多个缓冲区来管理分页操作。因为每个缓冲区都需要分配系统中的有限数量的缓冲区头中的一个,所以加载大尺寸位图会进一步劣化系统性能。
因此,使用位图在存储装置中分配空闲空间的传统文件系统与现代文件系统的增长不协调。
发明内容
本发明的实施例可包括搜索位图的树表示(例如,红黑树)来找到存储装置中待分配的可用区块的方法和设备。可以接收针对文件的分配请求,以开始搜索。在一个实施例中,位图可包括与存储装置中的区块对应的位的阵列。每个位可指示区块之一是否可用。树表示可包括具有节点的至少一个红黑树(red-black tree),所述节点对应于位图中指示可用区块范围(例如,包括偏移和长度)的一个或多个连续位。可以基于针对给定文件的分配请求的本质(例如,分配大小请求、是否存在该文件等),选择一个树表示。当位图随着存储装置中的区块分配的改变而被更新时,树表示可以被同步。
在替代实施例中,可在存储器(例如,RAM)中维护位置树和范围树,以表示存储装置(例如,硬盘)中的位图,从而指示存储装置中区块的分配状态。位置树可以是根据可用区块范围的位置而设置键值的红黑树。范围树可以是根据可用区块范围的大小而设置键值的红黑树。可以基于如下搜索来识别位置树和/或范围树的一个或多个节点:搜索指定的树来找到与基于针对文件的分配请求的标准匹配的未分配空间范围。如果位置树和/或范围树不包括满足搜索标准的匹配节点,则可以遍历位图。可以通过遍历位图并且插入表示盘空间的未分配区域的节点来构建位置树和范围树。
根据附图和下面的具体实施方式,本发明的其它特征将显而易见。
附图说明
在附图的图中,以举例的方式而非限制的方式示出本发明,在附图中,类似的附图标记指示类似的元件,并且其中:
图1是示出用于搜索位图的树表示以分配区块的系统的一个实施例的框图;
图2是示出用于表示位图的示例性红黑树的样品图;
图3是示出在不搜索位图的情况下识别供分配的可用区块的处理的一个实施例的流程图;
图4是示出搜索位图的树表示以进行区块分配的处理的一个实施例的流程图;
图5示出可与本文描述的实施例结合使用的诸如计算机系统之类的数据处理系统的一个示例。
具体实施方式
本文描述了用于基于位图的树表示来分配区块的方法和设备。在下面的描述中,阐述了众多具体细节,以提供对本发明实施例的透彻说明。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践本发明的实施例。在其它情形下,为了不模糊对本说明书的理解,没有详细示出熟知的组件、结构和技术。
在说明书中提及“一个实施例”或“实施例”意指结合该实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。说明书各处出现的短语“在一个实施例中”不一定都指同一个实施例。
以下附图中示出的那些处理是由包括硬件(例如,电路、专用逻辑等)、软件(诸如,在通用计算机系统或专用机器上运行的软件)或这两者的组合的处理逻辑执行的。虽然这些处理在以下是依据一些顺序的操作来描述的,但应该理解,所描述的操作中的一些可以按不同的次序执行。此外,一些操作可以并行而非顺序地执行。
在一个实施例中,存储器(例如,诸如DRAM之类的主存储器)中的至少两个红黑树被用于表示盘(或诸如闪存、硬驱等的其它大容量存储装置)中的位图,位图在文件系统中映射区块分配状态。在位图的树表示(或树结构)中可以明确地描述位图中各个位之间的高层结构。例如,在包括偏移参数10和大小参数200的树节点中可以容易地识别从位图中的第10个块开始的200个未使用区块的片段。因此,基于有效的红黑树搜索能够在有界的时间框架内找到用于分配200个区块(例如,用于巨大的电影文件)的完美匹配。
在一个实施例中,表示位图的分别的红黑树可以使能用不同的搜索标准来搜索最佳分配。例如,为了定位用于追加(append)到文件的连续区块的片段,可以搜索位图的基于位置的树表示来找到最靠近指定位置的未分配区块。可替代地,为了定位用于新文件的大块空间,可以搜索位图的基于大小的树表示来找到用于该大块空间的连续区块范围。
倘若搜索不能识别到完美匹配,在一个实施例中,可以对相同的树或不同的树执行使用不同搜索标准的第二搜索。例如,如果针对大块空间搜索基于位置的树并不能得到匹配,则可以基于所需大小(例如,有能力容纳所需大小的最小区块数量)来执行后续搜索以识别一个或多个区块片段。
在一个实施例中,可以根据基于相对于文件的现有的分配区块位置在配置阈值(例如,4个区块)以内的附近位置的搜索标准来执行另一个搜索。搜索标准可以包括用于识别位于文件附近并且对于所需大小来说足够大的可用区块范围的最少区块数量。多次搜索的结果可以被组合到一起来得到使盘碎片最少的最佳区块分配。
在一些实施例中,可以按照需要根据惰性机制(lazymechanism)来构建存储器中所维护的用于表示盘中所保持的位图的一个或多个红黑树,以节省存储和/或提供更快的分配响应。因此,当文件系统执行分配/释放存储空间的操作时,每个树可以随之递增地增长。当树被完全填充时,该树可完整地表示盘中的位图。
在一个实施例中,可以在系统启动期间构建红黑树,而不会导致额外成本,使得当系统启动时,位图表示可以被加载到存储器中。通常,位图的树表示可被保持在存储器中,而并非被存储在盘中。在盘中的位图改变之前或之后,可以在文件系统中执行对位图的树表示的更新。
图1是示出用于搜索位图的树表示以分配区块的系统的一个实施例的框图。在一个实施例中,系统100可以包括具有在操作系统中的文件系统107的计算机操作环境105。存储设备101可以是本地或远程耦接至系统101的一个或多个存储装置,诸如硬盘、闪存或其它大容量存储介质。在一个实施例中,系统100中的文件可以被存储在存储设备101中所分配的一个或多个区块中。存储设备101可以包括位图103,该位图使用位来表示每个所分配区块的可用性(例如,使用0/1作为状态值来指示区块是空闲的/已分配的)。
在一个实施例中,文件系统107可以包括接口模块119,该接口模块用于例如经由API(应用程序编程接口)从运行时程序121接收文件访问(读/写)请求。文件管理模块117可以针对接收到的文件访问请求,确定文件访问操作,诸如文件读取、文件写入、文件创建、文件删除等。例如,文件管理模块117可以向盘区块分配模块115发送存储分配请求,以创建新文件和/或存储/更新文件的数据。
在一个实施例中,文件系统107可以包括针对位图103的存储表示(如位置树111或范围树(extent tree)113)中的一个或多个存储表示的位图表示109。存储表示中的每个可对应于位图103的至少一部分。例如,位置树111和/或范围树113中的每个节点可以包括与在位图103中示作可用的一个或多个连续区块(或范围)对应的位置和/或大小信息。
在一个实施例中,位图表示管理模块123可以与存储设备101中的位图103同步地构建和/或维护存储器中的位图表示109。例如,当直接在位图103上执行搜索时,位图表示管理模块123可以访问加载在存储器中的位图103的一部分。可替代地,当位图103被更新时,位图表示管理模块123可以接收更新通知。
文件系统107可以包括盘区块分配模块115,用于在不访问存储设备101中的位图103的情况下,根据位图表示109来分配存储设备101中的区块以供存储文件内容。盘区块分配模块115可以判定存储设备103中哪些块是可用的,并且例如响应于针对文件的分配请求,选择大得足以容纳待存储数据量的一个或多个可用区块。在一个实施例中,盘区块分配模块115可以访问存储器中的位图表示109中的一个或多个树和/或存储设备101中的位图103,以识别待分配的可用区块。
例如,响应于分配请求,根据例如所述请求的一个或多个特性,诸如是否存在与请求相关联的文件,盘区块分配模块115可以动态地确定搜索位图表示109中的各个树以识别供分配的可用区块的次序(例如,对于将数据写入现有文件,从位置树111开始)。盘区块分配模块115可在必要时(例如,如果经由位图表示109并没有找到期望区块),直接搜索位图103。
在一个实施例中,位图表示管理模块123可以在盘区块分配模块115访问位图103的同时构建位图表示109。例如,盘区块分配模块115可以将位图103的一部分加载到存储器中,以更新位图103进行区块分配或者搜索待分配的可用区块。位图表示管理模块123可以构建在位图表示109中,其中,来自位图103的一部分的区块分配状态已加载在存储器中。在一个实施例中,盘区块分配模块115可以判定位图表示管理模块123何时访问位图103以更新和/或构建位图表示109。
图2是示出用于表示位图的示例性红黑树的样品图。示例200可以基于如在图1的系统100中那样的文件系统,该文件系统维护一个或多个树来表示用于分配文件存储空间的区块的位图。在一个实施例中,位图201可包括用于指示存储装置中区块的分配状态的位阵列,如图1的存储设备101中那样的位图103。每个位都可以指示对应的区块是否可用。例如,对于已被占用的区块,位207可以具有值0。
在一个实施例中,位置树203和范围树205可以存储在存储器中,如图1的位图表示109中那样,用于表示位图201的部分。树203、205可以基于作为底层数据结构的自平衡二叉搜索树,以允许对树进行有效的更新操作,如,搜索、删除、插入等。例如,树203、205可以是使用红黑树更新操作来确保树达到适度平衡的红黑树。
位置树203可以基于红黑树结构(或树表示)而由表示位图201中所指示的可用区块的节点构成,其中红黑树结构(或树表示)包括节点的键值(key)。在一个实施例中,可以根据连续可用区块或可用区块范围的起始位置,来设置位置树203的键值。例如,节点209可以包括位置键值3,位置键值3对应于5个可用连续区块(例如由位207和位213之间的5个位表示)的起始块(例如由位207表示)的位置。节点209可以包括指示连续区块大小的大小键值。
在一个实施例中,范围树205可以基于红黑树结构由表示位图201中指示的可用区块的节点构成,其中使用连续可用区块的大小作为键值。例如,节点211可以包括大小键值5,其对应于5个连续可用区块(例如,用位207和位213之间的5个位表示)。节点211可包括位置键值(例如,3),用于表示与位图201的位207(第三个位)对应的起始块。
图3是示出在不搜索位图的情况下识别供分配的可用区块的处理的一个实施例的流程图。示例性处理300可以由可包括硬件(电路、专用逻辑等)、软件(诸如在专用机上运行的软件)或这两者的组合的处理逻辑来执行。例如,可由图1的系统100的一些组件执行处理300。在方框301中,处理300的处理逻辑可以在存储器中构建一个或多个树表示,如图1的树111、113,以表示维护存储系统中的区块分配状态的位图,如图1的位图103。例如,处理300的处理逻辑可以在系统(如,图1的系统100)正在启动时开始构建位图的树表示。在运行系统的使用时间内,系统中构建的树表示可以保持在存储器中。
在一个实施例中,处理300的处理逻辑可以加载大位图(例如,当与可用存储器资源相比时)的一部分,以递增地构建位图的树表示。在一些实施例中,处理300的处理逻辑可以针对系统启动时加载(例如,从存储位图的盘中读取)的位图的一部分产生树表示。树表示可以对应于(或覆盖)位图的一部分。处理300的处理逻辑可以保持对树表示中覆盖了位图的哪个部分的跟踪。
处理300的处理逻辑可以从位图中识别可用区块的范围。每个范围可以对应于两个已分配区块(例如,基于值为1的位)之间的、在位图中(例如,基于值为0的位)指明的最大连续可用区块(例如,其由不可用的两个区块界定)。范围可以包括位图中指示的起始位置,如该范围的起始区块的位的索引。可替代地,范围可以包括表示例如该范围中包括的区块数量的大小。位图的树表示中的节点可以对应于可用区块范围。
在一个实施例中,当安装文件系统(例如,包括设立文件应该在目录树中的何处出现)时,处理300的处理逻辑可从存储装置(如,图1的存储设备101)直接取回文件系统的位图的树表示,而不用加载(或扫描)位图来重建树表示。如果对应的文件系统被安装,则位图的树表示可在存储器中被维护。在一个实施例中,在对位图进行完全扫描来更新位图的树表示之后,例如,当对应的文件系统被卸载(例如,从操作系统被去除)时,处理300的处理逻辑可将树表示存储或写出到存储装置中。如果由存储装置中存储的可用树表示所表示的位图还没有被修改,则处理300的处理逻辑可确定跳过对位图的完全扫描。例如,处理300的处理逻辑可以比较存储装置中存储的树表示和位图的时间戳,以判定树表示是否仍表示该位图。
在方框303中,在一个实施例中,处理300的处理逻辑可接收针对文件的分配请求,诸如来自图1的运行时程序121的文件写入请求。作为响应,处理300的处理逻辑可以选择位图的树表示,以识别最适用于所接收请求的可用区块。例如,处理300的处理逻辑可以针对为文件系统中已存在的文件分配存储空间的请求而选择位置树诸如图中的位置树113。可替代地,处理300的处理逻辑可以搜索位置树,如图1的位置树113,以为新文件分配存储空间。
在方框305中,在一个实施例中,处理300的处理逻辑可以基于一个或多个搜索标准来搜索位图的选定树表示,以识别针对分配请求待分配的一个或多个可用区块。在一个实施例中,搜索标准可以包括当分配存储空间(例如,区块)时降低碎片效应的考虑。
例如,处理300的处理逻辑可以对照位置树来执行红黑树搜索,以识别匹配分配请求的节点,所述分配请求指明了可用区块范围的分配大小和/或起始位置。在一个实施例中,如果对应的可用块范围(例如,基于大小键值)大得足以容纳所请求的分配大小并且(例如,基于位置键值)位于起始位置,则位置树中的节点可以是树搜索的匹配。
类似地,处理300的处理逻辑可以对照范围树执行红黑树搜索,以识别匹配分配请求的节点,所述分配请求指明了分配大小。例如,搜索标准可以包括用于容纳所请求分配大小的最少区块数量。如果范围树中的节点对应于最少数量的可用区块范围,则节点可以是树搜索的匹配。在一些实施例中,匹配节点可以对应于(例如,基于大小键值)容量大得足以容纳所请求分配大小的可用区块范围。
在另一个实施例中,处理300的处理逻辑可以响应于为现有文件分配额外存储空间的请求,开始搜索位置树。处理300的处理逻辑可以使用搜索标准来定位在为该文件所分配的最后一个区块接后的可用区块范围。可替代地,处理300的处理逻辑可以开始搜索范围树,以分配存储空间来供创建新文件所用。处理300的处理逻辑可以指明搜索标准,以识别与针对新文件的请求最佳地匹配的可用区块范围(例如,通过比较可用区块范围的大小和所请求的存储空间的大小)。
如果在树搜索期间从树表示中未识别到匹配的节点,则在一个实施例中,处理300的处理逻辑可以使用近似或不同的搜索标准来继续搜索另一个树表示。可替代地,如果在树搜索期间匹配了多个节点,则处理300的处理逻辑可以从这些匹配的节点之中选择最佳的一个节点,以例如使存储空间中的碎片最少。在一些实施例中,例如,如果在树搜索期间未能识别到匹配的节点,则处理300的处理逻辑可以直接搜索还未用存储器内树表示来表示的位图部分。可选地,处理300的处理逻辑可以基于与位图的树表示中的多个节点对应的可用区块范围,针对分配请求来决定分配多个区块,这些多个区块可能没有都连续地定位在一起。
在方框307中,处理300的处理逻辑可以基于搜索存储器内位图的树表示的结果来更新位图以用于分配存储系统(例如,用于文件系统的存储装置)中的所识别区块。处理300的处理逻辑可以例如经由根据红黑树结构执行的诸如搜索、插入和/或删除之类的操作,在方框309中将存储器内树表示与更新后的位图同步。在其它实施例中,处理300的处理逻辑可以在更新存储系统中的位图之前,更新存储器内位图的树表示,以指示所识别区块的分配。
图4是示出搜索位图的树表示以进行区块分配的处理的一个实施例的流程图。示例性的处理400可以由可包括硬件(电路、专用逻辑等)、软件(诸如在专用机上运行的软件)或这两者的组合的处理逻辑来执行。例如,可由图1的系统100的一些组件执行处理400。在一个实施例中,在方框401中,处理400的处理逻辑可以为指示存储系统(诸如图1中的存储设备101)中的区块分配状态的位图的至少一部分维护树表示。例如,位图中的每个位都可指示由该位图表示的区块中的一个对应区块是否可用。
树表示可包括例如位置树和范围树,诸如图1的位置树111和范围树113。每个树表示可以是具有与存储系统中的可用区块范围对应的节点的红黑树。每当位图的一部分被加载在存储器中时,例如,当系统启动时,处理400的处理逻辑可以遍历位图来构建树表示。可选地,处理400的处理逻辑可以例如基于位图中位的索引来追踪所维护的每个树表示中已合并入了位图的哪些部分。
在方框403中,处理400的处理逻辑可以接收用于为文件或其它系统组件分配存储系统中的空间量的分配请求。作为响应,在方框405中,处理400的处理逻辑可以例如基于在存储系统中是否存在已为文件分配的区块,来判定分配请求是否要创建新文件。对于现有文件,在方框407中,处理400的处理逻辑可以在位置树中执行红黑树搜索,以基于所请求的分配空间的大小和/或为文件分配的现有区块的位置来识别匹配节点。
如果对应的可用区块范围的容量大于所请求的并在为文件分配的区块接后的分配空间的大小,则匹配节点是完美的。在一些实施例中,匹配节点的搜索标准可以定位与为文件分配的现有区块靠近(例如在某一数量的区块以内)的可用区块范围。如果在方框409中找到了匹配节点,则在方框425中,处理400的处理逻辑可以继续基于与匹配节点对应的可用区块范围来分配存储空间。否则,在一个实施例中,在方框411中,处理400的处理逻辑可以继续搜索范围树来找到匹配节点。
在一个实施例中,响应于针对新文件的分配请求,在方框411中,处理400的处理逻辑可以在范围树中执行红黑树搜索,以基于所请求的分配空间的大小来识别一个或多个匹配节点。如果在搜索期间识别到多于一个的匹配节点,则处理400的处理逻辑可以选择最佳的匹配节点(例如,根据所请求的分配空间的大小有多接近地匹配对应于匹配节点的范围中可用的空间)。在一些实施例中,处理400的处理逻辑可以在树搜索期间选择第一个匹配节点。
如果在方框413中找到匹配节点,则在方框425中,处理400的处理逻辑可以继续分配所识别的区块。否则,在方框415中,处理400的处理逻辑可以判定存储器内树表示是否将所有的区块分配状态合并到了位图中。例如,处理400的处理逻辑可以追踪位图的哪个部分(例如,经由位在位图中的位置的索引)已被合并(或构建)在树表示中。
如果位图还没有被完全构建在树表示中,则在方框417中,处理400的处理逻辑可以直接遍历或搜索位图,以识别匹配分配请求的可用区块范围。在一个实施例中,处理400的处理逻辑可以加载还未在树表示中被覆盖的位图部分,以搜索匹配的可用区块范围。可以根据可用存储空间的大小限制来加载位图的这部分。在一个实施例中,处理400的处理逻辑可以搜索位图的剩余部分,例如,直到识别到匹配的可用区块范围为止。
在直接在位图中执行搜索(例如,逐位地进行线性搜索)的同时,例如,在方框419中,处理400的处理逻辑可以继续用位图的加载部分构建位图的树表示,如,位置树和范围树。如果从位图中直接找到一个或多个匹配的可用区块范围,则在425中,处理400的处理逻辑可以继续分配区块。
如果从位图的树表示中未找到和/或直接从位图中未找到匹配节点或可用区块范围,则在方框423中,处理400的处理逻辑可以基于例如遍历位图的树表示(例如,基于红黑树搜索)的结果和/或直接从位图中,识别满足分配请求的一个或多个可用区块范围。处理400的处理逻辑可以在考虑到例如使碎片效应最小、存储利用率最高和/或微调其它文件系统性能参数的情况下,来决定针对分配请求待分配的可用区块的最佳组合。随后,在方框425中,处理400的处理逻辑可以继续分配所识别的可用区块。在一个实施例中,在方框427中,处理400的处理逻辑可以根据所识别区块的分配,更新位图的树表示(如,位置树和/或范围树)和位图本身。
图5示出可与本发明的一个实施例一起使用的另一个数据处理系统(诸如计算机系统)的一个示例。例如,系统500可以被实现为图1所示系统的一部分。注意,虽然图5示出计算机系统的各种组件,但不意图代表任何特定构架或组件互连方式,因为这样的细节与本发明并无密切关系。还应当理解,本发明还可以用于具有更少组件或者可能更多组件的网络计算机和其它数据处理系统。
如图5中所示,作为数据处理系统形式的计算机系统500包括总线503,该总线耦接到(一个或多个)微处理器505和ROM(只读存储器)507和易失性RAM 509和非易失性存储器511。微处理器505可以从存储器507、509、511取回指令并且执行这些指令,以执行上述操作。总线503将这些各种组件互连在一起,并且还将这些组件505、507、509和511与显示控制器和显示装置513互连并且与诸如输入/输出(I/O)装置之类的外围装置互连,所述I/O装置可以是鼠标、键盘、调制解调器、网络接口、打印机和本领域熟知的其它装置。通常,输入/输出装置515通过输入/输出控制器517耦接到系统。易失性RAM(随机存取存储器)509通常被实现为动态RAM(DRAM),其为了刷新或保持存储器中的数据,需要持续供电。
大容量存储设备511通常是磁性硬盘或磁性光驱或光驱或DVDRAM或闪存或即使在系统掉电后也保持数据(例如,大量数据)的其它类型的存储系统。通常,大容量存储设备511还将是随机存取存储器,尽管这不是要求。虽然图5示出大容量存储设备511是直接与数据处理系统中的剩余组件耦接的本地装置,但应当理解,本发明可利用相对于该系统是远程的非易失性存储器,如,通过诸如调制解调器或以太网接口或无线网络接口之类的网络接口耦接到数据处理系统的网络存储装置。总线503可包括通过本领域熟知的各种桥接器、控制器和/或适配器彼此连接的一条或多条总线。
以上所描述内容的一些部分可以用诸如专用逻辑电路之类的逻辑电路来实现,或者用微控制器或执行程序代码指令的其它形式的处理内核来实现。因此,以上讨论内容所教导的处理可以用诸如机器可执行指令的程序代码来执行,这些指令使执行这些指令的机器执行某些功能。在此上下文下,“机器”可以是将中间形式(或“摘要”)指令转换成处理器特定指令的机器(例如,摘要执行环境,如,“虚拟机”(例如,Java虚拟机)、翻译机、公共语言运行时、高级语言虚拟机等)和/或诸如通用处理器和/或专用处理器之类的被设计用于执行指令并设置在半导体芯片上的电路(例如,用晶体管实现的“逻辑电路”)。以上讨论内容所教导的处理还可以由(作为机器的替代方式或者与机器结合使用)被设计用于执行所述处理(或其一部分)的电路来执行,而不用执行程序代码。
制造品可用于存储程序代码。存储程序代码的制造品可以被实施为但不限于一个或多个存储器(例如,一个或多个闪存、随机存取存储器(静态、动态或其它))、光盘、CD-ROM、DVDROM、EPROM、EEPROM、磁卡或光卡或适于存储电子指令的其它类型的机器可读介质。还可以将程序代码从远程计算机(例如,服务器)借助传播介质中包含的数据信号(例如,经由通信链路(例如,网络连接))下载到发出请求的计算机(例如,客户机)。
之前的详细描述是在对计算机存储器内数据位进行的操作的算法和符号表示的方面来呈现的。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域的其他技术人员传递其工作实质内容的工具。算法在这里通常被视为是导致期望结果的操作的自一致序列。所述操作是需要对物理量进行物理处理的那些操作。通常,尽管并非必需的,但这些物理量采取能够被存储、传递、组合、比较和以其它方式处理的电信号或磁信号形式。主要出于通用的原因,已证实有时将这些信号称为位、值、元素、符号、字符、术语、数字等是方便的。
然而,应该牢记的是,这些和类似术语全都与合适的物理量相关并且只是应用于这些量的便利标签。除非另外特别地指出,否则,如从以上讨论显而易见的,应理解,在整个说明书中,利用诸如“处理”或“估计”或“计算”或“决定”或“显示”等的术语是指计算机系统或类似电子计算装置的动作和处理,所述类似电子计算装置将表示为计算机系统寄存器和存储器内的物理(电子)量的数据处理并变换成类似地表示为计算机系统存储器或寄存器或其它这类信息存储、发送或显示装置内的物理量的其它数据。
本发明还涉及用于执行本文所述的操作的设备。这种设备尤其可被构造用于所需目的,或者它可包括由计算机中存储的计算机程序选择性激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储介质,诸如但不限于,包括软盘、光盘、CD-ROM和磁光盘之类的任何类型的盘,只读存储器(ROM)、RAM、EPROM、EEPROM、磁卡或光卡或适于存储电子指令的并且均连接到计算机系统总线的任何类型的介质。
本文陈述的处理和显示不是固有地涉及任何特定的计算机或其它设备。各种通用系统可以与根据本文教导的程序一起使用,或者可以证实构造更专用的设备来执行所述的操作是方便的。在以下的描述中,各种这些系统的所需结构将是显而易见的。另外,本发明不是参照任何具体编程语言描述的。应当了解,可以使用各种编程语言来实现如本文所描述的本发明的教导。
以上讨论内容只描述了本发明的一些示例性实施例。本领域的技术人员将容易认识到,可以在不脱离本发明的精神和范围的情况下对这类讨论、附图和权利要求进行各种修改。
Claims (25)
1.一种用于文件系统的计算机实现方法,所述方法包括:
响应于为文件分配存储装置中的空间的请求,从位图的多个树表示中选择一个树表示,所述位图中的每个位指示所述存储装置中的区块的可用性,所述树表示中的每个节点对应于所述位图中的一个或多个连续位;
搜索所选择的树表示,以找到识别可用于所述请求的区块的一个或多个节点;
更新所述位图,以分配所述存储装置中的所识别的区块;以及
将所述多个树与更新后的位图同步。
2.根据权利要求1所述的方法,其中,如果所述文件系统被安装,则在存储器中维护所述多个树表示。
3.根据权利要求2所述的方法,其中,所述存储装置是为所述文件系统存储文件的大容量存储装置。
4.根据权利要求1所述的方法,其中,所述节点包括所述位图中的所述连续位的位置和指示所述连续位的数量的大小。
5.根据权利要求4所述的方法,其中,所述选择包括:
判定所述文件在所述文件系统中是否是新的。
6.根据权利要求5所述的方法,其中,所述多个树表示包括位置树,所述位置树包括根据所述位置设置键值的节点,并且其中,如果所述文件不是新的,则所选择的树表示是所述位置树。
7.根据权利要求6所述的方法,其中,所述位置树是红黑树。
8.根据权利要求6所述的方法,其中,所述文件具有现有位置,并且其中,所述搜索包括:
基于所述位置,将所述现有位置与所述节点匹配。
9.根据权利要求8所述的方法,其中,所述空间具有分配大小,其中,所述搜索还包括:
基于所述大小,将所述分配大小与所述节点进行比较,其中,所识别的可用区块具有对于分配大小足够大的容量。
10.根据权利要求5所述的方法,其中,所述多个树表示包括范围树,所述范围树包括根据所述大小设置键值的节点,并且其中,如果所述文件是新的,则所选择的树表示是所述范围树。
11.根据权利要求10所述的方法,其中,所述空间具有分配大小,并且其中所述搜索包括:
基于所述大小,将所述分配大小与所述节点进行比较;以及
选择所述一个或多个节点,以降低在分配所述存储装置中的所识别的可用区块时的碎片效应。
12.一种用于文件系统的计算机实现方法,所述方法包括:
为存储在具有用于存储数据的区块的存储装置中的位图维护树表示,所述位图中的每个位指示所述区块之一的可用性,所述树表示中的每个节点对应于可用区块范围;
响应于接收到针对文件的分配请求,针对所述分配请求根据搜索标准,识别所述树表示中的一个或多个匹配节点;
如果不能识别到所述匹配节点,则遍历来自所述存储装置的所述位图;以及
基于对所述位图的所述遍历,构建所述树表示。
13.根据权利要求12所述的方法,其中,所述树表示对应于可用区块范围,并且其中,所述位图包括指示在所述可用区块范围中未覆盖的可用区块的至少一个位。
14.根据权利要求12所述的方法,其中,所述维护包括:
加载来自所述存储装置的所述位图的一部分;以及
根据所述位图的所述一部分产生存储器内树表示。
15.根据权利要求12所述的方法,其中,所述存储装置包括为所述位图存储的可用树表示,其中,所述维护包括:
判定所述可用树表示是否表示所述位图;以及
如果所述可用树表示表示所述位图,则从所述存储装置取回所述可用树表示作为存储器内树表示。
16.根据权利要求12所述的方法,其中,所述位图包括位的阵列,其中,所述可用区块范围对应于所述阵列中指示所述可用区块的连续位,并且其中,所述连续位由所述阵列中的指示不可用的两个区块的两个位来界定。
17.根据权利要求12所述的方法,其中,所述节点包括所述位图中的所述连续位的第一位的位置,并且其中,所述节点包括所述连续位的数量。
18.根据权利要求17所述的方法,其中,所述分配请求包括用于分配的空间量,其中,所述搜索标准是基于容量大得足以容纳所述空间量的最少数量的区块的,并且其中,每个匹配节点与所述最少数量相关联。
19.根据权利要求18所述的方法,其中,所述分配请求包括所述文件的现有位置,其中,所述搜索标准基于所述现有位置和所述最少数量,并且其中所述匹配节点与匹配位置和匹配数量相关联,所述匹配位置在所述现有位置附近并且所述匹配数量大于所述最少数量。
20.根据权利要求17所述的方法,其中,所述识别包括:
选择所述树表示之一;以及
对所选择的树表示执行红黑树搜索。
21.根据权利要求20所述的方法,其中,所述红黑树搜索是基于所述位置的。
22.根据权利要求20所述的方法,其中,所述位图的至少一部分在所选择的树表示中未被覆盖。
23.根据权利要求12所述的方法,其中,构建所述树表示包括:
判定所述树表示是否已经通过所述存储装置的所述位图被完全填充,其中,每个可用区块属于针对所述树表示的可用区块范围中的一个可用区块范围。
24.一种具有指令的机器可读存储介质,所述指令在由机器执行时令所述机器执行用于文件系统的方法,所述方法包括:
响应于为文件分配存储装置中的空间的请求,从位图的多个树表示中选择一个树表示,所述位图中的每个位指示所述存储装置中的区块的可用性,所述树表示中的每个节点对应于所述位图中的一个或多个连续位;
搜索所选择的树表示,以找到识别可用于所述请求的区块的一个或多个节点;
更新所述位图,以分配所述存储装置中的所识别的区块;以及
将所述多个树与更新后的位图同步。
25.一种设备,所述设备包括:
用于存储包括文件系统的可执行指令的存储器;
具有用于存储数据的区块的存储装置,所述存储装置存储位图,所述位图中的每个位指示所述区块之一的可用性;
耦接到所述存储装置和所述存储器的处理器,用于针对所述文件系统执行来自所述存储器的所述可执行指令,所述处理器被配置用于:
维护所述位图的树表示,所述树表示中的每个节点对应于可用区块范围;
响应于接收到针对文件的分配请求,针对所述分配请求根据搜索标准来识别所述树表示中的一个或多个匹配节点;
如果不能识别到所述匹配节点,则遍历来自所述存储装置的所述位图;以及
基于对所述位图的所述遍历,构建所述树表示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/645,364 US8504792B2 (en) | 2009-12-22 | 2009-12-22 | Methods and apparatuses to allocate file storage via tree representations of a bitmap |
US12/645,364 | 2009-12-22 | ||
PCT/US2010/059298 WO2011078966A1 (en) | 2009-12-22 | 2010-12-07 | Methods and apparatuses to allocate file storage via tree representations of a bitmap |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102713826A true CN102713826A (zh) | 2012-10-03 |
CN102713826B CN102713826B (zh) | 2015-03-25 |
Family
ID=43480999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080058365.XA Active CN102713826B (zh) | 2009-12-22 | 2010-12-07 | 经由位图的树表示分配文件存储的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8504792B2 (zh) |
EP (1) | EP2517097A1 (zh) |
CN (1) | CN102713826B (zh) |
WO (1) | WO2011078966A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133970A (zh) * | 2014-08-06 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种数据空间管理方法及装置 |
CN104486387A (zh) * | 2014-12-02 | 2015-04-01 | 浪潮(北京)电子信息产业有限公司 | 一种数据同步处理方法及系统 |
CN106814971A (zh) * | 2016-12-20 | 2017-06-09 | 中国银联股份有限公司 | 一种异构存储方法及异构存储平台 |
CN107656697A (zh) * | 2016-07-26 | 2018-02-02 | 阿里巴巴集团控股有限公司 | 一种在存储介质上操作数据的方法和装置 |
CN108628753A (zh) * | 2017-03-24 | 2018-10-09 | 华为技术有限公司 | 内存空间管理方法和装置 |
CN108647338A (zh) * | 2018-05-14 | 2018-10-12 | 五八有限公司 | bitmap计算方法、装置、设备及存储介质 |
CN112380004A (zh) * | 2020-11-04 | 2021-02-19 | 成都佰维存储科技有限公司 | 内存管理方法、装置、计算机可读存储介质及电子设备 |
CN112988911A (zh) * | 2021-05-07 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 区块链数据存储方法及装置、电子设备 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9229748B2 (en) | 2010-01-29 | 2016-01-05 | Code Systems Corporation | Method and system for improving startup performance and interoperability of a virtual application |
US8880843B2 (en) | 2010-02-10 | 2014-11-04 | International Business Machines Corporation | Providing redundancy in a virtualized storage system for a computer system |
US8190593B1 (en) * | 2010-04-14 | 2012-05-29 | A9.Com, Inc. | Dynamic request throttling |
US8782106B2 (en) * | 2010-07-02 | 2014-07-15 | Code Systems Corporation | Method and system for managing execution of virtual applications |
CN103207882B (zh) * | 2012-01-13 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 店铺访问数据处理方法及系统 |
EP3416071B1 (en) * | 2012-01-24 | 2021-11-03 | Varonis Systems, Inc. | A method and apparatus for authentication of file read events |
US9542401B1 (en) * | 2012-03-30 | 2017-01-10 | EMC IP Holding Company LLC | Using extents of indirect blocks for file mapping of large files |
CN103064794B (zh) * | 2013-02-04 | 2016-05-25 | 烽火通信科技股份有限公司 | 实现mpls标签高效管理的方法 |
CA2899615C (en) | 2013-03-01 | 2023-08-08 | Empi, Inc. | Systems and methods for wireless control of noninvasive electrotherapy |
US11010101B1 (en) * | 2014-09-19 | 2021-05-18 | EMC IP Holding Company LLC | Object storage subsystems |
CN105607960B (zh) * | 2015-10-26 | 2018-12-07 | 成都华为技术有限公司 | 文件系统目录树修复方法和装置 |
US9841912B1 (en) * | 2015-12-18 | 2017-12-12 | EMC IP Holding Company LLC | Memory efficient block allocation map to support online growth of different storage attributes |
US10747741B2 (en) | 2016-07-26 | 2020-08-18 | Ebay Inc. | Mechanism for efficient storage of graph data |
US10776342B2 (en) * | 2016-11-18 | 2020-09-15 | Tuxena, Inc. | Systems and methods for recovering lost clusters from a mounted volume |
KR20200016076A (ko) * | 2018-08-06 | 2020-02-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN109522308B (zh) * | 2018-11-06 | 2023-06-20 | 北京太一星晨信息技术有限公司 | 一种连接句柄管理方法和装置 |
CN114761913A (zh) * | 2020-01-15 | 2022-07-15 | 阿里巴巴集团控股有限公司 | 分布式数据存储系统中的快速分区拆分解决方案 |
US11733894B2 (en) | 2021-06-03 | 2023-08-22 | Nutanix, Inc. | Dynamically formatted storage allocation record |
CN113360095B (zh) * | 2021-06-04 | 2023-02-17 | 重庆紫光华山智安科技有限公司 | 硬盘数据管理方法、装置、设备及介质 |
CN116860825B (zh) * | 2023-06-14 | 2024-01-26 | 北京科技大学 | 一种基于区块链的可验证检索方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5375233A (en) * | 1988-12-22 | 1994-12-20 | International Computers Limited | File system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182121B1 (en) * | 1995-02-03 | 2001-01-30 | Enfish, Inc. | Method and apparatus for a physical storage architecture having an improved information storage and retrieval system for a shared file environment |
US6857059B2 (en) | 2001-01-11 | 2005-02-15 | Yottayotta, Inc. | Storage virtualization system and methods |
US20050050108A1 (en) | 2003-08-21 | 2005-03-03 | Texas Instruments Incorporated | File system for digital processing systems with limited resources |
EP2115593B1 (en) | 2007-01-26 | 2018-10-24 | Intel Corporation | Hierarchical immutable content-addressable memory processor |
US8285757B2 (en) | 2007-01-31 | 2012-10-09 | Agency For Science, Technology And Research | File system for a storage device, methods of allocating storage, searching data and optimising performance of a storage device file system |
US7882304B2 (en) | 2007-04-27 | 2011-02-01 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
-
2009
- 2009-12-22 US US12/645,364 patent/US8504792B2/en active Active
-
2010
- 2010-12-07 WO PCT/US2010/059298 patent/WO2011078966A1/en active Application Filing
- 2010-12-07 CN CN201080058365.XA patent/CN102713826B/zh active Active
- 2010-12-07 EP EP10796218A patent/EP2517097A1/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5375233A (en) * | 1988-12-22 | 1994-12-20 | International Computers Limited | File system |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133970A (zh) * | 2014-08-06 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种数据空间管理方法及装置 |
CN104486387A (zh) * | 2014-12-02 | 2015-04-01 | 浪潮(北京)电子信息产业有限公司 | 一种数据同步处理方法及系统 |
CN104486387B (zh) * | 2014-12-02 | 2018-03-27 | 浪潮(北京)电子信息产业有限公司 | 一种数据同步处理方法及系统 |
CN107656697A (zh) * | 2016-07-26 | 2018-02-02 | 阿里巴巴集团控股有限公司 | 一种在存储介质上操作数据的方法和装置 |
CN107656697B (zh) * | 2016-07-26 | 2021-03-02 | 阿里巴巴集团控股有限公司 | 一种在存储介质上操作数据的方法和装置 |
CN106814971B (zh) * | 2016-12-20 | 2020-09-29 | 中国银联股份有限公司 | 一种异构存储方法及异构存储平台 |
CN106814971A (zh) * | 2016-12-20 | 2017-06-09 | 中国银联股份有限公司 | 一种异构存储方法及异构存储平台 |
CN108628753B (zh) * | 2017-03-24 | 2021-02-23 | 华为技术有限公司 | 内存空间管理方法和装置 |
CN108628753A (zh) * | 2017-03-24 | 2018-10-09 | 华为技术有限公司 | 内存空间管理方法和装置 |
CN108647338A (zh) * | 2018-05-14 | 2018-10-12 | 五八有限公司 | bitmap计算方法、装置、设备及存储介质 |
CN108647338B (zh) * | 2018-05-14 | 2022-07-29 | 五八有限公司 | bitmap计算方法、装置、设备及存储介质 |
CN112380004A (zh) * | 2020-11-04 | 2021-02-19 | 成都佰维存储科技有限公司 | 内存管理方法、装置、计算机可读存储介质及电子设备 |
CN112380004B (zh) * | 2020-11-04 | 2023-06-13 | 成都佰维存储科技有限公司 | 内存管理方法、装置、计算机可读存储介质及电子设备 |
CN112988911A (zh) * | 2021-05-07 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 区块链数据存储方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102713826B (zh) | 2015-03-25 |
US20110153976A1 (en) | 2011-06-23 |
EP2517097A1 (en) | 2012-10-31 |
WO2011078966A1 (en) | 2011-06-30 |
US8504792B2 (en) | 2013-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102713826B (zh) | 经由位图的树表示分配文件存储的方法和设备 | |
CN109426619B (zh) | 访问快闪存储器模块的方法及相关闪存控制器与电子装置 | |
US9183136B2 (en) | Storage control apparatus and storage control method | |
RU2479013C2 (ru) | Способ оптимизации твердотельного накопителя и оптимизатор | |
US10037223B2 (en) | Method and system for providing virtual desktop service using cache server | |
US20210157746A1 (en) | Key-value storage device and system including the same | |
US20130212319A1 (en) | Memory system and method of controlling memory system | |
KR100866627B1 (ko) | 컨트롤 플로우를 이용한 페이지 프리로드 방법 및 그시스템 | |
CN106445398B (zh) | 一种基于新型存储器的嵌入式文件系统及其实现方法 | |
US7284085B2 (en) | Managing configuration data in a flash configuration space in flash memory within a host interface port | |
CN110647475B (zh) | 存储装置和包括存储装置的存储系统 | |
US11010055B2 (en) | Command processing for a storage system | |
CN110704330B (zh) | 数据存取控制装置及方法 | |
US9804965B2 (en) | Virtual machine host server apparatus and method for operating the same | |
US20170160940A1 (en) | Data processing method and apparatus of solid state disk | |
CN111857556B (zh) | 管理存储对象的元数据的方法、装置和计算机程序产品 | |
US20070294475A1 (en) | Raid apparatus, cache management method, and computer program product | |
CN109992535B (zh) | 一种存储控制方法、装置和系统 | |
US6487632B1 (en) | Emulation technique for variable-length disk system to access data in a fixed-length disk system | |
CN110659312B (zh) | 数据处理的方法、装置、设备和计算机存储介质 | |
KR20090053164A (ko) | 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 | |
CN108304331B (zh) | 基于NorFlash的环形队列式数据存储方法及装置 | |
US7496740B2 (en) | Accessing information associated with an advanced configuration and power interface environment | |
KR20030055482A (ko) | 선택적인 캐시관리방법 및 장치 | |
US12008261B2 (en) | Method and device for accessing memory |
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 |