JPH08314848A - マイクロプロセッサのオーバーヘッドを短縮させて、二つの装置間でデータを転送する方法および装置 - Google Patents

マイクロプロセッサのオーバーヘッドを短縮させて、二つの装置間でデータを転送する方法および装置

Info

Publication number
JPH08314848A
JPH08314848A JP8124307A JP12430796A JPH08314848A JP H08314848 A JPH08314848 A JP H08314848A JP 8124307 A JP8124307 A JP 8124307A JP 12430796 A JP12430796 A JP 12430796A JP H08314848 A JPH08314848 A JP H08314848A
Authority
JP
Japan
Prior art keywords
data
processor
controller
memory area
write request
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
JP8124307A
Other languages
English (en)
Inventor
Charles D Binford
ディー.ビンフォード チャールズ
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 JPH08314848A publication Critical patent/JPH08314848A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 目標装置の性能を実質的に低下させずにデー
タを目標装置に転送することが可能なデータ転送方法及
び装置を提供する。 【解決手段】 第一の装置から、主データ・プロセッサ
およびそれに関連する副プロセッサを有する第二の装置
にデータを転送する方法であって、(1)第一の装置か
ら第二の装置に、制御部分およびデータ部分を有するデ
ータ・ストリームを転送するステップと、(2)主デー
タ・プロセッサの動作を中断しないで、制御部分に従っ
て、データ部分を副プロセッサによって処理するステッ
プとを含んでいる。また、この方法を実施する際に適用
可能な多重コントローラ装置。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に二つの装置
間でデータを転送する方法および装置、特にマイクロプ
ロセッサのオーバーヘッドを短縮させて、二つの装置間
にデータを転送する方法に関する。
【0002】
【従来の技術】通常、データを開始装置から目標装置に
転送する場合には、マイクロプロセッサのような目標装
置のマイクロプロセッサーのようなデータ処理装置によ
る支援を受けなければならない目標装置内にハードウエ
アの動作の中断が起こる。特に、マイクロプロセッサ
は、上記の中断を支援するためにソフトウエアのアプリ
ケーションの実行を中断しなければならないので、マイ
クロプロセッサーのオーバーヘッドが増大する。
【0003】書き戻しキャッシュ処理は、目標装置のデ
ータ・プロセッサの動作を中断しないで、開始装置から
目標装置へのデータの転送が有効に行われる環境の一例
である。「中断なしで」の意味を理解していただくため
には、「目標装置のデータ・プロセッサの動作を中断し
ないで」という表現が、データの転送の際にマイクロプ
ロセッサのようなデータ・プロセッサに対するハードウ
エアの動作を中断しないでという意味であることに注目
してほしい。それ故、目標装置のデータ・プロセッサは
データ転送から切り離され、すべてのデータ転送に関連
するマイクロプロセッサのオーバーヘッドが防止され
る。
【0004】書き戻しキャッシュ処理とは、ホスト・コ
ンピュータが書き込み要求データをキャッシュ処理ディ
スク・アレー・コントローラに転送する場合に、書き込
み要求を実行する方法のことである。その後、上記のキ
ャッシュ処理ディスク・アレー・コントローラは、書き
込み要求データを記憶媒体に転送する。上記のコントロ
ーラが特定の書き戻しキャッシュ処理方法を実行するか
しないかによって、書き込み要求データを直ちに記憶媒
体に書き込むこともできるし、書き込み要求データをま
だ書き込みが行われていないデータ、すなわち、「ダー
ティ」データとしてキャッシュ・メモリ内に一次的に記
憶し、その後ある時点で記憶媒体に「フラッシュする」
か、または書き込むことができる。いずれの場合におい
ても、上記のコントローラは、書き込み要求が完了した
旨の状況情報をホスト・コンピュータに送り返し、その
結果、ホスト・コンピュータは、ソフトウエアのアプリ
ケーションの実行を続行することができる。本明細書に
おける「ダーティ・データ」という言葉の意味は、キャ
ッシュ・メモリ内に含まれていて、まだ記憶媒体に書き
込まれていないデータという意味である。以下に使用す
る「フラッシュする」、「フラッシュされた」または
「フラッシュ中」という意味について説明すると、デー
タを「フラッシュする」という行為は、ダーティ・デー
タを記憶媒体に書き込むことであるということを理解し
てほしい。
【0005】ホスト・コンピュータが、間欠的に多数の
書き込み要求を処理しなければならないような、ホスト
・コンピュータが限界いっぱいで動作している環境の場
合には、書き戻しキャッシュ処理により、ホスト・コン
ピュータは迅速にすべての書き込み要求データをキャッ
シュ・メモリに転送することができ、それにより多数の
書き込み要求を実行する際のホスト・コンピュータのオ
ーバーヘッドを減らすことにより、ホスト・コンピュー
タの性能が増大する。
【0006】
【発明が解決しようとする課題】書き戻しキャッシュ処
理を使用しているときにホスト・コンピュータの性能が
向上すると、ホスト・コンピュータの状況情報を送った
後、しかし、データが記憶媒体に実際に書き込まれる前
に起こる恐れのあるコントローラの故障などが起こった
場合に、データの紛失の危険が増大する。中間のレベル
の書き込み要求データ保護がすでに開発されているが、
この保護は状況情報をホスト・コンピュータに送る前
に、冗長度を与える目的で書き込み要求データをコピー
する幾組かのコントローラを使用しなければならない。
【0007】書き込み要求データをコピーするために、
二台のコントローラを使用する場合には、主コントロー
ラがホスト・コンピュータから書き込み要求を受け取
る。その後、主コントローラは、目標コントローラまた
は代替コントローラに、主コントローラがホスト・コン
ピュータに状況情報を送る前で、また主コントローラが
データを記憶媒体に記憶させる前に、冗長度を与えるた
めに代替コントローラのキャッシュ・メモリに書き込み
要求データのコピーを記憶するように命令する。目標コ
ントローラのマイクロプロセッサは、すでに説明したよ
うに、通常書き込み要求データを処理しなければならな
いが、上記の書き込み要求データはマイクロプロセッサ
のレベルの通知を送るというような中断または他のオー
バーヘッド・タスクの使用を含んでいて、そのため、代
替コントローラの性能は低下する。それ故、目標装置の
性能を実質的に低下させないで、二つの装置の間でデー
タを転送する方法が必要になる。
【0008】
【課題を解決するための手段】本発明の1つの実施例に
おいては、第一の装置から第二の装置にデータを転送す
る方法が使用されているが、この場合第二の装置は主デ
ータ・プロセッサおよび副プロセッサを有している。こ
の方法は、(1)第一の装置から第二の装置に制御部分
とデータ部分とを含むデータ・ストリームを転送するス
テップと、(2)主データ・プロセッサの動作を中断し
ないで、制御部分に従って副プロセッサによりデータ部
分を処理するステップとを含んでいる。
【0009】本発明の他の実施例においては、第一の装
置から第二の装置にデータを転送する方法が使用されて
いて、第二の装置は主データ・プロセッサおよび副プロ
セッサを有している。この方法は、(1)ホスト装置か
ら第一の装置に大量の書き込み要求データを転送するス
テップと、(2)第一の装置が使用できるように、第二
の装置内のメモリ領域を割り当てるステップと、(3)
第二の装置の主プロセッサの動作を中断しないで、第一
の装置から第二の装置内のメモリ領域に書き込み要求デ
ータをコピーするステップとを含んでいる。
【0010】本発明のさらに他の実施例においては、第
一のコントローラおよび主プロセッサおよび副プロセッ
サを有している第二のコントローラを含む多重コントロ
ーラ装置を使用している。この装置は、また第一のコン
トローラを第二のコントローラに接続しているチャネル
と、第二のコントローラの主プロセッサの動作を中断し
ないで、チャネルを通して第一のコントローラから上記
の第二のコントローラの副プロセッサに、データ・スト
リームを送るための機構を含んでいる。
【0011】それ故、本発明の一つの目的は、目標装置
の性能を実質的に低下させないで、二つの装置間でデー
タを転送する新規で有用な方法を提供することである。
【0012】本発明の他の目的は、冗長度を与える目的
でデータをコピーするための改良された方法を提供する
ことである。
【0013】本発明のさらに他の目的は、目標装置の性
能を実質的に低下させないで、二つの装置間でデータを
転送する新規で有用な装置を提供することである。
【0014】本発明の上記のおよび他の目的、特徴およ
び利点は、以下の説明を読み、添付の図面を見れば明ら
かになる。
【0015】
【発明の実施の形態】本発明は種々の修正を行うことも
できるし、種々の別の形式で実行することもできるが、
特定の実施例を説明のために図面に示し、以下に詳細に
説明する。しかし、本発明は開示した特定の形式に制限
されるものではなく、それどころかすべての修正、等価
物および修正したものは、添付の特許請求の範囲により
定義する本発明の精神および範囲内に含まれるものであ
ることを理解してほしい。
【0016】図1に、ホスト・コンピュータ10および
ホスト・コンピュータ10に接続している周辺ディスク
・ドライブ装置12からなるコンピュータ・システム2
を示す。ホスト・コンピュータ10は、第一のホスト・
アダプタ14および第二のホスト・アダプタ16を含ん
でいるが、これら両方のアダプタは、ホスト・コンピュ
ータ10とディスク・ドライブ装置12のような種々の
周辺機器の間のインターフェースとして機能する。
【0017】ディスク・ドライブ装置12は、第一のキ
ャッシュ処理ディスク・アレー・コントローラ18、第
二のキャッシュ処理ディスク・アレー・コントローラ2
0、およびSCSIチャネル22A−22Eのような複
数のバックエンド・バス、すなわち、チャネルを含んで
いて、これらのチャネルは、第一のコントローラ18と
第二のコントローラ20とを相互接続し、また各バス2
2A−22Eのぞれぞれに接続しているデータ・ディス
ク24A−24Eのような一つまたはそれ以上の記憶媒
体を含むことができる。SCSIは、小型コンピュータ
・システム・インターフェース(Small Comp
uter System Interface)の頭字
語であり、これにより入/出力装置の通信プロトコル基
準が決まる。上記の基準の最初のバージョンSCSI−
1は、参考文献として本明細書に組み込まれているAN
SI文書番号X3.131−1986に記載されてい
る。SCSI−1の仕様は、SCSI−2と呼ばれる拡
張インターフェースによってアップグレードされた。S
CSI−2の仕様は、同様に本明細書に参考文献として
組み込まれているANSI文書番号X3.131−19
94に記載されている。 上記の実施例の場合には、協
力してワン・カラム・ディスク・アレー26を形成する
と同時に、それぞれが個々にバス22A−22Eを通し
てコントローラ18,20に接続している5台のディス
ク24A−24Eを使用している。ディスク・アレー2
6は、廉価ディスクの冗長アレー(RAID)と呼ばれ
る設計を使用している。RAID−1からRAID−5
と呼ばれる五つのレベルのRAID設計は、当業者にと
っては周知であり、参考文献として本明細書に組み込ま
れている1987年12月付けのデイビッド A.パタ
ーソン、ガース・ギブソンおよびランディ H.カッツ
著のカリフォルニア大学レポート、UCB/CSD87
/391の「廉価ディスクの冗長アレー(RAID)の
一例」という表題の出版物に記載されている。ディスク
・アレー26が、それぞれのバス22A−22Eに接続
しているディスクの追加カラムを含むことができること
を理解してほしい。例えば、30のディスク・ドライブ
からなる5x6のディスク・アレーは、各バス22A−
22Eにそれぞれ5個の追加ディスクを接続することに
よって形成することができる。
【0018】ホスト・コンピュータ10、および特にホ
スト・アダプタ14、16は、ホストSCSIバス28
および30のような独立しているバスを通して、各ディ
スク・アレー・コントローラ18、20に接続してい
る。第一のコントローラ18は、従来のインテルの48
6マイクロプロセッサのような主データ・プロセッサ3
1、入/出力プロセッサのような副プロセッサ32およ
びキャッシュ・メモリ33を含んでいる。キャッシュ・
メモリ33は、主キャッシュ・メモリ領域34および代
替キャッシュ・メモリ領域36からなる少なくとも二つ
の独立している領域に分割することができる。同様に、
第二のコントローラ20は、従来のインテルの486マ
イクロプロセッサのような主データ・プロセッサ37、
入/出力プロセッサにような副プロセッサ38および主
キャッシュ・メモリ領域40および代替キャッシュ・メ
モリ領域42からなる少なくとも二つの独立している領
域に分割することができるキャッシュ・メモリ39を含
んでいる。
【0019】入/出力プロセッサ32、38は、コント
ローラ・ファームウェアまたは各マイクロプロセッサ3
1、37によって実行される他のマイクロプロセッサに
よって実行することができるコードとは無関係に、AS
IC(Application Specific I
ntegrated Circuit)仕様命令を実行
する。適当な入/出力プロセッサの例としては、コロラ
ド州のフォート・コリンズ所在のシンバイオス・ロジッ
ク社製のSCSI入/出力プロセッサ(SIOP)53
C825チップがある。53C825入/出力プロセッ
サは、シンバイオス・ロジック社製品の53C8XXシ
リーズの制御用に特に設計されたASIC仕様命令セッ
トであるSCRIPTS命令を実行する。
【0020】コントローラ18、20は、二つのモード
の内の一つ、すなわち、受動−能動モードまたは二重能
動モードの内の一方のモードで動作することができる。
二重能動モードの場合には、両方のコントローラ18、
20は、他のコントローラが独占して使用できるように
割り当てられたそれぞれのキャッシュ・メモリ部分3
3、39を有している。これにより、二重能動モードの
場合には、両方のコントローラ18、20は、主コント
ローラおよび代替コントローラとして機能する。特に、
主キャッシュ・メモリ領域34は、ホスト・コンピュー
タ10からのキャッシュ読み出し/書き込み要求の間使
用できるようにコントローラ18に割り当てられ、代替
キャッシュ・メモリ領域36は、コントローラ20の主
キャッシュ・メモリ領域40に記憶されている書き込み
要求データをコピーする際に使用することができるよう
に、コントローラ20に割り当てられる。コントローラ
20は、代替キャッシュ・メモリ領域36にコピーまた
は記憶される書き込み要求データの管理を分担する。簡
単にいうと、代替コントローラ20は、コントローラ1
8用の遠隔メモリとして使用され、コントローラ18は
遠隔メモリからのデータを更新したり、受信したりする
ことができる。
【0021】同様に、主キャッシュ・メモリ領域40
は、ホスト・コンピュータ10からのキャッシュ読み出
し/書き込み要求データの処理の間に使用できるように
コントローラ20に割当られ、代替キャッシュ・メモリ
領域42は、コントローラ18の主キャッシュ・メモリ
領域34に記憶されている書き込み要求データのコピー
に使用することができるように、コントローラ18に割
り当てられる。コントローラ18は代替キャッシュ・メ
モリ領域42にコピーされる書き込み要求データの管理
を分担する。
【0022】代替キャッシュ・メモリ領域42、36
は、コンピュータ・システム2の始動動作のシステム構
成段階で、各コントローラ18、20に割り当てられ
る。主キャッシュ・メモリ領域34に割り当てられると
きに、代替キャッシュ・メモリ領域42には、同じ対応
するメモリ・アドレスが割り当てられ、主キャッシュ・
メモリ領域40に割当が行われるとき、代替キャッシュ
・メモリ領域36には、同じ対応するメモリ・アドレス
を割り当てることができ、それにより仮想記憶マッピン
グ動作の必要がなくなるので、コピー動作が簡単になる
ことを理解してほしい。
【0023】受動−能動モードの場合には、一方のコン
トローラ、例えば、コントローラ18は、主コントロー
ラとして機能し、ホスト・コンピュータ10からの読み
出し/書き込み要求を受けとり、一方、他のコントロー
ラ、すなわち、コントローラ20は、代替コントローラ
として機能し、二重能動モードのところですでに説明し
たように、主コントローラ18の命令により書き込み要
求データをコピーするために、キャッシュ・メモリを提
供する。
【0024】代替キャッシュ・メモリ領域36は、主キ
ャッシュ・メモリ40と同じ大きさである必要はなく、
また代替キャッシュ・メモリ領域42は、主キャッシュ
・メモリ領域34と同じ大きさである必要がないことを
理解してほしい。例をあげて説明すると、代替キャッシ
ュ・メモリ領域42は、コントローラ18が記憶しなけ
ればならないコピーした書き込み要求データのすべてを
処理するのに十分な大きさがあればそれで十分である。
任意の一定の時間に、主キャッシュ・メモリ領域34、
および同様に主キャッシュ・メモリ領域40は、読み出
しキャッシュのX%、書き込みキャッシュのY%および
それに割り当てられた未使用のメモリのZ%を有してい
る。この場合、主キャッシュ・メモリ領域34のX+Y
+Zは100%である。主キャッシュ・メモリ領域34
内に記憶することができる書き込み要求データ(書き込
みキャッシュのY%)の最大量が、主キャッシュ・メモ
リ領域34の100%以下である場合には、代替キャッ
シュ・メモリ領域42は主キャッシュ・メモリ領域34
より小さくてもかまわない。すなわち、代替キャッシュ
・メモリ領域42は、書き込みキャッシュ処理に割り当
てられた主キャッシュ・メモリ領域34の領域と同じ大
きさでありさえすればいい。
【0025】説明を分かりやすくするために、今後説明
を主キャッシュ・メモリ領域34と代替キャッシュ・メ
モリ領域42との間のデータ転送だけに限定する。しか
し、主キャッシュ・メモリ領域40と代替キャッシュ・
メモリ領域36との間のデータ転送は、アナログ方式で
行われることを理解してほしい。
【0026】コントローラ18は、第一ホスト・アダプ
タ14およびバス28を通してホスト・コンピュータ1
0から書き込み要求を受け取る。コントローラ18が主
キャッシュ・メモリ領域34に書き込み要求データを記
憶した後で、コントローラ18は、書き込み要求データ
をコントローラ20の代替キャッシュ・メモリ領域42
にコピーするように命令する。もっと詳細に説明する
と、コントローラ18は、コピーされる実際の書き込み
要求データの前に置かれるSCRIPTS命令を組み立
てる。その後、SCRIPTS命令および書き込み要求
データは、バス22A−22Eの一つを通して、入/出
力プロセッサ38に送られる。入/出力プロセッサ38
は、入/出力プロセッサ38にマイクロプロセッサ37
からの介入なしに、実際の書き込み要求データを代替キ
ャッシュ・メモリ領域42に転送するように命令するS
CRIPTS命令を実行する。マイクロプロセッサのレ
ベルの中断は起こらないが、書き込み要求データがコン
トローラ20に送られ、処理を受けている間、バス22
A−22Eの帯域幅がそうであるように、コントローラ
20の内部バス(図示せず)の帯域幅が影響を受けるこ
とを理解してほしい。
【0027】図2に、データを代替キャッシュ・メモリ
領域42に転送するとき、SCRIPTSまたはASI
C仕様制御命令を含んでいる制御部分、およびコントロ
ーラ18により入/出力プロセッサ38に送られる実際
の書き込み要求データを含んでいるデータ部分を示すデ
ータ・ストリーム43の一例のチャートを示す。コント
ローラ18は、図2に示す命令フォーマットに従って、
入/出力プロセッサ38によって処理されるSCRIP
TSまたはASIC仕様制御命令を作り上げるか、組み
立てる。SCRIPTS命令は、A’、B’、B”、
C’およびC”として識別され、実際の書き込み要求デ
ータはD’、E’およびF’として識別される。A’S
CRIPTS命令は、アドレス・フィールドを持たない
が、バイト数フィールド44を有している一個のMOV
E−DATA−OUT SCRIPT命令である。A’
SCRIPTS命令は、実際の書き込み要求データD’
−F’の前にSCRIPTS命令のバイト数がいくつあ
るかを表示する。A’SCRIPTS命令のバイト数
は、(以下にさらに詳細に説明する)分散ー集合リスト
の長さで決まる。すなわち、分散−集合リストは、書き
込み要求データを転送するのに何個のSCRIPTS命
令が必要であるかを決定するのに使用される。
【0028】B’およびB”命令は一組のMOVE−D
ATA−INまたはMOVE−DATA−OUT SC
りPTS命令を表す。MOVE−DATA−IN SC
RIPTS命令は、代替キャッシュ・メモリ領域42に
記憶されている書き込み要求データを主キャッシュ・メ
モリ領域34へ転送するのに使用される。MOVE−D
ATA−OUT SCRIPTS命令は、主キャッシュ
・メモリ領域34に記憶されている書き込み要求データ
を、代替キャッシュ・メモリ領域42へ転送するのに使
用される。n個のMOVE−DATA−IN SCRI
PTS命令および/またはn個のMOVE−DATA−
OUT SCRIPTS命令が使用される場合がある
が、この場合、nは(MOVE−DATA−OUT S
CRIPTS命令用の)主キャッシュ・メモリ領域34
または(MOVE−DATA−INSCRIPTS命令
用の)代替キャッシュ・メモリ領域42に記憶されてい
る書き込み要求データのブロック数を表す(以下にさら
に詳細に説明する)分散−集合構造体の数を示す。
【0029】B’SCRIPTS命令は、命令がMOV
E−DATA−IN命令か、MOVE−DATA−OU
T命令であるかを識別するためのフィールド46を含ん
でいる。B’SCRIPTS命令は、また特定のキャッ
シュ・メモリ領域34または42に記憶されている書き
込み要求データのバイト数を表すバイト数フィールド4
8を含んでいる。B”SCRIPTS命令は、書き込み
要求データが記憶されている特定のキャッシュ・メモリ
・ブロックのアドレスを表すアドレス・フィールド50
を含んでいる。命令B’およびB”のバイト数情報およ
びアドレス情報は、コントローラ18がキャッシュ・メ
モリ34へデータを転送し、またそこから送り出す際に
組立て、維持する(以下にさらに詳細に説明する)分散
−集合リストから直接得られる。
【0030】C’およびC”SCRIPTS命令は、代
替キャッシュ・メモリ領域42への書き込み要求データ
のコピー(MOVE−DATA−OUT命令)が完了し
たか、代替キャッシュ・メモリ領域42からの書き込み
要求データの返送(MOVE−DATA−IN命令)が
完了したことを入/出力プロセッサ38に指示し、制御
を通常の入/出力プロセッサ38の作動プログラムに戻
さなければならないことを命令するRETURNコマン
ドを表す。C”SCRIPTS命令は、現在未使用のパ
ラメータ・フィールドを含んでいる。
【0031】従来の「分散−集合」リスト(図示せず)
は、多数の従来の「分散ー集合」構造体(図示せず)か
らなっている。「分散−集合」リストはシーケンシャル
に接続して、キャッシュ・メモリ34全体の独立したブ
ロック内に記憶することができるデータの連続ブロック
または論理ブロックを形成する。独立している「分散−
集合」構造体は、キャッシュ・メモリ34全体に記憶す
ることができるデータの独立した各ブロックに関連して
いる。例としてあげた「分散−集合」構造体は、四つの
フィールド、すなわち、主キャッシュ・メモリ領域34
に記憶されているデータの特定のブロックの最初のアド
レスを含んでいるローカル・アドレス・フィールド、代
替キャッシュ・メモリ領域42に記憶されているか/そ
こから検索されたデータの特定のブロックが存在してい
るか、または存在しているはずの最初のアドレスを含ん
でいる遠隔アドレス・フィールド、データのブロックの
バイト単位の長さを含んでいる長さフィールド、および
次の「分散−集合」構造体のアドレスをポイントするポ
イント・フィールドを含んでいる。
【0032】データ・ストリーム43を入/出力プロセ
ッサ38に転送するために、コントローラ18は、主キ
ャッシュ・メモリ領域34に記憶している書き込み要求
データに関する「分散−集合」リストを、コントローラ
18内に常駐している従来の共通のSCSIドライバ
(CDS)(図示せず)に提供する。CSDは、バス2
2A−22Eを通して行われるデータの転送を制御する
周知のソフトウエア・モジュ−ルである。同様に、書き
込み要求データD’−F’に先だって、バス22A−2
2Eを通してSCRIPTS命令A’−C”を送るため
に、CSDによって特別の「分散−集合」構造体(図示
せず)を「分散−集合」リストの冒頭の部分に追加しな
ければならない。上記の特別の「分散−集合」構造体
は、SCRIPTS移動命令A’−C”が記憶されてい
る最初のメモリ・アドレスの場所をポイントし、以降の
「分散−集合」構造体は、それぞれ代替キャッシュ・メ
モリ領域42にコピーされる書き込み要求データD’−
F’のシーケンシャルなブロックの最初のメモリ・アド
レスの場所をポイントする。CSDは、SCRIPTS
命令A’−C”を組み立てるため、またSCRIPTS
命令A’−C”および書き込み要求データD’−F’の
両方を含んでいるデータ・ストリームを、少なくともバ
ス22A−22Eの一つを通して、図2に示すフォーマ
ットで転送するために「分散−集合」リストを使用す
る。
【0033】バス22を通して、データ・ストリーム4
3が送られると、入/出力プロセッサ38は、MOVE
−DATA−OUT SCRIPTS命令B’、B”に
従って、代替キャッシュ・メモリ領域42に書き込み要
求データD’−F’を記憶する。逆に、入/出力プロセ
ッサ38は、MOVE−DATA−IN SCRIPT
S命令B’、B”に従って、代替キャッシュ・メモリ領
域42に記憶されている書き込み要求データをバス22
上に転送する。
【0034】図3は、コントローラ18により入/出力
プロセッサ38に送ることができる制御命令とデータか
らなる代替データ・ストリーム51を表すグラフを示
す。上記の実施例においては、書き込み要求データが代
替キャッシュ・メモリ領域42にコピーされ、またコン
トローラ18が記憶媒体に書き込み要求データを書き込
んだ後、代替キャッシュ・メモリ領域42内のメモリ・
スペースを再使用することができるように、コントロー
ラ18はコピーした書き込み要求データを無効にする。
これにより、コントローラ18は、代替キャッシュ・メ
モリ領域42に記憶されているコピーした書き込み要求
データを無効にするために、データ・ストリーム51を
入/出力プロセッサ38に送る。
【0035】図3に示すように、データ・ストリーム5
1は、バイト数ブロックA’の後に続くペアになってい
るアドレス/データの数(n)を示すフィールド52を
有しているバイト数ブロックA’を含んでいる。アドレ
ス/データの各ペアはアドレス情報を含んでいるフィー
ルド54を有しているアドレス・ブロックB’およびデ
ータを含んでいるフィールド56を有しているデータ・
ブロックB”を含んでいる。各フィールド56内のデー
タは、アドレス・ブロックB’のフィールド54から始
まる代替キャッシュ・メモリ領域42に記憶される。ア
ドレス/データの各ペアは、代替キャッシュ・メモリ領
域42に記憶されているコピーした特定の書き込み要求
データ・ブロックの状況についてコントローラ20を更
新する。アドレス/データのペアB’,B”は、データ
・ストリーム43でのようにSCRIPTSコードを含
んでいないことに注目してほしい。その代わりに、アド
レス/データの各ペアB’、B”は、入/出力プロセッ
サ38がマイクロプロセッサ37の動作を中断しないで
実行するSCRIPTSルーチンによって解釈すること
ができる形式の更新情報を含んでいる。
【0036】図4に、データ・ストリーム43を処理し
ているとき、入/出力プロセッサ38によって実行され
るSCRIPTSルーチンまたはパス57の例を表すフ
ローチャートを示す。ステップ58において、入/出力
プロセッサ38は、従来の実行パス内で作動するが、こ
のパス内においては、入/出力プロセッサ38は、WA
IT−FOR−SELECT命令を受けとった後で、選
択したものを処理する。処理を行っている間、入/出力
プロセッサ38は、特にキャッシュ読み取り/書き込み
コピー転送コマンド用のコマンド記述子ブロック(CD
B)をチェックする。キャッシュ読み取り/書き込みコ
ピー転送コマンドが存在している場合には、入/出力プ
ロセッサ38は、従来の実行パスからステップ60から
始まるSCRIPTSルーチン57にジャンプする。
【0037】ステップ60においては、入/出力プロセ
ッサ38は、データ・ストリーム43の最初の4バイト
をステップ62内の「nバイト」フィールド64に転送
するようにとの命令を受ける。すなわち、ステップ60
のSCRIPTS命令は、ステップ62内の第二のMo
ve Data SCRIPTS命令内の「nバイト」
フィールド64を、データ・ストリーム43内のSCR
IPTS命令A’のバイト数フィールド44内に含まれ
ているバイト数データ(n*8)で上書きするようにと
のデータ移動命令である。ステップ62においては、入
/出力プロセッサ38は、第二のデータ移動SCRIP
TS命令を実行するが、この命令内においては、SCR
IPTS命令であるB’−C”(MOVE−DATA−
INおよび/またはMOVE−DATA−OUTおよび
RETURN SCRIPTS命令)を表すデータ・ス
トリーム43の次の(n*8)バイトが、コントローラ
20によって割り当てられるスクラッチ・バッファ66
のような予め定めた領域に書き込まれる。
【0038】ステップ68における第三のSCRIPT
S命令が実行されると、入/出力プロセッサ38の制御
は、第一のSCRIPTS命令に渡され、その後ステッ
プ62でバッファ66に書き込まれたそれ以降のSCR
IPTS命令B’,B”に渡される。入/出力プロセッ
サ38が、B’、B”MOVE−DATA−OUTSC
RIPTS命令を実行すると、B’SCRIPTS命令
のバイト数フィールド48内で指定されている書き込み
要求データ・バイトの数が、データ・ストリーム43か
ら取り出され、B”SCRIPTS命令のアドレス・フ
ィールド50内に指定されているアドレスから始まる代
替キャッシュ・メモリ42に書き込まれる。入/出力プ
ロセッサ38が、B’、B”MOVE−DATA−IN
SCRIPTS命令を実行すると、B’SCRIPT
S命令のバイト数フィールド48内で指定されている書
き込み要求データ・バイトの数が、代替キャッシュ・メ
モリ領域42から検索され、バス22A−22Eの内の
一つまたはそれ以上に送られる。指定された数のデータ
・バイトが、B”SCRIPTS命令のアドレス・フィ
ールド50内に指定されているアドレスから始まる代替
キャッシュメモリ42から取り出される。
【0039】すべてのB’およびB”SCRIPTS命
令が入/出力プロセッサ38によって実行された後で、
C’およびC”SCRIPTS命令が実行されるが、こ
れら命令は、SCRIPTSルーチン57内のステップ
70内の第四のSCRIPTS命令に制御を戻す命令で
ある。ステップ70においては、第四のSCRIPTS
命令が実行されるが、この命令はSCRIPTSルーチ
ン57を終了させ、制御をステップ72の入/出力プロ
セッサ38の従来の実行パスに戻す命令である。 書き
込み要求データのコントローラ20の代替キャッシュ・
メモリ領域42へのコピーが成功した後で、コントロー
ラ18は、ホスト・コンピュータ10に、書き込み要求
のコピーが成功したことを示す状況情報を送る。その
後、コントローラ18は、選択した特定の書き戻しキャ
ッシュ処理アルゴリズムに従って、ディスク・アレー2
6にデータを書き込むことができる。コントローラ18
が故障した場合、またはディスク・アレー26に実際に
データを書き込む前に故障が起きた場合には、書き込み
要求データをコントローラ20の代替キャッシュ・メモ
リ領域42から回復することができる。もっと詳細に説
明すると、コントローラ20は代替キャッシュ・メモリ
領域42に記憶された書き込み要求データを解釈し、再
構成することができる。
【0040】コピーした書き込み要求データが無効にな
ると、コントローラ18は入/出力プロセッサ38にデ
ータ・ストリーム51を送る。図4に示すルーチンに類
似しているSCRIPTSルーチン(図示せず)は、入
/出力プロセッサ38によって実行され、データ・スト
リーム51のデータ・ブロックB”内に指定されている
データ情報は、データ・ストリーム51のアドレス・ブ
ロックB’内に指定されているアドレスから始まる代替
キャッシュ・メモリ領域42に転送される。
【0041】本発明を図面内に詳細に図示し、上記の記
述により詳細に説明してきたが、これらの図面および記
述は説明するためのものであって、本発明はそれにより
制限されるものではない。好適な実施例だけを図示し説
明してきたが、本発明の精神によりカバーされるすべて
の変更および修正は、本発明の範囲に含まれることを理
解してほしい。
【0042】例えば、ディスク24をコントローラ18
および20に接続しないで、少なくとも一本のバス22
で上記のコントローラ18および20を相互に接続でき
ることを理解してほしい。これにより、コントローラ1
8を、制御部分およびデータ部分を含むことができるデ
ータ・ストリーム転送用の専用チャネルを通して、コン
トローラ20に接続することができる。
【0043】さらに、本発明がハードウエアの動作を中
断しないで、書き込み要求データを第二の装置にコピー
する動作に制限されるものではないことも理解してほし
い。もっと詳細に説明すると、第一の装置は、第二の装
置内でハードウエアの動作を中断しないで、データ・ス
トリームを第二の装置に送ることができる。この場合、
データ・ストリームは制御情報またはメッセージだけを
含んでいる。
【0044】一つの例として、その内部において第一の
装置が、第二の装置に第二の装置に記憶されているデー
タを検索するように命令する読み出し要求をあげること
ができる。チャネルを通して、第一の装置から第二の装
置に送られたデータ・ストリームは、第二の装置のデー
タ・プロセッサのハードウエアの動作をまったく中断し
ないで、第二の装置内の代替キャッシュ・メモリ領域か
らのコピーした書き込み要求データを検索するように命
令し、チャネルを通してコピーした書き込み要求データ
を第一の装置に送り返すように、第二の装置に対して命
令するASIC仕様の制御命令を含むことができる。こ
れにより、第一の装置からチャネルを通して第二の装置
に送られたデータ・ストリームは、書き込み要求データ
以外の情報を含むことができ、データ・ストリーム内に
ASIC仕様の制御命令が含まれている場合には、AS
IC仕様の制御命令は、第二の装置の副プロセッサに第
二の装置のメモリ領域に単にデータを記憶する以外の種
々の方法で実行を行うように命令することができる。
【図面の簡単な説明】
【図1】 本発明のデータ転送方法に従ってデータをコ
ピーする、本発明の多重コントローラ・ディスク・アレ
ー装置を含むコンピュータ・システムのブロック図であ
る。
【図2】 ASIC仕様命令および代替コントローラに
コピーされる書き込み要求データを含むデータ・ストリ
ームのフォーマットを示すチャートである。
【図3】 代替コントローラ内に記憶されているコピー
されたデータ表示を無効にするためのデータ・ストリー
ムのフォーマットを示すチャートである。
【図4】 書き込み要求データをコピーする際に、代替
コントローラによって実行されるルーチンを示すフロー
チャートである。

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 主データ・プロセッサおよび副プロセッ
    サを有している第二の装置を使用して、第一の装置から
    第二の装置にデータを転送する方法であって、 第一の装置から第二の装置に、制御部分とデータ部分を
    有しているデータ・ストリームを転送するステップと、 主データ・プロセッサの動作を中断しないで、制御部分
    に従って副プロセッサによりデータ部分を処理するステ
    ップとを含む方法。
  2. 【請求項2】 転送ステップが、第一の装置内で制御部
    分を組み立てるステップと、 第一の装置から第二の装置の副プロセッサに、制御部分
    とデータ部分とを送るステップとを含む請求項1に記載
    の方法。
  3. 【請求項3】 第一の装置が使用できるように、第二の
    装置内においてメモリ領域を割り当てるステップをさら
    に含む請求項2に記載の方法。
  4. 【請求項4】 処理ステップが、第二の装置の主データ
    ・プロセッサの動作を中断しないで、第二の装置内のメ
    モリ領域にデータ部分を記憶するステップを含む請求項
    3に記載の方法。
  5. 【請求項5】 処理ステップが、第二の装置の主データ
    ・プロセッサの動作を中断しないで、第二の装置内のメ
    モリ領域から第一の装置にデータを送るステップを含ん
    でいる請求項3に記載の方法。
  6. 【請求項6】 組立ステップが、副プロセッサによって
    実行することができるASIC仕様の命令を組み立てる
    ステップを含む請求項2に記載の方法。
  7. 【請求項7】 第一の装置および第二の装置がそれぞれ
    キャッシュ処理ディスク・アレー・コントローラである
    請求項1に記載の方法。
  8. 【請求項8】 副プロセッサが、入/出力プロセッサで
    ある請求項1に記載の方法。
  9. 【請求項9】 副プロセッサが、ASIC仕様命令を実
    行する請求項1に記載の方法。
  10. 【請求項10】 主プロセッサおよび副プロセッサを有
    している第二の装置を使用して、第一の装置から第二の
    装置にデータを転送する方法であって、 ホスト装置から第一の装置に大量の書き込み要求データ
    を転送するステップと、 第一の装置が使用することができるように、第二の装置
    内でメモリ領域を割り当てるステップと、 第二の装置の主プロセッサの動作を中断しないで、第一
    の装置から第二の装置内のメモリ領域に書き込み要求デ
    ータをコピーするステップとを含む方法。
  11. 【請求項11】 コピー・ステップが、 第一の装置内で制御命令を組み立てるステップと、 第一の装置から第二の装置の副プロセッサに、制御命令
    および書き込み要求データを含むデータ・ストリームを
    送るステップと、 主プロセッサの動作を中断しないで、制御命令に従っ
    て、副プロセッサにより書き込み要求データを処理する
    ステップとを含む請求項10に記載の方法。
  12. 【請求項12】 制御命令がASIC仕様の命令で、入
    /出力プロセッサがASIC仕様の命令を実行する請求
    項11に記載の方法。
  13. 【請求項13】 第一の装置および第二の装置がそれぞ
    れキャッシュ処理ディスク・アレー・コントローラであ
    る請求項10に記載の方法。
  14. 【請求項14】 副プロセッサが、入/出力プロセッサ
    である請求項10に記載の方法。
  15. 【請求項15】 副プロセッサが、ASIC仕様の命令
    を実行する請求項10に記載の方法。
  16. 【請求項16】 多重コントローラ装置であって、 第一のコントローラと、 主プロセッサと副プロセッサを有している第二のコント
    ローラと、 上記の第一のコントローラを上記の第二のコントローラ
    に接続するチャネルと、 上記の第二のコントローラの主プロセッサの動作を中断
    しないで、上記の第一のコントローラから上記の第二の
    コントローラの副プロセッサに、チャネルを通してデー
    タ・ストリームを送る手段とからなる装置。
  17. 【請求項17】 第二のコントローラが、第一のコント
    ローラ専用に割り当てられたメモリを含む請求項16に
    記載の装置。
  18. 【請求項18】 上記のデータ・ストリームが、ASI
    C仕様の制御命令を含む請求項17に記載の装置。
  19. 【請求項19】 上記の副プロセッサが、上記のASI
    C仕様の制御命令を実行するための手段を含む請求項1
    8に記載の装置。
  20. 【請求項20】 上記のデータ・ストリームが、データ
    を含み、上記の副コントローラが上記のASIC仕様の
    制御命令に従って、上記のメモリ領域にデータを記憶す
    るための手段を含む請求項19に記載の装置。
  21. 【請求項21】 上記の副コントローラが、上記のAS
    IC仕様の制御命令に従って、上記のチャネルを通し
    て、上記の第一のコントローラに上記のメモリ領域に記
    憶したデータを送る手段を含む請求項19に記載の装
    置。
  22. 【請求項22】 主データ・プロセッサおよび副プロセ
    ッサを有している第二の装置を使用して、第一の装置か
    ら第二の装置にデータを転送するためのステップを実行
    するために、機械が実行することができるプログラムま
    たは命令を確実に実施する機械が読むことができるプロ
    グラム記憶装置であって、 上記のステップが第一の装置から第二の装置に制御部分
    およびデータ部分を有しているデータ・ストリームを転
    送するステップと、 主データ・プロセッサの動作を中断しないで、制御部分
    に従って、副プロセッサによりデータ部分を処理するス
    テップとを含む装置。
JP8124307A 1995-05-22 1996-05-20 マイクロプロセッサのオーバーヘッドを短縮させて、二つの装置間でデータを転送する方法および装置 Pending JPH08314848A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/445,828 1995-05-22
US08/445,828 US5917723A (en) 1995-05-22 1995-05-22 Method and apparatus for transferring data between two devices with reduced microprocessor overhead

Publications (1)

Publication Number Publication Date
JPH08314848A true JPH08314848A (ja) 1996-11-29

Family

ID=23770354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8124307A Pending JPH08314848A (ja) 1995-05-22 1996-05-20 マイクロプロセッサのオーバーヘッドを短縮させて、二つの装置間でデータを転送する方法および装置

Country Status (3)

Country Link
US (1) US5917723A (ja)
EP (1) EP0744697A1 (ja)
JP (1) JPH08314848A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259502A (ja) * 1998-08-11 2000-09-22 Ncr Internatl Inc データ・ストレージとデータ処理システムにおける書き込みキャッシュデータの転送方法及びその装置

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3578886B2 (ja) * 1997-05-02 2004-10-20 東京エレクトロン株式会社 プロセス制御システムとそのプロセスデータ転送制御方法
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US6105075A (en) * 1997-08-05 2000-08-15 Adaptec, Inc. Scatter gather memory system for a hardware accelerated command interpreter engine
US6381674B2 (en) * 1997-09-30 2002-04-30 Lsi Logic Corporation Method and apparatus for providing centralized intelligent cache between multiple data controlling elements
US6571139B1 (en) * 1998-05-29 2003-05-27 Sony Corporation Information processing apparatus, information processing system, information processing method, and providing medium
JP3358655B2 (ja) * 1998-12-22 2002-12-24 日本電気株式会社 ディスクアレイ装置におけるキャッシュメモリ管理方法
US6651113B1 (en) * 1999-12-22 2003-11-18 Intel Corporation System for writing data on an optical storage medium without interruption using a local write buffer
US6647499B1 (en) * 2000-01-26 2003-11-11 International Business Machines Corporation System for powering down a disk storage device to an idle state upon trnsfer to an intermediate storage location accessible by system processor
US6862659B1 (en) * 2001-01-04 2005-03-01 Emc Corporation Utilizing disk cache as part of distributed cache
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US7154886B2 (en) 2002-07-22 2006-12-26 Qlogic Corporation Method and system for primary blade selection in a multi-module fiber channel switch
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
JP2004110367A (ja) * 2002-09-18 2004-04-08 Hitachi Ltd 記憶装置システムの制御方法、記憶制御装置、および記憶装置システム
US7319669B1 (en) 2002-11-22 2008-01-15 Qlogic, Corporation Method and system for controlling packet flow in networks
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP2004220450A (ja) * 2003-01-16 2004-08-05 Hitachi Ltd ストレージ装置、その導入方法、及びその導入プログラム
US7383381B1 (en) 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US8166128B1 (en) 2003-02-28 2012-04-24 Oracle America, Inc. Systems and methods for dynamically updating a virtual volume in a storage virtualization environment
US7236987B1 (en) 2003-02-28 2007-06-26 Sun Microsystems Inc. Systems and methods for providing 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
US6961784B1 (en) * 2003-04-17 2005-11-01 Qlogic Corporation Method and system for processing non-data frames in host bus adapters
JP2005018193A (ja) 2003-06-24 2005-01-20 Hitachi Ltd ディスク装置のインタフェースコマンド制御方法ならびに計算機システム
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7234101B1 (en) 2003-08-27 2007-06-19 Qlogic, Corporation Method and system for providing data integrity in storage systems
JP4386694B2 (ja) * 2003-09-16 2009-12-16 株式会社日立製作所 記憶システム及び記憶制御装置
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
US7219201B2 (en) 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4307202B2 (ja) 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
US7219263B1 (en) 2003-10-29 2007-05-15 Qlogic, Corporation Method and system for minimizing memory corruption
JP4307964B2 (ja) 2003-11-26 2009-08-05 株式会社日立製作所 アクセス制限情報設定方法および装置
JP2005196490A (ja) * 2004-01-07 2005-07-21 Hitachi Ltd データ多重化のためのシステム及び方法
JP2005202893A (ja) * 2004-01-19 2005-07-28 Hitachi Ltd 記憶デバイス制御装置、ストレージシステム、プログラムを記録した記録媒体、情報処理装置、及びストレージシステムの制御方法
JP4391265B2 (ja) * 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7669190B2 (en) 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
JP4646574B2 (ja) 2004-08-30 2011-03-09 株式会社日立製作所 データ処理システム
US7577772B2 (en) * 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
US20060064531A1 (en) * 2004-09-23 2006-03-23 Alston Jerald K Method and system for optimizing data transfer in networks
US7676611B2 (en) * 2004-10-01 2010-03-09 Qlogic, Corporation Method and system for processing out of orders frames
US7380030B2 (en) * 2004-10-01 2008-05-27 Qlogic, Corp. Method and system for using an in-line credit extender with a host bus adapter
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
US7398335B2 (en) * 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
US7164425B2 (en) * 2004-12-21 2007-01-16 Qlogic Corporation Method and system for high speed network application
JP2006185335A (ja) * 2004-12-28 2006-07-13 Toshiba Corp 情報処理装置及びこの情報処理装置の制御方法
US7392437B2 (en) 2005-01-20 2008-06-24 Qlogic, Corporation Method and system for testing host bus adapters
US7281077B2 (en) * 2005-04-06 2007-10-09 Qlogic, Corporation Elastic buffer module for PCI express devices
US7231480B2 (en) * 2005-04-06 2007-06-12 Qlogic, Corporation Method and system for receiver detection in PCI-Express devices
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7461195B1 (en) 2006-03-17 2008-12-02 Qlogic, Corporation Method and system for dynamically adjusting data transfer rates in PCI-express devices
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8380674B1 (en) * 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US20100153612A1 (en) * 2008-12-15 2010-06-17 Lsi Corporation Transport agnostic scsi i/o referrals
US8805837B2 (en) 2009-10-26 2014-08-12 Microsoft Corporation Alternate data stream cache for file classification
FR3005363B1 (fr) * 2013-05-02 2015-05-01 Bull Sas Procede et dispositif de sauvegarde de donnees dans une infrastructure informatique offrant des fonctions de reprise d'activite

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4123794A (en) * 1974-02-15 1978-10-31 Tokyo Shibaura Electric Co., Limited Multi-computer system
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
DE2641741C2 (de) * 1976-09-16 1986-01-16 Siemens AG, 1000 Berlin und 8000 München Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
JPS6016664B2 (ja) * 1977-10-28 1985-04-26 豊田工機株式会社 デ−タ転送装置
US4327408A (en) * 1979-04-17 1982-04-27 Data General Corporation Controller device with diagnostic capability for use in interfacing a central processing unit with a peripheral storage device
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
JPS59154564A (ja) * 1983-02-24 1984-09-03 Hitachi Ltd プログラマブルコントロ−ラ
JPS6272248A (ja) * 1985-09-25 1987-04-02 Hitachi Ltd デ−タ伝送システムの現用予備切替方法
WO1988008606A1 (fr) * 1987-04-28 1988-11-03 Fujitsu Ten Limited Procede et appareil pour le transfert de donnees
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
US4959768A (en) * 1989-01-23 1990-09-25 Honeywell Inc. Apparatus for tracking predetermined data for updating a secondary data base
US5331538A (en) * 1989-10-23 1994-07-19 Pitney Bowes Inc. Mail processing system controller
US5225974A (en) * 1990-10-30 1993-07-06 Allen-Bradley Company, Inc. Programmable controller processor with an intelligent functional module interface
JP2561398B2 (ja) * 1991-06-14 1996-12-04 日本電気株式会社 二重化ディスク制御装置
US5410641A (en) * 1991-10-23 1995-04-25 Seiko Epson Corporation Intelligent cartridge for attachment to a printer to perform image processing tasks in a combination image processing system and method of image processing
US5471586A (en) * 1992-09-22 1995-11-28 Unisys Corporation Interface system having plurality of channels and associated independent controllers for transferring data between shared buffer and peripheral devices independently
JPH0799512B2 (ja) * 1992-11-18 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション プログラム可能な外部記憶制御装置
US5511227A (en) * 1993-09-30 1996-04-23 Dell Usa, L.P. Method for configuring a composite drive for a disk drive array controller
US5588110A (en) * 1995-05-23 1996-12-24 Symbios Logic Inc. Method for transferring data between two devices that insures data recovery in the event of a fault

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259502A (ja) * 1998-08-11 2000-09-22 Ncr Internatl Inc データ・ストレージとデータ処理システムにおける書き込みキャッシュデータの転送方法及びその装置

Also Published As

Publication number Publication date
EP0744697A1 (en) 1996-11-27
US5917723A (en) 1999-06-29

Similar Documents

Publication Publication Date Title
JPH08314848A (ja) マイクロプロセッサのオーバーヘッドを短縮させて、二つの装置間でデータを転送する方法および装置
US5588110A (en) Method for transferring data between two devices that insures data recovery in the event of a fault
CA1319440C (en) Queued posted-write disk write method with improved error handling
US6412045B1 (en) Method for transferring data from a host computer to a storage media using selectable caching strategies
JP2837341B2 (ja) ディスクアレイ用キャッシュシステム
US7930474B2 (en) Automated on-line capacity expansion method for storage device
US6256749B1 (en) Disk array system and its control method
US8131927B2 (en) Fast accessible compressed thin provisioning volume
EP1818828B1 (en) Storage system and control method thereof
US5522065A (en) Method for performing write operations in a parity fault tolerant disk array
EP1434125A2 (en) Raid apparatus and logical device expansion method thereof
JP2004127294A (ja) 仮想記憶システムおよびその動作方法
US7024530B2 (en) Method, system, and program for establishing and using a point-in-time copy relationship
US6105076A (en) Method, system, and program for performing data transfer operations on user data
JP4222917B2 (ja) 仮想記憶システムおよびその動作方法
JP4884041B2 (ja) 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法
US20030135674A1 (en) In-band storage management
US5815648A (en) Apparatus and method for changing the cache mode dynamically in a storage array system
US8090907B2 (en) Method for migration of synchronous remote copy service to a virtualization appliance
US5617556A (en) System and method to prevent the occurrence of a snoop push during read and write operations
JPH08115289A (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
JP4252102B2 (ja) 計算機システムおよび二次記憶装置
CN116097228A (zh) 在针对写入集合中的轨道释放高速缓存资源之后获得用于对写入集合中的轨道的预期写入的高速缓存资源
US20050223180A1 (en) Accelerating the execution of I/O operations in a storage system
EP0744696B1 (en) Data transfer method and apparatus