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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource 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
セスおよび制御を共用する場合において、資源を効率よ
く共用し、デッドロック状態の発生を避ける。 【構成】 ディスクドライブユニットあるいはバスなど
の複数の資源に対するアクセスおよび制御を共用する複
数のプロセッサを含むコンピュータシステム用の資源割
付ロジック。資源割付ロジックはプロセッサから受信し
た要求の実行を調整し、効率の悪い資源の共用やデッド
ロック状態の発生を避けている。資源割付ロジックは各
プロセッサごとに「要求」キューを保持し、全ての要求
の速やかで公正な処理を図っている。要求キューには、
対応するプロセッサから受信した各要求に対応するエン
トリと、エントリに対応する要求によって要求されてい
る資源の識別名が入っている。
Description
システムに関し、特に、アレイ内のディスクドライブへ
のアクセスを共用する複数のディスクアレイコントロー
ラの動作を管理する方法に関するものである。
テーションに使用されている5.25インチや3.5イ
ンチのディスクドライブなどの小型で安いディスクドラ
イブを複数並行に接続して成るディスクアレイ式記憶装
置が、コンピュータシステムにおける情報を不揮発的に
格納する手段として広く使用されている。このディスク
アレイはホストシステムには単一の大型・高速ディスク
として認識されるが、単一の大型磁気ディスクに比べパ
フォーマンス、信頼性、電力消費量、スケーラビィティ
の点で優れた改良がなされている。
重化アレイ)ディスクアレイ式記憶システムは、データ
を記憶するためのいくつかのドライブと、パリティ情報
を格納するためのもう一つのディスクドライブを有す
る。従って、データあるいはパリティを格納するドライ
ブの内のいずれか一台のドライブが故障しても、失われ
たデータあるいはパリティ情報を再構築できる。読み出
し・書き込み、パリティ生成・パリティチェック、また
データ復元・データ再構築を行うにあたり複数のドライ
ブ間の動作を調整するために、多くのRAIDディスク
アレイ式記憶システムは専用のハードウェアコントロー
ラを有している。このコントローラによりホストシステ
ムがアレイ動作の管理をしなくてすむようにしている。
コントローラをもう一台追加、つまり、二重化ディスク
アレイコントローラ(RDAC)を設けることも可能
で、これにより、コントローラの故障によるデータに対
するアクセスの喪失の可能性を減少できる。
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台のアレイコントロ
ーラにより全てのアレイ動作が制御される。第二コント
ローラ、つまり、パッシブコントローラはホットスペア
として設けられており、第一コントローラが故障したと
きにアレイ動作の制御を行う。
DAC − アレイドライブへの非同時アクセス1つの
コントローラが第一グループの共用資源(ディスクドラ
イブ、共用バス)に対して主たる責任を有し、第二グル
ープの資源に対しては待機を旨とする責任を有する。第
二コントローラは第二グループの資源に対して主たる責
任を有し、第一グループの資源に対しては待機を旨とす
る責任を有する。例えば、ディスクアレイコントローラ
11はディスクドライブ31〜35に対して主たる責任
を有し、ディスクアレイコントローラ13はディスクド
ライブ41〜45に対して主たる責任を有する。
DAC − アレイドライブへの同時アクセス各アレイ
コントローラがアレイ内の全ての資源に対して同等のア
クセスおよび制御を行う。
トローラに対して、共用資源に対するアクセスおよび制
御を同等とすると、効率の悪い資源の共用あるいはデッ
ドロックの発生をもたらす。例えば、あるモードの動作
では、アレイコントローラの一つがサブグループのチャ
ンネル資源を占有することを必要とする。必要な資源を
同時に処理することができないと、全ての資源が獲得で
きるまでそのコントローラによる妨害が発生する。複数
のコントローラがある環境においては、与えられたトラ
ンザクションに必要な資源の全てではなく一部しか獲得
できないと、効率の悪い資源の共用あるいは共用資源を
獲得する上でのデッドロックが発生したりする。
ードウェア的な支援を提供するアレイコントローラは、
一度に2つ以上のドライブから同時にデータを転送する
ことを必要とする。それら複数のドライブまたはホスト
からデータを受け取ると、そのデータはRAIDを介し
てストライプ処理するASICに渡され、データの冗長
性情報を生成する。データの冗長性情報はコントローラ
のバッファに格納されるか、即座にドライブに渡されて
格納される。データは複数のデータ資源から同時にRA
IDを介してストライプ処理するASICに渡されるの
で、各コントローラは複数の選択されたドライブチャン
ネルに同時にアクセスする必要がある。従って、それら
ドライブチャンネルへのアクセスを調整する手段が存在
しないと、デッドロックが発生する可能性がある。
ントローラが2台ある環境におけるデッドロック状態に
ついて説明する。
する。ディスクアレイコントローラ11、13が5本の
SCSIバス51〜55とそれらのSCSIバスに接続
された10台のドライブを共用しているのが分かる。デ
ィスクアレイコントローラ11は入出力動作を実行して
ディスクドライブ31、33からデータを転送するよう
要求されたとする。これと同時に、ディスクアレイコン
トローラ13は入出力動作を実行してディスクドライブ
41、43からデータを転送するよう要求されたとす
る。両ディスクコントローラは、次のようにそれらのド
ライブにアクセスを試みる。
ディスクドライブ31を獲得し、バス53とディスクド
ライブ33は獲得できない状態にある。
ディスクドライブ43を獲得し、バス51とディスクド
ライブ41を獲得するための仲裁を継続する。
用中とし、SCSIバス53(コントローラ13により
保有されている)上のディスクドライブ33が解放され
るのを待っている。コントローラ13はSCSIバス5
3を使用中とし、SCSIバス51(コントローラ11
により保有されている)上のディスクドライブ41が解
放されるのを待っている。
が同じホストバスに接続されているとデッドロックが発
生する可能性がある。これが発生するのはホストSCS
Iバス15とホストSCSIバス19が物理的に同じS
CSIバス(図2において符号27で示す)の場合であ
る。コントローラ11は、SCSIバス51上のディス
クドライブ31からホスト17へのデータの転送をする
ための入出力動作を実行するよう要求されているとす
る。これと同時に、コントローラ13は、SCSIバス
51上のディスクドライブ41からホスト21へのデー
タの転送をするための入出力動作を実行するよう要求さ
れているとする。両コントローラは必要とする資源への
アクセスを次のように同時に試みる。
SCSIバス(符号27で示す)を獲得し、SCSIバ
ス51とディスクドライブ31を獲得できない状態にあ
る。・アレイコントローラ13はSCSIバス51とデ
ィスクドライブ41を獲得し、ホストSCSIバス15
を獲得できない状態にある。
7を使用中とし、ディスクドライブ31に接続するため
にSCSIバス51(コントローラ13により保有され
ている)へのアクセスができるようになるのを待ってい
る。コントローラ13はSCSIバス51を使用中とし
ており、ホストSCSIバス27(コントローラ11に
より保有されている)へのアクセスができるようになる
のを待っている。
の発生を避けるために、共通の資源に対するアクセスお
よび制御を共用する複数のコントローラの動作を調整す
る方法および構造が必要である。
するアクセスおよび制御を共用する複数のコントローラ
の動作を調整する新しい有用な方法を提供することであ
る。本発明の別の目的は、共用資源を有するシステムに
おいて発生する効率の悪い資源の共用やデッドロック状
態の発生を減らしたりあるいは避けるための方法および
構造を提供することである。
レイコントローラを包含する新しい有用なディスクアレ
イ式記憶システムを提供することである。
おいて共通の資源に対するアクセスおよび制御を共用す
る複数のコントローラの動作を調整する方法を提供する
ことである。
ブコントローラを包含するディスクアレイシステムにお
いて、コントロール間の競合を避けるための新しい有用
な方法を提供することである。
悪い資源の共用やデッドロック状態の発生を避けるため
に、コンピュータシステム内の共通の資源に対するアク
セスおよび制御を共用する複数の要求元から受信した要
求の実行を調整することを特徴とする。本方法は次のス
テップを包含する。(A)「要求」キューを確立するス
テップ、ここで前記要求キューは要求元から受信した各
要求に対応するエントリを包含し、各エントリは前記エ
ントリに対応する要求により要求された資源の識別名を
包含する。(B)「利用可能資源」ステータスアレイを
保持するステップ、ここで前記利用可能資源ステータス
アレイは、現在どの要求元によっても使用されておら
ず、また、現在どの要求元によっても将来における使用
を予約されていない各資源ごとのエントリを包含する。
(C)前記要求キュー内の各エントリを前記利用可能資
源ステータスアレイ内のエントリと順次比較し、前記要
求キュー内のエントリであって、前記利用可能資源ステ
ータスアレイ内に入っている全ての資源を識別するエン
トリを検出するステップ。(D)ステップCで検出され
た前記エントリと関連する資源に対する制御を、ステッ
プCで検出されたエントリに対応する要求を出している
要求元に与えるステップ。(E)ステップCで識別され
たエントリに対応する要求を実行するステップ。
ムに組み込まれており、このサブシステムは、ディスク
アレイ内の複数のディスクドライブ、制御バス、アドレ
スバス、データバスに対するアクセスおよび制御を共用
する複数のアレイコントローラを包含する。
連する資源は、その要求が実行されている間、利用可能
資源ステータスアレイから削除される。処理を許可され
た要求の実行が完了したら、それらの資源は再び利用可
能資源ステータスアレイに戻され、他の資源要求での利
用が可能となる。
信した入出力要求のエントリが入っている要求キューが
各アレイコントローラごとに保持されており、各要求キ
ュー内のエントリを交互に調べ、利用可能資源ステータ
スアレイ内に入っている全ての資源を識別するいずれか
の要求キュー内のエントリを検出する。更に、各要求キ
ューには他の要求キューに対する各要求キューの相対的
なエージを示すリストエージが入っており、また、要求
キュー内の各エントリには同じ要求キュー内の他のエン
トリに対する各エントリの相対的なエージを示す要求エ
ージが入っており、どの入出力要求を実行するかを識別
するために要求キューを調べる場合、要求キューおよび
要求キューのエントリの相対エージに基づいて優先順位
を各エントリにつける。
ブコントローラを包含するディスクアレイシステムをブ
ロック図の形で図3に示す。図1のディスクアレイシス
テムのブロック図で示す構造に加え、図3のシステムは
アレイコントローラ11、13間を接続する専用通信リ
ンク57、およびそれらコントローラの各々に組み込ま
れている特定用途向けICであるコントローラ間通信チ
ップ(それぞれ符号61、63で示す)を包含する。
プは2台のディスクアレイコントローラ間の通信、資源
利用に関する調停および資源の割り付けを行う。
ディスクアレイシステムに包含された2台のアクティブ
アレイコントローラ11、13の各々に組み込まれてい
るコントローラ間通信チップのブロック図を図4に示
す。コントローラ間通信チップ(以後ICONチップと
呼ぶ)は、2台のディスクアレイコントローラ間の高速
シリアル通信および資源利用に関する調停・資源割付を
実行すのに必要な機能を全て有する。ディスクアレイシ
ステムにおいてICONチップを用いる主たる目的は二
重化ディスクアレイコントローラを利用することにあ
る。二重化コントローラ構成は2台のコントローラ間で
資源(ディスクドライブやSCSIバス)を共用するの
で、デッドロックを防止したりシステムパフォーマンス
を最大にするために、これら共通資源の利用を調停する
方法が必要となる。ICONチップは、デッドロックを
防止したりシステムパフォーマンスを最大にする資源割
付アルゴリズムをハードウェア的に実現している。資源
利用に関する調停・割付の実行に加え、ICONチップ
はまたディスクアレイコントローラ間での総称的複数バ
イトのメッセージの送受信手段も提供する。ICONチ
ップは次のロジックモジュールを包含する。
ントロールロジック100]本マイクロプロセッサイン
ターフェイスブロックを介して外部マイクロプロセッサ
はICONチップの状態を構成したりモニタしたりでき
る。構成情報やステータス情報はICONチップ内のレ
ジスタに保持されている。構成、制御、およびステータ
スの各レジスタは、広範囲にわたる機能性および診断動
作をオペレーティングソフトウェアに提供するようにな
っている。割込マスキングや制御もこの機能ブロックに
包含されている。
コントローラ間通信ブロックにはコントローラ間通信イ
ンターフェイスを実現するのに必要な構造およびロジッ
クが全て入っている。本ブロックには次のような構造お
よびロジックが包含されている:送信状態シーケンサ2
01、受信状態シーケンサ203、メッセージ送信バッ
ファ205、メッセージ受信バッファ207、ステータ
ス送信レジスタ209、ステータス受信バッファ21
1。これらのモジュールは協調して動作し、2つ独立し
た単方向通信チャンネルを形成する。データパケットの
直列化・非直列化は送信状態シーケンサ201、受信状
態シーケンサ203モジュールで行われる。送信状態シ
ーケンサからのシリアルデータ出力は受信状態シーケン
サモジュールに供給され、完全な診断データが出力され
る。
ィスクアレイコントローラ間での総称的なメッセージお
よびステータスの送信、または、特定の資源要求・資源
付与・資源解放メッセージの送信を行うのに使用する。
類の信号を使用する。これらの信号を次に定義する。
2台のディスクアレイコントローラ(マスタおよびスレ
ーブディスクアレイコントローラと呼ぶ)間で最大8個
の共用資源を管理するのに必要な全ての構造およびロジ
ックが入っている。これらの構造およびロジックは資源
アロケータ301、2組の資源解放FIFO(マスタ/
スレーブ)307、309、2組の資源付与済みFIF
O(マスタ/スレーブ)311、313、割付済み資源
ブロック315と利用可能資源ブロック317から成る
スコアボードを包含する。
01である。本ブロックはインテリジェント資源割付ア
ルゴリズムをハードウェア的に実現している。本ブロッ
クにおけるその他のデータ構造は全て資源アロケータに
より直接制御およびモニタされている。マスタコントロ
ーラのICONチップにある資源アロケータは、資源要
求リスト、資源解放FIFO、資源スコアボードの状態
を常にモニタしており、どちらのコントローラへどのよ
うにして、また、いつ資源を割り付けるかを判断する。
スレーブコントローラのICONチップある資源アロケ
ータは診断試験中以外は作動していない。
ントローラ機能ロジックは、ディスクアレイコントロー
ラの設計上の集積レベルを高めるために、いくつかの基
板レベルのロジック機能を提供する。
な通信リンクとプロトコルを資源を共用する装置間に確
立し、また、共用される資源の管理に使用されるユニー
クな調停アルゴリズムを提供する。
へ、または、資源アービタから資源の要求、付与、解放
を行うために使用される。プロトコルを確立するには、
資源を共用する装置間で1台のマスタ装置と1台もしく
は複数のスレーブ装置をどれにするか決める必要があ
る。マスタとスレーブを区別するのは、単にアクティブ
な資源割付ロジック300を見つけるのに必要なだけで
ある。各コントローラは資源割付ロジックを包含する
が、このロジックはマスタコントローラにおいてのみア
クティブとなる。以下の説明において、言及された資源
割付ロジック300とその構成要素は、アクティブな資
源割付ロジックとその構成要素のことである。システム
動作については、マスタ装置とスレーブ装置はピアツー
ピアの関係を保持する。
はアクティブとなる。装置は与えられた動作に必要な資
源のリストをコンパイルして資源要求を生成する。その
資源要求は次に資源割付ロジック300に渡される。資
源割付ロジック300はシステム内の各装置ごとの要求
リストを保持しており、全ての要求にすばやくまた公平
に応えるようにしている。割付ロジックがある特定の要
求を満足できる状態になると、要求元の装置に対して要
求されている資源を付与する旨通知する。資源要求を承
諾された装置は、その装置が解放するまで、付与された
資源にアクセスし続ける。資源の解放は解放メッセージ
を資源アロケータに送信することによって行われ、解放
された資源は他の資源要求による使用に供される。
資源付与・資源解放は、マスタ装置(アクティブな資源
割付ロジックが存在する)とスレーブ装置間で上述のイ
ンターフェイスを介して装置間メッセージ(メッセージ
タイプとデータフィールドを含む)を送信することによ
り行われる。マスタ装置のみが関係する全ての資源要求
・資源付与・資源解放は、マスタ装置内においてのみ行
われる。
されたマスタ装置にある資源割当ロジック300は、任
意の台数の装置間で使用する任意の数量の共用資源を管
理するための資源割当アルゴリズムと関連するデータ構
造を包含する。資源を共用するためのデータ構造とアル
ゴリズムについて次に説明する。
る各装置のために、任意の深さの要求キュー、つまり、
資源キューのリストがマスタ装置により保持されている
(マスタ要求リスト303およびスレーブ要求リスト3
05)。2つのカウント値、リストエージ(他の要求キ
ューに対するある装置の要求キューの相対的なエージを
示す)および要求エージ(単一の装置の要求キュー内の
最も古いエントリの同じ要求キュー内の他のエントリに
対する相対的なエージを示す)が、装置の要求キューの
各々と関連付けられている。装置の要求キューのそれぞ
れと関連付けられているカウント値に加え、2つのブー
ルフラグも保持されている。これらのブールフラグは要
求停滞フラグとリスト停滞フラグである。要求停滞が真
の場合、これは装置の最も古い資源要求の相対エージが
プログラム可能なしきい値を超えたことを示している。
リスト停滞が真の場合、これは他の装置の要求キューに
対するある装置の要求キューの相対エージがプログラム
可能なしきい値を超えたことを示している。停滞(要求
またはリスト)は全ての装置間で相互排除となる。つま
り、ある与えられた時点では1台の装置しか停滞状態に
ならない。
約済み資源」を追跡することによって資源割付および資
源予約の現在の状態を保持する。「利用可能資源」は、
どの資源がどの装置からも現在使用されてないか、ま
た、将来の割付用として現在予約されてないかを資源割
付アルゴリズムに示している。「利用可能資源」構造
(利用可能資源ブロック317)に入っている資源は、
従って、どれも割付可能である。「予約済み資源」は、
装置の内の1台が停滞状態(要求停滞またはリスト停滞
が真)に入ったのことによりどの資源が将来の割付用に
予約されたかを資源割付アルゴリズムに示す。ある装置
が停滞状態に入ると、停滞要求に含まれている資源は、
「利用可能資源」構造から即座に削除されるか、あるい
は、現在割り付けられている資源については、それらの
資源が解放されるか資源プールに戻された時点で、「予
約済み資源」構造(予約済み資源ブロック315)に入
れられる。停滞(要求またはリスト)は全ての装置間で
相互排除となる。つまり、ある与えられた時点では1台
の装置しか停滞状態にならない。資源割付アルゴリズム
により使用された最後の2つのデータ構造は、現在選択
されている装置(総称的にTURNおよびLISTSE
LECTと名づけられており、その資源要求キューを探
索させて利用可能な資源と一致する資源がないか捜させ
ている装置)を指すポインタである。
に定義したデータ構造を用いて提供される。上述のよう
に、要求停滞フラグは、資源要求を承諾する場合、単一
の装置内での公平さを確実にするために使用される。例
えば、資源をランダムに利用可能な場合を考えてみる。
この場合、問題を検出・訂正するメカニズムが存在して
ないと、ほとんどの資源を2個づつのグループで要求す
る装置は、同じ資源プールから5資源づつのグループで
資源を要求するその装置自身の要求が処理を渇望する事
態をもたらす。要求エージ数と関連するしきい値を用い
ることにより、単一の装置内の資源要求が処理待ちを渇
望したり、また、無期限に処理されないままになるとい
うことはなくなる。
場合、装置間での公平さを確実にするために使用され
る。例えば、資源を2個づつのグループで要求する装置
は、同じ資源プールから5資源づつのグループで資源を
要求するそのシステム内の他の装置が処理を渇望する事
態をもたらす。リストエージ数と関連するしきい値を用
いることにより、全ての装置の要求が公平に処理され、
また、ある特定の装置が資源要求を渇望するという事態
を避けられる。
モードが定義されている。それらは通常モードと停滞モ
ードである。通常動作モードでは、どの装置も停滞状態
に入ることはなく、アルゴリズムはTURNポインタを
ラウンドロビン方式で使用する。これにより、装置の要
求キューのそれぞれを順次調査し、付与可能(資源の利
用可能性に基づく)な資源を付与する。資源の付与にあ
たっては、要求エントリの相対エージに基づいた装置の
要求キュー内の優先順位に従う。停滞モードに遷移する
と(装置が停滞状態に入る)、TURNポインタは停滞
装置に設定され、資源割付アルゴリズムは停滞状態をも
たらした要求の承諾を優先する。具体的には、停滞要求
に包含されている資源を予約し、他の装置がこれらの資
源を付与されることがないようにする。TURNポイン
タは停滞装置に対して有効に働いたままであるが、他の
装置の要求キューや停滞装置の要求キュー内の他のエン
トリは、現在どの資源が利用可能か、また、予約されて
いるかを二次リストポインタ(LISTSELECT)
を用いて調べながら、一致する資源の探索を継続する。
「利用可能資源」構造から削除する動作、「予約済み資
源」構造のクリア動作(資源付与が停滞要求に対してな
された場合)を含む。資源解放動作は単に「利用可能資
源」構造を更新することによってなされる。
すのは、以下のような特性を有するマスタ装置と単一の
スレーブ装置の場合について実現した「C」プログラミ
ング言語を用いたアルゴリズムである。 ・両装置の資源要求キュー深さ=4 ・両装置間で共用する資源数=8 先に述べたように、装置数、共用資源数、キュー深さは
全く任意である。このアルゴリズムの有する機能性は資
源を共用する装置であってマスタと指定された装置にお
いて実現される。記述は、承諾する処理要求を捜すのに
使用する任意のコントローラからの処理ポーリングにつ
いてである。解放動作は、単に、解放する資源を利用可
能チャンネル変数に割り付けることにより行われる。
を使用しているが、任意の形式で実現できる。換言すれ
ば、他のプログラミング言語を使用したり、ステートマ
シンによるハードウエア的実現等も可能である。
に示す。
数) −− 任意のある一時点において未処理のままに
しておける要求の数。
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(前回処理) −− 最近
受けた処理サービスが最も少ないコントローラに対して
処理サービスを提供する上での公正さを提供するメカニ
ズム。
き最初にどのリストを見るかを示す。
リストエージ) −− スレーブのリストからの要求の
うち処理された要求の数と比較した時のマスタ用の要求
リストの相対エージ。スレーブからの要求のいくつかが
処理された後、最悪の場合でもマスタは処理サービスを
受けることを保証するのに使用される。マスタリストエ
ージがしきい値を超えると、master_reque
st_stagnation状態に入る。
(マスタ要求エージ) −− マスタのリストからの要
求のうち処理された要求の数と比較した時のマスタリス
トの最も古いメンバの相対エージ。マスタリスト内のい
くつか他の要求が処理された後、最悪の場合でもマスタ
リストにおける最も古い要求は処理されることを保証す
るのに使用される。マスタ要求エージがしきい値を超え
ると、master_list_stagnation
状態に入る。
リストエージ) −− マスタのリストからの要求のう
ち処理された要求の数と比較した時のスレーブ用の要求
リストの相対エージ。マスタからの要求のいくつかが処
理された後、最悪の場合でもスレーブは処理サービスを
受けることを保証するのに使用される。スレーブリスト
エージがしきい値を超えると、slave_reque
st_stagnation状態に入る。
レーブ要求エージ) −− スレーブのリストからの要
求のうち処理された要求の数と比較した時のスレーブリ
ストの最も古いメンバの相対エージ。スレーブリスト内
のいくつか他の要求が処理された後、最悪の場合でもス
レーブリストにおける最も古い要求は処理されることを
保証するのに使用される。スレーブ要求エージがしきい
値を超えると、slave_list_stagnat
ion状態に入る。
説明は、アレイ内のディスクドライブユニット、バス、
およびその他の資源へのアクセスを共用する複数のディ
スクアレイコントローラの動作を管理する方法を示すも
のであることは、当業者には容易に理解できるものであ
る。
が、添付した「特許請求の範囲」の範囲内で各種変更を
加えてもよいことは理解できるであろう。
ば、複数のコントローラが共通の資源に対するアクセス
および制御を共用する場合、資源を効率よく共用でき、
また、デッドロック状態の発生を避けることができる。
アレイコントローラ、およびこれら2台のコントローラ
により共用された5本のSCSIバスを介してアクセス
される10台のディスクドライブを包含するディスクア
レイシステムを表すブロック図である。
のディスクアレイコントローラ、およびこれら2台のコ
ントローラにより共用された5本のSCSIバスを介し
てアクセスされる10台のディスクドライブを包含する
ディスクアレイシステムを表すブロック図である。
これらコントローラ間の通信を行ったり資源利用に関す
る調停および資源の割り付けを行うためのそれらコント
ローラ間の通信リンクとを包含するディスクアレイシス
テムを表すブロック図である。
込まれ、これら2台の活動ディスクアレイコントローラ
間の通信を行ったり資源利用に関する調停および資源割
り付けを行うASIC(特定用途向け集積回路)である
ICON(コントローラ間通信チップ)のブロック図で
ある。
Claims (13)
- 【請求項1】 複数の要求元と複数の資源を包含し、前
記要求元は前記資源に対するアクセスおよび制御を共用
するコンピュータシステムにおいて、効率の悪い資源の
共用やデッドロック状態の発生を避けるために、要求元
から受信した入出力要求の実行を調整する方法であっ
て、 (A)前記要求元から受信した各入出力要求に対応し、
各々が該入出力要求により要求された資源の識別名を包
含するエントリを有してなる要求キューを確立するステ
ップと、 (B)現在どの要求元によっても使用されておらず、ま
た、現在どの要求元によっても将来における使用を予約
されていないような各資源ごとのエントリを包含する利
用可能資源ステータスアレイを保持するステップと、 (C)前記要求キュー内の各エントリを前記利用可能資
源ステータスアレイ内のエントリと順次比較し、前記利
用可能資源ステータスアレイ内に入っている全ての資源
を識別する前記要求キュー内のエントリを検出するステ
ップと、 (D)ステップCで検出された前記エントリと関連する
資源に対する制御を、ステップCで検出されたエントリ
に対応する入出力要求を出している要求元に与えるステ
ップと、 (E)ステップCで識別されたエントリに対応する入出
力要求を実行するステップ、とから成ることを特徴とす
る入出力要求の実行を調整する方法。 - 【請求項2】 請求項1に記載の入出力要求の実行を調
整する方法であって、ステップCが完了したらステップ
Cで検出された前記エントリに関連する各資源について
のエントリを前記利用可能資源ステータスアレイから削
除するステップを更に有して成る入出力要求の実行を調
整する方法。 - 【請求項3】 請求項2に記載の入出力要求の実行を調
整する方法であって、ステップEが完了したらステップ
Cで検出された前記エントリに関連する各資源について
のエントリを前記利用可能資源ステータスアレイに戻す
ステップを更に有して成る入出力要求の実行を調整する
方法。 - 【請求項4】 請求項1に記載の入出力要求の実行を調
整する方法であって、前記要求キューの各エントリが、
要求キューの各エントリの要求キューの他のエントリに
対する相対エージを示す要求エージを包含し、該相対エ
ージに基づいて要求キューのエントリに優先順位を付与
するステップを更に有して成ることを特徴とする入出力
要求の実行を調整する方法。 - 【請求項5】 請求項1に記載の入出力要求の実行を調
整する方法であって、 前記資源はディスクアレイ内のディスクドライブを包含
し、 前記要求元は前記ディスクドライブに対するアクセスお
よび制御を共用するディスクアレイコントローラから成
ることを特徴とする入出力要求の実行を調整する方法。 - 【請求項6】 請求項1に記載の入出力要求の実行を調
整する方法であって、 前記資源は前記コンピュータシステム内のバスを包含す
ることを特徴とする入出力要求の実行を調整する方法。 - 【請求項7】 請求項1に記載の入出力要求の実行を調
整する方法であって、 前記要求キュー内の各エントリが、要求キューの各エン
トリの要求キューの他のエントリに対する相対エージを
示す要求エージを更に包含し、 所定の要求エージ値を超える要求エージを有する任意の
エントリを識別するために前記要求エージを調査するス
テップと、 前記所定の要求エージ値を超える要求エージを有する前
記エントリに関連する各資源についてのエントリを前記
利用可能資源ステータスアレイから削除して、前記所定
の要求エージ値を超える要求エージを有するエントリに
関連する要求元および要求で使用する資源を予約するス
テップとを更に有して成ることを特徴とする入出力要求
の実行を調整する方法。 - 【請求項8】 請求項1に記載の入出力要求の実行を調
整する方法であって、 前記コンピュータシステムにおける各要求元ごとに要求
キューが保持され、前記要求キュー内の各エントリを前
記利用可能資源ステータスアレイ内のエントリと順次比
較する前記ステップは、各要求キュー内のエントリを交
互に調べ、前記利用可能資源ステータスアレイ内に入っ
ている全ての資源を識別する前記要求キュー内のエント
リを検出するステップを包含することを特徴とする入出
力要求の実行を調整する方法。 - 【請求項9】 請求項1に記載の入出力要求の実行を調
整する方法であって、 前記要求元は前記コンピュータシステムにおけるディス
クアレイサブシステム内のディスクアレイコントローラ
であり、 前記資源は前記ディスクアレイサブシステム内のディス
クドライブおよびバスであることを特徴とする入出力要
求の実行を調整する方法。 - 【請求項10】 第1および第2ディスクアレイコント
ローラと、前記プロセッサ各々の制御下にある複数のデ
ィスクドライブおよびバスを包含するディスクアレイシ
ステムにおいて前記プロセッサの動作を調整し、入出力
要求の実行を調整する方法であって、 (A)前記ディスクアレイシステムによって受信された
入出力要求に対応し、各々が該入出力要求により要求さ
れたディスクドライブとバスの識別名を包含するエント
リを有してなる要求キューを各ディスクアレイコントロ
ーラごとに確立するステップと、 (B)現在どのディスクアレイコントローラによっても
使用されておらず、また、現在どのディスクアレイコン
トローラによっても将来における使用を予約されていな
いディスクドライブおよびバスごとのエントリを包含す
る利用可能資源ステータスアレイを保持するステップ
と、 (C)前記要求キュー内の各エントリを前記利用可能資
源ステータスアレイ内のエントリと順次比較し、前記利
用可能資源ステータスアレイ内に入っている全ての資源
を識別する前記要求キュー内のエントリを検出するステ
ップと、 (D)ステップCで検出された前記エントリと関連する
ディスクドライブおよびバスに対する制御を、ステップ
Cで検出されたエントリに対応する要求キューと関連す
るディスクアレイコントローラに与えるステップと、 (E)ステップCで識別されたエントリに対応する入出
力要求を実行するステップとから成ることを特徴とする
入出力要求の実行を調整する方法。 - 【請求項11】 請求項10に記載の入出力要求の実行
を調整する方法であって、 前記要求キュー内の各エントリが、前記要求キューの各
エントリの要求キューの他のエントリに対する相対エー
ジを示す要求エージを更に包含し、 所定の要求エージ値を超える要求エージを有する任意の
エントリを識別するために前記要求エージを調査するス
テップと、 前記所定の要求エージ値を超える要求エージを有する前
記エントリに関連する各資源についてのエントリを前記
利用可能資源ステータスアレイから削除して、前記所定
の要求エージ値を超える要求エージを有するエントリに
関連するディスクアレイコントローラおよび入出力要求
で使用するディスクドライブを予約するステップとを更
に有して成ることを特徴とする入出力要求の実行を調整
する方法。 - 【請求項12】 請求項10に記載の入出力要求の実行
を調整する方法であって、 前記要求キュー内の各エントリを前記利用可能資源ステ
ータスアレイ内のエントリと順次比較する前記ステップ
は、各要求キュー内のエントリを交互に調べ、前記利用
可能資源ステータスアレイ内に入っている全ての資源を
識別する前記要求キュー内のエントリを検出するステッ
プを包含することを特徴とする入出力要求の実行を調整
する方法。 - 【請求項13】 請求項10に記載の入出力要求の実行
を調整する方法であって、 各要求キューは、更に、要求キューにおける最も古いエ
ントリのエージを示すリストエージを含み、 前記要求キュー内の各エントリを前記利用可能資源ステ
ータスアレイ内のエントリと順次比較する前記ステップ
は、所定のリストエージ値を超えるリストエージを有す
る任意の要求キューを識別するために前記リストエージ
を調査するステップと、 要求キューが前記所定のリストエージを超えるリストエ
ージを有すると識別された場合、要求キューのリストエ
ージが前記所定のリストエージ値より小さくなるまで、
前記所定のリストエージを超えるリストエージを有する
と識別された要求キュー内のエントリを順次比較するス
テップとを包含することを特徴とする入出力要求の実行
を調整する方法。
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)
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)
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 |
-
1995
- 1995-03-24 EP EP00200592A patent/EP1016957B1/en not_active Expired - Lifetime
- 1995-03-24 DE DE69521549T patent/DE69521549T2/de not_active Expired - Lifetime
- 1995-03-24 EP EP95302002A patent/EP0676699B1/en not_active Expired - Lifetime
- 1995-04-03 JP JP7077593A patent/JPH0844681A/ja active Pending
-
1996
- 1996-10-15 US US08/729,193 patent/US6009275A/en not_active Expired - Lifetime
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 |