Nothing Special   »   [go: up one dir, main page]

JP5998517B2 - Storage system - Google Patents

Storage system Download PDF

Info

Publication number
JP5998517B2
JP5998517B2 JP2012038144A JP2012038144A JP5998517B2 JP 5998517 B2 JP5998517 B2 JP 5998517B2 JP 2012038144 A JP2012038144 A JP 2012038144A JP 2012038144 A JP2012038144 A JP 2012038144A JP 5998517 B2 JP5998517 B2 JP 5998517B2
Authority
JP
Japan
Prior art keywords
data
block
file
stored
user
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
JP2012038144A
Other languages
Japanese (ja)
Other versions
JP2013174985A (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 JP2012038144A priority Critical patent/JP5998517B2/en
Publication of JP2013174985A publication Critical patent/JP2013174985A/en
Application granted granted Critical
Publication of JP5998517B2 publication Critical patent/JP5998517B2/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 a storage system, and more particularly to a storage system having a duplicate storage elimination function.

近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。   In recent years, with the development and spread of computers, various types of information have been converted into digital data. As a device for storing such digital data, there are storage devices such as a magnetic tape and a magnetic disk. Since the data to be stored increases day by day and becomes enormous, a large-capacity storage system is required. In addition, reliability is required while reducing the cost of the storage device. In addition to this, it is necessary that data can be easily retrieved later. As a result, there is a demand for a storage system that can automatically increase storage capacity and performance, eliminate duplicate storage, reduce storage costs, and have high redundancy.

このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。   In response to such a situation, in recent years, a content address storage system has been developed as shown in Patent Document 1. In this content address storage system, data is distributed and stored in a plurality of storage devices, and the storage location where the data is stored is specified by a unique content address specified according to the content of the data.

具体的に、コンテンツアドレスストレージシステムでは、所定のデータを分割したブロックデータを複数のフラグメントデータにさらに分割すると共に、冗長データ(パリティデータ)となるフラグメントデータを付加して、これら複数のフラグメントデータを複数の記憶装置に分散して格納している。そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントデータを読み出し、複数のフラグメントデータから分割前の所定のデータを復元することができる。   Specifically, in the content address storage system, block data obtained by dividing predetermined data is further divided into a plurality of fragment data, and fragment data that becomes redundant data (parity data) is added to the plurality of fragment data. Distributed and stored in a plurality of storage devices. Then, by designating the content address later, the data stored in the storage location specified by the content address, that is, fragment data can be read, and the predetermined data before division can be restored from a plurality of fragment data. it can.

また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。   Further, the content address is generated so as to be unique according to the content of data. For this reason, if it is duplicate data, the data of the same content can be acquired by referring to the data at the same storage position. Therefore, it is not necessary to store the duplicate data separately, and duplicate recording can be eliminated and the data capacity can be reduced.

そして、近年ではさらに、企業によるITリソースへの投資最適化という要求に応えるため、ASP事業者などが、上述したような1つの重複排除ストレージシステムの利用サービスを、複数の異なる企業に提供したいというニーズがある。この場合、1つの重複排除ストレージシステムを複数の異なる企業で利用する形になるが、ユーザ企業ごとに使用容量を制限したり、使用量に応じた課金をしたりすることが求められる。重複排除ストレージシステムでは、データは重複を排除して格納されるため、ここでいう使用量は、実際に消費しているリソース量である「物理容量」に基づくべきであり、各ユーザ企業が使用している物理容量を把握する必要がある。   And in recent years, in order to meet the demand for optimization of IT resource investment by companies, ASP companies and others want to provide a single deduplication storage system usage service as described above to multiple different companies. There is a need. In this case, one deduplication storage system is used by a plurality of different companies, but it is required to limit the use capacity for each user company or to charge according to the use amount. In a deduplication storage system, data is stored with duplicates removed, so the amount used here should be based on the “physical capacity”, which is the amount of resources actually consumed, and used by each user company. It is necessary to know the physical capacity that is being used.

特開2005−235171号公報JP 2005-235171 A

一方で、上述したような重複排除ストレージシステムでは、重複率を高めるべく、記憶するファイルを何らかの基準で所定容量のブロックデータに分割して、ブロック単位で重複排除する方式をとっている。このため、ユーザ毎における各ブロックデータの参照状態を把握することは困難である。つまり、ブロックデータのサイズは小さく、多数存在するため、ブロックごとの参照状態を性能や容量の面で効率よく管理することが困難である。従って、重複排除ストレージシステムを利用するユーザ毎の使用容量を把握することが難しい、という問題があった。   On the other hand, in the deduplication storage system as described above, in order to increase the duplication rate, a file to be stored is divided into block data of a predetermined capacity on some basis, and deduplication is performed in units of blocks. For this reason, it is difficult to grasp the reference state of each block data for each user. That is, since the size of the block data is small and many exist, it is difficult to efficiently manage the reference state for each block in terms of performance and capacity. Therefore, there is a problem that it is difficult to grasp the used capacity for each user who uses the deduplication storage system.

このため、本発明の目的は、上述した課題である、重複排除機能を有するストレージシステムを利用するユーザ毎の使用記憶容量を把握することが困難である、ということを解決すること、にある。   Therefore, an object of the present invention is to solve the above-described problem that it is difficult to grasp the storage capacity used for each user who uses a storage system having a deduplication function.

本発明の一形態であるストレージシステムは、
ファイルを分割したブロックデータを格納すると共に、当該格納されたブロックデータを参照する参照データを格納する記憶装置と、
前記記憶装置に対して前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を備え、
前記データ格納制御手段は、前記ブロックデータを参照する前記参照データに、当該ブロックデータの分割元となる前記ファイルを使用するユーザを識別するユーザ識別情報を関連付けて記憶し、
前記記憶容量管理手段は、前記参照データに関連付けられた前記ユーザ識別情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
という構成をとる。
A storage system according to an aspect of the present invention
A storage device for storing block data obtained by dividing the file, and storing reference data for referring to the stored block data;
When the file is newly stored in the storage device, the block data obtained by dividing the file and the reference data referring to the block data are stored in the storage device and the file is newly stored The file that newly stores the data already stored in the storage device using the reference data when the block data obtained by dividing the block data has the same data content as the data already stored in the storage device Data storage control means to be referred to as the block data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
With
The data storage control means stores the reference data that refers to the block data in association with user identification information that identifies a user who uses the file that is the division source of the block data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information associated with the reference data.
The configuration is as follows.

また、本発明の他の形態である情報処理装置は、
ファイルを分割したブロックデータを格納すると共に当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を備え、
前記データ格納制御手段は、前記ブロックデータを参照する前記参照データに、当該ブロックデータの分割元となる前記ファイルを使用するユーザを識別するユーザ識別情報を関連付けて記憶し、
前記記憶容量管理手段は、前記参照データに関連付けられた前記ユーザ識別情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
という構成をとる。
An information processing apparatus according to another aspect of the present invention
When storing the block data obtained by dividing the file and storing the reference data referring to the stored block data, when the file is newly stored, the block data obtained by dividing the file and the block data When the reference data that refers to block data is stored in the storage device, and the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device Data storage control means for making reference to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
With
The data storage control means stores the reference data that refers to the block data in association with user identification information that identifies a user who uses the file that is the division source of the block data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information associated with the reference data.
The configuration is as follows.

また、本発明の他の形態であるプログラムは、
情報処理装置に、
ファイルを分割したブロックデータを格納すると共に当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を実現させると共に、
前記データ格納制御手段は、前記ブロックデータを参照する前記参照データに、当該ブロックデータの分割元となる前記ファイルを使用するユーザを識別するユーザ識別情報を関連付けて記憶し、
前記記憶容量管理手段は、前記参照データに関連付けられた前記ユーザ識別情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ことを実現させるためのプログラムである。
Moreover, the program which is the other form of this invention is:
In the information processing device,
When storing the block data obtained by dividing the file and storing the reference data referring to the stored block data, when the file is newly stored, the block data obtained by dividing the file and the block data When the reference data that refers to block data is stored in the storage device, and the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device Data storage control means for making reference to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
And realize
The data storage control means stores the reference data that refers to the block data in association with user identification information that identifies a user who uses the file that is the division source of the block data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information associated with the reference data.
It is a program for realizing this.

また、本発明の他の形態である情報処理方法は、
ファイルを分割したブロックデータを格納すると共に、当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納工程と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理工程と、
を有し、
前記データ格納工程は、前記ブロックデータを参照する前記参照データに、当該ブロックデータの分割元となる前記ファイルを使用するユーザを識別するユーザ識別情報を関連付けて記憶し、
前記記憶容量管理工程は、前記参照データに関連付けられた前記ユーザ識別情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
という構成をとる。
In addition, an information processing method according to another aspect of the present invention includes:
The block data obtained by dividing the file when the file is newly stored in the storage device that stores the block data obtained by dividing the file and stores the reference data that refers to the stored block data. When the reference data referring to the block data is stored in the storage device, and the block data obtained by dividing the newly stored file has the same data content as the data already stored in the storage device A data storing step of referring to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management step of calculating and storing the storage capacity in the storage device in which the block data is stored for each user who uses the file that is the division source of the block data; and
Have
In the data storing step, the reference data for referring to the block data is stored in association with user identification information for identifying a user who uses the file that is a division source of the block data,
The storage capacity management step calculates a storage capacity for each user in the storage device based on the user identification information associated with the reference data.
The configuration is as follows.

本発明は、以上のように構成されることにより、重複排除機能を有するストレージシステムを利用するユーザ毎の使用記憶容量を容易に把握することができる。   With the configuration as described above, the present invention can easily grasp the used storage capacity for each user who uses the storage system having the deduplication function.

本発明の実施形態1におけるシステム全体の構成を示すブロック図である。It is a block diagram which shows the structure of the whole system in Embodiment 1 of this invention. 図1に開示したストレージシステムの構成の概略を示すブロック図である。FIG. 2 is a block diagram illustrating an outline of a configuration of a storage system disclosed in FIG. 1. 図2に開示したストレージシステムの構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of a storage system disclosed in FIG. 2. 図2に開示したストレージシステムの動作を説明するための説明図である。FIG. 3 is an explanatory diagram for explaining an operation of the storage system disclosed in FIG. 2. 図2に開示したストレージシステムの動作を説明するための説明図である。FIG. 3 is an explanatory diagram for explaining an operation of the storage system disclosed in FIG. 2. 図2に開示したストレージシステムに記憶されているデータの一例を示す図である。FIG. 3 is a diagram illustrating an example of data stored in the storage system disclosed in FIG. 2. 図2に開示したストレージシステムに記憶されているデータの一例を示す図である。FIG. 3 is a diagram illustrating an example of data stored in the storage system disclosed in FIG. 2. 図2に開示したストレージシステムに記憶されているデータの一例を示す図である。FIG. 3 is a diagram illustrating an example of data stored in the storage system disclosed in FIG. 2. 図2に開示したストレージシステムの動作を示すフローチャートである。3 is a flowchart showing the operation of the storage system disclosed in FIG. 2. 図2に開示したストレージシステムの動作を示すフローチャートである。3 is a flowchart showing the operation of the storage system disclosed in FIG. 2. 本発明の実施形態2におけるストレージシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the storage system in Embodiment 2 of this invention. 図11に開示したストレージシステムに記憶されているデータの一例を示す図である。It is a figure which shows an example of the data memorize | stored in the storage system disclosed in FIG. 図11に開示したストレージシステムの動作を示すフローチャートである。12 is a flowchart showing the operation of the storage system disclosed in FIG. 図11に開示したストレージシステムの動作を示すフローチャートである。12 is a flowchart showing the operation of the storage system disclosed in FIG. 図11に開示したストレージシステムの動作を示すフローチャートである。12 is a flowchart showing the operation of the storage system disclosed in FIG. 図11に開示したストレージシステムの動作を示すフローチャートである。12 is a flowchart showing the operation of the storage system disclosed in FIG. 本発明の付記1におけるストレージシステムの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the storage system in attachment 1 of this invention.

<実施形態1>
本発明の第1の実施形態を、図1乃至図10を参照して説明する。図1は、システム全体の構成を示すブロック図である。図2は、ストレージシステムの概略を示すブロック図であり、図3は、ストレージシステムの詳細な構成を示すブロック図である。図4乃至図5は、ストレージシステムの動作を説明するための説明図であり、図6乃至図8は、ストレージシステムに記憶されているデータの一例を示す図である。図9乃至図10は、ストレージシステムの動作を示すフローチャートである。
<Embodiment 1>
A first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram showing the configuration of the entire system. FIG. 2 is a block diagram showing an outline of the storage system, and FIG. 3 is a block diagram showing a detailed configuration of the storage system. 4 to 5 are explanatory diagrams for explaining the operation of the storage system, and FIGS. 6 to 8 are diagrams illustrating an example of data stored in the storage system. 9 to 10 are flowcharts showing the operation of the storage system.

ここで、本実施形態では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータ(情報処理装置)で構成されていてもよい。   Here, in the present embodiment, a case will be described in which the storage system is configured by connecting a plurality of server computers. However, the storage system according to the present invention is not limited to being configured by a plurality of computers, and may be configured by a single computer (information processing apparatus).

図1に示すように、本発明におけるストレージシステム10は、ネットワークNを介してバックアップ処理を制御するバックアップシステム11に接続している。そして、バックアップシステム11は、ネットワークNを介して接続されたバックアップ対象装置12に格納されているバックアップ対象データを取得し、ストレージシステム10に対して記憶するよう要求する。これにより、ストレージシステム10は、記憶要求されたバックアップ対象データをバックアップ用に記憶する。なお、本実施形態におけるストレージシステム10は、バックアップ対象データを記憶する場合を例示して説明するが、それは一例であって、いかなるデータを記憶してもよい。   As shown in FIG. 1, a storage system 10 according to the present invention is connected to a backup system 11 that controls backup processing via a network N. Then, the backup system 11 acquires the backup target data stored in the backup target device 12 connected via the network N and requests the storage system 10 to store it. Thereby, the storage system 10 stores the backup target data requested to be stored for backup. The storage system 10 according to the present embodiment is described by way of example in which backup target data is stored. However, this is an example, and any data may be stored.

そして、図2に示すように、本実施形態におけるストレージシステム10は、複数のサーバコンピュータが接続された構成を採っている。具体的に、ストレージシステム10は、ストレージシステム10自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード20と、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード30と、を備えている。なお、アクセラレータノード20の数とストレージノード30の数は、図2に示したものに限定されず、さらに多くの各ノード20,30が接続されて構成されていてもよい。   As shown in FIG. 2, the storage system 10 according to this embodiment has a configuration in which a plurality of server computers are connected. Specifically, the storage system 10 includes an accelerator node 20 that is a server computer that controls storage and reproduction operations in the storage system 10 itself, and a storage node 30 that is a server computer including a storage device that stores data. Yes. Note that the number of accelerator nodes 20 and the number of storage nodes 30 are not limited to those shown in FIG. 2, and more nodes 20 and 30 may be connected.

さらに、本実施形態におけるストレージシステム10は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。このコンテンツアドレスストレージシステムについては、後に詳述する。   Furthermore, the storage system 10 according to the present embodiment divides and makes the data redundant, stores the data in a plurality of storage devices, and stores the data by a unique content address set according to the content of the stored data. It is a content address storage system for specifying a stored location. This content address storage system will be described in detail later.

図3に、ストレージシステム10の詳細な構成を示す。ここでは、上述したアクセラレータノード20とストレージノード30とを区別せずに、ストレージシステム10が1つのシステムとして構成されていることとして説明する。   FIG. 3 shows a detailed configuration of the storage system 10. Here, the storage system 10 will be described as being configured as one system without distinguishing the accelerator node 20 and the storage node 30 described above.

まず、ストレージシステム10は、図3に示すように、まず、ネットワークインターフェースなどで構成されるファイル操作入力部1と、アクセラレータノード20やストレージノード30に装備されたCPU(Central Processing Unit)などの演算装置にプログラムが組み込まれることによって構築されたデータ処理装置2と、を備えている。そして、データ処理装置2は、ファイル操作実行部21と、使用物理容量管理部22と、を備えている。   First, as shown in FIG. 3, the storage system 10 first performs operations such as a file operation input unit 1 configured by a network interface and the CPU (Central Processing Unit) provided in the accelerator node 20 and the storage node 30. And a data processing device 2 constructed by incorporating a program into the device. The data processing apparatus 2 includes a file operation execution unit 21 and a used physical capacity management unit 22.

また、ストレージシステム10は、主にストレージノード30が装備する記憶装置3内に構成された、FS構造記憶部31と、ブロックIDリスト記憶部32と、ブロック関連データ記憶部33と、ブロックデータ記憶部34と、使用物理容量記憶部35と、を備えている。以下、ストレージシステム10の各構成と動作について詳述する。   In addition, the storage system 10 mainly includes an FS structure storage unit 31, a block ID list storage unit 32, a block related data storage unit 33, and block data storage, which are configured in the storage device 3 provided in the storage node 30. Unit 34 and a used physical capacity storage unit 35. Hereinafter, each configuration and operation of the storage system 10 will be described in detail.

上記ファイル操作入力部1は、バックアップ対象装置12などからバックアップシステム11を介して送信されたバックアップ対象データを受信して、ファイル操作実行部21に渡す。   The file operation input unit 1 receives the backup target data transmitted from the backup target device 12 or the like via the backup system 11 and passes it to the file operation execution unit 21.

上記ファイル操作実行部21(データ格納制御手段)は、上述したようにファイル操作入力部1を介してバックアップ対象装置12から送信されたバックアップ対象データの入力を受け、当該データを記憶装置3内に格納するよう制御する。具体的に、ファイル操作実行部21は、バックアップ対象データを、複数のストレージノード30やディスクによって構成される記憶装置に対して分散すると共に、重複を排除して記憶する。また、ファイル操作実行部21は、分散記憶したデータを読み出す処理を行う。ここで、上記ファイル操作実行部21による分散記憶処理の一例を、図4乃至図7を参照して説明する。   The file operation execution unit 21 (data storage control means) receives the backup target data transmitted from the backup target device 12 via the file operation input unit 1 as described above, and stores the data in the storage device 3. Control to store. Specifically, the file operation execution unit 21 distributes backup target data to a storage device constituted by a plurality of storage nodes 30 and disks, and stores them while eliminating duplication. In addition, the file operation execution unit 21 performs a process of reading the distributed and stored data. Here, an example of the distributed storage process by the file operation execution unit 21 will be described with reference to FIGS.

はじめに、ファイル操作実行部21による基本的な分散記憶処理の動作について、図4及び図5を参照して説明する。まず、ファイル操作実行部21は、バックアップ対象データであるファイルを構成するデータAの入力を受けると(図4、図5の矢印Y1)、図4及び図5の矢印Y2に示すように、当該データAを所定容量(例えば、64KB)のブロックデータDに分割する。そして、このブロックデータDのデータ内容に基づいて、当該データ内容を代表する固有のハッシュ値Hを算出する(図5の矢印Y3)。例えば、ハッシュ値Hは、予め設定されたハッシュ関数を用いて、ブロックデータDのデータ内容から算出する。   First, the basic distributed storage processing operation by the file operation execution unit 21 will be described with reference to FIGS. 4 and 5. FIG. First, when the file operation execution unit 21 receives an input of the data A constituting the file that is the backup target data (arrow Y1 in FIGS. 4 and 5), as shown by the arrow Y2 in FIGS. Data A is divided into block data D having a predetermined capacity (for example, 64 KB). Based on the data content of the block data D, a unique hash value H representing the data content is calculated (arrow Y3 in FIG. 5). For example, the hash value H is calculated from the data content of the block data D using a preset hash function.

続いて、ファイル操作実行部21は、同じ内容のブロックデータDの重複記録を排除するために、ブロックデータDのハッシュ値Hを用いて、重複排除処理を行う。具体的には、まず、既に格納されているブロックデータDは、後述するように、当該ブロックデータDのハッシュ値Hと格納位置を表すコンテンツアドレスCAとが関連付けられて登録されているため、算出したブロックデータDのハッシュ値Hが既に存在している場合には、既に同一内容のブロックデータDが格納されていると判断できる。この場合には、格納前のブロックデータDのハッシュ値Hと一致した登録されているハッシュ値Hに関連付けられているコンテンツアドレスCAを取得する。そして、このコンテンツアドレスCAを、書き込み要求されたブロックデータDのコンテンツアドレスCAとして参照する。これにより、このコンテンツアドレスCAにて参照される既に格納されているデータが、書き込み要求されたブロックデータDとして使用されることとなり、当該書き込み要求にかかるブロックデータDを記憶する必要がなくなる。   Subsequently, the file operation execution unit 21 performs deduplication processing using the hash value H of the block data D in order to eliminate duplicate recording of the block data D having the same contents. Specifically, first, the block data D that has already been stored is registered in association with the hash value H of the block data D and the content address CA representing the storage position, as will be described later. If the hash value H of the block data D already exists, it can be determined that the same block data D has already been stored. In this case, the content address CA associated with the registered hash value H that matches the hash value H of the block data D before storage is acquired. Then, the content address CA is referred to as the content address CA of the block data D requested to be written. As a result, the already stored data referred to by the content address CA is used as the block data D requested to be written, and there is no need to store the block data D related to the write request.

また、ファイル操作実行部21は、書き込み要求にかかるブロックデータDがまだ記憶されていないと判断された場合には、かかるブロックデータDを格納する処理を行う。具体的には、まず、ブロックデータDを複数の所定の容量のフラグメントデータ(分割データ)に分割する。例えば、図4の符号D1〜D9に示すように、9つのフラグメントデータ(分割データ41)に分割する。さらに、ストレージシステム10は、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータDを復元可能なよう冗長データを生成し、上記分割したフラグメントデータ41に追加する。例えば、図4の符号D10〜D12に示すように、3つのフラグメントデータ(冗長データ42)を追加する。これにより、9つの分割データ41と、3つの冗長データ42とにより構成される12個のフラグメントデータからなるデータセット40を生成する(図5の矢印Y4)。   Further, when it is determined that the block data D relating to the write request is not yet stored, the file operation execution unit 21 performs a process of storing the block data D. Specifically, first, the block data D is divided into a plurality of pieces of fragment data (divided data) having a predetermined capacity. For example, as shown by symbols D1 to D9 in FIG. 4, the data is divided into nine fragment data (divided data 41). Further, the storage system 10 generates redundant data so that the original block data D can be restored even if some of the divided fragment data is missing, and adds it to the divided fragment data 41. . For example, three pieces of fragment data (redundant data 42) are added as indicated by reference numerals D10 to D12 in FIG. As a result, a data set 40 composed of 12 pieces of fragment data composed of nine divided data 41 and three redundant data 42 is generated (arrow Y4 in FIG. 5).

そして、ファイル操作実行部21は、上述したように生成された各フラグメントデータを、ブロックデータ記憶部34内に記憶する。例えば、図4に示すように、12個のフラグメントデータD1〜D12を生成した場合には、複数のストレージノード30にて構成されたブロックデータ記憶部34内に形成されたデータ格納領域である各コンポーネントCに、各フラグメントデータD1〜D12を1つずつそれぞれ格納して、分散記憶する(図5の矢印Y5参照)。   Then, the file operation execution unit 21 stores each fragment data generated as described above in the block data storage unit 34. For example, as shown in FIG. 4, when 12 pieces of fragment data D1 to D12 are generated, each of the data storage areas formed in the block data storage unit 34 constituted by a plurality of storage nodes 30 is shown. Each of the fragment data D1 to D12 is stored in the component C one by one and distributedly stored (see arrow Y5 in FIG. 5).

ここで、上述したようにフラグメントデータが格納されると、ストレージシステム10では、当該フラグメントデータD1〜D12の格納位置、つまり、当該フラグメントデータD1〜D12にて復元されるブロックデータDの格納位置を表すコンテンツアドレスCAを生成する。このとき、コンテンツアドレスCAは、例えば、格納したブロックデータDの内容に基づいて算出したハッシュ値Hの一部(ショートハッシュ)(例えば、ハッシュ値Hの先頭8B(バイト))と、論理格納位置を表す情報と、を組み合わせて、生成される。そして、このコンテンツアドレスCAは、ストレージシステム10内のファイルシステムを管理するアクセラレータノード20にて、バックアップ対象データであるファイルを構成する各ブロックデータの識別情報と、コンテンツアドレスCAとが関連付けられて、ファイル操作実行部21にてファイルシステムとして管理される。なお、ブロックデータの識別情報自体が、当該ブロックデータを参照するコンテンツアドレスCAとなっていてもよい。   When the fragment data is stored as described above, the storage system 10 determines the storage position of the fragment data D1 to D12, that is, the storage position of the block data D restored by the fragment data D1 to D12. A content address CA to represent is generated. At this time, the content address CA includes, for example, a part of the hash value H (short hash) calculated based on the contents of the stored block data D (for example, the top 8B (bytes) of the hash value H) and the logical storage position. And information representing the information is generated. The content address CA is associated with the identification information of each block data constituting the file that is the backup target data and the content address CA in the accelerator node 20 that manages the file system in the storage system 10. The file operation execution unit 21 manages the file system. Note that the block data identification information itself may be a content address CA that refers to the block data.

また、ファイル操作実行部21は、ファイルの読み出し要求を受けると、要求されたファイルに対応するコンテンツアドレスCAにて指定される格納位置を特定し、この特定された格納位置に格納されている各フラグメントデータを、読み出し要求されたデータとして読み出すことができる。以上のように、ストレージシステム10は、データを読み書きする機能を有する。   In addition, when the file operation execution unit 21 receives a file read request, the file operation execution unit 21 specifies the storage location specified by the content address CA corresponding to the requested file, and stores each of the storage locations specified in the specified storage location. The fragment data can be read as the data requested to be read. As described above, the storage system 10 has a function of reading and writing data.

ここで、本実施形態におけるファイル操作実行部21による、記憶装置3内にデータを記憶してファイルシステムを管理する処理について、図6を参照してさらに詳述する。   Here, the process of storing data in the storage device 3 and managing the file system by the file operation execution unit 21 in the present embodiment will be described in more detail with reference to FIG.

ファイル操作実行部21は、ファイルが新規に作成された場合には、まず、FS構造記憶部31に、ファイルシステム内におけるファイル31aの存在を表すディレクトリ構造を記憶する。これに伴い、ファイル31aを複数に分割した場合における各ブロックデータを識別する各ブロックID32a(ブロック識別データ)を格納する領域(ブロックIDエントリ)が形成されたブロックIDリストを作成してブロックIDリスト記憶部32に記憶し、当該ブロックIDリストをFS構造記憶部31に記憶されたファイル31aに関連付ける。   When a file is newly created, the file operation execution unit 21 first stores a directory structure indicating the existence of the file 31a in the file system in the FS structure storage unit 31. Accordingly, a block ID list is created by creating a block ID list in which an area (block ID entry) for storing each block ID 32a (block identification data) for identifying each block data when the file 31a is divided into a plurality of blocks is formed. The block ID list is stored in the storage unit 32 and associated with the file 31 a stored in the FS structure storage unit 31.

続いて、ファイル操作実行部21は、ファイル31aのデータを複数のブロックデータに分割し、各ブロックデータを識別するブロックIDを算出する。このとき、ブロックIDは、例えば、ブロックデータのハッシュ値を用いる。そして、ファイル操作実行部21は、ブロックデータが既にブロックデータ記憶部34内に記憶されていないか否かを、例えば、上記算出したハッシュ値とブロック関連データ記憶部33内の情報とを用いて調べる。なお、ブロック関連データ記憶部33内には、後述するように、ブロックデータのデータ内容を判別するハッシュ値が格納されている。   Subsequently, the file operation execution unit 21 divides the data of the file 31a into a plurality of block data, and calculates a block ID for identifying each block data. At this time, for example, a hash value of block data is used as the block ID. Then, the file operation execution unit 21 determines whether or not the block data has already been stored in the block data storage unit 34 using, for example, the calculated hash value and the information in the block related data storage unit 33. Investigate. In the block related data storage unit 33, as will be described later, a hash value for determining the data content of the block data is stored.

そして、ファイル操作実行部21は、ブロックデータがまだストレージシステム10内に記憶されていない場合には、かかるブロックデータ34aをブロックデータ記憶部34に格納すると共に、このブロックデータ34aを参照して関連付けられるブロック関連データ33aを、ブロック関連データ記憶部33に格納する。このブロック関連データ33aには、関連付けられたブロックデータ34aの情報、例えば、ブロックデータ34aのデータサイズを表すサイズ情報と、ブロックデータ34aのデータ内容を表すハッシュ値と、が格納される。そして、ファイル操作実行部21は、上述したように算出したブロックID32aを、新たに格納するファイル31aに対応するブロックIDリスト記憶部32内のブロックIDリストに格納する。このとき、ブロックID32aは、対応する格納したブロックデータ34aに関連付けられたブロック関連データ33aを参照するよう、当該ブロック関連データ33aに関連付けて記憶する。なお、ブロックID32aとブロック関連データ33aとの関連付けは、ブロックID32aにブロック関連データ33aを参照するコンテンツアドレスを関連付けてもよく、ブロックID32a自体にブロック関連データ33aを参照するコンテンツアドレスを用いてもよい。   When the block data is not yet stored in the storage system 10, the file operation execution unit 21 stores the block data 34a in the block data storage unit 34 and associates the block data 34a with reference to the block data 34a. The block related data 33 a to be stored is stored in the block related data storage unit 33. The block related data 33a stores information on the associated block data 34a, for example, size information indicating the data size of the block data 34a, and a hash value indicating the data content of the block data 34a. Then, the file operation execution unit 21 stores the block ID 32a calculated as described above in the block ID list in the block ID list storage unit 32 corresponding to the newly stored file 31a. At this time, the block ID 32a is stored in association with the block related data 33a so as to refer to the block related data 33a associated with the corresponding stored block data 34a. The association between the block ID 32a and the block related data 33a may be associated with a content address referring to the block related data 33a to the block ID 32a, or a content address referring to the block related data 33a may be used as the block ID 32a itself. .

これにより、ファイル31aを読み出す際には、FS構造記憶部31を参照してファイル31aのブロックIDリストを読み出すことで、当該リストに含まれるブロックID32aが参照するブロック関連データ33aを参照して、ファイル31aを構成するブロックデータ34aを読み出すことができる。このように、上記ブロックID32a(ブロック識別データ)とブロック関連データ33aとは、格納されたブロックデータ34aを参照する参照データとして機能している。なお、上記ブロックID32aとブロック関連データ33aとは、1つのデータ(参照データ)にて構成されていてもよい。   Accordingly, when reading the file 31a, the block ID list of the file 31a is read by referring to the FS structure storage unit 31, and the block related data 33a referred to by the block ID 32a included in the list is referred to. The block data 34a constituting the file 31a can be read. Thus, the block ID 32a (block identification data) and the block-related data 33a function as reference data for referring to the stored block data 34a. The block ID 32a and the block-related data 33a may be composed of one piece of data (reference data).

また、ファイル操作実行部21は、上述したように、新たに格納するファイル34aのディレクトリ構造とブロックIDリストを記憶した後に、新たに格納するファイル34aを構成するブロックデータが既にストレージシステム10内に記憶されていると判断された場合には、既に記憶されたブロックデータ34aを参照させる処理を行う。つまり、新たに格納するブロックデータのブロックID32aを算出してブロックIDリストに格納すると共に、当該ブロックID32aが既に記憶されているブロックデータ34aに関連付けられたブロック関連データ33aを参照するよう、当該ブロック関連データ33aに関連付けて記憶する。これにより、ブロックデータが、例えば図6に示すように異なるファイルから参照されることとなり、同一のブロックデータ34aを重複して記憶することを排除することができる。   In addition, as described above, the file operation execution unit 21 stores the directory structure and the block ID list of the newly stored file 34a, and then the block data constituting the newly stored file 34a has already been stored in the storage system 10. If it is determined that it is stored, a process for referring to the already stored block data 34a is performed. That is, the block ID 32a of the block data to be newly stored is calculated and stored in the block ID list, and the block ID 32a is referred to the block related data 33a associated with the block data 34a already stored. It is stored in association with the related data 33a. As a result, the block data is referred to from different files as shown in FIG. 6, for example, and it is possible to exclude the same block data 34a from being stored repeatedly.

なお、ファイル操作実行部21は、ファイルを削除する際には、まず、FS構造記憶部31を参照してファイル31aに対応するブロックIDリストの位置を取得し、ブロックIDリスト記憶部32を参照して、削除すべきブロックデータのブロックID32aを取得する。続いて、ファイル操作実行部21は、ブロックIDリストから、ブロックID32aを削除する。そして、ファイル操作実行部21は、削除すべきブロックデータへの参照がなくなった場合は、ブロック関連データ記憶部33内のブロック関連データ33aと、ブロックデータ記憶部34内のブロックデータ34aを削除する。また、ファイル操作実行部21は、ファイル自体が削除された場合は、FS構造記憶部31も更新して、ファイル31aの存在を削除し、ブロックIDリスト記憶部32内の対応するブロックIDリストも削除する。   When deleting a file, the file operation execution unit 21 first refers to the FS structure storage unit 31 to obtain the position of the block ID list corresponding to the file 31a and refers to the block ID list storage unit 32. Then, the block ID 32a of the block data to be deleted is acquired. Subsequently, the file operation execution unit 21 deletes the block ID 32a from the block ID list. Then, when there is no longer any reference to the block data to be deleted, the file operation execution unit 21 deletes the block related data 33a in the block related data storage unit 33 and the block data 34a in the block data storage unit 34. . In addition, when the file itself is deleted, the file operation execution unit 21 also updates the FS structure storage unit 31 to delete the existence of the file 31a, and the corresponding block ID list in the block ID list storage unit 32 is also updated. delete.

また、ファイル操作実行部21は、ファイルを書き換える場合には、上述したように、古いデータの削除と新しいデータの書き込みとの組み合わせとして処理する。   Further, when rewriting a file, the file operation execution unit 21 processes as a combination of deletion of old data and writing of new data as described above.

さらに、上記ファイル操作実行部21は、上記使用物理容量管理部22と協働して、ファイルの書き込みを行う際に、記憶装置3に格納したファイル31aを使用するユーザ毎の使用記憶容量を算出するための処理を、以下のように行う。まず、かかる処理の概略を、図7を参照して説明する。なお、以下に説明する処理は、ファイル格納時に実行されてもよく、あるいは、任意のタイミングで実行されてもよい。   Further, the file operation execution unit 21 calculates the used storage capacity for each user who uses the file 31 a stored in the storage device 3 when writing the file in cooperation with the used physical capacity management unit 22. The processing to do is performed as follows. First, an outline of such processing will be described with reference to FIG. Note that the processing described below may be executed when a file is stored, or may be executed at an arbitrary timing.

まず、ファイル操作実行部21は、ファイル31aを格納する際に、当該ファイル31aに対応するブロックIDリスト記憶部32内のブロックIDリストに、格納するファイル31aを使用するユーザを識別するユーザID(ユーザ識別情報)を関連付けて記憶する。つまり、ファイル31aを構成する各ブロックデータ34aを識別するブロックID32aには、当該各ブロックデータ34aの分割元となるファイル31aを使用するユーザのユーザIDが関連付けられる。なお、図7に示す例では、ファイル31aに対応する複数のブロックID群からなるブロックIDリストに対して、「user1」といったユーザIDが関連付けられる。   First, when storing the file 31a, the file operation execution unit 21 stores a user ID (for identifying a user who uses the file 31a to be stored in the block ID list in the block ID list storage unit 32 corresponding to the file 31a). User identification information) is stored in association with each other. That is, the user ID of the user who uses the file 31a that is the division source of each block data 34a is associated with the block ID 32a that identifies each block data 34a constituting the file 31a. In the example illustrated in FIG. 7, a user ID such as “user1” is associated with a block ID list including a plurality of block ID groups corresponding to the file 31a.

また、ファイル操作実行部21は、同一のブロックデータを同一のユーザが使用する複数のファイルが参照している場合に、当該ファイルを構成する各ブロックデータを識別する各ブロックIDを、「同ユーザチェイン」として関連付ける。具体的に、ファイル操作実行部21は、ブロックIDリスト記憶部32内の各ブロックIDエントリに、同じブロックデータつまり当該ブロックデータに関連付けられたブロック関連データ33aを参照する同じユーザの別のブロックIDエントリへのポインタを記憶させる。これにより、図7のfile1A, file1B, file1C間の点線に示すように、同じブロックデータを参照する同じユーザ「user1」のブロックID群が、ユーザ「user1」における同ユーザチェイン(同一ユーザチェイン)として関連付けられる。このとき、図7のfile2A, file2B間の点線に示すように、同じブロックデータを参照する同じユーザ「user2」のブロックID群も、ユーザ「user2」における同ユーザチェイン(同一ユーザチェイン)として関連付けられる。つまり、図7の矢印Y11方向に示すように、ブロックID群を使用ユーザ毎に関連付ける。   Further, when a plurality of files used by the same user refer to the same block data, the file operation execution unit 21 assigns each block ID for identifying each block data constituting the file to “same user”. Associate as a "chain". Specifically, the file operation execution unit 21 sets another block ID of the same user who refers to the same block data, that is, the block related data 33 a associated with the block data, in each block ID entry in the block ID list storage unit 32. Store a pointer to the entry. As a result, as indicated by the dotted lines between file1A, file1B, and file1C in FIG. 7, the block ID group of the same user “user1” referring to the same block data is the same user chain (same user chain) for the user “user1”. Associated. At this time, as indicated by the dotted line between file2A and file2B in FIG. 7, the block ID group of the same user “user2” referring to the same block data is also associated as the same user chain (same user chain) in the user “user2”. . That is, as shown in the direction of arrow Y11 in FIG. 7, the block ID group is associated for each user.

また、ファイル操作実行部21は、同一のブロックデータを異なるユーザが使用する複数のファイルが参照している場合に、当該ファイルを構成する各ブロックデータを識別する各ブロックIDを、「別ユーザチェイン」として関連付ける。具体的に、ファイル操作実行部21は、上述したように、ユーザ毎にブロックIDを関連付けたそれぞれブロックID群からなる各同ユーザチェイン間で、それぞれの同ユーザチェイン内でそれぞれ1つのブロックID同士を相互に関連付けて、別ユーザチェインを形成する。例えば、図7の例では、file1A, file1B, file1Cのユーザ「user1」における同ユーザチェインの先頭のブロックIDエントリに、同じブロックデータに関連付けられたブロック関連データ33aを参照するfile2A, file2Bの別のユーザ「user2」における同ユーザチェインの先頭のブロックIDエントリへのポインタを記憶させる。つまり、矢印Y12方向に示すように、別ユーザ間におけるブロックID群を関連付ける。   In addition, when a plurality of files used by different users refer to the same block data, the file operation execution unit 21 assigns each block ID for identifying each block data constituting the file to “another user chain”. As ”. Specifically, as described above, the file operation execution unit 21 uses one block ID in each user chain between the same user chains each including a block ID group in which block IDs are associated with each user. Are associated with each other to form another user chain. For example, in the example of FIG. 7, another block of file2A and file2B that refers to the block related data 33a associated with the same block data in the first block ID entry of the user chain of the user “user1” of file1A, file1B, and file1C A pointer to the first block ID entry in the user chain of the user “user2” is stored. That is, as shown in the arrow Y12 direction, block ID groups between different users are associated.

さらに、ファイル操作実行部21は、ブロック関連データ記憶部33内のブロック関連データ33aに、当該ブロック関連データ33aが参照するブロックデータを参照しているいずれか1つの同ユーザチェインの先頭のブロックIDエントリへのポインタを関連付けて記憶する。例えば、図7の例では、複数のファイルから参照されているブロックデータのブロック関連データ33aに、ユーザ「user1」が使用するfile1AのブロックIDのみへのポインタを記憶している。   Furthermore, the file operation execution unit 21 refers to the block related data 33a in the block related data storage unit 33, and the block ID of the head of any one of the same user chains referring to the block data referred to by the block related data 33a. A pointer to the entry is associated and stored. For example, in the example of FIG. 7, a pointer to only the block ID of file1A used by the user “user1” is stored in the block related data 33a of block data referenced from a plurality of files.

以上の処理により、file1A, file1B, file1C, file2A, file2Bにて参照される同一のブロックデータを参照する一群のブロックIDが、上述した同ユーザチェインと別ユーザチェインとを介して、相互に関連付けられる(同一ブロックチェイン)。   Through the above processing, a group of block IDs that refer to the same block data referenced in file1A, file1B, file1C, file2A, and file2B are associated with each other via the above-described user chain and another user chain. (Same block chain).

ここで、上述した同ユーザチェイン及び別ユーザチェインにおいて、ブロックID間を関連付けるブロックIDエントリへのポインタは、ブロックIDリストの記憶位置と、リスト内のエントリの位置との組み合わせで表現している。なお、上述した図7の例では、同ユーザチェイン及び別ユーザチェインにおけるブロックID間を、双方向にポインタで参照させて関連付けているが、かかる関連付けの方法は一例であって、ブロックID間を関連付ける方法は上記方法に限定されない。   Here, in the above-described user chain and another user chain, a pointer to a block ID entry that associates block IDs is expressed by a combination of the storage position of the block ID list and the position of the entry in the list. In the example of FIG. 7 described above, the block IDs in the same user chain and another user chain are associated with each other by referring to the pointers in both directions, but this association method is an example, and the block IDs are associated with each other. The association method is not limited to the above method.

そして、上述した同ユーザチェイン及び別ユーザチェインを用いて、上記使用物理容量管理部22(記憶容量管理手段)にて、各ユーザが記憶装置3を物理的に使用している記憶容量を、ユーザ毎に算出する。具体的に、使用物理容量管理部22は、まず、各ユーザからブロックデータへの参照の有無をチェックする。そして、使用物理容量管理部22は、同一ユーザが参照するブロック関連データ33aに含まれるブロックデータのサイズ情報の値を合計して、ユーザ毎の記憶容量を算出し、図8に示すように、使用物理容量記憶部35に記憶する。   Then, using the above-described user chain and another user chain, the used physical capacity management unit 22 (storage capacity management means) determines the storage capacity in which each user physically uses the storage device 3 as the user. Calculate every time. Specifically, the used physical capacity management unit 22 first checks whether or not each user refers to block data. Then, the used physical capacity management unit 22 calculates the storage capacity for each user by summing the values of the block data size information included in the block related data 33a referred to by the same user, as shown in FIG. This is stored in the used physical capacity storage unit 35.

このとき、使用物理容量記憶部35には、ユーザ毎に予め設定された使用記憶容量の制限値が記憶されている。このため、使用物理容量管理部22は、ユーザ毎に算出した使用記憶容量と記憶されている制限値とを比較して、使用記憶容量が制限値を超えている場合には、かかるユーザからの書き込みを制限し、書き込みエラーとなるよう制御する。   At this time, the used physical capacity storage unit 35 stores a limit value of the used storage capacity preset for each user. For this reason, the used physical capacity management unit 22 compares the used storage capacity calculated for each user with the stored limit value, and when the used storage capacity exceeds the limit value, Control writing so that writing errors occur.

ここで、上記では、使用物理容量管理部22は、ブロックデータのサイズのみを合計してユーザ毎の使用記憶容量を算出しているが、さらにブロックデータを参照するブロック関連データやブロックIDエントリの記憶容量も加算して、ユーザ毎の使用記憶容量を算出してもよい。また、上記では、使用物理容量管理部22は、使用記憶容量と制限値とを比較しているが、単に使用記憶容量を算出するだけの処理を行ってもよい。また、上記使用容量管理部22による使用物理容量の算出は、ファイルの書き込み時に実行されてもよく、予め設定されたタイミングで実行されてもよい。   Here, in the above description, the used physical capacity management unit 22 calculates the used storage capacity for each user by summing only the sizes of the block data. However, the block-related data or block ID entry that refers to the block data is further calculated. The used storage capacity for each user may be calculated by adding the storage capacity. In the above description, the used physical capacity management unit 22 compares the used storage capacity with the limit value, but may simply perform a process of calculating the used storage capacity. The calculation of the used physical capacity by the used capacity management unit 22 may be executed when a file is written, or may be executed at a preset timing.

次に、上述したストレージシステム10の動作、特に、ファイルを書き込むときの動作を、図9乃至図10を参照して説明する。なお、以下では、ファイルをブロックデータに分割したり、フラグメントデータに分割して分散記憶するなど、一部の動作についての詳細な説明は省略する。   Next, the operation of the storage system 10 described above, particularly the operation when writing a file will be described with reference to FIGS. In the following, detailed descriptions of some operations such as dividing a file into block data and dividing and storing into fragment data are omitted.

まず、書き込み対象となるファイルを分割したブロックデータと重複するブロックデータが、既に記憶装置3に存在するかを判定する(ステップA10)。書き込み対象のブロックデータが記憶装置3内に存在しない場合には(ステップA10でNo)、書き込み対象のファイルを使用するユーザを特定し、当該ユーザの現在の使用物理容量とその制限値を使用物理容量記憶部35から取得する。そして、このユーザの現在の使用物理容量に、書き込み対象のブロックデータのサイズ情報を加算して、「現在の使用容量+ブロックサイズ」が、当該ユーザの使用物理容量の制限値を超えるかをチェックし(ステップA11)、超える場合は(ステップA11でYes)、書き込みエラーとする(ステップA16)。超えない場合は(ステップA11でNo)、書き込み対象のブロックデータをブロックデータ記憶部34に格納し(ステップA12)、そのユーザの現在の使用物理容量に格納したブロックデータのサイズ情報を加え(ステップA13)、使用物理容量記憶部35に記憶する。また、今回書き込んだブロックデータのブロックIDエントリへのポインタを、ブロック関連データに記録し(ステップA14)、書き込み成功とする(ステップA15)。   First, it is determined whether block data that overlaps block data obtained by dividing a file to be written already exists in the storage device 3 (step A10). When the block data to be written does not exist in the storage device 3 (No in step A10), the user who uses the file to be written is specified, and the current used physical capacity and the limit value of the user are used. Obtained from the capacity storage unit 35. Then, the size information of the block data to be written is added to the current used physical capacity of the user, and it is checked whether “current used capacity + block size” exceeds the limit value of the used physical capacity of the user. If it exceeds (Yes in Step A11), a write error is assumed (Step A16). If not exceeded (No in step A11), the block data to be written is stored in the block data storage unit 34 (step A12), and the size information of the block data stored in the current used physical capacity of the user is added (step S12). A13), and stored in the used physical capacity storage unit 35. Further, a pointer to the block ID entry of the block data written this time is recorded in the block related data (step A14), and the writing is successful (step A15).

また、ステップA10にて、書き込み対象となるブロックデータと重複するブロックデータが既に記憶装置3内に存在する場合には(ステップA10でYes)、当該既に存在するブロックデータに関連付けられたブロック関連データのポインタが指すブロックIDエントリを参照し、そこからの別ユーザチェインをたどって、今回書き込んでいるユーザからの参照が既にあるかを調べる(ステップA20,A21)。参照がなかった場合(ステップA21でNo)、上述同様に、そのユーザにおける「現在の使用容量+ブロックサイズ」が、当該ユーザの使用物容量の制限値を超えるかをチェックし(ステップA22)、超える場合は(ステップA22でYes)、書き込みエラーとする(ステップA16)。超えない場合は(ステップA22でNo)、そのユーザの現在の使用物理容量に格納したブロックデータのサイズ情報を加え(ステップA23)、使用物理容量記憶部35に記憶する。また、今回書き込んだブロックデータのブロックIDエントリを別ユーザチェインに追加し(ステップA24)、書き込み成功とする(ステップA15)。なお、ステップA21で参照があった場合は(ステップA21でYes)、今回書き込んだブロックデータのブロックIDエントリを同ユーザチェインに追加し(ステップA25)、書き込み成功とする(ステップA15)。   In step A10, when block data that overlaps the block data to be written already exists in the storage device 3 (Yes in step A10), block related data associated with the already existing block data. The block ID entry pointed to by the pointer is referred to, and another user chain is traced from there to check whether there is already a reference from the user writing this time (steps A20 and A21). When there is no reference (No in Step A21), as described above, it is checked whether the “current use capacity + block size” of the user exceeds the limit value of the use capacity of the user (Step A22). If it exceeds (Yes in Step A22), a write error is assumed (Step A16). If not exceeded (No in step A22), the size information of the block data stored in the current used physical capacity of the user is added (step A23) and stored in the used physical capacity storage unit 35. Further, the block ID entry of the block data written this time is added to another user chain (step A24), and the writing is successful (step A15). When there is a reference at step A21 (Yes at step A21), the block ID entry of the block data written this time is added to the same user chain (step A25), and the writing is successful (step A15).

次に、ユーザがファイルを記憶装置3から削除するときの動作を、図10のフローチャートを参照して説明する。まず、削除するファイルに対応する各ブロックデータについて、当該ブロックデータを参照する同ユーザチェイン内に、今回削除するブロックIDエントリ以外のエントリが存在するかを調べる(ステップB10)。存在しない場合(ステップB11でNo)、そのユーザの使用物理容量から削除するブロックデータのサイズ情報の値を減じ(ステップB12)、今回削除するブロックデータのブロックIDエントリを別ユーザチェインから除く(ステップB13)。存在する場合(ステップB11でYes)、今回削除するブロックデータのブロックIDエントリを、同ユーザチェインから除く(ステップB14)。なお、除いたブロックIDエントリが同ユーザチェインの先頭エントリであった場合は(ステップB15でYes)、残ったブロックIDエントリの先頭のものが別ユーザチェインに入るよう、前後のブロックIDエントリまたはブロック関連データのポインタを更新する(ステップB16)。   Next, the operation when the user deletes a file from the storage device 3 will be described with reference to the flowchart of FIG. First, for each block data corresponding to the file to be deleted, it is checked whether there is an entry other than the block ID entry to be deleted this time in the same user chain referring to the block data (step B10). If it does not exist (No in step B11), the size information value of the block data to be deleted is reduced from the used physical capacity of the user (step B12), and the block ID entry of the block data to be deleted this time is removed from another user chain (step B13). If it exists (Yes in step B11), the block ID entry of the block data to be deleted this time is removed from the user chain (step B14). If the removed block ID entry is the head entry of the same user chain (Yes in step B15), the preceding or succeeding block ID entries or blocks are set so that the head of the remaining block ID entry enters another user chain. The pointer of related data is updated (step B16).

以上のように、本実施形態におけるストレージシステムによると、ユーザ毎の使用物理容量管理のための処理を効率的に行うことができる。特に、異なるユーザ(企業)間ではデータが重複することは少ないため、上述した別ユーザチェインの長さは短くなる(典型的には、1つのユーザだけが参照し、長さは1となる)。このため、使用物理容量の管理のために必要な同じユーザからの参照の有無をチェックする処理が効率化され、ユーザ毎の使用物理容量の把握及び管理が容易となる。   As described above, according to the storage system of this embodiment, the processing for managing the used physical capacity for each user can be performed efficiently. In particular, since there is little duplication of data between different users (companies), the length of the above-mentioned other user chain is shortened (typically, only one user refers to and the length is 1). . For this reason, the process of checking whether or not there is a reference from the same user necessary for managing the used physical capacity is made efficient, and it becomes easy to grasp and manage the used physical capacity for each user.

<実施形態2>
次に、本発明の第2の実施形態を、図11乃至図16を参照して説明する。図11は、本実施形態におけるストレージシステムの構成を示すブロック図であり、図12は、ストレージシステムに記憶されるデータの一例を示す図である。図13乃至図16は、ストレージシステムの動作を示す風呂チャートである。
<Embodiment 2>
Next, a second embodiment of the present invention will be described with reference to FIGS. FIG. 11 is a block diagram showing the configuration of the storage system in this embodiment, and FIG. 12 is a diagram showing an example of data stored in the storage system. 13 to 16 are bath charts showing the operation of the storage system.

本実施形態におけるストレージシステムは、上述した実施形態1のものとほぼ同様の構成である。これに加え、本実施形態は、図11に示すように、参照ビットマップ記憶部36を備えている。さらにこれに伴い、本実施形態では、データ処理装置2が備えるファイル操作実行部21及び使用物理容量管理部22は、以下のような機能を有する。   The storage system according to the present embodiment has substantially the same configuration as that of the first embodiment described above. In addition, this embodiment includes a reference bitmap storage unit 36 as shown in FIG. Accordingly, in this embodiment, the file operation execution unit 21 and the used physical capacity management unit 22 included in the data processing device 2 have the following functions.

本実施形態における上記ファイル操作実行部21は、上記使用物理容量管理部22と協働して、ファイルの書き込みを行う際に、記憶装置3に格納したファイルを使用するユーザ毎における記憶装置の記憶容量を算出するための処理を、以下のように行う。まず、かかる処理の概略を、図12を参照して説明する。なお、以下に説明する処理は、ファイル格納時に実行されてもよく、あるいは、任意のタイミングで実行されてもよい。   The file operation execution unit 21 in the present embodiment cooperates with the used physical capacity management unit 22 to store the storage device for each user who uses the file stored in the storage device 3 when writing the file. Processing for calculating the capacity is performed as follows. First, an outline of such processing will be described with reference to FIG. Note that the processing described below may be executed when a file is stored, or may be executed at an arbitrary timing.

まず、ファイル操作実行部21は、ファイル31aを格納する際に、当該ファイル31aを構成するブロックデータ毎に、当該ブロックデータへのユーザ毎の参照の有無を表す参照ビットマップ36aを、ブロックデータに関連付けられたブロック関連データに関連付けて、参照ビットマップ記憶部36に記憶する。上記参照ビットマップ36aは、例えば、図12に示すように、ユーザ毎のビットを複数有するビットマップであり、各ビットは、関連付けられたブロックデータに対する各ユーザの参照の有無を表す情報が設定される情報領域である。一例として、参照ビットマップ36aには、関連付けられているブロックデータを参照するユーザに対応するビットに「1」がセットされる。従って、ブロックデータが複数のユーザにて参照されている場合には、当該ブロックデータに関連付けられる参照ビットマップ36aには、各ユーザに対応する複数のビットに「1」がセットされることとなる。以上より、参照ビットマップ36aの各ビットは、関連付けられているブロックデータを参照しているユーザを識別するユーザ識別情報として機能している。   First, when storing the file 31a, the file operation execution unit 21 sets, for each block data constituting the file 31a, a reference bitmap 36a indicating whether or not the user has referred to the block data as block data. It is stored in the reference bitmap storage unit 36 in association with the associated block-related data. For example, as shown in FIG. 12, the reference bitmap 36a is a bitmap having a plurality of bits for each user, and each bit is set with information indicating the presence / absence of each user's reference to the associated block data. Information area. As an example, “1” is set in the bit corresponding to the user who refers to the associated block data in the reference bitmap 36a. Therefore, when block data is referenced by a plurality of users, “1” is set to a plurality of bits corresponding to each user in the reference bitmap 36a associated with the block data. . As described above, each bit of the reference bitmap 36a functions as user identification information for identifying a user who is referring to the associated block data.

なお、上記参照ビットマップ36aは、同一のデータ内容となるビットマップが重複しないよう参照ビットマップ記憶部36aに記憶される。従って、異なるブロックデータであっても参照しているユーザが完全に同一である場合には、参照ビットマップ36aが同一となり、複数のブロックデータにそれぞれ関連付けられた複数のブロック関連データに、1つの参照ビットマップ36aが関連付けられることとなる。このとき、ブロック関連データ記憶部33内のブロック関連データには、関連付けられた参照ビットマップ記憶部36内の参照ビットマップへのポインタが記憶される。なお、参照ビットマップから、当該参照ビットマップへのポインタを取得する変換機能が必要となるが、例えばハッシュなどを使って実現することが可能である。   The reference bitmap 36a is stored in the reference bitmap storage unit 36a so that bitmaps having the same data content do not overlap. Therefore, even when different block data are referred to, the reference bitmaps 36a are the same when the referring users are completely the same, and a plurality of block related data respectively associated with the plurality of block data are assigned one The reference bitmap 36a will be associated. At this time, the block related data in the block related data storage unit 33 stores a pointer to the reference bitmap in the associated reference bitmap storage unit 36. Note that a conversion function for acquiring a pointer to the reference bitmap from the reference bitmap is required, but it can be realized using, for example, a hash.

また、上記使用物理容量管理部22は、上述した参照ビットマップ36aを用いて、各ユーザが記憶装置3を物理的に使用している記憶容量を、ユーザ毎に算出する。具体的に、使用物理容量管理部22は、各ブロック関連データ33aに関連付けられた参照ビットマップ36aに「1」がセットされているビットの位置に応じて、各ブロックデータを参照している各ユーザを把握すると共に、ブロック関連データ33aに含まれるサイズ情報の値を用いて、ユーザ毎の記憶容量を算出する。また、使用物理容量管理部22は、上述同様図8に示すように、算出したユーザ毎の記憶容量を使用物理容量記憶部35に記憶すると共に、予め設定されているユーザ毎の記憶容量の制限値と比較する。そして、使用記憶容量が制限値を超えている場合には、かかるユーザからの書き込みを制限し、書き込みエラーとなるよう制御する。   Further, the used physical capacity management unit 22 calculates, for each user, a storage capacity in which each user physically uses the storage device 3 using the reference bitmap 36a described above. Specifically, the used physical capacity management unit 22 refers to each block data according to the position of the bit in which “1” is set in the reference bitmap 36a associated with each block-related data 33a. While grasping the user, the storage capacity for each user is calculated using the value of the size information included in the block related data 33a. Further, as shown in FIG. 8, the used physical capacity management unit 22 stores the calculated storage capacity for each user in the used physical capacity storage unit 35 and limits the preset storage capacity for each user. Compare with the value. When the used storage capacity exceeds the limit value, the writing from the user is limited and control is performed so that a writing error occurs.

また、上記ファイル操作実行部21や使用物理容量管理部22は、参照ビットマップ記憶部36内の使用されなくなった参照ビットマップ36aを削除する機能も有する。また、上記ファイル操作実行部21や使用物理容量管理部22は、ユーザの指示または設定されたスケジュールなどに応じて削除反映一括処理を実行し、ブロックデータの削除を反映すると共に、ブロック関連データ記憶部33内の参照ビットマップ36aへのポインタと、参照ビットマップ記憶部36内の参照ビットマップ36a、および使用物理容量記憶部35内の使用物理容量を、最新の状態に更新する処理を行う。   The file operation execution unit 21 and the used physical capacity management unit 22 also have a function of deleting the reference bitmap 36 a that is no longer used in the reference bitmap storage unit 36. Further, the file operation execution unit 21 and the used physical capacity management unit 22 execute a deletion reflection batch process according to a user instruction or a set schedule to reflect the deletion of the block data and store the block related data. The pointer to the reference bitmap 36a in the unit 33, the reference bitmap 36a in the reference bitmap storage unit 36, and the used physical capacity in the used physical capacity storage unit 35 are updated to the latest state.

ここで、上記では、使用物理容量管理部22は、ブロックデータのサイズのみを合計してユーザ毎の使用記憶容量を算出しているが、さらにブロックデータを参照するブロック関連データやブロックIDエントリの記憶容量も加算して、ユーザ毎の使用記憶容量を算出してもよい。また、上記では、使用物理容量管理部22は、使用記憶容量と制限値とを比較しているが、単に使用記憶容量を算出するだけの処理を行ってもよい。また、上記使用容量管理部22による使用物理容量の算出は、ファイルの書き込み時に実行されてもよく、予め設定されたタイミングで実行されてもよい。   Here, in the above description, the used physical capacity management unit 22 calculates the used storage capacity for each user by summing only the sizes of the block data. However, the block-related data or block ID entry that refers to the block data is further calculated. The used storage capacity for each user may be calculated by adding the storage capacity. In the above description, the used physical capacity management unit 22 compares the used storage capacity with the limit value, but may simply perform a process of calculating the used storage capacity. The calculation of the used physical capacity by the used capacity management unit 22 may be executed when a file is written, or may be executed at a preset timing.

次に、上述したストレージシステム10の動作、特に、ファイルを書き込むときの動作を、図13乃至図16を参照して説明する。なお、以下では、ファイルをブロックデータに分割したり、フラグメントデータに分割して分散記憶するなど、一部の動作についての詳細な説明は省略する。   Next, the operation of the storage system 10 described above, particularly the operation when writing a file will be described with reference to FIGS. In the following, detailed descriptions of some operations such as dividing a file into block data and dividing and storing into fragment data are omitted.

まず、書き込み対象となるファイルを分割したブロックデータと重複するブロックデータが、既に記憶装置3に存在するかを判定する(ステップC10)。書き込み対象のブロックデータが記憶装置3内に存在しない場合には(ステップC10でNo)、書き込み対象のファイルを使用するユーザを特定し、当該ユーザの現在の使用物理容量とその制限値を使用物理容量記憶部35から取得する。そして、このユーザの現在の使用物理容量に、書き込み対象のブロックデータのサイズ情報を加算して、「現在の使用容量+ブロックサイズ」が、当該ユーザの使用物容量の制限値を超えるかをチェックし(ステップC11)、超える場合は(ステップC11でYes)、書き込みエラーとする(ステップC20)。超えない場合は(ステップC11でNo)、書き込み対象のブロックデータをブロックデータ記憶部34に格納し(ステップC12)、今回書き込み中のユーザのみに対応するビットに「1」をセットした参照ビットマップ36aを作成し(ステップC13)、参照ビットマップ記憶部36内のそれと同じ参照ビットマップへのポインタを取得する(ステップC14)。ポインタを取得できない、つまり、同じ参照ビットマップが存在しなかった場合には(ステップC15でNo)、その参照ビットマップ36aを参照ビットマップ記憶部36に記憶させ、当該参照ビットマップ36aへのポインタを取得する(ステップC16)。そして、取得したポインタを、ブロック関連データに記憶させ(ステップC17)、書込みを行っているユーザの使用物理容量にブロックデータのサイズ情報を加え(ステップC18)、書き込み成功とする(ステップC19)。   First, it is determined whether block data that overlaps block data obtained by dividing a file to be written already exists in the storage device 3 (step C10). When the block data to be written does not exist in the storage device 3 (No in Step C10), the user who uses the file to be written is specified, and the current used physical capacity and the limit value of the user are used. Obtained from the capacity storage unit 35. Then, the size information of the block data to be written is added to the current used physical capacity of the user to check whether “current used capacity + block size” exceeds the limit value of the used capacity of the user. If it exceeds (Yes in Step C11), a write error is determined (Step C20). If it does not exceed (No in step C11), the block data to be written is stored in the block data storage unit 34 (step C12), and a reference bitmap in which “1” is set to the bit corresponding only to the user who is currently writing 36a is created (step C13), and a pointer to the same reference bitmap as that in the reference bitmap storage unit 36 is obtained (step C14). If the pointer cannot be obtained, that is, if the same reference bitmap does not exist (No in step C15), the reference bitmap 36a is stored in the reference bitmap storage unit 36, and the pointer to the reference bitmap 36a is stored. Is acquired (step C16). Then, the obtained pointer is stored in the block-related data (step C17), the size information of the block data is added to the used physical capacity of the user who is writing (step C18), and the writing is successful (step C19).

なお、ステップC15で、同じ参照ビットマップが存在した場合には(ステップC15でYes)、その存在する参照ビットマップ36aへのポインタをブロック関連データに記憶させる(ステップC17)。そして、書込みを行っているユーザの使用物理容量にブロックデータのサイズ情報を加え(ステップC18)、書き込み成功とする(ステップC19)。   If the same reference bitmap exists at step C15 (Yes at step C15), a pointer to the existing reference bitmap 36a is stored in the block-related data (step C17). Then, the size information of the block data is added to the used physical capacity of the user who is writing (step C18), and the writing is successful (step C19).

一方、ステップC10で、書き込み対象となるブロックデータが記憶装置3に既に存在する場合には(ステップC10でYes)、当該ブロックデータを参照するブロック関連データ33aに記憶されたポインタを使って、参照ビットマップ記憶部36から対応する参照ビットマップ36aを取得し(ステップC30)、今回書き込み中のユーザが既に参照ビットマップ36aに含まれているかチェックする(ステップC31)。含まれている場合は(ステップC31でYes)、そのまま書き込み成功とする(ステップC19)。含まれていない場合(ステップC31でNo)、上述同様に、そのユーザにおける「現在の使用容量+ブロックサイズ」が、当該ユーザの使用物理容量の制限値を超えるかをチェックし(ステップC32)、超える場合は(ステップA32でYes)、書き込みエラーとする(ステップC20)。超えない場合は(ステップA32でNo)、参照ビットマップに今回書き込み中のユーザを追加し(ステップC33)、上述同様に、ビットマップ記憶部36内のそれと同じビットマップへのポインタを取得する(ステップC14)。ポインタを取得できなかった、つまり、同じ参照ビットマップが存在しなかった場合(ステップC15でNo)、その参照ビットマップ36aを参照ビットマップ記憶部36に記憶させ、当該参照ビットマップ36aへのポインタを取得する(ステップC16)。そして、取得したポインタを、ブロック関連データに記憶させ(ステップC17)、書込みを行っているユーザの使用物理容量にブロックデータのサイズ情報を加え(ステップC18)、書き込み成功とする(ステップC19)。   On the other hand, if the block data to be written already exists in the storage device 3 in step C10 (Yes in step C10), the reference is made using the pointer stored in the block related data 33a referring to the block data. The corresponding reference bitmap 36a is acquired from the bitmap storage unit 36 (step C30), and it is checked whether the user currently writing is already included in the reference bitmap 36a (step C31). If it is included (Yes in Step C31), it is assumed that the writing has succeeded (Step C19). If not included (No in step C31), as described above, it is checked whether the “current used capacity + block size” of the user exceeds the limit value of the used physical capacity of the user (step C32). If it exceeds (Yes in Step A32), a write error is determined (Step C20). If not exceeded (No in step A32), the user who is currently writing is added to the reference bitmap (step C33), and a pointer to the same bitmap in the bitmap storage unit 36 is obtained as described above (step S33). Step C14). When the pointer could not be obtained, that is, when the same reference bitmap does not exist (No in Step C15), the reference bitmap 36a is stored in the reference bitmap storage unit 36, and the pointer to the reference bitmap 36a is stored. Is acquired (step C16). Then, the obtained pointer is stored in the block-related data (step C17), the size information of the block data is added to the used physical capacity of the user who is writing (step C18), and the writing is successful (step C19).

なお、ユーザがデータを削除するときは、参照ビットマップや使用物理容量についてはそのときには何もしない。但し、ユーザの指示または設定されたスケジュールなどによって実行される削除反映一括処理で、以下の処理を行う。   When the user deletes data, the reference bitmap and the used physical capacity are not processed at that time. However, the following processing is performed in the deletion reflection batch processing executed according to a user instruction or a set schedule.

まず、全ファイルシステムのディレクトリ構造をたどって、全ファイルに対して(ステップD10)、及び、各ファイルが参照する全ブロックデータに対して(ステップD11)、次の処理を行う。   First, following the directory structure of all file systems, the following processing is performed for all files (step D10) and for all block data referenced by each file (step D11).

処理対象となるブロックデータが初めて見つかったブロックかを判定し(ステップD12)、初めて見つかったブロックデータである場合には(ステップD12)、そのブロックデータに仮の参照ビットマップを関連付け(ステップD13)、仮の参照ビットマップは参照元のファイルを使用するユーザのみ「1」とする(ステップD14)。初めて見つかったブロックデータでない場合には(ステップD12でNo)、そのブロックデータに既に関連付けられている仮の参照ビットマップに、参照元ファイルを使用するユーザを追加する(ステップD15)。   It is determined whether the block data to be processed is the first block found (step D12). If it is the first block data found (step D12), a temporary reference bitmap is associated with the block data (step D13). The temporary reference bitmap is set to “1” only for the user who uses the reference source file (step D14). If the block data is not found for the first time (No in step D12), the user who uses the reference source file is added to the temporary reference bitmap already associated with the block data (step D15).

そして、上述したステップD10のループ処理後、格納されている全ブロックデータに対して(ステップD20)、ブロック関連データに記憶されたポインタを使って、参照ビットマップ記憶部36から対応する参照ビットマップを取得し(ステップD21)、各ユーザについて(ステップD22)、次の処理をする。そのユーザが参照ビットマップに含まれていて(ステップD23でYes)、仮のビットマップに含まれていない場合には(ステップD24でNo)、そのユーザの使用物理容量からブロックサイズを減じる(ステップD25)。ステップD22のループ後、参照ビットマップと仮のビットマップが異なる場合には(ステップD26でYes)、仮のビットマップと同じ参照ビットマップへのポインタを参照ビットマップ記憶部36から取得し、あるいは、仮のビットマップと同じ参照ビットマップが存在しなかった場合は仮のビットマップへのポインタを参照ビットマップ記憶部36に記憶させてポインタを取得し(ステップD27)、ブロック関連データにそのポインタを記憶させる(ステップD28)。最後に、参照ビットマップ記憶部36内の、もはや参照されていない参照ビットマップを削除する(ステップD29)。   Then, after the loop processing in step D10 described above, for all the stored block data (step D20), the corresponding reference bitmap from the reference bitmap storage unit 36 is used using the pointer stored in the block related data. (Step D21), and for each user (step D22), the following processing is performed. If the user is included in the reference bitmap (Yes in step D23) and not included in the temporary bitmap (No in step D24), the block size is subtracted from the physical capacity used by the user (step S24). D25). After the loop of step D22, if the reference bitmap is different from the temporary bitmap (Yes in step D26), a pointer to the same reference bitmap as the temporary bitmap is acquired from the reference bitmap storage unit 36, or If the same reference bitmap as the temporary bitmap does not exist, a pointer to the temporary bitmap is stored in the reference bitmap storage unit 36 to obtain the pointer (step D27), and the pointer is associated with the block-related data. Is stored (step D28). Finally, the reference bitmap that is no longer referenced in the reference bitmap storage unit 36 is deleted (step D29).

なお、上述した削除反映一括処理においては、ブロックデータへの参照がなくなったときに使用容量を減算しているが、一括処理の最初にユーザごとの仮の使用容量をゼロに設定し、参照が残っていたときにブロックデータのサイズを加算していき、最後にそれを使用物理容量記憶部35に記憶させる方法をとってもよい。   In the deletion reflection batch processing described above, the used capacity is subtracted when there is no more reference to the block data. However, the temporary used capacity for each user is set to zero at the beginning of the batch processing, and the reference is changed. A method may be used in which the sizes of the block data are added when they remain, and finally stored in the used physical capacity storage unit 35.

以上のように、本実施形態におけるストレージシステムによると、ユーザ毎の使用物理容量管理のための処理を効率的に行うことができる。特に、異なるユーザ(企業)間ではデータが重複することは少ないため、参照ビットマップが取りうるパターンは少なくなる、つまり、同じパターンが現れることが多くなる。このため、参照ビットマップへのポインタのサイズを、参照ビットマップのサイズより小さく設定することにより、各ブロックデータにそれぞれビットマップを持たせる場合と比べ、データ量は少なくて済む。従って、使用物理容量管理のために必要なデータ量を大幅に削減することができ、また、ユーザ毎の使用物理容量の把握及び管理が容易となる。   As described above, according to the storage system of this embodiment, the processing for managing the used physical capacity for each user can be performed efficiently. In particular, since there is little duplication of data between different users (businesses), the patterns that can be taken by the reference bitmap are reduced, that is, the same patterns often appear. For this reason, by setting the size of the pointer to the reference bitmap smaller than the size of the reference bitmap, the amount of data can be reduced compared to the case where each block data has a bitmap. Therefore, the amount of data necessary for managing the used physical capacity can be greatly reduced, and the used physical capacity for each user can be easily grasped and managed.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム(図17参照)、情報処理装置、プログラム、情報処理方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
<Appendix>
Part or all of the above-described embodiment can be described as in the following supplementary notes. The outline of the configuration of the storage system (see FIG. 17), information processing apparatus, program, and information processing method in the present invention will be described below. However, the present invention is not limited to the following configuration.

(付記1)
ファイルを分割したブロックデータを格納すると共に、当該格納されたブロックデータを参照する参照データを格納する記憶装置110と、
前記記憶装置に対して前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段100と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段102と、
を備え、
前記データ格納制御手段101は、前記ブロックデータを参照する前記参照データに、当該ブロックデータの分割元となる前記ファイルを使用するユーザを識別するユーザ識別情報を関連付けて記憶し、
前記記憶容量管理手段102は、前記参照データに関連付けられた前記ユーザ識別情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム100。
(Appendix 1)
A storage device 110 for storing block data obtained by dividing the file and storing reference data for referring to the stored block data;
When the file is newly stored in the storage device, the block data obtained by dividing the file and the reference data referring to the block data are stored in the storage device and the file is newly stored The file that newly stores the data already stored in the storage device using the reference data when the block data obtained by dividing the block data has the same data content as the data already stored in the storage device Data storage control means 100 to be referred to as the block data of
A storage capacity management unit 102 that calculates and stores the storage capacity in the storage device in which the block data is stored for each user who uses the file that is the division source of the block data;
With
The data storage control unit 101 associates and stores user identification information for identifying a user who uses the file, which is a division source of the block data, with the reference data that refers to the block data,
The storage capacity management unit 102 calculates a storage capacity for each user in the storage device based on the user identification information associated with the reference data.
Storage system 100.

(付記2)
付記1に記載のストレージシステムであって、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別すると共に前記ファイルを使用するユーザの前記ユーザ識別情報が関連付けられたブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に格納された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック識別データに関連付けられた前記ユーザ識別情報と、前記ブロック識別データが参照する前記ブロック関連データに含まれる前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
(Appendix 2)
The storage system according to attachment 1, wherein
The data storage control means identifies, as the reference data, block identification data that identifies the block data obtained by dividing the file to be newly stored and is associated with the user identification information of a user who uses the file, and the block Block-related data including size information indicating the data size of the referenced block data by referring to the block data stored in the storage device and referenced by the identification data is stored in the storage device, and When the block data obtained by dividing the file to be stored in the file has the same data content as the data already stored in the storage device, the block identification data for identifying the block data is already stored in the storage device. Refer to the block related data that refers to the data being ,
The storage capacity management unit is configured for each user in the storage device based on the user identification information associated with the block identification data and the size information included in the block related data referred to by the block identification data. Calculate the storage capacity of
Storage system.

(付記3)
付記2に記載のストレージシステムであって、
前記データ格納制御手段は、同一の前記ブロック関連データを参照する一群の前記ブロック識別データを同一ブロックチェインとして関連付けて記憶し、
前記記憶容量管理手段は、前記同一ブロックチェインの情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
(Appendix 3)
The storage system according to appendix 2,
The data storage control means associates and stores a group of the block identification data referring to the same block related data as the same block chain,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the information of the same block chain.
Storage system.

(付記4)
付記3に記載のストレージシステムであって、
前記データ格納制御手段は、前記同一ブロックチェインとして関連付けられた一群の前記ブロック識別データ内で、さらに同一の前記ユーザ識別情報が関連付けられた一群の前記ブロック識別データを同一ユーザチェインとして関連付けて記憶し、
前記記憶容量管理手段は、前記同一ブロックチェインの情報と前記同一ユーザチェインの情報とに基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
(Appendix 4)
The storage system according to attachment 3, wherein
The data storage control means stores a group of the block identification data associated with the same user identification information in the group of the block identification data associated as the same block chain in association with each other as the same user chain. ,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the same block chain information and the same user chain information.
Storage system.

(付記5)
付記4に記載のストレージシステムであって、
前記データ格納制御手段は、前記同一ブロックチェインとして関連付けられた一群の前記ブロック識別データ内で、それぞれ異なる前記同一ユーザチェインとして関連付けられた各群の前記ブロック識別データ間を、当該各群の前記ブロック識別データのうちそれぞれ1つの前記ブロック識別データ間を相互に関連付け、
前記記憶容量管理手段は、前記同一ブロックチェインの情報と前記同一ユーザチェインの情報とに基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
(Appendix 5)
The storage system according to appendix 4, wherein
The data storage control means is configured to connect the block identification data of each group associated as the same user chain different from each other in the group of block identification data associated as the same block chain. The block identification data is associated with each other among the identification data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the same block chain information and the same user chain information.
Storage system.

(付記6)
付記1に記載のストレージシステムであって、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別するブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に記憶された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報と当該ブロックデータの分割元となる前記ファイルを使用するユーザの前記ユーザ識別情報とを含むブロック関連データと、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
(Appendix 6)
The storage system according to attachment 1, wherein
The data storage control means, as the reference data, block identification data for identifying the block data obtained by dividing the file to be newly stored, and the block identification data referred to and stored in the storage device Block-related data including block data and size information indicating a data size of the block data to be referred to and user identification information of a user who uses the file that is a division source of the block data; When the block data obtained by dividing the file to be newly stored is the same data content as the data already stored in the storage device, the block identification data for identifying the block data Related to the block referring to data already stored in the storage device To see over data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block related data.
Storage system.

(付記7)
付記6に記載のストレージシステムであって、
前記データ格納制御手段は、ユーザ毎の情報領域が形成された前記ユーザ識別情報に対して、前記ブロック関連データが参照する前記ブロックデータの分割元となる前記ファイルを使用するユーザに対応する前記情報領域に所定の情報をセットして、前記ユーザ識別情報を前記ブロック関連データに関連付けて記憶し、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
(Appendix 7)
The storage system according to appendix 6, wherein
The data storage control means is the information corresponding to a user who uses the file that is a division source of the block data referred to by the block related data with respect to the user identification information in which an information area for each user is formed. Set predetermined information in an area, store the user identification information in association with the block-related data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block related data.
Storage system.

(付記8)
付記7に記載のストレージシステムであって、
前記データ格納制御手段は、ユーザ毎の前記情報領域としてユーザ毎に対応するビットを有する前記ユーザ識別情報に対して、前記ブロック関連データが参照する前記ブロックデータの分割元となる前記ファイルを使用するユーザに対応する前記ビットに所定の情報をセットして、前記ユーザ識別情報を前記ブロック関連データに関連付けて記憶し、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報が有する各ビットに記憶された情報と、前記ブロック関連データに関連付けられた前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
(Appendix 8)
The storage system according to appendix 7,
The data storage control means uses, as the information area for each user, the file serving as a division source of the block data referred to by the block related data for the user identification information having a bit corresponding to each user. A predetermined information is set in the bit corresponding to a user, and the user identification information is stored in association with the block related data;
The storage capacity management means is based on the information stored in each bit of the user identification information associated with the block related data and the size information associated with the block related data. Calculate the storage capacity for each user at
Storage system.

(付記9)
ファイルを分割したブロックデータを格納すると共に当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を備え、
前記データ格納制御手段は、前記ブロックデータを参照する前記参照データに、当該ブロックデータの分割元となる前記ファイルを使用するユーザを識別するユーザ識別情報を関連付けて記憶し、
前記記憶容量管理手段は、前記参照データに関連付けられた前記ユーザ識別情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
情報処理装置。
(Appendix 9)
When storing the block data obtained by dividing the file and storing the reference data referring to the stored block data, when the file is newly stored, the block data obtained by dividing the file and the block data When the reference data that refers to block data is stored in the storage device, and the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device Data storage control means for making reference to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
With
The data storage control means stores the reference data that refers to the block data in association with user identification information that identifies a user who uses the file that is the division source of the block data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information associated with the reference data.
Information processing device.

(付記10)
付記9に記載の情報処理装置であって、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別すると共に前記ファイルを使用するユーザの前記ユーザ識別情報が関連付けられたブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に格納された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック識別データに関連付けられた前記ユーザ識別情報と、前記ブロック識別データが参照する前記ブロック関連データに含まれる前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
情報処理装置。
(Appendix 10)
An information processing apparatus according to appendix 9, wherein
The data storage control means identifies, as the reference data, block identification data that identifies the block data obtained by dividing the file to be newly stored and is associated with the user identification information of a user who uses the file, and the block Block-related data including size information indicating the data size of the referenced block data by referring to the block data stored in the storage device and referenced by the identification data is stored in the storage device, and When the block data obtained by dividing the file to be stored in the file has the same data content as the data already stored in the storage device, the block identification data for identifying the block data is already stored in the storage device. Refer to the block related data that refers to the data being ,
The storage capacity management unit is configured for each user in the storage device based on the user identification information associated with the block identification data and the size information included in the block related data referred to by the block identification data. Calculate the storage capacity of
Information processing device.

(付記11)
付記9に記載の情報処理装置であって、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別するブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に記憶された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報と当該ブロックデータの分割元となる前記ファイルを使用するユーザの前記ユーザ識別情報とを含むブロック関連データと、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
情報処理装置。
(Appendix 11)
An information processing apparatus according to appendix 9, wherein
The data storage control means, as the reference data, block identification data for identifying the block data obtained by dividing the file to be newly stored, and the block identification data referred to and stored in the storage device Block-related data including block data and size information indicating a data size of the block data to be referred to and user identification information of a user who uses the file that is a division source of the block data; When the block data obtained by dividing the file to be newly stored is the same data content as the data already stored in the storage device, the block identification data for identifying the block data Related to the block referring to data already stored in the storage device To see over data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block related data.
Information processing device.

(付記12)
情報処理装置に、
ファイルを分割したブロックデータを格納すると共に当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を実現させると共に、
前記データ格納制御手段は、前記ブロックデータを参照する前記参照データに、当該ブロックデータの分割元となる前記ファイルを使用するユーザを識別するユーザ識別情報を関連付けて記憶し、
前記記憶容量管理手段は、前記参照データに関連付けられた前記ユーザ識別情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ことを実現させるためのプログラム。
(Appendix 12)
In the information processing device,
When storing the block data obtained by dividing the file and storing the reference data referring to the stored block data, when the file is newly stored, the block data obtained by dividing the file and the block data When the reference data that refers to block data is stored in the storage device, and the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device Data storage control means for making reference to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
And realize
The data storage control means stores the reference data that refers to the block data in association with user identification information that identifies a user who uses the file that is the division source of the block data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information associated with the reference data.
A program to make things happen.

(付記13)
付記12に記載のプログラムであって、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別すると共に前記ファイルを使用するユーザの前記ユーザ識別情報が関連付けられたブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に格納された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック識別データに関連付けられた前記ユーザ識別情報と、前記ブロック識別データが参照する前記ブロック関連データに含まれる前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
プログラム。
(Appendix 13)
The program according to attachment 12, wherein
The data storage control means identifies, as the reference data, block identification data that identifies the block data obtained by dividing the file to be newly stored and is associated with the user identification information of a user who uses the file, and the block Block-related data including size information indicating the data size of the referenced block data by referring to the block data stored in the storage device and referenced by the identification data is stored in the storage device, and When the block data obtained by dividing the file to be stored in the file has the same data content as the data already stored in the storage device, the block identification data for identifying the block data is already stored in the storage device. Refer to the block related data that refers to the data being ,
The storage capacity management unit is configured for each user in the storage device based on the user identification information associated with the block identification data and the size information included in the block related data referred to by the block identification data. Calculate the storage capacity of
program.

(付記14)
付記12に記載のプログラムであって、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別するブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に記憶された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報と当該ブロックデータの分割元となる前記ファイルを使用するユーザの前記ユーザ識別情報とを含むブロック関連データと、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
プログラム。
(Appendix 14)
The program according to attachment 12, wherein
The data storage control means, as the reference data, block identification data for identifying the block data obtained by dividing the file to be newly stored, and the block identification data referred to and stored in the storage device Block-related data including block data and size information indicating a data size of the block data to be referred to and user identification information of a user who uses the file that is a division source of the block data; When the block data obtained by dividing the file to be newly stored is the same data content as the data already stored in the storage device, the block identification data for identifying the block data Related to the block referring to data already stored in the storage device To see over data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block related data.
program.

(付記15)
ファイルを分割したブロックデータを格納すると共に、当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納工程と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理工程と、
を有し、
前記データ格納工程は、前記ブロックデータを参照する前記参照データに、当該ブロックデータの分割元となる前記ファイルを使用するユーザを識別するユーザ識別情報を関連付けて記憶し、
前記記憶容量管理工程は、前記参照データに関連付けられた前記ユーザ識別情報に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
情報処理方法。
(Appendix 15)
The block data obtained by dividing the file when the file is newly stored in the storage device that stores the block data obtained by dividing the file and stores the reference data that refers to the stored block data. When the reference data referring to the block data is stored in the storage device, and the block data obtained by dividing the newly stored file has the same data content as the data already stored in the storage device A data storing step of referring to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management step of calculating and storing the storage capacity in the storage device in which the block data is stored for each user who uses the file that is the division source of the block data; and
Have
In the data storing step, the reference data for referring to the block data is stored in association with user identification information for identifying a user who uses the file that is a division source of the block data,
The storage capacity management step calculates a storage capacity for each user in the storage device based on the user identification information associated with the reference data.
Information processing method.

(付記16)
付記15に記載の情報処理方法であって、
前記データ格納工程は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別すると共に前記ファイルを使用するユーザの前記ユーザ識別情報が関連付けられたブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に格納された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理工程は、前記ブロック識別データに関連付けられた前記ユーザ識別情報と、前記ブロック識別データが参照する前記ブロック関連データに含まれる前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
情報処理方法。
(Appendix 16)
An information processing method according to attachment 15, wherein
The data storing step includes identifying block data obtained by dividing the file to be newly stored as the reference data and block identification data associated with the user identification information of a user who uses the file, and the block identification Block related data including size information indicating the data size of the block data referred to by referring to the block data stored in the storage device and referred to by the data is stored in the storage device, and newly When the block data obtained by dividing the file to be stored has the same data content as the data already stored in the storage device, the block identification data for identifying the block data is already stored in the storage device. The block related data referring to the data being referred to,
The storage capacity management step is performed for each user in the storage device based on the user identification information associated with the block identification data and the size information included in the block related data referred to by the block identification data. Calculate the storage capacity of
Information processing method.

(付記17)
付記15に記載の情報処理方法であって、
前記データ格納工程は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別するブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に記憶された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報と当該ブロックデータの分割元となる前記ファイルを使用するユーザの前記ユーザ識別情報とを含むブロック関連データと、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理工程は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
情報処理方法。
(Appendix 17)
An information processing method according to attachment 15, wherein
The data storage step includes, as the reference data, block identification data for identifying the block data obtained by dividing the file to be newly stored, and the block that is referred to by the block identification data and stored in the storage device Block related data including size information indicating the data size of the block data to be referred to and the user identification information of the user who uses the file that is the division source of the block data in the storage device. When the block data obtained by dividing the file to be stored and newly stored has the same data content as the data already stored in the storage device, the block identification data for identifying the block data stores the block data. The block related data referring to data already stored in the device. To see,
The storage capacity management step calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block-related data.
Information processing method.

なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。   Note that the above-described program is stored in a storage device or recorded on a computer-readable recording medium. For example, the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.

以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。   Although the present invention has been described with reference to the above-described embodiment and the like, the present invention is not limited to the above-described embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

10 ストレージシステム
11 バックアップシステム
12 バックアップ対象装置
20 アクセラレータノード
30 ストレージノード
1 ファイル操作入力部
2 データ処理装置
21 ファイル操作実行部
22 使用物理容量管理部
3 記憶装置
31 FS構造記憶部
32 ブロックIDリスト記憶部
33 ブロック関連データ記憶部
34 ブロックデータ記憶部
35 使用物理容量記憶部
36 参照ビットマップ記憶部
31a ファイル
32a ブロックID
33a ブロック関連データ
34a ブロックデータ
36a 参照ビットマップ
10 Storage System 11 Backup System 12 Backup Target Device 20 Accelerator Node 30 Storage Node 1 File Operation Input Unit 2 Data Processing Device 21 File Operation Execution Unit 22 Used Physical Capacity Management Unit 3 Storage Device 31 FS Structure Storage Unit 32 Block ID List Storage Unit 33 Block-related data storage unit 34 Block data storage unit 35 Used physical capacity storage unit 36 Reference bitmap storage unit 31a File 32a Block ID
33a Block-related data 34a Block data 36a Reference bitmap

Claims (11)

ファイルを分割したブロックデータを格納すると共に、当該格納されたブロックデータを参照する参照データを格納する記憶装置と、
前記記憶装置に対して前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を備え、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別すると共に前記ファイルを使用するユーザのユーザ識別情報が関連付けられたブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に格納された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、を前記記憶装置に記憶し、同一の前記ブロック関連データを参照する一群の前記ブロック識別データを同一ブロックチェインとして関連付けて記憶し、
前記記憶容量管理手段は、前記ブロック識別データに関連付けられた前記ユーザ識別情報と、前記同一ブロックチェインの情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
A storage device for storing block data obtained by dividing the file, and storing reference data for referring to the stored block data;
When the file is newly stored in the storage device, the block data obtained by dividing the file and the reference data referring to the block data are stored in the storage device and the file is newly stored The file that newly stores the data already stored in the storage device using the reference data when the block data obtained by dividing the block data has the same data content as the data already stored in the storage device Data storage control means to be referred to as the block data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
With
The data storage control means identifies, as the reference data, block identification data associated with user identification information of a user who uses the file and identifies the block data obtained by dividing the file to be newly stored, and the block identification Block-related data including size information indicating the data size of the block data referred to by referring to the block data stored in the storage device and referenced in the data is stored in the storage device, and the same Storing a group of the block identification data referring to the block related data in association with each other as the same block chain;
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information associated with the block identification data and information on the same block chain.
Storage system.
請求項1に記載のストレージシステムであって、
前記データ格納制御手段は、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック識別データに関連付けられた前記ユーザ識別情報と、前記ブロック識別データが参照する前記ブロック関連データに含まれる前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
The storage system according to claim 1,
The data storage control unit, when the block data obtained by dividing the file to be stored newly is already the same data content and data stored in the storage device, the block identification identifying the block data Refer to the block related data referring to data already stored in the storage device by data,
The storage capacity management unit is configured for each user in the storage device based on the user identification information associated with the block identification data and the size information included in the block related data referred to by the block identification data. Calculate the storage capacity of
Storage system.
請求項1又は2に記載のストレージシステムであって、
前記データ格納制御手段は、前記同一ブロックチェインとして関連付けられた一群の前記ブロック識別データ内で、さらに同一の前記ユーザ識別情報が関連付けられた一群の前記ブロック識別データを同一ユーザチェインとして関連付けて記憶し、
前記記憶容量管理手段は、前記同一ブロックチェインの情報と前記同一ユーザチェインの情報とに基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
The storage system according to claim 1 or 2 ,
The data storage control means stores a group of the block identification data associated with the same user identification information in the group of the block identification data associated as the same block chain in association with each other as the same user chain. ,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the same block chain information and the same user chain information.
Storage system.
請求項に記載のストレージシステムであって、
前記データ格納制御手段は、前記同一ブロックチェインとして関連付けられた一群の前記ブロック識別データ内で、それぞれ異なる前記同一ユーザチェインとして関連付けられた各群の前記ブロック識別データ間を、当該各群の前記ブロック識別データのうちそれぞれ1つの前記ブロック識別データ間を相互に関連付け、
前記記憶容量管理手段は、前記同一ブロックチェインの情報と前記同一ユーザチェインの情報とに基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
The storage system according to claim 3 ,
The data storage control means is configured to connect the block identification data of each group associated as the same user chain different from each other in the group of block identification data associated as the same block chain. The block identification data is associated with each other among the identification data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the same block chain information and the same user chain information.
Storage system.
ファイルを分割したブロックデータを格納すると共に、当該格納されたブロックデータを参照する参照データを格納する記憶装置と、
前記記憶装置に対して前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を備え、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別するブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に記憶された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、当該ブロック関連データに関連付けられ当該ブロックデータの分割元となる前記ファイルを使用するユーザのユーザ識別情報と、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
A storage device for storing block data obtained by dividing the file, and storing reference data for referring to the stored block data;
When the file is newly stored in the storage device, the block data obtained by dividing the file and the reference data referring to the block data are stored in the storage device and the file is newly stored The file that newly stores the data already stored in the storage device using the reference data when the block data obtained by dividing the block data has the same data content as the data already stored in the storage device Data storage control means to be referred to as the block data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
With
The data storage control means, as the reference data, block identification data for identifying the block data obtained by dividing the file to be newly stored, and the block identification data referred to and stored in the storage device Block-related data including size information indicating the data size of the referenced block data with reference to block data, and user identification information of a user who uses the file associated with the block-related data and from which the block data is divided Is stored in the storage device, and the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device, the block data is identified. Already stored in the storage device as block identification data And refers to the block associated data referring to over data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block related data.
Storage system.
請求項に記載のストレージシステムであって、
前記データ格納制御手段は、ユーザ毎の情報領域が形成された前記ユーザ識別情報に対して、前記ブロック関連データが参照する前記ブロックデータの分割元となる前記ファイルを使用するユーザに対応する前記情報領域に所定の情報をセットして、前記ユーザ識別情報を前記ブロック関連データに関連付けて記憶し、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
The storage system according to claim 5 ,
The data storage control means is the information corresponding to a user who uses the file that is a division source of the block data referred to by the block related data with respect to the user identification information in which an information area for each user is formed. Set predetermined information in an area, store the user identification information in association with the block-related data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block related data.
Storage system.
請求項に記載のストレージシステムであって、
前記データ格納制御手段は、ユーザ毎の前記情報領域としてユーザ毎に対応するビットを有する前記ユーザ識別情報に対して、前記ブロック関連データが参照する前記ブロックデータの分割元となる前記ファイルを使用するユーザに対応する前記ビットに所定の情報をセットして、前記ユーザ識別情報を前記ブロック関連データに関連付けて記憶し、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報が有する各ビットに記憶された情報と、前記ブロック関連データに関連付けられた前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ストレージシステム。
The storage system according to claim 6 ,
The data storage control means uses, as the information area for each user, the file serving as a division source of the block data referred to by the block related data for the user identification information having a bit corresponding to each user. A predetermined information is set in the bit corresponding to a user, and the user identification information is stored in association with the block related data;
The storage capacity management means is based on the information stored in each bit of the user identification information associated with the block related data and the size information associated with the block related data. Calculate the storage capacity for each user at
Storage system.
情報処理装置に、
ファイルを分割したブロックデータを格納すると共に当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を実現させると共に、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別すると共に前記ファイルを使用するユーザのユーザ識別情報が関連付けられたブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に格納された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、を前記記憶装置に記憶し、同一の前記ブロック関連データを参照する一群の前記ブロック識別データを同一ブロックチェインとして関連付けて記憶し、
前記記憶容量管理手段は、前記ブロック識別データに関連付けられた前記ユーザ識別情報と、前記同一ブロックチェインの情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ことを実現させるためのプログラム。
In the information processing device,
When storing the block data obtained by dividing the file and storing the reference data referring to the stored block data, when the file is newly stored, the block data obtained by dividing the file and the block data When the reference data that refers to block data is stored in the storage device, and the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device Data storage control means for making reference to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
And realize
The data storage control means identifies, as the reference data, block identification data associated with user identification information of a user who uses the file and identifies the block data obtained by dividing the file to be newly stored, and the block identification Block-related data including size information indicating the data size of the block data referred to by referring to the block data stored in the storage device and referenced in the data is stored in the storage device, and the same Storing a group of the block identification data referring to the block related data in association with each other as the same block chain;
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information associated with the block identification data and information on the same block chain.
A program to make things happen.
情報処理装置に、
ファイルを分割したブロックデータを格納すると共に当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納制御手段と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理手段と、
を実現させると共に、
前記データ格納制御手段は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別するブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に記憶された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、当該ブロック関連データに関連付けられ当該ブロックデータの分割元となる前記ファイルを使用するユーザのユーザ識別情報と、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理手段は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
ことを実現させるためのプログラム。
In the information processing device,
When storing the block data obtained by dividing the file and storing the reference data referring to the stored block data, when the file is newly stored, the block data obtained by dividing the file and the block data When the reference data that refers to block data is stored in the storage device, and the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device Data storage control means for making reference to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management means for calculating and storing a storage capacity in the storage device in which the block data is stored for each user who uses the file that is a division source of the block data;
And realize
The data storage control means, as the reference data, block identification data for identifying the block data obtained by dividing the file to be newly stored, and the block identification data referred to and stored in the storage device Block-related data including size information indicating the data size of the referenced block data with reference to block data, and user identification information of a user who uses the file associated with the block-related data and from which the block data is divided Is stored in the storage device, and the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device, the block data is identified. Already stored in the storage device as block identification data And refers to the block associated data referring to over data,
The storage capacity management means calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block related data.
A program to make things happen.
ファイルを分割したブロックデータを格納すると共に、当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納工程と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理工程と、
を有し、
前記データ格納工程は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別すると共に前記ファイルを使用するユーザのユーザ識別情報が関連付けられたブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に格納された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、を前記記憶装置に記憶し、同一の前記ブロック関連データを参照する一群の前記ブロック識別データを同一ブロックチェインとして関連付けて記憶し、
前記記憶容量管理工程は、前記ブロック識別データに関連付けられた前記ユーザ識別情報と、前記同一ブロックチェインの情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
情報処理方法。
The block data obtained by dividing the file when the file is newly stored in the storage device that stores the block data obtained by dividing the file and stores the reference data that refers to the stored block data. When the reference data referring to the block data is stored in the storage device, and the block data obtained by dividing the newly stored file has the same data content as the data already stored in the storage device A data storing step of referring to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management step of calculating and storing the storage capacity in the storage device in which the block data is stored for each user who uses the file that is the division source of the block data; and
Have
The data storage step includes identifying block data obtained by dividing the file to be newly stored as the reference data, and block identification data associated with user identification information of a user who uses the file, and the block identification data And the block related data including size information indicating the data size of the block data to be referred to by referring to the block data stored in the storage device and stored in the storage device. Storing a group of the block identification data referring to block related data in association with each other as the same block chain;
The storage capacity management step calculates a storage capacity for each user in the storage device based on the user identification information associated with the block identification data and information on the same block chain.
Information processing method.
ファイルを分割したブロックデータを格納すると共に、当該格納されたブロックデータを参照する参照データを格納する記憶装置に対して、前記ファイルを新たに格納する際に、当該ファイルを分割した前記ブロックデータと当該ブロックデータを参照する前記参照データとを前記記憶装置に格納すると共に、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、前記参照データを用いて前記記憶装置に既に記憶されているデータを新たに格納する前記ファイルの前記ブロックデータとして参照させるデータ格納工程と、
前記ブロックデータが格納されている前記記憶装置内の記憶容量を、当該ブロックデータの分割元となる前記ファイルを使用するユーザ毎に算出して記憶する記憶容量管理工程と、
を有し、
前記データ格納工程は、前記参照データとして、新たに格納する前記ファイルを分割した前記ブロックデータを識別するブロック識別データと、当該ブロック識別データにて参照されると共に前記記憶装置に記憶された前記ブロックデータを参照し当該参照する前記ブロックデータのデータサイズを表すサイズ情報を含むブロック関連データと、当該ブロック関連データに関連付けられ当該ブロックデータの分割元となる前記ファイルを使用するユーザのユーザ識別情報と、を前記記憶装置に記憶し、新たに格納する前記ファイルを分割した前記ブロックデータが前記記憶装置に既に記憶されているデータと同一のデータ内容である場合に、当該ブロックデータを識別する前記ブロック識別データにて前記記憶装置に既に記憶されているデータを参照する前記ブロック関連データを参照させ、
前記記憶容量管理工程は、前記ブロック関連データに関連付けられた前記ユーザ識別情報と前記サイズ情報と、に基づいて前記記憶装置内におけるユーザ毎の記憶容量を算出する、
情報処理方法。
The block data obtained by dividing the file when the file is newly stored in the storage device that stores the block data obtained by dividing the file and stores the reference data that refers to the stored block data. When the reference data referring to the block data is stored in the storage device, and the block data obtained by dividing the newly stored file has the same data content as the data already stored in the storage device A data storing step of referring to the block data of the file for newly storing data already stored in the storage device using the reference data;
A storage capacity management step of calculating and storing the storage capacity in the storage device in which the block data is stored for each user who uses the file that is the division source of the block data; and
Have
The data storage step includes, as the reference data, block identification data for identifying the block data obtained by dividing the file to be newly stored, and the block that is referred to by the block identification data and stored in the storage device Block-related data including size information indicating the data size of the block data to be referred to and data, and user identification information of a user who uses the file associated with the block-related data and from which the block data is divided The block for identifying the block data when the block data obtained by dividing the file to be newly stored has the same data content as the data already stored in the storage device Data already stored in the storage device as identification data The block related data referred to see,
The storage capacity management step calculates a storage capacity for each user in the storage device based on the user identification information and the size information associated with the block-related data.
Information processing method.
JP2012038144A 2012-02-24 2012-02-24 Storage system Expired - Fee Related JP5998517B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012038144A JP5998517B2 (en) 2012-02-24 2012-02-24 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012038144A JP5998517B2 (en) 2012-02-24 2012-02-24 Storage system

Publications (2)

Publication Number Publication Date
JP2013174985A JP2013174985A (en) 2013-09-05
JP5998517B2 true JP5998517B2 (en) 2016-09-28

Family

ID=49267845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012038144A Expired - Fee Related JP5998517B2 (en) 2012-02-24 2012-02-24 Storage system

Country Status (1)

Country Link
JP (1) JP5998517B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7099690B2 (en) * 2018-03-16 2022-07-12 Necソリューションイノベータ株式会社 Storage system, storage control device, storage control method, and storage control program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131687B2 (en) * 2008-11-13 2012-03-06 International Business Machines Corporation File system with internal deduplication and management of data blocks
JP5391705B2 (en) * 2009-01-27 2014-01-15 日本電気株式会社 Storage system
EP2430516B1 (en) * 2009-05-13 2018-07-11 Hitachi, Ltd. Storage system and utilization management method for storage system

Also Published As

Publication number Publication date
JP2013174985A (en) 2013-09-05

Similar Documents

Publication Publication Date Title
US11099769B1 (en) Copying data without accessing the data
JP5637552B2 (en) Storage system
US8112463B2 (en) File management method and storage system
US9785646B2 (en) Data file handling in a network environment and independent file server
KR20150131359A (en) Multi-layered storage administration for flexible placement of data
JP2016512906A5 (en)
CN102938784A (en) Method and system used for data storage and used in distributed storage system
JP2007241486A (en) Storage system
JP5446985B2 (en) Storage system
JP5929326B2 (en) Storage system
JP5444728B2 (en) Storage system, data writing method in storage system, and data writing program
JP5998517B2 (en) Storage system
JP5459388B2 (en) Storage device
JPWO2011108048A1 (en) Storage device
US11436193B2 (en) System and method for managing data using an enumerator
JP5891842B2 (en) Storage system
JP6281333B2 (en) Storage system
US11132401B1 (en) Distributed hash table based logging service
JP6201340B2 (en) Replication system
CN117614973B (en) File storage method based on multi-cloud architecture
JP7491545B2 (en) Information Processing Method
JP2019053477A (en) File control device, file control method, and program
JP2023169514A (en) Computer system, method of tracking lineage of data, and program
JP6343952B2 (en) Storage system
CN119621132A (en) Data processing method, device, electronic device and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160708

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160815

R150 Certificate of patent or registration of utility model

Ref document number: 5998517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees