JP2007206949A - ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム - Google Patents

ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム Download PDF

Info

Publication number
JP2007206949A
JP2007206949A JP2006024588A JP2006024588A JP2007206949A JP 2007206949 A JP2007206949 A JP 2007206949A JP 2006024588 A JP2006024588 A JP 2006024588A JP 2006024588 A JP2006024588 A JP 2006024588A JP 2007206949 A JP2007206949 A JP 2007206949A
Authority
JP
Japan
Prior art keywords
disk
host interface
interface unit
cache memory
shared
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.)
Withdrawn
Application number
JP2006024588A
Other languages
English (en)
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 JP2006024588A priority Critical patent/JP2007206949A/ja
Priority to US11/657,016 priority patent/US7698500B2/en
Publication of JP2007206949A publication Critical patent/JP2007206949A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • G06F2212/284Plural cache memories being distributed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/314In storage network, e.g. network attached cache

Abstract

【課題】ホストインターフェースと論理ディスクを増設しても、構成によらずに性能低下のないディスクアレイ装置等を提供すること
【解決手段】ディスクアレイ装置1は、特定のホストインターフェースユニット10により占有される占有キャッシュメモリ12を備え、制御部30は、ホストインターフェースユニット10がホストコンピュータ2から占有ディスク4に対する読み出しまたは書き込みの命令を受信したときには、占有キャッシュメモリ12に対して読み出しまたは書き込みを実行する。
【選択図】図1

Description

本発明は、ディスクアレイ装置に関し、特に、構成によらずに、性能のボトルネックとなるパスが発生しないようにホストインターフェースや、ディスクの増設をすることができるディスクアレイ装置に関する。
複数のハードディスク装置により構成されたディスクアレイ装置は、コンピュータの大容量記憶装置として広く用いられている。ディスクアレイ装置の中には、ハードディスク装置等を追加して装置の規模を拡大することができるものもある。
特許文献1には、そのようなディスクアレイ装置の一例が記載されている。このディスクアレイ装置は、ホストアダプタとアレイディスクとディスクアダプタとキャッシュメモリを備えている。ホストアダプタ、ディスクアダプタ、キャッシュメモリは、コモンバスに挿抜自在に取り付けられ、ホストアダプタ等を増設することにより装置規模を拡大することができるように構成されている。
特開2002−24085号公報
次に、従来のディスクアレイ装置の問題点について説明する。
図9は、従来の大型アレイ装置200の構成を示すブロック図である。
図9において、ホストインターフェースカード202はホストコンピュータ201からのコマンドに従ってホストコンピュータ201とキャッシュメモリ203との間でのデータ転送を起動する。ホストインターフェースカード202は、リードコマンドにおいてキャッシュミスの場合には、ディスクインターフェースカード204に対してリード指示を行う。ディスクインターフェースカード204は、ホストインターフェースカード202からの指示で論理ディスク205からキャッシュメモリ203へのデータ転送おこなう。ディスクインターフェースカード204は、また、キャッシュメモリ203上にライトデータが存在する場合にはキャッシュメモリ203から論理ディスク205へのデータ転送を起動する。
しかしながら、従来の大型ディスクアレイ装置200においては、次のような課題がある。
複数のホストインターフェースカード202により共有されているキャッシュメモリ203にデータ転送が集中するため、ホストインターフェースカード202またはディスクインターフェースカード204を増設するほどキャッシュメモリ203の負荷が上がり性能低下が生じる。そのため、増設の幅には限度がある。また、このような性能低下を予防するため、将来ありうる増設のため、共有キャッシュメモリを大量に用意した場合には、コストスケーラビリティが悪くなってしまう。
図10は、従来の小型ディスクアレイ装置213を組み合わせたストレージサブシステム210の構成を示すブロック図である。
図10において、複数の小型ストレージ装置213はスイッチ212を介して複数のホストコンピュータ211に接続され、ストレージエリアネットワークを構成している。小型ストレージ装置213はホストコンピュータ211からのコマンドに従ってホストコンピュータ211とキャッシュメモリ214との間でのデータ転送を起動し、必要に応じてキャッシュメモリ214と論理ディスク215の間のデータ転送を起動する。
しかしながら、従来のストレージサブシステム210においては、次のような課題がある。
第1の課題は、小型ストレージ装置213が独立した装置であるため、論理ディスク215の増設を行うと、その小型ストレージ装置213のキャッシュメモリ214の負荷が上がり性能低下してしまうということである。
第2の課題は、小型ストレージ装置213が独立した装置であるため、ホストコンピュータ211の増設を行うと、増設したホストコンピュータ211が使用する論理ディスク215が存在する小型ストレージ装置213のホストインターフェースバス216の負荷が上がってしまい、性能低下してしまうということである。
そこで、本発明は、ホストインターフェースと論理ディスクを増設しても、構成によらずに性能低下のないディスクアレイ装置等を提供することをその目的とする。
本発明のディスクアレイ装置は、特定のホストインターフェースユニットにより占有される占有キャッシュメモリを備え、ディスクインターフェースユニットの制御部は、ホストインターフェースユニットがホストコンピュータから占有ディスクに対する読み出しまたは書き込みの命令を受信したときには、占有キャッシュメモリに対して読み出しまたは書き込みを実行する(請求項1ないし請求項5)。
上記ディスクアレイ装置によれば、占有キャッシュメモリを備え、ホストインターフェースユニットは、占有ディスクに対するデータの読み出しまたは書き込み命令を受けたときには、占有キャッシュメモリを使用することができる。
そのため、ホストインターフェースユニットと論理ディスクを増設した場合の、キャッシュメモリの負荷増大による性能低下を防止することができる。
上記ディスクアレイ装置において、占有キャッシュメモリをホストインターフェースユニットに実装してもよい(請求項2)。
ディスクアレイ装置を利用するホストコンピュータを増設する場合は、通常ホストインターフェースユニットも増設される。上記のようにすれば、増設されるホストインターフェースユニットは占有キャッシュメモリを備えているから、ホストコンピュータを増設した際にキャッシュメモリの負荷増大による性能低下を確実に防止することができる。
上記ディスクアレイ装置において、複数のホストインターフェースユニットによって使用される共有キャッシュメモリをディスクインターフェースユニット上に備え、制御部は、ホストインターフェースユニットがホストコンピュータから、そのホストインターフェースユニットと他のホストインターフェースユニットによって共有される論理ディスクである共有ディスクに対する書き込みまたは読み出しの命令を受信したときに共有キャッシュメモリに対して命令を実行するようにしてもよい(請求項3)。
このようにすれば、共有ディスクに対するデータの読み出しまたは書き込みに占有キャッシュが使用されることがないから、共有ディスクが存在する場合でもキャッシュメモリに保留されているデータの正当性を保証することができる。
上記ディスクアレイ装置において、ホストインターフェースユニットは、占有キャッシュメモリを備えた複数のホストインターフェースカードを備え、制御部は、複数のホストインターフェースカードのすべてが正常に動作している場合にのみ、占有キャッシュメモリに対して書き込み命令を実行するようにしてもよい(請求項4)。
このようにすれば、ホストインターフェースユニットが備えている複数のホストインターフェースカードの一部が正常に動作していないとき、すなわち、ホストインターフェースユニットは一応機能しているが冗長性が失われ縮退状態にある場合には、占有キャッシュメモリに対する書き込みは行われない。
そのため、ホストインターフェースユニットが縮退状態にある場合でも、キャッシュメモリに保留されているデータの正当性を保証することができる。
上記ディスクアレイ装置において、論理ディスクが占有ディスクであるか共有ディスクであるかを示すディスクアクセス情報をホストインターフェースユニット毎に記憶するディスクアクセス情報記憶部を備え、制御部はディスクアクセス情報を参照して対象論理ディスクが占有ディスクであるか共有ディスクであるかを判定するようにしてもよい(請求項5)。
このようにすれば、共有ディスクと占有ディスクが混在している場合にも、制御部は、確実にディスクの種別を判定することができる。
本発明のディスクアレイ装置の制御方法は、ホストインターフェースユニットがホストコンピュータから論理ディスクに対する書き込みまたは読み出し命令を受信したときに作動し、対象論理ディスクがホストインターフェースユニットにより占有される占有ディスクである場合には命令をホストインターフェースユニットにより占有される占有キャッシュメモリに対して実行し、対象論理ディスクがホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有ディスクである場合には命令をホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有キャッシュメモリに対して実行する命令実行工程によりホストコンピュータから受理した読み出し及び書き込み命令を処理する(請求項6及び請求項7)。
上記ディスクアレイ装置の制御方法によれば、ホストコンピュータから受理した命令の対象となる対象論理ディスクが占有ディスクである場合は、占有キャッシュメモリに対してデータの書き込みまたは読み出しを行う。そのため、ディスクアレイ装置を利用するホストコンピュータまたは対象論理ディスクが増設された場合のキャッシュメモリの負荷増大による性能低下を防止することができる。
また、命令の対象が共有ディスクである場合は、共有キャッシュメモリに対してデータの書き込みまたは読み出しを行う。そのため、共有ディスクが存在する場合もキャッシュメモリに保留されているデータの正当性を保証することができる。
上記ディスクアレイ装置の制御方法において、命令実行工程では、ホストインターフェースユニットを構成する複数のホストインターフェースカードの一部が正常に機能していない場合には、対象論理ディスクが占有ディスクであっても書き込み命令を共有キャッシュメモリに対して実行するようにしてもよい(請求項7)。
このようにすれば、ホストインターフェースユニットが備えている複数のホストインターフェースカードの一部が正常に動作していないとき、すなわちホストインターフェースユニットは一応機能しているが冗長性が失われ縮退状態にある場合には、占有キャッシュメモリは使用されない。
そのため、ホストインターフェースユニットが縮退状態にある場合でも、キャッシュメモリに保留されているデータの正当性を保証することができる。
本発明のディスクアレイ装置の制御プログラムは、コンピュータに、ホストインターフェースユニットがホストコンピュータから論理ディスクに対する書き込みまたは読み出し命令を受信したときに作動し、対象論理ディスクがホストインターフェースユニットにより占有される占有ディスクである場合には命令をホストインターフェースユニットにより占有される占有キャッシュメモリに対して実行し、対象論理ディスクがホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有ディスクである場合には命令をホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有キャッシュメモリに対して実行する命令実行機能を実行させることによりホストコンピュータから受理した読み出し及び書き込み命令を処理する(請求項8及び請求項9)。
上記ディスクアレイ装置の制御プログラムによれば、ホストコンピュータから受理した命令の対象となる対象論理ディスクが占有ディスクである場合は、占有キャッシュメモリに対してデータの書き込みまたは読み出しを行う。そのため、ディスクアレイ装置を利用するホストコンピュータまたは対象論理ディスクが増設された場合のキャッシュメモリの負荷増大による性能低下を防止することができる。
また、命令の対象が共有ディスクである場合は、共有キャッシュメモリに対してデータの書き込みまたは読み出しを行う。そのため、共有ディスクが存在する場合もキャッシュメモリに保留されているデータの正当性を保証することができる。
上記ディスクアレイ装置の制御方法において、命令実行機能は、ホストインターフェースユニットを構成する複数のホストインターフェースカードの一部が正常に機能していない場合には、ハードディスクが占有ディスクであっても書き込み命令を共有キャッシュメモリに対して実行するものとしてもよい(請求項9)。
このようにすれば、ホストインターフェースユニットが備えている複数のホストインターフェースカードの一部が正常に動作していないとき、すなわちホストインターフェースユニットは一応機能しているが冗長性が失われ縮退状態にある場合には、占有キャッシュメモリは使用されない。
そのため、ホストインターフェースユニットが縮退状態にある場合でも、キャッシュメモリに保留されているデータの正当性を保証することができる。
本発明によれば、占有キャッシュメモリを備え、ホストインターフェースユニットは、共有ディスクに対するデータの読み出しまたは書き込み命令を受けたときには、占有キャッシュメモリを使用する。
占有キャッシュは、ホストコンピュータと対応付けされているから、ホストコンピュータが増設され、また、それに伴ってホストインターフェースユニットが増設されると占有キャッシュも増設されることになる。
そのため、ホストコンピュータの増設によってホストコンピュータと論理ディスクとの間で転送されるデータの量が増えても、キャッシュメモリの負荷増大による性能低下を防止することができる。
以下、図を参照しながら本発明の一実施形態であるディスクアレイ装置1の構成と動作について説明する。
図1は、ディスクアレイ装置1の構成を示すブロック図である。
ディスクアレイ装置1は、スイッチ3、論理ディスク5ホストインターフェースユニット10、ディスクインターフェースユニット20を備えている。
ホストインターフェースユニット10は、ホストコンピュータ2に接続され、ホストコンピュータ2から受信したコマンドの処理を行う。また、ホストインターフェースユニット10は、たとえばMPU(Micro Processing Unit)で構成され、ディスクアレイ装置1の各ハードウェアの動作を制御する制御部17と、キャッシュメモリ12(占有キャッシュメモリの一例)を備え、図示しないRAM(Random Access Memory)には論理ディスクアクセス情報11(ディスクアクセス情報記憶部の一例)を記憶している。
ディスクインターフェースユニット20は論理ディスク4に接続されているが、これは実体としてはRAID(Redundant Array of Independent Disks)構成をとる複数のディスクドライブとなっている。また、ディスクインターフェースユニット20はキャッシュメモリ22(共有キャッシュメモリの一例)を搭載するとともに、論理ディスクアクセス情報21を記憶している。ひとつのディスクインターフェースユニット20には、複数の論理ディスク4が接続され、それらの複数の論理ディスク4によりディスクユニット5が構成されている。
ホストインターフェースユニット10とディスクインターフェースユニット20はスイッチ3を介してファイバーチャネルにより接続されている。
論理ディスクアクセス情報11および21は各論理ディスク4についてどのホストインターフェースユニット10からアクセスされるかという情報を保持している。
ホストインターフェースユニット10は、論理ディスク4のI/O制御において、論理ディスクアクセス情報11を参照し、I/O制御の対象となる論理ディスク4が他のホストインターフェースユニット10からのアクセスが無い場合(以下、このような論理ディスを「占有ディスク」という)にはホストインターフェースユニット10上のキャッシュメモリ12を使用する。また、他のホストインターフェースユニット10からのアクセスが有る場合(以下、このような論理ディスクを「共有ディスク」という)にはホストインターフェースユニット10上のキャッシュメモリ12は使用せず、目的とする論理ディスク4が接続されているディスクインターフェースユニット20上のキャッシュメモリ22を使用する。
ディスクインターフェースユニット20に格納されている論理ディスクアクセス情報21は、ホストインターフェースユニット10に格納されているものと同内容である。たとえば、ホストインターフェースユニット10の電源が保守のために落とされた場合に、ディスクインターフェースユニット20からホストインターフェースユニット10に転送してデータ内容を復旧するのに用いる。
また、ディスクインターフェースユニット20のキャッシュメモリ22のデータ保持状態を監視する機能を制御部27に持たせ、論理ディスクアクセス情報21とデータ保持状態が一定の条件を満たす場合には、ディスクインターフェースユニット20からホストインターフェースユニット10へのデータ転送を省略するようにしても良い。
図8に、論理ディスクアクセス情報11、21の一例を示す。
論理ディスクアクセス情報11、21には、論理ディスク4を識別する情報、たとえば論理ディスク4に予め付与されたユニークな番号と、その論理ディスク4の種別を示す情報と、その論理ディスク4にアクセスするホストインターフェースユニット10を識別する情報、たとえばホストインターフェースユニット10に予め付与されたユニークな番号とが含まれている。
図8の例は、ディスクアレイ装置が4個の論理ディスクと3個のホストインターフェースユニットを備えている場合の例である。図の1行目は、識別番号「1」を付与された論理ディスクは、占有ディスクであり識別番号「1」を付与されたホストインターフェースユニットからアクセスされることを示している。図の2行目は、識別番号「2」を付与された論理ディスクは、共有ディスクであり識別番号「1」を付与されたホストインターフェースユニットと識別番号「2」を付与されたホストインターフェースユニットからアクセスされることを示している。3行目、4行目も同様である。
論理ディスクアクセス情報は、たとえば、ホストインターフェースユニット10またはディスクインターフェースユニット20が備えているRAMに予め格納しておき、ホストインターフェースユニット10の追加等の構成の変化があったときに更新する。更新は、手動で行っても良いし、ホストコンピュータ2から論理ディスク4へのアクセス状況を検出する機能を制御部17または制御部27に持たせ、検出されたアクセス状況に応じて自動的に更新するようにしても良い。
図2も、ディスクアレイ装置1のブロック図であるが、ホストインターフェースユニット10とディスクインターフェースユニット20の構成を、図1よりも詳細に示してある。
ホストインターフェースユニット10はホストインターフェースカード15を2枚搭載していて、コマンド処理機能を二重化している。ホストインターフェースカード15は、ホストインターフェースポート13およびキャッシュメモリ12および内部インターフェースポート14を搭載していて、また、論理ディスクアクセス情報11を記憶している。
ホストインターフェースポート13はホストコンピュータ2と接続される。ホストコンピュータ2とホストインターフェースポート13間の接続パス16は二重化されていて、そのいずれか一方にパス障害が発生しても運用が継続できるようになっている。ホストコンピュータ2は、通常使用する接続パスとして予め定められている方のパス16を介してホストインターフェースユニット10にコマンドを送信し、それが失敗した場合にもう一方のパス16を用いてリトライをする。
キャッシュメモリ12には、ホストコンピュータ2から受領したライトデータや、ホストコンピュータ2に送信するリードデータが格納される。
内部インターフェースポート14は、スイッチ3を介してディスクインターフェースユニット20の内部インターフェースポート23に接続されている。
ディスクインターフェースユニット20はディスクインターフェースカード25を2枚搭載していて、各機能を二重化している。ディスクインターフェースカード25は内部インターフェースポート23およびキャッシュメモリ22およびディスクインターフェースポート24を搭載していて、また、論理ディスクアクセス情報21を持っている。
内部インターフェースポート23は、スイッチ3を介してホストインターフェースユニット10の内部インターフェースポート14に接続されている。キャッシュメモリ22には、ホストインターフェースユニット10から受領したライトデータや、ホストインターフェースユニット10に送信するリードデータが格納される。ディスクインターフェースポート24はディスクユニット5と接続される。ディスクユニット5には複数の論理ディスク4が存在するが、論理ディスク4は、実体は複数のディスクドライブによるRAID構成となっている。
次に、ディスクアレイ装置1の動作について説明する。
図3は、ディスクアレイ装置1がホストコンピュータ2からリードコマンドを受信したときの動作を示すフローチャートである。
ホストインターフェースユニット10がホストコンピュータ2からリードコマンドを受信する(S101)と、コマンドを受信したホストインターフェースカード15の制御部17は、論理ディスクアクセス情報11を参照し読み取りを実行する対象論理ディスクが占有ディスクであるのか共有ディスクであるのか判定する(S102)。
対象論理ディスクが占有ディスクであった場合、制御部17は、キャッシュメモリ12上でリードキャッシュのヒット判定を行う(S103)。キャッシュミスとなった場合、ホストインターフェースユニット10は、ディスクインターフェースユニット20に対してリードコマンドを発行し(S104)、ディスクインターフェースユニット20は、ホストインターフェースユニット10上のキャッシュメモリ12にリードデータを転送する(S105)。ホストインターフェースユニット10は、キャッシュメモリ12からリードデータを読み出してホストコンピュータ2へ転送する(S106)。
S103の判定でキャッシュヒットになった場合にはすぐにホストインターフェースユニット10がキャッシュメモリ12からリードデータを読み出してホストコンピュータ2へ転送する(S106)。
S102の判定で対象論理ディスクが共有ディスクであった場合、ホストインターフェースユニット10は、ディスクインターフェースユニット20に対してリードコマンドを発行する(S107)。これを受けたディスクインターフェースユニット20は、リードデータがキャッシュメモリ22にある場合はキャッシュメモリ22から、そうでない場合は、論理ディスク4からリードデータを読み出してスイッチ3を介してホストインターフェースユニット10に送信する。ホストインターフェースユニット10は、受信したリードデータをホストコンピュータ2に転送する(S108)。
図4は、ディスクアレイ装置1がホストコンピュータ2からライトコマンドを受信したときの動作を示すフローチャートである。
ホストインターフェースユニット10がホストコンピュータ2からライトコマンドを受信すると(S111)、制御部17は、論理ディスクアクセス情報11を参照し書き込みの対象論理ディスクが占有ディスクであるのか共有ディスクであるのか判定する(S112)。
対象論理ディスクが占有ディスクである場合、制御部17は、キャッシュメモリ12上にホストコンピュータ2から受信するデータを格納するためのライトキャッシュ領域の確保を行う(S113)。次に、ホストコンピュータ2から受信したデータをS113で確保したライトキャッシュ領域に格納する(S114)。
S112の判定において対象論理ディスクが共有ディスクであった場合、ホストインターフェースユニット10は、ディスクインターフェースユニット20に対してライトコマンドを発行する(S115)。ディスクインターフェースユニット20は、ホストインターフェースユニット10から転送されたライトデータをキャッシュメモリ22に格納する(S116)。
図5は、ディスクアレイ装置1がホストインターフェースユニット10上のキャッシュメモリ12上に滞留しているライトデータをライトバックするときの動作を示すフローチャートである。
ホストインターフェースユニット10がライトバック処理を開始すると(S121)、ホストインターフェースユニット10は、ディスクインターフェースユニット20に対してライトコマンドを発行する(S122)。ホストインターフェースユニット10上のキャッシュメモリ12からディスクインターフェースユニット20にライトデータが転送される(S123)。
図6は、図1のディスクアレイ装置1に、2個の増設ホストインターフェースユニット10aが増設され、各増設ホストインターフェースユニット10aに増設ホストコンピュータ2aが接続され、さらに、2個のディスクユニット5には、それぞれ2個の論理ディスクドライブ4aが増設された構成を示している。
このような場合、ホストコンピュータ2、2aと論理ディスク4、4aとの間で転送されるデータの量は図1の場合に比べて増加する。そのため、たとえば図9に示したようにキャッシュメモリをすべてのホストインターフェースユニットで共有する従来の方式では、キャッシュメモリの利用率が増加してキャッシュミスとなる割合が増加する。その結果、ディスクアレイ装置全体としての性能は低下してしまう。
しかし、ディスクアレイ装置1は、各ホストインターフェースユニット10、10aがキャッシュメモリ12を備え、データの読み書きの対象の論理ディスク4、4aが占有ディスクである場合には、キャッシュメモリ12に対してデータの読み書きを実行する。
そのため、ディスクアレイ装置1によれば、ホストインターフェースユニット10や論理ディスク4を増設したときの性能低下を防止することができる。
ディスクアレイ装置1を利用するホストコンピュータ2を増設する場合は、通常ホストインターフェースユニット10も増設される。増設ホストインターフェースユニット10aは、キャッシュメモリ12を備えているから、ホストコンピュータ2を増設した際にキャッシュメモリの負荷増大による性能低下を確実に防止することができる。
ホストインターフェースユニット10の制御部17は、ホストコンピュータ2から受信したコマンドの対象が共有ディスクである場合は、ホストインターフェースユニット10のキャッシュメモリ12を使用せずディスクインターフェースユニット20のキャッシュメモリ22を使用するから、共有ディスクが存在する場合でもキャッシュメモリに保留されているデータの正当性を保証することができる。
ホストインターフェースユニット10の制御部17は、ホストインターフェースユニット10に記憶されている論理ディスクアクセス情報11を参照して、コマンドの対象となっている論理ディスク4の種別を判定するから、共有ディスクと占有ディスクが混在している場合にも、制御部17は、確実に論理ディスクの種別を判定することができる。
次に、ディスクアレイ装置1の別の動作例について説明する。この例では、ホストインターフェースユニット10に障害が発生した時の動作についてさらに工夫している。
図7は、ディスクアレイ装置1の動作を示すフローチャートである。
ホストインターフェースカード10がホストコンピュータ2からライトコマンドを受信すると(S131)、制御部17は、書き込み対象の論理ディスク4が占有ディスクであるか共有ディスクであるかを判定する(S132)。
書き込み対象の論理ディスク4が占有ディスクである場合は、ライトコマンド処理時にホストインターフェースカード15が縮退状態にあるか否かを判定する(S133)。ここでは、縮退状態とは、ホストインターフェースユニット10の2枚のホストインターフェースカード15のうちの1枚が正常に動作していない状態を指す。この判定は、たとえば、2枚のホストインターフェースカード15が互いに送受信している正常動作をしていることを通知する信号の有無を制御部17が判定することにより行う。
ホストインターフェースカード15が障害により縮退状態である場合にはライトデータの二重化ができないため、ファストライト動作を行うと、万が一もうひとつのホストインターフェースカード15で障害が発生した場合にライトデータが失われてしまう。そのため、この動作例ではS133においてホストインターフェースカード15が冗長状態であると判定すればファストライトを行うが(S134、S135)、ホストインターフェースカード15が冗長状態でない場合には、共有ディスクの動作と同様に、ホストインターフェースカード15上のキャッシュメモリ12をライトキャッシュとして使用せず、直接ディスクインターフェースユニット20へデータを転送する(S136、S137)。この場合でも、ディスクインターフェースユニット20上のキャッシュメモリ22をライトキャッシュとして使用できるため、ホストインターフェースカード15の障害が無い場合に比べると、性能は低下するものの、ある程度のキャッシュヒット性能は得られる。
ディスクアレイ装置1を上記のように動作させると、障害によって冗長性が失われているホストインターフェースカード15上のキャッシュメモリ12をライトキャッシュとして使用しないので、ホストインターフェースカード15のうちのいずれかが正常に動作していない場合においてもライトデータデータの正当性は保証される。また、このような場合においても、ディスクインターフェースカード25上のキャッシュメモリ22は、ライトキャッシュとして使用されるため、若干の性能低下におさえられるという効果が得られる。
本発明は、ホストインターフェースユニット10に登載されたコンピュータにより実行されるプログラムとしても実施することができる。
本発明の実施形態であるディスクアレイ装置の概略ブロック図である。 本発明の実施形態であるディスクアレイ装置の詳細ブロック図である。 ディスクアレイ装置がホストコンピュータからリードコマンドを受信したときの動作を示すフローチャートである。 ディスクアレイ装置がホストコンピュータからライトコマンドを受信したときの動作を示すフローチャートである。 ディスクアレイ装置がライトバックを実施するときの動作を示すフローチャートである。 ディスクアレイ装置にホストインターフェースユニットと論理ディスクを増設した状態を示すブロック図である。 ディスクアレイ装置がホストコンピュータからライトコマンドを受信したときの動作を示すフローチャートである。 論理ディスクアクセス情報のデータ例を示す図である。 従来の大型ディスクアレイ装置の構成を示すブロック図である。 従来のストレージサブシステムの構成を示すブロック図である。
符号の説明
1 ディスクアレイ装置
2 ホストコンピュータ
3 スイッチ
4 論理ディスク
5 ディスクユニット
10 ホストインターフェースユニット
11 論理ディスクアクセス情報
12 キャッシュメモリ
13 ホストインターフェースポート
14 内部インターフェースポート
15 ホストインターフェースカード
17 制御部
20 ディスクインターフェースユニット
21 論理ディスクアクセス情報
22 キャッシュメモリ
23 内部インターフェースポート
24 ディスクインターフェースポート
27 制御部

Claims (9)

  1. 特定のホストインターフェースユニットが占有し特定のホストコンピュータと対応付けられた占有キャッシュメモリを備え、
    前記ホストインターフェースユニットは、前記ホストコンピュータから、そのホストインターフェースユニットによって占有される論理ディスクである占有ディスクに対する書き込みまたは読み出しの命令を受信したときに前記占有キャッシュメモリに対して前記命令を実行する制御部を備えたことを特徴としたディスクアレイ装置。
  2. 前記占有キャッシュメモリは、前記ホストインターフェースユニットに実装されていることを特徴とした請求項1に記載のディスクアレイ装置。
  3. 複数のホストインターフェースユニットによって使用される共有キャッシュメモリをディスクインターフェースユニット上に備え、
    前記制御部は、前記ホストインターフェースユニットが前記ホストコンピュータから、そのホストインターフェースユニットと他のホストインターフェースユニットによって共有される論理ディスクである共有ディスクに対する書き込みまたは読み出しの命令を受信したときに前記共有キャッシュメモリに対して前記命令を実行することを特徴とした請求項1または請求項2に記載のディスクアレイ装置。
  4. 前記ホストインターフェースユニットは、前記占有キャッシュメモリを備えた複数のホストインターフェースカードを備え、
    前記制御部は、前記複数のホストインターフェースカードのすべてが正常に動作している場合にのみ、前記占有キャッシュメモリに対して前記書き込み命令を実行することを特徴とした請求項2または請求項3に記載のディスクアレイ装置。
  5. 前記論理ディスクが前記占有ディスクであるか前記共有ディスクであるかを示すディスクアクセス情報を前記ホストインターフェースユニット毎に記憶するディスクアクセス情報記憶部を備え、
    前記制御部は前記ディスクアクセス情報を参照して対象論理ディスクが占有ディスクであるか共有ディスクであるかを判定することを特徴とした請求項1ないし請求項4のいずれかひとつに記載のディスクアレイ装置。
  6. ホストインターフェースユニットがホストコンピュータから論理ディスクに対する書き込みまたは読み出し命令を受信したときに作動し、
    対象論理ディスクが前記ホストインターフェースユニットにより占有される占有ディスクである場合には前記命令を前記ホストインターフェースユニットにより占有される占有キャッシュメモリに対して実行し、前記対象論理ディスクが前記ホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有ディスクである場合には前記命令を前記ホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有キャッシュメモリに対して実行する命令実行工程を備えたディスクアレイ装置の制御方法。
  7. 前記命令実行工程では、前記ホストインターフェースユニットを構成する複数のホストインターフェースカードの一部が正常に機能していない場合には、前記対象論理ディスクが占有ディスクであっても書き込み命令を前記共有キャッシュメモリに対して実行することを特徴とした請求項6に記載のディスクアレイ装置の制御方法。
  8. ホストインターフェースユニットがホストコンピュータから論理ディスクに対する書き込みまたは読み出し命令を受信したときに作動し、
    コンピュータに、
    対象論理ディスクが前記ホストインターフェースユニットにより占有される占有ディスクである場合には前記命令を前記ホストインターフェースユニットにより占有される占有キャッシュメモリに対して実行し、前記対象論理ディスクが前記ホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有ディスクである場合には前記命令を前記ホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有キャッシュメモリに対して実行する命令実行機能を実行させるディスクアレイ装置の制御プログラム。
  9. 前記命令実行機能は、前記ホストインターフェースユニットを構成する複数のホストインターフェースカードの一部が正常に機能していない場合には、前記対象論理ディスクが前記占有ディスクであっても書き込み命令を前記共有キャッシュメモリに対して実行することを特徴とした請求項8に記載のディスクアレイ装置の制御プログラム。
JP2006024588A 2006-02-01 2006-02-01 ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム Withdrawn JP2007206949A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006024588A JP2007206949A (ja) 2006-02-01 2006-02-01 ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム
US11/657,016 US7698500B2 (en) 2006-02-01 2007-01-24 Disk array system, host interface unit, control method for disk array system, and computer program product for disk array system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006024588A JP2007206949A (ja) 2006-02-01 2006-02-01 ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム

Publications (1)

Publication Number Publication Date
JP2007206949A true JP2007206949A (ja) 2007-08-16

Family

ID=38323486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006024588A Withdrawn JP2007206949A (ja) 2006-02-01 2006-02-01 ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム

Country Status (2)

Country Link
US (1) US7698500B2 (ja)
JP (1) JP2007206949A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113232A (ja) * 2009-11-26 2011-06-09 Nec Corp ディスクエンクロージャ及びストレージシステムの制御方法
US9858204B2 (en) 2014-12-11 2018-01-02 Nec Corporation Cache device, cache system, and cache method
WO2018037510A1 (ja) * 2016-08-24 2018-03-01 株式会社日立製作所 計算機システム、通信デバイス、及び、記憶制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5521816B2 (ja) * 2010-06-18 2014-06-18 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098128A (en) * 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US6240492B1 (en) * 1998-05-22 2001-05-29 International Business Machines Corporation Memory interface for functional unit of integrated system allowing access to dedicated memory and shared memory, and speculative generation of lookahead fetch requests
GB0010648D0 (en) * 2000-05-04 2000-06-28 Ibm Methods,apparatus and system for caching data
JP3736305B2 (ja) 2000-07-06 2006-01-18 日本電気株式会社 ディスクキャッシュシステムおよびディスクキャッシュ制御方法
US6671820B1 (en) * 2000-08-10 2003-12-30 Dell Products, L.P. System and method for the prevention of corruption of networked storage devices during backup data recovery
US7343451B2 (en) * 2003-12-25 2008-03-11 Hitachi, Ltd. Disk array device and remote copying control method for disk array device
JP4477906B2 (ja) * 2004-03-12 2010-06-09 株式会社日立製作所 ストレージシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113232A (ja) * 2009-11-26 2011-06-09 Nec Corp ディスクエンクロージャ及びストレージシステムの制御方法
US9858204B2 (en) 2014-12-11 2018-01-02 Nec Corporation Cache device, cache system, and cache method
WO2018037510A1 (ja) * 2016-08-24 2018-03-01 株式会社日立製作所 計算機システム、通信デバイス、及び、記憶制御方法
JPWO2018037510A1 (ja) * 2016-08-24 2018-12-06 株式会社日立製作所 計算機システム、通信デバイス、及び、記憶制御方法
US10733118B2 (en) 2016-08-24 2020-08-04 Hitachi, Ltd. Computer system, communication device, and storage control method with DMA transfer of data

Also Published As

Publication number Publication date
US7698500B2 (en) 2010-04-13
US20070180189A1 (en) 2007-08-02

Similar Documents

Publication Publication Date Title
US7325179B2 (en) Storage system comprising logical circuit configured in accordance with information in memory on PLD
US6505305B1 (en) Fail-over of multiple memory blocks in multiple memory modules in computer system
EP1585022B1 (en) Disk array device and data processing method thereof
US7124244B2 (en) Storage system and a method of speeding up writing data into the storage system
JP4041473B2 (ja) マルチクラスタ・ストレージ・サブシステムのための自律型パワー・ロス・リカバリ
GB2375633A (en) Redundant controller data storage system having hot insertion system and method
US20110246720A1 (en) Storage system with multiple controllers
JP2004021811A (ja) 不揮発メモリを使用したディスク制御装置
JP2010049502A (ja) ストレージサブシステム、及びこれを有するストレージシステム
JP2008225753A (ja) 計算機システム、アクセス制御方法及び管理計算機
CN101122877A (zh) 双工系统和处理器切换方法
US9575855B2 (en) Storage apparatus and failure location identifying method
JP2008269142A (ja) ディスクアレイ装置
JP2005196490A (ja) データ多重化のためのシステム及び方法
JP2007206949A (ja) ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム
US10216595B2 (en) Information processing apparatus, control method for the information processing apparatus, and recording medium
US8732531B2 (en) Information processing apparatus, method of controlling information processing apparatus, and control program
US7260680B2 (en) Storage apparatus having microprocessor redundancy for recovery from soft errors
US9740423B2 (en) Computer system
JP2007058873A (ja) 不揮発メモリを使用したディスク制御装置
JP2006260141A (ja) 記憶システムの制御方法、記憶システム、記憶制御装置、記憶システムの制御プログラム、情報処理システム
US9836359B2 (en) Storage and control method of the same
US7409605B2 (en) Storage system
JP4572138B2 (ja) サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法
JP2009199540A (ja) ストレージ装置とシステムと方法並びにプログラム

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100106