JP4132322B2 - 記憶制御装置およびその制御方法 - Google Patents
記憶制御装置およびその制御方法 Download PDFInfo
- Publication number
- JP4132322B2 JP4132322B2 JP35725498A JP35725498A JP4132322B2 JP 4132322 B2 JP4132322 B2 JP 4132322B2 JP 35725498 A JP35725498 A JP 35725498A JP 35725498 A JP35725498 A JP 35725498A JP 4132322 B2 JP4132322 B2 JP 4132322B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- shared memory
- adapter
- address
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータを用いた情報処理システムあるいは情報処理装置の記憶装置における対故障処理方式に係わり、システムの一部である記憶装置に故障が発生しても、システム全体としては、所望の動作が継続可能とするための障害検出や復旧処理に関し、特に詳細には、マルチプロセッサシステムにおけるプロセッサと他の共通モジュールとの結合方式技術と、それによるフォールトトレランス制御技術に関する。
【0002】
【従来の技術】
コンピュータを用いた情報処理システムが社会全般に普及してきた現在において、その障害が与える社会的な影響は、極めて大きい。その一方、システムが大規模になるに従い、システム全体が無故障であることが殆ど望めないものとなり、一部に故障が発生してもシステム全体としては所望の動作が継続可能なことが、要求される様になっている。
【0003】
そのための情報処理システムのアーキテクチャとして、情報処理学会の「情報処理」学会誌、Vol.34 No.11Nov.1993 P1375〜P1384に記載されている「リアルタイム映像信号処理装置とその応用」(八木伸行著)「2.3 結合方式」中の「図−3プロセッサ間接続」には、システムを構成する各々のモジュールを共通バスにて接続する“共通バス接続方式”として(a)のBus方式、連結に必要な各々のモジュールをそれぞれ個別パスにて接続する“個別パス接続方式”として(d)のComplete等が示されている。
【0004】
更に、この共通バス結合を拡張した2重バス結合方式として特開平9−160723号公報がある。この接続方式では、共通バスの使用権を調停するために専用の機構が必要であり、共通バス自身、もしくは、前記調停機構に故障が発生すると、システム全体が動作不可に陥る。そのため、更に共通バスを複数系統用意し、冗長度を持たせる接続方式も実施されている。
【0005】
一方、個別パス接続方式では、各プロセッサとシステム内の各共有モジュールとの接続経路が独立であり、通常1つのパスの故障が、全システムに伝播することはない。
【0006】
【発明が解決しようとする課題】
共通バス接続は、本質的にバス信号線を複数のプロセッサや構成モジュールとが時分割で共有するので、同時に複数の信号を伝達することができない。そのために、特に、高性能が要求される制御装置では、バスの限界がシステムの性能ネックとなる。また、共通バス系は、システムの共通資源となっているため、故障が発生した場合、システム全体に影響を与えることが免れない。
【0007】
個別パス接続は、各プロセッサから共有モジュールへの通信路が1つのみであり、通信経路を切り替えてのテストができない。そのため、故障の種別次第では、故障部位を正しく切り離し、システム継続動作を保証することができない。
【0008】
ここで、単純に各プロセッサと各共通モジュール間への個別パスを複数にすると、共有メモリを持つマルチプロセッサシステムでは、同一プロセッサパッケージから発生する複数のアクセス要求と、更に各プロセッサから発生するアクセス要求とが混在して共有メモリへ入りこんでしまう。そして同一共有メモリ上のデータに対して、リードモディファイライト等排他が必要なアクセス中に他のアクセスが入り込むと、データの整合性が保たれなくなってしまう。
【0009】
本発明の目的は、この様な欠点を克服し、マルチプロセッサを持つ情報処理装置及びシステムにおいて、データの整合性を保つことが可能な複数個別パス接続方式及びこの接続方式を用いた制御装置を提供することである。
【0010】
【課題を解決するための手段】
前述のバス接続方式の問題点を解決するために、各プロセッサからシステムの各共通モジュールへの接続経路を、それぞれ2つ以上持たせる複数個別パス結合方式とする。そして、障害を検出した場合には、通信経路を変更してテストを行い、総合的に故障部位を判定する。
【0011】
そして、各プロセッサから各共通モジュールへ複数の接続経路にアクセスパスの切り替え及びアドレスロック方式を用いる。
【0012】
アドレスロック方式とは、共有メモリ等システム共通モジュールにアドレスロック部を設置し、予め決められたアドレス範囲での排他を行う方式である。アドレス排他制御が必要なアクセスが要求された場合に、アクセスアドレスを登録して、アドレスがロック中状態を示す。ロック中状態に入り込む他のアクセス要求に対して、アクセスアドレスと各ロック中アドレスとのコンペアチェックを行い、ロック中アドレスと一致するアクセスについては、ロックが解除されるまでにアクセスをウェイトすることにより、データの整合性を保つことが可能である。
【0013】
【発明の実施の形態】
本発明の実施形態について、図面を用いて以下に詳細を説明する。
【0014】
まず、図1に本発明を適用した記憶装置の実施例の階層を表すシステム概略図を示す。上位装置であるホストコンピュータ(図示せず)に接続するチャネル接続系1、入出力データを一時的に格納するキャッシュメモリ2、チャネル接続系1とキャッシュメモリ2間のデータ転送を制御するチャネルアダプタ(以下CHAと称する)3、データを蓄積する記憶媒体であるディスクアレイ4、キャッシュメモリ2とディスクアレイ4間のデータ転送を制御するディスクアダプタ(以下DKAと称する)5、CHA3とDKA3との間に設けられ、後述する共有メモリ6から構成される。
【0015】
図1は概念的な略図であるので詳細な接続を示すものではなく、実際にはキャッシュメモリ2と共有メモリ6は一つのCHA(またはDKA)と接続をしている。尚、チャネル接続系としては例えば、メインフレーム系のホストコンピュータ(CKDデータフォーマット)と接続の場合にはチャネル制御装置、UNIX系のコンピュータ(FBAデータフォーマット)の場合にはSCSIバス制御装置が挙げられる。また、ファイバチャネルを用いた制御装置でもよい。
【0016】
共有メモリ6には、キャッシュメモリ2の使用を管理するディレクトリー情報(キャッシュセグメントをサーチするための階層化テーブル及び各セグメントの状態)、CHA3、DKA5のプロセッサ間通信メッセージ(各プロセッサ間の協調、同期等の為に行われる通信内容)、システムの構成情報(システム内に存在するCHA3、DKA5の実装状態、キャッシュメモリ2、共有メモリ6の容量、ディスクアレイ4の数等システムの構成状態に係わる共通情報)等の制御情報を格納する。
【0017】
次に、記憶装置の基本動作を説明する。
【0018】
CHA3は、チャネル接続系1経由で上位のホストコンピュータからコマンドを受け付け、コマンド解析、及びデータ転送の制御を行う。例えば、上位からデータをリード命令を受け付けた場合についての基本動作について、以下に説明する。
【0019】
CHA3は、共有メモリ6をアクセスして、キャッシュメモリ2上に当該データが存在しているかどうかをチェックする。キャッシュメモリ2上に目的データがあれば、キャッシュメモリ2からチャネル接続系1経由して、ホストコンピュータへの転送を行うが、キャッシュメモリ上に目的データが存在しなければ、共有メモリ6を用いて、DKA5へのプロセッサ間通信を行う。DKA5は、その目的データをディスクアレイ4からキャッシュメモリ2に転送し、データ転送を完了したセグメントについて、再び共有メモリ6をアクセスしてCHA3への通信を行い、CHA3によりキャッシュメモリ2からホストコンピュータへの転送を制御する。
【0020】
システム内に複数存在するCHA3、DKA5には、それぞれプロセッサを搭載し、各プロセッサから共有メモリ6への接続が独立に設けられている。また、単一の故障によるシステム動作停止を防ぐ為、共有メモリ6も多重化して、冗長性を持たせている。
【0021】
各プロセッサから共有メモリ6への接続系を以下に詳細を説明する。
【0022】
図2に共有メモリとの詳細な結合方式をブロック図にて示す。本図は、プロセッサが搭載されているサブシステムであるCHA(またはDKA、双方を含めてアダプタと言う事も有る)11,12、周辺装置(共通モジュール)であり二重化にされた共有メモリ21,22、CHA(DKA)11,12と共有メモリ21,22とを連結するアクセスパス31,32,33,34,35,36,37,38を示している。更に、CHA(DKA)には、パス選択制御回路41,42、パスモード設定レジスタ51,52が具備されている。
【0023】
共有メモリ21,22は二重化され、どちらか片方が故障して閉塞された場合、多少の性能ダウンがあっても、残った正常な1つの共有メモリのみでシステム動作は継続可能である。
【0024】
また、例えば、CHA(DKA)11側のプロセッサから共有メモリ21へのアクセスは、アクセスパス31を経由して行うこともアクセスパス32を経由して行うことも可能である様に、プロセッサと共有メモリとの接続パスをそれぞれ2つ具備し、各アクセスパスはそれぞれ独立に機能し、システムの正常作動時には個別にアクセス可能なようにしている。
【0025】
以下パスモード選択制御回路41,42の機能について述べる。
【0026】
プロセッサから任意の共有メモリアクセスが指示された場合、パスモード選択制御回路41,42は、パスモード設定レジスタ51,52の内容を参照して、アクセスに用いるアクセスパスを決定する。パスモード設定レジスタ51,52は、4ビットからなるレジスタであり、各ビットはそれぞれ当該プロセッサに接続されている4つのアクセスパスに対応する。パスモード設定レジスタ51,52は、プログラムから設定可能であり、通常時は、4ビットとも0が設定され、パス自動分散を意味する。パスモード選択制御回路で0指定を参照できた場合、前回のアクセスで使用しなかったパスを優先的に用いる。その結果、共有メモリアクセス負荷は、2つのアクセスパスに分散され、アクセス性能を高めることが可能となる。
【0027】
故障等により片側のパスが使用できない場合、プログラムよりパスモード設定レジスタ51,52にパス固定モードを設定する。例えば、共有メモリ21に対応する2つのビットに1、0を設定して共有メモリ21に対するアクセスを行えば、パスモード選択制御回路41,42は、第1のアクセスパス(CHA又はDKA11からならアクセスパス31、CHA又はDKA12からならアクセスパス35)を固定的に選択する。
【0028】
パスモード設定レジスタ51,52の設定値と、それぞれの時に選択されるアクセスパスを図3に示す。図3中“パス分散”とあるところは、上記説明の通り、前回のアクセスで使用しなかったパスを選択し、負荷を分散することを意味する。
【0029】
さて、共通バス接続方式と異なり、各アクセスパスは独立に動作可能であるため、共有メモリの同一データに対してアクセスの競合が発生することが考えられる。特にリードモディファイライト動作中に競合が発生すると、データの不整合が発生する恐れがある。
【0030】
リードモディファイライトとは、共有メモリ上のあるデータをリードし、例えば特定ビットをONしてライトする処理である。例えば、リードして操作しようとするデータを、リライトする前に他のライトアクセスによって書き換えられても、その後のライトで当該書き替えが無効になってしまう。この様に、一連の動作中に他パス経由にてアクセスを排他制御しないと、データの整合性が保証できなくなる。
【0031】
そのために、本装置では、アドレスロック部をハード的に設け、リードモディファイライト命令が指示された場合、アクセス対象アドレスが、アドレスロック部内に設定され、そのアドレスがロック中である事を示す。アドレスロック部にロックが設定されている場合には、他のすべてメモリアクセスに対してアドレスロックチェックを行い、アクセスしようとするアドレスがロック中であれば、ロックが解除される迄ロック待ちの状態に入る。そして目的とするアクセスは、そのアドレスロックが解除されてから実行される。
【0032】
また、複数プロセッサがロック待ち状態に入った場合には、ラウンドロビン制御が働き、ロックタイムアウトにならない様に制御される。
【0033】
このアドレスロック部を含む共有メモリ内制御部の構成ブロック図を図4に示す。尚、図4における共有メモリ1は図2における共有メモリA面に、共有メモリ2は共有メモリB面と同義である。また、図1の共有メモリは二重化され、それぞれ共有メモリA面及びB面となる。
【0034】
共有メモリ制御LSIは、前述の競合を制御する競合制御部、メモリ制御部、ECC生成部、ECCチェック部等を有し、データライト時にECC(Error Check Conditon)というチェックコードを生成して、データリード時にECCの整合性をチェックすることにより、メモリ故障によるデータ破壊を防止する。
【0035】
そして、アドレスロック部において、予め決められたアドレス範囲での排他を行う。具体的には、アドレス排他制御が必要なアクセスが要求された場合に、アクセスアドレスを登録して、アドレスがロック中状態とする。そしてロック中状態に入り込む他のアクセス要求に対して、アクセスアドレスと各ロック中アドレスとのコンペアチェックを行い、ロック中アドレスと一致するアクセスについては、ロックが解除されるまでにアクセスをウェイトすることにより、データの整合性を保つことが可能である。
【0036】
このアドレスロックによる共有メモリアクセス排他方式を図5に示す。ここで、MP#1のプロセッサは、リードモディファイライトを行うために、ロック付きのアクセス命令を発行する。この場合にはロック付きのリード指示である。共有メモリはこのロック付きの指示を受けると、アクセス経路を固定して、同一アドレスへは他の経路からのアクセスができないように設定する。共有メモリはリード指示によりメモリを読み込み、MP#1に読み込んだリードデータとそのステータスを返す。MP#1は送られてきたデータをモデファイ処理した後、共有メモリにライト指示を出す。そして、MP#1は共有メモリからそのステータスを受け取って処理を完了した後、共有メモリに対してロック解除の指示を出す。この指示により、共有メモリは他経路からのアクセスを受けられるようになる。
【0037】
つまり、共有メモリがロックされている際に同一アドレスをアクセスしようとするMP#2のプロセッサは、MP#1のアクセスがロック中はロック待ちに入り、MP#1のロックが解除してからメモリライトが実行される。尚、図5においてMP#1,2は任意のCHA、DKA内のプロセッサを示し、図2におけるプロセッサと同じ物である。
【0038】
次に、DKA12のプロセッサからアクセスパス35を経由し、共有メモリ22へのアクセス時に、ハード故障によりアクセスエラーが発生した場合のフォールトトレラント制御について説明する。
【0039】
まず、障害発生時のハード情報から故障部位が明確に判定可能なケースが存在する。例えば、いまDKA12内のプロセッサ内部の故障であると判定できれば、DKA12をシステムから引き離し、残り他のDKA内のプロセッサでシステム動作を継続する。また例えば、障害情報から共有メモリ22内部の故障であると判定できれば、共有メモリ22をシステムから切り離し、共有メモリ21を用いてシステム動作を継続する。
【0040】
しかし、複数のハード構成部位からなるシステムで、障害時の情報のみで故障部位が明確的にわからない場合が考えられる。例えば、DKA12内のプロセッサがアクセスパス35を用いて、共有メモリ22へのライトアクセスにタイムアウトが発生し、正常終了が報告されない場合が発生したとする。DKA12内のプロセッサの故障により、ライト命令が共有メモリ22の制御部に伝わらなかったのか、共有メモリ22の故障により、正常終了の報告ができなかったか、或いはアクセスパス35の故障により情報の伝達が正常にできなかったかを、タイムアウトが発生したという事実だけでは明確的に判別できない。
【0041】
この様な故障部位が曖昧なケースが発生したら、本システムでは、障害処理内にてアクセステストを行い、各経路からの共有メモリアクセスが正常であるかどうかの結果を総合的に判断し、障害部位の特定と切り離しを行う。
【0042】
具体的には、DKA12で障害を検出したら、アクセスパス35を経由した共有メモリ22へのアクセス、アクセスパス36を経由した共有メモリ22へのアクセス、アクセスパス37を経由した共有メモリ21へのアクセス、アクセスパス38を経由した共有メモリ21へのアクセスをそれぞれ試行する。以上4パターンのアクセスが、それぞれ正常に行えたかどうかの結果を用いて故障部位を判定する。
【0043】
例えば、ここでアクセスパス35を経由して、共有メモリ22へのアクセス時のみに障害が発生し、アクセスパス36から共有メモリ22へのアクセス時は、正常にアクセス可能だとすれば、アクセスパス35のみの故障であると判定し、アクセスパス35の使用を停止し、以降は、保守作業によってアクセスパス35が回復される迄、DKA12から共有メモリ22へのアクセスはアクセスパス36の経路から行う。
【0044】
また、例えば、アクセスパス35及び36から共有メモリ22へのアクセスが両方失敗し、アクセスパス37及び38を経由した共有メモリ21へは、正常にアクセス可能だとすれば、共有メモリ22の故障に起因する障害であると判定して、共有メモリ22の閉塞を行う。以降は、保守作業によって共有メモリ22が回復されるまで、各プロセッサは、共有メモリ22を使用せず、情報の伝達等は共有メモリ21を用いて行う。
【0045】
更に、アクセスパス35及び36から共有メモリ22へのアクセス、アクセス37及び38から共有メモリ21へのアクセスが、全ての経路で正常にアクセスできないのだとすれば、DKA12回りに故障があるものと判定し、当該プロセッサの閉塞を行う。
【0046】
図6に上記アクセステストの結果の組み合わせと、システムから引き離す閉塞部位の一覧を示す。図6のパス1A(a),1A(b),1B(a),1B(b)は例えば図2のアクセスパス31,32,33,34に相当する。この組み合わせにおいて、アクセスパス単独の故障であれば確実に障害部位を特定する事が出来る。また、共有メモリ及びCHAまたはDKAのプロセッサ故障についても、複数のアクセスパスが同時に故障を起こす可能性はあまり考えられないので、ほぼ特定をする事が出来る。つまり、本組み合わせをテーブルに整理し、障害処理はアクセステストの結果から本テーブルを検索すれば、閉塞すべき部位をすばやく特定することができる。
【0047】
尚、全てのアクセスパスのテストを行う前に、同じ共有メモリへ他のアクセスパスを使用してテストを行うことのみでも、アクセスパス単独の故障か否かを判断することが可能である。なぜならば、異なる共有メモリに対して複数のアクセスパスがNGの場合は多重障害の可能性が高く、いずれにせよ故障部署の特定が困難だからである。
【0048】
以上に説明した障害特定方式の処理流れ図を図7に示す。
【0049】
障害を検出した場合(ステップ701)、その情報を採取する(ステップ702)。そしてその情報により故障部位が明白であるか否かを判断し(ステップ703)、明白な場合にはその故障部位を閉鎖(ステップ711)し、障害処理を完了(ステップ712)する。
【0050】
明白でない場合には、アクセスを再度トライし(ステップ704)、アクセスが成功か否かを見る(ステップ705)。成功した場合には一時的な障害であると判定し(ステップ712)、障害処理を完了(ステップ712)する。再度アクセス失敗の場合は、パス1-共有メモリ(A)からパス2-共有メモリ(B)(例えば図6のパス1A(a)からパス1B(b))のアクセステストをし(ステップ706〜709)、図6に示すようなテーブルを参照して故障部位を判定する(ステップ710)。そしてその部位を閉鎖(ステップ711)し、障害処理を完了(ステップ712)する。尚、ステップ706〜709は故障部位に関するアクセスパスのテストを行うのであれば特に順番は関係無い。
【0051】
共通バスによる接続方式と違って、本方式に従って処理すれば、アクセスパスの故障時は、システム内他プロセッサのアクセスを影響、または中断する必要なく、故障パスを閉塞することが可能である。
【0052】
尚、本実施例では、記憶制御装置内部でのプロセッサと共有メモリ間の接続について示したが、共有メモリだけではなく、キャッシュメモリ等他の記憶装置等の共通部位への接続にも、全く同様な論理にて実現可能である。
【0053】
更に、同様なサブシステムであるホストコンピュータと周辺装置である記憶装置間との接続に適応することも考えられる。この場合、記憶装置が多重化にした上、各ホストコンピュータと各記憶装置には、それぞれ2つ接続径路を持たせる。エラーが報告された場合には、同一記憶装置への他の径路、他の記憶装置に接続される径路から、それぞれアクセステストを行い、アクセステストの結果を図3のテーブルに適応すれば、記憶装置全体の故障であるか、チャネル等接続系の故障であるかを判別可能となる。
【0054】
【発明の効果】
マルチプロセッサを持つ情報処理装置において、性能面と信頼性が両立可能な接続手段を提供することができる。
【0055】
複数個別パス結合方式としたことにより、各プロセッサと各構成モジュール間の通信路が、全て独立となり、単一の故障がシステム全体に波及することはなくなる。また、複数の通信路は、時分割にではなく、同時に並行動作が可能となるため、共通バスによりもたらされる性能低下の問題も解決できる。
【図面の簡単な説明】
【図1】本発明方式を適用した実施例のシステム概略図である。
【図2】本発明処理方式を適用した図1装置の結合要部ブロック図である。
【図3】パスモード設定レジスタの値と選択されるアクセスパスの組み合わせ表である。
【図4】共有メモリ制御部の構成ブロック図である。
【図5】アドレスロック方式によるである。
【図6】アクセステスト結果と推定される故障部位の組み合わせ表である。
【図7】障害検出から故障部位判定のフローである。
【符号の説明】
1…ホスト接続ハードウェア、2…キャッシュメモリ、3…CHA(チャネルアダプタ)、4…ディスクアレイ、5…DKA(ディスクアダプタ)、6…共有メモリ、11,12…プロセッサ搭載パッケージ(CHAまたはDKA)、21,22…共有メモリ、31,32,33,34,35,36,37,38…共有メモリへのアクセスパス、41,42…パス選択制御回路、51,52…パスモード設定レジスタ。
Claims (4)
- 第1のアダプタと第2のアダプタと第1の共有メモリと第2の共有メモリとで構成される記憶制御装置において、
前記第1のアダプタと前記第1の共有メモリとは、第1のアクセスパスと第2のアクセスパスで接続され、
前記第1のアダプタと前記第2の共有メモリとは、第3のアクセスパスと第4のアクセスパスで接続され、
前記第2のアダプタと前記第1の共有メモリとは、第5のアクセスパスと第6のアクセスパスで接続され、
前記第2のアダプタと前記第2の共有メモリとは、第7のアクセスパスと第8のアクセスパスで接続され、
前記第1の共有メモリは、第1の競合制御部を備え、前記第2の共有メモリは、第2の競合制御部を備え、
前記第1の競合制御部と前記第2の競合制御部とは、前記第1のアダプタまたは前記第2のアダプタからアドレス排他制御が必要なデータに対してアクセスを受け付けたとき、前記アクセスされたデータが格納されているアドレスを登録して予め決められたアドレス範囲での排他制御を行うことを特徴とする記憶制御装置。 - 請求項1に記載の記憶制御装置であって、
前記第1の競合制御部または前記第2の競合制御部の排他制御とは、他のメモリアクセスに対してアドレスチェックを行い、前記予め決められたアドレス範囲に対するアクセスを排他制御が解除された後で実行することである記憶制御装置。 - 第1のアダプタと第2のアダプタと第1の共有メモリと第2の共有メモリとで構成され、前記第1のアダプタと前記第1の共有メモリとは、第1のアクセスパスと第2のアクセスパスで接続され、前記第1のアダプタと前記第2の共有メモリとは、第3のアクセスパスと第4のアクセスパスで接続され、前記第2のアダプタと前記第1の共有メモリとは、第5のアクセスパスと第6のアクセスパスで接続され、前記第2のアダプタと前記第2の共有メモリとは、第7のアクセスパスと第8のアクセスパスで接続され、前記第1の共有メモリは、第1の競合制御部を備え、前記第2の共有メモリは、第2の競合制御部を備える記憶制御装置の制御方法であって、
前記第1の競合制御部または前記第2の競合制御部が、前記第1のアダプタまたは前記第2のアダプタからアドレス排他制御が必要なデータに対するアクセスを受け付けるステップと、排他制御が必要なデータに対してアクセスを受け付けた競合制御部が、前記アクセスされたデータが格納されているアドレスを登録するステップと、予め決められたアドレス範囲に対する排他制御を行うステップとを含む記憶制御装置の制御方法。 - 請求項3に記載の記憶制御装置の制御方法であって、
前記排他制御は、他のメモリアクセスに対してアドレスチェックするステップと、前記予め決められたアドレス範囲に対するアクセスを排他制御が解除された後で実行するステップとを含む記憶制御装置の制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35725498A JP4132322B2 (ja) | 1998-12-16 | 1998-12-16 | 記憶制御装置およびその制御方法 |
EP99117283A EP1011047B1 (en) | 1998-12-16 | 1999-09-02 | Fault recovery method and storage controller in information processing apparatus |
DE69939050T DE69939050D1 (de) | 1998-12-16 | 1999-09-02 | Fehlerkorrekturverfahren und Speichersteuergerät in einer Datenverarbeitungsvorrichtung |
US10/600,828 US7302606B2 (en) | 1998-12-16 | 2003-06-23 | Fault recovery method and a storage controller in an information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35725498A JP4132322B2 (ja) | 1998-12-16 | 1998-12-16 | 記憶制御装置およびその制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000181887A JP2000181887A (ja) | 2000-06-30 |
JP2000181887A5 JP2000181887A5 (ja) | 2006-01-12 |
JP4132322B2 true JP4132322B2 (ja) | 2008-08-13 |
Family
ID=18453188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35725498A Expired - Fee Related JP4132322B2 (ja) | 1998-12-16 | 1998-12-16 | 記憶制御装置およびその制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7302606B2 (ja) |
EP (1) | EP1011047B1 (ja) |
JP (1) | JP4132322B2 (ja) |
DE (1) | DE69939050D1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288279A (ja) | 2002-03-28 | 2003-10-10 | Hitachi Ltd | 記憶装置間の障害検出方法、及びこれに用いられる記憶装置 |
US7565566B2 (en) * | 2003-04-23 | 2009-07-21 | Dot Hill Systems Corporation | Network storage appliance with an integrated switch |
US7401254B2 (en) * | 2003-04-23 | 2008-07-15 | Dot Hill Systems Corporation | Apparatus and method for a server deterministically killing a redundant server integrated within the same network storage appliance chassis |
US7627780B2 (en) | 2003-04-23 | 2009-12-01 | Dot Hill Systems Corporation | Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance |
US7676600B2 (en) * | 2003-04-23 | 2010-03-09 | Dot Hill Systems Corporation | Network, storage appliance, and method for externalizing an internal I/O link between a server and a storage controller integrated within the storage appliance chassis |
JP4454299B2 (ja) | 2003-12-15 | 2010-04-21 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の保守方法 |
US7450959B2 (en) * | 2003-12-31 | 2008-11-11 | Qualcomm Incorporated | Wireless multiprocessor system-on-chip with unified memory and fault inhibitor |
JP4585217B2 (ja) * | 2004-03-29 | 2010-11-24 | 株式会社日立製作所 | ストレージシステムおよびその制御方法 |
JP2006244123A (ja) * | 2005-03-03 | 2006-09-14 | Fujitsu Ltd | データストレージシステム及びデータストレージ制御装置 |
JP4461485B2 (ja) * | 2005-04-05 | 2010-05-12 | 株式会社ジェイテクト | 分散制御装置 |
JP4645278B2 (ja) | 2005-04-15 | 2011-03-09 | ソニー株式会社 | 光信号処理装置 |
US7590885B2 (en) * | 2005-04-26 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | Method and system of copying memory from a source processor to a target processor by duplicating memory writes |
JP4414399B2 (ja) * | 2006-01-30 | 2010-02-10 | 富士通株式会社 | ディスク制御装置 |
US8055856B2 (en) * | 2008-03-24 | 2011-11-08 | Nvidia Corporation | Lock mechanism to enable atomic updates to shared memory |
JP5966243B2 (ja) | 2010-12-20 | 2016-08-10 | 富士通株式会社 | ストレージ装置及びストレージ装置の制御方法 |
US9021214B2 (en) * | 2011-12-14 | 2015-04-28 | Hitachi, Ltd. | Storage system and method for controlling memory in storage system |
US20150248320A1 (en) * | 2014-02-28 | 2015-09-03 | Red Hat Israel, Ltd. | Host-storage connectivity monitoring |
US10514859B2 (en) | 2017-05-08 | 2019-12-24 | International Business Machines Corporation | Reduction of processing overhead for point in time copy to allow access to time locked data |
US10489080B2 (en) | 2017-05-08 | 2019-11-26 | International Business Machines Corporation | Point in time copy of time locked data in a storage controller |
US10528435B2 (en) * | 2017-05-08 | 2020-01-07 | International Business Machines Corporation | Performance efficient time locks on data in a storage controller |
US10514721B2 (en) | 2017-05-08 | 2019-12-24 | International Business Machines Corporation | Validation of clock to provide security for time locked data |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3623014A (en) * | 1969-08-25 | 1971-11-23 | Control Data Corp | Computer communications system |
US5680574A (en) * | 1990-02-26 | 1997-10-21 | Hitachi, Ltd. | Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units |
US5155845A (en) * | 1990-06-15 | 1992-10-13 | Storage Technology Corporation | Data storage system for providing redundant copies of data on different disk drives |
US5638506A (en) * | 1991-04-08 | 1997-06-10 | Storage Technology Corporation | Method for logically isolating a cache memory bank from a memory bank group |
US5392425A (en) * | 1991-08-30 | 1995-02-21 | International Business Machines Corporation | Channel-initiated retry and unit check for peripheral devices |
JP2777301B2 (ja) * | 1992-01-07 | 1998-07-16 | 三菱電機株式会社 | 記録装置 |
US5581724A (en) * | 1992-10-19 | 1996-12-03 | Storage Technology Corporation | Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem |
US5572694A (en) * | 1992-11-25 | 1996-11-05 | Fujitsu Limited | Virtual system for detecting access paths belonging to same group from plurality of access paths to reach device designated by command with reference to table |
US5771367A (en) * | 1992-12-17 | 1998-06-23 | International Business Machines Corporation | Storage controller and method for improved failure recovery using cross-coupled cache memories and nonvolatile stores |
US5473752A (en) * | 1993-03-17 | 1995-12-05 | Detector Electronics Corporation | Fault isolation circuit |
US5390326A (en) * | 1993-04-30 | 1995-02-14 | The Foxboro Company | Local area network with fault detection and recovery |
JP3264465B2 (ja) * | 1993-06-30 | 2002-03-11 | 株式会社日立製作所 | 記憶システム |
US5790775A (en) * | 1995-10-23 | 1998-08-04 | Digital Equipment Corporation | Host transparent storage controller failover/failback of SCSI targets and associated units |
JP3628777B2 (ja) * | 1995-10-30 | 2005-03-16 | 株式会社日立製作所 | 外部記憶装置 |
US6032271A (en) * | 1996-06-05 | 2000-02-29 | Compaq Computer Corporation | Method and apparatus for identifying faulty devices in a computer system |
JP3581765B2 (ja) * | 1996-09-20 | 2004-10-27 | 株式会社日立コミュニケーションテクノロジー | 複合リング形ネットワークシステムにおけるパス切替方法及び装置 |
US5890219A (en) * | 1996-11-27 | 1999-03-30 | Emc Corporation | Redundant writing of data to cached storage system |
US5862308A (en) * | 1996-12-03 | 1999-01-19 | Bull Hn Information Systems Inc. | Fault intercept and resolution process independent of operating system |
-
1998
- 1998-12-16 JP JP35725498A patent/JP4132322B2/ja not_active Expired - Fee Related
-
1999
- 1999-09-02 DE DE69939050T patent/DE69939050D1/de not_active Expired - Fee Related
- 1999-09-02 EP EP99117283A patent/EP1011047B1/en not_active Expired - Lifetime
-
2003
- 2003-06-23 US US10/600,828 patent/US7302606B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040153691A1 (en) | 2004-08-05 |
US7302606B2 (en) | 2007-11-27 |
EP1011047A2 (en) | 2000-06-21 |
DE69939050D1 (de) | 2008-08-21 |
JP2000181887A (ja) | 2000-06-30 |
EP1011047B1 (en) | 2008-07-09 |
EP1011047A3 (en) | 2006-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4132322B2 (ja) | 記憶制御装置およびその制御方法 | |
US4438494A (en) | Apparatus of fault-handling in a multiprocessing system | |
US4503535A (en) | Apparatus for recovery from failures in a multiprocessing system | |
US7185222B2 (en) | Apparatus, system, and method for maintaining data in a storage array | |
US5790775A (en) | Host transparent storage controller failover/failback of SCSI targets and associated units | |
US7600152B2 (en) | Configuring cache memory from a storage controller | |
US5153881A (en) | Method of handling errors in software | |
US5502728A (en) | Large, fault-tolerant, non-volatile, multiported memory | |
US20070282967A1 (en) | Method and system of a persistent memory | |
US7127638B1 (en) | Method and apparatus for preserving data in a high-availability system preserving device characteristic data | |
JP2000181887A5 (ja) | ||
EP0415549A2 (en) | Method of converting unique data to system data | |
US6804794B1 (en) | Error condition handling | |
US20040049710A1 (en) | Maintaining data access during failure of a controller | |
US6801983B2 (en) | Disk control device and storage device using it | |
JP2540008B2 (ja) | デ―タ処理システム及びメモリ手段内のデ―タ・レコ―ド・イメ―ジを有効化する方法 | |
US6490662B1 (en) | System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module | |
US7472221B1 (en) | Mirrored memory | |
US7302526B1 (en) | Handling memory faults for mirrored memory | |
US6249878B1 (en) | Data storage system | |
JP4708669B2 (ja) | パス冗長化装置及び方法 | |
JPH1027070A (ja) | データバックアップシステム | |
JP3312652B2 (ja) | マルチプロセッサアーキテクチャでのデータベース管理方式 | |
KR100331042B1 (ko) | 통신시스템에서의 이중화 저장장치 | |
JPS5870495A (ja) | 多重化記憶装置の制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051117 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051117 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080404 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080507 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080602 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |