JP5630313B2 - Storage control device, storage system, storage control method, and program therefor - Google Patents

Storage control device, storage system, storage control method, and program therefor Download PDF

Info

Publication number
JP5630313B2
JP5630313B2 JP2011030734A JP2011030734A JP5630313B2 JP 5630313 B2 JP5630313 B2 JP 5630313B2 JP 2011030734 A JP2011030734 A JP 2011030734A JP 2011030734 A JP2011030734 A JP 2011030734A JP 5630313 B2 JP5630313 B2 JP 5630313B2
Authority
JP
Japan
Prior art keywords
storage
data block
data
buffer
unit
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
JP2011030734A
Other languages
Japanese (ja)
Other versions
JP2012168853A (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 JP2011030734A priority Critical patent/JP5630313B2/en
Publication of JP2012168853A publication Critical patent/JP2012168853A/en
Application granted granted Critical
Publication of JP5630313B2 publication Critical patent/JP5630313B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、ストレージ制御装置、ストレージシステム、ストレージ制御方法及びそのためのプログラムに関し、特にストレージ装置、ストレージシステムの省電力化に係るストレージ制御装置、ストレージシステム、ストレージ制御方法及びそのためのプログラムに関する。   The present invention relates to a storage control apparatus, a storage system, a storage control method, and a program therefor, and more particularly, to a storage apparatus, a storage control apparatus, a storage system, a storage control method, and a program therefor for power saving of the storage system.

ストレージ装置、ストレージシステムの省電力化についてさまざまな関連技術が知られている。   Various related technologies for power saving of storage devices and storage systems are known.

例えば、特許文献1は、用途種別や容量増加傾向の情報に基づいて必要なストレージ容量を算出し、余剰の記憶容量分を削減可能とする、ストレージ装置を管理する計算機及び方法を開示している。このように特許文献1は、一般的なストレージシステムにおける省電力化の技術を開示している。   For example, Patent Document 1 discloses a computer and a method for managing a storage device that calculate a necessary storage capacity based on information on usage type and capacity increase tendency, and can reduce an excess storage capacity. . As described above, Patent Document 1 discloses a power saving technique in a general storage system.

このような一般的なストレージシステムとは異なる、重複排除ストレージがある。   There is a deduplication storage different from such a general storage system.

重複排除ストレージは、入力されたデータがすでに過去に入力され保存されているデータと重複している場合、重複データの管理テーブルの更新だけを行い、その入力されたデータをストレージに保存しない。このような重複排除ストレージにおいて、入力されるデータの大半が過去に保存されたデータと重複している場合、実際にストレージに書き込まれるデータの容量は少ない。従って、ストレージの稼働率は、低くなる傾向がある。   The deduplication storage only updates the management table of duplicate data and does not save the input data in the storage when the input data is already duplicated with data that has been input and stored in the past. In such deduplication storage, when most of the input data overlaps with data stored in the past, the capacity of data actually written to the storage is small. Accordingly, the storage utilization rate tends to be low.

このような重複排除ストレージにおける省電力制御の関連技術が特許文献2及び3に記載されている。   Patent Documents 2 and 3 describe technologies related to power saving control in such deduplication storage.

特許文献2は、ストレージシステム及びストレージシステムの消費電力低減方法を開示している。このストレージシステムは、複数のディスク装置を含む複数の論理ユニットと電源制御ユニットとを有している。また、電源制御ユニットは、各論理ユニットを個別に電源オン/オフする。複数の論理ユニットそれぞれは、常時稼動グループまたは省電力グループに振り分けられている。このストレージシステムは、同一ハッシュ値を有するデータを同一の論理ユニットに集約するように動作する。こうすることで、このストレージシステムは、重複除去を実行する場合に、電源を投入するべき省電力グループに属する論理ユニットの台数が少なくなるように制御している。   Patent Document 2 discloses a storage system and a power consumption reduction method for the storage system. This storage system has a plurality of logical units including a plurality of disk devices and a power supply control unit. The power supply control unit individually turns on / off each logical unit. Each of the plurality of logical units is assigned to a constantly operating group or a power saving group. This storage system operates to aggregate data having the same hash value into the same logical unit. By doing so, this storage system controls so that the number of logical units belonging to the power saving group to be powered on is reduced when deduplication is executed.

また、特許文献3に記載のデータデデュプリケーションを用いる電力効率のよいストレージは、電源を常時投入しておくバッファボリュームと通常は電源を落としておくベースボリュームとを有している。このストレージは、特定のタイミングでベースボリュームの電源を投入し、バッファボリュームに格納されているデータと、ベースボリュームに格納されているデータとを比較する。そして、このストレージは、比較結果に基づいて、バッファボリュームに格納されているデータのうちの、ベースボリュームに格納されているデータと重複していないデータをベースボリュームに格納する。その後、このストレージは、ベースボリュームの電源を切断する。   Further, the power efficient storage using the data deduplication described in Patent Document 3 has a buffer volume in which the power is always turned on and a base volume in which the power is normally turned off. In this storage, the base volume is turned on at a specific timing, and the data stored in the buffer volume is compared with the data stored in the base volume. Based on the comparison result, the storage stores, in the base volume, data that does not overlap with the data stored in the base volume among the data stored in the buffer volume. Thereafter, the storage powers off the base volume.

特開2010−211743号公報JP 2010-211743 A 特開2009−059096号公報JP 2009-059096 A 特開2009−020858号公報JP 2009-020858 A

しかしながら、上述した関連技術においては、重複排除ストレージにおける省電力が不十分であるという問題点がある。   However, the related technology described above has a problem that power saving in the deduplication storage is insufficient.

省電力が不十分である理由は、以下のとおりである。   The reason why power saving is insufficient is as follows.

特許文献2のストレージシステム及びストレージシステムの消費電力低減方法は、重複除去の状況に係わらず常時稼動モードである、の論理ユニットを有しているからである。   This is because the storage system and the power consumption reduction method of the storage system of Patent Document 2 have a logical unit that is always in operation mode regardless of the deduplication status.

特許文献3のデータデデュプリケーションを用いる電力効率のよいストレージは、常時稼動しているバッファボリュームを有しているからである。即ち、このストレージは、重複データの多少に係わらず、ベースボリュームを起動して重複判定処理を実行するまでに入力されるデータを全て保存できる、大きさの容量を有するバッファボリュームを、常に稼動させているからである。   This is because the power efficient storage using the data deduplication of Patent Document 3 has a buffer volume that is always operating. In other words, this storage always operates a buffer volume with a large capacity that can store all input data from the start of the base volume to the execution of the duplicate determination process regardless of the amount of duplicate data. Because.

本発明の目的は、上述した問題点を解決できるストレージ制御装置、ストレージシステム、ストレージ制御方法及びそのためのプログラムを提供することにある。   An object of the present invention is to provide a storage control device, a storage system, a storage control method, and a program therefor that can solve the above-described problems.

本発明のストレージ制御装置は、ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力する重複判定部と、
前記非重複データブロックを保持するバッファと、
前記保管データブロックそれぞれ及び前記非重複データブロックそれぞれに対応する、ハッシュ値と保存先アドレスとを関連付けて記憶する管理情報記憶部と、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力する非重複データ増加予測部と、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新するバッファ出力制御部と、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知するモード制御部と、を含み
前記重複判定部は、前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加する。
The storage control device according to the present invention is a non-overlapping data block in which an input data block that is a candidate for data to be stored in the storage device includes data that is different from data included in any stored data block already stored in the storage device Is determined by comparing the hash value of the data included in the input data block and the hash value of the data included in each storage data block, and outputs the determination result of the determination When,
A buffer holding the non-overlapping data block;
A management information storage unit that stores a hash value and a storage destination address in association with each storage data block and each non-overlapping data block;
Based on the determination result, the capacity of the buffer, and the current used capacity of the buffer, prediction information corresponding to prediction of a future occurrence state of the non-duplicated data is calculated, and the calculated prediction information is output. A duplicate data increase prediction unit;
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit A buffer output control unit for updating the storage destination address corresponding to the data block;
A mode control unit that determines an operation mode of the storage device based on the presence / absence of output of the prediction information and the prediction information, and notifies the storage device of the determined operation mode. The non-duplicate data block is stored in the buffer, and the set of the hash value and the storage destination address corresponding to the stored non-duplicate data block is added to the management information storage unit.

本発明のストレージ制御方法は、バッファと管理情報記憶部とを有するストレージ制御装置が、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する。
In the storage control method of the present invention, a storage control device having a buffer and a management information storage unit
Whether the input data block that is a candidate for data to be stored in the storage device is a non-overlapping data block including data different from the data included in any storage data block already stored in the storage device, Judging by comparing the hash value of the data included in the input data block and the hash value of the data included in each storage data block, and outputting the determination result of the determination,
Storing the non-duplicate data block in the buffer, adding the set of the hash value and the storage destination address corresponding to the stored non-duplicate data block to a management information storage unit;
Based on the determination result, the capacity of the buffer and the current used capacity of the buffer, calculate prediction information corresponding to the prediction of the future occurrence state of the non-duplicated data, and output the calculated prediction information,
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit Update the destination address corresponding to the data block;
The operation mode of the storage device is determined based on whether or not the prediction information is output and the prediction information, and the determined operation mode is notified to the storage device.

本発明のプログラムは、バッファと管理情報記憶部とを有するコンピュータに、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する、処理を実行させる。
The program of the present invention is stored in a computer having a buffer and a management information storage unit.
Whether the input data block that is a candidate for data to be stored in the storage device is a non-overlapping data block including data different from the data included in any storage data block already stored in the storage device, Judging by comparing the hash value of the data included in the input data block and the hash value of the data included in each storage data block, and outputting the determination result of the determination,
Storing the non-duplicate data block in the buffer, adding the set of the hash value and the storage destination address corresponding to the stored non-duplicate data block to a management information storage unit;
Based on the determination result, the capacity of the buffer and the current used capacity of the buffer, calculate prediction information corresponding to the prediction of the future occurrence state of the non-duplicated data, and output the calculated prediction information,
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit Update the destination address corresponding to the data block;
Based on the output of the prediction information and the prediction information, the operation mode of the storage device is determined, and the storage device is notified of the determined operation mode.

本発明は、重複排除ストレージにおいて十分な省電力をすることが可能になるという効果がある。   The present invention has an effect that sufficient power saving can be achieved in the deduplication storage.

本発明の第1及び第2の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st and 2nd embodiment of this invention. 本発明の第1及び第2の実施形態におけるハッシュ値管理テーブルの例を示す図である。It is a figure which shows the example of the hash value management table in the 1st and 2nd embodiment of this invention. 本発明の第1及び第2の実施形態における参照元管理テーブルの例を示す図である。It is a figure which shows the example of the reference source management table in the 1st and 2nd embodiment of this invention. 本発明の第1及び第2の実施形態における重複判定履歴の例を示す図である。It is a figure which shows the example of the duplication determination log | history in the 1st and 2nd embodiment of this invention. 本発明の第1及び第2の実施形態の非重複データの今後の発生状況を予測する方程式である。It is an equation for predicting the future occurrence of non-redundant data according to the first and second embodiments of the present invention. 本発明の第1及び第2の実施形態の重複排除部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the deduplication part of the 1st and 2nd embodiment of this invention. 本発明の第1及び第2の実施形態の非重複データ増加予測部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the non-redundant data increase prediction part of the 1st and 2nd embodiment of this invention. 本発明の第1及び第2の実施形態のモード制御部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the mode control part of the 1st and 2nd embodiment of this invention. 本発明の第2の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Embodiment of this invention. 本発明のプログラムにより所定の処理をコンピュータに実行させるストレージ制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the storage control apparatus which makes a computer perform a predetermined | prescribed process with the program of this invention.

次に、本発明の実施形態について図面を参照して詳細に説明する。   Next, embodiments of the present invention will be described in detail with reference to the drawings.

[第1の実施形態]
図1は、本発明の第1の実施形態の構成を示すブロック図である。
[First Embodiment]
FIG. 1 is a block diagram showing the configuration of the first exemplary embodiment of the present invention.

図1を参照すると、本実施形態は、ストレージ制御装置100とストレージ装置200とホストシステム300とから構成されている。   Referring to FIG. 1, the present embodiment includes a storage control device 100, a storage device 200, and a host system 300.

ストレージ制御装置100とストレージ装置200とホストシステム300とは、ネットワーク900で接続されている。ストレージ制御装置100、ストレージ装置200及びホストシステム300相互間の通信は、例えば、IP(Internet Protocol)を用いて行われる。また、例えば、ストレージ装置200に対するデータの読み取り及び書き込みについては、SAN(ステップStorage Area Network)の形態をとってもよい。   The storage control device 100, the storage device 200, and the host system 300 are connected by a network 900. Communication among the storage control device 100, the storage device 200, and the host system 300 is performed using, for example, IP (Internet Protocol). Further, for example, the reading and writing of data with respect to the storage apparatus 200 may take the form of a SAN (Step Storage Area Network).

ストレージ制御装置100は、データ分割部110、重複判定部120、非重複データ増加予測部130、モード制御部140、バッファ出力制御部150、管理情報記憶部160及びバッファ170を含む。   The storage control device 100 includes a data dividing unit 110, a duplication determination unit 120, a non-duplication data increase prediction unit 130, a mode control unit 140, a buffer output control unit 150, a management information storage unit 160 and a buffer 170.

ストレージ装置200は、電源制御部210及び1以上のディスク部(データ記憶部とも呼ばれる)220を含む。   The storage device 200 includes a power supply control unit 210 and one or more disk units (also called data storage units) 220.

ホストシステム300は、ストレージ装置200に書き込む入力データ及び書き込みアドレスを含むライトコマンドを送信する。   The host system 300 transmits a write command including input data and a write address to be written to the storage apparatus 200.

ストレージ制御装置100において、データ分割部110は、ホストシステム300からライトコマンドを受け取り、入力データを分割して1以上の入力データブロック(ストレージ装置200への格納対象候補であるデータブロック)を生成する。同時に、データ分割部110は、ライトコマンドに含まれる書き込みアドレスに基づいて、生成した入力データブロック毎の書き込みアドレス(以後、参照元アドレスと呼ぶ)を生成する。次に、データ分割部110は、生成した入力データブロックと対応する参照元アドレスとの組を重複判定部120へ出力する。ここで、参照アドレスは、ホストシステム300がストレージ装置200をアクセスする場合の論理アドレスである。   In the storage control device 100, the data dividing unit 110 receives a write command from the host system 300, and divides the input data to generate one or more input data blocks (data blocks that are candidates for storage in the storage device 200). . At the same time, the data dividing unit 110 generates a write address (hereinafter referred to as a reference source address) for each generated input data block based on the write address included in the write command. Next, the data division unit 110 outputs a set of the generated input data block and the corresponding reference source address to the duplication determination unit 120. Here, the reference address is a logical address when the host system 300 accesses the storage apparatus 200.

尚、生成される入力データブロックのサイズは、可変長であってもよいし、固定長であってもよい。本実施形態においては、入力データブロックのサイズは、可変長であるものとして説明する。尚、入力データの分割の技術については周知であるため、説明を省略する。   Note that the size of the generated input data block may be a variable length or a fixed length. In the present embodiment, the description will be made assuming that the size of the input data block is variable. Since the technique for dividing the input data is well known, a description thereof will be omitted.

管理情報記憶部160は、図2に示すようなハッシュ値管理テーブル161と図3に示すような参照元管理テーブル162とを記憶する。   The management information storage unit 160 stores a hash value management table 161 as shown in FIG. 2 and a reference source management table 162 as shown in FIG.

図2は、ハッシュ値管理テーブル161の例を示す図である。図2を参照すると、ハッシュ値管理テーブル161は、バッファ170に保持されている入力データブロック(後述の非重複データブロック)それぞれ及びストレージ装置200に記憶されている保管データブロックそれぞれに対応するハッシュ値163と保存先アドレス164との組を含む。保管データブロックは、データ分割部110により生成された入力データブロックであって、すでにストレージ装置200に格納されているデータブロックである。   FIG. 2 is a diagram illustrating an example of the hash value management table 161. Referring to FIG. 2, the hash value management table 161 includes hash values corresponding to input data blocks (non-duplicate data blocks described later) held in the buffer 170 and stored data blocks stored in the storage apparatus 200. 163 and a storage destination address 164 are included. The stored data block is an input data block generated by the data dividing unit 110 and is a data block already stored in the storage apparatus 200.

図3は、参照元管理テーブル162の例を示す図である。図3を参照すると、参照元管理テーブル162は、非重複データブロックそれぞれ及び保管データブロックそれぞれに対応する参照元アドレス165と保存先アドレス164との組を含む。   FIG. 3 is a diagram illustrating an example of the reference source management table 162. Referring to FIG. 3, the reference source management table 162 includes a pair of a reference source address 165 and a storage destination address 164 corresponding to each non-overlapping data block and each stored data block.

保管データブロックに対応する保存先アドレス164は、ストレージ制御装置100がストレージ装置200をアクセスする場合の、物理アドレスである。非重複ブロックに対応する保存先アドレス164は、バッファ170上のアドレスである。参照元アドレス165は、ホストシステム300がストレージ装置200をアクセスする場合の、論理アドレスである。   The storage destination address 164 corresponding to the storage data block is a physical address when the storage control device 100 accesses the storage device 200. A storage destination address 164 corresponding to a non-overlapping block is an address on the buffer 170. The reference source address 165 is a logical address when the host system 300 accesses the storage apparatus 200.

重複判定部120は、入力データブロックが、保管データブロックに含まれるデータとは異なるデータを含む、非重複データブロックであるか否かを判定し、その判定結果を含む判定結果情報を非重複データ増加予測部130へ出力する。   The duplication determination unit 120 determines whether or not the input data block is a non-duplication data block including data different from the data included in the storage data block, and determines the determination result information including the determination result as non-duplication data. Output to the increase prediction unit 130.

具体的には、重複判定部120は、入力データブロックに含まれるデータのハッシュ値(以後、ハッシュ値663と呼ぶ、図示しない)を算出する。尚、ハッシュ値663を算出する技術については周知であるため、説明を省略する。   Specifically, the duplication determination unit 120 calculates a hash value (hereinafter referred to as a hash value 663, not shown) of data included in the input data block. Since the technique for calculating the hash value 663 is well known, the description thereof is omitted.

続けて、重複判定部120は、ハッシュ値663とハッシュ値管理テーブル161のハッシュ値163とを比較する。そして、ハッシュ値663がいずれのハッシュ値163とも一致しなかった場合、重複判定部120は、対応する入力データブロックが非重複データブロックであると判定する。一方、ハッシュ値663がいずれかのハッシュ値163と一致した場合、重複判定部120は、対応する入力データブロックが重複データブロックであると判定する。   Subsequently, the duplication determination unit 120 compares the hash value 663 with the hash value 163 of the hash value management table 161. If the hash value 663 does not match any hash value 163, the duplication determination unit 120 determines that the corresponding input data block is a non-duplication data block. On the other hand, when the hash value 663 matches any one of the hash values 163, the duplication determination unit 120 determines that the corresponding input data block is a duplication data block.

重複判定部120は、対応する入力データブロックが非重複データブロックであると判定した場合、その非重複データブロックをバッファ170に書き込む。同時に、重複判定部120は、ハッシュ値管理テーブル161及び参照元管理テーブル162を更新する。具体的には、重複判定部120は、ハッシュ値管理テーブル161に、その非重複データブロックのハッシュ値163と保存先アドレス164との組を追加する。同じく、重複判定部120は、参照元管理テーブル162に、その非重複データブロックの参照元アドレス165と保存先アドレス164との組を追加する。この場合、保存先アドレス164は、バッファ170上のアドレスである。   When the duplication determination unit 120 determines that the corresponding input data block is a non-duplication data block, the duplication determination unit 120 writes the non-duplication data block in the buffer 170. At the same time, the duplication determination unit 120 updates the hash value management table 161 and the reference source management table 162. Specifically, the duplication determination unit 120 adds a set of the hash value 163 and the storage destination address 164 of the non-duplication data block to the hash value management table 161. Similarly, the duplication determination unit 120 adds a set of the reference source address 165 and the storage destination address 164 of the non-overlapping data block to the reference source management table 162. In this case, the storage destination address 164 is an address on the buffer 170.

また、重複判定部120は、対応する入力データブロックが非重複データブロックでない、即ち、重複ブロックであると判定した場合、その重複データブロックを廃棄する。同時に、重複判定部120は、参照元管理テーブル162を更新する。具体的には、重複判定部120は、参照元管理テーブル162を、例えば以下のように更新する。まず、重複判定部120は、ハッシュ値管理テーブル161を参照して、その入力ブロックデータのハッシュ値663と同じ値のハッシュ値163に対応する保存先アドレス164を取得する。次に、重複判定部120は、その入力ブロックデータの参照元アドレス165と取得した保存先アドレス164とを組にして参照元管理テーブル162に追加する。   In addition, when it is determined that the corresponding input data block is not a non-duplicate data block, that is, a duplicate block, the duplicate determination unit 120 discards the duplicate data block. At the same time, the duplication determination unit 120 updates the reference source management table 162. Specifically, the duplication determination unit 120 updates the reference source management table 162 as follows, for example. First, the duplication determination unit 120 refers to the hash value management table 161 and acquires a storage destination address 164 corresponding to the hash value 163 having the same value as the hash value 663 of the input block data. Next, the duplication determination unit 120 adds the reference source address 165 of the input block data and the acquired storage destination address 164 to the reference source management table 162 as a pair.

次に、重複判定部120は、その判定結果と対応する入力データブロックのサイズと入力データスループットとを含む判定結果情報を出力する。本実施形態において、入力データスループットは、単位時間当たりの入力データの量である。例えば、重複判定部120は、現在時刻から過去1秒間に受け取った入力データブロックのサイズを積算して、入力データスループットを算出する。   Next, the duplication determination unit 120 outputs determination result information including the size of the input data block corresponding to the determination result and the input data throughput. In the present embodiment, the input data throughput is the amount of input data per unit time. For example, the duplication determination unit 120 calculates the input data throughput by adding up the sizes of the input data blocks received in the past one second from the current time.

バッファ170は、非重複データブロックを保持する。バッファ170が備える容量(B_maxバイト)は、例えば、以下のように決定される。ストレージ制御装置100が受け付ける入力データの1秒当たりの最大容量は、B_inputバイト/秒であるとする。ストレージ装置200が省電力モードの状態から通常動作モードの状態へ変化するのに掛かる起動時間は、T_start秒であるとする。この場合、バッファ170の容量(B_maxバイト)は、(B_input×T_start)バイトより大きい。   The buffer 170 holds non-overlapping data blocks. The capacity (B_max bytes) included in the buffer 170 is determined as follows, for example. It is assumed that the maximum capacity per second of input data received by the storage control device 100 is B_input bytes / second. It is assumed that the startup time required for the storage apparatus 200 to change from the power saving mode state to the normal operation mode state is T_start seconds. In this case, the capacity (B_max bytes) of the buffer 170 is larger than (B_input × T_start) bytes.

バッファ出力制御部150は、バッファ170に保存されている入力データブロック(非重複データブロック)をストレージ装置200へ出力する。続けて、バッファ出力制御部150は、バッファ170をクリアする。同時に、バッファ出力制御部150は、ハッシュ値管理テーブル161及び参照元管理テーブル162の保存先アドレス164を、バッファ170上のアドレスからストレージ装置200上のアドレスへ更新する。   The buffer output control unit 150 outputs the input data block (non-overlapping data block) stored in the buffer 170 to the storage device 200. Subsequently, the buffer output control unit 150 clears the buffer 170. At the same time, the buffer output control unit 150 updates the storage destination address 164 of the hash value management table 161 and the reference source management table 162 from the address on the buffer 170 to the address on the storage device 200.

非重複データ増加予測部130は、重複判定部120が出力した判定結果情報とバッファ170の容量とバッファ170の現在の保持量とに基づいて、予測される非重複データの今後の発生状況に対応する予測情報を算出する。次に、非重複データ増加予測部130は、その予測情報を出力する。バッファ170の現在の保持量は、非重複データ増加予測部130がバッファ170から取得した、バッファ170に保持している入力データブロックのサイズの合計である。   The non-redundant data increase prediction unit 130 responds to the future occurrence state of predicted non-duplicate data based on the determination result information output from the duplication determination unit 120, the capacity of the buffer 170, and the current holding amount of the buffer 170. The prediction information to be calculated is calculated. Next, the non-overlapping data increase prediction unit 130 outputs the prediction information. The current holding amount of the buffer 170 is the total size of the input data blocks held in the buffer 170 acquired from the buffer 170 by the non-redundant data increase prediction unit 130.

例えば、非重複データ増加予測部130は、以下のように予測情報を算出する。まず、非重複データ増加予測部130は、入力データブロックのサイズと対応する判定結果とに基づいて、予め定められた期間(例えば、過去1ミリ秒間)中の、入力データブロックのデータサイズを全て合計した値(Xとする)と非重複データブロックのデータサイズを全て合計した値(Yとする)との比率(Y÷X)を算出する。尚、「予め定められた期間中の」は、「予め定められた条件に適合する」とも呼ばれる。「予め定められた条件に適合する」は、例えば、「最新の入力データブロックから、所定の個数の範囲内の」であってもよい。   For example, the non-overlapping data increase prediction unit 130 calculates prediction information as follows. First, the non-overlapping data increase prediction unit 130 determines all the data sizes of the input data block during a predetermined period (for example, the past 1 millisecond) based on the size of the input data block and the corresponding determination result. A ratio (Y ÷ X) between the total value (X) and the total value (Y) of all data sizes of non-overlapping data blocks is calculated. Note that “during a predetermined period” is also referred to as “conforming to a predetermined condition”. “Conforming to a predetermined condition” may be, for example, “within a predetermined number of ranges from the latest input data block”.

次に、非重複データ増加予測部130は、その算出した比率に入力データスループットを乗じて非重複データスループットを算出する。次に、非重複データ増加予測部130は、その算出した非重複データスループットとバッファ170の容量とバッファ170の現在の保持量とに基づいて、バッファ170に保持される非重複データブロックのサイズの合計がバッファ170の容量に達するまでの時間を予測情報として算出する。   Next, the non-redundant data increase prediction unit 130 calculates the non-redundant data throughput by multiplying the calculated ratio by the input data throughput. Next, the non-duplicate data increase prediction unit 130 determines the size of the non-duplicate data block held in the buffer 170 based on the calculated non-duplicate data throughput, the capacity of the buffer 170, and the current holding amount of the buffer 170. The time until the total reaches the capacity of the buffer 170 is calculated as prediction information.

更に具体的に説明すると、非重複データ増加予測部130は、例えば以下のように予測情報を算出する。   More specifically, the non-overlapping data increase prediction unit 130 calculates prediction information as follows, for example.

まず、非重複データ増加予測部130は、重複判定部120が出力した判定結果と対応する入力データブロックのサイズとを、非重複データ増加予測部130内の図示しない記憶部に、図4に示すような重複判定履歴131として記録する。図4は、重複判定履歴131の例を示す図である。図4を参照すると、重複判定履歴131は、時刻132、サイズ133及び判定結果134を含む。時刻132は、重複判定部120が出力した判定結果情報を受け取った時刻を、例えばマイクロ秒単位でかつ10ミリ秒周期で示す。サイズ133は、受け取った入力データブロックのサイズを、例えばキロバイト単位で示す。判定結果134は、「1」の場合に非重複データブロックであること、「0」の場合に重複データであることを示す。   First, the non-redundant data increase prediction unit 130 shows the determination result output by the duplication determination unit 120 and the size of the corresponding input data block in a storage unit (not shown) in the non-redundant data increase prediction unit 130, as shown in FIG. Such duplication determination history 131 is recorded. FIG. 4 is a diagram illustrating an example of the duplication determination history 131. Referring to FIG. 4, the overlap determination history 131 includes a time 132, a size 133, and a determination result 134. The time 132 indicates the time when the determination result information output from the duplication determination unit 120 is received, for example, in units of microseconds and in a cycle of 10 milliseconds. The size 133 indicates the size of the received input data block, for example, in kilobytes. The determination result 134 indicates that the data block is a non-overlapping data block when “1”, and that the data is redundant data when “0”.

非重複データ増加予測部130は、重複判定履歴131を記録する度に、過去1ミリ秒間の入力データブロックのデータサイズ(判定結果134が0または1である、入力データブロックに対応するサイズ133)を全て合計した値(Xとする)と、非重複データブロックのデータサイズ(判定結果134が1である、入力データブロックに対応するサイズ133)を全て合計した値(Yとする)と、の比率(Y÷X)を算出する。図4の例では、現在時刻を最新の判定結果情報を受け取った時刻である時刻132「2601」とすると、過去1ミリ秒間には、時刻132「2601」、「2243」及び「1799」が含まれる。従って、比率(Y÷X)は、X=10+5+5=20及びY=5+5より、Y÷X=0.5と求められる。   The non-overlapping data increase prediction unit 130 records the data size of the input data block for the past 1 millisecond each time the duplication determination history 131 is recorded (size 133 corresponding to the input data block whose determination result 134 is 0 or 1). And the total value of all the data sizes of non-overlapping data blocks (the size 133 corresponding to the input data block whose determination result 134 is 1). The ratio (Y ÷ X) is calculated. In the example of FIG. 4, when the current time is the time 132 “2601” that is the time when the latest determination result information is received, the past 1 millisecond includes the times 132 “2601”, “2243”, and “1799”. It is. Therefore, the ratio (Y ÷ X) is obtained as Y ÷ X = 0.5 from X = 10 + 5 + 5 = 20 and Y = 5 + 5.

次に、非重複データ増加予測部130は、比率(Y÷X)に入力データスループット(Zと呼ぶ)を乗じて、非重複データスループット(Y÷X)×Zを算出する。例えば、Z=20メガバイトであるとすると、非重複データ増加予測部130は、(Y÷X)×Z=0.5×20メガバイト=10メガバイトを算出する。   Next, the non-duplicate data increase prediction unit 130 multiplies the ratio (Y ÷ X) by the input data throughput (referred to as Z) to calculate non-duplicate data throughput (Y ÷ X) × Z. For example, assuming that Z = 20 megabytes, the non-overlapping data increase prediction unit 130 calculates (Y ÷ X) × Z = 0.5 × 20 megabytes = 10 megabytes.

次に、非重複データ増加予測部130は、図5に示す方程式をtについて解く。図5は、非重複データの今後の発生状況を予測する方程式である。   Next, the non-overlapping data increase prediction unit 130 solves the equation shown in FIG. FIG. 5 is an equation for predicting the future occurrence of non-redundant data.

図5において、B_maxバイトはバッファ170の容量、B_currentバイトはバッファ170の現在の保持量である。従って、解は、バッファ170に保持される非重複データブロックのサイズの合計がB_maxバイトに達するまでの時間(T_max秒とする)である。   In FIG. 5, B_max bytes are the capacity of the buffer 170, and B_current bytes are the current holding amount of the buffer 170. Therefore, the solution is the time (T_max seconds) until the total size of the non-overlapping data blocks held in the buffer 170 reaches B_max bytes.

例えば、B_max=40メガバイト、B_current=10メガバイトであるとすると、非重複データ増加予測部130は、T_max=(40メガバイト−10メガバイト)÷20メガバイト/秒=1.5秒を算出する。こうして、非重複データ増加予測部130は、非重複データの今後の発生量を予測する情報として、T_max秒を算出する。   For example, if B_max = 40 megabytes and B_current = 10 megabytes, the non-duplicate data increase prediction unit 130 calculates T_max = (40 megabytes-10 megabytes) / 20 megabytes / second = 1.5 seconds. Thus, the non-duplicate data increase prediction unit 130 calculates T_max seconds as information for predicting the future generation amount of non-duplicate data.

尚、非重複データ増加予測部130は、入力データブロックのサイズとして予め与えられたサイズと、入力データスループットとして予め与えられた値とを用いて、T_max秒を算出するようにしてもよい。この場合、重複判定部120は、入力データブロックのサイズ及び入力データスループットを判定結果情報に含めなくてもよい。   The non-overlapping data increase prediction unit 130 may calculate T_max seconds using a size given in advance as the size of the input data block and a value given in advance as the input data throughput. In this case, the duplication determination unit 120 may not include the size of the input data block and the input data throughput in the determination result information.

モード制御部140は、非重複データ増加予測部130からの予測情報(T_max秒)の出力の有無と予測情報(T_max秒)とバッファ170の現在の保持量が0か否かとに基づいて、ストレージ装置200の運転モードを決定する。運転モードは、例えば、省電力モード及び通常電力モードである。尚、省電力モードは、例えばストレージ装置200自体(電源制御部210を除く)の電源オフや、ディスク部220毎の省電力モードへの移行及び電源オフを含む。次に、モード制御部140は、決定した運転モードをストレージ装置200に通知する。   The mode control unit 140 stores the prediction information (T_max seconds) from the non-overlapping data increase prediction unit 130 based on the presence / absence of the prediction information (T_max seconds) and whether or not the current holding amount of the buffer 170 is zero. The operation mode of the apparatus 200 is determined. The operation modes are, for example, a power saving mode and a normal power mode. The power saving mode includes, for example, powering off the storage apparatus 200 itself (excluding the power control unit 210), shifting to the power saving mode for each disk unit 220, and powering off. Next, the mode control unit 140 notifies the storage apparatus 200 of the determined operation mode.

ストレージ装置200において、電源制御部210は、ストレージ制御装置100のモード制御部140から通知された運転モードに基づいて、ストレージ装置200の運転モードを切り替える。省電力モードへの切り替えにおいて、消費電力量を削減する技術は周知であるので、説明を省略する。   In the storage device 200, the power control unit 210 switches the operation mode of the storage device 200 based on the operation mode notified from the mode control unit 140 of the storage control device 100. Since the technology for reducing the amount of power consumption in switching to the power saving mode is well known, description thereof is omitted.

ディスク部220は、単体または複数のディスクから構成され、ストレージ制御装置100のバッファ出力制御部150が出力した入力データブロック(非重複データブロック)を、保管データブロックとして記憶する。   The disk unit 220 is composed of a single disk or a plurality of disks, and stores an input data block (non-overlapping data block) output from the buffer output control unit 150 of the storage control device 100 as a storage data block.

尚、本実施形態ではストレージ制御装置100が保存先アドレス164と参照元アドレス165との対応を管理するようにしたが、ストレージ装置200が保存先アドレスと参照元アドレスとの対応を管理するようにしてもよい。この場合、ストレージ制御装置100は、非重複データブロックに参照元アドレス165を付加して、ストレージ装置200に出力するようにしてもよい。   In this embodiment, the storage control device 100 manages the correspondence between the storage destination address 164 and the reference source address 165, but the storage device 200 manages the correspondence between the storage destination address and the reference source address. May be. In this case, the storage control device 100 may add the reference source address 165 to the non-overlapping data block and output it to the storage device 200.

次に、本発明の動作について図面を参照して詳細に説明する。   Next, the operation of the present invention will be described in detail with reference to the drawings.

まず、ホストシステム300は、ライトコマンドを送信する。ストレージ制御装置100は、ホストシステム300が送信したライトコマンドを受信する。   First, the host system 300 transmits a write command. The storage control device 100 receives a write command transmitted from the host system 300.

ライトコマンドを受信すると、ストレージ制御装置100のデータ分割部110は、そのライトコマンドに含まれる入力データを分割して入力データブロックを生成し、出力する。   When the write command is received, the data dividing unit 110 of the storage control device 100 divides the input data included in the write command to generate an input data block and outputs it.

次に、重複判定部120が入力データブロックを受け取り、ハッシュ値管理テーブル161を参照して、受け取った入力データブロックの重複判定を行う。   Next, the duplication determination unit 120 receives the input data block and refers to the hash value management table 161 to determine duplication of the received input data block.

図6は、重複判定部120の動作を示すフローチャートである。   FIG. 6 is a flowchart showing the operation of the overlap determination unit 120.

まず、重複判定部120は、入力データブロックを受け取る(ステップS1101)。   First, the duplication determination unit 120 receives an input data block (step S1101).

次に、重複判定部120は、ハッシュ値管理テーブル161を参照して、入力データブロックが、保管データブロックに含まれるデータとは異なるデータを含む、非重複データブロックであるか否かを判定する(ステップS1102)。   Next, the duplication determination unit 120 refers to the hash value management table 161 to determine whether or not the input data block is a non-duplication data block including data different from the data included in the storage data block. (Step S1102).

非重複データブロックでない場合(ステップS1102でNO)、重複判定部120は、その入力データブロックを破棄する(ステップS1103)。   If it is not a non-overlapping data block (NO in step S1102), the duplication determination unit 120 discards the input data block (step S1103).

続けて、重複判定部120は、参照元管理テーブル162を更新する(ステップS1104)。そして、処理はステップS1107へ進む。   Subsequently, the duplication determination unit 120 updates the reference source management table 162 (step S1104). Then, the process proceeds to step S1107.

非重複データブロックである場合(ステップS1102でYES)、重複判定部120は、その入力データブロックを、非重複データブロックとしてバッファ170に保存する(ステップS1105)。   If it is a non-overlapping data block (YES in step S1102), the duplication determining unit 120 stores the input data block in the buffer 170 as a non-duplicating data block (step S1105).

続けて、重複判定部120は、ハッシュ値管理テーブル161及び参照元管理テーブル162を更新する(ステップS1106)。   Subsequently, the duplication determination unit 120 updates the hash value management table 161 and the reference source management table 162 (step S1106).

次に、重複判定部120は、入力データスループットを算出する(ステップS1107)。   Next, the duplication determination unit 120 calculates the input data throughput (step S1107).

次に、重複判定部120は、その入力データブロックのサイズと重複判定の結果(非重複/重複)と入力データスループットとを判定結果情報として非重複データ増加予測部130に出力する(ステップS1108)。   Next, the duplication determination unit 120 outputs the size of the input data block, the duplication determination result (non-duplication / duplication), and the input data throughput to the non-duplication data increase prediction unit 130 as determination result information (step S1108). .

次に、図7を参照して、非重複データ増加予測部130の動作を説明する。図7は、非重複データ増加予測部130の動作を示すフローチャートである。   Next, the operation of the non-redundant data increase prediction unit 130 will be described with reference to FIG. FIG. 7 is a flowchart showing the operation of the non-redundant data increase prediction unit 130.

まず、非重複データ増加予測部130は、入力データブロックのサイズと重複判定の結果と入力データスループットとを受け取る(ステップS1301)。   First, the non-redundant data increase prediction unit 130 receives the size of the input data block, the result of the overlap determination, and the input data throughput (step S1301).

次に、非重複データ増加予測部130は、受け取った入力データブロックのサイズと重複判定の結果とそれらを受け取った時間とを組にして、重複判定履歴131として記録する(ステップS1302)。   Next, the non-overlapping data increase prediction unit 130 records the received input data block size, the result of the determination of duplication, and the time when they are received as a duplication determination history 131 (step S1302).

次に、非重複データ増加予測部130は、過去1ミリ秒間の入力データブロックのデータサイズを全て合計した値(X)と非重複データのデータサイズを全て合計した値(Y)の比率(Y÷X)を算出する(ステップS1303)。   Next, the non-redundant data increase prediction unit 130 calculates a ratio (Y) of a value (Y) obtained by summing all the data sizes of the input data blocks in the past 1 millisecond and a sum (Y) of all the data sizes of the non-duplicate data. ÷ X) is calculated (step S1303).

次に、非重複データ増加予測部130は、比率(Y÷X)に入力データスループットZを乗じて、非重複データスループット(Y÷X)×Zを算出する(ステップS1304)。   Next, the non-redundant data increase prediction unit 130 multiplies the ratio (Y ÷ X) by the input data throughput Z to calculate non-redundant data throughput (Y ÷ X) × Z (step S1304).

次に、非重複データ増加予測部130は、バッファ170の現在の保持量(B_currentバイト)を取得する(ステップS1305)。   Next, the non-redundant data increase prediction unit 130 acquires the current holding amount (B_current bytes) of the buffer 170 (step S1305).

次に、非重複データ増加予測部130は、図5に示す式に基づいてT_max秒を算出する(ステップS1306)。   Next, the non-overlapping data increase prediction unit 130 calculates T_max seconds based on the formula shown in FIG. 5 (step S1306).

次に、非重複データ増加予測部130は、算出したT_max秒をモード制御部140に出力する(ステップS1307)。   Next, the non-overlapping data increase prediction unit 130 outputs the calculated T_max seconds to the mode control unit 140 (step S1307).

尚、上述の説明において、非重複データ増加予測部130は、重複判定の結果を受け取る毎に予測情報を出力するように動作するが、非重複データ増加予測部130は、予め定められた時間毎に予測情報を通知するようにしてもよい。   In the above description, the non-redundant data increase prediction unit 130 operates so as to output prediction information every time it receives a result of the overlap determination. You may make it notify prediction information to.

次に、図8を参照して、モード制御部140の動作を説明する。図8は、モード制御部140の動作を示すフローチャートである。   Next, the operation of the mode control unit 140 will be described with reference to FIG. FIG. 8 is a flowchart showing the operation of the mode control unit 140.

まず、モード制御部140は、図示しないタイマーをリスタート(タイマー値を「0」にして、計時を開始)する(ステップS1401)。   First, the mode control unit 140 restarts a timer (not shown) (sets the timer value to “0” and starts timing) (step S1401).

次に、モード制御部140は、非重複データ増加予測部130から予測情報(T_max秒)の出力があったか否かを確認する(ステップS1402)。   Next, the mode control unit 140 checks whether or not the prediction information (T_max seconds) is output from the non-overlapping data increase prediction unit 130 (step S1402).

予測情報(T_max秒)の出力があった場合(ステップS1402でYES)、処理は、ステップS1410へ進む。   If the prediction information (T_max seconds) is output (YES in step S1402), the process proceeds to step S1410.

予測情報(T_max秒)の出力がない場合(ステップS1402でNO)、モード制御部140は、タイマーの計時時間が予め定められたT_idle秒に達したか否かを確認する(ステップS1404)。   If the prediction information (T_max seconds) is not output (NO in step S1402), the mode control unit 140 checks whether or not the timer time has reached a predetermined T_idle seconds (step S1404).

T_idle秒に達した場合(ステップS1404でYES)、処理は、ステップS1440へ進む。   If T_idle seconds have been reached (YES in step S1404), the process proceeds to step S1440.

T_idle秒に達していない場合(ステップS1404でNO)、処理は、ステップS1402へ戻る。   If T_idle seconds have not been reached (NO in step S1404), the process returns to step S1402.

ステップS1410において、モード制御部140は、T_max秒からストレージ装置200の起動時間T_start秒を差し引く(ステップS1410)。   In step S1410, the mode control unit 140 subtracts the startup time T_start seconds of the storage apparatus 200 from T_max seconds (step S1410).

差し引いた結果が0以下の場合(ステップS1410でYES)、モード制御部140は、ストレージ装置200の電源制御部210に対して、運転モードを通常電力モードにするように通知する(ステップS1411)。そして、処理はステップS1401へ戻る。   When the subtraction result is 0 or less (YES in step S1410), the mode control unit 140 notifies the power supply control unit 210 of the storage apparatus 200 to set the operation mode to the normal power mode (step S1411). Then, the process returns to step S1401.

差し引いた結果が0を超える場合(ステップS1410でNO)、処理は、ステップS1402へ戻る。   If the subtraction result exceeds 0 (NO in step S1410), the process returns to step S1402.

ステップS1440において、モード制御部140は、バッファ170の現在の保持量が0か否かを確認する(ステップS1440)。   In step S1440, the mode control unit 140 checks whether or not the current holding amount of the buffer 170 is 0 (step S1440).

現在の保持量が0でない場合(ステップS1440でNO)、処理は、ステップS1411へ進む。   If the current holding amount is not 0 (NO in step S1440), the process proceeds to step S1411.

現在の保持量が0の場合(ステップS1440でYES)、モード制御部140は、ストレージ装置200の電源制御部210に対して、運転モードを省電力モードにするように通知する(ステップS1442)。そして、処理はステップS1401へ戻る。   When the current holding amount is 0 (YES in step S1440), the mode control unit 140 notifies the power supply control unit 210 of the storage apparatus 200 to set the operation mode to the power saving mode (step S1442). Then, the process returns to step S1401.

以上に説明した動作によりモード制御部140は、運転モードを通知する。次に、ストレージ装置200は、通知された運転モードに基づいて、省電力モードと通常電力モードとを切り替える。   With the operation described above, the mode control unit 140 notifies the operation mode. Next, the storage apparatus 200 switches between the power saving mode and the normal power mode based on the notified operation mode.

ストレージ装置200は、運転モードを省電力モードから通常電力モードに切り替えると、T_idle秒後に起動が完了する。   When the operation mode is switched from the power saving mode to the normal power mode, the storage device 200 completes startup after T_idle seconds.

バッファ出力制御部150は、ストレージ装置200を監視してストレージ装置200の起動が完了した状態を検出する。   The buffer output control unit 150 monitors the storage apparatus 200 and detects a state where the activation of the storage apparatus 200 is completed.

尚、モード制御部140がストレージ装置200を監視してストレージ装置200の起動が完了した状態を検出し、これをバッファ出力制御部150に通知するようにしてもよい。即ち、モード制御部140が、ストレージ装置200の運転モード及び状態に関するインタフェースを一括して制御するようにしてもよい。   Note that the mode control unit 140 may monitor the storage apparatus 200 to detect a state where the activation of the storage apparatus 200 is completed, and notify the buffer output control unit 150 of this. That is, the mode control unit 140 may collectively control the interface related to the operation mode and state of the storage apparatus 200.

ストレージ装置200の起動が完了した状態である場合に、バッファ出力制御部150は、バッファ170に保持されている非重複データブロックをストレージ装置200のディスク部220へ出力する。次に、バッファ出力制御部150は、非重複データブロックの出力が完了すると、バッファ170をクリアする。同時にバッファ出力制御部150は、ハッシュ値管理テーブル161と参照元管理テーブル162を更新する。   When the activation of the storage device 200 is completed, the buffer output control unit 150 outputs the non-redundant data block held in the buffer 170 to the disk unit 220 of the storage device 200. Next, when the output of the non-overlapping data block is completed, the buffer output control unit 150 clears the buffer 170. At the same time, the buffer output control unit 150 updates the hash value management table 161 and the reference source management table 162.

上述した本実施形態における効果は、重複排除ストレージにおいて十分な省電力をすることを可能にする点である。   The effect of the present embodiment described above is that sufficient power saving can be achieved in the deduplication storage.

その理由は、非重複データ増加予測部130が非重複データブロックの今後の発生状況に対応する予測情報を算出し、モード制御部140が予測情報の有無と予測情報とに基づいてストレージ装置200の運転モードを制御するようにしたからである。   The reason is that the non-redundant data increase prediction unit 130 calculates prediction information corresponding to the future occurrence state of the non-duplicate data block, and the mode control unit 140 determines whether the storage device 200 is based on the presence / absence of the prediction information and the prediction information. This is because the operation mode is controlled.

[第2の実施形態]
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Hereinafter, the description overlapping with the above description is omitted as long as the description of the present embodiment is not obscured.

図9は、本発明の第2の実施形態に係るストレージ制御装置101の構成を示すブロック図である。   FIG. 9 is a block diagram showing the configuration of the storage control apparatus 101 according to the second embodiment of the present invention.

図9を参照すると、本実施形態におけるストレージ制御装置101は、重複判定部120、非重複データ増加予測部130、モード制御部140、バッファ出力制御部150、管理情報記憶部160及びバッファ170を含む。   Referring to FIG. 9, the storage control apparatus 101 according to the present embodiment includes a duplication determination unit 120, a non-duplication data increase prediction unit 130, a mode control unit 140, a buffer output control unit 150, a management information storage unit 160, and a buffer 170. .

本実施形態においては、入力データブロックは、図示しない外部の装置から与えられ、重複判定部120はこの入力データブロックを受け取り、処理する。例えば、入力データブロックは、第1の実施形態で説明したホストシステム300が送信するライトコマンドに含まれる入力データであってもよい。   In this embodiment, the input data block is given from an external device (not shown), and the duplication determination unit 120 receives and processes this input data block. For example, the input data block may be input data included in a write command transmitted by the host system 300 described in the first embodiment.

これ以外の各要素の機能及び動作は、実施形態1の対応する各要素と同一である。   The functions and operations of the other elements are the same as the corresponding elements in the first embodiment.

ストレージ制御装置101は、図10に示すような、汎用的なコンピュータによって構成されるストレージ制御装置102であってもよい。   The storage control apparatus 101 may be a storage control apparatus 102 configured by a general-purpose computer as shown in FIG.

図10は、本実施形態における、プログラムにより所定の処理をコンピュータに実行させるストレージ制御装置の構成を示すブロック図である。   FIG. 10 is a block diagram illustrating a configuration of a storage control apparatus that causes a computer to execute predetermined processing according to a program in the present embodiment.

図10を参照すると、ストレージ装置102は、CPU(Central Processing Unit)710、ディスク装置720、記憶部730及び通信部750を備えている。   Referring to FIG. 10, the storage device 102 includes a CPU (Central Processing Unit) 710, a disk device 720, a storage unit 730, and a communication unit 750.

ストレージ制御装置101の重複判定部120、非重複データ増加予測部130、モード制御部140及びバッファ出力制御部150は、CPU710とディスク装置720と記憶部730とに対応する。また、ストレージ制御装置101の管理情報記憶部160及びバッファ170は、記憶部730に対応する。   The duplication determination unit 120, the non-duplication data increase prediction unit 130, the mode control unit 140, and the buffer output control unit 150 of the storage control device 101 correspond to the CPU 710, the disk device 720, and the storage unit 730. In addition, the management information storage unit 160 and the buffer 170 of the storage control apparatus 101 correspond to the storage unit 730.

CPU710は、ディスク装置720に格納されたプログラムを、例えば記憶部730に展開し、展開したプログラムに基づいて、重複判定部120、非重複データ増加予測部130、モード制御部140及びバッファ出力制御部150と同様の処理を実行する。   The CPU 710 expands the program stored in the disk device 720, for example, in the storage unit 730, and based on the expanded program, the duplication determination unit 120, the non-duplication data increase prediction unit 130, the mode control unit 140, and the buffer output control unit The same processing as 150 is executed.

ディスク装置720は、そのプログラムを記憶する。   The disk device 720 stores the program.

記憶部730は、展開されたそのプログラムを記憶する。また、記憶部730は、管理情報記憶部160と同様に、ハッシュ値管理テーブル161及び参照元管理テーブル162を記憶する。更に、記憶部730は、バッファ170と同様に、非重複データブロックを記憶する。   The storage unit 730 stores the expanded program. Further, the storage unit 730 stores a hash value management table 161 and a reference source management table 162 in the same manner as the management information storage unit 160. Further, the storage unit 730 stores non-overlapping data blocks, similarly to the buffer 170.

通信部750は、重複判定部120、モード制御部140及びバッファ出力制御部150に含まれる。   The communication unit 750 is included in the duplication determination unit 120, the mode control unit 140, and the buffer output control unit 150.

尚、第1の実施形態についても、同様に、ストレージ制御装置100は、図10に示すような、汎用的なコンピュータによって構成されるストレージ制御装置102であってもよい。   Also in the first embodiment, similarly, the storage control device 100 may be a storage control device 102 configured by a general-purpose computer as shown in FIG.

上述した本実施形態における効果は、第1の実施形態の効果に加えて、データ分割部110を不要にし、ストレージ制御装置101の構成要素を削減できる点である。   The effect of the present embodiment described above is that, in addition to the effect of the first embodiment, the data dividing unit 110 is unnecessary and the components of the storage control apparatus 101 can be reduced.

その理由は、重複判定部120が外部から受け取ったデータを処理するようにしたからである。   This is because the duplication determination unit 120 processes data received from the outside.

以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されたり、一つの構成要素が複数のモジュールで実現されたりしてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。   Each component described in each of the above embodiments does not necessarily have to be individually independent. For example, for each component, a plurality of components may be realized as one module, or one component may be realized as a plurality of modules. Each component is configured such that a component is a part of another component, or a part of a component overlaps a part of another component. Also good.

また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。   Further, in each of the embodiments described above, a plurality of operations are described in order in the form of a flowchart, but the described order does not limit the order in which the plurality of operations are executed. For this reason, when each embodiment is implemented, the order of the plurality of operations can be changed within a range that does not hinder the contents.

更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。   Furthermore, in each embodiment described above, a plurality of operations are not limited to being executed at different timings. For example, another operation may occur during the execution of a certain operation, or the execution timing of a certain operation and another operation may partially or entirely overlap.

更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作の全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。   Furthermore, in each of the embodiments described above, a certain operation is described as a trigger for another operation, but the description does not limit all relationships between the certain operation and the other operations. For this reason, when each embodiment is implemented, the relationship between the plurality of operations can be changed within a range that does not hinder the contents. The specific description of each operation of each component does not limit each operation of each component. For this reason, each specific operation | movement of each component may be changed in the range which does not cause trouble with respect to a functional, performance, and other characteristic in implementing each embodiment.

尚、以上説明した各実施形態における各構成要素は、必要に応じ可能であれば、ハードウェアで実現されても良いし、ソフトウェアで実現されても良いし、ハードウェアとソフトウェアの混在により実現されても良い。   Each component in each embodiment described above may be realized by hardware, software, or a mixture of hardware and software, if necessary. May be.

また、各構成要素の物理的な構成は、以上の実施形態の記載に限定されることはなく、独立して存在しても良いし、組み合わされて存在しても良いしまたは分離して構成されても良い。   Further, the physical configuration of each component is not limited to the description of the above embodiment, and may exist independently, may exist in combination, or may be configured separately. May be.

上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力する重複判定部と、
前記非重複データブロックを保持するバッファと、
前記保管データブロックそれぞれ及び前記非重複データブロックそれぞれに対応する、ハッシュ値と保存先アドレスとを関連付けて記憶する管理情報記憶部と、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力する非重複データ増加予測部と、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新するバッファ出力制御部と、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知するモード制御部と、を含み
前記重複判定部は、前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加する
ストレージ制御装置。
(付記2)
前記非重複データ増加予測部は、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して算出した時間を前記予測情報として出力する
ことを特徴とする付記1記載のストレージ制御装置。
(付記3)
前記入力データブロックは、可変長であり、
前記重複判定部120は、前記判定結果に対応する前記入力データブロックのサイズを出力する
ことを特徴とする付記1または2記載のストレージ制御装置。
(付記4)
前記非重複データ増加予測部は、前記判定結果を受け取る毎に前記予測情報を出力する
ことを特徴とする付記1乃至3のいずれかに記載のストレージ制御装置。
(付記5)
前記非重複データ増加予測部は、予め定められた時間毎に前記予測情報を通知する
ことを特徴とする付記1乃至4のいずれかに記載のストレージ制御装置。
(付記6)
前記運転モードに基づいて、省電力運転モードと通常電力運転モードとを切り替える電源制御部と、
受け取った前記非重複データブロックを前記保管データブロックとして記憶するデータ記憶部と、を含むストレージ装置と、
付記1乃至5のいずれかに記載のストレージ制御装置と、を含む
ストレージシステム。
(付記7)
バッファと管理情報記憶部とを有するストレージ制御装置が、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する
ストレージ制御方法。
(付記8)
前記ストレージ制御装置が、前記予測情報を算出において、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して時間を算出する
ことを特徴とする付記7記載のストレージ制御方法。
(付記9)
前記入力データブロックは可変長であり、前記判定結果に対応する前記入力データブロックのサイズを出力する
ことを特徴とする付記7または8記載のストレージ制御装置。
(付記10)
前記判定結果を受け取る毎に前記予測情報を出力する
ことを特徴とする付記7乃至9のいずれかに記載のストレージ制御装置。
(付記11)
予め定められた時間毎に前記予測情報を通知する
ことを特徴とする付記7乃至10のいずれかに記載のストレージ制御装置。
(付記12)
バッファと管理情報記憶部とを有するコンピュータに、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する、処理を実行させる
プログラム。
(付記13)
前記予測情報を算出において、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して時間を算出する処理を、前記コンピュータに実行させる
ことを特徴とする付記12記載のプログラム。
(付記14)
前記入力データブロックは可変長であり、前記判定結果に対応する前記入力データブロックのサイズを出力する処理を、前記コンピュータに実行させる
ことを特徴とする付記12または13記載のプログラム。
(付記15)
前記判定結果を受け取る毎に前記予測情報を出力する処理を、前記コンピュータに実行させる
ことを特徴とする付記12乃至14のいずれかに記載のプログラム。
(付記16)
予め定められた時間毎に前記予測情報を通知する処理を、前記コンピュータに実行させる
ことを特徴とする付記12乃至15のいずれかに記載のプログラム。
A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
Whether the input data block that is a candidate for data to be stored in the storage device is a non-overlapping data block including data different from the data included in any storage data block already stored in the storage device, A comparison between a hash value of data included in the input data block and a hash value of data included in each of the storage data blocks, and a determination unit for outputting the determination result of the determination;
A buffer holding the non-overlapping data block;
A management information storage unit that stores a hash value and a storage destination address in association with each storage data block and each non-overlapping data block;
Based on the determination result, the capacity of the buffer, and the current used capacity of the buffer, prediction information corresponding to prediction of a future occurrence state of the non-duplicated data is calculated, and the calculated prediction information is output. A duplicate data increase prediction unit;
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit A buffer output control unit for updating the storage destination address corresponding to the data block;
A mode control unit that determines an operation mode of the storage device based on the presence / absence of output of the prediction information and the prediction information, and notifies the storage device of the determined operation mode. A storage control device that stores the non-duplicate data block in the buffer and adds a set of the hash value and the storage destination address corresponding to the stored non-duplicate data block to a management information storage unit.
(Appendix 2)
The non-redundant data increase prediction unit calculates a ratio between a value obtained by summing all the data sizes of the input data blocks that meet a predetermined condition and a value obtained by summing all the data sizes of the non-duplicate data, A non-redundant data throughput is calculated by multiplying the calculated ratio by the input data throughput. The storage control device according to appendix 1, wherein the storage control device outputs the prediction information.
(Appendix 3)
The input data block is of variable length;
The storage control apparatus according to appendix 1 or 2, wherein the duplication determination unit 120 outputs the size of the input data block corresponding to the determination result.
(Appendix 4)
The storage control device according to any one of appendices 1 to 3, wherein the non-redundant data increase prediction unit outputs the prediction information every time the determination result is received.
(Appendix 5)
The storage control apparatus according to any one of appendices 1 to 4, wherein the non-redundant data increase prediction unit notifies the prediction information at predetermined time intervals.
(Appendix 6)
Based on the operation mode, a power control unit that switches between a power saving operation mode and a normal power operation mode,
A data storage unit that stores the received non-overlapping data block as the stored data block;
A storage system comprising: the storage control device according to any one of appendices 1 to 5.
(Appendix 7)
A storage control device having a buffer and a management information storage unit,
Whether the input data block that is a candidate for data to be stored in the storage device is a non-overlapping data block including data different from the data included in any storage data block already stored in the storage device, Judging by comparing the hash value of the data included in the input data block and the hash value of the data included in each storage data block, and outputting the determination result of the determination,
Storing the non-duplicate data block in the buffer, adding the set of the hash value and the storage destination address corresponding to the stored non-duplicate data block to a management information storage unit;
Based on the determination result, the capacity of the buffer and the current used capacity of the buffer, calculate prediction information corresponding to the prediction of the future occurrence state of the non-duplicated data, and output the calculated prediction information,
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit Update the destination address corresponding to the data block;
The storage control method which determines the operation mode of the said storage apparatus based on the presence or absence of the output of the said prediction information, and the said prediction information, and notifies the determined said operation mode to the said storage apparatus.
(Appendix 8)
In the calculation of the prediction information, the storage control device calculates a ratio between a value obtained by adding all the data sizes of the input data blocks that meet a predetermined condition and a value obtained by adding all the data sizes of the non-overlapping data. Calculate the non-overlapping data throughput by multiplying the calculated ratio by the input data throughput, and divide the buffer capacity by subtracting the current usage of the buffer by the non-overlapping data throughput. The storage control method according to appendix 7, wherein time is calculated.
(Appendix 9)
The storage control device according to appendix 7 or 8, wherein the input data block has a variable length and outputs a size of the input data block corresponding to the determination result.
(Appendix 10)
The storage control device according to any one of appendices 7 to 9, wherein the prediction information is output every time the determination result is received.
(Appendix 11)
The storage control device according to any one of appendices 7 to 10, wherein the prediction information is notified at predetermined time intervals.
(Appendix 12)
In a computer having a buffer and a management information storage unit,
Whether the input data block that is a candidate for data to be stored in the storage device is a non-overlapping data block including data different from the data included in any storage data block already stored in the storage device, Judging by comparing the hash value of the data included in the input data block and the hash value of the data included in each storage data block, and outputting the determination result of the determination,
Storing the non-duplicate data block in the buffer, adding the set of the hash value and the storage destination address corresponding to the stored non-duplicate data block to a management information storage unit;
Based on the determination result, the capacity of the buffer and the current used capacity of the buffer, calculate prediction information corresponding to the prediction of the future occurrence state of the non-duplicated data, and output the calculated prediction information,
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit Update the destination address corresponding to the data block;
A program for executing a process of determining an operation mode of the storage device based on the presence / absence of output of the prediction information and the prediction information, and notifying the storage device of the determined operation mode.
(Appendix 13)
In calculating the prediction information, the ratio between the total value of the data sizes of the input data blocks that meet a predetermined condition and the total value of the data sizes of the non-overlapping data is calculated and calculated. A process of calculating a non-overlapping data throughput by multiplying the ratio by the input data throughput, and calculating a time by dividing a value obtained by subtracting the current usage of the buffer from the capacity of the buffer by the non-overlapping data throughput. The program according to appendix 12, wherein the program is executed by the computer.
(Appendix 14)
The program according to appendix 12 or 13, wherein the input data block has a variable length, and causes the computer to execute a process of outputting the size of the input data block corresponding to the determination result.
(Appendix 15)
The program according to any one of appendices 12 to 14, which causes the computer to execute a process of outputting the prediction information each time the determination result is received.
(Appendix 16)
The program according to any one of appendices 12 to 15, wherein the computer is caused to execute a process of notifying the prediction information every predetermined time.

100 ストレージ制御装置
101 ストレージ制御装置
102 ストレージ制御装置
110 データ分割部
120 重複判定部
130 非重複データ増加予測部
131 重複判定履歴
132 時刻
133 サイズ
134 判定結果
140 モード制御部
150 バッファ出力制御部
160 管理情報記憶部
161 ハッシュ値管理テーブル
162 参照元管理テーブル
163 ハッシュ値
164 保存先アドレス
165 参照元アドレス
170 バッファ
200 ストレージ装置
210 電源制御部
220 ディスク部
300 ホストシステム
663 ハッシュ値
710 CPU
720 ディスク装置
730 記憶部
750 通信部
900 ネットワーク
DESCRIPTION OF SYMBOLS 100 Storage control apparatus 101 Storage control apparatus 102 Storage control apparatus 110 Data division part 120 Duplication determination part 130 Non-redundant data increase prediction part 131 Duplication determination history 132 Time 133 Size 134 Determination result 140 Mode control part 150 Buffer output control part 160 Management information Storage unit 161 Hash value management table 162 Reference source management table 163 Hash value 164 Storage destination address 165 Reference source address 170 Buffer 200 Storage device 210 Power supply control unit 220 Disk unit 300 Host system 663 Hash value 710 CPU
720 Disk device 730 Storage unit 750 Communication unit 900 Network

Claims (10)

ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力する重複判定部と、
前記非重複データブロックを保持するバッファと、
前記保管データブロックそれぞれ及び前記非重複データブロックそれぞれに対応する、ハッシュ値と保存先アドレスとを関連付けて記憶する管理情報記憶部と、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力する非重複データ増加予測部と、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新するバッファ出力制御部と、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知するモード制御部と、を含み
前記重複判定部は、前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加する
ストレージ制御装置。
Whether the input data block that is a candidate for data to be stored in the storage device is a non-overlapping data block including data different from the data included in any storage data block already stored in the storage device, A comparison between a hash value of data included in the input data block and a hash value of data included in each of the storage data blocks, and a determination unit for outputting the determination result of the determination;
A buffer holding the non-overlapping data block;
A management information storage unit that stores a hash value and a storage destination address in association with each storage data block and each non-overlapping data block;
Based on the determination result, the capacity of the buffer, and the current used capacity of the buffer, prediction information corresponding to prediction of a future occurrence state of the non-duplicated data is calculated, and the calculated prediction information is output. A duplicate data increase prediction unit;
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit A buffer output control unit for updating the storage destination address corresponding to the data block;
A mode control unit that determines an operation mode of the storage device based on the presence / absence of output of the prediction information and the prediction information, and notifies the storage device of the determined operation mode. A storage control device that stores the non-duplicate data block in the buffer and adds a set of the hash value and the storage destination address corresponding to the stored non-duplicate data block to a management information storage unit.
前記非重複データ増加予測部は、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して算出した時間を前記予測情報として出力する
ことを特徴とする請求項1記載のストレージ制御装置。
The non-redundant data increase prediction unit calculates a ratio between a value obtained by summing all the data sizes of the input data blocks that meet a predetermined condition and a value obtained by summing all the data sizes of the non-duplicate data, A non-redundant data throughput is calculated by multiplying the calculated ratio by the input data throughput. The storage control apparatus according to claim 1, wherein the storage control apparatus outputs the prediction information.
前記入力データブロックは、可変長であり、
前記重複判定部120は、前記判定結果に対応する前記入力データブロックのサイズを出力する
ことを特徴とする請求項1または2記載のストレージ制御装置。
The input data block is of variable length;
The storage control apparatus according to claim 1, wherein the duplication determination unit 120 outputs a size of the input data block corresponding to the determination result.
前記非重複データ増加予測部は、前記判定結果を受け取る毎に前記予測情報を出力する
ことを特徴とする請求項1乃至3のいずれかに記載のストレージ制御装置。
The storage control apparatus according to claim 1, wherein the non-redundant data increase prediction unit outputs the prediction information every time the determination result is received.
前記非重複データ増加予測部は、予め定められた時間毎に前記予測情報を通知する
ことを特徴とする請求項1乃至4のいずれかに記載のストレージ制御装置。
The storage control apparatus according to any one of claims 1 to 4, wherein the non-duplicate data increase prediction unit notifies the prediction information at predetermined time intervals.
前記運転モードに基づいて、省電力運転モードと通常電力運転モードとを切り替える電源制御部と、
受け取った前記非重複データブロックを前記保管データブロックとして記憶するデータ記憶部と、を含むストレージ装置と、
請求項1乃至5のいずれかに記載のストレージ制御装置と、を含む
ストレージシステム。
Based on the operation mode, a power control unit that switches between a power saving operation mode and a normal power operation mode,
A data storage unit that stores the received non-overlapping data block as the stored data block;
A storage system comprising the storage control device according to claim 1.
バッファと管理情報記憶部とを有するストレージ制御装置が、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する
ストレージ制御方法。
A storage control device having a buffer and a management information storage unit,
Whether the input data block that is a candidate for data to be stored in the storage device is a non-overlapping data block including data different from the data included in any storage data block already stored in the storage device, Judging by comparing the hash value of the data included in the input data block and the hash value of the data included in each storage data block, and outputting the determination result of the determination,
Storing the non-duplicate data block in the buffer, adding the set of the hash value and the storage destination address corresponding to the stored non-duplicate data block to a management information storage unit;
Based on the determination result, the capacity of the buffer and the current used capacity of the buffer, calculate prediction information corresponding to the prediction of the future occurrence state of the non-duplicated data, and output the calculated prediction information,
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit Update the destination address corresponding to the data block;
The storage control method which determines the operation mode of the said storage apparatus based on the presence or absence of the output of the said prediction information, and the said prediction information, and notifies the determined said operation mode to the said storage apparatus.
ストレージ制御装置は、前記予測情報を算出において、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して時間を算出する
ことを特徴とする請求項7記載のストレージ制御方法。
In calculating the prediction information, the storage control device calculates a ratio between a value obtained by adding all the data sizes of the input data blocks that meet a predetermined condition and a value obtained by adding all the data sizes of the non-overlapping data. The non-overlapping data throughput is calculated by multiplying the calculated ratio by the input data throughput, and the value obtained by subtracting the current usage of the buffer from the capacity of the buffer is divided by the non-overlapping data throughput to obtain a time. The storage control method according to claim 7, wherein the storage control method is calculated.
前記入力データブロックは可変長であり、前記判定結果に対応する前記入力データブロックのサイズを出力する
ことを特徴とする請求項7または8記載のストレージ制御装置。
The storage control apparatus according to claim 7 or 8, wherein the input data block has a variable length and outputs a size of the input data block corresponding to the determination result.
バッファと管理情報記憶部とを有するコンピュータに、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する、処理を実行させる
プログラム。
In a computer having a buffer and a management information storage unit,
Whether the input data block that is a candidate for data to be stored in the storage device is a non-overlapping data block including data different from the data included in any storage data block already stored in the storage device, Judging by comparing the hash value of the data included in the input data block and the hash value of the data included in each storage data block, and outputting the determination result of the determination,
Storing the non-duplicate data block in the buffer, adding the set of the hash value and the storage destination address corresponding to the stored non-duplicate data block to a management information storage unit;
Based on the determination result, the capacity of the buffer and the current used capacity of the buffer, calculate prediction information corresponding to the prediction of the future occurrence state of the non-duplicated data, and output the calculated prediction information,
When the storage device has been activated, the non-overlapping data block stored in the buffer is output to the storage device, and the output non-overlapping stored in the management information storage unit Update the destination address corresponding to the data block;
A program for executing a process of determining an operation mode of the storage device based on the presence / absence of output of the prediction information and the prediction information, and notifying the storage device of the determined operation mode.
JP2011030734A 2011-02-16 2011-02-16 Storage control device, storage system, storage control method, and program therefor Expired - Fee Related JP5630313B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011030734A JP5630313B2 (en) 2011-02-16 2011-02-16 Storage control device, storage system, storage control method, and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011030734A JP5630313B2 (en) 2011-02-16 2011-02-16 Storage control device, storage system, storage control method, and program therefor

Publications (2)

Publication Number Publication Date
JP2012168853A JP2012168853A (en) 2012-09-06
JP5630313B2 true JP5630313B2 (en) 2014-11-26

Family

ID=46972929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011030734A Expired - Fee Related JP5630313B2 (en) 2011-02-16 2011-02-16 Storage control device, storage system, storage control method, and program therefor

Country Status (1)

Country Link
JP (1) JP5630313B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015162002A (en) * 2014-02-26 2015-09-07 富士通株式会社 Storage control apparatus, storage control method, and storage control program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7669023B2 (en) * 2007-07-10 2010-02-23 Hitachi, Ltd. Power efficient storage with data de-duplication
JP5060876B2 (en) * 2007-08-30 2012-10-31 株式会社日立製作所 Storage system and storage system power consumption reduction method
JP5026213B2 (en) * 2007-09-28 2012-09-12 株式会社日立製作所 Storage apparatus and data deduplication method
JP2009251725A (en) * 2008-04-02 2009-10-29 Hitachi Ltd Storage controller and duplicated data detection method using storage controller
JP5180865B2 (en) * 2009-02-10 2013-04-10 株式会社日立製作所 File server, file management system, and file management method

Also Published As

Publication number Publication date
JP2012168853A (en) 2012-09-06

Similar Documents

Publication Publication Date Title
US9110669B2 (en) Power management of a storage device including multiple processing cores
JP6527577B2 (en) File system flushing
JP2009009194A (en) Storage system having function to reduce power consumption
TW201342209A (en) Migrating threads between asymmetric cores in a multiple core processor
KR20120112965A (en) Nonvolatile memory device, data processing device using the same, and swapping method using them
JP2019159802A (en) Power control method of storage device and storage device
WO2019033949A1 (en) Data migration method, apparatus and device
US10176065B2 (en) Intelligent failure prediction and redundancy management in a data storage system
CN103927215A (en) kvm virtual machine scheduling optimization method and system based on memory disk and SSD disk
US7496724B2 (en) Load balancing in a mirrored storage system
JP5630313B2 (en) Storage control device, storage system, storage control method, and program therefor
US20160266808A1 (en) Information processing device, information processing method, and recording medium
CN104866438B (en) Storage device, storage apparatus control method and electronic equipment
JPWO2006030564A1 (en) Processor
JP6228318B2 (en) Computer and computer system
JP2008262451A (en) Memory power supply management device and memory power supply management method
US9705987B2 (en) Server control method and chassis controller
CN103309625A (en) Method and system based on self-adaptive storage heat transferring
WO2019091341A1 (en) Snapshot creation method, apparatus, and system
US10025639B2 (en) Energy efficient supercomputer job allocation
CN111628895B (en) Configuration data synchronization method, device, equipment and readable storage medium
JP5505195B2 (en) Memory control device and control method
CN106933496A (en) Manage the method and device of RAID
US8028297B2 (en) Nonstop program system and a method of continuously running programs by switching between program sides
JP5012599B2 (en) Memory content restoration device, memory content restoration method, and memory content restoration program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140922

R150 Certificate of patent or registration of utility model

Ref document number: 5630313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees