Apparatus and method for filtering unused sub-blocks in cache memories

a cache memory and sub-block technology, applied in the field of data processing and efficient use of cache space systems, can solve the problems of reducing cache efficiency, consuming cache space without contributing to cache hits, and affecting system performan

Inactive Publication Date: 2008-09-04
EMMA PHILIP GEORGE +3
View PDF12 Cites 17 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0018]According to one embodiment of the present invention, a cache is described that is divided into two parts: an unfiltered portion and a filtered portion. In the unfiltered-cache, an entire block (line of memory) is fetched into the cache whenever a miss occurs. By fetching the entire block, the cache captures the spatial referencing patterns of an application, thus avoiding misses by prefetching nearby accesses.
[0019]While a block resides in the unfiltered cache, the sub-blocks referenced by the application are recorded. As each block ages out of the unfiltered-cache, (by nature of the replacement algorithm, typically least recently used (LRU)) the used sub-blocks are copied into the filtered cache. In the filtered-cache, the granularity of data stored is a sub-block. Note that the only information copied into the filtered cache may be the sub-blocks referenced from the entire block. This permits all unused (un-referenced) sub-blocks to be discarded and thus avoids (reduces) cache pollution in the filtered cache.
[0023]The present invention reduces the number of misses by reducing the number of unused sub-blocks in cache. The cache may be split into two parts: an unfiltered-cache and a filtered-cache. The granularity of data fetched into the unfiltered-cache (for a miss) is a block and the unit of line stored in the filtered-part is a sub-block. On a cache miss, the incoming block is installed in unfiltered cache. The block resides in the unfiltered cache until it is evicted to create space for some other incoming block. The referenced sub-blocks of this block are then transferred to the filtered-cache and the unused sub-blocks are discarded.
[0024]In this manner, the unused sub-blocks are limited to the unfiltered cache and the filtered-cache includes used sub-blocks. The number of sub-block transferred can be dynamically calculated based on the average number of sub-blocks referenced for an application. Filtering of unused sub-blocks results in better utilization of cache space and increases cache hit ratio.

Problems solved by technology

These unused sub-blocks consume cache space without contributing to cache hits.
This reduces cache efficiency and degrades system performance.
This increases the probability of a cache hit.
However, not all of the data in a large line gets referenced by the processor and cache pollution will result.
Additionally, large lines require more bus cycles to transfer a line into the cache than a smaller line.
This can result in bus queueing during periods of high miss rates.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Apparatus and method for filtering  unused sub-blocks in cache memories
  • Apparatus and method for filtering  unused sub-blocks in cache memories
  • Apparatus and method for filtering  unused sub-blocks in cache memories

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0039]Cache memories exploit spatial locality by fetching and storing more data than is needed for satisfying a single cache access. This unit of storage is called a block. When there is low spatial locality, a block includes sub-blocks that are never accessed. These unused sub-blocks consume cache space without contributing to cache hits.

[0040]The present invention provides a mechanism that filters out unused sub-blocks by splitting the cache space into two parts. The first part (unfiltered cache) is organized to hold blocks, while the second part (filtered cache) holds sub-blocks. Both caches are accessed simultaneously and a cache request can be satisfied from either part.

[0041]On a cache miss, an incoming block is installed in the unfiltered cache. The block resides in the unfiltered cache until a replacement engine evicts the block from the cache. The used sub-blocks of this block are then transferred to the filtered-cache and the unused sub-blocks are discarded. Several algori...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A memory system and method includes a cache having a filtered portion and an unfiltered portion. The unfiltered portion is divided into block sized components, and the filtered portion is divided into sub-block sized components. Blocks evicted from the unfiltered portion have selected sub-blocks thereof cached in the filtered portion for servicing requests.

Description

RELATED APPLICATION INFORMATION[0001]This application is a Continuation application of allowed U.S. patent application Ser. No. 10 / 955,780 filed on Sep. 30, 2004, pending, incorporated herein by reference in its entirety.BACKGROUND OF THE INVENTION[0002]1. Field of the Invention[0003]The present invention relates to data processing and efficient use of cache space systems, and more particularly to systems where each processor has at least one level of cache memory.[0004]2. Description of the Related Art[0005]Caches hierarchies are used in data processing systems to reduce the latency and bandwidth in accessing memory. Caches are effective because of the temporal and spatial locality that exists in the memory reference streams. Caches exploit temporal locality by keeping a local copy of recently accessed data. Caches exploit spatial locality by fetching and storing more data than is required to service a single cache access. This unit of storage stored in the cache is called a block ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & AuthorityApplications(United States)
IPC IPC(8): G06F12/08
CPCG06F12/0848G06F12/127G06F12/0886G06F12/0897
InventorEMMA, PHILIP GEORGEHARTSTEIN, ALLAN MARKPUZAK, THOMAS ROBERTSQURESHI, MOINUDDIN KHALIL AHMED
OwnerEMMA PHILIP GEORGE