SYSTEM AND METHOD FOR I/O COMMAND MANAGEMENT
First Claim
Patent Images
1. A method of managing input/output commands comprising:
- in a predetermined order, attempting to obtain a lock for a received input/output command on all of a plurality of storage segments relating to said command;
if during said attempting a lock cannot be obtained on a storage segment in said plurality because of an already existing lock which will not be shared with said command, then waiting until a lock can be obtained for said command and after obtaining said lock, attempting to obtain a lock on a next storage segment in said predetermined order;
wherein said command is performed only after a lock has been obtained for said command on all of said plurality of storage segments.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for input/output command management. In embodiments of the invention an input/output command fully executes after a lock has been obtained for the command on all storage segments relating to the command, in a predetermined order. Some embodiments of the invention allow overlapping access to storage and/or to individual storage segments by a plurality of input/output commands. In some embodiments of the invention, prioritization of commands is facilitated through the usage of a sharing policy and/or wakeup policy.
-
Citations
34 Claims
-
1. A method of managing input/output commands comprising:
-
in a predetermined order, attempting to obtain a lock for a received input/output command on all of a plurality of storage segments relating to said command; if during said attempting a lock cannot be obtained on a storage segment in said plurality because of an already existing lock which will not be shared with said command, then waiting until a lock can be obtained for said command and after obtaining said lock, attempting to obtain a lock on a next storage segment in said predetermined order; wherein said command is performed only after a lock has been obtained for said command on all of said plurality of storage segments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system for managing input/output commands comprising:
-
at least one storage comprising storage segments; and at least one controller configured to receive input/output commands generated by at least one command generator, and for each input/output command configured to attempt to obtain a lock on all of a plurality of storage segments related to said command in a predetermined order, and if during said attempting a lock cannot be obtained on a storage segment in said plurality because of an already existing lock which will not be shared with said command, then further configured to wait until a lock can be obtained for said command and after obtaining said lock, to attempt to obtain a lock on a next storage segment in said predetermined order;
said at least one controller further configured to perform said command after a lock has been obtained on all storage segments related to said command. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method of managing input/output commands comprising:
-
in a predetermined order, attempting to obtain a lock for a received input/output command on all of a plurality of storage segments relating to said command; if during said attempting a lock cannot be obtained on a storage segment in said plurality because of an already existing lock which will not be shared with said command, then waiting until a lock can be obtained for said command and after obtaining said lock, attempting to obtain a lock on a next storage segment in said predetermined order; wherein said command is performed only after a lock has been obtained for said command on all of said plurality of storage segments.
-
-
34. A computer program product comprising a computer useable medium having computer readable program code embodied therein of managing input/output commands the computer program product comprising:
-
computer readable program code for causing the computer to in a predetermined order, attempting to obtain a lock for a received input/output command on all of a plurality of storage segments relating to said command; computer readable program code for causing the computer to if during said attempting a lock cannot be obtained on a storage segment in said plurality because of an already existing lock which will not be shared with said command, then waiting until a lock can be obtained for said command and after obtaining said lock, attempting to obtain a lock on a next storage segment in said predetermined order; computer readable program code for causing the computer to wherein said command is performed only after a lock has been obtained for said command on all of said plurality of storage segments.
-
Specification