Quiesce system storage device and method in a dual active...

Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S145000

Reexamination Certificate

active

06816945

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates in general to computer storage systems, and more particularly to a quiesce system storage device and method in a dual active controller with cache coherency using stripe locks for implied storage volume reservations.
2. Description of Related Art
Increasingly, there is a need to provide access to stored information or data on hard disk drives (or other storage devices) from a plurality of host servers and to also permit the data stored on any particular storage device to be accessed through alternative device controllers. Providing access to the data from multiple hosts eliminates the need to store the data at more than one location (though the data may still be redundantly stored using known mirroring or Redundant Array of Independent Disk (RAID) techniques) and in theory assures that the identical data can be accessed by interested parties. Providing multiple access to a storage device through a plurality of controllers, provides redundant access to the device from an alternate (or second) controller so that the data remains accessible in the event that the first controller fails.
Although providing access to storage devices through multiple controllers is desirable, such a configuration may present data consistency problems. Data consistency refers to all controllers providing visibility to one identical copy of the data. Data consistency can be provided through data synchronization or data coherency or both. Data coherency refers to maintaining a consistent copy of the data in each of the controllers caches. Data synchronization refers to keeping the data in the storage controller's cache the same as that in the storage device.
Storage controllers direct data traffic from the host system to one or more non-volatile storage devices. Storage controller may or may not have an intermediary cache to stage data between the non-volatile storage device and the host system. A caching controller (or caching storage controller) is a device which is capable of directing the data traffic from a host system to one or more non-volatile storage devices which uses an intermediary data storage device (the cache memory) to stage data between the non-volatile storage device and the host system. In general, the intermediary storage device is built out of RAM to allow a quicker access time to the data. Multiple active controllers are defined as a collection of storage controllers or caching storage controllers which work in a cooperative manner with each other.
Multiple active controllers provide the ability for recovering from a controller failure by allowing multiple paths to a storage volume. The storage volume is a contiguous range of randomly accessible sector of data. For practical purposes, the sector numbering starts at 0 and goes to N, where N is the total number of sectors available to the host system. A data extent is a range of data within a storage volume delineated by a starting sector and an ending sector. The storage volume is broken up into a number of data extents which are not required to be of equivalent sizes, but may not overlap. These concepts are used in the discussion of the background and the detailed description of embodiments of the invention, and apply to both.
Caching storage controllers that work independently of one another to store information or data to a secondary storage unit, such as a hard disk drive, or tape unit, are conventionally available. There are also caching storage controllers that work with one or more other controller(s) to provide multiple controller access to a secondary storage unit and provide a fault tolerant environment. If two controllers are simultaneously providing access to a common set of storage devices and each is able to take over the other's functionality in the event of a failure, then those controllers are referred to as active-active or dual-active controllers.
Computer system configurations involving one or more host computers and having two or more controllers that use cache technologies, with access to a storage device through any of the controllers, should desirably provide some mechanism of ensuring that the cache data in each controller is always correct. Unfortunately in conventional systems they may not. Controllers using the SCSI command set could use two commands that are provided in that command set, the “Reserve LUN” and “Release LUN” commands, where LUN is an abbreviation for Logical Unit Number. (SCSI commands, including the Reserve LUN and Release LUN commands, are described in standard references including SCSI-2 Small Computer System lnterface-2 ANSI X3.131:1994: which is incorporated herein by reference.) The host computer, especially one operating in a cluster environment, could use these two commands to reserve all accesses to the entire LUN.
Unfortunately, not all host computers use these SCSI commands. Furthermore, the Reserve LUN and Release LUN commands do not provide for reservation of a portion of a storage volume because they apply to the entire storage volume.
In addition, there are problems with data synchronization between controllers which maintain local cached copies of data. For example, one set of host transactions could cause data integrity problems (data consistency and data synchronization problems). The data consistency problem is brought about by the fact that each controller's cache operates independently.
One technique for overcoming the data consistency problems involves a storage volume reservation system and method as described in co-pending U.S. patent application Ser. No. 09/325,033, which is hereby incorporated by reference. The storage volume (or storage LUN) reservation system for active controllers in an environment allows data access through two or more separate caching controllers. The inventive structure and method maintains a “reservation table” (such as a LUN reservation table) that is always consistent on each of the plurality of controllers. This structure and method also provide the capability of explicitly reserving storage volumes using any current storage volume (or LUN) reserve commands, or implicitly using a write operation. The inventive structure and method also provide the capability of invalidating a controller's cache based on acquiring new reservation.
The storage volume reservation system and method provide that each controller is not required to reserve a storage volume in order to perform an update to that storage volume. An explicit reservation may be made through the use of Storage Volume Reserve commands, while an implicit reservation is made whenever a write operation requires that the particular controller obtain a reservation. Implicit reservations may occur for example when an alternate controller already owns the reservation. The reservation may also be obtained implicitly when the controller is required to perform a read operation, and the alternate controller already owns the reservation. This reservation requirement is imposed in order to ensure that the alternate controller's cache contains no data (dirty data) that has not been synchronized with the storage volume drive.
The reservation process is synchronized between all of the controllers in the system in order to maintain reservation table coherency. All updates to the reservation table are propagated to the alternate controllers to maintain reservation table coherency. This procedure allows most reads and writes to be performed with minimal overhead. An I/O operation to a storage volume that is reserved by that controller only needs to check for that ownership before processing the I/O operation request.
The reservation process also benefits from cache flushing and cache invalidating in some circumstances to maintain data integrity. Obtaining a reservation to a storage volume or portion thereof that is not owned by any controller is straightforward and only requires an update to the reservation table, and it's propagation to all alternate controllers. Obtaining a reservation to a stor

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Quiesce system storage device and method in a dual active... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Quiesce system storage device and method in a dual active..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Quiesce system storage device and method in a dual active... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3280898

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.