JP7010548B2 - ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム - Google Patents
ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム Download PDFInfo
- Publication number
- JP7010548B2 JP7010548B2 JP2017560651A JP2017560651A JP7010548B2 JP 7010548 B2 JP7010548 B2 JP 7010548B2 JP 2017560651 A JP2017560651 A JP 2017560651A JP 2017560651 A JP2017560651 A JP 2017560651A JP 7010548 B2 JP7010548 B2 JP 7010548B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- block
- decompression
- hybrid
- 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
Images
Classifications
-
- 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
- H03M7/6088—Selection strategies according to the data type
-
- 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
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3071—Prediction
-
- 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/6017—Methods or arrangements to increase the throughput
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
-
- 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
-
- 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/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- 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/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本特許出願は、2015年5月21日出願のスウェーデン国特許出願第1550644-7号、名称「METHODS,DEVICES AND SYSTEMS FOR DATA COMPRESSION AND DECOMPRESSION」の優先権を主張し、その内容を参照により全体として本明細書に援用する。また、本特許出願は、2016年1月29日に出願のスウェーデン国特許出願第1650119-9号、名称「METHODS,DEVICES AND SYSTEMS FOR DECOMPRESSING DATA」の優先権を主張し、その内容を参照により全体として本明細書に援用する。
本特許出願の開示は、一般に、例えば、コンピュータシステムのキャッシュ/メモリサブシステムおよび/またはデータ転送サブシステム、またはデータ通信システムにおけるデータ圧縮および解凍の分野に関する。
・整数:整数は、統計的圧縮スキーム(図18では「S」と表示されている)に関連付けられている。これは、かかるスキームが、可変長符号化を用いることにより、他のスキームよりも高頻度で使われる整数に、より高密度の符号を割り当てることによる。
・ポインタ:ポインタは、デルタ圧縮スキーム(図18では「D」と表示されている)に関連付けられている。これは、ポインタが、通常、空間的な値のローカリティ、すなわち値が、ベース値へのデルタとして効率的に符号化できる少量の差のある値を表すことによる。
・浮動小数点数:浮動小数点数は、浮動小数点データを効果的に圧縮するため特殊化された特定の圧縮スキーム(図18では「FP」と表示されている)に関連付けられている。FP圧縮方法の一例が、本特許出願と同時に出願された特許出願METHODS, DEVICES AND SYSTEMS FOR SEMANTIC-VALUE DATA COMPRESSION AND DECOMPRESSIONに開示されており、同じ出願人および発明者を共有し、上記出願の内容は、参照によりその全体として本明細書に援用され、これは、提示される値のローカリティを増大するため、仮数を2つまたは複数のサブフィールドさらに分割した後、分離された各浮動小数点数の意味的に重要なデータ値を符号化(圧縮)する。
・ヌル(null)ブロック:ヌルブロックは、前記ブロックを単一ビットだけで符号化するヌルブロック圧縮スキーム(図18では「N」と表示されている)に関連付けられている。ヌルブロックのバリエーションは一般的であり、ブロックが負符号ゼロ浮動小数点値を含む場合もこれに含まれる。発明者らはかかるブロックを負のヌルブロックと称する。
・フェーズI(検査):未圧縮データブロックはセグメントに分割される。各セグメントの特定のビット位置(検査部分-IP(Inspection Portion)と言う)が、全ての前記セグメントについてそのセグメントのデータ型を推測するために検査され、前記ブロック内の各予測データ型の出現をカウントする。このセグメントは、データ値と同じ粒度を持つように選択できるが、但し、データブロックは種々の粒度の値(大方はデータ型の如何による)を含むので、フェーズIは同じ粒度のデータ(例えば、64ビットのセグメント)を処理することにより単純化することができる。
・フェーズII(判定):フェーズIからの個別のセグメントの型特徴識別に基づいて、主として支配的なデータ型に基づいて、ブロックに対する最適の圧縮スキームが選択される。選択された圧縮スキームが、前記ブロックの全セグメントに適用される。
・整数:IPは、セグメントの最上位4バイトである。IPが0x00000000(すなわち正の整数)もしくは0xFFFFFFFF(すなわち負の整数)である場合、セグメントは整数として特徴識別され、それぞれのカウンタ(#Int)がインクリメントされる。図20のブロック図は、データブロック2010内で整数データ型を特徴識別することを目的とした検査プロセスの例示の実施形態を示す。0x00000000との比較はコンパレータ2024a、b、cなどで行われ、0xFFFFFFFFとの比較はコンパレータ2028a、b、cなどで行われる。この比較の結果(例えば、マッチに対して「1」)は、マスク2034および2038中にマークされる。このマスクは、セグメントの数と同じ多さのビットを含む。2つのマスクの合併集合演算が行われ(これらマスクは、ロジックすなわちORゲート2040と組み合される)、カウンタ2050は「1」の数をカウントし、これは、特徴識別された整数の数(すなわち#Intカウント)である。
・ポインタ:IPは、セグメントの最上位4バイトである。IPの2つの最上位バイトが、0x0000に等しく、IPの2つの最下位バイトが0x0000と不等の場合、当該セグメントはポインタとして特徴識別され、それぞれのカウンタ(#Ptr)がインクリメントされる。前記の特定の手法で最上位4バイトを検査する背後の理論的根拠は、48ビットポンタを検出することにあり、このような例示幅は、現今のコンピュータシステムのキャッシュ/メモリサブシステム中のアドレスによって使われている。前記検査方策の1つの限界は、小さなポインタがポインタの代わりに整数として特徴識別されることである。図21のブロック図は、データブロック2110内でポインタデータ型を特徴識別することを目的とする検査プロセスの例示の実施形態を示す。0x0000との比較はコンパレータ2124a、b、cなどで行われ、0x0000との不等の比較はコンパレータ2128a、b、cなどで行われる。この比較の結果(例えば、マッチに対して「1」)は、マスク2134および2138中にマークされる。このマスクは、セグメントの数と同じ多さのビットを含む。2つのマスクのAND演算が行われ(これら2つのマスクは、両方の状態が保持されなければならないので、ロジックすなわちANDゲート2140と組み合される)、カウンタ2150は「1」の数をカウントし、これは、特徴識別されたポインタの数(すなわち#Ptrカウント)である。
・ 浮動小数点数:IPは、セグメントの最上位ビットの次の7ビットである。この理論的根拠は、ブロック中に包含される浮動小数点データ値が、しばしば同じ指数を有するか、またはそれら指数がクラスタ化されていることであり、しかして、7ビットのIPを相互に比較すれば(IEEE‐754規格によれば、セグメントが浮動小数点データ型である場合、IPは指数の部分である)、それらまたはそれらのサブセットが指数のクラスタを形成するかどうかを明らかにできる。図22のブロック図は、データブロック2210内で浮動小数点データ型を特徴識別することを目的とした検査プロセスの例示の実施形態を示す。前記実施形態では、ブロックセグメントのIPは、ペアで2つの手法、A)相互から0の距離を有するセグメント(すなわち、隣接するセグメント)のIPのペア方式での比較2224と、B)相互から1の距離を有するセグメント(すなわち、両者の間に第三のセグメントを有するセグメントの比較)のIPのペア方式での比較2228と、で比較される。この比較の結果(例えば、マッチに対して「1」)は、マスク2234および2238中にマークされる。次いで、これらの比較の手法の各々に対し、それぞれのカウントがカウンタ2244および2248によってインクリメントされ、最終的に、2つ(すなわち、#FP_Aおよび#FP_B)の間で最大のカウントが選択される。セグメントのサイズが8バイトなので、対象浮動小数点データ型は倍精度である。当業者は、単精度(または他の精度)の符号小数点数を検出することが可能な、または他の浮動小数点規格による、前記予測方法の別の実施形態を実現することもできよう。
・ (負の)ヌルブロック:IPはセグメント全体である。各セグメントがゼロ値に等しい場合(0x00...0)、ブロックはヌルブロックとして特徴識別され、各セグメントが負のゼロ値に等しい場合(0x80...0)、ブロックは負のヌルブロックとして特徴識別される。図23aは、データブロック2310をヌルブロックとして特徴識別することを目的とした検査プロセスの例示の実施形態を示し、また、図23bは、データブロック2310を負のヌルブロックとして特徴識別することを目的とした検査プロセスの別の例示の実施形態を示す。
・(例えば、ハフマン圧縮、カノニカルハフマン圧縮、算術符号化などの)統計的(可変長)符号化、
・ディクショナリベースの圧縮、
・デルタ符号化、
・パターンベースの圧縮、
・有意ベースの圧縮、または
・(例えば、ヌルブロック圧縮などの)共通ブロック値圧縮、
のうちの2つとして選択されたロスレス圧縮スキームである。
・コンピュータシステム中のキャッシュの中にストレージするためのキャッシュライン、キャッシュセット、キャッシュブロック、またはキャッシュセクタ、
・メモリ中へのストレージまたはコンピュータシステム内での転送のためのメモリ行、メモリページ、もしくはメモリセクタ、および
・データ通信システム中の送信リンクを介して転送するためのパケット、フリット、ペイロード、またはヘッダ、
のうちの1つであってよい。
・複数の圧縮サイクルの過程で、それぞれの支配的なデータ型に対するデータコンプレッサの理想的な選択に対して、それぞれの選択された推定最適データコンプレッサをモニタし、
・特定の支配的なデータ型の圧縮性に関し、別のデータコンプレッサがさらに効率的であった可能性を検知し、および
・今後の圧縮サイクルについて、当該特定の支配的なデータ型に対し、最適データコンプレッサを前記別のデータコンプレッサに変更する、ようにさらに構成される。
・ (例えば、ハフマン解凍、カノニカルハフマン解凍、算術復号などの)統計的(可変長)復号、
・ ディクショナリベースの解凍、
・ デルタ復号、
・ パターンベースの解凍、
・ 有意ベースの解凍、または
・ (例えば、ヌルブロック解凍などの)共通ブロック値解凍、
のうちの2つとして選択されるロスレス解凍スキームである。
・コンピュータシステム中のキャッシュの中にストレージするためのキャッシュライン、キャッシュセット、キャッシュブロック、またはキャッシュセクタ、
・メモリ中へのストレージまたはコンピュータシステム内での転送のためのメモリ行、メモリページ、もしくはメモリセクタ、および
・データ通信システム中の送信リンクを介して転送するためのパケット、フリット、ペイロード、またはヘッダ、
のうちの1つであってよい。
Claims (34)
- 未圧縮データブロック(1805、2505)を圧縮データブロック(1818、2518)に圧縮するためのハイブリッドデータ圧縮デバイス(1810、2510)であって、前記未圧縮データブロックは複数のデータ型の複数のデータ値を含み、前記ハイブリッドデータ圧縮デバイスは、
各コンプレッサがそれぞれのデータ圧縮スキーム(1814-1...1814-n、2514-1...2514-n)用に構成された、複数のデータコンプレッサ(1814、2514)と、
前記未圧縮データブロック(1805、2505)のデータ値のデータ型を予測し、主たる基準として前記予測データ型のうちの支配的なデータ型を用いて、前記複数のデータコンプレッサの中から推定最適データコンプレッサを選択するように構成された予測器メカニズム(1812、2512)と、
を含み、
前記ハイブリッドデータ圧縮デバイスは、前記選択された推定最適データコンプレッサに前記未圧縮データブロックの全体を圧縮させることによって、前記圧縮データブロック(1818、2518)を生成するように構成される、
ハイブリッドデータ圧縮デバイス。 - 前記ハイブリッドデータ圧縮デバイスは、前記圧縮データブロック(1818、2518)に関連付けられ、前記選択された推定最適データコンプレッサの前記データ圧縮スキームを識別する役割を果たすメタデータ(1824、2524、3024)を生成する(1816、2516、3016)ように構成される、請求項1に記載のハイブリッドデータ圧縮デバイス(1810、2510、3010)。
- 前記ハイブリッドデータ圧縮デバイスは、前記生成されたメタデータを、前記圧縮データブロック(1818、2518)と一緒にデータストレージ(1820、2520)の中に格納するように構成され、前記データストレージにはデータ解凍デバイス(1830、2530)がアクセス可能である、又は
前記ハイブリッドデータ圧縮デバイスは、前記生成されたメタデータ(3024)を前記圧縮データブロック(3018)と一緒に、リンク(3020)を介してデータ解凍デバイス(3030)に送信するように構成される、
請求項2に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記複数のデータコンプレッサ(1814、2514)は、
・ 第一データ圧縮スキーム用に構成された第一データコンプレッサと、
・ 前記第一圧縮スキームとは異なる第二データ圧縮スキーム用に構成された第二データコンプレッサと、
を含み、
前記第一および第二データ圧縮スキームは各々、ロスレス圧縮スキームまたはロッシー圧縮スキームであり、
前記第一データ圧縮スキームは、第一データ型のデータ値の間のデータローカリティを利用するように設計され、前記データローカリティは、時間的、空間的、またはこれらの組み合せであり、
前記第二データ圧縮スキームは、第二データ型のデータ値の間のデータローカリティを利用するように設計され、前記データローカリティは、時間的、空間的、またはこれらの組み合せである、
請求項1~3のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記未圧縮データブロックは、
コンピュータシステム中のキャッシュの中にストレージするためのキャッシュライン、キャッシュセット、キャッシュブロック、またはキャッシュセクタ、
メモリ中へのストレージまたはコンピュータシステム内での転送のためのメモリ行、メモリページ、もしくはメモリセクタ、および
データ通信システム中の送信リンクを介して転送するためのパケット、フリット、ペイロード、またはヘッダ、
のうちの1つであり、
前記データ値の前記データ型は、
整数、ポインタ、浮動小数点数、文字、ストリング、ブール値、コード命令、または特定のフォーマットもしくは規格によって定義されたデータ型、
のいずれかである、
請求項1~4のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記予測器メカニズム(1812、2512)は、
前記未圧縮データブロック(1805、2505)をセグメントに分割し、
全セグメントに対し、前記セグメントを複数の候補データ型のうちの一予測データ型として分類するため、各セグメントの検査ビット部分を検査し、
前記未圧縮データブロックの前記支配的なデータ型を判定するために、全セグメントの前記予測データ型の出現頻度を比較する、
ように構成される、請求項1~5のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記候補データ型は、整数、ポインタ、浮動小数点数、文字、ストリング、ブール値、共通データ値ブロック、データコード命令、または特定のフォーマットもしくは規格によって定義されたデータ型、のうちの2つ以上である、請求項6に記載のハイブリッドデータ圧縮デバイス(1810、2510)。
- 前記検査ビット部分は、相異なる候補データ型に対して異なっている、請求項6または7に記載のハイブリッドデータ圧縮デバイス(1810、2510)。
- 前記候補データ型の1つは整数であり、
前記未圧縮データブロックのサイズはmバイトであり、
前記セグメントのサイズはnバイトであり、
m/nは2の倍数であり、
前記検査ビット部分は前記セグメントの最上位のpバイトであり、
n/pが2であり、
前記予測器メカニズム(1812、2512)は、前記検査ビット部分がいくつかの事前定義されたpバイト値のいずれかに等しい場合、前記セグメントを整数として分類するように構成される、
請求項6~8のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記候補データ型の1つはポインタであり、
前記未圧縮データブロックのサイズはmバイトであり、
前記セグメントのサイズはnバイトであり、
m/nは2の倍数であり、
前記検査ビット部分は前記セグメントの最上位のpバイトであり、
n/pが2であり、
前記予測器メカニズム(1812、2512)は、前記検査ビット部分の最上位2バイトが事前定義されたp/2バイト値に等しく、だが最下位の2バイトは不等の場合、前記セグメントをポインタとして分類するように構成される、
請求項6~9のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記候補データ型の1つは浮動小数点数であり、
前記未圧縮データブロックのサイズはmバイトであり、
前記セグメントのサイズはnバイトであり、
m/nは2の倍数であり、
前記検査ビット部分は前記セグメントの最上位ビットの次の最上位のqビットであり、
前記予測器メカニズム(1812、2512)は、前記セグメントの前記検査ビット部分を、前記未圧縮データブロック中の、同じまたはクラスタ化された浮動小数点指数を示す隣接のセグメントの検査ビット部分と突き合わせることによって、前記セグメントを浮動小数点数として分類するように構成される、
請求項6~10のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記候補データ型の1つは共通データ値であり、
前記未圧縮データブロックのサイズはmバイトであり、
前記セグメントのサイズはnバイトであり、
m/nは2の倍数であり、
前記検査ビット部分はセグメント全体であり、
前記予測器メカニズム(1812、2512)は、前記セグメントを、その全データ値が同じ共通データ値を有するとき、共通データ値として分類するように構成される、
請求項6~11のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記ハイブリッドデータ圧縮デバイスは、前記未圧縮データブロック(1805、2505)の全セグメントが共通データ値として分類されたとき、前記推定最適データコンプレッサとして、データ圧縮スキームとして共通データ値を有するデータコンプレッサ(1814、2514)を選択するように構成される、請求項6~12のいずれかに記載のハイブリッドデータ圧縮デバイス(1810、2510)。
- 前記予測器メカニズム(1812、2512)は、前記未圧縮データブロックの前記支配的なデータ型を判定する際に、前記セグメントの2つの異なる予測データ型が同じ出現頻度を有するとき、一方を他方よりも優先するように構成される、請求項6~13のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。
- 前記予測器メカニズム(1812、2512)は、前記セグメントのどの予測データ型の出現もないとき、前記推定最適データコンプレッサとしてデフォルトデータコンプレッサを選択する、又は推定最適データコンプレッサの代わりに無圧縮を選択し、前記未圧縮データブロックの圧縮を取り止めるように構成される、請求項6~14のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。
- 複数の圧縮サイクルの過程で、前記それぞれの支配的なデータ型について、データコンプレッサの理想的な選択と対比して前記それぞれの選択された推定最適データコンプレッサをモニタし、
特定の支配的なデータ型の圧縮性に関し、別のデータコンプレッサがさらに効率的であった可能性のあることを検出し、
今後の圧縮サイクルについて、前記特定の支配的なデータ型に対し、前記最適データコンプレッサを前記別のデータコンプレッサに変更する、
ようにさらに構成され、
前記それぞれの支配的なデータ型のためのデータコンプレッサの前記理想的な選択がオラクルセレクタによって提供され、前記オラクルセレクタは、複数の全てのデータコンプレッサ(1814、2514)の前記データ圧縮スキームを使って前記未圧縮のデータブロックを圧縮し、それぞれの理想的選択として、それぞれの未圧縮データブロックの最善の圧縮性が得られる前記データ圧縮スキームを有する前記コンプレッサを選定する、
請求項1~15のいずれか一項に記載のハイブリッドデータ圧縮デバイス(1810、2510)。 - 前記複数のデータコンプレッサは、
共通データ値スキームである第一データ圧縮スキーム用に構成された第一データコンプレッサ(1630)と、
前記第一データ圧縮スキームとは異なる、統計的符号化、ディクショナリベースの圧縮、デルタ符号化、パターンベースの圧縮、および有意ベースの圧縮のうちの1つである第二データ圧縮スキーム用に構成された第二データコンプレッサ(1620)と、
を含み、
前記ハイブリッドデータ圧縮デバイスは、前記予測器メカニズム(1630)によって前記未圧縮データブロック(1605)で共通データ値が支配的であることが判明した場合、前記第一データコンプレッサ(1630)に、前記未圧縮データブロック(1605)の全体を圧縮共通データ値に圧縮させることによって、前記圧縮データブロック(1618)を生成するように構成され、それ以外の場合は、前記第二データコンプレッサ(1620)に、前記第二データ圧縮スキームに従い前記未圧縮データブロック(1605)の全体を圧縮させることによって、前記圧縮データブロック(1618)を生成するように構成される、
請求項1~16のいずれか一項に記載のハイブリッドデータ圧縮デバイス。 - 前記圧縮共通データ値は単一ビットを包含する、請求項17に記載のハイブリッドデータ圧縮デバイス。
- 前記予測器メカニズム(1630)は前記第一データコンプレッサ(1630)に組み込まれる、請求項17または18に記載のハイブリッドデータ圧縮デバイス。
- 前記予測器メカニズム(1630)は、前記未圧縮データブロック(1605)の全データ値が前記共通データ値を有する場合、前記未圧縮データブロックで前記共通データ値が支配的であることを見いだすように構成される、請求項17~19のいずれか一項に記載のハイブリッドデータ圧縮デバイス。
- 未圧縮データブロック(1805、2505)を圧縮データブロック(1818、2518)に圧縮するためのハイブリッドデータ圧縮方法であって、前記未圧縮データブロックは複数のデータ型の複数のデータ値を含み、前記ハイブリッドデータ圧縮方法は、
前記未圧縮データブロック(1805、2505)のデータ値のデータ型を予測するステップ(2810)と、
主たる基準として前記予測データ型中の支配的なデータ型を用いて、複数のデータ圧縮スキーム(1814-1...1814-n、2514-1...2514-n)の中から推定最適データ圧縮スキームを選択するステップ(2820)と、
前記圧縮データブロック(1818、2518)を生成するために、前記選択された推定最適データ圧縮スキームによって前記未圧縮データブロックの全体を圧縮するステップ(2830)と、
を含む、ハイブリッドデータ圧縮方法。 - 圧縮データブロック(1834、2534)を、複数のデータ型の複数のデータ値を含む解凍データブロック(1895、2595)に解凍するためのハイブリッドデータ解凍デバイス(1830、2530)であって、前記ハイブリッドデータ解凍デバイスは、
各デコンプレッサがそれぞれのデータ解凍スキーム(1835-1...1835-n、2535-1...2535-n)用に構成された、複数のデータデコンプレッサ(1835、2535)、
を含み、
前記ハイブリッドデータ解凍デバイスは、前記複数のデータデコンプレッサ(1835、2535)の中から選択された推定最適データデコンプレッサに、前記圧縮データブロックの全体を解凍させることによって、前記解凍データブロック(1895、2595)を生成するように構成される、
ハイブリッドデータ解凍デバイス。 - 前記ハイブリッドデータ解凍デバイスは、前記圧縮データブロック(1834、2534)に関連付けられたメタデータ(1824、2524、3024)を読み出して(1832、2532、3032)、前記メタデータに基づいて前記推定最適データデコンプレッサを選択するように構成される、請求項22に記載のハイブリッドデータ解凍デバイス(1830、2530)。
- 前記ハイブリッドデータ解凍デバイスは、前記メタデータを前記圧縮データブロック(1834、2534)と一緒にデータストレージ(1820、2520)から読み出すように構成され、前記データストレージにはデータ圧縮デバイス(1810、2510)がアクセス可能である、又は前記ハイブリッドデータ解凍デバイスは、前記メタデータ(3034)を前記圧縮データブロック(3038)と一緒に、リンク(3020)を介してデータ圧縮デバイス(3010)から受信するように構成される、請求項23に記載のハイブリッドデータ解凍デバイス(1830、2530)。
- 前記複数のデータデコンプレッサ(1835、2535)は、
・ 第一データ解凍スキーム用に構成された第一データデコンプレッサと、
・ 前記第一データ解凍スキームとは異なる第二データ解凍スキーム用に構成された第二データデコンプレッサと、
を含み、
前記第一および第二データ解凍スキームの各々はロスレス解凍スキームまたはロッシー解凍スキームである、
請求項22~24のいずれか一項に記載のハイブリッドデータ解凍デバイス(1830、2530)。 - 前記解凍データブロックは、
コンピュータシステム中のキャッシュの中にストレージするためのキャッシュライン、キャッシュセット、キャッシュブロック、またはキャッシュセクタ、
メモリ中へのストレージまたはコンピュータシステム内での転送のためのメモリ行、メモリページ、もしくはメモリセクタ、および
データ通信システム中の送信リンクを介して転送するためのパケット、フリット、ペイロード、またはヘッダ、
のうちの1つであり、
前記データ値の前記データ型は、
整数、ポインタ、浮動小数点数、文字、ストリング、ブール値、コード命令、または特定のフォーマットもしくは規格によって定義されたデータ型、
のいずれかである、
請求項22~25のいずれか一項に記載のハイブリッドデータ解凍デバイス(1830、2530)。 - 前記複数のデータデコンプレッサは、
共通ブロック値解凍スキームである第一データ解凍スキーム用に構成された第一データデコンプレッサ(1720)と、
前記第一データ解凍スキームとは異なる、統計的復号、ディクショナリベースの解凍、デルタ復号、パターンベースの解凍、および有意ベースの解凍のうちの1つである第二データ解凍スキーム用に構成された第二データデコンプレッサ(1710)と、
を含み、
前記ハイブリッドデータ解凍デバイスは、前記圧縮データブロック(1705)が圧縮共通データ値であるかどうかをチェックし、そうである場合は、前記第一データデコンプレッサ(1720)に、前記圧縮データブロック(1705)の全体を、解凍共通データ値に解凍させることによって、前記解凍データブロック(1795)を生成し、そうでない場合は、前記第二データデコンプレッサ(1710)に、前記圧縮データブロック(1705)を、前記第二データ解凍スキームに従って解凍させることによって、前記解凍データブロック(1795)を生成するように構成される、
請求項23~26のいずれか一項に記載のハイブリッドデータ解凍デバイス。 - 前記圧縮共通データ値は、単一ビットを包含する、請求項27に記載のハイブリッドデータ解凍デバイス。
- 前記第一データデコンプレッサ(1720)は、前記解凍共通データ値に共通の値を充填することによって、前記圧縮データブロック(1705)の全体を前記解凍共通データ値に解凍するように構成される、請求項27または28に記載のハイブリッドデータ解凍デバイス。
- 圧縮データブロック(1834、2534)を、複数のデータ型の複数のデータ値を含む解凍データブロック(1895、2595)に解凍するためのハイブリッドデータ解凍方法であって、前記ハイブリッドデータ解凍方法は、
前記複数のデータ解凍スキーム(1835-1...1835-n、2535-1...2535-n)の中から推定最適データ解凍スキームを選択するステップ(2910)と、
前記解凍データブロック(1895、2595)を生成するために、前記選択された推定最適データ圧縮スキームによって、前記圧縮データブロック(1834、2534)の全体を解凍するステップ(2920)と、
を含む、ハイブリッドデータ解凍方法。 - 処理デバイスによってロードされ実行されると、請求項21に記載の方法を遂行させるコード命令を含む、コンピュータプログラム。
- 請求項21に記載の方法を遂行するように構成されたロジック回路を含むデバイス。
- 処理デバイスによってロードされ実行されると請求項30に記載の方法を遂行させるコード命令を含む、コンピュータプログラム。
- 請求項30に記載の方法を遂行するように構成されたロジック回路を含むデバイス。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021185947A JP2022031735A (ja) | 2015-05-21 | 2021-11-15 | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE1550644 | 2015-05-21 | ||
| SE1550644-7 | 2015-05-21 | ||
| SE1650119-9 | 2016-01-29 | ||
| SE1650119 | 2016-01-29 | ||
| PCT/SE2016/050462 WO2016186563A1 (en) | 2015-05-21 | 2016-05-20 | Methods, devices and systems for hybrid data compression and decompression |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021185947A Division JP2022031735A (ja) | 2015-05-21 | 2021-11-15 | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018522457A JP2018522457A (ja) | 2018-08-09 |
| JP7010548B2 true JP7010548B2 (ja) | 2022-01-26 |
Family
ID=57320929
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017560651A Active JP7010548B2 (ja) | 2015-05-21 | 2016-05-20 | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム |
| JP2021185947A Pending JP2022031735A (ja) | 2015-05-21 | 2021-11-15 | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021185947A Pending JP2022031735A (ja) | 2015-05-21 | 2021-11-15 | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US10476520B2 (ja) |
| EP (1) | EP3304746B1 (ja) |
| JP (2) | JP7010548B2 (ja) |
| KR (1) | KR102578689B1 (ja) |
| CN (1) | CN107925418B (ja) |
| CA (1) | CA2986555A1 (ja) |
| WO (1) | WO2016186563A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022031735A (ja) * | 2015-05-21 | 2022-02-22 | ゼロポイント テクノロジーズ アーベー | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム |
Families Citing this family (62)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10063422B1 (en) * | 2015-12-29 | 2018-08-28 | Amazon Technologies, Inc. | Controlled bandwidth expansion in compressed disaggregated storage systems |
| SE540178C2 (en) | 2016-01-29 | 2018-04-24 | Zeropoint Tech Ab | Methods, devices and systems for compressing and decompressing data |
| US20180131749A1 (en) * | 2016-11-10 | 2018-05-10 | Ingram Micro Inc. | System and Method for Optimizing Data Transfer using Selective Compression |
| CN106507107B (zh) * | 2016-12-08 | 2019-07-05 | 北京数码视讯科技股份有限公司 | 数据的处理方法和装置 |
| US10445261B2 (en) * | 2016-12-30 | 2019-10-15 | Intel Corporation | System memory having point-to-point link that transports compressed traffic |
| US10061698B2 (en) | 2017-01-31 | 2018-08-28 | Qualcomm Incorporated | Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur |
| US10599935B2 (en) * | 2017-02-22 | 2020-03-24 | Arm Limited | Processing artificial neural network weights |
| GB2561036A (en) * | 2017-03-31 | 2018-10-03 | Cirrus Logic Int Semiconductor Ltd | Methods and apparatus for buffering and compression of data |
| US10438569B2 (en) * | 2017-04-17 | 2019-10-08 | Intel Corporation | Consolidation of data compression using common sectored cache for graphics streams |
| US10902546B2 (en) * | 2017-04-21 | 2021-01-26 | Intel Corporation | Efficient skipping of data compression processes at computing devices |
| KR102366069B1 (ko) * | 2017-06-26 | 2022-02-23 | 스티븐 타린 | 큰 데이터를 더 작은 표현으로 변환하고 더 작은 표현을 원래의 큰 데이터로 재변환하기 위한 시스템들 및 방법들 |
| US10402111B1 (en) * | 2017-08-14 | 2019-09-03 | Xilinx, Inc. | Systems and methods for data storage compression |
| US10250899B1 (en) | 2017-09-22 | 2019-04-02 | Qualcomm Incorporated | Storing and retrieving high bit depth image data |
| US12562753B2 (en) * | 2017-10-30 | 2026-02-24 | AtomBeam Technologies Inc. | System and method for multi-type data compression or decompression with a virtual management layer |
| US10419022B2 (en) | 2017-11-30 | 2019-09-17 | International Business Machines Corporation | Run-length base-delta encoding for high-speed compression |
| US10642602B2 (en) * | 2017-12-12 | 2020-05-05 | Nxp Usa, Inc. | NVM architecture with OTA support |
| GB201805628D0 (en) * | 2018-04-05 | 2018-05-23 | Qatar Found Education Science & Community Dev | Method and system for data specific transceiver design for efficient ioT devices |
| US10305508B2 (en) * | 2018-05-11 | 2019-05-28 | Intel Corporation | System for compressing floating point data |
| US10665006B2 (en) * | 2018-06-29 | 2020-05-26 | Intel Corporation | Efficient prediction of most commonly occuring values in data blocks in computing environments |
| US11604738B2 (en) * | 2018-09-28 | 2023-03-14 | Advanced Micro Devices, Inc. | Device and method for data compression using a metadata cache |
| CN109167919B (zh) * | 2018-10-11 | 2020-05-15 | 北京文香信息技术有限公司 | 一种图片压缩方法及装置 |
| US11880368B2 (en) * | 2018-10-15 | 2024-01-23 | Ocient Holdings LLC | Compressing data sets for storage in a database system |
| US11144506B2 (en) * | 2018-10-29 | 2021-10-12 | EMC IP Holding Company LLC | Compression of log data using field types |
| WO2020130929A1 (en) * | 2018-12-21 | 2020-06-25 | Zeropoint Technologies Ab | Methods, devices and systems for efficient compression and decompression for higher throughput |
| US10795825B2 (en) * | 2018-12-26 | 2020-10-06 | Advanced Micro Devices, Inc. | Compressing data for storage in cache memories in a hierarchy of cache memories |
| SE543186C2 (en) * | 2019-01-11 | 2020-10-20 | Zeropoint Tech Ab | Systems, methods and devices for eliminating duplicates and value redundancy in computer memories |
| JP7107877B2 (ja) * | 2019-03-22 | 2022-07-27 | 株式会社日立製作所 | ストレージシステム、及び、記憶コスト適正化方法 |
| CN109962711B (zh) * | 2019-04-09 | 2022-07-08 | 深圳市道通智能航空技术股份有限公司 | 一种数据压缩方法、电子设备及存储介质 |
| US20190243780A1 (en) * | 2019-04-10 | 2019-08-08 | Vinodh Gopal | Scalable application-customized memory compression |
| US10749546B1 (en) * | 2019-05-15 | 2020-08-18 | Dell Products L.P. | Method and system of content based dynamic data compression |
| CN112099725A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
| CN111010189B (zh) * | 2019-10-21 | 2021-10-26 | 清华大学 | 一种对数据集的多路压缩方法、装置及存储介质 |
| US11854022B2 (en) | 2019-10-22 | 2023-12-26 | Sap Se | Proactively predicting transaction dates based on sparse transaction data |
| EP3817236B1 (en) * | 2019-11-04 | 2024-10-16 | Samsung Electronics Co., Ltd. | Neural network data processing method and apparatus |
| JP7355622B2 (ja) * | 2019-11-29 | 2023-10-03 | 株式会社日立製作所 | エンコーダを有するストレージシステム |
| CN113055017A (zh) * | 2019-12-28 | 2021-06-29 | 华为技术有限公司 | 数据压缩方法及计算设备 |
| US11474949B2 (en) * | 2020-04-03 | 2022-10-18 | Microsoft Technology Licensing, Llc | Physical memory compression |
| US11664816B2 (en) | 2020-04-22 | 2023-05-30 | Apple Inc. | Lossy compression techniques |
| US11405622B2 (en) | 2020-04-22 | 2022-08-02 | Apple Inc. | Lossless compression techniques |
| US11362672B2 (en) | 2020-05-08 | 2022-06-14 | Qualcomm Incorporated | Inline decompression |
| US11429294B2 (en) * | 2020-05-22 | 2022-08-30 | Dell Products L.P. | Efficient compressed track size classification to reduce disk fragmentation and increase probability of in-place compressed writes |
| CN113918544A (zh) * | 2020-07-09 | 2022-01-11 | 华为技术有限公司 | 一种数据缩减方法和装置 |
| US12164924B2 (en) * | 2020-09-25 | 2024-12-10 | Advanced Micro Devices, Inc. | Compression metadata assisted computation |
| SE544557C2 (en) * | 2020-12-01 | 2022-07-12 | Zeropoint Tech Ab | Systems, methods and devices for exploiting value similarity in computer memories |
| EP4295239A2 (en) * | 2021-03-09 | 2023-12-27 | Huawei Technologies Co., Ltd. | Memory controller and method for improved deduplication |
| CN113176853A (zh) * | 2021-04-26 | 2021-07-27 | 深圳市华沃表计科技有限公司 | 数据压缩存储方法 |
| US20220365783A1 (en) * | 2021-05-13 | 2022-11-17 | Nvidia Corporation | Matrix multiplication and accumulation operations on compressed matrices |
| CN113364467B (zh) * | 2021-06-04 | 2022-07-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼解码系统、方法、设备及存储介质 |
| CN113487025B (zh) * | 2021-07-02 | 2023-09-08 | 浙江大学 | 面向神经网络检查点数据的智能压缩存储方法和系统 |
| US12219386B2 (en) * | 2021-07-09 | 2025-02-04 | Qualcomm Incorporated | Transmission of previously compressed packets to avoid throughput drop |
| CN113687773B (zh) * | 2021-07-16 | 2023-08-11 | 深圳智慧林网络科技有限公司 | 数据压缩模型训练方法及装置、存储介质 |
| CN118020057A (zh) | 2021-09-29 | 2024-05-10 | 美光科技公司 | 使用内联元数据对压缩状态的早期检测 |
| JP7653892B2 (ja) * | 2021-10-26 | 2025-03-31 | 日立ヴァンタラ株式会社 | ストレージシステム及びストレージシステムにおけるデータ処理方法 |
| CN116166179A (zh) * | 2021-11-25 | 2023-05-26 | 华为技术有限公司 | 数据存储系统、智能网卡及计算节点 |
| US12518337B2 (en) * | 2022-03-23 | 2026-01-06 | Intel Corporation | Compression using a flat mapping in virtual address space |
| CN117335810A (zh) * | 2022-06-23 | 2024-01-02 | 加特兰微电子科技(上海)有限公司 | 数据压缩、解压缩方法及装置 |
| US12007948B1 (en) * | 2022-07-31 | 2024-06-11 | Vast Data Ltd. | Similarity based compression |
| US12282673B2 (en) * | 2023-03-23 | 2025-04-22 | International Business Machines Corporation | Limiting deduplication search domains |
| CN117891408A (zh) * | 2024-01-26 | 2024-04-16 | 三星(中国)半导体有限公司 | 用于存储设备的数据去重的方法和存储设备 |
| US20260029912A1 (en) * | 2024-07-26 | 2026-01-29 | Netapp, Inc. | Coalescing multiple small writes to large files or multiple writes to a number of small files to generate larger compressible chunks for inline compression |
| CN119496652B (zh) * | 2024-11-18 | 2026-01-27 | 中国船舶集团有限公司第七○八研究所 | 一种低带宽条件下的高效数据压缩加解密方法 |
| US12524262B1 (en) | 2025-05-05 | 2026-01-13 | SGM Infotech, LLC | Integrated AI-driven and compliance-aware multi-state encoding framework |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002057905A (ja) | 2000-05-01 | 2002-02-22 | Xerox Corp | 画像ドキュメント圧縮方法及び圧縮ドキュメント記述用データ構造 |
| US20020097172A1 (en) | 1998-12-11 | 2002-07-25 | Fallon James J. | Content independent data compression method and system |
| JP2002262102A (ja) | 2001-03-05 | 2002-09-13 | Matsushita Electric Ind Co Ltd | 画像符号化装置、画像符号化方法、及びその記憶媒体 |
| JP2008152339A (ja) | 2006-12-14 | 2008-07-03 | Nec Corp | 情報処理装置および情報処理方法 |
| WO2009022531A1 (ja) | 2007-08-13 | 2009-02-19 | Nec Corporation | データ圧縮伸張方法 |
| US20140101485A1 (en) | 2012-10-04 | 2014-04-10 | Albert W. Wegener | Data compression profiler for configuration of compression |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5467087A (en) * | 1992-12-18 | 1995-11-14 | Apple Computer, Inc. | High speed lossless data compression system |
| JP3224906B2 (ja) * | 1993-06-03 | 2001-11-05 | 株式会社日立製作所 | 信号記録方法、信号記録装置、信号再生方法及び信号再生装置 |
| CA2163556C (en) | 1994-04-22 | 2006-07-11 | Tetsuji Kawashima | System and method for transmitting compressed data or pre-compressed data based on a preset compression ratio |
| 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 |
| JPH08237208A (ja) * | 1995-02-23 | 1996-09-13 | Daihatsu Motor Co Ltd | 情報送信装置及び情報受信装置 |
| US6272453B1 (en) | 1998-01-05 | 2001-08-07 | Trw Inc. | Concurrent legacy and native code execution techniques |
| US6492991B1 (en) | 1998-08-28 | 2002-12-10 | Ati International Srl | Method and apparatus for controlling compressed Z information in a video graphics system |
| US7162583B2 (en) * | 2003-12-29 | 2007-01-09 | Intel Corporation | Mechanism to store reordered data with compression |
| JP4479530B2 (ja) | 2004-12-28 | 2010-06-09 | カシオ電子工業株式会社 | データ圧縮装置、及びデータ復元装置 |
| US7961960B2 (en) * | 2006-08-24 | 2011-06-14 | Dell Products L.P. | Methods and apparatus for reducing storage size |
| US20080228998A1 (en) | 2007-03-16 | 2008-09-18 | Spansion Llc | Memory storage via an internal compression algorithm |
| US8208532B2 (en) | 2008-03-31 | 2012-06-26 | Oracle America, Inc. | Method and apparatus for data compression and decompression |
| CN102576378B (zh) | 2009-09-21 | 2015-06-17 | X环技术有限公司 | 计算机断层成像数据的容错压缩和解压缩的方法和系统 |
| CN102843142B (zh) * | 2011-06-23 | 2013-07-31 | 深圳市国微电子有限公司 | 可编程逻辑器件配置数据流压缩、解压缩处理方法及系统 |
| WO2013003479A2 (en) | 2011-06-30 | 2013-01-03 | Samplify Systems, Inc. | Compression of floating-point data |
| US8497788B1 (en) | 2012-04-25 | 2013-07-30 | Pure Storage Inc. | Efficient techniques for aligned fixed-length compression |
| US9330001B2 (en) | 2012-05-21 | 2016-05-03 | Zeropoint Technologies Ab | Cache system and a method of operating a cache memory |
| KR102011135B1 (ko) * | 2012-12-11 | 2019-08-14 | 삼성전자주식회사 | 모바일 장치 및 그것의 스왑을 통한 데이터 관리 방법 |
| JP7010548B2 (ja) * | 2015-05-21 | 2022-01-26 | ゼロポイント テクノロジーズ アーベー | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム |
| WO2016186564A1 (en) | 2015-05-21 | 2016-11-24 | Zeropoint Technologies Ab | Methods, devices and systems for semantic-value data compression and decompression |
| WO2017131578A1 (en) | 2016-01-29 | 2017-08-03 | Zeropoint Technologies Ab | Methods, devices and systems for compressing and decompressing data |
| SE540178C2 (en) | 2016-01-29 | 2018-04-24 | Zeropoint Tech Ab | Methods, devices and systems for compressing and decompressing data |
-
2016
- 2016-05-20 JP JP2017560651A patent/JP7010548B2/ja active Active
- 2016-05-20 US US15/575,007 patent/US10476520B2/en active Active
- 2016-05-20 CA CA2986555A patent/CA2986555A1/en active Pending
- 2016-05-20 CN CN201680042384.0A patent/CN107925418B/zh active Active
- 2016-05-20 WO PCT/SE2016/050462 patent/WO2016186563A1/en not_active Ceased
- 2016-05-20 KR KR1020177036796A patent/KR102578689B1/ko active Active
- 2016-05-20 EP EP16796838.7A patent/EP3304746B1/en active Active
-
2019
- 2019-10-15 US US16/653,610 patent/US10819369B2/en active Active
-
2021
- 2021-11-15 JP JP2021185947A patent/JP2022031735A/ja active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020097172A1 (en) | 1998-12-11 | 2002-07-25 | Fallon James J. | Content independent data compression method and system |
| JP2002057905A (ja) | 2000-05-01 | 2002-02-22 | Xerox Corp | 画像ドキュメント圧縮方法及び圧縮ドキュメント記述用データ構造 |
| JP2002262102A (ja) | 2001-03-05 | 2002-09-13 | Matsushita Electric Ind Co Ltd | 画像符号化装置、画像符号化方法、及びその記憶媒体 |
| JP2008152339A (ja) | 2006-12-14 | 2008-07-03 | Nec Corp | 情報処理装置および情報処理方法 |
| WO2009022531A1 (ja) | 2007-08-13 | 2009-02-19 | Nec Corporation | データ圧縮伸張方法 |
| US20140101485A1 (en) | 2012-10-04 | 2014-04-10 | Albert W. Wegener | Data compression profiler for configuration of compression |
Non-Patent Citations (4)
| Title |
|---|
| Alaa R. Alameldeen and David A. Wood,Frequent Pattern Compression: A Significance-Based Compression Scheme for L2 Caches,Technial Report #1500, University of Wisconsin-Madison Department of Computer Sciences,2004年 |
| Julien Dusser et al.,Zero-Content Augmented Caches,ICS '09: Proceedings of the 23rd international conference on Supercomputing,2009年,pp. 46-55 |
| Magnus Ekman and Per Stenstrom,A Robust Main-Memory Compression Scheme,32nd International Symposium on Computer Architecture (ISCA'05),2005年 |
| Yingying Tian et al.,Last-level Cache Deduplication,ICS '14: Proceedings of the 28th ACM international conference on Supercomputing,2014年,pp. 53-62 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022031735A (ja) * | 2015-05-21 | 2022-02-22 | ゼロポイント テクノロジーズ アーベー | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018522457A (ja) | 2018-08-09 |
| US10476520B2 (en) | 2019-11-12 |
| US20200044663A1 (en) | 2020-02-06 |
| EP3304746B1 (en) | 2021-04-07 |
| KR20180019597A (ko) | 2018-02-26 |
| CA2986555A1 (en) | 2016-11-24 |
| KR102578689B1 (ko) | 2023-09-15 |
| CN107925418B (zh) | 2021-06-01 |
| CN107925418A (zh) | 2018-04-17 |
| US10819369B2 (en) | 2020-10-27 |
| WO2016186563A1 (en) | 2016-11-24 |
| US20180138921A1 (en) | 2018-05-17 |
| JP2022031735A (ja) | 2022-02-22 |
| EP3304746A4 (en) | 2019-01-09 |
| EP3304746A1 (en) | 2018-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7010548B2 (ja) | ハイブリッドデータ圧縮および解凍のための方法、デバイス、およびシステム | |
| US10846218B2 (en) | Methods, devices and systems for compressing and decompressing data | |
| US8456331B2 (en) | System and method of compression and decompression | |
| US10268380B2 (en) | Methods, devices and systems for semantic-value data compression and decompression | |
| CN108702160B (zh) | 用于压缩和解压缩数据的方法、设备和系统 | |
| EP2034738B1 (en) | Data compression apparatus and method | |
| US20200304146A1 (en) | Variable-sized symbol entropy-based data compression | |
| CN112968706B (zh) | 数据压缩方法、fpga芯片及fpga在线升级方法 | |
| US11043963B1 (en) | System and components for encoding integers | |
| WO2024138981A1 (zh) | 数据压缩和解压缩方法、装置、电子设备及存储介质 | |
| US20120293344A1 (en) | Compressing and decompressing data | |
| CN108259515A (zh) | 一种适用于带宽受限下传输链路的无损信源压缩方法 | |
| US20250291714A1 (en) | Data compression device, data decompression device, and memory system | |
| CN115834504A (zh) | 一种基于axi总线的数据压缩/解压缩方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180117 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190509 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200608 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200721 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201019 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201208 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210120 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210713 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211115 |
|
| C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20211115 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20211126 |
|
| C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20211130 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211214 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220107 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7010548 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |