JP3004861U - 密接に結合された二重のコントローラモジュールを用いた欠陥許容式の記憶装置用制御システム - Google Patents

密接に結合された二重のコントローラモジュールを用いた欠陥許容式の記憶装置用制御システム

Info

Publication number
JP3004861U
JP3004861U JP1994006188U JP618894U JP3004861U JP 3004861 U JP3004861 U JP 3004861U JP 1994006188 U JP1994006188 U JP 1994006188U JP 618894 U JP618894 U JP 618894U JP 3004861 U JP3004861 U JP 3004861U
Authority
JP
Japan
Prior art keywords
controller module
controller
bit
module
modules
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
Application number
JP1994006188U
Other languages
English (en)
Inventor
ジェイ シコラ スティーヴン
ピー ジャクソン ジェームズ
エル オーキー ロジャー
ジー ブレイム リチャード
エイチ マックリーン ロナルド
ディー ウォーカー マイケル
エフ フェイヴァ トーマス
ジーン アダムス トーマス
Original Assignee
ディジタル イクイプメント コーポレイション
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 ディジタル イクイプメント コーポレイション filed Critical ディジタル イクイプメント コーポレイション
Application granted granted Critical
Publication of JP3004861U publication Critical patent/JP3004861U/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 制御装置に欠陥が生じても容易に克服する。 【構成】 各コントローラモジュールは、別のコントロ
ーラモジュール又はキャッシュモジュールが存在するか
どうかをチェックし、もしそうであれば、それに関する
全ての構成情報がそれらの間に共有される。初期化の間
に、各コントローラモジュールは、関連キャッシュモジ
ュールの存在をチェックし、もし存在すれば、それがコ
ントローラモジュールによって直ちにロックされる。あ
るコントローラモジュールに欠陥が生じた場合には、他
方のコントローラモジュールがその機能不良のコントロ
ーラモジュールをディスエイブルする。書き込みキャッ
シュの場合は、生き残った方のコントローラモジュール
が、機能不良のコントローラモジュールが停止した動作
を再開し、その記憶装置への残りの書き込みを完了し、
データのロスを防止する。

Description

【考案の詳細な説明】
【0001】
【産業上の利用分野】
本考案は、一般に、1つ以上のホストコンピュータを、ディスクドライブのよ うな1つ以上のコンピュータ大量記憶装置にインターフェイスするための記憶装 置用制御装置の分野に係る。より詳細には、本考案は、密接に結合された二重の コントローラモジュールを使用する欠陥許容式の記憶装置用制御装置であって、 これらのコントローラモジュールの一方に機能不良が生じた場合に本質的にフェ イルセーフの制御装置初期化を行って欠陥克服する(fail-over) ような記憶装置 用制御装置に係る。
【0002】
【従来の技術】
記憶装置用の制御装置は、一般に、データ記憶及び検索に関するある低レベル 処理機能をホストコンピュータからオフロードすると共に、ほとんどの通常の動 作において1つ以上の記憶装置バスに接続された多数のディスクドライブである 物理的な記憶媒体と、ホストとの間のインターフェイスとして働くように用いら れる。それ故、制御装置は、システムの入力/出力(I/O)性能チェーンにお ける最も重要な要素の1つである。
【0003】
【考案が解決しようとする課題】
その結果、システムを連続動作するためには、ホストコンピュータ(1つ又は 複数)が割り込みをせずに記憶媒体からデータを容易に読み取ったりそこに書き 込んだりするように続けられることが重要である。従って、記憶装置用制御装置 は、可能な限り、欠陥許容でなければならない。更に、コスト、性能及び信頼性 といったファクタのバランスをとるために、記憶装置用制御装置は、例えば、安 価なディスクの冗長アレー(RAID)式制御装置としてユーザが構成できるこ とも重要である。
【0004】
【課題を解決するための手段】 密接に結合された二重コントローラモジュールを用いた欠陥許容式の記憶装置 用制御装置をここに開示する。この欠陥許容式の記憶装置用制御装置のコントロ ーラモジュールは、別のコントローラモジュール、キャッシュモジュール又は他 の補助モジュールが電気的に接続されて存在するかどうかチェックし、もし存在 すれば、コントローラモジュール及びそれらに取り付けられた装置に対する全て の構成情報がそれらの間に共有される。コントローラモジュールのいずれか一方 又は両方に入れられる構成情報は、動的に共有される。欠陥許容式の記憶装置用 制御装置の各キャッシュモジュールは、個々のコントローラモジュールによって 「ロック」されて、他のコントローラモジュールがその反対のコントローラモジ ュールのキャッシュの内容を偶発的に妨げないよう防止することができる。
【0005】 初期化の間に、各コントローラモジュールは、それに関連したキャッシュモジ ュールの存在をチェックし、もし存在する場合には、それがそのコントローラモ ジュールによって直ちにロックされる。個々のコントローラモジュールが欠陥と なるか又は機能不良の指示を与える場合には、他方のコントローラモジュールが その機能不良のコントローラモジュールをディスエイブル即ち「抹殺」し、それ により、そのキャッシュモジュールに対して施したロックをリセット及び解除す る。キャッシュモジュールが書き込みキャッシュである場合には、生き残ったコ ントローラモジュールがその機能不良のコントローラモジュールがやり残した動 作を再開し、そのディスエイブルされたコントローラモジュールの記憶装置に対 して残りの書き込みを完了し、ホストコンピュータデータが失われるのを防止す る。又、コントローラモジュールは、他方のコントロータモジュールに欠陥が生 じて再ブートするのを許容し、事象シーケンスは、生き残ったコントローラモジ ュールによって検出されて確認され、欠陥を生じたコントローラモジュールをデ ィスエイブルしないようにする。本考案の欠陥許容式の記憶装置用制御装置の二 重のコントローラモジュールは、非同期で通信して、それらが各々動作している ことを照合し、そして取り付けられた装置に対する構成情報及びそれに対して変 化した状態を交換し照合する。
【0006】 より詳細には、複数のコンピュータ大量記憶装置に作動的に接続された第1及 び第2のコントローラモジュールを備えたコンピュータ大量記憶装置用の制御シ ステムが提供される。第1コントローラモジュールは、複数のコンピュータ大量 記憶装置の第1サブセットを制御し、そして第2コントローラモジュールはその 第2サブセットを制御する。第1信号ラインは、第1と第2のコントローラモジ ュール間を通信し、第1コントローラモジュールの存在を第2コントローラモジ ュールに指示すると共に、第2コントローラモジュールの存在を第1コントロー ラモジュールに指示する。通信チャンネルは第1と第2のコントローラモジュー ルを相互接続し、第1及び第2のコントローラモジュールは、第1信号ライン上 のコントローラ存在信号に応答して、第1と第2のコントローラモジュール間で 通信チャンネルを経て通信を行えるようにする。第2の信号ラインは第1と第2 のコントローラモジュールを結合し、この第2の信号ラインは、第2のコントロ ーラモジュールが機能不良を生じたという通信チャンネル上の指示に応答して、 第1のコントローラモジュールが第2のコントローラモジュールの機能をディス エイブルできるようにする。その際に、第1のコントローラモジュールは、複数 のコンピュータ大量記憶装置の第2サブセットの制御を第2のコントローラモジ ュールから引き受ける。
【0007】 更に、複数のコンピュータ大量記憶装置に作動的に結合するための第1及び第 2のコントローラモジュールを備えた欠陥許容式のコンピュータ大量記憶装置用 の制御装置もここに開示する。第1コントローラモジュールは、複数のコンピュ ータ大量記憶装置の第1サブセットを制御し、そして第2コントローラモジュー ルはその第2サブセットを制御する。複数の通信ラインが第1と第2のコントロ ーラモジュールを相互接続する。これらの通信ラインは、第1と第2のコントロ ーラモジュール間に構成及び動作情報を供給する。更に、これら通信ラインは、 コントローラモジュールのいずれか一方によってアサートされてコントローラモ ジュールの他方を、該他方のコントローラモジュールからの機能不良指示に応答 して作動的にディスエイブルするためのコントローラモジュールディスエイブル ラインを備えている。動作に際し、第1のコントローラモジュールは、コントロ ーラモジュールディスエイブルラインをアサートすることにより第2コントロー ラモジュールを作動的にディスエイブルし、その際に、第1のコントローラモジ ュールは、更に、複数のコンピュータ大量記憶装置の第2サブセットの制御を引 き受ける。
【0008】 更に、複数のコンピュータ大量記憶装置に作動的に結合するための第1及び第 2のコントローラモジュールを備えたコンピュータ大量記憶装置用の制御システ ムもここに開示する。第1コントローラモジュールは、複数のコンピュータ大量 記憶装置の第1サブセットを制御し、そして第2コントローラモジュールはその 第2サブセットを制御する。通信媒体が第1と第2のコントローラモジュールを 相互接続する。この通信媒体は、コントローラモジュールの一方がシステムに含 まれるときにその一方のコントローラモジュールから他方のコントローラモジュ ールへコントローラ存在指示を搬送する。この通信媒体は、第1及び第2の両方 のコントローラモジュールによってコントローラ存在信号が検出されたときに、 第1と第2のコントローラモジュール間で通信するための複数のコントローラモ ジュール通信ラインを備えている。更に、通信媒体は、上記他方のコントローラ モジュールの機能不良を検出した際に、一方のコントローラモジュールが、その 他方のコントローラモジュールを機能的にディスエイブルできるようにする。
【0009】
【実施例】
以下、添付図面を参照し、本考案の好ましい実施例を詳細に説明する。図1に は、本考案の記憶装置用制御装置に使用するためのコントローラモジュール10 が示されている。この記憶装置用のコントローラモジュール10は、ホストイン ターフェイス12及び装置ポート14を備えている。更に、コントローラモジュ ール10は、IBUSデータライン16及びそれに関連したIBUSアドレスラ イン18(これらを一緒にして以下「IBUS19」とも称する)を含む多数の データバスを備えている。このIBUS19という表示は、これがコントローラ モジュール10のプロセッサ28にインターフェイスするための主要バスである ことを指し、プロセッサ28は、ここに示す実施例では、インテル80960C Aであるのが好ましい。
【0010】 同様に、コントローラモジュール10は、NBUSデータライン20及びNB USアドレスライン22(以下、一緒に「NBUS21」とも称する)も備えて いる。NBUS21という表示は、SCSIポートプロセッサ320 −32n と SCSI−FWDポートプロセッサ34が各々NCR53C710及びNCR5 3C720のSCSIポートプロセッサとして設けられていることを考慮した表 示として用いられる。
【0011】 MBUS24(以下、メモリデータアドレスライン「MDAL」とも称する) は、コントローラモジュール10のDRAMバッファ30メモリに関連した一次 バスである。更に、コントローラモジュール10は、以下で詳細に述べる当該キ ャッシュモジュールに主として関連したキャッシュデータアドレスライン(CD AL)バス26も備えている。図示されたように、IBUS19及びCDAL2 6は、これらと一緒に、関連制御バス88を有し、このバスは、DRAMコント ローラ及びアービタ(DRAB)38を、バックプレーンコネクタ36を経て関 連キャッシュモジュール(図示せず)へ接続すると共に、IBUS19に接続さ れたプロセッサ28を含む多数の装置へ接続する。
【0012】 DRAB38は、DRAMアドレスライン(DADDR)ライン94を経て、 DRAMバッファ30の個々のDRAM98に出力を供給する。同様に、DRA B38は、同じDRAM98に制御ライン入力を与える。エラー補正コード(E CC)ライン92の入力は、DRAMバッファ30からDRAB38へ供給され る。付加的な両方向性NBUS制御ライン90は、以下で詳細に述べるように、 DRAB38を、NBUS21に接続された装置に相互接続する。
【0013】 IBUS19によってプロセッサ28に接続されて制御バス88上の信号によ って制御される装置は、ジャーナルRAM46と、タイマー50と、デュアルユ ニバーサル非同期受信器・送信器(DUART)48と、コードカード40とを 備えている。更に、IBUS19及び制御バス88に接続されているのは、I/ Dキャッシュ44であり、これは、一致A出力72及び一致B出力74をタグR AM70に供給し、該タグRAMは、図示されたように、4KロングワードRA M76及び78で構成される。
【0014】 更に、読み取り診断レジスタ(0)80及び(1)82と、書き込み診断レジ スタ(0)84及び(1)86も、IBUS19及び制御バス88に接続されて いる。
【0015】 MBUS24は、一対の交差結合された4方クロスポイントスイッチ52より 成るバス交換器100によってCDALバス26に接続される。ホストバス指向 のDMAエンジン56、それに関連したインターフェイス58及びコネクタ60 を備えたホストインターフェイス12は、NBUS21に接続されると共に、図 示されたように、トランシーバ(XCVR)66によりNBUS制御ライン90 及びNBUSデータライン20に接続される。XCVR68は、FXチップ54 (以下で詳細に説明する)をNBUSアドレスライン22に接続する。FXチッ プ54(以下、「FX RAIDチップ」とも称する)は、XB ADDR及び XD DATAデータラインを経てXORバッファ(XBUF)102に両方向 性結合を与える。又、XBUF102は、NBUS21に接続される。
【0016】 ポートプロセッサ320 −32n 及び34は、図示されたように、多数のコネ クタ65を経て多数の記憶装置バス620 −62n 及びホストバス64に各々接 続される。ポートプロセッサ34は、ホストインターフェイス12のDMAエン ジン56と同様にSCSIホストとしてコントローラモジュール10に使用され るDMAエンジンである。
【0017】 コントローラモジュール10のハードウェアは、特定の実施に基づいて種々の ホストインターフェイス12及び1つ以上の装置ポート14に接続される機能の コアセットで構成される。それ故、必要に応じて、ホストインターフェイス12 は、DMAエンジン56及びそれに関連したインターフェイス58を備え、これ は、コントローラモジュール10を、本考案の譲受人であるデジタル・イクイッ プメント社から入手できるコンピュータインターコネクト(CI)及びデジタル 記憶システムインターコネクト(DSSI)バスにインターフェイスできるよう にすると共に、高速かワイドか差動式か又はFWD SCSIかに係わりなく小 型コンピュータシステムインターコネクト(SCSI)のいかなる変形にも、そ してファイバ分配データインターコネクト(FDDI)ホストバスにもインター フェイスできるようにする。図1に示す実施例では、装置ポート14は、SCS I装置バスを、その全ての現在の実施においてサポートする。コントローラモジ ュール10は、装置ポート14内に組み込まれた装置バス620 −62n におい て1ないし6程度の装置ポートを与える。
【0018】 コントローラモジュール10は、上記した4つの内部バスと、構成に基づいて 2ないし7の外部バスとを含む。内部バスは、IBUS19、MBUS24、N BUS21及びCDALバス26である。これら4つの内部バスの中で、IBU S19は、ポリシープロセッサ28により使用されるネーティブなバスである。 MBUS24は、コントローラモジュール10に対してDRAMバッファ30の 共有バッファメモリをアクセスするのに使用されるバスである。NBUS21は ポートプロセッサ32、34に対して使用されるバスである。IBUS19、N BUS21及びMBUS24は、バス交換器100を経て一緒に結合され、これ らバスのエンティティは2つの方向の一方に通信する。これらは、バス交換器1 00を経て直接通信し、プロセッサ28のみがこの技術を使用して、NBUS2 1のエンティティにあるレジスタに書き込んだり読み取ったりする。又、これら は、以下で詳細に述べるように、DRAMバッファ30の共有バッファメモリ又 はキャッシュモジュールを経て直接通信することもできる。これは、プロセッサ 28又はNBUS21のエンティティがバッファメモリ又はキャッシュに書き込 んだり又はそれを読み取ったりすることによって行われる。
【0019】 CDALバス26は、主コントローラモジュール10から外部キャッシュモジ ュール(以下に詳細に述べる)をアクセスするのに使用されるバスである。これ は、もし存在する場合には、図1に示すようにバス交換器100を経てアクセス される。
【0020】 IBUS19、NBUS21、MBUS24及びCDALバス26の共通の特 徴は、ワードがロングワードで、バイトアクセス式で、バーストモード能力をも ち、ロングワードの最大が4で且つバイトパリティである32ビット非同期バス である。CDALバス26MBUSバス24は、マルチプレクスされたアドレス 及びデータを有するが、IBUS19及びNBUS21は個別のアドレス及びデ ータバスを有する。
【0021】 図1に示す実施例において、コントローラモジュール10は、プロセッサ28 として使用されるインテル80960CAプロセッサチップより成るコアを有し ている。プロセッサ28は、1秒当たり一貫して25百万の命令(MIPS)と いう処理能力をコントローラモジュール10に対して与える25MHzバージョ ンである。プロセッサ28は、低レベル装置及びホストポート動作を除く全てを 制御するポリシーソフトウェアプロセッサとして利用される。コントローラモジ ュール10のコードカード40は、1メガバイトのメモリをもつPCMCIA標 準プログラムカードを組み込んだメモリカード制御記憶装置を構成する。コード カード40は、コントローラモジュール10に対するコードを保持し、モジュー ルがブートするたびに使用される。コードカード40の内容は、ブートの際に有 効化され、コントローラモジュール10に対しDRAMバッファ30の共有メモ リにコピーされる。
【0022】 DRAMバッファ30の共有メモリDRAMは、DRAB38のゲートアレー も含むコントローラモジュールの部分である。共有メモリは、データ構造及び/ 又はデータバッファに対しIBUS19とNBUS21のエンティティとの間で 共有される。共有メモリの一部分は、以下で詳細に述べるように読み取り又は書 き戻しキャッシュモジュールオプションのようなキャッシュモジュールが存在し ない場合に、通常の動作中に読み取りキャッシュとして使用される。これらオプ ションのいずれかで、読み取りキャッシュとして通常用いられる共有メモリの一 部分は、キャッシュモジュールの内容をキャッシュルックアップとして保持する のに使用される。
【0023】 I/Dキャッシュ44は、実行中に命令及び変数を高速アクセスするためにプ ロセッサ28によって使用される32Kバイトのスタティックランダムアクセス メモリ(SRAM)キャッシュである。これが必要とされるのは、IBUS19 とNBUS21との間でメモリが共有されるためである。プロセッサ28は内部 キャッシュを有するが、これは、共有メモリにより生じる性能低下を相殺するに 充分なほど大きくない。共有メモリサブシステムは、I/Dキャッシュ44と共 に、コントローラモジュール10に対してコスト/性能の充実した妥協をもたら す。「ライト−スルー(write-through) 」キャッシュ設計を用いることにより、 I/Dキャッシュ44におけるデータのコヒレント性が維持される。
【0024】 ジャーナルRAM46は、コントローラモジュール10内の2つの異なる機能 に使用される不揮発性(NV)の32KバイトのバッテリバックアップSRAM である。第1に、ジャーナルRAM46は、ユーザ及びコントローラモジュール 10のソフトウェアによって入力されたパラメータ情報を記憶するのに使用され る。第2に、ジャーナルRAM46は、RAIDの動作中に停電によって生じた RAID「書き込みホール(write hole)」をカバーするためにコントローラモジ ュール10のRAIDソフトウェアによっても使用される。この後者の特徴は、 コントローラモジュール10が書き戻しキャッシュの存在しない状態でRAID 動作を実行する場合又はデュアルコントローラモジュール10がデュアルジャー ナルRAM46を有する場合に必要である。デュアルコントローラモジュール1 0が存在しそして書き戻しキャッシュ又はデュアルコントローラモジュール10 のジャーナルRAM46のオプションのいずれかが設置されるようなコントロー ラの構成では、オンボードジャーナルRAM46を使用する必要はない。しかし ながら、読み取りキャッシュモジュールのみが使用される場合には、上記したR AIDの「書き込みホール」をカバーするために、オンボードジャーナルRAM を使用しなければならない。
【0025】 又、コントローラモジュール10のDUART48は、2つの目的を果たす。 第1の例では、集積型UARTの1つがコントローラモジュール10のコンソー ルターミナルに使用される。これは、構成を入力し、パラメータを指示し、コン トローラモジュール10の動作を制御し、又は診断及びシステムユーティリティ をランさせるのに用いられる。第2の目的は、集積型UARTを使用し、密接に 結合されたデュアルコントローラモジュール構成内の2つのコントローラモジュ ール10間にコントローラモジュール10のバックプレーンを通るリンクを形成 することである。UARTのリンクは、構成情報を共有するために使用されると 共に、両方のコントローラモジュール10が欠陥克服の目的で適切に動作するよ う確保するために使用される。タイマー50は、コントローラモジュール10の ソフトウェアに比較的正確なタイミングインターバルを与えるのに使用される。 特定のコントローラモジュール10において1つの(例えば)ポートプロセッサ 32に欠陥が生じたとすれば、他方のコントローラモジュール10が、その特定 のポートに接続された装置を引き継ぐ。
【0026】 一対の4方クロスポイントスイッチ52を含むバス交換器100は、コントロ ーラモジュール10の全ての要素を一緒に動作することのできるハードウェアブ ロックである。バス交換器100は基本的に2x2のクロスバーであり、これは 非常に高速で且つコントローラモジュール10の全ての機能によりコントローラ モジュール10のハードウェアの全ての部分にアクセスできるようにする。
【0027】 以下で詳細に述べるFXチップ54は、RAIDのXOR動作並びにディスク 及びテープの比較動作のためのハードウェアアクセラレータである。FXチップ 54は、コントローラモジュール10が共有メモリ又はキャッシュにデータを読 み込みながら、FXチップ54に対してXOR動作を行えるようにする。又、F Xチップ54は、共有メモリから装置ポート14にデータを書き込みながら、こ のFXチップ54に対してXOR動作を行うのにも使用される。6ポートまでの 装置ポートベースでコンテクストが搬送される。又、FXチップ54は、外部発 振器及びバッテリを伴う年時間(TOY)のクロックとして機能するロジックも 含むことができる。このTOYは、NBUS21を経てアクセスできる。
【0028】 前記したように、コントローラモジュール10は、多数の異なるホストインタ ーフェイス12を組み込むことができる。FDDIに加えて、コントローラモジ ュール10のホストインターフェイス12は、個々のCIポートとしてデジタル ・イクイップメント社から入手できるYACI及びCIRTチップで実施されて もよい。YACIチップは、コントローラモジュール10内の共有メモリを経て CIポートへ及びCIポートからデータをバッファするDMAエンジンである。 CIポートの設定及び維持は、プロセッサ28において実行されるポリシーソフ トウェアによって行われる。
【0029】 又、ホストインターフェイス12は、ポートプロセッサ34としてNCR53 C720チップで実施されるDSSIインターフェイスを、SCSIとDSSI との間をインターフェイスする特定のプログラマブルアレーロジック(PAL) と共に備えている。NCR53C720チップは、共有メモリから読み取ったス クリプトを実行し、DSSIインターフェイスを介してコマンド及びDMA動作 を実行する。ポリシーソフトウェアは、コントローラモジュール10の動作中に このチップを設定しそして維持する。
【0030】 更に、ホストインターフェイス12は、DSSIインターフェイスと同じNC R53C720チップでしかもPALの必要なく実施される高速−ワイド−差動 (FWD)インターフェイスを構成する。SCSIインターフェイスは、使用さ れるホストアダプターに基づき、16ビット差動又は8ビット差動である。
【0031】 ここに示す実施例のコントローラモジュール10の装置ポート14は、NCR 53C710のSCSIポートプロセッサチップを用いたSCSIである。これ らのチップは、SCSI使用に基づきFAST(高速)同期転送モード(10M バイト/秒以下)までの8ビット動作をサポートする。ポートプロセッサ320 は、共有メモリから読み取ったスクリプトを実行し、ポリシーソフトウェアによ ってこれらのスクリプトを実行するように設定される。各装置ポートは、6個ま での装置をもつことができる(単一又は二重のコントローラモジュール10の構 成に対して6個の記憶装置)。
【0032】 読み取り診断レジスタ80、82及び書き込み診断レジスタ84、86より成 るコントローラモジュール10の4つの診断レジスタが、コントローラモジュー ル10内に組み込まれている。書き込み診断レジスタ84、86の特定ビットは 制御モジュール10の一部分を制御するか、又は以下で詳細に述べるようにコン トローラモジュール10からバックプレーンを横切ってオプションのキャッシュ モジュールへ信号を送信する。プロセッサ28は9個の割り込み入力を有する。 しかしながら、コントローラモジュール10には9個より多数の割り込みソース があるので、多数の割り込みがORされる。ある場合には、プロセッサ28が診 断レジスタ80、82を読み取って割り込みの特定の原因を判断することが必要 である。書き込み診断レジスタ84、86は、コントローラモジュール10の動 作をテスト又は制御するために診断及び機能ソフトウェアによって使用される。 あるビットは、診断のためのテストモードを制御し、コントローラモジュール1 0内に強制的にエラーを生じさせる。他のビットは、診断及び機能コードとして 発光ダイオード(LED)を制御する。機能コードにより使用されるLEDビッ トの幾つかは、取り付けられたSCSI装置の「ウオーム・スワップ」中に使用 される。読み取り診断レジスタ80、82及び書き込み診断レジスタ84、86 の詳細な説明は、以下に述べる。コントローラモジュール10に対する割り込み は、プロセッサ28の8本のマスカブル専用割り込みライン及び単一のノン・マ スカブル(NMI)割り込みラインへ直接延びる。これらの割り込みは、エラー や、ホスト及び装置ポート事象や、タイミングインターバルや、通信や、電力事 象をカバーする。
【0033】 表1に示すテーブルには、コントローラモジュール10のメモリの割り当てが 示されている。
【表1】
【0034】 更に、図2は、図1について既に説明した一対の密接に結合された記憶装置用 コントローラモジュール10A及び10Bの全体的な論理ブロック図である。こ の図において、第1のコントローラモジュールは10Aと示されており、そして 第2の対応するコントローラモジュールは10Bと示されている。コントローラ モジュール10Aは、DRAB(マスター)38A及びバス交換器100Aを備 えている。同様に、コントローラモジュール10Bは、DRAB(マスター)3 8B及びバス交換器100Bを備えている。
【0035】 キャッシュモジュール110Aは、コントローラモジュール10Aと直接関連 される。キャッシュモジュール110Aは、コントローラモジュール10AのD RAB(マスター)38Aに対応するDRAB(スレーブ)114Aを備えてい る。同様に、バス交換器112Aは、キャッシュモジュール110Aの一部分を 形成する。キャッシュモジュール110Bは、DRAB(スレーブ)114B及 びバス交換器112Bを備えている。
【0036】 図示されたように、DRAB(スレーブ)114A及び114Bは、A及びB の通信ポートを備えている。同様に、バス交換器112A及び112Bも、A及 びBの通信ポートを備えている。デュアルコントローラモジュール10A及び1 0Bと、それに関連したキャッシュモジュール110A及び11Bを各々備えた 密接に結合された記憶装置用制御システムにおいては、CDALバス26Aは、 制御バス88Aを経て制御を行い、コントローラモジュール10Aを、DRAB (スレーブ)114AのA通信ポートと、DRAB(スレーブ)114BのB通 信ポートとに接続する。同様に、DRAB(マスター)38Bは、制御バス88 Bにより、キャッシュモジュール110AのDRAB(スレーブ)114BのA 通信ポートと、DRAB(スレーブ)114AのB通信ポートに接続される。
【0037】 同様に、コントローラモジュール10Aは、そのバス交換器100AのA通信 ポートがバス交換器112AのA通信ポートと、バス交換器112BのB通信ポ ートとに接続されている。同様に、コントローラモジュール10Bは、そのA通 信ポートがバス交換器112BのA通信ポートと、バス交換器112AのB通信 ポートとにCDALバス26Bによって接続されている。コントローラモジュー ル10Aとコントローラモジュール10Bとの間でのプロセッサ28からプロセ ッサ28への通信は、コントローラモジュール10A及び10B並びにキャッシ ュモジュール11A及び11Bが挿入されるバックブレーンを構成する通信媒体 によって行われる。
【0038】 更に、図3を参照すれば、コントローラモジュール10A及び10Bは、それ らの「ロック」された即ちそれに関連したキャッシュモジュール110A及び1 10Bと共に各々示されており、更に、複数の装置バス620 −625 に作動的 に接続された複数の記憶装置1200 −1205 が示されている。これらの装置 1200 −1205 は、例えば、コンピュータ大量記憶ディスク装置である。動 作中に、コントローラモジュール10Aは、装置バス620 −625 に接続され たディスクドライブの第1サブセットを制御し、一方、コントローラモジュール 10Bは、これら装置1200 −1205 の付加的なサブセットを制御する。一 例としてのみであるが、コントローラモジュール10Aは、装置バス620 −6 25 を経て装置1200 −1202 を制御し、一方、コントローラモジュール1 0Bは、装置バス620 −625 を経て装置1203 −1205 を制御する。
【0039】 コントローラモジュール10のMBUS24インターフェイスは、バス交換器 100及びCDALバス26によってオプションの読み取り又は書き戻しキャッ シュモジュール110へ接続することができる。読み取りキャッシュモジュール 110は、揮発性メモリを含むが、書き戻しキャッシュは不揮発性である。キャ ッシュモジュール110の最大キャッシュサイズは、モジュールそれ自体のフォ ームファクタ内のモジュールスペースと、DRAB38の能力とによって制限さ れる。キャッシュメモリ110のある実施例では、読み取りキャッシュモジュー ルが、4メガバイトDRAMを用いて32メガバイトの容量を有する。16メガ バイトDRAMを用いることにより、容量を128メガバイトに増加することが できる。書き戻しキャッシュメモリ110は、AC電源が停電したことが感知さ れたときにバッテリバックアップ容量を用いてAC電源オフ寿命を有する。コン トローラモジュール10は、AC電源が利用できるときはこの特徴をディスエイ ブルし、又、このときに書き戻しキャッシュモジュール110に対するバッテリ 充電をイネーブルする。
【0040】 コントローラモジュール10Aと10Bとの間のインターフェイスは、バック プレーンを経て搬送される次の信号より成る。
【0041】 コントローラモジュール10からキャッシュモジュール110のデータポート へ。各コントローラモジュール10A及び10Bは、両キャッシュへのこれらの ラインを独立して実行する。キャッシュモジュール110A及び110Bは、各 コントローラモジュール10A及び10Bに対して1つづつ、2つのポートをモ ジュールについて有する。 1.CDALバス26(32のマルチプレクスされたデータ及びアドレスと、 4バイトパリティ)ライン。 2.CDALバス26制御ライン(メモリアクセスのみ)。
【0042】 コントローラモジュール10からキャッシュモジュール110への構成。 1.キャッシュロック信号。各コントローラモジュール10A及び10Bは、 各キャッシュモジュール110A及び110Bへの信号であって、排他的アクセ ス又は裁定されたアクセスを行えるようにする信号を有する。各コントローラモ ジュール10A及び10Bは、パワーアップ時に、それに関連したキャッシュモ ジュール110A及び110Bを各々排他的アクセスのために「ロック」する。 裁定サクセスを使用する唯一の時間は、1つのコントローラモジュール10A( 例えば)が両方のキャッシュモジュール110A及び110B(欠陥克服の後) を制御するときだけである。
【0043】 キャッシュモジュール110からコントローラモジュール10への情報。 1.キャッシュモジュール110A「イン・プレース(In Place)」。両コント ローラモジュール10A及び10Bへ。 2.キャッシュモジュール110B「イン・プレース」。両コントローラモジ ュール10A及び10Bへ。 3.キャッシュモジュール110A「ロック」。コントローラモジュール10 Aへ。 4.キャッシュモジュール110B「ロック」。コントローラモジュール10 Bへ。 5.キャッシュモジュール110A「事象割り込み」。両コントローラモジュ ール10A及び10Bへ。二重構成においては、コントローラモジュール10B によって現在使用されていないキャッシュモジュール110は、この割り込みを マスクする。 6.キャッシュモジュール110B「事象割り込み」。両コントローラモジュ ール10A及び10Bへ。二重構成では、コントローラモジュール10Aにより 現在使用されていないキャッシュモジュールは、この割り込みをマスクする。
【0044】 コントローラモジュール10Aからコントローラモジュール10Bへのインタ ーフェイス。 1.キルライン(Kill Line) 。一方のコントローラモジュール10A又は10 Bによってアサートされて、他方のコントローラモジュール10B又は10Aを 各々ディスエイブルする。但し、該他方のコントローラモジュール10がもはや 機能しないと決定されたとき。この動作の詳細については、DRAB38につい て以下に説明する。 2.DUART48ライン。これはデータ及び流れ制御ラインを含む。送信、 受信及び2本の送信クリアラインが、この4ラインのインターフェイスを構成す る。 3.コントローラモジュール10A「イン・プレース」。コントローラモジュ ール10Bへ。欠陥克服ソフトウェア用。 4.コントローラモジュール10B「イン・プレース」。コントローラモジュ ール10Aへ。欠陥克服ソフトウェア用。
【0045】 バックプレーンからコントローラモジュール10及びキャッシュモジュール1 10へのインターフェイス。 1.コントローラモジュール10Aスロット1。コントローラモジュール10 Aへ。低入力は、コントローラモジュール10A又はSCSI ID7を指示す る。 2.コントローラモジュール10Bスロット2。コントローラモジュール10 Bへ。高入力は、コントローラモジュール10B又はSCSI ID6を指示す る。 3.キャッシュモジュール110Aアドレスレンジ。低レベル。 4.キャッシュモジュール110Bアドレスレンジ。高レベル。
【0046】 コントローラモジュール10のハードウェア初期化 コントローラモジュール10の初期化は、電源サイクルによって生じるか、ソ フトウェアリセットによって生じるか、又は以下に述べるようにコントローラモ ジュール10のオペレータコントロールパネル(OCP)上の「リセット」ボタ ンをユーザが押すことによって行うことができる。キャッシュモジュール110 の管理を行って顧客データの完全性を確保するために、初期化は20ミリ秒遅延 される(パワーダウンに向かうか、ソフトウェアリセットか又は「リセット」ボ タン)。ブートが完了することは、コントローラモジュール10A及び10Bが ホストコンピュータと通信する準備ができたことを意味する。
【0047】 初期化は、プロセッサ28で開始する。プロセッサ28は、内部の自己テスト を実行することによってブートを開始し、それが首尾よく完了すると、「初期ブ ート記録」を読み取る。これは、ハードウェア設定パラメータ及びプロセス制御 情報のアドレスを含んでいる。
【0048】 プロセッサ28の初期化に続き、メモリカードのソフトウェアが実行され、次 の動作を行う。
【0049】 最低の完全性自己テスト診断: プロセッサ28のバスハードウェアが良好で あり、メモリカードの他部分が良好であり、そして共有メモリが良好であること を確保するに足るテストが行われる。このテストは、以下で詳細に述べるモジュ ールのオペレーティングシステム(EXEC)をスタートアップしそしてコント ローラモジュール10の初期化を続けるためには、首尾よく完了しなければなら ない。共有メモリは、これが良好であると思われるように第1メガバイトが機能 しなければならない(このメモリの残り部分は、不良であると思われる前に16 個までの欠陥エリアをもつことができる)ことに注意されたい。プロセッサ28 のブートの後に、コントローラモジュール10の「自己テスト」診断が行われ、 次のものが照合される。 1.DUART48及びタイマー50のチップ。 2.メモリコードカード40のイメージ。 3.DRAB38のゲートアレー。 4.共有DRAMバッファ30のメモリ。 5.プロセッサ28から共有メモリバスへの全てのアクセス形式。
【0050】 NVジャーナルRAM46と称するバッテリバックアップ式の32KB SR AMは、多数の理由で、ファンクションコードが初期化された後にのみテストさ れる。第1に、これは、コントローラモジュール10の動作に対しデフォールト 又はユーザイネーブルパラメータを含む。第2に、RAID動作に対する書き込 みジャーナル情報を含む。これは、メモリが「フリー」であって書き込みジャー ナル情報がメモリ内に存在せずそしてDRAMバッファ30のメモリにおいてD RAB38の後方にパラメータ情報が暗示されることを意味するときだけ、書き 込みジャーナルRAM46の診断が実行されることを意味する。この状態が生じ たときには、SRAMテストが呼び出される。このテストが不合格であると、コ ントローラモジュール10はソフトウェアリセットを生じさせる。
【0051】 これらのテストは、コントローラモジュール10のソフトウェアイメージがメ モリコードカード40から共有DRAMバッファ30メモリへコピーされる前に 実行することが必要とされる。これらの診断が首尾よく完了すると、コントロー ラモジュール10のソフトウェアイメージは、メモリコードカード40から共有 DRAMバッファ30メモリ(メモリの第1メガバイト)へコピーされる。次い で、そのイメージがコントローラモジュール10の診断によって照合され、制御 はコントローラモジュール10のエグゼクティブへと通される。DRAMコード イメージの完全性は、DRAB38チップに組み込まれたECCによってカバー され、従って、DRAMコードイメージの周期的なチェックは不要となる。
【0052】 エグゼクティブ(EXECutive)初期化: EXECが初期化するのに 続いて、コントローラモジュール10のサブシステム診断を完了した診断実行モ ニタへのコールがなされる。これは、コントローラモジュール10のエグゼクテ ィブによって与えられるサービスをコントローラモジュール10の診断に使用し て割り込み及びエラーを取り扱えるようにするために行われる。
【0053】 コントローラモジュール10に対する残りのテストが呼び出される(オプショ ンのキャッシュモジュール110が設置されていれば、これに対するテストも含 む)。モジュール又はバックプレーンに何が存在するかに基づいて呼び出す/呼 び出してもよいテストは、次の通りである。 1.プロセッサ28に対するI/Dキャッシュ44。 2.RAID FXチップ54のテスト。 3.装置ポートプロセッサ32のテスト。プロセッサ28から診断スクリプト を介して1ないし6のポートプロセッサ32がテストされる。これらのテストは バスリセットを含む全てのポート動作を免除される。 4.ホストインターフェイス12のポートテスト。 5.キャッシュモジュール110のテスト(スレーブDRAB114及びキャ ッシュメモリ)。このテストは、キャッシュモジュール110において考えられ る最大サイズのメモリであるから、特殊である。このテストは、2つの部分にお いて実行される。第1部分は、DRAB114、全メモリのアドレスハードウェ ア及び1MBのメモリをテストする。第2部分は、コントローラモジュール10 のキャッシュマネージャーに関連してスレッドとして実行され、キャッシュモジ ュール110の1MBチャンクをテストし、そしてそれらを、テストされたとき のファンクションコードへ引き渡す。これはブート時間を著しく削減する一方、 メモリをテストする間のコントローラモジュール10の性能を甚だしく制限する ものではない。
【0054】 これらの診断が首尾よく完了したときには、制御はコントローラモジュール1 0のエグゼクティブへ戻される。コントローラモジュール10のエグゼクティブ はその初期化を完了し(以下で詳細に述べるように)そしてコントローラモジュ ール10のソフトウェアをスタートする。
【0055】 自己テストのいずれかの部分の間にエラーが生じた場合には、コントローラモ ジュール10の発光ダイオード(LED)が、欠陥についての特定のエラーコー ドでセットされる。又、診断実行モニタが診断のエラーを受けた場合には、コン トローラモジュール10のコンソールにエラーレポートがプリントされる。
【0056】 デュアルコントローラモジュール10A及び10Bのブート動作 デュアルコントローラモジュール10A及び10Bの構成をブートする間には 特殊な動作が行われる。コントローラモジュール10のDUART48の診断が 完了したときには、他方のコントローラモジュール10Bにメッセージを送信し て、ブート中であることを警告する。診断が完了したときには、コントローラモ ジュール10Aと10Bとの間で更に広範なメッセージが送られる。診断によっ て送られる第1のメッセージは、基本的に、コントローラモジュール10Aがブ ートアップしているという指示であり、従って、コントローラモジュール10B は、コントローラモジュール10Aがディスエイブルされたことを判断しようと せず、そして以下で詳細に述べるように、コントローラモジュール10Aをブー トする第1のものが近づこうと試みるのを物理的にディスエイブルする。
【0057】 デュアルコントローラモジュール10A、10Bの構成におけるコントローラ モジュール10A及び10Bは、同期してブートしてもよいししなくてもよく、 それらのブートが時間的にずれて行われる場合もある。この非同期性は、コント ローラモジュール10A、10Bがブート中に見つかった良好なメモリの量に基 づいて異なるブート率を有することができ、一方のコントローラモジュール10 を「リセット」することによって一方のコントローラモジュール10にオペレー タが介入でき、等々のような設計によるものである。ブートプロセスにおいて先 行している例えばコントローラモジュール10Aに、第2のコントローラモジュ ール10Bもブートを試みていることを警告するための上記メカニズムは、コン トローラモジュール10の欠陥克服機構の一部分である。「生きた」コントロー ラモジュール10Aによって「死んでいる」か又は適切に応答しないと検出され た例えばコントローラモジュール10Bは、以下で詳細に述べるように、2つの コントローラモジュール10Aと10Bとの間の「キル(抹殺)」ラインによっ て物理的にディスエイブルされる。
【0058】 例えば、コントローラモジュール10Aが診断又はソフトウェア初期化の欠陥 によって適切にブートできない場合には、第2のコントローラモジュール10B がこのキルラインを使用することによりコントローラモジュール10Aをディス エイブルし、そしてコントローラモジュール10Aがホストコンピュータに対し て応対していた記憶装置を制御するように進まねばならない。
【0059】 デュアルコントローラモジュール10A及び10Bのインターフェイス コントローラモジュール10A及び10Bは、次の3つの方法で互いに通信す る。 1.「適当な位置にある他のコントローラモジュール10」がコントローラモ ジュール10Aと10Bとの間に信号を発する。この信号がコントローラモジュ ール10の読み取り診断レジスタ80、82にアサートされない限り、通信は試 みられない。 2.UART信号。コントローラモジュール10A及び10Bと、UART送 信及び受信ラインと、各コントローラモジュール10A及び10Bからの送信ク リアラインとの間に4つの信号が共有される。これは、コントローラモジュール 10Aと10Bとの間の通信のための主チャンネルであり、診断及びファンクシ ョンコードによりこの通信を実行するのに使用される。 3.キルライン。このラインは、例えば、コントローラモジュール10Aが、 デュアルコントローラモジュール10の構成のコントローラモジュール10Bが 破壊されたという指示を受け取ったときに、コントローラモジュール10Bをデ ィスエイブルして、該モジュール10Bがホストコンピュータに対してそれまで 応対していたキャッシュモジュール110B及び記憶装置を引き受けられるよう にするDRAB38ゲートアレーの回路の一部である。このラインは、コントロ ーラモジュール10A又は10Bがこのラインをいったんアサートすると、それ 自身が他方のコントローラモジュール10B又は10Aによって各々「抹殺」さ れるのを防止するという点で「フェイルセーフ」である。両方のコントローラモ ジュール10A及び10Bが互いに他のコントローラモジュール10B及び10 Aが破壊された(例えば、不良のUART接続)と考える場合には、第1のコン トローラモジュール10がキルラインを生き残るようにセットし、全ての装置の 制御を引き継ぐ。
【0060】 このインターフェイスは、コントローラモジュール10の欠陥克服ソフトウェ アと、コントローラモジュール10の構成ソフトウェアと、コントローラモジュ ール10のウオームスワップソフトウェアとによって使用される。コントローラ モジュール10の欠陥克服ソフトウェアは、このインターフェイスを使用し、他 方のコントローラモジュール10がそれが生きていることを分かるように保持す ると共に、その他方のコントローラモジュール10が破壊されたと判断した場合 にはその他方のコントローラモジュール10のジョブを引き受けるようにする。 コントローラモジュール10の構成ソフトウェアは、このインターフェイスを使 用して、それに取り付けられた記憶装置であって1つ以上のホストコンピュータ に応対している記憶装置に関する情報を搬送する。この情報は、欠陥克服の場合 に必要であり、従って、コントローラモジュール10は欠陥克服の策略を正確に 実行することができる。コントローラモジュール10のウオームスワップソフト ウェアは、このインターフェイスを使用して、LEDのDECstor/meエ ンクロージャ(デジタル・イクイップメント社から入手できる)及び各コントロ ーラモジュール10上のOCPバス静止要求(Bus Quiesce Request) ボタンの現 在状態を搬送する。例えば、一方のコントローラモジュール10Bは、他方のコ ントローラモジュール10Aに、これらボタン及びLEDが入れられる状態を知 らせる。
【0061】 キャッシュモジュール110の初期化 キャッシュモジュール110は、2つの方法の1つで初期化される。これらの 方法の選択は、キャッシュモジュール110が「読み取り」キャッシュであるか 又は「書き込み」キャッシュであるによって決まり、そして書き戻しキャッシュ の場合には、キャッシュモジュール110に有効なデータがあるかどうかによっ て決まる。
【0062】 キャッシュモジュール110が読み取りキャッシュである場合には、コントロ ーラモジュール10の診断が完了した後に、その読み取りキャッシュのインター フェイス及びメモリが診断ソフトウェアによってテストされる。
【0063】 キャッシュモジュール110が書き戻しキャッシュである場合には、コントロ ーラモジュール10のソフトウェアが、キャッシュモジュール110の診断テス トの前に、キャッシュ内の有効データをチェックする。書き戻しキャッシュ内に 有効データがある場合には、キャッシュモジュール110を「所有」するコント ローラモジュール10へのキャッシュインターフェイスにおいて非破壊診断が実 行される。書き戻しキャッシュに有効なデータがない場合には、全キャッシュモ ジュール110において診断が実行され、読み取りキャッシュモジュール110 の同様に行われる。
【0064】 コントローラモジュール10でのDECstor/meサブシステム初期化 DECstor/meサブシステムの初期化は、パワーアップ時に、欠陥、部 分電源停止及びエラーによるサブシステムの通常の動作中に生じる初期化動作の サブセットで行われる。
【0065】 初期化の全シーケンスは、次の通りである。 1.電源オン。これにより、全てのシェルフがリセットされ、シャルフに含ま れた装置(ドライバ、コントローラモジュール10、キャッシュモジュール11 0、等々)がINITとなるようにされる。 2.エンティティの自己テスト(もしあれば)。 3.コントローラモジュール10は、これが知っている装置(他のコントロー ラモジュール10も、もしあれば含む)に質問を開始する。これらINIT動作 は、スピンアップドライブを含んでもよく、この場合は、コントローラモジュー ル10は、ドライブがスピンアップしているドライブエンクロージャのライトを 明滅する(スピンダウンの場合にも、同じ明滅が生じる)。 4.コントローラモジュール10は、ホストコンピュータに代わってデータ転 送を開始する。DECstor/meが作動する。
【0066】 コントローラモジュール10のランプ及びボタン コントローラモジュール10は、これに取り付けられたオペレータコントロー ルパネル(OCP)モジュールであって、7つのボタンと、これらボタンに埋め 込まれたLEDとを備えたモジュールを有している。このOCPは、アクセスを 容易にするためにキャビネットのドアに向いたコントローラモジュール10の縁 にある。例えば、最も左のLEDはグリーンであり、最も右の6個はアンバーで ある。コントローラモジュール10は、書き込み診断レジスタ(0)84を経て 各LEDを別々に点灯することができる。ボタンは読み取り診断レジスタ(0) 80を介して読み取ることができる。最も左のボタンは、常に、コントローラモ ジュール10のリセットボタンとして指定される。LED及び残りの6個のボタ ンの使い方は、コントローラモジュール10の状態、即ちこれがブート中である か通常の動作中であるかに基づいて変化する。
【0067】 コントローラモジュール10のブート中に、LEDは、エラー及びコントロー ラモジュール10の状態を報告する診断に使用される。コントローラモジュール 10のブートが開始するときに、ハードウェアは、リセットボタンにある最も左 のLEDをオンにし、他の6個のLEDはオフにされる。これは「ブート」状態 を指示する。ブートシーケンス中の任意の点においてコントローラモジュール1 0の診断により欠陥が見つかった場合は、最も右の6個のLEDが、コントロー ラモジュール10の診断により、検出された欠陥を示すエラーコードと共に書き 込まれる。この欠陥コードは、3Hzでフラッシュされ、最も左のLEDはオン のままであり、フラッシュしない。
【0068】 コントローラモジュール10のブートに続いて、最も左のLEDが1Hzでフ ラッシュされる。これは、コントローラモジュール10の「ランニング」状態を 示し、マシンの「鼓動」である。この点において、LED及び最も右の6個のボ タンの使用が診断から機能的使用へと切り換えられる。このとき、これら6個の ボタンは、装置のウオームスワップ又は装置のウオーム挿入/除去に使用するた めのOCP「バス静止要求」ボタンとなる。
【0069】 いかなるときにも、コントローラモジュール10がブートに続いて診断中又は 機能コードの実行中に欠陥となった場合には、コントローラモジュール10は、 LEDにおいて次の特性を示す。 1.診断中に欠陥があった場合には、全てのLEDが明滅せずに点灯する。 2.機構コードにおいて欠陥があった(BUGCHECKループにより)場合 には、最も右のLED/ボタンを除く全部が明滅せずに点灯する。
【0070】 装置ウオームスワップ モジュラーアレー記憶サブシステムは、取り付けられた記憶装置をウオームス ワップする能力を与える。コントローラモジュール10に対する方法は、スワッ プされるコントローラモジュール10のホストインターコネクトの形式に基づい て異なる。取り付けられた記憶装置のウオームスワップに対して1つの方法があ る。コントローラモジュール10の取り付けられた装置のウオームスワップは、 コントローラモジュール10の右のボタン及びLEDに関連して使用される。
【0071】 コントローラモジュール10の取り付けられた装置のウオームスワップ コントローラモジュール10の装置ウオームスワップは、実際には、オペレー タが安全に装置を取り外して後で別の装置を設置できるようにする一連のステッ プである。これらのステップは、取り外し及び挿入ステップに分割される。これ は、ドライブの欠陥(及びそれに関連したウオームスワップ)以外の状態につい ても、ドライブを「安全」に取り外し又はドライブを追加することが可能である ことを意味する。以下のステップに対する理由は、他のコントローラモジュール 10の装置に対するデータの完全性と、オペレータがポートを長期間使用不能に する(これは多数のRAIDセットをディスエイブルする)おそれを減少するた めである。一度に静止されるポートは1つだけである。
【0072】 ドライブを取り外すためには、コントローラモジュール10又はオペレータの いずれかが、動作が必要であることを決定しなければならない。コントローラモ ジュール10は、装置を使用するように試みそして装置からの応答がないか又は あまりに多数のエラーがあることを見つけることにより装置が不良であることを 決定することができる。いずれの場合も、装置を適切に取り外すためのシーケン スを実行しなければならない。
【0073】 装置を取り外すシーケンスは、次の通りである。 1.コントローラモジュールはドライブが不良であることを決定するか、又は オペレータがコンソールを使用して、ドライブの不良を宣言する。これは、その ドライブのポート及びドライブのエンクロージャに関連したLEDをコントロー ラモジュール10のソフトウェアによって点灯させる。このLEDは、OCPの 「バス静止要求」ボタンの1つに埋設されている。 2.オペレータは、コントローラモジュール10の前面にある点灯したOCP 「バス静止要求」ボタンを押す。このボタンは、コントローラモジュール10の ソフトウェアがこのボタンを確認するときまで保持されねばならない。オペレー タは、残りのアンバー色のLEDが瞬間的にフラッシュすることによってコント ローラモジュール10がそのボタンを確認したことを知らせることができる。そ のボタンのLEDが既にオンである場合には、オンのままである。そのボタンの LEDがオフであった場合には、ここでオンになる。ボタンが充分長い時間保持 されないか又は多数のボタンが素早く続けてプッシュされた場合には、それらは 無視される。ボタンがコントローラモジュール10のソフトウェアによって確認 されそして第2のボタンが押された場合には、その第2のボタンが押されたこと が無視される。
【0074】 OCP「バス静止要求」は、コントローラモジュール10のウオームスワップ ソフトウェアに信号を送り、このポートにおける全ての動作を静止するようにす る。ポートを静止するに要する時間は、次の式によって与えられる。 Quiesce Time=Operator Delay Factor+Time to run down IO Operator Delay Factorは現在30秒にセットされる。必要とされる時間の 長さは、SCSIバスが静止される実際の時間がRAID動作に対して最小に保 持されるように指示される。Time to run down IOは、ポートI/Oのロー ドとは独立しており、ほぼゼロから分程度まで変えることができる。
【0075】 3.ポートが静止されたときには、ポートのOCP「バス静止要求」ボタンの ライトと、DECstor/meドライブエンクロージャのライトの両方がフラ ッシュされ、装置を安全に取り外せることをオペレータに知らせる。この点にお いて、ポートにおけるALLの動作が停止されたことに注目するのが非常に重要 である。a.オペレータは装置を取り外す。ドライブを取り外し物理的な動作に よりDECstor/meドライブエンクロージャの回路がコントローラモジュ ール10へ割り込みを送り、バスを再び安全に使用できることをコントローラモ ジュール10に知らせ、ウオームスワッププロセスにおけるオペレータの関与を 最小にする。コントローラモジュール10は、これが生じたときに割り込み(S P LO INT L)を受け取り、従って、コントローラモジュール10は、 直ちにバスの使用を再開することができる。この特徴は、オペレータの介在を低 減し、ポートが使用不能である時間を削減する。
【0076】 装置を挿入するためには、同様の手順が使用される。ステップ2ないし4を用 い、オペレータの介入及びポートの停止時間を最小にして装置が挿入される。
【0077】 次いで、ウオームスワップは、装置の取り外しと、ある時間後に行われる装置 の挿入との組み合わせとなる。
【0078】 挿入又は取り外しシーケンスが開始されそして「バス静止要求」が開始された 状態が生じた場合に、オペレータは、ボタンの2回目の押圧を行い、LEDが瞬 間的にフラッシュするのを待機し、そしてボタンのLEDが消えたことをチェッ クすることにより、これを打ち消すことができる。
【0079】 コントローラモジュール10のスワップ この特徴は、スワップされるべきコントローラモジュール10又はキャッシュ メモリ110を、実際の取り外しの前に停止することを含む。この停止は、取り 外されるべきコントローラモジュール10が完全に非機能状態にならない限り、 ソフトウェアを伴う。交換されるべきコントローラモジュール10が二重冗長の 構成である場合には、交換されるべきコントローラモジュール10が実際に取り 外されるべきときに、生き残った方のコントローラモジュール10を一時的に停 止してもよいし、ウオームスワップ特徴を設けることもできる。
【0080】 診断レジスタ 書き込み診断レジスタ(0)84のビットが図6に示されており、表2に詳細 に説明されている。
【表2】
【0081】 書き込み診断レジスタ(1)86のビットが図7に示されており、表3及び表 4に詳細に説明されている。
【表3】
【表4】
【0082】 読み取り診断レジスタ80、82は、モジュールハードウェアから観察された 信号の状態を含んでいる。あるビットは特定のエラービットであるが、他は、D ECstor/meキャビネット、他方のコントローラモジュール10又はキャ ッシュモジュールからの状態ビットである。残りのビットは、プロセッサ28へ の合成割り込みを形成するようにオアされる個々の割り込みビットである。
【0083】 状態ビットは、コントローラモジュール10とキャッシュモジュールとの間の ウオームスワップ及び欠陥克服を制御するために機能的ソフトウェアによって使 用される。割り込みビットは、通常の動作中にどんな割り込みが生じたかを正確 に見い出すために機能的ソフトウェアによって使用される。
【0084】 読み取り診断レジスタ(0)80のビットが図8に示されており、表5及び表 6に詳細に説明されている。
【表5】
【表6】
【0085】 読み取り診断レジスタ(1)82のビットが図9に示されており、表7に詳細 に説明されている。
【表7】
【0086】 コントローラモジュール10の割り込み及びそれに関連した優先順位 コントローラモジュール10の割り込みは、プロセッサ28への直接入力であ る。割り込み入力より多数の割り込みソースがあるので、全入力数を減少するた めにこれら多数の割り込みソースがオアされる。その結果、ある場合には、診断 レジスタ80ないし86を読み取って、どの割り込みが実際に生じたかを判断す るためのソフトウェアが必要とされる。
【0087】 これらの割り込みは、表8に示す優先順位を有する(表において最も高いもの から最も低いものを上から順に示す)。
【表8】
【0088】 図4には、コントローラモジュール10に使用するDRAB38の論理機能ブ ロックが示されている。MBUS24に接続されたDRAB38は、その当該部 分に、DRAM制御ブロック130と、それに関連したECCブロック132と 、アドレスラッチ134とを備えている。DRAM制御ブロック130は、図1 に示すDRAMバッファ30へ多数の制御ライン96の出力を与える。制御ライ ン96は、行アドレスストローブ(RAS)ライン158と、列アドレスストロ ーブ(CAS)ライン160と、書き込みイネーブル(WE)ライン162と、 出力イネーブル(OC)ラインとを備えている。更に、DRAM制御ブロック1 30は、アドレスラッチ134に行/列ライン136の入力を与える。ECCブ ロック132は、DRAM制御ブロック130に接続され、ECCライン92を 経てDRAMバッファ30にECC出力を供給する。アドレスラッチ134は、 DADDRライン94に出力を供給する。ECCブロック132及びアドレスラ ッチ134への入力は、MBUS24からアドレス/パリティ(ADDR PA RITY)ライン138を経て取り出される。ECCブロック132は、データ 補正レジスタ144によってMBUS24に接続されたデコーダ142からシン ドロームライン140を経て付加的な入力を受け取る。又、デコーダ142は、 メモリエラー(MEM ERROR)と示された出力をライン156に供給し、 これは、MBUS24に接続されたCSRレジスタ/診断パラレジスタ146に 入力される。
【0089】 アドレスラッチ及びデコードロジック148は、ADDR PARITYライ ン138に接続され、CSRレジスタ/診断エラーレジスタ146、I/Dキャ ッシュ制御器150、及びバス制御ロジック152へ出力を供給する。I/Dキ ャッシュ制御器150は、入力として、一致Aライン72及び一致Bライン74 の信号と、バンクライン170のバンク入力信号を受け取る。I/Dキャッシュ 制御器は、C OEライン172、C WEライン174、LRU WRTライ ン176及びCACHE WRTライン178に出力を供給する。
【0090】 バス制御ロジック152は、ここではIBUS16の制御(CTL)バス10 4及びCDAL CTLバス88として別々に示されている制御バス88に両方 向接続される。更に、バス制御ロジック152は、図示されたように、NBUS 21の制御ライン90に両方向式に接続されている。更に、DRAB38は、バ スグラント(BG)ライン164と、NBUS21のバスマスター裁定勝者(A RBWIN)ライン168とに出力を与える裁定ロジックを備えている。裁定ロ ジック154は、バス要求(BR)/キャッシュ選択ライン166の信号を入力 として受け取る。
【0091】 DRAMバッファ30の制御器及びECCロジック DRAM38チップのDRAMバッファ30の制御器は、プロブラマブルであ る。長さが4及び8ロングワードの高性能バースト読み取り動作が可能である。 読み取りバーストの長さは、各NBUS21要求ごとにプログラムできる。ポー トプロセッサ32及びポートプロセッサ34のSCSI制御チップは、4又は8 ロングワードバーストで機能する。ホストインターフェイス12は、単一ロング ワード読み取り又は4ロングワードバーストアクセスのみをバッファメモリへと 発生する。FXチップ54のXORエンジンは、単一ロングワード及び4又は8 ロングワードバーストアクセスを発生する。
【0092】 プロセッサ28のポートによって発生されるバーストアクセスは、いかなるロ ングワードで終了することもできる。BLAST信号は、現在ロングワード転送 がバスアクセスの最後であることを指示する。
【0093】 内部ECC検出及び補正はオフにすることができる。CSR:ECCIビット に1を書き込むことにより、ECCエラーチェック及び補正が禁止される。この ビットをクリアすると、エラー検出及び単一ビットエラー補正の両方がイネーブ ルされる。
【0094】 DRAB38のECCコードは、DRAMバッファ30のアレーにおいてアド レスエラーのある検出を行えるようにするROW、COLUMN及びHIアドレ スビットを含む。ECCコードのCOLUMNビットは、アドレスビット<11 :2>の偶数パリティビットである。ROWビットは、アドレスビット<21: 12>の偶数パリティビットであり、そしてHIビットはアドレスビット<25 :22>の偶数パリティビットである。
【0095】 DRAB38のECCコードを、表9に示す。
【表9】
【0096】 レジスタ定義及びレジスタアドレスマップ 全ての内部レジスタは、MBUS24のポートを経てアクセスされる。DRA B38の内部レジスタのベースアドレスは、モジュールにより発生されるチップ 選択信号によって決定される。DRAB38のセットアップレジスタを表10に 示す。
【表10】 DRAB38のCSRレジスタを表11に示す。
【表11】 DIAG診断制御レジスタを表12に示す。
【表12】 DRAMバッファ30のエラーレジスタを表13に示す。
【表13】 エラーアドレスレジスタを表14に示す。
【表14】 エラーデータレジスタを表15に示す。
【表15】 エラー領域レジスタを表16に示す。
【表16】 領域セットアップレジスタを表17に示す。
【表17】 I/Dキャッシュ44のHIT COUNTerを表18に示す。
【表18】 I/Dキャッシュ44のMISS COUNTerを表19に示す。
【表19】
【0097】 レジスタの説明 DRAB38のセットアップレジスタ(SETUP)(R/W) このレジスタは、ロングワード境界においてロングワード動作で書き込まねば ならない。このセットアップレジスタのビットの定義を表20に示す。
【表20】
【0098】 SETUP MEM SIZE−Bit:<0>タイプ:RW メモリのサイズを選択し、0に初期化される。 0−1Megx4 1−4Megx4
【0099】 SETUP DISABLE ECC−Bit:<1>:タイプ:RW このビットがセットされると、ECCチェックがディスエイブルされる。それ でも正しいECCが発生されて、メモリに書き込まれる。これは、0に初期化さ れる。
【0100】 SETUP NBTO<3:0>−Bit:<5:2>:タイプ:RW これらのビットは、ポートプロセッサ32のバストランザクションに対するプ ロセッサ28の時間切れ値を決定する。TA又はTEA信号がSETUP:NB TO時間内にアサートされないときに時間切れが生じる。この値は、トランザク ションの開始から終了までの160nsインターバルの数を決定する。これは、 0F(1111)に初期化される。
【0101】 SETUP DIS APAR CHK−Bit:<6>:タイプ:RW メモリアクセスにおけるアドレスパリティチェック、即ちアドレスパリティエ ラー検出は、このビットがセットされたときにディスエイブルされる。これは0 に初期化される。
【0102】 SETUP PROCESSOR 28 HI PRI−Bit:<7>:タ イプ:RW このビットを1にセットすると、プロセッサ28のメモリ要求はホストポート を除き他の全ての上に配置される。0にセットすると、プロセッサ28の優先順 位は、全てのNBUS21の要求に等しくなる。このビットは、0に初期化され る。
【0103】 SETUP IPAR DISABLE−Bit:<8>:タイプ:RW このビットを1にセットすると、DRAB38は、IBUS19のパリティエ ラーを無視する。このビットは、0に初期化される。
【0104】 SETUP TEST MODE ENABLE−Bit:<9>:タイプ: RW このビットを1にセットすると、DRAB38は、テストベクトルモードに入 れられる。これは、NBUS21の制御ラインのアサートを1/2クロックサイ クルだけ遅延し、装置テストベクトルがNBUS21の制御ロジックを刺激し得 るようにする。このビットは、0に初期化される。
【0105】 SETUP CACHE I ONLY−Bit:<10>:タイプ:RW このビットは、ID CACHE制御ロジックをキャッシュ命令フェッチメモ リサイクルのみにセットする。このビットは、0に初期化される。
【0106】 SETUP CACHE D ONLY−Bit:<11>:タイプ:RW このビットは、ID CACHE制御ロジックをキャッシュデータフェッチメ モリサイクルのみにセットする。このビットは0に初期化される。CACHE D ONLY及びCACHE I ONLYの両方がセットされるか又は両方が リセットされる(そしてDRAM38の診断CSRレジスタのCACHE EN ABLEビットがセットされる)場合には、IDキャッシュが命令及びデータの 両メモリサイクルをキャッシュする。
【0107】 SETUP HPHI−Bit:<12>:タイプ:RW HOST PORT HIGH PRIORITYビットは、ホストポートの 裁定優先順位をセットする。このビットが1にセットされそしてHPPEがセッ トされると、ホストポートはNBUS21において最も優先順位の高い要求とな る。このビットは0に初期化される。
【0108】 SETUP RCP−Bit:<12>:タイプ:W REFRESH COUNT PRESETに1を書き込むと、リフレッシュ カウンタを既知の値に初期化する。これは、読み取り専用ビットである。
【0109】 SETUP HPPE−Bit:<15>:タイプ:RW HOST PORT PRIORITY ENABLEビットは、HPHIビ ットをイネーブルする。このビットが1にセットされた場合には、HPHIビッ トが、NBUS21のホストポート要求に対して裁定優先順位をセットする。こ のビットが0の場合には、DRAB38のHPARBHI Lピンがホストポー ト優先順位をセットする。このビットは0に初期化される。
【0110】 SETUP REFR INTERVAL<7:0>−Bit:<23:16 >:タイプ:RW リフレッシュ率を(640nSxREFR INTERVAL+320nS) に等しく固定する。典型的な値は、次の通りである。
【0111】 1megx4DRAM98用の16mSのリフレッシュ周期、又は4Megx 4DRAM98用の64mSのリフレッシュ周期の場合に、 1リフレッシュ/15.6μS−>REFR−INTERVAL=23
【0112】 SETUP REFR−TYPE<1:0>−Bit:<25:24>:タイ プ:RW これらのビットは、Ras専用のリフレッシュモードに初期化される。これら は、次のようにセットアップすることができる。 00−Ras専用のリフレッシュモード 01−読み取りスクラビングモード 10−リフレッシュ書き込み−注参照 11−Cas before Rasの低パワーリフレッシュモード 注:「10」ビットパターンはメモリアレーを初期化する。書き込まれたパター ンは、最後に読み取ったパターンである。例えば、メモリをAAAAAAAA# 16で初期化するためには、AAAAAAAA#16をアドレスXに書き込み、 次いで、アドレスXを読み取る。次いで、REFR WRITEビットをセット して、メモリパターン充填を開始する。
【0113】 SETUP NBURST<2:0>−Bit:<28:26>:タイプ:R W これらのビットは、NBUS21におけるロングワードバースト率をセットす る。これらは、4ロングワードバーストに対して初期化される。これらビットは ロングワード/バーストの所望数−1に等しい。その例は、次の通りである。 000−1ロングワードバースト 011−4ロングワードバースト 111−8ロングワードバースト
【0114】 SETUP BANK CONFIG<1:0>−Bit:<30:29>: タイプ:RW メモリバンクの数を選択するもので、0に初期化される。 00、11−1バンク 01−2バンク 10−4バンク
【0115】 SETUP KILL ENABLE−Bit:<31>:タイプ:RW KILLラインは、2つのコントローラモジュール10を相互接続する3状態 ラインである。KILLラインは、両コントローラモジュール10A及び10B においてプルアップされる。このビットがセットされそしてCSR:KILLが リセットされると、DRAB38がイネーブルされて、KILLラインを駆動す る。DRAB38は、イネーブルされる間に、KILLライン上の値を無視する (それ自身抹殺することができない)。
【0116】 このビットがセットされそしてCSR:KILLビットがリセットされると、 KILLシーケンスがスタートする。それに続くプロセッサ28のトランザクシ ョンがKILLビットをセットするためのDRAB38のCSRへの書き込みで ある場合には、KILLラインがアサートされ、他方のコントローラモジュール 10をリセットする。KILLラインは、KILL ENABLEビットがクリ アされたときにデアサートされる。
【0117】 KILL ENABLEがセットされそして次のプロセッサ28のバストラン ザクションがCSR:KILLビットをセットする書き込みではない場合には、 KILL ENABLEビットがリセットされる。
【0118】 DRAB38制御器及び状態レジスタ(CSR)(R/W) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。DRAB38 CSRレジスタのビットの定義を表21に示す。
【表21】
【0119】 CSR WD−PERR<3:0>−Bit:<3:0>タイプ:RW 書き込みデータパリティエラーが生じたMBUS24上のいかなるトランザク ションにおいても、エラー内の各バイトの対応ビットがセットされる。ESビッ トもセットされ、プロセッサ28への割り込みが生じる。エラーアドレス、デー タ及び領域は、各々、EAR、EDR及びERRレジスタにセーブされる。1を 書き込むと、クリアする。
【0120】 データパリティエラーが生じたIBUS19上のいかなるトランザクションに おいても、このビットがセットされる。これは、DRAB38 REGION SETUP REGISTERにプログラムされた次の領域に対するデータトラ ンザクションをカバーする。 BUFFER、ITON、CACHEA、CACHEB、CAACSR. CABCSR
【0121】 このビットは、IBUS19のパリティジェネレータ及びチェッカにおける個 々のバイトパリティエラーのオアされた出力である。パリティエラーが見つかっ たのはどのバイトであるかの情報は得られない。又、ESビットもセットされ、 プロセッサ28への割り込みが生じる。エラーアドレス、データ及び領域は、各 々、EAR、EDR及びERRレジスタにセーブされる。1を書き込むと、クリ アする。
【0122】 CSR CACHE RW−Bit:<5>タイプ:RW このビットは、「読み取りキャッシュ」へのトランザクションにおいてESが セットされたときにセットされる。オペレータは、ESビットをセットするエラ ーが生じたときに、どんな形式の「読み取りキャッシュ」トランザクション(読 み取り又は書き込み)が進行していたかを知る。このデータは、ESビットがセ ットされたときだけ有効となる。ESビットがセットされないときに読み取られ た値は有効ではない。エラービットが書き込まれたときにはフィールドがクリア されて、クリアとなる。
【0123】 CSR CACHE BYTE WRT−Bit:<6>タイプ:RW このビットは、「読み取りキャッシュ」へのトランザクションにおいてESビ ットがセットされたときにセットされる。オペレータは、ESビットをセットす るエラーが生じたときに、「読み取りキャッシュ」バイト書き込みトランザクシ ョンが進行していたことを知る。このデータは、ESビットがセットされたとき だけ有効となる。ESビットがセットされないときに読み取られた値は有効では ない。エラービットが書き込まれたときにはフィールドがクリアされて、クリア となる。
【0124】 CSR CACHE CYCLE−Bit:<7>タイプ:RW このビットは、「読み取りキャッシュ」又は「書き込みキャッシュ」へのトラ ンザクションにおいてESビットがセットされたときにセットされる。オペレー タは、ESビットをセットするエラーが生じたときに、「読み取りキャッシュ」 トランザクションが進行していたことを知る。このデータは、ESビットがセッ トされたときだけ有効となる。ESビットがセットされないときに読み取られた 値は有効ではない。エラービットが書き込まれたときにはフィールドがクリアさ れて、クリアとなる。
【0125】 CSR BYTE WRT−Bit:<8>タイプ:RW このビットは、バッファメモリトランザクションにおいてESビットがセット されたときにセットされる。オペレータは、ESビットをセットするエラーが生 じたときに、バッファメモリバイト書き込みトランザクションが進行していたこ とを知る。このデータは、ESビットがセットされたときだけ有効となる。ES ビットがセットされないときに読み取られた値は有効ではない。エラービットが 書き込まれたときにはフィールドがクリアされて、クリアとなる。
【0126】 CSR RW−Bit:<9>タイプ:RW このビットは、バッファメモリへのトランザクションにおいてESビットがセ ットされたときにセットされる。オペレータは、ESビットをセットするエラー が生じたときに、どんな形式のバッファメモリトランザクション(読み取り又は 書き込み)が進行していたかを知る。このデータは、ESビットがセットされた ときだけ有効となる。ESビットがセットされないときに読み取られた値は有効 ではない。エラービットが書き込まれたときにはフィールドがクリアされて、ク リアとなる。
【0127】 CSR ARBWIN<2:0>−Bit:<12:10>タイプ:RW これらのビットは、ESビットをセットするエラーがNBUS21のトランザ クションにおいて生じたときにARBWIN168の値を保持する(IBUS1 9 CYCLE=0)。オペレータは、バスマスターが誰かを知る。このデータ は、ES=1及びIBUS19 CYCLE=0のときだけ有効である。エラー ビットが書き込まれたときにはフィールドがクリアされて、クリアとなる。
【0128】 CSR IBUS19 CYCLE−Bit:<13>タイプ:RW このビットは、ESビットがIBUS19のトランザクションにおいてセット されたときにセットされる。オペレータは、ESビットをセットするエラーが生 じたときに、IBUS19のトランザクションが進行していたことを知る。この データは、ESビットがセットされたときだけ有効となる。ESビットがセット されないときに読み取られた値は有効ではない。エラービットが書き込まれたと きにはフィールドがクリアされて、クリアとなる。
【0129】 CSR ADDR PERR−Bit:<14>タイプ:RW DRAM98のアクセスにおいてアドレスパリティエラーが生じたときにこの ビットがセットされる。ESビットもセットされ、プロセッサ28への割り込み が生じる。エラーアドレス、データ及び領域は、各々、EAR、EDR及びER Rレジスタにセーブされる。1を書き込むと、クリアとなる。
【0130】 CSR NXM−Bit:<15>タイプ:RW このビットは、存在しないメモリがアドレスされたときにセットされる。ES ビットもセットされ、プロセッサ28への割り込みが生じる。エラーアドレス、 データ及び領域は、各々、EAR、EDR及びERRレジスタにセーブされる。 1を書き込むと、クリアとなる。
【0131】 CSR IN−BUSTO−Bit:<16>タイプ:RW このビットは、IBUS19からNBUS21トランザクションのバス時間切 れの際にセットされる。ESビットもセットされ、プロセッサ28への割り込み が生じる。1を書き込むと、クリアとなる。
【0132】 CSR MBIT ERR−Bit:<17>タイプ:RW このビットは、DRAM98から読み取られたデータに多ビットエラーが生じ たときにセットされる。ESビットもセットされ、プロセッサ28への割り込み が生じる。エラーアドレス、データ及び領域は、各々、EAR、EDR及びER Rレジスタにセーブされる。DERレジスタ値も捕えられる。1を書き込むと、 クリアとなる。
【0133】 CSR SBIT CRRCTN−Bit:<18>タイプ:RW このビットは、DRAM98の1つから読み取ったデータに対して単一ビット 補正が生じたときにセットされる。これは、ESビットをセットさせないが、D CR:SBIT CR MASKビットがセットされた場合は、プロセッサ28 への割り込みを生じる。DERレジスタ値が捕らえられる。1を書き込むと、こ のビットがクリアされる。
【0134】 CSR MULT SBC−Bit:<19>タイプ:RW このビットは、DRAM98の1つから読み取ったデータに対して単一ビット 補正が2回以上生じたときにセットされる。これは、ESビットをセットさせず そして発生も割り込みもしない。第1の単一ビットエラー補正に対して捕らえら れたDERのエラー情報がエラーによって変更されることはない。1を書き込む と、このビットがクリアされる。
【0135】 CSR SCRB CYC CMPLT−Bit:<20>タイプ:RW DRAM98のスクラビングサイクルが完了すると、このビットがセットされ る。これは、ESビットをセットさせない。これは、オペレータの便宜上読み取 ることのできる情報を単に更新するだけである。このビットは、DRAM98の リフレッシュが継続するよう確保するためにチェックしなければならない。1を 書き込むと、このビットがクリアされる。
【0136】 CSR NB TEA−Bit:<21>タイプ:RW DRAB38チップがNBUS21上にTEAを見ると、このビットがセット される。これは、ESビットをセットさせそしてプロセッサ28への割り込みを 生じさせる。1を書き込むと、クリアする。
【0137】 CSR PORT PROCESSOR ARB DIS−Bit:<22> タイプ:RW このビットは、CSRに記されたエラーからESビットがセットされたときに セットされる。これは、ESビットをセットさせる初期エラーがクリアされたと きにクリアされない。その機能は、プロセッサ28が割り込みを処理して状態を 評価できるまで、NBUS21のトランザクションをディスエイブルすることで ある。1を書き込むと、クリアし、NBUS21のトランザクションをイネーブ ルする。
【0138】 CSR IRESET−Bit:<23>タイプ:RW このビットに1を書き込むと、DRAB38の全ての内部状態マシン及び内部 エラー状態レジスタがリセットされる。内部リセットは、8BLCKサイクル中 続く。このビットに0を書き込むと、何の作用も起きない。
【0139】 CSR CACHEA NMI−Bit:<24>タイプ:RW キャッシュAボードの回復不能なエラーが検出されたときには、マスターコン トローラモジュール10のDRAB38においてこのビットがアサートされる。 プロセッサ28へのNMIが生じる。ES及びPORT PROCESSOR ARB DISビットもセットされる。1を書き込むと、最初にキャッシュAの DRAB114のCSRのエラーがクリアされ、その後、1を書き込むと、マス ターコントローラモジュール10のDRAB38においてこのビットがクリアさ れる。
【0140】 CSR CACHEB NMI−Bit:<25>タイプ:RW キャッシュBボードの回復不能なエラーが検出されたときには、マスターコン トローラモジュール10のDRAB38においてこのビットがアサートされる。 プロセッサ28へのNMIが生じる。ES及びPORT PROCESSOR ARB DISビットもセットされる。1を書き込むと、最初にキャッシュBの DRAB114のCSRのエラーがクリアされ、その後、1を書き込むと、マス ターコントローラモジュール10のDRAB38においてこのビットがクリアさ れる。
【0141】 CSR CACHE TIMEOUT−Bit:<26>タイプ:R/W1C キャッシュへアクセスするCDALバス26の時間切れ。
【0142】 CSR KILL−Bit:<30>タイプ:RW
【0143】 CSR ES−Bit:<31>タイプ:RW このビットは、CSRレジスタのほとんどのエラーの要約である。これは、次 のCSRエラーが生じたときにセットされる。即ち、WDAT PERR、ID PERR、ADDR PERR、NXM、IN BUSTO、MBIT ER R、NB TEA。このビットがセットされたときには、プロセッサ28への割 り込みが生じる。 注:割り込みは、IBUS19サイクル中にエラーが生じたときには、ノン・マ スカブル割り込みである。NBUS21のサイクル中又はDRAM98のリフレ ッシュ中にエラーが生じたときには、プロセッサ28への通常の割り込みがアサ ートされる。
【0144】 DRAB38診断レジスタ(DCR)(R/W) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。このレジスタのビットの定義を表22に示す。
【表22】
【0145】 DCSR BG<7:0>−Bit:<7:0>タイプ:R このフィールドは、バスグラントラインの観察特性を与えるものである。
【0146】 DCSR BR<7:0>−Bit:<15:8>タイプ:RW このフィールドは、バス要求ラインの観察特性を与えるものであり、DCSR :ARBTESTがセットされたときには、このレジスタへの書き込みにより、 裁定ロジックへ付与されるパターンが形成される。
【0147】 DCSR BB TEST−Bit:<16>タイプ:RW このビットは、NBUS21のBus Busy(BB L)信号の観察特性 を与える。DSCR:ARBTESTがセットされたときには、このビットへの 書き込みは、裁定ロジックがBB Lに対して見る値を与える。
【0148】 DCSR ARBTEST−Bit:<17>タイプ:RW このビットをセットすると、DRAB38がARBTESTモードに入れられ る。このモードにおいて、NBUS21のバス要求信号は、DRAB38/NB US21裁定ロジックによって見えない。裁定ロジックは、BR166及びこの レジスタのBBフィールドへの書き込みによって刺激される。それにより生じる BG164の信号は、BGフィールドを読み取ることにより観察できる。
【0149】 バスグラント信号はDRAB38から駆動されるので、裁定テスト中にはNB US21マスターリセットを保持するように注意されたい。
【0150】 DCSR SBIT CR MASK−Bit:<18>タイプ:RW このビットがセットされたときは、メモリに対して単一ビットエラー及び補正 が生じた場合に(CSR:SBIT CRRCTN=1)、プロセッサに対する 割り込みが生じる。これは、短い時間内に多数のSBEが生じるかどうかを更に 検査できるようにする。このビットがセットされない場合には、CSR:SBI T CRRCTN=1のときに、割り込みは生じない。
【0151】 DCSR CACHE ENABLE−Bit:<19>タイプ:RW このビットがセットされたときには、キャッシュがイネーブルされる。これは 0に初期化され、即ちキャッシュはディスエイブルされる。
【0152】 DCSR FBPE<3:0>−Bit:<23:20>タイプ:RW 強制バイトパリティエラー。これらビットの各々は、それがセットされたとき に、メモリの読み取りにおいて対応するバイトパリティエラーを生じる。ビット 0は、バイト0にパリティエラーを生じ、等々となる。
【0153】 DCSR DIAG CHKBITS<6:0>−Bit:<30:24>タ イプ:RW これらのビットには、ECCの通常のチェックビットに置き代わるべき値を書 き込むことができる。これらは、SUBS CHKBITSがセットされたとき に通常のチェックビットとして使用される。SUBS CHKBITSがセット されない場合には、これらは無視される。これらは、メモリに単一及び多数のビ ットエラーを強制するのに使用することができる。
【0154】 DCSR SUBS CHKBITS−Bit:<31>タイプ:RW このビットがセットされると、DIAG CKBITSの値がECCのチェッ クビットとして使用される。これは、メモリに単一及び多数のビットエラーを強 制するのに使用できる。
【0155】 DRAB38 DRAMバッファ30のエラーレジスタ(DER)(R) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。これは0に初期化される。このレジスタのビットの定義を表23に 示す。
【表23】
【0156】 DER MB SYNDROME<6:0>−Bit:<6:0>タイプ:R このフィールドは、多ビットエラーが生じたときにシンドローム値を保持し、 CSR:MBIT ERRビットがセットされたときだけ有効となる。CSR: MBIT ERRビットがセットされないときに読み取った値は有効でない。
【0157】 DER M REFR IN PROG−Bit:<7>タイプ:R このビットは、セットされると、多ビットエラーが生じたときに進行中にリフ レッシュがあったことを指示する。CSR:MBIT ERRビットがセットさ れたときだけ有効となる。CSR:MBIT ERRビットがセットされないと きに読み取られた値は、有効ではない。
【0158】 DER SB SYNDROME<6:0>−Bit:<13:7>タイプ: R このフィールドは、単一ビットエラー及び補正が生じたときにシンドローム値 を保持し、CSR:SBIT CRRCNTビットがセットされたときだけ有効 となる。CSR:SBIT CRRCNTビットがセットされないときに読み取 られた値は、有効ではない。
【0159】 DER S REFR IN PROG−Bit:<15>タイプ:R このビットは、セットされると、単一ビットエラー及び補正が生じたときに進 行中にリフレッシュがあったことを指示する。CSR:SBIT CRRCNT ビットがセットされたときだけ有効となる。CSR:SBIT CRRCNTビ ットがセットされないときに読み取られた値は、有効ではない。
【0160】 DER BNK ERR IDENT<1:0>−Bit:<17:16>タ イプ:R このフィールドは、メモリエラーが生じたDRAM98バンクを識別する。デ ータは、CSR:SBIT CRRCNTビットがセットされたときだけ有効と なる。CSR:SBIT CRRCNTビットがセットされないときに読み取ら れた値は、有効ではない。
【0161】 DRAB38エラーアドレスレジスタ(EAR)(R) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。このレジスタのビットの定義を表24に示す。
【表24】
【0162】 EAR ADDRESS<25:0>−Bit:<27:2>タイプ:R このレジスタは、CSR:ESビットをセットしそしてプロセッサ28に割り 込むために発生したエラーのアドレスを含む。これは、多数のエラービットがC SRにセットされた場合には第1エラーのアドレスを含む。アドレスは、領域又 はバイト値は含まない。
【0163】 DRAB38エラーデータレジスタ(EDR)(R) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。このエラーデータレジスタのビットの定義を表25に示す。
【表25】
【0164】 EDR DATA<31:0>−Bit:<31:0>タイプ:R このレジスタは、CSR:ESビットをセットしそしてプロセッサ28に割り 込むために発生したエラーのデータを含む。これは、多数のエラービットがCS Rにセットされた場合には第1エラーのデータを含む。
【0165】 DRAB38エラー領域レジスタ(ERR)(R) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。このエラー領域レジスタのビットの定義を表26に示す。
【表26】
【0166】 EDR NADR RGN<3:0>−Bit:<3:0>タイプ:R このレジスタは、エラーが生じた(CSR:ESビットがセットされた)とき にNBUS21アドレスの上位4つのアドレスビットを含む。CSR:IBUS 19 CYCLEビットがセットされない場合には、NBUS21においてト ランザクションが行われており、このフィールドは有効である。CSR:IBU S 19 CYCLEビットがセットされそしてトランザクションがNBUS2 1へのIBUS19であった場合は、このフィールドは有効である。このフィー ルドが有効でないのは、IBUS19のトランザクションエラーのみである。
【0167】 EDR IADR RGN<3:0>−Bit:<7:4>タイプ:R このレジスタは、エラーが生じた(CSR:ESビットがセットされた)とき にIBUS19アドレスの上位4つのアドレスビットを含む。CSR:IBUS 19 CYCLEビットがセットされた場合には、エラートランザクションは IBUS19上であり、このフィールドは有効である。
【0168】 DRAB38領域セットアップレジスタ(RSR)(RW) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。領域対領域の多数の制約、バスに特定の領域の制約、及びこのレジ スタをプログラミングするときに当然付随するモジュールハードウェアの制約に より、一般にパワーアップデフォールトレジスタ値を使用しなければならない。 この領域セットアップレジスタのビットの定義を表27に示す。
【表27】
【0169】 SETUP BUFFER<3:0>−Bit:<3:0>タイプ:RW これらのビットは、バッファメモリをアクセスする領域を定める。これらは、 プロセッサ28のバスデバイス−IADDR<31:28>によって駆動される アドレスの上位4ビットである。しかしながら、これらは、ポートプロセッサ3 2バスデバイス−NADDR<30:28>によって駆動されるアドレスの上位 4ビットのうちの3つだけである。NADDR<31>は、FXチップ54によ りRAID XOR機能をデコードするのに使用される。これは2(0010) に初期化される。
【0170】 SETUP ITON<3:0>−Bit:<7:4>タイプ:RW これは、プロセッサ28がポートプロセッサ32バスをアドレスするのに使用 する上位4ビットのアドレス領域である。これは、3(0011)に初期化され る。
【0171】 SETUP CACHEA<3:0>−Bit:<11:8>タイプ:RW これらビットは、キャッシュAをアクセスするための領域を定める。これらは プロセッサ28バスデバイス−IADDR<31:28>によって駆動されるア ドレスの上位4ビットである。しかしながら、これらは、ポートプロセッサ32 バスデバイス−NADDR<30:28>によって駆動されるアドレスの上位4 ビットのうちの3つだけである。NADDR<31>は、FXチップ54により RAID XOR機能をデコードするのに使用される。これは4(0100)に 初期化される。
【0172】 SETUP CACHEB<3:0>−Bit:<15:12>タイプ:RW これらビットは、キャッシュBをアクセスするための領域を定める。これらは プロセッサ28バスデバイス−IADDR<31:28>によって駆動されるア ドレスの上位4ビットである。しかしながら、これらは、ポートプロセッサ32 バスデバイス−NADDR<30:28>によって駆動されるアドレスの上位4 ビットのうちの3つだけである。NADDR<31>は、FXチップ54により RAID XOR機能をデコードするのに使用される。これは5(0101)に 初期化される。
【0173】 SETUP CAACSR<3:0>−Bit:<23:20>タイプ:RW これらのビットは、CACHE A CSRをアクセスするための領域を定め る。これらは、プロセッサ28によって駆動されるアドレスの上位4ビットであ る。ポートプロセッサ32のデバイスは、CACHE CSRをアクセスできな い。これは、8(1000)に初期化される。
【0174】 SETUP CABCSR<3:0>−Bit:<27:24>タイプ:RW これらのビットは、CACHE B CSRをアクセスするための領域を定め る。これらは、プロセッサ28によって駆動されるアドレスの上位4ビットであ る。ポートプロセッサ32のデバイスは、CACHE CSRをアクセスできな い。これは、9(1001)に初期化される。
【0175】 DRAB38 I/Dキャッシュ44のヒットカウンタ(RSR)(RW) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。これは0に初期化される。このカウンタの定義を表28に示す。
【表28】
【0176】 IDH<31:0>−Bit:<31:0>タイプ:R これは、32ビットのロード可能なカウンタで、I/Dキャッシュ44がイネ ーブルされる間にキャッシュされる情報の形式(コード、データ又は両方)に対 してI/Dキャッシュ44のヒットの数をカウントする。このカウンタ又はI/ Dミスカウンタ(MISS COUNTer)のいずれかのターミナルカウント (FFFFFFFF)は、両カウンタをそれらの現在値に凍結させる。I/Dキ ャッシュ44のカウンタを、そのいずれかがターミナルカウントに達した後に、 リセットするために、このカウンタには、I/Dミスカウンタが書き込まれる前 にリセット値を書き込まねばならない。
【0177】 DRAB38 I/Dキャッシュ44のミスカウンタ(RSR)(RW) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。これは0に初期化される。このカウンタの定義を表29に示す。
【表29】
【0178】 IDM<31:0>−Bit:<31:0>タイプ:R これは、32ビットのロード可能なカウンタで、I/Dキャッシュ44がイネ ーブルされる間にキャッシュされる情報の形式(コード、データ又は両方)に対 してI/Dキャッシュ44のミスの数をカウントする。このカウンタ又はI/D ヒットカウンタ(HIT COUNTer)のターミナルカウント(FFFFF FFF)は、両カウンタをそれらの現在値に凍結させる。I/Dキャッシュ44 のカウンタを、そのいずれかがターミナルカウントに達した後に、リセットする ために、このカウンタが書き込まれる前にIDヒットカウンタにリセット値を書 き込まねばならない。このレジスタを書き込むと、両カウンタが再びカウントを 開始する。
【0179】 DRAB38チップ内には全部で3つの裁定関数がある。DRAMバッファ3 0へアクセスするためにIBUS19とNBUS21との間で裁定が行われる。 又、読み取りキャッシュメモリへアクセスするためにIBUS19とNBUS2 1との間で裁定が行われる。更に、NBUS21バスへアクセスするために、6 つのSCSIポートと、ホストポートと、FXチップ54と、プロセッサ28と の間で裁定が行われる。
【0180】 バッファメモリの裁定 IBUS19及びNBUS21によるDRAMバッファ30へのアクセスの優 先順位は等しい。その両方がバッファメモリへ繰り返しアクセスを要求する場合 には、各々交互にアクセスが許可される。
【0181】 読み取りキャッシュメモリの裁定 NBUS21の要求は、IBUS19を経てキャッシュメモリを読み取るよう にアクセスするための優先順位を有する。NBUS21のデバイスは、表30に 示す優先順位を有する。
【表30】 デバイス3ないし9は、常に、ラウンドロビン形態で裁定する。デバイス1及び 2は、ラウンドロビンに加わるように個々にプログラムすることができる。又、 これらは、他の要求とのラウンドロビンに加わらずに単純な優先順位によって勝 つようにプログラムすることもできる。
【0182】 スレーブ/データキャッシュモード DRAB38チップは、マスター及びスレーブの両方のモードで動作する。マ スターモードは、コントローラモジュール10のアプリケーションに対するもの である。スレーブモードは、キャッシュモジュール110に対するものである。 SLAVE H入力は、DRAB38/114チップに対するモードをセットす る。コントローラモジュール10においては、このピンが接地され、そしてキャ ッシュモジュール110においては、このピンが論理「1」に引っ張られる。
【0183】 DRAB38チップは、コントローラモジュール10とキャッシュモジュール 110との間でバックプレーンを経てデータを転送するのを制御する。バックプ レーンのインターコネクトは、CDALバス26である。このCDALバス26 は、32ビットのマルチプレクス式データ及びアドレスバスであって、奇数バイ トデータパリティをもつものである。各コントローラモジュール10には単一の CDALバス26が取り付けられている。各キャッシュモジュール110には、 各コントローラモジュール10A及び10Bから1つづつ、2つのCDALバス 26A及び26Bが取り付けられている。各コントローラモジュール10は、2 つのキャッシュモジュール110のいずれかへアクセスする。裁定は、スレーブ DRAB114A及び114Bによって行われる。
【0184】 マスターモードにおいては、コントローラモジュール10のDRAB38は、 IBUS19及びNBUS21の要求をデコードし、そしてコントローラモジュ ール10のバスマスターに代わってCDALバス26の転送を開始する。キャッ シュモジュール110のDRAB114は、要求を受け取り、その要求されたD RAMバッファ30又はCSRのアクセスを実行し、そしてACK又はエラー応 答をアサートする。
【0185】 DRAB38のCDALバス26の制御信号 CREQ L<1:0>−CDALバス26の転送要求/アドレスラッチは、 コントローラモジュール10のDRAB38チップによって駆動され、CDAL バス26の転送を開始する。ラインは、転送中にアサートされたままとなる。転 送の終わりに、この信号のデアサートにより転送は終了する。各コントローラモ ジュール10から各キャッシュモジュール110ごとに1つの「要求」がある。 コントローラモジュール10のDRAB38は、領域をデコードし、適切な要求 をアサートする。
【0186】 CACK L<1:0>−CDALバス26の転送確認 キャッシュモジュール110のスレーブDRAB114により駆動される。こ の信号は、CDALバス26を経て転送される各データロングワードごとに一度 低レベルにパルスされる。
【0187】 CERR L<1:0>−CDALバス26の転送エラー キャッシュモジュール110のスレーブDRAB114により駆動される。コ ントローラモジュール10のDRAB38により受け取られる。キャッシュモジ ュール110のCDALバス26のエラー及びキャッシュモジュール110のメ モリエラー信号。2つのキャッシュモジュール110の各々からの1つのエラー 信号。この信号は、キャッシュモジュール110のDRABチップ114により エラーが検出されたことを指示するためにCACK L信号でアサートされる。 次いで、コントローラモジュール10のDRAB38は、NBUS21及び/又 はIBUS19のマスターに対する適当なエラー応答シーケンスを実行する。C DALバス26の基本的な転送を表31に示す。
【表31】
【0188】 CDALバス26の他の制御信号 コントローラモジュール10とキャッシュモジュール110との間のバックプ レーンには次の信号が必要とされる。
【0189】 C PRESENT A及びC PRESENT B 各キャッシュモジュール110から各コントローラモジュール10へのバック プレーンライン。これらのラインは、各コントローラモジュール10においてプ ルアップされる。キャッシュモジュール110がキャッシュスロットAに挿入さ れた場合には、C PRESENT Aがプルダウンされ、システムにキャッシ ュモジュール110が存在することが各コントローラモジュール10に指示され る。これらのラインは、コントローラモジュール10の診断読み取りレジスタ8 0、82によって受け取られる。
【0190】 C LOCK<1:0>−キャッシュロック信号 コントローラモジュール10の診断制御レジスタによりキャッシュモジュール 110のロック信号として駆動される。コントローラモジュール10は、キャッ シュモジュール110をその専用の使用に「ロック」できる。C LOCK信号 がアサートされると、キャッシュモジュール110のDRAB114が他のコン トローラモジュール10のCDALバス26のマスターからのCREQに応答す るのを禁止する。コントローラモジュール10は、このラインをアサートするこ とによりキャッシュモジュール110の所有権を引き継ぐように試みる。その後 の転送がACKを受け取った場合には、このラインがデアサートされるまでロッ クが保たれる。転送が時間切れする場合には、キャッシュモジュール110は、 「他方」のコントローラモジュール10にロックされるか又は機能しないかのい ずれかである。
【0191】 C LOCK信号がキャッシュモジュール110へアサートされない場合は、 いずれかのコントローラモジュール10のマスターに応答する。
【0192】 インターフェイスの仕様 DRAB38チップの電気的及びタイミング的インターフェイス要件について 以下に説明する。
【0193】 DRAB38のピンの説明 MBUS24及びDRAM98のインターフェイス信号ピンを表32に示す。
【表32】
【0194】 MDAL<31:0>H−メモリデータ/アドレスライン;32ピン;I/O MBUS24は、データ/アドレスマルチプレクスメモリバスである。DRA Mバッファ30のデータピン、DRAB38及びバス交換器100チップは、こ のバスに直接結合する。
【0195】 DP<3:0>−NBUS21データパリティライン;4ピン;I/O MBUS24の奇数バイトパリティライン。
【0196】 NBUS21のポートインターフェイス信号ピン NBUS21ポート制御信号に組み合わされるデバイス信号ピンを表33に示 す。
【表33】
【0197】 SIZ<3:0>H−NBUS24のSIZeライン;2ピン;I/O バストランザクションの長さを表す。FXチップ54は、ロングワードスレー ブアクセス(SIZ=00)のみを受け入れ、バーストDMA転送(SIZ=1 1)のみを実行する。00及び11以外のSIZをもつ全てのバス転送は無視さ れる。
【0198】 TS L−NBUS24転送スタートライン;1ピン;I/O NBUS24のTS/ライン。このラインは、転送がスタートしそして有効ア ドレス及び制御ラインがバスにおいてアサートされたことを指示する。
【0199】 TIP L−NBUS24転送進行ライン;1ピン;I/O NBUS24TIP/ラインである。
【0200】 BR<7:0>H−NBUS24バス要求/キャッシュ要求;2ピン;I/O コントローラモードにおいては、これらのラインは、裁定ロジックへの入力で ある。キャッシュモードにおいては、BR<0>及びBR<1>は、DRABチ ップの後方のキャッシュメモリへアクセスする2つの要求として働く。
【0201】 プロセッサ28のポートインターフェイス信号ピン プロセッサ28のポート信号ピンを表34に示す。
【表34】
【0202】 キャッシュバスインターフェイス信号ピン キャッシュバスインターフェイスの信号ピンを表35に示す。
【表35】
【0203】 CREQ L−キャッシュバスアクセス要求;2ピン;I/O コントローラモジュール10のマスターモードにおいては、このピンは出力の みである。このピンは、キャッシュモジュール110への転送をスタートするよ うにアサートされる。この信号をアサートする直前に、キャッシュアドレスが、 C RW Lと共にCDALバス26ラインに送出される。
【0204】 キャッシュモジュール110のスレーブモードにおいては、このピンは入力の みである。これは、マスターであるコントローラモジュール10からの転送要求 を受け取る。
【0205】 CACK−キャッシュバスアクセス確認;2ピン;I/O コントローラモジュール10のマスターモードにおいては、これらピンは入力 のみである。このピンを介して確認ハンドシェイクが受け取られる。
【0206】 キャッシュモジュール110のスレーブモードにおいては、このピンは出力の みであり、確認ハンドシェイク信号を駆動する。
【0207】 その他のインターフェイス信号ピン その他のインターフェイス信号ピンを表36に示す。
【表36】
【0208】 CS L−DRAB38チップ選択;1ピン;I DRAB38の内部レジスタは、プロセッサ28によって読み取り及び書き込 みすることができる。このチップ選択ピンをアサートすると、DRAB38チッ プは、これがプロセッサ28のトランザクションのターゲットであることが知ら される。DRAB38チップは、要求されたトランザクションを実行し、REA DY Lをアサートする。
【0209】 更に、図5には、FXチップ54の機能論理ブロック図が示されている。FX チップ54の全ての内部レジスタはNBUS21を経てアクセスされる。FXチ ップ54は、ポートプロセッサバス制御ロジック202及びMPORTライン2 22の3つのビットの制御下にあるコマンド及びXPAGE(PCX)レジスタ 200を備えている。このレジスタのレジスタマップを表37に示す。
【表37】
【0210】 DMAレジスタ204も、NBUS21に接続され、DMA間接リストポイン タ(DILP)アドレスレジスタ、DMAページアドレスレジスタ、DMA次ペ ージレジスタ及びDMAコマンドレジスタを構成する。このDMAレジスタ20 4は、PCXレジスタ200と共に、XADDRバス206にアドレス(XAD DR)を与える。DMAレジスタ204は、DMA制御ロジック214によって 制御され、これは、マルチプレクサ210へも入力を供給する。
【0211】 NBUS21は、バスデータラッチ216を経て、XORロジック機能部21 8の一方の入力に接続され、その他方の入力はマルチプレクサ210の出力に接 続され、該マルチプレクサは、その入力として、論理0入力212と、ラッチ2 08を経てバス220に現れるXORロジック機能部218の出力とを受ける。 バス220は、32ビットのXORされたデータと、4ビットのXORされたデ ータパリティとを供給する。
【0212】 FXチップ54のCSRレジスタ FXチップ54のCSRレジスタを表38に示す。
【表38】
【0213】 DMAエンジンレジスタ DMAエンジンレジスタを表39及び40に示す。
【表39】
【表40】
【0214】 レジスタの説明 FXチップ54ポートコマンド及びXPAGEレジスタ(PCM)(R/W) 該レジスタのビットの定義を表41に示す。FXチップ54は、8個までのバ スマスターに対しフライXORを実行する。各バスマスターごとに1つのPCX レジスタがある。現在選択されているバスマスターは、3つのARBWIN16 8信号ピンを経てFXチップ54に通信される。デコードされたARBWIN1 68の値は、それに対応するPCXレジスタを選択する。
【表41】
【0215】 Xフィールドにはいかなる値を書き込むこともでき、書き込まれた値は、読み 取りの際に返送される。
【0216】 PCX CMD−Bit<1:0>タイプ:RW CMD<0>は、読み取り−XOR−書き込み動作である。このビットがセッ トされた場合には、データ転送により、XBUF102に対する読み取り−XO R−書き込み動作が行われる。
【0217】 CMD<1>は、バッファメモリ読み取り/書き込みラインを制御する。この ビットがセットされると、バッファメモリ読み取り動作は、XBUF102の読 み取り動作及びこれと同時のバッファ書き込み動作となる。これは、FXチップ 54が計算されたXORブロックをポートへ転送できると同時に、それらを、ポ ートにより指定されたバッファメモリのアドレスにコピーできるようにする。
【0218】 CMD<0>及びCMD<1>の両方のビットがセットされた場合には、XB UF102からのデータが上記したようにポート及びバッファメモリに転送され る。更に、XORビットもセットされているので、XBUF102のデータとそ れ自身又は「0」とのXORが、アクセスされているXBUF102の位置へ書 き戻される。これは、XBUF102のページをクリアして、別の動作の準備を する。CMD<2>は、バッファ比較動作のための継続「OR」の計算を制御す る。このビットがセットされている場合には、全てのビットのXORの結果の継 続「OR」が計算される。このビットがリセットされている場合には、継続「O R」がディスエイブルされるが、OTFバッファ比較フラグがクリアされない。 CMD=100#2である場合には、オンザフライXOR動作が行われるが、X BUF102は更新されない。CMD=101#2は、読み取り−XOR−書き 込み動作を、バッファ比較のための継続「OR」と共に生じさせる。それにより 生じるXBUF102のデータは、データバッファ間の全ての差に対するビット マップとなる。
【0219】 XBUF102のスレーブアドレススペースがポートコントローラにより書き 込まれそしてNADDR<31>=1(XOR動作がイネーブルされた)の場合 には、ポートによって参照される位置が更新されない。これは、バッファメモリ を伴わないポートOTFバッファ比較動作を行えるようにする。これらの転送は バッファメモリ参照よりも速く完了する。ゼロ充填動作は、PCXレジスタによ ってアドレスされた読み取りデータをNBUS21に送出せず、XRAMのアド レスをゼロにするだけである。
【0220】 CMD=0の場合には、何の動作も生じない。XBUF102メモリは、変更 されない。
【0221】 PCX COMPARE CLEAR−Bit<3>タイプR/W1C このビット位置に1を書き込むと、FXチップ54のCSRレジスタにおける 対応するOFTバッファ比較結果ビットがクリアされる。SCSIポートから読 み取るPCXレジスタにおいては、このビットは、CSR OTFバッファ比較 結果ビットと同じ状態を反映する。
【0222】 PCXOに加えてPCXレジスタを読み取るプロセッサ28においては、CO MPARE CLEARビットは正しい状態を反映しない。各PCX OTFバ ッファ比較の正しい状態は、プロセッサ28のアクセスに対しCSRにおいての み見つけることができる。対応するPCXレジスタを読み取るポートプロセッサ 32は、COMPARE CLEARビットの正しい状態を反映する。
【0223】 PCX XPAGEアドレス−Bit<18:9>タイプ:RW この値は、読み取り−XOR−書き込み動作のためにXBUF102メモリへ 送られるページアドレスとして使用される。
【0224】 FX CHIP54の制御及び状態レジスタ(CSR)(R/W) このレジスタは、ロングワード境界においてロングワード動作で書き込まれね ばならない。このCSRレジスタのビットの定義を表42に示す。
【表42】
【0225】 CSR CHIP REVISION−Bit<2:0>タイプ:R このフィールドは、チップ改定番号を保持するために指定される。
【0226】 NBUS21 PARITY CHECK DISABLE−Bit<3>タ イプ:R このビットは、セットされると、XBUF102のPCXレジスタへスレーブ 書き込みするためにNBUS21におけるパリティチェックをディスエイブルす る。セット時に、このビットは、NBUSPORTロジックがパリティエラー信 号をアサートするのを禁止する。これは、パリティ不良のデータがFXチップ5 4のレジスタ又はXBUF102のメモリへ書き込まれるのを許す。
【0227】 CRS ERROR PORT−Bit<6:4>タイプ:R エラーが検出されたときには、そのエラー時点のコントローラモジュール10 のNBUS21のマスターの番号がこのフィールドにラッチされる。このフィー ルドの値は、ERROR SUMMARYビットがセットされたときだけ有効と なる。
【0228】 CRS ERROR SUMMARY−Bit<7>タイプ:R このビットは、チップエラー状態の敏速な概要を与える。このビットは、全て のエラービットの論理オアである。このビットは、ERR Lピンの状態を反映 する。この信号は、NBUS21の裁定ロジックを禁止するのに使用でき、エラ ー状態が失われる前にプロセッサ28の制御プロセッサがチップをアクセスでき るようにする。
【0229】 CSR XBUF 102 SLAVE PARITY ERROR−Bit <8>タイプ:W1C FXチップ54のXBUF102のポートロジックがXBUF102のスレー ブ読み取り動作においてパリティエラーを検出したときに、このビットがアサー トされる。このビットは、1を書き込んだときにクリアされる。
【0230】 CRS NBUS21 PARITY ERROR−Bit<9>タイプ:W 1C FXチップ54のNBUS21のポートロジックが、FXチップ54のスレー ブレジスタの書き込み又はXBUF102メモリのスレーブ書き込みにおいてパ リティエラーを検出したときに、このビットがアサートされる。このビットは、 1が書き込まれたときにクリアされる。
【0231】 CRS NBUS21 TIMEOUT ERROR−Bit<10>タイプ :W1C このビットは、FXチップ54により開始されたDMA転送が時間切れ周期内 にメモリから転送確認応答を受け取らないときにアサートされる。これは、不良 メモリアドレス又はハードウェア欠陥によるものである。このビットをセットし そしてバスサイクルを終了することにより、エラー状態を収集するようにプロセ ッサ28のアクセスを行うことができる。このビットは、1が書き込まれたとき にクリアされる。
【0232】 CSR XBUF102 MASTER PARITY ERROR−Bit <11>タイプ:W1C FXチップ54がNBUS21のマスターである(DMA動作)間にFXチッ プ54のXBUF102のポートロジックがXBUF102の読み取りにおいて パリティエラーを検出したときに、このビットがアサートされる。このビットは 1が書き込まれたときにクリアされる。
【0233】 CSR NBUS 21 MASTER PARITY ERROR−Bit <12>タイプ:W1C FXチップ54がNBUS21のマスターである(DMA動作)間にFXチッ プ54のNBUS21のポートロジックがNBUS21の読み取り動作において パリティエラーを検出したときに、このビットがアサートされる。このビットは 1が書き込まれたときにクリアされる。
【0234】 CSR NBUS21 TIMEOUT VALUE−Bit<18:13> タイプ:RW このフィールドは、NBUS21のDMAトランザクション時間切れ値を指定 する。この値は、NBUS21の時間切れ周期をセットする。FXチップ54が マスターモードNBUS21動作(DMA)をスタートするたびに、トランザク ション時間切れカウンタにこの値がロードされる。トランザクション時間切れカ ウンタは、BCLKレートの1/4でカウントダウンされる。トランザクション 確認を受け取る前にカウンタがゼロに達した場合に、NBUS21のTIMEO UT ERRORビットがセットされる。
【0235】 このフィールドは0に初期化され、これは、FXチップ54によるDMA時間 切れチェックがないことを意味する。このフィールドは、DMA NBUS21 の時間切れを生じさせるためには非ゼロ値に初期化する必要がある。
【0236】 DMA BUFFER COMPARE−Bit<19>タイプ:W1C このビットは、DMAバッファ比較動作の結果を指示する。バッファ比較動作 は、XORエンジンからの全てのビット出力の継続「OR」を計算するDMA XOR動作に他ならない。この継続「OR」の結果は、このレジスタビットに反 映される。このビットは、非ゼロ結果が計算されたときにセットされる。セット されると、バッファ比較データは終了となる。DMAページアドレスレジスタ及 びDMAインデックスレジスタの状態は、差の位置を指示する。IRQ Lピン もアサートされる。
【0237】 このビットは、1が書き込まれたとき、又は新たなバッファ比較DMAがスタ ートされたときにクリアされる。
【0238】 CSR DMA ACTIVE STATUS−Bit<20>タイプ:R このビットがセットされると、FXチップ54の内部DMAエンジンが現在ビ ジーであることを指示する。アサート時には、DMA COMMAND及びDI LPレジスタが書き込まれてはならない。
【0239】 CSR DMA COMPLETE STATUS−Bit<21>タイプ: W1C このビットがセットされると、FXチップ54の内部DMAエンジンがDMA 動作を完了したことを指示する。このビットは、DMA動作中にエラーが生じた ときにはアサートされない。このビットは、DMAバッファ比較動作が終了した ときには、その終了がバッファの欠陥比較によるものであっても、アサートされ る。このビットは、1が書き込まれたときにクリアされる。
【0240】 CSR INTR STATUS−Bit<22>タイプ:W1C このビットは、IRQ Lピンの状態を反映する。これがセットされると、割 り込み要求がプロセッサ28にアサートされる。
【0241】 FXチップ54は、このレジスタのいずれかのERRORビットがセットされ たときには、もし可能であれば、DMA完了状態に基づいて、割り込みを発生す る。
【0242】 このビットは、割り込みを生じるエラーがクリアされたときにクリアされる。 又、これは、プロセッサ28への割り込み要求をリセットする。
【0243】 CSR INTR ENABLE−Bit<23>タイプ:RW このビットをセットすると、プロセッサ28へのIRQ Lラインがイネーブ ルされる。リセットされた場合には、IRQ Lラインは常にリセットである。 又、このビットは、INTR STATUSビットがエラーの際にセットされな いようにする。
【0244】 OTF BUFFER CPMPARE−Bit<31:24>タイプ:R これらのビットは、オンザフライ(OTF)バッファ比較動作の結果を指示す る。OTFバッファ比較動作は、PCXレジスタにバッファ比較コマンドが書き 込まれたときに開始される。ポートインターフェイスチップ(ポートプロセッサ 32、34)は、バッファメモリに対して通常のデータ転送を行う。FXチップ 54は、転送されたデータのオンザフライXORからの全てのビット結果と、P CXレジスタに指定されたXBUF102のXPAGEとの継続「OR」を計算 する。OTFバッファ比較動作に続いてセットされた場合には、その差が検出さ れる。
【0245】 このフィールドのビットは、読み取り専用の状態ビットである。その関連PC Xレジスタに制御/リセットが含まれる。
【0246】 FX CHIP 54 DMA INDIRECT LIST POINTE R REGISTER(DILP)(R/W) このレジスタの定義を表43に示す。
【表43】
【0247】 DMA間接リストページアドレス−Bit<31:9>タイプ:RW このフィールドの値は、DMAページアドレス値のリストが読み取られるペー ジアドレスを指定する。
【0248】 リストオフセット−Bit<8:2>タイプ:RW このリストオフセットには、DMA間接リストページアドレスに対する初期オ フセットを書き込むことができる。この値は、各々のページアドレス値のフェッ チに続いて、リスト内の次のロングワードを指すように増加される。DILPレ ジスタに書き込まれた全てのアドレス値は、ロングワード整列値でなければなら ない。リストは、ページの境界を横断することはできない。リストのオフセット は、リストページアドレスフィールドへの桁上げを発生しない。ページの横断が 生じた場合には、リストオフセットが0へとロールオーバーする。エラーにはフ ラグが立たない。
【0249】 FX CHIP54 DMA BPAGE及びXPAGE ADDRESS REGISTER(DADDR)(R) このレジスタのビットの定義を表44に示す。
【表44】
【0250】 DMA XPAGE−Bit<9:0>タイプ:R このフィールドは、現在DMA XBUF102のページアドレス値を保持す る。
【0251】 DMA BUFFER PAGE−Bit<31:10>タイプ:R このフィールドは、現在DMAバッファページアドレス値、ビット30:9を 保持する。ページアドレスフィールドがNBUS21及びXBUF102のアド レスに対するものである場合のマッピングを表45に示す。
【表45】
【0252】 これらのレジスタは、読み取り/書き込み可能なレジスタではない。これらは DMAのスタート時に形成される。実際のバッファページアドレスは、オペレー タがバッファメモリにロードする(間接的なDILPアドレスにおいて)アドレ スを1ビット右へシフトしたものであることに注意されたい。
【0253】 FX CHIP 54 DMA COMMAND REGISTER(DCM D)(R/W) このレジスタに非ゼロのDMAコマンドを書き込むと、DMA動作が開始され る。DILPレジスタには、バッファメモリのページリストのスタートアドレス が予め書き込まれていなければならない。このレジスタを表46に示す。
【表46】
【0254】 DCMD LAST PAGE OFFSET−Bit<8:2>タイプ:R W このフィールドの値は、DMA動作が完了するところのその動作の最終ページ に対するオフセットをセットする。ここに書き込まれるインデックスは、DMA の最後のロングワードとなる。DMAのページカウントがゼロであって、最終ペ ージを指示する場合には、この値が、DMAページインデックスカウンタ値と比 較される。もし等しいと、DMAは終了となる。
【0255】 DCMD DMA PAGE COUNT−Bit<15:9>タイプ:RW このフィールドには、DMA動作が及ぶページ数が書き込まれる。この数は、 DMAがスタートしたときに減少され、そして各ページの開始にも減少される。 値1は、DMA動作を単一ページに限定させ、2は2ページからデータを転送さ せ、等々となる。値が0のときは、最終ページが作用される。
【0256】 このレジスタは0を通して減少することはない。このフィールドに0が書き込 まれた場合には、DMAが単一のページのみとなり、1の値が書き込まれた場合 と全く同じである。
【0257】 DCMD DMA INDEX COUNT−Bit<24:18>タイプ: RW このフィールドは、DMAエンジンのページインデックスカウンタへの読み取 りアクセスを与える。この値は、診断テストのために読み取ることができ、バッ ファ比較動作で相違が見つかるページに対するインデックスを決定する。
【0258】 DMA動作は、非ページ整列位置で開始することができる。このフィールドに 非ゼロ値を書き込むと、DMA動作の第1ページに対する初期ページオフセット がセットされる。
【0259】 DCMD CMD−Bit<31:28>タイプ:RW CMDフィールドは、実行されるべき動作の形式を決定する。これについては 表47に示す。
【表47】 注:バッファ比較コマンドは、得られたXORをXBUF102へ書き戻すもの ではない。ゼロコマンドNBUS21読み取り動作は、XBUF102のスペー スをアドレスすることができる。これは、バッファメモリサイクルのオーバーヘ ッドをトランザクションから除去する。
【0260】 オンザフライXOR XORバッファの信号発生をセットアップするために、FXチップ54のPC Xnレジスタへの単一の書き込みが要求される。PCXn:CMD<0>をセッ トすると、XORエンジンがイネーブルされる。同様の番号のバスマスターから のその後のコントローラモジュール10の装置バス62のデータトランザクショ ンは、XBUFへの読み取り−XOR−書き込み動作を開始する。データトラン ザクションは、全てNADDR<31>=1の転送である。従って、全てのバッ ファメモリアドレススペースは二重マップされる。NADDR<31>は、全て のPCXコマンドを認定するのに使用される。SCSI書き込み動作の場合は、 ポートプロセッサ32は、ターゲット選択の後であって、書き込みデータDMA 動作をスタートする前に、それらのPCXnレジスタを書き込む。
【0261】 再選択を伴うSCSIディスク読み取り動作の場合には、ポートプロセッサ3 2は、そのPCXレジスタを、再選択時に、読み取りデータDMA動作の前に、 書き込む。
【0262】 FXチップ54は、ページインデックスカウントを追跡せず、ポートプロセッ サ32が完全なバッファアドレスを与える。従って、FXチップ54は、バッフ ァ転送の完了を追跡しない。オンザフライXOR動作を実行する間のFXチップ 54からプロセッサ28への唯一の割り込みは、エラー検出の場合である。
【0263】 FXチップ54は、XBUF102の読み取り、バッファの書き込み及びXB UF102のクリアを単一のメモリアクセスサイクルで行うことができる。PC Xn:CMD<0>もセットされ、XBUF102のデータとそれ自身とのXO RがXBUF102の位置へ書き戻されて、その位置をクリアする。
【0264】 PCXn:CMD=011#2でありそしてXBUF102のアドレススペー スへの参照がなされた場合には、メモリ書き込み動作は行われない。
【0265】 DMA動作 FXチップ54は、単一のDMAエンジンを有している。このエンジンは、バ ッファメモリのリストからバッファポインタを読み取る。リストの位置は、FX チップ54のDMA間接リストポインタレジスタへ書き込まれた値によって定め られる。DMAコマンドレジスタ(DCMD)がいったん書き込まれると、DM Aエンジンは、リストにおける第1ポインタの単一ロングワード「フェッチ」を 実行する。
【0266】 多ページのDMA動作を行えるようにするために、DMAをチェーン接続する 方法が提供される。ページインデックスカウンタがロールオーバーし(ページを 横断し)そしてDMAページカウントがゼロに達しないときには、単一のロング ワードDMA「フェッチ」動作が開始される。DMA DILPレジスタによっ て指示されたバッファメモリ位置がフェッチされて、DMAページアドレスレジ スタにコピーされる。DMAページカウントがゼロに到達すると、それ以上のD MA「フェッチ」動作は登録されない。DMA最終ページオフセットがDMAイ ンデックスカウントに等しくなると(これらは両方ともDCMDレジスタに見ら れる)、それ以上のDMAは要求されない。
【0267】 DMA動作は、ロングワード境界においてスタートすることができる。DCM DレジスタのDMAインデックスカウントフィールドには、第1ページに対する 最初のロングワードオフセットを書き込むことができる。DMA動作は、最後の ページに対するロングワードオフセットで停止することができる。
【0268】 ゼロ充填動作 XBUF102は、DMZを開始するか又はPCX動作によってゼロ化、即ち クリアすることができる。DMAでXBUF102をゼロ充填するために、DI LP及びバッファメモリに正しいアドレスがセットアップされた後にDCMDレ ジスタに「1000」コマンドが書き込まれる。アドレスはバッファメモリ即ち XBUF102を選択することができる。CSR DMA COMPLETEは ゼロ充填終了時にアサートされる。
【0269】 PCX動作でXBUF102をゼロ充填するために、「011」のPCXコマ ンドがPCXレジスタに書き込まれる。これは、XBUF102のページアドレ スによって指示されたXBUF102メモリをクリアする(インデックスは、N BUS21のアドレスから得られる)。
【0270】 DMAコピー動作 DCMDレジスタに書き込まれた「0001」のコマンドは、バッファメモリ からXBUF102へのコピーを開始する。「0010」のコマンドは、XBU F102からバッファメモリへのコピーを開始する。CSR DMA COMP LETEは、DMAコピーが終了したときにアサートされる。
【0271】 バッファ比較動作 バッファ比較は、DMA又はPCX動作によって開始することができる。「0 100」のDMAコマンドは、バッファメモリにおけるデータと、DILP間接 ポインタに設定されたXBUF102のアドレスとを比較する。比較に差がある と、CSR BUFFER COMPAREがアサートされ、IRQ Lがアサ ートされる。
【0272】 「100」のPCXコマンドは、XBUF102のデータを、NBUS21に 現在あるデータと比較する(NBUS21の読み取り又は書き込みにより)。更 に、「101」のコマンドは、比較に加えて、そのビット差をXBUF102へ 書き込む。比較に差があると、PCX COMPARE CLEAR及びCSR OTF BUFFER COMPARE(x)がセットされる。
【0273】 NBUS21ポートインターフェイス信号ピン バッファ付きのポートプロセッサ32のバス(NBUS21)ポートには、表 48の装置信号ピンが取り付けられる。バスは、アドレス/データマルチプレク ス式のものである。
【表48】 DAL<31:0>H−NBUS21データ/アドレスライン、32ピン、I /O: マルチプレクスされた710バスデータ/アドレスピンである。 DP<3:0>H−NBUS21データパリティライン、4ピン、I/O: 710バスからの奇数バイトデータパリティラインである。 SIZ<1:0>H−NBUS21 SIZeライン、2ピン、I/O: こ れは、バストランザクションの長さを指示する。FXチップ54は、ロングワー ドスレーブアクセス(SIZ=00)のみを受け入れ、バーストDMA転送(S IZ=11)のみを実行する。00及び11以外のSIZの全てのバス転送は、 無視される。 TS L−NBUS21転送スタートライン、1ピン、I/O: これは、バ ッファ付きのポートプロセッサ32のバスTS/ラインである。このラインは、 転送がスタートしそして有効アドレス及び制御ラインがバスにおいてアサートさ れたことを指示する。 TIP L−NBUS21転送進行中ライン、1ピン、I/O: これは、ポ ートプロセッサ32のバスTIP/ラインである。 TA L−NBUS21転送確認、#1ピン、I/O: これは、ポートプロ セッサ32のバスTA/ラインである。 TEA L−NBUS転送エラー確認ライン、1ピン、I/O: これは、ポ ートプロセッサ32のバスTEA/ラインである。 CS L−NBUS21スレーブチップ選択、1ピン、I: これは、スレー ブレジスタのアクセスチップ選択入力である。 XCS L−NBUS21 XBUF102スレーブチップ選択、1ピン、I : これは、XBUF102アクセス用のチップ選択である。 MEMWR L−バッファメモリ読み取り/書き込みライン、1ピン、OUT : FXチップ54は、ポートプロセッサ32のバスの読み取り/書き込みライ ンをバッファメモリへバッファする。これは、XBUF102の位置が読み取ら れるのと同じ転送においてFXチップ54がバッファメモリを書き込みできるよ うにする。 ARBWIN<2:0>H−NBUS21マスターポート、3ピン、I/O: これは、NBUS21のマスターに対する裁定の現在の勝者である。
【0274】 XBUF102ポートインターフェイス信号ピン XBUF102の高速スタティックRAM装置には、表49に示す装置信号ピ ンが取り付けられる。
【表49】 XD<31:0>−XBUF102データライン、32ピン、I/O: これ らラインは、XBUF102のRAMのデータピンに接続される。 XDP<3:0>−XBUF102データパリティライン、4ピン、I/O: これらラインは、XBUF102のRAMのパリティデータピンに接続される。 奇数バイトパリティが全てのXBUF102データと共に記憶される。奇数バイ トパリティはXBUF102の全ての読み取り動作においてチェックされる。 XADDR<18:2>−XBUF102アドレスライン、17ピン、OUT : XPAGEは512バイトページに分割される。これらのラインは、アドレ ス値をXBUF102のRAMチップへと駆動する。32Kx9個の装置の場合 には、XADDR<16:2>ピンが使用され、又は128Kx9個の装置の場 合には、XADDR<18:7>ピンを設けることができる。 XADDR INV<18:17>−XBUF102アドレス反転ライン、2 ピン、OUT: これらのラインは、128Kx9ではなくて更に別の32Kx 9個の装置へと拡張するために設けられている。 XWE−XBUF102書き込みイネーブル、1ピン、OUT: このライン は、XBUF102のRAM書き込みイネーブル(WE L)ラインを駆動する ものである。 XOE<1:0>−XBUF102出力イネーブルライン、2ピン、OUT: このXOEラインは、XBUF102のRAMの出力イネーブル(OE L)ラ インを駆動する。32Kx9個のSRAM装置を用いると、FXチップ54は、 2又は4のサブバンク、即ちXBUF102の128Kバイト(256ページ) 又は256Kバイト(512ページ)を駆動することができる。128Kx9個 のSRAM装置を用いると、FXチップ54は、XBUF102の1Mバイト即 ち2048ページまでを駆動することができる。
【0275】 ポートプロセッサ28のインターフェイス信号ピン ポートプロセッサ28のインターフェイス信号ピンを表50に示す。又、JT AG信号ピンを表51に示す。
【表50】
【表51】
【0276】 NBUS21のパリティエラー NBUS21は、奇数バイトデータパリティを有する。FXチップ54は、N BUS21の全てのデータ転送においてデータパリティをチェックする。
【0277】 XBUF102のパリティエラー XBUF102のポートは、XBUF102の出て行く書き込みデータのパリ ティをチェックする。不良パリティが書き込まれた場合には、CSRにおいてパ リティエラーにフラグが立てられる。このパリティチェックは、NBUS21の パリティチェックディスエイブルビットをCSRにおいてセットすることにより ディスエイブルすることができる。
【0278】 XOR型の動作中に、FXチップ54は、XBUF102のバイトパリティを 計算しなければならない。XBUF102のポートは、XOR型の全ての動作に おいて奇数バイトパリティを計算する。
【0279】 XBUF102の全ての読み取り動作においてパリティがチェックされる。こ れは、XOR型の全ての動作においてパリティが再計算されるために必要とされ る。
【0280】 内部パリティ XBUF102の読み取り動作において、パリティはFXチップ54に通され る。読み取り動作にパリティエラーがあった場合には、CSRにおいてビットに フラグが立てられ、そしてその不良パリティをもつデータがNBUS21から消 される。
【0281】 以上、本考案の原理を特定の装置について説明したが、これらの説明は単なる 例示に過ぎず、本考案の範囲を限定するものではないことを理解されたい。
【図面の簡単な説明】
【図1】本考案の好ましい実施例による記憶装置用のコ
ントローラモジュールを示す詳細な論理ブロック図であ
る。
【図2】図1に個々に示す一対の密接に結合された記憶
装置用コントローラモジュールの全体的な論理ブロック
図で、デュアルコントローラ構成における各コントロー
ラの各キャッシュモジュールを示すと共に、それらの間
のコントローラ間通信を示す図である。
【図3】図2に示す密接に結合された記憶装置用コント
ローラモジュール及び各々のキャッシュモジュールの簡
単な論理ブロック図で、記憶装置用コントローラモジュ
ールと多数のコンピュータ大量記憶装置のバスとの接続
を示す図である。
【図4】図1及び図2の記憶装置用コントローラモジュ
ール及びキャッシュモジュールのダイナミックランダム
アクセスメモリ(DRAM)コントローラ及びアービタ
(DRAB)集積回路チップを示す機能的論理ブロック
図である。
【図5】図1の記憶装置用コントローラモジュールのF
Xチップの簡単な論理図及びレジスタマップである。
【図6】図1の記憶装置用コントローラモジュールの書
き込み診断レジスタ0を示す図である。
【図7】図1の記憶装置用コントローラモジュールの書
き込み診断レジスタ1を示す図である。
【図8】図1の記憶装置用コントローラモジュールの読
み取り診断レジスタ0を示す図である。
【図9】図1の記憶装置用コントローラモジュールの読
み取り診断レジスタ1を示す図である。
【符号の説明】
10 コントローラモジュール12 ホストインターフ
ェイス14 装置ポート16 IBUSデータライン1
8 IBUSアドレスライン19 IBUS20 NB
USデータライン22 NBUSアドレスライン21
NBUS24 MBUS26 CDALバス28 プロ
セッサ30 DRAMバッファ38 DRAB40 コ
ードカード44 I/Dキャッシュ46 ジャーナルR
AM48 DUART50 タイマー54 FXチップ
56 DMAエンジン
───────────────────────────────────────────────────── フロントページの続き (72)考案者 ジェームズ ピー ジャクソン アメリカ合衆国 コロラド州 80918 コ ロラド スプリングス ワイルドウッド ドライヴ 2102 (72)考案者 ロジャー エル オーキー アメリカ合衆国 コロラド州 80908 コ ロラド スプリングス グレン ドライヴ ウェスト パイン ロード 14105 (72)考案者 リチャード ジー ブレイム アメリカ合衆国 コロラド州 80132 モ ニュメント サウス パーク ドライヴ 1270 (72)考案者 ロナルド エイチ マックリーン アメリカ合衆国 コロラド州 80106 エ ルバート マンフィー ロード 12900 (72)考案者 マイケル ディー ウォーカー アメリカ合衆国 コロラド州 80903 コ ロラド スプリングス イースト ウィラ メッテ アベニュー 219 (72)考案者 トーマス エフ フェイヴァ アメリカ合衆国 コロラド州 80919 コ ロラド スプリングス サイレント レイ ン ドライヴ 2327 (72)考案者 トーマス ジーン アダムス アメリカ合衆国 コロラド州 80831 ペ イトン ブラックスミス ドライヴ 17710

Claims (10)

    【実用新案登録請求の範囲】
  1. 【請求項1】 複数のコンピュータ大量記憶装置に作動
    的に接続された第1及び第2のコントローラモジュール
    を具備し、第1のコントローラモジュールは上記複数の
    コンピュータ大量記憶装置の第1サブセットを制御し、
    そして第2のコントローラモジュールは上記複数のコン
    ピュータ大量記憶装置の第2サブセットを制御し、更
    に、上記第1と第2のコントローラモジュール間で通信
    し、上記第1コントローラモジュールの存在を上記第2
    コントローラモジュールに指示すると共に、上記第2コ
    ントローラモジュールの存在を上記第1コントローラモ
    ジュールに指示するための第1信号ラインを具備し、更
    に、上記第1と第2のコントローラモジュールを相互接
    続する通信チャンネルを具備し、上記第1及び第2のコ
    ントローラモジュールは、上記第1信号ライン上のコン
    トローラ存在信号に応答して、上記第1と第2のコント
    ローラモジュール間でこの通信チャンネルを経て通信を
    行えるようにし、そして更に、上記第1と第2のコント
    ローラモジュールを結合する第2の信号ラインと、上記
    第2コントローラモジュールが機能不良を生じたという
    上記通信チャンネル上の指示に応答して上記第1コント
    ローラモジュールが上記第2コントロータモジュールを
    機能的にディスエイブルできるようにする手段と、上記
    第1コントローラモジュールが上記複数のコンピュータ
    大量記憶装置の上記第2サブセットをロック解除してそ
    の制御を引き受ける手段と、適切に機能しているときの
    各コントローラモジュールが、適切に機能しているとき
    の他のコントローラモジュールに対応する大量記憶装置
    の内容を攪乱しないよう防止する手段とを具備すること
    を特徴とするコンピュータ大量記憶装置の制御システ
    ム。
  2. 【請求項2】 各々の第1データ路によって上記第1及
    び第2のコントローラモジュールに作動的に接続された
    第1及び第2のデータキャッシュモジュールを更に具備
    し、これらの第1及び第2のデータキャッシュモジュー
    ルは、更に、上記第1及び第2のコントローラモジュー
    ルを各々上記第2及び第1のデータキャッシュモジュー
    ルに作動的に接続するための別の第2データ路を有し、
    上記第1のコントローラモジュールは、更に、上記複数
    のコンピュータ大量記憶装置の上記第2サブセットの制
    御を引き受けるときに上記第2データ路によって上記第
    2データキャッシュモジュールに作動的に接続される請
    求項1に記載のコンピュータ大量記憶装置の制御システ
    ム。
  3. 【請求項3】 上記第1及び第2の信号ラインと上記通
    信チャンネルは、上記第1及び第2のコントローラモジ
    ュールが電気的に結合されるバックプレーンを構成し、
    上記通信チャンネルは非同期通信チャンネルである装置
    コントローラを備え、該非同期通信チャンネルは第1及
    び第2の単一方向性通信ラインより成り、上記コンピュ
    ータ大量記憶装置の制御システムは、第1及び第2の送
    信クリア信号ラインを更に備えた請求項1に記載のコン
    ピュータ大量記憶装置の制御システム。
  4. 【請求項4】 複数のコンピュータ大量記憶装置に作動
    的に接続される第1及び第2のコントローラモジュール
    を具備し、第1のコントローラモジュールは上記複数の
    コンピュータ大量記憶装置の第1サブセットを制御し、
    そして第2のコントローラモジュールは上記複数のコン
    ピュータ大量記憶装置の第2サブセットを制御し、そし
    て更に、上記第1と第2のコントローラモジュールを相
    互接続する複数の通信ラインを具備し、これら通信ライ
    ンは、上記第1と第2のコントローラモジュール間に構
    成及び動作情報を与えるものであり、更に、これら通信
    ラインは、上記コントローラモジュールのいずれか一方
    によってアサートされて上記コントローラモジュールの
    他方を、該他方のコントローラモジュールからの機能不
    良指示に応答して作動的にディスエイブルするためのコ
    ントローラモジュールディスエイブルラインを備え、更
    に、上記第1のコントローラモジュールが、上記コント
    ローラモジュールディスエイブルラインをアサートする
    ことにより、機能不良の第2コントローラモジュールを
    作動的にディスエイブルできるようにする手段と、上記
    第1のコントローラモジュールが、更に、上記複数のコ
    ンピュータ大量記憶装置の上記第2サブセットへのアク
    セス及びその制御を引き受けるようにする手段とを備え
    たことを特徴とする欠陥許容式のコンピュータ大量記憶
    装置用制御装置。
  5. 【請求項5】 各々の第1データ路によって上記第1及
    び第2のコントローラモジュールに作動的に接続された
    第1及び第2のデータキャッシュモジュールを更に具備
    し、これらの第1及び第2のデータキャッシュモジュー
    ルは、更に、上記第1及び第2のコントローラモジュー
    ルを各々上記第2及び第1のデータキャッシュモジュー
    ルに作動的に接続するための別の第2データ路を有し、
    上記第1のコントローラモジュールは、更に、上記複数
    のコンピュータ大量記憶装置の上記第2サブセットの制
    御を引き受けるときに上記第2データ路によって上記第
    2データキャッシュモジュールに作動的に接続される請
    求項4に記載の欠陥許容式のコンピュータ大量記憶装置
    用制御装置。
  6. 【請求項6】 複数のコンピュータ大量記憶装置に作動
    的に接続される第1及び第2のコントローラモジュール
    を具備し、第1のコントローラモジュールは上記複数の
    コンピュータ大量記憶装置の第1サブセットを制御し、
    そして第2のコントローラモジュールは上記複数のコン
    ピュータ大量記憶装置の第2サブセットを制御し、そし
    て更に、上記第1と第2のコントローラモジュールを相
    互接続する通信媒体を具備し、この通信媒体は、上記コ
    ントローラモジュールの一方が上記システムに含まれた
    ときにその一方のコントローラモジュールから他方のコ
    ントローラモジュールへコントローラの存在を示す指示
    信号を搬送するものであり、この通信媒体は、上記コン
    トローラ存在指示が上記第1及び第2の両コントローラ
    モジュールによって検出されたときに上記第1と第2の
    コントローラモジュール間で通信を行うための複数のコ
    ントローラモジュール通信ラインを含んでおり、更に、
    上記第1コントローラがブートしているというメッセー
    ジを上記第2コントローラに送信する手段と、第2の機
    能不良のコントローラをディスエイブルする手段と、上
    記複数のコンピュータ大量記憶装置の上記第2サブセッ
    トをロック解除し且つそこへのアクセスを得そしてロッ
    ク解除するための手段とを備えたことを特徴とするコン
    ピュータ大量記憶装置用制御システム。
  7. 【請求項7】 各々の第1データ路によって上記第1及
    び第2のコントローラモジュールに作動的に接続された
    第1及び第2のデータキャッシュモジュールを更に具備
    し、これらの第1及び第2のデータキャッシュモジュー
    ルは、更に、上記第1及び第2のコントローラモジュー
    ルを各々上記第2及び第1のデータキャッシュモジュー
    ルに作動的に接続するための別の第2データ路を有し、
    上記第1のコントローラモジュールは、更に、上記複数
    のコンピュータ大量記憶装置の上記第2サブセットの制
    御を引き受けるときに上記第2データ路によって上記第
    2データキャッシュモジュールに作動的に接続される請
    求項6に記載のコンピュータ大量記憶装置の制御システ
    ム。
  8. 【請求項8】 上記複数の通信媒体は、上記第1及び第
    2のコントローラモジュールが電気的に結合されるバッ
    クプレーンを構成し、上記通信媒体を経て上記第1と第
    2のコントローラモジュール間で行われる通信は、非同
    期で行われる請求項6に記載のコンピュータ大量記憶装
    置の制御システム。
  9. 【請求項9】 上記通信媒体は、更に、第1及び第2の
    送信クリア信号ラインを含む請求項8に記載のコンピュ
    ータ大量記憶装置の制御システム。
  10. 【請求項10】 上記一方のコントローラモジュールが
    上記他方のコントローラモジュールをいったんディスエ
    イブルすると、上記他方のコントローラモジュールが上
    記一方のコントローラモジュールを機能的にディスエイ
    ブルすることが除外される請求項6に記載のコンピュー
    タ大量記憶装置の制御システム。
JP1994006188U 1993-06-04 1994-06-01 密接に結合された二重のコントローラモジュールを用いた欠陥許容式の記憶装置用制御システム Expired - Lifetime JP3004861U (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7171093A 1993-06-04 1993-06-04
US08/071710 1993-06-04

Publications (1)

Publication Number Publication Date
JP3004861U true JP3004861U (ja) 1994-11-29

Family

ID=22103077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1994006188U Expired - Lifetime JP3004861U (ja) 1993-06-04 1994-06-01 密接に結合された二重のコントローラモジュールを用いた欠陥許容式の記憶装置用制御システム

Country Status (4)

Country Link
EP (1) EP0632379B1 (ja)
JP (1) JP3004861U (ja)
KR (1) KR100377244B1 (ja)
DE (1) DE69433947T2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3732869B2 (ja) * 1995-06-07 2006-01-11 株式会社日立製作所 外部記憶装置
US5802561A (en) * 1996-06-28 1998-09-01 Digital Equipment Corporation Simultaneous, mirror write cache
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US6065096A (en) * 1997-09-30 2000-05-16 Lsi Logic Corporation Integrated single chip dual mode raid controller
US6654648B2 (en) 2000-04-03 2003-11-25 Toyota Jidosha Kabushiki Kaisha Technique of monitoring abnormality in plurality of CPUs or controllers
WO2001082080A2 (en) * 2000-04-20 2001-11-01 Ciprico, Inc. Network appliance
US6701449B1 (en) 2000-04-20 2004-03-02 Ciprico, Inc. Method and apparatus for monitoring and analyzing network appliance status information
AU2001255523A1 (en) * 2000-04-20 2001-11-07 Ciprico Inc. Method and apparatus for maintaining the integrity of configuration data in redundant, fault tolerant network appliances
US7437425B2 (en) * 2003-09-30 2008-10-14 Emc Corporation Data storage system having shared resource
KR101014040B1 (ko) * 2009-03-19 2011-02-14 (주)인디링스 디램 버퍼 관리 장치 및 방법
US10838815B2 (en) 2018-09-19 2020-11-17 Dell Products L.P. Fault tolerant and diagnostic boot
US11188377B2 (en) * 2019-10-04 2021-11-30 Arm Limited Writing zero data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4205374A (en) * 1978-10-19 1980-05-27 International Business Machines Corporation Method and means for CPU recovery of non-logged data from a storage subsystem subject to selective resets
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5072378A (en) * 1989-12-18 1991-12-10 Storage Technology Corporation Direct access storage device with independently stored parity
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system

Also Published As

Publication number Publication date
EP0632379A2 (en) 1995-01-04
EP0632379B1 (en) 2004-08-18
DE69433947T2 (de) 2005-09-01
KR100377244B1 (ko) 2003-07-07
EP0632379A3 (en) 2001-10-10
DE69433947D1 (de) 2004-09-23
KR950001519A (ko) 1995-01-03

Similar Documents

Publication Publication Date Title
US5790775A (en) Host transparent storage controller failover/failback of SCSI targets and associated units
US6571324B1 (en) Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US5005174A (en) Dual zone, fault tolerant computer system with error checking in I/O writes
US5548711A (en) Method and apparatus for fault tolerant fast writes through buffer dumping
US6161165A (en) High performance data path with XOR on the fly
US4907228A (en) Dual-rail processor with error checking at single rail interfaces
EP0306244B1 (en) Fault tolerant computer system with fault isolation
US5319766A (en) Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US5720028A (en) External storage system
US5491788A (en) Method of booting a multiprocessor computer where execution is transferring from a first processor to a second processor based on the first processor having had a critical error
JP3461825B2 (ja) マルチプロセッサ分散型初期化および自己テストシステム
US5388224A (en) Processor identification mechanism for a multiprocessor system
US7650467B2 (en) Coordination of multiprocessor operations with shared resources
WO1997046941A9 (en) Digital data processing methods and apparatus for fault isolation
EP0979451A1 (en) Digital data processing methods and apparatus for fault isolation
EP0306252A2 (en) Fault tolerant computer system input/output interface
JP3004861U (ja) 密接に結合された二重のコントローラモジュールを用いた欠陥許容式の記憶装置用制御システム
WO1994008293A9 (en) Method and apparatus for operating tightly coupled mirrored processors
WO1994008293A1 (en) Method and apparatus for operating tightly coupled mirrored processors
JPH10105467A (ja) 冗長キャッシュを備えているraidコントローラにおけるキャッシュのコンシステンシーを維持するための方法および装置
US6012127A (en) Multiprocessor computing apparatus with optional coherency directory
JP2004199277A (ja) Biosの冗長管理方法、データ処理装置及びストレージシステム
JP3301992B2 (ja) 電源故障対策を備えたコンピュータシステム及びその動作方法
US7260680B2 (en) Storage apparatus having microprocessor redundancy for recovery from soft errors
Intel