Methods and systems of cache memory management and snapshot operations
First Claim
1. A method of destaging data in a stripe in a data storage system, comprising:
- receiving a plurality of write commands in a data storage subsystem;
setting a dirty bit for each block of each write in a cache line in a host;
setting a valid bit for each block of each write in the cache line in the host;
locating all of the cache line descriptors for the stripe in the host;
writing the data in the stripe to the data storage subsystem;
acknowledging the data in the stripe is written to the data storage subsystem;
clearing the dirty bits in the host;
removing the cache line descriptors in the host; and
writing clean data from the cache line of the host to the cache of the data storage subsystem to perform a parity computation.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a cache memory management system suitable for use with snapshot applications. The system includes a cache directory including a hash table, hash table elements, cache line descriptors, and cache line functional pointers, and a cache manager running a hashing function that converts a request for data from an application to an index to a first hash table pointer in the hash table. The first hash table pointer in turn points to a first hash table element in a linked list of hash table elements where one of the hash table elements of the linked list of hash table elements points to a first cache line descriptor in the cache directory and a cache memory including a plurality of cache lines, wherein the first cache line descriptor has a one-to-one association with a first cache line. The present invention also provides for a method converting a request for data to an input to a hashing function, addressing a hash table based on a first index output from the hashing function, searching the hash table elements pointed to by the first index for the requested data, determining the requested data is not in cache memory, and allocating a first hash table element and a first cache line descriptor that associates with a first cache line in the cache memory.
-
Citations
3 Claims
-
1. A method of destaging data in a stripe in a data storage system, comprising:
-
receiving a plurality of write commands in a data storage subsystem; setting a dirty bit for each block of each write in a cache line in a host; setting a valid bit for each block of each write in the cache line in the host; locating all of the cache line descriptors for the stripe in the host; writing the data in the stripe to the data storage subsystem; acknowledging the data in the stripe is written to the data storage subsystem; clearing the dirty bits in the host; removing the cache line descriptors in the host; and writing clean data from the cache line of the host to the cache of the data storage subsystem to perform a parity computation.
-
-
2. A method of destaging data in a stripe in a data storage system, comprising:
-
receiving a plurality of write commands in a data storage subsystem; setting a dirty bit for each block of each write in a cache line in a host; setting a valid bit for each block of each write in the cache line in the host; locating all of the cache line descriptors for the stripe in the host; writing the data in the stripe to the data storage subsystem; acknowledging the data in the stripe is written to the data storage subsystem; clearing the dirty bits in the host; and removing the cache line descriptors in the host, wherein each of the write commands includes a commands in group field that identifies the writes in the same stripe. - View Dependent Claims (3)
-
Specification