WO2006086123A2 - System having cache memory and method of accessing - Google Patents
System having cache memory and method of accessing Download PDFInfo
- Publication number
- WO2006086123A2 WO2006086123A2 PCT/US2006/001604 US2006001604W WO2006086123A2 WO 2006086123 A2 WO2006086123 A2 WO 2006086123A2 US 2006001604 W US2006001604 W US 2006001604W WO 2006086123 A2 WO2006086123 A2 WO 2006086123A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- data
- location
- read
- victim
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
- G06F12/124—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being minimized, e.g. non MRU
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Definitions
- the present disclosure relates generally to memory systems, and more particularly to systems using cache memories.
- Systems that utilize victim caches operate in cache write mode by transferring a cache line being overwritten in an upper-level cache to a lower-level victim cache for storage.
- requested data is transferred from the victim cache to the higher-level cache in response to the requested data residing in a line of the victim cache, as indicated by a cache hit.
- a write to invalidate the cache line read from the victim cache occurs as part of the read operation. Invalidating the read cache line allows the cache line to be identified by the cache controller as available for subsequent write operations.
- FIG. 1 illustrates, in block diagram form, a system comprising a cache memory in accordance with a specific embodiment of the present disclosure
- FIG.2 illustrates a timing diagram contrasting the present embodiment with previous techniques
- FIG. 3 illustrates, in block diagram form, the effects of a read hit and a write hit on the status of cache lines in a common cache row in accordance with a specific embodiment of the present disclosure
- FIGs. 4-7 illustrate in flow diagram form methods in accordance with the present disclosure.
- a victim cache system is disclosed in accordance with a specific embodiment of the present disclosure.
- a Level 1 (Ll) and Level 2 (L2) cache work together such that the L2 cache is a victim cache that stores data evicted from the Ll cache.
- the cache line being written is identified in the MRU array as the most recently used (MRU) cache line in its cache row.
- MRU most recently used
- a data read to the victim cache results in the cache line being read from the victim cache as being identified in the MRU array as the least recently used (LRU) line in its cache row. Identifying the cache line just read from the cache as being the least recently used line in the row has a similar effect as invalidating the line in the TAG array, in that the most recently read cache line is subject to being overwritten before any other valid line of the cache row.
- row refers to the set of cache lines that is selected based upon an index portion, see A(INDEX) in FIG. 1, of the current address.
- reference numbers 141, 142, and 143 represent cache rows, each having four cache lines.
- FIG. 1 illustrates a System 100 in accordance with a specific embodiment of the present disclosure.
- System 100 includes a Requesting Device 110, a Level 1 Cache 120, and a Level 2 victim Cache 130.
- System 100 can represent a system-on-a-chip (SOC) system or a multi-component system.
- SOC system-on-a-chip
- cache 120 and cache 130 can reside on different semiconductor substrates.
- device 110, and cache 120 are on a common semiconductor substrate, while some or none of cache 130 is manufactured onto a different semiconductor substrate.
- System 100 includes multiple components, they may be interconnected using a printed circuit board, multi-chip module or other substrate capable of supporting and interconnecting the components.
- Requesting Device 110 has a bus port that is electrically connected to a bus port of the Ll Cache 120.
- the Requesting Device 110 can be a central processing unit of a microcontroller.
- the Requesting Device 110 will request that information be read (received) or written (transmitted). Either a read or write access operation can result in data being written to caches 120 and 130.
- Cache Module 120 will provide the data requested by Requesting Device 110 if a hit occurs at Cache Module 120. If a miss occurs at Cache Module 120, i.e. the requested data is not present, the data will be written to Cache Module 120 from either Victim Cache 130 or from a another memory location (not shown) such as system memory. For example, if requested data is not present in either Cache 120 or Cache 130 the data will be received from a different memory location.
- Victim Cache 130 identifies a cache line receiving evicted data as the most recently used cache line in response to its being written.
- the Victim Cache 130 is illustrated to include Memory Array 140, Tag/Valid Bit Array 135, Cache Tag Control Portion 165, Cache Hit Module 155, Most Recently Used (MRU) Control Module 166, MRU Array 170, and Way Select Module Portion 150.
- 10016J bus 125 couples the Ll cache 120 to the Victim cache 130 to provide address information that includes a TAG portion and an INDEX portion from the Ll Cache 120 to the Victim Cache 130. It will be appreciated that additional data and control busses exist, and that only the address bus is illustrated for purposes of discussion.
- Bus 125 that transmits address information used to identify a specific set of cache lines of memory array 135 is labeled A(INDEX) and is connected to Cache Tag Control 165. Address information used to select a specific way of a cache row is labeled A(TAG) and is provided to the Cache Hit Module Portion 155.
- the Memory Array Portion 140 comprises cache rows 141-144, and is illustrated to further comprise four ways, ways 146-149.
- Way Select Module 150 is connected to the Cache Memory Array 140 to receive a signal to select data associated with one of the ways of memory array 140 to be provided to the Ll Cache 120 in response to a hit in the Victim Cache 130.
- the Cache Tag Controller 165 selects one of the cache rows of the Cache Memory Array 140 as well as the TAG and valid bits in Array 135 associated with the row. If in response to receiving a specific address it is determined that the current address TAG, A(TAG), is stored within the Cache Tag/Valid Bit Array 135, signals will be asserted by the Cache Hit Module 155 and provided to the MRU Control 166 and the Way Select module 150, resulting in data being provided from the Victim Cache 130 to the Ll Cache 120 and in an update of the MRU register.
- the MRU Control Module 166 will update the MRU Array 170 to indicate that the line being written is the most recently used line within its row.
- the MRU Control Module 166 will update the MRU Array 170 to indicate that the line being read is the least recently used cache line within its row. By indicating the read line is the least recently used line, when it is actually the most recently accessed, it is assured that the line just read will have the highest likelihood of being overwritten during a subsequent write operation, while maintaining the availability of the recently read data prior to being overwritten. This is beneficial over previous systems that invalidate the victim caches TAG for a line once the cache line data is read, thereby preventing a subsequent data read of the cache line if the original data is subsequently needed from the victim cache, such as if the original read of the cache line had to be aborted.
- FIG. 2 illustrates a timing diagram for a read to a previous victim cache, and a read to the Victim Cache 130 in accordance with the present disclosure.
- Signal 211 represents accesses to TAG/valid bits of the victim cache in a previous system
- signal 212 represents accesses to the MRU indicators of the MRU array of a previous system.
- the TAGs and invalid bits of the selected cache row are read as represented by pulse RD 1 of signal 211.
- the MRU indicators for the accessed row are read and written, as represented by pulses RDl and Wl of signal 212.
- the invalid bit is in the speed path for accessing data stored in the victim cache, and because the TAG/INVALID array 135 is much larger than the MRU array, it is not generally practical to -write back to the invalid bit of the array 135 in the same cycle. Instead, the valid bit is written to indicate the data of a specific line within the cache row is invalidated during a second cycle of the same read operation. The next read of the victim cache cannot occur until the third cycle (C3).
- Signal 213 represents accesses to TAG/valid bits of the TAG in the disclosed system.
- Signal 214 represents accesses to the MRU indicators of the MRU array. Specifically, the TAG and invalid bits of the selected cache row are read during Cl at a time represented by pulse RDl of signal 213. During the same cycle, the MRU indicators for the accessed row are read and written, as represented by signal 214 pulses RDl and Wl . Because the MRU array is written back during CI a second read operation can occur at cycle C2, thereby improving the read bandwidth of the Victim Cache 130.
- FIG. 3 facilitates understanding of the Victim Cache 130 by illustrating how read and write operations to the Victim Cache 130 effect MRU and valid bits of a cache rows.
- FIG. 3 illustrates an array 337 having rows and columns corresponding to the rows and ways of Victim Cache 130 of FIG. 1.
- rows 241-244 correspond to cache rows 141-144
- columns 246-249 correspond to ways 146-149.
- Each cache line of array 337 contains the letter "i" or "v", wherein the letter "i" indicates that data associated with that cache line is invalid and the letter "v” indicates that data associated with that cache line is valid.
- Those lines identified as containing valid data also contain a numeral from 1 to 4 indicating its most recently used status, where a 1 represents data most recently used and a 4 represents data least recently used.
- the path from Line 242 to Line 242 A of FIG. 3 represents a data read of a line associated with row 241, column 249, while path from Line 242 to Line 242B represents a data write of the cache line associated with row 242, column 249.
- the MRU values associated with the cache row of 142 are modified so that the recently read line contains the value 4, and thereby is identified as the least recently used line.
- the MRU values associated with the cache row 142 are modified so that the recently written line contains the value 1, an thereby is identified as the most recently used line.
- each cache line can be associated with a memory location having sufficient size to indicate its current use ranking. For a cache row having four cache lines this would require four two-bit locations.
- a cache row having four cache lines could use a pseudo-ranking scheme using only three bits. In such a scheme there are two non-overlapping sets of cache lines identified, each non-overlapping set representing two of the four cache lines. A first bit of the three bits used to implement the pseudo ranking scheme is asserted to indicate the first set contains the most recently used cache line, and negated to indicate the second set contains the most recently used cache line. The remaining two bits of the pseudo-ranking scheme are asserted or negated to indicate which cache line within a respective set is the most recently accessed. It will be appreciated that this scheme allows identification of the most recently and least recently used cache line with in a row.
- FIG. 4 illustrates, in flow diagram form, a method in accordance with the present embodiment.
- a determination is made as part of a read operation that requested first information is stored at a first cache location, such as a cache line, within the victim cache, Le. a hit.
- step 312 in response to a successful hit at step 311, retrieval of the requested information is facilitated from the first cache location.
- the requested information is selected through the Way Select Module 150 based upon the cache row selected by the Cache Row Select module of the Cache TAG Control 165 and the select signal provided by the Cache Hit Module 155 in response to a successful TAG hit.
- step 313 in response to a successful hit at step 311, the cache location from which the requested information was accessed will be identified as being the least recently used cache location in response to being read. In this manner the data remains accessible, but is subject to being overwritten the next time information needs to be stored at that cache tag location.
- FIG. 5 illustrates yet another embodiment of the present disclosure.
- a first read request for information from a victim cache is provided to a victim cache, wherein the information is to be provided to an upper-level cache.
- a primary request for data is made to the upper-level cache and provided secondarily to the victim cache.
- this secondary request can be made by memory control considered part of the upper-level cache itself, or by memory control considered separate from the upper-level cache.
- the Ll Cache 120 or a memory controller not illustrated, could provide a read request to the L2 Cache 130).
- the first information is received at the first cache from the victim cache.
- the L2 Cache 130 e.g. the victim cache, will provide the data to the Ll Cache 120 once selected.
- an indicator is stored at the victim cache to facilitate overwriting the first information at the victim cache. It will be appreciated that once a read of the information from the L2 victim cache 130 has occurred, that there is a strong presumption the data just read resides within the Ll Cache 120, which requested the information. Therefore an indicator, such as a least recently used indicator, can be applied to the location previously storing the first information to facilitate a subsequent overwriting of the data.
- a second read request for the same information is provided to the L2 cache.
- the information can be received at the first cache from the victim cache, as indicated at step 325 prior to the first information having ever been overwritten by the victim cache. This represents one improvement over the previous methods in that once a victim cache location is read; its data is not invalidated.
- FIG. 6 illustrates, in block diagram form, a method in accordance with the present disclosure.
- a first read request occurs at a first time that is facilitated by an upper-level cache to a victim cache at a first time.
- the upper-level cache facilitates the read request to the victim cache that actual completion of the victim cache read is predicated on whether the requested data resides in the upper level cache.
- a second read request occurs at a second time that is facilitated by the upper-level cache, and that during the duration between the time of the first read and the time of the second read that no modification of a valid indicator occurs. More specifically, the data read by the first read is not invalidated by an intervening write to the TAG/INVALID register.
- FIG. 7 illustrates, in flow diagram form, a method in accordance with a specific embodiment to the present disclosure.
- Step 328 will be executed in response to data being written to a cache location of the victim cache, whereby the cache location is identified as a most recently used cache location.
- Step 329 will be executed in response to data being read from the cache location of the victim cache, whereby the cache location is identified as a least recently used cache location.
- control portions of the victim cache 130 can be formed on a common substrate with the Ll Cache 120 and Requesting Device separate from the memory array 135.
- the valid bits associated with each cache line can be stored as part of the control portions or as part of the memory array 135.
- data stored within the described cache areas can be instruction- type data or data-type data, i.e. non-instruction data.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE112006000341T DE112006000341T5 (en) | 2005-02-07 | 2006-01-17 | System with a cache memory and method for accessing |
| GB0716977A GB2439851A (en) | 2005-02-07 | 2006-01-17 | System having cache memory and method of accessing |
| JP2007554110A JP2008530657A (en) | 2005-02-07 | 2006-01-17 | System with cache memory and access method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/052,650 | 2005-02-07 | ||
| US11/052,650 US20060179231A1 (en) | 2005-02-07 | 2005-02-07 | System having cache memory and method of accessing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2006086123A2 true WO2006086123A2 (en) | 2006-08-17 |
| WO2006086123A3 WO2006086123A3 (en) | 2007-01-11 |
Family
ID=36463365
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2006/001604 Ceased WO2006086123A2 (en) | 2005-02-07 | 2006-01-17 | System having cache memory and method of accessing |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US20060179231A1 (en) |
| JP (1) | JP2008530657A (en) |
| KR (1) | KR20070104906A (en) |
| CN (1) | CN101116063A (en) |
| DE (1) | DE112006000341T5 (en) |
| GB (1) | GB2439851A (en) |
| TW (1) | TW200636481A (en) |
| WO (1) | WO2006086123A2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024174950A (en) * | 2019-05-24 | 2024-12-17 | 日本テキサス・インスツルメンツ合同会社 | Method and apparatus for facilitating write miss caching in a cache system - Patents.com |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8279886B2 (en) * | 2004-12-30 | 2012-10-02 | Intel Corporation | Dataport and methods thereof |
| US20070094450A1 (en) * | 2005-10-26 | 2007-04-26 | International Business Machines Corporation | Multi-level cache architecture having a selective victim cache |
| US7506119B2 (en) * | 2006-05-04 | 2009-03-17 | International Business Machines Corporation | Complier assisted victim cache bypassing |
| US7921260B2 (en) * | 2007-10-24 | 2011-04-05 | International Business Machines Corporation | Preferred write-mostly data cache replacement policies |
| US8966181B2 (en) * | 2008-12-11 | 2015-02-24 | Seagate Technology Llc | Memory hierarchy with non-volatile filter and victim caches |
| US9465745B2 (en) | 2010-04-09 | 2016-10-11 | Seagate Technology, Llc | Managing access commands by multiple level caching |
| TW201220048A (en) * | 2010-11-05 | 2012-05-16 | Realtek Semiconductor Corp | for enhancing access efficiency of cache memory |
| US10592416B2 (en) * | 2011-09-30 | 2020-03-17 | Oracle International Corporation | Write-back storage cache based on fast persistent memory |
| KR101862785B1 (en) * | 2011-10-17 | 2018-07-06 | 삼성전자주식회사 | Cache memory system for tile based rendering and caching method thereof |
| US9811875B2 (en) * | 2014-09-10 | 2017-11-07 | Apple Inc. | Texture state cache |
| CN107291630B (en) * | 2016-03-30 | 2020-08-25 | 华为技术有限公司 | Cache memory processing method and device |
Family Cites Families (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4181937A (en) * | 1976-11-10 | 1980-01-01 | Fujitsu Limited | Data processing system having an intermediate buffer memory |
| US4513367A (en) * | 1981-03-23 | 1985-04-23 | International Business Machines Corporation | Cache locking controls in a multiprocessor |
| US4464712A (en) * | 1981-07-06 | 1984-08-07 | International Business Machines Corporation | Second level cache replacement method and apparatus |
| US4458310A (en) * | 1981-10-02 | 1984-07-03 | At&T Bell Laboratories | Cache memory using a lowest priority replacement circuit |
| US4928239A (en) * | 1986-06-27 | 1990-05-22 | Hewlett-Packard Company | Cache memory with variable fetch and replacement schemes |
| US5261066A (en) * | 1990-03-27 | 1993-11-09 | Digital Equipment Corporation | Data processing system and method with small fully-associative cache and prefetch buffers |
| JP2822588B2 (en) * | 1990-04-30 | 1998-11-11 | 日本電気株式会社 | Cache memory device |
| JPH06110781A (en) * | 1992-09-30 | 1994-04-22 | Nec Corp | Cache memory device |
| US5539893A (en) * | 1993-11-16 | 1996-07-23 | Unisys Corporation | Multi-level memory and methods for allocating data most likely to be used to the fastest memory level |
| US5623627A (en) * | 1993-12-09 | 1997-04-22 | Advanced Micro Devices, Inc. | Computer memory architecture including a replacement cache |
| US5870599A (en) * | 1994-03-01 | 1999-02-09 | Intel Corporation | Computer system employing streaming buffer for instruction preetching |
| US5687338A (en) * | 1994-03-01 | 1997-11-11 | Intel Corporation | Method and apparatus for maintaining a macro instruction for refetching in a pipelined processor |
| US5809271A (en) * | 1994-03-01 | 1998-09-15 | Intel Corporation | Method and apparatus for changing flow of control in a processor |
| US5752274A (en) * | 1994-11-08 | 1998-05-12 | Cyrix Corporation | Address translation unit employing a victim TLB |
| US5729713A (en) * | 1995-03-27 | 1998-03-17 | Texas Instruments Incorporated | Data processing with first level cache bypassing after a data transfer becomes excessively long |
| US5696947A (en) * | 1995-11-20 | 1997-12-09 | International Business Machines Corporation | Two dimensional frame buffer memory interface system and method of operation thereof |
| US5778430A (en) * | 1996-04-19 | 1998-07-07 | Eccs, Inc. | Method and apparatus for computer disk cache management |
| US6151662A (en) * | 1997-12-02 | 2000-11-21 | Advanced Micro Devices, Inc. | Data transaction typing for improved caching and prefetching characteristics |
| US6078992A (en) * | 1997-12-05 | 2000-06-20 | Intel Corporation | Dirty line cache |
| US6216206B1 (en) * | 1997-12-16 | 2001-04-10 | Intel Corporation | Trace victim cache |
| US6105111A (en) * | 1998-03-31 | 2000-08-15 | Intel Corporation | Method and apparatus for providing a cache management technique |
| US6591347B2 (en) * | 1998-10-09 | 2003-07-08 | National Semiconductor Corporation | Dynamic replacement technique in a shared cache |
| US6370622B1 (en) * | 1998-11-20 | 2002-04-09 | Massachusetts Institute Of Technology | Method and apparatus for curious and column caching |
| US6397296B1 (en) * | 1999-02-19 | 2002-05-28 | Hitachi Ltd. | Two-level instruction cache for embedded processors |
| US6349365B1 (en) * | 1999-10-08 | 2002-02-19 | Advanced Micro Devices, Inc. | User-prioritized cache replacement |
| US6385695B1 (en) * | 1999-11-09 | 2002-05-07 | International Business Machines Corporation | Method and system for maintaining allocation information on data castout from an upper level cache |
| US6370618B1 (en) * | 1999-11-09 | 2002-04-09 | International Business Machines Corporation | Method and system for allocating lower level cache entries for data castout from an upper level cache |
| CA2312444A1 (en) * | 2000-06-20 | 2001-12-20 | Ibm Canada Limited-Ibm Canada Limitee | Memory management of data buffers incorporating hierarchical victim selection |
| US6889291B1 (en) * | 2000-06-30 | 2005-05-03 | Intel Corporation | Method and apparatus for cache replacement for a multiple variable-way associative cache |
| US6728835B1 (en) * | 2000-08-30 | 2004-04-27 | Unisys Corporation | Leaky cache mechanism |
| US6845432B2 (en) * | 2000-12-28 | 2005-01-18 | Intel Corporation | Low power cache architecture |
| US6725337B1 (en) * | 2001-05-16 | 2004-04-20 | Advanced Micro Devices, Inc. | Method and system for speculatively invalidating lines in a cache |
| US6801982B2 (en) * | 2002-01-24 | 2004-10-05 | International Business Machines Corporation | Read prediction algorithm to provide low latency reads with SDRAM cache |
| US6901477B2 (en) * | 2002-04-01 | 2005-05-31 | Emc Corporation | Provision of a victim cache within a storage cache hierarchy |
| US7103722B2 (en) * | 2002-07-22 | 2006-09-05 | International Business Machines Corporation | Cache configuration for compressed memory systems |
| US6961821B2 (en) * | 2002-10-16 | 2005-11-01 | International Business Machines Corporation | Reconfigurable cache controller for nonuniform memory access computer systems |
| US6996676B2 (en) * | 2002-11-14 | 2006-02-07 | International Business Machines Corporation | System and method for implementing an adaptive replacement cache policy |
| US7103721B2 (en) * | 2003-04-28 | 2006-09-05 | International Business Machines Corporation | Cache allocation mechanism for biasing subsequent allocations based upon cache directory state |
| US20040268099A1 (en) * | 2003-06-30 | 2004-12-30 | Smith Peter J | Look ahead LRU array update scheme to minimize clobber in sequentially accessed memory |
| US7028144B2 (en) * | 2003-10-28 | 2006-04-11 | Intel Corporation | Method and apparatus for an in-situ victim cache |
| US20050188158A1 (en) * | 2004-02-25 | 2005-08-25 | Schubert Richard P. | Cache memory with improved replacement policy |
-
2005
- 2005-02-07 US US11/052,650 patent/US20060179231A1/en not_active Abandoned
-
2006
- 2006-01-17 JP JP2007554110A patent/JP2008530657A/en not_active Withdrawn
- 2006-01-17 CN CNA2006800042239A patent/CN101116063A/en active Pending
- 2006-01-17 DE DE112006000341T patent/DE112006000341T5/en not_active Ceased
- 2006-01-17 KR KR1020077018173A patent/KR20070104906A/en not_active Withdrawn
- 2006-01-17 WO PCT/US2006/001604 patent/WO2006086123A2/en not_active Ceased
- 2006-01-17 GB GB0716977A patent/GB2439851A/en not_active Withdrawn
- 2006-01-27 TW TW095103406A patent/TW200636481A/en unknown
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024174950A (en) * | 2019-05-24 | 2024-12-17 | 日本テキサス・インスツルメンツ合同会社 | Method and apparatus for facilitating write miss caching in a cache system - Patents.com |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008530657A (en) | 2008-08-07 |
| WO2006086123A3 (en) | 2007-01-11 |
| US20060179231A1 (en) | 2006-08-10 |
| CN101116063A (en) | 2008-01-30 |
| KR20070104906A (en) | 2007-10-29 |
| GB0716977D0 (en) | 2007-10-10 |
| DE112006000341T5 (en) | 2007-12-20 |
| TW200636481A (en) | 2006-10-16 |
| GB2439851A (en) | 2008-01-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109582214B (en) | Data access method and computer system | |
| KR101554294B1 (en) | Detection of speculative precharge | |
| US5410669A (en) | Data processor having a cache memory capable of being used as a linear ram bank | |
| EP0407119B1 (en) | Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access | |
| CN101772759B (en) | Cache locking device and method thereof | |
| CN101361049B (en) | Patrol snooping for advanced cache eviction candidate object identification | |
| US4996641A (en) | Diagnostic mode for a cache | |
| US5553023A (en) | Memory partitioning | |
| KR960008546A (en) | 2-way set associative cache memory | |
| US6219765B1 (en) | Memory paging control apparatus | |
| EP3876103B1 (en) | Data processing sytem having a shared cache | |
| JPH04501027A (en) | Multi-processing system with cache memory | |
| US20060179231A1 (en) | System having cache memory and method of accessing | |
| US5497458A (en) | Cache testability circuit for embedded diagnostics | |
| US6363460B1 (en) | Memory paging control method | |
| US6000017A (en) | Hybrid tag architecture for a cache memory | |
| CN117873917A (en) | Cache system, access request processing method, chip and electronic equipment | |
| US20100223414A1 (en) | Data transfer coherency device and methods thereof | |
| US6446169B1 (en) | SRAM with tag and data arrays for private external microprocessor bus | |
| EP0535701A1 (en) | Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM) | |
| US20030140195A1 (en) | Read prediction algorithm to provide low latency reads with SDRAM cache | |
| US5752262A (en) | System and method for enabling and disabling writeback cache | |
| US20010034808A1 (en) | Cache memory device and information processing system | |
| US7392346B2 (en) | Memory updater using a control array to defer memory operations | |
| US8949545B2 (en) | Memory interface device and methods thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200680004223.9 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 2007554110 Country of ref document: JP Ref document number: 1020077018173 Country of ref document: KR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1120060003410 Country of ref document: DE |
|
| ENP | Entry into the national phase |
Ref document number: 0716977 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20060117 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 0716977.4 Country of ref document: GB |
|
| RET | De translation (de og part 6b) |
Ref document number: 112006000341 Country of ref document: DE Date of ref document: 20071220 Kind code of ref document: P |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 06718652 Country of ref document: EP Kind code of ref document: A2 |
|
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8607 |