IP Library Granted Patent US 8,255,630
Granted Patent B1
US 8,255,630 · App. 12/191,272 · Granted Aug 28, 2012

Optimization of cascaded virtual cache memory

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 8,255,630
App. No.
12/191,272
Granted
Aug 28, 2012
Kind
B1
Abstract

The present invention includes storing in a main memory data block tags corresponding to blocks of data previously inserted into a buffer cache memory and then evicted from the buffer cache memory or written over in the buffer cache memory. Counters associated with the tags are updated when look-up requests to look up data block tags are received from a cache look-up algorithm.

Claims (29)

1. A storage server comprising:

a processor;

a mass storage device coupled to the processor;

a buffer cache memory coupled to the processor to cache data read from and written to the mass storage device;

a main memory storing a plurality of data block tags corresponding to blocks of data that were previously inserted into the buffer cache memory and then evicted from the buffer cache memory;

an operating system stored in a memory that when executed by the processor causes the processor to:

look-up a data block tag of the plurality of data block tags according to a look-up algorithm;

find the data block tag;

access a block of data corresponding to the data block tag in the mass storage device; and

store a plurality of counters for the plurality of data block tags in a location of main memory separate from a location of the main memory storing the plurality of data block tags,

wherein the operating system comprises a file system, and wherein each of the plurality of data block tags identifies a file system identification (FSID) number and a block number for the block of data corresponding to that data block tag.

2. The storage server of claim 1 , wherein the data block tags are stored in a virtual cache memory.

3. The storage server of claim 1 , wherein only blocks of data previously evicted from the buffer cache memory are inserted into a virtual cache memory, and are not stored in the virtual cache memory.

4. The storage server of claim 1 , wherein a data size of the plurality of data block tags is substantially less than a data storage size of the buffer cache memory.

5. The storage server of claim 1 , wherein a data size of each of the plurality of data block tags is smaller than a data size of a data block tag corresponding to a block of data that is stored in the buffer cache memory.

6. A storage server comprising:

a processor;

a mass storage device coupled to the processor;

a buffer cache memory coupled to the processor to cache data read from and written to the mass storage device;

a main memory storing a plurality of data block tags corresponding to blocks of data that were previously inserted into the buffer cache memory and then evicted from the buffer cache memory;

an operating system stored in a memory that when executed by the processor causes the processor to:

look-up a data block tag of the plurality of data block tags according to a look-up algorithm;

find the data block tag; and

access a block of data corresponding to the data block tag in the mass storage device,

wherein a data size of each of the plurality of data block tags is smaller than a data size of a data block tag corresponding to a block of data that is stored in the buffer cache memory, and wherein the operating system comprises a file system, and wherein each of the plurality of data block tags identifies a file system identification (FSID) number and a block number for the block of data corresponding to that data block tag.

7. The storage server of claim 6 , wherein the data block tags are stored in a virtual cache memory.

8. The storage server of claim 6 , wherein only blocks of data previously evicted from the buffer cache memory are inserted into a virtual cache memory, and are not stored in the virtual cache memory.

9. The storage server of claim 6 , wherein a data size of the plurality of data block tags is substantially less than a data storage size of the buffer cache memory.

10. The storage server of claim 6 , wherein a data size of each of the plurality of data block tags is smaller than a data size of a data block tag corresponding to a block of data that is stored in the buffer cache memory.

Assignments (1)
CHANGE OF NAME Recorded Jan 15, 2014
From: NETWORK APPLIANCE, INC
To: NETAPP, INC.
Reel/Frame 031978/0526 →