(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06F 3/06 20060101AFI20240903BHJP
【FI】
G06F3/06 301W
(21)【出願番号】P 2023028000
(22)【出願日】2023-02-27
【審査請求日】2023-02-27
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】栗田 俊
【審査官】松平 英
(56)【参考文献】
【文献】特開2019-096355(JP,A)
【文献】特開2019-074912(JP,A)
【文献】国際公開第2017/109822(WO,A1)
【文献】特開2011-232941(JP,A)
【文献】米国特許出願公開第2021/0034578(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06-3/08
12/00-12/128
13/16-13/18
(57)【特許請求の範囲】
【請求項1】
複数の元データ間で重複するデータを、複数の論理ディスクに保存管理する際に、前記複数の論理ディスクのうち、1つの元データに対する1つの論理ディスクには前記重複するデータを重複排除データとして保存し、前記複数の論理ディスクのうち、前記1つの元データ以外の他の元データに対する論理ディスクには前記重複排除データを参照するためのアドレス情報を保存する重複排除手段と、
前記複数の論理ディスクに対するアクセス状況を監視する監視手段と、
前記アクセス状況に応じて、前記重複排除データの移動先となる論理ディスクを決定する移動先決定手段と、
前記決定された前記重複排除データの移動先の論理ディスクに前記重複排除データを移動させる移動手段と、
前記決定された前記重複排除データの移動先に応じて、前記重複排除データが保存されている前記論理ディスクに関する情報と、前記他の元データに対する前記論理ディスクに保存された前記重複排除データを参照するためのアドレス情報を更新する設定情報更新手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記移動先決定手段は、前記複数の論理ディスクに対する読み込み回数および書込み回数が所定の第一閾値以下である場合に、アクセス性能が
低いと定められた論理ディスクを、前記重複排除データの移動先に決定する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記アクセス性能が
低いと定められた論理ディスクは、ネットワークを介して接続されたストレージ装置である、ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記移動先決定手段は、前記複数の論理ディスクに対する読み込み回数が所定の第二閾値以上である場合に、アクセス性能が
高いと定められた論理ディスクを、前記重複排除データの移動先に決定する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記アクセス性能が
高いと定められた論理ディスクは、ネットワークを介さず、直接接続されたストレージ装置である、ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記移動先決定手段は、前記複数の論理ディスクに対する読み込み回数および書込み回数の双方が所定の第3閾値以上である場合に、重複排除しているデータ数が多く、読み込み回数と書き込み回数の合計値が最も小さい論理ディスクを、前記重複排除データの移動先に決定する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記移動先決定手段は、
前記複数の論理ディスクに対する読み込み回数および書込み回数が所定の第一閾値以下である場合に、アクセス性能が
低いと定められた論理ディスクを、前記重複排除データの移動先に決定し、
前記複数の論理ディスクに対する読み込み回数が所定の第二閾値以上である場合に、アクセス性能が
高いと定められた論理ディスクを、前記重複排除データの移動先に決定し、
前記複数の論理ディスクに対する読み込み回数および書込み回数の双方が所定の第3閾値以上である場合に、重複排除しているデータ数が多く、読み込み回数と書き込み回数の合計値が最も小さい論理ディスクを、前記重複排除データの移動先に決定する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項8】
複数の元データ間で重複するデータを、複数の論理ディスクに保存管理する際に、前記複数の論理ディスクのうち、1つの元データに対する1つの論理ディスクには前記重複するデータを重複排除データとして保存し、前記複数の論理ディスクのうち、前記1つの元データ以外の他の元データに対する論理ディスクには前記重複排除データを参照するためのアドレス情報を保存するステップと、
前記複数の論理ディスクに対するアクセス状況を監視するステップと、
前記アクセス状況に応じて、前記重複排除データの移動先となる論理ディスクを決定するステップと、
前記決定された前記重複排除データの移動先の論理ディスクに前記重複排除データを移動させるステップと、
前記決定された前記重複排除データの移動先に応じて、前記重複排除データが保存されている前記論理ディスクに関する情報と、前記他の元データに対する前記論理ディスクに保存された前記重複排除データを参照するためのアドレス情報を更新するステップと、 を含むことを特徴とする情報処理方法。
【請求項9】
情報処理装置のコンピュータを、
複数の元データ間で重複するデータを、複数の論理ディスクに保存管理する際に、前記複数の論理ディスクのうち、1つの元データに対する1つの論理ディスクには前記重複するデータを重複排除データとして保存し、前記複数の論理ディスクのうち、前記1つの元データ以外の他の元データに対する論理ディスクには前記重複排除データを参照するためのアドレス情報を保存する重複排除機能、
前記複数の論理ディスクに対するアクセス状況を監視する監視機能、
前記アクセス状況に応じて、前記重複排除データの移動先となる論理ディスクを決定する移動先決定機能、
前記決定された前記重複排除データの移動先の論理ディスクに前記重複排除データを移動させる移動機能、
前記決定された前記重複排除データの移動先に応じて、前記重複排除データが保存されている前記論理ディスクに関する情報と、前記他の元データに対する前記論理ディスクに保存された前記重複排除データを参照するためのアドレス情報を更新する設定情報更新機能、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、ストレージ装置では、取り扱うデータ量の増加に伴い、ボリューム容量の利用効率を向上させるため、ボリュームに格納されるデータのデータ量、または格納するデータのデータ量を、圧縮技術や、重複排除技術などを利用して削減することが広く行われている。また、データの格納に際しては、ストレージ装置内のハードディスクドライブ(HDD)や、ソリッドステートドライブ(SSD)などに限らず、外部ストレージや、クラウドストレージなどを活用するストレージシステムが普及している。なお、以下では、ストレージシステムに含まれる、ストレージ装置や、外部ストレージ、およびクラウドストレージなどを総称してストレージ装置と称し、ホスト装置に直接接続されたストレージ装置を区別する際には、自ストレージ装置と称する。
【0003】
このようなストレージシステムにおいても、前述したデータの重複排除技術を複数のストレージ装置を跨いで行うことにより、ストレージシステム全体としてボリューム容量の利用効率の改善が行われている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
このような重複排除技術を用いたデータ管理では、重複排除したデータへのアクセス状況に応じて、重複排除したデータを移動させる必要性や、そのために重複排除したデータの参照元や、参照先などのアドレス更新などの処理が生じる。しかしながら、特許文献1による重複排除技術では、ストレージ装置間のデータ通信処理の発生や、データ通信の回線遅延の影響を考慮していないため、ストレージ装置に対するアクセス性能の低下・負荷集中が発生してしまうという問題があった。
【0006】
そこで本発明は、ストレージ装置に対するアクセス性能の低下・負荷集中を低減する情報処理装置、情報処理方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
上述した課題を解決するために、本発明の一態様は、複数の元データ間で重複するデータを、複数の論理ディスクに保存管理する際に、前記複数の論理ディスクのうち、1つの元データに対する1つの論理ディスクには前記重複するデータを重複排除データとして保存し、前記複数の論理ディスクのうち、前記1つの元データ以外の他の元データに対する論理ディスクには前記重複排除データを参照するためのアドレス情報を保存する重複排除手段と、前記複数の論理ディスクに対するアクセス状況を監視する監視手段と、前記アクセス状況に応じて、前記重複排除データの移動先となる論理ディスクを決定する移動先決定手段と、前記決定された前記重複排除データの移動先の論理ディスクに前記重複排除データを移動させる移動手段と、前記決定された前記重複排除データの移動先に応じて、前記重複排除データが保存されている前記論理ディスクに関する情報と、前記他の元データに対する前記論理ディスクに保存された前記重複排除データを参照するためのアドレス情報を更新する設定情報更新手段と、を備えることを特徴とする。
【0008】
また、本発明の一態様は、複数の元データ間で重複するデータを、複数の論理ディスクに保存管理する際に、前記複数の論理ディスクのうち、1つの元データに対する1つの論理ディスクには前記重複するデータを重複排除データとして保存し、前記複数の論理ディスクのうち、前記1つの元データ以外の他の元データに対する論理ディスクには前記重複排除データを参照するためのアドレス情報を保存するステップと、前記複数の論理ディスクに対するアクセス状況を監視するステップと、前記アクセス状況に応じて、前記重複排除データの移動先となる論理ディスクを決定するステップと、前記決定された前記重複排除データの移動先の論理ディスクに前記重複排除データを移動させるステップと、前記決定された前記重複排除データの移動先に応じて、前記重複排除データが保存されている前記論理ディスクに関する情報と、前記他の元データに対する前記論理ディスクに保存された前記重複排除データを参照するためのアドレス情報を更新するステップと、を含むことを特徴とする。
【0009】
また、本発明の一態様は、情報処理装置のコンピュータを、複数の元データ間で重複するデータを、複数の論理ディスクに保存管理する際に、前記複数の論理ディスクのうち、1つの元データに対する1つの論理ディスクには前記重複するデータを重複排除データとして保存し、前記複数の論理ディスクのうち、前記1つの元データ以外の他の元データに対する論理ディスクには前記重複排除データを参照するためのアドレス情報を保存する重複排除機能、前記複数の論理ディスクに対するアクセス状況を監視する監視機能、前記アクセス状況に応じて、前記重複排除データの移動先となる論理ディスクを決定する移動先決定機能、前記決定された前記重複排除データの移動先の論理ディスクに前記重複排除データを移動させる移動機能、前記決定された前記重複排除データの移動先に応じて、前記重複排除データが保存されている前記論理ディスクに関する情報と、前記他の元データに対する前記論理ディスクに保存された前記重複排除データを参照するためのアドレス情報を更新する設定情報更新機能、として機能させることを特徴とする。
【発明の効果】
【0010】
以上説明したように、ストレージ装置に対するアクセス性能の低下・負荷集中を低減することができるという利点が得られる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態による情報処理システム1の構成を示すブロック図である。
【
図2】本実施形態による重複排除管理テーブル34のデータ構成を示す概念図である。
【
図3】本実施形態による情報処理システム1の動作を説明するためのフローチャートである。
【
図4】本実施形態による情報処理システム1の第1動作例を説明するための概念図である。
【
図5】本実施形態による情報処理システム1の第1動作例を説明するための概念図である。
【
図6】本実施形態による情報処理システム1の第2動作例を説明するための概念図である。
【
図7】本実施形態による情報処理システム1の第2動作例を説明するための概念図である。
【
図8】本実施形態による情報処理システム1の第3動作例を説明するための概念図である。
【
図9】本実施形態による情報処理システム1の第3動作例を説明するための概念図である。
【
図10】本実施形態による情報処理システムの最小構成を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を、図面を参照して説明する。
【0013】
A.実施形態の構成
図1は、本発明の実施形態による情報処理ステムの構成を示すブロック図である。
図1において、情報処理システム1は、ホスト装置10、ストレージ装置20、外部ストレージ200、クラウドストレージ300、およびネットワーク400から構成されている。ホスト装置10は、直接接続されているストレージ装置20との間で各種データを送受信する。
【0014】
ストレージ装置20は、コントローラ30とディスク部40とを有する。コントローラ30は、ホスト制御部31、ディスク制御部32、重複排除データ監視部(重複排除手段、監視手段、移動先決定手段、移動手段、設定情報更新手段)33、および重複排除管理テーブル34を有する。ディスク部40は、複数のHDD(Hard Disk Drive)41、…、41からなる。
【0015】
ホスト制御部31は、ホスト装置10と接続され、ホスト装置10とのデータの送受信を行う。なお、ホスト装置10は、1つ、もしくは複数であってもよい。ディスク制御部32は、ディスク部40と接続され、複数のHDD41、…、41へのデータの読み書きを行う。複数のHDD41、…、41は、所定の単位毎に、複数のRAID構成42、…、42を構成している。なお、重複排除データ監視部33および重複排除管理テーブル34の詳細について後述する。
【0016】
また、ストレージ装置20は、ネットワーク400を介して外部ストレージ200およびクラウドストレージ300に接続されている。外部ストレージ200は、大容量の記憶媒体からなるボリューム210を有し、クラウドストレージ300は、大容量の記憶媒体からなるボリューム310を有する。
【0017】
ストレージ装置20は、複数のRAID構成42、…、42、および上記外部ストレージ200のボリューム210およびクラウドストレージ300のボリューム310において、LD(論理ディスク)50を構成している。LD50は、LDN(論理ディスク番号;LDを識別するための番号)で識別される複数のLD51、…、51、52…52からなる。図示の例では、LD51、…、51が、各々、RAID構成42、…、42に対応しており、LD52、…、52が、各々、外部ストレージ200のボリューム210およびクラウドストレージ300のボリューム310に対応している。データの実体は、RAID構成42、…、42、外部ストレージ200のボリューム210、およびクラウドストレージ300のボリューム310のいずれかに格納される。なお、HDD41、…、41は、例えばSSD(Solid State Disk)などの他の記憶媒体で構成してもよい。
【0018】
図2は、本実施形態による重複排除管理テーブル34のデータ構成を示す概念図である。
図2において、重複排除管理テーブル34は、LD61(#0、#1、…、#N)毎のリストで構成されている。リストは、ある単位(32KB)毎のLBA(論理ブロックアドレス)62、重複排除状態63、重複排除数(重複排除処理の対象数)64、参照先LDN65、参照先LBA66、データ格納ストレージ67、Read回数68、Write回数69で構成され、LBA62毎に各情報を保持している。LBA62は、LDの論理ブロックアドレスを示している。重複排除状態63には、重複排除データ(実データ)の参照元であるか、参照先であるか、重複排除未実施かの状態を示す情報が格納される。なお、「参照元」は、重複排除データが格納されていることを示し、「参照先」は、重複排除データを参照していることを示す。重複排除数64は、重複排除処理の対象となる同じデータを示すデータ実態の数を示している。
【0019】
なお、重複排除管理テーブル34は、32KBごとのボリュームを特定するためのLBA62のリストで構成されており、データが重複しているかどうか(重複判定)は、LBA62単位で、すなわち32KBごとのデータで判定する。また、重複判定は、周知の方法(例えば、米国特許出願公開第2007/0101074号明細書で示されている方法)などで行うものとする。重複判定とは、LBA62に含まれるデータが一致しているかどうかの判定である。なお、各LDNや、LBA62の単位および重複判定方法は、上述した値および方法のみに限定されない。重複判定の結果、複数のLBA62でデータが重複していると判定した場合、ストレージ装置1は重複排除の処理を行う。これにより重複しているデータを記憶する一方のLBA62からはデータの実態が削除され、当該一方のLBA62は他方のLBA62を参照先として、他方のLBA62にのみデータの実態が保存される。この場合、他方のLBA62が参照元となる。重複排除の処理の結果、重複排除管理テーブル34における重複排除状態63のカラムには参照元または参照先のフラグが記録される。参照元はデータの実態を記憶するLBA62、参照先は参照元の記憶するデータの実態を参照先として参照しているLBA62であることを示す。
【0020】
参照先LDN65は、重複排除を実施している場合、重複排除データの参照先のLD61を示す。参照先LBA66は、重複排除を実施している場合に、重複排除データの参照先のLBA62を示す。参照先LDN65と参照先LBA66とが、重複排除データが保存されているアドレスを示す。また、データ格納ストレージ67は、重複排除を実施している場合に、重複排除データが格納されているストレージ装置の識別子を示す。Read回数68およびWrite回数69は、ホスト装置10等の他の装置から該当LBAに対する一定期間内のRead(読出し)およびWrite(書込み)のアクセス回数が格納される。
【0021】
なお、LBA(論理ブロックアドレス)とは、HDDなどの外部記憶装置においてアドレスを指定する方法の一種で、記憶媒体にアクセスできる単位(セクタ)すべてに通し番号のアドレスを振り、その通し番号によって記録位置へのアクセスを可能にする方式のことである。本実施形態においても、LDの番号を示すLDNと、LD内のアドレスを示すLBAとによってデータが保存されているアドレスを指定するようになっている。
【0022】
重複排除データ監視部33は、定期的もしくはユーザからの指示があった場合に、重複排除管理テーブル34のLD61およびLBA62毎に、重複排除データのRead回数68およびWrite回数69をチェックする。重複排除データ監視部33は、Read回数68および/またはWrite回数69に基づいて、重複排除データの参照元として最適なLBA(論理上のストレージ)62を決定し、新たに参照元として決定したLBA62が、現在の重複排除データの参照元であるLBA62と異なる場合は、重複排除データを新たに参照元として決定したLBA62で示される保存領域に移動させる。その後、移動した重複排除データの参照元および参照先であるLBA62に関して、重複排除状態43、重複排除数44、参照先LDN45、参照先LBA46、データ格納ストレージ47を更新する。
【0023】
B.実施形態の動作
図3は、本実施形態による情報処理システム1の動作を説明するためのフローチャートである。また、
図4、
図5、
図6、
図7、
図8、および
図9は、本実施形態による情報処理システム1の具体的な動作例を説明するための概念図である。
【0024】
ここで、説明のための具体例として、ストレージ装置20をストレージA、外部ストレージ200又はクラウドストレージ300をストレージBとする。ストレージ装置20は、ホスト装置10に直接接続されているので、比較的アクセス頻度が多い重複排除データを格納するために用いられる。一方、外部ストレージ200又はクラウドストレージ300は、ネットワーク400を介してアクセスされるためにアクセス性能の影響を受けやすいので、比較的アクセス頻度が少ない重複排除データを格納するために用いられる。
【0025】
重複排除データ監視部33は、定期的もしくはユーザが指示を行った場合に、重複排除管理テーブル34のLD61およびLBA62毎に以下の処理を実行する。重複排除データ監視部33は、まず、監視対象のLD61の該当LBA62の重複排除状態63が「未実施」であるか否かを判断する(ステップS10)。そして、重複排除状態63が「未実施」である場合には(ステップS10のYES)、重複排除データ監視部33は、監視対象を次のLBA(次の32KB)に設定し(ステップS28)、ステップS10に戻る。
【0026】
一方、重複排除状態63が「未実施」でない場合、すなわち該当LBA62の重複排除状態63が「参照元」又は「参照先」である場合には(ステップS10のNO)、重複排除データ監視部33は、監視対象のLBA62とそのLBA62に関連して重複排除を実施している他の全てのLBA62におけるRead回数68とWrite回数69(I/O特性)を重複排除管理テーブル34から取得する(ステップS12)。つまり重複排除データ監視部33は、参照元と参照先の関係にある各LBA62について、Read回数68とWrite回数69(I/O特性)を重複排除管理テーブル34から取得する。
【0027】
次に、重複排除データ監視部33は、Read回数68およびWrite回数69が共に閾値(例えば、Read回数閾値が10、Write回数閾値が5)以下であるか否かを判断する(ステップS14)。そして、双方が閾値以下である場合には(ステップS14のYES)、重複排除データの参照元を、ネットワーク400を介してアクセスする外部ストレージ200又はクラウドストレージ300、すなわちデータ格納ストレージ67が「B」のLBA62に決定する(ステップS20)。つまり、アクセスが比較的少ない重複排除データについては、ネットワーク400を介してアクセスする外部ストレージ200又はクラウドストレージ300「B」(ストレージとしての比較的能力の低いストレージ)に保存したとしても、アクセス性能の低下が発生しにくいためである。なお、ネットワーク400を介して接続しているストレージであっても、当該ネットワーク回線における単位時間当たりのデータ伝送量が大きい場合いは、そのストレージは比較的能力が高いとして、他の比較的能力の低いストレージを新たな参照元として決定してもよい。
【0028】
ここで、現在(重複排除処理後)の重複排除管理テーブル34が、例えば、
図4に示すように、LD61「#0」において、LBA62「1000」では、重複排除状態63が「参照元」、重複排除数64が「3」、データ格納ストレージ67が「A」、Read回数68が「5」、Write回数69が「0」であるとする。また、LD61「#0」において、LBA62「2000」では、重複排除状態63が「未実施」、データ格納ストレージ67が「A」、Read回数68が「10」、Write回数69が「0」であるとする。なお、図中、「-」は無効(データなし)を意味する。
【0029】
同様に、LD61「#1」において、LBA62「11000」では、重複排除状態63が「参照先」、重複排除数64が「3」、参照先LDNが「0」、参照先LBAが「1000」、データ格納ストレージ67が「A」、Read回数68が「0」、Write回数69が「0」であるとする。また、LD61「#1」において、LBA62「12000」では、重複排除状態63が「未実施」、データ格納ストレージ67が「A」、Read回数68が「5」、Write回数69が「5」であるとする。なお、参照先LDNが「0」、参照先LBAが「1000」は、参照先のLDとLBAを示しており、換言すれば、重複排除データの実態が、LD61「#0」のLBA62「1000」に保存されていることを意味する。
【0030】
そして、LD61「#200」において、LBA62「201000」では、重複排除状態63が「参照先」、重複排除数64が「3」、参照先LDNが「0」、参照先LBAが「1000」、データ格納ストレージ67が「B」、Read回数68が「5」、Write回数69が「0」であるとする。また、LD61「#200」において、LBA62「202000」では、重複排除状態63が「未実施」、データ格納ストレージ67が「B」、Read回数68が「10」、Write回数69が「0」であるとする。参照先LDN65が「0」、参照先LBA66が「1000」については上述した通りである。
【0031】
図4に示す例では、LD61「#0」において、LBA62「1000」におけるRead回数68が「5」、Write回数69が「0」である(太線の矩形を参照)。この場合、Read回数68およびWrite回数69が共に閾値以下であるので、アクセス頻度が少ないことから、ネットワークを介して接続される、データ格納ストレージ67「B(外部ストレージ200又はクラウドストレージ300)」であるLD「#200」におけるLBA62「201000」を、重複排除データの参照元に決定する(太線の矩形を参照)。
【0032】
次に、重複排除データ監視部33は、現在の参照元のLBA62から新たに参照元に決定したLBA62に変更があったか否か、すなわち新たに参照元に決定したLBA62の重複排除状態63が既に「参照元」であるか否かを判断する(ステップS22)。そして、現在の参照元のLBA62から新たに参照元に決定したLBA62に変更が無かった場合、すなわち新たに参照元に決定したLBA62の重複排除状態63が既に「参照元」である場合には(ステップS22のNO)、重複排除データ監視部33は、監視対象を次のLBA(次の32KB)に設定し(ステップS28)、ステップS10に戻る。
【0033】
一方、参照元に決定したLBA62の重複排除状態63が「参照先」であった場合には(ステップS22のYES)、重複排除データ監視部33は、参照元が変更されたと判断し、現在の参照元であるLBA62に格納されている重複排除データの実態を、新たに参照元に決定したLD61のLBA62に移動する(ステップS24)。次に、重複排除データ監視部33は、重複排除管理テーブル34の各項目を更新する(ステップS26)。
【0034】
図4に示す例では、現在の参照元であるLD61「#1」におけるLBA62「1000」に格納されている重複排除データの実態を、新たに参照元に決定したLD61「#200」におけるLBA62「201000」で示される保存領域に移動する。また、
図5に示す斜線によるハッチングのように、LD61「#0」において、LBA62「1000」では、重複排除状態63を「参照元」から「参照先」、参照先LDN65を無効「-」から「200」、参照先LBA66を無効「-」から「201000」に更新する。また、LD61「#1」において、LBA62「11000」では、参照先LDN65を「0」から「200」、参照先LBA66を「1000」から「201000」に更新する。そして、LD61「#200」において、LBA62「201000」では、重複排除状態63を「参照先」から「参照元」、参照先LDN65を「0」から無効「-」、参照先LBA66を「1000」から無効「-」に更新する。
【0035】
その後、重複排除データ監視部33は、監視対象を次のLBA(次の32KB)に設定し(ステップS28)、ステップS10に戻る。
【0036】
このように、Read回数68およびWrite回数69が共に閾値以下である場合には、重複排除データの参照元を、アクセス性能の影響を受けにくい、ネットワーク400を介してアクセスする外部ストレージ200又はクラウドストレージ300、すなわちデータ格納ストレージ67が「B」であるLD61が「#200」に変更するようにしたので、他のRead回数68およびWrite回数69の大きいデータに対するアクセス性能が維持され、これにより、ストレージ装置に対するアクセス性能の低下・負荷集中を低減することができる。
【0037】
上述したステップS14において、Read回数68およびWrite回数69が共に閾値以下でない場合には(ステップS14のNO)、Read回数68が閾値(例えば、Read回数の閾値が50)以上であるか否かを判断する(ステップS16)。そして、Read回数68が閾値以上である場合には(ステップS16のYES)、重複排除データの参照元を、比較的アクセスが容易な(速い、比較的能力の高い)ホスト装置10に直接接続されたストレージ装置20、すなわちデータ格納ストレージ67が「A」であるLBA62に決定する(ステップS20)。つまり、アクセスが比較的多い重複排除データについては、ネットワーク400を介してアクセスする外部ストレージ200又はクラウドストレージ300「B」よりも、ホスト装置10に直接接続されたストレージ装置20の方がアクセス性能の低下が発生しにくいためである。
【0038】
ここで、現在(重複排除処理後)の重複排除管理テーブル34が、例えば、
図6に示すように、LD61「#0」において、LBA62「4000」では、重複排除状態63が「参照先」、重複排除数64が「3」、参照先LDN65が「200」、参照先LBA66が「204000」、データ格納ストレージ67が「A」、Read回数68が「50」、Write回数69が「0」であるとする。また、LD61「#0」において、LBA62「5000」では、重複排除状態63が「未実施」、データ格納ストレージ67が「A」、Read回数68が「10」、Write回数69が「0」であるとする。なお、図中、「-」は無効(データなし)を意味する。なお、参照先LDNが「200」、参照先LBAが「204000」は、参照先のLDとLBAを示しており、換言すれば、重複排除データが、LDNが「#200」、LBA62が「204000」に格納されていることを意味する。
【0039】
同様に、LD61「#1」において、LBA62「14000」では、重複排除状態63が「参照先」、重複排除数64が「3」、参照先LDNが「200」、参照先LBAが「204000」、データ格納ストレージ67が「A」、Read回数68が「20」、Write回数69が「0」であるとする。また、LD61「#1」において、LBA62「15000」では、重複排除状態63が「未実施」、データ格納ストレージ67が「A」、Read回数68が「5」、Write回数69が「5」であるとする。参照先LDN65が「200」、参照先LBA66が「204000」については上述した通りである。
【0040】
そして、LD61「#200」において、LBA62「204000」では、重複排除状態63が「参照元」、重複排除数64が「3」、データ格納ストレージ67が「B」、Read回数68が「40」、Write回数69が「0」であるとする。また、LD61「#200」において、LBA62「205000」では、重複排除状態63が「未実施」、データ格納ストレージ67が「B」、Read回数68が「10」、Write回数69が「0」であるとする。
【0041】
図6に示す重複排除管理テーブル34では、LD61「#200」において、LBA62「204000」で示される保存領域(データ格納ストレージ「B」=外部ストレージ200又はクラウドストレージ300)に重複排除データの実態が保存されており、当該重複排除データの実態が、LD61「#0」におけるLBA62「4000」と、LD61「#1」におけるLBA62「14000」とから参照されることを意味する。
【0042】
図4に示す例では、LD61「#0」において、LBA62「4000」におけるRead回数68が「50」である(太線の矩形を参照)。この場合、Read回数68が閾値以上であるので、データ格納ストレージ47が「A(ストレージ装置20)」である、LD「#0」、LBA62「4000」を、重複排除データの参照元に決定する(太線の矩形を参照)。
【0043】
次に、重複排除データ監視部33は、上述したように、現在の参照元のLBA62から新たに参照元に決定したLBA62に変更があったか否か、すなわち新たに参照元に決定したLBA62の重複排除状態63が既に「参照元」であるか否かを判断し(ステップS22)、新たに参照元に決定したLBA62の重複排除状態63が既に「参照元」である場合には(ステップS22のNO)、重複排除データ監視部33は、監視対象を次のLBA(次の32KB)に設定し(ステップS28)、ステップS10に戻る。すなわち、新たに参照元に決定したLBA62における重複排除状態63が既に「参照元」である場合には、重複排除データを移動させる必要がないので、重複排除管理テーブル34を更新することなく、次のLBA(次の32KB)に進む。
【0044】
一方、参照元に決定したLBA62の重複排除状態63が「参照先」であった場合には(ステップS22のYES)、重複排除データ監視部33は、上述したように、重複排除データの実態を、新たに参照元に決定したLD61のLBA62に移動し(ステップS24)、重複排除管理テーブル34の各項目を更新する(ステップS26)。
【0045】
図6に示す例では、現在の参照元であるLD61「#200」におけるLBA62「204000」に格納されている重複排除データを、新たに参照元に決定したLD61「#0」におけるLBA62「4000」で示される保存領域に移動する。また、
図7に示す斜線によるハッチングのように、LD61「#0」において、LBA62「4000」では、重複排除状態63を「参照先」から「参照元」、参照先LDN65を「200」から無効「-」、参照先LBA66を「204000」から無効「-」に更新する。また、LD61「#1」において、LBA62「14000」では、参照先LDN65を「200」から「0」、参照先LBA66を「204000」から「4000」に更新する。そして、LD61「#200」において、LBA62「204000」では、重複排除状態63を「参照元」から「参照先」、参照先LDN65を無効「-」から「0」、参照先LBA66を無効「-」から「4000」に更新する。
【0046】
その後、重複排除データ監視部33は、監視対象を次のLBA(次の32KB)に設定し(ステップS28)、ステップS10に戻る。
【0047】
このように、ステップS16においてRead回数68が閾値以上であると判定した場合には、重複排除データの参照元を、ホスト装置10に直接接続され、アクセス性能が低下しにくいストレージ装置20、すなわちデータ格納ストレージ67が「A」であるLD61が「#0」に変更するようにしたので、ストレージ装置に対するアクセス性能の低下・負荷集中を低減することができる。
【0048】
上述したステップS16において、Read回数68が閾値以上でない場合には(ステップS16のNO)、参照元のLBAへのWrite回数69が閾値(例えば、Write回数の閾値が30)以上であるか否かを判断する(ステップS18)。そして、Write回数69が閾値以上である場合には(ステップS18のYES)、重複排除データの参照元を、比較的アクセス頻度が少ない(Read回数とWrite回数の合計値が最も小さい)LBA62に決定する(ステップS20)。つまり、参照元のLBAへのWrite回数69が比較的多い(所定の閾値よりも多い)場合には、重複排除データが変更される可能性が高く、変更された場合には、そもそも参照元として重複排除データの実態を残すことが不適切である。つまり参照元を参照先としているLBA62においては、参照元が変更されることが不適切な場合があり、そのような場合には、参照元を記憶する新たな他のLBA62を決定する必要がある。よって、重複排除処理を実行して、重複排除データの移動や、重複排除管理テーブル34の更新などを行う必要が生じる。そこで、Write回数69が比較的多い(所定の閾値よりも多い)場合には、重複排除しているLBAの数が多く、Read回数とWrite回数の合計値が最も小さいLBAを、重複排除データの参照元に変更した方がアクセス性能の低下が発生しにくい。
【0049】
ここで、現在(重複排除処理後)の重複排除管理テーブル34が、例えば、
図8に示すように、LD61「#0」において、LBA62「8000」では、重複排除状態63が「参照元」、重複排除数64が「5」、データ格納ストレージ67が「A」、Read回数68が「20」、Write回数69が「30」であるとする。また、LD61「#0」において、LBA62「9000」では、重複排除状態63が「未実施」、データ格納ストレージ67が「A」、Read回数68が「5」、Write回数69が「5」であるとする。なお、図中、「-」は無効(データなし)を意味する。
【0050】
同様に、LD61「#1」において、LBA62「18000」では、重複排除状態63が「参照先」、重複排除数64が「5」、参照先LDNが「0」、参照先LBAが「8000」、データ格納ストレージ67が「A」、Read回数68が「20」、Write回数69が「35」であるとする。また、LD61「#1」において、LBA62「19000」では、重複排除状態63が「未実施」、データ格納ストレージ67が「A」、Read回数68が「5」、Write回数69が「5」であるとする。なお、参照先LDN「0」、参照先LBA「8000」は、参照先のLDとLBAを示しており、換言すれば、重複排除データが、LDN「#0」のLBA62「8000」に格納されていることを意味する。
【0051】
そして、LD61「#200」において、LBA62「208000」では、重複排除状態63が「参照先」、重複排除数64が「5」、参照先LDN65が「0」、参照先LBA66が「8000」、データ格納ストレージ67が「B」、Read回数68が「5」、Write回数69が「5」であるとする。また、LD61「#200」において、LBA62「209000」では、重複排除状態63が「参照先」、重複排除数64が「5」、参照先LDN65が「0」、参照先LBA66が「8000」、データ格納ストレージ67が「B」、Read回数68が「5」、Write回数69が「0」であるとする。そして、LD61「#200」において、LBA62「20A000」では、重複排除状態63が「参照先」、重複排除数64が「5」、参照先LDN65が「0」、参照先LBA66が「8000」、データ格納ストレージ67が「B」、Read回数68が「5」、Write回数69が「0」であるとする。参照先LDN65が「0」、参照先LBA66が「8000」については上述した通りである。
【0052】
図8に示す例では、LD61「#0」では、LBA62「8000」におけるWrite回数69が「30」である(太線の矩形を参照)。この場合、Write回数69が閾値以上であるので、重複排除しているLBAの数が多く、Read回数68とWrite回数69の合計値が最も小さいLBA42「20A000」を、重複排除データの参照元に決定する(太線の矩形を参照)。なお、LBA42「209000」であってもよく、ここでは、LBA42「20A000」を重複排除データの参照元にランダムに決定した。
【0053】
次に、重複排除データ監視部33は、上述したように、現在の参照元のLBA62から新たに参照元に決定したLBA62に変更があったか否か、すなわち新たに参照元に決定したLBA62の重複排除状態63が既に「参照元」であるか否かを判断し(ステップS22)、新たに参照元に決定したLBA62の重複排除状態63が既に「参照元」である場合には(ステップS22のNO)、重複排除データ監視部33は、監視対象を次のLBA(次の32KB)に設定し(ステップS28)、ステップS10に戻る。すなわち、新たに参照元に決定したLBA62における重複排除状態63が既に「参照元」である場合には、重複排除データを移動させる必要がないので、重複排除管理テーブル34を更新することなく、次のLBA(次の32KB)に進む。
【0054】
一方、参照元に決定したLBA62の重複排除状態63が「参照先」である場合には(ステップS22のYES)、重複排除データ監視部33は、上述したように、重複排除データを、新たに参照元に決定したLD61のLBA62に移動し(ステップS24)、重複排除管理テーブル34の各項目を更新する(ステップS26)。
【0055】
図8に示す例では、新たに参照元に決定したLBA62の重複排除状態63が「参照先」であるので、現在の参照元であるLD61「#0」におけるLBA62「8000」に格納されている重複排除データを、新たに参照元に決定したLD61「#200」におけるLBA62「20A000」で示される保存領域に移動する。
【0056】
また、
図9に示す斜線によるハッチングのように、LD61「#0」において、LBA62「8000」では、重複排除状態63を「参照元」から「参照先」、参照先LDN65を無効「-」から「200」、参照先LBA66を無効「-」から「20A000」に更新する。また、LD61「#1」において、LBA62「18000」では、参照先LDN65を「0」から「200」、参照先LBA66を「8000」から「20A000」に更新する。
【0057】
また、LD61「#200」において、LBA62「208000」では、参照先LDN65を「0」から「200」、参照先LBA66を「8000」から「20A000」に更新する。また、LD61「#200」において、LBA62「209000」では、参照先LDN65を「0」から「200」、参照先LBA66を「8000」から「20A000」に更新する。そして、LD61「#200」において、LBA62「20A000」では、重複排除状態63を「参照先」から「参照元」、参照先LDN65を「0」から無効「-」、参照先LBA66を「8000」から無効「-」に更新する。
【0058】
その後、重複排除データ監視部33は、監視対象を次のLBA(次の32KB)に設定し(ステップS28)、ステップS10に戻る。
【0059】
このように、Write回数69が閾値以上である場合には、重複排除データの参照元を、重複排除しているLBAの数が多く、Read回数68とWrite回数69の合計値が最も小さいLBAに変更するようにしたので、重複排除データの変更に伴う重複排除処理の実行頻度を抑えることができ、結果的にストレージ装置に対するアクセス性能の低下・負荷集中を低減することができる。
【0060】
なお、上述した実施形態では、参照元を決定する際に、Read回数48および/又はWrite回数49を用いて判断するようにしたが、これに限定されることなく、ストレージ装置20の負荷状態、ホスト装置10毎のアクセス頻度等、アクセス性能に影響する全てのパラメータを用いて判断するようにしてもよい。
【0061】
上述した実施形態によれば、重複排除データ監視部33が、論理ディスク50へのアクセス状況に応じた優先順位に従って、重複排除データの移動先を適切な論理ディスク50に決定するようにしたので、特定のストレージ装置に対するアクセスの集中を低減することができる。上記優先順位は、論理ディスク50へのアクセス状況(Read回数および/またはWrite回数)に応じて以下のように設定することができる。
【0062】
上述した実施形態によれば、重複排除データへのアクセス(Read回数およびWrite回数)が第一閾値以下場合には、重複排除データの移動先を、ネットワークを介して接続される外部ストレージ200又はクラウドストレージ300とするようにしたので、自ストレージ装置20に対するアクセスの集中を低減することができる。
【0063】
また、上述した実施形態によれば、重複排除データへのアクセス(Read回数)が第二閾値以上である場合には、重複排除データの移動先を、データ通信の回線遅延の可能性があるネットワークを介さずに、データ送受信することができる自ストレージ装置20とするようにしたので、アクセス性能の低下を回避することができる。
【0064】
また、重複排除データへのアクセス(Write回数)が第三閾値以上である場合には、重複排除データの移動先を、重複排除しているLBAの数が多く、Read回数68とWrite回数69の合計値が最も小さい論理ディスク50のLBAとしたので、重複排除データの変更に伴う重複排除処理の実行頻度を抑えることができ、結果的にストレージ装置全体に対するアクセス性能の低下・負荷集中を低減することができる。
【0065】
図10は、本実施形態による情報処理システムの最小構成を示すブロック図である。
本実施形態による情報処理システムは、少なくとも、複数の論理ディスク90、90、…、90、重複排除手段100、監視手段101、移動先決定手段102、移動手段103、設定情報更新手段104の構成を備えればよい。複数の論理ディスク90、90、…、90は、複数の物理ストレージ装置から構築されている。重複排除手段100は、複数の元データ間で重複するデータを、複数の論理ディスク90、90、…、90に保存管理する際に、前記複数の論理ディスク90、90、…、90のうち、1つの元データに対する1つの論理ディスク90には前記重複するデータを重複排除データとして保存し、前記複数の論理ディスク90、90、…、90のうち、前記1つの元データ以外の他の元データに対する論理ディスク90には前記重複排除データを参照するためのアドレス情報を保存する。監視手段101は、前記複数の論理ディスク90、90、…、90に対するアクセス状況を監視する。移動先決定手段102は、前記アクセス状況に応じて、前記重複排除データの移動先となる論理ディスク90を決定する。移動手段103は、前記決定された前記重複排除データの移動先の論理ディスク90に前記重複排除データを移動させる。設定情報更新手段104は、前記決定された前記重複排除データの移動先に応じて、前記重複排除データが保存されている前記論理ディスク90に関する情報と、前記他の元データに対する前記論理ディスク90に保存された前記重複排除データを参照するためのアドレス情報を更新する。
【0066】
以上、この発明のいくつかの実施形態について説明したが、この発明は、これらに限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の特許請求の範囲に記載された発明を付記する。
【0067】
(付記1)
複数の元データ間で重複するデータを、複数の論理ディスクに保存管理する際に、前記複数の論理ディスクのうち、1つの元データに対する1つの論理ディスクには前記重複するデータを重複排除データとして保存し、前記複数の論理ディスクのうち、前記1つの元データ以外の他の元データに対する論理ディスクには前記重複排除データを参照するためのアドレス情報を保存する重複排除手段と、前記複数の論理ディスクに対するアクセス状況を監視する監視手段と、前記アクセス状況に応じて、前記重複排除データの移動先となる論理ディスクを決定する移動先決定手段と、前記決定された前記重複排除データの移動先の論理ディスクに前記重複排除データを移動させる移動手段と、前記決定された前記重複排除データの移動先に応じて、前記重複排除データが保存されている前記論理ディスクに関する情報と、前記他の元データに対する前記論理ディスクに保存された前記重複排除データを参照するためのアドレス情報を更新する設定情報更新手段と、を備えることを特徴とする情報処理装置。
【0068】
(付記2)
前記移動先決定手段は、前記複数の論理ディスクに対する読み込み回数および書込み回数が所定の第一閾値以下である場合に、アクセス性能が比較的低い論理ディスクを、前記重複排除データの移動先に決定する、ことを特徴とする付記1に記載の情報処理装置。
【0069】
(付記3)
前記アクセス性能が比較的低い論理ディスクは、ネットワークを介して接続されたストレージ装置である、ことを特徴とする付記1または付記2に記載の情報処理装置。
【0070】
(付記4)
前記移動先決定手段は、前記複数の論理ディスクに対する読み込み回数が所定の第二閾値以上である場合に、アクセス性能が比較的高い論理ディスクを、前記重複排除データの移動先に決定する、ことを特徴とする付記2から付記3の何れか一つに記載の情報処理装置。
【0071】
(付記5)
前記アクセス性能が比較的高い論理ディスクは、ネットワークを介さず、直接接続されたストレージ装置であることを特徴とする付記2から付記4の何れか一つに記載の情報処理装置。
【0072】
(付記6)
前記移動先決定手段は、前記複数の論理ディスクに対する読み込み回数および書込み回数の双方が所定の第3閾値以上である場合に、重複排除しているデータ数が多く、読み込み回数と書き込み回数の合計値が最も小さい論理ディスクを、前記重複排除データの移動先に決定する、ことを特徴とする付記1から付記5の何れか一つに記載の情報処理装置。
【0073】
(付記7)
前記移動先決定手段は、前記複数の論理ディスクに対する読み込み回数および書込み回数が所定の第一閾値以下である場合に、アクセス性能が比較的低い論理ディスクを、前記重複排除データの移動先に決定し、前記複数の論理ディスクに対する読み込み回数が所定の第二閾値以上である場合に、アクセス性能が比較的高い論理ディスクを、前記重複排除データの移動先に決定し、前記複数の論理ディスクに対する読み込み回数および書込み回数の双方が所定の第3閾値以上である場合に、重複排除しているデータ数が多く、読み込み回数と書き込み回数の合計値が最も小さい論理ディスクを、前記重複排除データの移動先に決定することを特徴とする付記1から付記6の何れか一つに記載の情報処理装置。
【0074】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより特典情報の制御処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0075】
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0076】
1 情報処置システム
10 ホスト装置
20 ストレージ装置
30 コントローラ
31 ホスト制御部
32 ディスク制御部
33 重複排除データ監視部
34 重複排除管理テーブル
40 ディスク部
41 HDD
42 RAID構成
50 LD(論理ディスク)
51、52 LD(論理ディスク)
200 外部ストレージ
210 ボリューム
300 クラウドストレージ
310 ボリューム
61 LD(論理ディスク)
62 LBA(論理ブロックアドレス)
63 重複排除状態
64 重複排除数
65 参照先LDN(論理ディスク番号)
66 参照先LBA(論理ブロックアドレス)
67 データ格納ストレージ
68 Read回数
69 Write回数
【要約】
【課題】ストレージ装置に対するアクセス性能の低下・負荷集中を低減する。
【解決手段】ホスト制御部31は、ホスト装置10とのデータの送受信を行う。ディスク制御部32は、ディスク部40と接続され、複数のHDD41、…、41へのデータの読み書きを行う。複数のHDD41、…、41は、所定の単位毎に、複数のRAID構成42、…、42を構成している。重複排除データ監視部33は、定期的もしくはユーザからの指示があった場合に、重複排除管理テーブル34を参照し、重複排除データのRead回数およびWrite回数に基づいて、複数の論理ディスク51、52の中から重複排除データの参照元として最適な論理ディスクを決定し、重複排除データを移動させた後、重複排除管理テーブル34の情報を更新する。
【選択図】
図1