Full cache coherency across multiple raid controllers

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

C711S113000, C711S114000, C711S120000, C711S141000

Reexamination Certificate

active

06321298

ABSTRACT:

The present invention relates generally to methods for caching disk reads and writes in a RAID system and, particularly, to methods for maintaining the coherency of multiple caches used for caching disk reads and disk writes in a RAID system.
BACKGROUND OF THE INVENTION
FIG. 1
shows a block diagram of a typical multiple-controller RAID system
100
(RAID is an acronym for “Redundant Array of Independent Disks”). Each host computer
102
is connected to a respective RAID controller
104
through either a Fibre Channel or SCSI bus
106
via a host bus adapter (HBA). Each RAID controller
104
coordinates reading and writing requests from a respective host
102
directed to a shared set of storage devices
108
to which the RAID controllers
104
are connected via a backend Fibre Channel or SCSI disk bus
110
. The controllers
104
use the same storage devices
108
so that each host computer
102
can access the same data.
FIG. 1
shows only two controllers; however, the illustrated architecture is extendable to systems of N controllers (where N is an integer greater than 2). The controllers
104
have cache memories
112
in which they temporarily store the data most recently read and written by the host
102
. The operation of these cache memories
112
is now described with reference to FIG.
2
.
FIG. 2
shows a block diagram of the caches
112
, which include a read cache
114
, a write cache
116
and a write mirror cache
118
. A controller
104
i
(where “i” represents any integer) places write data
103
(
FIG. 1
) from the host
102
into its write cache
116
i
and data
105
(
FIG. 1
) read from the controller
104
by the host
102
into its read cache
114
i
. Each write mirror cache
118
i
duplicates the contents
107
j
of another controller's write cache
116
j
. The write mirror cache
118
i
is written to by a controller
104
j
around the time it initiates a write operation. The write mirror caches
118
allow a duplicate copy of the write data
107
to be stored in a second controller so that a failure of either controller
104
will not result in the loss of data.
Data
107
for the write mirror caches
118
is transferred between the controllers through the backend SCSI or Fibre Channel disk busses
110
. The data in a mirrored cache
118
is used only if a controller
104
involved in a write fails, in which case the mirrored data is transferred to the disks
108
for storage.
The problem with this method is that the caches may not be synchronized, which can cause the hosts to receive inconsistent data following read operations. For example, if the host controller
104
-
1
performs a write to a disk device
108
and the second host system
102
-
1
attempts to read the same data, a copy of which is already in the read cache
114
-
2
of the second controller
104
-
2
, the second host would receive state data as the read caches are not updated across controllers. Further, copying all read data across the controllers would severely compromise performance. This problem will become increasingly important as clustering environments increase in popularity.
SUMMARY OF THE INVENTION
In summary, the present invention is a method to insure cache coherency across multiple RAID controllers. This invention synchronizes both the write and read caches, whereas prior art implementations only synchronize the write cache data.
In particular, the present invention synchronizes the read caches without needing to copy the read cache data between controllers. As a result, the present invention provides full cache coherency without using excessive bandwidth for inter-controller data transfers.
One embodiment of the present invention for use with multiple RAID controllers having associated read, write and mirror caches, where the controllers are connected via one or more backend channels to each other and a set of storage devices, includes the following steps:
1. In response to a command to write data to a specific address, a first controller initiates the write operation and copies the particular data to the mirror caches of one or more other controllers through the one or more backend channels.
2. The first controller then confirms that the write operation is complete.
3. In response to a command to read data at the specific address, a second controller that is one of the other controllers:
a. checks for the data in its mirror cache and, if the data is there, returns that data to the host computer;
b. checks for the data in its write cache, and, if the data is there, returns that data to the host;
c. checks for the data in its read cache and, if the data is there, returns that data to the host; and
d. if the data is not in any of the caches, gets the data from the storage devices, places the data into its read cache and returns that data to the host.
In one embodiment, the backend channels can be any combination of SCSI and/or Fibre Channel busses. In another embodiment, the storage devices are disks. In none of the embodiments is it required that a controller has a one-to-one relationship with its associated read, write and write mirror caches or with a host for which it executes read and write commands.
The present invention also encompasses RAID systems incorporating RAID controllers programmed to implement the preceding method.


REFERENCES:
patent: 5586291 (1996-12-01), Lasker et al.
patent: 5636355 (1997-06-01), Ramakrishnan et al.
patent: 5761705 (1998-06-01), DeKoning et al.
patent: 5974506 (1999-10-01), Sicola et al.
Varma et al. “Destage algorithms for disk arrays with non-volatile caches” (U.C. Santa Cruz, Computer Engineering Dept. 1995, pp. 83-95).

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

Full cache coherency across multiple raid controllers does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Full cache coherency across multiple raid controllers, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Full cache coherency across multiple raid controllers will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2576034

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