×

Queued locking of a shared resource using multimodal lock types

  • US 6,718,448 B1
  • Filed: 11/28/2000
  • Issued: 04/06/2004
  • Est. Priority Date: 11/28/2000
  • Status: Expired due to Term
First Claim
Patent Images

1. An intelligent data storage system comprising:

  • a shared resource;

    a plurality of processors as lock requestors, each processor supporting atomic read-modify-write transactions and being coupled to the shared resource through one or more first common communication channels;

    a shared memory accessible over one or more second common communications channels to all of the processors;

    a lock services procedure implemented in each of the processors, the lock services procedure including at lest two lock mode procedures, a lock mode selection procedure for selecting one from the lock mode procedures by a successful lock requestor, a queuing procedure for unsuccessful lock requesters, and locking and unlocking procedures for locking and unlocking the shared resource in the selected lock mode by a successful lock requestor;

    a main lock data structure, responsive to the lock services procedure, implemented in the shared memory and associated with the shared resource, which includes the resources needed to lock the shared resource by a successful lock requestor, to identify one of the lock modes, to establish a queue of unsuccessful lock requestors, and to validate the existence of the lock;

    each requesting processor being operable in accordance with its lock services procedure, in a single atomic read-modify-write transaction, to examine the contents of the main lock data structure to determine if another requesting processor has previously locked the shared resource and if the lock contents are valid, and either, if the lock contents are valid and some other requesting processor has previously locked the shared resource, to write data to the main lock data structure to establish its place in a queue of requestors for subsequent locks on the shared resource, or if the contents are invalid or no other requesting processor has previously locked the shared resource, to write data to the main lock data structure to reserve and validate the lock.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×