JP5445581B2 - コンピュータシステム、制御方法、記録媒体及び制御プログラム - Google Patents
コンピュータシステム、制御方法、記録媒体及び制御プログラム Download PDFInfo
- Publication number
- JP5445581B2 JP5445581B2 JP2011502506A JP2011502506A JP5445581B2 JP 5445581 B2 JP5445581 B2 JP 5445581B2 JP 2011502506 A JP2011502506 A JP 2011502506A JP 2011502506 A JP2011502506 A JP 2011502506A JP 5445581 B2 JP5445581 B2 JP 5445581B2
- Authority
- JP
- Japan
- Prior art keywords
- directory
- data
- storage unit
- cache
- 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.)
- Expired - Fee Related
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
- 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
- G06F12/0822—Copy directories
-
- 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
-
- 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
-
- 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
- G06F12/082—Associative directories
Description
2 I/O装置
3 全体制御装置
11 プロセッサ
12 コントローラ
13 ディレクトリキャッシュ
14 メモリ
15 ディレクトリ
16 I/O制御部
17 レジスタ
111 キャッシュメモリ
121 メモリバッファ
122 ディレクトリ情報バッファ
123 メモリ要求バッファ
124 ヒット判定回路
この実施態様では、ディレクトリキャッシュ格納部に加えてディレクトリが設けられ、かつ、ディレクトリキャッシュ格納部へのデータブロックの持ち出し情報の登録について以下のプロトコルが設定される。即ち、排他型で持ち出されたデータブロックの持ち出し情報は優先的に登録する。共有型で持ち出されたデータブロックの持ち出し情報は、ディレクトリキャッシュ格納部に空きがあれば、登録する。
この実施態様では、ディレクトリキャッシュ格納部13に加えてディレクトリ格納部15が設けられ、かつ、ディレクトリキャッシュ格納部13へのデータブロックの持ち出し情報の登録について以下のプロトコルが設定される。即ち、排他型で持ち出されたデータブロックの持ち出し情報は必ず登録する。共有型で持ち出されたデータブロックの持ち出し情報は登録しない。
この実施態様では、ディレクトリキャッシュ格納部13に加えてディレクトリ格納部15が設けられ、かつ、ディレクトリキャッシュ格納部13へのデータブロックの持ち出し情報の登録について以下のプロトコルが設定される。即ち、排他型で持ち出されたデータブロックの持ち出し情報は、基本的に登録するが、ディレクトリキャッシュ格納部13から溢れることを許容する。共有型で持ち出されたデータブロックの持ち出し情報は登録しない。従って、溢れた排他型で持ち出されたデータブロックの持ち出し情報は、ディレクトリ格納部15に登録されるのみである。
この実施態様では、ディレクトリキャッシュ格納部13に加えてディレクトリ格納部15が設けられ、かつ、ディレクトリキャッシュ格納部13へのデータブロックの持ち出し情報の登録について以下のプロトコルが設定される。即ち、排他型で持ち出されたデータブロックの持ち出し情報は必ず登録する。共有型で持ち出されたデータブロックの持ち出し情報は、ディレクトリキャッシュ格納部13に空きがあれば、登録する。
以上の実施態様においては、コンピュータシステムが、予め定められた1個のキャッシュプロトコルに従って、キャッシュコヒーレントを維持する。しかし、例えば、コンピュータシステムの状態又は規模等に応じて、キャッシュプロトコルを選択することができるようにしても良い。
以上の実施態様においては、データが他のキャッシュメモリ111へ持ち出されている場合、ディレクトリ格納部15は、少なくとも、どのような状態で持ち出されているかという情報を持つ。ここで、持ち出しの状態とは、例えば、共有型又は排他型である。
以上の実施態様においては、前述したように、排他型である場合には、必ずディレクトリキャッシュ格納部13にディレクトリ情報151のコピー131が存在する。従って、「ディレクトリ情報151のコピー131がディレクトリキャッシュ格納部13に存在せず」、かつ、「ディレクトリ情報151によりデータが持ち出されたことが示されている」場合、ディレクトリ情報151は、共有型でのデータの持ち出しを示すことになる。
以上の実施態様においては、ディレクトリ方式を採用するコンピュータシステムについて説明したが、本発明は、ディレクトリ方式とスヌープ方式とをあわせた方式(以下、ハイブリッド方式)に適用することができる。
以上の実施態様においては、キャッシュメモリ111にデータブロックが存在する場合にはキャッシュメモリ111からデータブロックを読み出す。しかし、処理対象のデータブロックがメモリ14に存在するデータブロックと同一である即ちcleanである場合、当該データブロックは、メモリ14から読み出すようにしても良い。換言すれば、メモリ14又はキャッシュメモリ111のいずれから読み出しても良い。
以上の実施態様においては、キャッシュプロトコルとしてMESIを採用するコンピュータシステムについて説明したが、本発明は、MESI以外のキャッシュプロトコルを採用するコンピュータシステムにも適用することができる。
Claims (10)
- データを格納するメモリと、
前記データのコピーを格納するキャッシュメモリと、
少なくとも前記データが前記キャッシュメモリにコピーされたことを示す情報を含む、前記データについてのディレクトリ情報を格納するディレクトリ格納部と、
前記ディレクトリ格納部に格納されたディレクトリ情報のコピーを格納するディレクトリキャッシュ格納部と、
前記ディレクトリキャッシュ格納部へのデータの格納を制御する制御部であって、前記メモリから前記キャッシュメモリにコピーされたデータを、排他型と共有型とに分けて管理すると共に、前記排他型で持ち出されたデータについてのディレクトリ情報を前記共有型で持ち出されたデータについてのディレクトリ情報よりも優先的に前記ディレクトリキャッシュ格納部に格納し、前記共有型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に空きがある場合に格納する制御部とを備える
ことを特徴とするコンピュータシステム。 - 前記制御部が、前記排他型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に必ず格納し、前記共有型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に格納しない
ことを特徴とする請求項1記載のコンピュータシステム。 - 前記制御部が、前記排他型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に必ず格納し、前記共有型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に空きがある場合に格納する
ことを特徴とする請求項1記載のコンピュータシステム。 - 前記制御部が、前記排他型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部から溢れることを許容して前記ディレクトリキャッシュ格納部に格納し、前記共有型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に格納しない
ことを特徴とする請求項1記載のコンピュータシステム。 - 当該コンピュータシステムが、更に、前記ディレクトリキャッシュ格納部を制御する制御情報を格納するレジスタを備え、
前記制御部が、前記レジスタに格納された前記制御情報に応じて、前記排他型で持ち出されたデータについてのディレクトリ情報及び前記共有型で持ち出されたデータについてのディレクトリ情報の前記ディレクトリキャッシュ格納部への格納の優先度のレベルを変更する
ことを特徴とする請求項1記載のコンピュータシステム。 - 前記ディレクトリ情報が、前記データが前記キャッシュメモリにコピーされたことを示す情報のみを含む
ことを特徴とする請求項1記載のコンピュータシステム。 - データを格納するメモリと、
前記データのコピーを格納するキャッシュメモリと、
少なくとも前記データが前記キャッシュメモリにコピーされたことを示す情報を含む、前記データについてのディレクトリ情報を格納するディレクトリ格納部と、
前記ディレクトリ格納部に格納されたディレクトリ情報のコピーを格納するディレクトリキャッシュ格納部と、
前記キャッシュメモリにコピーされた全てのデータについて、それらのタグであるキャッシュタグを格納するタグコピーと、
前記ディレクトリキャッシュ格納部へのデータの格納を制御する制御部であって、前記メモリから前記キャッシュメモリにコピーされたデータを、排他型と共有型とに分けて管理すると共に、前記排他型で持ち出されたデータについてのディレクトリ情報を前記共有型で持ち出されたデータについてのディレクトリ情報よりも優先的に前記ディレクトリキャッシュ格納部に格納し、前記共有型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に空きがある場合に格納し、前記ディレクトリキャッシュ格納部にヒットした場合、前記タグコピーに格納されたキャッシュタグをスヌープすることにより、前記ヒットしたディレクトリ情報に対応するデータを持ち出したキャッシュメモリを特定する制御部とを備える
ことを特徴とするコンピュータシステム。 - メモリが、データを格納するステップと、
キャッシュメモリが、前記データのコピーを格納するステップと、
ディレクトリ格納部が、少なくとも前記データが前記キャッシュメモリにコピーされたことを示す情報を含む、前記データについてのディレクトリ情報を格納するステップと、
ディレクトリキャッシュ格納部に、前記ディレクトリ格納部に格納されたディレクトリ情報のコピーを格納するステップと、
前記ディレクトリキャッシュ格納部へのデータの格納を制御する制御部が、前記メモリから前記キャッシュメモリにコピーされたデータを、排他型と共有型とに分けて管理すると共に、前記排他型で持ち出されたデータについてのディレクトリ情報を前記共有型で持ち出されたデータについてのディレクトリ情報よりも優先的に前記ディレクトリキャッシュ格納部に格納し、前記共有型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に空きがある場合に格納するステップとを備える
ことを特徴とするコンピュータシステムの制御方法。 - メモリと、ディレクトリ格納部と、キャッシュメモリと、ディレクトリキャッシュ格納部と、前記ディレクトリキャッシュ格納部へのデータの格納を制御する制御部とを備えるコンピュータを制御するプログラムを格納するコンピュータ読取可能な記録媒体であって、
前記プログラムは、前記コンピュータに、
前記メモリが、データを格納するステップと、
前記キャッシュメモリが、前記データのコピーを格納するステップと、
前記ディレクトリ格納部が、少なくとも前記データが前記キャッシュメモリにコピーされたことを示す情報を含む、前記データについてのディレクトリ情報を格納するステップと、
前記ディレクトリキャッシュ格納部に、前記ディレクトリ格納部に格納されたディレクトリ情報のコピーを格納するステップと、
前記制御部が、前記メモリから前記キャッシュメモリにコピーされたデータを、排他型と共有型とに分けて管理すると共に、前記排他型で持ち出されたデータについてのディレクトリ情報を前記共有型で持ち出されたデータについてのディレクトリ情報よりも優先的に前記ディレクトリキャッシュ格納部に格納し、前記共有型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に空きがある場合に格納するステップとを実行させるプログラムである
ことを特徴とする記録媒体。 - メモリと、ディレクトリ格納部と、キャッシュメモリと、ディレクトリキャッシュ格納部と、前記ディレクトリキャッシュ格納部へのデータの格納を制御する制御部とを備えるコンピュータを制御するプログラムであって、
前記コンピュータに、
前記メモリが、データを格納するステップと、
前記キャッシュメモリが、前記データのコピーを格納するステップと、
前記ディレクトリ格納部が、少なくとも前記データが前記キャッシュメモリにコピーされたことを示す情報を含む、前記データについてのディレクトリ情報を格納するステップと、
前記ディレクトリキャッシュ格納部に、前記ディレクトリ格納部に格納されたディレクトリ情報のコピーを格納するステップと、
前記制御部が、前記メモリから前記キャッシュメモリにコピーされたデータを、排他型と共有型とに分けて管理すると共に、前記排他型で持ち出されたデータについてのディレクトリ情報を前記共有型で持ち出されたデータについてのディレクトリ情報よりも優先的に前記ディレクトリキャッシュ格納部に格納し、前記共有型で持ち出されたデータについてのディレクトリ情報を前記ディレクトリキャッシュ格納部に空きがある場合に格納するステップとを実行させる
ことを特徴とするコンピュータの制御プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/001020 WO2010100679A1 (ja) | 2009-03-06 | 2009-03-06 | コンピュータシステム、制御方法、記録媒体及び制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010100679A1 JPWO2010100679A1 (ja) | 2012-09-06 |
JP5445581B2 true JP5445581B2 (ja) | 2014-03-19 |
Family
ID=42709259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011502506A Expired - Fee Related JP5445581B2 (ja) | 2009-03-06 | 2009-03-06 | コンピュータシステム、制御方法、記録媒体及び制御プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8700863B2 (ja) |
EP (1) | EP2405361A4 (ja) |
JP (1) | JP5445581B2 (ja) |
WO (1) | WO2010100679A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012039008A1 (ja) * | 2010-09-23 | 2012-03-29 | 富士通株式会社 | 情報処理装置、メモリ制御方法及びメモリ制御装置 |
EP2611123B1 (en) * | 2011-12-29 | 2019-10-16 | BlackBerry Limited | Mobile communications device providing near field communication (NFC) security features and related methods |
JP2013142947A (ja) * | 2012-01-10 | 2013-07-22 | Sony Corp | 記憶制御装置、記憶装置および記憶制御装置の制御方法 |
US10339059B1 (en) * | 2013-04-08 | 2019-07-02 | Mellanoz Technologeis, Ltd. | Global socket to socket cache coherence architecture |
FR3022653B1 (fr) * | 2014-06-20 | 2017-10-13 | Bull Sas | Reduction des evictions dans les repertoires de gestion de memoire cache |
US9886382B2 (en) | 2014-11-20 | 2018-02-06 | International Business Machines Corporation | Configuration based cache coherency protocol selection |
US9727464B2 (en) | 2014-11-20 | 2017-08-08 | International Business Machines Corporation | Nested cache coherency protocol in a tiered multi-node computer system |
JP6428521B2 (ja) * | 2015-07-23 | 2018-11-28 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP6613874B2 (ja) * | 2015-12-24 | 2019-12-04 | 富士通株式会社 | 情報処理装置、演算処理装置および情報処理装置の制御方法 |
JP6631317B2 (ja) * | 2016-02-26 | 2020-01-15 | 富士通株式会社 | 演算処理装置、情報処理装置および情報処理装置の制御方法 |
US10521112B2 (en) * | 2017-03-17 | 2019-12-31 | International Business Machines Corporation | Layered clustered scale-out storage system |
US10528482B2 (en) | 2018-06-04 | 2020-01-07 | International Business Machines Corporation | Cache management |
US10990529B2 (en) | 2018-10-15 | 2021-04-27 | Texas Instruments Incorporated | Multi-power-domain bridge with prefetch and write merging |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11154115A (ja) * | 1997-08-25 | 1999-06-08 | Hewlett Packard Co <Hp> | 分散メモリ・マルチプロセッサ・システム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832534A (en) * | 1994-01-04 | 1998-11-03 | Intel Corporation | Method and apparatus for maintaining cache coherency using a single controller for multiple cache memories |
US5809536A (en) | 1996-12-09 | 1998-09-15 | Intel Corporation, Inc. | Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache |
US6721852B2 (en) | 2001-10-17 | 2004-04-13 | Sun Microsystems, Inc. | Computer system employing multiple board sets and coherence schemes |
US6868485B1 (en) | 2002-09-27 | 2005-03-15 | Advanced Micro Devices, Inc. | Computer system with integrated directory and processor cache |
US6981106B1 (en) * | 2002-11-26 | 2005-12-27 | Unisys Corporation | System and method for accelerating ownership within a directory-based memory system |
-
2009
- 2009-03-06 EP EP09841046A patent/EP2405361A4/en not_active Withdrawn
- 2009-03-06 WO PCT/JP2009/001020 patent/WO2010100679A1/ja active Application Filing
- 2009-03-06 JP JP2011502506A patent/JP5445581B2/ja not_active Expired - Fee Related
-
2011
- 2011-09-01 US US13/223,984 patent/US8700863B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11154115A (ja) * | 1997-08-25 | 1999-06-08 | Hewlett Packard Co <Hp> | 分散メモリ・マルチプロセッサ・システム |
Also Published As
Publication number | Publication date |
---|---|
EP2405361A1 (en) | 2012-01-11 |
EP2405361A4 (en) | 2012-12-19 |
US20120005439A1 (en) | 2012-01-05 |
JPWO2010100679A1 (ja) | 2012-09-06 |
WO2010100679A1 (ja) | 2010-09-10 |
US8700863B2 (en) | 2014-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5445581B2 (ja) | コンピュータシステム、制御方法、記録媒体及び制御プログラム | |
US8996812B2 (en) | Write-back coherency data cache for resolving read/write conflicts | |
US9170946B2 (en) | Directory cache supporting non-atomic input/output operations | |
JP4848771B2 (ja) | キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム | |
JP4362454B2 (ja) | キャッシュコヒーレンス管理装置およびキャッシュコヒーレンス管理方法 | |
US8499124B2 (en) | Handling castout cache lines in a victim cache | |
US8117397B2 (en) | Victim cache line selection | |
US9176876B2 (en) | Selective cache-to-cache lateral castouts | |
US8225045B2 (en) | Lateral cache-to-cache cast-in | |
US8489819B2 (en) | Victim cache lateral castout targeting | |
KR101639672B1 (ko) | 무한 트랜잭션 메모리 시스템 및 그 동작 방법 | |
US8606997B2 (en) | Cache hierarchy with bounds on levels accessed | |
US8347037B2 (en) | Victim cache replacement | |
US8347036B2 (en) | Empirically based dynamic control of transmission of victim cache lateral castouts | |
US8949540B2 (en) | Lateral castout (LCO) of victim cache line in data-invalid state | |
US8037252B2 (en) | Method for reducing coherence enforcement by selective directory update on replacement of unmodified cache blocks in a directory-based coherent multiprocessor | |
US8095739B2 (en) | Barriers processing in a multiprocessor system having a weakly ordered storage architecture without broadcast of a synchronizing operation | |
US6587922B2 (en) | Multiprocessor system | |
US20100217939A1 (en) | Data processing system | |
US7093075B2 (en) | Location-based placement algorithms for set associative cache memory | |
US20110185128A1 (en) | Memory access method and information processing apparatus | |
JP7139719B2 (ja) | 情報処理装置、演算処理装置及び情報処理装置の制御方法 | |
US7779205B2 (en) | Coherent caching of local memory data | |
US11409656B2 (en) | Semiconductor device | |
JP2008310414A (ja) | コンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130416 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130716 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131015 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20131022 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131209 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |