JP4235712B2 - ストレージシステムにおけるデータ転送方法 - Google Patents

ストレージシステムにおけるデータ転送方法 Download PDF

Info

Publication number
JP4235712B2
JP4235712B2 JP2003573537A JP2003573537A JP4235712B2 JP 4235712 B2 JP4235712 B2 JP 4235712B2 JP 2003573537 A JP2003573537 A JP 2003573537A JP 2003573537 A JP2003573537 A JP 2003573537A JP 4235712 B2 JP4235712 B2 JP 4235712B2
Authority
JP
Japan
Prior art keywords
cache
storage
data
data transfer
control 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.)
Expired - Fee Related
Application number
JP2003573537A
Other languages
English (en)
Other versions
JPWO2003075147A1 (ja
Inventor
和一 大江
高志 渡辺
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2003075147A1 publication Critical patent/JPWO2003075147A1/ja
Application granted granted Critical
Publication of JP4235712B2 publication Critical patent/JP4235712B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、ストレージシステムにおけるデータ転送方法に関し、特に、パーソナルコンピュータ(PC:Personal Computer)やワークステーション(WS:Work Station)等のノード装置からディスク装置等の外部入出力装置へのアクセス技術に関する。
図26に既存のストレージシステムの一例を示す。この図26に示すように、本システムは、PC等のノード装置100(以下、単に、「ノード100」という)と、SCSI(Small Computer System Interface)バス300を介してこのノード100に接続された入出力(I/O)装置200とをそなえており、ノード100には、CPU101,主記憶部(メインメモリ)102,SCSIカード103等が装備されており、これらが内部バス104を介して相互に通信可能に接続されている。また、I/O装置200には、ディスクコントローラ201,バッファ202及びディスク装置203が装備されている。
なお、SCSIバス300には、複数のI/O装置200が接続される場合もある。また、ノード100(メインメモリ102)とI/O装置200との接続には、ファイバチャネル(FC:Fiber Channel)等の他のインタフェースが用いられる場合もある。
そして、このようなシステムにおいて、ノード100(メインメモリ102)とI/O装置200(ディスク装置203)との間でデータ転送を行なう場合は、ノード100側からSCSIのプロトコルを使用してI/O装置200のディスクコントローラ201を起動する必要がある。例えば、ファイルシステム105がディスク装置203へデータの書き込みを行なう場合、従来は、以下のような手順が実行されるようなっている。
即ち、まず、図26及び図27に示すように、ノード100側のファイルシステム105が、SCSIドライバ106にディスク書き込み要求を依頼する(ステップA1)。なお、上記のファイルシステム105及びSCSIドライバ106は、いずれも、通常はOS(オペレーティングシステム)等の一機能として組み込まれるもので、CPU101がメインメモリ102に格納されているファイルシステムデータ及びドライバデータを読み込んで動作することによってそれぞれの機能が実現される。
さて、上記のディスク書き込み要求を受けたSCSIドライバ106は、対象のI/O装置200のディスクコントローラ201と、SCSIバス300上でのデータ転送レート決定等のためのネゴシエーションを数回実行することによりコネクションを設定した後(ステップA2)、実際にデータの転送を開始して当該データの書き込みをディスクコントローラ201に依頼する(ステップA3)。なお、SCSIドライバ106は、I/O装置200内でのディスク装置203へのデータ書き込み処理に時間がかかる場合、ディスクコントローラ201とのコネクションを一旦解除する。
I/O装置200では、ディスクコントローラ201が、SCSIバス300を通じてノード100から受け取ったデータを一旦バッファ202に格納した後(ステップA4)、ディスク装置203へ書き込む(ステップA5)。このI/O装置200での内部処理(データ書き込み)が終了すると(ステップA6,A7)、ディスクコントローラ201は、SCSIドライバ106に対して割り込みを上げて転送(書き込み)が完了したことを報告し(ステップA8)、SCSIドライバ106は、ファイルシステム105に転送完了を通知する(ステップA9)。
しかしながら、このような従来のシステムでは、ノード100からSCSIやFC等のプロトコルを使用してI/O装置200側のディスクコントローラ201を起動する必要があり、また、実際にデータの転送が起きるまでの動作も繁雑(ノード100とディスクコントローラ201との間で数回ネゴシエーションする必要がある)なため、レイテンシが大きいという課題がある。
また、ノード100とI/O装置200との間の転送帯域(転送レート)に関しては、SCSI,FC共に改善されてきた(〜160MB/s)が、インフィニバンド(IB)が内部ネットワークとして導入されると、ノード100側の内部バス104の転送速度を数ギガビット/秒(GB/s)程度まで引き上げることが可能となる。しかし、現在のSCSIやFC等の既存のインタフェース規格では、上述のごとくレイテンシが大きいため、十分にその性能を活かすことができない。
本発明は、このような課題に鑑み創案されたもので、データ転送動作の分散化を図ってレイテンシを削減するとともに、IBネットワークを導入した場合のその性能を十分に活かせるデータ転送帯域(レート)を確保することのできる、ストレージシステムにおけるデータ転送方法を提供することを目的とする。
上記の目的を達成するために、本ストレージシステムは、データを記憶するストレージ装置と、このストレージ装置に記憶されているデータをキャッシュしうるキャッシュ装置と、少なくとも、上記のストレージ装置及びキャッシュ装置に対するアクセスを制御する制御装置と、上記のストレージ装置,キャッシュ装置及び制御装置を相互に通信可能に接続する内部ネットワークとをそなえるとともに、上記の制御装置が、上記内部ネットワークにアクセス可能に接続されたクライアント装置から内部ネットワークを介して送られてくるアクセス要求を受けると、上記のキャッシュ装置又はストレージ装置にデータ転送指示を発行する転送指示発行手段をそなえ、且つ、少なくとも、上記のデータ転送指示を受信するストレージ装置又はキャッシュ装置が、上記の制御装置からのデータ転送指示に従って上記クライアント装置とデータ転送に必要な会話を直接行なって、そのクライアント装置との間で、直接、データ転送を実行する直接転送手段をそなえたことを特徴としている。
上述のごとく構成されたストレージシステムでは、上記のクライアント装置が、上記の内部ネットワークを介して制御装置にアクセス要求を発行し(アクセス要求発行ステップ)、このアクセス要求を制御装置が受けると、当該制御装置が上記のキャッシュ装置又はストレージ装置にデータ転送指示を発行する(転送指示発行ステップ)。
そして、上記のキャッシュ装置又はストレージ装置は、上記の制御装置からのデータ転送指示に従ってクライアント装置とデータ転送に必要な会話を直接行なって、そのクライアント装置との間で、直接、データ転送を実行する(直接転送ステップ)。これにより、ストレージシステムのレイテンシの削減を図ることができるとともに、データスループットを大幅に向上することが可能となる。
ここで、上記の制御装置は、上述したクライアント装置とキャッシュ装置又はストレージ装置との間の会話のためのメッセージを生成して上記データ転送指示とともにキャッシュ装置に送信し、キャッシュ装置又はストレージ装置は、この制御装置で生成されたメッセージを用いて上述したクライアント装置との間のデータ転送を実行することができる。このようにすれば、メッセージ生成とデータ転送指示の発行とを制御装置において集中管理できるので、データ転送制御が単純化される。
勿論、制御装置は、クライアント装置とキャッシュ装置又はストレージ装置との間の会話のためのメッセージを生成するのに必要なメッセージ情報を上記データ転送指示とともにキャッシュ装置又はストレージ装置に送信し、キャッシュ装置又はストレージ装置において、そのメッセージ情報に基づいて上記のメッセージを生成するようにしてもよい。このようにすれば、上記データ転送に伴う制御装置の処理負荷を軽減することができる。
なお、上記のデータ転送が完了すると、キャッシュ装置又はストレージ装置から上記内部ネットワークを介して制御装置へ確認メッセージを発行し、制御装置は、このキャッシュ装置又はストレージ装置から確認メッセージを受けることにより内部ネットワークを介してクライアント装置に対してデータ転送完了を表す応答メッセージを発行するようにしてもよい。このように、制御装置においてクライアント装置へ発行すべき応答メッセージを生成するようにすれば、制御装置又はキャッシュ装置もしくはストレージ装置においてクライアント装置との会話に必要な全てのメッセージを集中的に生成・発行する場合に比して、各装置の処理負荷を軽減することができる。
また、キャッシュ装置が2台以上存在する場合、制御装置は、クライアント装置と上記の各キャッシュ装置との間の会話に必要なメッセージを生成して上記データ転送指示とともに各キャッシュ装置にそれぞれ送信し、各キャッシュ装置は、それぞれ、この制御装置で生成されたメッセージを用いてクライアント装置との間のデータ転送を実行した後、各キャッシュ装置のいずれかがデータ転送の完了を示す応答メッセージを、内部ネットワークを介してクライアント装置へ送信するようにしてもよい。このようにすれば、全てのキャッシュ装置が応答メッセージをクライアント装置へ送信する必要がないので、内部ネットワーク経由でやりとりされるメッセージ数を大幅に削減することができる。
ただし、勿論、各キャッシュ装置がそれぞれデータ転送の完了を示す応答メッセージを、内部ネットワークを介してクライアント装置へ送信して、クライアント装置側でこれらの各キャッシュ装置からの応答メッセージをそれぞれ受信することにより、データ転送を完了とすることもできる。
また、キャッシュ装置が2台以上存在する場合、制御装置は、クライアント装置と各キャッシュ装置のいずれかとの間の会話に必要なメッセージを生成して上記データ転送指示とともにそのキャッシュ装置に送信するとともに、データコピー先キャッシュ装置情報を当該キャッシュ装置に送信し、そのキャッシュ装置は、制御装置から受信したメッセージを用いてクライアント装置との間のデータ転送を実行し、その後、当該データ転送によりデータを受信したキャッシュ装置が、制御装置から受信した上記のデータコピー先キャッシュ装置情報により特定される他のキャッシュ装置に、受信したデータをコピーするようにしてもよい。
このようにすれば、本システムにおいていわゆるミラーリングを実現することができるので、本システムの信頼性を向上することができる。
さらに、制御装置は、同じデータをキャッシュしているキャッシュ装置のいずれかにそのデータをストレージ装置へ転送するよう指示し、この指示を受けたキャッシュ装置は、当該データを内部ネットワーク経由でストレージ装置へ転送して、他のキャッシュ装置とで冗長に保持していたそのデータを削除して自己のメモリ領域を解放するようにしてもよい。このようにすれば、キャッシュ装置の記憶容量を有効活用することができるので、キャッシュ装置に必要とされる記憶容量を抑えることができる。
また、本発明に関連する技術のストレージシステムは、データを記憶する複数のストレージ装置と、このストレージ装置に対するアクセスを制御する制御装置と、これらのストレージ装置及び制御装置を相互に通信可能に接続する内部ネットワークとをそなえるとともに、上記の制御装置及びストレージ装置が、それぞれ、以下の手段をそなえたことを特徴としている。
・制御装置
(1)複数のストレージ装置の記憶領域を仮想ストレージアドレスにて一括管理することで該複数のストレージ装置の記憶領域を特定サイズの仮想ストレージ領域として管理する仮想ストレージ管理手段
(2)内部ネットワークにアクセス可能に接続されたクライアント装置から内部ネットワークを介して或る仮想ストレージアドレスを用いた仮想ストレージ領域に対するアクセス要求を受けると、その仮想ストレージアドレスに基づいて仮想ストレージ管理手段にて特定される記憶領域をもつストレージ装置にデータ転送指示を発行する転送指示発行手段
・ストレージ装置
(1)制御装置からの該データ転送指示に従って該クライアント装置とデータ転送に必要な会話を直接行なって、クライアント装置との間で、直接、データ転送を実行する直接転送手段
したがって、本ストレージシステムによれば、ストレージ装置とクライアント7との間で制御装置2を経由しないデータの直接転送が行なえることにより、この場合も、レイテンシの大幅削減と、データスループットの大幅向上(内部ネットワークの性能を十分に活かせる帯域の確保)とを図ることができることに加えて、従来の仮想ストレージシステムと比較して見劣りしない機能を提供することが可能となる。
図1は本発明の一実施形態としてのストレージシステムの構成を示すブロック図で、この図1に示すストレージシステム1は、制御装置(Control Machine)2,ストレージ装置3,キャッシュ装置4をそなえており、これらの各装置2,3,4が内部ネットワークとしてのInfiniband(IB)ネットワーク(IBスイッチ)5を介して相互に通信可能に接続されている(このような構成をWSS(Wire Speed Storage)アーキテクチャという)。
なお、各装置2,3,4は、必要に応じて複数台設けられる。また、制御装置2,キャッシュ装置4は、例えば、IBネットワーク5用のネットワークカードとして構成される。さらに、IBスイッチ5には、1台以上のクライアント装置(ノード)7で構築されたLAN(Local Area Network)6等が接続されており、このLAN6経由でクライアント装置7(以下、単に「クライアント7」と表記する)は本システム1にアクセスすることが可能になっている。
そして、上記のストレージ装置3は、図1及び図4に示すように、例えば、ファイルデータ等の所要のデータを記憶するディスク装置(あるいは、テープ装置でもよい)31と、このディスク装置31に対するアクセスを制御するインタフェースカード(ネットワークカード)32とをそなえており、このインタフェースカード32は、さらに、IBネットワークコントローラとしての機能を有するターゲットチャンネルアダプタ(TCA:Target Channel Adapter)33,プロトコル変換部(Protocol Transition Unit)34及びディスクコントローラとしての機能を有するSCSIインタフェース35を装備している。なお、このインタフェースカード32は、実装されるディスク装置31の数に応じて必要なだけ用意される。
ここで、上記のプロトコル変換部34は、IBネットワーク5経由で制御装置2から送られてきたメッセージを解釈し、そのメッセージ内容に応じてアクセスすべきディスク装置31が接続されているSCSIインタフェース35を通じて該当ディスク装置31にアクセスしたり、そのアクセス結果をクライアント7側にRDMA(Remote Direct Memory Access)し応答メッセージ(Reply Message)を返したりすることによって、IBネットワーク5経由でダイレクトにクライアント7との間で必要なデータ転送を行なえるものである。
つまり、このプロトコル変換部34は、制御装置2からの転送指示に従ってクライアント7とデータ転送に必要な会話を直接行なって、そのクライアント7との間で、直接、データ転送を実行する直接転送手段としての機能を果たすのである。
次に、上記のキャッシュ装置4は、制御装置2からの指示に従ってクライアント7との間でダイレクトにデータ転送を行なうことができるもので、本実施形態では、図1及び図3に示すように、例えば、内部ネットワークコントローラとしての機能を有するターゲットチャンネルアダプタ(TCA:Target Channel Adapter)41,メモリ管理部42,プロトコルハンドラ(Protocol Handler)43及び大容量(例えば、10ギガバイト程度)のRAM等のメモリデバイス44(以下、単に「メモリ44」と表記する)をそなえて構成されている。
ここで、上記のメモリ管理部42は、キャッシュ装置4内のメモリ44のどの領域(メモリ領域)を、ディスク装置31のデータをキャッシュしうるキャッシュ領域として、どの制御装置2に割り当てたのかを管理するものであり、プロトコルハンドラ(プロトコル処理部)43は、制御装置2から送られてきたメッセージを解釈し、そのメッセージ内容に応じてメモリ44にアクセスして、クライアント7側にRDMAしたり応答メッセージを返したりすることによって、クライアント7との間でダイレクトに必要なデータの転送を行なえるものである。
つまり、キャッシュ装置4では、このプロトコルハンドラ43が、制御装置2からの転送指示に従ってクライアント7とデータ転送に必要な会話を直接行なって、そのクライアント7との間で、直接、データ転送を実行する直接転送手段としての機能を果たすのである。
そして、上記の制御装置2は、上記のキャッシュ装置4及びストレージ装置3に対するアクセスを集中的に管理(制御)するためのもので、例えば、CPU(Central Processing Unit)21,メモリ22,チップセット23,ホストチャンネルアダプタ(HCA:Host Channel Adapter)24等を有するワークステーションに、システム管理プロセス(プログラム)をソフトウェアやファームウェア等として実装することによって実現される。
この「システム管理プロセス」は、ファイルデータの実体が本システム1内部(ストレージ装置3又はキャッシュ装置4)のどこに保存されているのかというデータの保存場所(記憶位置)を管理するもので、クライアント装置(以下、単に「クライアント」という)7からのリクエストの受け付けも行なうようになっている。
具体的に、本制御装置2は、例えばメモリ22に記憶された上記の「システム管理プロセス」をCPU21が読み取って動作することにより、例えば図2に示すように、DAFSプロトコルハンドラ(Direct Access File System Protocol Handler)21−1,内部プロトコルハンドラ(Internal Protocol Handler)21−2,実ストレージ領域管理部(Real Storage Manager)21−3,キャッシュ領域管理部(Cache Machine Memory Manager)21−4,仮想ストレージ管理部(Virtual Storage Manager)21−5,メッセージ送受信部(Message Transition Unit)21−6等としての機能が発揮されるようになっている。
ここで、DAFSプロトコルハンドラ21−1は、DAFSプロトコル処理を行なうもので、クライアント7から送られてくるDAFS処理要求を受け付け、該当するデータを管理しているキャッシュ装置4又はストレージ装置3に転送命令(データ転送指示)を発行する機能を有している。
つまり、このDAFSプロトコルハンドラ21−1は、IBネットワーク5にアクセス可能に接続されたクライアント7からIBネットワーク5を介して送られてくるアクセス要求を受けると、キャッシュ装置4又はストレージ装置3にデータ転送指示を発行する転送指示発行手段としての機能を果たすのである。
また、内部プロトコルハンドラ(内部プロトコル処理部)21−2は、システム1内で通信を継続するために必要なフローコントロール等の制御を行なうためのものであり、実ストレージ領域管理部21−3は、システム1内部に存在するストレージ装置3(ディスク装置31)のネットワークアドレスや容量などの情報を管理するものであり、キャッシュ領域管理部21−4は、キャッシュ装置4(メモリ44)の記憶領域を管理するもので、キャッシュ装置4(メモリ44)のネットワークアドレスや容量などの情報を有しており、仮想ストレージ管理部21−5からの要求に応じて記憶領域の割り当てを行なうようになっている。換言すれば、キャッシュ領域管理部21−4は、キャッシュ装置4の記憶領域を仮想ストレージアドレスにて一括管理する。
さらに、仮想ストレージ管理部21−5は、複数のストレージ装置3(ディスク装置31)の記憶領域を仮想ストレージアドレスにて一括管理することで複数のストレージ装置3の記憶領域を特定サイズの仮想ストレージ領域として管理し、クライアント7から要求(仮想ストレージアドレスを用いて要求)されたデータがシステム1内部のどこに保存されているかを管理するもので、本実施形態では、例えば下記の表1及び表2に示すような管理テーブル(テーブル形式のデータ)を保持することにより、かかる管理を実現している。
Figure 0004235712
Figure 0004235712
これらの表1及び表2に示す管理テーブルは、制御装置2がクライアント7側にみせているストレージイメージと、そのストレージイメージに対して実際にどのストレージ装置3又はキャッシュ装置4にデータの実体が保存されているのかとを対応付けて管理するもので、例えば表1に示す管理テーブルは、仮想ストレージと実ストレージ(ディスク装置31の記憶領域(セクタ))とのマップを表し、どの仮想ストレージのセクタがどのディスク装置31のセクタに対応するのかを表している。
なお、仮想ストレージID=00は、3つのディスク装置31(実ストレージID=00,01,02)のセクタ群(0−999)をそれぞれ仮想セクタ群として順番に有する単一の仮想ストレージとして管理している(換言すれば、クライアント7側からは上記の3つのディスク装置31が1つの仮想ディスクとしてみえる)ことを意味している。また、仮想ストレージID=01は、いわゆる「ミラーリング」の場合を表しており、仮想ストレージID=02は、いわゆる「ストライピング」の場合を表している。
これに対し、表2は、表1に示す管理テーブルにより管理されているデータのうち、キャッシュ装置4にキャッシュされているデータを管理するための管理テーブルであり、例えば、表2の第1行目は、IBアドレス=#0により特定されるキャッシュ装置4内のメモリ44のメモリアドレス=10に、仮想ストレージID=00で特定される仮想ストレージ(3つのディスク装置31により構成されている)のうちの仮想セクタ=0(実ストレージID=00のセクタ=0)に記憶されているデータがキャッシュされていることを意味する。
なお、これらの管理テーブルのより詳細な具体例については図15及び図16を用いて後述する。
そして、上述したDAFSプロトコルハンドラ21−1は、本仮想ストレージ管理部21−5と協同して上記の表1及び表2に示す管理テーブルに基づき必要なデータがどこに存在するのかを検索・特定した後、該当するコンポーネント(キャッシュ装置4又はストレージ装置3)にデータ転送指示(以下、単に「転送指示」という)を発行するようになっている。
即ち、DAFSプロトコルハンドラ21−1は、まず、上記の表2を参照してキャッシュしているデータを探し、キャッシュデータが存在すれば、当該キャッシュデータを保持しているキャッシュ装置4に転送指示を発行し、そうでない場合は、ストレージ装置3に転送指示を発行することになるのである。
また、メッセージ送受信部21−6は、上記転送指示やRDMA(Remote Direct Memory Access)などのメッセージを生成してIBネットワーク5へ送出する一方、IBネットワーク5から転送される上記DAFS処理要求やストレージ装置3やキャッシュ装置4からの確認(Acknowledgment)などのメッセージを受信するものである。
以下、上述のごとく構成された本実施形態のストレージシステム1の動作について説明する。
(1)転送すべきデータがキャッシュ装置4に存在する場合
図5に示すように、或るクライアント7から制御装置2に対してIBネットワーク経由5でDAFS処理要求(ファイルAに対するアクセス要求:Request File A)が発行されたとする(ステップS1;アクセス要求発行ステップ)。制御装置2では、このアクセス要求がメッセージ送受信部21−6にて受信されると、DAFSプロトコルハンドラ21−1が、受信メッセージを解析して、その内容(ファイルAについてのアクセス要求)を認識する。
ついで、DAFSプロトコルハンドラ21−1は、仮想ストレージ管理部21−4と協同して、表2に示す管理テーブルを検索して要求のあったファイルAがキャッシュ装置4にキャッシュされているか否かを確認する。ここで、ファイルAがキャッシュ装置4にキャッシュされているとすると、DAFSプロトコルハンドラ21−1は、ファイルAをアクセス要求元のクライアント7(IP(Internet Protocol)アドレス等によって特定される)に転送してもらうための転送指示をキャッシュ装置4に対して発行する(ステップS2;転送指示発行ステップ)。
この際、DAFSプロトコルハンドラ21−1は、キャッシュ装置4がクライアント7と直接会話を行なってデータ転送を行なうのに必要なメッセージ(応答メッセージ51やRDMAメッセージ52)も生成して、当該メッセージを上記転送指示とともにキャッシュ装置4へ送信する。なお、RDMAメッセージ52には、少なくとも、キャッシュ装置4側のファイルAの格納位置(メモリアドレス)とファイルAのサイズ情報(セクタ範囲)とが格納される。
キャッシュ装置4は、制御装置2から上記の転送指示を受けると、プロトコルハンドラ43が、その内容を解析し、その結果、ファイルAのクライアント7への転送指示であることを認識する。すると、プロトコルハンドラ43は、メモリ領域管理部42と協同して、上記のRDMAメッセージ52により指定された格納位置から指定サイズ情報分のデータをメモリ44から読み出すことによって目的のファイルAを読み出す。
ついで、プロトコルハンドラ43は、読み出したファイルAをRDMAメッセージによりIBネットワーク5経由でクライアント7にダイレクトに転送し(ステップS3:直接転送ステップ)、制御装置2から受信した上記応答メッセージ52をクライアント7に送出して(ステップS4)、ファイルAの転送を完了する。
(2)転送すべきデータがストレージ装置3に存在する場合
図6に示すように、或るクライアント7から制御装置2に対してIBネットワーク経由5でDAFS処理要求(ファイルBに対するアクセス要求:Request File B)が発行されたとする(ステップS11)。制御装置2では、この転送指示がメッセージ送受信部21−6にて受信されると、DAFSプロトコルハンドラ21−1が、受信メッセージを解析して、その内容(ファイルBについてのアクセス要求)を認識する。
ついで、DAFSプロトコルハンドラ21−1は、仮想ストレージ管理部21−4と協同して、表2に示す管理テーブルを検索して、要求のあったファイルAがキャッシュ装置4にキャッシュされているか否かを確認する。ここで、ファイルBがキャッシュ装置4にキャッシュされていないとすると、DAFSプロトコルハンドラ21−1は、さらに、仮想ストレージ管理部21−4と協同して、表1に示す管理テーブルを検索して、要求のあったファイルBを保存しているストレージ装置3(ディスク装置31)を特定する。
そして、DAFSプロトコルハンドラ21−1は、特定したストレージ装置3からファイルBをアクセス要求元のクライアント7(IP(Internet Protocol)アドレス等によって特定される)に直接転送してもらうための転送指示をキャッシュ装置4に対して発行する(ステップS12)。
この際、DAFSプロトコルハンドラ21−1は、ストレージ装置3がクライアント7と直接会話を行なってデータ転送を行なうのに必要なメッセージ(応答メッセージ51やRDMAメッセージ52,ファイルBのディスク装置31での格納位置を示すストレージアクセス情報(メッセージ)53)も生成して、当該メッセージを転送指示とともにストレージ装置3へ送信する。なお、ストレージアクセス情報53には、ファイルBのディスク装置31における先頭セクタ位置,サイズなどの情報が格納される。
ストレージ装置3は、制御装置2から上記の転送指示を受けると、プロトコル変換部34が、その転送指示を解釈し、その指示内容に応じてSCSIインタフェース35が、上記ストレージアクセス情報53に基づいて該当ディスク装置31にアクセスして、上記の先頭セクタ位置,サイズなどの情報により特定されるファイルBをディスク装置31から読み出す(ステップS13)。
そして、SCSIインタフェース35は、そのアクセス結果(ファイルB)を、プロトコル変換部34,TCA33を通じてクライアント7側にRDMAメッセージによりIBネットワーク5経由で直接転送し(ステップS14)、応答メッセージを同じくIBネットワーク5経由でクライアント7に返す(ステップS15)。
以上のように、本実施形態のストレージシステム1によれば、システム内部に大容量のメモリ44を有するキャッシュ装置4を実装し、クライアント7からのリクエスト(アクセス要求)は制御装置2で受け付けるが、実際の転送処理及びクライアント7への応答処理は実際にデータを保持しているキャッシュ装置4(又はストレージ装置3)が制御装置2を経由せずに直接行なうので、レイテンシの大幅削減と、データスループットの大幅向上(IBネットワーク5の性能を十分に活かせる帯域の確保)とを図ることができる。
また、上述した例では、制御装置2が上記の転送指示,応答メッセージ51,RDMAメッセージ52を集中的に生成・発行するので、本システム1内でのデータ転送制御が単純化され、保守面でも有利である。
(3)変形例1
図5により上述した例では、応答メッセージ51及びRDMAメッセージ52を制御装置2側で作成してキャッシュ装置4へ渡していたが、それぞれをキャッシュ装置4側で作成するようにしてもよい。
即ち、図7に示すように、制御装置2(DAFSプロトコルハンドラ21−1)は、アクセス要求のあったファイルAの位置情報(キャッシュ装置4側のメモリアドレス)をキャッシュ装置4への転送指示に添付してそのままキャッシュ装置4に送付し(ステップS2′)、キャッシュ装置4は、このように制御装置2側から送られてきた情報から、クライアント7側との会話に必要なメッセージ(RDMAメッセージ及び応答メッセージ等)をプロトコルハンドラ43により独自に生成し、要求のあったファイルAのクライアント7への転送処理を行なうのである(ステップS3′,S4′)。
(4)変形例2
同様に、図6により上述した例においても、応答メッセージ51及びRDMAメッセージ52は、制御装置2側ではなく、ストレージ装置3側で作成するようにしてもよい。
即ち、図8に示すように、制御装置2(DAFSプロトコルハンドラ21−1)は、アクセス要求のあったファイルBについてのストレージアクセス情報53をストレージ装置3への転送指示に添付してそのままストレージ装置3に送付し(ステップS12′)、ストレージ装置3は、このように制御装置2側から送られてきた情報53を基にディスク装置31からファイルBを読み出し(ステップS13)、クライアント7側との会話に必要なメッセージ(RDMAメッセージ及び応答メッセージ等)をプロトコル変換部34により独自に生成して、要求のあったファイルBのクライアント7への転送処理を行なうのである(ステップS14′,S15′)。
以上の変形例1及び変形例2のようにすることで、制御装置2の処理負荷をキャッシュ装置4又はストレージ装置3に分散することができるので、例えば、制御装置2に要求される性能を抑制して制御装置の小型化,低コスト化を図って、安価にシステム1を構築できることが期待される。
(5)変形例3
また、図5により前述した例において、制御装置2は、キャッシュ装置4に対して、RDMAメッセージ52を伴うファイルAについての転送指示のみを送付してキャッシュ装置4にクライアント7に対するRDMAを行なわせ、それ以外の処理(応答メッセージ51の生成・送付)は制御装置2が行なうようにすることもできる。
即ち、図9に示すように、制御装置2(DAFSプロトコルハンドラ21−1)は、クライアント7からファイルAについてのアクセス要求を受けると(ステップS1)、DAFSプロトコルハンドラ21−1が、キャッシュ装置4がクライアント7と直接会話を行なってデータ転送を行なうのに必要なメッセージとしてRDMAメッセージ52を生成して、ファイルAの転送指示とともにキャッシュ装置4に対して送信する(ステップS21)。なお、この場合も、RDMAメッセージ52には、少なくとも、キャッシュ装置4側のファイルAの格納位置(メモリアドレス)とファイルAのサイズ情報(セクタ範囲)とが格納される。
そして、キャッシュ装置4は、制御装置2から上記の転送指示を受けると、プロトコルハンドラ43が、その内容を解析し、メモリ領域管理部42と協同して、上記のRDMAメッセージ52により指定された格納位置から目的のファイルAを読み出し、RDMAメッセージによりIBネットワーク5経由でクライアント7にダイレクトに転送する(ステップS22)。
転送が終わると、プロトコルハンドラ43は、制御装置2宛の確認メッセージ(Acknowledgement Message)を生成して、IBネットワーク5経由で制御装置2に送付する(ステップS23)。この確認メッセージを受信した制御装置2では、DAFSプロトコルハンドラ21−1が、クライアント7宛の応答メッセージ51を生成して、IBネットワーク5経由でクライアント7へ送信する(ステップS24)。
(6)変形例4
同様に、図6により前述した例においても、制御装置2は、ストレージ装置3に対して、RDMAメッセージ52とストレージアクセス情報53とを伴うファイルBについての転送指示のみを送付してストレージ装置3にクライアント7に対するRDMAを行なわせ、それ以外の処理(応答メッセージ51の生成・送付)は制御装置2が行なうことも可能である。
即ち、図10に示すように、クライアント7から制御装置2に対してファイルBについてのアクセス要求があると(ステップS11)、制御装置2では、DAFSプロトコルハンドラ21−1が、受信メッセージを解析し、仮想ストレージ管理部21−4と協同して、要求のあったファイルBを保存しているストレージ装置3(ディスク装置31)を特定する。
そして、DAFSプロトコルハンドラ21−1は、特定したストレージ装置3に対して、RDMAメッセージ52とストレージアクセス情報53とをファイルBの転送指示に添付してストレージ装置3へ送信する(ステップS21′)。なお、この場合も、ストレージアクセス情報53には、ファイルBのディスク装置31における先頭セクタ位置,サイズなどの情報が格納される。
ストレージ装置3は、制御装置2から上記の転送指示を受けると、プロトコル変換部34が、その転送指示を解釈し、そのメッセージ内容に応じてSCSIインタフェース35が、上記ストレージアクセス情報53に基づいて該当ディスク装置31にアクセスして、上記の先頭セクタ位置,サイズなどの情報により特定されるファイルBをディスク装置31から読み出す(ステップS22′)。
そして、SCSIインタフェース35は、そのアクセス結果(ファイルB)を、プロトコル変換部34,TCA33を通じてクライアント7側にRDMAメッセージによりIBネットワーク5経由で直接転送する(ステップS23′)。この転送が終わると、プロトコル変換部34は、その旨を確認メッセージによりIBネットワーク5経由で制御装置2に通知し(ステップS24′)、この通知(確認メッセージ)を受けることにより、制御装置2は、DAFSプロトコルハンドラ21−1によってクライアント7宛の応答メッセージ51を生成して、IBネットワーク5経由でクライアント7に送信する(ステップS25′)。
以上の変形例3及び変形例4のように、クライアント7との会話に必要なメッセージの生成を部分的にキャッシュ装置4又はストレージ装置3に分担させることでも、図5及び図6の場合に比して、制御装置2の処理負荷をキャッシュ装置4又はストレージ装置3に分散することが可能である。
(7)変形例5
次に、ここでは、本システム1において、データの信頼性向上を目的として、複数のキャッシュ装置4が同じデータを冗長に保持する(いわゆる、「ミラーリング」)を行なう場合の転送処理について説明する。
図11に示すように、例えば、クライアント7から制御装置2に対してIBネットワーク5経由でファイルAについてのアクセス要求(書き込み要求)があったとする(ステップS31)。
制御装置2では、上記のアクセス要求を受信すると、DAFSプロトコルハンドラ21−1が、受信メッセージを解析し、仮想ストレージ管理部21−4と協同して、要求のあったファイルAを保存すべきキャッシュ装置4A及び4Bを特定(選択)する。そして、DAFSプロトコルハンドラ21−1は、キャッシュ装置4A及び4Bのそれぞれについて、クライアント7との通信に必要なメッセージ(応答メッセージ51やRDMAメッセージ52)を生成し、それぞれを転送指示に添付してキャッシュ装置4A及び4Bに送付する(ステップS32)。なお、この場合、各RDMAメッセージ52には、ファイルAを保持すべきキャッシュ装置4A及び4B側のメモリアドレス,サイズ情報などが必要である。
キャッシュ装置4A及び4Bでは、それぞれ、上述のごとく制御装置2から送られてくる転送指示を受信すると、プロトコルハンドラ43が、その内容を解析し、メモリ領域管理部42と協同して、制御装置2から受信したRDMAメッセージ52を用いてIBネットワーク5経由でファイルAをクライアント7からダイレクトに受信してそれぞれのメモリ44に書き込む(ステップS33)。
その後、クライアント7から各キャッシュ装置4A及び4Bに対するRDMAが終了すると、各キャッシュ装置4A及び4Bのプロトコルハンドラ43は、制御装置2から受信した応答メッセージ51によりクライアント7に応答を返し(ステップS34)、クライアント7側では、全てのキャッシュ装置4A及び4Bからの応答があった時点で転送(ミラーリング)完了とする。
以上のように、本変形例によれば、ミラーリングを行なう際にも、各キャッシュ装置4が、それぞれ、制御装置2からの転送指示に従ってクライアント7との間でデータ転送に必要な会話(メッセージの送受)を行なって、クライアント7と複数のキャッシュ装置4との間で、制御装置2を経由せずに直接、実際のデータ転送と応答処理とを行なうので、本システム1のレイテンシの削減及びデータスループットの向上を図りながら、信頼性の向上をも図ることができる。
なお、上述した例において、1つでも応答を返してきたキャッシュ装置4A又は4Bがあれば、その時点で転送完了としてもよい。この場合は、全てのキャッシュ装置4が応答メッセージをクライアント7に送付する必要はないことになるので、応答メッセージ51とRDMAメッセージ52の双方を送付するのは一部のキャッシュ装置4のみとし、残りのキャッシュ装置4には、RDMAメッセージ52のみを送付するようにしてもよい。
即ち、例えば図12に示すように、クライアント7からファイルAについてのアクセス要求を制御装置2が受けると、制御装置2から一方のキャッシュ装置4Aには、応答メッセージ51とRDMAメッセージ52の双方を添付した転送指示を送信し(ステップS32)、残りのキャッシュ装置4BにはRDMAメッセージ52のみを添付した転送指示を送信するのである(ステップS32′)。
これにより、クライアント7に対する各キャッシュ装置4A及び4BからのファイルAについてのRDMAが行なわれた(ステップS33)後、制御装置2から応答メッセージ51を受信したキャッシュ装置4Aのみが、クライアント7に対して応答メッセージ51を送信することになる(ステップS34)。
以上のようにすることで、制御装置2の処理負荷を軽減することができるとともに、一部ではあるがキャッシュ装置4の処理負荷も軽減することができる。
(8)変形例6
次に、ここでは、「ミラーリング」時の転送処理の変形例について説明する。この場合、制御装置2は、全てのキャッシュ装置4に対して転送指示を出さず、一部のキャッシュ装置4に対してのみ転送指示を出し、そのキャッシュ装置4から他のキャッシュ装置4に同じデータをコピーすることで、ミラーリングを実現する。
即ち、図13に示すように、クライアント7から制御装置2に対してファイルAについてのアクセス要求(書き込み要求)があったとすると(ステップS41)、制御装置2では、DAFSプロトコルハンドラ21−1が、例えば、クライアント7からキャッシュ装置4AがファイルAを受け取るための転送指示をIBネットワーク5経由でキャッシュ装置4Aに発行する(ステップS42)。
この際、DAFSプロトコルハンドラ21−1は、応答メッセージ51とRDMAメッセージ52とを生成するとともに、ファイルAのコピー先であるキャッシュ装置4Bのアドレス情報54を生成し、これらを上記キャッシュ装置4A宛の転送指示に添付する。なお、この場合も、RDMAメッセージ52には、キャッシュ装置4側のメモリアドレスやファイルAのサイズ情報が必要である。
そして、制御装置2から上記転送指示を受け取ったキャッシュ装置4Aは、制御装置2側で生成されたRDMAメッセージ52によりクライアント7からのファイルAの転送を受け(ステップS43)、転送が完了すると制御装置2から受け取った応答メッセージ53によりクライアント7に応答を返す(ステップS44)。この際、キャッシュ装置4Aは、制御装置2から受信した上記のアドレス情報54に基づいてコピー先のキャッシュ装置4Bを特定し、そのキャッシュ装置4Bのメモリ44にクライアント7から受信したファイルAをコピーする(ステップS45)。なお、このコピーもRDMAにより行なうことができる。
以上のようにすることで、システム1内でやりとりされるメッセージ数が削減されるので、システム1の信頼性を向上させるための「ミラーリング」を、システム1のデータスループット低下を招くことなく実現することができる。
(9)変形例7
図11〜図13により上述したように、複数のキャッシュ装置4で「ミラーリング」を行なう場合は、或る時期に、一部のキャッシュ装置4で冗長に保持しているデータをストレージ装置3に移して、キャッシュ装置4のメモリ44のメモリ領域を解放することもできる。
即ち、例えば図14に示すように、制御装置2は、或る時期に、同じファイルAを冗長に保持しているキャッシュ装置4A及び4Bの一部(ここでは、キャッシュ装置4A)に対して、ファイルAのストレージ装置3への転送指示を発行する(ステップS51)。勿論、この際、上記転送指示には、転送先であるストレージ装置3及びディスク装置31を特定する情報が添付される。
この転送指示を受けたキャッシュ装置4Aは、RDMAによりファイルAをストレージ装置3のディスク装置31に転送し(ステップS52)、転送が完了すると、その旨を確認メッセージにより制御装置2に通知し(ステップS53)、冗長に保存していたファイルAをメモリ44から削除してメモリ領域を解放する(ステップ54)。
このようにすることで、例えば、アクセス頻度の少ない冗長データはキャッシュ装置4からストレージ装置3へ退避させて、アクセス頻度の高い冗長データを優先的にキャッシュ装置4に残すような制御が可能となる。したがって、キャッシュ装置4のメモリ容量を最大限に有効活用することができ、ミラーリングを行なう場合でも、キャッシュ装置4に必要なメモリ容量を抑制することができる。
(10)変形例8
次に、以下では、前述した仮想ストレージ管理部21−5及びキャッシュ領域管理部21−4の機能に着目した動作について説明する。
前述したように仮想ストレージ管理部21−5及びキャッシュ領域管理部21−4は、前記の表1に示した管理テーブル及び表2に示した管理テーブル(マップ)により、仮想ストレージ領域と実ストレージ領域(ストレージ装置3(ディスク装置31)の記憶領域)との対応関係及び仮想ストレージ領域とキャッシュ領域(キャッシュ装置4の記憶領域)との対応関係を一括管理することで、仮想ストレージシステムを実現している。
より詳細には、図15に示すような管理テーブル(仮想ストレージ/実ストレージ変換マップ)211により、仮想ストレージ領域と実ストレージ領域との対応関係が管理され、図16に示すような管理テーブル(キャッシュマップ)212により、仮想ストレージ領域とキャッシュ領域との対応関係が管理される。なお、システム内にキャッシュ装置4が存在しない場合は、勿論、キャッシュ領域管理部21−4(キャッシュマップ212)は不要である。
そして、仮想ストレージ/実ストレージ変換マップ211には、「仮想ストレージID(Virtual Storage ID)」と、「仮想セクタ(Virtual Sector)」,「モード(mode)」,「実ストレージネットアドレス(Real Storage Network Address)」,「実ストレージセクタ(Real Storage Sector)」及び「ストライプ幅(Stripe Width)」等との対応関係が保持され、キャッシュマップ212には、「仮想ストレージID」と、「仮想セクタ(Virtual Sector)」,「実ストレージネットアドレス(Real Storage Network Address)」,「実セクタ(Real Sector)」,「キャッシュネットワークアドレス(Cache Network Address)」,「キャッシュローカルアドレス(Cache Local Address)」,「フラグ(Flag)」等との対応関係が保持される。
例えば、仮想ストレージ/実ストレージ変換マップ211の1番目のエントリは、「仮想セクタ」="0−1999"により「仮想ストレージID」=Aの仮想ストレージ(以下、仮想ストレージAと表記することがある)が構成され、そのうちの"0−999"の各仮想セクタが「実ストレージネットワークアドレス」="10.25.180.3"で特定されるストレージ装置3(ディスク装置31)のセクタ(実ストレージセクタ)="2000−2999"に対応し、残りの"1000−1999"の仮想セクタが「実ストレージネットワークアドレス」="10.25.180.4"で特定されるストレージ装置3(ディスク装置31)のセクタ(実ストレージセクタ)="4000−4999"に対応することを意味する。
なお、「モード」="jbod"は、「連結」を意味し、上記の場合、仮想ストレージAが異なるディスク装置31のセクタ"2000−2999"とセクタ"4000−4999"の連結により構成されていることを意味する。また、ここでは、「実ストレージネットワークアドレス」をIPアドレス形式のデータ(ID)としているが、勿論、他の形式のIDでもよい。
次に、仮想ストレージ/実ストレージ変換マップ211の2番目のエントリは、「仮想セクタ」="0−3999"により「仮想ストレージID」=Bの仮想ストレージが構成され、そのうちの"0−1999"の各仮想セクタが「実ストレージネットワークアドレス」="10.25.180.10"及び"10.25.180.11"で特定される2つのディスク装置31の「実ストレージセクタ」="0−1999"及び"3000−4999"の組(図19においては"aa"及び"ab"で示す組)に対応し、かかる1組の実ストレージセクタを用いて「モード」で指定された「ミラーリング」が行なわれることを意味する。
同様に、"2000−3999"の各仮想セクタは「実ストレージネットワークアドレス」="10.25.180.12"及び"10.25.180.13"で特定される2つのディスク装置31の「実ストレージセクタ」="0−1999"及び"0−1999"の組(図19においては"aa"及び"ab"で示す組)に対応し、かかる1組の実ストレージセクタを用いて「モード」で指定された「ミラーリング」が行なわれることを意味する。
換言すれば、仮想ストレージ管理21−5は、仮想ストレージ領域の特定領域についての仮想ストレージアドレスと、複数のストレージ装置3の記憶領域についての実アドレスとを対応付けて管理することによりミラーリングを実現するミラーリング手段としての機能を有していることになる。なお、この場合、クライアント7からアクセス要求があると、複数のストレージ装置3に対してそれぞれデータ転送指示が発行されて、それらのストレージ装置3とクライアント7との間で直接データ転送が行なわれることになる。
さらに、仮想ストレージ/実ストレージ変換マップ211の3番目のエントリは、「仮想セクタ」="0−7999"により「仮想ストレージID」=Cの仮想ストレージが構成され、これらの"0−7999"の各仮想セクタが「実ストレージネットワークアドレス」="10.25.180.20"及び"10.25.180.21"で特定される2つのディスク装置31の「実ストレージセクタ」="0−3999"及び"1000−4999"の組に対応し、これらの実ストレージセクタを用いて「モード」で指定された「ストライプ幅」="2"の「ストライピング」が行なわれることを意味する。
即ち、例えば図20に示すように、「仮想セクタ」と「実セクタ」との対応関係がC#0=aa#0,C#1=ab#0,C#2=aa#1,C#3=ab#1,C#4=aa#2,C#5=ab#2,C#6=aa#3,…となっていたとすると、仮想セクタC#0→C#1→C#2→C#3→C#4→C#5→C#6→…に対するアクセス要求により、ディスク装置31aの実セクタaa#0→ディスク装置31bの実セクタab#0→ディスク装置31aの実セクタaa#1→ディスク装置31bの実セクタab#1→ディスク装置31aの実セクタaa#2→ディスク装置31bの実セクタab#2→ディスク装置31aの実セクタaa#3→…という具合に、ディスク31a,31bに対するアクセスが交互に発生することになる。
換言すれば、この場合、仮想ストレージ管理部21−5は、1つの仮想ストレージ領域(ID=C)を一定サイズ(ストライプ幅)で分割したときの連続する分割領域をそれぞれ異なるストレージ装置3(ディスク装置31)内の領域に割り当てるよう、仮想ストレージアドレスと複数のストレージ装置3の記憶領域についての実アドレスとを対応付けて管理することによりストライピングを実現するストライピング手段としての機能をそなえていることになる。
一方、図16に示すキャッシュマップ212の1番目のエントリは、「仮想ストレージID」=Aの「仮想セクタ」="2000"が「実ストレージネットワークアドレス」="10.25.180.3"で特定されるディスク装置31の「実セクタ」="4000"に対応するとともに、「キャッシュネットワークアドレス」="10.25.180.20"で特定されるキャッシュ装置4の「キャッシュローカルアドレス」(メモリアドレス)="0x80000"に対応することを意味する。
同様に、キャッシュマップ212の2番目のエントリは、「仮想ストレージID」=Aの「仮想セクタ」="2001"が「実ストレージネットワークアドレス」="10.25.180.3"で特定されるディスク装置31の「実セクタ」="5000"に対応するとともに、「キャッシュネットワークアドレス」="10.25.180.21"で特定されるキャッシュ装置4の「キャッシュローカルアドレス」(メモリアドレス)="0x40000"に対応することを意味する。
つまり、キャッシュ領域管理部21−4は、キャッシュ装置4の記憶領域をも仮想ストレージアドレスにて一括管理するようになっているのである。
そして、上記の「フラグ」="コヒーレント(coherent)"で、「実セクタ」と「キャッシュローカルアドレス」に保持されている両データが一致していることを意味し、「フラグ」="ダーティ(dirty)"でこれらの両データが不一致である(キャッシュ装置4のデータの方が新しい)ことを意味している。なお、「フラグ」としては、他に"空き(empty)"という状態があり、これはキャッシュ装置4にキャッシュ領域は割り当てられているが、未だそこに有効なデータが格納されていない状態を意味する。
ここで、「フラグ」="ダーティ(dirty)"の場合は、例えば図24に示すような一連の処理が行なわれる。即ち、まず、制御装置2(仮想ストレージ管理部21−5)から、ディスク装置31の「実セクタ」(aa)に保持されているデータを(以下、「実データ」ともいう)「キャッシュローカルアドレス」(aaa)に保持されている最新のデータ(以下、「キャッシュデータ」ともいう)に一致させるための同期指示がキャッシュ装置4に対して発行される(ステップS61)。
これを受けたキャッシュ装置4は、IBネットワーク5経由でディスク装置31へ該当データを直接転送して、ディスク装置31の「実セクタ」(aa)に保持されているデータを最新のデータに更新し(ステップS62)、同期完了の旨を制御装置2に応答として返す(ステップS62)。そして、この応答を受けた制御装置2(仮想ストレージ管理部21−5)では、キャッシュマップ212の該当エントリの「フラグ」を"コヒーレント(coherent)"に更新する(ステップS63)。
また、「フラグ」="空き(empty)"の状態で、ディスク装置31からキャッシュ装置4にデータを書き込む場合は、例えば図25に示すような一連の処理が行なわれる。即ち、まず、制御装置2(仮想ストレージ管理部21−5)から、ディスク装置31の「実セクタ」(aa)に保持されているデータをキャッシュ装置4の「キャッシュローカルアドレス」(aaa)に書き込む指示がストレージ装置3に対して発行される(ステップS71)。
これを受けたストレージ装置3は、ディスク装置31の「実セクタ」(aa)に格納されているデータを、IBネットワーク5経由でキャッシュ装置4へ直接転送して、キャッシュ装置4の「キャッシュローカルアドレス」(aaa)の領域に書き込み(ステップS72)、書き込み完了の旨を制御装置2に応答として返す(ステップS72)。そして、この応答を受けた制御装置2(仮想ストレージ管理部21−5)では、キャッシュマップ212の該当エントリの「フラグ」を"コヒーレント(coherent)"に更新する(ステップS73)。
このようにして、キャッシュマップ212のエントリに基づいて制御装置2からストレージ装置3又はキャッシュ装置4に対して指示を与えることにより、ストレージ装置3とキャッシュ装置4との間で、データの直接転送を行なわせて、キャッシュデータと実データとの同期や実データのキャッシュ装置4へのアップロード等を高速に実行することができる。
以上のように、本例では、上記のマップ211及び212を制御装置2(仮想ストレージ管理部21−5)で管理することで、前述したように仮想ストレージシステムにおいてクライアント7とストレージ装置3又はキャッシュ装置4との間で直接のデータ転送(「ミラーリング」や「ストライピング」も含む)が可能となる。
即ち、図17及び図18に示すように、或るクライアント7からIBネットワーク5経由で制御装置2に対して或る仮想ストレージに対するアクセス(読み出し)要求(仮想ストレージアドレスで要求)があると、制御装置2は、上記のマップ211及び212のエントリ内容に基づいて要求されたデータを保持している実ストレージ領域(実セクタ)を特定し、その実セクタを管理しているストレージ装置3又はキャッシュ装置4へクライアント7への直接転送に必要な情報を渡して、クライアント7とストレージ装置3又はキャッシュ装置4との間で制御装置2を経由しないデータの直接転送を行なわせることができる。
なお、図17はディスク装置31の実セクタ"aa"に保持されたデータをクライアント7に直接転送する場合の例、図18はキャッシュ装置4の実セクタ"aaa"に保持されたデータをクライアント7に直接転送する場合の例をそれぞれ示しており、それぞれの実ストレージ領域特定後の詳細動作については図6及び図5と同様である。
次に、ディスク装置31をIBネットワーク5に対して増設する場合について説明する。
例えば図21に示すように、或るインタフェースカード32にディスク装置31aが既に接続されている状態で、新たにディスク装置31bを増設する場合を考える。この場合、制御装置2(仮想ストレージ管理部21−5)では、増設前のマップ211として「仮想セクタ」("0−999")とディスク装置31aの「実セクタ」(aa="2000−2999")とを対応付けたエントリを保持しているが、増設後には、「仮想セクタ」("1000−1999")と、増設されたディスク装置31bの「実セクタ」(bb="4000−4999")とを対応付けたエントリをマップ211に追記する。
このように、マップ211に新たなエントリを追加するだけで、既に割り当て済みの仮想ストレージ領域(仮想セクタ"0−999")に追加して新たな仮想ストレージ領域(仮想セクタ"1000−1999")に対応するストレージ装置3(ディスク装置31b)内領域(実セクタ)の割り当てが可能である。
なお、かかる仮想ストレージ領域の追加は、「ミラーリング」や「ストライピング」構成の場合も同様にマップ211に対するエントリの追加で対応可能である。
例えば図22に示すように、制御装置2(仮想ストレージ管理部21−5)において、既に、「仮想セクタ」(例えば、"0−1000")と2台のディスク装置31a,31bの「実セクタ」(例えば、aa="2000−3000",bb="4000−5000")とを対応付けたエントリがマップ211に登録され、これら2台のディスク装置31a及び31b内領域(aa="2000−3000",bb="4000−5000")を用いて「ミラーリング」を実現している場合に、新たに2台のディスク装置31c,31dをそれぞれ増設する際には、マップ211に、新たに必要な「仮想セクタ」(例えば、"1001−2000")と、ディスク装置31cの「実セクタ」(例えば、ba="0−999")及びディスク装置31dの「実セクタ」(例えば、bb="2000−2999")とを対応付けたエントリをマップ211に追加すればよい。
これにより、新たに増設された2台のディスク装置31c及び31d内領域(ba="0−999",bb="2000−2999")を用いた「ミラーリング」が可能となる。
同様に、図23に示すように、制御装置2(仮想ストレージ管理部21−5)において、既に、「仮想セクタ」(例えば、"0−1000")と2台のディスク装置31a,31bの「実セクタ」(例えば、aa="0−499",bb="1000−1500")とを対応付けたエントリがマップ211に登録され、これら2台のディスク装置31a及び31b内領域(aa="0−499",bb="1000−1500")を用いてストライプ幅b=2の「ストライピング」を実現している場合に、新たに2台のディスク装置31c,31dを増設してこれら2台のディスク装置31c,31d内領域を用いて同じストライプ幅(b=2)の「ストライピング」を実現する際には、マップ211に、新たに必要な「仮想セクタ」(例えば、"1001−2000")と、ディスク装置31cの「実セクタ」(例えば、ba="1000−1499")及びディスク装置31dの「実セクタ」(例えば、bb="3000−3499")とを対応付けたエントリをマップ211に追加すればよい。
これにより、新たに増設された2台のディスク装置31c及び31d内領域(ba="1000−1499",bb="3000−3499")を用いたストライプ幅(b=2)の「ストライピング」が可能となる。なお、増設前後のディスク装置31a,31bの組及びディスク装置31c,31dの組とでストライプ幅は変えてもよい。
なお、一部のストレージ装置3をIBネットワーク5から削除(減設)する場合も、マップ211のエントリを変更するだけで対応可能なことはいうまでもない。
つまり、仮想ストレージ管理部21−5は、IBネットワーク5に対するストレージ装置3の増減設に応じて仮想ストレージ領域についての仮想ストレージアドレスと追加又は削減分のストレージ装置3の記憶領域についての実アドレスとの対応付けを変更する仮想ストレージアドレス変更手段としての機能を有しているのである。
以上のように、上述した例では、ストレージ装置3又はキャッシュ装置4とクライアント7との間で制御装置2を経由しないデータの直接転送が行なえることにより、レイテンシの大幅削減と、デーダスループットの大幅向上(IBネットワーク5の性能を十分に活かせる帯域の確保)とを図ることができることに加えて、従来の仮想ストレージシステムと比較して見劣りしない機能を提供することが可能となる。
(11)その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができることはいうまでもない。
例えば、上述した実施形態では、クライアント7からのIBネットワーク5経由のアクセス要求がDAFSに基づくことを前提としているが、他のプロトコル〔例えば、SRP(SCSI RDMA Protocol)〕に基づくものでも、上記と同様の作用効果を得ることができる。
また、IBネットワーク5内でやりとりされる各種メッセージのフォーマットについては適宜変更可能である。
以上のように、本発明によれば、ストレージシステム内のキャッシュ装置(又はストレージ装置)が、制御装置からの指示に従ってクライアント装置とデータ転送に必要な会話を直接行なってデータ転送を直接行なうので、システムのレイテンシを削減できるとともに、そのデータスループットを大幅に向上することができ、例えば、高速且つ高性能なデータセンター等を構築することができ、その有用性は極めて高いものと考えられる。
本発明の一実施形態としてのストレージシステムの構成を示すブロック図である。 図1に示す制御装置の要部の構成を示す機能ブロック図である。 図1に示すキャッシュ装置の要部の構成を示すブロック図である。 図1に示すストレージ装置の要部の構成を示すブロック図である。 図1に示すストレージシステムの動作(転送対象データがキャッシュ装置に存在する場合)を説明するための図である。 図1に示すストレージシステムの動作(転送対象データがストレージ装置に存在する場合)を説明するための図である。 図1に示すストレージシステムの動作の変形例1を説明するための図である。 図1に示すストレージシステムの動作の変形例2を説明するための図である。 図1に示すストレージシステムの動作の変形例3を説明するための図である。 図1に示すストレージシステムの動作の変形例4を説明するための図である。 図1に示すストレージシステムの動作の変形例5を説明するための図である。 図1に示すストレージシステムの動作の変形例5を説明するための図である。 図1に示すストレージシステムの動作の変形例6を説明するための図である。 図1に示すストレージシステムの動作の変形例7を説明するための図である。 本実施形態の変形例8に係る仮想ストレージ領域と実ストレージ領域との対応関係を示す管理テーブル(仮想ストレージ/実ストレージ変換マップ)の具体例を示す図である。 本実施形態の変形例8に係る仮想ストレージ領域とキャッシュ領域との対応関係を示す管理テーブル(キャッシュマップ)の具体例を示す図である。 本実施形態の変形例8に係るストレージシステムにおいてディスク装置の実セクタに保持されたデータをクライアントに直接転送する場合の例を説明するための図である。 本実施形態の変形例8に係るストレージシステムにおいてキャッシュ装置に保持されたデータをクライアントに直接転送する場合の例を説明するための図である。 本実施形態の変形例8に係るストレージシステムにおいて「ミラーリング」を実現する場合を説明するための図である。 本実施形態の変形例8に係るストレージシステムにおいて「ストライピング」を実現する場合を説明するための図である。 本実施形態の変形例8に係るストレージシステムにおいてストレージ装置を増設する場合の仮想ストレージ管理を説明するための図である。 図19に示す「ミラーリング」を実現するストレージシステムにおいてストレージ装置を増設する場合の仮想ストレージ管理を説明するための図である。 図20に示す「ストライピング」を実現するストレージシステムにおいてストレージ装置を増設する場合の仮想ストレージ管理を説明するための図である。 本実施形態の変形例8に係るストレージシステムにおいてキャッシュ装置からストレージ装置へ直接データ転送する場合の動作を説明するための図である。 本実施形態の変形例8に係るストレージシステムにおいてストレージ装置からキャッシュ装置へ直接データ転送する場合の動作を説明するための図である。 既存のストレージシステムの一例を示す図である。 図26に示すストレージシステムにおけるデータ転送処理を説明するためのシーケンス図である。

Claims (4)

  1. データを記憶するストレージ装置と、該ストレージ装置に記憶されている該データをキャッシュしうるキャッシュ装置と、少なくとも上記のストレージ装置及びキャッシュ装置に対するアクセスを制御する制御装置と、上記のストレージ装置,キャッシュ装置及び制御装置を相互に通信可能に接続する内部ネットワークとをそなえたストレージシステムにおけるデータ転送方法であって、
    該内部ネットワークにアクセス可能に接続されたクライアント装置が、該内部ネットワークを介して該制御装置にアクセス要求を発行するアクセス要求発行ステップと、
    該制御装置が、該アクセス要求を受けると、該キャッシュ装置又は該ストレージ装置にデータ転送指示を発行する転送指示発行ステップと、
    該キャッシュ装置又は該ストレージ装置が、該制御装置からの該データ転送指示に従って該クライアント装置とデータ転送に必要な会話を直接行なって、該クライアント装置との間で、直接、データ転送を実行する直接転送ステップとをそなえ
    該キャッシュ装置が2台以上存在する場合に、
    該転送指示発行ステップにおいて、該制御装置が、該クライアント装置と上記の各キャッシュ装置との間の該会話に必要なメッセージを生成して該データ転送指示とともに該キャッシュ装置にそれぞれ送信し、
    該直接転送ステップにおいて、該キャッシュ装置が、それぞれ、該制御装置で生成された該メッセージを用いて該クライアント装置との間のデータ転送を実行し、
    その後、該キャッシュ装置のいずれかが該データ転送の完了を示す応答メッセージを、該内部ネットワークを介して該クライアント装置へ送信すること特徴とする、ストレージシステムにおけるデータ転送方法
  2. データを記憶するストレージ装置と、該ストレージ装置に記憶されている該データをキャッシュしうるキャッシュ装置と、少なくとも上記のストレージ装置及びキャッシュ装置に対するアクセスを制御する制御装置と、上記のストレージ装置,キャッシュ装置及び制御装置を相互に通信可能に接続する内部ネットワークとをそなえたストレージシステムにおけるデータ転送方法であって、
    該内部ネットワークにアクセス可能に接続されたクライアント装置が、該内部ネットワークを介して該制御装置にアクセス要求を発行するアクセス要求発行ステップと、
    該制御装置が、該アクセス要求を受けると、該キャッシュ装置又は該ストレージ装置にデータ転送指示を発行する転送指示発行ステップと、
    該キャッシュ装置又は該ストレージ装置が、該制御装置からの該データ転送指示に従って該クライアント装置とデータ転送に必要な会話を直接行なって、該クライアント装置との間で、直接、データ転送を実行する直接転送ステップとをそなえ、
    該キャッシュ装置が2台以上存在する場合に、
    該転送指示発行ステップにおいて、該制御装置が、該クライアント装置と上記の各キャッシュ装置との間の該会話に必要なメッセージを生成して該データ転送依頼とともに該キャッシュ装置にそれぞれ送信し、
    該直接転送ステップにおいて、該キャッシュ装置が、それぞれ、該制御装置で生成された該メッセージを用いて該クライアント装置との間のデータ転送を実行し、
    その後、上記の各キャッシュ装置がそれぞれ該データ転送の完了を示す応答メッセージを、該内部ネットワークを介して該クライアント装置へ送信し、
    該クライアント装置は、上記の各キャッシュ装置からの該応答メッセージを受信することにより、該データ転送を完了とすることを特徴とする、ストレージシステムにおけるデータ転送方法。
  3. データを記憶するストレージ装置と、該ストレージ装置に記憶されている該データをキャッシュしうるキャッシュ装置と、少なくとも上記のストレージ装置及びキャッシュ装置に対するアクセスを制御する制御装置と、上記のストレージ装置,キャッシュ装置及び制御装置を相互に通信可能に接続する内部ネットワークとをそなえたストレージシステムにおけるデータ転送方法であって、
    該内部ネットワークにアクセス可能に接続されたクライアント装置が、該内部ネットワークを介して該制御装置にアクセス要求を発行するアクセス要求発行ステップと、
    該制御装置が、該アクセス要求を受けると、該キャッシュ装置又は該ストレージ装置にデータ転送指示を発行する転送指示発行ステップと、
    該キャッシュ装置又は該ストレージ装置が、該制御装置からの該データ転送指示に従って該クライアント装置とデータ転送に必要な会話を直接行なって、該クライアント装置との間で、直接、データ転送を実行する直接転送ステップとをそなえ、
    該キャッシュ装置が2台以上存在する場合に、
    該転送指示発行ステップにおいて、該制御装置が、該クライアント装置と該キャッシュ装置のいずれかとの間の該会話に必要なメッセージを生成して該データ転送指示とともに該キャッシュ装置にそれぞれ送信するとともに、データコピー先キャッシュ装置情報を当該キャッシュ装置に送信し、
    該直接転送ステップにおいて、該キャッシュ装置が、該制御装置から受信した該メッセージを用いて該クライアント装置との間のデータ転送を実行し、
    その後、該キャッシュ装置が、該制御装置から受信した該データコピー先キャッシュ装置情報により特定される他のキャッシュ装置に、受信した該データをコピーすることを特徴とする、ストレージシステムにおけるデータ転送方法。
  4. 該制御装置が、同じデータをキャッシュしているキャッシュ装置のいずれかに当該データを該ストレージ装置へ転送するよう指示し、
    該指示を受けたキャッシュ装置は、該データを該内部ネットワーク経由で該ストレージ装置へ転送して、他のキャッシュ装置とで冗長に保持していた該データを削除して自己のメモリ領域を解放することを特徴とする、請求項〜請求項のいずれか1項に記載のストレージシステムにおけるデータ転送方法
JP2003573537A 2002-03-06 2002-08-20 ストレージシステムにおけるデータ転送方法 Expired - Fee Related JP4235712B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/JP2002/002063 WO2003075166A1 (fr) 2002-03-06 2002-03-06 Systeme de stockage et procede de transfert de donnees dans ledit systeme
JPPCT/JP02/02063 2002-03-06
PCT/JP2002/008359 WO2003075147A1 (fr) 2002-03-06 2002-08-20 Systeme memoire et procede et transfert de donnees pour un tel systeme

Publications (2)

Publication Number Publication Date
JPWO2003075147A1 JPWO2003075147A1 (ja) 2005-06-30
JP4235712B2 true JP4235712B2 (ja) 2009-03-11

Family

ID=27773232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003573537A Expired - Fee Related JP4235712B2 (ja) 2002-03-06 2002-08-20 ストレージシステムにおけるデータ転送方法

Country Status (5)

Country Link
US (1) US20050038850A1 (ja)
EP (1) EP1498809B1 (ja)
JP (1) JP4235712B2 (ja)
GB (1) GB0420351D0 (ja)
WO (2) WO2003075166A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185118A (ja) * 2004-12-27 2006-07-13 Tb Tech Co Ltd ストレージ管理
CN100342352C (zh) * 2005-03-14 2007-10-10 北京邦诺存储科技有限公司 一种可扩充的高速存储网络缓存系统
EP1875394B1 (en) 2005-04-25 2011-06-08 Network Appliance, Inc. System and method for caching network file systems
JP2008009829A (ja) 2006-06-30 2008-01-17 Fujitsu Ltd ストレージ制御プログラム、ストレージ制御装置、ストレージ制御方法
US8099452B2 (en) * 2006-09-05 2012-01-17 Microsoft Corporation Event stream conditioning
JP2010102479A (ja) * 2008-10-23 2010-05-06 Hitachi Ltd 計算機システム、ストレージ装置及びデータ更新方法
JP5428374B2 (ja) * 2009-02-17 2014-02-26 日本電気株式会社 分散データ収集システム及び分散データ収集方法
TWI371686B (en) * 2009-04-02 2012-09-01 Lsi Corp System and method to reduce drive overhead using a mirrored cache volume in a storage array
NL2005918C2 (en) * 2010-12-23 2012-06-27 Geobrand B V Method and system for executing an application on a pda terminal.
US8732401B2 (en) 2011-07-07 2014-05-20 Atlantis Computing, Inc. Method and apparatus for cache replacement using a catalog
US9069472B2 (en) 2012-12-21 2015-06-30 Atlantis Computing, Inc. Method for dispersing and collating I/O's from virtual machines for parallelization of I/O access and redundancy of storing virtual machine data
US9277010B2 (en) 2012-12-21 2016-03-01 Atlantis Computing, Inc. Systems and apparatuses for aggregating nodes to form an aggregated virtual storage for a virtualized desktop environment
US9250946B2 (en) 2013-02-12 2016-02-02 Atlantis Computing, Inc. Efficient provisioning of cloned virtual machine images using deduplication metadata
US9372865B2 (en) 2013-02-12 2016-06-21 Atlantis Computing, Inc. Deduplication metadata access in deduplication file system
US9471590B2 (en) 2013-02-12 2016-10-18 Atlantis Computing, Inc. Method and apparatus for replicating virtual machine images using deduplication metadata
US10979503B2 (en) 2014-07-30 2021-04-13 Excelero Storage Ltd. System and method for improved storage access in multi core system
US10237347B2 (en) 2015-06-08 2019-03-19 Excelero Storage Ltd. System and method for providing a client device seamless access to a plurality of remote storage devices presented as a virtual device
US10936200B2 (en) 2014-07-30 2021-03-02 Excelero Storage Ltd. System and method for improved RDMA techniques for multi-host network interface controllers
JP2018502385A (ja) 2014-12-08 2018-01-25 アンブラ テクノロジーズ リミテッドUmbra Technologies Ltd. 遠隔ネットワークリージョンからのコンテンツ検索のためのシステム及び方法
CN113225369A (zh) 2015-01-06 2021-08-06 安博科技有限公司 用于中立应用程序编程接口的系统和方法
JP2018507639A (ja) 2015-01-28 2018-03-15 アンブラ テクノロジーズ リミテッドUmbra Technologies Ltd. グローバル仮想ネットワークについてのシステム及び方法
EP4293979A3 (en) 2015-04-07 2024-04-17 Umbra Technologies Ltd. System and method for virtual interfaces and advanced smart routing in a global virtual network
CN116366334A (zh) 2015-06-11 2023-06-30 安博科技有限公司 用于网络挂毯多协议集成的系统和方法
WO2017098326A1 (en) 2015-12-11 2017-06-15 Umbra Technologies Ltd. System and method for information slingshot over a network tapestry and granularity of a tick
US11743332B2 (en) 2016-04-26 2023-08-29 Umbra Technologies Ltd. Systems and methods for routing data to a parallel file system
US10564986B2 (en) * 2016-12-22 2020-02-18 Intel Corporation Methods and apparatus to suspend and resume computing systems
JP7347157B2 (ja) 2019-11-22 2023-09-20 富士通株式会社 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置
US11392306B2 (en) * 2020-05-01 2022-07-19 EMC IP Holding Company LLC Using storage system memory as host memory

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05308366A (ja) * 1992-05-06 1993-11-19 Ricoh Co Ltd Lanにおけるキャッシュシステム
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
US6092170A (en) * 1996-11-29 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Data transfer apparatus between devices
US6219693B1 (en) * 1997-11-04 2001-04-17 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
JP3686562B2 (ja) * 1999-12-15 2005-08-24 株式会社日立製作所 ディスク制御装置
JP2001184294A (ja) * 1999-12-24 2001-07-06 Hitachi Ltd ファイルアクセス方法とこれを用いた情報処理システム
JP4192416B2 (ja) * 2000-06-08 2008-12-10 株式会社日立製作所 計算機システムおよびそのデータ転送方法
JP3999446B2 (ja) * 2000-06-30 2007-10-31 株式会社東芝 ディスク装置及び同装置を複数備えた計算機システム
US6804673B2 (en) * 2001-04-19 2004-10-12 Fujitsu Limited Access assurance for remote memory access over network

Also Published As

Publication number Publication date
GB0420351D0 (en) 2004-10-13
EP1498809A4 (en) 2007-05-23
EP1498809B1 (en) 2008-06-18
JPWO2003075147A1 (ja) 2005-06-30
WO2003075147A1 (fr) 2003-09-12
US20050038850A1 (en) 2005-02-17
WO2003075166A1 (fr) 2003-09-12
EP1498809A1 (en) 2005-01-19

Similar Documents

Publication Publication Date Title
JP4235712B2 (ja) ストレージシステムにおけるデータ転送方法
US10838665B2 (en) Method, device, and system for buffering data for read/write commands in NVME over fabric architecture
US10372340B2 (en) Data distribution method in storage system, distribution apparatus, and storage system
JP4303688B2 (ja) データアクセス応答システムおよびデータアクセス応答システムへのアクセス方法
US9513825B2 (en) Storage system having a channel control function using a plurality of processors
US7117310B2 (en) Systems and methods for cache synchronization between redundant storage controllers
CN100428185C (zh) 存储服务器的自底向上高速缓存结构
US7913042B2 (en) Virtual storage system control apparatus, virtual storage system control program and virtual storage system control method
JP4014923B2 (ja) 共有メモリ制御方法および制御システム
CN100435117C (zh) 传送数据的方法
JP2015537310A (ja) データ処理システム及びデータ処理方法
JPH0962558A (ja) データベース管理システム及び方法
JP2001024733A (ja) データ伝送装置
JP2001519565A (ja) キャッシュコヒーレンス共用ディスクコンピュータシステムにおけるi/o転送
JP2004355307A (ja) 通信方法および情報処理装置
JP2003044421A (ja) 仮想ストレージシステム及び同システムに使用されるスイッチングノード
KR100449806B1 (ko) 네트워크를 통해 스트리밍 데이터를 고속으로 송수신하기위한 네트워크-스토리지 연결 장치
JP4057201B2 (ja) 異種計算機間高速データ交換方式およびエクステント抽出・変換プログラム記録媒体
JP2006164218A (ja) ストレージシステム及びそのキャッシュ制御方法
JP2006155202A (ja) 遠隔バックアップシステム及び方法
CN114731282B (zh) 处理非缓存写数据请求的方法、缓存器和节点
CN110347535B (zh) 一种提升双控制器写性能的方法
JP2001202199A (ja) 記憶制御装置
TW202232328A (zh) 具有雙儲存虛擬化控制器之資料儲存系統架構及其資料存取方法
JP2001346133A (ja) ビデオサーバ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081008

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081028

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081114

R150 Certificate of patent or registration of utility model

Ref document number: 4235712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees