JP2002278833A - ディスクアレイ制御装置 - Google Patents

ディスクアレイ制御装置

Info

Publication number
JP2002278833A
JP2002278833A JP2001074425A JP2001074425A JP2002278833A JP 2002278833 A JP2002278833 A JP 2002278833A JP 2001074425 A JP2001074425 A JP 2001074425A JP 2001074425 A JP2001074425 A JP 2001074425A JP 2002278833 A JP2002278833 A JP 2002278833A
Authority
JP
Japan
Prior art keywords
host
cache page
cache
disk
disk array
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.)
Granted
Application number
JP2001074425A
Other languages
English (en)
Other versions
JP3690295B2 (ja
Inventor
Atsushi Kuwata
篤史 桑田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2001074425A priority Critical patent/JP3690295B2/ja
Priority to US10/095,522 priority patent/US6845426B2/en
Publication of JP2002278833A publication Critical patent/JP2002278833A/ja
Application granted granted Critical
Publication of JP3690295B2 publication Critical patent/JP3690295B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Abstract

(57)【要約】 【課題】 同一ホストからの複数のコマンド同士による
キャッシュページ競合を防止する。 【解決手段】 ディスクアレイ制御装置10は、ホスト
121,122に一つずつ設けられるとともにホスト1
21,122からのI/O要求を制御してディスクドラ
イブ141,142とのI/O処理を実行するホストデ
ィレクタ161,162と、ホストディレクタ161,
162に共用されるとともにディスクキャッシュを構成
する共用メモリ18とを備えたものである。ホストディ
レクタ161は、ホスト121が同一キャッシュページ
に対する複数のリードコマンドを発行してきた場合に、
複数のリードコマンドを処理する間、当該キャッシュペ
ージを占有したまま複数のデータ転送処理を起動する機
能を備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホストからのI/
O要求を制御してディスク装置とのI/O処理を実行す
る複数のホストディレクタと、これらのホストディレク
タに共用されるとともにディスクキャッシュを構成する
共用メモリとを備えたディスクアレイ制御装置に関す
る。
【0002】
【従来の技術】[第一従来例]
【0003】近年、ディスクアレイ装置では、スループ
ット向上のためにキャッシュメモリの搭載が不可欠にな
っている。ディスクアレイ装置の全容量の中で、アクセ
ス頻度の高い領域というのは限られているので、その部
分のデータをキャッシュメモリ上にコピーしておくこと
によりホストコンピュータへの応答を速く行うことがで
きる。
【0004】また、I/O処理を行うディレクタ部を複
数搭載するマルチディレクタにより負荷分散させる技術
がある。これにより、複数のホストからのI/O要求
を、それぞれのホストディレクタが並列に処理すること
ができる。更に、ディスクアレイ内の物理ディスクアク
セス処理を独立して実行するディスクディレクタを設け
ることにより、ホスト・キャッシュ間の優先的なデータ
転送処理と、キャッシュ・ディスク間のバックグラウン
ド処理を非同期に行うことができるので、スループット
の向上が得られる。
【0005】このようなマルチディレクタ方式のディス
クアレイ装置において、複数のディレクタが同じタイミ
ングでキャッシュメモリの管理領域にアクセスしようと
した場合、排他されることなく並列して処理を遂行でき
るようにした、キャッシュメモリ管理方法が知られてい
る(特開2000−187617号公報)。図6は、同
公報に開示されたディスクアレイ装置を示すブロック図
である。図7は、このディスクアレイ装置に用いられる
論理ディスクとキャッシュパーティションとの対応関係
を示す図表である。以下、これらの図面に基づき説明す
る。
【0006】ディスクアレイ504は、三つのホストデ
ィレクタ511,512,513を介して三台のホスト
501,502,503に接続されている。ディスクア
レイ504は、キャッシュメモリ51と、ホストディレ
クタ511,512,513と、物理ディスクユニット
525と、物理ディスクユニット525に接続されるデ
ィスクディレクタ531,532,533から構成され
ている。キャッシュメモリ51は、論理的に三つのパー
ティション521,522,523に分割されている。
それぞれのパーティションは管理領域5211,522
1,5231及びキャッシュ領域5212,5222,
5232からなる。
【0007】次に、動作について説明する。まず、ホス
ト501から論理ディスク0へのアクセス要求があった
ものとする。ホストディレクタ511は図7に従ってキ
ャッシュパーティション0を使用するために、キャッシ
ュ管理領域5211を操作する。この間キャッシュ管理
領域5211は排他制御され、他のディレクタからは操
作できない。それとほぼ同時にホスト502から論理デ
ィスク1へのアクセス要求があったものとする。すると
ホストディレクタ512はキャッシュパーティション1
を使用するために、キャッシュ管理領域5221を操作
する必要がある。このときキャッシュ管理領域5221
は排他制御されていないので、すぐに操作することがで
きる。
【0008】また、ホスト501が複数のライト要求を
連続して発行しているものとする。ホストディレクタ5
11は、論理アドレスによってキャッシュパーティショ
ン521とキャッシュパーティション522とに振り分
けてライトする。一方、ディスクディレクタ531は、
キャッシュ上にライトされたデータを物理ディスクユニ
ット525に書き込む処理を、ホストディレクタ511
の動作と並列して行う。このとき、両ディレクタ51
1、531がキャッシュ管理領域5211、5221を
ほぼ同時にアクセスしようとしたときでも、パーティシ
ョンが違えば同時に処理を行うことができる。
【0009】以上に見られるように、複数のホストから
のI/O要求が、キャッシュ管理領域の操作において競
合せずに並列処理を行うことができるため、スループッ
トの向上が得られる効果がある。なぜならば、複数のキ
ャッシュパーティションが完全に独立しているためであ
り、それぞれの管理領域を操作するときには、そのパー
ティションだけを排他制御するからである。
【0010】[第二従来例]
【0011】近年、ディスクアレイ装置では、ホスト接
続ポート数の増加、ディスクドライブの容量及び最大搭
載数の増加、ディスクキャッシュの大容量化など、装置
全体が大規模化している。このような大規模のディスク
アレイ装置を実現するために、ホスト接続ポート数やデ
ィスクドライブ搭載数に応じてマルチプロセッサを搭載
し、共用メモリによるディスクキャッシュを構成する技
術がある。ディスクキャッシュとは、コンピュータとデ
ィスクとの間で、データのやりとりを高速化する装置又
は機能をいう。その動作原理は、いったんディスクから
読み出したデータをメモリ上に蓄えておき、再度同じデ
ータを読み出すときには、ディスクから再度読み込むの
ではなく、メモリ上に蓄えてあるデータを利用する、と
いうものである。この技術では、マルチホスト接続にお
いても十分なスループットを実現でき、また必要に応じ
てホストディレクタを実装できるスケーラビリティ(拡
張性)もある。
【0012】図8は、このような共用メモリ方式による
ディスクアレイ装置を示すブロック図である。以下、こ
の図面に基づき説明する。
【0013】このディスクアレイ装置は、ホスト121
にホストディレクタ281、ホスト122にホストディ
レクタ282がそれぞれ接続され、ディスクドライブ1
41にディスクディレクタ301、ディスクドライブ1
42にディスクディレクタ302がそれぞれ接続され、
ホストディレクタ281,282及びディスクディレク
タ301,302が共用メモリ18を使用しながら並列
動作するものである。
【0014】このディスクアレイ装置においては、機械
動作を伴うディスクドライブアクセス時間はメモリアク
セス時間に比べて大きいので、キャッシュヒット率を向
上させること、及び、キャッシュヒット時のレスポンス
時間を向上させることにより、平均性能を向上させるこ
とができる。キャッシュヒット時のレスポンス時間は、
主にホストインターフェース処理時間、データ転送時
間、共用メモリ制御処理時間などからなる。これらのう
ち、ホストインターフェース処理時間、データ転送時間
については、ファイバーチャネル技術などにより十分短
くなっている。したがって、共用メモリ制御処理につい
ても同様に短くすることが望まれる。なお、ファイバチ
ャネルとは、コンピュータ同士や周辺機器との間を同軸
ケーブルや光ファイバケーブルで結び、高速データ転送
をするためのインターフェース規格である。
【0015】ところで、あるアドレスと、その同じアド
レス又は近傍のアドレスとに、ほぼ同時にコマンドが発
行された場合、キャッシュページの競合が発生する。そ
のため、排他制御により後の処理は、前の処理が終わる
まで待たされることになる。従来は、別々のホストから
のI/Oでキャッシュページ競合が発生するようなケー
スは稀であるので問題は少なかった。しかしながら、ホ
ストがマルチスレッドアクセスを行ってくる場合には、
同一ホストからの複数のコマンド同士でキャッシュペー
ジ競合が発生してしまう。この場合、ホストは、近傍の
アドレスに対して一度に複数のコマンドを発行しておい
て、ディスク側がインターフェースバスに隙間を作らな
いでデータ転送を行うことを期待している。しかし、デ
ィスクアレイ内部でキャッシュページ競合が発生してい
ることにより、データ転送が終了した後に、キャッシュ
ページの受け渡し処理があるため、次のデータ転送をす
ぐに開始することができない。なお、ディレクタのプロ
セス(処理単位)を分割した単位を「スレッド」と呼
ぶ。マルチスレッドとは、このスレッドでホストの複数
の処理要求(ホスト・プロセス)に対応する機能のこと
をいう。
【0016】図9は、第二従来例におけるコマンド処理
を示すフローチャートである。以下、図8及び図9に基
づき説明する。
【0017】ホストディレクタ281,282はホスト
121,122からコマンドを受信すると(ステップ4
01)、共用メモリ18上の管理データ操作によりキャ
ッシュページ占有処理を行う(ステップ402)。その
後、データ転送を起動し(ステップ403)、データ転
送が完了するのを待つ。データ転送が完了すると(ステ
ップ404)、共用メモリ18上の管理データ操作によ
りキャッシュページを解放し(ステップ405)、コマ
ンド完了処理を行う(ステップ406)。
【0018】図10は、第二従来例において、ホストか
ら続けて2つのコマンドを受け取ったため、キャッシュ
ページ競合が発生したときの処理を示すフローチャート
である。以下、図8及び図10に基づき説明する。
【0019】コマンドA、Bを続けて受信すると(ステ
ップ501,502)、まず、コマンドAの処理として
キャッシュページ占有処理を行う(ステップ503)。
続いて、コマンドAのデータ転送を起動すると(ステッ
プ504)、転送完了までプロセッサが空くので、コマ
ンドBの処理としてキャッシュページ占有処理を行う
(ステップ505)。しかし、使用したいキャッシュペ
ージがすでに占有されているので競合待ちの状態にな
る。この後、コマンドAのデータ転送が完了して(ステ
ップ506)、コマンドAのキャッシュページ解放処理
を行い(ステップ507)、コマンドAは完了する(ス
テップ508)。ここで漸くコマンドBはキャッシュペ
ージを占有できる(ステップ509)。その後はコマン
ドBの処理を続行する(ステップ510〜513)。こ
のように、ステップ506〜510の間は、ステップ5
08の処理を除いてホストインターフェースが使用され
ていない状態である。したがって、ホストインターフェ
ース性能が最大限に発揮されていない。
【0020】
【発明が解決しようとする課題】このように、第二従来
例では、同一ホストからの複数のコマンド同士によるキ
ャッシュページ競合が発生してしまうという問題があっ
た。一方、第一従来例では、異なるホストからの複数の
コマンド同士によるキャッシュページ競合を防止できる
ものの、同一ホストからの複数のコマンド同士に対して
はキャッシュページ競合が発生してしまうという問題が
あった。
【0021】
【発明の目的】そこで、本発明の目的は、同一ホストか
らの複数のコマンド同士によるキャッシュページ競合を
防止できる、ディスクアレイ制御装置を提供することに
ある。
【0022】
【課題を解決するための手段】本発明に係るディスクア
レイ制御装置は、複数のホストに一つずつ設けられると
ともに当該ホストからのI/O要求を制御してディスク
装置とのI/O処理を実行する複数のホストディレクタ
と、これらのホストディレクタに共用されるとともにデ
ィスクキャッシュを構成する共用メモリとを備えたもの
である。そして、ホストディレクタは、ホストが同一キ
ャッシュページに対する複数のリードコマンドを発行し
てきた場合に、複数のリードコマンドを処理する間、当
該キャッシュページを占有したまま複数のデータ転送処
理を起動する機能を備えている(請求項1)。このと
き、ホストは、同一キャッシュページに対する複数のリ
ードコマンドをマルチスレッドで発行する、としてもよ
い(請求項2)。
【0023】例えば、ホストディレクタは、ホストが同
一キャッシュページに対する複数のリードコマンドを発
行してきた場合に、最初のリードコマンドに基づきキャ
ッシュページ占有処理を行ない、最後のリードコマンド
に基づきキャッシュページ解放処理を行う(請求項
3)。より具体的には、ホストディレクタは、ホストが
同一キャッシュページに対するリードコマンドA,Bを
続けて発行してきた場合に、リードコマンドAに基づき
キャッシュページ占有処理を行なうとともにデータ転送
処理を行い、その後リードコマンドBに基づきデータ転
送処理を行うとともにキャッシュページ解放処理を行う
(請求項4)。
【0024】これらの場合に、ホストディレクタは、ホ
ストがリードコマンドを発行してきた場合に、そのリー
ドコマンドの要求するキャッシュページアドレスを既に
他のリードコマンドが要求していれば、使用カウンタを
インクリメントし、当該キャッシュページアドレスに記
憶されているデータを転送した後に、使用カウンタをデ
クリメントする、としてもよい(請求項5)。更に、こ
の場合、ホストディレクタは、使用カウンタが0の場合
に、前記キャッシュページアドレスのキャッシュページ
解放処理を行なう、としてもよい(請求項6)。
【0025】換言すると、本発明に係るディスクアレイ
制御装置は、キャッシュページを占有している状態で、
ローカルメモリ上でキャッシュページ情報を保存してお
き、同一プロセッサ内でキャッシュページ競合が発生し
た場合でも、リードコマンドであれば排他せずに同時に
使用できるようにする。これにより、FW(ファームウ
ェア)処理を挟まずに複数の転送を続けて行えるので、
狭い範囲へのランダムリードアクセスやシーケンシャル
リードアクセスがマルチスレッドで発行された場合の性
能を、格段に向上できる。
【0026】
【発明の実施の形態】図1は、本発明に係るディスクア
レイ制御装置の一実施形態を示すブロック図である。以
下、この図面に基づき説明する。
【0027】本発明に係るディスクアレイ制御装置10
は、ホスト121,122に一つずつ設けられるととも
にホスト121,122からのI/O要求を制御してデ
ィスクドライブ141,142とのI/O処理を実行す
るホストディレクタ161,162と、ホストディレク
タ161,162に共用されるとともにディスクキャッ
シュを構成する共用メモリ18とを備えたものである。
【0028】ホストディレクタ161は、ホスト121
が同一キャッシュページに対する複数のリードコマンド
を発行してきた場合に、複数のリードコマンドを処理す
る間、当該キャッシュページを占有したまま複数のデー
タ転送処理を起動する機能を備えている。同様に、ホス
トディレクタ162も、ホスト122が同一キャッシュ
ページに対する複数のリードコマンドを発行してきた場
合に、複数のリードコマンドを処理する間、当該キャッ
シュページを占有したまま複数のデータ転送処理を起動
する機能を備えている。
【0029】ホストディレクタ161は、ローカルメモ
リ161a、プロセッサ161b、ホスト接続ポート1
61c、制御回路161d等を備えている。同様に、ホ
ストディレクタ162も、ローカルメモリ162a、プ
ロセッサ162b、ホスト接続ポート162c、制御回
路162d等を備えている。
【0030】また、ディスクアレイ制御装置10には、
ディスクディレクタ201,202が付設されている。
ディスクディレクタ201は、ローカルメモリ201
a、プロセッサ201b、ホスト接続ポート201c、
制御回路201d等を備えている。同様に、ディスクデ
ィレクタ202も、ローカルメモリ202a、プロセッ
サ202b、ホスト接続ポート202c、制御回路20
2d等を備えている。
【0031】次に、各構成要素について詳しく説明す
る。
【0032】ホスト121は、ホスト接続ポート161
cでホストディレクタ161に接続されている。また、
ホスト121は、マルチスレッドにより一度に複数のコ
マンドを発行する。プロセッサ161bは、高速にアク
セスできるローカルメモリ161aを持ち、ホスト12
1からのコマンドにより制御回路161dを通して、ホ
スト接続ポート161cと共用メモリ18との間のデー
タ転送を起動したり、共用メモリ18に直接アクセスし
たりすることにより、共用メモリ18上のデータ管理を
行う。ホストディレクタ162は、別のホスト122に
接続されていて、ホストディレクタ161とは独立して
動作可能であるが、共用メモリ18の情報は共用してい
る。ディスクディレクタ201,202は、ディスクド
ライブ141,142と共用メモリ18との間のデータ
転送を制御する。
【0033】図2は、ホストディレクタ161,162
がローカルメモリ161a,162a上に持つキャッシ
ュページ管理情報テーブルを示す図表である。以下、図
1及び図2に基づき説明する。
【0034】キャッシュページ管理情報テーブルは、複
数のエントリについてのそれぞれの有効ビット、アドレ
ス情報、キャッシュページ番号及び使用カウントからな
る。有効ビット221,241,261はそのエントリ
が有効であることを示す。アドレス情報222,24
2,262は占有中キャッシュページのアドレスを示
す。キャッシュページ番号223,243,263は当
該キャッシュページの共用メモリ18上の識別子を表わ
す。使用カウント224,244,264は、当該キャ
ッシュページを使用しているコマンドの数を示す。
【0035】図3は、リードコマンドにおけるコマンド
受信からデータ転送開始までのプロセッサ161bによ
る処理を示すフローチャートである。以下、図1乃至図
3に基づき説明する。なお、プロセッサ162bもこれ
と同様に動作する。
【0036】リードコマンドを受信すると(ステップ1
01)、ローカルメモリ161a上のキャッシュページ
管理情報を検索する。このとき、アドレス情報が一致す
るエントリを検索する(ステップ102)。ここでは、
有効ビット221が有効であり、アドレス情報222が
一致したものとする(ステップ103)。アドレス情報
222が一致した場合、共用メモリ18上で、キャッシ
ュページ番号223に対応するキャッシュページの使用
待ちがあるか否かをチェックする(ステップ104)。
使用待ちがない場合には、当該エントリの使用カウント
224をインクリメントする。これで、そのキャッシュ
ページの使用権が得られたのでデータ転送起動処理を実
行する(ステップ111)。
【0037】一方、ステップ103において当該アドレ
ス情報がなかった場合、そのキャッシュページは占有し
ているものではないので、キャッシュページ占有処理を
実施する(ステップ107)。また、ステップ105に
おいて共用メモリ18上で使用待ちがあった場合は、キ
ャッシュページのプロセッサ間競合が発生したか、又は
ライトコマンドのプロセッサ内競合が先に発生したこと
になる。したがって、当該コマンド処理はその後に行わ
なければならないので、キャッシュページ占有処理を実
施する(ステップ107)。
【0038】キャッシュページ占有処理を行った場合に
は(ステップ107)、ローカルメモリ161a上のキ
ャッシュページ管理情報で空きエントリを検索する(ス
テップ108)。ここでは有効ビット241が無効だっ
たとする。この場合、有効ビット241を有効とし、ア
ドレス情報242にアドレス情報を登録し、キャッシュ
ページ番号243にキャッシュページ番号を登録し、使
用カウント244に1をセットすることで、占有したペ
ージ情報を登録する(ステップ110)。このようにし
て、以後同じキャッシュページにコマンドが有った場合
に同時使用できるようにする。
【0039】図4は、リードコマンドにおけるデータ転
送完了からコマンド完了までのプロセッサ161bによ
る処理を示すフローチャートである。以下、図1、図2
及び図4に基づき説明する。なお、プロセッサ162b
もこれと同様に動作する。
【0040】データ転送が完了すると(ステップ20
1)、ローカルメモリ161a上のキャッシュページ管
理情報を検索する。このとき、アドレス情報が一致する
エントリを検索する(ステップ202)。アドレス情報
が一致するエントリを検索できた場合(ステップ20
3)、当該エントリの使用カウントをデクリメントする
(ステップ204)。その結果がゼロとなった場合には
(ステップ205)、そのキャッシュページを使用中の
処理が無くなったことを示すので、有効ビットを消すこ
とでキャッシュページ情報を削除し(ステップ20
6)、キャッシュページ解放処理を行う(ステップ20
7)。
【0041】一方、ステップ203でアドレスが一致し
なかった場合は、すぐにキャッシュページ解放処理を行
う(ステップ207)。また、ステップ205で使用カ
ウントがゼロにならなかった場合は、まだ他に使用中の
処理があるので、キャッシュページ解放処理は行わずに
コマンド完了処理を行う(ステップ208)。なお、ラ
イトコマンドに対しては、従来通り図9のフローチャー
トに従って処理を行う。
【0042】図5は、ホスト121から二つのリードコ
マンドを続けて受けたときのプロセッサ161bによる
処理を示すフローチャートである。以下、図1、図2及
び図5に基づき説明する。なお、プロセッサ162bも
これと同様に動作する。また、詳細については、図3及
び図4で説明したとおりである。
【0043】コマンドA,Bを受信した後(301,3
02)、コマンドAに基づきキャッシュページ占有処理
(303)、続いてデータ転送処理(304)を行った
後、すぐにコマンドBのデータ転送処理を行う(30
5)。
【0044】
【発明の効果】本発明によれば、ホストが同一キャッシ
ュページに対する複数のリードコマンドを発行してきた
場合に、複数のリードコマンドを処理する間、当該キャ
ッシュページを占有したまま複数のデータ転送処理を起
動することにより、同一ホストからの複数のコマンド同
士によるキャッシュページ競合を防止することができ
る。
【0045】換言すると、本発明によれば、ホストが狭
い範囲に対するランダムリードアクセス又はシーケンシ
ャルリードアクセスをマルチスレッドで発行してきた場
合に、同一ページに対するコマンドを処理する間、その
キャッシュページを占有したまま複数のデータ転送処理
を起動するので、ホストインターフェースバス性能を最
大限に発揮できる。
【図面の簡単な説明】
【図1】本発明に係るディスクアレイ制御装置の一実施
形態を示すブロック図である。
【図2】本実施形態におけるホストディレクタがローカ
ルメモリ上に持つキャッシュページ管理情報テーブルを
示す図表である。
【図3】本実施形態のリードコマンドにおけるコマンド
受信からデータ転送開始までのプロセッサによる処理を
示すフローチャートである。
【図4】本実施形態のリードコマンドにおけるデータ転
送完了からコマンド完了までのプロセッサによる処理を
示すフローチャートである。
【図5】本実施形態におけるホストから二つのリードコ
マンドを続けて受けたときのプロセッサによる処理を示
すフローチャートである。
【図6】第一従来例を示すブロック図である。
【図7】第一従来例に用いられる論理ディスクとキャッ
シュパーティションとの対応関係を示す図表である。
【図8】第二従来例を示すブロック図である。
【図9】第二従来例におけるコマンド処理を示すフロー
チャートである。
【図10】第二従来例におけるキャッシュページ競合が
発生したときの処理を示すフローチャートである。
【符号の説明】
10 ディスクアレイ制御装置 121,122 ホスト 141,142 ディスクドライブ 161,162 ホストディレクタ 161a ローカルメモリ 161b プロセッサ 161c ホスト接続ポート 161d 制御回路 18 共用メモリ 201,202 ディスクディレクタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数のホストに一つずつ設けられるとと
    もに当該ホストからのI/O要求を制御してディスク装
    置とのI/O処理を実行する複数のホストディレクタ
    と、これらのホストディレクタに共用されるとともにデ
    ィスクキャッシュを構成する共用メモリと、を備えたデ
    ィスクアレイ制御装置において、 前記ホストディレクタは、前記ホストが同一キャッシュ
    ページに対する複数のリードコマンドを発行してきた場
    合に、当該複数のリードコマンドを処理する間、当該キ
    ャッシュページを占有したまま複数のデータ転送処理を
    起動する機能を備えた、 ことを特徴とするディスクアレイ制御装置。
  2. 【請求項2】前記ホストは、同一キャッシュページに対
    する複数のリードコマンドをマルチスレッドで発行す
    る、 請求項1記載のディスクアレイ制御装置。
  3. 【請求項3】 前記ホストディレクタは、前記ホストが
    同一キャッシュページに対する複数のリードコマンドを
    発行してきた場合に、最初のリードコマンドに基づきキ
    ャッシュページ占有処理を行ない、最後のリードコマン
    ドに基づきキャッシュページ解放処理を行う、 請求項1又は2記載のディスクアレイ制御装置。
  4. 【請求項4】 前記ホストディレクタは、前記ホストが
    同一キャッシュページに対するリードコマンドA,Bを
    続けて発行してきた場合に、当該リードコマンドAに基
    づきキャッシュページ占有処理を行なうとともにデータ
    転送処理を行い、その後当該リードコマンドBに基づき
    データ転送処理を行うとともにキャッシュページ解放処
    理を行う、 請求項1又は2記載のディスクアレイ制御装置。
  5. 【請求項5】 前記ホストディレクタは、前記ホストが
    リードコマンドを発行してきた場合に、そのリードコマ
    ンドの要求するキャッシュページアドレスを既に他のリ
    ードコマンドが要求していれば、使用カウンタをインク
    リメントし、当該キャッシュページアドレスに記憶され
    ているデータを転送した後に、前記使用カウンタをデク
    リメントする、 請求項3又は4記載のディスクアレイ制御装置。
  6. 【請求項6】 前記ホストディレクタは、前記使用カウ
    ンタが0の場合に、前記キャッシュページアドレスのキ
    ャッシュページ解放処理を行なう、 請求項5記載のディスクアレイ制御装置。
JP2001074425A 2001-03-15 2001-03-15 ディスクアレイ制御装置 Expired - Fee Related JP3690295B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001074425A JP3690295B2 (ja) 2001-03-15 2001-03-15 ディスクアレイ制御装置
US10/095,522 US6845426B2 (en) 2001-03-15 2002-03-13 Disk cache control for servicing a plurality of hosts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001074425A JP3690295B2 (ja) 2001-03-15 2001-03-15 ディスクアレイ制御装置

Publications (2)

Publication Number Publication Date
JP2002278833A true JP2002278833A (ja) 2002-09-27
JP3690295B2 JP3690295B2 (ja) 2005-08-31

Family

ID=18931692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001074425A Expired - Fee Related JP3690295B2 (ja) 2001-03-15 2001-03-15 ディスクアレイ制御装置

Country Status (2)

Country Link
US (1) US6845426B2 (ja)
JP (1) JP3690295B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549226B2 (en) 2004-05-14 2013-10-01 Hewlett-Packard Development Company, L.P. Providing an alternative caching scheme at the storage area network level

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752294B2 (en) * 2002-10-28 2010-07-06 Netapp, Inc. Method and system for dynamic expansion and contraction of nodes in a storage area network
JP4257785B2 (ja) * 2003-04-22 2009-04-22 株式会社日立製作所 キャッシュストレージ装置
US7934054B1 (en) 2005-11-15 2011-04-26 Oracle America, Inc. Re-fetching cache memory enabling alternative operational modes
US7873788B1 (en) 2005-11-15 2011-01-18 Oracle America, Inc. Re-fetching cache memory having coherent re-fetching
US7899990B2 (en) * 2005-11-15 2011-03-01 Oracle America, Inc. Power conservation via DRAM access
US7516274B2 (en) * 2005-11-15 2009-04-07 Sun Microsystems, Inc. Power conservation via DRAM access reduction
US7958312B2 (en) * 2005-11-15 2011-06-07 Oracle America, Inc. Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state
TWI366094B (en) * 2007-12-28 2012-06-11 Asmedia Technology Inc Method and system of integrating data assessing commands and data accessing device thereof
JP6030951B2 (ja) * 2012-12-28 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び電子装置
US10169232B2 (en) * 2016-02-19 2019-01-01 Seagate Technology Llc Associative and atomic write-back caching system and method for storage subsystem
US11151063B2 (en) 2019-04-19 2021-10-19 EMC IP Holding Company LLC Host system directly connected to internal switching fabric of storage system
US10698844B1 (en) 2019-04-19 2020-06-30 EMC IP Holding Company LLC Intelligent external storage system interface
US10698613B1 (en) * 2019-04-19 2020-06-30 EMC IP Holding Company LLC Host processing of I/O operations
US11500549B2 (en) 2019-04-19 2022-11-15 EMC IP Holding Company LLC Secure host access to storage system resources via storage system interface and internal switching fabric
US10740259B1 (en) 2019-04-19 2020-08-11 EMC IP Holding Company LLC Host mapping logical storage devices to physical storage devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
US5363498A (en) * 1990-02-09 1994-11-08 Hitachi, Ltd. Method of controlling shared data among computers
JPH04313126A (ja) * 1991-04-11 1992-11-05 Nec Corp 分散ファイルシステムのファイル入出力方式
JP3358655B2 (ja) 1998-12-22 2002-12-24 日本電気株式会社 ディスクアレイ装置におけるキャッシュメモリ管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549226B2 (en) 2004-05-14 2013-10-01 Hewlett-Packard Development Company, L.P. Providing an alternative caching scheme at the storage area network level

Also Published As

Publication number Publication date
JP3690295B2 (ja) 2005-08-31
US6845426B2 (en) 2005-01-18
US20020131310A1 (en) 2002-09-19

Similar Documents

Publication Publication Date Title
US7337281B2 (en) Storage system and data caching method in the system
JP3690295B2 (ja) ディスクアレイ制御装置
US6347358B1 (en) Disk control unit and disk control method
JP2000010901A (ja) ディスクアレイ制御装置
EP0260862A2 (en) Move-out queue buffer
US5269005A (en) Method and apparatus for transferring data within a computer system
US20060206663A1 (en) Disk array device and shared memory device thereof, and control program and control method of disk array device
JPH0219945A (ja) 主記憶制御装置
JP2002117002A (ja) 共用型ペリフェラルアーキテクチャ
JP3266470B2 (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
KR100630071B1 (ko) 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
JP3516431B2 (ja) プロセッサ・バスによるi/oトラフィック伝送
US7409486B2 (en) Storage system, and storage control method
US7080198B1 (en) Method for snooping RAID 1 write transactions by a storage device
JP3719976B2 (ja) 二重化コントローラ構成ディスク記憶システム向けコントローラ、及び同コントローラが二重化されたディスク記憶システム
JP4983133B2 (ja) 入出力制御装置およびその制御方法、並びにプログラム
JPH0281255A (ja) マルチプロセッサコンピュータ複合装置
US6988166B1 (en) Method for snooping raid 1 read transactions by a storage device
JP2002024007A (ja) プロセッサシステム
JP3940701B2 (ja) ディスクアレイ装置及び同装置に適用されるキャッシュ一致化制御方法
JPH0916474A (ja) 入出力制御装置及び方法
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP2755103B2 (ja) 記憶装置のアクセス方法
EP0923031B1 (en) Method for reading data from a shared memory in a multiprocessor computer system
KR960003650B1 (ko) 컴퓨터 시스템의 성능향상을 위한 입출력 프로세서

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050428

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: 20050524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050606

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080624

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees