Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5347408B2 - 処理方法及び記憶システム - Google Patents
[go: Go Back, main page]

JP5347408B2 - 処理方法及び記憶システム - Google Patents

処理方法及び記憶システム Download PDF

Info

Publication number
JP5347408B2
JP5347408B2 JP2008248378A JP2008248378A JP5347408B2 JP 5347408 B2 JP5347408 B2 JP 5347408B2 JP 2008248378 A JP2008248378 A JP 2008248378A JP 2008248378 A JP2008248378 A JP 2008248378A JP 5347408 B2 JP5347408 B2 JP 5347408B2
Authority
JP
Japan
Prior art keywords
data
comparison
unit
read
storage
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
JP2008248378A
Other languages
English (en)
Other versions
JP2010079676A (ja
Inventor
寛 朝海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008248378A priority Critical patent/JP5347408B2/ja
Priority to US12/557,880 priority patent/US20100082909A1/en
Publication of JP2010079676A publication Critical patent/JP2010079676A/ja
Application granted granted Critical
Publication of JP5347408B2 publication Critical patent/JP5347408B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)

Description

本発明は、多重化された記憶装置を複数の処理装置で共有する際における排他制御命令の処理に関する。
図4は従来の記憶システムの構成を模式的に示す図である。
従来の記憶システム100は、例えば、情報処理装置として複数のクラスタをそなえたマルチクラスタシステムとして構成されたコンピュータシステムであって、図4に示すように、複数(図4に示す例では2つ)のクラスタ(本体装置)201a,201bと、複数(図4に示す例では2つ)のSSU(System Storage Unit;システム記憶装置)301a,301bとをそなえて構成されている。
SSU301a,301bは、それぞれデータを読み/書き自在に記憶する記憶装置であって、図4に示すように、SSU301aはメモリ302a,インタフェースユニット303a−1,303a−2を、SSU301bはメモリ302b,インタフェースユニット303b−1,303b−2を、それぞれそなえて構成されている。
そして、SSU301a,301bは、クラスタ201a,201bからそれぞれ送信されるデータを格納するようになっており、この図4に示す記憶システム100においては、2つのクラスタ201a,201bが、2つのSSU301a,301bを共有しているのである。
メモリ302a,302bは、それぞれデータを読出/書込自在に格納するものであって、例えば、HDD(Hard disk drive:磁気記憶装置)やSSD(Semiconductor Storage Device:半導体記憶装置)等により構成されている。
インタフェースユニット303a−1,303a−2,303b−1,303b−2は、それぞれメモリ302a,302bに対するデータの書き込みや読み出しの各種制御を行なうものであって、クラスタ201a,201bからの指示(要求)に従って、メモリ302a,302bにデータの書き込みや読み取り等の処理を行ない、又、その結果を、指示を送信したクラスタ201a,201bに対して送信(結果報告等)するようになっている。
ここで、メモリ302aには、インタフェースユニット303a−1及びインタフェースユニット303a−2から共有されており、いずれからもデータの書き込みや読み出しを行なうことができるようになっている。又、同様に、メモリ302bには、インタフェースユニット303b−1及びインタフェースユニット303b−2から共有されており、いずれからもデータの書き込みや読み出しを行なうことができるようになっている。
また、この従来の記憶システム100においては、SSU301aとSSU301bとには、互いに同一のデータが書き込まれるようになっており、これにより、データの二重化(冗長化)が行なわれるようになっている。
具体的には、SSU301aのメモリ302aにおけるデータ領域(二重化データ領域)と、SSU301bのメモリ302bにおけるデータ領域(二重化データ領域)との少なくとも一部に同一内容を格納することにより、SSU301a,301bのいずれかが故障した場合でも、残りのSSU301b,301aにおいてクラスタ201a,201bが同一のデータにアクセスすることができるようになっている。
また、これらのデータ領域には、後述するクラスタ201a,201bによる排他制御命令のためのアクセス制御において用いられる比較用のデータ(パターン)が格納されるようになっており、図4に示す例においては、メモリ302aには読出パターンDA0が、又、メモリ302bには読出パターンDA1がそれぞれ書換可能に格納されるようになっている。
クラスタ201a,201bは、SSU301a,301bと、FC(Fibre Channel)やパラレルケーブル等の通信ケーブルを介して通信可能に接続された情報処理装置である。図4に示すように、クラスタ201aは、CPU(Central Processing Unit)202aおよびメモリユニット(主記憶)203aをそなえて構成されており、クラスタ201bは、CPU202bおよびメモリユニット(主記憶)203bをそなえて構成されている。
CPU202a,202bは、種々の演算や制御を行なうプロセッサであって、例えば、メモリユニット203aやメモリ302a,302bの他、図示しない記憶装置に格納されたプログラムを実行することにより、種々の機能を実現するようになっている。
そして、これらのクラスタ201a,201bは、種々の処理を行なうに際して、そのデータをSSU301a,301bに格納するようになっている。
ここで、クラスタ201aは、SSU301aのインタフェースユニット303a−1及びSSU301bのインタフェースユニット303b−1に接続されており、クラスタ201bは、SSU301aのインタフェースユニット303a−2及びSSU301bのインタフェースユニット303b−2に接続されている。
なお、以下、クラスタを示す符号としては、複数のクラスタのうち1つを特定する必要があるときには符号201a,201bを用いるが、任意のクラスタを指すときには符号201を用いる。
また、この従来の記憶システム100においては、2つのSSU301a,301bのうち、SSU301aがマスタとして、又、SSU301bがスレーブとして取り扱われるようになっている。
そして、この従来の記憶システム100においては、SSU301a,301bの読出パターンDA0,DA1に関する処理を行なうに際して、2つのクラスタ201a,201bのうち、いずれか1つのクラスタ201に対してのみ(排他的に)アクセス権が発行されるようになっている。
メモリユニット203a,203bは、種々のデータやプログラムを格納するものである。そして、メモリユニット203aには、許可パターンAP0及び次回許可パターンNP0が、又、メモリユニット203bには、許可パターンAP1及び次回許可パターンNP1が、それぞれ格納されている。
許可パターンAP0,AP1及び次回許可パターンNP0,NP1は、クラスタ201a,201bがSSU301a,301bに対して排他的な制御命令(排他制御命令)を実行するために用いられるデータであって、それぞれ、上述した読出パターンDA0,DA1と同じビット数(データサイズ)を有している。
クラスタ201a,201bは、SSU301a,301bに対して排他制御命令を実行するに際して、コンペアアンドスワップ(Compare-and-Swap:CAS)方式を用いてアクセス制御を行なうようになっている。
このCAS方式を用いたアクセス制御において、許可パターンAP0,AP1は、メモリ302aに格納された読出パターンDA0との比較に用いられる比較用値として用いられるようになっており、又、次回許可パターンNP0,NP1は、前述したメモリ302aに格納された読出パターンDA0を置換するための置換用値として用いられるようになっている。又、次回許可パターンNP0,NP1は、許可パターンAP0,AP1と整合するように作成されている。なお、CAS方式については、例えば、下記特許文献1に開示されている。
ここで、許可パターンAP0,許可パターンAP1,次回許可パターンNP0および次回許可パターンNP1は互いに異なるものである。
具体的には、例えば、許可パターンAP0,AP1は、SSU301a,301bのメモリ(共有資源)302a,302bに、アクセスする順番を示す情報であって、これらの許可パターンAP0,AP1のうち値の小さい方のクラスタ201が、メモリ302a,302bに対して最も早くアクセスする権利を有することを示す。
この場合、次回許可パターンNP0,NP1は、許可パターンAP0,AP1の次の順番を示す情報(大きい値)である。
そして、これらの許可パターンAP0,AP1および次回許可パターンNP0,NP1は、クラスタ201による共有資源へのアクセスが行なわれる度に、順次、更新(インクリメント)されるようになっている。
そして、この従来の記憶システム100においては、2つのクラスタ201のうち、いずれか1つのクラスタ201にアクセス権が取得された時点で、そのアクセス権を有するクラスタ201(例えば、クラスタ201a)が、SSU301a,301bの各読出パターンDA0,DA1に、同一の次回許可パターンNP0を用いて上書きすることにより書き換えを行なうのである。
ここで、図5を参照しながら、従来の記憶システム100におけるクラスタ201がSSU301a,301bに対するアクセス権を得られた場合の処理の流れを説明する。なお、この図5においては、クラスタ201aがアクセス権を得ることができた例について示している。
なお、以下、クラスタ201が、SSU301a,301bのメモリ302a,302b(共有資源)に対して、次に(最先に)アクセスする権利(アクセス権)を得ることを、許可パターンに対するアクセス権を得ると表現する場合がある。
先ず、クラスタ201aは、メモリユニット203aに対して許可パターンAP0の読み出しを要求する。メモリユニット203aから許可パターンAP0が返されるので(図5の符号a1参照)、クラスタ201aは、この許可パターンAP0をレジスタ(図示省略)に格納する。
また、クラスタ201aは、マスタであるSSU301aに対して、読出パターンDA0のロック読み出しを行なう(図5の符号a2参照)。
なお、この従来の記憶システム100においては、クラスタ201aに対する読出パターンDA0のロック読み出しが許可されると、SSU301aは、このクラスタ201aからアンロックの要求がされて来るまで、クラスタ201bに対して読出パターンDA0に対するロック読み出しを許可しないようになっている。
SSU301aにおいては、メモリ302aの読出パターンDA0を読み出して(図5の符号a3参照)、この読み出した読出パターンDA0を読み出し結果報告としてクラスタ201aに送信する(図5の符号a4参照)。クラスタ201aは、SSU301aから送信された読出パターンDA0をレジスタ(図示省略)に格納する。
クラスタ201aは、許可パターンAP0と読出パターンDA0とを比較する(図5の符号a5参照)。ここで、読出パターンDA0が許可パターンAP0に一致すると、クラスタ201aは、メモリユニット203aに対して次回許可パターンNP0の読み出しを要求し、メモリユニット203aから次回許可パターンNP0が返されると(図5の符号a6参照)、この次回許可パターンNP0を図示しないレジスタに格納する。
クラスタ201aは、SSU301a,301bに対して、それぞれ読出パターンDA0,DA1の二重書き込みを要求し(図5の符号a7参照;二重書込要求)、SSU301a,301bに対して、それぞれ次回許可パターンNP0を送信する。
SSU301a,301bにおいては、それぞれ、読出パターンDA0を書き換えるための準備を行なった後(図5の符号a8参照)、次回許可パターンNP0により読出パターンDA0を書き換えることにより二重書き込みを行なう(図5の符号a9参照)。又、SSU301a,301bは、二重書き込みを行なった旨の報告(二重書込完了報告)をクラスタ201aに送信する(図5の符号a10参照)。
クラスタ201aは、SSU301a,301bの双方から読出パターンDA0,DA1の二重書込完了報告が返されると、SSU301aに対してアンロック要求の送信を行なう(図5の符号a11参照)。
SSU301aは、アンロックを実行した後に(図5の符号a12参照)、クラスタ201aに対してアンロックを完了した旨の報告を送信する(図5の符号a13参照)。
クラスタ201aは、ある許可パターンに対するアクセス権を得たため、その許可パターンに関する動作を行なうことができる唯一のクラスタ201となるのである。又、次回許可パターンNP0は、許可パターンAP0と整合するように作成されている。
また、この従来の記憶システム100において、クラスタ201aが読出パターンDA0に対するロック読み出し実行中に、クラスタ201bが読出パターンDA0に対するロック読み出しを実行した場合は、SSU301aはクラスタ201aからのアンロック要求受け取り後にクラスタ201bに対して読出パターンDA0に対するロック読み出しを許可するようになっており、この際、読出パターンDA0として、クラスタ201aにより書き込まれた次回許可パターンNP0が読み出されるようになっている。
ここで、クラスタ201bは、取得した読出パターンDA0(次回許可パターンNP0)がメモリユニット203bに格納されている自らの許可パターンAP1と一致しないため、SSU301aにアンロックを要求し、ロック処理の完了を通知する。
また、クラスタ201bは、許可パターンAP1の内容を次回許可パターンNP0と同一の内容とし、次回許可パターンNP1を許可パターンAP1と整合するように作成し、読出パターンDA0に対するロック読み出しを実行する。
なお、上述の如く、クラスタ201bが読出パターンDA0に対するロック読み出しを実行した場合において、クラスタ201bがDA0(NP0)とAP1の不一致でロック処理を完了してから、クラスタ201bが読出パターンDA0に対する再度のロック読み出しを実行するまでの間に、クラスタ201aが読出パターンDA0を書き換えていなければ、許可パターンAP1は読出パターンDA0と一致する。そこで、クラスタ201bは、次回許可パターンNP1によって読出パターンDA0,DA1に対してそれぞれ二重書き込みを行ない、これらの書き込み完了後に、SSU301aにアンロックを要求し、ロック処理の完了を通知する。
クラスタ201bは、アクセス権を得たため、その許可パターン関する処理を行なうことができる唯一のクラスタ201となる。
次に、図6を参照しながら、従来の記憶システム100におけるクラスタ201aがSSU301a,301bに対するアクセス権を得られなかった場合の処理の流れを説明する。
先ず、クラスタ201aは、メモリユニット203aに対して許可パターンAP0の読み出しを要求する。メモリユニット203aから許可パターンAP0が返されるので(図6の符号b1参照)、クラスタ201aは、この許可パターンAP0をレジスタ(図示省略)に格納する。
また、クラスタ201aは、マスタであるSSU301aに対して、読出パターンDA0のロック読み出しを行なう(図6の符号b2参照)。
なお、この従来の記憶システム100においては、クラスタ201aに対する読出パターンDA0のロック読み出しが許可されると、SSU301aは、このクラスタ201aからアンロックの要求がされて来るまで、クラスタ201bに対して読出パターンDA0に対するロック読み出しを許可しないようになっている。
SSU301aにおいては、メモリ302aの読出パターンDA0を読み出して(図6の符号b3参照)、この読み出した読出パターンDA0を読み出し結果報告としてクラスタ201aに送信する(図6の符号b4参照)。クラスタ201aは、SSU301aから送信された読出パターンDA0をレジスタ(図示省略)に格納する。
クラスタ201aは、許可パターンAP0と読出パターンDA0とを比較する(図6の符号b5参照)。ここで、読出パターンDA0が許可パターンAP0に一致しなかった場合には、クラスタ201aは、SSU301aに対してアンロック要求の送信を行なう(図6の符号b6参照)。
SSU301aは、アンロックを実行した後に(図6の符号b7参照)、クラスタ201aに対してアンロックを完了した旨の報告を送信する(図6の符号b8参照)。
特開昭62−85372号公報
しかしながら、このような従来の記憶システム100においては、例えばクラスタ201aが許可パターンに対するアクセス権を得られた場合も得られなかった場合も、読出パターンDA0のロック読み出しからアンロックまでの間は、他のクラスタ201bには読出パターンDA0に対するロック読み出しが許可されず、処理を行なうことができない。
アクセス権を得たクラスタ201aは、その後、SSU301a,301bに関する処理を行なうが、装置間インタフェースを使用しないもしくは単純な使い方をする動作であり、近年の半導体装置の性能向上等により極めて高速化されている。
これに対して、マスタのSSU301aと各クラスタ201a,201bとの通信で行われるアクセス権の取得にかかる処理時間は、相対的に遅くなっており、その結果、クラスタ201を2台から3台、4台と増やしたとしても、アクセス権を取得するために待たされるクラスタ201が増えるばかりで、システム性能は向上しないという課題がある。
本発明は、このような課題に鑑み創案されたもので、アクセス権の取得に要する時間を短縮することにより、システムの処理性能を向上できるようにすることを目的とする。
このため、この処理方法は、比較用データを保持する比較用データ保持部と書換用データを保持する書換用データ保持部とプロセッサとをそなえた複数の処理装置と、前記複数の処理装置のそれぞれと通信可能に接続され、読出用データを書換自在に保持する読出用データ保持部と前記複数の処理装置によって共有される記憶部とをそなえた複数の記憶装置とをそなえた記憶システムにおいて、該処理装置から該記憶部に排他的にアクセスするための排他制御命令を処理する処理方法であって、該処理装置が該記憶部に対して該排他制御命令を実行するに際して、前記複数の記憶装置のうち一の記憶装置に対して、該比較用データを送信する比較用データ送信ステップと、前記一の記憶装置において、該処理装置から送信された該比較用データと該読出用データとを比較する比較ステップと、前記一の記憶装置において該比較用データと該読出用データとの比較が行なわれる前に、該処理装置が、前記複数の記憶装置に対してそれぞれ該書換用データを送信する書換用データ送信ステップと、該記憶装置が、前記書換用データ送信ステップにおいて送信された該書換用データを書換用データ格納部に格納する書換用データ格納ステップと、該読出用データ保持部に格納された該読出用データを、該書換用データ格納部に格納された該書換用データにより書き換える書換処理ステップとをそなえ、該記憶装置が、該比較ステップにおける比較の結果、該比較用データと該読出用データとが一致する場合に、該書換処理ステップによる該読出用データの書き換え処理にかかる準備処理を開始し、当該処理方法は、更に、前記一の記憶装置が、該比較ステップにおける比較結果を該処理装置に対して送信する比較結果送信ステップと、該処理装置が、該比較結果送信ステップにおいて、該比較用データと該読出用データとが一致する旨の比較結果が送信された場合に、前記複数の記憶装置のそれぞれに対して、該書換処理ステップにおいて該書換用データによる該読出用データの書換えを行なわせるように指示を送信する書換指示送信ステップとをそなえる(請求項1)。
また、この記憶システムは、プロセッサをそなえた複数の処理装置と、前記複数の処理装置のそれぞれと通信可能に接続され、前記複数の処理装置によって共有される記憶部をそなえた複数の記憶装置とをそなえ、前記複数の処理装置のそれぞれが該記憶部に対して排他的にアクセスするための排他制御命令を実行可能な記憶システムであって、該処理装置が、比較用データを保持する比較用データ保持部と、書換用データを保持する書換用データ保持部と、該記憶部に対して該排他制御命令を実行するに際して、前記複数の記憶装置のうち一の記憶装置に対して、該比較用データを送信する比較用データ送信部と、該記憶部に対して該排他制御命令を実行するに際して、前記複数の記憶装置に対してそれぞれ該書換用データを送信する書換用データ送信部とをそなえ、前記一の記憶装置が、読出用データを書換自在に保持する読出用データ保持部と、該処理装置から送信された該比較用データと該読出用データとを、前記処理装置において該書換用データ送信部による該書換用データの送信が行なわれた後に、比較する比較部と、該比較部による比較結果を該処理装置に対して送信する比較結果送信部と、前記書換用データ送信部によって送信された該書換用データを格納する書換用データ格納部と、該読出用データ保持部に保持された該読出用データを、該書換用データ格納部に格納された該書換用データにより書き換える書換処理部とをそなえ、該比較部による比較の結果、該比較用データと該読出用データとが一致する場合に、該書換処理部による該読出用データの書き換え処理にかかる準備処理を開始し、前記処理装置が、更に、該比較結果送信部から、該比較用データと該読出用データとが一致する旨の比較結果が送信された場合に、前記複数の記憶装置のそれぞれに対して、該書換処理部により、該書換用データによる該読出用データの書換えを行なわせる指示を送信する書換指示送信部をそなえる(請求項)。
開示の処理方法および記憶システムによれば、読出用データの二重書込処理を開始するまでの時間を短縮することができ、これにより、排他制御処理にかかるアクセス権の取得に要する時間を短縮し、システムの処理性能を向上できる。
また、比較用データと読出用データとの比較の結果、これらの比較用データと読出用データとが不一致であることが判明した場合に、記憶部に対するアンロック処理を自律的に行なうことができ、これにより、読出用データのロック読み出しからアンロックまでの時間を短縮することができる。
以下、図面を参照して本記憶システムおよび処理方法に係る実施の形態を説明する。
図1は実施形態の一例としての記憶システムの構成を模式的に示す図である。
本記憶システム100は、例えば、複数のクラスタをそなえたマルチクラスタシステムとして構成されたコンピュータシステムであって、図1に示すように、複数(図1に示す例では2つ)のクラスタ(処理装置,本体装置)20a,20bと、複数(図1に示す例では2つ)のSSU(System Storage Unit;システム記憶装置,記憶装置)30a,30bとをそなえて構成されている。
クラスタ20a,20bは、SSU30a,30bと、FC(Fibre Channel)やパラレルケーブル等の通信線を介して通信可能に接続された情報処理装置であって、種々の処理を行なうに際して、そのデータをSSU30a,30bに格納するようになっている。
図1に示すように、クラスタ20aは、CPU(Central Processing Unit;プロセッサ)21aおよびメモリユニット(主記憶)22aをそなえて構成されており、クラスタ20bは、CPU(プロセッサ)21bおよびメモリユニット(主記憶)22bをそなえて構成されている。
クラスタ20aは、後述するSSU30aのインタフェースユニット31a−1及びSSU30bのインタフェースユニット31b−1に接続されており、クラスタ20bは、SSU30aのインタフェースユニット31a−2及びSSU30bのインタフェースユニット31b−2に接続されている。
なお、以下、クラスタを示す符号としては、複数のクラスタのうち1つを特定する必要があるときには符号20a,20bを用いるが、任意のクラスタを指すときには符号20を用いる。
同様に、以下、SSUを示す符号としては、複数のSSUのうち1つを特定する必要があるときには符号30a,30bを用いるが、任意のSSUを指すときには符号30を用いる。
また、本記憶システム100においては、2つのSSU30a,30bのうち、SSU30aがマスタとして、又、SSU30bがスレーブとして取り扱われるようになっており、後述する排他制御命令の実行に際しては、これらの複数のSSU30のうち、マスタのSSU30aとの間において、排他制御に関するアクセス権の設定等の各種処理が行なわれるようになっている。
すなわち、排他制御命令の実行に際して、クラスタ20は、マスタであるSSU30aとの間でアクセス権に関する処理を行なうようになっている。
なお、複数のSSU30間におけるマスタ及びスレーブの判断は、例えば、SSU30において、マスタもしくはスレーブである旨を示す設定を予め行なうことにより実現することができる。
例えば、ジャンパスイッチやディップスイッチ等の物理的なスイッチを用いて設定することにより、マスタもしくはスレーブの認識するための設定を行なってもよく、又、メモリ32a,32b等における所定の領域に、マスタもしくはスレーブを認識するためのフラグをソフトウェア的に設定してもよく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
そして、クラスタ20やSSU30は、これらの設定に基づいて、そのSSU30がマスタであるかスレーブであるかの判断を行なう。
メモリユニット22a,22bは、種々のデータやプログラムを読出可能に格納するものである。
また、メモリユニット22aには、許可パターン(比較用データ)AP0及び次回許可パターン(書換用データ)NP0が、又、メモリユニット22bには、許可パターン(比較用データ)AP1及び次回許可パターン(書換用データ)NP1が、それぞれ書換可能に格納されている。
許可パターンAP0,AP1及び次回許可パターンNP0,NP1は、クラスタ20a,20bがSSU30a,30bに対して、例えば、コンペアアンドスワップ(Compare-and-Swap:CAS)方式のような排他的な制御命令(排他制御命令)を実行する際に用いられるデータである。
ここで、許可パターンAP0,許可パターンAP1,次回許可パターンNP0および次回許可パターンNP1は、互いに同じビット数(データサイズ)を有する異なるパターンである。
具体的には、例えば、許可パターンAP0,AP1は、SSU30a,30bのメモリ(共有資源)32a,32bに、アクセスする順番を示す情報であって、これらの許可パターンAP0,AP1のうち値の小さい方に対応するクラスタ20が、メモリ32a,32bに対して最も早くアクセスする権利を有することを示す。
この場合、次回許可パターンNP0,NP1は、許可パターンAP0,AP1の次の順番を示す情報(大きい値)である。
そして、これらの許可パターンAP0,AP1および次回許可パターンNP0,NP1は、クラスタ20による共有資源へのアクセスが行なわれる度に、それぞれ順次、更新(インクリメント)されるようになっている。例えば、この更新により、許可パターンAP0には次回許可パターンNP0の値が設定され(AP0=NP0)、次回許可パターンNP0の値はインクリメント(NP0=NP0+1)されるのである。
なお、これらの許可パターンAP0,AP1,次回許可パターンNP0,NP1,読出パターンDA0の各値の設定手法は、CAS手法において一般的に用いられている手法を適宜用いることができるので、その詳細な説明については省略する。
SSU30a,30bに対する排他制御命令に際しては、読出パターンDA0と許可パターンAP0が一致するクラスタ20が、そのSSU30a,30bに対するアクセス権を有するものとして取り扱われ、その次回許可パターンNP0によって、読出パターンDA0が書き換えられるのである(二重書換)。
なお、本実施形態においては、クラスタ20が、SSU30a,30bのメモリ32a,32b(共有資源)に対して、次に(最先に)アクセスする権利(アクセス権)を得ることを、許可パターンに対するアクセス権を得ると表現する場合がある。
また、本記憶システム100においては、SSU30a,30bに関する排他制御命令を実行するに際して、これらのリソース(SSU30a,30b)における複数のクラスタ20の競合を回避すべく、複数のクラスタ20のうち、いずれか1つのクラスタ20に対してのみ(排他的に)アクセス権が発行されるようになっている。
この排他制御命令にかかるアクセス制御において、許可パターンAP0,AP1は、後述するメモリ30aに格納されている比較パターンDA0との比較に用いられる比較用データとして用いられるようになっており、又、次回許可パターンNP0,NP1は、メモリ302aに格納された比較パターンDA0を書き換える(置換する)ための書換用データとして用いられるようになっている。
すなわち、本記憶システム100においては、メモリユニット22a,22bが、許可パターン(比較用データ)AP0,AP1を保持する比較用データ保持部として機能するとともに、次回許可パターン(書換用データ)NP0,NP1を保持する書換用データ保持部として機能するようになっている。
また、これらの次回許可パターンNP0,NP1は、許可パターンAP0,AP1と整合するように作成されている。
そして、2つのクラスタ20のうち、いずれか1つのクラスタ20にアクセス権が取得された時点で、そのアクセス権を有するクラスタ20が、SSU30a,30bの各比較パターンDA0,DA1に上書きして同一のデータを書き込むのである。
CPU21a,21bは、種々の演算や制御を行なうプロセッサであって、例えば、メモリユニット22aやメモリ30a,30bの他、図示しない記憶装置に格納されたプログラムを実行することにより、種々の機能を実現するようになっている。
例えば、本記憶システム100においては、CPU21a,21bは、かかるプログラムを実行することにより、データ送信部211,指示送信部212及びロック比較書込要求送信部213として機能するようになっている。
ここで、データ送信部(比較用データ送信部,書換用データ送信部)211は、メモリユニット22a,22bに格納された許可パターンAP0,AP1や次回許可パターンNP0,NP1を、図示しない通信インタフェースを介してSSU30aやSSU30bに送信するものである。
具体的には、データ送信部(比較用データ送信部)211は、SSU30a,30bに対して排他制御命令を実行するに際して、複数のSSU30のうち、一の(マスタの)SSU30aに対して、許可パターンAP0を送信するようになっている。又、データ送信部(書換用データ送信部)211は、SSU30a,30bに対して排他制御命令を実行するに際して、一の(マスタの)SSU30aにおいて比較部312(詳細は後述)による許可パターンAP0と読出パターンDA0との比較が行なわれる前に、各SSU30a,30bに対してそれぞれ次回許可パターンNP0を送信するようになっている。
ロック比較書込要求送信部213は、SSU30a,30bに関する排他制御命令を実行するに際して、SSU30a,30bのそれぞれに対して、ロック比較書込要求を送信するようになっている。
このロック比較書込要求は、マスタであるSSU30aに対しては、レジスタ315に格納された読出パターンDA0とレジスタ316に格納された許可パターンAP0との比較を比較部312に行なわせる命令である。又、ロック比較書込要求は、この比較部312による比較の結果、読出パターンDA0と許可パターンAP0とが一致した場合に、レジスタ317に格納された次回許可パターンNP0を、メモリ32aの所定領域に上書き(二重書き込み)させるための準備を行なわせ、更に、その後、そのクラスタ20から二重書き込み実行要求が送信された場合に、読出パターンDA0を次回許可パターンNP0により書き換えさせる指示を含んでいる。
また、このロック比較書込要求は、スレーブであるSSU30bに対しては、レジスタ317に格納された次回許可パターンNP0を、メモリ32bの所定領域に上書き(二重書き込み)させるための準備を行なわせ、更に、その後、クラスタ20から二重書き込み実行要求が送信された場合に、読出パターンDA0を次回許可パターンNP0により書き換えさせるようになっている。
そして、このロック比較書込要求は、一のオペレーションコードとしてロック比較書込要求送信部213からSSU30a,30bに対してそれぞれ出力され、このオペレーションコードを受信したSSU30a,30bにおいては、それぞれ、書込処理部313等が、このロック比較書込要求に従った処理を行なうようになっている。
指示送信部(書換指示送信部)212は、後述するSSU30aの比較結果送信部314から、比較部312による比較結果として、許可パターンAP0と読出パターンDA0とが一致する旨の比較結果が送信された場合に、各SSU30a,30bに対して、次回許可パターンNP0による読出パターンDA0,DA1の書換えを書換処理部313(詳細は後述)により行なわせる旨の指示(二重書込実行要求)を送信するものである。
また、この指示送信部212は、比較結果送信部314から、比較部312による比較結果として、許可パターンAP0と読出パターンDA0とが不一致である旨の比較結果が送信された場合に、各SSU30a,30bに対して、次回許可パターンNP0による読出パターンDA0,DA1の書換え(二重書込)を中断する指示(二重書込中止要求)を送信するようになっている。
SSU30a,30bは、それぞれデータを読み/書き自在に記憶する記憶装置であって、上述したクラスタ20a,20bが効率的に並列処理を実現するための制御機構をそなえており、種々のデータ転送命令や排他制御命令、さらにクラスタ間通信命令を実現することができるようになっている。
図1に示すように、SSU30aはインタフェースユニット31a−1,31a−2及びメモリ32aをそなえて構成されており、SSU30bは、インタフェースユニット31b−1,31b−2及びメモリ32bをそなえて構成されている。
そして、これらのSSU30a,30bは、クラスタ20a,20bからそれぞれ送信されるデータを格納するようになっており、本記憶システム100においては、これらの2つのクラスタ20a,20bが、2つのSSU30a,30bを共有しているのである。なお、本実施形態においては、これらのSSU30a,30bにそなえられたメモリ32a,32bを、複数のクラスタ20によって共有される共有資源と表現する場合がある。
メモリ32a,32bは、それぞれデータを読出/書込自在に格納するものであって、例えば、HDD(Hard disk drive;磁気記憶装置)や半導体記憶装置等の各種の記憶装置により構成されている。
インタフェースユニット31a−1,31a−2,31b−1,31b−2は、メモリ32a,32bに対するデータの書き込みや読み出し,後述する排他制御命令に関する処理等の各種制御を行なうものであって、クラスタ20a,20bから送信される各種データや要求(指示,コマンド)を受信し、これらの要求に従って、メモリ32a,32bにデータの書き込みや読み取りを行なうようになっている。
また、これらのインタフェースユニット31a−1,31a−2,31b−1,31b−2は、メモリ32a,32bに対して行なった処理に関する結果を、指示が送信されたクラスタ20a,20bに対して送信(結果報告等)するようになっている。
図1に示す例においては、メモリ32aには、インタフェースユニット31a−1及びインタフェースユニット31a−2のいずれからもデータの書き込みや読み出しを行なうことができるようになっている。又、同様に、メモリ32bには、インタフェースユニット31b−1及びインタフェースユニット31b−2のいずれからもデータの書き込みや読み出しを行なうことができるようになっている。
また、本記憶システム100においては、SSU30aとSSU30bとには、互いに同一のデータが書き込まれるようになっており、これにより、SSU30aとSSU30bとの間でデータの二重化(冗長化)が行なわれるようになっている。
具体的には、SSU30aのメモリ32aにおける所定のデータ領域(二重化データ領域)と、SSU30bのメモリ32bにおける所定のデータ領域(二重化データ領域)とを同一内容にすることにより、SSU30a,30bのいずれかに何らかの障害が生じた場合でも、残りのSSU30b,30aにおいてクラスタ20a,20bが同一のデータにアクセスすることができるようになっている。
また、これらのデータ領域における所定位置には、クラスタ20a,20bによる排他命令のためのアクセス制御において用いられる読出パターン(読出用データ)が格納されるようになっており、図1に示す例においては、メモリ32aには読出パターンDA0が、又、メモリ32bには読出パターンDA1がそれぞれ書換可能に格納されるようになっている。
なお、これらの読出パターンDA0と読出パターンDA1としては、互いに同じデータが格納される(書き込まれる)ようになっており、前述した許可パターンAP0,AP1次回許可パターンNP0,NP1のいずれかが、これらの読出パターンDA0,DA1として格納されるようになっている。
すなわち、これらの読出パターンDA0,DA1は、それぞれ、前述した許可パターンAP0,AP1および次回許可パターンNP0,NP1と同じビット数(データサイズ)を有している。
そして、本記憶システム100においては、これらのメモリ32a,32bが、読出パターンDA0,DA1を書換自在に保持する読出用データ保持部として機能するようになっている。
インタフェースユニット31a−1は、読出パターン取得部(読出用データ取得部)311,比較回路(比較部)312,書換処理部313,比較結果送信部314およびレジスタ315,316,317をそなえて構成されている。
なお、インタフェースユニット31a−1,31a−2,31b−1,31b−2は、互いにほぼ同様の構成をそなえている。以下、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。又、図1中においては、便宜上、インタフェースユニット31b−1,31b−2の構成の図示を省略している。
読出パターン取得部311は、メモリ32aの所定領域に保持されている読出パターンDA0を取得するものであって、クラスタ20aから送信されるロック比較書込要求に従い、メモリ32aから読出パターンDA0を読み出し、レジスタ315に格納するようになっている。
レジスタ(読出用データ格納部,第1のレジスタ)315は、読出パターン取得部311によってメモリ32aから取得された読出パターンDA0を一時的に格納するデータ格納領域であって、前述した読出パターンDA0を格納可能な容量(ビット長)をそなえて構成されている。
レジスタ(比較用データ格納部,第2のレジスタ)316は、クラスタ20aのデータ送信部211によって送信される許可パターン(比較用データ)AP0を一時的に格納するデータ格納領域であって、この許可パターンAP0を格納可能な容量(ビット長)をそなえて構成されている。
比較部312は、クラスタ20aから送信された許可パターンAP0と読出パターンDA0とを比較するものであって、読出パターン取得部311によってレジスタ315に格納された読出パターンDA0と、レジスタ316に格納された許可パターンAP0とが一致するか否かを確認するようになっている。
この比較部312は、例えば、一致検出回路(コンパレータ)によって実現することができる。なお、一致検出回路は一般的に用いられるものであるので、その詳細な説明は省略する。又、比較部312としては、一致検出回路(ハードウェア)により実現する代わりに、同様の機能をソフトウェアによって実現してもよく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
比較結果送信部314は、比較部312による比較結果をクラスタ20a,20bに対して送信するものであり、インタフェースユニット31a−1にそなえられた比較結果送信部314はクラスタ20aに対して比較結果を送信し、又、インタフェースユニット31a−2にそなえられた比較結果送信部314はクラスタ20bに対して比較結果を送信するようになっている。
レジスタ(書換用データ格納部,第3のレジスタ)317は、クラスタ20a,20bから送信される次回許可パターンNP0,NP1を一時的に格納するデータ格納領域であって、この次回許可パターンNP0を格納可能な容量(ビット長)をそなえて構成されている。
そして、インタフェースユニット31a−1にそなえられたレジスタ317は、クラスタ20aから送信される次回許可パターンNP0を格納するようになっており、インタフェースユニット31a−2にそなえられたレジスタ317は、クラスタ20bから送信される次回許可パターンNP1を格納するようになっている。
書換処理部313は、比較部312による比較の結果、許可パターンAP0と読出パターンDA0とが一致する場合に、メモリ32a,32bに保持された読出パターンDA0,DA1を、レジスタ317に格納された次回許可パターンNP0,NP1により書き換えるものである。
なお、SSU30bは、SSU30aとほぼ同様の構成をそなえており、SSU30bのインタフェースユニット31b−1は、SSU30aのインタフェースユニット31a−1と、又、SSU30bのインタフェースユニット31b−2は、SSU30aのインタフェースユニット31a−2と、それぞれほぼ同様の構成をそなえている。本実施形態においては、便宜上、これらの詳細な説明は省略する。
上述の如く構成された本実施形態の記憶システム100におけるクラスタ20が許可パターンに対するアクセス権を得られた場合の処理の流れを、図2を参照しながら説明する。なお、この図2においては、クラスタ20aがアクセス権を得ることができた例について示している。
先ず、クラスタ20aにおいて、CPU21aは、メモリユニット22aに対して許可パターンAP0及び次回許可パターンNP0の読み出しを要求し、メモリユニット22aから許可パターンAP0及び次回許可パターンNP0が返される(図2の符号c1参照)。又、クラスタ20aにおいては、これらのメモリユニット22aから読み出された許可パターンAP0および次回許可パターンNP0が図示しない送出用レジスタに格納される。
また、クラスタ20a(CPU21a)は、マスタであるSSU30aとスレーブであるSSU30bとの両方に対して、読出パターンDA0,DAのロック比較書込要求を行なう(図2の符号c2参照)。
SSU30aにおいては、読出パターン取得部311が、メモリ32aの比較パターンDA0を読み出して(図2の符号c3参照;読出用データ取得ステップ)、この読み出した比較パターンDA0をレジスタ315に格納する(読出用データ格納ステップ)。
また、クラスタ20aにおいては、データ送信部211が、送出用レジスタに格納された許可パターンAP0および次回許可パターンNP0をSSU30a,30bのそれぞれに送信する(図2の符号c4参照;比較用データ送信ステップ,書換用データ送信ステップ)。
SSU30aにおいては、クラスタ20aから送信された許可パターンAP0及び次回許可パターンNP0が、レジスタ316およびレジスタ317にそれぞれ格納される(比較用データ格納ステップ,書換用データ格納ステップ)。
そして、SSU30aにおいて、比較部312が、レジスタ315に格納された読出パターンDA0と、レジスタ316に格納された許可パターンAP0との比較を行ない(図2の符号c5参照;比較ステップ)、比較結果送信部314は、この比較部312による比較結果(本例においては、レジスタ315に格納された読出パターンDA0と、レジスタ316に格納された許可パターンAP0とが一致)をクラスタ20aに送信する(図2の符号c6参照;比較結果送信ステップ)。
また、SSU30aにおいては、書込処理部313は、レジスタ317に格納されている次回許可パターンNP0によるメモリ32aの読出パターンDA0の二重書込を行なうための準備を開始する(図2の符号c7参照)。
なお、この二重書込の準備としては、例えば、書込先である読出パターンDA0の格納先のアドレス情報等、二重書込を行なうに際して必要とされる情報の取得や演算等の処理が行なわれる。
クラスタ20aにおいては、比較結果送信部314から、許可パターンAP0と読出パターンDA0とが一致する旨の比較結果が送信されると、指示送信部212が、SSU30a,30bに対して、それぞれ、次回許可パターンNP0による読出パターンDA0の書換えを行なわせる指示(二重書込実行要求)を送信する(図2の符号c8参照;書換指示送信ステップ)。
なお、この二重書込を実行するに際して必要とされる情報は、例えば、上述した符号c2(オペレーションコードや読出パターンDA0のアドレス)や符号c4(次回許可パターンNP0)によって示されるステップにおいて既にSSU30aに送信されているのである。
SSU30a,30bにおいては、書換処理部313が、レジスタ317に格納されている次回許可パターンNP0により、メモリ32aの読出パターンDA0を書き換えることにより二重書き込みを行なう(図2の符号c9参照;書換処理ステップ)。
また、SSU30a,30bは、二重書き込みを行なった旨の報告(二重書込完了報告)をそれぞれクラスタ20aに送信する(図2の符号c10参照)。
クラスタ20aは、SSU30a,30bの双方から読出パターンDA0,DA1の二重書込完了報告が返されると、SSU30aに対してアンロック要求の送信を行なう(図2の符号c11参照)。
SSU30aは、アンロックを実行した後に(図2の符号c12参照)、クラスタ20aに対してアンロックを完了した旨の報告を送信する(図2の符号c13参照)。
次に、本実施形態の記憶システム100におけるクラスタ20が許可パターンに対するアクセス権を得られなかった場合の処理の流れを、図3を参照しながら説明する。なお、この図3においては、クラスタ20aがアクセス権を得ることができなかった例について示している。
先ず、クラスタ20aにおいて、CPU21aは、メモリユニット22aに対して許可パターンAP0及び次回許可パターンNP0の読み出しを要求し、メモリユニット22aから許可パターンAP0及び次回許可パターンNP0が返される(図3の符号d1参照)。又、クラスタ20aにおいては、これらのメモリユニット22aから読み出された許可パターンAP0および次回許可パターンNP0が図示しない送出用レジスタに格納される。
また、クラスタ20a(CPU21a)は、マスタであるSSU30aとスレーブであるSSU30bとの両方に対して、読出パターンDA0,DAのロック比較書込要求を行なう(図3の符号d2参照)。
SSU30aにおいては、読出パターン取得部311が、メモリ32aの比較パターンDA0を読み出して(図3の符号d3参照;読出用データ取得ステップ)、この読み出した比較パターンDA0をレジスタ315に格納する(読出用データ格納ステップ)。
また、クラスタ20aにおいては、データ送信部211が、送出用レジスタに格納された許可パターンAP0および次回許可パターンNP0をSSU30a,30bのそれぞれに送信する(図3の符号d4参照;比較用データ送信ステップ,書換用データ送信ステップ)。
SSU30aにおいては、クラスタ20aから送信された許可パターンAP0及び次回許可パターンNP0が、レジスタ316およびレジスタ317にそれぞれ格納される(比較用データ格納ステップ,書換用データ格納ステップ)。
そして、SSU30aにおいて、比較部312が、レジスタ315に格納された読出パターンDA0と、レジスタ316に格納された許可パターンAP0との比較を行ない(図3の符号d5参照;比較ステップ)、比較結果送信部314は、この比較部312による比較結果(本例においては、レジスタ315に格納された読出パターンDA0と、レジスタ316に格納された許可パターンAP0とが不一致)をクラスタ20aに送信する(図3の符号d6参照;比較結果送信ステップ)。
SSU30aにおいては、書換処理部313が、レジスタ317に格納されている次回許可パターンNP0によるメモリ32aの読出パターンDA0の二重書込を行なうための準備を開始する(図3の符号d7参照)。
また、SSU30aにおいては、比較部312による比較結果により、レジスタ315に格納された読出パターンDA0と、レジスタ316に格納された許可パターンAP0とが不一致であることが判明すると、メモリ32aに対するアンロック処理を自律的に行なう(図3の符号d8参照)。
クラスタ20aにおいては、指示送信部212は、比較結果送信部314から、比較部312による比較結果として、レジスタ315に格納された読出パターンDA0と、レジスタ316に格納された許可パターンAP0とが不一致である旨の結果が返信されると、書込処理部313が、各SSU30a,30bに対して、次回許可パターンNP0による読出パターンDA0,DA1の書換え(二重書込)を中断する指示(二重書込中止要求)を送信する(図3の符号d9参照)。
SSU30a,30bにおいては、書込処理部313による次回許可パターンNP0による読出パターンDA0,DA1の書換え(二重書込)を中断し(図3の符号d10参照)、クラスタ20aに対して、それぞれ、二重書込を中断した旨の報告(二重書込中断完了報告)を送信する(図3の符号d11参照)。
このように、本実施形態の記憶システム100によれば、SSU30aにおいてレジスタ315,316および比較部312をそなえ、この比較部312による許可パターンAP0と読出パターンDA0との比較が行なわれた後に、比較結果送信部314がクラスタ20aに対して比較結果を送信するのと並行して、書込処理部313が、レジスタ317に格納されている次回許可パターンNP0によるメモリ32aの読出パターンDA0の二重書込を行なうための準備を開始するので、読出パターンDA0の二重書込処理を開始するまでの時間を短縮することができる。これにより、アクセス権の取得に要する時間を短縮し、システムの処理性能を向上できる。
また、SSU30aにおける許可パターンAP0と読出パターンDA0との比較に先立って、クラスタ20aにおいて、メモリユニット22aからの許可パターンAP0及び次回許可パターンNP0の読み出しを行なうとともに、これらの許可パターンAP0及び次回許可パターンNP0をSSU30a,30bに対して送信するので、比較部312によって読出パターンDA0と許可パターンAP0との比較が行なわれてから、読出パターンDA0,DA1の二重書き込みが完了するまでの時間を短縮することができる。これによっても、アクセス権の取得に要する時間を短縮し、システムの処理性能を向上できる。
さらに、次回許可パターンNP0のメモリユニット22a,22bからの読み出しを、許可パターンAP0の読み出しとともに行なっているので(図2の符号c1参照)、排他制御命令にかかる処理時間を短縮することができる。
近年の記憶装置は複数要求を可能としており、又、複数バンクを持つことが可能であれば複数同時読み出しを行なうことができるので、これらの許可パターンAP0と次回許可パターンNP0とを同時に読み出すために要する読出実行時間は、許可パターンAP0だけを読み出すために要する読出実行時間の2倍よりも小さくなる。従って、メモリユニット22a,22bから許可パターンAP0及び次回許可パターンNP0を読み出すために要する時間を短縮することができることは明らかである。
また、SSU30aにおいてレジスタ315,316および比較部312をそなえることにより、クラスタ20aがSSU30a,30bに対するアクセス権を得られなかった場合においても、比較部312による許可パターンAP0と読出パターンDA0との比較が行なわれ、レジスタ315に格納された読出パターンDA0と、レジスタ316に格納された許可パターンAP0とが不一致であることが判明すると、メモリ32aに対するアンロック処理を自律的に行なうことができ、これにより、読出パターンDA0のロック読み出しからアンロックまでの時間を短縮することができる。
そして、上述の如く、読出パターンDA0のロック読み出しからアンロックまでの時間を短縮することができるので、クラスタ20の台数を2台から3台、4台・・・と増やしていくことでシステム性能が向上することが期待できる。
なお、クラスタ20において、上述したデータ送信部211,指示送信部212及びロック比較書込要求送信部213としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
データ送信部211,指示送信部212及びロック比較書込要求送信部213としての機能を実現する際には、ハードウェアの組み合わせで実現するようにしてもよく、内部記憶装置(本実施形態ではメモリユニット22a,22bやその他の図示しないRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU21a,21b)によって実行されるようにしてもよい。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、クラスタ20がコンピュータとしての機能を有しているのである。
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク,CD,DVD,ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
そして、開示の記憶システムおよび処理方法は、上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
なお、上述の実施形態が開示されていれば、本実施形態を当業者によって実施・製造することが可能である。
複数の処理装置と複数の処理対象をそなえたシステムにおいて、処理対象に対して排他的にアクセスして行なう種々の処理に適用できる。
実施形態の一例としての記憶システムの構成を模式的に示す図である。 実施形態の記憶システムにおけるクラスタがSSUに対するアクセス権を得られた場合の処理の流れを説明するための図である。 実施形態の記憶システムにおけるクラスタがSSUに対するアクセス権を得られなかった場合の処理の流れを説明するための図である。 従来の記憶システムの構成を模式的に示す図である。 従来の記憶システムにおけるSSUに対する排他的書き込み制御手法を説明するための図である。 従来の記憶システムにおけるSSUに対する排他的書き込み制御手法を説明するための図である。
符号の説明
20a,20b,20 クラスタ(処理装置)
21a,21b CPU(プロセッサ)
22a,22b メモリユニット
30a,30b,30 SSU(記憶装置)
31a−1,31a−2,31b−1,31b−2 インタフェースユニット
100 記憶システム
211 データ送信部(比較データ送信部,書換用データ送信部)
212 書換指示送信部
213 ロック比較書込要求送信部
311 読出パターン取得部
312 比較部
313 書換処理部
314 比較結果送信部
315 レジスタ(読出用データ格納部)
316 レジスタ(比較用データ格納部)
317 レジスタ(書換用データ格納部)
AP0 許可パターン(比較用データ)
DA0 読出パターン(読出用データ)
NP0 次回許可パターン(書換用データ)

Claims (4)

  1. 比較用データを保持する比較用データ保持部と書換用データを保持する書換用データ保持部とプロセッサとをそなえた複数の処理装置と、前記複数の処理装置のそれぞれと通信可能に接続され、読出用データを書換自在に保持する読出用データ保持部と前記複数の処理装置によって共有される記憶部とをそなえた複数の記憶装置とをそなえた記憶システムにおいて、該処理装置から該記憶部に排他的にアクセスするための排他制御命令を処理する処理方法であって、
    該処理装置が該記憶部に対して該排他制御命令を実行するに際して、前記複数の記憶装置のうち一の記憶装置に対して、該比較用データを送信する比較用データ送信ステップと、
    前記一の記憶装置において、該処理装置から送信された該比較用データと該読出用データとを比較する比較ステップと
    前記一の記憶装置において該比較用データと該読出用データとの比較が行なわれる前に、該処理装置が、前記複数の記憶装置に対してそれぞれ該書換用データを送信する書換用データ送信ステップと、
    該記憶装置が、前記書換用データ送信ステップにおいて送信された該書換用データを書換用データ格納部に格納する書換用データ格納ステップと、
    該読出用データ保持部に格納された該読出用データを、該書換用データ格納部に格納された該書換用データにより書き換える書換処理ステップとをそなえ、
    該記憶装置が、該比較ステップにおける比較の結果、該比較用データと該読出用データとが一致する場合に、該書換処理ステップによる該読出用データの書き換え処理にかかる準備処理を開始し、
    当該処理方法は、更に、
    前記一の記憶装置が、該比較ステップにおける比較結果を該処理装置に対して送信する比較結果送信ステップと、
    該処理装置が、該比較結果送信ステップにおいて、該比較用データと該読出用データとが一致する旨の比較結果が送信された場合に、前記複数の記憶装置のそれぞれに対して、該書換処理ステップにおいて該書換用データによる該読出用データの書換えを行なわせるように指示を送信する書換指示送信ステップとをそなえることを特徴とする、処理方法。
  2. 前記一の記憶装置が、前記比較用データ送信ステップにおいて送信された該比較用データを比較用データ格納部に格納する比較用データ格納ステップと、
    前記一の記憶装置が、該読出用データ保持部に保持されている読出用データを取得する、読出用データ取得ステップと、
    前記一の記憶装置が、該読出用データ取得ステップにおいて取得された該読出用データを読出用データ格納部に格納する読出用データ格納ステップとをそなえ、
    該比較ステップにおいて、該比較用データ格納部に格納された該比較用データと、読出用データ格納部に格納されている該読出用データとを比較することを特長とする、請求項1に記載の処理方法。
  3. プロセッサをそなえた複数の処理装置と、前記複数の処理装置のそれぞれと通信可能に接続され、前記複数の処理装置によって共有される記憶部をそなえた複数の記憶装置とをそなえ、前記複数の処理装置のそれぞれが該記憶部に対して排他的にアクセスするための排他制御命令を実行可能な記憶システムであって、
    該処理装置が、
    比較用データを保持する比較用データ保持部と、
    書換用データを保持する書換用データ保持部と、
    該記憶部に対して該排他制御命令を実行するに際して、前記複数の記憶装置のうち一の記憶装置に対して、該比較用データを送信する比較用データ送信部と
    該記憶部に対して該排他制御命令を実行するに際して、前記複数の記憶装置に対してそれぞれ該書換用データを送信する書換用データ送信部とをそなえ、
    前記一の記憶装置が、
    読出用データを書換自在に保持する読出用データ保持部と、
    該処理装置から送信された該比較用データと該読出用データとを、前記処理装置において該書換用データ送信部による該書換用データの送信が行なわれた後に、比較する比較部と
    該比較部による比較結果を該処理装置に対して送信する比較結果送信部と、
    前記書換用データ送信部によって送信された該書換用データを格納する書換用データ格納部と、
    該読出用データ保持部に保持された該読出用データを、該書換用データ格納部に格納された該書換用データにより書き換える書換処理部とをそなえ、
    該比較部による比較の結果、該比較用データと該読出用データとが一致する場合に、該書換処理部による該読出用データの書き換え処理にかかる準備処理を開始し、
    前記処理装置が、更に、
    該比較結果送信部から、該比較用データと該読出用データとが一致する旨の比較結果が送信された場合に、前記複数の記憶装置のそれぞれに対して、該書換処理部により、該書換用データによる該読出用データの書換えを行なわせる指示を送信する書換指示送信部をそなえることを特徴とする、記憶システム。
  4. 前記一の記憶装置が、
    前記比較用データ送信部によって送信された該比較用データを格納する比較用データ格納部と、
    該読出用データ保持部に保持されている読出用データを取得する、読出用データ取得部と、
    該読出用データ取得部によって取得された該読出用データを格納する読出用データ格納部とをそなえ、
    該比較部が、該比較用データ格納部に格納された該比較用データと、読出用データ格納部に格納されている該読出用データとを比較することを特長とする、請求項に記載の記憶システム。
JP2008248378A 2008-09-26 2008-09-26 処理方法及び記憶システム Expired - Fee Related JP5347408B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008248378A JP5347408B2 (ja) 2008-09-26 2008-09-26 処理方法及び記憶システム
US12/557,880 US20100082909A1 (en) 2008-09-26 2009-09-11 Memory system and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008248378A JP5347408B2 (ja) 2008-09-26 2008-09-26 処理方法及び記憶システム

Publications (2)

Publication Number Publication Date
JP2010079676A JP2010079676A (ja) 2010-04-08
JP5347408B2 true JP5347408B2 (ja) 2013-11-20

Family

ID=42058829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008248378A Expired - Fee Related JP5347408B2 (ja) 2008-09-26 2008-09-26 処理方法及び記憶システム

Country Status (2)

Country Link
US (1) US20100082909A1 (ja)
JP (1) JP5347408B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9977762B2 (en) * 2015-04-22 2018-05-22 International Microsystems, Inc. Disjoint array computer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3831119A (en) * 1972-12-14 1974-08-20 Electronic Memories & Magnetic Credit card and reader apparatus
JPS63113658A (ja) * 1986-10-30 1988-05-18 Fujitsu Ltd インタロツク命令制御方式
JPS63286959A (ja) * 1987-05-20 1988-11-24 Fujitsu Ltd メモリアクセス方式
JPH04102143A (ja) * 1990-08-21 1992-04-03 Fujitsu Ltd メモリ装置
JP2963298B2 (ja) * 1993-03-26 1999-10-18 富士通株式会社 二重化共有メモリにおける排他制御命令のリカバリ方法および計算機システム
US6128690A (en) * 1998-03-24 2000-10-03 Compaq Computer Corporation System for remote memory allocation in a computer having a verification table contains information identifying remote computers which are authorized to allocate memory in said computer
US20050238254A1 (en) * 2004-04-23 2005-10-27 Jens Guhring Method and system for fast n-dimensional dynamic registration

Also Published As

Publication number Publication date
US20100082909A1 (en) 2010-04-01
JP2010079676A (ja) 2010-04-08

Similar Documents

Publication Publication Date Title
US20230084818A1 (en) Granting access to a storage device based on reservations
US7346754B2 (en) Control method for storage device controller system, and storage device controller system
KR19980063551A (ko) 신호 처리 장치 및 소프트웨어
US7921341B2 (en) System and method for reproducing memory error
US11003577B2 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program of access control with respect to semiconductor device memory
JP5347408B2 (ja) 処理方法及び記憶システム
JP6944117B2 (ja) 情報処理装置、転送制御方法および転送制御プログラム
US20200364109A1 (en) Memory controller, memory, memory system, information processing system, and method of control thereof
KR20100056400A (ko) 기록가능 메모리 장치
US8707089B2 (en) Storage control device for formatting to storage media, storage control method for formatting to storage media, and medium for storing storage control program for formatting to storage media
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
EP2273365A1 (en) Combined memory and storage device in an apparatus for data processing
US20240256317A1 (en) Systems and methods for backend architecture provisioning and emulation
JP4461089B2 (ja) ストレージ制御装置およびストレージ制御方法
US8392759B2 (en) Test method, test program, test apparatus, and test system
JP2011192053A (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
US12086076B2 (en) Computing devices for encryption and decryption of data
US20060277326A1 (en) Data transfer system and method
US20070208929A1 (en) Device information managements systems and methods
CN115391105B (zh) 一种应用于存储设备的存储控制方法和装置
JP6704127B2 (ja) 情報処理装置
US20110145519A1 (en) Data writing apparatus and data writing method
JP2024102745A (ja) ギャングライタ、rom、ギャングライタシステム
JP3599099B2 (ja) 電子ディスク装置用シーズ制御回路
CN116820849A (zh) 内存spd读写测试方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

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