Reactive deadlock management in storage area networks
First Claim
1. A method of writing data to a virtual target, comprising:
- receiving a write command for a virtual target having at least first and second corresponding mirrored physical targets;
providing said write command to said first physical target and said second physical target;
determining whether a first transfer ready signal is returned by said first physical target and a second transfer ready signal is returned by said second physical target within a timeout period; and
providing an abort command to said first physical target and said second physical target only if said first transfer ready signal and said second transfer ready signal are not returned within said timeout period.
10 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods in accordance with various embodiments can detect and alleviate potential or actual deadlock of a storage switch or storage area network when attempting to write data to a mirrored virtual target. In accordance with one embodiment, a timer is started when a storage switch routes a write command to the physical targets corresponding to a virtual target of the write command. If each physical target does not return a transfer ready resource within a predetermined timeout period, the switch determines that a potential or actual deadlock has occurred. An abort command is sent to each of the physical devices. The abort command can clear the command from the targets and also free any allocated transfer ready resources. After receiving an acceptance response from each physical target, the state of the write command at the switch can be cleared. The write command can then be re-issued to the physical devices. In one embodiment, a queue depth for the virtual target can be lowered after failing to receive transfer ready resources from each target. By decreasing the queue depth, the maximum number of commands the switch will process for a virtual target is decreased to decrease the probability of future deadlock. In one embodiment, the queue depth is increased after no deadlock is detected for a period of time.
-
Citations
41 Claims
-
1. A method of writing data to a virtual target, comprising:
-
receiving a write command for a virtual target having at least first and second corresponding mirrored physical targets; providing said write command to said first physical target and said second physical target; determining whether a first transfer ready signal is returned by said first physical target and a second transfer ready signal is returned by said second physical target within a timeout period; and providing an abort command to said first physical target and said second physical target only if said first transfer ready signal and said second transfer ready signal are not returned within said timeout period. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A storage switch, comprising:
-
at least one port adapted to receive a write command, said write command is for a virtual target having at least first and second corresponding mirrored physical targets, said at least one port is further adapted to provide said write command to said first and second physical targets; at least one processing unit in communication with said at least one port, said at least one processing unit provides an abort command to said first physical target and said second physical target only if, within a timeout period after said write command is provided to said first physical target and said second physical target, a first transfer ready signal is not received from said first physical target and a second transfer ready signal is not received from said second physical target. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. One or more processor readable storage devices for storing processor readable code, said processor readable code for programming one or more processors to perform a method comprising the steps of:
-
receiving a write command for a virtual target having at least a first and a second corresponding mirrored physical targets; providing said write command to said first physical target and said second physical target; determining whether a first transfer ready signal is returned by said first physical target and a second transfer ready signal is returned by said second physical target within a timeout period; and providing an abort command to said first physical target and said second physical target only if said first transfer ready signal and said second transfer ready signal are not returned within said timeout period.
-
-
41. A storage switch comprising:
-
means for receiving a write command for a virtual target having at least first and second corresponding mirrored physical targets; means for providing said write command to said first physical target and said second physical target; means for determining whether a first transfer ready signal is returned by said first physical target and a second transfer ready signal is returned by said second physical target within a timeout period; and means for providing an abort command to said first physical target and said second physical target only if said first transfer ready signal and said second transfer ready signal are not returned within said timeout period.
-
Specification