WO2004029812A3 - Computer system with processor cache that stores remote cache presence information - Google Patents

Computer system with processor cache that stores remote cache presence information Download PDF

Info

Publication number
WO2004029812A3
WO2004029812A3 PCT/US2003/031020 US0331020W WO2004029812A3 WO 2004029812 A3 WO2004029812 A3 WO 2004029812A3 US 0331020 W US0331020 W US 0331020W WO 2004029812 A3 WO2004029812 A3 WO 2004029812A3
Authority
WO
WIPO (PCT)
Prior art keywords
cache
memory subsystem
processor
cache memory
computer system
Prior art date
Application number
PCT/US2003/031020
Other languages
French (fr)
Other versions
WO2004029812A2 (en
Inventor
Patrick Conway
Frederick D Weber
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to EP03798809A priority Critical patent/EP1543427A2/en
Priority to JP2004540309A priority patent/JP4230998B2/en
Priority to AU2003277175A priority patent/AU2003277175A1/en
Publication of WO2004029812A2 publication Critical patent/WO2004029812A2/en
Publication of WO2004029812A3 publication Critical patent/WO2004029812A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/082Associative directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A computer system with a processor cache that stores remote cache presence information. In one embodiment, a plurality of presence vectors are stored to indicate whether particular blocks of data mapped to another node are being remotely cached. Rather than storing the presence vectors in a dedicated storage, the remote cache presence vectors may be stored in designated locations of a cache memory subsystem (52), such as an L2 cache, associated with a processor core (50). For example, a designated way of the cache memory subsystem may be allocated for storing remote cache presence vectors, while the remaining ways of the cache are used to store normal processor data. New data blocks may be remotely cached in response to evictions from the cache memory subsystem. In yet a further embodiment, additional entries of the cache memory subsystem may be used for storing directory entries to filter probe command and response traffic.
PCT/US2003/031020 2002-09-27 2003-09-18 Computer system with processor cache that stores remote cache presence information WO2004029812A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP03798809A EP1543427A2 (en) 2002-09-27 2003-09-18 Computer system with processor cache that stores remote cache presence information
JP2004540309A JP4230998B2 (en) 2002-09-27 2003-09-18 Computer system with processor cache for recording remote cache presence information
AU2003277175A AU2003277175A1 (en) 2002-09-27 2003-09-18 Computer system with processor cache that stores remote cache presence information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/256,970 2002-09-27
US10/256,970 US7096323B1 (en) 2002-09-27 2002-09-27 Computer system with processor cache that stores remote cache presence information

Publications (2)

Publication Number Publication Date
WO2004029812A2 WO2004029812A2 (en) 2004-04-08
WO2004029812A3 true WO2004029812A3 (en) 2004-10-07

Family

ID=32041784

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/031020 WO2004029812A2 (en) 2002-09-27 2003-09-18 Computer system with processor cache that stores remote cache presence information

Country Status (8)

Country Link
US (1) US7096323B1 (en)
EP (1) EP1543427A2 (en)
JP (1) JP4230998B2 (en)
KR (1) KR100970229B1 (en)
CN (1) CN100373353C (en)
AU (1) AU2003277175A1 (en)
TW (1) TWI304930B (en)
WO (1) WO2004029812A2 (en)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI251337B (en) * 2003-12-29 2006-03-11 Powerchip Semiconductor Corp Non-volatile memory cell and manufacturing method thereof
US7373466B1 (en) 2004-04-07 2008-05-13 Advanced Micro Devices, Inc. Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer
JP4214941B2 (en) * 2004-04-09 2009-01-28 日本電気株式会社 Presence information providing system, method and server
US7200718B2 (en) * 2004-04-26 2007-04-03 Broadband Royalty Corporation Cache memory for a scalable information distribution system
US20060143384A1 (en) * 2004-12-27 2006-06-29 Hughes Christopher J System and method for non-uniform cache in a multi-core processor
US7788240B2 (en) * 2004-12-29 2010-08-31 Sap Ag Hash mapping with secondary table having linear probing
US7415030B2 (en) * 2005-02-10 2008-08-19 International Business Machines Corporation Data processing system, method and interconnect fabric having an address-based launch governor
US7454578B2 (en) * 2005-02-10 2008-11-18 International Business Machines Corporation Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a location of a memory
US7366844B2 (en) * 2005-02-10 2008-04-29 International Business Machines Corporation Data processing system and method for handling castout collisions
US7467323B2 (en) * 2005-02-10 2008-12-16 International Business Machines Corporation Data processing system and method for efficient storage of metadata in a system memory
US7474658B2 (en) 2005-02-10 2009-01-06 International Business Machines Corporation Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope
US7584329B2 (en) * 2005-02-10 2009-09-01 International Business Machines Corporation Data processing system and method for efficient communication utilizing an Ig coherency state
US8230178B2 (en) * 2005-02-10 2012-07-24 International Business Machines Corporation Data processing system and method for efficient coherency communication utilizing coherency domain indicators
US7389388B2 (en) * 2005-02-10 2008-06-17 International Business Machines Corporation Data processing system and method for efficient communication utilizing an in coherency state
US7454577B2 (en) * 2005-02-10 2008-11-18 International Business Machines Corporation Data processing system and method for efficient communication utilizing an Tn and Ten coherency states
US8214600B2 (en) 2005-02-10 2012-07-03 International Business Machines Corporation Data processing system and method for efficient coherency communication utilizing coherency domains
US8140770B2 (en) * 2005-02-10 2012-03-20 International Business Machines Corporation Data processing system and method for predictively selecting a scope of broadcast of an operation
US7536513B2 (en) 2005-03-31 2009-05-19 International Business Machines Corporation Data processing system, cache system and method for issuing a request on an interconnect fabric without reference to a lower level cache based upon a tagged cache state
US7237070B2 (en) * 2005-04-19 2007-06-26 International Business Machines Corporation Cache memory, processing unit, data processing system and method for assuming a selected invalid coherency state based upon a request source
US7444494B2 (en) * 2005-05-31 2008-10-28 International Business Machines Corporation Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a history-based prediction
US20070005899A1 (en) * 2005-06-30 2007-01-04 Sistla Krishnakanth V Processing multicore evictions in a CMP multiprocessor
US7380102B2 (en) * 2005-09-27 2008-05-27 International Business Machines Corporation Communication link control among inter-coupled multiple processing units in a node to respective units in another node for request broadcasting and combined response
US7818388B2 (en) * 2005-10-07 2010-10-19 International Business Machines Corporation Data processing system, method and interconnect fabric supporting multiple planes of processing nodes
US7526614B2 (en) * 2005-11-30 2009-04-28 Red Hat, Inc. Method for tuning a cache
US7386673B2 (en) * 2005-11-30 2008-06-10 Red Hat, Inc. Method for tracking of non-resident pages
US7606981B2 (en) * 2005-12-19 2009-10-20 Intel Corporation System and method for reducing store latency
US7404045B2 (en) * 2005-12-30 2008-07-22 International Business Machines Corporation Directory-based data transfer protocol for multiprocessor system
US7512742B2 (en) 2006-01-17 2009-03-31 International Business Machines Corporation Data processing system, cache system and method for precisely forming an invalid coherency state indicating a broadcast scope
US7882307B1 (en) * 2006-04-14 2011-02-01 Tilera Corporation Managing cache memory in a parallel processing environment
US8495308B2 (en) * 2006-10-09 2013-07-23 International Business Machines Corporation Processor, data processing system and method supporting a shared global coherency state
JP2008118184A (en) 2006-10-31 2008-05-22 Fujitsu Ltd Processing apparatus and processing module
US8205024B2 (en) * 2006-11-16 2012-06-19 International Business Machines Corporation Protecting ownership transfer with non-uniform protection windows
US7890704B2 (en) * 2006-12-19 2011-02-15 International Business Machines Corporation Implementing an enhanced hover state with active prefetches
US7669011B2 (en) * 2006-12-21 2010-02-23 Advanced Micro Devices, Inc. Method and apparatus for detecting and tracking private pages in a shared memory multiprocessor
CN100498740C (en) * 2007-09-11 2009-06-10 腾讯科技(深圳)有限公司 Data cache processing method, system and data cache device
JP2009223759A (en) * 2008-03-18 2009-10-01 Fujitsu Ltd Information processing device, memory control method, and memory control device
US8223650B2 (en) * 2008-04-02 2012-07-17 Intel Corporation Express virtual channels in a packet switched on-chip interconnection network
US8185695B2 (en) * 2008-06-30 2012-05-22 Advanced Micro Devices, Inc. Snoop filtering mechanism
US8364898B2 (en) * 2009-01-23 2013-01-29 International Business Machines Corporation Optimizing a cache back invalidation policy
US8868847B2 (en) * 2009-03-11 2014-10-21 Apple Inc. Multi-core processor snoop filtering
US20100332762A1 (en) * 2009-06-30 2010-12-30 Moga Adrian C Directory cache allocation based on snoop response information
US8886885B2 (en) * 2009-11-13 2014-11-11 Marvell World Trade Ltd. Systems and methods for operating a plurality of flash modules in a flash memory file system
KR101077370B1 (en) 2010-07-09 2011-10-26 삼성전기주식회사 Touch screen
US8392665B2 (en) 2010-09-25 2013-03-05 Intel Corporation Allocation and write policy for a glueless area-efficient directory cache for hotly contested cache lines
US20120151232A1 (en) * 2010-12-12 2012-06-14 Fish Iii Russell Hamilton CPU in Memory Cache Architecture
US9785554B2 (en) 2014-05-30 2017-10-10 International Business Machines Corporation Synchronizing updates of page table status indicators in a multiprocessing environment
US9384133B2 (en) 2014-05-30 2016-07-05 International Business Machines Corporation Synchronizing updates of page table status indicators and performing bulk operations
JP6218971B2 (en) 2014-12-14 2017-10-25 ヴィア アライアンス セミコンダクター カンパニー リミテッド Dynamic cache replacement way selection based on address tag bits
JP6207765B2 (en) 2014-12-14 2017-10-04 ヴィア アライアンス セミコンダクター カンパニー リミテッド Multi-mode set-associative cache memory dynamically configurable to selectively select one or more of the sets depending on the mode
JP6209689B2 (en) 2014-12-14 2017-10-04 ヴィア アライアンス セミコンダクター カンパニー リミテッド Multi-mode set-associative cache memory dynamically configurable to selectively allocate to all or a subset of ways depending on the mode
EP3321809B1 (en) * 2015-08-21 2020-08-12 Huawei Technologies Co., Ltd. Memory access method, apparatus and system
CN106649149A (en) * 2015-10-28 2017-05-10 福州瑞芯微电子股份有限公司 Memory management system and method capable of realizing address mapping
US11138178B2 (en) * 2016-11-10 2021-10-05 Futurewei Technologies, Inc. Separation of computation from storage in database for better elasticity
US10073783B2 (en) 2016-11-23 2018-09-11 Advanced Micro Devices, Inc. Dual mode local data store
US10761986B2 (en) 2018-10-23 2020-09-01 Advanced Micro Devices, Inc. Redirecting data to improve page locality in a scalable data fabric
US11914517B2 (en) 2020-09-25 2024-02-27 Advanced Micro Devices, Inc. Method and apparatus for monitoring memory access traffic
US11928472B2 (en) 2020-09-26 2024-03-12 Intel Corporation Branch prefetch mechanisms for mitigating frontend branch resteers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410669A (en) * 1993-04-05 1995-04-25 Motorola, Inc. Data processor having a cache memory capable of being used as a linear ram bank
EP0908825A1 (en) * 1997-10-10 1999-04-14 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory
US20020087778A1 (en) * 2000-12-29 2002-07-04 Schoinas Ioannis T. Storing directory information for non uniform memory architecture systems using processor cache

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905141A (en) 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5197146A (en) * 1989-06-21 1993-03-23 Hewlett-Packard Company Method for maintaining cache coherence in a multiprocessor computer system
US5875464A (en) 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
IN188196B (en) 1995-05-15 2002-08-31 Silicon Graphics Inc
US6279078B1 (en) 1996-06-28 2001-08-21 Compaq Computer Corporation Apparatus and method for synchronizing a cache mode in a dual controller, dual cache memory system operating in a plurality of cache modes
US5873117A (en) 1996-07-01 1999-02-16 Sun Microsystems, Inc. Method and apparatus for a directory-less memory access protocol in a distributed shared memory computer system
US5864671A (en) 1996-07-01 1999-01-26 Sun Microsystems, Inc. Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used
US5802600A (en) * 1996-11-12 1998-09-01 International Business Machines Corporation Method and apparatus for determining a desirable directory/data block ratio in a cache memory
US6041376A (en) 1997-04-24 2000-03-21 Sequent Computer Systems, Inc. Distributed shared memory system having a first node that prevents other nodes from accessing requested data until a processor on the first node controls the requested data
FR2764097B1 (en) * 1997-06-02 1999-07-02 Bull Sa HOT POINT DETECTION IN A MACHINE WITH NON-UNIFORM ACCESS MEMORY
US6055610A (en) * 1997-08-25 2000-04-25 Hewlett-Packard Company Distributed memory multiprocessor computer system with directory based cache coherency with ambiguous mapping of cached data to main-memory locations
US6073216A (en) * 1997-11-25 2000-06-06 Intel Corporation System and method for reliable system shutdown after coherency corruption
US6275904B1 (en) * 1998-03-31 2001-08-14 Intel Corporation Cache pollution avoidance instructions
US6295598B1 (en) 1998-06-30 2001-09-25 Src Computers, Inc. Split directory-based cache coherency technique for a multi-processor computer system
US6546429B1 (en) 1998-09-21 2003-04-08 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that holds and reissues requests at a target processing node in response to a retry
US6269428B1 (en) * 1999-02-26 2001-07-31 International Business Machines Corporation Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system
US6226718B1 (en) 1999-02-26 2001-05-01 International Business Machines Corporation Method and system for avoiding livelocks due to stale exclusive/modified directory entries within a non-uniform access system
US6434668B1 (en) 1999-09-07 2002-08-13 International Business Machines Corporation Method of cache management to store information in particular regions of the cache according to information-type
US6763432B1 (en) * 2000-06-09 2004-07-13 International Business Machines Corporation Cache memory system for selectively storing directory information for a higher level cache in portions of a lower level cache
WO2002008910A1 (en) 2000-07-20 2002-01-31 Silicon Graphics, Inc. Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device
US6615319B2 (en) * 2000-12-29 2003-09-02 Intel Corporation Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture
US20020138698A1 (en) 2001-03-21 2002-09-26 International Business Machines Corporation System and method for caching directory information in a shared memory multiprocessor system
US6711652B2 (en) 2001-06-21 2004-03-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that provides precise notification of remote deallocation of modified data
US6760809B2 (en) 2001-06-21 2004-07-06 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system having remote memory cache incorporated within system memory
US6959364B2 (en) * 2002-06-28 2005-10-25 Intel Corporation Partially inclusive snoop filter
US6792512B2 (en) * 2002-08-06 2004-09-14 International Business Machines Corporation Method and system for organizing coherence directories in shared memory systems
US6996676B2 (en) 2002-11-14 2006-02-07 International Business Machines Corporation System and method for implementing an adaptive replacement cache policy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410669A (en) * 1993-04-05 1995-04-25 Motorola, Inc. Data processor having a cache memory capable of being used as a linear ram bank
EP0908825A1 (en) * 1997-10-10 1999-04-14 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory
US20020087778A1 (en) * 2000-12-29 2002-07-04 Schoinas Ioannis T. Storing directory information for non uniform memory architecture systems using processor cache

Also Published As

Publication number Publication date
WO2004029812A2 (en) 2004-04-08
US7096323B1 (en) 2006-08-22
TWI304930B (en) 2009-01-01
CN100373353C (en) 2008-03-05
AU2003277175A1 (en) 2004-04-19
JP2006501548A (en) 2006-01-12
EP1543427A2 (en) 2005-06-22
TW200408952A (en) 2004-06-01
KR100970229B1 (en) 2010-07-16
KR20050070013A (en) 2005-07-05
JP4230998B2 (en) 2009-02-25
CN1685320A (en) 2005-10-19

Similar Documents

Publication Publication Date Title
WO2004029812A3 (en) Computer system with processor cache that stores remote cache presence information
US6735673B2 (en) Apparatus and methods for cache line compression
CN105339910B (en) Virtual NAND capacity extensions in hybrid drive
CN101589374B (en) Method and apparatus for setting cache policies in a processor
JP5129156B2 (en) Access device and write-once recording system
JP2009276853A (en) Flash memory device
US8214581B2 (en) System and method for cache synchronization
GB9519669D0 (en) Flash memory management system
KR20170097609A (en) Apparatus, system and method for caching compressed data background
CN105159844A (en) Dynamic cache allocation policy adaptation in a data processing apparatus
CN105550155B (en) Snoop filter for multicomputer system and related snoop filtering method
WO2002027495A3 (en) Electronic information caching
CA2505610A1 (en) Improved memory management for real-time applications
WO2001055857A3 (en) Logical view and access to data managed by a modular data and storage management system
US6851024B1 (en) Exclusive caching in computer systems
JP2007334852A5 (en)
KR101414035B1 (en) Storage efficient sectored cache
CN103092775A (en) Spatial data double cache method and mechanism based on key value structure
WO2004029776A3 (en) Computer system with integrated directory and processor cache
EP1187026A3 (en) Extended cache memory system
US20090132757A1 (en) Storage system for improving efficiency in accessing flash memory and method for the same
EP0905628A3 (en) Reducing cache misses by snarfing writebacks in non-inclusive memory systems
CN109558335A (en) A kind of file memory format of the embedded system based on Nor flash storage
EP1533704A3 (en) Read/write protocol for cache control units at switch fabric, managing caches for cluster-type storage
US7469320B2 (en) Adaptive replacement cache

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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: 2003798809

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2004540309

Country of ref document: JP

Ref document number: 1020057005294

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20038231441

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2003798809

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057005294

Country of ref document: KR