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 PDF

Info

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
Application number
JP2006229070A
Other languages
Japanese (ja)
Other versions
JP2008052550A (en
Inventor
淳 内藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2006229070A priority Critical patent/JP4860403B2/en
Publication of JP2008052550A publication Critical patent/JP2008052550A/en
Application granted granted Critical
Publication of JP4860403B2 publication Critical patent/JP4860403B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Document 1, in order to guarantee data coherency in a distributed shared memory series computer having a plurality of nodes, each node having a CPU equipped with a cache memory and a main memory shared by each node. A tag memory is provided for each node. The tag memory described in Patent Document 1 has an entry for each block of the main storage device, and each entry has the latest data of the corresponding block on the main storage device or on the cache memory. Or status information indicating whether the data is on the cache memory and has been updated, and the ID of the CPU holding the data are registered. When accessing data that does not exist in the cache memory on the own CPU, if the tag memory is pulled, it can be determined whether the latest data exists on the main storage device or on the cache memory in another CPU. Therefore, the latest data can be accessed, and data coherency can be guaranteed.

一方、キャッシュメモリのアドレスアレイに登録するデータに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). .

特開2002−24198号公報Japanese Patent Laid-Open No. 2002-24198 特開平9−146836号公報Japanese Patent Laid-Open No. 9-146836

ところで、特許文献1に記載されている従来の技術によれば、タグメモリを参照することにより、最新データの所在が分かるので、データのコヒーレンシを保証することができる。しかし、タグメモリに障害が発生し、タグ索引結果に誤りが発生した場合には、どこに最新データが存在するのか分からなくなってしまうため、データのコヒーレンシを保証することができなくなり、システムダウンとなってしまう。   By the way, according to the conventional technique described in Patent Document 1, the location of the latest data can be known by referring to the tag memory, so that data coherency can be guaranteed. However, if a failure occurs in the tag memory and an error occurs in the tag index result, it will not be possible to know where the latest data is, so it will not be possible to guarantee data coherency and the system will be down. End up.

そこで、特許文献2に記載されている従来の技術を、特許文献1に記載されている従来の技術に適用するということが考えられる。このようにすることにより、検出された障害が1ビットエラー等の訂正可能障害である場合は、訂正されたタグ索引結果を利用して動作を継続することが可能になる。しかし、検出された障害が2ビットエラー等の訂正不可能障害である場合には、最新データがどこに存在するのかが分からなくなってしまうため、システムダウンとなってしまう。   Therefore, it is conceivable that the conventional technique described in Patent Document 2 is applied to the conventional technique described in Patent Document 1. Thus, when the detected failure is a correctable failure such as a 1-bit error, the operation can be continued using the corrected tag index result. However, if the detected failure is an uncorrectable failure such as a 2-bit error, it becomes impossible to know where the latest data exists, and the system goes down.

〔発明の目的〕
そこで、本発明の目的は、タグメモリから読み出されたタグ索引結果に訂正不可能障害がある場合であっても、動作を継続できるようにすることにある。
(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 third interfaces 21 and 22. .

各セル10は、それぞれストアイン方式のキャッシュメモリ(キャッシュ)15が搭載された複数のCPU(中央処理装置)11と、タグ部13を有するメモリコントロール/コヒーレンシ制御装置12と、主記憶装置14とを備えており、CPU11とメモリコントロール/コヒーレンシ制御装置12とは第一インタフェース20を介して相互に接続されている。各セル10内の主記憶装置14は、全てのセル10からアクセス可能になっている。   Each cell 10 includes a plurality of CPUs (central processing units) 11 each having a store-in type cache memory (cache) 15, a memory control / coherency control unit 12 having a tag unit 13, a main storage unit 14, and the like. The CPU 11 and the memory control / coherency control device 12 are connected to each other via the first interface 20. The main storage device 14 in each cell 10 is accessible from all the cells 10.

各セル10内のメモリコントロール/コヒーレンシ制御装置12に設けられているタグ部13には、そのセル10内のキャッシュ15に格納されているデータが最新データであるか否かを示すステータスが登録されている。   A status indicating whether or not the data stored in the cache 15 in the cell 10 is the latest data is registered in the tag unit 13 provided in the memory control / coherency control device 12 in each cell 10. ing.

図2にタグ部13の構成例を示す。同図を参照すると、タグ部13は、タグメモリ131と、ECCチェック&訂正回路132と、比較回路133とを備えている。   FIG. 2 shows a configuration example of the tag unit 13. Referring to the figure, the tag unit 13 includes a tag memory 131, an ECC check & correction circuit 132, and a comparison circuit 133.

タグメモリ131は、データの下位アドレス毎のエントリを複数レベル有しており、各エントリには、そのエントリが使用可能であるか否かを示すエントリ使用不可フラグFと、キャッシュ15に格納されているデータの上位アドレスと、上記データが最新データであるか否かを示すステータスと、ECCとが登録されている。そして、アクセス対象データの下位アドレスが入力されることにより、上記下位アドレスによって選択されたエントリに格納されている情報をタグ索引結果として出力する。   The tag memory 131 has a plurality of levels of entries for each lower address of data. Each entry is stored in the cache 15 and an entry unusable flag F indicating whether or not the entry is usable. The upper address of the existing data, the status indicating whether or not the data is the latest data, and the ECC are registered. When the lower address of the access target data is input, the information stored in the entry selected by the lower address is output as a tag index result.

ECCチェック&訂正回路132は、タグメモリ131の各レベル毎に存在し、対応するレベルのタグ索引結果に対するECCチェック及び訂正を行う。より具体的には、各レベルのECCチェック&訂正回路132は、それぞれタグメモリ131から読み出された対応するレベルのタグ索引結果に対してECCチェックを行う。そして、エラーが無い場合は、タグメモリ131から読み出されたタグ索引結果を出力し、訂正可能なエラーを検出した場合には、訂正後のタグ索引結果と訂正可能情報(索引時に使用されたアクセス対象データの下位アドレスと、自回路132のレベルとを含む)とを出力し、訂正不可能なエラーを検出した場合には、訂正不可能情報(索引時に使用されたアクセス対象データの下位アドレスと、自回路132のレベルとを含む)を出力する。   The ECC check & correction circuit 132 exists for each level of the tag memory 131, and performs ECC check and correction for the tag index result of the corresponding level. More specifically, the ECC check & correction circuit 132 at each level performs an ECC check on the tag index result at the corresponding level read from the tag memory 131. If there is no error, the tag index result read from the tag memory 131 is output. If a correctable error is detected, the corrected tag index result and correctable information (used during indexing) are output. When a lower address of the access target data and the level of the own circuit 132 are output and an uncorrectable error is detected, uncorrectable information (the lower address of the access target data used at the time of indexing) And the level of its own circuit 132).

比較回路133は、各レベルのECCチェック&訂正回路132から出力されたタグ索引結果中の上位アドレスと、タグ索引時に使用したアクセス対象データの上位アドレスとを比較し、両者が等しいタグ索引結果があれば、それを第三インタフェース22に出力する。但し、ECCチェック&訂正回路132の出力の中に訂正不可能情報が存在する場合は、訂正不可能情報も第三インタフェース22に出力し、訂正可能情報が存在する場合は、訂正可能情報と訂正後のタグ索引結果との対も第三インタフェース22に出力する。なお、第三インタフェース22は、各セル10毎に、使用するビット位置が決められており、そのビット位置に基づいてどのセル10が出力した情報なのかを特定できるようになっている。   The comparison circuit 133 compares the high-order address in the tag index result output from the ECC check & correction circuit 132 at each level with the high-order address of the access target data used at the time of tag indexing, If there is, it is output to the third interface 22. However, when uncorrectable information exists in the output of the ECC check & correction circuit 132, the uncorrectable information is also output to the third interface 22, and when correctable information exists, the correctable information and the correction are corrected. A pair with a later tag index result is also output to the third interface 22. Note that the bit position to be used is determined for each cell 10, and the third interface 22 can specify which cell 10 is the output information based on the bit position.

図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 / coherency control device 12. Referring to the figure, the memory control / coherency control device 12 includes a second interface output arbitration unit 101, a main pipe 102 having a tag unit 13 and a main control unit 103, a tag swap control unit 104, a comparison circuit 105, A tag write-back control unit 106, a coherency control unit 107, and a main memory access control unit 108. In FIG. 3, the same reference numerals as those in FIG. 1 denote the same parts.

第二インタフェース出力調停部101は、その内部にCPU11や図示を省略した入出力装置から送られてきたトランザクション(ライト命令やリード命令などの命令)を複数個格納できるレジスタ(図示せず)を備えており、上記レジスタに格納されたトランザクションを順次第二インタフェース21に出力する。但し、メイン制御部103からパス220を介してスワップ処理中であることを示すスワップ処理中信号が入力されている間は、現在出力中のトランザクション(レジスタの先頭部分にセットされているトランザクション)を第二インタフェース21に出力し続ける。また、各セル10は、第二インタフェース21を時分割して使用しており、各セル10内の第二インタフェース出力調停部101は、自セルに割り当てられたタイミングにおいてトランザクションを第二インタフェース21に出力する。   The second interface output arbitration unit 101 includes a register (not shown) in which a plurality of transactions (commands such as a write command and a read command) sent from the CPU 11 or an input / output device (not shown) can be stored. The transactions stored in the register are sequentially output to the second interface 21. However, while the swap processing in-progress signal indicating that swap processing is in progress is being input from the main control unit 103 via the path 220, the transaction currently being output (the transaction set at the top of the register) is not processed. The output continues to the second interface 21. Each cell 10 uses the second interface 21 in a time-sharing manner, and the second interface output arbitration unit 101 in each cell 10 sends a transaction to the second interface 21 at the timing assigned to the own cell. Output.

第二インタフェース21には、分散共有メモリ型マルチプロセッサシステムを構成する全てのセル10が接続されており、各セル10内のメインパイプ102は、パス212を介して第二インタフェース21上のトランザクションを同時に受信する。このパス212を介して受信したトランザクションは、タグ部13及びメイン制御部103に供給される。   All the cells 10 constituting the distributed shared memory multiprocessor system are connected to the second interface 21, and the main pipe 102 in each cell 10 performs a transaction on the second interface 21 via a path 212. Receive at the same time. Transactions received via this path 212 are supplied to the tag unit 13 and the main control unit 103.

メインパイプ102内のタグ部13は、パス212を介してトランザクションが入力されると、前述したように、上位アドレスが一致したタグ索引結果、訂正可能情報と訂正後のタグ索引結果との対、訂正不可能情報などを第三インタフェース22に出力する。   When the transaction is input via the path 212, the tag unit 13 in the main pipe 102, as described above, the tag index result with the higher address matched, the pair of correctable information and the corrected tag index result, Uncorrectable information or the like is output to the third interface 22.

第三インタフェース22にも、分散共有メモリ型マルチプロセッサシステムを構成する全てのセル10が接続されており、各セル10内のメインパイプ102は、パス214を介して第三インタフェース22上のタグ索引結果、訂正可能情報と訂正後のタグ索引結果との対、訂正不可能情報などを同時に受信する。   All the cells 10 constituting the distributed shared memory multiprocessor system are also connected to the third interface 22, and the main pipe 102 in each cell 10 is connected to the tag index on the third interface 22 via the path 214. As a result, a pair of correctable information and a corrected tag index result, uncorrectable information, etc. are received simultaneously.

メインパイプ102内のメイン制御部103は、パス214を介して第三インタフェース22から受信した情報に基づいて、既にパス212を介して受け付けているトランザクションに対する処理を、次のように決定する。   Based on the information received from the third interface 22 via the path 214, the main control unit 103 in the main pipe 102 determines processing for a transaction that has already been accepted via the path 212 as follows.

・パス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 third interface 22 via the path 214, the tag unit 13 in the own cell 10 is normal and the transaction already received via the path 212 is the access target. If it is determined that there is no cache 15 storing data (latest data), the transaction is sent to the main memory access control unit 108 in the own cell 10. Thereby, the main memory access control unit 108 accesses the data when the data to be accessed by the transaction exists in the main storage device 14 in the own cell 10. That is, if the transaction is a write transaction, the data is rewritten accordingly. If the transaction is a read transaction, the corresponding data is output to a data bus (not shown).
Based on the information received from the third interface 22 via the path 214, the tag unit 13 in the own cell 10 is normal and the transaction already received via the path 212 is the access target. When it is determined that the data exists on the cache 15 in the own cell 10, the transaction is transmitted to each CPU 11 in the own cell 10 through the coherency control unit 107. Each CPU 11 accesses the data when there is data to be accessed in the cache 15 in its own CPU 11.
When it is determined that a correctable failure has occurred in the tag unit 13 in the own cell 10 based on the information received from the third interface 22 via the path 214, that is, the own cell 10 of the third interface 22 When the pair of the correctable information and the corrected tag index result is received via the bit assigned to the tag, the tag swap control unit 104 receives the lower order of the access target data included in the correctable information. The process of registering the address (the lower address of the transaction used at the time of tag indexing) and the ECC check & correction circuit 132 that detects the lower address and the failure included in the correctable information for the tag write-back control unit 106 The process of registering the level, the lower address included in the correctable information for the coherency control unit 107 and the correction Register an upper address contained in the tag index results after performing the processing for instructing issuance of a swap transaction.
When it is determined that an uncorrectable failure has occurred in the tag unit 13 in the own cell 10 based on the information received from the third interface 22 via the path 214, that is, the own cell of the third interface 22 When the uncorrectable information is received via the bit assigned to 10, processing for registering the lower address of the access target data included in the uncorrectable information to the tag swap control unit 104; Processing for registering the lower address included in the uncorrectable information and the level of the ECC check & correction circuit 132 that has detected the failure in the tag write-back control unit 106, and correction not possible in the coherency control 107 A process of instructing the issue of a swap transaction by registering the lower address included in the information is performed.

また、メイン制御部103は、訂正可能情報または訂正不可能情報に含まれていた下位アドレスをタグスワップ制御部104に登録すると、後述するスワップ処理が完了するまで、次のような処理を行う。タグスワップ制御部104に登録されている下位アドレスと、第二インタフェース21に出力されたトランザクションの下位アドレスとを比較する比較回路105により、両者が一致することが検出され、且つ、上記トランザクションの発行元が自セル10である場合は、パス220を介して第二インタフェース出力調停部101にスワップ処理中信号を送る。また、上記トランザクションの発行元が他のセル10であった場合は、第三インタフェース22を介して発行元のセル10にトランザクションをキャンセルしたことを示すキャンセル信号を送る。これは、スワップ処理中に、下位アドレスがタグスワップ制御部104に登録されている下位アドレスと同一のトランザクションが発行された場合にもコヒーレンシを保証できるようにするためである。   Further, when the main control unit 103 registers the lower address included in the correctable information or the uncorrectable information in the tag swap control unit 104, the main control unit 103 performs the following processing until the swap processing described later is completed. The comparison circuit 105 that compares the lower address registered in the tag swap control unit 104 and the lower address of the transaction output to the second interface 21 detects that they match, and issues the transaction. If the source is the own cell 10, a swap processing signal is sent to the second interface output arbitration unit 101 via the path 220. If the transaction issuance source is another cell 10, a cancel signal indicating that the transaction has been canceled is sent to the cell 10 as the issuance source via the third interface 22. This is to ensure coherency even when the same transaction as the lower address registered in the tag swap control unit 104 is issued during the swap process.

コヒーレンシ制御部107は、メイン制御部103からスワップトランザクションの発行が指示されると、パス219を介して自セル10内の各CPU11にスワップトランザクションを発行する。その際、メイン制御部103により、下位アドレス及び上位アドレスが登録されている場合(タグ部13に発生した障害が訂正可能障害の場合)は、上記下位アドレスと上位アドレスとを含むスワップトランザクションを発行し、下位アドレスしか登録されていない場合(タグ部13に発生した障害が訂正不可能障害の場合)は、全ての上位アドレスそれぞれについて、その上位アドレスと上記下位アドレスとを含むスワップトランザクションを生成し、生成した各スワップトランザクションを発行する。例えば、上位アドレスがkビットであるとすると、2k個のスワップトランザクションを発行することになる。 When the main control unit 103 issues a swap transaction, the coherency control unit 107 issues a swap transaction to each CPU 11 in the own cell 10 via the path 219. At that time, if the lower address and the higher address are registered by the main control unit 103 (when the failure occurring in the tag unit 13 is a correctable failure), a swap transaction including the lower address and the higher address is issued. If only the lower address is registered (when the failure that occurred in the tag unit 13 is an uncorrectable failure), a swap transaction including the upper address and the lower address is generated for each of the upper addresses. Issue each generated swap transaction. For example, if the upper address is k bits, 2 k swap transactions are issued.

各CPU11は、スワップトランザクションを受け取ると、キャッシュ15内に該当するデータが存在するか否かを調べ、存在しない場合には、パス210→パス211→第二インタフェース21→パス212の経路でメインパイプ102に該当するデータが存在しなかったことを示すリプライトランザクションを返す。これに対して、キャッシュ15内に該当するデータが存在していた場合は、キャッシュ掃き出し処理を行い、キャッシュ15に格納されていた該当するデータを主記憶装置14に書き戻すと共に、上記した経路でメインパイプ102に対してキャッシュ掃き出し処理が完了したことを示すリプライトランザクションを返す。   When each CPU 11 receives the swap transaction, the CPU 11 checks whether or not the corresponding data exists in the cache 15. If there is no such data, the main pipe follows the path 210 → path 211 → second interface 21 → path 212. A reply transaction indicating that data corresponding to 102 does not exist is returned. On the other hand, when the corresponding data exists in the cache 15, the cache flush process is performed, the corresponding data stored in the cache 15 is written back to the main memory 14, and the above path is used. A reply transaction indicating that the cache flush process has been completed is returned to the main pipe 102.

これらのリプライトランザクションを契機にして、メイン制御部103は、タグスワップ制御部104に登録した下位アドレスを消去する。これにより、メインパイプ102上でキャンセルされていた同一アドレストランザクションはキャンセル状態から開放され通常動作に戻ることができる。また、メイン制御部103は、CPU11からのリプライトランザクションを契機にしてタグ書き戻し制御部106に対してエントリ使用不可フラグの生成を指示する。これにより、タグ書き戻し制御部106は、メイン制御部103によって登録されている下位アドレスとレベルとによって特定される、タグメモリ131の障害エントリのエントリ使用不可フラグに“1”(使用不可を示す)をセットする。これ以後のタグ索引トランザクションがタグ索引した場合に、エントリ使用不可フラグ=“1”のレベルを参照するとそのレベルは無効であると判断し使用しない。   In response to these reply transactions, the main control unit 103 deletes the lower address registered in the tag swap control unit 104. As a result, the same address transaction that has been canceled on the main pipe 102 can be released from the cancel state and return to the normal operation. Further, the main control unit 103 instructs the tag write-back control unit 106 to generate an entry unusable flag in response to a reply transaction from the CPU 11. As a result, the tag write-back control unit 106 sets “1” (indicating unavailable) to the entry unavailable flag of the failure entry in the tag memory 131 specified by the lower address and level registered by the main control unit 103. ) Is set. When the tag index transaction after this is a tag index, referring to the level of the entry unusable flag = “1” determines that the level is invalid and does not use it.

〔第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 tag memory 131, and FIG. 5 is a flowchart showing an example of processing when an uncorrectable failure occurs mainly in the tag memory 131. .

各セル10内の各CPU11は、データアクセス時、自CPU11内のキャッシュ15にアクセス対象データが存在しない場合は、アクセス対象データのアドレスを含むトランザクションを、第二インタフェース出力調停部101を介して第二インタフェース21に出力する。   At the time of data access, each CPU 11 in each cell 10 sends a transaction including the address of the access target data via the second interface output arbitration unit 101 if there is no access target data in the cache 15 in its own CPU 11. Output to the second interface 21.

各セル10では、第二インタフェース21を介して上記トランザクションを受け取ると、それに含まれているアドレスの下位アドレスでタグ索引を行う(図4のステップ4−1)。これにより、タグメモリ131の上記下位アドレスに対応する各レベルのエントリからタグ索引結果が読み出され、ECCチェック&訂正回路132において障害チェックが行われる。ECCチェック&訂正回路132は、障害が無いと判断した場合は、タグ索引結果をそのまま出力し、訂正可能な障害があると判断した場合は、訂正後のタグ索引結果と訂正可能情報(下位アドレスとレベルとを含む)との対を出力し、訂正不可能な障害があると判断した場合は、訂正不可能情報(下位アドレスとレベルとを含む)を出力する。比較回路133は、各レベルのタグ索引結果の内の、上位アドレスがアクセス対象データの上位アドレスと一致するタグ索引結果を第三インタフェース22に出力する。また、各レベルのECCチェック&訂正回路132の出力の中に、訂正可能情報が含まれている場合は、訂正可能情報と訂正後のタグ索引結果との対も第三インタフェース22に出力し、訂正不可能信号が含まれている場合は、それも第三インタフェース22に出力する。   In each cell 10, when the transaction is received via the second interface 21, the tag index is performed with the lower address of the address included in the transaction (step 4-1 in FIG. 4). As a result, the tag index result is read from each level entry corresponding to the lower address of the tag memory 131, and a failure check is performed in the ECC check & correction circuit 132. When it is determined that there is no failure, the ECC check & correction circuit 132 outputs the tag index result as it is, and when it is determined that there is a correctable failure, the corrected tag index result and correctable information (lower address) And a level), and if it is determined that there is an uncorrectable failure, uncorrectable information (including a lower address and a level) is output. The comparison circuit 133 outputs to the third interface 22 a tag index result whose upper address matches the upper address of the access target data among the tag index results of each level. If correctable information is included in the output of the ECC check & correction circuit 132 at each level, the pair of correctable information and the corrected tag index result is also output to the third interface 22. If an uncorrectable signal is included, it is also output to the third interface 22.

各セル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 main control unit 103 in each cell 10 determines that there is no failure in the tag unit 13 in its own cell 10 based on the information received via the third interface 22, it performs normal operation (step 4-2). NO, 4-3). If it is determined that an uncorrectable failure has occurred in the tag unit 13 in the own cell 10 (YES in step 4-2 and NO in 4-4), the process proceeds to step 4-16. If it is determined that a correctable failure has occurred in the tag unit 13 in the own cell 10 (YES in step 4-2 and YES in 4-4), the following processing is performed.

メイン制御部103は、訂正可能情報と訂正後のタグ索引結果を受信すると、訂正可能情報に含まれている下位アドレス(タグ索引時に使用された下位アドレス)をタグスワップ制御部104に登録する処理(ステップ4−5)と、訂正可能情報に含まれている下位アドレス及びレベルをタグ書き戻し制御部106に登録する処理(ステップ4−7)と、訂正可能情報に含まれている下位アドレスと訂正後のタグ索引結果に含まれている上位アドレスとをコヒーレンシ制御部107に登録してスワップトランザクションの発行を指示する処理(ステップ4−10)とを行う。なお、ステップ4−7の処理は行わないようにしても良い。当然この場合は、ステップ4−8、4−9の処理も行わない。   When the main control unit 103 receives the correctable information and the corrected tag index result, the main control unit 103 registers the lower address included in the correctable information (the lower address used during tag indexing) in the tag swap control unit 104. (Step 4-5), processing for registering the lower address and level included in the correctable information in the tag write-back control unit 106 (Step 4-7), and the lower address included in the correctable information A process of registering the upper address included in the corrected tag index result in the coherency control unit 107 and instructing the issue of the swap transaction (step 4-10) is performed. Note that the processing in step 4-7 may not be performed. Of course, in this case, the processes of steps 4-8 and 4-9 are not performed.

ステップ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 comparison circuit 105 indicates a comparison match, the main control unit 103 determines that the transaction issuer on the second interface 21 is the source of the transaction. If it is the cell 10, a swap processing signal is output to the second interface output arbitration unit 101 via the path 220, and if the issuer is another cell 10, it is sent to the issuer cell 10 via the third interface 22. Cancel information is sent (step 4-14). The tag unit 13 does not perform tag indexing while the output to the comparison circuit 105 indicates a comparison match.

一方、コヒーレンシ制御部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 coherency control unit 107 transmits the swap transaction including the lower address and the upper address in the own cell 10 Is issued to each CPU 11 (step 4-11). Upon receiving the swap transaction, each CPU 11 performs a cache flush process and outputs a reply transaction to the second interface 21 (step 4-12).

メインパイプ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 main control unit 103 in the main pipe 102 receives a reply transaction indicating that the cache flushing process has been completed (step 4-13), the main control unit 103 deletes the lower address registered in the tag swap control unit 104 and performs the swap process. The output of the medium signal is stopped (step 4-6). As a result, the canceled state of the transaction canceled in the main pipe 102 is canceled (step 4-15). When the main control unit 103 receives the reply transaction (step 4-13), the main control unit 103 instructs the tag write-back control unit 106 to set an entry unusable flag in the failure entry of the tag memory 131. As a result, the tag write-back control unit 106 sets an entry unusable flag in the failure entry (entry specified by the lower address and level registered in step 4-7) in the tag memory 131 (step 4-8). . The entry whose entry unusable flag is lit is no longer used (step 4-9). As a result, the degeneration is completed dynamically only at the level of the failure entry of the tag, and the continuous operation becomes possible.

次に、メイン制御部103が、ステップ4−4において自セル10内のタグ部13に訂正不可能障害が発生したと判断した場合の動作を説明する。タグ部13に訂正不可能障害が発生した場合は、ECCチェック&訂正回路132によりエラー訂正を行うことができないため、正しい上位アドレスが何であったか分からない。そこで、全ての上位アドレスそれぞれについて、その上位アドレスとタグ索引時に使用した下位アドレスとを含むスワップトランザクションを生成し、生成した各スワップトランザクションを自セル10内の各CPU11に対して発行することで、上記下位アドレスを持つキャッシュ情報を全て主記憶装置14に書き戻せるようにしている。   Next, an operation when the main control unit 103 determines that an uncorrectable failure has occurred in the tag unit 13 in the own cell 10 in step 4-4 will be described. When an uncorrectable failure occurs in the tag unit 13, the error cannot be corrected by the ECC check & correction circuit 132, so it is not known what the correct upper address was. Therefore, for each of the upper addresses, a swap transaction including the upper address and the lower address used during tag indexing is generated, and each generated swap transaction is issued to each CPU 11 in its own cell 10, All cache information having the lower address can be written back to the main storage device 14.

メイン制御部103は、第三インタフェース22を介して受け取った訂正不可能情報により、自セル10内のタグ部13に訂正不可能障害が発生したと判断すると(ステップ4−4がNO)、訂正不可能情報に含まれている下位アドレス(タグ索引時に使用された下位アドレス)をタグスワップ制御部104に登録する処理(図5のステップ5−1)と、訂正不可能情報に含まれている下位アドレス及びレベルをタグ書き戻し制御部106に登録する処理(ステップ5−3)と、訂正不可能情報に含まれている下位アドレスをコヒーレンシ制御部107に登録してスワップトランザクションの発行を指示する処理(ステップ5−6)とを行う。   If the main control unit 103 determines that an uncorrectable failure has occurred in the tag unit 13 in the own cell 10 based on the uncorrectable information received via the third interface 22 (NO in step 4-4), the correction is performed. A process (step 5-1 in FIG. 5) for registering the lower address (lower address used at the time of tag indexing) included in the impossible information in the tag swap control unit 104, and included in the uncorrectable information Processing for registering the lower address and level in the tag write-back control unit 106 (step 5-3), and registering the lower address included in the uncorrectable information in the coherency control unit 107 to instruct to issue a swap transaction. Processing (step 5-6) is performed.

ステップ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 comparison circuit 105 indicates a comparison match, the main control unit 103 determines that the transaction issuer on the second interface 21 If the cell 10, the swap processing signal is output to the second interface output arbitration unit 101 via the path 220, and if the issuer is another cell 10, the issuer of the issuer is sent via the third interface 22. Cancel information is transmitted to the cell 10 (step 5-10). Such processing is continued until the swap processing is completed and the lower address registered in the tag swap control unit 104 is deleted.

一方、コヒーレンシ制御部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 coherency control unit 107 performs swap transaction including the upper address and the lower address for each of the upper addresses. And issues the generated swap transaction to each CPU 11 in the own cell 10 in ascending order from a small address (step 5-7). As a result, the coherency control unit 107 is in a busy state, and subsequent transactions using the coherency control unit 107 are canceled and waited until the busy state is cleared (until the status processing is completed). When the CPU 11 accepts the swap transaction, it performs a cache flush process and returns a reply transaction to the main control unit 103 (step 5-8).

メイン制御部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 main control unit 103 receives a reply transaction for the largest address from all the CPUs 11 in the own cell 10 (step 5-9), the main control unit 103 deletes the lower address registered in the tag swap control unit 104, The output of the swap processing signal is stopped (step 5-2). As a result, the canceled state of the transaction canceled by the main pipe 102 is canceled (step 5-11). When the main control unit 103 receives a reply transaction for the largest address from all the CPUs 11 (step 5-9), the main control unit 103 sets an entry unusable flag to the tag write-back control unit 106 as a failure entry in the tag memory 131. Instruct to set. As a result, the tag write-back control unit 106 sets the entry unusable flag in the failure entry of the tag memory 131, and also displays the status in each entry having the same lower address as that of the failure entry, with the latest data on the main storage device 14. (Step 5-4). The entry whose entry unusable flag is lit is no longer used (step 5-5). As a result, the degeneration is completed dynamically only at the level of the failure entry of the tag, and the continuous operation becomes possible.

〔第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 tag memory 131, data coherency can be ensured, so that the operation is continued. Is possible. The reason for this is that when an uncorrectable failure is detected in the tag index result indexed from the tag memory 131, all the CPUs 11 may be related to the tag index result from which the uncorrectable failure is detected. This is because the memory control / coherency control device 12 that instructs to sweep the data to the main storage device 14 is provided.

〔第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 service processor 112 is added and a cell 10 a is provided instead of the cell 10. The cell 10 a is different from the cell 10 in that the memory control / coherency control device 12 a is provided instead of the memory control / coherency control device 12.

図7はメモリコントロール/コヒーレンシ制御装置12aの構成例を示すブロック図である。図3に示したメモリコントロール/コヒーレンシ制御装置12との相違点は、キャッシュ掃き出し完了レジスタ111が追加されている点、タグ部13の代わりにタグ部13aを備えている点、及びメイン制御部103の代わりにメイン制御部103aを備えている点である。   FIG. 7 is a block diagram showing a configuration example of the memory control / coherency control device 12a. The difference from the memory control / coherency control device 12 shown in FIG. 3 is that a cache flush completion register 111 is added, a tag unit 13 a is provided instead of the tag unit 13, and the main control unit 103. The main control unit 103a is provided instead of the above.

キャッシュ掃き出し完了レジスタ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 service processor 112 when the cache flushing process is completed, and indicates that the cache flushing process is completed.

タグ部13aは、訂正不可能情報(タグ索引時の下位アドレスと、障害エントリのレベルとを含む)を第三インタフェース22だけでなく、パス222を介してサービスプロセッサ112にも出力する点が、第1の実施の形態のタグ部13と相違している。   The tag unit 13a outputs the uncorrectable information (including the lower address at the time of tag index and the level of the failure entry) not only to the third interface 22, but also to the service processor 112 via the path 222. This is different from the tag unit 13 of the first embodiment.

メイン制御部103aは、自セル10a内の各CPU11におけるキャッシュ掃き出し処理が完了したことを、キャッシュ掃き出し完了レジスタ111に格納されている掃き出し完了フラグに基づいて認識する点(掃き出し完了フラグの値が“1”になった場合、キャッシュ掃き出し処理が完了したと認識する)、及びキャッシュ掃き出し処理の完了を認識した後、掃き出し完了フラグを“0”にする点が、第1の実施の形態のメイン制御部103と相違している。   The main control unit 103a recognizes that the cache flushing process in each CPU 11 in the own cell 10a is completed based on the flushing completion flag stored in the cache flushing completion register 111 (the value of the flushing completion flag is “ The main control according to the first embodiment is that the cache flushing process is completed when it becomes 1), and that the flushing completion flag is set to “0” after the completion of the cache flushing process is recognized. This is different from the unit 103.

サービスプロセッサ112内のファームウェア(FW)は、タグ部13aからパス222を介して訂正不可能情報を受け取ったとき、全ての上位アドレスそれぞれについて、その上位アドレスと訂正不可能情報中の下位アドレスとを含むスワップトランザクションを生成し、生成したスワップトランザクションをアドレスが小さいものから昇順に自セル10a内の各CPU11に発行する機能を有する。なお、上記スワップトランザクションは、第一インタフェース20とは別のパス223を介して各CPU11に送る。更に、サービスプロセッサ112は、各CPU11からのリプライトランザクションに基づいて、キャッシュ掃き出し処理が完了したと判断したとき、キャッシュ掃き出し完了レジスタ111中の掃き出し完了フラグを“1”にする機能も有する。   When the firmware (FW) in the service processor 112 receives the uncorrectable information from the tag unit 13a via the path 222, for each of the upper addresses, the upper address and the lower address in the uncorrectable information are displayed. A swap transaction is generated, and the generated swap transaction is issued to each CPU 11 in the own cell 10a in ascending order from the smallest address. The swap transaction is sent to each CPU 11 via a path 223 different from the first interface 20. Further, the service processor 112 has a function of setting the flush completion flag in the cache flush completion register 111 to “1” when it is determined that the cache flush process is completed based on the reply transaction from each CPU 11.

〔第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 tag unit 13a and when a correctable failure has occurred in the tag unit 13a is as described with reference to the flowchart of FIG. The operation when an uncorrectable failure occurs in 13a will be described.

メイン制御部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 tag unit 13a in the own cell 10a based on the uncorrectable information received via the third interface 22 and its bit position ( Step 4-2 in FIG. 4 is YES and 4-4 is NO). As shown in the flowchart in FIG. 8, the lower address (lower address used during tag indexing) included in the uncorrectable information is tag swapped. A process of registering in the control unit 104 (step 8-1) and a process of registering the lower address and level included in the uncorrectable information in the tag write-back control unit 106 (step 8-3) are performed.

また、サービスプロセッサ112のファームウェアは、タグ部13aからパス222を介して訂正不可能情報が送られてくると(ステップ8−6)、全ての上位アドレスそれぞれについて、その上位アドレスと上記訂正不可能情報中の下位アドレスとを含むスワップトランザクションを生成し、生成したスワップトランザクションを小さなアドレスから昇順に、パス223を介して自セル10a内の各CPU11に発行する(ステップ8−7)。各CPU11は、スワップトランザクションに従ってキャッシュ掃き出し処理を行い、リプライトランザクションをパス223を介してサービスプロセッサ112に返す(ステップ8−8)。   When the uncorrectable information is sent from the tag unit 13a via the path 222 to the firmware of the service processor 112 (step 8-6), the upper address and the above-described uncorrectable information for all upper addresses. A swap transaction including the lower address in the information is generated, and the generated swap transaction is issued in ascending order from the smallest address to each CPU 11 in the own cell 10a through the path 223 (step 8-7). Each CPU 11 performs a cache flush process according to the swap transaction, and returns a reply transaction to the service processor 112 via the path 223 (step 8-8).

ステップ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 comparison circuit 105 indicates a comparison match, the main control unit 103a determines that the transaction issuer on the second interface 21 is the source of the transaction. If it is the cell 10a, a swap processing signal is output to the second interface output arbitration unit 101 via the path 220. If the issuer is another cell 10a, the issuer of the issuer is sent via the third interface 22. Cancel information is transmitted to the cell 10a (step 8-10). Such processing is continued until the swap processing is completed and the lower address registered in the tag swap control unit 104 is deleted.

一方、サービスプロセッサ112は、自セル10a内の全てのCPU11から最も大きなアドレスについてのリプライトランザクションを受け付けると、キャッシュ掃き出し完了レジスタ111中の掃き出し完了フラグを“1”とし、キャッシュ掃き出し処理が完了したことを表示する(ステップ8−9)。   On the other hand, when the service processor 112 receives a reply transaction for the largest address from all the CPUs 11 in the own cell 10a, the service processor 112 sets the flush completion flag in the cache flush completion register 111 to “1” and the cache flush process has been completed. Is displayed (step 8-9).

メイン制御部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 main pipe 102 is released (step 8-11). Further, in step 8-2, the main control unit 103a also performs a process of changing the flush completion flag in the cache flush completion register 111 to “0”.

また、メイン制御部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 tag memory 131. As a result, the tag write-back control unit 106 sets the entry unusable flag in the failure entry of the tag memory 131, and also displays the status in each entry having the same lower address as that of the failure entry, and the latest data is stored on the main storage device 14. (Step 8-4). The entry whose entry unusable flag is lit is no longer used (step 8-5). As a result, the degeneration is completed dynamically only at the level of the failure entry of the tag, and the continuous operation becomes possible.

〔第2の実施の形態の効果〕
本実施の形態では、タグメモリ131に訂正不可能障害があった場合、サービスプロセッサ112を用いてスワップトランザクションを発行するようにしているので、第1の実施の形態のように、訂正不可能障害発生時にコヒーレンシ制御部107がビジー状態となることがない。このため、コヒーレンシ制御部107を使用する後続のトランザクションがキャンセルされることがなくなり、第1の実施の形態に比較して性能が向上する。
[Effects of Second Embodiment]
In this embodiment, when there is an uncorrectable failure in the tag memory 131, a swap transaction is issued using the service processor 112. Therefore, as in the first embodiment, an uncorrectable failure is performed. The coherency control unit 107 does not become busy when it occurs. For this reason, subsequent transactions using the coherency control unit 107 are not canceled, and the performance is improved as compared with the first embodiment.

〔第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 tag unit 13 in each cell 10 (having the configuration shown in FIG. 3) which is a component of the distributed shared memory multiprocessor system as shown in FIG. This is realized by performing the processing shown in the flowcharts of FIGS. The operation when no failure has occurred in the tag unit 13 and when a correctable failure has occurred in the tag unit 13 is as described with reference to the flowchart of FIG. An operation when an uncorrectable failure occurs in 13 will be described.

メイン制御部103は、第三インタフェース22を介して受信した訂正不可能情報と、そのビット位置とに基づいて、自セル10内のタグ部13に訂正不可能な障害が発生したと判断すると(図4のステップ4−2がYES、4−4がNO)、図9のフローチャートに示すように、自セル10、他セル10が第三インタフェース22に出力したタグ索引結果の中にPヒットが存在するか否かを調べる(ステップ9−0)。即ち、ステータスが、最新データがキャッシュ上にあることを示しているタグ索引結果が存在するか否かを調べる。   When the main control unit 103 determines that an uncorrectable failure has occurred in the tag unit 13 in the own cell 10 based on the uncorrectable information received via the third interface 22 and its bit position ( Step 4-2 in FIG. 4 is YES and 4-4 is NO). As shown in the flowchart of FIG. 9, P hit is included in the tag index result output from the own cell 10 and the other cell 10 to the third interface 22. It is checked whether or not it exists (step 9-0). That is, it is checked whether there is a tag index result whose status indicates that the latest data is in the cache.

そして、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 cache 15, the process proceeds to step 9-15. On the other hand, when there is no P hit (NO in step 9-0), that is, when it cannot be determined that the access target data exists in the cache 15, the full address of the transaction used for the tag index is replaced with the tag swap. Processing for registering in the control unit 104 (step 9-1), processing for registering the lower address used at the time of tag indexing and the level of the failure entry in the tag write-back control unit 106 (step 9-3), and a coherency control unit A process of registering the full address in 107 and instructing the issue of a swap transaction (step 9-6) is performed.

ステップ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 comparison circuit 105 indicates a comparison match (in this case, the comparison circuit 105 compares the output when the full address matches). If the transaction source on the second interface 21 is the own cell 10, the main control unit 103 is performing swap processing on the second interface output arbitration unit 101 via the path 220. A signal is output, and if the issue source is another cell 10, cancel information is transmitted to the issue source cell 10 via the third interface 22 (step 9-13). Such processing is continued until the swap processing is completed and the full address registered in the tag swap control unit 104 is deleted.

また、コヒーレンシ制御部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 coherency control unit 107 issues a swap transaction including the registered full address to each CPU 11 in the own cell 10 (step 9). -7). When each CPU 11 receives a swap transaction including a full address, the CPU 11 performs a cache flushing process in accordance with the swap transaction, and returns a reply transaction to the main control unit 103 in the main pipe 102 (step 9-8). When the main control unit 103 receives a reply transaction to the effect that the cache flush processing corresponding to the full address from any of the CPUs 11 in the own cell 10 has been completed (step 9-9), the main control unit 103 registers in the tag swap control unit 104. The full address is deleted, and the output of the swap processing in-progress signal is stopped (step 9-2). As a result, the canceled state of the transaction canceled by the main pipe 102 is released (step 9-14). If there is the latest data in the cache 15 of the CPU 11, the data is written back to the main storage device 14, and if there is no latest data, the data in the main storage device 14 is originally the latest. The tag index transaction that has been canceled in (1) can obtain the latest data by accessing the main memory 14.

メイン制御部103は、ステップ9−6の処理が完了すると、タグ索引時に使用した下位アドレスをコヒーレンシ制御部107に登録し、第一インタフェース20が通常処理で使用されていないタイミングで、スワップトランザクションを発行することを指示する。これにより、コヒーレンシ制御部107は、先ず、全ての上位アドレスについて、その上位アドレスと登録された下位アドレスとを含むスワップトランザクションを生成する。その後、コヒーレンシ制御部107は、第一インタフェース20の空き状況を監視し、CPU11が通常処理に第一インタフェース20を使用していないタイミングで、上記生成したスワップトランザクションを、アドレスが小さい順に自セル10内の各CPUに対して発行する(ステップ9−10)。   When the processing of step 9-6 is completed, the main control unit 103 registers the lower address used at the time of tag indexing in the coherency control unit 107, and performs a swap transaction at a timing when the first interface 20 is not used in normal processing. Instruct to issue. Thereby, the coherency control unit 107 first generates a swap transaction including the upper address and the registered lower address for all upper addresses. Thereafter, the coherency control unit 107 monitors the availability of the first interface 20, and at the timing when the CPU 11 does not use the first interface 20 for normal processing, the generated swap transaction is performed in the own cell 10 in ascending order of addresses. (Step 9-10).

各CPU11は、スワップトランザクションを受け付けると、キャッシュ掃き出し処理を行い、リプライトランザクションをメイン制御部103に返す(ステップ9−11)。メイン制御部103は、自セル10内の全てのCPU11から最も大きなアドレスについてのリプライトランザクションを受け付けると(ステップ9−12)、タグ書き戻し制御部106に対してエントリ使用不可フラグをタグメモリ131の障害エントリにセットすることを指示する。これにより、タグ書き戻し制御部106は、タグメモリ131の障害エントリにエントリ使用不可フラグをセットすると共に、障害エントリと同じ下位アドレスを有する各エントリ中のステータスを、最新データが主記憶装置14上に存在することを示すものに書き換える(ステップ9−4)。このエントリ使用不可フラグが点灯しているエントリはこれ以後使われなくなる(ステップ9−5)。これによりタグの障害エントリのレベルのみ動的に縮退が完了し継続動作が可能となる。   When each CPU 11 accepts the swap transaction, it performs a cache flush process and returns a reply transaction to the main control unit 103 (step 9-11). When the main control unit 103 receives a reply transaction for the largest address from all the CPUs 11 in its own cell 10 (step 9-12), the main control unit 103 sets an entry unusable flag to the tag write-back control unit 106 in the tag memory 131. Instructs the failure entry to be set. As a result, the tag write-back control unit 106 sets the entry unusable flag in the failure entry of the tag memory 131, and also displays the status in each entry having the same lower address as that of the failure entry, and the latest data is stored on the main storage device 14. (Step 9-4). The entry whose entry unusable flag is lit is no longer used (step 9-5). As a result, the degeneration is completed dynamically only at the level of the failure entry of the tag, and the continuous operation becomes possible.

次に、ステップ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 own cell 10 or the other cell 10, the main control unit 103 performs a process for accessing the cache 15 of the CPU 11 of the P hit cell (step 10-8). In this embodiment, even if there is a tag failure, if there is a P hit including the failure level, the P hit processing is prioritized. Therefore, the main control unit 103 does not perform the process of registering the lower address used at the time of tag indexing in the tag swap control unit 104 (step 10-1), and the lower address used at the time of tag indexing in the tag write back control unit 106 and Processing for registering the level at which the failure occurred (step 10-2) and processing for instructing the issue of a swap transaction by registering the lower address used at the time of tag indexing in the coherency control unit 107 are performed. Thereby, the coherency control unit 107 first generates a swap transaction including the upper address and the registered lower address for all upper addresses. Thereafter, the coherency control unit 107 monitors the availability of the first interface 20, and at the timing when the CPU 11 does not use the first interface 20 for normal processing, the generated swap transaction is performed in the own cell 10 in ascending order of addresses. Issued to each of the CPUs.

各CPU11は、スワップトランザクションを受け付けると、キャッシュ掃き出し処理を行い、リプライトランザクションをメイン制御部103に返す(ステップ10−6)。メイン制御部103は、自セル10内の全てのCPU11から最も大きなアドレスについてのリプライトランザクションを受け付けると(ステップ10−7)、タグ書き戻し制御部106に対してエントリ使用不可フラグをタグメモリ131の障害エントリにセットすることを指示する。これにより、タグ書き戻し制御部106は、タグメモリ131の障害エントリにエントリ使用不可フラグをセットすると共に、障害エントリと同じ下位アドレスを有する各エントリ中のステータスを、最新データが主記憶装置14上に存在することを示すものに書き換える(ステップ10−3)。このエントリ使用不可フラグが点灯しているエントリはこれ以後使われなくなる(ステップ10−4)。これによりタグの障害エントリのレベルのみ動的に縮退が完了し継続動作が可能となる。 When each CPU 11 accepts a swap transaction, it performs a cache flush process and returns a reply transaction to the main control unit 103 (step 10-6). When the main control unit 103 receives a reply transaction for the largest address from all the CPUs 11 in its own cell 10 (step 10-7), the main control unit 103 sets an entry unusable flag to the tag write-back control unit 106 in the tag memory 131. Instructs the failure entry to be set. As a result, the tag write-back control unit 106 sets the entry unusable flag in the failure entry of the tag memory 131, and also displays the status in each entry having the same lower address as that of the failure entry, with the latest data on the main storage device 14. (Step 10-3). The entry whose entry unusable flag is lit is no longer used (step 10-4). As a result, the degeneration is completed dynamically only at the level of the failure entry of the tag, and the continuous operation becomes possible.

なお、第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 tag memory 131, the normal process performed by the CPU 11 is prioritized over the cache flush process, and the cache flush process is performed aiming at the gap of the normal process of the CPU 11. This makes it possible to guarantee data coherency with almost no degradation in processing performance.

本発明は、分散共有メモリ型マルチプロセッサシステム等のようにキャッシュメモリを有する複数の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.

本発明にかかる分散共有メモリ型マルチプロセッサシステムの第1の実施の形態の構成例を示すブロック図である。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. FIG. タグ部13の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a tag unit 13. FIG. メモリコントロール/コヒーレンシ制御装置12の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a memory control / coherency control device 12. FIG. 主にタグメモリ131に訂正可能障害が発生したときの、第1の実施の形態の処理例を示すフローチャートである。10 is a flowchart illustrating a processing example of the first exemplary embodiment when a correctable failure mainly occurs in a tag memory. 主にタグメモリ131に訂正不可能障害が発生したときの、第1の実施の形態の処理例を示すフローチャートである。10 is a flowchart illustrating a processing example of the first exemplary embodiment when an uncorrectable failure occurs mainly in the tag memory. 本発明にかかる分散共有メモリ型マルチプロセッサシステムの第2の実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 2nd Embodiment of the distributed shared memory type | mold multiprocessor system concerning this invention. 第2の実施の形態で使用するメモリコントロール/コヒーレンシ制御装置12aの構成例を示すブロック図である。It is a block diagram which shows the structural example of the memory control / coherency control apparatus 12a used in 2nd Embodiment. 主にタグメモリ131に訂正不可能障害が発生したときの、第2の実施の形態の処理例を示すフローチャートである。10 is a flowchart illustrating a processing example of the second exemplary embodiment when an uncorrectable failure occurs mainly in the tag memory. 主にタグメモリ131に訂正不能障害が発生し、且つPヒットがなかったときの、第3の実施の形態の処理例を示すフローチャートである。10 is a flowchart illustrating a processing example of the third exemplary embodiment when an uncorrectable failure occurs mainly in the tag memory 131 and there is no P hit. 主にタグメモリ131に訂正不可能が発生し、且つPヒットがあったときの、第3の実施の形態の処理例を示すフローチャートである。10 is a flowchart illustrating a processing example of the third exemplary embodiment mainly when correction is impossible in the tag memory 131 and there is a P hit.

符号の説明Explanation of symbols

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 ... cell 11 ... CPU
DESCRIPTION OF SYMBOLS 12, 12a ... Memory control / coherency control apparatus 101 ... 2nd interface output arbitration part 102 ... Main pipe 103, 103a ... Main control part 104 ... Tag swap control part 105 ... Comparison circuit 106 ... Tag write-back control part 107 ... Coherency control Unit 108 ... main memory access control unit 111 ... cache flush completion register 112 ... service processor 13, 13a ... tag unit 131 ... tag memory 132 ... ECC check & correction circuit 133 ... comparison circuit 14 ... main storage device 15 ... cache (cache memory) )
20 ... 1st interface 21 ... 2nd interface 22 ... 3rd interface

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.
請求項1記載のマルチプロセッサシステムにおいて、
前記メモリコントロール/コヒーレンシ制御装置が、
前記各キャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが、前記データの下位アドレスに対応するエントリに格納されたタグメモリと、
トランザクションの下位アドレスによって前記タグメモリから索引されたタグ索引結果に訂正不可能障害があるか否かをチェックする障害チェック回路と、
該障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記各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.
請求項2記載のマルチプロセッサシステムにおいて、
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各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.
請求項2記載のマルチプロセッサシステムにおいて、
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各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.
請求項2記載のマルチプロセッサシステムにおいて、
サービスプロセッサを備え、前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記サービスプロセッサが前記コヒーレンシ制御部の代わりに、前記各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.
請求項2記載のマルチプロセッサシステムにおいて、
前記コヒーレンシ制御部が、
前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できない場合は、直ちに、前記トランザクションのフルアドレスを含むスワップトランザクションを前記各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とを備えたマルチプロセッサシステムにおけるデータのコヒーレンシを、前記各キャッシュメモリ内のデータの状態を管理するタグメモリを利用して保証するメモリコントロール/コヒーレンシ制御装置であって、
前記タグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、前記各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.
請求項7記載のメモリコントロール/コヒーレンシ制御装置において、
前記各キャッシュメモリに格納されているデータの上位アドレスと、そのデータが最新データであるか否かを示すステータスとが、前記データの下位アドレスに対応するエントリに格納されたタグメモリと、
トランザクションの下位アドレスによって前記タグメモリから索引されたタグ索引結果に訂正不可能障害があるか否かをチェックする障害チェック回路と、
該障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断された場合、前記各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.
請求項8記載のメモリコントロール/コヒーレンシ制御装置において、
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各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.
請求項8記載のメモリコントロール/コヒーレンシ制御装置において、
前記コヒーレンシ制御部が、全ての上位アドレスについて、その上位アドレスと前記タグ索引時に使用された下位アドレスとを含むスワップトランザクションを生成し、該生成したスワップトランザクションを前記各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.
請求項8記載のメモリコントロール/コヒーレンシ制御装置において、
前記コヒーレンシ制御部が、
前記障害チェック回路で前記タグ索引結果に訂正不可能障害があると判断され、且つ前記タグメモリの内容に基づいてキャッシュメモリ上に前記トランザクションがアクセス対象にしている最新データが存在すると確定できない場合は、直ちに、前記トランザクションのフルアドレスを含むスワップトランザクションを前記各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とを備えたマルチプロセッサシステムにおけるデータのコヒーレンシを保証するコヒーレンシ保証方法であって、
前記各キャッシュメモリ内のデータの状態を管理するタグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、前記各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に対して、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータを主記憶装置に掃き出すことを指示し、該指示に従って前記各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.
JP2006229070A 2006-08-25 2006-08-25 Multiprocessor system, memory control / coherency control device, and coherency guarantee method Expired - Fee Related JP4860403B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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