WO2011108048A1 - ストレージ装置 - Google Patents

ストレージ装置 Download PDF

Info

Publication number
WO2011108048A1
WO2011108048A1 PCT/JP2010/007183 JP2010007183W WO2011108048A1 WO 2011108048 A1 WO2011108048 A1 WO 2011108048A1 JP 2010007183 W JP2010007183 W JP 2010007183W WO 2011108048 A1 WO2011108048 A1 WO 2011108048A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
storage device
management
file
stored
Prior art date
Application number
PCT/JP2010/007183
Other languages
English (en)
French (fr)
Inventor
拓明 山本
貴俊 佐藤
正紀 津田
Original Assignee
日本電気株式会社
Necソフトウェア東北株式会社
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ソフトウェア東北株式会社 filed Critical 日本電気株式会社
Priority to EP10846955.2A priority Critical patent/EP2544092A4/en
Priority to JP2012502894A priority patent/JP5517224B2/ja
Priority to CN201080065158.7A priority patent/CN102792281B/zh
Priority to US13/582,185 priority patent/US20120324182A1/en
Publication of WO2011108048A1 publication Critical patent/WO2011108048A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • the present invention relates to a storage apparatus, and more particularly to a storage apparatus that eliminates redundant storage of data having the same content.
  • a content address storage system has been developed in recent years as shown in Patent Document 1.
  • data is distributed and stored in a plurality of storage devices, and the storage location where the data is stored is specified by a unique content address specified according to the content of the data.
  • predetermined data is divided into a plurality of fragments, and a fragment that becomes redundant data is further added, and the plurality of fragments are respectively stored in a plurality of storage devices.
  • the content address for example, a hash value of data generated so as to be unique according to the content of data is used. For this reason, if it is duplicate data, the data of the same content can be acquired by referring to the data at the same storage position. Therefore, it is not necessary to store the duplicate data separately, and duplicate recording can be eliminated and the data capacity can be reduced.
  • the determination of deduplication of data described above is generally performed by dividing file data into a certain length (fixed length or variable length) and comparing them. For this reason, if there is a difference in data in one file at an interval smaller than the length of dividing the file, they are not determined as data having the same content. In other words, even if there is a data part with the same content between the divided data, if there is a slight difference, both the divided data will be stored, and deduplication of the data to be stored efficiently I can't.
  • software that backs up data inserts its own management information into the backup file in addition to the data to be backed up. Then, when the inserted unique management information is different for each backup and the insertion interval of this management information is shorter than the data delimiter interval at the time of data duplication determination, as described above, deduplication of stored data is performed. I can't. As a result, there arises a problem that data storage efficiency is lowered.
  • an object of the present invention is to solve the decrease in data storage efficiency, which is the above-described problem.
  • a storage apparatus provides: When data to be written is stored in the storage device and other data having the same content as the data already stored in the storage device is stored in the storage device, the data already stored in the storage device A data writing section to be referred to as the data of A data separation unit that separates data to be written into a user data part and a management data part that are classified according to a preset criterion;
  • the data writing unit stores the user data portion in a user data file, stores the management data portion in a management data file, and the user data portion separated by the data separation portion.
  • the management data portion is stored in a storage device.
  • the program which is the other form of this invention is:
  • the data already stored in the storage device A data writing section to be referred to as the data of
  • This is a program that realizes a data separation unit that separates data to be written into a user data portion and a management data portion that are classified according to a preset criterion.
  • the data writing unit stores the user data portion in a user data file, stores the management data portion in a management data file, and the user data portion separated by the data separation portion.
  • the management data portion is stored in a storage device.
  • a data storage method includes: When data to be written is stored in the storage device and other data having the same content as the data already stored in the storage device is stored in the storage device, the data already stored in the storage device In an information processing device having a function to refer to as data, The data to be written is separated into a user data part and a management data part that are classified according to preset criteria, Storing the user data portion in a user data file, storing the management data portion in a management data file, and storing the separated user data portion and the management data portion in a storage device;
  • the configuration is as follows.
  • the present invention can improve the data storage efficiency by being configured as described above.
  • FIG. 4 is an explanatory diagram for explaining a state of data write processing in the storage system disclosed in FIG. 3; It is explanatory drawing explaining the mode of the data writing process in the storage system disclosed in FIG. It is explanatory drawing explaining the mode of the data writing process in the storage system disclosed in FIG. It is a figure which shows an example of the data structure of the index data disclosed in FIG.
  • FIG. 4 is a flowchart showing an operation of a data write process in the storage system disclosed in FIG. 3. 4 is a flowchart showing an operation of data reading processing in the storage system disclosed in FIG. 3. 2 is a functional block diagram illustrating a configuration of a storage system according to attachment 1. FIG.
  • FIG. 1 is a block diagram showing the configuration of the entire system.
  • FIG. 2 is a block diagram showing an outline of the storage system
  • FIG. 3 is a functional block diagram showing the configuration of the storage system.
  • 4 to 6 are explanatory diagrams for explaining the operation of data write processing in the storage system.
  • FIG. 7 is a diagram illustrating a data structure of index data stored in the storage device. 8 to 9 are flowcharts showing the operation of the storage system.
  • the present embodiment shows a specific example of a storage device or the like described in an appendix to be described later.
  • the storage system is configured by connecting a plurality of server computers.
  • the storage system according to the present invention is not limited to being configured by a plurality of computers, and may be configured by a single computer.
  • the storage system 1 in the present invention is connected to a backup system 4 that controls backup processing via a network N. Then, the backup system 4 acquires backup target data (data to be written) stored in the backup target device 5 connected via the network N and requests the storage system 1 to store it. Thereby, the storage system 1 stores the backup target data requested to be stored for backup.
  • the storage system 1 has a configuration in which a plurality of server computers are connected.
  • the storage system 1 includes an accelerator node 2 that is a server computer that controls storage and reproduction operations in the storage system 1 itself, and a storage node 3 that is a server computer including a storage device that stores data. Yes.
  • the number of accelerator nodes 2 and the number of storage nodes 3 are not limited to those shown in FIG. 2, and more nodes 2 and 3 may be connected.
  • the storage system 1 divides and redundantly stores the data, distributes and stores the data in a plurality of storage devices, and stores the data by a unique content address set according to the content of the stored data. It is a content address storage system for specifying a stored location. This content address storage system will be described in detail later.
  • the storage system 1 is one system, the configuration and functions of the storage system 1 will be described. That is, the configuration and function of the storage system 1 described below may be provided in either the accelerator node 2 or the storage node 3. As shown in FIG. 2, the storage system 1 is not necessarily limited to including the accelerator node 2 and the storage node 3, and may have any configuration, for example, a single computer. May be. Furthermore, the storage system 1 is not limited to being a content address storage system, and may be a storage system having a deduplication function.
  • FIG. 3 shows the configuration of the storage system 1 in this embodiment.
  • the storage system 1 includes a data separation / combination device 10 and a storage device 20 which are configured by a server computer and are connected to each other.
  • the data separation / combination device 10 is connected to the data writing / reading software 30 provided in the backup target device 5 and the backup system 4 described above, and stores a file in response to a request from the software 30. Or a reading process.
  • the data separation / combination device 10 is constructed by incorporating a program into the equipped arithmetic device, the separated data writing unit 11, the data separating unit 12, the separated data associating unit 13, and the separated data reading. Part 14.
  • the storage device 20 includes a user data file storage unit 21, a management data file storage unit 22, and an index data file storage unit 23.
  • the above-described configuration of the storage system 1 includes an arithmetic device such as a CPU (Central Processing Unit) and a storage device such as a hard disk drive that are included in the accelerator node 2 and the storage node 3 shown in FIG. It is composed of.
  • arithmetic device such as a CPU (Central Processing Unit)
  • a storage device such as a hard disk drive that are included in the accelerator node 2 and the storage node 3 shown in FIG. It is composed of.
  • the storage system 1 in the present embodiment is a content address storage system.
  • the separated data writing unit 11 (data writing unit) and the storage device 20 described above have a function of storing data in the storage device 20 using the content address, and as described below, data Is stored and data is stored by specifying the storage position by the content address.
  • data writing processing using content addresses in the storage system 1 will be described with reference to FIGS.
  • a file A requested to be written from the data writing / reading software 30 when an input of a file A requested to be written from the data writing / reading software 30 is received, as shown by an arrow Y2 in FIGS. Is divided into block data D having a predetermined capacity (for example, 64 KB).
  • the file A is, for example, a user data file, a management data file, and an index data file separated by the data separation unit 12, as will be described later.
  • the block data D may be, for example, each user data, each management data, and each index data separated by the data separation unit 12.
  • a unique hash value H representing the data content is calculated (arrow Y3 in FIG. 5).
  • the hash value H is calculated from the data content of the block data D using a preset hash function.
  • the block data D that has already been stored has its hash value H and the content address CA representing the storage position associated with each other and registered in an MFI (Main Fragment Index) file. Therefore, if the hash value H of the block data D calculated before storage is present in the MFI file, it can be determined that the same block data D has already been stored (arrow Y4 in FIG. 5). In this case, the content address CA associated with the hash value H in the MFI that matches the hash value H of the block data D before storage is acquired from the MFI file.
  • MFI Main Fragment Index
  • this content address CA is returned as the content address CA of the block data D requested to be written.
  • the already stored data referred to by the content address CA is used as the block data D requested to be written, and there is no need to store the block data D related to the write request.
  • the block data D is compressed, and a plurality of pieces of fragment data having a predetermined capacity as shown by an arrow Y5 in FIG. Divide into For example, as shown by symbols D1 to D9 in FIG. 4, the data is divided into nine fragment data (divided data 41). Further, even if some of the divided fragment data is missing, redundant data is generated so that the original block data can be restored and added to the divided fragment data 41. For example, three pieces of fragment data (redundant data 42) are added as indicated by reference numerals D10 to D12 in FIG. As a result, a data set 40 composed of twelve fragment data composed of nine divided data 41 and three redundant data is generated.
  • each fragment data constituting the data set generated as described above is distributed and stored in each storage area formed in the storage device. For example, as shown in FIG. 4, when 12 pieces of fragment data D1 to D12 are generated, each piece of fragment data D1 to D12 is stored in a data storage file formed in each of a plurality of storage devices. (See arrow Y6 in FIG. 5).
  • the storage system 1 generates a content address CA indicating the storage position of the fragment data D1 to D12 stored as described above, that is, the storage position of the block data D restored by the fragment data D1 to D12.
  • a content address CA indicating the storage position of the fragment data D1 to D12 stored as described above, that is, the storage position of the block data D restored by the fragment data D1 to D12.
  • a part of the hash value H short hash
  • information indicating the logical storage position Are combined to generate a content address CA.
  • this content address CA is returned to the file system in the storage system 1 (arrow Y7 in FIG. 5).
  • the storage system 1 manages the identification information such as the file name of the backup target data and the content address CA in association with the file system.
  • each storage node 3 manages the content address CA of the block data D and the hash value H of the block data D by using the MFI file.
  • the content address CA is stored in the storage device of the accelerator node 2 or the storage node 3 in association with the information specifying the file, the hash value H, or the like.
  • the storage system 1 performs control to read out the stored file as described above. For example, when a read request is made by designating a specific file to the storage system 1, first, based on the file system, a short hash and a logical position that are part of a hash value corresponding to the file related to the read request A content address CA consisting of the above information is designated. Then, it is checked whether or not the content address CA is registered in the MFI file. If it is not registered, the requested data is not stored and an error is returned.
  • the storage location specified by the content address CA is specified, and each fragment data stored in the specified storage location is read. Read as requested data.
  • the storage position of other fragment data can be specified from the same storage position. .
  • the block data D is restored from each fragment data read in response to the read request. Further, a plurality of restored block data D are concatenated, restored to a group of data such as file A, and returned.
  • the storage system 1 in the present embodiment eliminates duplication of data, but has a configuration for further enhancing data storage efficiency. This configuration will be described in detail.
  • the data separation unit 12 included in the data separation / combination device 10 is an actual data portion of a file whose value does not change depending on the generated time or the number of updates, a time stamp, a serial number, etc.
  • the value changes depending on the time and the number of updates, and is separated into a “management data portion” including management information of the file itself.
  • the user data portion may be the same content as other user data, and can be expected to have a deduplication effect.
  • the management data portion is data that is unlikely to have the same content as other management data and is difficult to expect the deduplication effect. Note that the separation of the user data portion and the management data portion is performed based on the reference information, in which reference information for distinguishing each data portion is set in the data separation unit 12 in advance.
  • the data separation unit 12 is not necessarily limited to separating the data to be written into the “user data part” and the “management data part”. You may isolate
  • the separated data writing unit 11 (data writing unit) stores the data separated by the data separating unit 12 in the storage device 20. At this time, the separated data is stored in different files depending on the type of the separated data. At this time, the separated data associating unit 13 determines whether each user data portion or each management data is based on the separation result. Index data including information for specifying the storage position of each part is generated.
  • the separated data writing unit 11 stores the separated user data part, management data part, and index data in different files and stores them in the storage device 20.
  • the user data portion is stored in a user data file in a user data file storage unit 21 formed in the storage device 20 as shown in FIG.
  • the management data portion is stored in a management data file in the management data file storage unit 22 formed in the storage device 20 as shown in FIG.
  • the index data is stored in an index data file in the index data file storage unit 23 formed in the storage device 20, as shown in FIG.
  • the management data file storage unit 22 stores a management data file in which only management data is stored.
  • the index data file storage unit 23 stores an index data file in which only index information of user data and management data is stored.
  • the index data includes various management information such as file type, file offset in the file before separation, file offset in each file after separation, and data length after separation.
  • file type is file information for specifying the file type or the file itself in which the corresponding user data or management data is stored.
  • the “intra-file offset in the pre-separation file” is position information in the file before the separation of the separated user data or management data.
  • the “file offset in each file after separation” is position information in the user data file or management data file in which the separated user data or management data is stored after separation.
  • the “separated data length” is the data length of the separated user data or management data itself.
  • the information stored in the index data is not limited to the information described above.
  • each file described above is further divided and made redundant, and distributed and stored in a plurality of storage devices.
  • the separation data reading unit 14 (data reading unit) included in the data separation / combination apparatus 10 is based on the file name requested to be read from the data writing / reading software 30, the user data file, the management data file, An index data file is acquired from the storage device 20. Then, based on the information stored in the acquired index data file, the separated data associating unit 13 analyzes each file in which user data and management data are stored and a storage position in the file. Subsequently, user data and management data are read from the user data file and the management data file, respectively, according to the analysis result. Then, according to the information stored in the index data file, the positions of the user data and management data in the data before separation are specified, and the user data and management data are combined to generate data before separation.
  • the separated data reading unit 14 returns the generated data before separation to the data writing / reading software 30.
  • the data writing / reading software 30 can refer to the file without being aware that the data is separated and stored.
  • step S1 the separated data writing unit 11 passes the received data to the data separating unit 12. Then, the data separating unit 12 separates the received data into the user data part and the management data part as described above, and returns the information to the separated data writing unit 11 (step S2).
  • the separated data writing unit 11 passes the received data separation information to the separated data associating unit 13. Then, the separated data association unit 13 creates index data based on the received data separation information (step S3) and returns it to the separated data writing unit 11.
  • the index data includes the file type in which each separated data is stored, the file offset of the file before data separation, and the user data file or management data file after data separation. The file offset, the length of the separated data, and other management information are included.
  • the separated data writing unit 11 writes the user data, the management data, and the index data as separate files in the storage device 20 based on the information on the data separation and the index data (step S4). That is, as shown in FIG. 6, the user data is written into the user data file, the management data is written into the management data file, and the index data is written into the index data file.
  • the index 1 includes position information of data 2 that is user data
  • the index 2 includes position information of data 1 that is management data.
  • the separated data reading unit 14 stores the data in the storage device 20 based on the file name requested to be read.
  • the acquired user data file, management data file, and index data file are acquired (step S12), and each information is passed to the separated data association unit 13.
  • the separated data association unit 13 reads index data corresponding to the requested data from the index data file based on the received information. Further, based on the read index data, user data corresponding to the requested data is read from the user data file, and management data corresponding to the requested data is read from the management data file. At this time, information such as the file type included in the index data, the in-file offset of the file before data separation, the in-file offset of the user data file or management data file after data separation, the length of the data after separation, etc. Based on the above, the user data and the management data that constitute the requested data are read. For example, in the example of FIG. 6, data 2 that is user data is read based on the index 1, and data 1 that is management data is read based on the index 2.
  • the read user data and management data are combined (step S13), the original data before separation is generated, and the combined data is returned to the separated data reading unit 14. To do.
  • the separated data reading unit 14 returns the returned data to the data writing / reading software 30 as file data before data separation.
  • the management information inserted into the backup file by the backup software may cause a decrease in the data deduplication rate.
  • the efficiency of data deduplication can be improved. In other words, data deduplication is rarely performed for management data and index data with a small amount of data, but data deduplication operates efficiently for many user data written to user data files, and is high. Data deduplication rate can be realized.
  • data is separated and stored in a plurality of files in order to increase the deduplication rate.
  • the separated data are combined and provided as one data. From the outside, it can be handled as one file.
  • a data writing unit 111 for referencing the existing data as other data;
  • a data separation unit 112 that separates data to be written into a user data part and a management data part that are classified according to a preset criterion;
  • the data writing unit 111 stores the user data portion in the user data file 121 and also stores the management data portion in the management data file 122 and the user data separated by the data separation unit 112 Storing the portion and the management data portion in the storage device 120; Storage device 110.
  • (Appendix 2) The storage device according to attachment 1, wherein The data writing unit includes position information in the data before separation of the user data part and the management data part separated by the data separation part, and the user after separation of the user data part and the management data part. Index data including position information in each of the data file and the management data file is stored in the index data file and stored in the storage device. Storage device.
  • the storage device (Appendix 3) The storage device according to attachment 2, wherein The index data stored in the index data file by the data writing unit is the user data file and the management in which the user data part and the management data part separated by the data separation part are stored, respectively. Contains file information that identifies the data file, Storage device.
  • the storage device according to appendix 2 or 3,
  • the index data stored in the index data file by the data writing unit includes data length information indicating the data lengths of the user data part and the management data part separated by the data separation part, Storage device.
  • the storage device according to any one of appendices 1 to 5,
  • the management data portion is management information for managing data to be written. Storage device.
  • the data writing unit includes position information in the data before separation of the user data part and the management data part separated by the data separation part, and the user after separation of the user data part and the management data part.
  • Index data including position information in each of the data file and the management data file is stored in the index data file and stored in the storage device. program.
  • Appendix 10 The data storage method according to appendix 9, wherein Position information in the data before separation of the separated user data part and the management data part, and each of the user data file and the management data file after separation of the user data part and the management data part And the index data including the position information in the index data file is stored in a storage device, Data storage method.

Abstract

 ストレージ装置110は、書き込み対象となるデータを記憶装置120に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させるデータ書き込み部111と、書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離するデータ分離部112と、を備え、上記データ書き込み部112は、上記ユーザデータ部分をユーザデータ用ファイル121に格納すると共に、上記管理データ部分を管理データ用ファイル122に格納して、上記データ分離部112にて分離された上記ユーザデータ部分と上記管理データ部分とを記憶装置120に記憶する。

Description

ストレージ装置
 本発明は、ストレージ装置にかかり、特に、同一内容のデータの重複記憶を排除するストレージ装置に関する。
 近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
 このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。
 そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
 また、上記コンテンツアドレスとして、データの内容に応じて固有となるよう生成される例えばデータのハッシュ値を用いる。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
特開2005-235171号公報
 ここで、上述したデータの重複排除の判定は、一般的に、ファイルのデータをある長さ(固定長または可変長)に区切って、それらを比較することにより行っている。このため、1つのファイル中のデータの差異が、ファイルを区切った長さより小さな間隔で存在すると、それらは同一内容のデータとは判定されない。つまり、区切ったデータ間に同一内容のデータ部分が存在していた場合であっても、わずかな差異が存在すると、両方の区切ったデータが記憶されることとなり、効率よく記憶するデータの重複排除ができない。
 例えば、データをバックアップするソフトウェアは、バックアップするデータの他に、独自の管理情報をバックアップファイルへ挿入することを行っている。すると、この挿入される独自の管理情報がバックアップ毎に異なり、かつ、この管理情報の挿入間隔がデータ重複判定時のデータ区切り間隔より短い場合には、上述したように、記憶するデータの重複排除ができない。その結果、データの格納効率が低下する、という問題が生じる。
 このため、本発明の目的は、上述した課題である、データ格納効率の低下を解決することにある。
 かかる目的を達成するため本発明の一形態であるストレージ装置は、
 書き込み対象となるデータを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させるデータ書き込み部と、
 書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離するデータ分離部と、を備える。
 そして、上記データ書き込み部は、上記ユーザデータ部分をユーザデータ用ファイルに格納すると共に、上記管理データ部分を管理データ用ファイルに格納して、上記データ分離部にて分離された上記ユーザデータ部分と上記管理データ部分とを記憶装置に記憶する、という構成をとる。
 また、本発明の他の形態であるプログラムは、
 情報処理装置に、
 書き込み対象となるデータを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させるデータ書き込み部と、
 書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離するデータ分離部と、を実現させるプログラムである。
 そして、上記データ書き込み部は、上記ユーザデータ部分をユーザデータ用ファイルに格納すると共に、上記管理データ部分を管理データ用ファイルに格納して、上記データ分離部にて分離された上記ユーザデータ部分と上記管理データ部分とを記憶装置に記憶する、という構成をとる。
 また、本発明の他の形態であるデータ格納方法は、
 書き込み対象となるデータを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させる機能を有する情報処理装置にて、
 書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離して、
 上記ユーザデータ部分をユーザデータ用ファイルに格納すると共に、上記管理データ部分を管理データ用ファイルに格納して、分離された上記ユーザデータ部分と上記管理データ部分とを記憶装置に記憶する、
という構成をとる。
 本発明は、以上のように構成されることにより、データ格納効率の向上を図ることができる。
本発明の実施形態1におけるストレージシステムを含むシステム全体の構成を示すブロック図である。 本発明の実施形態1におけるストレージシステムの構成の概略を示すブロック図である。 本発明の実施形態1におけるストレージシステムの構成を示す機能ブロック図である。 図3に開示したストレージシステムにおけるデータ書き込み処理の様子を説明するための説明図である。 図3に開示したストレージシステムにおけるデータ書き込み処理の様子を説明する説明図である。 図3に開示したストレージシステムにおけるデータ書き込み処理の様子を説明する説明図である。 図6に開示したインデックスデータのデータ構造の一例を示す図である。 図3に開示したストレージシステムにおけるデータ書き込み処理の動作を示すフローチャートである。 図3に開示したストレージシステムにおけるデータ読み取り処理の動作を示すフローチャートである。 付記1におけるストレージシステムの構成を示す機能ブロック図である。
 <実施形態1>
 本発明の第1の実施形態を、図1乃至図9を参照して説明する。図1は、システム全体の構成を示すブロック図である。図2は、ストレージシステムの概略を示すブロック図であり、図3は、ストレージシステムの構成を示す機能ブロック図である。図4乃至図6は、ストレージシステムにおけるデータ書き込み処理の動作を説明するための説明図である。図7は、記憶装置に記憶されるインデックスデータのデータ構造を示す図である。図8乃至図9は、ストレージシステムの動作を示すフローチャートである。
 ここで、本実施形態は、後述する付記に記載のストレージ装置等の具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。
 [構成]
 図1に示すように、本発明におけるストレージシステム1は、ネットワークNを介してバックアップ処理を制御するバックアップシステム4に接続している。そして、バックアップシステム4は、ネットワークNを介して接続されたバックアップ対象装置5に格納されているバックアップ対象データ(書き込み対象となるデータ)を取得し、ストレージシステム1に対して記憶するよう要求する。これにより、ストレージシステム1は、記憶要求されたバックアップ対象データをバックアップ用に記憶する。
 そして、図2に示すように、本実施形態におけるストレージシステム1は、複数のサーバコンピュータが接続された構成を採っている。具体的に、ストレージシステム1は、ストレージシステム1自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード2と、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード3と、を備えている。なお、アクセラレータノード2の数とストレージノード3の数は、図2に示したものに限定されず、さらに多くの各ノード2,3が接続されて構成されていてもよい。
 さらに、本実施形態におけるストレージシステム1は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、記憶するデータの内容に応じて設定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。このコンテンツアドレスストレージシステムについては、後に詳述する。
 なお、以下では、ストレージシステム1が1つのシステムであるとして、当該ストレージシステム1が備えている構成及び機能を説明する。つまり、以下に説明するストレージシステム1が有する構成及び機能は、アクセラレータノード2あるいはストレージノード3のいずれに備えられていてもよい。なお、ストレージシステム1は、図2に示すように、必ずしもアクセラレータノード2とストレージノード3とを備えていることに限定されず、いかなる構成であってもよく、例えば、1台のコンピュータにて構成されていてもよい。さらには、ストレージシステム1は、コンテンツアドレスストレージシステムであることにも限定されず、重複排除機能を有しているストレージシステムであればよい。
 図3に、本実施形態におけるストレージシステム1の構成を示す。この図に示すように、ストレージシステム1は、サーバコンピュータにて構成され、相互に接続されたデータ分離/結合装置10と記憶装置20とを備えている。そして、データ分離/結合装置10は、上述したバックアップ対象装置5やバックアップシステム4に装備されたデータ書き込み/読み取りソフトウェア30に接続されており、このソフトウェア30からの要求に応じて、ファイルを記憶したり、読み出す処理を行うものである。
 そして、上記データ分離/結合装置10は、装備された演算装置にプログラムが組み込まれることによって構築された、分離データ書き込み部11と、データ分離部12と、分離データ関連付け部13と、分離データ読み取り部14と、を備えている。また、記憶装置20には、ユーザデータファイル記憶部21と、管理データファイル記憶部22と、インデックスデータファイル記憶部23と、が形成されている。
 なお、実際には、上述したストレージシステム1が備える構成は、図2に示したアクセラレータノード2及びストレージノード3がそれぞれ備えているCPU(Central Processing Unit)などの演算装置やハードディスクドライブなどの記憶装置にて構成されている。
 ここで、上述したように、本実施形態におけるストレージシステム1は、コンテンツアドレスストレージシステムである。このため、上述した分離データ書き込み部11(データ書き込み部)及び記憶装置20は、コンテンツアドレスを利用してデータを記憶装置20に格納する機能を有しており、以下に説明するように、データを分割及び分散し、かつ、コンテンツアドレスにて格納位置を特定して、データを格納する。以下、ストレージシステム1にてコンテンツアドレスを利用したデータ書き込み処理について、図4乃至図5を参照して説明する。
 まず、図4及び図5の矢印Y1に示すように、データ書き込み/読み取りソフトウェア30から書き込み要求されたファイルAの入力を受けると、図4及び図5の矢印Y2に示すように、当該ファイルAを、所定容量(例えば、64KB)のブロックデータDに分割する。なお、上記ファイルAは、例えば、後述するように、データ分離部12にて分離されたユーザデータファイル、管理データファイル、インデックスデータファイルである。あるいは、上記ブロックデータDは、例えば、データ分離部12にて分離された各ユーザデータ、各管理データ、各インデックスデータであってもよい。
 そして、このブロックデータDのデータ内容に基づいて、当該データ内容を代表する固有のハッシュ値Hを算出する(図5の矢印Y3)。例えば、ハッシュ値Hは、予め設定されたハッシュ関数を用いて、ブロックデータDのデータ内容から算出する。
 続いて、ファイルAのブロックデータDのハッシュ値Hを用いて、当該ブロックデータDが既に格納されているか否かを調べる。具体的には、まず、既に格納されているブロックデータDは、そのハッシュ値Hと格納位置を表すコンテンツアドレスCAとが、関連付けられてMFI(Main Fragment Index)ファイルに登録されている。従って、格納前に算出したブロックデータDのハッシュ値HがMFIファイル内に存在している場合には、既に同一内容のブロックデータDが格納されていると判断できる(図5の矢印Y4)。この場合には、格納前のブロックデータDのハッシュ値Hと一致したMFI内のハッシュ値Hに関連付けられているコンテンツアドレスCAを、当該MFIファイルから取得する。そして、このコンテンツアドレスCAを、書き込み要求されたブロックデータDのコンテンツアドレスCAとして返却する。これにより、このコンテンツアドレスCAにて参照される既に格納されているデータが、書き込み要求されたブロックデータDとして使用されることとなり、当該書き込み要求にかかるブロックデータDを記憶する必要がなくなる。
 また、書き込み要求にかかるブロックデータDがまだ記憶されていないと判断された場合には、かかるブロックデータDを圧縮して、図5の矢印Y5に示すように、複数の所定の容量のフラグメントデータに分割する。例えば、図4の符号D1~D9に示すように、9つのフラグメントデータ(分割データ41)に分割する。そしてさらに、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータを復元可能なよう冗長データを生成し、上記分割したフラグメントデータ41に追加する。例えば、図4の符号D10~D12に示すように、3つのフラグメントデータ(冗長データ42)を追加する。これにより、9つの分割データ41と、3つの冗長データとにより構成される12個のフラグメントデータからなるデータセット40を生成する。
 続いて、上述したように生成されたデータセットを構成する各フラグメントデータを、記憶装置に形成された各記憶領域に、それぞれ分散して格納する。例えば、図4に示すように、12個のフラグメントデータD1~D12を生成した場合には、複数の記憶装置内にそれぞれ形成したデータ格納ファイルに、各フラグメントデータD1~D12を1つずつそれぞれ格納する(図5の矢印Y6参照)。
 続いて、ストレージシステム1は、上述したように格納したフラグメントデータD1~D12の格納位置、つまり、当該フラグメントデータD1~D12にて復元されるブロックデータDの格納位置を表すコンテンツアドレスCAを生成して管理する。具体的には、格納したブロックデータDの内容に基づいて算出したハッシュ値Hの一部(ショートハッシュ)(例えば、ハッシュ値Hの先頭8B(バイト))と、論理格納位置を表す情報と、を組み合わせて、コンテンツアドレスCAを生成する。そして、このコンテンツアドレスCAを、ストレージシステム1内のファイルシステムに返却する(図5の矢印Y7)。すると、ストレージシステム1は、バックアップ対象データのファイル名などの識別情報と、コンテンツアドレスCAとを関連付けてファイルシステムで管理する。
 また、ブロックデータDのコンテンツアドレスCAと、当該ブロックデータDのハッシュ値Hと、を関連付けて、各ストレージノード3がMFIファイルにて管理する。このように、上記コンテンツアドレスCAは、ファイルを特定する情報やハッシュ値Hなどと関連付けられて、アクセラレータノード2やストレージノード3の記憶装置に格納される。
 さらに、ストレージシステム1は、上述したように格納したファイルを読み出す制御を行う。例えば、ストレージシステム1に対して、特定のファイルを指定して読み出し要求があると、まず、ファイルシステムに基づいて、読み出し要求にかかるファイルに対応するハッシュ値の一部であるショートハッシュと論理位置の情報からなるコンテンツアドレスCAを指定する。そして、コンテンツアドレスCAがMFIファイルに登録されているか否かを調べる。登録されていなければ、要求されたデータは格納されていないため、エラーを返却する。
 一方、読み出し要求にかかるコンテンツアドレスCAが登録されている場合には、上記コンテンツアドレスCAにて指定される格納位置を特定し、この特定された格納位置に格納されている各フラグメントデータを、読み出し要求されたデータとして読み出す。このとき、各フラグメントが格納されているデータ格納ファイルと、当該データ格納ファイルのうち1つのフラグメントデータの格納位置が分かれば、同一の格納位置から他のフラグメントデータの格納位置を特定することができる。
 そして、読み出し要求に応じて読み出した各フラグメントデータからブロックデータDを復元する。さらに、復元したブロックデータDを複数連結し、ファイルAなどの一群のデータに復元して返却する。
 以上のようにして、本実施形態におけるストレージシステム1はデータの重複を排除しているが、さらにデータ格納効率を高めるための構成となっている。かかる構成について詳述する。
 まず、データ分離/結合装置10が備えるデータ分離部12は、ファイルの実データ部分であり生成された時間や更新回数などによっても値が変化しない「ユーザデータ部分」と、タイムスタンプや通番などのように時間や更新回数などの違いによって値が変化しファイル自体の管理情報を含む「管理データ部分」と、に分離する。つまり、ユーザデータ部分は、他のユーザデータと同一内容となる可能性があり、重複排除効果が期待できるデータである。一方、管理データ部分は、他の管理データと同一内容となる可能性が低く、重複排除効果が期待しづらいデータである。なお、ユーザデータ部分と管理データ部分との分離は、予めデータ分離部12に各データ部分を区別するための基準情報が設定されており、かかる基準情報に基づいて行われる。
 但し、データ分離部12は、書き込み対象となるデータを、必ずしも「ユーザデータ部分」と「管理データ部分」とに分離することに限定されない。予め設定された基準に従って分類される1種類あるいは複数種類の他のデータ部分に分離してもよい。
 そして、分離データ書き込み部11(データ書き込み部)は、上記データ分離部12にて分離されたデータを記憶装置20に格納する。このとき、分離されたデータは、分離されたデータの種別に応じて異なるファイルに格納されるが、このとき、分離データ関連付け部13が、分離結果に基づいて、各ユーザデータ部分や各管理データ部分の格納位置をそれぞれ特定する情報を含むインデックスデータを生成する。
 そして、分離データ書き込み部11は、分離したユーザデータ部分と、管理データ部分と、インデックスデータとを、それぞれ異なるファイルに格納して、記憶装置20に記憶する。具体的には、まず、ユーザデータ部分は、図6に示すように、記憶装置20に形成されたユーザデータファイル記憶部21内のユーザデータファイルに格納する。また、管理データ部分は、図6に示すように、記憶装置20に形成された管理データファイル記憶部22内の管理データファイルに格納する。さらに、インデックスデータは、図6に示すように、記憶装置20に形成されたインデックスデータファイル記憶部23内のインデックスデータファイルに格納する。
 これにより、ユーザデータファイル記憶部21には、ユーザデータのみが格納されたユーザデータファイルが記憶される。また、管理データファイル記憶部22には、管理データのみが格納された管理データファイルが記憶される。また、インデックスデータファイル記憶部23には、ユーザデータと管理データのインデックス情報のみが格納されたインデックスデータファイルが記憶される。
 そして、上記インデックデータは、図7に示すように、ファイル種別、分離前ファイルにおけるファイル内オフセット、分離後の各ファイルにおけるファイル内オフセット、分離後のデータ長など、種々の管理情報を含んでいる。具体的に、上記「ファイル種別」は、対応するユーザデータあるいは管理データが格納されているファイル種別やファイル自体を特定するファイル情報である。また、「分離前ファイルにおけるファイル内オフセット」は、分離されたユーザデータあるいは管理データの分離される前のファイル内における位置情報である。また、「分離後の各ファイルにおけるファイル内オフセット」は、分離されたユーザデータあるいは管理データが分離後に格納されたユーザデータファイルあるいは管理データファイル内における位置情報である。そして、「分離後のデータ長」は、分離されたユーザデータあるいは管理データ自体のデータ長である。但し、インデックスデータに記憶される情報は、上述した情報に限定されない。
 なお、上述した各ファイルは、上記図4,5を参照して説明したように、さらに分割及び冗長化され、分散して複数の記憶装置に記憶される。
 また、データ分離/結合装置10が有する分離データ読み取り部14(データ読み取り部)は、データ書き込み/読み取りソフトウェア30から読み取りの要求があったファイル名をもとに、ユーザデータファイル、管理データファイル、インデックスデータファイルを、記憶装置20内から取得する。そして、分離データ関連付け部13が、取得したインデックスデータファイルに記憶されている情報に基づいて、ユーザデータ及び管理データが格納されている各ファイルや当該ファイル内における格納位置を解析する。続いて、解析した結果に応じて、ユーザデータファイル及び管理データファイルからそれぞれユーザデータ及び管理データを読み取る。そして、これらをインデックスデータファイルに記憶されている情報に従って、分離前のデータにおけるユーザデータ及び管理データの位置を特定し、当該ユーザデータ及び管理データを結合して、分離前のデータを生成する。
 その後、分離データ読み取り部14は、生成された分離前のデータを、データ書き込み/読み取りソフトウェア30に返却する。これらにより、データ書き込み/読み取りソフトウェア30は、データが分離され格納されていることを意識せずにファイルを参照することができる。
 [動作]
 次に、上述したストレージシステム1つまりデータ分離/結合装置10の動作を、図6と、図8及び図9のフローチャートを参照して説明する。
 まず、データ書き込み時の動作を、図6及び図8を参照して説明する。データ書き込み/読み取りソフトウェア30は、データ分離/結合装置10に対してデータ書き込み要求を発行すると(ステップS1)、分離データ書き込み部11は、受け取ったデータをデータ分離部12に渡す。そして、データ分離部12は、受け取ったデータを上述したようにユーザデータ部分と管理データ部分に分離し、その情報を分離データ書き込み部11に返却する(ステップS2)。
 続いて、分離データ書き込み部11は、受け取ったデータ分離に関する情報を、分離データ関連付け部13に渡す。すると、分離データ関連付け部13は、受け取ったデータ分離に関する情報を元に、インデックスデータを作成し(ステップS3)、それを分離データ書き込み部11に返却する。なお、インデックスデータには、図7に示すように、分離された各データが格納されるファイル種別と、データ分離前のファイルのファイル内オフセットと、データ分離後のユーザデータファイルまたは管理データファイルのファイル内オフセットと、分離後のデータの長さと、その他の管理情報が含まれる。
 最後に、分離データ書き込み部11は、データ分離に関する情報とインデックスデータをもとに、ユーザデータと、管理データと、インデックスデータを、記憶装置20内に、それぞれ別ファイルとして書き込む(ステップS4)。つまり、図6に示すように、ユーザデータはユーザデータファイルへ、管理データは管理データファイルへ、インデックスデータはインデックスデータファイルへ、それぞれ書き込む。なお、図6の例では、インデックス1は、ユーザデータであるデータ2の位置情報等を含んでおり、インデックス2は、管理データであるデータ1の位置情報等を含んでいる。
 次に、データ読み取り時の動作について、図6及び図9を参照して説明する。データ書き込み/読み取りソフトウェア30は、データ分離/結合装置10へデータ読み取り要求を発行すると(ステップS11)、分離データ読み取り部14は、読み取りが要求されたファイル名をもとに、記憶装置20に格納されているユーザデータファイルと、管理データファイルと、インデックスデータファイルを取得し(ステップS12)、それぞれの情報を分離データ関連付け部13に渡す。
 すると、分離データ関連付け部13は、受け取った情報をもとに、要求されたデータに対応するインデックデータをインデックデータファイルから読み取る。更に、読み取ったインデックデータをもとに、要求されたデータに対応するユーザデータをユーザデータファイルから読み取り、要求されたデータに対応する管理データを管理データファイルから読み取る。このとき、インデックスデータに含まれているファイル種別、データ分離前のファイルのファイル内オフセット、データ分離後のユーザデータファイルまたは管理データファイルのファイル内オフセット、分離後のデータの長さ、などの情報に基づいて、要求されているデータを構成するユーザデータと管理データとを読み取る。例えば、図6の例では、インデックス1をもとに、ユーザデータであるデータ2を読み取り、インデックス2をもとに、管理データであるデータ1を読み取る。
 そしてさらに、インデックスデータをもとに、読み取ったユーザデータと管理データとを結合して(ステップS13)、分離前のもとのデータを生成し、当該結合したデータを分離データ読み取り部14に返却する。
 そして、分離データ読み取り部14は、返却されたデータを、データ分離前のファイルのデータとして、データ書き込み/読み取りソフトウェア30に返却する。
 以上のように、本発明によると、例えば、データをバックアップする場合に、バックアップソフトウェアがバックアップファイルに挿入する管理情報によりデータ重複排除率の低下を招くことがあるが、バックアップファイル中のデータをユーザデータと管理データに分離して記憶装置に記憶することで、データ重複排除の効率の向上を図ることができる。つまり、データ量が少ない管理データやインデックデータに対してはデータ重複排除がほとんど行われないが、ユーザデータファイルへ書き込まれた多くのユーザデータに対してはデータ重複排除が効率良く動作し、高いデータ重複排除率を実現できる。
 また、ストレージシステム内では上述したように重複排除率を高めるべくデータを分離して複数のファイルに格納しているが、データの読み取り時には分離されたデータを結合して1つのデータとして提供するため、外部からは1つのファイルとして扱うことができる。
 <付記>
 上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージ装置110の構成の概略について図10を参照して説明する。また、本発明における、プログラム、データ格納方法の構成について説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
 書き込み対象となるデータを記憶装置120に格納すると共に、当該記憶装置120に既に記憶されているデータと同一内容の他のデータを記憶装置120に格納する場合に当該記憶装置120に既に記憶されているデータを他のデータとして参照させるデータ書き込み部111と、
 書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離するデータ分離部112と、を備え、
 前記データ書き込み部111は、前記ユーザデータ部分をユーザデータ用ファイル121に格納すると共に、前記管理データ部分を管理データ用ファイル122に格納して、前記データ分離部112にて分離された前記ユーザデータ部分と前記管理データ部分とを記憶装置120に記憶する、
ストレージ装置110。
(付記2)
 付記1に記載のストレージ装置であって、
 前記データ書き込み部は、前記データ分離部にて分離された前記ユーザデータ部分及び前記管理データ部分の分離前におけるデータ中の位置情報と、前記ユーザデータ部分及び前記管理データ部分の分離後における前記ユーザデータ用ファイル及び前記管理データ用ファイルのそれぞれの中の位置情報と、を含むインデックスデータを、インデックスデータ用ファイルに格納して記憶装置に記憶する、
ストレージ装置。
(付記3)
 付記2に記載のストレージ装置であって、
 前記データ書き込み部が前記インデックスデータ用ファイルに格納する前記インデックスデータは、前記データ分離部にて分離された前記ユーザデータ部分及び前記管理データ部分がそれぞれ格納されている前記ユーザデータ用ファイル及び前記管理データ用ファイルを特定するファイル情報を含む、
ストレージ装置。
(付記4)
 付記2又は3に記載のストレージ装置であって、
 前記データ書き込み部が前記インデックスデータ用ファイルに格納する前記インデックスデータは、前記データ分離部にて分離された前記ユーザデータ部分及び前記管理データ部分のそれぞれのデータ長を表すデータ長情報を含む、
ストレージ装置。
(付記5)
 付記2乃至4のいずれかに記載のストレージ装置であって、
 前記インデックスデータ用ファイルに格納された前記インデックスデータを読み取り、当該インデックスデータに含まれた情報に基づいて、記憶装置に記憶された前記ユーザデータ部分及び前記管理データ部分を読み取り、前記データ分離部にて分離される前のデータを復元するデータ読み取り部を備えた、
ストレージ装置。
(付記6)
 付記1乃至5のいずれかに記載のストレージ装置であって、
 前記管理データ部分は、書き込み対象となるデータを管理するための管理情報である、
ストレージ装置。
(付記7)
 情報処理装置に、
 書き込み対象となるデータを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させるデータ書き込み部と、
 書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離するデータ分離部と、を実現させると共に、
 前記データ書き込み部は、前記ユーザデータ部分をユーザデータ用ファイルに格納すると共に、前記管理データ部分を管理データ用ファイルに格納して、前記データ分離部にて分離された前記ユーザデータ部分と前記管理データ部分とを記憶装置に記憶する、
プログラム。
(付記8)
 付記7に記載のプログラムであって、
 前記データ書き込み部は、前記データ分離部にて分離された前記ユーザデータ部分及び前記管理データ部分の分離前におけるデータ中の位置情報と、前記ユーザデータ部分及び前記管理データ部分の分離後における前記ユーザデータ用ファイル及び前記管理データ用ファイルのそれぞれの中の位置情報と、を含むインデックスデータを、インデックスデータ用ファイルに格納して記憶装置に記憶する、
プログラム。
(付記9)
 書き込み対象となるデータを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させる機能を有する情報処理装置にて、
 書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離して、
 前記ユーザデータ部分をユーザデータ用ファイルに格納すると共に、前記管理データ部分を管理データ用ファイルに格納して、分離された前記ユーザデータ部分と前記管理データ部分とを記憶装置に記憶する、
データ格納方法。
(付記10)
 付記9に記載のデータ格納方法であって、
 分離された前記ユーザデータ部分及び前記管理データ部分の分離前におけるデータ中の位置情報と、前記ユーザデータ部分及び前記管理データ部分の分離後における前記ユーザデータ用ファイル及び前記管理データ用ファイルのそれぞれの中の位置情報と、を含むインデックスデータを、インデックスデータ用ファイルに格納して記憶装置に記憶する、
データ格納方法。
 以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
 なお、本発明は、日本国にて2010年3月4日に特許出願された特願2010-47411の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
1   ストレージシステム
2   アクセラレータノード
3   ストレージノード
4   バックアップシステム
5   バックアップ対象装置
10  データ分離/結合装置
11  分離データ書き込み部
12  データ分離部
13  分離データ関連付け部
14  分離データ読み取り部
20  記憶装置
21  ユーザデータファイル記憶部
22  管理データファイル記憶部
23  インデックスデータファイル記憶部
30  ソフトウェア
110 ストレージ装置
111 データ書き込み部
112 データ分離部
120 記憶装置
121 ユーザデータ用ファイル
122 管理データ用ファイル
 

Claims (10)

  1.  書き込み対象となるデータを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させるデータ書き込み部と、
     書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離するデータ分離部と、を備え、
     前記データ書き込み部は、前記ユーザデータ部分をユーザデータ用ファイルに格納すると共に、前記管理データ部分を管理データ用ファイルに格納して、前記データ分離部にて分離された前記ユーザデータ部分と前記管理データ部分とを記憶装置に記憶する、
    ストレージ装置。
  2.  請求項1に記載のストレージ装置であって、
     前記データ書き込み部は、前記データ分離部にて分離された前記ユーザデータ部分及び前記管理データ部分の分離前におけるデータ中の位置情報と、前記ユーザデータ部分及び前記管理データ部分の分離後における前記ユーザデータ用ファイル及び前記管理データ用ファイルのそれぞれの中の位置情報と、を含むインデックスデータを、インデックスデータ用ファイルに格納して記憶装置に記憶する、
    ストレージ装置。
  3.  請求項2に記載のストレージ装置であって、
     前記データ書き込み部が前記インデックスデータ用ファイルに格納する前記インデックスデータは、前記データ分離部にて分離された前記ユーザデータ部分及び前記管理データ部分がそれぞれ格納されている前記ユーザデータ用ファイル及び前記管理データ用ファイルを特定するファイル情報を含む、
    ストレージ装置。
  4.  請求項2又は3に記載のストレージ装置であって、
     前記データ書き込み部が前記インデックスデータ用ファイルに格納する前記インデックスデータは、前記データ分離部にて分離された前記ユーザデータ部分及び前記管理データ部分のそれぞれのデータ長を表すデータ長情報を含む、
    ストレージ装置。
  5.  請求項2乃至4のいずれかに記載のストレージ装置であって、
     前記インデックスデータ用ファイルに格納された前記インデックスデータを読み取り、当該インデックスデータに含まれた情報に基づいて、記憶装置に記憶された前記ユーザデータ部分及び前記管理データ部分を読み取り、前記データ分離部にて分離される前のデータを復元するデータ読み取り部を備えた、
    ストレージ装置。
  6.  請求項1乃至5のいずれかに記載のストレージ装置であって、
     前記管理データ部分は、書き込み対象となるデータを管理するための管理情報である、
    ストレージ装置。
  7.  情報処理装置に、
     書き込み対象となるデータを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させるデータ書き込み部と、
     書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離するデータ分離部と、を実現させると共に、
     前記データ書き込み部は、前記ユーザデータ部分をユーザデータ用ファイルに格納すると共に、前記管理データ部分を管理データ用ファイルに格納して、前記データ分離部にて分離された前記ユーザデータ部分と前記管理データ部分とを記憶装置に記憶する、
    プログラム。
  8.  請求項7に記載のプログラムであって、
     前記データ書き込み部は、前記データ分離部にて分離された前記ユーザデータ部分及び前記管理データ部分の分離前におけるデータ中の位置情報と、前記ユーザデータ部分及び前記管理データ部分の分離後における前記ユーザデータ用ファイル及び前記管理データ用ファイルのそれぞれの中の位置情報と、を含むインデックスデータを、インデックスデータ用ファイルに格納して記憶装置に記憶する、
    プログラム。
  9.  書き込み対象となるデータを記憶装置に格納すると共に、当該記憶装置に既に記憶されているデータと同一内容の他のデータを記憶装置に格納する場合に当該記憶装置に既に記憶されているデータを他のデータとして参照させる機能を有する情報処理装置にて、
     書き込み対象となるデータを、予め設定された基準に従って分類されるユーザデータ部分と管理データ部分とに分離して、
     前記ユーザデータ部分をユーザデータ用ファイルに格納すると共に、前記管理データ部分を管理データ用ファイルに格納して、分離された前記ユーザデータ部分と前記管理データ部分とを記憶装置に記憶する、
    データ格納方法。
  10.  請求項9に記載のデータ格納方法であって、
     分離された前記ユーザデータ部分及び前記管理データ部分の分離前におけるデータ中の位置情報と、前記ユーザデータ部分及び前記管理データ部分の分離後における前記ユーザデータ用ファイル及び前記管理データ用ファイルのそれぞれの中の位置情報と、を含むインデックスデータを、インデックスデータ用ファイルに格納して記憶装置に記憶する、
    データ格納方法。
     
PCT/JP2010/007183 2010-03-04 2010-12-10 ストレージ装置 WO2011108048A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP10846955.2A EP2544092A4 (en) 2010-03-04 2010-12-10 STORAGE DEVICE
JP2012502894A JP5517224B2 (ja) 2010-03-04 2010-12-10 ストレージ装置
CN201080065158.7A CN102792281B (zh) 2010-03-04 2010-12-10 存储设备
US13/582,185 US20120324182A1 (en) 2010-03-04 2010-12-10 Storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010047411 2010-03-04
JP2010-047411 2010-03-04

Publications (1)

Publication Number Publication Date
WO2011108048A1 true WO2011108048A1 (ja) 2011-09-09

Family

ID=44541734

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/007183 WO2011108048A1 (ja) 2010-03-04 2010-12-10 ストレージ装置

Country Status (5)

Country Link
US (1) US20120324182A1 (ja)
EP (1) EP2544092A4 (ja)
JP (1) JP5517224B2 (ja)
CN (1) CN102792281B (ja)
WO (1) WO2011108048A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208650A (ja) * 2011-03-29 2012-10-25 Nec Corp ストレージ装置
JP2014120160A (ja) * 2012-12-12 2014-06-30 Kofukin Seimitsu Kogyo (Shenzhen) Yugenkoshi データブロックバックアップシステム及びその方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959273B2 (en) * 2012-04-26 2018-05-01 International Business Machines Corporation Enterprise-level data protection with variable data granularity and data disclosure control with hierarchical summarization, topical structuring, and traversal audit
JP6406283B2 (ja) * 2016-03-01 2018-10-17 日本電気株式会社 ストレージ装置およびストレージ方法
US20230097472A1 (en) * 2021-09-24 2023-03-30 Vertiv It Systems, Inc. Serial-over-ip adapter enriched with virtual usb media support

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003524243A (ja) * 2000-02-18 2003-08-12 アヴァマー テクノロジーズ インコーポレイテッド 共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法
JP2005235171A (ja) 2003-12-09 2005-09-02 Emc Corp 時間的に近接して記憶システムに書き込まれたデータユニットを示すコンテンツアドレスの生成方法およびその装置
JP2009276859A (ja) * 2008-05-12 2009-11-26 Hitachi Ltd サーバ計算機、計算機システムおよびファイル管理方法
JP2010047411A (ja) 2008-08-25 2010-03-04 Hitachi Building Systems Co Ltd 乗客コンベアの掃除装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636357A (en) * 1994-12-21 1997-06-03 Eurotronics Company Memory card and method for operation in a plurality of systems having incompatible object code format requirements
JP2000293413A (ja) * 1999-04-09 2000-10-20 Canon Inc データ保存装置および記憶媒体
US6704730B2 (en) * 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
US6606629B1 (en) * 2000-05-17 2003-08-12 Lsi Logic Corporation Data structures containing sequence and revision number metadata used in mass storage data integrity-assuring technique
US7818505B2 (en) * 2004-12-29 2010-10-19 International Business Machines Corporation Method and apparatus for managing a cache memory in a mass-storage system
JP4751163B2 (ja) * 2005-09-29 2011-08-17 株式会社東芝 メモリシステム
WO2007047349A2 (en) * 2005-10-14 2007-04-26 Symantec Operating Corporation Technique for improving scalability and portability of a storage management system
JP5076411B2 (ja) * 2005-11-30 2012-11-21 ソニー株式会社 記憶装置、コンピュータシステム
KR101002978B1 (ko) * 2005-12-09 2010-12-22 샌디스크 아이엘 엘티디 플래시 메모리 관리 시스템 및 방법
US7676509B2 (en) * 2006-02-01 2010-03-09 I365 Inc. Methods and apparatus for modifying a backup data stream including a set of validation bytes for each data block to be provided to a fixed position delta reduction backup application
US9727452B2 (en) * 2007-12-14 2017-08-08 Virident Systems, Llc Distributing metadata across multiple different disruption regions within an asymmetric memory system
US8352540B2 (en) * 2008-03-06 2013-01-08 International Business Machines Corporation Distinguishing data streams to enhance data storage efficiency
TWI362668B (en) * 2008-03-28 2012-04-21 Phison Electronics Corp Method for promoting management efficiency of an non-volatile memory storage device, non-volatile memory storage device therewith, and controller therewith
US8732388B2 (en) * 2008-09-16 2014-05-20 Micron Technology, Inc. Embedded mapping information for memory devices
US8620845B2 (en) * 2008-09-24 2013-12-31 Timothy John Stoakes Identifying application metadata in a backup stream
US20100332401A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003524243A (ja) * 2000-02-18 2003-08-12 アヴァマー テクノロジーズ インコーポレイテッド 共通性ファクタリングシステムに用いられるハッシュファイルシステムおよび方法
JP2005235171A (ja) 2003-12-09 2005-09-02 Emc Corp 時間的に近接して記憶システムに書き込まれたデータユニットを示すコンテンツアドレスの生成方法およびその装置
JP2009276859A (ja) * 2008-05-12 2009-11-26 Hitachi Ltd サーバ計算機、計算機システムおよびファイル管理方法
JP2010047411A (ja) 2008-08-25 2010-03-04 Hitachi Building Systems Co Ltd 乗客コンベアの掃除装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP2544092A4 *
TOMOE SUGIHARA ET AL.: "Jisedai Grid Storage 'HYDRAstor'", NEC TECHNICAL JOURNAL, vol. 60, no. 3, 25 July 2007 (2007-07-25), pages 29 - 32 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208650A (ja) * 2011-03-29 2012-10-25 Nec Corp ストレージ装置
JP2014120160A (ja) * 2012-12-12 2014-06-30 Kofukin Seimitsu Kogyo (Shenzhen) Yugenkoshi データブロックバックアップシステム及びその方法

Also Published As

Publication number Publication date
JPWO2011108048A1 (ja) 2013-06-20
EP2544092A1 (en) 2013-01-09
JP5517224B2 (ja) 2014-06-11
CN102792281A (zh) 2012-11-21
EP2544092A4 (en) 2014-03-19
CN102792281B (zh) 2015-11-25
US20120324182A1 (en) 2012-12-20

Similar Documents

Publication Publication Date Title
US7490207B2 (en) System and method for performing auxillary storage operations
JP5413948B2 (ja) ストレージシステム
JP5637552B2 (ja) ストレージシステム
JP5407430B2 (ja) ストレージシステム
US8725969B2 (en) Distributed content storage system supporting different redundancy degrees
WO2010097849A1 (ja) ストレージシステム
EP2416236B1 (en) Data restore system and method
JP5517224B2 (ja) ストレージ装置
JP5391705B2 (ja) ストレージシステム
JP5533888B2 (ja) ストレージ装置
JP5660617B2 (ja) ストレージ装置
JP5585116B2 (ja) ストレージシステム
JP5459388B2 (ja) ストレージ装置
JP6337982B1 (ja) ストレージシステム
JP2015170345A (ja) ストレージシステム
JP5891842B2 (ja) ストレージシステム
JP6337507B2 (ja) ストレージシステム
JP6343952B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080065158.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10846955

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012502894

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13582185

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2010846955

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010846955

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE