CN109101524A - 存储驱动器及其上的压缩系统及压缩其上的数据的方法 - Google Patents
存储驱动器及其上的压缩系统及压缩其上的数据的方法 Download PDFInfo
- Publication number
- CN109101524A CN109101524A CN201810620352.5A CN201810620352A CN109101524A CN 109101524 A CN109101524 A CN 109101524A CN 201810620352 A CN201810620352 A CN 201810620352A CN 109101524 A CN109101524 A CN 109101524A
- Authority
- CN
- China
- Prior art keywords
- compression
- data
- compressibility
- memory driver
- compressibilities
- 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
Links
- 238000007906 compression Methods 0.000 title claims abstract description 181
- 230000006835 compression Effects 0.000 title claims abstract description 180
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004458 analytical method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 240000006829 Ficus sundaica Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/0608—Saving storage space on storage systems
-
- 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
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
-
- 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
-
- 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
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
- H03M7/48—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
-
- 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
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- 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
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
-
- 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
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
- H03M7/6082—Selection strategies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
- G11B2020/00079—Time or data compression or expansion the compression ratio or quality level being adapted to circumstances, e.g. to the available recording space
-
- 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
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3097—Grammar codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种存储驱动器上的压缩系统、压缩存储驱动器上的数据的方法及存储驱动器。本发明的实施例包含一种压缩系统,所述压缩系统包含一或多个可压缩性输入;压缩预测器,配置成基于一或多个可压缩性输入来预测数据的可压缩性;压缩器,配置成压缩数据;以及一或多个压缩输入。压缩预测器或压缩器中的至少一个配置成基于一或多个压缩输入来确定如何压缩数据。一或多个可压缩性输入包括对象扩展名字典、对象签名字典以及熵估算算法库中的至少一个。一或多个压缩输入包括服务质量简档、装置性能简档以及压缩算法性能表中的至少一个。本发明的实施例所描述的预测可压缩性并确定如何压缩数据的方法,可优化存储驱动器的总体性能。
Description
相关申请案的交叉引用
本申请要求2017年6月20日提交的美国临时专利申请第62/522,423号的权益,所述申请的内容以全文引用的方式并入本文中。
技术领域
本发明概念涉及一种存储系统,且更确切地说,涉及一种具有用于预测数据的可压缩性的压缩预测器和用于基于预测来压缩数据的压缩器的压缩系统、一种包含所述压缩系统的驱动器以及一种用于预测和压缩数据的方法。
背景技术
压缩数据是增大数据存储容量的有效使用的有效方式。然而,并非所有压缩算法都是等同的。一些压缩算法对某些类型的数据比对其它类型的数据更好地用,且一般来说,压缩算法以压缩率换得时间/处理量。
如果存储装置盲目地尝试压缩其接收和存储的所有数据,那么其将造成不必要的延迟、处理量降低以及处理器循环浪费。这是因为并非所有传入数据都适合于压缩。一些数据已在主机上压缩为单独、显式压缩特征的一部分,或是固有的,就如许多多媒体文件类型的情况一样。这些文件并不适合于造成处理量降低和延迟的额外压缩。如果平均压缩率良好,那么这类降低是可接受的(即,空间使用率大大降低)。然而,如果平均压缩率不佳,那么将不能实现数据压缩的目的且唯一结果将是性能损失。
将文件存储于相同大小的逻辑块中的常规块存储系统能够压缩个别逻辑块以增大存储容量。然而,块系统的存储结构使得难以基于文件类型和格式来改进所存储数据的压缩,因为难以在所述块中和在所述块之间定位特定类型或格式的个别文件。块存储系统中的各逻辑块可含有若干不同文件(或若干文件的部分),或相反地,单一数据文件可分散于若干逻辑块之间,从而使得难以分离特定文件类型以用于具有最适合于压缩所述特定类型的数据的算法的个别和针对性压缩。另外,逻辑块未必含有关于各个别数据文件的开始点和结束点的信息或关于输入数据格式的信息。
类似地,关于占据一或多个块的文件的标识的重要元数据可能不存在于特定块层级中。因此,传统的块系统将需要对任何块的数据进行采样并执行复杂的数学计算来测量块的潜在可压缩性。这导致额外的性能损失。另外,在基于块的驱动器上压缩信息需要大量背景活动以追踪目标文件的各块的位置,将那些位置压缩并汇编到新的块中,随后更新映射表以展示所压缩和所存储的信息的新位置,所述位置可能在压缩过程中已大体上改变。
键值存储系统与常规的块存储系统的不同在于其不含有相同大小的逻辑块,而替代地将数据存储为不同大小的值,其中所述值表示特定段的数据或文件。键值存储器使用指向存储于其中的特定值的键。键可含有关于所存储数据的有效信息,所述信息包含逻辑地址、衍生于数据的散列值、数据格式等。
所需要的是改进的压缩驱动器,所述改进的压缩驱动器利用键值存储系统的组织以便允许不同压缩,所述不同压缩改进总体存储压缩。举例来说,所需要的是能够确定在压缩之前预期是否良好压缩率从而避免无用压缩和性能损失的驱动器。另外,所需要的是不仅能够对主机数据执行压缩且还能基于数据的性质、驱动器能力和/或终端用户服务质量(Quality of Service,QoS)需求来确定何时且如何最好地压缩这一数据(如果有的话)的驱动器。
本背景技术部分中所公开的以上信息仅用于增进对本公开的背景技术的理解,且因此可含有不构成现有技术的信息。
发明内容
本发明的实施例包含一种具有用于预测数据的可压缩性的压缩预测器和用于基于所述预测来压缩数据的压缩器的压缩系统、一种包含所述压缩系统的驱动器以及一种用于预测和压缩数据的方法。
举例来说,本发明的实施例包含一种压缩系统,所述压缩系统包含:一或多个可压缩性输入;压缩预测器,配置成基于一或多个可压缩性输入来预测数据的可压缩性;压缩器,配置成压缩数据;以及一或多个压缩输入。压缩预测器或压缩器中的至少一个配置成基于一或多个压缩输入来确定如何压缩数据。一或多个可压缩性输入包含对象扩展名字典、对象签名字典以及熵估算算法库中的至少一个。一或多个压缩输入包含服务质量简档、装置性能简档以及压缩算法性能表中的至少一个。
其它实施例包含一种存储驱动器,所述存储驱动器包含压缩系统。
另外,实施例包含一种压缩存储驱动器上的数据的方法,其中所述方法包含:基于一或多个可压缩性输入来预测驱动器上的数据的可压缩性;基于一或多个压缩输入来确定如何压缩数据;以及基于确定如何压缩数据来压缩数据。一或多个可压缩性输入包含对象扩展名字典、对象签名字典以及熵估算算法库中的至少一个。一或多个压缩输入包含服务质量简档、装置性能简档以及压缩算法性能表中的至少一个。
附图说明
结合附图通过参考所综述的以下详细描述,其它特征和方面将变得显而易见且将通过其来最好地理解。在附图中:
图1是示意性地示出根据示范性实施例的压缩驱动器的流程图。
图2是示出在特定处理量下的某些压缩算法的相应压缩率的表。
图3是示出使用图1的压缩驱动器来预测和压缩数据的方法的流程图。
附图标号说明
1:键;
2:值/给定值;
3:压缩预测器;
4:对象扩展名字典/对象扩展名目录;
5:对象签名字典;
6:熵估算算法库;
7:压缩器;
10:压缩驱动器;
11:接收开关;
12:出口开关/多路复用器;
13:输出;
14:QoS简档;
15:装置性能简档;
16:压缩算法性能表;
17:压缩算法库;
21:预测;
22:确定;
23:压缩;
24:输出;
25:存储;
26:箭头。
具体实施方式
本文中所描述的电子装置或电气装置和/或根据本发明的实施例的任何其它相关装置或组件可利用任何合适的硬件、固件(例如专用集成电路)、软件,或软件、固件以及硬件的组合来实施。举例来说,这些装置的各种组件可形成于一个集成电路(integratedcircuit,IC)芯片上或形成于单独IC芯片上。另外,这些装置的各种组件可实施于柔性印刷电路膜、载带封装(tape carrier package;TCP)、印刷电路板(printed circuit board;PCB)上,或形成于一个基底上。另外,这些装置的各种组件可以是运行于一或多个处理器上、一或多个计算装置中,执行计算机程序指令且与其它系统组件交互以执行本文中所描述的各种功能的进程或线程。计算机程序指令存储于可使用例如随机存取存储器(randomaccess memory;RAM)的标准存储器装置在计算装置中实施的存储器中。计算机程序指令还可存储于例如CD-ROM、闪存驱动器或类似物的其它非暂时性计算机可读介质中。此外,本领域的技术人员应认识到可在不脱离本发明的示范性实施例的精神和范围的情况下,将各种计算装置的功能组合或集成到单一计算装置中,或可使特定计算装置的功能分布于一或多个其它计算装置上。
本发明的实施例涉及具有改进可压缩性的固态驱动器。最初,对存储于驱动器上的文件的特征进行分析来预测各文件能够受压缩的程度(即,文件的可压缩性)。一旦得到关于可压缩性的预测,将作出关于是否压缩数据的决策。这个决策可基于所预测的数据的可压缩性以及其它因素,例如服务质量(QoS)需求和目前装置能力。如果作出压缩的决策,那么随后作出关于如何压缩数据的判定,考虑例如数据和装置的特征以及QoS需求的因素来确定在当前条件下哪一算法将最适于使用,以优化总体性能。
图1是示出根据一个实施例的压缩驱动器10的流程图。这个实施例中的驱动器10是键值存储驱动器,以便利用存储于驱动器10上所存储的数据的键和值中的可易于存取的信息。图1的流程图示出包含键1和值2的驱动器10的示范性数据集。可通过压缩预测器3对键1和值2中所含有的信息进行分析以确定值2的可压缩性。压缩预测器3可使用对象扩展名字典4、对象签名字典5和/或熵估算算法库6中所含有的信息来确定或帮助确定值2的可压缩性。
对象扩展名目录4含有已知对象扩展名(即,文件扩展名)列表,以及对于多种压缩技术中的每一种来说那些类型的对象的可压缩程度的评估。这一信息由对象扩展名目录4提供给压缩预测器3以便于压缩预测,且可引起进行一些形式的可压缩性预测而不对值2中所含有的显著数据量直接地进行采样。举例来说,键1可含有可提供关于文件的可压缩性的线索的文件扩展名,所述文件扩展名指示数据文件是PPTX、PDF、MP3、JPG等。如果键1指示文件含有本身已压缩的MP3文件,那么驱动器10可在不对值2的任何数据进行采样的情况下了解到不大可能另外压缩值2。另一方面,如果键1指示其存储黑白位图(bitmap;BMP)图像,那么驱动器10将在不对值2进行采样的情况下了解到值2将是用于压缩的良好候选。
键1可含有关于可压缩性的其它线索,其包含文件签名(即,对象签名)。文件签名是提供关于存储于值2中的文件类型的信息的代码行。数据类型的已知签名列表和其可压缩程度的评估可维持于对象签名字典5中。因此,如果文件扩展名未包含于键1中,那么文件签名可以是且可提供关于存储于值2中的文件类型的信息。将来自对象签名字典5的信息提供给压缩预测器3以便于压缩预测。
虽然文件扩展名和文件签名用作这个实施例中的实例以展示可帮助预测可压缩性的存储于键1中的元数据类型,但可包含除文件扩展名和/或文件签名外或代替文件扩展名和/或文件签名可用于预测可压缩性的其它元数据。使这一其它元数据与文件类型和压缩有效性相关联的信息可存储于词典中且可用于压缩预测器。
如果键1不含元数据提示,那么可能必需对值2中所含有的数据进行采样。然而,由于驱动器10是键值驱动器,相较于常规基于块的驱动器,易于定位数据集的开始点和结束点。这意味两件事:第一,保证所取得的任何样本仅来自所关注的数据,从而使得任何压缩预测较准确。第二,知道数据的开始点允许易于定位值2的标头,所述标头可含有可在不需对值2另外采样且不需要较复杂计算的情况下用以预测压缩性能的线索(例如,不在键1中的元数据或签名)。
如果文件扩展名和/或文件签名并未包含于键1中,那么其可包含于标头中或在值2内的特定已知位置处。举例来说,一些文件签名定位于从文件的开始特定偏移处。下表1是若干常见文件类型以及其相关联签名和偏移的列表。
表1
如表1中所示出,许多文件类型定位于0偏移处,即文件标头的开始处,从而使得寻找文件签名的对值2的采样相对容易。即使文件签名不在标头的开始处,可对特定偏移进行采样以搜索常用文件类型的签名。因此,如果键1不含有关于文件类型的信息,那么可对值2内的特定位置进行采样以便快速且有效地搜索文件签名。
虽然文件签名用作这个实施例中的实例以展示可存储于可帮助预测可压缩性的标头中的元数据类型,但在标头中或在值内的可预测偏移处可包含除文件签名外或代替文件签名可用于预测可压缩性的其它元数据。举例来说,标头可包含指示值的文件格式是什么的其它元数据。使其它元数据与文件类型和压缩性能相关联的信息可存储于词典中且可用于压缩预测器。
如果与压缩相关的元数据并未在键1中且并未在所采样文件标头和偏移位置中,那么可能需要数学上较复杂的可压缩性算法(例如基于熵计算的测量)。
熵估算算法库6含有用于测试任何所采样数据的熵并因而确定其可压缩程度的代码。基于熵的计算可用于检索值2的部分以预测文件是否可压缩。基于熵的计算在熵或随机数据较难压缩的原则下运行。一般来说,已压缩的文件具有较高熵特征。未压缩的文件更可能具有较容易压缩的有序数据。举例来说,压缩算法可将包含具有成一行的一百个“1”的重复代码的区域的未压缩文件压缩为表示(本质上)在所述区域中具有“1”×100的较短、较无序代码行。
由于数据集的开始点和结束点在键值系统中是已知的,所以基于熵的计算可用于值的样本部分以准确地预测整个值的可压缩性。显示高熵的结果将指示值可能不可压缩,且显示低熵的结果将指示值可能是可压缩的。可将来自熵估算算法库6的信息提供到压缩预测器3以帮助预测。
除对值2的样本执行基于熵的计算外或代替对所述值的样本执行基于熵的计算,可对值2的一部分执行样本压缩以估算可压缩性。举例来说,值2的区域(例如,已知且相对较小区域)可使用测试算法来压缩。如果空间节省超出某一阈值(指示可压缩性是合理的),那么将是可压缩性的积极指示,且可将测试压缩的结果发送到驱动器10上的压缩器7以帮助压缩值2。在一些实施例中,多个算法可使用于值2的相同区域上,以使得可较好地优化压缩。然而,这类方法将消耗较多时间和资源且用户可能仅想在QoS需求较低时进行这类过程。
总之,存在可检查的各种位置和可在键值装置中执行以预测可压缩性的分析,且这些位置和分析可混合和匹配以在变化速度下提供不同准确度。一般来说,预测的准确度和实现预测的速度是成反比相关的。举例来说,相较于扫描值2的样本部分并执行基于熵的计算,搜索键1和值2的标头以审查关于可压缩性(例如,根据文件扩展名或文件签名)的元数据线索相对较快。然而,元数据线索理论上相较于基于熵的计算更不精确。
除上述元数据信息和分析外,压缩预测器3可考虑各种其它因素以预测可压缩性,所述因素包含QoS需求和驱动器10的性能能力。
QoS需求和信息可并入到QoS简档14中。QoS简档14并入例如用户的当前性能需求和需要的考虑因素,以使得执行的任何压缩算法将不会不利地影响用户的性能需求。QoS信息可告知驱动器10的机载控制器其需要的性能参数以维持对终端用户是可接受的,机载控制器在所述驱动器中处理性能管理任务。QoS信息可由压缩预测器3使用来确定是否预测压缩率符合QoS需求。另外,QoS信息可用于设置机制,可压缩性可通过所述机制由压缩预测器3预测。举例来说,QoS需求可限制可用于压缩的处理量水平和带宽,且可将由压缩引起的延迟的可接受量限制到不会不利地影响用户的需要的限值。另外,用户的QoS需求可要求一定量的处理器功率来执行供用户使用的应用、方法等。这些需求限制压缩算法(且潜在地限制再压缩工作期间的减压算法),所述压缩算法可用于当时并未超出用户的带宽、处理量、延迟、处理器或其它需求的算法。
驱动器10的性能能力可存储于装置性能简档15中。装置性能简档15追踪驱动器10的性能的静态方面和动态方面。这一信息由压缩预测器3使用以确定值是否可充分压缩(且如果是,程度)以符合QoS 14和驱动器10两者的需要。
上述元数据信息、基于熵的计算、样本压缩、QoS需求以及装置信息中的一些或全部可由压缩预测器3分析以预测压缩值2是否将得到有用压缩率,和/或其是否将不利地影响QoS。考虑这些因素中的一些或全部,最终预测可以是基于阈值的。举例来说,在一些实施例中,如果预测可压缩性高于预定阈值(考虑与预测可压缩性相关的上述因素中的任一个或全部,可由用户指定和输入阈值),那么压缩预测器3将确定压缩应进行。如果预测可压缩性低于预定阈值,那么压缩预测器3将确定不应压缩值2。在其它实施例中,决策可以是多个阈值检查点的结果。举例来说,例如QoS需求、基于熵的计算、样本压缩等的不同因素可具有将考虑到以便确定压缩是否应进行的不同阈值或若干阈值。如果这些阈值中的任何一个或在一些实施例中这些阈值的任何组合不符合,那么将不会进行压缩。关于这些阈值的信息可维持于决策表中。除例如预测压缩率、当前系统性能特征以及各种QoS需求的因素外,决策表将包含类似于上述因素的因素,在下文更详细地论述。这些各种因素的分析可用于确定可压缩性是否应发生。
最终,无论预测方法是什么,将进行关于值的可压缩程度的预测。这一决策可基于一或多个阈值,例如速度或可压缩性阈值、决策表或其类似物。
一旦通过压缩预测器3进行关于是否压缩值2的确定,将这一结果提供到接收开关11。接收开关11接收值2,且基于来自压缩预测器3的结果,在将值2输出到压缩器7或避开压缩器7与将值2直接发送到输出13的出口开关12之间切换。因此,如果压缩预测器3确定压缩应进行,那么接收开关11将将值2发送到压缩器7,而如果压缩预测器3确定压缩不应进行,那么接收开关11将将值2发送到输出13的出口开关12。
如果发现值2许可压缩且将所述值发送到压缩器7,那么压缩器7随后将确定如何压缩驱动器10。替代地,压缩预测器3可确定在将值2发送到压缩器7之前如何压缩驱动器10。确定如何压缩文件可需要考虑各种因素,因为并非所有压缩算法都是相等的。一些算法比其它算法更好地运行来压缩一些形式的数据,一些算法比其它算法要求更多的处理器或存储器能力,一些算法比其它算法具有更大处理量,且一些算法比其它算法提供总体更好的压缩率。在确定如何压缩值2中,压缩器7(或压缩预测器3)可考虑来自包含QoS简档14、装置性能简档15以及压缩算法性能表16的各种输入的信息以确定何种压缩算法适用于数据。
来自QoS简档14的QoS信息可用于确定给定压缩算法的性能特征是否符合终端用户的需要。
来自装置性能简档15的信息可用于确定何种压缩算法将最有效地利用装置资源、待压缩的给定值2。
压缩算法性能表16含有关于多个压缩算法的信息,所述信息包含各算法的平均压缩率(单独或通过文件类型)、各算法的处理量以及各算法的计算和存储器资源需求。压缩算法性能表16允许基于文件类型和可用的处理量(所述处理量可以通过来自QoS简档14的QoS需要来确定)以及基于装置性能简档15的装置能力来选择特定算法。如上文所论述,特定压缩算法可提供更大压缩率以用于特定数据格式且因此可相较于其它压缩算法是优选的。图2简单地示出多种本领域常用压缩算法(和算法设置)的比较。各算法/设置具有处理量和所压缩文件大小的特征化组合(用于常量目标文件)。一般来说,可看到压缩愈多文件(较小压缩文件大小),处理量愈低。因此,所要求的发明考虑存储系统的各种属性以选取当时用于系统的处理量与压缩大小的最佳平衡。另外,如图2所示,某些压缩算法在特定可用的处理量下相对于其它压缩算法具有更好的压缩率。考虑当前QoS和处理量的装置需求,考虑例如图2中所含有的信息允许选择优化压缩率的压缩算法。
因此,视当前QoS需要(如由QoS简档14提供)和驱动器10的性能能力(如由装置性能简档15提供)而定,特定算法相较于其它算法可以是优选的。
通过考虑所有这些因素,驱动器10可确定何种压缩算法在当前条件下适用于值2。视环境而定,一种压缩技术可比其它压缩技术更适合于一种情形。这一实施例考虑待压缩的数据类型、驱动器上可用的资源以及将压缩算法动态指派到待压缩数据的用户QoS需求,以使得SSD的总体性能得到优化。这一确定可视当前条件和QoS需求而定使得不同压缩算法应用于特定值。举例来说,如果来自装置上的其它活动的当前性能需求较高,那么可选择具有相对低的压缩率的压缩算法以使得用户的总体性能需要不受不利的影响。
虽然在这个实施例中,考虑来自QoS简档14、装置性能简档15以及压缩算法性能表16的信息,但在其它实施例中,可能仅考虑上文所论述因素中之一些来确定待使用的压缩算法。另外,还可能考虑可影响用于特定值的优选的压缩算法的额外信息。
一旦压缩算法选定,那么压缩算法库17将向压缩器7提供代码以启动给定值2的压缩。压缩算法库17含有用于执行压缩算法的代码。一旦压缩完成,那么将经由多路复用器12将压缩值输出到输出13。
在一些模式(尤其其中对数据进行串联压缩而非静止压缩的那些模式,或在即时QoS需求允许最小处理时)中,在一个写入处所实现的实际压缩率可能不是理想压缩率。这可能由例如写入缓冲器分配给传入数据的有限空间引起(使得并非可一次分析和压缩所有数据),或由于驱动器由其它高值任务占据,从而迫使低强度压缩。
举例来说,同时,QoS需求可要求“快速而粗糙的(quick and dirty)”压缩(其中快速压缩数据,但未必达到其最理想压缩)以维持用户所需要的驱动器10的性能能力。在这类情境中,有可能驱动器可随后更高效地再压缩数据。举例来说,稍后当磁盘是空闲或必须另外读取和写入主题信息(IE,垃圾收集/耗损均衡)时,可能对已压缩值进行减压且再次分析(使用上述方法)以确定是否可实现更佳压缩。
以这样的方式,例如原先串联压缩的数据流可随后在“静止”情形中更充分地压缩。
为便于这类再压缩,可将编码压缩信息的隐藏键添加到原始键。由于正常键处理例如指数建构、检索等的操作,所以可忽略这一隐藏键,但当压缩相关活动相关时,例如当QoS需求低时,可存取所述隐藏键。隐藏键可包含关于当前使用的压缩类型和启动再压缩的命令的信息。不论何时新的压缩方案应用于值,可更新隐藏键。
在使用中,如图3中所示,压缩驱动器10使用预测压缩器3来首先预测21特定键值数据集的可压缩性。取决于硬件处理能力或由QoS需求施加的限制,可分别地或同时进行若干数据集的可压缩性预测。预测可基于来自文件扩展名、文件签名、基于熵的计算、样本压缩、QoS信息和/或装置性能信息的信息,如上文关于图1所论述。
举例来说,驱动器10的机载控制器或驱动器10上的处理器可搜索可提供关于可压缩性的线索的用于文件扩展名或签名的键1。如果定位文件扩展名或文件签名,那么可分别对其进行分析且与由对象扩展名字典4和对象签名字典5提供到压缩预测器3的信息进行比较以帮助预测值2的可压缩性。在其它实施例中,或在文件签名和文件扩展名未定位于键1中的情况下,驱动器10可搜索值2的标头或特定偏移以用于文件签名。如果定位文件签名,那么可对其进行分析且与由对象签名字典5提供到压缩预测器3的信息进行比较以帮助预测值2的可压缩性。如果文件扩展名或文件签名两者都未定位于键1或值2中,那么驱动器10可使用由熵估算算法库6提供的信息来执行基于熵的计算,或驱动器10可执行如上文所论述的样本压缩。在一些实施例中,压缩预测器3还可分析由QoS简档14和/或装置性能简档15提供的信息以帮助估算可压缩性。
预测可以是基于阈值的,以使得如果符合特定阈值或由用户设置的阈值(可由用户指定和输入或输入作为决策表的部分的一或多个阈值,考虑与预测可压缩性相关的上述因素中的任一个或全部),那么将压缩值2。举例来说,如果预测可压缩性高于预定阈值,那么压缩预测器3将确定压缩可进行。如果预测可压缩性低于预定阈值,那么压缩预测器3将确定不应压缩值2。
如果压缩预测器3确定应压缩值2,那么经由接收开关11将数据发送到压缩器7。压缩器随后确定22如何压缩值2。在确定如何压缩值2中,压缩器7可考虑来自包含QoS简档14、装置性能简档15以及压缩算法性能表16的各种输入的信息以确定何种压缩算法适用于值2。
一旦压缩算法选定,将使用由压缩算法库17提供的代码来压缩23值2以启动给定值2的压缩。压缩后,将经由出口开关12从压缩器7输出24压缩值。
如果压缩预测器3确定不应压缩值2,那么将经由出口开关12输出24数据。
从压缩器7中输出24后,可将关于压缩类型和再压缩值2的命令的信息存储25于键1的隐藏部分(即,隐藏键)中。可随后,例如当QoS需求较低和/或驱动器10静止时,存取这一信息以确定是否再压缩值2以便优化压缩。
另外,输出24且不压缩后,可包含关于是否随后尝试压缩值2(例如,是否QoS需求防止先前尝试的压缩)的信息。这一信息可包含尝试压缩的命令。当QoS需求低和/或驱动器10静止时可尝试这一压缩(参见箭头26)。
虽然上述实施例将压缩器7描述为确定如何压缩值2,但这一过程也可由压缩预测器3执行。在确定如何压缩值2中,压缩器3可类似地考虑来自包含(例如)QoS简档14、装置性能简档15以及压缩算法性能表16的各种输入的信息以确定何种压缩算法适用于值2。一旦压缩预测器3确定应用的压缩算法,所述压缩预测器可将信息输出到压缩器7以用于压缩。
虽然上述实施例参考键值驱动器描述,但如上文所描述的预测可压缩性并确定如何压缩数据的方法也可用于传统的基于块的驱动器。由于基于块的驱动器并不包含大量的键值驱动器中所包含的元数据,所以本方法将可能要求比键值驱动器更多时间和处理功率。
虽然已描述本发明的示范性实施例,但应理解本发明不应限于这些示范性实施例,而是可在如上文由所附权利要求书和其等效物所要求的本发明的精神和范围内由本领域的普通技术人员作出各种改变和修改。
Claims (20)
1.一种存储驱动器上的压缩系统,其特征在于,包括:
一或多个可压缩性输入;
压缩预测器,配置成基于所述一或多个可压缩性输入来预测数据的可压缩性;
压缩器,配置成压缩所述数据;
一或多个压缩输入,
其中所述压缩预测器或所述压缩器中的至少一个配置成基于所述一或多个压缩输入来确定如何压缩所述数据;
其中所述一或多个可压缩性输入包括对象扩展名字典、对象签名字典以及熵估算算法库中的至少一个;且
其中所述一或多个压缩输入包括服务质量简档、装置性能简档以及压缩算法性能数据库中的至少一个。
2.根据权利要求1所述的存储驱动器上的压缩系统,其中所述一或多个可压缩性输入至少包括所述对象扩展名字典。
3.根据权利要求1所述的存储驱动器上的压缩系统,其中所述一或多个可压缩性输入至少包括所述对象签名字典。
4.根据权利要求1所述的存储驱动器上的压缩系统,其中所述一或多个压缩输入至少包括所述服务质量简档。
5.根据权利要求1所述的存储驱动器上的压缩系统,其中所述压缩预测器配置成基于两个或大于两个可压缩性输入来预测所述数据的所述可压缩性,且其中所述两个或大于两个可压缩性输入包括所述对象扩展名字典、所述对象签名字典、所述熵估算算法库、所述服务质量简档以及所述装置性能简档中的至少两个。
6.根据权利要求1所述的存储驱动器上的压缩系统,其中所述压缩器配置成基于两个或大于两个压缩输入来确定如何压缩所述数据,且其中所述两个或大于两个压缩输入包括所述服务质量简档、所述装置性能简档以及所述压缩算法性能表中的至少两个。
7.一种压缩存储驱动器上的数据的方法,其特征在于,所述方法包括:
基于一或多个可压缩性输入来预测所述存储驱动器上的所述数据的可压缩性,其中所述一或多个可压缩性输入包括对象扩展名字典、对象签名字典以及熵估算算法库中的至少一个;
基于一或多个压缩输入来确定如何压缩所述数据,其中所述一或多个压缩输入包括服务质量简档、装置性能简档以及压缩算法性能表中的至少一个;以及
基于如何压缩所述数据的所述确定来压缩所述数据。
8.根据权利要求7所述的压缩存储驱动器上的数据的方法,其中所述存储驱动器是具有键以及值的键值存储驱动器。
9.根据权利要求8所述的压缩存储驱动器上的数据的方法,其中所述一或多个可压缩性输入至少包括所述对象扩展名字典。
10.根据权利要求8所述的压缩存储驱动器上的数据的方法,其中所述一或多个可压缩性输入至少包括所述对象签名字典。
11.根据权利要求8所述的压缩存储驱动器上的数据的方法,其中预测所述数据的所述可压缩性另外包括搜索用于文件扩展名或文件签名的所述键。
12.根据权利要求11所述的压缩存储驱动器上的数据的方法,其中预测所述数据的所述可压缩性另外包括
定位所述文件扩展名或所述文件签名;以及
分别将所述文件扩展名或所述文件签名与由所述对象扩展名字典或所述对象签名字典提供的信息进行分析以及比较。
13.根据权利要求7所述的压缩存储驱动器上的数据的方法,另外包括将关于所述数据的所述压缩的信息存储于隐藏键中。
14.根据权利要求13所述的压缩存储驱动器上的数据的方法,另外包括将启动所述数据的再压缩的命令存储于所述隐藏键中。
15.一种存储驱动器,其特征在于,包括:
压缩系统,在所述存储驱动器上,所述压缩系统包括:
一或多个可压缩性输入;
压缩预测器,配置成基于所述一或多个可压缩性输入来预测数据的可压缩性;
压缩器,配置成压缩所述数据;
一或多个压缩输入,
其中所述压缩预测器或所述压缩器中的至少一个配置成基于所述一或多个压缩输入来确定如何压缩所述数据;
其中所述一或多个可压缩性输入包括对象扩展名字典、对象签名字典以及熵估算算法库中的至少一个;且
其中所述一或多个压缩输入包括服务质量简档、装置性能简档以及压缩算法性能表中的至少一个。
16.根据权利要求15所述的存储驱动器,其中所述一或多个可压缩性输入至少包括所述对象扩展名字典。
17.根据权利要求15所述的存储驱动器,其中所述一或多个可压缩性输入至少包括所述对象签名字典。
18.根据权利要求15所述的存储驱动器,其中所述存储驱动器是键值存储驱动器。
19.根据权利要求18所述的存储驱动器,其中所述压缩预测器配置成基于两个或大于两个可压缩性输入来预测所述数据的所述可压缩性,其中所述两个或大于两个可压缩性输入包括所述对象扩展名字典、所述对象签名字典、所述熵估算算法库、所述服务质量简档以及所述装置性能简档中的至少两个。
20.根据权利要求18所述的存储驱动器,其中所述压缩器配置成基于两个或大于两个压缩输入来确定如何压缩所述数据,其中所述两个或大于两个压缩输入包括所述服务质量简档、所述装置性能简档以及所述压缩算法性能表中的至少两个。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762522423P | 2017-06-20 | 2017-06-20 | |
US62/522,423 | 2017-06-20 | ||
US15/688,779 | 2017-08-28 | ||
US15/688,779 US10097202B1 (en) | 2017-06-20 | 2017-08-28 | SSD compression aware |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109101524A true CN109101524A (zh) | 2018-12-28 |
CN109101524B CN109101524B (zh) | 2023-11-24 |
Family
ID=63685472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810620352.5A Active CN109101524B (zh) | 2017-06-20 | 2018-06-15 | 存储驱动器及其上的压缩系统及压缩其上的数据的方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10097202B1 (zh) |
JP (1) | JP7169098B2 (zh) |
KR (1) | KR102378463B1 (zh) |
CN (1) | CN109101524B (zh) |
TW (1) | TWI739002B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097202B1 (en) * | 2017-06-20 | 2018-10-09 | Samsung Electronics Co., Ltd. | SSD compression aware |
US11200004B2 (en) * | 2019-02-01 | 2021-12-14 | EMC IP Holding Company LLC | Compression of data for a file system |
JP2020154525A (ja) | 2019-03-19 | 2020-09-24 | キオクシア株式会社 | メモリシステムおよび情報処理システム |
CN112099725A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
US11494127B2 (en) * | 2019-07-22 | 2022-11-08 | EMC IP Holding Company LLC | Controlling compression of input/output (I/O) operations) |
JP2022128110A (ja) | 2021-02-22 | 2022-09-01 | キオクシア株式会社 | メモリシステム |
US11853160B2 (en) | 2022-05-27 | 2023-12-26 | Western Digital Technologies, Inc. | Variable length ECC code according to data entropy in NVMe key value pair devices |
US11962333B2 (en) | 2022-08-19 | 2024-04-16 | Hong Kong Applied Science and Technology Research Institute Company Limited | Predicting compression ratio of data with compressible decision |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08191427A (ja) * | 1995-01-09 | 1996-07-23 | Hitachi Ltd | 情報記録再生装置 |
US20080050047A1 (en) * | 2006-08-24 | 2008-02-28 | Ocarina Networks Inc. | Methods and Apparatus for Reducing Storage Size |
JP2011215986A (ja) * | 2010-04-01 | 2011-10-27 | Hitachi Solutions Ltd | ファイル圧縮管理システム |
CN102761540A (zh) * | 2012-05-30 | 2012-10-31 | 北京奇虎科技有限公司 | 数据压缩方法、装置、系统以及服务器 |
KR20130061254A (ko) * | 2011-12-01 | 2013-06-11 | 한국전자통신연구원 | 사전 자료구조 구현체에서의 압축/복원 방법 및 그 장치 |
US20140244604A1 (en) * | 2013-02-28 | 2014-08-28 | Microsoft Corporation | Predicting data compressibility using data entropy estimation |
WO2014155490A1 (ja) * | 2013-03-25 | 2014-10-02 | 三菱電機株式会社 | データ送信装置及びデータ送信方法及びプログラム |
CN105144157A (zh) * | 2013-03-14 | 2015-12-09 | 华为技术有限公司 | 用于压缩数据库中的数据的系统和方法 |
CN105700821A (zh) * | 2014-12-10 | 2016-06-22 | 三星电子株式会社 | 半导体装置及其压缩/解压缩方法 |
CN105893337A (zh) * | 2015-01-04 | 2016-08-24 | 伊姆西公司 | 用于文本压缩和解压缩的方法和设备 |
CN106708751A (zh) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | 包括用于多模操作的多分区的存储装置及其操作方法 |
US20170163283A1 (en) * | 2015-12-03 | 2017-06-08 | International Business Machines Corporation | Memory preserving parse tree based compression with entropy coding |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558302A (en) * | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
US5467087A (en) * | 1992-12-18 | 1995-11-14 | Apple Computer, Inc. | High speed lossless data compression system |
US7190284B1 (en) | 1994-11-16 | 2007-03-13 | Dye Thomas A | Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent |
US20030069963A1 (en) * | 2001-09-27 | 2003-04-10 | Nikil Jayant | System and method of quality of service signaling between client and server devices |
US8363837B2 (en) | 2005-02-28 | 2013-01-29 | HGST Netherlands B.V. | Data storage device with data transformation capability |
US20100011012A1 (en) | 2008-07-09 | 2010-01-14 | Rawson Andrew R | Selective Compression Based on Data Type and Client Capability |
IL197882A (en) | 2009-03-24 | 2015-03-31 | Oleg Litvak | A method and device for compression of communication signals |
WO2012016089A2 (en) | 2010-07-28 | 2012-02-02 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
KR20120084180A (ko) * | 2011-01-19 | 2012-07-27 | 삼성전자주식회사 | 데이터 압축 장치, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치 |
US8527467B2 (en) * | 2011-06-30 | 2013-09-03 | International Business Machines Corporation | Compression-aware data storage tiering |
US8751830B2 (en) | 2012-01-23 | 2014-06-10 | International Business Machines Corporation | Memory address translation-based data encryption/compression |
US8996787B2 (en) | 2012-02-06 | 2015-03-31 | Sandisk Technologies Inc. | Storage device aware of I/O transaction and stored data |
US9246511B2 (en) * | 2012-03-20 | 2016-01-26 | Sandisk Technologies Inc. | Method and apparatus to process data based upon estimated compressibility of the data |
US9048862B2 (en) * | 2012-04-11 | 2015-06-02 | Netapp, Inc. | Systems and methods for selecting data compression for storage data in a storage system |
CN103023511B (zh) * | 2012-12-05 | 2016-06-08 | 云之朗科技有限公司 | 一种应用的压缩编码方法及装置 |
US9355112B1 (en) | 2012-12-31 | 2016-05-31 | Emc Corporation | Optimizing compression based on data activity |
US20140215170A1 (en) * | 2013-01-31 | 2014-07-31 | Futurewei Technologies, Inc. | Block Compression in a Key/Value Store |
US9448738B2 (en) | 2013-03-15 | 2016-09-20 | Western Digital Technologies, Inc. | Compression and formatting of data for data storage systems |
US9575982B1 (en) | 2013-04-29 | 2017-02-21 | Amazon Technologies, Inc. | Size targeted database I/O compression |
KR101468336B1 (ko) * | 2013-11-25 | 2014-12-04 | 성균관대학교산학협력단 | 데이터 압축률 예측 기법에 기반한 데이터 분산 저장 방법, 이를 이용한 저장 장치 및 시스템 |
WO2016105241A1 (en) | 2014-12-23 | 2016-06-30 | Emc Corporation | Selective compression in data storage systems |
JP2016170453A (ja) | 2015-03-11 | 2016-09-23 | 日本電気株式会社 | データ格納制御装置、データ格納制御システム、データ格納制御方法、及び、データ格納制御プログラム |
US10097202B1 (en) * | 2017-06-20 | 2018-10-09 | Samsung Electronics Co., Ltd. | SSD compression aware |
-
2017
- 2017-08-28 US US15/688,779 patent/US10097202B1/en active Active
-
2018
- 2018-04-20 KR KR1020180046218A patent/KR102378463B1/ko active IP Right Grant
- 2018-04-30 TW TW107114618A patent/TWI739002B/zh active
- 2018-06-15 CN CN201810620352.5A patent/CN109101524B/zh active Active
- 2018-06-19 JP JP2018115907A patent/JP7169098B2/ja active Active
- 2018-08-23 US US16/111,112 patent/US10461775B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08191427A (ja) * | 1995-01-09 | 1996-07-23 | Hitachi Ltd | 情報記録再生装置 |
US20080050047A1 (en) * | 2006-08-24 | 2008-02-28 | Ocarina Networks Inc. | Methods and Apparatus for Reducing Storage Size |
JP2011215986A (ja) * | 2010-04-01 | 2011-10-27 | Hitachi Solutions Ltd | ファイル圧縮管理システム |
KR20130061254A (ko) * | 2011-12-01 | 2013-06-11 | 한국전자통신연구원 | 사전 자료구조 구현체에서의 압축/복원 방법 및 그 장치 |
CN102761540A (zh) * | 2012-05-30 | 2012-10-31 | 北京奇虎科技有限公司 | 数据压缩方法、装置、系统以及服务器 |
US20140244604A1 (en) * | 2013-02-28 | 2014-08-28 | Microsoft Corporation | Predicting data compressibility using data entropy estimation |
CN105144157A (zh) * | 2013-03-14 | 2015-12-09 | 华为技术有限公司 | 用于压缩数据库中的数据的系统和方法 |
WO2014155490A1 (ja) * | 2013-03-25 | 2014-10-02 | 三菱電機株式会社 | データ送信装置及びデータ送信方法及びプログラム |
CN105700821A (zh) * | 2014-12-10 | 2016-06-22 | 三星电子株式会社 | 半导体装置及其压缩/解压缩方法 |
CN105893337A (zh) * | 2015-01-04 | 2016-08-24 | 伊姆西公司 | 用于文本压缩和解压缩的方法和设备 |
CN106708751A (zh) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | 包括用于多模操作的多分区的存储装置及其操作方法 |
US20170163283A1 (en) * | 2015-12-03 | 2017-06-08 | International Business Machines Corporation | Memory preserving parse tree based compression with entropy coding |
Also Published As
Publication number | Publication date |
---|---|
TW201906326A (zh) | 2019-02-01 |
JP2019008792A (ja) | 2019-01-17 |
US10097202B1 (en) | 2018-10-09 |
KR102378463B1 (ko) | 2022-03-24 |
JP7169098B2 (ja) | 2022-11-10 |
KR20180138121A (ko) | 2018-12-28 |
TWI739002B (zh) | 2021-09-11 |
US10461775B2 (en) | 2019-10-29 |
CN109101524B (zh) | 2023-11-24 |
US20190007058A1 (en) | 2019-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109101524A (zh) | 存储驱动器及其上的压缩系统及压缩其上的数据的方法 | |
US11526799B2 (en) | Identification and application of hyperparameters for machine learning | |
Thai et al. | JPEG quantization step estimation and its applications to digital image forensics | |
CN110245132B (zh) | 数据异常检测方法、装置、计算机可读存储介质和计算机设备 | |
US20140215170A1 (en) | Block Compression in a Key/Value Store | |
CN112988284B (zh) | 应用程序启动方法、装置、计算机设备和存储介质 | |
JP2005235175A (ja) | コンテンツエンジンのためのexifに基づく画像の特徴セット | |
CN113296709B (zh) | 用于去重的方法和设备 | |
CN110956195B (zh) | 图像匹配方法、装置、计算机设备及存储介质 | |
CN110995273A (zh) | 电力数据库的数据压缩方法、装置、设备及介质 | |
CN112181919A (zh) | 一种压缩方法、系统及电子设备和存储介质 | |
KR100961179B1 (ko) | 디지털 포렌식 방법 및 장치 | |
US10606601B2 (en) | Method, system and non-transitory computer-readable storage medium for analyzing access to storage device | |
US8988725B2 (en) | Image processing apparatus that acquires image data from removable driver and image processing method | |
JP2006260359A (ja) | 生体情報処理装置および生体情報処理方法 | |
CN110187385B (zh) | 地震数据获取方法、地震数据处理方法及装置 | |
US20160254824A1 (en) | Determining compression techniques to apply to documents | |
CN111597773B (zh) | 一种压缩处理的方法、装置、计算机存储介质及终端 | |
CN111381768A (zh) | 一种数据监控的方法和装置 | |
Kumar et al. | Energy conservation by adaptive feature loading for mobile content-based image retrieval | |
CN117666968B (zh) | 一种固态盘存储系统的选择性数据压缩方法及装置 | |
CN111324532B (zh) | 一种并行计算软件的mpi参数确定方法、装置及设备 | |
US10645546B2 (en) | Information processing apparatus and method for determining service | |
CN117033436A (zh) | 特征数据生成方法、装置、设备及介质 | |
US20200201574A1 (en) | Information processing device, storage medium storing information processing program, and information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |