JP5526824B2 - Storage system - Google Patents

Storage system Download PDF

Info

Publication number
JP5526824B2
JP5526824B2 JP2010020949A JP2010020949A JP5526824B2 JP 5526824 B2 JP5526824 B2 JP 5526824B2 JP 2010020949 A JP2010020949 A JP 2010020949A JP 2010020949 A JP2010020949 A JP 2010020949A JP 5526824 B2 JP5526824 B2 JP 5526824B2
Authority
JP
Japan
Prior art keywords
storage
data
target data
address
stored
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.)
Active
Application number
JP2010020949A
Other languages
Japanese (ja)
Other versions
JP2011159142A (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 JP2010020949A priority Critical patent/JP5526824B2/en
Publication of JP2011159142A publication Critical patent/JP2011159142A/en
Application granted granted Critical
Publication of JP5526824B2 publication Critical patent/JP5526824B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストレージシステムにかかり、特に、格納したデータの内容に応じて格納位置を管理するコンテンツアドレス型のストレージシステムに関する。   The present invention relates to a storage system, and more particularly to a content address type storage system that manages a storage location according to the content of stored data.

近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。   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, for example, as shown in Patent Document 1, data is distributed and stored in a plurality of storage devices, and a specific content address specified according to the content of the data is used. A content address storage system for specifying a storage location where the data is stored has been developed.

図1に、コンテンツアドレスストレージシステムの構成の一例を示す。この図に示すように、ストレージシステム100は、複数のデータ格納部110と、コンテンツアドレスリスト120と、を有すると共に、重複排除機能部101と、分散冗長配置機能部102と、データ移動機能部103と、データ削除機能部104と、を備えている。このような構成を有するストレージシステム100は、それぞれつぎのように動作する。   FIG. 1 shows an example of the configuration of a content address storage system. As shown in this figure, the storage system 100 has a plurality of data storage units 110 and a content address list 120, a deduplication function unit 101, a distributed redundant arrangement function unit 102, and a data movement function unit 103. And a data deletion function unit 104. Each storage system 100 having such a configuration operates as follows.

上記重複排除機能部101は、図2のフローチャートに示すような処理を行う。まず、データ格納が開始されると(ステップS101)、書き込まれたデータをチャンキングして、細かくブロックに分割する(ステップS102)。そして、各ブロックのハッシュ値をそれぞれ計算し(ステップS103)、そのハッシュ値を元に、既に格納されているブロックと比較して、このブロックの格納が必要であるか判断する(ステップS104)。このとき、同一のハッシュ値が存在している場合には、かかるブロックが重複していると判断し(ステップS104:No)、当該重複しているブロックは格納しない。この場合には、重複している既に格納されているブロックのCAを取得して(ステップS106)、このCAを元に実ブロックにアクセス可能となる。   The deduplication function unit 101 performs processing as shown in the flowchart of FIG. First, when data storage is started (step S101), the written data is chunked and finely divided into blocks (step S102). Then, the hash value of each block is calculated (step S103), and based on the hash value, it is compared with an already stored block, and it is determined whether this block needs to be stored (step S104). At this time, if the same hash value exists, it is determined that such a block is duplicated (step S104: No), and the duplicated block is not stored. In this case, the CA of the already stored block that is duplicated is acquired (step S106), and the actual block can be accessed based on this CA.

一方で、同一のハッシュ値が存在していない場合には、かかるブロックは重複していないと判断し(ステップS104:Yes)、当該重複していないユニークなブロックを新規に格納する(ステップS105)。そして、ブロックを格納すると、当該ブロックのCA(Content Address)が得られ(ステップS106)、このCAを元に実ブロックにアクセス可能となる。なお、CAは、後述するように、ブロックのハッシュ値と論理格納位置を表す情報から構成される。そして、全てのブロックに対して上記処理を行う(ステップS107)。   On the other hand, if the same hash value does not exist, it is determined that the block does not overlap (step S104: Yes), and the unique block that does not overlap is newly stored (step S105). . When the block is stored, the CA (Content Address) of the block is obtained (step S106), and the actual block can be accessed based on the CA. As will be described later, the CA is composed of block hash values and information indicating logical storage positions. Then, the above process is performed on all blocks (step S107).

上記分散冗長配置機能部102は、図3に示すように、上記重複排除機能部101によってユニークと判断されたブロックを格納する処理を行う(ステップS111)。まず、ブロックを更に細かく、指定された数に分割する(ステップS112)。この更に細かく分割されたブロックを、それぞれフラグメントと呼ぶこととする。そして、フラグメントをもとに冗長フラグメントを作成して(ステップS113)、フラグメントと冗長フラグメントを分散して配置する(ステップS114)。このとき、フラグメントの格納位置とハッシュ値を用いて、ブロックのCAを生成する(ステップS115)。   As shown in FIG. 3, the distributed redundant arrangement function unit 102 performs a process of storing a block determined to be unique by the deduplication function unit 101 (step S111). First, the block is further divided into a specified number (step S112). These further divided blocks are called fragments. Then, a redundant fragment is created based on the fragment (step S113), and the fragment and the redundant fragment are distributed and arranged (step S114). At this time, the CA of the block is generated using the fragment storage position and the hash value (step S115).

これによって、ディスク障害等が発生した場合でも冗長フラグメントが存在するため、元のブロックを復元できる。例えば、分割フラグメント:冗長フラグメント=9:3と指定する場合、ユニークなブロックは9個に分割され、更に3個の冗長フラグメントを加えた12個のフラグメントを分散して配置する。すると、ディスク障害などによって、失われたフラグメントが12個のうち3個までなら元のブロックを復元することができる。なお、分割フラグメント数と冗長フラグメント数の比は、データの種類によって選択可能であるとする。   As a result, even when a disk failure or the like occurs, the original block can be restored because the redundant fragment exists. For example, when designating divided fragment: redundant fragment = 9: 3, the unique block is divided into nine, and 12 fragments including three redundant fragments are further distributed and arranged. Then, the original block can be restored if up to 3 out of 12 fragments are lost due to a disk failure or the like. Note that the ratio between the number of fragment fragments and the number of redundant fragments can be selected according to the type of data.

上記データ移動機能部103は、ブロックの移動を行う。例えば、ストレージシステム側の都合(例えば、そのストレージシステムが備える分散冗長配置機能等)によってブロックの移動を行う必要がある場合には、かかるデータ移動機能部103によってデータの移動を行う。   The data movement function unit 103 moves a block. For example, when it is necessary to move a block due to the convenience of the storage system (for example, a distributed redundant arrangement function provided in the storage system), the data movement function unit 103 moves the data.

ここで、図4を参照して、データAとデータBとが格納される際の一例を説明する。まず、データA、データBを、それぞれチャンキングによってブロックa,b,cとブロックc,d,eに分割する。このとき、ストレージシステム100が備える重複排除機能によって、ブロックcは一つだけ格納され、データAとデータBから参照されている。そして、ユニークなブロックはそれぞれフラグメントa1〜a9に分割され(符号A10参照)、さらに、冗長フラグメントa10〜a12が付加される(符号A20参照)。これらのフラグメントa1〜a12が分散して各データ格納部110へそれぞれ格納される。   Here, an example when data A and data B are stored will be described with reference to FIG. First, data A and data B are divided into blocks a, b, and c and blocks c, d, and e, respectively, by chunking. At this time, only one block c is stored and referenced from data A and data B by the deduplication function of the storage system 100. Each unique block is divided into fragments a1 to a9 (see symbol A10), and redundant fragments a10 to a12 are added (see symbol A20). These fragments a1 to a12 are distributed and stored in each data storage unit 110, respectively.

ここで、図5に、上述したコンテンツアドレスの構成要素の一例を示す。この図に示すように、コンテンツアドレス(CA)は、ブロックのハッシュ値とブロックの論理格納位置から決定されるものとする。なお、論理格納位置とは、ブロックを構成するフラグメントの代表的な物理位置とする。例えば、データAにおけるフラグメントa1の物理格納位置等である。つまり、他のフラグメントa2〜a12は、フラグメントa1に連動して格納されており、当該フラグメントa1の論理格納位置が分かれば他のフラグメントa2〜a12を参照可能であるとする。   Here, FIG. 5 shows an example of the components of the content address described above. As shown in this figure, the content address (CA) is determined from the hash value of the block and the logical storage position of the block. Note that the logical storage position is a representative physical position of a fragment constituting a block. For example, the physical storage position of the fragment a1 in the data A. That is, it is assumed that the other fragments a2 to a12 are stored in conjunction with the fragment a1, and that the other fragments a2 to a12 can be referred to if the logical storage position of the fragment a1 is known.

そして、上述したようなコンテンツアドレスストレージシステムでは、物理データを削除する際は、ある特殊な処理が必要である。つまり、実際に格納されているブロックは、複数のデータから共有されている可能性があるため、データ削除時に安易にブロックは削除できない。このため、ブロックを削除する場合は、全てのデータに関してどのブロックを使用しているのか、ということを確認して、使用されていないブロックを削除する。この作業は、上記データ削除機能部104によって、図7に示すような流れで行われている。   In the content address storage system as described above, some special processing is required when deleting physical data. That is, since the block actually stored may be shared by a plurality of data, the block cannot be easily deleted at the time of data deletion. For this reason, when deleting a block, it is confirmed which block is used for all data, and an unused block is deleted. This operation is performed by the data deletion function unit 104 according to the flow shown in FIG.

具体的に、このストレージシステム100は、図6に示すような、使用されている各CAに「flag」が関連付けられたリストを持つ。そして、図7に示すように、まず、このリストの全コンテンツアドレス(CA)に対するフラグを0に初期化する(ステップS121)。その後、削除せずに格納されているデータを読み込み(ステップS122)、そのCAを確認する(ステップS123)。それぞれのCAに関してフラグを確認して(ステップS124)、フラグが0ならば1に変更する(ステップS126)。フラグが1ならばなにも行わない。そして、全てのデータのCAを確認後(ステップS125)、フラグが0のCAに対応するブロックのみを削除する(ステップS127)。   Specifically, the storage system 100 has a list in which “flag” is associated with each CA used as shown in FIG. Then, as shown in FIG. 7, first, flags for all content addresses (CA) in this list are initialized to 0 (step S121). Thereafter, the data stored without being deleted is read (step S122), and the CA is confirmed (step S123). The flag is checked for each CA (step S124), and if the flag is 0, it is changed to 1 (step S126). If the flag is 1, do nothing. Then, after confirming the CA of all data (step S125), only the block corresponding to the CA with the flag 0 is deleted (step S127).

図8に、データ削除の一例を示す。ここでは、図8の左側に示すように、データAとデータBの格納後、データBだけを削除する場合を考える。このとき、ブロックa,b,c,d,eに対応するCAを、それぞれCA1,CA2,CA3,CA4,CA5とする。まずCA1〜CA5のフラグは全て0となる。そして、削除せずに現時点で格納されているデータ、つまり、データAを読み込むと、当該データAを構成するブロックa,b,cに対応するCA1,CA2,CA3のフラグがそれぞれ1となり、CA4とCA5のフラグは0のままである。その後、図8の右側に示すように、フラグが0であるCA4とCA5に対応するブロック、すなわち、ブロックd,eを削除する。   FIG. 8 shows an example of data deletion. Here, as shown on the left side of FIG. 8, a case is considered where only data B is deleted after data A and data B are stored. At this time, CAs corresponding to the blocks a, b, c, d, and e are respectively CA1, CA2, CA3, CA4, and CA5. First, the flags of CA1 to CA5 are all 0. When data stored at the present time without deletion, that is, data A is read, the CA1, CA2, and CA3 flags corresponding to blocks a, b, and c constituting the data A are set to 1, respectively. And the CA5 flag remains at 0. After that, as shown on the right side of FIG. 8, the blocks corresponding to CA4 and CA5 whose flags are 0, that is, blocks d and e are deleted.

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

しかしながら、上述したようなストレージシステムが以下の構成である場合には、複数の形態で同一ブロックを格納してしまい、格納するデータ容量が増大してしまう、という問題があった。
(1)同一ストレージシステム内で、データの種類によって分割フラグメント数と冗長フラグメント数の比を変更した場合。
(2)ストレージシステムが持つ分散冗長配置機能によって、格納済みのブロックが移動する必要がある場合。
However, when the storage system as described above has the following configuration, there is a problem that the same block is stored in a plurality of forms, and the data capacity to be stored increases.
(1) When the ratio of the number of divided fragments to the number of redundant fragments is changed depending on the type of data in the same storage system.
(2) The stored block needs to be moved by the distributed redundant arrangement function of the storage system.

上記(1)の場合について、図9を参照して詳述する。まず、データAとデータBが格納される場合を考える。このとき、データBに予め設定された冗長度が、データAに設定されている冗長度(例えば、冗長フラグメント数)に対して同等もしくは低い場合は、上述した図4に示すように、データBはデータAのブロックcを共有すればよい。なお、データの冗長度とは、例えば、データの種類や当該データの格納先などに応じて、利用者によって予め設定されたデータの重要度によって特定される。   The case (1) will be described in detail with reference to FIG. First, consider a case where data A and data B are stored. At this time, when the redundancy set in advance for data B is equal to or lower than the redundancy set for data A (for example, the number of redundant fragments), as shown in FIG. May share block c of data A. The data redundancy is specified by the importance of data set in advance by the user in accordance with, for example, the type of data and the storage location of the data.

しかし、データBの方が、データAより高い冗長度で格納される場合には、ブロックcを共有すると冗長度が満たせなくなるため、当該ブロックcは共有できない。従って、図9に示すように、ブロックc’を新たに格納する必要がある。このような場合、同一のデータ内容であるにも関わらず、ブロックcとブロックc’が格納されることになる。   However, when the data B is stored with a higher redundancy than the data A, the block c cannot be shared because the redundancy cannot be satisfied if the block c is shared. Therefore, as shown in FIG. 9, it is necessary to newly store the block c '. In such a case, the block c and the block c ′ are stored despite the same data contents.

上記処理の流れを図10に示す。まず、上述同様に、データ格納が開始されると(ステップS131)、書き込まれたデータをチャンキングして、細かくブロックに分割する(ステップS132)。そして、各ブロックのハッシュ値をそれぞれ計算し(ステップS133)、そのハッシュ値を元に、既に格納されているブロックと比較して、このブロックの格納が必要であるか判断する(ステップS134)。このとき、同一のハッシュ値が存在し、ブロックが既に格納されていると判断した場合には(ステップS134:Yes)、格納済みのブロックの冗長度(重複度)と書き込もうとしているブロックの冗長度を比較する(ステップS135)。そして、書き込もうとしているブロックの冗長度が格納済みの同一ブロックと比べて高い場合は(ステップS136:Yes)、書き込もうとしているブロックを新規に格納する(ステップS137)。そして、上述同様に、格納したブロックのCA(Content Address)を取得する(ステップS138)。   The flow of the above process is shown in FIG. First, as described above, when data storage is started (step S131), the written data is chunked and finely divided into blocks (step S132). Then, the hash value of each block is calculated (step S133), and based on the hash value, it is compared with a block that has already been stored, and it is determined whether this block needs to be stored (step S134). At this time, if it is determined that the same hash value exists and the block is already stored (step S134: Yes), the redundancy (duplication degree) of the stored block and the redundancy of the block to be written are determined. The degrees are compared (step S135). If the redundancy of the block to be written is higher than that of the same stored block (step S136: Yes), the block to be written is newly stored (step S137). Then, similarly to the above, the CA (Content Address) of the stored block is acquired (step S138).

一方で、書き込もうとしているブロックの冗長度が格納済みの同一ブロックと比べて同一か低い場合は(ステップS136:No)、書き込もうとしているブロックは新規に書き込まずに、格納済みの同一ブロックを参照する(ステップS138)。そして、全てのブロックに対して上記処理を行う(ステップS139)。   On the other hand, if the redundancy of the block to be written is the same or lower than that of the same stored block (step S136: No), the block to be written is not newly written, and the stored same block is replaced. Reference is made (step S138). Then, the above processing is performed on all the blocks (step S139).

また、上述した(2)のブロックを移動する場合について、図11及び図12を参照して説明する。まず、データAが格納されているとき、ストレージシステム側の都合(例えば、そのストレージシステムが備える分散冗長配置機能等)によって、ブロックcの格納位置が移動するとする(ステップS141)。しかし、データAはブロックcを参照し続けるため、データAの参照先をブロックcからブロックc’に変更しない限りブロックcは消すことができない。そのため、図11に示すように、同一ブロックにも関わらずブロックcとブロックc’が存在することになる(ステップS142,S143)。   The case of moving the block (2) described above will be described with reference to FIGS. First, when the data A is stored, the storage position of the block c is moved due to the convenience of the storage system (for example, the distributed redundant arrangement function provided in the storage system) (step S141). However, since the data A continues to refer to the block c, the block c cannot be erased unless the reference destination of the data A is changed from the block c to the block c ′. Therefore, as shown in FIG. 11, the block c and the block c ′ exist despite the same block (steps S142 and S143).

以上説明したように、コンテンツアドレスストレージシステムにおいて、同一ブロックが複数格納される場合が生じ、データの格納効率が低くなる、という問題があった。   As described above, in the content address storage system, there is a problem that a plurality of the same blocks are stored, and the data storage efficiency is lowered.

このため、本発明の目的は、上述した課題である、データ格納効率の低下ということを解決するストレージシステムを提供することにある。   Therefore, an object of the present invention is to provide a storage system that solves the above-mentioned problem, ie, a decrease in data storage efficiency.

かかる目的を達成するため本発明の一形態であるストレージ装置は、
記憶対象データを記憶装置に記憶すると共に、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
上記記憶装置に記憶されている上記記憶対象データを、上記記憶装置から削除するデータ削除処理部と、を備える。
そして、上記データ格納制御部は、上記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときに、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する。
さらに、上記データ削除処理部は、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する、
という構成をとる。
In order to achieve such an object, a storage apparatus according to an aspect of the present invention provides:
A data storage control unit for storing the storage target data in the storage device, and generating and storing address data indicating a storage position of the storage target data;
A data deletion processing unit that deletes the storage target data stored in the storage device from the storage device.
When the data storage control unit separately stores other storage target data having the same contents as the storage target data already stored in the storage device in the storage device, the storage target data stored in the storage device Is stored in association with other address data representing the storage position of the other storage target data.
Further, the data deletion processing unit deletes the storage target data stored in the storage position represented by one of the address data among the address data associated with each other from the storage device.
The configuration is as follows.

また、本発明の他の形態であるストレージシステムは、
記憶装置と、
記憶対象データを記憶装置に記憶すると共に、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
上記記憶装置に記憶されている上記記憶対象データを、上記記憶装置から削除するデータ削除処理部と、を備える。
そして、上記データ格納制御部は、上記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときに、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する。
さらに、上記データ削除処理部は、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する、
という構成をとる。
A storage system according to another embodiment of the present invention
A storage device;
A data storage control unit for storing the storage target data in the storage device, and generating and storing address data indicating a storage position of the storage target data;
A data deletion processing unit that deletes the storage target data stored in the storage device from the storage device.
When the data storage control unit separately stores other storage target data having the same contents as the storage target data already stored in the storage device in the storage device, the storage target data stored in the storage device Is stored in association with other address data representing the storage position of the other storage target data.
Further, the data deletion processing unit deletes the storage target data stored in the storage position represented by one of the address data among the address data associated with each other from the storage device.
The configuration is as follows.

また、本発明の他の形態であるプログラムは、
情報処理装置に、
記憶対象データを記憶装置に記憶すると共に、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
上記記憶装置に記憶されている上記記憶対象データを、上記記憶装置から削除するデータ削除処理部と、を実現させるプログラムである。
そして、上記データ格納制御部は、上記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときに、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する。
さらに、上記データ削除処理部は、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する、
という構成をとる。
Moreover, the program which is the other form of this invention is:
In the information processing device,
A data storage control unit for storing the storage target data in the storage device, and generating and storing address data indicating a storage position of the storage target data;
A data deletion processing unit that deletes the storage target data stored in the storage device from the storage device.
When the data storage control unit separately stores other storage target data having the same contents as the storage target data already stored in the storage device in the storage device, the storage target data stored in the storage device Is stored in association with other address data representing the storage position of the other storage target data.
Further, the data deletion processing unit deletes the storage target data stored in the storage position represented by one of the address data among the address data associated with each other from the storage device.
The configuration is as follows.

また、本発明の他の形態であるデータ処理方法は、
記憶対象データを記憶装置に記憶し、上記記憶対象データの格納位置を表すアドレスデータを生成して記憶すると共に、上記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを上記記憶装置に別途格納するときには、上記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、上記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
上記記憶装置に記憶されている上記記憶対象データを上記記憶装置から削除するときに、相互に関連付けられている上記アドレスデータのうち、一方の上記アドレスデータにて表される格納位置に格納されている上記記憶対象データを上記記憶装置から削除する、
という構成をとる。
In addition, a data processing method according to another aspect of the present invention includes:
The storage target data is stored in the storage device, and address data representing the storage position of the storage target data is generated and stored, and other storage target data having the same contents as the storage target data already stored in the storage device Is stored separately in the storage device, the address data indicating the storage position of the storage target data already stored is associated with other address data indicating the storage position of the other storage target data, and stored.
When the storage object data stored in the storage device is deleted from the storage device, it is stored in the storage location represented by one of the address data among the address data associated with each other. Deleting the storage target data from the storage device,
The configuration is as follows.

本発明は、以上のように構成されることにより、記憶されるデータの信頼性を維持しつつ、データ格納効率の向上を図ることができる。   With the configuration as described above, the present invention can improve data storage efficiency while maintaining the reliability of stored data.

本発明に関連するストレージシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the storage system relevant to this invention. 図1に開示したストレージシステムにおけるデータ格納時の動作を示すフローチャートである。2 is a flowchart showing an operation at the time of data storage in the storage system disclosed in FIG. 1. 図1に開示したストレージシステムにおけるデータ格納時の動作を示すフローチャートである。2 is a flowchart showing an operation at the time of data storage in the storage system disclosed in FIG. 1. 図1に開示したストレージシステムにおけるデータ格納時の様子を示す説明図である。It is explanatory drawing which shows the mode at the time of the data storage in the storage system disclosed in FIG. コンテンツアドレスのデータ構造を示す図である。It is a figure which shows the data structure of a content address. 図1に開示したストレージシステムに記憶されるCAリストのデータ構造を示す図である。It is a figure which shows the data structure of the CA list | wrist memorize | stored in the storage system disclosed in FIG. 図1に開示したストレージシステムにおけるデータ削除時の動作を示すフローチャートである。3 is a flowchart showing an operation at the time of data deletion in the storage system disclosed in FIG. 1. 図1に開示したストレージシステムにおけるデータ削除時の様子を示す説明図である。FIG. 2 is an explanatory diagram showing a state when data is deleted in the storage system disclosed in FIG. 1. 図1に開示したストレージシステムにおけるデータ格納時の様子を示す説明図である。It is explanatory drawing which shows the mode at the time of the data storage in the storage system disclosed in FIG. 図1に開示したストレージシステムにおけるデータ格納時の動作を示すフローチャートである。2 is a flowchart showing an operation at the time of data storage in the storage system disclosed in FIG. 1. 図1に開示したストレージシステムにおけるデータ移動時の様子を示す説明図である。FIG. 2 is an explanatory diagram showing a state during data movement in the storage system disclosed in FIG. 1. 図1に開示したストレージシステムにおけるデータ移動時の動作を示すフローチャートである。2 is a flowchart showing an operation at the time of data movement in the storage system disclosed in FIG. 1. 本発明の実施形態1におけるストレージシステムの構成を示すブロック図である。1 is a block diagram showing a configuration of a storage system in Embodiment 1 of the present invention. 図13に開示したストレージシステムに記憶された格納情報のデータ構造を示す図である。It is a figure which shows the data structure of the storage information memorize | stored in the storage system disclosed in FIG. 図13に開示したストレージシステムに記憶されるCAリストのデータ構造を示す図である。It is a figure which shows the data structure of the CA list | wrist memorize | stored in the storage system disclosed in FIG. 図13に開示したストレージシステムにおけるデータ格納時の動作を示すフローチャートである。14 is a flowchart showing an operation at the time of data storage in the storage system disclosed in FIG. 図13に開示したストレージシステムにおけるデータ格納時の様子を示す説明図である。It is explanatory drawing which shows the mode at the time of the data storage in the storage system disclosed in FIG. 図13に開示したストレージシステムにおいて、図17に示すようにデータを格納した時における格納情報のデータ内容を示す図である。FIG. 18 is a diagram showing data contents of stored information when data is stored as shown in FIG. 17 in the storage system disclosed in FIG. 13. 図13に開示したストレージシステムにおいて、図17に示すようにデータを格納した時におけるCAリストのデータ内容を示す図である。FIG. 18 is a diagram showing data contents of a CA list when data is stored as shown in FIG. 17 in the storage system disclosed in FIG. 13. 図13に開示したストレージシステムにおけるデータ移動時の動作を示すフローチャートである。14 is a flowchart showing an operation at the time of data movement in the storage system disclosed in FIG. 図13に開示したストレージシステムにおけるデータ移動時の様子を示す説明図である。It is explanatory drawing which shows the mode at the time of data movement in the storage system disclosed in FIG. 図13に開示したストレージシステムにおけるデータ削除時の動作を示すフローチャートである。14 is a flowchart showing an operation at the time of data deletion in the storage system disclosed in FIG. 図13に開示したストレージシステムにおけるデータ削除時のCAリストのデータ内容を示す説明図である。It is explanatory drawing which shows the data content of the CA list at the time of the data deletion in the storage system disclosed in FIG. 図13に開示したストレージシステムにおけるデータ削除時のCAリストのデータ内容を示す説明図である。It is explanatory drawing which shows the data content of the CA list at the time of the data deletion in the storage system disclosed in FIG. 図13に開示したストレージシステムにおけるデータ削除時の格納情報のデータ内容を示す説明図である。It is explanatory drawing which shows the data content of the storage information at the time of data deletion in the storage system disclosed in FIG. 図13に開示したストレージシステムにおけるデータ移動時の様子を示す説明図である。It is explanatory drawing which shows the mode at the time of data movement in the storage system disclosed in FIG. 本発明における付記1におけるストレージシステムの構成の概略を示すブロック図である。It is a block diagram which shows the outline of a structure of the storage system in attachment 1 in this invention.

<実施形態1>
本発明の第1の実施形態を、図13乃至図26を参照して説明する。図13は、ストレージシステムの構成を示すブロック図である。図14乃至図15は、ストレージシステムに格納されるデータの構造を示す図である。図16乃至図26は、ストレージシステムの動作を示す説明図である。
<Embodiment 1>
A first embodiment of the present invention will be described with reference to FIGS. FIG. 13 is a block diagram showing the configuration of the storage system. 14 to 15 are diagrams showing the structure of data stored in the storage system. 16 to 26 are explanatory diagrams showing the operation of the storage system.

[構成]
本発明におけるストレージシステム1は、コンテンツアドレスストレージシステムであり、基本的には、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定する、というものである。
[Constitution]
The storage system 1 according to the present invention is a content address storage system. Basically, data is distributed and stored in a plurality of storage devices, and a specific content address specified according to the content of the data is used. The storage location where the data is stored is specified.

そして、図13に示すように、本実施形態におけるストレージシステム1は、演算装置と記憶装置とを備えたサーバコンピュータにて構成されている。また、ストレージシステム1は、装備された記憶装置に、複数のデータ格納部10を有すると共に、コンテンツアドレスリスト(CAリスト)20と格納情報30とを記憶している。また、ストレージシステム1は、装備された演算装置にプログラムが組み込まれることで構築された、重複排除機能部11と、分散冗長配置機能部12と、データ移動機能部13と、データ削除機能部14と、を備えている。以下、これら各構成について詳述する。   And as shown in FIG. 13, the storage system 1 in this embodiment is comprised with the server computer provided with the arithmetic unit and the memory | storage device. In addition, the storage system 1 has a plurality of data storage units 10 in an equipped storage device, and stores a content address list (CA list) 20 and storage information 30. In addition, the storage system 1 is constructed by incorporating a program into the equipped arithmetic device, the deduplication function unit 11, the distributed redundant arrangement function unit 12, the data movement function unit 13, and the data deletion function unit 14. And. Hereinafter, each of these components will be described in detail.

なお、本発明におけるストレージシステムは、必ずしも図13に示す構成に限定されない。ストレージシステムは、複数台のコンピュータが接続されて構成されていてもよく、あるいは、単独のコンピュータにて構成されていてもよい。また、データ格納部10が形成されていたり、CAリスト20や格納情報30が記憶されている記憶装置は、外部に装備されていてもよい。   The storage system in the present invention is not necessarily limited to the configuration shown in FIG. The storage system may be configured by connecting a plurality of computers, or may be configured by a single computer. Further, the storage device in which the data storage unit 10 is formed or the CA list 20 or the storage information 30 is stored may be externally equipped.

上記重複排除機能部11と分散冗長配置機能部12は、協働して、記憶対象となるデータを複数のデータ格納部10に分散して格納する機能(データ格納制御部)を有する。例えば、記憶対象となるデータをチャンキングして、細かくブロックに分割し、各ブロックのハッシュ値をそれぞれ計算する。そして、そのハッシュ値を元に、既に格納されているブロックと比較して、同一のハッシュ値が存在している場合には、かかるブロックが重複していると判断し、当該重複しているブロックは格納しない。この場合には、重複している既に格納されているブロックのコンテンツアドレスCA(Content Address)を取得して、かかるCAの格納位置を参照することで、実ブロックにアクセス可能となる。   The deduplication function unit 11 and the distributed redundant arrangement function unit 12 cooperate to have a function (data storage control unit) for distributing and storing data to be stored in a plurality of data storage units 10. For example, the data to be stored is chunked and divided into small blocks, and the hash value of each block is calculated. Then, based on the hash value, when the same hash value exists as compared with the already stored block, it is determined that the block is duplicated, and the duplicate block Is not stored. In this case, an actual block can be accessed by acquiring a content address CA (Content Address) of a duplicated block that has already been stored and referring to the storage location of the CA.

一方で、同一のハッシュ値が存在していない場合には、かかるブロックは重複していないと判断し、当該重複していないユニークなブロックを新規に格納するそして、ブロックを格納すると、当該ブロックのコンテンツアドレスCA(Content Address)が得られ、このCAを元に実ブロックにアクセス可能となる。なお、CAは、ブロックのハッシュ値と論理格納位置から構成される。   On the other hand, if the same hash value does not exist, it is determined that such a block is not duplicated, and the unique block that is not duplicated is newly stored. A content address CA (Content Address) is obtained, and an actual block can be accessed based on this CA. The CA is composed of a hash value of a block and a logical storage position.

そして、上記重複排除機能部11及び分散冗長配置機能部12では、上述したようにデータを格納する際に、格納した各データを識別するための識別情報とCAとを対応付けて格納情報30に記憶する。図14に格納情報30の一例を示す。この図に示すように、例えば、データ1を3つのブロックに分割した場合には、各ブロックを特定する識別情報と、かかる各ブロックのCAとを関連付けて記憶する。これにより、データ1を読み出す際には、当該データ1を分割したブロックの識別情報に対応付けられているCAが参照する格納位置から実ブロックを読み出すことで、データ1を読み出すことができる。   In the deduplication function unit 11 and the distributed redundant arrangement function unit 12, when storing data as described above, the identification information for identifying each stored data and the CA are associated with each other in the storage information 30. Remember. FIG. 14 shows an example of the stored information 30. As shown in this figure, for example, when data 1 is divided into three blocks, identification information for identifying each block and the CA of each block are stored in association with each other. Thus, when data 1 is read, data 1 can be read by reading the real block from the storage position referenced by the CA associated with the identification information of the block into which the data 1 is divided.

また、本実施形態における上記重複排除機能部11及び分散冗長配置機能部12では、上述したようにデータを格納する際に、各ブロックの格納位置を表すCAを、別途、CAリスト20に記憶する機能を有する。具体的にCAリスト20は、図15に示すように、各CAに関連付けて、「updated CA」欄と、「flag」欄が設けられている。なお、各欄に記憶されるデータについては後述する。   Further, in the deduplication function unit 11 and the distributed redundant arrangement function unit 12 in the present embodiment, when storing data as described above, the CA representing the storage position of each block is separately stored in the CA list 20. It has a function. Specifically, as shown in FIG. 15, the CA list 20 is provided with an “updated CA” field and a “flag” field in association with each CA. The data stored in each column will be described later.

さらに、本実施形態における上記重複排除機能部11及び分散冗長配置機能部12では、上述したようにデータを格納する際に、既に同一ブロックがデータ格納部10に格納されている場合であっても、当該同一のデータ内容のブロックを、別途、データ格納部10に格納する場合がある。例えば、上述したように、既に記憶されているブロックに設定されている冗長度(重要度)よりも、新たに記憶する同一内容のブロックに予め設定されている冗長度(重要度)の方が高い場合には、当該新たに記憶するブロックを、別途、データ格納部10に格納する。このとき、CAリスト20内において、新たに記憶したブロックのCAを、同一内容の既に記憶されているブロックのCAに関連付けられている「updated CA」欄に記憶する。   Furthermore, even if the same block is already stored in the data storage unit 10 when the data is stored in the deduplication function unit 11 and the distributed redundancy arrangement function unit 12 in the present embodiment as described above. The block having the same data content may be separately stored in the data storage unit 10. For example, as described above, the redundancy (importance) set in advance for a block having the same content to be newly stored is greater than the redundancy (importance) set for an already stored block. If it is higher, the newly stored block is stored in the data storage unit 10 separately. At this time, in the CA list 20, the newly stored CA of the block is stored in the “updated CA” column associated with the CA of the already stored block having the same contents.

なお、上述したデータの冗長度(重要度)とは、例えば、データをフラグメント化するときに付加された冗長フラグメントの数に応じた値であり、データの種類や当該データの格納先などに応じて、利用者によって予め設定された値となる。但し、データの重要度とは、必ずしもデータの冗長度によって決定されることに限定されない。   The data redundancy (importance) described above is a value corresponding to the number of redundant fragments added when data is fragmented, for example, depending on the type of data and the storage location of the data. Thus, the value is preset by the user. However, the importance of data is not necessarily limited to being determined by the redundancy of data.

また、上記データ移動機能部13は、既にデータ格納部10に格納されているデータを、他の格納位置に移動する機能(データ格納制御部)を有する。そして、データ移動機能部13がブロックを移動する際には、移動元のブロックを残しつつ、移動先に別途、同一のデータ内容のブロックを複製して格納する。このとき、データ移動機能部13は、CAリスト20内において、移動先の新たに記憶したブロックのCAを、同一内容の既に記憶されている移動元のブロックのCAに関連付けられている「updated CA」欄に記憶する。   The data movement function unit 13 has a function (data storage control unit) for moving data already stored in the data storage unit 10 to another storage position. When the data movement function unit 13 moves the block, the block having the same data content is separately copied and stored in the movement destination while leaving the movement source block. At this time, in the CA list 20, the data movement function unit 13 replaces the CA of the newly stored block of the movement destination with the “updated CA” associated with the CA of the movement source block already stored with the same contents. In the "" column.

また、データ削除機能部14(データ削除処理部)は、データ格納部10に格納されているブロックを削除する。特に、本実施形態においては、上述したように、同一のデータ内容のブロックが存在している場合に、このうち最も有効なブロックのみを残し、1つは削除して、データの格納効率を向上させる。   The data deletion function unit 14 (data deletion processing unit) deletes the block stored in the data storage unit 10. In particular, in the present embodiment, as described above, when there are blocks having the same data contents, only the most effective block is left, and one is deleted to improve data storage efficiency. Let

具体的に、データ削除機能部14は、データ削除時に、CAリスト20内から削除対象とはなっていない残されるブロックのCA(CAa)に関連付いている「update CA」欄を読み取る。そして、「update CA」欄にCA(CAb)の記載がある場合には、格納情報30内において、残されるブロックの識別情報に対応付いているCA(CAa)を、「update CA」欄のCA(CAb)に書き換える。これにより、残されるブロックの参照先は、「update CA」欄に記載されていたCA(CAb)に変更され、かかるCAが表す格納位置に格納された実ブロックが参照されることとなる。従って、残されるはずのブロックのCA(CAa)にて表される格納位置に格納された実ブロックは、どのブロックからも参照されていない状態となるため、かかる実ブロックをデータ格納部10から削除することができる。上記データ削除機能部14の詳細な機能については、以下の動作説明時に説明する。   Specifically, at the time of data deletion, the data deletion function unit 14 reads the “update CA” column associated with the CA (CAa) of the remaining block that is not the deletion target from the CA list 20. If CA (CAb) is described in the “update CA” column, the CA (CAa) associated with the identification information of the remaining block in the stored information 30 is replaced with the CA in the “update CA” column. Rewrite to (CAb). As a result, the reference destination of the remaining block is changed to the CA (CAb) described in the “update CA” column, and the actual block stored in the storage position represented by the CA is referred to. Therefore, since the real block stored in the storage position represented by CA (CAa) of the block that should remain is not referenced by any block, the real block is deleted from the data storage unit 10. can do. Detailed functions of the data deletion function unit 14 will be described when the following operation is described.

なお、上述したデータ削除機能部14では、複数格納されている同一ブロックのうち一方を削除するよう作動するものであるが、同一ブロックが複数格納される場合とは、上述した2パターンに限定されるものではない。つまり、データ削除機能部14は、冗長度(重要度)が異なるブロックが格納される場合やブロックが移動される場合に複数格納された同一ブロックに対して作動することに限定されず、いかなる理由により複数格納された同一ブロックに対しても作動する。   The above-described data deletion function unit 14 operates to delete one of the same stored blocks, but the case where a plurality of the same blocks are stored is limited to the above two patterns. It is not something. In other words, the data deletion function unit 14 is not limited to operating on the same stored block when a block having different redundancy (importance) is stored or when the block is moved, for any reason. This also operates on the same block stored in plural.

[動作]
次に、上述したストレージシステム1の動作を、図16乃至図26を参照して説明する。まずはじめに、データAとデータBとを格納するときの動作を、図16のフローチャート、及び、図17乃至図19を参照して説明する。なお、ここでは、データAとデータBとが格納される際の一例を説明する。
[Operation]
Next, the operation of the above-described storage system 1 will be described with reference to FIGS. First, the operation for storing data A and data B will be described with reference to the flowchart of FIG. 16 and FIGS. 17 to 19. Here, an example when data A and data B are stored will be described.

まず、データAのデータ格納が開始されたとする(ステップS1)。すると、図17に示すように、書き込まれたデータAをチャンキングして、細かくブロックa,b,cに分割する(ステップS2)。そして、各ブロックのハッシュ値をそれぞれ計算し(ステップS3)、そのハッシュ値を元に、既に格納されているブロックと比較して、このブロックの格納が必要であるか判断する(ステップS4)。なお、ステップS4からステップS6までの処理を、全てのブロックa,b,cに対して行う(ステップS7)。   First, it is assumed that data storage of data A is started (step S1). Then, as shown in FIG. 17, the written data A is chunked and finely divided into blocks a, b, and c (step S2). Then, the hash value of each block is calculated (step S3), and based on the hash value, it is compared with a block that has already been stored, and it is determined whether this block needs to be stored (step S4). In addition, the process from step S4 to step S6 is performed with respect to all the blocks a, b, and c (step S7).

このとき、データAを構成するブロックa,b,cと同一のハッシュ値が存在していない場合には、かかるブロックは重複していないと判断し(ステップS4:No)、当該重複していないユニークなブロックを新規に格納する(ステップS5)。そして、ブロックを格納すると、当該ブロックのCA(Content Address)が得られ(ステップS6)、このCAを、各ブロックの識別情報に対応付けて、図18に示すように、格納情報30内に記憶する。ここでは、ブロックaにCA1、ブロックbにCA2、ブロックcにCA3をそれぞれ対応付けて記憶する。さらに、各CAは、図19に示すように、CAリスト内に記憶され、各CAには「updated CA」欄と「flag」欄とが関連付けられる。   At this time, if the same hash value as that of the blocks a, b, and c constituting the data A does not exist, it is determined that the blocks do not overlap (No in step S4), and the blocks do not overlap. A unique block is newly stored (step S5). When the block is stored, the CA (Content Address) of the block is obtained (step S6), and this CA is stored in the storage information 30 as shown in FIG. 18 in association with the identification information of each block. To do. Here, CA1 is stored in block a, CA2 in block b, and CA3 in block c, respectively. Further, as shown in FIG. 19, each CA is stored in a CA list, and an “updated CA” field and a “flag” field are associated with each CA.

続いて、データBのデータ格納が開始されたとする(ステップS1)。すると、図17に示すように、書き込まれたデータBをチャンキングして、細かくブロックc,d,eに分割する(ステップS2)。そして、各ブロックのハッシュ値をそれぞれ計算し(ステップS3)、そのハッシュ値を元に、既に格納されているブロックと比較して、このブロックの格納が必要であるか判断する(ステップS4)。   Subsequently, it is assumed that data storage of data B is started (step S1). Then, as shown in FIG. 17, the written data B is chunked and finely divided into blocks c, d, and e (step S2). Then, the hash value of each block is calculated (step S3), and based on the hash value, it is compared with a block that has already been stored, and it is determined whether this block needs to be stored (step S4).

このとき、データBのブロックc’のハッシュ値が存在しており、既に格納されているデータAのブロックcと同一のデータ内容であるとすると、かかるブロックが重複していると判断する(ステップS4:Yes)。この場合には、重複するブロックの冗長度(重要度)を比較する(ステップS8)。例えば、既に記憶されているデータにおける冗長度は、格納情報30内にデータやブロックに関連付けられて記憶されており、新たに記憶するデータにおける冗長度は、データの種類や格納先に応じて予め設定されている。そして、データBのブロックc’の冗長度が、既に格納されているデータAのブロックcの冗長度よりも高い場合には(ステップS9:Yes)、ブロックcとブロックc’とは同一のデータ内容ではあるが、図17に示すように、ブロックc’を別途記憶する(ステップS10)。   At this time, if the hash value of the block c ′ of the data B exists and has the same data content as the block c of the data A that has already been stored, it is determined that such a block is duplicated (step S4: Yes). In this case, the redundancy (importance) of the overlapping blocks is compared (step S8). For example, the redundancy in the already stored data is stored in the storage information 30 in association with the data or block, and the redundancy in the newly stored data is determined in advance according to the type of data and the storage destination. Is set. If the redundancy of the block c ′ of the data B is higher than the redundancy of the block c of the already stored data A (step S9: Yes), the block c and the block c ′ are the same data. Although it is the contents, the block c ′ is separately stored as shown in FIG. 17 (step S10).

そして、上述同様に、格納したブロックのCAを取得して(ステップS11)、このCAを、ブロックの識別情報に対応付けて、図18に示すように、格納情報30内に記憶する。ここでは、ブロックc’にCA3'を対応付ける。そして、CA3'は、図19に示すようにCAリスト20内に記憶され、このCAには「updated CA」欄と「flag」欄とが設けられる。さらに、このとき、CAリスト20には、図19に示すように、上記新たに記憶したブロックc’と同一内容のブロックcのCAであるCA1の「updated CA」欄に、ブロックc’のCAであるCA3'が記憶される(ステップS12)。   Then, as described above, the CA of the stored block is acquired (step S11), and this CA is associated with the block identification information and stored in the storage information 30 as shown in FIG. Here, CA3 ′ is associated with the block c ′. CA3 ′ is stored in the CA list 20 as shown in FIG. 19, and this CA is provided with an “updated CA” field and a “flag” field. Further, at this time, as shown in FIG. 19, the CA list 20 includes a CA of the block c ′ in the “updated CA” column of the CA 1 which is the CA of the block c having the same contents as the newly stored block c ′. Is stored (step S12).

なお、新たに書き込もうとしているブロックの冗長度が格納済みの同一ブロックと比べて同一か低い場合は(ステップS9:No)、書き込もうとしているブロックを新規に書き込まずに、格納済みの同一ブロックのCAを参照する(ステップS6)。   If the redundancy of the block to be newly written is the same or lower than that of the stored same block (step S9: No), the block to be written is not newly written and the same stored block The CA is referred to (step S6).

そして、データBを構成する他のブロックd,eについても上述同様の処理を行う(ステップS7:No)。この場合には、同一ブロックが記憶されていないため(ステップS4:No)、そのまま格納する(ステップS5)。ブロックを格納すると、当該ブロックのCAが得られ(ステップS6)、このCAを、各ブロックの識別情報に対応付けて、図18に示すように、格納情報30内に記憶する。ここでは、ブロックdにCA4、ブロックeにCA5をそれぞれ対応付ける。さらに、各CAは、図19に示すように、CAリスト内に記憶され、各CAには「updated CA」欄と「flag」欄とが設けられる。   Then, the same processing as described above is performed for the other blocks d and e constituting the data B (step S7: No). In this case, since the same block is not stored (step S4: No), it is stored as it is (step S5). When the block is stored, the CA of the block is obtained (step S6), and this CA is associated with the identification information of each block and stored in the storage information 30 as shown in FIG. Here, CA4 is associated with block d, and CA5 is associated with block e. Further, as shown in FIG. 19, each CA is stored in a CA list, and each CA is provided with an “updated CA” field and a “flag” field.

以上により、異なる冗長度でデータAとデータBとを格納すると、図17に示すように、ブロックa,b,c,c’,d,eがデータ格納部10に格納され、各ブロックのCAは、それぞれCA1,CA2,CA3,CA3’,CA4,CA5となる。そして、格納情報30では、図18に示すように、各ブロックに対して各CAが対応付けられ、CAリスト20では、図19に示すように、CA3の「update CA」欄にCA3'が記載される。   As described above, when data A and data B are stored with different redundancy, blocks a, b, c, c ′, d, and e are stored in the data storage unit 10 as shown in FIG. Are CA1, CA2, CA3, CA3 ′, CA4, and CA5, respectively. In the stored information 30, as shown in FIG. 18, each CA is associated with each block, and in the CA list 20, CA3 ′ is described in the “update CA” column of CA3 as shown in FIG. Is done.

次に、データAのブロックcを移動したときの動作を、図20のフローチャート、及び、図21を参照して説明する。まず、データAが格納されているとき、ストレージシステム側の都合によって、ブロックcの格納位置が移動するとする(ステップS21)。このとき、データAはブロックcを参照し続けるため、データAの参照先をブロックcからブロックc’に変更しない限りブロックcは消すことができない。そのため、図21に示すように、同一ブロックにも関わらずブロックcのコピーを、他の格納位置にブロックc’として格納する(ステップS22)。   Next, the operation when the block c of data A is moved will be described with reference to the flowchart of FIG. 20 and FIG. First, when the data A is stored, the storage position of the block c is moved due to the convenience of the storage system (step S21). At this time, since the data A continues to refer to the block c, the block c cannot be erased unless the reference destination of the data A is changed from the block c to the block c ′. Therefore, as shown in FIG. 21, a copy of the block c is stored as a block c 'in another storage location in spite of the same block (step S22).

その後、新たに格納したブロックc’のCAを取得し(ステップS23)、CAリスト20の移動元であるブロックcのCA3の「updated CA」欄を確認する(ステップS24)。そして、「updated CA」欄に別のCAが存在すれば、なにもしない(ステップS24:Yes)。一方、「update CA」欄になにも情報が存在しない場合には(ステップS24:No)、移動先のブロックc’のCA3'を「updated CA」欄に記載する(ステップS25)。   Thereafter, the CA of the newly stored block c 'is acquired (step S23), and the "updated CA" column of CA3 of the block c that is the movement source in the CA list 20 is confirmed (step S24). If another CA exists in the “updated CA” column, nothing is done (step S24: Yes). On the other hand, if no information exists in the “update CA” column (step S24: No), the CA3 ′ of the block c ′ to be moved is described in the “updated CA” column (step S25).

なお、データ移動時に「updated CA」を上書きしないこととしているのは、上書きすると高い冗長度のCA情報を消去してしまうことがあるためである。上書きしないことで、同じブロックが数回移動しても、領域解放後に残るブロックは最初に移動されたブロックのみとなる。高い冗長度で格納された場合は上書きされるので、同一ブロックに対しては最も高い重複度で格納されたブロックのみが残る。   The reason why “updated CA” is not overwritten at the time of data movement is that, if overwritten, CA information with high redundancy may be deleted. By not overwriting, even if the same block is moved several times, the only block remaining after the area release is the first moved block. When the data is stored with a high redundancy, it is overwritten, so that only the block stored with the highest redundancy remains for the same block.

次に、データを削除するときの動作を、図22のフローチャート、及び、図23乃至図26を参照して説明する。ここでは、上述したように、図17に示すようデータAとデータBを格納した状態から、データBを削除する場合を説明する。   Next, the operation when deleting data will be described with reference to the flowchart of FIG. 22 and FIGS. Here, as described above, a case will be described in which data B is deleted from the state where data A and data B are stored as shown in FIG.

まず、CAリスト20内の全てのCAに関連付けられたフラグを、0(初期値)に初期化する(ステップS31)。これにより、図23に示すように、CA1,CA2,CA3,CA3’,CA4,CA5のフラグは、全て0となる。   First, flags associated with all CAs in the CA list 20 are initialized to 0 (initial value) (step S31). As a result, as shown in FIG. 23, the flags CA1, CA2, CA3, CA3 ', CA4, and CA5 are all 0.

その後、現時点で格納されているデータ、つまり、削除される予定のデータBとは異なるデータAを読み込み(ステップS32)、そのデータのCA(CAa)を取得する(ステップS33)。ここでは、図18に示す格納情報30から、データAの各ブロックa,b,cのCAを、1つずつ取得する。   Thereafter, the data stored at the present time, that is, the data A different from the data B to be deleted is read (step S32), and the CA (CAa) of the data is acquired (step S33). Here, the CA of each block a, b, c of data A is acquired one by one from the storage information 30 shown in FIG.

そして、CAリスト20において、取得したCA(CAa)の「update CA」欄に他のCAの記載があるかどうかを確認する(ステップS34)。このとき、取得したCA(CAa)の「update CA」欄に他のCA(CAb)の記載がある場合には(ステップS34:Yes)、格納情報30において取得したCA(CAa)が対応付いているブロックの識別情報に、「update CA」欄の他のCA(CAb)を対応付けるよう変更する(ステップS35)。つまり、取得したCA(CAa)を参照しているブロックの参照先を、「update CA」欄に記憶されていたCA(CAa)から他のCA(CAb)に変更する。   Then, in the CA list 20, it is confirmed whether or not another CA is described in the “update CA” column of the acquired CA (CAa) (step S34). At this time, if another CA (CAb) is described in the “update CA” column of the acquired CA (CAa) (step S34: Yes), the CA (CAa) acquired in the storage information 30 is associated with the CA (CAa). The identification information of the existing block is changed so as to be associated with another CA (CAb) in the “update CA” field (step S35). That is, the reference destination of the block referring to the acquired CA (CAa) is changed from the CA (CAa) stored in the “update CA” column to another CA (CAb).

そして、さらに、CAリスト20において、変更した他のCA(CAb)の「flag」を調べ、その値が0(初期値)であれば(ステップS36:フラグ=0)、当該「flag」の値を1(他の値)に変更する(ステップS38)。一方で、上述したように格納情報30において変更されたCA(CAa)のCAリスト20における「flag」の値は、0(初期値)のままである。なお、変更した他のCA(CAb)の「flag」の値が1であれば(ステップS36:フラグ=1)、当該「flag」の値は1のままである。   Further, in the CA list 20, “flag” of another changed CA (CAb) is checked, and if the value is 0 (initial value) (step S36: flag = 0), the value of the “flag” Is changed to 1 (another value) (step S38). On the other hand, as described above, the value of “flag” in the CA list 20 of the CA (CAa) changed in the storage information 30 remains 0 (initial value). If the value of “flag” of another changed CA (CAb) is 1 (step S36: flag = 1), the value of “flag” remains at 1.

具体的に、例えば、データAのブロックcのCA3を取得した場合には、図23に示すように、CAリスト20において取得したCA3の「update CA」にCA3'の記載があるため、図25に示すように、格納情報30内においてCA3が参照するブロックcの参照先を、CA3からCA3'に変更する。つまり、図26に示すように、データAのブロックcの実ブロックが格納されている格納位置を表すCAを、CA3'に変更する。そして、さらに、図24に示すように、CAリスト20において、CA3'の「flag」の値を0から1に変更する。なお、CA3の「flag」の値は0のままである。   Specifically, for example, when CA3 of block c of data A is acquired, as shown in FIG. 23, since “update CA” of CA3 acquired in CA list 20 has a description of CA3 ′, FIG. As shown in FIG. 5, the reference destination of the block c referred to by CA3 in the storage information 30 is changed from CA3 to CA3 ′. That is, as shown in FIG. 26, CA representing the storage position where the real block of block A of data A is stored is changed to CA3 ′. Further, as shown in FIG. 24, in the CA list 20, the value of “flag” of CA3 ′ is changed from 0 to 1. Note that the value of “flag” in CA3 remains 0.

そして、上述した処理を、現時点で格納されているデータAの他のブロックに対しても行う(ステップS37:No)。ここでは、データAの各ブロックa,bのCAを取得し(ステップS33)、取得したCAの「update CA」欄に他のCAの記載があるかどうかを確認する(ステップS34)。ブロックa,bについては、取得したCA(CA1,CA2)の「update CA」欄に他のCAの記載はないため(ステップS34:No)、単にそのCA(CA1,CA2)の「flag」を確認し、0(初期値)であれば(ステップS36:フラグ=0)、図24に示すように、その値を1に変更する(ステップS38)。   And the process mentioned above is performed also with respect to the other block of the data A currently stored (step S37: No). Here, the CA of each block a and b of the data A is acquired (step S33), and it is confirmed whether or not another CA is described in the “update CA” column of the acquired CA (step S34). For blocks a and b, since there is no description of other CAs in the “update CA” column of the acquired CA (CA1, CA2) (step S34: No), the “flag” of the CA (CA1, CA2) is simply set. If it is confirmed that the value is 0 (initial value) (step S36: flag = 0), the value is changed to 1 as shown in FIG. 24 (step S38).

そして、削除対象ではない全てのデータのブロックのCAに対する上記処理が完了したのちに(ステップS37:Yes)、CAリスト20を調べ、「flag」が0(初期値)であるCAに対応付いているブロックを削除する(ステップS39)。ここでは、図24に示すように、CA3,CA4,CA5の「flag」が0であるため、かかるCA3,CA4,CA5にて参照される格納位置のブロックc,d,eを削除する。   After the above processing is completed for the CAs of all the data blocks that are not to be deleted (step S37: Yes), the CA list 20 is examined and associated with the CA whose "flag" is 0 (initial value). The deleted block is deleted (step S39). Here, as shown in FIG. 24, since the “flag” of CA3, CA4, and CA5 is 0, the blocks c, d, and e at the storage location referred to by CA3, CA4, and CA5 are deleted.

以上により、図26に示すように、同一ブロックにも関わらず複数格納されていたブロックc,c’は、冗長度の高い最も有効なブロックc’のみを残しつつ、冗長度の低いブロックcを削除することができる。このとき、削除したブロックcに対するデータAの参照は、ブロックc’に変更されている。従って、データの信頼性を維持しつつ、同一内容の記憶対象データの重複記憶を抑制して、データ格納効率の向上を図ることができる。   Thus, as shown in FIG. 26, a plurality of blocks c and c ′ stored in spite of the same block are replaced with a block c with low redundancy while leaving only the most effective block c ′ with high redundancy. Can be deleted. At this time, the reference of the data A to the deleted block c is changed to the block c ′. Accordingly, it is possible to improve the data storage efficiency by suppressing the duplicate storage of the storage target data having the same contents while maintaining the reliability of the data.

なお、上述したデータ削除処理は、冗長度が異なる同一ブロックが格納された場合に、一方のブロックを削除する場合のみならず、ブロックが移動して同一ブロックが複数格納された場合や、その他の理由により同一ブロックが複数格納された場合にも有効である。   Note that the above-described data deletion processing is not only performed when one block is deleted when the same block with different redundancy is stored, but also when the block is moved and a plurality of the same block is stored, This is also effective when a plurality of the same blocks are stored for the reason.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージ装置50の構成の概略について図27を参照して説明する。また、本発明における、ストレージシステム、プログラム、データ処理方法の構成について説明する。但し、本発明は、以下の構成に限定されない。
<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 apparatus 50 according to the present invention will be described below with reference to FIG. The configuration of the storage system, program, and data processing method in the present invention will be described. However, the present invention is not limited to the following configuration.

(付記1)
記憶対象データを記憶装置60に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部51と、
前記記憶装置60に記憶されている前記記憶対象データを、前記記憶装置60から削除するデータ削除処理部52と、を備え、
前記データ格納制御部51は、前記記憶装置60に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置60に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部52は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置60から削除する、
ストレージ装置。
(Appendix 1)
A data storage control unit 51 for storing the storage target data in the storage device 60 and generating and storing address data representing the storage position of the storage target data;
A data deletion processing unit 52 that deletes the storage target data stored in the storage device 60 from the storage device 60;
When the data storage control unit 51 separately stores in the storage device 60 other storage target data having the same content as the storage target data already stored in the storage device 60, the storage target already stored Stores the address data representing the storage location of the data in association with other address data representing the storage location of the other storage target data,
The data deletion processing unit 52 deletes the storage target data stored in the storage position represented by one of the address data among the address data associated with each other from the storage device 60.
Storage device.

(付記2)
付記1に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
(Appendix 2)
The storage device according to attachment 1, wherein
The data storage control unit stores address data representing a storage position of the storage target data in association with identification information for identifying the storage target data;
The data deletion processing unit corresponds to the identification information associated with the one address data among the address data associated with each other, and the other address data instead of the one address data. And deleting the storage target data stored in the storage position represented by the one address data from the storage device,
Storage device.

上記発明によると、まず、ストレージ装置では、記憶対象データを記憶装置に記憶する際に、当該記憶対象データの格納位置を表すアドレスデータを設定して、当該アドレスデータと記憶対象データの識別情報とを対応付けて記憶する。なお、このとき、アドレスデータをリストに記憶しておく。これにより、既に記憶されている記憶対象データを読み出す際には、アドレスデータにて表される格納位置のデータを読み出すことで、当該記憶対象データを読み出すことができる。また、既に記憶されている記憶対象データと同一内容の他の記憶対象データを記憶する際には、当該他の記憶対象データの格納先を、既に記憶されている記憶対象データの格納位置を表すアドレスデータに設定することで、同一内容のデータを別途記憶する必要がない。従って、データの重複記憶を排除することができる。   According to the above invention, first, in the storage device, when storing the storage target data in the storage device, the address data indicating the storage position of the storage target data is set, and the address data and the identification information of the storage target data are set. Are stored in association with each other. At this time, address data is stored in a list. Thus, when the storage target data that has already been stored is read, the storage target data can be read by reading the data at the storage position represented by the address data. Further, when storing other storage target data having the same contents as the storage target data that has already been stored, the storage destination of the other storage target data represents the storage position of the storage target data that has already been stored. By setting the address data, it is not necessary to store the same data separately. Therefore, redundant storage of data can be eliminated.

一方で、場合によっては、同一内容の記憶対象データを、重複して記憶装置に記憶する必要が生じることがある。かかる場合には、既に記憶されている記憶対象データの格納位置を表すアドレスデータに、後に記憶される同一内容の他の記憶対象データの格納位置を参照するアドレスデータを関連付けて、アドレスリストに記憶しておく。   On the other hand, in some cases, it may be necessary to store the storage target data having the same contents in the storage device in duplicate. In such a case, the address data indicating the storage location of the storage target data that has already been stored is associated with the address data that refers to the storage location of other storage target data of the same content that is stored later, and stored in the address list. Keep it.

そして、その後、記憶装置に記憶されている記憶対象データを削除する場合には、リストに記憶されているアドレスデータに、他のアドレスデータが関連付けられているかどうか調べる。関連付けられている場合には、いずれか一方のアドレスデータにて表される格納位置に格納されている記憶対象データのみを記憶装置から削除する。これにより、同一内容の記憶対象データのうち、一方が記憶装置内に残るため、データの信頼性を維持しつつ、データの重複を排除することができる。   After that, when deleting the storage target data stored in the storage device, it is checked whether other address data is associated with the address data stored in the list. In the case of association, only the storage target data stored in the storage position represented by any one of the address data is deleted from the storage device. As a result, one of the storage target data having the same contents remains in the storage device, so that data duplication can be eliminated while maintaining data reliability.

特に、データ削除時には、一方のアドレスデータに対応付けられている記憶対象データの識別情報に、当該一方のアドレスデータに換えて他方のアドレスデータを対応付けた後に、一方のアドレスデータにて表される格納位置の記憶対象データを削除する。これにより、一方のアドレスデータに対応付けられていた識別情報にて特定される一方の記憶対象データが、他方のアドレスデータにて表される格納位置に格納されている同一内容の他方の記憶対象データを参照することとなる。すると、一方のアドレスデータにて表される格納位置に格納されていた一方の記憶対象データはもはや参照されていない状態となるため、かかるデータを削除することができる。   In particular, when deleting data, the identification information of the storage target data associated with one address data is associated with the other address data instead of the one address data, and then is represented by the one address data. Delete the storage target data at the storage location. As a result, one storage target data specified by the identification information associated with one address data is stored in the storage position represented by the other address data, and the other storage target having the same contents is stored. Data will be referenced. Then, since one storage object data stored in the storage position represented by one address data is no longer referred to, the data can be deleted.

以上により、データ削除時には、同一内容のデータが重複記憶されている場合であっても、削除されない記憶対象データの実データの参照先を、他の同一内容の記憶対象データの格納位置を参照するアドレスデータに変更設定することで、適切なデータを記憶装置に残すことができる。これにより、記憶されるデータの信頼性を維持しつつ、同一内容の記憶対象データの重複記憶を抑制することができ、データ格納効率の向上を図ることができる。   As described above, at the time of data deletion, even when data with the same content is stored redundantly, the storage location of other storage target data with the same content is referred to for the reference destination of the actual data of the storage target data that is not deleted. By changing and setting the address data, appropriate data can be left in the storage device. Thereby, while maintaining the reliability of the stored data, it is possible to suppress the duplicate storage of the storage target data having the same contents, and it is possible to improve the data storage efficiency.

(付記3)
付記2に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、当該削除対象となる記憶対象データとは異なる前記記憶対象データの格納位置を表す前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
(Appendix 3)
The storage device according to attachment 2, wherein
When deleting the storage target data, the data deletion processing unit associates the other address data with the one address data representing a storage position of the storage target data different from the storage target data to be deleted The one address data associated with the identification information of the different storage target data is changed to the other address data and associated with the identification information, and the one address data Deleting the storage target data stored in the storage location represented from the storage device;
Storage device.

上記発明によると、データ削除時に、相互に関連付けられているアドレスデータのうち、削除しない記憶対象データの識別情報に対応付けられた一方のアドレスデータを、削除する予定の記憶対象データの格納位置を表す他方のアドレスデータに変更する。そして、その後、他方のアドレスデータにて表される格納位置に格納された記憶対象データは削除せずに残し、一方のアドレスデータにて表される格納位置に格納された記憶対象データを削除する。これにより、削除する記憶対象データの実データを削除されない記憶対象データとして入れ替えることができ、適切なデータを記憶装置に残すことができる。そして、その代わりに削除予定ではない記憶対象データの実データを削除することで、同一内容の記憶対象データの重複記憶を抑制することができる。   According to the above invention, at the time of data deletion, one of the address data associated with the identification information of the storage target data not to be deleted among the address data associated with each other is stored. Change to the other address data shown. Thereafter, the storage target data stored in the storage position represented by the other address data is left without being deleted, and the storage target data stored in the storage position represented by the one address data is deleted. . Thereby, the actual data of the storage target data to be deleted can be replaced as storage target data that is not deleted, and appropriate data can be left in the storage device. Then, instead of deleting the actual data of the storage target data that is not scheduled to be deleted, it is possible to suppress duplicate storage of the storage target data having the same contents.

(付記4)
付記3に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、全ての前記記憶対象データの格納位置を表す前記アドレスデータに関連付けたフラグを初期値に設定し、削除対象となる前記記憶対象データとは異なる前記記憶対象データの前記識別情報に対応付けられた前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、当該変更された前記他方のアドレスデータに関連付けた前記フラグを他の値に設定すると共に、初期値である前記フラグが関連付けられた前記アドレスデータにて表された格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
(Appendix 4)
The storage device according to attachment 3, wherein
The data deletion processing unit sets, as an initial value, a flag associated with the address data indicating the storage position of all the storage target data when deleting the storage target data, and the storage target data to be deleted When the other address data is associated with the one address data associated with the identification information of the storage target data different from the storage target data, the storage target data is associated with the identification information of the different storage target data. The one address data is changed to the other address data and associated with the identification information, the flag associated with the changed other address data is set to another value, and the initial value is The storage target data stored in the storage position represented by the address data associated with the flag is stored in the storage device. To remove from the device,
Storage device.

(付記5)
付記4に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、全ての前記記憶対象データの格納位置を表す前記アドレスデータに関連付けたフラグを初期値に設定し、削除対象となる前記記憶対象データとは異なる前記記憶対象データの前記識別情報に対応付けられた前記アドレスデータに関連付けた前記フラグを他の値に設定すると共に、前記異なる記憶対象データの前記識別情報に対応付けられた前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合には、前記一方のアドレスデータに関連付けた前記フラグは他の値に設定せず初期値のままとする、
ストレージ装置。
(Appendix 5)
The storage device according to appendix 4, wherein
The data deletion processing unit sets, as an initial value, a flag associated with the address data indicating the storage position of all the storage target data when deleting the storage target data, and the storage target data to be deleted The flag associated with the address data associated with the identification information of the storage target data different from the other is set to another value, and the one of the ones associated with the identification information of the different storage target data When the other address data is associated with the address data, the flag associated with the one address data is not set to another value and remains at the initial value.
Storage device.

(付記6)
付記1乃至5のいずれか一項に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶装置に既に記憶されている前記記憶対象データに設定されている重要度に対して、当該既に格納されている記憶対象データと同一内容の他の記憶対象データに予め設定されている重要度が高い場合に、前記他の記憶対象データを前記記憶装置に別途格納して、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する、
ストレージ装置。
(Appendix 6)
The storage device according to any one of appendices 1 to 5,
The data storage control unit is configured to store other storage target data having the same content as the storage target data already stored with respect to the importance set in the storage target data already stored in the storage device. When the importance set in advance is high, the other storage target data is separately stored in the storage device, and the address data indicating the storage location of the already stored storage target data is stored in the other storage Associating and storing other address data indicating the storage position of the target data,
Storage device.

(付記7)
付記1乃至6のいずれか一項に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶装置に既に記憶されている前記記憶対象データを他の格納位置に移動する場合に、当該既に記憶されている記憶対象データの複製である他の記憶対象データを前記記憶装置に別途格納して、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する、
ストレージ装置。
(Appendix 7)
The storage device according to any one of appendices 1 to 6,
The data storage control unit, when moving the storage target data already stored in the storage device to another storage position, stores other storage target data that is a copy of the storage target data already stored. Separately storing in the storage device, and storing the address data indicating the storage position of the storage target data already stored in association with other address data indicating the storage position of the other storage target data,
Storage device.

(付記8)
記憶装置と、
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を備え、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージシステム。
(Appendix 8)
A storage device;
A data storage control unit that stores storage target data in a storage device, and generates and stores address data representing a storage position of the storage target data;
A data deletion processing unit that deletes the storage target data stored in the storage device from the storage device;
The data storage control unit stores the already stored storage target data when separately storing in the storage device other storage target data having the same contents as the storage target data already stored in the storage device. Store the address data representing the position in association with other address data representing the storage position of the other storage target data,
The data deletion processing unit deletes the storage target data stored in the storage position represented by one of the address data among the address data associated with each other from the storage device.
Storage system.

(付記9)
付記8に記載のストレージシステムであって、
前記データ格納制御部は、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージシステム。
(Appendix 9)
The storage system according to attachment 8, wherein
The data storage control unit stores address data representing a storage position of the storage target data in association with identification information for identifying the storage target data;
The data deletion processing unit corresponds to the identification information associated with the one address data among the address data associated with each other, and the other address data instead of the one address data. And deleting the storage target data stored in the storage position represented by the one address data from the storage device,
Storage system.

(付記10)
情報処理装置に、
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を実現させると共に、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
プログラム。
(Appendix 10)
In the information processing device,
A data storage control unit that stores storage target data in a storage device, and generates and stores address data representing a storage position of the storage target data;
A data deletion processing unit that deletes the storage target data stored in the storage device from the storage device, and
The data storage control unit stores the already stored storage target data when separately storing in the storage device other storage target data having the same contents as the storage target data already stored in the storage device. Store the address data representing the position in association with other address data representing the storage position of the other storage target data,
The data deletion processing unit deletes the storage target data stored in the storage position represented by one of the address data among the address data associated with each other from the storage device.
program.

(付記11)
付記10に記載のプログラムであって、
前記データ格納制御部は、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
プログラム。
(Appendix 11)
The program according to attachment 10, wherein
The data storage control unit stores address data representing a storage position of the storage target data in association with identification information for identifying the storage target data;
The data deletion processing unit corresponds to the identification information associated with the one address data among the address data associated with each other, and the other address data instead of the one address data. And deleting the storage target data stored in the storage position represented by the one address data from the storage device,
program.

(付記12)
記憶対象データを記憶装置に記憶し、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶すると共に、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときには、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶し、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するときに、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
データ処理方法。
(Appendix 12)
Storing storage target data in a storage device, generating and storing address data representing a storage position of the storage target data, and other storage target data having the same contents as the storage target data already stored in the storage device Separately stored in the storage device, the address data indicating the storage position of the storage target data already stored is associated with other address data indicating the storage position of the other storage target data, and stored.
When the storage target data stored in the storage device is deleted from the storage device, it is stored in a storage position represented by one of the address data associated with each other. Deleting the storage target data from the storage device,
Data processing method.

(付記13)
付記12に記載のデータ処理方法であって、
前記記憶対象データを記憶装置に記憶するときに、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記記憶対象データを削除するときに、相互に関連付けられている前記アドレスデータのうち、前記一方のアドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
データ処理方法。
(Appendix 13)
A data processing method according to attachment 12, wherein
When storing the storage target data in a storage device, address data representing a storage position of the storage target data is stored in association with identification information for identifying the storage target data;
When the storage target data is deleted, the identification information associated with the one address data among the address data associated with each other is replaced with the one address data instead of the one address data. Associating data and deleting the storage target data stored in the storage position represented by the one address data from the storage device;
Data processing method.

1 ストレージシステム
10 データ格納部
11 重複排除機能部
12 分散冗長配置機能部
13 データ移動機能部
14 データ削除機能部
20 CAリスト
30 格納情報
100 ストレージシステム
101 重複排除機能部
102 分散冗長配置機能部
103 データ移動機能部
104 データ削除機能部
110 データ格納部
120 コンテンツアドレスリスト
DESCRIPTION OF SYMBOLS 1 Storage system 10 Data storage part 11 Deduplication function part 12 Distributed redundant arrangement function part 13 Data movement function part 14 Data deletion function part 20 CA list 30 Storage information 100 Storage system 101 Deduplication function part 102 Distributed redundant arrangement function part 103 Data Movement function unit 104 Data deletion function unit 110 Data storage unit 120 Content address list

Claims (8)

記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を備え、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除すると共に、前記記憶対象データを削除する際に、当該削除対象となる記憶対象データとは異なる前記記憶対象データの格納位置を表す前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
A data storage control unit that stores storage target data in a storage device, and generates and stores address data representing a storage position of the storage target data;
A data deletion processing unit that deletes the storage target data stored in the storage device from the storage device;
The data storage control unit stores the already stored storage target data when separately storing in the storage device other storage target data having the same contents as the storage target data already stored in the storage device. The address data representing the location is stored in association with other address data representing the storage location of the other storage target data, and the address data representing the storage location of the storage target data is identified to identify the storage target data Store it in association with the information,
The data deletion processing unit corresponds to the identification information associated with one of the address data among the address data associated with each other, and associates the other address data with the one address data. In addition, when the storage target data stored in the storage position represented by the one address data is deleted from the storage device , and the storage target data is deleted, the storage target data to be deleted The one address associated with the identification information of the different storage target data when the other address data is associated with the one address data representing the storage position of the storage target data different from The data is changed to the other address data and associated with the identification information, and the one address data is Remove the storage target data stored in the storage position represented by the said storage device,
Storage device.
請求項1に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、全ての前記記憶対象データの格納位置を表す前記アドレスデータに関連付けたフラグを初期値に設定し、削除対象となる前記記憶対象データとは異なる前記記憶対象データの前記識別情報に対応付けられた前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、当該変更された前記他方のアドレスデータに関連付けた前記フラグを他の値に設定すると共に、初期値である前記フラグが関連付けられた前記アドレスデータにて表された格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージ装置。
The storage device according to claim 1 ,
The data deletion processing unit sets, as an initial value, a flag associated with the address data indicating the storage position of all the storage target data when deleting the storage target data, and the storage target data to be deleted When the other address data is associated with the one address data associated with the identification information of the storage target data different from the storage target data, the storage target data is associated with the identification information of the different storage target data. The one address data is changed to the other address data and associated with the identification information, the flag associated with the changed other address data is set to another value, and the initial value is The storage target data stored in the storage position represented by the address data associated with the flag is stored in the storage device. To remove from the device,
Storage device.
請求項2に記載のストレージ装置であって、
前記データ削除処理部は、前記記憶対象データを削除する際に、全ての前記記憶対象データの格納位置を表す前記アドレスデータに関連付けたフラグを初期値に設定し、削除対象となる前記記憶対象データとは異なる前記記憶対象データの前記識別情報に対応付けられた前記アドレスデータに関連付けた前記フラグを他の値に設定すると共に、前記異なる記憶対象データの前記識別情報に対応付けられた前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合には、前記一方のアドレスデータに関連付けた前記フラグは他の値に設定せず初期値のままとする、
ストレージ装置。
The storage device according to claim 2 ,
The data deletion processing unit sets, as an initial value, a flag associated with the address data indicating the storage position of all the storage target data when deleting the storage target data, and the storage target data to be deleted The flag associated with the address data associated with the identification information of the storage target data different from the other is set to another value, and the one of the ones associated with the identification information of the different storage target data When the other address data is associated with the address data, the flag associated with the one address data is not set to another value and remains at the initial value.
Storage device.
請求項1乃至3のいずれか一項に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶装置に既に記憶されている前記記憶対象データに設定されている重要度に対して、当該既に格納されている記憶対象データと同一内容の他の記憶対象データに予め設定されている重要度が高い場合に、前記他の記憶対象データを前記記憶装置に別途格納して、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する、
ストレージ装置。
The storage device according to any one of claims 1 to 3 ,
The data storage control unit is configured to store other storage target data having the same content as the storage target data already stored with respect to the importance set in the storage target data already stored in the storage device. When the importance set in advance is high, the other storage target data is separately stored in the storage device, and the address data indicating the storage location of the already stored storage target data is stored in the other storage Associating and storing other address data indicating the storage position of the target data,
Storage device.
請求項1乃至4のいずれか一項に記載のストレージ装置であって、
前記データ格納制御部は、前記記憶装置に既に記憶されている前記記憶対象データを他の格納位置に移動する場合に、当該既に記憶されている記憶対象データの複製である他の記憶対象データを前記記憶装置に別途格納して、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶する、
ストレージ装置。
The storage apparatus according to any one of claims 1 to 4 ,
The data storage control unit, when moving the storage target data already stored in the storage device to another storage position, stores other storage target data that is a copy of the storage target data already stored. Separately storing in the storage device, and storing the address data indicating the storage position of the storage target data already stored in association with other address data indicating the storage position of the other storage target data,
Storage device.
記憶装置と、
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を備え、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除すると共に、前記記憶対象データを削除する際に、当該削除対象となる記憶対象データとは異なる前記記憶対象データの格納位置を表す前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
ストレージシステム。
A storage device;
A data storage control unit that stores storage target data in a storage device, and generates and stores address data representing a storage position of the storage target data;
A data deletion processing unit that deletes the storage target data stored in the storage device from the storage device;
The data storage control unit stores the already stored storage target data when separately storing in the storage device other storage target data having the same contents as the storage target data already stored in the storage device. The address data representing the location is stored in association with other address data representing the storage location of the other storage target data, and the address data representing the storage location of the storage target data is identified to identify the storage target data Store it in association with the information,
The data deletion processing unit corresponds to the identification information associated with one of the address data among the address data associated with each other, and associates the other address data with the one address data. In addition, when the storage target data stored in the storage position represented by the one address data is deleted from the storage device , and the storage target data is deleted, the storage target data to be deleted The one address associated with the identification information of the different storage target data when the other address data is associated with the one address data representing the storage position of the storage target data different from The data is changed to the other address data and associated with the identification information, and the one address data is Remove the storage target data stored in the storage position represented by the said storage device,
Storage system.
情報処理装置に、
記憶対象データを記憶装置に記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶するデータ格納制御部と、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するデータ削除処理部と、を実現させると共に、
前記データ格納制御部は、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときに、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記データ削除処理部は、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除すると共に、前記記憶対象データを削除する際に、当該削除対象となる記憶対象データとは異なる前記記憶対象データの格納位置を表す前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
プログラム。
In the information processing device,
A data storage control unit that stores storage target data in a storage device, and generates and stores address data representing a storage position of the storage target data;
A data deletion processing unit that deletes the storage target data stored in the storage device from the storage device, and
The data storage control unit stores the already stored storage target data when separately storing in the storage device other storage target data having the same contents as the storage target data already stored in the storage device. The address data representing the location is stored in association with other address data representing the storage location of the other storage target data, and the address data representing the storage location of the storage target data is identified to identify the storage target data Store it in association with the information,
The data deletion processing unit corresponds to the identification information associated with one of the address data among the address data associated with each other, and associates the other address data with the one address data. In addition, when the storage target data stored in the storage position represented by the one address data is deleted from the storage device , and the storage target data is deleted, the storage target data to be deleted The one address associated with the identification information of the different storage target data when the other address data is associated with the one address data representing the storage position of the storage target data different from The data is changed to the other address data and associated with the identification information, and the one address data is Remove the storage target data stored in the storage position represented by the said storage device,
program.
記憶対象データを記憶装置に記憶し、前記記憶対象データの格納位置を表すアドレスデータを生成して記憶すると共に、前記記憶装置に既に記憶されている記憶対象データと同一内容の他の記憶対象データを前記記憶装置に別途格納するときには、前記既に記憶されている記憶対象データの格納位置を表すアドレスデータに、前記他の記憶対象データの格納位置を表す他のアドレスデータを関連付けて記憶すると共に、前記記憶対象データの格納位置を表すアドレスデータを、当該記憶対象データを識別する識別情報に対応付けて記憶し、
前記記憶装置に記憶されている前記記憶対象データを、前記記憶装置から削除するときに、相互に関連付けられている前記アドレスデータのうち、一方の前記アドレスデータが対応付けられている前記識別情報に、当該一方のアドレスデータに換えて他方の前記アドレスデータを対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除すると共に、前記削除対象となる記憶対象データとは異なる前記記憶対象データの格納位置を表す前記一方のアドレスデータに前記他方のアドレスデータが関連付けられている場合に、前記異なる記憶対象データの前記識別情報に対応付けられている前記一方のアドレスデータを前記他方のアドレスデータに変更して当該識別情報に対応付け、前記一方のアドレスデータにて表される格納位置に格納されている前記記憶対象データを前記記憶装置から削除する、
データ処理方法。
Storing storage target data in a storage device, generating and storing address data representing a storage position of the storage target data, and other storage target data having the same contents as the storage target data already stored in the storage device Is stored separately in the storage device, the address data indicating the storage position of the storage target data already stored is associated with other address data indicating the storage position of the other storage target data, and stored . Storing address data representing a storage position of the storage target data in association with identification information for identifying the storage target data;
When the storage target data stored in the storage device is deleted from the storage device, one of the address data associated with each other is associated with the identification information associated with one of the address data. The one address data is associated with the other address data, and the storage target data stored in the storage position represented by the one address data is deleted from the storage device , and the deletion is performed. When the other address data is associated with the one address data that represents the storage position of the storage target data different from the target storage target data, it is associated with the identification information of the different storage target data. The one address data is changed to the other address data and associated with the identification information Remove the storage target data stored in the storage position where the expressed by one of the address data from said storage device,
Data processing method.
JP2010020949A 2010-02-02 2010-02-02 Storage system Active JP5526824B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010020949A JP5526824B2 (en) 2010-02-02 2010-02-02 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010020949A JP5526824B2 (en) 2010-02-02 2010-02-02 Storage system

Publications (2)

Publication Number Publication Date
JP2011159142A JP2011159142A (en) 2011-08-18
JP5526824B2 true JP5526824B2 (en) 2014-06-18

Family

ID=44591031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010020949A Active JP5526824B2 (en) 2010-02-02 2010-02-02 Storage system

Country Status (1)

Country Link
JP (1) JP5526824B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6330824B2 (en) * 2016-01-20 2018-05-30 日本電気株式会社 Storage system, access device, client device, method and program
US11269531B2 (en) 2017-10-25 2022-03-08 International Business Machines Corporation Performance of dispersed location-based deduplication

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004139503A (en) * 2002-10-21 2004-05-13 Matsushita Electric Ind Co Ltd Storage device and its control method
JP2007188377A (en) * 2006-01-16 2007-07-26 Hitachi Ltd Electronic apparatus, backup system therefor, and method for providing backup service
JP5320678B2 (en) * 2007-02-20 2013-10-23 日本電気株式会社 Data distribution storage system, data distribution method, apparatus used therefor, and program thereof

Also Published As

Publication number Publication date
JP2011159142A (en) 2011-08-18

Similar Documents

Publication Publication Date Title
JP5407430B2 (en) Storage system
JP6309103B2 (en) Snapshot and clone replication
JP5948340B2 (en) File cloning and decloning in data storage systems
US7836266B2 (en) Managing snapshot history in a data storage system
JP5339432B2 (en) Storage system
CN101777367B (en) drive device
US8725969B2 (en) Distributed content storage system supporting different redundancy degrees
WO2015107666A1 (en) Storage apparatus and cache control method for storage apparatus
KR101369813B1 (en) Accessing, compressing, and tracking media stored in an optical disc storage system
JP6094267B2 (en) Storage system
JP5477927B2 (en) Storage system
JP4755244B2 (en) Information generation method, information generation program, and information generation apparatus
US20140129524A1 (en) Restoring method and computer system
JP5526824B2 (en) Storage system
JP5585116B2 (en) Storage system
KR101456104B1 (en) Method, system for dual buffering file management with non-volatile memory and mass storage device using the same
US7904422B2 (en) System for deploying data from deployment-source device to deployment-destination device
TWI740429B (en) Method and system for managing backup data
CN101015014B (en) Drive device
CN111124746B (en) Method, apparatus and computer readable medium for managing redundant array of independent disks
JP5725546B2 (en) Storage system
JP6670995B2 (en) Information recording apparatus and information recording method
JP6343952B2 (en) Storage system
JP2018163580A (en) Information processing device

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131009

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140331

R150 Certificate of patent or registration of utility model

Ref document number: 5526824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150