Information processing apparatus, information processing method, storage system and non-transitory computer readable storage media
First Claim
1. An information processing apparatus, comprising:
- a data writing unit to divide received data into a plurality of divided data, generate a plurality of parity data which is in a plurality of nodes and usable when re-configuring the received data having an error, and write divided data and parity data in a plurality of storage nodes, the divided data in one node can be relocated to the other node and assignment of the parity data can be changed;
a relocation unit to assign a relocation position of the data written by the data writing unit to the plurality of storage nodes based on a predetermined condition and store the data in the assigned storage nodes in such a way as to relocate the divided data from one node to another node and to change the assignment of the location of the parity data; and
a data reading unit to read the divided data so as not to read parity data stored in the plurality of storage nodes by identifying the parity data, whereinwhen a number of the divided data having been assigned to a given storage node has become the same as a number of parity data generated by the data writing unit, the relocation unit does not assign the divided data to the given storage node and instead assigns the divided data to a storage node that has a next system number in relation to a system number of the given storage node,wherein, when assigning a relocation position to the plurality of storage nodes, if there is a storage node of the plurality of storage nodes which has been assigned a smaller number of divided data than the number of divided data assigned to another storage node of the plurality of storage nodes and which is targeted to assign divided data of interest by the relocation unit, the relocation unit assigns the relocation position so that the parity data is stored in the storage node which is targeted to assign the divided data of interest by the relocation unit, otherwise the relocation unit assigns the relocation position so that the divided data is stored in the storage node which is targeted to assign the divided data of interest by the relocation unit,wherein the data writing unit, the relocation unit, and the data writing unit cooperatively prevent a risk that fault tolerance cannot be maintained as to the parity data.
1 Assignment
0 Petitions
Accused Products
Abstract
An information processing apparatus can prevent performance deterioration, and maintain fault tolerance, in a storage system having storage nodes of different capacities. The apparatus includes a data writing unit to divide received data into divided data, generate a parity data usable when re-configuring the received data having an error, and write divided data and parity data in storage nodes. The apparatus includes a relocation unit to assign a relocation position of the data based on a predetermined condition and store the data in the assigned storage nodes. The apparatus includes a data reading unit to read the divided data so as not to read parity data stored in the storage nodes by identifying the parity data.
9 Citations
9 Claims
-
1. An information processing apparatus, comprising:
-
a data writing unit to divide received data into a plurality of divided data, generate a plurality of parity data which is in a plurality of nodes and usable when re-configuring the received data having an error, and write divided data and parity data in a plurality of storage nodes, the divided data in one node can be relocated to the other node and assignment of the parity data can be changed; a relocation unit to assign a relocation position of the data written by the data writing unit to the plurality of storage nodes based on a predetermined condition and store the data in the assigned storage nodes in such a way as to relocate the divided data from one node to another node and to change the assignment of the location of the parity data; and a data reading unit to read the divided data so as not to read parity data stored in the plurality of storage nodes by identifying the parity data, wherein when a number of the divided data having been assigned to a given storage node has become the same as a number of parity data generated by the data writing unit, the relocation unit does not assign the divided data to the given storage node and instead assigns the divided data to a storage node that has a next system number in relation to a system number of the given storage node, wherein, when assigning a relocation position to the plurality of storage nodes, if there is a storage node of the plurality of storage nodes which has been assigned a smaller number of divided data than the number of divided data assigned to another storage node of the plurality of storage nodes and which is targeted to assign divided data of interest by the relocation unit, the relocation unit assigns the relocation position so that the parity data is stored in the storage node which is targeted to assign the divided data of interest by the relocation unit, otherwise the relocation unit assigns the relocation position so that the divided data is stored in the storage node which is targeted to assign the divided data of interest by the relocation unit, wherein the data writing unit, the relocation unit, and the data writing unit cooperatively prevent a risk that fault tolerance cannot be maintained as to the parity data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An information processing method, comprising:
-
dividing received data into a plurality of divided data, generating a plurality of parity data which is in a plurality of nodes and usable when re-configuring the received data having an error, and writing the divided data and the parity data to a plurality of storage nodes, the divided data in one node can be relocated to the other node and assignment of the parity data can be changed; assigning a relocation position of the data written by the data writing unit to the plurality of storage nodes based on a predetermined condition and store the data in the assigned storage nodes in such a way as to relocate the divided data from one node to another node and to change the assignment of the location of the parity data; and reading the divided data so as not to read parity data stored in the plurality of storage nodes by identifying the parity data, wherein when a number of the divided data having been assigned to a given storage node has become the same as a number of parity data that has been generated, the divided data is not assigned to the given storage node and instead the divided data is assigned to a storage node that has a next system number in relation to a system number of the given storage node, wherein, when assigning a relocation position to the plurality of storage nodes, if there is a storage node of the plurality of storage nodes which has been assigned a smaller number of divided data than the number of divided data assigned to another storage node of the plurality of storage nodes and which is targeted to assign divided data of interest, assigning the relocation position so that the parity data is stored in the storage node which is targeted to assign the divided data of interest, otherwise assigning the relocation position so that the divided data is stored in the storage node which is targeted to assign the divided data of interest, wherein the method prevents a risk that fault tolerance cannot be maintained as to the parity data.
-
-
9. A non-transitory computer readable storage medium storing a computer program causing a computer to execute:
-
processing of dividing received data into a plurality of divided data, generating a plurality of parity data which is in a plurality of nodes and usable when re-configuring the received data having an error, and transmitting the divided data and the parity data to a plurality of storage nodes, the divided data in one node can be relocated to the other node and assignment of the parity data can be changed; processing of assigning a relocation position of the data written by the data writing unit to the plurality of storage nodes based on a predetermined condition and store the data in the assigned storage nodes in such a way as to relocated the divided data from one node to another node and to change the assignment of the location of the parity data; and processing of reading the divided data so as not to read parity data stored in the plurality of storage nodes by identifying the parity data, wherein when a number of the divided data having been assigned to a given storage node has become the same as a number of parity data that has been generated, the divided data is not assigned to the given storage node and instead the divided data is assigned to a storage node that has a next system number of the given storage node, wherein, when assigning a relocation position to the plurality of storage nodes, if there is a storage node of the plurality of storage nodes which has been assigned a smaller number of divided data than the number of divided data assigned to another storage node of the plurality of storage nodes and which is targeted to assign divided data of interest, assigning the relocation position so that the parity data is stored in the storage node which is targeted to assign the divided data of interest, otherwise assigning the relocation position so that the divided data is stored in the storage node which is targeted to assign the divided data of interest, wherein execution of the program prevents a risk that fault tolerance cannot be maintained as to the parity data.
-
Specification