JP4997784B2 - データ記憶システム、データ記憶方法、データ記憶プログラム - Google Patents

データ記憶システム、データ記憶方法、データ記憶プログラム Download PDF

Info

Publication number
JP4997784B2
JP4997784B2 JP2006039219A JP2006039219A JP4997784B2 JP 4997784 B2 JP4997784 B2 JP 4997784B2 JP 2006039219 A JP2006039219 A JP 2006039219A JP 2006039219 A JP2006039219 A JP 2006039219A JP 4997784 B2 JP4997784 B2 JP 4997784B2
Authority
JP
Japan
Prior art keywords
data
storage means
storage unit
order
write request
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
JP2006039219A
Other languages
English (en)
Other versions
JP2007219809A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006039219A priority Critical patent/JP4997784B2/ja
Priority to US11/649,846 priority patent/US7925810B2/en
Publication of JP2007219809A publication Critical patent/JP2007219809A/ja
Application granted granted Critical
Publication of JP4997784B2 publication Critical patent/JP4997784B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques

Description

本発明は、同一のデータを複数のストレージ部に保存するデータ記憶システム、データ記憶方法、データ記憶プログラムに関する。
従来より、データ記憶システムにおいては、障害発生時にデータの損失を防ぐことを目的として、同一のデータを複数のストレージ部に保存することによりデータを複製している。
図11の構成では、データ転送部31が上位装置33から受信した同一のデータをストレージ部32a,32bに同時に転送し、ストレージ部32a,32bの各々にデータを保存している。このようなデータ複製方法をミラーリングと呼ぶ。特に、ハードディスク間で行うミラーリングはRAID1(Redundant Arrays of Independent Disks 1、非特許文献1参照)として知られている。ミラーリングは複数のストレージ部に同時にデータを転送するため、複製データを作成する場合も(ストレージ部32a,32bが両方ある場合)、複製データを作成しない場合(ストレージ部32a,32bの一方しかない場合)に比べて上位装置33への応答時間の増加が無いという利点がある。
ところが、図12の構成では、複数のデータ転送部41a,41bと複数のストレージ部42a,42bとが通信網44を介して接続されている。この構成では、複数のデータ転送部41a,41bが同一のストレージ部にアクセスする場合がある。この場合、単純に複数のストレージ部にデータを転送するミラーリングでは、ストレージ部間でデータの一貫性が無くなる状態が発生する。これは次の様な場合である。
例えば、ストレージ部42a,42bに対して、ほぼ同一時刻に、データ転送部41aが上位装置43aから受信したデータaを、データ転送部41bが上位装置43bから受信したデータbを、同一のアドレスに書き込もうとする場合、通信網44における遅延等により、ストレージ部42aにはデータaがデータbよりも先に到着し、ストレージ部42bにはデータbがデータaよりも先に到着する可能性がある。この時、2つの書き込みが行われた後には先に到着したデータは後に到着したデータにより上書きされるために、ストレージ部42aにはデータbが保存され、ストレージ部42bにはデータaが保存される結果となる。すなわち、ストレージ部42a,42b間のデータの一貫性が崩れた状態となる。
複数の上位装置が設けられている場合のミラーリングにおいては、ストレージ部間のデータの一貫性を保つ方法として、2相ロックと呼ばれる方式を応用した次の方法が知られている(非特許文献2参照)。図12の構成において、データ転送部41aがストレージ部42a,42bにデータの書き込みを行う時には、まず、ストレージ部42aをロックし、他のデータ転送部41bから書き込みおよびロックができない状態にする。次に、データ転送部41aは、ストレージ部42bをロックし、他のデータ転送部41bから書き込みおよびロックができない状態にする。その後、データ転送部41aは、ストレージ部42aとストレージ部42bにデータの書き込みを行い、書き込みが終了した後にストレージ部42a,42bのロックを解除する。データ転送部41bが書き込み要求を行う時も同様の手順を取る。
例えば、ストレージ部42a,42bに対して、ほぼ同一時刻に、データ転送部41aが上位装置43aから受信したデータaを、データ転送部41bが上位装置43bから受信したデータbを、同一のアドレスに書き込もうとする場合、データ転送部41a,41bはいずれもストレージ部42aのロックを試みる。データ転送部41aがデータ転送部41bよりも先にストレージ部42aをロックした場合、データ転送部41aはストレージ部42bのロックを行い、データaをストレージ部42a,42bに書き込み、ストレージ部42a,42bのロックを解除する。データ転送部41bは、データ転送部41aがストレージ部42aのロックを解除するまでストレージ部42aをロックできない。したがって、データ転送部41aがストレージ部42aのロックを解除した後に、データ転送部41bはストレージ部42a,ストレージ部42bの順でロックを行い、データbをストレージ部42a,42bに書き込み、ストレージ部42a,42bのロックを解除する。このため、ストレージ部42a,42bともデータaが保存された後にデータbが保存されるため、ストレージ部42a,42b間でデータの一貫性が崩れることが無い。
David A Patterson, Garth Gibson, and Randy H Katz、 A Case for Redundant Arrays of Inexpensive Disks (RAID) 滝沢誠著、「データベースシステム入門技術解説〜基礎から詳細技術まで〜」、株式会社ソフト・リサーチ・センター、1991年3月1日 第1刷発行、p.188-197
しかし、2相ロックを用いたミラーリングは、複数のストレージ部を順次ロックする処理が必要であるため、複製を作成すると、複製を作成しない場合に比べて応答時間が長くなるという課題がある。
さらに、2相ロックを用いたミラーリングは、複数のストレージ部を順次ロックする処理が必要であるため、複製データの数、すなわちストレージ部の数が増える程、応答時間が長くなるという課題がある。
そこで、本発明の目的は、データの一貫性を保ちつつ複製を作成する場合も、複製を作成しない場合に比べて応答時間が長くならないデータ記憶システム、データ記憶方法、データ記憶プログラムを提供することにある。
また、本発明の他の目的は、複製データの数を増やしても応答時間が長くならないデータ記憶システム、データ記憶方法、データ記憶プログラムを提供することにある。
上記目的を達成するために本発明の第1の態様のデータ記憶システムは、
複数の上位装置から受信した同一のデータを保存する第1および第2の記憶手段を有してなるデータ記憶システムであって、
前記第1の記憶手段は、前記上位装置から受信したデータの保存を実行する順序を表す順序情報を前記第2の記憶手段に送信し、
前記第2の記憶手段は、前記上位装置から受信したデータを、前記第1の記憶手段から受信した前記順序情報に基づく順序で保存することを特徴としている。
この構成によれば、第1の記憶手段が、データの保存を実行する順序を表す順序情報を第2の記憶手段に送信するため、第1の記憶手段と第2の記憶手段との間でデータの一貫性を保つことができる。また、上位装置と第1および第2の記憶手段との間の通信と、第1の記憶手段と第2の記憶手段との間の通信とは並行して行われるため、複製を作成しても複製を作成しない場合に比べて応答時間が長くなることがない。さらに、第2の記憶手段の数を増やした場合にも、上位装置と全ての第2の記憶手段との間の通信と、第1の記憶手段と全ての第2の記憶手段との間の通信とは並行して行われるため、通信回数の増加による応答時間の増加が無い。
上記目的を達成するために本発明の第2の態様のデータ記憶システムは、
複数の上位装置から受信した同一のデータを保存する第1および第2の記憶手段を有してなるデータ記憶システムであって、
前記第1の記憶手段は、
前記上位装置から受信したデータを保存するとともに、該データの保存を実行する順序を表す順序情報を前記第2の記憶手段に送信する主ストレージ手段を有し、
前記第2の記憶手段は、
前記上位装置から受信したデータを保存する副ストレージ手段と、
前記副ストレージ手段の前段に配置され、前記上位装置から受信したデータを一時保存し、前記主ストレージ手段から受信した順序情報に基づく順序で、一時保存されているデータを前記副ストレージ手段に転送する一時記憶手段とを有することを特徴としている。
この構成によれば、主ストレージ手段が、データの保存を実行する順序を表す順序情報を送信し、一時記憶手段が、上位装置からのデータを一時保存し、主ストレージ手段からの順序情報に基づく順序で、一時保存していたデータを副ストレージ手段に転送する。そのため、主ストレージ手段と副ストレージ手段には、同じ順序でデータが送信されることになるため、主ストレージ手段と副ストレージ手段との間でデータの一貫性を保つことができる。また、上位装置と主ストレージ手段および一時記憶手段との間の通信と、主ストレージ手段と一時記憶手段との間の通信とは並行して行われるため、複製を作成しても複製を作成しない場合に比べて応答時間が長くなることがない。さらに、副ストレージ手段の数を増やした場合にも、上位装置と全ての一時記憶手段との間の通信と、主ストレージ手段と全ての一時記憶手段との間の通信とは並行して行われるため、通信回数の増加による応答時間の増加が無い。
本発明によれば、第1の記憶手段から第2の記憶手段に対し、データの保存を実行する順序を表す順序情報が送信されるため、第1の記憶手段と第2の記憶手段との間でデータの一貫性を保つことができるという効果が得られる。
それに加えて、上位装置と第1および第2の記憶手段との間の通信と、第1の記憶手段と第2の記憶手段との間の通信とは並行して行われるため、複製を作成しても複製を作成しない場合に比べて応答時間が長くならないという効果が得られる。
さらに、第2の記憶手段の数を増やした場合にも、上位装置と全ての第2の記憶手段との間の通信と、第1の記憶手段と全ての第2の記憶手段との間の通信とは並行して行われるため、通信回数の増加による応答時間の増加が無いという効果が得られる。
以下に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の一実施形態によるデータ記憶システム1は、データ転送部11と、主ストレージ部12と、副ストレージ部13と、副ストレージ部13に対応して設けられた一時記憶部14と、通信網15とから構成されている。
なお、主ストレージ部12が、第1の記憶手段を構成する。また、副ストレージ部13と一時記憶部14とが、第2の記憶手段を構成する。
データ転送部11、主ストレージ部12、および一時記憶部14は、通信網15により相互に接続されており、相互に通信することが可能である。また、一時記憶部14は、その後段に1対1で接続されている副ストレージ部13と通信することが可能であり、データ転送部11は、その前段に1対1で接続されている上位装置2と通信することが可能である。
上位装置2は、データ転送部11に対して、書き込み要求およびデータ、または読み出し要求を送信するホストコンピュータ等である。
データ転送部11は、上位装置2と主ストレージ部12および一時記憶部14との間に配置されている。データ転送部11は、上位装置2から送信されてきた書き込み要求およびデータを、主ストレージ部12および一時記憶部14に転送する。一方、データ転送部11は、上位装置2から送信されてきた読み出し要求については、通常は、主ストレージ部12のデータを読み出すために主ストレージ部12に転送するが、副ストレージ部13もしくは一時記憶部14のデータを読み出すために一時記憶部14に転送しても良い。
なお、データ転送部11は、上位装置2と1対1で接続されているが、通信網15等を介して複数または1つの上位装置2と接続されていても良い。
また、データ転送部11は、上位装置2とは別個独立にデータ記憶システム1の内部に設けられているが、上位装置2の内部に設けられていても良い。
主ストレージ部12は、上位装置2から書き込み要求があった場合は、上位装置2からデータ転送部11を介して送信されてきたデータを保存し、データの保存を実行する順序を表す順序情報を一時記憶部14に送信する。なお、順序情報は、主ストレージ部12から一時記憶部14に直接送信される必要は無く、データ転送部11などを経由して送信されても良い。また、主ストレージ部12は、複数のデータ転送部11から複数の書き込み要求を受信した場合は、書き込み要求を受信した順序でデータの保存、順序情報の送信を行う。
また、主ストレージ部12は、上位装置2から読み出し要求があった場合は、保存していたデータをデータ転送部11を介して上位装置2に送信する。
主ストレージ部12は、複数設けることが可能である。ただし、その場合、複数の主ストレージ部12の各々には重複しないようにアドレス空間を割り当て、特定のアドレスに対してデータを保存する主ストレージ部12は1つだけになるようにする。
一時記憶部14は、副ストレージ部13の前段に配置されている。一時記憶部14は、データ転送部11から送信されてきた書き込み要求およびデータを一時的に保持し、主ストレージ部12から送信されてきた順序情報に基づいて副ストレージ部13にデータを転送する順序を決定し、決定した順序で副ストレージ53に書き込み要求およびデータを転送する。
副ストレージ部13は、一時記憶部14から書き込み要求を受信した順序で、一時記憶部14から受信したデータ、すなわち主ストレージ部12に保存されるデータの複製を保存する。副ストレージ部13は、複数設けることが可能である。
なお、主ストレージ部12と副ストレージ部13との関係については、例えば、1つの主ストレージ部12に対して1つの副ストレージ部13を設けること(後述の実施例1〜3参照)、1つの主ストレージ部12に対して複数の副ストレージ部13を設けること(後述の実施例4,5参照)、1つの副ストレージ部13に対して複数の主ストレージ部12を設けること(後述の実施例6参照)などが可能であるが、詳細は後述する。
通信網15は、上述したように、データ転送部11、主ストレージ部12、および一時記憶部14を相互に接続する通信網である。通信網15は、バス、イーサネット、インターネット網など、データ記憶システム1に適した任意の通信網とすれば良い。
なお、データ転送部11、主ストレージ部12、副ストレージ部13、および一時記憶部14は、それぞれ独立した装置に設けても良い。この場合、データ転送部11、主ストレージ部12、副ストレージ部13、および一時記憶部14は、イーサネット、インターネット網などの通信網15を介して互いに接続することもでき、または、イーサネット、インターネット網などの2以上の異なる通信網15のいずれかに接続し、これら通信網をルータなどの中継器で相互に接続することもできる。また、データ転送部11、主ストレージ部12、副ストレージ部13、および一時記憶部14は、コンピュータなどの同一の装置に設けても良い。この場合、データ転送部11、主ストレージ部12、副ストレージ部13、および一時記憶部14は、バスなどの通信網15を介して互いに接続することができる。
以下に、図1に示したデータ記憶システム1において、上位装置2から書き込み要求があった場合の動作について説明する。
データ転送部11は、上位装置2から書き込み要求およびデータを受信すると、受信した書き込み要求およびデータを、該当するアドレスを担当する主ストレージ部12と、該当するアドレスを担当する副ストレージ部13の前段に配置された全ての一時記憶部14とに転送する。
主ストレージ部12は、データ転送部11からの書き込み要求に従ってデータを保存するとともに、データの保存を実行する順序を表す順序情報を、該当するアドレスを担当する副ストレージ部13の前段に配置された全ての一時記憶部14に送信する。
一時記憶部14は、データ転送部11から書き込み要求およびデータを受信すると、受信した順序で書き込み要求およびデータを一時的に保存しておく。そして、一時記憶部14は、主ストレージ部12から送信された順序情報に基づいて副ストレージ部13にデータを転送する順序を決定し、決定した順序で書き込み要求およびデータを副ストレージ部13に転送する。
副ストレージ部13は、一時記憶部14から書き込み要求を受信した順序で、一時記憶部14から受信したデータを保存する。
上述したように本実施形態においては、主ストレージ部12は、データの保存を実行する順序を表す順序情報を一時記憶部14に送信し、一時記憶部14は、順序情報に基づいて副ストレージ部13にデータを送信する順序を決定する。そのため、複数の上位装置2からの複数の書き込み要求が主ストレージ部12と一時記憶部14とに異なる順序で到着した場合も、主ストレージ部12への保存順序と副ストレージ部13への保存順序とが一致することになる。すなわち、主ストレージ部12と副ストレージ部13との間でデータの一貫性が保証される。
また、本実施形態においては、データ転送部11と主ストレージ部12との間の通信と、データ転送部11と一時記憶部14との間の通信は並行して行われるのに加え、主ストレージ部12と一時記憶部14との間の順序情報を送信するための通信は、データ転送部11と主ストレージ部12および一時記憶部14との間のデータ転送や応答のための通信と並行して行う事が可能である。よって、複製データを作成するための通信回数の増加による応答時間の増加が無い。
さらには、複製データの数を増やした場合にも、データ転送部11と全ての一時記憶部14との間の通信と、主ストレージ部12と全ての一時記憶部14との間の通信とは並行して行われるため、通信回数の増加による応答時間の増加が無い。
次に、本発明の具体的な実施例について説明する。
(実施例1)
図2を参照すると、本実施例によるデータ記憶システム1は、その基本構成自体は図1と同様である。ただし、本実施例では、1つの主ストレージ部12に対して、主ストレージ部12と同じアドレス空間が割り当てられている副ストレージ部13を1つ設けた構成となっており、1つの主ストレージ部12が保存するデータの複製を1つの副ストレージ部13が保存する。
なお、図2において、データ転送部11a,11bおよび上位装置2a,2bはそれぞれ2つずつ設けられているが、特に数は制限されない。
主ストレージ部12は、処理部121と記憶部122とから構成されている。
副ストレージ部13は、処理部131と記憶部132とから構成されている。
一時記憶部14は、処理部141と記憶部142とから構成されている。
主ストレージ部12の記憶部122と副ストレージ部13の記憶部132は、ハードディスク群であってもRAID構成から成るディスクアレイであっても良く、または、半導体メモリとハードディスクの階層構造からなる装置であっても良い。また、一時記憶部14の記憶部142は、DRAM等の半導体メモリであってもハードディスク等であっても良いが、高速で不揮発性であることが望ましい。
ここで、本実施例によるデータ記憶システム1において、上位装置2aがデータ転送部11aに書き込み要求をした時の動作について、図3のシーケンス図を用いて説明する。
図3を参照すると、まず、上位装置2aは、データ転送部11aに対し書き込み要求(以下、ライトコマンドと表記)を送信する(ステップ301)。ライトコマンドには、書き込み開始アドレス(以下、開始アドレスと表記)および書き込みデータ長(以下、データ長と表記)の情報が含まれる。
データ転送部11aは、上位装置2aから受信したライトコマンドにライトコマンドを一意に判別できるコマンド識別子を付加して、そのライトコマンドを主ストレージ部12と一時記憶部14とに転送する(ステップ302,303)。
主ストレージ部12の処理部121は、データ転送部11aからのライトコマンドを受信すると、記憶部122にライトコマンドのデータ長に応じた書き込み領域を確保した後に、データ転送部11aにデータ要求を送信する(ステップ304)。
また、主ストレージ部12の処理部121は、データ転送部11aからのライトコマンドに対し、ライトコマンドを受信した順序に応じた実行順序を付加し、その実行順序とコマンド識別子とを順序情報として一時記憶部14に送信する(ステップ305)。
一時記憶部14の処理部141は、データ転送部11aからのライトコマンドを受信すると、ライトコマンドに含まれる情報を記憶部142に保存し、さらに、ライトコマンドに含まれるデータ長に応じた書き込み領域を記憶部142に確保した後に、データ転送部11aにデータ要求を送信する(ステップ306)。また、処理部141は、主ストレージ部12から順序情報を受信すると、記憶部142に保存されているライトコマンドの中から順序情報のコマンド識別子と一致するコマンド識別子を持つライトコマンドを検索し、検索したライトコマンドに対応付けて実行順序を記憶部142に保存する。
データ転送部11aは、主ストレージ部12と一時記憶部14との両方からデータ要求を受信すると、そのデータ要求を上位装置2aに送信する(ステップ307)。データ転送部11aは、上位装置2aからデータを受信すると(ステップ308)、そのデータを主ストレージ部12と一時記憶部14とに転送する(ステップ309,310)。
主ストレージ部12の処理部121は、データ転送部11aから受信したデータをあらかじめ用意した記憶部122の書き込み領域に書き込み、確認メッセージをデータ転送部11aに送信する(ステップ311)。
一時記憶部14の処理部141は、データ転送部11aから受信したデータをあらかじめ用意した記憶部142の書き込み領域に書き込む。さらに、処理部141は、実行順序とデータとがいずれも揃った時点で、確認メッセージをデータ転送部11aに送信する(ステップ312)。
データ転送部11aは、主ストレージ部12と一時記憶部14との両方から確認メッセージを受信すると、上位装置2aに確認メッセージを送信する(ステップ313)。
以降、一時記憶部14の処理部141は、あらかじめ設定した条件を満たした時に、記憶部142から次に転送を実行する実行順序が対応付けられているライトコマンドおよびデータを検索し、副ストレージ部13に送信する。さらに処理部141は、次に転送を実行する実行順序が対応付けられているライトコマンドおよびデータを検索して副ストレージ部13に送信する動作を、該当するライトコマンドおよびデータが検索されなくなるまで繰り返す。
副ストレージ部13の処理部131は、一時記憶部14からライトコマンドを受信した順序で記憶部132にデータを保存する。
ここで、上位装置2aがデータ転送部11aに書き込み要求をした時の一時記憶部14のさらに詳しい動作について、図4のフローチャートを用いて説明する。この場合、一時記憶部14は、上位装置2aからの1つのライトコマンドに対して、コマンド識別子、開始アドレス、データ長、データ、および実行順序を保存することになる。
図4を参照すると、一時記憶部14の処理部141は、待ち受け状態で(ステップA1)、外部からの何らかの情報を受信すると(ステップA2)、受信した情報の内容を解析する(ステップA3)。
例えば、ステップA2で受信した情報がライトコマンドであった場合(ステップA4)、処理部141は、ライトコマンドに含まれるコマンド識別子と開始アドレスとデータ長とを記憶部142に一時的に保存し(ステップA8)、データ長に応じた書き込み領域をデータ領域として記憶部142に確保する(ステップA9)。以降、処理部141は、データ転送部11aにデータ要求を送信した後(ステップA10)、再度ステップA1に戻り、待ち受け状態となる。
また、ステップA2で受信した情報がデータであった場合(ステップA5)、処理部141は、あらかじめ記憶部142に確保しておいたデータ領域にデータを保存する(ステップA11)。以降、再度ステップA1に戻り、待ち受け状態となる。
また、ステップA2で受信した情報が順序情報であった場合(ステップA6)、処理部141は、記憶部142に保存されているライトコマンドの中から順序情報に含まれるコマンド識別子と一致するコマンド識別子を持つライトコマンドを検索し、検索したライトコマンドに対応づけて実行順序を記憶部142に保存する(ステップA12)。続いて、処理部141は、実行順序を保存した後に、あらかじめ設定しておいたデータ転送条件を満たし、副ストレージ部14にライトコマンドおよびデータを転送するか否かを判別する(ステップA13)。データ転送条件を満たす場合とは、例えば、一時記憶部14の記憶部142の空き容量が一定量を下回った場合や、副ストレージ部13に転送していないライトコマンドの数が一定数以上になった場合などがある。データ転送条件を満たした場合(ステップA14)、処理部141は、記憶部142に保存されている、次に転送を実行する実行順序が対応付けられているライトコマンドおよびデータを、副ストレージ部13に送信する動作を、次に転送を実行する実行順序が対応付けられているライトコマンドおよびデータが検索されなくなるまで繰り返す(ステップA15)。あるいは、一時記憶部14の処理部141は、あらかじめ設定しておいた値に基づいて、副ストレージ部13に一度に転送するライトコマンド数もしくはデータ量を決定してもよい。以降、再度ステップA1に戻り、待ち受け状態となる。
なお、ステップA2で受信した情報がライトコマンド、データ、または順序情報のいずれでもない場合、一時記憶部14の処理部141は、予め設定されたエラー処理を行う(ステップA7)。
また、一時記憶部14の処理部141は、副ストレージ部13に転送したライトコマンドおよびデータについては、記憶部142から消去しても良い。
これにより、副ストレージ部13には、主ストレージ部12にデータが保存されるのと同じ順序でデータが保存されるので、主ストレージ部12と副ストレージ部13との間のデータは一貫したものとなる。
ここで、主ストレージ部12と副ストレージ部13との間でデータ保存順序が同じになることについて、図5を用いて説明する。
図5の例では、データ転送部11aが上位装置2aからライトコマンドaを受信したのとほぼ同時刻に、データ転送部11bが上位装置2bからライトコマンドbを受信した場合を考える。ライトコマンドa,bの内容を図5Aに示す。ライトコマンドa,bは、いずれも開始アドレス200hからデータ長40hセクタのライトを要求するコマンドであるとする。なお、数値の後にhをつけたものは16進数を表す。
データ転送部11aは、ライトコマンドaにコマンド識別子(ここでは1−0010とする)を付加してライトコマンドa’を生成する。データ転送部11bは、ライトコマンドbにコマンド識別子(ここでは2−0005とする)を付加してライトコマンドb’を生成する。コマンド識別子は、データ転送部11a,11b間で同じものを付加しないように、データ転送部11a,11b毎に異なる体系とする。データ転送部11a,11bでそれぞれ生成されたライトコマンドa’,b’の内容を図5Bに示す。
データ転送部11aはライトコマンドa’を、データ転送部11bはライトコマンドb’をそれぞれ主ストレージ部12と一時記憶部14に送信する。
ここでは、主ストレージ部にはライトコマンドa’がライトコマンドb’よりも先に到着し、一時記憶部14にはライトコマンドb’がライトコマンドa’よりも先に到着した場合を考える。
主ストレージ部12の処理部121は、ライトコマンドa’をライトコマンドb’よりも先に処理する。処理部121は、ライトコマンドa’の実行順序を1とし、ライトコマンドa’のコマンド識別子と実行順序とを順序情報aとして一時記憶部14に送信する。また、処理部121は、ライトコマンドb’の実行順序を2とし、コマンドb’のコマンド識別子と実行順序とを順序情報bとして一時記憶部14に送信する。主ストレージ部12から一時記憶部14に送信される順序情報a,bの内容を図5Cに示す。
一時記憶部14の処理部141は、まず、ライトコマンドb’を受信すると、ライトコマンドb’に含まれる情報を記憶部142に保存し、データ長(40hセクタ)のデータを保存するデータ領域を記憶部142に確保する。また、処理部141は、ライトコマンドb’に対応する実行順序を保存する実行順序領域を記憶部142に確保する。このときの記憶部142の状態を図5Dに示す。
一時記憶部14の処理部141は、次に、ライトコマンドa’を受信すると、ライトコマンドa’に含まれる情報を記憶部142に保存し、データ長(40hセクタ)のデータを保存するデータ領域を記憶部142に確保する。また、処理部141は、ライトコマンドa’に対応する実行順序を保存する実行順序領域を記憶部142に確保する。このときの記憶部142の状態を図5Eに示す。
一時記憶部14の処理部141は、主ストレージ部12から順序情報aを受信すると、記憶部142に保存されたライトコマンドの中から順序情報aに含まれるコマンド識別子と一致するライトコマンドを持つライトコマンドを検索し、検索したライトコマンドに対応付けて、順序情報aに含まれる実行順序を、記憶部142のあらかじめ確保した実行順序領域に保存する。また、処理部141は、主ストレージ部12から順序情報bを受信すると、記憶部142に保存されたライトコマンドの中から順序情報bに含まれるコマンド識別子と一致するライトコマンドを持つライトコマンドを検索し、検索したライトコマンドに対応付けて、順序情報bに含まれる実行順序を、記憶部142のあらかじめ確保した実行順序領域に保存する。このときの記憶部142の状態を図5Fに示す。
一時記憶部14の処理部141は、ライトコマンドa’に対応するデータaを受信すると、記憶部142のあらかじめ確保したデータ領域にデータaを保存し、ライトコマンドb’に対応するデータbを受信すると、記憶部142のあらかじめ確保したデータ領域にデータbを保存する。このときの記憶部142の状態を図5Gに示す。
以降、一時記憶部14の処理部141は、記憶部142が図5Gの状態の時にあらかじめ設定しておいたデータ転送条件を満たした場合、実行順序の値1が対応付けられているライトコマンドa’およびデータaを検索して副ストレージ部13に送信する。次に、処理部141は、実行順序の値2が対応付けられているライトコマンドb’およびデータbを検索して副ストレージ部13に送信する。次に、処理部141は、実行順序の値3が対応付けられているライトコマンドおよびデータを検索するが、検索できないので、副ストレージ部13への送信動作を終了する。なお、次にデータ転送条件を満たした場合には、実行順序が3の値から検索を開始する。
なお、一時記憶部14には、データ転送部11aからのライトコマンドa’よりも主ストレージ部12からの順序情報aが先に到着する可能性もある。この場合、一時記憶部14の処理部141は、順序情報aを一時的に保存しておき、ライトコマンドa’が到着した時点で、ライトコマンドa’に対応付けて実行順序を保存しても良い。
また、一時記憶部14には、主ストレージ部12からの順序情報bよりもデータ転送装置11bからのデータbが先に到着する可能性もある。この場合、一時記憶部14の処理部141は、先にデータbを保存しておく。
本実施例においては、副ストレージ部13へのデータ保存は、一時記憶部14に保存された実行順序に基づいて行われることになるため、データaはデータbよりも先に保存される。このため、主ストレージ部12においても副ストレージ部13においても、データaはデータbよりも先に保存されることになる。すなわち、主ストレージ部12と副ストレージ部13との間ではデータの一貫性が保たれる。
なお、上位装置2a,2bからデータ転送部11a,11bに読み出し要求が送信された場合は、主ストレージ部12が、保存されたデータを読み出してデータ転送部11a,11bを介して上位装置2a,2bに送信する。ただし、副ストレージ部13または一時記憶部14が、副ストレージ部13と一時記憶部14に保存されたデータの中から読み出し要求に含まれる読み出し開始アドレスの最新のデータを抽出してデータ転送部11a,11bを介して上位装置2a,2bに送信しても良い。
(実施例2)
本実施例によるデータ記憶システム1は、実施例1とは図2の構成において同じであるが、シーケンスにおいて実施例1とは異なる。
ここで、本実施例によるデータ記憶システム1において、上位装置2aがデータ転送部11aに書き込み要求をした時の動作について、図6のシーケンス図を用いて説明する。
データ転送部11aは、上位装置2aからライトコマンドを受信すると(ステップ601)、ライトコマンドのデータ長に応じた記憶領域をデータ転送部11aの内部に一時的に確保した後に、上位装置2aにデータ要求を送信し(ステップ602)、上位装置2aからデータを受信する(ステップ603)。データ転送部11aは、ライトコマンドにライトコマンドを一意に判別できるコマンド識別子を付加して、主ストレージ部12と一時記憶部14とにライトコマンドを転送する(ステップ604,605)。
主ストレージ12の処理部121は、データ転送部11aからのライトコマンドを受信すると、ライトコマンドのデータ長に応じた書き込み領域を記憶部122に確保した後に、データ転送部11aにデータ要求を送信する(ステップ606)。
また、主ストレージ12の処理部121は、データ転送部11aからのライトコマンドに対し、ライトコマンドを受信した順序に応じた実行順序を付加し、その実行順序とコマンド識別子とを順序情報として一時記憶部14に送信する(ステップ607)。
一時記憶部14の処理部141は、データ転送部11aからのライトコマンドを受信すると、ライトコマンドのデータ長に応じた書き込み領域を記憶部142に確保した後に、データ転送部11aにデータ要求を送信する(ステップ608)。また、一時記憶部14の処理部141は、主ストレージ部12から順序情報を受信すると、順序情報のコマンド識別子と一致するコマンド識別子を持つライトコマンドに対応付けて、順序情報の実行順序を記憶部142に保存する。
データ転送部11aは、主ストレージ部12と一時記憶部14との両方から、データ要求を受信すると、主ストレージ部12と一時記憶部14とにデータを転送する(ステップ609,610)。
主ストレージ12の処理部121は、データ転送部11aから受信したデータをあらかじめ確保しておいた記憶部122の書き込み領域に書き込み、確認メッセージをデータ転送部11aに送信する(ステップ611)。
一時記憶部14の処理部141は、データ転送部11aから受信したデータをあらかじめ確保しておいた記憶部142の書き込み領域に書き込む。処理部141は、実行順序とデータとがいずれも揃った時点で確認メッセージをデータ転送部11aに送信する(ステップ612)。
データ転送部11aは、主ストレージ部12と一時記憶部14の両方から確認メッセージを受信すると、上位装置2aに確認メッセージを送信する(ステップ613)。
一時記憶部14の処理部141は、あらかじめ設定した条件を満たした時に、記憶部142から次に転送を実行する実行順序が対応付けられているライトコマンドおよびデータを検索して副ストレージ部13に送信する動作を、次に転送を実行する実行順序が対応付けられているライトコマンドおよびデータが検索されなくなるまで繰り返す。
副ストレージ部13の処理部131は、一時記憶部14からライトコマンドを受信した順序で記憶部132にデータを保存する。
本実施例においては、データ転送部11aは主ストレージ部12と一時記憶部14にライトコマンドを送信する前に上位装置2aからデータを受信するため、主ストレージ部12と一時記憶部14からデータ要求を受けた直後に主ストレージ部12と一時記憶部14にデータを送信する事ができる。このため、主ストレージ部12と一時記憶部14は1つのコマンドに対してライトコマンドを受信してから確認メッセージを送信するまでに要する時間を短縮でき、リソースを有効に使用できるという効果がある。
(実施例3)
本実施例によるデータ記憶システム1は、実施例1とは図2の構成および図3のシーケンスにおいて同じであるが、順序情報のデータ構造および一時記憶部14の動作において実施例1とは異なる。
本実施例においては、通信網15には、任意の1ノードと別の任意の1ノードとの間の通信においては順序性が保証されるプロトコルを用いる。すなわち、主ストレージ部12が一時記憶部14に送信する順序情報は、主ストレージ部12が発信した順序で一時記憶部14が受信することが保証される。
本実施例においては、主ストレージ部12は、主ストレージ部12におけるライトコマンドの実行順序を決定すると、コマンド識別子のみを順序情報として一時記憶部14へ送信する。一時記憶部14は、主ストレージ部12から順序情報を受信した順序に基づき副ストレージ部13へデータを転送する順序を決定する。
ここで、一時記憶部14のデータ構造について、図7を用いて説明する。
一時記憶部14の処理部141は、1つのライトコマンドに対し、コマンド識別子と開始アドレスとデータ長とデータとをデータセットとして記憶部142上で管理する。データセットの構造を図7Aに示す。
一時記憶部14の処理部141は、記憶部142上で、データ転送部11a,11bからライトコマンドを受信した順序で、そのライトコマンドに対するデータセットを一時的に順序未決定リンクのデータセットの最後尾に接続する。データセットが順序未決定リンクに接続された状態を図7Bに示す。なお、図7Bにおいて、順序未決定headはリンク先のデータセットが順序未決定リンクのデータセットの先頭であることを表し、順序未決定tailはリンク元のデータセットが順序未決定リンクのデータセットの最後尾である事を表す。
一時記憶部14の処理部141は、記憶部142上で、主ストレージ部12から順序情報を受信した順序で、その順序情報を順序情報キューに蓄積する。順序情報が順序情報キューに蓄積された状態を図7Cに示す。順序情報キューはいわゆるFIFO(FirstInFirstOut)構造であり、先に挿入された情報が先に取り出されるようになっている。
一時記憶部14の処理部141は、記憶部142上で、順序情報キューから最初に取り出される順序情報のコマンド識別子に一致するデータセットを、順序未決定リンクに接続されたデータセットの中から検索し、検索したデータセットを順序未決定リンクから切り離して順序決定済みリンクのデータセットの最後尾に接続する。データセットが順序決定済みリンクに接続された状態を図7Dに示す。なお、図7Dにおいて、順序決定済みheadはリンク先のデータセットが順序決定済みリンクのデータセットの先頭であることを表し、順序決定済みtailはリンク元のデータセットが順序決定済みリンクのデータセットの最後尾である事を表す。
以上の動作によって、順序決定済みリンクには、主ストレージ12で書き込みが実行されるライトコマンドと同じ順序で、データセットが接続される。
以降、一時記憶部14の処理部141は、あらかじめ設定しておいたデータ転送条件を満たした時に、記憶部142の順序決定済みリンクの先頭にあるデータセットからライトコマンドおよびデータを抽出し、副ストレージ部13に送信し、ライトコマンドおよびデータの送信が終了したデータセットは順序決定済みリンクから切り離す。さらに処理部141は、順序決定済みリンクに接続されたデータセットが無くなるまで、順序決定済みリンクの先頭にあるデータセットからライトコマンドおよびデータを抽出して副ストレージ部13に送信し、送信が終了したデータセットを順序決定済みリンクから切り離す動作を繰り返す。
このように、順序決定済みリンクに接続された順序で副ストレージ部13へのライトコマンドおよびデータの転送を行うため、副ストレージ部13でデータを保存する順序は主ストレージ部12でデータを保存する順序と同じになる。
ここで、一時記憶部の動作、および主ストレージ部12と副ストレージ部13との間でのデータ保存順序が同じになることについて、図8を用いて説明する。
図8の例では、データ転送部11aが上位装置2aからライトコマンドaを受信したほぼ同時刻に、データ転送部11bが上位装置2bよりライトコマンドbを受信した場合を考える。ライトコマンドa,bの内容を図8Aに示す。ライトコマンドa,bは、いずれも開始アドレス200hからデータ長40hセクタのライトを要求するコマンドであるとする。
データ転送部11aは、ライトコマンドaにコマンド識別子(ここでは1−0010とする)を付加してライトコマンドa’を生成する。データ転送部11bは、ライトコマンドbにコマンド識別子(ここでは2−0005とする)を付加してライトコマンドb’を生成する。コマンド識別子は、データ転送部11a,11b間で同じものを付加しないように、データ転送部11a,11b毎に異なる体系とする。データ転送部11a,11bでそれぞれ生成されたライトコマンドa’,b’の内容を図8Bに示す。
データ転送部11aはライトコマンドa’を、データ転送部11bはライトコマンドb’を、主ストレージ部12と一時記憶部14とに送信する。
ここでは、主ストレージ部12にはライトコマンドa’がライトコマンドb’よりも先に到着し、一時記憶部14にはライトコマンドb’がライトコマンドa’よりも先に到着した場合を考える。
主ストレージ部12の処理部121は、ライトコマンドa’をライトコマンドb’よりも先に処理する。処理部121は、ライトコマンドa’に含まれるコマンド識別子のみを順序情報aとして一時記憶部14に送信した後に、ライトコマンドb’に含まれるコマンド識別子のみを順序情報bとして一時記憶部14に送信する。主ストレージ部12から一時記憶部14に送信される順序情報a,bの内容を図8Cに示す。
一時記憶部14の処理部141は、まず、ライトコマンドb’を受信すると、ライトコマンドb’に含まれる情報と、データ長(40hセクタ)のデータを保存する領域をデータセットとして記憶部142に保存する。さらに、処理部141は、ライトコマンドb’に対するデータセットを順序未決定リンクの最後尾に接続する。このときの記憶部142の状態を図8Dに示す。
一時記憶部14の処理部141は、次に、ライトコマンドa’を受信すると、ライトコマンドa’に含まれる情報と、データ長(40hセクタ)のデータを保存する領域をデータセットとして記憶部142に保存する。さらに、処理部141は、ライトコマンドa’に対するデータセットを順序未決定リンクの最後尾に接続する。このときの記憶部142の状態を図8Eに示す。
一時記憶部14には、主ストレージ部12からの順序情報が、順序情報a、順序情報bの順序で受信される。そのため、一時記憶部14の処理部141は、順序情報キューに、順序情報a、順序情報bの順序で順序情報を挿入する。この場合、最初に順序情報キューから取り出されるのは順序情報aである。そのため、処理部141は、順序未決定リンクに接続されているデータセットの中から、順序情報aに含まれるコマンド識別子と一致するコマンド識別子を持つデータセットを検索し、検索したデータセットを順序未決定リンクから切り離し、順序決定済みリンクの最後尾に接続する。このときの記憶部142の状態を図8Fに示す。また、次に順序情報キューから取り出されるのは順序情報bである。そのため、処理部141は、順序未決定リンクに接続されているデータセットの中から、順序情報bに含まれるコマンド識別子と一致するコマンド識別子を持つデータセットを検索し、検索したデータセットを順序未決定リンクから切り離し、順序決定済みリンクの最後尾に接続する。このときの記憶部142の状態を図8Gに示す。
一時記憶部14の処理部141は、ライトコマンドa’に対応するデータaを受信すると、記憶部142のあらかじめ確保したデータ領域にデータaを保存し、ライトコマンドb’に対応するデータbを受信すると、記憶部142のあらかじめ確保したデータ領域にデータbを保存する。このときの記憶部142の状態を図8Hに示す。
以降、一時記憶部14の処理部141は、記憶部142が図8Hの状態の時にあらかじめ設定しておいたデータ転送条件を満たした場合、記憶部142の順序決定済みリンクの先頭にあるデータセットからライトコマンドa’およびデータaを抽出して副ストレージ部13に送信し、ライトコマンドa’およびデータaを持つデータセットを順序決定済みリンクから切り離す。次に、処理部141は、順序決定済みリンクの先頭にあるデータセットからライトコマンドb’およびデータbを抽出して副ストレージ部13に送信し、ライトコマンドb’およびデータbを持つデータセットを順序決定済みリンクから切り離す。この時点で、順序決定済みリンクにはデータセットが接続されていない状態となるので、処理部141は副ストレージ部13への送信動作を終了する。
なお、一時記憶部14には、データ転送部11aからのライトコマンドa’よりも主ストレージ部12からの順序情報aが先に到着する可能性もある。この場合、一時記憶部14の処理部141は、順序情報キューの先頭にある順序情報に対応するライトコマンドが到着するまでは、順序決定済みリンクの最後尾にデータセットを接続する処理は行わない。
また、一時記憶部14には、主ストレージ部12からの順序情報bよりもデータ転送装置11bからのデータbが先に到着する可能性もある。この場合、一時記憶部14の処理部141は、順序未決定リンクに接続された状態のままでデータbを保存しておく。
本実施例においては、副ストレージ部13へのデータ保存は、一時記憶部14で順序決定済みリンクにデータセットが接続された順序で行われることになるため、データaはデータbよりも先に保存される。このため、主ストレージ部12においても副ストレージ部13においても、データaはデータbよりも先に保存されることになる。すなわち、主ストレージ部12と副ストレージ部13との間ではデータの一貫性が保たれる。
また、本実施例においては、一時記憶部14から副ストレージ部13にコマンドおよびデータを送信する順序でデータセットが順序決定済みリンクにつながるデータ構造を持つため、一時記憶部14の処理部141が副ストレージ部13にコマンドおよびデータを送信する度に送信対象となるコマンドおよびデータを検索する必要がない。このため、一時記憶部14から副ストレージ部13へのコマンドおよびデータの送信処理の高速化を図ることができるという効果がある。
(実施例4)
図9を参照すると、本実施例によるデータ記憶システム1は、1つの主ストレージ部12に対して、それぞれに主ストレージ部12と同じアドレス空間が割り当てられている副ストレージ部13a,13bを2つ設けた構成となっており、1つの主ストレージ部12が保存するデータの複製を2つの副ストレージ部13a,13bが重複して保存する点で実施例1とは異なる。
なお、図9においては、1つの主ストレージ部12に対して2つの副ストレージ部13a,13bとこれに対応する2つの一時記憶部14a,14bが設けられているが、3つ以上設けても良い。この場合、全ての副ストレージ部には、いずれも主ストレージ部12に保存されるデータの複製が保存される。
ここで、本実施例の動作と実施例1の動作との異なる点について説明する。
データ転送部11a,11bは、ライトコマンドおよびデータを主ストレージ部12と全ての一時記憶部14a,14bとに送信する。また、データ転送部11a,11bは、主ストレージ部12と全ての一時記憶部14a,14bからデータ要求を受信した後に、上位装置2a,2bにデータ要求を送信する。また、データ転送部11a,11bは、主ストレージ部12と全ての一時記憶部14a,14bから確認メッセージを受信した後に、上位装置2a,2bに確認メッセージを送信する。また、主ストレージ部12は、順序情報を全ての一時記憶部14a,14bに送信する。なお、一時記憶部14a,14bおよび副ストレージ部13a,13bの動作は実施例1と同じである。
本実施例においては、1つの主ストレージ部12と2つの副ストレージ部13a,13bの計3箇所のストレージ部に同一のデータが保存されるため、2箇所のストレージ部で障害があった場合でもデータが失われないという効果がある。
また、本実施例においては、データ転送部11a,11bと全ての一時記憶部14a,14bとの間の通信は並行して行われるのに加え、主ストレージ部12と全ての一時記憶部14a,14bとの間の通信は並行して行われる。そのため、データ転送部11a,11bが上位装置2a,2bからライトコマンドを受信してから、上位装置2a,2bに確認メッセージを送信するまでの時間は、一時記憶部14a,14bと副ストレージ部13a,13bとの組数に依らない。このため、上位装置2a,2bへの応答時間を長くすることなく、冗長度を増やすことができる。
(実施例5)
本実施例によるデータ記憶システム1は、実施例4とは図9の構成において同じであるが、1つの主ストレージ部12が保存するデータの複製を2つの副ストレージ部13a,13bが分散して保存する点で実施例4とは異なる。
なお、図9においては、1つの主ストレージ部12に対して2つの副ストレージ部13a,13bとこれに対応する2つの一時記憶部14a,14bが設けられているが、3つ以上設けても良い。
ここで、本実施例の動作と実施例4の動作との異なる点について説明する。
主ストレージ部12は、0hから10000hまでのアドレス空間を持ち、副ストレージ部13aは、主ストレージ部12の0hからBFFFhまでのアドレスに保存されたデータの複製を保存し、副ストレージ部13bは、主ストレージ部12のC000hから10000hまでのアドレスに保存されたデータの複製を保存するものとする。
例えば、データ転送装置11aが、上位装置2aから開始アドレスD000hでデータ長100hのライトコマンドを受信した場合を考える。このライトコマンドに従ってデータを保存するのは、主ストレージ部12および副ストレージ部13bである。そのため、データ転送装置11aは、主ストレージ部12と副ストレージ部13bの前段にある一時記憶部14bに対してのみ、ライトコマンドおよびデータを送信する処理と、データ要求および確認メッセージを受信する処理とを行えば良い。また、主ストレージ部12は、一時記憶部14bに対してのみ、順序情報を送信する処理を行えば良い。
あるいは、次のようにしても良い。データ転送部11aは、開始アドレスとは無関係に主ストレージ部12と全ての一時記憶部14a,14bとに対し、上記の処理を行い、主ストレージ部12は、全ての一時記憶部14a,14bに対し、上記の処理を行う。一時記憶部14a,14bは、対応する副ストレージ部13a,13bのアドレスとは無関係の通信については無視する。データ転送部11aは、無関係の一時記憶部14a,14bからのデータ要求および確認メッセージの待ち受けは行わない。
本実施例においては、主ストレージ部12の複製データを複数の副ストレージ部13a,13bに分散して保存する事ができる。このため、主ストレージ部12の使用状況に応じて一時記憶部14a,14bと副ストレージ部13a,13bの数を変更できるという効果がある。すなわち、主ストレージ部の使用容量が小さな場合は一時記憶部14aと副ストレージ部13aのみを接続しておき、主ストレージ部の使用容量が増えた時点で一時記憶部14bと副ストレージ部13bを新たに接続する事が可能である。
(実施例6)
図10を参照すると、本実施例によるデータ記憶システム1は、1つの副ストレージ部13に対して、副ストレージ部13のアドレス空間の一部が互いに重複しないように割り当てられている主ストレージ部12a,12bを2つ設けた構成となっており、2つの主ストレージ部12a,12bの両方が保存するデータの複製を1つの副ストレージ部13が保存する点で実施例1とは異なる。
なお、図10においては、1つの副ストレージ部13に対して2つの主ストレージ部12a,12bが設けられているが、3つ以上設けても良い。この場合、副ストレージ部13には、全ての主ストレージ部に保存されるデータの複製が保存される。
ここで、本実施例の動作と実施例4の動作との異なる点について説明する。
主ストレージ部12aは、0hからBFFFhまでのアドレス空間を持ち、主ストレージ部12bは、C000hから10000hまでのアドレス空間を持ち、副ストレージ部13は、主ストレージ部12a,12bの0hから10000hまでのアドレスに保存されるデータの複製を保存するものとする。
例えば、データ転送装置11aが、上位装置2aから開始アドレスD000hでデータ長100hのライトコマンドを受信した場合を考える。このライトコマンドに従ってデータを保存するのは、主ストレージ部12bおよび副ストレージ部13である。そのため、データ転送装置11aは、主ストレージ部12bと副ストレージ部13の前段にある一時記憶部14とに対してのみ、ライトコマンドおよびデータを送信する処理と、データ要求および確認メッセージを受信する処理とを行えば良い。また、主ストレージ部12bのみが、一時記憶部14に対し、順序情報を送信する処理を行えば良い。
あるいは、次のようにしても良い。データ転送部11aは、開始アドレスとは無関係に全ての主ストレージ部12a,12bと一時記憶部14とに対し、上記の処理を行う。主ストレージ部12a,12bは、自身のアドレスとは無関係の通信については無視する。データ転送部11aは、無関係の主ストレージ部12a,12bからのデータ要求および確認メッセージの待ち受けは行わない。
また、一時記憶部14は、主ストレージ部12a,12bの両方から順序情報を受信するが、順序情報を受信した順序に従って再度新しい体系で順序をつけ直して良い。もしくは、一時記憶部14は、主ストレージ部12a,12bの各々から受信した順序情報を別々の体系で扱っても良い。
本実施例においては、複数の主ストレージ部12a,12bのデータの複製を1つの副ストレージ部13に集約して保存できるため、複数の主ストレージ部12a,12bの複製を作成するために必要な一時記憶部14と副ストレージ部13の数が主ストレージ部12a,12bの数よりも少なくて良いという効果がある。
なお、本発明においては、データ記憶システム1を1台のコンピュータで実現する場合、データ記憶システム1の内部に、上記で説明した処理を実行するためのプログラムを記録した記録媒体を設けてもよい。この記録媒体は磁気ディスク、半導体メモリまたはその他の記録媒体であってもよい。このプログラムは、記録媒体からデータ記憶システム1に読み込まれ、データ記憶システム1の動作を制御する。具体的には、データ記憶システム1の不図示のCPU(Central Processing Unit)がプログラムの制御によりデータ記憶システム1内のハードウェア資源に特定の処理を行うよう指示することにより上記の処理が実現される。
本発明のデータ記憶システムは、計算機システムに外付けする信頼の高いデータ記憶システムとして適用することができる。
また、本発明のデータ記憶システムは、災害対策のための遠隔ミラーリングシステムに適用することもできる。
本発明のデータ記憶システムの構成を示すブロック図である。 本発明の実施例1〜3によるデータ記憶システムの構成を示すブロック図である。 本発明の実施例1によるデータ記憶システムの動作を説明するシーケンス図である。 本発明の実施例1に係る一時記憶部の動作を説明するフローチャートである。 本発明の実施例1に係る上位装置が送信したライトコマンドを示す図である。 本発明の実施例1に係るデータ転送部が生成したライトコマンドを示す図である。 本発明の実施例1に係る主ストレージ部が送信した順序情報を示す図である。 本発明の実施例1に係る一時記憶部の状態を示す図である。 本発明の実施例1に係る一時記憶部の状態を示す図である。 本発明の実施例1に係る一時記憶部の状態を示す図である。 本発明の実施例1に係る一時記憶部の状態を示す図である。 本発明の実施例2によるデータ記憶システムの動作を説明するシーケンス図である。 本発明の実施例3に係る一時記憶部が管理するデータセットの構造を示す図である。 本発明の実施例3に係る一時記憶部がデータセットを接続する順序未決定リンクを示す図である。 本発明の実施例3に係る一時記憶部が順序情報を蓄積する順序情報キューを示す図である。 本発明の実施例3に係る一時記憶部がデータセットを接続する順序決定済みリンクを示す図である。 本発明の実施例3に係る上位装置が送信したライトコマンドを示す図である。 本発明の実施例3に係るデータ転送部が生成したライトコマンドを示す図である。 本発明の実施例3に係る主ストレージ部が送信した順序情報を示す図である。 本発明の実施例3に係る一時記憶部の状態を示す図である。 本発明の実施例3に係る一時記憶部の状態を示す図である。 本発明の実施例3に係る一時記憶部の状態を示す図である。 本発明の実施例3に係る一時記憶部の状態を示す図である。 本発明の実施例3に係る一時記憶部の状態を示す図である。 本発明の実施例4,5によるデータ記憶システムの構成を示すブロック図である。 本発明の実施例6によるデータ記憶システムの構成を示すブロック図である。 従来のデータ記憶システムの一構成例を示すブロック図である。 従来のデータ記憶システムの他の構成例を示すブロック図である。
符号の説明
1 データ記憶システム
2,2a,2b 上位装置
11,11a,11b データ転送部
12,12a,12b 主ストレージ部
13,13a,13b 副ストレージ部
14,14a,14b 一時記憶部
15 通信網
121 主ストレージ部の処理部
122 主ストレージ部の記憶部
131 副ストレージ部の処理部
132 副ストレージ部の記憶部
141 一時記憶部の処理部
142 一時記憶部の記憶部

Claims (33)

  1. 複数の上位装置から受信した同一のデータを保存する第1および第2の記憶手段を有してなるデータ記憶システムであって、
    前記第1および第2の記憶手段は、前記上位装置から並行してデータを受信し、かつ、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであり、
    前記第1の記憶手段は、前記上位装置から受信したデータの保存を実行する順序を表す順序情報を前記第2の記憶手段に送信することを特徴とするデータ記憶システム。
  2. 複数の上位装置から受信した同一のデータを保存する第1および第2の記憶手段を有してなるデータ記憶システムであって、
    前記第1および第2の記憶手段は、前記上位装置から並行してデータを受信し、かつ、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであり、
    前記第1の記憶手段は、
    前記上位装置から受信したデータを保存するとともに、該データの保存を実行する順序を表す順序情報を前記第2の記憶手段に送信する主ストレージ手段を有し、
    前記第2の記憶手段は、
    前記上位装置から受信したデータを保存する副ストレージ手段と、
    前記副ストレージ手段の前段に配置され、前記上位装置から受信したデータを一時保存し、前記主ストレージ手段から受信した順序情報に基づく順序で、一時保存されているデータを前記副ストレージ手段に転送する一時記憶手段とを有することを特徴とするデータ記憶システム。
  3. 前記主ストレージ手段および前記一時記憶手段は、前記上位装置からデータの書き込み要求を受信し、該データを保存する領域を確保してから、前記上位装置にデータ要求を行うことで前記上位装置からデータを受信することを特徴とする、請求項2に記載のデータ記憶システム。
  4. 前記主ストレージ手段は、前記上位装置から書き込み要求を受信すると、該書き込み要求の識別子と該書き込み要求を受信した順序を表す実行順序とを前記順序情報として前記第2の記憶手段に送信し、
    前記一時記憶手段は、前記上位装置から受信した書き込み要求も一時保存し、前記主ストレージ手段から受信した順序情報に含まれる実行順序に基づく順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを前記副ストレージ手段に転送することを特徴とする、請求項2に記載のデータ記憶システム。
  5. 前記一時記憶手段は、前記主ストレージ手段から受信した順序情報に含まれる実行順序を、該順序情報に含まれる識別子に対応する書き込み要求およびデータと対応付けて保存し、予め設定した条件を満たした時に、次に転送を実行する実行順序が割り当てられている書き込み要求およびデータを前記副ストレージ手段に転送する動作を繰り返すことを特徴とする、請求項2に記載のデータ記憶システム。
  6. 前記主ストレージ手段は、前記上位装置から書き込み要求を受信すると、該書き込み要求を受信した順序で、該書き込み要求の識別子を前記順序情報として前記第2の記憶手段に送信し、
    前記一時記憶手段は、前記上位装置から受信した書き込み要求も一時保存し、前記主ストレージ手段から順序情報を受信した順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを前記副ストレージ手段に転送することを特徴とする、請求項2に記載のデータ記憶システム。
  7. 前記一時記憶手段は、前記主ストレージ手段から順序情報を受信した順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを所定のリンクの最後尾に接続して保存し、予め設定した条件を満たした時に、前記所定のリンクの先頭に接続されている書き込み要求およびデータを前記副ストレージ手段に転送し、前記所定のリンクから切り離す動作を繰り返すことを特徴とする、請求項6に記載のデータ記憶システム。
  8. 複数の上位装置から送信されるデータを保存するデータ記憶システムを構成するデータ記憶装置であって、
    前記データ記憶装置と前記データ記憶システムを構成する他方のデータ記憶装置とは、前記上位装置から並行してデータを受信し、かつ、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであり、
    前記上位装置から受信したデータの保存を実行する順序を表す順序情報を、前記他方のデータ記憶装置に送信する手段を有することを特徴とするデータ記憶装置。
  9. 複数の上位装置から送信されるデータを保存するデータ記憶システムを構成するデータ記憶装置であって、
    前記データ記憶装置と前記データ記憶システムを構成する他方のデータ記憶装置とは、前記上位装置から並行してデータを受信し、かつ、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであり、
    前記上位装置から受信したデータを保存するとともに、該データの保存を実行する順序を表す順序情報を、前記他方のデータ記憶装置に送信する主ストレージ手段を有することを特徴とするデータ記憶装置。
  10. 前記主ストレージ手段は、前記上位装置からデータの書き込み要求を受信し、該データを保存する領域を確保してから、前記上位装置にデータ要求を行うことで前記上位装置からデータを受信することを特徴とする、請求項9に記載のデータ記憶装置。
  11. 前記主ストレージ手段は、前記上位装置から書き込み要求を受信すると、該書き込み要求の識別子と該書き込み要求を受信した順序を表す実行順序とを前記順序情報として前記他方のデータ記憶装置に送信することを特徴とする、請求項9に記載のデータ記憶装置。
  12. 前記主ストレージ手段は、前記上位装置から書き込み要求を受信すると、該書き込み要求を受信した順序で、該書き込み要求の識別子を前記順序情報として前記他方のデータ記憶装置に送信することを特徴とする、請求項9に記載のデータ記憶装置。
  13. 複数の上位装置から送信されるデータを保存するデータ記憶システムを構成するデータ記憶装置であって、
    前記データ記憶装置と前記データ記憶システムを構成する他方のデータ記憶装置とは、前記上位装置から並行してデータを受信し、かつ、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであり、
    前記他方のデータ記憶装置にて前記上位装置から受信したデータの保存を実行する順序を表す順序情報を、前記他方のデータ記憶装置から受信する手段を有することを特徴とするデータ記憶装置。
  14. 複数の上位装置から送信されるデータを保存するデータ記憶システムを構成するデータ記憶装置であって、
    前記データ記憶装置と前記データ記憶システムを構成する他方のデータ記憶装置とは、前記上位装置から並行してデータを受信し、かつ、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであり、
    前記上位装置から受信したデータを保存する副ストレージ手段と、
    前記副ストレージ手段の前段に配置され、前記上位装置から受信したデータを一時保存し、前記他方のデータ記憶装置から受信した順序情報であって前記他方のデータ記憶装置にて前記上位装置から受信したデータの保存を実行する順序を表す順序情報に基づく順序で、一時保存されているデータを前記副ストレージ手段に転送する一時記憶手段とを有することを特徴とするデータ記憶装置。
  15. 前記一時記憶手段は、前記上位装置からデータの書き込み要求を受信し、該データを保存する領域を確保してから、前記上位装置にデータ要求を行うことで前記上位装置からデータを受信することを特徴とする、請求項14に記載のデータ記憶装置。
  16. 前記一時記憶手段は、前記上位装置から受信した書き込み要求も一時保存し、前記他方のデータ記憶装置にて前記上位装置から受信した書き込み要求の識別子と該書き込み要求を受信した順序を表す実行順序とを前記順序情報として前記他方のデータ記憶装置から受信した場合、前記順序情報に含まれる実行順序に基づく順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを前記副ストレージ手段に転送することを特徴とする、請求項14に記載のデータ記憶装置。
  17. 前記一時記憶手段は、前記他方のデータ記憶装置から受信した順序情報に含まれる実行順序を、該順序情報に含まれる識別子に対応する書き込み要求およびデータと対応付けて保存し、予め設定した条件を満たした時に、次に転送を実行する実行順序が割り当てられている書き込み要求およびデータを前記副ストレージ手段に転送する動作を繰り返すことを特徴とする、請求項14に記載のデータ記憶装置。
  18. 前記一時記憶手段は、前記上位装置から受信した書き込み要求も一時保存し、前記他方のデータ記憶装置にて前記上位装置から書き込み要求を受信した順序で該書き込み要求の識別子を前記順序情報として前記他方のデータ記憶装置から受信した場合、前記他方のデータ記憶装置から順序情報を受信した順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを前記副ストレージ手段に転送することを特徴とする、請求項14に記載のデータ記憶装置。
  19. 前記一時記憶手段は、前記他方のデータ記憶装置から順序情報を受信した順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを所定のリンクの最後尾に接続して保存し、予め設定した条件を満たした時に、前記所定のリンクの先頭に接続されている書き込み要求およびデータを前記副ストレージ手段に転送し、前記所定のリンクから切り離す動作を繰り返すことを特徴とする、請求項18に記載のデータ記憶装置。
  20. 複数の上位装置から送信される同一のデータを保存する第1および第2の記憶手段によるデータ記憶方法であって、
    前記第1および第2の記憶手段は、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであり、
    前記上位装置から送信されるデータを前記第1および第2の記憶手段で並行して受信するステップと、
    前記上位装置から順次送信されるデータを前記第1の記憶手段に保存する順序を表す順序情報を作成するステップと、
    前記順序情報を前記第1の記憶手段から前記第2の記憶手段に送信するステップとを有することを特徴とするデータ記憶方法。
  21. 複数の上位装置から送信される同一のデータを保存する主ストレージ手段および副ストレージ手段と、前記副ストレージ手段の前段に配置された一時記憶手段とによるデータ記憶方法であって、
    前記主ストレージ手段および前記一時記憶手段は、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであり、
    前記上位装置から送信されるデータを前記主ストレージ手段および前記一時記憶手段で並行して受信する受信ステップと、
    前記上位装置から順次送信されるデータを前記主ストレージ手段に保存する順序を表す順序情報を作成し、該順序情報を前記主ストレージ手段から前記一時記憶手段に送信する送信ステップと、
    前記上位装置から送信されたデータを前記一時記憶手段に一時保存し、前記主ストレージ手段から受信した順序情報に基づく順序で、一時保存されているデータを前記一時記憶手段から前記副ストレージ手段に転送する転送ステップとを有することを特徴とするデータ記憶方法。
  22. 前記受信ステップでは、前記上位装置からデータの書き込み要求が送信された場合、該データを保存する領域を前記主ストレージ手段および前記一時記憶手段に確保してから、前記主ストレージ手段および前記一時記憶手段から前記上位装置にデータ要求を行うことで、前記上位装置からデータを送信することを特徴とする、請求項21に記載のデータ記憶方法。
  23. 前記送信ステップでは、前記上位装置から受信した書き込み要求の識別子と該書き込み要求を受信した順序を表す実行順序とを前記順序情報として作成し、該順序情報を前記主ストレージ手段から前記一時記憶手段に送信し、
    前記転送ステップでは、前記上位装置から受信した書き込み要求も前記一時記憶手段に一時保存し、前記主ストレージ手段から受信した順序情報に含まれる実行順序に基づく順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを、前記一時記憶手段から前記副ストレージ手段に転送することを特徴とする、請求項21に記載のデータ記憶方法。
  24. 前記転送ステップでは、前記主ストレージ手段から受信した順序情報に含まれる実行順序を、該順序情報に含まれる識別子に対応する書き込み要求およびデータと対応付けて前記一時記憶手段に保存し、予め設定した条件を満たした時に、次に転送を実行する実行順序が割り当てられている書き込み要求およびデータを、前記一時記憶手段から前記副ストレージ手段に転送する動作を繰り返すことを特徴とする、請求項21に記載のデータ記憶方法。
  25. 前記送信ステップでは、前記上位装置から書き込み要求を受信した順序で、該書き込み要求の識別子を前記順序情報として、前記主ストレージ手段から前記一時記憶手段に送信し、
    前記転送ステップでは、前記上位装置から受信した書き込み要求も前記一時記憶手段に一時保存し、前記主ストレージ手段から順序情報を受信した順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを、前記一時記憶手段から前記副ストレージ手段に転送することを特徴とする、請求項21に記載のデータ記憶方法。
  26. 前記転送ステップでは、前記主ストレージ手段から順序情報を受信した順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを所定のリンクの最後尾に接続して前記一時記憶手段に保存し、予め設定した条件を満たした時に、前記所定のリンクの先頭に接続されている書き込み要求およびデータを、前記一時記憶手段から前記副ストレージ手段に転送し、前記所定のリンクから切り離す動作を繰り返すことを特徴とする、請求項25に記載のデータ記憶方法。
  27. 複数の上位装置から送信される同一のデータを保存する第1および第2の記憶手段を有し、前記第1および第2の記憶手段が、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであるデータ記憶システムを構成するコンピュータに、
    前記上位装置から送信されるデータを前記第1および第2の記憶手段で並行して受信するステップと、
    前記上位装置から順次送信されるデータを前記第1の記憶手段に保存する順序を表す順序情報を作成するステップと、
    前記順序情報を前記第1の記憶手段から前記第2の記憶手段に送信するステップとを実行させることを特徴とするデータ記憶プログラム。
  28. 複数の上位装置から送信される同一のデータを保存する主ストレージ手段および副ストレージ手段と、前記副ストレージ手段の前段に配置された一時記憶手段とを有し、前記主ストレージ手段および前記一時記憶手段が、複数の前記上位装置から同一のアドレス空間に保存するデータを受信するものであるデータ記憶システムを構成するコンピュータに、
    前記上位装置から送信されるデータを前記主ストレージ手段および前記一時記憶手段で並行して受信する受信ステップと、
    前記上位装置から順次送信されるデータを前記主ストレージ手段に保存する順序を表す順序情報を作成し、該順序情報を前記主ストレージ手段から前記一時記憶手段に送信する送信ステップと、
    前記上位装置から送信されたデータを前記一時記憶手段に一時保存し、前記主ストレージ手段から受信した順序情報に基づく順序で、一時保存されているデータを前記一時記憶手段から前記副ストレージ手段に転送する転送ステップとを実行させることを特徴とするデータ記憶プログラム。
  29. 前記受信ステップでは、前記上位装置からデータの書き込み要求が送信された場合、該データを保存する領域を前記主ストレージ手段および前記一時記憶手段に確保してから、前記主ストレージ手段および前記一時記憶手段から前記上位装置にデータ要求を行うことで、前記上位装置からデータを送信することを特徴とする、請求項28に記載のデータ記憶プログラム。
  30. 前記送信ステップでは、前記上位装置から受信した書き込み要求の識別子と該書き込み要求を受信した順序を表す実行順序とを前記順序情報として作成し、該順序情報を前記主ストレージ手段から前記一時記憶手段に送信し、
    前記転送ステップでは、前記上位装置から受信した書き込み要求も前記一時記憶手段に一時保存し、前記主ストレージ手段から受信した順序情報に含まれる実行順序に基づく順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを、前記一時記憶手段から前記副ストレージ手段に転送することを特徴とする、請求項28に記載のデータ記憶プログラム。
  31. 前記転送ステップでは、前記主ストレージ手段から受信した順序情報に含まれる実行順序を、該順序情報に含まれる識別子に対応する書き込み要求およびデータと対応付けて前記一時記憶手段に保存し、予め設定した条件を満たした時に、次に転送を実行する実行順序が割り当てられている書き込み要求およびデータを、前記一時記憶手段から前記副ストレージ手段に転送する動作を繰り返すことを特徴とする、請求項28に記載のデータ記憶プログラム。
  32. 前記送信ステップでは、前記上位装置から書き込み要求を受信した順序で、該書き込み要求の識別子を前記順序情報として、前記主ストレージ手段から前記一時記憶手段に送信し、
    前記転送ステップでは、前記上位装置から受信した書き込み要求も前記一時記憶手段に一時保存し、前記主ストレージ手段から順序情報を受信した順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを、前記一時記憶手段から前記副ストレージ手段に転送することを特徴とする、請求項28に記載のデータ記憶プログラム。
  33. 前記転送ステップでは、前記主ストレージ手段から順序情報を受信した順序で、該順序情報に含まれる識別子に対応する書き込み要求およびデータを所定のリンクの最後尾に接続して前記一時記憶手段に保存し、予め設定した条件を満たした時に、前記所定のリンクの先頭に接続されている書き込み要求およびデータを、前記一時記憶手段から前記副ストレージ手段に転送し、前記所定のリンクから切り離す動作を繰り返すことを特徴とする、請求項32に記載のデータ記憶プログラム。
JP2006039219A 2006-02-16 2006-02-16 データ記憶システム、データ記憶方法、データ記憶プログラム Expired - Fee Related JP4997784B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006039219A JP4997784B2 (ja) 2006-02-16 2006-02-16 データ記憶システム、データ記憶方法、データ記憶プログラム
US11/649,846 US7925810B2 (en) 2006-02-16 2007-01-05 Data storage system, method, and recording medium that simultaneously transmits data that was separately generated from pluraity of transfer units to same data location

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006039219A JP4997784B2 (ja) 2006-02-16 2006-02-16 データ記憶システム、データ記憶方法、データ記憶プログラム

Publications (2)

Publication Number Publication Date
JP2007219809A JP2007219809A (ja) 2007-08-30
JP4997784B2 true JP4997784B2 (ja) 2012-08-08

Family

ID=38429751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006039219A Expired - Fee Related JP4997784B2 (ja) 2006-02-16 2006-02-16 データ記憶システム、データ記憶方法、データ記憶プログラム

Country Status (2)

Country Link
US (1) US7925810B2 (ja)
JP (1) JP4997784B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043489B2 (en) * 2009-10-30 2015-05-26 Cleversafe, Inc. Router-based dispersed storage network method and apparatus
US8576641B1 (en) * 2010-02-26 2013-11-05 Xilinx, Inc. Method of and circuit for providing non-volatile memory in an integrated circuit
JP5562362B2 (ja) * 2012-02-01 2014-07-30 ビッグローブ株式会社 レコメンド情報提供装置、携帯端末、レコメンド情報提供方法、レコメンド情報提供支援方法およびプログラム
CN105302660B (zh) * 2015-11-06 2018-09-04 湖南安存科技有限公司 面向分布式存储系统带流检测技术的纠删码写缓冲方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0212322A (ja) * 1988-06-30 1990-01-17 Nec Corp 情報処理装置
JPH03272057A (ja) * 1990-03-20 1991-12-03 Fujitsu Ltd データ保証方式
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JPH06161673A (ja) * 1992-11-17 1994-06-10 Fujitsu Ltd 二重化ディスクを使用する計算機システム
JPH06236240A (ja) * 1993-02-09 1994-08-23 Nec Field Service Ltd 磁気ディスクシステム
JPH06266626A (ja) * 1993-03-15 1994-09-22 Hitachi Ltd 半導体補助記憶装置のバックアップ方法と不揮発化半導体補助記憶装置
JP3681415B2 (ja) * 1993-03-30 2005-08-10 富士通株式会社 デッドロック検出装置
JPH07234848A (ja) * 1993-12-28 1995-09-05 Fuji Facom Corp 計算機システムにおける二重化方式
US5740397A (en) * 1995-10-11 1998-04-14 Arco Computer Products, Inc. IDE disk drive adapter for computer backup and fault tolerance
JPH09305323A (ja) * 1996-05-14 1997-11-28 Toshiba Corp ディスク記憶システム
US6212607B1 (en) * 1997-01-17 2001-04-03 Integrated Device Technology, Inc. Multi-ported memory architecture using single-ported RAM
JPH11175261A (ja) * 1997-12-05 1999-07-02 Nec Corp ディスクの制御方法
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
JP4412685B2 (ja) * 1998-09-28 2010-02-10 株式会社日立製作所 記憶制御装置及びこれを用いたデータ格納システムの取り扱い方法
WO2001029647A1 (fr) * 1999-10-22 2001-04-26 Hitachi, Ltd. Systeme de reseau de zone a memoire
JP4176933B2 (ja) * 1999-10-29 2008-11-05 株式会社東芝 外部記憶装置ドライバプログラムを記録した記録媒体、及び外部記憶装置アクセス機能を有する計算機
JP4175764B2 (ja) * 2000-05-18 2008-11-05 株式会社日立製作所 計算機システム
JP3997061B2 (ja) * 2001-05-11 2007-10-24 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムの制御方法
JP2003044230A (ja) * 2001-05-23 2003-02-14 Hitachi Ltd 記憶装置システム
US6629195B2 (en) * 2001-06-26 2003-09-30 Intel Corporation Implementing semaphores in a content addressable memory
JP3878508B2 (ja) * 2001-11-08 2007-02-07 松下電器産業株式会社 回路群制御システム
JP3730907B2 (ja) 2001-12-04 2006-01-05 日本電気株式会社 ディスクアレイ装置間の遠隔データコピー方式
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20040064658A1 (en) * 2002-09-27 2004-04-01 Dynapac Corporation Access control method and apparatus for a raid storage device
US7325109B1 (en) * 2003-10-24 2008-01-29 Network Appliance, Inc. Method and apparatus to mirror data at two separate sites without comparing the data at the two sites
JP4425728B2 (ja) 2003-12-03 2010-03-03 株式会社日立製作所 リモートコピーシステム
US20050149683A1 (en) * 2003-12-29 2005-07-07 Chong Fay Jr. Methods and systems for data backups
JP4173110B2 (ja) * 2004-01-29 2008-10-29 株式会社日立製作所 記憶装置システム
JP4422519B2 (ja) 2004-03-18 2010-02-24 株式会社日立製作所 情報処理システム
US8185663B2 (en) * 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface
US20050289218A1 (en) * 2004-06-28 2005-12-29 Rothman Michael A Method to enable remote storage utilization
JP4457019B2 (ja) * 2005-01-05 2010-04-28 富士通株式会社 情報処理システム及び一次ストレージ装置
JP4741304B2 (ja) * 2005-07-11 2011-08-03 株式会社日立製作所 データマイグレーション方法又はデータマイグレーションシステム
JP4806556B2 (ja) * 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法

Also Published As

Publication number Publication date
JP2007219809A (ja) 2007-08-30
US7925810B2 (en) 2011-04-12
US20070198784A1 (en) 2007-08-23

Similar Documents

Publication Publication Date Title
JP2894676B2 (ja) 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法
US6950915B2 (en) Data storage subsystem
US7971011B2 (en) Remote copy method and storage system
JP4728031B2 (ja) リモートコピーペアの移行を行うシステム
US6363462B1 (en) Storage controller providing automatic retention and deletion of synchronous back-up data
JP5094460B2 (ja) 計算機システム、データ一致化方法およびデータ一致化処理プログラム
CN101755257B (zh) 管理在不同的网络上将写入从首要存储器拷贝到次要存储器
JP2006209775A (ja) データ追跡を有するストレージ複製システム
JP2003263352A (ja) Ipネットワーク上の遠隔データファシリティ
US20110013625A1 (en) Storage subsystem
JP2004302713A (ja) 記憶システム及びその制御方法
JP2008509489A (ja) 通信網を介してデータセットを更新するためのシステム、方法及び装置
CN107295030B (zh) 一种数据写入方法、装置、数据处理方法、装置及系统
JP4997784B2 (ja) データ記憶システム、データ記憶方法、データ記憶プログラム
JP2006323663A (ja) 情報処理システムとレプリケーション方法並びに差分情報保持装置とプログラム
US9218313B2 (en) Shared-bandwidth multiple target remote copy
JP4531643B2 (ja) 記憶制御方法、システム及びプログラム
JP5509272B2 (ja) 計算機システム、データ一致化方法およびデータ一致化処理プログラム
JP4452494B2 (ja) 複数リモートストレージでのリモートコピー停止後のデータ同期化方式
CN114077517A (zh) 数据处理的方法、设备及系统
JP4478000B2 (ja) データ仲介方法およびデータ仲介装置
JP6912105B2 (ja) ディスクアレイシステム、ディスクアレイシステムの制御方法、および、ディスクアレイ装置
JP2004272884A5 (ja)
US10855610B2 (en) Information processing apparatus, information processing system, information processing method, and storage medium
JP7050707B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110706

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111213

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111221

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4997784

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees