Apparatus and method for filtering unused sub-blocks in cache memories
AssigneeInternational Business Machines Corporation
InventorsPhilip Emma, Allan Hartstein, Thomas Puzak, Moinuddin Khalil Qureshi
Life of this patent
Estimating the term…
Abstract
A memory system and method includes a cache having a filtered portion and an unfiltered portion. The filtered portion is divided into block sized components, and the unfiltered portion is divided into sub-block sized components. Blocks evicted from the filtered portion have selected sub-blocks thereof cached in the unfiltered portion for servicing requests.
Claims33
A memory system, comprising:
- a cache comprising:
- a filtered portion and an unfiltered portion,
- the filtered portion divided into block sized components;
- the unfiltered portion divided into sub-block sized components such that blocks evicted from the filtered portion have selected sub-blocks thereof cached in the unfiltered portion for servicing requests.
A memory system, comprising:
- a cache comprising:
- a filtered portion which stores information in blocks;
- and
- an unfiltered portion, which stores information in sub-blocks;
- transfer logic, which evicts blocks from the unfiltered portion in accordance with a policy such that the blocks evicted from the filtered portion have used sub-blocks thereof cached in the unfiltered portion for servicing requests and unused sub-blocks of the blocks are evicted from the filtered portion.
A method for caching information, comprising the steps of:
- dividing a cache into a filtered portion and an unfiltered portion, the filtered portion including block sized components and the unfiltered portion including sub-block sized components;
- evicting a block from the unfiltered portion in accordance with a policy such that blocks evicted from the filtered portion have selected used sub-blocks thereof cached in the unfiltered portion;
- and
- maintaining the selected used sub-blocks in the filtered portion in accordance with the policy.
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for caching information, the method steps comprising:
- dividing a cache into a filtered portion and an unfiltered portion, the filtered portion including block sized components and the unfiltered portion including sub-block sized components;
- evicting a block from the unfiltered portion in accordance with a policy such that blocks evicted from the filtered portion have selected used sub-blocks thereof cached in the unfiltered portion;
- and
- maintaining the selected used sub-blocks in the filtered portion in accordance with the policy.
A hierarchical cache memory system, comprising:
- a first level cache comprising:
- a filtered portion and an unfiltered portion,
- the filtered portion divided into block sized components and including a usage bit to indicate that selected blocks evicted from the filtered portion have been previously used;
- and
- the unfiltered portion divided into sub-block sized components such that blocks evicted from the filtered portion have selected sub-blocks thereof cached in the unfiltered portion for servicing requests;
- a second level cache comprising a directory for storing a usage pattern based upon usage bits such that if a miss occurs in the level one cache, blocks indicated as used by the usage bits are provided to the level one cache.
Dependencies are inferred from the claim text.