IP Library Granted Patent US 7,380,059
Granted Patent B2
US 7,380,059 · App. 11/408,209 · Granted May 27, 2008

Methods and systems of cache memory management and snapshot operations

Assignee: Pillar Data Systems, Inc.
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,380,059
App. No.
11/408,209
Granted
May 27, 2008
Kind
B2
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.

Claims (20)

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.

3. The method of claim 2 , further comprising writing clean data to the cache of the data storage subsystem for performing a parity computation.

Assignments (2)
IP TRANSFER AGREEMENT Recorded Oct 25, 2011
From: PILLAR DATA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 027116/0608 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2006
From: BURTON, DAVID ALAN
To: PILLAR DATA SYSTEMS, INC.
Reel/Frame 018105/0016 →
Continuity (2)
Continuation In Part 1044034700 · May 16, 2003
Related Publication 20060265568A1 · Nov 23, 2006