CN102713824A - 基于未来使用估计的分配存储器 - Google Patents

基于未来使用估计的分配存储器 Download PDF

Info

Publication number
CN102713824A
CN102713824A CN201080049716.0A CN201080049716A CN102713824A CN 102713824 A CN102713824 A CN 102713824A CN 201080049716 A CN201080049716 A CN 201080049716A CN 102713824 A CN102713824 A CN 102713824A
Authority
CN
China
Prior art keywords
file
memory
request
storage
memory space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201080049716.0A
Other languages
English (en)
Inventor
查尔斯·E·比克曼
理查德·卡得鲁维
加里·权
克雷格·詹森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Diskeeper Corp
Original Assignee
Diskeeper Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Diskeeper Corp filed Critical Diskeeper Corp
Publication of CN102713824A publication Critical patent/CN102713824A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1004Defragmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems

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)
  • Memory System (AREA)

Abstract

本发明提供用于分配存储器空间的方法。该方法包括接收对于具有当前大小的文件的存储器分配的请求;至少根据与文件关联的特定属性,估计文件的未来大小,未来大小不同于文件的当前大小;并且根据文件的未来大小,引起分配用于存储文件的存储器空间。

Description

基于未来使用估计的分配存储器
技术领域
本发明涉及分配或保留存储器。更具体地,本发明涉及用于文件且基于文件的估计的未来大小的分配或保留存储器。
背景技术
计算系统中的数据碎片或自由空间碎片导致通常降低存储容量和性能而缺乏效率。
当修改已经存储的的文件、并且在相同的存储器地址上没有充足的用于存储修改的文件的连续存储器空间时,会产生碎片。在这种情况下,修改的文件会被分割,修改的文件的一部分会被存储在不同的位置。可替换地,整个修改的文件会必须移动到不同的存储器地址,该地址具有充分连续的存储器空间以存储修改的文件,这导致输出/输出(I/O)缺乏效率。
还会由于分开存储相关文件而引起缺乏效率,即使文件本身没有被分隔。例如,在旋转盘驱动器中,如果通常一起访问的两个文件被放置在两个不同的存储器空间中,则读取两个文件和/或写入到两个文件经常会引起在将读取/写入头从一个存储器空间移动到其他存储器空间时的延迟。
这一部分描述的方法是可以继续追求的方法,而并不一定是已经想出或获得的方法。因此,除非另外表明,否则不应假定这一部分描述的任意方法仅仅由于包括在这一部分中而有资格作为现有技术。
附图说明
在附图的图示中以示例的方式而不是以限制的方式示出本发明,在附图中类似的附图标记表示类似的元件,其中:
图1示出根据一个或多个实施例的用于分配存储器的示例性系统;
图2和图3示出根据一个或多个实施例的引起分配存储器空间的流程图;和
图4示出可以用于实现一个或多个实施例的计算机系统的框图。
具体实施方式
在下列描述中,为进行说明,阐明众多细节,以提供对本发明的透彻理解。但是,很明显可以在没有这些具体细节的情况下实现本发明。也就是说,以框图形式示出的众所周知的结构和设备,以避免不必要地使本发明模糊。
在下文中描述的多个特征,这些特征中的每一者可以彼此独立地使用或者可以与其他特征任意结合而使用。但是,任意单独特征可能无法解决上述任意问题,或者只能解决上述问题中的一个。通过本文描述的任意特征可能无法完全解决一些上述问题。尽管提供多个标题,与特定标题有关的信息可能无法在具有该标题的部分内找到,但是还可以在本说明书中其他部分找到。
概述
在一个或多个实施例中,描述用于对一个文件分配存储器的方法。该方法包括:估计文件的未来大小,并根据文件的未来大小而不是文件的当前尺寸,来分配存储器空间以用于存储文件。根据与具有正在存储的文件的一个或多个属性的文件相关联的模式,来估计文件的未来大小。
在一个或多个实施例中,描述用于对多个文件分配存储器的方法。该方法包括接收用于第一文件的存储器分配请求,和预测用于与第一文件有关的第二文件的未来分配请求。根据对用于第二文件的未来分配请求的预测,分配存储器空间,以用于存储第一文件和第二相关文件。可以为第一文件和第二相关文件分配连续的存储器空间。
尽管本文描述特定组成部分执行方法步骤,但是在其他实施例中,代表该特定组成部分的动作体或机构可以执行方法步骤。此外,尽管相对于单一系统上的组成部分来讨论本发明,但是可以用于分布在多个系统上的组成部分来实现本发明。
本发明的实施例还包括具有用于执行本文描述的方法步骤的装置的任意系统。本发明的实施例还包括具有指令的计算机可读介质,在执行指令时,指令引起执行本文描述的方法步骤。
系统架构
尽管这里描述特定系统架构,但是本发明的其他实施例适用于可用于文件定位的任意架构。图1示出根据一个或多个实施例的用于分配存储器的示例性系统(100)。如图1所示,系统(100)包括存储器管理引擎(108)、存储驱动器(112)和一个或多个存储库(114)。系统(100)还可以包括其他组件,这些其他组件尽管未示出但是可以用于实现一个或多个实施例。这些组件中的每一者可以位于相同的装置上,或者可以位于通过具有有线和/或无线段的网络(例如,互联网、内联网、外联网、局域网(LAN)、广域网(WAN)等)联接的分开的装置上或者位于以其他方式联接的分开的装置上。在本发明的一个或多个实施例中,使用客户端-服务器拓扑来实现系统(100)。此外,可以使用一个或多个接口从其他机器访问该系统。在本发明的一个或多个实施例中,可以由一个或多个用户经由网络连接(例如互联网)来访问系统。也可以经由网络连接来存储和访问系统提供的信息和/或服务。
文件属性和环境属性
文件(104)一般地表示将要存储在存储库(114)中的任意数据。文件(104)可以是系统文件、应用文件、数据文件和/或任意其他文件或在逻辑上被认为是信息的单一集合的数据的集合。文件(104)可以表示为存储在虚拟存储器空间(对应于物理存储器)上而接收的位于虚拟系统上的文件。
在实施例中,文件(104)与一个或多个属性关联。与文件关联的属性包括文件属性(106)、环境属性(110)等。文件属性(106)一般地表示文件的任意特性。例如,文件(104)的文件属性(106)可以是文件类型。文件类型的示例包括可执行文件、数据文件、图像文件、视频文件、文本文件、系统文件、配置文件、开发者文件等,或者任意其他可能的文件类型。与文件关联的文件类型可以是特定类型,例如位图文件或JPEG图像文件,或者与文件关联的文件类型可以是文件的类别,例如图像类别(图像类别既包括位图文件又包括JPEG图像文件)。
文件属性(106)还可以包括文件的任意类别或分类。例如,在启动过程中专用的文件可以被归类为启动文件。在实施例中,在创建文件之后,文件属性改变。例如,与文件关联的用户会改变,或者文件内的内容会改变。
文件属性(106)的另一示例包括文件以前的使用。与文件以前的使用有关的属性可以表示拥有/控制文件的处理、请求存储文件或请求访问文件的应用、与文件关联的访问频率、已经共享文件或当前正在共享文件的处理的数量、与文件关联的用户、文件内包括的内容或信息、文件的存在时间、与文件关联的其他文件的数量/大小等。
在实施例中,文件(104)与作为环境属性(110)的属性相关联。环境属性(110)一般地表示与对文件进行存储、访问、修改、执行等的环境相关联的任意特性。环境属性(110)的示例包括在文件(104)所存储或将要存储的存储库(114)中可获得的存储空间。环境属性(110)的另一示例可以是管理文件的操作系统。环境属性(110)还可以包括访问文件的计算机系统在世界上所处于的地理区域。环境属性(110)可以包括使用背景。例如,环境属性(110)可以表示由学生为教育目的还是由雇员为职业目的而正在对文件进行访问、修改等。环境属性(110)可以包括对管理文件(104)的计算系统进行访问的用户的数量、或者允许修改文件(104)的用户的数量。环境属性(110)可以包括与文件(104)关联的环境的任意其他特性。
属性模式
在实施例中,文件(104)根据一个或多个共有属性(例如,文件属性(106)、环境属性(110)等)而归为一群。与具有特定属性的一群文件(104)关联的统计用来识别与属性关联的属性模式(102)。属性模式(102)一般地包括从统计得到的任意数据。属性模式(102)可以包括通过基于统计来执行计算、检测统计中的模式等所确定的数据。与一群文件(104)关联的所有统计或者与一群文件(104)关联的一部分统计可以用来检测模式。例如,在检测统计中的模式之前,可以剔除与一组数据明显不同的异常值(outlier)或数据点。
在实施例中,属性模式(102)可以指基于统计的大小。对具有特定属性的一组文件中的每个文件的大小进行监测。相对于时间或相对于访问文件的次数来监测特定文件的大小。例如,在创建时和在对文件已经进行两次写入访问之后,监测一群文件中的每个文件的大小。在此之后,对于一组文件中的每个文件,通过从两次写入访问之后的文件大小减去创建时的文件大小来确定文件大小的实际变化。通过将文件大小的变化除以创建时的文件大小来确定每个文件的文件大小的百分比变化。确定在一组文件当中实际变化的平均值或在一组文件当中百分比变化的平均值。与具有特定属性的一组文件相对应的属性模式(102)可以包括指示平均变化的数据。例如,属性模式(102)可以包括表示从创建文件的时刻开始基于在一组相应文件当中的平均值、预期大小增加x字节或y百分比的数据。代替一组相应文件当中的平均值,可以使用模型或其他统计计算来确定属性模式(102)。
在实施例中,基于文件大小的属性模式(102)包括表示大小范围的数据。例如,一组文件中的任意文件的文件大小的最小监测增加可以是10百分比,而一组文件中的任意文件的文件大小的最大监测增加可以是25百分比。在本示例中,增加的范围是10百分比到25百分比。预期增加的属性模式(102)包括限定从创建时刻开始(或从另一规定时刻开始)10百分比到25百分比的范围的数据。
在实施例中,属性模式(102)包括表示具有特定属性的一组文件的最大文件大小的数据。属性模式(102)还可以包括表示在创建文件之后文件达到最大文件大小的平均时间段的数据。属性模式(102)还可以包括表示直到实现每个文件的最大文件大小为止、修改的平均次数的数据
在实施例中,属性模式(102)指的是对于具有特定属性的一组文件(104)的存储器分配请求模式。例如,如果在用于存储由特定处理所拥有的文件的第一存储器分配请求之后通常是用于存储相关文件的第二存储器分配请求,则属性模式(102)可以包括表示该特定处理通常在第一存储器分配请求的规定时间内提出第二存储器分配请求的数据。第二存储器分配请求可以指在第一存储器分配请求之后的任意存储器分配请求。属性模式(102)可以指由特定处理所拥有的文件使用的总存储器空间的模式。属性模式(102)可以包括表示处理或应用的初始存储器使用、以及处理或应用的后续或最大存储器使用的数据。在另一示例中,属性模式(102)可以指对具有特定属性的一群文件通常执行的动作。例如,属性模式可以包括表示对特定启动文件通常执行“创建、访问、修改、修改和访问动作”的数据,该特定启动文件处于执行Unix操作系统的系统中或者由应用X的特定处理所拥有。每个动作也可以与文件大小的相应变化相关联。
在实施例中,属性模式(102)可以指对于一组文件的文件访问序列。例如,如果以特定顺序或在近似相同的时刻重复地访问文件B、C、R、G和E,则属性模式(102)可以包括表示文件访问序列的数据。在本实施例中,文件B、C、R、G和E的共有特性可以是共同的拥有者处理,或者只不过这些文件是同一访问序列的所有部分。尽管在这里的示例中提到特定属性(例如,文件类型),但是本发明的实施例可应用于与文件关联的任意属性。相应地,对于与文件关联的任意属性(例如,文件属性(106)、环境属性(110)等)都可以确定属性模式(102)。
在实施例中,多个属性模式(102)可以与特定属性关联、和/或多个属性可以与特定属性模式(102)关联。例如,对由特定处理所拥有的一组文件(104)进行监测以识别出共享的统计。共享的统计表示:(1)平均来讲一组文件从初始创建起增加40%,以及(2)由特定处理首先创建的文件在短时间段内被删除,而由特定处理之后创建的文件从不删除。一组文件(104)的第一属性模式(102)可以包括表示平均来讲文件的大小从初始创建起增加40%的数据。同一组文件的第二属性模式(102)可以包括表示由特定处理创建的文件在从特定处理的初始化起的x分钟内是临时文件、而由处理创建的文件在x分钟后是具有长存在时间的文件的数据。第二属性模式(102)还可以应用于由另一处理创建的第二组文件(例如,具有另一属性的第二组文件)。
存储库
存储库(114)一般地表示具有可以存储文件的存储位置的一个或多个存储装置。存储库(114)的多个部分可以直接连接到系统(100),可以经由网络(116)或其他适合的接口连接。存储库(114)可以包括本领域中已知的任意类型的存储装置。例如,存储库(114)可以包括常规的旋转盘驱动器、固态驱动器(SSD)、常规旋转盘驱动器与SSD的混合组合、分开的存储系统(如存储区域网(SAN)、网络连接存储(NAS)装置、或用作存储器但是并非由随机存取存储器(RAM)组成的基于RAM的装置)。此外,存储库(114)内的每个存储装置可以包括不同类型的存储位置。例如,存储库(114)内的SSD可以包括不同的单元(例如,单层单元(SLC)、多层单元(MLC)、或其组合)。因此,存储库(114)内可供系统(100)进行存储的存储位置可以在单一存储装置上或者多个存储装置上,在不同的存储装置当中或者甚至在单一存储装置内具有变化的构造。
存储驱动器
在实施例中,存储驱动器(112)根据从存储器管理引擎(108)直接或间接地接收的一组指令,对来自存储库(114)的文件进行存储和检索。例如,存储器管理引擎(108)提供文件(104)以及用于将文件存储到文件系统的存储位置,在此之后存储器管理引擎(108)将指令转送到存储驱动器(112)。存储驱动器(112)接收的指令简单地指定存储装置,在这种情况下存储驱动器(112)确定将文件存储到存储装置内的何处。指令还可以指定存储装置的区域、存储装置上的特定存储位置、存储库、或存储库中的位置。
在实施例中,存储驱动器(112)构造成获得对文件(104)的未来大小的估计(或预测)。例如,存储驱动器(112)可以计算对文件(104)的未来大小的估计,或者从存储器管理引擎(108)、文件系统等获得对文件(104)的未来大小的估计。存储驱动器(112)可以根据文件的未来大小确定要分配多少存储空间,或者从存储器管理引擎(108)、文件系统等获得表示根据文件的未来大小要分配多少存储空间的信息。
存储器管理引擎
在实施例中,系统(100)内的存储器管理引擎(108)一般地表示可以构造成识别属性模式(102)的任意软件和/或硬件。可以在应用/操作系统和文件系统之间或在文件系统和存储驱动器(112)之间逻辑上实现存储器管理引擎(108)。存储器管理引擎(108)还可以实现为文件系统的组成部分。存储器管理引擎(108)可以是在一个或多个服务器上运行的应用,并且在某些实施例中,存储器管理引擎(108)可以是点对点(peer-to-peer)应用或者常驻在单一计算系统(例如,个人计算机、手持设备、自助服务机(kiosk)、车载计算机、或具有存储装置的任意其他系统)上。
在实施例中,存储器管理引擎(108)构造成对具有特定属性(例如,文件属性(106)、环境属性(110)等)或者属性的特定组合的一个或多个文件(104)进行监测,以识别与特定属性或属性的特定组合相关联的属性模式(102)。可以由存储器管理引擎(108)通过周期性地检查文件(104)的实际大小并将实际大小记录为时间的函数来监测文件(104)。可以通过在每次修改文件(104)之后记录文件大小来监测文件(104)。在实施例中,可以监测文件大小,作为已经对文件(104)进行访问的次数的函数。例如,可以捕捉表示与文件(104)的访问次数(例如,第5次访问、第9次访问、第120次访问等)有关的文件(104)的大小的数据。在实施例中,代替实际文件大小或者附加地,可以对文件大小的变化进行监测和记录。文件大小的变化可以包括文件大小的百分比变化或绝对变化。文件大小的变化可以被监测和记录,以与前次记录的文件大小或者在首次创建文件(104)时的原始文件大小进行比较。
在实施例中,存储器管理引擎(108)基于与属性关联的文件(104)对属性识别出属性模式(102)。例如,在启动处理中由特定应用所使用的日志文件当中检测共有模式。检测的共有模式是每个日志文件被创建并在此之后在启动处理期间被修改,这导致使得初始创建之后的日志文件的文件大小加倍。在本示例中,日志文件的共有属性是与特定应用的关联。存储器管理引擎(108)识别与属性关联的属性模式(102),属性模式(102)包括表示在启动处理过程中创建之后、在启动处理过程中由特定应用使用的日志文件的大小加倍。响应于针对在启动处理期间由特定处理使用的日志文件的特定阈值数量或百分比来识别模式,可以将一模式识别为属性模式(102)。
在实施例中,存储器管理引擎(108)包括引起根据文件(104)的未来大小而分配存储器空间以存储文件(104)的逻辑,这将参照图2在下文中描述。在实施例中,存储器管理引擎(108)响应于接收到对于第一文件的存储器分配请求,分配或保留用于存储第二文件的存储器空间,这将参照图3在下文中描述。尽管这里提到特定组成部分来执行特定动作,但是本发明的实施例包括本文描述的(或未描述的)执行本文描述的任意动作的任意组成部分。
根据文件的未来大小来分配存储器空间
图2示出根据本发明的一个或多个实施例的引起分配存储器空间的流程图。在一个或多个实施例中,下文描述的一个或多个步骤可以省略、重复和/或以不同的顺序执行。相应地,图2所示的步骤的具体安排不应理解为对本发明范围的限制。
在实施例中,接收到用于存储具有当前大小的文件的请求(步骤202)。存储文件的请求可以是用于当文件由应用或操作系统首次创建时文件的初始存储存储文件的请求可以是用于存储对前次存储的文件的修改。在实施例中,当前大小对应于将要存储的文件的大小。当接收到用于存储修改文件的请求时,当前大小对应于正在存储的修改文件的大小。
在实施例中,识别与文件关联的属性模式(步骤204)。可以通过首次识别与文件关联的一个或多个属性来识别属性模式。例如,可以识别文件的类型、拥有文件的处理/应用、正在存储文件的环境、或者本文描述的任意其他属性。在此之后,识别与文件的一个或多个属性关联的属性模式。例如,可以查询将属性模式与属性进行匹配的表,以识别属性模式。在实施例中,在接收到用于存储文件的请求之前,可以不知道属性模式。在这种情况下,一旦识别出于正在存储的文件关联的属性,则可识别出于相同属性关联的其他文件。在此之后,可以分析其他文件,以确定属性模式。在实施例中,属性模式可以包括一组其他文件中的每个文件的最大大小、或者一组其他文件中的每个文件的最大大小的平均值或众数(mode)。
在实施例中,根据属性模式(步骤206)来计算(估计)文件的未来大小。文件的未来大小可以对应于对文件在特定次数修改之后的大小的估计、对文件在特定时间段之后的大小的估计,对文件可以增长到的最大大小的估计等。例如,与特定属性关联的文件的未来大小可以根据与相同特定属性关联的一组其他文件中的每个文件的最大大小来进行计算。可以根据其他文件的最大监测大小的平均值或众数来估计正在存储的文件的未来大小(例如,未来最大大小)。可以根据其他文件的最大监测尺寸中的最大值来估计文件的未来最大尺寸。类似的,可以根据在其他文件中的每一者经过特定次数修改之后其他文件的监测大小,来估计正在存储的文件在经过特定次数修改之后的大小。可以根据在创建其他文件中的每一个文件之后、其他文件经过一时间段之后的监测大小,来估计正在存储的文件在经过特定时间段之后的大小。
在实施例中,计算未来大小还包括将计算值增加特定量,以考虑到变化。例如,可以通过将其他文件的最大大小第一次平均化以获得第一值,然后使第一值增加特定百分比或特定值,来计算未来最大大小。第一值的增加可以基于与其他文件相对应的一组最大值的标准差。例如,如果其他文件的最大值在小范围内(例如,小标准差),则可以使用从第一计算值的小百分比增加来计算正在存储的文件的估计最大大小。与此相对,如果其他文件的最大值在宽范围内(例如,大标准差),则可以使用从第一计算值的大百分比增加来计算正在存储的文件的估计最大大小。在计算正在存储的文件的未来大小时的增加百分比或增加值可以直接涉及与同一属性关联的其他文件的大小的标准差。在实施例中,考虑到变化的缓冲可以直接依赖于可获得的存储器空间。例如,可获得存储器空间越大,则可以使用的缓冲越大。相反,可获得的存储器空间越小,可以使用的缓冲越小。尽管对于特定示例使用最大大小,但是本发明的实施例可以应用于文件的其他大小(例如,在经过特定次数修改之后的大小、在从创建起经过特定时间段之后的大小)。
在实施例中,使用包括访问类型序列的属性模式来预测未来大小。例如,如果属性模式只包括初始写入之后的读取,则未来大小估计可以与当前大小估计相同。如果属性模式包括初始写入,初始写入之后跟随着使经过所有修改的最大大小为原始大小两倍的一系列读取和写入,则正在存储的文件的未来大小估计可以是原始大小的两倍。在实施例中,可以在访问序列内识别出对正在存储的文件的修改。例如,在属性模式中,可以将对文件的修改识别为一连串五次修改中的第三次修改。根据在一系列修改中的位置,可以确定未来大小。在上述示例中,未来大小估计可以基于在经过第三次修改后的第四和第五次修改之后可预期的两个文件大小当中的较大的一个。
在实施例中,根据计算的未来大小,引起分配用于存储文件的存储器空间(步骤208)。可以将大于或等于计算的未来大小的连续存储器空间分配为用于存储文件。在实施例中,计算的未来大小的临时文件可以产生并存储在连续存储器空间中,在此之后用于将要存储在存储器中的实际文件进行覆盖。在实施例中,两个文件(例如,将要存储的实际文件和临时空间填充文件)可以存储在连续存储器空间中。在此之后,在需要空间以对实际文件进行修改时,临时空间填充文件可以大小减少或者删除。在实施例中,可以通过对文件系统或存储驱动器的特定指令,来保留未用于存储文件但是基于未来估计而需要的附加存储器空间。例如,元数据可以表示针对指定文件的文件大小的未来增加而将要保留的特定存储器空间。可以使用允许基于文件的未来大小(估计或预测)来分配或保留用于存储文件的存储器空间的任意前天适合的实施方式,文件的未来大小与文件的当前大小不同。在实施例中,可以有条件地占用基于文件的估计未来大小而分配或保留的附近空间。例如,如果存储库缺少存储量,则保留或非必要分配的存储器空间可以被回收以由文件系统使用。在实施例中,过量分配的存储空间可以被释放,以用于新的存储分配。释放过量分配的存储量可以基于过量分配的存储量到正在扩展的文件或与需要存储的新文件关联的文件之间的相对位置。在实施例中,释放现有的过量分配存储空间基于能够放入到释放的存储空间中的新文件、或者能够放入到释放的存储空间中的先前存储的文件的扩展。
在接收到将数据存储到存储器空间中的请求之前分配存储器空间
图3示出根据本发明的一个或多个实施例的引起分配存储空间的流程图。在一个或多个实施例中,下述一个或多个步骤可以省略、重复和/或以不同的顺序执行。相应地,图3所示的步骤的具体安排不应理解为对本发明范围的限制。
在实施例中,接收用于存储具有当前大小的第一文件的请求(步骤302)和识别与第一文件关联的属性模式(步骤304)。步骤302和步骤304分别与上述步骤202和步骤204类似。在实施例中,分配第一存储器空间,以用于存储第一文件(步骤306)。分配第一存储器空间可以基于第一文件的当前大小或者基于第一文件的未来大小,如上文参照步骤208所述的。
在实施例中,根据与第一文件关联的属性模式,分配或保留第二存储器空间(步骤308)。可以在接收到将数据存储到第二存储器空间的命令之前分配或保留第二存储器空间。可以响应于接收到分配第一存储器空间以存储第一文件的请求,而分配或保留第二存储器空间。第二存储器空间可以与第一存储器空间相邻,例如,第一存储器空间和第二存储器空间可以形成连续的存储器空间。在实施例中,第二存储器空间可以被分配或保留以用于存储第一文件的修改版本(例如,在未来将第一文件修改成更大的大小时)。
在实施例中,第二存储器空间被分配或保留以用于存储与第一文件有关的至少一个其他文件。例如,在表示用于第一文件的分配请求的属性模式之后一般是用于与第一文件有关的第二文件的分配请求。第二文件可以是关联于与第一文件相同的属性的文件。例如,第二文件和第一文件可以由相同的处理所拥有。属性模式可以表示将创建第二文件,一般在第一文件之后立即访问第二文件或者在与第一文件基本相同的时间帧中访问第二文件。将第二文件存储在与第一存储器空间相邻的第二存储器空间中可以产生更快的I/O速度(例如,由于使旋转机头(rotating platter head)的移动最小化)。相应地,在接收到将第二文件存储在第二存储器空间中的请求之前,可以分配或保留第二存储器空间,以专用于第二文件。在创建第二文件之前,可以分配或保留第二存储器空间,以专用于第二文件。在实施例中,在与第一文件相同的时间帧中所访问的第二文件可以是先前创建并存储在别处的。在这种情况下,响应于表示在近似相同的时间帧中访问第一文件和第二文件的属性模式,可以将存储的与第一文件有关的第二文件移动到与第一存储器空间相邻的第二存储器空间。保留第二存储器空间可以包括将临时文件存储在第二存储器空间,当第二文件存储到第二存储器空间时将删除或覆盖该临时文件。保留第二存储器空间可以包括(例如,通过所存储的与存储器空间关联的元数据)指定为第二文件保留存储器空间的文件系统或存储驱动器。保留第二存储器空间可以包括实现与存储器空间相对应的表,在该表中保留的存储器空间具有特定指示(例如标记)。在实施例中,保留第二存储器空间可以包括将临时文件或占位文件(place holder file)存储在第二存储器空间中。此后当将要使用第二存储器空间来存储与先前存储的第一文件有关的第二文件时,可以删除或覆盖该临时文件或占位文件。
在实施例中,接收与分配存储器以存储与第一文件关联的第二文件的请求(步骤310)。可以根据属性模式来识别第二文件。例如,属性模式可以识别出对于一般在相同的时间帧内访问的两个相关文件请求两次存储器分配的处理。在响应于第一请求而对第一文件分配过第一存储器空间之后、并且为未来的第二文件分配或保留第二存储器空间之后,可以监视来自处理的请求,以用于附加存储器分配请求。当从所监视的处理接收到用于存储器分配的第二请求时,第二存储器空间用来存储与第二请求关联的数据(即,与第一文件有关的第二文件)(步骤312)。在实施例中,存储第二文件的请求可以包括元数据,该元数据指示出第二文件与第一文件有关并且第二文件将与第一文件存储在一起。
硬件概述
图4是计算机系统400的框图,在计算机系统400上可以实现本发明的实施例。计算机系统400包括总线402或用于传送信息的其他通信机制、以及与总线402联接以处理信息的处理器404。计算机系统400还包括主存储器406(例如随机存储存储器(RAM)或其他动态存储装置),主存储器406联接到总线402以用于存储信息和将由处理器404执行的指令。主存储器406还可以用于存储在由处理器404执行指令的执行期间的临时变量或其他中间信息。计算机系统400还包括联接到总线402以存储用于处理器404的静态信息和指令的只读存储器(ROM)408或其他静态存储装置。存储装置410(例如磁盘或光盘)被设置并联接到总线402,以用于存储信息和指令。
计算机系统400可以经由总线402联接到显示器412(例如阴极射线管(CRT)),显示器412用于向计算机用户显示信息。输入装置414(包括字母数字按键和其他按键)联接到总线402,以用于向处理器404传送信息和命令选择。另一类型的用户输入装置是光标控制器416(例如,鼠标、跟踪球或光标方向键),光标控制器416用于向处理器404传送方向信息和命令选择、并用于控制显示器412上的光标移动。该输入装置通常具有在两个轴线(第一轴线(例如x)和第二轴线(例如y))山的两个自由度,这使得该装置可以在平面内指定位置。
本发明涉及使用计算机系统400来执行本文描述的技术。根据本发明的一个实施例,通过计算机系统400响应于处理器404执行在主存储器406内包括的一个或多个指令的一个或多个序列而执行这些技术。这样的指令可以从另一机器可读介质(例如存储装置410)被读取到主存储器406中。执行主存储器406内包括的指令的序列使得处理器404执行本文描述的处理步骤。在替换实施例中,硬连线电路可以用于代替软件指令或与软件指令结合以实现本发明。因此,本发明的实施例不限于硬件电路和软件的任意特定组合。
本文使用的术语“机器可读介质”指的是参与提供使得机器以特定方式运行的数据的任意介质。在使用计算机系统400所实现的实施例中,各种机器可读介质参与例如向处理器404提供用于执行的指令。这样的介质可以采取很多形式,这些形式包括但不限于存储介质和传输介质。存储介质包括非易失性介质和易失性介质。非易失性介质例如包括光盘或磁盘(例如存储装置410)。易失性介质包括动态存储器,例如主存储器406。传输介质包括同轴缆线、铜线和光纤,并且包括具有总线402的线路。传输介质还可以采用例如在无线电波和红外线文件传输中产生的声波或光波的形式。所有这样的介质必须实体的,以使得介质所携带的指令可以被物理机构检测到,该物理机构将指令读取到机器中。
机器可读介质的常规形式包括例如软盘、软磁盘、硬盘、磁带、或任意其他磁性介质、CD-ROM、任意其他光学介质、冲孔卡、纸带、具有孔的图案的任意其他物理介质、RAM、PROM、和EPROM、FLASH-EPROM、任意其他存储芯片或存储匣、下文描述的载波、或计算机可以读取的任意其他介质。
各种形式的机器可读介质可以参与将一个或多个指令的一个或多个序列提供给处理器404以进行执行。例如,指令可以初始处于远程计算机的磁盘上。远程计算机可以将指令加载到该计算机的动态存储器中,并使用调制解调器经由电话线发送指令。计算机系统400本地的调制解调器可以在电话线上接收到文件,并使用红外发射器将文件转换成红外信号。红外检测器可以接收到红外信号中带有的文件,并且适当的电路可以将文件放置在总线402上。总线402将文件提供至主存储器406,处理器404从主存储器406取回并执行指令。在处理器404执行之前或之后,主存储器406接收的指令可以选择性地存储在存储装置410上。
计算机系统400还包括联接到总线402的通信接口418。通信接口418提供联接到网络连接420的双路文件通信,网络连接420连接到本地网络422。例如,通信接口418可以是卡或调制解调器,卡或调制解调器以综合业务数字网(ISDN)向相应类型的电话线或数字用户线路(DSL)提供文件通信连接。作为另一示例,通信接口418可以是局域网(LAN)卡,以向兼容的LAN提供文件通信连接。还可以实现无线连接。在任意这样的实现方式中,通信接口418发射和接收电信号、电磁信号或数字信号,这些信号带有表示各种类型信息的数字文件流。
网络连接420通常经由一个或多个网络向其他文件装置提供文件通信。例如,网络连接420可以经由本地网络422提供连接至主机424或由互联网服务提供商(ISP)426所运行的文件设备。ISP 426转而经由目前一般称作“互联网”428的世界范围打包文件通信网络提供文件通信服务。本地网络422和互联网428都使用带有数字文件流的电信号、电磁信号或光学信号。经过各种网络的信号、和在网络连接420上并经过通信接口418的信号是传送信息的载波的示例性形式,这些信号与计算机系统400来回传送数字文件。
计算机系统400可以经由网络、网络连接420和通信接口418发送消息并接收文件(包括程序代码)。在互联网示例中,服务器430可以经由互联网428、ISP 426、本地网络422和通信接口418传送对应用程序的请求代码。
接收的代码可以在处理器404接收到时由处理器404执行、和/或存储在存储装置410或其他非易失性存储器中以用于以后执行。以此方式,计算机系统400可以以载波的形式获得应用代码。
在实施例中,可以由任意计算设备执行本文描述的技术或方法。计算设备的示例包括但不限于计算机系统、台式计算机、笔记本计算机、移动设备、服务器、自助服务机、平板电脑、手机、游戏机、或包括用于执行本文描述的方法的至少一部分的硬件的任意其他机器。
扩展和替换
在前面的描述中,参照众多具体细节描述了本发明的实施例,这些具体细节可以因实施方式不同而不同。因此,等同于本发明并且申请人认为等同于本发明的唯一且排他性的指示是本申请提出的一组权利要求,这样的权利要求产生的具体形式包括任意后续修正。本文明确阐明的对于权利要求中包括的术语的任意限定应当决定着权利要求书中使用的这样的术语的含义。因此,权利要求中没有明确记载的限定、要素、特性、特征、优点或属性都不可以任意方式限制权利要求的范围。因此,说明书和附图应当以说明性而非限制性的意义来考虑。
权利要求书(按照条约第19条的修改)
1.一种方法,其包括:
监测具有特定属性的多个文件当中的每个文件的大小;
根据该监测来确定与所述多个文件关联的模式;
接收对于具有所述特定属性的文件的存储器分配的请求,其中所述文件具有当前大小;
至少根据与所述多个文件关联的所述模式,估计所述文件的未来大小,所述未来大小不同于所述文件的当前大小;
根据所述文件的所述未来大小,引起分配用于存储所述文件的存储器;
其中,通过一个或多个计算设备来执行本方法。
2.根据权利要求1所述的方法,其中,对所述文件的未来大小的估计包括根据对所述文件的预测修改来估计文件大小的预期增加,其中,至少部分地根据所述特定属性来预测所述修改。
3.根据权利要求1所述的方法,其中,响应于对所述文件的初始创建,接收用于存储器分配的请求。
4.根据权利要求1所述的方法,其中,响应于相对于所述文件的先前存储的版本对所述文件执行的修改,接收用于存储器分配的请求。
5.根据权利要求1所述的方法,其中,所述特定属性是所述文件的文件类型。
6.根据权利要求1所述的方法,其中,所述特定属性包括:
所述文件的先前使用;
所述文件的文件类型;
拥有所述文件的应用;
请求存储所述文件的应用;
与所述文件关联的优先级;
与所述文件关联的当前或预测的访问频率;
与所述文件关联的环境;
与所述文件关联的预期存在时间;
共享所述文件的处理的数量;
与所述文件关联的用户;
可获得的用于文件存储的存储器空间;
所述文件中存储的信息;
所述文件的存在时间;或
所述文件与下列各项中一者或多者的关系:其他文件或应用。
7.一种方法,其包括:
接收对于第一文件的存储器分配的第一请求;
响应于接收到所述第一请求,引起分配第一存储器空间,以用于存储所述第一文件;
至少根据在接收到请求时与所述第一文件关联的属性,引起分配第二存储器空间或保留所述第二存储器空间;
其中,分配或保留所述第二存储空间用于存储与所述第一文件有关的第二文件;
其中,通过一个或多个计算设备来执行所述方法。
8.根据权利要求7所述的方法,其中,响应于接收到所述第一请求而引起分配所述第二存储器空间或保留所述第二存储器空间。
9.根据权利要求7所述的方法,其中,在接收到第二请求之前,分配或保留所述第二存储器空间,所述第二请求引起将数据存储到所述第二存储器空间中。
10.根据权利要求7所述的方法,还包括:
监视存储器分配,以对于多个文件中具有特定属性的每个文件检测存储器分配模式;
其中,对于每个文件的存储器分配模式包括下列步骤:
用于存储具有所述特定属性的文件的存储器分配;
在规定时间间隔内,用于存储与具有所述特定属性的文件关联的另一文件的存储器分配。
11.根据权利要求7所述的方法,其中,引起分配所述第一存储器空间、和引起分配所述第二存储器空间或保留所述第二存储器空间包括:识别包括所述第一存储器空间和所述第二存储器空间的连续存储器空间。
12.一种计算机可读存储介质,其包括一系列指令,当由一个或多个处理器执行所述一系列指令时,所述一系列指令引起执行根据权利要求1-11中任一权利要求所述的方法。
13.一种装置,其包括一个或多个存储器,并构造成执行根据权利要求1-11中任一权利要求所述的方法。

Claims (14)

1.一种方法,其包括:
接收对于具有当前大小的文件的存储器分配的请求;
至少根据与所述文件关联的特定属性,估计所述文件的未来大小,所述未来大小不同于所述文件的当前大小;
根据所述文件的所述未来大小,引起分配用于存储所述文件的存储器;
其中,通过一个或多个计算设备来执行本方法。
2.根据权利要求1所述的方法,还包括:
监测具有所述特定属性的多个文件当中的每个文件的大小;
根据监测来确定与所述多个文件关联的模式;
其中,根据与所述多个文件关联的模式来估计所述文件的所述未来大小。
3.根据权利要求1所述的方法,其中,对所述文件的未来大小的估计包括根据对所述文件的预测修改来估计文件大小的预期增加,其中,至少部分地根据所述特定属性来预测所述修改。
4.根据权利要求1所述的方法,其中,响应于对所述文件的初始创建,接收用于存储器分配的请求。
5.根据权利要求1所述的方法,其中,响应于相对于所述文件的先前存储的版本对所述文件执行的修改,接收用于存储器分配的请求。
6.根据权利要求1所述的方法,其中,所述特定属性是所述文件的文件类型。
7.根据权利要求1所述的方法,其中,所述特定属性包括:
所述文件的先前使用;
所述文件的文件类型;
拥有所述文件的应用;
请求存储所述文件的应用;
与所述文件关联的优先级;
与所述文件关联的当前或预测的访问频率;
与所述文件关联的环境;
与所述文件关联的预期存在时间;
共享所述文件的处理的数量;
与所述文件关联的用户;
可获得的用于文件存储的存储器空间;
所述文件中存储的信息;
所述文件的存在时间;或
所述文件与下列各项中一者或多者的关系:其他文件或应用。
8.一种方法,其包括:
接收对于第一文件的存储器分配的第一请求;
响应于接收到所述第一请求,引起分配第一存储器空间,以用于存储所述第一文件;
至少根据在接收到请求时与所述第一文件关联的属性,引起分配第二存储器空间或保留所述第二存储器空间;
其中,通过一个或多个计算设备来执行所述方法。
9.根据权利要求8所述的方法,其中,响应于接收到所述第一请求而引起分配所述第二存储器空间或保留所述第二存储器空间。
10.根据权利要求8所述的方法,其中,在接收到第二请求之前,分配或保留所述第二存储器空间,所述第二请求引起将数据存储到所述第二存储器空间中。
11.根据权利要求8所述的方法,还包括:
监视存储器分配,以对于多个文件中具有特定属性的每个文件检测存储器分配模式;
其中,对于每个文件的存储器分配模式包括下列步骤:
用于存储具有所述特定属性的文件的存储器分配;
在规定时间间隔内,用于存储与具有所述特定属性的文件关联的另一文件的存储器分配,
其中,在接收到用于所述第二文件的存储器分配的第二请求之前,根据所述存储器分配模式,分配或保留用于与所述第一文件有关的第二文件的所述第二存储器空间。
12.根据权利要求8所述的方法,其中,引起分配所述第一存储器空间、和引起分配所述第二存储器空间或保留所述第二存储器空间包括:识别包括所述第一存储器空间和所述第二存储器空间的连续存储器空间。
13.一种计算机可读存储介质,其包括一系列指令,当由一个或多个处理器执行所述一系列指令时,所述一系列指令引起执行根据权利要求1-12中任一权利要求所述的方法。
14.一种装置,其包括一个或多个存储器,并构造成执行根据权利要求1-12中任一权利要求所述的方法。
CN201080049716.0A 2009-10-29 2010-10-29 基于未来使用估计的分配存储器 Pending CN102713824A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US25629909P 2009-10-29 2009-10-29
US61/256,299 2009-10-29
US12/854,804 2010-08-11
US12/854,804 US8521986B2 (en) 2009-10-29 2010-08-11 Allocating storage memory based on future file size or use estimates
PCT/US2010/054856 WO2011059837A1 (en) 2009-10-29 2010-10-29 Allocating storage memory based on future use estimates

Publications (1)

Publication Number Publication Date
CN102713824A true CN102713824A (zh) 2012-10-03

Family

ID=43926620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080049716.0A Pending CN102713824A (zh) 2009-10-29 2010-10-29 基于未来使用估计的分配存储器

Country Status (10)

Country Link
US (2) US8521986B2 (zh)
EP (1) EP2494436A1 (zh)
JP (1) JP2013509658A (zh)
KR (1) KR20120102664A (zh)
CN (1) CN102713824A (zh)
AU (1) AU2010319840A1 (zh)
CA (1) CA2778147A1 (zh)
RU (1) RU2012120252A (zh)
TW (1) TW201140430A (zh)
WO (1) WO2011059837A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970641A (zh) * 2014-05-15 2014-08-06 浪潮电子信息产业股份有限公司 一种基于容量预测技术的设备扩容方法
CN105700819A (zh) * 2014-11-28 2016-06-22 国际商业机器公司 用于网络数据存储的方法和系统
CN105787012A (zh) * 2016-02-23 2016-07-20 深圳市瑞驰信息技术有限公司 一种提高存储系统处理小文件的方法以及存储系统
CN109032965A (zh) * 2017-06-12 2018-12-18 华为技术有限公司 一种数据读取方法、主机及存储设备
CN110968272A (zh) * 2019-12-16 2020-04-07 华中科技大学 基于时间序列预测的海量小文件存储性能优化方法及系统
CN114063885A (zh) * 2020-07-31 2022-02-18 伊姆西Ip控股有限责任公司 用于管理存储空间的方法、设备和计算机程序产品

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110106861A1 (en) * 2009-11-04 2011-05-05 Nokia Corporation Interface Techniques Providing Contiguous Storage For Files
US8775766B2 (en) * 2010-02-02 2014-07-08 International Business Machines Corporation Extent size optimization
US8745232B2 (en) * 2010-08-18 2014-06-03 Dell Products L.P. System and method to dynamically allocate electronic mailboxes
US8548961B2 (en) * 2011-03-30 2013-10-01 Splunk Inc. System and method for fast file tracking and change monitoring
US8566336B2 (en) 2011-03-30 2013-10-22 Splunk Inc. File identification management and tracking
US9229657B1 (en) 2012-11-01 2016-01-05 Quantcast Corporation Redistributing data in a distributed storage system based on attributes of the data
US9811529B1 (en) * 2013-02-06 2017-11-07 Quantcast Corporation Automatically redistributing data of multiple file systems in a distributed storage system
US9792295B1 (en) 2013-02-06 2017-10-17 Quantcast Corporation Distributing data of multiple logically independent file systems in distributed storage systems including physically partitioned disks
GB2520943B (en) * 2013-12-03 2016-12-28 Samsung Electronics Co Ltd Memory allocation for applications based on identified allocation history
US9740481B2 (en) 2013-12-03 2017-08-22 Samsung Electronics Co., Ltd. Electronic device and method for memory allocation in electronic device
JP6050768B2 (ja) 2014-01-31 2016-12-21 京セラドキュメントソリューションズ株式会社 データ記憶装置及びデータ記憶方法
US10788994B1 (en) * 2014-12-30 2020-09-29 EMC IP Holding Company LLC Disaggregation of flash management
US9696930B2 (en) 2015-06-10 2017-07-04 International Business Machines Corporation Reducing new extent failures on target device during non-disruptive logical data set migration
US10120920B2 (en) * 2015-07-10 2018-11-06 International Business Machines Corporation Increasing storage space for processes impacting data storage systems
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
CN105354315B (zh) * 2015-11-11 2018-10-30 华为技术有限公司 分布式数据库中子表分裂的方法、子表节点和系统
US10228886B2 (en) 2016-04-20 2019-03-12 International Business Machines Corporation Storage device volume selection for improved space allocation
US9588976B1 (en) * 2016-07-22 2017-03-07 Red Hat, Inc. Delayed allocation for a direct access non-volatile file system
US9886449B1 (en) * 2016-07-22 2018-02-06 Red Hat, Inc. Delayed allocation for data object creation
US11977456B2 (en) * 2016-11-23 2024-05-07 2236008 Ontario Inc. File system framework
US9996293B1 (en) * 2016-12-12 2018-06-12 International Business Machines Corporation Dynamic management of memory allocation in a database
US10684902B2 (en) * 2017-07-28 2020-06-16 Advanced Micro Devices, Inc. Method and apparatus for memory vulnerability prediction
US11061734B2 (en) * 2019-01-31 2021-07-13 Salesforce.Com, Inc. Performing customized data compaction for efficient parallel data processing amongst a set of computing resources
KR102362319B1 (ko) * 2019-08-09 2022-02-15 한국전자기술연구원 메모리 할당 방법 및 이를 수행하기 위한 메모리 관리 시스템
KR102407263B1 (ko) * 2019-08-09 2022-06-13 한국전자기술연구원 뉴로모픽 메모리 관리 시스템 및 이를 통한 가중치 연산 방법
US11449738B2 (en) 2019-08-09 2022-09-20 Korea Electronics Technology Institute Neuromorphic memory management system and method thereof
KR102408966B1 (ko) * 2019-08-09 2022-06-15 한국전자기술연구원 뉴로모픽 메모리 관리 시스템 및 관리 방법
KR102609577B1 (ko) * 2019-11-11 2023-12-05 주식회사 케이티 양자 암호키 관리 장치, 방법 및 컴퓨터 프로그램
US11683373B2 (en) * 2020-02-20 2023-06-20 Comcast Cable Communications, Llc Systems, methods, and apparatuses for storage management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0892340A2 (en) * 1997-07-14 1999-01-20 International Business Machines Corporation Method and apparatus for reducing space allocation failures in storage management systems
US20030131278A1 (en) * 2002-01-10 2003-07-10 Hitachi, Ltd. Apparatus and method for multiple generation remote backup and fast restore
US20040059758A1 (en) * 2002-09-20 2004-03-25 International Business Machines Corporation Method and apparatus for optimizing extent size
US20070150492A1 (en) * 2005-12-27 2007-06-28 Hitachi, Ltd. Method and system for allocating file in clustered file system
WO2007081638A2 (en) * 2005-12-21 2007-07-19 Sandisk Corporation Non-volatile memories and methods with adaptive file handling in a directly mapped file storage system
US20090235041A1 (en) * 2008-03-13 2009-09-17 Antony Harris Storage of sequentially sensitive data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61292758A (ja) * 1985-06-20 1986-12-23 Fujitsu Ltd 直接アクセス装置の領域割当て方式
JP3112709B2 (ja) * 1991-08-08 2000-11-27 シャープ株式会社 追記型記憶媒体のアクセス装置
JP3988417B2 (ja) * 2001-09-05 2007-10-10 日本電気株式会社 コンピュータシステム、記憶装置、ファイル配置方法、及びファイル配置プログラム
JP2005309791A (ja) * 2004-04-22 2005-11-04 Hitachi Ltd ディスク装置及びスワップファイルの再配置方法
JP4183660B2 (ja) * 2004-06-25 2008-11-19 シャープ株式会社 ファイル管理方法及び装置
JP2006146812A (ja) * 2004-11-24 2006-06-08 Sony Corp 情報処理装置、情報処理方法、プログラム
JP2007221489A (ja) * 2006-02-16 2007-08-30 Kyocera Corp 通信端末及び通信方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0892340A2 (en) * 1997-07-14 1999-01-20 International Business Machines Corporation Method and apparatus for reducing space allocation failures in storage management systems
US20030131278A1 (en) * 2002-01-10 2003-07-10 Hitachi, Ltd. Apparatus and method for multiple generation remote backup and fast restore
US20040059758A1 (en) * 2002-09-20 2004-03-25 International Business Machines Corporation Method and apparatus for optimizing extent size
WO2007081638A2 (en) * 2005-12-21 2007-07-19 Sandisk Corporation Non-volatile memories and methods with adaptive file handling in a directly mapped file storage system
US20070150492A1 (en) * 2005-12-27 2007-06-28 Hitachi, Ltd. Method and system for allocating file in clustered file system
US20090235041A1 (en) * 2008-03-13 2009-09-17 Antony Harris Storage of sequentially sensitive data

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970641A (zh) * 2014-05-15 2014-08-06 浪潮电子信息产业股份有限公司 一种基于容量预测技术的设备扩容方法
CN105700819A (zh) * 2014-11-28 2016-06-22 国际商业机器公司 用于网络数据存储的方法和系统
US10078662B2 (en) 2014-11-28 2018-09-18 International Business Machines Corporation Data storage in a network
CN105700819B (zh) * 2014-11-28 2019-04-12 国际商业机器公司 用于网络数据存储的方法和系统
US10303789B2 (en) 2014-11-28 2019-05-28 International Business Machines Corporation Data storage in a network
CN105787012A (zh) * 2016-02-23 2016-07-20 深圳市瑞驰信息技术有限公司 一种提高存储系统处理小文件的方法以及存储系统
CN105787012B (zh) * 2016-02-23 2019-08-27 深圳市瑞驰信息技术有限公司 一种提高存储系统处理小文件的方法以及存储系统
CN109032965A (zh) * 2017-06-12 2018-12-18 华为技术有限公司 一种数据读取方法、主机及存储设备
CN109032965B (zh) * 2017-06-12 2021-01-12 华为技术有限公司 一种数据读取方法、主机及存储设备
CN110968272A (zh) * 2019-12-16 2020-04-07 华中科技大学 基于时间序列预测的海量小文件存储性能优化方法及系统
CN114063885A (zh) * 2020-07-31 2022-02-18 伊姆西Ip控股有限责任公司 用于管理存储空间的方法、设备和计算机程序产品

Also Published As

Publication number Publication date
US20130332693A1 (en) 2013-12-12
WO2011059837A1 (en) 2011-05-19
TW201140430A (en) 2011-11-16
JP2013509658A (ja) 2013-03-14
AU2010319840A1 (en) 2012-05-17
EP2494436A1 (en) 2012-09-05
US20110107053A1 (en) 2011-05-05
US8521986B2 (en) 2013-08-27
CA2778147A1 (en) 2011-05-19
KR20120102664A (ko) 2012-09-18
RU2012120252A (ru) 2013-12-10

Similar Documents

Publication Publication Date Title
CN102713824A (zh) 基于未来使用估计的分配存储器
KR102240557B1 (ko) 데이터 저장 방법, 장치 및 시스템
CN100590607C (zh) 存储系统以及存储区域释放方法以及存储装置
CN103106152B (zh) 基于层次存储介质的数据调度方法
CN101090356B (zh) 使能对远程存储装置的访问的方法和系统
JP5411250B2 (ja) 冗長データ記憶システムへの指示に従ってのデータ配置
KR101626186B1 (ko) 피어 및 클라우드로부터 파일 및 시스템의 차분 복구
CN102436420B (zh) 使用辅助存储器的低ram空间、高吞吐量的持久键值存储
CN104537076B (zh) 一种文件读写方法及装置
CN102567215B (zh) 用于精简供应的空间分配的方法和系统
CN100590583C (zh) 写入和读取应用数据的方法和系统
CN105144142A (zh) 使用对象多个维度的信息存储对象
CN103597482A (zh) 在存储节点上存储数据
CN101236480A (zh) 存储模块及容量池空闲容量调整方法
CN102546782A (zh) 一种分布式系统及其数据操作方法
CN105103114A (zh) 提供多个层的数据存储、文件和卷系统
US8516070B2 (en) Computer program and method for balancing processing load in storage system, and apparatus for managing storage devices
CN105122202A (zh) 多层卷上的文件系统操作
CN105653396A (zh) 备份系统及其备份方法
CN110109868A (zh) 用于索引文件的方法、装置和计算机程序产品
CN102023816A (zh) 一种对象存储系统的对象存放策略和访问方法
CN104583966A (zh) 用于去重复文件系统的备份和恢复系统以及对应的服务器和方法
US7792966B2 (en) Zone control weights
CN100594480C (zh) 复制设备、复制方法和块标识数据获取方法
CN108132759A (zh) 一种文件系统中管理数据的方法和装置

Legal Events

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

Application publication date: 20121003