Techniques for managing data within a data storage system utilizing a flash-based memory vault
First Claim
1. A data storage system, comprising:
- a volatile-memory storage cache;
a flash-based memory vault;
a controller coupled to the volatile-memory storage cache and the flash-based memory vault, the controller being configured to;
while the controller is being powered by a primary power source, perform data storage operations on behalf of a set of hosts using the volatile-memory storage cache and a set of magnetic disk drives,receive a power failure signal indicating that the controller is now being powered by a backup power source rather than by the primary power source, andmove data from the volatile-memory storage cache to a flash-based memory vault in response to the power failure signal,a first storage processor having a first storage cache and a first memory vault;
a second storage processor having a second storage cache and a second memory vault, the first and second storage caches being configured to mirror data, the first and second storage caches forming the volatile-memory storage cache of the data storage system, the first and second memory vaults forming the flash-based memory vault; and
wherein the controller, when moving the data from the volatile-memory storage cache to the flash-based memory vault, is configured to;
store contents of the first storage cache to the first memory vault, andstore contents of the second storage cache to the second memory vault; and
wherein the controller is further configured to;
receive a power normal signal,restore the first and second storage caches from the first and second memory vaults which form the flash-based memory vault in response to the power normal signal, the first and second storage caches mirroring each other once the first and second storage caches have been restored,when restoring the first and second storage caches, transfer a top portion of the contents of the first storage cache stored in the first memory vault back to the first storage cache without transferring a bottom portion of the contents of the first storage cache store in the first memory vault,when restoring the first and second storage caches, transfer a bottom portion of the contents of the second storage cache stored in the second memory vault back to the second storage cache without transferring a top portion of the contents of the second storage cache store in the second memory vault,when restoring the first and second storage caches, copy the bottom portion of the contents transferred back to the second storage cache from the second storage cache to the first storage cache, andwhen restoring the first and second storage caches, copy the top portion of the contents transferred back to the first storage cache from the first storage cache to the second storage cache.
9 Assignments
0 Petitions
Accused Products
Abstract
A technique for managing data within a data storage system involves performing data storage operations on behalf of a set of hosts (i.e., one or more hosts) using a volatile-memory storage cache and a set of magnetic disk drives while the data storage system is being powered by a primary power source (e.g., a main power feed). The technique further involves receiving a power failure signal (e.g., from a sensor) indicating that the data storage system is now being powered by a backup power source rather than by the primary power source (e.g., due to a loss of the main power feed, due to a failure of a power converter, etc.), and moving data from the volatile-memory storage cache of the data storage system to a flash-based memory vault of the data storage system in response to the power failure signal.
88 Citations
15 Claims
-
1. A data storage system, comprising:
-
a volatile-memory storage cache; a flash-based memory vault; a controller coupled to the volatile-memory storage cache and the flash-based memory vault, the controller being configured to; while the controller is being powered by a primary power source, perform data storage operations on behalf of a set of hosts using the volatile-memory storage cache and a set of magnetic disk drives, receive a power failure signal indicating that the controller is now being powered by a backup power source rather than by the primary power source, and move data from the volatile-memory storage cache to a flash-based memory vault in response to the power failure signal, a first storage processor having a first storage cache and a first memory vault; a second storage processor having a second storage cache and a second memory vault, the first and second storage caches being configured to mirror data, the first and second storage caches forming the volatile-memory storage cache of the data storage system, the first and second memory vaults forming the flash-based memory vault; and wherein the controller, when moving the data from the volatile-memory storage cache to the flash-based memory vault, is configured to; store contents of the first storage cache to the first memory vault, and store contents of the second storage cache to the second memory vault; and wherein the controller is further configured to; receive a power normal signal, restore the first and second storage caches from the first and second memory vaults which form the flash-based memory vault in response to the power normal signal, the first and second storage caches mirroring each other once the first and second storage caches have been restored, when restoring the first and second storage caches, transfer a top portion of the contents of the first storage cache stored in the first memory vault back to the first storage cache without transferring a bottom portion of the contents of the first storage cache store in the first memory vault, when restoring the first and second storage caches, transfer a bottom portion of the contents of the second storage cache stored in the second memory vault back to the second storage cache without transferring a top portion of the contents of the second storage cache store in the second memory vault, when restoring the first and second storage caches, copy the bottom portion of the contents transferred back to the second storage cache from the second storage cache to the first storage cache, and when restoring the first and second storage caches, copy the top portion of the contents transferred back to the first storage cache from the first storage cache to the second storage cache. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for managing data within a data storage system, the method comprising:
-
while the data storage system is being powered by a primary power source, performing data storage operations on behalf of a set of hosts using a volatile-memory storage cache and a set of magnetic disk drives; receiving a power failure signal indicating that the data storage system is now being powered by a backup power source rather than by the primary power source; moving data from the volatile-memory storage cache of the data storage system to a flash-based memory vault of the data storage system in response to the power failure signal; wherein the data storage system includes; a first storage processor having a first storage cache and a first memory vault, and a second storage processor having a second storage cache and a second memory vault, the first and second storage caches being configured to mirror data, the first and second storage caches forming the volatile-memory storage cache of the data storage system, the first and second memory vaults forming the flash-based memory vault; and wherein moving the data from the volatile-memory storage cache to the flash-based memory vault includes; storing contents of the first storage cache to the first memory vault, and storing contents of the second storage cache to the second memory vault; and receiving a power normal signal; restoring the first and second storage caches from the first and second memory vaults which form the flash-based memory vault in response to the power normal signal, the first and second storage caches mirroring each other once the first and second storage caches have been restored; wherein restoring the first and second storage caches includes transferring a top portion of the contents of the first storage cache stored in the first memory vault back to the first storage cache without transferring a bottom portion of the contents of the first storage cache store in the first memory vault; wherein restoring the first and second storage caches includes transferring a bottom portion of the contents of the second storage cache stored in the second memory vault back to the second storage cache without transferring a top portion of the contents of the second storage cache store in the second memory vault; wherein restoring the first and second storage caches includes copying the bottom portion of the contents transferred back to the second storage cache from the second storage cache to the first storage cache; and wherein restoring the first and second storage caches includes copying the top portion of the contents transferred back to the first storage cache from the first storage cache to the second storage cache. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A data storage system, comprising:
-
a volatile-memory storage cache; a flash-based memory vault; and a controller coupled to the volatile-memory storage cache and the flash-based memory vault, the controller including; means for performing data storage operations on behalf of a set of hosts using the volatile-memory storage cache and a set of magnetic disk drives while the controller is being powered by a primary power source, means for receiving a power failure signal indicating that the controller is now being powered by a backup power source rather than by the primary power source, and means for moving data from the volatile-memory storage cache to a flash-based memory vault in response to the power failure signal; a first storage processor having a first storage cache and a first memory vault; a second storage processor having a second storage cache and a second memory vault, the first and second storage caches being configured to mirror data, the first and second storage caches forming the volatile-memory storage cache of the data storage system, the first and second memory vaults forming the flash-based memory vault; and wherein the controller, when moving the data from the volatile-memory storage cache to the flash-based memory vault, is configured to; store contents of the first storage cache to the first memory vault, and store contents of the second storage cache to the second memory vault; and wherein the controller is further configured to; receive a power normal signal, restore the first and second storage caches from the first and second memory vaults which form the flash-based memory vault in response to the power normal signal, the first and second storage caches mirroring each other once the first and second storage caches have been restored, when restoring the first and second storage caches, transfer a top portion of the contents of the first storage cache stored in the first memory vault back to the first storage cache without transferring a bottom portion of the contents of the first storage cache store in the first memory vault, when restoring the first and second storage caches, transfer a bottom portion of the contents of the second storage cache stored in the second memory vault back to the second storage cache without transferring a top portion of the contents of the second storage cache store in the second memory vault, when restoring the first and second storage caches, copy the bottom portion of the contents transferred back to the second storage cache from the second storage cache to the first storage cache, and when restoring the first and second storage caches, copy the top portion of the contents transferred back to the first storage cache from the first storage cache to the second storage cache.
-
Specification