CN104052493B - 数据处理系统以及操作数据处理系统的方法 - Google Patents
数据处理系统以及操作数据处理系统的方法 Download PDFInfo
- Publication number
- CN104052493B CN104052493B CN201410090133.2A CN201410090133A CN104052493B CN 104052493 B CN104052493 B CN 104052493B CN 201410090133 A CN201410090133 A CN 201410090133A CN 104052493 B CN104052493 B CN 104052493B
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- size
- uncompressed
- anticipatory
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
公开一种数据处理系统以及操作数据处理系统的方法。一种操作数据处理系统的方法包括:压缩未压缩数据的第一部分;基于压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小,确定是否压缩未压缩数据的第二部分。所述方法还包括:基于确定的结果将第一发送数据和第二发送数据中的一个发送到外部存储装置。第一发送数据包括压缩的第一部分和压缩的第二部分,第二发送数据包括未压缩数据的第一部分和第二部分。
Description
本申请要求于2013年3月12日提交的第10-2013-0026326号韩国专利申请的优先权,其公开通过引用完整地包含于此。
技术领域
本发明构思的至少一个实施例涉及一种数据处理技术,更具体地讲,涉及一种基于未压缩数据的一部分的压缩比选择性地压缩将被交换的未压缩数据的其余部分和方法和/或用于执行所述方法的装置。
背景技术
随着移动装置(诸如智能电话和平板个人计算机(PC))的计算能力的增加,多个应用能够同时在移动装置中运行。
当多个应用同时运行时,移动装置的系统存储器的容量减小,并且可能发生多任务问题。
为了克服这些问题,可使用数据交换操作。在数据交换操作中,存储在系统存储器中的在应用中使用、但是没有在前台运行的数据移动到外部存储装置。在数据交换操作期间,可压缩将被移动的所有数据,以增加移动到外部存储装置的数据的传输速度以及外部存储装置的使用寿命。
发明内容
根据至少一个示例实施例,一种操作数据处理系统的方法包括:压缩未压缩数据的第一部分;基于压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小,确定是否压缩未压缩数据的第二部分。所述方法包括:基于确定的结果将第一发送数据和第二发送数据中的一个发送到外部存储装置。第一发送数据包括压缩的第一部分和压缩的第二部分,第二发送数据包括未压缩数据的第一部分和第二部分。
根据至少一个示例实施例,压缩的步骤包括:使用至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一部分。确定的步骤包括:比较压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小;基于比较的结果确定是否压缩第二部分。
根据至少一个示例实施例,所述方法还包括:基于最小压缩比、第一压缩算法的压缩比和参考数据块大小来计算预期数据大小。
根据至少一个示例实施例,由制造商和用户之一设置最小压缩比和参考数据块大小。
根据至少一个示例实施例,最小压缩比是压缩的第一部分的期望的最小数据大小与未压缩数据的第一部分的数据大小的比率。
根据至少一个示例实施例,所述方法还包括:基于最小压缩比以及第一压缩算法的压缩比与所述至少一个压缩算法的整体压缩比的比率计算第一部分的预期压缩比。所述方法还包括:基于预期压缩比与参考数据块大小计算预期数据大小。
根据至少一个示例实施例,比较预期数据大小和压缩数据大小的步骤包括:通过对未压缩数据的第一部分的数据大小进行计数来产生计数值;如果参考数据块大小等于所述计数值,则比较预期数据大小和实际数据大小。
根据至少一个示例实施例,未压缩数据的第一部分包括在未压缩数据中包括的多个数据块中的第一数据块。
根据至少一个示例实施例,一种数据处理系统,包括:内部存储装置,被配置为存储未压缩数据;处理器。处理器被配置为:压缩未压缩数据的第一部分;基于压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小,确定是否压缩未压缩数据的第二部分;基于确定的结果,控制直接存储器存取(DMA)控制器将第一发送数据和第二发送数据中的一个从内部存储装置发送到外部存储装置。第一发送数据包括压缩的第一部分和压缩的第二部分。第二发送数据包括未压缩数据的第一部分和第二部分。
根据至少一个示例实施例,处理器被配置为:使用至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一部分;比较压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小;基于比较的结果控制DMA控制器。
根据至少一个示例实施例,处理器被配置为:通过对未压缩数据的第一部分的数据大小进行计数来产生计数值;如果参考数据块大小等于所述计数值,则比较预期数据大小和实际数据大小。
根据至少一个示例实施例,一种数据处理系统,包括:内部存储装置,被配置为存储未压缩数据;压缩电路。压缩电路被配置为:压缩未压缩数据的第一部分;基于压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小,确定是否压缩未压缩数据的第二部分;基于所述确定输出确定信号。所述数据处理系统包括中央处理单元,被配置为基于确定信号产生控制信号;直接存储器存取(DMA)控制器,被配置为基于控制信号将第一发送数据和第二发送数据中的一个从内部存储装置发送到外部存储装置。第一发送数据包括压缩的第一部分和压缩的第二部分,第二发送数据包括未压缩数据的第一部分和第二部分。
根据至少一个示例实施例,压缩电路被配置为:使用至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一部分;比较压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小;基于比较的结果输出确定信号。
根据至少一个示例实施例,压缩电路被配置为:通过对未压缩数据的第一部分的数据大小进行计数来产生计数值;如果参考数据块大小等于所述计数值,则比较预期数据大小和实际数据大小;基于比较的结果产生确定信号。
根据至少一个示例实施例,压缩电路包括:压缩器,被配置为压缩未压缩数据的第一部分;预期数据大小计算器,被配置为基于最小压缩比和参考数据块大小计算预期数据大小;压缩确定电路。压缩确定电路被配置为:比较预期数据大小和从压缩器输出的压缩的第一部分的实际数据大小;基于比较的结果输出确定信号。
根据至少一个示例实施例,压缩电路还包括启用控制电路,启用控制电路被配置为:计算未压缩数据的第一部分的大小;如果计算的第一部分的大小等于参考数据块大小,则产生启用信号。压缩确定电路被配置为:响应于启用信号比较预期数据大小和压缩的第一部分的实际数据大小;基于比较的结果输出确定信号。
根据至少一个示例实施例,压缩器是彼此串联连接的多个压缩器中的第一压缩器。
根据至少一个示例实施例,所述数据处理系统是片上系统。
根据至少一个示例实施例,压缩电路包括:压缩器,被配置为压缩未压缩数据的第一部分;第一计数器,被配置为对未压缩数据的第一部分的数据大小进行计数,并输出第一计数值;第二计数器,被配置为对从压缩器输出的压缩的第一部分的数据大小进行计数,并输出第二计数值;预期数据大小计算器,被配置为基于最小压缩比、参考数据块大小和压缩器的压缩比计算预期数据大小;压缩确定电路。压缩确定电路被配置为:比较预期数据大小和第二计数值;基于比较的结果输出确定信号。
根据至少一个示例实施例,压缩电路还包括启用控制电路,启用控制电路被配置为:如果参考数据块大小等于第一计数值,则产生启用信号。压缩确定电路被配置为:响应于启用信号比较预期数据大小和第二计数值;基于比较的结果输出确定信号。
根据至少一个示例实施例,一种移动装置,包括:中央处理单元,被配置为执行移动应用;内部存储装置,被配置为存储在移动应用中使用的未压缩数据;压缩电路。压缩电路被配置为:基于最小压缩比、用于压缩的至少一个压缩算法的压缩比和参考数据块大小来计算未压缩数据的第一部分的预期数据大小;基于计算的结果确定是否压缩未压缩数据的第二部分。移动装置包括:直接存储器存取(DMA)控制器,被配置为基于确定的结果将第一发送数据和第二发送数据中的一个从内部存储装置发送到外部存储装置。第一发送数据包括压缩的第一部分和压缩的第二部分,第二发送数据包括未压缩数据的第一部分和第二部分。
根据至少一个示例实施例,压缩电路被配置为:使用所述至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一部分;比较预期数据大小和压缩的第一部分的数据大小;基于比较的结果确定是否压缩第二部分。
根据至少一个示例实施例,压缩电路被配置为:产生关于未压缩数据的第一部分的计数值;如果参考数据块大小等于所述计数值,则比较预期数据大小和压缩的数据大小。
根据至少一个示例实施例,压缩电路包括:压缩器,被配置为压缩未压缩数据的第一部分;第一计数器,被配置为对未压缩数据的第一部分的数据大小进行计数,并输出第一计数值;第二计数器,被配置为对从压缩器输出的压缩的第一部分的数据大小进行计数,并输出第二计数值;预期数据大小计算器,被配置为计算预期数据大小;压缩确定电路。压缩确定电路被配置为:比较预期数据大小和第二计数值;基于比较的结果确定是否压缩第二部分。
根据至少一个示例实施例,压缩器是彼此串联连接的多个压缩器中的第一压缩器。
根据至少一个示例实施例,一种数据处理装置,被配置为:压缩未压缩数据的第一未压缩部分以产生第一压缩部分;基于第一压缩部分的预期数据大小和第一压缩部分的实际数据大小,确定是否压缩未压缩数据的第二未压缩部分以产生第二压缩部分;基于所述确定将第一发送数据和第二发送数据中的一个发送到外部存储器。第一发送数据包括第一压缩部分和第二压缩部分,第二发送数据包括第一未压缩部分和第二未压缩部分。
根据至少一个示例实施例,如果第一压缩部分的实际数据大小小于或等于第一压缩部分的预期数据大小,则所述数据处理装置被配置为:压缩未压缩数据的第二未压缩部分;将第一发送数据发送到外部存储器。
根据至少一个示例实施例,如果第一压缩部分的实际数据大小大于第一压缩部分的预期数据大小,则所述数据处理装置被配置为:终止对第二未压缩部分的压缩操作;将第二发送数据发送到外部存储器。
根据至少一个示例实施例,预期数据大小基于期望的最小压缩比、用于压缩第一未压缩部分的压缩算法的压缩比和参考数据块大小。
根据至少一个示例实施例,未压缩数据的第一部分和第二部分分别对应于第一数据块和第二数据块。
根据至少一个示例实施例,未压缩数据的第一部分和第二部分分别对应于单个数据块的第一部分和第二部分。
附图说明
通过参照附图详细描述本发明构思的示例性实施例,本发明构思的以上和其它特征和优点将变得更清楚,在附图中:
图1是根据本发明构思的至少一个示例实施例的数据处理系统的框图;
图2是用于解释根据本发明构思的至少一个示例实施例的包括压缩电路的数据处理系统的示例操作的概念图;
图3是在图2中所示的压缩电路的示例操作中的平均压缩比和预期压缩比的概念图;
图4是用于解释图2中所示的启用控制电路和压缩确定电路的示例操作的概念图;
图5是用于解释图2中所示的压缩电路的示例操作的概念图;
图6是用于解释根据本发明构思的至少一个示例实施例的包括压缩电路的数据处理系统的示例操作的概念图;
图7是在图6中所示的压缩电路的示例操作中的平均压缩比和预期压缩比的概念图;
图8是用于解释图6中所示的启用控制电路和压缩确定电路的示例操作的概念图;
图9是用于解释图6中所示的压缩电路的示例操作的概念图;
图10是根据本发明构思的至少一个示例实施例的数据处理系统的框图;
图11是在图10中所示的数据处理系统的示例操作中的信号流的示图;
图12是根据本发明构思的至少一个示例实施例的操作数据处理系统的方法的示例流程图。
具体实施方式
在下文中将参照附图更充分地描述本发明构思,在附图中示出示例实施例。然而,本发明构思可以以许多不同的形式来实施,而不应该被解释为局限于在这里阐述的实施例。相反,提供这些实施例使得本公开将是彻底和完全的,并将本发明构思的范围充分地传达给本领域技术人员。在附图中,为了清晰起见,会夸大层和区域的尺寸和相对尺寸。相同的标号始终表示相同的元件。
将理解,当元件被称作“连接到”或“结合到”另一元件时,该元件可直接连接或结合到另一元件,或者可以存在中间元件。相反,当元件被称作“直接连接到”或“直接结合到”另一元件或层时,不存在中间元件。如在这里使用的,术语“和/或”包括一个或多个相关所列项的任意组合和所有组合,并且可以被缩写为“/”。
将理解,尽管在这里可使用术语第一、第二等来描述各种元件,但是这些元件不应该受这些术语的限制。这些术语仅是用来将一个元件与另一个元件区分开来。例如,在不脱离本公开的教导的情况下,第一信号可以被称为第二信号,类似地,第二信号可以被称为第一信号。
这里使用的术语仅为了描述特定实施例的目的,而不意图限制本发明构思。如这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。还应理解的是,当在本说明书中使用术语“包括”和/或“包含”时,说明存在所述的特征、区域、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其它特征、区域、整体、步骤、操作、元件、组件和/或它们的组。
除非另有定义,否则这里使用的所有术语(包括技术术语和科学术语)具有与本发明构思所属领域的普通技术人员所通常理解的意思相同的意思。还将理解,除非这里明确定义,否则术语(诸如在通用字典中定义的术语)应该被解释为具有与相关领域和/或本申请的环境中它们的意思一致的意思,而不以理想的或者过于正式的含义来解释它们。
下文中公开的数据交换操作和存储器复制(memory copy)操作可使用硬件和/或软件执行。数据交换操作和存储器复制操作表示压缩数据或未压缩数据从内部存储装置发送或移动到外部存储装置的操作。
图1是根据本发明构思的至少一个示例实施例的数据处理系统100A的框图。
数据处理系统100A可被实现为个人计算机(PC)或移动装置。
移动装置可以是膝上型计算机、移动电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、便携式多媒体播放器(PMP)、个人导航装置或便携式导航装置(PND)、手持游戏控制台、移动互联网装置(MID)、电子书等。
数据处理系统100A包括数据处理装置200A、外部存储装置300和显示器310。数据处理系统100A还可包括用于无线通信的天线ANT。
数据处理装置200A可以以集成电路(IC)或片上系统(SoC)的形式实现。可选择地,数据处理装置200A可以被实现为移动应用处理器。
数据处理装置200A可包括中央处理单元(CPU)210、操作存储装置220、压缩电路230、内部存储装置240、直接存储器存取(DMA)控制器250、存储控制器260和显示控制器270。
数据处理装置200A还可包括通过天线ANT执行与其它移动装置的无线通信的无线通信接口280。
CPU210可通过存储控制器260访问操作存储装置220、内部存储装置240和外部存储装置300。CPU210可用过总线201控制操作存储装置220、压缩电路230、内部存储装置240、DMA控制器250、存储控制器260、显示控制器270和无线通信接口280中的至少一个的操作。CPU210可以由处理器或多核处理器来实现。
操作存储装置220可以由非易失性存储装置(诸如只读存储器(ROM)和/或闪存装置)或易失性存储装置(诸如随机存取存储器(RAM))来实现。操作存储装置220可存储CPU210的操作所需的程序和/或数据。
压缩电路230可计算(或预测)将被交换或存储器复制的部分数据的压缩比(或压缩数据的大小)。压缩电路230还可基于计算(或预测)结果确定是否压缩数据的剩余部分。
内部存储装置240可存储未压缩数据和/或由压缩电路230压缩的数据。内部存储装置240可以由非易失性存储装置(诸如闪存装置)和/或易失性存储装置(诸如动态随机存取存储器(DRAM))来实现。
DMA控制器250可根据CPU210的控制和/或从压缩电路230输出的确定信号,通过存储控制器260将存储在内部存储装置240中的压缩数据和/或未压缩数据发送到外部存储装置300。
存储控制器260可基于CPU210的控制和/或DMA控制器250的控制在数据处理装置200A和外部存储装置300之间对命令信号和/或数据进行接口传输。
显示控制器270可根据CPU210的控制处理将被显示在显示器300上的数据。
外部存储装置300可被实现为嵌入式存储装置或外部安装的存储装置。外部存储装置300可以由DRAM、闪存装置、嵌入式多媒体卡(eMMC)、通用闪存(UFS)等来实现。
图2是用于解释根据本发明构思的至少一个示例实施例的包括压缩电路230的数据处理系统100A的示例操作的概念图。
压缩电路230A(即,图1中示出的压缩电路230的示例)可使用单一压缩算法(即,一步压缩方法)压缩未压缩数据UCD。
压缩电路230A预测(或预期)未压缩数据UCD的一部分的压缩比,并基于预测(或预期)结果确定是对未压缩数据UCD的剩余部分执行压缩,还是对所有未压缩数据UCD执行存储器复制操作。
压缩电路230A包括压缩器231、启用控制电路233、压缩确定电路235和预期数据大小计算器237。
压缩电路230A可压缩从内部存储装置240输出的未压缩数据UCD的一部分,确定(例如,同时确定)是否压缩未压缩数据UCD的剩余部分,并基于确定结果产生确定信号COMP。
未压缩数据UCD可被划分为多个数据块,并且压缩器231可压缩每个数据块。可基于压缩器231中使用的压缩算法来确定数据块大小。
为了便于解释,假设由用户或制造商设置的数据块大小(在下文中称为“参考数据块大小TS”)是90K字节,由用户或制造商设置的压缩比(在下文中称为“最小压缩比M”)是0.4,并且相应的压缩器231和/或232以数据块为单位压缩数据。
还假设压缩算法的平均压缩比(在下文中称为“平均压缩比PRM”)是实验的平均值,并且可由用户或制造商设置。应该理解,如图3所示,压缩比是未压缩数据大小(即,参考数据块大小TS)经过压缩后减小的大小DS与未压缩数据大小的比率。
压缩器231可以以数据块为单位压缩从内部存储装置240输出的未压缩数据UCD,并将压缩数据CD发送到内部存储装置240。
压缩器231可包括第一计数器231A、压缩逻辑231-1和第二计数器231B。
第一计数器231A对将被压缩的数据块的大小进行计数,并基于计数结果输出输入数据索引IDI。例如,第一计数器231A可按字节对将被压缩的数据块的大小进行计数。
压缩逻辑231-1是压缩未压缩数据UCD并产生压缩数据CD的逻辑电路。
第二计数器231B对从压缩逻辑231-1输出的压缩数据CD的大小进行计数,并基于计数结果输出输出数据索引ODI。输出数据索引ODI可对应于压缩逻辑231-1输出的压缩数据的实际数据大小。例如,第二计数器231B可按字节对压缩数据CD的大小进行计数。在至少一个实施例中,计数器231A和231B可基于时钟信号按比特对数据块的大小进行计数。
虽然在图2中所示的实施例中计数器231A和231B被示出为在压缩器231内部实现,但是在至少一个其它实施例中它们可以在压缩器231外部实现。例如,第一计数器231A可以在启用控制电路233内部实现。
启用控制电路233可产生用于确定压缩确定电路235的比较时序和/或确定信号COMP的输出时序的启用信号EN。启用控制电路233可比较参考数据块大小TS与输入数据索引IDI,并基于比较结果产生启用信号EN。
参考数据块大小TS指示将被压缩的输入数据的大小、用于预测压缩比的参考数据量和/或构建单个数据块所需的数据量。参考数据块大小TS可由用户或制造商进行编程。换句话说,如图4或图8所示,当参考数据块大小TS(例如,92,160)与输入数据索引IDI(例如,92,160)相同时,启用控制电路233可产生被激活的启用信号EN。
压缩确定电路235可响应于已经被激活的启用信号EN比较预期数据大小S1与输出数据索引ODI(即,压缩器231压缩的数据的实际大小),并将根据比较结果具有不同电平的确定信号COMP发送到压缩器231和CPU210。
确定信号COMP可被默认地设置为第一电平,例如,高电平。当确定信号COMP处于第一电平时,压缩器231被启用,因此,压缩器231对未压缩数据UCD的一部分执行压缩。当确定信号COMP处于第一电平时,CPU210可产生用于禁用DMA控制器250的第一控制信号CTRL1。
为了便于解释,假设未压缩数据UCD的一部分是包括在未压缩数据UCD中的多个数据块中的第一数据块。然而,包括在未压缩数据UCD的一部分中的数据块的数量可根据设计而变化。
预期数据大小计算器237可使用在压缩器231中使用的压缩算法的平均压缩比PRM、最小压缩比M和参考数据块大小TS来计算预期数据大小S1。
存储控制器260可基于从DMA控制器250输出的第二控制信号CTRL2将发送数据(即,未压缩数据UCD或压缩数据CD)从内部存储装置240发送到外部存储装置300。
图3是在图2中所示的压缩电路230A的操作中的平均压缩比和预期压缩比的概念图。
参照图2和图3,参考字符C表示压缩器231的整体压缩比,参考字符C1表示在压缩器231中使用的压缩算法的平均压缩比,参考字符E1表示预期数据大小计算器237计算的预期压缩比,参考字符S1表示预期数据大小计算器237计算的预期数据大小。
预期数据大小计算器237使用输入参数PRM、M和TS以及等式1计算预期数据大小S1:
C=1-(1-C1)
E1=M*C1/C
S1=TS*(1-E1) (1)
其中,PRM与C1相同。如上所述,输入参数PRM、M和TS可由制造商或用户设置或进行编程。
图4是用于解释图2中所示的启用控制电路233和压缩确定电路235的示例操作的概念图。图5是用于解释图2中所示的压缩电路230A的示例操作的概念图。
当平均压缩比PRM为0.6,最小压缩比M为0.4,参考数据块大小TS为90K字节时,以下将参照图2至图5描述压缩电路230A的操作。
预期数据大小计算器237可使用等式1计算预期数据大小S1。此时,预期数据大小S1是55296。
因为确定信号COMP被设置为第一电平,所以压缩器231被启用,以压缩未压缩数据UCD的一部分(例如,第一数据块BLOCK1),并且DMA控制器250响应于从CPU210输出的第一控制信号CTRL1被禁用。
第一计数器231A按字节对第一数据块BLOCK1的大小进行计数,并产生输入数据索引IDI。第二计数器231B按字节对压缩逻辑231-1压缩的数据的大小进行计数,并产生输出数据索引ODI。
在比较间隔CT期间,即,当输入数据索引IDI(=92160)与参考数据块大小TS(=92160)相同时,启用控制电路233输出激活的启用信号EN。压缩确定电路235响应于激活的启用信号EN比较输出数据索引ODI与预期数据大小S1,并产生确定信号COMP。
例如,当在图4中的比较间隔CT(情况1)期间输出数据索引ODI(或压缩数据的实际数据大小)等于或小于预期数据大小S1时,压缩确定电路235产生保持在第一电平(例如,高电平)的确定信号COMP。响应于确定信号COMP处于第一电平,压缩器231可顺序压缩包括在未压缩数据UCD中的剩余数据块BLOCK2至BLOCKm(其中,“m”是自然数)。
压缩器231顺序压缩数据块BLOCK1至BLOCKm,并将压缩数据CD存储在内部存储装置240中。当禁用的DMA控制器250被启用并且DMA控制器250将第二控制信号CTRL2输出到存储控制器260时,存储控制器260将压缩数据CD从内部存储装置240发送到外部存储装置300。换句话说,存储控制器260使用压缩数据CD执行数据交换操作和/或数据复制操作。
然而,当在图4中比较间隔CT(情况2)期间输出数据索引ODI(或压缩数据的实际数据大小)大于预期数据大小S1时,压缩确定电路235产生从第一电平转换到不同于第一电平的第二电平(例如,低电平)的确定信号COMP。
响应于确定信号COMP处于第二电平(例如,低电平),压缩器231被禁用,因此,压缩器231停止压缩数据。此时,响应于确定信号COMP处于第二电平,CPU210将第一控制信号CTRL1发送到DMA控制器250。
第一控制信号CTRL1包括用于将未压缩数据UCD从内部存储装置240发送到外部存储装置300的信号。该信号可包括指示内部存储装置240中的存储区域(在该存储区域中已经存储经过数据交换和/或存储器复制的数据)的地址、指示外部存储装置300中的存储区域(在该存储区域中将存储数据)的地址以及指示数据量的信号。
DMA控制器250响应于第一控制信号CTRL1将第二控制信号CTRL2输出到存储控制器260。因此,存储控制器260响应于第二控制信号CTRL2将未压缩数据UCD从内部存储装置240发送到外部存储装置300。换句话说,存储控制器260使用未压缩数据UCD执行数据交换操作和/或数据复制操作。此时,可从内部存储装置240丢弃与第一数据块BLOCK1对应的压缩数据。
图6是用于解释根据本发明构思的至少一个示例实施例的包括压缩电路230B的数据处理系统100B的示例操作的概念图。压缩电路230B可使用多种压缩算法(即,多步压缩方法)压缩未压缩数据UCD。
除了压缩电路230B包括彼此串联连接的多个压缩器231和232之外,图6中示出的数据处理系统100B的结构和操作与图1中示出的数据处理系统100A的结构和操作基本相同。压缩器231可使用与压缩器232不同的压缩算法。例如,压缩电路230B可以是使用DEFLATE算法的压缩器。
虽然图6中示出两个压缩器231和232,但是压缩电路230B可包括彼此串联连接的三个或更多个压缩器。
图7是在图6中所示的压缩电路230B的操作中的平均压缩比和预期压缩比的概念图。
参照图6和图7,参考字符C表示包括压缩器231和232的压缩电路230B的整体压缩比,参考字符C1表示第一压缩器231中使用的压缩算法的第一平均压缩比,参考字符C2表示第二压缩器232中使用的压缩算法的第二平均压缩比,参考字符E1表示预期数据大小计算器237计算的第一压缩器231的预期压缩比,参考字符E2表示预期数据大小计算器237计算的第二压缩器232的预期压缩比,参考字符S1表示预期数据大小计算器237计算的预期数据大小。
预期数据大小计算器237使用输入参数PRM、M和TS以及等式2来计算预期数据大小S1:
C=1-(1-C1)*(1-C2)
E1=M*C1/C
E2=M*C2/C
S1=TS*(1-E1) (2)
在这种情况下,平均压缩比PRM包括第一平均压缩比C1和第二平均压缩比C2。当压缩电路230B包括至少三个彼此串联连接的压缩器时,平均压缩比PRM可包括三个分别的压缩器的平均压缩比。
图8是用于解释图6中所示的启用控制电路233和压缩确定电路235的示例操作的概念图。图9是用于解释图6中所示的压缩电路230B的示例操作的概念图。
为了便于解释,假设第一压缩器231使用LZ77算法,第一压缩器231的第一平均压缩比C1是0.6,第二压缩器232使用Huffman编码算法,第二压缩器232的第二平均压缩比C2是0.18,最小压缩比M是0.4,参考数据块大小TS是90K字节,数据块BLOCK1至BLOCKn(其中,“n”是自然数)中的每个的大小是90K字节。预期数据大小计算器237使用等式2计算以下的值:
C=0.672;
E1=0.357142857;
S1=92160*(1-0.357142857)=59245.71429≒59246。
因为确定信号COMP被设置为第一电平,所以第一压缩器231被启用以压缩第一数据块BLOCK1,并且DMA控制器250响应于从CPU210输出的第一控制信号CTRL1被禁用。
第一压缩器231的第一计数器231A按字节对未压缩数据UCD的第一数据块BLOCK1的大小进行计数,并产生输入数据索引IDI。第一压缩器231的第二计数器231B按字节对从压缩逻辑231-1输出的压缩数据CD的大小进行计数,并产生输出数据索引ODI。
当输入数据索引IDI(=92160)与参考数据块大小TS(=92160)相同时,在图8的比较间隔CT期间,启用控制电路233输出激活的启用信号EN。
压缩确定电路235响应于激活的启用信号EN比较输出数据索引ODI与预期数据大小S1,并产生确定信号COMP。
例如,在比较间隔CT(图8中的情况3)期间,输出数据索引ODI(或压缩数据的实际数据大小)(=4001)等于或小于预期数据大小S1(=59246),因此,压缩确定电路235产生保持在第一电平(例如,高电平)的确定信号COMP。
响应于确定信号COMP处于第一电平,压缩器231和232可使用多步压缩方法顺序压缩包括在未压缩数据UCD中的数据块BLOCK1至BLOCKn(其中,“n”是自然数)(图9中的情况3)。
在从第二压缩器232输出的压缩数据CD被存储在内部存储装置240中之后,DMA控制器250由CPU210启用。响应于第二控制信号CTRL2,存储控制器260将压缩数据CD从内部存储装置240发送到外部存储装置300。
然而,当在比较间隔CT(图8中的情况4)期间,输出数据索引ODI(或压缩数据的实际数据大小)(=59247)大于预期数据大小S1(=59246)时,压缩确定电路235产生从第一电平转换到第二电平的确定信号COMP。
响应于确定信号COMP处于第二电平(例如,低电平),压缩器231和232被禁用。因此,压缩器231和232停止压缩数据。此时,CPU210响应于确定信号COMP处于第二电平,将第一控制信号CTRL1发送到DMA控制器250。第一控制信号CTRL1包括用于将未压缩数据UCD从内部存储装置240发送到外部存储装置300的信号。
DMA控制器250响应于第一控制信号CTRL1将第二控制信号CTRL2发送到存储控制器260。因此,存储控制器260可响应于第二控制信号CTRL2将未压缩数据UCD存储器复制到外部存储装置300。
如图9所示,第一压缩器231执行第一压缩,第二压缩器232执行第二压缩。当对第一数据块BLOCK1执行第一压缩时执行预测。详细地讲,在完成对第一数据块BLOCK1的第一压缩的时刻执行预测。
数据处理装置200A仅对未压缩数据UCD的一部分(例如,第一数据块BLOCK1)执行第一压缩,然后,当第一压缩器231压缩的数据的大小(即,输出数据索引ODI(或压缩数据的实际数据大小))大于预期数据大小S1时,数据处理装置200A停止对其它数据块的进一步压缩,并可通过数据交换和/或存储器复制将所有未压缩数据UCD发送到外部存储装置300。
因此,在执行数据交换或数据复制的最初阶段,数据处理装置200A确定是否压缩未压缩数据UCD,从而即使当多任务应用的数量增加时,也可靠地执行数据交换和/或数据复制。结果,数据处理装置200增加移动装置中的操作系统(OS)的可靠性。
图10是根据本发明构思的至少一个示例实施例的数据处理系统100C的框图。图11是在图10中所示的数据处理系统100C的操作中的信号流的示图。
参照图1和图10,数据处理系统100C中的CPU210中的软件单元(SW)执行数据交换操作,因此,数据处理装置200C不包括单独的压缩电路。
根据示例实施例的执行数据交换操作的软件单元SW从操作存储装置200加载到包括在CPU210中的存储装置211,并由CPU210运行。软件单元SW可以由例如CPU210内部的计算机处理器来实现。软件单元SW还可被实现为CPU210的一部分。存储装置211可以由RAM或静态RAM(SRAM)来实现。根据至少一个示例实施例,存储装置211可在CPU210外部实现。
可以以程序代码和/或指令集来实现压缩器231和232的功能、启用控制电路233的功能、压缩确定电路235的功能和预期数据大小计算器237的功能。
例如,CPU210可执行移动应用,并且内部存储装置240可存储在移动应用中使用的未压缩数据。移动应用可被存储在操作存储装置220、内部存储装置240和/或外部存储装置300中。
软件单元SW可基于最小压缩比M、将被用于压缩的至少一个压缩算法的平均压缩比PRM和参考数据块大小TS来计算未压缩数据的一部分的压缩比或预期数据大小S1。然后在操作S110,CPU210可基于计算结果产生确定是否压缩未压缩数据UCD的剩余部分的确定信号COMP。
根据确定信号COMP,可使用至少一个压缩算法来连续地压缩未压缩数据UCD的剩余部分(图4中的情况1和图9中的情况3),或者可停止对未压缩数据UCD的剩余部分的进一步压缩(图4中的情况2和图9中的情况4)。
在操作S120,CPU210可基于确定信号COMP的电平产生用于启用或禁用DMA控制器250的第一控制信号CTRL1。
在操作S130,DMA控制器250可基于从CPU210接收的第一控制信号CTRL1将用于控制压缩数据CD的数据交换或未压缩数据UCD的数据交换的第二控制信号CTRL2发送到存储控制器260。
在操作S140,存储控制器260可响应于第二控制信号CTRL2对内部存储装置240执行读取操作。在操作S150,存储控制器260可将已经读取的压缩数据CD和/或未压缩数据UCD写入外部存储装置300。
例如,当确定信号COMP处于第一电平时,存储控制器260可响应于第二控制信号CTRL2从内部存储装置240读取压缩数据CD(操作S140),并将压缩数据CD写入外部存储装置300(操作S150)。
然而,当确定信号COMP处于第二电平,则存储控制器260可响应于第二控制信号CTRL2从内部存储装置240读取未压缩数据UCD(操作S140),并将未压缩数据UCD写入外部存储装置300(操作S150)。
图12是根据本发明构思的至少一个示例实施例的操作数据处理系统的方法的示例流程图。将参照图1至图12描述数据处理装置200A或200C的操作。
在操作S210,数据处理装置200A或200C压缩未压缩数据UCD的一部分,并确定是否继续压缩未压缩数据UCD的剩余部分。
在操作S220,数据处理装置200A或200C基于确定结果确定是否应该继续压缩。在操作S230,如果数据处理装置200A或200C确定应该继续压缩,则数据处理装置200A或200C使用至少一个压缩算法压缩未压缩数据UCD的剩余部分。在操作S240,数据处理装置200A或200C将压缩数据CD存储在内部存储装置240中,并使用存储器复制操作将压缩数据CD从内部存储装置240发送到外部存储装置300。
然而,如果数据处理装置200A或200C基于确定结果确定不应该继续压缩,则数据处理装置200A或200C停止对未压缩数据UCD的剩余部分的进一步压缩。在操作S250,数据处理装置200A或200C丢弃压缩数据,并将作为存储器复制的目标的已经存储在内部存储装置240中的所有未压缩数据UCD发送到外部存储装置300。
如上所述,根据本发明构思的至少一个示例实施例,压缩未压缩数据的一部分,确定是否压缩未压缩数据的剩余部分,基于确定结果在数据处理系统执行的数据交换操作中将所有未压缩数据发送到外部存储装置,从而即使当多任务应用的数量增加时,也可靠地执行数据交换操作。结果,移动OS的可靠性增加。
尽管已经参照本发明构思的示例性实施例具体示出和描述了本发明构思,但是本领域普通技术人员将理解,在不脱离由权利要求限定的本发明构思的精神和范围的情况下,可进行各种形式和细节上的改变。
Claims (22)
1.一种操作数据处理系统的方法,所述方法包括:
压缩未压缩数据的第一部分;
基于压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小,确定是否压缩未压缩数据的第二部分;
基于确定的结果将第一发送数据和第二发送数据中的一个发送到外部存储装置,其中,第一发送数据包括压缩的第一部分和压缩的第二部分,第二发送数据包括未压缩数据的第一部分和第二部分,
其中,
压缩的步骤包括:使用至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一部分,
确定的步骤包括:
比较压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小;
基于比较的结果确定是否压缩第二部分,
其中,所述方法还包括:
基于由用户或制造商设置的最小压缩比和第一压缩算法的平均压缩比的乘积与所述至少一个压缩算法的整体压缩比的比率计算第一部分的预期压缩比,其中,所述至少一个压缩算法的整体压缩比通过所述至少一个压缩算法中的各个压缩算法的平均压缩比来计算;
基于预期压缩比与参考数据块大小计算预期数据大小。
2.如权利要求1所述的方法,其中,由制造商和用户之一设置最小压缩比和参考数据块大小。
3.如权利要求1所述的方法,其中,最小压缩比是压缩的第一部分的期望的最小数据大小与未压缩数据的第一部分的数据大小的比率。
4.如权利要求1所述的方法,其中,比较预期数据大小和压缩数据大小的步骤包括:
通过对未压缩数据的第一部分的数据大小进行计数来产生计数值;
如果参考数据块大小等于所述计数值,则比较预期数据大小和实际数据大小。
5.如权利要求1所述的方法,其中,未压缩数据的第一部分包括在未压缩数据中包括的多个数据块中的第一数据块。
6.一种数据处理系统,包括:
内部存储装置,被配置为存储未压缩数据;
处理器,被配置为:
压缩未压缩数据的第一部分;
基于压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小,确定是否压缩未压缩数据的第二部分;
基于确定的结果,控制直接存储器存取DMA控制器将第一发送数据和第二发送数据中的一个从内部存储装置发送到外部存储装置,其中,第一发送数据包括压缩的第一部分和压缩的第二部分,第二发送数据包括未压缩数据的第一部分和第二部分,
其中,处理器被配置为:
使用至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一部分;
比较压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小;
基于比较的结果控制DMA控制器,
其中,处理器还被配置为:
基于由用户或制造商设置的最小压缩比和第一压缩算法的平均压缩比的乘积与所述至少一个压缩算法的整体压缩比的比率计算第一部分的预期压缩比,其中,所述至少一个压缩算法的整体压缩比通过所述至少一个压缩算法中的各个压缩算法的平均压缩比来计算;
基于预期压缩比与参考数据块大小计算预期数据大小。
7.如权利要求6所述的数据处理系统,其中,处理器被配置为:
通过对未压缩数据的第一部分的数据大小进行计数来产生计数值;
如果参考数据块大小等于所述计数值,则比较预期数据大小和实际数据大小。
8.一种数据处理系统,包括:
内部存储装置,被配置为存储未压缩数据;
压缩电路,被配置为:压缩未压缩数据的第一部分;基于压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小,确定是否压缩未压缩数据的第二部分;基于所述确定输出确定信号;
中央处理单元,被配置为基于确定信号产生控制信号;
直接存储器存取DMA控制器,被配置为基于控制信号将第一发送数据和第二发送数据中的一个从内部存储装置发送到外部存储装置,其中,第一发送数据包括压缩的第一部分和压缩的第二部分,第二发送数据包括未压缩数据的第一部分和第二部分,
其中,压缩电路被配置为:
使用至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一部分;
比较压缩的第一部分的预期数据大小和压缩的第一部分的实际数据大小;
基于比较的结果输出确定信号,
其中,压缩电路还被配置为:
基于由用户或制造商设置的最小压缩比和第一压缩算法的平均压缩比的乘积与所述至少一个压缩算法的整体压缩比的比率计算第一部分的预期压缩比,其中,所述至少一个压缩算法的整体压缩比通过所述至少一个压缩算法中的各个压缩算法的平均压缩比来计算;
基于预期压缩比与参考数据块大小计算预期数据大小。
9.如权利要求8所述的数据处理系统,其中,压缩电路被配置为:
通过对未压缩数据的第一部分的数据大小进行计数来产生计数值;
如果参考数据块大小等于所述计数值,则比较预期数据大小和实际数据大小;
基于比较的结果产生确定信号。
10.如权利要求8所述的数据处理系统,其中,压缩电路包括:
压缩器,被配置为压缩未压缩数据的第一部分;
预期数据大小计算器,被配置为计算所述预期数据大小;
压缩确定电路,被配置为:
比较所述预期数据大小和从压缩器输出的压缩的第一部分的实际数据大小;
基于比较的结果输出确定信号。
11.如权利要求10所述的数据处理系统,其中,
压缩电路还包括启用控制电路,启用控制电路被配置为:
计算未压缩数据的第一部分的大小;
如果计算的第一部分的大小等于参考数据块大小,则产生启用信号;
压缩确定电路被配置为:
响应于启用信号比较所述预期数据大小和压缩的第一部分的实际数据大小;
基于比较的结果输出确定信号。
12.如权利要求10所述的数据处理系统,其中,压缩器是彼此串联连接的多个压缩器中的第一压缩器。
13.如权利要求8所述的数据处理系统,其中,所述数据处理系统是片上系统。
14.如权利要求8所述的数据处理系统,其中,压缩电路包括:
压缩器,被配置为压缩未压缩数据的第一部分;
第一计数器,被配置为对未压缩数据的第一部分的数据大小进行计数,并输出第一计数值;
第二计数器,被配置为对从压缩器输出的压缩的第一部分的数据大小进行计数,并输出第二计数值;
预期数据大小计算器,被配置为计算所述预期数据大小;
压缩确定电路,被配置为:
比较所述预期数据大小和第二计数值;
基于比较的结果输出确定信号。
15.如权利要求14所述的数据处理系统,其中,
压缩电路还包括启用控制电路,启用控制电路被配置为:如果参考数据块大小等于第一计数值,则产生启用信号;
压缩确定电路被配置为:
响应于启用信号比较所述预期数据大小和第二计数值;
基于比较的结果输出确定信号。
16.一种移动装置,包括:
中央处理单元,被配置为执行移动应用;
内部存储装置,被配置为存储在移动应用中使用的未压缩数据;
压缩电路,被配置为:计算未压缩数据的压缩的第一部分的预期数据大小;基于计算的结果确定是否压缩未压缩数据的第二部分;
直接存储器存取DMA控制器,被配置为基于确定的结果将第一发送数据和第二发送数据中的一个从内部存储装置发送到外部存储装置,其中,第一发送数据包括压缩的第一部分和压缩的第二部分,第二发送数据包括未压缩数据的第一部分和第二部分,
其中,压缩电路被配置为:
使用至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一部分;
比较所述预期数据大小和压缩的第一部分的数据大小;
基于比较的结果确定是否压缩第二部分,
其中,压缩电路还被配置为:
基于由用户或制造商设置的最小压缩比和第一压缩算法的平均压缩比的乘积与所述至少一个压缩算法的整体压缩比的比率计算第一部分的预期压缩比,其中,所述至少一个压缩算法的整体压缩比通过所述至少一个压缩算法中的各个压缩算法的平均压缩比来计算;
基于预期压缩比与参考数据块大小计算所述预期数据大小。
17.如权利要求16所述的移动装置,其中,压缩电路被配置为:
产生关于未压缩数据的第一部分的计数值;
如果参考数据块大小等于所述计数值,则比较所述预期数据大小和压缩的数据大小。
18.如权利要求16所述的移动装置,其中,压缩电路包括:
压缩器,被配置为压缩未压缩数据的第一部分;
第一计数器,被配置为对未压缩数据的第一部分的数据大小进行计数,并输出第一计数值;
第二计数器,被配置为对从压缩器输出的压缩的第一部分的数据大小进行计数,并输出第二计数值;
预期数据大小计算器,被配置为计算所述预期数据大小;
压缩确定电路,被配置为:
比较所述预期数据大小和第二计数值;
基于比较的结果确定是否压缩第二部分。
19.如权利要求18所述的移动装置,其中,压缩器是彼此串联连接的多个压缩器中的第一压缩器。
20.一种数据处理装置,被配置为:
压缩未压缩数据的第一未压缩部分以产生第一压缩部分;
基于第一压缩部分的预期数据大小和第一压缩部分的实际数据大小,确定是否压缩未压缩数据的第二未压缩部分以产生第二压缩部分;
基于所述确定将第一发送数据和第二发送数据中的一个发送到外部存储器,其中,第一发送数据包括第一压缩部分和第二压缩部分,第二发送数据包括第一未压缩部分和第二未压缩部分,
其中,所述数据处理装置被配置为:
使用至少一个压缩算法中的第一压缩算法压缩未压缩数据的第一未压缩部分;
比较第一压缩部分的预期数据大小和实际数据大小;
基于比较的结果确定是否压缩第二未压缩部分,
其中,所述数据处理装置还被配置为:
基于由用户或制造商设置的最小压缩比和第一压缩算法的平均压缩比的乘积与所述至少一个压缩算法的整体压缩比的比率计算第一未压缩部分的预期压缩比,其中,所述至少一个压缩算法的整体压缩比通过所述至少一个压缩算法中的各个压缩算法的平均压缩比来计算;
基于预期压缩比与参考数据块大小计算预期数据大小。
21.如权利要求20所述的数据处理装置,其中,如果第一压缩部分的实际数据大小小于或等于第一压缩部分的预期数据大小,则所述数据处理装置被配置为:
压缩未压缩数据的第二未压缩部分;
将第一发送数据发送到外部存储器。
22.如权利要求20所述的数据处理装置,其中,如果第一压缩部分的实际数据大小大于第一压缩部分的预期数据大小,则所述数据处理装置被配置为:
终止对第二未压缩部分的压缩操作;
将第二发送数据发送到外部存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130026326A KR102005227B1 (ko) | 2013-03-12 | 2013-03-12 | 데이터 처리 시스템과 이의 동작 방법 |
KR10-2013-0026326 | 2013-03-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104052493A CN104052493A (zh) | 2014-09-17 |
CN104052493B true CN104052493B (zh) | 2019-05-28 |
Family
ID=50555211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410090133.2A Active CN104052493B (zh) | 2013-03-12 | 2014-03-12 | 数据处理系统以及操作数据处理系统的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10146680B2 (zh) |
KR (1) | KR102005227B1 (zh) |
CN (1) | CN104052493B (zh) |
AU (1) | AU2014201011A1 (zh) |
DE (1) | DE102014204403A1 (zh) |
NL (1) | NL2012396C2 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9342344B2 (en) | 2014-04-16 | 2016-05-17 | Vmware, Inc. | Content-based swap candidate selection |
US9600317B2 (en) * | 2014-04-16 | 2017-03-21 | Vmware, Inc. | Page compressibility checker |
US10412619B2 (en) * | 2014-11-14 | 2019-09-10 | Qualcomm Incorporated | Buffer status report for eDCS |
US10452614B2 (en) | 2015-06-12 | 2019-10-22 | International Business Machines Corporation | Storage data reduction analysis and forecast |
US10168939B2 (en) * | 2015-11-24 | 2019-01-01 | International Business Machines Corporation | Reading records from a tape medium |
CN106293542B (zh) * | 2016-08-23 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种文件解压缩的方法及装置 |
US20200107220A1 (en) * | 2017-03-31 | 2020-04-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and Apparatuses for Managing Compression of Information in a Wireless Network |
US10642602B2 (en) * | 2017-12-12 | 2020-05-05 | Nxp Usa, Inc. | NVM architecture with OTA support |
CN111104053B (zh) * | 2018-10-26 | 2023-08-29 | 伊姆西Ip控股有限责任公司 | 存储数据的方法、装置和计算机程序产品 |
CN111384968B (zh) * | 2018-12-28 | 2022-08-09 | 上海寒武纪信息科技有限公司 | 数据压缩解压装置和数据解压方法 |
US11544196B2 (en) * | 2019-12-23 | 2023-01-03 | Advanced Micro Devices, Inc. | Resource-aware compression |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1127558A (zh) * | 1994-04-22 | 1996-07-24 | 索尼公司 | 数据传输装置和数据记录装置及数据传输方法和数据记录方法 |
CN1672135A (zh) * | 2002-08-06 | 2005-09-21 | 国际商业机器公司 | 基于可压缩性程度使用压缩主存储器的系统和方法 |
CN101000605A (zh) * | 2006-01-09 | 2007-07-18 | 中国科学院自动化研究所 | 一种过程工业历史数据智能两级压缩方法 |
US8040537B2 (en) * | 2007-03-15 | 2011-10-18 | Xerox Corporation | Adaptive forced binary compression in printing systems |
CN102708187A (zh) * | 2012-05-14 | 2012-10-03 | 成都信息工程学院 | 基于Hbase数据库的倒排索引混合压缩及解压方法 |
CN102843341A (zh) * | 2011-06-22 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、数据接收方法及装置 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5490260A (en) * | 1990-12-14 | 1996-02-06 | Ceram, Inc. | Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size |
US6157743A (en) * | 1998-07-31 | 2000-12-05 | Hewlett Packard Company | Method for retrieving compressed texture data from a memory system |
US20050055483A1 (en) * | 2003-08-22 | 2005-03-10 | Devlin William Lee | System and method for file comperssion |
US7188227B2 (en) | 2003-09-30 | 2007-03-06 | International Business Machines Corporation | Adaptive memory compression |
US8001294B2 (en) * | 2004-09-28 | 2011-08-16 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a compressed network in a multi-processing system |
JP4625929B2 (ja) | 2005-09-01 | 2011-02-02 | 新世代株式会社 | ダイレクトメモリアクセスコントローラ |
WO2007023975A1 (ja) * | 2005-08-22 | 2007-03-01 | Ssd Company Limited | マルチプロセッサ、ダイレクトメモリアクセスコントローラ、及びシリアルデータ送受信装置 |
KR101359834B1 (ko) * | 2005-10-06 | 2014-02-07 | 레드 밴드 리미티드 | 압축 버전을 포함하는 내용을 업데이트하는 방법 및시스템들 |
US7447814B1 (en) * | 2005-10-14 | 2008-11-04 | Sun Microsystems, Inc. | Method and apparatus for fast loss-less memory data compression wherein data corresponds to a cache line of data in cache |
US7660962B2 (en) | 2005-12-15 | 2010-02-09 | International Business Machines Corporation | Use of memory compression algorithm to assess efficiency of memory usage |
US7734853B2 (en) * | 2006-02-28 | 2010-06-08 | Arm Limited | Latency dependent data bus transmission |
KR100849305B1 (ko) | 2006-11-24 | 2008-07-29 | 삼성전자주식회사 | 데이터를 압축하여 관리하는 메모리 및 그 방법 |
JP5018060B2 (ja) | 2006-12-14 | 2012-09-05 | 日本電気株式会社 | 情報処理装置および情報処理方法 |
JP4888166B2 (ja) | 2007-03-13 | 2012-02-29 | 日本電気株式会社 | 情報処理装置及びプロセス圧縮方法並びにプログラム |
JP2008226082A (ja) | 2007-03-15 | 2008-09-25 | Nec Corp | データ圧縮伸張装置、コンピュータに実行させるためのプログラム、及びデータ圧縮伸張方法 |
JP2009055141A (ja) | 2007-08-24 | 2009-03-12 | Ricoh Co Ltd | データ処理装置及びデータ処理方法 |
US7688233B2 (en) | 2008-02-07 | 2010-03-30 | Red Hat, Inc. | Compression for deflate algorithm |
CN101868378B (zh) * | 2008-03-25 | 2013-03-13 | 爱信艾达株式会社 | 向车上控制装置的控制用数据的写入方法和车上控制装置 |
US8108442B2 (en) * | 2008-07-22 | 2012-01-31 | Computer Associates Think, Inc. | System for compression and storage of data |
JP4780172B2 (ja) | 2008-10-10 | 2011-09-28 | ソニー株式会社 | 情報処理装置および方法 |
TWI381737B (zh) * | 2009-01-20 | 2013-01-01 | Quanta Comp Inc | 數位影音擷取裝置與其方法 |
KR20120062500A (ko) * | 2010-12-06 | 2012-06-14 | 삼성전자주식회사 | 압축 데이터를 판별하는 방법 및 장치 그리고 그것을 포함한 데이터 저장 장치 |
KR101879576B1 (ko) | 2011-06-29 | 2018-07-18 | 동우 화인켐 주식회사 | 오프셋 인쇄용 요판 세정액 조성물 및 이를 이용한 세정방법 |
KR20130027253A (ko) * | 2011-09-07 | 2013-03-15 | 삼성전자주식회사 | 데이터의 압축 방법 |
US8497788B1 (en) * | 2012-04-25 | 2013-07-30 | Pure Storage Inc. | Efficient techniques for aligned fixed-length compression |
-
2013
- 2013-03-12 KR KR1020130026326A patent/KR102005227B1/ko active IP Right Grant
-
2014
- 2014-02-26 AU AU2014201011A patent/AU2014201011A1/en not_active Abandoned
- 2014-03-11 NL NL2012396A patent/NL2012396C2/en active
- 2014-03-11 DE DE102014204403.0A patent/DE102014204403A1/de active Pending
- 2014-03-12 CN CN201410090133.2A patent/CN104052493B/zh active Active
- 2014-03-12 US US14/205,992 patent/US10146680B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1127558A (zh) * | 1994-04-22 | 1996-07-24 | 索尼公司 | 数据传输装置和数据记录装置及数据传输方法和数据记录方法 |
CN1672135A (zh) * | 2002-08-06 | 2005-09-21 | 国际商业机器公司 | 基于可压缩性程度使用压缩主存储器的系统和方法 |
CN101000605A (zh) * | 2006-01-09 | 2007-07-18 | 中国科学院自动化研究所 | 一种过程工业历史数据智能两级压缩方法 |
US8040537B2 (en) * | 2007-03-15 | 2011-10-18 | Xerox Corporation | Adaptive forced binary compression in printing systems |
CN102843341A (zh) * | 2011-06-22 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、数据接收方法及装置 |
CN102708187A (zh) * | 2012-05-14 | 2012-10-03 | 成都信息工程学院 | 基于Hbase数据库的倒排索引混合压缩及解压方法 |
Also Published As
Publication number | Publication date |
---|---|
NL2012396A (en) | 2014-09-15 |
DE102014204403A1 (de) | 2014-09-18 |
AU2014201011A1 (en) | 2014-10-02 |
CN104052493A (zh) | 2014-09-17 |
KR20140111867A (ko) | 2014-09-22 |
US10146680B2 (en) | 2018-12-04 |
NL2012396C2 (en) | 2015-03-10 |
US20140281344A1 (en) | 2014-09-18 |
KR102005227B1 (ko) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104052493B (zh) | 数据处理系统以及操作数据处理系统的方法 | |
US10261910B2 (en) | Cache line compaction of compressed data segments | |
JP6512733B2 (ja) | データ圧縮方法と、該方法を行う装置 | |
CN103729307A (zh) | 数据压缩装置和方法以及包括数据压缩装置的存储系统 | |
US9710166B2 (en) | Systems and methods for predicting compressibility of data | |
US20130179647A1 (en) | Storage device and data management method thereof | |
CN112988616A (zh) | 使用枢纽表从存储器读取顺序数据 | |
CN116028013B (zh) | 一种fpga除法运算的优化方法、装置、除法器和介质 | |
KR20140111844A (ko) | 난수 발생기 및 난수 품질 테스트 방법 | |
CN112131164A (zh) | 应用于加速板卡的数据调度方法、装置及加速板卡和介质 | |
CN105320543B (zh) | 加载软件模块的方法和装置 | |
CN103810297B (zh) | 基于重删技术的写方法、读方法、写装置和读装置 | |
CN109217617A (zh) | 一种马达的激励信号搜索方法及电子设备 | |
CN105654880B (zh) | 控制比例因子的方法以及包括该方法的控制亮度的方法 | |
CN114466012B (zh) | 内容初始化方法、装置、电子设备和存储介质 | |
CN112800057B (zh) | 一种指纹表管理方法及装置 | |
US11226738B2 (en) | Electronic device and data compression method thereof | |
CN106991058B (zh) | 预取文件处理方法及装置 | |
CN106293530A (zh) | 一种数据写入方法和装置 | |
CN109032522A (zh) | 固态硬盘的数据读取方法以及固态硬盘 | |
CN106030531B (zh) | 微控制器的可用闪速存储器的增大 | |
US10586007B1 (en) | Multi-dimensional placement | |
CN110874283B (zh) | 一种基于纠删码的数据存储方法、装置及电子设备 | |
CN113485713A (zh) | 快速编译程序的方法及装置、电子设备和存储介质 | |
CN117349375A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |