Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6291937B2 - Block storage, storage system, computer system, block storage control method, storage system control method and program - Google Patents
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2014056695A
Other languages
Japanese (ja)
Other versions
JP2015179422A (en
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014056695A priority Critical patent/JP6291937B2/en
Publication of JP2015179422A publication Critical patent/JP2015179422A/en
Application granted granted Critical
Publication of JP6291937B2 publication Critical patent/JP6291937B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Document 1.

特許文献1記載のストレージシステムは、複数の性能の異なる記憶装置を備え、論理ボリュームをアクセス頻度に基づいてこれら記憶装置に対応付ける。   The storage system described in Patent Document 1 includes a plurality of storage devices with different performances, and associates logical volumes with these storage devices based on access frequency.

国際公開公報 WO2013/103003A1International Publication No. WO2013 / 103003A1

上述した特許文献1記載のストレージシステムにおいては、当該ストレージシステムが備える記憶装置の諸元を超える容量のデータを格納することはできないという問題がある。   In the storage system described in Patent Document 1 described above, there is a problem that data having a capacity exceeding the specifications of the storage device included in the storage system cannot be stored.

本発明は、上述した課題を解決し、高性能,低コストかつ大容量なストレージを実現するための技術を提供することを主たる目的とする。   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.

本発明の第1の実施形態に係るストレージシステムの構成を表すブロック図である。1 is a block diagram illustrating a configuration of a storage system according to a first embodiment of the present invention. LDマッピングテーブル300の内容の一例を示す図である。5 is a diagram illustrating an example of contents of an LD mapping table 300. FIG. 階層管理テーブル310の内容の一例を示す図である。It is a figure which shows an example of the content of the hierarchy management table. 階層0マッピングテーブル320の内容の一例を示す図である。5 is a diagram illustrating an example of contents of a hierarchy 0 mapping table 320. FIG. 階層1マッピングテーブル321の内容の一例を示す図である。It is a figure which shows an example of the content of the hierarchy 1 mapping table. 階層2マッピングテーブル322の内容の一例を示す図である。It is a figure which shows an example of the content of the hierarchy 2 mapping table 322. オブジェクト管理テーブル330の内容の一例を示す図である。5 is a diagram illustrating an example of contents of an object management table 330. FIG. オブジェクト集約テーブル340の内容の一例を示す図である。It is a figure which shows an example of the content of the object aggregation table. ポリシー管理テーブル350の内容の一例を示す図である。5 is a diagram illustrating an example of contents of a policy management table 350. FIG. アクセス頻度更新部200の動作を表すフローチャートである。5 is a flowchart showing the operation of an access frequency update unit 200. アクセス頻度の低いデータをオブジェクトストレージ2へ再配置する動作を表すフローチャートである。5 is a flowchart showing an operation of rearranging data with low access frequency to the object storage 2; オブジェクト化されたアドレスに読み出しが行われた場合の動作を表すフローチャートである。It is a flowchart showing operation | movement in case reading is performed to the address made into an object. オブジェクト化されたアドレスに書き込みが行われた場合の動作を表すフローチャートである。It is a flowchart showing operation | movement at the time of writing in the address made into an object. オブジェクト削除部230の動作を表すフローチャートである。5 is a flowchart showing the operation of an object deletion unit 230. オブジェクトストレージ管理部240がオブジェクトを格納する場合の動作を表すフローチャートである。It is a flowchart showing operation | movement in case the object storage management part 240 stores an object. オブジェクトストレージ管理部240が対象のオブジェクトを削除する場合の動作を表すフローチャートである。It is a flowchart showing operation | movement in case the object storage management part 240 deletes a target object. 階層入れ替え部220が削除指示を受け取った場合の動作を表すフローチャートである。It is a flowchart showing operation | movement when the hierarchy switching part 220 receives a deletion instruction | indication. 階層入れ替え部220が入れ替え指示を受け取った場合の動作を表すフローチャートである。It is a flowchart showing operation | movement when the hierarchy switching part 220 receives the replacement instruction | indication. 本発明の第2の実施形態に係るブロックストレージの構成を表すブロック図である。It is a block diagram showing the structure of the block storage which concerns on the 2nd Embodiment of this invention. コンピュータを構成する要素の例を表すブロック構成図である。And FIG. 11 is a block diagram illustrating an example of elements constituting a computer.

次に、本発明の実施の形態について図面を参照して詳細に説明する。   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 block storage 1 and an object storage 2 connected to the block storage 1 via a WAN (Wide Area Network). The block storage 1 is a storage device that provides virtualized access in units of blocks.
The block storage 1 is connected to the virtual server 100 by FC (Fiber Channel), iSCSI (Internet Small Computer System Interface) or SAS (Serial Attached SCSI). The object storage 2 may be an object storage service provided by another vendor such as Amazon S3 (Amazon Simple Storage Service) (registered trademark).

ブロックストレージ1は、階層論理ディスク50と、アクセス頻度更新部200と、オブジェクト化集約部210と、階層入れ替え部220と、オブジェクト削除部230と、ポリシー管理テーブル350とを含む。階層論理ディスク50は、性能の異なる物理デバイスやオブジェクトストレージを組み合わせることにより階層化された論理ディスクである。アクセス頻度更新部200は、仮想サーバ100からのデータアクセスを定期的に更新し、各種操作を指示する。オブジェクト化集約部210は、アクセス頻度が所定の閾値より低いブロックを集約し、オブジェクトストレージ管理部240(後述)に送信する。階層入れ替え部220は、実データの入れ替えを行う。オブジェクト削除部230は、ダーティとなったオブジェクトの削除指示を行う。ポリシー管理テーブル350は、階層論理ディスク50の設定を格納する。   The block storage 1 includes a hierarchical logical disk 50, an access frequency update unit 200, an objectification aggregation unit 210, a hierarchy switching unit 220, an object deletion unit 230, and a policy management table 350. The hierarchical logical disk 50 is a logical disk that is hierarchized by combining physical devices and object storages having different performances. The access frequency update unit 200 periodically updates data access from the virtual server 100 and instructs various operations. The objectification aggregation unit 210 aggregates blocks whose access frequency is lower than a predetermined threshold value, and transmits the blocks to an object storage management unit 240 (described later). The hierarchy replacing unit 220 replaces actual data. The object deletion unit 230 issues an instruction to delete the dirty object. The policy management table 350 stores settings for the hierarchical logical disk 50.

オブジェクトストレージ2は、オブジェクト格納先デバイス70と、オブジェクトストレージ管理部240とを含む。オブジェクト格納先デバイス70は、オブジェクトが格納される物理デバイスである。オブジェクトストレージ管理部240は、オブジェクト化集約部210から受信した実データをオブジェクト化し、オブジェクト化したデータをオブジェクト格納先デバイス70に格納する。   The object storage 2 includes an object storage destination device 70 and an object storage management unit 240. The object storage destination device 70 is a physical device that stores objects. The object storage management unit 240 converts the actual data received from the objectification aggregation unit 210 into an object, and stores the objectized data in the object storage destination device 70.

仮想サーバ100は、ゲストOS(Operating System)101〜102を含む。仮想サーバ100は、ホストコンピュータと呼ばれることもある。仮想サーバとストレージシステムSSとを合わせてコンピュータシステムと呼ばれることもある。   The virtual server 100 includes guest OSs (Operating Systems) 101-102. The virtual server 100 is sometimes called a host computer. The virtual server and the storage system SS may be collectively referred to as a computer system.

階層論理ディスク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 logical disk 50 includes an LD (Logical Disk) mapping table 300, a hierarchy management table 310, a hierarchy 0 mapping table 320, a hierarchy 1 mapping table 321, a hierarchy 2 mapping table 322, an object management table 330, an object An aggregation table 340 and a hierarchical device 60 are included. The LD mapping table 300 stores the primary address of the hierarchical logical disk. The hierarchy management table 310 stores the hierarchy type. The tier 0 mapping table 320, the tier 1 mapping table 321 and the tier 2 mapping table 322 store secondary addresses. The object management table 330 stores management information converted into an object. The object aggregation table 340 stores addresses of blocks aggregated as objects. The hierarchical device 60 stores actual data written to the hierarchical logical disk 50. In the block storage 1 according to the first embodiment, the hierarchical device 60 is an SSD (Solid State Drive), a SAS, and an Object (object storage). In the following description, “SAS” represents a SAS hard disk drive.

アクセス頻度更新部200は、ポリシー管理テーブル350を参照して、各階層論理ディスクのアクセス頻度更新間隔、オブジェクト化間隔、階層入れ替え間隔、オブジェクト削除間隔に従い、定期的に操作指示を行う機能を有する。また、アクセス頻度更新部200は、アクセス頻度更新間隔に基づいたタイミングで、LDマッピングテーブルのアクセス頻度を更新する機能を有する。   The access frequency update unit 200 has a function of referring to the policy management table 350 and periodically instructing operation according to the access frequency update interval, objectization interval, layer replacement interval, and object deletion interval of each hierarchical logical disk. Further, the access frequency update unit 200 has a function of updating the access frequency of the LD mapping table at a timing based on the access frequency update interval.

オブジェクト化集約部210は、アクセス頻度更新部200からの操作指示に従い、ポリシー管理テーブル350を参照することにより集約数を取得する。そして、オブジェクト化集約部210は、LDマッピングテーブル300のアクセス頻度を参照し、ポリシー管理テーブル350から取得した集約数に基づいてオブジェクト化するデータを抽出する機能を有する。また、オブジェクト化集約部210は、抽出した実データをオブジェクトストレージ管理部240に送信する機能を有する。また、オブジェクト化集約部210は、オブジェクトストレージ管理部240からメタデータを受信する機能を有する。また、オブジェクト化集約部210は、集約したデータの管理情報をオブジェクト管理テーブル330およびオブジェクト集約テーブル340に格納する機能を有する。また、オブジェクト化集約部210は、オブジェクト化した実データを削除する際に、階層入れ替え部220に入れ替えを指示する機能を有する。   The objectification aggregation unit 210 acquires the aggregation number by referring to the policy management table 350 in accordance with an operation instruction from the access frequency update unit 200. The objectification aggregation unit 210 has a function of referring to the access frequency of the LD mapping table 300 and extracting data to be converted into an object based on the number of aggregations acquired from the policy management table 350. The objectification aggregation unit 210 has a function of transmitting the extracted actual data to the object storage management unit 240. The objectification aggregation unit 210 has a function of receiving metadata from the object storage management unit 240. The objectization aggregation unit 210 has a function of storing management information of the aggregated data in the object management table 330 and the object aggregation table 340. In addition, the objectification aggregation unit 210 has a function of instructing the hierarchy replacement unit 220 to perform replacement when deleting objected real data.

階層入れ替え部220は、アクセス頻度更新部200からの操作指示に従い、階層デバイス60間において実データを移動し、その後、LDマッピングテーブル300と階層マッピングテーブルとを更新する機能を有する。また、階層入れ替え部220は、オブジェクト化集約部210からの入れ替え指示に従い、LDマッピングテーブル300と階層マッピングテーブルとを更新する機能を有する。なお、階層マッピングテーブルとは、階層0マッピングテーブル320、階層1マッピングテーブル321、および階層2マッピングテーブル322を指す。各階層マッピングテーブルは、各階層の階層アドレスが使用中(有効)か否かを表す。   The hierarchy switching unit 220 has a function of moving actual data between the hierarchy devices 60 in accordance with an operation instruction from the access frequency update unit 200 and then updating the LD mapping table 300 and the hierarchy mapping table. Further, the hierarchy switching unit 220 has a function of updating the LD mapping table 300 and the hierarchy mapping table in accordance with the replacement instruction from the objectification aggregation unit 210. The hierarchical mapping table refers to the hierarchical 0 mapping table 320, the hierarchical 1 mapping table 321, and the hierarchical 2 mapping table 322. Each hierarchy mapping table indicates whether the hierarchy address of each hierarchy is in use (valid).

オブジェクト削除部230は、アクセス頻度更新部200からの操作指示に従い、オブジェクトストレージ管理部240にオブジェクト削除指示を行う機能を有する。そして、オブジェクト削除部230は、オブジェクト管理テーブル330とオブジェクト集約テーブル340を更新する機能を有する。   The object deletion unit 230 has a function of issuing an object deletion instruction to the object storage management unit 240 in accordance with an operation instruction from the access frequency update unit 200. The object deletion unit 230 has a function of updating the object management table 330 and the object aggregation table 340.

オブジェクトストレージ管理部240は、オブジェクト化集約部210から受信した実データにメタデータとオブジェクトIDとを付与するオブジェクト化を行うことで、オブジェクトを生成する機能を有する。そして、オブジェクトストレージ管理部240は、オブジェクト化したデータをオブジェクト格納先デバイス70に格納し、メタデータをオブジェクト化集約部210に返却する機能を有する。また、オブジェクトストレージ管理部240は、オブジェクト削除部230からのオブジェクト削除指示により、格納済みオブジェクトを削除する機能を有する。

The object storage management unit 240 has a function of generating an object by performing objectification by assigning metadata and an object ID to the actual data received from the objectification aggregation unit 210. The object storage management unit 240 has a function of storing objectized data in the object storage destination device 70 and returning metadata to the objectification aggregation unit 210. The object storage management unit 240 has a function of deleting a stored object in response to an object deletion instruction from the object deletion unit 230.

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 logical disk 50 from the virtual server 100. FIG. 2 is a diagram showing an example of the contents of the LD mapping table 300. In the LD mapping table 300 shown in FIG. 2, a logical address, a hierarchical address, a hierarchical number, an OBJ (Object) flag, and an access frequency are recorded in association with each other. The access frequency represents the frequency of access to the address. As for the access frequency, 0 is the lowest, and the access frequency is higher as the numerical value is larger. The access frequency may be obtained, for example, by the access frequency update unit 200 summing up the frequency of access from the virtual server 100 to the address at regular intervals. When the value of the OBJ flag is “1”, it indicates that the data is made into an object. When the value is “0”, it means that the data is not made into an object (actual data). Represent. For example, in the second row of the LD mapping table 300 shown in FIG. 2, the logical address is “00000010”, the hierarchical address is “00000010”, the hierarchical number is “1”, the OBJ flag is “0”, and the access frequency is “3”. It is. This indicates that the actual data is stored at the 00000010 address of the hierarchy 1 and the access frequency is 3 (medium frequency access).

階層管理テーブル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 hierarchy 0.

階層0マッピングテーブル320は、LDマッピングテーブル300から階層0の階層デバイス60にアクセスする際に参照されるアドレステーブルである。図4は階層0マッピングテーブル320の内容の一例を示す図である。図4に示す階層0マッピングテーブル320は、階層0の階層アドレスと、有効フラグとが紐付けて記録されている。例えば、図4に示す階層0マッピングテーブル320の1行目は、階層アドレスが「00000000」、有効フラグが「0」である。これは、階層0の00000000アドレスは空き領域であることを表している。   The tier 0 mapping table 320 is an address table that is referred to when accessing the tier 0 tier device 60 from the LD mapping table 300. FIG. 4 is a diagram showing an example of the contents of the hierarchy 0 mapping table 320. In the layer 0 mapping table 320 shown in FIG. 4, the layer 0 layer address and the valid flag are recorded in association with each other. For example, in the first row of the hierarchy 0 mapping table 320 shown in FIG. 4, the hierarchy address is “00000000” and the valid flag is “0”. This indicates that the 00000000 address of layer 0 is a free area.

階層1マッピングテーブル321は、LDマッピングテーブル300から階層1の階層デバイス60にアクセスする際に参照されるアドレステーブルである。図5は階層1マッピングテーブル321の内容の一例を示す図である。図5に示す階層1マッピングテーブル321は、階層1の階層アドレスと、有効フラグとが紐付けて記録されている。例えば、図5に示す階層1マッピングテーブル321の1行目は、階層アドレスが「00000000」、有効フラグが「1」である。これは、階層1の00000000アドレスは使用中であり、かつ、階層番号1のデバイスのアドレス00000000をポイントしていることを表している。   The tier 1 mapping table 321 is an address table that is referred to when accessing the tier 1 tier device 60 from the LD mapping table 300. FIG. 5 is a diagram showing an example of the contents of the hierarchy 1 mapping table 321. In the layer 1 mapping table 321 shown in FIG. 5, the layer 1 layer address and the valid flag are recorded in association with each other. For example, in the first row of the hierarchy 1 mapping table 321 shown in FIG. 5, the hierarchy address is “00000000” and the valid flag is “1”. This indicates that the 00000000 address of layer 1 is in use and points to the address 00000000 of the device of layer number 1.

階層2マッピングテーブル322は、LDマッピングテーブル300から階層2の階層デバイス60にアクセスする際に参照されるアドレステーブルである。図6は階層2マッピングテーブル322の内容の一例を示す図である。図6に示す階層2マッピングテーブル322は、階層2の階層アドレスと、有効フラグとが紐付けて記録されている。例えば、図6に示す階層2マッピングテーブル322の1行目は、階層アドレスが「80000000」、有効フラグが「1」である。これは、階層2の80000000アドレスは使用中であり、かつ、オブジェクト管理テーブルのアドレス80000000をポイントしていることを表している。   The tier 2 mapping table 322 is an address table that is referred to when accessing the tier 2 tier device 60 from the LD mapping table 300. FIG. 6 is a diagram showing an example of the contents of the tier 2 mapping table 322. In the hierarchy 2 mapping table 322 shown in FIG. 6, the hierarchy address of the hierarchy 2 and the valid flag are recorded in association with each other. For example, in the first row of the hierarchy 2 mapping table 322 shown in FIG. 6, the hierarchy address is “80000000” and the valid flag is “1”. This indicates that the 80000000 address in layer 2 is in use and points to the address 80000000 in the object management table.

オブジェクト管理テーブル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 object aggregation address 90000000.

オブジェクト集約テーブル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 logical addresses 00001000 to 00001ff0 is stored in the object whose object ID is aad00exfdsdddb.

ポリシー管理テーブル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 logical disk 50. FIG. 9 is a diagram showing an example of the contents of the policy management table 350. In the policy management table 350 shown in FIG. 9, the hierarchical logical disk number, the number of aggregations, the access frequency update interval, the objectization interval, the hierarchy replacement interval, and the object deletion interval are recorded in association with each other. For example, in the first line of the policy management table 350 shown in FIG. 9, the hierarchical logical disk number is “0”, the aggregation number is “1024”, the access frequency update interval is “1800 seconds”, and the objectization interval is “7200 seconds”. The layer replacement interval is “3600 seconds” and the object deletion interval is “14400 seconds”. This is because the logical disk with hierarchical logical disk number 0 aggregates 1024 addresses (blocks) into an object, updates the access frequency every 30 minutes, makes the data object every 2 hours, and changes the data hierarchy to 1 This indicates that the deletion of the object is performed every 4 hours every time.

次に、本発明の第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 frequency update unit 200. Hereinafter, the operation when the access frequency update unit 200 updates the access frequency of the hierarchical logical disk 50 will be described with reference to FIG.

以下の処理は、ポリシー管理テーブル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 frequency update unit 200 decrements (subtracts) the access frequency of the LD mapping table 300 of the target hierarchical logical disk 50 at once (step S10). Then, the process ends.

次に、オブジェクト化集約部210による、オブジェクトストレージ2を用いた、アクセス頻度が低くなったデータに対するデータ再配置動作を説明する。データ再配置動作は、第1のデータ再配置動作、第2のデータ再配置動作、および第3のデータ再配置動作に分けられる。   Next, the data rearrangement operation for data with low access frequency using the object storage 2 by the objectification aggregation unit 210 will be described. The data rearrangement operation is divided into a first data rearrangement operation, a second data rearrangement operation, and a third data rearrangement operation.

第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 objectification aggregation unit 210 refers to the policy management table 350, the LD mapping table 300, and the object aggregation table 340. Then, the objectification aggregation unit 210 transmits data to be converted into an object storage management unit 240. Then, the objectification aggregation unit 210 adds the object ID returned from the object storage management unit 240 to the object aggregation table 340. Then, the objectification aggregation unit 210 instructs the hierarchy exchanging unit 220 to delete actual data to be rearranged in the object storage.

第2のデータ再配置動作は、オブジェクト化された論理アドレスに読み出しが発生した場合に、オブジェクト化集約部210が、オブジェクトストレージ2から実データを返却する処理を含む。   The second data rearrangement operation includes a process in which the objectification aggregating unit 210 returns actual data from the object storage 2 when a read occurs at an objectized logical address.

第3のデータ再配置動作は、オブジェクト化された論理アドレスに書き込みが発生した場合に、オブジェクト化集約部210が、オブジェクトストレージ2のデータを無効なデータとする処理を含む。   The third data rearrangement operation includes a process in which the objectification aggregation unit 210 sets the data in the object storage 2 as invalid data when a write occurs to the objectized logical address.

図11は、オブジェクト化集約部210が、定期的に、アクセス頻度の低いデータをオブジェクトストレージ2へ再配置する動作(第1のデータ再配置動作)を表すフローチャートである。以下、図11を参照して、第1のデータ再配置動作を説明する。   FIG. 11 is a flowchart illustrating an operation (first data relocation operation) in which the objectification aggregation unit 210 periodically relocate data with low access frequency to the object storage 2. Hereinafter, the first data rearrangement operation will be described with reference to FIG.

第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 frequency update unit 200 based on the objectization interval of the policy management table 350. First, the objectification aggregation unit 210 acquires the aggregation number of the hierarchical logical disk 50 by referring to the policy management table 350 (step S20). Next, the objectification aggregation unit 210 refers to the LD mapping table 300 and acquires all entries having an access frequency of 0 and an OBJ flag of 0 (step S21). In addition to the above-described conditions, the objectification aggregation unit 210 may acquire only the entry having the lowest hierarchy number whose hierarchy device is other than OBJ by referring to the hierarchy management table 310.

次に、オブジェクト化集約部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 objectification aggregation unit 210 refers to the object aggregation table 340. Then, the objectification aggregation unit 210 determines whether the logical address of the entry of the LD mapping table 300 acquired in step S21 is included in the entry whose validity flag is 1 in the object aggregation table 340 (step S22). If it is included (“YES” in step S22), the objectification aggregation unit 210 updates the hierarchical address of the LD mapping table 300 and deletes it from the object of reobjectification (step S27). Then, the process proceeds to step S26. If not included ("NO" in step S22), the objectification aggregation unit 210 determines whether the number of entries exceeds the aggregation number (step S23). When it exceeds (“YES” in step S23), the objectification aggregation unit 210 transmits the aggregated actual data (block) to the object storage management unit 240 by REST (Representational State Transfer) (step S24). If the number of entries does not exceed the aggregation number (“NO” in step S23), the process ends.

次に、オブジェクト化集約部210は、オブジェクトストレージ管理部240から返却されたオブジェクトIDと集約した論理アドレスとをオブジェクト集約テーブル340に追加する(ステップS25)。次に、オブジェクト化集約部210は、階層入れ替え部220に対して、集約対象の論理アドレスの実データ(ブロック)の削除を指示する(ステップS26)。そして、処理は終了する。   Next, the objectification aggregation unit 210 adds the object ID returned from the object storage management unit 240 and the aggregated logical address to the object aggregation table 340 (step S25). Next, the objectification aggregation unit 210 instructs the hierarchy switching unit 220 to delete the actual data (block) of the aggregation target logical address (step S26). Then, the process ends.

図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 objectification aggregation unit 210 retrieves the corresponding data by specifying the object ID to the object storage management unit 240 (step S30). The extracted data is a block represented by an address from which reading is performed. Next, the objectification aggregation unit 210 refers to the hierarchy management table 310 and acquires a hierarchy number whose hierarchy device is other than OBJ and which is the lowest (step S31). Next, the objectification aggregation unit 210 acquires one entry whose validity flag is 0 from the hierarchy mapping table corresponding to the hierarchy number acquired in step S31 (step S32). Next, the objectification aggregation unit 210 designates the actual data extracted in step S30 and the entry acquired in step S32, and instructs the hierarchy exchanging unit 220 to replace (step S33). Then, the process ends.

図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 objectification aggregation unit 210 takes out the corresponding data by designating the object ID to the object storage management unit 240 (step S40). The data to be taken out is a block in which writing is performed and a block aggregated into an object together with this block. Next, the objectification aggregation unit 210 refers to the hierarchy management table 310 and acquires a hierarchy number whose hierarchy device is other than OBJ and which is the lowest (step S41). Next, the objectification aggregation unit 210 acquires the number of aggregations whose effective flag is 0 from the hierarchy mapping table corresponding to the hierarchy number acquired in step S41 (step S42). Next, the objectification aggregation unit 210 designates the actual data extracted in step S40 and the entry acquired in step S42, and instructs the hierarchy exchanging unit 220 to replace (step S43). Next, the objectification aggregation unit 210 updates the valid flag of the entry of the object in the object aggregation table 340 to 0 (step S44). As a result, the object becomes invalid data to be deleted by the object deleting unit 230. Then, the process ends.

図14は、オブジェクト削除部230の動作を表すフローチャートである。以下、図14を参照して、オブジェクト削除部230が、オブジェクトストレージ2から不要になったデータを削除する場合の動作を説明する。   FIG. 14 is a flowchart showing the operation of the object deletion unit 230. Hereinafter, with reference to FIG. 14, an operation when the object deleting unit 230 deletes unnecessary data from the object storage 2 will be described.

以下の処理は、ポリシー管理テーブル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 frequency update unit 200 based on the object deletion interval of the policy management table 350. First, the object deletion unit 230 refers to the object management table 330 and the object aggregation table 340, and searches the object aggregation table 340 for an entry whose valid flag is 0 (step S50). If there is no target entry (“NO” in step S51), the process ends. If there is a target entry (“YES” in step S51), the object deletion unit 230 instructs the object storage management unit 240 to specify the object ID for deletion (step S52). Next, the object deletion unit 230 updates the object aggregation address of the object management table 330 to 0 (invalid) (step S53). Then, the process ends.

次に、オブジェクトストレージ管理部240の動作を説明する。オブジェクトストレージ管理部240の動作は、オブジェクト化集約部210から呼び出される第1の動作と、オブジェクト削除部230から呼び出される第2の動作に分けられる。   Next, the operation of the object storage management unit 240 will be described. The operation of the object storage management unit 240 is divided into a first operation called from the objectification aggregation unit 210 and a second operation called from the object deletion unit 230.

オブジェクトストレージ管理部240の第1の動作は、以下の処理を含む。オブジェクト化集約部210から呼び出されると、オブジェクトストレージ管理部240は、オブジェクト化集約部210から受信した実データをオブジェクト化する。そして、オブジェクトストレージ管理部240は、オブジェクト化したデータを分散してオブジェクト格納先デバイス70に格納する。そして、オブジェクトストレージ管理部240は、結果をオブジェクト化集約部210に返却する。   The first operation of the object storage management unit 240 includes the following processing. When called from the objectification aggregation unit 210, the object storage management unit 240 converts the actual data received from the objectification aggregation unit 210 into an object. Then, the object storage management unit 240 distributes the objectized data and stores it in the object storage destination device 70. Then, the object storage management unit 240 returns the result to the objectification aggregation unit 210.

オブジェクトストレージ管理部240の第2の動作は、以下の処理を含む。
オブジェクト削除部230から呼び出されると、オブジェクトストレージ管理部240は、対象のオブジェクトを削除する。
The second operation of the object storage management unit 240 includes the following processing.
When called from the object deletion unit 230, the object storage management unit 240 deletes the target object.

図15は、オブジェクトストレージ管理部240がオブジェクト化集約部210から呼び出され、オブジェクトを格納する場合の動作(第1の動作)を表すフローチャートである。以下、図15を参照して、オブジェクトストレージ管理部240の第1の動作を説明する。   FIG. 15 is a flowchart showing an operation (first operation) when the object storage management unit 240 is called from the objectification aggregation unit 210 and stores an object. Hereinafter, the first operation of the object storage management unit 240 will be described with reference to FIG.

オブジェクト化集約部210から呼び出されると、最初に、オブジェクトストレージ管理部240は、オブジェクト化集約部210から受信したデータをオブジェクト化する。そして、オブジェクトストレージ管理部240は、オブジェクト化したデータを分散してオブジェクト格納先デバイス70に格納する(ステップS60)。次に、オブジェクトストレージ管理部240は、オブジェクト化したメタデータをオブジェクト化集約部210に返却する(ステップS61)。そして、処理は終了する。   When called from the objectification aggregation unit 210, first, the object storage management unit 240 converts the data received from the objectification aggregation unit 210 into an object. Then, the object storage management unit 240 distributes the objectized data and stores it in the object storage destination device 70 (step S60). Next, the object storage management unit 240 returns the objectized metadata to the objectification aggregation unit 210 (step S61). Then, the process ends.

図16は、オブジェクトストレージ管理部240がオブジェクト削除部230から呼び出され、対象のオブジェクトを削除する場合の動作(第2の動作)を表すフローチャートである。以下、図16を参照して、オブジェクトストレージ管理部240の第2の動作を説明する。   FIG. 16 is a flowchart showing an operation (second operation) when the object storage management unit 240 is called from the object deletion unit 230 and deletes the target object. Hereinafter, the second operation of the object storage management unit 240 will be described with reference to FIG.

オブジェクト削除部230から呼び出されると、最初に、オブジェクトストレージ管理部240は、オブジェクト削除部230から受信したオブジェクトIDが示すオブジェクトをオブジェクト格納先デバイス70から削除する(ステップS70)。次に、オブジェクトストレージ管理部240は、オブジェクト削除部230に削除結果を返却する(ステップS71)。そして、処理は終了する
次に、階層入れ替え部220の動作を説明する。階層入れ替え部220の動作は、オブジェクト化集約部210から削除指示を受け取った場合の第1の動作と、オブジェクト化集約部210から入れ替え指示を受け取った場合の第2の動作に分けられる。
When called from the object deletion unit 230, first, the object storage management unit 240 deletes the object indicated by the object ID received from the object deletion unit 230 from the object storage destination device 70 (step S70). Next, the object storage management unit 240 returns the deletion result to the object deletion unit 230 (step S71). And a process is complete | finished Next, operation | movement of the hierarchy switching part 220 is demonstrated. The operation of the hierarchy exchanging unit 220 is divided into a first operation when a deletion instruction is received from the objectification aggregation unit 210 and a second operation when a replacement instruction is received from the objectification aggregation unit 210.

図17は、階層入れ替え部220がオブジェクト化集約部210から削除指示を受け取った場合の動作(第1の動作)を表すフローチャートである。以下、図17を参照して、階層入れ替え部220の第1の動作を説明する。   FIG. 17 is a flowchart showing an operation (first operation) when the hierarchy switching unit 220 receives a deletion instruction from the objectification aggregation unit 210. Hereinafter, the first operation of the hierarchy switching unit 220 will be described with reference to FIG.

オブジェクト化集約部210から呼び出されると、最初に、階層入れ替え部220は、オブジェクト化集約部210から指示されたLDマッピングテーブル300のエントリに含まれる階層アドレスを、オブジェクト管理テーブル330を参照するアドレスに更新する(ステップS80)。次に、階層入れ替え部220は、更新前の階層アドレスが参照していた階層マッピングテーブルのエントリの有効フラグを0(無効)に更新する(ステップS81)。そして、処理は終了する。   When called from the objectification aggregation unit 210, first, the hierarchy switching unit 220 sets the hierarchy address included in the entry of the LD mapping table 300 instructed by the objectification aggregation unit 210 to an address referring to the object management table 330. Update (step S80). Next, the hierarchy switching unit 220 updates the valid flag of the entry in the hierarchy mapping table referenced by the hierarchy address before update to 0 (invalid) (step S81). Then, the process ends.

図18は、階層入れ替え部220がオブジェクト化集約部210から入れ替え指示を受け取った場合の動作(第2の動作)を表すフローチャートである。以下、図18を参照して、階層入れ替え部220の第2の動作を説明する。   FIG. 18 is a flowchart showing an operation (second operation) when the hierarchy exchanging unit 220 receives an exchange instruction from the objectification aggregation unit 210. Hereinafter, with reference to FIG. 18, the second operation of the hierarchy exchanging unit 220 will be described.

オブジェクト化集約部210から呼び出されると、最初に、階層入れ替え部220は、オブジェクト化集約部210から指示された階層デバイスに実データを書き込む。そして、階層入れ替え部220は、対応する階層マッピングテーブルのエントリを更新する(ステップS90)。次に、階層入れ替え部220は、対応するLDマッピングテーブル300のエントリに含まれる階層アドレスと、階層番号と、OBJフラグとを、書き込んだ実データの情報で更新する(ステップS91)。そして、処理は終了する。   When called from the objectification aggregation unit 210, first, the hierarchy switching unit 220 writes actual data to the hierarchy device designated by the objectification aggregation unit 210. Then, the hierarchy switching unit 220 updates the entry of the corresponding hierarchy mapping table (step S90). Next, the hierarchy switching unit 220 updates the hierarchy address, the hierarchy number, and the OBJ flag included in the corresponding entry of the LD mapping table 300 with the information of the written actual data (step S91). Then, the process ends.

以上の様に、本発明の第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 block storage 1 and moves it to the object storage 2. As a result, the storage system SS according to the first embodiment of the present invention can store data having a capacity exceeding the specifications of the block storage 2. In addition, it is possible to minimize a decrease in performance and an increase in cost by moving data with low access frequency to an object storage with a low unit capacity. Furthermore, by consolidating data (blocks) and moving them to the object storage 2, the frequency of data objectification decreases, so that it is possible to prevent a decrease in processing performance related to objectization. Furthermore, by using an inexpensive object storage service provided by an external vendor or the like, the capacity of storable data can be flexibly increased.

[第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 block storage 2 according to the second exemplary embodiment of the present invention includes an objectification aggregation unit and a hierarchy switching unit.

オブジェクト化集約部は、アクセス頻度が閾値より低いブロックを所定数集約し、集約されたブロックをオブジェクトストレージに送信する。階層入れ替え部は、オブジェクトストレージに送信されたブロックをブロックストレージ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 block storage 2. As described above, the storage system SS according to the second embodiment of the present invention uses the data whose access frequency is low in the block storage 1. Are moved to the object storage 2. As a result, the block storage 2 according to the second embodiment of the present invention has the same effects as the storage system SS according to the first embodiment.

第1の実施形態におけるオブジェクトストレージ2は、他社ベンダによって提供されるオブジェクトストレージサービスであってもよいと記載したが、それ以外でもよい。例えば、ストレージシステムの使用者自らがブロックストレージ1とオブジェクトストレージ2とを設置,運用し、これらをLAN(Local Area Network)で接続してもよい。   Although the object storage 2 in the first embodiment has been described as an object storage service provided by another vendor, other object storage services may be used. For example, the user of the storage system may install and operate the block storage 1 and the object storage 2 and connect them via a LAN (Local Area Network).

図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 hard disk drive 940, and a communication interface 950.

前述したブロックストレージ1およびオブジェクトストレージ2の構成要素は、プログラムがコンピュータ900のCPU910において実行されることにより実現されてもよい。具体的には、前述した図1および図19に記載の構成要素である、アクセス頻度更新部200,オブジェクト化集約部210,階層入れ替え部220,オブジェクト削除部230,およびオブジェクトストレージ管理部240は、CPU910がROM930あるいはハードディスクドライブ940からプログラムを読み込み、読み込んだプログラムを、例えば図10〜18に示したフローチャートの手順の如くCPU910が実行することにより実現されてもよい。そして、このような場合において、上述した実施形態を例に説明した本発明は、係るコンピュータプログラムを表すコードあるいはそのコンピュータプログラムを表すコードが格納されたコンピュータ読み取り可能な記憶媒体(例えばハードディスクドライブ940や、不図示の着脱可能な磁気ディスク媒体,光学ディスク媒体やメモリカードなど)によって構成されると捉えることができる。   The components of the block storage 1 and the object storage 2 described above may be realized by executing a program in the CPU 910 of the computer 900. Specifically, the access frequency update unit 200, the objectification aggregation unit 210, the hierarchy switching unit 220, the object deletion unit 230, and the object storage management unit 240, which are the components described in FIG. 1 and FIG. The CPU 910 may be realized by reading a program from the ROM 930 or the hard disk drive 940 and executing the read program by the CPU 910 as shown in the flowcharts of FIGS. In such a case, the present invention described by using the above-described embodiment as an example can be applied to a computer-readable storage medium (for example, hard disk drive 940 or the like) that stores a code representing the computer program or a code representing the computer program. It can be understood that it is constituted by a removable magnetic disk medium, optical disk medium, memory card, etc. (not shown).

あるいは、アクセス頻度更新部200,オブジェクト化集約部210,階層入れ替え部220,オブジェクト削除部230,およびオブジェクトストレージ管理部240は、専用のハードウェアで実現されてもよい。また、ブロックストレージ1およびオブジェクトストレージ2は、これら構成要素を備える専用のハードウェアであってもよい。   Alternatively, the access frequency update unit 200, the objectification aggregation unit 210, the hierarchy switching unit 220, the object deletion unit 230, and the object storage management unit 240 may be realized by dedicated hardware. Further, the block storage 1 and the object storage 2 may be dedicated hardware including these components.

本発明は、ディスクアレイ装置の用途に適用することができる。   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 通信インタフェース
SS Storage System 1 Block Storage 2 Object Storage 50 Hierarchical Logical Disk 60 Hierarchical Device 70 Object Storage Destination Device 100 Virtual Server 200 Access Frequency Update Unit 210 Objectization Aggregation Unit 220 Hierarchy Replacement Unit 230 Object Deletion Unit 240 Object Storage Management Unit 300 LD Mapping Table 310 Hierarchy management table 320 Hierarchy 0 mapping table 321 Hierarchy 1 mapping table 322 Hierarchy 2 mapping table 330 Object management table 340 Object aggregation table 350 Policy management table 900 Computer 910 CPU
920 RAM
930 ROM
940 Hard disk drive 950 Communication interface

Claims (10)

アクセス頻度が閾値より低いブロックを所定数集約し、受信したデータにメタデータとオブジェクトIDとを付与するオブジェクト化を行うことで生成されたオブジェクトを格納するオブジェクトストレージに、前記集約されたブロックを送信するオブジェクト化集約手段と、
前記オブジェクトストレージに送信されたブロックを自ブロックストレージから削除する階層入れ替え手段とを備えるブロックストレージ。
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.
前記オブジェクト化集約手段は、前記オブジェクトストレージに送信されたブロックに対する読み出しに対応して、前記オブジェクトストレージから当該ブロックを取得する請求項1に記載のブロックストレージ。   The block storage according to claim 1, wherein the objectification aggregation unit acquires the block from the object storage in response to reading of the block transmitted to the object storage. 前記オブジェクト化集約手段は、前記オブジェクトストレージに送信されたブロックに対する書き込みに対応して、前記オブジェクトストレージから、当該ブロックと、当該ブロックと共に集約されたブロックとを取得する請求項1または2に記載のブロックストレージ。   The objectization aggregation means acquires the block and the block aggregated together with the block from the object storage in response to the writing to the block transmitted to the object storage. Block storage. 請求項1乃至3のいずれかに記載のブロックストレージと、
前記ブロックストレージから受信したデータを前記オブジェクト化して格納するオブジェクトストレージとを備えるストレージシステム。
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.
請求項4に記載のストレージシステムと、
前記ストレージシステムにアクセス可能なホストコンピュータとを備えるコンピュータシステム。
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.
前記オブジェクトストレージに送信されたブロックに対する読み出しに対応して、前記オブジェクトストレージから当該ブロックを取得する請求項6に記載のブロックストレージ制御方法。   The block storage control method according to claim 6, wherein the block is acquired from the object storage in response to reading of the block transmitted to the object storage. 前記オブジェクトストレージに送信されたブロックに対する書き込みに対応して、前記オブジェクトストレージから、当該ブロックと、当該ブロックと共に集約されたブロックとを取得する請求項6または7に記載のブロックストレージ制御方法。   The block storage control method according to claim 6 or 7, wherein the block and the block aggregated together with the block are acquired from the object storage in response to writing to the block transmitted to the object storage. ブロックストレージが、請求項6乃至8のいずれかに記載の処理を行い、
オブジェクトストレージが、前記ブロックストレージから受信したデータを前記オブジェクト化して格納するストレージシステム制御方法。
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.
JP2014056695A 2014-03-19 2014-03-19 Block storage, storage system, computer system, block storage control method, storage system control method and program Expired - Fee Related JP6291937B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6708948B2 (en) * 2016-01-21 2020-06-10 日本電気株式会社 Block storage

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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

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