CN104008064A - 用于多级存储器压缩的方法和系统 - Google Patents

用于多级存储器压缩的方法和系统 Download PDF

Info

Publication number
CN104008064A
CN104008064A CN201410063138.6A CN201410063138A CN104008064A CN 104008064 A CN104008064 A CN 104008064A CN 201410063138 A CN201410063138 A CN 201410063138A CN 104008064 A CN104008064 A CN 104008064A
Authority
CN
China
Prior art keywords
storage block
data page
predefine
block size
size
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
CN201410063138.6A
Other languages
English (en)
Other versions
CN104008064B (zh
Inventor
C·J·阿吉斯
纳桑·方特诺特
J·D·乔治
R·P·格瑞姆
J·H·史奴布
M·T·斯绰塞科
M·W·万德维勒
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.)
International Business Machines Corp
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 CN104008064A publication Critical patent/CN104008064A/zh
Application granted granted Critical
Publication of CN104008064B publication Critical patent/CN104008064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Human Computer Interaction (AREA)

Abstract

根据本发明的一个实施例,提供了一种方法,其中处理器选择以第一压缩算法压缩的、并被存储在存储块中的数据页。所述处理器识别该经压缩的数据页的利用量并确定该利用量是否满足利用阈值。当利用量未能满足利用阈值时,所述处理器使用第二压缩算法来再压缩该数据页。

Description

用于多级存储器压缩的方法和系统
技术领域
本公开涉及多级存储器压缩。更特别地,本公开涉及在存储器中基于页利用按不同的压缩级别存储数据页。
背景技术
计算机系统压缩数据从而减少存储数据所需的存储量。不同的压缩算法按不同的“压缩比”压缩数据。压缩比是当数据被压缩时的数据大小与当所述数据未被压缩时的数据大小(例如原始大小)之间的比率。另一用来比较压缩算法所实现的压缩量的行业术语是“压缩空间节省”,其由式“1-压缩比”而计算。这样,高度压缩的数据产生低的压缩比和高的压缩空间节省。
尽管出于存储器利用的目的通常偏好选择实现高压缩空间节省的压缩算法,但是与“低”压缩算法相比较,这些“高”压缩算法通常需要增加时间量和处理器资源量来压缩/解压缩数据。
发明内容
根据本公开的一个实施例,提供了一种方法,其中处理器选择以第一压缩算法压缩的、并被存储在存储块中的数据页。所述处理器识别该经压缩的数据页的利用量并确定该利用量是否满足利用阈值。当该利用量未能满足利用阈值时,所述处理器使用第二压缩算法来再压缩该数据页。
前面是概述,因此必要地包含了细节的简化、概括和省略;因此,本领域的技术人员将清楚,该概述只是说明性的,并非旨在以任何方式进行限制。本公开的其它方面、发明特征以及优点仅由权利要求限定,在下面给出的非限制性的详细描述中,这些将变得明显。
附图说明
通过参考附图,可以更好地理解本公开,并且可以使得其许多的目的、特征和优点对本领域的技术人员而言变得明晰,其中:
图1是示出了利用多个压缩算法按各种压缩比来压缩数据页并将经压缩的数据页存储在存储器中的计算机系统的示意图;
图2是示出了压缩存储区域的示意图,该压缩存储区域包括根据各种压缩算法被压缩的、并且被存储在具有各种预定义的存储块大小的存储块中的数据页;
图3是示出了跟踪不同的未分配的存储块大小的索引数组和链表的示意图;
图4是示出了随着时间的推移,在经压缩的数据页被解压缩用于后续再压缩时的存储块分配和链表更新的示意图;
图5是示出了随着时间的推移,存储块被分割成多个存储块并且经再压缩的数据页被存储到经分割的存储块之一中的示意图;
图6是示出了在管理存储区域内的经压缩的数据页时所采取的步骤的高级流程图;
图7是示出了在解压缩很少被利用的经压缩的数据页时所采取的步骤的流程图;
图8是示出了在再压缩数据页以增加压缩空间节省时所采取的步骤的流程图;
图9是其中可以实现这里所描述的方法的数据处理系统的框图;和
图10提供了对图9所示的信息处理系统环境的延伸,以说明这里所描述的方法可以在各种各样的工作于网络化环境中的信息处理系统上执行。
具体实施方式
这里使用的术语仅是出于描述特定实施例的目的,并且不旨在是本公开的限制。如本文中使用的,单数形式的“一”、“一个”(“a”,“an”)和“该”(“the”)旨在也包括复数形式,除非上下文清楚地另外指示。还应当理解,当在本说明书中使用时,术语“包括”表示说明的特征、整体、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或其集合的存在或附加。
权利要求中的所有装置或步骤加功能元素的相对应的结构、材料、动作和等同物旨在包括用于与明确主张的其它所主张的元素相结合来执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了本公开的描述,但是不旨在穷举或将本公开限制于所公开的形式。不脱离本公开的范围和精神的许多修改和变型对于本领域普通技术人员是明显的。选择和描述实施例以最好地解释本公开的原理和实际应用,并且使得本领域的其它普通技术人员能够理解本公开以获得具有适合于构想的特定使用的各种修改的各种实施例。
所属技术领域的技术人员知道,本公开的各个方面可以实现为系统、方法或计算机程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本公开的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任何以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任何合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任何组合来编写用于执行本公开操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开。应当理解,流程图和/或框图的每个框以及流程图和/或框图中各框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以被装入计算机、其它可编程数据处理装置、或其它设备以使得在该计算机、其它可编程装置、或其它设备上执行一系列操作步骤从而产生出计算机实现的处理,以使得在该计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个框中规定的功能/动作的处理。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
下面的详细描述将一般地遵循上面给出的本公开的概述,并根据需要进一步解释和扩展对本公开的各种方面和实施例的限定。
图1是示出了利用多个压缩算法按各种压缩比来压缩数据页并将经压缩的数据页存储在存储器中的计算机系统的示意图。本公开提供了一种通过在压缩存储区域中提供多级压缩来解决计算机系统的速度对压缩率问题的方法。在一个实施例中,当数据页最初被写入存储器时,该数据页是根据低压缩率的压缩算法被压缩的。如果该经压缩的数据页被频繁利用,则计算机系统能够以压缩率为代价来获得快的解压缩速度带来的好处。如果该数据页很少被利用,则计算机系统使用较高压缩率的压缩算法来再压缩该数据页以增加可用存储空间。
计算机系统100包括页存储模块110和存储器130。页存储模块110包括访问跟踪模块115,其监视页利用活动以识别很少被使用的经压缩的数据页。在一个实施例中,利用跟踪模块115利用LRU(最久未使用)算法来识别很少被利用的经压缩的数据页。当利用跟踪模块115识别出很少被利用的经压缩的数据页时,压缩模块120利用较高压缩率的压缩算法(例如算法122、124或126)来解压缩/再压缩该数据页以生成实现了增加的压缩空间节省的经再压缩的数据页。
在一个实施例中,存储器130是计算机系统100的主存储器(例如不是高速缓存),并且包括未压缩区域135和压缩区域160。未压缩区域135包括已经解压缩并处于被再压缩过程中的数据页(经解压缩的页140,参见图6-8以及对应的文本以获得进一步的细节)。
除了使用不同的压缩算法格式压缩数据页(例如,经格式A压缩的数据页170、经格式B压缩的数据页175、以及经格式C压缩的数据页180)之外,压缩模块120还在具有各种“预定义存储块大小”的存储块中存储经压缩的数据页。在一个实施例中,预定义存储块大小以128字节(B)为增量,诸如128B、256B、384B等等(参见图2和对应的文本以获得进一步的细节)。压缩模块120利用索引数组145和链表150根据未分配的存储块的预定义存储块大小来跟踪未分配的存储块,进而将经压缩的数据页存储到大小适当的未分配存储块中(参见图3和对应的文本以获得进一步的细节)。
在一个实施例中,按定期间隔或响应于存储器压力,数据页被解压缩并再压缩以增加压缩空间节省。在该实施例中,当计算机系统100具有大量的未分配的存储空间时,页存储模块110可以再压缩压缩区域160中2%的数据页。然而,如果存储器压力继续增长(例如,未分配的存储空间较少),则页存储模块110可以再压缩30%的数据页从而减轻存储器压力。在该实施例中,计算机系统可以调整利用阈值以触发更多或更少的数据页经历再压缩以实现增加的空间节省(参见图6和对应的文本以获得进一步的细节)。
在一个实施例中,利用跟踪模块115和/或压缩模块120可以实现为软件、硬件、或硬件与软件的组合。在另一个实施例中,利用跟踪模块115和压缩模块120可以是实现为软件、硬件、或硬件与软件的组合的单个模块。
图2是示出了压缩存储区域的示意图,该压缩存储区域包括根据各种压缩算法被压缩的、并且被存储在具有各种预定义的存储块大小的存储块中的数据页。压缩区域160同时存储具有不同压缩格式的经压缩的数据页,这些经压缩的数据页是通过不同的压缩算法生成的。另外,压缩区域160被分割成具有“预定义存储块大小”的存储块。
根据需要,存储块可以被合并和/或被分割成更大/更小的预定义存储块大小。例如,如果页存储模块110需要128B的存储块来存储经压缩的数据页,但是只有512B的存储块可用,则页存储模块110将512B的存储块分割成128B的存储块和384B的存储块。进而,页存储模块110利用128B的存储块来存储经压缩的数据页并将384B的存储块标记为未分配的存储块。页存储模块110利用索引数组145和链表150来跟踪未分配的存储块(参见图3和对应的文本以获得进一步的细节)。
图3是示出了跟踪不同的未分配的存储块大小的索引数组和链表的示意图。索引数组145包括与未分配的存储块的各种预定义存储块大小相对应的索引。链表300、310、320、330和340中的每一个对应于所述索引之一来跟踪其对应的未分配的存储块大小。图3中的例子示出了第一索引(idx0)对应于128B的未分配的存储块并包括指向链表300中的第一链接的指针,该第一链接包括存储块“Z”的存储块地址。
当对于特定存储块大小,多个存储块未被分配时,“链接”被添加到对应的链表。例如,链表310包括三个链接,其存储存储块M、Q和R的地址。索引1的指针“P2”指向第一链接(地址M),第一链接的指针“P3”指向第二链接(地址Q),等等。
在一个实施例中,页存储模块100能够遍历索引数组145,以便通过检查索引是否包括指向第一链接的指针来识别未分配的存储块大小。如果特定索引不包括指针(例如,图3所示的idx3512),则对于该特定的存储块大小,没有可用的未分配的存储块。
图4是示出了随着时间的推移,在经压缩的数据页被解压缩以用于后续再压缩时的存储块分配和链表更新的示意图。在时间t1400处,经压缩的数据页415被存储在存储块A410中,存储块A410大小为128B。还是在时间t1400处,存储块B420未被分配,其大小为384B。这样,384B链表320包括具有存储块B的地址的链接,这表明存储块B420是384B的且未被分配。128B链表300包括对应于存储块“Z”的链接,存储块“Z”是在图4中未示出的128B的可用存储块。如可以看出的,在时间t1400处,根据512B链表330,没有未分配的512B的存储块。
移动到时间t2450处,在经压缩的数据页415被从存储块A410移除并被解压缩之后,存储块A410是未被分配的,从而,128B链表300包括具有存储块A的地址的链接。在时间t2450处,384B链表320仍包括包括存储块B的地址的链接,并且512B链表330不包括链接。
移动到时间t3460处,存储块A410与存储块B420合并以创建存储块C470,其大小为512B。结果,包括存储块A410和存储块B420的地址的链接被分别从128B链表300和384B链表320移除,并且包括存储块C470的地址的链接被添加到512B链表330。页存储模块110合并未分配的存储块从而具有可用于较大的经压缩的数据页的较大的存储块大小。然而,这些较大的存储块可以基于需求而被分割成较小的存储块(参见图5和对应的文本以获得进一步的细节)。
图5是示出了随着时间的推移,存储块被分割成多个存储块,并且经再压缩的数据页被存储到经分割的存储块之一中的示意图。图5示出了当没有小的未分配的存储块可用以存储小的再压缩数据页时发生的三个时间点。在时间t1500处,大小为512B的存储块C470是未分配的,这样,512B链表330包括具有存储块C的地址的链接。另外,在时间t1500处,没有128B的存储块或384B的存储块是未分配的,因此,128B链表300和384B链表320分别都不包括与未分配的存储块地址的链接。
移动到时间t2510处,在页存储模块110确定大小对应于“优选的预定义存储块大小”的存储块不可用之后,页存储模块110将存储块C470分割成两个存储块,即存储块D520(大小为128B)和存储块E530(大小为384B)。进而,具有存储块D520的地址的链接被添加到128B链表300,包括存储块E530的地址的链接被添加到384B链表320。类似地,具有存储块C470的地址的链接被从512B链表330移除。
移动到时间t3处,页存储模块110在存储块E530中存储经再压缩的数据页550,并且进而从512B链表320移除具有存储块E530的地址的链接。
图6是示出了在管理存储区域内的经压缩的数据页时所采取的步骤的高级流程图。处理开始于600,然后,处理(例如页存储模块110)监视存储器130内的存储器活动以搜索很少被利用的经特定的压缩算法压缩的数据页(步骤610)。在一个实施例中,处理可以利用诸如最久未使用(LRU)算法的技术来找到很少被利用的经压缩的数据页。
确定被利用得少于利用阈值的经压缩数据页是否被识别(判决620)。在一个实施例中,处理可以确定在预定义的时间段内经压缩的数据页被利用的访问次数并将该访问次数与预定义的利用阈值相比较。在该实施例中,预定义的利用阈值指示数据页是否已被利用得足以不会因很少利用而增加数据页的压缩。在另一个实施例中,利用阈值可以基于存储器压力而调整以增加或减少要再压缩的数据页的量(例如,增加利用率阈值以增加要再压缩的数据页的量)。
如果处理没有定位到很少被利用的经压缩的数据页,则判决620分支到“否”分支,其循环返回以继续监视存储器130的活动。该循环继续,直到处理识别出很少被利用的经压缩的数据页,这时判决620分支到“是”分支。
处理在存储器130的压缩区域160中定位存储很少被利用的经压缩的数据页的存储块,并相应地解压缩该经压缩的数据页(预定义的处理块630,参见图7和对应的文本以获得进一步的细节)。在一个实施例中,处理“遍历”其节点是根据数据页的地址而组织的二叉树,以识别对应于该数据页地址的节点。在该实施例中,处理定位对应的节点并从该节点检索存储块地址。处理从该存储块检索经压缩的数据页,解压缩该数据页,并将该经解压缩的数据页存储在未压缩区域135中。进而,处理将新的未分配的存储块与相邻的未分配的存储块相合并并相应地更新链表150和索引数组145(参见图7和对应的文本以获得进一步的细节)。
处理接着根据较高压缩率的压缩算法(例如,生成增加的压缩空间节省的算法)再压缩该经解压缩的数据页并在存储器130内定位大得足以存储该再压缩的数据页的存储块。一旦定位到,处理将该再压缩的数据页存储在该被定位的存储块中并相应地更新索引数组145和链表150(预定义的处理块640,参见图8和对应的文本以获得进一步的细节)。
确定是否继续监视存储器130(判决650)。如果处理应当继续监视存储器130,则判决650分支到“是”分支,其循环返回以继续解压缩和再压缩很少被利用的数据页。该循环继续,直到处理应当停止监视存储器130,这时判决650分支到“否”分支,于是处理在660处结束。
图7是示出了在解压缩很少被利用的经压缩的数据页时所采取的步骤的流程图。处理开始于700,然后在步骤710,处理识别很少被利用的经压缩的数据页的地址。在步骤720,处理“遍历”二叉树725来定位与经压缩的数据页的地址相对应的节点。一旦处理定位到节点,则在步骤730,处理从该节点检索存储该经压缩的数据页的存储块的地址。
在步骤740,处理解压缩该数据页并将该经解压缩的数据页存储在存储器130的未压缩区域135中。在步骤750,处理将新的未分配的存储块(曾包括该经压缩的数据页的存储块)与相邻的存储块相合并来创建更大的、合并的存储块(参见图4和对应的文本以获得进一步的细节)。
在步骤760,处理计算该合并的存储块的预定义存储块大小。例如,假定新的未分配的存储块是128B,并与相邻的未分配的256B的存储块相合并,则合并的存储块大小为384B。
在步骤770,处理更新对应于所计算的存储块大小的链表150中的一个(例如,添加链接以包括该合并的存储块的地址位置)。在一个实施例中,如果该链表尚不包括链接,则处理在对应的链表中创建第一链接并在索引数组145中更新指向第一链接的对应的索引(参见图3和对应的文本以获得进一步的细节)。在780处,处理返回。
图8是示出了在再压缩数据页以增加压缩空间节省时所采取的步骤的流程图。再压缩处理开始于800,然后,处理选择压缩算法以便按与其之前的压缩(较大的大小)相比更高的压缩(较小的大小)来压缩数据页(步骤805)。接着在步骤810,处理使用该选择的算法压缩该数据页,并在步骤815识别该经压缩的数据页的大小(压缩页大小)。在步骤820,处理通过将该压缩页大小向上舍入到最接近的预定义存储块大小而计算优选的预定义存储块大小。例如,假设压缩页大小为320B,则处理选择384B的预定义块大小。
在步骤825,处理访问索引数组145并评估对应于该优选的预定义存储块大小的索引(例如384B的索引)的内容。确定是否存在与该优选的预定义块大小相对应的未分配的存储块,诸如通过确定在对应的索引中是否存储有指针(判决830)。如果存在具有该优选的预定义块大小的未分配存储块,则在步骤835,判决830分支到“是”分支,于是处理将对应于该未分配的存储块的链接从其对应的链表中移除。在一个实施例中,如果所移除的链接是该链表中的“第一”链接,则处理也可以将指针从包括在索引数组145中的对应索引移除。
在步骤840,处理将经再压缩的数据页存储在存储块中,并且在步骤845,处理将包括该经再压缩的数据页的地址和其对应存储块的地址的节点添加到二叉树。在850处,处理返回。
另一方面,返回参考步骤830,如果对应于优选的预定义存储块大小的存储块不可用,则判决830分支到“否”分支,于是处理遍历索引数组145来定位下一较大大小的未分配的存储块(步骤860)。例如,假设优选的存储块大小是256B但256B的存储块不可用,则处理评估索引数组145的下一个索引(384B)以确定384B的存储块是否可用。如果384B的存储块不可用,则处理评估下一个索引(512B),等等,直到处理定位到指示可用的存储块的索引。
在步骤865,处理将该下一较大的可用存储块分割成优选的预定义存储块大小(从上述步骤820)和“剩余”的预定义存储块大小。继续上面的例子,处理可以将1024B的存储块分割成256B的存储块(优选的预定义存储块大小)和剩余的768B的存储块。在步骤870,处理将再压缩的数据页存储在新创建的具有优选的预定义存储块大小的存储块中。
在步骤875,处理相应地更新链表、索引和二叉树(例如添加二叉树节点)。继续上面的例子,处理将链接从1024B链表中移除(因为1024B的存储块已被分割成256B的存储块和764B的存储块)并将链接添加到764B链表(识别该剩余的未分配的存储块)。在该例子中,如果第一链接被添加到1024B链表和/或764B链表/从该链表中被移除,则处理可以更新索引数组145中对应于该链表的索引(参见图3和对应的文本以获得进一步的细节)。在880处,处理返回。
图9示出了信息处理系统900,其是能够执行这里描述的计算操作的计算机系统的简化示例。信息处理系统900包括一个或多个处理器910,其耦合到处理器接口总线912。处理器接口总线912将处理器910连接到北桥915,北桥915也称为存储器控制器集线器(MCH)。北桥915连接到系统存储器920并为处理器910提供访问系统存储器的手段。图形控制器925也连接到北桥915。在一个实施例中,PCIe总线918将北桥915连接到图形控制器925。图形控制器925连接到显示器设备930,诸如计算机监视器。
北桥915和南桥935使用总线919彼此连接。在一个实施例中,该总线是在北桥915与南桥935之间的每个方向上高速传输数据的直接媒体接口(DMI)总线。在另一个实施例中,外围组件互连(PCI)总线将北桥与南桥连接。南桥935也称作I/O控制器集线器(ICH),其是一般地实现与由北桥提供的性能相比以较低的速度操作的性能的芯片。南桥935通常提供用于连接各种组件的各种总线。例如,这些总线包括PCI和PCIe总线、ISA总线、系统管理总线(SMBus或SMB)、和/或低引脚数(LPC)总线。LPC总线通常连接低带宽设备,诸如引导ROM996和“遗留”I/O设备(使用“超级I/O”芯片)。例如,“遗留”I/O设备998可以包括串行端口和并行端口、键盘、鼠标、和/或软盘控制器。LPC总线还将南桥935连接到可信平台模块(TPM)995。其它通常包括在南桥935中的组件包括直接存储器访问(DMA)控制器、可编程中断控制器(PIC)、和存储设备控制器,存储设备控制器使用总线984将南桥935连接到非易失性存储设备985(诸如硬盘驱动器)。
扩展接口955是将可热插拔设备连接到信息处理系统的插槽。由于扩展接口955使用通用串行总线(USB)和PCIe总线连接到南桥935,因此其支持PCIe和USB连接性。南桥935包括USB控制器940,其向连接到USB的设备提供USB连接性。这些设备包括网络摄像头(相机)950、红外(IR)接收器948、键盘和触控板944、以及蓝牙设备946,蓝牙设备946为无线个域网(PAN)做准备。USB控制器940也向诸如鼠标、可移动非易失性存储设备945、调制解调器、网卡、ISDN连接器、传真机、打印机、USB集线器和很多其它类型USB连接设备之类的其它各种各样的USB连接设备942提供USB连接性。尽管可移动非易失性存储设备945被示出为USB连接设备,但是可移动非易失性存储设备945可以使用另一不同的接口(诸如火线接口等)被连接。
无线局域网(LAN)设备975经由PCI或PCIe总线972连接到南桥935。LAN设备975通常实现空中调制技术的IEEE802.11标准之一,该标准均使用相同的协议以在信息处理系统900与另一个计算机系统或设备之间进行无线通信。光学存储设备990使用串行ATA(SATA)总线988连接到南桥935。串行ATA适配器和设备通过高速串行链路进行通信。串行ATA总线还将南桥935连接到其它形式的存储设备,诸如硬盘驱动器。音频电路960(诸如声卡)经由总线958连接到南桥935。音频电路960还提供诸如音频线路输入和光学数字音频输入端口962、光学数字输出和耳机插口964、内部扬声器966、以及内部麦克风968之类的功能。以太网控制器970使用诸如PCI或PCIe总线的总线连接到南桥935。以太网控制器970将信息处理系统900连接到计算机网络,诸如局域网(LAN)、因特网、以及其它公共和专用计算机网络。
尽管图9示出了一个信息处理系统,但是信息处理系统可以采用许多形式。例如,信息处理系统可以采用台式计算机、服务器、便携式设备、膝上型计算机、笔记本计算机、或其它形状因数的计算机或数据处理系统的形式。另外,信息处理系统可以采用其它形状因数,诸如个人数字助理(PDA)、游戏设备、ATM机、便携式电话设备、通信设备、或包括处理器和存储器的其它设备。
这里所描述的图9所示的可信平台模块(TPM995)提供安全功能,其仅是硬件安全模块(HSM)的一个例子。因此,这里描述并主张的TPM包括任何类型的HSM,包括但不限于符合题目为“TrustedPlatform Module(TPM)Specification Version1.2”的可信计算组(TCG)标准的硬件安全设备。TPM是可以被包含到任何数目的信息处理系统(诸如图10中概述的那些)中的硬件安全子系统。
图10提供了对图9所示的信息处理系统环境的延伸,以说明这里所描述的方法可以在各种各样的工作于网络化环境中的信息处理系统上执行信息处理系统类型的范围从小型手持式设备(诸如手持式计算机/移动电话1010)到大型机系统(诸如大型计算机1070)。手持式计算机1010的例子包括个人数字助理(PDA)、个人娱乐设备(诸如MP3播放器、便携式电视机、和光盘播放器)。信息处理系统的其它例子包括笔输入型或平板计算机1020、膝上型或笔记本计算机1030、工作站1040、个人计算机系统1050、以及服务器1060。在图10中未单独示出的其它类型的信息处理系统由信息处理系统1080表示。如图所示,各种信息处理系统可以使用计算机网络1000而连网在一起。可以用于互连各种信息处理系统的计算机网络的类型包括局域网(LAN)、无线局域网(WLAN)、因特网、公共交换电话网络(PSTN)、其它无线网络、以及任何其它的可以用于互连信息处理系统的网络拓扑。许多的信息处理系统包括非易失性数据存储,诸如硬驱动器和/或非易失性存储器。图10所示的信息处理系统的一些描绘了单独的非易失性数据存储(服务器1060利用非易失性数据存储1065,大型计算机1070利用非易失性数据存储1075,信息处理系统1080利用非易失性数据存储1085)。非易失性数据存储可以是各种信息处理系统外部的或信息处理系统之一内部的组件。另外,可以使用各种技术在两个或更多个信息处理系统之间共享可移动非易失性存储设备945,所述技术诸如将可移动非易失性存储设备945连接到信息处理系统的USB端口或其它连接器。
虽然已经示出并描述了本公开的特定实施例,但是,对本领域的技术人员而言明显的是,可以基于这里的教导做出不偏离本公开及其更广泛的方面的变型和修改。因此,权利要求在其范围内包括落入本公开的真实精神和范围内的所有这样的变型和修改。而且,应当理解,本公开仅由权利要求限定。本领域的技术人员将理解,如果意图引入特定数量的权利要求要素,则这样的意图将在权利要求中明确地叙述,在没有这样的叙述的情况下,则没有这样的限制存在。作为非限制性示例,为了帮助理解,权利要求包含引入性短语“至少一个”和“一个或多个”的使用以引入权利要求要素。然而,这样的短语的使用不应被解释为暗示了由“一”或“一个”(“a”或“an”)引入权利要求要素是将包含这样引入的权利要求要素的任何特定权利要求限制为仅包含一个这样的要素的公开,即使当同一权利要求包括引入性短语“一个或多个”或“至少一个”以及“一”或“一个”(“a”或“an”)时;这也适用于“该”在权利要求中的使用。

Claims (18)

1.一种方法,包括:
由一个或多个处理器选择经第一压缩算法压缩的数据页,其中经压缩的数据页被存储在多个存储块中的第一存储块中;
由所述处理器之一确定所述经压缩的数据页的利用量,其中所述利用量指示所述经压缩的数据页由所述处理器中的一个或多个利用的量;
由所述处理器之一确定所述利用量未能达到利用阈值;和
响应于确定了所述利用量未能达到所述利用阈值,由所述处理器之一使用第二压缩算法再压缩所述数据页,所述再压缩产生经再压缩的数据页。
2.如权利要求1所述的方法,进一步包括:
识别所述经再压缩的数据页的经压缩的页大小;
基于所述经压缩的页大小选择优选的预定义存储块大小;
确定所述多个存储块中与所述优选的预定义存储块大小相对应的第二存储块是否是未分配的;和
响应于确定了与所述优选的预定义存储块大小相对应的第二存储块是未分配的,将所述经再压缩的数据页存储在第二存储块中。
3.如权利要求2所述的方法,进一步包括:
从包括在索引数组中的多个索引定位与所述优选的预定义存储块大小相对应的索引,其中所述多个索引中的每一个对应于多个预定义的块大小之一;
确定所定位的索引包括对应于多个链表之一的指针,其中所述多个链表中的每一个对应于所述多个索引之一;
基于所述指针识别链表内的链接;和
从所识别的链接检索所述优选的预定义存储块大小的地址位置。
4.如权利要求2所述的方法,其中,响应于确定了与所述优选的预定义块大小相对应的第二存储块不是未分配的,该方法进一步包括:
识别所述多个存储块中未分配的第三存储块,其中第三存储块对应于一不同的预定义存储块大小,该不同的预定义存储块大小大于所述优选的预定义存储块大小;
将第三存储块分割成第四存储块和第五存储块,其中第四存储块对应于所述优选的预定义存储块大小;和
将所述经再压缩的数据页存储在第四存储块中。
5.如权利要求2所述的方法,其中,第一存储块和第二存储块共同位于能够由所述处理器中的一个或多个访问的多个存储层次级别中的同一存储层次级别中。
6.如权利要求1所述的方法,其中,所述数据页被包括在多个数据页中,并且其中,所述多个存储块同时存储所述多个数据页中经第一压缩算法生成的一个或多个数据页以及所述多个数据页中经第二压缩算法生成的一个或多个数据页。
7.如权利要求1所述的方法,其中,在再压缩所述数据页之前,该方法进一步包括:
由第一压缩算法解压缩所述数据页,产生经解压缩的数据页;
将经解压缩的数据页存储到未压缩存储区域中;
将第一存储块与所述多个存储块中未分配的一个或多个存储块合并;
识别合并的存储块的预定义存储块大小,该预定义存储块大小被包括在多个预定义存储块大小中;和
更新与所识别的预定义存储块大小相对应的链表以指示所述合并的存储块是未分配的。
8.一种信息处理系统,包括:
一个或多个处理器;
存储器,其耦合到所述处理器中的至少一个;
一组计算机程序指令,其存储在所述存储器中并由所述处理器中的至少一个执行以执行以下动作:
选择经第一压缩算法压缩的数据页,其中经压缩的数据页被存储在位于所述存储器中的多个存储块中的第一存储块中;
确定所述经压缩的数据页的利用量,其中所述利用量指示所述经压缩的数据页由所述处理器中的一个或多个利用的量;
确定所述利用量未能达到利用阈值;和
响应于确定了所述利用量未能达到所述利用阈值,使用第二压缩算法再压缩所述数据页,所述再压缩产生经再压缩的数据页。
9.如权利要求8所述的信息处理系统,其中,当所述一组计算机程序指令由所述处理器中的至少一个执行时,使得所述处理器中的至少一个执行以下动作:
识别所述经再压缩的数据页的经压缩的页大小;
基于所述经压缩的页大小选择优选的预定义存储块大小;
确定所述多个存储块中与所述优选的预定义存储块大小相对应的第二存储块是否是未分配的;和
响应于确定了与所述优选的预定义存储块大小相对应的第二存储块是未分配的,将所述经再压缩的数据页存储在位于所述存储器中的第二存储块中。
10.如权利要求9所述的信息处理系统,其中,当所述一组计算机程序指令由所述处理器中的至少一个执行时,使得所述处理器中的至少一个执行以下动作:
从包括在索引数组中的多个索引定位与所述优选的预定义存储块大小相对应的索引,其中所述多个索引中的每一个对应于多个预定义的块大小之一;
确定所定位的索引包括对应于多个链表之一的指针,其中所述多个链表中的每一个对应于所述多个索引之一;
基于所述指针识别链表内的链接;和
从所识别的链接检索所述优选的预定义存储块大小的地址位置。
11.如权利要求9所述的信息处理系统,其中,响应于确定了与所述优选的预定义块大小相对应的第二存储块不是未分配的,当所述一组计算机程序指令由所述处理器中的至少一个执行时,使得所述处理器中的至少一个执行以下动作:
识别所述多个存储块中未分配的第三存储块,其中第三存储块对应于一不同的预定义存储块大小,该不同的预定义存储块大小大于所述优选的预定义存储块大小;
将第三存储块分割成第四存储块和第五存储块,其中第四存储块对应于所述优选的预定义存储块大小;和
将所述经再压缩的数据页存储在第四存储块中。
12.如权利要求9所述的信息处理系统,其中,第一存储块和第二存储块共同位于能够由所述处理器中的一个或多个访问的多个存储层次级别中的同一存储层次级别中。
13.如权利要求8所述的信息处理系统,其中,所述数据页被包括在多个数据页中,并且其中,所述多个存储块同时存储所述多个数据页中经第一压缩算法生成的一个或多个数据页以及所述多个数据页中经第二压缩算法生成的一个或多个数据页。
14.如权利要求8所述的信息处理系统,其中,在再压缩所述数据页之前,当所述一组计算机程序指令由所述处理器中的至少一个执行时,使得所述处理器中的至少一个执行以下动作:
由第一压缩算法解压缩所述数据页,产生经解压缩的数据页;
将经解压缩的数据页存储到位于所述存储器中的未压缩存储区域中;
将第一存储块与所述多个存储块中未分配的一个或多个存储块合并;
识别合并的存储块的预定义存储块大小,该预定义存储块大小被包括在多个预定义存储块大小中;和
更新与所识别的预定义存储块大小相对应的链表以指示所述合并的存储块是未分配的。
15.一种方法,包括:
由一个或多个处理器选择经第一压缩算法压缩的数据页,其中经压缩的数据页被存储在多个存储块中的第一存储块中;
由所述处理器之一确定所述经压缩的数据页的利用量,其中所述利用量指示所述经压缩的数据页由所述处理器中的一个或多个利用的量;
由所述处理器之一确定所述利用量未能达到利用阈值;
响应于确定了所述利用量未能达到所述利用阈值,由所述处理器之一使用第二压缩算法再压缩所述数据页,所述再压缩产生经再压缩的数据页;
识别所述经再压缩的数据页的经压缩的页大小;
基于所述经压缩的页大小选择优选的预定义存储块大小;
确定所述多个存储块中与所述优选的预定义存储块大小相对应的第二存储块是否是未分配的,其中第一存储块和第二存储块共同位于能够由所述处理器中的一个或多个访问的多个存储层次级别中的同一存储层次级别中;和
响应于确定了与所述优选的预定义存储块大小相对应的第二存储块是未分配的,将所述经再压缩的数据页存储在第二存储块中。
16.如权利要求15所述的方法,其中,响应于确定了与所述优选的预定义块大小相对应的第二存储块不是未分配的,该方法进一步包括:
识别所述多个存储块中未分配的第三存储块,其中第三存储块对应于一不同的预定义存储块大小,该不同的预定义存储块大小大于所述优选的预定义存储块大小;
将第三存储块分割成第四存储块和第五存储块,其中第四存储块对应于所述优选的预定义存储块大小;和
将所述经再压缩的数据页存储在第四存储块中。
17.如权利要求15所述的方法,其中,在再压缩所述数据页之前,该方法进一步包括:
由第一压缩算法解压缩所述数据页,产生经解压缩的数据页;
将所述经解压缩的数据页存储到未压缩存储区域中;
将第一存储块与所述多个存储块中未分配的一个或多个存储块合并;
识别合并的存储块的预定义存储块大小,该预定义存储块大小被包括在多个预定义存储块大小中;和
更新与所识别的预定义存储块大小相对应的链表以指示所述合并的存储块是未分配的。
18.如权利要求15所述的方法,其中,所述数据页被包括在多个数据页中,并且其中,所述多个存储块同时存储所述多个数据页中经第一压缩算法生成的一个或多个数据页以及所述多个数据页中经第二压缩算法生成的一个或多个数据页。
CN201410063138.6A 2013-02-25 2014-02-25 用于多级存储器压缩的方法和系统 Active CN104008064B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/775,636 US9852055B2 (en) 2013-02-25 2013-02-25 Multi-level memory compression
US13/775,636 2013-02-25

Publications (2)

Publication Number Publication Date
CN104008064A true CN104008064A (zh) 2014-08-27
CN104008064B CN104008064B (zh) 2017-09-15

Family

ID=51368724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410063138.6A Active CN104008064B (zh) 2013-02-25 2014-02-25 用于多级存储器压缩的方法和系统

Country Status (2)

Country Link
US (2) US9852055B2 (zh)
CN (1) CN104008064B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630687A (zh) * 2014-10-27 2016-06-01 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
CN107251000A (zh) * 2015-02-12 2017-10-13 高通股份有限公司 片上系统中的动态存储器利用
WO2020154945A1 (en) * 2019-01-30 2020-08-06 Alibaba Group Holding Limited Method and system for storing query plans
CN112231238A (zh) * 2015-03-02 2021-01-15 微软技术许可有限责任公司 使用存储器压缩来减少存储器提交开销
CN112748863A (zh) * 2019-10-31 2021-05-04 伊姆西Ip控股有限责任公司 用于处理数据的方法、电子设备和计算机程序产品

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9575982B1 (en) * 2013-04-29 2017-02-21 Amazon Technologies, Inc. Size targeted database I/O compression
US10102148B2 (en) 2013-06-13 2018-10-16 Microsoft Technology Licensing, Llc Page-based compressed storage management
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9684625B2 (en) 2014-03-21 2017-06-20 Microsoft Technology Licensing, Llc Asynchronously prefetching sharable memory pages
US9600317B2 (en) * 2014-04-16 2017-03-21 Vmware, Inc. Page compressibility checker
US9342344B2 (en) 2014-04-16 2016-05-17 Vmware, Inc. Content-based swap candidate selection
US20150378424A1 (en) * 2014-06-27 2015-12-31 Telefonaktiebolaget L M Ericsson (Publ) Memory Management Based on Bandwidth Utilization
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US10037270B2 (en) 2015-04-14 2018-07-31 Microsoft Technology Licensing, Llc Reducing memory commit charge when compressing memory
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US9400609B1 (en) * 2015-11-04 2016-07-26 Netapp, Inc. Data transformation during recycling
US10191850B2 (en) 2016-03-31 2019-01-29 Qualcomm Incorporated Providing memory bandwidth compression using multiple last-level cache (LLC) lines in a central processing unit (CPU)-based system
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10176090B2 (en) * 2016-09-15 2019-01-08 Qualcomm Incorporated Providing memory bandwidth compression using adaptive compression in central processing unit (CPU)-based systems
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US11068405B2 (en) * 2018-04-19 2021-07-20 EMC IP Holding Company LLC Compression of host I/O data in a storage processor of a data storage system with selection of data compression components based on a current fullness level of a persistent cache
US11630738B2 (en) 2019-04-24 2023-04-18 International Business Machines Corporation Automatic objective-based compression level change for individual clusters
US11442627B2 (en) 2019-06-13 2022-09-13 International Business Machines Corporation Data compression utilizing low-ratio compression and delayed high-ratio compression
EP3994582A4 (en) * 2019-07-02 2023-01-18 Microsoft Technology Licensing, LLC HARDWARE MEMORY COMPRESSION
US20240053891A1 (en) * 2022-08-12 2024-02-15 Advanced Micro Devices, Inc. Chipset Attached Random Access Memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812817A (en) * 1994-10-17 1998-09-22 International Business Machines Corporation Compression architecture for system memory application
CN1672135A (zh) * 2002-08-06 2005-09-21 国际商业机器公司 基于可压缩性程度使用压缩主存储器的系统和方法
US20060002555A1 (en) * 2004-06-16 2006-01-05 Nec Laboratories America, Inc. Dynamic content-aware memory compression and encryption architecture
US20060071579A1 (en) * 2003-02-10 2006-04-06 Hajime Kando Elastic boundary wave device
CN1846252A (zh) * 2003-09-30 2006-10-11 索尼株式会社 数据再现设备、方法和程序
CN102541747A (zh) * 2010-10-25 2012-07-04 马维尔国际贸易有限公司 存储器系统中的数据压缩和编码

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245337A (en) 1991-05-29 1993-09-14 Triada, Ltd. Data compression with pipeline processors having separate memories
US6879266B1 (en) 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
US6421466B1 (en) 1999-09-29 2002-07-16 Neomagic Corp. Hierarchical motion estimation with levels of varying bit width for digital video compression
JP4101042B2 (ja) * 2002-12-09 2008-06-11 シャープ株式会社 読み取りデータ送信装置
US7188227B2 (en) * 2003-09-30 2007-03-06 International Business Machines Corporation Adaptive memory compression
US7533234B2 (en) * 2005-05-13 2009-05-12 Intel Corporation Method and apparatus for storing compressed code without an index table
US20070261059A1 (en) * 2006-04-25 2007-11-08 Orth Joseph F Array-based memory abstraction

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812817A (en) * 1994-10-17 1998-09-22 International Business Machines Corporation Compression architecture for system memory application
CN1672135A (zh) * 2002-08-06 2005-09-21 国际商业机器公司 基于可压缩性程度使用压缩主存储器的系统和方法
US20060071579A1 (en) * 2003-02-10 2006-04-06 Hajime Kando Elastic boundary wave device
CN1846252A (zh) * 2003-09-30 2006-10-11 索尼株式会社 数据再现设备、方法和程序
US20060002555A1 (en) * 2004-06-16 2006-01-05 Nec Laboratories America, Inc. Dynamic content-aware memory compression and encryption architecture
CN102541747A (zh) * 2010-10-25 2012-07-04 马维尔国际贸易有限公司 存储器系统中的数据压缩和编码

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630687A (zh) * 2014-10-27 2016-06-01 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
CN105630687B (zh) * 2014-10-27 2019-01-08 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
CN107251000A (zh) * 2015-02-12 2017-10-13 高通股份有限公司 片上系统中的动态存储器利用
CN112231238A (zh) * 2015-03-02 2021-01-15 微软技术许可有限责任公司 使用存储器压缩来减少存储器提交开销
CN112231238B (zh) * 2015-03-02 2024-04-16 微软技术许可有限责任公司 使用存储器压缩来减少存储器提交开销
WO2020154945A1 (en) * 2019-01-30 2020-08-06 Alibaba Group Holding Limited Method and system for storing query plans
US11954105B2 (en) 2019-01-30 2024-04-09 Alibaba Group Holding Limited Method and system for storing query plans in a cache and method for querying a database system
CN112748863A (zh) * 2019-10-31 2021-05-04 伊姆西Ip控股有限责任公司 用于处理数据的方法、电子设备和计算机程序产品
CN112748863B (zh) * 2019-10-31 2024-04-19 伊姆西Ip控股有限责任公司 用于处理数据的方法、电子设备和计算机程序产品

Also Published As

Publication number Publication date
CN104008064B (zh) 2017-09-15
US9852055B2 (en) 2017-12-26
US9852056B2 (en) 2017-12-26
US20140244962A1 (en) 2014-08-28
US20140244603A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
CN104008064A (zh) 用于多级存储器压缩的方法和系统
CN111090628B (zh) 一种数据处理方法、装置、存储介质及电子设备
US10437481B2 (en) Data access method and related apparatus and system
US8332367B2 (en) Parallel data redundancy removal
KR20200027413A (ko) 데이터 저장 방법, 장치 및 시스템
US8898677B2 (en) Data arrangement calculating system, data arrangement calculating method, master unit and data arranging method
CN105094707A (zh) 一种数据存储、读取方法及装置
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN113553300B (zh) 文件的处理方法、装置、可读介质和电子设备
TW201409234A (zh) 資料分析系統
CN107798063B (zh) 快照处理方法和快照处理装置
CN110543435B (zh) 存储单元的混合映射操作方法、装置、设备及存储介质
CN111104347A (zh) 堆内存块查找方法、装置、设备及存储介质
US20170329705A1 (en) Determining a Data Layout in a Log Structured Storage System
CN107729347B (zh) 同义标签的获取方法、装置、设备及计算机可读存储介质
CN109947667B (zh) 数据访问预测方法和装置
CN112269665B (zh) 内存的处理方法和装置、电子设备和存储介质
CN108205559B (zh) 一种数据管理方法及其设备
US9201937B2 (en) Rapid provisioning of information for business analytics
JP2016515258A (ja) 最適化ファイル動作のためのファイル集合化
CN104572638A (zh) 数据读写方法及装置
CN104965737A (zh) 更新数据的获取方法及装置
US20210294532A1 (en) USB based cloud disk and disk segment management system
CN113127496A (zh) 数据库中变更数据的确定方法及装置、介质和设备
US9183211B1 (en) Cooperative storage of shared files in a parallel computing system with dynamic block size

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant