JPH09231015A - 記憶装置および記憶装置システム - Google Patents

記憶装置および記憶装置システム

Info

Publication number
JPH09231015A
JPH09231015A JP8040945A JP4094596A JPH09231015A JP H09231015 A JPH09231015 A JP H09231015A JP 8040945 A JP8040945 A JP 8040945A JP 4094596 A JP4094596 A JP 4094596A JP H09231015 A JPH09231015 A JP H09231015A
Authority
JP
Japan
Prior art keywords
data
record
redundant
storage
redundant data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8040945A
Other languages
English (en)
Other versions
JP3713788B2 (ja
Inventor
Akira Yamamoto
山本  彰
Yasutomo Yamamoto
康友 山本
Manabu Kitamura
学 北村
Takao Sato
孝夫 佐藤
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 JP04094596A priority Critical patent/JP3713788B2/ja
Priority to US08/797,606 priority patent/US5958078A/en
Publication of JPH09231015A publication Critical patent/JPH09231015A/ja
Priority to US09/327,158 priority patent/US6098191A/en
Application granted granted Critical
Publication of JP3713788B2 publication Critical patent/JP3713788B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1009Cache, i.e. caches used in RAID system with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】ディスクアレイシステムにおいて、データレコ
ードの更新に伴うパリティレコードの更新処理に要する
時間を短縮し、記憶装置サブシステムの性能向上を図
る。 【解決手段】制御装置(1300)からパリティの更新に必
要な情報として、更新前後のデータレコードの値から求
めた中間値、または、更新前後のデータそのものをパリ
ティレコードを格納したディスク装置(1304)に転送す
る。ディスク装置では、更新前のパリティレコードを読
み出し、読み出した更新前のパリティと、制御装置から
受け取った情報を基にパリティレコードの更新値を生成
する。生成された更新値は、更新値の生成後、記憶媒体
(1304)上で、読み書きヘッドが最も早く位置付く有効
なデータを格納していない空きレコード(1503)に格納
される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システムに
おける記憶装置サブシステムに係り、特に、キャッシュ
メモリを有する記憶装置サブシテムの高性能化、高信頼
化に関する。
【0002】
【従来の技術】計算機システムにおいて用いられる記憶
装置サブシステムの一つとして、従来より、磁気ディス
クを記憶媒体とするディスクシステムが用いられてい
る。このようなディスクシステムの高性能化、高信頼化
を実現するための技術として、例えば、エー.シー.エ
ム.シグモッド コンファレンス プロシーディング,19
88年,6月,109−116ページに掲載されているパタ
ーソン等の論文(D. Patterson et al : A Case for Re
dundant Arrays of Inexpensive Disks(RAID), ACMSIGM
OD conference proceeding, Chicago, IL, June 1-3,19
88, pp.109-116、以下、パターソン論文と呼ぶ)に開示
されるようなディスクアレイシステムが知られている。
ディスクアレイシステムでは、物理的には複数のディス
ク装置を、処理装置に対しては1台の論理的なディスク
装置に見せかけることで高性能化を実現している。ま
た、データを格納したディスク装置に障害が発生した場
合、障害が発生したディスク装置に記憶されているデー
タの回復を行うことを可能とする冗長データをデータを
記憶したディスク装置とは別のディスク装置に格納して
おくことにより高信頼化を達成している。
【0003】パターソン論文では、ディスクアレイシス
テム上の冗長データの配置方法について、以下に述べる
いくつかの技術が開示されている。第1のデータ配置方
法は、まったく同じ内容のデータを2つのディスク装置
に格納する方法であり、RAID1(レイド1)、ある
いは、2重書きと呼ばれる。第2のデータ配置方法は、
処理装置装置が、論理的なディスク装置との間で、リー
ド/ライト処理を行う際の、リード/ライト単位となる
データの集合であるレコードを分割して、複数のディス
ク装置に格納する方法である。このようなデータ配置方
法は、RAID3と呼ばれる。RAID3では、レコー
ドを分割したそれぞれの分割単位から冗長データが作成
される。また、第3のデータ配置方法では、RAID3
のようにレコードを分割せずに、1つのレコードは1つ
のディスク装置に格納し、別々のディスク装置に格納さ
れた複数のレコードから冗長データを作成する。このよ
うなデータの配置方法には、RAID4、RAID5と
呼ばれるものがある。
【0004】一般に、処理装置が直接読み書きするデー
タを格納したレコードは、データレコードと呼ばれ、冗
長データを格納したレコードは、パリティレコードと呼
ばれる。また、複数のディスク装置に、データを分割す
る単位をストライプと呼んでいる。ストライプは、レコ
ードの集合であり、データレコードで構成されるストラ
イプを、データストライプと呼び、パリティレコードで
構成されるストライプを、パリティストライプと呼ぶ。
通常、ディスクアレイシステムでは、1つ以上のm個の
データストライプから1つ以上n個のパリティストライ
プが作成される。以下、これらm+n個のストライプの
集合をパリティグループと呼ぶ。これらm+n個のスト
ライプは、別々のディスク装置に格納される。パリティ
グループ内のパリティストライプの数がn個であれば、
n台までのディスク装置に障害が発生しても、そのディ
スク装置内のデータを回復することが可能である。
【0005】データレコードが書き替えられると、これ
に伴いパリティレコードも書き替える必要が生ずる。例
えば、パリティグループ内の1つのデータレコードだけ
が書き替えられた場合には、書き変えられた内容と、そ
のデータレコードの更新前の値、パリティレコードの更
新前の値とから、パリティレコードの更新値が作成され
る。このようなパリティレコードの更新処理を効率よく
行いシステムの高性能化を実現する技術として、次のよ
うな技術がある。
【0006】例えば、特開平4−245342号公報に
開示される技術では、データレコードに対する更新処理
をキャッシュ上で実行し、パリティレコードの更新値の
作成、データレコード、パリティレコードのディスク装
置への書き込みは後から実行する。パリティレコードの
更新値の作成を開始する前に、同一パリティグループ内
のデータレコードにライト処理が発生した場合、複数の
ライト処理に対して、パリティレコードの更新値の作成
をまとめて実行することにより高性能化を実現してい
る。
【0007】また、PCT WO 91/20025号
には、ディスクアレイにおけるライト処理を効率化する
ために動的マッピングという技術が開示されている。こ
の技術は、ライト処理が発生するとそのデータレコード
を書き込むディスク上の位置を変えるというものであ
る。具体的には、ライトされたデータだけで、パリティ
グループを構成し、これらのデータからパリティデータ
を作成し、ディスクアレイを構成するディスクに書き込
みを行うというものである。ただし、以上の処理を実行
するためには、パリティグループ全体のデータストライ
プを空き領域にする必要がある。
【0008】一方、電子情報通信学会技術研究報告、D
E93−45(茂木他:仮想ストライピングによるRA
ID5型ディスクアレイの性能評価、1993年 9月、信学
会技報Vol.25-No.251、pp.69-75、以下、茂木論文と呼
ぶ)ではさらに効率的な技術が開示されている。本論文
では、パリティグループそのもののディスク上の位置を
動的に変更するために、より効率的にパリティグループ
全体のデータストライプを空き領域にすることができ
る。
【0009】さらに、特開平5−46324号公報に
は、パリティレコードの更新に必要な情報をパリティレ
コードを格納したディスク装置に転送し、ディスク装置
側でパリティレコードの更新値を作成することで、デー
タ更新時に発生する制御装置とディスク装置との間のデ
ータ転送の回数を削減し、ディスクアレイシステムの高
性能化を図る技術が開示されている。
【0010】一方、特開平4−230512号公報に
は、ディスク装置上のデータストライプ、パリティスト
ライプに、空き状態のレコードを適当な割合で確保し、
パリティレコードの更新値を元々の場所ではなく、空き
領域に書き込むことにより、書き込み時間を短縮する技
術が開示されている。ここに示されている空き領域は、
先の、PCT WO 91/20025号や、茂木論文
で開示されている空き領域とは異なるものである。特開
平4−230512号公報に開示される技術では、パリ
ティレコードの更新値の生成が終了した後、パリティレ
コード、データレコードの更新値を書き込む際、元々の
場所でなく、空き領域に、更新値を書き込む。これによ
り、パリティレコードの元々の格納場所は、空き領域に
なる。これに対して、PCT WO 91/20025
号、あるいは茂木論文で開示されている技術では、パリ
ティグループ全体が空き領域になっている領域に対し、
新たなライトデータだけで新たにパリティグループを構
成して、そのパリティグループ全体をディスク装置に書
き込む。元々データを格納していた場所は空き領域とし
て管理する。したがって、両者の間には、次の2つの点
で本質的な相違がある。
【0011】(1)特開平4−230512号公報の技
術では、空き領域の選択がパリティレコードの更新値の
生成後であるのに対し、PCT WO 91/2002
5、あるいは茂木論文の技術では、パリティレコードの
更新値の生成の前、すなわち、書き込みを行うパリティ
グループを選択した時に、ディスク装置のどの領域にデ
ータを書き込むのかが、決まったことになる。
【0012】(2)特開平4−230512号公報の技
術では、1つのパリティグループを構成するデータレコ
ード、パリティレコードは変化しない。他方、PCT
WO91/20025、あるいは茂木論文の技術では、
1つのパリティグループを構成するデータレコードの集
合は動的に変化する。
【0013】
【発明が解決しようとする課題】特開平4−23051
2号公報に開示された技術では、ディスクアレイを制御
する制御装置が、ディスク装置に、データレコードの読
み込み要求、書き込み要求、パリティレコードの読み込
み要求、書き込み要求と計4回の要求を発行する。さら
に、パリティレコードの更新値も制御装置が生成する。
例えば、制御装置には、更新前のデータレコードと更新
後のデータレコードが用意されている状況で、ディスク
装置内で、記憶媒体から更新前のパリティレコードの読
み込みが完了したとする。当然、ディスク装置は、媒体
から読み込んだ更新前のパリティレコードを送ろうとす
る。しかし、通常、制御装置とディスク装置の間のデー
タ転送路は、他のディスク装置と共有されていることが
多いため、データ転送路が占有されていて、直ちに、更
新前のパリティレコードを送る処理には入れない可能性
がある。また、制御装置に更新前のパリティレコードが
送られてから、パリティレコードの更新値を作成処理が
開始するまでにも、制御装置が別の仕事を行っているた
め、時間を要する可能性がある。さらに、パリティレコ
ードの更新値の生成が完了した後、この値をディスク装
置に送るまでにも、ディスク装置、データ転送路の共有
資源を確保する必要があり、競合時には待ち時間が発生
する可能性がある。
【0014】以上のように、制御装置で、パリティレコ
ードの更新値を作成し、この更新値をディスク装置に送
るという方法をとったのでは、更新前の値を読み出して
から、更新後の値を書き込むまでに、かなりの時間を要
する可能性が充分あることになる。このため、更新前の
値のすぐ後に、空いたレコードが存在しても、更新後の
値がディスク装置に送られてくる前に、ヘッドが空いた
レコード上を、通過してしまうので、性能向上効果が得
られにくくなる。このため、特開平4−230512号
公報の技術では、原理的に、読み出した直後の領域が空
き領域であっても、その領域に、データレコードの更新
値を書き込むことは実質的に困難である。
【0015】一方、特開平5−46324の発明では、
ディスク装置に、パリティレコードの更新値を作成する
機能をもたせることで、制御装置の負荷はある程度分散
させることができる。しかし、制御装置の負荷を軽減す
るという点では、検討の余地を残していた。また、パリ
ティレコードの更新後の値は、更新前の値を読み出した
場所に書き込まれるため、更新前の値を読み出してか
ら、更新後の値を書き込むまでに、最低でもディスク1
回転分の時間を必要としていた。
【0016】本発明の目的は、パリティレコードの更新
時に、その更新前の値を読み出してから、更新後の値を
書き込むまでの時間を短縮し、記憶装置サブシステムの
性能向上を図ることにある。
【0017】また、本発明の他の目的は、パリティレコ
ードの更新に伴う制御装置の負荷を軽減することにあ
る。
【0018】
【課題を解決するための手段】上記目的を達成するため
に、本発明の記憶装置サブシステムでは、制御装置は、
更新前のデータレコードと更新後のデータレコードから
生成したパリティレコードの更新値を得るための中間値
をディスク装置に送る。ディスク装置では、更新前のパ
リティレコードを読み出すと、制御装置から受け取った
中間値と読み出した更新前のパリティレコードの値か
ら、パリティレコードの更新値を生成する。デイスク装
置内部では、とくに競合資源がないため、すぐにこの処
理の実行に入れる。さらに、パリティレコードの更新値
を生成した後、空いた領域があれば、その領域に、生成
したパリティレコードの更新値を書き込む。具体的に
は、例えば、パリティレコードを読み出しながら、パリ
ティレコードの更新値を生成する回路をディスク装置内
に設ける。これにより、更新前のパリティレコードの読
み出しを行った、直後の領域に書き込みを行うことがで
き、更新前の値を読み出してから、更新後の値を書き込
むまでの時間を短縮することができる。
【0019】一方、データレコードに関しては、制御装
置は、ディスク装置に、データレコードの更新値を送
る。ディスク装置は、更新前のデータレコードを読み出
し、空いた領域に、データレコードの更新値を書き込
む。この場合も、特に競合資源はないため、空き領域が
あれば、読み出した直後の領域に、データレコードの更
新値を書き込むことができる。したがって、この場合
も、更新前の値を読み出してから、更新後の値を書き込
むまでの時間を短縮することができる。
【0020】このように、ディスク装置内で、更新前の
値を読み出してから、更新後の値を書き込むまでに必要
な処理を実行させることにより、極めて短時間で更新値
を書き込むことができる。
【0021】また、上記他の目的を達成するために、本
発明の記憶装置サブシステムは、制御装置が、処理装置
からライト要求を受けると、更新後のデータとともに更
新前のデータをパリティレコードを格納するディスク装
置に送る。パリティレコードを格納するディスク装置で
は、更新前のパリティレコードを読み出し、制御装置か
ら受け取った更新前後のデータ、及び読み出した更新前
のパリティレコードの値からパリティレコードの更新値
を作成する。
【0022】このように、制御装置から更新前後のデー
タをパリティレコードを格納するディスク装置に転送し
てディスク装置側でパリティレコードの更新値を作成す
ることで、制御装置の負荷をより軽減することができ
る。
【0023】
【発明の実施の形態】以下、本発明の実施の態様につ
き、実施例に従い説明する。
【0024】図2は、本発明が適用される計算機システ
ムの一実施例における構成を示すブロック図である。計
算機システムは、処理装置1300、制御装置130
5、および、複数台のディスク装置1304により構成
する。処理装置1300は、CPU1301、主記憶1
302、および、チャネル1303により構成される。
制御装置1305は、処理装置1300からのリード/
ライト要求にしたがって、処理装置1300と、ディス
ク装置1304の間で、転送処理を実行する。制御装置
1305は、1つ以上のディスクアレイ制御プロセッサ
1310、キャッシュメモリ(以下、単にキャッシュと
略す)1308、ディレクトリ1309、不揮発性メモ
リ1400、および、不揮発性メモリ管理情報1401
を含む。キャッシュ1308は、ディスク装置1304
の中のアクセス頻度の高いデータをロード格納する。デ
ィレクトリ1309には、キャッシュ1308の管理情
報を格納する。不揮発性メモリ1400は、不揮発の媒
体であり、キャッシュ1308と同様に、ディスク装置
1304の中のアクセス頻度の高いデータをロードして
おく。不揮発性メモリ管理情報1401も不揮発の媒体
であり、不揮発性メモリ1400の管理情報を格納す
る。なお、キャッシュ1308や、ディレクトリ130
9が不揮発化されていてもよい。さらに、制御装置13
05が、不揮発性メモリ1400、および、不揮発性メ
モリ管理情報1401を含まなくてもよい。ディスクア
レイ制御プロセッサ1310は、制御装置1305内
で、処理装置1300からのリード/ライト要求を受け
取り、キャッシュ1308等を利用し、処理装置130
0とディスク装置1304の間でデータの転送処理を実
行する機能をもつ。
【0025】制御装置1305は、処理装置1300か
らのライト要求を、キャッシュ1308、あるいは、キ
ャッシュ1308と不揮発性メモリ1400にデータを
格納した段階で完了させる。ディスク装置1304への
データの書き込みは、後から、制御装置1305が実行
する。この処理をライトアフタ処理と呼ぶ。
【0026】ディスク装置1304は、ディスク制御プ
ロセッサ1311、記憶媒体1312、演算回路131
4、読み書きヘッド1315を含む。ディスク制御プロ
セッサ1311は、読み書きヘッド1315を利用し
て、記憶媒体1312と制御装置1305の間のデータ
転送を制御する。バッファ1313には、記憶媒体13
12と制御装置1305の間で転送されるデータ等を格
納する。演算回路1314は、記憶媒体1312から読
み出したデータに所定の演算を施すために使用する。な
お、演算をディスク制御プロセッサ1311により実行
することで、演算回路1314を不要とすることができ
る。
【0027】通常、処理装置1300がディスク装置1
304との間で、リード/ライトするデータの単位は、
レコード1701と呼ばれる。図3は、本実施例におけ
るレコードの考え方をまとめたものである。処理装置1
300が制御装置との間でリード/ライトするレコード
をデータレコード1700と呼ぶ。一方、パリティレコ
ード1702は、ディスク装置1304に障害が発生
し、データレコード1700の内容が消失した時、その
消失した内容を回復する処理に用いるレコードである。
この場合、データレコード1700の値が変更される
と、これに対応して、パリティレコード1702の内容
も変更する必要が生ずる。なお、ここでは、m個のデー
タレコード1700から、n個のパリティレコード17
02を生成するものとする。これにより、n個のデータ
レコード1700の内容が失われても回復可能である。
【0028】ディスク装置1304上に格納されたレコ
ードを物理レコードと呼ぶ。本実施例においては、ディ
スク装置1304上に格納されている物理レコードに
は、物理データレコード1500、物理パリティレコー
ド1501、空きレコード1503の3種類が存在す
る。物理データレコード1500は、データレコード1
700の内容を格納した物理レコード1502である。
一方、物理パリティレコード1501は、パリティレコ
ード1702の内容を格納する。本実施例では、性能向
上のために、ディスク装置1304において、空いた状
態の領域が必要になる。空きレコード1503は、その
ための物理レコードである。
【0029】図4、図5は、本実施例におけるディスク
アレイでのパリティグループの構成である。本実施例で
は、新しい値をディスク装置1304に書き込む際、そ
れまで値を格納していた物理データレコード1500や
物理パリティレコード1501ではなく、空きレコード
1503に格納する。ただし、性能向上のためには、も
ともとの物理データレコード1500や物理パリティレ
コード1501の近くの空きレコード1503を選択す
る必要がある。以上から、本実施例では、論理ストライ
プと物理ストライプ1612という考え方を用いる。な
お、論理ストライプと物理ストライプをあわせてストラ
イプと呼ぶ。論理ストライプは、データレコード170
0、あるいは、パリティレコード1702の集合であ
る。データレコード1700の集合の方を、論理データ
ストライプ1613と呼び、パリティレコード1702
の集合の方を、論理パリティストライプ1614と呼
ぶ。物理ストライプ1612には、物理データストライ
プ1615、物理パリティストライプ1616がある。
物理データストライプ1615は、物理データレコード
1500と空きレコード1503の集合であり、物理パ
リティストライプ1616は、物理パリティレコード1
501と空きレコード1503の集合である。論理スト
ライプと物理ストライプは1対1に対応する。データレ
コード1700を新たに空きレコード1503に格納す
る場合、そのデータレコード1700を含む論理ストラ
イプに対応する物理ストライプ内の空きレコード150
3を選択する。これは、パリティレコード1702につ
いても同様である。新たに値を格納された物理レコード
は、物理データレコード1500、あるいは、物理パリ
ティレコード1501となり、それまで物理データレコ
ード1500、あるいは、物理パリティレコード150
1だった物理レコードが空きレコード1503となる。
【0030】本実施例では、m個の論理データストライ
プ1613とn個の論理パリティストライプ1614
が、論理ストライプグループ1617を構成する。同様
に、m個の物理データストライプ1615とn個の物理
パリティストライプ1616が、物理ストライプグルー
プ1618を構成する。なお、同一物理ストライプグル
ープ1618内の物理ストライプは、異なったディスク
装置1304に割り当てる。論理ストライプグループ1
617と物理ストライプグループ1618をあわせてス
トライプグループと呼ぶ。図4では、各物理ストライプ
の長さは等しい。確かに、複数の物理パリティストライ
プ1615を常に同一のディスク装置1304に格納す
る場合には、各物理ストライプの長さは等しくする必要
がある。しかし、物理パリティストライプ1616を配
置するディスク装置を循環させる場合、図5に示すよう
に、物理パリティストライプ1616と物理データスト
ライプ1615の長さを変えても問題ない。さらに、物
理パリティストライプ1616と物理データストライプ
1615のどちらか一方は、空きレコード1503をま
ったく設けなくともよい。空きレコード1503をまっ
たく設けない場合、データレコード1700、パリティ
レコード1702は常に同じ物理レコードに値を書き込
むことになる。物理パリティストライプ1616と物理
データストライプ1615の両方に、空きレコード15
03をまったく設けないとすると本発明の意味がなくな
るため、少なくとも物理パリティストライプ1616と
物理データストライプ1615のどちらか一方は、空き
レコード1503をもつものとする。
【0031】図1は、本実施例の記憶装置サブシステム
の概要を表す機能ブロック図である。
【0032】パリティレコード1701の更新値は、デ
ータレコード1700の更新値、データレコード170
0の更新前の値、および、パリティレコード1701の
更新前の値により、作成することができる。
【0033】制御装置側1305内のライト要求受付部
110は、処理装置1300からライト要求を受け付
け、当該ライト要求において受け取ったデータレコード
1700の更新値を、更新後データ100として、キャ
ッシュ1308、不揮発メモリ1400に格納する。格
納が完了すると、制御装置1305は、当該ライト要求
の完了を処理装置に報告する。なお、本発明は、以下の
処理を、当該ライト要求の完了を報告する前に実行して
も有効である。
【0034】次に、制御装置1305内のデータデステ
ージ部111とディスク装置1304内のデータ書き込
み部112の処理について説明する。データデステージ
部111は、データレコード1700の更新前の値であ
る更新前データ101がキャッシュ1308に存在する
かチェックする。存在する場合、更新前データ101と
更新後データ100からパリティレコードを作成するた
めの中間値、すなわち、パリティ中間値102を作成
し、キャッシュ1308、不揮発メモリ1400に格納
する。この後、データデステージ部111は、更新後デ
ータ100をディスク装置1304に書き込むよう、要
求を発行する。物理データストライプ1615が空きレ
コード1503を含む場合、ディスク装置1304内の
データ書き込み部112は、更新後データ100は、も
ともと割り当てられていた物理データレコード1500
か、空きレコード1503に書き込めばよいことにな
る。これにより、ディスク装置1304のアクセス時間
を短縮させることができる。
【0035】更新前データ101が、キャッシュ130
8に存在しない場合、データデステージ部111は、デ
ィスク装置1304に対し、更新前データ101に対応
する物理データレコード1500から更新前データ10
1を読み出し、さらに、更新後データ100を、空きレ
コード1503に書き込むよう要求する。ディスク装置
1304内のデータ書き込み部112は、更新後データ
100を任意の空きレコード1503に書き込めるた
め、ディスク装置1304のアクセス時間を短縮させる
ことができる。さらに、データ書き込み部112は、更
新前データ101と更新後データ100からパリティ中
間値102を作成し、パリティ中間値102を制御装置
1305に送る。制御装置1305のデータデステージ
部111は、受け取ったパリティ中間値102をキャッ
シュ1308、不揮発メモリ1400に格納する。以上
は、ディスク装置1304が、パリティ中間値102を
作成する場合の説明であるが、パリティ中間値102
は、制御装置1305が作成してもよい。この場合、デ
ィスク装置1304のデータ書き込み部111は、読み
出した更新前データ101を制御装置1304に送る。
制御装置1305のデータデステージ部111は、更新
前データ101と更新後データ100とからパリティ中
間値102を作成し、キャッシュ1308、不揮発メモ
リ1400に格納する。
【0036】次に、制御装置1305内のパリティデス
テージ部113とディスク装置1304内のパリティ書
き込み部114の処理について説明する。パリティデス
テージ部113は、パリティレコード1700の更新前
の値である更新前パリティ103がキャッシュ1308
に存在するかチェックする。存在する場合、更新前パリ
ティ103とパリティ中間値102パリティレコード1
702の更新値、すなわち、更新後パリティ104を作
成し、キャッシュ1308、不揮発メモリ1400に格
納する。この後、パリティデステージ部113は、更新
後パリティ104をディスク装置1304に書き込むよ
う、要求を発行する。物理パリティストライプ1616
が空きレコード1503を含む場合、ディスク装置13
04内のパリティ書き込み部114は、更新後パリティ
104は、もともと割り当てられていた物理パリティレ
コード1501か、空きレコード1503に書き込めば
よいことになる。これにより、ディスク装置1304の
アクセス時間を短縮させることができる。
【0037】更新前パリティ103が、キャッシュ13
08に存在しない場合、パリティデステージ部113
は、ディスク装置1304に対し、更新前パリティ10
3に対応する物理パリティレコード1501から更新前
パリティ103を読み出し、読み出した更新前パリティ
103と制御装置1305から送ったパリティ中間値1
02から更新後パリティ104を作成し、さらに、更新
後パリティ104を、空きレコード1503、あるい
は、もともとの更新前パリティ101に対応する物理デ
ータレコードに書き込むよう要求する。ディスク装置1
304内のデータ書き込み部112は、更新後パリティ
104を、任意の空きレコード1503に書き込めるた
め、ディスク装置1304のアクセス時間を短縮させる
ことができる。
【0038】図6は、キャッシュ1308の構造図であ
る。キャッシュ1308は、複数のセグメント2000
に分割されている。各セグメント2000には、論理デ
ータストライプ1613、あるいは、論理パリティスト
ライプ1614が格納される。セグメントポインタ20
01は、未割り当て状態にあるセグメント2000を結
合する。不揮発メモリ1400の構造は、キャッシュ1
308と同様でよいため、説明を省略する。
【0039】図7は、ディレクトリ1309の構造図で
ある。ディレクトリ1309は、マッピング情報210
0、空きレコードビットマップ2101、キャッシュ割
当情報2102、セグメント管理情報2103、空きセ
グメントキューポインタ2104、空きセグメント管理
情報キューポインタ2105から構成される。なお、セ
グメント管理情報2103は、キャッシュ1308内の
セグメント2000の数だけ存在する。ただし、後述す
るように、セグメント2000に1対1に対応するわけ
ではない。なお、マッピング情報2100、空きレコー
ドビットマップ2101は、ディスク装置1304にも
つ場合もあり、この時には、制御装置1305は、マッ
ピング情報2100、空きレコードビットマップ210
1を持つ必要はない。以下、各情報を詳細に説明する。
なお、不揮発メモリ管理情報1401の構造は、ディレ
クトリ1309と同様であるため、詳細な説明は行わな
い。
【0040】図8は、マッピング情報2100の構造図
である。マッピング情報2100は、論理データレコー
ド1700、及び、論理パリティレコード1702が、
どの物理データレコード1500、あるいは、どの物理
パリティレコード1501に割り当ててあるかを表して
いる。レコードエントリ2200は、データレコード1
700、あるいは、パリティレコード1702に対応し
て存在する情報である。レコードエントリ2200に
は、対応するレコードが割り当ててある物理レコードの
物理レコードアドレスが設定される。
【0041】図9は、空きレコードビットマップ210
1の構造図である。空きレコード状態2300は、物理
データレコード、及び、物理パリティレコードに対応し
て、その物理レコードが、空きレコード1503である
かそうでないかを表す。
【0042】図10は、キャッシュ割当情報2102の
構造図である。論理ストライプ(論理データストライプ
1613、及び、論理パリティストライプ1614)が
キャッシュ1308に格納されているかどうかを表す。
ストライプ割当ポインタ2400は、論理ストライプ単
位に対応して設けられる情報である。ストライプ割当ポ
インタ2400は、対応する論理ストライプ1611が
キャッシュ1308に格納されていれば、そのキャッシ
ュセグメントを管理するセグメント管理情報2103を
ポイントする。対応する論理ストライプ1611がキャ
ッシュ1308に格納されていなければヌル値となる。
【0043】図11は、セグメント管理情報2103の
中で本発明に関係した情報を表したものである。
【0044】更新前セグメントポインタ2500は、キ
ャッシュ内のセグメント2000の1つをポイントする
ポインタである。そのセグメント管理情報2103が、
論理データストライプのセグメント管理情報2103の
場合、ポイントされるセグメント2000には、パリテ
ィレコード1702の更新値を作成していないデータレ
コード1700の値が格納されている。また、そのセグ
メント管理情報2103が、論理パリティストライプ1
612のセグメント管理情報2103である場合、更新
前セグメントポインタ2500は、パリティレコード1
702の更新値を作成する際に生成されるパリティレコ
ードの中間値102を格納するセグメント2000をポ
イントする。
【0045】更新後セグメントポインタ2501もキャ
ッシュ内のセグメント2000の1つをポイントするポ
インタである。更新後セグメントポインタ2501は、
そのセグメント管理情報2103が論理データストライ
プ1611のセグメント管理情報2103である場合、
新たに作成されたパリティレコード1702の更新値を
格納したセグメント2000をポイントしている。ま
た、そのセグメント管理情報2103が物理パリティレ
コード1501のセグメント管理情報2103の場合、
更新前パリティ103、更新後パリティ104の値を、
本ポインタが示すセグメント2200に格納する。
【0046】更新前ビットマップ2502は、対応する
論理ストライプ内のレコード(データレコード、あるい
は、パリティレコード)のうち、更新前セグメントポイ
ンタ2500がポイントするセグメント2000の中
に、値が格納されているレコードを示すためのビットマ
ップを保持している。
【0047】更新前ダーティビットマップ2503は、
対応する論理ストライプ内のレコードのうち、更新前セ
グメントポインタ2500がポイントするセグメント2
000の中に、その値がまだディスク装置1304に書
き込まれていないデータレコード1700、あるいは、
パリティレコード1702を表すビットマップである。
【0048】更新後ビットマップ2504は、対応する
論理ストライプ内のレコードのうち、更新後セグメント
ポインタ2501がポイントするセグメント2000の
中に、値が格納されているデータレコード1700、あ
るいは、パリティレコード1702を表すビットマップ
である。
【0049】更新後ダーティビットマップ2505は、
更新後セグメントポインタ2501でポイントするセグ
メント2200に格納されているデータレコード170
0、あるいは、パリティレコード1702の中で、その
値がまだディスク装置1304に書き込まれていないデ
ータレコード1700、あるいは、パリティレコード1
702を表すビットマップである。
【0050】使用中フラグ2506は、そのセグメント
管理情報2103が使用中であることを表すふらぐであ
り、空きポインタ2507は、空き状態にあるセグメン
ト管理情報2103を相互に結合するためのポインタで
ある。
【0051】図12は、空きセグメントキューと空きセ
グメント管理情報キューの構造図である。図に示すよう
に、空きセグメントキューは、空きセグメントキューポ
インタ2104を先頭として、空き状態にあるセグメン
ト2000をそのセグメントポインタ2001でチェー
ン状に結合して構成されている。また、空きセグメント
管理情報キューは、空きセグメント管理情報キューポイ
ンタ2105を先頭として、空き状態にあるセグメント
管理情報2103をその空きポインタ2507でチェー
ン状に結合して構成されている。
【0052】図13は、ディスク装置1304内のバッ
ファ1313の構造である。バッファ1313は、デー
タ格納領域1200、マッピング情報2100、空きレ
コードビットマップ2101から構成される。データ格
納領域1200には、記憶媒体1312と制御装置13
05の間で転送されるデータを格納する。マッピング情
報2100、空きレコードビットマップ2101は、制
御装置1305に含まれる場合、バッファ1313には
もつ必要がない。なお、マッピング情報2100、空き
レコードビットマップ2101は、バッファ1313に
含まれる場合、バッファ1313は不揮発化しておくこ
とが望ましい。また、バッファ1313に含まれるマッ
ピング情報2100、空きレコードビットマップ210
1は、当該ディスク装置1304に含まれる論理ストラ
イプ、物理ストライプの情報である。なお、マッピング
情報2100、空きレコードビットマップ2101の構
造自体は、制御装置1305上に含む場合(図8、図
9)と同様であるため説明を省略する。
【0053】図14は、制御装置1305内のライト要
求受付部110の処理フローである。
【0054】ライト要求受付部110は、処理装置13
00からライト要求を受け付けた時、動作を開始する。
ステップ1000では、当該ライト要求において受け取
ったデータレコード1700に、キャッシュ1308、
あるいは、不揮発メモリ1400が割り当てられている
かどうかを、ディレクトリ1309、不揮発メモリ管理
情報1401のセグメント割当情報2102を参照して
確認する。割り当てられている場合、ステップ1002
にジャンプする。割り当てられていない場合、ステップ
1001でセグメント2000を割り当てる。具体的に
は、セグメント管理情報2103の更新前セグメントポ
インタ2500が、割り当てたセグメント2000を示
すようにする。ステップ1002では、ライト要求受付
部110は、処理装置1300からライトデータ、すな
わち、更新後データ104を受付け、キャッシュ130
8、および、不揮発メモリ1400に、更新後データ1
04格納する。このとき、ディレクトリ1309、不揮
発メモリ管理情報1401のセグメント割当情報210
2の中の必要な情報を更新する。具体的には、更新前ビ
ットマップ2503の対応するビットをオンにする。以
上で、動作を終了する。
【0055】次に、制御装置1305内のデータデステ
ージ部111の処理フローを図15に示す。データデス
テージ部111は、ステップ1100で、デステージす
べきデータレコード1700があるかどうかを、セグメ
ント管理情報2103をサーチして見つける。具体的に
は、更新前ビットマップ2503がオンの論理データス
トライプ1611に割り当てたセグメント管理情報21
03を見つける。見つかった場合、以下の処理を実行す
る。
【0056】まず、ステップ1101で、データデステ
ージ部111は、この論理データストライプ1613に
対応する論理パリティストライプ1614にキャッシュ
1308、不揮発メモリ1400が割り当てられている
か、セグメント割当情報2103を参照して、チェック
する。割り当てられている場合、ステップ1103にジ
ャンプする。割り当てられていない場合、ステップ11
02で、キャッシュ1308、不揮発メモリ1400の
セグメント2000を割り当てる。
【0057】次に、データデステージ部111は、ステ
ップ1103で、データレコード1700の更新前の
値、すなわち、更新前データ101が、キャッシュ13
08に存在するかチェックする。具体的には、更新前ビ
ットマップ2503がオンのデータレコード1700に
対応する更新後ビットマップ2504がオンになってい
るかチェックする。存在しない場合、ステップ1107
にジャンプする。存在する場合、ステップ1104で、
パリティ中間値作成ルーチンをコールする。
【0058】この後、データデステージ部111は、ス
テップ1105で、更新後データ100をディスク装置
1304に書き込むよう、要求を発行する。ここで、制
御装置1305とディスク装置1304の機能分担によ
って、要求の具体的な内容が異なってくる。まず、第1
に、論理ストライプと物理ストライプの変換(データレ
コード1700、パリティレコード1702から、物理
データレコード1500、物理パリティレコード150
2への変換)をディスク装置1304が実行する場合で
ある。この場合、図16に示すように、データデステー
ジ部111は、書き込みを行うデータレコード1701
を指定し、ディスク装置1304側で、書き込みを行う
物理レコード1502を決定する。第2に、論理ストラ
イプと物理ストライプの変換を、制御装置1305が実
行する場合、さらに、2つの方法が考えられる。図17
に示す方法は、制御装置1305が、物理ストライプの
中のすべての空きレコード1503と元々当該データレ
コード1700が格納されていた物理レコードを通知
し、ディスク装置1304が指定された物理レコードの
中で最初に見つけた物理レコードに、受け取ったデータ
を書き込むものである。この場合、ディスク装置130
4は、実際に書き込みを行った物理レコードを制御装置
1305に報告する。一方、制御装置1305は受け取
った情報にしたがって、マッピング情報2100を変更
することになる。また、図18に示す方法は、制御装置
1305が、更新後データ103を書き込む物理レコー
ドを直接指定する方法である。この場合、ディスク装置
1304は、指定された物理レコードに受け取ったデー
タを書き込むだけである。したがって、書き込み時間を
短縮するには、ディスク装置1304の読み書きヘッド
1315の位置を制御装置1305が認識して、どの物
理レコードに書き込むのが、書き込み時間を短縮できる
か計算する必要がある。このため、制御装置1305
は、図18に示すように、ディスク装置1304から、
読み書きヘッド1315の位置を通知してもらうよう要
求する。ディスク装置1304は、要求にしたがって、
この位置を制御装置1305に通知する。
【0059】図16〜図18に示した処理は、データレ
コード1700の内容を物理データレコード1500に
書き込んでいるだけである。したがって、図4に示すよ
うなパリティレコード1702を含まない場合にも適用
可能である。パリティレコード1702を含まない場合
には、ストライプ1610の構成は図35に示すような
構成となる。さらに、データレコード1700の内容を
2つ以上の物理レコード1501に書き込んだ場合に
も、図16〜図18に示した処理は、適用可能である。
この場合のストライプ1610の構成は図36に示すよ
うな構成となる。
【0060】データデステージ部111は、この後、デ
ステージ要求の完了を待つため、一度処理を完了する。
【0061】データデステージ部111は、ディスク装
置1304からのデータの書き込み完了通知を受け取る
と再び処理を開始する。ステップ1106で、対応する
セグメント管理情報2103の更新後ダーティセグメン
ト2505をオフする。なお、マッピング情報2100
を制御装置1305で管理している場合、書き込みを行
った物理レコード1502にしたがって、マッピング情
報2100を更新する。以上で、処理を完了する。
【0062】一方、ステップ1103において、更新前
データ101が、キャッシュ1308に存在しない場合
は、ステップ1107で、更新前データ101を格納す
るためのセグメント2000が割り当てられていれるか
どうかをチェックし、割り当てられていない場合、セグ
メント2000を割り当てる。
【0063】次に、データデステージ部111は、ステ
ップ1108で、ディスク装置1304に、更新前デー
タ101に対応する物理データレコード1500から更
新前データ101を読み出し、さらに、更新後データ1
00を、空きレコード1503に書き込むよう要求す
る。この場合も、制御装置1305とディスク装置13
04の機能分担によって、要求の具体的な内容が異なっ
てくる。まず、第1に、論理ストライプと物理ストライ
プの変換をディスク装置1305が実行する場合であ
る。この場合、図19に示すように、データデステージ
部111は、読み出しと書き込みを行うデータレコード
1700を指定するだけである。ディスク装置1304
は、指定されたデータレコード1700がどの物理レコ
ードに対応しているか認識し、さらに、どの物理レコー
ドが空きレコード1503になっているか把握する。
【0064】第2に、論理ストライプと物理ストライプ
の変換を、制御装置1305が実行する場合である。こ
の場合は、さらに、3つの方法が考えられる。まず、図
20に示す方法は、制御装置1305が、物理ストライ
プの中のすべての空きレコード1503を通知する。デ
ィスク装置1304が最初に見つけた空きレコード15
03に、受け取ったデータを書き込み、指定を受けた物
理レコードを読み出す。残りの2つの方法は、制御装置
1305が、データをどの物理レコードに書き込むかを
直接指定する方法である。図21に示す方法は、制御装
置1305が、書き込み時間を短縮するために、ディス
ク装置1304の読み書きヘッド1415の位置を制御
装置1305が認識して、どの物理レコード1502に
書き込むのが、書き込み時間を短縮できるか計算する。
このため、制御装置1305は、図21に示すように、
ディスク装置1304から、読み書きヘッド1415の
位置を通知してもらうよう要求する。ディスク装置13
04は、要求にしたがって、この位置を制御装置130
5に通知する。
【0065】図22に示す方法は、物理データレコード
1500の読み出しを最初に実行し、次に、空きレコー
ド1503の書き込みを実行する場合である。この場合
には、物理データレコード1500の後にある空きレコ
ード1503の中で、最も近くにある空きレコード15
03を、データを書き込むべき物理レコードとして選択
する。
【0066】データデステージ部111は、この後、デ
ィスク装置1304からの報告を待つため、一度処理を
完了する。
【0067】ディスク装置1304からの読み出し完了
報告を受け取ると、データデステージ部111は再び処
理を開始する。ステップ1110で、データデステージ
部111は、ディスク装置1304から、読み出した物
理データレコード1500を受け取り、セグメント20
00に格納する。この後、ステップ1109で、ディス
ク装置1304から、デステージ要求の完了報告を受
取、対応するセグメント管理情報2103の更新前ダー
ティセグメント2503をオフする。さらに、この後、
セグメント管理情報2102の中の対応する更新後ビッ
トマップ2504をセットする。なお、マッピング情報
2100を制御装置1305で管理している場合、書き
込みを行った物理レコード1502にしたがって、マッ
ピング情報2100を更新する。
【0068】ステップ1111では、データデステージ
部111は、パリティ中間値作成ルーチンをコールす
る。以上で、処理を完了する。
【0069】図23は、パリティ中間値作成ルーチンの
処理フローである。ステップ2300では、すでに、パ
リティ中間値102が作成されているかどうかをチェッ
クする。具体的には、論理パリティストライプ1614
に割り当てたセグメント管理情報2103の中の対応す
る更新前ビットマップ2503がオンになっているかチ
ェックする。作成ずみの場合、ステップ2303へジャ
ンプする。ステップ2301では、更新前データ101
と更新後データ100からパリティ中間値102を作成
し、キャッシュ1308、不揮発メモリ1400内の、
論理パリティストライプ1614に割り当てたセグメン
ト2000に格納する。ステップ2302では、論理パ
リティストライプ1614に割り当てたセグメント管理
情報2103の中の対応する更新前ビットマップ250
2、更新前ダーティビットマップ2503をオンにす
る。この後、ステップ2304にジャンプする。
【0070】ステップ2303でデータデステージ部1
11は、更新前データ101、更新後データ100、さ
らに作成済みのパリティ中間値103とから、新たなパ
リティ中間値103を作成し、キャッシュ1308、不
揮発メモリ1400内の、論理パリティストライプ16
14に割り当てたセグメント2000に格納する。
【0071】ステップ2304では、論理データストラ
イプ1611に割り当てたセグメント管理情報2103
の中の更新前セグメントポインタ2500が示すセグメ
ント2000内の更新前ビットマップ2502がオンの
データレコード1700の内容を、更新後セグメントポ
インタ2501が示すセグメント2000の対応位置に
コピーする。さらに、更新前ビットマップ2502がオ
ンのビットを、更新後ビットマップ2504にコピーす
る。
【0072】ステップ2305では、論理データストラ
イプ1611に割り当てたセグメント管理情報2103
の中の論理データストライプ更新前ダーティビットマッ
プ2503がオンのビットを、更新後ダーティビットマ
ップ2505にコピーする。
【0073】ステップ2306では、論理データストラ
イプ1611に割り当てたセグメント管理情報2103
の中の更新前セグメントポインタ2500が示すセグメ
ント2000を空き状態にする。加えて、更新前ビット
マップ2502、および、更新前ダーティビットマップ
2503をオフにし、更新前セグメントポインタ250
0をヌルにする。
【0074】ステップ2304〜2306の処理は、キ
ャッシュ1308、ディレクトリ1309だけでなく、
不揮発メモリ1400、不揮発メモリ管理情報1401
についても、同様に実行される。
【0075】図24は、ディスク装置1304内のデー
タ書き込み部112の処理フローである。まず、ステッ
プ2400では、制御装置1305から受け取った情報
を解析する。マッピング情報2100をディスク装置1
304で管理する場合には、関係する論理ストライプの
中から、空きレコード1503がどれかを認識する。ス
テップ2401では、制御装置1305から書き込みを
行うデータを受け取る。次に、ステップ2402で、読
み書きヘッド1413の位置付けを実行する。ステップ
2403では、読み書きヘッド1413が、どの物理レ
コード1502に位置付いたかを認識する。
【0076】ステップ2404では、当該物理レコード
1502が、読み出しを指定された物理レコード150
2であるか判断する。そうであれば、ステップ2408
へジャンプする。ステップ2405では、当該物理レコ
ード1502は書き込みを指定された物理レコード15
02、あるいは、書き込みを行ってよい物理レコード1
502か判断する。そうであれば、ステップ2410へ
ジャンプする。
【0077】ステップ2406では、次の物理レコード
が当該物理ストライプ1618に含まれるか判断する。
そうであれば、次の物理レコードの処理に入るため、ス
テップ2404にジャンプする。含まれない場合、ステ
ップ2408で、当該物理ストライプの最初の物理レコ
ードに位置付くよう、読み書きヘッド1413の位置付
けを実行する。この後、ステップ2403にジャンプす
る。
【0078】ステップ2408では、読み書きヘッド1
413が位置付いた物理レコードを読み出す。そして、
ステップ2409で、書き込みが完了したかをチェック
する。完了していない場合、ステップ2404にジャン
プする。完了している場合、ステップ2412へジャン
プする。
【0079】ステップ2410では、読み書きヘッド1
413が位置付いた物理レコードにライトデータを書き
込む。ステップ2411では、物理レコードの読み出し
を行う必要があるか判断し、読み出しの必要がまだ有れ
ば、ステップ2404へジャンプする。
【0080】ステップ2412では、物理レコード15
02の読み出しを行ったかチェックし、読み出していれ
ば、物理レコード1502を制御装置1305に送る。
ステップ2413では、要求の完了を制御装置1305
に報告する。なお、ディスク装置1304がマッピング
情報を持つ場合、完了報告を返す前に、マッピング情報
2100を更新する。
【0081】以上は、ディスク装置1304側に、パリ
ティ中間値102の作成機能を持たない場合の、データ
デステージ部111、データ書き込み部112の処理フ
ローである。図25、図26は、ディスク装置1304
側に、パリティ中間値102の作成機能を持った場合
の、データデステージ部111、データ書き込み部11
2の処理フローである。それぞれの処理フローで、図1
5、図23、図24の処理フローと同一の番号が付され
たステップは、それらにおける対応する処理と同じ処理
内容を持つ。以下、処理内容が異なる部分のみ説明を行
う。
【0082】図25の処理フローでは、データデステー
ジ部111が、ディスク装置1304から、更新前デー
タ101ではなく、パリティ中間値102を受け取る。
この場合、ステップ2500で、作成ずみのパリティ中
間値102があるかチェックする。パリティ中間値がな
い場合、ステップ2502のキャッシュ1308、不揮
発性メモリ1400それぞれのパリティストライプ16
12に対応するセグメント2000に、パリティ中間値
102をコピーする。さらに、ステップ2504で、対
応する更新前ビットマップ2502と更新前ダーティビ
ットマップ2503をセットする。この後、ステップ2
304へジャンプする。ステップ2505では、ディス
ク装置1304から受け取ったパリティ中間値102と
作成済みのパリティ中間値102から、最新のパリティ
中間値102を作成し、キャッシュ1308、不揮発性
メモリ1400それぞれのパリティストライプ1612
に対応するセグメント2000の方に、パリティ中間値
102をコピーする。(ステップ2304〜2306
は、図23に示したとおりの内容であるため、説明を省
略する。)図26の処理フローでは、データ書き込み部
112が、ステップ2600で、読み出した物理レコー
ド1502と受け取ったライトデータとからパリティ中
間値102を作成し、ステップ2601で作成したパリ
ティ中間値102を制御装置1305に送る点のみが異
なる。
【0083】図27は、制御装置1305内のパリティ
デステージ部113の処理フローである。パリティデス
テージ部113は、ステップ2700で、デステージす
べきパリティレコード1702があるかどうかを、セグ
メント管理情報2103をサーチして見つける。具体的
には、更新前ビットマップ2503がオンの論理パリテ
ィストライプ1612に割り当てたセグメント管理情報
2103を見つける。見つかった場合、以下の処理を実
行する。
【0084】ステップ2701でパリティデステージ部
113は、パリティレコード1702の更新前の値が、
キャッシュ1308に存在するかチェックする。具体的
には、更新前ビットマップ2503がオンのデータレコ
ード1700に対応する更新後ビットマップ2504が
オンになっているかチェックする。存在しない場合、ス
テップ2707にジャンプする。存在する場合、ステッ
プ2702以下のステップで、更新後パリティ104の
作成処理に入る。ステップ2702では、パリティ中間
値102と更新前パリティ103とから更新後パリティ
104を作成し、キャッシュ1308、不揮発性メモリ
1400のセグメント2000に格納する。ステップ2
703では、対応する更新前ビットマップ2502、更
新前ダーティビットマップ2504をオンにする。
【0085】ステップ2704では、更新前ダーティビ
ットマップ2503、更新前ビットマップ2502をオ
フする。ステップ2705では、更新前セグメントポイ
ンタ2500が示すセグメントを空き状態にし、更新前
セグメントポインタ2500をヌルにする。
【0086】ステップ2703〜2305の処理は、キ
ャッシュ1308、ディレクトリ1309だけでなく、
不揮発メモリ1400、不揮発メモリ管理情報1401
についても、同様に実行される。
【0087】この後、パリティデステージ部113は、
ステップ2706で、更新後パリティ104をディスク
装置1304に書き込むよう、要求を発行する。この要
求は、データデステージ部111がディスク装置130
4に更新後データ101を書き込む際の内容と同様であ
る。具体的には、図16〜図18に示した更新後データ
のディスク装置への書き込み要求と同様に行われる。し
たがって、この要求に対しては、ディスク装置1304
のデータ書き込み部112が動作する。データ書き込み
部112の処理内容は、図24に示した処理フローの通
りである。
【0088】パリティステージ部113は、この後、デ
ステージ要求の完了を待つため、一度処理を完了する。
【0089】ディスク装置1304からの書き込み要求
完了通知を受け取ると、パリティデステージ部113は
再び処理を開始する。ステップ2707で、対応するセ
グメント管理情報2103の更新後ダーティセグメント
2505をオフする。なお、マッピング情報2100を
制御装置1305で管理している場合、書き込みを行っ
た物理レコード1502にしたがって、マッピング情報
2100を更新する。以上で、処理を完了する。
【0090】一方、ステップ2701において、更新前
パリティ103が、キャッシュ1308に存在しない場
合、ステップ2708で、更新前データ101を格納す
るためのセグメント2000が割り当てられていれるか
どうかをチェックし、割り当てられていない場合、セグ
メント2000を割り当てる。具体的には、更新後セグ
メントポインタ2501が割り当てたセグメント200
0を示すようにする。
【0091】次に、パリティデステージ部113は、ス
テップ2708で、ディスク装置1304に、更新前パ
リティ103に対応する物理データレコード1500か
ら更新前データ101を読み出し、さらに、制御装置1
305から受け取ったパリティ中間値102と読み出し
た更新前パリティ103とから更新後パリティ104を
作成し、更新後パリティ104を空きレコード1503
に書き込むよう要求する。この場合も、制御装置130
5とディスク装置1304の機能分担によって、要求の
具体的な内容が異なってくる。まず、第1に、論理スト
ライプと物理ストライプの変換をディスク装置1305
を実行する場合である。この場合、図28に示すよう
に、パリティデステージ部113は、読み出しと書き込
みを行うパリティレコード1701を指定し、パリティ
中間値102を送信する。ディスク装置1304は、該
当する物理レコード1501から更新前パリティ102
を読み出し、更新後パリティ104を作成し、最初に見
つけた空きレコード1502に、更新後パリティ104
を書き込む。
【0092】第2に、論理ストライプ1611と物理ス
トライプ1612の変換を、制御装置1305が実行す
る場合である。この場合は、さらに、2つの方法が考え
られる。まず、図29に示す方法は、制御装置1305
が、更新前パリティ103が格納された物理レコード、
すなわち、読み出しを行う物理レコードと、物理ストラ
イプ1613の中のすべての空きレコード1503、す
なわち、書き込みを行う1つ以上の物理レコードを通知
する。ディスク装置1304は、指定された物理レコー
ドから更新前パリティ103を読み出し、更新後パリテ
ィ104を作成し、指定された物理レコードの中で、最
初に見つけた物理レコードに、作成した更新後パリティ
104を書き込む。
【0093】また、図30に示す方法では、制御装置1
305が、更新後パリティ104を書き込む物理レコー
ド1502を直接指定する。制御装置1305は、更新
前パリティ103を読み出してから、更新後パリティ1
04を作成する時間を考慮して、作成が完了してから、
最も近くにある空きレコード1503を、データを書き
込むべき物理レコードとして選択する。なお、ディスク
装置1304が、更新前パリティ103の読み込みと更
新後パリティ104の作成を並列に実行可能な場合、制
御装置1305は、読み出しを行う物理レコードの後で
最も近くにある空きレコード1503を選択すればよい
ことになる。パリティデステージ部113は、この後、
パリティ生成を含むデステージ要求の完了を待つため、
一度処理を完了する。
【0094】ディスク装置1304からのデステージ要
求完了通知を受け取ると、データデステージ部113は
再び処理を開始する。ステップ2710で、ディレクト
リ1309、不揮発メモリ管理情報の対応するセグメン
ト管理情報2103の更新前ダーティセグメント250
3、更新前ビットマップ2502をオフする。さらに、
ステップ2711で、更新前セグメントポインタ250
0が示すセグメントを空き状態にし、更新前セグメント
ポインタ2500をヌル値にする。なお、マッピング情
報2100を制御装置1305で管理している場合、書
き込みを行った物理レコード1502にしたがって、マ
ッピング情報2100を更新する。以上で、処理を完了
する。
【0095】図31は、ディスク装置1304内のパリ
ティ書き込み部114の処理フローである。まず、ステ
ップ3100では、制御装置1305から受け取った情
報を解析する。マッピング情報2100をディスク装置
1304で管理する場合は、ここで、関係する論理スト
ライプ1618の中から、空きレコード1503がどれ
かを認識する。そして、ステップ3101では、制御装
置1305からパリティ中間値102を受け取る。
【0096】ステップ3102で、読み書きヘッド14
13の位置付けを実行し、ステップ3103では、読み
書きヘッド1413が読み出しを行う物理レコードに位
置付つくまで待つ。
【0097】ステップ3104では、当該物理レコード
を読み出し、読み出した物理レコードとパリティ中間値
102とから更新後パリティ104を作成する。読み出
し処理と更新後パリティ104の作成処理は、並列に実
行可能である。
【0098】ステップ3105では、パリティ書き込み
部114では、最初に見つけた空きレコード、制御装置
1305が指定した複数の物理レコードの中で最初に見
つけた物理レコード、あるいは、制御装置1305が指
定した物理レコードに、更新後パリティ104を書き込
む。この後、パリティ書き込み部114は、要求の完了
を制御装置1305に報告する。なお、ディスク装置1
304がマッピング情報を持つ場合、完了報告を返す前
に、マッピング情報2100を更新する。
【0099】以上説明した実施例によれば、データレコ
ードの更新に伴うパリティレコードの更新の際、パリテ
ィの作成処理の一部をディスク装置側で実施するため、
制御装置の処理負荷をある程度軽減することができる。
さらに、各ディスク装置は、制御装置からの書き込み要
求に対して、制御装置から受け取った情報、あるいは、
自らが作成した情報を、読み書きヘッドがもっとも早く
位置付く空きレコードの書き込むので、制御装置から要
求に対する応答時間を短くすることができる。
【0100】なお、上述した実施例において、ディスク
装置の作成した更新後パリティを制御装置に送り、制御
装置内のキャッシュに格納するようにしてもよい。これ
により、次の更新後パリティの作成が、制御装置で可能
になり、ディスク装置から物理レコードを読みださず
に、更新後パリティを書き込むことが可能になる。
【0101】また、以上の実施例では、パリティレコー
ド1702の更新を行う場合、制御装置1305から
は、パリティ中間値102を送っている。更新前データ
101がキャッシュ1308に存在する場合、パリティ
中間値102の計算は、制御装置1305が実行してい
る。制御装置1305の負荷を軽減するという観点から
は、この計算をディスク装置1305に分散した方が、
効果的である。図35は、このような観点からの動作概
要を表している。図では、制御装置1305内のパリテ
ィデステージ部112が、ディスク装置1305内のパ
リティ書き込み部114に、更新前データ101と更新
後データ100を送る。パリティデステージ部114で
は、更新前データ101と更新後データ100からパリ
ティ中間値102を作成する。この後、記憶媒体131
2から更新前パリティ103を読み出し、読み出した更
新前パリティ103とパリティ中間値102とから、更
新後パリティ104を生成して、記憶媒体1312に、
更新後パリティ104を書き込む。もちろん、パリティ
中間値102を生成せずに、更新前データ101と更新
後データ100と更新前パリティ103とから、直接、
更新後パリティ104を生成してもよい。
【0102】制御装置1305とディスク装置1304
の具体的なインターフェイスについては、図28〜図3
0に示した考え方をそのまま用いることができる。これ
を、図36〜図39にまとめる。図28〜図30と図3
6〜図39の相違は、以下のとおりである。
【0103】(1)制御装置1305がディスク装置1
304に送る情報が、パリティ中間値102から、更新
前データ101と更新後データ100に代わっている。
【0104】(2)制御装置1305からディスク装置
1304へ、更新前データ101と更新後データ100
の2つの情報を送る。ディスク装置1304では、更新
前データ101と更新後データ100から更新後パリテ
ィ104を生成して、記憶媒体1313に書き込む。こ
こで、この2つの情報を別々に送信したのでは、制御装
置1305とディスク装置1304の転送オーバヘッド
が増加する。このため、2つの情報を一括して送信する
ことが望ましい。また、制御装置1305がこれらの情
報を送信する際、指定する情報の長さは、更新前データ
101と更新後データ100を合わせた長さ、あるい
は、ディスク装置1305に書き込む更新後パリティ1
04の長さ(更新前データ101、更新後データ100
単独の長さ)とすることができる。なお、パリティレコ
ード1702の更新を行う際に、制御装置1304が、
パリティレコード1702を格納したディスク装置13
05に更新前データ101と更新後データ100を送る
という方式は、図39に示すような場合にも適用でき
る。具体的には、更新前パリティ103を読み出した物
理レコード1502に更新後パリティ104を必ず書き
込むという場合、すなわち、パリティレコード1702
を常に同じ物理レコード1502に格納する場合にであ
る。この場合の効果は、制御装置1305の負荷を軽減
するということである。
【0105】次に第2の実施例を説明する。図32は、
第2の実施例における計算機システムの構成を示すブロ
ック図である。第1の実施例における計算機システムと
の構成上の相違は、処理装置1300に直接ディスク装
置1304が接続されている点にある。本実施例では、
キャッシュ1308、ディレクトリ1304は、処理装
置1300の主記憶1302上に実現される。処理装置
1300の主記憶1302は、不揮発化されていても、
いなくてもかまわない。処理装置1300上では、応用
プログラム300と管理プログラム301が実行され
る。キャッシュ1308、ディレクトリ1309、およ
び、パリティグループ等の管理機能は、管理プログラム
301がもつ。また、本実施例では、データレコード1
700を、応用プログラム300が直接リード/ライト
するレコードことになる。すなわち、本実施例において
は、応用プログラム300が、第1の実施例における図
2の処理装置1300に、管理プログラム301が同じ
く図2の制御装置1305に相当すると考えることがで
きる。したがって、図1において、制御装置1305内
に設けられる各機能を実現する構成要素は、管理プログ
ラム301内に設けられることになる。このため、管理
プログラム301内に実現されている各構成要素の機能
については、ここでは、説明を省略する。また、詳細な
内容についても、第1の実施例で説明した内容をそのま
ま適用できるため、説明を省略する。
【0106】以上説明した第1、第2の実施例では、m
個のデータレコード1700に対し、n個のパリティレ
コード1702を作成する場合について述べた。しか
し、本発明は、パリティレコード1702がない場合に
ついても有効である。この場合、論理ストライプグルー
プ1617と物理ストライプグループの関係は、図33
に示すようになる。この時には、データレコードライト
部111は、更新後データ100をディスク装置130
4に書き込むよう要求することになる。ディスク装置1
304側では、更新前データ101が格納されている物
理データレコード1500か、当該物理データストライ
プ1615の中の空きレコード1503の中で、最初位
置ついた物理レコード1502に更新後データを書き込
む。これにより、ディスク装置1304のアクセス時間
を短縮することができる。制御装置1305とディスク
装置の間のインターフェイスについては、図17〜図1
8に示したいずれかに準じればよい。
【0107】一方、図34のように、1つのデータレコ
ード1700を2つ以上の物理レコード1502に書き
込む場合も、本発明は有効である。図34は、この場合
の論理ストライプグループ1617と物理ストライプグ
ループの関係を示してある。この場合も、ディスク装置
1304側では、更新前データ101が格納されている
物理データレコード1500か、当該物理データストラ
イプ1615の中の空きレコード1503の中で、最初
位置ついた物理レコード1502に更新後データを書き
込む。これにより、ディスク装置1304のアクセス時
間を短縮することができる。制御装置1305とディス
ク装置の間のインターフェイスについても、図17〜図
18に示したいずれかを用いればよい。
【0108】
【発明の効果】本発明では、ディスクアレイにおけるラ
イト処理を高速化するため、(1)ディスク装置の記憶
媒体上に適当な比率で空き領域を設け、(2)ディスク
装置側に、データの読み書き、冗長データの作成を一括
して実行する機能をもたせる。ディスクアレイにおいて
は、処理装置からライト要求を受け付けると、受け付け
たデータの書き込みだけでなく、新たな冗長データの作
成、および、この冗長データのディスク書き込みが発生
する。新たな冗長データの作成のためには、旧いデータ
と冗長データが必要であり、これらをディスク装置から
読み出す。つまり、合計で4回のディスクアクセスが必
要である。一方、本発明を適用すると、データの場合、
旧いデータの読み出しと新しいデータの書き込みがほと
んど1回のディスクアクセス程度の時間で実行できる。
同様に、古い冗長データの読み出しと新しい冗長データ
の書き込みがほとんど1回のディスクアクセス程度の時
間で実行できる。したがって、本発明によりライト処理
によるディスクアクセス数を半分程度に抑えることがで
きる。
【図面の簡単な説明】
【図1】第1の実施例の記憶装置サブシステムの概要を
表す機能ブロック図である。
【図2】第1の実施例の計算機システムの構成を示すブ
ロック図である。
【図3】第1の実施例におけるレコードの考え方説明す
るための概念図である。
【図4】第1の実施例におけるパリティグループの考え
方を説明するための概念図である。
【図5】パリティグループについての他の考え方を説明
するための概念図である。
【図6】キャッシュメモリの構造図である。
【図7】ディレクトリの構造図である。
【図8】マッピング情報の構造図である。
【図9】空きレコードビットマップの構造図である。
【図10】キャッシュ割当情報の構造図である。
【図11】セグメント管理情報の構成図である。
【図12】空きセグメントキューと空きセグメント管理
情報キューの構造図である。
【図13】ディスク装置内に設けられるバッファの構造
図である。
【図14】ライト要求受付部の処理フロー図である。
【図15】データデステージ部の処理フロー図である。
【図16】ディスク装置にマッピング機能を割り当てた
場合における更新後データ書き込み時の制御装置とディ
スク装置の機能分担を説明する概念図である。
【図17】制御装置にマッピング機能を割り当てた場合
における更新後データ書き込み時の制御装置とディスク
装置の機能分担を説明する概念図である。
【図18】制御装置にマッピング機能を割り当てた場合
における更新後データ書き込み時の制御装置とディスク
装置の機能分担を説明する概念図である。
【図19】ディスク装置にマッピング機能を割り当てた
場合における更新前データ読み出し、及び更新後データ
書き込みの際の制御装置とディスク装置の機能分担を説
明する概念図である。
【図20】制御装置にマッピング機能を割り当てた場合
における更新前データ読み出し、及び更新後データ書き
込みの際の制御装置とディスク装置の機能分担を説明す
る概念図である。
【図21】制御装置にマッピング機能を割り当てた場合
における更新前データ読み出し、及び更新後データ書き
込みの際の制御装置とディスク装置の機能分担を説明す
る概念図である。
【図22】制御装置にマッピング機能を割り当てた場合
における更新前データ読み出し、及び更新後データ書き
込みの際の制御装置とディスク装置の機能分担を説明す
る概念図である。
【図23】パリティ中間値作成ルーチンの処理フロー図
である。
【図24】データ書き込み部の処理フロー図である。
【図25】パリティ中間値をディスク装置で作成した場
合のデータデステージ部の処理フロー図である。
【図26】パリティ中間値をディスク装置で作成した場
合のデータ書き込み部の処理フロー図である。
【図27】パリティデステージ部の処理フロー図であ
る。
【図28】ディスク装置にマッピング機能を割り当てた
場合における更新前パリティ読み出し、更新後パリティ
作成、及び書き込みの際の制御装置とディスク装置の機
能分担を説明する概念図である。
【図29】制御装置にマッピング機能を割り当てた場合
における更新前パリティ読み出し、更新後パリティ作
成、及び書き込みの際の制御装置とディスク装置の機能
分担を説明する概念図である。
【図30】制御装置にマッピング機能を割り当てた場合
における更新前パリティ読み出し、更新後パリティ作
成、及び書き込みの際の制御装置とディスク装置の機能
分担を説明する概念図である。
【図31】パリティ書き込み部の処理フロー図である。
【図32】第2の実施例の計算機システムの構成を示す
ブロック図である。
【図33】パリティレコードがない場合のストライプの
構成を説明するための概念図である。
【図34】データレコードを2つ以上の物理レコードに
書き込んだ場合のストライプの構成を説明するための概
念図である。
【図35】記憶装置サブシステムの他の機能構成を表す
機能ブロック図である。
【図36】図37に示す機能構成において、ディスク装
置にマッピング機能を割り当てた場合の更新前パリティ
読み出し、更新後パリティ作成、及び書き込み実行時の
制御装置とディスク装置の機能分担を説明する概念図で
ある。
【図37】図37に示す機能構成において、制御装置に
マッピング機能を割り当てた場合の更新前パリティ読み
出し、更新後パリティ作成、及び書き込みの実行時の制
御装置とディスク装置の機能分担を説明する概念図であ
る。
【図38】図37に示す機能構成において、制御装置に
マッピング機能を割り当てた場合の更新前パリティ読み
出し、更新後パリティ作成、及び書き込みの実行時の制
御装置とディスク装置の機能分担を説明する概念図であ
る。
【図39】制御装置1305が、ディスク装置1304
に更新後データ100と更新前データを送り、ディスク
装置1304が、パリティレコード1702を常に同じ
物理レコード1502に格納する場合の処理概念図であ
る。
【符号の説明】
1300・・・処理装置、1304・・・ディスク装置、13
05・・・制御装置、1308・・・キャッシュメモリ、13
09・・・ディレクトリ、1310・・・ディスクアレイ制御
プロセッサ、1311・・・ディスク制御プロセッサ、1
312・・・記憶媒体。
フロントページの続き (72)発明者 佐藤 孝夫 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】複数台の記憶装置と、該記憶装置の制御を
    行う制御装置とを備え、m個(m≧1)の通常データと
    前記通常データを回復するためのn個(n≧1)の冗長
    データによりデータグループを構成し、該データグルー
    プ内の前記通常データ及び前記冗長データをそれぞれ異
    なる記憶装置の記憶媒体上にレコードを格納単位として
    記憶する記憶装置システムに適した記憶装置であって、
    前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データを格納した状態と、前記通常データと前記冗長
    データのいずれも格納していない状態とがあり、前記冗
    長データを作成するための情報を前記制御装置から受け
    取る手段と、前記冗長データを作成するための情報を前
    記記憶媒体から読みだす手段と、前記冗長データを作成
    するための情報から前記冗長データを作成する手段と、
    作成した前記冗長データをそれまで前記通常データと前
    記冗長データのいずれも格納していなかったレコードに
    格納する手段とを有することを特徴とする記憶装置。
  2. 【請求項2】前記レコードが、前記通常データ又は前記
    冗長データを格納した状態、及び前記通常データと前記
    冗長データのいずれも格納していない状態のいずれの状
    態にあるかを識別する情報を保持する手段を有すること
    を特徴とする請求項1記載の記憶装置。
  3. 【請求項3】複数台の記憶装置と、該記憶装置の制御を
    行う制御装置とを備え、m個(m≧1)の通常データと
    前記通常データを回復するためのn個(n≧1)の冗長
    データによりデータグループを構成し、該データグルー
    プ内の前記通常データ及び前記冗長データをそれぞれ異
    なる記憶装置の記憶媒体上にレコードを格納単位として
    記憶する記憶装置システムであって、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データを格納した状態と、前記通常データと前記冗長
    データのいずれも格納していない状態とがあり、 前記制御装置は、前記レコードが、前記通常データ又は
    前記冗長データを格納している状態、及び前記通常デー
    タと前記冗長データのいずれも格納していない状態のい
    ずれの状態にあるかを識別するための情報を保持する手
    段と、前記冗長データを作成するための情報、前記冗長
    データを作成するための情報が格納されているレコード
    のアドレス、及び前記冗長データを書き込むべきレコー
    ドとしての複数の候補を前記記憶装置に送る手段と、前
    記記憶装置から前記冗長データを実際に書き込んだレコ
    ードのアドレスを受け取る手段とを有し、 前記記憶装置は、前記冗長データを作成するための情
    報、前記冗長データを作成するための情報が格納されて
    いるレコードのアドレス、及び前記冗長データを書き込
    むべきレコードとしての複数の候補を前記制御装置から
    受け取る手段と、前記冗長データを作成するための情報
    を前記制御装置から指定されたレコードから読みだす手
    段と、前記冗長データを作成するための情報から前記冗
    長データを作成する手段と、前記制御装置から受け取っ
    た前記冗長データを書き込むべきレコードとしての複数
    の候補の中から、作成した冗長データを書き込むレコー
    ドを選択し、該選択したレコードに前記作成した冗長デ
    ータを書き込む手段と、前記冗長データを書き込んだレ
    コードを前記制御装置に通知する手段とを有することを
    特徴とする記憶装置システム。
  4. 【請求項4】複数台の記憶装置と、該記憶装置の制御を
    行う制御装置とを備え、m個(m≧1)の通常データと
    前記通常データを回復するためのn個(n≧1)の冗長
    データによりデータグループを構成し、該データグルー
    プ内の前記通常データ及び前記冗長データをそれぞれ異
    なる記憶装置の記憶媒体上にレコードを格納単位として
    記憶する記憶装置システムであって、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データを格納している状態と、前記通常データと前記
    冗長データのいずれも格納していない状態とがあり、 前記制御装置は、前記レコードが、前記通常データ又は
    前記冗長データを格納している状態、及び前記通常デー
    タと前記冗長データのいずれも格納していない状態のい
    ずれの状態にあるかを識別するレコード格納状態情報
    と、前記レコード格納状態情報を参照し、前記冗長デー
    タを格納するためのレコードを決定する手段と、前記冗
    長データを作成するための情報、前記冗長データを作成
    するための情報が格納されているレコードのアドレス、
    及び、前記冗長データを書き込むべきレコードとして決
    定したレコードを前記記憶装置に送る手段とを有し、 前記記憶装置は、前記冗長データを作成するための情
    報、前記冗長データを作成するための情報が格納されて
    いるレコードのアドレス、及び前記冗長データを書き込
    むべきレコードを前記制御装置から受け取る手段と、前
    記冗長データを作成するための情報を前記制御装置から
    指定されたレコードから読みだす手段と、前記冗長デー
    タを作成するための情報から前記冗長データを作成する
    手段と、作成した前記冗長データを前記制御装置から指
    定されたレコードに書き込む手段とを有することを特徴
    とする記憶装置システム。
  5. 【請求項5】複数台の記憶装置と、該記憶装置の制御を
    行う制御装置とを備え、m個(m≧1)の通常データと
    前記通常データを回復するためのn個(n≧1)の冗長
    データによりデータグループを構成し、該データグルー
    プ内の前記通常データ及び前記冗長データをそれぞれ異
    なる記憶装置の記憶媒体上にレコードを格納単位として
    記憶する記憶装置システムに適した記憶装置であって、
    前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データを格納している状態と、前記通常データと前記
    冗長データのいずれも格納していない状態とがあり、前
    記記憶媒体に書き込む通常データを前記制御装置から受
    け取る手段と、前記冗長データを作成するための情報を
    前記記憶媒体から読みだして前記制御装置に送る手段
    と、前記制御装置から受け取った前記通常データを、そ
    れまで前記通常データと前記冗長データのいずれも格納
    していなかったレコードに格納する手段とを有すること
    を特徴とする記憶装置。
  6. 【請求項6】前記レコードが、前記通常データ又は前記
    冗長データを格納している状態か、前記通常データと前
    記冗長データのいずれも格納していない状態かを識別す
    る情報を保持する手段を有することを特徴とする請求項
    5記載の記憶装置。
  7. 【請求項7】複数台の記憶装置と、該記憶装置の制御を
    行う制御装置とを備え、m個(m≧1)の通常データと
    前記通常データを回復するためのn個(n≧1)の冗長
    データによりデータグループを構成し、該データグルー
    プ内の前記通常データ及び前記冗長データをそれぞれ異
    なる記憶装置の記憶媒体上にレコードを格納単位として
    記憶する記憶装置システムであって、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データを格納している状態と、前記通常データと前記
    冗長データのいずれも格納していない状態とがあり、 前記制御装置は、前記レコードが、前記通常データ又は
    前記冗長データを格納している状態にあるか、前記通常
    データと前記冗長データのいずれも格納していない状態
    にあるかを識別する情報を保持する手段と、前記冗長デ
    ータを作成するための情報が格納されているレコードの
    アドレス、前記通常データ、及び前記通常データを書き
    込むべきレコードとしての複数の候補を前記記憶装置に
    送る手段と、前記記憶装置から、前記通常データを実際
    に書き込んだレコードのアドレスを前記記憶装置から受
    け取る手段とを有し、 前記記憶装置は、前記冗長データを作成するための情報
    が格納されているレコードのアドレス、前記通常デー
    タ、及び前記通常データを書き込むべきレコードとして
    複数の候補を前記制御装置から受け取る手段と、前記冗
    長データを作成するための情報を前記記憶媒体から読み
    だして前記制御装置に送る手段と、前記制御装置から受
    け取った前記通常データを書き込むべきレコードとして
    複数の候補の中から、実際に前記冗長データを書き込む
    レコードを選択し、選択したレコードに前記通常データ
    を書き込む手段と、前記通常データを書き込んだレコー
    ドを前記制御装置に通知する手段とを有することを特徴
    とする記憶装置システム。
  8. 【請求項8】複数台の記憶装置と、該記憶装置の制御を
    行う制御装置とを備え、m個(m≧1)の通常データと
    前記通常データを回復するためのn個(n≧1)の冗長
    データによりデータグループを構成し、該データグルー
    プ内の前記通常データ及び前記冗長データをそれぞれ異
    なる記憶装置の記憶媒体上にレコードを格納単位として
    記憶する記憶装置システムであって、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データ格納している状態と、前記通常データと前記冗
    長データのいずれも格納していない状態とがあり前記制
    御装置は、前記レコードが、前記通常データ又は前記冗
    長データを格納している状態か、前記通常データと前記
    冗長データのいずれも格納していない状態かを識別する
    レコード格納状態情報を保持し、前記レコード格納状態
    情報を参照して前記通常データを格納するためのレコー
    ドを決定する手段と、前記冗長データを作成するための
    情報が格納されているレコードのアドレス、前記通常デ
    ータ、及び前記通常データを書き込むべきレコードとし
    て決定したレコードを前記記憶装置に送る手段とを有
    し、 前記記憶装置は、前記冗長データを作成するための情報
    が格納されているレコードのアドレス、前記通常デー
    タ、及び前記通常データを書き込むべきレコードとして
    決定したレコードを前記制御装置から受け取る手段と、
    前記冗長データを作成するための情報を前記記憶媒体か
    ら読みだして前記制御装置に送る手段と、前記冗長デー
    タを作成するための情報から前記冗長データを作成する
    手段と、前記通常データを、前記制御装置から指定され
    たレコードに書き込む手段とを有することを特徴とする
    記憶装置システム。
  9. 【請求項9】前記記憶装置に設けられ、前記記憶媒体上
    にデータを読み書きする読み書きヘッドが、前記記憶媒
    体のどの位置に位置付いているかを表わす位置情報を前
    記制御装置に送る手段と、前記制御装置に設けられ、前
    記記憶装置から前記位置情報を受け取る手段とを有し、
    前記決定手段は、前記レコード格納状態情報と前記位置
    情報とに基づき、前記通常データを格納するためのレコ
    ードを決定することを特徴とする請求項8記載の記憶装
    置システム。
  10. 【請求項10】複数台の記憶装置と、該記憶装置の制御
    を行う制御装置とを備え、m個(m≧1)の通常データ
    と前記通常データを回復するためのn個(n≧1)の冗
    長データによりデータグループを構成し、該データグル
    ープ内の前記通常データ及び前記冗長データをそれぞれ
    異なる記憶装置の記憶媒体上にレコードを格納単位とし
    て記憶する記憶装置システムに適した記憶装置であっ
    て、前記レコードが採り得る状態に、少なくとも1つ以
    上の前記データグループに属する前記通常データ又は前
    記冗長データを格納している状態と、前記通常データと
    前記冗長データのいずれも格納していない状態とがあ
    り、前記冗長データ又は前記通常データを前記制御装置
    から受け取る手段と、受け取った前記冗長データ又は前
    記通常データを、それまで前記通常データと前記冗長デ
    ータのいずれも格納していない状態にあるレコードに格
    納する手段とを有することを特徴とする記憶装置。
  11. 【請求項11】前記レコードが、前記通常データ又は前
    記冗長データを格納している状態にあるか、前記通常デ
    ータと前記冗長データのいずれも格納していない状態に
    あるかを識別するレコード格納情報を保持しており、前
    記格納手段は、前記レコード格納情報を参照して前記通
    常データを書き込むレコードを決定することを特徴とす
    る請求項10記載の記憶装置。
  12. 【請求項12】複数台の記憶装置と、該記憶装置の制御
    を行う制御装置とを備え、m個(m≧1)の通常データ
    と前記通常データを回復するためのn個(n≧1)の冗
    長データによりデータグループを構成し、該データグル
    ープ内の前記通常データ及び前記冗長データをそれぞれ
    異なる記憶装置の記憶媒体上にレコードを格納単位とし
    て記憶する記憶装置システムであって、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データを格納している状態と、前記通常データと前記
    冗長データのいずれも格納していない状態とがあり、 前記制御装置は、前記レコードが、前記通常データ又は
    前記冗長データを格納している状態にあるか前記通常デ
    ータと前記冗長データのいずれも格納していない状態に
    あるかを識別する情報を保持する手段と、前記冗長デー
    タ又は前記通常データを書き込むべきレコードとしての
    複数の候補、及び前記冗長データ又は前記通常データを
    前記記憶装置に送る手段と、前記記憶装置から前記冗長
    データ又は前記通常データを実際に書き込んだレコード
    のアドレスを受け取る手段とを有し、 前記記憶装置は、前記冗長データ又は前記通常データを
    書き込むべきレコードとしての複数の候補、及び、前記
    冗長データ又は前記通常データを前記制御装置から受け
    取る手段と、前記冗長データを作成するための情報を前
    記制御装置から指定されたレコードから読みだす手段
    と、前記冗長データを作成するための情報から前記冗長
    データを作成する手段と、前記冗長データ又は前記通常
    データをそれまで前記通常データと前記冗長データのい
    ずれも格納していない状態にあるレコードに格納する手
    段とを有することを特徴とする記憶装置システム。
  13. 【請求項13】複数台の記憶装置と、該記憶装置の制御
    を行う制御装置とを備え、m個(m≧1)の通常データ
    と前記通常データを回復するためのn個(n≧1)の冗
    長データによりデータグループを構成し、該データグル
    ープ内の前記通常データ及び前記冗長データをそれぞれ
    異なる記憶装置の記憶媒体上にレコードを格納単位とし
    て記憶する記憶装置システムであって、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データ格納している状態と、前記通常データと前記冗
    長データのいずれも格納していない状態とがあり、 前記制御装置は、前記レコードが前記通常データ又は前
    記冗長データ格納している状態にあるか、前記通常デー
    タと前記冗長データのいずれも格納していない状態にあ
    るかを識別するレコード格納状態情報保持し、前記記憶
    装置から前記記憶媒体上に情報を読み書きする読み書き
    ヘッドが前記記憶媒体のどの位置に位置付いているかを
    表す位置情報を受け取る手段と、前記レコード格納状態
    情報と前記位置情報とから、前記冗長データ又は通常デ
    ータを格納するためのレコードを決定する手段と、前記
    冗長データ又は前記通常データを書き込むべきレコー
    ド、前記冗長データ又は前記通常データを前記記憶装置
    に送る手段とを有し、 前記記憶装置は、前記冗長データ又は前記通常データを
    書き込むべきレコード、及び前記冗長データ又は前記通
    常データを前記制御装置から受け取る手段と、前記冗長
    データ又は前記通常データを前記制御装置から指定され
    たレコードに書き込む手段とを有することを特徴とする
    記憶装置システム。
  14. 【請求項14】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有する計算機
    システムの前記記憶装置として適しており、記憶媒体上
    の格納単位をレコードとする記憶装置であって、前記レ
    コードが採り得る状態に、少なくとも1つ以上の前記デ
    ータグループに属する前記通常データ又は前記冗長デー
    タを格納している状態と、前記通常データと前記冗長デ
    ータのいずれも格納していない状態とがあり、前記冗長
    データを作成するための情報をから処理装置から受け取
    る手段と、前記冗長データを作成するための情報を前記
    記憶媒体から読みだす手段と、前記冗長データを作成す
    るための情報から前記冗長データを作成する手段と、作
    成した前記冗長データをそれまで前記通常データと前記
    冗長データのいずれも格納していない状態にあるレコー
    ドに格納する手段とを有することを特徴とする記憶装
    置。
  15. 【請求項15】前記レコードが、前記通常データ又は前
    記冗長データを格納している状態にあるか、前記通常デ
    ータと前記冗長データのいずれも格納していない状態に
    あるかを識別する情報を保持する手段を有することを特
    徴とする請求項14記載の記憶装置。
  16. 【請求項16】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有し、前記記
    憶装置がレコードを格納単位とする計算機システムであ
    って、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データを格納している状態と、前記通常データと前記
    冗長データのいずれも格納していない状態とがあり、 前記処理装置は、前記レコードが、前記通常データ又は
    前記冗長データ格納している状態にあるか、前記通常デ
    ータと前記冗長データのいずれも格納していない状態に
    あるかを識別する情報を保持する手段と、前記冗長デー
    タを作成するための情報、前記冗長データを作成するた
    めの情報が格納されているレコードのアドレス、及び前
    記冗長データを書き込むべきレコードとしての複数の候
    補を前記記憶装置に送る手段と、前記記憶装置から前記
    冗長データを実際に書き込んだレコードのアドレスを受
    け取る手段とを有し、 前記記憶装置は、前記冗長データを作成するための情
    報、前記冗長データを作成するための情報が格納されて
    いるレコードのアドレス、及び前記冗長データを書き込
    むべきレコードとしての複数の候補を前記処理装置から
    受け取る手段と、前記冗長データを作成するための情報
    を前記処理装置から指定されたレコードから読みだす手
    段と、前記冗長データを作成するための情報から前記冗
    長データを作成する手段と、前記処理装置から受け取っ
    た前記冗長データを書き込むべきレコードとしての複数
    の候補の中から、作成した前記冗長データを実際に書き
    込むレコードを選択し、該選択したレコードに前記作成
    した冗長データを書き込む手段と、前記冗長データを書
    き込んだレコードを前記処理装置に通知する手段とを有
    することを特徴とする計算機システム。
  17. 【請求項17】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有し、前記記
    憶装置がレコードを格納単位とする計算機システムであ
    って、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データを格納している状態と、記通常データと前記冗
    長データのいずれも格納していない状態とがあり、 前記処理装置は、前記レコードが、前記通常データ又は
    前記冗長データ格納している状態にあるか、前記通常デ
    ータと前記冗長データのいずれも格納していない状態に
    あるかを識別するレコード格納状態情報を保持してお
    り、前記レコード格納状態情報を参照して前記冗長デー
    タを格納するためのレコードを決定する手段と、前記冗
    長データを作成するための情報、前記冗長データを作成
    するための情報が格納されているレコードのアドレス、
    及び前記冗長データを書き込むべきレコードとして決定
    したレコードを前記記憶装置に送る手段とを有し、 前記記憶装置は、前記冗長データを作成するための情
    報、前記冗長データを作成するための情報が格納されて
    いるレコードのアドレス、及び前記冗長データを書き込
    むべきレコードを前記処理装置から受け取る手段と、前
    記冗長データを作成するための情報を前記処理装置から
    指定されたレコードから読みだす手段と、前記冗長デー
    タを作成するための情報から前記冗長データを作成する
    手段と、作成した前記冗長データを前記処理装置から指
    定されたレコードに書き込む手段とを有することを特徴
    とする計算機システム。
  18. 【請求項18】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有する計算機
    システムの前記記憶装置として適しており、記憶媒体上
    の格納単位をレコードとする記憶装置であって、前記レ
    コードが採り得る状態に、少なくとも1つ以上の前記デ
    ータグループに属する前記通常データ又は前記冗長デー
    タ格納している状態と、前記通常データと前記冗長デー
    タのいずれも格納していない状態とがあり、前記記憶媒
    体に書き込む通常データを処理装置から受け取る手段
    と、前記冗長データを作成するための情報を前記記憶媒
    体から読みだして前記処理装置に送る手段と、前記処理
    装置から受け取った前記通常データをそれまで前記通常
    データと前記冗長データのいずれも格納してい状態にあ
    るレコードに格納する手段とを有することを特徴とする
    記憶装置。
  19. 【請求項19】前記レコードが、前記通常データ又は前
    記冗長データ格納している状態にあるか、前記通常デー
    タと前記冗長データのいずれも格納していない状態にあ
    るかを識別する情報を保持する手段を有することを特徴
    とする請求項18記載の記憶装置。
  20. 【請求項20】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有し、前記記
    憶装置がレコードを格納単位とする計算機システムであ
    って、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データ格納している状態と、前記通常データと前記冗
    長データのいずれも格納していない状態とがあり、 前記処理装置は、前記レコードが、前記通常データ又は
    前記冗長データ格納している状態か、前記通常データと
    前記冗長データのいずれも格納していない状態かを識別
    する情報を保持する手段と、前記冗長データを作成する
    ための情報が格納されているレコードのアドレス、前記
    通常データ、及び前記通常データを書き込むべきレコー
    ドとしての複数の候補を前記記憶装置に送る手段と、前
    記記憶装置から前記通常データを実際に書き込んだレコ
    ードのアドレスを受け取る手段とを有し、 前記記憶装置は、前記冗長データを作成するための情報
    が格納されているレコードのアドレス、前記通常デー
    タ、及び前記通常データを書き込むべきレコードとして
    の複数の候補を前記処理装置から受け取る手段と、前記
    冗長データを作成するための情報を前記記憶媒体から読
    みだして前記処理装置に送る手段と、前記処理装置から
    受け取った前記通常データを書き込むべきレコードとし
    ての複数の候補の中から、実際に前記冗長データを書き
    込むレコードを選択し、該選択したレコードに前記通常
    データを書き込む手段と、前記通常データを書き込んだ
    レコードを前記処理装置に通知する手段とを有すること
    を特徴とする計算機システム。
  21. 【請求項21】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有し、前記記
    憶装置がレコードを格納単位とする計算機システムであ
    って、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データ格納している状態と、前記通常データと前記冗
    長データのいずれも格納していない状態とがあり、 前記処理装置は、前記レコードが、前記通常データ又は
    前記冗長データ格納している状態か、前記通常データと
    前記冗長データのいずれも格納していない状態かを識別
    するレコード格納状態情報を保持し、前記レコード格納
    状態情報を参照して前記通常データを格納するためのレ
    コードを決定する手段と、前記冗長データを作成するた
    めの情報が格納されているレコードのアドレス、前記通
    常データ、及び前記通常データを書き込むべきレコード
    として決定したレコードを前記記憶装置に送る手段とを
    有し、 前記記憶装置は、前記冗長データを作成するための情報
    が格納されているレコードのアドレス、前記通常デー
    タ、及び前記通常データを書き込むべきレコードとして
    決定したレコードを前記処理装置から受け取る手段と、
    前記冗長データを作成するための情報を前記記憶媒体か
    ら読みだして前記処理装置に送る手段と、前記冗長デー
    タを作成するための情報から前記冗長データを作成する
    手段と、前記通常データを前記処理装置から指定された
    レコードに書き込む手段とを有することを特徴とする計
    算機システム。
  22. 【請求項22】前記記憶装置に設けられ、前記記憶媒体
    上に情報を読み書きするための読み書きヘッドが前記記
    憶媒体のどの位置に位置付いているかを表す位置情報を
    前記処理装置に送る手段と、前記処理装置に設けられ、
    前記記憶装置から前記位置情報を受け取る手段とを有
    し、前記決定手段が、前記レコード格納状態情報と前記
    位置情報から前記通常データを格納するためのレコード
    を決定することを特徴とする請求項21記載の計算機シ
    ステム。
  23. 【請求項23】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有する計算機
    システムの前記記憶装置として適しており、記憶媒体上
    の格納単位をレコードとする記憶装置であって、前記レ
    コードが採り得る状態に、少なくとも1つ以上の前記デ
    ータグループに属する前記通常データ又は前記冗長デー
    タを格納している状態と、前記通常データと前記冗長デ
    ータのいずれも格納していない状態とがあり、前記冗長
    データ又は前記通常データを処理装置から受け取る手段
    と、前記冗長データ又は前記通常データをそれまで前記
    通常データと前記冗長データのいずれも格納していない
    状態にあるレコードに格納する手段とを有することを特
    徴とする記憶装置。
  24. 【請求項24】前記レコードが、前記通常データ又は前
    記冗長データ格納している状態か、前記通常データと前
    記冗長データのいずれも格納していない状態かを識別す
    るレコード格納情報を保持しており、前記格納手段は、
    前記レコード格納情報を参照して前記通常データを書き
    込むレコードを決定することを特徴とする請求項23記
    載の記憶装置。
  25. 【請求項25】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有し、前記記
    憶装置がレコードを格納単位とする計算機システムであ
    って、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データ格納している状態と、前記通常データと前記冗
    長データのいずれも格納していない状態とがあり、 前記処理装置は、前記レコードが、前記通常データ又は
    前記冗長データ格納している状態か、前記通常データと
    前記冗長データのいずれも格納していない状態かを識別
    する情報を保持する手段と、前記冗長データ又は前記通
    常データを書き込むべきレコードとしての複数の候補、
    及び前記冗長データ又は前記通常データを前記記憶装置
    に送る手段と、前記記憶装置から、前記冗長データ又は
    前記通常データを実際に書き込んだレコードのアドレス
    を受け取る手段とを有し、 前記記憶装置は、前記冗長データ又は前記通常データを
    書き込むべきレコードとしての複数の候補、及び前記冗
    長データ又は前記通常データを前記処理装置から受け取
    る手段と、前記冗長データを作成するための情報を前記
    処理装置から指定されたレコードから読みだす手段と、
    前記冗長データを作成するための情報から前記冗長デー
    タを作成する手段と、前記冗長データ又は前記通常デー
    タをそれまで前記通常データと前記冗長データのいずれ
    も格納していない状態にあるレコードに格納する手段と
    を有することを特徴とする計算機システム。
  26. 【請求項26】m個(m≧1)の通常データと前記通常
    データを回復するためのn個(n≧1)の冗長データに
    よりデータグループが構成され、1つのデータグループ
    内のm個の通常データを分散して格納するm個の記憶装
    置と、該1つのデータグループ内のn個の冗長データを
    分散して格納するさらにn個の記憶装置と、これらm+
    n個の記憶装置が接続される処理装置とを有し、前記記
    憶装置がレコードを格納単位とする計算機システムであ
    って、 前記レコードが採り得る状態に、少なくとも1つ以上の
    前記データグループに属する前記通常データ又は前記冗
    長データ格納している状態と、前記通常データと前記冗
    長データのいずれも格納していない状態とがあり、 前記処理装置は、前記レコードが、前記通常データ又は
    前記冗長データ格納している状態か、前記通常データと
    前記冗長データのいずれも格納していない状態かを識別
    するレコード格納状態情報を保持し、前記記憶装置か
    ら、前記記憶媒体上に情報を読み書きする読み書きヘッ
    ドが前記記憶媒体のどの位置に位置付いているかを表す
    位置情報を受け取る手段と、前記レコード格納状態情報
    と前記位置情報とから、前記冗長データ又は通常データ
    を格納するためのレコードを決定する手段と、前記冗長
    データ又は前記通常データを書き込むべきレコード、及
    び前記冗長データ又は前記通常データを前記記憶装置に
    送る手段とを有し、 前記記憶装置は、前記冗長データ又は前記通常データを
    書き込むべきレコード、及び前記冗長データ又は前記通
    常データを前記処理装置から受け取る手段と、前記冗長
    データ又は前記通常データを前記処理装置から指定され
    たレコードに書き込む手段とを有することを特徴とする
    計算機システム。
  27. 【請求項27】記憶媒体上へのデータの格納単位をレコ
    ードとし、処理装置に接続される制御装置により制御さ
    れる記憶装置であって、前記レコードが採り得る状態
    に、データを格納している状態と、データを格納してい
    ない状態とがあり、データを前記制御装置から受け取る
    手段と、受け取ったデータを、それまでデータを格納し
    ていない状態にあるレコードに格納する手段とを有する
    ことを特徴とする記憶装置。
  28. 【請求項28】前記レコードが、データを格納している
    状態か、データを格納していない状態かを識別するレコ
    ード格納情報を保持しており、前記格納手段は、前記レ
    コード格納情報に基づいて前記受け取ったデータを格納
    するレコードを決定することを特徴とする請求項27記
    載の記憶装置。
  29. 【請求項29】処理装置に接続される制御装置と、記憶
    媒体上へのデータの格納単位をレコードとし、前記制御
    装置により制御される記憶装置とを有する記憶装置シス
    テムであって、 前記レコードの採り得る状態に、データを格納している
    状態と、データを格納していない状態とがあり、 前記制御装置は、前記レコードが、データを格納してい
    る状態か、データを格納していない状態かを識別するレ
    コード格納情報を保持する手段と、データを書き込むべ
    きレコードとしての複数の候補、及び書き込むべきデー
    タを前記記憶装置に送る手段と、前記記憶装置から、前
    記書き込むべきデータを実際に書き込んだレコードのア
    ドレスを受け取る手段とを有し、 前記記憶装置は、前記データを書き込むべきレコードと
    しての複数の候補、及び前記書き込むべきデータを前記
    制御装置から受け取る手段と、前記書き込むべきデータ
    をそれまでデータを格納していない状態にあるレコード
    に格納する手段と、前記書き込むべきデータを実際に書
    き込んだレコードのアドレスを前記制御装置に通知する
    手段とを有することを特徴とする記憶装置システム。
  30. 【請求項30】処理装置に接続される制御装置と、記憶
    媒体上へのデータの格納単位をレコードとし、前記制御
    装置により制御される記憶装置とを有する記憶装置シス
    テムであって、 前記レコードの採り得る状態に、データを格納している
    状態と、データを格納していない状態とがあり、 前記制御装置は、前記レコードが、データを格納してい
    る状態か、データを格納していない状態かを識別するレ
    コード格納情報を保持する手段と、前記記憶装置から前
    記記憶媒体上にデータを読み書きするための読み書きヘ
    ッドが前記記憶媒体のどの位置に位置付いているかを表
    す位置情報を受け取ると手段と、前記レコード格納状態
    情報と前記位置情報からデータを格納するためのレコー
    ドを決定する手段と、データを書き込むべきレコード、
    及び該レコードに書き込まれるべきデータを前記記憶装
    置に送る手段とを有し、 前記記憶装置は、前記データを書き込むべきレコード、
    及び前記書き込まれるべきデータを前記制御装置から受
    け取る手段と、前記書き込まれるべきデータを前記制御
    装置から指定されたレコードに書き込む手段とを有する
    ことを特徴とする記憶装置システム。
  31. 【請求項31】記憶媒体上へのデータの格納単位をレコ
    ードとし、処理装置に接続される記憶装置であって、前
    記レコードが採り得る状態に、データを格納している状
    態と、データを格納していない状態とがあり、データを
    前記処理装置から受け取る手段と、受け取ったデータ
    を、それまでデータを格納していない状態にあるレコー
    ドに格納する手段とを有することを特徴とする記憶装
    置。
  32. 【請求項32】前記レコードが、データを格納している
    状態か、データを格納していない状態かを識別するレコ
    ード格納情報を保持しており、前記格納手段は、前記レ
    コード格納情報に基づいて前記受け取ったデータを格納
    するレコードを決定することを特徴とする請求項31記
    載の記憶装置。
  33. 【請求項33】処理装置と、記憶媒体上へのデータの格
    納単位をレコードとし、前記処理装置に接続された記憶
    装置とを有する計算機システムであって、 前記レコードの採り得る状態に、データを格納している
    状態と、データを格納していない状態とがあり、 前記処理装置は、前記レコードが、データを格納してい
    る状態か、データを格納していない状態かを識別するレ
    コード格納情報を保持する手段と、データを書き込むべ
    きレコードとしての複数の候補、及び書き込むべきデー
    タを前記記憶装置に送る手段と、前記記憶装置から、前
    記書き込むべきデータを実際に書き込んだレコードのア
    ドレスを受け取る手段とを有し、 前記記憶装置は、前記データを書き込むべきレコードと
    しての複数の候補、及び前記書き込むべきデータを前記
    処理装置から受け取る手段と、前記書き込むべきデータ
    をそれまでデータを格納していない状態にあるレコード
    に格納する手段と、前記書き込むべきデータを実際に書
    き込んだレコードのアドレスを前記処理装置に通知する
    手段とを有することを特徴とする計算機システム。
  34. 【請求項34】処理装置と、記憶媒体上へのデータの格
    納単位をレコードとし、前記処理装置に接続された記憶
    装置とを有する計算機システムであって、 前記レコードの採り得る状態に、データを格納している
    状態と、データを格納していない状態とがあり、 前記処理装置は、前記レコードが、データを格納してい
    る状態か、データを格納していない状態かを識別するレ
    コード格納情報を保持する手段と、前記記憶装置から前
    記記憶媒体上にデータを読み書きするための読み書きヘ
    ッドが前記記憶媒体のどの位置に位置付いているかを表
    す位置情報を受け取ると手段と、前記レコード格納状態
    情報と前記位置情報からデータを格納するためのレコー
    ドを決定する手段と、データを書き込むべきレコード、
    及び該レコードに書き込まれるべきデータを前記記憶装
    置に送る手段とを有し、 前記記憶装置は、前記データを書き込むべきレコード、
    及び前記書き込まれるべきデータを前記処理装置から受
    け取る手段と、前記書き込まれるべきデータを前記処理
    装置から指定されたレコードに書き込む手段とを有する
    ことを特徴とする計算機システム。
JP04094596A 1996-02-28 1996-02-28 記憶装置および記憶装置システム Expired - Fee Related JP3713788B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP04094596A JP3713788B2 (ja) 1996-02-28 1996-02-28 記憶装置および記憶装置システム
US08/797,606 US5958078A (en) 1996-02-28 1997-02-07 Storage unit and storage unit subsystem
US09/327,158 US6098191A (en) 1996-02-28 1999-06-03 Storage unit and storage unit subsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04094596A JP3713788B2 (ja) 1996-02-28 1996-02-28 記憶装置および記憶装置システム

Publications (2)

Publication Number Publication Date
JPH09231015A true JPH09231015A (ja) 1997-09-05
JP3713788B2 JP3713788B2 (ja) 2005-11-09

Family

ID=12594655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04094596A Expired - Fee Related JP3713788B2 (ja) 1996-02-28 1996-02-28 記憶装置および記憶装置システム

Country Status (2)

Country Link
US (2) US5958078A (ja)
JP (1) JP3713788B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004069A (ja) * 2006-06-20 2008-01-10 Korea Advanced Inst Of Science & Technol 行列ストライプキャッシュを利用したraidシステムの入出力性能を向上させる方法
WO2014016860A1 (en) 2012-07-23 2014-01-30 Hitachi, Ltd. Raid storage system and rebuild process
JP2015518186A (ja) * 2012-04-27 2015-06-25 株式会社日立製作所 ストレージシステム及びストレージ制御装置
JP2019504369A (ja) * 2016-11-25 2019-02-14 華為技術有限公司Huawei Technologies Co.,Ltd. データチェック方法および記憶システム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6874101B2 (en) * 1991-01-31 2005-03-29 Hitachi, Ltd. Storage unit subsystem
US6115788A (en) * 1998-02-20 2000-09-05 Seagate Technology, Inc. Multi-drive array with improved data transfer rate performance
US6151685A (en) * 1998-05-15 2000-11-21 International Business Machines Corporation System and method for recovering a segment directory for a log structured array
US6754661B1 (en) * 1999-07-13 2004-06-22 Microsoft Corporation Hierarchical storage systems for holding evidentiary objects and methods of creating and operating upon hierarchical storage systems
JP3951547B2 (ja) * 2000-03-24 2007-08-01 株式会社日立製作所 レプリケーションによるホスト間データ共有方式
US6619545B2 (en) 2002-01-15 2003-09-16 International Business Machines Corporation Kiosk having a people presence detector to determine if a kiosk item is to be presented to a customer
US6826656B2 (en) 2002-01-28 2004-11-30 International Business Machines Corporation Reducing power in a snooping cache based multiprocessor environment
US7007220B2 (en) * 2002-03-01 2006-02-28 Broadlogic Network Technologies, Inc. Error correction coding across multiple channels in content distribution systems
US7118622B2 (en) * 2004-05-19 2006-10-10 Engelhard Corporation Organic dyes suitable for use in drugs and cosmetics laked onto a platy titanium dioxide pigment
US7318190B2 (en) * 2004-06-10 2008-01-08 Intel Corporation Storage device parity computation
US7467281B2 (en) * 2004-06-10 2008-12-16 Intel Corporation Mapping data blocks to storage blocks to wrap around storage devices
US8583865B1 (en) * 2007-12-21 2013-11-12 Emc Corporation Caching with flash-based memory
US8245111B2 (en) * 2008-12-09 2012-08-14 Intel Corporation Performing multi-bit error correction on a cache line
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
WO2013160972A1 (en) * 2012-04-27 2013-10-31 Hitachi, Ltd. Storage system and storage apparatus
US9569303B2 (en) * 2014-08-08 2017-02-14 Kabushiki Kaisha Toshiba Information processing apparatus
WO2016194095A1 (ja) 2015-06-01 2016-12-08 株式会社日立製作所 情報処理システム、ストレージ装置及び記憶デバイス
KR102703983B1 (ko) * 2016-11-07 2024-09-10 삼성전자주식회사 Raid 방식으로 데이터를 저장하는 스토리지 장치
CN109725824A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 用于向存储系统中的盘阵列写入数据的方法和设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US34100A (en) * 1862-01-07 Improved step-ladder
USRE34100E (en) 1987-01-12 1992-10-13 Seagate Technology, Inc. Data error correction system
JP2783369B2 (ja) * 1989-12-22 1998-08-06 シーゲイト テクノロジー インターナショナル 並列伝送装置に於ける読み込み失敗チャンネルのデータ再生復元方法並びに装置
US5375128A (en) * 1990-10-18 1994-12-20 Ibm Corporation (International Business Machines Corporation) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
JPH04245342A (ja) * 1991-01-30 1992-09-01 Toshiba Corp 分散型データベースシステム
JP2913917B2 (ja) * 1991-08-20 1999-06-28 株式会社日立製作所 記憶装置および記憶装置システム
US5729397A (en) * 1992-12-31 1998-03-17 International Business Machines Corporation System and method for recording direct access storage device operating statistics
US5689678A (en) * 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
JP3687111B2 (ja) * 1994-08-18 2005-08-24 株式会社日立製作所 記憶装置システムおよび記憶装置の制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004069A (ja) * 2006-06-20 2008-01-10 Korea Advanced Inst Of Science & Technol 行列ストライプキャッシュを利用したraidシステムの入出力性能を向上させる方法
JP2015518186A (ja) * 2012-04-27 2015-06-25 株式会社日立製作所 ストレージシステム及びストレージ制御装置
US9262265B2 (en) 2012-04-27 2016-02-16 Hitachi, Ltd. Storage system and storage control apparatus
WO2014016860A1 (en) 2012-07-23 2014-01-30 Hitachi, Ltd. Raid storage system and rebuild process
US9047220B2 (en) 2012-07-23 2015-06-02 Hitachi, Ltd. Storage system and data management method
US9411527B2 (en) 2012-07-23 2016-08-09 Hitachi, Ltd. Storage system and data management method
JP2019504369A (ja) * 2016-11-25 2019-02-14 華為技術有限公司Huawei Technologies Co.,Ltd. データチェック方法および記憶システム
US10303374B2 (en) 2016-11-25 2019-05-28 Huawei Technologies Co.,Ltd. Data check method and storage system

Also Published As

Publication number Publication date
US5958078A (en) 1999-09-28
JP3713788B2 (ja) 2005-11-09
US6098191A (en) 2000-08-01

Similar Documents

Publication Publication Date Title
JPH09231015A (ja) 記憶装置および記憶装置システム
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US5881311A (en) Data storage subsystem with block based data management
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US7228381B2 (en) Storage system using fast storage device for storing redundant data
JP3409859B2 (ja) 制御装置の制御方法
US7032070B2 (en) Method for partial data reallocation in a storage system
JP3944449B2 (ja) 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
US5600816A (en) System and method for managing data in a cache system for a disk array
JP3505093B2 (ja) ファイル管理システム
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
JP2003256150A (ja) 記憶制御装置および記憶制御装置の制御方法
JP2002259062A (ja) 記憶装置システム及び記憶装置システムにおけるデータの複写方法
CN111857540B (zh) 数据存取方法、装置和计算机程序产品
JPH06259197A (ja) アレイ型ディスクシステムの制御方式
JPH0863298A (ja) ディスクアレイ装置
JP3400328B2 (ja) データ記憶方法およびデータ記憶装置
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
JPH07200187A (ja) ディスクアレイ装置
JP2003131818A (ja) クラスタ構成ストレージにおけるクラスタ間raid構成
JP3730609B2 (ja) 冗長化論理ディスクに対するライトスルー処理方法、ライトスルー処理用プログラム及びディスクコントローラ
US6360296B1 (en) Disk control apparatus
JP4708669B2 (ja) パス冗長化装置及び方法
JPH10312246A (ja) 記憶装置サブシステム
JPH09265435A (ja) 記憶装置システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050815

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

Free format text: PAYMENT UNTIL: 20080902

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130902

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees