KR100691695B1 - 메모리 시스템 제어 장치 및 메모리 시스템 제어 방법 - Google Patents
메모리 시스템 제어 장치 및 메모리 시스템 제어 방법 Download PDFInfo
- Publication number
- KR100691695B1 KR100691695B1 KR1020040105539A KR20040105539A KR100691695B1 KR 100691695 B1 KR100691695 B1 KR 100691695B1 KR 1020040105539 A KR1020040105539 A KR 1020040105539A KR 20040105539 A KR20040105539 A KR 20040105539A KR 100691695 B1 KR100691695 B1 KR 100691695B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- state
- cache
- memory
- processor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache 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)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative control
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)
- Storage Device Security (AREA)
- Multi Processors (AREA)
Abstract
Description
Claims (10)
- 프로세서마다 캐시 메모리(cache memory)를 갖는 멀티프로세서 시스템에서 상기 캐시 메모리와 주기억의 코히어런시(coherency)를 제어하는 메모리 시스템 제어 장치로서,상기 프로세서가 갖는 캐시 메모리의 각 엔트리(entry)에 저장되어 있는 데이터의 어드레스 정보를 기억하고, 각 엔트리의 이용 상태를 「강한 갱신 상태」, 「약한 갱신 상태」, 「공유 상태」 또는 「무효 상태」 중 어느 하나의 상태로서 보유하는 캐시 상태 보유 수단과,상기 프로세서의 하나로부터 데이터의 리드(read) 요구를 받았을 경우에, 상기 캐시 상태 보유 수단에 의해 보유되어 있는 상기 어드레스 정보와 상기 이용 상태에 의거하여 상기 데이터의 취득 순서를 적어도 하나 선택하는 데이터 취득 순서 선택 수단과,상기 데이터 취득 순서 선택 수단이 선택한 취득 순서에 의해 취득된 데이터로부터 최신 상태의 데이터를 선택하고, 요구원(要求元)의 프로세서에 송출(送出)하는 리드 데이터 선택 송출 수단과,상기 데이터의 어드레스 정보를 요구원의 프로세서에 대응하는 캐시 상태 보유 수단의 엔트리의 하나에 등록할 때에, 상기 리드 요구의 종별(種別)에 따라 상기 엔트리의 이용 상태를 갱신하는 캐시 상태 갱신 수단을 구비하고,상기 캐시 상태 갱신 수단은 상기 프로세서의 하나로부터 기입을 전제로 한 데이터로서 리드 요구를 받았을 경우에, 상기 데이터의 이용 상태를 상기 캐시 상태 보유 수단에 「강한 갱신 상태」로서 등록하고,상기 데이터 취득 순서 선택 수단은 상기 프로세서의 하나로부터 리드 요구된 데이터의 어드레스가 상기 캐시 상태 보유 수단 중 어느 하나의 엔트리에 존재하고, 그 엔트리의 이용 상태가 「강한 갱신 상태」일 경우에, 상기 캐시 상태 보유 수단에 대응하는 프로세서로부터의 데이터 취득만을 상기 데이터의 취득 순서로서 선정하고, 주 기억으로부터의 데이터 취득을 상기 데이터의 취득 순서로서 선정하지 않는 것을 특징으로 하는 메모리 시스템 제어 장치.
- 삭제
- 제 1 항에 있어서,상기 캐시 상태 갱신 수단은, 상기 프로세서의 하나로부터 기입할 가능성이 있는 데이터로서 리드 요구를 받았을 경우에, 상기 데이터의 이용 상태를 상기 캐시 상태 보유 수단에 「약한 갱신 상태」로서 등록하는 것을 특징으로 하는 메모리 시스템 제어 장치.
- 제 1 항에 있어서,상기 캐시 상태 갱신 수단은, 상기 프로세서의 하나로부터 「공유 상태」로의 천이를 전제로 한 데이터로서 리드 요구를 받았을 경우에, 상기 데이터의 이용 상태를 상기 캐시 상태 보유 수단에 「약한 갱신 상태」로서 등록하는 것을 특징으로 하는 메모리 시스템 제어 장치.
- 제 1 항에 있어서,상기 캐시 상태 갱신 수단은, 상기 프로세서의 하나로부터 「무효 상태」로의 천이를 전제로 한 데이터로서 리드 요구를 받았을 경우에, 상기 데이터의 이용 상태를 상기 캐시 상태 보유 수단에 「약한 갱신 상태」로서 등록하는 것을 특징으로 하는 메모리 시스템 제어 장치.
- 삭제
- 제 1 항에 있어서,상기 데이터 취득 순서 선택 수단은, 상기 프로세서의 하나로부터 리드 요구된 데이터의 어드레스가 상기 캐시 상태 보유 수단 중 어느 하나의 엔트리에 존재하고, 그 엔트리의 이용 상태가 「약한 갱신 상태」일 경우에, 상기 캐시 상태 보유 수단에 대응하는 프로세서로부터의 데이터 취득과 주기억으로부터의 데이터 취득을 상기 데이터의 취득 순서로서 선정하는 것을 특징으로 하는 메모리 시스템 제어 장치.
- 제 1 항에 있어서,상기 데이터 취득 순서 선택 수단은, 상기 프로세서의 하나로부터 리드 요구된 데이터의 어드레스가 상기 캐시 상태 보유 수단 중 어느 하나의 엔트리에 존재하고, 그 엔트리의 이용 상태가 「공유 상태」일 경우에, 상기 캐시 상태 보유 수단에 대응하는 프로세서로부터의 데이터 취득을 상기 데이터의 취득 순서로서 선정하는 것을 특징으로 하는 메모리 시스템 제어 장치.
- 제 1 항에 있어서,상기 데이터 취득 순서 선택 수단은, 상기 프로세서의 하나로부터 리드 요구된 데이터의 어드레스가 상기 캐시 상태 보유 수단 중 어느 하나의 엔트리에 존재하고, 그 엔트리의 이용 상태가 모두 「무효 상태」일 경우에, 주기억으로부터의 데이터 취득만을 상기 데이터의 취득 순서로서 선정하는 것을 특징으로 하는 메모리 시스템 제어 장치.
- 프로세서마다 캐시 메모리를 갖는 멀티프로세서 시스템에서 상기 캐시 메모리와 주기억의 코히어런시를 제어하는 메모리 시스템 제어 방법으로서,상기 프로세서가 갖는 캐시 메모리의 각 엔트리에 저장되어 있는 데이터의 어드레스 정보를 기억하고, 각 엔트리의 이용 상태를 「강한 갱신 상태」, 「약한 갱신 상태」, 「공유 상태」 또는 「무효 상태」 중 어느 하나의 상태로서 보유하는 캐시 상태 보유 공정과,상기 프로세서의 하나로부터 데이터의 리드 요구를 받았을 경우에, 상기 캐시 상태 보유 공정에 의해 보유되어 있는 상기 어드레스 정보와 상기 이용 상태에 의거하여 상기 데이터의 취득 순서를 적어도 하나 선택하는 데이터 취득 순서 선택 공정과,상기 데이터 취득 순서 선택 공정의 선택한 취득 순서에 의해 취득된 데이터로부터 최신 상태의 데이터를 선택하고, 요구원의 프로세서에 송출하는 리드 데이터 선택 송출 공정과,상기 데이터의 어드레스 정보를 요구원의 프로세서에 대응하는 캐시 상태 보유 공정의 엔트리의 하나에 등록할 때에, 상기 리드 요구의 종별에 따라 상기 엔트리의 이용 상태를 갱신하는 캐시 상태 갱신 공정을 포함하고,상기 캐시 상태 갱신 공정은 상기 프로세서의 하나로부터 기입을 전제로 한 데이터로서 리드 요구를 받았을 경우에, 상기 데이터의 이용 상태를 상기 캐시 상태 보유 공정에 「강한 갱신 상태」로서 등록하는 것을 포함하고,상기 데이터 취득 순서 선택 공정은 상기 프로세서의 하나로부터 리드 요구된 데이터의 어드레스가 상기 캐시 상태 보유 공정 중 어느 하나의 엔트리에 존재하고, 그 엔트리의 이용 상태가 「강한 갱신 상태」일 경우에, 상기 캐시 상태 보유 공정에 대응하는 프로세서로부터의 데이터 취득만을 상기 데이터의 취득 순서로서 선정하고, 주 기억으로부터의 데이터 취득을 상기 데이터의 취득 순서로서 선정하지 않는 것을 포함하는 것을 특징으로 하는 메모리 시스템 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2004-00229082 | 2004-08-05 | ||
JP2004229082A JP4673585B2 (ja) | 2004-08-05 | 2004-08-05 | メモリシステム制御装置およびメモリシステム制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060013330A KR20060013330A (ko) | 2006-02-09 |
KR100691695B1 true KR100691695B1 (ko) | 2007-03-09 |
Family
ID=34930886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040105539A KR100691695B1 (ko) | 2004-08-05 | 2004-12-14 | 메모리 시스템 제어 장치 및 메모리 시스템 제어 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7783840B2 (ko) |
EP (1) | EP1624377B1 (ko) |
JP (1) | JP4673585B2 (ko) |
KR (1) | KR100691695B1 (ko) |
CN (1) | CN100338587C (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007099583A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | システムコントローラおよびキャッシュ制御方法 |
JP5168800B2 (ja) * | 2006-03-08 | 2013-03-27 | 富士通株式会社 | マルチプロセッサシステム |
JP5146444B2 (ja) | 2007-03-20 | 2013-02-20 | 富士通株式会社 | マルチプロセッサシステム及びその制御方法 |
US8898653B2 (en) * | 2007-06-27 | 2014-11-25 | International Business Machines Corporation | Non-disruptive code update of a single processor in a multi-processor computing system |
US8127192B2 (en) * | 2007-07-18 | 2012-02-28 | International Business Machines Corporation | Predicting lwarx and stwcx instructions in test pattern generation and simulation for processor design verification/validation in interrupt mode |
US7739570B2 (en) * | 2007-07-18 | 2010-06-15 | International Business Machines Corporation | System and method for increasing error checking performance by calculating CRC calculations after multiple test patterns for processor design verification and validation |
US7689886B2 (en) * | 2007-07-18 | 2010-03-30 | International Business Machines Corporation | System and method for predicting lwarx and stwcx instructions in test pattern generation and simulation for processor design verification and validation |
US7747908B2 (en) * | 2007-07-18 | 2010-06-29 | International Business Machines Corporation | System and method for creating different start cache and bus states using multiple test patterns for processor design verification and validation |
US7661023B2 (en) * | 2007-07-18 | 2010-02-09 | International Business Machines Corporation | System and method for verification of cache snoop logic and coherency between instruction & data caches for processor design verification and validation |
US7647539B2 (en) * | 2007-07-18 | 2010-01-12 | International Business Machines Corporation | System and method of testing using test pattern re-execution in varying timing scenarios for processor design verification and validation |
JP2009042992A (ja) * | 2007-08-08 | 2009-02-26 | Renesas Technology Corp | バス制御装置 |
US8185694B2 (en) * | 2008-07-25 | 2012-05-22 | International Business Machines Corporation | Testing real page number bits in a cache directory |
KR101639672B1 (ko) * | 2010-01-05 | 2016-07-15 | 삼성전자주식회사 | 무한 트랜잭션 메모리 시스템 및 그 동작 방법 |
KR101944329B1 (ko) * | 2012-04-17 | 2019-04-18 | 삼성전자주식회사 | 멀티프로세서 시스템 및 그것의 캐쉬 관리 방법 |
CN102722467A (zh) * | 2012-05-31 | 2012-10-10 | 深圳市江波龙电子有限公司 | 一种多处理器设备及其程序运行方法 |
US9619382B2 (en) * | 2013-08-19 | 2017-04-11 | Intel Corporation | Systems and methods for read request bypassing a last level cache that interfaces with an external fabric |
US9665468B2 (en) | 2013-08-19 | 2017-05-30 | Intel Corporation | Systems and methods for invasive debug of a processor without processor execution of instructions |
US9632947B2 (en) | 2013-08-19 | 2017-04-25 | Intel Corporation | Systems and methods for acquiring data for loads at different access times from hierarchical sources using a load queue as a temporary storage buffer and completing the load early |
US9361227B2 (en) | 2013-08-30 | 2016-06-07 | Soft Machines, Inc. | Systems and methods for faster read after write forwarding using a virtual address |
FR3021773B1 (fr) * | 2014-05-27 | 2017-10-06 | Bull Sas | Interrogation speculative en memoire centrale d'un systeme multiprocesseur |
JP6674085B2 (ja) * | 2015-08-12 | 2020-04-01 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980032776A (ko) * | 1996-10-16 | 1998-07-25 | 가나이 츠토무 | 데이타 프로세서 및 데이타 처리시스템 |
KR19980057631A (ko) * | 1996-12-30 | 1998-09-25 | 김광호 | 캐시일관성 유지를 위한 스누핑 장치 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537574A (en) * | 1990-12-14 | 1996-07-16 | International Business Machines Corporation | Sysplex shared data coherency method |
JPH06208507A (ja) * | 1993-01-11 | 1994-07-26 | Casio Comput Co Ltd | キャッシュメモリシステム |
JPH08185359A (ja) * | 1994-10-31 | 1996-07-16 | Toshiba Corp | メモリサブシステム |
US5692149A (en) * | 1995-03-16 | 1997-11-25 | Samsung Electronics Co., Ltd. | Block replacement method in cache only memory architecture multiprocessor |
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 |
EP0735487B1 (en) * | 1995-03-31 | 2001-10-31 | Sun Microsystems, Inc. | A fast, dual ported cache controller for data processors in a packet switched cache coherent multiprocessor system |
JPH11212868A (ja) * | 1998-01-28 | 1999-08-06 | Oki Electric Ind Co Ltd | スヌープキャッシュメモリ制御システム |
JP2000132531A (ja) * | 1998-10-23 | 2000-05-12 | Pfu Ltd | マルチプロセッサ |
JP3550092B2 (ja) | 1998-12-10 | 2004-08-04 | 富士通株式会社 | キャッシュ装置及び制御方法 |
WO2000038077A1 (fr) | 1998-12-18 | 2000-06-29 | Fujitsu Limited | Antememoire et procede de commande |
US6857051B2 (en) * | 1998-12-23 | 2005-02-15 | Intel Corporation | Method and apparatus for maintaining cache coherence in a computer system |
JP2002024198A (ja) * | 2000-07-06 | 2002-01-25 | Fujitsu Ltd | 分散共有メモリ型並列計算機 |
US6721856B1 (en) * | 2000-10-26 | 2004-04-13 | International Business Machines Corporation | Enhanced cache management mechanism via an intelligent system bus monitor |
US7234029B2 (en) * | 2000-12-28 | 2007-06-19 | Intel Corporation | Method and apparatus for reducing memory latency in a cache coherent multi-node architecture |
US6763435B2 (en) * | 2001-10-16 | 2004-07-13 | International Buisness Machines Corporation | Super-coherent multiprocessor system bus protocols |
US7073004B2 (en) * | 2002-12-12 | 2006-07-04 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor network |
-
2004
- 2004-08-05 JP JP2004229082A patent/JP4673585B2/ja not_active Expired - Fee Related
- 2004-12-01 US US10/999,972 patent/US7783840B2/en not_active Expired - Fee Related
- 2004-12-06 EP EP04257577.9A patent/EP1624377B1/en not_active Expired - Fee Related
- 2004-12-14 KR KR1020040105539A patent/KR100691695B1/ko active IP Right Grant
- 2004-12-31 CN CNB2004100821781A patent/CN100338587C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980032776A (ko) * | 1996-10-16 | 1998-07-25 | 가나이 츠토무 | 데이타 프로세서 및 데이타 처리시스템 |
KR19980057631A (ko) * | 1996-12-30 | 1998-09-25 | 김광호 | 캐시일관성 유지를 위한 스누핑 장치 |
Also Published As
Publication number | Publication date |
---|---|
US7783840B2 (en) | 2010-08-24 |
KR20060013330A (ko) | 2006-02-09 |
JP2006048406A (ja) | 2006-02-16 |
JP4673585B2 (ja) | 2011-04-20 |
EP1624377A2 (en) | 2006-02-08 |
EP1624377B1 (en) | 2013-10-23 |
CN1731372A (zh) | 2006-02-08 |
US20060031641A1 (en) | 2006-02-09 |
EP1624377A3 (en) | 2008-06-04 |
CN100338587C (zh) | 2007-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100691695B1 (ko) | 메모리 시스템 제어 장치 및 메모리 시스템 제어 방법 | |
JP5190236B2 (ja) | 複数の上位レベルのキャッシュ・メモリおよび1つの下位レベルのキャッシュ・メモリを有するマルチプロセッサ・データ処理システムにおいてコヒーレンシを管理する方法、およびデータ処理システム | |
US7360032B2 (en) | Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of modified memory blocks | |
US7747826B2 (en) | Data processing system and method for efficient communication utilizing an in coherency state | |
US8140770B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation | |
US7747825B2 (en) | Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of shared memory blocks | |
US7404046B2 (en) | Cache memory, processing unit, data processing system and method for filtering snooped operations | |
JP5105863B2 (ja) | 複数のコヒーレンシ・ドメインを有するデータ処理システムでフラッシュ動作を処理するデータ処理システム、方法、およびメモリ・コントローラ | |
US7640401B2 (en) | Remote hit predictor | |
US20070204110A1 (en) | Data processing system, cache system and method for reducing imprecise invalid coherency states | |
US7454577B2 (en) | Data processing system and method for efficient communication utilizing an Tn and Ten coherency states | |
US7502893B2 (en) | System and method for reporting cache coherency state retained within a cache hierarchy of a processing node | |
US7454578B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a location of a memory | |
JPWO2010100679A1 (ja) | コンピュータシステム、制御方法、記録媒体及び制御プログラム | |
US8296520B2 (en) | System and method for optimizing neighboring cache usage in a multiprocessor environment | |
US20080320234A1 (en) | Information processing apparatus and data transfer method | |
KR101072174B1 (ko) | 능동적 프리페치들로 향상된 호버 상태를 실시하는 시스템 및 방법 | |
JP5004571B2 (ja) | 同報通信範囲を示す無効な整合状態を正確に形成するためのデータ処理システム、キャッシュ・システム、および方法 | |
US7366844B2 (en) | Data processing system and method for handling castout collisions | |
US10628312B2 (en) | Producer/consumer paced data transfer within a data processing system having a cache which implements different cache coherency protocols | |
US6678800B1 (en) | Cache apparatus and control method having writable modified state | |
US7725619B2 (en) | Data processing system and method that permit pipelining of I/O write operations and multiple operation scopes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130201 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140204 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150130 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160127 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170201 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180201 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190129 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20200129 Year of fee payment: 14 |