IP Library Granted Patent US 7,895,465
Granted Patent B2
US 7,895,465 · App. 12/132,128 · Granted Feb 22, 2011

Memory preserved cache failsafe reboot mechanism

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,895,465
App. No.
12/132,128
Granted
Feb 22, 2011
Kind
B2
Abstract

A method, system and computer program product for preserving data in a storage subsystem having dual cache and dual nonvolatile storage (NVS) through a failover from a failed cluster to a surviving cluster, the surviving cluster undergoing a rebooting process, is provided. A memory preserved indicator associated with a cache of the surviving cluster is detected. The memory preserved indicator designates marked tracks having an image in an NVS of the failed cluster to be preserved through the rebooting process. A counter in a data structure of the surviving cache is incremented. If a value of the counter exceeds a predetermined value, a cache memory is initialized, and the marked tracks are removed from the cache to prevent an instance of repetitive reboots caused by a corrupted structure in the cache memory.

Claims (27)

1. A method for preserving data in a storage subsystem having dual cache and dual nonvolatile storage (NVS) through a failover from a failed cluster to a surviving cluster, the surviving cluster undergoing a rebooting process, comprising:

detecting a memory preserved indicator associated with a cache of the surviving cluster, the memory preserved indicator denoting marked tracks having an image in an NVS of the failed cluster to be preserved through the rebooting process; and

incrementing a counter in a data structure of the surviving cache, wherein if a value of the counter exceeds a predetermined value, initializing the surviving cache and removing the marked tracks from the surviving cache to prevent an instance of repetitive reboots caused by a corrupted structure in the surviving cache.

2. The method of claim 1 , further including subsequent to completing processing of the marked tracks following the rebooting process, resetting the counter to an initial value.

3. The method of claim 1 , wherein undergoing a rebooting process includes undergoing an initial microcode load (IML) process.

4. The method of claim 1 , further including subsequent to initializing the surviving cache and removing the marked tracks from the surviving cache, logging the initializing of the surviving cache.

5. The method of claim 4 , further including subsequent to logging the initializing of the surviving cache, notifying an operating system (OS) associated with the storage subsystem that data of the surviving cache is not preserved.

6. The method of claim 4 , wherein notifying the OS associated with the storage subsystem that the data of the surviving cache is not preserved includes implementing a macro to communicate a non preserved status to the OS.

7. The method of claim 1 , further including, if the value of the counter does not exceed the predetermined value, retaining the marked tracks while discarding metadata and non-marked tracks of the surviving cache.

8. The method of claim 7 , wherein retaining the marked tracks further includes, if the marked tracks are determined to be in good state, destaging the marked tracks from the surviving cache to disk, otherwise retro-restoring the marked tracks to NVS of the surviving cluster if space is available on the NVS of the surviving cluster, and pinning the marked tracks if space is not available on the NVS of the surviving cluster.

9. A system for preserving data in a storage subsystem having dual cache and dual nonvolatile storage (NVS) through a failover from a failed cluster to a surviving cluster, the surviving cluster undergoing a rebooting process, comprising:

a storage management program (SMP) module in communication with the failed and surviving clusters, wherein the SMP module is adapted for:

detecting a memory preserved indicator associated with a cache of the surviving cluster, the memory preserved indicator denoting marked tracks having an image in an NVS of the failed cluster to be preserved through the rebooting process, and

incrementing a counter in a data structure of the surviving cache, wherein if a value of the counter exceeds a predetermined value, initializing the surviving cache and removing the marked tracks from the surviving cache to prevent an instance of repetitive reboots caused by a corrupted structure in the surviving cache.

10. The system of claim 9 , wherein the SMP module is further adapted for, subsequent to completing processing of the marked tracks following the rebooting process, resetting the counter to an initial value.

11. The system of claim 9 , the SMP module is further adapted for performing an initial microcode load (IML) process.

12. The system of claim 9 , wherein the SMP module is further adapted for, subsequent to initializing the surviving cache and removing the marked tracks from the surviving cache, logging the initializing of the surviving cache.

13. The system of claim 12 , wherein the SMP module is further adapted for, subsequent to logging the initializing of the surviving cache, notifying an operating system (OS) associated with the storage subsystem that data of the surviving cache is not preserved.

14. The system of claim 13 , the SMP module is further adapted for, pursuant to initializing the surviving cache, implementing a macro to communicate a non preserved status to the OS.

15. A computer program product for preserving data in a storage subsystem having dual cache and dual nonvolatile storage (NVS) through a failover from a failed cluster to a surviving cluster, the surviving cluster undergoing a rebooting process, the computer program product comprising a computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

a first executable portion for detecting a memory preserved indicator associated with a cache of the surviving cluster, the memory preserved indicator denoting marked tracks having an image in an NVS of the failed cluster to be preserved through the rebooting process; and

a second executable portion for incrementing a counter in a cache alignment (CA) header of the surviving cache, wherein if a value of the counter exceeds a predetermined value, initializing the surviving cache and removing the marked tracks from the surviving cache to prevent an instance of repetitive reboots caused by a corrupted structure in the surviving cache.

16. The computer program product of claim 15 , further including a third executable portion for, subsequent to completing processing of the marked tracks following the rebooting process, resetting the counter to an initial value.

17. The computer program product of claim 15 , wherein the first executable portion is executed pursuant to an initial microcode load (IML) process.

18. The computer program product of claim 15 , further including a third executable portion for, subsequent to initializing the surviving cache and removing the marked tracks from the surviving cache, logging the initializing of the surviving cache.

19. The computer program product of claim 18 , further including a fourth executable portion for, subsequent to logging the initializing of the surviving cache, notifying an operating system (OS) associated with the storage subsystem that data of the surviving cache is not preserved.

20. The computer program product of claim 19 , wherein the fourth executable portion for notifying the OS associated with the storage subsystem that the cache memory is not preserved includes a fifth executable portion for implementing a macro to communicate a non preserved status to the OS.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2008
From: ASH, KEVIN JOHN; BENHASE, MICHAEL THOMAS; GUPTA, LOKESH MOHAN; SANCHEZ, ALFRED EMILIO; TODD, KENNETH WAYNE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021102/0170 →
Continuity (1)
Related Publication 20090300408A1 · Dec 3, 2009