(57)【特許請求の範囲】
【請求項１】
２重化構成を含む複数の制御装置からなるシステムにおいて，
一定個数の制御装置により群を構成し，複数群の中の一つの群の１つまたはその予備を含む２つの制御装置にだけシステム内制御装置全体のファーム/ ソフトウェアを格納するシステムプログラムデータメモリを設け，
前記複数群の中の前記システムプログラムデータメモリを設けた制御装置及び前記一つの群を除く他の各群のそれぞれの中の１つまたはその予備を含む２つの制御装置に前記システムプログラムデータメモリの一部のコピーを保持するキャッシュメモリを設け，
前記複数群のそれぞれに各群に属する複数の制御装置の間でデータを転送するグローバルバスを設け，前記キャッシュメモリを設けた各群の制御装置の間でデータを転送するシリアル・グローバルバスを設け，
各群の中の前記キャッシュメモリを備えた制御装置は，それぞれの群に属する他の制御装置からのシステムプログラムデータの要求を受け取ると，自制御装置のキャッシュメモリに要求されたデータが格納されているかチェックし，格納されてないと自制御装置またはシステムプログラムデータメモリを備えた他群の制御装置にアクセスして必要なデータをキャッシュメモリにコピーし，前記コピーしたデータを要求元の制御装置に読出して転送することを特徴とする複数制御装置からなるシステムにおけるシステムプログラムデータメモリアクセス方式。
【請求項２】
請求項１において，
前記複数群の中の前記キャッシュメモリを備えた各制御装置は，グローバルバスを介した同じ群内の他の制御装置からのデータ要求を受け取ると，前記キャッシュメモリの各ブロックのデータに関する情報を格納したタグメモリを用いて要求されたデータを有無判定するデータキャッシュ制御部と，データが無いことが分かると自制御装置または他群のシステムプログラムデータメモリを保持する他制御装置にアクセスして，要求されたシステムプログラムデータを自キャッシュメモリにコピーする制御を行うシリアル・グローバルバス制御部とを含むコントローラを備えることを特徴とする複数制御装置からなるシステムにおけるシステムプログラムデータメモリアクセス方式。
【請求項３】
請求項１において，
前記各群を構成する複数の制御装置は，前記キャッシュメモリだけを備える制御装置を除き，それぞれ異なる機能を持つ１つまたはその予備を含む２つの制御装置単位で複数種類設け，
前記キャッシュメモリを前記複数種類の制御装置別毎に専用の領域に分割して割り当て，
前記各群内の複数種類の制御装置から前記グローバルバスを介するデータ要求を受けとる前記キャッシュメモリを備えた制御装置は，種別に対応したシステムプログラムデータを前記キャッシュメモリからダウンロードすることを特徴とする複数制御装置からなるシステムにおけるシステムプログラムデータメモリアクセス方式。
【請求項４】
請求項１において，
前記各群を構成する複数の制御装置は，前記キャッシュメモリだけを備える制御装置を除き，それぞれ異なる機能を持つ１つまたはその予備を含む２つの制御装置単位で複数種類設け，
前記キャッシュメモリを前記複数種類の制御装置別毎に専用の領域に分割して割り当て，
前記キャッシュメモリを備えた制御装置は，同一群の他の制御装置から該制御装置の種別に対応したデータ要求を受け取って要求されたデータが前記キャッシュメモリに格納されてないと前記システムプログラムデータメモリを備えた制御装置に前記データを要求し，
前記システムプログラムデータメモリを備えた制御装置は，前記要求を発生したキャッシュメモリを備えた制御装置に要求されたデータを前記シリアル・グローバルバスを介して転送する時，前記要求を発生したキャッシュメモリを備えた制御装置以外の他のキャッシュメモリを備えた制御装置にも転送し，それらの各制御装置のキャッシュメモリに格納することを特徴とする複数制御装置からなるシステムにおけるシステムプログラムデータメモリアクセス方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，多数の制御装置が設けられ，各制御装置のシステムプログラムを一元管理する共有のシステムプログラムデータメモリ（ＳＰＭ）を備える複数制御装置からなるシステムにおけるシステムプログラムデータメモリアクセス方式に関する。
【背景技術】
【０００２】
図６は多数の制御装置により構成される従来の構成例を示す。図中，８０，８１はシステム内の多数の制御装置の全てのソフトウェア（ファームウェアを含む）を格納したシステムプログラムデータメモリ（ＳＰＭ）を備え，システム全体の制御を行う２重化された第１の制御装置（Ｎ），（Ｅ）であり，Ｎは現用系（Normal) ，Ｅは予備系(Emergency) を表す。８２，８３は２重化された第２の制御装置（Ｎ），（Ｅ），８４，８５は２重化された第３の制御装置（Ｎ），（Ｅ），８６は２重化されてない第４の制御装置，８７は複数の制御装置間を接続し, 相互のデータ転送を行うためのグローバルバス（Global Bus) である。
【０００３】
第１の制御装置８０，８１〜第４の制御装置８６はそれぞれ互いに異なる機能を実行する制御装置である。また，第４の制御装置８６は処理量が少なく，障害となる可能性が低いため，２重化されていない。図６のような構成は，例えば，移動通信網の基地局の制御装置のシステムや，その他の情報処理システムの構成として使用されている。
【０００４】
図６に示す各制御装置８０〜８６の内部構成は一部の要素が異なるが，各符号を説明すると，９０はＣＰＵ，９１はシステムプログラムデータメモリ（ＳＰＭ）やローカルＳＰＭ（後述する９５）からＳＤＲＡＭ（後述する９２）にソフトウェアをロード（ＩＰＬ）するためのプログラムを格納したフラッシュメモリであるブート（Bootで表示) ，９２はＣＰＵ９０が命令を実行動作するためのソフトウェア（ファームウェア) が格納された高速動作をするＲＡＭであるＳＤＲＡＭ（Synchronous DRAM) ，９３は各種バスとのインタフェース機能やＳＰＭ制御を備えたＦＰＧＡ（Field Programmable Gate Array)で構成するコントローラ，９４は第１の制御装置８０，８１に設けられた全体のソフトウェアを格納したシステムプログラムデータメモリ（ＳＰＭ），９５は第３の制御装置８４，８５及び第４の制御装置８６でＳＰＭ９４より必要部分のみをコピーして保持するフラッシュメモリで構成するローカルＳＰＭ（Local ＳＰＭ）である。
【０００５】
図６に示すシステムでは，システム内制御装置の全体のソフトウェアを格納するシステムプログラムデータメモリ（ＳＰＭ）は第１の制御装置８０，８１にだけ設けられ，第１の制御装置８０，８１はシステム全体の制御を行い，第２の制御装置８２，８３，第３の制御装置８４，８５及び第４の制御装置８６はそれぞれシステムの中で異なる固有の機能を実行し，そのためのソフトウェアは，第１の制御装置８０，８１が保持するシステムプログラムデータメモリ（以下，ＳＰＭという）から自身で使用するプログラムデータのみを自制御装置内のＳＤＲＡＭ９２にコピー（ローディング）して使用している。
【０００６】
具体的には，第１の制御装置８０，８１は，ブート９１によりＳＰＭ９４から自身で必要なソフトウェアを自制御装置内のＳＤＲＡＭ９２にロードし，第２の制御装置８２，８３はグローバルバス８７を介して第１の制御装置８０または８１から必要なソフトウェアを自身のＳＤＲＡＭ９２にロードして，制御動作を行う。また第３の制御装置８４，８５及び第４の制御装置８６は，第１の制御装置８０または８１のＳＰＭ９４の必要部分と，各制御装置８４〜８６のローカルＳＰＭの版数情報内容を比較し，不一致であれば，ＳＰＭから各制御装置８４〜８６のローカルＳＰＭに必要なソフトウェアをコピーし，一致していれば，コピーせずそのままで，前記ローカルＳＰＭよりそれぞれのＳＤＲＡＭ９２にロードされる。
【０００７】
このように，第１の制御装置のシステムプログラムデータメモリ（ＳＰＭ）を用いて他の第２〜第４の制御装置に必要なソフトウェアをコピーすることで，各機能を実行することによりシステム全体が動作する。
【０００８】
この図６に示すシステム構成による処理能力には限界があり，その処理能力を増大することが望まれており，図７は図６に示す従来のシステム構成の延長線上で制御装置を増設した場合を想定したもので，制御装置の数を４倍（４×７＝２８台）にした例である。
【０００９】
図７のシステムの１段目（最上位の横方向の７台を表し，第１群という）に配置された第１の制御装置８０−１，８１−１，第２の制御装置８２−１，８３−１，第３の制御装置８４−１，８５−１，第４の制御装置８６−１は，図６に示す制御装置８０〜８６に相当し，２段目〜４段目（第２群〜第４群という）に配置された制御装置８０−２〜８６−２，８０−３〜８６−３，８０−４〜８６−４が増設されたものである。また，第１群〜第４群に対してそれぞれの群内の制御装置間のデータ転送を行うグローバルバス８７−１〜８７−４を設け，更に第１群〜第４群の第１の制御装置８０−１（Ｎ）〜８０−４（Ｎ），８１−１（Ｅ）〜８１−４（Ｅ）の間を縦方向に接続する２つのシリアル・グローバルバス８８−１，８８−２が設けられている。なお，図７に示す第１の制御装置（８０−１〜８０−４，８１−１〜８１−４）乃至第４の制御装置（８６−１〜８６−４）の内部の構成は上記図６に示す第１の制御装置乃至第４の制御装置の同じ番号同士で同様の構成を備えているが，各制御装置内でＳＤＲＡＭ９２は図示省略されている。
【００１０】
図７のような構成では，最初に，第１群の第１の制御装置８０−１，８１−１のそれぞれのＳＰＭに全体のソフトウェアを外部からローディングする。外部からのローディングは，第１の群の各制御装置８０−１〜８６−４が図示省略されたＡＴＭ伝送路により接続されており，外部からＩＰ（インターネットプロトコル）オーバ(over)ＡＴＭ（Asynchronous Transfer Mode) パケットをＡＴＭ伝送路を経由して，第１群の第１の制御装置８０−１，８１−１に転送する。その後，第１群の第１の制御装置８０−１，８１−１から同じ第１群の他の各制御装置にグローバルバス８７−１を経由してコピーをし，更に第１群の第１の制御装置８０−１，８１−１からシリアル・グローバルバス８８−１，８８−２を経由して，第２群〜第４群の第１の制御装置８０−２〜８０−４及び８１−２〜８１−４の各制御装置にコピーを行うことになる。更に，第２群〜第４群の第１の制御装置８０−２〜８０−４及び８１−２〜８１−４において，それぞれの群のグローバルバス８７−２〜８７−４を経由して，各群内の第２の制御装置〜第４の制御装置へそれぞれコピーが実行される。
【００１１】
一方，従来の技術として複数個のユニットで構成したグループ（群）を複数のグループに設け，各グループのユニットに対して共通信号等を提供する共通制御ユニットとを接続するため，各グループと共通制御ユニットとを接続する複数の信号線で構成するバスセット（データ，クロック，要求確認）をグループ別に設けて，プロトコルによりデータ通信を行う技術が知られている（特許文献１参照）。
【特許文献１】特開平６−２３７２５９号公報（図２）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記図７に示す従来技術によるシステム構成では，ユニット（各制御装置毎のカードまたは機能ブロック）単位にシステムプログラムデータメモリ（ＳＰＭ）を備えると，次の(1) 〜(3) のような問題がある。
【００１３】
(1) 第２群乃至第４群の各群毎の第１の制御装置（８０−２，８１−２〜８０−４，８１−４）に大容量（例えば，２５６ＭＢ）のシステムプログラムデータメモリを設けるとコストがかかる。
【００１４】
(2) システムプログラムの改版時に複数のプログラムメモリが存在すると，全てのメモリを更新するために時間がかかる。特に，プログラムを格納するＳＰＭは，フラッシュＲＯＭやハードディスクなので，ＲＡＭと異なり１個更新するだけでも時間がかかり，複数個になるとその個数倍の時間となる。
【００１５】
(3) プログラムの改版時, メモリ入れ替え作業の途中で入れ替えが失敗すると，リセット等で再立ち上げした時に，種々の障害の要因となり，メモリ入れ替え作業ができなくなるおそれがある。
【００１６】
また，各群の第１の制御装置（２重化した２台）に対してＡＴＭ伝送路に接続されたＡＴＭやＩＰパケットによりイニシァルプログラムローディング（ＩＰＬ）を行うには，ブートプログラムが重くなり（パケットを送受するプログラムが必要），ブートメモリ（ブートフラッシュ）の容量を増やさなければならなくなる。また，転送速度も速くならないため，時間が長くなるという問題がある。
【００１７】
更に，ＳＰＭがフラッシュメモリのようなＮＡＮＤ型のフラッシュメモリの場合，一定量単位（例えば，５１２バイト単位）の転送となるため，一つの制御装置がリードを開始すると，一定転送量はバスを独占してリードする必要がある。このため制御装置の数が増える分だけ，ＩＰＬ時間がかかってしまう。
【００１８】
また，上記特許文献１の技術は，複数ユニットで構成するグループが共通制御ユニットに複数グループと接続した場合の，データ通信を高速に行う技術であり，複数制御装置からなるシステムにおけるシステムプログラムデータメモリへのアクセスを行うための技術ではない。
【００１９】
本発明は２重化構成の主となる制御装置にシステムプログラムデータメモリ（ＳＰＭ）を備えたシステムの機能を拡張して制御装置を整数倍した場合に低コストで，プログラムの改版時の更新動作を迅速に行い，複数の制御装置のＩＰＬの時間を迅速化できる複数制御装置からなるシステムにおけるシステムプログラムデータメモリアクセス方式を提供することを目的とする。
【課題を解決するための手段】
【００２０】
図１は本発明の原理によるシステム構成例を示す。この構成例は，上記図７に示すシステム構成と同様に７つの制御装置により一つの群を構成し，第１群〜第４群という４つの群によりシステムが構成されている。図１において，第１群の中の１０−１，１１−１はシステムの中でこの制御装置にだけシステムプログラムデータメモリ（ＳＰＭ）を備えた２重化された第１の制御装置（Ｎ），（Ｅ），１２−１，１３−１は２重化された第２の制御装置（Ｎ），（Ｅ），１４−１，１５−１は２重化された第３の制御装置（Ｎ），（Ｅ），１６−１は第４の制御装置である。１０−２，１１−２，１０−３，１１−３及び１０−４，１１−４は第２群乃至第４群を構成する２重化された第１の制御装置（Ｎ），（Ｅ）であるが，この６つの制御装置はそれぞれ第２群〜第４群に属する他の各制御装置（第２の制御装置〜第４の制御装置）をグローバルバスで接続し，ＳＰＭを備えた第１の制御装置１０−１，１１−１との間を接続してプログラムデータの転送のための装置間インタフェースの機能を備える。
【００２１】
第２群〜第４群の１２−２，１３−２〜１２−４，１３−４はそれぞれ２重化された第２の制御装置（Ｎ），（Ｅ），１４−２，１５−２〜１４−４，１５−４は２重化された第３の制御装置（Ｎ），（Ｅ），１６−２〜１６−４は第４の制御装置である。
【００２２】
１７−１〜１７−４は第１群〜第４群の制御装置に対してそれぞれの群内の制御装置間のデータを転送するグローバルバスであり，１８−１，１８−２は第１群〜第４群の第１の制御装置（Ｎ）１０−１，１０−２，１０−３，１０−４を縦方向に相互接続するシリアル・グローバルバス及び第１の制御装置（Ｅ）１１−１，１１−２，１１−３，１１−４を縦方向に相互接続するシリアル・グローバルバスであり，各シリアル・グローバルバスはそれぞれ２重化されている（それぞれにＮ系，Ｅ系のバスが設けられている）。
【００２３】
本発明の特徴は，図７の従来のシステムと比べると明らかなようにシステムプログラムデータメモリ（ＳＰＭ）は第１群の第１の制御装置１０−１，１１−１のみに設け，第１群〜第４群のそれぞれの第１の制御装置１０−１，１１−１〜１０−４，１１−４にはＳＰＭより極めて少ない容量のＳＰＭキャッシュメモリを設け，キャッシュメモリを用いた制御を行うための機構を設け，それ以外の各制御装置にはＳＰＭ及びキャッシュメモリの何れも設けないようにした点である（制御装置の実施例の構成は後述する）。
【００２４】
図１に示すシステム構成の中の第１群の第１の制御装置１０−１，１１−１において，１はＣＰＵ，２はＳＰＭからファームウェアをダウンロードして実行するためのブートプログラムを格納したブートメモリ（Boot) ，３は実行するプログラムがダウンロードされるＳＤＲＡＭ，４はバスインタフェース機能とＳＰＭ制御及びキャッシュ制御機能を備えるＦＰＧＡで構成するコントローラ，５は大容量のシステムプログラムデータメモリ（ＳＰＭ），６は複数のブロックからなるキャッシュメモリである。また，第２群〜第４群の第１の制御装置１０−２，１１−２〜１０−４，１１−４は第１群の第１の制御装置１０−１，１１−１とは，ＣＰＵ１，ブートメモリ２，ＳＤＲＡＭ３及びＳＰＭ３を備えてない点が相違する。これらの各群の第１の制御装置を除いた，各群の第２の制御装置〜第４の制御装置は，ＣＰＵ１，ブートメモリ２，ＳＤＲＡＭ３及びコントローラ４とを備え，構成が簡易化されている。
【００２５】
図１のシステム構成において，第１群の第１の制御装置１０−１，１１−１のシステムプログラムデータメモリ（ＳＰＭ）５にシステムプログラムが外部から格納される。このＳＰＭ５には全ての制御装置用のソフトウェアが格納されており，第２群〜第４群の第１の制御装置１０−２，１１−２〜１０−４，１１−４はそれぞれ第２群〜第４群の第２〜第４の各制御装置をそれぞれ各群のグローバルバス１７−２〜１７−４で接続し，ＳＰＭを備える制御装置１０−１，１１−１と各制御装置群との装置間インタフェースを持ち，第１群〜第４群の中の制御装置１０−１，１１−１または制御装置１０−２，１１−２〜１０−４，１１−４を介してシステムプログラムデータメモリ（ＳＰＭ）にアクセスする構成となっている。
【００２６】
制御装置１０−１，１１−１には第１群の制御装置１０−１〜１６−１が使用するシステムプログラムを格納するためのＳＰＭキャッシュメモリを備えており，制御装置１０−２，１１−２〜１０−４，１１−４には，配下の第２群乃至第４群の各制御装置が使用システムプログラムを格納するためのキャッシュメモリを備えている。
【００２７】
第１群の第２〜第４の制御装置１２−１〜１６−１の何れかから，同じ第１群の第１の制御装置１０−１に対して，グローバルバス１７−１を介してＳＰＭのアドレスと容量（転送量）を指定してアクセスを行うと，制御装置１０−１のコントローラ４で受け取られ，キャッシュメモリ６に要求されたデータが格納されているかチェックを行い，格納されてないことが分かるとＳＰＭ５に対して要求したデータをキャッシュメモリ６にブロック別にコピーする。こうしてキャッシュメモリ６にコピーされたデータ（ソフトウェア）が第１群のアクセスを行った制御装置に対してグローバルバス１７−１を介して転送されてローディング（ＩＰＬ）が行われ，その制御装置において制御動作が実行される。
【００２８】
この図１の構成では，ＳＰＭ５を備える第１群の第１の制御装置（１０−１，１１−１）には，第１群の他の制御装置（１２−１〜１６−１）と制御装置（１０−１，１１−１）自身が使用するシステムプログラムデータを格納するキャッシュメモリを備え，他の第２群〜第４群の第１の制御装置（１０−２〜１０−４，１１−２〜１１−４）には，それぞれの配下（グローバルバスで接続する）の第２群〜第４群の制御装置が使用するシステムプログラムデータを格納するキャッシュメモリを備えている。
【００２９】
また，ＳＰＭ５を備える第１群の第１の制御装置（１０−１，１１−１）は２台，全群（第１群〜第４群）の第２の制御装置（１２−１〜１２−４，１３−１〜１３−４）は８台，全群の第３の制御装置（１３−１〜１３−４，１４−１〜１４−４）は８台，全群の第４の制御装置（１６−１〜１６−４）は４台であり，それぞれ同一の制御装置は，ＳＰＭの同一アドレスに格納されているソフトウェア（ファームウェア）をローディングする。
【００３０】
第２群〜第４群に属する第２〜第４の制御装置１２−２〜１２−４，１３−２〜１３−４，……，１６−１〜１６−４の中の一つ，例えば第２群の第２の制御装置１２−２から同じ群内のキャッシュメモリを備える第２の制御装置１０−２に対してアクセス要求（アドレスと容量を含む）が第２群のグローバルバス１７−２を介して発生すると，第２群の制御装置１０−２のコントローラ４へ供給される。この制御装置１０−２のコントローラ４は要求されたデータがキャッシュメモリ６に格納されているかチェックし，格納されていると，そのデータを要求元の第２の制御装置１０−２に転送して，ローディング（ＳＤＲＡＭ３へ）される。制御装置１０−２のキャッシュメモリ６に格納されてない場合は，制御装置１０−２はシリアル・グローバルバス１８−１を介して制御装置１０−１にアクセス要求を行うと，その制御装置１０−１のコントローラ４がキャッシュメモリ６をチェックし，格納されてないとＳＰＭ５にアクセスして要求されたデータを制御装置１０−１のキャッシュメモリ６にコピーし，同時にシリアル・グローバルバス１８−１を介してアクセス要求をした制御装置１０−２に転送し，そのキャッシュメモリ６にコピーする。なお，シリアル・グローバルバス１８−１を通して，制御装置１０−３，１０−４にも並列に転送して，それぞれのキャッシュメモリ６にコピーするように構成することで，ＳＰＭに対するアクセス回数を減らすことができる。
【発明の効果】
【００３１】
本発明によればフラッシュＲＯＭ等の大容量（例えば２５６ＭＢ）のシステムプログラムデータメモリは一個（２重化しない場合）または２個（２重化の場合）とすることでコストを低減することが可能となる。
【００３２】
また，複数の制御装置で構成する群単位にキャッシュメモリを配置することで，配置単位のキャッシュメモリからデータを読み込むことができるため，ある制御装置がシステムプログラムデータメモリのデータを占有して読んでいる時間はなくなる，すなわち，システムプログラムデータメモリから読んでいる時間に，他の制御装置はキャッシュメモリから読むことができる。
【００３３】
更に，システムプログラムデータメモリは一個（２重化の場合２個）のため，ファームウェア更新の時に一つだけ書き込めば，その後のシステムリセットによる再立上げで，全ての制御装置のファームウェアが更新される。複数のコピーをシステムプログラムデータメモリに転送する時間は長いことや，途中で不測の事態が生じてコピーできない制御装置群があった場合など，その後の再立上げで，新版と旧版ファームで立ち上がる制御装置群が存在し，新旧でインタフェースがとれない等の最悪の事態が発生するようなことは無くなり，ファームウェア更新時の信頼性を向上できる。
【発明を実施するための最良の形態】
【００３４】
図２は本発明の実施例の構成を示し，上記図１に示す制御装置の中のＳＰＭとキャッシュメモリを備える第１群の第１の制御装置１０−１（Ｎ系）とＳＰＭを備えないがキャッシュメモリを備える第２群の第１の制御装置１０−２（Ｎ系）の構成だけ示し，図１に示す第１〜第４群の第２〜第４の制御装置１２−１〜１６−１，１２−２〜１６−２，…，１２−４〜１６−４の各制御装置はＳＰＭ及びキャッシュメモリのいずれも備えない点で共通しており，簡易な構成を備えており，その内部構成は図示省略されている。
【００３５】
図２に示す制御装置１０−１の内部は上記図１に示す１〜６の各部により構成され，１はＣＰＵ，２はブートメモリ（Boot) ，３はＳＤＲＡＭ，４はコントローラ（ＦＰＧＡ），５は２５６ＭＢ（メガバイト）の容量を持つフラッシュメモリ（電気的に書き換え可能な読み出し専用メモリ：Flash EPROM)）で構成するシステムプログラムデータメモリ（ＳＰＭ），６は１ＭＢの容量を持つキャッシュメモリであり，１２８ＫＢ単位にブロック０〜ブロック７の８ブロックに分割され，それぞれ第１の制御装置〜第４の制御装置の４つに対応する各制御装置専用に２ブロックずつ使用するよう割り当てられる。
【００３６】
図２に示すＳＰＭを内蔵する第１群の第１の制御装置１０−１に設けられるコントローラ（ＦＰＧＡ）４の内部の４０はフラッシュメモリで構成するＳＰＭの制御を行うフラッシュメモリ制御部，４１は後述するタグメモリを用いてキャッシュメモリ６の制御を行うキャッシュ制御部，４２はキャッシュタグメモリ（TAG mem で表示）であり，キャッシュメモリ６のブロック単位（８個）に割り当てられ，それぞれキャッシュメモリ６に格納されているデータのアドレス及び容量を格納するキャッシュタグとして使用する。４３は同じ種類の制御装置間のデータ転送を行うシリアル・グローバルバスの制御を行うシリアル・グローバルバス制御部である。
【００３７】
図２に示す制御装置１０−２はシステムプログラムデータメモリ（ＳＰＭ）を備えず，キャッシュメモリ６だけ備える構成であり，この第２群（第３群，第４群も同じ）の第１の制御装置１０−２の中にはコントローラ（ＦＰＧＡで構成）４’が設けられ，このコントローラ４’には，キャッシュ制御部４１’，キャッシュタグメモリ４２（TAG mem)及びシリアル・グローバルバス制御部４３が設けられている。
【００３８】
なお，第１群〜第４群の第２の制御装置〜第４の制御装置のコントローラは，図２に示すコントローラ４，４’とは異なる単純な構成を備え，同じ群の制御装置同士を接続するグローバルバスと接続すると共に自身の制御装置のＣＰＵと接続する構成となり，自制御装置で必要とするソフトウェア（ファームウェアを含む）を各群の第１の制御装置にアクセスしてキャッシュメモリ６を通して自制御装置のＳＤＲＡＭにローディングすることになる。
【００３９】
図３はキャッシュメモリを用いたアクセス制御で使用する各種のレジスタを示し，各レジスタは３２ビット構成であり，これらのレジスタはキャッシュ制御部４１を備える第１の制御装置（１０−１〜１０−４〜１１−１〜１１−４）内のコントローラ（図２の４１，４１’）に設けられている。
【００４０】
図３において，Ａ．はＳＰＭアクセスレジスタであり，システムプログラムデータメモリ（ＳＰＭ）内のアクセス要求をするデータの先頭アドレス（オフセット）と必要とするデータ容量（セクタ数：１セクタは５１２バイトとする）とが設定される。Ｂ．はＳＰＭからの読出し時には読出しレディ状態（読出し準備完了か，ビジー状態），書込み時には書込み完了の状態（書込み完了か未完か）を特定の１ビットで表すＳＰＭルックアップレジスタ，Ｃ．はＳＰＭのデータ（読出データまたは書込みデータ）を格納するＳＰＭデータＲ／Ｗレジスタ，Ｄ．はＳＰＭからの読出し終了状態を表示するＳＰＭ制御レジスタである。
【００４１】
図４は実施例の動作フローであり，図１，図３に示す構成を用いて説明する。最初に，図１に示す第１群の第２の制御装置１２−１（Ｎ系）が初期プログラムローディング（ＩＰＬ）として，システムプログラムデータメモリ（ＳＰＭ）にアクセスするとき，まずグローバルバス１７−１を介して制御装置１０−１（Ｎ系，図２）のコントローラ４（図２）のキャッシュ制御部４１にアクセスする。以下に動作の順 (1)〜(3) に説明する。
【００４２】
(1) 制御装置１２−１は転送開始セクタアドレス及び転送セクタ数（１セクタ＝５１２Ｂ（バイト），最大２５６セクタ＝１２８ＫＢ）を制御装置１０−１（図２）のキャッシュ制御部４１へ書込むことによりアクセスする。この転送開始セクタアドレス（オフセットアドレス）と転送セクタ数は，図３のＡ．に示すＳＰＭアクセスレジスタに設定される（図４のＳ１）。この時，Ｒ／Ｗのビットも設定される。
【００４３】
(2) 制御装置１０−１のキャッシュ制御部４１は，キャッシュタグメモリ４２を参照して，キャッシュメモリ６に該当データがあることが分かると，データの転送準備完了であることを，キャッシュ制御部４１内のルックアップレジスタ（図３のＢ．）に表示（読出しレディを表示）する。このルックアップレジスタの内容は，ポーリングにより制御装置１２−１から読出されて（図４のＳ２），レディ（Ready)／完了(Complete)ビットがオン（“１”）かオフ（“０”）かを判別する（同Ｓ３）。
【００４４】
該当データがキャッシュメモリ６に無い場合は，データ準備中（読出しビジー）であることがＳＰＭルックアップレジスタに表示され，待機（Wait) になる。この時，ルックアップ周期の調整や，タイムアウトの監視が行われる（図４のＳ５）。
【００４５】
この場合は，図４の動作フローには記載されないが，フラッシュメモリ制御部４０にアクセスし，要求されたデータをＳＰＭ５からキャッシュメモリ６にコピー転送する動作が行われる。キャッシュメモリ６へ５１２Ｂ（１セクタ）分のコピー転送が終了すると転送準備完了（ビジー状態を解除）をＳＰＭルックアップレジスタに表示（“１”を書込む）する（図４のＳ４）。
【００４６】
(3) こうして，キャッシュメモリ６のあるブロック（データ要求を行った制御装置が第１〜第４の何れかに応じて使用するブロック（２個）が決まる）に要求したデータがコピーされた状態になると，制御装置１２−１は制御装置１０−１のキャッシュ制御部４１のルックアップレジスタをポーリングにより監視して，準備完了（ビジー解除）になったことでその状態を検出する。この場合，ＳＰＭルックアップレジスタの準備／完了ビットをクリア（該当ビットに“１”をライト）して（図３のＳＰＭ５），全データのリードが完了したか判別する（同Ｓ６）。終了しない場合，ＳＰＭデータリード・ライトレジスタ（図３のＣ．）を用いて，キャッシュメモリ６にアクセスして読出して，転送を行う（図４のＳ８）。
【００４７】
ＳＰＭデータリード・ライトレジスタの機能と構成については，後述する図５に示すが，要求元の制御装置１２−１の番号（この例では第２番）に対応したキャッシュメモリ６のブロックのアドレスの先頭のアドレスがキャッシュタグメモリ４２から取り出されて, ＳＰＭデータリード・ライトレジスタに設定され，３２ビット（４Ｂ：４バイト）のデータを読出すごとに順にアドレスが更新される（図４のＳ８）。この読出しで１セクタ（５１２Ｂ）分のリードが完了したか判別し（図４のＳ９），完了しないと，ステップＳ８に戻って，読出しを繰り返すが，１セクタの読出しが完了すると，Ｓ２に戻って，次のセクタについてＳＰＭルックアップレジスタへの設定動作から同様の動作が行われる。このようにして，制御装置１０−１から制御装置１２−１へプログラムローディングが行われる。
【００４８】
ＳＰＭルックアップレジスタ（図３のＢ．）のレディ／完了のビットが“１”の場合，全データ（要求された容量）の読出し（ローディング）が完了したかの判定をして（図４のＳ６），完了した場合はＳＰＭ制御レジスタ（図３のＤ．）を読出し終了に設定する（図４のＳ７）。
【００４９】
５１２Ｂ（１セクタ）以上のプログラムローディングの場合は，上記の(2) 〜(3) を繰り返して行い，更に１２８ＫＢ（キャッシュメモリ６の１ブロックの容量）以上のプログラムローディングの場合は，(1) から繰り返し行う。
【００５０】
１２８ＫＢ（１ブロック）を越えて連続して制御装置１２−１が次のアドレスのプログラムローディングを行う場合は，キャッシュメモリ６の２つ目のブロックの領域を使用する。
【００５１】
図４のステップＳ６において，全データ読み出しが完了であることが分かると，ＳＰＭ制御レジスタ（図３のＤ．）のリード終了（Read end) ビットを設定し（図４のＳ７），処理を終了する。
【００５２】
続いて制御装置１３−１（Ｅ）が初期プログラムローディング（ＩＰＬ）を行う時，上記制御装置１２−１（Ｎ）が最初にアクセスしたＳＰＭの領域( 開始セクタアドレス，セクタ数) と同一領域をアクセスするため，必ずキャッシュヒットし，直ちに準備完了（ビジー解除）の表示をＳＰＭルックアップレジスタに表示する。ＳＰＭルックアップレジスタは各制御装置単位に設けられ，制御装置１３−１（Ｅ）はＳＰＭルックアップレジスタをポーリングし，準備完了表示を見て，キャッシュメモリ６よりプログラムローディングを行う。このように二重化構成の装置がプログラムローディングを行う時は必ずＮ系の制御装置でアクセスしたのと同一の領域をアクセスするため，片系（Ｎとする）はＳＰＭ５までアクセスしてからローディングするが，もう一方の系（Ｅ系）はキャッシュメモリ上にあるため直ぐにローディングが可能になる。制御装置１２−１（Ｎ），制御装置１３−１（Ｅ）がキャッシュメモリからローディングしている間はＳＰＭは別の装置のキャッシュミスヒットによるＳＰＭからキャッシュメモリへのローディングが可能となり，ＳＰＭからキャッシュメモリへと，キャッシュメモリから各制御装置へという２段階のパイプライン処理およびキャッシュメモリは各制御レジスタからの同時アクセス競合に対応できることから，転送能力が向上する。
【００５３】
図５はＳＰＭデータリード・ライトレジスタの機能と構成を示す。図中，６はキャッシュメモリ，４１はキャッシュ制御部，４１０はＳＰＭデータリード・ライトレジスタ，４２はキャッシュタグメモリである。以下に動作を説明すると,(1)〜(3) の通りである。
【００５４】
(1) 制御装置１２−１がＳＰＭ（図２の５）を読出すため，ＳＰＭアドレスレジスタ（オフセット）とセクタ数をＳＰＭアクセスレジスタ（図３のＡ．）にセットする。この時，グローバルバス１７−１（図２）にバスマスタ情報（グローバルバスを占有した制御装置番号（１２−１）），アドレス情報（ＳＰＭアクセスレジスタ），データ情報（オフセットアドレス，セクタ数），リード／ライト情報としてリードをアサートして書く。
【００５５】
(2) キャッシュ制御部は，ＳＰＭアクセスレジスタ（図３のＡ．）に書かれた情報及びアクセスした制御装置番号（１２−１）より，ブロック２のキャッシュタグメモリ（図２の４２）のキャッシュタグ情報を書き換えて，ＳＰＭからキャッシュメモリ６のブロック２にデータを転送する。１セクタ（５１２Ｂ）分の転送が終了すると，ＳＰＭルックアップレジスタ（図３のＢ．）を準備（レディ）状態にする。
【００５６】
(3) 制御装置１２−１は準備（レディ）状態になったことをＳＰＭルックアップレジスタをルックアップ（周期読出し）し，準備状態になると，ＳＰＭデータリード・ライトレジスタ４１０を先頭番号よりリードする。ＳＰＭデータリード・ライトレジスタ４１０は制御装置１２−１に対応して固定アドレスで，図の例では例えば，0x24000000〜0x2401FFFCの１２８ＫＢ分の領域を持つ。
【００５７】
先頭番地0x24000000とバスマスタ情報（制御装置１２−１）をアサートして，リーグアクセスすることで，キャッシュ制御部４１は，ブロック２に制御装置１２−１の要求情報があることがわかっているため，制御装置１２−１がアクセスしたグローバルバスのアドレス0x24000000が，キャッシュメモリの物理アドレス0x40000 に対応することを認識し，キャッシュメモリ６の0x40000 番地のデータを返送する。続く，４Ｂ（バイト）をリードするため，アドレス0x40004 番地のリード要求をすると，キャッシュメモリ６の物理アドレス0x40004 番地のデータを返送する。すなわち，同じ，0x24000000番地のアクセスでも，どの制御装置からアクセスされたかにより，キャッシュメモリへの変換アドレスが変わる。図５の例では，制御装置１０−１が0x24000000番地にアクセスした場合は，ブロック０にデータが格納されているため，キャッシュメモリの物理アドレス0x00000 に変換される。
【００５８】
第１群の制御装置１０−１（Ｎ）がキャッシュメモリ６へのアクセスでミスヒットして，ＳＰＭからキャッシュメモリへ読み込む時，第２群〜第４群の制御装置１０−２〜１０−４へのキャッシュメモリへも同時に読み込むように構成すると，1 度のＳＰＭへのアクセスで４つの制御装置１０−１〜１０−４のキャッシュメモリへコピー処理され，ＳＰＭへのアクセス回数が減り，キャッシュヒットする制御装置が増えるため，転送能力が更に向上する。
【図面の簡単な説明】
【００５９】
【図１】本発明の原理によるシステム構成例を示す図である。
【図２】本発明の実施例の構成を示す図である。
【図３】ＳＰＭキャッシュメモリを用いたアクセス制御で使用する各種のレジスタを示す図である。
【図４】実施例の動作フローを示す図である。
【図５】ＳＰＭデータリード・ライトレジスタの機能と構成を示す図である。
【図６】多数の制御装置により構成される従来の構成例を示す図である。
【図７】従来のシステム構成の延長線上で制御装置を増設した場合の構成を示す図である。
【符号の説明】
【００６０】
１      ＣＰＵ
２      ブートメモリ（Boot) 
３      ＳＤＲＡＭ
４      コントローラ
５      システムプログラムデータメモリ（ＳＰＭ）
６      キャッシュメモリ
１０−１〜１０−４    第１の制御装置（Ｎ）
１１−１〜１１−４    第１の制御装置（Ｅ）
１２−１〜１２−４    第２の制御装置（Ｎ）
１３−１〜１３−４    第２の制御装置（Ｅ）
１４−１〜１４−４    第３の制御装置（Ｎ）
１５−１〜１５−４    第３の制御装置（Ｅ）
１６−１〜１６−４    第４の制御装置
１７−１〜１７−４    第１群〜第４群の各群内のグローバルバス
１８−１〜１８−２    第１群〜第４群の第１の制御装置（Ｎ），（Ｅ）間を接続する                        シリアル・グローバルバス
【図１】
0004749906.tif 000002
【図２】
0004749906.tif 000003
【図３】
0004749906.tif 000004
【図４】
0004749906.tif 000005
【図５】
0004749906.tif 000006
【図６】
0004749906.tif 000007
【図７】
0004749906.tif 000008