JP6089890B2 - ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム - Google Patents
ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム Download PDFInfo
- Publication number
- JP6089890B2 JP6089890B2 JP2013074642A JP2013074642A JP6089890B2 JP 6089890 B2 JP6089890 B2 JP 6089890B2 JP 2013074642 A JP2013074642 A JP 2013074642A JP 2013074642 A JP2013074642 A JP 2013074642A JP 6089890 B2 JP6089890 B2 JP 6089890B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- data
- target data
- storage device
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
Description
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを保持する保持部と、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納し、前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納し、前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行わない格納処理部と、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除する後処理部と、
を有する。
前記ストレージ制御装置が、
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを、前記ストレージ制御装置が有する保持部に保持し、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行なわず、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除する。
前記ストレージ制御装置に、
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを、前記ストレージ制御装置が有する保持部に保持させ、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納させ、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納させ、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行なわさせず、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除させる。
プログラム18等をインストールした装置である。換言すれば、CPU11が、OS、ストレージ制御プログラム18等をRAM(Random Access Memory)12上にロードして実行しているコンピュータ50が、ストレージ制御装置10である。
の基本的な機能とを、説明する。尚、以下の説明において、データとは、原則として、記憶装置30の1個の物理ブロックに記憶できるサイズのデータのことである。
この図3に示してあるように、ストレージ制御装置10は、格納処理部41、読込処理部42及び後処理部43を備える。またストレージ制御装置10は、RAM12上に、重複数カウンタ20、ブロックマップ21、MBF22、第1〜第mハッシュログ23が存在する状態で動作する。
20、ブロックマップ21、MBF22、第1〜第mハッシュログ23を用意する。この際、CPU11が用意する各情報は、有意なデータを保持していない状態にあるものである。また、MBF22は、設定されたm値に応じた構成を有するものを、CPU11が生成する情報となっている。そして、CPU11(ストレージ制御プログラム18)がMBF22を生成できるm値は限られているため、ストレージ制御装置10のセットアップ時には、ストレージ制御プログラム18がMBF22を生成できるm値の中から、m値が選択される。
この図5に模式的に示してあるように、重複数カウンタ20は、第1ブルームフィルタ(第1−BF)31から第Nブルームフィルタ(第N−BF)31までのN個のBF31を含む。尚、重複数カウンタ20は、ユーザにより設定されたN値に基づきRAM12上に用意されるものである。従って、N値として、“1”が設定された場合には、重複数カウンタ20は、1つのブルームフィルタとなるのであるが、以下では、N≧2であるとして、重複数カウンタ20の構成を説明する。
第i−BF31(i=1〜N)には、格納対象データと同内容のデータが記憶装置30内にi−1個格納されていた場合に、格納対象データが登録される。換言すれば、重複数カウンタ20の第i−BF31には、i個目の重複データが登録される。従って、第(j+1)−BF31(j=1〜N−1)に登録されるデータ数は、第j−BF31に登録されるデータ数よりも確実に少ない。そして、BFは、登録されるデータ数が少ない場合には、ビット数を少なくできるデータ構造であるし、重複数カウンタ20の記憶/保持に要する記憶容量は少ない方が良い。そのため、上記したように、重複数カウンタ20の各BF31のビット数を、第1−BF31、第2−BF31、…、第N−BF31の順に少なくなるようにしているのである。
重複数計数処理(ステップS101)を終えた格納処理部41は、重複数計数処理で求めた格納対象データの重複数が、N未満であるか否かを判断する(ステップS102)。
タが同じデータ記憶領域に書き込まれることになるように決定される。尚、格納対象データの書込先LBAとは、受信したライト要求に含まれるLBA、又は、当該LBAと格納対象データの格納対象情報(ライト要求で書き込みが指示されている情報)内での位置とから算出されるLBAのことである。
、格納処理部41が、ステップS103の処理時に更新対象データの重複データが存在していないと判定する場合がある。
るセキュアハッシュ値が使用される。
ち、BF4−1は、BF5−1、5−2がそれぞれ対応付けられている第1、第2データ記憶領域と対応づけられている。BF4−2は、BF5−3、5−4がそれぞれ対応付けられている第3、第4データ記憶領域と対応づけられている。BF3−1は、BF5−1〜5−4がそれぞれ対応づけられている第1〜第4データ記憶領域と対応づけられている。1段目から4段目までの他の各BFも、同様に、各BFの下方に位置している最下段のBFが対応づけられているデータ記憶領域と対応づけられている。
・BF1−1に格納対象データが登録されていなかった場合には、格納対象データが存在しないことを記憶して処理を終了
・BF1−1に格納対象データが登録されていた場合には、BF1−1の各下位BFに格納対象データが登録されているか否かを順々にチェック
・格納対象データが登録されている下位BFが見出せなかった場合には、格納対象データが存在しないことを記憶して処理を終了
・格納対象データが登録されている下位BFを見出せた場合には、当該下位BFの各下位BFに格納対象データが登録されているか否かを順々にチェック
・格納対象データが登録されている下位BFが見出せなかった場合には、格納対象データが存在しないことを記憶して処理を終了
・同様の処理を繰り返すことによって格納対象データが登録されている再下段のBFを特定できた場合には、当該BFに対応付けられているハッシュログ23に、格納対象データの検証用ハッシュ値が記憶されているか否かをチェック
・ハッシュログ23に格納対象データの検証用ハッシュ値が記憶されていた場合には、格納対象データの重複データが存在することを記憶して処理を終了
図10に、読込処理部42が、或るデータを記憶装置30から読み込む際に行う読込処理の流れ図を示す。尚、この流れ図及び以下の説明において、読込対象データとは、記憶装置30から読み込もうとしているデータのことであり、読込対象LBAとは、読込対象データのLBAのことである。また、格納処理部41は、記憶装置30に対するリード要求が、ユーザ端末100から送信されてきた場合、この読込処理を何回か実行することにより要求されたデータを用意して、ユーザ端末100に返送する。
(ステップS306)。そして、読込処理部42は、この読込処理を終了する。
まず、N−1個目までの重複データをMBF22に登録していない理由と、後処理部43が行う後処理の目的とを、説明する。
上記したストレージ制御装置10は、各種の変形が行えるものである。例えば、ストレージ制御装置10を、MBF22の代わりに、通常のBFが用いられ、ブロックマップ21及びm個のハッシュログ23の代わりに、LBA、PBA、検証用ハッシュ値間の対応関係を管理するためのテーブルが用いられた装置に変形することが出来る。ただし、そのように変形した場合、格納対象データの重複データの有無の判定時に、m個のハッシュログ23に相当する当該テーブルから格納対象データの検証用ハッシュ値と同じ検証用ハッシュ値を検索することになる。そして、上記構成(MBF22、ブロックマップ21及びm個のハッシュログ23を使用する構成)を採用しておけば、より少ない量のデータ(1個のハッシュログ23)からの検索で所望の情報を得ることが出来る。従って、ストレージ制御装置10には、上記構成を採用しておくことが望ましい。
ックマップ21から情報から読み出ことなくN−1番目までの格納対象データであるか否かを判定して重複除去を行う処理とすることができる。より具体的には、後処理を、記憶装置30から順々にデータを読み出し、N−1番目までの格納対象データであるか否かを示すフラグが付けられているデータに対してステップS404以降の処理が行われる処理とすることができる。
型記録媒体に記録して配布することが出来る。
記憶装置を制御するストレージ制御装置において、
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを保持する保持部と、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納し、前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納し、前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行わない格納処理部と、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除する後処理部と、
を有することを特徴とするストレージ制御装置。
前記格納処理部はさらに、
前記格納対象データを前記記憶装置内に格納する場合、格納した前記格納対象データを読み出せるように前記対応関係情報を更新することを特徴とする付記1記載のストレージ制御装置。
Nが、2以上の値であり、
前記重複数管理情報は、
第1のブルームフィルタから第NのブルームフィルタまでのN個のブルームフィルタを含み、
前記格納処理部は、
前記格納対象データが前記第1のブルームフィルタに登録されていないデータであった場合に、前記格納対象データが、前記重複数が0の前記第1のデータ種別であると判別し、
前記格納対象データが前記第1のブルームフィルタから第K(1≦K<N−1)のブルームフィルタまでのK個のブルームフィルタに登録されており、且つ、第K+1のブルームフィルタに登録されていないデータであった場合に、前記格納対象データが、前記重複数がKの前記第1のデータ種別であると判別し、
前記格納対象データが、前記第1のブルームフィルタから第N−1のブルームフィルタまでのN−1個のブルームフィルタに登録されており、且つ、前記第Nのブルームフィルタに登録されていないデータであった場合に、前記格納対象データが前記第2のデータ種別であると判別し、
前記格納対象データが、前記第1乃至第Nのブルームフィルタの全てに登録されており、且つ、前記フィルタ情報の管理対象となっているデータであった場合に、前記格納対象データが前記第3のデータ種別であると判別し、
重複数がJ(1≦J<N)の前記第1のデータ種別である前記格納対象データの重複数を1だけ増分する際、前記格納対象データを前記第J+1のブルームフィルタに登録する
ことを特徴とする付記1に記載のストレージ制御装置。
Nが、1であり、
前記重複数管理情報が、1つのブルームフィルタであり、
前記格納処理部は、
前記格納対象データが前記重複数管理情報に登録されていないか登録されているかを判断することより、前記格納対象データが、重複数が0の前記第1のデータ種別であるか否かを判別し、
前記格納対象データが前記第1のデータ種別ではないと判別した場合には、さらに、前記格納対象データが前記フィルタ情報の管理対象となっているか否かを判断することにより、前記格納対象データが、重複数が1の前記第2のデータ種別であるか、前記第3のデータ種別であるかを判別し、
前記格納対象データの重複数を1だけ増分する際、前記格納対象データを前記重複数管理情報に登録する
ことを特徴とする付記1に記載のストレージ制御装置。
前記後処理部は、
前記格納処理部により前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納する処理が行われる度に、行われた当該処理で前記記憶装置内に書き込まれた前記格納対象データと同内容の、重複数がN未満ではないことを前記重複数管理情報が示しているデータを、前記削除可データとして取り扱う
ことを特徴とする付記1から4のいずれか一項に記載のストレージ制御装置。
前記対応関係情報は、
或るデータに関する前記第1のアドレスと、当該データに関する前記第2のアドレス、又は、当該データについての、当該データから所定アルゴリズムにて算出されたハッシュ値である検証用ハッシュ値とが設定されたレコードを複数個記憶できるマップテーブルと、
前記記憶装置内の互いに異なるデータ記憶領域に対応づけられたm(≧2)個のログテーブルであって、それぞれ、或るデータについての前記検証用ハッシュ値と当該データが
書き込まれている前記記憶装置の単位記憶領域の前記第2のアドレスとが設定されたレコードを複数個記憶できるm個のログテーブルと、を含み、
前記フィルタ情報は、
前記m個のログテーブルに対応づけられたm個の前記データ記憶領域の中の、互いに異なる前記データ記憶領域に対応づけられたm個のブルームフィルタを、含み
前記格納処理部は、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記格納対象データに関する前記第1種アドレスと前記格納対象データが書き込まれた単位記憶領域の前記第2のアドレスとが設定されたレコードを前記マップテーブルに追加し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを、前記m個のブルームフィルタの中の、前記格納対象データが書き込まれた単位記憶領域を含む前記データ記憶領域に対応づけられているブルームフィルタに登録し、前記格納対象データに関する前記第1種アドレスと前記格納対象データについての前記検証用ハッシュ値とを設定したレコードを前記マップテーブルに追加し、前記格納対象データが書き込まれた単位記憶領域を含む前記データ記憶領域に対応づけられている前記ログテーブルに前記格納対象データについての前記検証用ハッシュ値と前記格納対象データが書き込まれた当該単位記憶領域の前記第2のアドレスとが設定されたレコードを追加し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データに関する第1種アドレスと前記格納対象データについての前記検証用ハッシュ値とを設定したレコードを前記マップテーブルに追加する
ことを特徴とする付記1から5のいずれか一項に記載のストレージ制御装置。
前記後処理部は、
前記マップテーブルに前記第2のアドレスが設定されたレコードが記憶されており、且つ、重複数がN未満ではないことを前記重複数管理情報が示しているデータを、前記削除可データとして特定する
ことを特徴とする付記6に記載のストレージ制御装置。
前記フィルタ情報が、
前記m個のブルームフィルタを、最下段のブルームフィルタとして含む多段ブルームフィルタである
ことを特徴とする付記6又は7に記載のストレージ制御装置。
前記後処理部は、
設定されている条件が満たされたときに、前記削除可データが特定できなくなるまで、前記削除処理を繰り返す
ことを特徴とする付記1から4のいずれか一項に記載のストレージ制御装置。
記憶装置を制御するストレージ制御装置の制御方法において、
前記ストレージ制御装置が、
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを、前
記ストレージ制御装置が有する保持部に保持し、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行なわず、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除する
ことを特徴とするストレージ制御装置の制御方法。
記憶装置を制御するストレージ制御装置の制御プログラムにおいて、
前記ストレージ制御装置に、
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを、前記ストレージ制御装置が有する保持部に保持させ、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納させ、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納させ、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行なわさせず、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除させる
ことを特徴とするストレージ制御装置の制御プログラム。
11 CPU
12 RAM
13 HDD
18 ストレージ制御プログラム
20 重複数カウンタ
21 ブロックマップ
22 MBF
23 第1〜第mハッシュログ
30 記憶装置
31 ブルームフィルタ
41 格納処理部
42 読込処理部
43 後処理部
50 コンピュータ
100 ユーザ端末
Claims (10)
- 記憶装置を制御するストレージ制御装置において、
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを保持する保持部と、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納し、前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納し、前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行わない格納処理部と、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除する後処理部と、
を有することを特徴とするストレージ制御装置。 - 前記格納処理部はさらに、
前記格納対象データを前記記憶装置内に格納する場合、格納した前記格納対象データを読み出せるように前記対応関係情報を更新する
ことを特徴とする請求項1記載のストレージ制御装置。 - Nが、2以上の値であり、
前記重複数管理情報は、
第1のブルームフィルタから第NのブルームフィルタまでのN個のブルームフィルタを含み、
前記格納処理部は、
前記格納対象データが前記第1のブルームフィルタに登録されていないデータであった場合に、前記格納対象データが、前記重複数が0の前記第1のデータ種別であると判別し、
前記格納対象データが前記第1のブルームフィルタから第K(1≦K<N−1)のブルームフィルタまでのK個のブルームフィルタに登録されており、且つ、第K+1のブルームフィルタに登録されていないデータであった場合に、前記格納対象データが、前記重複数がKの前記第1のデータ種別であると判別し、
前記格納対象データが、前記第1のブルームフィルタから第N−1のブルームフィルタまでのN−1個のブルームフィルタに登録されており、且つ、前記第Nのブルームフィルタに登録されていないデータであった場合に、前記格納対象データが前記第2のデータ種別であると判別し、
前記格納対象データが、前記第1乃至第Nのブルームフィルタの全てに登録されており、且つ、前記フィルタ情報の管理対象となっているデータであった場合に、前記格納対象データが前記第3のデータ種別であると判別し、
重複数がJ(1≦J<N)の前記第1のデータ種別である前記格納対象データの重複数を1だけ増分する際、前記格納対象データを前記第J+1のブルームフィルタに登録する
ことを特徴とする請求項1に記載のストレージ制御装置。 - Nが、1であり、
前記重複数管理情報が、1つのブルームフィルタであり、
前記格納処理部は、
前記格納対象データが前記重複数管理情報に登録されていないか登録されているかを判断することより、前記格納対象データが、重複数が0の前記第1のデータ種別であるか否かを判別し、
前記格納対象データが前記第1のデータ種別ではないと判別した場合には、さらに、前記格納対象データが前記フィルタ情報の管理対象となっているか否かを判断することにより、前記格納対象データが、重複数が1の前記第2のデータ種別であるか、前記第3のデータ種別であるかを判別し、
前記格納対象データの重複数を1だけ増分する際、前記格納対象データを前記重複数管理情報に登録する
ことを特徴とする請求項1に記載のストレージ制御装置。 - 前記後処理部は、
前記格納処理部により前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納する処理が行われる度に、行われた当該処理で前記記憶装置内に書き込まれた前記格納対象データと同内容の、重複数がN未満ではないことを前記重複数管理情報が示しているデータを、前記削除可能データとして取り扱う
ことを特徴とする請求項1から4のいずれか一項に記載のストレージ制御装置。 - 前記対応関係情報は、
或るデータに関する前記第1のアドレスと、当該データに関する前記第2のアドレス、又は、当該データについての、当該データから所定アルゴリズムにて算出されたハッシュ値である検証用ハッシュ値とが設定されたレコードを複数個記憶できるマップテーブルと、
前記記憶装置内の互いに異なるデータ記憶領域に対応づけられたm(≧2)個のログテーブルであって、それぞれ、或るデータについての前記検証用ハッシュ値と当該データが書き込まれている前記記憶装置の単位記憶領域の前記第2のアドレスとが設定されたレコードを複数個記憶できるm個のログテーブルと、を含み、
前記フィルタ情報は、
前記m個のログテーブルに対応づけられたm個の前記データ記憶領域の中の、互いに異
なる前記データ記憶領域に対応づけられたm個のブルームフィルタを、含み
前記格納処理部は、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記格納対象データに関する前記第1のアドレスと前記格納対象データが書き込まれた単位記憶領域の前記第2のアドレスとが設定されたレコードを前記マップテーブルに追加し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを、前記m個のブルームフィルタの中の、前記格納対象データが書き込まれた単位記憶領域を含む前記データ記憶領域に対応づけられているブルームフィルタに登録し、前記格納対象データに関する前記第1のアドレスと前記格納対象データについての前記検証用ハッシュ値とを設定したレコードを前記マップテーブルに追加し、前記格納対象データが書き込まれた単位記憶領域を含む前記データ記憶領域に対応づけられている前記ログテーブルに前記格納対象データについての前記検証用ハッシュ値と前記格納対象データが書き込まれた当該単位記憶領域の前記第2のアドレスとが設定されたレコードを追加し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データに関する第1のアドレスと前記格納対象データについての前記検証用ハッシュ値とを設定したレコードを前記マップテーブルに追加する
ことを特徴とする請求項1から5のいずれか一項に記載のストレージ制御装置。 - 前記後処理部は、
前記マップテーブルに前記第2のアドレスが設定されたレコードが記憶されており、且つ、重複数がN未満ではないことを前記重複数管理情報が示しているデータを、前記削除可能データとして特定する
ことを特徴とする請求項6に記載のストレージ制御装置。 - 前記フィルタ情報が、
前記m個のブルームフィルタを、最下段のブルームフィルタとして含む多段ブルームフィルタである
ことを特徴とする請求項6又は7に記載のストレージ制御装置。 - 記憶装置を制御するストレージ制御装置の制御方法において、
前記ストレージ制御装置が、
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを、前記ストレージ制御装置が有する保持部に保持し、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納し、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行なわず、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除する
ことを特徴とするストレージ制御装置の制御方法。 - 記憶装置を制御するストレージ制御装置の制御プログラムにおいて、
前記ストレージ制御装置に、
入力された第1のアドレスに対応するハッシュ値と、前記記憶装置のアドレスである第2のアドレスとの対応関係を管理する対応関係情報と、ブルームフィルタを含むフィルタ情報と、前記記憶装置に格納された各データの重複数を管理する重複数管理情報とを、前記ストレージ制御装置が有する保持部に保持させ、
前記記憶装置に格納が指示された格納対象データが、前記重複数管理情報が示す重複数がN(Nは自然数)未満のデータである第1のデータ種別である場合、前記重複数を1だけ増分し、前記格納対象データを前記フィルタ情報に登録することなく前記記憶装置に格納させ、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報に登録されていないデータである第2のデータ種別である場合、前記格納対象データを前記フィルタ情報に登録するとともに前記記憶装置内に格納させ、
前記重複数管理情報が示している重複数がN以上、且つ、前記フィルタ情報の管理対象のデータである第3のデータ種別である場合、前記格納対象データの前記フィルタ情報への登録及び前記格納対象データの前記記憶装置内への格納のいずれも行なわさせず、
前記記憶装置に格納されたデータの中から特定した前記記憶装置から削除しても同内容のデータが前記記憶装置内に残る削除可能データを、前記記憶装置から削除させる
ことを特徴とするストレージ制御装置の制御プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013074642A JP6089890B2 (ja) | 2013-03-29 | 2013-03-29 | ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム |
PCT/JP2014/058352 WO2014157243A1 (ja) | 2013-03-29 | 2014-03-25 | ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム |
US14/861,159 US10007436B2 (en) | 2013-03-29 | 2015-09-22 | Storage control apparatus and control method of storage control apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013074642A JP6089890B2 (ja) | 2013-03-29 | 2013-03-29 | ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014199573A JP2014199573A (ja) | 2014-10-23 |
JP6089890B2 true JP6089890B2 (ja) | 2017-03-08 |
Family
ID=51624212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013074642A Active JP6089890B2 (ja) | 2013-03-29 | 2013-03-29 | ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10007436B2 (ja) |
JP (1) | JP6089890B2 (ja) |
WO (1) | WO2014157243A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6685334B2 (ja) * | 2016-02-15 | 2020-04-22 | 株式会社日立製作所 | ストレージ装置 |
CN108604165B (zh) * | 2016-02-29 | 2021-09-24 | 株式会社日立制作所 | 存储装置 |
JP6805816B2 (ja) * | 2016-12-27 | 2020-12-23 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
US10635654B2 (en) * | 2017-06-12 | 2020-04-28 | Samsung Electronics Co., Ltd. | Data journaling for large solid state storage devices with low DRAM/SRAM |
US11494755B2 (en) * | 2017-08-21 | 2022-11-08 | First Performance Corporation | Systems and methods for providing low-latency access to cardholder location data and determining merchant locations and types |
JP6916442B2 (ja) | 2017-11-21 | 2021-08-11 | 富士通株式会社 | データ処理装置およびデータ処理プログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934802B2 (en) * | 2002-04-19 | 2005-08-23 | Seagate Technology Llc | Band detection and performance optimization for a data storage device |
US6751707B2 (en) * | 2002-05-06 | 2004-06-15 | Sony Computer Entertainment Inc. | Methods and apparatus for controlling a cache memory |
US7290092B2 (en) * | 2003-12-10 | 2007-10-30 | International Business Machines Corporation | Runtime register allocator |
US7836226B2 (en) * | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8527482B2 (en) * | 2008-06-06 | 2013-09-03 | Chrysalis Storage, Llc | Method for reducing redundancy between two or more datasets |
JP5127670B2 (ja) | 2008-11-04 | 2013-01-23 | 三菱電機株式会社 | フィルタ装置及びフィルタ方法及びプログラム |
US8200857B2 (en) * | 2009-11-30 | 2012-06-12 | Lsi Corporation | Coalescing multiple contexts into a single data transfer in a media controller architecture |
JP4838878B2 (ja) * | 2009-12-04 | 2011-12-14 | 富士通株式会社 | データ管理プログラム、データ管理装置、およびデータ管理方法 |
JP5359941B2 (ja) | 2010-03-10 | 2013-12-04 | 富士通株式会社 | データ管理装置及びデータ管理方法 |
JP5664467B2 (ja) * | 2011-06-13 | 2015-02-04 | 富士通株式会社 | 検索プログラム、検索方法、検索装置、およびノード |
JP6179093B2 (ja) * | 2012-12-03 | 2017-08-16 | 富士通株式会社 | 演算処理装置、演算処理方法 |
JP6098301B2 (ja) * | 2013-03-29 | 2017-03-22 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
-
2013
- 2013-03-29 JP JP2013074642A patent/JP6089890B2/ja active Active
-
2014
- 2014-03-25 WO PCT/JP2014/058352 patent/WO2014157243A1/ja active Application Filing
-
2015
- 2015-09-22 US US14/861,159 patent/US10007436B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2014157243A1 (ja) | 2014-10-02 |
JP2014199573A (ja) | 2014-10-23 |
US20160011789A1 (en) | 2016-01-14 |
US10007436B2 (en) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6089890B2 (ja) | ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム | |
US10402091B1 (en) | Managing data in log-structured storage systems | |
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
US8838875B2 (en) | Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon | |
US8856469B2 (en) | Apparatus and method for logging optimization using non-volatile memory | |
JP6098301B2 (ja) | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム | |
JP5881859B2 (ja) | ストレージ装置 | |
CN105843551B (zh) | 高性能和大容量储存重复删除中的数据完整性和损耗电阻 | |
KR101813786B1 (ko) | Ssd 상의 기록-시-복사를 위한 시스템 및 방법 | |
US11782632B2 (en) | Selective erasure of data in a SSD | |
US8572309B2 (en) | Apparatus and method to protect metadata against unexpected power down | |
US10108503B2 (en) | Methods and systems for updating a recovery sequence map | |
WO2015145647A1 (ja) | ストレージ装置とデータ処理方法及びストレージシステム | |
KR101933766B1 (ko) | 플래시 메모리 플러싱을 개선하는 방법 및 시스템 | |
JP6161721B2 (ja) | ホストからストレージ装置への削除されたデータの示唆 | |
JP6724534B2 (ja) | 情報処理装置、重複除去プログラム、及び重複除去方法 | |
US20160110107A1 (en) | Method for writing data into flash memory apparatus, flash memory apparatus, and storage system | |
JP5821744B2 (ja) | データ有無判定装置、データ有無判定方法及びデータ有無判定プログラム | |
KR20210076828A (ko) | 키-값 장치 및 이의 블록 인터페이스 에뮬레이션 방법 | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
CN109408416B (zh) | 一种地址映射表项页管理方法及装置 | |
KR101153688B1 (ko) | 데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템 | |
US20110153674A1 (en) | Data storage including storing of page identity and logical relationships between pages | |
KR101379161B1 (ko) | 저장장치에서 블룸필터를 적용한 역매핑 방법 및 시스템 | |
KR101341995B1 (ko) | 공유 데이터 저장소 관리 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161018 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161202 |
|
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: 20170110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6089890 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |