WO2010100813A1 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
WO2010100813A1
WO2010100813A1 PCT/JP2010/000153 JP2010000153W WO2010100813A1 WO 2010100813 A1 WO2010100813 A1 WO 2010100813A1 JP 2010000153 W JP2010000153 W JP 2010000153W WO 2010100813 A1 WO2010100813 A1 WO 2010100813A1
Authority
WO
WIPO (PCT)
Prior art keywords
metadata
data
address
storage
file
Prior art date
Application number
PCT/JP2010/000153
Other languages
English (en)
French (fr)
Inventor
森研司
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to CN201080006260.XA priority Critical patent/CN102301347B/zh
Priority to US13/146,687 priority patent/US8843445B2/en
Priority to EP10748418.0A priority patent/EP2405359A4/en
Publication of WO2010100813A1 publication Critical patent/WO2010100813A1/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 system, and more particularly to a storage system that distributes data and stores it in a plurality of storage devices.
  • Patent Document 1 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. Then, by designating the content address later, it is possible to read out the data stored at the storage location specified by the content address, that is, the fragment, and restore the predetermined data before the division from the plurality of fragments.
  • the content address is generated so as to be unique depending on the data content. 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.
  • FIG. 1 shows an example of metadata of a content address storage system.
  • metadata 181, 182, and 171 include key portions 181 a, 182 a, and 171 a that store information indicating the position of the divided data in the original file, and storage locations of data or other metadata.
  • address portions 181b, 182b, and 171b for storing information to be expressed.
  • data having the same content may be stored in the address portion in the metadata. That is, there are many cases where the content address data is recorded in duplicate, which causes a problem that the data capacity increases.
  • an object of the present invention is to provide a storage system that can reduce the storage cost by eliminating duplicate storage and reducing the data capacity, which is the above-described problem.
  • a storage system provides: A data storage unit for storing the divided data constituting the file; A metadata storage unit for storing metadata representing the storage position of the divided data; The division data is stored in the data storage unit, metadata indicating a storage position of the division data is stored in the metadata storage unit, and based on the metadata stored in the metadata storage unit And data processing means for reading the divided data stored in the data storage unit and reproducing the file.
  • the data processing means stores a key portion for storing in-file position information indicating the position of the divided data in the file, and the divided data corresponding to the position represented by the in-file position information.
  • a configuration is adopted in which data is stored in the metadata storage unit.
  • the program which is the other form of this invention is: An information processing apparatus comprising: a data storage unit that stores divided data constituting a file; and a metadata storage unit that stores metadata representing a storage position of the divided data.
  • the division data is stored in the data storage unit, metadata indicating a storage position of the division data is stored in the metadata storage unit, and based on the metadata stored in the metadata storage unit
  • a program for realizing the data processing means for reading the divided data stored in the data storage unit and reproducing the file is provided.
  • the data processing means stores a key portion for storing in-file position information indicating the position of the divided data in the file, and the divided data corresponding to the position represented by the in-file position information.
  • a configuration is adopted in which data is stored in the metadata storage unit.
  • the data structure of the data which is the other form of this invention is: A data storage unit for storing the divided data constituting the file; A metadata storage unit for storing metadata representing the storage position of the divided data; The division data is stored in the data storage unit, metadata indicating a storage position of the division data is stored in the metadata storage unit, and based on the metadata stored in the metadata storage unit And a data structure of data stored in the metadata storage unit in a storage system including data processing means for reading the divided data stored in the data storage unit and reproducing the file.
  • the data structure of the above data is A key portion for storing in-file position information indicating the position of the divided data in the file, and address information indicating a storage position in which the divided data corresponding to the position represented by the in-file position information is stored. And an address part for storing the information corresponding to the position information in the file, and having metadata composed of data obtained by separating the key part and the address part from each other. .
  • a data processing method includes: An information processing apparatus comprising: a data storage unit that stores divided data that constitutes a file; and a metadata storage unit that stores metadata representing a storage position of the divided data. Storing the divided data in the data storage unit, storing metadata representing the storage position of the divided data in the metadata storage unit, Based on the metadata stored in the metadata storage unit, the divided data stored in the data storage unit is read and the file is reproduced.
  • a key part for storing position information in the file indicating the position of the divided data in the file, and a position represented by the position information in the file Address information indicating a storage location in which the divided data corresponding to the storage location is stored in correspondence with the location information in the file, and the key portion and the address portion are mutually connected.
  • a configuration is adopted in which the metadata configured by the separated data is stored in the metadata storage unit.
  • the present invention is configured as described above, so that the storage capacity of metadata can be reduced, the storage capacity of the entire storage system can be reduced, and the storage cost can be reduced.
  • FIG. 1 is a block diagram showing a configuration of an entire system including a storage system in Embodiment 1 of the present invention.
  • 1 is a block diagram showing an outline of the configuration of a storage system in Embodiment 1 of the present invention.
  • FIG. 4 is a diagram illustrating a configuration of a storage system disclosed in FIG. 3 and a structure of stored data. It is a figure which shows an example of the content address table memorize
  • FIG. 4 is a diagram illustrating an example of metadata stored in a root node and an index node of the storage system disclosed in FIG. 3.
  • FIG. 4 is a diagram illustrating an example of metadata stored in a root node and an index node of the storage system disclosed in FIG. 3.
  • FIG. 4 is a diagram illustrating an example of metadata stored in a leaf node of the storage system disclosed in FIG. 3. It is a figure which shows the mode of the data processing in the storage system disclosed in FIG. It is a figure which shows the mode of the data processing in the storage system disclosed in FIG. It is a figure which shows the mode of the data processing in the storage system disclosed in FIG. It is a figure which shows the structure of the data memorize
  • FIG. 10 is a functional block diagram illustrating a configuration of a storage system according to a fourth embodiment.
  • FIG. 14 is a data structure diagram illustrating an example of a structure of data stored in the storage system disclosed in FIG. 13.
  • FIG. 2 is a block diagram showing the configuration of the entire system.
  • FIG. 3 is a block diagram showing an outline of the storage system, and
  • FIG. 4 is a diagram showing a configuration and a structure of stored data.
  • the present embodiment shows a specific example of the storage system disclosed in the fourth embodiment 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 10 of the present invention is connected to a backup system 11 that controls backup processing via a network N. Then, the backup system 11 acquires a backup target file (file) stored in the backup target device 12 connected via the network N, and requests the storage system 10 to store it. Thereby, the storage system 10 stores the backup target file requested to be stored for backup.
  • a backup target file file
  • the storage system 10 in this embodiment has a configuration in which a plurality of server computers are connected.
  • the storage system 10 includes an accelerator node 10A that is a server computer that controls storage and reproduction operations in the storage system 10 itself, and a storage node 10B that is a server computer including a storage device that stores data. Yes.
  • the number of accelerator nodes 10A and the number of storage nodes 10B are not limited to those shown in FIG. 3, and more nodes 10A and 10B may be connected.
  • the accelerator node 10A includes a file system unit 20 constructed by incorporating an accelerator node program as shown in FIG.
  • the file system unit 20 has a function of managing the backup target file acquired from the backup system 11 and the storage location of the actually stored data and making it readable later.
  • description about the further detailed structure of 10 A of accelerator nodes is abbreviate
  • the storage node 10B includes a storage node control unit 30 (data processing means) and a content address unit 40 as shown in FIG.
  • the storage node control unit 30 includes a content address control unit 31.
  • the storage node control unit 30 is realized by incorporating a storage node program into a CPU (Central Processing Unit) provided in the storage node 10B.
  • CPU Central Processing Unit
  • the above program is provided to each of the nodes 10A and 10B in a state stored in a storage medium such as a CD-ROM.
  • the said program may be memorize
  • the content address unit 40 is configured in a storage device, and, as will be described later, a metadata unit 50 (metadata storage unit) for storing metadata and a data unit 90 for storing divided data constituting the file.
  • the metadata unit 50 includes a root node 60, an index node 70, and a leaf node 80 that store metadata representing a storage position of data stored in the data unit 90.
  • Each metadata stored in the root node 60, the index node 70, and the leaf node 80 is newly generated or updated and stored by the storage node control unit 30 at the time of data storage or at an arbitrary timing. .
  • the data structure of the metadata stored by the storage node control unit 30 in the root node 60, index node 70, and leaf node 80 will be described later.
  • the content address control unit 31 included in the storage node control unit 30 manages the content address table stored in a storage device, which will be described later.
  • Each metadata indicating the storage position of the stored data will be described in detail.
  • the storage data 91, 92, 93 stored in the data section 90 is divided data obtained by dividing a file to be stored stored in the storage system.
  • the metadata 81, 82 stored in the leaf node 80 is data representing the storage position of the storage data 91, 92 and the like.
  • the metadata 81 stored in the leaf node 80 includes an address part 81b for storing a content address (CA) which is address information indicating a storage position of the storage data 91 and the like, and storage data 91 as shown in the figure.
  • the key part 81a and the address part 81b are composed of files (data) separated from each other.
  • FIG. 9A shows a file constituting the key part 81a
  • FIG. 9B shows a file constituting the address part 81b.
  • the key part 81a and the address part 81b are different files as described above, but the data stored in each of them, that is, file offset (position information in the file) and CA (content address) are stored. They correspond to each other in the order of storage. For example, file offset1 and CA1 correspond to each other, and file offset2 and CA2 correspond to each other.
  • Both the key part 81a and the address part 81b store 320 data at maximum.
  • the CA (content address) stored in the address section 81b refers to the stored data 91 stored in the data section 90, and is unique data at the storage position of the stored data 91.
  • CA is data generated by including a part of a hash value generated based on the data content of stored data to be referenced and information indicating physical position information.
  • the file offset stored in the key portion 81a is data representing the relative position in the file in the file before division, such as the stored data 91 referred to by the corresponding CA.
  • FIGS. 9A and 9B when the key portion 81a is stored in the order of file offsets 1 and 2, it corresponds to CA1 and CA2 respectively corresponding to the file offsets 1 and 2, respectively. This indicates that the stored data 91 and 92 stored in the corresponding data portion 90 are positioned in this order in the file before division.
  • Metadata 71 (higher-order metadata) stored in the index node 70 is data representing a storage position of the metadata 81 stored in the leaf node 80 described above.
  • the metadata 71 stored in the index node 70 includes, as shown in FIG. 4, first, in the lower part, a key part 81a and an address part 81b constituting the metadata 81 stored in the leaf node 80, respectively. It has an address part (upper meta address part) for storing a content address (CA) that is address information to be referred to.
  • CA content address
  • the upper part has a key part (high-order meta key part) for storing in-file position information (file offset) indicating a relative position in the file before division of the stored data referred to in the address part. Yes.
  • the metadata 71 stored in the index node 70 is located in a lower hierarchy corresponding to one file offset (position information in a file) located in the upper stage (upper meta key part) described above.
  • Each content address (CA) referring to the key part 81a and the address part 81b constituting the metadata 81 in the leaf node 80 is stored. That is, in FIG. 4, the two CAs corresponding to the file offset at the right end of the metadata 71 refer to the metadata 81 including the key part of the reference numeral 81 a and the address part of the reference numeral 81 b.
  • each CA (content address) stored in the address part located in the lower stage of the metadata 71 stored in the index node 70 is the storage position of the key part 81a or the address part 81b in the leaf node 80 to be referred to.
  • Unique data For example, the CA is data generated including a part of the hash value generated based on the data contents of the key unit 81a and the address unit 81b to be referred to and information representing physical position information.
  • the file offset stored in the key part located in the upper stage of the metadata 71 stored in the index node 70 indicates the relative position in the file before the division of the stored data in the reference destination of the corresponding CA. It is data to represent. That is, it represents the order in the file before the division of the storage data 91 and the like that are further referred to by the metadata 81 and 82 in the leaf node 80 referred to by the CA and finally specified.
  • file offset (number) is each file offset.
  • CA k (number) is a content address indicating the key part of the metadata in the leaf node to be referenced
  • CA a (number) is the address part of the metadata in the leaf node to be referenced. It is a content address to show.
  • files are configured in the order of “file offset (number)”, “CA k (number)”, and “CA a (number)” corresponding thereto.
  • the metadata 71 stored in the index node 70 stores 320 sets of data at maximum.
  • the metadata 61 stored in the root node 60 is located at the top of each metadata described above, and is data representing the storage position of the metadata 71 stored in the index node 70.
  • the metadata 61 stored in the root node 60 stores a content address (CA) which is address information indicating the storage position of the metadata 71 stored in the index node 70 as shown in FIG. It has an address part and a key part for storing in-file position information (file offset) indicating the relative position in the file before division of the stored data located at the CA reference destination.
  • CA content address
  • file offset in-file position information
  • the CA (content address) stored in the address part is unique data at the storage location of the metadata 71 in the index node 70 to be referred to.
  • the CA is data generated including a part of the hash value generated based on the data content of the metadata 71 to be referred to and information representing physical position information.
  • the file offset stored in the key part is data representing the relative position in the file of the stored data at the reference destination of the corresponding CA. That is, it is finally identified by referring to the metadata in the index node 71 referred to by the CA, and the metadata 81 and 82 in the leaf node 80 referred to by the index node 71. This shows the order in the file before division of the stored data 91 and the like.
  • the metadata indicated by reference numeral 61 is metadata corresponding to the file A. That is, by using the storage data that is referred to by tracing all metadata (metadata 71 and 81 in the index node 70 and the leaf node 80) referred to in the metadata 61, the file A before division is used. Can be configured.
  • file offset (number) is each file offset.
  • CA (i + number) (for example, CAi1, CAi2)” is a content address indicating metadata in the index node to be referred to.
  • files are configured in the order of “file offset (number)” and “CA (i + number)” corresponding to this.
  • the metadata 61 stored in the root node 60 stores 320 sets of data at the maximum.
  • the storage node control unit 30 divides the file and stores the divided data in the data unit 90. Then, each metadata that refers to the stored data is generated or updated in a hierarchy as shown in FIG. At this time, the storage control unit 30 generates the metadata content address (CA) so as to refer to other existing metadata and stored data located in the lower hierarchy, so that the metadata and stored data are duplicated. Storage can be suppressed.
  • CA metadata content address
  • the storage control unit 30 traces the reference destination of each metadata, reads the stored data 91 that is referred to, and creates and reads the file. For example, as shown in FIG. 4, data is stored, and when the file A is read, the metadata 61 in the root node 60 that refers to the file A is changed into the index node 70 that is referred to by the metadata 61. The metadata and further the metadata in the leaf node 80 are traced, and a plurality of stored data finally referred to are read out. Then, the files are reproduced in the order indicated by the file offset in each metadata.
  • the content address table stores the type of content address (CA) stored in the address portion of all the metadata described above in the “content address column”. Further, the “counter column” stores the number of each content address (CA) referring to other data (stored data, metadata (including a key part file and an address part file constituting the metadata)). ing.
  • the content address control unit 31 updates the content address table when each piece of metadata is generated or updated by newly storing stored data or deleting stored data. Specifically, for each type of content address (CA) stored in each metadata, the number that each content address (CA) refers to other data is stored in the content address table and updated. .
  • the storage node control unit 30 determines that the content address (CA) at which the counter is “0”, that is, the number of referenced data is “0”. Delete other referenced data.
  • the file A has a data structure [a, a, b, b, b, c, c, d] as shown in FIG. Moreover, the code
  • the data a (DATAa), the data b (DATAb), the data c (DATAc), and the data d (DATA), which are the elements of the divided data constituting the file A, are Stored in the unit 90. Only one piece of data with the same content is stored.
  • CA content address
  • DATAa is in a state referred to by the content address “CAa, CAa” stored in the address part 81 b constituting the metadata 81 stored in the leaf node 80. That is, the content address indicating the storage location of “DATAa” is “CAa”.
  • CAa the content address “CAa, CAa” of the address part 81b is paired with the in-file position information “off1, off2” stored in the separated key part 81a that constitutes the metadata 81 as a pair. Each corresponds.
  • the metadata 81 stored in the leaf node 80 is referred to by the metadata 71 stored in the index node 70, respectively.
  • the key part 81a and the address part 81b constituting the metadata 81 in the leaf node 80 are respectively stored in the content addresses “CA3, CA4” stored in the address part of the metadata 71 in the index node 70.
  • Each is in a referenced state. That is, the content address indicating the storage position of the key part 81a constituting the metadata 81 is “CA3”, and the content address indicating the storage position of the address part 81b is “CA4”.
  • These content addresses “CA3, CA4” correspond to one in-file position information “off1” stored in the metadata 71.
  • the metadata 71 stores in-file position information and content addresses that refer to other data subsequent to DATAa constituting the file A.
  • the metadata 71 stored in the index node 70 is referred to by the metadata 61 stored in the root node 60.
  • the metadata 71 in the index node 70 is in a state referred to the content address “CA1” stored in the address part of the metadata 61 in the root node 60. That is, the content address representing the storage location of the metadata 71 is “CA1”.
  • These content addresses “CA1” correspond to the in-file position information “off1” stored in the metadata 61.
  • the metadata 61 stores in-file position information and content addresses that refer to other data subsequent to the data referred to by the CA1 in order to configure the file A. That is, the file A can be generated by using all stored data located at the reference destination of the content address stored in the root node 60.
  • the content address table is updated based on the above-described metadata as shown in FIG.
  • the counter number of each content address is the number of data referred to by the content address, in other words, referring to FIG. 8, the number is an arrow from each content address.
  • the file B has a data structure [a, a, e, b, b, b, c, c] as shown in FIG.
  • the data a (DATAa), the data e (DATAe), the data b (DATAb), and the data c (DATAc), which are elements of the divided data constituting the file A, are converted into data Stored in the unit 90. Since only one piece of data having the same content is stored, only DATAe is added and stored here.
  • metadata referring to the stored data a, e, b, and c is generated or updated according to the data structure of the file B described above and stored.
  • the data structure “a, a” on the head side of the file B is stored when the file A has already been stored. Therefore, the metadata 81 stored in the leaf node 80 referring to the “DATAa” is stored. (Key part 81a, address part 81b) are used. That is, the metadata 81 in the leaf node 80 is referred to by the metadata 73 in the index node 70 located at a higher hierarchy than the leaf node 80.
  • the key part 81a and the address part 81b constituting the existing metadata 81 in the leaf node 80 are respectively stored in the content addresses “CA3, CA4” stored in the address part of the metadata 73 in the index node 70.
  • the metadata 73 refers to the content addresses “CA3, CA4” of the key part 81 a and the address part 81 b constituting the existing metadata 81 in the leaf node 80.
  • These content addresses “CA3, CA4” correspond to one in-file position information “off1” stored in the metadata 73.
  • the metadata 71 stores in-file position information and content addresses that refer to other subsequent data in order to configure the file B.
  • the metadata 73 stored in the index node 70 is referred to by the metadata 62 stored in the root node 60.
  • the metadata 73 in the index node 70 is in a state referred to by the content address “CA11” stored in the address part of the metadata 62 in the root node 60.
  • the content address “CA11” corresponds to the in-file position information “off1” stored in the metadata 62.
  • the metadata 62 stores in-file position information and content addresses that refer to other data subsequent to the data referred to by the CA 11 in order to configure the file B. That is, the file B can be generated by using all stored data located at the reference destination of the content address stored in the root node 60.
  • the metadata 74 in the index node 70 referred to by the content address CA12 of the metadata 62 of the root node 60 will be described.
  • the metadata 74 stores content addresses “CA15, CA6” corresponding to one in-file position information “off1”. That is, the content address CA15 refers to the key part (indicated by the content address CA15) that constitutes a part of the metadata newly generated in the leaf node 80, but the content address CA6 refers to the data of the file A.
  • the address portion (data indicated by the content address CA6) that constitutes a part of the existing metadata generated to refer to is referred to.
  • one of the content addresses to be paired corresponding to the position information in one file stored in the index node 70 refers to another existing key part and the other is another new address.
  • the generated address part may be referred to.
  • the content address table is updated based on each metadata described above, as shown in FIG. Specifically, if a new type of content address has been generated, the content address is added, and if the number of references to the existing content address increases, the counter is updated.
  • the content address CA3 and the like stored in the deleted metadata 71 and 72 are deleted, so the content address table is updated together. Then, the counter of the content address CA3 is changed from “2” to “1” and not “0”, so the metadata referred to by the content address CA3 is not deleted.
  • metadata and stored data whose reference number is “0” are deleted, while metadata and stored data that are not “0” are left as they are.
  • FIG. 10 other unnecessary metadata and stored data that are not referred to by any metadata can be deleted, and deduplication of data can be efficiently performed.
  • deduplication of metadata since deduplication of metadata is performed, the types of content addresses are reduced, and management of the content address table is facilitated.
  • FIG. 11 is a diagram illustrating a state of data stored in the storage node according to the present embodiment.
  • the storage node control unit 30 of the storage system in the present embodiment has almost the same configuration as that of the second embodiment described above, but the configuration of metadata to be stored is particularly different.
  • the metadata 71 stored in the above-described index node 70 is composed of separate files separated by a key part 71a and an address part 71b.
  • the metadata 61 stored in the root node 60 described above corresponds to one file offset (in-file position information) located in the upper stage as shown in FIG. 11 in the present embodiment.
  • Each content address (CA) for referring to the key part 71a file and the address part 71b file constituting the metadata 71 in the index node 70 located in the lower hierarchy is stored. That is, the metadata 61 of the root node 60 in this embodiment has the same configuration as the metadata stored in the index node in the first embodiment.
  • FIG. 12 is a diagram showing a state of data stored in the storage node in the present embodiment.
  • the storage node control unit 30 of the storage system according to the present embodiment has substantially the same configuration as that of the first and second embodiments described above, but particularly has a function of dividing metadata at an arbitrary location.
  • the information stored in the key part and address part of the separated key part and address part constituting the metadata is the same as the information stored in the key part and address part of other metadata.
  • FIG. 12A An example of the division is shown in FIG. First, it is assumed that the file A and the file B having the configuration shown in FIG. 12A are stored in the storage system.
  • the divided data of each file is stored in the data portion.
  • the content address stored in the address portion of the metadata that refers to each divided data, in particular, the content address stored in the leaf node is constant.
  • the result is as shown in FIG.
  • the storage control unit 30 causes the content address in the address part constituting the metadata of the file A and the address constituting the metadata of the file B, as shown in FIG.
  • the content address in the department is divided so as to be the same. For example, as shown in the dotted line area of FIG. 12C, there are places where the same number of the same content addresses are gathered, so the address part of each metadata is divided at such places.
  • the address part of the file A can be referred to by the metadata of the upper layer of the file B. That is, it is possible to prevent the data in the portion indicated by the dotted line area from being recorded repeatedly. As a result, the storage capacity of the entire storage system can be further reduced.
  • the key part may be divided.
  • FIG. 13 is a functional block diagram showing the configuration of the storage system.
  • FIG. 14 is a data structure diagram showing the structure of data stored in the storage system. In this embodiment, an outline of a storage system will be described.
  • the storage system 1 in this embodiment A data storage unit 4 for storing the divided data constituting the file; A metadata storage unit 3 for storing metadata representing the storage position of the divided data; The division data is stored in the data storage unit, metadata indicating a storage position of the division data is stored in the metadata storage unit, and based on the metadata stored in the metadata storage unit And data processing means 2 for reading the divided data stored in the data storage unit and reproducing the file.
  • the data processing means 2 stores a key part for storing in-file position information indicating the position of the divided data in the file, and the divided data corresponding to the position represented by the in-file position information.
  • An address part for storing the address information indicating the storage position corresponding to the in-file position information, and the key part and the address part are constituted by data separated from each other.
  • a configuration is adopted in which metadata is stored in the metadata storage unit.
  • the divided data 5 of the file is stored in each data storage unit 4 of a plurality of storage devices.
  • metadata 6 representing the position of each divided data 5 in the file and the storage position in the data storage unit 4 is stored in the metadata storage unit 3.
  • the metadata 6 is referred to, the position in the file of each divided data 5 constituting the file and the storage position in the data storage unit are specified, and the divided data are divided from the data storage unit 4 of the storage device.
  • Data 5 is read and a file composed of a plurality of divided data 5 is reproduced.
  • the storage position of the other existing divided data 5 is set. Then, metadata is set and stored as the storage location of the newly stored divided data. Thereby, it is not necessary to store the divided data having the same contents in duplicate, and the storage capacity can be reduced.
  • the metadata 6 is stored in the key unit 61 for storing information indicating the position in the file before division of the divided data, and in the data storage unit for the divided data. And an address section 62 for storing information representing the storage location, each of which is composed of different files. Accordingly, when the divided data is deduplicated as described above, the address portion of the metadata may overlap with other address portions as shown in the metadata of reference numeral 182b in FIG. By referring to this other address part, the duplicated address part data can also be eliminated. That is, in the example of FIG. 14, the address part 6b of the metadata indicated by reference numeral 6 can be referred to as the address part indicated by reference numeral 7b. Not only the address part but also the key part can be eliminated in the same way. Therefore, the storage capacity of metadata can be reduced, and the storage capacity of the entire storage system can be reduced.
  • the data processing means stores high-order metadata representing a storage location of the metadata in the metadata storage unit
  • the upper metadata includes an upper metadata key section for storing in-file position information indicating a position in the file of the divided data specified via the metadata at a storage position indicated by the upper metadata, and the key section.
  • An upper meta address part for storing each address information representing each storage position of the key part and the address part of the metadata corresponding to the one in-file position information stored in The structure is taken.
  • the data processing means adds the address information indicating the storage location of the address part constituting the existing metadata referred to in the other higher-order metadata to the higher-order meta-address part of the higher-order metadata.
  • the structure is taken.
  • the data processing means adds the address information indicating the storage location of the key part constituting the existing metadata referenced in the other higher-level metadata to the higher-level meta-address portion of the higher-level metadata.
  • the structure is taken.
  • the data processing means stores the upper metadata composed of data obtained by separating the upper meta key portion and the upper meta address portion from each other in the metadata storage portion. The structure is taken.
  • the data processing unit includes the upper meta key unit and the upper meta address unit, represents a storage location of the other upper metadata, and is located in a higher hierarchy than the other upper metadata.
  • the upper meta address part of the upper metadata located in the upper hierarchy corresponds to the one in-file position information stored in the upper meta key part, and the other metadata of the other higher metadata located in the lower hierarchy. Storing each address information indicating each storage position of the upper meta key part and the upper meta address part, The structure is taken.
  • the data processing means stores, in the upper metaaddress portion of the upper metadata located in the upper hierarchy, the upper metaaddress portion constituting the existing upper metadata referred to by another upper metadata. Storing the address information indicating the position; The structure is taken.
  • the data processing means stores the storage location of the meta key portion constituting the existing upper metadata referenced in another upper metadata in the upper meta address portion of the upper metadata located in the upper hierarchy. Storing the address information representing, The structure is taken.
  • the existing upper meta key part and the upper meta address are respectively added to the upper metadata located in the upper hierarchy.
  • the duplicate data can be eliminated by referring to the section. As a result, the storage capacity of the entire storage system can be further reduced.
  • the data processing means includes the key part and / or the address part of the metadata stored in the metadata storage part, the information stored in the key part and / or address part, and the other metadata. Dividing based on the information stored in the key part and / or the address part of The structure is taken.
  • the data processing means includes the key part and / or the address part of the metadata, the information stored in the key part and / or the address part, and the key part and / or the address of the other metadata.
  • the information stored in the section is divided so as to be the same, The structure is taken.
  • the data processing means For each of the address information stored in the address section, an address table that stores the number by which the address information refers to other data, The data processing means deletes data referred to by the address information according to the number of references for each address information stored in the address table. The structure is taken.
  • an address table for storing the number of the address information referring to other data is provided.
  • the data processing means deletes data referred to by the address information according to the number of references for each address information stored in the address table. The structure is taken.
  • the data processing means deletes data referred to by the address information whose reference number stored in the address table is 0; The structure is taken.
  • deduplication of address information as described above reduces the number of references for each address information, facilitates calculation of an address table, and realizes rapid data processing.
  • the program which is another embodiment of the present invention is: An information processing apparatus comprising: a data storage unit that stores divided data that constitutes a file; and a metadata storage unit that stores metadata representing a storage position of the divided data.
  • the division data is stored in the data storage unit, metadata indicating a storage position of the division data is stored in the metadata storage unit, and based on the metadata stored in the metadata storage unit
  • the data processing means for reading the divided data stored in the data storage unit and reproducing the file is employed.
  • the data processing means stores a key portion for storing in-file position information indicating the position of the divided data in the file, and the divided data corresponding to the position represented by the in-file position information.
  • Data is stored in the metadata storage unit.
  • the data processing means stores high-order metadata representing a storage location of the metadata in the metadata storage unit
  • the upper metadata includes an upper metadata key section for storing in-file position information indicating a position in the file of the divided data specified via the metadata at a storage position indicated by the upper metadata, and the key section.
  • An upper meta address part for storing each address information representing each storage position of the key part and the address part of the metadata corresponding to the one in-file position information stored in The structure is taken.
  • the data structure of the data stored in the above-described storage system is as follows.
  • the division data is stored in the data storage unit, metadata indicating a storage position of the division data is stored in the metadata storage unit, and based on the metadata stored in the metadata storage unit
  • a data structure of data stored in the metadata storage unit in a storage system including data processing means for reading the divided data stored in the data storage unit and reproducing the file.
  • the data structure is Having higher-order metadata representing the storage location of the metadata stored in the metadata storage unit by the data processing means;
  • the upper metadata includes an upper metadata key section for storing in-file position information indicating a position in the file of the divided data specified via the metadata at a storage position indicated by the upper metadata, and the key section.
  • the upper meta address part for storing each address information representing each storage position of the key part and the address part of the metadata.
  • An information processing apparatus comprising: a data storage unit that stores divided data that constitutes a file; and a metadata storage unit that stores metadata representing a storage position of the divided data. Storing the divided data in the data storage unit, storing metadata representing the storage position of the divided data in the metadata storage unit, Based on the metadata stored in the metadata storage unit, the divided data stored in the data storage unit is read and the file is reproduced.
  • the upper metadata representing the storage location of the metadata is stored in the metadata storage unit
  • the upper metadata includes an upper metadata key section for storing in-file position information indicating a position in the file of the divided data specified via the metadata at a storage position indicated by the upper metadata, and the key section.
  • An upper meta address part for storing each address information representing each storage position of the key part and the address part of the metadata corresponding to the one in-file position information stored in The structure is taken.
  • the present invention can be used in a storage system configured by connecting a plurality of computers, and has industrial applicability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納するデータ処理手段と、を備えている。そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する。

Description

ストレージシステム
 本発明は、ストレージシステムにかかり、特に、データを分散して複数の記憶装置に記憶するストレージシステムに関する。
 近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
 このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。
 具体的に、コンテンツアドレスストレージシステムでは、所定のデータを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納している。そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
 また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
特開2005-235171号公報
 ここで、コンテンツアドレスストレージシステムでは、格納するデータの格納位置を特定するコンテンツアドレスを、メタデータとして記憶しており、特に、データ数が増えると、メタデータを階層化して記憶している。例えば、図1に、コンテンツアドレスストレージシステムのメタデータの一例を示す。この図に示すように、メタデータ181,182,171は、分割したデータの元のファイルにおける位置を表す情報を格納するキー部181a,182a,171aと、データあるいは他のメタデータの格納位置を表す情報を格納するアドレス部181b,182b,171bと、により構成されている。そして、アドレス部181b,182b,171bに同じコンテンツアドレスが格納されている場合には、同じ格納位置のデータを参照していることとなる。
 しかしながら、上述したコンテンツアドレスストレージシステムでは、例えば、図1の符号181b,182bに示すように、メタデータ内のアドレス部に同じ内容のデータが格納される場合が生じる。つまり、コンテンツアドレスデータが重複して記録される場合が多々あり、データ容量が増加してしまう、という問題が生じる。
 このため、本発明の目的は、上述した課題である、重複記憶を排除してデータ容量を削減し、記憶コストの低減を図ることができるストレージシステムを提供する、ことにある。
 かかる目的を達成するため本発明の一形態であるストレージシステムは、
 ファイルを構成する分割データを格納するデータ格納部と、
 上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
 上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えている。
 そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
 また、本発明の他の形態であるプログラムは、
 ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
 上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段を実現させる、というプログラムである。
 そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
 また、本発明の他の形態であるデータのデータ構造は、
 ファイルを構成する分割データを格納するデータ格納部と、
 上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
 上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、上記メタデータ格納部に格納するデータのデータ構造である。
 そして、上記データのデータ構造は、
 上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成されたメタデータを有する、という構成を採る。
 また、本発明の他の形態であるデータ処理方法は、
 ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
 上記データ格納部に対して上記分割データを記憶して、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納し、
 上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生する。
 そして、さらに、上記分割データ格納時、あるいは、任意のタイミングで、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
 本発明は、以上のように構成されることにより、メタデータの記憶容量を削減して、ストレージシステム全体における記憶容量の削減を図り、記憶コストの低減を図ることができる。
本発明に関連するストレージシステムに格納されるデータの構造を示すデータ構造図である。 本発明の実施形態1におけるストレージシステムを含むシステム全体の構成を示すブロック図である。 本発明の実施形態1におけるストレージシステムの構成の概略を示すブロック図である。 図3に開示したストレージシステムの構成及び記憶されるデータの構造を示す図である。 図3に開示したストレージシステムに記憶されるコンテンツアドレステーブルの一例を示す図である。 図3に開示したストレージシステムのルートノード及びインデックスノードに記憶されるメタデータの一例を示す図である。 図3に開示したストレージシステムのリーフノードに記憶されるメタデータの一例を示す図である。 図3に開示したストレージシステムにおけるデータ処理の様子を示す図である。 図3に開示したストレージシステムにおけるデータ処理の様子を示す図である。 図3に開示したストレージシステムにおけるデータ処理の様子を示す図である。 本発明の実施形態2におけるストレージシステムにて記憶されるデータの構造を示す図である。 本発明の実施形態3におけるストレージシステムによるデータ処理の様子を説明する図である。 実施形態4におけるストレージシステムの構成を示す機能ブロック図である。 図13に開示したストレージシステムに格納されるデータの構造の一例を示すデータ構造図である。
 <実施形態1>
 本発明の第1の実施形態を、図2乃至図10を参照して説明する。図2は、システム全体の構成を示すブロック図である。図3は、ストレージシステムの概略を示すブロック図であり、図4は、構成及び記憶されるデータの構造を示す図である。図5は、コンテンツアドレステーブルの一例を示す図である。図6乃至図7は、記憶されるメタデータの一例を示す図である。図8乃至図10は、データ処理の一例を示す図である。
 ここで、本実施形態は、後述する実施形態4にて開示するストレージシステムの具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。
 [構成]
 図2に示すように、本発明におけるストレージシステム10は、ネットワークNを介してバックアップ処理を制御するバックアップシステム11に接続している。そして、バックアップシステム11は、ネットワークNを介して接続されたバックアップ対象装置12に格納されているバックアップ対象ファイル(ファイル)を取得し、ストレージシステム10に対して記憶するよう要求する。これにより、ストレージシステム10は、記憶要求されたバックアップ対象ファイルをバックアップ用に記憶する。
 そして、図3に示すように、本実施形態におけるストレージシステム10は、複数のサーバコンピュータが接続されて構成を採っている。具体的に、ストレージシステム10は、ストレージシステム10自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード10Aと、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード10Bと、を備えている。なお、アクセラレータノード10Aの数とストレージノード10Bの数は、図3に示したものに限定されず、さらに多くの各ノード10A,10Bが接続されて構成されていてもよい。
 そして、上記アクセラレータノード10Aは、図4に示すように、アクセラレータノード用プログラムが組み込まれることによって構築された、ファイルシステム部20を備えている。このファイルシステム部20は、バックアップシステム11から取得したバックアップ対象ファイルと、実際に格納されているデータの格納位置などを管理し、後に読み出し可能とする機能を有する。なお、アクセラレータノード10Aのさらなる詳細な構成についての説明は省略する。
 また、上記ストレージノード10Bは、図4に示すように、ストレージノード制御部30(データ処理手段)と、コンテンツアドレス部40と、を備えている。そして、ストレージノード制御部30は、コンテンツアドレス制御部31を備えている。ここで、上記ストレージノード制御部30は、ストレージノード10Bが備えているCPU(Central Processing Unit)に、ストレージノード用プログラムが組み込まれることにより実現されている。
 なお、上記プログラムは、例えば、CD-ROMなどの記憶媒体に格納された状態で各ノード10A,10Bに提供される。あるいは、上記プログラムは、ネットワーク上の他のサーバコンピュータの記憶装置に記憶され、当該他のサーバコンピュータからネットワークを介して各ノード10A,10Bに提供されてもよい。
 また、コンテンツアドレス部40は、記憶装置に構成されており、後述するように、メタデータを格納するメタデータ部50(メタデータ格納部)と、ファイルを構成する分割データを格納するデータ部90(データ格納部)と、を備えている。そして、具体的に、メタデータ部50は、データ部90に格納するデータの格納位置を表すメタデータを格納する、ルートノード60と、インデックスノード70と、リーフノード80と、を有している。これらルートノード60、インデックスノード70、リーフノード80に格納される各メタデータは、上記ストレージノード制御部30により、データ格納時、あるいは、任意のタイミングで、新規に生成あるいは更新され、格納される。なお、上記ルートノード60、インデックスノード70、リーフノード80にストレージノード制御部30によって格納されるメタデータのデータ構造については後述する。また、上記ストレージノード制御部30が有するコンテンツアドレス制御部31は、コンテンツアドレステーブルを記憶装置に記憶して管理しているが、これについても後述する。
 次に、さらに図4を参照して、上述したストレージノード制御部30にて記憶処理される、データ部90に格納する格納データと、ルートノード90と、インデックスノード70と、リーフノード80に格納される上記格納データの格納位置を表す各メタデータと、について詳述する。
 まず、データ部90に格納する格納データ91,92,93は、ストレージシステムに記憶する記憶対象となるファイルを分割した分割データである。
 そして、リーフノード80に格納されるメタデータ81,82は、上記格納データ91,92等の格納位置を表すデータである。特に、このリーフノード80に格納されるメタデータ81は、図示するように、上記格納データ91等の格納位置を表すアドレス情報であるコンテンツアドレス(CA)を格納するアドレス部81bと、格納データ91等の分割前におけるファイル内での相対位置を表すファイル内位置情報(file offset)を記憶するキー部81aと、を有している。そして、上記キー部81aとアドレス部81bとは、相互に分離したファイル(データ)にて構成されている。
 ここで、リーフノード80に格納されているメタデータの実際の格納状態の一例を、図7に示す。図9(A)は、キー部81aを構成するファイルを示し、図9(B)は、アドレス部81bを構成するファイルを示している。そして、キー部81aとアドレス部81bとは、上述したように相互に異なるファイルではあるが、それぞれに格納されているデータ、つまり、file offset(ファイル内位置情報)とCA(コンテンツアドレス)とが、格納順に相互に対応している。例えば、file offset1とCA1とが対応しており、file offset2とCA2とが対応して、構成されている。なお、上記キー部81a、アドレス部81b共に、それぞれ最大で320個のデータを格納している。
 そして、アドレス部81bに格納される上記CA(コンテンツアドレス)は、データ部90に格納された格納データ91等を参照しており、当該格納データ91の格納位置に一意のデータである。例えば、CAは、参照する格納データのデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。また、キー部81aに格納される上記file offsetは、対応するCAが参照する格納データ91等の分割前のファイルにおけるファイル内相対位置を表すデータである。例えば、図9(A)、(B)に示すように、キー部81aには、file offset1,2の順に格納されている場合には、当該file offset1,2にそれぞれ対応するCA1,CA2にそれぞれ対応するデータ部90に格納された格納データ91,92が、分割前のファイルではこの順番に位置することを表している。
 次に、インデックスノード70に格納されているメタデータ71,72について説明する。インデックスノード70に格納されるメタデータ71(上位メタデータ)は、上述したリーフノード80に格納されたメタデータ81の格納位置を表すデータである。特に、このインデックスノード70に格納されるメタデータ71は、図4に示すように、まず、下段に、リーフノード80に格納されたメタデータ81を構成するキー部81aとアドレス部81bとをそれぞれ参照するアドレス情報であるコンテンツアドレス(CA)を格納するアドレス部(上位メタアドレス部)を有する。また、その上段には、上記アドレス部にて参照する格納データの分割前におけるファイル内での相対位置を表すファイル内位置情報(file offset)を記憶するキー部(上位メタキー部)を有している。
 特に、本実施形態では、インデックスノード70に格納されたメタデータ71は、上述した上段(上位メタキー部)に位置する1つのfile offset(ファイル内位置情報)に対応して、下位階層に位置するリーフノード80内のメタデータ81を構成するキー部81aとアドレス部81bとをそれぞれ参照する各コンテンツアドレス(CA)を記憶している。つまり、図4において、メタデータ71の右端のfile offsetに対応する2つのCAは、符号81aのキー部と符号81bのアドレス部とから成るメタデータ81を参照している。
 また、上記インデックスノード70に格納されたメタデータ71の下段に位置するアドレス部に格納される上記各CA(コンテンツアドレス)は、参照するリーフノード80内のキー部81aやアドレス部81bの格納位置に一意のデータである。例えば、CAは、参照するキー部81aやアドレス部81bのデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。
 また、上記インデックスノード70に格納されたメタデータ71の上段に位置するキー部に格納される上記file offsetは、対応するCAの参照先にある格納データの分割前におけるファイルのファイル内相対位置を表すデータである。つまり、CAにて参照されるリーフノード80内のメタデータ81,82等にてさらに参照され、最終的に特定される格納データ91等の分割前のファイルにおける順番を表している。
 ここで、インデックスノード70に格納されているメタデータ71の実際の格納状態の一例を、図6(B)に示す。この図では、「file offset(数字)」は、各file offsetである。また、「CA k(数字)」は、参照するリーフノード内のメタデータのキー部を示すコンテンツアドレスであり、「CA a(数字)」は、参照するリーフノード内のメタデータのアドレス部を示すコンテンツアドレスである。この図に示すように、「file offset(数字)」、これに対応する「CA k(数字)」及び「CA a(数字)」の順番に、ファイルが構成されている。なお、インデックスノード70に格納されているメタデータ71は、最大で、320組のデータを格納している。
 次に、ルートノード60に格納されているメタデータ61,62,63について説明する。ルートノード60に格納されるメタデータ61は、上述した各メタデータの最上位に位置しており、インデックスノード70に格納されたメタデータ71の格納位置を表すデータである。特に、このルートノード60に格納されるメタデータ61は、図4に示すように、上記インデックスノード70に格納されたメタデータ71の格納位置を表すアドレス情報であるコンテンツアドレス(CA)を格納するアドレス部と、このCAの参照先に位置する格納データの分割前におけるファイル内での相対位置を表すファイル内位置情報(file offset)を記憶するキー部と、を有している。そして、上記キー部とアドレス部とは、相互に対応して記憶されている。
 そして、アドレス部に格納される上記CA(コンテンツアドレス)は、参照するインデックスノード70内のメタデータ71の格納位置に一意のデータである。例えば、CAは、参照するメタデータ71のデータ内容に基づいて生成されたハッシュ値の一部と物理的な位置情報を表す情報とを含んで生成されたデータである。また、上記キー部に格納される上記file offsetは、対応するCAの参照先にある格納データのファイル内相対位置を表すデータである。つまり、CAにて参照されるインデックスノード71内のメタデータ、さらには、当該インデックスノード71にて参照されるリーフノード80内のメタデータ81,82等にて参照され、最終的に特定される格納データ91等の分割前のファイルにおける順番を表している。
 なお、符号61に示すメタデータは、ファイルAに相当するメタデータである。つまり、このメタデータ61にて参照する全てのメタデータ(インデックスノード70内及びリーフノード80内のメタデータ71,81等)を辿って参照される格納データを用いることで、分割前のファイルAを構成することができる。
 ここで、ルートノード60に格納されているメタデータの実際の格納状態の一例を、図6(A)に示す。この図において、「file offset(数字)」は、各file offsetである。また、「CA(i+数字)(例えば、CAi1,CAi2)」は、参照するインデックスノード内のメタデータを示すコンテンツアドレスである。この図に示すように、「file offset(数字)」、これに対応する「CA(i+数字)」の順番に、ファイルが構成されている。なお、ルートノード60に格納されているメタデータ61は、最大で、320組のデータを格納している。
 以上のように、ストレージノード制御部30は、ファイルを格納する際には、当該ファイルを分割し、その分割データをデータ部90に格納する。そして、この格納データを参照する各メタデータを、図4に示すように、階層化して生成あるいは更新する。このとき、ストレージ制御部30は、下位階層に位置する既存の他のメタデータや格納データを参照するようメタデータのコンテンツアドレス(CA)を生成することで、重複してメタデータや格納データを記憶することを抑制することができる。
 また、ストレージ制御部30は、ファイルを読み出す際には、各メタデータの参照先を辿って行き、参照された格納データ91等を読み出して、ファイルを生成して読み出す。例えば、図4に示すようにデータが格納されており、ファイルAを読み出す際には、ファイルAを参照するルートノード60内のメタデータ61から、当該メタデータ61が参照するインデックスノード70内のメタデータ、さらには、リーフノード80内のメタデータを辿って行き、最終的に参照された複数の格納データを読み出す。そして、各メタデータ内のfile offsetにて表わされた順番に、ファイルを再生する。
 次に、上記ストレージノード制御部30が有するコンテンツアドレス制御部31にて管理されるコンテンツアドレステーブル(アドレステーブル)について説明する。なお、コンテンツアドレステーブルの一例を、図5に示す。
 この図に示すように、コンテンツアドレステーブルは、「コンテンツアドレス欄」に、上述した全てのメタデータのアドレス部に格納されているコンテンツアドレス(CA)の種類を記憶している。また、「カウンタ欄」に、各コンテンツアドレス(CA)が他のデータ(格納データ、メタデータ(メタデータを構成するキー部ファイルやアドレス部ファイルも含む))を参照している数を記憶している。
 そして、コンテンツアドレス制御部31は、格納データが新たに格納されたり、あるいは、格納データが削除されることにより、各メタデータを生成あるいは更新したときに、上記コンテンツアドレステーブルの更新を行う。具体的には、各メタデータに格納されているコンテンツアドレス(CA)の種類ごとに、各コンテンツアドレス(CA)が他のデータを参照している数を、コンテンツアドレステーブルに記憶して更新する。
 また、ストレージノード制御部30は、上述したようにコンテンツアドレステーブルが更新された結果、カウンタが「0」、つまり、参照しているデータの数が「0」となったコンテンツアドレス(CA)が参照している他のデータを削除する。
 [動作]
 次に、上述したストレージシステムの動作の一例を、図8乃至図10を参照して説明する。まず、図8を参照して、ストレージシステムにファイルAが記憶されているときの様子を説明する。なお、ファイルAは、図8に示すように、[a,a,b,b,b,c,c,d]というデータ構造となっている。また、図中の点線で囲った符号は、各データの格納位置を表すコンテンツアドレスを示しており、当該データに一意である。
 まず、上記ファイルAが記憶されると、当該ファイルAを構成する分割データの各要素であるデータa(DATAa)、データb(DATAb)、データc(DATAc)、データd(DATA)が、データ部90に格納される。なお、同一内容のデータは、1つのみ格納される。
 そして、上記格納したデータa,b,c,dを参照したメタデータが格納される。なお、図中の矢印にて、各コンテンツアドレス(CA)が参照するデータを示している。例えば、「DATAa」は、リーフノード80に格納されたメタデータ81を構成するアドレス部81bに格納されたコンテンツアドレス「CAa,CAa」にて参照された状態となっている。つまり、「DATAa」の格納位置を表すコンテンツアドレスは、「CAa」である。そして、上記アドレス部81bのコンテンツアドレス「CAa,CAa」は、対となってメタデータ81を構成しているが分離しているキー部81aに格納されたファイル内位置情報「off1,off2」にそれぞれ対応している。
 また、上記リーフノード80に格納されたメタデータ81は、それぞれインデックスノード70に格納されたメタデータ71に参照されている。具体的には、リーフノード80内のメタデータ81を構成するキー部81aとアドレス部81bとは、それぞれインデックスノード70内のメタデータ71のアドレス部に格納されたコンテンツアドレス「CA3,CA4」にそれぞれ参照された状態となっている。つまり、メタデータ81を構成するキー部81aの格納位置を表すコンテンツアドレスは「CA3」であり、アドレス部81bの格納位置を表すコンテンツドレスは「CA4」である。また、これらコンテンツアドレス「CA3,CA4」は、メタデータ71に格納された1つのファイル内位置情報「off1」に対応している。なお、このメタデータ71は、ファイルAを構成するDATAaに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。
 また、上記インデックスノード70に格納されたメタデータ71は、ルートノード60に格納されたメタデータ61に参照されている。具体的には、インデックスノード70内のメタデータ71は、ルートノード60内のメタデータ61のアドレス部に格納されたコンテンツアドレス「CA1」に参照された状態となっている。つまり、メタデータ71の格納位置を表すコンテンツアドレスは「CA1」である。また、これらコンテンツアドレス「CA1」は、メタデータ61に格納されたファイル内位置情報「off1」に対応している。なお、このメタデータ61は、ファイルAを構成するために、上記CA1で参照するデータに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。つまり、ルートノード60に格納されているコンテンツアドレスの参照先に位置する全ての格納データを用いることで、ファイルAを生成することができる。
 そして、コンテンツアドレステーブルは、図8に示すように、上述した各メタデータに基づいて更新される。ここでは、各コンテンツアドレスのカウンタ数は、当該コンテンツアドレスが参照しているデータの数であるため、図8を参照して換言すると、各コンテンツアドレスから矢印が出ている数となる。
 次に、図9を参照して、ファイルBが記憶されたきの様子を説明する。なお、ファイルBは、図9に示すように、[a,a,e,b,b,b,c,c]というデータ構造となっている。
 まず、上記ファイルBが記憶されると、当該ファイルAを構成する分割データの各要素であるデータa(DATAa)、データe(DATAe)、データb(DATAb)、データc(DATAc)が、データ部90に格納される。なお、同一内容のデータは、1つのみ格納されるため、ここでは、DATAeのみが追加されて記憶される。
 そして、上述したファイルBのデータ構造に応じて、格納されているデータa,e,b,cを参照したメタデータが生成あるいは更新されて格納される。このとき、ファイルBの先頭側の「a,a」というデータ構成は、すでにファイルAを格納したときに格納しているため、上記「DATAa」を参照するリーフノード80に格納されたメタデータ81(キー部81a、アドレス部81b)を用いる。つまり、リーフノード80よりもさらに上位階層に位置するインデックスノード70内のメタデータ73にて、リーフノード80内のメタデータ81を参照する。具体的には、リーフノード80内の既存のメタデータ81を構成するキー部81aとアドレス部81bとが、それぞれインデックスノード70内のメタデータ73のアドレス部に格納されたコンテンツアドレス「CA3,CA4」にそれぞれ参照された状態となる。換言すると、リーフノード80内の既存のメタデータ81を構成するキー部81aとアドレス部81bとのコンテンツアドレス「CA3,CA4」を、メタデータ73にて参照する。また、これらコンテンツアドレス「CA3,CA4」は、メタデータ73に格納された1つのファイル内位置情報「off1」に対応している。なお、このメタデータ71は、ファイルBを構成するために、後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。
 また、上記インデックスノード70に格納されたメタデータ73は、ルートノード60に格納されたメタデータ62に参照されている。具体的には、インデックスノード70内のメタデータ73は、ルートノード60内のメタデータ62のアドレス部に格納されたコンテンツアドレス「CA11」に参照された状態となっている。また、このコンテンツアドレス「CA11」は、メタデータ62に格納されたファイル内位置情報「off1」に対応している。なお、このメタデータ62は、ファイルBを構成するために、上記CA11で参照するデータに後続する他のデータを参照するファイル内位置情報及びコンテンツアドレスを記憶している。つまり、ルートノード60に格納されているコンテンツアドレスの参照先に位置する全ての格納データを用いることで、ファイルBを生成することができる。
 ここで、上記ルートノード60のメタデータ62のコンテンツアドレスCA12が参照するインデックスノード70内のメタデータ74について説明する。このメタデータ74は、1つのファイル内位置情報「off1」に対応しているコンテンツアドレス「CA15,CA6」を記憶している。つまり、コンテンツアドレスCA15では、リーフノード80内に新たに生成されたメタデータの一部を構成するキー部(コンテンツアドレスCA15で示す)を参照しているが、コンテンツアドレスCA6では、ファイルAのデータを参照すべく生成された既存のメタデータの一部を構成するアドレス部(コンテンツアドレスCA6で示すデータ)を参照している。なお、インデックスノード70に格納される1つのファイル内位置情報に対応している対となるコンテンツアドレスは、上記とは逆に、一方が他の既存のキー部を参照し、他方が他の新たに生成したアドレス部を参照してもよい。
 そして、コンテンツアドレステーブルは、図9に示すように、上述した各メタデータに基づいて更新される。具体的には、新たな種類のコンテンツアドレスが生成されていれば、そのコンテンツアドレスを追加し、また、既存のコンテンツアドレスの参照数が増えれば、カウンタを更新する。
 次に、図9乃至図10を参照して、ファイルAを削除したときの様子を説明する。上記ファイルAを削除すると、当該ファイルAを参照するメタデータを削除する。例えば、図9に示すルートノード60に格納されたファイルAに対応するメタデータ61を削除する。すると、このメタデータ61に格納されているコンテンツアドレスCA1,CA2が削除されるため、当該コンテンツアドレスCA1,CA2による他のデータの参照数であるコンテンツアドレステーブル内のカウンタを「1」だけ減算する。すると、コンテンツアドレスCA1、CA2の参照数が「0」になるため、当該コンテンツアドレスCA1,CA2で参照されるインデックスノード70内のメタデータ71,72を削除する。
 そして、上記同様に、この削除したメタデータ71,72に格納されたコンテンツアドレスCA3等が削除されるため、併せてコンテンツアドレステーブルを更新する。すると、コンテンツアドレスCA3のカウンタは、「2」から「1」となり、「0」ではないため、当該コンテンツアドレスCA3で参照されるメタデータは削除しない。
 以上のようにして、参照数が「0」となったメタデータ及び格納データを削除し、一方で、「0」ではないメタデータ及び格納データはそのまま残す。これにより、図10に示すように、いずれのメタデータにも参照されていない不要となった他のメタデータや格納データを削除することができ、データの重複排除を効率よく行うことができる。また、上述したように、メタデータの重複排除を行っているため、コンテンツアドレスの種類が少なくなり、上記コンテンツアドレステーブルの管理が容易となる。
 <実施形態2>
 次に、本発明における第2の実施形態を、図11を参照して説明する。図11は、本実施形態におけるストレージノードに格納されているデータの様子を示す図である。
 本実施形態におけるストレージシステムのストレージノード制御部30は、上述した実施形態2とほぼ同様の構成を採っているが、特に、格納するメタデータの構成が異なる。具体的には、上述したインデックスノード70に格納されるメタデータ71が、図11に示すように、キー部71aとアドレス部71bとで、それぞれ分離した別ファイルにて構成されている。
 これに伴い、上述したルートノード60に格納されるメタデータ61は、本実施形態では、図11に示すように、上述した上段に位置する1つのfile offset(ファイル内位置情報)に対応して、下位階層に位置するインデックスノード70内のメタデータ71を構成するキー部71aファイルとアドレス部71bファイルとをそれぞれ参照する各コンテンツアドレス(CA)を記憶している。つまり、本実施形態におけるルートノード60のメタデータ61は、実施形態1におけるインデックスノードに格納されたメタデータと同様の構成を採っている。
 このように、さらに上位階層に位置するメタデータのキー部とアドレス部とを分離して構成することで、下位階層に位置する既存の他のメタデータ、特に、メタデータを構成する分離された他のキー部ファイルやアドレス部ファイルをそれぞれ参照することでき、重複するデータを排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
 <実施形態3>
 次に、本発明における第3の実施形態を、図12を参照して説明する。図12は、本実施形態におけるストレージノードに格納されているデータの様子を示す図である。
 本実施形態におけるストレージシステムのストレージノード制御部30は、上述した実施形態1及び2とほぼ同様の構成を採っているが、特に、メタデータを任意の箇所で分割する機能を有する。例えば、メタデータを構成する分離されたキー部、アドレス部を、当該キー部、アドレス部に格納された情報と、他のメタデータのキー部、アドレス部に格納された情報とが、同一となるよう分割する。
 ここで、分割の一例を、図12(C)に示す。まず、図12(A)に示す構成のファイルAとファイルBが、ストレージシステムに記憶されていたとする。そして、各ファイルの分割データがデータ部に格納されるが、このとき、各分割データを参照するメタデータのアドレス部に格納されるコンテンツアドレス、特に、リーフノードに格納されるコンテンツアドレスを、一定のデータ量で分割すると、図12(B)のようになる。
 これに対して、本実施形態では、ストレージ制御部30が、図12(C)に示すように、ファイルAのメタデータを構成するアドレス部内のコンテンツアドレスと、ファイルBのメタデータを構成するアドレス部内のコンテンツアドレスとが、同一となるよう分割する。例えば、図12(C)の点線領域に示すように、同一のコンテンツアドレスが同一個数だけまとまった箇所が存在するため、かかる箇所で、それぞれのメタデータのアドレス部を分割する。
 これにより、例えば、ファイルAのアドレス部を、ファイルBの上位階層のメタデータにて参照することができる。つまり、点線領域に示した部分のデータが重複して記録されることを抑制することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。なお、上記では、アドレス部を分割した場合を説明したが、キー部を分割してもよい。
 <実施形態4>
 本発明の第4の実施形態を、図13乃至図14を参照して説明する。図13は、ストレージシステムの構成を示す機能ブロック図である。図14は、ストレージシステムに格納されるデータの構造を示すデータ構造図である。なお、本実施形態では、ストレージシステムの概略を説明する。
 図13に示すように、本実施形態におけるストレージシステム1は、
 ファイルを構成する分割データを格納するデータ格納部4と、
 上記分割データの格納位置を表すメタデータを格納するメタデータ格納部3と、
 上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段2と、を備えている。
 そして、上記データ処理手段2は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、という構成を採る。
 上記ストレージシステムでは、図14に示すように、まず、ファイルを記憶する際には、当該ファイルの分割データ5を複数の記憶装置の各データ格納部4に格納する。そして、各分割データ5のファイル内における位置とデータ格納部4における格納位置とを表すメタデータ6を、メタデータ格納部3に格納する。その後、ファイルを読み出す際には、メタデータ6を参照して、ファイルを構成する各分割データ5のファイル内における位置及びデータ格納部における格納位置を特定し、記憶装置のデータ格納部4から分割データ5を読み出して、複数の分割データ5から成るファイルを再生する。
 そして、上記構成のストレージシステム1では、新たに記憶する分割データと同一内容の他の分割データ5が既にデータ格納部に格納されている場合には、既存の他の分割データ5の格納位置を、新たに記憶する分割データの格納位置とするメタデータを設定して格納する。これにより、同一内容の分割データを重複して記憶する必要がなく、記憶容量の削減を図ることができる。
 さらに、上記ストレージシステム1では、図14に示すように、メタデータ6が、分割データの分割前におけるファイル内での位置を表す情報を記憶するキー部61と、当該分割データのデータ格納部における格納位置を表す情報を記憶するアドレス部62と、を有しており、それぞれが分離して異なるファイルにて構成されている。従って、上述したように分割データが重複排除されている場合には、図1の符号182bのメタデータに示すように、メタデータのうちのアドレス部が他のアドレス部と重複することがあるが、この他のアドレス部を参照することで、重複するアドレス部のデータも重複排除することができる。つまり、図14の例では、符号7bに示すアドレス部として、符号6に示すメタデータのアドレス部6bを参照することができる。なお、アドレス部だけでなく、同様にしてキー部も重複排除することができる。従って、メタデータの記憶容量を削減することができ、ストレージシステム全体における記憶容量の削減を図ることができる。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
 上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記上位メタデータの上記上位メタアドレス部に、他の上記上位メタデータにて参照されている既存の上記メタデータを構成する上記アドレス部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記上位メタデータの上記上位メタアドレス部に、他の上記上位メタデータにて参照されている既存の上記メタデータを構成する上記キー部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
 このように、キー部とアドレス部とが分離された既存のメタデータを、上位メタデータにて参照することで、キー部やアドレス部のデータを効率的に重複排除することができる。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記上位メタキー部と上記上位メタアドレス部とを相互に分離したデータにて構成した上記上位メタデータを、上記メタデータ格納部に格納する、
という構成を採る。
 また、上記ストレージシステムでは、
 上記データ処理部は、上記上位メタキー部及び上記上位メタアドレス部を有しており、他の上記上位メタデータの格納位置を表し、当該他の上位メタデータよりも上位階層に位置する上記上位メタデータを、上記メタデータ格納部に格納し、
 上記上位階層に位置する上位メタデータの上記上位メタアドレス部は、上記上位メタキー部に記憶された1つの上記ファイル内位置情報に対応して、下位階層に位置する上記他の上位メタデータの上記上位メタキー部と上記上位メタアドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する、
という構成を採る。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記上位階層に位置する上位メタデータの上記上位メタアドレス部に、別の上位メタデータにて参照されている既存の上記上位メタデータを構成する上記上位メタアドレス部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記上位階層に位置する上位メタデータの上記上位メタアドレス部に、別の上位メタデータにて参照されている既存の上記上位メタデータを構成する上記メタキー部の格納位置を表す上記アドレス情報を記憶する、
という構成を採る。
 このように、上位メタデータを構成する上位メタキー部と上位メタアドレス部とを分離して構成することで、さらに上位階層に位置する上位メタデータにて、それぞれ既存の上位メタキー部や上位メタアドレス部を参照し、重複するデータを排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記メタデータ格納部に格納された上記メタデータの上記キー部及び/又は上記アドレス部を、当該キー部及び/又はアドレス部に格納された情報と、他の上記メタデータの上記キー部及び/又は上記アドレス部に格納された情報と、に基づいて分割する、
という構成を採る。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記メタデータの上記キー部及び/又は上記アドレス部を、当該キー部及び/又はアドレス部に格納された情報と、他の上記メタデータの上記キー部及び/又は上記アドレス部に格納された情報と、が同一となるよう分割する、
という構成を採る。
 このように、他のメタデータのキー部やアドレス部に格納されている情報が同一となるよう、メタデータのキー部やアドレス部を分割することで、重複する情報を生成することができ、かかるキー部やアドレス部のデータを重複排除することができる。その結果、さらなるストレージシステム全体における記憶容量の削減を図ることができる。
 また、上記ストレージシステムでは、
 上記アドレス部に格納されている上記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
 上記データ処理手段は、上記アドレステーブルに記憶された上記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
という構成を採る。
 また、上記ストレージシステムでは、
 上記アドレス部及び上記上位メタアドレス部に格納された上記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
 上記データ処理手段は、上記アドレステーブルに記憶された上記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
という構成を採る。
 また、上記ストレージシステムでは、
 上記データ処理手段は、上記アドレステーブルに記憶されている参照数が0である上記アドレス情報が参照するデータを削除する、
という構成を採る。
 このように、アドレス情報毎の参照数を記憶しておくことで、参照されていない不要となったデータを削除する処理が容易となる。このとき、特に、上述したようにアドレス情報の重複排除を行うことで、アドレス情報毎の参照数が減少し、アドレステーブルの算出が容易となり、迅速なデータ処理を実現できる。
 また、上述したストレージシステムは、情報処理装置にプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、
 ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
 上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段を実現させる、という構成を採る。
 そして、上記データ処理手段は、上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する。
 また、上記プログラムでは、
 上記データ処理手段は、上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
 上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
 また、本発明の他の形態である、上述したストレージシステムに格納されるデータのデータ構造は、
 ファイルを構成する分割データを格納するデータ格納部と、
 上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
 上記データ格納部に対して上記分割データを記憶し、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納すると共に、上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、上記メタデータ格納部に格納するデータのデータ構造である。
 そして、上記データのデータ構造は、
 上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成されたメタデータを有する。
 また、上記データ構造は、
 上記データ処理手段にて上記メタデータ格納部に格納される、上記メタデータの格納位置を表す上位メタデータを有し、
 上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する。
 また、上述したストレージシステムが作動することにより実行される、本発明の他の形態であるデータ処理方法は、
 ファイルを構成する分割データを格納するデータ格納部と、上記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
 上記データ格納部に対して上記分割データを記憶して、当該分割データの格納位置を表すメタデータを上記メタデータ格納部に格納し、
 上記メタデータ格納部に格納されている上記メタデータに基づいて、上記データ格納部に記憶されている上記分割データを読み出して上記ファイルを再生する。
 そして、さらに、上記分割データ格納時、あるいは、任意のタイミングで、
 上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、上記ファイル内位置情報にて表された位置に対応する上記分割データが格納されている格納位置を表すアドレス情報を上記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、上記キー部と上記アドレス部とを相互に分離したデータにて構成した上記メタデータを、上記メタデータ格納部に格納する、
という構成を採る。
 また、上記データ処理方法では、
 上記メタデータの格納位置を表す上位メタデータを、上記メタデータ格納部に格納し、
 上記上位メタデータは、当該上位メタデータが示す格納位置の上記メタデータを介して特定される上記分割データの上記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの上記ファイル内位置情報に対応して、上記メタデータの上記キー部と上記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
という構成を採る。
 上述した構成を有する、プログラム、データ構造、又は、データ処理方法、の発明であっても、上記ストレージシステムと同様の作用を有するために、上述した本発明の目的を達成することができる。
 以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
 なお、本発明は、日本国にて2009年3月4日に特許出願された特願2009-050062の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
 本発明は、複数のコンピュータを接続して構成されるストレージシステムに利用することができ、産業上の利用可能性を有する。
1 ストレージシステム
2 データ処理手段
3 メタデータ格納部
4 データ格納部
10 ストレージシステム
10A アクセラレータノード
10B ストレージノード
11 バックアップシステム
12 バックアップ装置
20 ファイルシステム部
30 ストレージノード制御部
31 コンテンツアドレス制御部
40 コンテンツアドレス部
50 メタデータ部
60 ルートノード
61,71,81 メタデータ
70 インデックスノード
80 リーフノード
81a キー部
81b アドレス部
90 データ部
91 格納データ
 

Claims (19)

  1.  ファイルを構成する分割データを格納するデータ格納部と、
     前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
     前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段と、を備え、
     前記データ処理手段は、前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
    ストレージシステム。
  2.  請求項1記載のストレージシステムであって、
     前記データ処理手段は、前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
     前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
    ストレージシステム。
  3.  請求項2記載のストレージシステムであって、
     前記データ処理手段は、前記上位メタデータの前記上位メタアドレス部に、他の前記上位メタデータにて参照されている既存の前記メタデータを構成する前記アドレス部の格納位置を表す前記アドレス情報を記憶する、
    ストレージシステム。
  4.  請求項2又は3記載のストレージシステムであって、
     前記データ処理手段は、前記上位メタデータの前記上位メタアドレス部に、他の前記上位メタデータにて参照されている既存の前記メタデータを構成する前記キー部の格納位置を表す前記アドレス情報を記憶する、
    ストレージシステム。
  5.  請求項2乃至4のいずれか一項に記載のストレージシステムであって、
     前記データ処理手段は、前記上位メタキー部と前記上位メタアドレス部とを相互に分離したデータにて構成した前記上位メタデータを、前記メタデータ格納部に格納する、
    ストレージシステム。
  6.  請求項5記載のストレージシステムであって、
     前記データ処理部は、前記上位メタキー部及び前記上位メタアドレス部を有しており、他の前記上位メタデータの格納位置を表し、当該他の上位メタデータよりも上位階層に位置する前記上位メタデータを、前記メタデータ格納部に格納し、
     前記上位階層に位置する上位メタデータの前記上位メタアドレス部は、前記上位メタキー部に記憶された1つの前記ファイル内位置情報に対応して、下位階層に位置する前記他の上位メタデータの前記上位メタキー部と前記上位メタアドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する、
    ストレージシステム。
  7.  請求項6記載のストレージシステムであって、
     前記データ処理手段は、前記上位階層に位置する上位メタデータの前記上位メタアドレス部に、別の上位メタデータにて参照されている既存の前記上位メタデータを構成する前記上位メタアドレス部の格納位置を表す前記アドレス情報を記憶する、
    ストレージシステム。
  8.  請求項6又は7記載のストレージシステムであって、
     前記データ処理手段は、前記上位階層に位置する上位メタデータの前記上位メタアドレス部に、別の上位メタデータにて参照されている既存の前記上位メタデータを構成する前記上記メタキー部の格納位置を表す前記アドレス情報を記憶する、
    ストレージシステム。
  9.  請求項1乃至8のいずれか一項に記載のストレージシステムであって、
     前記データ処理手段は、前記メタデータ格納部に格納された前記メタデータの前記キー部及び/又は前記アドレス部を、当該キー部及び/又はアドレス部に格納された情報と、他の前記メタデータの前記キー部及び/又は前記アドレス部に格納された情報と、に基づいて分割する、
    ストレージシステム。
  10.  請求項9記載のストレージシステムであって、
     前記データ処理手段は、前記メタデータの前記キー部及び/又は前記アドレス部を、当該キー部及び/又はアドレス部に格納された情報と、他の前記メタデータの前記キー部及び/又は前記アドレス部に格納された情報と、が同一となるよう分割する、
    ストレージシステム。
  11.  請求項1乃至10のいずれか一項に記載のストレージシステムであって、
     前記アドレス部に格納されている前記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
     前記データ処理手段は、前記アドレステーブルに記憶された前記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
    ストレージシステム。
  12.  請求項2乃至10のいずれか一項に記載のストレージシステムであって、
     前記アドレス部及び前記上位メタアドレス部に格納された前記アドレス情報毎に、当該アドレス情報が他のデータを参照している数を記憶するアドレステーブルを備え、
     前記データ処理手段は、前記アドレステーブルに記憶された前記アドレス情報毎の参照数に応じて、当該アドレス情報が参照するデータを削除する、
    ストレージシステム。
  13.  請求項11又は12記載のストレージシステムであって、
     前記データ処理手段は、前記アドレステーブルに記憶されている参照数が0である前記アドレス情報が参照するデータを削除する、
    ストレージシステム。
  14.  ファイルを構成する分割データを格納するデータ格納部と、前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置に、
     前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段を実現させると共に、
     前記データ処理手段は、前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
    プログラム。
  15.  請求項14記載のプログラムであって、
     前記データ処理手段は、前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
     前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
    プログラム。
  16.  ファイルを構成する分割データを格納するデータ格納部と、
     前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、
     前記データ格納部に対して前記分割データを記憶し、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納すると共に、前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生するデータ処理手段と、を備えたストレージシステムにて、前記メタデータ格納部に格納するデータのデータ構造であって、
     前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成されたメタデータを有するデータのデータ構造。
  17.  請求項16記載のデータ構造であって、
     前記データ処理手段にて前記メタデータ格納部に格納される、前記メタデータの格納位置を表す上位メタデータを有し、
     前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有するデータのデータ構造。
  18.  ファイルを構成する分割データを格納するデータ格納部と、前記分割データの格納位置を表すメタデータを格納するメタデータ格納部と、を備えた情報処理装置にて、
     前記データ格納部に対して前記分割データを記憶して、当該分割データの格納位置を表すメタデータを前記メタデータ格納部に格納し、
     前記メタデータ格納部に格納されている前記メタデータに基づいて、前記データ格納部に記憶されている前記分割データを読み出して前記ファイルを再生すると共に、
     前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶するキー部と、前記ファイル内位置情報にて表された位置に対応する前記分割データが格納されている格納位置を表すアドレス情報を前記ファイル内位置情報に対応して記憶するアドレス部と、を有しており、前記キー部と前記アドレス部とを相互に分離したデータにて構成した前記メタデータを、前記メタデータ格納部に格納する、
    データ処理方法。
  19.  請求項18記載のデータ処理方法であって、
     前記メタデータの格納位置を表す上位メタデータを、前記メタデータ格納部に格納し、
     前記上位メタデータは、当該上位メタデータが示す格納位置の前記メタデータを介して特定される前記分割データの前記ファイル内における位置を表すファイル内位置情報を記憶する上位メタキー部と、当該キー部に記憶された1つの前記ファイル内位置情報に対応して、前記メタデータの前記キー部と前記アドレス部との各格納位置を表す各アドレス情報をそれぞれ記憶する上位メタアドレス部と、を有する、
    データ処理方法。
     
PCT/JP2010/000153 2009-03-04 2010-01-14 ストレージシステム WO2010100813A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201080006260.XA CN102301347B (zh) 2009-03-04 2010-01-14 存储系统
US13/146,687 US8843445B2 (en) 2009-03-04 2010-01-14 Storage system for storing data in a plurality of storage devices and method for same
EP10748418.0A EP2405359A4 (en) 2009-03-04 2010-01-14 STORING SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-050062 2009-03-04
JP2009050062A JP5407430B2 (ja) 2009-03-04 2009-03-04 ストレージシステム

Publications (1)

Publication Number Publication Date
WO2010100813A1 true WO2010100813A1 (ja) 2010-09-10

Family

ID=42709386

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/000153 WO2010100813A1 (ja) 2009-03-04 2010-01-14 ストレージシステム

Country Status (5)

Country Link
US (1) US8843445B2 (ja)
EP (1) EP2405359A4 (ja)
JP (1) JP5407430B2 (ja)
CN (1) CN102301347B (ja)
WO (1) WO2010100813A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514560A (ja) * 2010-09-30 2013-04-25 日本電気株式会社 ストレージシステム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5673232B2 (ja) * 2011-03-09 2015-02-18 日本電気株式会社 ストレージシステム
JP2012198786A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd ファイル処理プログラム及び装置
JP5751041B2 (ja) * 2011-06-17 2015-07-22 日本電気株式会社 ストレージ装置、ストレージ方法およびプログラム
US8732401B2 (en) 2011-07-07 2014-05-20 Atlantis Computing, Inc. Method and apparatus for cache replacement using a catalog
US9277010B2 (en) 2012-12-21 2016-03-01 Atlantis Computing, Inc. Systems and apparatuses for aggregating nodes to form an aggregated virtual storage for a virtualized desktop environment
US9069472B2 (en) 2012-12-21 2015-06-30 Atlantis Computing, Inc. Method for dispersing and collating I/O's from virtual machines for parallelization of I/O access and redundancy of storing virtual machine data
US9250946B2 (en) 2013-02-12 2016-02-02 Atlantis Computing, Inc. Efficient provisioning of cloned virtual machine images using deduplication metadata
US9372865B2 (en) 2013-02-12 2016-06-21 Atlantis Computing, Inc. Deduplication metadata access in deduplication file system
US9471590B2 (en) 2013-02-12 2016-10-18 Atlantis Computing, Inc. Method and apparatus for replicating virtual machine images using deduplication metadata
EP2989559A2 (en) 2013-04-22 2016-03-02 Bacula Systems SA Creating a universally deduplicatable archive volume
JP6050794B2 (ja) * 2014-08-22 2016-12-21 株式会社日立製作所 フラッシュメモリモジュール、不揮発性半導体メモリモジュール及びストレージ装置
CN104239575A (zh) * 2014-10-08 2014-12-24 清华大学 一种虚拟机镜像文件存储、分发方法及装置
CN104539733B (zh) * 2015-01-20 2017-12-22 电子科技大学 一种隐私碎片文件的云同步方法
US9967093B2 (en) * 2015-03-25 2018-05-08 Intel Corporation Techniques for securing and controlling access to data
CN106021538A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的文件分割方法与系统
CN106021537A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的数据剔除方法与系统
CN106095794A (zh) * 2016-05-27 2016-11-09 成都索贝数码科技股份有限公司 一种基于fics对象存储的文件合并方法与系统
CN106021536A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的数据插入方法与系统
CN106021217A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的大文件数据的编辑方法与系统
CN113625938A (zh) * 2020-05-06 2021-11-09 华为技术有限公司 一种元数据存储方法及其设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198587A (ja) * 1996-12-30 1998-07-31 Sun Microsyst Inc ファイル・システムの間接アドレシング方法及び装置
JP2005235171A (ja) 2003-12-09 2005-09-02 Emc Corp 時間的に近接して記憶システムに書き込まれたデータユニットを示すコンテンツアドレスの生成方法およびその装置
US7143251B1 (en) * 2003-06-30 2006-11-28 Data Domain, Inc. Data storage using identifiers
WO2008005211A2 (en) * 2006-06-29 2008-01-10 Network Appliance, Inc. System and method for retrieving and using block fingerprints for data deduplication
WO2008109321A1 (en) * 2007-03-08 2008-09-12 Nec Laboratories America, Inc. Method and system for a self managing and scalable grid storage
JP2009050062A (ja) 2007-08-16 2009-03-05 Delta Electronics Inc 自己冷却後面接続駆動原動機組立品

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125873A (en) * 1977-06-29 1978-11-14 International Business Machines Corporation Display compressed image refresh system
US6101506A (en) * 1997-05-01 2000-08-08 Hitachi, Ltd. Method and system for managing files by version and programs therefor
CA2394876A1 (en) 1999-12-07 2001-06-14 Irina V. Gerasimov Scalable storage architecture
ATE354128T1 (de) * 1999-12-20 2007-03-15 Dainippon Printing Co Ltd Verteilte datenarchivierungsvorrichtung und system
JP4284896B2 (ja) * 2001-08-02 2009-06-24 コニカミノルタビジネステクノロジーズ株式会社 ファイル管理プログラム、ファイル管理プログラムを記録したコンピュータ読取可能な記録媒体、およびファイル管理方法
GB2395809B (en) 2002-11-28 2005-12-21 Ibm Metadata lock management in advanced function n-way shared storage controller systems
EP1825372A2 (en) * 2004-11-05 2007-08-29 Data Robotics Incorporated Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US20090049260A1 (en) * 2007-08-13 2009-02-19 Upadhyayula Shivarama Narasimh High performance data deduplication in a virtual tape system
US7788220B1 (en) * 2007-12-31 2010-08-31 Emc Corporation Storage of data with composite hashes in backup systems
JP5339432B2 (ja) 2009-02-25 2013-11-13 日本電気株式会社 ストレージシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198587A (ja) * 1996-12-30 1998-07-31 Sun Microsyst Inc ファイル・システムの間接アドレシング方法及び装置
US7143251B1 (en) * 2003-06-30 2006-11-28 Data Domain, Inc. Data storage using identifiers
JP2005235171A (ja) 2003-12-09 2005-09-02 Emc Corp 時間的に近接して記憶システムに書き込まれたデータユニットを示すコンテンツアドレスの生成方法およびその装置
WO2008005211A2 (en) * 2006-06-29 2008-01-10 Network Appliance, Inc. System and method for retrieving and using block fingerprints for data deduplication
WO2008109321A1 (en) * 2007-03-08 2008-09-12 Nec Laboratories America, Inc. Method and system for a self managing and scalable grid storage
JP2009050062A (ja) 2007-08-16 2009-03-05 Delta Electronics Inc 自己冷却後面接続駆動原動機組立品

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARK RUSSINOVICH: "NTFS 5.0 no Naibu Kozo-Zenhen", NIKKEI WINDOWS2000, no. 52, 1 July 2001 (2001-07-01), pages 216 - 223 *
See also references of EP2405359A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514560A (ja) * 2010-09-30 2013-04-25 日本電気株式会社 ストレージシステム
US9256368B2 (en) 2010-09-30 2016-02-09 Nec Corporation System and method for deduplication of distributed data

Also Published As

Publication number Publication date
EP2405359A4 (en) 2013-07-24
EP2405359A1 (en) 2012-01-11
US8843445B2 (en) 2014-09-23
CN102301347A (zh) 2011-12-28
JP5407430B2 (ja) 2014-02-05
CN102301347B (zh) 2014-10-29
JP2010204970A (ja) 2010-09-16
US20110295914A1 (en) 2011-12-01

Similar Documents

Publication Publication Date Title
JP5407430B2 (ja) ストレージシステム
JP5339432B2 (ja) ストレージシステム
US8725969B2 (en) Distributed content storage system supporting different redundancy degrees
JP6094267B2 (ja) ストレージシステム
JP2006294031A (ja) ネットワーク上での動作のための記憶ドライブ、ネットワークからシーケンシャルアクセス記憶媒体におけるファイルデータにアクセスする方法、ファイルに基づくコマンドを変換するための論理およびtocを格納するための論理を含む記憶論理、磁気テープ、ならびにテープのデータおよびtoc領域にアクセスするための論理
JP2006331076A (ja) データ記憶システム及び記憶方法
JP5477927B2 (ja) ストレージシステム
JP5517224B2 (ja) ストレージ装置
JP5660617B2 (ja) ストレージ装置
JP5929326B2 (ja) ストレージシステム
JP5585116B2 (ja) ストレージシステム
JP2013058134A (ja) データ書き込み装置
JP5459388B2 (ja) ストレージ装置
JP6269120B2 (ja) ストレージシステム
JP6281333B2 (ja) ストレージシステム
JP5446378B2 (ja) ストレージシステム
JP2014174604A (ja) ストレージシステム
JP5526824B2 (ja) ストレージシステム
JP2004030305A (ja) ファイルシステム
JP5891842B2 (ja) ストレージシステム
JP6337507B2 (ja) ストレージシステム
CN117873966A (zh) 一种文件处理的方法、装置、设备及存储介质
JP2013058133A (ja) データ書き込み装置

Legal Events

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

Ref document number: 201080006260.X

Country of ref document: CN

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

Ref document number: 10748418

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2010748418

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010748418

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13146687

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE