Implementing I/O locks in storage systems with reduced memory and performance costs
First Claim
1. A method for managing input/output locks in a data storage system, the method comprising:
- receiving a write lock request related to a data storage entity;
operating a timer for a fixed duration of time in response to receiving the write lock request;
granting read lock requests received during the fixed duration of time; and
granting the write lock request after the fixed duration of time and after verifying release of each of the read locks granted during the fixed duration of time.
3 Assignments
0 Petitions
Accused Products
Abstract
Technologies are described for implementing locks to control I/O operations in a storage system. The lock implementations can have reduced resource requirements for memory and processing. Through the utilization of the technologies and concepts presented herein, an I/O process preparing to acquire a write lock can advertise its need for the lock for a pre-determined time before the lock is granted. The time period for advertisement can be specified so that all I/O operations that were initiated before the advertisement are guaranteed to have completed by the time the advertisement period is over. As such, a lock controller may only need to track outstanding I/Os that begin once the advertisement starts. This can reduce the typical requirement to maintain and process a lock structure for every unit of storage in the system at all times.
-
Citations
20 Claims
-
1. A method for managing input/output locks in a data storage system, the method comprising:
-
receiving a write lock request related to a data storage entity; operating a timer for a fixed duration of time in response to receiving the write lock request; granting read lock requests received during the fixed duration of time; and granting the write lock request after the fixed duration of time and after verifying release of each of the read locks granted during the fixed duration of time. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer storage medium having computer-executable instructions stored thereon which, when executed by a computer system, cause the computer system to:
-
receive a write lock request related to a data storage entity; operate a timer for a fixed duration of time in response to receiving the write lock request; grant read lock requests received during the fixed duration of time; and grant the write lock request after the fixed duration of time and after verifying release of each of the read locks granted during the fixed duration of time. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A data storage system comprising:
-
a storage subsystem; a physical storage device associated with the storage subsystem; and one or more lock controller modules operable to cause the storage subsystem to; receive a write lock request related to a data storage entity; operate a timer for a fixed duration of time in response to receiving the write lock request; grant read lock requests received during the fixed duration of time; and grant the write lock request after the fixed duration of time and after verifying release of each of the read locks granted during the fixed duration of time. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification