JP4618785B2 - データ処理システム及び方法 - Google Patents

データ処理システム及び方法 Download PDF

Info

Publication number
JP4618785B2
JP4618785B2 JP2004373285A JP2004373285A JP4618785B2 JP 4618785 B2 JP4618785 B2 JP 4618785B2 JP 2004373285 A JP2004373285 A JP 2004373285A JP 2004373285 A JP2004373285 A JP 2004373285A JP 4618785 B2 JP4618785 B2 JP 4618785B2
Authority
JP
Japan
Prior art keywords
extent
storage device
write
read
access control
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
JP2004373285A
Other languages
English (en)
Other versions
JP2006178849A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004373285A priority Critical patent/JP4618785B2/ja
Priority to US11/070,885 priority patent/US7243189B2/en
Publication of JP2006178849A publication Critical patent/JP2006178849A/ja
Application granted granted Critical
Publication of JP4618785B2 publication Critical patent/JP4618785B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Description

本発明は、データを処理するためのコンピュータ技術に関する。
複数の物理記憶デバイス(例えばディスクドライブ)を備えるストレージシステムが知られている。複数の物理記憶デバイスには、複数の論理記憶デバイス(論理ボリューム或いは論理ユニットと言うこともある)を用意することができる。ストレージシステムは、例えば、ホストコンピュータと通信することができ、キャッシュメモリと、制御メモリ(共有メモリと呼ばれることもある)とを備える。キャッシュメモリは、ホストコンピュータと論理記憶デバイス(以下、Logical Deviceを略して「LDEV」と称する)との間でやり取りされるデータを一時的に記憶するためのメモリであり、制御メモリは、そのデータのやり取りの制御等に利用される制御情報が格納されるメモリである。制御情報には、ストレージシステム内のLDEV毎に設定可能な属性を含むことができる。
すなわち、データ処理技術の一つに、例えば、複数のLDEVの各々に対するホストコンピュータからのアクセスを制御するための技術があるが(例えば特許文献1)、この技術によれば、LDEVごとに、読み出し/書き込み共に可能、書き込み禁止、又は、読み出し/書き込み共に禁止、のいずれかの属性が設定される。ホストコンピュータからの読み出し/書き込みコマンドは、読み出し/書き込み対象の論理記憶デバイスに設定された属性に従って処理される。その属性は、制御メモリに格納される制御情報に含めることができる。
特開2000−112822号公報
上記の特許文献1によれば、書き込み禁止等の属性(以下、「アクセス制御属性」と言う)が設定されたLDEV内のデータを、そのLDEVを備えるストレージシステムとは別のストレージシステム内のLDEVに移動した場合には、移動先のデータを移動元のデータと同等に保護することができない。データの移動先のLDEVを有する別のストレージシステムでは、アクセス制御属性の管理が行われていないためである。
また、上記の特許文献1によれば、アクセス制御属性は、LDEVに対して設定される。このため、例えば、書込み禁止を意味するアクセス制御属性がLDEVに設定されていれば、そのLDEVに空き領域があっても、その空き領域にはデータを書き込むことができない。
以上の問題点を解消するために、本出願人は、LDEV内に、そのLDEVよりも記憶容量の小さい記憶領域(以下、「エクステント」と言う)を複数個設定し、各エクステント毎に、書き込み禁止等のアクセス制御属性を設定し、且つ、各エクステント毎のアクセス制御属性をそのエクステントと同一のLDEDV内に保存することを考え出した(特願2004−313874:本出願時点では未公開)。
これにより、例えば、LDEV内の全てのデータを別のLDEVに移動すれば、エクステント内のデータと共に、そのエクステントに設定されたアクセス制御属性も別のLDEVに移動するので、データの移動先である別のLDEVでも、移動元と同等にデータを保護することが期待できる。
また、これにより、LDEV内に生じ得る無駄な空き領域の量を低減することができる。例えば、同一のLDEV内において、第一のエクステントにはデータの書込みを禁止するアクセス制御属性が設定されていても、第二のエクステントにそのアクセス制御属性が設定されていなければ、その第二のエクステントには、データの書き込みをすることができる。
ところで、各エクステントを管理するためには、アクセス制御属性に限らず、種々の情報があった方が良いと考えられる。そのため、各エクステント毎に、そのエクステントのアクセス制御属性を含んだエクステント管理情報を用意することができる。エクステントの数が多くなればなるほど、エクステント管理情報の数も多くなり、故に、エクステント管理情報群の情報量が多くなる。エクステント情報群の保存場所としては、そのエクステント情報群によって管理されている複数のエクステントを備えたLDEVが考えられる。
しかし、この場合、ホストコンピュータからのアクセス要求(読み出し要求又は書き込み要求)の処理に要する時間が長くなってしまうという問題が生じるおそれがある。なぜなら、通常、LDEVからのデータの読み出し速度は、メモリからのデータの読出し速度よりも遅く、エクステント管理情報群をLDEVに保存した場合には、アクセス要求をホストコンピュータから受ける都度に、LDEVにアクセスしエクステント管理情報群から一以上のエクステント管理情報を読み出す処理が必要になってしまうからである。
これを解消するための方法として、エクステント管理情報群をメモリに保存させておく方法が考えられる。しかし、この方法では、ストレージシステムのコストが高くなってしまうという別の問題が生じる。なぜなら、ストレージシステムに存在するエクステントの数が膨大になれば、それだけエクステント管理情報群の情報量も膨大になり、その膨大な情報量のエクステント管理情報群を保存するために、メモリの記憶容量を多くしておく必要があるためである。これは、LDEVの数が増えれば増えるほど、換言すれば、エクステント管理情報群の数が増えれば増えるほど、一層大きな問題となる。
従って、本発明の目的の一つは、通信装置からのアクセス要求の処理に要する時間が長くなってしまうことを抑えられるようにすることにある。
本発明の更なる目的は、メモリの記憶容量を膨大にすること無しに、上記のことを実現することにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明の第一の側面に従うデータ処理システムは、通信装置と通信可能に接続され、少なくとも一つのコンピュータと、前記少なくとも一つのコンピュータに読み込まれる少なくとも一つのコンピュータプログラムを記憶するプログラム記憶域と、データを記憶することができるサブ領域であるエクステントを複数個有する記憶デバイスと、前記複数のエクステントにそれぞれ対応した複数のアクセス制御属性を記憶する属性記憶域とを有する。エクステントに対応したアクセス制御属性は、複数種類のアクセス制御属性の中から選択された種類のアクセス制御属性である。前記複数種類のアクセス制御属性には、読出し禁止を意味するアクセス制御属性が含まれておらず、書込み許可を意味するアクセス制御属性と、読出し許可を意味するアクセス制御属性と、書込み禁止を意味するアクセス制御属性とが含まれている。
この場合、前記少なくとも一つのコンピュータプログラムを読み込んだ前記少なくとも一つのコンピュータ(例えば制御手段)が、書込み対象データと書込み要求とを送信する通信装置から前記書込み要求が受信された場合、前記書込み要求に従う書込み先エクステントのアクセス制御属性を前記複数のアクセス制御属性の中から検索し、検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行い、その判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御する。また、前記少なくとも一つのコンピュータが、読出し対象データの読み出し要求を送信する通信装置から前記読出し要求が受信された場合には、前記読み出し要求に従う読み出し元エクステントのアクセス制御属性を前記複数のアクセス制御属性の中から検索することを行うことなく、前記読出し元エクステントから前記読出し対象データを読み出す。
ここで、エクステントは、例えば、記憶デバイス上に物理的に設定するのではなく、記憶デバイスとは別の記憶域(例えばメモリ)上で論理的に設定することができる。論理的に設定するとは、例えば、記憶デバイスのどの位置からどの位置までが一つのエクステントであるか(又はどの位置からどんな記憶サイズを有するものが一つのエクステントであるか)を表す情報を上記別の記憶域に記憶させることとすることができる。
一つの実施態様では、前記少なくとも一つのコンピュータが、前記通信装置からの要求に応答して、以下の(1)又は(2)の処理、
(1)第一の時点から第二の時点の間に前記記憶デバイスに書き込まれた少なくとも一つの書き込み対象データを有する領域を含んだ領域を一つのエクステントとし、且つ、前記エクステントに対するアクセス制御属性を前記属性記憶域に格納する処理、
(2)第一の時点で一つのエクステントを設定し、前記設定されたエクステントに書込み対象データが格納された後の第二の時点で前記設定されたエクステントに対するアクセス制御属性を前記属性記憶域に格納する処理、
を実行することができる。
本発明の第二の側面に従うデータ処理システムは、通信装置に通信可能に接続され、少なくとも一つのコンピュータと、前記少なくとも一つのコンピュータに読み込まれる少なくとも一つのコンピュータプログラムを記憶するプログラム記憶域と、データを記憶する複数の記憶デバイスと、前記複数の記憶デバイスの少なくとも一つの記憶デバイスに設けられる複数のエクステントと、記憶デバイスと前記通信装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリ領域と、前記データのやり取りを制御するための情報を記憶する制御メモリ領域と、前記複数のエクステントにそれぞれ対応した複数のアクセス制御属性を記憶する第一の管理領域と、書込み禁止を意味するアクセス制御属性に対応したエクステントである書込み禁止エクステントが前記複数のエクステントに含まれているか否かを表す書込み禁止エクステント有無情報を各記憶デバイス毎に記憶する第二の管理領域とを備える。前記第一の管理領域は、前記複数のエクステントを有する前記記憶デバイス内に存在する。前記第二の管理領域は、前記キャッシュメモリ領域と前記制御メモリ領域とのうちの少なくとも一方に存在する。
この場合、前記少なくとも一つのコンピュータプログラムを読み込んだ前記少なくとも一つのコンピュータ(例えば制御手段)が、書込み対象データと書込み要求とを送信する通信装置から前記書込み要求が受信された場合、前記第二の管理領域にアクセスして、前記書込み要求に従う書込み先記憶デバイスに対応した書込み禁止エクステント有無情報を参照することにより、前記書込み先記憶デバイスに前記書込み禁止エクステントが存在するか否かの判定を行う。また、前記少なくとも一つのコンピュータが、前記書込み先記憶デバイスに前記書込み禁止エクステントが存在すると判定された場合、前記書込み先記憶デバイスに設けられた前記第一の管理領域にアクセスし、前記書込み先記憶デバイスに設けられた複数のエクステントのうちの書込み先エクステントに対応したアクセス制御属性を前記複数のアクセス制御属性の中から検索し、検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行い、その判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御する。
一つの実施態様では、前記第二の管理領域は、読出し禁止を意味するアクセス制御属性に対応したエクステントである読出し禁止エクステントが前記複数のエクステントに含まれているか否かを表す読出し禁止エクステント有無情報を各記憶デバイス毎に記憶することができる。前記少なくとも一つのコンピュータが、読出し対象データの読出し要求を送信する通信装置から前記読出し要求が受信された場合、前記第二の管理領域にアクセスして、前記読出し要求に従う読出し元記憶デバイスに対応した読出し禁止エクステント有無情報を参照することにより、前記読出し元記憶デバイスに前記読出し禁止エクステントが存在するか否かの判定を行うことができる。また、前記少なくとも一つのコンピュータが、前記読出し元記憶デバイスに前記読出し禁止エクステントが存在すると判定された場合、前記読出し元記憶デバイスに設けられた前記第一の管理領域にアクセスし、前記読出し元記憶デバイスに設けられた複数のエクステントのうちの読出し元エクステントに対応したアクセス制御属性を前記複数のアクセス制御属性の中から検索し、検索されたアクセス制御属性が読出し禁止を意味するアクセス制御属性か否かの判定を行い、その判定の結果に応じて、前記読出し対象データを前記読出し元エクステントから読み出すか否かを制御することができる。
一つの実施態様では、前記通信装置と前記記憶デバイスとの間で前記キャッシュメモリ領域を介してやり取りされるデータには、前記記憶デバイスを管理するための種々の管理情報要素を含む管理情報と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータとがあってもよい。この場合、前記少なくとも一つのコンピュータが、前記記憶デバイスに書き込まれたデータであって、前記キャッシュメモリ領域に残っているデータのうち、前記管理情報に含まれる管理情報要素を優先的に前記キャッシュメモリ領域に残し、前記ホストデータを先に前記キャッシュメモリ領域から削除することができる。
一つの実施態様では、前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とを有することができる。前記制御メモリ領域が、各記憶デバイス毎に、前記管理情報記憶域が更新中か否かを表す更新ステータスと、前記管理情報記憶域の更新が済んだ場合に変更される更新番号とを記憶することができる。この場合、前記少なくとも一つのコンピュータが、以下の処理、
或る記憶デバイスに格納するための管理情報を送信する通信装置から前記管理情報を受信した場合に、前記或る記憶デバイスへのデータの書き込みを禁止することを表すロックを設定し、
前記或る記憶デバイスの前記更新ステータスを、更新中であることを意味する更新中ステータスに変更し、
前記或る記憶デバイスの前記管理情報記憶域に前記受信した管理情報を書き込み、
前記管理情報の書込みが済んだ場合に、前記或る記憶デバイスに対応した前記更新番号を変更し、
前記或る記憶デバイスの前記更新ステータスを、更新中で無いことを意味する更新無しステータスに変更し、
前記或る記憶デバイスの更新ステータス及び更新番号を参照し、
前記或る記憶デバイスの更新ステータス及び更新番号を参照した後で、前記或る記憶デバイスの管理情報記憶域から管理情報を読み出し、
前記管理情報を読み出した後で、再び、前記或る記憶デバイスの更新ステータス及び更新番号を参照し、
前記管理情報を読み出す前と後で参照した更新ステータスが両方とも更新中ステータスではなく、且つ、前記管理情報を読み出す前と後で参照した更新番号が両方とも同じ番号である場合に、前記読み出された管理情報を有効と判断する、
を実行することができる。
一つの実施態様では、前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とのうちの少なくとも前記ホスト記憶領域を有することができる。この場合、前記少なくとも一つのコンピュータが、所定の条件に合致する場合に、前記或る記憶デバイスに前記管理情報記憶域を設定すること、及び、前記或る記憶デバイスから前記管理情報記憶域を削除することの少なくとも一方を禁止することができる。前記所定の条件とは、前記或る記憶デバイスが前記ホストコンピュータに接続されていることと、前記或る記憶デバイスに少なくとも一つのエクステントが設定されていることとの少なくとも一方であってもよい。
一つの実施態様では、前記記憶デバイスと同じ記憶サイズを有する別の記憶デバイスが存在してもよい。前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とを有することができる。前記別の記憶デバイスが、前記記憶デバイスの前記管理情報記憶領域が存在する場所と同じ場所に、前記管理情報記憶領域と同じ記憶容量の別の管理情報記憶領域を有することができる。前記少なくとも一つのコンピュータが、前記記憶デバイス内の全ての情報を、前記別の管理情報記憶領域が用意された前記別の記憶デバイスにコピーすることができる。
一つの実施態様では、前記記憶デバイスと同じ記憶サイズを有する別の記憶デバイスが存在してもよい。前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とを有することができる。前記別の記憶デバイスが、別の管理情報記憶領域を有しないが別のホスト記憶領域を有することができる。前記少なくとも一つのコンピュータが、前記記憶デバイス内の全ての情報を、前記別の管理情報記憶領域が用意された前記別の記憶デバイスにコピーし、前記別の記憶デバイスの前記別のホスト記憶領域のアドレスを調整することができる。
一つの実施態様では、記記憶デバイスと同じ記憶サイズを有する別の記憶デバイスが存在してもよい。前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とを有することができる。前記少なくとも一つのコンピュータが、前記別の記憶デバイスが所定の条件に適合する場合には、前記記憶デバイス内の情報のコピー先として設定することを禁止することができる。前記所定の条件とは、前記別の記憶デバイスに少なくとも一つのエクステントが設定されていることであってもよい。
本発明の第三の側面に従うデータ処理方法では、記憶デバイスに設けられた複数のエクステントにそれぞれ対応した複数のアクセス制御属性がある。エクステントに対応したアクセス制御属性は、複数種類のアクセス制御属性の中から選択された種類のアクセス制御属性である。前記複数種類のアクセス制御属性には、読出し禁止を意味するアクセス制御属性が含まれておらず、書込み許可を意味するアクセス制御属性と、読出し許可を意味するアクセス制御属性と、書込み禁止を意味するアクセス制御属性とが含まれている。この場合、上記データ処理方法は、以下の処理、
書込み対象データと書込み要求とを送信するホストコンピュータから前記書込み要求を受信し、
前記受信した書込み要求に従う書込み先エクステントのアクセス制御属性を、記憶デバイスに設けられた複数のエクステントにそれぞれ対応した複数のアクセス制御属性の中から検索し、
前記検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行い、
前記判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御し、
読出し対象データの読み出し要求を送信するホストコンピュータから前記読出し要求を受信し、
前記受信した読み出し要求に従う読み出し元エクステントのアクセス制御属性を前記複数のアクセス制御属性の中から検索することを行うことなく、前記読出し元エクステントから前記読出し対象データを読み出す、
を実行する。
一つの実施態様では、上記データ処理方法は、前記通信装置からの要求に応答して、以下の(1)又は(2)、
(1)第一の時点から第二の時点の間に前記記憶デバイスに書き込まれた少なくとも一つの書き込み対象データを有する領域を含んだ領域を一つのエクステントとし、且つ、前記エクステントに対するアクセス制御属性を前記属性記憶域に格納する処理、
(2)第一の時点で一つのエクステントを設定し、前記設定されたエクステントに書込み対象データが格納された後の第二の時点で前記設定されたエクステントに対するアクセス制御属性を前記属性記憶域に格納する処理、
を実行する。
本発明の第四の側面に従うデータ処理方法では、複数の記憶デバイスの少なくとも一つの記憶デバイスに設けられる複数のエクステントと、記憶デバイスと通信装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリ領域と、データのやり取りを制御するための情報を記憶する制御メモリ領域と、前記複数のエクステントにそれぞれ対応した複数のアクセス制御属性を記憶する第一の管理領域と、書込み禁止を意味するアクセス制御属性に対応したエクステントである書込み禁止エクステントが前記複数のエクステントに含まれているか否かを表す書込み禁止エクステント有無情報を各記憶デバイス毎に記憶する第二の管理領域とが備えられる。前記第一の管理領域は、前記複数のエクステントを有する前記記憶デバイス内に存在し、前記第二の管理領域は、前記キャッシュメモリ領域と前記制御メモリ領域とのうちの少なくとも一方に存在する。この場合、データ処理方法は、以下の処理、
書込み対象データと書込み要求とを送信する通信装置から前記書込み要求が受信された場合、前記第二の管理領域にアクセスして、前記書込み要求に従う書込み先記憶デバイスに対応した書込み禁止エクステント有無情報を参照することにより、前記書込み先記憶デバイスに前記書込み禁止エクステントが存在するか否かの判定を行い、
前記書込み先記憶デバイスに前記書込み禁止エクステントが存在すると判定された場合、前記書込み先記憶デバイスに設けられた前記第一の管理領域にアクセスし、前記書込み先記憶デバイスに設けられた複数のエクステントのうちの書込み先エクステントに対応したアクセス制御属性を前記複数のアクセス制御属性の中から検索し、検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行い、その判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御する、
を実行する。
本発明の第五の側面に従うデータ処理システムは、記憶デバイスに設けられた複数のエクステントにそれぞれ対応した複数のアクセス制御属性を記憶する属性記憶域と、書込み対象データと書込み要求とを送信するホストコンピュータから前記書込み要求を受信する書込み要求受信手段と、前記受信した書込み要求に従う書込み先エクステントのアクセス制御属性を前記複数のアクセス制御属性の中から検索する属性検索手段と、前記検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行う書込み禁止判定手段と、前記判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御する書込み制御手段と、読出し対象データの読み出し要求を送信するホストコンピュータから前記読出し要求を受信する読出し要求受信手段と、前記受信した読み出し要求に従う読み出し元エクステントのアクセス制御属性を前記複数のアクセス制御属性の中から検索することを行うことなく、前記読出し元エクステントから前記読出し対象データを読み出す読出し手段とを備える。エクステントに対応したアクセス制御属性は、複数種類のアクセス制御属性の中から選択された種類のアクセス制御属性である。前記複数種類のアクセス制御属性には、読出し禁止を意味するアクセス制御属性が含まれておらず、書込み許可を意味するアクセス制御属性と、読出し許可を意味するアクセス制御属性と、書込み禁止を意味するアクセス制御属性とが含まれている。
本発明の第六の側面に従うデータ処理システムでは、複数の記憶デバイスの少なくとも一つの記憶デバイスに設けられる複数のエクステントがある。そのデータ処理システムは、記憶デバイスと前記通信装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリ領域と、前記データのやり取りを制御するための情報を記憶する制御メモリ領域と、前記複数のエクステントにそれぞれ対応した複数のアクセス制御属性を記憶する第一の管理領域と、書込み禁止を意味するアクセス制御属性に対応したエクステントである書込み禁止エクステントが前記複数のエクステントに含まれているか否かを表す書込み禁止エクステント有無情報を各記憶デバイス毎に記憶する第二の管理領域とを備える。前記第一の管理領域は、前記複数のエクステントを有する前記記憶デバイス内に存在し、前記第二の管理領域は、前記キャッシュメモリ領域と前記制御メモリ領域とのうちの少なくとも一方に存在する。この場合、データ処理システムは、書込み対象データと書込み要求とを送信する通信装置から前記書込み要求が受信する手段と、前記第二の管理領域にアクセスして、前記書込み要求に従う書込み先記憶デバイスに対応した書込み禁止エクステント有無情報を参照する手段と、前記参照により、前記書込み先記憶デバイスに前記書込み禁止エクステントが存在するか否かの判定を手段と、前記書込み先記憶デバイスに前記書込み禁止エクステントが存在すると判定された場合、前記書込み先記憶デバイスに設けられた前記第一の管理領域にアクセスする手段と、前記書込み先記憶デバイスに設けられた複数のエクステントのうちの書込み先エクステントに対応したアクセス制御属性を前記複数のアクセス制御属性の中から検索する手段と、検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行う手段と、その判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御する手段とを備える。
上記各手段は、ハードウェア、コンピュータプログラム又はそれらの組み合わせにより実現することができる。また、上記各手段は、ステップと読みかえられても良い。その場合には、データ処理方法を表すことができる。
通信装置は、通信機能を備えた装置であればどのような種類のものでも採用することができる。例えば、通信装置は、ホストコンピュータ、別のデータ処理システム(例えば、ストレージシステム)、後述する管理端末又は保守端末とすることができる。
また、記憶デバイスは、物理的な記憶デバイスであっても良いし、物理的な記憶デバイス上に設けられる論理的な記憶デバイスであっても良い。
また、少なくとも一つのコンピュータは、例えば、マイクロプロセッサであっても良いし、パーソナルコンピュータ或いはサーバ等のコンピュータマシンであっても良い。
本発明によれば、通信装置からのアクセス要求の処理に要する時間が長くなってしまうことを抑えることができる。
以下、本発明の一実施形態に係る幾つかの実施例について、図面を参照して説明する。
図1は、本発明の一実施形態の第一実施例に係るコンピュータシステムのハードウェア構成を示すブロック図である。
第一実施例に係るコンピュータシステムは、ホストコンピュータ(以下、「ホスト」と略記する)110と、ストレージシステム120と、管理端末130と、メールサーバ180とを備える。ホスト110、ストレージシステム120、管理端末130及びメールサーバ180は、LAN170等の第一の通信ネットワークに接続される。さらに、ホスト110、ストレージシステム120及びメールサーバ180は、ストレージエリアネットワーク(SAN)150等の第二の通信ネットワークに接続される。このコンピュータシステムには、複数のホスト110及び複数のストレージシステム120が含まれてもよい。図1には、一台のホスト100A、二台のストレージシステム120A及びストレージシステム120Bを代表的に例に採り示す。
ホスト110Aは、SAN150を介してストレージシステム120と通信しデータの転送を制御する入出力部(例えばインターフェース回路)113と、コンピュータプログラムやデータ等が格納されるメインメモリ112と、メインメモリ112に格納されたコンピュータプログラムを実行することによりホスト110Aの動作を制御するプロセッサ111とを備える。
ストレージシステム120Aも120Bも、実質的に同じ構成にすることができるので、120Aを代表的に例に採り説明する。ストレージシステム120Aは、例えば、一又は複数のディスクドライブ(例えばハードディスクドライブ)121を有するディスクアレイ装置とすることができる。ストレージシステム120Aは、ディスクドライブ121の他に、保守端末122とストレージ制御装置140とを備える。
保守端末122は、例えば、プロセッサやメモリを備えるコンピュータ装置(例えばノート型のパーソナルコンピュータ)であり、LAN170を介して管理端末130と通信することができる。保守端末122は、例えば、管理端末130又は保守端末122のオペレータからの指示に応答して、ストレージ制御装置140内の制御メモリに記録されている情報を更新したり、ディスクドライブ121に設けられた論理記憶デバイス内の情報を更新したりすることができる。
ストレージ制御装置140は、ストレージシステム120Aの動作を制御する装置である。ストレージ制御装置140は、SAN150を介してホスト110Aと通信してデータの転送を制御する入出力部(例えばインターフェース回路)141と、ホスト110Aとディスクドライブ121との間でやり取りされるデータを一時的に格納するキャッシュメモリ142とを備える。また、ストレージ制御装置140は、ディスクドライブ121と通信しデータの転送を制御する入出力部(例えばインターフェース回路)143と、コンピュータプログラム等の種々の情報が格納される制御メモリ145と、制御メモリ145に格納されたコンピュータプログラムを実行することによりストレージ制御装置140の動作を制御するプロセッサ144とを備える。
管理端末130は、LAN170を介してホスト110A、ストレージシステム120、メールサーバ180と通信し、これらを管理するコンピュータである。管理端末130のハードウェア構成は、ホスト110Aと同様であるため、図示及び説明を省略する。管理端末130は、保守端末122の入出力コンソールとして動作数することができる。すなわち、管理端末130と保守端末122とにより、ストレージシステム120の保守や管理を行うことができる。
メールサーバ180は、LAN170を介して接続された他のコンピュータ(図示省略)に電子メールサービスを提供するコンピュータである。メールサーバ180のハードウェア構成は、ホスト110Aと同様であるため、図示及び説明を省略する。メールサーバ180は、電子メールサービスを提供する際に、電子メールをストレージシステム120Bに格納する。そして、メールサーバ180は、所定のタイミングで(例えば、毎日所定の時刻に)、ストレージシステム120Bに格納された電子メールを、SAN150を介して読み出し、LAN170を介してホスト110Aに転送する。ホスト110Aは、例えば、いわゆるアーカイブサーバであり、メールサーバ180から転送された電子メールを、ストレージシステム120Aに格納する。
以上が、第一実施例に係るコンピュータシステムのハードウェア構成についての説明である。なお、メールサーバ180からホスト110Aへの電子メールの転送は、ホスト110Aからの要求によって実行されてもよいし、メールサーバ180からの要求によって実行されてもよい。
また、電子メールは、メールサーバ180又はホスト110Aからの指示によって、LAN170を経由せず、SAN150を経由して、ストレージシステム120Bからストレージシステム120Aに直接転送されてもよい。
また、所定のタイミングでホスト110AがSAN150を経由してストレージシステム120Bに格納されている電子メールを読み出して、読み出した電子メールデータをストレージシステム120Aに格納してもよい。
さらに、メールサーバ180は、ストレージシステム120Aを用いて電子メールサービスを提供し、ストレージシステム120Aに電子メールを格納してもよい。この場合、電子メールは、所定のタイミングで、メールサーバ180が使用するストレージシステム120A内のLDEVから、ホスト110Aが使用するストレージシステム120A内の他のLDEVにコピーされてもよい。このコピー処理は、メールサーバ180又はホスト110Aからの命令に基づいて、ストレージシステム120Aのストレージ制御装置140が実行してもよい。あるいは、ホスト110Aが、ストレージシステム120A内のLDEVから電子メールを読み出して、読み出した電子メールを、ホスト110Aが使用するストレージシステム120A内の他のLDEVに格納してもよい。
図2は、本発明の一実施形態の第一実施例に係るコンピュータシステムの機能ブロック図である。図2において、図1と共通する部分は、説明を省略する。
ホスト110Aのメインメモリ112には、複数のコンピュータプログラムを格納することができるが、それら複数のコンピュータプログラムに含まれるコンピュータプログラムとして、例えば、アプリケーション211と、ストレージシステム制御部212とがある。
アプリケーション211は、ホスト110Aをアーカイブサーバとして機能させるためのプログラムである。ホスト110Aは、その他の機能を実現するために、複数のアプリケーション211を有してもよい。
ストレージシステム制御部212は、例えば常駐型のコンピュータプログラムであり、ストレージシステム120Aへのデータの書き込み及びストレージシステム120Aからのデータの読み出しを制御する。ストレージシステム制御部212は、例えば、アプリケーション211からの指示に応答して、エクステント毎のアクセス制御属性の設定を行う機能をもっている。
管理端末130内の管理部131は、ホスト110A、ストレージシステム120及びメールサーバ180を管理するためのコンピュータプログラムである。管理部131は、例えば、ホスト110Aを管理する管理プログラム、ストレージシステム120を管理するための管理プログラム、及び、メールサーバ180を管理するための管理プログラム等の複数の管理プログラムによって構成されてもよい。あるいは、上記の各管理プログラムが異なる管理端末130に実装されてもよい。
ストレージシステム120A内のLDEV226は、論理ボリューム或いは論理ユニットと呼ばれることもあり、一又は複数のディスクドライブ121上に設けられた論理的な記憶デバイスである。一つのLDEV226は、一つのディスクドライブ121の一部の記憶領域であってもよいし、複数のディスクドライブ121の記憶領域によって構成されてもよい。ストレージシステム120Aには、任意の数のLDEV226を設定することができる。各LDEV226には、任意の数のエクステント(図3参照)を設定することができる。「エクステント」とは、LDEV226内に設定される記憶領域である。その記憶領域のサイズは、一つのLDEV226よりも小さければ、予め定められた固定サイズであっても良いし、ユーザ任意のサイズであってもよい。本実施例では、エクステント毎に、種々のアクセス制御属性を設定することができる。
ストレージシステム120Aの制御メモリ145には、複数のコンピュータプログラムを格納することができるが、それら複数のコンピュータプログラムに含まれるコンピュータプログラムとしては、例えば、アクセス制御部221と、エクステント管理部222とがある。
アクセス制御部221は、ホスト110Aからのアクセス要求(すなわち、データの書き込み要求又は読み出し要求)に従って、LDEV226にアクセスし、データの書き込み又は読み出しを実行する。アクセス先のエクステントに書き込み禁止等のアクセス制御属性が設定されている場合は、アクセス制御部221は、そのアクセス制御属性に従ってアクセスを制御する。
エクステント管理部222は、LDEV226内のエクステントを管理する。具体的には、例えば、エクステント管理部222は、エクステントの新規作成、エクステントの削除、及び、エクステントに対するアクセス制御属性の設定のうちの少なくとも一つを実行することができる。
LDEV群管理情報223は、ストレージシステム120Aに備えられる複数のLDEV226を管理するための情報であり、例えば、制御メモリ145に格納される。LDEV群管理情報223には、例えば、各LDEV226毎に、そのLDEV226を識別するためのLDEV番号(番号に限らず他種のIDであっても良い)と、そのLDEV225にボリューム管理領域(以下、「VMA」と言う)が存在するか否かを示す情報が含まれる。
以上が、本発明の一実施形態の第一実施例に係るコンピュータシステムの概要についての説明である。なお、上述の説明において、キャッシュメモリ142と制御メモリ145とは必ずしも物理的に別々のメモリである必要は無く、例えば、同一のメモリに、キャッシュメモリ142として扱われるメモリ領域と、制御メモリ145として扱われるメモリ領域とが用意されてもよい。
さて、以下、本実施例で行われるエクステントの管理や、アクセス制御について、詳細に説明する。
図3は、LDEV226の構成例を示す。なお、以下の説明では、複数の対象のうちのどの対象でも良い場合には、枝符号を付さずに親番号のみで表記する。例えば、複数のエクステント管理情報306A、306B、…のうちのどのエクステント管理情報でも良い場合には、「エクステント管理情報306」のように、枝符号「A」や「B」を付さずに表記する。
LDEV226の記憶領域は、ボリューム管理領域(VMA)301と、ユーザ領域302とに大別される。
VMA301は、そのVMA301を有するLDEV226を管理するための情報が格納される領域である。それに対し、ユーザ領域302は、ホスト110Aから書き込まれたり読み出されたりするデータ(換言すれば、ユーザが書き込み対象或いは読み出し対象とするデータ)が格納される領域である。ユーザ領域302には、複数のエクステント307A、307B、…が設定され、各エクステント307A、307B、…に、データが格納される。ユーザは、ユーザ領域302内の任意の領域を、エクステント307として設定することができる。さらに、ユーザは、各エクステント307に任意のアクセス制御属性を設定することができる。
VMA301には、LDEV共通情報303と、複数のエクステント307A、307B、…にそれぞれ対応した複数のエクステント管理情報306A、306B、…とが格納される。すなわち、例えば一つのエクステント307Aに対し、そのエクステント307Aに対応した例えば一つのエクステント管理情報306AがVMA301に格納される。VMA301では、例えば、LDEV共通情報303の方が、複数のエクステント管理情報306A、306B、…よりも、先頭側に位置する。換言すれば、例えば、LDEV共通情報303が格納される領域の方が、一又は複数のエクステント管理情報306A、306B、…が格納される領域よりも先頭側に位置する。
LDEV226内の各領域は、論理ブロック(図示省略)によって構成することができる。したがって、LDEV226内の各領域は、論理ブロックアドレス(LBA)によって定義することができる。LBAには、ホスト110Aによって認識される外部LBAと、ストレージシステム120によって認識される内部LBAとがある。VMA301を構成する論理ブロックには、内部LBAが付与されるが、外部LBAは付与されない。図3の例では、LDEV226がLBA「0」から「1000」までの論理ブロックによって構成され、そのうち、VMA301の論理ブロック数が100である。この場合、VMA301の論理ブロックには、「0」から「99」までの内部LBAが付与されるが、外部LBAは付与されない。一方、ユーザ領域302の先頭論理ブロックの内部LBAは「100」であり、外部LBAは「0」である。さらに、ユーザ領域302の末尾論理ブロックの内部LBAは「1000」であり、外部LBA
は「900」である。ユーザは、VMA301及びユーザ領域302を任意の大きさに設定することができる。また、ユーザは、VMA301を含まないLDEV226を設定することもできる。ただし、LDEV226にエクステント307を設定し、各エクステント307にアクセス制御属性を設定するためには、LDEV226にVMA301を設けるか、VMA301の代わりに、制御メモリ145にVMA301を含んだ情報を格納する必要がある。
以下、エクステント管理情報306及びLDEV共通情報303について説明する。なお、以下の説明では、VMA301に書かれる情報要素群を、便宜上、「管理情報群」と称する場合がある。
図4Aは、エクステント管理情報306の説明図である。
エクステント管理情報306は、そのエクステント管理情報に対応したエクステント307に関する種々の情報要素を含んでいる。具体的には、例えば、エクステント管理情報306は、エクステントID、アクセス制御属性情報、先頭外部LBA(LBAは、論理ブロックアドレスの略)、エクステント長、継続期間設定日時、継続期間及びエクステントポインタを含む。
「エクステントID」は、LDEV226内の複数のエクステント307のうちの一つを一意に識別するための識別子である。例えば、一つのLDEV226内に、最大65536個のエクステント307が存在する場合には、エクステントIDを2バイト(16ビット)以上にすると良いと考えられる。なぜなら、エクステント307が存在する最大の数と同じ65536通りのエクステントIDを用意することができるからである。
「アクセス制御属性情報」は、複数種類のアクセス制御属性のうちのいずれか一つのアクセス制御属性を表す。複数種類のアクセス制御属性としては、例えば、「リード/ライト可能」、「リードオンリー」、「ライトオンリー」及び「リード/ライト不可」の4種類がある。「リード/ライト可能」は、読み出しと書き込みの両方が許可されていることを意味する。「リードオンリー」は、データが一旦書かれた場合にそのデータを読み出すことは許可されているがそのデータを更新することは許可されていないことを意味する。「ライトオンリー」は、データを更新することは許可されているがそのデータを読み出すことは許可されていないことを意味する。「リード/ライト不可」は、データが一旦書かれた場合にはそのデータを読み出すことも更新することもできないことを意味する。
アクセス制御属性情報が表すアクセス制御属性は、複数種類のステータスフラグのオン及びオフによって表現される。複数種類のステータスフラグとしては、例えば、書込み禁止フラグと、読み出し禁止フラグとがある。書き込み禁止フラグが「有効」(例えば「1」)に設定された場合、エクステント307には書き込みが禁止という属性が設定されたことになり、その結果、当該エクステント307へのデータの書き込みが禁止される。同様に、読み出し禁止フラグが「有効」に設定された場合、エクステント307には読み出し禁止という属性が設定されたことになり、その結果、当該エクステント307からのデータの読み出しが禁止される。以上のことから、各種アクセス制御属性は、図4Bに示すように表現される。すなわち、アクセス制御属性が、「リード/ライト可能」の場合、書込み禁止フラグ「0」(無効)及び読み出し禁止フラグ「0」となり、「リードオンリー」の場合、書込み禁止フラグ「1」(有効)及び読み出し禁止フラグ「0」となり、「ライトオンリー」の場合、書込み禁止フラグ「0」及び読み出し禁止フラグ「1」となり、「リード/ライト不可」の場合、書込み禁止フラグ「1」及び読み出し禁止フラグ「1」となる。書き込み禁止フラグ及び読み出し禁止フラグは、ユーザが、ホスト110A、管理端末130、又は、保守端末122を操作して設定してもよい。あるいは、ホスト110A又はストレージシステム120Aが自動的にこれらのフラグを設定してもよい。
「先頭外部LBA」は、エクステント307の先頭論理ブロックの外部LBAである。
「エクステント長」は、エクステントの記憶サイズ(換言すれば記憶容量)である。
「継続期間設定日時」は、書き込み禁止フラグ及び読み出し禁止フラグのうちの少なくとも一方を「有効」に設定した時の日時である。
「継続期間」は、書き込み禁止フラグ及び読み出し禁止フラグの無効化が禁止される期間である。継続期間は、例えば、それらのフラグが「有効」に設定された時点で設定される。継続期間は、別の言い方をすれば、エクステント307に格納されたデータの保存期間と言うこともできる。例えば、ユーザが、あるエクステント307に対して、2004年10月1日0時0分に書き込み禁止フラグを「有効」に設定し、この書き込み禁止フラグの無効化が禁止される期間を「1年間」と設定する。このとき、当該エクステント307の継続期間設定日時には、書き込み禁止フラグを「有効」に設定した日時として、「2004年10月1日0時0分」が書き込まれる。さらに、継続期間には、書き込み禁止フラグの無効化が禁止される期間として、「1年間」が書き込まれる。この場合、当該エクステント307には、2005年10月1日0時0分まで書き込み禁止属性が設定される。すなわち、2005年10月1日0時0分までは、当該エクステント307にデータを書き込むことができない。
「エクステントポインタ」は、エクステント307を含む管理ブロックにそのエクステント307の次のエクステント307が含まれている場合に書かれる情報であり、具体的には、当該次のエクステント307のエクステントIDである。なお、管理ブロックについては、後で説明する。
以上が、エクステント管理情報に含まれる各種情報要素についての説明である。
LDEV共通情報303は、そのLDEV共通情報303が書かれたLDEV226を管理するための情報であり、その情報にも、複数の情報要素が含まれる。例えば、LDEV共通情報303は、トータル容量(VMA301とユーザ領域302とを含んだLDEV226それ自体の記憶容量)、VMAタイプ(VMA301の用途を表す情報)及びVMA容量(VMA301の記憶容量)のうちの少なくとも一種類の情報要素を含んでもよい。また、LDEV共通情報303は、その情報要素に代えて又は加えて、以下の種類の情報を含むことができる。
図5は、LDEV共通情報303に含まれる情報要素の種類の一例を示す。
LDEV共通情報303には、例えば、VMA識別子、エクステント有無、ライト禁止エクステント有無、エクステントIDビットマップ、管理ブロック情報ビットマップ、及びエクステントポインタが含まれる。
「エクステント有無」は、LDEV226が一つ以上のエクステント307を含むか否かを示す情報である。
「書込み禁止エクステント有無」は、書込みの禁止に関するアクセス制御属性が設定されたエクステントが一つでもLDEV226に存在するか否かを表す情報である。
「読出し禁止エクステント有無」は、読出しの禁止に関するアクセス制御属性が設定されたエクステントが一つでもLDEV226に存在するか否かを表す情報である。
「エクステントIDビットマップ」は、LDEV226内に存在するエクステント307によって使用されているエクステントIDを示すビットマップである。具体的には、例えば、エクステントIDが2バイト(16ビット)である場合、LDEV226内に65536通りのエクステントIDが存在し得る。この場合、エクステントIDビットマップは、65536ビットの領域を有し、各ビットが、存在し得るエクステントIDと対応する。これらのビットは、対応するエクステントIDがLDEV226内に実際に存在するか否かを示すフラグである。
「管理ブロック情報ビットマップ」は、LDEV226内に設けられた管理ブロック(後述の図6A乃至図6B参照)の状態を示すビットマップである。具体的には、例えば、管理ブロック情報ビットマップは、各管理ブロック801がエクステント307を含むか否か、各管理ブロックがエクステント307の端点(始点又は終点)を含むか否か、各管理ブロックが書き込み禁止領域を含むか否か、及び、各管理ブロックが読み出し禁止領域を含むか否かを示すステータスフラグを含む。
ここで、書き込み禁止領域とは、書き込み禁止属性が設定されたエクステント307であり、読み出し禁止領域とは、読み出し禁止属性が設定されたエクステント307である。
管理ブロックがエクステント307を含む場合、当該管理ブロックがエクステント307を含むか否かを示すフラグの値は「有効」(例えば、「1」)に設定される。
また、管理ブロックがエクステント307の端点を含むとき、当該管理ブロックがエクステント307を含むか否かを示すフラグの値は「有効」に設定される。すなわち、このフラグの値が「有効」のとき、当該管理ブロック801には、エクステント307の始点及び終点のうち少なくとも一方が含まれる。
管理ブロック801に含まれる少なくとも一つのエクステント307に書き込み禁止属性が設定されている場合、当該管理ブロック801が書き込み禁止領域を含むか否かを示すフラグの値は「有効」に設定される。
管理ブロック801に含まれる少なくとも一つのエクステント307に読み出し禁止属性が設定されている場合、当該管理ブロック801が読み出し禁止領域を含むか否かを示すフラグの値は「有効」に設定される。
エクステントポインタ504は、各管理ブロック内の先頭エクステント307へのポインタである。具体的には、管理ブロック内に一つのエクステント307が存在する場合、そのエクステント307のエクステントIDであり、管理ブロック内に複数のエクステント307が存在する場合、先頭のエクステント307のエクステントIDである。
図6A及び図6Bは、管理ブロックの説明図である。具体的には、図6Aは、一つのエクステント307Cが複数の管理ブロック801に跨る場合の一例を示す。図6Bは、一つのエクステント307Dが一つの管理ブロック801に含まれる場合を示す。
LDEV226の全体は、所定の大きさ(例えば32メガバイト)の管理ブロック801に分割される。それに対し、エクステント307の位置及び大きさは、予め定められていても良いが、ユーザが任意に定めることができる。
図6Aの例では、エクステント307Cは、管理ブロック801Aの途中に始点があり、管理ブロック801B及び801Cの全体を占め、管理ブロック801Dの途中に終点がある。以下、エクステント307Cの端点(始点)を含む管理ブロック(例えば801A)を、「端点管理ブロック」と呼ぶことがある。また、エクステント307Cの中間部分に相当する管理ブロック(例えば801B及び801C)を、「中間管理ブロック」と呼ぶことがある。また、エクステント307Cの端点(終点)を含む管理ブロック(例えば801D)を、「端点管理ブロック」と呼ぶことがある。
一方、図6Bの例では、エクステント307Dは、管理ブロック801Fに含まれる。すなわち、管理ブロック801Fは、エクステント307Dの端点(始点及び終点)を含む。このため、このような管理ブロック(例えば801F)を、端点管理ブロックと呼ぶことにする。
図6Aにおいて、管理ブロック801B及び801Cは、全体にエクステント307Cが設定されている。このため、管理ブロック801B及び801Cには、新たなエクステント307を作成することができない。さらに、エクステント307Cに書き込み禁止属性が設定されている場合、管理ブロック801B及び801Cには、データを書き込むことができない。
一方、図6Bにおいて、管理ブロック801E、801G及び801Hには、エクステント307が設定されていない。このため、管理ブロック801E、801G及び801Hには、新たなエクステントを作成することができる。また、データを書き込み又は読み出すこともできる。
このように、中間管理ブロック801B及び801C、並びに、エクステント307を含まない管理ブロック801E、801G及び801Hについては、管理ブロック801ごとに、新たなエクステントの作成、データの書き込み又は読み出し等の処理の可否を判定することができる。その結果、これらの処理の可否の判定が簡略化される。
一方、中間管理ブロック801B、801C及び801Fについては、これらの処理の可否を詳細に判定する必要がある。
このような管理ブロック801を用いた処理の可否の判定について、図6Cを参照して詳細に説明する。
図6Cは、管理ブロック801のステータスフラグと、処理の可否の判定との関係の説明図である。
図6Cにおいて、ステータスフラグ901は、ボリューム内エクステント管理情報305の管理ブロック情報ビットマップ503の内容である。具体的には、ステータスフラグ901は、管理ブロック801がエクステント307を含むか否かを示すフラグ(903)、管理ブロック801がエクステント307の端点を含むか否かを示すフラグ(904)、管理ブロック801が書き込み禁止領域を含むか否かを示すフラグ(905)、及び、管理ブロック801が読み出し禁止領域を含むか否かを示すフラグ(906)を含む。
管理ブロック801がエクステント307を含むか否かを示すフラグ(903)の値が「1」であるとき、その管理ブロック801は、エクステント307を含む。他のフラグも同様の意味を有する。
図6Cは、これら四つのフラグの値の全ての組み合わせを示す。ただし、エクステント307を含まない管理ブロック801は、エクステント307の端点、書き込み禁止領域及び読み出し禁止領域のいずれも含まないため、行926〜行928及び行933〜行936の組み合わせは、存在しない。
処理可否判定902は、管理ブロック801に対して処理を実行してよいか否かの判定である。判定される処理は、エクステント307の新規作成(907)、データの書き込み(910)及びデータの読み出し(911)である。エクステント307の新規作成(907)については、さらに、判定の対象の管理ブロック801が、新規作成されるエクステント307(以下、「新規エクステント307」と記載する)の端点管理ブロックに該当する場合(908)と、新規エクステント307の中間管理ブロックに該当する場合(909)とがある。
管理ブロック801がエクステント307を含まない場合、全ての処理は、「可(OK)」と判定される(925)。
管理ブロック801がエクステント307を含み(903)、当該管理ブロック801が、新規エクステント307の中間管理ブロックに該当するとき(909)、当該新規エクステント307の新規作成は「不可(NG)」と判定される(t〜924、929〜932)。
管理ブロック801がエクステント307を含むが(903)、当該エクステント307の端点を含まない場合(904)、当該管理ブロック801は、当該エクステント307の中間管理ブロックである。当該管理ブロック801が、新規エクステント307の端点管理ブロックに該当するとき(908)、当該新規エクステント307の新規作成は「不可」と判定される(921、924、929、932)。
管理ブロック801がエクステント307を含み(903)、さらに、当該エクステント307の端点も含む場合(904)、当該管理ブロック801は、当該エクステント307の端点管理ブロックである。当該管理ブロック801が、新規エクステント307の端点管理ブロックに該当するときは(908)、当該新規エクステント307を新規作成することができる場合とできない場合とがある。このため、詳細判定が必要であると判定される(922、923、930、931)。
具体的には、当該管理ブロック801内で当該エクステント307と当該新規エクステント307とが重複する場合は、当該新規エクステント307を新規作成することができない。一方、当該管理ブロック801内で当該エクステント307と当該新規エクステント307とが重複しない場合は、当該新規エクステント307を新規作成することができる。
同様にして、管理ブロック801が書き込み禁止領域を含まない場合(905)、当該管理ブロック801へのデータの書き込みは「可」と判定される(921、922、929、930)。管理ブロック801が書き込み禁止領域を含み(905)、エクステント307の端点を含まない場合(904)、当該管理ブロック801へのデータの書き込みは「不可」と判定される(924、932)。管理ブロック801が書き込み禁止領域を含み(905)、さらに、エクステント307の端点も含む場合(904)、当該管理ブロック801にデータを書き込むことができる場合とできない場合とがある。具体的には、データが書き込まれる位置が、書き込み禁止領域内であるとき、当該データを書き込むことができない。このため、詳細判定が必要であると判定される(923、931)。
管理ブロック801が読み出し禁止領域を含まない場合(906)、当該管理ブロック801からのデータの読み出しは「可」と判定される(921〜924)。管理ブロック801が読み出し禁止領域を含み(909)、エクステント307の端点を含まない場合(904)、当該管理ブロック801からのデータの読み出しは「不可」と判定される(929、932)。管理ブロック801が読み出し禁止領域を含み(906)、さらに、エクステント307の端点も含む場合(904)、当該管理ブロック801からデータを読み出すことができる場合とできない場合とがある。具体的には、読み出されるデータが、読み出し禁止領域内にあるとき、当該データを読み出すことができない。このため、詳細判定が必要であると判定される(930、931)。
以上のような管理ブロック801を用いた処理可否判定の具体例を、図6A乃至図6Cを参照して説明する。
図6Aにおいて、エクステント307Cに書き込み禁止属性が設定され、読み出し禁止属性が設定されていない場合、管理ブロック801Aは、エクステント307Cを含み、エクステント307Cの端点を含み、書き込み禁止領域を含み、読み出し禁止領域を含まない。すなわち、管理ブロック801Aのステータスフラグ901は、図6Cの行923に相当する。
管理ブロック801Aにエクステント307を新規作成する場合、新規エクステント307の端点が管理ブロック801に含まれるときは、エクステント307Cと当該新規エクステント307とが重複するときと重複しないときとがある。したがって、詳細な判定が必要になる(908)。エクステント307Cと当該新規エクステント307とが重複しないとき、当該新規エクステント307を新規作成することができる。
新規エクステント307の端点が管理ブロック801に含まれるときは、エクステント307Cと当該新規エクステント307とが必ず重複する。このため、当該新規エクステント307を新規作成することができない(909)。
管理ブロック801Aにデータを書き込む場合、データが書き込まれる位置がエクステント307Cの外側であれば、当該データを書き込むことができる。しかし、データが書き込まれる位置がエクステント307Cの内側であれば、当該データを書き込むことができない。このため、データが書き込まれる位置がエクステント307Cの外側であるか内側であるかを詳細に判定する必要がある(910)。
管理ブロック801Aには、読み出し禁止領域が含まれない。このため、管理ブロック801A内の全てのデータを読み出すことができる(911)。
以上が、本実施例で行われるエクステントの管理や、アクセス制御についての説明である。本実施例(及び/又は後述の他の実施例)では、特願2004−313874(本出願時点では未公開)に開示の技術を援用することができる。
さて、以下、本実施例についてより詳細に説明していく。
図7Aは、ホスト110Aから書き込み要求を受けた場合に行われる書込み要求処理の流れを示す。
プロセッサ144は、ホスト110Aから入出力部141を介して書き込み要求(例えばSCSIプロトコルに基づくライトコマンド)と書込み対象データとを受けた場合、キャッシュメモリ142にキャッシュセグメント(別の言い方をすればキャッシュ領域)を確保し、少なくとも書込み対象データを、確保されたキャッシュセグメントに格納する。
プロセッサ144は、書き込み要求が書き込み先とする領域を持ったLDEV(以下、書込みターゲットLDEV)226にVMA301が存在するか否かの判定を行う(ステップS11)。例えば、プロセッサ144は、書込みターゲットLDEV226のVMA301にLDEV共通情報303(又はエクステント管理情報306)の全部又は一部(例えば所定の情報要素)が存在するか否かをチェックすることにより、S11の判定を行うことができる。また、その際、プロセッサ144は、参照対象、すなわち、そのLDEV共通情報303(又はエクステント管理情報306)の全部又は所定の一部(例えばVMA識別子)がキャッシュメモリ142に存在する場合には、キャッシュメモリ142にアクセスしてその参照対象を参照し、参照対象がキャッシュメモリ142に存在しない場合には、書込みターゲットLDEV226からキャッシュメモリ142に参照対象を読み出し、その後、キャッシュメモリ142にアクセスしてその参照対象を参照することができる。参照対象を参照できた場合に、VMA301が存在するとの判定結果を得ることができる。
書込みターゲットLDEV226にVMA301が存在するとの判定結果が得られた場合(S11でYes)、プロセッサ144は、書込み禁止が設定されたエクステントが書込みターゲットLDEV226に存在するか否かの判定を行う(S12)。プロセッサ144は、例えば、LDEV共通情報303中の情報要素「書込み禁止エクステント有無」を参照し、書込みの禁止に関するアクセス制御属性が設定されたエクステントが一つでもLDEV226に存在することが記述されているか否かをチェックすることにより、S12の判定を行うことができる。また、その際、プロセッサ144は、情報要素「書込み禁止エクステント有無」がキャッシュメモリ142に存在すればそれを参照し、存在しなければ、LDEV226からキャッシュメモリ142に少なくとも情報要素「書込み禁止エクステント有無」を読出し、読み出されたその情報要素を参照してもよい。情報要素「書込み禁止エクステント有無」から、書込み禁止が設定されたエクステントが存在しないことが特定された場合に、書込み禁止が設定されたエクステントが書込みターゲットLDEV226に存在しないとの判定結果を得ることができる。
書込み禁止が設定されたエクステントが書込みターゲットLDEV226に存在しないとの判定結果が得られた場合(S22でYes)、プロセッサ144は、書込み要求に従う書込み先領域を含んだエクステント(以下、書込み先エクステント)に対応するエクステント管理情報306をVMA301から検索する(S13)。検索ヒットした場合、例えば、プロセッサ144は、検索ヒットしたそのエクステント管理情報306をVMA301から読み出しキャッシュメモリ142に書く。
プロセッサ144は、そのエクステント管理情報306中の所定の情報要素「アクセス制御属性情報」を参照し、その情報要素が書込み禁止を表しているか否か(換言すれば、書込み禁止フラグが有効になっているか否か)をチェックすることにより、書込み先エクステントに書込み禁止が設定されているか否かの判定を行う(S14)。情報要素「アクセス制御属性情報」が書込み禁止を表していないこと(換言すれば、書き込みを許可していること)が特定された場合に、書込み先エクステントに書込み禁止が設定されていないとの判定結果を得ることができる。
書込み先エクステントに書込み禁止が設定されていないとの判定結果が得られた場合(S24でYes)、プロセッサ144は、書込み処理を実行する(S15)。具体的には、例えば、プロセッサ144は、上記確保されたキャッシュセグメントから書込み対象データを読み出し、読み出された書込み対象データを、入出力部143を介して、書込み先エクステントに書き込む。
以上が、書込み要求処理の流れである。
この説明によれば、各LDEV226への書込み要求を受ける都度に、VMA301へのアクセス、換言すればディスクドライブ121へのアクセスが行われる。その際、参照対象がVMA301ではなくキャッシュメモリ142に読み出されている場合には、キャッシュメモリ142へのアクセスが行われる。また、書込み要求に従う書込み先エクステントにデータを書き込んでも良いか否かを判定するために、VMAの中から書き込み先エクステントに対応したエクステント管理情報を検索し、且つ、検索されたエクステント管理情報から書込み先エクステントのアクセス制御属性が何であるかが判断されなければならない。
このように、書込み要求を受けてからエクステントに書込み対象データが書かれる前に、ディスクドライブ121へのアクセス及び/又はキャッシュメモリ142へのアクセスが複数回行われるので、この書込み要求処理にかかる時間は、書込み要求で指定された領域に書込み対象データを単純に書き込む場合に比べて長くなる。
この問題点は、格別の工夫が無ければ、読出し要求に応答して行われる読出し要求処理についても同様に存在する。
しかし、本実施例では、以下の工夫により、読出し要求処理に要する時間の短縮が図られる。
その工夫とは、図8に例示するように、読出し禁止を表すアクセス制御属性(例えば「リード/ライト不可」)が、どのエクステントにも設定されないようになっていることにある。これにより、読出し要求を受けた場合、プロセッサ144は、読出し要求に従う読出し対象データが書かれたエクステント(以下、読出し元エクステント)に読出し禁止の制限がかけられているか否かを判定する必要なく、読出し元エクステントから読出し対象データを読み出すことができる。なぜなら、本実施例では、読出し禁止を表すアクセス制御属性がどのエクステントにも設定されていないので、どのエクステントからもデータの読出しは可能であるからである。
この実施例では、具体的には、例えば、以下の流れで読み出し要求処理が行われる。
図7Bは、ホスト110Aから読み出し要求を受けた場合に行なわれる読出し要求処理の流れを示す。
プロセッサ144は、ホスト110Aから入出力部141を介して読み出し要求(例えばSCSIプロトコルに基づくリードコマンド)を受けた場合、キャッシュメモリ142にキャッシュセグメント(別の言い方をすればキャッシュ領域)を確保する。
プロセッサ144は、読出し元エクステントを持ったLDEV(以下、読み出し元LDEV)226にVMA301が存在するか否かの判定を行う(S1)。このS1の判定は、S11の判定と同じ方法で行うことができる。
読み出し元LDEV226にVMA301が存在するとの判定結果が得られた場合(S1でYes)、プロセッサ144は、読出し処理を実行する(S5)。具体的には、例えば、プロセッサ144は、読出し元エクステントから入出力部143を介して読出し対象データを読出し、読み出された読出し対象データを上記確保されたキャッシュセグメントに書き、且つ、キャッシュセグメントに書かれた読出し対象データを読出し、読み出された読出し対象データを、入出力部141を介してホスト110Aに送信する。
以上のように、この実施例では、読出し禁止がどのエクステントにも設定されていないので、読み出し要求処理では、読出し元エクステントのアクセス制御属性を全く確認することなく、読出し元エクステントから読出し対象データを読み出すことができる。このため、読み出し要求処理では、読出し禁止を表すアクセス制御属性(例えばリード/ライト不可)が設定されている可能性がある場合には行う必要のあるS2乃至S4の処理(図7Bに点線で示した処理)、すなわち、エクステント管理情報の検索やアクセス制御属性の参照などの処理(図7AのS12乃至S14と同様の処理)を行う必要が無い。故に、読出し要求処理は、少なくとも上記の書込み要求処理よりも短い時間で行うことができる。
なお、読出し禁止を表すアクセス制御属性が、どのエクステントにも設定されないようにする方法としては、幾つかの方法が考えられる。
例えば、上述した4種類のアクセス制御属性「リード/ライト可能」、「リードオンリー」、「ライトオンリー」及び「リード/ライト不可」のうち、読出し禁止を表すアクセス制御属性「リード/ライト不可」が選択肢としてサポートしない方法(つまり、読出し禁止を表すアクセス制御属性を予め用意しておかない方法)がある。
また、別法として、例えば、各LDEV毎に、そのLDEVに格納するデータの種類を設定し(別の言い方をすれば、LDEVの種類を設定し)、LDEVに格納されるデータの種類が所定種類とは別の種類の場合には、そのLDEV内のエクステントに、読出し禁止を表すアクセス制御属性を設定することを許可するが、LDEVに格納されるデータの種類が所定種類(例えば、デジタルアーカイブ)の場合には、そのLDEV内のどのエクステントにも、読出し禁止を表すアクセス制御属性を設定しないようにする方法が考えられる。この方法は、例えば、エクステント307の設定やLDEV共通情報303の設定をユーザから受付けるコンピュータプログラム(例えば、ホスト110A、管理端末130又は保守端末122にインストールされるプログラム)が、実行することができる。そのコンピュータプログラムは、例えば、ストレージシステム120Aに入力された情報(例えば、ユーザから入力されたLDEV種類、又は、LDEV226に格納されたデータファイルの属性(例えば識別子))から、そのLDEV226に格納されるデータ種類が所定種類であるか否かを判断し、所定種類であると判断した場合には、そのLDEV226内のエクステント307に設定可能なアクセス制御属性として、読出し禁止を表すアクセス制御属性を選択可能に受付けない(例えば、ディスプレイ画面に表示しない)。
以上が、書込み要求処理及び読出し要求処理についての説明である。
ところで、上述した書込み要求処理及び読出し要求処理において、プロセッサ144は、アクセス先のLBAの調整を行うことができる。例えば、プロセッサ144は、ホスト110Aからのアクセス要求(書込み要求又は読出し要求)に従うアクセス先が外部LBA#m(例えばm=0)の場合には、VMA301の記憶容量に基づくオフセット分#k(例えばk=100)を加算した内部LBA#m+k(例えばm+k=100)をアクセス先とすることができる。
また、上述した書込み要求処理及び読出し要求処理において、プロセッサ144は、VMA301に書かれる情報を参照する方法として、複数のパターン、例えば以下の3つのパターンの少なくとも一つを実行することができる。
(A)第一の情報参照パターン。
第一の情報参照パターンは、プロセッサ144が、アクセス要求を受ける都度に、LDEV226のVMA301から情報を読出し、読み出しされた情報をキャッシュメモリ142に格納するパターンである。なお、読み出す情報は、VMA301に書かれた情報全てであっても良いし、ステップの実行で参照される情報(例えばS12では、書込み先LDEVのLDEV共通情報303中の情報要素「ライト禁止エクステント」のみ)であっても良い。
(B)第二の情報参照パターン。
第二の情報参照パターンは、アクセス要求を受ける前に予め、VMA301に書かれる情報中の少なくとも所定種類の情報を、キャッシュメモリ142に格納しておくパターンである。格納しておく情報は、VMA301に書かれた情報全てであっても良いが、書込み要求処理のS11及びS12の判定に必要な情報が好ましい。この「必要な情報」としては、例えば、図9に例示するように、各LDEV毎に、LDEV番号と、VMA有無(例えば、「有」ならVMA識別子が書かれる)と、書込み禁止エクステント有無とが対応付けられた情報である。この場合、例えば、プロセッサ144は、ホスト110Aから書込み要求を受けた場合、キャッシュメモリ142にアクセスして、書込み要求に従うLDEV番号に対応する情報要素「VMA有無」を参照してVMA301の有無を判定し(S11)、VMA301が有ると判定された場合には、そのLDEV番号に対応する情報要素「書込み禁止エクステント有無」を参照して、書込み禁止が設定されたエクステントの有無を判定する(S12)。また、例えば、プロセッサ144は、ホスト110Aから読出し要求を受けた場合、キャッシュメモリ142にアクセスして、読出し要求に従うLDEV番号に対応する情報要素「VMA有無」を参照してVMA301の有無を判定し(S1)、VMA301が有ると判定された場合には、読出し処理を実行する(S5)。
なお、キャッシュメモリ142には、図9に記載の情報要素「書込み禁止エクステント有無」に代えて又は加えて、「エクステント有無」も格納されていてもよい。この場合、プロセッサ144は、VMAが有ると判定された後に、情報要素「エクステント有無」を参照することにより、エクステントが有ると判定された場合には、更に先のステップを実行し(例えばS12の判定を実行し)、一方、エクステントが無いと判定された場合には、ユーザ領域301にデータを書き込む処理、ユーザ領域301からデータを読み出す処理、又はアクセスできないことを表す所定のエラー処理(例えば、エクステントを設定することをユーザに指示する処理)を行っても良い。
また、図9では、さらに、情報要素「読出し禁止エクステント有無」が書かれていても良い。これにより、読出し禁止を意味するアクセス制御属性がエクステントに設定される場合に、読出し要求処理の短縮化に貢献することができる。
(C)第三の情報参照パターン。
第三の情報参照パターンは、アクセス要求を受ける前に予め、VMA301に書かれる複数種類の情報中の少なくとも所定種類の情報を、キャッシュメモリ142に格納しておくが、それら複数種類の情報のうちのどれが優先度の高い情報であるかを判定し、優先度の高い種類の情報を、キャッシュメモリ142に残し、優先度の低い種類の情報はキャッシュメモリ142から破棄するパターンである。
VMA301に書かれる管理情報群は、例えば、管理端末130又はホスト110Aから、キャッシュメモリ142に確保された一又は複数のキャッシュセグメントを介して、ディスクドライブ121に格納される。そこで、第三の情報参照パターンが採用された場合には、例えば、プロセッサ144が、ディスクドライブ121への書き込みが済んだデータを有する各キャッシュセグメント毎に、そのキャッシュセグメントを破棄しても良いか否かの判定処理(以下、「キャッシュフリー化判定処理」と言う)を行い、優先度の高い種類の情報のみを、そのままキャッシュメモリ142に残すようにする。
図10は、キャッシュフリー化判定処理の流れの一例を示す。
プロセッサ144は、キャッシュフリー化判定処理の対象となるキャッシュセグメント(以下、当該キャッシュセグメント)が、キャッシュフリー化判定処理済みか否かを判定する(S21)。プロセッサ144は、例えば、各キャッシュセグメント毎のIDとキャッシュフリーか判定処理済みか否かを示す情報とを含んだキャッシュ管理情報を制御メモリ145に記録しておき、そのキャッシュ管理情報を参照することで、当該キャッシュセグメントがキャッシュフリー化判定処理済みか否かを判定することができる。
S21において、当該キャッシュセグメントはキャッシュフリー化判定処理済みではないと判定された場合(S21でNo)、プロセッサ144は、当該キャッシュセグメントに格納されているデータが、VMA301に書かれたデータであるか否かを判定する(S22)。プロセッサ144は、例えば、VMA301の領域に関する情報(例えばLBA)とキャッシュセグメントのIDとの対応関係を表す情報を制御メモリ145に書き込んでおき、その情報を参照することで、当該キャッシュセグメントに格納されているデータがVMA301に既に書かれたデータであるか否かを判定することができる。
S22において、当該キャッシュセグメントに格納されているデータがVMA301に書かれたデータではない(例えば、VMA301はなくユーザ領域302に書かれた又はVMA301を持たないLDEV226に書かれた)と判定された場合(S22でNo)、プロセッサ144は、当該キャッシュセグメントの確保を解除する(S24)。これにより、当該キャッシュセグメント内のデータは破棄される。
当該キャッシュセグメントに格納されているデータがVMA301に書かれたデータであると判定された場合(S22Yes)、プロセッサ144は、当該キャッシュセグメントに書かれているデータは優先度が所定の優先度よりも高いか否かを判定する(S23)。S23において、優先度が低いと判定された場合には(S23でNo)、プロセッサ144は、S24の処理を行うが、優先度が高いと判定された場合には(S23でYes)、S24の処理を行わない。
ここで、「優先度が高い種類の情報」とは、書込み要求処理又は読出し要求処理において参照される回数(例えば頻度)が多い情報であり、「優先度が低い種類の情報」とは、「優先度の高い種類の情報」よりも上記回数が少ない情報である。「優先度が高い種類の情報」の具体例としては、例えば、書込み要求処理のS11及びS12で参照される情報とすることができるが、それに代えて又は加えて、管理ブロック情報1、及び/又は、LDEVアクセス頻度情報2とすることもできる。
管理ブロック情報1とは、各管理ブロック801毎に書込み禁止の有無(又は、それに加えて、読み出し禁止の有無)を表した情報であり、具体的には、例えば、LDEV共通情報303中の情報要素「管理ブロック情報ビットマップ」の全部又は一部の情報である。管理ブロック情報1が、「優先度が高い種類の情報」として採用できる理由としては、或る管理ブロック801に読出し禁止も書込み禁止も設定されていないことが特定された場合には、その或る管理ブロック801にアクセスするのに、わざわざアクセス制御属性を参照する必要がなくなるということが挙げられる。プロセッサ144は、例えば、S23の判定処理において、当該キャッシュセグメントに格納されているデータが、管理ブロック情報1の全部又は一部であることを特定した場合には(例えば、VMA301の管理ブロック情報1が書かれるための領域に書かれたデータであることを特定した場合には)、当該キャッシュセグメントに書かれているデータを破棄せずに残す。
LDEVアクセス頻度情報2とは、各LDEV226毎のアクセス頻度を表す情報である。このLDEVアクセス頻度情報2は、例えば制御メモリ145に記憶される。プロセッサ144は、各LDEV226にアクセスする都度に、そのLDEV226に対応するアクセス頻度を更新する。そして、プロセッサ144は、S23の判定処理において、当該キャッシュセグメントが、アクセス頻度が所定頻度よりも少ないLDEV226のVMA301に書かれたデータを有することを特定した場合には、そのデータを破棄し(S24)、一方、アクセス頻度が所定頻度以上であるLDEV226のVMA301に書かれたデータを有することを特定した場合には、当該キャッシュセグメント内のデータを破棄せずに残すようにする。この判定は、定期的に行っても良い。また、一旦破棄されても、アクセス頻度が所定回数以上になったことを検出した場合には、プロセッサ144は、そのLDEV226のVMA301から「優先度の高い種類の情報」を読み出してキャッシュメモリ142に格納し、その格納した情報を、再びアクセス頻度が所定回数よりも少なくなるまで、キャッシュメモリ142に残しておいても良い。
以上が、VMA301に書かれる情報を参照する3つのパターンである。
VMA301は、前述したとおり、LDEV226に用意される。従って、VMA301に書かれる管理情報群の更新が行われる場合には、キャッシュメモリ142を介して、ユーザが操作する管理端末130、保守端末122又はホスト110Aとディスクドライブ121との間でデータのやり取りが行われる。VMA301内の管理情報群の更新方法としては、例えば、後述するように、更新ステータスと更新番号とを用いた方法を採用することができる。
この方法が採用された場合、以下に説明するVMA更新管理情報が、所定の記憶域、例えば制御メモリ145に格納される。
図11は、VMA更新管理情報の構成例を示す。
VMA更新管理情報3は、各LDEV226におけるVMA301の更新を管理するための情報である。VMA更新管理情報3は、例えば、各LDEV226毎に、LDEV番号と、ロック情報と、更新ステータスと、VMA更新番号とを含む。ロック情報とは、ロックがかかっているか否かを表す情報である。
以下、上述のVMA更新管理情報3を用いたVMA更新処理とVMA参照処理とについて説明する。
図12は、VMA更新処理の流れの一例を示す。
プロセッサ144は、或るLDEV226のVMA301の更新の要求を受けた場合、そのLDEV226にロックをかける(S31)。これにより、例えば、ストレージシステム120Aに複数のプロセッサが搭載されている場合には、ロックをかけたプロセッサ144以外のプロセッサによって、上記或るLDEV226内の情報が更新されてしまうことを防ぐ排他処理を行うことができる。なお、このS31では、例えば、プロセッサ144が、VMA更新管理情報3にアクセスし、そのLDEV226のLDEV番号に対応したロック情報を「ロック無」から「ロック有」に変更することによって、そのLDEV226にロックをかけることができる。ロックをかけることができなかった場合(S31でNo)、異常終了(例えばタイムアウト)(S32でYes)にならない限り、プロセッサ144は、S31の処理を試みる。
ロックをかけられたならば(S31でYes)、プロセッサ144は、ロックがかかったLDEV226のVMA301から少なくとも更新対象(例えば、管理情報群の全て又はLDEV共通情報303)を読み出す(S33)。更新対象を読み出すことができなかった場合(S35でNo)、異常終了(S34でYes)にならない限り、プロセッサ144は、S33の処理を試みる。
更新対象が読み出された場合(S35でYes)、プロセッサ144によって、更新要求元(管理端末130、保守端末122又はホスト110A)に更新対象が送信され、その更新要求元において、その更新対象が編集される(S36)。S36では、例えば、プロセッサ144は、読み出された更新対象をキャッシュメモリ142で保持し、更新要求元からの情報(ユーザの操作結果)に応答して、キャッシュメモリ142上の更新対象を編集しても良い。
プロセッサ144は、更新対象が読み出された場合、VMA更新管理情報3にアクセスし、その更新対象を記憶していたLDEV226の更新ステータスを、「更新無し」から「更新中」に変更する(S37)。
プロセッサ144は、更新ステータスの変更後、編集後の更新対象を、VMA301に書き込む(S38)。このS38では、例えば、プロセッサ144は、編集後の更新対象を編集前の更新対象に上書きする。編集後の更新対象を書き込むことができなかった場合(S39でNo)、異常終了(S40でYes)にならない限り、プロセッサ144は、S38の処理を試みる。
編集後の更新対象が書き込まれた場合(S39でYes)、プロセッサ144は、VMA更新管理情報3にアクセスし、その更新対象が書かれたLDEV226の更新番号を1つインクリメントし(S41)、且つ、そのLDEV226の更新ステータスを、「更新中」から「更新無し」に変更する(S42)。そして、プロセッサ144は、そのLDEV226のロックを解除する(例えば、そのLDEV226のロック情報を「ロック有」から「ロック無」に変更する)(S43)。
図13は、図12のVMA更新処理が行われる場合のVMA参照処理の流れの一例を示す。
プロセッサ144は、或るLDEV226のVMA301の読出し要求を受けた場合、そのLDEV226に対応した更新番号をVMA更新管理情報3から取得し(S51)、且つ、そのLDEV226に対応した更新ステータス情報を参照する(S52)。
更新ステータスが「更新中」であれば(S53でNo)、異常終了(S54でYes)しない限り、S53でYesになるまで、S51〜S53が繰り返される。
更新ステータスが「更新無」であれば、すなわち、更新中ではないことが検出されれば(S53でYes)、プロセッサ144は、VMA301に存在する読出し要求された情報(例えば、編集後の更新情報)を読み出す(S55)。要求された情報を読み出すことができなかった場合(S56でNo)、異常終了(S57でYes)にならない限り、プロセッサ144は、S55の処理を試みる。
VMA301から情報が読み出された場合(S56でYes)、プロセッサ144は、S51及びS52と同じ処理を行う(S58及びS59)。プロセッサ144は、情報を読み出す前と後の両方で取得された2つの更新番号(つまりS51とS58で取得された2つの更新番号)が互いに同じ番号であり、且つ、情報を読み出す前と後の両方で参照された更新ステータス(つまりS52とS59で取得された更新ステータス)が両方とも「更新中」でないかどうかを判定する(S60)。S60の判定の結果、肯定的な判定結果が得られた場合に、プロセッサ144は、S55で読み出された情報を、読出し要求元に送信してもよい。
上述した更新方法では、VMA更新処理中に、LDEVのロックがかけられるが、このロックは、LDEV226に対する書き込みと読み出しの両方を意味するロックとすることができる。しかし、そうすると、VMA301の更新中にはそのVMA301を有するLDEV226に一切アクセスすることができなくなってしまう。
これを解消するための方法として、LDEVにかけられるロックを、書き込みを禁止するが読み出しは許可することを意味するロックとすることができる。しかし、この場合、格別の工夫がされなければ、VMA301から読み出された情報が更新前の情報であり、読み出された後に、その情報が更新されることがある。
そこで、本実施例では、上記のように、VMA301の参照された情報がきちんと更新の済んだ後の情報であることを確かめるための方法が用意されている。その方法の一例が、上述したように、更新番号及び更新ステータスが、VMA301から情報を読み出す前と後で同じかどうかを確かめる方法である。更新番号及び更新ステータスの両方が、情報を読み出す前と後で同じかどうかを確かめることにより、VMA301から読み出された情報の正当性を保証することができる。なぜなら、例えば、更新番号が同じであっても更新ステータスが違っていれば、読み出された情報は更新中ということになり得るし、更新ステータスが両方とも「更新無し」であっても更新番号が違っていれば、更新前の古い情報が読み出されたということになり得るからである。
ところで、VMA301に書かれた情報は、ストレージシステム120Aに接続された端末(例えば、管理端末130、保守端末122又はホスト110A)のディスプレイ画面で見ることができる。
具体的には、例えば、プロセッサ144は、LDEV共通情報303については、例えば図14Aに例示するように、ストレージシステム120Aに搭載されている全LDEV分を一覧で表示する。この場合、全LDEV226のLDEV共通情報303が既に制御メモリ145又はキャッシュメモリ142に格納されていれば、わざわざLDEV226にアクセスすることなくLDEV共通情報303を読み出せるので、プロセッサ144は、一覧を表示するまでにかかる時間を短くすることができる。
また、例えば、エクステント管理情報306については、一つのLDEVに存在するエクステント管理情報の数だけでも膨大なもの(例えば約6万個)となり得るので、図14Bに例示するように、プロセッサ144は、複数のLDEV(例えばプルダウンメニューに表示された複数のLDEV番号)の中からユーザによって選択された一つのLDEV内の全エクステントのエクステント管理情報を一覧で表示する。つまり、エクステント管理情報は、LDEV別に表示される。
ホスト110Aは、ユーザ領域302にデータを格納することができるが、それに加えて、エクステント307も設定することができる。また、更に、それに加えて、ホスト110Aは、VMA301に書かれた情報(例えばエクステント管理情報306)の更新も行うことができる。エクステント307の設定や、VMA301に書かれた情報の更新は、例えば、ホスト110Aにインストールされているホスト常駐プログラム(例えば図2のストレージシステム制御部212)によって行うことができる。
具体的には、例えば、ホスト常駐プログラムは、図15Aに例示するように、初めはエクステントを設定せず、或る時点T1(例えば、エクステントの設定されていない位置から書込み対象データが書かれ初めた時点)からそれよりも後の時点T2(例えば、所定量のデータがかかれた時点、又は、時点T1から所定期間経過した時点)になった場合に、時点T1〜T2の間にデータが書かれた領域を含んだ部分を新規にエクステントと設定することができる。また、その場合に、ホスト常駐プログラムは、設定したエクステントのエクステント管理情報に、データの読み出しを許可するアクセス制御属性(例えばリードオンリー)を含めることができる(換言すれば、読み出しを禁止するアクセス制御属性を設定しない)。
また、例えば、ホスト常駐プログラムは、図15Bに例示するように、予め、任意の時点T3でエクステントを設定しておき、その後の時点T4(例えば、エクステント一杯にデータがかかれた時点、又は、時点T3から所定期間経過した時点)になった場合に、時点T3で設定したエクステントのエクステント管理情報に、データの読み出しを許可するアクセス制御属性(例えばリードオンリー)を含めることができる(換言すれば、読み出しを禁止するアクセス制御属性を設定しない)。
ストレージシステム120Aのプロセッサ144は、ユーザが操作する端末(例えば、ホスト110A、管理端末130又は保守端末122)から、或るLDEV226に対するVMAの設定又は削除の要求(以下、VMA設定/削除要求)を受けることができる。しかし、必ずしもその要求に従って、VMAの設定又は削除が行われても良いわけではない。なぜなら、図16Aに例示するように、VMA有りのLDEVからVMAが削除されたり、或いは、VMA無しのLDEVにVMAが設定されたりすると、VMAの記憶容量に基づくオフセット分だけ外部LBAがずれてしまうためである。また、LDEVの構成も壊れてしまうためである。
そこで、プロセッサ144は、図16Bに例示する処理により、VMA設定/削除要求を処理することができる。
プロセッサ144は、VMA設定/削除要求を受けた場合(S71)、所定の記憶域(例えば制御メモリ145)に格納されているVMA設定/削除不可条件4を参照し、VMA設定/削除要求に従う処理が可能か否かを判断する(S72)。VMA設定/削除不可条件4は、VMAの設定及び削除が不可能である場合の条件を含んでおり、例えば、ホストとLDEVとの間に論理パスが既に形成されているという条件や、エクステントが存在するという条件を含んでいる。ここに例示した条件にマッチする場合に、VMAの設定及び削除が行われてしまうと、ホスト110Aが、所望の領域(例えばユーザ領域の先頭)にアクセスしたつもりでも別の領域にアクセスしてしまうということが起こり得る。
そのため、プロセッサ144は、VMA設定/削除要求の対象となっているLDEVがVMA設定/削除不可条件4にマッチする場合には(S72でNo)、VMA設定/削除要求に従う処理を行わず(例えばエラーを要求元に返し)(S73)、VMA設定/削除不可条件4にマッチしない場合に(S72でYes)、VMA設定/削除要求に従う処理、すなわち、VMAの設定又は削除を行う(S74)。
これにより、或るLDEVについてVMAの設定や削除を行う場合には、VMAの設定や削除を行うことで、ホスト110Aに対してそのLDEV内の領域へのアクセスをミスさせてしまうことがないかどうかが判断され、そのようなミスをさせてしまうことがないという判断結果が得られた場合に、上記或るLDEVに対してVMAの設定や削除を行うことができる。
以下、本発明の一実施形態の第二実施例について説明する。なお、以下の説明では、第一実施例との相違点を主に説明し、第一実施例との共通点については説明を省略又は簡略する。
上述した第一実施例では、基本的には、管理情報群の全てが、LDEV226に用意されたVMA301に書かれ、必要に応じて、キャッシュメモリ142に読み出されるようになっているが、この第二実施例では、それに代えて又は加えて、制御メモリ145に、管理情報群の少なくとも一部が格納される。管理情報群の少なくとも一部を制御メモリ145に格納しておく複数種類のパターンとして、以下の(A)〜(C)の3種類のパターン、
(A)管理情報群の全てが、VMA301と制御メモリ145との両方に格納される。
(B)管理情報群の全てがVMA301に格納されるが、その管理情報群のうちの所定の一部の情報が制御メモリ145に格納される。
(C)管理情報群のうちの所定の一部の情報が制御メモリ145に格納され、管理情報群のうちの残りの情報がVMA301に格納される。
が考えられる。
ここで、(B)及び(C)における「所定の一部の情報」とは、管理情報群のうち、上記残りの情報よりも頻繁に参照される情報、又は、書込み要求処理(図7A参照)や読出し要求処理(図7B参照)で上記残りの情報よりも早い時点で参照される情報である。具体的には、例えば、「所定の一部の情報」とは、図9に例示したような情報、すなわち、各LDEV毎に、LDEV番号、LDEV共通情報303中のVMA識別子(別の言い方をすればVMA有無)、書込み禁止エクステント有無(又は、それに加えて、読出し禁止エクステント有無)を含んだ情報である。このようにすることで、例えば、書込み要求処理のS11及びS12は、制御メモリ145にアクセスすることにより実行することができ、わざわざLDEV226にアクセスする必要が無いので、書込み要求処理の時間短縮化が図れる。
また、上記(B)及び(C)のパターンにおいて、書き込み要求処理では(もし、読出し禁止に関するアクセス制御属性が設定されている場合(例えば読出し禁止エクステント有となっている場合)には読み出し要求処理でも)、S14まで処理がすすめば、制御メモリ145に格納されている情報だけでは足らないので、プロセッサ144は、LDEV226のVMA301からキャッシュメモリ142に情報を読み出す必要がある。
図17Aは、管理情報群のうちの或る情報要素が読み出される場合に行われる処理の流れの一例を示す。なお、以下の説明では、制御メモリ145における上記「所定の一部の情報」が格納されている領域を、便宜上、「サブVMA」と称する。
プロセッサ144は、管理情報群中の情報要素の読出し要求を受けた場合、制御メモリ141のサブVMAを参照する(S81)。プロセッサ144は、読出し要求の対象となる情報要素がサブVMAに存在しないと判定した場合には(S82でYes)、その情報要素がキャッシュメモリに読み出されているか否かの判定を行う(S83)。
読み出されていないと判定された場合(S83でNo)、プロセッサ144は、その情報要素をVMA301からキャッシュメモリ142に読み出すことの指示を出し、且つ、その場で待たずに「リトライ要」という命令を発生することで、再度、S81の処理を行うようにする。一方、読み出されていると判定された場合(S83でYes)、プロセッサ144は、キャッシュメモリ142にアクセスしてその情報要素を参照する(S85)。
図17Bは、管理情報群のうちの或る情報要素が更新される場合に行われる処理の流れの一例を示す。
この処理は、上記の図17Aの処理とほぼ同様である。すなわち、プロセッサ144は、管理情報群中の情報要素の更新要求を受けた場合、制御メモリ141のサブVMAを参照し(S91)、更新要求の対象となる情報要素がサブVMAに存在しないと判定した場合には(S92でYes)、その情報要素がキャッシュメモリに読み出されているか否かの判定を行う(S93)。以降、S84又はS85が行われる(S94又はS95)。
なお、図17A及び図17Bに示した処理流れは一例であり、それに限定する必要は無い。例えば、制御メモリ144に、管理情報中のどんな情報要素がVMA301に存在しどんな情報要素がサブVMAに存在するかを表したVMA管理情報が格納されており、プロセッサ144は、そのVMA管理情報を参照することにより、読出し対象又は更新対象となる情報要素がサブVMAとVMA301とのどちらに存在するかを判断し、その判断結果に応じた処理を行っても良い。
以下、本発明の一実施形態の第三実施例について説明する。
第三実施例では、図18Aに例示するように、ストレージシステム110Aには、ディスクドライブ121に実際に記憶領域を有する実装LDEVの他に、ディスクドライブ121に記憶領域を有しない仮想LDEV226Vが存在し、且つ、仮想LDEV226Vには、外部のストレージシステム120Bに存在するLDEV(以下、外部LDEV)226Rに対応付けられている。LDEV群管理情報223(図2参照)には、例えば、各LDEV226毎に、実装LDEVであるか仮想LDEVであるかを示す情報や、仮想LDEVである場合にはその仮想LDEVに対応付けられている外部LDEVを識別するための情報(例えば、その外部LDEVを備えるストレージシステムのIDや、その外部LDEVのLDEV番号)が含まれている。
この場合、ストレージシステム120Aのプロセッサ144は、ホスト110Aからアクセス要求(例えば読み出し要求)を受けた場合、そのアクセス要求が表すアクセス先(例えばLDEV番号)が仮想LDEV226VであることをLDEV群管理情報223から特定した場合には、その仮想LDEV226Vに対応した外部LDEV226Rにアクセスする(例えば、その外部LDEVからデータを読み出し、読み出されたデータをホスト110Aに送信する)。
この第三実施例では、VMA301の所定位置(例えば先頭)に、VMA識別子が記録されており、且つ、そのVMA識別子から、VMAタイプが識別できるようになっている。その仕組みの一例として、例えば、プロセッサ144に読み込まれるコンピュータプログラムに、図18Bに例示したVMA識別子とVMAタイプとの対応付けを表す情報を組み込んでおき、そのコンピュータプログラムが、所定の判定処理の中で、VMA識別子からVMAタイプを識別しても良い。また、例えば、図18Bに例示した情報を制御メモリ145等の所定の記憶域に格納しておき、プロセッサ144が、VMA識別子を検索キーにその情報を参照することにより、そのVMA識別子に対応したVMAタイプを検索しても良い。
これにより、この第三実施例では、例えば図18Cに例示することが実現できる。すなわち、例えば、プロセッサ144は、仮想LDEV226Vに外部LDEV226Rが対応付けられた場合に(S101)、対応付けられた外部LDEV226RからVMA識別子を読み出すことにより、そのVMA識別子を仮想LDEV226Vに反映すること、換言すれば、仮想LDEV226VのVMAタイプを認識することができる。また、その対応付けが解除された後、その仮想LDEV226Vが再び外部LDEV226Rに対応付けられた場合も(S103)、プロセッサ144は、対応付けられた外部LDEV226RからVMA識別子を読み出すことにより、そのVMA識別子を仮想LDEV226Vに反映することができる。同様に、別の仮想LDEVが外部LDEV226Rに対応付けられた場合でも(S104)、プロセッサ144は、対応付けられた外部LDEV226RからVMA識別子を読み出すことにより、そのVMA識別子を別の仮想LDEVに反映することができる。
以下、本発明の一実施形態の第四実施例について説明する。
第四実施例では、プライマリのLDEV226PからセカンダリのLDEV226Sへデータのコピーが行われる。この場合、ストレージシステム120AのLDEV群管理情報223には、例えば、各LDEV226毎に、ペア相手となるLDEVが存在する場合に、そのペア相手のLDEVを備えるストレージシステム120Bを識別するためのストレージシステムID(例えば、番号、IPアドレス或いはWWN(ワールドワイドネーム))や、そのペア相手のLDEV226SのLDEV番号や、自分がプライマリのLDEVであるかセカンダリのLDEVであるかを表す情報も含まれていても良い。
ここで、自分がプライマリのLDEVで、ペア相手がセカンダリのLDEVであり、且つ、ペアを構成するLDEVが同一のストレージシステム120Aに存在することが、LDEV群管理情報223から特定された場合には、プロセッサ144によって、プライマリのLDEVに存在するデータが読み出され、読み出されたデータがセカンダリのLDEVに格納されることにより、セカンダリのLDEVをプライマリのLDEVの複製にすることができる。また、自分がプライマリのLDEVでストレージシステム120Aに存在し、ペア相手がセカンダリのLDEVであり別のストレージシステム120Bに存在することが、LDEV群管理情報223から特定された場合には、プロセッサ144によって、図19Aに例示するように、プライマリのLDEV226Pに存在するデータが読み出され、読み出されたデータがストレージシステム120B内のセカンダリのLDEV226Sに格納されることにより(つまり、いわゆるリモートコピーが行われることにより)、セカンダリのLDEV226SをプライマリのLDEV226Pの複製にすることができる。
この第四実施例では、図19B及び図19Cのうちの少なくとも一方に示したLBA管理方式を採用することができる。
図19Bに例示した第一のLBA管理方式は、第一実施例で説明した内部LBAと外部LBAとを用意する方式である。この第一のLBA管理方式では、例えば、ストレージシステム120Bは、ホスト110Aからアクセス要求を受けた場合には、そのアクセス要求に従うLBAの外部LBAにアクセスすることにより、ホスト110Aを要求された場所にアクセスさせることができる。また、この第一のLBA管理方式では、例えば、ストレージシステム120Bは、ストレージシステム120Aからアクセス要求(例えばリモートコピー要求)を受けた場合には、そのアクセス要求に従うLBAの内部LBAにアクセスすることにより、ストレージシステム120Aを要求された場所にアクセスさせることができる。この場合、ストレージシステム120Aは、例えば、セカンダリLDEV226Sのユーザ領域302にアクセスする場合には、VMA301の記憶容量に基づくオフセット分(例えば1000)だけ加算したLBAをアクセス先としたアクセス要求を発行することにより、所望の場所にアクセスすることができる。
図19Cに例示した第二のLBA管理方式は、VMA用のLBAと、ユーザ領域用LBAとを用意する方式である。この場合、ストレージシステム120Aは、例えば、ストレージシステム120BのLDEVのユーザ領域にアクセスする場合に、上記オフセット分を考慮しなくても、LBAの他にアクセス先がユーザ領域であることをストレージシステム120Bに通知すれば、ストレージシステム120B(例えばそれに搭載されたプロセッサ)が、その通知に従い、ストレージシステム120AをセカンダリLDEV226Sのユーザ領域の所望の場所(通知されたLBA)にアクセスさせることができる。また、この方式では、例えば、ストレージシステム120Aも120Bも、ホスト110Aからアクセス要求を受けた場合には、常にユーザ領域用のLBAに従うアクセスを行わせることにより、ホスト110Aをホスト所望の場所(例えばホスト110Aから指定されたLBA)にアクセスさせることができる。また、例えば、ストレージシステム120Bは、アクセス要求元(例えばストレージシステム120A又はホスト110A)から、VMAとユーザ領域のどちらにアクセスするかを表す情報を受けた場合、その情報に従うLBAを用いて、アクセス要求元にアクセスさせることができる。また、例えば、ストレージシステム120Bは、アクセス要求元から、第一領域(ユーザ領域又はVMA)にアクセスすることの命令を受けた後は、第一領域とは別の第二領域(VMA又はユーザ領域)にアクセスすることの命令を受けるまでの間は、常に、第一領域用のLBAにアクセス要求元をアクセスさせるようにすることもできる。
プライマリLDEVとセカンダリLDEVの記憶容量は、例えば同じである。この第四実施例では、例えば、以下のようなコピー制御が行うことができる。以下、前述したリモートコピーを例に採り説明するが、そのコピー制御は、同一のストレージシステムにおけるプライマリLDEVからセカンダリLDEVへのコピーの制御にも適用することができる。また、プライマリLDEVからセカンダリLDEVへのコピーは、プライマリ側のストレージシステムからセカンダリ側のストレージシステムへの書込み要求によって行うことも、セカンダリ側のストレージシステムからプライマリ側のストレージシステムへの読み出し要求によって行うことも可能であるが、以下の説明では、前者の書込み要求の場合を例に採る。
図20Aは、第一のコピー制御の説明図である。なお、以下、ストレージシステム120Aのプロセッサ144を、「第一のプロセッサ」と称し、ストレージシステム120Bのプロセッサを「第二のプロセッサ」と称する。
プライマリLDEV226Pには、LDEV共通情報303等が格納されたVMA301Pと、少なくとも一つのエクステントが設定されたユーザ領域301Pとがあるとする。一方、セカンダリLDEV226Sは、何の情報も領域も設定されておらず空き状態になっているとする。
この状態において、ストレージシステム120Bの第二のプロセッサは、ユーザが操作する端末であるユーザ操作端末(例えば、管理端末130、保守端末122又はホスト110A)から、VMA設定の要求を受け、その要求に応答して、図20Aの上側に示すように、プライマリLDEV226PのVMA301Pの記憶容量Kと同じ容量KのVMA301SをセカンダリLDEV226Sに設定する(S121)。これにより、セカンダリLDEV226Sが、VMA301Sとユーザ領域302Sとに区切られる。また、その際、セカンダリLDEV226SのLBAの配置は、例えばユーザ操作端末から入力された情報により、プライマリLDEV226のLBAの配置と同じにすることができる。なお、VMA301Sの設定は、例えば、プライマリLDEV226PとセカンダリLDEV226Sとの間でLDEVペアが形成された時に行うことができる。このVMA301Sの設定は、自動で行われても良いし手動で行われても良い。自動の場合には、例えば、第二のプロセッサが、プライマリLDEV226PのLDEV共通情報中のVMAサイズに基づいて、セカンダリLDEV226Sに、VMA301Pと同じ位置に同じサイズでVMA301Sを設定することができる。
ストレージシステム120Aの第一のプロセッサは、任意のタイミングで(例えば、ユーザ操作端末からのコピー要求に応答して)、プライマリLDEV226内の全ての情報をセカンダリLDEV226Sに書き込むことの要求をストレージシステム120Bに発行する(S122)。それにより、ストレージシステム120Bの第二のプロセッサが、その要求に応答して、キャッシュメモリを介して、プライマリLDEV226内の全ての情報をセカンダリLDEV226Sに書き込む。
以上の処理により、図20Aの下側に示すように、セカンダリLDEV226Sは、プライマリLDEV226Pの複製となる。すなわち、例えば、セカンダリLDEV226Sのユーザ領域302Sには、プライマリLDEV226Pのユーザ領域301P内のエクステントと同じ場所に、そのエクステントと同じエクステントが設定され、且つ、セカンダリLDEV226SのVMA301Sには、プライマリLDEV226PのVMA301P内の全ての情報が書かれる。故に、プライマリLDEV226Pの各エクステントに対して設定されたアクセス制御属性が、コピー先のセカンダリLDEV226Sの各エクステントに引き継ぐことができる。
この第一のコピー制御によれば、プライマリLDEV226PからセカンダリLDEV226Sへのコピーが行われても、予めVMA301Sが設定されているので、LBAのオフセットを生じさせないようにすることができる。
図20Bは、第二のコピー制御の説明図である。
プライマリLDEV226Pには、LDEV共通情報303等が格納されたVMA301Pと、少なくとも一つのエクステントが設定されたユーザ領域301Pとがあるとする。一方、セカンダリLDEV226Sは、何の情報も領域も設定されておらず空き状態になっているとする。
この状態において、ストレージシステム120Aの第一のプロセッサは、任意のタイミングで(例えば、ユーザ操作端末からのコピー要求に応答して)、図20Bの下側に示すように、プライマリLDEV226内の全ての情報をセカンダリLDEV226Sに書き込むことの要求をストレージシステム120Bに発行する(S131)。それにより、ストレージシステム120Bの第二のプロセッサが、その要求に応答して、キャッシュメモリを介して、プライマリLDEV226内の全ての情報をセカンダリLDEV226Sに書き込む。
以上の処理により、図20Bの下側に示すように、セカンダリLDEV226Sは、プライマリLDEV226Pの複製となる。すなわち、例えば、セカンダリLDEV226Sのユーザ領域302Sには、プライマリLDEV226Pのユーザ領域301P内のエクステントと同じ場所に、そのエクステントと同じエクステントが設定され、且つ、セカンダリLDEV226SのVMA301Sには、プライマリLDEV226PのVMA301P内の全ての情報が書かれる。故に、プライマリLDEV226Pの各エクステントに対して設定されたアクセス制御属性が、コピー先のセカンダリLDEV226Sの各エクステントに引き継ぐことができる。なお、セカンダリLDEV226Sに、プライマリLDEV226Pと同じ記憶容量KのVMA301Sを設定する場合、第二のプロセッサ(又は第一のプロセッサ)は、第一のLBA管理方式を採用するならば、図20Bの下側に示すように、セカンダリLDEV226Sの外部LBA0を、VMA301Sの記憶容量Kに基づくオフセット分だけ下げるようにする(ユーザ領域301Sの先頭に位置させる)。また、図示しないが、プライマリLDEV226Pと同じ記憶容量KのVMA301Sを設定する場合、第二のLBA管理方式を採用するならば、第二のプロセッサ(又は第一のプロセッサ)は、セカンダリLDEV226Sに、VMA用のLBAとユーザ領域用のLBAとを用意することができる。
この第二のコピー制御によれば、セカンダリLDEV226Sに予めVMA301Sを設定しておかなくて済むという利便性を得ることができる。
図21は、第三のコピー制御の説明図である。
プライマリLDEV226Pには、LDEV共通情報303等が格納されたVMA301Pと、少なくとも一つのエクステントが設定されたユーザ領域301Pとがあるとする。一方、セカンダリLDEV226Sには、少なくとも、VMA301Pと同じ記憶容量を持ったVMA301Sが設定されているとする。
この状態において、ストレージシステム120Aの第一のプロセッサは、コピー実行タイミングになった場合(例えば、ユーザ操作端末からのコピー要求を受けた場合)(S141)、コピーが可能か否かの判定を行う(S142)。具体的には、例えば、第一のプロセッサは、VMA301Sから少なくとも情報要素「エクステント有無」を取得し、その情報要素「エクステント有無」から、セカンダリLDEV226Sにエクステントが存在するか否かを判定する。エクステントが存在すると判定された場合には、コピーが不可能であると判定されたことになり、エクステントが存在しないと判定された場合には、コピーが可能であると判定されたことになる。セカンダリLDEV226Sにエクステントが存在するにもかかわらずに、プライマリLDEV226P内の全情報がセカンダリLDEV226Sにコピーされてしまうと、セカンダリLDEV226Sの構成が変わってしまうためである。なお、コピーが可能か否かの判定基準には、例えば、図16Bを参照して説明したVMA設定/削除不可条件が採用されても良い。すなわち、セカンダリLDEV226Sがホストに認識されている場合には、コピー不可と判定され、セカンダリLDEV226Sがホストに認識されていない場合には、コピー可能と判定されても良い。
S142において、コピー可能と判定された場合(例えばセカンダリLDEV226Sにエクステントが一つも存在しないと判定された場合)(S143−1)、第一のプロセッサは、プライマリLDEV226P内の情報をセカンダリLDEV226Sにコピーする。
一方、S142において、コピー不可能と判定された場合(例えばセカンダリLDEV226Sにエクステントが存在すると判定された場合)(S143−2)、第一のプロセッサは、プライマリLDEV226P内の情報をセカンダリLDEV226Sにコピーしない。これにより、現在のセカンダリLDEV226Sの構成が維持される。
以上が、第四実施例についての説明である。この第四実施例では、プライマリLDEV内の情報がセカンダリLDEVにコピーされる。このため、エクステント及びそのエクステントに設定されたアクセス制御属性が、プライマリLDEVからセカンダリLDEVに引き継がれ、コピー先のセカンダリLDEV内の各エクステント内の情報を、プライマリLDEV内の各エクステント内の情報と同等に保護することができる。
なお、この第四実施例では、適宜、特願2004−079119号(US Patent Application No.10/844,482):本願出願時には未公開)に開示の技術を援用することができる。
以上、本発明の好適な幾つかの変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、プロセッサ144は、入出力部141及び入出力部143の両方に備えられ、複数のプロセッサによって制御メモリ145が共有されても良い。また、書込み要求処理や読み出し要求処理は、ホスト側の入出力部141に搭載されたプロセッサ144が行っても良い。また、データのコピー元及びコピー先の少なくとも一方は、磁気テープであってもよい。
図1は、本発明の一実施形態の第一実施例に係るコンピュータシステムのハードウェア構成を示すブロック図である。 図2は、本発明の一実施形態の第一実施例に係るコンピュータシステムの機能ブロック図である。 図3は、LDEV226の構成例を示す。 図4Aは、エクステント管理情報306の説明図である。図4Bは、本発明の一実施形態の第一実施例において、エクステントに設定されたアクセス制御属性と、そのアクセス制御属性を表す各種ステータスフラグの状態と、そのアクセス制御属性の場合に実行されるアクセス制御行為との対応の説明図である。 図5は、LDEV共通情報303に含まれる情報要素の種類の一例を示す。 図6A及び図6Bは、管理ブロックの説明図である。図6Cは、これら四つのフラグの値の全ての組み合わせを示す。 図7Aは、ホストから書き込み要求を受けた場合に行われる書込み要求処理の流れを示す。図7Bは、ホストから読出し要求を受けた場合に行われる読み出し要求処理の流れを示す。 図8は、読出し禁止を表すアクセス制御属性がどのエクステントにも設定されないようになっていることを表す概念図。 図9は、キャッシュメモリ142又は制御メモリ144に書かれる情報の例を示す。 図10は、キャッシュフリー化判定処理の流れの一例を示す。 図11は、VMA更新管理情報の構成例を示す。 図12は、VMA更新処理の流れの一例を示す。 図13は、図12のVMA更新処理が行われる場合のVMA参照処理の流れの一例を示す。 図14Aは、LDEV共通情報303の表示の一例を示す。図14Bは、エクステント管理情報の表示の一例を示す。 図15Aは、エクステントの設定方法の一例を示す。図15Bは、エクステントの設定方法の別の一例を示す。 図16Aは、VMAの設定や削除によりLBAにずれが生じることを示す。図16Bは、VMA設定/削除要求を受けた場合に行われる処理の流れの一例を示す。 図17Aは、本発明の一実施形態の第二実施例において、管理情報群のうちの或る情報要素が読み出される場合に行われる処理の流れの一例を示す。図17Bは、管理情報群のうちの或る情報要素が更新される場合に行われる処理の流れの一例を示す。 図18Aは、本発明の一実施形態の第三実施例において、ホストから仮想LDEVにアクセスされた場合には、その仮想LDEVに対応付けられた外部LDEVへのアクセスが行われることを示す。図18Bは、VMA識別子からVMAタイプを判定するのに用いられる情報の構成例を示す。図18Cは、外部LDEV内のVMA識別子を仮想LDEVに反映させることができることを示す。 図19Aは、本発明の一実施形態の第四実施例におけるいわゆるリモートコピーの説明図である。図19Bは、第一のLBA管理方式の説明図である。図19Cは、第二のLBA管理方式の説明図である。 図20Aは、第一のコピー制御の説明図である。図20Bは、第二のコピー制御の説明図である。 図21は、第三のコピー制御の説明図である。
符号の説明
110A…ホスト、111、144…プロセッサ、112…メインメモリ、113、141、143…入出力部、120…ストレージシステム、121…ディスクドライブ、140…ストレージ制御装置、145…制御メモリ、150…SAN、170…LAN、180…メールサーバ、211…アプリケーション、212…ストレージシステム制御部、221…アクセス制御部、222…エクステント管理部、223…LDEV管理情報、226…LDEV、301…ボリューム管理領域(VMA)、302…ユーザ領域、303…LDEV共通情報、306…エクステント管理情報、307…エクステント、801…管理ブロック

Claims (15)

  1. 通信装置に接続されるデータ処理システムにおいて、
    少なくとも一つのコンピュータと、
    前記少なくとも一つのコンピュータに読み込まれる少なくとも一つのコンピュータプログラムを記憶するプログラム記憶域と、
    データを記憶することができるサブ領域であるエクステントを複数個有する記憶デバイスと、
    前記複数のエクステントにそれぞれ対応した複数のアクセス制御属性を記憶する属性記憶域と
    を有し、
    エクステントに対応したアクセス制御属性は、複数種類のアクセス制御属性の中から選択された種類のアクセス制御属性であり、
    前記複数種類のアクセス制御属性には、読出し禁止を意味するアクセス制御属性が含まれておらず、書込み許可を意味するアクセス制御属性と、読出し許可を意味するアクセス制御属性と、書込み禁止を意味するアクセス制御属性とが含まれており、
    前記少なくとも一つのコンピュータプログラムを読み込んだ前記少なくとも一つのコンピュータが、
    書込み対象データと書込み要求とを送信する通信装置から前記書込み要求が受信された場合、前記書込み要求に従う書込み先エクステントのアクセス制御属性を前記複数のアクセス制御属性の中から検索し、検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行い、その判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御するが、
    読出し対象データの読み出し要求を送信する通信装置から前記読出し要求が受信された場合には、前記読み出し要求に従う読み出し元エクステントのアクセス制御属性を前記複数のアクセス制御属性の中から検索することを行うことなく、前記読出し元エクステントから前記読出し対象データを読み出す、
    データ処理システム。
  2. 前記少なくとも一つのコンピュータが、前記通信装置からの要求に応答して、以下の(1)又は(2)の処理、
    (1)第一の時点から第二の時点の間に前記記憶デバイスに書き込まれた少なくとも一つの書き込み対象データを有する領域を含んだ領域を一つのエクステントとし、且つ、前記エクステントに対するアクセス制御属性を前記属性記憶域に格納する処理、
    (2)第一の時点で一つのエクステントを設定し、前記設定されたエクステントに書込み対象データが格納された後の第二の時点で前記設定されたエクステントに対するアクセス制御属性を前記属性記憶域に格納する処理、
    を実行する、
    請求項1記載のデータ処理システム。
  3. 通信装置に接続されるデータ処理システムにおいて、
    少なくとも一つのコンピュータと、
    前記少なくとも一つのコンピュータに読み込まれる少なくとも一つのコンピュータプログラムを記憶するプログラム記憶域と、
    データを記憶する複数の記憶デバイスと、
    前記複数の記憶デバイスの少なくとも一つの記憶デバイスに設けられる複数のエクステントと、
    記憶デバイスと前記通信装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリ領域と、
    前記データのやり取りを制御するための情報を記憶する制御メモリ領域と、
    前記複数のエクステントにそれぞれ対応した複数のアクセス制御属性を記憶する第一の管理領域と、
    書込み禁止を意味するアクセス制御属性に対応したエクステントである書込み禁止エクステントが前記複数のエクステントに含まれているか否かを表す書込み禁止エクステント有無情報を各記憶デバイス毎に記憶する第二の管理領域と
    を備え、
    前記第一の管理領域は、前記複数のエクステントを有する前記記憶デバイス内に存在し、
    前記第二の管理領域は、前記キャッシュメモリ領域と前記制御メモリ領域とのうちの少なくとも一方に存在し、
    前記少なくとも一つのコンピュータプログラムを読み込んだ前記少なくとも一つのコンピュータが、
    書込み対象データと書込み要求とを送信する通信装置から前記書込み要求が受信された場合、前記第二の管理領域にアクセスして、前記書込み要求に従う書込み先記憶デバイスに対応した書込み禁止エクステント有無情報を参照することにより、前記書込み先記憶デバイスに前記書込み禁止エクステントが存在するか否かの判定を行い、
    前記書込み先記憶デバイスに前記書込み禁止エクステントが存在すると判定された場合、前記書込み先記憶デバイスに設けられた前記第一の管理領域にアクセスし、前記書込み先記憶デバイスに設けられた複数のエクステントのうちの書込み先エクステントに対応したアクセス制御属性を前記複数のアクセス制御属性の中から検索し、検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行い、その判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御する、
    データ処理システム。
  4. 前記第二の管理領域は、読出し禁止を意味するアクセス制御属性に対応したエクステントである読出し禁止エクステントが前記複数のエクステントに含まれているか否かを表す読出し禁止エクステント有無情報を各記憶デバイス毎に記憶し、
    前記少なくとも一つのコンピュータが、
    読出し対象データの読出し要求を送信する通信装置から前記読出し要求が受信された場合、前記第二の管理領域にアクセスして、前記読出し要求に従う読出し元記憶デバイスに対応した読出し禁止エクステント有無情報を参照することにより、前記読出し元記憶デバイスに前記読出し禁止エクステントが存在するか否かの判定を行い、
    前記読出し元記憶デバイスに前記読出し禁止エクステントが存在すると判定された場合、前記読出し元記憶デバイスに設けられた前記第一の管理領域にアクセスし、前記読出し元記憶デバイスに設けられた複数のエクステントのうちの読出し元エクステントに対応したアクセス制御属性を前記複数のアクセス制御属性の中から検索し、検索されたアクセス制御属性が読出し禁止を意味するアクセス制御属性か否かの判定を行い、その判定の結果に応じて、前記読出し対象データを前記読出し元エクステントから読み出すか否かを制御する、
    請求項3記載のデータ処理システム。
  5. 前記通信装置と前記記憶デバイスとの間で前記キャッシュメモリ領域を介してやり取りされるデータには、
    前記記憶デバイスを管理するための種々の管理情報要素を含む管理情報と、
    前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータと
    があり、
    前記少なくとも一つのコンピュータが、
    前記記憶デバイスに書き込まれたデータであって、前記キャッシュメモリ領域に残っているデータのうち、前記管理情報に含まれる管理情報要素を優先的に前記キャッシュメモリ領域に残し、前記ホストデータを先に前記キャッシュメモリ領域から削除する、
    請求項3記載のデータ処理システム。
  6. 前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とを有し、
    前記制御メモリ領域が、各記憶デバイス毎に、前記管理情報記憶域が更新中か否かを表す更新ステータスと、前記管理情報記憶域の更新が済んだ場合に変更される更新番号とを記憶し、
    前記少なくとも一つのコンピュータが、
    或る記憶デバイスに格納するための管理情報を送信する通信装置から前記管理情報を受信した場合に、前記或る記憶デバイスへのデータの書き込みを禁止することを表すロックを設定し、
    前記或る記憶デバイスの前記更新ステータスを、更新中であることを意味する更新中ステータスに変更し、
    前記或る記憶デバイスの前記管理情報記憶域に前記受信した管理情報を書き込み、
    前記管理情報の書込みが済んだ場合に、前記或る記憶デバイスに対応した前記更新番号を変更し、
    前記或る記憶デバイスの前記更新ステータスを、更新中で無いことを意味する更新無しステータスに変更し、
    前記或る記憶デバイスの更新ステータス及び更新番号を参照し、
    前記或る記憶デバイスの更新ステータス及び更新番号を参照した後で、前記或る記憶デバイスの管理情報記憶域から管理情報を読み出し、
    前記管理情報を読み出した後で、再び、前記或る記憶デバイスの更新ステータス及び更新番号を参照し、
    前記管理情報を読み出す前と後で参照した更新ステータスが両方とも更新中ステータスではなく、且つ、前記管理情報を読み出す前と後で参照した更新番号が両方とも同じ番号である場合に、前記読み出された管理情報を有効と判断する、
    請求項3記載のデータ処理システム。
  7. 前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とのうちの少なくとも前記ホスト記憶領域を有し、
    前記少なくとも一つのコンピュータが、
    所定の条件に合致する場合に、前記或る記憶デバイスに前記管理情報記憶域を設定すること、及び、前記或る記憶デバイスから前記管理情報記憶域を削除することの少なくとも一方を禁止する、
    請求項3記載のデータ処理システム。
  8. 前記所定の条件とは、前記或る記憶デバイスが前記ホストコンピュータに接続されていることと、前記或る記憶デバイスに少なくとも一つのエクステントが設定されていることとの少なくとも一方である、
    請求項7記載のデータ処理システム。
  9. 前記記憶デバイスと同じ記憶サイズを有する別の記憶デバイスが存在し、
    前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とを有し、
    前記別の記憶デバイスが、前記記憶デバイスの前記管理情報記憶領域が存在する場所と同じ場所に、前記管理情報記憶領域と同じ記憶容量の別の管理情報記憶領域を有し、
    前記少なくとも一つのコンピュータが、
    前記記憶デバイス内の全ての情報を、前記別の管理情報記憶領域が用意された前記別の記憶デバイスにコピーする、
    請求項3記載のデータ処理システム。
  10. 前記記憶デバイスと同じ記憶サイズを有する別の記憶デバイスが存在し、
    前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とを有し、
    前記別の記憶デバイスが、別の管理情報記憶領域を有しないが別のホスト記憶領域を有し、
    前記少なくとも一つのコンピュータが、
    前記記憶デバイス内の全ての情報を、前記別の管理情報記憶領域が用意された前記別の記憶デバイスにコピーし、
    前記別の記憶デバイスの前記別のホスト記憶領域のアドレスを調整する、
    請求項3記載のデータ処理システム。
  11. 記記憶デバイスと同じ記憶サイズを有する別の記憶デバイスが存在し、
    前記記憶デバイスが、前記記憶デバイスの構成に関する種々の管理情報を記憶するための管理情報記憶領域と、前記通信装置の一つであるホストコンピュータによって読み出される又は書き込まれるデータであるホストデータを記憶するためのホスト記憶領域とを有し、
    前記少なくとも一つのコンピュータが、
    前記別の記憶デバイスが所定の条件に適合する場合には、前記記憶デバイス内の情報のコピー先として設定することを禁止する、
    請求項3記載のデータ処理システム。
  12. 前記所定の条件とは、前記別の記憶デバイスに少なくとも一つのエクステントが設定されていることである、
    請求項11記載のデータ処理システム。
  13. 記憶デバイスに設けられた複数のエクステントにそれぞれ対応した複数のアクセス制御属性があり、
    エクステントに対応したアクセス制御属性は、複数種類のアクセス制御属性の中から選択された種類のアクセス制御属性であり、
    前記複数種類のアクセス制御属性には、読出し禁止を意味するアクセス制御属性が含まれておらず、書込み許可を意味するアクセス制御属性と、読出し許可を意味するアクセス制御属性と、書込み禁止を意味するアクセス制御属性とが含まれており、
    ストレージシステムが、書込み対象データと書込み要求とを送信するホストコンピュータから前記書込み要求を受信し、
    前記ストレージシステムが、前記受信した書込み要求に従う書込み先エクステントのアクセス制御属性を、記憶デバイスに設けられた複数のエクステントにそれぞれ対応した複数のアクセス制御属性の中から検索し、
    前記ストレージシステムが、前記検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行い、
    前記ストレージシステムが、前記判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御し、
    前記ストレージシステムが、読出し対象データの読み出し要求を送信するホストコンピュータから前記読出し要求を受信し、
    前記ストレージシステムが、前記受信した読み出し要求に従う読み出し元エクステントのアクセス制御属性を前記複数のアクセス制御属性の中から検索することを行うことなく、前記読出し元エクステントから前記読出し対象データを読み出す、
    データ処理方法。
  14. 前記通信装置からの要求に応答して、前記ストレージシステムが、以下の(1)又は(2)、
    (1)第一の時点から第二の時点の間に前記記憶デバイスに書き込まれた少なくとも一つの書き込み対象データを有する領域を含んだ領域を一つのエクステントとし、且つ、前記エクステントに対するアクセス制御属性を前記属性記憶域に格納する処理、
    (2)第一の時点で一つのエクステントを設定し、前記設定されたエクステントに書込み対象データが格納された後の第二の時点で前記設定されたエクステントに対するアクセス制御属性を前記属性記憶域に格納する処理、
    を実行する、
    請求項13記載のデータ処理方法。
  15. 複数の記憶デバイスの少なくとも一つの記憶デバイスに設けられる複数のエクステントと、
    記憶デバイスと通信装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリ領域と、
    データのやり取りを制御するための情報を記憶する制御メモリ領域と、
    前記複数のエクステントにそれぞれ対応した複数のアクセス制御属性を記憶する第一の管理領域と、
    書込み禁止を意味するアクセス制御属性に対応したエクステントである書込み禁止エクステントが前記複数のエクステントに含まれているか否かを表す書込み禁止エクステント有無情報を各記憶デバイス毎に記憶する第二の管理領域と
    が備えられ、
    前記第一の管理領域は、前記複数のエクステントを有する前記記憶デバイス内に存在し、
    前記第二の管理領域は、前記キャッシュメモリ領域と前記制御メモリ領域とのうちの少なくとも一方に存在し、
    ストレージシステムは、書込み対象データと書込み要求とを送信する通信装置から前記書込み要求が受信された場合、前記第二の管理領域にアクセスして、前記書込み要求に従う書込み先記憶デバイスに対応した書込み禁止エクステント有無情報を参照することにより、前記書込み先記憶デバイスに前記書込み禁止エクステントが存在するか否かの判定を行い、
    前記ストレージシステムは、前記書込み先記憶デバイスに前記書込み禁止エクステントが存在すると判定された場合、前記書込み先記憶デバイスに設けられた前記第一の管理領域にアクセスし、前記書込み先記憶デバイスに設けられた複数のエクステントのうちの書込み先エクステントに対応したアクセス制御属性を前記複数のアクセス制御属性の中から検索し、検索されたアクセス制御属性が書込み禁止を意味するアクセス制御属性か否かの判定を行い、その判定の結果に応じて、前記書き込み対象データを前記書込み先エクステントに書き込むか否かを制御する、
    データ処理方法。
JP2004373285A 2004-12-24 2004-12-24 データ処理システム及び方法 Expired - Fee Related JP4618785B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004373285A JP4618785B2 (ja) 2004-12-24 2004-12-24 データ処理システム及び方法
US11/070,885 US7243189B2 (en) 2004-12-24 2005-03-03 Data processing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004373285A JP4618785B2 (ja) 2004-12-24 2004-12-24 データ処理システム及び方法

Publications (2)

Publication Number Publication Date
JP2006178849A JP2006178849A (ja) 2006-07-06
JP4618785B2 true JP4618785B2 (ja) 2011-01-26

Family

ID=36654614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004373285A Expired - Fee Related JP4618785B2 (ja) 2004-12-24 2004-12-24 データ処理システム及び方法

Country Status (2)

Country Link
US (1) US7243189B2 (ja)
JP (1) JP4618785B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065590A (ja) * 2006-09-07 2008-03-21 Casio Comput Co Ltd 服薬会計システム及び携帯端末
IL180020A (en) * 2006-12-12 2013-03-24 Waterfall Security Solutions Ltd Encryption -and decryption-enabled interfaces
IL180748A (en) 2007-01-16 2013-03-24 Waterfall Security Solutions Ltd Secure archive
US9888076B2 (en) * 2007-10-09 2018-02-06 International Business Machines Corporation Encoded data slice caching in a distributed storage network
JP4807377B2 (ja) * 2008-05-13 2011-11-02 ソニー株式会社 通信装置、通信方法、通信システム及びサービス発行方法
US8595458B2 (en) * 2008-09-29 2013-11-26 International Business Machines Corporation Intelligent extent initialization in storage environment
US8402534B2 (en) * 2009-05-26 2013-03-19 Hitachi, Ltd. Management system, program recording medium, and program distribution apparatus
US9110594B2 (en) * 2009-11-04 2015-08-18 Seagate Technology Llc File management system for devices containing solid-state media
JP2011165249A (ja) * 2010-02-08 2011-08-25 Elpida Memory Inc 半導体装置
US10298684B2 (en) * 2011-04-01 2019-05-21 International Business Machines Corporation Adaptive replication of dispersed data to improve data access performance
WO2014057518A1 (en) * 2012-10-11 2014-04-17 Hitachi, Ltd. Storage apparatus and data processing method
US9372811B2 (en) * 2012-12-13 2016-06-21 Arm Limited Retention priority based cache replacement policy
JP6036470B2 (ja) * 2013-03-26 2016-11-30 富士通株式会社 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
IL235175A (en) 2014-10-19 2017-08-31 Frenkel Lior Secure desktop remote control
US9990285B2 (en) 2015-07-16 2018-06-05 Toshiba Memory Corporation Data access control apparatus
JP2017046319A (ja) * 2015-08-28 2017-03-02 富士通株式会社 伝送装置およびリトライ方法
IL250010B (en) 2016-02-14 2020-04-30 Waterfall Security Solutions Ltd Secure connection with protected facilities

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63249975A (ja) * 1987-04-06 1988-10-17 Nec Corp 磁気デイスク制御装置
JPH0713705A (ja) * 1993-06-16 1995-01-17 Hitachi Ltd ディスク装置
JPH1115721A (ja) * 1997-06-25 1999-01-22 Nippon Telegr & Teleph Corp <Ntt> ファイルサーバシステム
JPH11110294A (ja) * 1997-10-01 1999-04-23 Toshiba Corp マイクロコンピュータ及び情報処理装置
JP2002132456A (ja) * 2000-10-20 2002-05-10 Sony Corp 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241668A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US6219726B1 (en) * 1994-07-27 2001-04-17 International Business Machines Corporation System for providing access protection on media storage devices by selecting from a set of generated control parameters in accordance with application attributes
US5933824A (en) * 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment
JP2927282B2 (ja) * 1997-11-06 1999-07-28 日本電気株式会社 ディスクアレイ装置
JP3544297B2 (ja) * 1998-04-08 2004-07-21 富士通株式会社 アクセス制御方法、記憶装置及び記憶媒体
JP2000112822A (ja) 1998-10-01 2000-04-21 Hitachi Ltd アーカイバル機能を有するディスク制御方式
US6772288B1 (en) * 2000-09-06 2004-08-03 Stmicroelectronics, Inc. Extended cache memory system and method for caching data including changing a state field value in an extent record
JP2005338893A (ja) * 2004-05-24 2005-12-08 Hitachi Ltd データ処理システムおよびディスクアクセス制御方法並びにその処理プログラム
JP2006072789A (ja) * 2004-09-03 2006-03-16 Hitachi Ltd ストレージシステム及びストレージシステムのデータ管理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63249975A (ja) * 1987-04-06 1988-10-17 Nec Corp 磁気デイスク制御装置
JPH0713705A (ja) * 1993-06-16 1995-01-17 Hitachi Ltd ディスク装置
JPH1115721A (ja) * 1997-06-25 1999-01-22 Nippon Telegr & Teleph Corp <Ntt> ファイルサーバシステム
JPH11110294A (ja) * 1997-10-01 1999-04-23 Toshiba Corp マイクロコンピュータ及び情報処理装置
JP2002132456A (ja) * 2000-10-20 2002-05-10 Sony Corp 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体

Also Published As

Publication number Publication date
US20060155939A1 (en) 2006-07-13
US7243189B2 (en) 2007-07-10
JP2006178849A (ja) 2006-07-06

Similar Documents

Publication Publication Date Title
JP4618785B2 (ja) データ処理システム及び方法
US7900000B2 (en) Computer system preventing storage of duplicate files
JP4681249B2 (ja) ディスクアレイ装置
US7343465B2 (en) Storage system
EP1840723A2 (en) Remote mirroring method between tiered storage systems
JP4837378B2 (ja) データの改竄を防止する記憶装置
JP5310480B2 (ja) ストレージ制御装置および方法
JP2006127106A (ja) ストレージシステム及びその制御方法
JP4521865B2 (ja) ストレージシステム、計算機システムまたは記憶領域の属性設定方法
JP2007233638A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20090063797A1 (en) Backup data erasure method
US7991970B2 (en) Remote copy with worm guarantee
JP2008152695A (ja) 電子的な保護対象に要求される保護能力で該保護対象を保護する記憶制御装置
JP5159777B2 (ja) 情報及びメタデータを管理し記憶する装置及び方法
US7451279B2 (en) Storage system comprising a shared memory to access exclusively managed data
JP2005267274A (ja) 記憶システム及びコンピュータシステム
JP4502748B2 (ja) デジタルアーカイブを保存するボリュームを管理するサーバ及び方法
JP2008065559A (ja) ストレージ装置、ストレージシステム、ストレージ装置の制御方法
JP5295046B2 (ja) 利用者端末装置及び利用者端末装置の制御方法
JP4421999B2 (ja) Worm機能付きデータマイグレーションを実行するストレージ装置、ストレージシステム及びデータ移動方法
JP2009037564A (ja) ディスク管理プログラム、ディスク管理方法及びディスク管理装置
JP2001084115A (ja) 情報記録制御システムおよび情報記録制御方法
JP2000227866A (ja) 情報記録再生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100930

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

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

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees