US20110296126A1 - Storage system - Google Patents
Storage system Download PDFInfo
- Publication number
- US20110296126A1 US20110296126A1 US13/147,670 US200913147670A US2011296126A1 US 20110296126 A1 US20110296126 A1 US 20110296126A1 US 200913147670 A US200913147670 A US 200913147670A US 2011296126 A1 US2011296126 A1 US 2011296126A1
- Authority
- US
- United States
- Prior art keywords
- journal
- storing
- storage
- data
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000012634 fragment Substances 0.000 claims abstract description 106
- 238000003672 processing method Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
Definitions
- the present invention relates to a storage system, and specifically, relates to a storage system that distributes and stores data into a plurality of storage devices.
- Patent Document 1 a content address storage system has been developed as shown in Patent Document 1. This content address storage system distributes data and stores into a plurality of storage devices, and specifies a storing position in which the data is stored based on a unique content address specified corresponding to the content of the data.
- a division unit 101 of a storage server 100 divides a data block that is storage target data into a plurality of fragments, and also adds a fragment that is redundant data thereto. Then, the division unit 101 stores the plurality of fragments into a plurality of storage devices such as a storage device 102 within the storage server 100 and storage devices 103 and 104 included in other storage servers. Later, by designating a content address, it is possible to retrieve data, namely, a fragment stored in a storing position specified by the content address and restore predetermined data before divided from the plurality of fragments.
- the content address is generated so as to be unique corresponding to the content of data. Therefore, in the case of duplicated data, it is possible to acquire data having the same content with reference to data in the same storing position. Thus, it is not necessary to separately store duplicated data, and it is possible to eliminate duplicated recording and reduce the data capacity.
- the storage system as described above distributes and stores the two or more fragments into the respective disks so as not to write the two or more fragments into one disk.
- the storage system makes a queue of the fragments waiting for being written and then writes in.
- the storage system executes a process of writing the fragment or the fragments from the queue into the disk by transaction processing, and records data representing a status of the transaction processing as a journal.
- FIG. 2 shows an aspect of storing the status of the transaction processing described above as a journal.
- a journal J is configured by a start entry written immediately before the writing of data (D) starts, a commit entry written immediately after the writing of the data ends, and a deletion entry for the used start/commit entries.
- Patent Document 2 describes a technique of switching a file for storing a journal when a space for storing the journal is not available any more.
- an object of the present invention is to provide a storage system capable of realizing increase of writing performance while realizing increase of redundancy, which is the aforementioned task.
- a storage system of an embodiment of the present invention includes a plurality of storing means and a data processing means configured to store data into the plurality of storing means.
- the data processing means includes: a storage destination setting means configured to set a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and set the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and a distribution storage controlling means configured to store the journal into the storing means set as the journal storing means by the storage destination setting means, and distribute and store the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- a computer program of another embodiment of the present invention is a computer program comprising instructions for causing an information processing device equipped with a plurality of storing means to realize a data processing means configured to store data into the plurality of storing means.
- the data processing means includes: a storage destination setting means configured to set a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and set the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and a distribution storage controlling means configured to store the journal into the storing means set as the journal storing means by the storage destination setting means, and distribute and store the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- a data processing method of another embodiment of the present invention is a data processing method including, when a storage system equipped with a plurality of storing means stores data into the plurality of storing means: setting a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and setting the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and storing the journal into the storing means set as the journal storing means, and distributing and storing the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- the present invention can realize increase of writing performance while realizing increase of redundancy of stored data in a storage system.
- FIG. 1 is a diagram showing an aspect of recording of data in a storage system relating to the present invention
- FIG. 2 is a view showing an aspect of storage of a journal in the storage system relating to the present invention
- FIG. 3 is a view showing a configuration of disks in the storage system relating to the present invention.
- FIG. 4 is a view showing an aspect of recording of fragment data and a journal in the storage system relating to the present invention
- FIG. 5 is a block diagram showing a configuration of a whole system in a first exemplary embodiment of the present invention
- FIG. 6 is a block diagram schematically showing a storage system in the first exemplary embodiment of the present invention.
- FIG. 7 is a function block diagram showing a configuration of the storage system disclosed in FIG. 6 ;
- FIG. 8 is an explanation view for explaining an operation of storing data by the storage system disclosed in FIG. 7 ;
- FIG. 9 is a view showing storage regions of disks included in the storage system.
- FIG. 10 is a view showing an example of data stored in the storage system
- FIG. 11 is an explanation view showing an operation of storing data in the storage system
- FIG. 12 is an explanation view showing an operation of storing data in the storage system
- FIG. 13 is a flowchart showing an operation of the storage system
- FIG. 14 is a flowchart showing an operation of the storage system.
- FIG. 15 is a function block diagram showing a configuration of a storage system in a second exemplary embodiment of the present invention.
- FIG. 5 is a block diagram showing a configuration of a whole system.
- FIG. 6 is a block diagram schematically showing a storage system
- FIG. 7 is a function block diagram showing a configuration.
- FIG. 8 is an explanation view for explaining an operation of storing data by the storage system.
- FIG. 9 is a view showing storage regions of disks installed in the storage system.
- FIG. 10 is a view showing an example of data stored in the storage system.
- FIGS. 11 and 12 are explanation views showing an operation of storing data by the storage system.
- FIGS. 13 and 14 are flowcharts showing an operation by the storage system.
- This exemplary embodiment shows a specific example of a storage system disclosed in a second exemplary embodiment described later.
- the storage system is configured by connecting a plurality of server computers.
- the storage system of the present invention is not limited to being configured by a plurality of computers, and may be configured by one computer.
- a storage system 10 of the present invention is connected to a backup system 11 that controls a backup process via a network N.
- the backup system 11 acquires backup target data (storage target data) stored in a backup target device 12 connected via the network N, and requests the storage system 10 to store.
- the storage system 10 stores the backup target data requested to be stored as a backup.
- the storage system 10 of this exemplary embodiment is configured by connecting a plurality of server computers.
- the storage system 10 is equipped with an accelerator node 10 A serving as a server computer that controls a storing/reproducing operation by the storage system 10 , and a storage node 10 B serving as a server computer equipped with a storage device that stores data.
- the number of the accelerator nodes 10 A and the number of the storage nodes 10 B are not limited to those shown in FIG. 6 , and the storage system may be configured by connecting more nodes 10 A and more nodes 10 B.
- the storage system 10 of this exemplary embodiment is a content address storage system that divides data and makes the data redundant, distributes and stores the data into a plurality of storage devices, and specifies a storing position in which the data is stored by a unique content address specified in accordance with the content of the data.
- a specific configuration will be described in detail.
- the storage system 10 is one system, components and functions of the storage system 10 will be described. That is to say, the components and functions of the storage system 10 described below can be included either in the accelerator node 10 A or in the storage node 10 B.
- the storage system 10 is not limited to including the accelerator node 10 A and the storage node 10 B necessarily, and may have any configuration. Moreover, the storage system 10 is not limited to a content address storage system.
- FIG. 7 shows a configuration of the storage system 10 of this exemplary embodiment.
- the storage system 10 is equipped with a data storage device 30 that stores data, and a data processing device 20 (a data processing means) that controls operations of storing and retrieving data into and from the data storage device 30 .
- the data processing device 20 is configured by a plurality of arithmetic devices such as a CPU (Central Processing Unit) of the accelerator node 10 A and a CPU of the storage node 10 B shown in FIG. 6 .
- the storage device 30 is configured by a storage device such as a hard disk of the accelerator node 10 A and a hard disk of the storage node 10 B shown in FIG. 6 .
- the data processing device 20 is equipped with a fragment generation unit 21 , a distribution storage control unit 22 , a journal storage control unit 23 and a storage destination setting unit 24 , which are constructed by building in a program.
- the data storage device 30 is equipped with a plurality of storage devices 31 (storing means) such as hard disk drives and is also equipped with a volatile memory 32 that stores a journal.
- storage devices 31 storing means
- volatile memory 32 that stores a journal.
- the abovementioned program is provided to the storage system 10 , for example, in a state stored in a storage medium such as a CD-ROM.
- the program may be stored in a storage device of another server computer on the network and provided from the other server computer to the storage system 10 via the network.
- the fragment generation unit 21 divides the backup target data A into predetermined capacities (e.g., 64 KB) of block data D. Then, the fragment generation unit 21 further divides the block data D into a plurality of fragment data having predetermined capacities. For example, as shown by reference numerals D 1 to D 9 , the fragment generation unit 21 divides the block data into nine fragment data (division data 41 ). Moreover, the fragment generation unit 21 generates redundant data so that the original block data can be restored even if some of the fragment data obtained by division are lost, and adds the redundant data to the fragment data 41 obtained by division.
- predetermined capacities e.g. 64 KB
- the fragment generation unit 21 further divides the block data D into a plurality of fragment data having predetermined capacities. For example, as shown by reference numerals D 1 to D 9 , the fragment generation unit 21 divides the block data into nine fragment data (division data 41 ). Moreover, the fragment generation unit 21 generates redundant data so that the original block data can be restored even if some of the
- the fragment generation unit 21 adds three fragment data (redundant data 42 ) as shown by reference numerals D 10 to D 12 .
- the fragment generation unit 21 generates a data set 40 including twelve fragment data composed of the nine division data 41 and the three redundant data.
- the distribution storage control unit 24 (a distribution storage controlling means) distributes and stores the fragment data composing the data set generated as described above into respective storage regions formed in the storage devices 31 . For example, in a case that the twelve fragment data D 1 to 012 are generated, the distribution storage control unit 24 stores the fragment data D 1 to 012 into data storage files F 1 to F 12 formed in the twelve storage devices 31 one by one.
- the distribution storage control unit 22 of this exemplary embodiment has a function of storing a journal representing the history of a data processing status within the storage system, for example, a journal representing the record of a data storing process status, a data deletion process status, and so on, into the storage devices 31 .
- the distribution storage control unit 22 stores the journal and the fragment data into each of the storage devices 31 set by the storage destination setting unit 24 . That is to say, the distribution storage control unit 22 stores the journal into the storage device 31 set as a journal storage device, and stores respective fragment data into the storage device set as a fragment storage device.
- the storage destination setting unit 24 (a storage destination setting means) will be described.
- the storage destination setting unit 24 has a function of setting the storage devices 31 to become storage destinations of a journal and fragment data stored by the distribution storage control unit 22 .
- the storage system is equipped with (n+1) pieces of disks 0 to n as the storage devices 31 .
- the disks 0 and 1 have duplicated OS (Operating System) regions 52 .
- all of the disks 0 to n each have a journal storage region 51 for storing a journal and a data region 53 for storing fragment data. That is to say, all of the disks 0 and 1 having the OS regions 52 and the other disks 2 to n each have the journal storage region 51 and the data region 53 .
- the storage destination setting unit 24 sets one of the disks as a journal storage device, and sets all of the disks other than the disk set as the journal storage device, as fragment storage devices.
- the storage destination setting unit 24 firstly sets a disk in which the available capacity of the data region 53 is the least, as a journal storage device.
- the storage destination setting unit 24 sets the other disks as fragment storage devices.
- the storage destination setting unit 24 Upon setting of the respective disks as described above, the storage destination setting unit 24 stores data to be stored and the available capacity of the data region into a disk use information table as shown in FIG. 10 formed within the data storage device 30 , by disk number. For example, in the case of setting the disk 2 as a journal storage device, the storage destination setting unit 24 stores information “for writing a journal” into the disk 2 , and stores information “for writing data” into the disks set as the other fragment storage device.
- the data processing device 20 constantly checks the available capacities of the data regions 53 of the respective disks at fixed time intervals, and stores into the abovementioned table so as to correspond to the respective disks (D 0 to Dn).
- the distribution storage control unit 22 distributes and stores a journal and fragment data into the respective disks, and the available capabilities of the respective disks change.
- the storage destination setting unit 24 changes and sets a disk serving as a journal storage device.
- the storage destination setting unit 24 constantly checks at fixed time intervals whether the following expression is satisfied or not:
- the storage destination setting unit 24 changes to set a disk in which the available capacity of the data region 53 is the least at that moment as a new journal storage device. That is to say, the above condition expression becomes satisfied when the available capacity of the disks of fragment storage devices changes to decrease and, at a time that the condition expression is satisfied, the storage destination setting unit 24 changes to set the disk with the least available capacity as a journal storage device for storing a journal, the data amount of which is small.
- the storage destination setting unit 24 changes and sets in a manner that all of the disks are subsequently set as a journal storage device.
- the storage destination setting unit 24 does not need to change in a manner that all of the disks are set as a journal storage device.
- a time to change a journal storage device is not limited to when the above condition is satisfied. For example, at a time that another condition expression based on the available capacity of the data region of a disk set as a journal storage device and the available capacities of the other disks is satisfied, a journal storage device may be changed and set.
- the journal storage control unit 23 (a journal storage controlling means) controls so as to store and hold the journal stored in the disk set as a journal storage device by the distribution storage control unit 22 as described above, also into the memory 32 . Then, when a disk serving as a new journal storage device is set by the storage destination setting unit 24 as described above, the journal storage control unit 23 writes the journal held within the memory 32 into the disk serving as the new journal storage device.
- the journal storage control unit 23 writes the journal stored in the memory 32 into a disk in accordance with an operation status of the storage system 10 , for example, at the time of occurrence of a failure in the storage system 10 like occurrence of a failure of the storage device 31 .
- the journal storage control unit 23 stores the journal into a disk set as a fragment storage device, not into the disk set as a journal storage device.
- a data processing step an operation of the storage system 1 with the abovementioned configuration (a data processing step) will be described with reference to FIGS. 11 to 14 .
- a disk in which the available capacity of the data region is the least is set as a journal storage device (step S 1 in FIG. 13 ).
- the status of setting is stored into the disk use information table.
- a data file is generated on each of disks set as fragment storage devices other than the journal storage device, whereby regions for storing fragment data are secured (step S 2 in FIG. 13 ).
- fragment data including division data of storage target data and redundant data and a journal are stored into the disks, respectively.
- a journal is stored into the disk 2 via the memory 32 and fragment data are distributed and stored into the other disks as shown in FIG. 11A .
- the memory 32 keeps holding the journal.
- FIG. 12 illustrates a function relating to the journal storing process constructed within the data processing device 20 .
- a journal is firstly stored into the memory 32 , and stored in the memory 32 at all times.
- a journal writer 41 stores the journal stored in the memory into a disk switched to a journal storage device by a journal disk switcher 42 .
- step S 4 in FIG. 13 the disk in which the available capacity of the data region 53 is the least at that moment is changed to and set as a new journal storage device (step S 5 in FIG. 13 ), and the setting status of the disk is stored into the disk use information table (a storage destination setting step).
- a storage destination setting step In a case that there are a plurality of disks with the least available capacities, any one of the disks is set as a journal storage device.
- step S 6 the data file on the disk newly set as a journal storage device, namely, the region for fragment is all closed.
- step S 7 the data file of the disk newly set as a journal storage device is all closed.
- step S 8 the journal held in the memory 32 is written in the disk of the new journal storage device.
- step S 8 the journal is also kept held within the memory 32 . Consequently, even if a failure like crash arises while moving the journal, it is possible to recover by using the journal within the disk and the journal within the memory.
- a data file is generated on each of the disks set as fragment storage devices other than the journal storage device, whereby regions for storing fragment data are secured (step S 2 in FIG. 13 ).
- the fragment data including division data of storage target data and redundant data and the journal are stored into the disks, respectively (a distribution storage controlling step). For example, when the disk 0 is set as a new journal storage device in a state shown in FIG. 11A , the journal is stored into the disk 0 via the memory 32 and the fragment data are distributedly stored into the other disks as shown in FIG. 11B .
- the memory 32 keeps holding the journal.
- a journal writing process and a journal disk switching process are stopped (step S 12 in FIG. 14 ).
- a process of writing the journal held in the memory 32 into the disk is executed.
- the journal held in the memory 32 is written into all of the normally operating disks other than the disk set as a journal storage device (“No” at step S 13 , “Yes” at step S 14 , and step S 15 in FIG. 14 ).
- the journal writing process is executed by a journal replicator 45 shown in FIG. 12 .
- a journal is not fixedly stored into a specific disk, and it is possible to inhibit simultaneous loss of fragment data and a journal even if a disk failure occurs.
- a journal and fragment data are never stored into one disk simultaneously, it is possible to inhibit contention of a process of writing data into the disk.
- by sequentially changing and setting a disk for storing a journal it is possible to efficiently store a journal, the data capacity of which is relatively small.
- journal is held in the memory as well as stored in a disk, redundancy is secured. Furthermore, for example, in case of a failure of the storage system, it is possible to realize further increase of redundancy by storing the journal into any disk.
- FIG. 15 is a function block diagram showing a configuration of a storage system.
- the storage system will be schematically described.
- a storage system 1 of this exemplary embodiment includes a plurality of storing means 5 and a data processing means 2 configured to store data into the plurality of storing means 5 .
- the data processing means 2 includes: a storage destination setting means 3 configured to set a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means 5 , and set the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and a distribution storage controlling means 4 configured to store the journal into the storing means 5 set as the journal storing means by the storage destination setting means 3 , and distribute and store the plurality of fragment data into the plurality of storing means 5 set as the fragment storing means, respectively.
- the journal storing means configured to store a journal and the fragment storing means configured to store respective fragment data forming storage target data are set so as not to coincide. Therefore, a journal is not fixedly stored into a specific storing means, and it is possible to inhibit simultaneous loss of fragment data and a journal even if a failure occurs in the storing means. Moreover, since a journal and fragment data are never stored into one storing means, it is possible to inhibit contention of a process of writing data into the storing means. As a result, it is possible to realize increase of writing performance while realizing increase of redundancy of stored data.
- the storage destination setting means is configured to set the journal storing means by subsequently changing to the other storing means. Further, in the storage system, the storage destination setting means is configured to set the journal storing means by subsequently changing among all of the storing means.
- the storage destination setting means is configured to set the journal storing means by changing at a time based on change of a value of an available capacity of the storing means set as the journal storing means and values of available capacities of the other storing means.
- the storage destination setting means is configured to set the journal storing means by changing at a time that ⁇ (the available capacity of the storing means set as the journal storing means) ⁇ (a available capacity of a storing means with least available capacity among the other storing means) ⁇ > ⁇ ( ⁇ : a preset value) is satisfied.
- the storage destination setting means is configured to set the storing means with the least available capacity as the journal storing means.
- the journal is stored into the storing means by the distribution storage controlling means, and the storage system includes a journal storage controlling means configured to store the journal into a volatile memory installed in the storage system.
- the journal storage controlling means is configured to, when the journal storing means is changed and set by the storage destination setting means, store the journal stored in the volatile memory into the storing means newly set as the journal storing means by changing.
- the journal storage controlling means is configured to store the journal stored in the volatile memory into the storing means set as the fragment storing means in accordance with an operation status of the storage system.
- the journal storage controlling means is configured to, at the time of occurrence of a failure of the storage system, store the journal stored in the volatile memory into all of the storing means set as the fragment storing means, respectively.
- the abovementioned storage system can be realized by installing a program into an information processing device.
- a computer program of another embodiment of the present invention is a program including instructions for causing an information processing device equipped with a plurality of storing means to realize a data processing means configured to store data into the plurality of storing means.
- the data processing means includes: a storage destination setting means configured to set a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and set the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and a distribution storage controlling means configured to store the journal into the storing means set as the journal storing means by the storage destination setting means, and distribute and store the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- the storage destination setting means is configured to set the journal storing means by subsequently changing to the other storing means.
- a data processing method of another embodiment of the present invention realized by operation of the abovementioned storage system includes, when a storage system equipped with a plurality of storing means stores data into the plurality of storing means: setting a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and setting the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and storing the journal into the storing means set as the journal storing means, and distributing and storing the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- the data processing method includes, at the time of setting the journal storing means from among the plurality of storing means, setting the journal storing means by subsequently changing to the other storing means.
- the present invention can be utilized for a storage system configured by connecting a plurality of computers, and has industrial applicability.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- The present invention relates to a storage system, and specifically, relates to a storage system that distributes and stores data into a plurality of storage devices.
- In recent years, as computers have developed and become popular, various kinds of information are put into digital data. As a device for storing such digital data, there is a storage device such as a magnetic tape and a magnetic disk. Because data to be stored has increased day by day and the amount thereof has become huge, a high-capacity storage system is required. Moreover, it is required to keep reliability while reducing the cost for storage devices. In addition, it is required that data can be easily retrieved later. As a result, such a storage system is desired that is capable of automatically realizing increase of the storage capacity and performance thereof, that eliminates a duplicate of storage to reduce the cost for storage, and that has high redundancy.
- Under such circumstances, in recent years, a content address storage system has been developed as shown in
Patent Document 1. This content address storage system distributes data and stores into a plurality of storage devices, and specifies a storing position in which the data is stored based on a unique content address specified corresponding to the content of the data. - To be specific, in the content address storage system, as shown in
FIG. 1 , adivision unit 101 of astorage server 100 divides a data block that is storage target data into a plurality of fragments, and also adds a fragment that is redundant data thereto. Then, thedivision unit 101 stores the plurality of fragments into a plurality of storage devices such as astorage device 102 within thestorage server 100 andstorage devices - Further, the content address is generated so as to be unique corresponding to the content of data. Therefore, in the case of duplicated data, it is possible to acquire data having the same content with reference to data in the same storing position. Thus, it is not necessary to separately store duplicated data, and it is possible to eliminate duplicated recording and reduce the data capacity.
- Then, in the case of writing two or more pieces of fragment data (referred to as a “fragment” hereinafter) divided from one data block into one server, in order to keep the tolerance to disk fault, the storage system as described above distributes and stores the two or more fragments into the respective disks so as not to write the two or more fragments into one disk. On the other hand, when it is necessary to write two or more fragments that belong to different data blocks into one disk, the storage system makes a queue of the fragments waiting for being written and then writes in. The storage system executes a process of writing the fragment or the fragments from the queue into the disk by transaction processing, and records data representing a status of the transaction processing as a journal.
-
FIG. 2 shows an aspect of storing the status of the transaction processing described above as a journal. As shown in this drawing, a journal (J) is configured by a start entry written immediately before the writing of data (D) starts, a commit entry written immediately after the writing of the data ends, and a deletion entry for the used start/commit entries. - Then, for keeping redundancy, a
journal 110 as described above is fixedly placed within OS (Operating System)regions 120 of disk regions configuring hardware RAID (Redundant Arrays of Inexpensive Disks) as shown inFIG. 3 . In other words, the journal is placed within theOS regions 120 duplicated in two disks. As a related art,Patent Document 2 describes a technique of switching a file for storing a journal when a space for storing the journal is not available any more. - On the other hand, in order to maximize the utilization of a disk capacity, it is necessary to use each of the remaining capacities of the disks (
disk 0, disk 1) including theOS regions 120 as adata region 130. This is critically important because an OS region is relatively small in a disk, which has become high-capacity nowadays. Therefore, it is necessary to provide a disk including theOS region 120 and other disks, namely, all disks (disk 0 to disk n) withdata regions 130 for storing data. - [Patent Document 1] Japanese Unexamined Patent Application Publication No. JP-A 2005-235171
- [Patent Document 2] Japanese Unexamined Patent Application Publication No. JP-A 1990-54346
- However, in the case of distributing and storing storage target data like fragment data into the disks having the
OS regions 120 as well, there is a problem that the writing performance of the storage system decreases. To be specific, as shown inFIG. 4 , in a case that fragment data are stored into the disks having the OS regions, the fragment data and the journal are stored into the same disks (disk 0 and disk 1). This causes contention of the writing process in the disks, delays the writing, and delays completion of the writing of the original data block having been fragmented. As a result, the problem of decrease of the writing performance arises. Moreover, in the event of a disk failure, both the data and the journal may be lost, and therefore, a problem of decrease of reliability also arises. - Accordingly, an object of the present invention is to provide a storage system capable of realizing increase of writing performance while realizing increase of redundancy, which is the aforementioned task.
- In order to achieve the object, a storage system of an embodiment of the present invention includes a plurality of storing means and a data processing means configured to store data into the plurality of storing means.
- Then, the data processing means includes: a storage destination setting means configured to set a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and set the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and a distribution storage controlling means configured to store the journal into the storing means set as the journal storing means by the storage destination setting means, and distribute and store the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- Further, a computer program of another embodiment of the present invention is a computer program comprising instructions for causing an information processing device equipped with a plurality of storing means to realize a data processing means configured to store data into the plurality of storing means.
- Then, the data processing means includes: a storage destination setting means configured to set a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and set the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and a distribution storage controlling means configured to store the journal into the storing means set as the journal storing means by the storage destination setting means, and distribute and store the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- Further, a data processing method of another embodiment of the present invention is a data processing method including, when a storage system equipped with a plurality of storing means stores data into the plurality of storing means: setting a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and setting the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and storing the journal into the storing means set as the journal storing means, and distributing and storing the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- With the configurations as described above, the present invention can realize increase of writing performance while realizing increase of redundancy of stored data in a storage system.
-
FIG. 1 is a diagram showing an aspect of recording of data in a storage system relating to the present invention; -
FIG. 2 is a view showing an aspect of storage of a journal in the storage system relating to the present invention; -
FIG. 3 is a view showing a configuration of disks in the storage system relating to the present invention; -
FIG. 4 is a view showing an aspect of recording of fragment data and a journal in the storage system relating to the present invention; -
FIG. 5 is a block diagram showing a configuration of a whole system in a first exemplary embodiment of the present invention; -
FIG. 6 is a block diagram schematically showing a storage system in the first exemplary embodiment of the present invention; -
FIG. 7 is a function block diagram showing a configuration of the storage system disclosed inFIG. 6 ; -
FIG. 8 is an explanation view for explaining an operation of storing data by the storage system disclosed inFIG. 7 ; -
FIG. 9 is a view showing storage regions of disks included in the storage system; -
FIG. 10 is a view showing an example of data stored in the storage system; -
FIG. 11 is an explanation view showing an operation of storing data in the storage system; -
FIG. 12 is an explanation view showing an operation of storing data in the storage system; -
FIG. 13 is a flowchart showing an operation of the storage system; -
FIG. 14 is a flowchart showing an operation of the storage system; and -
FIG. 15 is a function block diagram showing a configuration of a storage system in a second exemplary embodiment of the present invention. - A first exemplary embodiment of the present invention will be described with reference to
FIGS. 5 to 14 .FIG. 5 is a block diagram showing a configuration of a whole system.FIG. 6 is a block diagram schematically showing a storage system, andFIG. 7 is a function block diagram showing a configuration.FIG. 8 is an explanation view for explaining an operation of storing data by the storage system.FIG. 9 is a view showing storage regions of disks installed in the storage system.FIG. 10 is a view showing an example of data stored in the storage system.FIGS. 11 and 12 are explanation views showing an operation of storing data by the storage system.FIGS. 13 and 14 are flowcharts showing an operation by the storage system. - This exemplary embodiment shows a specific example of a storage system disclosed in a second exemplary embodiment described later. In a description below, the storage system is configured by connecting a plurality of server computers. However, the storage system of the present invention is not limited to being configured by a plurality of computers, and may be configured by one computer.
- [Configuration]
- As shown in
FIG. 5 , astorage system 10 of the present invention is connected to abackup system 11 that controls a backup process via a network N. Thebackup system 11 acquires backup target data (storage target data) stored in abackup target device 12 connected via the network N, and requests thestorage system 10 to store. Thus, thestorage system 10 stores the backup target data requested to be stored as a backup. - As shown in
FIG. 6 , thestorage system 10 of this exemplary embodiment is configured by connecting a plurality of server computers. To be specific, thestorage system 10 is equipped with anaccelerator node 10A serving as a server computer that controls a storing/reproducing operation by thestorage system 10, and astorage node 10B serving as a server computer equipped with a storage device that stores data. The number of theaccelerator nodes 10A and the number of thestorage nodes 10B are not limited to those shown inFIG. 6 , and the storage system may be configured by connectingmore nodes 10A andmore nodes 10B. - Furthermore, the
storage system 10 of this exemplary embodiment is a content address storage system that divides data and makes the data redundant, distributes and stores the data into a plurality of storage devices, and specifies a storing position in which the data is stored by a unique content address specified in accordance with the content of the data. A specific configuration will be described in detail. - Below, assuming the
storage system 10 is one system, components and functions of thestorage system 10 will be described. That is to say, the components and functions of thestorage system 10 described below can be included either in theaccelerator node 10A or in thestorage node 10B. Thestorage system 10 is not limited to including theaccelerator node 10A and thestorage node 10B necessarily, and may have any configuration. Moreover, thestorage system 10 is not limited to a content address storage system. -
FIG. 7 shows a configuration of thestorage system 10 of this exemplary embodiment. As shown in this drawing, thestorage system 10 is equipped with adata storage device 30 that stores data, and a data processing device 20 (a data processing means) that controls operations of storing and retrieving data into and from thedata storage device 30. Actually, thedata processing device 20 is configured by a plurality of arithmetic devices such as a CPU (Central Processing Unit) of theaccelerator node 10A and a CPU of thestorage node 10B shown inFIG. 6 . Thestorage device 30 is configured by a storage device such as a hard disk of theaccelerator node 10A and a hard disk of thestorage node 10B shown inFIG. 6 . - As shown in
FIG. 6 , thedata processing device 20 is equipped with afragment generation unit 21, a distributionstorage control unit 22, a journalstorage control unit 23 and a storagedestination setting unit 24, which are constructed by building in a program. Thedata storage device 30 is equipped with a plurality of storage devices 31 (storing means) such as hard disk drives and is also equipped with avolatile memory 32 that stores a journal. Below the respective components will be described in detail. The abovementioned program is provided to thestorage system 10, for example, in a state stored in a storage medium such as a CD-ROM. Alternatively, the program may be stored in a storage device of another server computer on the network and provided from the other server computer to thestorage system 10 via the network. - First, a basic configuration of the
data processing device 20, namely, a distribution storage function by thefragment generation unit 21 and the distributionstorage control unit 22 will be described with reference toFIG. 8 . - First, upon acceptance of an input of backup target data A, the
fragment generation unit 21 divides the backup target data A into predetermined capacities (e.g., 64 KB) of block data D. Then, thefragment generation unit 21 further divides the block data D into a plurality of fragment data having predetermined capacities. For example, as shown by reference numerals D1 to D9, thefragment generation unit 21 divides the block data into nine fragment data (division data 41). Moreover, thefragment generation unit 21 generates redundant data so that the original block data can be restored even if some of the fragment data obtained by division are lost, and adds the redundant data to thefragment data 41 obtained by division. For example, thefragment generation unit 21 adds three fragment data (redundant data 42) as shown byreference numerals D 10 to D12. Thus, thefragment generation unit 21 generates adata set 40 including twelve fragment data composed of the ninedivision data 41 and the three redundant data. - The distribution storage control unit 24 (a distribution storage controlling means) distributes and stores the fragment data composing the data set generated as described above into respective storage regions formed in the
storage devices 31. For example, in a case that the twelve fragment data D1 to 012 are generated, the distributionstorage control unit 24 stores the fragment data D1 to 012 into data storage files F1 to F12 formed in the twelvestorage devices 31 one by one. - Further, the distribution
storage control unit 22 of this exemplary embodiment has a function of storing a journal representing the history of a data processing status within the storage system, for example, a journal representing the record of a data storing process status, a data deletion process status, and so on, into thestorage devices 31. At this moment, the distributionstorage control unit 22 stores the journal and the fragment data into each of thestorage devices 31 set by the storagedestination setting unit 24. That is to say, the distributionstorage control unit 22 stores the journal into thestorage device 31 set as a journal storage device, and stores respective fragment data into the storage device set as a fragment storage device. - Next, the storage destination setting unit 24 (a storage destination setting means) will be described. As mentioned above, the storage
destination setting unit 24 has a function of setting thestorage devices 31 to become storage destinations of a journal and fragment data stored by the distributionstorage control unit 22. - In this exemplary embodiment, as shown in
FIG. 9 , the storage system is equipped with (n+1) pieces ofdisks 0 to n as thestorage devices 31. Among these disks, thedisks regions 52. Moreover, in this exemplary embodiment, all of thedisks 0 to n each have a journal storage region 51 for storing a journal and adata region 53 for storing fragment data. That is to say, all of thedisks OS regions 52 and theother disks 2 to n each have the journal storage region 51 and thedata region 53. - Under the abovementioned condition, the storage
destination setting unit 24 sets one of the disks as a journal storage device, and sets all of the disks other than the disk set as the journal storage device, as fragment storage devices. To be specific, in the initial state, the storagedestination setting unit 24 firstly sets a disk in which the available capacity of thedata region 53 is the least, as a journal storage device. At this moment, in a case that there are a plurality of disks in which the available capacities are the least, any one of the disks is set as a journal storage device. A disk with the least available capacity is set as a journal storage device because the data amount of a journal is relatively small. Then, the storagedestination setting unit 24 sets the other disks as fragment storage devices. - Upon setting of the respective disks as described above, the storage
destination setting unit 24 stores data to be stored and the available capacity of the data region into a disk use information table as shown inFIG. 10 formed within thedata storage device 30, by disk number. For example, in the case of setting thedisk 2 as a journal storage device, the storagedestination setting unit 24 stores information “for writing a journal” into thedisk 2, and stores information “for writing data” into the disks set as the other fragment storage device. Thedata processing device 20 constantly checks the available capacities of thedata regions 53 of the respective disks at fixed time intervals, and stores into the abovementioned table so as to correspond to the respective disks (D0 to Dn). - As described above, the distribution
storage control unit 22 distributes and stores a journal and fragment data into the respective disks, and the available capabilities of the respective disks change. Along with change of the available capabilities, the storagedestination setting unit 24 changes and sets a disk serving as a journal storage device. To be specific, based on the available capabilities of the data regions within the disk use information table constantly updated as described above, the storagedestination setting unit 24 constantly checks at fixed time intervals whether the following expression is satisfied or not: -
{(the available capacity of the data region of the disk set as a journal storage device)−(the available capacity of the data region of the disk with the least available capacity among the other disks)}>α(α: a preset value). - Then, at a time that the above condition is satisfied, the storage
destination setting unit 24 changes to set a disk in which the available capacity of thedata region 53 is the least at that moment as a new journal storage device. That is to say, the above condition expression becomes satisfied when the available capacity of the disks of fragment storage devices changes to decrease and, at a time that the condition expression is satisfied, the storagedestination setting unit 24 changes to set the disk with the least available capacity as a journal storage device for storing a journal, the data amount of which is small. - Thus, the storage
destination setting unit 24 changes and sets in a manner that all of the disks are subsequently set as a journal storage device. The storagedestination setting unit 24 does not need to change in a manner that all of the disks are set as a journal storage device. Moreover, a time to change a journal storage device is not limited to when the above condition is satisfied. For example, at a time that another condition expression based on the available capacity of the data region of a disk set as a journal storage device and the available capacities of the other disks is satisfied, a journal storage device may be changed and set. - The journal storage control unit 23 (a journal storage controlling means) controls so as to store and hold the journal stored in the disk set as a journal storage device by the distribution
storage control unit 22 as described above, also into thememory 32. Then, when a disk serving as a new journal storage device is set by the storagedestination setting unit 24 as described above, the journalstorage control unit 23 writes the journal held within thememory 32 into the disk serving as the new journal storage device. - Furthermore, the journal
storage control unit 23 writes the journal stored in thememory 32 into a disk in accordance with an operation status of thestorage system 10, for example, at the time of occurrence of a failure in thestorage system 10 like occurrence of a failure of thestorage device 31. At this moment, particularly, the journalstorage control unit 23 stores the journal into a disk set as a fragment storage device, not into the disk set as a journal storage device. - [Operation]
- Next, an operation of the
storage system 1 with the abovementioned configuration (a data processing step) will be described with reference toFIGS. 11 to 14 . In the initial state, a disk in which the available capacity of the data region is the least is set as a journal storage device (step S1 inFIG. 13 ). Then, the status of setting is stored into the disk use information table. Moreover, with reference to this table, a data file is generated on each of disks set as fragment storage devices other than the journal storage device, whereby regions for storing fragment data are secured (step S2 inFIG. 13 ). - After that, based on the setting of the disks mentioned above, fragment data including division data of storage target data and redundant data and a journal are stored into the disks, respectively. For example, in a case that the
disk 2 is set as a journal storage device, a journal is stored into thedisk 2 via thememory 32 and fragment data are distributed and stored into the other disks as shown inFIG. 11A . Thememory 32 keeps holding the journal. - A process of storing a journal will be described more with reference to
FIG. 12 .FIG. 12 illustrates a function relating to the journal storing process constructed within thedata processing device 20. As shown in this drawing, a journal is firstly stored into thememory 32, and stored in thememory 32 at all times. Then, ajournal writer 41 stores the journal stored in the memory into a disk switched to a journal storage device by ajournal disk switcher 42. - Subsequently, as described above, while the journal and the fragment data are distributedly stored in the respective disks, the available capacities of the data regions (refer to reference numeral 53 in
FIG. 9 ) of the respective disks are constantly updated (step S3 inFIG. 13 ; an available capacity monitor 44 inFIG. 12 ). - Then, the abovementioned condition, namely,
-
{(the available capacity of the data region of the disk set as a journal storage device)−(the available capacity of the data region of the disk with the least available capacity among the other disks)}>α(α: a preset value) - is satisfied (“Yes” at step S4 in
FIG. 13 ), the disk in which the available capacity of thedata region 53 is the least at that moment is changed to and set as a new journal storage device (step S5 inFIG. 13 ), and the setting status of the disk is stored into the disk use information table (a storage destination setting step). In a case that there are a plurality of disks with the least available capacities, any one of the disks is set as a journal storage device. - After that, it is waited that the data file on the disk newly set as a journal storage device, namely, the region for fragment is all closed (step S6 in
FIG. 13 ). Then, immediately after the data file of the disk newly set as a journal storage device is all closed, use of the disk as a journal storage device is started (step S7 inFIG. 13 ). At this moment, firstly, the journal held in thememory 32 is written in the disk of the new journal storage device (step S8 inFIG. 13 ). At this moment, the journal is also kept held within thememory 32. Consequently, even if a failure like crash arises while moving the journal, it is possible to recover by using the journal within the disk and the journal within the memory. - After that, in a like manner as described above, a data file is generated on each of the disks set as fragment storage devices other than the journal storage device, whereby regions for storing fragment data are secured (step S2 in
FIG. 13 ). Then, based on the setting of the abovementioned table, the fragment data including division data of storage target data and redundant data and the journal are stored into the disks, respectively (a distribution storage controlling step). For example, when thedisk 0 is set as a new journal storage device in a state shown inFIG. 11A , the journal is stored into thedisk 0 via thememory 32 and the fragment data are distributedly stored into the other disks as shown inFIG. 11B . Thememory 32 keeps holding the journal. - Next, an operation when a failure occurs in the storage system will be described with reference to
FIG. 14 . Firstly, with occurrence of an event like “Expected Error” including a shutdown of a server and a disk failure, it is detected that failure occurs in thestorage system 10. Such a failure is detected by, for example, ashutdown detector 46, adisk failure detector 47 and anerror detector 48 shown inFIG. 12 (step S11 inFIG. 14 ). - Then, upon detection of a failure of the
storage system 10, a journal writing process and a journal disk switching process are stopped (step S12 inFIG. 14 ). After that, a process of writing the journal held in thememory 32 into the disk is executed. To be specific, the journal held in thememory 32 is written into all of the normally operating disks other than the disk set as a journal storage device (“No” at step S13, “Yes” at step S14, and step S15 inFIG. 14 ). The journal writing process is executed by ajournal replicator 45 shown inFIG. 12 . - Upon completion of the journal writing process on all of the disks that the journal is written (“Yes” at
step 13 inFIG. 14 ), a command to stop the storage service or continue the shutdown of the storage system is given. - Thus, according to the
storage system 10 of this exemplary embodiment, a journal is not fixedly stored into a specific disk, and it is possible to inhibit simultaneous loss of fragment data and a journal even if a disk failure occurs. In particular, since a journal and fragment data are never stored into one disk simultaneously, it is possible to inhibit contention of a process of writing data into the disk. As a result, it is possible to realize increase of writing performance while realizing increase of redundancy of stored data. Then, by sequentially changing and setting a disk for storing a journal, it is possible to efficiently store a journal, the data capacity of which is relatively small. - Further, since a journal is held in the memory as well as stored in a disk, redundancy is secured. Furthermore, for example, in case of a failure of the storage system, it is possible to realize further increase of redundancy by storing the journal into any disk.
- A second exemplary embodiment of the present invention will be described with reference to
FIG. 15 .FIG. 15 is a function block diagram showing a configuration of a storage system. In this exemplary embodiment, the storage system will be schematically described. - As shown in
FIG. 15 , astorage system 1 of this exemplary embodiment includes a plurality of storing means 5 and a data processing means 2 configured to store data into the plurality of storing means 5. - Then, the data processing means 2 includes: a storage destination setting means 3 configured to set a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means 5, and set the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and a distribution storage controlling means 4 configured to store the journal into the storing means 5 set as the journal storing means by the storage destination setting means 3, and distribute and store the plurality of fragment data into the plurality of storing means 5 set as the fragment storing means, respectively.
- According to the storage system with the configuration described above, the journal storing means configured to store a journal and the fragment storing means configured to store respective fragment data forming storage target data are set so as not to coincide. Therefore, a journal is not fixedly stored into a specific storing means, and it is possible to inhibit simultaneous loss of fragment data and a journal even if a failure occurs in the storing means. Moreover, since a journal and fragment data are never stored into one storing means, it is possible to inhibit contention of a process of writing data into the storing means. As a result, it is possible to realize increase of writing performance while realizing increase of redundancy of stored data.
- Further, in the storage system, the storage destination setting means is configured to set the journal storing means by subsequently changing to the other storing means. Further, in the storage system, the storage destination setting means is configured to set the journal storing means by subsequently changing among all of the storing means.
- Further, in the storage system, the storage destination setting means is configured to set the journal storing means by changing at a time based on change of a value of an available capacity of the storing means set as the journal storing means and values of available capacities of the other storing means. For example, the storage destination setting means is configured to set the journal storing means by changing at a time that {(the available capacity of the storing means set as the journal storing means)−(a available capacity of a storing means with least available capacity among the other storing means)}>α (α: a preset value) is satisfied.
- Further, in the storage system, the storage destination setting means is configured to set the storing means with the least available capacity as the journal storing means.
- By thus sequentially changing and setting a region for storing a journal, it is possible to efficiently store a journal, the data capacity of which is relatively small.
- Further, in the storage system, the journal is stored into the storing means by the distribution storage controlling means, and the storage system includes a journal storage controlling means configured to store the journal into a volatile memory installed in the storage system.
- Then, in the storage system, the journal storage controlling means is configured to, when the journal storing means is changed and set by the storage destination setting means, store the journal stored in the volatile memory into the storing means newly set as the journal storing means by changing.
- Furthermore, in the storage system, the journal storage controlling means is configured to store the journal stored in the volatile memory into the storing means set as the fragment storing means in accordance with an operation status of the storage system. In this case, for example, the journal storage controlling means is configured to, at the time of occurrence of a failure of the storage system, store the journal stored in the volatile memory into all of the storing means set as the fragment storing means, respectively.
- Consequently, it is possible to keep a journal stored in any storing means in case of a failure of the storage system. Therefore, even if a failure occurs in the journal storing means, the journal is held in the other storing means, and it is possible to recover later with reference to the journal. As a result, it is possible to further increase redundancy.
- Further, the abovementioned storage system can be realized by installing a program into an information processing device.
- To be specific, a computer program of another embodiment of the present invention is a program including instructions for causing an information processing device equipped with a plurality of storing means to realize a data processing means configured to store data into the plurality of storing means.
- Then, the data processing means includes: a storage destination setting means configured to set a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and set the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and a distribution storage controlling means configured to store the journal into the storing means set as the journal storing means by the storage destination setting means, and distribute and store the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- Further, in the computer program, the storage destination setting means is configured to set the journal storing means by subsequently changing to the other storing means.
- Further, a data processing method of another embodiment of the present invention realized by operation of the abovementioned storage system includes, when a storage system equipped with a plurality of storing means stores data into the plurality of storing means: setting a journal storing means configured to store a journal showing a data processing status of the storage system from among the plurality of storing means, and setting the plurality of storing means other than the set journal storing means as fragment storing means configured to distributedly store a plurality of fragment data forming storage target data, respectively; and storing the journal into the storing means set as the journal storing means, and distributing and storing the plurality of fragment data into the plurality of storing means set as the fragment storing means, respectively.
- Then, the data processing method includes, at the time of setting the journal storing means from among the plurality of storing means, setting the journal storing means by subsequently changing to the other storing means.
- Inventions of a computer program and a data processing method having the abovementioned configurations have like actions as the abovementioned storage system, and therefore, can achieve the object of the present invention mentioned above.
- Although the present invention has been described with reference to the respective exemplary embodiments described above, the present invention is not limited to the abovementioned exemplary embodiments. The configuration and details of the present invention can be altered within the scope of the present invention in various manners that can be understood by those skilled in the art.
- The present invention is based upon and claims the benefit of priority from Japanese patent application No. 2009-032335, filed on Feb. 16, 2009, the disclosure of which is incorporated herein in its entirety by reference.
- The present invention can be utilized for a storage system configured by connecting a plurality of computers, and has industrial applicability.
-
- 1 storage system
- 2 data processing means
- 3 storage destination setting means
- 4 distribution storage controlling means
- 5 storing means
- 10 storage system
- 10A accelerator node
- 10B storage node
- 11 backup system
- 12 backup device
- 21 fragment generation unit
- 22 distribution storage control unit
- 23 journal storage control unit
- 24 storage destination setting unit
- 31 storage device
- 32 memory
Claims (14)
{(the available capacity of the storing unit set as the journal storing unit)−(a available capacity of a storing unit with least available capacity among the other storing units)}>α(α: a preset value)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-032335 | 2009-02-16 | ||
JP2009-32335 | 2009-02-16 | ||
JP2009032335A JP5365236B2 (en) | 2009-02-16 | 2009-02-16 | Storage system |
PCT/JP2009/003963 WO2010092634A1 (en) | 2009-02-16 | 2009-08-20 | Storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20110296126A1 true US20110296126A1 (en) | 2011-12-01 |
US8555007B2 US8555007B2 (en) | 2013-10-08 |
Family
ID=42561488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/147,670 Active 2029-09-26 US8555007B2 (en) | 2009-02-16 | 2009-08-20 | Storage system with journal disks dynamically assigned |
Country Status (3)
Country | Link |
---|---|
US (1) | US8555007B2 (en) |
JP (1) | JP5365236B2 (en) |
WO (1) | WO2010092634A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996421B2 (en) | 2013-10-18 | 2018-06-12 | Huawei Technologies Co., Ltd. | Data storage method, data storage apparatus, and storage device |
US20190243732A1 (en) * | 2018-02-05 | 2019-08-08 | Vmware, Inc. | Efficient handling of block write atomicity |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6078984B2 (en) * | 2012-05-23 | 2017-02-15 | 富士通株式会社 | Processing device, processing method, processing program, and management device |
JP6376626B2 (en) * | 2017-06-30 | 2018-08-22 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | Data storage method, data storage device, and storage device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778393A (en) * | 1996-05-20 | 1998-07-07 | International Business Machines Corporation | Adaptive multitasking for dataset storage |
US5787242A (en) * | 1995-12-29 | 1998-07-28 | Symbios Logic Inc. | Method and apparatus for treatment of deferred write data for a dead raid device |
US20060069861A1 (en) * | 2004-09-28 | 2006-03-30 | Takashi Amano | Method and apparatus for storage pooling and provisioning for journal based strorage and recovery |
US20060242452A1 (en) * | 2003-03-20 | 2006-10-26 | Keiichi Kaiya | External storage and data recovery method for external storage as well as program |
US20080201391A1 (en) * | 2007-02-15 | 2008-08-21 | Hiroshi Arakawa | Methods and apparatus for adjusting a journal area for continuous data protection |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0254346A (en) | 1988-08-18 | 1990-02-23 | Fujitsu Ltd | File switching processing method |
JP2817705B2 (en) * | 1996-04-08 | 1998-10-30 | 日本電気株式会社 | Post-update journal collection method |
JPH1153235A (en) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | Data updating method of disk storage device and disk storage control system |
JP2001184176A (en) * | 1999-12-27 | 2001-07-06 | Toshiba Corp | Disk controller |
US7444389B2 (en) | 2003-12-09 | 2008-10-28 | Emc Corporation | Methods and apparatus for generating a content address to indicate data units written to a storage system proximate in time |
JP2007286860A (en) * | 2006-04-17 | 2007-11-01 | Hitachi Ltd | Data transfer method and information processor |
-
2009
- 2009-02-16 JP JP2009032335A patent/JP5365236B2/en active Active
- 2009-08-20 WO PCT/JP2009/003963 patent/WO2010092634A1/en active Application Filing
- 2009-08-20 US US13/147,670 patent/US8555007B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787242A (en) * | 1995-12-29 | 1998-07-28 | Symbios Logic Inc. | Method and apparatus for treatment of deferred write data for a dead raid device |
US5778393A (en) * | 1996-05-20 | 1998-07-07 | International Business Machines Corporation | Adaptive multitasking for dataset storage |
US20060242452A1 (en) * | 2003-03-20 | 2006-10-26 | Keiichi Kaiya | External storage and data recovery method for external storage as well as program |
US20060069861A1 (en) * | 2004-09-28 | 2006-03-30 | Takashi Amano | Method and apparatus for storage pooling and provisioning for journal based strorage and recovery |
US20080201391A1 (en) * | 2007-02-15 | 2008-08-21 | Hiroshi Arakawa | Methods and apparatus for adjusting a journal area for continuous data protection |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996421B2 (en) | 2013-10-18 | 2018-06-12 | Huawei Technologies Co., Ltd. | Data storage method, data storage apparatus, and storage device |
US20190243732A1 (en) * | 2018-02-05 | 2019-08-08 | Vmware, Inc. | Efficient handling of block write atomicity |
US10936446B2 (en) * | 2018-02-05 | 2021-03-02 | Vmware, Inc. | Efficient handling of block write atomicity |
Also Published As
Publication number | Publication date |
---|---|
JP5365236B2 (en) | 2013-12-11 |
WO2010092634A1 (en) | 2010-08-19 |
US8555007B2 (en) | 2013-10-08 |
JP2010191499A (en) | 2010-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2400382B1 (en) | Storage system | |
US8725969B2 (en) | Distributed content storage system supporting different redundancy degrees | |
US8972343B2 (en) | Storage system | |
US7958372B1 (en) | Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment | |
US20110276771A1 (en) | Storage system | |
US8930663B2 (en) | Handling enclosure unavailability in a storage system | |
JP2006227964A (en) | Storage system, processing method and program | |
US8683121B2 (en) | Storage system | |
US8555007B2 (en) | Storage system with journal disks dynamically assigned | |
US9652325B2 (en) | Storage system and method to support scheduled and operational going down of a storing unit | |
EP2466446B1 (en) | Storage system, method, and program, comprising a plurality of storage devices | |
US20120324182A1 (en) | Storage device | |
US20160036653A1 (en) | Method and apparatus for avoiding performance decrease in high availability configuration | |
EP2544084A1 (en) | Storage device | |
US9575679B2 (en) | Storage system in which connected data is divided | |
JPH10254642A (en) | Storage device system | |
JP2002278706A (en) | Disk array device | |
KR20030073982A (en) | Coherence preservation method of duplicated data in raid subsystems | |
JPH08286844A (en) | Parity generation control method and disk controller | |
JP5891842B2 (en) | Storage system | |
JP2005316697A (en) | Disk array system and method for data backup | |
US20100049915A1 (en) | Virtual disk timesharing | |
JP3874019B2 (en) | Storage system | |
JP2014153873A (en) | Information processing device, information processing method, and program | |
JPH10254639A (en) | Storage device system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NEC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DEMATAPITIYA, SUMUDU;REEL/FRAME:026713/0154 Effective date: 20110715 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: NEC ASIA PACIFIC PTE LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NEC CORPORATION;REEL/FRAME:063349/0459 Effective date: 20230414 |
|
AS | Assignment |
Owner name: IP WAVE PTE LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NEC ASIA PACIFIC PTE LTD.;REEL/FRAME:066376/0276 Effective date: 20240118 |