JPH09185594A - 直接バルク・データ転送 - Google Patents

直接バルク・データ転送

Info

Publication number
JPH09185594A
JPH09185594A JP8301770A JP30177096A JPH09185594A JP H09185594 A JPH09185594 A JP H09185594A JP 8301770 A JP8301770 A JP 8301770A JP 30177096 A JP30177096 A JP 30177096A JP H09185594 A JPH09185594 A JP H09185594A
Authority
JP
Japan
Prior art keywords
request
disk
cpu
data
storage device
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
JP8301770A
Other languages
English (en)
Inventor
Todd W Sprenkle
ダブリュー スプレンクル トッド
Srinivasa D Murthy
ディー マーシー スリニヴァサ
Anil Khatri
カートリ アニル
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers 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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH09185594A publication Critical patent/JPH09185594A/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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 CPUsと記憶ディスクとの間のデータの転
送中の類似するデータ・コピーを除去する。 【解決手段】 記憶処理130は、記憶装置100〜1
05及び110〜115を有する30へのアクセスを制
御する。ソフトウェア・ルーチンは、要求CPU22に
よる記憶装置30への直接アクセスを供給するために用
いられる。要求CPU22のバッファ160に対する仮
想メモリ・アドレスは、要求CPU22で生成される。
記憶装置アクセス要求と共に仮想メモリ・アドレスは、
記憶処理130を含んでいるCPU20に送られる。ワ
ーク要求は、記憶処理130から記憶装置30へ送られ
る仮想メモリ・アドレスを含む。次いで、データは、要
求CPU22と記憶装置30との間で直接転送される。
記憶装置30は、次いでワーク要求に応答する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般にデータ処理シス
テムにおける直接データ転送に関し、より特定的にはプ
ロセッサ及び入力/出力通信に対する接続性を供給する
ネットワークを介してシステムで行われる直接バルク入
力/出力転送に関する。
【0002】
【従来の技術】サード・パーティ転送システムは、デー
タ転送に対する種々のスキームを供給する。例えば、高
性能記憶システム(High-Performance Storage System
(HPSS))は、高集合体I/O処理能力(スループット)
を達成するためにネットワークにわたり同時入力/出力
(I/O)オペレーションを統合(調整)することがで
きる高度な、分散型階層記憶管理システムである。HPSS
は、国立記憶研究所(National Storage Laboratory) で
開発中の次世代ソフトウェア・システムである。HPSSn
についての更なる情報は、次に示すインターネット上の
ワールド・ワイド・ウェブ・ページを通して取得するこ
とができる: http://www.ccs.ornl.gov/HPSS/HPSS _overview.html http://www.llnl.gov/liv _comp/nsl/hpss/hpss.html この情報は、HPSSのソース・デバイス(source device)
からシンク・デバイス(sink device) までデータを転送
するために用いられるムーバ(Mover) を開示する。この
ムーバは、また、一組のデバイス制御オペレーションを
実行する。
【0003】ファイバ・チャネル(FC)は、また、サード
・パーティ転送を供給する。FCは、ワークステーショ
ン、メインフレーム、スーパコンピュータ、デスクトッ
プ・コンピュータ、記憶装置、ディスプレイ及び他の周
辺装置間でデータの転送を許容する。FCについての更な
る情報は、次に示すインターネット上のワールド・ワイ
ド・ウェブ・ページを通して取得することができる: http://www.amdahl.com/ext/CARP/FCA/FCA.html そして、IEEE記憶システム標準研究グループは、オープ
ン記憶システム相互接続(Open Storage Systems Interc
onnection(OSSI)) に対するドラフト基準モデル(draft
Reference Model) を生成した。次に示すのは、ドラフ
トOSSIドキュメントのバージョン5からのものである: “2.3.3 制御及びデータ・フローの分離 “OSSIモデルは、クライアント、データ・ソース、及び
データ・シンクの間で発生しているデータ・フローから
制御フローを区別する。制御フローは、クライアントと
データ・ソースまたはデータ・シンクとの間で要求、応
答、及び非同期通知をキャリーする。データ・ソースと
データ・シンクとの間の制御フローは、データのフロー
を管理するためにソース−シンク・プロトコル情報をキ
ャリーする。データ・フローは、ソースからシンクまで
のみパスする。制御及びデータ・フローを論理的に分離
することによって、OSSIモデルは、個別のインプリメン
テーションを通る各フローを最適化することの可能性を
供給する。” “2.3.4 サード・パーティ転送 “OSSIモデルは、サード・パーティの制御下で、データ
を独立のソース及びシンク間で直接フローさせ、エージ
ェントまたはクライアントを起動しかつ制御する。各エ
ンティティは、データ・フロー制御、エラー報告、また
は転送を開始しかつ終了することのようなオペレーショ
ンを個別に実行する。” OSSIについての更なる情報は、次のワールド・ワイド・
ウェブ・ページを介して取得することができる: http://www.arl.mil/IEEE/ssswg.html 全ての目的のためにここに参照文献として採り入れた、
1995年6月7日に出願された米国特許出願第 08/48
6,217 号(添付資料Aとして添付される)は、プロセッ
サ及び入力/出力通信間の接続性または結合性を供給す
る高信頼システム・エリア・ネットワークにおける多重
処理システムに対する必要性に応ずる。この特許出願
(以下、添付特許出願と呼ぶ)は、フェール・ファース
ト、フェール・ファンクショナル、フォールト・トレラ
ント・マイクロプロセッサ・システムを供給する。添付
特許出願に開示されたアーキテクチャは、あらゆる中央
処理装置(CPU)を入力/出力(I/O)コントロー
ラ(サーバ・ネット・アダプタとも呼ばれる)と通信さ
せるサーバ・ネットワーク雲(server net cloud)を含
む。従って、I/Oコントローラは、CPUによってア
ドレス指定されることができ、かつCPUは、I/Oコ
ントローラによってアドレス指定されることができる。
このサーバ・ネット雲は、添付特許出願ではサーバ・ネ
ットと呼ばれている。本願と共に添付特許出願は、タン
デム・コンピュータ・インコーポレーティッドに譲渡さ
れている。
【0004】広く言えば、添付特許出願に開示された発
明は、多重サブ処理システムを備えた処理システムを含
む。各サブ処理システムは、主処理構成要素として、C
PUを有する。このCPUは、同時に命令ストリームか
らの各命令を実行するためにロック・ステップ同期(loc
k-step synchronized)方式で動作する一対のプロセッサ
を含む。サブ処理システムのそれぞれは、より大きな処
理システムの種々のコンポーネント間に冗長通信経路を
供給するI/Oシステム・エリア・ネットワークを更に
含む。これらの種々のコンポーネントは、CPU及びア
サートされた周辺デバイス(例えば、マス記憶装置、プ
リンタ、等)を含む。これらの冗長通信経路は、また、
より大きな総括処理システムを形成するサブ−プロセッ
サ間に存在することができる。処理システムのコンポー
ネント間(例えば、第1のCPUと第2のCPUの間、
またはCPUと周辺デバイスとの間)の通信は、パケッ
トに含まれるメッセージを形成しかつ送信することによ
ってインプリメントされる。好ましい実施例では、各パ
ケットは、64バイトのデータを含む。これらのパケッ
トは、システム・エリア・ネットワーク構造(サーバ・
ネットと呼ぶ)により送信またはソース・コンポーネン
ト(例えば、CPU)から宛先構成要素(例えば、周辺
デバイス)へ送られる。
【0005】このシステム・エリア・ネットワーク構造
は、複数の相互接続リンクによって相互接続される多数
のルータ構成要素を含む。パケットのソースからパケッ
トの宛先へパケットを送る、添付特許出願に開示された
ルータは、それら自身パケットを発生しない。ルータ
は、一つのリンク上の入力パケットを取り入れてかつそ
れをその宛先に対して適切なリンク上に送り出すことに
よってパケット・スイッチとして動作する。ルータ構成
要素は、処理システムの送信コンポーネントから宛先コ
ンポーネントまでの適切なまたは利用可能な通信経路を
選択する責任がある。通信経路は、メッセージ・パケッ
トに含まれる情報に基づく。それゆえに、ルータ構成要
素のルーティング能力(ケイパビリティ)は、周辺デバ
イスへの通信経路を有するCPUsのI/Oシステムを
供給する。
【0006】添付特許出願に開示されたアーキテクチャ
は、各ディスクを管理するためにディスク処理ペアを用
い、ディスク処理ペアの半分は、1次ディスク処理であ
りかつ他の半分は、バックアップ・ディスク処理であ
る。更に、SCSIチェイン上のディスクを制御しているデ
ィスク処理は、二つのCPUsに制限されず、かつディ
スク処理は、複数のCPUs中で走るように構成するこ
とができる。添付特許出願のサーバ・ネット雲が用いら
れるときには、CPUs及びサーバ・ネット・アダプタ
の両方は、CPUメモリに対する読取り及び書込みサー
バ・ネット雲トランザクションを発生することができ
る。図1は、記憶装置のアーキテクチャの一例を示す。
この構成は、添付特許出願に開示されたサーバ・ネット
雲10を含む。ディスク/記憶コントローラ30及び3
2と共にCPUs20、22、24及び26は、サーバ
・ネット雲10に接続される。サーバ・ネット・アダプ
タ30及び32は、SCSIチップ40、42、44及び4
6と共にI/Oパケッタイザ(packetizers) 34及び3
6を含む。I/Oパケッタイザは、ネットワーク・プロ
トコルからのデータ・パケットをバス・プロトコルに変
換する。この構成は、また、(合計12の記憶ディスク
100〜105及び110〜115に対して)二つのSC
SIチェイン120及び122をハング・オフしている(h
anging off) 6つのSCSIディスク・ペア100〜105
及び110〜115を示す。ディスクは、1次ディスク
100($A)、101($B)、104($E)、1
05($F)、111($D)及び114($C)及び
ミラー・ディスク102($C)、103($D)、1
10($F)、112($B)、113($E)及び1
15($A)として構成される。4つのCPUs(CP
U0 20、CPU1 22:CPU2 24及びCP
U3 26)は、6つのディスク・ペア100〜105
及び110〜115を制御するディスク処理を収容す
る。1次ディスク処理($A−P、$B−P、$C−
P、$D−P、$E−P及び$F−P)及びバックアッ
プ・ディスク処理($A−A、$B−B、$C−B、$
D−B、$E−B及び$F−B)は、4つのCPUs2
0、22、24及び26の中に散乱される。例えば、記
憶ディスク100($A)に対する1次ディスク処理1
30($A−P)は、CPU0 20に配置されうる
し、かつ記憶ディスク102($C ミラー)に対する
バックアップ・ディスク処理133($C−P)は、C
PU1 22に配置されうる。ディスク処理130〜1
41は、二つのCPUs以上に(図1に示すように)配
置することができる。別の構成では、8つの記憶ディス
ク・ペアは、(合計16の記憶ディスクに対して)二つ
のSCSIチェインをハング・オフすることができ、かつエ
キストラ(余分な)SCSIチップは、外部記憶デバイスに
対する各サーバ・ネット・アダプタに配置することがで
きる。
【0007】添付特許出願に示したように、ディスク1
00に書込むためのCPU1 22に配置される要求処
理145に対して、要求処理145は、書込みデータ・
メッセージをCPU0 20に配置されたディスク処理
130にまず送る(ディスク処理130は、ディスク1
00を制御する)。次いで、ディスク処理130は、デ
ータにわたりチェックサムを計算する。チェックサム
は、データのブロックに対するデータ保全性が転送され
ることを確実にする。次いで データのブロックは、サ
ーバ・ネット雲10を通してCPU0 20からディス
ク100に転送される。この転送が終了したときに、デ
ィスク処理130は、要求処理145に応答する。
【0008】
【発明が解決しようとする課題】図2は、ディスク転送
の一例を示す。図2は、図1に含まれる同じ構成要素の
ほとんどを有する。これらの構成要素に加えて、CPU
0 20に配置されるバッファ150及びCPU1 2
2に配置されるバッファ160が示されている。この例
では、要求処理及びディスク処理は、異なるCPUsに
配置される。これらの処理は、また、同じCPUに配置
されることもできる。段階1では、要求処理は、バッフ
ァ160から$Aディスク100にデータを書込むこと
を欲する。従って、CPU0 20に配置された、ディ
スク処理130が$Aディスク100に対するディスク
処理なので、バッファ160に配置されたデータは、C
PU0 20に配置されたバッファ150に送られる。
段階2では、ディスク処理130は、バッファ150に
配置されたデータをディスク100に書込む。段階3で
は、ディスク100へのデータの転送が終了したので、
ディスク処理130は、要求処理145に応答する。
【0009】この構成では、データは、要求処理を有す
るCPUから関連ディスク処理を有する中間CPUにコ
ピーされ、そしてその中間CPUからディスクにコピー
される。CPUsと記憶ディスクとの間のデータの転送
の間中、類似するデータ・コピーを除去することが望ま
しい。本発明の目的は、上記従来技術の問題に鑑み、C
PUsと記憶ディスクとの間のデータの転送中に類似す
るデータ・コピーを除去することができるシステムを提
供する。
【0010】
【課題を解決するための手段】本発明の上記目的は、デ
ータを転送するデータ処理システムであって、要求CP
Uを含んでいる複数の中央処理装置(CPUs);CP
Usの一つが記憶装置へのアクセスを制御する少なくと
も一つの記憶装置;複数のCPUsと記憶装置とを相互
接続するネットワーク;要求CPUによる記憶装置の直
接アクセスを供給し、要求CPUのバッファに対する仮
想メモリ・アドレスを生成しかつ記憶装置アクセス要求
と共に仮想メモリ・アドレスを、記憶装置へのアクセス
を制御しているCPUsの一つに供給する要求CPUに
おける手段、ワーク要求に応答しておりかつネットワー
クを通してCPUsの一つと直接インターフェイスして
いる記憶装置に仮想メモリ・アドレスを含んでいるワー
ク要求を送るCPUsの一つにおける手段、を含んでい
るアクセス手段;を備え、データは、要求CPUと記憶
装置との間で直接転送されるデータ処理システムによっ
て達成される。
【0011】本発明のデータ処理システムでは、直接ア
クセスは、要求CPUに記憶装置から仮想メモリ・アド
レスにおけるバッファ・メモリの中にデータを読取らせ
るようにしてもよい。本発明のデータ処理システムで
は、データは、それぞれが、宛先ノード識別、ソース・
ノード識別、仮想メモリ・アドレス、及び複数のデータ
・ワードを含んでいるデータ・パケットで送信されるよ
うにしてもよい。本発明のデータ処理システムでは、記
憶装置は、転送のためのデータを含んでいるデータ・パ
ケットのそれぞれが要求CPUに送信された後でCPU
sの一つにアドバイスをする手段を含むようにしてもよ
い。本発明のデータ処理システムでは、直接アクセス
は、要求CPUに、データの転送のために仮想メモリ・
アドレスにおけるバッファをアクセスしている記憶装置
の中に書込ませるようにしてもよい。
【0012】本発明のデータ処理システムでは、アクセ
ス手段は、要求CPUのバッファに対する仮想メモリ・
アドレスを生成しかつ記憶装置アクセス要求と共に仮想
メモリ・アドレスをCPUsの一つに供給する少なくと
も一つのソフトウェア・ルーチンを含むようにしてもよ
い。
【0013】
【作用】本発明は、データを転送するためのデータ処理
システムを供給する。このシステムは、ネットワークに
よって相互接続された中央処理装置(CPUs)及び記
憶装置を含む。CPUsは、要求処理及び記憶処理(デ
ィスク処理とも呼ばれる)を含む。記憶処理は、記憶装
置へのアクセスを制御する。ソフトウェア・ルーチン
は、要求CPU(要求処理を含んでいるCPU)による
記憶装置への直接アクセスを供給するために用いられ
る。要求CPUのバッファに対するサーバ・ネット仮想
メモリ・アドレスは、要求CPUに生成される。記憶装
置アクセス要求と共にサーバ・ネット仮想メモリ・アド
レスは、記憶処理を含んでいるCPUに送られる。サー
バ・ネット仮想メモリ・アドレスを含んでいるワーク要
求は、記憶処理から記憶装置に送られる。次いでデータ
は、要求CPUと記憶装置との間に直接転送される。記
憶装置は、次いで、ワーク要求に応答する。
【0014】本発明の更なる態様及び特徴は、添付した
図面に関して取入れられるべき、本発明の以下の詳細の
説明を読むことにより当業者に明らかになるであろう。
【0015】
【実施例】本発明は、プロセッサ及びI/O通信に対す
る接続性を供給するネットワークを介して高信頼システ
ムにおける直接バルク・データ転送を供給する。この直
接データ転送は、要求処理を走らせているCPUとディ
スク処理を走らせているCPUとの間のデータの複写を
除去すると同時にディスク処理ペア構成を維持する。そ
れゆえに、データは、要求処理のバッファと記憶装置と
の間で直接複写される。結果として、(1)データがデ
ィスク処理のバッファに転送されないのでネットワーク
帯域幅は、セーブされ、(2)ディスク処理がそのバッ
ファの中にデータを受け取らなくともよいのでコンテキ
スト・スイッチ時間がセーブされ、(3)バッファ複写
が回避されるので、入力/出力(I/O)ラテンシー
は、低減され、かつ(4)メッセージ・システムが要求
処理とディスク処理との間でデータを送らないのでワー
クは、メッセージ・システムから“負担が軽減され
る”。このメッセージ・システムは、プロセッサ間通信
に用いられる。
【0016】図3は、コントローラが“プッシング”(p
ushing) しているときに発生するデータの転送を示して
いる。例えば、データがディスク105からCPUメモ
リへ転送されるときに、サーバ・ネット・アダプタ30
は、CPUメモリにデータ170を“プッシング”す
る。これは、また、“読取り”オペレーションとも呼ば
れる。この構成では、要求処理及びデータ処理の両方
は、CPU3 26に配置されている。このCPU3
26は、サーバ・ネット・アダプタ30に、データ転送
に関連付けられたパラメータ(例えば、遠隔ノード識
別)と共に、データ170を受取る、バッファ162に
対するサーバ・ネット仮想アドレス172を送る。サー
バ・ネット仮想アドレス172は、バッファ162の物
理アドレスを取得するために用いる情報を含む。このサ
ーバ・ネット仮想アドレス172は、後ほど物理アドレ
スの中に変換して戻される。好ましい実施例では、サー
バ・ネット仮想アドレス172は、頁番号と、関連物理
アドレスを決定するために一緒に用いられることが必要
であるオフセットとの両方を含む。従って、二つ以上の
サーバ・ネット仮想アドレス172を一つのバッファに
対して設けることができる。サーバ・ネット仮想アドレ
スは、全ての目的に対して参考文献として採り入れられ
た添付特許出願により詳細に開示されている。バッファ
162は、要求処理に属する。転送に関連付けられたパ
ラメータは、“ワーク要求”(work request)を介してC
PU3 26からサーバ・ネット・アダプタ30に送ら
れる。この情報で、サーバ・ネット・アダプタ30は、
I/Oデバイス(例えば、$Fディスク105)から要
求処理のメモリに直接データ170を転送することがで
きる。同様な構成で、CPUは、I/Oデバイス(ディ
スク)に“書込む”ことができる。これは、サーバ・ネ
ット・アダプタがCPUメモリからデータを“プリン
グ”(pulling) している呼ばれる。この構成では、CP
U3 26は、I/O空間に関連付けられたパラメータ
と共に、データを含んでいるCPUバッファ162に対
するサーバ・ネット仮想アドレス172をサーバ・ネッ
ト・アダプタ30に送る。再び、これらのパラメータ
は、“ワーク要求”に含まれる。この情報で、サーバ・
ネット・アダプタ30は、CPUメモリからディスク・
デバイス105にデータを転送することができる。従っ
て、データは、非ディスク処理を有するCPUと、関連
ディスク処理を走らせているCPUを通してデータを転
送しないディスクとの間で転送される。
【0017】サーバ・ネット雲を通して送られたパケッ
ト(サーバ・ネット・パケットと呼ばれる)は、サーバ
・ネット・パケットに対するソース・ノード174及び
宛先ノード176を識別するヘッダを含む。この識別
は、ノード識別(ID)の形である。好ましい実施例で
は、CPUs及び他の周辺デバイスだけがノードIdを
有する。各サーバ・ネット・パケット・ヘッダは、ま
た、パケットの型を示すトランザクション型フィールド
を含む。パケット型が読取られるかまたは書込まれると
きに、パケットは、宛先ノードから肯定応答(acknowled
gement) を導き出す。読取りパケットに対して、この肯
定応答は、読取りを実行しているノードにリターンされ
るべきデータを含む。書込みパケットに対して、この肯
定応答は、書込みオペレーションに対する成功または失
敗状態をリターンする。
【0018】サーバ・ネット読取り/書込みパケットで
指定されたサーバ・ネット・アドレスは、宛先ノードに
おける物理アドレスではなく、その代わり、許可チェッ
クされそして、許可チェックがパスしたならば、物理ア
ドレスに変換される、アドレスである。このサーバ・ネ
ット・アドレスは、上記で参照したサーバ・ネット仮想
アドレスである。許可検査は、例えば、ソース・ノード
識別妥当性検査、変換型検査(即ち、読取り/書込み許
可)及びバウンド(bounds)検査の形である。アドレス妥
当性検査及び変換(AVT)表は、サーバ・ネット仮想
アドレスに適用された変換及び許可検査に用いられる。
ソース・ノードIDを確認(検査)するために、アクセ
スしたAVTエントリのソースIDフィールドは、用い
られるAVTエントリに対応するソースを指定する。こ
のソースIDフィールドは、不整合(mismatch)がアクセ
スを否定するAVTエラー割込みを結果として生ずるよ
うに、要求しているメッセージ・パケットに含まれるソ
ースIDと比較される。トランザクション型検査は、読
取りまたは書込みのためのアクセスが許可されることが
できるかどうかを決定するための検査を含む。バウンド
検査に対して、AVTエントリの下部バウンド・フィー
ルド及び上部バウンド・フィールドは、アクセスが許可
されるかどうかを決定するためにオフセット値と比較さ
れる。この型の許可検査は、添付特許出願(例えば、そ
の頁55〜61、図13A〜13C)に詳細に記載され
ている。
【0019】データの転送を達成するために用いられる
ハードウェア直接メモリ・アクセス(DMA)エンジン
は、また、ブロック転送エンジンとも呼ばれる。好まし
い実施例では、ブロック転送エンジンは、非同期でメモ
リ・バッファ上でチェックサムを計算することができ、
かつ少なくとも一つのDMAエンジンが各CPUに配置
される。上記したように、チェックサムは、転送される
データのブロックに対してデータの一貫性を確実にす
る。上記したように、CPU20、22、24または2
6は、サーバ・ネット雲にわたりデータのパケットを転
送するためにブロック転送エンジンにバッファを委ねる
ことができる。更に、CPU20、22、24または2
6は、チェックサムを計算しかつ別のバッファにチェッ
クサムを配置するためにブロック転送エンジンにバッフ
ァを委ねることができる。そして、好ましい実施例で
は、SCSIチップ40に配置されたDMAエンジンは、
(ディスク“読取り”または“書込み”に対して)各デ
ータ転送に対して“プッシング”(pushing) または“プ
リング”(pulling) を実行する。
【0020】上記したように、本発明の直接データ転送
が行われるときに、データは、要求発生CPUとディス
ク処理を含んでいるCPUとの間で転送されない。代わ
りに、サーバ・ネット仮想アドレスが生成されかつ用い
られる。このサーバ・ネット仮想アドレスは、直接デー
タ転送を実行するためにサーバ・ネット・アダプタによ
って用いられる。再び、この処理において二つの型のデ
ータ転送が存在する。第1は、サーバ・ネット仮想アド
レスを生成すること及び用いることを含むディスク書込
みオペレーションである。サーバ・ネット・アダプタ
は、ディスク書込みに対して必要なオペレーションを行
うためにこのサーバ・ネット仮想アドレスを用いる。そ
れゆえに、(要求処理バッファに対する)サーバ・ネッ
ト仮想アドレスに対するAVTエントリは、要求処理バ
ッファをアクセスすることを必要とするサーバ・ネット
・アダプタに対するサーバ・ネット・ノードIDを指定
する。
【0021】ディスク書込みオペレーションに対して、
要求処理を走らせている発生CPUは、ディスク処理へ
の要求を発行する前にデータのチェックサムをまず計算
する。要求処理がそのバッファに対してサーバ・ネット
仮想アドレスを生成した後、要求処理は、そのサーバ・
ネット仮想アドレスをディスク処理にパスする。ディス
ク処理は、ソースID妥当性検査が失敗しうるので、要
求処理バッファをアクセスするためにこのサーバ・ネッ
ト仮想アドレスを用いることができない。サーバ・ネッ
ト仮想アドレスを受け取った後、ディスク処理は、
(1)要求を発生しているCPU(要求処理を含んでい
るCPU)に対するサーバ・ネット・ノードIDへの処
理、及び(2)要求処理に関連付けられたバッファに対
するサーバ・ネット仮想アドレス、を指定しているサー
バ・ネット・アダプタへ“ワーク要求”を送る。サーバ
・ネット・アダプタは、それが書込みオペレーションで
あるので、サーバ・ネット仮想アドレスを用いてデータ
を次いで“プル”(pulls) する。このデータの転送の終
りで、(一般に割込みの形の)通知が、ディスク処理を
含んでいるCPUに送信して戻される。次いで、ディス
ク処理は、データ転送の終了をそれに通知するために要
求処理に応答する。AVT表及びサーバ・ネット仮想ア
ドレスに関する更なる情報は、添付特許出願に供給され
ている。
【0022】第2の型のデータ転送は、ディスク読取り
に対してである。図4は、ディスク読取りに対する直接
データ転送の一例を示している。段階11では、バッフ
ァ150に対するサーバ・ネット仮想アドレスが生成さ
れる。バッファ150は、要求処理146に関連付けら
れる。段階12では、要求処理146は、要求をディス
ク(Dp2)処理133へ送る。段階13では、ディス
ク処理133は、ワーク要求をサーバ・ネット・アダプ
タ30へワーク要求を送る。段階14では、サーバ・ネ
ット・アダプタ30は、$Fディスク105からバッフ
ァ150へのデータの転送を実行する。段階14は、要
求データの全てがバッファ150へ送られるまで行われ
る。データ転送が終了したときには、サーバ・ネット・
アダプタ30は、段階15でディスク処理133に割り
込む。段階16では、ディスク処理133は、データ転
送が終了したことを要求処理146に知らせる。段階1
7では、要求処理を走らせている発生CPUは、バッフ
ァのチェックサムを計算しそしてデータを受け入れる前
にそれを確認する。
【0023】ディスク書込みに対する直接データ転送
は、(1)要求がディスク処理に送られる前にチェック
サムが要求処理によって計算され、かつ(2)データの
転送の方向がCPUメモリからディスクへであることを
除き、ディスク読取りに非常に類似している。図5は、
ディスク書込みに対する直接データ転送の一例を示して
いる。段階21では、要求処理146は、チェックサム
計算を実行する。段階22では、要求プロセッサ146
は、バッファ150に対しかつチェックサム・バッファ
に対してサーバ・ネット仮想アドレスを生成する。段階
23では、要求処理146は、その要求をディスク処理
133へ送る。段階24では、ディスク処理133は、
ワーク要求をサーバ・ネット・アダプタ130へ送る。
段階25では、サーバ・ネット・アダプタ30は、バッ
ファ150からのデータ及びチェックサム・バッファか
らのチェックサムを$Fディスク105へ転送する。要
求したデータの全てがバッファ150からディスク10
5へ転送された後、サーバ・ネット・アダプタ30は、
段階26でディスク処理133に割込む。段階27で
は、ディスク処理133は、データ転送が終了したこと
を要求処理146に知らせる。
【0024】直接データ転送に対するソフトウェアは、
ディスク・デバイスからの(または、に)要求処理を走
らせているCPUに(または、から)データを直接送ら
せる。好ましい実施例において直接データ転送を実行す
るために、デバイス・ハンドルが用いられる。このデバ
イス・ハンドルは、遠隔サーバ・ネット・ノードIDを
データ転送に対するAVTエントリに供給する。このノ
ードIDによって識別されたサーバ・ネット・アダプタ
のみがデータ転送に対するAVT表におけるエントリを
アクセスすることができる。AVT表は、それが正しい
ノードIDを有するサーバ・ネット・アダプタにアクセ
ス可能であるように、要求CPUsバッファをサーバ・
ネット仮想アドレス空間にマップする。起動されたとき
に、デバイス・ハンドルは、ノードIDを含むデータ転
送パラメータを指し示す。このデバイス・ハンドルを取
得するために、“TSER_DEVINSTALL”とレッテルを貼ら
れたサーバ・ネット・ノード・ルーチンが好ましい実施
例で用いられる。従って、遠隔サーバ・ネット・ノード
に関連付けられたパラメータは、このルーチンが呼出さ
れるときにコードに指定される。
【0025】好ましい実施例では、システムは、データ
転送に対する要求が認識されるときに直接データ転送を
起動しかつTSER_DEVINSTALLを実行する。直接データ転
送処理が終了したときに、デバイス・ハンドルは、例え
ば、TSER_DEVREMOVE ルーチンを呼出すことによってリ
ターンされる。第2の実施例では、デバイス・ハンドル
変換キャッシュに対する汎用(グローバル)デバイス・
ハンドルまたはスタック/モジュール/スロットが各C
PUに配置される。この実施例では、TSER_DEVINSTALL
及びTSER_DEVREMOVE ルーチンは、呼び出されない。ユ
ーザは、多くの方法で直接データ転送を用いることの要
望を示すことができる。例えば、SETMODE 141は、デ
ィスク・ファイル転送に対する大きなデータ転送モード
をイネーブルできる。このSETMODE は、ユーザに、ディ
スク処理キャッシュをバイパスするディスク・ファイル
への大きな、非構成アクセスを彼らが要望することを指
定されることができる。別の例では、BULKREAD及びBULK
WRITEは、バックアップ、復元、ダンプ、等が要求され
るときに、内部ツールとして用いることができる。BULK
READ及びBULKWRITE は、また、ディスク処理キャッシュ
もバイパスする。それゆえに、BULKREADまたはBULKWRIT
E 或いはSETMODE 141がファイル転送に対してイネー
ブルされたならば、直接データ転送は、転送タスクを実
行するために用いられる。
【0026】好ましい実施例では、SETMODE 141が示
されたときに、メッセージは、そのキャッシュをフラッ
シュするためにディスク処理に送られる。このSETMODE
要求への応答の一部として、ディスク処理は、それが直
接データ転送を支持することができるファイル・システ
ムに対して指示(indication)をリターンする。ディスク
処理は、また、二つのサーバ・ネットIDsをファイル
・システムにリターンする。これらのサーバ・ネットI
Dsは、関連ディスク及びそのミラー・ディスクへの二
つの主要(1次)経路を構成する。ディスク・デバイス
への書込みを行うときに両方のサーバ・ネットIDが用
いられ、かつ一つのサーバ・ネットIDのみが読取りオ
ペレーションに対して用いられる。ファイル・システム
がディスク処理から応答を受け取るときに、それは、応
答を解読しかつサーバ・ネット・コードを二つのサーバ
・ネットIDsに設置するために直接データ転送ルーチ
ンを呼出す。
【0027】同様に、BULKREADまたはBULKWRITE が指示
されたときに、ファイル・システムは、通常のバルク・
データ転送要求をディスク処理に送る。可能な場合に
は、ディスク処理は、それが直接データ転送を支持する
ことができることを示しているファイル・システムに応
答する。この時には、ディスク処理は、また、関連ディ
スク及びそのミラーへの二つの主要経路を構成する二つ
のサーバ・ネートIDをリターンする。次いで、ファイ
ル・システムは、後続のバルク・データ転送呼出しに対
して直接データ転送を用い、かつまたサーバ・ネット・
コードを二つのサーバ・ネットIDに設置するために直
接データ転送ルーチンを呼出す。(二つサーバ・ネット
Idを設置する)直接データ転送セッション確立の一部
として、直接データ転送ルーチンは、また、FLEXPOOLか
らの転送情報ブロック(TIB)に対する空間も獲得す
る。TIBは、直接データ転送ルーチンとサーバ・ネッ
ト・コードとの間のインターフェイスに用いられる。T
IBは、また、チェックサム計算を行うためにサーバ・
ネット・コードがDMAエンジンを用いるということを
要求するために直接データ転送ルーチンによっても用い
られる。好ましい実施例では、チェックサム・オペレー
ションが同期であるので、単一のTIBが用いられる。
FLEXPOOLは、メモリ管理に対して空間を割り当てる。
【0028】図6は、どのように二つのサーバ・ネット
IDが、ディスク及びそのミラー・ディスクへの二つの
経路に対して用いられるかを示している。好ましい実施
例では、二つのサーバ・ネットIDsは、SCSIチップ4
0及び42に関連付けられる。図6に示すように、これ
らのSCSIコントローラ・チップ40及び42は、ディス
ク100及びそのミラー・ディスク115へのアクセス
を供給する。好ましい実施例では、フォールト・フリー
(無欠陥)システムは、次のものを備えている:CPU
0 20及びCPU1 22;二つのサーバ・ネット雲
10及び12;ディスク及びそのミラー・ディスク14
への1次(主要)経路及びディスク及びそのミラー・デ
ィスク16へのバックアップ経路;サーバ・ネット・ア
ダプタ30及び32;SCSIチップ40、42、44及び
46;ディスク100及びそのミラー・ディスク11
5;チェイン120及び122。この構成では、システ
ムの全てのコンポーネントは、バックアップとして少な
くとも一つの冗長コンポーネントを有する(例えば、デ
ィスク100は、バックアップ・ミラー・ディスク11
5を有する)。従って、データ書込みオペレーションの
間中、全てのデータ転送は、エラーが発生しかつ正しい
データが一つのディスクからアクセスすることができな
いならば、そのデータもまた、アクセスのために別のデ
ィスクに配置されるように二つのディスク(ディスク及
びそのミラー・ディスク)に対してなされる。この構成
は、もしあれば、データの汚染を結果としてほとんど生
じない。ディスク読取りオペレーションの間中、直接デ
ータ転送ソフトウェアは、ディスク100または115
の一つのみによってアクセスのためにデータ・バッファ
をマップする。それゆえに、バッファは、一つのサーバ
・ネット仮想アドレス空間の中にだけマップされる。
【0029】代替実施例では、4つのサーバ・ネットI
Dが直接データ転送のために用いられる。この構成で
は、データ・バッファは、全ての4つのSCSIコントロー
ラ・チップ40、42、44及び46によるアクセスに
対するサーバ・ネット仮想アドレス空間の中に冗長的に
マップされなければならない。これは、ディスク処理に
SCSIコントローラ・チップ40、42、44または46
に対してデータ転送要求を発行させる。直接データ転送
支援ソフトウェアは、ソフトウェア・ルーチンのライブ
ラリとして構成される(ルーチンと呼ばれる)。好まし
い実施例では、ファイル・システムは、これらルーチン
へのクライアントである。それゆえに、ファイル・シス
テムが直接データ転送が起動されることを決定したとき
に、それは、バッファをマップしかつチェックサム計算
を行うために必要な動作を起こすルーチンを呼出す。直
接データ転送ルーチンが行われたときに、ファイル・シ
ステムは、メッセージをディスク処理を含んでいる適切
なCPUに送るためにメッセージ・システムを用いる。
【0030】図7は、直接データ転送を有するシステム
・ソフトウェア階層化の一例である。図7に示すよう
に、ファイル・システム210は、直接メッセージ・シ
ステム230を呼出すことができかつメッセージ・シス
テムを呼出す前に直接データ転送ライブラリ220のル
ーチンを呼出すことができる。ファイル・システム21
0は、フラグ・イネーブリング直接データ転送が設定さ
れたときに直接データ転送ライブラリ220を呼出す。
先に示したように、このフラグは、SETMODE 141またはB
ULKREAD/BULKWRITEが実行されるときにセットされる。
直接データ転送がFILE_CLOSE 時間でイネーブルされた
ならば、ファイル・システムは、直接データ転送セッシ
ョンを終了するために直接データ転送ルーチンを呼出
す。これは、直接データ転送ルーチンに、サーバ・ネッ
ト・コードと二つのサーバ・ネットIDとを分解させ
る。FILE_CLOSE 時間は、これ以上のファイルが転送さ
れないことを示す。
【0031】本発明の別の実施例では、同じCPUにお
ける複数の処理が同じディスクまたはテープに対して直
接データ転送を行っているときに、デバイス・ハンドル
・キャッシング・スキームが用いられる。これは、CP
Uにおける同じサーバ・ネットIDを指し示すデバイス
・ハンドルの複製を回避する。デバイス・ハンドル・キ
ャッシング・システムが用いられるときには、直接デー
タ転送ルーチンは、直接データ転送セッションが確立さ
れたときにデバイス・ハンドルがCPUに存在するかど
うかを調べるためにチェックする。デバイス・ハンドル
が既に存在しているならば、そのデバイス・ハンドルが
用いられる。さもなければ、新しいデバイス・ハンドル
がサーバ・ネット・コードを呼出すことによって生成さ
れる。FILE_CLOSE 時間では、デバイス・ハンドルは、
除去されない。
【0032】読取りデータ転送オペレーションに対し
て、チェックサム及び妥当性検査は、データ転送の終了
後に行われる。好ましい実施例では、直接データ転送起
動ルーチンは、(1)チェックサム・バッファを割り当
て、(2)サーバ・ネット仮想アドレス空間の中に要求
プロセッサのバッファをマップし、かつ(3)ファイル
・システムにリターンする。マッピングは、サーバ・ネ
ット・アダプタにサーバ・ネットの1次(主要)経路に
わたりデータをプッシュさせるために行われる。このマ
ッピング・オペレーションは、要求CPUのメモリがプ
ロセッサのキャッシュと一貫しているようにするプロセ
ッサ・キャッシュ・スウィープを含む。ファイル・シス
テムは、マップされたサーバ・ネット仮想アドレスをそ
の要求制御領域に組込む。次いで、関連メッセージは、
適切な媒体サーバ処理(ディスク処理またはテープ処
理)に送られる。要求処理からのこのメッセージは、転
送が直接データ転送であることを示す。次いで、ディス
ク処理は、応答データ・バッファ及びチェックサム・バ
ッファは、サーバ・ネット・アダプタによるアクセスに
対してマップされることを知る。ディスク処理は、
(1)どのオペレーションを実行すべきか及び(2)指
定されたアドレスにおける宛先CPU(要求処理を含ん
でいるCPU)に読取りデータ及びチェックサムを配置
すること、をそれに報告するサーバ・ネット・アダプタ
に指令を発行する。サーバ・ネット・アダプタは、デー
タ転送が終了したときにディスク処理を含んでいるCP
Uに割込む。この構成は、図4に示されている。
【0033】好ましい実施例では、サーバ・ネット仮想
アドレス空間の中への要求プロセッサのバッファのマッ
ピングは、直接データ転送ルーチンによって行われる。
これらのサーバ・ネット仮想アドレスは、ディスク処理
へ転送される。この転送を容易にするために、直接デー
タ転送ルーチンは、それがディスク処理を含んでいるC
PUに送る要求にサーバ・ネット仮想アドレスを組込む
ファイル・システムにサーバ・ネット仮想アドレスをリ
ターンする。データ転送が終了したときに、サーバ・ネ
ット・アダプタは、要求が行う割込みを介してディスク
処理を通知する。要求処理が、データ転送終了したとい
うメッセージを受け取ったときに、それは、読取り要求
の終了を処理するために直接データ転送ルーチンを呼出
す。次いで、呼出された直接データ転送ルーチンは、要
求CPUsバッファに対する適切なチェックサムを計算
するためにサーバ・ネット・コードを呼出す。このチェ
ックサム・オペレーションは、ブロッキング・オペレー
ションである。従って、処理は、チェックサム・オペレ
ーションが処理中の間、中断される。ルーチンは、チェ
ックサム計算が終了したときに呼出し処理をアンブロッ
クする(ブロックしない)。次いで、直接データ転送ル
ーチンは、計算されたチェックサムがサーバ・ネット・
アダプタによってリターンされたチェックサムと一致す
ることを確認する。次いで、ルーチンは、呼出しファイ
ル・システム・ルーチンへ成功またはチェックサム・エ
ラー指示のいずれかをリターンする。
【0034】図8は、直接データ転送を有する読取り要
求経路での処理フローを示す。段階300では、アプリ
ケーションは、読取り要求に対するファイル・システム
を呼出す。段階302では、ファイル・システムは、要
求セクションを準備しかつ直接データ転送ルーチンを呼
出す。段階304では、直接読取り起動ルーチンは、FL
EXPOOLからのチェックサム・バッファを割り当てる。段
階306では、直接読取り起動ルーチンは、サーバ・ネ
ットにわたりサーバ・ネット・アダプタへのバッファの
アクセスをイネーブルするために要求CPUsバッファ
をマップし、かつサーバ・ネット仮想アドレスをファイ
ル・システムにリターンする。段階308では、ファイ
ル・システムは、ディスク処理へメッセージを送るため
にメッセージ・システムを呼出す。このメッセージは、
要求セクションに組込まれるバッファのサーバ・ネット
仮想アドレスを含む。段階310では、ディスク処理
は、サーバ・ネット・アダプタへワーク要求を発行す
る。このワーク要求は、読取りデータ及びチェックサム
を、要求処理を含んでいるCPUに配置するためのもの
である。段階312では、サーバ・ネット・アダプタ
は、データ転送を実行しそして終了通知でディスク処理
に割込む。段階314では、ディスク処理は、要求処理
のメッセージに応答する。
【0035】図9は、直接データ転送を伴う読取り応答
経路に対する処理フローを示す。段階320では、ディ
スク処理の応答は、要求処理のメッセージをキューにさ
せ、かつ要求処理が起動される。段階322では、要求
処理が起動しかつチェックサムを確認する。段階324
では、直接読取り終了ルーチンは、DMAエンジンに対
するチェックサム計算をキューするためにサーバ・ネッ
ト・コードを呼出す。次いで、呼出し処理を中断する。
DMAエンジンは、次いで、チェックサム計算を実行す
る。段階326では、DMAエンジン・チェックサム計
算終了割込みは、サーバ・ネット・コードに要求処理を
アンブロックさせる。段階328では、直接データ転送
ルーチンは、サーバ・ネット・アダプタによってデポジ
ット(配置)されたチェックサムで計算されたチェック
サムを確認する。段階330では、直接データ転送ルー
チンは、FLEXPOOLにチェックサム・バッファをリターン
しかつファイル・システムに対するチェックサム比較の
成功または失敗をリターンする。段階332では、好ま
しい実施例では、ファイル・システムは、比較が成功で
あれば、要求処理へリターンするか、または、チェック
サム・エラーが発生したならば、直接データ転送なしで
再度試みる。
【0036】書込みデータ転送オペレーションに対し
て、チェックサムは、データが転送される前に計算され
る。ファイル・システムは、直接書込み起動ルーチンを
呼出しかつ要求CPUのバッファのアドレスを供給す
る。直接データ転送ルーチンは、チェックサム・バッフ
ァをまず割り当てかつ関連バッファ(要求データ及びチ
ェックサム・バッファ)をサーバ・ネット仮想アドレス
空間の中にマップする。書込みオペレーションに対し
て、バッファは、ディスク及びそのミラーの二つの経路
によりアクセスに対してサーバ・ネット仮想アドレス空
間の中にマップされる。これがミラーされた書込みであ
れば、両方の関連サーバ・ネット・アダプタは、これら
のバッファをアクセスする。ミラーされた書込みは、好
ましい実施例で用いられる。
【0037】次いで、直接データ転送ルーチンは、バッ
ファのチェックサムを計算するためにサーバ・ネット・
コードを呼出す。サーバ・ネット・コードは、要求CP
UのDMAエンジンにチェックサム計算を次いでキュー
しかつチェックサム計算の終了まで呼出し処理をブロッ
クする。DMAエンジンは、指定したチェックサムを計
算しかつ合成チェックサムをチェックサム・バッファに
配置する。チェックサム計算に対する終了割込みは、サ
ーバ・ネット・コードによって次いでフィールドされ
る。終了割込みは、その時に要求処理をアンブロックす
る。直接データ転送ルーチンは、ファイル・システムに
4つのサーバ・ネット仮想アドレスをリターンすること
によって処理を再開する。これらのサーバ・ネット仮想
アドレスの二つは、要求CPUのバッファに対応する。
他の二つのサーバ・ネット仮想アドレスは、チェックサ
ム・バッファに対応する。ファイル・システム書込みル
ーチンは、これらの4つのサーバ・ネット仮想アドレス
を、そのメッセージの要求制御セクションの中に組込み
そして関連メッセージをディスク処理へ送るためにメッ
セージ・システムを呼出す。好ましい実施例では、デー
タ汚染を回避するために、要求処理バッファは、ディス
ク読取りが実行されるときに一つのサーバ・ネット・ア
ダプタにだけマップされる。
【0038】ディスク処理は、この直接データ転送書込
み要求の受け取りにより、SCSIコントローラへ適切なワ
ーク要求を送る。このワーク要求は、データ及びチェッ
クサム・バッファが要求処理を含んでいるCPUから来
ることを指定するが、サーバ・ネット・アダプタからの
要求終了割込みは、ディスク処理を含んでいるCPUに
行くべきであることを指定する。次いで、サーバ・ネッ
ト・アダプタは、要求処理のCPUから書込みオペレー
ションに対するデータをプルする。次いで、データは、
物理的媒体に書き込まれ、そしてディスク処理は、終了
により割込みを介して通知される。ディスク処理は、1
次及びミラー・ディスクの半分の両方からの終了割込み
を待つ。両方のディスクがオペレーションを終了した
後、ディスク処理は、要求処理のメッセージに応答す
る。
【0039】ディスク処理によって送られた応答が要求
処理のCPUに到着したとき、CPUは、要求処理を起
動する。次いで、ファイル・システムは、書込み終了を
処理するために直接データ転送ルーチンを呼出す。この
場合には、直接データ転送ルーチンは、サーバ・ネット
仮想アドレス空間からのバッファをアンマップ(unmaps)
し、チェックサム・バッファの割り当てを解除し、かつ
ファイル・システムにリターンする。次いで、ファイル
・システムは、そのユーザに書込み要求の終了を通知す
る。図10は、直接データ転送を伴う書込み要求経路に
対する処理フローを示す。段階350では、アプリケー
ションは、書込みオペレーションに対するファイル・シ
ステムを呼出す。段階352では、ファイル・システム
は、直接データ転送書込み起動ルーチンを呼出す。段階
354では、直接データ転送書込み起動ルーチンは、FL
EXPOOLからのチェックサム・バッファを割り当てる。段
階356では、直接データ転送書込み起動ルーチンは、
二つのコントローラ経路のよるアクセスに対する要求C
PUのバッファ及びチェックサム・バッファをマップす
る。次いで、ルーチンは、チェックサム計算を行うため
にサーバ・ネット・コードを呼出す。段階358では、
サーバ・ネット・コードは、チェックサム計算をDMA
エンジンにキューしかつ要求処理を中断する。段階36
0では、終了割込みは、サーバ・ネット・コードに要求
処理を再開させかつ直接書込み起動ルーチンにリターン
させる。段階362では、直接データ転送書込み起動
は、要求及びチェックサム・バッファのサーバ・ネット
仮想アドレスをファイル・システムにリターンする。段
階364では、ファイル・システムは、これらのサーバ
・ネット仮想アドレスをその要求制御領域に組込みかつ
このメッセージをディスク処理へ送る。
【0040】図11は、直接データ転送を伴う書込み応
答経路に対する処理フローを示す。段階370では、コ
ードは、要求処理を起動する。段階372では、ファイ
ル・システムは、直接データ転送書込み終了ルーチンを
呼出す。段階374では、この直接データ転送ルーチン
は、サーバ・ネット仮想アドレス空間からのバッファを
アンマップし、チェックサム・バッファの割り当てを解
除してリターンする。段階376では、ファイル・シス
テムは、アプリケーションに書込み終了通知をリターン
する。好ましい実施例では、チェックサム・バッファに
対する空間は、直接データ転送ライブラリ・ルーチンに
よって割り当てられる。この空間は、FLEXPOOLから割り
当てられる。代替実施例では、ファイル・システムは、
チェックサム・バッファに対する空間を割り当てる。チ
ェックサム・バッファ・サイズは、要求CPUのバッフ
ァ・サイズ及びセクタ/ブロック・サイズに依存する。
【0041】好ましい実施例では、直接データ転送オペ
レーションを起動するファイル・システム・クライアン
トは、また、そのオペレーションを取り消すこともでき
る。この取消しは、データ転送の終りでまたは顕著なデ
ータ転送要求が存在する間に行うことができる。この方
法で直接データ転送オペレーションが取り消されると
き、ファイル・システムは、取消しを実行するために直
接データ転送ルーチンを呼出す。このルーチンは、サー
バ・ネット仮想アドレス空間からのバッファをアンマッ
プすることに対しかつ関連チェックサム・バッファをそ
れらのプールにリターンすることに対して責任がある。
ファイル・システムは、次いで、取消し通知を適切なデ
ィスク処理へ送る。これら二つのオペレーションが終了
した後、直接データ転送オペレーションが取り消されと
考えられる。直接データ転送ルーチンがバッファをアン
マップするとき、サーバ・ネット・アダプタは、それが
このバッファをアクセスすることを試みるならばエラー
に遭遇する。これらのエラーは、サーバ・ネット・アダ
プタ及び要求処理を含んでいるCPUの両方に報告され
る。好ましい実施例では、サーバ・ネット・アダプタ
は、第1のエラーに遭遇した後バッファをアクセスする
ことを停止する。
【0042】好ましい実施例では、システムにおける全
てのCPUsのサーバ・ネットIDは、ファームウェア
で登録される。この登録は、ファームウェアにおける
“セット・サーバ・ネット・パラメータ”メールボック
ス指令の形である。このメールボックス指令に応じて、
ファームウェアは、8ビット・サーバ・ネット・ハンド
ルをリターンする。このハンドルは、ファームウェアに
対するホスト・プロセッサを識別するためにSCSIモジュ
ール・ドライバによって用いられる。このサーバ・ネッ
トIDsの登録は、要求プロセッサ(要求処理を含むプ
ロセッサ)と記憶装置(ディスクを含む装置)との間で
直接データ転送を許容する。上記で説明した例は、要求
処理及びディスク処理が異なるCPUsに配置される場
合だけを考慮した。これら二つの処理が同じCPUに配
置されるならば、直接データ転送は、まだ用いることが
できる。この例で直接データ転送が用いられるときに、
要求処理とディスク処理との間のバッファのCPUコピ
ーは、まだ回避される。従って、また、直接データ転送
は、要求処理及びディスク処理の両方が同じCPUに配
置されるときにも望ましい。
【0043】上記の例では、ディスクは、記憶デバイス
として用いられたが、直接データ転送に対してあらゆる
記憶デバイスを用いることができる。例えば、直接デー
タ転送は、不必要なデータ・コピーを回避するためにテ
ープI/Oに用いることができる。そのI/Oがチェッ
クサム計算を含まないならば、直接データ転送は、ディ
スクの場合よりも簡単である。テープ処理が直接データ
転送も支持するならば、バックアップ及び復元施設は、
この特徴を利用することができる。例えば、ディスク処
理の場合、テープ処理及びバックアップ/復元処理は、
3つの異なるCPUsに全て分散され、直接データ転送
は、二つの不必要なバッファ・コピーを回避しうる。好
ましい実施例では、次に示すソフトウェア・コードの抜
粋は、直接データ転送ライブラリにおけるインターフェ
イス・ルーチンを供給する。第1の抜粋は、直接データ
転送セッション開始ルーチン(このパラグラフの真下を
参照)に対するものである。このルーチンは、それが直
接データ転送要求を支持することができるディスク処理
からの指示をそれが受け取るときにファイル・システム
によって呼出される。ディスク処理は、この指示を有す
るSETMODE 141/バルク・データ転送要求に応答す
る。ディスク処理からの応答は、また、サーバ・ネット
IDs、パケッタイザ型、等のような、直接データ転送
ルーチンによって用いられる情報を含む。この情報は、
ファイル・システムによって直接データ転送セッション
開始ルーチンにパスされる。
【0044】
【表1】 直接データ転送セッション終了ルーチンは、FILE_CLOS
E 時間でまたはSETMODE 141が大きいデータ転送を不
能にするために実行されるときにファイル・システムに
よって呼出される。
【0045】
【表2】 直接読取り開始ルーチンは、直接データ転送読取り要求
を起動する前にファイル・システムによって呼出され
る。
【0046】
【表3】 直接読取り終了ルーチンは、それがディスク処理から直
接データ転送読取り要求に対する応答を受け取るときに
ファイル・システムによって呼出される。ディスク処理
応答が成功を示すならば、直接読取り終了ルーチンは、
チェックサム妥当性検査を行う。全ての場合に、直接読
取り終了ルーチンは、バッファをアンマップしかつチェ
ックサム・バッファの割り当てを解除する。
【0047】
【表4】 直接書込み開始ルーチンは、直接データ転送書込み要求
を起動する前にファイル・システムによって呼出され
る。
【0048】
【表5】 直接書込み終了ルーチンは、直接データ転送書込み要求
への応答がディスク処理から受け取られるときにファイ
ル・システムによって呼出される。
【0049】
【表6】 直接読取りアボート・ルーチンは、それがディスク処理
に送った直接データ転送読取り要求をそれが取り消した
後にファイル・システムによって呼出される。ディスク
処理は、取消しを知らされ、そして要求をクリーンにす
るために直接データ転送ルーチンが呼出される。
【0050】
【表7】 直接書込みアボート・ルーチンは、それがディスク処理
に送った直接データ転送書込みメッセージをそれが取り
消した後にファイル・システムによって呼出される。デ
ィスク処理は、取消しについて知らされ、そして要求を
クリーンにするために直接データ転送ルーチンが呼出さ
れる。
【0051】
【表8】 上記したように、チェックサムは、各CPU内のブロッ
ク転送エンジンを用いて計算される。それゆえに、チェ
ックサムは、CPUの介入なしで、非同期で計算するこ
とができる。全てのCPUのソフトウェア・サブ−シス
テムは、チェックサム計算を実行することに対して責任
がある。代替実施例では、チェックサム計算は、ファイ
ル・システム・コードで実行することができる。この例
では、サーバ・ネット・コードが非同期インターフェイ
スだけを供給するので、割込みハンドラは、チェックサ
ム計算の終了割込みを処理するために用いられる。別の
実施例では、サーバ・ネット・コードは、同期インター
フェイスを供給する。この構成では、チェックサムは、
割込みハンドラなしでファイル・システム・レイヤにお
いて実行することができる。
【0052】本発明の全てかつ完全な開示がなされると
同時に、種々の代替及び変更が、特許請求の範囲の範疇
から逸脱することなく本発明の種々の態様に対してなさ
れうるということが当業者に明らかになるであろう。
【0053】
【発明の効果】本発明のデータ処理システムは、データ
を転送するデータ処理システムであって、要求CPUを
含んでいる複数の中央処理装置(CPUs);CPUs
の一つが記憶装置へのアクセスを制御する少なくとも一
つの記憶装置;複数のCPUsと記憶装置とを相互接続
するネットワーク;要求CPUによる記憶装置の直接ア
クセスを供給し、要求CPUのバッファに対する仮想メ
モリ・アドレスを生成しかつ記憶装置アクセス要求と共
に仮想メモリ・アドレスを、記憶装置へのアクセスを制
御しているCPUsの一つに供給する要求CPUにおけ
る手段、ワーク要求に応答しておりかつネットワークを
通してCPUsの一つと直接インターフェイスしている
記憶装置に仮想メモリ・アドレスを含んでいるワーク要
求を送るCPUsの一つにおける手段、を含んでいるア
クセス手段;を備え、データは、要求CPUと記憶装置
との間で直接転送されるので、CPUsと記憶ディスク
との間のデータの転送中に類似するデータ・コピーを除
去することができる。
【図面の簡単な説明】
【図1】記憶装置アーキテクチャの一例を示す図であ
る。
【図2】ディスク転送の一例を示す図である。
【図3】コントローラが“プッシング”しているときに
発生するデータの転送を示す図である。
【図4】ディスク読取りに対する直接データ転送の一例
を示す図である。
【図5】ディスク書込みに対する直接データ転送の一例
を示す図である。
【図6】どのように二つのサーバ・ネットIDがディス
ク及びそのミラー・ディスクへの二つの経路に対して用
いられるかを示す図である。
【図7】直接データ転送を伴うシステム・ソフトウェア
階層化の一例である。
【図8】直接データ転送を伴う読取り要求経路を有する
処理フローを示す図である。
【図9】直接データ転送を伴う読取り応答経路に対する
処理フローを示す図である。
【図10】直接データ転送を伴う書込み要求経路に対す
る処理フローを示す図である。
【図11】直接データ転送を伴う書込み応答経路に対す
る処理フローを示す図である。
【符号の説明】
10 サーバ・ネット雲 26 CPU3 30 サーバ・ネット・アダプタ 34 I/Oパケッタイザ 40 SCSIチップ 105 ディスク 120 SCSIチェイン 162 バッファ 170 データ 172 サーバ・ネット仮想アドレス 174 ソース・ノード 176 宛先ノード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スリニヴァサ ディー マーシー アメリカ合衆国 カリフォルニア州 95131 サン ホセ ゴールデンレイク ロード 1410 (72)発明者 アニル カートリ アメリカ合衆国 カリフォルニア州 95148 サン ホセ ヘリテージ エステ ータス ドライヴ 3281

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 データを転送するデータ処理システムで
    あって、 要求CPUを含んでいる複数の中央処理装置(CPU
    s);前記CPUsの一つが記憶装置へのアクセスを制
    御する少なくとも一つの記憶装置;前記複数のCPUs
    と前記記憶装置とを相互接続するネットワーク;前記要
    求CPUによる前記記憶装置の直接アクセスを供給し、
    前記要求CPUのバッファに対する仮想メモリ・アドレ
    スを生成しかつ記憶装置アクセス要求と共に前記仮想メ
    モリ・アドレスを、前記記憶装置へのアクセスを制御し
    ている前記CPUsの前記一つに供給する前記要求CP
    Uにおける手段、前記ワーク要求に応答しておりかつ前
    記ネットワークを通して前記CPUsの前記一つと直接
    インターフェイスしている前記記憶装置に前記仮想メモ
    リ・アドレスを含んでいるワーク要求を送る前記CPU
    sの前記一つにおける手段、を含んでいるアクセス手
    段;を備え、 前記データは、前記要求CPUと前記記憶装置との間で
    直接転送されることを特徴とするデータ処理システム。
  2. 【請求項2】 前記直接アクセスは、前記要求CPUに
    前記記憶装置から前記仮想メモリ・アドレスにおける前
    記バッファ・メモリの中にデータを読取らせることを特
    徴とする請求項1に記載のデータ処理システム。
  3. 【請求項3】 前記データは、それぞれが、宛先ノード
    識別、ソース・ノード識別、前記仮想メモリ・アドレ
    ス、及び複数のデータ・ワードを含んでいるデータ・パ
    ケットで送信されることを特徴とする請求項1に記載の
    データ処理システム。
  4. 【請求項4】 前記記憶装置は、転送のためのデータを
    含んでいる前記データ・パケットのそれぞれが前記要求
    CPUに送信された後で前記CPUsの前記一つにアド
    バイスをする手段を含むことを特徴とする請求項3に記
    載のデータ処理システム。
  5. 【請求項5】 前記直接アクセスは、前記要求CPU
    に、前記データの転送のために前記仮想メモリ・アドレ
    スにおける前記バッファをアクセスしている前記記憶装
    置の中に書込ませることを特徴とする請求項1に記載の
    データ処理システム。
  6. 【請求項6】 前記アクセス手段は、前記要求CPUの
    前記バッファに対する前記仮想メモリ・アドレスを生成
    しかつ前記記憶装置アクセス要求と共に前記仮想メモリ
    ・アドレスを前記CPUsの前記一つに供給する少なく
    とも一つのソフトウェア・ルーチンを含むことを特徴と
    する請求項1に記載のデータ処理システム。
JP8301770A 1995-11-13 1996-11-13 直接バルク・データ転送 Pending JPH09185594A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/556,618 US5805920A (en) 1995-11-13 1995-11-13 Direct bulk data transfers
US08/556618 1995-11-13

Publications (1)

Publication Number Publication Date
JPH09185594A true JPH09185594A (ja) 1997-07-15

Family

ID=24222114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8301770A Pending JPH09185594A (ja) 1995-11-13 1996-11-13 直接バルク・データ転送

Country Status (5)

Country Link
US (1) US5805920A (ja)
EP (1) EP0777179B1 (ja)
JP (1) JPH09185594A (ja)
CA (1) CA2190209A1 (ja)
DE (1) DE69621209T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
CN106527968A (zh) * 2016-09-21 2017-03-22 苏州市广播电视总台 一种基于文件直通技术的文件传输方法
US9785583B2 (en) 1997-12-31 2017-10-10 Crossroads Systems, Inc. Storage router and method for providing virtual local storage

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253255B1 (en) 1997-05-08 2001-06-26 Microsoft Corporation System and method for batching data between transport and link layers in a protocol stack
JP3228182B2 (ja) 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
US6243751B1 (en) * 1997-06-11 2001-06-05 Oracle Corporation Method and apparatus for coupling clients to servers
US6675195B1 (en) * 1997-06-11 2004-01-06 Oracle International Corporation Method and apparatus for reducing inefficiencies caused by sending multiple commands to a server
US6088728A (en) * 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6047338A (en) * 1997-07-30 2000-04-04 Ncr Corporation System for transferring a data directly from/to an address space of a calling program upon the calling program invoking a high performance interface for computer networks
US7581077B2 (en) 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7209972B1 (en) * 1997-10-30 2007-04-24 Commvault Systems, Inc. High speed data transfer mechanism
GB2342021B (en) 1997-11-17 2002-12-31 Seagate Technology Method and dedicated frame buffers for receiving frames
US7739381B2 (en) 1998-03-11 2010-06-15 Commvault Systems, Inc. System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services
US6108707A (en) * 1998-05-08 2000-08-22 Apple Computer, Inc. Enhanced file transfer operations in a computer system
US6647423B2 (en) * 1998-06-16 2003-11-11 Intel Corporation Direct message transfer between distributed processes
US6401128B1 (en) * 1998-08-07 2002-06-04 Brocade Communiations Systems, Inc. System and method for sending and receiving frames between a public device and a private device
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
US7774469B2 (en) * 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US6848007B1 (en) 1999-11-12 2005-01-25 Crossroads Systems, Inc. System for mapping addresses of SCSI devices between plurality of SANs that can dynamically map SCSI device addresses across a SAN extender
AU1916801A (en) * 1999-11-12 2001-06-06 Crossroads Systems, Inc. Method and system for mapping addressing of scsi devices between storage area networks
US6912586B1 (en) * 1999-11-12 2005-06-28 International Business Machines Corporation Apparatus for journaling during software deployment and method therefor
US6910082B1 (en) * 1999-11-18 2005-06-21 International Business Machines Corporation Method, system and program products for reducing data movement within a computing environment by bypassing copying data between file system and non-file system buffers in a server
US6615274B1 (en) 1999-12-09 2003-09-02 International Business Machines Corporation Computer network control systems and methods
US6704782B1 (en) 1999-12-09 2004-03-09 International Business Machines Corporation System and methods for real time progress monitoring in a computer network
US7191208B1 (en) 1999-12-14 2007-03-13 International Business Machines Corporation Methods of selectively distributing data in a computer network and systems using the same
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6588011B1 (en) 1999-12-14 2003-07-01 International Business Machines Corporation Apparatus for automatically generating restore process during software depolyment and method therefor
US6604237B1 (en) 1999-12-14 2003-08-05 International Business Machines Corporation Apparatus for journaling during software deployment and method therefor
US7657727B2 (en) 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
JP4651230B2 (ja) * 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US6834326B1 (en) * 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
US20020159389A1 (en) * 2001-04-27 2002-10-31 Foster Michael S. Method and system for connection preemption in a communications network
US7227870B2 (en) 2001-11-20 2007-06-05 Broadcom Corporation Systems including packet interfaces, switches, and packet DMA circuits for splitting and merging packet streams
US6912602B2 (en) 2001-11-20 2005-06-28 Broadcom Corporation System having two or more packet interfaces, a switch, and a shared packet DMA circuit
US6748479B2 (en) 2001-11-20 2004-06-08 Broadcom Corporation System having interfaces and switch that separates coherent and packet traffic
US7752281B2 (en) 2001-11-20 2010-07-06 Broadcom Corporation Bridges performing remote reads and writes as uncacheable coherent operations
US7206879B2 (en) * 2001-11-20 2007-04-17 Broadcom Corporation Systems using mix of packet, coherent, and noncoherent traffic to optimize transmission between systems
US7394823B2 (en) 2001-11-20 2008-07-01 Broadcom Corporation System having configurable interfaces for flexible system configurations
JP2003216478A (ja) * 2002-01-22 2003-07-31 Seiko Epson Corp インタフェース回路及び半導体装置
US6965973B2 (en) 2002-05-15 2005-11-15 Broadcom Corporation Remote line directory which covers subset of shareable CC-NUMA memory space
US6993631B2 (en) 2002-05-15 2006-01-31 Broadcom Corporation L2 cache maintaining local ownership of remote coherency blocks
US7003631B2 (en) 2002-05-15 2006-02-21 Broadcom Corporation System having address-based intranode coherency and data-based internode coherency
US7266587B2 (en) 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
WO2004025483A1 (en) 2002-09-16 2004-03-25 Commvault Systems, Inc. System and method for optimizing storage operations
US7646705B2 (en) * 2003-04-11 2010-01-12 International Business Machines Corporation Minimizing data loss chances during controller switching
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
WO2005065084A2 (en) 2003-11-13 2005-07-21 Commvault Systems, Inc. System and method for providing encryption in pipelined storage operations in a storage network
US7440982B2 (en) 2003-11-13 2008-10-21 Commvault Systems, Inc. System and method for stored data archive verification
US7613748B2 (en) 2003-11-13 2009-11-03 Commvault Systems, Inc. Stored data reverification management system and method
WO2005050386A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7502824B2 (en) * 2004-08-12 2009-03-10 Oracle International Corporation Database shutdown with session migration
US7415470B2 (en) * 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US7765369B1 (en) 2004-11-05 2010-07-27 Commvault Systems, Inc. Method and system for selectively deleting stored data
US8214707B2 (en) * 2007-06-26 2012-07-03 Aspera, Inc. Method and system for reliable data transfer
CA2590965C (en) 2004-12-24 2016-05-03 Aspera, Inc. Bulk data transfer
US9176772B2 (en) * 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
US7543125B2 (en) * 2005-12-19 2009-06-02 Commvault Systems, Inc. System and method for performing time-flexible calendric storage operations
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8661216B2 (en) 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
EP1974296B8 (en) 2005-12-19 2016-09-21 Commvault Systems, Inc. Systems and methods for performing data replication
US7620710B2 (en) 2005-12-19 2009-11-17 Commvault Systems, Inc. System and method for performing multi-path storage operations
EP1881404A1 (fr) * 2006-07-20 2008-01-23 Gemplus Procédé de protection dynamique des données lors de l'exécution d'un code logiciel en langage intermédiaire dans un appareil numérique
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US8655914B2 (en) 2006-10-17 2014-02-18 Commvault Systems, Inc. System and method for storage operation access security
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US9667545B2 (en) * 2007-09-04 2017-05-30 International Business Machines Corporation Method and system for aggregate bandwidth control
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) * 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US8434131B2 (en) 2009-03-20 2013-04-30 Commvault Systems, Inc. Managing connections in a data storage system
US8549038B2 (en) 2009-06-15 2013-10-01 Oracle International Corporation Pluggable session context
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8489656B2 (en) 2010-05-28 2013-07-16 Commvault Systems, Inc. Systems and methods for performing data replication
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US8719493B2 (en) * 2012-03-21 2014-05-06 Dell Products L.P. Memory controller-independent memory sparing
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US10387387B2 (en) 2015-12-17 2019-08-20 Oracle International Corporation Enabling multi-tenant access to respective isolated data sets organized using different application schemas
US10289617B2 (en) 2015-12-17 2019-05-14 Oracle International Corporation Accessing on-premise and off-premise datastores that are organized using different application schemas
JP6544246B2 (ja) * 2016-01-15 2019-07-17 富士通株式会社 不揮発性ストレージおよび不揮発性ストレージの処理方法
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10303894B2 (en) 2016-08-31 2019-05-28 Oracle International Corporation Fine-grained access control for data manipulation language (DML) operations on relational data
CN107870832B (zh) * 2016-09-23 2021-06-18 伊姆西Ip控股有限责任公司 基于多维度健康诊断方法的多路径存储设备
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4135240A (en) * 1973-07-09 1979-01-16 Bell Telephone Laboratories, Incorporated Protection of data file contents
US4400778A (en) * 1979-11-05 1983-08-23 Litton Resources Systems, Inc. Large-volume, high-speed data processor
US5790776A (en) * 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US9785583B2 (en) 1997-12-31 2017-10-10 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
CN106527968A (zh) * 2016-09-21 2017-03-22 苏州市广播电视总台 一种基于文件直通技术的文件传输方法

Also Published As

Publication number Publication date
US5805920A (en) 1998-09-08
EP0777179A1 (en) 1997-06-04
DE69621209T2 (de) 2002-11-14
EP0777179B1 (en) 2002-05-15
DE69621209D1 (de) 2002-06-20
CA2190209A1 (en) 1997-05-14

Similar Documents

Publication Publication Date Title
JPH09185594A (ja) 直接バルク・データ転送
JP4615643B2 (ja) データ・ストレージ・システムにおける危険状態データの識別方法
US6636908B1 (en) I/O system supporting extended functions and method therefor
Kronenberg et al. VAXcluster: A closely-coupled distributed system
JP4536840B2 (ja) 並列処理コンピュータ・システムにおけるデータの転送方法
JP4567125B2 (ja) データ・ストレージとデータ処理システムにおける書き込みキャッシュデータの転送方法及びその装置
JP4615642B2 (ja) 拡張可能な並列処理コンピュータ・システムにおけるデータ通信方法
CN106021147B (zh) 在逻辑驱动器模型下呈现直接存取的存储设备
EP2804109B1 (en) Computer system, server module, and storage module
CN104871493A (zh) 高性能计算(hpc)网络中的通信信道故障切换
JP2000090061A (ja) 並列処理コンピュ―タ・システムにおけるデ―タ通信方法
US10872036B1 (en) Methods for facilitating efficient storage operations using host-managed solid-state disks and devices thereof
US20110099289A1 (en) System, method and computer program product for accessing data from a source by a variety of methods to improve performance and ensure data integrity
JPH09288654A (ja) 多重データソース及びシンク間のリファレンスによるコンピュータシステムデータi/o
US11853557B2 (en) Shared drive storage stack distributed QoS method and system
Innocente et al. VIRTUAL INTERFACE ARCHITECTURE DRAFT WRITE− UP
JP2002509311A (ja) マルチプロセッシングコンピュータシステムのためのスケーラブル単一システム画像オペレーティングソフトウェア
Mustafa An assessment of a method to enhance the performance of cluster systems

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070521