CN103430174A - 基于存储位置属性和数据使用统计选择用于存储数据的存储位置 - Google Patents
基于存储位置属性和数据使用统计选择用于存储数据的存储位置 Download PDFInfo
- Publication number
- CN103430174A CN103430174A CN2012800046061A CN201280004606A CN103430174A CN 103430174 A CN103430174 A CN 103430174A CN 2012800046061 A CN2012800046061 A CN 2012800046061A CN 201280004606 A CN201280004606 A CN 201280004606A CN 103430174 A CN103430174 A CN 103430174A
- Authority
- CN
- China
- Prior art keywords
- physical storage
- storage locations
- data
- logical block
- stored
- 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
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or 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/0673—Single storage device
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)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种选择用于存储数据的物理存储位置的方法。该方法涉及通过匹配物理存储位置的属性与数据的使用统计来选择用于存储数据存储的物理存储位置。
Description
技术领域
本发明涉及选择物理存储位置。更具体地,本发明涉及基于存储位置属性和数据使用统计选择物理存储位置以用于数据存储。
背景技术
数据在物理上存储于物理存储介质中的物理存储位置。物理存储介质的示例包括磁盘、光盘、磁性光盘、固态驱动器等。物理存储介质还可包括混合体,该混合体是两种或更多种不同类型的物理存储介质的组合。例如,物理存储介质可以实现为固态驱动器和旋转磁盘驱动器的组合。
物理上存储在物理存储介质中的数据被组织在操作系统维护的磁盘文件中。磁盘文件被划分为多个逻辑块,其中每个逻辑块被映射或分配给物理存储介质中的物理存储位置。被组织在特定逻辑块中的数据可以通过读取或写入分配给该特定逻辑块的物理存储位置而被访问。被组织在特定逻辑块中的数据在这里可以称为逻辑上存储在特定逻辑块上的数据。
此部分所描述的方案是可以执行的方案,但未必是以前已经被设想并执行过的方案。因此,除非另有说明,否则不应该仅仅凭借这些方案包含在本部分中而认为本部分所描述的方案中的任何方案相当于现有技术。
附图说明
在附图中通过示例而非通过限制对本发明进行了图示,并且附图中的相同的参考数字指代类似的元件,并且其中:
图1显示根据一个或更多个实施例的用于选择存储位置的示例性系统;
图2显示根据一个或更多个实施例的用于数据定位的流程图;
图3显示可用于实现一个或更多个实施例的计算机系统的框图。
具体实施方式
在以下的描述中,为了说明的目的,记载了大量具体的细节以提供对本发明的透彻理解。然而,显而易见的是,也可以脱离这些具体的细节来实践本发明。在其它实例中,公知的结构和设备以框图的形式显示以避免不必要地混淆本发明。
下文所描述的若干特征中的每个特征都能够彼此独立地使用或与其它特征的任意组合一起使用。然而,任何一个单个的特征可能都无法解决以上所讨论问题中的任何问题,或者可能只解决以上所讨论问题中的一个问题。以上所讨论问题中的一些问题可能无法被这里所描述的特征的任何特征完全解决。虽然这里提供了标题,但是与特定标题有关的信息还可能在说明书中的其它部分中找到,而无法在具有该标题的那部分中找到。
概述
本发明提供了一种用于数据定位的方法。在一个或更多个实施例中,该方法涉及选择物理存储位置以便存储逻辑上存储在文件系统的逻辑块中的数据。这种物理存储位置的选择取决于(a)数据的使用统计和(b)存储位置属性。
在一个实施例中,频繁访问的数据存储在访问速率快、故障前寿命长和/或存储相关数据的物理存储位置中。
虽然这里记载了用具体部件来执行方法步骤,然而在其它实施例中,代表特定部件的代理或机制也可以执行这些方法步骤。另外,虽然可以就单一系统上的部件讨论实施例,但是也可以使用分布在多个系统上的部件来实施这些实施例。此外,虽然可以对关于特定物理存储装置或特定物理存储类型讨论实施例,但是实施例同样适用于任何物理存储装置或物理存储类型(如旋转的磁盘驱动器、固态驱动器(SSD)、网络附加存储(NAS)、存储区域网(SAN)、混合驱动器等)。
实施例还包括具有用于执行这里所描述的方法步骤的装置的任何(一个或多个)系统或(一个或多个)设备。实施例还包括具有指令的计算机可读介质,当处理器执行这些指令时,将导致这里所描述的方法步骤被执行。
系统结构
虽然这里描述了具体的系统结构,但是其它实施例适用于可用于进行数据定位的任何结构。图1显示根据一个或更多个实施例的用于进行数据定位的示例性系统(100)。如图1所示,系统(100)包含数据定位引擎(108)、存储驱动器(112)以及一个或更多个数据存储库(114)。系统(100)还可以包括其它硬件和/或软件部件,虽然没有显示这些硬件和/或软件,但是它们仍可用于实现一个或更多个实施例。例如,维护磁盘文件的操作系统可以与数据定位引擎(108)或存储驱动器(112)通信地耦连。这些部件中的每个部件可以位于同一个设备上,或者可以位于通过网络(如因特网、企业网、以太网、局域网(LAN)、广域网(WAN)等)与有线和/无线区域耦连的分离的设备上或位于通过其它方式耦连的分离的设备上。在一个实施例中,可以对系统(100)进行不同的配置。例如,数据定位引擎(108)可以逻辑上位于存储驱动器(112)和数据存储库(114)之间。在另一个示例中,数据定位引擎(108)可以实现为存储驱动器(112)的部件。
在一个或更多个实施例中,系统(100)采用客户端-服务器拓扑结构来实现。此外,其它机器可以利用一个或更多个接口访问该系统。在一个或更多个实施例中,一个或更多用户可以通过网络连接(如因特网)访问该系统。也可以通过网络连接存储并访问该系统提供的信息和/或服务。
数据存储库
数据存储库(114)通常表示包含一个或更多个存储装置的物理存储介质,所述存储装置具有可存储数据(104)的物理存储位置。数据存储库(114)的一些部分可以直接连接到系统(100),或者通过网络或其它合适的接口连接。数据存储库(114)可以包括本领域已知的任何类型的存储装置。例如,数据存储库(114)可以包括闪存、随机访问存储器(RAM)、辅助存储装置、传统的旋转磁盘驱动器、固态驱动器(SSD)、传统的旋转磁盘驱动器(platterdrive)与SSD的混合组合、独立的存储系统如存储区域网(SAN)或网络附加存储(NAS)设备。
在一个实施例中,数据存储库(114)中的每个存储装置可以包括不同类型的存储位置。例如,数据存储库(114)中的SSD可以包含不同的单元,如单层单元(SLC)、多层单元(MLC)或其组合。因此,数据存储库(114)中可用于至系统(100)的存储的物理存储位置可能在单一的存储装置上或多个存储装置上,在不同的存储装置上或甚至在单一的存储装置内具有不同的配置。
物理存储位置属性
在一个实施例中,数据存储库(114)中的物理存储位置和/或数据存储装置可能在物理存储位置属性方面不同。物理存储位置属性的示例包括顺序写入速度、顺序读取速度、随机写入速度、随机读取速度、寿命、每秒的输入/输出操作(IOPS)等。物理存储位置或数据存储装置的寿命通常表示物理存储位置或数据存储装置在故障前的估计使用期限。例如,物理存储位置或数据存储装置的寿命可能取决于估计的故障前可完成的写入次数(下文中称为“故障前写入次数”)或估计的故障前可完成的读取次数(下文中称为“故障前读出次数”)。例如,故障前写入次数和/或故障前读取次数可以例如根据基于相似设备的统计来估计。估计的故障前写入次数和估计的故障前读取次数可以从制造商或其它源接收到。估计的故障前写入次数和估计的故障前读出次数可包含确切的信息。例如,物理存储位置、物理存储位置的区域或设备可能编程为在完成特定次数的读出和/或写入之后发生故障。这种估计可以是具体的数字或可能是几乎无限的。例如,存储装置可以允许几乎无限次的读取而不发生故障。物理存储位置的寿命可以是基于估计的故障前读出次数和估计的故障前写入次数的组合而计算的值。
在一个实施例中,物理存储位置或数据存储装置的估计寿命可以是物理存储位置或数据存储装置的使用时间的长度。物理存储位置或数据存储装置的寿命可能依任何因素而不同(如制造商、使用年限、运行环境等)。另外,物理存储位置属性(110)可以包含特定物理存储位置或特定存储装置的历史使用情况。物理存储位置的实际使用通常表示物理存储位置已被访问的次数(如物理存储位置被写入或读取的次数)、已使用数据存储装置的时间量等。
在一个实施例中,物理存储位置的物理存储位置属性可以包含已经存储在该物理存储位置的数据。例如,从辅助存储装置(如旋转磁盘驱动器)加载到随机访问存储器(RAM)的存储在特定物理存储块中的数据可以包含逻辑上存储在相关逻辑块中的数据。在一个实施例中,用于为数据选择物理存储位置的选择程序可能考虑其它已经存储在该物理存储位置的数据。
在一个实施例中,将相关的数据存储在相同的物理存储位置(如同一物理存储块中或在同一组物理存储块中)可以提高性能。例如,在单一的物理存储块中读取相关数据可能涉及将单一的物理存储块从辅助存储装置加载到RAM。读取多个物理存储块中的数据可能涉及将多个物理存储块从辅助存储装置加载到RAM。
逻辑块
在一个实施例中,逻辑块是磁盘文件内用于数据(104)的组织的分区。逻辑块可以包含任意数量的数据。在一个实施例中,逻辑块是能够被单独引用并从辅助存储装置加载的页。
在一个实施例中,组织在特定逻辑块中的数据在这里可以称为逻辑上存储在该特定逻辑块上的数据。这里引用的访问逻辑块包括访问逻辑上存储在该逻辑块内的任何数据。逻辑上存储在逻辑块内的数据在物理上存储在分配给该逻辑块的物理存储位置。
在一个实施例中,操作系统可以通过参考逻辑上存储数据(104)的逻辑块来访问存储在数据存储库(114)中的数据(104)。根据从磁盘文件到物理存储介质的映射,可以识别分配给逻辑块的物理存储位置。例如,表格可以为逻辑块指明物理存储位置的地址。在另一个示例中,可以向逻辑块的地址添加偏移以获得映射到该逻辑块的物理存储器位置的地址。一旦确定了物理存储器位置的地址,就可以读取数据或将数据写入该物理存储器位置。
使用统计
在一个实施例中,使用统计(102)是与逻辑块关联的。与特定的逻辑块关联的使用统计(102)包括与逻辑上存储在该特定逻辑块内的任何数据有关的统计。
在一个实施例中,特定逻辑块的使用统计包括对该特定逻辑块的访问频率。例如,使用统计可以包括与该特定逻辑块关联的写入访问的频率。与特定的逻辑块有关的写入访问的频率可以通过记录对逻辑上存储在该特定逻辑块中的任意数据的所有写入访问来计算。与特定的逻辑块关联的写入访问的频率可以通过对每个时间段内对逻辑上存储在该特定逻辑块中的任意数据的写入访问次数求平均来计算。与特定的逻辑块关联的写入访问的频率可以根据相对于写入访问的总次数的逻辑上存储在该特定逻辑块中的任意数据的写入访问次数来计算。
读取访问的频率也可以利用类似的示例计算技术来计算。在一个实施例中,访问的频率可能基于写入访问频率与读取访问频率的组合。
在一个实施例中,特定逻辑块的使用统计包括对逻辑上存储在该特定逻辑块中的任意数据的访问时间记录。例如,对逻辑上存储在该特定逻辑块中的任意数据的访问可能在事件(如系统启动、系统关闭、系统暂停、系统休眠、系统重启)之前或之后、每天、每周、数据创建之后立即发生等。
数据定位引擎
在一个实施例中,系统(100)中的数据定位引擎(108)通常表示包含用于选择物理存储位置以存储数据的逻辑的软件和/或硬件。
在一个实施例中,这里引用的选择物理存储位置可以包括选择物理存储位置类型或物理存储位置属性。所选的物理存储位置包括该物理存储类型或具有该物理存储位置属性的任何物理存储位置。例如,选择物理存储位置可以包括选择混合驱动器的固态驱动器部分,所述混合驱动器包括固态驱动器和旋转磁盘驱动器。另一个示例涉及从旋转磁盘驱动器上的多个区域中选择旋转磁盘驱动的特定区域。另一个示例涉及选择最小写入速度以及选择至少具有该最小写入速度的任何物理存储位置(如区域或装置)。
在一个实施例中,这里引用的选择物理存储位置可以包括选择物理存储位置的物理地址以存储逻辑上存储在特定逻辑块中的数据。
在一个实施例中,数据定位引擎(108)可以是运行在一个或更多个服务器上的应用程序,而在一些实施例中可以是点对点应用程序,或者位于单一的计算系统上(如个人计算机、手持装置、广告亭、车载计算机或者具有存储装置的任何其它系统)。
在一个实施例中,数据定位引擎(108)可以在系统(100)中实现为存储驱动器(112)的部件。在一个实施例中,数据定位引擎(108)可以在系统(100)中实现于操作系统(未显示)和存储驱动器(112)之间。在一个实施例中,数据定位引擎(108)可以被置于系统(100)中存储驱动器(112)和数据存储库(114)之间。
在一个实施例中,数据定位引擎(108)可以重写存储驱动器(112)所做的物理存储位置的选择。例如,数据定位引擎(108)可以从存储驱动器接收用于存储逻辑上存储在特定逻辑块中的数据的物理存储位置的选择。根据一个或更多个实施例,数据定位引擎(108)可以选择替换的物理存储位置并将数据存储在该替换的物理存储位置。
在一个实施例中,数据定位引擎(108)可以识别一组连续的物理存储位置,用来存储逻辑上存储在特定逻辑块中的数据。数据定位引擎(108)可以通过识别起始物理存储位置地址和/或结束物理存储位置地址来识别一组物理存储位置。
在一个实施例中,数据定位引擎(108)可以配置成识别数据存储库(114)中的物理存储装置以存储数据(104)(例如,如果多于一个的装置可用)。数据定位引擎(108)还可以配置成从数据存储库(114)中选择区域或特定的存储位置地址来存储数据(104)。
存储驱动器
在一个实施例中,存储驱动器(112)根据直接或间接从数据定位引擎(108)接收的一组指令在数据存储库(114)中检索并存储数据(104)。
在一个实施例中,存储驱动器(112)接收数据定位引擎(108)识别的物理存储位置类型或物理存储位置属性。之后,存储驱动器(112)选择与物理存储位置类型或物理存储位置属性相匹配的物理存储位置的地址来存储数据(104)。
在一个实施例中,数据定位引擎(108)可以提供数据并指定物理存储介质中用于存储数据的物理存储位置。存储驱动器(112)接收的物理存储位置可以包括存储装置、存储装置的区域、逻辑存储位置地址或物理存储位置地址。在一个实施例中,存储驱动器(112)可以基于指定区域或指定装置内可用的物理存储位置来确定物理存储位置地址。
在一个实施例中,数据存储驱动器(112)向数据定位引擎(108)发送识别物理存储位置的数据和信息用于由数据定位引擎(108)进行数据的存储。
基于与逻辑块关联的使用统计和存储位置属性选择存储位置
图2显示根据一个或更多个实施例用于数据定位的流程图。在一个或更多个实施例中,以下步骤中的一个或更多个步骤可以被省略、重复或者按照不同的顺序执行。因此,图2中所示步骤的具体安排不应当解释为对本发明范围的限制。
在一个实施例中,监测对逻辑上存储在特定逻辑块中的数据的访问以确定该特定逻辑块的使用统计(步骤202)。对逻辑上存储在特定逻辑块中的数据的访问可以在一个或更多个不同的系统级别上监测。例如,可以在应用程序级、操作系统级、存储驱动器级或硬件级监测对数据的访问。
在一个实施例中,可以在操作系统级监测文件请求。例如,针对操作系统接收的每个文件请求识别磁盘文件的对应逻辑块。表明访问的类型、访问的时间和逻辑块的信息可以被记录。
在一个实施例中,可以在存储驱动器级监测对数据的访问。例如,可以监测基于逻辑块确定物理存储位置地址(如通过指针、通过映射、通过计算等)的请求。请求中的逻辑块可以被记录。
在一个实施例中,可以在硬件级监测对数据的访问。例如,可以针对读取访问或写入访问监测物理存储位置。每次从物理存储地址读取数据或者写入数据到物理存储地址,被分配了该物理存储地址的相应逻辑块可以被确定并记录。
对逻辑上存储在逻辑块中的数据的访问可以在其它级别(如操作系统和存储驱动器之间的级别或存储驱动器和物理存储器之间的级别)进行监测。
在一个实施例中,任何记录的信息都可以聚合为使用统计(如访问的频率、访问的类型、访问的时间等)。使用统计可以包括从记录的信息中所识别的模式。例如,模式可以表明逻辑上存储在特定逻辑块中的数据每天在9点被读取。
在一个实施例中,数据访问的时间可能与事件(如系统关闭、系统启动、系统休眠、系统暂停、系统重启等)有关。例如,使用统计可包括可以识别的以下模式:在系统启动期间读取逻辑上存储在特定逻辑块的数据的模式和在系统关闭期间写入逻辑上存储在特定逻辑块中的数据的模式。模式可能与事件之前、事件之后或者事件期间的数据访问有关。例如,事件可能包括特定的系统状态。在系统处于特定状态期间,逻辑上存储在某些逻辑块中的数据可能被连续读取。
在一个实施例中,获取与可用物理存储位置的物理存储位置属性有关的信息(步骤204)。与物理存储位置属性有关的信息可以由存储装置的制造商(或另一个实体)提供。例如,物理存储位置属性可以在与存储装置一起出售的固态驱动器(SSD)上提供。存储装置的物理存储位置属性还可以存储在存储装置本身上,从而访问该存储装置的系统可以从该存储装置中读取物理存储位置属性。
在一个实施例中,可以在存储装置上执行测试以确定存储装置内不同物理存储位置的属性。例如,可以在传统旋转磁盘驱动器的不同区域上执行一系列的读取和/或写入以确定旋转磁盘驱动器内不同区域的读取和/或写入速度。另一个示例涉及测试SSD中单层单元和同一SSD中多层单元的读取和写入速度。该测试可能表明单层单元较快。另一个示例可能涉及追踪一个物理存储位置或一组物理存储位置在故障之前被访问的次数以确定与物理存储位置或与存储装置总体明确关联的寿命。
在一个实施例中,基于(a)对特定逻辑块的使用统计以及(b)物理存储位置的属性来选择物理存储位置用于存储逻辑上存储在特定逻辑块中的数据(步骤206)。
在一个实施例中,具有高读取和/或写入访问速度的物理存储位置被选择用于存储逻辑上存储在与高访问频率关联的逻辑块中的数据。进一步,具有读取和/或写入访问速度低的物理存储位置被选择用于存储逻辑上存储在与低访问频率关联的逻辑块中的数据。
在一个实施例中,寿命长的物理存储位置被选择用于存储逻辑上存储在与高访问频率关联的逻辑块中的数据。进一步,寿命短的物理存储位置被选择用于存储逻辑上存储在与低访问频率关联的逻辑块中的数据。
在一个实施例中,响应于确定数据预计在自数据存储开始的特定时间窗内被读取,逻辑上存储在逻辑块中的数据可以存储在高速度的存储位置。可以基于数据被存储的时间或事件选择物理存储位置来存储逻辑上存储在逻辑块中的数据。例如,如果统计使用表明逻辑上存储在特定逻辑块中的数据每天上午9点被读取并且该数据在上午7点到上午9点之间被存储,则该数据可以存储在读取速度高的物理存储位置。
在一个实施例中,不同类型的使用统计(如访问的频率、访问的类型、访问的时间等)和/或不同类型的存储位置属性(如速度、寿命等)可以被结合起来评估以确定用于存储逻辑上存储在特定逻辑块中的数据的物理存储位置。例如,逻辑上存储在特定逻辑块中的特定数据可能被频繁地读取而非频繁地写入。可以选择读取速度高且估计的故障前读取次数高的物理存储位置来存储该特定数据。即使该物理存储位置的写入速度低或估计的故障前写入次数低,也可以选择该物理存储位置。
在一个实施例中,物理存储位置的选择取决于所有可用存储位置的比较。例如,可用存储位置中前四分之一的最快最长持续时间的存储位置与访问最频繁的前四分之一的数据相匹配。
另一个示例涉及传统的磁盘驱动器和固态驱动器的同时使用。传统的磁盘驱动器通常趋于具有很高的寿命或估计的使用期限。然而,传统的磁盘驱动器趋于缓慢。相比之下,固态驱动器通常具有低寿命,但是提供比传统的磁盘驱动器高的读取/写入速度。在一个示例中,后台进程可连续地向逻辑上存储在特定逻辑块中的数据集(如日志文件)写入,并且可能很少读取数据。在这种情况下,在低优先级后台进程请求写入的基础上可以做出决定,即对逻辑上存储在特定逻辑块的数据的写入速度并不重要。该决定可能是在即便频繁地请求写入访问而很少请求读取访问的基础上做出的。具有低写入速度的传统磁盘驱动器可能是合适的,因为传统磁盘驱动器将允许大量的写入而不会故障,并且写入速率并不重要。在该示例中,固态驱动器可能是不合适的,因为固态驱动器在连续写入的情况下更有可能会发生故障,并且固态驱动器的高写入速率将是不必要的。
一旦选择了合适的物理存储位置进行数据的存储,即将数据存储在所选的物理存储位置(步骤208)。将数据存储到物理存储位置可能涉及指示存储驱动器将数据存储到与特定存储位置属性(如最小寿命)相匹配的任何物理存储位置。
在一个实施例中,将数据存储到物理存储位置可能涉及指示存储驱动器将数据存储到存储器的特定区域内的任何物理存储位置。例如,特定存储装置或存储装置内的特定区域可能被选择。之后,存储驱动器可以选择物理存储位置的具体地址来存储数据。
在一个实施例中,将数据存储在物理存储位置可能涉及指示存储驱动器将数据存储到物理存储位置的特定地址。
复制数据存储
在一个实施例中,数据的副本可以存储在多个物理存储位置(如多个不同的装置及/或单一装置的多个区域)。例如,逻辑上存储在磁盘文件的逻辑块中的数据可以同时存储在旋转磁盘驱动器和固态驱动器上。
在一个实例中,数据可以从第一数据源(如旋转磁盘驱动器)请求。响应该请求,做出被请求的数据也存储在固态驱动器上的决定。可以从固态驱动器而非旋转磁盘驱动器中读取该数据。由于一个或更多因素,可能选择新的数据源而不是请求的数据源。例如,从固态驱动器中读取数据可能比从旋转磁盘驱动器中读取数据更快。在另一个涉及连续读请求的示例中,由于旋转磁盘驱动器的寿命的原因,可能选择旋转磁盘驱动器作为数据源而不是请求的固态驱动器。
在一个实施例中,根据系统的当前使用情况,可以选择特定的物理存储位置。例如,可以对存储被请求数据的多个存储装置进行评估以确定当前的使用情况或当前的输入/输出请求队列。具有最少的当前使用或者最大的当前可用性的存储装置可以被选为用于检索数据的数据源。在一个示例中,具有该数据的存储装置中的一台装置可能已经被安排用于即将到来的计算机工作,而另一个存储装置可能是可用的。
硬件综述
根据一个实施例,这里所描述的技术是通过一个或更多个专用计算装置来实施的。专用的计算装置可以被硬连接以实现该技术,或者可以包括数字电子装置(如一个或更多个专用集成电路(ASIC)或被持续编程以实现该技术的现场可编程门阵列(FPGA)),或者可以包括一个或更多个通用硬件处理器,所述通用硬件处理器被编程为根据固件、内存、其它存储装置或者组合中的程序指令来实现该技术。这些专用计算装置还可以将自定义硬连接逻辑、ASIC或FPGA与自定义编程相结合来实现该技术。专用计算装置可以是台式计算机系统、便携式计算机系统、手持设备、网络设备或者包含硬连接逻辑和/或程序逻辑以实现该技术的任何其它设备。
例如,图3是图示计算机系统300的框图,在该系统上可以实现本发明的实施例。计算机系统300包含总线302或用于传输信息的其它通信机制以及与总线302连接用于处理信息的硬件处理器304。例如,硬件处理器304可以是通用微处理器。
计算机系统300还包含主存储器306,如随机访问存储器(RAM)或其它动态存储装置,主存储器306耦连至总线302用于存储信息和将由处理器304执行的指令。在将由处理器304执行的指令的执行期间,主存储器306还可用来存储临时变量或其它中间信息。当这些指令存储在处理器304可访问的非瞬时性存储介质中时,这些指令使计算机系统300成为被定制用来执行指令中指定的操作的专用机。
计算机系统300进一步包含只读存储器(ROM)308或与总线302相连、用于为处理器304存储静态信息和指令的其它静态存储装置。存储装置310(如磁盘或光盘)被提供并且与总线302耦连用于存储信息和指令。
计算机系统300可以通过总线302耦连至显示器312,如阴极射线管(CRT),用于向计算机用户显示信息。具有字母数字和其它键的输入设备314耦连至总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入设备是光标控制316,如鼠标、轨迹球或用于向处理器304传输方向信息和命令选择并用于控制显示器312上的光标移动的光标方向键。该输入设备一般在两个轴——第一轴(如x)和第二轴(如y)上具有两种自由度,这允许设备在平面中指定位置。
计算机系统300可以使用自定义硬连接逻辑、一个或更多个ASIC或FPGA、固件和/或程序逻辑(其与计算机系统结合使得计算机系统300成为专用机或者将计算机系统300编程为专用机)来实现这里所描述的技术。根据一个实施例,计算机系统300执行这里的技术以响应处理器304执行包含在主存储器306中的一个或更多指令的一个或更多序列。这些指令可以从其他存储介质(如存储装置310)读取到主存储器306中。包含在主存储器306中的指令序列的执行使得处理器304执行这里描述的过程步骤。在可替代的实施例中,硬连接电路可以代替软件指令使用,或与软件指令结合使用。
这里所使用的术语“存储介质”指代存储数据和/或使机器按特定方式运行的指令的任何非瞬时性介质。这种存储介质可以包括非易失性介质和易失性介质。例如,非易失性介质包括光盘或磁盘,如存储装置310。易失性介质包括动态存储器,如主存储器306。例如,常见形式的存储介质包括软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、NVRAM、任何其它的存储器芯片或单元存储器。
存储介质与传输介质不同,但是可以和传输介质共同使用。传输介质参与存储介质之间的信息传递。例如,传输介质包括同轴电缆、铜线和光纤,其具有包括总线302的电线。传输介质还能够采用声波或光波的形式,如在无线电波和红外数据通信期间所产生的那些波。
传输一个或更多个指令的一个或更多个序列到处理器304以便执行的过程中可能涉及各种形式的介质。例如,可以首先将指令传输到远程计算机的磁盘或固态驱动器上。远程计算机可将指令加载到其动态存储器中并使用调制解调器通过电话线路发送这些指令。计算机系统300本地上的调制解调器可接收电话线路上的数据并使用红外发射器将该数据转化为红外信号。红外探测器可接收红外信号中携带的数据并且合适的电路可将该数据置于总线302上。总线302将数据传输到主存储器306,处理器304从主存储器306中检索并执行这些指令。主存储器306接收的指令可以在被处理器304执行之前或之后可选地存储在存储装置310上。
计算机系统300还包含与总线302耦连的通信接口318。通信接口318提供耦连到网络链路320的双向数据通信,网络链路320连接到本地网络322。例如,通信接口318可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或提供至相应类型的电话线路的数据通信连接的调制解调器。作为另一个示例,通信接口318可以是局域网(LAN)卡,用于提供至兼容LAN的数据通信连接。无线链路也可以被实现。在任何这样的实现中,通信接口318发送并接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路320通常通过一个或更多个网络提供到其它数字设备的数据通信。例如,网络链路320可以通过本地网络322提供至主机计算机324或者至互联网服务提供商(ISP)326运营的数字设备的连接。ISP326反过来通过世界范围的分组数据通信网(现在通常称为“因特网”328)提供数据通信服务。本地网络322和因特网328均使用携带数字数据流的电信号、电磁信号或光信号。穿过各种网络的信号以及在网络链路320上并通过通信接口318的信号是传输介质的示例形式,其携带去往计算机系统300的数字数据并携带来自计算机系统300的数字数据。
计算机系统300能够通过(一个或更多)网络、网络链路320以及通信接口318发送消息并接收数据,包括程序代码。在因特网示例中,服务器330可通过因特网328、ISP326、本地网络322以及通信接口318为应用程序传输请求的代码。
当代码被接收时,处理器304可以执行接收的代码,并/或将代码存储在存储装置310或其它非易失性存储装置中供以后执行。
在以上的说明中,参考大量具体细节描述了本发明的实施例,而这些具体细节可能因实现的不同而不同。因此,应当从说明性而非限制性意义来考虑说明书和附图。本发明范围的唯一和排他性的指示以及申请人意指的本发明的范围是从该申请获得的特定形式的权利要求书的字面及等效范围,包括任何后续的修正。
Claims (16)
1.一种计算机实现的方法,其包括:
确定与文件系统中的逻辑块关联的使用统计;
基于(a)与第一物理存储位置关联的至少一个属性和(b)与所述逻辑块关联的所述使用统计,选择多个物理存储位置的所述第一物理存储位置以分配给所述逻辑块;以及
使所述逻辑块分配给所述第一物理存储位置。
2.根据权利要求1所述的方法,其进一步包括:
接收读取逻辑上存储在所述逻辑块中的数据的请求,其中所述数据存储在所述第一物理存储位置和第二物理存储位置;
至少基于与所述第一物理存储位置关联的特定属性从所述第一物理存储位置读取所述数据。
3.根据权利要求1所述的方法,其进一步包括:
接收读取存储在第二物理存储位置的数据的请求;
确定所述数据也存储在所述第一物理存储位置;
至少基于与所述第一物理存储位置关联的特定属性从所述第一物理存储位置读取所述数据。
4.根据权利要求3所述的方法,其中所述特定属性是所述第一物理存储位置的当前使用情况。
5.根据权利要求1所述的方法,其中确定使用统计包括监测对逻辑上存储在所述逻辑块中的任意数据的访问。
6.根据权利要求1所述的方法,其中确定使用统计包括监测对在执行监测时分配给所述逻辑块的一个或更多个物理存储位置的访问。
7.根据权利要求1所述的方法,其中确定使用统计包括监测来自操作系统的引用所述逻辑块的数据访问请求。
8.根据权利要求1所述的方法,其中所述使用统计包括以下各项中的一个或更多个:
与逻辑上存储在所述逻辑块中的任何数据关联的读取频率;
与逻辑上存储在所述逻辑块中的任何数据关联的写入频率;
与逻辑上存储在所述逻辑块中的任何数据关联的访问计时。
9.根据权利要求1所述的方法,其中逻辑上存储在逻辑块中的数据是能够从辅助存储装置中单独请求的最小存储器单元。
10.根据权利要求1所述的方法,其中选择所述第一物理存储位置包括选择连续的物理存储空间来存储逻辑上存储在所述逻辑存储器块中的数据。
11.根据权利要求1所述的方法,其中所述至少一个属性包括所述第一物理存储位置的读取访问速度或所述第一物理存储位置的写入访问速度中的一个或更多个。
12.根据权利要求1所述的方法,其中所述至少一个属性包括所述第一物理存储位置的估计的故障前写入访问次数或所述第一物理存储位置的估计的故障前读取访问次数中的一个或更多个。
13.根据权利要求1所述的方法,其中所述至少一个属性包括在所述第一物理存储位置被选择之前存储在所述第一物理存储位置中的数据。
14.根据权利要求1所述的方法,其中使所述逻辑块分配给所述第一物理存储位置包括:
在多个逻辑块到所述多个物理存储位置的映射中将所述逻辑块映射到所述第一物理存储位置。
15.一种非瞬时性计算机可读存储介质,其包括被一个或更多个处理器执行时完成权利要求1-14中任一项所述的步骤的指令。
16.一种设备,其包括:
一个或更多个处理器;
被配置用以完成权利要求1-14中任一项所述的步骤的设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/984,553 US9052826B2 (en) | 2006-07-28 | 2011-01-04 | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
US12/984,553 | 2011-01-04 | ||
PCT/US2012/020198 WO2012094400A1 (en) | 2011-01-04 | 2012-01-04 | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103430174A true CN103430174A (zh) | 2013-12-04 |
Family
ID=45509744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012800046061A Pending CN103430174A (zh) | 2011-01-04 | 2012-01-04 | 基于存储位置属性和数据使用统计选择用于存储数据的存储位置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9052826B2 (zh) |
EP (1) | EP2661707A1 (zh) |
JP (1) | JP2014501997A (zh) |
CN (1) | CN103430174A (zh) |
AU (1) | AU2012204481A1 (zh) |
TW (1) | TW201241650A (zh) |
WO (1) | WO2012094400A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045523A (zh) * | 2014-04-15 | 2015-11-11 | 三星电子株式会社 | 存储控制器、存储装置和系统及操作存储控制器的方法 |
CN105242977A (zh) * | 2015-10-20 | 2016-01-13 | 广东欧珀移动通信有限公司 | 一种智能终端的存储访问性能的测试方法及装置 |
CN107450853A (zh) * | 2017-08-01 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种数据文件读取方法及装置 |
CN108733307A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备以及计算机可读介质 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132621A1 (en) * | 2006-07-28 | 2009-05-21 | Craig Jensen | Selecting storage location for file storage based on storage longevity and speed |
US7870128B2 (en) * | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
US9052826B2 (en) | 2006-07-28 | 2015-06-09 | Condusiv Technologies Corporation | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
US8918585B2 (en) | 2010-01-28 | 2014-12-23 | Hitachi, Ltd. | Management system calculating storage capacity to be installed/removed |
US8954688B2 (en) * | 2010-10-06 | 2015-02-10 | International Business Machines Corporation | Handling storage pages in a database system |
US20120317337A1 (en) * | 2011-06-09 | 2012-12-13 | Microsoft Corporation | Managing data placement on flash-based storage by use |
JP2013061847A (ja) * | 2011-09-14 | 2013-04-04 | Sony Corp | 情報処理装置および情報処理方法 |
CN103677653B (zh) * | 2012-09-21 | 2017-07-25 | 联想(北京)有限公司 | 一种基于ssd的数据处理方法及电子设备 |
GB2506164A (en) | 2012-09-24 | 2014-03-26 | Ibm | Increased database performance via migration of data to faster storage |
US9106721B2 (en) * | 2012-10-02 | 2015-08-11 | Nextbit Systems | Application state synchronization across multiple devices |
US10057726B2 (en) | 2012-10-02 | 2018-08-21 | Razer (Asia-Pacific) Pte. Ltd. | Managing user data on an electronic device |
US9569476B2 (en) * | 2013-04-02 | 2017-02-14 | International Business Machines Corporation | Intelligent data routing and storage provisioning |
JP6050768B2 (ja) * | 2014-01-31 | 2016-12-21 | 京セラドキュメントソリューションズ株式会社 | データ記憶装置及びデータ記憶方法 |
US10105593B2 (en) | 2014-04-08 | 2018-10-23 | Razer (Asia-Pacific) Pte. Ltd. | File prefetching for gaming applications accessed by electronic devices |
US10888119B2 (en) | 2014-07-10 | 2021-01-12 | Rai Strategic Holdings, Inc. | System and related methods, apparatuses, and computer program products for controlling operation of a device based on a read request |
US9658964B2 (en) * | 2014-12-02 | 2017-05-23 | Seagate Technology Llc | Tiered data storage system |
US10154112B1 (en) * | 2015-02-11 | 2018-12-11 | EMC IP Holding Company LLC | Cloud-to-cloud data migration via cache |
TWI698742B (zh) * | 2017-11-30 | 2020-07-11 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 |
TWI656442B (zh) | 2017-11-30 | 2019-04-11 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 |
US10810054B1 (en) | 2019-07-29 | 2020-10-20 | Hitachi, Ltd. | Capacity balancing for data storage system |
WO2021135820A1 (en) * | 2019-12-30 | 2021-07-08 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for storage management of media content on electronic device, electronic device, and non-transitory computer-readable storage medium |
US11422721B2 (en) | 2020-01-31 | 2022-08-23 | Dropbox, Inc. | Data storage scheme switching in a distributed data storage system |
US20210272035A1 (en) * | 2020-02-28 | 2021-09-02 | Uber Technologies, Inc. | Storage location selection according to query evaluation |
JP7334136B2 (ja) | 2020-06-15 | 2023-08-28 | 富士フイルム株式会社 | カートリッジ管理システム、カートリッジ管理システムの作動方法、及びプログラム |
Family Cites Families (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4467421A (en) * | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
US4607346A (en) * | 1983-03-28 | 1986-08-19 | International Business Machines Corporation | Apparatus and method for placing data on a partitioned direct access storage device |
US5018060A (en) | 1989-01-26 | 1991-05-21 | Ibm Corporation | Allocating data storage space of peripheral data storage devices using implied allocation based on user parameters |
US5398142B1 (en) * | 1989-05-31 | 1997-09-16 | Raxco Inc | Method for eliminating file fragmentation and reducing average seek times in a magnetic disk media environment |
JPH0415839A (ja) * | 1990-05-10 | 1992-01-21 | Toshiba Corp | 分散データベース管理装置 |
AU661304B2 (en) * | 1991-03-05 | 1995-07-20 | Zitel Corporation | Cache memory system and method of operating the cache memory system |
US5590300A (en) * | 1991-03-05 | 1996-12-31 | Zitel Corporation | Cache memory utilizing address translation table |
US5594885A (en) * | 1991-03-05 | 1997-01-14 | Zitel Corporation | Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry |
US5475545A (en) * | 1991-03-28 | 1995-12-12 | Seagate Technology, Inc. | Method for reducing noise during seeks in a hard disk drive |
US5491810A (en) * | 1994-03-01 | 1996-02-13 | International Business Machines Corporation | Method and system for automated data storage system space allocation utilizing prioritized data set parameters |
US5592622A (en) * | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
JPH0944381A (ja) * | 1995-07-31 | 1997-02-14 | Toshiba Corp | データ格納方法およびデータ格納装置 |
WO1997011426A1 (en) * | 1995-09-18 | 1997-03-27 | Cyberstorage Systems, Inc. | Universal storage management system |
US5854941A (en) * | 1996-05-31 | 1998-12-29 | Acceleration Software International Corporation | System for estimating access time by deriving from first and second rotational time from rotational time table based on logical address and head movement time |
US5884022A (en) * | 1996-06-03 | 1999-03-16 | Sun Microsystems, Inc. | Method and apparatus for controlling server activation in a multi-threaded environment |
US6032224A (en) * | 1996-12-03 | 2000-02-29 | Emc Corporation | Hierarchical performance system for managing a plurality of storage units with different access speeds |
US6469343B1 (en) * | 1998-04-02 | 2002-10-22 | Nippon Steel Corporation | Multi-level type nonvolatile semiconductor memory device |
US6175899B1 (en) * | 1997-05-19 | 2001-01-16 | International Business Machines Corporation | Method for providing virtual atomicity in multi processor environment having access to multilevel caches |
JP3044005B2 (ja) * | 1997-05-29 | 2000-05-22 | 公一 柴山 | データ格納制御方式 |
US6023706A (en) * | 1997-07-11 | 2000-02-08 | International Business Machines Corporation | Parallel file system and method for multiple node file access |
US6199150B1 (en) * | 1997-07-15 | 2001-03-06 | Matsushita Electric Industrial Co., Ltd. | Data memory apparatus forming memory map having areas with different access speeds |
JPH11224491A (ja) * | 1997-12-03 | 1999-08-17 | Sony Corp | 不揮発性半導体記憶装置およびそれを用いたicメモリカード |
US6301640B2 (en) * | 1998-07-02 | 2001-10-09 | Lucent Technologies, Inc. | System and method for modeling and optimizing I/O throughput of multiple disks on a bus |
US6192481B1 (en) * | 1998-08-18 | 2001-02-20 | International Business Machines Corporation | Structure and method for power sequencing of disk drives in a computer system |
US6897346B1 (en) * | 1999-06-10 | 2005-05-24 | Fina Technology, Inc. | Aromatic conversion process employing low surface area zeolite Y |
US6378042B1 (en) * | 1999-08-11 | 2002-04-23 | Fast-Chip, Inc. | Caching associative memory |
US6760723B2 (en) * | 2000-01-31 | 2004-07-06 | Commvault Systems Inc. | Storage management across multiple time zones |
US6542972B2 (en) * | 2000-01-31 | 2003-04-01 | Commvault Systems, Inc. | Logical view and access to physical storage in modular data and storage management system |
US6848019B1 (en) * | 2000-02-17 | 2005-01-25 | Seagate Technology Llc | Performance in a data storage device using head-to-head offsets in access command scheduling |
JP3607153B2 (ja) | 2000-02-28 | 2005-01-05 | シャープ株式会社 | ファイル管理方法及び装置 |
JP2002073383A (ja) | 2000-08-31 | 2002-03-12 | Matsushita Electric Ind Co Ltd | 情報サービスの方法 |
US6535891B1 (en) * | 2000-09-26 | 2003-03-18 | Emc Corporation | Method and apparatus for indentifying accesses to a repository of logical objects stored on a storage system based upon information identifying accesses to physical storage locations |
US6772285B2 (en) * | 2000-11-30 | 2004-08-03 | Emc Corporation | System and method for identifying busy disk storage units |
US6801994B2 (en) * | 2000-12-20 | 2004-10-05 | Microsoft Corporation | Software management systems and methods for automotive computing devices |
US20020191311A1 (en) * | 2001-01-29 | 2002-12-19 | Ulrich Thomas R. | Dynamically scalable disk array |
US6715098B2 (en) * | 2001-02-23 | 2004-03-30 | Falconstor, Inc. | System and method for fibrechannel fail-over through port spoofing |
US6839836B2 (en) * | 2001-04-13 | 2005-01-04 | Hewlett-Packard Development Company, L.P. | Portable computing device with specialized operating system |
US7512964B2 (en) * | 2001-06-29 | 2009-03-31 | Cisco Technology | System and method for archiving multiple downloaded recordable media content |
US6760918B2 (en) * | 2001-06-29 | 2004-07-06 | Scientific-Atlanta, Inc. | Method and apparatus for recordable media content distribution |
JP4701550B2 (ja) * | 2001-07-06 | 2011-06-15 | ソニー株式会社 | 記録装置および方法、記録媒体、並びにプログラム |
US6965989B1 (en) * | 2001-08-14 | 2005-11-15 | Network Appliance, Inc. | System and method for fast reboot of a file server |
US7092977B2 (en) * | 2001-08-31 | 2006-08-15 | Arkivio, Inc. | Techniques for storing data based upon storage policies |
US7003116B2 (en) * | 2001-10-31 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | System for encrypted file storage optimization via differentiated key lengths |
ES2359399T3 (es) * | 2001-11-23 | 2011-05-23 | Commvault Systems, Inc. | Sistema y procedimiento de duplicación selectiva de datos. |
US6744967B2 (en) * | 2001-12-20 | 2004-06-01 | Scientific-Atlanta, Inc. | Program position user interface for personal video recording time shift buffer |
US6904496B2 (en) * | 2002-03-25 | 2005-06-07 | Dell Products L.P. | Computer system with improved write cache and method therefor |
US7330954B2 (en) | 2002-04-18 | 2008-02-12 | Intel Corporation | Storing information in one of at least two storage devices based on a storage parameter and an attribute of the storage devices |
US6785794B2 (en) * | 2002-05-17 | 2004-08-31 | International Business Machines Corporation | Differentiated storage resource provisioning |
US7013364B2 (en) * | 2002-05-27 | 2006-03-14 | Hitachi, Ltd. | Storage subsystem having plural storage systems and storage selector for selecting one of the storage systems to process an access request |
US7017085B2 (en) * | 2002-05-30 | 2006-03-21 | Capital One Financial Corporation | Systems and methods for remote tracking of reboot status |
US6868424B2 (en) * | 2002-07-25 | 2005-03-15 | Xerox Corporation | Electronic filing system with file-placeholders |
US7370068B1 (en) * | 2002-09-04 | 2008-05-06 | Teradata Us, Inc. | Sorting of records with duplicate removal in a database system |
US7191304B1 (en) * | 2002-09-06 | 2007-03-13 | 3Pardata, Inc. | Efficient and reliable virtual volume mapping |
US7203713B2 (en) * | 2002-09-20 | 2007-04-10 | International Business Machines Corporation | Method and apparatus for optimizing extent size |
WO2004066277A2 (en) | 2003-01-20 | 2004-08-05 | Equallogic, Inc. | System and method for distributed block level storage |
WO2004109517A1 (ja) | 2003-06-09 | 2004-12-16 | Fujitsu Limited | ストレージ管理装置、ストレージ装置、ファイル処理システム、ファイル管理システム、並びにこれらの方法およびプログラム |
JP4404246B2 (ja) * | 2003-09-12 | 2010-01-27 | 株式会社日立製作所 | データ特性に基づくバックアップシステム及び方法 |
US8788764B2 (en) * | 2003-10-08 | 2014-07-22 | Oracle International Corporation | Access controller for storage devices |
US7814554B1 (en) * | 2003-11-06 | 2010-10-12 | Gary Dean Ragner | Dynamic associative storage security for long-term memory storage devices |
US7669032B2 (en) * | 2003-11-26 | 2010-02-23 | Symantec Operating Corporation | Host-based virtualization optimizations in storage environments employing off-host storage virtualization |
US20050125456A1 (en) * | 2003-12-09 | 2005-06-09 | Junichi Hara | File migration method based on access history |
JP4445783B2 (ja) | 2003-12-09 | 2010-04-07 | 株式会社日立製作所 | ファイル管理装置、ファイル管理装置を用いた計算機システム |
US7836021B2 (en) * | 2004-01-15 | 2010-11-16 | Xerox Corporation | Method and system for managing image files in a hierarchical storage management system |
US7136973B2 (en) * | 2004-02-04 | 2006-11-14 | Sandisk Corporation | Dual media storage device |
US7383400B2 (en) * | 2004-04-22 | 2008-06-03 | Apple Inc. | Method and apparatus for evaluating and improving disk access time in a RAID system |
US20070083491A1 (en) * | 2004-05-27 | 2007-04-12 | Silverbrook Research Pty Ltd | Storage of key in non-volatile memory |
US7533230B2 (en) | 2004-10-13 | 2009-05-12 | Hewlett-Packard Developmetn Company, L.P. | Transparent migration of files among various types of storage volumes based on file access properties |
US7490197B2 (en) * | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US7212440B2 (en) * | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
US9104315B2 (en) * | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US7397700B2 (en) * | 2005-04-11 | 2008-07-08 | Stmicroelectronics S.R.L. | Non-volatile memory electronic device with NAND structure being monolithically integrated on semiconductor |
JP2006338370A (ja) * | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
US7681004B2 (en) * | 2005-06-13 | 2010-03-16 | Addmm, Llc | Advanced dynamic disk memory module |
US7571295B2 (en) * | 2005-08-04 | 2009-08-04 | Intel Corporation | Memory manager for heterogeneous memory control |
US7660834B2 (en) * | 2005-08-17 | 2010-02-09 | International Business Machines Corporation | Maintaining an aggregate including active files in a storage pool |
RU2312388C2 (ru) * | 2005-09-22 | 2007-12-10 | Андрей Игоревич Ефимов | Способ организации многопроцессорной эвм |
US8131689B2 (en) * | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
US7865673B2 (en) * | 2005-11-04 | 2011-01-04 | Oracle America, Inc. | Multiple replication levels with pooled devices |
US20070156998A1 (en) * | 2005-12-21 | 2007-07-05 | Gorobets Sergey A | Methods for memory allocation in non-volatile memories with a directly mapped file storage system |
US20070143567A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for data alignment in non-volatile memories with a directly mapped file storage system |
US8321859B2 (en) * | 2005-12-22 | 2012-11-27 | Alan Joshua Shapiro | Method and apparatus for dispensing on a data-storage medium customized content comprising selected assets |
US8756399B2 (en) * | 2006-01-25 | 2014-06-17 | Seagate Technology Llc | Mutable association of a set of logical block addresses to a band of physical storage blocks |
US7395394B2 (en) * | 2006-02-03 | 2008-07-01 | Hewlett-Packard Development Company, L.P. | Computer operating system with selective restriction of memory write operations |
US7496711B2 (en) * | 2006-07-13 | 2009-02-24 | International Business Machines Corporation | Multi-level memory architecture with data prioritization |
US20090132621A1 (en) * | 2006-07-28 | 2009-05-21 | Craig Jensen | Selecting storage location for file storage based on storage longevity and speed |
US7536504B2 (en) * | 2006-07-28 | 2009-05-19 | Diskeeper Corporation | Online storage medium transfer rate characteristics determination |
US7870128B2 (en) * | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
US9052826B2 (en) | 2006-07-28 | 2015-06-09 | Condusiv Technologies Corporation | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
US7899987B2 (en) * | 2007-05-15 | 2011-03-01 | Sandisk Il Ltd. | File storage in a computer system with diverse storage media |
US20090157756A1 (en) * | 2007-12-15 | 2009-06-18 | Hitachi Global Storage Technologies Netherlands, B.V. | File System For Storing Files In Multiple Different Data Storage Media |
US7870363B2 (en) * | 2007-12-28 | 2011-01-11 | Intel Corporation | Methods and arrangements to remap non-volatile storage |
US8452927B2 (en) * | 2008-01-02 | 2013-05-28 | Sandisk Technologies Inc. | Distributed storage service systems and architecture |
US8375180B2 (en) * | 2010-02-05 | 2013-02-12 | International Business Machines Corporation | Storage application performance matching |
-
2011
- 2011-01-04 US US12/984,553 patent/US9052826B2/en active Active
-
2012
- 2012-01-03 TW TW101100183A patent/TW201241650A/zh unknown
- 2012-01-04 JP JP2013548482A patent/JP2014501997A/ja active Pending
- 2012-01-04 CN CN2012800046061A patent/CN103430174A/zh active Pending
- 2012-01-04 WO PCT/US2012/020198 patent/WO2012094400A1/en active Application Filing
- 2012-01-04 AU AU2012204481A patent/AU2012204481A1/en not_active Abandoned
- 2012-01-04 EP EP12700750.8A patent/EP2661707A1/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045523A (zh) * | 2014-04-15 | 2015-11-11 | 三星电子株式会社 | 存储控制器、存储装置和系统及操作存储控制器的方法 |
CN105045523B (zh) * | 2014-04-15 | 2020-11-24 | 三星电子株式会社 | 存储控制器、存储装置和系统及操作存储控制器的方法 |
CN105242977A (zh) * | 2015-10-20 | 2016-01-13 | 广东欧珀移动通信有限公司 | 一种智能终端的存储访问性能的测试方法及装置 |
CN105242977B (zh) * | 2015-10-20 | 2018-03-09 | 广东欧珀移动通信有限公司 | 一种智能终端的存储访问性能的测试方法及装置 |
CN108733307A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备以及计算机可读介质 |
CN108733307B (zh) * | 2017-04-17 | 2021-06-08 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备以及计算机可读介质 |
CN107450853A (zh) * | 2017-08-01 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种数据文件读取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
AU2012204481A1 (en) | 2013-07-25 |
US20110167230A1 (en) | 2011-07-07 |
WO2012094400A1 (en) | 2012-07-12 |
AU2012204481A8 (en) | 2013-08-15 |
JP2014501997A (ja) | 2014-01-23 |
EP2661707A1 (en) | 2013-11-13 |
US9052826B2 (en) | 2015-06-09 |
TW201241650A (en) | 2012-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103430174A (zh) | 基于存储位置属性和数据使用统计选择用于存储数据的存储位置 | |
US11693568B2 (en) | Workload-adaptive overprovisioning in solid state storage drive arrays | |
CN102023813B (zh) | 在动态页重新分配存储系统中的应用和层配置管理 | |
KR100974043B1 (ko) | 디스크 데이터 기억 시스템의 유지보수비를 결정하기 위한주문형 비용량성 기반 방법, 장치 및 컴퓨터 프로그램 | |
US7594076B2 (en) | Disk array apparatus, data migration method, and storage medium | |
JP4749255B2 (ja) | 複数種類の記憶デバイスを備えたストレージシステムの制御装置 | |
US7836251B2 (en) | Storage controller, and method operative to relocate logical storage devices based on times and locations specified in a relocating plan | |
US8065492B2 (en) | System and method for early detection of failure of a solid-state data storage system | |
CN101676857B (zh) | 存储系统 | |
US8880801B1 (en) | Techniques for reliability and availability assessment of data storage configurations | |
US20140254042A1 (en) | Dynamic allocation of lba to un-shingled media partition | |
JP2011513805A (ja) | 保存耐用年数および速度に基づいたファイル保存のための保存場所の選択 | |
CN103597444A (zh) | 按照使用来管理基于闪存的存储上的数据放置 | |
US8286015B2 (en) | Storage array power management using lifecycle information | |
CN101292220A (zh) | 用于管理存储装置的系统、方法和程序 | |
CN101714062A (zh) | 改进的混合驱动器 | |
US8161251B2 (en) | Heterogeneous storage array optimization through eviction | |
CN104516471A (zh) | 一种管理存储器系统的电源的方法和装置 | |
CN102341779A (zh) | 在多层级虚拟化存储结构中管理存储数据的布置的方法、系统和计算机程序产品 | |
WO2019083390A1 (en) | USE OF RECURRENT WRITE QUOTAS TO OPTIMIZE THE USE OF STATIC SEMICONDUCTOR DISK | |
CN109947353A (zh) | 存储管理方法、固态硬盘及可读存储介质 | |
JP2018197933A (ja) | ストレージ制御装置、情報処理システムおよびプログラム | |
CN111124303A (zh) | 一种数据的存储方法、装置及系统 | |
KR20140041408A (ko) | 저장 위치 속성 및 데이터 사용량 통계에 기초하여 데이터 저장을 위한 저장 위치 선택 | |
US8812780B2 (en) | Raid group control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131204 |