← Back to Patent Explorer
US5761705A Expired / Lapsed US ⏱️ 0.0 years remaining

Methods and structure for maintaining cache consistency in a RAID controller having redundant caches

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1996-04-04
•
Granted: 1998-06-02
•
Expires: 2016-04-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods and associated apparatus operable in a RAID subsystem having redundant disk array controllers to assure dual, redundant cache consistency while permitting operation of the RAID subsystem in response to host computer I/O requests. The methods and apparatus of the present invention provide for a process of initializing the redundant disk array controllers in response to a power-on reset cycle (or other similar reset cycles). The first controller partially initializes for processing of host requests then awaits the partial initialization of the second controller. After a brief timeout awaiting the second controller, or in response to an erroneous initialization of the second controller, the first controller configures itself to perform host computer I/O requests in a write-through mode (bypassing cache operations) until the second controller eventually initializes. Once both controller are initialized, the redundant caches are synchronized. Finally, the initialized controllers having synchronized the redundant caches begin normal, mirrored, redundant operation. Until such time as the redundant caches are synchronized, the first controller continues operations in response to host computer I/O requests but with the degraded performance associated with the cache write-through mode.

Inventors

  • 👤 Rodney A. DeKoning
  • 👤 Donald R. Humlicek
  • 👤 Max L. Johnson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 10:30
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F11/00; G06F11/07; G06F11/16; G06F11/1666; G06F11/20; G06F11/2053; G06F11/2056; G06F11/2064; G06F11/2087; G06F12/0802; G06F12/0866; G11; G11C; G11C29/00; G11C29/70; G11C29/74; G06F12/0804; G06F12/0806; G06F12/0815

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 103 words
In a RAID storage subsystem having redundant disk array controllers each with a cache memory, a method for maintaining cache memory mirrored consistency between said redundant disk array controllers comprising the steps of: determining whether the cache memories in each of said redundant disk array controllers are synchronized; operating at least one of said redundant disk array controllers in a cache memory write-through mode in response to a determination that said cache memories are not synchronized; and operating both of said redundant disk array controllers in a cache memory write-back mirrored mode in response to a determination that said cache memories are synchronized.
Claim 2
Dependent Claim 103 words
In a RAID storage subsystem having redundant disk array controllers each with a cache memory, a method for maintaining cache memory mirrored consistency between said redundant disk array controllers comprising the steps of: determining whether the cache memories in each of said redundant disk array controllers are synchronized; operating at least one of said redundant disk array controllers in a cache memory write-through mode in response to a determination that said cache memories are not synchronized; and operating both of said redundant disk array controllers in a cache memory write-back mirrored mode in response to a determination that said cache memories are synchronized.
Claim 3
Dependent Claim 39 words
The method of claim 1 further comprising the step of: synchronizing said cache memories, responsive to the determination that said cache memories are not synchronized, by copying one of said cache memories to the other of said cache memories.
Claim 4
Dependent Claim 81 words
The method of claim 1 wherein each of said cache memories has a validity boolean attribute indicating, if having a value of true, that the associated cache memory has remained non-volatile and wherein the determining step includes: determining that said cache memories are synchronized if both cache memories have a validity boolean attribute value of true; and determining that said cache memories are not synchronized if at least one of said cache memories has a validity boolean attribute value of false.
Claim 5
Dependent Claim 123 words
The method of claim 3 further comprising the step of synchronizing the cache memories, responsive to the determination that said cache memories are not synchronized, wherein said synchronizing step includes the steps of: determining that both cache memories have a validity boolean attribute value of false; purging the contents of both cache memories responsive to the determination that both cache memories have a validity boolean attribute value of false; determining that one of said cache memories has a validity boolean attribute value of true; copying the contents of said one of said cache memories having a validity boolean attribute value of true to others of said cache memories; and setting said validity boolean attribute values of each of said cache memories to true.
Claim 6
Dependent Claim 89 words
The method of claim 1 wherein each of said cache memories has a native boolean attribute indicating, if having a value of true, that the contents stored in the cache memory was last associated with the RAID storage subsystem and wherein the determining step includes: determining that said cache memories are synchronized if both cache memories have a native boolean attribute value of true; and determining that said cache memories are not synchronized if at least one of said cache memories has a native boolean attribute value of false.
Claim 7
Dependent Claim 123 words
The method of claim 5 further comprising the step of synchronizing the cache memories, responsive to the determination that said cache memories are not synchronized, wherein said synchronizing step includes the steps of: determining that both cache memories have a native boolean attribute value of false; purging the contents of both cache memories responsive to the determination that both cache memories have a native boolean attribute value of false; determining that one of said cache memories has a native boolean attribute value of true; copying the contents of said one of said cache memories having a native boolean attribute value of true to others of said cache memories; and setting said native boolean attribute values of each of said cache memories to true.
Claim 8
Dependent Claim 146 words
The method of claim 1 wherein each of said cache memories has a validity boolean attribute indicating, if having a value of true, that the associated cache memory has remained non-volatile and wherein each of said cache memories has a native boolean attribute indicating, if having a value of true, that the contents stored in the cache memory was last associated with the RAID storage subsystem and wherein the determining step includes: determining that said cache memories are synchronized if both cache memories have a native boolean attribute value of true and if both cache memories have a valid boolean attribute value of true; and determining that said cache memories are not synchronized if at least one of said cache memories has a native boolean attribute value of false or if at least one of said cache memories has a valid boolean attribute value of false.
Claim 9
Dependent Claim 177 words
The method of claim 7 further comprising the step of synchronizing the cache memories, responsive to the determination that said cache memories are not synchronized, wherein said synchronizing step includes the steps of: determining that none of said cache memories has a native boolean attribute value of true and has a validity boolean attribute value of true; purging the contents of both cache memories responsive to the determination that none of said cache memories has a native boolean attribute value of true and has a validity boolean attribute value of true; determining that one of said cache memories has a native boolean attribute value of true and has a validity boolean attribute value of true; copying the contents of said one of said cache memories having a native boolean attribute value of true and having a validity boolean attribute value of true to others of said cache memories; setting said native boolean attribute values of each of said cache memories to true; and setting said validity boolean attribute values of each of said cache memories to true.
Claim 10
Dependent Claim 114 words
In a RAID storage subsystem having redundant disk array controllers each with a cache memory, apparatus operable within said redundant disk array controllers for maintaining cache memory mirrored consistency between said redundant disk array controllers, said apparatus comprising: means for determining whether the cache memories in each of said redundant disk array controllers are synchronized; means for operating at least one of said redundant disk array controllers in a cache memory write-through mode in response to a determination that said cache memories are not synchronized; and means for operating both of said redundant disk array controllers in a cache memory write-back mirrored mode in response to a determination that said cache memories are synchronized.
Claim 11
Dependent Claim 114 words
In a RAID storage subsystem having redundant disk array controllers each with a cache memory, apparatus operable within said redundant disk array controllers for maintaining cache memory mirrored consistency between said redundant disk array controllers, said apparatus comprising: means for determining whether the cache memories in each of said redundant disk array controllers are synchronized; means for operating at least one of said redundant disk array controllers in a cache memory write-through mode in response to a determination that said cache memories are not synchronized; and means for operating both of said redundant disk array controllers in a cache memory write-back mirrored mode in response to a determination that said cache memories are synchronized.
Claim 12
Dependent Claim 38 words
The apparatus of claim 9 further comprising: means for synchronizing said cache memories, responsive to the determination that said cache memories are not synchronized, by copying one of said cache memories to the other of said cache memories.
Claim 13
Dependent Claim 86 words
The apparatus of claim 9 wherein each of said cache memories has a validity boolean attribute indicating, if having a value of true, that the associated cache memory has remained non-volatile and wherein the means for determining includes: means for determining that said cache memories are synchronized if both cache memories have a validity boolean attribute value of true; and means for determining that said cache memories are not synchronized if at least one of said cache memories has a validity boolean attribute value of false.
Claim 14
Dependent Claim 130 words
The apparatus of claim 11 further comprising means for synchronizing the cache memories, responsive to the determination that said cache memories are not synchronized, wherein said means for synchronizing includes: means for determining that both cache memories have a validity boolean attribute value of false; means for purging the contents of both cache memories responsive to the determination that both cache memories have a validity boolean attribute value of false; means for determining that one of said cache memories has a validity boolean attribute value of true; means for copying the contents of said one of said cache memories having a validity boolean attribute value of true to others of said cache memories; and means for setting said validity boolean attribute values of each of said cache memories to true.
Claim 15
Dependent Claim 94 words
The apparatus of claim 9 wherein each of said cache memories has a native boolean attribute indicating, if having a value of true, that the contents stored in the cache memory was last associated with the RAID storage subsystem and wherein the means for determining includes: means for determining that said cache memories are synchronized if both cache memories have a native boolean attribute value of true; and means for determining that said cache memories are not synchronized if at least one of said cache memories has a native boolean attribute value of false.
Claim 16
Dependent Claim 130 words
The apparatus of claim 13 further comprising means for synchronizing the cache memories, responsive to the determination that said cache memories are not synchronized, wherein said means for synchronizing includes: means for determining that both cache memories have a native boolean attribute value of false; means for purging the contents of both cache memories responsive to the determination that both cache memories have a native boolean attribute value of false; means for determining that one of said cache memories has a native boolean attribute value of true; means for copying the contents of said one of said cache memories having a native boolean attribute value of true to others of said cache memories; and means for setting said native boolean attribute values of each of said cache memories to true.
Claim 17
Dependent Claim 151 words
The apparatus of claim 9 wherein each of said cache memories has a validity boolean attribute indicating, if having a value of true, that the associated cache memory has remained non-volatile and wherein each of said cache memories has a native boolean attribute indicating, if having a value of true, that the contents stored in the cache memory was last associated with the RAID storage subsystem and wherein the means for determining includes: means for determining that said cache memories are synchronized if both cache memories have a native boolean attribute value of true and if both cache memories have a valid boolean attribute value of true; and means for determining that said cache memories are not synchronized if at least one of said cache memories has a native boolean attribute value of false or if at least one of said cache memories has a valid boolean attribute value of false.
Claim 18
Dependent Claim 186 words
The apparatus of claim 15 further comprising means for synchronizing the cache memories, responsive to the determination that said cache memories are not synchronized, wherein said means for synchronizing includes: means for determining that none of said cache memories has a native boolean attribute value of true and has a validity boolean attribute value of true; means for purging the contents of both cache memories responsive to the determination that none of said cache memories has a native boolean attribute value of true and has a validity boolean attribute value of true; means for determining that one of said cache memories has a native boolean attribute value of true and has a validity boolean attribute value of true; means for copying the contents of said one of said cache memories having a native boolean attribute value of true and having a validity boolean attribute value of true to others of said cache memories; means for setting said native boolean attribute values of each of said cache memories to true; and means for setting said validity boolean attribute values of each of said cache memories to true.

References Cited (Backward Citations)

US4837675A Cited
US4862411A Cited
US5390186A Cited
US5140592A Cited
US5155840A Cited
EP0496506A2 Cited
US5276864A Cited
EP0573307A2 Cited
US5437022A Cited
US5367669A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-01 2001-12-01 2002-06-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-01 2005-12-01 2006-06-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-01 2009-12-01 2010-06-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag