Method and apparatus for providing shared caches

US9256536B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9256536-B2
Application numberUS-201313873972-A
CountryUS
Kind codeB2
Filing dateApr 30, 2013
Priority dateJun 26, 2012
Publication dateFeb 9, 2016
Grant dateFeb 9, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and apparatus for providing shared caches. A cache memory system may be operated in a first mode or a second mode. When the cache memory system is operated in the first mode, a first cache and a second cache of the cache memory system may be operated independently. When the cache memory system is operated in the second mode, the first cache and the second cache may be shared. In the second mode, at least one bit may overlap tag bits and set index bits among bits of a memory address.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of providing data of a memory address, comprising: determining whether the data is present in a first cache or a second cache of a cache memory system; reading the data from the first cache or the second cache in response to the data being determined to be present in the first cache or the second cache, respectively; in response to the cache memory system being operated in a first mode, using the first cache and the second cache independently; in response to the cache memory system being operated in a second mode, sharing the first cache and the second cache; and in response to the cache memory system alternating from the first mode to the second mode, maintaining a number of tag bits to be consistant and increasing a number of set index bits by one, wherein bits representing the memory address comprise at least one bit overlapping between the tag bits and the set index bits, and tag data is a fixed size. 2. The method of claim 1 , wherein the set index bits designate a location in the first cache and a location in the second cache, and the tag bits are compared with a tag corresponding to the designated location in the first cache or a tag corresponding to the designated location in the second cache to determine whether the data of the memory address is present in the first cache or the second cache. 3. The method of claim 2 , further comprising: writing data received from an external memory in a selected cache among the first cache and the second cache when the data is determined to be absent from both the first cache and the second cache, wherein the selected cache is determined based on at least one bit of the set index bits. 4. A cache memory system comprising: a first cache; and a second cache, wherein; the cache memory system is operated in a mode selected in an alternating manner among a first mode and a second mode, in response to the cache memory system being operated in the first mode, the first cache and the second cache are used independently, in response to the cache memory system being operated in the second mode, the first cache and the second cache are shared, and in response to the cache memory system alternating from the first mode to the second mode, a number of the tag bits is maintained to be constant and a number of set index bits is increased by one. 5. The cache memory system of claim 4 , wherein in the first mode, the first cache and the second cache are used independently to provide data cached for a first memory address and data cached for a second memory address respectively, and wherein in the second mode, the first cache and the second cache are shared to provide data cached for a third memory address. 6. The system of claim 5 , wherein first tag bits and first set index bits among bits representing the first memory address do not overlap one another, the first set index bits designate a first location in the first cache, the first tag bits are compared with a tag corresponding to the first location of the first cache to determine whether data of the first memory address is present in the first cache, second tag bits and second set index bits among bits representing the second memory address do not overlap one another, the second set index bits designate a second location in the second cache, and the second tag bits are compared with a tag corresponding to the second location of the second cache to determine whether data of the second memory address is present in the second cache. 7. The system of claim 5 , wherein at least one bit overlaps between third tag bits and third set index bits among bits representing the third memory address, the third set index bits designate a third location in the first cache and a fourth location in the second cache, and the third tag bits are compared with a tag corresponding to the third location in the first cache or a tag corresponding to the fourth location in the second cache to determine whether data of the third memory address is present in the first cache or the second cache. 8. The system of claim 5 , wherein the cache memory system provides texel data for trilinear filtering in the first mode and texel data for bilinear filtering in the second mode. 9. The system of claim 8 , wherein the first cache provides texel data of a first texture image in the first mode, the second cache provides texel data of a second texture image in the first mode, and the first texture image and the second texture image correspond to different levels of texture images in a mipmap. 10. The system of claim 4 , wherein at least one bit overlapping between the third tag bits and the third set index bits is used to select one of the first cache and the second cache in the second mode. 11. The system of claim 4 , wherein data stored in the first cache or the second cache continues to be used when the cache memory system shifts from the first mode to the second mode or from the second mode to the first mode. 12. The system of claim 4 , wherein first set index bits designate a first location in the first cache, and in response to a value of the first set index bits being n 1 , a number of the first set index bits is determined by log 2 K, wherein n 1 is an integer of 1 or more and k is an integer between 0 and K−1, K being equal to a number of cache lines. 13. A method of providing data in a cache memory system comprising a first cache and a second cache, the method comprising: operating the cache memory system in a first mode; operating the cache memory system in a second mode; and in response to the cache memory system alternating from the first mode to the second mode, maintaining a number of tag bits to be constant and increasing a number of set index bits by one, wherein the cache memory system is operated in a mode selected in an alternating manner among the first mode and the second mode, such that in the first mode, the first cache and the second cache are used independently, and in the second mode, the first cache and the second cache are shared. 14. The method of claim 13 , wherein in the first mode, the first cache and the second cache are used independently to provide data cached for a first memory address and data cached for a second memory address respectively, and in the second mode, the first cache and the second cache are shared to provide data cached for a third memory address. 15. The method of claim 14 , wherein first tag bits and first set index bits among bits representing the first memory address do not overlap one another, the first set index bits designate a first location in the first cache, the first tag bits are compared with a tag corresponding to the first location of the first cache to determine whether data of the first memory address is present in the first cache, second tag bits and second set index bits among bits representing the second memory address do not overlap one another, the second set index bits designate a second location in the second cache, and the second tag bits are compared with a tag corresponding to the second location of the second cache to determine whether data of the second memory address is present in the second cache. 16. The method of claim 14 , wherein at least one bit overlaps between third tag bits and third set index bits among bits representing the third memory address, the third set index bits designate a third location in the first cache and a fourth location in the second cache, and the third tag bits are compared with a tag corresponding to the third location in the first cache or a tag corresponding to

Assignees

Inventors

Classifications

  • Reconfiguration of cache memory · CPC title

  • Cache with multiple tag or data arrays being simultaneously accessible · CPC title

  • Image or video data · CPC title

  • Overlapped cache accessing, e.g. pipeline (G06F12/0846 takes precedence) · CPC title

  • with multilevel cache hierarchies · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9256536B2 cover?
A method and apparatus for providing shared caches. A cache memory system may be operated in a first mode or a second mode. When the cache memory system is operated in the first mode, a first cache and a second cache of the cache memory system may be operated independently. When the cache memory system is operated in the second mode, the first cache and the second cache may be shared. In the se…
Who is the assignee on this patent?
Samsung Electronics Co Ltd, Univ Sejong Ind Acad Coop Gr
What technology area does this patent fall under?
Primary CPC classification G06F12/0846. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 09 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).