JPH0844681A - 複数の処理装置により共用される資源の集中管理 - Google Patents

複数の処理装置により共用される資源の集中管理

Info

Publication number
JPH0844681A
JPH0844681A JP7077593A JP7759395A JPH0844681A JP H0844681 A JPH0844681 A JP H0844681A JP 7077593 A JP7077593 A JP 7077593A JP 7759395 A JP7759395 A JP 7759395A JP H0844681 A JPH0844681 A JP H0844681A
Authority
JP
Japan
Prior art keywords
request
entry
age
resource
request queue
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
JP7077593A
Other languages
English (en)
Inventor
Rodney A Dekoning
エイ.デコニング ロドニー
Timothy E Hoglund
イー.ホグランド ティモシー
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.)
LSI Logic FSI Corp
Original Assignee
Symbios Logic Inc
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 Symbios Logic Inc filed Critical Symbios Logic Inc
Publication of JPH0844681A publication Critical patent/JPH0844681A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 複数のプロセッサが共通の資源に対するアク
セスおよび制御を共用する場合において、資源を効率よ
く共用し、デッドロック状態の発生を避ける。 【構成】 ディスクドライブユニットあるいはバスなど
の複数の資源に対するアクセスおよび制御を共用する複
数のプロセッサを含むコンピュータシステム用の資源割
付ロジック。資源割付ロジックはプロセッサから受信し
た要求の実行を調整し、効率の悪い資源の共用やデッド
ロック状態の発生を避けている。資源割付ロジックは各
プロセッサごとに「要求」キューを保持し、全ての要求
の速やかで公正な処理を図っている。要求キューには、
対応するプロセッサから受信した各要求に対応するエン
トリと、エントリに対応する要求によって要求されてい
る資源の識別名が入っている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスクアレイ式記憶
システムに関し、特に、アレイ内のディスクドライブへ
のアクセスを共用する複数のディスクアレイコントロー
ラの動作を管理する方法に関するものである。
【0002】
【従来の技術】近年パーソナルコンピュータやワークス
テーションに使用されている5.25インチや3.5イ
ンチのディスクドライブなどの小型で安いディスクドラ
イブを複数並行に接続して成るディスクアレイ式記憶装
置が、コンピュータシステムにおける情報を不揮発的に
格納する手段として広く使用されている。このディスク
アレイはホストシステムには単一の大型・高速ディスク
として認識されるが、単一の大型磁気ディスクに比べパ
フォーマンス、信頼性、電力消費量、スケーラビィティ
の点で優れた改良がなされている。
【0003】最も一般的なRAID(廉価ディスクの二
重化アレイ)ディスクアレイ式記憶システムは、データ
を記憶するためのいくつかのドライブと、パリティ情報
を格納するためのもう一つのディスクドライブを有す
る。従って、データあるいはパリティを格納するドライ
ブの内のいずれか一台のドライブが故障しても、失われ
たデータあるいはパリティ情報を再構築できる。読み出
し・書き込み、パリティ生成・パリティチェック、また
データ復元・データ再構築を行うにあたり複数のドライ
ブ間の動作を調整するために、多くのRAIDディスク
アレイ式記憶システムは専用のハードウェアコントロー
ラを有している。このコントローラによりホストシステ
ムがアレイ動作の管理をしなくてすむようにしている。
コントローラをもう一台追加、つまり、二重化ディスク
アレイコントローラ(RDAC)を設けることも可能
で、これにより、コントローラの故障によるデータに対
するアクセスの喪失の可能性を減少できる。
【0004】図1は二重化ディスクアレイコントローラ
11と13を包含するディスクアレイ式記憶システムの
ブロック図を示す。アレイコントローラはSCSIホス
トバス15を介してホストシステム17に接続されてい
る。同様に、アレイコントローラ13はSCSIホスト
バス19を介してホストシステム21に接続されてい
る。ホストシステム17と21は多重プロセッサ式コン
ピュータシステムにおける異なるプロセッサでもよい。
各アレイコントローラは、5本のSCSIバス51〜5
5を介して、10台のディスクドライブ31〜35と4
1〜45にアクセスする。バス51〜55の各々のバス
には2台のディスクドライブが存在する。ディスクアレ
イコントローラ11、13は次の構成のいずれかにより
動作する。 (1)アクティブRDACとパッシブRDAC アクティブRDACに指定された1台のアレイコントロ
ーラにより全てのアレイ動作が制御される。第二コント
ローラ、つまり、パッシブコントローラはホットスペア
として設けられており、第一コントローラが故障したと
きにアレイ動作の制御を行う。
【0005】(2)アクティブRDACとアクティブR
DAC − アレイドライブへの非同時アクセス1つの
コントローラが第一グループの共用資源(ディスクドラ
イブ、共用バス)に対して主たる責任を有し、第二グル
ープの資源に対しては待機を旨とする責任を有する。第
二コントローラは第二グループの資源に対して主たる責
任を有し、第一グループの資源に対しては待機を旨とす
る責任を有する。例えば、ディスクアレイコントローラ
11はディスクドライブ31〜35に対して主たる責任
を有し、ディスクアレイコントローラ13はディスクド
ライブ41〜45に対して主たる責任を有する。
【0006】(3)アクティブRDACとアクティブR
DAC − アレイドライブへの同時アクセス各アレイ
コントローラがアレイ内の全ての資源に対して同等のア
クセスおよび制御を行う。
【0007】
【発明が解決しようとする課題】しかし、各アレイコン
トローラに対して、共用資源に対するアクセスおよび制
御を同等とすると、効率の悪い資源の共用あるいはデッ
ドロックの発生をもたらす。例えば、あるモードの動作
では、アレイコントローラの一つがサブグループのチャ
ンネル資源を占有することを必要とする。必要な資源を
同時に処理することができないと、全ての資源が獲得で
きるまでそのコントローラによる妨害が発生する。複数
のコントローラがある環境においては、与えられたトラ
ンザクションに必要な資源の全てではなく一部しか獲得
できないと、効率の悪い資源の共用あるいは共用資源を
獲得する上でのデッドロックが発生したりする。
【0008】同様に、データの冗長性を生成する上でハ
ードウェア的な支援を提供するアレイコントローラは、
一度に2つ以上のドライブから同時にデータを転送する
ことを必要とする。それら複数のドライブまたはホスト
からデータを受け取ると、そのデータはRAIDを介し
てストライプ処理するASICに渡され、データの冗長
性情報を生成する。データの冗長性情報はコントローラ
のバッファに格納されるか、即座にドライブに渡されて
格納される。データは複数のデータ資源から同時にRA
IDを介してストライプ処理するASICに渡されるの
で、各コントローラは複数の選択されたドライブチャン
ネルに同時にアクセスする必要がある。従って、それら
ドライブチャンネルへのアクセスを調整する手段が存在
しないと、デッドロックが発生する可能性がある。
【0009】次に2つの例を挙げて、ディスクアレイコ
ントローラが2台ある環境におけるデッドロック状態に
ついて説明する。
【0010】[デッドロック例1]図1を参照して説明
する。ディスクアレイコントローラ11、13が5本の
SCSIバス51〜55とそれらのSCSIバスに接続
された10台のドライブを共用しているのが分かる。デ
ィスクアレイコントローラ11は入出力動作を実行して
ディスクドライブ31、33からデータを転送するよう
要求されたとする。これと同時に、ディスクアレイコン
トローラ13は入出力動作を実行してディスクドライブ
41、43からデータを転送するよう要求されたとす
る。両ディスクコントローラは、次のようにそれらのド
ライブにアクセスを試みる。
【0011】・アレイコントローラ11は、バス51と
ディスクドライブ31を獲得し、バス53とディスクド
ライブ33は獲得できない状態にある。
【0012】・アレイコントローラ13は、バス53と
ディスクドライブ43を獲得し、バス51とディスクド
ライブ41を獲得するための仲裁を継続する。
【0013】コントローラ11はSCSIバス51を使
用中とし、SCSIバス53(コントローラ13により
保有されている)上のディスクドライブ33が解放され
るのを待っている。コントローラ13はSCSIバス5
3を使用中とし、SCSIバス51(コントローラ11
により保有されている)上のディスクドライブ41が解
放されるのを待っている。
【0014】[デッドロック例2]複数のコントローラ
が同じホストバスに接続されているとデッドロックが発
生する可能性がある。これが発生するのはホストSCS
Iバス15とホストSCSIバス19が物理的に同じS
CSIバス(図2において符号27で示す)の場合であ
る。コントローラ11は、SCSIバス51上のディス
クドライブ31からホスト17へのデータの転送をする
ための入出力動作を実行するよう要求されているとす
る。これと同時に、コントローラ13は、SCSIバス
51上のディスクドライブ41からホスト21へのデー
タの転送をするための入出力動作を実行するよう要求さ
れているとする。両コントローラは必要とする資源への
アクセスを次のように同時に試みる。
【0015】・アレイコントローラ11は単一のホスト
SCSIバス(符号27で示す)を獲得し、SCSIバ
ス51とディスクドライブ31を獲得できない状態にあ
る。・アレイコントローラ13はSCSIバス51とデ
ィスクドライブ41を獲得し、ホストSCSIバス15
を獲得できない状態にある。
【0016】コントローラ11はホストSCSIバス2
7を使用中とし、ディスクドライブ31に接続するため
にSCSIバス51(コントローラ13により保有され
ている)へのアクセスができるようになるのを待ってい
る。コントローラ13はSCSIバス51を使用中とし
ており、ホストSCSIバス27(コントローラ11に
より保有されている)へのアクセスができるようになる
のを待っている。
【0017】効率の悪い資源の共用やデッドロック状態
の発生を避けるために、共通の資源に対するアクセスお
よび制御を共用する複数のコントローラの動作を調整す
る方法および構造が必要である。
【0018】本発明の目的は、従って、共通の資源に対
するアクセスおよび制御を共用する複数のコントローラ
の動作を調整する新しい有用な方法を提供することであ
る。本発明の別の目的は、共用資源を有するシステムに
おいて発生する効率の悪い資源の共用やデッドロック状
態の発生を減らしたりあるいは避けるための方法および
構造を提供することである。
【0019】本発明の別の目的は、複数のアクティブア
レイコントローラを包含する新しい有用なディスクアレ
イ式記憶システムを提供することである。
【0020】本発明の別の目的は、ディスクアレイ内に
おいて共通の資源に対するアクセスおよび制御を共用す
る複数のコントローラの動作を調整する方法を提供する
ことである。
【0021】本発明の更に別の目的は、複数のアクティ
ブコントローラを包含するディスクアレイシステムにお
いて、コントロール間の競合を避けるための新しい有用
な方法を提供することである。
【0022】
【課題を解決するための手段】本発明の方法は、効率の
悪い資源の共用やデッドロック状態の発生を避けるため
に、コンピュータシステム内の共通の資源に対するアク
セスおよび制御を共用する複数の要求元から受信した要
求の実行を調整することを特徴とする。本方法は次のス
テップを包含する。(A)「要求」キューを確立するス
テップ、ここで前記要求キューは要求元から受信した各
要求に対応するエントリを包含し、各エントリは前記エ
ントリに対応する要求により要求された資源の識別名を
包含する。(B)「利用可能資源」ステータスアレイを
保持するステップ、ここで前記利用可能資源ステータス
アレイは、現在どの要求元によっても使用されておら
ず、また、現在どの要求元によっても将来における使用
を予約されていない各資源ごとのエントリを包含する。
(C)前記要求キュー内の各エントリを前記利用可能資
源ステータスアレイ内のエントリと順次比較し、前記要
求キュー内のエントリであって、前記利用可能資源ステ
ータスアレイ内に入っている全ての資源を識別するエン
トリを検出するステップ。(D)ステップCで検出され
た前記エントリと関連する資源に対する制御を、ステッ
プCで検出されたエントリに対応する要求を出している
要求元に与えるステップ。(E)ステップCで識別され
たエントリに対応する要求を実行するステップ。
【0023】本発明の方法はディスクアレイサブシステ
ムに組み込まれており、このサブシステムは、ディスク
アレイ内の複数のディスクドライブ、制御バス、アドレ
スバス、データバスに対するアクセスおよび制御を共用
する複数のアレイコントローラを包含する。
【0024】
【作用】本発明の方法では、処理を許可された要求に関
連する資源は、その要求が実行されている間、利用可能
資源ステータスアレイから削除される。処理を許可され
た要求の実行が完了したら、それらの資源は再び利用可
能資源ステータスアレイに戻され、他の資源要求での利
用が可能となる。
【0025】また、ホストコンピュータシステムから受
信した入出力要求のエントリが入っている要求キューが
各アレイコントローラごとに保持されており、各要求キ
ュー内のエントリを交互に調べ、利用可能資源ステータ
スアレイ内に入っている全ての資源を識別するいずれか
の要求キュー内のエントリを検出する。更に、各要求キ
ューには他の要求キューに対する各要求キューの相対的
なエージを示すリストエージが入っており、また、要求
キュー内の各エントリには同じ要求キュー内の他のエン
トリに対する各エントリの相対的なエージを示す要求エ
ージが入っており、どの入出力要求を実行するかを識別
するために要求キューを調べる場合、要求キューおよび
要求キューのエントリの相対エージに基づいて優先順位
を各エントリにつける。
【0026】
【実施例】本発明の好適な実施例に係る2台のアクティ
ブコントローラを包含するディスクアレイシステムをブ
ロック図の形で図3に示す。図1のディスクアレイシス
テムのブロック図で示す構造に加え、図3のシステムは
アレイコントローラ11、13間を接続する専用通信リ
ンク57、およびそれらコントローラの各々に組み込ま
れている特定用途向けICであるコントローラ間通信チ
ップ(それぞれ符号61、63で示す)を包含する。
【0027】通信リンク57とコントローラ間通信チッ
プは2台のディスクアレイコントローラ間の通信、資源
利用に関する調停および資源の割り付けを行う。
【0028】[コントローラ間通信チップ]図3に示す
ディスクアレイシステムに包含された2台のアクティブ
アレイコントローラ11、13の各々に組み込まれてい
るコントローラ間通信チップのブロック図を図4に示
す。コントローラ間通信チップ(以後ICONチップと
呼ぶ)は、2台のディスクアレイコントローラ間の高速
シリアル通信および資源利用に関する調停・資源割付を
実行すのに必要な機能を全て有する。ディスクアレイシ
ステムにおいてICONチップを用いる主たる目的は二
重化ディスクアレイコントローラを利用することにあ
る。二重化コントローラ構成は2台のコントローラ間で
資源(ディスクドライブやSCSIバス)を共用するの
で、デッドロックを防止したりシステムパフォーマンス
を最大にするために、これら共通資源の利用を調停する
方法が必要となる。ICONチップは、デッドロックを
防止したりシステムパフォーマンスを最大にする資源割
付アルゴリズムをハードウェア的に実現している。資源
利用に関する調停・割付の実行に加え、ICONチップ
はまたディスクアレイコントローラ間での総称的複数バ
イトのメッセージの送受信手段も提供する。ICONチ
ップは次のロジックモジュールを包含する。
【0029】[マイクロプロセッサインターフェイスコ
ントロールロジック100]本マイクロプロセッサイン
ターフェイスブロックを介して外部マイクロプロセッサ
はICONチップの状態を構成したりモニタしたりでき
る。構成情報やステータス情報はICONチップ内のレ
ジスタに保持されている。構成、制御、およびステータ
スの各レジスタは、広範囲にわたる機能性および診断動
作をオペレーティングソフトウェアに提供するようにな
っている。割込マスキングや制御もこの機能ブロックに
包含されている。
【0030】[コントローラ間通信ロジック200]本
コントローラ間通信ブロックにはコントローラ間通信イ
ンターフェイスを実現するのに必要な構造およびロジッ
クが全て入っている。本ブロックには次のような構造お
よびロジックが包含されている:送信状態シーケンサ2
01、受信状態シーケンサ203、メッセージ送信バッ
ファ205、メッセージ受信バッファ207、ステータ
ス送信レジスタ209、ステータス受信バッファ21
1。これらのモジュールは協調して動作し、2つ独立し
た単方向通信チャンネルを形成する。データパケットの
直列化・非直列化は送信状態シーケンサ201、受信状
態シーケンサ203モジュールで行われる。送信状態シ
ーケンサからのシリアルデータ出力は受信状態シーケン
サモジュールに供給され、完全な診断データが出力され
る。
【0031】コントロール間通信ブロックは、2台のデ
ィスクアレイコントローラ間での総称的なメッセージお
よびステータスの送信、または、特定の資源要求・資源
付与・資源解放メッセージの送信を行うのに使用する。
【0032】対をなすICONチップ間の通信には6種
類の信号を使用する。これらの信号を次に定義する。
【0033】 [資源割付ロジック300]本資源割付ブロックには、
2台のディスクアレイコントローラ(マスタおよびスレ
ーブディスクアレイコントローラと呼ぶ)間で最大8個
の共用資源を管理するのに必要な全ての構造およびロジ
ックが入っている。これらの構造およびロジックは資源
アロケータ301、2組の資源解放FIFO(マスタ/
スレーブ)307、309、2組の資源付与済みFIF
O(マスタ/スレーブ)311、313、割付済み資源
ブロック315と利用可能資源ブロック317から成る
スコアボードを包含する。
【0034】本ブロックの主要要素は資源アロケータ3
01である。本ブロックはインテリジェント資源割付ア
ルゴリズムをハードウェア的に実現している。本ブロッ
クにおけるその他のデータ構造は全て資源アロケータに
より直接制御およびモニタされている。マスタコントロ
ーラのICONチップにある資源アロケータは、資源要
求リスト、資源解放FIFO、資源スコアボードの状態
を常にモニタしており、どちらのコントローラへどのよ
うにして、また、いつ資源を割り付けるかを判断する。
スレーブコントローラのICONチップある資源アロケ
ータは診断試験中以外は作動していない。
【0035】[コントローラ機能ロジック400]本コ
ントローラ機能ロジックは、ディスクアレイコントロー
ラの設計上の集積レベルを高めるために、いくつかの基
板レベルのロジック機能を提供する。
【0036】[通信リンクとプロトコル]本発明は単純
な通信リンクとプロトコルを資源を共用する装置間に確
立し、また、共用される資源の管理に使用されるユニー
クな調停アルゴリズムを提供する。
【0037】通信リンクとプロトコルは資源アービタ
へ、または、資源アービタから資源の要求、付与、解放
を行うために使用される。プロトコルを確立するには、
資源を共用する装置間で1台のマスタ装置と1台もしく
は複数のスレーブ装置をどれにするか決める必要があ
る。マスタとスレーブを区別するのは、単にアクティブ
な資源割付ロジック300を見つけるのに必要なだけで
ある。各コントローラは資源割付ロジックを包含する
が、このロジックはマスタコントローラにおいてのみア
クティブとなる。以下の説明において、言及された資源
割付ロジック300とその構成要素は、アクティブな資
源割付ロジックとその構成要素のことである。システム
動作については、マスタ装置とスレーブ装置はピアツー
ピアの関係を保持する。
【0038】マスタ装置における資源アロケータ301
はアクティブとなる。装置は与えられた動作に必要な資
源のリストをコンパイルして資源要求を生成する。その
資源要求は次に資源割付ロジック300に渡される。資
源割付ロジック300はシステム内の各装置ごとの要求
リストを保持しており、全ての要求にすばやくまた公平
に応えるようにしている。割付ロジックがある特定の要
求を満足できる状態になると、要求元の装置に対して要
求されている資源を付与する旨通知する。資源要求を承
諾された装置は、その装置が解放するまで、付与された
資源にアクセスし続ける。資源の解放は解放メッセージ
を資源アロケータに送信することによって行われ、解放
された資源は他の資源要求による使用に供される。
【0039】スレーブ装置が関係する全ての資源要求・
資源付与・資源解放は、マスタ装置(アクティブな資源
割付ロジックが存在する)とスレーブ装置間で上述のイ
ンターフェイスを介して装置間メッセージ(メッセージ
タイプとデータフィールドを含む)を送信することによ
り行われる。マスタ装置のみが関係する全ての資源要求
・資源付与・資源解放は、マスタ装置内においてのみ行
われる。
【0040】[共用資源管理アルゴリズム]任意に指定
されたマスタ装置にある資源割当ロジック300は、任
意の台数の装置間で使用する任意の数量の共用資源を管
理するための資源割当アルゴリズムと関連するデータ構
造を包含する。資源を共用するためのデータ構造とアル
ゴリズムについて次に説明する。
【0041】[データ構造]共用資源の管理を必要とす
る各装置のために、任意の深さの要求キュー、つまり、
資源キューのリストがマスタ装置により保持されている
(マスタ要求リスト303およびスレーブ要求リスト3
05)。2つのカウント値、リストエージ(他の要求キ
ューに対するある装置の要求キューの相対的なエージを
示す)および要求エージ(単一の装置の要求キュー内の
最も古いエントリの同じ要求キュー内の他のエントリに
対する相対的なエージを示す)が、装置の要求キューの
各々と関連付けられている。装置の要求キューのそれぞ
れと関連付けられているカウント値に加え、2つのブー
ルフラグも保持されている。これらのブールフラグは要
求停滞フラグとリスト停滞フラグである。要求停滞が真
の場合、これは装置の最も古い資源要求の相対エージが
プログラム可能なしきい値を超えたことを示している。
リスト停滞が真の場合、これは他の装置の要求キューに
対するある装置の要求キューの相対エージがプログラム
可能なしきい値を超えたことを示している。停滞(要求
またはリスト)は全ての装置間で相互排除となる。つま
り、ある与えられた時点では1台の装置しか停滞状態に
ならない。
【0042】マスタ装置もまた「利用可能資源」と「予
約済み資源」を追跡することによって資源割付および資
源予約の現在の状態を保持する。「利用可能資源」は、
どの資源がどの装置からも現在使用されてないか、ま
た、将来の割付用として現在予約されてないかを資源割
付アルゴリズムに示している。「利用可能資源」構造
(利用可能資源ブロック317)に入っている資源は、
従って、どれも割付可能である。「予約済み資源」は、
装置の内の1台が停滞状態(要求停滞またはリスト停滞
が真)に入ったのことによりどの資源が将来の割付用に
予約されたかを資源割付アルゴリズムに示す。ある装置
が停滞状態に入ると、停滞要求に含まれている資源は、
「利用可能資源」構造から即座に削除されるか、あるい
は、現在割り付けられている資源については、それらの
資源が解放されるか資源プールに戻された時点で、「予
約済み資源」構造(予約済み資源ブロック315)に入
れられる。停滞(要求またはリスト)は全ての装置間で
相互排除となる。つまり、ある与えられた時点では1台
の装置しか停滞状態にならない。資源割付アルゴリズム
により使用された最後の2つのデータ構造は、現在選択
されている装置(総称的にTURNおよびLISTSE
LECTと名づけられており、その資源要求キューを探
索させて利用可能な資源と一致する資源がないか捜させ
ている装置)を指すポインタである。
【0043】[アルゴリズム]資源割付の公平さは以上
に定義したデータ構造を用いて提供される。上述のよう
に、要求停滞フラグは、資源要求を承諾する場合、単一
の装置内での公平さを確実にするために使用される。例
えば、資源をランダムに利用可能な場合を考えてみる。
この場合、問題を検出・訂正するメカニズムが存在して
ないと、ほとんどの資源を2個づつのグループで要求す
る装置は、同じ資源プールから5資源づつのグループで
資源を要求するその装置自身の要求が処理を渇望する事
態をもたらす。要求エージ数と関連するしきい値を用い
ることにより、単一の装置内の資源要求が処理待ちを渇
望したり、また、無期限に処理されないままになるとい
うことはなくなる。
【0044】リスト停滞フラグは、資源要求を承諾する
場合、装置間での公平さを確実にするために使用され
る。例えば、資源を2個づつのグループで要求する装置
は、同じ資源プールから5資源づつのグループで資源を
要求するそのシステム内の他の装置が処理を渇望する事
態をもたらす。リストエージ数と関連するしきい値を用
いることにより、全ての装置の要求が公平に処理され、
また、ある特定の装置が資源要求を渇望するという事態
を避けられる。
【0045】資源割付アルゴリズムについて2つの動作
モードが定義されている。それらは通常モードと停滞モ
ードである。通常動作モードでは、どの装置も停滞状態
に入ることはなく、アルゴリズムはTURNポインタを
ラウンドロビン方式で使用する。これにより、装置の要
求キューのそれぞれを順次調査し、付与可能(資源の利
用可能性に基づく)な資源を付与する。資源の付与にあ
たっては、要求エントリの相対エージに基づいた装置の
要求キュー内の優先順位に従う。停滞モードに遷移する
と(装置が停滞状態に入る)、TURNポインタは停滞
装置に設定され、資源割付アルゴリズムは停滞状態をも
たらした要求の承諾を優先する。具体的には、停滞要求
に包含されている資源を予約し、他の装置がこれらの資
源を付与されることがないようにする。TURNポイン
タは停滞装置に対して有効に働いたままであるが、他の
装置の要求キューや停滞装置の要求キュー内の他のエン
トリは、現在どの資源が利用可能か、また、予約されて
いるかを二次リストポインタ(LISTSELECT)
を用いて調べながら、一致する資源の探索を継続する。
【0046】実際の資源付与動作は、付与された資源を
「利用可能資源」構造から削除する動作、「予約済み資
源」構造のクリア動作(資源付与が停滞要求に対してな
された場合)を含む。資源解放動作は単に「利用可能資
源」構造を更新することによってなされる。
【0047】[特定の資源アルゴリズムの実現]次に示
すのは、以下のような特性を有するマスタ装置と単一の
スレーブ装置の場合について実現した「C」プログラミ
ング言語を用いたアルゴリズムである。 ・両装置の資源要求キュー深さ=4 ・両装置間で共用する資源数=8 先に述べたように、装置数、共用資源数、キュー深さは
全く任意である。このアルゴリズムの有する機能性は資
源を共用する装置であってマスタと指定された装置にお
いて実現される。記述は、承諾する処理要求を捜すのに
使用する任意のコントローラからの処理ポーリングにつ
いてである。解放動作は、単に、解放する資源を利用可
能チャンネル変数に割り付けることにより行われる。
【0048】この実現例では「C」プログラミング言語
を使用しているが、任意の形式で実現できる。換言すれ
ば、他のプログラミング言語を使用したり、ステートマ
シンによるハードウエア的実現等も可能である。
【0049】
【表1】
【表2】
【表3】
【表4】
【表5】
【表6】 上記のアルゴリズムで使用した用語の説明・定義を以下
に示す。
【0050】service_loops(処理ループ
数) −− 任意のある一時点において未処理のままに
しておける要求の数。
【0051】master_request_stag
nation(マスタ要求の停滞)−− マスタICO
NチップがマスタICONの要求を処理しないでスレー
ブICONの要求ばかりを処理しすぎた場合に入る状
態。(ICON間公正パラメータ) master_list_stagnation(マス
タリストの停滞) −− マスタICONの要求リスト
上の要求のエージが、マスタICONの要求キューにお
いて処理されている他の要求に相関させて構成可能なし
きい値を超えた場合に入る状態。(これはICON間の
リスト要求の公正を図るのに使用される。これにより、
たくさんの資源を必要とする要求は、少ない資源しか必
要としないたくさんの要求の後に待機しているので、マ
スタICONのリスト内での処理の渇望が発生するのを
確実に避けている。) slave_request_stagnation
(スレーブ要求の停滞)−− マスタICONチップが
スレーブICONの要求を処理しないでマスタICON
の要求ばかりを処理しすぎた場合に入る状態。(ICO
N間公正パラメータ) slave_list_stagnation(スレー
ブリストの停滞) −− スレーブICONの要求リス
ト上の要求のエージが、スレーブICONの要求キュー
において処理されている他の要求に相関させて構成可能
なしきい値を超えた場合に入る状態。(これはICON
間のリスト要求の公正を図るのに使用される。これによ
り、たくさんの資源を必要とする要求は、少ない資源し
か必要としないたくさんの要求の後に待機しているの
で、スレーブICONのリスト内での処理の渇望が発生
するのを確実に避けている。) last_serviced(前回処理) −− 最近
受けた処理サービスが最も少ないコントローラに対して
処理サービスを提供する上での公正さを提供するメカニ
ズム。
【0052】turn(番) −− 要求を処理すると
き最初にどのリストを見るかを示す。
【0053】master_list_age(マスタ
リストエージ) −− スレーブのリストからの要求の
うち処理された要求の数と比較した時のマスタ用の要求
リストの相対エージ。スレーブからの要求のいくつかが
処理された後、最悪の場合でもマスタは処理サービスを
受けることを保証するのに使用される。マスタリストエ
ージがしきい値を超えると、master_reque
st_stagnation状態に入る。
【0054】master_request_age
(マスタ要求エージ) −− マスタのリストからの要
求のうち処理された要求の数と比較した時のマスタリス
トの最も古いメンバの相対エージ。マスタリスト内のい
くつか他の要求が処理された後、最悪の場合でもマスタ
リストにおける最も古い要求は処理されることを保証す
るのに使用される。マスタ要求エージがしきい値を超え
ると、master_list_stagnation
状態に入る。
【0055】slave_list_age(スレーブ
リストエージ) −− マスタのリストからの要求のう
ち処理された要求の数と比較した時のスレーブ用の要求
リストの相対エージ。マスタからの要求のいくつかが処
理された後、最悪の場合でもスレーブは処理サービスを
受けることを保証するのに使用される。スレーブリスト
エージがしきい値を超えると、slave_reque
st_stagnation状態に入る。
【0056】slave_request_age(ス
レーブ要求エージ) −− スレーブのリストからの要
求のうち処理された要求の数と比較した時のスレーブリ
ストの最も古いメンバの相対エージ。スレーブリスト内
のいくつか他の要求が処理された後、最悪の場合でもス
レーブリストにおける最も古い要求は処理されることを
保証するのに使用される。スレーブ要求エージがしきい
値を超えると、slave_list_stagnat
ion状態に入る。
【0057】上記のアルゴリズムと本発明に関する先の
説明は、アレイ内のディスクドライブユニット、バス、
およびその他の資源へのアクセスを共用する複数のディ
スクアレイコントローラの動作を管理する方法を示すも
のであることは、当業者には容易に理解できるものであ
る。
【0058】本発明の好適な実施例について説明した
が、添付した「特許請求の範囲」の範囲内で各種変更を
加えてもよいことは理解できるであろう。
【0059】
【発明の効果】以上、説明したように、本発明によれ
ば、複数のコントローラが共通の資源に対するアクセス
および制御を共用する場合、資源を効率よく共用でき、
また、デッドロック状態の発生を避けることができる。
【図面の簡単な説明】
【図1】 2本のSCSIホストバス、2台のディスク
アレイコントローラ、およびこれら2台のコントローラ
により共用された5本のSCSIバスを介してアクセス
される10台のディスクドライブを包含するディスクア
レイシステムを表すブロック図である。
【図2】 共通のSCSIホストバスに接続された2台
のディスクアレイコントローラ、およびこれら2台のコ
ントローラにより共用された5本のSCSIバスを介し
てアクセスされる10台のディスクドライブを包含する
ディスクアレイシステムを表すブロック図である。
【図3】 2台の活動ディスクアレイコントローラと、
これらコントローラ間の通信を行ったり資源利用に関す
る調停および資源の割り付けを行うためのそれらコント
ローラ間の通信リンクとを包含するディスクアレイシス
テムを表すブロック図である。
【図4】 図3の各ディスクアレイコントローラに組み
込まれ、これら2台の活動ディスクアレイコントローラ
間の通信を行ったり資源利用に関する調停および資源割
り付けを行うASIC(特定用途向け集積回路)である
ICON(コントローラ間通信チップ)のブロック図で
ある。
【符号の説明】

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 複数の要求元と複数の資源を包含し、前
    記要求元は前記資源に対するアクセスおよび制御を共用
    するコンピュータシステムにおいて、効率の悪い資源の
    共用やデッドロック状態の発生を避けるために、要求元
    から受信した入出力要求の実行を調整する方法であっ
    て、 (A)前記要求元から受信した各入出力要求に対応し、
    各々が該入出力要求により要求された資源の識別名を包
    含するエントリを有してなる要求キューを確立するステ
    ップと、 (B)現在どの要求元によっても使用されておらず、ま
    た、現在どの要求元によっても将来における使用を予約
    されていないような各資源ごとのエントリを包含する利
    用可能資源ステータスアレイを保持するステップと、 (C)前記要求キュー内の各エントリを前記利用可能資
    源ステータスアレイ内のエントリと順次比較し、前記利
    用可能資源ステータスアレイ内に入っている全ての資源
    を識別する前記要求キュー内のエントリを検出するステ
    ップと、 (D)ステップCで検出された前記エントリと関連する
    資源に対する制御を、ステップCで検出されたエントリ
    に対応する入出力要求を出している要求元に与えるステ
    ップと、 (E)ステップCで識別されたエントリに対応する入出
    力要求を実行するステップ、とから成ることを特徴とす
    る入出力要求の実行を調整する方法。
  2. 【請求項2】 請求項1に記載の入出力要求の実行を調
    整する方法であって、ステップCが完了したらステップ
    Cで検出された前記エントリに関連する各資源について
    のエントリを前記利用可能資源ステータスアレイから削
    除するステップを更に有して成る入出力要求の実行を調
    整する方法。
  3. 【請求項3】 請求項2に記載の入出力要求の実行を調
    整する方法であって、ステップEが完了したらステップ
    Cで検出された前記エントリに関連する各資源について
    のエントリを前記利用可能資源ステータスアレイに戻す
    ステップを更に有して成る入出力要求の実行を調整する
    方法。
  4. 【請求項4】 請求項1に記載の入出力要求の実行を調
    整する方法であって、前記要求キューの各エントリが、
    要求キューの各エントリの要求キューの他のエントリに
    対する相対エージを示す要求エージを包含し、該相対エ
    ージに基づいて要求キューのエントリに優先順位を付与
    するステップを更に有して成ることを特徴とする入出力
    要求の実行を調整する方法。
  5. 【請求項5】 請求項1に記載の入出力要求の実行を調
    整する方法であって、 前記資源はディスクアレイ内のディスクドライブを包含
    し、 前記要求元は前記ディスクドライブに対するアクセスお
    よび制御を共用するディスクアレイコントローラから成
    ることを特徴とする入出力要求の実行を調整する方法。
  6. 【請求項6】 請求項1に記載の入出力要求の実行を調
    整する方法であって、 前記資源は前記コンピュータシステム内のバスを包含す
    ることを特徴とする入出力要求の実行を調整する方法。
  7. 【請求項7】 請求項1に記載の入出力要求の実行を調
    整する方法であって、 前記要求キュー内の各エントリが、要求キューの各エン
    トリの要求キューの他のエントリに対する相対エージを
    示す要求エージを更に包含し、 所定の要求エージ値を超える要求エージを有する任意の
    エントリを識別するために前記要求エージを調査するス
    テップと、 前記所定の要求エージ値を超える要求エージを有する前
    記エントリに関連する各資源についてのエントリを前記
    利用可能資源ステータスアレイから削除して、前記所定
    の要求エージ値を超える要求エージを有するエントリに
    関連する要求元および要求で使用する資源を予約するス
    テップとを更に有して成ることを特徴とする入出力要求
    の実行を調整する方法。
  8. 【請求項8】 請求項1に記載の入出力要求の実行を調
    整する方法であって、 前記コンピュータシステムにおける各要求元ごとに要求
    キューが保持され、前記要求キュー内の各エントリを前
    記利用可能資源ステータスアレイ内のエントリと順次比
    較する前記ステップは、各要求キュー内のエントリを交
    互に調べ、前記利用可能資源ステータスアレイ内に入っ
    ている全ての資源を識別する前記要求キュー内のエント
    リを検出するステップを包含することを特徴とする入出
    力要求の実行を調整する方法。
  9. 【請求項9】 請求項1に記載の入出力要求の実行を調
    整する方法であって、 前記要求元は前記コンピュータシステムにおけるディス
    クアレイサブシステム内のディスクアレイコントローラ
    であり、 前記資源は前記ディスクアレイサブシステム内のディス
    クドライブおよびバスであることを特徴とする入出力要
    求の実行を調整する方法。
  10. 【請求項10】 第1および第2ディスクアレイコント
    ローラと、前記プロセッサ各々の制御下にある複数のデ
    ィスクドライブおよびバスを包含するディスクアレイシ
    ステムにおいて前記プロセッサの動作を調整し、入出力
    要求の実行を調整する方法であって、 (A)前記ディスクアレイシステムによって受信された
    入出力要求に対応し、各々が該入出力要求により要求さ
    れたディスクドライブとバスの識別名を包含するエント
    リを有してなる要求キューを各ディスクアレイコントロ
    ーラごとに確立するステップと、 (B)現在どのディスクアレイコントローラによっても
    使用されておらず、また、現在どのディスクアレイコン
    トローラによっても将来における使用を予約されていな
    いディスクドライブおよびバスごとのエントリを包含す
    る利用可能資源ステータスアレイを保持するステップ
    と、 (C)前記要求キュー内の各エントリを前記利用可能資
    源ステータスアレイ内のエントリと順次比較し、前記利
    用可能資源ステータスアレイ内に入っている全ての資源
    を識別する前記要求キュー内のエントリを検出するステ
    ップと、 (D)ステップCで検出された前記エントリと関連する
    ディスクドライブおよびバスに対する制御を、ステップ
    Cで検出されたエントリに対応する要求キューと関連す
    るディスクアレイコントローラに与えるステップと、 (E)ステップCで識別されたエントリに対応する入出
    力要求を実行するステップとから成ることを特徴とする
    入出力要求の実行を調整する方法。
  11. 【請求項11】 請求項10に記載の入出力要求の実行
    を調整する方法であって、 前記要求キュー内の各エントリが、前記要求キューの各
    エントリの要求キューの他のエントリに対する相対エー
    ジを示す要求エージを更に包含し、 所定の要求エージ値を超える要求エージを有する任意の
    エントリを識別するために前記要求エージを調査するス
    テップと、 前記所定の要求エージ値を超える要求エージを有する前
    記エントリに関連する各資源についてのエントリを前記
    利用可能資源ステータスアレイから削除して、前記所定
    の要求エージ値を超える要求エージを有するエントリに
    関連するディスクアレイコントローラおよび入出力要求
    で使用するディスクドライブを予約するステップとを更
    に有して成ることを特徴とする入出力要求の実行を調整
    する方法。
  12. 【請求項12】 請求項10に記載の入出力要求の実行
    を調整する方法であって、 前記要求キュー内の各エントリを前記利用可能資源ステ
    ータスアレイ内のエントリと順次比較する前記ステップ
    は、各要求キュー内のエントリを交互に調べ、前記利用
    可能資源ステータスアレイ内に入っている全ての資源を
    識別する前記要求キュー内のエントリを検出するステッ
    プを包含することを特徴とする入出力要求の実行を調整
    する方法。
  13. 【請求項13】 請求項10に記載の入出力要求の実行
    を調整する方法であって、 各要求キューは、更に、要求キューにおける最も古いエ
    ントリのエージを示すリストエージを含み、 前記要求キュー内の各エントリを前記利用可能資源ステ
    ータスアレイ内のエントリと順次比較する前記ステップ
    は、所定のリストエージ値を超えるリストエージを有す
    る任意の要求キューを識別するために前記リストエージ
    を調査するステップと、 要求キューが前記所定のリストエージを超えるリストエ
    ージを有すると識別された場合、要求キューのリストエ
    ージが前記所定のリストエージ値より小さくなるまで、
    前記所定のリストエージを超えるリストエージを有する
    と識別された要求キュー内のエントリを順次比較するス
    テップとを包含することを特徴とする入出力要求の実行
    を調整する方法。
JP7077593A 1994-04-04 1995-04-03 複数の処理装置により共用される資源の集中管理 Pending JPH0844681A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22340594A 1994-04-04 1994-04-04
US08/223,405 1994-04-04

Publications (1)

Publication Number Publication Date
JPH0844681A true JPH0844681A (ja) 1996-02-16

Family

ID=22836356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7077593A Pending JPH0844681A (ja) 1994-04-04 1995-04-03 複数の処理装置により共用される資源の集中管理

Country Status (4)

Country Link
US (1) US6009275A (ja)
EP (2) EP1016957B1 (ja)
JP (1) JPH0844681A (ja)
DE (1) DE69521549T2 (ja)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2769105B1 (fr) * 1997-09-30 1999-10-29 Bull Sa Dispositif et procede de prise en compte de l'execution d'une tache sur un systeme informatique
US6154787A (en) * 1998-01-21 2000-11-28 Unisys Corporation Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed
GB2336273B (en) * 1998-01-30 2003-05-21 * Sgs-Thomson Microelectronics Limited A system for accessing resources
GB2336274B (en) * 1998-01-30 2003-05-21 Sgs Thomson Microelectronics A hierarchical system for accessing resources
US6430618B1 (en) * 1998-03-13 2002-08-06 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US6553420B1 (en) 1998-03-13 2003-04-22 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
AU4334099A (en) 1998-06-05 1999-12-20 Mylex Corporation Apparatus, system and method for n-way raid controller
US6240476B1 (en) * 1998-08-21 2001-05-29 International Business Machines Corporation Dynamic allocation of bus master control lines to peripheral devices
US6332171B1 (en) * 1999-02-19 2001-12-18 International Business Machines Corporation Self-contained queues with associated control information for receipt and transfer of incoming and outgoing data using a queued direct input-output device
US6976083B1 (en) 1999-02-19 2005-12-13 International Business Machines Corporation Apparatus for providing direct data processing access using a queued direct input-output device
US6901456B1 (en) * 1999-06-18 2005-05-31 Lsi Logic Corporation Method and system for SCSI host bus interconnection
US6453376B1 (en) * 1999-10-21 2002-09-17 Sony Corporation Method for implementing scheduling mechanisms with selectable resource modes
JP2001318897A (ja) * 2000-05-02 2001-11-16 Nec Corp ユーザ認証方法、これに用いるネットワークシステム、及びその制御プログラムを記録した記録媒体
WO2001098952A2 (en) * 2000-06-20 2001-12-27 Orbidex System and method of storing data to a recording medium
GB2367913A (en) * 2000-09-16 2002-04-17 Motorola Inc Processor resource scheduler
US6625709B2 (en) * 2000-10-30 2003-09-23 Microsoft Corporation Fair share dynamic resource allocation scheme with a safety buffer
US7124224B2 (en) * 2000-12-22 2006-10-17 Intel Corporation Method and apparatus for shared resource management in a multiprocessing system
ES2185496B1 (es) * 2001-07-17 2005-06-01 Universidad Politecnica De Valencia Equipo y metodo en linea para la deteccion, determinacion de la evolucion y cuantificacion de biomasa microbiana y otras sustancias que absorben a lo largo del espectro de luz durante el desarrollo de procesos biotecnologicos.
GB0118294D0 (en) * 2001-07-27 2001-09-19 Ibm Method and system for deadlock detection and avoidance
US7146448B2 (en) * 2001-09-28 2006-12-05 Dot Hill Systems Corporation Apparatus and method for adopting an orphan I/O port in a redundant storage controller
US7315911B2 (en) * 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US7536495B2 (en) * 2001-09-28 2009-05-19 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
US7340555B2 (en) 2001-09-28 2008-03-04 Dot Hill Systems Corporation RAID system for performing efficient mirrored posted-write operations
US20030154271A1 (en) * 2001-10-05 2003-08-14 Baldwin Duane Mark Storage area network methods and apparatus with centralized management
US6848020B2 (en) 2001-11-27 2005-01-25 International Business Machines Corporation Command aging method for data storage devices
US7346135B1 (en) 2002-02-13 2008-03-18 Marvell International, Ltd. Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks
US7085764B2 (en) * 2002-05-13 2006-08-01 International Business Machines Corporation System, method and program product for centrally managing agents
US6898600B2 (en) * 2002-05-16 2005-05-24 International Business Machines Corporation Method, system, and program for managing database operations
US7865547B2 (en) * 2002-09-12 2011-01-04 Siemens Enterprise Communications, Inc. System and method for accessing busy IP network resources
US7263153B2 (en) 2002-10-09 2007-08-28 Marvell International, Ltd. Clock offset compensator
US7319705B1 (en) 2002-10-22 2008-01-15 Marvell International Ltd. Programmable pre-emphasis circuit for serial ATA
US7895328B2 (en) * 2002-12-13 2011-02-22 International Business Machines Corporation System and method for context-based serialization of messages in a parallel execution environment
US7246192B1 (en) 2003-01-10 2007-07-17 Marvell International Ltd. Serial/parallel ATA controller and converter
US7698483B2 (en) 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US7493416B2 (en) * 2003-01-21 2009-02-17 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US8032659B2 (en) 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7917658B2 (en) 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US7174413B2 (en) 2003-01-21 2007-02-06 Nextio Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7953074B2 (en) 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7617333B2 (en) 2003-01-21 2009-11-10 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7188209B2 (en) * 2003-04-18 2007-03-06 Nextio, Inc. Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets
US7502370B2 (en) 2003-01-21 2009-03-10 Nextio Inc. Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture
US7219183B2 (en) * 2003-01-21 2007-05-15 Nextio, Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7046668B2 (en) 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US7457906B2 (en) * 2003-01-21 2008-11-25 Nextio, Inc. Method and apparatus for shared I/O in a load/store fabric
US7103064B2 (en) 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US8102843B2 (en) 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US8346884B2 (en) 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7664909B2 (en) 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US7512717B2 (en) * 2003-01-21 2009-03-31 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7836211B2 (en) 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
US7134125B2 (en) * 2003-02-07 2006-11-07 Intel Corporation Method for firmware to provide seamless regulation of system resources and extend additional configuration methods for system resource management
US6941396B1 (en) * 2003-02-19 2005-09-06 Istor Networks, Inc. Storage controller redundancy using bi-directional reflective memory channel
US7236987B1 (en) 2003-02-28 2007-06-26 Sun Microsystems Inc. Systems and methods for providing a storage virtualization environment
US7430568B1 (en) 2003-02-28 2008-09-30 Sun Microsystems, Inc. Systems and methods for providing snapshot capabilities in a storage virtualization environment
US7383381B1 (en) 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US7290168B1 (en) 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US8930583B1 (en) 2003-09-18 2015-01-06 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for controlling data transfer in a serial-ATA system
CN1306407C (zh) * 2003-09-30 2007-03-21 国际商业机器公司 为动态提供而自主地自学习资源选择的方法和系统
US7512948B2 (en) * 2003-11-20 2009-03-31 International Business Machines Corporation Method, system, and program for managing operation requests using different resources
US8584129B1 (en) * 2004-02-20 2013-11-12 Oracle America, Inc. Dispenser determines responses to resource requests for a single respective one of consumable resource using resource management policy
US7373448B2 (en) * 2004-03-29 2008-05-13 International Business Machines Corporation Method, system, and program for building a queue to test a device
US20050240934A1 (en) * 2004-04-21 2005-10-27 Hewlett-Packard Development Company, L.P. Task management based on system utilization
US7941799B2 (en) * 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US7958292B2 (en) 2004-06-23 2011-06-07 Marvell World Trade Ltd. Disk drive system on chip with integrated buffer memory and support for host memory access
JP4305378B2 (ja) * 2004-12-13 2009-07-29 ソニー株式会社 データ処理システム、アクセス制御方法、その装置およびそのプログラム
US7480781B2 (en) * 2004-12-30 2009-01-20 Intel Corporation Apparatus and method to merge and align data from distributed memory controllers
US7543096B2 (en) * 2005-01-20 2009-06-02 Dot Hill Systems Corporation Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory
US7957413B2 (en) * 2005-04-07 2011-06-07 International Business Machines Corporation Method, system and program product for outsourcing resources in a grid computing environment
US20060259733A1 (en) * 2005-05-13 2006-11-16 Sony Computer Entertainment Inc. Methods and apparatus for resource management in a logically partitioned processing environment
US8745326B2 (en) * 2005-06-02 2014-06-03 Seagate Technology Llc Request priority seek manager
US9183087B2 (en) * 2005-06-07 2015-11-10 Seagate Technology Llc Data storage subgroup with local and shared resources
US8086723B2 (en) * 2006-05-17 2011-12-27 Alcatel Lucent Apparatus and methods for managing communication system resources
JP4901310B2 (ja) * 2006-05-31 2012-03-21 株式会社日立製作所 記憶制御装置及び記憶制御装置のコマンド実行数制御方法
US7536508B2 (en) * 2006-06-30 2009-05-19 Dot Hill Systems Corporation System and method for sharing SATA drives in active-active RAID controller system
US20080059720A1 (en) * 2006-09-05 2008-03-06 Rothman Michael A System and method to enable prioritized sharing of devices in partitioned environments
US7681089B2 (en) * 2007-02-20 2010-03-16 Dot Hill Systems Corporation Redundant storage controller system with enhanced failure analysis capability
JP2008226040A (ja) * 2007-03-14 2008-09-25 Hitachi Ltd 情報処理装置及びコマンド多重度制御方法
US8068114B2 (en) * 2007-04-30 2011-11-29 Advanced Micro Devices, Inc. Mechanism for granting controlled access to a shared resource
US8700830B2 (en) * 2007-11-20 2014-04-15 Spansion Llc Memory buffering system that improves read/write performance and provides low latency for mobile systems
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8352954B2 (en) 2008-06-19 2013-01-08 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US9128883B2 (en) 2008-06-19 2015-09-08 Commvault Systems, Inc Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail
US8321869B1 (en) * 2008-08-01 2012-11-27 Marvell International Ltd. Synchronization using agent-based semaphores
US8725688B2 (en) 2008-09-05 2014-05-13 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US8676976B2 (en) 2009-02-25 2014-03-18 International Business Machines Corporation Microprocessor with software control over allocation of shared resources among multiple virtual servers
JP5035469B2 (ja) * 2009-03-31 2012-09-26 富士通株式会社 データ転送回路及びデータ転送方法
US8522250B2 (en) 2010-09-29 2013-08-27 International Business Machines Corporation Managing access to a shared resource in a data processing system
JP2013164820A (ja) * 2012-02-13 2013-08-22 Fujitsu Ltd 評価支援方法、評価支援プログラムおよび評価支援装置
JP5891890B2 (ja) * 2012-03-26 2016-03-23 富士通株式会社 ストレージシステム、ストレージ装置およびデータ復元方法
US9633216B2 (en) 2012-12-27 2017-04-25 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US9459968B2 (en) 2013-03-11 2016-10-04 Commvault Systems, Inc. Single index to query multiple backup formats
US20140258577A1 (en) * 2013-03-11 2014-09-11 Futurewei Technologies, Inc. Wire Level Virtualization Over PCI-Express
JP6079347B2 (ja) * 2013-03-21 2017-02-15 富士通株式会社 制御装置、ストレージシステム、及び制御プログラム
US9372642B2 (en) 2013-07-22 2016-06-21 International Business Machines Corporation RAID 10 reads optimized for solid state drives
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US9740574B2 (en) 2014-05-09 2017-08-22 Commvault Systems, Inc. Load balancing across multiple data paths
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US9734098B2 (en) * 2015-03-31 2017-08-15 Sandisk Technologies Llc Memory bus management
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10521368B2 (en) * 2015-12-24 2019-12-31 Arm Limited Arbitration of requests requiring a variable number of resources
US10108456B2 (en) * 2016-02-02 2018-10-23 Western Digital Technologies, Inc. Accelerated atomic resource allocation on a multiprocessor platform
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
US10303373B2 (en) * 2017-06-12 2019-05-28 Seagate Technology Llc Prioritizing commands in a data storage device
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10754729B2 (en) 2018-03-12 2020-08-25 Commvault Systems, Inc. Recovery point objective (RPO) driven backup scheduling in a data storage management system
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US10860443B2 (en) 2018-12-10 2020-12-08 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
FR3094810B1 (fr) * 2019-04-03 2023-01-13 Thales Sa Système sur puce comprenant une pluralité de ressources maitre
US11275616B2 (en) 2019-06-13 2022-03-15 Apple Inc. Resource access management
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2017363B (en) * 1978-03-27 1982-06-30 Honeywell Inf Systems Stacking apparatus in memory controller
FR2617302B1 (fr) * 1987-06-26 1993-06-18 Servel Michel Circuit pour memoriser des etats de disponibilite de ressources logiques, telles que cellules de memoire, et etablir des adresses de ressources libres
US5193197A (en) * 1987-09-24 1993-03-09 Digital Equipment Corporation Apparatus and method for distributed dynamic priority arbitration for access to a shared resource
US5253347A (en) * 1988-11-18 1993-10-12 Bull Hn Information Systems Italia S.P.A. Centralized arbitration system using the status of target resources to selectively mask requests from master units
US5155854A (en) * 1989-02-03 1992-10-13 Digital Equipment Corporation System for arbitrating communication requests using multi-pass control unit based on availability of system resources
US5249279A (en) * 1989-11-03 1993-09-28 Compaq Computer Corporation Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands
US5235689A (en) 1990-06-11 1993-08-10 Storage Technology Corporation Interface circuit for dual port disk drive systems
US5301333A (en) * 1990-06-14 1994-04-05 Bell Communications Research, Inc. Tree structured variable priority arbitration implementing a round-robin scheduling policy
US5265257A (en) * 1990-06-22 1993-11-23 Digital Equipment Corporation Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines
US5206936A (en) * 1990-08-31 1993-04-27 International Business Machines Corporation Apparatus for exchanging channel adapter status among multiple channel adapters
US5220653A (en) 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
JPH0675843A (ja) * 1992-08-25 1994-03-18 Nec Software Ltd ファイル制御方式
US5457735A (en) * 1994-02-01 1995-10-10 Motorola, Inc. Method and apparatus for queuing radio telephone service requests

Also Published As

Publication number Publication date
EP1016957B1 (en) 2011-08-10
EP1016957A3 (en) 2007-08-29
EP0676699A3 (en) 1995-10-18
US6009275A (en) 1999-12-28
DE69521549T2 (de) 2001-10-25
EP0676699A2 (en) 1995-10-11
EP0676699B1 (en) 2001-07-04
EP1016957A2 (en) 2000-07-05
DE69521549D1 (de) 2001-08-09

Similar Documents

Publication Publication Date Title
JPH0844681A (ja) 複数の処理装置により共用される資源の集中管理
KR910001790B1 (ko) 디지탈 컴퓨터 시스템에서의 통신로 제어 할당용 중재 장치 및 이의 중재 방법
US6286068B1 (en) Queued arbitration mechanism for data processing system
JP5536807B2 (ja) 共用リソースの割り当てを制御するためのシステム、方法、コンピュータ・プログラム
US6502136B1 (en) Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage
US4669079A (en) Method and apparatus for bus arbitration in a data processing system
US5282272A (en) Interrupt distribution scheme for a computer bus
EP0380857A2 (en) Arbitrating communication requests in a multi-processor computer system
JP2009508247A (ja) バス調停に関する方法及びシステム
EP2192496B1 (en) Arbitration in multiprocessor device
KR910001792B1 (ko) 디지탈 컴퓨터 시스템의 데이타 프로세싱 시스템 및 이의 통신로 접속 장치
EP0675444B1 (en) Multiple arbitration scheme
JP6129976B2 (ja) 高効率アトミック演算を使用した方法および装置
US7971004B2 (en) System and article of manufacture for dumping data in processing systems to a shared storage
US5649209A (en) Bus coupling information processing system for multiple access to system bus
US5708784A (en) Dual bus computer architecture utilizing distributed arbitrators and method of using same
US6430640B1 (en) Self-arbitrating, self-granting resource access
JP3255759B2 (ja) マルチプロセッサシステム
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
US8135878B1 (en) Method and apparatus for improving throughput on a common bus
JP2780662B2 (ja) マルチプロセッサシステム
JPH0844662A (ja) 情報処理装置
EP0533429B1 (en) Computer bus control system
CN115269467B (zh) 一种总线仲裁的方法、装置、存储介质及电子设备
JPH0844661A (ja) 情報処理装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050720

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050829

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051018

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060120

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060621

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060921

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061218