Storage controller, storage system and storage control method
AssigneeFujitsu Limited
InventorKenji Uchiyama
Life of this patent
Estimating the term…
Abstract
A storage controller, when writing n sets of data into a first storage device, adds dummy data to other sets of data except for a first set of data having a largest size among the n sets of data such that sizes of other sets of data become equal to the size of the first set of data, calculates (n−1) parities based on the first set of data and the other sets of data, and when reading the n sets of data from the first storage device, concurrently performs a processing of reading a second set of data having a smallest size among the n sets of data from the first storage device and a processing of restoring each of two or more sets of data in the n sets of data except for the second set of data, by using the (n−1) parities and the dummy data.
Claims11
A storage controller comprising:
- a processor configured to
- execute a parity calculation process that includes:
- adding, when writing n sets of data (n is an integer of three or more) into a first storage device, dummy data to other sets of data except for a first set of data having a largest size among the n sets of data such that sizes of other sets of data become equal to the size of the first set of data,
- calculating (n−1) parities based on the first set of data and the other sets of data to which the dummy data is added, and
- storing the (n−1) parities into a second storage device;
- and
- execute a control process that includes:
- concurrently performing, when reading the n sets of data from the first storage device, a processing of reading a second set of data having a smallest size among the n sets of data from the first storage device and a processing of restoring each of two or more sets of data in the n sets of data except for the second set of data, by using the (n−1) parities and the dummy data, wherein
- the processor is configured to perform, after completing part of the processing of restoring the two or more sets of data by using the (n−1) parities and the dummy data, a processing of restoring a remaining region yet to be restored in each of the two or more sets of data by using the (n−1) parities and data of the second set of data already read from the first storage device, in parallel with the processing of reading, and
- the processor is configured to temporarily stop the processing of restoring the two or more sets of data when a differential value calculated by subtracting the size of data of the second set of data yet to be read from the first storage device, from the size of data yet to be restored in the set of data having the largest size among the two or more sets of data is equal to or smaller than a predetermined value.
A storage system comprising:
- a first storage device;
- a second storage device;
- and
- a processor configured to
- execute a party calculation process that includes:
- adding, when writing n sets of data (n is an integer of three or more) into a first storage device, dummy data to other sets of data except for a first set of data having a largest size among the n sets of data such that sizes of other sets of data become equal to the size of the first set of data,
- calculating (n−1) parities based on the first set of data and the other sets of data to which the dummy data is added, and
- storing the (n−1) parities into a second storage device,
- execute a control process that includes:
- concurrently performing, when reading the n sets of data from the first storage device, a processing of reading a second set of data having a smallest size among the n sets of data from the first storage device and a processing of restoring each of two or more sets of data in the n sets of data except for the second set of data, by using the (n−1) parities and the dummy data, wherein
- the processor is configured to perform, after completing part of the processing of restoring the two or more sets of data by using the (n−1) parities and the dummy data, a processing of restoring a remaining region yet to be restored in each of the two or more sets of data by using the (n−1) parities and data of the second set of data already read from the first storage device, in parallel with the processing of reading, and
- the processor is configured to temporarily stop the processing of restoring the two or more sets of data when a differential value calculated by subtracting the size of data of the second set of data yet to be read from the first storage device, from the size of data yet to be restored in the set of data having the largest size among the two or more sets of data is equal to or smaller than a predetermined value.
A storage control method comprising:
- when writing n sets of data (n is an integer of three or more) into a first storage device, using a computer,
- adding dummy data to other sets of data except for a first set of data having a largest size among the n sets of data such that sizes of other sets of data become equal to the size of the first set of data,
- calculating (n−1) parities based on the first set of data and the other sets of data to which the dummy data is added, and
- storing the (n−1) parities into a second storage device,
- when reading the n sets of data from the first storage device, using a computer,
- concurrently performs a processing of reading a second set of data having a smallest size among the n sets of data from the first storage device and a processing of restoring each of two or more sets of data in the n sets of data except for the second set of data, by using the (n−1) parities and the dummy data, wherein
- after completing part of the processing of restoring the two or more sets of data by using the (n−1) parities and the dummy data, the computer performs processing of restoring a remaining region yet to be restored in each of the two or more sets of data by using the (n−1) parities and data of the second set of data already read from the first storage device, in parallel with the processing of reading, and
- the computer temporarily stops the processing of restoring the two or more sets of data when a differential value calculated by subtracting the size of data of the second set of data yet to be read from the first storage device, from the size of data yet to be restored in the set of data having the largest size among the two or more sets of data is equal to or smaller than a predetermined value.
Dependencies are inferred from the claim text.