JP2559989B2 - マルチプロセッサ・システムにおけるスペア・ビットをステアリングする装置および方法 - Google Patents
マルチプロセッサ・システムにおけるスペア・ビットをステアリングする装置および方法Info
- Publication number
- JP2559989B2 JP2559989B2 JP5237752A JP23775293A JP2559989B2 JP 2559989 B2 JP2559989 B2 JP 2559989B2 JP 5237752 A JP5237752 A JP 5237752A JP 23775293 A JP23775293 A JP 23775293A JP 2559989 B2 JP2559989 B2 JP 2559989B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- global memory
- memory
- shared global
- address information
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明はコンピュータ・システム
・メモリに関し、更に具体的にはマルチプロセッサによ
り共有された1つのグローバル・メモリの環境でスペア
・ビットを用いるシステムおよび方法に関する。
・メモリに関し、更に具体的にはマルチプロセッサによ
り共有された1つのグローバル・メモリの環境でスペア
・ビットを用いるシステムおよび方法に関する。
【0002】
【従来の技術】コーディネートされたマルチプロセッサ
よりなるシステムは、メインフレームの環境で最初に開
発され用いられてきた。最近では、マイクロプロセッサ
が低価格、高性能になった結果、メイン・フレームの性
能をマルチ・マイクロプロセッサの並列使用を通して模
写することを目的としたマルチプロセッサ・システムへ
の関心がとみに高まってきている。
よりなるシステムは、メインフレームの環境で最初に開
発され用いられてきた。最近では、マイクロプロセッサ
が低価格、高性能になった結果、メイン・フレームの性
能をマルチ・マイクロプロセッサの並列使用を通して模
写することを目的としたマルチプロセッサ・システムへ
の関心がとみに高まってきている。
【0003】マルチプロセッサ・システム用の種々のア
ーキテクチャが定義されている。大概の設計は、キャッ
シュ・コヒーレンスの必要性のために高度に集積された
アーキテクチャに依存している。そのようなシステムで
は、キャッシュ・コヒーレンスは種々のキャッシュおよ
びメイン・メモリ内で反射されるデータの一貫性を保証
するために個々のマイクロプロセッサに関連したキャッ
シュ・メモリの複雑な論理回路接続を介して維持され
る。
ーキテクチャが定義されている。大概の設計は、キャッ
シュ・コヒーレンスの必要性のために高度に集積された
アーキテクチャに依存している。そのようなシステムで
は、キャッシュ・コヒーレンスは種々のキャッシュおよ
びメイン・メモリ内で反射されるデータの一貫性を保証
するために個々のマイクロプロセッサに関連したキャッ
シュ・メモリの複雑な論理回路接続を介して維持され
る。
【0004】マルチプロセッサ・システムをアーキテク
チャするための若干異なったアプローチは、個々のプロ
セッサの比較的緩いハードウエア・レベルの結合に依存
している。唯一の例外は回路論理が共有のグローバル・
メモリへのアクセスを制御することとキャッシュ・コヒ
ーレンスを管理するのにソフトウエアを使用することで
ある。アーキテクチャがソフトウエアで管理されたキャ
ッシュ・コヒーレンスに依存する場合、設計者は、バン
クに関連したスペア・ビット・ステアリングおよびデー
タ・エラー訂正コード(ECC)メモリ構成のごときメモリ
・エラー訂正資源の使用を含む既存のプロセッサ・ハー
ドウエアを最大限に利用することが出来る。このように
プロセッサが比較的独立であることは、過小評価された
可用性レベルを有するマルチプロセッサ・システムの余
地を残す。何故なら1つまたは複数のプロセッサが残り
のプロセッサの動作を途絶させることなく切り離される
ことが出来るからである。共有グローバル・メモリへの
アクセスおよび該メモリとのコヒーレンスにおけるコー
ディネーションはプロセッサが密に結合されていない場
合は更に困難となる。
チャするための若干異なったアプローチは、個々のプロ
セッサの比較的緩いハードウエア・レベルの結合に依存
している。唯一の例外は回路論理が共有のグローバル・
メモリへのアクセスを制御することとキャッシュ・コヒ
ーレンスを管理するのにソフトウエアを使用することで
ある。アーキテクチャがソフトウエアで管理されたキャ
ッシュ・コヒーレンスに依存する場合、設計者は、バン
クに関連したスペア・ビット・ステアリングおよびデー
タ・エラー訂正コード(ECC)メモリ構成のごときメモリ
・エラー訂正資源の使用を含む既存のプロセッサ・ハー
ドウエアを最大限に利用することが出来る。このように
プロセッサが比較的独立であることは、過小評価された
可用性レベルを有するマルチプロセッサ・システムの余
地を残す。何故なら1つまたは複数のプロセッサが残り
のプロセッサの動作を途絶させることなく切り離される
ことが出来るからである。共有グローバル・メモリへの
アクセスおよび該メモリとのコヒーレンスにおけるコー
ディネーションはプロセッサが密に結合されていない場
合は更に困難となる。
【0005】共有グローバル・メモリおよび緩く結合し
たマルチプロセッサ・アーキテクチャで起こる1つの問
題は、エラー検出および訂正資源の管理に関するもので
ある。このような環境のもとでは、スペア・ビットおよ
びエラー訂正コード・ビットの指定およびコーディネイ
トした使用は、グローバル・メモリ内のデータが一貫性
を持ちかつ信頼性を持つように、プロセッサ間で一貫性
がなければならない。
たマルチプロセッサ・アーキテクチャで起こる1つの問
題は、エラー検出および訂正資源の管理に関するもので
ある。このような環境のもとでは、スペア・ビットおよ
びエラー訂正コード・ビットの指定およびコーディネイ
トした使用は、グローバル・メモリ内のデータが一貫性
を持ちかつ信頼性を持つように、プロセッサ間で一貫性
がなければならない。
【0006】
【発明が解決しようとする課題】本発明はグローバル・
メモリ資源を有するマルチプロセッサ・アーキテクチャ
におけるスペア・ビットのステアリングのための方法お
よびシステムを提供する。
メモリ資源を有するマルチプロセッサ・アーキテクチャ
におけるスペア・ビットのステアリングのための方法お
よびシステムを提供する。
【0007】
【課題を解決するための手段】本発明のシステムは、グ
ローバル・メモリにおけるスペア・ビットのステアリン
グを規定する第1のプロセッサと、それぞれのローカル
・メモリにおけるスペア・ビットのステアリングを規定
するために第1のプロセッサ以外のプロセッサをイネー
ブルする手段と、第1プロセッサから他のプロセッサへ
グローバル・メモリ・スペア・ビット・ステアリング情
報を転送する手段とよりなる。
ローバル・メモリにおけるスペア・ビットのステアリン
グを規定する第1のプロセッサと、それぞれのローカル
・メモリにおけるスペア・ビットのステアリングを規定
するために第1のプロセッサ以外のプロセッサをイネー
ブルする手段と、第1プロセッサから他のプロセッサへ
グローバル・メモリ・スペア・ビット・ステアリング情
報を転送する手段とよりなる。
【0008】本発明の良好な形態では、ブーティング・
プロセスで指定されたステージに最初に達したマルチプ
ロセッサ内のプロセッサが自己のローカル・メモリと共
有のグローバル・メモリの両方をテストする責任を負わ
される。残りのプロセッサはそれぞれ自己のローカル・
メモリ・アレイのみをテストする。選択されたプロセッ
サにより導出されたビット・ステアリング情報は、メモ
リ・スペア・ビット・ステアリングがグローバル・メモ
リに対してプロセッサ間で一貫性があることを保証する
ことの一環として、他のプロセッサの各々へ伝達され
る。ローカル・メモリ・ビット・ステアリングは関連す
るプロセッサに対して個性化される。
プロセスで指定されたステージに最初に達したマルチプ
ロセッサ内のプロセッサが自己のローカル・メモリと共
有のグローバル・メモリの両方をテストする責任を負わ
される。残りのプロセッサはそれぞれ自己のローカル・
メモリ・アレイのみをテストする。選択されたプロセッ
サにより導出されたビット・ステアリング情報は、メモ
リ・スペア・ビット・ステアリングがグローバル・メモ
リに対してプロセッサ間で一貫性があることを保証する
ことの一環として、他のプロセッサの各々へ伝達され
る。ローカル・メモリ・ビット・ステアリングは関連す
るプロセッサに対して個性化される。
【0009】グローバル・メモリ・スペア・ビット・ス
テアリング情報はグローバル・メモリ・テストを行う選
択されたプロセッサから残りのプロセッサへ次の2つの
方法のいずれかで伝達される。第1の方法では、全ての
プロセッサにつながれたアトミック・セマフォ・コント
ローラ内のセマフォ関連レジスタを介して転送がなされ
る。第2の方法では、スペア・ビット・ステアリングお
よびバンク構成情報がグローバル・メモリをテストする
プロセッサからマルチプロセッサ・システム内の他のプ
ロセッサへグローバル・メモリの特別に割り当てられた
ブロックを介して伝達される。限定されたセットアップ
およびグローバル・メモリ・ポインタ情報が第2の形式
でアトミック・セマフォ・コントローラを通過する。本
発明のシステムおよび方法はスペア・ビット・ステアリ
ングおよびメモリ構成情報の同一のセットを共通使用用
に配布する。
テアリング情報はグローバル・メモリ・テストを行う選
択されたプロセッサから残りのプロセッサへ次の2つの
方法のいずれかで伝達される。第1の方法では、全ての
プロセッサにつながれたアトミック・セマフォ・コント
ローラ内のセマフォ関連レジスタを介して転送がなされ
る。第2の方法では、スペア・ビット・ステアリングお
よびバンク構成情報がグローバル・メモリをテストする
プロセッサからマルチプロセッサ・システム内の他のプ
ロセッサへグローバル・メモリの特別に割り当てられた
ブロックを介して伝達される。限定されたセットアップ
およびグローバル・メモリ・ポインタ情報が第2の形式
でアトミック・セマフォ・コントローラを通過する。本
発明のシステムおよび方法はスペア・ビット・ステアリ
ングおよびメモリ構成情報の同一のセットを共通使用用
に配布する。
【0010】
【実施例】図1は本発明が関連するマルチプロセッサの
アーキテクチャのブロック図を示す。本システムは4つ
のプロセッサ1−4を含む。プロセッサの代表例はIBM社
のAIXオペレーティング・システムで動くRISCシステム/
6000ワークステーションである。各プロセッサ1−4はメ
モリ構成レジスタ6およびビット・ステアリング構成レ
ジスタ7を含み、メモリ構成レジスタにはメモリ・アレ
イ先頭アドレスおよびサイズ情報が格納され、ビット・
ステアリング構成レジスタにはスペア・ビット・ステア
リングおよびバンク情報が格納される。各プロセッサ1
−4にはローカルにアドレス可能なメモリ・アレイ8、
9、11、12がそれぞれ設けられている。図示していない
が、各プロセッサは命令およびデータ用にキャッシュ型
のメモリを有する。前述のごとく、キャッシュ・コヒー
レンスは後述する方法でソフトウエアにより管理され
る。図1のアトミック・セマフォ・コントローラ13はソ
フトウエアがグローバル・メモリ・アレイ14へのアクセ
スをコーディネートするのを可能にする。コントローラ
13はロック可能なセマフォ型の多数のレジスタを含む。
動作中、コントローラ13は1時に1つのプロセッサのみが
セマフォ・レジスタに独占的にアクセスすることを許
す。しかし別のプロセッサは同時に別のセマファを所有
することが可能で、各プロセッサは1時に2以上のセマフ
ァを所有することが可能である。ソフトウエアはグロー
バル・メモリの異なるブロックまたはバンクへのプロセ
ッサ・アクセスを割り当てるためにセマフォを使用す
る。ソフトウエアはまた種々のプロセッサ・キャッシュ
間のグローバル・メモリ・コヒーレンスを維持するため
にキャッシュ・フラッシュ・サイクルを導入する。
アーキテクチャのブロック図を示す。本システムは4つ
のプロセッサ1−4を含む。プロセッサの代表例はIBM社
のAIXオペレーティング・システムで動くRISCシステム/
6000ワークステーションである。各プロセッサ1−4はメ
モリ構成レジスタ6およびビット・ステアリング構成レ
ジスタ7を含み、メモリ構成レジスタにはメモリ・アレ
イ先頭アドレスおよびサイズ情報が格納され、ビット・
ステアリング構成レジスタにはスペア・ビット・ステア
リングおよびバンク情報が格納される。各プロセッサ1
−4にはローカルにアドレス可能なメモリ・アレイ8、
9、11、12がそれぞれ設けられている。図示していない
が、各プロセッサは命令およびデータ用にキャッシュ型
のメモリを有する。前述のごとく、キャッシュ・コヒー
レンスは後述する方法でソフトウエアにより管理され
る。図1のアトミック・セマフォ・コントローラ13はソ
フトウエアがグローバル・メモリ・アレイ14へのアクセ
スをコーディネートするのを可能にする。コントローラ
13はロック可能なセマフォ型の多数のレジスタを含む。
動作中、コントローラ13は1時に1つのプロセッサのみが
セマフォ・レジスタに独占的にアクセスすることを許
す。しかし別のプロセッサは同時に別のセマファを所有
することが可能で、各プロセッサは1時に2以上のセマフ
ァを所有することが可能である。ソフトウエアはグロー
バル・メモリの異なるブロックまたはバンクへのプロセ
ッサ・アクセスを割り当てるためにセマフォを使用す
る。ソフトウエアはまた種々のプロセッサ・キャッシュ
間のグローバル・メモリ・コヒーレンスを維持するため
にキャッシュ・フラッシュ・サイクルを導入する。
【0011】非ブロッキング・クロスポイント・スイッ
チ17は比較的通常の設計であり、アドレス衝突がない場
合にグローバル・メモリ・アレイ14のあらゆる部分にプ
ロセッサ1−4が直接アクセスできるようにする。これに
よりプロセッサは全ての局所的衝突状態においてグロー
バル・メモリと同時やり取りをすることが出来る。
チ17は比較的通常の設計であり、アドレス衝突がない場
合にグローバル・メモリ・アレイ14のあらゆる部分にプ
ロセッサ1−4が直接アクセスできるようにする。これに
よりプロセッサは全ての局所的衝突状態においてグロー
バル・メモリと同時やり取りをすることが出来る。
【0012】スペア・ビットおよびメモリ構成情報の生
成、分配および使用は図2を見ると明らかである。ブロ
ック18はプロセッサから見た複合即ちローカルおよびグ
ローバル・メモリのアドレス範囲を示す。典型的には、
第1のバンク0がローカル・メモリである。メモリの各バ
ンクの各行は列0−Nにデータ・ビット列を有するのみな
らずスペア・ビット列Sをも有する。データ・ビット0−
Nは原データとエラー訂正、好ましくは2つのエラーを検
出し1つのエラーを訂正するに十分なエラー訂正を行う
ために付加されたビットを含む。エラー訂正コード資源
がソフト・エラーを管理するために設けられている限
り、1つまたは2以上のスペア・ビット列の存在により、
メモリ・アレイ内のハード欠陥がエラー訂正コード資源
を首尾一貫して消費することはなくなる。
成、分配および使用は図2を見ると明らかである。ブロ
ック18はプロセッサから見た複合即ちローカルおよびグ
ローバル・メモリのアドレス範囲を示す。典型的には、
第1のバンク0がローカル・メモリである。メモリの各バ
ンクの各行は列0−Nにデータ・ビット列を有するのみな
らずスペア・ビット列Sをも有する。データ・ビット0−
Nは原データとエラー訂正、好ましくは2つのエラーを検
出し1つのエラーを訂正するに十分なエラー訂正を行う
ために付加されたビットを含む。エラー訂正コード資源
がソフト・エラーを管理するために設けられている限
り、1つまたは2以上のスペア・ビット列の存在により、
メモリ・アレイ内のハード欠陥がエラー訂正コード資源
を首尾一貫して消費することはなくなる。
【0013】図示のメモリ・ブロック18では、バンク0
は64Mで構成され、第3データ・ビット列に単一の不良ビ
ットを、続いてBデータ・ビット列に5個の不良ビットを
有する。この場合、単一のスペア・ビット列では列3とB
を置換するには不十分であり、メモリのページ全体をマ
ップ・アウトする必要がある。バンク1は32Mで構成さ
れ、この場合列6に全ての欠陥ビットを有する。バンク1
をアドレスする場合、列6の位置に対して指定されたデ
ータがスペア・ビット列Sに書き込まれまたはそこから
読み出されるようにステアリングされる。
は64Mで構成され、第3データ・ビット列に単一の不良ビ
ットを、続いてBデータ・ビット列に5個の不良ビットを
有する。この場合、単一のスペア・ビット列では列3とB
を置換するには不十分であり、メモリのページ全体をマ
ップ・アウトする必要がある。バンク1は32Mで構成さ
れ、この場合列6に全ての欠陥ビットを有する。バンク1
をアドレスする場合、列6の位置に対して指定されたデ
ータがスペア・ビット列Sに書き込まれまたはそこから
読み出されるようにステアリングされる。
【0014】バンク0およびバンク1のみならずバンク2
の情報もプロセッサ1のビット・ステアリング構成レジ
スタに現れる。プロセッサ1内のメモリ構成レジスタ6は
メモリ・システム18内のバンクのサイズおよび先頭アド
レスに関するデータを含む。
の情報もプロセッサ1のビット・ステアリング構成レジ
スタに現れる。プロセッサ1内のメモリ構成レジスタ6は
メモリ・システム18内のバンクのサイズおよび先頭アド
レスに関するデータを含む。
【0015】本発明によれば、前述の欠陥を識別するた
めのグローバル・メモリ・テストを行うプロセッサであ
るプロセッサ1のレジスタ6および7内の情報がマルチプ
ロセッサ・システム内の他のプロセッサの各々に同一形
式で配布される。他方、各プロセッサに関連するローカ
ル・メモリに関する対応する形式の情報は配布されな
い。全てのマルチプロセッサ内の対応するレジスタに情
報を配布することにより、ローカル・メモリの完全な個
別管理を行いつつマルチプロセッサの各々からのグロー
バル・メモリの一貫性を保証できる。スペア・ビット・
ステアリング情報およびメモリ構成情報の配布は種々の
方法で行うことが出来る。好ましくは、レジスタ・デー
タはシステム内の他のプロセッサにグローバル・メモリ
・テストを行ったプロセッサからセマフォ・レジスタ16
(図1)を用いた放送を介して伝達される。代案として、
スペア・ビット・ステアリングおよびメモリ構成情報は
グローバル・メモリをテストしたプロセッサによりグロ
ーバル・メモリの指定ブロックに書き込まれ、次いで他
の3つのプロセッサの各々のよりメモリ駐在レジスタ・
データが読み出されてもよい。本実施例では、メモリ・
ポインタと最小構成情報は依然としてセマフォ16を通過
する。情報を含むグローバルメモリのブロックを識別す
るのにポインタが使用され、グローバル・メモリの欠陥
に対して位置が調整される。最小構成情報はグローバル
・メモリ・バンク組織を特定する。
めのグローバル・メモリ・テストを行うプロセッサであ
るプロセッサ1のレジスタ6および7内の情報がマルチプ
ロセッサ・システム内の他のプロセッサの各々に同一形
式で配布される。他方、各プロセッサに関連するローカ
ル・メモリに関する対応する形式の情報は配布されな
い。全てのマルチプロセッサ内の対応するレジスタに情
報を配布することにより、ローカル・メモリの完全な個
別管理を行いつつマルチプロセッサの各々からのグロー
バル・メモリの一貫性を保証できる。スペア・ビット・
ステアリング情報およびメモリ構成情報の配布は種々の
方法で行うことが出来る。好ましくは、レジスタ・デー
タはシステム内の他のプロセッサにグローバル・メモリ
・テストを行ったプロセッサからセマフォ・レジスタ16
(図1)を用いた放送を介して伝達される。代案として、
スペア・ビット・ステアリングおよびメモリ構成情報は
グローバル・メモリをテストしたプロセッサによりグロ
ーバル・メモリの指定ブロックに書き込まれ、次いで他
の3つのプロセッサの各々のよりメモリ駐在レジスタ・
データが読み出されてもよい。本実施例では、メモリ・
ポインタと最小構成情報は依然としてセマフォ16を通過
する。情報を含むグローバルメモリのブロックを識別す
るのにポインタが使用され、グローバル・メモリの欠陥
に対して位置が調整される。最小構成情報はグローバル
・メモリ・バンク組織を特定する。
【0016】図3はN個の関連したプロセッサの各々の動
作シーケンスを示す。プロセッサ0がグローバル・メモ
リをテストする責任を負うものとする。2つの点に注目
する。まず、ただ1つのプロセッサがグローバル・メモ
リのテストを行い関連したビット・ステアリングおよび
バンク構成を決定するので、各プロセッサに同様のテス
トを行わせることによる遅延と非一貫性とが回避され
る。第2に、種々のプロセッサで行われる動作が並列的
であるので、1つまたは2以上のプロセッサが残りのプロ
セッサの動作を禁止することなく切り離されまたはディ
スエーブルされることが出来る。ブーティング・プロセ
スで或るステージに最初に達したプロセッサがプロセッ
サ0の責任を負わされるので、並列性は常に損なわれな
い。
作シーケンスを示す。プロセッサ0がグローバル・メモ
リをテストする責任を負うものとする。2つの点に注目
する。まず、ただ1つのプロセッサがグローバル・メモ
リのテストを行い関連したビット・ステアリングおよび
バンク構成を決定するので、各プロセッサに同様のテス
トを行わせることによる遅延と非一貫性とが回避され
る。第2に、種々のプロセッサで行われる動作が並列的
であるので、1つまたは2以上のプロセッサが残りのプロ
セッサの動作を禁止することなく切り離されまたはディ
スエーブルされることが出来る。ブーティング・プロセ
スで或るステージに最初に達したプロセッサがプロセッ
サ0の責任を負わされるので、並列性は常に損なわれな
い。
【0017】本発明のシステムおよび方法はアトミック
・セマフォ・コントローラ内のセマフォ・レジスタおよ
びキャッシュ・コヒーレンスの両者をソフトウエア管理
してコーディネートされる緩く結合されたマルチプロセ
ッサの環境でグローバル・アレイ・メモリ・スペア・ビ
ット・ステアリングの一貫性を保証する。スペア・ビッ
トおよびメモリ構成情報は選択されたプロセッサにより
導出され、アトミック・セマフォ・コントローラまたは
グローバル・メモリの共通にアクセスできるブロックを
介して配布される。プロセッサが互いに独立であるた
め、過小評価されたシステム・レベル動作冗長度が得ら
れる。
・セマフォ・コントローラ内のセマフォ・レジスタおよ
びキャッシュ・コヒーレンスの両者をソフトウエア管理
してコーディネートされる緩く結合されたマルチプロセ
ッサの環境でグローバル・アレイ・メモリ・スペア・ビ
ット・ステアリングの一貫性を保証する。スペア・ビッ
トおよびメモリ構成情報は選択されたプロセッサにより
導出され、アトミック・セマフォ・コントローラまたは
グローバル・メモリの共通にアクセスできるブロックを
介して配布される。プロセッサが互いに独立であるた
め、過小評価されたシステム・レベル動作冗長度が得ら
れる。
【0018】
【発明の効果】以上説明したように、本発明によれば、
システム・ブーティング・サイクルの間に、グローバル
・メモリをテストするように、そしてバンクごとのスペ
ア・ビットのステアリングを構成するようにマルチプロ
セッサの1つが選択される。各プロセッサは自身のロー
カル・メモリをテストし、ローカル・メモリに対する関
連するスペア・ビット・ステアリングを規定する。1つ
の選択されたプロセッサ内のグローバル・メモリ・スペ
ア・ビット・ステアリング構成情報は他のグローバル・
メモリ構成情報とともに他のプロセッサへ、アトミック
・セマフォ・コントローラによりアクセス可能なレジス
タを用いてまたはグローバル・メモリの共通にアクセス
可能なブロックを介して配布される。グローバル・メモ
リをテストするプロセッサの選択はいずれの単一のプロ
セッサも常には責任を負わされないような形でなされ
る。従って、本発明の装置および方法によれば、グロー
バル・メモリ・スペア・ビット・ステアリング情報はい
ずれのプロセッサの動作状態にもリンクされない。
システム・ブーティング・サイクルの間に、グローバル
・メモリをテストするように、そしてバンクごとのスペ
ア・ビットのステアリングを構成するようにマルチプロ
セッサの1つが選択される。各プロセッサは自身のロー
カル・メモリをテストし、ローカル・メモリに対する関
連するスペア・ビット・ステアリングを規定する。1つ
の選択されたプロセッサ内のグローバル・メモリ・スペ
ア・ビット・ステアリング構成情報は他のグローバル・
メモリ構成情報とともに他のプロセッサへ、アトミック
・セマフォ・コントローラによりアクセス可能なレジス
タを用いてまたはグローバル・メモリの共通にアクセス
可能なブロックを介して配布される。グローバル・メモ
リをテストするプロセッサの選択はいずれの単一のプロ
セッサも常には責任を負わされないような形でなされ
る。従って、本発明の装置および方法によれば、グロー
バル・メモリ・スペア・ビット・ステアリング情報はい
ずれのプロセッサの動作状態にもリンクされない。
【図1】マルチプロセッサ・システムのブロック・ダイ
アグラムを示す。
アグラムを示す。
【図2】グローバル・メモリ内のデータとプロセッサの
構成レジスタの貯蔵されたスペア・ビット・ステアリン
グおよびメモリ構成情報の関係を示す。
構成レジスタの貯蔵されたスペア・ビット・ステアリン
グおよびメモリ構成情報の関係を示す。
【図3】実施例のシステム内の種々のプロセッサにより
実行される動作のフロー図を示す。
実行される動作のフロー図を示す。
1−4 プロセッサ 6 メモリ構成レジスタ 7 ビット・ステアリング構成レジ
スタ 8、9、11、12 ローカル・メモリ 13 アトミック・セマフォ・コント
ローラ 14 グローバル・メモリ 16 セマフォ 17 非ブロッキング・クロスポイン
ト・スイッチ
スタ 8、9、11、12 ローカル・メモリ 13 アトミック・セマフォ・コント
ローラ 14 グローバル・メモリ 16 セマフォ 17 非ブロッキング・クロスポイン
ト・スイッチ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェームス・ドット・ヘンソン、ジュニ ア アメリカ合衆国テキサス州、オースチ ン、マイン・ドライブ 8405番地 (72)発明者 オスカー・レイド・ミッシェル アメリカ合衆国テキサス州、フラジルビ ル、ウイロウ・ウッド・レイン 600番 地 (56)参考文献 特開 昭63−104167(JP,A) 特開 平2−311950(JP,A) 特開 昭56−40935(JP,A) 特開 平3−238529(JP,A)
Claims (12)
- 【請求項1】 個々のローカル・メモリおよび共有グロ
ーバルメモリを有するマルチプロセッサ・システムにお
けるスペア・ビットをステアリングするための装置にお
いて、 マルチプロセッサの内のブーティング・プロセス中に所
定の状態に最初に到達したプロセッサを第1プロセッサ
として選択し該第1プロセッサのローカル・メモリおよ
び前記共有グローバル・メモリをテストし、前記共有グ
ローバル・メモリのスペア・ビットの必要性を決定する
手段と、 前記第1プロセッサのローカル・メモリおよび前記共有
グローバル・メモリ内のスペア・ビットをステアするた
めにアドレス情報を生成する手段と、 前記第1プロセッサ以外のプロセッサをイネーブルして
それぞれのローカル・メモリ内のスペア・ビットのステ
アリングをアドレス情報により指定する手段と、 前記共有グローバル・メモリ内のスペア・ビットのステ
アリングに関するアドレス情報を前記第1プロセッサか
ら他の全てのプロセッサへ転送する手段と、 を含む装置。 - 【請求項2】 前記アドレス情報を転送する手段は前記
マルチプロセッサにアクセス可能な形式で前記アドレス
情報を記憶するプロセッサ・インターフェース・コント
ローラである、請求項1記載の装置。 - 【請求項3】 前記共有グローバル・メモリに記憶され
たデータはエラー訂正コード・ビットを含む、請求項2
記載の装置。 - 【請求項4】 前記アドレス情報を転送する手段は前記
マルチプロセッサにアクセス可能な前記共有グローバル
・メモリ内のブロックを含む、請求項1記載の装置。 - 【請求項5】 前記共有グローバル・メモリに記憶され
たデータはエラー訂正コード・ビットを含む、請求項4
記載の方法。 - 【請求項6】 前記共有グローバル・メモリ内のブロッ
クを使用せずにアドレス・ポインタをプロセッサに転送
する手段を含む、請求項4記載の装置。 - 【請求項7】 個々のローカル・メモリおよび共有グロ
ーバルメモリを有するマルチプロセッサ・システムにお
けるスペア・ビットをステアリングする方法において、 マルチプロセッサの内のブーティング・プロセス中に所
定の状態に最初に到達したプロセッサを第1プロセッサ
として選択し該第1プロセッサのローカル・メモリおよ
び前記共有グローバル・メモリをテストし、前記共有グ
ローバル・メモリのスペア・ビットの必要性を決定する
ステップと、 前記第1プロセッサのローカル・メモリおよび前記共有
グローバル・メモリ内のスペア・ビットをステアするた
めにアドレス情報を生成するステップと、 前記第1プロセッサ以外のプロセッサをイネーブルして
それぞれのローカル・メモリ内のスペア・ビットのステ
アリングをアドレス情報により指定するステップと、 前記共有グローバル・メモリ内のスペア・ビットのステ
アリングに関するアドレス情報を前記第1プロセッサか
ら他の全てのプロセッサへ転送するステップと、 を含む方法。 - 【請求項8】 前記アドレス情報を転送するステップは
前記マルチプロセッサにアクセス可能な形式で前記アド
レス情報を記憶するプロセッサ・インターフェース・コ
ントローラにより行われる、請求項7記載の方法。 - 【請求項9】 前記共有グローバル・メモリに記憶され
たデータはエラー訂正コード・ビットを含む、請求項8
記載の方法。 - 【請求項10】 前記アドレス情報を転送するステップ
は前記マルチプロセッサにアクセス可能な前記共有グロ
ーバル・メモリ内のブロックを介してなされる、請求項
7記載の方法。 - 【請求項11】 前記共有グローバル・メモリに記憶さ
れたデータはエラー訂正コード・ビットを含む、請求項
10記載の方法。 - 【請求項12】 前記共有グローバル・メモリ内のブロ
ックを使用せずにアドレス・ポインタをプロセッサに転
送するステップを含む、請求項10記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/973,356 US5327548A (en) | 1992-11-09 | 1992-11-09 | Apparatus and method for steering spare bit in a multiple processor system having a global/local memory architecture |
US973356 | 1992-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06214958A JPH06214958A (ja) | 1994-08-05 |
JP2559989B2 true JP2559989B2 (ja) | 1996-12-04 |
Family
ID=25520809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5237752A Expired - Lifetime JP2559989B2 (ja) | 1992-11-09 | 1993-09-24 | マルチプロセッサ・システムにおけるスペア・ビットをステアリングする装置および方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5327548A (ja) |
EP (1) | EP0597598A2 (ja) |
JP (1) | JP2559989B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334416A (ja) * | 1994-06-06 | 1995-12-22 | Internatl Business Mach Corp <Ibm> | コンピュータ・システムにおけるページ・モード・メモリの初期設定の方法および手段 |
US5835767A (en) * | 1994-08-19 | 1998-11-10 | Unisys Corporation | Method and apparatus for controlling available processor capacity |
US5642506A (en) * | 1994-12-14 | 1997-06-24 | International Business Machines Corporation | Method and apparatus for initializing a multiprocessor system |
US5829052A (en) * | 1994-12-28 | 1998-10-27 | Intel Corporation | Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system |
US6058475A (en) * | 1997-09-22 | 2000-05-02 | Ncr Corporation | Booting method for multi-processor computer |
US6192384B1 (en) * | 1998-09-14 | 2001-02-20 | The Board Of Trustees Of The Leland Stanford Junior University | System and method for performing compound vector operations |
US6601165B2 (en) | 1999-03-26 | 2003-07-29 | Hewlett-Packard Company | Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors |
US6457100B1 (en) * | 1999-09-15 | 2002-09-24 | International Business Machines Corporation | Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls |
US7996592B2 (en) * | 2001-05-02 | 2011-08-09 | Nvidia Corporation | Cross bar multipath resource controller system and method |
US7251744B1 (en) * | 2004-01-21 | 2007-07-31 | Advanced Micro Devices Inc. | Memory check architecture and method for a multiprocessor computer system |
US20080059687A1 (en) * | 2006-08-31 | 2008-03-06 | Peter Mayer | System and method of connecting a processing unit with a memory unit |
CN104541248B (zh) * | 2012-07-27 | 2017-12-22 | 华为技术有限公司 | 计算系统对屏障命令的处理 |
US9600189B2 (en) | 2014-06-11 | 2017-03-21 | International Business Machines Corporation | Bank-level fault management in a memory system |
US9703630B2 (en) | 2015-06-08 | 2017-07-11 | International Business Machines Corporation | Selective error coding |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4253146A (en) * | 1978-12-21 | 1981-02-24 | Burroughs Corporation | Module for coupling computer-processors |
JPS5640935A (en) * | 1979-09-11 | 1981-04-17 | Fujitsu Ltd | Initial set processing system for multiprocessor system |
US4438494A (en) * | 1981-08-25 | 1984-03-20 | Intel Corporation | Apparatus of fault-handling in a multiprocessing system |
US4608687A (en) * | 1983-09-13 | 1986-08-26 | International Business Machines Corporation | Bit steering apparatus and method for correcting errors in stored data, storing the address of the corrected data and using the address to maintain a correct data condition |
US4972314A (en) * | 1985-05-20 | 1990-11-20 | Hughes Aircraft Company | Data flow signal processor method and apparatus |
JPH0766368B2 (ja) * | 1986-10-21 | 1995-07-19 | 日新電機株式会社 | ブ−トプロセツサ決定方式 |
US5163133A (en) * | 1987-02-17 | 1992-11-10 | Sam Technology, Inc. | Parallel processing system having a broadcast, result, and instruction bus for transmitting, receiving and controlling the computation of data |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
JP2794041B2 (ja) * | 1989-05-29 | 1998-09-03 | 富士電機株式会社 | マルチプロセッサシステムの自己診断方法 |
US5204938A (en) * | 1989-05-30 | 1993-04-20 | Loral Aerospace Corp. | Method of implementing a neural network on a digital computer |
US5134616A (en) * | 1990-02-13 | 1992-07-28 | International Business Machines Corporation | Dynamic ram with on-chip ecc and optimized bit and word redundancy |
JP2861195B2 (ja) * | 1990-02-15 | 1999-02-24 | 日本電気株式会社 | ダウンローディングシステム |
US5199033A (en) * | 1990-05-10 | 1993-03-30 | Quantum Corporation | Solid state memory array using address block bit substitution to compensate for non-functional storage cells |
US5099418A (en) * | 1990-06-14 | 1992-03-24 | Hughes Aircraft Company | Distributed data driven process |
-
1992
- 1992-11-09 US US07/973,356 patent/US5327548A/en not_active Expired - Fee Related
-
1993
- 1993-09-24 JP JP5237752A patent/JP2559989B2/ja not_active Expired - Lifetime
- 1993-10-19 EP EP93308323A patent/EP0597598A2/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US5327548A (en) | 1994-07-05 |
JPH06214958A (ja) | 1994-08-05 |
EP0597598A2 (en) | 1994-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2559989B2 (ja) | マルチプロセッサ・システムにおけるスペア・ビットをステアリングする装置および方法 | |
US7206891B2 (en) | Multi-port memory controller having independent ECC encoders | |
US5809280A (en) | Adaptive ahead FIFO with LRU replacement | |
AU628528B2 (en) | Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory | |
US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
US5461718A (en) | System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory | |
US5502728A (en) | Large, fault-tolerant, non-volatile, multiported memory | |
US7577869B2 (en) | Apparatus with redundant circuitry and method therefor | |
US5875201A (en) | Second level cache having instruction cache parity error control | |
JPH05282203A (ja) | キャッシュ・コントローラ | |
KR20000076226A (ko) | Sram과 dram을 포함하는 메모리 및 메모리를 사용하는 시스템 및 방법 | |
US5457789A (en) | Method and apparatus for performing memory protection operations in a single instruction multiple data system | |
JP2511589B2 (ja) | マルチプロセッサ通信インタフェ―スとその方法 | |
JPH0576060B2 (ja) | ||
JPH02223091A (ja) | コンピュータメモリシステム | |
JPH01156845A (ja) | メモリ・システム | |
US5452418A (en) | Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation | |
US6490662B1 (en) | System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module | |
US20030018936A1 (en) | High integrity cache directory | |
JP2716350B2 (ja) | 電子データ記憶システム | |
AU633898B2 (en) | Method and means for interfacing a system control unit for a multi-processor system with the system main memory | |
JPH0283736A (ja) | バッファ記憶制御装置のosc検出方式 | |
JPH0127455B2 (ja) | ||
JPS5842546B2 (ja) | ストア制御方式 | |
AU703572B2 (en) | An interrupt processing apparatus |