Method for designating one of a plurality of addressable storage devices to process a data transfer request
First Claim
Patent Images
1. A method for operating a plurality of addressable storage devices (ASD'"'"'s) that store a replicated data set, the method comprising the steps of:
- receiving a multicasted request for the ASD'"'"'s to supply a subset of the replicated data set, the subset being stored in both a first one and a second one of the ASD'"'"'s;
multicasting a control signal from the first ASD so that the second ASD receives the control signal and refrains from supplying the subset; and
supplying the subset from the first ASD.
2 Assignments
0 Petitions
Accused Products
Abstract
A plurality of addressable storage devices (“ASD'"'"'s”) store a replicated data set. A requestor multicasts a data transfer request to the ASD'"'"'s. The ASD'"'"'s receive the data transfer request and cooperatively designate one of the ASD'"'"'s to process the data transfer request and prevent the other ASD'"'"'s from processing the data transfer request. The designated ASD satisfies the data transfer request and then communicates to the requestor an acknowledgement when the processing is completed. The ASD'"'"'s maintain coherency in the replicated data set.
-
Citations
19 Claims
-
1. A method for operating a plurality of addressable storage devices (ASD'"'"'s) that store a replicated data set, the method comprising the steps of:
-
receiving a multicasted request for the ASD'"'"'s to supply a subset of the replicated data set, the subset being stored in both a first one and a second one of the ASD'"'"'s;
multicasting a control signal from the first ASD so that the second ASD receives the control signal and refrains from supplying the subset; and
supplying the subset from the first ASD. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for processing a data transfer request by a plurality of ASD'"'"'s (ASD'"'"'s) connected to a requestor in a network, each ASD having a response time for satisfying the data transfer request which is variable among the ASD'"'"'s, wherein the ASD'"'"'s are configured to access a data set which is replicated in each ASD, the method comprising the steps of:
-
multicasting the data transfer request from the requestor to the plurality of ASD'"'"'s, the data transfer request for transferring at least a subset of the replicated data set;
receiving the multicast data transfer request by the ASD'"'"'s at substantially the same time;
communicating between the ASD'"'"'s to designate one of the ASD'"'"'s to satisfy the request based on its variable response time;
abandoning an effort to satisfy the request by those ASD'"'"'s which are not designated;
processing the data transfer request with the designated ASD; and
sending an acknowledgment from the designated ASD to the requestor when the processing is completed. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
determining whether the data transfer request is a request to write data to the ASD'"'"'s, and if so, setting an indication on each of the not-designated ASD'"'"'s for invalidating existing stored data corresponding to the data to be written.
-
-
11. The method of claim 10, further comprising the steps of:
-
monitoring, by the not-designated ASD'"'"'s the data to be written as it is transferred to the designated ASD;
copying of the data by the not-designated ASD'"'"'s as the data is being transferred to the designated ASD; and
clearing the indication on each of the not-designated ASD'"'"'s after completion of the copying.
-
-
12. The method of claim 10, further comprising the steps of:
-
completing the writing of the data to the designated ASD;
transferring the data written to the designated ASD from the designated ASD to the not-designated ASD'"'"'s and writing the data in the not-designated ASD'"'"'s; and
clearing the indication on each of the not-designated ASD'"'"'s after completion of the writing the data to the not-designated ASD'"'"'s.
-
-
13. The method of claim 9, wherein the communicating step further includes the steps of:
-
calculating a length of time required for each of the plurality of ASD'"'"'s to complete the processing of the data transfer request;
posting, among the plurality of ASD'"'"'s, the length of time;
determining from the length of time which of the plurality of ASD'"'"'s can complete the processing of the data transfer request in the least amount of time; and
selecting a designated ASD which can complete the processing of the data transfer request in the least amount of time.
-
-
14. The method of claim 13, wherein the determining step further includes the step of:
providing a system time reference to each of the ASD'"'"'s for use in determining if the calculated length of time is reliable.
-
15. The method of claim 9 wherein the variable response time is based on a time specified by the requester.
-
16. The method of claim 9, wherein the ASD'"'"'s comprise disk drives and further comprising the step of:
locking the disk drives with a predetermined rotational offset relative to each other to decrease rotational latency.
-
17. The method of claim 9, wherein the step of multicasting a data transfer request includes the steps of:
-
attaching to the data transfer request a declaration of a destination address corresponding to some of the ASD'"'"'s and a declaration of an operation to be performed at the destination address;
transmitting the data transfer request into a switched fabric network with switching nodes comprised of the ASD'"'"'s; and
utilizing the declaration of the destination address to direct the data transfer request to the ASD'"'"'s.
-
-
18. The method of claim 17, wherein:
-
the data transfer request is transmitted into a command layer of the switched fabric network; and
the subset of the replicated data set is transferred into a data layer separate from the command layer so that commands and data can pass through the switched fabric network substantially simultaneously.
-
-
19. The method of claim 9, further comprising the steps of:
-
dividing the data transfer request into multiple data transfer requests;
communicating the multiple data transfer requests from the requestor to the ASD'"'"'s; and
cooperating among the ASD'"'"'s to designate multiple ASD'"'"'s to substantially simultaneously process the multiple data transfer requests.
-
Specification