System and method to preserve and recover unwritten data present in data cache of a disk subsystem across power outages
First Claim
Patent Images
1. A method of a controller coupled between a host server and a data store comprising:
- solely packing blocks of a cache memory of the controller corresponding to a dirty data in an order of a volume number and a logical block address within a volume, the dirty data being data from the host server prior to being written to the data store;
backing up the packed blocks of the cache memory corresponding to the dirty data in a intermediary backup non-volatile storage device distinct from both the cache memory and the data store and storing packing information in the intermediary backup non-volatile storage device, with storing of the packing information at the cache memory being avoided;
maintaining, in the packing information, a state of the packed blocks of the cache memory corresponding to the dirty data immediately prior to a power outage during the power outage; and
sequentially accessing the packed blocks of the cache memory corresponding to the dirty data in the intermediary backup non-volatile storage device based on the packing information to transfer the dirty data to the data store following restoration of power.
8 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are a system and method to preserve and recover unwritten data present in data cache of a disk subsystem across power outages. In one embodiment, a method of a controller is described. The method includes applying a write-back technique between a host server and a data store, accessing a dirty data in a cache memory during a power outage. The method may apply an algorithm for efficiently offloading the dirty data to a non-volatile storage device during the power outage. In addition the method may apply the algorithm to efficiently transfer the dirty data from the non-volatile storage device to the data store when power is restored.
-
Citations
20 Claims
-
1. A method of a controller coupled between a host server and a data store comprising:
-
solely packing blocks of a cache memory of the controller corresponding to a dirty data in an order of a volume number and a logical block address within a volume, the dirty data being data from the host server prior to being written to the data store; backing up the packed blocks of the cache memory corresponding to the dirty data in a intermediary backup non-volatile storage device distinct from both the cache memory and the data store and storing packing information in the intermediary backup non-volatile storage device, with storing of the packing information at the cache memory being avoided; maintaining, in the packing information, a state of the packed blocks of the cache memory corresponding to the dirty data immediately prior to a power outage during the power outage; and sequentially accessing the packed blocks of the cache memory corresponding to the dirty data in the intermediary backup non-volatile storage device based on the packing information to transfer the dirty data to the data store following restoration of power. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a host server; a data store; a controller comprising a cache memory configured to include dirty data corresponding to data from the host server prior to being written to the data store; and a intermediary backup non-volatile storage device distinct from both the data store and the cache memory, wherein the controller is configured to enable; solely packing blocks of the cache memory corresponding to the dirty data in an order of a volume number and a logical block address within a volume; backing up the packed blocks of the cache memory corresponding to the dirty data in the intermediary backup non-volatile storage device and storing packing information therein, with storing of the packing information at the cache memory being avoided; maintaining, in the packing information, a state of the packed blocks of the cache memory corresponding to the dirty data immediately prior to a power outage during the power outage; and sequentially accessing the packed blocks of the cache memory corresponding to the dirty data in the intermediary backup non-volatile storage device based on the packing information to transfer the dirty data to the data store following restoration of power. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method of a controller coupled between a host server and a data store comprising:
-
solely packing blocks of a cache memory of the controller corresponding to a dirty data in an order of a volume number and a logical block address within a volume, the dirty data being data from the host server prior to being written to the data store; backing up the packed blocks of the cache memory corresponding to the dirty data in a plurality of intermediary backup non-volatile storage devices distinct from both the cache memory and the data store and storing packing information in the plurality of intermediary backup non-volatile storage devices, with storing of the packing information at the cache memory being avoided; maintaining, in the packing information, a state of the packed blocks of the cache memory corresponding to the dirty data immediately prior to a power outage during the power outage; sequentially accessing the packed blocks of the cache memory corresponding to the dirty data in the plurality of intermediary backup non-volatile storage devices based on the packing information to transfer the dirty data to the data store following restoration of power; and ensuring parallel access to each of the plurality of intermediary backup non-volatile storage devices during backup of the dirty data and the transfer thereof to the data store. - View Dependent Claims (20)
-
Specification