CA2264518A1 - System and method for maintaining memory coherency in a computer system having multiple system buses - Google Patents

System and method for maintaining memory coherency in a computer system having multiple system buses

Info

Publication number
CA2264518A1
CA2264518A1 CA002264518A CA2264518A CA2264518A1 CA 2264518 A1 CA2264518 A1 CA 2264518A1 CA 002264518 A CA002264518 A CA 002264518A CA 2264518 A CA2264518 A CA 2264518A CA 2264518 A1 CA2264518 A1 CA 2264518A1
Authority
CA
Canada
Prior art keywords
bus
buses
coherency
memory coherency
maintaining memory
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.)
Granted
Application number
CA002264518A
Other languages
French (fr)
Other versions
CA2264518C (en
Inventor
Pete D. Vogt
George P. White
Stephen S. Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Corollary, Inc.
Pete D. Vogt
George P. White
Stephen S. Chang
Intel Corporation
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 Corollary, Inc., Pete D. Vogt, George P. White, Stephen S. Chang, Intel Corporation filed Critical Corollary, Inc.
Publication of CA2264518A1 publication Critical patent/CA2264518A1/en
Application granted granted Critical
Publication of CA2264518C publication Critical patent/CA2264518C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Abstract

A cache-coherent, multiple-bus, multiprocessing system and method interconnects multiple system buses (1, 2) and an I/O bus (3) to a shared main memory (132) and efficiently maintain cache coherency while minimizing the impact to latency and total bandwidth within the system. The system provides coherency filters (200) which coordinate bus-to-bus communications in such a way as to maintain cache memory coherency with a small amount of cross-bus traffic. In addition, the system provides a multiported pool of memory cells which interconnect the multiple buses.
CA002264518A 1996-09-16 1997-09-16 System and method for maintaining memory coherency in a computer system having multiple system buses Expired - Fee Related CA2264518C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/714,750 US5897656A (en) 1996-09-16 1996-09-16 System and method for maintaining memory coherency in a computer system having multiple system buses
US08/714,750 1996-09-16
PCT/US1997/016207 WO1998011488A1 (en) 1996-09-16 1997-09-16 System and method for maintaining memory coherency in a computer system having multiple system buses

Publications (2)

Publication Number Publication Date
CA2264518A1 true CA2264518A1 (en) 1998-03-19
CA2264518C CA2264518C (en) 2006-01-10

Family

ID=24871306

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002264518A Expired - Fee Related CA2264518C (en) 1996-09-16 1997-09-16 System and method for maintaining memory coherency in a computer system having multiple system buses

Country Status (9)

Country Link
US (2) US5897656A (en)
EP (1) EP1021768A4 (en)
JP (1) JP4316016B2 (en)
KR (1) KR100491435B1 (en)
CN (1) CN1130644C (en)
AU (1) AU4345197A (en)
CA (1) CA2264518C (en)
RU (1) RU2221271C2 (en)
WO (1) WO1998011488A1 (en)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6581126B1 (en) * 1996-12-20 2003-06-17 Plx Technology, Inc. Method, system and apparatus for a computer subsystem interconnection using a chain of bus repeaters
US6073225A (en) * 1997-06-24 2000-06-06 Intel Corporation Method and apparatus for monitoring bus transactions based on cycle type and memory address range
US7197625B1 (en) * 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US6418537B1 (en) 1997-12-07 2002-07-09 Conexant Systems, Inc. Accurate timing calibration for each of multiple high-speed clocked receivers using a single DLL
US6065077A (en) * 1997-12-07 2000-05-16 Hotrail, Inc. Apparatus and method for a cache coherent shared memory multiprocessing system
US6292705B1 (en) 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system
US6516442B1 (en) 1997-12-07 2003-02-04 Conexant Systems, Inc. Channel interface and protocols for cache coherency in a scalable symmetric multiprocessor system
US6633945B1 (en) 1997-12-07 2003-10-14 Conexant Systems, Inc. Fully connected cache coherent multiprocessing systems
US6134635A (en) * 1997-12-09 2000-10-17 Intel Corporation Method and apparatus of resolving a deadlock by collapsing writebacks to a memory
US6334172B1 (en) * 1998-02-17 2001-12-25 International Business Machines Corporation Cache coherency protocol with tagged state for modified values
US6289419B1 (en) * 1998-03-06 2001-09-11 Sharp Kabushiki Kaisha Consistency control device merging updated memory blocks
US6295598B1 (en) * 1998-06-30 2001-09-25 Src Computers, Inc. Split directory-based cache coherency technique for a multi-processor computer system
US6304945B1 (en) 1999-05-13 2001-10-16 Compaq Computer Corporation Method and apparatus for maintaining cache coherency in a computer system having multiple processor buses
US6469988B1 (en) 1999-07-08 2002-10-22 Conexant Systems, Inc. Low-level circuit implementation of signal flow graphs for real-time signal processing of high-speed digital signals
US6643787B1 (en) * 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
JP3946393B2 (en) * 1999-10-19 2007-07-18 株式会社東芝 Parallel computer with hierarchical structure
US7558923B1 (en) 1999-12-22 2009-07-07 Intel Corporation Prevention of live-lock in a multi-processor system
US6662278B1 (en) * 2000-09-22 2003-12-09 Intel Corporation Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system
US6868481B1 (en) * 2000-10-31 2005-03-15 Hewlett-Packard Development Company, L.P. Cache coherence protocol for a multiple bus multiprocessor system
US7085866B1 (en) * 2002-02-19 2006-08-01 Hobson Richard F Hierarchical bus structure and memory access protocol for multiprocessor systems
US6959372B1 (en) * 2002-02-19 2005-10-25 Cogent Chipware Inc. Processor cluster architecture and associated parallel processing methods
US6757790B2 (en) * 2002-02-19 2004-06-29 Emc Corporation Distributed, scalable data storage facility with cache memory
CN1293739C (en) * 2002-06-15 2007-01-03 华为技术有限公司 High speed link control protocol transmission processing/module and data processing/method
CN100401731C (en) * 2002-06-15 2008-07-09 华为技术有限公司 High speed data link control protocol receiving processing module and data processing/method
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7191318B2 (en) * 2002-12-12 2007-03-13 Alacritech, Inc. Native copy instruction for file-access processor with copy-rule-based validation
US7032079B1 (en) * 2002-12-13 2006-04-18 Unisys Corporation System and method for accelerating read requests within a multiprocessor system
US7636815B1 (en) 2003-04-09 2009-12-22 Klaiber Alexander C System and method for handling direct memory accesses
US8751753B1 (en) 2003-04-09 2014-06-10 Guillermo J. Rozas Coherence de-coupling buffer
US7334123B2 (en) * 2003-05-02 2008-02-19 Advanced Micro Devices, Inc. Computer system including a bus bridge for connection to a security services processor
DE10329680A1 (en) * 2003-07-01 2005-02-10 Universität Stuttgart Processor architecture for exact pointer identification
US8117392B2 (en) * 2003-10-22 2012-02-14 Intel Corporation Method and apparatus for efficient ordered stores over an interconnection network
US20050216625A1 (en) * 2004-03-09 2005-09-29 Smith Zachary S Suppressing production of bus transactions by a virtual-bus interface
US7434008B2 (en) * 2004-04-23 2008-10-07 Hewlett-Packard Development Company, L.P. System and method for coherency filtering
US7398338B2 (en) * 2004-06-30 2008-07-08 Sap Ag Flexible and error resistant data buffering and connectivity
CN100463393C (en) * 2004-08-20 2009-02-18 中兴通讯股份有限公司 Device and method for data safety share between isomerous system
US7941585B2 (en) * 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
WO2006031551A2 (en) 2004-09-10 2006-03-23 Cavium Networks Selective replication of data structure
US7594081B2 (en) 2004-09-10 2009-09-22 Cavium Networks, Inc. Direct access to low-latency memory
US7366931B2 (en) 2004-12-30 2008-04-29 Intel Corporation Memory modules that receive clock information and are placed in a low power state
US7417883B2 (en) * 2004-12-30 2008-08-26 Intel Corporation I/O data interconnect reuse as repeater
US7203780B2 (en) * 2005-02-22 2007-04-10 Kabushiki Kaisha Toshiba System and method for facilitating communication between devices on a bus using tags
JP4956900B2 (en) * 2005-03-07 2012-06-20 富士通株式会社 Address snoop method and multiprocessor system
US7386683B2 (en) * 2005-03-29 2008-06-10 International Business Machines Corporation Method and apparatus for filtering snoop requests in a point-to-point interconnect architecture
US7290074B2 (en) * 2005-04-06 2007-10-30 Kabushiki Kaisha Toshiba Back-off timing mechanism
US7971002B1 (en) 2005-04-07 2011-06-28 Guillermo Rozas Maintaining instruction coherency in a translation-based computer system architecture
US7373444B2 (en) * 2005-04-15 2008-05-13 Kabushiki Kaisha Toshiba Systems and methods for manipulating entries in a command buffer using tag information
US7738483B2 (en) * 2005-09-08 2010-06-15 Kabushiki Kaisha Toshiba Systems and methods for managing communication between master and slave devices
JP2007079958A (en) * 2005-09-14 2007-03-29 Hitachi Ltd Storage controller, data processing method and computer program
US20070088918A1 (en) * 2005-10-13 2007-04-19 Sun Microsystems, Inc. Tracking dependencies among memory requests
US8924653B2 (en) * 2006-10-31 2014-12-30 Hewlett-Packard Development Company, L.P. Transactional cache memory system
US7613859B2 (en) * 2007-09-12 2009-11-03 Kabushiki Kaisha Toshiba Back-off timing mechanism in a digital signal processor
JP5453872B2 (en) * 2009-03-27 2014-03-26 日本電気株式会社 Disk array device, disk control device, and load distribution method in disk array device
US20120210069A1 (en) * 2009-10-25 2012-08-16 Plurality Ltd. Shared cache for a tightly-coupled multiprocessor
FR2992446B1 (en) 2012-06-22 2015-04-10 Commissariat Energie Atomique SYSTEM AND METHOD FOR DATA PROCESSING HAS COHERENCE MANAGEMENT IN A NETWORK OF PROCESSORS HAVING HIDDEN MEMORY.
CN104298617B (en) * 2014-08-20 2017-12-08 深圳大学 The optimization method and system of non-nuclear parts data stream buffer management in a kind of NUMA platforms
WO2017012667A1 (en) 2015-07-22 2017-01-26 Huawei Technologies Co., Ltd. Hardware transactional memory in non volatile memory with log and no lock
US9921962B2 (en) * 2015-09-24 2018-03-20 Qualcomm Incorporated Maintaining cache coherency using conditional intervention among multiple master devices
US10102129B2 (en) * 2015-12-21 2018-10-16 Intel Corporation Minimizing snoop traffic locally and across cores on a chip multi-core fabric
EP3260986B1 (en) * 2016-06-23 2019-08-14 Advanced Micro Devices, Inc. Shadow tag memory to monitor state of cachelines at different cache level
US10073776B2 (en) 2016-06-23 2018-09-11 Advanced Micro Device, Inc. Shadow tag memory to monitor state of cachelines at different cache level
US10282298B2 (en) 2017-06-13 2019-05-07 Microsoft Technology Licensing, Llc Store buffer supporting direct stores to a coherence point
US10303603B2 (en) 2017-06-13 2019-05-28 Microsoft Technology Licensing, Llc Low power multi-core coherency

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4245344A (en) * 1979-04-02 1981-01-13 Rockwell International Corporation Processing system with dual buses
US4796232A (en) * 1987-10-20 1989-01-03 Contel Corporation Dual port memory controller
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
US5225374A (en) * 1988-05-13 1993-07-06 The United States Of America As Represented By The Secretary Of The Navy Method of fabricating a receptor-based sensor
US4953081A (en) * 1988-12-21 1990-08-28 International Business Machines Corporation Least recently used arbiter with programmable high priority mode and performance monitor
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5317718A (en) * 1990-03-27 1994-05-31 Digital Equipment Corporation Data processing system and method with prefetch buffers
US5261066A (en) * 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
US5325510A (en) * 1990-05-25 1994-06-28 Texas Instruments Incorporated Multiprocessor system and architecture with a computation system for minimizing duplicate read requests
US5115411A (en) * 1990-06-06 1992-05-19 Ncr Corporation Dual port memory system
ATE170642T1 (en) * 1990-06-15 1998-09-15 Compaq Computer Corp MULTI-LEVEL INCLUSION IN MULTI-LEVEL CACHE MEMORY HIERARCHICES
IE860318L (en) * 1990-10-01 1986-08-05 Digital Equipment Corp System bus for a multi-cache data processing system
US5265232A (en) * 1991-04-03 1993-11-23 International Business Machines Corporation Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
EP0528538B1 (en) * 1991-07-18 1998-12-23 Tandem Computers Incorporated Mirrored memory multi processor system
US5369748A (en) * 1991-08-23 1994-11-29 Nexgen Microsystems Bus arbitration in a dual-bus architecture where one bus has relatively high latency
US5269005A (en) * 1991-09-17 1993-12-07 Ncr Corporation Method and apparatus for transferring data within a computer system
US5359715A (en) * 1991-09-16 1994-10-25 Ncr Corporation Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces
US5265211A (en) * 1992-01-02 1993-11-23 International Business Machines Corporation Arbitration control logic for computer system having dual bus architecture
US5319766A (en) * 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US5553258A (en) * 1992-04-24 1996-09-03 Digital Equipment Corporation Method and apparatus for forming an exchange address for a system with different size caches
US5398325A (en) * 1992-05-07 1995-03-14 Sun Microsystems, Inc. Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems
US5495585A (en) * 1992-10-16 1996-02-27 Unisys Corporation Programmable timing logic system for dual bus interface
US5404462A (en) * 1992-10-16 1995-04-04 Unisys Corporation Dual bus interface transfer system for central processing module
US5442754A (en) * 1992-12-04 1995-08-15 Unisys Corporation Receiving control logic system for dual bus network
US5386517A (en) * 1993-01-26 1995-01-31 Unisys Corporation Dual bus communication system connecting multiple processors to multiple I/O subsystems having a plurality of I/O devices with varying transfer speeds
US5553263A (en) * 1993-07-16 1996-09-03 Unisys Corporation Cache memory system with fault tolerance having concurrently operational cache controllers processing disjoint groups of memory
US5857084A (en) 1993-11-02 1999-01-05 Klein; Dean A. Hierarchical bus structure access system
US5623628A (en) * 1994-03-02 1997-04-22 Intel Corporation Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue
US5684977A (en) * 1995-03-31 1997-11-04 Sun Microsystems, Inc. Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system
DE69616402T2 (en) * 1995-03-31 2002-07-18 Sun Microsystems Inc Fast two-port cache control circuit for data processors in a packet-switched cache-coherent multiprocessor system
US5802278A (en) 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
US5740400A (en) * 1995-06-05 1998-04-14 Advanced Micro Devices Inc. Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
US5673400A (en) 1995-06-06 1997-09-30 National Semiconductor Corporation Method and apparatus for identifying and controlling a target peripheral device in a multiple bus system
US5822755A (en) * 1996-01-25 1998-10-13 International Business Machines Corporation Dual usage memory selectively behaving as a victim cache for L1 cache or as a tag array for L2 cache
US5829033A (en) * 1996-07-01 1998-10-27 Sun Microsystems, Inc. Optimizing responses in a coherent distributed electronic system including a computer system
US5900011A (en) * 1996-07-01 1999-05-04 Sun Microsystems, Inc. Integrated processor/memory device with victim data cache

Also Published As

Publication number Publication date
AU4345197A (en) 1998-04-02
JP2001503889A (en) 2001-03-21
CN1130644C (en) 2003-12-10
EP1021768A4 (en) 2002-08-14
US5897656A (en) 1999-04-27
CA2264518C (en) 2006-01-10
US6622214B1 (en) 2003-09-16
RU2221271C2 (en) 2004-01-10
JP4316016B2 (en) 2009-08-19
WO1998011488A1 (en) 1998-03-19
CN1238050A (en) 1999-12-08
KR20000036144A (en) 2000-06-26
KR100491435B1 (en) 2005-05-24
EP1021768A1 (en) 2000-07-26

Similar Documents

Publication Publication Date Title
CA2264518A1 (en) System and method for maintaining memory coherency in a computer system having multiple system buses
SG47655A1 (en) Computer system that maintains system wide cache coherency during deffered communication transactions
CA2051222A1 (en) Consistent packet switched memory bus for shared memory multiprocessors
EP0644486A3 (en) Management of data accesses in computer systems.
WO2004029776A3 (en) Computer system with integrated directory and processor cache
EP0817072A3 (en) A multiprocessing system configured to store coherency state within multiple subnodes of a processing node
EP0817073A3 (en) A multiprocessing system configured to perform efficient write operations
EP0797149A3 (en) Architecture and method for sharing tlb entries
CA2062910A1 (en) Optimum write-back strategy for directory-based cache coherence protocols
AU5159900A (en) Memory management in distributed computer system
CA2414438A1 (en) System and method for semaphore and atomic operation management in a multiprocessor
WO2004095212A3 (en) Memory management in a data processing system
MY124353A (en) Non-uniform memory access [numa] data processing system that speculatively issues requests on a node interconnect
EP0824239A3 (en) Secondary channel for fibre channel system interface bus
AU5133799A (en) Out-of-order snooping for multiprocessor computer systems
GB2263378B (en) Computer bus with virtual memory data transfer capability using virtual address/data lines
WO2004049171A3 (en) Microprocessor including cache memory supporting multiple accesses per cycle
EP0750258A3 (en) Memory state recovering apparatus
AU6372300A (en) Mechanism for reordering transactions in computer systems with snoop-based cacheconsistency protocols
CA2051209A1 (en) Consistency protocols for shared memory multiprocessors
GB2403570A (en) Method to reduce power in a computer system with bus master devices
EP0194696A3 (en) Multi processor system
EP0949569A3 (en) Cache pollution avoidance instructions
IL131329A0 (en) Non-uniform memory access (numa) data processing system that decreases latency by expediting rerun requests
CA2228061A1 (en) Microprocessor cache consistency

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed