Data storage method and data storage for averaging workload in a redundant storage configuration
First Claim
Patent Images
1. A data storage method for storing or fetching data to or from a storage according to a store request or a fetch request issued from at least one processing device, comprising:
- providing the storage having duplicate data stored in separate storage devices, respectively;
receiving at least two fetch requests from the processing device, which the two fetch requests are to fetch different first and second desired data out of the duplicate data, respectively;
fetching the first desired data from one of the separate storage devices and fetching the second desired data from the other of the separate storage devices;
sending the first and second desired data to the processing device;
receiving at least one store request from the processing device, which the store request is to store third desired data in the storage;
storing the third desired data in all of the separate storage devices;
wherein said step of providing provides separate second storage devices in the storage corresponding to the separate storage devices and having a copy of a part of data stored in corresponding one of the separate storage devices, respectively;
said step of storing further including the following steps of;
transferring data stored at the same address as that at which the third desired data is stored from at least one of the separate storage devices to the corresponding one of the separate second storage devices which does not have the data;
said step of transferring transfers the data from at least two of the separate storage devices to corresponding at least two separate second storage devices, in parallel when the at least two separate second storage devices do not have the data;
storing the third desired data in all of the second storage devices; and
prohibiting from fetching the data and storing any data at the same address at which the third data is stored according to other fetch requests and store requests while the data is being transferred from at least one of said separate storage devices to the corresponding one of said separate second storage devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Duplicate data are stored in separate storage units SU(0) 16 and SU(1) 26, respectively. The storage area in each of SU(0) 16 and SU(1) 26 is divided into master storage regions and sub storage regions each of which is allocated alternately to the storage units in increments of fixed addresses. The store request is issued to both of the storage units allocated the master storage region and the sub storage region, and the fetch request is issued to one of the storage units allocated the master storage region from the RSC(0) 34 and RSC(1) 44.
27 Citations
14 Claims
-
1. A data storage method for storing or fetching data to or from a storage according to a store request or a fetch request issued from at least one processing device, comprising:
-
providing the storage having duplicate data stored in separate storage devices, respectively;
receiving at least two fetch requests from the processing device, which the two fetch requests are to fetch different first and second desired data out of the duplicate data, respectively;
fetching the first desired data from one of the separate storage devices and fetching the second desired data from the other of the separate storage devices;
sending the first and second desired data to the processing device;
receiving at least one store request from the processing device, which the store request is to store third desired data in the storage;
storing the third desired data in all of the separate storage devices;
wherein said step of providing provides separate second storage devices in the storage corresponding to the separate storage devices and having a copy of a part of data stored in corresponding one of the separate storage devices, respectively;
said step of storing further including the following steps of;
transferring data stored at the same address as that at which the third desired data is stored from at least one of the separate storage devices to the corresponding one of the separate second storage devices which does not have the data;
said step of transferring transfers the data from at least two of the separate storage devices to corresponding at least two separate second storage devices, in parallel when the at least two separate second storage devices do not have the data;
storing the third desired data in all of the second storage devices; and
prohibiting from fetching the data and storing any data at the same address at which the third data is stored according to other fetch requests and store requests while the data is being transferred from at least one of said separate storage devices to the corresponding one of said separate second storage devices.
-
-
2. A data storage method for storing or fetching data to or from a storage according to a store request or a fetch request issued from separate processing devices, wherein the separate processing devices having a second storage device retaining a copy of a part of data stored in at least one of the separate storage devices, respectively, comprising:
-
providing the storage having duplicate data stored in separate storage devices, respectively;
receiving at least one store request from the separate processing devices, which the store request is to store third desired data in the storage;
storing the third desired data in all of the separate storage devices; and
sending an invalidation request at least to the second storage devices of the processing devices other than one of the processing devices having issued the at least one of store request in response to storing the third desired data in only one of the separate storage devices, which the invalidation request is to invalid data at the same address as that at which the third desired data is stored in the second storage devices. - View Dependent Claims (3)
wherein said step of providing provides separate third storage devices in the storage corresponding to the separate storage devices and having a copy of a part of data stored in corresponding one of the separate storage devices, respectively; wherein said step of storing stores the third desired data in all of the separate third storage devices; and
wherein said step of sending sends the invalidation request in response to storing the third desired data in only one of the separate third storage devices.
-
-
4. A data storage in which desired data is stored and from which desired data is fetched according to a store request or a fetch request issued from at least one processing device, comprising:
-
separate storage devices;
a first controller storing duplicate data in said separate storage devices, respectively;
a second controller receiving at least two fetch requests from the processing device, which the two fetch requests are to fetch different first and second desired data out of the duplicate data, respectively;
said first controller fetching the first desired data from one of said separate storage devices and fetching the second desired data from the other of said separate storage devices; and
means for outputting the first and second desired data to the processing device. - View Dependent Claims (5, 6, 7, 10, 11, 12, 13, 14)
wherein said second controller receiving at least one store request from the processing device, which the store request is to store third desired data in the storage; - and
wherein said first controller storing the third desired data in all of said separate storage devices.
-
-
6. A data storage according to claim 5,
wherein said second controller receiving at least two store requests from the processing device, which the two store requests are to store fourth and fifth desired data at the same address, respectively; - and
wherein said first controller sequencing the two store requests and storing the fourth and fifth desired data at the same address in all of said separate storage device with the sequenced order.
- and
-
7. A data storage according to claim 6,
wherein said first controller comprises at least one request queue holding each of the store requests and the fetch requests temporarily; - and at least one request selector selecting store requests to the same address from said request queue in turn and storing desired data in each of said separate storage devices according to the selected store requests.
-
10. A data storage according to claim 5, to which a plurality of the processing devices issue store requests or fetch requests, wherein each of the processing devices having a second storage device retaining a copy of a part of data stored in at least one of the separate storage devices, further comprising:
means for sending an invalidation request at least to the second storage devices of the processing devices other than one of the processing devices having issued the at least one of store request, in response to storing the third desired data in only one of said separate storage devices, which the invalidation request is to invalid data at the same address as that at which the third desired data is stored in the second storage devices.
-
11. A data storage according to claim 10, further comprising:
-
separate third storage devices corresponding to said separate storage devices;
wherein said first controller storing a copy of a part of data stored in each of said separate storage devices in the corresponding one of said separate second storage devices, respectively;
wherein said first controller storing the third desired data in all of said separate third storage devices; and
wherein said sending means sending the invalidation request in response to storing the third desired data in only one of said separate third storage devices.
-
-
12. A data storage according to claim 11,
wherein the second storage device serve as first cache memory; wherein each of said separate third storage devices serve as second cache memory.
-
13. A data storage according to claim 4,
wherein one of said separate storage devices being designated as master storage device and the other separate storage devices being designated as sub storage device in every fixed increments of addresses alternately; - and
wherein said first controller fetching the first desired data from one of said separate storage devices designated as the master storage device in a fixed increment of addresses which include the first desired data and fetching the second desired data from the other of said separate storage devices designated as the master storage device in another fixed increment of addresses which include the second desired data.
- and
-
14. A data storage according to claim 13,
wherein said second controller determining one of said separate storage devices designated as master storage device according to a meaning and an address of each received fetch request.
-
8. A data storage according to claimin 6, further comprising:
-
separate second storage devices corresponding to said separate storage devices, respectively;
wherein said first controller storing a copy of a part of data stored in each of said separate storage devices in the corresponding one of said separate second storage devices, respectively; and
wherein said first controller transferring data stored at the same address as that at which the third desired data is stored from at least one of the separate storage devices to the corresponding one of the separate second storage devices which does not have the data, transferring the data from at least two of said separate storage devices to corresponding at least two separate second storage devices, in parallel when the at least two separate second storage devices do not have the data, and storing the third desired data in all of said second storage devices. - View Dependent Claims (9)
wherein said first controller prohibiting from fetching the data and storing any data at the same address at which the third data is stored according to other fetch requests and store requests while the data is being transferred from at least one of said separate storage devices to the corresponding one of said separate second storage devices.
-
Specification