JP2020178347A - エンコーディングされたデータに対する条件付きトランスコーダ及びトランスコーディング方法 - Google Patents
エンコーディングされたデータに対する条件付きトランスコーダ及びトランスコーディング方法 Download PDFInfo
- Publication number
- JP2020178347A JP2020178347A JP2020073662A JP2020073662A JP2020178347A JP 2020178347 A JP2020178347 A JP 2020178347A JP 2020073662 A JP2020073662 A JP 2020073662A JP 2020073662 A JP2020073662 A JP 2020073662A JP 2020178347 A JP2020178347 A JP 2020178347A
- Authority
- JP
- Japan
- Prior art keywords
- data
- encoding
- chunk
- input
- dictionary
- 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
- 238000000034 method Methods 0.000 title claims abstract description 204
- 238000012545 processing Methods 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 10
- 206010021703 Indifference Diseases 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 15
- 238000012856 packing Methods 0.000 description 45
- 230000006835 compression Effects 0.000 description 23
- 238000007906 compression Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 230000001133 acceleration Effects 0.000 description 14
- 230000008901 benefit Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 230000006837 decompression Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 239000007787 solid Substances 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005574 cross-species transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- 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
- 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; 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- 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
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)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
図10は、カラムフォーマットで格納されたデータに対するトランスコーディングを実装する図1のストレージ装置120を示す図である。図10に示すように、ストレージ装置120は、ホストインターフェースレイヤ505、ストレージ装置のコントローラ510、及びストレージ515を含み、これらの機能は、上述した図5を参照して説明したものと同様に機能する(ストレージ装置120は、SSD、ハードディスクドライブ、又はカラムフォーマットを使用する任意の他のストレージ装置である)。
本発明の実施形態によるトランスコーダは、入力エンコーディングデータを格納するバッファと、入力辞書から出力辞書にマッピングするインデックスマッパーと、入力エンコーディングデータ、入力辞書、及び入力辞書から出力辞書へのマップに応答して修正された現在のエンコーディングデータを格納する現在のエンコーディングバッファと、前の入力エンコーディングデータ、入力辞書、及び入力辞書から出力辞書へのマップに応答する修正された前のエンコーディングデータを格納する前のエンコーディングバッファと、現在のエンコーディングバッファに格納された修正された現在のエンコーディングデータ、前のエンコーディングバッファに格納された修正された前のエンコーディングデータ、及びトランスコーディングのルールに応答する出力ストリームを生成するルール評価器と、を備える。
本発明の実施形態は、ステートメント1によるトランスコーダを含み、インデックスマッパーは、トランスコーディングのルールに応答する。
[ステートメント3]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、トランスコーディングのルールは、インデックスマッパーに応答する。
[ステートメント4]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、インデックスマッパーは、入力辞書で選択されたサブセットの項目に応答する。
[ステートメント5]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、ルール評価器は、プロセッサ、FPGA(Field Programmable Gate Array)、ASIC(Application−Specific Integrated Circuit)、GPU(Graphics Processing Unit)、又は汎用GPU(GPGPU)の中の少なくとも1つを含む。
[ステートメント6]
本発明の実施形態は、ステートメント5によるトランスコーダを含み、ルール評価器は、トランスコーディングのルールを実施するための少なくとも1つのソフトウェア及びトランスコーディングのルールをリストするテーブルを格納するストレージを更に含む。
[ステートメント7]
本発明の実施形態は、ステートメント5によるトランスコーダを含み、ルール評価器は、トランスコーディングのルールを実施するための回路を更に含む。
[ステートメント8]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、ルール評価器は、トランスコーディングのルールを使用して入力エンコーディングデータから修正された現在のエンコーディングデータを生成するように動作する。
[ステートメント9]
本発明の実施形態は、ステートメント8によるトランスコーダを含み、ルール評価器は、修正された前のエンコーディングデータを出力ストリームに追加するように動作する。
[ステートメント10]
本発明の実施形態は、ステートメント9によるトランスコーダを含み、ルール評価器は、現在のエンコーディングバッファから修正されたエンコーディングされた現在のエンコーディングデータを、前のエンコーディングバッファで修正された前のエンコーディングデータに移動させるように追加で動作する。
[ステートメント11]
本発明の実施形態は、ステートメント8によるトランスコーダを含み、ルール評価器は、トランスコーディングのルールを使用して、修正された現在のエンコーディングデータを含むように修正された前のエンコーディングデータを修正するように動作する。
[ステートメント12]
本発明の実施形態は、ステートメント11によるトランスコーダを含み、ルール評価器は、修正された現在のエンコーディングデータを生成するときに入力エンコーディングデータの第1のエンコーディング方式を第2のエンコーディング方式に変更するように追加で動作する。
[ステートメント13]
本発明の実施形態は、ステートメント11によるトランスコーダを含み、ルール評価器は、修正された現在のエンコーディングデータを生成するときに入力エンコーディングデータの第1のエンコーディング方式を第3のエンコーディング方式に変更するように追加で動作する。
[ステートメント14]
本発明の実施形態は、ステートメント8によるトランスコーダを含み、ルール評価器は、入力エンコーディングデータから入力エンコーディングデータの第1のエンコーディング方式を決定するように動作し、少なくとも2つのエンコーディング方式の中の1つである第1エンコーディング方式は、入力エンコーディングデータで使用される。
[ステートメント15]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、第1のエンコーディング方式を使用して入力エンコーディングデータで第1のチャンクを識別し、第2のエンコーディングを使用して入力エンコーディングデータで第2のチャンクを識別するストリームスプリッタを更に含む。
[ステートメント16]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、インデックスマッパーは、入力辞書の少なくとも1つの項目を出力辞書の「ドントケア(don’t care)」の値にマッピングするように動作する。
[ステートメント17]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、インデックスマッパーは「ドントケア」の値を出力辞書に追加するように動作する。
[ステートメント18]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、入力エンコーディングデータは、圧縮された入力エンコーディングデータであり、トランスコーダは、圧縮解除エンジンを更に含む。
[ステートメント19]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、トランスコーダは、入力エンコーディングデータのデコーディングなしに入力エンコーディングデータから出力ストリームを生成するように動作する。
[ステートメント20]
本発明の実施形態は、ステートメント1によるトランスコーダを含み、トランスコーダは、ソリッドステートドライブ(SSD)のストレージ装置に含まれる。
[ステートメント21]
本発明の実施形態は、ステートメント20によるトランスコーダを含み、入力エンコーディングデータは、SSDストレージ装置内のストレージから受信される。
本発明の実施形態による方法は、ストレージ装置内のデータに対するトランスコーダの動作方法であって、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階と、第1のデータチャンクがホストコンピュータの関心対象であることを決定する段階と、ホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階と、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第2のデータチャンクを受信する段階と、第2のデータチャンクがホストコンピュータの関心対象ではないことを決定する段階と、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階と、第1のエンコーディングデータ及び第2エンコーディングデータをホストコンピュータに出力する段階と、を有する。
本発明の実施形態は、ステートメント22による方法を含み、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階は、第1のエンコーディングデータの値を「ドントケア(don’t care)」の値に変更する段階を含む。
[ステートメント24]
本発明の実施形態は、ステートメント23による方法を含み、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階は、第2のエンコーディングデータを「ドントケア」の値を含む第3のエンコーディングデータに結合する段階を更に含む。
[ステートメント25]
本発明の実施形態は、ステートメント24による方法を含み、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階は、第2のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を含む。
[ステートメント26]
本発明の実施形態は、ステートメント25による方法を含み、第2のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階は、第2のエンコーディングデータの第1のエンコーディング方式を第2のエンコーディングデータの第2のエンコーディング方式に変更する段階を含む。
[ステートメント27]
本発明の実施形態は、ステートメント25による方法を含み、第2のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階は、第3のエンコーディングデータの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を含む。
[ステートメント28]
本発明の実施形態は、ステートメント22による方法を含み、ホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階は、第1のエンコーディングデータを第3のエンコーディングデータに結合する段階を含む。
[ステートメント29]
本発明の実施形態は、ステートメント28による方法を含み、ホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階は、第1のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を更に含む。
[ステートメント30]
本発明の実施形態は、ステートメント29による方法を含み、第1のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階は、第1のデータチャンクの第1のエンコーディング方式を第1のエンコーディングデータの第2のエンコーディング方式に変更する段階を含む。
[ステートメント31]
本発明の実施形態は、ステートメント29による方法を含み、第1のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階は、第2のエンコーディングデータの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を含む。
[ステートメント32]
本発明の実施形態は、ステートメント22による方法を含み、ホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階は、トランスコーディングのルールに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階を含み、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階は、トランスコーディングのルールに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階を含む。
[ステートメント33]
本発明の実施形態は、ステートメント22による方法を含み、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階は、ストリームスプリッタで、入力エンコーディングデータを受信する段階と、ストリームスプリッタによって、入力エンコーディングデータで、第1のエンコーディング方式を使用してエンコーディングされた第1のデータチャンク及び第2のエンコーディング方式を使用してエンコーディングされた第2のデータチャンクを識別する段階と、ストリームスプリッタから提供された入力エンコーディングデータから第1のデータチャンクを受信する段階と、を含む。
[ステートメント34]
本発明の実施形態は、ステートメント22による方法を含み、この方法は、ストレージ装置から入力辞書を受信する段階と、ホストコンピュータの関心データ及びホストコンピュータの無関心データに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階と、出力辞書をホストコンピュータに出力する段階と、を更に含む。
[ステートメント35]
本発明の実施形態は、ステートメント34による方法を含み、ホストコンピュータの関心データ及びホストコンピュータの無関心データに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階は、トランスコーディングのルールに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階を含む。
[ステートメント36]
本発明の実施形態は、ステートメント34による方法を含み、ホストコンピュータの関心データ及びホストコンピュータの無関心データに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階は、入力辞書で選択された項目のサブセットに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階を含む。
[ステートメント37]
本発明の実施形態は、ステートメント22による方法を含み、トランスコーダは、入力エンコーディングデータのデコーディングなしに入力エンコーディングデータから第1のエンコーディングデータ及び第2のエンコーディングデータを生成するように動作する。
[ステートメント38]
本発明の実施形態は、ステートメント22による方法を含み、トランスコーダは、ソリッドステートドライブ(SSD)のストレージ装置に含まれる。
[ステートメント39]
本発明の実施形態は、ステートメント38による方法を含み、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階は、トランスコーダで、SSDストレージ装置内のストレージから入力エンコーディングデータからの第1のデータチャンクを受信する段階を含み、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第2のデータチャンクを受信する段階は、トランスコーダで、SSDストレージ装置内のストレージから入力エンコーディングデータからの第2のデータチャンクを受信する段階を含む。
本発明の実施形態の物品は、命令語を格納したコンピュータ読み取り可能な非一時的記録媒体を含む物品であって、マシンによって命令語が実行される方法は、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階と、第1のデータチャンクがホストコンピュータの関心対象であることを決定する段階と、ホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階と、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第2のデータチャンクを受信する段階と、第2のデータチャンクがホストコンピュータの関心対象ではないことを決定する段階と、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階と、第1エンコーディングデータ及び第2のエンコーディングデータをホストコンピュータに出力する段階と、を有する。
本発明の実施形態は、ステートメント40による物品を含み、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2エンコーディングデータを生成する段階は、第1のエンコーディングデータの値を「ドントケア(don’t care)」の値に変更する段階を含む。
[ステートメント42]
本発明の実施形態は、ステートメント41による物品を含み、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階は、第2のエンコーディングデータを「ドントケア」の値を含む第3のエンコーディングデータに結合する段階を含む。
[ステートメント43]
本発明の実施形態は、ステートメント42による物品を含み、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階は、第2のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を含む。
[ステートメント44]
本発明の実施形態は、ステートメント43による物品を含み、第2のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階は、第2のデータチャンクの第1のエンコーディング方式を第2エンコーディングデータの第2のエンコーディング方式に変更する段階を含む。
[ステートメント45]
本発明の実施形態は、ステートメント43による物品を含み、第2のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階は、第3のエンコーディングデータの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を含む。
[ステートメント46]
本発明の実施形態は、ステートメント40による物品を含み、ホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階は、第1のエンコーディングデータを第3のエンコーディングデータに結合する段階を含む。
[ステートメント47]
本発明の実施形態は、ステートメント46による物品を含み、ホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階は、第1のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を更に含む。
[ステートメント48]
本発明の実施形態は、ステートメント47による物品を含み、第1のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階は、第1のデータチャンクの第1のエンコーディング方式を第1のエンコーディングデータの第2のエンコーディング方式に変更する段階を含む。
[ステートメント49]
本発明の実施形態は、ステートメント47による物品を含み、第1のデータチャンク及び第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階は、第3のエンコーディングデータの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を含む。
[ステートメント50]
本発明の実施形態は、ステートメント40による物品を含み、ホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階は、トランスコーディングのルールに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階と、ホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階は、トランスコーディングのルールに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階と、を含む。
[ステートメント51]
本発明の実施形態は、ステートメント40による物品を含み、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階は、ストリームスプリッタで、入力エンコーディングデータを受信する段階と、ストリームスプリッタによって、入力エンコーディングデータで、第1のエンコーディング方式を使用してエンコーディングされた第1のデータチャンク及び第2のエンコーディング方式を使用してエンコーディングされた第2のデータチャンクを識別する段階と、ストリームスプリッタから提供された入力エンコーディングデータから第1のデータチャンクを受信する段階と、を含む。
[ステートメント52]
本発明の実施形態は、ステートメント40による物品を含み、マシンによって命令語が実行される方法は、ストレージ装置から入力辞書を受信する段階と、ホストコンピュータの関心データ及びホストコンピュータの無関心データに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階と、出力辞書をホストコンピュータに出力する段階と、を更に含む。
[ステートメント53]
本発明の実施形態は、ステートメント52による物品を含み、ホストコンピュータの関心データ及びホストコンピュータの無関心データに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階は、トランスコーディングのルールに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階を含む。
[ステートメント54]
本発明の実施形態は、ステートメント52による物品を含み、ホストコンピュータの関心データ及びホストコンピュータに無関心データに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階は、入力辞書で選択された項目のサブセットに少なくとも部分的に基づいて、入力辞書を出力辞書にマッピングする段階を含む。
[ステートメント55]
本発明の実施形態は、ステートメント40による物品を含み、トランスコーダは、入力エンコーディングデータのデコーディングなしに入力エンコーディングデータから第1のエンコーディングデータ及び第2エンコーディングデータを生成するように動作する。
[ステートメント56]
本発明の実施形態は、ステートメント40による物品を含み、トランスコーダは、ソリッドステートドライブ(SSD)のストレージ装置に含まれる。
[ステートメント57]
本発明の実施形態は、ステートメント56による物品を含み、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階は、トランスコーダで、SSDストレージ装置内のストレージから入力エンコーディングデータからの第1のデータチャンクを受信する段階を含み、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第2のデータチャンクを受信する段階は、トランスコーダで、SSDストレージ装置内のストレージから入力エンコーディングデータからの第2のデータチャンクを受信する段階を含む。
本発明の実施形態のストレージ装置は、入力エンコーディングデータのためのストレージと、ストレージ上のホストコンピュータからの読み取り要請及び書き込み要請をプロセッシングするコントローラと、ストレージに格納された入力エンコーディングデータに適用されるホストコンピュータから発生する属性を受信するインストレージコンピュータ(ISC)コントローラと、入力エンコーディングデータに対する入力辞書から出力辞書にマッピングするインデックスマッパーを有するトランスコーダと、を備え、入力辞書は、少なくとも1つの第1の項目及び少なくとも1つの第2の項目を含み、少なくとも1つの第1の項目は、少なくとも1つの第3の項目にマッピングされ、少なくとも1つの第2の項目は、出力辞書の「ドントケア」の項目にマッピングされる。
本発明の実施形態は、ステートメント58によるストレージ装置を含み、トランスコーダは、プロセッサ、FPGA(Field Programmable Gate Array)、ASIC(Application−Specific Integrated Circuit)、GPU(Graphics Processing Unit)、又は汎用GPU(GPGPU)の中の少なくとも1つを含む。
[ステートメント60]
本発明の実施形態は、ステートメント58によるストレージ装置を含み、ISCコントローラは、トランスコーダからの出力のエンコーディングデータにアクセラレーション機能を適用するように動作する。
[ステートメント61]
本発明の実施形態は、ステートメント60によるストレージ装置を含み、ISCコントローラは、出力のエンコーディングデータに対するアクセラレーション機能の結果をトランスコーダからホストコンピュータに出力するように動作する。
[ステートメント62]
本発明の実施形態は、ステートメント58によるストレージ装置を含み、ISCコントローラは、トランスコーダの出力エンコーディングデータをホストコンピュータに伝送するように動作する。
[ステートメント63]
本発明の実施形態は、ステートメント62によるストレージ装置を含み、ISCコントローラは、出力辞書をホストコンピュータに伝達するように動作する。
[ステートメント64]
本発明の実施形態は、ステートメント58によるストレージ装置を含み、トランスコーダは、入力エンコーディングデータ及び入力辞書から出力辞書へのマップに少なくとも部分的に基づいて、出力のエンコーディングデータを生成するように動作する。
[ステートメント65]
本発明の実施形態は、ステートメント64によるストレージ装置を含み、トランスコーダは、入力エンコーディングデータを格納するバッファと、インデックスマッパーと、入力エンコーディングデータに応答する修正された現在のエンコーディングデータ、修正された現在のエンコーディングデータ、及び入力辞書から出力辞書へのマップを格納する現在のエンコーディングバッファと、前の入力エンコーディングデータに応答する修正された前のエンコーディングデータ、変更された前のエンコーディングデータ、及び入力辞書から出力辞書へのマップを格納する前のエンコーディングバッファと、現在のエンコーディングバッファの修正された現在のエンコーディングデータ、前のエンコーディングバッファの修正された前のエンコーディングデータ、及びトランスコーディングルールに応答する出力ストリームを生成するルール評価器と、を含む。
[ステートメント66]
本発明の実施形態は、ステートメント65によるストレージ装置を含み、トランスコーディングのルールは、属性に少なくとも部分的に基づく。
[ステートメント67]
本発明の実施形態は、ステートメント65によるストレージ装置を含み、ルール評価器は、入力エンコーディングデータのデコーディングなしに、現在のエンコーディングバッファの修正された現在のエンコーディングデータ、前のエンコーディングバッファの修正された前のエンコーディングデータ、及びトランスコーディングのルールに応答する出力ストリームを生成する。
[ステートメント68]
本発明の実施形態は、ステートメント64によるストレージ装置を含み、入力エンコーディングデータは、第1のエンコーディング方式を使用し、出力エンコーディングデータは、第2のエンコーディング方式を使用し、そして第2のエンコーディング方式は、第1のエンコーディング方式と異なる。
[ステートメント69]
本発明の実施形態は、ステートメント58によるストレージ装置を含み、入力エンコーディングデータは、ストレージにカラムフォーマットで格納される。
[ステートメント70]
本発明の実施形態は、ステートメント69によるストレージ装置を含み、入力エンコーディングデータは、アパッチパールケェイ(Apache Parquet)ストレージフォーマットを使用して格納された入力ファイルを含む。
[ステートメント71]
本発明の実施形態は、ステートメント69によるストレージ装置を含み、入力エンコーディングデータを含むカラムチャンクをプロセッシングし、入力エンコーディングデータをトランスコーダに伝達するカラムチャンクプロセッサを更に含む。
[ステートメント72]
本発明の実施形態は、ステートメント71によるストレージ装置を含み、カラムチャンクプロセッサは、トランスコーダを含む。
[ステートメント73]
本発明の実施形態は、ステートメント71によるストレージ装置を含み、カラムチャンクプロセッサは、プロセッサ、FPGA(Field Programmable Gate Array)、ASIC(Application−Specific Integrated Circuit)、GPU(Graphics Processing Unit)、及び汎用GPU(GPGPU)の中の少なくとも1つを含む。
[ステートメント74]
本発明の実施形態は、ステートメント58によるストレージ装置を含み、トランスコーダは、出力エンコーディングデータを生成するために属性に少なくとも部分的に基づいて、入力エンコーディングデータに適用するトランスコーディングのルールを作成するように動作する。
[ステートメント75]
本発明の実施形態は、ステートメント74によるストレージ装置を含み、トランスコーダは、入力エンコーディングデータをデコーディングせずに、出力エンコーディングデータを生成するように動作する。
本発明の実施形態の方法は、トランスコーダで、入力エンコーディングデータに適用する属性を受信する段階と、入力エンコーディングデータに対する入力辞書にアクセスする段階と、属性によってカバーされる入力辞書で少なくとも1つの第1項目及び属性によってカバーされない入力辞書で少なくとも1つの第2の項目を識別する段階と、属性によってカバーされない辞書で少なくとも1つの第2の項目を排除する出力辞書を生成する段階であって、トランスコーディング辞書は、少なくとも第3の項目及び「ドントケア」の項目を含む段階と、トランスコーダにより、入力辞書の少なくとも1つの第1項目を出力辞書の少なくとも1つの第3項目にマッピングし、属性によってカバーされない入力辞書の少なくとも1つの第2項目を出力辞書の「ドントケア」の項目にマッピングする段階と、を有する。
本発明の実施形態は、ステートメント76による方法を含み、入力エンコーディングデータは、カラムフォーマットで格納される。
[ステートメント78]
本発明の実施形態は、ステートメント77による方法を含み、入力エンコーディングデータは、アパッチパールクェイ(Apache Parquet)のストレージフォーマットを使用して格納された入力ファイルを含む。
[ステートメント79]
本発明の実施形態は、ステートメント76による方法を含み、入力エンコーディングデータは、カラムフォーマットで格納されたカラムチャンクを含む。
[ステートメント80]
本発明の実施形態は、ステートメント76による方法を含み、この方法は、辞書マップを使用して入力エンコーディングデータを出力エンコーディングデータにトランスコーディングする段階と、出力エンコーディングデータを出力する段階と、を含む。
[ステートメント81]
本発明の実施形態は、ステートメント80による方法を含み、辞書マップを使用して入力エンコーディングデータを出力エンコーディングデータにトランスコーディングする段階は、トランスコーダで、入力エンコーディングデータから第1のデータチャンクを受信する段階と、第1のデータチャンクが属性によってカバーされることを決定する段階と、辞書マップを使用してホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階と、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第2のデータチャンクを受信する段階と、第2のデータチャンクが属性によってカバーされないことを決定する段階と、辞書マップを使用してホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2のエンコーディングデータを生成する段階と、第1のエンコーディングデータ及び第2のエンコーディングデータを出力する段階と、を含む。
[ステートメント82]
本発明の実施形態は、ステートメント81による方法を含み、トランスコーダで、入力エンコーディングデータから第1のデータチャンクを受信する段階は、カラムチャンクプロセッサで、インストレージコンピュータ(ISC)コントローラからブロック識別子(ID)のリストを受信する段階と、カラムチャンクプロセッサにより、ブロックIDのリストからブロックブロック識別子(ID)を含むカラムチャンクにアクセスする段階と、カラムチャンクプロセッサからカラムチャンクからの入力エンコーディングデータを検索する段階と、カラムチャンクプロセッサからの入力エンコーディングデータをトランスコーダに伝送する段階と、を含む。
[ステートメント83]
本発明の実施形態は、ステートメント81による方法を含み、この方法は、属性に少なくとも部分的に基づいて、入力エンコーディングデータに適用するためのトランスコーディングのルールを生成する段階を更に含む。
[ステートメント84]
本発明の実施形態は、ステートメント80による方法を含み、辞書マップを使用して入力エンコーディングデータを出力エンコーディングデータにトランスコーディングする段階は、入力エンコーディングデータのデコーディングなしに、辞書マップを使用して入力エンコーディングデータを出力エンコーディングデータにトランスコーディングする段階を含む。
[ステートメント85]
本発明の実施形態は、ステートメント80による方法を含み、入力エンコーディングデータは、第1のエンコーディング方式を使用し、出力エンコーディングデータは、第2のエンコーディング方式を使用し、そして第2のエンコーディング方式は、第1のエンコーディング方式と異なる。
[ステートメント86]
本発明の実施形態は、ステートメント80による方法を含み、出力エンコーディングデータを出力する段階は、出力エンコーディングデータをISCコントローラに出力する段階を含む。
[ステートメント87]
本発明の実施形態は、ステートメント86による方法を含み、出力エンコーディングデータをISCコントローラに出力する段階は、出力辞書をISCコントローラに出力する段階を更に含む。
[ステートメント88]
本発明の実施形態は、ステートメント87による方法を含み、この方法は、ISCコントローラからホストコンピュータに出力エンコーディングデータ及び出力辞書を伝達する段階を更に含む。
[ステートメント89]
本発明の実施形態は、ステートメント87による方法を含み、この方法は、アクセラレーションされたデータを生成するために、ISCコントローラによって出力エンコーディングデータに対してアクセラレーション機能を遂行する段階を更に含む。
[ステートメント90]
本発明の実施形態は、ステートメント89による方法を含み、この方法は、ISCコントローラからホストコンピュータにアクセラレーションされたデータを出力する段階を更に含む。
[ステートメント91]
本発明の実施形態は、ステートメント76による方法を含み、この方法は、出力辞書を出力する段階を更に含む。
[ステートメント92]
本発明の実施形態は、ステートメント76による方法を含み、入力エンコーディングデータに適用するために属性を受信する段階は、ISCコントローラから入力エンコーディングデータに適用する属性を受信する段階を含む。
[ステートメント93]
本発明の実施形態は、ステートメント92による方法を含み、この方法は、ISCコントローラから入力辞書を受信する段階を更に含む。
[ステートメント94]
本発明の実施形態は、ステートメント76による方法を含み、この方法は、入力辞書で属性によってカバーされない項目がないと決定する段階と、入力エンコーディングデータを出力エンコーディングデータにトランスコーディングせずに入力エンコーディングデータを出力する段階と、を含む。
本発明の実施形態の物品は、命令語を格納したコンピュータ読み取り可能な非一時的記録媒体を含む物品であって、マシンによって命令語が実行され方法は、トランスコーダで、入力エンコーディングデータに適用する属性を受信する段階と、入力エンコーディングデータに対する入力辞書にアクセスする段階と、属性によってカバーされる入力辞書で少なくとも1つの第1項目及び属性によってカバーされない入力辞書で少なくとも1つの第2の項目を識別する段階と、属性によってカバーされない入力辞書で少なくとも1つの第2の項目を排除する出力辞書を生成する段階であって、トランスコーディング辞書は、少なくとも第3の項目及び「ドントケア」の項目を含む段階と、トランスコーダにより、入力辞書の少なくとも1つの第1項目を出力辞書の少なくとも1つの第3項目にマッピングし、属性によってカバーされない入力辞書の少なくとも1つの第2項目を出力辞書の「ドントケア」の項目にマッピングする段階と、を有する。
本発明の実施形態は、ステートメント95による物品を含み、入力エンコーディングデータは、カラムフォーマットで格納される。
[ステートメント97]
本発明の実施形態は、ステートメント96による物品を含み、入力エンコーディングデータは、アパッチパールクェイ(Apache Parquet)ストレージフォーマットを使用して格納された入力ファイルを含む。
[ステートメント98]
本発明の実施形態は、ステートメント95による物品を含み、入力エンコーディングデータは、カラムフォーマットで格納されたカラムチャンクを含む。
[ステートメント99]
本発明の実施形態は、ステートメント95による物品を含み、マシンによって命令語が実行される方法は、辞書マップを使用して入力エンコーディングデータを出力エンコーディングデータにトランスコーディングする段階と、出力エンコーディングデータを出力する段階と、を含む。
[ステートメント100]
本発明の実施形態は、ステートメント99による物品を含み、辞書マップを使用して入力エンコーディングデータを出力エンコーディングデータにトランスコーディングする段階は、トランスコーダで、入力エンコーディングデータから第1のデータチャンクを受信する段階と、第1データチャンクが属性によってカバーされることを決定する段階と、辞書マップを使用してホストコンピュータの関心対象である第1のデータチャンクに少なくとも部分的に基づいて、第1のデータチャンクから第1のエンコーディングデータを生成する段階と、トランスコーダで、ストレージ装置から入力エンコーディングデータからの第2のデータチャンクを受信する段階と、第2のデータチャンクが属性によってカバーされないことを決定する段階と、辞書マップを使用してホストコンピュータの関心対象ではない第2のデータチャンクに少なくとも部分的に基づいて、第2のデータチャンクから第2エンコーディングデータを生成する段階と、第1のエンコーディングデータ及び第2のエンコーディングデータを出力する段階と、を含む。
[ステートメント101]
本発明の実施形態は、ステートメント100による物品を含み、トランスコーダで、入力エンコーディングデータから第1のデータチャンクを受信する段階は、カラムチャンクプロセッサで、インストレージコンピュータ(ISC)コントローラからブロック識別子(ID)のリストを受信する段階と、カラムチャンクプロセッサにより、ブロック識別子(ID)のリストからブロック識別子(ID)を含むカラムチャンクにアクセスする段階と、カラムチャンクプロセッサからカラムチャンクからの入力エンコーディングデータを検索する段階と、カラムチャンクプロセッサからの入力エンコーディングデータをトランスコーダに伝送する段階と、を含む。
[ステートメント102]
本発明の実施形態は、ステートメント100による物品を含み、マシンによって命令語が実行される方法は、属性に少なくとも部分的に基づいて、入力エンコーディングデータに適用するためのトランスコーディングのルールを生成する段階を含む。
[ステートメント103]
本発明の実施形態は、ステートメント99による物品を含み、辞書マップを使用して入力エンコーディングデータを出力エンコーディングデータにトランスコーディングする段階は、入力エンコーディングデータのデコーディングなしに、辞書マップを使用して入力エンコーディングデータを出力エンコーディングデータにトランスコーディングする段階を含む。
[ステートメント104]
本発明の実施形態は、ステートメント99による物品を含み、入力エンコーディングデータは、第1のエンコーディング方式を使用し、出力エンコーディングデータは、第2のエンコーディング方式を使用し、そして第2のエンコーディング方式は、第1のエンコーディング方式と異なる。
[ステートメント105]
本発明の実施形態は、ステートメント99による物品を含み、出力エンコーディングデータを出力する段階は、出力エンコーディングデータをISCコントローラに出力する段階を含む。
[ステートメント106]
本発明の実施形態は、ステートメント105による物品を含み、出力エンコーディングデータをISCコントローラに出力する段階は、出力辞書をISCコントローラに出力する段階を更に含む。
[ステートメント107]
本発明の実施形態は、ステートメント106による物品を含み、マシンによって命令語が実行される方法は、ISCコントローラからホストコンピュータに出力エンコーディングデータ及び出力辞書を伝達する段階を含む。
[ステートメント108]
本発明の実施形態は、ステートメント106による物品を含み、マシンによって命令語が実行される方法は、アクセラレーションされたデータを生成するために、ISCコントローラによって出力エンコーディングデータに対してアクセラレーション機能を遂行する段階を更に含む。
[ステートメント109]
本発明の実施形態は、ステートメント108による物品を含み、マシンによって命令語が実行される方法は、ISCコントローラからホストコンピュータにアクセラレーションされたデータを出力する段階を更に含む。
[ステートメント110]
本発明の実施形態は、ステートメント95による物品を含み、マシンによって命令語が実行される方法は、出力辞書を出力する段階を更に含む。
[ステートメント111]
本発明の実施形態は、ステートメント95による物品を含み、入力エンコーディングデータに適用するために属性を受信する段階は、ISCコントローラから入力エンコーディングデータに適用する属性を受信する段階を含む。
[ステートメント112]
本発明の実施形態は、ステートメント111による物品を含み、マシンによって命令語が実行される方法は、ISCコントローラから入力辞書を受信する段階を更に含む。
[ステートメント113]
本発明の実施形態は、ステートメント95による物品を含み、マシンによって命令語が実行される方法は、入力辞書に属性によってカバーされない項目がないと決定する段階と、入力エンコーディングデータを出力エンコーディングデータにトランスコーディングせずに入力エンコーディングデータを出力する段階と、含む。
110 プロセッサ
115 メモリ
120 ストレージ装置
125 メモリコントローラ
130 装置ドライバー
205 クロック
210 ネットワークコネクタ
215 バス
220 ユーザーインターフェース
225 入出力エンジン
305 ストレージ
315 インストレージプロセッサ(in−storage processor)
405 圧縮データ
410 圧縮解除器
415 圧縮解除データ
420 トランスコーダ
425 トランスコーディングされたデータ
430 デコーダ
435 フィルタリングされたプレーンデータ(plain data)
505 ホストインターフェース層(HIL)
510 SSD(ストレージ装置の)コントローラ
515 ストレージ
515−1〜515−8 フラッシュメモリチップ(フラッシュメモリストレージ)
520−1〜520−4 チャネル
525 変換レイヤ(フラッシュ変換レイヤ(FTL))
530、915 ファイルブロックマップ
605 サーキュラーバッファ(Circular buffer)
610 ストリームスプリッタ
615 インデックスマッパー
620 現在のエンコーディングバッファ
625 前のエンコーディングバッファ
630 トランスコーディングルール
635 ルール評価器
705−1〜705−3 第1〜第3のチャンク
805 入力辞書
810 出力辞書
905 ファイルメタデータ
910−1〜910−3 第1〜第3のカラムチャンク
920、925 辞書ページ
930−1〜930−3 データページ1〜m
1005 インストレージコンピュータコントローラ
1010 カラムチャンクプロセッサ
1105 入力バッファ
1110 出力バッファ
1115 属性評価器
1120 ドントケア(don’t care)評価器
Claims (20)
- 入力エンコーディングデータを格納するバッファと、
入力辞書から出力辞書にマッピングするインデックスマッパーと、
前記入力エンコーディングデータ、前記入力辞書、及び前記入力辞書から前記出力辞書へのマップに応答する修正された現在のエンコーディングデータを格納する現在のエンコーディングバッファと、
前の入力エンコーディングデータ、前記入力辞書、及び前記入力辞書から前記出力辞書へのマップに応答する修正された前のエンコーディングデータを格納する前のエンコーディングバッファと、
前記現在のエンコーディングバッファに格納された前記修正された現在のエンコーディングデータ、前記前のエンコーディングバッファに格納された前記修正された前のエンコーディングデータ、及びトランスコーディングのルールに応答する出力ストリームを生成するルール評価器と、を備えることを特徴とするトランスコーダ。 - 前記ルール評価器は、プロセッサ、FPGA(Field Programmable Gate Array)、ASIC(Application−Specific Integrated Circuit)、GPU(Graphics Processing Unit)、及び汎用GPU(GPGPU)の中の少なくとも1つを含むことを特徴とする請求項1に記載のトランスコーダ。
- 前記ルール評価器は、前記トランスコーディングのルールを使用して前記入力エンコーディングデータから前記修正された現在のエンコーディングデータを生成するように動作することを特徴とする請求項1に記載のトランスコーダ。
- 前記ルール評価器は、前記トランスコーディングのルールを使用して前記修正された現在のエンコーディングデータを含むように前記修正された前のエンコーディングデータを修正するように動作することを特徴とする請求項3に記載のトランスコーダ。
- 前記ルール評価器は、前記入力エンコーディングデータ及び前記修正された前のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更するように動作することを特徴とする請求項4に記載のトランスコーダ。
- 第1のエンコーディング方式を使用して前記入力エンコーディングデータで第1のチャンクを識別し、第2のエンコーディング方式を使用して前記入力エンコーディングデータで第2のチャンクを識別するストリームスプリッタを更に含むことを特徴とする請求項1に記載のトランスコーダ。
- 前記インデックスマッパーは、前記入力辞書の少なくとも1つの項目を前記出力辞書の「ドントケア(don’t care)」の値にマッピングするように動作することを特徴とする請求項1に記載のトランスコーダ。
- 前記トランスコーダは、前記入力エンコーディングデータのデコーディングなしに前記入力エンコーディングデータから出力ストリームを生成するように動作することを特徴とする請求項1に記載のトランスコーダ。
- ストレージ装置内のデータに対するトランスコーダの動作方法であって、
トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階と、
前記第1のデータチャンクがホストコンピュータの関心対象であることを決定する段階と、
前記ホストコンピュータの関心対象である前記第1のデータチャンクに少なくとも部分的に基づいて、前記第1のデータチャンクから第1のエンコーディングデータを生成する段階と、
前記トランスコーダで、前記ストレージ装置から前記入力エンコーディングデータからの第2のデータチャンクを受信する段階と、
前記第2のデータチャンクが前記ホストコンピュータの関心対象ではないことを決定する段階と、
前記ホストコンピュータの関心対象ではない前記第2のデータチャンクに少なくとも部分的に基づいて、前記第2のデータチャンクから第2のエンコーディングデータを生成する段階と、
前記第1のエンコーディングデータ及び前記第2のエンコーディングデータを前記ホストコンピュータに出力する段階と、を有することを特徴とする方法。 - 前記ホストコンピュータの関心対象ではない前記第2のデータチャンクに少なくとも部分的に基づいて、前記第2のデータチャンクから第2のエンコーディングデータを生成する段階は、前記第1のエンコーディングデータ内の値を「ドントケア(don’t care)」の値に変更する段階を含むことを特徴とする請求項9に記載の方法。
- 前記ホストコンピュータの関心対象ではない前記第2のデータチャンクに少なくとも部分的に基づいて、前記第2のデータチャンクから第2のエンコーディングデータを生成する段階は、前記第2のエンコーディングデータを「ドントケア」の値を含む第3のエンコーディングデータに結合する段階を更に含むことを特徴とする請求項10に記載の方法。
- 前記ホストコンピュータの関心対象ではない前記第2のデータチャンクに少なくとも部分的に基づいて、前記第2のデータチャンクから第2のエンコーディングデータを生成する段階は、
少なくとも第1のエンコーディング方式を変更する段階と、
前記第2のデータチャンク及び前記第3のエンコーディングデータのいずれかを第2のエンコーディング方式に変換する段階と、を含むことを特徴とする請求項11に記載の方法。 - 前記ホストコンピュータの関心対象である前記第1のデータチャンクに少なくとも部分的に基づいて、前記第1のデータチャンクから第1のエンコーディングデータを生成する段階は、前記第1のエンコーディングデータを第3のエンコーディングデータに結合する段階を含むことを特徴とする請求項9に記載の方法。
- 前記ホストコンピュータの関心対象である前記第1のデータチャンクに少なくとも部分的に基づいて、前記第1のデータチャンクから第1のエンコーディングデータを生成する段階は、前記第1のデータチャンク及び前記第3のエンコーディングデータの中の少なくとも1つの第1のエンコーディング方式を第2のエンコーディング方式に変更する段階を更に含むことを特徴とする請求項13に記載の方法。
- 前記ホストコンピュータの関心対象である前記第1のデータチャンクに少なくとも部分的に基づいて、前記第1のデータチャンクから第1のエンコーディングデータを生成する段階は、トランスコーディングルールに少なくとも部分的に基づいて、前記第1のデータチャンクから前記第1のエンコーディングデータを生成する段階を含み、
前記ホストコンピュータの関心対象ではない前記第2のデータチャンクに少なくとも部分的に基づいて、前記第2のデータチャンクから第2のエンコーディングデータを生成する段階は、トランスコーディングルールに少なくとも部分的に基づいて、前記第2のデータチャンクから前記第2のエンコーディングデータを生成する段階を含むことを特徴とする請求項9に記載の方法。 - トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階は、
ストリームスプリッタで前記入力エンコーディングデータを受信する段階と、
前記ストリームスプリッタによって、前記入力エンコーディングデータで、第1のエンコーディング方式を使用してエンコーディングされた前記第1のデータチャンク及び第2のエンコーディング方式を使用してエンコーディングされた前記第2のデータチャンクを識別する段階と、
前記ストリームスプリッタから提供された前記入力エンコーディングデータから前記第1のデータチャンクを受信する段階と、を含むことを特徴とする請求項9に記載の方法。 - 前記ストレージ装置から入力辞書を受信する段階と、
前記ホストコンピュータの関心データ及び前記ホストコンピュータの無関心データに少なくとも部分的に基づいて、前記入力辞書を出力辞書にマッピングする段階と、
前記出力辞書を前記ホストコンピュータに出力する段階と、を更に含むことを特徴とする請求項9に記載の方法。 - 前記トランスコーダは、前記入力エンコーディングデータのデコーディングなしに前記入力エンコーディングデータから前記第1のエンコーディングデータ及び前記第2のエンコーディングデータを生成するように動作することを特徴とする請求項9に記載の方法。
- 命令語を格納したコンピュータ読み取り可能な非一時的記録媒体を含む物品であって、
マシンによって前記命令語が実行される方法は、
トランスコーダで、ストレージ装置から入力エンコーディングデータからの第1のデータチャンクを受信する段階と、
前記第1のデータチャンクがホストコンピュータの関心対象であることを決定する段階と、
前記ホストコンピュータの関心対象である前記第1のデータチャンクに少なくとも部分的に基づいて、前記第1のデータチャンクから第1のエンコーディングデータを生成する段階と、
前記トランスコーダで、前記ストレージ装置から前記入力エンコーディングデータからの第2のデータチャンクを受信する段階と、
前記第2のデータチャンクが前記ホストコンピュータの関心対象ではないことを決定する段階と、
前記ホストコンピュータの関心対象ではない前記第2のデータチャンクに少なくとも部分的に基づいて、前記第2のデータチャンクから第2のエンコーディングデータを生成する段階と、
前記第1のエンコーディングデータ及び前記第2のエンコーディングデータを前記ホストコンピュータに出力する段階と、を有することを特徴とする物品。 - 前記ホストコンピュータの関心対象ではない前記第2のデータチャンクに少なくとも部分的に基づいて、前記第2のデータチャンクから第2のエンコーディングデータを生成する段階は、前記第1のエンコーディングデータ内の値を「ドントケア(don’t care)」の値に変更する段階を含むことを特徴とする請求項19に記載の物品。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962834900P | 2019-04-16 | 2019-04-16 | |
US62/834,900 | 2019-04-16 | ||
US201962945877P | 2019-12-09 | 2019-12-09 | |
US201962945883P | 2019-12-09 | 2019-12-09 | |
US62/945,877 | 2019-12-09 | ||
US62/945,883 | 2019-12-09 | ||
US16/820,665 | 2020-03-16 | ||
US16/820,665 US11139827B2 (en) | 2019-03-15 | 2020-03-16 | Conditional transcoding for encoded data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020178347A true JP2020178347A (ja) | 2020-10-29 |
JP7381393B2 JP7381393B2 (ja) | 2023-11-15 |
Family
ID=72913839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020073662A Active JP7381393B2 (ja) | 2019-04-16 | 2020-04-16 | エンコーディングされたデータに対する条件付きトランスコーダ及びトランスコーディング方法 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7381393B2 (ja) |
KR (2) | KR20200121760A (ja) |
CN (1) | CN111832257B (ja) |
TW (1) | TWI825305B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115719059B (zh) * | 2022-11-29 | 2023-08-08 | 北京中科智加科技有限公司 | 一种莫尔斯分组纠错方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007096800A (ja) * | 2005-09-29 | 2007-04-12 | Toshiba Corp | 動画像データの再圧縮符号化方法、装置及びプログラム |
JP2017028372A (ja) * | 2015-07-16 | 2017-02-02 | 沖電気工業株式会社 | 符号化方式変換装置、方法及びプログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549666B1 (en) * | 1994-09-21 | 2003-04-15 | Ricoh Company, Ltd | Reversible embedded wavelet system implementation |
CA2156889C (en) * | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
US5861827A (en) * | 1996-07-24 | 1999-01-19 | Unisys Corporation | Data compression and decompression system with immediate dictionary updating interleaved with string search |
JP4328358B2 (ja) * | 2004-12-07 | 2009-09-09 | 日本電信電話株式会社 | 情報圧縮符号化装置、その復号化装置、これらの方法、およびこれらのプログラムとその記録媒体 |
US7102552B1 (en) * | 2005-06-07 | 2006-09-05 | Windspring, Inc. | Data compression with edit-in-place capability for compressed data |
US7646317B2 (en) * | 2007-04-30 | 2010-01-12 | Jen-Te Chen | Decoding method utilizing temporally ambiguous code and apparatus using the same |
US8090027B2 (en) * | 2007-08-29 | 2012-01-03 | Red Hat, Inc. | Data compression using an arbitrary-sized dictionary |
US7889102B2 (en) * | 2009-02-26 | 2011-02-15 | Red Hat, Inc. | LZSS with multiple dictionaries and windows |
US8159374B2 (en) * | 2009-11-30 | 2012-04-17 | Red Hat, Inc. | Unicode-compatible dictionary compression |
US9385751B2 (en) * | 2014-10-07 | 2016-07-05 | Protein Metrics Inc. | Enhanced data compression for sparse multidimensional ordered series data |
EP3119003A3 (en) * | 2015-07-13 | 2017-03-01 | Fujitsu Limited | Encoding computer program, encoding method, encoding apparatus, decoding computer program, decoding method, and decoding apparatus |
CN108197087B (zh) * | 2018-01-18 | 2021-11-16 | 奇安信科技集团股份有限公司 | 字符编码识别方法及装置 |
-
2020
- 2020-04-15 TW TW109112659A patent/TWI825305B/zh active
- 2020-04-16 JP JP2020073662A patent/JP7381393B2/ja active Active
- 2020-04-16 KR KR1020200046249A patent/KR20200121760A/ko not_active Application Discontinuation
- 2020-04-16 KR KR1020200046258A patent/KR20200121761A/ko unknown
- 2020-04-16 CN CN202010298627.5A patent/CN111832257B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007096800A (ja) * | 2005-09-29 | 2007-04-12 | Toshiba Corp | 動画像データの再圧縮符号化方法、装置及びプログラム |
JP2017028372A (ja) * | 2015-07-16 | 2017-02-02 | 沖電気工業株式会社 | 符号化方式変換装置、方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
TW202107856A (zh) | 2021-02-16 |
KR20200121760A (ko) | 2020-10-26 |
KR20200121761A (ko) | 2020-10-26 |
TWI825305B (zh) | 2023-12-11 |
CN111832257A (zh) | 2020-10-27 |
CN111832257B (zh) | 2023-02-28 |
JP7381393B2 (ja) | 2023-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11838035B2 (en) | Using predicates in conditional transcoder for column store | |
US9503123B1 (en) | Random access to compressed data using bitwise indices | |
US8566477B2 (en) | Real-time multi-block lossless recompression | |
US10187081B1 (en) | Dictionary preload for data compression | |
US8456332B2 (en) | Systems and methods for compression of logical data objects for storage | |
JP6425709B2 (ja) | 復元中に予備拡張辞書を利用するデータ復元 | |
CN107682016B (zh) | 一种数据压缩方法、数据解压方法及相关系统 | |
US9479194B2 (en) | Data compression apparatus and data decompression apparatus | |
JP3397431B2 (ja) | データ圧縮方法および装置ならびにデータ復元方法および装置 | |
JP7381393B2 (ja) | エンコーディングされたデータに対する条件付きトランスコーダ及びトランスコーディング方法 | |
US20150248432A1 (en) | Method and system | |
CN113312325A (zh) | 轨迹数据传输方法、装置、设备及存储介质 | |
Wang et al. | A simplified variant of tabled asymmetric numeral systems with a smaller look-up table | |
JP4673524B2 (ja) | ディジタルデータをフィルタリングする方法 | |
KR20240078422A (ko) | 인코딩된 데이터에 대한 조건부 트랜스코딩 | |
GB2608030A (en) | Power-aware transmission of quantum control signals | |
Rani et al. | A survey on lossless text data compression techniques | |
JP7305609B2 (ja) | 受信したデータを処理する装置 | |
US20180145701A1 (en) | Sonic Boom: System For Reducing The Digital Footprint Of Data Streams Through Lossless Scalable Binary Substitution | |
US11914443B2 (en) | Power-aware transmission of quantum control signals | |
Kella et al. | Apcfs: Autonomous and parallel compressed file system | |
Mohamed | Wireless Communication Systems: Compression and Decompression Algorithms | |
JPH05244015A (ja) | データの圧縮方式 | |
AU2022292146A1 (en) | Power-aware transmission of quantum control signals | |
Mubi et al. | Performance Evaluation of Forward Difference Scheme on Huffman Algorithm to Compress and Decompress Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230228 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230816 |
|
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: 20231003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7381393 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |