JP6291937B2 - Block storage, storage system, computer system, block storage control method, storage system control method and program - Google Patents
Block storage, storage system, computer system, block storage control method, storage system control method and program Download PDFInfo
- Publication number
- JP6291937B2 JP6291937B2 JP2014056695A JP2014056695A JP6291937B2 JP 6291937 B2 JP6291937 B2 JP 6291937B2 JP 2014056695 A JP2014056695 A JP 2014056695A JP 2014056695 A JP2014056695 A JP 2014056695A JP 6291937 B2 JP6291937 B2 JP 6291937B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- block
- unit
- hierarchy
- aggregation
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、ストレージに関し、特に階層化されたストレージに関する。 The present invention relates to storage, and more particularly to hierarchical storage.
性能の異なる複数の物理デバイスを階層化して構成し、アクセス頻度に応じてデータを配置することにより、コストを抑えつつ性能が高いストレージを提供する技術が知られている。このような技術の一例が特許文献1に記載されている。
A technology is known that provides a high-performance storage while suppressing costs by arranging a plurality of physical devices having different performances in a hierarchy and arranging data according to access frequency. An example of such a technique is described in
特許文献1記載のストレージシステムは、複数の性能の異なる記憶装置を備え、論理ボリュームをアクセス頻度に基づいてこれら記憶装置に対応付ける。
The storage system described in
上述した特許文献1記載のストレージシステムにおいては、当該ストレージシステムが備える記憶装置の諸元を超える容量のデータを格納することはできないという問題がある。
In the storage system described in
本発明は、上述した課題を解決し、高性能,低コストかつ大容量なストレージを実現するための技術を提供することを主たる目的とする。 The main object of the present invention is to solve the above-mentioned problems and to provide a technique for realizing a high-performance, low-cost and large-capacity storage.
上記目的を達成する本発明に係るブロックストレージは、
アクセス頻度が閾値より低いブロックを所定数集約し、前記集約されたブロックをオブジェクトストレージに送信するオブジェクト化集約手段と、
前記オブジェクトストレージに送信されたブロックを自ブロックストレージから削除する階層入れ替え手段とを備える。
The block storage according to the present invention that achieves the above object is as follows.
Objectification aggregation means for aggregating a predetermined number of blocks whose access frequency is lower than a threshold, and transmitting the aggregated blocks to an object storage;
Tier switching means for deleting the block transmitted to the object storage from the block storage.
上記目的を達成する本発明に係るストレージシステムは、
上述のブロックストレージと、
前記ブロックストレージから受信したデータをオブジェクト化して格納するオブジェクトストレージとを備える。
The storage system according to the present invention that achieves the above object provides:
The block storage described above,
And an object storage for storing the data received from the block storage as an object.
上記目的を達成する本発明に係るコンピュータシステムは、
上述のストレージシステムと、
前記ストレージシステムにアクセス可能なホストコンピュータとを備える。
The computer system according to the present invention that achieves the above-described object provides:
The above storage system;
A host computer capable of accessing the storage system.
上記目的を達成する本発明に係るブロックストレージ制御方法は、
アクセス頻度が閾値より低いブロックストレージのブロックを所定数集約し、
前記集約されたブロックをオブジェクトストレージに送信し、
前記オブジェクトストレージに送信されたブロックを前記ブロックストレージから削除する。
A block storage control method according to the present invention that achieves the above object is as follows.
Aggregate a predetermined number of blocks in the block storage whose access frequency is lower than the threshold,
Sending the aggregated block to object storage;
The block transmitted to the object storage is deleted from the block storage.
上記目的を達成する本発明に係るプログラムは、
アクセス頻度が閾値より低いブロックストレージのブロックを所定数集約する処理と、
前記集約されたブロックをオブジェクトストレージに送信する処理と、
前記オブジェクトストレージに送信されたブロックを前記ブロックストレージから削除する処理とをコンピュータに実行させる。
A program according to the present invention that achieves the above object is as follows:
A process of aggregating a predetermined number of blocks of block storage whose access frequency is lower than the threshold;
Processing to send the aggregated block to object storage;
And causing the computer to execute a process of deleting the block transmitted to the object storage from the block storage.
本発明によれば、性能の低下およびコストの上昇を抑えつつ、ストレージの容量を増大することができる。 According to the present invention, it is possible to increase the storage capacity while suppressing a decrease in performance and an increase in cost.
次に、本発明の実施の形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
[第1の実施形態]
図1は、本発明の第1の実施形態に係るストレージシステムの構成を表すブロック図である。本発明の第1の実施形態に係るストレージシステムSSは、ブロックストレージ1と、ブロックストレージ1とWAN(Wide Area Network)で接続されたオブジェクトストレージ2とを含む。ブロックストレージ1は、ブロック単位に仮想化されたアクセスを提供するストレージ装置である。
ブロックストレージ1は、仮想サーバ100とFC(Fiber Channel)、iSCSI(Internet Small Computer System Interface)またはSAS(Serial Attached SCSI)で接続されている。オブジェクトストレージ2は、Amazon S3(Amazon Simple Storage Service)(登録商標)のような、他社ベンダによって提供されるオブジェクトストレージサービスであってもよい。
[First Embodiment]
FIG. 1 is a block diagram showing the configuration of the storage system according to the first embodiment of the present invention. The storage system SS according to the first embodiment of the present invention includes a
The
ブロックストレージ1は、階層論理ディスク50と、アクセス頻度更新部200と、オブジェクト化集約部210と、階層入れ替え部220と、オブジェクト削除部230と、ポリシー管理テーブル350とを含む。階層論理ディスク50は、性能の異なる物理デバイスやオブジェクトストレージを組み合わせることにより階層化された論理ディスクである。アクセス頻度更新部200は、仮想サーバ100からのデータアクセスを定期的に更新し、各種操作を指示する。オブジェクト化集約部210は、アクセス頻度が所定の閾値より低いブロックを集約し、オブジェクトストレージ管理部240(後述)に送信する。階層入れ替え部220は、実データの入れ替えを行う。オブジェクト削除部230は、ダーティとなったオブジェクトの削除指示を行う。ポリシー管理テーブル350は、階層論理ディスク50の設定を格納する。
The
オブジェクトストレージ2は、オブジェクト格納先デバイス70と、オブジェクトストレージ管理部240とを含む。オブジェクト格納先デバイス70は、オブジェクトが格納される物理デバイスである。オブジェクトストレージ管理部240は、オブジェクト化集約部210から受信した実データをオブジェクト化し、オブジェクト化したデータをオブジェクト格納先デバイス70に格納する。
The
仮想サーバ100は、ゲストOS(Operating System)101〜102を含む。仮想サーバ100は、ホストコンピュータと呼ばれることもある。仮想サーバとストレージシステムSSとを合わせてコンピュータシステムと呼ばれることもある。
The
階層論理ディスク50は、LD(Logical Disk)マッピングテーブル300と、階層管理テーブル310と、階層0マッピングテーブル320と、階層1マッピングテーブル321と、階層2マッピングテーブル322と、オブジェクト管理テーブル330と、オブジェクト集約テーブル340と、階層デバイス60とを含む。LDマッピングテーブル300は、階層論理ディスクの一次アドレスを格納する。階層管理テーブル310は、階層種別を格納する。階層0マッピングテーブル320、階層1マッピングテーブル321、および階層2マッピングテーブル322は、二次アドレスを格納する。オブジェクト管理テーブル330は、オブジェクト化された管理情報を格納する。オブジェクト集約テーブル340は、オブジェクトとして集約したブロックのアドレスを格納する。階層デバイス60は、階層論理ディスク50に書き込まれる実データを格納する。第1の実施形態に係るブロックストレージ1において、階層デバイス60は、SSD(Solid State Drive)、SAS、およびObject(オブジェクトストレージ)である。なお、以降の説明において、「SAS」は、SASハードディスクドライブを表す。
The hierarchical
アクセス頻度更新部200は、ポリシー管理テーブル350を参照して、各階層論理ディスクのアクセス頻度更新間隔、オブジェクト化間隔、階層入れ替え間隔、オブジェクト削除間隔に従い、定期的に操作指示を行う機能を有する。また、アクセス頻度更新部200は、アクセス頻度更新間隔に基づいたタイミングで、LDマッピングテーブルのアクセス頻度を更新する機能を有する。
The access
オブジェクト化集約部210は、アクセス頻度更新部200からの操作指示に従い、ポリシー管理テーブル350を参照することにより集約数を取得する。そして、オブジェクト化集約部210は、LDマッピングテーブル300のアクセス頻度を参照し、ポリシー管理テーブル350から取得した集約数に基づいてオブジェクト化するデータを抽出する機能を有する。また、オブジェクト化集約部210は、抽出した実データをオブジェクトストレージ管理部240に送信する機能を有する。また、オブジェクト化集約部210は、オブジェクトストレージ管理部240からメタデータを受信する機能を有する。また、オブジェクト化集約部210は、集約したデータの管理情報をオブジェクト管理テーブル330およびオブジェクト集約テーブル340に格納する機能を有する。また、オブジェクト化集約部210は、オブジェクト化した実データを削除する際に、階層入れ替え部220に入れ替えを指示する機能を有する。
The
階層入れ替え部220は、アクセス頻度更新部200からの操作指示に従い、階層デバイス60間において実データを移動し、その後、LDマッピングテーブル300と階層マッピングテーブルとを更新する機能を有する。また、階層入れ替え部220は、オブジェクト化集約部210からの入れ替え指示に従い、LDマッピングテーブル300と階層マッピングテーブルとを更新する機能を有する。なお、階層マッピングテーブルとは、階層0マッピングテーブル320、階層1マッピングテーブル321、および階層2マッピングテーブル322を指す。各階層マッピングテーブルは、各階層の階層アドレスが使用中(有効)か否かを表す。
The
オブジェクト削除部230は、アクセス頻度更新部200からの操作指示に従い、オブジェクトストレージ管理部240にオブジェクト削除指示を行う機能を有する。そして、オブジェクト削除部230は、オブジェクト管理テーブル330とオブジェクト集約テーブル340を更新する機能を有する。
The
オブジェクトストレージ管理部240は、オブジェクト化集約部210から受信した実データにメタデータとオブジェクトIDとを付与するオブジェクト化を行うことで、オブジェクトを生成する機能を有する。そして、オブジェクトストレージ管理部240は、オブジェクト化したデータをオブジェクト格納先デバイス70に格納し、メタデータをオブジェクト化集約部210に返却する機能を有する。また、オブジェクトストレージ管理部240は、オブジェクト削除部230からのオブジェクト削除指示により、格納済みオブジェクトを削除する機能を有する。
The object
LDマッピングテーブル300は、仮想サーバ100から階層論理ディスク50にアクセスする際に参照されるアドレステーブルである。図2はLDマッピングテーブル300の内容の一例を示す図である。図2に示すLDマッピングテーブル300は、論理アドレスと、階層アドレスと、階層番号と、OBJ(Object)フラグと、アクセス頻度とが紐付けて記録されている。アクセス頻度は、当該アドレスへのアクセスの頻度を表す。アクセス頻度は、0が最も低く、数値が大きくなるにつれアクセス頻度が高いことを表す。アクセス頻度は、例えば、アクセス頻度更新部200が、仮想サーバ100から当該アドレスへのアクセスの頻度を一定期間ごとに集計することによって求められてもよい。OBJフラグは、その値が「1」の場合は、データがオブジェクト化されていることを表し、その値が「0」の場合は、データがオブジェクト化されていない(実データ)であることを表す。例えば、図2に示すLDマッピングテーブル300の2行目は、論理アドレスが「00000010」、階層アドレスが「00000010」、階層番号が「1」、OBJフラグが「0」、アクセス頻度が「3」である。これは、階層1の00000010アドレスに実データが格納され、アクセス頻度は3(中頻度アクセス)であることを表している。
The LD mapping table 300 is an address table that is referred to when accessing the hierarchical
階層管理テーブル310は、階層に割り当てられた物理デバイスを表すテーブルである。図3は階層管理テーブル310の内容の一例を示す図である。図3に示す階層管理テーブル310は、階層番号と、階層デバイスとが紐付けて記録されている。ここで、階層デバイスの値「SSD」および「SAS」は、この階層にこれら物理デバイスが割り付けられていることを表す。また、階層デバイスの値「OBJ」は、この階層にオブジェクトストレージが割り付けられていることを表す。例えば、図3に示す階層管理テーブル310の1行目は、階層番号が「0」、階層デバイスが「SSD」である。これは、階層0にはSSDが割り付けられていることを表している。
The hierarchy management table 310 is a table representing physical devices assigned to the hierarchy. FIG. 3 is a diagram showing an example of the contents of the hierarchy management table 310. In the hierarchy management table 310 shown in FIG. 3, a hierarchy number and a hierarchy device are recorded in association with each other. Here, the values “SSD” and “SAS” of the hierarchical device indicate that these physical devices are allocated to this hierarchical level. Further, the value “OBJ” of the hierarchical device represents that the object storage is allocated to this hierarchical level. For example, in the first row of the hierarchy management table 310 shown in FIG. 3, the hierarchy number is “0” and the hierarchy device is “SSD”. This indicates that the SSD is assigned to the
階層0マッピングテーブル320は、LDマッピングテーブル300から階層0の階層デバイス60にアクセスする際に参照されるアドレステーブルである。図4は階層0マッピングテーブル320の内容の一例を示す図である。図4に示す階層0マッピングテーブル320は、階層0の階層アドレスと、有効フラグとが紐付けて記録されている。例えば、図4に示す階層0マッピングテーブル320の1行目は、階層アドレスが「00000000」、有効フラグが「0」である。これは、階層0の00000000アドレスは空き領域であることを表している。
The
階層1マッピングテーブル321は、LDマッピングテーブル300から階層1の階層デバイス60にアクセスする際に参照されるアドレステーブルである。図5は階層1マッピングテーブル321の内容の一例を示す図である。図5に示す階層1マッピングテーブル321は、階層1の階層アドレスと、有効フラグとが紐付けて記録されている。例えば、図5に示す階層1マッピングテーブル321の1行目は、階層アドレスが「00000000」、有効フラグが「1」である。これは、階層1の00000000アドレスは使用中であり、かつ、階層番号1のデバイスのアドレス00000000をポイントしていることを表している。
The
階層2マッピングテーブル322は、LDマッピングテーブル300から階層2の階層デバイス60にアクセスする際に参照されるアドレステーブルである。図6は階層2マッピングテーブル322の内容の一例を示す図である。図6に示す階層2マッピングテーブル322は、階層2の階層アドレスと、有効フラグとが紐付けて記録されている。例えば、図6に示す階層2マッピングテーブル322の1行目は、階層アドレスが「80000000」、有効フラグが「1」である。これは、階層2の80000000アドレスは使用中であり、かつ、オブジェクト管理テーブルのアドレス80000000をポイントしていることを表している。
The
オブジェクト管理テーブル330は、オブジェクト化したアドレスにアクセスする際に参照されるアドレステーブルである。図7はオブジェクト管理テーブル330の内容の一例を示す図である。図7に示すオブジェクト管理テーブル330は、アドレス(オブジェクトアドレス)と、オブジェクト集約テーブル340へのポインタ(オブジェクト集約アドレス)と、集約数とが紐付けて記録されている。例えば、図7に示すオブジェクト管理テーブル330の1行目は、オブジェクトアドレスが「80000000」、オブジェクト集約アドレスが「90000000」、集約数が「1024」である。これは、オブジェクト集約アドレス90000000に1024個のアドレス(ブロック)が集約されていることを表している。
The object management table 330 is an address table that is referred to when accessing an object address. FIG. 7 is a diagram showing an example of the contents of the object management table 330. In the object management table 330 shown in FIG. 7, an address (object address), a pointer to the object aggregation table 340 (object aggregation address), and an aggregation number are recorded in association with each other. For example, in the first row of the object management table 330 shown in FIG. 7, the object address is “80000000”, the object aggregation address is “90000000”, and the aggregation number is “1024”. This represents that 1024 addresses (blocks) are aggregated in the
オブジェクト集約テーブル340は、オブジェクトとして集約したアドレス(ブロック)と、オブジェクトストレージに対してアクセスする際に参照されるオブジェクトID(Identification)とを格納するテーブルである。図8はオブジェクト集約テーブル340の内容の一例を示す図である。図8に示すオブジェクト集約テーブル340は、オブジェクトIDと、論理アドレスと、有効フラグとが紐付けて記録されている。例えば、図8に示すオブジェクト集約テーブル340の1行目はオブジェクトIDが「aad00exfdsdddb」、論理アドレスのリストが「00001000」〜「00001ff0」、有効フラグが「1」である。これは、オブジェクトIDがaad00exfdsdddbであるオブジェクトに、論理アドレス00001000〜00001ff0の実データが格納されていることを表している。
The object aggregation table 340 is a table that stores addresses (blocks) aggregated as objects and object IDs (Identification) that are referred to when accessing the object storage. FIG. 8 is a diagram showing an example of the contents of the object aggregation table 340. In the object aggregation table 340 illustrated in FIG. 8, an object ID, a logical address, and a valid flag are recorded in association with each other. For example, in the first line of the object aggregation table 340 shown in FIG. 8, the object ID is “aad00exfdsdddb”, the logical address list is “00001000” to “000001ff0”, and the valid flag is “1”. This indicates that actual data of
ポリシー管理テーブル350は、階層論理ディスク50ごとに集約数を格納するテーブルである。図9はポリシー管理テーブル350の内容の一例を示す図である。図9に示すポリシー管理テーブル350は、階層論理ディスク番号と、集約数と、アクセス頻度更新間隔と、オブジェクト化間隔と、階層入れ替え間隔と、オブジェクト削除間隔とが紐付けて記録されている。例えば、図9に示すポリシー管理テーブル350の1行目は、階層論理ディスク番号が「0」、集約数が「1024」、アクセス頻度更新間隔が「1800秒」、オブジェクト化間隔が「7200秒」、階層入れ替え間隔が「3600秒」、オブジェクト削除間隔が「14400秒」である。これは、階層論理ディスク番号0の論理ディスクは1024アドレス(ブロック)を集約してオブジェクト化し、アクセス頻度の更新を30分ごとに、データのオブジェクト化を2時間ごとに、データの階層入れ替えを1時間ごとに、オブジェクトの削除を4時間ごとに実施することを表している。
The policy management table 350 is a table that stores the aggregation number for each hierarchical
次に、本発明の第1の実施形態に係るストレージシステムSSの動作について詳細に説明する。 Next, the operation of the storage system SS according to the first embodiment of the present invention will be described in detail.
図10は、アクセス頻度更新部200の動作を表すフローチャートである。以下、図10を参照して、アクセス頻度更新部200が階層論理ディスク50のアクセス頻度を更新する場合の動作を説明する。
FIG. 10 is a flowchart showing the operation of the access
以下の処理は、ポリシー管理テーブル350のアクセス頻度更新間隔に基づいて定期的に実行されてもよい。アクセス頻度更新部200は、対象の階層論理ディスク50のLDマッピングテーブル300のアクセス頻度を一括でデクリメント(減算)する(ステップS10)。そして、処理は終了する。
The following processing may be periodically executed based on the access frequency update interval of the policy management table 350. The access
次に、オブジェクト化集約部210による、オブジェクトストレージ2を用いた、アクセス頻度が低くなったデータに対するデータ再配置動作を説明する。データ再配置動作は、第1のデータ再配置動作、第2のデータ再配置動作、および第3のデータ再配置動作に分けられる。
Next, the data rearrangement operation for data with low access frequency using the
第1のデータ再配置動作は、定期的に実行され、以下の処理を含む。オブジェクト化集約部210は、ポリシー管理テーブル350、LDマッピングテーブル300、およびオブジェクト集約テーブル340を参照する。そして、オブジェクト化集約部210は、オブジェクト化するデータをオブジェクトストレージ管理部240に送信する。そして、オブジェクト化集約部210は、オブジェクトストレージ管理部240から返却されたオブジェクトIDをオブジェクト集約テーブル340に追加する。そして、オブジェクト化集約部210は、階層入れ替え部220に対して、オブジェクトストレージに再配置する実データを削除する指示を行う。
The first data relocation operation is periodically executed and includes the following processing. The
第2のデータ再配置動作は、オブジェクト化された論理アドレスに読み出しが発生した場合に、オブジェクト化集約部210が、オブジェクトストレージ2から実データを返却する処理を含む。
The second data rearrangement operation includes a process in which the
第3のデータ再配置動作は、オブジェクト化された論理アドレスに書き込みが発生した場合に、オブジェクト化集約部210が、オブジェクトストレージ2のデータを無効なデータとする処理を含む。
The third data rearrangement operation includes a process in which the
図11は、オブジェクト化集約部210が、定期的に、アクセス頻度の低いデータをオブジェクトストレージ2へ再配置する動作(第1のデータ再配置動作)を表すフローチャートである。以下、図11を参照して、第1のデータ再配置動作を説明する。
FIG. 11 is a flowchart illustrating an operation (first data relocation operation) in which the
第1のデータ再配置動作は、ポリシー管理テーブル350のオブジェクト化間隔に基づき、アクセス頻度更新部200から定期的に呼び出されることによって実行されてもよい。最初に、オブジェクト化集約部210は、ポリシー管理テーブル350を参照することにより、階層論理ディスク50の集約数を取得する(ステップS20)。次に、オブジェクト化集約部210は、LDマッピングテーブル300を参照し、アクセス頻度が0で、かつ、OBJフラグが0であるエントリをすべて取得する(ステップS21)。オブジェクト化集約部210は、上記の条件に加え、階層管理テーブル310を参照することにより、階層デバイスがOBJ以外であり、かつ最下位である階層番号を持つエントリのみを取得してもよい。
The first data relocation operation may be executed by being periodically called from the access
次に、オブジェクト化集約部210は、オブジェクト集約テーブル340を参照する。そして、オブジェクト化集約部210は、ステップS21で取得したLDマッピングテーブル300のエントリの論理アドレスが、オブジェクト集約テーブル340の有効フラグが1であるエントリに含まれているか判定する(ステップS22)。含まれている場合(ステップS22において「YES」)、オブジェクト化集約部210は、LDマッピングテーブル300の階層アドレスを更新し、再オブジェクト化の対象から削除する(ステップS27)。そして、処理はステップS26に進む。含まれていない場合(ステップS22において「NO」)、オブジェクト化集約部210は、エントリが集約数を超えたかどうかを判定する(ステップS23)。超えた場合(ステップS23において「YES」)、オブジェクト化集約部210は、オブジェクトストレージ管理部240に対して、集約した実データ(ブロック)をREST(Representational State Transfer)で送信する(ステップS24)。エントリが集約数を超えなかった場合(ステップS23において「NO」)、処理は終了する。
Next, the
次に、オブジェクト化集約部210は、オブジェクトストレージ管理部240から返却されたオブジェクトIDと集約した論理アドレスとをオブジェクト集約テーブル340に追加する(ステップS25)。次に、オブジェクト化集約部210は、階層入れ替え部220に対して、集約対象の論理アドレスの実データ(ブロック)の削除を指示する(ステップS26)。そして、処理は終了する。
Next, the
図12は、オブジェクト化されたアドレスに読み出しが行われた場合の動作(第2のデータ再配置動作)を表すフローチャートである。以下、図12を参照して、第2のデータ再配置動作を説明する。 FIG. 12 is a flowchart showing an operation (second data relocation operation) when reading is performed on an object address. Hereinafter, the second data rearrangement operation will be described with reference to FIG.
オブジェクト化されたアドレス(ブロック)に読み出しが行われると、オブジェクト化集約部210は、オブジェクトストレージ管理部240に対してオブジェクトIDを指定することにより、該当するデータを取り出す(ステップS30)。取り出されるデータは、読み出しが行われるアドレスが表すブロックである。次に、オブジェクト化集約部210は、階層管理テーブル310を参照し、階層デバイスがOBJ以外であり、かつ最下位である階層番号を取得する(ステップS31)。次に、オブジェクト化集約部210は、ステップS31で取得した階層番号に対応する階層マッピングテーブルから、有効フラグが0であるエントリを1つ取得する(ステップS32)。次に、オブジェクト化集約部210は、ステップS30で取り出した実データとステップS32で取得したエントリとを指定し、階層入れ替え部220に対して入れ替え指示を行う(ステップS33)。そして、処理は終了する。
When reading is performed on the objectized address (block), the
図13は、オブジェクト化されたアドレスに書き込みが行われた場合の動作(第3のデータ再配置動作)を表すフローチャートである。以下、図13を参照して、第3のデータ再配置動作を説明する。 FIG. 13 is a flowchart showing an operation (third data relocation operation) when writing is performed to an object address. Hereinafter, the third data rearrangement operation will be described with reference to FIG.
オブジェクト化されたアドレス(ブロック)に書き込みが行われると、オブジェクト化集約部210は、オブジェクトストレージ管理部240に対してオブジェクトIDを指定することにより、該当するデータを取り出す(ステップS40)。取り出されるデータは、書き込みが行われるブロックと、このブロックと共に集約されてオブジェクト化されているブロックである。次に、オブジェクト化集約部210は、階層管理テーブル310を参照し、階層デバイスがOBJ以外であり、かつ最下位である階層番号を取得する(ステップS41)。次に、オブジェクト化集約部210は、ステップS41で取得した階層番号に対応する階層マッピングテーブルから、有効フラグが0であるエントリを集約数分取得する(ステップS42)。次に、オブジェクト化集約部210は、ステップS40で取り出した実データとステップS42で取得したエントリとを指定し、階層入れ替え部220に対して入れ替え指示を行う(ステップS43)。次に、オブジェクト化集約部210は、オブジェクト集約テーブル340の当該オブジェクトのエントリの有効フラグを0に更新する(ステップS44)。このことにより、当該オブジェクトは、オブジェクト削除部230による削除対象である無効なデータとなる。そして、処理は終了する。
When writing to the objectized address (block) is performed, the
図14は、オブジェクト削除部230の動作を表すフローチャートである。以下、図14を参照して、オブジェクト削除部230が、オブジェクトストレージ2から不要になったデータを削除する場合の動作を説明する。
FIG. 14 is a flowchart showing the operation of the
以下の処理は、ポリシー管理テーブル350のオブジェクト削除間隔に基づき、アクセス頻度更新部200から定期的に呼び出されることによって実行されてもよい。最初に、オブジェクト削除部230は、オブジェクト管理テーブル330とオブジェクト集約テーブル340とを参照し、オブジェクト集約テーブル340から有効フラグが0であるエントリを検索する(ステップS50)。対象エントリがない場合(ステップS51において「NO」)、処理は終了する。対象エントリがある場合(ステップS51において「YES」)、オブジェクト削除部230は、オブジェクトストレージ管理部240に対して、オブジェクトIDを指定して削除を指示する(ステップS52)。次に、オブジェクト削除部230は、オブジェクト管理テーブル330のオブジェクト集約アドレスを0(無効)に更新する(ステップS53)。そして、処理は終了する。
The following processing may be executed by periodically calling from the access
次に、オブジェクトストレージ管理部240の動作を説明する。オブジェクトストレージ管理部240の動作は、オブジェクト化集約部210から呼び出される第1の動作と、オブジェクト削除部230から呼び出される第2の動作に分けられる。
Next, the operation of the object
オブジェクトストレージ管理部240の第1の動作は、以下の処理を含む。オブジェクト化集約部210から呼び出されると、オブジェクトストレージ管理部240は、オブジェクト化集約部210から受信した実データをオブジェクト化する。そして、オブジェクトストレージ管理部240は、オブジェクト化したデータを分散してオブジェクト格納先デバイス70に格納する。そして、オブジェクトストレージ管理部240は、結果をオブジェクト化集約部210に返却する。
The first operation of the object
オブジェクトストレージ管理部240の第2の動作は、以下の処理を含む。
オブジェクト削除部230から呼び出されると、オブジェクトストレージ管理部240は、対象のオブジェクトを削除する。
The second operation of the object
When called from the
図15は、オブジェクトストレージ管理部240がオブジェクト化集約部210から呼び出され、オブジェクトを格納する場合の動作(第1の動作)を表すフローチャートである。以下、図15を参照して、オブジェクトストレージ管理部240の第1の動作を説明する。
FIG. 15 is a flowchart showing an operation (first operation) when the object
オブジェクト化集約部210から呼び出されると、最初に、オブジェクトストレージ管理部240は、オブジェクト化集約部210から受信したデータをオブジェクト化する。そして、オブジェクトストレージ管理部240は、オブジェクト化したデータを分散してオブジェクト格納先デバイス70に格納する(ステップS60)。次に、オブジェクトストレージ管理部240は、オブジェクト化したメタデータをオブジェクト化集約部210に返却する(ステップS61)。そして、処理は終了する。
When called from the
図16は、オブジェクトストレージ管理部240がオブジェクト削除部230から呼び出され、対象のオブジェクトを削除する場合の動作(第2の動作)を表すフローチャートである。以下、図16を参照して、オブジェクトストレージ管理部240の第2の動作を説明する。
FIG. 16 is a flowchart showing an operation (second operation) when the object
オブジェクト削除部230から呼び出されると、最初に、オブジェクトストレージ管理部240は、オブジェクト削除部230から受信したオブジェクトIDが示すオブジェクトをオブジェクト格納先デバイス70から削除する(ステップS70)。次に、オブジェクトストレージ管理部240は、オブジェクト削除部230に削除結果を返却する(ステップS71)。そして、処理は終了する
次に、階層入れ替え部220の動作を説明する。階層入れ替え部220の動作は、オブジェクト化集約部210から削除指示を受け取った場合の第1の動作と、オブジェクト化集約部210から入れ替え指示を受け取った場合の第2の動作に分けられる。
When called from the
図17は、階層入れ替え部220がオブジェクト化集約部210から削除指示を受け取った場合の動作(第1の動作)を表すフローチャートである。以下、図17を参照して、階層入れ替え部220の第1の動作を説明する。
FIG. 17 is a flowchart showing an operation (first operation) when the
オブジェクト化集約部210から呼び出されると、最初に、階層入れ替え部220は、オブジェクト化集約部210から指示されたLDマッピングテーブル300のエントリに含まれる階層アドレスを、オブジェクト管理テーブル330を参照するアドレスに更新する(ステップS80)。次に、階層入れ替え部220は、更新前の階層アドレスが参照していた階層マッピングテーブルのエントリの有効フラグを0(無効)に更新する(ステップS81)。そして、処理は終了する。
When called from the
図18は、階層入れ替え部220がオブジェクト化集約部210から入れ替え指示を受け取った場合の動作(第2の動作)を表すフローチャートである。以下、図18を参照して、階層入れ替え部220の第2の動作を説明する。
FIG. 18 is a flowchart showing an operation (second operation) when the
オブジェクト化集約部210から呼び出されると、最初に、階層入れ替え部220は、オブジェクト化集約部210から指示された階層デバイスに実データを書き込む。そして、階層入れ替え部220は、対応する階層マッピングテーブルのエントリを更新する(ステップS90)。次に、階層入れ替え部220は、対応するLDマッピングテーブル300のエントリに含まれる階層アドレスと、階層番号と、OBJフラグとを、書き込んだ実データの情報で更新する(ステップS91)。そして、処理は終了する。
When called from the
以上の様に、本発明の第1の実施形態に係るストレージシステムSSは、ブロックストレージ1においてアクセス頻度が低くなったデータを集約して、オブジェクトストレージ2に移動する。このことにより、本発明の第1の実施形態に係るストレージシステムSSは、ブロックストレージ2の諸元を超える容量のデータを格納することができる。また、アクセス頻度が低くなったデータを容量単価が低いオブジェクトストレージに移動することにより、性能の低下およびコストの上昇を最小限に抑えることもできる。さらに、データ(ブロック)を集約してオブジェクトストレージ2に移動することにより、データのオブジェクト化の頻度が減少するので、オブジェクト化に関する処理の性能低下を防止することもできる。さらに、外部ベンダ等が提供する安価なオブジェクトストレージサービスを活用することにより、格納可能なデータの容量を柔軟に増加することもできる。
As described above, the storage system SS according to the first embodiment of the present invention aggregates data whose access frequency is low in the
[第2の実施形態]
次に、本発明の第2の実施の形態を説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described.
図19は、本発明の第2の実施形態に係るブロックストレージの構成を表すブロック図である。本発明の第2の実施形態に係るブロックストレージ2は、オブジェクト化集約部と、階層入れ替え部とを備える。
FIG. 19 is a block diagram showing the configuration of the block storage according to the second embodiment of the present invention. The
オブジェクト化集約部は、アクセス頻度が閾値より低いブロックを所定数集約し、集約されたブロックをオブジェクトストレージに送信する。階層入れ替え部は、オブジェクトストレージに送信されたブロックをブロックストレージ2から削除する
以上の様に、本発明の第2の実施形態に係るストレージシステムSSは、ブロックストレージ1においてアクセス頻度が低くなったデータを集約して、オブジェクトストレージ2に移動する。このことにより、本発明の第2の実施形態に係るブロックストレージ2は、第1の実施形態に係るストレージシステムSSと同様の効果を奏する。
The objectification aggregation unit aggregates a predetermined number of blocks whose access frequency is lower than the threshold value, and transmits the aggregated blocks to the object storage. As described above, the tier replacement unit deletes the block transmitted to the object storage from the
第1の実施形態におけるオブジェクトストレージ2は、他社ベンダによって提供されるオブジェクトストレージサービスであってもよいと記載したが、それ以外でもよい。例えば、ストレージシステムの使用者自らがブロックストレージ1とオブジェクトストレージ2とを設置,運用し、これらをLAN(Local Area Network)で接続してもよい。
Although the
図20は、コンピュータを構成する要素の例を表すブロック構成図である。図20のコンピュータ900は、CPU(Central Processing Unit)910と、RAM(Random Access Memory)920と、ROM(Read Only Memory)930と、ハードディスクドライブ940と、通信インタフェース950とを備えている。
FIG. 20 is a block diagram illustrating an example of elements constituting the computer. 20 includes a CPU (Central Processing Unit) 910, a RAM (Random Access Memory) 920, a ROM (Read Only Memory) 930, a
前述したブロックストレージ1およびオブジェクトストレージ2の構成要素は、プログラムがコンピュータ900のCPU910において実行されることにより実現されてもよい。具体的には、前述した図1および図19に記載の構成要素である、アクセス頻度更新部200,オブジェクト化集約部210,階層入れ替え部220,オブジェクト削除部230,およびオブジェクトストレージ管理部240は、CPU910がROM930あるいはハードディスクドライブ940からプログラムを読み込み、読み込んだプログラムを、例えば図10〜18に示したフローチャートの手順の如くCPU910が実行することにより実現されてもよい。そして、このような場合において、上述した実施形態を例に説明した本発明は、係るコンピュータプログラムを表すコードあるいはそのコンピュータプログラムを表すコードが格納されたコンピュータ読み取り可能な記憶媒体(例えばハードディスクドライブ940や、不図示の着脱可能な磁気ディスク媒体,光学ディスク媒体やメモリカードなど)によって構成されると捉えることができる。
The components of the
あるいは、アクセス頻度更新部200,オブジェクト化集約部210,階層入れ替え部220,オブジェクト削除部230,およびオブジェクトストレージ管理部240は、専用のハードウェアで実現されてもよい。また、ブロックストレージ1およびオブジェクトストレージ2は、これら構成要素を備える専用のハードウェアであってもよい。
Alternatively, the access
本発明は、ディスクアレイ装置の用途に適用することができる。 The present invention can be applied to the use of a disk array device.
SS ストレージシステム
1 ブロックストレージ
2 オブジェクトストレージ
50 階層論理ディスク
60 階層デバイス
70 オブジェクト格納先デバイス
100 仮想サーバ
200 アクセス頻度更新部
210 オブジェクト化集約部
220 階層入れ替え部
230 オブジェクト削除部
240 オブジェクトストレージ管理部
300 LDマッピングテーブル
310 階層管理テーブル
320 階層0マッピングテーブル
321 階層1マッピングテーブル
322 階層2マッピングテーブル
330 オブジェクト管理テーブル
340 オブジェクト集約テーブル
350 ポリシー管理テーブル
900 コンピュータ
910 CPU
920 RAM
930 ROM
940 ハードディスクドライブ
950 通信インタフェース
920 RAM
930 ROM
940
Claims (10)
前記オブジェクトストレージに送信されたブロックを自ブロックストレージから削除する階層入れ替え手段とを備えるブロックストレージ。 Aggregate a predetermined number of blocks whose access frequency is lower than the threshold, and send the aggregated block to the object storage that stores the object generated by converting the received data into an object that gives metadata and object ID Objectification aggregation means to
A block storage comprising: a hierarchy exchanging means for deleting the block transmitted to the object storage from the own block storage.
前記ブロックストレージから受信したデータを前記オブジェクト化して格納するオブジェクトストレージとを備えるストレージシステム。 Block storage according to any one of claims 1 to 3,
A storage system comprising: object storage that stores the data received from the block storage as the object.
前記ストレージシステムにアクセス可能なホストコンピュータとを備えるコンピュータシステム。 A storage system according to claim 4;
A computer system comprising a host computer accessible to the storage system.
受信したデータにメタデータとオブジェクトIDとを付与するオブジェクト化を行うことで生成されたオブジェクトを格納するオブジェクトストレージに、前記集約されたブロックを送信し、
前記オブジェクトストレージに送信されたブロックを前記ブロックストレージから削除するブロックストレージ制御方法。 Aggregate a predetermined number of blocks in the block storage whose access frequency is lower than the threshold,
The aggregated block is transmitted to an object storage that stores an object generated by converting the received data into an object that gives metadata and an object ID .
A block storage control method for deleting a block transmitted to the object storage from the block storage.
オブジェクトストレージが、前記ブロックストレージから受信したデータを前記オブジェクト化して格納するストレージシステム制御方法。 The block storage performs the processing according to any one of claims 6 to 8,
Object storage, the storage system control method for storing data received from said block storage by said object of.
受信したデータにメタデータとオブジェクトIDとを付与するオブジェクト化を行うことで生成されたオブジェクトを格納するオブジェクトストレージに、前記集約されたオブジェクトを送信する処理と、
前記オブジェクトストレージに送信されたブロックを前記ブロックストレージから削除する処理とをコンピュータに実行させるプログラム。 A process of aggregating a predetermined number of blocks in the block storage whose access frequency is lower than the threshold;
A process of transmitting the aggregated object to an object storage for storing an object generated by converting the received data into an object that gives metadata and an object ID .
A program that causes a computer to execute a process of deleting a block transmitted to the object storage from the block storage.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014056695A JP6291937B2 (en) | 2014-03-19 | 2014-03-19 | Block storage, storage system, computer system, block storage control method, storage system control method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014056695A JP6291937B2 (en) | 2014-03-19 | 2014-03-19 | Block storage, storage system, computer system, block storage control method, storage system control method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015179422A JP2015179422A (en) | 2015-10-08 |
| JP6291937B2 true JP6291937B2 (en) | 2018-03-14 |
Family
ID=54263412
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014056695A Expired - Fee Related JP6291937B2 (en) | 2014-03-19 | 2014-03-19 | Block storage, storage system, computer system, block storage control method, storage system control method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6291937B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6708948B2 (en) * | 2016-01-21 | 2020-06-10 | 日本電気株式会社 | Block storage |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01173236A (en) * | 1987-12-28 | 1989-07-07 | Nec Corp | Selecting system for file storage medium |
| US7197618B2 (en) * | 2001-12-14 | 2007-03-27 | Storagency | Method and device for distributing objects in a heterogeneous group of data storage devices |
| US7177883B2 (en) * | 2004-07-15 | 2007-02-13 | Hitachi, Ltd. | Method and apparatus for hierarchical storage management based on data value and user interest |
| JP4414409B2 (en) * | 2006-04-24 | 2010-02-10 | 富士通株式会社 | Disk device, disk control method and program |
| JP5284685B2 (en) * | 2008-05-16 | 2013-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | File rearrangement device, rearrangement method, and rearrangement program |
-
2014
- 2014-03-19 JP JP2014056695A patent/JP6291937B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015179422A (en) | 2015-10-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11921684B2 (en) | Systems and methods for database management using append-only storage devices | |
| JP6708948B2 (en) | Block storage | |
| US10853274B2 (en) | Primary data storage system with data tiering | |
| US10768857B2 (en) | Storage system having a controller that selects a die of a solid state disk to store data | |
| US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
| US9355112B1 (en) | Optimizing compression based on data activity | |
| JP5722500B2 (en) | Remote copy system and remote copy control method | |
| JP5944587B2 (en) | Computer system and control method | |
| EP3779705B1 (en) | Data writing method, client server, and system | |
| EP3153987B1 (en) | Duplicate data deletion method and device | |
| US20080016121A1 (en) | Method, an apparatus and a system for managing a snapshot storage pool | |
| US20180307426A1 (en) | Storage apparatus and storage control method | |
| US10394484B2 (en) | Storage system | |
| CN106354805A (en) | Optimization method and system for searching and caching distribution storage system NoSQL | |
| US20130332652A1 (en) | Computer system and method for controlling computer system | |
| JP2021009561A (en) | Data processing system, data processing device, and data processing program | |
| US20180307440A1 (en) | Storage control apparatus and storage control method | |
| JP2015114913A (en) | Storage device, storage system, and data management program | |
| US8984235B2 (en) | Storage apparatus and control method for storage apparatus | |
| US10089125B2 (en) | Virtual machines accessing file data, object data, and block data | |
| JP6291937B2 (en) | Block storage, storage system, computer system, block storage control method, storage system control method and program | |
| WO2021187194A1 (en) | Distributed processing system, control method for distributed processing system, and control device for distributed processing system | |
| WO2015198371A1 (en) | Storage system and memory control method | |
| KR101573375B1 (en) | Locality-aware SSD Cache Module based on Server Environment | |
| TWI446194B (en) | High-performance virtual disk management system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170215 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171031 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171227 |
|
| 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: 20180116 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180129 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6291937 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |