Nova Patents
US20030196042A1

System for maintaining a buffer pool

Claim Score by NHIP

Read claim 1, the broadest

Abstract

In a multi-threaded computing environment, a shared cache system reduces the amount of redundant information stored in memory. A cache memory area provides both global readable data and private writable data to processing threads. A particular processing thread accesses data by first checking its private views of modified data and then its global views of read-only data. Uncached data is read into a cache buffer for global access. If write access is required by the processing thread, the data is copied into a new cache buffer, which is assigned to the processing thread's private view. The particular shared cache system supports generational views of data. The system is particularly useful in on-line analytical processing of multi-dimensional databases. In one embodiment, a dedicated collector reclaims cache memory blocks for the processing threads. By utilizing a dedicated collector thread, any processing penalty encountered during the reclamation process is absorbed by the dedicated collector. Thus the user session threads continue to operate normally, making the reclaiming of cache memory blocks by the dedicated collector task thread transparent to the user session threads. In an alternative embodiment, the process for reclaiming page buffers is distributed amongst user processes sharing the shared memory. Each of the user processes includes a user thread collector for reclaiming a page buffer as needed and multiple user processes can concurrently reclaim page buffers.

US20030196042A1, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Projected expiry passed 2 June 2023, 3.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

40 claims: 6 independent, 34 dependent

  1. 1
    Broadest claimClaim Score 80, broad(NHIP)A method for managing a cache memory area comprising:storing data in a plurality of cache memory blocks, the data being accessible by at least one data accessor;triggering a collector to search the cache memory blocks for a collectable cache memory block;and from the collector, reclaiming the collectable cache memory block for use by the at least one data accessor.
  2. 4
    In a computer, an apparatus for managing a cache memory area, comprising:a plurality of cache memory blocks for storing data, the data being accessible by at least one data accessor;means for triggering a collector to search the cache memory blocks for a collectable cache memory block;and from the collector, means for reclaiming the collectable cache memory block for use by the at least one data accessor.
  3. 13
    An article of manufacture comprising:a computer-readable medium for use in a computer having a memory;a computer-implementable program recorded on the medium to manage a cache memory having a plurality of cache memory blocks, the program comprising instructions for: storing data in a plurality of cache memory blocks, the data being accessible by at least one data accessor;triggering a collector to search the, cache memory blocks for a collectable cache memory block;and from the collector, reclaiming the collectable cache memory block for use by the at least one data accessor.
  4. 14
    In a computer, a method of managing a cache memory area having a plurality of cache memory blocks, comprising:storing data in a first subset of cache memory blocks, the data being accessible by at least one data accessor;storing a list of free cache memory blocks in the computer, the free cache memory blocks being cache memory blocks that are not included in the first subset of cache memory blocks;generating a triggering event, based on the amount of free cache memory blocks;triggering a collector to execute in the computer in response to the triggering event;and from the collector, reclaiming memory blocks from the first subset of cache memory blocks to the list of free cache memory blocks.
  5. 27
    An apparatus for managing a cache memory area having a plurality of cache memory blocks in a computer, comprising:a first subset of cache memory blocks, the data in the shared memory block being accessible by at least one data accessor;a list of free cache memory blocks stored in the computer, the free cache memory blocks being cache memory blocks that are not included in the first subset of cache memory blocks;a triggering event generated based on the amount of free cache memory blocks;and a dedicated collector, separate from the data accessor tasks, executing in the computer, the collector reclaiming cache memory blocks from the first subset of cache memory blocks to the list of free cache memory blocks.
  6. 40
    An article of manufacture comprising:a computer-readable medium for use in a computer having a memory;a computer-implementable program recorded on the medium to manage a cache memory having a plurality of cache memory blocks, the program comprising instructions for: storing data in a first subset of cache memory blocks, the data being accessible by at least one data accessor;storing a list of free cache memory blocks in the computer, the free cache memory blocks being cache memory blocks that are not included in the first subset of cache memory blocks;generating a triggering event in response to satisfying said request;triggering a dedicated collector, separate from the data accessor, to execute in the computer in response to the triggering event;and from the collector, reclaiming cache memory blocks from the first subset of cache memory blocks to the list of free cache memory blocks.