JP4860403B2 - Multiprocessor system, memory control / coherency control device, and coherency guarantee method - Google Patents
Multiprocessor system, memory control / coherency control device, and coherency guarantee method Download PDFInfo
- Publication number
- JP4860403B2 JP4860403B2 JP2006229070A JP2006229070A JP4860403B2 JP 4860403 B2 JP4860403 B2 JP 4860403B2 JP 2006229070 A JP2006229070 A JP 2006229070A JP 2006229070 A JP2006229070 A JP 2006229070A JP 4860403 B2 JP4860403 B2 JP 4860403B2
- Authority
- JP
- Japan
- Prior art keywords
- tag
- memory
- data
- coherency
- transaction
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、キャッシュメモリを搭載したCPUを複数備えた分散共有メモリ型マルチプロセッサシステム等のマルチプロセッサシステムに関し、特に、データのコヒーレンシを保証するために設けられているタグメモリから読み出されたタグ索引結果に訂正不可能障害がある場合であっても、システムダウンに陥らないようにすることができるタグ障害時のコヒーレンシ保証技術に関する。 The present invention relates to a multiprocessor system such as a distributed shared memory multiprocessor system including a plurality of CPUs equipped with a cache memory, and in particular, a tag read from a tag memory provided to guarantee data coherency. The present invention relates to a coherency guarantee technique at the time of a tag failure that can prevent a system from going down even when there is an uncorrectable failure in an index result.
従来からキャッシュメモリが搭載されたCPUを複数備えたマルチプロセッサシステムでは、データのコヒーレンシを保証するためにタグメモリが利用されている(例えば、特許文献1参照)。特許文献1では、複数のノードを備え、且つ各ノードがキャッシュメモリを搭載したCPUと各ノードによって共有される主記憶装置とを備えた分散共有メモリ型系列計算機におけるデータのコヒーレンシを保証するために、各ノードにタグメモリを設けている。この特許文献1に記載されているタグメモリは、主記憶装置のブロック毎のエントリを有し、各エントリには、対応するブロックの最新データが主記憶装置上にあるのか、キャッシュメモリ上にあるのか、キャッシュメモリ上にあり且つ更新されているのかを示す状態情報と、データを保持しているCPUのIDとが登録されている。そして、自CPU上のキャッシュメモリに存在しないデータをアクセスする際、タグメモリを引けば、最新データが、主記憶装置上に存在するのか、他のCPU内のキャッシュメモリ上に存在するのかが分かるので、最新データをアクセスすることができ、データのコヒーレンシを保証することができる。
Conventionally, in a multiprocessor system including a plurality of CPUs equipped with a cache memory, a tag memory is used to guarantee data coherency (see, for example, Patent Document 1). In
一方、キャッシュメモリのアドレスアレイに登録するデータにECC(error correcting code)等の誤り訂正符号を付加し、アドレスアレイから読み出されたデータに障害があった場合、アドレスアレイの上記データを読み出したエントリを無効化すると共に、訂正したデータを利用して、無効化したエントリに対応するキャッシュメモリ上のデータを主記憶装置に書き戻す技術も従来から知られている(例えば、特許文献2参照)。 On the other hand, when an error correction code such as ECC (error correcting code) is added to the data registered in the address array of the cache memory and there is a failure in the data read from the address array, the data in the address array is read. A technique for invalidating an entry and writing back the data on the cache memory corresponding to the invalidated entry to the main storage device using the corrected data is also known (see, for example, Patent Document 2). .
ところで、特許文献1に記載されている従来の技術によれば、タグメモリを参照することにより、最新データの所在が分かるので、データのコヒーレンシを保証することができる。しかし、タグメモリに障害が発生し、タグ索引結果に誤りが発生した場合には、どこに最新データが存在するのか分からなくなってしまうため、データのコヒーレンシを保証することができなくなり、システムダウンとなってしまう。
By the way, according to the conventional technique described in
そこで、特許文献2に記載されている従来の技術を、特許文献1に記載されている従来の技術に適用するということが考えられる。このようにすることにより、検出された障害が1ビットエラー等の訂正可能障害である場合は、訂正されたタグ索引結果を利用して動作を継続することが可能になる。しかし、検出された障害が2ビットエラー等の訂正不可能障害である場合には、最新データがどこに存在するのかが分からなくなってしまうため、システムダウンとなってしまう。
Therefore, it is conceivable that the conventional technique described in
〔発明の目的〕
そこで、本発明の目的は、タグメモリから読み出されたタグ索引結果に訂正不可能障害がある場合であっても、動作を継続できるようにすることにある。
(Object of invention)
Therefore, an object of the present invention is to enable the operation to continue even when there is an uncorrectable failure in the tag index result read from the tag memory.
本発明にかかる第1のマルチプロセッサシステムは、
主記憶装置と、
該主記憶装置に格納されているデータの一部の写しが格納されたキャッシュメモリを搭載した複数のCPUと、
前記各キャッシュメモリ内のデータの状態を管理するタグメモリを有し、該タグメモリを用いてデータのコヒーレンシを保証するメモリコントロール/コヒーレンシ制御装置とを備え、
該メモリコントロール/コヒーレンシ制御装置が、前記タグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、前記各CPUに対して、前記訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すように指示することを特徴とする。
A first multiprocessor system according to the present invention includes:
A main storage device;
A plurality of CPUs equipped with a cache memory in which a copy of a part of the data stored in the main storage device is stored;
A tag memory that manages the state of data in each cache memory, and a memory control / coherency control device that guarantees data coherency using the tag memory;
When the memory control / coherency control device detects an uncorrectable fault in the tag index result indexed from the tag memory, the CPU is associated with the tag index result in which the uncorrectable fault is detected for each CPU. The main storage device is instructed to sweep out all the data that may be generated.
本発明にかかる第2のマルチプロセッサシステムは、第1のマルチプロセッサシステムにおいて、
前記メモリコントロール/コヒーレンシ制御装置が、
前記各キャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが、前記データの下位アドレスに対応するエントリに格納されたタグメモリと、
トランザクションの下位アドレスによって前記タグメモリから索引されたタグ索引結果に訂正不可能障害があるか否かをチェックする障害チェック回路と、
該障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すことを指示するコヒーレンシ制御部とを備えたことを特徴とする。
A second multiprocessor system according to the present invention is the first multiprocessor system,
The memory control / coherency control device includes:
A tag memory stored in an entry corresponding to the lower address of the data, an upper address of the data stored in each cache memory, and a status indicating whether the data is the latest data;
A fault check circuit that checks whether there is an uncorrectable fault in the tag index result indexed from the tag memory by the lower address of the transaction;
When the failure check circuit determines that there is an uncorrectable failure in the tag index result, the lower address of the data stored in the cache memory is used for tag indexing for each CPU. And a coherency control unit for instructing to sweep out all data matching the lower address to the main memory.
本発明にかかる第3のマルチプロセッサシステムは、第2のマルチプロセッサシステムにおいて、
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各CPUに対して発行することを特徴とする。
A third multiprocessor system according to the present invention is the second multiprocessor system,
The coherency control unit generates, for all upper addresses, a swap transaction including the upper address and the lower address used at the time of tag indexing, and issues the generated swap transaction to each CPU. Features.
本発明にかかる第4のマルチプロセッサシステムは、第2のマルチプロセッサシステムにおいて、
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各CPUが通常処理を行っていないときに、前記各CPUに対して発行することを特徴とする。
A fourth multiprocessor system according to the present invention is the second multiprocessor system,
The coherency control unit generates a swap transaction including the upper address and the lower address used at the time of the tag index for all upper addresses, and the CPU does not perform normal processing on the generated swap transaction. Sometimes, it is issued to each of the CPUs.
本発明にかかる第5のマルチプロセッサシステムは、第2のマルチプロセッサシステムにおいて、
サービスプロセッサを備え、前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記サービスプロセッサが前記コヒーレンシ制御部の代わりに、前記各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すように指示することを特徴とする。
A fifth multiprocessor system according to the present invention is the second multiprocessor system,
A service processor, and when the failure check circuit determines that there is an uncorrectable failure in the tag index result, the service processor stores the CPU in the cache memory instead of the coherency control unit It is characterized in that all data whose lower address matches the lower address used at the time of tag indexing is instructed to be swept out to the main memory.
本発明にかかる第6のマルチプロセッサシステムは、第2のマルチプロセッサシステムにおいて、
前記コヒーレンシ制御部が、
前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できない場合は、直ちに、前記トランザクションのフルアドレスを含むスワップトランザクションを前記各CPUに対して発行し、その後、全ての上位アドレスについて、その上位アドレスと前記トランザクションの下位アドレスとを含むスワップトランザクションを生成し、前記各CPUが通常処理を行っていないとき、前記生成したスワップトランザクションを前記各CPUに対して発行し、前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できた場合は、全ての上位アドレスについて、その上位アドレスと前記トランザクションの下位アドレスとを含むスワップトランザクションを生成し、前記各CPUが通常処理を行っていないとき、前記生成したスワップトランザクションを前記各CPUに対して発行することを特徴とする。
A sixth multiprocessor system according to the present invention is the second multiprocessor system,
The coherency control unit is
When it is determined by the failure check circuit that there is an uncorrectable failure in the tag index result, and based on the contents of the tag memory, it cannot be determined that the latest data to be accessed by the transaction exists on the cache memory Immediately, issue a swap transaction including the full address of the transaction to the CPUs, and then generate a swap transaction including the upper address and the lower address of the transaction for all upper addresses. When the CPU is not performing normal processing, the generated swap transaction is issued to each CPU, the failure check circuit determines that the tag index result has an uncorrectable fault, and the tag memory Cache based on content If it is determined that there is the latest data to be accessed by the transaction on the memory, a swap transaction including the upper address and the lower address of the transaction is generated for all upper addresses, and each CPU When normal processing is not performed, the generated swap transaction is issued to each CPU.
本発明にかかる第1のメモリコントロール/コヒーレンシ制御装置は、
主記憶装置と、該主記憶装置に格納されているデータの一部の写しが格納されたキャッシュメモリを搭載した複数のCPUとを備えたマルチプロセッサシステムにおけるデータのコヒーレンシを、前記各キャッシュメモリ内のデータの状態を管理するタグメモリを利用して保証するメモリコントロール/コヒーレンシ制御装置であって、
前記タグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、前記各CPUに対して、前記訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すことを指示する構成を有する。
The first memory control / coherency control device according to the present invention is:
Data coherency in a multiprocessor system comprising a main storage device and a plurality of CPUs equipped with a cache memory storing a copy of a portion of the data stored in the main storage device is stored in each cache memory. A memory control / coherency control device that uses a tag memory to manage the data state of
When an uncorrectable failure is detected in the tag index result indexed from the tag memory, all data that may be related to the tag index result in which the uncorrectable failure is detected are stored for each CPU. The main storage device is instructed to be swept out.
本発明にかかる第2のメモリコントロール/コヒーレンシ制御装置は、第1のメモリコントロール/コヒーレンシ制御装置において、
前記各キャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが、前記データの下位アドレスに対応するエントリに格納されたタグメモリと、
トランザクションの下位アドレスによって前記タグメモリから索引されたタグ索引結果に訂正不可能障害があるか否かをチェックする障害チェック回路と、
該障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すことを指示するコヒーレンシ制御部とを備えたことを特徴とする。
A second memory control / coherency control device according to the present invention is the first memory control / coherency control device,
A tag memory stored in an entry corresponding to the lower address of the data, an upper address of the data stored in each cache memory, and a status indicating whether the data is the latest data;
A fault check circuit that checks whether there is an uncorrectable fault in the tag index result indexed from the tag memory by the lower address of the transaction;
When the failure check circuit determines that there is an uncorrectable failure in the tag index result, the lower address of the data stored in the cache memory is used for tag indexing for each CPU. And a coherency control unit for instructing to sweep out all data matching the lower address to the main memory.
本発明にかかる第3のメモリコントロール/コヒーレンシ制御装置は、第2のメモリコントロール/コヒーレンシ制御装置において、
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各CPUに対して発行することを特徴とする。
A third memory control / coherency control device according to the present invention is the second memory control / coherency control device,
The coherency control unit generates, for all upper addresses, a swap transaction including the upper address and the lower address used at the time of tag indexing, and issues the generated swap transaction to each CPU. Features.
本発明にかかる第4のメモリコントロール/コヒーレンシ制御装置は、第2のメモリコントロール/コヒーレンシ制御装置において、
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各CPUが通常処理を行っていないときに、前記各CPUに対して発行することを特徴とする。
A fourth memory control / coherency control device according to the present invention is the second memory control / coherency control device,
The coherency control unit generates a swap transaction including the upper address and the lower address used at the time of the tag index for all upper addresses, and the CPU does not perform normal processing on the generated swap transaction. Sometimes, it is issued to each of the CPUs.
本発明にかかる第5のメモリコントロール/コヒーレンシ制御装置は、第2のメモリコントロール/コヒーレンシ制御装置において、
前記コヒーレンシ制御部が、
前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できない場合は、直ちに、前記トランザクションのフルアドレスを含むスワップトランザクションを前記各CPUに対して発行し、その後、全ての上位アドレスについて、その上位アドレスと前記トランザクションの下位アドレスとを含むスワップトランザクションを生成し、前記各CPUが通常処理を行っていないとき、前記生成したスワップトランザクションを前記各CPUに対して発行し、前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できた場合は、全ての上位アドレスについて、その上位アドレスと前記トランザクションの下位アドレスとを含むスワップトランザクションを生成し、前記各CPUが通常処理を行っていないとき、前記生成したスワップトランザクションを前記各CPUに対して発行することを特徴とする。
A fifth memory control / coherency control device according to the present invention is the second memory control / coherency control device,
The coherency control unit is
When it is determined by the failure check circuit that there is an uncorrectable failure in the tag index result, and based on the contents of the tag memory, it cannot be determined that the latest data to be accessed by the transaction exists on the cache memory Immediately, issue a swap transaction including the full address of the transaction to the CPUs, and then generate a swap transaction including the upper address and the lower address of the transaction for all upper addresses. When the CPU is not performing normal processing, the generated swap transaction is issued to each CPU, the failure check circuit determines that the tag index result has an uncorrectable fault, and the tag memory Cache based on content If it is determined that there is the latest data to be accessed by the transaction on the memory, a swap transaction including the upper address and the lower address of the transaction is generated for all upper addresses, and each CPU When normal processing is not performed, the generated swap transaction is issued to each CPU.
本発明にかかる第1のコヒーレンシ保証方法は、
主記憶装置と、該主記憶装置に格納されているデータの一部の写しが格納されたキャッシュメモリを搭載した複数のCPUとを備えたマルチプロセッサシステムにおけるデータのコヒーレンシを保証するコヒーレンシ保証方法であって、
前記各キャッシュメモリ内のデータの状態を管理するタグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、前記各CPUに対して、前記訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すように指示することを特徴とする。
A first coherency guarantee method according to the present invention includes:
A coherency guarantee method for guaranteeing data coherency in a multiprocessor system comprising a main storage device and a plurality of CPUs equipped with a cache memory storing a copy of a part of the data stored in the main storage device There,
When an uncorrectable failure is detected in the tag index result indexed from the tag memory that manages the state of data in each cache memory, the tag index result in which the uncorrectable failure is detected for each CPU The main storage device is instructed to sweep out all data that may be related to.
本発明にかかる第2のコヒーレンシ保証方法は、
主記憶装置と、該主記憶装置に格納されているデータの一部の写しが格納されたキャッシュメモリを搭載した複数のCPUとを備えたマルチプロセッサシステムにおけるデータのコヒーレンシを保証するコヒーレンシ保証方法であって、
各キャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが前記データの下位アドレスに対応するエントリに格納されたタグメモリを、トランザクションの下位アドレスによって索引することにより得られたタグ索引結果に訂正不可能障害が検出された場合、前記各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すことを指示し、該指示に従って前記各CPUが該当するデータを前記主記憶装置に掃き出すことを特徴とする。
The second coherency guarantee method according to the present invention is:
A coherency guarantee method for guaranteeing data coherency in a multiprocessor system comprising a main storage device and a plurality of CPUs equipped with a cache memory storing a copy of a part of the data stored in the main storage device There,
The tag memory in which the upper address of the data stored in each cache memory and the status indicating whether or not the data is the latest data is stored in the entry corresponding to the lower address of the data is represented as the lower address of the transaction. When an uncorrectable failure is detected in the tag index result obtained by indexing according to the above, the lower address of the data stored in the cache memory is used for tag indexing for each CPU. The main storage device is instructed to sweep out all data that matches the lower address, and each CPU sweeps out the corresponding data to the main storage device in accordance with the instruction.
〔作用〕
メモリコントロール/コヒーレンシ制御装置は、各キャッシュメモリ内のデータの状態を管理するタグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、各CPUに対して、訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すように指示する。より具体的には、各CPU上のキャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが、データの下位アドレスに対応するエントリに格納されたタグメモリを、トランザクションの下位アドレスによって索引することにより得られたタグ索引結果に訂正不可能障害が検出された場合、メモリコントロール/コヒーレンシ制御装置は、各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すことを指示する。この指示に従って各CPUは、自CPU上のキャッシュメモリに格納されている該当データを主記憶装置に掃き出す。タグメモリの或るエントリに訂正不可能障害が発生すると、そのエントリによって最新データがキャッシュメモリ上であるのか否かが管理されていたデータについては、最新データがキャッシュメモリ上にあるのか主記憶装置上にあるのかが分からなくなってしまうが、上記したように、各CPUのキャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すようにすることにより、最新データは、必ず主記憶装置上に存在することになるので、データのコヒーレンシを保証することができる。
[Action]
When the memory control / coherency control device detects an uncorrectable failure in the tag index result indexed from the tag memory that manages the state of data in each cache memory, an uncorrectable failure is detected for each CPU. Instructs main memory to sweep all data that may be related to the tagged index results. More specifically, the upper address of the data stored in the cache memory on each CPU and the status indicating whether the data is the latest data are stored in the entry corresponding to the lower address of the data. When an uncorrectable fault is detected in the tag index result obtained by indexing the tag memory with the lower address of the transaction, the memory control / coherency control device stores the cache memory for each CPU. It is instructed that all data whose lower address matches the lower address used at the time of tag indexing to the main storage device. In accordance with this instruction, each CPU sweeps out the corresponding data stored in the cache memory on its own CPU to the main memory. When an uncorrectable failure occurs in a certain entry in the tag memory, with respect to data for which it is managed whether or not the latest data is in the cache memory by the entry, whether the latest data is in the cache memory or not However, as described above, all of the data stored in the cache memory of each CPU whose main address matches the lower address used at the time of tag indexing is mainly used. By sweeping the data to the storage device, the latest data always exists on the main storage device, so that data coherency can be guaranteed.
本発明によれば、タグメモリから読み出されたタグ索引結果に訂正不可能障害が検出された場合であっても、データのコヒーレンシを保証することができるので、動作を継続することが可能になる。その理由は、タグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、各CPUに対して、訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すことを指示するメモリコントロール/コヒーレンシ制御装置を備えているからである。 According to the present invention, even when an uncorrectable failure is detected in the tag index result read from the tag memory, data coherency can be ensured, so that the operation can be continued. Become. The reason is that if an uncorrectable fault is detected in the tag index result indexed from the tag memory, all data that may be related to the tag index result in which the uncorrectable fault is detected is sent to each CPU. This is because it includes a memory control / coherency control device that instructs the main storage device to be swept out.
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。 Next, the best mode for carrying out the invention will be described in detail with reference to the drawings.
〔第1の実施の形態の構成の説明〕
図1は本発明にかかる分散共有メモリ型マルチプロセッサシステムの第1の実施の形態の構成例を示すブロック図である。図1を参照すると、本実施の形態の分散共有メモリ型マルチプロセッサシステムは、複数のセル(ノード)10を備え、それらは第二、第三インタフェース21、22を介して相互に接続されている。
[Description of Configuration of First Embodiment]
FIG. 1 is a block diagram showing a configuration example of a first embodiment of a distributed shared memory multiprocessor system according to the present invention. Referring to FIG. 1, the distributed shared memory multiprocessor system according to the present embodiment includes a plurality of cells (nodes) 10, which are connected to each other via second and
各セル10は、それぞれストアイン方式のキャッシュメモリ(キャッシュ)15が搭載された複数のCPU(中央処理装置)11と、タグ部13を有するメモリコントロール/コヒーレンシ制御装置12と、主記憶装置14とを備えており、CPU11とメモリコントロール/コヒーレンシ制御装置12とは第一インタフェース20を介して相互に接続されている。各セル10内の主記憶装置14は、全てのセル10からアクセス可能になっている。
Each
各セル10内のメモリコントロール/コヒーレンシ制御装置12に設けられているタグ部13には、そのセル10内のキャッシュ15に格納されているデータが最新データであるか否かを示すステータスが登録されている。
A status indicating whether or not the data stored in the
図2にタグ部13の構成例を示す。同図を参照すると、タグ部13は、タグメモリ131と、ECCチェック&訂正回路132と、比較回路133とを備えている。
FIG. 2 shows a configuration example of the
タグメモリ131は、データの下位アドレス毎のエントリを複数レベル有しており、各エントリには、そのエントリが使用可能であるか否かを示すエントリ使用不可フラグFと、キャッシュ15に格納されているデータの上位アドレスと、上記データが最新データであるか否かを示すステータスと、ECCとが登録されている。そして、アクセス対象データの下位アドレスが入力されることにより、上記下位アドレスによって選択されたエントリに格納されている情報をタグ索引結果として出力する。
The
ECCチェック&訂正回路132は、タグメモリ131の各レベル毎に存在し、対応するレベルのタグ索引結果に対するECCチェック及び訂正を行う。より具体的には、各レベルのECCチェック&訂正回路132は、それぞれタグメモリ131から読み出された対応するレベルのタグ索引結果に対してECCチェックを行う。そして、エラーが無い場合は、タグメモリ131から読み出されたタグ索引結果を出力し、訂正可能なエラーを検出した場合には、訂正後のタグ索引結果と訂正可能情報(索引時に使用されたアクセス対象データの下位アドレスと、自回路132のレベルとを含む)とを出力し、訂正不可能なエラーを検出した場合には、訂正不可能情報(索引時に使用されたアクセス対象データの下位アドレスと、自回路132のレベルとを含む)を出力する。
The ECC check &
比較回路133は、各レベルのECCチェック&訂正回路132から出力されたタグ索引結果中の上位アドレスと、タグ索引時に使用したアクセス対象データの上位アドレスとを比較し、両者が等しいタグ索引結果があれば、それを第三インタフェース22に出力する。但し、ECCチェック&訂正回路132の出力の中に訂正不可能情報が存在する場合は、訂正不可能情報も第三インタフェース22に出力し、訂正可能情報が存在する場合は、訂正可能情報と訂正後のタグ索引結果との対も第三インタフェース22に出力する。なお、第三インタフェース22は、各セル10毎に、使用するビット位置が決められており、そのビット位置に基づいてどのセル10が出力した情報なのかを特定できるようになっている。
The
図3は、メモリコントロール/コヒーレンシ制御装置12の構成例を示すブロック図である。同図を参照すると、メモリコントロール/コヒーレンシ制御装置12は、第二インタフェース出力調停部101と、タグ部13及びメイン制御部103を有するメインパイプ102と、タグスワップ制御部104と、比較回路105と、タグ書き戻し制御部106と、コヒーレンシ制御部107と、主記憶アクセス制御部108とを備えている。なお、図3において、他の図1と同一符号は、同一部分を表している。
FIG. 3 is a block diagram illustrating a configuration example of the memory control /
第二インタフェース出力調停部101は、その内部にCPU11や図示を省略した入出力装置から送られてきたトランザクション(ライト命令やリード命令などの命令)を複数個格納できるレジスタ(図示せず)を備えており、上記レジスタに格納されたトランザクションを順次第二インタフェース21に出力する。但し、メイン制御部103からパス220を介してスワップ処理中であることを示すスワップ処理中信号が入力されている間は、現在出力中のトランザクション(レジスタの先頭部分にセットされているトランザクション)を第二インタフェース21に出力し続ける。また、各セル10は、第二インタフェース21を時分割して使用しており、各セル10内の第二インタフェース出力調停部101は、自セルに割り当てられたタイミングにおいてトランザクションを第二インタフェース21に出力する。
The second interface
第二インタフェース21には、分散共有メモリ型マルチプロセッサシステムを構成する全てのセル10が接続されており、各セル10内のメインパイプ102は、パス212を介して第二インタフェース21上のトランザクションを同時に受信する。このパス212を介して受信したトランザクションは、タグ部13及びメイン制御部103に供給される。
All the
メインパイプ102内のタグ部13は、パス212を介してトランザクションが入力されると、前述したように、上位アドレスが一致したタグ索引結果、訂正可能情報と訂正後のタグ索引結果との対、訂正不可能情報などを第三インタフェース22に出力する。
When the transaction is input via the
第三インタフェース22にも、分散共有メモリ型マルチプロセッサシステムを構成する全てのセル10が接続されており、各セル10内のメインパイプ102は、パス214を介して第三インタフェース22上のタグ索引結果、訂正可能情報と訂正後のタグ索引結果との対、訂正不可能情報などを同時に受信する。
All the
メインパイプ102内のメイン制御部103は、パス214を介して第三インタフェース22から受信した情報に基づいて、既にパス212を介して受け付けているトランザクションに対する処理を、次のように決定する。
Based on the information received from the
・パス214を介して第三インタフェース22から受信した情報に基づいて、自セル10内のタグ部13が正常であり、且つ、パス212を介して既に受信しているトランザクションがアクセス対象にしているデータ(最新データ)を格納しているキャッシュ15が存在しないと判断した場合は、上記トランザクションを自セル10内の主記憶アクセス制御部108に送る。これにより、主記憶アクセス制御部108は、上記トランザクションがアクセス対象にしているデータが、自セル10内の主記憶装置14に存在する場合は、上記データをアクセスする。即ち、上記トランザクションがライトトランザクションであれば、それに従ってデータを書き換え、リードトランザクションであれば、該当データを図示を省略したデータバスに出力する。
・パス214を介して第三インタフェース22から受信した情報に基づいて、自セル10内のタグ部13が正常であり、且つ、パス212を介して既に受信しているトランザクションがアクセス対象にしているデータが、自セル10内のキャッシュ15上に存在すると判断した場合は、コヒーレンシ制御部107を介して、自セル10内の各CPU11に、上記トランザクションを送信する。各CPU11は、自CPU11内のキャッシュ15にアクセス対象にしているデータが存在する場合は、上記データをアクセスする。
・パス214を介して第三インタフェース22から受信した情報に基づいて、自セル10内のタグ部13に訂正可能障害が発生していると判断した場合、即ち、第三インタフェース22の自セル10に割り当てられているビットを介して訂正可能情報と訂正後のタグ索引結果との対を受信した場合は、タグスワップ制御部104に対して上記訂正可能情報に含まれていたアクセス対象データの下位アドレス(タグ索引時に使用したトランザクションの下位アドレス)を登録する処理と、タグ書き戻し制御部106に対して上記訂正可能情報に含まれていた下位アドレスと障害を検出したECCチェック&訂正回路132のレベルとを登録する処理と、コヒーレンシ制御部107に対して上記訂正可能情報に含まれていた下位アドレスと上記訂正後のタグ索引結果に含まれていた上位アドレスとを登録してスワップトランザクションの発行を指示する処理とを行う。
・パス214を介して第三インタフェース22から受信した情報に基づいて、自セル10内のタグ部13に訂正不可能障害が発生していると判断した場合、即ち、第三インタフェース22の自セル10に割り当てられているビットを介して訂正不可能情報を受信した場合は、タグスワップ制御部104に対して上記訂正不可能情報に含まれていたアクセス対象データの下位アドレスを登録する処理と、タグ書き戻し制御部106に対して上記訂正不可能情報に含まれていた下位アドレスと障害を検出したECCチェック&訂正回路132のレベルとを登録する処理と、コヒーレンシ制御107に対して訂正不可能情報に含まれていた下位アドレスを登録してスワップトランザクションの発行を指示する処理とを行う。
Based on the information received from the
Based on the information received from the
When it is determined that a correctable failure has occurred in the
When it is determined that an uncorrectable failure has occurred in the
また、メイン制御部103は、訂正可能情報または訂正不可能情報に含まれていた下位アドレスをタグスワップ制御部104に登録すると、後述するスワップ処理が完了するまで、次のような処理を行う。タグスワップ制御部104に登録されている下位アドレスと、第二インタフェース21に出力されたトランザクションの下位アドレスとを比較する比較回路105により、両者が一致することが検出され、且つ、上記トランザクションの発行元が自セル10である場合は、パス220を介して第二インタフェース出力調停部101にスワップ処理中信号を送る。また、上記トランザクションの発行元が他のセル10であった場合は、第三インタフェース22を介して発行元のセル10にトランザクションをキャンセルしたことを示すキャンセル信号を送る。これは、スワップ処理中に、下位アドレスがタグスワップ制御部104に登録されている下位アドレスと同一のトランザクションが発行された場合にもコヒーレンシを保証できるようにするためである。
Further, when the
コヒーレンシ制御部107は、メイン制御部103からスワップトランザクションの発行が指示されると、パス219を介して自セル10内の各CPU11にスワップトランザクションを発行する。その際、メイン制御部103により、下位アドレス及び上位アドレスが登録されている場合(タグ部13に発生した障害が訂正可能障害の場合)は、上記下位アドレスと上位アドレスとを含むスワップトランザクションを発行し、下位アドレスしか登録されていない場合(タグ部13に発生した障害が訂正不可能障害の場合)は、全ての上位アドレスそれぞれについて、その上位アドレスと上記下位アドレスとを含むスワップトランザクションを生成し、生成した各スワップトランザクションを発行する。例えば、上位アドレスがkビットであるとすると、2k個のスワップトランザクションを発行することになる。
When the
各CPU11は、スワップトランザクションを受け取ると、キャッシュ15内に該当するデータが存在するか否かを調べ、存在しない場合には、パス210→パス211→第二インタフェース21→パス212の経路でメインパイプ102に該当するデータが存在しなかったことを示すリプライトランザクションを返す。これに対して、キャッシュ15内に該当するデータが存在していた場合は、キャッシュ掃き出し処理を行い、キャッシュ15に格納されていた該当するデータを主記憶装置14に書き戻すと共に、上記した経路でメインパイプ102に対してキャッシュ掃き出し処理が完了したことを示すリプライトランザクションを返す。
When each
これらのリプライトランザクションを契機にして、メイン制御部103は、タグスワップ制御部104に登録した下位アドレスを消去する。これにより、メインパイプ102上でキャンセルされていた同一アドレストランザクションはキャンセル状態から開放され通常動作に戻ることができる。また、メイン制御部103は、CPU11からのリプライトランザクションを契機にしてタグ書き戻し制御部106に対してエントリ使用不可フラグの生成を指示する。これにより、タグ書き戻し制御部106は、メイン制御部103によって登録されている下位アドレスとレベルとによって特定される、タグメモリ131の障害エントリのエントリ使用不可フラグに“1”(使用不可を示す)をセットする。これ以後のタグ索引トランザクションがタグ索引した場合に、エントリ使用不可フラグ=“1”のレベルを参照するとそのレベルは無効であると判断し使用しない。
In response to these reply transactions, the
〔第1の実施の形態の動作の説明〕
次に、図1〜図5を参照して本実施の形態の動作について詳細に説明する。なお、図4は主にタグメモリ131に訂正可能障害が発生したときの処理例を示すフローチャート、図5は主にタグメモリ131に訂正不可能障害が発生したときの処理例を示すフローチャートである。
[Description of Operation of First Embodiment]
Next, the operation of the present embodiment will be described in detail with reference to FIGS. 4 is a flowchart showing an example of processing when a correctable failure occurs mainly in the
各セル10内の各CPU11は、データアクセス時、自CPU11内のキャッシュ15にアクセス対象データが存在しない場合は、アクセス対象データのアドレスを含むトランザクションを、第二インタフェース出力調停部101を介して第二インタフェース21に出力する。
At the time of data access, each
各セル10では、第二インタフェース21を介して上記トランザクションを受け取ると、それに含まれているアドレスの下位アドレスでタグ索引を行う(図4のステップ4−1)。これにより、タグメモリ131の上記下位アドレスに対応する各レベルのエントリからタグ索引結果が読み出され、ECCチェック&訂正回路132において障害チェックが行われる。ECCチェック&訂正回路132は、障害が無いと判断した場合は、タグ索引結果をそのまま出力し、訂正可能な障害があると判断した場合は、訂正後のタグ索引結果と訂正可能情報(下位アドレスとレベルとを含む)との対を出力し、訂正不可能な障害があると判断した場合は、訂正不可能情報(下位アドレスとレベルとを含む)を出力する。比較回路133は、各レベルのタグ索引結果の内の、上位アドレスがアクセス対象データの上位アドレスと一致するタグ索引結果を第三インタフェース22に出力する。また、各レベルのECCチェック&訂正回路132の出力の中に、訂正可能情報が含まれている場合は、訂正可能情報と訂正後のタグ索引結果との対も第三インタフェース22に出力し、訂正不可能信号が含まれている場合は、それも第三インタフェース22に出力する。
In each
各セル10内のメイン制御部103は、第三インタフェース22を介して受信した情報に基づいて自セル10内のタグ部13に障害がないと判断した場合、通常動作を行う(ステップ4−2がNO、4−3)。また、自セル10内のタグ部13に訂正不可能障害が発生したと判断した場合(ステップ4−2がYES、4−4がNO)は、ステップ4−16の処理に進む。また、自セル10内のタグ部13に訂正可能障害が発生したと判断した場合(ステップ4−2がYES、4−4がYES)は、以下の処理を行う。
If the
メイン制御部103は、訂正可能情報と訂正後のタグ索引結果を受信すると、訂正可能情報に含まれている下位アドレス(タグ索引時に使用された下位アドレス)をタグスワップ制御部104に登録する処理(ステップ4−5)と、訂正可能情報に含まれている下位アドレス及びレベルをタグ書き戻し制御部106に登録する処理(ステップ4−7)と、訂正可能情報に含まれている下位アドレスと訂正後のタグ索引結果に含まれている上位アドレスとをコヒーレンシ制御部107に登録してスワップトランザクションの発行を指示する処理(ステップ4−10)とを行う。なお、ステップ4−7の処理は行わないようにしても良い。当然この場合は、ステップ4−8、4−9の処理も行わない。
When the
ステップ4−5でタグスワップ制御部104に下位アドレスを登録した後、比較回路105の出力が比較一致を示すものになると、メイン制御部103は、第二インタフェース21上のトランザクションの発行元が自セル10であれば、パス220を介して第二インタフェース出力調停部101にスワップ処理中信号を出力し、発行元が他セル10であれば、第三インタフェース22を介して発行元のセル10にキャンセル情報を送る(ステップ4−14)。なお、タグ部13は、比較回路105に出力が比較一致を示している間は、タグ索引を行わない。
After the lower address is registered in the tag swap control unit 104 in step 4-5, when the output of the
一方、コヒーレンシ制御部107は、ステップ4−10において、下位アドレス及び上位アドレスが登録され、スワップトランザクションの発行が指示されると、上記下位アドレス及び上記上位アドレスを含んだスワップトランザクションを自セル10内の各CPU11に発行する(ステップ4−11)。各CPU11は、スワップトランザクションを受け付けると、キャッシュ掃き出し処理を行い、リプライトランザクションを第二インタフェース21に出力する(ステップ4−12)。
On the other hand, when the lower address and the higher address are registered and the issuance of the swap transaction is instructed in Step 4-10, the
メインパイプ102内のメイン制御部103は、キャッシュ掃き出し処理が完了した旨のリプライトランザクションを受け付けると(ステップ4−13)、タグスワップ制御部104に登録している下位アドレスを削除すると共に、スワップ処理中信号の出力を停止する(ステップ4−6)。これによりメインパイプ102でキャンセルされていたトランザクションのキャンセル状態は解除される(ステップ4−15)。また、メイン制御部103は、上記リプライトランザクションを受け付けると(ステップ4−13)、タグ書き戻し制御部106に対してエントリ使用不可フラグをタグメモリ131の障害エントリにセットすることを指示する。これにより、タグ書き戻し制御部106は、タグメモリ131の障害エントリ(ステップ4−7で登録された下位アドレス及びレベルによって特定されるエントリ)にエントリ使用不可フラグをセットする(ステップ4−8)。このエントリ使用不可フラグが点灯しているエントリはこれ以後使われなくなる(ステップ4−9)。これによりタグの障害エントリのレベルのみ動的に縮退が完了し継続動作が可能となる。
When the
次に、メイン制御部103が、ステップ4−4において自セル10内のタグ部13に訂正不可能障害が発生したと判断した場合の動作を説明する。タグ部13に訂正不可能障害が発生した場合は、ECCチェック&訂正回路132によりエラー訂正を行うことができないため、正しい上位アドレスが何であったか分からない。そこで、全ての上位アドレスそれぞれについて、その上位アドレスとタグ索引時に使用した下位アドレスとを含むスワップトランザクションを生成し、生成した各スワップトランザクションを自セル10内の各CPU11に対して発行することで、上記下位アドレスを持つキャッシュ情報を全て主記憶装置14に書き戻せるようにしている。
Next, an operation when the
メイン制御部103は、第三インタフェース22を介して受け取った訂正不可能情報により、自セル10内のタグ部13に訂正不可能障害が発生したと判断すると(ステップ4−4がNO)、訂正不可能情報に含まれている下位アドレス(タグ索引時に使用された下位アドレス)をタグスワップ制御部104に登録する処理(図5のステップ5−1)と、訂正不可能情報に含まれている下位アドレス及びレベルをタグ書き戻し制御部106に登録する処理(ステップ5−3)と、訂正不可能情報に含まれている下位アドレスをコヒーレンシ制御部107に登録してスワップトランザクションの発行を指示する処理(ステップ5−6)とを行う。
If the
ステップ5−1でタグスワップ制御部104に下位アドレスを登録した後、比較回路105の出力が比較一致を示すものになると、メイン制御部103は、第二インタフェース21上のトランザクションの発行元が自セル10であれば、パス220を介して第二インタフェース出力調停部101に対してスワップ処理中信号を出力し、発行元が他のセル10であれば、第三インタフェース22を介して発行元のセル10にキャンセル情報を送信する(ステップ5−10)。このような処理は、スワップ処理が完了し、タグスワップ制御部104に登録されている下位アドレスが消去されるまで継続される。
After the lower address is registered in the tag swap control unit 104 in step 5-1, when the output of the
一方、コヒーレンシ制御部107は、ステップ5−6において、下位アドレスだけが登録され、スワップトランザクションの発行が指示されると、全ての上位アドレスそれぞれについて、その上位アドレスと上記下位アドレスとを含むスワップトランザクションを生成し、生成したスワップトランザクションを小さなアドレスから昇順に、自セル10内の各CPU11に発行する(ステップ5−7)。これにより、コヒーレンシ制御部107がビジー状態となるため、コヒーレンシ制御部107を使用する後続トランザクションはキャンセルされ、ビジー状態が解消されるまで(ステータス処理が完了するまで)、待たされることになる。CPU11はスワップトランザクションを受け付けるとキャッシュ掃き出し処理を行い、リプライトランザクションをメイン制御部103に返す(ステップ5−8)。
On the other hand, when only the lower address is registered in step 5-6 and the issue of the swap transaction is instructed, the
メイン制御部103は、自セル10内の全てのCPU11から最も大きなアドレスについてのリプライトランザクションを受け付けると(ステップ5−9)、タグスワップ制御部104に登録しておいた下位アドレスを削除すると共に、スワップ処理中信号の出力を停止する(ステップ5−2)。これによりメインパイプ102でキャンセルされていたトランザクションのキャンセル状態は解除される(ステップ5−11)。また、メイン制御部103は、全てのCPU11から最も大きなアドレスについてのリプライトランザクションを受け付けると(ステップ5−9)、タグ書き戻し制御部106に対してエントリ使用不可フラグをタグメモリ131の障害エントリにセットすることを指示する。これにより、タグ書き戻し制御部106は、タグメモリ131の障害エントリにエントリ使用不可フラグをセットすると共に、障害エントリと同じ下位アドレスを有する各エントリ中のステータスを、最新データが主記憶装置14上に存在することを示すものに書き換える(ステップ5−4)。このエントリ使用不可フラグが点灯しているエントリはこれ以後使われなくなる(ステップ5−5)。これによりタグの障害エントリのレベルのみ動的に縮退が完了し継続動作が可能となる。
When the
〔第1の実施の形態の効果〕
本実施の形態によれば、タグメモリ131から読み出されたタグ索引結果に訂正不可能障害が検出された場合であっても、データのコヒーレンシを保証することができるので、動作を継続することが可能になる。その理由は、タグメモリ131から索引されたタグ索引結果に訂正不可能障害を検出した場合、各CPU11に対して、訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置14に掃き出すことを指示するメモリコントロール/コヒーレンシ制御装置12を備えているからである。
[Effect of the first embodiment]
According to the present embodiment, even when an uncorrectable failure is detected in the tag index result read from the
〔第2の実施の形態〕
次に、本発明にかかる分散共有メモリ型マルチプロセッサシステムの第2の実施の形態について説明する。本実施の形態は、タグメモリに訂正不可能障害が発生した際、コヒーレンシ制御部がビジー状態となるのを防ぐことにより、コヒーレンシ制御部を使用する後続トランザクションが待たされないようにすることを特徴とする。
[Second Embodiment]
Next, a second embodiment of the distributed shared memory multiprocessor system according to the present invention will be described. The present embodiment is characterized in that, when an uncorrectable failure occurs in the tag memory, a subsequent transaction using the coherency control unit is not waited by preventing the coherency control unit from being in a busy state. To do.
図6は本実施の形態にかかる分散共有メモリ型マルチプロセッサシステムの構成例を示すブロック図である。本実施の形態と図1に示した第1の実施の形態との相違点は、サービスプロセッサ112が追加されている点、及びセル10の代わりにセル10aを備えている点である。セル10aは、メモリコントロール/コヒーレンシ制御装置12の代わりにメモリコントロール/コヒーレンシ制御装置12aを備えている点が、セル10と相違している。
FIG. 6 is a block diagram showing a configuration example of a distributed shared memory multiprocessor system according to the present embodiment. The difference between the present embodiment and the first embodiment shown in FIG. 1 is that a
図7はメモリコントロール/コヒーレンシ制御装置12aの構成例を示すブロック図である。図3に示したメモリコントロール/コヒーレンシ制御装置12との相違点は、キャッシュ掃き出し完了レジスタ111が追加されている点、タグ部13の代わりにタグ部13aを備えている点、及びメイン制御部103の代わりにメイン制御部103aを備えている点である。
FIG. 7 is a block diagram showing a configuration example of the memory control /
キャッシュ掃き出し完了レジスタ111には、キャッシュ掃き出し処理が完了したか否かを示す掃き出し完了フラグが格納される。この掃き出し完了フラグは、キャッシュ掃き出し処理が完了したとき、サービスプロセッサ112によって“1”にされ、キャッシュ掃き出し処理が完了したことを表示する。
The cache flush completion register 111 stores a flush completion flag indicating whether or not the cache flush process has been completed. This flushing completion flag is set to “1” by the
タグ部13aは、訂正不可能情報(タグ索引時の下位アドレスと、障害エントリのレベルとを含む)を第三インタフェース22だけでなく、パス222を介してサービスプロセッサ112にも出力する点が、第1の実施の形態のタグ部13と相違している。
The
メイン制御部103aは、自セル10a内の各CPU11におけるキャッシュ掃き出し処理が完了したことを、キャッシュ掃き出し完了レジスタ111に格納されている掃き出し完了フラグに基づいて認識する点(掃き出し完了フラグの値が“1”になった場合、キャッシュ掃き出し処理が完了したと認識する)、及びキャッシュ掃き出し処理の完了を認識した後、掃き出し完了フラグを“0”にする点が、第1の実施の形態のメイン制御部103と相違している。
The main control unit 103a recognizes that the cache flushing process in each
サービスプロセッサ112内のファームウェア(FW)は、タグ部13aからパス222を介して訂正不可能情報を受け取ったとき、全ての上位アドレスそれぞれについて、その上位アドレスと訂正不可能情報中の下位アドレスとを含むスワップトランザクションを生成し、生成したスワップトランザクションをアドレスが小さいものから昇順に自セル10a内の各CPU11に発行する機能を有する。なお、上記スワップトランザクションは、第一インタフェース20とは別のパス223を介して各CPU11に送る。更に、サービスプロセッサ112は、各CPU11からのリプライトランザクションに基づいて、キャッシュ掃き出し処理が完了したと判断したとき、キャッシュ掃き出し完了レジスタ111中の掃き出し完了フラグを“1”にする機能も有する。
When the firmware (FW) in the
〔第2の実施の形態の動作〕
次に、本実施の形態の動作について説明する。なお、タグ部13aに障害が発生していない場合及びタグ部13aに訂正可能障害が発生している場合の動作は、図4のフローチャートを用いて説明した通りであるので、ここでは、タグ部13aに訂正不可能障害が発生した場合の動作について説明する。
[Operation of Second Embodiment]
Next, the operation of the present embodiment will be described. The operation when no failure has occurred in the
メイン制御部103aは、第三インタフェース22を介して受信した訂正不可能情報と、そのビット位置とに基づいて、自セル10a内のタグ部13aに訂正不可能な障害が発生したと判断すると(図4のステップ4−2がYES、4−4がNO)、図8のフローチャートに示すように、訂正不可能情報に含まれている下位アドレス(タグ索引時に使用された下位アドレス)をタグスワップ制御部104に登録する処理(ステップ8−1)と、訂正不可能情報に含まれている下位アドレス及びレベルをタグ書き戻し制御部106に登録する処理(ステップ8−3)とを行う。
When the main control unit 103a determines that an uncorrectable failure has occurred in the
また、サービスプロセッサ112のファームウェアは、タグ部13aからパス222を介して訂正不可能情報が送られてくると(ステップ8−6)、全ての上位アドレスそれぞれについて、その上位アドレスと上記訂正不可能情報中の下位アドレスとを含むスワップトランザクションを生成し、生成したスワップトランザクションを小さなアドレスから昇順に、パス223を介して自セル10a内の各CPU11に発行する(ステップ8−7)。各CPU11は、スワップトランザクションに従ってキャッシュ掃き出し処理を行い、リプライトランザクションをパス223を介してサービスプロセッサ112に返す(ステップ8−8)。
When the uncorrectable information is sent from the
ステップ8−1でタグスワップ制御部104に下位アドレスを登録した後、比較回路105の出力が比較一致を示すものになると、メイン制御部103aは、第二インタフェース21上のトランザクションの発行元が自セル10aであれば、パス220を介して第二インタフェース出力調停部101に対してスワップ処理中信号を出力し、発行元が他のセル10aであれば、第三インタフェース22を介して発行元のセル10aにキャンセル情報を送信する(ステップ8−10)。このような処理は、スワップ処理が完了し、タグスワップ制御部104に登録されている下位アドレスが消去されるまで継続される。
After the lower address is registered in the tag swap control unit 104 in step 8-1, when the output of the
一方、サービスプロセッサ112は、自セル10a内の全てのCPU11から最も大きなアドレスについてのリプライトランザクションを受け付けると、キャッシュ掃き出し完了レジスタ111中の掃き出し完了フラグを“1”とし、キャッシュ掃き出し処理が完了したことを表示する(ステップ8−9)。
On the other hand, when the
メイン制御部103aは、掃き出し完了フラグが“1”となると、キャッシュ掃き出し処理が完了したと認識し、タグスワップ制御部104に登録しておいた下位アドレスを削除すると共に、スワップ処理中信号の出力を停止する(ステップ8−2)。これによりメインパイプ102でキャンセルされていたトランザクションのキャンセル状態は解除される(ステップ8−11)。更に、ステップ8−2において、メイン制御部103aは、キャッシュ掃き出し完了レジスタ111中の掃き出し完了フラグを“0”に変更する処理も行う。
When the flush completion flag becomes “1”, the main control unit 103a recognizes that the cache flushing process is completed, deletes the lower address registered in the tag swap control unit 104, and outputs a signal during swap processing. Is stopped (step 8-2). As a result, the canceled state of the transaction canceled in the
また、メイン制御部103aは、掃き出し完了フラグが“1”となると、タグ書き戻し制御部106に対してエントリ使用不可フラグをタグメモリ131の障害エントリにセットすることを指示する。これにより、タグ書き戻し制御部106は、タグメモリ131の障害エントリにエントリ使用不可フラグをセットすると共に、障害エントリと同じ下位アドレスを有する各エントリ中のステータスを、最新データが主記憶装置14上に存在することを示すものに書き換える(ステップ8−4)。このエントリ使用不可フラグが点灯しているエントリはこれ以後使われなくなる(ステップ8−5)。これによりタグの障害エントリのレベルのみ動的に縮退が完了し継続動作が可能となる。
Further, when the sweep-out completion flag becomes “1”, the main control unit 103a instructs the tag write-back control unit 106 to set the entry unusable flag in the failure entry of the
〔第2の実施の形態の効果〕
本実施の形態では、タグメモリ131に訂正不可能障害があった場合、サービスプロセッサ112を用いてスワップトランザクションを発行するようにしているので、第1の実施の形態のように、訂正不可能障害発生時にコヒーレンシ制御部107がビジー状態となることがない。このため、コヒーレンシ制御部107を使用する後続のトランザクションがキャンセルされることがなくなり、第1の実施の形態に比較して性能が向上する。
[Effects of Second Embodiment]
In this embodiment, when there is an uncorrectable failure in the
〔第3の実施の形態〕
次に、本発明にかかる分散共有メモリ型マルチプロセッサシステムの第3の実施の形態について説明する。本実施の形態は、タグメモリに訂正不可能障害が発生した場合、CPUが行っている通常処理にほとんど影響を与えることなく、タグメモリの障害エントリを動的に縮退できるようにしたことを特徴とする。
[Third Embodiment]
Next, a third embodiment of the distributed shared memory multiprocessor system according to the present invention will be described. The present embodiment is characterized in that, when an uncorrectable fault occurs in the tag memory, the fault entry in the tag memory can be dynamically degenerated without substantially affecting the normal processing performed by the CPU. And
本実施の形態は、図1に示すような分散共有メモリ型マルチプロセッサシステムの構成要素である各セル10(図3に示す構成を有する)において、タグ部13に訂正不可能障害が発生した場合、図9、図10のフローチャートに示す処理を行うことにより実現される。なお、タグ部13に障害が発生していない場合及びタグ部13に訂正可能障害が発生している場合の動作は、図4のフローチャートを用いて説明した通りであるので、ここでは、タグ部13に訂正不可能障害が発生した場合の動作について説明する。
In the present embodiment, when an uncorrectable failure occurs in the
メイン制御部103は、第三インタフェース22を介して受信した訂正不可能情報と、そのビット位置とに基づいて、自セル10内のタグ部13に訂正不可能な障害が発生したと判断すると(図4のステップ4−2がYES、4−4がNO)、図9のフローチャートに示すように、自セル10、他セル10が第三インタフェース22に出力したタグ索引結果の中にPヒットが存在するか否かを調べる(ステップ9−0)。即ち、ステータスが、最新データがキャッシュ上にあることを示しているタグ索引結果が存在するか否かを調べる。
When the
そして、Pヒットがあった場合(ステップ9−0がYES)、即ちアクセス対象データがキャッシュ15上に存在する場合は、ステップ9−15に進む。これに対して、Pヒットがなかった場合(ステップ9−0がNO)、即ちアクセス対象データがキャッシュ15上に存在すると確定できなかった場合は、タグ索引に使用したトランザクションのフルアドレスをタグスワップ制御部104に登録する処理(ステップ9−1)と、タグ索引時に使用した下位アドレスと障害エントリのレベルとをタグ書き戻し制御部106に登録する処理(ステップ9−3)と、コヒーレンシ制御部107に上記フルアドレスを登録してスワップトランザクションの発行を指示する処理(ステップ9−6)とを行う。
If there is a P hit (YES in step 9-0), that is, if the access target data exists on the
ステップ9−1でタグスワップ制御部104にフルアドレスを登録した後、比較回路105の出力が比較一致を示すものになると(この場合、比較回路105はフルアドレスが一致した場合、その出力を比較一致を示すものにする)、メイン制御部103は、第二インタフェース21上のトランザクションの発行元が自セル10であれば、パス220を介して第二インタフェース出力調停部101に対してスワップ処理中信号を出力し、発行元が他のセル10であれば、第三インタフェース22を介して発行元のセル10にキャンセル情報を送信する(ステップ9−13)。このような処理は、スワップ処理が完了し、タグスワップ制御部104に登録されているフルアドレスが消去されるまで継続される。
After the full address is registered in the tag swap control unit 104 in step 9-1, if the output of the
また、コヒーレンシ制御部107は、ステップ9−6においてスワップトランザクションの発行が指示されると、登録されているフルアドレスを含んだスワップトランザクションを自セル10内の各CPU11に対して発行する(ステップ9−7)。各CPU11は、フルアドレスを含んだスワップトランザクションを受け付けると、それに従ってキャッシュ掃き出し処理を行い、リプライトランザクションをメインパイプ102内のメイン制御部103に返す(ステップ9−8)。メイン制御部103では、自セル10内の何れかのCPU11からの上記フルアドレスに対応するキャッシュ掃き出し処理が完了した旨のリプライトランザクションを受け付けると(ステップ9−9)、タグスワップ制御部104に登録したフルアドレスを削除すると共に、スワップ処理中信号の出力を停止する(ステップ9−2)。これによりメインパイプ102でキャンセルされていたトランザクションのキャンセル状態は解除される(ステップ9−14)。CPU11のキャッシュ15に最新データがあった場合は主記憶装置14に対してデータが書き戻され、無かった場合は元々主記憶装置14のデータが最新であったことになるので、メインパイプ102上でキャンセルされていたタグ索引トランザクションは主記憶装置14にアクセスすることで最新データを得ることができる。
When the issue of the swap transaction is instructed in step 9-6, the
メイン制御部103は、ステップ9−6の処理が完了すると、タグ索引時に使用した下位アドレスをコヒーレンシ制御部107に登録し、第一インタフェース20が通常処理で使用されていないタイミングで、スワップトランザクションを発行することを指示する。これにより、コヒーレンシ制御部107は、先ず、全ての上位アドレスについて、その上位アドレスと登録された下位アドレスとを含むスワップトランザクションを生成する。その後、コヒーレンシ制御部107は、第一インタフェース20の空き状況を監視し、CPU11が通常処理に第一インタフェース20を使用していないタイミングで、上記生成したスワップトランザクションを、アドレスが小さい順に自セル10内の各CPUに対して発行する(ステップ9−10)。
When the processing of step 9-6 is completed, the
各CPU11は、スワップトランザクションを受け付けると、キャッシュ掃き出し処理を行い、リプライトランザクションをメイン制御部103に返す(ステップ9−11)。メイン制御部103は、自セル10内の全てのCPU11から最も大きなアドレスについてのリプライトランザクションを受け付けると(ステップ9−12)、タグ書き戻し制御部106に対してエントリ使用不可フラグをタグメモリ131の障害エントリにセットすることを指示する。これにより、タグ書き戻し制御部106は、タグメモリ131の障害エントリにエントリ使用不可フラグをセットすると共に、障害エントリと同じ下位アドレスを有する各エントリ中のステータスを、最新データが主記憶装置14上に存在することを示すものに書き換える(ステップ9−4)。このエントリ使用不可フラグが点灯しているエントリはこれ以後使われなくなる(ステップ9−5)。これによりタグの障害エントリのレベルのみ動的に縮退が完了し継続動作が可能となる。
When each
次に、ステップ9−0でPヒット有りと判断された場合の動作を、図10のフローチャートを参照して説明する。自セル10または他セル10のタグ索引結果の中にPヒットがあった場合は、メイン制御部103はPヒットセルのCPU11のキャッシュ15をアクセスするための処理を行う(ステップ10−8)。本実施の形態ではタグ障害があっても、その故障レベルを含めてPヒットがあった場合はPヒット処理を優先する。そのため、メイン制御部103は、タグスワップ制御部104にタグ索引時に使用した下位アドレスを登録する処理は行わず(ステップ10−1)、タグ書き戻し制御部106にタグ索引時に使用した下位アドレス及び障害の発生したレベルを登録する処理(ステップ10−2)と、コヒーレンシ制御部107にタグ索引時に使用した下位アドレスを登録してスワップトランザクションの発行を指示する処理を行う。これにより、コヒーレンシ制御部107は、先ず、全ての上位アドレスについて、その上位アドレスと登録された下位アドレスとを含むスワップトランザクションを生成する。その後、コヒーレンシ制御部107は、第一インタフェース20の空き状況を監視し、CPU11が通常処理に第一インタフェース20を使用していないタイミングで、上記生成したスワップトランザクションを、アドレスが小さい順に自セル10内の各CPUに対して発行する。
Next, the operation when it is determined in step 9-0 that there is a P hit will be described with reference to the flowchart of FIG. When there is a P hit in the tag index result of the
各CPU11は、スワップトランザクションを受け付けると、キャッシュ掃き出し処理を行い、リプライトランザクションをメイン制御部103に返す(ステップ10−6)。メイン制御部103は、自セル10内の全てのCPU11から最も大きなアドレスについてのリプライトランザクションを受け付けると(ステップ10−7)、タグ書き戻し制御部106に対してエントリ使用不可フラグをタグメモリ131の障害エントリにセットすることを指示する。これにより、タグ書き戻し制御部106は、タグメモリ131の障害エントリにエントリ使用不可フラグをセットすると共に、障害エントリと同じ下位アドレスを有する各エントリ中のステータスを、最新データが主記憶装置14上に存在することを示すものに書き換える(ステップ10−3)。このエントリ使用不可フラグが点灯しているエントリはこれ以後使われなくなる(ステップ10−4)。これによりタグの障害エントリのレベルのみ動的に縮退が完了し継続動作が可能となる。
When each
なお、第1の実施の形態において、図5のステップ5−7の代わりに、第3の実施の形態において説明した、図9のステップ9−10の処理を行うようにしても良い。 In the first embodiment, instead of step 5-7 in FIG. 5, the processing in step 9-10 in FIG. 9 described in the third embodiment may be performed.
〔第3の実施の形態の効果〕
本実施の形態ではタグメモリ131に訂正不可能障害が発生した場合、キャッシュ掃き出し処理よりもCPU11が行う通常処理を優先して行い、キャッシュ掃き出し処理は、CPU11の通常処理の隙間を狙って行う。これにより処理性能をほとんど劣化させることなく、データのコヒーレンシを保証することが可能になる。
[Effect of the third embodiment]
In this embodiment, when an uncorrectable failure occurs in the
本発明は、分散共有メモリ型マルチプロセッサシステム等のようにキャッシュメモリを有する複数のCPUを備え、データのコヒーレンシを保証することが必要になるマルチプロセッサシステムに適用することができる。 The present invention can be applied to a multiprocessor system that includes a plurality of CPUs having a cache memory, such as a distributed shared memory multiprocessor system, and in which it is necessary to guarantee data coherency.
10、10a…セル
11…CPU
12、12a…メモリコントロール/コヒーレンシ制御装置
101…第二インタフェース出力調停部
102…メインパイプ
103、103a…メイン制御部
104…タグスワップ制御部
105…比較回路
106…タグ書き戻し制御部
107…コヒーレンシ制御部
108…主記憶アクセス制御部
111…キャッシュ掃き出し完了レジスタ
112…サービスプロセッサ
13、13a…タグ部
131…タグメモリ
132…ECCチェック&訂正回路
133…比較回路
14…主記憶装置
15…キャッシュ(キャッシュメモリ)
20…第一インタフェース
21…第二インタフェース
22…第三インタフェース
10, 10a ...
DESCRIPTION OF
20 ...
Claims (13)
該主記憶装置に格納されているデータの一部の写しが格納されたキャッシュメモリを搭載した複数のCPUと、
前記各キャッシュメモリ内のデータの状態を管理するタグメモリを有し、該タグメモリを用いてデータのコヒーレンシを保証するメモリコントロール/コヒーレンシ制御装置とを備え、
該メモリコントロール/コヒーレンシ制御装置が、前記タグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、前記各CPUに対して、前記訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すことを指示することを特徴とするマルチプロセッサシステム。 A main storage device;
A plurality of CPUs equipped with a cache memory in which a copy of a part of the data stored in the main storage device is stored;
A tag memory that manages the state of data in each cache memory, and a memory control / coherency control device that guarantees data coherency using the tag memory;
When the memory control / coherency control device detects an uncorrectable fault in the tag index result indexed from the tag memory, the CPU is associated with the tag index result in which the uncorrectable fault is detected for each CPU. A multiprocessor system characterized by instructing that main data be swept out of all data that may be generated.
前記メモリコントロール/コヒーレンシ制御装置が、
前記各キャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが、前記データの下位アドレスに対応するエントリに格納されたタグメモリと、
トランザクションの下位アドレスによって前記タグメモリから索引されたタグ索引結果に訂正不可能障害があるか否かをチェックする障害チェック回路と、
該障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すことを指示するコヒーレンシ制御部とを備えたことを特徴とするマルチプロセッサシステム。 The multiprocessor system of claim 1, wherein
The memory control / coherency control device includes:
A tag memory stored in an entry corresponding to the lower address of the data, an upper address of the data stored in each cache memory, and a status indicating whether the data is the latest data;
A fault check circuit that checks whether there is an uncorrectable fault in the tag index result indexed from the tag memory by the lower address of the transaction;
When the failure check circuit determines that there is an uncorrectable failure in the tag index result, the lower address of the data stored in the cache memory is used for tag indexing for each CPU. A multiprocessor system comprising: a coherency control unit that instructs to sweep out all data that matches a lower address to a main storage device.
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各CPUに対して発行することを特徴とするマルチプロセッサシステム。 The multiprocessor system according to claim 2, wherein
The coherency control unit generates, for all upper addresses, a swap transaction including the upper address and the lower address used at the time of tag indexing, and issues the generated swap transaction to each CPU. A featured multiprocessor system.
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各CPUが通常処理を行っていないときに、前記各CPUに対して発行することを特徴とするマルチプロセッサシステム。 The multiprocessor system according to claim 2, wherein
The coherency control unit generates a swap transaction including the upper address and the lower address used at the time of the tag index for all upper addresses, and the CPU does not perform normal processing on the generated swap transaction. Sometimes a multiprocessor system is issued to each of the CPUs.
サービスプロセッサを備え、前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記サービスプロセッサが前記コヒーレンシ制御部の代わりに、前記各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すように指示することを特徴とするマルチプロセッサシステム。 The multiprocessor system according to claim 2, wherein
A service processor, and when the failure check circuit determines that there is an uncorrectable failure in the tag index result, the service processor stores the CPU in the cache memory instead of the coherency control unit A multiprocessor system for instructing main memory to sweep out all data whose lower address matches the lower address used at the time of tag indexing.
前記コヒーレンシ制御部が、
前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できない場合は、直ちに、前記トランザクションのフルアドレスを含むスワップトランザクションを前記各CPUに対して発行し、その後、全ての上位アドレスについて、その上位アドレスと前記トランザクションの下位アドレスとを含むスワップトランザクションを生成し、前記各CPUが通常処理を行っていないとき、前記生成したスワップトランザクションを前記各CPUに対して発行し、前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できた場合は、全ての上位アドレスについて、その上位アドレスと前記トランザクションの下位アドレスとを含むスワップトランザクションを生成し、前記各CPUが通常処理を行っていないとき、前記生成したスワップトランザクションを前記各CPUに対して発行することを特徴とするマルチプロセッサシステム。 The multiprocessor system according to claim 2, wherein
The coherency control unit is
When it is determined by the failure check circuit that there is an uncorrectable failure in the tag index result, and based on the contents of the tag memory, it cannot be determined that the latest data to be accessed by the transaction exists on the cache memory Immediately, issue a swap transaction including the full address of the transaction to the CPUs, and then generate a swap transaction including the upper address and the lower address of the transaction for all upper addresses. When the CPU is not performing normal processing, the generated swap transaction is issued to each CPU, the failure check circuit determines that the tag index result has an uncorrectable fault, and the tag memory Cache based on content If it is determined that there is the latest data to be accessed by the transaction on the memory, a swap transaction including the upper address and the lower address of the transaction is generated for all upper addresses, and each CPU A multiprocessor system, wherein the generated swap transaction is issued to each CPU when normal processing is not performed.
前記タグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、前記各CPUに対して、前記訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すことを指示する構成を有するメモリコントロール/コヒーレンシ制御装置。 Data coherency in a multiprocessor system comprising a main storage device and a plurality of CPUs equipped with a cache memory storing a copy of a portion of the data stored in the main storage device is stored in each cache memory. A memory control / coherency control device that uses a tag memory to manage the data state of
When an uncorrectable failure is detected in the tag index result indexed from the tag memory, all data that may be related to the tag index result in which the uncorrectable failure is detected are stored for each CPU. A memory control / coherency control device having a configuration for instructing main memory to sweep out.
前記各キャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが、前記データの下位アドレスに対応するエントリに格納されたタグメモリと、
トランザクションの下位アドレスによって前記タグメモリから索引されたタグ索引結果に訂正不可能障害があるか否かをチェックする障害チェック回路と、
該障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すことを指示するコヒーレンシ制御部とを備えたことを特徴とするメモリコントロール/コヒーレンシ制御装置。 The memory control / coherency control device according to claim 7,
A tag memory stored in an entry corresponding to the lower address of the data, an upper address of the data stored in each cache memory, and a status indicating whether the data is the latest data;
A fault check circuit that checks whether there is an uncorrectable fault in the tag index result indexed from the tag memory by the lower address of the transaction;
When the failure check circuit determines that there is an uncorrectable failure in the tag index result, the lower address of the data stored in the cache memory is used for tag indexing for each CPU. A memory control / coherency control device comprising: a coherency control unit that instructs to sweep out all data that matches a lower address to a main storage device.
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各CPUに対して発行することを特徴とするメモリコントロール/コヒーレンシ制御装置。 The memory control / coherency control device according to claim 8,
The coherency control unit generates, for all upper addresses, a swap transaction including the upper address and the lower address used at the time of tag indexing, and issues the generated swap transaction to each CPU. Feature memory control / coherency control device.
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各CPUが通常処理を行っていないときに、前記各CPUに対して発行することを特徴とするメモリコントロール/コヒーレンシ制御装置。 The memory control / coherency control device according to claim 8,
The coherency control unit generates a swap transaction including the upper address and the lower address used at the time of the tag index for all upper addresses, and the CPU does not perform normal processing on the generated swap transaction. Sometimes a memory control / coherency control device is issued to each of the CPUs.
前記コヒーレンシ制御部が、
前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できない場合は、直ちに、前記トランザクションのフルアドレスを含むスワップトランザクションを前記各CPUに対して発行し、その後、全ての上位アドレスについて、その上位アドレスと前記トランザクションの下位アドレスとを含むスワップトランザクションを生成し、前記各CPUが通常処理を行っていないとき、前記生成したスワップトランザクションを前記各CPUに対して発行し、前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できた場合は、全ての上位アドレスについて、その上位アドレスと前記トランザクションの下位アドレスとを含むスワップトランザクションを生成し、前記各CPUが通常処理を行っていないとき、前記生成したスワップトランザクションを前記各CPUに対して発行することを特徴とするメモリコントロール/コヒーレンシ制御装置。 The memory control / coherency control device according to claim 8,
The coherency control unit is
When it is determined by the failure check circuit that there is an uncorrectable failure in the tag index result, and based on the contents of the tag memory, it cannot be determined that the latest data to be accessed by the transaction exists on the cache memory Immediately, issue a swap transaction including the full address of the transaction to the CPUs, and then generate a swap transaction including the upper address and the lower address of the transaction for all upper addresses. When the CPU is not performing normal processing, the generated swap transaction is issued to each CPU, the failure check circuit determines that the tag index result has an uncorrectable fault, and the tag memory Cache based on content If it is determined that there is the latest data to be accessed by the transaction on the memory, a swap transaction including the upper address and the lower address of the transaction is generated for all upper addresses, and each CPU A memory control / coherency control device that issues the generated swap transaction to each of the CPUs when normal processing is not performed.
前記各キャッシュメモリ内のデータの状態を管理するタグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、前記各CPUに対して、前記訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すように指示することを特徴とするコヒーレンシ保証方法。 A coherency guarantee method for guaranteeing data coherency in a multiprocessor system comprising a main storage device and a plurality of CPUs equipped with a cache memory storing a copy of a part of the data stored in the main storage device There,
When an uncorrectable failure is detected in the tag index result indexed from the tag memory that manages the state of data in each cache memory, the tag index result in which the uncorrectable failure is detected for each CPU A coherency guarantee method characterized by instructing main memory to sweep out all data that may be related to.
各キャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが前記データの下位アドレスに対応するエントリに格納されたタグメモリを、トランザクションの下位アドレスによって索引することにより得られたタグ索引結果に訂正不可能障害が検出された場合、前記各CPUに対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すことを指示し、該指示に従って前記各CPUが該当するデータを前記主記憶装置に掃き出すことを特徴とするコヒーレンシ保証方法。 A coherency guarantee method for guaranteeing data coherency in a multiprocessor system comprising a main storage device and a plurality of CPUs equipped with a cache memory storing a copy of a part of the data stored in the main storage device There,
The tag memory in which the upper address of the data stored in each cache memory and the status indicating whether or not the data is the latest data is stored in the entry corresponding to the lower address of the data is represented as the lower address of the transaction. When an uncorrectable failure is detected in the tag index result obtained by indexing according to the above, the lower address of the data stored in the cache memory is used for tag indexing for each CPU. A coherency guarantee method characterized by instructing that all data matching a lower address be swept out to the main memory, and in accordance with the instruction, each CPU sweeps out the corresponding data to the main memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006229070A JP4860403B2 (en) | 2006-08-25 | 2006-08-25 | Multiprocessor system, memory control / coherency control device, and coherency guarantee method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006229070A JP4860403B2 (en) | 2006-08-25 | 2006-08-25 | Multiprocessor system, memory control / coherency control device, and coherency guarantee method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008052550A JP2008052550A (en) | 2008-03-06 |
JP4860403B2 true JP4860403B2 (en) | 2012-01-25 |
Family
ID=39236540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006229070A Expired - Fee Related JP4860403B2 (en) | 2006-08-25 | 2006-08-25 | Multiprocessor system, memory control / coherency control device, and coherency guarantee method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4860403B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4892746B2 (en) * | 2008-03-28 | 2012-03-07 | エヌイーシーコンピュータテクノ株式会社 | Distributed shared memory multiprocessor system and plane degradation method |
WO2012120660A1 (en) * | 2011-03-09 | 2012-09-13 | 富士通株式会社 | Information processing device and cache control method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0690683B2 (en) * | 1988-07-06 | 1994-11-14 | 日本電気株式会社 | Fault handling method for multiprocessor system |
JP3068491B2 (en) * | 1997-04-08 | 2000-07-24 | 甲府日本電気株式会社 | Cache index failure handling method |
JP2000347758A (en) * | 1999-06-03 | 2000-12-15 | Nec Kofu Ltd | Information processor |
US7032123B2 (en) * | 2001-10-19 | 2006-04-18 | Sun Microsystems, Inc. | Error recovery |
JP3931757B2 (en) * | 2002-07-26 | 2007-06-20 | 日本電気株式会社 | Shared cache memory failure handling method |
-
2006
- 2006-08-25 JP JP2006229070A patent/JP4860403B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008052550A (en) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7055003B2 (en) | Data cache scrub mechanism for large L2/L3 data cache structures | |
US8255614B2 (en) | Information processing device that accesses memory, processor and memory management method | |
US8205136B2 (en) | Fault tolerant encoding of directory states for stuck bits | |
US6708294B1 (en) | Cache memory apparatus and computer readable recording medium on which a program for controlling a cache memory is recorded | |
US10331568B2 (en) | Locking a cache line for write operations on a bus | |
TWI417724B (en) | Computer-implemented method, apparatus, and computer program product for managing dma write page faults using a pool of substitute pages | |
US7478201B2 (en) | Data processing system, cache system and method for passively scrubbing a domain indication | |
JP2006134324A (en) | Direct deposit using locking cache | |
CN1318972C (en) | Method, system and program product for autonomous error recovery for memory devices | |
US7467262B2 (en) | Data processing system, cache system and method for scrubbing a domain indication in response to execution of program code | |
JP4242245B2 (en) | Flash ROM control device | |
US8069312B2 (en) | Apparatus, circuit and method of controlling memory initialization | |
US7689891B2 (en) | Method and system for handling stuck bits in cache directories | |
US20040001269A1 (en) | Control system and memory control method executing a detection of an error in a formation in parallel with reading operation | |
JP4860403B2 (en) | Multiprocessor system, memory control / coherency control device, and coherency guarantee method | |
JP5021978B2 (en) | Multiprocessor system and operation method thereof | |
US7475195B2 (en) | Data processing system, cache system and method for actively scrubbing a domain indication | |
US7577890B2 (en) | Systems and methods for mitigating latency associated with error detection and correction | |
JP5323030B2 (en) | Memory device and memory control method | |
US10489300B1 (en) | Increasing caching efficiency using cache data patterns | |
JP2009211222A (en) | Memory system | |
US7055002B2 (en) | Integrated purge store mechanism to flush L2/L3 cache structure for improved reliabity and serviceability | |
US6546501B1 (en) | Cache memory apparatus and computer readable recording medium on which a program for controlling a cache memory is recorded | |
JP2002366433A (en) | Cache memory controller and processor | |
JP4764945B2 (en) | Cache control device, cache control method, and cache control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081017 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090721 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090721 |
|
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: 20111011 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111102 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141111 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |