System and method for maintaining cache coherency and data synchronization in a computer system having multiple active controllers
AssigneeInternational Business Machines Corporation
InventorsJoseph Skazinski, Brian McKean, Noel S. Otterness
Life of this patent
Estimating the term…
Abstract
System, method and computer program for maintaining cache coherency amongst a plurality of caching storage controllers operating in unison supplying data in response to requests from one or more host computers. The method comprises the steps of defining a reservation data structure to maintain reserved, partial, and full ownership status of data extents that are part of the logical unit or storage volume, and using the reservation data structure to verify that a new update to the data is allowed.
Claims41
A method of maintaining cache coherency amongst a plurality of caching storage controllers operating in unison in a dual-active configuration and supplying data in response to requests from one or more host computers;
- said method comprising the steps:
- defining a storage volume reservation table data structure to maintain reserved, partial, and full ownership status of data extents that are part of the logical unit or storage volume, said ownership status applying to all or a portion of a logical unit or storage volume;
- said storage volume reservation table having a plurality of reservation table entries indexed by storage volume number, each said reservation table entry including an ownership field, a hash table of locks, and a linked list of currently blocked data extents;
- and
- using said storage volume reservation table data structure to verify that a new update to the data is allowed.
In a computing environment that allows data access through two or more dual-active caching storage-device controllers, a storage device access reservation system comprising:
- a storage volume reservation table data structure defined in separate memories within each of said two or more dual-active caching storage-device controllers that stores information indicating which of said controllers has access rights to particular storage volume or logical unit regions;
- said storage volume reservation table having a plurality of reservation table entries indexed by storage volume number, each said reservation table entry including an ownership field, a hash table of locks, and a linked list of currently blocked data extents, said reservation table entry applying to all or a portion of a logical unit or storage volume;
- and
- said storage volume reservation table data structure providing consistent information in each of said controllers.
A computer program product for maintaining cache coherency amongst a plurality of dual-active caching storage controllers operating in unison supplying data in response to requests from one or more host computers, the computer program product including a computer readable medium and a computer mechanism stored thereon, the computer mechanism performing a method comprising:
- defining a storage volume reservation table data structure to maintain reserved, partial, and full ownership status of data extents that are part of the logical unit or storage volume, said ownership status applying to all or a portion of a logical unit or storage volume;
- and
- using said storage volume reservation table data structure to verify that a new update to the data is allowed.
A method for accessing data on a storage volume which is accessible by a plurality of multiple-active controllers by a host computer, said method comprising:
- receiving a host system read request command or a host system write request command;
- implicitly generating a reservation for each said read/write command to ensure that the data accessed by the host is synchronized with data recorded on the storage volume, said implicit reservations being represented by locks in a storage volume reservation table, said reservation applying to all or a portion of said storage volume;
- and
- said storage volume reservation table including a storage volume identifier, a plurality of storage volume state parameters including parameters indicating that the lock is full, partial, or a block and that the reservation is local or remote, and a hash table of locks.
In a computing environment that allows data access to a storage volume through two or more active caching controllers, a storage access reservation system comprising:
- a storage volume reservation table data structure defined in a separate memory within each of said two or more caching controllers;
- said storage volume reservation table having a plurality of reservation table entries indexed by storage volume number, each said reservation table entry including an ownership field, a hash table of locks, and a linked list of currently blocked data extents, said reservation entry field identifying reservation status applying to all or a portion of said storage volume;
- and
- said reservation table data structure providing consistent information in each of said controllers.
Dependencies are inferred from the claim text.