Storage switch task processing synchronization
First Claim
1. A method of maintaining task synchronization between first and second processors within a switch of a network, comprising the steps of:
- (a) provisioning information upon receipt of a data unit to be routed through the first and second processors, the information uniquely identifying the data unit; and
(b) using the information to maintain a synchronized state between the first and second processors.
10 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods in accordance with various embodiments relate to a storage switch including task processing synchronization. In embodiments of the present invention, the packet processing units may generate and store Task Index and Generation Count information that prevents the processing of expired commands or responses. Additionally or alternatively, embodiments of the present invention may further employ timeout sequences to prevent previous instances of a stale task resource from disrupting the current use of the task resource.
-
Citations
37 Claims
-
1. A method of maintaining task synchronization between first and second processors within a switch of a network, comprising the steps of:
-
(a) provisioning information upon receipt of a data unit to be routed through the first and second processors, the information uniquely identifying the data unit; and
(b) using the information to maintain a synchronized state between the first and second processors. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of maintaining task synchronization within a switch of a network, comprising the steps of:
-
(a) generating information uniquely representing a task upon receipt of the task at a time t1, the information capable of changing upon receipt of subsequent tasks;
(b) associating the information generated in said step (a) with a response generated in response to the task at a time t2 after time t1; and
(c) comparing the information associated with the response in said step (b) with the information generated in said step (a). - View Dependent Claims (9, 10)
-
-
11. A method of maintaining task synchronization between first and second processors within a switch of a network, comprising the steps of:
-
(a) generating a count upon receipt of a task from an initiator at a time t1, the count capable of incrementing thereafter;
(b) maintaining the count generated at time t1 in said step (a);
(c) associating the count generated at time t1 in said step (a) with a response generated by a target in response to the task at a time t2 after the time t1; and
(d) comparing the count associated with the response in said step (c) with the count maintained in said step (b). - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of maintaining task synchronization between first and second processors within a switch of a network, the first and second processors capable of routing a data unit between an initiator of the data unit and a target for the data unit, the method comprising the steps of:
-
(a) provisioning an identifier identifying the data unit at a time t1;
(b) provisioning a count further identifying data unit at the time t1, the count capable of incrementing thereafter;
(c) storing the identifier and count provisioned at time t1 in said steps (a) and (b);
(d) associating the identifier and the count provisioned at time t1 in said steps (a) and (b) with a response generated within the second processor in response to the task at time t2 after the time t1; and
(e) comparing the count associated with the response in said step (d) with the count stored in said step (c). - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A system of maintaining task synchronization between first and second processors within a switch of a network, the system comprising:
-
means for provisioning information upon receipt of a data unit to be routed through the first and second processors, the information uniquely identifying the data unit; and
means for using the information to maintain a synchronized state between the first and second processors. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
32. A method of maintaining task synchronization between first and second processors capable of routing a data unit through a switch of a network, comprising the steps of:
-
(a) provisioning a timeout period within at least one of the first and second processors; and
(b) using the timeout period to maintain a synchronized state between the first and second processors. - View Dependent Claims (33)
-
-
34. A method of maintaining task synchronization between first and second processors within a switch of a storage area network, the first and second processors capable of routing a task between an initiator of the task and a target for the task, the method comprising the steps of:
-
(a) monitoring the passage of a first period of time in the first processor;
(b) resetting the first period of time to its initial state if the first processor receives a response to a communication it sent before expiration of the first period of time;
(c) monitoring the passage of a second period of time in the second processor;
(d) resetting the second period of time to its initial state if the second processor receives a response to a communication it sent before expiration of the second period of time; and
(e) discarding a response if the response is received after elapse of the first period of time or the second period of time.
-
-
35. A method of maintaining task synchronization between first and second processors within a switch of a storage area network, the first and second processors capable of routing a task between an initiator of the task and a target for the task, the method comprising the steps of:
-
(a) receiving in the first processor a command from the initiator to perform the task;
(b) routing the command to the second processor for forwarding to the target;
(c) monitoring the passage of a first period of time in the first processor;
(d) resetting the first period of time to its initial state if the first processor receives a response to a communication it sent before expiration of the first period of time;
(e) monitoring the passage of a second period of time in the second processor;
(f) resetting the second period of time to its initial state if the second processor receives a response to a communication it sent before expiration of the second period of time; and
(g) discarding a response to the task from the target if the response is received after elapse of the first period of time or the second period of time. - View Dependent Claims (36, 37)
-
Specification