CN104516824A - 数据存储系统中的存储管理方法和系统 - Google Patents

数据存储系统中的存储管理方法和系统 Download PDF

Info

Publication number
CN104516824A
CN104516824A CN201410512576.6A CN201410512576A CN104516824A CN 104516824 A CN104516824 A CN 104516824A CN 201410512576 A CN201410512576 A CN 201410512576A CN 104516824 A CN104516824 A CN 104516824A
Authority
CN
China
Prior art keywords
data
address
memory controller
storage system
response
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
Application number
CN201410512576.6A
Other languages
English (en)
Other versions
CN104516824B (zh
Inventor
安德鲁·戴尔·沃尔斯
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104516824A publication Critical patent/CN104516824A/zh
Application granted granted Critical
Publication of CN104516824B publication Critical patent/CN104516824B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management

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)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开涉及数据存储系统中的存储管理方法和系统。在数据存储系统中,响应于接收到来自处理器系统的包括地址和数据的写输入/输出操作(IOP),数据存储系统的存储控制器确定该地址是否为较频繁访问的热地址。响应于确定该地址是热地址,存储控制器在数据存储系统中以未压缩的形式存储该数据。响应于确定该地址不是热地址,存储控制器压缩该数据以获得压缩数据并且在数据存储系统中存储该压缩数据。

Description

数据存储系统中的存储管理方法和系统
技术领域
本发明涉及数据存储,并且更具体地,涉及采用基于软件的数据压缩的数据存储系统。
背景技术
常规上已采用数据压缩来增加数据存储系统的有效存储容量。随着处理器变得越来越强大以及每插槽处理器核数量的增加,一些数据存储系统已采用基于软件的数据压缩作为廉价的方式来增加有效存储容量。在基于软件的数据压缩中,在数据存储系统的处理器执行压缩软件来压缩所有写到数据存储系统的存储资源的数据并且解压缩从存储资源中读取的所有数据。使用基于软件的数据压缩在利用硬盘驱动器(HDD)存储装置的数据存储系统中已经尤为成功,其中在HDD存储装置中数据吞吐量和输入/输出操作(IOP)率往往相对较低。
随着对存储系统性能要求的提高,业界已显示出对采用较高速度的存储技术—诸如闪存存储器和固态盘(SSD)—作为数据存储系统的大容量存储介质的日益增长的兴趣。由于SSD通常比HDD成本高,压缩可以增加在相对昂贵介质上的存储数量,从而减少每兆字节(GB)的成本。然而,本发明认识到实现基于软件的数据压缩为了压缩写到数据存储系统中的数据和解压缩从数据存储系统中读取的数据,把数据存储系统的处理器置于每个读和写访问的关键定时路径中。因此,本发明认识到基于软件的压缩会在处理器产生瓶颈,该瓶颈降低了性能、增加了响应时间并减少了在数据存储系统中实现较高速度存储技术,诸如闪存存储器和SSD,的优势。
发明内容
本文所公开的是选择性地在数据存储系统中执行基于软件的数据压缩以在明显提高存储系统性能的同时完成良好的总体压缩。如本文进一步所描述的,可基于数据的热度(heat)(即,访问的相对频繁度)选择性地应用基于软件的压缩。
在数据存储系统的一些实施例中,响应于接收到来自处理器系统的包括地址和数据的写输入/输出操作(IOP),数据存储系统的存储控制器确定该地址是否为较频繁访问的热地址。响应于确定该地址是热地址,存储控制器在数据存储系统中以未压缩的形式存储该数据。响应于确定该地址不是热地址,存储控制器压缩该数据以获得压缩数据并且在数据存储系统中存储该压缩数据。
附图说明
图1是根据一种实施例的数据处理环境的高层框图;
图2是示例性方法的高层逻辑流程图,其中通过该示例性方法数据存储系统确定“最热”地址的动态可变的百分比,其中用于这些地址的相关联的数据将不被数据存储子系统压缩;
图3是在数据存储系统中基于数据热度选择性执行基于软件的数据压缩的示例性方法的高层逻辑流程图;及
图4说明了根据一种实施例的示例性温度数据结构(TDS)。
具体实施方式
现在参考附图并尤其参考图1,其中图示了包括数据存储系统的示例性数据处理环境100的高层框图,其中数据存储系统实现数据的选择性的基于软件的压缩,如本文进一步所描述的。如所示出的,数据处理环境100包括至少一个处理器系统102,其具有一个或多个处理指令和数据的处理器104。处理器系统102可附加地包括本地存储装置106(例如,动态随机访问存储器(DRAM)或磁盘),本地存储装置可以存储程序代码、操作数和/或由处理器104执行的处理的执行结果。在各种实施例中,处理器系统102可以是例如移动计算设备(诸如智能手机)、膝上型或台式个人计算机系统、服务器计算机系统(诸如可从国际商用机器公司获得的POWER系列中的一个)、或大型机计算机系统。
处理器系统102还包括输入/输出(I/O)适配器108,该输入/输出适配器108经I/O通道110直接地(即,没有任何中间设备)或间接地(即,通过至少一个中间设备)耦合到数据存储系统120。在各种实施例中,I/O通道可以采用已知的或将来开发的通信协议中的任何一种或组合,所述通信协议包括,例如,光纤通道(FC)、以太网上FC(FCoE)、因特网小型计算机系统接口(iSCSI)、传输控制协议/因特网协议(TCP/IP)等。经I/O通道110通信的I/O操作(IOP)包括读IOP和写IOP,其中处理器系统102通过读IOP从数据存储系统120请求数据,处理器系统102通过写IOP请求在数据存储系统120中存储数据。
数据存储系统120包括大容量存储介质122,其通常提供比处理器系统102的本地存储装置106大得多的存储容量。大容量存储介质122通常用非易失性存储介质实现,诸如磁盘、闪存存储器、SSD、相变存储器(PCM)等。取决于数据存储系统120的大小与配置,大容量存储介质122可以物理上完全或部分地位于与数据存储系统120的其余部分相同的外壳内或者可以被外部放置在一个或多个单独的外壳内。通过处理器系统102对大容量存储介质122的内容的读和写访问由存储控制器124控制。在至少一种实施例中,存储控制器124实现对数据存储系统120的软件控制。因此,图1说明了存储控制器124的实施例,该存储控制器124包括存储控制代码130的私有存储器128,以及一个或多个处理器126,处理器126执行来自私有存储器128的控制代码130以控制数据存储系统120。私有存储器128附加地包括压缩代码131,该压缩代码被一个或多个处理器126执行以实现对由处理器系统102写到数据存储系统120的数据的选择性的基于软件的压缩,如本文进一步所公开的。
由于选择用来实现大容量存储介质122的存储技术通常具有比其它可用存储技术更高的访问延迟,因此数据存储系统120通常包括高速缓存由处理器系统102写到数据存储系统120的数据的较低延迟的写高速缓存132。写高速缓存132包括用于存储写数据的数组140,以及指示至少当前在数组140中保持的数据的地址的目录142。在至少一些实施例中,写高速缓存132可以是通过由存储控制器124执行控制代码130来软件管理的,以便智能地和选择性地高速缓存从处理器系统102接收的写IOP的写数据,以确保写高速缓存以提高(而不是消减)数据存储系统120预期的性能度量的方式实现。
如在图1中进一步示出的,数据存储系统120可选地还可以包括读高速缓存134,其高速缓存可能由处理器系统102从大容量存储介质122中读取的数据。读高速缓存器134包括用于存储读数据的数组150和指示至少数组150的内容的地址的目录。写高速缓存132和读高速缓存器134可以用例如DRAM、SRAM、或PCM实现。
应当注意,在数据处理环境100的一些实施例中,多于一个的处理器系统102可以访问单一数据存储系统120。同样,在一些实施例中,数据存储系统120可作为本地存储装置106的一部分实现。在还有的其它实施例中,存储控制器124和数据存储系统120的写高速缓存132可作为本地存储装置106的一部分实现并且可经I/O通道110外部附接大容量存储介质122。
现在参照图2,其中描绘了示例性方法的高层逻辑流程图,通过该示例性方法,数据存储系统确定“最热”地址的可变的百分比,其中用于这些地址的相关联的数据将不被数据存储系统120压缩。图2的过程优选地由存储控制器124通过执行控制代码130来完成。在可替换的实施例中,控制代码130的功能可以部分地或全部地用硬件,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC),实现。
所说明的过程在块200开始,之后前进到块202,其描绘了存储控制器124,该存储控制器124初始化在由数据存储系统120采用的I/O地址空间中最频繁访问(即,最热)的地址的某个百分比,其中存储控制器124将不对这些最频繁访问的地址执行基于软件的数据压缩。该初始化步骤可以例如作为数据存储系统120的引导过程的一部分来执行。尽管取决于例如处理器126的数量和性能、数据存储系统120用于某个IOP工作负载的预期平均响应时间(ART)、及IOP的期望接收率(rate of receipt),在块202建立的初始百分比在实施例之间会变化很大,但是,在至少一些实施例中,在块202建立的初始百分比大约是在I/O地址空间中的地址的最热的10%。该初始化的值可被设置成用于数据存储系统的全部内容和/或可以基于该数据存储系统的历史平均而设置。而且,应当认识到,与这些地址相关联的存储颗粒的大小会在实施例之间变化,并且在一些实现中,可以是例如通过执行控制代码130动态地可配置的。例如,存储颗粒的大小可以是64kB、256kB、1MB、100MB,等等。
在块202初始化之后,过程前进到包括块204-212的处理循环,其中存储控制器124动态地改变最热地址的百分比,其中在数据存储系统120的操作过程中(即,当数据存储系统120正在服务于从处理器系统102接收的读和写IOP时)不为这些地址执行基于软件的数据压缩。在图2中示出的实施例中,存储控制器124基于存储控制器124不断监视的一个或多个性能标准改变该百分比。在各种实施例中,包括块204-212的处理循环可以例如以固定的时间间隔、或响应于诸如处理器126的CPU使用率之类的一个或多个性能标准、满足一个或多个阈值来执行。
现在参考块204,存储控制器124确定处理器126的当前CPU使用率是否满足第一阈值。例如,在至少一些实施例中,在块204描述的确定确定处理器126的平均CPU使用率是否大于或等于第一阈值,诸如50%。响应于在块204的否定确定,过程前进到块208,这将在下面进行描述。但是,响应于存储控制器124在块204确定处理器126的CPU使用率满足第一阈值,过程前进到块206。
块206描绘了存储控制器124增加压缩代码131对其的数据不执行压缩的最热地址的当前百分比。在各种实施例中,存储控制器124可以在块206将该百分比增加固定的或可配置的量,并且还可以基于一个或多个性能标准改变增加的量,其中性能标准包括存储控制器124的CPU使用率、ART、写IOP的接收率等。作为在块206所做的增加的结果,存储控制器124为较少的写IOP的存储数据执行基于软件的数据压缩(通过执行压缩代码131),这不仅直接减少了处理器的使用率,还具有随之而来的效果,即,减少了在闪存存储器中的重复数据删除(deduplication)和垃圾回收过程中基于软件的数据压缩和减少了由读IOP请求的读数据的基于软件的数据解压缩。在块206之后,图2的过程返回到块204,这已经进行了描述。
现在参考块208,存储控制器124确定数据存储系统120在当前(或最近)的时间间隔上的平均响应时间(ART)是否满足(例如,大于或等于)第二阈值。在各种实施例中,在块208的确定中采用的ART可以是数据存储系统120响应于仅仅IOP(例如,所有写IOP或所有读IOP)的子集或响应于所有IOP的ART。响应于在块208的否定确定,过程前进到块210,这将在以下描述。但是,响应于存储控制器124在块208确定数据存储系统120的ART满足第二阈值,过程转到块206,这已经进行了描述。
现在参考块210,存储控制器124确定来自处理器系统102的写IOP的由数据存储系统120的接收率(即,对其可能会执行基于软件的数据压缩的IOP)是否满足(例如,大于或等于)第三阈值。如果是,则过程转到块206,这已经进行了描述。另一方面,如果存储控制器124在块210确定写IOP的接收率不满足第三阈值,则过程转到块212。块212说明存储控制器124减少最热地址的当前百分比,对于这些最热地址,不通过压缩代码131为其执行基于软件的数据压缩(即,增加由压缩代码131对其执行基于软件的数据压缩的地址的当前百分比)。在各种实施例中,存储控制器124可以在块212将该百分比减少固定的或可配置的量,并且还可以基于一个或多个性能标准改变减少的量,其中性能标准包括存储控制器124的CPU使用率、ART、写IOP的接收率等。可以在一些实施例中使用的另一个标准是平均响应时间是否已超过阈值比如五分钟的时间间隔。作为在块212所做的减少的结果,存储控制器124为更多的写IOP的存储数据执行基于软件的数据压缩(通过执行压缩代码131),这不仅直接增加了处理器使用率,还具有随之而来的效果,即,增加了闪存存储器中的重复数据删除和垃圾回收过程中基于软件的数据压缩和增加了由读IOP请求的读数据的基于软件的数据解压缩。在块212之后,图2的过程返回到块204,这已经进行了描述。
现在参考图3,其中有示例性方法的高层逻辑流程图,该方法基于数据热度选择性地在诸如数据存储系统120的数据存储系统中执行基于软件的数据压缩。所说明的过程可通过例如执行控制代码130和由存储控制器124的处理器126选择性地执行压缩代码131来完成。如上所述,在其它的实施例中,所说明的过程可以部分地或全部地用硬件实现。
图3的过程在块300开始,然后前进到块302,其中说明了存储控制器124等待接收来自处理器系统102的写IOP。如所示出的,图3的过程在块302重复直到存储控制器124确定它已收到来自处理器系统102的写IOP,并且作为对其的响应,前进到块304。如本领域技术人员将意识到的,可并发地接收许多IOP,因此,如果有一队列的写IOP,那么将立即进入块304。同样,一些实施例将具有多个线程并发地执行图3的过程。在块304,存储控制器124确定由写IOP指定的地址是否是“热”地址,其在本文中所定义的意思是在存储控制器124对其不执行基于软件的数据压缩的最频繁访问地址的当前百分比中的地址。
在一种实施例中,存储控制器124通过参考可选的在例如私有存储器128中驻留的温度数据结构(TDS)160可做出在块304所描述的确定。如在图4中所示出的,在这个实施例中,TDS 160可以实现为例如表或其它数据结构,其包括多个计数器402a-402x,每个计数器都与数据存储系统120的I/O地址空间中的多个存储颗粒中的相应的一个相关联。在这个实施例中,存储控制器124响应于接收到指定映射到相关联的存储颗粒的地址的每个读或写IOP而简单地向前推进在TDS 160中的每个计数器402并且在每个监视间隔(例如,每个小时)的开始或者响应于任一计数器402的溢出而重置所有的计数器402。因此,在这个实施例中,存储控制器124在块304确定在块302接收的写IOP指定的目标地址是否识别出一存储颗粒,对于该存储颗粒,TDS 160中相关联的计数器具有计数器值中最高的M%的其中一个(其中M表示由图2的过程建立的当前百分比)。
在一个或多个可替换的实施例中,TDS 160可以被省略,并且存储控制器124可通过参考目录142和152中的一个或多个,做出在块304所说明的确定。例如,存储控制器124可以在块304确定由在块302接收的写IOP指定的地址是否命中高速缓存目录142和152中的一个或两者。作为进一步的细化,如所指示的,例如通过替换在高速缓存目录142和/或152中维护的顺序向量,存储控制器124还可以把该命中确定限制到仅仅目标地址映射到的同余类(congruence class)的N个最近参考过的方式。存储控制器124还可以利用图2的过程确定数字N,其中,考虑到在块304所做的确定,在图2的过程中,百分比M的每次增加或减少对应于高速缓存存储器最近使用的方式的添加或去除。
与确定写IOP的目标地址是否为热地址的实现无关,在一些实施例中,响应于存储控制器124在块304确定目标地址是热地址,过程从块304直接前进到块306。在一些可替换的实施例中,存储控制器124首先在块305确定(例如,通过历史、数据类型或写数据样本的快速检查)写数据是高度可压缩的并将因此需要很少的处理器执行时间来压缩。作为例子,高度可压缩的数据可以包括包含所有零、稀疏分布的表、或其它数据的数据页。响应于在块305确定写数据不是高度可压缩的,过程前进到块306,这将在下面进行描述。但是,响应于在块305确定写数据是高度可压缩的,过程转到块310,如下面所描述的,块310说明存储控制器124压缩写数据。
当过程从块304或305前进到块306时,存储控制器124在数据存储系统120中引导写IOP的数据的存储(即,在写高速缓存132或大容量存储介质122中),在此情况下以未压缩的形式存储。此外,存储控制器124例如通过向前推进TDS 160中的相关计数器402和/或在写高速缓存132中更新适当的替换顺序向量来更新一个或多个数据结构,以反映写IOP的目标地址的动态“温度”或“热度”。如将理解的,由于各个地址的“热度”或“温度”响应于IOP的访问模式而被更新,因此被压缩的地址集合(和未被压缩的地址集合)将随着时间而动态地变化并且将独立于对其执行基于软件的压缩的地址的动态变化的百分比(如通过图2的过程所确定的)而这么做。之后,图3的过程在块308结束。
返回到块304,响应于确定由写IOP指定的目标地址不是热地址,过程或者直接转到块310,或者在可替换的实施例中,首先转到可选块308。在块308,存储控制器124确定由写IOP指定的数据是否容易压缩。在块308所描述的确定可以包括检查由写IOP或由写数据自身的编码所指示的文件类型,以确定写数据是否构成已知难以实质性压缩的文件类型(例如,可携式文件格式(PDF)文件、联合图像专家组(JPEG)文件格式中的一种、其它媒体文件格式等)的至少一部分。可替换地或附加地,在块308描述的确定还可以包括写数据的压缩率的估计,这可能意味着执行压缩代码131来压缩写数据的小样本或者测量写数据的随机性。
在任何情况下,如果实现了可选块308,则响应于确定写数据不容易压缩,过程转到块306,并且存储控制器124在数据存储系统120中以未压缩的形式存储写数据并且更新温度数据结构,如前面所描述的。但是,如果块308被省略或者响应于在块308确定写数据容易压缩,则存储控制器124执行压缩代码131来压缩写IOP的写数据。此后,存储控制器124在数据存储系统120中存储压缩的数据并且更新温度数据结构,如在块306所示出的。在块306之后,图3的过程在块308结束。
如已经描述的,在数据存储系统的一些实施例中,响应于接收到来自处理器系统的包括地址和数据的写输入/输出操作(IOP),数据存储系统的存储控制器确定该地址是否为较频繁访问的热地址。响应于确定该地址是热地址,存储控制器在数据存储系统中以未压缩的形式存储该数据。响应于确定该地址不是热地址,存储控制器压缩该数据以获得压缩的数据并且在数据存储系统中存储压缩的数据。
虽然已经如参考一个或多个优选实施例描述的那样特定地示出了本发明,但是本领域技术人员应当理解,在不背离本发明的主旨和范围的情况下,可以对形式和细节进行各种变化。例如,尽管已经针对执行指导本发明功能的程序代码的计算机系统描述各方面,但是应该理解,本发明可替代地实现为包括存储可由处理器处理以指导所述功能的程序代码的存储设备(例如,存储器、磁盘、DVD、CD-ROM等)的程序产品。如本文所采用的,术语“存储设备”定义为本身不包括临时传播信号。

Claims (15)

1.一种数据存储系统中的存储管理方法,所述方法包括:
响应于接收到来自处理器系统的包括地址和数据的写输入/输出操作IOP,数据存储系统的存储控制器确定该地址是否为较频繁访问的热地址;
响应于确定该地址是热地址,存储控制器在数据存储系统中以未压缩的形式存储该数据;及
响应于确定该地址不是热地址,存储控制器压缩该数据以获得压缩数据并且在数据存储系统中存储该压缩数据。
2.如权利要求1所述的方法,还包括:
存储控制器还确定该数据是否容易被压缩;
响应于确定该数据容易被压缩而执行压缩;及
响应确定该数据不容易被压缩而制止压缩该数据并且在数据存储系统中以未压缩的形成存储该数据中的数据。
3.如权利要求1所述的方法,还包括:
存储控制器响应于一个或多个性能标准而改变数据存储设备的地址空间中为热地址的地址的百分比。
4.如权利要求3所述的方法,其中所述一个或多个性能标准包括集合中的一个或多个,该集合包括存储控制器的CPU使用率、数据存储系统的平均响应时间和写IOP的接收率。
5.如权利要求4所述的方法,其中:
所述改变包括:无论任何其它性能标准的值如何,响应于CPU使用率满足阈值而增加为对于其数据以未压缩的形式存储在数据存储系统中的热地址的地址的百分比。
6.如权利要求3所述的方法,还包括:
基于IOP请求了对由数据存储系统接收的地址的读和写访问,存储控制器改变哪些地址为热地址。
7.一种用于数据存储系统的存储控制器,包括:
处理器;及
耦合到处理器的存储器,其中该存储器包括程序代码,当程序代码被处理器处理时,使得该存储控制器:
响应于接收到来自处理器系统的包括地址和数据的写输入/输出操作IOP,确定该地址是否为较频繁访问的热地址;
响应于确定该地址是热地址,在数据存储系统中以未压缩的形式存储该数据;及
响应于确定该地址不是热地址,压缩该数据以获得压缩数据并且在数据存储系统中存储该压缩数据。
8.如权利要求7所述的存储控制器,其中当程序代码被处理器处理时,使得该存储控制器:
确定该数据是否容易被压缩;
响应于确定该数据容易被压缩而执行压缩;及
响应确定该数据不容易被压缩而制止压缩该数据并且在数据存储系统中以未压缩的形成存储该数据中的数据。
9.如权利要求7所述的存储控制器,其中当程序代码被处理器处理时,使得该存储控制器:
响应于一个或多个性能标准而改变数据存储设备的地址空间中为热地址的地址的百分比。
10.如权利要求9所述的存储控制器,其中所述一个或多个性能标准包括集合中的一个或多个,该集合包括存储控制器的CPU使用率、数据存储系统的平均响应时间和写IOP的接收率。
11.如权利要求10所述的存储控制器,其中:
存储控制器通过无论任何其它性能标准的值如何,响应于CPU使用率满足阈值而增加为对于其数据以未压缩的形式存储在数据存储系统中的热地址的地址的百分比来改变地址的百分比。
12.如权利要求9所述的存储控制器,其中当程序代码被处理器处理时,使得该存储控制器:
基于IOP请求了对由数据存储系统接收的地址的读和写访问而改变哪些地址为热地址。
13.一种数据存储系统,包括:
如权利要求9所述的存储控制器;及
大容量存储介质。
14.如权利要求13所述的数据存储系统,其中所述大容量存储介质包括非易失性存储器。
15.一种数据存储系统中的存储管理系统,该存储管理系统包括配置成执行权利要求1-6中的任何方法的所有步骤的装置。
CN201410512576.6A 2013-10-01 2014-09-29 数据存储系统中的存储管理方法和系统 Expired - Fee Related CN104516824B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/043,522 2013-10-01
US14/043,522 US20150095553A1 (en) 2013-10-01 2013-10-01 Selective software-based data compression in a storage system based on data heat

Publications (2)

Publication Number Publication Date
CN104516824A true CN104516824A (zh) 2015-04-15
CN104516824B CN104516824B (zh) 2018-05-18

Family

ID=52741294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410512576.6A Expired - Fee Related CN104516824B (zh) 2013-10-01 2014-09-29 数据存储系统中的存储管理方法和系统

Country Status (2)

Country Link
US (1) US20150095553A1 (zh)
CN (1) CN104516824B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665093A (zh) * 2016-07-29 2018-02-06 深圳市深信服电子科技有限公司 数据存储方法及装置
CN109802684A (zh) * 2018-12-26 2019-05-24 华为技术有限公司 进行数据压缩的方法和装置
CN110147331A (zh) * 2019-05-16 2019-08-20 重庆大学 缓存数据处理方法、系统及可读存储介质
CN110908608A (zh) * 2019-11-22 2020-03-24 苏州浪潮智能科技有限公司 一种存储空间节省方法及系统
CN111226201A (zh) * 2017-10-16 2020-06-02 奥特瑞克斯股份有限公司 数据分析系统中的存储器分配

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI540582B (zh) * 2014-07-10 2016-07-01 群聯電子股份有限公司 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
US9733854B2 (en) * 2015-10-30 2017-08-15 Hewlett Packard Enterprise Development Lp Dynamic adaptive compression in network storage device
US20170212698A1 (en) * 2016-01-22 2017-07-27 Samsung Electronics Co., Ltd. Computing system with cache storing mechanism and method of operation thereof
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071579A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Adaptive memory compression
US20090112949A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Compressed storage management
US8478731B1 (en) * 2010-03-31 2013-07-02 Emc Corporation Managing compression in data storage systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012143976A1 (en) * 2011-04-22 2012-10-26 Hitachi, Ltd. Information apparatus and method of controlling the same
US9020912B1 (en) * 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071579A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Adaptive memory compression
US20090112949A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Compressed storage management
US8478731B1 (en) * 2010-03-31 2013-07-02 Emc Corporation Managing compression in data storage systems

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665093A (zh) * 2016-07-29 2018-02-06 深圳市深信服电子科技有限公司 数据存储方法及装置
CN111226201A (zh) * 2017-10-16 2020-06-02 奥特瑞克斯股份有限公司 数据分析系统中的存储器分配
US10996855B2 (en) 2017-10-16 2021-05-04 Alteryx, Inc. Memory allocation in a data analytics system
CN111226201B (zh) * 2017-10-16 2021-06-08 奥特瑞克斯股份有限公司 管理计算机中的存储器的方法和计算机系统
CN109802684A (zh) * 2018-12-26 2019-05-24 华为技术有限公司 进行数据压缩的方法和装置
WO2020135384A1 (zh) * 2018-12-26 2020-07-02 华为技术有限公司 进行数据压缩的方法和装置
CN110147331A (zh) * 2019-05-16 2019-08-20 重庆大学 缓存数据处理方法、系统及可读存储介质
CN110147331B (zh) * 2019-05-16 2021-04-02 重庆大学 缓存数据处理方法、系统及可读存储介质
CN110908608A (zh) * 2019-11-22 2020-03-24 苏州浪潮智能科技有限公司 一种存储空间节省方法及系统

Also Published As

Publication number Publication date
US20150095553A1 (en) 2015-04-02
CN104516824B (zh) 2018-05-18

Similar Documents

Publication Publication Date Title
CN104516824A (zh) 数据存储系统中的存储管理方法和系统
US10437502B2 (en) Efficient deduplication of logical units
US9606750B2 (en) Method of storing data in distributed manner based on technique of predicting data compression ratio, and storage device and system using same
CN102609360B (zh) 一种数据处理方法、装置及系统
US11748322B2 (en) Utilizing different data compression algorithms based on characteristics of a storage system
US9760297B2 (en) Managing input/output (‘I/O’) queues in a data storage system
US8719529B2 (en) Storage in tiered environment for colder data segments
US9619478B1 (en) Method and system for compressing logs
US9684665B2 (en) Storage apparatus and data compression method
US20120144099A1 (en) Device driver deployment of similarity-based delta compression for use in a data storage system
US9069680B2 (en) Methods and systems for determining a cache size for a storage system
US11163448B1 (en) Indicating total storage capacity for a storage device
WO2021073635A1 (zh) 一种数据存储方法及装置
US10606499B2 (en) Computer system, storage apparatus, and method of managing data
US11340785B1 (en) Upgrading data in a storage system using background processes
US9575680B1 (en) Deduplication rehydration
US10341467B2 (en) Network utilization improvement by data reduction based migration prioritization
Jung et al. Data deduplication system for supporting multi-mode
US10664448B2 (en) Streamlined padding of deduplication repository file systems
US10763892B1 (en) Managing inline data compression in storage systems
KR20210054732A (ko) 객체 스토리지 장치 및 이를 이용한 데이터 저장방법
JP2017174265A (ja) 制御装置、記憶装置、記憶制御方法およびコンピュータプログラム
Alatorre et al. On selective compression of primary data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20171123

Address after: Grand Cayman, Cayman Islands

Applicant after: GLOBALFOUNDRIES INC.

Address before: American New York

Applicant before: Core USA second LLC

Effective date of registration: 20171123

Address after: American New York

Applicant after: Core USA second LLC

Address before: American New York

Applicant before: International Business Machines Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180518

Termination date: 20190929

CF01 Termination of patent right due to non-payment of annual fee