Method and device using a redundant cache for preventing the loss of dirty data
DCFirst Claim
1. In a system having a first cache and a second cache arranged between a client and a persistent memory device, a method for managing input/output requests which prevents data loss, the method comprising steps of:
- a) requesting a cache line in the first cache;
b) if the input/output request is a write request to a volume with write-back cache enabled, flagging one or more blocks of dirty data in the first cache;
c) performing a write operation;
d) transmitting the one or more blocks of dirty data from the first cache to the second cache based on the flagging; and
e) releasing the cache line.
8 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method and device for writing blocks from a client to a storage device. First and second caches are provided between the client and the storage device. An I/O management process accepts a write request from the client. If the write request is a write-back request, the I/O management process stores the blocks in the first cache, and transferring the blocks from the first cache to the second cache. If, on the other hand, the write request is not a write-back request, a write-through request is performed in which blocks are stored in the first cache, stored in the storage device, but not stored in the second cache. When the blocks are flushed from the first cache to store the blocks on the storage device, the dirty map of the cache header corresponding to the blocks is cleared from the second cache.
144 Citations
18 Claims
-
1. In a system having a first cache and a second cache arranged between a client and a persistent memory device, a method for managing input/output requests which prevents data loss, the method comprising steps of:
-
a) requesting a cache line in the first cache; b) if the input/output request is a write request to a volume with write-back cache enabled, flagging one or more blocks of dirty data in the first cache; c) performing a write operation; d) transmitting the one or more blocks of dirty data from the first cache to the second cache based on the flagging; and e) releasing the cache line. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for providing storage for a client, the system comprising:
-
a) a mass storage device; b) a first controller, including a cache, for controlling the mass storage device in response to requests from the client; and c) a second controller, including a cache, for controlling the mass storage device in response to requests from the client, wherein one of the first and second controllers responding to an I/O request, sends dirty data to the cache of another of the first and second controllers. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for writing data from a client to a storage device, the method comprising steps of:
-
a) providing a first cache between the client and the storage device; b) providing a second cache between the client and the storage device; c) accepting a write request from the client; and d) if the write request is a write-back request, storing the data in the first cache, and transferring the data from the first cache to the second cache. - View Dependent Claims (17, 18)
-
Specification