JP7013732B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP7013732B2
JP7013732B2 JP2017166651A JP2017166651A JP7013732B2 JP 7013732 B2 JP7013732 B2 JP 7013732B2 JP 2017166651 A JP2017166651 A JP 2017166651A JP 2017166651 A JP2017166651 A JP 2017166651A JP 7013732 B2 JP7013732 B2 JP 7013732B2
Authority
JP
Japan
Prior art keywords
clustering
blocks
data
similarity
information processing
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
Application number
JP2017166651A
Other languages
English (en)
Other versions
JP2019046023A (ja
Inventor
弘貴 大辻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017166651A priority Critical patent/JP7013732B2/ja
Priority to US16/046,242 priority patent/US10824599B2/en
Publication of JP2019046023A publication Critical patent/JP2019046023A/ja
Application granted granted Critical
Publication of JP7013732B2 publication Critical patent/JP7013732B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ圧縮技術に関する。
ブロックストレージとは、ブロックと呼ばれる単位でデータへのアクセスが行われるストレージであり、ブロックストレージへ書き込みが行われるデータは、ブロックストレージの容量の節約のために圧縮されることがある。
図1は、ブロックの圧縮を示す図である。図1においては、4つのブロックが個別に圧縮されている。通常、辞書式圧縮のアルゴリズムは複数回出現するデータ列が存在することを前提としている。従って、図1に示したように4つのブロックを個別に圧縮するよりも、4つのブロックを一括して圧縮した方が圧縮率が向上する。例えば図1において、たとえブロック1とブロック2に共通のデータ列が含まれていたとしても、そのデータ列についてブロック1とブロック2との間での圧縮は行われない。
一括圧縮の対象となるブロックを探す場合には、ブロック間の関係性を調べる処理を実行することになるが、データのサイズによってはこの処理に長い時間がかかるという問題がある。特許文献に開示された従来技術は、このような問題の解決に適した技術ではない。
特開2013-37519号公報 特開2012-113657号公報 特開2011-227758号公報
本発明の目的は、1つの側面では、ブロックストレージに書き込まれるデータの圧縮において、一括圧縮の対象となるブロックを決定する処理の演算量を削減するための技術を提供することである。
一態様に係る情報処理装置は、複数のブロックを含むデータを分割する分割部と、データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行する第1実行部と、各部分に対する第1のクラスタリングの結果に基づき、複数のブロックのうち一括して圧縮されるブロックを決定する決定部とを有する。
1つの側面では、ブロックストレージに書き込まれるデータの圧縮において、一括圧縮の対象となるブロックを決定する処理の演算量を削減できるようになる。
図1は、ブロックの圧縮を示す図である。 図2は、類似度に基づくクラスタリングを示す図である。 図3は、多段階のクラスタリングを示す図である。 図4は、本実施の形態のシステムの概要を示す図である。 図5は、ストレージシステムのハードウエア構成図である。 図6は、ストレージシステムの機能ブロック図である。 図7は、ホスト装置のハードウエア構成図である。 図8は、ストレージシステムにおいて実行される処理の処理フローを示す図である。 図9は、パラメータ設定処理の処理フローを示す図である。 図10は、クラスタリング方法について説明するための図である。 図11は、第1の実施の形態の分割処理の処理フローを示す図である。 図12は、ストレージシステムにおいて実行される処理の処理フローを示す図である。 図13は、第1の実施の形態のクラスタリング判定処理の処理フローを示す図である。 図14は、圧縮後のデータを示す図である。 図15は、本実施の形態の圧縮を示す図である。 図16は、第2の実施の形態の分割処理の処理フローを示す図である。 図17は、第3の実施の形態の分割処理の処理フローを示す図である。 図18は、第4の実施の形態のクラスタリング判定処理の処理フローを示す図である。
本実施の形態においては、類似するブロックを一括して圧縮することで圧縮率を向上させる。図2は、類似度に基づくクラスタリングを示す図である。図2においては、類似するブロック間の距離が短くなるようにブロックが配置される空間において、4つのクラスタが生成されている。同じクラスタに含まれるブロックには共通のデータ列が多く含まれることが期待されるため、各ブロックを個別に圧縮するよりも圧縮率が向上すると考えられる。但し、データに含まれるブロック間の類似度を単純に算出しようとすると、上で述べたように、長い時間がかかることがある。
例えば、ブロックサイズが8KB(KiloByte)である1GB(GigaByte)のデータを圧縮するケースが有るとする。この場合、データは1024*1024/8=131072個のブロックを含む。ブロック間の類似度を2つずつ算出する場合には、1310722/2≒0.85*1010回の演算が必要である。1回の演算にかかる時間が0.1μ秒だと仮定すると、演算の完了までに850秒かかる。1GBのデータの圧縮時に類似度の計算だけでこのような時間がかかることは、現実的には許容されない。
そこで本実施の形態においては、類似度に基づくクラスタリングを多段階で実行することで演算量を削減する。図3は、多段階のクラスタリングを示す図である。書き込まれるデータは、部分データに分割され、部分データにおいて類似度が算出され且つ類似度に基づく第1段階のクラスタリングが実行される。このようなクラスタリングを実行すると、データ全体について類似度を算出してクラスタリングを実行するよりも演算量が削減される。
そして、第1段階のクラスタリングによって生成されたクラスタに対して、さらに類似度に基づく第2段階のクラスタリングが実行される。同様に、第2段階のクラスタリングによって生成されたクラスタに対して、さらに類似度に基づく第3段階のクラスタリングが実行される。このようにして所定段階のクラスタリングが実行されるまで或いはクラスタリングができなくなるまでクラスタリングが繰り返し実行される。
このような方法であれば、異なる部分データに含まれるブロック間の類似度が考慮されるので、圧縮率の低下を抑制しつつ演算量を削減することができる。
[実施の形態1]
図4は、本実施の形態のシステムの概要を示す図である。ストレージシステム1は、例えばSAN(Storage Area Network)であるネットワーク5を介して利用されるブロックストレージである。ホスト装置3a乃至3cは例えばサーバ装置であり、ホスト装置3aにおいては1又は複数のVM(Virtual Machine)30aが実行され、ホスト装置3bにおいては1又は複数のVM30bが実行され、ホスト装置3cにおいては1又は複数のVM30cが実行される。VM30a乃至30cは、iSCSI(internet Small Computer System Interface)又はFC(Fibre Channel)等のプロトコルに基づきストレージシステム1におけるデータに対するアクセスを行う。図4においてはホスト装置の数は3であるが、数に限定は無い。
図5は、ストレージシステム1のハードウエア構成図である。ストレージシステム1は、CPU(Central Processing Unit)10と、例えばDRAM(Dynamic Random Access Memory)であるメモリ11と、フラッシュメモリ等の不揮発性記憶媒体を含むSSD(Solid State Drive)12と、例えばFCカードであるNIC(Network Interface Card)13とを有する。CPU10、メモリ11、SSD12及びNIC13は、バス14を介して接続される。SSD12には、VM30a乃至30cからアクセスされるデータが圧縮されて保存される。メモリ11は、CPU10により実行されるプログラムおよびプログラムの実行に使用されるデータ等が格納される領域と、SSD12に書き込まれるデータが一時的に格納されるキャッシュ領域102とを含む。なお、キャッシュ領域102用に専用のキャッシュメモリが用意されてもよい。また、ストレージシステム1がその他のハードウエアを有してもよい。
図6は、ストレージシステム1の機能ブロック図である。ストレージシステム1は、重複排除部101と、キャッシュ領域102と、圧縮部103と、データ保存領域104とを有する。圧縮部103は、分割部1031と、パラメータ算出部1033と、第1クラスタリング部1035と、第2クラスタリング部1037と、書き込み部1039とを含む。
重複排除部101および圧縮部103は、例えば、図5におけるメモリ11にロードされたプログラムがCPU10により実行されることで実現される。キャッシュ領域102は、メモリ11を用いて実現される。データ保存領域104は、1又は複数のSSD12を用いて実現される。
重複排除部101は、VM30a乃至30cにより書き込まれるデータから重複を排除する処理を実行し、重複を排除した後のデータをキャッシュ領域102に格納する。分割部1031は、キャッシュ領域102に格納されているデータを分割する処理を実行する。パラメータ算出部1033は、第1クラスタリング部1035の処理に使用されるパラメータを算出する処理を実行する。第1クラスタリング部1035は、分割部1031によって生成された部分データと、パラメータ算出部1033によって算出されたパラメータとを用いて処理を実行し、処理結果を第2クラスタリング部1037に出力する。第2クラスタリング部1037は、第1クラスタリング部1035から受け取った処理結果に基づき処理を実行し、処理結果を書き込み部1039に出力する。書き込み部1039は、第2クラスタリング部1037から受け取った処理結果に従ってデータを圧縮し、圧縮されたデータをデータ保存領域104に格納する。
なお、VM30a乃至30cからのアクセス要求には論理アドレス(LBA:Logical Block Address)が含まれる。SSD12上には論理ボリュームが生成されており、各論理ボリュームは独立した論理アドレス空間を有する。SSD12自体は物理アドレスを有するが、ストレージシステム1には論理アドレスと物理アドレスとの対応関係を示す変換テーブルが有り、変換テーブルによって論理アドレスは物理アドレスに変換される。
図7は、ホスト装置3aのハードウエア構成図である。ホスト装置3aは、CPU35と、例えばDRAMであるメモリ31と、HDD(Hard Disk Drive)32と、例えばFCカードであるNIC33とを有する。CPU35、メモリ31、HDD32及びNIC33は、バス34を介して接続される。HDD32にはハイパバイザのプログラムが格納され、当該プログラムがメモリ31にロードされてCPU35により実行されることでハイパバイザが実現される。ハイパバイザ上では、VM30aが実行される。なお、ホスト装置3b及び3cのハードウエア構成図はホスト装置3aのハードウエア構成図と同じである。
次に、ストレージシステム1において実行される処理をより詳細に説明する。
図8は、ストレージシステム1において実行される処理の処理フローを示す図である。
まず、ストレージシステム1における重複排除部101は、データの書き込み要求を受け付ける。そして、重複排除部101は、SSD12に書き込まれるデータ(以下、書き込みデータと呼ぶ)から重複を排除する処理を実行し、処理された書き込みデータをキャッシュ領域102に書き込む(図8:ステップS1)。
分割部1031は、キャッシュ領域102上の書き込みデータをデータ保存領域104に書き込むか判定する(ステップS3)。ステップS3においては、例えば、キャッシュ領域102上の書き込みデータのサイズが所定サイズ以上であるか否かに基づき判定が行われる。
キャッシュ領域102上の書き込みデータをデータ保存領域104に書き込まない場合(ステップS3:Noルート)、処理はステップS1に戻る。キャッシュ領域102上の書き込みデータをデータ保存領域104に書き込む場合(ステップS3:Yesルート)、分割部1031は、クラスタリングのパラメータが既に設定されたか判定する(ステップS5)。パラメータは、第1段階のクラスタリングにおいて使用されるパラメータである。以下、このパラメータのことをパラメータSと呼ぶ。
クラスタリングのパラメータが既に設定された場合(ステップS5:Yesルート)、処理はステップS9に移行する。一方、クラスタリングのパラメータが未だ設定されていない場合(ステップS5:Noルート)、分割部1031は、パラメータ算出部1033を呼び出す。そして、パラメータ算出部1033はパラメータ設定処理を実行する(ステップS7)。
図9は、パラメータ設定処理の処理フローを示す図である。
パラメータ算出部1033は、サンプルデータを読み出す(図9:ステップS41)。サンプルデータは、例えば、SSD12に格納されているデータであってもよいし、予めサンプルデータとして別の記憶装置に用意されたデータであってもよい。例えばセットアップ時にパラメータ設定処理を実行する場合にはサンプルデータが無い場合もあるが、その場合にはステップS43においてパラメータSに初期値を設定してパラメータ設定処理を終了してもよい。なお、サンプルデータのサイズは、部分データのサイズと同程度であることが好ましい。
パラメータ算出部1033は、パラメータSを初期値に設定する(ステップS43)。
パラメータ算出部1033は、パラメータSを基準として、ステップS41において読み出されたサンプルデータに対してクラスタリングを実行する(ステップS45)。ステップS45においては、後述の第1段階のクラスタリングと同様のクラスタリングが実行される。
具体的には、まず、サンプルデータに含まれる各ブロックのハッシュ値が、例えば局所性鋭敏型ハッシュ(Locality Sensitive Hashing)により算出される。局所性鋭敏型ハッシュが利用される理由は、SHA(Secure Hash Algorithm)-1等のハッシュアルゴリズムと異なり、類似するブロックの場合ハッシュ値が類似するからである。そして、ハッシュ値間の類似度が算出される。例えば、ハッシュ値間の類似度はハッシュ値間の距離の逆数として算出される。但し、距離をそのまま非類似度として使用してもよい。そして、類似度がパラメータSより高いペアを対象としてクラスタリングを実行する。
図10は、クラスタリング方法について説明するための図である。図10には、ブロックB1乃至B8の各々とブロックB1乃至B8の各々との間の類似度が行列形式で表されている。1つのセルが1つの類似度を表す。但し、同一のブロック間の類似度の算出は省略してもよい。また、Bm(mは1≦m≦8を満たす自然数)とBn(nは1≦n≦8を満たす自然数であってn≠m)との間の類似度と、BnとBmとの間の類似度とは同じであるから、いずれかの算出が省略されてもよい。そして、類似度が高いペアほど左側に位置するように行毎にソートが実行され、次に、左端の列の類似度が高いほど上側に位置するように行を入れ替えるソートが実行される。すると、行列の左上のセルほど類似度が高くなるので、行列の左上からセルを取り出し、類似度がパラメータS以上であるハッシュ値のブロックが同じクラスタに属するように1又は複数のクラスタが生成される。但し、1つのクラスタが複数のクラスタに属さないようにクラスタリングされる。
ここで述べたようなクラスタ生成方法は一例であって、その他の方法を使用してもよい。例えば、類似度に基づくK-means法を実行してもよい。
なお、類似度がパラメータSより高いペアを対象としてクラスタリングを実行する理由は、あまり類似していない複数のブロックを一括で圧縮しても圧縮率が向上されない可能性があるからである。
パラメータ算出部1033は、ステップS45におけるクラスタリングによって生成されたクラスタに含まれるブロック数の平均値を算出する(ステップS47)。
パラメータ算出部1033は、ステップS47において算出された平均値が所定値Mより大きいか判定する(ステップS49)。所定値Mはクラスタ内に含まれるブロックの最大数を表し、例えば、(ブロックサイズ)*M≦(読み込みレイテンシの性能要件)*(SSD12の読込速度)を満たす最大のMとして算出される。読み込みレイテンシの性能要件とは、ユーザが許容する最大の読み込みレイテンシであり、例えば200ミリ秒である。
ステップS47において算出された平均値が所定値Mより大きくない場合(ステップS49:Noルート)、パラメータ算出部1033は、パラメータSから所定値を引く(ステップS51)。そして処理はステップS45に戻る。一方、ステップS47において算出された平均値が所定値Mより大きい場合(ステップS49:Yesルート)、処理は呼び出し元に戻る。
以上のような処理を実行すれば、クラスタに含まれる複数のブロックに対する一括圧縮の圧縮率が低下することを抑制できるようになる。
図8の説明に戻り、分割部1031は、分割処理を実行する(ステップS9)。
図11は、第1の実施の形態の分割処理の処理フローを示す図である。
分割部1031は、書き込みデータの分割数を決定する(図11:ステップS61)。分割数とは、書き込みデータの分割によって生成される部分の数である。本実施の形態においては、書き込みデータの分割によって生成されるデータは部分データと呼ばれる。
例えば、ストレージシステム1として目標のスループットTが定められているとする。2つのブロックのハッシュ値の算出にかかる時間をcとし、書き込みデータのサイズをDとし、ブロックサイズをBとし、分割数をNとすると、第1段階のクラスタリングについての類似度算出にかかる時間はcD2/2NB2である。従って、Nが満たすべき条件は2NB2/cD2≧Tであるから、N≧cTD2/2B2を満たすNを算出すればよい。
分割部1031は、分割数から部分データのサイズを算出する(ステップS63)。例えば、書き込みデータのサイズを分割数で割ることで算出される。
分割部1031は、ステップS63において算出されたサイズに基づき、書き込みデータを部分データに分割する(ステップS65)。そして処理は呼び出し元に戻る。
以上のような処理を実行すれば、実際のスループットが目標のスループットTを下回ることを抑制できるようになる。但し、上記処理においては第2段階以降のクラスタリングが考慮されていないため、必ずしも実際のスループットが目標のスループットTより高くなることが担保されているわけではない。
図8の説明に戻り、第1クラスタリング部1035は、キャッシュ領域102上の書き込みデータに含まれる各ブロックのハッシュ値を算出する(ステップS11)。ステップS9においては、例えば局所性鋭敏型ハッシュによりハッシュ値が算出される。
第1クラスタリング部1035は、ステップS65において生成された部分データに含まれるブロックに対する第1段階のクラスタリングを実行する(ステップS13)。処理は端子Aを介して図12のステップS15に移行する。
例えばステップS65において部分データPD1乃至PD3が生成された場合、部分データPD1内のブロックについて算出されたハッシュ値間の類似度に基づきクラスタリングが実行され、部分データPD2内のブロックについて算出されたハッシュ値間の類似度に基づきクラスタリングが実行され、部分データPD3内のブロックについて算出されたハッシュ値間の類似度に基づきクラスタリングが実行される。これにより、書き込みデータ全体に対して複数のクラスタが生成される。
図12の説明に移行し、第2クラスタリング部1037は、段階を識別するための変数nをn=1と設定する(図12:ステップS15)。
第2クラスタリング部1037は、第n段階は最終段階であるか判定する(ステップS17)。
第n段階は最終段階である場合(ステップS17:Yesルート)、処理はステップS29に移行する。
第n段階は最終段階ではない場合(ステップS17:Noルート)、第2クラスタリング部1037は、クラスタリング判定処理を実行する(ステップS19)。
図13は、第1の実施の形態のクラスタリング判定処理の処理フローを示す図である。
第2クラスタリング部1037は、前回のクラスタリング(つまり、ステップS13におけるクラスタリング又はステップS25におけるクラスタリング)により生成されたクラスタのうち未処理のクラスタを1つ特定する(図13:ステップS71)。
第2クラスタリング部1037は、ステップS71において特定されたクラスタ内の各ブロックの書き込みアクセスについてのタイムスタンプをキャッシュ領域102から抽出し、抽出されたタイムスタンプをソートする(ステップS73)。
第2クラスタリング部1037は、書き込みアクセスの間隔についての分散を算出する(ステップS75)。書き込みアクセスの間隔についての分散が小さいことは、アクセスの時間的局所性が高いことを意味する。
第2クラスタリング部1037は、ステップS75において算出された分散が、許容最小間隔以下であるか否かに基づき、ステップS71において特定されたクラスタが第(n+1)段階のクラスタリングの対象であるか否かを決定する(ステップS77)。許容最小間隔とは、例えば、ストレージシステム1が書き込みアクセスを受け付けられる間隔の最小値である。
図14は、圧縮後のデータを示す図である。図14においては、アクセスされるデータ(以下、アクセスデータ1400と呼ぶ)が圧縮後のデータ140に含まれる。通常、たとえデータ140の一部分しかアクセスされない場合であっても、圧縮後のデータ140全体が解凍されることになる。従って、アクセスデータ1400のサイズが圧縮後のデータ140のサイズに対して小さい場合には、無駄な読み込みが発生しオーバーヘッドが大きい。そこで、第(n+1)段階のクラスタリングの対象となるクラスタを時間的局所性の観点から限定することで、読み込みの性能が低下することを抑制することができる。つまり、解凍によってキャッシュ領域102に展開されたデータが有効活用される可能性が高くなる。なお、分散ではなく他の統計量を使用してもよい。
第2クラスタリング部1037は、未処理のクラスタが有るか判定する(ステップS79)。未処理のクラスタが有る場合(ステップS79:Yesルート)、処理はステップS71に戻る。一方、未処理のクラスタが無い場合(ステップS79:Noルート)、処理は呼び出し元に戻る。
図12の説明に戻り、第2クラスタリング部1037は、第(n+1)段階のクラスタリングが可能であるか判定する(ステップS21)。ステップS21においては、例えば、第(n+1)段階のクラスタリングの対象であると判定されたクラスタの数が2以上であるか否かによって判定が行われる。
第(n+1)段階のクラスタリングが可能ではない場合(ステップS21:Noルート)、処理はステップS29に移行する。
第(n+1)段階のクラスタリングが可能である場合(ステップS21:Yesルート)、第2クラスタリング部1037は、以下の処理を実行する。具体的には、第2クラスタリング部1037は、ステップS19において第(n+1)段階のクラスタリングの対象であると判定された各クラスタの代表ブロックを特定する(ステップS23)。代表ブロックとは、例えば、ランダムに選択されたブロック、又は、図10における各行の左端の類似度に対応するブロックである。
第2クラスタリング部1037は、ステップS23において特定された代表ブロックを用いて、第(n+1)段階のクラスタリングを実行する(ステップS25)。例えばステップS23において10個のブロックが特定された場合、その10個のブロック間のハッシュ値が算出され、さらに、ハッシュ値間の類似度が算出される。そして、ステップS13と同様、算出された類似度に基づきクラスタリングが実行される。第(n+1)段階のクラスタリングによって、第n段階のクラスタを複数含むクラスタが生成される。
第2クラスタリング部1037は、変数nを1インクリメントする(ステップS27)。そして処理はステップS17に戻る。
一方、第n段階は最終段階であると判定された場合(ステップS17:Yesルート)又は第(n+1)段階のクラスタリングが可能ではないと判定された場合(ステップS21:Noルート)、書き込み部1039は、以下の処理を実行する。具体的には、書き込み部1039は、書き込みデータの圧縮を実行する(ステップS29)。ステップS29において、書き込み部1039は、書き込みデータに含まれるブロックのうち一括して圧縮するブロックを決定し、そのブロックを一括して圧縮するとともに、そのブロック以外のブロックを個別に圧縮する。
図15は、本実施の形態の圧縮を示す図である。図15の例においては、第1段階のクラスタリングと第2段階のクラスタリングとが実行されている。書き込みデータの分割数は2であり、第1段階のクラスタリングによって、一方の部分データからクラスタB151及びB152が生成され、他方の部分データからクラスタB153及びB154が生成されている。そして、第2段階のクラスタリングによって、クラスタB151及びB153からクラスタB155が生成されている。この場合、クラスタB155に含まれるブロックが一括で圧縮され、クラスタB152に含まれるブロックが一括で圧縮され、クラスタB154に含まれるブロックが一括で圧縮される。第1段階のクラスタリングの対象ではない(すなわち、他のブロックとの類似度がパラメータS以下である)ブロックは個別で圧縮される。
書き込み部1039は、ステップS29において圧縮された書き込みデータをSSD12に書き込む(ステップS31)。そして処理は終了する。
以上のように、共通するデータ列を探す範囲を書き込みデータ全体に拡張することで、圧縮率を向上させることができるようになる。なお、複数の仮想マシンイメージが統合された書き込みデータに対して本実施の形態を適用したところ、本実施の形態を適用しない場合と比べて約12%圧縮率が向上したことが確認された。
また、書き込みデータ全体に対して類似度を算出する処理を実行するのではなく、書き込みデータを複数の部分に分割して各部分に対して類似度を算出する処理を実行することで、演算量を少なくすることができる。結果として、圧縮が完了するまでに要する時間を短縮できるようになる。
さらに、第n段階のクラスタリングによって生成されたクラスタのうちアクセスの局所性が低いクラスタを第(n+1)段階のクラスタリングの対象から除外することで、読み込みの性能が低下することを抑制できるようになる。
[実施の形態2]
第2の実施の形態においては、書き込み先の論理ボリュームが同じであるブロックが同じ部分データに含まれるように書き込みデータが分割される。
図16は、第2の実施の形態の分割処理の処理フローを示す図である。
分割部1031は、書き込みデータに含まれる各ブロックの書き込み先の論理ボリュームを特定する(図16:ステップS81)。論理ボリュームは、例えば、LUN(Logical Unit Number)により特定される。
分割部1031は、書き込み先の論理ボリュームが同じであるブロックが同じ部分データに含まれるように、書き込みデータを分割する(ステップS83)。そして処理は呼び出し元に戻る。
以上のような処理を実行すれば、類似する可能性が高いブロックが同じ部分データに含まれるようになるので、圧縮率を向上させることができるようになる。
但し、第2の実施の形態においても、第1の実施の形態の方法で決定された分割数になるように書き込みデータを分割してもよい。
[実施の形態3]
第3の実施の形態においては、書き込み元のVMが同じであるブロックが同じ部分データに含まれるように書き込みデータが分割される。
図17は、第3の実施の形態の分割処理の処理フローを示す図である。
分割部1031は、書き込みデータに含まれる各ブロックの書き込み元のVMを特定する(図17:ステップS91)。書き込み元は、例えば、アドレスによって特定される。
分割部1031は、書き込み元のVMが同じであるブロックが同じ部分データに含まれるように、書き込みデータを分割する(ステップS93)。そして処理は呼び出し元に戻る。
以上のような処理を実行すれば、類似する可能性が高いブロックが同じ部分データに含まれるようになるので、圧縮率を向上させることができるようになる。例えば、同じVMによって書き込まれる複数のブロックは同じデータ列を含む可能性が高い。
但し、第3の実施の形態においても、第1の実施の形態の方法で決定された分割数になるように書き込みデータを分割してもよい。
なお、上で述べた例では書き込み元のVMが同じであるブロックが同じ部分データに含まれるように書き込みデータが分割されたが、書き込み元のホスト装置が同じであるブロックが同じ部分データに含まれるように書き込みデータが分割されてもよい。
[実施の形態4]
第1の実施の形態においては、書き込みアクセスの間隔の観点から第(n+1)段階のクラスタリングの対象となるクラスタであるか否かが判定される。これに対して、第4の実施の形態においては、論理アドレスの範囲の観点から第(n+1)段階のクラスタリングの対象となるクラスタであるか否かが判定される。
図18は、第4の実施の形態のクラスタリング判定処理の処理フローを示す図である。なお、本処理は、第2の実施の形態の分割処理が実行された場合に実行することが好ましい。
第2クラスタリング部1037は、前回のクラスタリング(つまり、ステップS13におけるクラスタリング又はステップS25におけるクラスタリング)により生成されたクラスタのうち未処理のクラスタを1つ特定する(図18:ステップS101)。
第2クラスタリング部1037は、ステップS101において特定されたクラスタに含まれるブロックの書き込み先の論理アドレスの最大値と最小値との差を算出する(ステップS103)。
第2クラスタリング部1037は、ステップS103において算出された差が、ステップS101において特定されたクラスタ内のブロックの数の所定倍(例えば2倍)以下であるか否かに基づき、ステップS101において特定されたクラスタが第(n+1)段階のクラスタリングの対象であるか否かを決定する(ステップS105)。
第2クラスタリング部1037は、未処理のクラスタが有るか判定する(ステップS107)。未処理のクラスタが有る場合(ステップS107:Yesルート)、処理はステップS101に戻る。一方、未処理のクラスタが無い場合(ステップS107:Noルート)、処理は呼び出し元に戻る。
以上のように、第(n+1)段階のクラスタリングの対象となるクラスタを空間的局所性の観点から限定することで、読み込みの性能が低下することを抑制することができる。つまり、解凍によってキャッシュ領域102に展開されたデータが有効活用される可能性が高くなる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したストレージシステム1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、重複排除部101による処理を省略してもよい。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理装置は、(A)複数のブロックを含むデータを分割する分割部(実施の形態における分割部1031は上記分割部の一例である)と、(B)データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行する第1実行部(実施の形態における第1クラスタリング部1035は上記第1実行部の一例である)と、(C)各部分に対する第1のクラスタリングの結果に基づき、複数のブロックのうち一括して圧縮されるブロックを決定する決定部と(実施の形態における書き込み部1039は上記決定部の一例である)を有する。
データ全体に対するクラスタリングを実行する場合と比べて、一括圧縮の対象となるブロックを決定する処理の演算量を削減することができるようになる。
また、(D)各部分に対する第1のクラスタリングにより生成された複数のクラスタのうち所定の条件を満たすクラスタの各々から1つのブロックを抽出し、抽出された複数のブロック間の類似度に基づき、所定の条件を満たすクラスタに対する第2のクラスタリングを実行する第2実行部(実施の形態における第2クラスタリング部1037は上記第2実行部の一例である)をさらに有してもよい。そして、決定部は、(c1)第2のクラスタリングの結果にさらに基づき、複数のブロックのうち一括して圧縮されるブロックを決定してもよい。
多段階のクラスタリングにより、例えば、類似するブロックをひとつのブロックにより多く含めることができるようになる。なお、多段階でクラスタリングを実行する場合であっても、データ全体に対するクラスタリングを実行するよりも演算量を削減することができる。
また、決定部は、(c2)第2のクラスタリングにより生成されたクラスタの各々に含まれるブロックを一括して圧縮し、第1のクラスタリングにより生成され且つ第2のクラスタリングにより生成されたクラスタには含まれていないクラスタの各々に含まれるブロックを一括して圧縮し、所定の条件を満たさないクラスタの各々に含まれるブロックを一括して圧縮してもよい。
例えば、類似するブロックが一括して圧縮されるので、圧縮率を向上させることができるようになる。
また、分割部は、(a1)データの分割により生成される部分の数と、データのサイズと、ブロックのサイズと、類似度の算出にかかる時間とに基づき算出されるスループットが目標のスループット以上になるように、データの分割により生成される部分の数を決定してもよい。
圧縮についてのスループットの低下を抑制できるようになる。
また、分割部は、(a2)同じ論理ボリュームに書き込まれるブロックが同じ部分に含まれるようにデータを分割してもよい。
共通するデータ列を有するブロックが同じクラスタに含まれる可能性が高くなる。
また、分割部は、(a3)書き込み元が同じであるブロックが同じ部分に含まれるようにデータを分割してもよい。
共通するデータ列を有するブロックが同じクラスタに含まれる可能性が高くなる。
また、第1実行部は、(b1)部分に含まれるブロックのペアのうち類似度が閾値以上であるペアからクラスタを生成する方法又は類似度を用いたK平均法に基づき第1のクラスタリングを実行してもよい。
類似度に基づく第1のクラスタリングを適切に実行できるようになる。
また、第1実行部は、(b2)部分に含まれるブロックのうち他のブロックに対する類似度が所定値以下であるという条件を満たすブロックを、第1のクラスタリングの対象から除外してもよい。
圧縮率の向上に寄与する可能性が低いブロックを除外できるようになる。
また、決定部は、(c3)第1のクラスタリングの対象から除外されたブロックを個別に圧縮してもよい。
ブロック単体の圧縮であったとしても場合によっては高い圧縮率になる場合がある。
また、本情報処理装置は、(E)サンプルデータに対するクラスタリングによって生成されるクラスタのブロック数の平均値が、ストレージデバイスからの読み込みに係るレイテンシについての要件を表す数値にストレージデバイスからの読み込み速度を掛けた値をブロックサイズで割った値になるように、所定値を算出する算出部(実施の形態におけるパラメータ算出部1033は上記算出部の一例である)をさらに有してもよい。
ストレージデバイス上の圧縮データの読み込み時に時間がかかることを抑制できるようになる。
また、所定の条件は、クラスタに含まれるブロックについての書き込み先の論理アドレスの最大値と最小値との差が当該クラスタに含まれるブロックの数の所定倍以下であるという条件、又は、当該クラスタに含まれるブロックについての書き込みアクセスの間隔の分散が所定間隔以下であるという条件であってもよい。
アクセスの局所性が高いとみなされるクラスタが第2のクラスタリングの対象となるので、読み込み速度が低下することを抑制できるようになる。
また、第2実行部は、(d1)第2のクラスタリングにより生成された複数のクラスタのうち所定の条件を満たすクラスタの各々から1つのブロックを抽出し、抽出された複数のブロック間の類似度に基づき、所定の条件を満たすクラスタに対する第2のクラスタリングを実行してもよい。
クラスタに対するクラスタリングを簡便に実行できるようになる。
また、第1実行部は、(b3)部分に含まれるブロックの各々からハッシュ値を算出し、算出された当該ハッシュ値間の類似度に基づき部分に対する第1のクラスタリングを実行してもよい。
類似度を容易に算出することができるようになる。
本実施の形態の第2の態様に係る情報処理方法は、(F)複数のブロックを含むデータを分割し、(G)データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行し、(H)各部分に対する第1のクラスタリングの結果に基づき、複数のブロックのうち一括して圧縮されるブロックを決定する処理を含む。
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD-ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のブロックを含むデータを分割する分割部と、
前記データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行する第1実行部と、
各部分に対する前記第1のクラスタリングの結果に基づき、前記複数のブロックのうち一括して圧縮されるブロックを決定する決定部と、
を有する情報処理装置。
(付記2)
各部分に対する前記第1のクラスタリングにより生成された複数のクラスタのうち所定の条件を満たすクラスタの各々から1つのブロックを抽出し、抽出された複数のブロック間の類似度に基づき、前記所定の条件を満たすクラスタに対する第2のクラスタリングを実行する第2実行部
をさらに有し、
前記決定部は、
前記第2のクラスタリングの結果にさらに基づき、前記複数のブロックのうち一括して圧縮されるブロックを決定する、
付記1記載の情報処理装置。
(付記3)
前記決定部は、
前記第2のクラスタリングにより生成されたクラスタの各々に含まれるブロックを一括して圧縮し、前記第1のクラスタリングにより生成され且つ前記第2のクラスタリングにより生成されたクラスタには含まれていないクラスタの各々に含まれるブロックを一括して圧縮し、前記所定の条件を満たさないクラスタの各々に含まれるブロックを一括して圧縮する、
付記2記載の情報処理装置。
(付記4)
前記分割部は、
前記データの分割により生成される部分の数と、前記データのサイズと、前記ブロックのサイズと、前記類似度の算出にかかる時間とに基づき算出されるスループットが目標のスループット以上になるように、前記データの分割により生成される部分の数を決定する、
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記5)
前記分割部は、
同じ論理ボリュームに書き込まれるブロックが同じ部分に含まれるように前記データを分割する、
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記6)
前記分割部は、
書き込み元が同じであるブロックが同じ部分に含まれるように前記データを分割する、
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記7)
前記第1実行部は、
前記部分に含まれるブロックのペアのうち類似度が閾値以上であるペアからクラスタを生成する方法又は類似度を用いたK平均法に基づき前記第1のクラスタリングを実行する、
付記1乃至6のいずれか1つ記載の情報処理装置。
(付記8)
前記第1実行部は、
前記部分に含まれるブロックのうち他のブロックに対する類似度が所定値以下であるという条件を満たすブロックを、前記第1のクラスタリングの対象から除外する、
付記1乃至7のいずれか1つ記載の情報処理装置。
(付記9)
前記決定部は、
前記第1のクラスタリングの対象から除外されたブロックを個別に圧縮する、
付記8記載の情報処理装置。
(付記10)
サンプルデータに対するクラスタリングによって生成されるクラスタのブロック数の平均値が、ストレージデバイスからの読み込みに係るレイテンシについての要件を表す数値に前記ストレージデバイスからの読み込み速度を掛けた値をブロックサイズで割った値になるように、前記所定値を算出する算出部
をさらに有する付記9記載の情報処理装置。
(付記11)
前記所定の条件は、クラスタに含まれるブロックについての書き込み先の論理アドレスの最大値と最小値との差が当該クラスタに含まれるブロックの数の所定倍以下であるという条件、又は、当該クラスタに含まれるブロックについての書き込みアクセスの間隔の分散が所定間隔以下であるという条件である、
付記2記載の情報処理装置。
(付記12)
前記第2実行部は、
前記第2のクラスタリングにより生成された複数のクラスタのうち前記所定の条件を満たすクラスタの各々から1つのブロックを抽出し、抽出された複数のブロック間の類似度に基づき、前記所定の条件を満たすクラスタに対する前記第2のクラスタリングを実行する、
付記2記載の情報処理装置。
(付記13)
前記第1実行部は、
前記部分に含まれるブロックの各々からハッシュ値を算出し、算出された当該ハッシュ値間の類似度に基づき前記部分に対する前記第1のクラスタリングを実行する、
付記1記載の情報処理装置。
(付記14)
コンピュータに、
複数のブロックを含むデータを分割し、
前記データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行し、
各部分に対する前記第1のクラスタリングの結果に基づき、前記複数のブロックのうち一括して圧縮されるブロックを決定する、
処理を実行させるプログラム。
(付記15)
コンピュータが、
複数のブロックを含むデータを分割し、
前記データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行し、
各部分に対する前記第1のクラスタリングの結果に基づき、前記複数のブロックのうち一括して圧縮されるブロックを決定する、
処理を実行する情報処理方法。
1 ストレージシステム 3a,3b,3c ホスト装置
30a,30b,30c VM 5 ネットワーク
10 CPU 11 メモリ
12 SSD 13 NIC
14 バス
101 重複排除部 102 キャッシュ領域
103 圧縮部 104 データ保存領域
1031 分割部 1033 パラメータ算出部
1035 第1クラスタリング部 1037 第2クラスタリング部
1039 書き込み部
35 CPU 31 メモリ
32 HDD 33 NIC
34 バス

Claims (14)

  1. 複数のブロックを含むデータを分割する分割部と、
    前記データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行する第1実行部と、
    各部分に対する前記第1のクラスタリングにより生成された複数のクラスタのうち所定の条件を満たすクラスタの各々から1つのブロックを抽出し、抽出された複数のブロック間の類似度に基づき、前記所定の条件を満たすクラスタに対する第2のクラスタリングを実行する第2実行部と、
    各部分に対する前記第1のクラスタリングの結果と前記第2のクラスタリングの結果とに基づき、前記各部分内におけるブロックに限定することなく、前記複数のブロックのうち一括して圧縮されるブロックを決定する決定部と、
    を有する情報処理装置。
  2. 前記決定部は、
    前記第2のクラスタリングにより生成されたクラスタの各々に含まれるブロックを一括して圧縮し、前記第1のクラスタリングにより生成され且つ前記第2のクラスタリングにより生成されたクラスタには含まれていないクラスタの各々に含まれるブロックを一括して圧縮し、前記所定の条件を満たさないクラスタの各々に含まれるブロックを一括して圧縮する、
    請求項記載の情報処理装置。
  3. 前記分割部は、
    前記データの分割により生成される部分の数と、前記データのサイズと、前記ブロックのサイズと、前記類似度の算出にかかる時間とに基づき算出されるスループットが目標のスループット以上になるように、前記データの分割により生成される部分の数を決定する、
    請求項1又は2記載の情報処理装置。
  4. 前記分割部は、
    同じ論理ボリュームに書き込まれるブロックが同じ部分に含まれるように前記データを分割する、
    請求項1又は2記載の情報処理装置。
  5. 前記分割部は、
    書き込み元が同じであるブロックが同じ部分に含まれるように前記データを分割する、
    請求項1又は2記載の情報処理装置。
  6. 前記第1実行部は、
    前記部分に含まれるブロックのペアのうち類似度が閾値以上であるペアからクラスタを生成する方法又は類似度を用いたK平均法に基づき前記第1のクラスタリングを実行する、
    請求項1乃至のいずれか1つ記載の情報処理装置。
  7. 前記第1実行部は、
    前記部分に含まれるブロックのうち他のブロックに対する類似度が所定値以下であるという条件を満たすブロックを、前記第1のクラスタリングの対象から除外する、
    請求項1乃至のいずれか1つ記載の情報処理装置。
  8. 前記決定部は、
    前記第1のクラスタリングの対象から除外されたブロックを個別に圧縮する、
    請求項記載の情報処理装置。
  9. サンプルデータに対するクラスタリングによって生成されるクラスタのブロック数の平均値が、ストレージデバイスからの読み込みに係るレイテンシについての要件を表す数値に前記ストレージデバイスからの読み込み速度を掛けた値をブロックサイズで割った値になるように、前記所定値を算出する算出部
    をさらに有する請求項記載の情報処理装置。
  10. 前記所定の条件は、クラスタに含まれるブロックについての書き込み先の論理アドレスの最大値と最小値との差が当該クラスタに含まれるブロックの数の所定倍以下であるという条件、又は、当該クラスタに含まれるブロックについての書き込みアクセスの間隔の分散が所定間隔以下であるという条件である、
    請求項記載の情報処理装置。
  11. 前記第2実行部は、
    前記第2のクラスタリングにより生成された複数のクラスタのうち前記所定の条件を満たすクラスタの各々から1つのブロックを抽出し、抽出された複数のブロック間の類似度に基づき、前記所定の条件を満たすクラスタに対する前記第2のクラスタリングを実行する、
    請求項記載の情報処理装置。
  12. 前記第1実行部は、
    前記部分に含まれるブロックの各々からハッシュ値を算出し、算出された当該ハッシュ値間の類似度に基づき前記部分に対する前記第1のクラスタリングを実行する、
    請求項1記載の情報処理装置。
  13. コンピュータに、
    複数のブロックを含むデータを分割し、
    前記データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行し、
    各部分に対する前記第1のクラスタリングにより生成された複数のクラスタのうち所定の条件を満たすクラスタの各々から1つのブロックを抽出し、抽出された複数のブロック間の類似度に基づき、前記所定の条件を満たすクラスタに対する第2のクラスタリングを実行し、
    各部分に対する前記第1のクラスタリングの結果と前記第2のクラスタリングの結果とに基づき、前記各部分内におけるブロックに限定することなく、前記複数のブロックのうち一括して圧縮されるブロックを決定する、
    処理を実行させるプログラム。
  14. コンピュータが、
    複数のブロックを含むデータを分割し、
    前記データの分割により生成された各部分について、当該部分に含まれるブロックに対する第1のクラスタリングを、当該部分に含まれるブロック間の類似度に基づき実行し、
    各部分に対する前記第1のクラスタリングにより生成された複数のクラスタのうち所定の条件を満たすクラスタの各々から1つのブロックを抽出し、抽出された複数のブロック間の類似度に基づき、前記所定の条件を満たすクラスタに対する第2のクラスタリングを実行し、
    各部分に対する前記第1のクラスタリングの結果と前記第2のクラスタリングの結果とに基づき、前記各部分内におけるブロックに限定することなく、前記複数のブロックのうち一括して圧縮されるブロックを決定する、
    処理を実行する情報処理方法。
JP2017166651A 2017-08-31 2017-08-31 情報処理装置、情報処理方法及びプログラム Active JP7013732B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017166651A JP7013732B2 (ja) 2017-08-31 2017-08-31 情報処理装置、情報処理方法及びプログラム
US16/046,242 US10824599B2 (en) 2017-08-31 2018-07-26 Information processing apparatus, information processing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017166651A JP7013732B2 (ja) 2017-08-31 2017-08-31 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019046023A JP2019046023A (ja) 2019-03-22
JP7013732B2 true JP7013732B2 (ja) 2022-02-01

Family

ID=65437238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017166651A Active JP7013732B2 (ja) 2017-08-31 2017-08-31 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10824599B2 (ja)
JP (1) JP7013732B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733158B1 (en) * 2019-05-03 2020-08-04 EMC IP Holding Company LLC System and method for hash-based entropy calculation
US10817475B1 (en) 2019-05-03 2020-10-27 EMC IP Holding Company, LLC System and method for encoding-based deduplication
US11138154B2 (en) 2019-05-03 2021-10-05 EMC IP Holding Company, LLC System and method for offset-based deduplication
US10963437B2 (en) 2019-05-03 2021-03-30 EMC IP Holding Company, LLC System and method for data deduplication
US10990565B2 (en) 2019-05-03 2021-04-27 EMC IP Holding Company, LLC System and method for average entropy calculation
JP7034132B2 (ja) * 2019-12-20 2022-03-11 株式会社日立製作所 ストレージシステムおよびストレージシステムのデータ圧縮方法
US11620263B2 (en) * 2020-12-17 2023-04-04 EMC IP Holding Company LLC Data compression using dictionaries

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007026870A1 (ja) 2005-09-02 2007-03-08 Nec Corporation データのクラスタリング装置、クラスタリング方法及びクラスタリング用プログラム
JP2007535068A (ja) 2004-04-26 2007-11-29 ストアウィズ インク 記憶のためのファイル圧縮および圧縮ファイルの操作の方法およびシステム
JP2013065102A (ja) 2011-09-15 2013-04-11 Toshiba Corp 映像収録再生装置
JP2015523024A (ja) 2012-06-27 2015-08-06 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft データストリームの符号化方法
US20160004598A1 (en) 2013-04-30 2016-01-07 Hewlett-Packard Development Company, L.P. Grouping chunks of data into a compression region
JP2016105240A (ja) 2014-12-01 2016-06-09 トヨタ自動車株式会社 データ近似装置およびデータ近似方法
US9514146B1 (en) 2013-09-26 2016-12-06 Emc Corporation System and method for improving data compression of a storage system in an online manner
JP2017123151A (ja) 2015-11-04 2017-07-13 エイチジーエスティーネザーランドビーブイ メモリ管理での重複排除のための参照ブロックの参照セットへの集約

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7898442B1 (en) * 1997-05-30 2011-03-01 International Business Machines Corporation On-line data compression analysis and regulation
US7424482B2 (en) * 2004-04-26 2008-09-09 Storwize Inc. Method and system for compression of data for block mode access storage
CN101346883A (zh) * 2005-10-26 2009-01-14 斯多维兹有限公司 用于块模式访问存储的数据压缩的方法和系统
JP4854309B2 (ja) * 2006-01-23 2012-01-18 シャープ株式会社 データ格納制御装置
KR100918701B1 (ko) * 2007-10-11 2009-09-22 한국과학기술원 강인한 자동 화이트 밸런스 방법
JP2011227758A (ja) 2010-04-21 2011-11-10 Sony Corp 情報処理装置、情報処理方法及びプログラム
JP5591080B2 (ja) 2010-11-26 2014-09-17 三菱電機株式会社 データ圧縮装置及びデータ処理システム及びコンピュータプログラム及びデータ圧縮方法
US8364716B2 (en) * 2010-12-17 2013-01-29 Netapp, Inc. Methods and apparatus for incrementally computing similarity of data sources
US8745338B1 (en) * 2011-05-02 2014-06-03 Netapp, Inc. Overwriting part of compressed data without decompressing on-disk compressed data
JP5665685B2 (ja) 2011-08-08 2015-02-04 株式会社Kddi研究所 重要度判定装置、重要度判定方法およびプログラム
US10019457B1 (en) * 2013-01-22 2018-07-10 Amazon Technologies, Inc. Multi-level compression for storing data in a data store
US10216754B1 (en) * 2013-09-26 2019-02-26 EMC IP Holding Company LLC System and method for balancing compression and read performance in a storage system
US9411815B1 (en) * 2013-09-26 2016-08-09 Emc Corporation System and method for improving data compression in a deduplicated storage system
US9367557B1 (en) * 2013-09-26 2016-06-14 Emc Corporation System and method for improving data compression
CN204048190U (zh) * 2014-08-05 2014-12-31 林月华 连接扣件
TWI554893B (zh) * 2014-12-03 2016-10-21 仁寶電腦工業股份有限公司 資料傳輸方法及系統
US9965394B2 (en) * 2014-12-23 2018-05-08 EMC IP Holding Company LLC Selective compression in data storage systems
US9910906B2 (en) * 2015-06-25 2018-03-06 International Business Machines Corporation Data synchronization using redundancy detection
US9646043B1 (en) * 2015-11-25 2017-05-09 International Business Machines Corporation Combining data matches from multiple sources in a deduplication storage system
US10565444B2 (en) * 2017-09-07 2020-02-18 International Business Machines Corporation Using visual features to identify document sections

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007535068A (ja) 2004-04-26 2007-11-29 ストアウィズ インク 記憶のためのファイル圧縮および圧縮ファイルの操作の方法およびシステム
WO2007026870A1 (ja) 2005-09-02 2007-03-08 Nec Corporation データのクラスタリング装置、クラスタリング方法及びクラスタリング用プログラム
JP2013065102A (ja) 2011-09-15 2013-04-11 Toshiba Corp 映像収録再生装置
JP2015523024A (ja) 2012-06-27 2015-08-06 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft データストリームの符号化方法
US20160004598A1 (en) 2013-04-30 2016-01-07 Hewlett-Packard Development Company, L.P. Grouping chunks of data into a compression region
US9514146B1 (en) 2013-09-26 2016-12-06 Emc Corporation System and method for improving data compression of a storage system in an online manner
JP2016105240A (ja) 2014-12-01 2016-06-09 トヨタ自動車株式会社 データ近似装置およびデータ近似方法
JP2017123151A (ja) 2015-11-04 2017-07-13 エイチジーエスティーネザーランドビーブイ メモリ管理での重複排除のための参照ブロックの参照セットへの集約

Also Published As

Publication number Publication date
JP2019046023A (ja) 2019-03-22
US10824599B2 (en) 2020-11-03
US20190065519A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
JP7013732B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN108427538B (zh) 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
US9658826B2 (en) Sorting multiple records of data using ranges of key values
US10572171B2 (en) Storage system
US10936228B2 (en) Providing data deduplication in a data storage system with parallelized computation of crypto-digests for blocks of host I/O data
CN104636266B (zh) 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置
JP6608468B2 (ja) ストレージ装置及びその制御方法
TWI715168B (zh) 在儲存伺服器中進行資料壓縮管理的方法及設備
US20120173778A1 (en) Dynamic compression of an i/o data block
US11455122B2 (en) Storage system and data compression method for storage system
US11226774B2 (en) Deep data-compression
CN115098046B (zh) 磁盘阵列初始化方法、系统、电子设备及存储介质
CN112988615A (zh) 键值存储设备和操作方法
KR101970864B1 (ko) 총 플래시 어레이 기반 오픈스택 클라우드 블록 스토리지에서의 패리티 데이터 중복제거 방법
US8452900B2 (en) Dynamic compression of an I/O data block
CN117369731B (zh) 一种数据的缩减处理方法、装置、设备及介质
US11226769B2 (en) Large-scale storage system and data placement method in large-scale storage system
CN108334457B (zh) 一种io处理方法及装置
US20220164146A1 (en) Storage system and control method for storage system
CN112000289B (zh) 全闪存储服务器系统数据管理方法及相关组件
CN114816322A (zh) Ssd的外部排序方法、装置和ssd存储器
JPWO2017154065A1 (ja) 計算機及びデータベース管理方法
CN108073521B (zh) 一种数据去重的方法和系统
WO2016186602A1 (en) Deletion prioritization
JP7474217B2 (ja) ストレージシステム及びストレージシステムの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210720

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: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220103