JP7481167B2 - 圧縮データの解凍システム及びメモリシステム並びにデータ解凍方法 - Google Patents
圧縮データの解凍システム及びメモリシステム並びにデータ解凍方法 Download PDFInfo
- Publication number
- JP7481167B2 JP7481167B2 JP2020097161A JP2020097161A JP7481167B2 JP 7481167 B2 JP7481167 B2 JP 7481167B2 JP 2020097161 A JP2020097161 A JP 2020097161A JP 2020097161 A JP2020097161 A JP 2020097161A JP 7481167 B2 JP7481167 B2 JP 7481167B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- decompressor
- compressed data
- compressed
- 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
- 230000015654 memory Effects 0.000 title claims description 208
- 230000006837 decompression Effects 0.000 title claims description 38
- 238000000034 method Methods 0.000 title claims description 28
- 238000007906 compression Methods 0.000 claims description 32
- 230000006835 compression Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 15
- 239000000872 buffer Substances 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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
- 230000026676 system process Effects 0.000 description 1
Images
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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Memory System (AREA)
Description
例えば、ビデオ処理のような特定のアプリケーションにおいて、生成されたデータは、指数関数的に増加する。
このようなデータの増加率は、場合によっては、ストレージシステム容量の増加を超えるものになっている。
格納されたデータは、圧縮されていない形で消費される必要があるため、格納されたデータが処理される前に格納された圧縮データを解凍する必要がある。
前記バックリファレンス読み出し要請、及び前記圧縮されていないデータの読み出し要請を生成するように構成されるコントローラと、をさらに有することが好ましい。
前記第1メモリの出力は、前記解凍器と接続され、前記第2メモリの出力は、前記受信機と接続されることが好ましい。
前記第1メモリは、前記第2メモリとは独立して動作するように構成されることが好ましい。
前記第1メモリは、前記解凍器によって、圧縮データメモリに圧縮された形式で格納されたデータが解凍されるときに、前記解凍器によって使用される圧縮データの圧縮パターンを表す圧縮プロセスの辞書値(dictionary values)を格納するように構成される辞書メモリを含み、ここで、前記圧縮プロセスは、入力データセットで繰り返されるパターン又は文字列の値を探し出すプロセスであり、前記第2メモリは、圧縮されていないミラー(uncompressed mirror)書き込みバッファを含むことが好ましい。
前記第2メモリのストレージ容量は、前記第1メモリのストレージ容量よりも小さいことが好ましい。
前記第2メモリの前記ストレージ容量は、前記受信機の入力データレートと前記解凍器の出力データレートとの間のデータレートの不一致に基づき、前記ストレージ容量は、前記データレートの不一致により、データ出力を生成し、前記受信機がデータを読み出しする準備が整うまで、前記第2メモリに生成されたデータ出力をバッファリングする量に依存することが好ましい。
前記バックリファレンス読み出し要請及び前記圧縮されていないデータの読み出し要請を生成するように構成されるコントローラをさらに有し、前記コントローラは、再構成可能なプロセッサを含むことが好ましい。
前記第1メモリの出力は、前記解凍器と接続され、前記第2メモリの出力は、前記受信機と接続されることが好ましい。
前記第1メモリは、前記第2メモリとは独立して動作するように構成されることが好ましい。
前記第1メモリは、前記解凍器によって、前記圧縮データメモリに格納された前記圧縮データが解凍されるときに、前記解凍器によって使用される圧縮データの圧縮パターンを表す圧縮プロセスの辞書値(dictionary values)を格納するように構成される辞書メモリを含み、ここで、前記圧縮プロセスは、入力データセットで繰り返されるパターン又は文字列の値を探し出すプロセスであり、前記第2メモリは、圧縮されていないミラー書き込みバッファを含むことが好ましい。
前記第2メモリのストレージ容量は、前記第1メモリのストレージ容量よりも小さいことが好ましい。
前記第2メモリの前記ストレージ容量は、前記受信機の入力データレートと前記解凍器の出力データレートとの間のデータレートの不一致に基づき、前記ストレージ容量は、前記データレートの不一致により、データ出力を生成し、前記受信機がデータを読み出しする準備が整うまで、前記第2メモリに生成されたデータ出力をバッファリングする量に依存することが好ましい。
前記解凍器は、前記第1メモリに格納された前記圧縮データの解凍されたデータに基づいて、前記圧縮データメモリからの後続の圧縮データを解凍するように構成されることが好ましい。
前記第1メモリは、前記第2メモリとは独立して動作するように構成されることが好ましい。
また、圧縮データの解凍時に、低い消費電力だけではなく、比較的高いスループット(throughput)と低いレイテンシの読み出しパフォーマンスを有することができる。
詳しい説明は、例としての実施形態とともに、本発明の特徴を示す。
しかし、他の実施形態によって達成される同一又は均等な機能と構造は、本発明の技術的思想に含まれるものと理解されるべきである。
前述したように、類似のエレメントの符号は、類似のエレメント又は特徴を示すものと意図する。
しかし、データ生成器(data generators)及びデータコンシューマー(data consumers)は、圧縮されていない形態でデータを生成及び消費する(consume)ため、ストレージソリューションは、圧縮及び圧縮データの解凍技術にさらに依存する。
しかし、このような形態のストレージに依存するシステムにおいて、圧縮及び圧縮データの解凍は、演算負荷を増加させる可能性があり、消費電力を増加させてレイテンシ(例えば、データの検索レイテンシ)を引き起こす可能性がある。
図1を参照すると、メモリシステム10は、送信機20と、圧縮システム30と、メモリ(例えば、圧縮データメモリ)40と、圧縮データの解凍システム50と、受信機60と、を備える。
しかし、いくつかの実施形態では、大きいサイズのデータは、送信機20と受信機60との間で伝送され得る。
したがって、これらのデータを格納するのに使用されるメモリ40の限られた容量のため、メモリシステム10は、メモリ40にデータを格納する前にデータを圧縮する。
その後、メモリシステム10は、受信機60が格納された情報に対する読み出し(read)要請をすると、格納されたデータを解凍する。
しかし、本発明はこれに限定されない。
たとえば、ストレージ装置において、送信機20及び受信機60は、ホストプロセス(例えば、ホストコンピュータのユーザー又はシステムプロセス)を表すことができ、メモリ40は、ソリッドステートドライブ(Solid State Drive:SSD)、ハードディスクドライブ(Hard Disk Drive:HDD)などのような非揮発性メモリであり得る。
いくつかの実施形態では、受信機60は、外部ストレージ装置を含み得る。
圧縮システム30は、データのブロックを分析することにより、以下のように実行する。
各々の個々のデータブロックに対して、関連付けられたデータタイプ(例えば、フラットデータタイプ、平面データタイプ、ウェーブレット(wavelet)データタイプ、スプライン(spline)データタイプなど)及び関連付けられた圧縮タイプを独立的に決定し、関連付けられた圧縮タイプに応じて、各々のデータブロックを圧縮する。
その後、圧縮データは、メモリ40に格納する。
受信機60が格納されている圧縮データに対応する圧縮されていないデータを要請すると、圧縮データの解凍システム50は、圧縮のうち、圧縮システム30で生成されたメタデータ及び辞書値を用いて格納されている圧縮データを解凍し、解凍されたデータを受信機60に提供する。
第1メモリ120は、第2メモリ130から分離することができ(例えば、別のメモリダイ(die)のように)、第2メモリ130とは独立して動作(例えば、読み出し(read)及び書き込み(write)要請を処理)するように構成される。
第1メモリ120の出力は、圧縮データの解凍器100に接続され、受信機60と接続されない。
なお、第2メモリ130の出力は、受信機60と接続され、圧縮データの解凍器100と接続されない。
第1及び第2メモリ(120、130)の読み出し及び書き込み動作は、コントローラ110によって制御される。
コントローラ110は、FPGA(Field-Programmable Gate Array)、特定用途向け集積回路(Application-Specific Integrated Circuit:ASIC)などのような再構成可能なプロセッサを含み得る。
辞書値は、格納されたデータを解凍する圧縮データの解凍器によって使用される圧縮データの圧縮パターンを表す。
言い換えると、圧縮プロセスは、入力データセット(dataset)で繰り返されるパターン又は文字列(string)の値を探し出す。
いくつかの実施形態によると、辞書値は、重複データブロックに対する圧縮データの1つのインスタンス(instance)、ピクセルデータブロックを表す1つ以上の値(例えば、フラット(flat)ピクセルブロックを示す単一の値)、又はこれらの組み合わせなどを含み得る。
このようなことから、入力データセットでの5つの「big dog」のパターンは、1つの「big dog」のパターンと4つの参照ポインタに縮小することができ、したがって圧縮された出力の大きさは、入力データセットのサイズに比べて大幅に減少され得る。
また、第1メモリ120は、圧縮データの解凍器100によって生成される解凍されたデータを格納することができ、圧縮データの解凍されたデータに依存する後続の圧縮データの解凍されたデータを、圧縮データの解凍器100によって、生成することができる。
つまり、いくつかの実施形態で、第1メモリ120の出力は、フィードバックライン126を介して圧縮データの解凍器100と接続される。
第2メモリ130は、任意の辞書値を格納しない可能性があり、最近の圧縮データの解凍されたデータを格納するように(例えば、最近、圧縮データの解凍されたデータのみを格納するように)構成されるので、第2メモリ130のストレージ容量は、第1メモリ120のストレージ容量よりも小さくすることができる。
したがって、第2メモリ130の容量は、受信機60に伝送されるデータの量と同一であり得る。
第2メモリ130の容量は、特定の設計の実現に関連付けられたバーストバッファリング(burst buffering)の量に依存する。
例えば、受信機60は、圧縮データの解凍器100のスループットよりも遅いレートでデータを処理する。
このとき、圧縮データの解凍システム50は、データ出力を生成し、受信機60がデータを読み出しする準備が整うまで、第2メモリ130に生成されたデータ出力をバッファリングする。
このとき、第2メモリ130の固定されたサイズは、圧縮方式に関連付けられたブロックサイズとは独立して作られ得る。
ブロックサイズは、圧縮データの解凍システムの全体のメモリリソースの使用量を減らすのに役立つことができる。
また、第1メモリ120の形態で辞書の貯蔵と圧縮データの解凍システム50の出力を分離することにより、第2メモリ130は、データのコンシューマー(例えば、受信機60)に伝送される圧縮されていない出力データのレイテンシを改善することができる。
したがって、圧縮データの解凍器100は、圧縮データの解凍されたデータを、第1及び第2メモリ(120、130)の両方に伝送することができる。
そして、コントローラ110は、圧縮データに含まれているメタデータをデコーディングすることにより、メモリ40に格納されている圧縮データを解釈する。
いくつかの例において、これは、圧縮データから解凍されたデータにパターンを直接コピーすることや、初期の圧縮データの解凍されたデータの出力から特定のパターンをコピーすることを含み得る。
第1の例で、メタデータは、入力データセットで現在の「8」バイトを、そのまま、圧縮されていない出力にコピーすることを表す。
第2の例では、メタデータは、以前に圧縮されていないデータの特定の位置から「16」のバイトをコピーすることを表す。
第1の例で、コントローラ110は、第1及び第2メモリ(120、130)に直接書き込みを行う。
第2の例では、コントローラ110は、以前の解凍されたデータから適切な位置をまず読み出して(例えば、バックリファレンス動作を介して)、以後、圧縮データの解凍されたデータを、第1及び第2メモリ(120、130)の両方で適切な位置に記入する。
いくつかの実施形態によると、コントローラ110は、メモリ(120、130)のすべてに圧縮されていないデータの書き込みを制御して開始することができる。
いくつかの実施形態によると、コントローラ110は、バックリファレンス読み出し信号(バックリファレンス読み出し要請ともいう)を第1メモリ120の読み出しポート122に伝送し、圧縮データの解凍器100に、直近に圧縮データの解凍されたデータを再び出力する第1メモリ120の信号は、バックリファレンスのためのものである。
また、第2メモリ130のデータ検索の動作は、第1メモリ120のバックリファレンス動作と分離することができ、格納されたデータが圧縮されていないとき、圧縮データの解凍されたデータは、受信機60に圧縮されていないデータを要請させ得る。
このような比較例では、2つの要請は、(たとえば、時分割多重化(time-division multiplexing)、ラウンドロビン優先順位(round robin priority)、厳密優先順位(strict priority)などを使用して)読み取りポートでアービトレータ(たとえば、マルチプレクサ140)によるアービトレーション(arbitration)を受ける可能性があり、解凍システムの複雑さが増す可能性があります。
また、他の動作が開始される前に、1つの動作が完了しなければならないため、このようなアービトレーションは、追加の非確定的な(non-deterministic)レイテンシをもたらす可能性があります。
また、デュアルポートメモリ(マルチポートメモリとは対照的)を含み得る第1及び第2メモリ(120、130)を利用することにより、圧縮データの解凍システムは、比較的低コストで実現することができます。
さらに、メモリ(120、130)の各々が、1つ(2つと対照的な)の業務を実行することは、装置へのアクセス回数を減らし、消費電力を低減させ、システムの全体的なロバストネス(robustness)及び信頼性を向上させることができる。
図2を参照して、いくつかの実施形態によると、受信機60が、メモリ40に格納されたデータを圧縮された形態で要請するとき、コントローラ110は、圧縮データの解凍器100が格納されたデータを解凍するように指示して、圧縮データの解凍されたデータを生成することができる(ステップS202)。
後続の格納されたデータが解凍される前に、コントローラ110は、第1メモリ120に圧縮データの解凍されたデータを圧縮データの解凍器100に出力させる、バックリファレンス読み出し要請を第1メモリ120に伝送する(ステップS206)。
次に、コントローラ110は、第2メモリ130にバッファリングされている圧縮データの解凍されたデータを受信機60に出力させる、圧縮されていないデータの読み出し要請を第2メモリ130に伝送する(ステップS208)。
オンチップ辞書メモリからの読み出しは、受信機やデータコンシューマーへのデータ伝送に必要としない場合がある。
これは、メモリの読み出しに必要とされるエージェント(agent)の数を減らすことができ、読み出しポートを減らし、アービトレーションをなくし、そして複雑度を下げることができる。
このようなエージェントの減少は、全体的な圧縮データの解凍レートを高め、圧縮されていないデータのレイテンシを低減し、そして決定的なレイテンシを提供することができる。
文脈上明らかに別のものを示していると定義されない限り、単数形は、複数形を含む意図で使用する。
そして「含む」又は「含んで限定されない」の用語は、本明細書に使用する場合には、記述された特徴、数字、段階、動作、エレメント、及び/又はコンポーネントの存在を明示するが、1つ以上の他の特徴、数字、段階、動作、エレメント、コンポーネント、及び/又はこれらのグループの存在若しくは追加を排除しない。
本明細書で使用する用語「及び/又は」は、1つ以上の関連付けられた列挙項目の任意の全ての組み合わせが含まれ得ることを意味する。
また、本明細書において、用語「できる」の使用は、「本発明の1つ以上の実施形態」を意味する。
また、用語「例としての」は、例示又は説明を意味するものと意図する。
このような用語は、1つのエレメント、コンポーネント、領域、レイヤー、又は区間を他のエレメント、コンポーネント、領域、レイヤー、又は区間から区別するために使用される。
したがって、本明細書で、第1エレメント、コンポーネント、領域、レイヤー、又は区間は、本発明の技術的思想及び範囲を逸脱することなく、第2エレメント、コンポーネント、領域、レイヤー、又は区間と称され得る。
エレメント又はレイヤーが他のエレメント又はレイヤーとの関係から「その上に直接位置した」、「直接接続された」、「直接結合された」、又は「隣接した」と述べられるとき、介入のエレメント又はレイヤーがそれらの間に存在しないものと理解されるべきである。
本明細書で、用語である「使用」、「使用する」、及び「使用された」は、各々用語である「利用」、「利用する」、及び「利用された」と類似した用語としてみなされ得る。
たとえば、独立した、マルチソースディスプレイ装置の多様な構成要素は、1つのIC(Integrated Circuit)チップ又は別個のICチップとして形成され得る。
また、圧縮システムの多様な構成要素は、フレキシブルプリント回路フィルム(flexible printed circuit film)、テープキャリアパッケージ(Tape Carrier Package:TCP)、又はプリント回路基板(Printed Circuit Board:PCB)上に実装され得るか、又は同一の基板上に形成され得る。
コンピュータプログラムの命令は、メモリに格納することができ、例えば、ランダムアクセスメモリ(random access memory:RAM)のような標準的なメモリデバイスを使用してコンピューティング装置において実装され得る。
また、コンピュータプログラムの命令は、例えば、CD-ROM(compact disk read only memory)、フラッシュドライブ(flash drive)、又はこのような非一時的なコンピュータ可読媒体に格納され得る。
また、本発明の技術的思想を逸脱しない範囲内で、通常の技術者(当業者)は、多様なコンピューティング装置の機能が1つのコンピューティング装置に結合若しくは統合することができ、又は特定のコンピューティング装置の機能が1つ以上の他のコンピューティング装置に分散され得ることを認識しなければならない。
20 送信機
30 圧縮システム
40 メモリ
50、50-1 圧縮データの解凍システム
60 受信機
100 圧縮データの解凍器
110 コントローラ
120、120-1 第1メモリ(辞書メモリ)
122、132 書き込みポート
124、134 読み出しポート
130 第2メモリ
140 マルチプレクサ
Claims (20)
- 解凍器から、圧縮データの解凍されたデータ(decompressed data)を受信するように構成される第1書き込み(write)ポートと、バックリファレンス読み出し(back-reference read)要請を受信するように構成される第1読み出し(read)ポートと、を含む第1メモリと、
前記第1書き込みポートと電気的に接続され、前記解凍されたデータを受信するように構成された第2書き込みポートを有する第2メモリと、を有し、
前記第1メモリは、前記第1読み出しポートにおいて、前記バックリファレンス読み出し要請を受信したことに応答して、前記解凍器に、前記圧縮データの前記解凍されたデータに基づいて、直近の後続の圧縮データを解凍したデータを出力するように構成され、
前記第2メモリは、受信機による検索のために前記解凍されたデータをバッファリングするように構成されることを特徴とする圧縮データの解凍システム。 - 前記第2メモリは、圧縮されていないデータの読み出し要請を受信するように構成される第2読み出しポートをさらに含み、
前記圧縮されていないデータの読み出し要請に応答して、前記受信機に前記解凍されたデータを供給するように構成されることを特徴とする請求項1に記載の圧縮データの解凍システム。 - 前記バックリファレンス読み出し要請、及び前記圧縮されていないデータの読み出し要請を生成するように構成されるコントローラと、をさらに有することを特徴とする請求項2に記載の圧縮データの解凍システム。
- 前記第1メモリの出力は、前記解凍器と接続され、
前記第2メモリの出力は、前記受信機と接続されることを特徴とする請求項1に記載の圧縮データの解凍システム。 - 前記第1メモリは、前記第2メモリとは独立して動作するように構成されることを特徴とする請求項1に記載の圧縮データの解凍システム。
- 前記第1メモリは、前記解凍器によって、圧縮データメモリに圧縮された形式で格納されたデータが解凍されるときに、前記解凍器によって使用される圧縮データの圧縮パターンを表す圧縮プロセスの辞書値(dictionary values)を格納するように構成される辞書メモリを含み、
ここで、前記圧縮プロセスは、入力データセットで繰り返されるパターン又は文字列の値を探し出すプロセスであり、
前記第2メモリは、圧縮されていないミラー(uncompressed mirror)書き込みバッファを含むことを特徴とする請求項1に記載の圧縮データの解凍システム。 - 前記第2メモリのストレージ容量は、前記第1メモリのストレージ容量よりも小さいことを特徴とする請求項1に記載の圧縮データの解凍システム。
- 前記第2メモリの前記ストレージ容量は、前記受信機の入力データレートと前記解凍器の出力データレートとの間のデータレートの不一致に基づき、
前記ストレージ容量は、前記データレートの不一致により、データ出力を生成し、前記受信機がデータを読み出しする準備が整うまで、前記第2メモリに生成されたデータ出力をバッファリングする量に依存することを特徴とする請求項7に記載の圧縮データの解凍システム。 - 受信機と、
圧縮データを格納するように構成される圧縮データメモリと、
前記圧縮データメモリから前記圧縮データを検索し、前記受信機からの要請に応答して、前記圧縮データから解凍されたデータを生成するように構成される解凍器と、
前記解凍器から前記解凍されたデータを受信するように構成される第1書き込みポート、及びバックリファレンス読み出し要請を受信するように構成される第1読み出しポートを有する第1メモリと、
前記第1書き込みポートと電気的に接続され、前記解凍されたデータを受信するように構成される第2書き込みポートを有する第2メモリと、を有し、
前記第1メモリは、前記第1読み出しポートにおいて、前記バックリファレンス読み出し要請を受信したことに応答して、前記解凍器に、前記圧縮データの前記解凍されたデータに基づいて、直近の後続の圧縮データを解凍したデータを出力するように構成され、
前記第2メモリは、前記受信機による検索のために前記解凍されたデータをバッファリングするように構成されることを特徴とするメモリシステム。 - 前記第2メモリは、圧縮されていないデータの読み出し要請を受信するように構成される第2読み出しポートをさらに含み、
前記圧縮されていないデータの読み出し要請に応答して、前記受信機に前記解凍されたデータを供給するように構成されることを特徴とする請求項9に記載のメモリシステム。 - 前記バックリファレンス読み出し要請及び前記圧縮されていないデータの読み出し要請を生成するように構成されるコントローラをさらに有し、
前記コントローラは、再構成可能なプロセッサを含むことを特徴とする請求項10に記載のメモリシステム。 - 前記第1メモリの出力は、前記解凍器と接続され、
前記第2メモリの出力は、前記受信機と接続されることを特徴とする請求項9に記載のメモリシステム。 - 前記第1メモリは、前記第2メモリとは独立して動作するように構成されることを特徴とする請求項9に記載のメモリシステム。
- 前記第1メモリは、前記解凍器によって、前記圧縮データメモリに格納された前記圧縮データが解凍されるときに、前記解凍器によって使用される圧縮データの圧縮パターンを表す圧縮プロセスの辞書値(dictionary values)を格納するように構成される辞書メモリを含み、
ここで、前記圧縮プロセスは、入力データセットで繰り返されるパターン又は文字列の値を探し出すプロセスであり、
前記第2メモリは、圧縮されていないミラー書き込みバッファを含むことを特徴とする請求項9に記載のメモリシステム。 - 前記第2メモリのストレージ容量は、前記第1メモリのストレージ容量よりも小さいことを特徴とする請求項9に記載のメモリシステム。
- 前記第2メモリの前記ストレージ容量は、前記受信機の入力データレートと前記解凍器の出力データレートとの間のデータレートの不一致に基づき、
前記ストレージ容量は、前記データレートの不一致により、データ出力を生成し、前記受信機がデータを読み出しする準備が整うまで、前記第2メモリに生成されたデータ出力をバッファリングする量に依存することを特徴とする請求項15に記載のメモリシステム。 - 前記解凍器は、前記第1メモリに格納された前記解凍されたデータに基づいて、前記圧縮データメモリからの後続の圧縮データを解凍するように構成されることを特徴とする請求項10に記載のメモリシステム。
- メモリシステムに格納されたデータを解凍する方法であって、
圧縮データメモリに格納されたデータを解凍して、解凍されたデータを生成するように解凍器に指示する段階と、
ここで、前記格納されたデータは、圧縮された形式であり、
前記解凍されたデータを第1メモリ及び第2メモリに書き込む段階と、
バックリファレンス読み出し要請を前記第1メモリに伝送する段階と、
圧縮されていないデータの読み出し要請を前記第2メモリに伝送する段階と、を有し、
前記第1メモリは、前記バックリファレンス読み出し要請に応答して、前記解凍器に、前記圧縮された形式で格納されたデータの前記解凍されたデータに基づいて、直近の後続の圧縮データを解凍したデータを出力するように構成され、
前記第2メモリは、前記圧縮されていないデータの読み出し要請に応答して、前記解凍されたデータを受信機に出力するように構成されることを特徴とするデータ解凍方法。 - 前記第1メモリの出力は、前記解凍器と接続され、
前記第2メモリの出力は、前記受信機と接続されることを特徴とする請求項18に記載のデータ解凍方法。 - 前記第1メモリは、前記第2メモリとは独立して動作するように構成されることを特徴とする請求項18に記載のデータ解凍方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962860619P | 2019-06-12 | 2019-06-12 | |
US62/860,619 | 2019-06-12 | ||
US16/539,842 | 2019-08-13 | ||
US16/539,842 US11048413B2 (en) | 2019-06-12 | 2019-08-13 | Method for reducing read ports and accelerating decompression in memory systems |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020201948A JP2020201948A (ja) | 2020-12-17 |
JP2020201948A5 JP2020201948A5 (ja) | 2023-06-01 |
JP7481167B2 true JP7481167B2 (ja) | 2024-05-10 |
Family
ID=73735931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020097161A Active JP7481167B2 (ja) | 2019-06-12 | 2020-06-03 | 圧縮データの解凍システム及びメモリシステム並びにデータ解凍方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7481167B2 (ja) |
CN (1) | CN112083875B (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000278139A (ja) | 1999-03-19 | 2000-10-06 | Asahi Kasei Microsystems Kk | 圧縮データストリーム復元装置 |
JP2007221251A (ja) | 2006-02-14 | 2007-08-30 | Hitachi Ltd | 多重伝送システム |
JP2009211494A (ja) | 2008-03-05 | 2009-09-17 | Nec Corp | 情報処理装置及び方法 |
JP2016129307A (ja) | 2015-01-09 | 2016-07-14 | 株式会社日立製作所 | 通信システム、制御サーバおよび制御方法 |
US20170235497A1 (en) | 2016-02-12 | 2017-08-17 | Oracle International Corporation | Decompression history buffer read/write pipelines |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5818873A (en) * | 1992-08-03 | 1998-10-06 | Advanced Hardware Architectures, Inc. | Single clock cycle data compressor/decompressor with a string reversal mechanism |
JPH06303439A (ja) * | 1993-04-14 | 1994-10-28 | Fujitsu Ltd | イメージデータ処理装置 |
EP1454240B1 (en) * | 2002-05-13 | 2006-02-08 | Trek 2000 International Ltd | System and apparatus for compressing and decompressing data stored to a portable data storage device |
JP5969914B2 (ja) * | 2012-12-20 | 2016-08-17 | 株式会社日立情報通信エンジニアリング | 動画像圧縮伸張装置 |
US9059731B2 (en) * | 2013-10-21 | 2015-06-16 | International Business Machines Corporation | Boosting decompression in the presence of reoccurring Huffman trees |
DE112016000726B4 (de) * | 2015-02-13 | 2024-08-01 | Google LLC (n.d.Ges.d. Staates Delaware) | Transparente hardwareunterstützte speicherdekompression |
US9823854B2 (en) * | 2016-03-18 | 2017-11-21 | Qualcomm Incorporated | Priority-based access of compressed memory lines in memory in a processor-based system |
CN108122189B (zh) * | 2016-11-29 | 2021-11-30 | 三星电子株式会社 | 硬件中的顶点属性压缩和解压缩 |
CN107027036A (zh) * | 2017-05-12 | 2017-08-08 | 郑州云海信息技术有限公司 | 一种fpga异构加速平台的解压缩方法、装置及系统 |
US10659797B2 (en) * | 2017-10-31 | 2020-05-19 | Google Llc | Video frame codec architectures |
-
2020
- 2020-04-27 CN CN202010347008.0A patent/CN112083875B/zh active Active
- 2020-06-03 JP JP2020097161A patent/JP7481167B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000278139A (ja) | 1999-03-19 | 2000-10-06 | Asahi Kasei Microsystems Kk | 圧縮データストリーム復元装置 |
JP2007221251A (ja) | 2006-02-14 | 2007-08-30 | Hitachi Ltd | 多重伝送システム |
JP2009211494A (ja) | 2008-03-05 | 2009-09-17 | Nec Corp | 情報処理装置及び方法 |
JP2016129307A (ja) | 2015-01-09 | 2016-07-14 | 株式会社日立製作所 | 通信システム、制御サーバおよび制御方法 |
US20170235497A1 (en) | 2016-02-12 | 2017-08-17 | Oracle International Corporation | Decompression history buffer read/write pipelines |
Also Published As
Publication number | Publication date |
---|---|
CN112083875B (zh) | 2022-09-30 |
JP2020201948A (ja) | 2020-12-17 |
CN112083875A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102596644B1 (ko) | 메모리 대역폭 활용을 감소시키기 위해 활성화 데이터의 압축 및 압축 해제를 사용하는 신경망 프로세서 | |
JP7421036B2 (ja) | ロスレスデータ圧縮 | |
US7924183B2 (en) | Method and system for reducing required storage during decompression of a compressed file | |
US20140086309A1 (en) | Method and device for encoding and decoding an image | |
JP2006099774A (ja) | データ処理方法および装置、処理システム、コンピュータ処理システム、コンピュータのネットワーク | |
US20160124683A1 (en) | In-memory data compression complementary to host data compression | |
WO2023124428A1 (zh) | 芯片、加速卡以及电子设备、数据处理方法 | |
CN112235579A (zh) | 视频处理方法、计算机可读存储介质及电子设备 | |
CN109508782B (zh) | 基于神经网络深度学习的加速电路和方法 | |
US6820087B1 (en) | Method and apparatus for initializing data structures to accelerate variable length decode | |
US7864359B2 (en) | Data compression and decompression unit | |
US6313766B1 (en) | Method and apparatus for accelerating software decode of variable length encoded information | |
JP7481167B2 (ja) | 圧縮データの解凍システム及びメモリシステム並びにデータ解凍方法 | |
JPH0234038A (ja) | データ圧縮装置 | |
KR102531613B1 (ko) | 메모리 시스템에서 읽기 포트들을 줄이고 압축 해제를 가속하는 방법 | |
US20220318604A1 (en) | Sparse machine learning acceleration | |
JP7390251B2 (ja) | ストレージシステム | |
JP2007140858A (ja) | メモリアクセス方法及びメモリアクセス装置 | |
US8711013B2 (en) | Coding circuitry for difference-based data transformation | |
JP2577705B2 (ja) | 画像圧縮伸長装置及びその制御方法 | |
CN212873459U (zh) | 一种用于数据压缩存储的系统 | |
JP3032160B2 (ja) | 可変長復号化器における出力デ−タの再配列方法及び回路 | |
EP4435612A1 (en) | Memory device using multistage acceleration, operating method of memory device, and electronic device including the same | |
CN109886862B (zh) | 一种数据处理的方法及装置 | |
JP2004362531A (ja) | 保存容量を拡張可能なストレージデバイス |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230524 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230524 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240228 |
|
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: 20240402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240425 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7481167 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |