[go: up one dir, main page]

JPH086854A - アウトボードファイルキャッシュ外部処理コンプレックス - Google Patents

アウトボードファイルキャッシュ外部処理コンプレックス

Info

Publication number
JPH086854A
JPH086854A JP6317873A JP31787394A JPH086854A JP H086854 A JPH086854 A JP H086854A JP 6317873 A JP6317873 A JP 6317873A JP 31787394 A JP31787394 A JP 31787394A JP H086854 A JPH086854 A JP H086854A
Authority
JP
Japan
Prior art keywords
data
file
coupled
file cache
outboard
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.)
Pending
Application number
JP6317873A
Other languages
English (en)
Inventor
L Byers Larry
ラリー・エル・バイヤーズ
T Price Felis
フェリス・ティー・プライス
F Torgerson James
ジェイムズ・エフ・トルガーソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Unisys Corp
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 Unisys Corp filed Critical Unisys Corp
Publication of JPH086854A publication Critical patent/JPH086854A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • 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/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 密接に結合されたファイルキャッシュ能力を
提供する、ホストデータ処理システムとともに使用する
アウトボードファイルキャッシュ拡張処理コンプレック
スを提供する。 【構成】 ホスト(10)側のデータムーバはアウトボ
ードファイルキャッシュへのハードウェアインタフェー
スを行ない、ファイルデータおよびコマンドのフォーマ
ット化を行ない、かつ拡張処理コンプレックスからのデ
ータの読出および書込を制御する。ホストインタフェー
スアダプタはデータムーバから送られるファイルアクセ
スコマンドを受けて、キャッシュアクセス制御を行な
う。直接的に結合された光ファイバリンクはデータムー
バの各々をホストインタフェースアダプタの関連するも
のおよび不揮発性メモリ(220)に結合する。

Description

【発明の詳細な説明】
【0001】
【発明の分野】本発明はファイルキャッシング能力を有
するデータ処理システムに関し、より特定的には、ファ
イルキャッシングを管理するためのホストプロセッサシ
ステムに結合された拡張処理コンプレックスに関する。
より特定的には、本発明は関連したホスト処理システム
の外部にあるが密接に結合されている拡張処理コンプレ
ックスに関し、この拡張処理コンプレックスはこのコン
プレックスを非常に信頼度の高いものにする冗長特性を
含んでいる。
【0002】
【一般的背景】データ処理システムの性能は年を経るご
とに劇的に向上してきている。新しい技術によってデー
タ処理システムのすべての機能上の分野で性能が向上し
ているが、その進展の度合いは領域によって異なる。た
とえば、コンピュータの命令が実行される速度の改善は
データが記憶装置から取出され命令プロセッサに供給さ
れる速度の改善をはるかに上回っている。このため、取
引処理方式などの入力/出力に集中したアプリケーショ
ンの性能の向上は、データの取出および記憶の性能によ
って制限されている。
【0003】データ処理システムのスループットレート
と、入出力(I/O)強度と、データ記憶技術との間の
関係はIBM・システムズ・ジャーナル(IBM Systems
Journal )28 No.1 (1989)中のイー・アイ・コーエン
(E. I. Cohen )らによる「記憶ハイアラーキー(Stor
age hierarchies )」で議論されている。この論文で議
論されているような記憶ハイアラーキーの概念は、ここ
では先行技術の議論において用いられる。一般的には、
記憶ハイアラーキーはデータ処理システム内のデータ記
憶コンポーネントからなり、ハイアラーキーのレベルは
上は中央処理装置のキャッシュから下は直接アクセス記
憶装置に及ぶ。記憶ハイアラーキーの最下位レベルに記
憶されたデータにアクセスするためにはI/O動作が必
要である。
【0004】スループットの入出力制限を軽減するため
に、初期のシステムではプロセッサシステム内部にある
高速記憶システムが開発され、ここではアドレス指定さ
れたワードを包括するワードのグループはプロセッサに
よって参照用に記憶つまり「キャッシュされ」、参照毎
にI/Oプロセッサを用いる必要はなかった。このキャ
ッシュ方式概念によりスループットは改善されたが、キ
ャッシュ機能を実現するために必要なプロセッサオーバ
ヘッドは犠牲となった。I/O集中アプリケーションの
性能を制約するI/Oの欠点を緩和するために多様な試
みがなされ、一方で、関連する命令プロセッサに対する
オーバヘッドのインパクトを低減する試みがなされてき
た。I/Oの欠点に対処する3つの方法には、固体ディ
スク、キャッシュディスク、およびファイルキャッシュ
の3つがある。
【0005】固体ディスク(SSD)は、磁気ディスク
または他の大容量記憶装置に記憶されたデータが読出さ
れるかまたは書込まれる電気機械速度が相対的に遅いこ
とに対処するために開発された。SSDはダイナミック
ランダムアクセスメモリ(DRAM)技術を用いて実現
される。DRAMの論理編成は、SSDがエミュレート
している特定の磁気ディスクに対応する。これにより、
ソフトウェアアプリケーションが磁気ディスク上に記憶
されたファイルにアクセスするのと同じ態様でSSD上
に記憶されたファイルにアクセスすることが可能とな
る。ファイルとは関連したデータ記録を記録したもので
あると理解される。
【0006】SSDの磁気ディスクに対する主たる利点
は、磁気ディスクでは電気機械速度でデータの読出また
は書込が行なわれるのに対して、SSDでは電子速度で
行なわれることである。もしアプリケーションが磁気デ
ィスクではなくてSSDに対してかなりの数のディスク
要求を行なう場合は、アプリケーションのスループット
は大幅に改善されるかもしれない。SSDには少なくと
も3つの問題点が存在する。第1に、SSDに対して要
求を行なうデータ経路長は磁気ディスクのデータ経路長
と同じままであること。第2は、SSD記憶装置中の正
しい位置をアドレス指定することに関連するオーバヘッ
ドは、なお命令プロセッサまたは中央処理装置に割当て
られること。第3に、フォールトトレラントなSSD構
成はデータ保全のために2つの書込動作が必要であるこ
と。これら3つの問題点により、処理時間が増大しシス
テムスループットが減少する。
【0007】SSDはデータ記憶ハイアラーキーにおい
て磁気ディスクまたは他のアドレス指定可能な大容量記
憶装置と同じレベルにあるために、SSDに関連した第
1の欠点は解決されていない。参照地点から「ずれてい
る」と考えられ得る、所与のファイル中の特定の場所に
アクセスするためには、ファイルおよびずれは記憶ハイ
アラーキー中に位置しなければならない。そして、ファ
イルがその上に記憶されるSSD、SSDへのアクセス
を与えるディスクコントローラ、ディスクコントローラ
が結合される入出力チャネル、および入出力チャネルを
制御する入出力プロセッサが識別されなければならな
い。これらの処理はすべて命令プロセッサによって実行
される。命令プロセッサがこれらのタスクを実行してい
る間、他のプロセッサは待機しており、このため全体的
なデータ処理スループットレートは減少する。さらに、
ファイルデータへのアクセスを探しているアプリケーシ
ョンソフトウェアは、入出力要求がI/Oチャネルを介
してI/Oプロセッサへ、かつディスクコントローラを
介して所望のディスクへ到達し、アプリケーションソフ
トウェアへのデータ経路をバックアップして命令プロセ
ッサによって実行されるまで待機しなければならない。
【0008】SSDの第2の欠点は、物理ディスクアド
レスに対するファイルアドレスをマッピングし、SSD
スペースの割当を管理するために命令プロセッサが必要
なことである。ファイル要求をマッピングしディスクス
ペースを管理している間、命令プロセッサは他のタスク
を実行することができないため、データ処理システムの
スループットレートが劣化する。もしフォールトトレラ
ント能力が必要ならば2つのSSDが必要なため、SS
Dに関連した第3の欠点は解決されていない。SSDの
フォールトトレランスは、2つのSSDを2つの異なる
データ経路を介してデータ処理システムに結合すること
を含む。バックアップSSDは主SSD上のデータを写
し、主SSDの故障時に使用することができる。バック
アップSSDを主SSDと同期させておくために、命令
プロセッサはファイルの更新時に2つの書込動作、つま
り、主SSDを更新する第1の書込動作とバックアップ
SSDを更新する第2の書込動作とを実行しなければな
らない。このためデータ処理システムのオーバヘッドが
さらに増大され、システムスループットレートが悪くな
る。
【0009】本発明の拡張処理コンプレックスは命令プ
ロセッサの外側にあり、かつ命令プロセッサに密接に結
合されるため、SSDシステムに付随するシステムオー
バヘッドおよび動作の欠点が克服される。キャッシュデ
ィスクサブシステムはディスク上に記憶されたデータの
キャッシングについてのI/O欠点に対処するためにな
された発明である。本発明と同一譲受人に譲渡されたロ
バート・スウェンソン(Robert Swenson)に付与された
米国特許第4,394,733 号は、キャッシュディスクサブシ
ステムを開示している。キャッシュディスクサブシステ
ムは、磁気ディスクへ書込まれるかまたはそこから読出
されるべきデータワードの選択可能なグルーピングをバ
ッファするためにDRAM記憶装置を用い、複数個の磁
気ディスクに関連したデータワードのグルーピングがキ
ャッシュされるようにデータ記憶ハイアラーキーのディ
スクコントローラレベルに位置する。
【0010】キャッシュディスクサブシステムの主たる
利点は、キャッシュされるディスクの部分をアドレス指
定するI/O要求は、ディスクの電気機械速度ではなく
て電子速度で処理されることができる。この利点は重要
であるが、データ記憶ハイアラーキーにおけるキャッシ
ュディスクサブシステムの位置はI/O要求の流れを制
限する。キャッシュディスクサブシステムによって得ら
れたI/Oの性能は、データ経路長と限られたキャッシ
ュ記憶スペースを手に入れようとする多数のファイルと
によって限定される。ディスク記憶装置のキャッシュ動
作はデータ記憶ハイアラーキーのディスクコントローラ
レベルで発生するため、オペレーティングシステムはS
SDについて説明したのと同じ態様で適当なデータ経路
を決定しなければならない。上述のように、長々とした
データ経路はシステム全体のスループットを減少させ
る。
【0011】多数のファイルがキャッシュディスクサブ
システムのキャッシュスペースを手に入れようとしてい
る場合、I/Oの性能利得は過剰なオーバヘッド処理に
よって厳しく制限されるかもしれない。もし2つ以上の
ファイルのI/O要求速度が早く、共通のディスクコン
トローラ下で同一のまたは異なるディスクに記憶される
とすれば、キャッシュディスクサブシステムによって実
行されるかなりの量の処理はオーバヘッドであるかもし
れない。このオーバヘッドは、大半のまたはすべてのキ
ャッシュ記憶装置が使用されており、かつキャッシュデ
ィスクサブシステムのミスの発生率が高い場合に引起こ
される。ミスとは、現在キャッシュ記憶装置に存在しな
いディスクの部分を参照するI/O要求と定義される。
ミスが発生すると、キャッシュディスクサブシステムは
一番最近のI/O要求を割当てるようにキャッシュ記憶
装置のあるセグメントを選択しなければならず(選択さ
れたセグメントは現時点では異なるディスクの異なる部
分を保持しているかもしれない)、かつディスクの参照
された部分を読出し、その読出したものをキャッシュセ
グメントに記憶しなければならない。I/O要求の大半
についてこの処理が必要な場合は、キャッシュディスク
記憶装置の利点はオーバヘッド処理によって失われる。
【0012】上述の問題に対処する一方法としては、高
いアクセス速度を有するファイルを異なる記憶装置コン
トローラの下で別個のディスクに記憶することによって
これらのファイルを分離することである。この解決法は
2つの点で費用がかかる。第1に、物理的にファイルを
分離し、オペレーティングシステムが正しい構成情報を
持つにはマンパワーが必要である。ファイルの位置がい
つI/O速度を妨害するかを検出し、その後、必要に応
じてファイルを再分配するために継続的にモニタが行な
われなければならない。第2に、ファイルを物理的に分
離するためには別のディスク、ディスクコントローラ、
およびキャッシュディスクサブシステムが必要なため、
ハードウェアのコストが莫大なものになる。
【0013】I/Oの欠点を緩和する第3の対策は、フ
ァイルキャッシュ方式である。ファイルキャッシュ方式
は、ファイルデータがデータ処理システムの主DRAM
記憶装置中でバッファされ、かつファイル管理ソフトウ
ェアがファイルバッファについての主記憶装置の割当を
管理するという点で、キャッシュディスクサブシステム
とは異なる。以下の文献においてファイルキャッシュ方
式に関する3つの異なるアプローチが議論されている。
(1)「分散型ファイルシステムにおけるスケールおよ
び性能(Scale and Performance in a Distributed Fil
e System)」ジョン・ハワードら(John Howard et a
l.)著、コンピュータシステムに関するACM会報(AC
M Transactions on Computer Systems)、6 、No.1、
(1988)、51−81、(2)「スプライトネットワークフ
ァイルシステムのキャッシュ方式(Caching in the Spr
ite Network File System )」マイケル・ネルソンら
(Michael Nelson et al. )、コンピュータシステムに
関するACM会報、6 、No.1、(1988)、134 −154 、
(3)「パラレルI/Oネットワーク・ファイルサーバ
・アーキテクチャ(Parallel I/O Network File Server
Architechture)」米国特許第5,163,131 号、発明者エ
ドワード・ロウら(Edward Row et al. )。
【0014】「分散型ファイルシステムにおけるスケー
ルおよび性能」に記載されているファイルキャッシング
は、ワークステーションのネットワークに分散されるフ
ァイルに関する。各ワークステーションは、ワークステ
ーションが管理する各ファイルへのアクセスを与えるた
めにサーバソフトウェアを含む。選択されたファイルへ
のアクセスを探しているワークステーション上のファイ
ルキャッシュソフトウェアは、ファイルへのアクセスを
制御するサーバを位置づけし、サーバソフトウェアから
ファイルデータを要求する。ファイルキャッシュソフト
ウェアは、クライエントのワークステーションのローカ
ルディスク記憶装置上でソフトウェアが受信するファイ
ルデータを記憶する。反対に、「スプライトネットワー
クファイルシステムにおけるキャッシング」に記載され
るファイルキャッシュシステムは、ファイルデータをク
ライエントのワークステーションの主メモリにキャッシ
ュする。各アプローチに関する欠点は容易に明らかとな
る。
【0015】ハワードらのファイルキャッシングに対す
るアプローチを用いると、「キャッシュされた」ファイ
ルデータは、クライエントのワークステーションによっ
て制御されるディスク上に記憶される。つまり、ファイ
ルデータがアクセスされる速度はローカルディスクのア
クセス速度になお依存するということである。さらに、
局所的にキャッシュされたファイルのいかなる更新も、
別のクライエントがファイルにアクセスできるようにな
る前にサーバのバージョンに書込まれなければならな
い。
【0016】ハワードらのアプローチは主メモリアクセ
ス速度でファイルデータへアクセスできるが、このアプ
ローチはなお、ファイルのサーバのバージョンをクライ
エントのキャッシュされたバージョンに合わせておくと
いうオーバヘッドの欠点をなお被る。さらに、クライエ
ントワークステーション上の主メモリの故障時には、フ
ァイルデータが失われることもある。特に、キャッシュ
されたファイルが更新され、クランエントのワークステ
ーションが更新がサーバに送られる前に故障した場合
は、ファイル更新は失われ得る。したがって、動作が完
了することができるようになる前に、クライエントのワ
ークステーション上で発生するファイル更新にファイル
データの整合性を与えるためには、ファイル更新はサー
バワークステーションに伝送され、そのディスク上に記
憶されなければならない。
【0017】米国特許第5,163,131 号はまた、ネットワ
ーク化されたワークステーション環境に適用可能なファ
イルキャッシュアーキテクチャを議論している。この特
許では、ファイルデータはサーバワークステーションの
主メモリ中でキャッシュされる。ネットワーク上の他の
ワークステーションについては、サーバ上でキャッシュ
されたファイルデータにアクセスするためには、ファイ
ルデータの転送用にネットワーク通信が開始されなけれ
ばならない。このため、ネットワーク上のトラヒックの
量およびネットワーク帯域幅によってファイルキャッシ
ングの利点が制限される。
【0018】ファイルキャッシングスキームの現在の状
況には、ディスク上のファイルデータの記憶の安全性
と、主メモリに記憶されたファイルデータを記憶するこ
とによるアクセス速度の増大との間のトレードオフが含
まれる。代替的に、ファイルデータは記憶ハイアラーキ
ー中でディスクにより近い電子メモリに記憶されること
もできるが、アクセス速度は電子メモリまでのアプリケ
ーションからのデータ経路長によって制約される。した
がって、ディスク記憶装置に匹敵するデータの安全性を
なお維持しながら、ファイルキャッシュが高速のI/O
速度を与えることが望ましい。
【0019】本発明の拡張処理コンプレックスは、ファ
イルキャッシングの制御および操作の大半を、ホスト処
理システムの外部だが、同時に、通常のI/Oシステム
から独立した専用の高速通信媒体を介してホスト処理シ
ステムに密接に結合されるように設けることによって、
先行技術のシステムの命令プロセッサオーバヘッドに対
処するものである。先に指摘したように、高い信頼度が
要求される先行技術のキャッシングシステムでは、命令
プロセッサ内部での冗長な処理か、または冗長なI/O
配列が必ず要求される。本発明の拡張処理コンプレック
スは、キャッシュメモリに不揮発性記憶装置を使用し、
かつ冗長キャッシュ管理回路とともに冗長パワークロッ
キング能力を与えて、拡張処理コンプレックス内部の個
々のエレメントのどれが故障してもこの動作を妨げず、
正確なデータファイルが維持されるようにキャッシュを
並列に管理することによって、ファイルキャッシングシ
ステムの信頼度を大幅に向上する。
【0020】
【発明の概要】本発明の目的は、ファイルデータがホス
ト処理システムの主メモリ中に存在しない場合に、ファ
イルデータへのアクセスが行なわれる速度を増大するこ
とである。他の目的は、ホスト処理システムに対して不
揮発性である記憶装置中のファイルデータをキャッシュ
することである。本発明のさらに他の目的は、関連した
ホスト処理システムによって命令されるようにデータフ
ァイルのキャッシングを管理するための拡張処理コンプ
レックスを提供することである。
【0021】本発明のさらに他の目的は、専用の高速伝
送システムによってホスト処理システムを介して密接に
結合される拡張処理コンプレックスを提供することであ
る。本発明のさらに他の目的は、関連したホスト処理シ
ステムの外部にあるフォールトおよびフェールトレラン
トな拡張処理コンプレックスを提供することである。本
発明のさらに他の目的は、改良された拡張処理コンプレ
ックスを提供することであり、冗長な不揮発性記憶装置
を使用してファイルキャッシュを管理し、各ファイルキ
ャッシュ動作の同一のコピーを与える。
【0022】本発明のさらに他の目的は、別個のパワー
ドメインを使用する、フォールトおよびフェールトレラ
ントな拡張処理コンプレックスまたはアウトボードファ
イルキャッシングを提供することである。本発明のさら
に他の目的は、同期され、かつ独立した電源から電力を
個々に与えられる複数の独立したクロックソースを用い
る、改良された拡張処理コンプレックスを提供すること
である。本発明のさらに他の目的は、冗長処理経路およ
び冗長伝送経路を用いてファイルキャッシュ操作を並列
に実行し、冗長不揮発性ファイルキャッシュメモリシス
テムの関連した部分に記憶する、拡張処理コンプレック
スを提供することである。
【0023】本発明のさらに他の目的は、コマンドおよ
びファイルデータの伝送が処理システムに密接に結合さ
れるように、関連したホスト処理システムに光ファイバ
リンクで結合される、拡張処理コンプレックスを提供す
ることである。本発明のさらに他の目的は、1つ以上の
関連ホスト処理システムから受信したコマンドによって
駆動される関連したマイクロシーケンサの制御下で、フ
ァイルを冗長不揮発性メモリシステムへ、かつそこか
ら、経路指定することができる、拡張処理コンプレック
ス内部のHUBおよびストリートアーキテクチャを提供
することである。
【0024】本発明のさらに他の目的は、ファイルデー
タをキャッシュ記憶装置からファイルデータが存在する
記憶装置へとライトバック、つまりデステージするのに
必要な処理を最小にすることである。さらに他の目的
は、共有キャッシュ記憶装置中の複数個のホスト処理シ
ステムからファイルデータをキャッシュすることであ
る。さらに他の目的は、複数個のホスト処理システム間
で共有されるファイルデータをキャッシュすることであ
る。
【0025】本発明に従えば、上述した目的および利点
ならびに他の目的および利点は、アウトボード(outboa
rd)ファイルキャッシュをホストファイルデータ処理シ
ステムに結合することによって達成される。ホストは、
論理ファイル識別子および論理オフセットを含むファイ
ルアクセスコマンドを発行する。アウトボードファイル
キャッシュは、ファイルディスクリプタテーブルおよび
キャッシュされたファイルの電子ランダムアクセス記憶
装置のためのキャッシュメモリを含む。ファイルディス
クリプタテーブルは、キャッシュ記憶装置中のファイル
の一部の論理ファイル識別子とオフセットとを記憶す
る。キャッシュ検出論理はファイルディスクリプタテー
ブルとインタフェースされ、ホストからファイルアクセ
スコマンドを受信する。ファイルディスクリプタテーブ
ルは、ファイルアクセスコマンドによって参照されたフ
ァイルの部分がキャッシュメモリ中に存在するかどうか
を判別するために使用される。キャッシュアクセス制御
はキャッシュ検出論理に応答して、もしキャッシュアク
セスコマンド中で参照されたファイルの部分がキャッシ
ュメモリ中に存在すれば、所望のアクセスが与えられ
る。アウトボードファイルキャッシュは別個に電力を与
えられる記憶システムであるため、ホストの主メモリに
対して不揮発性である。参照されたデータがキャッシュ
記憶装置中に存在する場合は、ファイルアクセスコマン
ド中で参照されたファイルデータを物理記憶装置および
ファイルデータが記憶されるバッキングストアの物理ア
ドレスにマッピングするには、ホストもアウトボードフ
ァイルキャッシュも不要である。
【0026】アウトボードファイルキャッシュ拡張処理
システムは、関連したホストファイルデータ処理システ
ムに密接に結合される。「密接に結合される」というの
は、ホストの入出力セクションからアウトボードファイ
ルキャッシュ拡張処理コンプレックスへと伸びるダイレ
クトな2地点間の伝送経路を意味する。ホストデータ処
理システムがそのメモリセクションのアドレス指定アー
キテクチャ中にアウトボードファイルキャッシュを直接
含んでいないという意味では直接的には結合されていな
いが、ホスト処理データシステムでは、キャッシュされ
るべきファイルデータ信号が適切にパケットにアセンブ
ルされ、そのファイル自体を参照してアドレス指定され
なければならない。データムーバ回路は、キャッシュさ
れるべきファイルデータ信号を伝送し、かつキャッシュ
され取出されたファイルデータ信号を読出すための制御
コマンドをフォーマット化し確立する。データムーバ回
路はまた、関連したデータリンクを介して信号を駆動し
かつ受信するように制御する。
【0027】光ファイバデータリンクは、アウトボード
ファイルキャッシュ拡張処理コンプレックスへ、かつそ
こからデータファイル信号およびコマンド信号を伝送す
るために使用される。本発明のアウトボードファイルキ
ャッシュ拡張処理コンプレックスは、2重のキャッシュ
されたファイル信号を記憶しかつ取出すために、冗長不
揮発性ファイルキャッシュ記憶装置を用いる。冗長不揮
発性ファイルキャッシュ記憶装置に結合されるファイル
キャッシュ記憶装置インタフェースは、ホストファイル
データ処理システムから受信した制御コマンドに従って
2重のキャッシュされたファイル信号のキャッシュ動作
および取出動作を制御する。インデックスプロセッサ手
段は、ファイルキャッシュ記憶装置インタフェース手段
に結合され、かつ双方向HUBおよびストリートバス構
造を介してファイルデータ信号およびコマンド信号の伝
送を制御するように動作する。ホストインタフェースア
ダプタ手段は、リンクを介してデータムーバ手段へ送ら
れるべき信号を確立し、かつデータムーバ手段からリン
クを介して受信した信号を拡張処理コンプレックスで使
用可能な信号レベルに変換するための制御回路を含む。
ホストインタフェースアダプタ手段は、第1のレベルの
選択を行ない、アウトボードファイルキャッシュ中に記
憶されたファイルデータ信号のキャッシュ動作および取
出動作を制御する。インデックスプロセッサ手段はファ
イルキャッシュ記憶装置インタフェース手段に結合さ
れ、かつ冗長不揮発性ファイルキャッシュ記憶手段へ
の、およびそこからのファイルデータ信号およびコマン
ド信号の伝送を制御する。
【0028】キャッシュされるべきファイルデータ信号
は、エラーに対する冗長性および弾力性を与えるため
に、冗長不揮発性ファイルキャッシュ装置の別個の部分
の2重ファイルに記憶される。制御およびアクセス回路
はすべて、完全なセットが冗長不揮発性ファイルキャッ
シュ記憶装置の各半分に適用できるように複製にされ
る。キャッシュされたファイル信号の冗長なコピーを与
えることにより、どの制御回路またはアクセス回路が故
障してもシステムの故障は発生せず、アクセスが維持さ
れている冗長不揮発性ファイルキャッシュ記憶装置の部
分から、キャッシュされたファイルデータ信号を回復す
るように対処する。
【0029】拡張処理コンプレックスシステムの弾力性
の他の局面は、冗長不揮発性ファイルキャッシュ記憶装
置および2つの別個の独立した電力源から駆動される複
製制御回路によって確立される。もしシステムの一方の
半分に電力異常が発生しても、システムのバランスは他
方の独立したパワードメインソースによって機能を続け
る。冗長不揮発性ファイルキャッシュ記憶装置と冗長制
御およびアクセス回路ならびにパワードメインとを使用
することにより、冗長クロック信号分布システムを与え
ることもまた有利であるということが発見されている。
クロック分布システムの一方は冗長不揮発性ファイルキ
ャッシュ記憶装置および関連した制御回路の一部分をク
ロックし、一方、クロック分布システムの他方は冗長不
揮発性ファイルキャッシュ記憶装置ならびにそれに関連
した制御およびアクセス回路の他方部分をクロックす
る。冗長なファイルキャッシュを並列に進めるために、
冗長クロック分布システムはファイルデータ信号のキャ
ッシュが常に調和した状態にとどまるように互いに同期
する。
【0030】本発明はまた、複数ホストデータ処理シス
テムによるアウトボードファイルキャッシュ拡張処理コ
ンプレックスの使用を企図する。概して、各ホストがア
ウトボードファイルキャッシュ拡張処理コンプレックス
に結合された少なくとも2つの相互接続リンクおよび2
つのデータムーバ回路を持つことは有利であり、このた
め、いかなるデータムーバまたはリンクの故障によって
もキャッシュされたファイルデータ信号の利用可能性が
絶たれることはない。本発明の他の局面では、第1およ
び第2のホストがアウトボードファイルキャッシュに結
合される。アウトボードファイルキャッシュ拡張処理シ
ステム中のキャッシュメモリは、第1のホストのファイ
ルと第2のホストのファイルとの間で共有される。アウ
トボードファイルキャッシュは2重のキャッシュ検出論
理セクションを含む。キャッシュ検出論理セクションの
各々は第1のホストまたは第2のホストのどちらからの
ファイルアクセスコマンドも処理することができ、各セ
クションは他方のセクションと同時に動作する。アウト
ボードファイルキャッシュは第1のキャッシュアクセス
制御セクションと第2のキャッシュアクセス制御セクシ
ョンとを含む。第1のキャッシュアクセス制御セクショ
ンは第1のホストのためのキャッシュ記憶装置へアクセ
スを与えるためのものであり、かつ第2のキャッシュア
クセス制御セクションは第2のホストのためのキャッシ
ュ記憶装置へアクセスを与えるためのものである。
【0031】本発明のさらに他の目的および利点は、添
付の図面および以下の好ましい実施例の詳細な説明から
当業者には容易に明らかとなるであろう。以下の説明で
は、本発明を実行するために企図されるベストモードを
示すことによって好ましい実施例が示される。もちろん
本発明には他の異なる実施例が可能であり、本発明の精
神および範囲を逸脱することなく様々な明白な点につい
て細部をいくつか修正することができる。したがって、
添付の図面および以下の好ましい実施例の詳細な説明は
本来例示的であるとみなされ、公告によって保護される
べきものは前掲の特許請求の範囲で規定される。
【0032】ホストデータ処理システムの外部にあるキ
ャッシュされたデータ信号のキャッシュおよび取出の制
御により、キャッシュされたファイル信号を確立し、維
持し、かつ使用するために必要な制御および処理の大半
が免除されたホストを介して、データ処理システム全体
のスループットが大幅に増大する。
【0033】
【好ましい実施例の説明】
A.ホストデータ処理システム 図1は例示的なデータ処理システム、つまり「ホスト」
または「ホスト処理システム」を示し、本発明はこのシ
ステムとともに用いられる。示されるホスト10アーキ
テクチャは、ユニシス・コーポレイション(Unisys Cor
poration)から購入可能な2200/900シリーズデ
ータ処理システムのものであり、メインフレームシステ
ムからワークステーションシステムに至る他の命令プロ
セッサ、入出力処理装置、および主メモリシステムは、
本発明で用いられるようにホストとして機能することが
できると理解されたい。
【0034】命令プロセッサ(IP)12は、システム
の基本命令実行ユニットである。この構成では、12−
1ないし12−8と符号を付けられた8つのIPが存在
し、システムは1つ以上の係るIPを含み得る。各IP
は、命令用のセクションとオペランド用のセクションと
を有する第1レベルのキャッシュ(図示せず)を含む。
IP12は、メモリから命令を呼出し、メモリからデー
タを読出し、命令を実行し、その結果を記憶し、かつ一
般にはデータ操作を行なうように機能する。IP12の
各々は、13−1ないし13−8とそれぞれ符号を付さ
れたケーブル13を介して14−1ないし14−4とそ
れぞれ符号を付された記憶コントローラ(SC)14へ
直接結合される。SC構成の動作は、本発明の譲受人に
譲渡され、本出願と同時係属中である、1991年9月
19日出願の米国特許出願連続番号第07/762,276号の
「マルチレベルのキャッシュされた高性能マルチプロセ
ッサシステム用データコヒーレンシープロトコル(DATA
COHERENCY PROTOCOL FOR MULTILEVEL CACHED HIGH PER
FORMANCE MULTIPROCESSOR SYSTEM)」発明者ケンイチ・
ツチダ、トーマス・アデルマイヤ、グレン・アール・ク
レグネス、ゲイリー・ジェイ・ルーカス、ハイジ・ガッ
ク、およびフェリス・プライス(死亡)(Kenichi Tsuc
hiya, Thomas Adelmeyer, Glen R. Kregness, Gary J.
Lucas, Heidi Guck, and Ferris Price )に記載され
る。この出願では、SCはSC間の通信、および関連し
たMSUSとIPとIOCとの間の通信の制御を行なう
と考えればよい。2200/900データ処理システム
のある構成は、各々が2つの直接結合されたIP12を
有する4つのSC14を含む。各SC14は16−1な
いし16−8と符号を付された関連した主記憶装置ユニ
ット(MSU)16へのアクセスを与える論理および相
互接続を提供する。MSUはホスト10の高速主ランダ
ムアクセスメモリを含む。各SC14は、2つの関連し
た直接結合されたMSU16、2つの関連した直接結合
されたIP12、および2つの関連した直接結合された
IOC32へのアクセスをコントロールする。18−1
ないし18−8と符号を付されたケーブル18はMSU
をそれぞれのSC14へ結合する。
【0035】SC14は、すべてのIP12を緊密に結
合されたシステム中で結び付ける相互接続論理を含む。
SC1はケーブル20を介してSC2に結合され、SC
1はケーブル22を介してSC3に結合され、SC1は
ケーブル24を介してSC4に結合され、SC2はケー
ブル26を介してSC3に結合され、SC2はケーブル
28を介してSC4に結合され、かつSC3はケーブル
30を介してSC4に結合される。各IP12はSCを
介してホスト10の各MSU16にアドレス指定でき
る。たとえば、SCの相互接続により、IP6がMSU
8のアドレス指定可能なメモリへのアクセスを持つこと
ができる。IP6で発生するメモリ要求は、まず14−
3と符号を付されたSC3へ送られ、SC3はメモリ要
求を14−4と符号を付されたSC4へ送り、SC4は
アドレス指定可能なメモリの部分へアクセスし、かつ所
望によりSC4 14−4はSC3 14−3へデータ
を戻し、SC3 14−3はこれによりデータをIP6
へ送る。
【0036】各SC14はまた、32−1ないし32−
8と符号を付された2つの入出力コンプレックス(IO
C)32のためにインタフェースを与える。34−1な
いし34−8と符号を付されたケーブル34は、IOC
32の各々をそれぞれのSC14に結合する。IOC3
2の各々は複数の入出力プロセッサ(IOP、図示せ
ず)を含んでもよい。IOPは周辺装置へ書込むために
MSU16からデータを読出し、かつMSU16へ書込
むために周辺装置からデータを読出す。周辺装置は、プ
リンタ、テープドライブ、ディスクドライブ、ネットワ
ーク通信プロセッサ等を含み得る。
【0037】2200シリーズデータ処理アーキテクチ
ャは、ホスト10が1つ以上の独立した動作環境に論理
的に区分されることを可能にする。各独立した動作環境
はパーティションと称される。1つのパーティションは
それ自身のオペレーティングシステムソフトウェアを有
し、このソフトウェアはパーティション内の資源の割当
を管理する。パーティションは独自のオペレーティング
システムを持っているため、これはまたホストと称すこ
ともできる。たとえば、ホスト10を用いると、4つの
ホストに区分することができ、第1のホストはSC1に
伴う資源を有し、第2のホストはSC2に伴う資源を有
し、第3のホストはSC3に伴う資源を有し、かつ第4
のホストはSC4に伴う資源を有する。
【0038】図2は例示的ホストの入出力コンプレック
ス32のアーキテクチャを示す。入出力リモートアダプ
タ(IRA)36は非インテリジェントアダプタであ
り、これはケーブル34上の関連したSC14と、38
−1ないし38−12と符号を付された関連したIOP
38との間で入出力バス40を介してデータおよびメッ
セージを転送する。IRA36は入出力バス40上で利
用可能な13の物理的ドロップアウトのうちの1つの物
理的ドロップアウトを占有し、入出力バス40に接続さ
れるどのユニットよりも高い優先順位を有する。IRA
36はいかなる回転優先動作にも参加せず、入出力バス
に結合された他のユニットが回転優先モードで動作して
いるときでも通常の要求プロセスを介して入出力バス2
6へのアクセスを獲得することができる。
【0039】入出力バス40は、取付けられたユニット
間でデータを転送するための通信経路およびプロトコル
を与える。入出力バス40は12の入出力プロセッサ3
8を収容できる。バスアーキテクチャは当該技術分野で
は周知であり、本発明用には示された入出力バスをこれ
以上議論することは不必要であると理解されたい。IO
P38は、ソフトウェア発生I/Oチャネルプログラム
に関連した、起動、データ転送、および終了シーケンス
を制御するマイクロプロセッサ制御されたユニットであ
る。起動および終了シーケンスはマイクロプロセッサ
(図示せず)によって実行され、かつデータ転送はハー
ドワイヤードロジック(図示せず)によって制御され
る。各IOP38はデータバス42に結合され、データ
バス42は、最大4つまでの44−1ないし44−4と
符号を付されたブロックマルチプレクサチャネルアダプ
タ44、およびワードチャネルアダプタ46のための利
用可能なスロットを有する。チャネルアダプタ44およ
び46は、48−1ないし48−4と符号を付されたケ
ーブル48およびケーブル49を介して各周辺サブシス
テムに結合される。IOP2、IOP3、…およびIO
P12の各々は関連したデータバス(図示せず)に結合
されることに留意されたい。図示されない他の11のデ
ータバスは、他のチャネルアダプタ用の接続を与える。
50−1ないし50−12と符号を付されたライン50
は、IOP1、IOP2、IOP3、…およびIOP1
2と関連したデータバスとの間の結合を表わす。
【0040】B.先行技術のデータ記憶ハイアラーキー 図3はさまざまな先行技術のディスクサブシステム構成
に結合された複数個のホストのブロック図である。図3
は構成と構成との間のハイアラーキー的関係を示す。1
0−1ないし10−Nと符号を付された各ホスト10
は、48−1ないし48−Nと符号を付されたケーブル
48によって1つ以上の制御ユニット80、82、88
または92に結合される。ホスト−1は制御ユニット8
0および82に結合される。制御ユニット80は、84
−1ないし84−Pと符号を付された磁気ディスク84
へのアクセスを与え、かつ制御ユニット82は86−1
ないし86−Qと符号を付された磁気ディスク86への
アクセスを与える。ホスト−1上のアプリケーションソ
フトウェアが磁気ディスク84または86のいずれか上
に記憶されたファイルへのアクセスを要求すれば、オペ
レーティングシステムソフトウェアは次のものを見つけ
ることが要求される。(1)ファイルが記憶されるディ
スク84または86、(2)制御ユニット80または8
2のどちらが識別された磁気ディスクへのアクセスを与
えるか、(3)選択された制御ユニットが結合されるI
OP38(図2参照)、および(4)IOP38が結合
される入出力バス40。必要な情報が決定されると、制
御プログラムが構築され、特定されたデータ経路に沿っ
て送られ、ファイルへのアクセスを与える。ファイルデ
ータはファイルデータの取出速度を向上させるようにホ
スト−1の主記憶装置16中でバッファされ得るが、フ
ァイルデータはデータ損失を防ぐために適切なディスク
84または86にライトバック(デステージ)されなけ
ればならない。
【0041】制御ユニット82はホスト−1、ホスト−
2およびホスト−3に結合され、かつこれらのホストに
よって共有される。結合されたホストの各々はディスク
86−1ないし86−Q上に記憶されるデータへのアク
セスを獲得できる。ユニシス・コーポレイションから購
入可能なマルチホストファイル共有(MHFS)システ
ム(図示せず)により、ホスト−1、ホスト−2、およ
びホスト−3上のアプリケーションソフトウェアがディ
スク86に記憶されたファイルデータを共有し、かつロ
ッキングファイルまたはその一部を調整することが可能
となる。
【0042】ホスト−3はキャッシュディスクコントロ
ーラ88に結合される。キャッシュディスクコントロー
ラ88は、90−1ないし90−Rと符号を付されたデ
ィスク90へのアクセスを与え、ディスク90の一部分
をバッファする。キャッシュディスクコントローラ88
がディスク90をバッファするために用いるキャッシュ
記憶装置(図示せず)は、キャッシュディスクコントロ
ーラ88の内部に存在する。この構成は上記の米国特許
第4,394,733 号に記載されているキャッシュディスクサ
ブシステムの一例であり、係る構成はなお例示的構成中
ではIOCのデータ経路にあることがわかるが、IPの
キャッシングオーバヘッドおよび負担を取除こうとする
先行技術の試みである。キャッシュディスクコントロー
ラ88の動作はホスト−3上のアプリケーションおよび
システムソフトウェアには見えない。キャッシュ記憶装
置は、ディスク90に記憶されたファイルへのアクセス
を有するすべてのアプリケーションおよびシステムソフ
トウェアに対して先入れ先出し方式で割当てられる。
【0043】制御ユニット92はホスト−Nに結合さ
れ、94−1ないし94−Sと符号を付されたディスク
94および固体ディスク96へのアクセスをコントロー
ルする。固体ディスク96はデータ記憶ハイアラーキー
のディスク94のレベルにあり、ディスク94の電気機
械速度ではなく電子速度で、その中に記憶されたデータ
へアクセスする。固体ディスク96に記憶されたデータ
へのアクセスを得るためには、ディスクが存在するデー
タ経路はディスク84に関して上に議論したのと同じ態
様で構成されなければならない。
【0044】C.ファイルキャッシュシステムの概要 図4はデータ記憶ハイアラーキー中のアウトボードファ
イルキャッシュを示す。104−1…104−Nと符号
を付された複数個の制御ユニット104は、ディスク1
06−1、106−2、…、106−Pおよび106−
N1、106−N2、…106−NQへのアクセスを与
えるために、IOP38−1および38−2を介してホ
スト10に結合される。ホスト10上で実行するアプリ
ケーションおよびシステムソフトウェアは、ファイル1
08a−hからデータを読出し、かつそこへデータを書
込む。ファイル108a−hはブロックで表わされる
が、データは必ずしもディスク106上に隣接して記憶
される必要はないと理解されたい。これらのディスクは
ファイルを保持するためにバッキングストアを与える。
記憶ハイアラーキーにおいては、これらのディスクは2
次記憶装置のカテゴリに入り、1次記憶装置はホストの
主メモリである。
【0045】拡張処理コンプレックス(XPC)102
は、データ損失に対する弾力性を有する、ディスク10
8に匹敵するファイル108a−hのためのキャッシュ
記憶装置を与えるアウトボートファイルキャッシュであ
る。データムーバ110は、ホスト中で入出力バス40
(図2参照)に結合され、かつIOP38−1および3
8−2と同じように機能する。ホスト10中のデータム
ーバはXPCに密接に結合された直接高速通信リンク1
12を与える。好ましい実施例では、リンク112は光
ファイバインタフェースを含み、これについては後ほど
詳細に説明する。ファイル108の全体または一部は、
アウトボードファイルキャッシュ102、およびキャッ
シュされるべく選択されたファイル108のサイズおよ
び数に依存してXPC102に記憶され得る。
【0046】XPC102のアウトボードファイルキャ
ッシュに記憶されるファイル108a−hの部分は、ブ
ロック114a−hとして示される。各ファイル108
のキャッシュされた部分は説明用としてファイル−
A′、ファイル−B′、…ファイル−H′と符号を付さ
れる。ファイル−A′114aは、アウトボードファイ
ルキャッシュ102に記憶されたファイルAの全体また
は一部であり、ファイル−B′114bはXPC102
のアウトボートファイルキャッシュに記憶されたファイ
ル−Bのすべてまたは一部であり、以下ファイルCない
しHについてもそれぞれ同様である。アウトボードファ
イルキャッシュが記憶ハイアラーキーのこのレベルに存
在することで、キャッシュされたファイルへの参照がア
ウトボードファイルキャッシュXPC102へ即座に送
られて処理されることが可能となり、反対に、キャッシ
ュされないファイルでは、I/Oチャネルプログラムは
正しいディスクへアクセスするように構成されなければ
ならず、かつ要求およびデータはおそらくは長々とした
データ経路を介して流れなければならない。
【0047】図5は図4に示したデータ記憶ハイアラー
キー内のファイル処理全体を示す。処理はステップ12
2で始まり、ここではホスト10上で実行するソフトウ
ェアアプリケーションが、選択されたファイルへのアク
セスを要求する。アクセス要求は選択されたファイルか
らのデータの読出またはそこへのデータの書込のいずれ
かを含み得る。ステップ124ではファイルアクセスコ
マンドがアウトボードファイルキャッシュXPC102
へ送られる。ファイルアクセスコマンドに含まれるの
は、動作がその上で実行されるべきファイルを特定する
ファイル識別子と、ファイル中のどこで動作を開始すべ
きかを正確に特定するファイルの始まりからのオフセッ
トと、ファイルから読出されるか、またはファイルへ書
込まれるべきデータの量である。判別ステップ126で
は、アウトボードファイルキャッシュXPCは、ファイ
ル識別子、オフセット、および量に基づいて、参照され
たデータがアウトボードファイルキャッシュ中に存在す
るかどうかを判別する。もし参照されたデータがアウト
ボードファイルキャッシュ102中にはなければ、制御
経路128はステップ130へ進む。
【0048】ステップ130は、データを適切なディス
ク106(図4参照)からアウトボードファイルキャッ
シュXPC102へステージングすることを含む。デー
タをステージングすることは、必要なデータを選択され
たディスクから読出し、その後、そのデータをアウトボ
ードファイルキャッシュに記憶することを含む。ステー
ジングされたデータへのそれに続く参照は、通常はミス
を生じず、このためデータはアウトボードファイルキャ
ッシュ中でアクセスされることができる。もし判別ステ
ップ126が参照されたデータがアウトボードファイル
キャッシュ102中にあると判定すれば、制御経路13
2はステップ134に進み、そこで参照されたデータに
対してアクセスが与えられる。
【0049】1.機能的ブロック図 図6はアウトボードファイルキャッシュシステムの好ま
しい実施例のハードウェアおよびソフトウェアコンポー
ネントの機能的ブロック図である。システム全体は、ホ
スト10およびアウトボードファイルキャッシュXPC
102の両方中のハードウェアおよびソフトウェアエレ
メントからなる。ホスト10上のソフトウェアはブロッ
ク202、204、206、および208で示される。
これらのブロックは結合されてソフトウェアエレメント
間の相関関係およびソフトウェアインタフェースを示
す。ソフトウェアエレメントまたはプログラムは実行用
に主記憶ユニット16(図1参照)に記憶される。プロ
グラムはディスク106(図4参照)からロードされ得
る。ソフトウェアプログラムはIPによって実行され
る。オペレーティングシステムソフトウェア(図示せ
ず)は、さまざまなソフトウェアエレメントの実行を命
令しかつ制御する。
【0050】アプリケーションソフトウェア202はエ
ンドユーザに対してデータ処理機能を与え、かつ銀行取
引処理や航空会社の予約システム等のアプリケーション
を含む。アプリケーションソフトウェア202によって
保たれるデータベースは、図4に示されるように1つ以
上の例示的ファイル108に記憶され得る。ファイル管
理ソフトウェア204、入出力ソフトウェア206、お
よびファイルキャッシュハンドラソフトウェア208
は、すべてオペレーティングシステム(図示せず)の一
部である。一般に、ファイル管理ソフトウェア204は
ファイル制御構造全体を管理し、特に、ファイルの生
成、削除、開放、および閉鎖を処理する。
【0051】入出力ソフトウェア206は、ホスト10
に結合されたさまざまなI/O装置の各々に対してソフ
トウェアインタフェースを与える。図中では特に示さな
いが、I/O装置はネットワーク通信プロセッサ、磁気
ディスク、プリンタ、磁気テープ、および光ディスクを
含み得る。入出力ソフトウェア206はチャネルプログ
ラムを構築し、このチャネルプログラムを選択された適
切なIOP38へ与え、かつ適切な時間に制御を要求プ
ログラムへ戻す。ファイルキャッシュハンドラソフトウ
ェア208はキャッシュされたファイルのための処理全
体を調整する。一般に、ファイルキャッシュハンドラソ
フトウェア208はアウトボードファイルキャッシュX
PC102に対してオペレーティングシステムレベルの
インタフェースを与え、ディスク106からのファイル
データをアウトボードファイルキャッシュXPC102
へステージングし、かつアウトボードファイルキャッシ
ュXPC102からのファイルデータをディスク106
へデステージングする。ファイルキャッシュハンドラソ
フトウェア208はファイルデータおよびファイルアク
セスコマンドをアウトボードファイルキャッシュへのハ
ードウェアインタフェースへ主記憶装置16を介して与
える。主記憶装置16はライン210によって入出力バ
ス40に結合される。ライン210は、論理的には図1
および図2の記憶コントローラ14および入出力リモー
トアダプタ36を表わす。
【0052】データムーバ(DM)110aは、アウト
ボードファイルキャッシュXPC102へハードウェア
インタフェースを与える。2つのDM110aおよび1
10bが示されるが、このシステムは通常動作には2つ
のDMは必要としない。同一のキャッシュ機能を処理す
る2つのDMを有する構成は、フォールトトレラントな
動作を与え、つまり、もしDM110aが故障すれば、
DM110bがファイル要求の処理が可能となる。各D
Mはホスト10の入出力バス40に結合される。ファイ
ルキャッシュハンドラソフトウェア208は、入出力バ
ス40に結合された各DM中でファイルアクセスコマン
ドを分散する。もしDM110aが故障すれば、DM1
10aの待ち行列に入れられたファイルアクセスコマン
ドはDM110bに再分配される。
【0053】DM110aおよび110bはIOP38
(図2参照)と同じ働きをし、つまり、周辺装置からデ
ータを読出しかつ周辺装置へデータを書込む。DMはI
P12の助けを借りずに主記憶装置16からデータを読
出し、かつそこへデータを書込むことができる。DMは
ファイルキャッシュハンドラソフトウェア208とアウ
トボードファイルキャッシュXPC102との間でファ
イルアクセスコマンドの処理を調整し、かつ主記憶装置
16とアウトボードファイルキャッシュとの間でファイ
ルデータを移動させる。各DMは、アウトボードファイ
ルキャッシュXPC102内の関連したホストインタフ
ェースアダプタ(HIA)214論理セクションに結合
される。DM110aは、ライン112aとして示され
る一対の光ファイバケーブルによってHIA214aに
結合され、かつDM110bはライン112bとして示
される第2の一対の光ファイバケーブルによってHIA
214bに結合される。光ファイバの相互接続について
は後により詳しく説明する。
【0054】アウトボードファイルキャッシュXPC1
02は、ファイルアクセスコマンドを処理するために冗
長パワー、冗長クロック、冗長記憶装置、冗長記憶アク
セス経路、および冗長プロセッサから構成され、これら
はすべてファイルデータを記憶し操作するためにフォー
ルトトレラントなアーキテクチャを協働して与える。ア
ウトボードファイルキャッシュXPC102は2つの電
源222aおよび222bによって電力を与えられ、こ
れらの電源はXPC内部に独立したパワードメインを与
える。点線224の左側のXPCの部分は電源222a
によって電力を与えられパワードメインAと称され、か
つ点線224の右側のXPCの部分は電源222bによ
って電力を与えられパワードメインBと称される。各電
源222aおよび222bは入力電源の損失を防止する
ために専用のバッテリおよびジェネレータバックアップ
(図示せず)を有する。
【0055】2つの別個に電力を与えられるクロックソ
ース226aおよび226bは、アウトボードファイル
キャッシュXPC102のすべての論理セクションへタ
イミング信号を与える。クロックソース226aはパワ
ードメインA内の論理セクションへタイミングを与え、
かつクロックソース226bはパワードメインB内の論
理セクションへタイミングを与える。各クロックソース
内の冗長発振器は、一方が故障することに対する保護策
を与え、かつクロックソースAおよびBはパワードメイ
ンAおよびBのタイミングが一致するように同期され
る。クロック分散システムについては以下により詳細に
説明する。
【0056】不揮発性記憶装置(NVS)セクション2
20は、複数のDRAM記憶モジュールを含み、かつフ
ァイルキャッシュメモリを与える。記憶モジュールの半
分はパワードメインA内にあり、他方の半分はパワード
メインB内にある。パワードメインB内の記憶モジュー
ル内に記憶されたデータはパワードメインA内の記憶モ
ジュールに記憶されたデータを反映する。このため、N
VS220はキャッシュされたファイルデータの冗長な
記憶装置およびアウトボードファイルキャッシュXPC
102で使用される制御構造を与える。冗長な記憶装置
構成は、先行技術で公知の技術に従って単一ビットと複
数ビットとの両方のエラーを検出しかつ訂正する。
【0057】パワードメインAおよびBの各々内のNV
S210の部分は、2つの記憶インタフェースコントロ
ーラ(SICT)228aおよび228bのそれぞれに
結合される。図6には2つのSICTだけが示される
が、NVS220の各半分は最大4つまでのSICTに
よってアドレス指定可能である。ライン230は、パワ
ードメインAおよびBの各々内のNVS220の部分と
SICT228aとの間の結合を表わす。同様に、ライ
ン232はSICT228bとNVS220との間の結
合を表わす。
【0058】NVS220に対する読出および書込要求
は、ストリートネットワーク234aおよび234bを
介してSICT228aおよび228bに送られる。ス
トリートネットワークはアウトボードファイルキャッシ
ュXPC102内部の主な論理セクション間でデータを
転送し、かつプロセッサ間通信を行なう。ストリートネ
ットワークは、NVS220への帯域幅の広いアクセス
を有する複数のリクエスタ(HIA214aおよび21
4b、またはインデックスプロセッサ236aおよび2
36b)、ならびに冗長アクセスのための複数の経路を
与えるために設けられる。クロスオーバ238は経路を
与えるため、NVS220の要求は、もしSICTが使
用できなければストリート234aからストリート23
4bへ、またはその逆に送られるかもしれない。たとえ
ば、もしSICT228aが故障すれば、リクエスタ
(HIAおよびIXP)から送られたNVS要求はクロ
スオーバ238を介してストリート234bへ送られ、
これによりNVS220のアクセスはSICT228b
によって与えられる。ストリートネットワークについて
は後ほどより詳しく説明する。
【0059】HIA214aおよび214b(ホストイ
ンタフェースアダプタ)は、ホスト10上のDM110
aおよび110b(データムーバ)によって与えられる
機能と同じ機能をアウトボードファイルキャッシュXP
C102中に与える。特に、HIAはDMから送られた
ファイルアクセスコマンドを受信し、ホストから不揮発
性記憶装置(NVS)220へ送られたファイルデータ
の書込、NVSからのファイルデータの読出、およびそ
のデータのホストへの送信などの一般的なキャッシュア
クセス制御を行なう。HIAはまた、光ファイバライン
112aおよび112bを介してデータを送受信するた
めの論理を含む。
【0060】インデックスプロセッサ(IXP)236
aおよび236bは、NVS220中で利用可能な記憶
スペースの割当およびキャッシュ交換を管理し、ホスト
10から送られたファイルデータアクセスコマンドを処
理し、かつ一般には全体的なファイルキャッシュ管理を
行なう。IXPは、ファイルデータアクセスコマンド中
で参照されたファイルデータがキャッシュメモリ中に存
在するかどうかを検出し、かつキャッシュメモリへのア
クセスを管理調整するためのマイクロコード制御を含
む。IXPが行なう機能については後ほどより詳しく説
明する。
【0061】2.データフロー 図7ないし図10はデータフロー図であり、ファイルキ
ャッシュシステムの主要な機能コンポーネント間のデー
タフローを示す。ブロックの各々はファイルキャッシュ
システムの主要論理セクション、ソフトウェアコンポー
ネント、または記憶セクションを表わす。ブロックの各
々の内部にはデータ構造があり、これらのデータ構造は
コンポーネントが実行する処理を表わすオンライン記憶
記号および円が付される。円は実行される処理を表わす
が、制御の流れを示すものではない。矢印は処理サーク
ルとデータ構造との間のデータフローを表わし、転送さ
れているデータに従って符号が付される。図11ないし
図18は図7ないし図10で参照されたデータ構造内に
含まれる情報を示す。図11ないし図18の各々につい
ては図7ないし図10に関する議論において出てきた場
合に議論する。
【0062】ファイルアクセスコマンドは選択されたフ
ァイルについての入力または出力処理(I/O)を要求
するホスト10(図7−図10では図示せず)上のアプ
リケーションソフトウェアを用いて始まる。キャッシュ
されたファイルに対するI/O要求はファイルキャッシ
ュハンドラソフトウェア208によって処理される。デ
ータフローライン300はI/O要求のファイルキャッ
シュハンドラソフトウェア208への入力を示す。I/
O要求はコマンドパケット中でホスト10からアウトボ
ードファイルキャッシュXPC102へ送られる。処理
ノード302において、ファイルキャッシュハンドラソ
フトウェア208は特定のI/O要求についてコマンド
パケット(CP)を構築し、このコマンドパケットをコ
マンドパケットデータ構造304中に格納する。ライン
306はI/O要求情報をコマンドパケットデータ構造
304に記憶することを表わす。
【0063】a.コマンドパケット 図11はコマンドパケットの一般的なレイアウトおよび
その中に含まれる情報を示す。コマンドパケット452
は利用可能なアウトボードファイルキャッシュコマンド
(読出、書込、ステージング、デステージング等)のう
ちの1つを表わす情報を含む。各コマンドについては後
ほど特定し議論する。図11はさまざまなコマンドタイ
プについてすべてのコマンドパケットに共通なコマンド
情報だけを示す。
【0064】コマンドパケットはコマンドタイプによっ
て4から67の36ビットワードを持つことができる。
452a、452b、および452cでそれぞれ示され
るコマンドパケットのワード0および1、ワード3のビ
ット12ないしビット23、およびワード4ないしワー
ドnは、コマンドタイプに依存する。ファイルキャッシ
ュシステムはコマンドパケットを繋ぐことを可能にす
る。つまり、第1のコマンドパケット452は第2のコ
マンドパケットを指し、第2のコマンドパケットは第3
のコマンドパケットを指し、以下同様にすることができ
る。NEXT_COMMAND_PACKET452d
はコマンドパケットを繋ぐために用いられる。これはコ
マンドチェーン中の次のコマンドパケットのアドレスを
含む。もしCCF(コマンドチェーンフラグ)452e
がセットされれば、NEXT_COMMAND_PAC
KETはコマンドチェーン中の次のコマンドパケットの
アドレスを含む。コマンドチェーンはまた「プログラ
ム」と称することもできる。CCFがクリアならば、コ
マンドチェーン中のコマンドパケットに続くコマンドパ
ケットはない。CCFはコマンドパケット中のワード3
のビット5に記憶される。
【0065】ワード3に続くコマンドパケット中のワー
ドの数である、コマンドパケットのLENGTH452
fは、ワード3のビット6ないしビット11に記憶され
る。ワード3のビット24ないしビット35は、アウト
ボードファイルキャッシュによって動作が実行されるこ
とを示すCOMMAND_CODE452fを含む。4
52gで示されるワード3のビット0ないし4はリザー
ブされる。図7ないし図11の処理ノード308はプロ
グラム開始パケットPIP(310)をプログラム開始
キュー(PIQ)の待ち行列に入れる。ライン312は
プログラム開始パケット情報のプログラム開始キュー3
10への流れを表わす。ノード302からのコマンドパ
ケット(CP)アドレスはPIPを待ち行列に入れる際
に使用される。ノード308に与えられるCPアドレス
はライン309で示される。
【0066】b.プログラム開始キュー 図12はプログラム開始キューを示す。プログラム開始
キュー310は、456−1、456−2、456−
3、…456−32でそれぞれ示される最大32までの
プログラム開始パケット(PIP)を含み得る。プログ
ラム開始キューは選択される実施例に依存してより大き
くてもよいしまた小さくてもよい。プログラム開始キュ
ーがプログラム開始パケットで満たされると、オーバフ
ローを処理するためにさらなるキューイングが行なわれ
る。
【0067】図13はプログラム開始パケットに含まれ
る情報およびプログラム開始パケットのフォーマットを
示す。VF(有効フラグ)456aはプログラム開始パ
ケット456のワード0のビット0に記憶される。VF
はプログラム開始キュー310エントリ中の情報が有効
であるかどうかを示す。ワード0のビット1ないしビッ
ト35およびワード1のビット0ないしビット3は、将
来の使用に備えてリザーブされ、図13中でそれぞれ4
56bおよび456cとして示される。PROGRAM
_ID456dはワード1のビット4ないし35に記憶
される。PROGRAM_IDは、アウトボードファイ
ルキャッシュXPC102へ送られているプログラムを
独自に識別する。PROGRAM_IDは、アウトボー
ドファイルキャッシュから戻された状態を適用するプロ
グラムと関連づけるために使用される。
【0068】プログラム開始パケット456のワード2
は、COMMAND_PACKET_ADDRESS4
56eを含み、これはコマンドチェーン中の第1のコマ
ンドパケット452または単一のコマンドパケットの実
アドレスである。ワード3はNEXT_SP_ADDR
ESS456fを含む。NEXT_SP_ADDRES
Sは、アウトボードファイルキャッシュXPC102が
ステータス情報を書込むことができる領域の主記憶装置
16中の実アドレスである。XPC102がコマンドを
処理した後、コマンドのステータスはプログラムステー
タスパケット(PSP)中のホスト10へレポートして
戻される。ライン314はデータムーバ(DM)110
からステータスパケットキュー(SPQ)316中への
エントリへのプログラムステータスパケットの流れを示
す。ステータスパケットキュー316のフォーマットお
よびプログラムステータスパケットについては次に説明
し、その後、コマンドパケット処理についてさらに議論
する。
【0069】c.ステータスパケットキューおよびプロ
グラムステータスパケット 図14はステータスパケットキューを示し、図15はプ
ログラムステータスパケットに含まれるフォーマットお
よび情報をそれぞれ示す。ステータスパケットキュー3
16中のプログラムステータスパケット460の数はプ
ログラム開始キュー中で待ち行列に入れられたプログラ
ムの数に等しく、それぞれ460−1、460−2,4
60−3、…、460−nで示される。一般に、プログ
ラムステータスパケットの内容およびフォーマットは以
下のとおりである。
【0070】
【表1】
【0071】
【表2】
【0072】
【表3】
【0073】
【表4】
【0074】次に図7ないし図10に示されるコマンド
パケット処理に戻って議論する。エンキュー処理ノード
308はプログラム開始キュー310にエントリを書込
む前に、まず、ライン318で示されるようにステータ
スパケットキュー316から利用可能なプログラムステ
ータスパケット460のアドレスを入手する。もしプロ
グラムステータスパケット中の有効フラグ460aが0
ならば、プログラムステータスパケットはステータスの
報告に用いることができる。プログラムステータスパケ
ットのアドレスは、プログラム開始キュー310のプロ
グラム開始パケット456中のNEXT_SP_ADD
RESS456eに記憶される。
【0075】データムーバ110は、コマンドパケット
452が存在するかどうかを判断するためにプログラム
開始キュー310を継続的にモニタして、モニタおよび
取出処理ノード320によって示されるように処理を行
なう。プログラム開始キュー310中のエントリへのポ
インタは、プログラム開始キューをモニタするために使
用される。もしポインタによって示されるプログラム開
始パケット456のためのVF456aが1であれば、
プログラム開始パケットは有効であり、かつコマンドパ
ケットが利用可能である。もしVFが0であれば、プロ
グラム開始パケットは無効であり、つまり処理に利用で
きるコマンドパケットがないことを意味し、同じプログ
ラム開始パケットがVFがセットされるまでモニタされ
る。ライン322はプログラム開始キューからのプログ
ラム開始パケットの読出を表わす。
【0076】PIP中にVF456aがセットされる場
合、プログラム開始キュー310のポインタはキュー中
の次のエントリに進み、その後、次のエントリがモニタ
される。VFがセットされた状態のプログラム開始パケ
ット456は、その後、コマンドパケット452を取出
すために使用される。プログラム開始パケット中のCO
MMAND_PACKET_ADDRESS456e
は、コマンドパケットをライン324で示されるように
コマンドパケットデータ構造304から読出すために用
いられる。
【0077】その後、コマンドパケット456中の情報
は、データフローライン328で示されるように、デー
タムーバ110に対して局所的である動作制御ブロック
(ACB)バッファ326のうちの1つに書込まれる。
コマンドパケットを管理するために3つのバッファがデ
ータムーバ110によって使用される。各ACBバッフ
ァはデータムーバについての議論でより詳細に説明す
る。バッファは16のエントリには十分な大きさであ
り、このため最大16のコマンドパケットが「アクティ
ブ」となることができる。16のアクティブコマンドが
存在する場合、データムーバ110は、16のコマンド
のうちの1つが完了するまでプログラム開始キュー31
0をモニタすることを停止する。一般に、ACBバッフ
ァは、データムーバ110と主記憶装置16との間でデ
ータを転送するためにコマンドパケットおよびアソート
された制御コードを保持する。
【0078】コマンドパケットがACBバッファ326
に書込まれた後、送信処理ノード332は、データフロ
ーライン332で示されるようにコマンドパケット45
2を適切なACBバッファから読出す。その後、コマン
ドパケットはデータフローライン334で示されるよう
に光ファイバケーブル216を介してホストインタフェ
ースアダプタ214へ送られる。受信処理ノードはコマ
ンドパケットを受取り、このコマンドパケットをデータ
フローライン340で示されるようにHIAACBバッ
ファ338へ入れる。
【0079】図16はHIA ACBバッファを示す。
HIA ACBバッファ338は、動作を管理するため
に、それぞれ338−1ないし338−16と示された
16のエントリを有する。HIA ACBバッファ中の
各エントリはコマンドパケットおよびコマンドパケット
に関連したステータス情報を含む。HIA ACBバッ
ファ中の各エントリに関連づけられるのはACBナンバ
である。ACBナンバ1はHIA ACBバッファ中の
第1のエントリ338−1を示し、ACBナンバ2は第
2のエントリ338−2を示し、…、かつACBナンバ
16は第16番目のエントリ338−16を示す。
【0080】モニタおよびプット処理ノード342は、
コマンドパケットの到着を判断するためにHIA AC
Bバッファ338をモニタする。コマンドパケットがH
IAACBバッファ338に到着すると、HIA AC
Bバッファエントリに関連したACBナンバはデータフ
ローライン344で示されるように読出される。その
後、処理ノード342はデータフローライン348で示
されるようにアクティビティキュー(AQ)エントリを
アクティビティキュー中に置く。アクティビティキュー
346中のエントリは、処理用に利用可能なコマンドパ
ケットが存在することをインデックスプロセッサ236
に知らせる。
【0081】図17はアクティビティキューを示し、図
18は各アクティビティキューエントリに含まれる情報
を示す。アクティビティキュー346は、図17中で3
47−1、347−2、347−3、…、347−nで
示される最大n個までのアクティビティキューエントリ
を含み得る。図18に示されるように、アクティビティ
キューエントリのワード0はMESSAGE CODE
347aと、ACBID347bと、HIA UID3
47cと、HIA BPID347dとを含む。アクテ
ィビティキューエントリのワード1はMESSAGE3
47eを含む。これらのフィールドの各々についてはホ
ストインタフェースアダプタおよびインデックスプロセ
ッサに関する議論においてより詳細に説明する。簡単に
言えば、MESSAGE CODEは、インデックスプ
ロセッサ236によって実行される動作のタイプを示
す。HIA ACBバッファ338中で新しいエントリ
が作られたことを示す動作タイプに対しては、ACBI
Dはコマンドパケット情報が存在するHIA ACBバ
ッファ中のエントリのACBナンバを示す。HIA識別
子フィールドは、アクティビティキューエントリをアク
ティビティキュー346に置いた特定のホストインタフ
ェースアダプタ214を示す。わかりやすさのために、
HIA BPIDおよびMESSAGEフィールドの説
明は後ほど行なう。
【0082】インデックスプロセッサ236中のモニタ
および取出処理ノード350は、アクティビティキュー
エントリを判別するためにアクティビティキュー346
をモニタする。アクティビティキューにエントリが加え
られると、処理ノード350はデータフローライン35
2で示されるようにアクティビティキュー346からA
CBエントリを読出す。アクティビティキューエントリ
中の情報に基づいて、処理ノード350はデータフロー
ライン354で示されるようにACB要求をHIA21
4へ送る。ACB要求はアクティビティキューエントリ
からのACBナンバを含む。
【0083】処理送信ノード356は、ACB要求中で
特定されたACBナンバに関連するHIA ACBバッ
ファ338中のエントリからコマンドパケットを取出
し、そのコマンドパケットをインデックスプロセッサ2
36の処理ノード358へ送る。データフローライン3
60および362はHIA ACBバッファ338から
処理ノード358へのコマンドパケットの流れを示す。
処理ノード358はコマンドパケット中に含まれるコマ
ンドをデコードし、NVS220中の利用可能な記憶ス
ペースを管理し、かつそこに記憶されるキャッシュされ
たファイル366を参照するための情報を含む制御構造
364を参照する。ファイルアクセスコマンドについて
は、ファイル情報はデータフローライン368で示され
るように制御構造364から読出される。ファイル情報
およびデコードされたコマンドに基づいて、処理ノード
358は適切な処理を開始する。図7ないし図10の議
論の残りの部分については、読出または書込要求のいず
れかがコマンドパケット中に含まれ、かつキャッシュさ
れたファイル366中に参照されたファイルデータが存
在すると仮定する。
【0084】データフローライン370および372で
示されるステータスおよびアドレスの2つの情報が処理
ノード358からHIA214に戻される。これらの情
報は両方とも、ステータスおよびアドレス情報がHIA
ACBバッファ338中の適切なエントリに記憶され
るようにACBナンバと結びつけられる。処理読出およ
び送信ノード374ならびに処理受信および書込ノード
376は、データムーバ110とNVS220との間の
データフローを制御する。処理ノード374は、キャッ
シュされたファイル336からファイルデータが読出さ
れるときにアクティブであり、かつ処理ノード376
は、キャッシュされたファイル366へファイルデータ
が書込まれるときにアクティブである。処理ノード37
4および376の両方について、データフローライン3
78および380の各々で示されるようにHIA AC
Bバッファ338中のエントリからデータ転送パラメー
タが読出される。データ転送パラメータは、動作が開始
されワードの数が転送されるNVS220内のアドレス
を示す。
【0085】処理読出および送信ノード374はデータ
フローライン382で示されるように、再接続メッセー
ジをデータムーバ110に送る。データムーバ110上
の再接続処理ノード384は再接続メッセージを受取
り、再接続メッセージ中のACBナンバを受信および処
理書込ノード386へ与える。データフローライン38
8は、ACBナンバが処理ノード384から処理受信お
よび書込ノード386へ流れることを示す。処理受信お
よび書込ノード386は、ACBナンバによって示され
る適切なACBバッファ326からデータ転送パラメー
タを受信する。データフローライン390は、ACBバ
ッファ326から処理ノード386によって受取られた
データ転送パラメータを示す。データ転送パラメータ
は、ファイルデータが書込まれるべきアプリケーション
記憶装置392中の場所を示す。データフローライン3
94で示されるようにファイルデータが処理ノード38
6によって受取られると、これはアプリケーション記憶
装置392へ書込まれる。データフローライン396は
ファイルデータがアプリケーション記憶装置392へ流
れることを示す。ホストインタフェースアダプタ214
では、処理読出および送信ノード374は、データフロ
ーライン398で示されるようにキャッシュされたファ
イル366から参照されたファイルデータを読出す。
【0086】上述のように、処理受信および書込ノード
376は、キャッシュされたファイル366へファイル
データを書込む。ファイルデータはデータフローライン
400で示されるようにキャッシュされたファイル36
6へ書込まれている。データムーバ110からホストイ
ンタフェースアダプタ214へのファイルデータの転送
は、再接続メッセージを送ることによって処理受信およ
び書込ノード376によって開始される。データフロー
ライン402は再接続メッセージを示す。再接続メッセ
ージはACBナンバを含み、このACBナンバは処理読
出および送信ノード404へ送られる。ACBナンバは
ライン406で示される。処理読出および送信ノード4
04は、ACBナンバによって参照される適切なACB
バッファ326からデータ転送パラメータを入手する。
データフローライン408はデータ転送パラメータを示
す。データ転送パラメータは、転送するファイルデータ
が存在する主記憶装置16中の実アドレスを示す。処理
ノード404はデータフローライン410で示されるよ
うに参照されたファイルデータをアプリケーション記憶
装置392から読出す。データフローライン412は、
ファイルデータがデータムーバ110中の処理ノード4
04によってホストインタフェースアダプタ214中の
処理受信および書込ノード376へ送られることを示
す。その後、ファイルデータはキャッシュされたファイ
ル366へ書込まれる。
【0087】各処理ノード374および376について
は、各々のデータ転送タスクが完了すると、HIA A
CBバッファ338中の適切なエントリへステータスが
書込まれる。データフローライン414および416の
それぞれは、処理ノード374および376についての
ステータスの書込みを示す。リターンステータス処理ノ
ード418は、アクティビティが完了するとHIAAC
Bバッファ338からプログラムステータスパケットを
読出し、かつプログラムステータスパケットをデータム
ーバ110上の書込ステータス処理ノード420へ送
る。処理ノード420はACBバッファ326のうちの
1つ中の適切なエントリへプログラムステータスパケッ
トを書込む。データフローライン422、424、およ
び426は、HIA ACBバッファ338からデータ
ムーバ110上のACBバッファ326へのプログラム
ステータスパケットの流れを示す。
【0088】データムーバ110がそのACBバッファ
326中にプログラムステータスパケットを受信する
と、プログラムステータスパケットはファイルキャッシ
ュハンドラソフトウェア208へ戻すことができる。リ
ターンステータス処理ノード428は、プログラムステ
ータスパケットをACBバッファ326から読出す。そ
の後、プログラムステータスパケットはステータスパケ
ットキュー316中の利用可能なエントリへ書込まれ
る。プログラムステータスパケットが書込まれるステー
タスパケットキューのエントリは、ステータスパケット
キュー316中の利用可能なエントリに対するポインタ
のキューから選択される。ファイルキャッシュハンドラ
ソフトウェアは、ステータスパケットキュー316中の
エントリからステータスを読出し、I/O要求が発生す
るアプリケーションソフトウェアに対して適切なステー
タスを戻す。処理ノード430ならびにデータフローラ
イン432および434はステータスレポートを示す。
【0089】3.ファイルスペース管理 このセクションでは、アウトボードファイルキャッシュ
XPC102中の記憶スペースの論理構成および維持に
ついての概要を説明する。本発明の好ましい実施例は、
ユニシス・コーポレイションより入手可能なOS110
0およびOS2200オペレーティングシステム(図示
せず)に関連したファイル管理および入出力システム
(図示せず)とともに動作可能である。本発明は、本発
明の精神を逸脱することなく他のオペレーティングシス
テムに関連したファイル管理システムにも適用可能であ
ることが当業者には明らかとなるであろう。
【0090】図19はアウトボードファイルキャッシュ
で利用可能なファイルスペースを示す。ファイルスペー
ス502は論理的にセグメント503−0、503−
1、503−2、…、503−(n−1)として構成さ
れ、本実施例では各セグメントは1792ワードを含
む。利用可能なセグメントの数はXPC102中に構成
されたRAM記憶装置の量によって変化する。各セグメ
ントは論理トラックとしての同じ論理フォーマットを有
し、これは1100/2200ファイルシステム中の記
憶装置の割当の基本単位である。
【0091】図20は1セグメントの論理構成を示す。
各セグメント503は、それぞれ504−0、504−
1、504−2、…、504−63と符号を付された0
から63までの連続した64のブロックを含み、各ブロ
ックは28ワードを含む。図21はブロックの論理の組
立を示す。各ブロックは、それぞれ506−0、506
−1、506−2、…、506−27と符号を付された
連続した0から27までの28のワードからなる。セグ
メント503は割当てられているかもしれないし、割当
てられていないかもしれない。割当てられている、とは
セグメントがディスク106上の特定のトラックに直接
関連していることを意味し、このディスク106は特定
のファイルに属し、かつそのファイルに属するデータを
含む。割当てられていないセグメントはいかなるトラッ
クまたはファイルにも関連していない。アウトボードフ
ァイルキャッシュXPC102が最初に起動されると
き、ファイルスペース502中のセグメントはどれも割
当てられていない。割当てられていない状態から割当て
られている状態へのセグメントの遷移はホスト10ソフ
トウェアによって行なわれ、これは適切なコマンドがア
ウトボードファイルキャッシュXPC102に送られる
ときに発生する。割当てられた状態から割当てられてい
ない状態への遷移(今後「デサインメント(designmen
t)」と称する)は、ホスト10およびXPC102に
よって共働して制御さる。以下の3つの場合のいずれに
おいてもセグメントはデサインされ得る。
【0092】第1に、ホスト10はアウトボードファイ
ルキャッシュXPC102へコマンドを送るかもしれ
ず、XPC102は識別されたセグメント503がパー
ジされるべきであるということを表わす。パージされ
る、とは識別されたセグメント503がこれ以上、識別
されたファイルに関連づけられるべきではないことを意
味する。その後、セグメントは他のファイルのセグメン
トを記憶するために使用され得る。第2に、アウトボー
ドファイルキャッシュXPC102中のファイルスペー
ス502が不足するかもしれない。セグメントは異なる
ファイルへアサインされる、つまり「割当てられる」た
めに必要かもしれない。選ばれた特定のセグメント50
3は、アウトボードファイルキャッシュXPC102中
で実現されるキャッシュセグメント交換アルゴリズムに
依存する。
【0093】第3に、アウトボードファイルキャッシュ
XPC102は、あるハードウェア状態のためにRAM
スペースが利用できないセグメントで占有されているこ
とを検出するかもしれない。このセグメントはデサイン
され、その後、将来の割当には利用できない。セグメン
トのデサインメントは、セグメントに含まれるデータ
が、ディスク106および関連するトラックへコピーさ
れることが必要である。たとえば、もしデサインされる
べきセグメントがセグメントが直接関連づけられるトラ
ックにも存在しないデータを含む場合、このトラックは
セグメント中に含まれるデータを用いて最新のものにす
る必要があるかもしれない。データ転送はデステージン
グと呼ばれる。
【0094】もしセグメントのデサインの必要性がホス
ト10ソフトウェアによって検出されかつ始動されれ
ば、セグメントのデステージの必要性もまたホスト10
ソフトウェアによって決定される。アウトボードファイ
ルキャッシュXPC102もまたセグメントのデサイン
を開始することができ、かつセグメントはまたデステー
ジされなければならないかどうかの判断が以下のルール
に従ってなされる。そのルールとは、もし関連したトラ
ック中に存在しないデータをセグメントが含む場合、こ
のセグメントはデサインされる前にデステージされなけ
ればならない、というものである。これはアウトボード
ファイルキャッシュXPC102からホスト10へデス
テージ要求を送ることによって開始される。ホスト10
はアウトボードファイルキャッシュXPC102からデ
ィスク106へ識別されたセグメント中のデータを転送
することによって応じる。ホスト10がセグメントのデ
ステージを完了すると、アウトボードファイルキャッシ
ュ102はセグメントをデサインできる。もしセグメン
トおよびセグメントの関連したトラックが同じデータを
含めば、デステージングは要求されず、アウトボードフ
ァイルキャッシュ102は単一方向にセグメントをデサ
インし得る。
【0095】図22は、アウトボードファイルキャッシ
ュのファイルスペース中のキャッシュファイルスペース
と、ネイルスペースと、レジデントファイルスペースと
の間の論理区分を示す。キャッシュファイルスペース5
22とネイルスペース523とレジデントファイルスペ
ース524間で割当てられるセグメントの割合は、動作
時間要求に応じて変化する。キャッシュファイルスペー
スはセグメント毎にファイルに割当てられる。キャッシ
ュファイルスペースに対する要求が増大するにつれて、
セグメントの割当はキャッシュ交換アルゴリズムに従っ
て管理される。レジデントファイルスペース中のセグメ
ントは、長期間の間ファイルスペース中に留まるファイ
ルのトラックに割当てられる。たとえば、レジデントフ
ァイルスペースは頻繁にアクセスされるファイル、およ
び回復が重要なデータのために使用され得る。レジデン
トファイルスペース中のセグメントはキャッシュファイ
ルスペースのためのキャッシュ交換アルゴリズムでは使
用できない。キャッシュファイルスペース管理およびレ
ジデントファイルスペース管理の概要は以下の段落中で
説明する。
【0096】キャッシュファイルスペース522中のセ
グメントは、「ネイルされる」または「ネイルされな
い」のいずれかであり得る。ネイルされたセグメントは
アウトボードファイルキャッシュ102に永久に記憶さ
れるものである。ネイルされたセグメントはホスト10
によってパージされるまでキャッシュファイルスペース
に留まる。アウトボードファイルキャッシュXPC10
2は、ネイルされたセグメントをバックアップするディ
スクスペースが存在しないため、ネイルされたセグメン
トのデサインメントおよびデステージングを開始するこ
とはない。ネイルされたセグメントは、あるセグメント
はアクセスされるときにキャッシュ中になければなら
ず、かつ回復ファイルのようにキャッシュ交換には用い
られてはならないことをホストソフトウェアが決定する
場合に用いられる。ネイルされたセグメントはキャッシ
ュファイルスペースにのみ存在することができるが、キ
ャッシュファイルスペースのすべてを消費することはで
きない。ネイルされたセグメントの所望される最大数は
1000である。
【0097】ネイルされないセグメントは以下のうちの
いずれか1つが発生するまでキャッシュファイルスペー
ス522中に留まる。 1.ネイルされないセグメントがホスト10ソフトウェ
アよってパージされる。 2.アウトボードファイルキャッシュXPC102が、
セグメントによって占有されたRAMが使用不可である
ことを検出する。 3.キャッシュファイルスペース交換アルゴリズムが、
セグメントが別のトラックに割当てられるべきであると
判断する。
【0098】4.アウトボードファイルキャッシュXP
Cが、セグメントがキャッシュファイルスペースから取
除かれ、かつレジデントファイルスペース524の一部
とされるべきであると判断する。 レジデントファイルスペース524はファイルのトラッ
クに関連したセグメントからなる。レジデントファイル
スペース中のセグメントが一旦トラックに割当てられる
と、これは以下のいずれか1つが発生するまで割当てら
れたままである。
【0099】1.セグメントがホスト10によってパー
ジされる。 2.アウトボードファイルキャッシュXPC102が、
セグメントによって占有されたRAMが使用不可である
と検出する。 3.キャッシュファイルスペース522への要求に対す
るレジデントファイルスペースへの要求が、セグメント
がキャッシュファイルスペースに再割当されるように設
計されるべき要求であると、アウトボートファイルキャ
ッシュXPC2が判断する。
【0100】レジデントファイルスペース524中のセ
グメントの割当は、先入れ先出し方式で行なわれる。す
べてのレジデントファイルスペースセグメントが一旦割
当てられると、キャッシュファイルスペース522中の
セグメントが割当てられる。レジデントファイルスペー
ス中に他のセグメントを有するファイルに割当てられた
キャッシュファイルスペース中のセグメントは、キャッ
シュファイルスペースキャッシュ交換アルゴリズムに従
う。このため、レジデントファイルスペースを要求する
ホスト10ソフトウェアはレジデントファイルスペース
が利用できるかどうかおよびその使用をモニタしなけれ
ばならない。
【0101】図23はファイルディスクリプタテーブル
を示す。ファイルディスクリプタテーブル506はアウ
トボードファイルキャッシュXPC102によって記憶
されかつ維持され、さらに、ファイルスペース502中
の各セグメントの割当および参照用の情報を含む。ファ
イルディスクリプタテーブル中には、各々508−0、
508−1、508−2、…、508−(n−1)と符
号を付された0からn−1までの連続した数のn個のフ
ァイルディスクリプタが存在する。図24はファイルデ
ィスクリプタに含まれる情報を示す。各ファイルディス
クリプタ508は16の32ビットワードを有する。フ
ァイルディスクリプタの内容およびフォーマットは以下
のとおりである。
【0102】
【表5】
【0103】
【表6】
【0104】
【表7】
【0105】
【表8】
【0106】
【表9】
【0107】4.主要コンポーネントの概要 このセクションでは、ファイルキャッシュシステムの主
要機能コンポーネントの各々の概要を説明する。各コン
ポーネントの一般的アーキテクチャおよび処理、ならび
にコンポーネント間のインタフェースの概要について議
論する。 a.ホストソフトウェア ファイルキャッシュシステムの2つの主ソフトウェアコ
ンポーネントは、入出力ソフトウェア206とファイル
キャッシュハンドラソフトウェア208である。入出力
(I/O)ソフトウェアは、アプリケーションソフトウ
ェア202と、ホスト10に結合された各周辺装置に特
定のソフトウェアとの間にインタフェースを設ける。
【0108】(1) 入出力ソフトウェア 図25は、アプリケーションソフトウェアからのファイ
ル要求についてI/Oソフトウェアが実行する一般的処
理のフローチャートである。I/Oソフトウェアは、さ
まざまなI/O要求パラメータを含むオペレーティング
システムコールで引起こされる。ステップ602は入力
I/O要求パラメータを処理する。I/O要求パラメー
タに含まれるのは、アクセスが要求されるファイルの部
分を参照するファイル識別名およびファイル部分インジ
ケータである。ステップ604は、特定のファイル識別
名を有するファイルについてエントリをシステムファイ
ルディスクリプタテーブルに配置する。ファイルディス
クリプタテーブルは、タイプと、ファイルが記憶される
装置と、オペレーティングシステムに公知の各ファイル
についてのさまざまな他の情報等を含む。
【0109】ファイルディスクリプタテーブル中のキャ
ッシュインジケータフラグは、ファイルがいつファイル
キャッシュシステムによってキャッシュされるかを識別
するために使用される。もしキャッシュインジケータフ
ラグがセットされれば、決定ステップ606は制御経路
608をステップ610へ強制する。ステップ610は
さらなる処理のためにファイルキャッシュハンドラソフ
トウェア208へのI/O要求パラメータおよび制御を
通過させる。もしキャッシュインジケータフラグがセッ
トされていなければ、決定ステップ606は制御経路6
12を決定ステップ614へと強制する。決定ステップ
614は、I/O要求パラメータがファイルがキャッシ
ュされるべきであると特定しているかどうかをチェック
する。もし決定ステップ614が正しければ、制御経路
612はステップ618へ続き、そこでファイルディス
クリプタテーブル中のキャッシュインジケータフラグが
セットされる。その後、処理は上に説明したステップ6
10へ進む。もしI/O要求パラメータが、ファイルは
キャッシュされるべきであると表示しなければ、制御経
路620はステップ622へ続く。ステップ622はキ
ャッシュされないファイルに必要なI/O処理を実行す
る。
【0110】(2) ファイルキャッシュハンドラソフ
トウェア 図26はファイルキャッシュハンドラソフトウェアによ
って実行されるファイルキャッシュインタフェース処理
のフローチャートである。決定ステップ650は、I/
O要求が、ディスク106から大量のデータの読出しが
必要な読出動作を要求するかどうかをテストする。読出
が長い場合、アウトボードファイルキャッシュXPC1
02へのデータのステージングは効果がないかもしれ
ず、この場合、ステップ651でキャッシュバイパス処
理が引起こされる。キャッシュバイパス処理は、アウト
ボードファイルキャッシュXPCがデータ処理システム
の一部ではない場合と同じ処理を含む。
【0111】ステップ652は、I/Oソフトウェア2
06から通過したI/O要求パラメータに従ってコマン
ドパケットを構築する。さまざまなタイプのコマンドパ
ケットについては援用する同時継続中の出願においてよ
り詳細に議論している。ステップ654は、プログラム
開始パケット(PIP)450が待ち行列に入れられる
べきプログラム開始キュー(PIQ)を選択する。図6
に示されるように、1つ以上のデータムーバ110をホ
スト10の入出力バス40に結合することができる。各
データムーバ(または「ファイルキャッシュユニットイ
ンタフェース」)毎に、別個のPIQが維持される。こ
の態様では、コマンドパケットをアウトボードファイル
キャッシュXPC102へ送るための処理ロードは複数
のデータムーバ110間で分配される。PIQの選択は
PIQ中のPIPの数に基づく。アクティブPIPが最
小のPIQがPIPを受取るために選択される。もし選
択されたプログラム開始キューがフル(つまり満杯であ
る)ならば、決定ステップ656は制御経路658をス
テップ660へ強制する。ステップ660では、特定さ
れたコマンドパケットについてエントリがオーバフロー
キュー中で行なわれる。PIQがフルではなくなると、
処理はPIPを作るためにステップ662へ進む。同様
に、もし決定ステップ656がPIQがフルではないと
判断すれば、制御経路664はステップ662へ進む。
【0112】ステップ662は、ステップ652で構築
されたCPのアドレスを用いてPIPをイニシャライズ
する。次に、ステップ666はステータスパケットキュ
ー(SPQ)からステータスパケット(SP)を取出
し、かつステップ668はSPのアドレスでPIPをイ
ニシャライズする。このアドレスは、コマンドが完了す
ると、SP情報を戻すためにデータムーバ110によっ
て用いられる。PIPで与えられたSPアドレスは、P
IPに関連したコマンドパケット上にステータスをレポ
ートして戻す際に必ずしも使用される必要はない。SP
アドレスは、ステータスがレポートされることができる
利用可能なSPに対する単なるポインタである。プログ
ラムステータスパケット中のCOMMAND_PACK
ET_ADDRESSは、ステータスパケットを適当な
コマンドパケットと関連づけるために用いられる。必要
な情報がPIPに入れられた後、エントリについての有
効フラグが設定されて、処理の準備ができているコマン
ドパケットをPIPが参照することを示す。
【0113】ステップ670は継続する前にステータス
パケットが戻るまで待機する。ステータスパケットが戻
ると、ステータス情報はステップ672で示されるよう
にI/Oソフトウェア206に戻り、その後、制御はI
/Oソフトウェアに戻る。図27は1つのコマンドパケ
ット(またはチェーン)の処理がいつ完了するかを検出
するための一般的処理のフローチャートを示す。プログ
ラムステータスパケットがホスト主記憶装置16に書込
まれた後、グローバル完了フラグおよびローカル完了フ
ラグがデータムーバ110によってセットされる。1つ
のローカル完了フラグは各プログラム開始キューおよび
ステータスパケットキューと関連づけられる。ファイル
キャッシュハンドラソフトウェア208がグローバル完
了フラグがセットされたことを検出すると、ローカル完
了フラグがテストされる。もしいずれかのローカル完了
フラグがセットされれば、関連したステータスパケット
キュー中の第1のプログラムステータスパケットが取出
され、そのステータスが処理される。完了フラグはステ
ータスの処理のために継続してモニタされる。
【0114】決定ステップ702はグローバル完了フラ
グがセットされたかどうかをチェックする。グローバル
完了フラグがセットされるまで、アウトボートファイル
キャッシュのステータス情報の処理は行なわれない。グ
ローバル完了フラグがセットされた後は、処理はグロー
バル完了フラグがクリアされるステップ704へ進む。
これによりデータムーバはそれが戻る次のプログラムス
テータスパケットについてグローバル完了フラグをセッ
トすることができる。ステップ706は第1のローカル
完了フラグを入手する。
【0115】ローカル完了フラグがセットされていなけ
れば、決定ステップ708は制御を決定ステップ710
へと進ませる。決定ステップ710は、チェックするロ
ーカル完了フラグがこれ以上あるかどうかをチェックす
る。もしあれば、決定ステップ710は次のローカル完
了フラグを入手するステップ712へ制御を進める。ス
テップ712の後は、ローカル完了フラグは決定ステッ
プ708でチェックされる。もしすべてのローカル完了
フラグがチェックさされば、決定ステップ710は決定
ステップ702へ制御を戻してグローバル完了フラグを
モニタする。
【0116】もしローカル完了フラグがセットされれ
ば、プログラムステータスパケットは、ローカル完了フ
ラグに関連したプロセスグラム開始キューで参照された
コマンドのうちの1つについて戻される。決定ステップ
708はローカル完了フラグがセットされるステップ7
14へ制御を進める。ステップ714はローカル完了フ
ラグをクリアし、ステップ716へ進む。ステップ71
6は、ローカル完了フラグに関連したステータスパケッ
トキューから第1のプログラムステータスパケットを取
出す。決定ステップ718は、プログラムステータスパ
ケット内に含まれる有効フラグがセットされることをチ
ェックする。もし有効フラグがセットされなければ、参
照されたプログラムステータスパケットは有効データを
含まないため、制御は決定ステップ710へ進む。もし
有効フラグがセットされれば、制御はステータス処理の
ためにステップ720へ進む。行なわれる特定のステー
タス処理は、プログラムステータスパケットに関連した
特定のコマンド、およびプログラムステータスパケット
中のRECOMMENDED_ACTIONコードに依
存する。ステータス処理が完了すると、ステップ722
はステータスパケットキューから次のプログラムステー
タスパケットを取出し、制御を決定ステップ718へ戻
す。
【0117】b.データムーバ(DM)およびホストイ
ンタフェースアダプタ(HIA) 図28ないし図30はそれぞれ、データムーバ(DM)
およびホストインタフェースアダプタ(HIA)のコン
ポーネントを示す。図29はデータムーバ110のコン
ポーネントを示す。マイクロシーケンサバスコントロー
ラシステムの一例としてのDMのアーキテクチャは、ラ
イン5008、5010を介して制御記憶装置(CS)
5006に接続された2つのマイクロシーケンサバスコ
ントローラ(uSBC)5002、5004が存在する
ことを示す。uSBC 0 5002およびuSBC
1 5004は、圧縮命令セット(RISC)マイクロ
プロセッサであり、ステーションと呼ばれる本実施例中
のさまざまな特殊用途の回路およびゲートアレイをマイ
クロバス5012を介して制御する。マイクロバス50
12は双方向通信バスである。uSBCは7つのベーシ
ック命令を有する命令セットをサポートする。これらの
命令の長さは固定されており、1つまたは2つのオペラ
ンドだけを特定する。uSBCの内部回路は「ハードワ
イヤード」、つまりマイクロプログラムされておらず、
プログラムされたマイクロプロセッサを用いることがで
きる。uSBC 1 5004によって行なわれる動作
の結果は、ライン5014を介してエラー検出のために
uSBC 0 5002へ転送される。7つのスタティ
ックランダムアクセスメモリ(SRAM)からなる制御
記憶装置5006は、uSBCが並列に実行する命令ス
トリームを記憶するために用いられる。
【0118】I/Oバスコントローラ(I/OBCT)
ステーション5016は、I/Oバス40の調停を処理
し、かつ他のDMステーションとI/Oバス40との間
のデータ転送を制御する。I/Oバス40へデータを転
送するために2つのDMステーションがあり、I/Oバ
スからデータを転送するために2つのDMステーション
がある。I/Oバス書込(I/OBWR)0 5018
およびI/OBWR15020ステーションは、それぞ
れライン5022および5024を介してI/Oバス4
0からデータを受取る。I/Oバス読出(I/OBR
D)0 5026ステーションおよびI/OBRD1
5028ステーションは、それぞれライン5030およ
び5032を介してI/Oバス40にデータを送る。I
/OBCT5016は、I/Oバス40へのこれらのD
Mステーションによるアクセスをマイクロバスから離れ
たインタフェース(図示せず)を介して制御する。デー
タはライン5034および5036を介してI/OBW
R0 5018およびI/OBWR1 5020からフ
レーム転送ファシリティ送信(SEND FXFA)ゲ
ートアレイ5038へ送る。SEND FXFA503
8は、データをフレームと呼ばれる伝送パケットにパッ
ケージングし、これらのフレームはライン5040を介
して光パイプフレーム制御(LPFC)ゲートアレイ5
042へ送られる。LPFC5042は、このフレーム
をナショナル・セミコンダクタ・コーポレイション(Na
tional Semiconductor Corporation)から入手可能なP
LAYER+0 5048およびPLAYER+1 5
050からなる2つのPLAYER+物理レイヤーコン
トローラへライン5044および5046を介して送
る。PLAYER+0 5048およびPLAYER+
1 5050は、リンク112の一部である光ファイバ
リンク5052および5054を介してHIA214に
これらのフレームを伝送する。
【0119】HIA214がフレームをDM110へ送
るとき、PLAYER+0 5048およびPLAYE
R+1 5050は、リンク112の一部である光ファ
イバリンク5056および5058を介してフレームを
受取る。PLAYER+05048コンポーネントは、
そのフレームをライン5060を介してLPFC504
2に送る。同様に、PLAYER+1 5050コンポ
ーネントは、そのフレームをライン5062を介してL
PFCに送る。LPFCは、フレームをライン5064
を介してフレーム転送ファシリティ受信(REC FX
FA)ゲートアレイ5066に送り、このアレイ506
6はデータをほどき、ライン5068を介してI/OB
RD0 5026およびI/OBRD1 5028に記
憶する。REC FXFA5066は、ライン5072
を介してデータ転送についての肯定応答をSEND F
XFD5038に送る。
【0120】図30はホストインタフェースアダプタの
コンポーネントを示す。マイクロシーケンサバスコント
ローラシステムの一例としてのHIA214のアーキテ
クチャは、ライン5080、5082を介して制御記憶
装置5078に接続される2つのuSBC5074、5
076が存在することを示す。uSBC5074、50
76はマイクロバス5084を介してHIAステーショ
ンにアクセスする。PLAYER+0 5086コンポ
ーネントおよびPLAYER+1 5088コンポーネ
ントは、フレームをそれぞれ光ファイバリンク5052
および5054を介して受取る。PLAYER+0 5
086はそのフレームをライン5092を介してLPF
C5090に送る。同様に、PLAYER+1 508
8はそのフレームをライン5094を介してLPFC5
090に送る。LPFC5090はライン5098を介
してフレーム転送ファシリティ受信(REC FXF
A)5096にフレームを転送する。REC FXFA
5096は、フレームをほどき、かつ制御情報をライン
5104を介して要求ステータス制御テーブル0(RS
CT)5100ステーションおよびRSCT1 510
2ステーションに記憶する。RSCT0およびRSCT
1ステーションは、DM110から受取ったデータをモ
ニタする。REC FXFA5096が受取ったフレー
ムに含まれたデータはライン5104を介してデータベ
ースインタフェース(DBIF)ステーション5106
に送られる。DBIF5106はデータをライン510
8を介してストリート234に送る。
【0121】ストリート234からライン5110を介
してDBIF5106によって受取られたデータは、ラ
イン5114を介してフレーム転送ファシリティ送信
(SEND FXFA)5112へ送られる。ストリー
トからライン5110を介して受取られた制御情報は、
ライン5116を介してRSCT0 5100およびR
SCT1 5102へ送られる。SEND FXFA5
112は、このデータおよび制御情報をライン5118
を介してRSCT0 5100およびRSCT1510
2から受取り、かつLPFC5090によって送信する
ためにフレームをフォーマット化する。REC FXF
A5096からの肯定応答は、ライン5120を介して
SEND FXFA5112が受取る。このフレームは
ライン5122を介してLPFC5090に送られる。
LPFC5090は受取ったフレームから2つのフレー
ムを作出し、そのうちの一方のフレームをライン512
4を介してPLAYER+0 5086へ送り、かつ他
方のフレームをライン5126を介してPLAYER+
1 5088へ送る。その後、これらのフレームは光フ
ァイバリンク5056および5058を介してDM11
0へ送られる。
【0122】uSBC5002、5004、5074、
5076およびマイクロバス(図29参照)5012、
5084は、ハードウェアモードのピン設定に従ってシ
ステム中でデータを走査する。モードピンがセットされ
る場合、マイクロシーケンサバスコントローラシステム
の一例は、そのステーションと通信する36ビットデー
タワード上で動作するDM110である。モードピンが
クリアな場合、マイクロプロセッサバスコントローラシ
ステムはそのステーションと通信する32ビットデータ
ワード上で動作するHIA214である。
【0123】c.インデックスプロセッサ(IXP) インデックスプロセッサ(IXP)236は、アウトボ
ードファイルキャッシュXPC102のファイルスペー
ス502を管理する。IXPは全体的なキャッシュ制御
機能を与えるとともに、ファイルアクセスコマンドにつ
いての論理アドレスから物理へのアドレスマッピングを
行なう。キャッシュ制御機能にはどのファイルセグメン
トがファイルキャッシュ中に存在するかをトラッキング
することと、ファイルに割当てられるセグメントを選択
することとが含まれる。IXPは選択されたセグメント
のデステージングを開始し、かつ同じセグメントへのア
クセスの争いを管理する。IXP236aまたは236
bのどちらか一方が故障した場合の回復メカニズムとと
もに、1つのファイルがキャッシュを独占することを防
止する対策が設けられる。IXPはNVS220からホ
スト10への実際のデータ転送は行なわないが、データ
転送動作の設定および制御を行なう。
【0124】図31はインデックスプロセッサ(IX
P)の機能的ブロック図である。IXP236はストリ
ート234を介してアウトボードファイルキャッシュX
PC102の他のコンポーネントと通信する。インタフ
ェースライン5802はマスタマイクロエンジン580
4をストリートに接続する。インタフェースライン58
02は20本の実信号線からなる。これらの20本の実
信号線は、16本のデータ線と、1本のパリティ線と、
1本の要求線と、1本の利用可能線と、1本の肯定応答
線とからなる。同様に、インタフェースライン5806
は20本の書込信号線からなる。これらの書込信号線
は、16本のデータ線と、1本のパリティ線と、1本の
要求線と、1本の利用可能線と、1本の肯定応答線とを
含む。
【0125】IXP236は2つのマイクロエンジン5
804および5808を含む。各マイクロエンジンは1
0MIP速度で動作し、かつ算術機能および論理機能を
行なうために32機能ALUを含む。各マイクロ命令
は、各ローカル記憶装置5810または5812からの
読出、ALUサイクルの実行、および各ローカル記憶装
置中への結果の記憶ができる。マイクロエンジン580
4および5808は、5814と符号を付されるライン
5802および5806を介してストリート234とイ
ンタフェースする専用RISCマイクロプロセッサであ
る。マイクロエンジンは、高速スタティックランダムア
クセスメモリ(SRAM)である制御記憶装置5816
に記憶された命令ストリームを実行する。この命令スト
リームはシステムの初期化時に制御記憶装置中に書込ま
れる。命令ストリームはライン5818を介して制御記
憶装置からマスタマイクロエンジン5804によって取
出される。同じ命令ストリームはライン5820を介し
て制御記憶装置からスレーブマイクロエンジン5808
を介して取出される。マスタおよびスレーブマイクロエ
ンジンは、同時に同じ命令を実行するが、マスタマイク
ロエンジンだけがライン5802を介してストリートに
データを書込む。スレーブマイクロエンジンによって行
なわれる動作の結果は、ライン5822を介してマスタ
マイクロエンジンに送られ、ここでその結果はマスタマ
イクロエンジンによって行なわれた動作の結果と比較さ
れ、プログラム制御にエラーや損失の可能性がないかど
うかを検出する。
【0126】図32はIXP236の主処理ループのフ
ローチャートである。各IXPには個々のIXPナンバ
が割当てられる。決定ステップ5852は、決定ステッ
プ5852を行なうIXP236が最低のIXPナンバ
に割当てられるかどうかを検査する。現時点で最低のI
XPナンバを有するIXPだけがファイルスペース50
2の再区分のためにネイルスペース523およびレジデ
ントファイルスペース524をモニタする。IXP23
6が最低ナンバのIXPならば、制御は決定ステップ5
854に向けられる。ファイルスペース502は、たと
えば5日毎などの予め定められたスケジュールで必要に
応じて再区分される。決定ステップ5854は5日間タ
イマが終了したかどうかをテストする。5日間タイマが
切れると、LESS−NAIL処理を行なうようにステ
ップ5856へ制御が進む。LESS−NAIL処理
は、ネイルスペースからキャッシュファイルスペース5
22へセグメントを変換する。同様に、ステップ585
8はLESS−XRF処理を行ない、セグメントをレジ
デントファイルスペース524からキャッシュファイル
スペースへ変換する。
【0127】ステップ5860では、IXPはアクティ
ビティキュー346からエントリを入手する。アクティ
ビティキューからエントリを受け取るIXPは、アクテ
ィビティキューはすべてのIXP間で共用されているた
め、アウトボードファイルキャッシュ102の一部であ
る他のいずれのIXPとも協調しなければならない。も
しアクティビティキューからのエントリが主処理ループ
の先の反復から要求されたものであれば、ステップ58
60は他のアクティビティキューのエントリは読出そう
としない。
【0128】ステップ5862は、HIA214が、ア
クティビティキュー346から入手したエントリに対応
するコマンドパケット452をIXP236に送ること
を要求する。取出されたエントリはコマンドパケットが
そこから要求されるべき特定のHIA214を示す。I
XPの主処理ループは、HIAからのコマンドパケット
を待機している間はアイドルのままではない。したがっ
て、ステップ5862でHIAからコマンドパケットが
要求された後、決定ステップ5864で処理が継続す
る。ここでステップ5862は、もしHIAに対する未
処理の要求があれば、他のコマンドパケットは要求しな
い。
【0129】決定ステップ5864は、コマンド処理の
間にミス状態が検出された場合に使用する8つのセグメ
ントがIXP236によってリザーブされているかどう
かをテストする。各IXPは、ミスが発生してから割当
用のセグメントを選ぶのではなく、ミス状態が検出され
た場合にリザーブされたセグメントの1つ以上のセグメ
ントをすぐに割当てられるように、8つのセグメントを
リザーブしておこうとする。これはファイルアクセスコ
マンドが与えられる速度を向上させる。もし8つのセグ
メントがすべてリザーブされていれば、決定ステップ5
864は制御をステップ5866へ向ける。ステップ5
866はセグメントを将来の使用に備えてリザーブする
ためにPRE−USE処理を引起こす。
【0130】決定ステップ5868は、コマンドパケッ
ト452がHIA214から受取られたかどうかをテス
トする。もし処理するコマンドパケットが全くなけれ
ば、制御はステップ5860へ戻って必要に応じてアク
ティビティキューからエントリを入手する。同様に、ス
テップ5862はコマンドパケットがまだ要求されてい
ない場合にのみHIAからコマンドパケットを要求す
る。決定ステップ5868が処理するコマンドパケット
が存在することを発見すれば、制御は決定ステップ58
70へ向けられる。
【0131】もしコマンドパケット452中のコマンド
が、参照されたセグメントについてファイルスペース5
02をサーチすることを要求するタイプのものであれ
ば、決定ステップ5870は制御をステップ5872へ
向ける。ステップ5872はコマンドによってアドレス
指定されるセグメントについてハッシュテーブル600
0中のインデックスを見つけるために、HASH処理を
引起こす。ステップ5872で見つけられたハッシュテ
ーブルエントリを用いて、決定ステップ5874は、コ
マンドによって参照された第1のセグメントを参照する
8つのハッシュテーブルエントリからなるグループにロ
ックが与えられたかどうかをテストする。もしロックが
与えられていなければ、制御はステップ5876へ進
み、そこでしばらく後にロックが要求される。ロックが
与えられると、ステップ5878はファイルディスクリ
プタテーブル506からファイルディスクリプタ508
を読出す。ステップ5880は、コマンドパケット中の
コマンドをデコードし、かつ要求される動作を実行する
ために必要な処理を引起こすようにCOMMAND_B
RANCH処理を引起こす。
【0132】d.記憶装置インタフェースコントローラ
(SICT) 記憶装置インタフェースコントローラ(SICT)22
8(図6参照)は、ストリート234と不揮発性記憶装
置(NVS)220との間のインタフェースコントロー
ルである。SICTは、4つのベーシックインタフェー
スと、ストリートからのレシーバインタフェースと、パ
ワードメインAおよびB中のNVSへの送信インタフェ
ースと、各パワードメイン中のNVSからのレシーバイ
ンタフェースと、ストリートへの送信インタフェース
と、クロックおよびスキャン/セットインタフェースと
を含む。
【0133】SICTの第1の基本的機能は、ストリー
ト234から要求を受取り、その有効性を証明し、それ
らをNVS220へ渡すことである。また、機能上の差
異が検出され、かつステータスおよびデータが正しいリ
クエスタ(IXP236またはHIA214のいずれ
か)に経路指定されて戻ることができるようにパケット
情報をセーブしなければならない。第2の基本的機能
は、NVS220からデータを受取り、そのデータをパ
ケットに再び組立て、要求されたデータをストリート2
34を介してリクエスタに送信して戻すことである。N
VSアレイからデータを受信する工程で、SICTはN
VSの複数ビットエラーとカード故障とを訂正し、エラ
ーステータス情報を検出およびレポートし、パケットヘ
ッダおよびチェックサムを作らなければならない。
【0134】第3のかつ最後の基本的機能は、記憶装置
へのメインテナンス要求のためにNVS220へインタ
フェースを設けることである。これには初期化、再格
納、およびデータの一般的読出/書込が含まれる。スト
リート234を介して受信された書込要求は、インタフ
ェースのタイミングが許せばNVS220へ送られる。
SICT228は、もしNVSインタフェースがすぐに
利用できなければ最大8つまでの要求をバッファする。
要求がNVSに送信されている時、リクエスタの識別お
よび場所はデータがリクエスタに戻ることができるよう
に後で使用するためにセーブされる。書込要求は通常は
各パワードメイン250中のNVSに送られる。SIC
Tは、次の書込要求に進む前に各パワードメイン中のN
VSからの肯定応答を待つ。
【0135】ストリート234を介して受信した読出要
求は書込要求とほぼ同じ態様で処理される。相違点は、
NVS220から読出されたデータはストリード234
を介してリクエスタに戻されることである。 e.不揮発性記憶装置(NVS) 不揮発性記憶装置220は各パワードメインAおよびB
内の5つのNVSアレイカード(図示せず)のうちの1
つから作られる。2つのパワードメインは常に同じ数の
NVSアレイカードを含む。その構造は詳細には示さな
いが、以下の機能を行なうことが可能なさまざまなメモ
リ構造を用いることができると理解されたい。データは
1番目から4番目までのNVSアレイカードを介して記
憶されることができ、第5番目のアレイカードは他のア
レイカード中のデータのチェックサムを記憶する。
【0136】各NVSアレイカードは、4ポートの40
ビット記憶装置アレイに加えて、1ビットエラー訂正、
2ビットエラー検出、データバッファ、インタフェー
ス、優先順位、クロック、およびメインテナンス論理を
含む。この論理は、100ns毎に1ワードの最大帯域
通過を維持しながら、各ポートからの同時要求を解決す
る。4ポートインタフェースの各々は、19ビットのパ
リティ保護シリアル入力バスと、4ビットのパリティ保
護シリアル読出データバスと、エラーラインと、有効ラ
インとからなる。エラー訂正コードは書込要求について
はNVSゲートアレイによってデータおよびアドレス上
で発生し、かつ読出動作の間にNVSゲートアレイによ
ってチェックされおよび/または訂正される。各NVS
アレイカードは320のDRAM記憶装置を含み、これ
らの記憶装置の容量は4MB、16MB、または64M
Bのいずれかである。
【0137】f.ストリートプロセッサ間ネットワーク 図33は、アウトボートファイルキャッシュ内部のスト
リートプロセッサ間通信および記憶装置アクセスネット
ワークの機能的コンポーネントをさらに示すブロック図
である。図33は4つのIXPおよびHIAを有する構
成を示すが、より大きな構成が考えられるため、示され
る構成は単に例示的なものである。ストリートはパワー
ドメインAおよびBにわたり、SICT228に要求を
送ることによってIXP236およびHIA214がN
VS220からデータを読出しかつそこへデータを書込
むことが可能となる。さらに、各IXPは他のHIAの
各々と通信し得る。たとえば、IXP236aはデータ
パケットをHIA214a、214b、214c、およ
び214dに送ることができる。同様に、HIA214
a、214b、214c、および214dは、データパ
ケットをIXP236a、236b、236c、236
dの各々に送ることができる。
【0138】ストリート234はHUBと称されるVS
LIゲートアレイを用いて実現される。HUB0 72
8(728a、728b、728c、および728d)
は、1対のIXP236/HIA214ごとにストリー
ト234にインタフェースを与える。各インタフェース
はライン5130および5814を介して与えられる。
IXPおよびHIAは関連したHUB0を介してデータ
パケットを送受信する。各HUBはデータパケットを経
路指定するために5つのインタフェースを有する。HU
B0 728用の5つのインタフェースは、IXPイン
タフェースと、HIAインタフェースと、アップストリ
ートインタフェースと、ダウンストリートインタフェー
スと、HUB1 730インタフェースとを含む。IX
Pインタフェース(明確に図示せず)は、ライン571
4を介してデータパケットをIXP236へ、かつIX
P236から経路指定する。HIAインタフェース(明
確には図示せず)は、データパケットをライン5130
を介してHIA214へ、かつHIA214から経路指
定する。
【0139】アップストリートインタフェース(明確に
は図示せず)は、データパケットを他のHUB0から受
取り、そのデータパケットをアップストリートインタフ
ェースを介して必要に応じて別のHUB0に経路指定す
る。たとえば、HUB0 728cは、データパケット
をライン740を介してそのアップストリートインタフ
ェース上で受取る。もしデータパケットがIXP236
cまたはHIA214cのいずれかにアドレス指定され
れば、データパケットは各コンポーネントに送られる。
もしデータパケットがHIA214aまたはIXP23
6aのいずれかにアドレス指定されれば、データパケッ
トはアップストリートインタフェースによってライン7
42を介してHUB0 728a用のアップストリート
インタフェースへ送られる。ダウンストリートインタフ
ェースも同じように動作する。HUB0 728中のH
UB1インタフェースはデータパケットをHUB1 7
30へ送り、かつそこから受信する。
【0140】HUB1についての5つのインタフェース
は、HUB0からデータパケットを送受信するためのH
UB0インタフェースと、SICTからデータパケット
を送受信するためのSICTインタフェースと、アップ
ストリートインタフェースと、ダウンストリートインタ
フェースと、クロスオーバインタフェースとを含む。こ
こで、IXPまたはHIAからSICTへ送られたデー
タパケットは、SICTに直接結合されたHUB1 7
30に直接結合された特定のHUB0にデータパケット
が到達するまで、HUB0 728によって制御される
ストリートの部分に沿って送られる。SICTからIX
PまたはHIAのいずれかに送られるデータパケット
は、データパケットがアドレス指定されるIXPまたは
HIA用のストリートインタフェースを与えるHUB0
に直接結合された特定のHUB1にデータパケットが到
達するまで、HUB1 730によって制御されるスト
リートの部分に沿って送られる。
【0141】HUB1 730のクロスオーバインタフ
ェースは、エラー状態によって通常通りアップストリー
トまたはダウンストリートに沿ってデータパケットを送
信することができない場合にデータパケットを再経路指
定する。HUB1 730aとHUB1 730bとの
クロスオーバインタフェースは、ライン238aを介し
て結合され、かつHUB1 730cとHUB1 73
0dとのクロスオーバインタフェースはライン238b
を介して結合される。クロスオーバインタフェースによ
り、HUB1 730によって制御されるストリート2
34の部分に沿って進むデータパケットを再経路指定
し、かつHUB0 728によって制御されるストリー
トの部分に沿って進むデータパケットを再経路指定する
ことが可能となる。たとえば、HUB0 728aに送
られるべきHUB0 728cのアップストリートイン
タフェースにおけるデータパケットは、もしHUB0
728aがそのアップストリートインタフェース上でH
UB0 728cからデータパケットを受取ることがで
きなければ、HUB1 730cおよびHUB1 73
0dを介してHUB0 728dのアップストリートイ
ンタフェースに再送することができる。
【0142】5.マルチホスト能力 ファイルキャッシュシステムのマルチホスト能力は、ア
ウトボードファイルキャッシュHPC102を複数のホ
スト10間で共有し、ファイル114a−hのうちの選
択されたものを複数のホスト間で共有することを含む。
アウトボードファイルキャッシュXPC102中で実現
される記憶装置管理およびロック制御処理によってこの
機能が与えられる。図34はアウトボードファイルキャ
ッシュに結合された複数個のホストを含むデータ処理構
成を示すブロック図である。この例示的構成は3つのホ
スト10a、10bおよび10cを含む。各ホストは制
御ユニット104に結合されるため、1つ以上のディス
ク106へのアクセスを与える。この例示的構成では、
ホスト10aおよび10bは制御ユニット104aを介
して、106aで示される1つ以上のディスクへのアク
セスを共有する。ホスト10cは制御ユニット104b
を介して、106bで示される1つ以上のディスクへの
アクセスを有する。
【0143】わずか3つのホストしか示されていない
が、アウトボードファイルキャッシュは最高64までの
HIA214を設けることができ、このため合計32の
冗長なホスト接続を作ることができると理解されたい。
アウトボードファイルキャッシュXPC102は各ホス
ト毎に2つの利用可能なホストインタフェースアダプタ
(HIA)214を有する。1つのホストに与えられた
第1のHIAはパワードメインA中にあり、1つのホス
トに与えられた第2のHIAはパワードメインB中にあ
る。HIA214aおよび214bはホスト10aのた
めにアウトボードファイルキャッシュへのアクセスを与
え、ここでHIA214aはパワードメインA中にあ
り、HIA214bはパワードメインB中にある。光フ
ァイバリンク112aおよび112bはそれぞれHIA
214aおよび214bをI/Oコンプレックス32中
の関連したデータムーバ(DM)110に結合する。同
様に、HIA214cおよび214dはホスト10bの
ために設けられ、ここでは光ファイバリンク112cお
よび112dはホスト10bをアウトボードファイルキ
ャッシュ102へ結合する。ホスト10cは同様の態様
でアウトボードファイルキャッシュに結合される。
【0144】例示的構成に含まれるHIA214a−f
の各々については、インデックスプロセッサ(IXP)
236が設けられる。どのインデックスプロセッサ23
6a−fもHIA214a−fの任意のものを介して送
られたコマンドを処理することができると理解された
い。アウトボードファイルキャッシュXPC102中に
他のHIAが設けられる場合、処理能力を増やすために
IXPも加えられる。こうして、IXP214a−fの
どれもHIA214a−fの任意のものとインタラクト
し得る。たとえば、コマンドパケット452は光ファイ
バリンク112aおよびHIA214aを介してホスト
10aから送られ、その後、IXP236fによって処
理されることができる。
【0145】アウトボードファイルキャッシュXPC1
02中のキャッシュ記憶装置は、ブロック732a、7
32b、および732cとしてそれぞれ示される記憶装
置インタフェースコントローラ(SICT)および不揮
発性記憶モジュール(NVS)に設けられる。各ブロッ
ク732a−cは1対のSICT(図6中228aおよ
び228bで示す)および不揮発性記憶モジュール(図
6中220で示す)を表わす。IXP236a−fによ
ってメモリ管理機能が与えられる。ストリート234a
および234bは、記憶装置732a−cとHIAとI
XPとの間にデータ転送機能を与えると同時に、HIA
214a−fとIXP236a−fとの間にプロセッサ
間通信機能を与える。構成中の各HIA−IXP対につ
いては、データおよび要求の経路指定のために、関連し
たクロスオーバ238a−cが存在する。
【0146】XPC102を使用する際のソフトウェ
ア、データ転送、コマンド処理、ディスクリプタ、ファ
イルロックおよびアンロック、ならびに他の動作は、上
記のアウトボートファイルキャッシュシステムと題され
た同時継続中の出願で説明される。 6.主要コンポーネントの詳細な説明 アウトボードファイルキャッシュXPC102に機能性
を与える、主要コンポーネントおよびその相関関係を説
明してきたが、本発明のさまざまな特徴の範囲および局
面を完全に理解するために、より詳細な説明を行なう。
可能な限り上記で使用した共通な参照符号および記号を
使用するつもりだが、処理の度合が異なるため、係る符
号を維持していくことは手間がかかり、かつ不明瞭であ
ると理解されたい。いずれにしても、参照符号について
は調整を行なう。
【0147】a.クロックおよび電力分配 アウトボードファイルキャッシュシステムで使用するた
めのフォールトトレラントクロック分配システムは、冗
長同期クロック信号を使用して多重回路負荷をクロック
する。冗長発振器、位相検出および同期回路、クロック
分配回路、ならびにACおよびDC電力源を使用するこ
とによって高いフォールトトレランスが与えられる。同
期エラーからの自動または手動回復を可能にするために
エラー検出回路が設けられ、誤ったクロック信号から動
作クロック信号へ切換えるために選択回路が使用され
る。この発明は単一位相クロック信号を発生し、多重ク
ロック位相の複雑な同期および分配を避けるために、回
路負荷で多重位相イネーブル信号を与える。これらのエ
レメントの組合せにより、非常にフォールトトレラント
で、相対的にスキューのない多重位相クロック分配シス
テムがもたらされる。
【0148】クロック分配システムは多重パワードメイ
ンを使用し、これらは別々のDC電力源によって給電さ
れる。クロック源回路は各パワードメインに含まれ、各
パワードメインでディジタル発振器信号を与える。この
ディジタル発振器信号はシステムの他のパワードメイン
の各々からのディジタル発振器信号の各々と同期され
る。したがって、各パワードメインはすべての他のディ
ジタル発振器信号と同期されるディジタル発振器信号を
有することになり、これらの信号は同期クロック信号と
呼ばれる。各パワードメインはまたクロック信号分配回
路を含み、そのパワードメイン内の同期クロック信号を
同じパワードメイン内の他の負荷に分配する。同期クロ
ック信号の各々は他のパワードメインからの同期クロッ
ク信号がそれぞれの回路負荷をクロックするのと同時に
そのパワードメイン内の回路負荷をクロックすることが
可能である。したがって、パワードメインの各々の回路
負荷の各々内のアクティビティは同時に発生し、1つの
パワードメインの回路負荷にストアされたどんなデータ
も他のパワードメイン上にストアされたデータと等価に
なる。
【0149】電源異常の場合に連続動作を確実にするた
めに、この発明では多重レベルの電力源冗長性が使用さ
れる。各パワードメインは別々のDC電力源によって給
電される。パワードメインの1つと関連するDC電力源
に異常があっても、他のパワードメインは各パワードメ
イン内に独立したDC電力源回路が存在するために動作
し続ける。DC電力源の信頼性をさらに増すために、こ
の発明の別の局面は各DC電力源内に多重DC電源を含
む。これらのDC電源の各々は並列に接続され、その関
連のパワードメインに同時に給電する。このように、D
C電源の1つの異常によりそのパワードメインと関連す
るDC電力源の効力がなくなることはない。この発明の
電力冗長性は冗長AC電力源の使用によりこの発明の別
の局面でさらに高められる。各DC電力源内のDC電源
の各々にAC電力を与えるために別個のAC電力源が使
用される。たとえば、各DC電力源内で2つのDC電源
が使用されれば、2つのAC電力源が使用され、各DC
電力源のDC電源の一方は第1のAC電力源によって駆
動され、各DC電力源の他方のDC電源は第2のAC電
力源によって駆動される。したがって、いずれかのAC
電力源に異常があっても、他方のAC電力源が各DC電
力源内の1つの電源にAC電力を供給し続け、DC電力
源のいずれもがDC電力を供給するのを停止することは
ない。
【0150】各パワードメイン内の発振器信号はお互い
と同期され、同期クロック信号のグループを発生する。
冗長発振器が各パワードメインで使用され、各々が残り
のパワードメインの発振器の各々と同期される場合に
は、多数の回路負荷を駆動するために同時に同期された
クロック信号のグループを選択できる。回路負荷に同期
クロッキングを与えるために任意の数のこれらの同期ク
ロック信号が選択され得る。2つの冗長回路負荷がクロ
ックされるのであれば、同期クロック信号のうちの2つ
が選択回路によって選択され、冗長回路負荷の各々を同
時にクロックする。選択回路が適切な同期クロック信号
を選択するためには、冗長回路負荷を同時にクロックす
るために同期クロック信号のうちのどちらが選択される
べきかを指定する選択制御回路が必要である。この発明
の選択制御回路により、同期クロック信号の自動選択、
またはユーザインタフェースによる手動選択が可能にな
り、所望の同期クロック信号を選択して回路負荷をクロ
ックすることができる。
【0151】回路異常からの高いレベルのセキュリティ
を与えるために、多重クロック分配回路が設けられる。
各クロック分配回路は回路負荷をクロックするために選
択された同期クロック信号を受取り、その回路負荷内で
回路をクロックするのに必要なクロック駆動能力を与え
る。1つのクロック分配回路に異常があれば、他の同期
クロック信号は残りのクロック分配回路を介して分配さ
れ、これらのクロック分配回路に関連する回路負荷はク
ロックされ続ける。クロックされているすべての回路負
荷が冗長回路負荷であれば、1つのクロック分配回路の
ロスはデータロスにはならない。なぜなら、冗長回路負
荷の各々は同じデータを含み、残りのクロック分配回路
は残りの冗長回路負荷に有効クロック信号を適切に与え
続けるからである。
【0152】選択回路もまた冗長性を含む。各同期クロ
ック信号は少なくとも2つの別々の選択回路によって選
択可能である。したがって、一方の選択回路に異常があ
っても、選択制御回路は残りの使用できる選択回路によ
って所望の同期クロック信号を依然として選択できる。
したがって、各クロック分配回路は多重入力が所望の同
期クロック信号を与える冗長選択回路の各々から所望の
同期クロック信号を受取ることを要求する。これらの多
重入力から、クロック分配回路はこれらの入力の1つか
らの同一の同期クロック信号のうちの1つを駆動クロッ
ク信号として選択し、残りの入力における他の同期クロ
ック信号を無視する。同期クロック信号をクロック分配
回路の選択された入力に与える選択回路に異常があれ
ば、クロック分配回路は自動的にその残りの入力の1つ
に切換え、別の冗長選択回路から同じ同期クロック信号
を受取る。この入力切換を行なうために、クロック分配
回路はその入力の各々で同期クロック信号をモニタしな
ければならず、マルチプレクサは同期クロック信号のう
ちのどれが回路負荷を駆動すべきかを選択する。
【0153】この発明はスキュー検出回路を含み、同期
クロック信号の適切な同期を確実にする。スキュー検出
により2つの同期クロック信号が適切な同期を維持して
いないと判断されれば、スキュー検出回路は、選択回路
に適切な制御信号を送ることによって、選択制御回路に
異なった同期クロック信号を選択するように通知する。
これにより同期クロック信号エラーが発生したにもかか
わらず回路負荷の連続クロッキングが与えられる。この
発明の別の局面は、選択された同期クロック信号の異な
ったパルスでの回路負荷のクロッキングを与える。回路
負荷を同期クロック信号の選択されたパルス上にクロッ
クする能力を与えることが望ましいが、各パワードメイ
ンで多重発振器を使用することにより、発振器信号の多
重位相が発生され回路負荷に分配されれば、非常に複雑
な同期状況が生み出されることになる。発振器信号の多
重位相をまず発生して、その後他のパワードメインの冗
長発振器信号の対応の位相にその位相のすべてを同期さ
せるのではなく、この発明は単一位相同期クロック信号
のみを回路負荷に駆動する。回路負荷における同期クロ
ック信号の受信時には、単一位相同期クロック信号が回
路負荷を単一位相同期クロック信号の特定のパルス上に
クロックすることを「イネーブルする」多重位相イネー
ブル回路が存在する。したがって、同期クロック信号は
その関連のパワードメインのすべての回路負荷にクロッ
クトリガパルスを与え、各回路負荷はイネーブル信号を
発生して回路負荷内の各回路をイネーブルまたはディス
エーブルし、これらのクロックトリガパルスを受信また
は無視する。
【0154】この非常に冗長な多重位相クロック分配シ
ステムは連続動作を必要とするシステムには非常に有益
である。パワーシステム、クロック源および同期、なら
びにクロック分配の冗長性により、システムは異常が発
生した場合でも適切に動作し続けることができる。この
フォールトトレラントなクロック分配システムはデータ
ロスが発生しないことを確実にするために冗長回路負荷
が使用されるところでは特に有利である。このシステム
は自動または手動エラー回復を与え、多重位相イネーブ
ル信号の使用によって回路負荷設計の柔軟性を与える。
【0155】図35はクロック分配システムのブロック
図であり、別々の電圧バスによって給電された複数のク
ロック源は同数の等価回路負荷を同時にクロックするた
めにパワードメイン境界を横切って同期される。このブ
ロック図はクロック分配冗長性の目的を示しており、同
一のデータのコピーをストアするn(n=1より大きい
任意の数)個の等価負荷は、負荷データの等価性を維持
するために別々のパワードメインのクロック源によって
同時にクロックされ、単一のACまたはDC電力異常が
データのロスにつながらないことを確実にする。この図
から、付加的なパワードメインには付加的なクロック源
が加えられ得ることがわかり、元のクロック信号は付加
的なクロック信号と同期され、必要なだけの数の負荷
(n個の負荷)を同時にクロックし、電力異常またはク
ロック源異常がデータのロスを何も生じないという所望
される保証を得ることができる。
【0156】図35においては、パワードメインA 1
010、パワードメインB 1012、パワードメイン
C 1014、およびパワードメインn 1016は別
々のDC電力源(好ましい実施例ではDC電源)によっ
て給電され、各パワードメインは完全に分離された電圧
バスを示す。DC電力源A 1018はパワードメイン
Aの回路にDC電圧を供給し、DC電力源B 1020
はパワードメインBの回路にDC電圧を供給し、DC電
力源C 1022はパワードメインCの回路にDC電圧
を供給し、DC電力源n 1024はパワードメインn
の回路にDC電圧を供給する。好ましいコンポーネント
論理ファミリィに依存して、パワードメインに給電する
ためにどんな電圧でも使用できる。好ましい実施例で
は、DC電力源はそれぞれのパワードメインに+5ボル
トDCを供給する。DC電力源の各々は、AC電力源A
1026、AC電力源B 1028、AC電力源C
1030、…、AC電力源n 1032と記されたAC
電力源によって給電される。独立したAC電力源の数を
パワードメイン当り1個から少なくとも1つのAC電力
源まで減らすことは選択の自由である。これは特定のア
プリケーションに必要とされる所望のAC電力源冗長性
に依存する。たとえば、3つのパワードメインが使用さ
れる場合には、僅か2つのAC電力源によって3つのD
C電力源にAC電力を供給することが可能であろう。こ
の場合には、DC電力源のうちの2つは単一のAC電力
源によって給電される。
【0157】パワードメインA 1010およびパワー
ドメインB 1012はパワードメイン境界A/B 1
034によって分離され、パワードメインB 1012
およびパワードメインC 1014はパワードメイン境
界B/C 1036によって分離される。パワードメイ
ンn 1016はパワードメイン境界n/n−1 10
38によってパワードメインn−1から分離され、これ
は選択された独立のパワードメインの数に依存する。こ
れらの境界はパワードメインの電圧バスを隣接するパワ
ードメインの電圧バスから物理的に分離する。各パワー
ドメイン内には、振動性ディジタルクロック信号を与え
るクロック源回路が存在する。クロック源A 1040
はパワードメインAにあり、クロック源B 1042は
パワードメインBにあり、クロック源C 1044はパ
ワードメインCにあり、…、クロック源n 1046は
パワードメインnにある。各クロック源回路は分離され
た電圧バスによって給電されるので、冗長クロック源回
路は一方のクロック源に電圧を供給するAC電力源また
はDC電力源のいずれかに異常が発生する、または動作
不能になった場合でも動作状態のままである。たとえ
ば、DC電力源Aを含む単数/複数の電源に異常があ
り、それによってクロック源Aのクロック信号が動作を
停止したとしても、クロック源B、クロック源C、およ
びクロック源n1046までのすべてのクロック源は影
響を受けず、クロック信号をその負荷に供給し続ける。
このシステムは動作を継続することが可能であり、パワ
ードメインAの負荷A 1048で失われたデータは、
パワードメインの負荷B 1050、パワードメインC
の負荷C 1052、…、パワードメインnの負荷n
1054に既に保存されてしまっているであろう。なぜ
なら、DC電力源Aの異常の前に負荷Aで処理されてい
た同一のデータは負荷B、負荷C、…、負荷nでも同時
に処理されていたからである。したがって、データのn
個のコピーの1つがそのDC電力源を失っただけである
ので、データロスは何も発生しない。
【0158】冗長パワードメイン、冗長回路負荷、およ
び冗長クロック分配回路の使用により、各負荷の同じ情
報は同時にクロックされることが可能である。各パワー
ドメインの各負荷が同じ情報を維持するために、各負荷
に送られる情報またはデータは正確に同時にクロックさ
れなければならない。各負荷が確実に同時にクロックさ
れるために、クロック源A 1040からのクロック信
号は、クロック源B1042、クロック源C 104
4、…、クロック源n 1046からのクロック信号と
同期される。これらのクロック信号はクロック信号A
1056、クロック信号B 1058、クロック信号C
1060、…、クロック信号n 1062と呼ばれ
る。パワードメインA、B、Cおよびnのシンクロナイ
ザ&分配回路A 1064、B 1066、C 106
8およびn 1070は、所与のパワードメインのクロ
ック信号の残りのパワードメインからのクロック信号と
の同期を実行する。
【0159】クロック信号の同期はパワードメイン境界
A/B 1034、B/C 1036、…、n/n−1
1038を横切って実行される。シンクロナイザ&分
配回路はn個のクロック信号間の位相差を検出し、その
クロック信号を再同期し、同期クロック信号A 107
2、B 1074、C 1076およびn 1078を
負荷A 1048、B 1050、C 1052および
n 1054にそれぞれ分配する。好ましい実施例で
は、各負荷は等価のメモリおよびメモリ制御回路を含
む。1つの負荷にクロックされる情報のすべてはまた同
時に他の負荷にもクロックされている。このように、い
ずれかのパワードメインにおける電圧の損失はそのパワ
ードメインの負荷にストアされた情報にしか影響を及ぼ
さず、他の負荷は有効データをストアし続ける。各負荷
には1つのパワードメインへの電力の損失の前に同一の
情報が同時にクロックされていたので、残りのパワード
メインの負荷は以前のデータのすべて、プラスそれにク
ロックされるいかなる新しいデータをも保持することに
なる。
【0160】図36はフォールトトレラントクロック分
配システムの好ましい実施例のブロック図である。好ま
しい実施例において、所望の信頼性を得るためには2つ
のパワードメインしか必要ではなかった。言い換えれ
ば、図36のパワードメインの数(n)は2に等しい。
それらのパワードメインはパワードメインA 1010
およびパワードメインB 1012と記される。パワー
ドメインAはAC電力源A 1026、および1つ以上
のDC電源からなるDC電力源A 1018から給電さ
れる。同様に、パワードメインB 1012はAC電力
源B 1028およびDC電力源B 1020から給電
される。
【0161】まずパワードメインAを見ると、クロック
源A 1040からのクロック信号A 1056および
パワードメインB 1012クロック源B 1042か
らのクロック信号B 1058は、シンクロナイザ&分
配回路A 1064に対する入力である。シンクロナイ
ザ&分配回路はクロック信号AとBとの間の位相差を検
出し、これら2つのクロック信号が適切に同期されてい
なければクロック信号Aを調整し、同期クロック信号A
1072を負荷A 1048に分配する。同期クロッ
ク信号Aはクロック信号B 1058と同期されるよう
に調整されたクロック信号A 1056からなる。次に
パワードメインBを見ると、クロック源Bからのクロッ
ク信号B、およびパワードメインAのクロック源Aから
のクロック信号Aはシンクロナイザ&分配回路B 10
66への入力であり、このシンクロナイザ&分配回路は
クロック信号BとAとの間の位相差を検出し、これら2
つのクロック信号が適切に同期されていなければクロッ
ク信号Bを調整し、クロック信号B 1074を負荷B
1050に分配する。したがって、同期クロック信号
Bはクロック信号A 1056と同期されるように調整
されたクロック信号B 1058である。各クロック信
号を他のクロック信号と同時に同期することによって、
負荷Aおよび負荷Bは正確に同時にクロックされること
になる。
【0162】好ましい実施例において、負荷A 104
8および負荷B 1050は等価のメモリおよびメモリ
制御回路を含む。一方の負荷にクロックされる情報のす
べては同時に他方の負荷にもクロックされている。この
ように、いずれかのパワードメインにおける電圧の損失
はそのパワードメインの負荷にストアされた情報に影響
を及ぼすだけであり、他の負荷は有効データをストアし
続ける。各負荷には同一の情報が1つのパワードメイン
への電力の損失の前に同時にクロックされていたので、
残りのパワードメインの負荷は以前のデータのすべて、
プラスその後それにクロックされたいずれの新しいデー
タをも保持する。さらに、所与のパワードメイン内の何
か他の回路に異常があってその同期クロック信号がその
負荷を適切にクロックできなくなった場合には、発生し
た特定の異常およびシステムが動作している動作モード
に依存して、システムが動作し続けるまたはおだやかに
回復できるように関連のクロック源能力とともに別の完
全なパワードメインが存在する。クロック分配システム
のためのエラー検出および回復のより詳細な説明はこの
明細書の後半に与えられる。
【0163】図37はDC電力源B 1020またはA
C電力源B 1028に異常があった場合のフォールト
トレラントクロック分配システムを示す。DC電力源B
またはAC電力源Bに異常があった場合には、パワード
メインB 1012への電圧はもはやその回路に給電す
るための電圧バス上には存在しない。そのような場合に
はパワードメインBの回路のいずれもが使用できる状態
ではない。この場合、クロック源A 1040はたとえ
パワードメインBに異常があってもシンクロナイザ&分
配回路A 1064を介して負荷A 1048にクロッ
ク信号を与え続ける。負荷B 1050にストアされて
いたデータは同時に負荷Aにもストアされていたので、
パワードメインBへの電圧の損失の結果としてデータは
失われない。DC電力源A 1018またはAC電力源
A 1026に異常がある場合にも同様の状況が生じ
る。この場合には、パワードメインBの回路は動作状態
のままである。より程度の高い信頼性が所望され、付加
的なパワードメインおよび関連の回路が使用されていれ
ば(つまり図35のパワードメインC 1014)、2
つのパワードメインは1つのパワードメインの損失時に
動作状態であり続ける。この場合には、貴重なシステム
データまたはエラー回復能力を失うことなく2つの異な
ったパワードメインの2つの異常が発生することも可能
である。
【0164】図38は各負荷を供給する同期クロック信
号を示す波形図であり、この図はさらに所与のパワード
メインの同期クロック信号が他の同期クロック信号の損
失時にそれぞれの負荷をどのようにクロックし続けるか
を示す。前述のように、もしDC電力源A 1018に
異常があれば、クロック源A 1040はクロック信号
A 1056の発生を停止し、それにより同期クロック
信号A 1072を失うことになり、負荷A 1048
はもはやクロック信号を受信しない。図38はパルス1
080の立下がり縁での同期クロック信号A 1072
の損失を示すが、同期クロック信号B 1074は負荷
B 1050をクロックするために依然として動作状態
のままであることを示す。これは各クロック源回路が別
個のDC電力源によって給電されているからである。同
期クロック信号B 1074が機能を停止し、同期クロ
ック信号A 1072が動作し続けた場合にも同じよう
なシナリオが描かれる。
【0165】図39は好ましい実施例のAC電力源およ
びDC電力源冗長性を示す。電圧損失に対して格別のレ
ベルのセキュリティを与えるために、各DC電力源にお
いて冗長電源が使用される。電源A1 1082および
電源A2 1084はDC電力源A 1018にあり、
電源B1 1086および電源B2 1088はDC電
力源B 1020にある。電源A1 1082はA1+
5V 1090およびA1 GND 1092を介して
パワードメインA 1010に接続する。電源A2 1
084はA2+5V 1094およびA2 GND 1
096を介してパワードメインA 1010に接続す
る。電源B1 1086はB1+5V 1098および
B1 GND 1100を介してパワードメインB 1
012に接続する。電源B2 1088はB2+5V
1102およびB2 GND 1104を介してパワー
ドメインB 1012に接続する。DC電力源Aまたは
DC電力源B内でいずれかの電源に異常があっても、残
りの電源はパワードメインの回路を動作状態に保つのに
十分な電流を供給することができる。双方の電源が動作
状態である場合には、電源は電流を共用し、双方が電流
をパワードメインに与える。より高い程度のDC電力信
頼性が所望される場合にはより多くの数の冗長電源を使
用することが可能である。しかしながら、各DC電力源
の二重電源は、実現された電源の低い異常発生率のため
に、好ましい実施例において必要な信頼性を与えた。
【0166】AC電力源出力の各々はDC電力源A 1
018およびB 1020の1つの電源に接続される。
AC電力源A 1026は電源A1 1082および電
源B1086にAC電力を与える。AC電力源B 10
28は電源A2 1084および電源B2 1088に
AC電力を与える。このようにして、異常のあったAC
電力源は各DC電力源の1つの電源にしか影響を及ぼさ
ず、各DC電力源の他の電源は依然として動作状態のま
まである。たとえば、もしAC電力源A 1026に異
常があれば、電源A1および電源B1はAC入力電力を
失い、+5ボルトDC出力を発生するのを停止する。し
かしながら、AC電力源B 1028は依然としてAC
電力を発生しており、電源A2および電源B2は+5ボ
ルトDC電圧をパワードメインAおよびパワードメイン
Bに与え続ける。同様に、もしAC電力源B 1028
に異常があれば、電源A2および電源B2のみが+5ボ
ルトを発生するのを停止し、電源A1および電源B1は
依然として完全に動作状態である。好ましい実施例で使
用されるAC電力源は、ユーティリティAC電力または
ディーゼル発電機電力のいずれかを使用することからな
り、その1つは割込不能な電力源の使用によって選択さ
れる。しかしながら、モータ/同期発電機AC電力源な
どの他のいかなるタイプのAC電力源も同様に作用し得
ることが理解されなければならない。
【0167】図40は好ましい実施例の詳細を示すブロ
ック図である。図36が前に示したように、各パワード
メインはクロック源能力、同期および分配回路、ならび
に受信負荷回路からなる。図40は2つのクロック信号
が各クロック源A 1040およびB 1042に存在
することを示す。クロック源Aは主クロック信号ドライ
ブA 1106および冗長クロック信号ドライブA 1
108からなり、クロック源Bは主クロック信号ドライ
ブB 1110および冗長クロック信号ドライブB 1
112からなる。主クロック信号ドライブはデフォール
トクロック信号を与え、冗長クロック信号ドライブは主
クロック信号ドライブの異常時に選択され得るクロック
信号を与える。
【0168】図41はパワードメインA 1010のク
ロック源A 1040のブロック図である。主クロック
信号ドライブA 1106は発振器A1 1114およ
びクロック形状A1 1116を含み、冗長クロック信
号ドライブA 1108は発振器A2 1118および
クロック形状A2 1120を含む。各発振器はクロッ
ク形状回路に接続されるディジタルクロック信号を発生
する。クロック形状回路はより顕著なトリガ縁を生じ、
反転クロック信号が使用されることを可能にする、50
%デューティサイクルを有する対称クロックパルスを発
生するために含まれる。クロック形状A1 1116お
よびA2 1120のクロック信号A11122および
A2 1124は、一方がパワードメインB 1012
からのクロック信号と同期されるクロック信号である。
クロック信号A1 1122およびクロック信号A2
1124は図35、図36および図38に示された総称
的なクロック信号A 1056の種類である。
【0169】図40に戻って、クロック信号A1 11
22、A2 1124、B1 1134およびB2 1
136は、シンクロナイザA1 1138、A2 11
40、B1 1142、およびB2 1144にそれぞ
れ接続される。シンクロナイザはその関連のクロック信
号を、他のパワードメインの負荷をクロックする別のク
ロック信号に再同期させる。シンクロナイザは2つの所
与のクロック信号間の位相差をモニタする、位相検出器
からのリクエストに応じてクロック信号を再同期する。
4つのクロック信号、クロック信号A1 1138、ク
ロック信号A21124、クロック信号B1 113
4、およびクロック信号B2 1136は様々な組合せ
の「クロック対」でお互いと同期される。クロック対は
クロック信号の同期された対であり、2つの結果として
生じる同期クロック信号の各々は2つのパワードメイン
のうちの1つの負荷をクロックする。したがって、4つ
のクロック信号のうちの2つは「アクティブ」信号とし
て選択され、各々はパワードメインの負荷のうちの1つ
をクロックする。これら2つのクロック信号は負荷が正
確に同時に機能を実行することを保証されるように、そ
のそれぞれの負荷をクロックする前にお互いと同期され
る。残りの2つのクロック信号(アクティブ信号として
選択されなかった4つのうちの2つ)はそれらが現在負
荷をクロックしていないという意味で「イナクティブ」
である。
【0170】4つの異なった対のクロック信号は好まし
い実施例において同時に同期される。これらの同期クロ
ック信号は4組のクロック対、つまり1)同期クロック
信号A1−A2 1146および同期クロック信号A2
−A1 1148、2)同期クロック信号A1−B1
1150および同期クロック信号B1−A1 115
2、3)同期クロック信号A2−B2 1154および
同期クロック信号B2−A2 1156、ならびに4)
同期クロック信号B1−B2 1158および同期クロ
ック信号B2−B1 1160を含む。なお、これらの
クロック対のうちの2つは同じパワードメイン内に同期
クロック信号の対、つまり同期クロック信号A1−A2
および同期クロック信号A2−A1、ならびに同期クロ
ック信号B1−B2および同期クロック信号B2−B1
を含む。これらのクロック対を与える理由は1つのパワ
ードメイン内での回路の置換えを可能にする一方で、そ
のパワードメインと関連する回路負荷が他のパワードメ
インの回路によってクロックされ続けることを可能にす
るためである。たとえば、クロック源B 1042内の
回路に異常があれば、同期クロック信号A2−A1 1
150は負荷B 1050をクロックする。したがっ
て、好ましい実施例における場合のように、クロック源
B 1042が別個のプリント基板上にあれば、この基
板は負荷B 1050へのクロック信号を停止する必要
性を伴わずに置換えることが可能である。しかしなが
ら、パワードメインB 1012が一度もパワーアップ
されなければ、同期クロック信号A1−A2 1146
は単独で負荷A 1048をクロックし、同期クロック
信号A2−A1 1150は使用されない。クロック信
号A2−A1は負荷A 1048のための冗長信号とし
て使用されることが可能であったかもしれないが、この
信号はそのような好ましい実施例では使用されなかっ
た。なぜなら、パワードメインB 1012が常に使用
されることが決定されており、パワードメインA 10
10への電力の印加の直後にパワーアップされたからで
ある。好ましい実施例では、パワードメインAへの電力
の印加とパワードメインBへの電力の印加との間の非常
に短い時間は、冗長性のために同期クロック信号A2−
A1 1150を副A 1198入力へ供給する必要性
を正当化するものではなかった。したがって、アクティ
ブクロック対はシステムパワーアップ時に同期クロック
信号A1−A2 1146および同期クロック信号A2
−A11150を含むクロック対であるが、同期クロッ
ク信号A1−A2 1146のみが負荷A 1048を
クロックしている。パワードメインB 1012がパワ
ーアップされると、システムは各パワードメインからク
ロック信号を選択し、それぞれの負荷をクロックする。
たとえば、パワードメインBがパワーアップされると、
同期クロック信号A1−A2 1146および同期クロ
ック信号A2−A1 1150を含むクロック対はアボ
ートされ、同期クロック信号A1−B11148および
クロック信号B1−A1 1156を含むクロック対が
選択される。この説明はパワードメインB 1012が
パワードメインA 1010の前にパワーアップされた
場合にも類推によって当てはまる。
【0171】これらの4組のクロック信号の各々に一意
の位相検出器が割当てられる。位相検出器A1−A2/
A2−A1 1164はクロック信号A1 1122と
クロック信号A2 1124との間の位相差をモニタす
る。位相検出器A1−A2/A2−A1がクロック信号
A1がクロック信号A2を導いていることを証明すれ
ば、この位相検出器はシンクロナイザA1 1138に
信号を送り、短時間の間待合せ、クロック信号A1をク
ロック信号A2と再同期させる。位相検出器A1−A2
/A2−A1がクロック信号A2がクロック信号A1を
導いていると決定すれば、この位相検出器はシンクロナ
イザA2 1140に信号を送り、短時間の間待合せ、
クロック信号A2をクロック信号A1と再同期させる。
残りの3組のクロック信号とそれぞれの関連の位相検出
器にも同様のシナリオが発生する。位相検出器A1−B
1/B1−A1 1166はクロック信号A1およびク
ロック信号A2をモニタし、必要に応じて信号をシンク
ロナイザA1 1138またはシンクロナイザB1 1
142に送り、他方を導いているクロック信号を遅延さ
せる。位相検出器B1−B2/B2−B1 1168は
クロック信号B1およびクロック信号B2をモニタし、
必要に応じてシンクロナイザB1 1142またはシン
クロナイザB2 1144に信号を送り、他方を導いて
いるクロック信号を遅延させる。最後に、位相検出器A
2−B2/B2−A2 1170はクロック信号A2お
よびクロック信号B2をモニタし、必要に応じてシンク
ロナイザA2 1140またはシンクロナイザB2 1
144に信号を送り、他方を導いているクロック信号を
遅延させる。
【0172】クロック対はお互いと同期された2つのク
ロック信号の組であり、相補同期クロック信号を発生す
る。したがって、1つのクロック対は2つの相補クロッ
ク信号からなる。たとえば、同期クロック信号A1−B
1 1148および同期クロック信号B1−A1 11
56を含む同期クロック信号の対はA1−B1/B1−
A1クロック対と呼ばれる。このように、4つの同期ク
ロック信号とその補数(全部で8つの同期クロック信
号)を含む4つのクロック対が4組のクロック信号によ
って発生される。図40はシンクロナイザの出力におけ
る4組のクロック対を示す。4組のクロック対はA1−
A2/A2−A1(同期クロック信号A1−A2 11
46およびA2−A1 1150を含む)、A1−B1
/B1−A1(同期クロック信号A1−B1 1148
およびB1−A1 1156を含む)、B1−B2/B
2−B1(同期クロック信号B1−B2 1154およ
びB2−B1 1158を含む)、ならびにA2−B2
/B2−A2(同期クロック信号A2−B2 1152
およびB2−A2 1160を含む)である。
【0173】クロック対4つのすべては電圧が双方のパ
ワードメインに供給される場合にはいつでもシンクロナ
イザの出力で利用可能である。したがって、クロック信
号をパワードメインの負荷に分配するためのクロック対
を選択する方法がなければならない。これはセレクト♯
1 1172、セレクト♯2 1174、セレクト♯3
1176、およびセレクト♯4 1178回路を経て
実行される。これらの回路はマルチプレクサタイプの機
能を与え、特定のクロック対がネットワークインタフェ
ースモジュール(NIM)A 1182およびB 11
84の方向にクロック分配回路A 1162およびクロ
ック分配回路B 1180へと通っていくことを可能に
する。NIMはユーザが所望するクロック対変更のため
のユーザインタフェースを与える。エラー検出回路がN
IMにクロック信号エラーを示す場合には自動クロック
対変更も可能である。この発明のエラー検出回路はスキ
ューフォールト検出A 1186およびB 1188を
含む。このエラー検出回路についてはこの明細書で後述
する。
【0174】NIM A 1182およびB 1184
などのNIM回路は、クロック源A1040およびB
1042などのクロック源を収容する各パワードメイン
にある。言い換えれば、NIMは付加的な回路負荷しか
収容しないパワードメインには存在しない。クロック信
号を付加的な負荷に与えるクロック分配システムの能力
についてはこの明細書で後述する。2つのNIM回路の
一方はマスタコントローラとして作用し、他方はスレー
ブコントローラとして作用する。マスタNIMからセレ
クト回路の各々へ3つの制御信号が与えられ、3つの同
期クロック信号のうちの1つをイネーブルする。NIM
からセレクト回路の各々へ与えられる3つの信号もあ
り、3つの同期(SYNC)信号(図示せず)のうちの
1つをイネーブルする。SYNC信号は同期回路に送ら
れて2つのクロック信号が同期されているかどうかを決
定する周期的パルスである。SYNC信号はクロック源
A1040の主クロック信号ドライブA 1106およ
び冗長クロック信号ドライブA 1108で生じる。S
YNC信号はまたクロック源B 1042の主クロック
信号ドライブB 1110および冗長クロック信号ドラ
イブB 1112でも生じる。シンクロナイザA1 1
138、A2 1140、B1 1142、およびB2
1144は、これらのSYNC信号を使用して、クロ
ック信号の同期を助ける。SYNC信号はまたシステム
の各負荷に送られ、クロック信号の多重位相を発生し、
これはひいては各負荷内のある回路がタイミング目的の
ためにオフセット位相を必要とするので使用される。選
択されるSYNC信号は選択されたクロック対を含むク
ロック信号から常に派生される。言い換えれば、クロッ
ク対A1−B1/B1−A1(同期クロック信号A1−
B1 1148およびB1−A1 1156を含む)が
セレクト♯1 1172およびセレクト♯31176に
よってそれぞれ選択され、負荷A 1048および負荷
B 1050をクロックすれば、クロック源A 104
0の主クロック信号ドライブA 1106から派生した
SYNC信号はシンクロナイザA1 1138および負
荷A1048に送られ、クロック源B 1042の主ク
ロック信号ドライブB 1110から派生したSYNC
信号はシンクロナイザB1 1142および負荷B10
50に送られる。これらのSYNC信号は好ましい実施
例で使用される特定のシンクロナイザの結果として、か
つ負荷における多重位相クロック信号の好ましい使用の
ために必要とされるだけである。先行技術において多く
の異なったタイプのシンクロナイザが既知であり、好ま
しい実施例で使用される特定のSYNC信号はそれらの
シンクロナイザでは必要とされない。
【0175】マスタおよびスレーブNIMからセレクト
回路の各々へ送られる6つの信号があり(全部で24の
信号)、所望の同期クロック信号およびSYNC信号が
クロック分配回路A 1162およびクロック分配回路
B 1180へと通っていくことを可能にする。所望の
信号を選択するためにはどんなタイプの選択回路でも使
用され、好ましい実施例においては、24の信号の各々
は24のクロック信号またはSYNC信号のうちの1つ
とANDをとられ、所望の信号がクロック分配回路A
1162およびB 1180へと通っていくことを可能
にする。マスタNIM A 1182またはB 118
4はエラーが発生したかどうか、またはユーザインタフ
ェースA 1190またはB 1192によってリクエ
ストが行なわれたかどうかに依存して特定の信号を選択
し、新しいクロック対へ切換える。
【0176】図40は同期クロック信号の幾つかが1つ
より多いセレクト回路に接続されていることを示す。同
期クロック信号A1−B1 1148およびその補数で
ある同期クロック信号B1−A1 1156、ならびに
同期クロック信号A2−B21152およびその補数で
ある同期クロック信号B2−A2 1160は、各々そ
のパワードメイン内の1つのセレクト回路、および他の
パワードメイン内の1つのセレクト回路に接続される。
同期クロック信号A1−B1はセレクト♯11172お
よびセレクト♯4 1178に接続され、同期クロック
信号A2−B2はセレクト♯1およびセレクト♯4に接
続され、同期クロック信号B1−A1はセレクト♯2
1174およびセレクト♯3 1176に接続され、同
期クロック信号B2−A2はセレクト♯2およびセレク
ト♯3に接続される。これは他のパワードメインからの
クロック信号と同期されるクロック信号のための別の経
路を与えるためである。同期クロック信号に接続された
2つの利用可能なセレクト回路のうちの1つで問題が発
生すれば、クロック分配回路A 1162またはB 1
180は、その主A 1194またはB 1196入力
への同期クロック信号の損失を認識し、同期クロック信
号を副A 1198または副B 1200入力に供給す
る別のセレクト回路に自動的に切換える。たとえば、セ
レクト♯1が何らかの理由のために利用できなくなるま
たは異常になれば、クロック分配回路Aの1162主A
1194入力は同期クロック信号A1−B1 114
8入力の損失を認識し、セレクト♯4 1178に接続
された副A 1198入力が同期クロック信号A1−B
1 1148を受信するように切換える。
【0177】冗長クロック分配システムに関するさらな
る詳細については、上述の「フォールトトレラントクロ
ック分配システム(Fault Tolerant Clock Distributio
n System) 」と題された同時係属中の特許出願を参照さ
れたい。 b.光ファイバインタフェース 光ファイバインタフェース112は光ファイバリンクを
介して二地点間のデータ伝送を行なうための専用I/O
インタフェースおよび関連プロトコルである。これは国
際標準化機構による開放型システム間相互接続のANS
I X3T9.5(FDDI)物理およびデータリンク
レイヤ標準に基づく非同期全二重データ経路を与える。
【0178】光ファイバインタフェース112はFDD
I標準によって規定される物理メディア従属(PMD)
および物理レイヤ(レイヤ1)と互換性があり、光ファ
イバリンク142、144、146、148を介してデ
ータの送受信を行なう。1対のカスケードされたPLA
YER+装置を介して多重データストリームが並列に送
信される。スループットおよび帯域幅を2倍にするため
に2つの光ファイバチャネルが使用される。各ファイバ
は1秒あたり最大1250万バイト(MB)のデータを
処理することができる。データブロックの偶数バイトは
一方のファイバ上で転送される。データブロックの奇数
バイトは他方のファイバ上で同時に転送される。このよ
うに、カスケード動作モードを使用することによって、
スループットは1秒当り25MB(1秒当り2億ビッ
ト)まで拡張される。この2つのファイバはお互いに対
してロックステップで動作されなければならず、双方は
転送されるべきいかなるデータに対しても動作状態でな
ければならない。このファイバは1300ナノメートル
の波長および1億2500万ヘルツ(125MHz)の
周波数を有する62.5ミクロンの多モードグレーデッ
ド型光ファイバケーブルである。ファイバの長さは4キ
ロメートルを超えてはならない。2つのデータ経路間の
総スキューは80ナノ秒以下でなければならない。デー
タスループットはアウトボードファイルキャッシュXP
C102の性能制限ファクタであるので、ホストシステ
ム10とアウトボードファイルキャッシュシステムとの
間のインタフェースは高速二地点間光ファイバインタフ
ェースの理想的な候補である。
【0179】(1) 機能的動作 図43は光ファイバインタフェースのコンポーネントの
ブロック図である。ホストシステム10においては、D
M110はしばしばM−BUSと呼ばれるI/Oバス4
0に接続されていることを思い出されたい。ホストシス
テム10のオペレーティングシステムがデータをXPC
102へ送る必要が生じると、コマンドパケットは、M
−バス書込VLSI5018、5020を介してライン
2124、2126を経てDMの送出フレーム転送ファ
シリティ(SEND FXFA)2128コンポーネン
トに送られ、そこでバッファされる。FXFAはデータ
セグメンテーション、フロー制御、および光ファイバイ
ンタフェース再試行に応答する。FXFAは448相補
型金属酸化物半導体(CMOS)VLSIゲートアレイ
である。送出FXFA128はデータをストアするため
の8つのバッファを有する。送出FXFAは環状的な態
様でこれらの8つのバッファを使用する。送出FXFA
は36ビットワードから32ビットワードへコマンドパ
ケットを変換する。この変換を行なうのは、ホストコン
ピュータシステム12にストアされたデータがワード当
り36ビットのフォーマットであるためであるが、ファ
イルキャッシュシステムのPLAYER+コンポーネン
トおよびコンポーネントの残りによって処理されるデー
タはワード当り32ビットのフォーマットでなければな
らない。送出FXFA2128は制御情報をコマンドパ
ケットの前方に挿入し、ライン2130を介してDM光
パイプフレーム制御(LPFC)コンポーネント213
2へデータを転送する。このデータは32ビットワード
プラス2つのパリティビットからなる。LPFC213
2は一方側でFXFAに接続し、他方側でPLAYER
+コンポーネントに接続する448CMOS VLSI
ゲートアレイである。これはクロック同期、速度整合、
パケット形成、およびエラー検出に応答する。
【0180】これはトークンリングではなく二地点間実
現化例であるので非FDDIアプリケーションである
が、PLAYER+コンポーネントを使用するためには
FDDIフレーミングのための規則に従わなければなら
ない。フレームは光ファイバインタフェース112を横
切って伝送される情報の基本単位である。フレームは制
御記号とデータ記号との多重記号対からなる。DM L
PFC 2132はコマンドパケットを取出し、このデ
ータをローカルクロックに同期させ、32ビットワード
プラス2つのパリティビットを各ワードにつき2つの1
6ビットワードプラス2つのパリティビットに分ける。
DMLPFC 2132はその後この16ビットワード
プラス2つのパリティビットを2つのバイトストリーム
に分ける。このバイトストリームは各ブロックに1パリ
ティビットを有する9ビットブロックからなる。DM
LPFC 2132は各ストリームからの付加されたエ
ラーチェッキング情報を有する符号化されたフレームを
発生する。データの偶数バイトは1つのフレームに入れ
られ、データの奇数バイトは第2のフレームに入れられ
る。DM LPFC 2132は偶数バイトデータフレ
ームをライン2134を介してDM PLAYER+0
2138へ送り、奇数バイトデータフレームをライン
2136を介してDM PLAYER+1 2140へ
送る。データは2つのPLAYER+コンポーネントで
直列化され、一度に1ビットそれぞれの光伝送器(図示
せず)に送られる。2つのファイバ上のフレームは並列
に伝送される。
【0181】DM PLAYER+0 2138および
DM PLAYER+1 2140の機能性は、ナショ
ナル・セミコンダクタ・コーポレイション(National S
emiconductor Corporation)から入手可能な「ファイバ
分配データインタフェース(FDDI)データブック
(The Fiber Distributed Data Interface Databook
)」において十分に説明されている。DP83251
/55 PLAYER+装置は、ノンリターンツーゼロ
(NRZ)/ノンリターンツーゼロインバートオンワン
(NRZI)および4B/5Bエンコーダおよびデコー
ダ、直列化器/脱直列化器、フレーミング論理、弾力バ
ッファ、ラインステート検出器、繰返しフィルタ、平滑
器、ならびに構成スイッチを含むFDDI物理レイヤコ
ントローラである。PLAYER+装置はまた以前はク
ロック回復装置(CRD)およびクロック分配装置(C
DD)などの別個の装置にあったクロック能力をも含
み、これらの装置もやはりナショナル・セミコンダクタ
・コーポレイションから市販されている。PLAYER
+装置はアメリカ規格(American National Standard)
「FDDIトークンリング物理レイヤプロトコル(PH
Y)(FDDI Token Ring Physical Layer Protocol )文
献、ANSI X3.148−1988によって規定さ
れるような物理レイヤプロトコルを実現する。PLAY
ER+装置は12.5MB/s入力ストリームをFDD
I物理レイヤ規格で特定される125Mbaud4B/
5B符号化ビットストリームに変換する。PLAYER
+装置に関する付加的なコンポーネントはトランシーバ
(図示せず)であり、これは電気から光への変換を与え
る。
【0182】DM PLAYER+0 2138および
DM PLAYER+1 2140は、2つの光ファイ
バリンク2142、2144を横断してHIA PLA
YER+0 2174およびHIA PLAYER+1
2176へ並列にフレームを伝送する。2つのリンク
の使用はカスケードモードと呼ばれる。カスケードモー
ドでは、多重PLAYER+装置が共通接続され、FD
DIデータ速度の倍数でデータ転送を行なう。フレーム
を伝送している間、DM LPFC 2132は各フレ
ームのすべてのデータがDM PLAYER+0 21
38およびDMPLAYER+1 2140に転送され
てしまうまで、各フレームに対するフレームチェックシ
ーケンス(FCS)値を計算する。データの終端で、D
M LPFCはFCSフィールドおよび終端デリミタ
(ED)フィールドをDM PLAYER+0 213
8およびDM PLAYER+1 2140に伝送す
る。
【0183】受信HIA PLAYER+0 2174
およびHIA PLAYER+12176コンポーネン
トは、光学レシーバ(図示せず)を介して光ファイバリ
ンク2142、2144から直列にフレームを受信す
る。データはその後再同期され、脱直列化される。各P
LAYER+装置はそれぞれのフレームから得られたバ
イトのストリームをHIA LPFC 2178にライ
ン2180および2182をそれぞれ介して送る。HI
A LPFC 2178は有効データ記号が受信されて
いることを確実にするためにパケットフォーマットをベ
リファイする。HIA LPFC 2178もまた各フ
レームが受信されたときに各フレームに含まれるデータ
に対してFCSエラーチェックを行なう。2つのバイト
ストリームは合流され16ビットワードを形成する。そ
の16ビットワードが結合されて32ビットワードを形
成する。HIA LPFC 2178はその後データを
再同期させ、この再構成されたデータをライン2186
を介してHIA RECFXFA 2184に送り、そ
こでデータはバッファされる。HIA RECFXFA
2184はHIA 252の他のVLSIを通るライ
ン2192および2196を介してストリート1または
ストリート2を経て意図される受信者にデータを伝送す
る。
【0184】HIA REC FXFA 2184は、
データ転送の状態に依存して、ライン2210を介して
HIA SEND FXFA 2202に肯定応答(A
CK)または否定応答(NAK)を送る。HIA SE
ND FXFA 2202はACKまたはNAKパケッ
トをバッファし、ライン2212を介してデータをHI
A LPFC 2178に送る。HIA LPFC 2
178はそのデータを偶数および奇数部分に分けること
によってACKまたはNAKを2つのフレームに変換
し、そのフレームをライン2214および2216をそ
れぞれ介してHIA PLAYER+0 2174およ
びHIA PLAYER+1 2176コンポーネント
に送り、その後DM PLAYER+0 2138およ
びDM PLAYER+1 2140コンポーネントへ
伝送する。DM PLAYER+02138およびDM
PLAYER+1 2140コンポーネントは光ファ
イバリンク2146および2148をそれぞれ介してフ
レームを受取り、それらをライン2150および215
2をそれぞれ介してDM LPFC 2132へ送る。
DM LPFCはフレームからACKまたはNAKを取
出す。ACKが予期されていないもしくは以前の伝送と
一致しない、または受信されたメッセージが実際にはN
AKであれば、DM SEND FXFA 2128は
上に説明されたステップに従ってコマンドパケットを送
り直すことを要求される。DM LPFC 2132は
NAKをライン2154を介してDM REC FXF
A 2156に送り、DM REC FXFA 215
6はデータを送り直すというリクエストをライン216
2を介してDM SEND FXFA 2128へ転送
する。他の態様では、データ転送プロセスは完了してい
ると考えられる。
【0185】同様に、データまたは状態がHIA 21
4からDM 110へ送られれば、データはライン22
04、2208を介するHIAの他のVLSIを経てス
トリート1またはストリート2からHIA SEND
FXFA 2202によって受信される。HIA SE
ND FXFA 2202はそのデータをライン221
2を介してHIA LPFC 2178へと送り、そこ
でデータはHIA PLAYER+0 2174および
HIA PLAYER+1 2176コンポーネントに
よる伝送のために2つのフレームにフォーマットされ
る。このフレームはDM PLAYER+0 2138
およびDM PLAYER+1 2140コンポーネン
トによって受信され、これらのコンポーネントはフレー
ムをDMLPFC 2132に送る。DM LPFCは
フレームを取出し、データをDMREC FXFA 2
156に送る。その後データはMバス(図示せず)を横
断してホストシステム10(図示せず)のオペレーティ
ングシステムに戻される。ACKまたはNAKは上述の
ACKまたはNAKシーケンスに従ってHIAに戻され
る。
【0186】(2) クロック、クロック回復および再
同期 図44は光ファイバインタフェースの一端に対するクロ
ックドメインのブロック図である。光ファイバインタフ
ェースの各端部は50MHzプラスまたはマイナス50
百万分率(PPM)で動作する局部発振器によってクロ
ックされる。このローカルクロックドメイン2218は
LPFC2132の一部、およびPLAYER+コンポ
ーネント2138、2140の大部分を含む。50MH
zクロックはPLAYER+コンポーネントに送られる
前にLPFC2132で4つに分けられて12.5MH
zにされる。PLAYER+コンポーネントの残りは回
復クロックドメイン2222に含まれ、入来データと同
期された回復クロックによってクロックされる。LPF
C2132の残りはシステムクロックドメイン2224
に含まれる。システムクロックドメイン2224はアウ
トボードファイルキャッシュXPC102の残りをクロ
ックするシステムクロックによってクロックされる。シ
ステムクロック周波数は30MHzと50MHzとの間
でなければならない。DMの110システムクロックは
44MHzで動作し、HIAの214システムクロック
は40MHzで動作する。
【0187】光ファイバインタフェース112はNRZ
I符号化を使用する。NRZIはクロックおよびデータ
情報のどちらもが単一の直列経路を介して伝送されるこ
とを可能にする共通直列データ通信符号化である。2値
の1は光オンから光オフまたは光オフから光オンのいず
れかの遷移によって表わされる。0は遷移がないことに
よって表わされる。つまり、ビット時間の間光はオンの
ままであるかまたはオフのままである。光ファイバイン
タフェースの受信端では、回復クロックは位相ロックル
ープ発振器を使用して入来NRZI符号化データから発
展される。入来NRZIデータにエッジが発生するとき
はいつでも、位相ロックループは発振器の位相を訂正す
る。遷移の間に、発振器はドリフトし始める。発振器が
あまりにも早くドリフトするのを防ぐために、僅か3つ
の連続0という制約が直列インタフェースに対してかけ
られる。
【0188】データの再同期を実行する光ファイバイン
タフェースの2つのコンポーネントがある。PLAYE
R+コンポーネント2138、2140は回復クロック
によってクロックされている入来データを局部発振器に
再同期させる。回復クロックはインタフェースの他方の
端部で局部発振器に同期されているので、その周波数は
12.5MHzのプラスまたはマイナス50PPMの範
囲でなければならない。受信端の局部発振器もまたこの
範囲でなければならない。このように、2つのクロック
は100PPMも異なる可能性があり、再同期が必要に
なる。PLAYER+コンポーネントは、パケットが4
500バイトより長くない限り、周波数が100PPM
だけ異なるデータを再同期するのに十分深い内部直列非
同期ファーストインファーストアウト(FIFO)バッ
ファを有する。このバッファはパケット間でそれ自体を
再中心決めし、アンダフローまたはオーバフローを防
ぐ。
【0189】再同期に関わる他のコンポーネントはLP
FC2132である。これはその送信および受信経路の
双方で8の深さの32ビットワード非同期FIFOバッ
ファを含む。これらのバッファはローカルクロックドメ
イン2218とシステムクロックドメイン2224との
間でデータを再同期させる。 (3) データリンクレイヤプロトコル 光ファイバインタフェースのデータリンクレイヤにおけ
るI/Oプロトコルはインタフェースを介する通信の方
法を規定する。これはラインステートおよびフレームと
いう2つのタイプのメッセージを含む。ラインステート
情報はインタフェースの初期設定、停止、およびクリア
などのインタフェース制御機能のためにのみ使用され
る。フレームと呼ばれる情報パケットは光ファイバリン
クを横断して転送されるべきユーザが供給した情報を含
むために使用される。ラインステート情報およびフレー
ムはどちらも記号と呼ばれるデータユニットからなる。
【0190】LPFC2132(図44参照)とPLA
YER+コンポーネント2138、2140との間のイ
ンタフェースは2つのビット幅経路からなり、一方はP
LAYER+コンポーネント(つまりライン2134、
2136)へのデータ入力のためのものであり、もう一
方はPLAYER+コンポーネント(つまりライン21
50、2152)からのデータ出力のためのものであ
る。各ビット幅経路はパリティビット(奇数パリテ
ィ)、制御ビット、および2つの4ビット記号からな
る。LPFCからPLAYER+コンポーネントに送ら
れた各4ビット記号は、光ファイバ送信器(光送信)2
226、2228の1つを経る送信のために5ビットフ
ォーマットで符号化される。光ファイバ受信器(光受
信)2230、2232の1つからの5ビット記号の受
信時に、PLAYER+コンポーネントはその記号を4
ビット記号にデコードし、それをLPFCに送る。1対
のバイトの最上位バイトはPLAYER+0 2138
によって送信され、最下位バイトはPLAYER+1
2140によって送信される。
【0191】図45は光パイプフレーム制御からPLA
YER+コンポーネントへ転送される記号の表である。
記号対「JK」2234はフレーム境界のための出発デ
リミタ(SD)を表わす。「T」記号2236は終端デ
リミタ(ED)を表わす。図46はPLAYER+コン
ポーネントから光パイプフレーム制御へ転送される記号
の表である。「I」記号2242はアイドルコマンドを
表わす。「H」記号2244は停止コマンドを表わす。
「JK」記号対2234はSDを表わす。「T」記号2
236はEDを表わす。「Q」記号2246は沈黙コマ
ンドを表わす。最後に、図46に特定されていないすべ
ての他の5ビット記号は無効記号であると考えられる。
【0192】送信器論理はSEND FXFAからデー
タを受信し、そのデータをローカルクロックに再同期さ
せ、そのデータをパケットフォームにし、そのパケット
をPLAYER+コンポーネントの送信セクションに送
る。図47は光パイプフレーム制御ゲートアレイの送信
器論理のブロック図である。SEND FXFA212
8に送信すべきデータがない場合、書込データ転送(図
示せず)および書込データ有効(図示せず)の信号はイ
ナクティブである。書込データ転送信号は情報パケット
のSEND FXFA2128からLPFC2132へ
の送信の間アクティブである。SEND FXFAによ
るこの信号のイナクティブからアクティブへの遷移は新
しい情報パケットの開始を示す。この信号のアクティブ
からイナクティブへの遷移は情報パケットの終了を示
す。書込データ有効信号はSEND FXFAによって
アクティブに駆動され、32の書込データライン250
0の現在の内容が光ファイバリンクを横断して送信され
るべき情報パケットの次の有効ワードであることをLP
FCに示す。
【0193】データワードは書込データライン2500
から取出され、入力レジスタ(INREG)2502に
ストアされる。この情報は32ビットのデータおよび2
ビットのパリティからなる。データはその後システムク
ロックの制御下で非同期FIFO2504にロードされ
る。データは非同期FIFO2504でローカルクロッ
クに再同期され、ローカルクロックの制御下でFIFO
からレジスタ0(REG0)2506へ出力される。3
2ビットデータワードは2つの16ビットワードに分け
られ、2つの連続する80ナノ秒サイクルでマルチプレ
クサ(MUX)2508を経て送信パイプラインにロー
ドされる。送信パイプラインは直列に接続された3つの
レジスタ(レジスタ1 2510、レジスタ2 251
2、およびレジスタ3 2514)からなる。
【0194】別々のFCS値が送信パイプラインの2つ
のバイト幅経路の各々に対して発生される。データはM
UX2508によってFCS発生器論理2516に送ら
れる。バイト幅経路の各々はFCS発生器論理の別々の
セクションに送られる。各FCS発生器論理セクション
は反転されてそのデータストリームの端部に付加される
32ビットFCS値を発生する。送信パイプラインの端
部で、記号発生器論理2518、データ経路、FCS発
生器2516、およびMUX2520からの情報を使用
してフレームが形成される。記号発生器論理2518は
フレームのための開始デリミタ(SD)および終端デリ
ミタ(ED)を与える。フレームはその後9ビットPL
AYER+コードに符号化され、レジスタ4(REG
4)2522にストアされる。フレームはその後レジス
タ5(REG5)2524から出力され、各バイトは2
つの送信光ファイバリンクのうちの1つ上での送信のた
めに80ナノ秒ごとに2つのPLAYER+コンポーネ
ントのうちの1つに送られる。フレームは16の送信デ
ータライン2526上で送られる。
【0195】送るべきデータパケットが何もない場合に
は、記号発生器2518はアイドル記号対のストリーム
を出力する。送信器論理はマイクロシーケンサバスコン
トローラの制御下でディスエーブルされる。受信論理は
PLAYER+コンポーネントの受信セクションからデ
ータパケットを受取り、変換し、エラーがあるかどうか
チェックし、システムクロックに再同期させ、受信FX
FAに送る。
【0196】図48は光パイプフレーム制御ゲートアレ
イの受信論理のブロック図である。2つのPLAYER
+コンポーネントの各々は制御記号を表わす9ビット符
号化情報およびデータ情報のストリームをLPFC21
32に送る。このデータは16の受信データライン25
28で受信され、入力レジスタ(IN REG)253
0にストアされる。2つのストリームはIN REG2
530にストアされる際に連結される。データは履歴待
ち行列2532およびレジスタ0(REG0)2534
に送られる。データはその後二重FCSチェッカ論理セ
クション2536、2538によってチェックされ、F
CS値が正しく、光ファイバリンクを介するデータの良
好な送信を示しているかどうかを決定する。各バイトス
トリームはFCSチェックのために独立して処理され
る。各入来バイトストリームごとに新しいFCSが発生
され、受信されたFCS値と比較される。この冗長性に
より光ファイバインタフェースのいずれかの端部のFC
S論理のいずれかの信号エラーが直ちに確実に検出され
る。FCS値は等しくなければならず、データパケット
が有効にされる前に受信されたFCSコードの逆でなけ
ればならない。
【0197】データは7つのレジスタ2540、254
2、2544、2546、2548、2550および2
552からなる受信パイプラインを通される。受信パイ
プラインを通るとき、データのストリームはデコードさ
れ、プロトコルおよびデータエラーがあるかどうかチェ
ックされ、レジスタ8(REG8)2554およびレジ
スタ9(REG9)2556の記憶によって32ビット
ワードに再フォーマットされる。次に、これらの32ビ
ットワードはシステムクロックに再同期される。これら
のワードはREG8 2554およびREG9 255
6からのローカルクロックの制御下で非同期FIFO2
558にロードされ、システムクロックの制御下で取除
かれる。データは非同期FIFO2558から抽出さ
れ、出力レジスタ0(OUT0)2560にストアされ
る。データはその後32の読出データ転送ライン256
4を介するREC FXFA2156への送信のために
出力レジスタ1(OUT1)2562へと通っていく。
【0198】LPFC2132は各パケットの始めに読
出データ転送ライン(図示せず)を持ち上げることによ
ってデータパケットをREC FXFAに与える。この
信号はパケットのREC FXFA2156への転送の
間ずっとハイのままである。読出データ有効ライン(図
示せず)は、読出データ転送ラインが次の有効データワ
ードを含む各サイクルごとにLPFC2132によって
活性化される。転送の最後のワードが送られていると
き、読出ラストワードライン(図示せず)もまたアクテ
ィブである。LPFCはその後読出データ転送ラインを
降下させ、その後後続のサイクルの成功ラインまたは失
敗ラインのいずれかを降下させる。もし成功ラインが活
性化されると、REC FXFAはパケットを通常どお
り処理する。失敗ラインが活性化されると、REC F
XFAはパケットを廃棄する。PLAYER+コンポー
ネントのいずれかからのSDまたは第1の6つのデータ
バイト上でエラーが発生すると、パケットが失われる。
REC FXFAへのインタフェースは失われたパケッ
トに対してアイドルの状態のままである。
【0199】LPFC2132は8の深さの受信履歴待
ち行列2532を含む。PLAYER+コンポーネント
から受信された各データワードは受信されたとき履歴待
ち行列2532に入れられる。エラーが発生すると、履
歴待ち行列はディスエーブルされ、エラーより前に受信
された最後の8つのワードをセーブする。受信器論理は
マイクロシーケンサバスコントローラの制御下でイネー
ブルされかつディスエーブルされる。ディスエーブルさ
れたときでも、受信器論理は依然として停止ラインステ
ート(HLS)を認識し、かつそれに応答する。データ
パケットが受信されている間に受信器論理がディスエー
ブルされたときでも、そのパケットは通常どおり受信さ
れる。一旦受信器論理がディスエーブルされると、LP
FC2132はHLSを除く入来記号ストリームを無視
する。
【0200】(4) フレーム転送ファシリティ(FX
FA) FXFAは448CMOS技術、256機能ピンゲート
アレイである。これはDM110およびHIA214コ
ンポーネント上で使用される。データブロックのFXF
Aバッファデータは127の32ビットワードからな
る。このバッファされたデータはLPFC2132を経
て光ファイバリンクを横断して送信されることになる
か、またはLPFCから受信されてしまっている。各L
PFCにつき2つのFXFAがあり、データを送信する
ために1つ、およびデータを受信するために1つであ
る。FXFAは各フレームに対してFCフィールドを構
築し、送信されているフレームのタイプを示す。FXF
Aはまた各フレームに対してシーケンス番号を維持す
る。シーケンス番号は光ファイバリンクを横断してフレ
ームが送受信される順番を見失わないようにするために
使用される。フレームがインタフェースを横断して送ら
れるとき、送信に2つのエラーがあれば、光ファイバイ
ンタフェースのもう一方側で受信FXFAはACKを送
信FXFAに送る。それ以外では、受信FXFAはNA
Kを送り、送信FXFAを方向づけてデータを再送信す
る。
【0201】図49はフレーム転送ファシリティゲート
アレイのブロック図である。FXFAはライン2600
上でHIA状態、DMコマンド、またはDMデータのワ
ード0を受領し、この情報を書込レジスタ0(W0 R
EG)2602にストアする。FXFAはライン260
4上でHIAデータ、DMコマンド、またはDMデータ
のワード1を受領し、この情報を書込レジスタ1(W1
REG)2606にストアする。W0 REG260
2およびW1 REG2606の双方の内容は36/3
2変換論理2608に送られる。このFXFAのセクシ
ョンは送信のみのためにDM110上で使用される。な
ぜなら、これはホスト10システムから得られた36ビ
ットデータワードをアウトボードファイルキャッシュX
PC102の残り全体にわたって使用される32ビット
ワードに変換するからである。
【0202】DM110から受信され、NVS220を
宛先とするデータのみが32ビットワードに変換され
る。すべての他のコマンドおよびメッセージは36ビッ
ト入力ワードで右に位置調整された32ビットのデータ
であると仮定される。4つの最上位ビットは廃棄され
る。このデータは変換される代わりにバイパスレジスタ
2610を介してマルチプレクサ(MUX)2612へ
と送られる。すべての入力ワードは36ビットワードま
たは32ビットワードのいずれに対しても、各ハーフワ
ードに関連するパリティビットを有すると仮定される。
FXFAはすべてのデータビットおよびそのパリティビ
ットを使用して変換されたワード長のためのパリティを
発生する。
【0203】32/36変換論理2614は受信FXF
A位置のDM110上でのみ使用される。HIA214
上では、両方のFXFAへのおよびそれからのすべての
送信は32ビットワードである。しかしながら、DM1
10上では、REC FXFAフレームのデータはファ
イルキャッシュハンドラソフトウェア208による実際
の使用のためには32ビットワードからMバス送信のた
めの36ビットワードに変換されなければならない。H
IA214からDM110への状態転送は36ビットフ
ォーマットに右に位置調整された32ビットワードであ
ると仮定され、したがって変換される必要はない。HI
A52上では、いかなる変換も必要ではない。その代わ
りに、データはバイパスレジスタ2616を介して送ら
れる。再接続状態および単一ワードACK/NAKフレ
ームはフレームバッファに入らないので、決して変換さ
れない。それらはACK/NAK受信論理2618に再
び経路指定され、それぞれライン2620および262
2上でFXFAから送出される。
【0204】コマンドレジスタ(CMD REG)26
24はフレーム制御フィールド、ACK、およびNAK
のための別の経路である。CMD REG2624の出
力上にはその内容ごとにデータのフローを制御するフレ
ーム制御フィールドデコード(図示せず)がある。CM
D REGはLPFC2132からデータを受信するF
XFA位置で使用されるだけである。フレーム送出制御
論理2626はFXFAからのデータの送信を制御する
ために使用される。ライン2628、2629、263
0および2631として示されるこのインタフェース
は、FXFAがデータをLPFC2132またはMバス
に書込む際に使用される。FXFAの送出インタフェー
スはアクティブになり、フレームが有効になるとき、つ
まり完全に満たされるまたは書込まれてしまったときに
FXFAからデータを送信する。
【0205】FXFAは休止信号2628がLPFC2
132またはMバスによって活性化されたときに出てい
くデータを抑圧し、FXFAはLPFC2132から送
信致命的NAK信号2629を受信するか、または内部
エラーがDM110上で検出される。2つの主な信号は
FXFAからのデータ転送を制御する。アウトデータ転
送ライン2630はフレームの全転送の間アクティブの
ままであるが、データが有効であるサイクルを示すアウ
トデータ有効信号2631は1つのフレーム転送中に何
度もアクティブおよびイナクティブになる。アウトデー
タ有効信号がイナクティブの場合、FXFAから出てく
るデータを抑圧する(転送の順方向)。
【0206】フレーム送出制御論理2626への他の信
号入力は、フレーム受信制御論理2634から受信され
たフレーム有効制御信号2632、およびACK/NA
K受信論理2618から受信された再送信フレーム信号
2636である。FXFAのフレーム受信制御論理26
34はFXFAへのデータの受信を制御するために使用
される。フレーム受信制御論理2634はFXFAがL
PFC2132またはMバスのいずれかによって書込ま
れる場合に使用される。FXFAによるデータの受信は
受動である。つまり、FXFAはそれを駆動する論理か
らのリクエストに応じてデータを受領する。このインタ
フェースは制御信号2638、2639および2640
の組を有する。FXFAはフレーム有効制御信号263
8をイナクティブに駆動することによってこれ以上のフ
レームが有効ではないことを示すことによって、入って
くるデータを抑圧することが可能である。この信号はイ
ンデータ転送2639およびインデータ有効制御264
0信号がどちらもアクティブである最初のサイクルでイ
ナクティブになり、満たされているフレームは有効な最
後のフレームである。この信号はLPFC ACKが満
たされる別のフレームを自由にするまでイナクティブの
ままである。
【0207】FXFAへのデータ転送を制御する2つの
主な信号はインデータ転送信号2639およびインデー
タ有効信号2640である。インデータ転送信号263
9はフレームの全転送の間アクティブのままであり、一
方インデータ有効信号2640はデータが有効であるサ
イクルを示し、1つのフレーム転送中に何度もアクティ
ブまたはイナクティブになる。インデータ有効信号26
40は、イナクティブの場合、FXFAへ入ってくるデ
ータを抑圧する(転送の順方向)。ACK/NAK受信
論理2618はDM110およびHIA52の双方上で
REC FXFA上でのみ使用される。この論理は送ら
れたフレームに対するすべてのACKおよびNAKをラ
イン2642を介して受信し、受信されたフレームに対
するすべてのACKおよびNAKを発生する。送られた
フレームに対するACKおよびNAKはそれが受信した
フレームに対する光ファイバインタフェースの他方の端
部でのFXFAからの応答である。光ファイバインタフ
ェースを横断して送られたすべてのフレームに対して、
引換えにACKまたはNAKが予想される。ACKは将
来の使用のためにSEND FXFAのフレームを開放
し、NAKは特定されたフレームおよびすべての後続の
フレームが再び送られることを要求する。受信されたフ
レームに対するACKおよびNAKは、光ファイバイン
タフェースからはなれてFXFAへ来るフレームに対す
るACKおよびNAKデータである。これらはフレーム
がREC FXFAに来たときに発生され、SEND
FXFAに送られる。SEND FXFAはその後この
ACK/NAKデータを光ファイバインタフェースの他
方の端部に送り、その転送が成功であったか失敗であっ
たかを示す。
【0208】ACK/NAK送出論理(ACK/NAK
SND)2644はACKおよびNAKの送出を制御
する。すべてのACKおよびNAKはREC FXFA
からSEND FXFAへ送られ、受信されたフレーム
に対するACK/NAKは次のフレームの区切りで光フ
ァイバリンクを横断して送られる。ACK/NAKフレ
ーム自体はフレーム転送メモリ2654のフレームバッ
ファを使用しないことに注意されたい。送られたフレー
ムに対するすべてのACKはSEND FXFAに入
り、フレームトラッキングメモリ2646を開放するの
で、ACKで受信されたシーケンス番号に等しいまたは
それより少ないシーケンス番号を有するフレームトラッ
キングメモリ場所は他のフレームの送信のために使用可
能である。NAKによりフレームが再び送られ、そのフ
レームに対するフレームトラッキングメモリ2646を
開放しない。ACKおよびNAKは圧縮することができ
る。つまり、ACKまたはNAKが受信されると、それ
はACKまたはNAKフレームのシーケンス番号に等し
いまたはそれより小さいシーケンス番号を有するフレー
ムに対するものであると仮定される。ACKまたはNA
Kとともに送られるシーケンス番号は光ファイバインタ
フェースの他方の端部で受信された最後の良好なシーケ
ンス番号である。
【0209】フレーム転送メモリ2654はLPFC2
132への送信またはそれからの受信のために最大12
7の34ビットワードをバッファするために使用され
る。各ワードは32ビットのデータおよび2ビットのパ
リティからなる。FXFAをホストするDM110また
はHIA214はフレーム長を見失わないようにし、少
なくとも1つのサイクルの間インデータ転送またはイン
データ有効信号を降下させなければならなくなる前に1
26の32ビットワードを送る。SEND FXFAは
チェックサムを127番目のフレーム場所に挿入する。
REC FXFAはLPFCから受信されたデータおよ
びチェックサムを網羅する新しいチェックサムを発生
し、この値を128番目のフレーム場所に書込む。この
フレームが読出されたとき、REC FXFAは双方の
チェックサムを取除く。
【0210】フレームはFXFAをホストするDM11
0またはHIA214によって書込まれ、多数フレーム
ビジーカウンタ(図示せず)はフレームが書込まれると
インクリメントする。フレームが一杯であるかまたは書
込まれてしまった場合には、そのフレームに対する有効
フラグがセットされる。有効フラグがセットされると、
そのフレームはLPFCへ送られる用意ができているこ
とを意味する。フレームがLPFCに送られてしまった
後、送信フラグがセットされ、有効フラグはクリアされ
る。送信フラグはフレームが光ファイバインタフェース
の他方の端部によってうまく応答された場合にクリアさ
れる。これらのフラグの双方がクリアされるまでフレー
ムは別の転送のために使用することができない。SEN
D FXFAが受信したNAKのためにフレームを再送
信しなければならない場合には、有効フラグが再びセッ
トされ、送信フラグはクリアされる。
【0211】すべての有効なフレームバッファ場所が塞
がっている場合には、フレーム使用可能信号(図示せ
ず)はイナクティブになり、FXFAをホストしている
DM110またはHIA214は一旦最後のフレームが
満たされると転送を中止することを強制される。これは
DMまたはHIAがフレームの長さを見失わないように
していることを想定し、フレーム境界で、またはこの転
送が完了したときに、送信はフレーム使用可能信号が再
びアクティブになるまで中止される。FXFAに入るイ
ンデータ転送およびインデータ有効信号はフレーム間の
最少1サイクルの間イナクティブになり、フレーム使用
可能信号が再び活性化された後1サイクルまで再びアク
ティブにならない。
【0212】フレームトラッキングメモリ2646はF
XFA上で2つの機能を果たす。まず、フレームトラッ
キングメモリ2646は送信されたすべてのフレームに
先立って第1のワードとしてLPFC2132に送出さ
れたフレーム制御ワードを登録する。第2に、フレーム
トラッキングメモリ2646はフレームが再送信を必要
とする場合に備えてフレーム制御ワードをストアする。
フレームトラッキングメモリ2646はフレーム受信制
御論理2634によって書込まれ、フレーム送信制御論
理2626によって読出される20ビットワードの16
の深さのスタックである。フレームの再送信時に、フレ
ーム送出制御論理2626はNAKが受信されたとき適
切なフレームおよび関連のフレームトラッキングメモリ
アドレスを選択する。送信および再送信はSEND F
XFAによってのみ行なわれる。
【0213】チェックサム(CHK SUM)論理26
48は2つの部分、つまり入力チェックサム記憶および
出力チェックサム比較を有する。フレームバッファはロ
ードされているので、実行のチェックサムが保持され、
送信の終わりに、総チェックサムは新しいフレームバッ
ファの最後のアドレスプラス1にストアされる。フレー
ムがFXFAから読出されると、データおよびフレーム
に書込まれたチェックサムをカバーする新しいチェック
サムが発生される。この読出されたチェックサムに何ら
かのデータビットがセットされるか、または双方のパリ
ティビットがセットされているわけではなければ、内部
エラーが発生し、FXFAとLPFCまたはMバスとの
間の通信経路はダウンされる。
【0214】データはFXFAからMUX2649、出
力レジスタ(OUT REG)2650を介してライン
2652へと出力される。フレーム転送メモリ265
4、読出レジスタ(RD REG)2656、および書
込レジスタ(WR REG)2658はフレームバッフ
ァデータ経路として使用される。メインプロセッサと周
辺プロセッサとの間の信頼できかつ効率的な通信のため
のシステムが定義された。この専用二地点間光ファイバ
インタフェースは以前のI/Oチャネルアーキテクチャ
より改良された性能および優れたフォールト検出能力を
与える。好ましい実施例はFDDI標準に基づく光ファ
イバリンクを使用するが、その標準の完全な使いにくい
実現化例は使用せず、高容量トランザクション処理コン
ピュータシステムに対するシステム障害を緩和するのに
必要な速度を提供する。
【0215】DM110およびHIA214と組合せた
光ファイバリンク112の機能的な特性の詳細について
は、「専用二地点間光ファイバインタフェース(Dedica
tedPoint to Point Fiber Optic Interface)」と題さ
れた、上述の同時係属中の特許出願において見出され
る。 c.マイクロシーケンスバスコントローラシステム カスタムマイクロプロセッサベースのシステムはスピー
ド要件を満たすことが要求され、開発コストを最少限に
するために単純な論理を含まなければならない。圧縮命
令セットコンピュータ(RISC)はこれらの要件を満
たす。RISCプロセッサは命令デコードおよび実行時
間を最少限にするために小さなセットの非常に基本的な
命令を実現する。RISCプロセッサは僅か1つまたは
2つのオペランドしか支持しない固定長命令に基づいて
動作する。命令セットの単純さのために、RISCプロ
セッサの論理設計はマイクロプログラムではなくハード
ワイヤされている。したがって、プロセッサの全体の速
度は改良される。
【0216】マイクロシーケンサバスコントローラシス
テムはより大きなコンピュータシステム内の回路カード
上の多重ゲートアレイの柔軟性のあるマイクロプロセッ
サベースの制御の能力を与える。上述の好ましい実施例
において、これはアウトボードキャッシュXPC102
の一部である。しかしながら、これは多重ゲートアレイ
のマイクロプロセッサ制御が必要とされる他のコンピュ
ータシステムでも使用され得る。これは1つの回路カー
ド上で機能特異的なVLSIゲートアレイを制御する問
題に対する柔軟性のある解決策である。なぜなら、マイ
クロシーケンサバスコントローラシステムハードウェア
における他のいかなる変化も伴わずに、1つ以上のゲー
トアレイを変化させることができるからである。ゲート
アレイが変えられると、マイクロプロセッサが実行する
プログラムに対する対応の変更も容易に行なわれ得る。
【0217】図50はマイクロシーケンサバスコントロ
ーラシステムのブロック図である。マイクロシーケンサ
バスコントローラシステム3200は、マイクロバス3
218と呼ばれる双方向性内部通信バスに接続された最
大8つのステーション3202、3204、3206、
3208、3210、3212、3214、3216を
含む。この実施例に対して、ステーションは特定の機能
を実行するCMOS448技術を使って製造されたVL
SI部品上のゲートアレイで実現される論理の集合であ
る。他の実現化例または技術が使用され得ることが理解
される。ステーションはマイクロバス3218に結合さ
れ、別のバス、I/Oメカニズム、またはマイクロシー
ケンサバスコントローラシステムの外部のサブシステム
とインタフェースすることができる。つまり、ステーシ
ョンはアウトボードファイルキャッシュXPC102の
他のハードウェアコンポーネントからデータを読出す、
またはそれにデータを書込むことができる。好ましい実
施例において、XPCのステーションを表わす10の異
なったゲートアレイ設計がある。しかしながら、要求さ
れた機能のセットを支持するいかなるカスタム設計のゲ
ートアレイでもステーションの役割を実行することがで
き、マイクロバス3218に接続され得る。
【0218】マイクロシーケンサバスコントローラ(u
SBC)0 3220およびuSBC1 3222は、
マイクロバス3218を経てステーションの動作を制御
する専用RISCマイクロプロセッサである。uSBC
は制御ストア3224、高速スタティックランダムアク
セスメモリ(SRAM)にストアされた情報ストリーム
を実行する。この情報ストリームはシステム初期設定時
に制御ストア3224に書込まれる。命令ストリームは
ライン3226を介して制御ストア3224からuSB
C0 3220によってフェッチされる。同じ命令スト
リームはライン3228を介して制御ストア3224か
らuSBC1 3222によってフェッチされる。第1
のマイクロプロセッサ、uSBC0 3220、はマス
タであり、第2のマイクロプロセッサ、uSBC1 3
222、はスレーブである。マスタおよびスレーブは同
時に同じ命令を実行するが、マスタマイクロプロセッサ
のみがデータをマイクロバス3218上に書込む。スレ
ーブマイクロプロセッサuSBC1 3222によって
実行される動作の結果は、ライン3230を介してマス
タマイクロプロセッサuSBC0 3220に送られ、
そこでマスタマイクロプロセッサuSBC0によって実
行された動作の結果と比較され、プログラム制御の何ら
かの起こり得るエラーまたはロスを検出する。uSBC
は3つの別個の組のライン、つまりアドレスライン32
32、3234、データライン3236、3238、お
よび制御ライン3240、3242を介してマイクロバ
ス3218に接続する。
【0219】マイクロバス3218はステーションとの
通信およびステーション間のデータ転送のためにuSB
Cによって使用される双方向性バスである。これはuS
BCからステーションにあるハードウェアレジスタおよ
びデジグネータへのアクセスを与える。メンテナンスク
ロック制御(MTCC)ゲートアレイ3244は、マイ
クロシーケンサバスコントローラシステム3200のす
べてのコンポーネントのためのフォールト検出、クロッ
ク分配および制御、ならびにシステムリセット/回復な
どのメンテナンス動作を与える。MTCCはバスイネー
ブルラインを駆動し、それによりuSBC3220、3
222、およびステーションはマイクロバス3218上
にデータを駆動することが可能である。
【0220】マイクロバス3218はuSBCとステー
ションとの間の通信経路を与える双方向性バスである。
マイクロバスはデータライン3232、アドレスライン
3236、および様々な制御ライン3240からなる。
このバスのアドレス部分は最大8つのステーションをア
ドレス指定することができる。ステーションおよびuS
BCはマイクロバスを横断してそれらの間でデータを送
受信する。マイクロバスは36ビットデータバス(D
M)または32ビットデータバス(HIA)のいずれか
に適合可能である。マイクロバスに対するパリティチェ
ックのモードはデータバスが36ビットであるか32ビ
ットであるかに依存して異なる。
【0221】マイクロバスタイミングはバス上で送信さ
れるデータが送信器から受信器へ伝搬するのにかかるク
ロックサイクルの点で規定される。この時間は3マシン
クロックサイクルである。DM110上のクロックサイ
クルは22.5ナノ秒であるので、DMに対する送信時
間は67.5ナノ秒である。HIA214上のクロック
サイクルは25ナノ秒であるので、HIAに対する送信
時間は75ナノ秒である。図51はマイクロバスのデー
タおよびデータパリティ経路を示すブロック図である。
uSBC3220、3222とステーション3202、
3204、3206、3208、3210、3212、
3214、3216との間のデータ経路3246は36
ビットからなる。データパリティ経路3248は2ビッ
トからなる。データおよびデータパリティはuSBCか
らステーションへ、またはステーションからuSBCへ
と送られることが可能である。
【0222】図52はマイクロシーケンサバスコントロ
ーラシステム3200がデータムーバ110である場合
のマイクロバス3218のデータ経路のためのパリティ
ドメインを示す。データ転送目的のためにフルの36ビ
ットが使用され、データパリティビット0 3250は
データビット0−17 3252の奇数ビットを表わ
し、データパリティビット1 3254はデータビット
18−35 3256の奇数ビットを表わす。もちろ
ん、他の既知のパリティシステムが使用され得ることが
理解される。
【0223】図53はマイクロシーケンサバスコントロ
ーラシステム3200がホストインタフェースアダプタ
214である場合のマイクロバス3218のデータ経路
のためのパリティドメインを示す。データ転送目的のた
めに有効な36ビットのうちの32ビットだけが使用さ
れ、データパリティビット0 3258は元のデータビ
ット4−19 3260の奇数パリティを示し、データ
パリティビット1 3262はデータビット20−35
3264の奇数パリティを表わす。このように、36
ビット転送は32ビット表現にマッピングされる。図5
3のビット4はMSBであり、ビット35はLSBであ
る。
【0224】図54はマイクロバスのアドレスおよびア
ドレスパリティ経路を示すブロック図である。各uSB
Cはマイクロバス3218上に11ビットのアドレス3
266を独立して置き、そこからデータを読出すまたは
データを書込むためのステーションおよびレジスタを選
択する。バス駆動のために、各uSBCは4つのステー
ションを駆動する。uSBC0 3220はそれぞれ3
202、3204、3206および3208と記された
ステーション1、2、3および4のためのアドレスを駆
動し、uSBC1 3222はそれぞれ3210、32
12、3214、3216と記されたステーション5、
6、7および8のためのアドレスを駆動する(図50参
照)。各アドレスに対応するアドレスパリティビット3
268もまたマイクロバス上に置かれる。このアドレス
パリティビットはアドレス3266の奇数パリティを表
わす。
【0225】図55はマイクロバス上のアドレスのため
のパリティドメインがどのように分配されるかを示すブ
ロック図である。uSBC0 3220は示されるよう
に4つのステーションをアドレス指定する。uSBC0
は実際にこの4つのステーションにアドレスを送ってい
るが、uSBC1 3222はuSBC0 3220が
出力しているのと同じアドレスを同時に発生する(uS
BCは同時に同じマイクロコード命令ストリームを実行
することを思い出されたい)。uSBC1 3222は
それぞれ3202、3204、3206、3208と記
されたステーション1、2、3および4のためのアドレ
スパリティビット3268を計算する。同様に、uSB
C0 3220はそれぞれ3210、3212、321
4および3216と記された、uSBC1 3222に
よってアドレス指定されるステーション5、6、7およ
び8のためのアドレスパリティビット3268を計算す
る。
【0226】この代替のパリティチェッキングスキーム
は二重マイクロプロセッサ間の特別のレベルのパリティ
チェックを与える。図56はマイクロシーケンサバスコ
ントローラシステム3200によって実行される2つの
レベルのアドレスパリティチェックを示すブロック図で
ある。レベル1で、アドレスパリティがuSBC032
20内で発生され、アドレスが正しく発生されたかどう
か決定するためにチェックされる。アドレスが正しく発
生されていなければパリティエラーが発生する。これが
発生すると、uSBCは所望のステーションへのデータ
の送信をブロックする。レベル2で、受信したアドレス
が正しいかどうかを決定するために受信ステーションで
パリティチェックが行なわれる。このように、レベル1
はアドレス「発生」エラーがあるかどうかをチェックす
る一方で、レベル2はお互いと同期しなくなるuSBC
によって生じるアドレス「送信」エラー、または論理エ
ラーをチェックする。
【0227】このレベル2パリティチェックは、uSB
C1 3222がuSBC0 3220が発生するのと
同じアドレス3266を発生することを要求することに
よって達成される。uSBC1 3222はそのアドレ
スからアドレスパリティ3268を発生し、それをuS
BC0 3220がアドレス指定したステーションに送
る。次に、このステーションはそれがuSBC0 32
20から受信したアドレス3266をuSBC1 32
22から受信したアドレスパリティビット3268と比
較することによって、アドレスパリティエラーが発生し
たかどうかを決定する。このパリティ分配スキームはア
ドレス送信エラーを検出するための特別のレベルのセキ
ュリティを与える。
【0228】図57はマイクロバス3218のためのア
ドレスのフォーマットを示す。ビット0−2にストアさ
れたステーションセレクタフィールド3270は8つの
ステーションのうちの1つをアドレス指定するために使
用される。ビット3にストアされた基底付きアドレッシ
ングビットフィールド3272は、2つの可能な動作モ
ード、クリアの場合の直接アドレッシング、またはセッ
トの場合の基底付きアドレッシングの1つを選択するた
めに使用される。直接アドレッシングは特定のアドレッ
シング構造を有さない、ステーション上のレジスタおよ
びデジグネータをアドレス指定するために使用される。
直接アドレッシングはステーションが直接および基底付
きアドレッシングモードの双方を与えるように設計され
ていれば最大128のレジスタおよび/またはデジグネ
ータを許容する。ステーションが基底付きアドレッシン
グモードを有していなければ、最大3256のレジスタ
および/またはデジグネータがアドレス指定され得る。
基底付きアドレッシングはレジスタスタックを参照する
ために使用され、最大128のレジスタ深さまでのバッ
ファのアドレッシングを可能にする。マイクロバス32
18は32ビット幅か36ビット幅のいずれかであるの
で、1つのステーション上で考えられるアドレス指定可
能なレジスタの数は2* Nもの数になり、Nは適用され
得る32か36のいずれかである。ビット4−10にス
トアされたレジスタバッファインデックスフィールド3
274は、選択されたステーション内のどのレジスタま
たはデジグネータを参照すべきかを示す。
【0229】ソース、バスビジー、データ指定、ラッチ
セット、外部条件に対するラッチクリア分岐、ロックバ
スとして示される信号、ならびに継続、外部分岐条件、
ステーションアボートおよびステーションエラーなどの
ステーションから派生する信号を含む信号転送および使
用のこの特定の構成は、すべて上述の「マイクロシーケ
ンサバスコントローラシステム(Microsequencer Bus C
ontroller System)」と題された、同時係属中の米国特
許出願において詳細に規定される。図50を再び参照し
て、制御ストア3224はuSBC0 3220および
uSBC1 3222によって実行される命令をストア
するために使用される。これらの命令は44ビット幅で
ある。制御ストア3224は、実際にはRAMである
が、リードオンリメモリ(ROM)として使用される。
制御ストアは7つのSRAMチップ(図示せず)からな
る。各SRAMは32* 1024(K)8ビットバイト
のデータを保持する。制御ストアにストアされたデータ
の各ユニットは、44ビットの命令、その命令のための
8ビットのパリティ、および2ビットのアドレスビット
パリティ(偶数のアドレスドライバに対して1ビット、
奇数のアドレスドライバに対して1ビット)からなる。
各々がバイト当り8ビットを保持する7つのSRAMが
あるので、各記憶装置の一部が7つのSRAMの各々に
ストアされれば、各記憶装置の記憶のために合計56ビ
ットが使用可能である。
【0230】制御ストア3224にはメンテナンス経路
(図示せず)を介してサポートコンピュータシステムに
よってシステム初期設定時に命令がロードされる。パリ
ティビットおよびアドレスビットはホスト10コンピュ
ータシステムによって計算され、ストアされるときに各
命令に付加される。後に、uSBC0 3220および
uSBC1 3222が命令を実行しているとき、各命
令は制御ストアからフェッチされ、パリティ値はそれか
ら計算される。各uSBCはそれによって計算されたパ
リティ値を制御ストアにストアされたパリティチェック
に対して比較する。何か矛盾があれば、制御ストアはダ
メにされていると仮定され、uSBCで内部チェック状
態が生じる。これはuSBC処理にとって致命的なエラ
ーである。このエラーはMTCC3244に報告され、
処理は停止される。
【0231】マイクロシーケンサバスコントローラ(u
SBC)は命令を実行し、マイクロシーケンサバスコン
トローラシステム3200(図50参照)内のデータの
転送をモニタしかつ制御する専用マイクロプロセッサで
ある。すべてのデータ操作が二重のチェックで確実にベ
リファイされるようにシステムには2つのuSBCがあ
る。一方はマスタ3220であり、他方はスレーブ32
22であると考えられる。マスタuSBC3220のみ
がデータをマイクロバス3218上に駆動するが、マス
タおよびスレーブuSBCの双方がアドレス信号323
6、3238および制御信号3240、3242を駆動
し、マイクロバス3218上のローディングを減らす。
スレーブuSBC3222は別個のライン3230上で
各命令の結果をマスタuSBC3220に送る。マスタ
uSBCはこの値をそれが計算した結果と比較する。も
しこれらの値が異なっていれば、内部チェックエラー状
態が生じる。プログラム制御は失われる。これはMTC
C3244に報告される致命的なエラーである。そのエ
ラーのためにuSBC処理は停止される。
【0232】uSBC3220、3222は3つの別々
の組のラインを介してマイクロバス3218とインタフ
ェースする。再び図50を参照して、アドレスライン3
236、3238は11ビットを含む。データライン3
232、3234はマイクロシーケンサバスコントロー
ラ3200がDM110であれば36ビットプラス2パ
リティビットを含む。データラインはマイクロシーケン
サバスコントローラシステムがHIA214であれば3
2ビットプラス2パリティビットを含む。制御ライン3
240、3242は11ビットを含む。uSBCは、マ
イクロバスに接続しているが、ステーションであるとは
考えられないことに注意されたい。さらに、スレーブu
SBCの送信器はディスエーブルされており、スレーブ
はマイクロバス3218からデータを受信できるだけで
ある。
【0233】uSBCはまた初期設定およびメンテナン
ス機能のためにMTCC3244とインタフェースし、
uSBCのシーケンシャルエレメントを制御する信号を
受信するために回路をクロックする。図52はマイクロ
シーケンサバスコントローラの主なコンポーネントのブ
ロック図である。命令デコード論理3410は制御スト
ア3224から命令をフェッチし、その命令をデコード
してどのコマンドがリクエストされているか、何のオペ
ランドでコマンドが実行されるか、およびステーション
があるかどうか、もしあればどのステーションからオペ
ランドがフェッチされるか、またはどのステーションに
結果が書込まれるかを決定する。演算、論理およびシフ
ト論理3402は、オペランドに基づいて演算、論理ま
たはシフト動作を実行することによってリクエストされ
たコマンドを実行する。オペランドは1つ以上の内部レ
ジスタ3403またはローカルストアメモリ3404か
らフェッチされる。コマンド実行の結果はマイクロバス
3218の動作を制御するステーションアクティビティ
論理3405に送られ、かつ何らかの内部またはスレー
ブマイクロプロセッサエラーを検出するエラー検出論理
3406に送られる。最後に、分岐制御論理3407
は、マイクロバス3218を介してステーションから受
信した信号、ならびに演算、論理およびシフト3402
コマンド実行の結果を調べることによって、命令制御の
フローを決定する。
【0234】図60−図63はマイクロシーケンサバス
コントローラのアーキテクチャを示す詳細な図である。
制御ストア3224はuSBCによって実行されるべき
命令を保持する。制御ストア3224はバス制御論理3
408によって制御される双方向性ライン3226を経
てuSBCによってアクセスされる。バスアドレスレジ
スタ3407はもし命令があればその命令によって特定
されるデジグネータのアドレスを保持する。プログラム
カウンタ3409は制御ストア3224からフェッチさ
れるべき命令のアドレスを保持するレジスタである。命
令は制御ストア3224の示された位置から検索され、
後続の処理のために命令レジスタ3410にストアされ
る。大半の命令に対して、プログラムカウンタ3409
はインクリメントされ、実行すべき制御ストアの次の命
令をアドレス指定する。マルチプレクサ(MUX)34
39はプログラムカウンタ3409への入力を制御す
る。入力はプログラムカウンタそれ自体、命令レジスタ
3410、および分岐論理3440から受領される。そ
こから命令がフェッチされた制御ストアのアドレスは、
ライン3412を介してローカルストア書込レジスタ
(LSW0)3413(図61参照)のジャンプ履歴論
理3411によってセーブされ、後にローカルストア3
414に書込まれる。
【0235】ローカルストア3414は命令を実行する
際に使用するためにuSBCの内部にデータをストアす
る。ローカルストア3414は1024の36ビットワ
ードを保持する。ローカルストア3414は4つの専用
レジスタのうちの1つでデータを読出すまたはデータを
書込むためにアドレスをストアすることによってアクセ
スされる。これらのレジスタはアドレス読出0 341
5、アドレス読出13416、アドレス書込0 341
8、およびアドレス書込1 3420である。ローカル
ストアメモリ場所はuSBCの汎用レジスタに参照する
よりすばやく演算論理ユニット(ALU)、MOVE、
およびSHIFT命令(後述)によってアクセス可能で
ある。これによりuSBCはローカルストアを何も利用
できない場合より速く命令を処理することができる。ロ
ーカルストア3414は4ポートRAMセルとして実現
される。4ポートRAMセルは2つの読出ポートおよび
2つの書込ポートを経るメモリへの同時アクセスの能力
を与える。
【0236】図64はローカルストアメモリロケーショ
ンの割当を示す。好ましい実施例で実現される命令は、
ローカルストア3414を使ってアクティビティ制御ブ
ロック(ACB)バッファ3422、専用変数342
4、汎用変数3426、および予め規定された定数34
28を保持する。uSBCハードウェア論理はローカル
ストア3414を使用し分岐テーブル3430、コール
/リターンスタック3432、およびジャンプ履歴テー
ブル3434を保持する。これらのデータエントリの各
々のローカルストアアドレスドメイン(全部で0から3
FF)は図64において16進数フォーマットで示され
る。
【0237】再び図60を参照して、セーブプログラム
カウンタ3436は実行されるべき現在のマイクロコー
ド命令がストアされている制御ストア3224のアドレ
スを保持するレジスタである。それには現在のプログラ
ムカウンタ3409、現在のセーブプログラムカウンタ
3436、またはライン3441を介する分岐論理34
40の出力からMUX3437によって選択された値が
ロードされる。セーブプログラムカウンタ3436はま
たジャンプ履歴論理3408によってローカルストア3
414にストアされる。ジャンプ履歴テーブル3434
はプログラムカウンタ制御の最も最近にトレースされた
64の変化を保持する。セーブプログラムカウンタ34
36の内容もまたライン3438を介してMUX350
4に送られる。
【0238】現在の命令が分岐命令である場合、分岐論
理3440(図62参照)は分岐条件が満たされたかど
うかを決定し、もし満たされていれば、分岐論理344
0は分岐されるべき命令のアドレスをライン3441を
介してMUX3439に送り、その後プログラムカウン
タ3409に記憶される。これによりフェッチされた次
の命令が次の順次命令ではなく分岐アドレスにストアさ
れた命令になる。分岐条件の評価は、もし分岐命令が外
部分岐命令であれば、外部分岐検出論理3444を経て
外部分岐条件信号3443を読出すことを含む。分岐命
令が内部分岐命令であれば、これは内部分岐検出論理3
445から入力を受領することを含む。また分岐命令が
テーブル分岐命令であれば、アキュムレータ3442か
ら入力を受領することも含む。
【0239】命令レジスタ3410にストアされた命令
は2組の論理によって処理される。コマンドデコード論
理3446はどんな種類のコマンドが命令によって示さ
れているかを決定し、命令に含まれるデータおよび制御
情報をライン3450を介して演算論理ユニット(AL
U)3448へ、およびライン3454を介してステー
ションアクティビティ制御論理3452(図63参照)
に送る。ステーションデコード論理3456は必要に応
じてその命令によってどのステーションを参照すべきか
を決定する。ステーションデコード論理3456によっ
て得られたステーション識別情報はライン3458を介
してMUX3460に送られる。このステーション識別
情報はどの継続信号(1から8)3462(図63に示
される)活性が現在の命令の実行の結果として予想され
るかを選択するために使用される。ステーションデコー
ド論理3456はまたステーション識別情報をライン3
464を介してステーションアクティビティ制御論理3
452へ直接送る。
【0240】イミーディエイトムーブデータレジスタ3
466(図60に示される)は、uSBC内部レジス
タ、外部レジスタ、またはローカルストア3414に転
送されるべきデータを保持する。イミーディエイトムー
ブデータレジスタ3466は命令レジスタ3410にス
トアされた命令から得られる。uSBCは命令の処理中
に使用される様々な内部レジスタを含む。命令のための
オペランドデータはローカルストア3414から読出さ
れ、汎用レジスタA(REGA)3468(図61参
照)にストアされる。オペランドデータを操作するため
のマスク/マージビットパターンは、ローカルストア3
414から読出され、マスク/マージレジスタ(MMR
G)3470にストアされる。バス受信レジスタ(BU
SR)3472(図60参照)は、マイクロバスからラ
イン3474を介して受信された外部読出から生じたデ
ータを保持する36ビットレジスタである。マイクロバ
ス3218によって書込まれることが可能なのはuSB
Cレジスタのみである。uSBCの外部のステーション
に対するレジスタを読出す動作の実行の間に、結果とし
て生じるデータはBUSR3472に入れられる。これ
はローカルストア3414に移動されてもよいし、また
は命令のためのオペランドとして使用されてもよい。ア
キュムレータ(ACC)3442(図60参照)は命令
の実行後ALU3448の結果を保持する36ビットレ
ジスタである。uSBCからマイクロバス3218にデ
ータを出力できるのはレジスタのみである。したがっ
て、外部デジスタまたはデジグネータのすべての書込は
ACC3442を使用する。
【0241】uSBCによって使用される6つの他の専
用レジスタがある。ローカルストアベースレジスタ(L
SBR)3476は、ローカルストア3414の基底付
きアドレッシングのために使用される6ビットレジスタ
である。もし基底付きアドレッシングが選択されれば、
uSBCは10ビットローカルストアアドレスの6つの
最上位ビットとしてLSBR3476の内容を使用し、
その命令から4つの最下位ビットを入手する。命令はロ
ーカルストア3414内のACBバッファ3422をア
クセスするために基底付きアドレッシングを使用する。
メンテナンスデータアウトレジスタ(MDOR)347
8は致命的および非致命的エラーを報告するために使用
される。これはMTCC3244を経てアウトボードフ
ァイルキャッシュXPC102のメンテナンス処理に接
続される32ビットダイナミックスキャン/セットレジ
スタである。メンテナンスデータインレジスタ(MDI
R)3480は、MTCC3244を経るXPC102
のメンテナンス処理の制御下の32ビットダイナミック
スキャン/セットレジスタである。MDIRはメンテナ
ンスによって使用され、メッセージをuSBCに送る。
【0242】フラグレジスタ(FLGR)3482はハ
ードウェアフラグレジスタである。これは個々にテスト
され、セットされ、かつクリアされる16ビットを含
む。どんな数のフラグでも1つの命令でセット/クリア
され得る。このフラグはまた分岐条件インジケータとし
ても使用される。ソースインデックスレジスタ(SIX
R)3484および宛先インデックスレジスタ(DIX
R)3486は外部レジスタをインデックスするため
に、かつ内部ループカウンタとして使用される14ビッ
トレジスタである。SIXR3484はローカルストア
3414からの読出要求をインデックスするために使用
され、DIXR3486はローカルストア3414への
書込要求をインデックスするために使用される。これら
のレジスタは多くの命令の実行の一部として自動的にイ
ンクリメントされ得る。このように、これらは有用でか
つ効率的なループカウンタである。
【0243】uSBCは2つの主な論理の処理グループ
を含む。シフト/マスク/マージユニットはすべてのシ
フト動作、ならびにオペランドのマスキングおよび合流
を実行する。シフト論理3488は上述のレジスタの1
つの内容を図示されるようにMUX3490およびMU
X3491を経る入力データとして選択する。シフト方
向や長さなどのシフトの制御はコマンドデコード論理3
446から得られる。シフト動作の結果はマスク論理3
492に送られる。マスク論理3492もまたライン3
494を介してMMRGレジスタ3470からマスクビ
ットパターンを表わす入力データを得る。マスク論理3
492の結果はマージ論理3496に送られる。マージ
論理3496もまたライン3498を介してREGA3
468から、またはMUX3489によってマルチプレ
クスされた内部レジスタの1つから、ローカルストア3
414のアドレスを表わす入力データを受領する。マー
ジ論理3496はライン3494を介してMMRGレジ
スタ3470からマージビットパターンを得る。シフト
/マスク/マージ動作の結果はライン3502およびM
UX3504を経てアキュムレータ3442へ送られ
る。
【0244】ALU3448はすべての演算および論理
動作を実行する。ALU3448はuSBCがXPC1
02のDM110コンポーネントにあるかHIA214
コンポーネントにあるかに依存して、32ビットデータ
ワードかまたは36ビットデータワードのいずれかを処
理する。AUL3448はMUX3489を経て内部レ
ジスタの1つ、およびREGA3468から、またはラ
イン3494を経てMMRG3470からオペランドデ
ータを選択する。これはまたライン3450を経てコマ
ンドデコード論理3446からコマンド情報を入手す
る。演算または論理動作の結果はMUX3504および
ライン3508を経てアキュムレータ3442(図62
参照)にストアされる。
【0245】アキュムレータ3442は4つの可能なソ
ースからMUX3504を経てストアするためのデータ
を選択する。第1のソースはデータをライン3438を
介して送るセーブプログラムカウンタ3436である。
セーブプログラムカウンタ3436からのデータは実行
されている命令のアドレスを表わす。第2のソースはラ
イン3508を介するALU448からの出力である。
第3のソースは命令またはデータからのイミーディエイ
トムーブデータを内部レジスタの1つからライン351
2を介して送るMUX3510である。第4のソースは
ライン3502を介するシフト/マスク/マージ論理グ
ルーピングからの出力である。
【0246】アキュムレータ3442の内容は、ライン
3514を経る後続の命令の実行のためのオペランドと
してMUX3490によって選択される。アキュムレー
タ3442の内容はまたライン3514を経てローカル
ストア3414にもストアされる。アキュムレータ34
42の内容はまたマイクロバス3218に接続されたス
テーション上のレジスタに書込まれる。バス制御論理3
516は双方向性マイクロバス3218を介する転送を
制御する。uSBCがスレーブuSBCであれば、アキ
ュムレータ3442の内容はライン3230を介してマ
スタuSBCに送られ、マスタuSBCのアキュムレー
タにストアされた結果と比較される。チェッカ論理35
18は2つの値を比較し、もし2つの値が等しくなけれ
ば、致命的なエラーをuSBC停止論理3520(図6
1参照)に示す。uSBC停止論理3520はマイクロ
プロセッサを停止する。エラー表示がステーションエラ
ー3522またはステーションアボート3524信号を
経てステーションの1つから受信されれば、処理もまた
停止される。これらの信号はステーションエラー検出論
理3525によって処理され、エラー表示はuSBC停
止論理3520に送られる。ロックバス信号3324は
その後問題があることを他のステーションに知らせるた
めに送出される。多重継続エラー検出論理3526は多
重継続信号がuSBCによってMUX3460からライ
ン3528を介して受信されていることに関するエラー
を検出する。もしそのようなエラーが発生すれば、uS
BC停止論理3520はマイクロプロセッサを停止す
る。最後に、内部フォールトが発生すれば、内部フォー
ルト捕獲論理3529はそのエラーを検出し、uSBC
停止論理3520に知らせる。
【0247】データはフルワードまたはハーフワードモ
ードのいずれかでマイクロバス3218を介して受信さ
れる。フルワードモードでは、データはuSBCのモー
ドセッティングに依存して、32ビットかまたは36ビ
ットのいずれかからなる。ハーフワードモードでは、デ
ータはやはりuSBCのモードセッティングに依存し
て、16ビットか18ビットのいずれかからなる。マイ
クロバス3218を介して受信されるデータは、ハーフ
ワード信号3532のセッティングに依存して、MUX
3530によって選択された後バス受信レジスタ347
2にストアされる。ハーフワード信号が存在すれば、バ
ス受信レジスタ3472に送られたデータの下位半分の
ビットは0にされる。
【0248】uSBCはバスビジーライン3534を操
作することによってマイクロバス3218を介してデー
タを送信していることをステーションに知らせる。バス
ビジー論理3536はライン3454を介するコマンド
デコード論理3446からのコマンド情報、およびライ
ン3458を介するステーションデコード論理3456
からのステーション識別情報を入力として受領する。バ
スビジー論理3536は、uSBCがアキュムレータ3
442からマイクロバス3218を介してその特定のス
テーションへデータを転送しているときに、対応のバス
ビジーラインをハイにセットする。
【0249】マイクロバス3218のハイレベル機能制
御はステーションアクティビティ制御論理3452によ
って管理される。ステーションアクティビティ制御34
52は、8つのソース信号3540、データ宛先信号3
308、8つの外部条件付き分岐信号3320のうちの
4つ、ラッチセット信号3312、およびラッチクリア
信号3316をセットしかつクリアすることによって、
uSBC/ステーション通信プロトコルを実現する。バ
スウエイト論理3548は、データ転送のために利用で
きなければ、ステーションアクティビティ制御3452
がマイクロバス3218をアクセスしようとしないこと
を確実にする。
【0250】さまざまな選択を有するMOVE, EXTERNAL S
OURCE, SET/CLEAR, BRANCH, ARITHMETICおよびSHIFT 等
のSBC命令については、上に述べた「マイクロシーケ
ンサバスコントローラシステム」と題する同時係属出願
中の米国特許出願に記載されている。 d.HUBおよびストリートシステム HUBおよびストリートシステムは、ストリート742
(図33を参照)と呼ばれる一連の共有バスを、ストリ
ートを横切ってデータを必要な宛先に方向づけることが
できる一連のスマートスイッチングエレメントに結合す
ることによって信頼度を向上させる一方で、全体的な冗
長性に係る極端なコストを軽減する。本発明はまた、バ
ス要求に優先順位をつけるための手段を提供することに
よって、優先順位の最も高いデータが確実に最初に転送
されるようにする。
【0251】先行技術は、ポイントツーポイントアーキ
テクチャが、入力から出力への複数の経路を備えている
という点で共有バスのアプローチに比べて信頼度が高い
点を教示している。しかしながら、ポイントツーポイン
トアーキテクチャにはより大きなハードウェアが必要で
ありしたがってその構築および維持にはより費用がかか
ることになる。これに比べて共有共通バスアーキテクチ
ャでは、ポイントツーポイントアーキテクチャほどには
信頼度は高くないが、そのような大きなハードウェアを
必要としないため構築および維持がより低価格で済む。
本発明は、この2つのアプローチに対し中間的な代替方
法を提供するものである。所与のシステム内のストリー
トの数を増やすことによってHUBおよびストリートシ
ステムをポイントツーポイントアーキテクチャに大変類
似したものに構成することができる。逆に、システム内
のストリートの数を減らせばHUBおよびストリートシ
ステムを共有共通バスアーキテクチャに大変類似したも
のに構成することができる。したがって、本件のアーキ
テクチャは特定の応用の信頼度および費用的な要件に応
じて、この範囲のいずれかの応用に適した構成にするこ
とができる。本発明によって、システム設計者はコスト
を信頼度と交換することができる。このような柔軟性が
加わったことでより信頼性が高くかつ費用効率的なコン
ピュータシステムが得られる。
【0252】HUBおよびストリートシステムは相互接
続されたHUBエレメント728、730のネットワー
クであり、このネットワークによってHUBエレメント
の1組が直接的にまたはHUBエレメントのもう1つの
組を介してデータの送受を行なう。好ましい実施例で
は、これらHUBエレメントはHUB0 728とHU
B1 730と対にされている。各HUB0およびHU
B1の対は水平方向にともに接続され、かつ各HUB1
はメモリエレメント等の支持装置に水平に接続されてい
る。HUB0 740エレメントは、データの伝送およ
びメモリエレメントとの間のデータ伝送の要求を開始す
るIXP 236とHIA 234とに接続される。
【0253】HUB0 728a、728b、728c
および728dエレメントは、リクエスタストリート
(UPおよびDOWNストリートの両方)を介して隣接
するHUB0エレメントに縦に接続される。同様に、H
UB1エレメントはレスポンダストリートを介して隣接
するHUB1 730a、730b、730cおよび7
30dエレメントに縦に接続される。これらストリート
は、これらに接続されるいずれかのHUBエレメントが
使用できる双方向バスであり、かつ各HUBエレメント
は適切なストリートのUPまたはDOWNにデータを伝
送することができる。各ストリートには1度に1つのH
UBエレメントのみがアクセスでき、かつしたがって各
HUBエレメントには優先順位の高いデータがまず転送
され得るような優先順位スキームが内蔵されている。
【0254】信頼性をより高めかつXPC102の残り
の「パワードメイン」アーキテクチャに一致させるため
に、好ましい実施例はさらにちょうど上に述べたような
HUBエレメントおよびストリートの冗長組を含み、こ
れらが完全に異なるパワードメイン内に置かれる。好ま
しい実施例が設計されたこの特定の応用では、2ストリ
ートアーキテクチャがコストと信頼性の間でバランスが
よく取れていることがわかった。図65はアウトボード
ファイルキャッシュ拡張処理コンプレックス(XPC)
102のブロック図である。システム全体には、命令プ
ロセッサ12、I/Oプロセッサ38、ディスク記憶装
置106、アウトボードファイルキャッシュXPC10
2、およびホストメイン記憶装置16が含まれる。命令
プロセッサ12は、ケーブル13を介してホストメイン
記憶装置16からの命令を受ける。ホストメイン記憶装
置16もBUS4014に結合されている。I/Oプロ
セッサ38はBUS4014に結合されかつさらにケー
ブル4020を介してディスク記憶装置106に結合さ
れている。このアウトボードファイルキャッシュXPC
102もBUS4014に結合されている。アウトボー
ドファイルキャッシュXPC102は、データムーバ1
00と不揮発性メモリ220とを備える。データムーバ
110は、光ファイバリンク112を介して不揮発性メ
モリ220に結合される。データ信号はI/Oプロセッ
サ38を介してディスク記憶装置106からホストメイ
ン記憶装置16へ転送される。ただしここでデータに何
らかの更新が生じれば、それは少なくともちょっとの間
ディスク記憶装置106ではなく、アウトボードファイ
ルキャッシュXPC102の不揮発性メモリ220に記
憶される。将来のすべての参照は、不揮発性メモリ22
0におけるこのデータを読出すかまたは修正する。した
がって、不揮発性メモリ220はディスクのためのキャ
ッシュのような動作をしかつデータ参照速度をかなり増
大させる。システムがもはやこのデータを使用しなくな
って後初めてこのデータはディスク記憶装置106に転
送されて戻される。アウトボードファイルキャッシュX
PC102において、BUS4014に接続されたデー
タムーバ110を使用してホストメイン記憶装置16か
ら不揮発性メモリ220またはその逆の方向へのデータ
信号の転送を行なう。図65にはデータムーバ110が
1つしか図示していないが、もちろん多くのシステムに
おいてはデータムーバは多数置かれる点を理解された
い。
【0255】図66はアウトボードファイルキャッシュ
システムのブロック図である。このアウトボードキャッ
シュシステム内には、不揮発性メモリ220とインタフ
ェースするのに他のコンポーネントが必要である。上に
述べたとおり、これらのコンポーネントにはリンク11
2を介してデータムーバ110に結合されるホストイン
タフェースアダプタ214が含まれ、データムーバ11
0はバス4014に結合される。システムインタフェー
ス228はケーブル234を介してHIA214に結合
されかつケーブル232を介して不揮発性メモリ220
に結合される。データムーバ110毎に、システムに加
えられるHIA214とシステムインタフェース228
とがある。DM110を多くシステムに加えれば加える
ほど、NVS220に対する要求においてボトルネック
が発生する可能性があることが明らかである。結果とし
て、NVS220のサイズおよびこのメモリをアドレス
するのに必要な帯域幅は性能における主な問題となって
いる。本発明は、複数の不揮発性メモリエレメントを並
列に接続し、かつすべての入力ポートからすべての不揮
発性メモリエレメントにアクセスができるようにするこ
とによってこの問題を軽減するものである。
【0256】各システムインタフェースカード228に
対し、インデックスプロセッサ(IXP)236(図6
参照)を使用してキャッシュ機能を管理するが、これは
IXPの機能の1つにすぎない。各インデックスプロセ
ッサ(図33参照)は不揮発性メモリ220への経路を
有している。図67は、このシステム内のアウトボード
ファイルキャッシュブロックの配線のブロック図であ
る。ストリートアーキテクチャは、システムインタフェ
ースカード(SIF)のネットワークであり、1つのS
IFカードに対するリクエスタは他のSIFカードに移
動して不揮発性メモリ220へのアクセスを得ることが
できる。このシステムインタフェースカードについて
は、図67に、参照番号4036、4080、409
6、4112、4044、4120、4134、および
4148を用いて示しており、各システムインタフェー
スには、IPX236、2つのHUB728、730お
よび記憶装置インタフェースコントローラ(SICT)
228が含まれ、その各々について図示しかつ図33と
ともに説明する。各不揮発性メモリ4030、408
4、4100および4116は他から独立している。た
だし、いずれのSIFもストリートによってどの不揮発
性メモリでも参照することもできる。
【0257】データムーバ110−28、110−7
2、110−88および110−104はそれぞれ入力
ポート4014、4070、4086および4102に
結合される。同様に、データムーバ110−52、11
0−128、110−142、および110−156は
それぞれ入力ポート4054、4130、4144およ
び4158に結合される。ホストインタフェースアダプ
タ214は光ファイバインタフェースリンク112−2
6を介してデータムーバ110−28に結合されかつさ
らに導体4034を介してSIF4036に結合され
る。HIA214−76は光ファイバインタフェースリ
ンク112−74を介してDM110−72に結合さ
れ、かつさらに導体4078を介してSIF4080に
結合される。HIA214−92は光ファイバインタフ
ェースリンク112−90を介してDM110−88に
結合され、かつさらに導体4094を介してSIF40
96に結合される。ホストインタフェースアダプタ21
4−108は、光ファイバインタフェースリンク112
−106を介してデータムーバ110−104に結合さ
れ、かつさらに導体4110を介してシステムインタフ
ェース4112に結合される。HIA214−48は、
光ファイバインタフェースリンク112−50を介して
DM110−52に結合され、かつ導体4046を介し
てSIF4044に結合される。HIA214−124
は、光ファイバインタフェースリンク112−126を
介してDM110−128に結合され、かつさらに導体
4122を介してSIF4120に結合される。HIA
214−138は、光ファイバインタフェースリンク1
12−140を介してDM110−142に結合され、
かつさらに導体4136を介してSIF4134に結合
される。HIA214−152は、光ファイバインタフ
ェースリンク112−154を介してDM110−15
6に結合され、かつさらに導体4150を介してSIF
4148に結合される。
【0258】不揮発性メモリ4030は導体4038を
介してSIF4036に結合され、かつさらに導体40
42を介してSIF4044に結合される。不揮発性メ
モリ4084は、導体4082を介してSIF4080
に結合され、かつさらに導体4118を介してSIF4
120に結合される。不揮発性メモリ4100は、導体
4098を介してSIF4096に結合され、かつさら
に導体4132を介してSIF4134に結合される。
不揮発性メモリ4116は、導体4114を介してSI
F4112に結合され、かつさらに導体4146を介し
てSIF148に結合される。
【0259】システムインタフェース4096は、導体
4060を介してSIF4112に結合され、かつさら
に導体4058を介してSIF4080に結合される。
SIF4036は、導体4056を介してSIF408
0に結合され、かつさらに導体4040を介してSIF
4044に結合される。SIF4120は、導体406
2を介してSIF4044に結合され、かつさらに導体
4064を介してSIF4134に結合される。最後
に、SIF4148は、導体4066を介してSIF4
134に結合される。
【0260】導体4060、4058、4056、40
40、4062、4064および4066は、このシス
テムアーキテクチャ内のストリート234(図6を参
照)を表わす。なお、不揮発性メモリ4030、408
4、4100および4116は、システムインタフェー
スカード4036、4080、4090、4112、4
044、4120、4134および4148の間に配さ
れる。各SIFカードはそれ自体のローカルメモリを有
しているが、他の不揮発性メモリのいずれかへの適切な
ストリートを取ることによって、その特定の不揮発性メ
モリへのアクセスを得ることもできる。
【0261】図67に示される構成は、1個のパワード
メイン用のものでありかつデータムーバ110−28、
110−72、110−88、110−104、110
−52、110−128、110−142および110
−156を除いて、「A」パワードメインにあるものと
考えられ得る。パワードメインは特定のグループの電源
によって駆動されるシステムの部分として定義する。好
ましい実施例では、各パワードメインは2つの異なるA
Cエントランス(図示せず)に接続された2つの電源を
有する。回復性を持たせる目的で、このアウトボードフ
ァイルキャッシュXPC102には2つのパワードメイ
ン、すなわち「A」と「B」がある。
【0262】好ましい実施例では、図58に含まれるも
のと同じで、図56には図示していない冗長構成が設け
られているが、これは「B」パワードメインに接続され
ている。図33とともにその構成および説明を参照。各
不揮発性メモリ4030、4084、4100、411
6は、これで「A」パワードメインにあるデータムーバ
110−28、110−72、110−88、110−
104、110−52、110−128、110−14
2および110−156からの2つの共通するパワード
メイン経路を有しかつ「B」パワードメインにあるこれ
らデータムーバからの他の2つの共通するパワードメイ
ン経路を有することになる。
【0263】図68は、システムインタフェースカード
と、不揮発性メモリとの間の配線を示す詳細ブロック図
である。図68は、「A」パワードメインシステムイン
タフェースカードと、冗長「B」パワードメインシステ
ムインタフェースカードの両方を示す。SIF4160
は、ストリート4176に結合されかつさらにストリー
ト4168を介してSIF4162にも結合される。S
IF4160は、導体4172を介して不揮発性メモリ
4188にも結合される。SIF4162は、ストリー
ト4178に結合され、かつさらに導体4180を介し
て不揮発性メモリ4188にも結合される。同様に、S
IF4166は、ストリート4186に結合され、かつ
さらにストリート4170を介してSIF4164に結
合される。SIF4166はさらに導体4174を介し
て不揮発性メモリ4188に結合される。SIF416
4は、ストリート4184に結合されかつさらに導体4
182を介して不揮発性メモリ4188に結合される。
この図面からわかるとおり、「A」パワードメインシス
テムカードと「B」パワードメインシステムカードとは
同じ不揮発性メモリ4188へのアクセスを有してい
る。
【0264】図67ではSIF4036、4080、4
096、4112、4044、4120、4134およ
び4148間のストリートを1本の線4060、405
8、4056、4040、4062、4064および4
066で示したが、好ましい実施例には各SIFカード
(およびしたがって2つのHUB)を接続する2対のス
トリートが含まれる。機能エレメントの一般的構成につ
いては、図33および図67を参照して説明した。HU
Bおよびストリートの構成についてより詳細に説明する
ことにする。HUB0 728およびHUB1 730
は「UP」ストリートを上るかまたは「DOWN」スト
リートを下るかのいずれかのコミュニケーションが可能
である。HUB0 728上のストリートはリクエスタ
ストリートと呼ばれるが、その理由はIXP236とH
IA214のみが要求をこれらのストリートに要求を方
向づけることができるからである。HUB1 730上
のストリートはレスポンダストリートと呼ばれるが、こ
れは不揮発性メモリ732のみが応答をこれらのストリ
ートに方向づけることができるからである。要求と応答
とに関して別のストリートを有していることでストリー
トネットワークの全体的な性能が改善される。しかしな
がら、この説明が本発明の範囲をこのような構成に限定
するべきでない点に留意されたい。
【0265】HUB0エレメント728a、728b、
728cおよび728dは、各々5つのインタフェー
ス、(1)HIA214、(2)IXP236、(3)
UPストリート、(4)DOWNストリート、および
(5)対応するHUB1 730エレメントへのインタ
フェースを有する。HUB1 730エレメント730
a、730b、730cおよび730dは、HUB0
728エレメントと同じ電気装置であるが、このシステ
ム内のインタフェースは、(1)SICT228、
(2)UPストリート、(3)DOWNストリート、
(4)他のパワードメインへのクロスオーバインタフェ
ース238、および(5)対応するHUB0 728エ
レメントへのインタフェースである。
【0266】HUB0 728cは、IXP236cに
結合され、かつさらにHIA214cに結合される。H
UB0 728cはUPストリート740とDOWNス
トリート741にも結合されており、かつさらにUPス
トリート740とDOWNストリート743を介してH
UB0 728aに結合されている。同様に、HUB0
エレメント728a、728bおよび728dは、それ
ぞれ関連のIXP、HIA、HUB0、HUB1、なら
びにUPおよびDOWNストリートに結合されている。
HUB1 730aは導体746を介してHUB0 7
28aに結合され、かつさらに導体748を介してSI
CT228aに結合される。HUB1730aは、UP
ストリート750およびDOWNストリート752に結
合され、かつさらにDOWNストリート754およびU
Pストリート756を介してHUB1 730cに結合
される。同様に、HUB1エレメント730b、730
cおよび730dはそれぞれ関連のSICT、クロスオ
ーバ、HUB0、HUB1、UPストリートおよびDO
WNストリートに結合される。
【0267】2つのHUBエレメントが各システムイン
タフェース(図58参照)に含まれる。HUB0 72
8およびHUB1 730は、同じゲートアレイ装置で
ある。HUBゲートアレイは、記憶装置インタフェース
コントロール(SICT)728を介してインデックス
プロセッサ(IXP)、ホストインタフェースアダプタ
(HIA)214および不揮発性メモリ(NVM)73
2間に論理配線を備える。各HUBは5つのインタフェ
ースを有し、そのインタフェースに対して情報パケット
を経路指定することができる。HUBには1つのタイプ
しか存在しないので、HUB識別名(HUBID)を用
いてHUB0 728とHUB1 730を区別する。
【0268】HUBゲートアレイ間のパケットの動きは
従来技術の要求−肯定応答プロトコールに従う。利用可
能なライン、ヘッダ宛先、アドレスおよび識別ストラッ
プが経路の選択を決定する。局所化された制御によっ
て、HUBは、スタックし、ルージュパケットをパージ
し、または適切なインタフェースに対し優先順位を認め
ることができる。さまざまなキャビネットおよびパワー
ドメイン構成、ならびに制御パラメータが上にも述べた
HUBおよびストリートアーキテクチャと題する同時係
属出願中の米国特許出願に記載されている。
【0269】図69は、HUB0およびHUB1エレメ
ントのための出力優先順位スキームを含む表である。H
UBエレメントには各インタフェースに1つ合計5つの
優先順位セクションが存在する。5つの出力インタフェ
ースの優先順位の各々は他の優先順位から独立してい
る。従来技術のスナップショット優先順位をHUB07
28用のIXP236およびHIA214インタフェー
スに対し使用しかつHUB1 730用のNVS732
およびCROSSOVER238インタフェースに対し
使用する。スナップショット優先順位によって、同時に
受取られる要求は、他のスナップショットが取られる前
に高い優先順位から低い優先順位の順にサービスされ
る。
【0270】ストリート出力ノードに対する優先順位
は、そのストリートが最も高い優先順位を与えられるよ
うに設計される。R−フラグ(ローカルリクエスタをス
トリートに対し開放する)が設定された場合にのみ、ス
トリートノードはストリート上に他のリクエスタを許容
する(HUB制御フォーマットについては図70を参
照。これは、ストリート要求運行が連続的なものである
と仮定している。もちろん、ストリートからストリート
出力ノードへの要求がなければ、ローカルリクエスタ
(IXPまたはHUBに対して内部)はストリートにア
クセスを有する。
【0271】R−フラグは、IXP、HIA、NVSを
含むすべてのリクエスタにより設定される。各ストリー
トインタフェースでの優先順位はR−フラグが設定され
ているか否かに関わらず同じままだが、スナップはR−
フラグの値によって変化する。ストリート要求がR−フ
ラグを設定させた場合、1つのローカルリクエスタがス
トリート出力ノードからのストリート要求に従うことに
なる。そこで優先順位は再びスナップする。R−フラグ
は、ストリート要求がストリートノードを去ったときに
クリアされる。ストリート要求がR−フラグを設定させ
なければ、ストリート要求はストリート出力ノードを出
て優先順位が再スナップする。R−フラグは、この場合
はクリアされたままである。ストリート要求R−フラグ
が設定されかつローカルリクエスタが存在しない場合に
は、R−フラグはストリートノードを出る際にも設定さ
れたままである。R−フラグは設定されたままかまたは
ストリートリクエスタによってクリアされるかのいずれ
かである。ただし、ローカルリクエスタによってクリア
されることはない。
【0272】HUB0およびHUB1の内部インタフェ
ースも、ストリート(UP/DOWN)がアクセスに関
して最も高い優先順位を有するように設計される。UP
およびDOWNストリートの両方が同時にスナップされ
ると、優先順位はDOWNがサービスされた後に再びス
ナップする。R−フラグはこれらのインタフェースに対
しては何らの効果も及ぼさない。図69は、HUB0お
よびHUB1インタフェースに関する出力優先順位につ
いて説明する。図70は、HUB制御フォーマットを規
定する図である。HUBはデータパケットを転送するう
えで要求−肯定応答プロトコルを使用する。HUBは、
EXTEND LINEがハイになるのを検知すると、
その宛先アドレスによってどのインタフェースにその要
求が方向づけられているかを判別する。その出力ノード
に競合がなければ、パケットはそこを出て、肯定応答が
リクエスタに対し戻される。この肯定応答によってリク
エスタは、別のパケットを送ってもよいことがわかる。
この要求が同じインタフェースまたはノードを出ようと
する他のリクエスタと競合している場合には、この新た
な要求がサービスされるまで肯定応答は返されない。最
初の要求が優先順位を受けた場合には、応答はそのリク
エスタに戻され、かつHUBがこのパケットをその宛先
に伝送し始める。パケットがHUBインタフェース上で
受取られると、このパケットは常にランダム・アクセス
・メモリ(RAM)(図示せず)に格納される。このイ
ンタフェース用の優先順位がビジーである場合には、制
御はスイッチオーバしてRAMからこのパケットを取出
す。したがって、RAMにある要求が宛先アドレスおよ
び利用可能なラインによって決定されるインタフェース
プライオリティへの要求を構成する。ひとたび前の要求
の伝送が済み、かつこの要求が優先順位待ち行列におい
て次の順位である場合に制御はこの要求に対し行動を起
こすことになる。
【0273】特定のインタフェースが利用可能でない場
合に、このパケットを再方向づけできることが重要なの
で、利用可能なラインが優先順位として特定のインタフ
ェースへの要求の形成に入る。このような能力を有する
インタフェースはSICTブロックを介するNVSへの
ストリートおよびインタフェースである。S−フラグは
リクエスタにより送られかつストリート(UPまたはD
OWN)上でどの方向をとるべきかをHUBに知らせ
る。S−フラグ=0はUPストリート方向と定義する。
S−フラグ=1はDOWNストリート方向であると定義
する。
【0274】先ほども述べたとおり、R−フラグはすべ
てのリクエスタによって設定される。HUBのみが入来
ストリート上のR−フラグを認識する。たとえば、HI
Aが異なるバックパネルにおいてNVSへの要求を行な
った場合、中間HUB0がこのパケットを適切なストリ
ートに方向づけすることになる。そのストリート上の受
取HUB0はそこでR−フラグを認識する。この受取H
UB0は、1つのローカルリクエスタが出力ノードから
出てストリートに従うことを許可する。R−フラグはク
リアされかつこのローカルリクエスタがストリート上の
ストリートリクエスタに従う。このストリートに関し待
ち行列に他のリクエスタがなければ、R−フラグは設定
されたままになる。
【0275】C−フラグを使用してHUBエレメント間
のパケットの経路指定を行なう。これらフラグはHUB
自体によって設定される。C0フラグは、HUB0がパ
ケットを内部インタフェースを介してHUB1に送る際
にセットされる。C1フラグは、HUB1がクロスオー
バインタフェースを介して隣接するHUB1にパケット
を送る際に設定される。C1フラグは、このパケットが
HUB1からひとたび伝送されると、受取HUB1によ
ってクリアされる。同様に、C0フラグは、データが受
取HUB0により受取られかつ伝送された後クリアされ
る。
【0276】ユニット識別フィールドである、ワードの
ビット8−11は、特定のUNITをアドレスするため
に使用される。バックパネル識別フィールドである、ビ
ット12−15は、好ましいモードで使用される16の
バックパネルのうちの1つをアドレスするために使用さ
れる。図71は、ユニット識別フィールドを規定する図
である。すべての関連のUNITは、それぞれに関連す
るユニット識別コードを有している。このユニット識別
コードを使用して特定のユニットをアドレスする(図7
0を参照)。
【0277】図72は、HUBエラーステータスフォー
マットを規定する図である。「F」ビット0は、エラー
フラグを意味する。このビットは、HUBが初めて発生
したエラーを検出した際に設定される。図72に含まれ
るフィールドの残りの部分は、他のコンポーネントたと
えばSICTおよびNVS等のさまざまなエラーのステ
ータスを報告するのに利用できる。図73は、1つの最
長パケットを伝送するための基本的インタフェースのタ
イミング図である。すべてのインタフェースタイミング
(HUBの好ましい実施例についての)は、50ナノ秒
(ns)の時間ステップである。また、この図は、要求
が方向づけられているインタフェースがビジーではない
と仮定している。
【0278】「拡張」信号はタイムステップ0で活性化
し、このストリートがデータ伝送に利用できることを示
す。リクエスタHUBはそこで「データ」ライン上に2
つのヘッダワードを送出し、とりわけこのリクエスタが
どのユニットと通信を行ないたいかを表わす。そのアド
レスがヘッダワード内のユニットIDと一致するユニッ
トは利用可能であれば「ACKツウREQ」で応答す
る。「ACKツウREQ」信号は、リクエスタに対し、
受取HUB内のRAMは現在もう1つのパケット用の余
裕があることを教える。「ACKフロムREC」信号上
に含まれパルスは、HUBに対する連続的な要求に対し
てHUBで肯定応答が受取られ得る最後の時点を示す。
この肯定応答はこの特定のインタフェースに関連するタ
イマの最大まで受取ることができる。
【0279】HUBが伝送エラーを検知すると、「LI
NE AVAIL」信号が、「EXTEND」ラインが
不活性になった100ns後に不活性になる(この図面
ではパルス数93の後100ns)。このことでその特
定のストリートに対し再試行または動作停止のいずれか
が強制され、かつHUBエレメントはその要求または応
答を再経路指定させられる。再経路指定については上に
述べた「HUBおよびストリートアーキテクチャを用い
るシステム内の優先順位の経路指定」と題する同時係属
中の米国特許出願、および上に述べた「XPC HUB
およびストリートアーキテクチャ」と題する米国特許出
願に説明されている。
【0280】図74は、HUBストリート優先順位回路
を示すブロック図である。この回路の動作は以下のとお
りである。拡張デジグネータ4648が入来ストリート
パケットから設定を受けると、比較器4652が、この
要求がストリート上で連続するものかどうかを見極めさ
せられる。他のリクエスタがストリート要求と同じ時間
フレームに存在する場合には、PRIORITY HO
LDレジスタ4654がこれらの要求のすべてを格納す
ることになる。優先順位エンコーダ4658は、これら
のリクエストがサービスされる順番を判別する。ストリ
ート出力ノードのための優先順位は、(1)ストリー
ト、(2)IXP、(3)HIA、および(4)HUB
1からの要求の順である。優先順位不能デジグネータ4
664は、優先順位エンコーダが活性化するとセットさ
れる。この優先順位不能デジグネータ4664の基本的
な目的は、比較論理4652を不能化することにあり、
他の要求が存在する場合には、これら要求は、同じ時間
フレームにスナップされる要求がすべてサービスされる
まで優先順位エンコーダ4658の外に保持されること
になる。
【0281】R−フラグデジグネータ4662は、パケ
ットヘッダのビット1(1)が能動化された場合にセッ
トされる。R−フラグデジグネータは、優先順位不能デ
ジグネータ4664にフィードし、かつ優先順位がもう
1つの再スナップのためにバックアップをオープンする
かまたはPRIORITY HOLDレジスタにあるリ
クエスタにサービスすべき時期を決定する。R−フラグ
は、パケットのヘッダにのみ存在する。したがって、パ
ケットの長さは多数の転送にわたる可能性があるので、
R−フラグSEL4672への制御は、最初の転送の間
にのみヘッダからR−フラグを選択し、その後は通常の
パケットデータにスイッチして戻る。
【0282】優先順位エンコーダ4658は、R−フラ
グSEL4670内にドライブし、このフラグはセレク
タ4672およびセレクタアウト4668を介してHU
Bを出る際にR−フラグをセットしたままにするかまた
はクリアすべきかを決定する。セレクタアウト4668
が必要なのは、4つまでのレジスタ(ストリート、IX
P、HIAおよび内部)がセレクタを介してHUBを出
ることができるためにである。優先順位デコードレジス
タ4660は、優先順位エンコーダ4658の出力をラ
ッチする。パケット伝送が完了すると、優先順位デコー
ドレジスタ4660を使用して優先順位レジスタのすべ
てをクリアする。
【0283】UPストリートデコード回路、DOWNス
トリートデコード回路、ポート−1(P1)デコード回
路、ポート−2デコード回路およびポート−3(P3)
デコード回路の詳細な説明については、先ほど述べた
「XPC HUBストリートアーキテクチャ」と題する
同時係属中の米国特許出願に述べられている。 e.結論 上の好ましい実施例の説明から、本発明のさまざまに述
べられた目的が達成されたことは、当業者の理解すると
ころとなろう。記載したアウトボードファイルキャッシ
ュ拡張処理システムによって、先行技術では教示または
考えつかなかったファイルキャッシュ能力が得られる。
好ましい実施例について説明したが、本発明の精神およ
び範囲を逸脱することなく当業者にはさまざまな修正、
代替例および省略が思いつくことであろう。したがっ
て、明細書は本発明の範囲を限定することなく本発明を
説明することを意図し、かつ特許法により保護を受ける
ことを意図する内容は前掲の特許請求の範囲に示すもの
である。
【図面の簡単な説明】
【図1】本発明とともに使用することが可能なデータ処
理システム、「ホスト」または「ホスト処理システム」
の例を示す図である。
【図2】ホストの例の入力/出力コンプレックスのアー
キテクチャを示す図である。
【図3】さまざまな先行技術のディスクサブシステム構
成に結合される複数のホストを示すブロック図である。
【図4】データ記憶装置ハイアラーキーにおけるアウト
ボードファイルキャッシュを示す図である。
【図5】図4に示されるデータ記憶装置ハイアラーキー
内の全体的ファイル処理を示す図である。
【図6】アウトボードファイルキャッシュシステムの好
ましい実施例のハードウェアおよびソフトウェアコンポ
ーネントを示す機能ブロック図である。
【図7】図8−図10の位置関係を示す図である。
【図8】ファイルキャッシュシステムの主要な機能コン
ポーネントの各々の間のデータの流れを示すフロー図で
ある。
【図9】ファイルキャッシュシステムの主要な機能コン
ポーネントの各々の間のデータの流れを示すフロー図で
ある。
【図10】ファイルキャッシュシステムの主要な機能コ
ンポーネントの各々の間のデータの流れを示すフロー図
である。
【図11】コマンドパケットの一般的なレイアウトおよ
び内部に含まれる情報を示す図である。
【図12】プログラム開始待ち行列を示す図である。
【図13】プログラム開始パケットに含まれる情報およ
びそのフォーマットを示す図である。
【図14】ステータスパケット待ち行列およびプログラ
ムステータスパケットに含まれるフォーマットおよび情
報を示す図である。
【図15】ステータスパケット待ち行列およびプログラ
ムステータスパケットに含まれるフォーマットおよび情
報を示す図である。
【図16】HIA ACBバッファを示す図である。
【図17】アクティビティ待ち行列を示す図である。
【図18】各アクティビティ待ち行列エントリに含まれ
る情報を示す図である。
【図19】アウトボードファイルキャッシュにおいて利
用可能なファイル空間を示す図である。
【図20】1つのセグメントの論理構成を示す図であ
る。
【図21】ブロックの論理合成を示す図である。
【図22】アウトボードファイルキャッシュのファイル
スペースにおけるキャッシュファイルスペース、ネイル
スペース、およびレジデントファイルスペースの間の論
理分割を示す図である。
【図23】ファイル記述子表を示す図である。
【図24】ファイル記述子に含まれる情報を示す図であ
る。
【図25】I/Oソフトウェアがアプリケーションソフ
トウェアからのファイル要求のために行なう一般的な処
理のフローチャートである。
【図26】ファイルキャッシュハンドラソフトウェアが
行なうFILE CACHE INTERFACE処理
のフローチャートである。
【図27】コマンドパケット(またはチェーン)の処理
が完了した時点を検出するための一般的な処理のフロー
チャートである。
【図28】図29および図30の位置関係を示す図であ
る。
【図29】データムーバ(DM)およびホストインタフ
ェースアダプタ(HIA)のコンポーネントを示す図で
ある。
【図30】データムーバ(DM)およびホストインタフ
ェースアダプタ(HIA)のコンポーネントを示す図で
ある。
【図31】インデックスプロセッサ(IXP)の機能ブ
ロック図である。
【図32】IXPの主処理ループのフローチャートであ
る。
【図33】アウトボードファイルキャッシュ内のストリ
ートプロセッサ間通信および記憶アクセスネットワーク
の機能的なコンポーネントをさらに示すブロック図であ
る。
【図34】アウトボードファイルキャッシュに結合され
た複数のホストを含むデータ処理構成を示すブロック図
である。
【図35】別個の電圧バスにより給電される複数のクロ
ック源がパワードメイン境界にわたって同期され、同時
に等しい数の等価な回路負荷がクロックされるようにな
っているクロック分配システムのブロック図である。
【図36】フォールト許容クロック分配システムの好ま
しい実施例のブロック図である。
【図37】DC電力源BまたはAC電力源Bが停止した
際のフォールト許容クロック分配システムを示す図であ
る。
【図38】各負荷を給電する同期クロック信号を示しか
つ所与のパワードメインにおいて同期クロック信号が、
他の同期クロック信号が失われた際にそのそれぞれの負
荷をクロックし続ける様子をさらに示す波形図である。
【図39】好ましい実施例のAC電力源およびDC電力
源冗長性を示す図である。
【図40】好ましい実施例の詳細を示すブロック図であ
る。
【図41】パワードメインAにおけるクロック源Aのブ
ロック図である。
【図42】パワードメインBにおけるクロック源Bのブ
ロック図である。
【図43】光ファイバインタフェースのコンポーネント
を示すブロック図である。
【図44】光ファイバインタフェースの一方端部用のク
ロックドメインのブロック図である。
【図45】PLAYER+コンポーネントへ光パイプフ
レームコントロールから転送される記号の表である。
【図46】光パイプフレームコントロールへPLAYE
R+コンポーネントから転送される記号の表である。
【図47】光パイプフレームコントロールゲートアレイ
の伝送側論理のブロック図である。
【図48】光パイプフレームコントロールゲートアレイ
の受手側論理のブロック図である。
【図49】フレーム転送ファシリティゲートアレイのブ
ロック図である。
【図50】マイクロシーケンサバスコントローラシステ
ムのブロック図である。
【図51】マイクロバスのデータおよびデータパリティ
経路を示すブロック図である。
【図52】マイクロシーケンサバスコントローラシステ
ムがデータムーバである場合のマイクロバスのデータ経
路用のパリティドメインを示す図である。
【図53】マイクロシーケンサバスコントローラシステ
ムがホストインタフェースアダプタである場合のマイク
ロバスのデータ経路用のパリティドメインを示す図であ
る。
【図54】マイクロバスのアドレスおよびアドレスパリ
ティ経路を示すブロック図である。
【図55】マイクロバス上のアドレス用のパリティドメ
インがどのように分配されるかを示すブロック図であ
る。
【図56】マイクロシーケンサバスコントローラシステ
ムにより行なわれるアドレスパリティチェックの2つの
レベルを示すブロック図である。
【図57】マイクロバスのためのアドレスのフォーマッ
トを示す図である。
【図58】マイクロシーケンサバスコントローラの主な
コンポーネントを示すブロック図である。
【図59】図60−図63の位置関係を示す図である。
【図60】マイクロシーケンサバスコントローラのアー
キテクチャを示す詳細図である。
【図61】マイクロシーケンサバスコントローラのアー
キテクチャを示す詳細図である。
【図62】マイクロシーケンサバスコントローラのアー
キテクチャを示す詳細図である。
【図63】マイクロシーケンサバスコントローラのアー
キテクチャを示す詳細図である。
【図64】ローカルストアメモリ位置の割当を示す図で
ある。
【図65】拡張プロセッサコンプレックス(XPC)の
ブロック図である。
【図66】アウトボードファイルキャッシュシステムの
ブロック図である。
【図67】アウトボードファイルキャッシュブロックの
配線を示すブロック図である。
【図68】システムインタフェースカードと不揮発性メ
モリとの間の配線を示す詳細ブロック図である。
【図69】HUB0およびHUB1エレメントのための
出力優先順位スキームを含む表である。
【図70】HUB制御フォーマットを規定する図であ
る。
【図71】ユニット識別フィールドを規定する図であ
る。
【図72】HUBエラーステータスフォーマットを規定
する図である。
【図73】1つの最長パケットを伝送するための基本的
なインタフェースのためのタイミング図である。
【図74】HUBストリート優先順位回路を示すブロッ
ク図である。
【符号の説明】
10 ホスト 16 主記憶装置 104 制御ユニット 220 不揮発性記憶装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フェリス・ティー・プライス アメリカ合衆国、55360 ミネソタ州、メ イヤー、タコマ・アベニュ、5570 (72)発明者 ジェイムズ・エフ・トルガーソン アメリカ合衆国、55304 ミネソタ州、ア ンドーバー、エヌ・ダブリュ、ワンハンド レッドアンドフィフティセブンス・アベニ ュ、227

Claims (41)

    【特許請求の範囲】
  1. 【請求項1】 ファイルデータ信号を処理するためのホ
    ストデータ処理システムとともに使用するためのアウト
    ボードファイルキャッシュ外部処理コンプレックスであ
    って、 前記ホストデータ処理システムが命令プロセッサ、記憶
    コントローラ、ファイルを記憶するためのファイル大容
    量記憶装置、前記記憶コントローラに結合された主動作
    メモリ、前記ホストデータ処理システムとの間のファイ
    ルデータ信号の読出および書込を制御しかつ前記命令プ
    ロセッサと前記主動作メモリとに結合されたデータムー
    バシステム、および前記データムーバに結合された伝送
    リンクとを有し、 前記アウトボードファイルキャッシュ外部処理コンプレ
    ックスは、 双方向バス構成と、 ホスト結合端子が前記伝送リンクに結合されて、前記ホ
    ストデータ処理システムからのファイルデータ信号およ
    びコマンド信号を受けかつ前記ホストデータ処理システ
    ムへファイルデータ信号およびコマンド信号を伝送し、
    かつバス結合端子が前記双方向バス構成に結合されたホ
    ストインタフェースアダプタと、 前記双方向バス構成に結合されて、前記双方向バス構成
    上の前記ファイルデータ信号およびコマンド信号の伝送
    を制御するインデックスプロセッサと、 前記ファイルデータ信号を選択的にキャッシュしかつ前
    記データファイル信号を選択的に読出すようになってい
    るアドレス可能な不揮発性記憶装置と、 前記アドレス可能な不揮発性記憶装置および前記双方向
    バス構成に結合されて、前記コマンド信号に応答して前
    記ファイルデータ信号上の前記キャッシュ動作および前
    記読出動作を制御する記憶インタフェース制御回路とを
    含み、 それによってアウトボードファイルキャッシングおよび
    制御が前記ホストデータ処理システムに密接に結合され
    かつ前記ホストデータ処理システムにより行なわれるフ
    ァイルデータ処理および関連の制御機能と並行して行な
    われる、アウトボードファイルキャッシュ外部処理コン
    プレックス。
  2. 【請求項2】 クロック信号を与えるためのクロック信
    号分配システムをさらに備える、請求項1に記載のアウ
    トボードファイルキャッシュ外部処理コンプレックス。
  3. 【請求項3】 前記クロック信号分配システムが、冗長
    発振器および発振器制御回路を備え、前記冗長発振器の
    1つを選択して前記クロック信号を与える、請求項2に
    記載のアウトボードファイルキャッシュ外部処理コンプ
    レックス。
  4. 【請求項4】 電力を与えるための電力源をさらに含
    む、請求項1に記載のアウトボードファイルキャッシュ
    外部処理コンプレックス。
  5. 【請求項5】 前記電力源が、冗長電源および電源制御
    回路を含み、前記冗長電源のうちの1つを選択して電力
    を与える、請求項4に記載のアウトボードファイルキャ
    ッシュ外部処理コンプレックス。
  6. 【請求項6】 前記インデックスプロセッサが、 各々がマイクロプロセッサおよびローカル記憶装置を有
    する第1および第2のマイクロシーケンサ装置と、 実行予定の命令を記憶するための制御記憶装置とを含
    み、前記制御記憶装置が前記第1および第2のマイクロ
    シーケンサ装置に結合して前記制御記憶装置に記憶され
    た同じ命令を前記第1および第2のマイクロシーケンサ
    装置の両方に与え、さらに前記第1および第2のマイク
    ロシーケンサ装置に結合されて前記双方向バス構成から
    の制御信号を受ける入力回路と、 前記双方向バス構成に結合された前記第1のマイクロシ
    ーケンサ装置からの出力回路と、 前記第2のマイクロシーケンサ装置を前記第1のマイク
    ロシーケンサ装置に結合して、前記第2のマイクロシー
    ケンサ装置により行われた命令実行の結果を前記第1の
    マイクロシーケンサ装置に送る相互結合回路とを含み、 それにより前記命令実行の前記結果を比較することによ
    って動作のエラーチェックが行なわれ得る、請求項1に
    記載のアウトボードファイルキャッシュ外部処理コンプ
    レックス。
  7. 【請求項7】 ファイルデータ信号を処理するためのホ
    ストデータ処理システムとともに使用するためのアウト
    ボードファイルキャッシュシステムであって、 入力端子が前記ホストデータ処理システムに結合されか
    つ第1のリンク端子を有するデータムーバ回路と、 第2のリンク端子を有するホストインタフェースアダプ
    タ回路と、 前記第1のリンク端子および第2のリンク端子の間に結
    合された双方向リンクと、 前記ホストインタフェースアダプタ回路に結合されかつ
    経路指定制御回路、双方向バス、記憶インタフェース制
    御回路および記憶アクセス端子を含むシステムインタフ
    ェース回路と、 前記記憶アクセス端子に結合されてファイルデータ信号
    を選択的にキャッシュするためのアドレス可能不揮発性
    記憶装置とを含む、アウトボードファイルキャッシュシ
    ステム。
  8. 【請求項8】 前記経路指定制御回路が、前記アドレス
    可能不揮発性記憶装置内の利用可能な記憶スペースに対
    する割当およびキャッシュ置換えを管理するためのイン
    デックスプロセッサを含む、請求項7に記載のアウトボ
    ードファイルキャッシュシステム。
  9. 【請求項9】 前記インデックスプロセッサが、 各々がマイクロプロセッサおよびローカル制御記憶装置
    を有する第1および第2のマイクロシーケンサ装置と、 実行予定の命令を記憶するための制御記憶装置とを備
    え、前記制御記憶装置が前記第1および第2のマイクロ
    シーケンサ装置に結合して、前記制御記憶装置に記憶さ
    れている同じ命令を前記第1および第2のマイクロシー
    ケンサ装置の両方に与え、さらに前記第1および第2の
    マイクロシーケンサ装置に結合されて前記双方向バス構
    成からの制御信号を受けるための入力回路と、 前記双方向バス構成に結合された前記第1のマイクロシ
    ーケンサ装置からの出力回路と、 前記第1のマイクロシーケンサ装置に前記第2のマイク
    ロシーケンサ装置を結合して、前記第2のマイクロシー
    ケンサ装置により行なわれた命令実行の結果を前記第1
    のマイクロシーケンサ装置に送る、相互結合回路とを含
    み、 それにより前記命令実行の前記結果を比較することによ
    って動作のエラーチェックが行なわれ得る、請求項8に
    記載のアウトボードファイルキャッシュシステム。
  10. 【請求項10】 クロック信号を与えるためのクロック
    信号分配システムをさらに含む、請求項7に記載のアウ
    トボードファイルキャッシュシステム。
  11. 【請求項11】 前記クロック信号分配システムが、冗
    長発振器および発振器制御回路を含み、前記冗長発振器
    の1つを選択して前記クロック信号を与える、請求項1
    0に記載のアウトボードファイルキャッシュシステム。
  12. 【請求項12】 電力を与えるための電力源をさらに含
    む、請求項7に記載のアウトボードファイルキャッシュ
    システム。
  13. 【請求項13】 前記電力源が、冗長電源および電源制
    御回路を含み、前記冗長電源の1つを選択して電力を与
    える、請求項12に記載のアウトボードファイルキャッ
    シュシステム。
  14. 【請求項14】 前記双方向リンクが、光ファイバ伝送
    エレメントを含む、請求項7に記載のアウトボードファ
    イルキャッシュシステム。
  15. 【請求項15】 ファイルデータ信号を処理するための
    ホストデータ処理システムにおいて使用するためのアウ
    トボードファイルキャッシュ外部処理コンプレックスで
    あって、前記ホストデータ処理システムが、少なくとも
    1つの命令プロセッサ、記憶コントローラ、ファイルデ
    ータ信号を記憶するためのファイル大容量記憶装置、前
    記命令プロセッサが使用する主動作メモリ、各々が前記
    命令プロセッサおよび前記主動作メモリに結合されて、
    前記ホストデータ処理システムとのファイルデータ信号
    の読出および書込を制御するためのデータムーバ回路
    と、データムーバ回路の各々に結合された別個の伝送リ
    ンクとを有し、 前記アウトボードファイルキャッシュ外部処理コンプレ
    ックスが、 第1および第2の双方向バス構成と、 各々がホスト結合端子が伝送リンクの関連する1つに結
    合されて前記ホストデータ処理システム内の関連するデ
    ータムーバ回路からのファイルデータ信号およびコマン
    ド信号を受けかつ前記ホストデータ処理システム内の関
    連するデータムーバ回路へファイルデータ信号およびコ
    マンド信号を伝送し、かつバス結合端子を有する第1お
    よび第2のホストインタフェースアダプタ回路を含み、
    前記第1のホストインタフェースアダプタ回路が前記第
    1の双方向バス構成に結合されかつ前記第2のホストイ
    ンタフェースアダプタ回路が前記第2の双方向バス構成
    に結合され、さらに前記第1の双方向バス構成に結合さ
    れた第1のインデックスプロセッサおよび前記第2の双
    方向バス構成に結合された第2のインデックスプロセッ
    サを含み、前記第1および第2のインデックスプロセッ
    サの各々が前記第1および第2の双方向バス構成の関連
    する1つ上の前記ファイルデータ信号および前記コマン
    ド信号の伝送を制御し、さらに各々が前記ファイルデー
    タ信号を選択的にキャッシュしかつ前記ファイルデータ
    信号を選択的に読出すようにされている第1および第2
    のアドレス可能不揮発性記憶装置と、 第1および第2の記憶インタフェース制御回路とを含
    み、前記第1の記憶インタフェース制御回路が前記第1
    の双方向バス構成に結合され、かつ前記第2の記憶イン
    タフェース制御回路が前記第2の双方向バス構成に結合
    され、かつ前記第1および第2の記憶インタフェース制
    御回路が各々前記アドレス可能不揮発性記憶装置に結合
    されており、前記第1および第2の記憶インタフェース
    制御回路が前記コマンド信号に応答して前記ファイルデ
    ータ信号の前記キャッシュおよび前記読出動作を制御
    し、それによって前記第1および第2のアドレス可能不
    揮発性記憶装置内に前記キャッシュされたファイル信号
    の複製コピーを記憶する、アウトボードファイルキャッ
    シュ外部処理コンプレックス。
  16. 【請求項16】 クロック信号を与えるためのクロック
    信号分配システムをさらに含む、請求項15に記載のア
    ウトボードファイルキャッシュ外部処理コンプレック
    ス。
  17. 【請求項17】 前記クロック信号分配システムが冗長
    発振器および発振器制御回路を含み、前記冗長発振器の
    1つを選択して前記クロック信号を与える、請求項16
    に記載のアウトボードファイルキャッシュ外部処理コン
    プレックス。
  18. 【請求項18】 前記クロック分配システムが、前記第
    1の双方向バス構成、前記第1のホストインタフェース
    アダプタ回路、前記第1のインデックスプロセッサ、前
    記第1の不揮発性記憶装置、および前記第1の記憶イン
    タフェース制御回路へ前記クロック信号を与えるように
    構成された前記冗長発振器と制御回路の第1の選択され
    たグループを含み、かつ前記第2の双方向バス構成、前
    記第2のホストインタフェースアダプタ回路、前記第2
    のアドレス可能不揮発性記憶装置、および前記第2の記
    憶インタフェース制御回路に前記クロック信号を与える
    ように構成された前記冗長発振器と発振器制御回路の異
    なるものの第2の選択されたグループを含み、さらに第
    1および第2のグループにより与えられる前記クロック
    信号を同期させるための同期回路を含む、請求項17に
    記載のアウトボードファイルキャッシュ外部処理コンプ
    レックス。
  19. 【請求項19】 電力を与えるための電力源をさらに含
    む、請求項18に記載のアウトボードファイルキャッシ
    ュ外部処理コンプレックス。
  20. 【請求項20】 前記電力源が、冗長電源および電源制
    御回路を含み、前記冗長電源のうちの1つを選択して電
    力を与える、請求項19に記載のアウトボードファイル
    キャッシュ外部処理コンプレックス。
  21. 【請求項21】 前記電力源が、前記第1のバス構成、
    前記第1のホストインタフェースアダプタ回路、前記第
    1のインデックスプロセッサ、前記第1のアドレス不揮
    発性記憶装置、前記第1の記憶インタフェース制御回
    路、および関連の前記クロック信号分配システムに電力
    を与えるよう結合された前記冗長電源の第1の組と、前
    記第2の双方向バス構成、前記第2のホストインタフェ
    ースアダプタ回路、前記第2のインデックスプロセッ
    サ、前記第2のアドレス可能不揮発性記憶装置、前記第
    2の記憶インタフェース制御回路、および関連の前記ク
    ロック信号分配システムに電力を与えるよう結合された
    前記冗長電源の第2の組とを含み、前記第1および第2
    の組が別々のパワードメインを成立させる、請求項20
    に記載のアウトボードファイルキャッシュ外部処理コン
    プレックス。
  22. 【請求項22】 前記第1および第2の双方向バス構成
    を相互結合させるクロスオーバ回路をさらに含む、請求
    項15に記載のアウトボードファイルキャッシュ外部処
    理コンプレックス。
  23. 【請求項23】 ファイルデータ信号を処理するための
    ホストデータ処理システムとともに使用するためのアウ
    トボードファイルキャッシュシステムであって、 複製キャッシュファイル信号を記憶しかつ検索するため
    の冗長不揮発性ファイルキャッシュ記憶手段と、 前記冗長不揮発性キャッシュ記憶手段に結合されて、前
    記複製キャッシュファイル信号をキャッシュするための
    キャッシングおよび検索動作を制御するためのファイル
    キャッシュ記憶インタフェース手段と、 前記ファイルキャッシュ記憶インタフェース手段に結合
    されて、前記冗長不揮発性ファイルキャッシュ記憶手段
    との間のファイルデータ信号およびコマンド信号の伝送
    を制御するためのインデックスプロセッサ手段と、 前記ファイルキャッシュ記憶インタフェース手段に結合
    されて、ホストデータ処理システムから受けるまたはホ
    ストデータ処理システムに送られる前記ファイルデータ
    信号をフォーマット化しかつ前記冗長不揮発性ファイル
    キャッシュ記憶手段によりキャッシュされるべき前記フ
    ァイルデータ信号を与えるためのホストインタフェース
    アダプタ手段と、 前記ファイルキャッシュ記憶インタフェース手段、前記
    インデックスプロセッサ手段、および前記ホストインタ
    フェースアダプタ手段に結合されて、前記ファイルデー
    タ信号を伝送するための双方向バス手段と、 前記ホストインタフェースアダプタ手段に結合されて、
    前記ファイルデータ信号および前記コマンド信号を伝送
    するための双方向リンク手段と、 前記リンク手段に結合されて、前記ホストデータ処理シ
    ステムで前記ファイルデータ信号をフォーマット化しか
    つ制御するためのデータムーバ手段とを含む、アウトボ
    ードファイルキャッシュシステム。
  24. 【請求項24】 前記インデックスプロセッサ手段が、 実行される予定の命令を記憶するための制御記憶手段
    と、 前記制御記憶手段に結合されて、そこから読出される命
    令を並行して実行するための第1および第2のマイクロ
    プロセッサ手段と、 前記第2のマイクロシーケンサ手段を前記第1のマイク
    ロシーケンサ手段に結合させて、前記第2のマイクロシ
    ーケンサ手段が行なった命令実行の結果を前記第1のマ
    イクロシーケンサ手段に送って、動作のエラーチェック
    を可能にするための相互結合回路手段とを含む、請求項
    23に記載のアウトボードファイルキャッシュシステ
    ム。
  25. 【請求項25】 クロック信号を与えるためのクロック
    信号分配手段をさらに含む、請求項23に記載のアウト
    ボードファイルキャッシュシステム。
  26. 【請求項26】 前記クロック信号分配手段が、冗長発
    振器手段および発振器制御回路手段とを含み、前記冗長
    発振器手段の1つを選択して、前記クロック信号を与え
    る、請求項25に記載のアウトボードファイルキャッシ
    ュシステム。
  27. 【請求項27】 前記クロック分配手段が、前記双方向
    バス手段の第1の部分、前記冗長不揮発性ファイルキャ
    ッシュ記憶手段の第1の部分、前記ファイルキャッシュ
    記憶インタフェース手段の第1の部分、前記インデック
    スプロセッサ手段の第1の部分、および前記ホストイン
    タフェースアダプタ手段の第1の部分に前記クロック信
    号を与えて、これらの動作のタイミングをとるように構
    成された前記冗長発振器手段および制御回路手段の第1
    の組と、前記双方向バス手段の第2の部分、前記冗長不
    揮発性キャッシュ記憶手段、ファイルキャッシュ記憶イ
    ンタフェース手段、インデックスプロセッサ手段、およ
    びホストインタフェースアダプタ手段にクロック信号を
    与えて、これらの動作のタイミングを別々にとるように
    構成された前記冗長発振器手段と制御回路手段の第2の
    組と、 冗長発振器手段および制御回路手段の前記第1および第
    2の組により与えられる前記クロック信号を同期させる
    ための同期手段とを含む、請求項26に記載のアウトボ
    ードファイルキャッシュシステム。
  28. 【請求項28】 電力を与えるための電力源手段をさら
    に含む、請求項23に記載のアウトボードファイルキャ
    ッシュシステム。
  29. 【請求項29】 前記電力源手段が、冗長電源手段と電
    源制御回路手段とを含み、前記冗長電源手段の1つを選
    択して、電力を与える、請求項28に記載のアウトボー
    ドファイルキャッシュシステム。
  30. 【請求項30】 前記電力源手段が、前記双方向バス手
    段の一部分、前記冗長不揮発性ファイルキャッシュ記憶
    手段の一部分、前記ファイルキャッシュ記憶インタフェ
    ース手段の一部分、前記インデックスプロセッサ手段の
    一部分、前記ホストインタフェースアダプタ手段の一部
    分、および関連の前記クロック信号分配手段の部分に電
    力を与えるように結合された前記冗長電源手段の第1の
    組と、前記双方向バス手段の第2の部分、前記冗長不揮
    発性キャッシュ記憶手段の第2の部分、前記ファイルキ
    ャッシュ記憶インタフェース手段の第2の部分、前記イ
    ンデックスプロセッサ手段の第2の部分、前記ホストイ
    ンタフェースアダプタ手段の第2の部分、および関連の
    前記クロック信号分配手段を給電するように結合された
    前記冗長電源手段の第2の組とを含み、前記第1および
    第2の組が別々のパワードメインを成立させる、請求項
    29に記載のアウトボードファイルキャッシュシステ
    ム。
  31. 【請求項31】 前記双方向手段が、前記双方向バス手
    段の一部に部分的故障があった場合には、前記冗長不揮
    発性ファイルキャッシュ記憶手段の両方の部分にアクセ
    スを与えるためのクロスオーバ回路を含む、請求項23
    に記載のアウトボードファイルキャッシュシステム。
  32. 【請求項32】 ファイルデータ信号を処理するための
    nホストデータ処理システムとともに使用するアウトボ
    ードファイルキャッシュシステムであって、nが1より
    大きい整数であり、 前記アウトボートファイルキャッシュシステムが、 2n個のデータムーバ回路を含み、前記2n個のデータ
    ムーバ回路の各々は入力端子が対になって前記nホスト
    データ処理システムの関連する1つに結合されかつ第1
    のリンク端子を有し、さらに各々が第2のリンク端子を
    有する2n個のホストインタフェースアダプタ回路と、 各々が前記第1のリンク端子と第2のリンク端子の関連
    するものの間に結合された2n個の双方向リンクと、 2n個のシステムインタフェース回路とを含み、前記2
    n個のシステムインタフェース回路の各々が前記2n個
    のシステムインタフェース回路の隣接するものに結合さ
    れかつ前記2n個のホストインタフェースアダプタ回路
    の関連するものに結合され、かつ前記2n個のシステム
    インタフェース回路の各々が経路指定制御回路、双方向
    バス、記憶インタフェース制御回路、および記憶アクセ
    ス端子を含み、さらにn個のアドレス可能不揮発性記憶
    装置を含み、前記n個のアドレス可能不揮発性記憶装置
    の各々は前記2n個のシステムインタフェース回路の関
    連する対の前記記憶アクセス端子に結合されて、ファイ
    ルデータ信号を選択的にキャッシュする、アウトボード
    ファイルキャッシュシステム。
  33. 【請求項33】 前記経路指定制御回路の各々が、前記
    n個のアドレス可能不揮発性記憶装置の関連するものに
    おいて利用可能な記憶スペースへの割当およびキャッシ
    ュの置換えを管理するためのインデックスプロセッサを
    含む、請求項32に記載のアウトボードファイルキャッ
    シュシステム。
  34. 【請求項34】 前記インデックスプロセッサが、 各々がマイクロプロセッサとローカル制御記憶装置とを
    有する第1および第2のマイクロシーケンサと、 実行予定の命令を記憶するための制御記憶装置を含み、
    前記制御記憶装置が前記第1および第2のマイクロシー
    ケンサ装置に結合して、前記制御記憶装置内に記憶され
    た同じ命令を前記第1および第2のマイクロシーケンサ
    装置の両方に与え、さらに前記第1および第2のマイク
    ロシーケンサ装置に結合されて、前記双方向バス構成か
    らの制御信号を受けるための入力回路と、 前記双方向バス構成に結合された前記第1のマイクロシ
    ーケンサ装置からの出力回路と、 前記第1のマイクロシーケンサ装置に前記第2のマイク
    ロシーケンサ装置を結合して、前記第2のマイクロシー
    ケンサ装置により行なわれた命令実行の結果を前記第1
    のマイクロシーケンサ装置に送る、相互結合回路とを含
    み、 それによって前記命令実行の前記結果を比較することに
    よって動作のエラーチェックが行なわれ得る、請求項3
    3に記載のアウトボードファイルキャッシュシステム。
  35. 【請求項35】 クロック信号を与えるためのクロック
    信号分配システムをさらに含む、請求項32に記載のア
    ウトボードファイルキャッシュシステム。
  36. 【請求項36】 前記クロック信号分配システムが、冗
    長発振器および発振器制御回路を含み、前記冗長発振器
    の1つを選択して前記クロック信号を与える、請求項3
    5に記載のアウトボードファイルキャッシュシステム。
  37. 【請求項37】 前記クロック信号分配システムが、前
    記2n個のホストインタフェースアダプタ回路のn個
    と、前記n個の不揮発性記憶装置の第1の部分と、前記
    第1の2n個のシステムインタフェース回路のn個とに
    前記クロック信号を与えるように構成された前記冗長発
    振器および制御回路のグループの第1の組と、前記2n
    個のホストインタフェースアダプタ回路の異なるn個
    と、前記n個のアドレス可能不揮発性記憶装置の第2の
    部分と、前記2n個の記憶インタフェース制御回路の異
    なるn個とに前記クロック信号を与えるように構成され
    た前記冗長発振器および発振器制御回路の異なるもの選
    択されたグループの第2の組と、 前記第1および第2のグループの組により与えられる前
    記クロック信号を同期させるための同期回路とを含む、
    請求項36に記載のアウトボードファイルキャッシュシ
    ステム。
  38. 【請求項38】 2n個の付加的なシステムインタフェ
    ース回路を含み、前記2n個の付加的なシステムインタ
    フェース回路の各々が前記2n個の付加的なシステムイ
    ンタフェース回路の関連するものおよび前記2n個のシ
    ステムインタフェース回路の関連するものに結合され、
    さらに前記2n個のシステムインタフェース回路の選択
    された対を相互接続するためのn個のクロスオーバ回路
    とを含む、請求項32に記載のアウトボードファイルキ
    ャッシュシステム。
  39. 【請求項39】 電力を与えるための電力源をさらに含
    む、請求項38に記載のアウトボードファイルキャッシ
    ュシステム。
  40. 【請求項40】 前記電力源が、冗長電源および電源制
    御回路を含み、前記冗長電源のうちの1つを選択して電
    力を与える、請求項39に記載のアウトボードファイル
    キャッシュシステム。
  41. 【請求項41】 前記電力源が、 前記2n個のホストインタフェースアダプタ回路のうち
    のn個の選択されたもの、前記2n個のシステムインタ
    フェース回路のうちのn個の選択されたもの、前記2n
    個の付加的なシステムインタフェース回路のうちのn個
    の選択されたもの、および前記n個のアドレス可能不揮
    発性記憶装置のうちの第1の部分に結合された第1のパ
    ワードメインを成立させるための前記冗長電源および電
    源制御回路の第1の組と、 前記2n個のホストインタフェースアダプタ回路の異な
    るn個の選択されたもの、前記2n個のシステムインタ
    フェース回路の異なるn個の選択されたもの、前記2n
    個の付加的なシステムインタフェース回路のうちの異な
    るn個の選択されたもの、および前記n個のアドレス可
    能不揮発性記憶装置の第2の部分に結合された第2のパ
    ワードメインを成立させるための前記冗長電源および電
    源制御回路の第2の組とを含み、 前記第1のパワードメインまたは前記第2のパワードメ
    インのうちの一方における電力の損失によっては、前記
    アウトボードファイルキャッシュシステムに故障が起こ
    らない、請求項40に記載のアウトボードファイルキャ
    ッシュシステム。
JP6317873A 1993-12-23 1994-12-21 アウトボードファイルキャッシュ外部処理コンプレックス Pending JPH086854A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17345993A 1993-12-23 1993-12-23
US173459 1993-12-23

Publications (1)

Publication Number Publication Date
JPH086854A true JPH086854A (ja) 1996-01-12

Family

ID=22632134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6317873A Pending JPH086854A (ja) 1993-12-23 1994-12-21 アウトボードファイルキャッシュ外部処理コンプレックス

Country Status (2)

Country Link
US (1) US5809543A (ja)
JP (1) JPH086854A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503731A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 大容量データ記憶システム
CN106170774A (zh) * 2014-04-18 2016-11-30 高通股份有限公司 用于在失效操作之后检测高速缓冲存储器中的有效指示符中的位翻转的高速缓冲存储器错误检测电路,以及相关方法和基于处理器的系统

Families Citing this family (171)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993023803A1 (fr) * 1992-05-21 1993-11-25 Fujitsu Limited Appareil de commande pour pile de disques
US6230063B1 (en) * 1995-07-07 2001-05-08 Samsung Electronics Co., Ltd. Factory mode free setting apparatus and method thereof
JPH1091443A (ja) * 1996-05-22 1998-04-10 Seiko Epson Corp 情報処理回路、マイクロコンピュータ及び電子機器
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6052797A (en) 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US6347365B1 (en) * 1996-08-23 2002-02-12 Emc Corporation Data storage system having a[n] memory responsive to clock pulses produced on a bus and clock pulses produced by an internal clock
US6567903B1 (en) 1996-08-23 2003-05-20 Emc Corporation Data storage system having master/slave addressable memories
US7035291B2 (en) * 2001-05-02 2006-04-25 Ron Grinfeld TCP transmission acceleration
US6122711A (en) * 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
US5949970A (en) * 1997-01-07 1999-09-07 Unisys Corporation Dual XPCS for disaster recovery
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
KR100231780B1 (ko) * 1997-04-18 1999-11-15 김영환 이중화 시스템의 백업 우선순위 부여방법
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
US5968184A (en) * 1997-06-03 1999-10-19 Emc Corporation Maintenance command structure and execution
US6081907A (en) * 1997-06-09 2000-06-27 Microsoft Corporation Data delivery system and method for delivering data and redundant information over a unidirectional network
JP3568181B2 (ja) * 1997-06-23 2004-09-22 株式会社東芝 ニューラルネット分析装置、記憶媒体
US5946214A (en) * 1997-07-11 1999-08-31 Advanced Micro Devices Computer implemented method for estimating fabrication yield for semiconductor integrated circuit including memory blocks with redundant rows and/or columns
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6233248B1 (en) * 1997-10-14 2001-05-15 Itt Manufacturing Enterprises, Inc. User data protocol for internet data communications
US6393537B1 (en) * 1998-01-06 2002-05-21 International Business Machines Corporation Host storage management control of outboard data movement
US6247103B1 (en) * 1998-01-06 2001-06-12 International Business Machines Corporation Host storage management control of outboard data movement using push-pull operations
JP3687373B2 (ja) * 1998-12-04 2005-08-24 株式会社日立製作所 高信頼分散システム
US6154802A (en) * 1998-04-17 2000-11-28 Adaptec, Inc. Redundant bus bridge systems and methods using separately-powered bus bridges
US6167494A (en) * 1998-04-28 2000-12-26 International Business Machine Corporation Method and system for recovering from operating system failure
US7233977B2 (en) * 1998-12-18 2007-06-19 Emc Corporation Messaging mechanism employing mailboxes for inter processor communications
US6457067B1 (en) * 1998-12-18 2002-09-24 Unisys Corporation System and method for detecting faults in storage device addressing logic
US8479251B2 (en) * 1999-03-31 2013-07-02 Microsoft Corporation System and method for synchronizing streaming content with enhancing content using pre-announced triggers
US6467024B1 (en) * 1999-09-07 2002-10-15 International Business Machines Corporation Accessing data volumes from data storage libraries in a redundant copy synchronization token tracking system
RU2169941C2 (ru) * 1999-09-27 2001-06-27 Щеглов Андрей Юрьевич Система защиты рабочих станций и информационных серверов вычислительных систем и сетей
JP2001110171A (ja) * 1999-10-13 2001-04-20 Sony Corp 記録再生装置および方法、端末装置、送受信方法、ならびに、記憶媒体
RU2166792C1 (ru) * 1999-10-25 2001-05-10 Щеглов Андрей Юрьевич Система защиты рабочих станций, информационных и функциональных серверов вычислительных систем и сетей с динамическими списками санкционированных событий
US6938071B1 (en) * 2000-10-31 2005-08-30 Hewlett-Packard Development Company, L.P. Fault tolerant storage system having an interconnection fabric that also carries network traffic
US6745285B2 (en) * 2000-12-18 2004-06-01 Sun Microsystems, Inc. System and method for synchronizing mirrored and striped disk writes
US6697925B1 (en) * 2000-12-22 2004-02-24 Unisys Corporation Use of a cache ownership mechanism to synchronize multiple dayclocks
US6833634B1 (en) * 2001-01-04 2004-12-21 3Pardata, Inc. Disk enclosure with multiple power domains
US6728736B2 (en) * 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
WO2002097580A2 (en) * 2001-05-31 2002-12-05 Espeed, Inc. Securities trading system with multiple levels-of-interest
US7032073B2 (en) * 2001-07-02 2006-04-18 Shay Mizrachi Cache system for network and multi-tasking applications
US6983292B1 (en) * 2001-07-10 2006-01-03 Sonic Solutions, Inc. Method and apparatus for formatting and initialization of re-writable optical media
US7117230B1 (en) * 2001-07-10 2006-10-03 Sonic Solutions, Inc. Method and apparatus for formatting and initialization of re-writable optical media using multiple tracks
TW595012B (en) * 2001-09-03 2004-06-21 Matsushita Electric Ind Co Ltd Semiconductor light-emitting device, light-emitting apparatus and manufacturing method of semiconductor light-emitting device
US7620692B2 (en) * 2001-09-06 2009-11-17 Broadcom Corporation iSCSI receiver implementation
US7953093B2 (en) * 2001-09-06 2011-05-31 Broadcom Corporation TCP/IP reordering
US8255567B2 (en) * 2001-09-06 2012-08-28 Broadcom Corporation Efficient IP datagram reassembly
US7539204B2 (en) * 2001-09-26 2009-05-26 Broadcom Corporation Data and context memory sharing
US7036043B2 (en) 2001-12-28 2006-04-25 Storage Technology Corporation Data management with virtual recovery mapping and backward moves
US6839819B2 (en) * 2001-12-28 2005-01-04 Storage Technology Corporation Data management appliance
US20030131253A1 (en) * 2001-12-28 2003-07-10 Martin Marcia Reid Data management appliance
US7349992B2 (en) * 2002-01-24 2008-03-25 Emulex Design & Manufacturing Corporation System for communication with a storage area network
US6912669B2 (en) * 2002-02-21 2005-06-28 International Business Machines Corporation Method and apparatus for maintaining cache coherency in a storage system
US7177990B1 (en) * 2002-05-21 2007-02-13 Sonic Solutions Automatic format of removable media
JP4495899B2 (ja) * 2002-05-29 2010-07-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 接続切替装置およびその接続切替装置を用いたファイルシステム
US7454529B2 (en) 2002-08-02 2008-11-18 Netapp, Inc. Protectable data storage system and a method of protecting and/or managing a data storage system
US7882081B2 (en) * 2002-08-30 2011-02-01 Netapp, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data
US7437387B2 (en) 2002-08-30 2008-10-14 Netapp, Inc. Method and system for providing a file system overlay
JP3749211B2 (ja) * 2002-09-06 2006-02-22 株式会社東芝 シリアルデータ受信回路
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
US7567993B2 (en) 2002-12-09 2009-07-28 Netapp, Inc. Method and system for creating and using removable disk based copies of backup data
US8024172B2 (en) 2002-12-09 2011-09-20 Netapp, Inc. Method and system for emulating tape libraries
JP2004220216A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置
US7000046B1 (en) * 2003-01-17 2006-02-14 Unisys Corporation Standard channel I/O processor (SCIOP)
US7020746B2 (en) * 2003-01-28 2006-03-28 Microsoft Corporation Method and system for an atomically updated, central cache memory
US6973369B2 (en) 2003-03-12 2005-12-06 Alacritus, Inc. System and method for virtual vaulting
US7114033B2 (en) * 2003-03-25 2006-09-26 Emc Corporation Handling data writes copied from a remote data storage device
US7412459B1 (en) * 2003-03-25 2008-08-12 Microsoft Corporation Dynamic mobile CD music attributes database
US7437492B2 (en) 2003-05-14 2008-10-14 Netapp, Inc Method and system for data compression and compression estimation in a virtual tape library environment
US7168027B2 (en) * 2003-06-12 2007-01-23 Micron Technology, Inc. Dynamic synchronization of data capture on an optical or other high speed communications link
US7028156B1 (en) 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
JP4338075B2 (ja) * 2003-07-22 2009-09-30 株式会社日立製作所 記憶装置システム
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7631120B2 (en) 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7904428B2 (en) * 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
DE10394366D2 (de) * 2003-11-17 2006-10-19 Siemens Ag Redundantes Automatisierungssystem zur Steuerung einer technischen Einrichtung sowie Verfahren zum Betrieb eines derartigen Automatisierungssystems
US7904679B2 (en) 2004-02-04 2011-03-08 Netapp, Inc. Method and apparatus for managing backup data
US7559088B2 (en) 2004-02-04 2009-07-07 Netapp, Inc. Method and apparatus for deleting data upon expiration
US7490103B2 (en) * 2004-02-04 2009-02-10 Netapp, Inc. Method and system for backing up data
US7406488B2 (en) * 2004-02-04 2008-07-29 Netapp Method and system for maintaining data in a continuous data protection system
US7315965B2 (en) 2004-02-04 2008-01-01 Network Appliance, Inc. Method and system for storing data using a continuous data protection system
US7325159B2 (en) * 2004-02-04 2008-01-29 Network Appliance, Inc. Method and system for data recovery in a continuous data protection system
US7426617B2 (en) 2004-02-04 2008-09-16 Network Appliance, Inc. Method and system for synchronizing volumes in a continuous data protection system
US7720817B2 (en) 2004-02-04 2010-05-18 Netapp, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US7783606B2 (en) 2004-02-04 2010-08-24 Netapp, Inc. Method and system for remote data recovery
US20060095483A1 (en) * 2004-04-23 2006-05-04 Waratek Pty Limited Modified computer architecture with finalization of objects
US7788314B2 (en) * 2004-04-23 2010-08-31 Waratek Pty Ltd. Multi-computer distributed processing with replicated local memory exclusive read and write and network value update propagation
US7844665B2 (en) 2004-04-23 2010-11-30 Waratek Pty Ltd. Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7328222B2 (en) * 2004-08-26 2008-02-05 Oracle International Corporation Method and apparatus for preserving data coherency in a database by generating a command object that includes instructions for writing a data record to a local cache
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
JP4387283B2 (ja) * 2004-10-25 2009-12-16 富士通株式会社 収納棚用搬送機構およびその制御方法並びにその制御プログラム
US7774610B2 (en) 2004-12-14 2010-08-10 Netapp, Inc. Method and apparatus for verifiably migrating WORM data
US7558839B1 (en) 2004-12-14 2009-07-07 Netapp, Inc. Read-after-write verification for improved write-once-read-many data storage
US7526620B1 (en) 2004-12-14 2009-04-28 Netapp, Inc. Disk sanitization in an active file system
US7581118B2 (en) 2004-12-14 2009-08-25 Netapp, Inc. Disk sanitization using encryption
US7240266B2 (en) 2005-02-18 2007-07-03 International Business Machines Corporation Clock control circuit for test that facilitates an at speed structural test
US7401198B2 (en) 2005-10-06 2008-07-15 Netapp Maximizing storage system throughput by measuring system performance metrics
US7457928B2 (en) * 2005-10-28 2008-11-25 International Business Machines Corporation Mirroring system memory in non-volatile random access memory (NVRAM) for fast power on/off cycling
US7348813B1 (en) * 2005-12-02 2008-03-25 Cirrus Logic, Inc. Circuits and methods for reducing the effects of level shifter delays in systems operating in multiple voltage domains
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7752401B2 (en) 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
US7650533B1 (en) 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US8171098B1 (en) 2006-06-29 2012-05-01 Emc Corporation Techniques for providing storage services using networked computerized devices having direct attached storage
US8578127B2 (en) 2009-09-09 2013-11-05 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
CN101715575A (zh) 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US20090063895A1 (en) * 2007-09-04 2009-03-05 Kurt Smith Scaleable and maintainable solid state drive
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8156415B1 (en) 2007-12-26 2012-04-10 Marvell International Ltd. Method and system for command queuing in disk drives
US20090186344A1 (en) * 2008-01-23 2009-07-23 Caliper Life Sciences, Inc. Devices and methods for detecting and quantitating nucleic acids using size separation of amplicons
US8695087B2 (en) * 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
US8370717B1 (en) 2008-04-08 2013-02-05 Marvell International Ltd. Method and apparatus for flexible buffers in an XOR engine
US8615678B1 (en) 2008-06-30 2013-12-24 Emc Corporation Auto-adapting multi-tier cache
US9384160B2 (en) * 2008-09-04 2016-07-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods and controllers for affiliation managment
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US8542764B2 (en) * 2009-01-14 2013-09-24 Sun Microsystems, Inc. Power and area efficient SerDes transmitter
WO2011009091A1 (en) * 2009-07-16 2011-01-20 Cypress Semiconductor Corporation Serial interface devices, systems and methods
WO2011031796A2 (en) 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
JP2011170589A (ja) * 2010-02-18 2011-09-01 Nec Corp ストレージ制御装置、ストレージ装置およびストレージ制御方法
US9275678B2 (en) * 2010-03-25 2016-03-01 International Business Machines Corporation Primary storage media with associated secondary storage media for efficient data management
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) * 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US8769196B1 (en) * 2011-09-30 2014-07-01 Lenovo (Singapore) Pte. Ltd. Configuring I/O cache
WO2013070803A1 (en) 2011-11-07 2013-05-16 Nexgen Storage, Inc. Primary data storage system with data tiering
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US9122589B1 (en) * 2013-06-28 2015-09-01 Emc Corporation Data storage system with unified system cache
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
EP2857913B1 (de) * 2013-10-01 2019-04-24 Siemens Aktiengesellschaft Redundantes Automatisierungssystem
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US10979279B2 (en) * 2014-07-03 2021-04-13 International Business Machines Corporation Clock synchronization in cloud computing
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10437659B2 (en) * 2017-03-03 2019-10-08 Silicon Laboratories, Inc. Built-in context error variables
US11327767B2 (en) * 2019-04-05 2022-05-10 International Business Machines Corporation Increasing resources for partition to compensate for input/output (I/O) recovery event
US12105657B2 (en) * 2020-12-24 2024-10-01 Intel Corporation User signals for data transmission over a bus interface protocol
US12355240B2 (en) 2022-10-14 2025-07-08 Smart Wires Inc. Failure detection within a group of power flow control modules

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5553956A (en) * 1978-10-18 1980-04-19 Oki Electric Ind Co Ltd Clock distribution system
JPS578868A (en) * 1980-06-17 1982-01-18 Mitsubishi Electric Corp Parallel system of electronic computer
JPS57105016A (en) * 1980-12-22 1982-06-30 Nec Corp Clock source switching system
JPS57123748A (en) * 1981-01-26 1982-08-02 Hitachi Ltd Clock supply system
JPS5851364A (ja) * 1981-09-22 1983-03-26 Hitachi Ltd 二重化周辺記憶制御装置
JPS6083155A (ja) * 1983-10-14 1985-05-11 Hitachi Ltd キヤツシユ付きデイスク制御装置
JPS6373754A (ja) * 1986-09-17 1988-04-04 Fujitsu Ltd システムクロツク分配方式
JPH04211849A (ja) * 1989-12-22 1992-08-03 Bull Sa 高速情報書込み方法及び該方法を実施するための情報処理システム
JPH0512052A (ja) * 1991-07-04 1993-01-22 Nec Corp パイプラインによる内部障害検出方式
JPH0581210A (ja) * 1991-09-20 1993-04-02 Hitachi Ltd クラスタ・マルチプロセツサ協調処理方法
JPH05204869A (ja) * 1992-01-30 1993-08-13 Hitachi Ltd 情報処理装置
JPH05233400A (ja) * 1992-02-25 1993-09-10 Nec Corp キャッシュ付きディスク制御装置
JPH05265790A (ja) * 1992-03-19 1993-10-15 Yokogawa Electric Corp マイクロプロセッサ装置
JPH05324377A (ja) * 1992-05-14 1993-12-07 Nec Corp プロセッサ監視システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4794521A (en) * 1985-07-22 1988-12-27 Alliant Computer Systems Corporation Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
US5193166A (en) * 1989-04-21 1993-03-09 Bell-Northern Research Ltd. Cache-memory architecture comprising a single address tag for each cache memory
US5130922A (en) * 1989-05-17 1992-07-14 International Business Machines Corporation Multiprocessor cache memory system using temporary access states and method for operating such a memory
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US5313609A (en) * 1991-05-23 1994-05-17 International Business Machines Corporation Optimum write-back strategy for directory-based cache coherence protocols
US5261053A (en) * 1991-08-19 1993-11-09 Sequent Computer Systems, Inc. Cache affinity scheduler
US5437022A (en) * 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
US5408651A (en) * 1993-09-27 1995-04-18 Bull Hn Information Systems Inc. Store "undo" for cache store error recovery

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5553956A (en) * 1978-10-18 1980-04-19 Oki Electric Ind Co Ltd Clock distribution system
JPS578868A (en) * 1980-06-17 1982-01-18 Mitsubishi Electric Corp Parallel system of electronic computer
JPS57105016A (en) * 1980-12-22 1982-06-30 Nec Corp Clock source switching system
JPS57123748A (en) * 1981-01-26 1982-08-02 Hitachi Ltd Clock supply system
JPS5851364A (ja) * 1981-09-22 1983-03-26 Hitachi Ltd 二重化周辺記憶制御装置
JPS6083155A (ja) * 1983-10-14 1985-05-11 Hitachi Ltd キヤツシユ付きデイスク制御装置
JPS6373754A (ja) * 1986-09-17 1988-04-04 Fujitsu Ltd システムクロツク分配方式
JPH04211849A (ja) * 1989-12-22 1992-08-03 Bull Sa 高速情報書込み方法及び該方法を実施するための情報処理システム
JPH0512052A (ja) * 1991-07-04 1993-01-22 Nec Corp パイプラインによる内部障害検出方式
JPH0581210A (ja) * 1991-09-20 1993-04-02 Hitachi Ltd クラスタ・マルチプロセツサ協調処理方法
JPH05204869A (ja) * 1992-01-30 1993-08-13 Hitachi Ltd 情報処理装置
JPH05233400A (ja) * 1992-02-25 1993-09-10 Nec Corp キャッシュ付きディスク制御装置
JPH05265790A (ja) * 1992-03-19 1993-10-15 Yokogawa Electric Corp マイクロプロセッサ装置
JPH05324377A (ja) * 1992-05-14 1993-12-07 Nec Corp プロセッサ監視システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Prestoserve Sbus", UNIXマガジン, JPN4004012686, 1 May 1991 (1991-05-01), JP, ISSN: 0000717959 *
BARRIER BOB LYON: "NFS性能改善の試み", UNIXマガジン, vol. 1990年4月号, JPN4004012685, 1 March 1990 (1990-03-01), JP, pages 19 - 24, ISSN: 0000717958 *
小林雅一: "大規模ネットワークで使うファイル・サーバ専用機が2種登場", 日経エレクトロニクス, CSND199900708005, 15 April 1991 (1991-04-15), JP, pages 153 - 160, ISSN: 0000717957 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503731A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 大容量データ記憶システム
KR101449543B1 (ko) * 2005-08-03 2014-10-13 샌디스크 테크놀로지스, 인코포레이티드 대량 데이터 저장 시스템
CN106170774A (zh) * 2014-04-18 2016-11-30 高通股份有限公司 用于在失效操作之后检测高速缓冲存储器中的有效指示符中的位翻转的高速缓冲存储器错误检测电路,以及相关方法和基于处理器的系统

Also Published As

Publication number Publication date
US5809543A (en) 1998-09-15

Similar Documents

Publication Publication Date Title
JPH086854A (ja) アウトボードファイルキャッシュ外部処理コンプレックス
US5809527A (en) Outboard file cache system
US5941969A (en) Bridge for direct data storage device access
US6081883A (en) Processing system with dynamically allocatable buffer memory
JP2512651B2 (ja) メモリ共有マルチプロセッサ
JP2566681B2 (ja) 多重プロセッシング・システム
CA2051029C (en) Arbitration of packet switched busses, including busses for shared memory multiprocessors
US7145837B2 (en) Global recovery for time of day synchronization
EP0458553B1 (en) Packet routing switch and method for networks
US6910145B2 (en) Data transmission across asynchronous clock domains
US6134647A (en) Computing system having multiple nodes coupled in series in a closed loop
US20050080933A1 (en) Master-slave adapter
US20050091383A1 (en) Efficient zero copy transfer of messages between nodes in a data processing system
US20050081080A1 (en) Error recovery for data processing systems transferring message packets through communications adapters
EP0489556B1 (en) Consistency protocols for shared memory multiprocessors
US20050080920A1 (en) Interpartition control facility for processing commands that effectuate direct memory to memory information transfer
CN1493025A (zh) 通过无开销链路级crc进行的错误隔离
US7246255B1 (en) Method for shortening the resynchronization time following failure in a computer system utilizing separate servers for redundancy
US7181642B1 (en) Method for distributing the processing among multiple synchronization paths in a computer system utilizing separate servers for redundancy
KR940004329B1 (ko) 어드레스를 전송하기 위한 어드레스 변환방법 및 장치
US7155638B1 (en) Clustered computer system utilizing separate servers for redundancy in which the host computers are unaware of the usage of separate servers
US7178057B1 (en) Method for allowing a clustered computer systems manager to use disparate hardware on each of the separate servers utilized for redundancy
US7149923B1 (en) Software control using the controller as a component to achieve resiliency in a computer system utilizing separate servers for redundancy
US7366765B1 (en) Outboard clustered computer systems manager utilizing commodity components
JP3141948B2 (ja) 計算機システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050607

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050610

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060228