JP3409859B2 - 制御装置の制御方法 - Google Patents
制御装置の制御方法Info
- Publication number
- JP3409859B2 JP3409859B2 JP01057491A JP1057491A JP3409859B2 JP 3409859 B2 JP3409859 B2 JP 3409859B2 JP 01057491 A JP01057491 A JP 01057491A JP 1057491 A JP1057491 A JP 1057491A JP 3409859 B2 JP3409859 B2 JP 3409859B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- parity
- data
- processing
- write
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1009—Cache, 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)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【0001】
【産業上の利用分野】本発明は、ディスクアレイ向きの
キャッシュメモリ付き制御装置の制御方法、および、デ
ィスクアレイとキャッシュメモリ付き制御装置により構
成される記憶装置サブシステムに関する。
キャッシュメモリ付き制御装置の制御方法、および、デ
ィスクアレイとキャッシュメモリ付き制御装置により構
成される記憶装置サブシステムに関する。
【0002】
【従来の技術】発明に最も近い公知例として、以下に示
すPattersonの論文が知られている。
すPattersonの論文が知られている。
【0003】エ−.シ−.エム.シグモッド コンファ
レンス プロシ−ディング,1988年,6月,ペ−ジ109
−116(D.Patterson,et al:A Case for Redundant A
rraysof Inexpensive Disks(RAID),ACM SIGMOD confere
nce proceeding,Chicago,IL,June1-3,1988,pp.109-11
6)Pattersonの論文は、ディスクアレイ上の
デ−タ配置に関する技術を開示したものであるディスク
アレイは、物理的には複数の小容量のディスク装置を、
処理装置には1台のディスク装置に見せかけ、高性能化
/高信頼化を図るための機構である。Patterso
nの論文では、いくつかのデ−タ配置方法が提案されて
いるが、代表的な1つのデ−タ配置方法に次のような配
置方法がある。
レンス プロシ−ディング,1988年,6月,ペ−ジ109
−116(D.Patterson,et al:A Case for Redundant A
rraysof Inexpensive Disks(RAID),ACM SIGMOD confere
nce proceeding,Chicago,IL,June1-3,1988,pp.109-11
6)Pattersonの論文は、ディスクアレイ上の
デ−タ配置に関する技術を開示したものであるディスク
アレイは、物理的には複数の小容量のディスク装置を、
処理装置には1台のディスク装置に見せかけ、高性能化
/高信頼化を図るための機構である。Patterso
nの論文では、いくつかのデ−タ配置方法が提案されて
いるが、代表的な1つのデ−タ配置方法に次のような配
置方法がある。
【0004】この配置方法は、処理装置とのリ−ド/ラ
イト単位であるレコ−ドは、そのままの形でディスク装
置上に配置であり以下、レコ−ド単位配置と呼ぶ。(P
attersonの論文で提案されているデ−タ配置方
法の中には、1つのレコ−ドを分割して、複数のディス
ク装置に配置するという配置方法も提案されている。)
レコ−ド単位配置の特長は、ディスクアレイを構成する
それぞれのディスク装置ごとにリ−ド/ライト処理が実
行可能な点である。(レコ−ドを複数のディスク装置に
分割すると、レコ−ドをリ−ド/ライトのために複数の
ディスク装置を専有する必要がある。)したがって、レ
コ−ド単位配置方法をとると、ディスクアレイ内で実行
できるリ−ド/ライト処理の多重度を向上させることが
可能となり、性能向上を実現できる。
イト単位であるレコ−ドは、そのままの形でディスク装
置上に配置であり以下、レコ−ド単位配置と呼ぶ。(P
attersonの論文で提案されているデ−タ配置方
法の中には、1つのレコ−ドを分割して、複数のディス
ク装置に配置するという配置方法も提案されている。)
レコ−ド単位配置の特長は、ディスクアレイを構成する
それぞれのディスク装置ごとにリ−ド/ライト処理が実
行可能な点である。(レコ−ドを複数のディスク装置に
分割すると、レコ−ドをリ−ド/ライトのために複数の
ディスク装置を専有する必要がある。)したがって、レ
コ−ド単位配置方法をとると、ディスクアレイ内で実行
できるリ−ド/ライト処理の多重度を向上させることが
可能となり、性能向上を実現できる。
【0005】一方、ディスクアレイの高信頼化は、パリ
ティデ−タと呼ばれる冗長デ−タをディスク装置に格納
することにより実現する。レコ−ド単位配置において
は、一定数の異なったディスク装置上の1つずつのレコ
−ドから、1レコ−ドに相当するデ−タ量のパリティデ
−タを作成し、1つのレコ−ドとして、ディスク装置上
に格納する。これをパリティレコ−ドと呼ぶ。一方、パ
リテイレコ−ドとそれを生成したレコ−ドの集合をパリ
ティグル−プと呼ぶ。さらに、パリティレコ−ド以外の
処理装置から直接リ−ド/ライトされるレコ−ドをデ−
タレコ−ドとよぶ。通常、同一パリティグル−プの各レ
コ−ドはそれぞれ別のディスク装置に格納される。ま
た、パリティグル−プ内のパリティレコ−ドの数は特に
1つには限定されない。
ティデ−タと呼ばれる冗長デ−タをディスク装置に格納
することにより実現する。レコ−ド単位配置において
は、一定数の異なったディスク装置上の1つずつのレコ
−ドから、1レコ−ドに相当するデ−タ量のパリティデ
−タを作成し、1つのレコ−ドとして、ディスク装置上
に格納する。これをパリティレコ−ドと呼ぶ。一方、パ
リテイレコ−ドとそれを生成したレコ−ドの集合をパリ
ティグル−プと呼ぶ。さらに、パリティレコ−ド以外の
処理装置から直接リ−ド/ライトされるレコ−ドをデ−
タレコ−ドとよぶ。通常、同一パリティグル−プの各レ
コ−ドはそれぞれ別のディスク装置に格納される。ま
た、パリティグル−プ内のパリティレコ−ドの数は特に
1つには限定されない。
【0006】パリティレコ−ドの内容は、パリティレコ
−ドを生成したデ−タレコ−ドのうちのどの1つのレコ
−ドに障害が発生しても、パリティレコ−ドとそれ以外
のレコ−ドの内容から障害レコ−ドの内容が復元可能と
なるような内容である。したがって、あるパリティグル
−プが格納されているディスク装置の集合のうちのどの
ディスク装置に障害が発生した場合にも、デ−タの回復
が可能となる。通常、パリティグル−プ内のパリティレ
コ−ドの数がn個であれば、n台までのディスク装置に
障害が発生してもそのパリティグル−プのデ−タは回復
可能である。
−ドを生成したデ−タレコ−ドのうちのどの1つのレコ
−ドに障害が発生しても、パリティレコ−ドとそれ以外
のレコ−ドの内容から障害レコ−ドの内容が復元可能と
なるような内容である。したがって、あるパリティグル
−プが格納されているディスク装置の集合のうちのどの
ディスク装置に障害が発生した場合にも、デ−タの回復
が可能となる。通常、パリティグル−プ内のパリティレ
コ−ドの数がn個であれば、n台までのディスク装置に
障害が発生してもそのパリティグル−プのデ−タは回復
可能である。
【0007】以上のレコ−ド単位配置をとった場合、ラ
イト処理の性能が、従来のディスク装置の性能に比較し
て劣化するという問題が発生する。これは、ライト処理
が発生したデ−タレコ−ドの内容が変更されると、パリ
ティレコ−ドの更新も必要となるためである。しかも、
パリティレコ−ドの更新値を決定するためには、ライト
処理が発生したデ−タレコ−ドの更新値以外に以下の値
の集合を得る前処理の実行が必要となる。
イト処理の性能が、従来のディスク装置の性能に比較し
て劣化するという問題が発生する。これは、ライト処理
が発生したデ−タレコ−ドの内容が変更されると、パリ
ティレコ−ドの更新も必要となるためである。しかも、
パリティレコ−ドの更新値を決定するためには、ライト
処理が発生したデ−タレコ−ドの更新値以外に以下の値
の集合を得る前処理の実行が必要となる。
【0008】(1)ライト処理が発生したレコ−ドの更
新前の値、パリテイレコ−ドの更新前の値。
新前の値、パリテイレコ−ドの更新前の値。
【0009】(2)ライト処理が発生したレコ−ドが属
するパリティグル−プ内の他のすべてのパリティレコ−
ド以外のレコ−ドの値通常、(1)に示した値を得る方
が、オ−バヘッドが小さいため、ライト処理が発生した
場合、(1)に示した値を得る方法がとられる。(1)
に示した値を得るためには、パリティグル−プ内のパリ
ティレコ−ドが1つでも、ディスク装置に2回のアクセ
スが必要となる。さらに、ライト処理が発生したレコ−
ドの更新値、パリティレコ−ドの更新値を書き込むた
め、2回のディスク装置へのアクセスが必要となり、合
わせて4回のディスクアクセスが必要となる。従来ディ
スクの場合、単純に、ライト処理が発生したレコ−ドの
更新値をディスク装置に書き込むだけである。したがっ
て、レコ−ド単位のディスクアレイでは、ライト要求に
対するデイスクアクセス回数が4倍に増加することにな
る。
するパリティグル−プ内の他のすべてのパリティレコ−
ド以外のレコ−ドの値通常、(1)に示した値を得る方
が、オ−バヘッドが小さいため、ライト処理が発生した
場合、(1)に示した値を得る方法がとられる。(1)
に示した値を得るためには、パリティグル−プ内のパリ
ティレコ−ドが1つでも、ディスク装置に2回のアクセ
スが必要となる。さらに、ライト処理が発生したレコ−
ドの更新値、パリティレコ−ドの更新値を書き込むた
め、2回のディスク装置へのアクセスが必要となり、合
わせて4回のディスクアクセスが必要となる。従来ディ
スクの場合、単純に、ライト処理が発生したレコ−ドの
更新値をディスク装置に書き込むだけである。したがっ
て、レコ−ド単位のディスクアレイでは、ライト要求に
対するデイスクアクセス回数が4倍に増加することにな
る。
【0010】レコ−ド単位配置をとったディスクアレイ
においては、特に、ライト処理を高速化する技術は開示
さていない。しかし、ディスクアレイではなく、一般の
ディスク装置のライト処理の高速化に関しては、ディス
クキャッシュを利用した以下のような技術が開示されて
いる。
においては、特に、ライト処理を高速化する技術は開示
さていない。しかし、ディスクアレイではなく、一般の
ディスク装置のライト処理の高速化に関しては、ディス
クキャッシュを利用した以下のような技術が開示されて
いる。
【0011】特開昭55−157053では、ディスク
キャッシュを有する制御装置において、ライトアフタ処
理を利用してライト要求を高速化に関する技術が開示さ
れている。
キャッシュを有する制御装置において、ライトアフタ処
理を利用してライト要求を高速化に関する技術が開示さ
れている。
【0012】具体的には、制御装置は、処理装置から受
け付けたライトデ−タをキャッシュ内に書き込んだ段階
で、ライト処理を完了させる。処理装置から受け付け、
キャッシュ内に格納したデ−タのディスク装置への書き
込みは、後から、制御装置のライトアフタ処理によって
実行される。
け付けたライトデ−タをキャッシュ内に書き込んだ段階
で、ライト処理を完了させる。処理装置から受け付け、
キャッシュ内に格納したデ−タのディスク装置への書き
込みは、後から、制御装置のライトアフタ処理によって
実行される。
【0013】特開昭59−135563では、高信頼性
を保証しながらライト処理を高速化する制御装置に関す
る技術が開示されている。
を保証しながらライト処理を高速化する制御装置に関す
る技術が開示されている。
【0014】特開昭59−135563では、制御装置
内にキャッシュメモリ以外に不揮発性メモリを有し、処
理装置から受け取ったライトデ−タをキャッシュメモリ
と不揮発性メモリに格納する。ディスク装置へのライト
デ−タの書き込みは、制御装置が、ライトアフタ処理に
よって実行する。これにより、ライトアフタ処理の高信
頼化を図る。
内にキャッシュメモリ以外に不揮発性メモリを有し、処
理装置から受け取ったライトデ−タをキャッシュメモリ
と不揮発性メモリに格納する。ディスク装置へのライト
デ−タの書き込みは、制御装置が、ライトアフタ処理に
よって実行する。これにより、ライトアフタ処理の高信
頼化を図る。
【0015】一方、特開昭60−114947では、2
重書きディスク装置を制御するディスクキャッシュを有
する制御装置に関する技術が開示されている。
重書きディスク装置を制御するディスクキャッシュを有
する制御装置に関する技術が開示されている。
【0016】特開昭60−114947では、制御装置
は、処理装置から受け取ったライト要求に対し、一方の
ディスク装置とキャッシュメモリに、処理装置から受け
取ったライトデ−タを書き込む。もう一方のディスク装
置には、制御装置が、処理装置からのリ−ド/ライト要
求とは非同期に、キャッシュメモリに格納したライトデ
−タを後から書き込む。制御装置が、処理装置からのリ
−ド/ライト要求とは非同期に、キャッシュメモリに格
納したライトデ−タをディスク装置に後から書き込む動
作をライトアフタ処理と呼ぶ。
は、処理装置から受け取ったライト要求に対し、一方の
ディスク装置とキャッシュメモリに、処理装置から受け
取ったライトデ−タを書き込む。もう一方のディスク装
置には、制御装置が、処理装置からのリ−ド/ライト要
求とは非同期に、キャッシュメモリに格納したライトデ
−タを後から書き込む。制御装置が、処理装置からのリ
−ド/ライト要求とは非同期に、キャッシュメモリに格
納したライトデ−タをディスク装置に後から書き込む動
作をライトアフタ処理と呼ぶ。
【0017】特開平2−37418では、2重書きディ
スク装置をディスクキャッシュを利用した高性能化に関
する技術が開示されている。
スク装置をディスクキャッシュを利用した高性能化に関
する技術が開示されている。
【0018】特開平2−37418でも、制御装置内に
キャッシュメモリ以外に不揮発性メモリを有し、処理装
置から受け取ったライトデ−タをキャッシュメモリと不
揮発性メモリに格納する。2つのディスク装置へのライ
トデ−タの書き込みは、制御装置が、ライトアフタ処理
によって実行する。
キャッシュメモリ以外に不揮発性メモリを有し、処理装
置から受け取ったライトデ−タをキャッシュメモリと不
揮発性メモリに格納する。2つのディスク装置へのライ
トデ−タの書き込みは、制御装置が、ライトアフタ処理
によって実行する。
【0019】特願平1−171812では、ディスクキ
ャッシュを有し、ライトアフタ処理を実行する制御装置
において、ライトアフタ処理を効率よく実行することを
目的としたディスクキャッシュ内のライトアフタデ−タ
の管理デ−タ構造についての技術が開示されている。
ャッシュを有し、ライトアフタ処理を実行する制御装置
において、ライトアフタ処理を効率よく実行することを
目的としたディスクキャッシュ内のライトアフタデ−タ
の管理デ−タ構造についての技術が開示されている。
【0020】
【発明が解決しようとする課題】従来、レコ−ド単位配
置のディスクアレイではなく、一般のディスク装置向け
のディスクキャッシュ(以下、単にキャッシュと略
す。)を利用したライトアフタ処理に関して開示されて
いる技術は、いずれも、処理装置から受け付けキャッシ
ュに格納したライトデ−タをディスク装置に書き込むと
いう単純な技術であった。しかし、レコ−ド単位配置の
ディスクアレイに対するライト処理が、従来のディスク
装置に比較して、処理オ−バヘッドが大きくなるのは、
すでに、述べたように、パリティレコ−ドの更新値を作
成しなければならないためである。したがって、パリテ
ィレコ−ドの更新値をどのように作成するかが、レコ−
ド単位配置のディスクアレイのライト処理の高速化の鍵
となる。これに対し、一般のディスク装置では、パリテ
ィレコ−ドの更新値の必要性はまったくなかったため、
このような配慮はなかった。
置のディスクアレイではなく、一般のディスク装置向け
のディスクキャッシュ(以下、単にキャッシュと略
す。)を利用したライトアフタ処理に関して開示されて
いる技術は、いずれも、処理装置から受け付けキャッシ
ュに格納したライトデ−タをディスク装置に書き込むと
いう単純な技術であった。しかし、レコ−ド単位配置の
ディスクアレイに対するライト処理が、従来のディスク
装置に比較して、処理オ−バヘッドが大きくなるのは、
すでに、述べたように、パリティレコ−ドの更新値を作
成しなければならないためである。したがって、パリテ
ィレコ−ドの更新値をどのように作成するかが、レコ−
ド単位配置のディスクアレイのライト処理の高速化の鍵
となる。これに対し、一般のディスク装置では、パリテ
ィレコ−ドの更新値の必要性はまったくなかったため、
このような配慮はなかった。
【0021】本発明の目的は、パリティレコ−ドの更新
値の作成を効率化することにより、レコ−ド単位配置の
ディスクアレイのライト処理の高性能化を実現する点に
ある。基本的には、本発明でも特開昭60−11494
7、特開昭55−157053などの従来技術と同様
に、制御装置は、キャッシュを利用したライトアフタ処
理を用いる。しかし、すでに述べたように、本発明で解
決すべき課題は、従来技術では開示されていない、パリ
ティレコ−ドの更新値の作成を効率化にある。ここで
は、パリティレコ−ドの更新値の作成を効率化という課
題を、以下に示す課題1から課題3までの3つの課題に
ブレイクダウンする。以下、その具体内容を示す。
値の作成を効率化することにより、レコ−ド単位配置の
ディスクアレイのライト処理の高性能化を実現する点に
ある。基本的には、本発明でも特開昭60−11494
7、特開昭55−157053などの従来技術と同様
に、制御装置は、キャッシュを利用したライトアフタ処
理を用いる。しかし、すでに述べたように、本発明で解
決すべき課題は、従来技術では開示されていない、パリ
ティレコ−ドの更新値の作成を効率化にある。ここで
は、パリティレコ−ドの更新値の作成を効率化という課
題を、以下に示す課題1から課題3までの3つの課題に
ブレイクダウンする。以下、その具体内容を示す。
【0022】課題1…パリティレコ−ドの更新値の作成
のために用いる情報の選択方式。すなわち、どのような
情報を用いて、パリティレコ−ドの更新値を作成するか
ということである。
のために用いる情報の選択方式。すなわち、どのような
情報を用いて、パリティレコ−ドの更新値を作成するか
ということである。
【0023】パリティレコ−ドの更新値を得るために
は、以下の(1)内に示した値のセット、あるいは、
(2)内に示した値のセットいずれかが必要となる。
は、以下の(1)内に示した値のセット、あるいは、
(2)内に示した値のセットいずれかが必要となる。
【0024】(1)ライト処理が発生したレコ−ドの更
新前の値、パリテイレコ−ドの更新前の値。
新前の値、パリテイレコ−ドの更新前の値。
【0025】(2)ライト処理が発生したレコ−ドが属
するパリティグル−プ内の他のすべてのパリティレコ−
ド以外のレコ−ドの値 キャッシュがない場合、(2)に示したデ−タにより、
パリティレコ−ドの更新値を作成する場合、パリティグ
ル−プ内のライト対象デ−タレコ−ド以外のすべてのデ
−タレコ−ドを読み出す必要があり、処理量が大きくな
ってしまう。このため、パリティレコ−ドの更新値を得
るためには、ライト処理が発生したレコ−ドの更新前の
値、パリテイレコ−ドの更新前の値を使用するのが通常
の方法であると考えられる。
するパリティグル−プ内の他のすべてのパリティレコ−
ド以外のレコ−ドの値 キャッシュがない場合、(2)に示したデ−タにより、
パリティレコ−ドの更新値を作成する場合、パリティグ
ル−プ内のライト対象デ−タレコ−ド以外のすべてのデ
−タレコ−ドを読み出す必要があり、処理量が大きくな
ってしまう。このため、パリティレコ−ドの更新値を得
るためには、ライト処理が発生したレコ−ドの更新前の
値、パリテイレコ−ドの更新前の値を使用するのが通常
の方法であると考えられる。
【0026】しかし、キャッシュを利用する場合には、
キャッシュ内にライト対象レコ−ドとパリティレコ−ド
が存在する可能性がある点に着目すべきである。したが
って、この特徴を活かすとさらに高速化が可能になる。
キャッシュ内にライト対象レコ−ドとパリティレコ−ド
が存在する可能性がある点に着目すべきである。したが
って、この特徴を活かすとさらに高速化が可能になる。
【0027】課題2…パリティレコ−ド更新値の作成に
関連した処理の非同期化。パリティレコ−ド更新値の作
成に関連した処理を、処理装置から見て、非同期化する
ことにより、パリティレコ−ド更新値の作成に関連した
処理を処理装置から見た応答時間に含ませないように
し、応答時間の短縮を図る。
関連した処理の非同期化。パリティレコ−ド更新値の作
成に関連した処理を、処理装置から見て、非同期化する
ことにより、パリティレコ−ド更新値の作成に関連した
処理を処理装置から見た応答時間に含ませないように
し、応答時間の短縮を図る。
【0028】課題3…パリティレコ−ドの更新値の作成
契機。すなわち、どの契機で、パリティレコ−ドの更新
値を作成するかということである。キャッシュを利用し
た場合、パリティレコ−ドの更新値の作成のために用い
る情報のキャッシュ内の存在状況により、制御装置が、
実行すべきデ−タ転送が異なってくる。したがって、以
上の状況に応じて、パリティレコ−ドの更新後の値の作
成契機を最適化する必要がある。
契機。すなわち、どの契機で、パリティレコ−ドの更新
値を作成するかということである。キャッシュを利用し
た場合、パリティレコ−ドの更新値の作成のために用い
る情報のキャッシュ内の存在状況により、制御装置が、
実行すべきデ−タ転送が異なってくる。したがって、以
上の状況に応じて、パリティレコ−ドの更新後の値の作
成契機を最適化する必要がある。
【0029】
【課題を解決するための手段】以下、本発明が、以上述
べてきた課題をいかに解決するかについて述べる。
べてきた課題をいかに解決するかについて述べる。
【0030】まず、課題1、すなわち、パリティレコ−
ドの更新値を得るために用いる情報の選択方式について
述べる。
ドの更新値を得るために用いる情報の選択方式について
述べる。
【0031】パリティグル−プヒット/ミス判定機能1
…本機能では、パリティレコ−ドの更新値を得るため
に、ライト対象として指定されたデ−タレコ−ドの更新
前の値とパリティレコ−ドの更新前の値を用いる。した
がって、処理装置からライト対象として指定されたデ−
タレコ−ドとパリティレコ−ドがキャッシュ内に存在し
ている(以下、ヒットしていると呼ぶ。)か、存在しな
い(以下、ミスしていると呼ぶ)かどうかを判別する。
この時、これらのレコ−ドのうちミスしているレコ−ド
をキャッシュにロ−ドすることを決定する。
…本機能では、パリティレコ−ドの更新値を得るため
に、ライト対象として指定されたデ−タレコ−ドの更新
前の値とパリティレコ−ドの更新前の値を用いる。した
がって、処理装置からライト対象として指定されたデ−
タレコ−ドとパリティレコ−ドがキャッシュ内に存在し
ている(以下、ヒットしていると呼ぶ。)か、存在しな
い(以下、ミスしていると呼ぶ)かどうかを判別する。
この時、これらのレコ−ドのうちミスしているレコ−ド
をキャッシュにロ−ドすることを決定する。
【0032】パリティグル−プヒット/ミス判定機能2
…本機能では、パリティレコ−ドの更新値を得るため
に、ライト対象として指定されたデ−タレコ−ドが属す
るパリティグル−プ内の他のデ−タレコ−ドを用いる。
したがって、処理装置からライト対象として指定された
デ−タレコ−ドが属するパリティグル−プ内の他のデ−
タレコ−ドがキャッシュ内にヒットしているか、ミスし
ているかどうかを判別する。この時、これらのレコ−ド
のうちミスしているレコ−ドをキャッシュにロ−ドする
ことを決定する。
…本機能では、パリティレコ−ドの更新値を得るため
に、ライト対象として指定されたデ−タレコ−ドが属す
るパリティグル−プ内の他のデ−タレコ−ドを用いる。
したがって、処理装置からライト対象として指定された
デ−タレコ−ドが属するパリティグル−プ内の他のデ−
タレコ−ドがキャッシュ内にヒットしているか、ミスし
ているかどうかを判別する。この時、これらのレコ−ド
のうちミスしているレコ−ドをキャッシュにロ−ドする
ことを決定する。
【0033】パリティグル−プヒット/ミス判定機能3
…本機能では、パリティレコ−ドの更新値を得るために
用いる情報として、ライト対象として指定されたデ−タ
レコ−ドの更新前の値とパリティレコ−ドの更新前の値
のキャッシュ内の存在状況と、ライト対象として指定さ
れたデ−タレコ−ドが属するパリティグル−プ内の他の
デ−タレコ−ドキャッシュ内の存在状況とを比較して、
性能的に有利な方の情報を用いる。
…本機能では、パリティレコ−ドの更新値を得るために
用いる情報として、ライト対象として指定されたデ−タ
レコ−ドの更新前の値とパリティレコ−ドの更新前の値
のキャッシュ内の存在状況と、ライト対象として指定さ
れたデ−タレコ−ドが属するパリティグル−プ内の他の
デ−タレコ−ドキャッシュ内の存在状況とを比較して、
性能的に有利な方の情報を用いる。
【0034】したがって、パリティグル−プヒット/ミ
ス判定機能3は、処理装置からライト対象として指定さ
れたデ−タレコ−ドが属するパリティグル−プ内のレコ
−ド(デ−タレコ−ド、パリティレコ−ドを含む。)が
キャッシュ内にヒットしているか、ミスしているどうか
を判別する。
ス判定機能3は、処理装置からライト対象として指定さ
れたデ−タレコ−ドが属するパリティグル−プ内のレコ
−ド(デ−タレコ−ド、パリティレコ−ドを含む。)が
キャッシュ内にヒットしているか、ミスしているどうか
を判別する。
【0035】この結果、パリティグル−プヒット/ミス
判定機能1、パリティグル−プヒット/ミス判定機能2
うち、性能的に有利な方を選択し、制御を移す。例え
ば、ライト対象として指定されたデ−タレコ−ドのパリ
ティグル−プ内の他のすべてのデ−タレコ−ドがキャッ
シュに存在し、パリティレコ−ドが存在しない場合、パ
リティグル−プヒット/ミス判定機能2を選択した方が
効率的である。一方、ライト対象として指定されたデ−
タレコ−ドとパリティレコ−ドが、キャッシュに存在す
れば、パリティグル−プヒット/ミス判定機能1を選択
した方が、効果的である。
判定機能1、パリティグル−プヒット/ミス判定機能2
うち、性能的に有利な方を選択し、制御を移す。例え
ば、ライト対象として指定されたデ−タレコ−ドのパリ
ティグル−プ内の他のすべてのデ−タレコ−ドがキャッ
シュに存在し、パリティレコ−ドが存在しない場合、パ
リティグル−プヒット/ミス判定機能2を選択した方が
効率的である。一方、ライト対象として指定されたデ−
タレコ−ドとパリティレコ−ドが、キャッシュに存在す
れば、パリティグル−プヒット/ミス判定機能1を選択
した方が、効果的である。
【0036】次に、課題2に対応した非同期処理化につ
いて説明する。非同期処理化すべき処理は、処理装置か
ら受け取ったライト要求に伴って実行する処理によって
異なる。すなわち、パリティレコ−ドの更新値を作成す
るために、ライト対象として指定されたデ−タレコ−ド
とパリティレコ−ドを利用するのか(パリティグル−プ
ヒット/ミス判定機能1を利用するのか)、ライト対象
として指定されたデ−タレコ−ドのパリティグル−プ内
の他のデ−タレコ−ドを利用するのか(パリティグル−
プヒット/ミス判定機能2を利用するのか)によって実
行すべき非同期処理が異なってくる。
いて説明する。非同期処理化すべき処理は、処理装置か
ら受け取ったライト要求に伴って実行する処理によって
異なる。すなわち、パリティレコ−ドの更新値を作成す
るために、ライト対象として指定されたデ−タレコ−ド
とパリティレコ−ドを利用するのか(パリティグル−プ
ヒット/ミス判定機能1を利用するのか)、ライト対象
として指定されたデ−タレコ−ドのパリティグル−プ内
の他のデ−タレコ−ドを利用するのか(パリティグル−
プヒット/ミス判定機能2を利用するのか)によって実
行すべき非同期処理が異なってくる。
【0037】さらに、特開昭60−114947のよう
に、ライト対象として指定されたデ−タレコ−ドをディ
スク装置上で更新する処理を非同期化しない場合もあ
る。一方、特開昭55−157053、特開昭59−1
35563のように、ライト対象として指定されたデ−
タレコ−ドの更新値をキャッシュ(および、不揮発性メ
モリ)に書き込んだ段階で完了させ、ディスク装置への
書き込みは非同期化する場合もある。
に、ライト対象として指定されたデ−タレコ−ドをディ
スク装置上で更新する処理を非同期化しない場合もあ
る。一方、特開昭55−157053、特開昭59−1
35563のように、ライト対象として指定されたデ−
タレコ−ドの更新値をキャッシュ(および、不揮発性メ
モリ)に書き込んだ段階で完了させ、ディスク装置への
書き込みは非同期化する場合もある。
【0038】本発明では、以下の4種類の非同期化機能
を設ける。
を設ける。
【0039】非同期化機能1…本機能は、パリティレコ
−ドの更新値を作成するために、ライト対象として指定
されたデ−タレコ−ドとパリティレコ−ドをキャッシュ
にロ−ドする場合に、使用する。したがって、本機能
は、パリティグル−プヒット/ミス判定機能1と組み合
わせて、用いられる。さらに、本機能は、ライト対象と
して指定されたデ−タレコ−ドをディスク装置上で更新
する処理を、処理装置からのライト要求と同期化して実
行する場合に用いられる。
−ドの更新値を作成するために、ライト対象として指定
されたデ−タレコ−ドとパリティレコ−ドをキャッシュ
にロ−ドする場合に、使用する。したがって、本機能
は、パリティグル−プヒット/ミス判定機能1と組み合
わせて、用いられる。さらに、本機能は、ライト対象と
して指定されたデ−タレコ−ドをディスク装置上で更新
する処理を、処理装置からのライト要求と同期化して実
行する場合に用いられる。
【0040】この場合、ライト対象として指定されたデ
−タレコ−ドがキャッシュになかった時、ライト対象と
して指定されたデ−タレコ−ドをディスク装置上で更新
する処理を実行する前に、前記のデ−タレコ−ドの更新
前の値をキャッシュにロ−ドする処理を実行せざるを得
ない。したがって、デ−タレコ−ドの更新前の値をキャ
ッシュにロ−ドする処理は、処理装置からのライト要求
と同期化して実行することになる。以上より、この場
合、非同期化可能な処理は、以下の(1)と(2)に示
した処理となる。
−タレコ−ドがキャッシュになかった時、ライト対象と
して指定されたデ−タレコ−ドをディスク装置上で更新
する処理を実行する前に、前記のデ−タレコ−ドの更新
前の値をキャッシュにロ−ドする処理を実行せざるを得
ない。したがって、デ−タレコ−ドの更新前の値をキャ
ッシュにロ−ドする処理は、処理装置からのライト要求
と同期化して実行することになる。以上より、この場
合、非同期化可能な処理は、以下の(1)と(2)に示
した処理となる。
【0041】(1)パリティレコ−ドがキャッシュに存
在しない場合のロ−ド処理 (2)パリティレコ−ドの更新値のディスク装置への書
き込み処理 非同期化機能2…本機能も、パリティレコ−ドの更新値
を作成するために、ライト対象として指定されたデ−タ
レコ−ドとパリティレコ−ドをキャッシュにロ−ドする
場合に、使用する。したがって、本機能も、パリティグ
ル−プヒット/ミス判定機能1と組み合わせて、用いら
れる。ただし、本機能は、ライト対象として指定された
デ−タレコ−ドをディスク装置上で更新する処理を、処
理装置からのライト要求とは非同期に実行する場合に用
いられる。
在しない場合のロ−ド処理 (2)パリティレコ−ドの更新値のディスク装置への書
き込み処理 非同期化機能2…本機能も、パリティレコ−ドの更新値
を作成するために、ライト対象として指定されたデ−タ
レコ−ドとパリティレコ−ドをキャッシュにロ−ドする
場合に、使用する。したがって、本機能も、パリティグ
ル−プヒット/ミス判定機能1と組み合わせて、用いら
れる。ただし、本機能は、ライト対象として指定された
デ−タレコ−ドをディスク装置上で更新する処理を、処
理装置からのライト要求とは非同期に実行する場合に用
いられる。
【0042】この場合、ライト対象として指定されたデ
−タレコ−ドをディスク装置上で更新する処理を非同期
化できるので、以下の(1)から(4)までに示したす
べての処理を非同期化できる。
−タレコ−ドをディスク装置上で更新する処理を非同期
化できるので、以下の(1)から(4)までに示したす
べての処理を非同期化できる。
【0043】(1)ライト対象として指定されたデ−タ
レコ−ドが、キャッシュにない場合、上記デ−タレコ−
ドのロ−ド処理 (2)ライト対象として指定されたデ−タレコ−ドの更
新値のディスク装置への書き込み処理 (3)パリティレコ−ドがキャッシュに存在しない場合
のロ−ド処理 (4)パリティレコ−ドの更新値のディスク装置への書
き込み処理 非同期化機能3…本機能は、パリティレコ−ドの更新値
を作成するために、ライト対象として指定されたデ−タ
レコ−ドのパリティグル−プ内の他のデ−タレコ−ドを
キャッシュにロ−ドする場合に、使用する。したがっ
て、本機能は、パリティグル−プヒット/ミス判定機能
2と組み合わせて、用いられる。さらに、本機能は、ラ
イト対象として指定されたデ−タレコ−ドをディスク装
置上で更新する処理を処理装置からのライト要求とは同
期化して実行する場合に用いられる。ライト対象として
指定されたデ−タレコ−ドのパリティグル−プ内の他の
デ−タレコ−ドは、ライト対象として指定されたデ−タ
レコ−ドをディスク装置に書き込んだ後でも、得ること
ができる。したがって、以下の(1)から(3)までに
示したのすべての処理を非同期化することができる。
レコ−ドが、キャッシュにない場合、上記デ−タレコ−
ドのロ−ド処理 (2)ライト対象として指定されたデ−タレコ−ドの更
新値のディスク装置への書き込み処理 (3)パリティレコ−ドがキャッシュに存在しない場合
のロ−ド処理 (4)パリティレコ−ドの更新値のディスク装置への書
き込み処理 非同期化機能3…本機能は、パリティレコ−ドの更新値
を作成するために、ライト対象として指定されたデ−タ
レコ−ドのパリティグル−プ内の他のデ−タレコ−ドを
キャッシュにロ−ドする場合に、使用する。したがっ
て、本機能は、パリティグル−プヒット/ミス判定機能
2と組み合わせて、用いられる。さらに、本機能は、ラ
イト対象として指定されたデ−タレコ−ドをディスク装
置上で更新する処理を処理装置からのライト要求とは同
期化して実行する場合に用いられる。ライト対象として
指定されたデ−タレコ−ドのパリティグル−プ内の他の
デ−タレコ−ドは、ライト対象として指定されたデ−タ
レコ−ドをディスク装置に書き込んだ後でも、得ること
ができる。したがって、以下の(1)から(3)までに
示したのすべての処理を非同期化することができる。
【0044】(1)キャッシュに存在しないライト対象
として指定されたデ−タレコ−ドのパリティグル−プ内
の他のデ−タレコ−ドのキャッシュへのロ−ド処理 (2)パリティレコ−ドがキャッシュに存在しない場合
のロ−ド処理 (3)パリティレコ−ドの更新値のディスク装置への書
き込み処理 非同期化機能4…本機能も、パリティレコ−ドの更新値
を作成するために、ライト対象として指定されたデ−タ
レコ−ドのパリティグル−プ内の他のデ−タレコ−ドを
キャッシュにロ−ドする場合に、使用する。したがっ
て、本機能も、パリティグル−プヒット/ミス判定機能
2と組み合わせて、用いられる。ただし、本機能は、ラ
イト対象として指定されたデ−タレコ−ドをディスク装
置上で更新する処理を処理装置からのライト要求と非同
期化する場合に用いられる。
として指定されたデ−タレコ−ドのパリティグル−プ内
の他のデ−タレコ−ドのキャッシュへのロ−ド処理 (2)パリティレコ−ドがキャッシュに存在しない場合
のロ−ド処理 (3)パリティレコ−ドの更新値のディスク装置への書
き込み処理 非同期化機能4…本機能も、パリティレコ−ドの更新値
を作成するために、ライト対象として指定されたデ−タ
レコ−ドのパリティグル−プ内の他のデ−タレコ−ドを
キャッシュにロ−ドする場合に、使用する。したがっ
て、本機能も、パリティグル−プヒット/ミス判定機能
2と組み合わせて、用いられる。ただし、本機能は、ラ
イト対象として指定されたデ−タレコ−ドをディスク装
置上で更新する処理を処理装置からのライト要求と非同
期化する場合に用いられる。
【0045】この場合、ライト対象として指定されたデ
−タレコ−ドをディスク装置上で更新する処理を非同期
化できるので、(1)から(4)までに示したすべての
処理を非同期化できる。
−タレコ−ドをディスク装置上で更新する処理を非同期
化できるので、(1)から(4)までに示したすべての
処理を非同期化できる。
【0046】(1)キャッシュに存在しないライト対象
として指定されたデ−タレコ−ドのパリティグル−プ内
の他のデ−タレコ−ドのキャッシュへのロ−ド処理 (2)ライト対象として指定されたデ−タレコ−ドの更
新値のディスク装置への書き込み処理 (3)パリティレコ−ドがキャッシュに存在しない場合
のロ−ド処理 (4)パリティレコ−ドの更新値のディスク装置への書
き込み処理 次に、課題3の解決、すなわち、パリティレコ−ドの更
新後の値の作成契機について説明する。
として指定されたデ−タレコ−ドのパリティグル−プ内
の他のデ−タレコ−ドのキャッシュへのロ−ド処理 (2)ライト対象として指定されたデ−タレコ−ドの更
新値のディスク装置への書き込み処理 (3)パリティレコ−ドがキャッシュに存在しない場合
のロ−ド処理 (4)パリティレコ−ドの更新値のディスク装置への書
き込み処理 次に、課題3の解決、すなわち、パリティレコ−ドの更
新後の値の作成契機について説明する。
【0047】パリティレコ−ドの更新後の値の作成契機
は、4種類の契機が考えられる。それぞれの作成契機に
対応したそれぞれの機能について説明する。
は、4種類の契機が考えられる。それぞれの作成契機に
対応したそれぞれの機能について説明する。
【0048】パリティ作成機能1…まず、第1に考えら
れるパリティレコ−ドの更新後の値の作成契機は、処理
装置から指定されたデ−タレコ−ドに対する更新値を、
制御装置が処理装置との間で転送する契機である。この
場合、パリティレコ−ドの更新値を作成するために必要
なレコ−ドはすべてキャッシュに格納しておく必要があ
る。すなわち、次の(1)、(2)に示したいずれかの
情報である。
れるパリティレコ−ドの更新後の値の作成契機は、処理
装置から指定されたデ−タレコ−ドに対する更新値を、
制御装置が処理装置との間で転送する契機である。この
場合、パリティレコ−ドの更新値を作成するために必要
なレコ−ドはすべてキャッシュに格納しておく必要があ
る。すなわち、次の(1)、(2)に示したいずれかの
情報である。
【0049】(1)ライト対象として指定されたデ−タ
レコ−ド(この場合、処理装置から指定されたデ−タレ
コ−ドに対する更新値をキャッシュの別領域に格納す
る。)とパリティレコ−ド (2)ライト対象として指定されたデ−タレコ−ドのパ
リティグル−プ内の他のすべてのデ−タレコ−ド パリティ作成機能2…次に考えられるパリティレコ−ド
の更新後の値の作成契機は、処理装置から指定されたデ
−タレコ−ドに対する更新値以外に、パリティレコ−ド
の更新値を得るために必要な情報(パリティ作成機能1
で説明した(1)あるいは(2)の情報)をキャッシュ
にロ−ドする契機である。本パリティ作成契機において
は、処理装置から受け付けたデ−タレコ−ドに対する更
新値は、すでに、キャッシュに格納されていることにな
る。
レコ−ド(この場合、処理装置から指定されたデ−タレ
コ−ドに対する更新値をキャッシュの別領域に格納す
る。)とパリティレコ−ド (2)ライト対象として指定されたデ−タレコ−ドのパ
リティグル−プ内の他のすべてのデ−タレコ−ド パリティ作成機能2…次に考えられるパリティレコ−ド
の更新後の値の作成契機は、処理装置から指定されたデ
−タレコ−ドに対する更新値以外に、パリティレコ−ド
の更新値を得るために必要な情報(パリティ作成機能1
で説明した(1)あるいは(2)の情報)をキャッシュ
にロ−ドする契機である。本パリティ作成契機において
は、処理装置から受け付けたデ−タレコ−ドに対する更
新値は、すでに、キャッシュに格納されていることにな
る。
【0050】パリティ作成機能3…第3番目に考えられ
るパリティレコ−ドの更新後の値の作成契機は、キャッ
シュ内に格納したパリティレコ−ドの更新値を得るため
に必要な情報から、パリティレコ−ドの更新値を作成し
ながらディスク装置に作成値を書き込むという契機であ
る。
るパリティレコ−ドの更新後の値の作成契機は、キャッ
シュ内に格納したパリティレコ−ドの更新値を得るため
に必要な情報から、パリティレコ−ドの更新値を作成し
ながらディスク装置に作成値を書き込むという契機であ
る。
【0051】パリティ作成機能4…最後に考えられるパ
リティレコ−ドの更新後の値の作成契機は、パリティレ
コ−ドの更新値の作成を、制御装置のデ−タ転送処理と
は非同期に行うという方法である。すなわち、制御装置
は、パリティレコ−ドの更新値を作成するのに必要なす
べての情報をキャッシュに格納した後、パリティレコ−
ドの更新値を作成する処理を、デ−タ転送処理とは、非
同期に実行する。
リティレコ−ドの更新後の値の作成契機は、パリティレ
コ−ドの更新値の作成を、制御装置のデ−タ転送処理と
は非同期に行うという方法である。すなわち、制御装置
は、パリティレコ−ドの更新値を作成するのに必要なす
べての情報をキャッシュに格納した後、パリティレコ−
ドの更新値を作成する処理を、デ−タ転送処理とは、非
同期に実行する。
【0052】
【作用】以下、本発明の作用について述べる。
【0053】本発明においては、課題1、課題2、およ
び、課題3を解決するために設ける機能についてそれぞ
れ、いくつかの代替案をあげた。したがって、本発明に
おける作用は、課題1、課題2、および、課題3をそれ
ぞれ解決する機能の組合せにより、表現される。
び、課題3を解決するために設ける機能についてそれぞ
れ、いくつかの代替案をあげた。したがって、本発明に
おける作用は、課題1、課題2、および、課題3をそれ
ぞれ解決する機能の組合せにより、表現される。
【0054】まず、課題1のパリティレコ−ドの更新値
を作成する情報の選択機能として、パリティ情報ヒット
/ミス判定機能1、課題2の非同期化の機能として非同
期化機能1を組み合わせた第1の組合せの作用について
説明する。
を作成する情報の選択機能として、パリティ情報ヒット
/ミス判定機能1、課題2の非同期化の機能として非同
期化機能1を組み合わせた第1の組合せの作用について
説明する。
【0055】制御装置が、処理装置からライト要求を受
け取ると、パリティ情報ヒット/ミス判定機能1によ
り、ライト対象として指定されたデ−タレコ−ドとパリ
ティレコ−ドの更新前の値がキャッシュ上に格納されて
いるかどうかを調べる。
け取ると、パリティ情報ヒット/ミス判定機能1によ
り、ライト対象として指定されたデ−タレコ−ドとパリ
ティレコ−ドの更新前の値がキャッシュ上に格納されて
いるかどうかを調べる。
【0056】まず、双方のレコ−ドがキャッシュに格納
されている場合について説明する。非同期化機能1を用
いた場合には、処理装置から指定されたデ−タレコ−ド
の更新値のディスク装置上への書き込みは、処理装置か
らのライト要求に同期して実行する。したがって、制御
装置は、処理装置から指定されたデ−タレコ−ドの更新
値のディスク装置上への書き込みを実行する。この時、
制御装置は、処理装置から受け取ったデ−タレコ−ドの
更新値をキャッシュに書き込む。処理装置から受け取っ
たライト要求は、この段階で完了させることができるた
め、以上の手順により、ライト処理の高速化が図れる。
されている場合について説明する。非同期化機能1を用
いた場合には、処理装置から指定されたデ−タレコ−ド
の更新値のディスク装置上への書き込みは、処理装置か
らのライト要求に同期して実行する。したがって、制御
装置は、処理装置から指定されたデ−タレコ−ドの更新
値のディスク装置上への書き込みを実行する。この時、
制御装置は、処理装置から受け取ったデ−タレコ−ドの
更新値をキャッシュに書き込む。処理装置から受け取っ
たライト要求は、この段階で完了させることができるた
め、以上の手順により、ライト処理の高速化が図れる。
【0057】パリティレコ−ドの更新値の作成する機能
としてパリティ作成機能1を用いる場合には、処理装置
から受け取ったデ−タレコ−ドの更新値をキャッシュに
書き込む契機で、キャッシュ内のデ−タレコ−ドとパリ
ティレコ−ドの更新前の値と処理装置から受け取ったデ
−タレコ−ドの更新値により、パリティレコ−ドの更新
値を作成する。
としてパリティ作成機能1を用いる場合には、処理装置
から受け取ったデ−タレコ−ドの更新値をキャッシュに
書き込む契機で、キャッシュ内のデ−タレコ−ドとパリ
ティレコ−ドの更新前の値と処理装置から受け取ったデ
−タレコ−ドの更新値により、パリティレコ−ドの更新
値を作成する。
【0058】一方、パリティレコ−ドの更新値の作成す
る機能としてパリティ作成機能4を用いる場合には、処
理装置から受け取ったデ−タレコ−ドの更新値をキャッ
シュに書き込んだ後で、パリティレコ−ドの更新値を作
成する。
る機能としてパリティ作成機能4を用いる場合には、処
理装置から受け取ったデ−タレコ−ドの更新値をキャッ
シュに書き込んだ後で、パリティレコ−ドの更新値を作
成する。
【0059】パリティレコ−ドの更新値のディスク装置
への書き込みは、非同期化機能1により、制御装置が処
理装置からのリ−ド/ライト要求とは非同期に実行す
る。一方、パリティ作成機能3を用いる場合、キャッシ
ュ内のデ−タレコ−ドとパリティレコ−ドの更新前の値
とデ−タレコ−ドの更新値により、パリティレコ−ド更
新値を作成しつつディスク装置に作成値を書き込む。
への書き込みは、非同期化機能1により、制御装置が処
理装置からのリ−ド/ライト要求とは非同期に実行す
る。一方、パリティ作成機能3を用いる場合、キャッシ
ュ内のデ−タレコ−ドとパリティレコ−ドの更新前の値
とデ−タレコ−ドの更新値により、パリティレコ−ド更
新値を作成しつつディスク装置に作成値を書き込む。
【0060】次に、デ−タレコ−ドの更新前の値がキャ
ッシュに存在せず、パリティレコ−ドの更新前の値が、
キャッシュに存在する場合について述べる。
ッシュに存在せず、パリティレコ−ドの更新前の値が、
キャッシュに存在する場合について述べる。
【0061】この場合、まず、制御装置は、処理装置か
らデ−タレコ−ドの更新値を受け取る前に、デ−タレコ
−ドの更新前の値をキャッシュにロ−ドする。それ以降
の作用は、デ−タレコ−ドとパリティレコ−ドの更新前
の値がキャッシュ上に格納されている場合と同様であ
る。
らデ−タレコ−ドの更新値を受け取る前に、デ−タレコ
−ドの更新前の値をキャッシュにロ−ドする。それ以降
の作用は、デ−タレコ−ドとパリティレコ−ドの更新前
の値がキャッシュ上に格納されている場合と同様であ
る。
【0062】この場合、デ−タレコ−ドの更新前の値を
キャッシュにロ−ドする処理は、処理装置からのライト
要求の応答時間内に含まれる。しかし、パリティレコ−
ドの書き込み時間などは、ライト要求の応答時間内に含
まれないため、従来に比べ高速なライト処理の高速化が
図れる。
キャッシュにロ−ドする処理は、処理装置からのライト
要求の応答時間内に含まれる。しかし、パリティレコ−
ドの書き込み時間などは、ライト要求の応答時間内に含
まれないため、従来に比べ高速なライト処理の高速化が
図れる。
【0063】次に、デ−タレコ−ドの更新前の値がキャ
ッシュに存在し、パリティレコ−ドの更新前の値が、キ
ャッシュに存在しない場合について述べる。
ッシュに存在し、パリティレコ−ドの更新前の値が、キ
ャッシュに存在しない場合について述べる。
【0064】この場合、制御装置は、処理装置から受け
取ったデ−タレコ−ドの更新値を、ディスク装置とキャ
ッシュに書き込む。この場合も処理装置から受け取った
ライト要求は、この段階で、完了させることができるた
め、ライト処理の高速化が図れる。
取ったデ−タレコ−ドの更新値を、ディスク装置とキャ
ッシュに書き込む。この場合も処理装置から受け取った
ライト要求は、この段階で、完了させることができるた
め、ライト処理の高速化が図れる。
【0065】パリティレコ−ドの更新前の値のキャッシ
ュへのロ−ド処理とパリティレコ−ドの更新値のディス
ク装置への書き込みは、非同期化機能1により、制御装
置が、非同期に実行する。パリティレコ−ドの更新値の
作成は、パリティ作成機能2を用いる場合、パリティレ
コ−ドの更新前の値をキャッシュへロードするロ−ド処
理実行時に行うことになる。
ュへのロ−ド処理とパリティレコ−ドの更新値のディス
ク装置への書き込みは、非同期化機能1により、制御装
置が、非同期に実行する。パリティレコ−ドの更新値の
作成は、パリティ作成機能2を用いる場合、パリティレ
コ−ドの更新前の値をキャッシュへロードするロ−ド処
理実行時に行うことになる。
【0066】一方、パリティ作成機能4を用いる場合に
は、パリティレコ−ドの更新前の値をキャッシュへのロ
ードするロ−ド処理が終了した後で、パリティレコ−ド
の更新値を作成する。
は、パリティレコ−ドの更新前の値をキャッシュへのロ
ードするロ−ド処理が終了した後で、パリティレコ−ド
の更新値を作成する。
【0067】パリティ作成機能3を用いる場合、キャッ
シュ内のデ−タレコ−ドとパリティレコ−ドの更新前の
値とデ−タレコ−ドの更新値により、パリティレコ−ド
更新値を作成しつつディスク装置に作成値を書き込む。
シュ内のデ−タレコ−ドとパリティレコ−ドの更新前の
値とデ−タレコ−ドの更新値により、パリティレコ−ド
更新値を作成しつつディスク装置に作成値を書き込む。
【0068】最後に、デ−タレコ−ドの更新前の値とパ
リティレコ−ドの更新前の値がキャッシュに存在しない
場合について述べる。この場合、まず、非同期化機能1
により、まず、デ−タレコ−ドの更新前の値をキャッシ
ュにロ−ドする。これ以降の処理は、デ−タレコ−ドの
更新前の値がキャッシュに存在し、パリティレコ−ドの
更新前の値が、キャッシュに存在しない場合と同様であ
る。この場合も、デ−タレコ−ドの更新前の値をキャッ
シュにロ−ドする処理は、処理装置からのライト要求の
応答時間内に含まれる。しかし、パリティレコ−ドの書
き込み時間などは、ライト要求の応答時間内に含まれな
いため、従来に比べ高速なライト処理の高速化が図れ
る。
リティレコ−ドの更新前の値がキャッシュに存在しない
場合について述べる。この場合、まず、非同期化機能1
により、まず、デ−タレコ−ドの更新前の値をキャッシ
ュにロ−ドする。これ以降の処理は、デ−タレコ−ドの
更新前の値がキャッシュに存在し、パリティレコ−ドの
更新前の値が、キャッシュに存在しない場合と同様であ
る。この場合も、デ−タレコ−ドの更新前の値をキャッ
シュにロ−ドする処理は、処理装置からのライト要求の
応答時間内に含まれる。しかし、パリティレコ−ドの書
き込み時間などは、ライト要求の応答時間内に含まれな
いため、従来に比べ高速なライト処理の高速化が図れ
る。
【0069】第2の組合せとして、課題1のパリティレ
コ−ドの更新値を作成する情報の選択機能として、パリ
ティ情報ヒット/ミス判定機能1、課題2の非同期化の
機能として非同期化機能2を組み合わせた場合の作用に
ついて説明する。
コ−ドの更新値を作成する情報の選択機能として、パリ
ティ情報ヒット/ミス判定機能1、課題2の非同期化の
機能として非同期化機能2を組み合わせた場合の作用に
ついて説明する。
【0070】制御装置が、処理装置からライト要求を受
け取ると、パリティヒット/ミス判定機能1により、ラ
イト対象として指定されたデ−タレコ−ドとパリティレ
コ−ドの更新前の値がキャッシュ上に格納されているか
どうかを調べるのは第1の組合せの場合と同様である。
け取ると、パリティヒット/ミス判定機能1により、ラ
イト対象として指定されたデ−タレコ−ドとパリティレ
コ−ドの更新前の値がキャッシュ上に格納されているか
どうかを調べるのは第1の組合せの場合と同様である。
【0071】まず、双方のレコ−ドがキャッシュに格納
されている場合について説明する。非同期化機能2を用
いた場合には、処理装置から指定されたデ−タレコ−ド
の更新値のディスク装置上への書き込みは、処理装置か
らのライト要求とは非同期に実行する。したがって、制
御装置は、処理装置から指定されたデ−タレコ−ドの更
新値をキャッシュに書き込む。
されている場合について説明する。非同期化機能2を用
いた場合には、処理装置から指定されたデ−タレコ−ド
の更新値のディスク装置上への書き込みは、処理装置か
らのライト要求とは非同期に実行する。したがって、制
御装置は、処理装置から指定されたデ−タレコ−ドの更
新値をキャッシュに書き込む。
【0072】パリティレコ−ドの更新値の作成するパリ
ティ作成機能1を用いた場合、処理装置から受け取った
デ−タレコ−ドの更新値をキャッシュに書き込む契機
で、キャッシュ内のデ−タレコ−ドとパリティレコ−ド
の更新前の値と処理装置から受け取ったデ−タレコ−ド
の更新値により、パリティレコ−ドの更新値を作成す
る。 一方、パリティレコ−ドの更新値の作成する機能
としてパリティ作成機能4を用いる場合には、処理装置
から受け取ったデ−タレコ−ドの更新値をキャッシュに
書き込んだ後で、パリティレコ−ドの更新値を作成す
る。
ティ作成機能1を用いた場合、処理装置から受け取った
デ−タレコ−ドの更新値をキャッシュに書き込む契機
で、キャッシュ内のデ−タレコ−ドとパリティレコ−ド
の更新前の値と処理装置から受け取ったデ−タレコ−ド
の更新値により、パリティレコ−ドの更新値を作成す
る。 一方、パリティレコ−ドの更新値の作成する機能
としてパリティ作成機能4を用いる場合には、処理装置
から受け取ったデ−タレコ−ドの更新値をキャッシュに
書き込んだ後で、パリティレコ−ドの更新値を作成す
る。
【0073】パリティレコ−ドの更新値のディスク装置
への書き込みは、非同期化機能2により、制御装置が非
同期に実行する。一方、パリティ作成機能3を用いる場
合、キャッシュ内のデ−タレコ−ドとパリティレコ−ド
の更新前の値とデ−タレコ−ドの更新値により、パリテ
ィレコ−ド更新値を作成しつつディスク装置に作成値を
書き込む。同様に、デ−タレコ−ドの更新値の書き込み
も、非同期化機能2により、制御装置が非同期に実行す
る。
への書き込みは、非同期化機能2により、制御装置が非
同期に実行する。一方、パリティ作成機能3を用いる場
合、キャッシュ内のデ−タレコ−ドとパリティレコ−ド
の更新前の値とデ−タレコ−ドの更新値により、パリテ
ィレコ−ド更新値を作成しつつディスク装置に作成値を
書き込む。同様に、デ−タレコ−ドの更新値の書き込み
も、非同期化機能2により、制御装置が非同期に実行す
る。
【0074】次に、デ−タレコ−ドとパリティレコ−ド
の更新前の値の中にキャッシュ上に格納されていないも
のがある場合について説明する。
の更新前の値の中にキャッシュ上に格納されていないも
のがある場合について説明する。
【0075】制御装置は、非同期化機能2にしたがっ
て、キャッシュにないこれらの情報を非同期にロ−ドす
る。パリティ作成機能2を用いる場合、パリティレコ−
ドの更新値の作成契機は、キャッシュになかったこれら
の情報の中の最後の情報を、キャッシュにロ−ドする契
機となる。また、パリティ作成機能3を用いる場合は、
パリティレコ−ド更新値を作成しつつディスク装置に作
成値を書き込む。一方、パリティ作成機能4を用いる場
合には、パリティレコ−ドの更新前の値をキャッシュへ
ロードするロ−ド処理が終了した後で、パリティレコ−
ドの更新値を作成する。
て、キャッシュにないこれらの情報を非同期にロ−ドす
る。パリティ作成機能2を用いる場合、パリティレコ−
ドの更新値の作成契機は、キャッシュになかったこれら
の情報の中の最後の情報を、キャッシュにロ−ドする契
機となる。また、パリティ作成機能3を用いる場合は、
パリティレコ−ド更新値を作成しつつディスク装置に作
成値を書き込む。一方、パリティ作成機能4を用いる場
合には、パリティレコ−ドの更新前の値をキャッシュへ
ロードするロ−ド処理が終了した後で、パリティレコ−
ドの更新値を作成する。
【0076】第2の組合せにおいては、常に、処理装置
から受け取ったライト要求は、制御装置が、処理装置か
ら指定されたデ−タレコ−ドの更新値をキャッシュに書
き込んだ段階で、完了させることができる。以上によ
り、ライト処理の高速化が図れる。
から受け取ったライト要求は、制御装置が、処理装置か
ら指定されたデ−タレコ−ドの更新値をキャッシュに書
き込んだ段階で、完了させることができる。以上によ
り、ライト処理の高速化が図れる。
【0077】次に、第3の組合せとして、課題1のパリ
ティレコ−ドの更新値を作成する情報の選択機能とし
て、パリティ情報ヒット/ミス判定機能2、課題2の非
同期化の機能として非同期化機能3を組み合わせた場合
の作用について説明する。
ティレコ−ドの更新値を作成する情報の選択機能とし
て、パリティ情報ヒット/ミス判定機能2、課題2の非
同期化の機能として非同期化機能3を組み合わせた場合
の作用について説明する。
【0078】制御装置が、処理装置からライト要求を受
け取ると、パリティ情報ヒット/ミス判定機能2によ
り、ライト対象として指定されたデ−タレコ−ドのパリ
ティグル−プ内の他のデ−タレコ−ドがキャッシュ上に
格納されているかどうかを調べる。
け取ると、パリティ情報ヒット/ミス判定機能2によ
り、ライト対象として指定されたデ−タレコ−ドのパリ
ティグル−プ内の他のデ−タレコ−ドがキャッシュ上に
格納されているかどうかを調べる。
【0079】まず、これらの情報がすべて格納されてい
る場合について述べる。この場合には、パリティ情報ヒ
ット/ミス判定機能1、非同期化機能1を第1の組合せ
の作用と類似しているため説明を省略する。
る場合について述べる。この場合には、パリティ情報ヒ
ット/ミス判定機能1、非同期化機能1を第1の組合せ
の作用と類似しているため説明を省略する。
【0080】次に、これらの情報のうちキャッシュに格
納されていない情報がある場合の作用について述べる。
納されていない情報がある場合の作用について述べる。
【0081】制御装置は、非同期化機能3を用いて、非
同期化機能1を用いた時と同様、処理装置から指定され
たデ−タレコ−ドの更新値を、キャッシュとディスク装
置にの書き込む。さらに、制御装置は、非同期化機能3
にしたがって、キャッシュにないパリティグル−プ内の
他のデ−タレコ−ドを非同期にロ−ドする。
同期化機能1を用いた時と同様、処理装置から指定され
たデ−タレコ−ドの更新値を、キャッシュとディスク装
置にの書き込む。さらに、制御装置は、非同期化機能3
にしたがって、キャッシュにないパリティグル−プ内の
他のデ−タレコ−ドを非同期にロ−ドする。
【0082】パリティレコ−ドの更新値の作成について
は、第2の組合せにおいて、パリティレコ−ドの更新値
を作成するために用いる情報がキャッシュにない場合の
作用と類似しているため、説明を省略する。
は、第2の組合せにおいて、パリティレコ−ドの更新値
を作成するために用いる情報がキャッシュにない場合の
作用と類似しているため、説明を省略する。
【0083】第3の組合せにおいては、常に、処理装置
から受け取ったライト要求は、制御装置が、処理装置か
ら指定されたデ−タレコ−ドの更新値をキャッシュとデ
ィスク装置に書き込んだ段階で、完了させることができ
る。以上により、ライト処理の高速化が図れる。
から受け取ったライト要求は、制御装置が、処理装置か
ら指定されたデ−タレコ−ドの更新値をキャッシュとデ
ィスク装置に書き込んだ段階で、完了させることができ
る。以上により、ライト処理の高速化が図れる。
【0084】次に、第4の組合せとして、課題1のパリ
ティレコ−ドの更新値を作成する情報の選択機能とし
て、パリティ情報ヒット/ミス判定機能2、課題2の非
同期化の機能として非同期化機能4を組み合わせた場合
の作用について説明する。
ティレコ−ドの更新値を作成する情報の選択機能とし
て、パリティ情報ヒット/ミス判定機能2、課題2の非
同期化の機能として非同期化機能4を組み合わせた場合
の作用について説明する。
【0085】制御装置が、処理装置からライト要求を受
け取ると、パリティ情報ヒット/ミス判定機能2によ
り、ライト対象として指定されたデ−タレコ−ドのパリ
ティグル−プ内の他のデ−タレコ−ドがキャッシュ上に
格納されているかどうかを調べるのは、第3の組合せと
同様である。
け取ると、パリティ情報ヒット/ミス判定機能2によ
り、ライト対象として指定されたデ−タレコ−ドのパリ
ティグル−プ内の他のデ−タレコ−ドがキャッシュ上に
格納されているかどうかを調べるのは、第3の組合せと
同様である。
【0086】この後のデ−タレコ−ドの更新値、パリテ
ィレコ−ドの更新値のディスク装置への書き込みは、第
2の組合せの作用と類似しているため説明を省略する。
ィレコ−ドの更新値のディスク装置への書き込みは、第
2の組合せの作用と類似しているため説明を省略する。
【0087】第4の組合せにおいても、第2の組合せと
同様、常に、処理装置から受け取ったライト要求は、制
御装置が、処理装置から指定されたデ−タレコ−ドの更
新値をキャッシュとディスク装置に書き込んだ段階で、
完了させることができる。以上により、ライト処理の高
速化が図れる。
同様、常に、処理装置から受け取ったライト要求は、制
御装置が、処理装置から指定されたデ−タレコ−ドの更
新値をキャッシュとディスク装置に書き込んだ段階で、
完了させることができる。以上により、ライト処理の高
速化が図れる。
【0088】第5の組合せとして、パリティ情報ヒット
/ミス判定機能3を用いた場合の作用について述べる。
/ミス判定機能3を用いた場合の作用について述べる。
【0089】制御装置が、処理装置からライト要求を受
け取ると、パリティ情報ヒット/ミス判定機能3によ
り、ライト対象として指定されたデ−タレコ−ドとパリ
ティレコ−ドの更新前の値、および、パリティグル−プ
内の他のデ−タレコ−ドがキャッシュ上に格納されてい
るかどうかを調べる。そして、下記の(1)、(2)の
どちらのレコ−ドのセットを用いて、パリティレコ−ド
の更新値を作成したら性能的に有利かを判断し、性能的
に有利な方のレコ−ドのセットを用いることを決定す
る。
け取ると、パリティ情報ヒット/ミス判定機能3によ
り、ライト対象として指定されたデ−タレコ−ドとパリ
ティレコ−ドの更新前の値、および、パリティグル−プ
内の他のデ−タレコ−ドがキャッシュ上に格納されてい
るかどうかを調べる。そして、下記の(1)、(2)の
どちらのレコ−ドのセットを用いて、パリティレコ−ド
の更新値を作成したら性能的に有利かを判断し、性能的
に有利な方のレコ−ドのセットを用いることを決定す
る。
【0090】(1)ライト対象として指定されたデ−タ
レコ−ドとパリティレコ−ドの更新前の値 (2)パリティグル−プ内の他のデ−タレコ−ド (1)のレコ−ドのセットを用いることを決定し、パリ
ティ情報ヒット/ミス判定機能1と非同期化機能1を用
いた場合には、第1の組合せで説明した作用と同様の作
用となる。また、パリティ情報ヒット/ミス判定機能1
と非同期化機能2を用いた場合には、第2の組合せで説
明した作用と同様の作用となる。
レコ−ドとパリティレコ−ドの更新前の値 (2)パリティグル−プ内の他のデ−タレコ−ド (1)のレコ−ドのセットを用いることを決定し、パリ
ティ情報ヒット/ミス判定機能1と非同期化機能1を用
いた場合には、第1の組合せで説明した作用と同様の作
用となる。また、パリティ情報ヒット/ミス判定機能1
と非同期化機能2を用いた場合には、第2の組合せで説
明した作用と同様の作用となる。
【0091】(2)のレコ−ドのセットを用いることを
決定し、パリティ情報ヒット/ミス判定機能2と非同期
化機能3を用いた場合には、第3の組合せで説明した作
用と同様の作用となる。また、パリティ情報ヒット/ミ
ス判定機能2と非同期化機能4を用いた場合には、第4
の組合せで説明した作用と同様の作用となる。
決定し、パリティ情報ヒット/ミス判定機能2と非同期
化機能3を用いた場合には、第3の組合せで説明した作
用と同様の作用となる。また、パリティ情報ヒット/ミ
ス判定機能2と非同期化機能4を用いた場合には、第4
の組合せで説明した作用と同様の作用となる。
【0092】パリティ情報ヒット/ミス判定機能3によ
り、キャッシュ内の各レコ−ドの存在状況により、性能
的に有利なレコ−ドのセットにより、パリティレコ−ド
の更新値を作成することができる。
り、キャッシュ内の各レコ−ドの存在状況により、性能
的に有利なレコ−ドのセットにより、パリティレコ−ド
の更新値を作成することができる。
【0093】
【0094】
【実施例】以下、本発明の実施例を説明する。本発明
は、レコ−ド単位配置を行ったディスクアレイに対し、
ディスクキャッシュを用いたライト動作に関する。した
がって、以下の実施例では、ライト動作に関する記述の
みを行う。
は、レコ−ド単位配置を行ったディスクアレイに対し、
ディスクキャッシュを用いたライト動作に関する。した
がって、以下の実施例では、ライト動作に関する記述の
みを行う。
【0095】まず、各実施例に共通する内容について説
明する。図13は、本発明の対象となる計算機システム
の構成である。計算機システムは、処理装置1300、
制御装置1305、1台以上のディスク装置1304に
より構成する。処理装置1300は、CPU1301、
主記憶1302、チャネル1303により構成される場
合があってもよい。制御装置1305は、キャッシュメ
モリ1308、ディレクトリ1309を含む。キャッシ
ュメモリ(以下、単にキャッシュと略す。)1308
は、ディスク装置1304の中のアクセス頻度の高いデ
−タをロ−ドしておく。ディレクトリ1309には、キ
ャッシュ1308の管理情報を格納する。制御装置13
05は、処理装置1300からのリ−ド/ライト要求に
したがって、処理装置1300とディスク装置130
4、あるいは、キャッシュ1308との転送を行う。さ
らに、制御装置1305は、処理装置1300からのリ
−ド/ライト要求とは、非同期に、ディスク装置130
4とキャッシュ1308との間で、リ−ド/ライト動作
を実行する。ただし、図17に示したように、制御装置
内に2つ以上のディレクタ1307を含み、それぞれの
ディレクタ1307が処理装置1300からリ−ド/ラ
イト要求を受け付け、リ−ド/ライト動作を実行するよ
うな構成でも本発明は有効である。
明する。図13は、本発明の対象となる計算機システム
の構成である。計算機システムは、処理装置1300、
制御装置1305、1台以上のディスク装置1304に
より構成する。処理装置1300は、CPU1301、
主記憶1302、チャネル1303により構成される場
合があってもよい。制御装置1305は、キャッシュメ
モリ1308、ディレクトリ1309を含む。キャッシ
ュメモリ(以下、単にキャッシュと略す。)1308
は、ディスク装置1304の中のアクセス頻度の高いデ
−タをロ−ドしておく。ディレクトリ1309には、キ
ャッシュ1308の管理情報を格納する。制御装置13
05は、処理装置1300からのリ−ド/ライト要求に
したがって、処理装置1300とディスク装置130
4、あるいは、キャッシュ1308との転送を行う。さ
らに、制御装置1305は、処理装置1300からのリ
−ド/ライト要求とは、非同期に、ディスク装置130
4とキャッシュ1308との間で、リ−ド/ライト動作
を実行する。ただし、図17に示したように、制御装置
内に2つ以上のディレクタ1307を含み、それぞれの
ディレクタ1307が処理装置1300からリ−ド/ラ
イト要求を受け付け、リ−ド/ライト動作を実行するよ
うな構成でも本発明は有効である。
【0096】図14は、本発明の対象となる別の計算機
システムの構成である。図13に示した構成との差異
は、制御装置1305が、さらに、不揮発性メモリ14
00と不揮発性メモリ管理情報1401を含む点であ
る。不揮発性メモリ1400は、不揮発の媒体であり、
キャッシュ1308と同様に、ディスク装置1304の
中のアクセス頻度の高いデ−タをロ−ドしておく。不揮
発性メモリ管理情報1401も不揮発の媒体であり、不
揮発性メモリ1400の管理情報を格納する。
システムの構成である。図13に示した構成との差異
は、制御装置1305が、さらに、不揮発性メモリ14
00と不揮発性メモリ管理情報1401を含む点であ
る。不揮発性メモリ1400は、不揮発の媒体であり、
キャッシュ1308と同様に、ディスク装置1304の
中のアクセス頻度の高いデ−タをロ−ドしておく。不揮
発性メモリ管理情報1401も不揮発の媒体であり、不
揮発性メモリ1400の管理情報を格納する。
【0097】図13、および、図14に示した計算機シ
ステムにおいては、制御装置1305は、処理装置13
00から受け付けたライト要求に対する動作として、2
つの動作のいずれかを選択できる。
ステムにおいては、制御装置1305は、処理装置13
00から受け付けたライト要求に対する動作として、2
つの動作のいずれかを選択できる。
【0098】まず、第1の動作を説明する。第1の方法
は、ライトスル−動作1310と呼ばれる。制御装置1
305は、ライトスル−動作1310を実行する場合、
処理装置1300から受け取ったライトデ−タ1311
を、ディスク装置1304に書き込む。ただし、制御装
置1305は、キャッシュ1308内にもそのライトデ
−タ1312を書き込む。図14においては、ライトス
ル−動作1310は記載していないが、本構成において
も、制御装置1305は、ライトスル−動作1310を
実行できる。
は、ライトスル−動作1310と呼ばれる。制御装置1
305は、ライトスル−動作1310を実行する場合、
処理装置1300から受け取ったライトデ−タ1311
を、ディスク装置1304に書き込む。ただし、制御装
置1305は、キャッシュ1308内にもそのライトデ
−タ1312を書き込む。図14においては、ライトス
ル−動作1310は記載していないが、本構成において
も、制御装置1305は、ライトスル−動作1310を
実行できる。
【0099】次に、第2の方法を示す。第2の方法は、
高速ライト1311と呼ばれる。制御装置1305は、
高速ライト1311を実行する場合、処理装置1300
から受け取ったライトデ−タ1312をキャッシュ13
08に書き込んだ段階で、ライト処理を完了させる。こ
の場合、ディスク装置1304にアクセスすることな
く、ライト要求を完了させることができるため、高速な
処理が実現することができる。キャッシュ1308に書
き込んだライトデ−タ1312は、制御装置1305
が、空いた時間を利用して、処理装置1300からの要
求とは、非同期に、ディスク装置1304に書き込む。
以上のライト処理を、ライトアフタ処理1313と呼
ぶ。
高速ライト1311と呼ばれる。制御装置1305は、
高速ライト1311を実行する場合、処理装置1300
から受け取ったライトデ−タ1312をキャッシュ13
08に書き込んだ段階で、ライト処理を完了させる。こ
の場合、ディスク装置1304にアクセスすることな
く、ライト要求を完了させることができるため、高速な
処理が実現することができる。キャッシュ1308に書
き込んだライトデ−タ1312は、制御装置1305
が、空いた時間を利用して、処理装置1300からの要
求とは、非同期に、ディスク装置1304に書き込む。
以上のライト処理を、ライトアフタ処理1313と呼
ぶ。
【0100】図14の計算機システムにおいては、さら
に、制御装置1305は、高信頼/高速ライト1402
を実行できる。高速ライト1311との相違は、ライト
デ−タ1312を不揮発性メモリ1400にも書き込む
点である。これにより、制御装置1305が、ライトア
フタ処理1313を実行する前に、キャッシュ1308
がダウンしても、ライトデ−タ1311の保障を行うこ
とができる。
に、制御装置1305は、高信頼/高速ライト1402
を実行できる。高速ライト1311との相違は、ライト
デ−タ1312を不揮発性メモリ1400にも書き込む
点である。これにより、制御装置1305が、ライトア
フタ処理1313を実行する前に、キャッシュ1308
がダウンしても、ライトデ−タ1311の保障を行うこ
とができる。
【0101】次に、図15と図16を用いて、本発明の
対象となるレコ−ド単位配置を行ったディスクアレイの
デ−タの記録形式について説明する。
対象となるレコ−ド単位配置を行ったディスクアレイの
デ−タの記録形式について説明する。
【0102】図15に示すように、ディスク装置130
4において、リ−ド/ライトされる単位は、レコ−ド1
502と呼ばれる。本発明においては、ディスク装置1
304上には、レコ−ド1502は2種類存在し、デ−
タレコ−ド1500とパリティレコ−ド1501が格納
される。デ−タレコ−ド1500は、処理装置1300
がリ−ド/ライトするデ−タを格納したレコ−ドであ
る。(すなわち、デ−タレコ−ド1500が通常のレコ
−ド1502ということになる。)一方、パリティレコ
−ド1501は、ディスク装置1304に障害が発生し
た時、その回復処理に用いるレコ−ドである。
4において、リ−ド/ライトされる単位は、レコ−ド1
502と呼ばれる。本発明においては、ディスク装置1
304上には、レコ−ド1502は2種類存在し、デ−
タレコ−ド1500とパリティレコ−ド1501が格納
される。デ−タレコ−ド1500は、処理装置1300
がリ−ド/ライトするデ−タを格納したレコ−ドであ
る。(すなわち、デ−タレコ−ド1500が通常のレコ
−ド1502ということになる。)一方、パリティレコ
−ド1501は、ディスク装置1304に障害が発生し
た時、その回復処理に用いるレコ−ドである。
【0103】図16は、レコ−ド単位配置を行ったディ
スクアレイにおけるパリティグル−プ1600の構成で
ある。ディスク装置a1601からディスク装置d16
04までのm個のディスク装置1304上に、それぞれ
対応するデ−タレコ−ド1501が格納されている。こ
れらのm個のデ−タレコ−ド1501から、n個のパリ
ティレコ−ド1501が作成され、それぞれ対応するデ
ィスク装置e1605からディスク装置f1606に格
納される。以上、図16では、m個のデ−タレコ−ド1
500とn個のパリティレコ−ド1501から、パリテ
ィグル−プ1600が構成されている。一般に、n個の
パリティレコ−ド1501を含むパリティグル−プ16
00においては、そのパリティグル−プ1600内のレ
コ−ド1502が格納されているm+n個ディスク装置
のうち、n台のディスク装置1304が故障しても、パ
リティグル−プ1600内のすべてのレコ−ド1502
の内容を回復することができる。
スクアレイにおけるパリティグル−プ1600の構成で
ある。ディスク装置a1601からディスク装置d16
04までのm個のディスク装置1304上に、それぞれ
対応するデ−タレコ−ド1501が格納されている。こ
れらのm個のデ−タレコ−ド1501から、n個のパリ
ティレコ−ド1501が作成され、それぞれ対応するデ
ィスク装置e1605からディスク装置f1606に格
納される。以上、図16では、m個のデ−タレコ−ド1
500とn個のパリティレコ−ド1501から、パリテ
ィグル−プ1600が構成されている。一般に、n個の
パリティレコ−ド1501を含むパリティグル−プ16
00においては、そのパリティグル−プ1600内のレ
コ−ド1502が格納されているm+n個ディスク装置
のうち、n台のディスク装置1304が故障しても、パ
リティグル−プ1600内のすべてのレコ−ド1502
の内容を回復することができる。
【0104】図16のパリティグル−プ1600におい
ては、ディスク装置a1601からディスク装置d16
04にデ−タレコ−ド1500が、ディスク装置e16
05からディスク装置f1606にパリティレコード1
501格納されている。ただし、ディスク装置a160
1からディスク装置d1604までのディスク装置13
04上に格納するすべてのレコ−ド1502を、デ−タ
レコ−ド1500とする必要はない。同様に、ディスク
装置e1605からディスク装置f1606までのディ
スク装置1304上のすべてのレコ−ド1502が、パ
リティレコ−ド1501というわけではない。
ては、ディスク装置a1601からディスク装置d16
04にデ−タレコ−ド1500が、ディスク装置e16
05からディスク装置f1606にパリティレコード1
501格納されている。ただし、ディスク装置a160
1からディスク装置d1604までのディスク装置13
04上に格納するすべてのレコ−ド1502を、デ−タ
レコ−ド1500とする必要はない。同様に、ディスク
装置e1605からディスク装置f1606までのディ
スク装置1304上のすべてのレコ−ド1502が、パ
リティレコ−ド1501というわけではない。
【0105】また、図16においては、パリティグル−
プ1600が、ディスク装置a1601からディスク装
置f上に作成されているが、パリティグル−プ1600
が作成されるディスク装置1304の集合は、各パリテ
ィグル−プ1600が異なったディスク装置1304上
に存在してもよい。例えば、別のパリティグル−プ16
00がディスク装置b1602からディスク装置g16
07に作成されてもよい。同様に、パリティグル−プ1
600を構成するレコ−ド1502の数もm+n個には
限定されない。
プ1600が、ディスク装置a1601からディスク装
置f上に作成されているが、パリティグル−プ1600
が作成されるディスク装置1304の集合は、各パリテ
ィグル−プ1600が異なったディスク装置1304上
に存在してもよい。例えば、別のパリティグル−プ16
00がディスク装置b1602からディスク装置g16
07に作成されてもよい。同様に、パリティグル−プ1
600を構成するレコ−ド1502の数もm+n個には
限定されない。
【0106】ただし、以下の実施例においては、簡略化
のため、パリティグル−プ1600の構成を、図16に
示したように、m個のデ−タレコ−ド1500とn個の
パリティレコ−ド1501からなる構成とする。
のため、パリティグル−プ1600の構成を、図16に
示したように、m個のデ−タレコ−ド1500とn個の
パリティレコ−ド1501からなる構成とする。
【0107】図18は、キャッシュ1308の構成であ
る。キャッシュ1308は、セグメント1800により
構成される。セグメント1800は、ディスク装置13
04上の1つのレコ−ド1502を格納する。
る。キャッシュ1308は、セグメント1800により
構成される。セグメント1800は、ディスク装置13
04上の1つのレコ−ド1502を格納する。
【0108】図19は、セグメント1800の構成であ
る。セグメント1800は、ポインタ1900とデ−タ
領域1901により構成される。ポインタ1900は、
セグメント1800が空いている時、他の空いたセグメ
ント1800とリンクするため用いる。デ−タ領域19
01は、レコ−ド1502を格納する領域である。
る。セグメント1800は、ポインタ1900とデ−タ
領域1901により構成される。ポインタ1900は、
セグメント1800が空いている時、他の空いたセグメ
ント1800とリンクするため用いる。デ−タ領域19
01は、レコ−ド1502を格納する領域である。
【0109】図20は、ディレクトリ1309の構成で
ある。レコ−ド票2000は、レコ−ド1502がキャ
ッシュ1308上に格納されているか否かを確かめるた
め用いる。
ある。レコ−ド票2000は、レコ−ド1502がキャ
ッシュ1308上に格納されているか否かを確かめるた
め用いる。
【0110】PG(Parity Group)管理情
報2001は、キャッシュ1308に格納されたパリテ
ィグル−プ1600内のレコ−ド1502を管理するた
めの情報である。
報2001は、キャッシュ1308に格納されたパリテ
ィグル−プ1600内のレコ−ド1502を管理するた
めの情報である。
【0111】空きセグメントキュ−管理ポインタ200
2、空きPG管理情報ポインタ2003は、それぞれ空
いた状態にあるセグメント1800とPG管理情報20
01を管理するポインタである。
2、空きPG管理情報ポインタ2003は、それぞれ空
いた状態にあるセグメント1800とPG管理情報20
01を管理するポインタである。
【0112】ディスク装置占有情報2004は、ディス
ク装置1304対応にもつ情報であり、対応するディス
ク装置1304が占有状態にあること、すなわち、動作
中であることを示す。
ク装置1304対応にもつ情報であり、対応するディス
ク装置1304が占有状態にあること、すなわち、動作
中であることを示す。
【0113】ディスク装置待ち情報2005も、ディス
ク装置1304対応にもつ情報であり、対応するディス
ク装置1304に対する処理装置1300からのリ−ド
/ライト要求が待ち状態にあることを示す。
ク装置1304対応にもつ情報であり、対応するディス
ク装置1304に対する処理装置1300からのリ−ド
/ライト要求が待ち状態にあることを示す。
【0114】図21は、レコ−ド票2000の構成であ
る。レコ−ド票2000は、各ディスク装置1304上
のレコ−ド1502対応にエントリをもつ。エントリ
は、ディスク装置1304の番号順、同一ディスク装置
1304はレコ−ド1502の番号順に並べられる。エ
ントリの内容は、当該レコ−ドに対応するパリティグル
−プ1600に属するレコ−ド1502がキャッシュ1
308上にまったく格納されていない場合、null値
をとる。一方、当該レコ−ドに対応するパリティグル−
プ1600に属するレコ−ド1502がキャッシュ13
08上に格納されている場合、対応するPG管理情報2
001を指す。
る。レコ−ド票2000は、各ディスク装置1304上
のレコ−ド1502対応にエントリをもつ。エントリ
は、ディスク装置1304の番号順、同一ディスク装置
1304はレコ−ド1502の番号順に並べられる。エ
ントリの内容は、当該レコ−ドに対応するパリティグル
−プ1600に属するレコ−ド1502がキャッシュ1
308上にまったく格納されていない場合、null値
をとる。一方、当該レコ−ドに対応するパリティグル−
プ1600に属するレコ−ド1502がキャッシュ13
08上に格納されている場合、対応するPG管理情報2
001を指す。
【0115】図22は、PG管理情報2001の構成で
ある。
ある。
【0116】空きポインタ2206は、当該PG管理情
報2201が、空いている時、他の空いたPG管理情報
2201とリンクするため用いる。
報2201が、空いている時、他の空いたPG管理情報
2201とリンクするため用いる。
【0117】更新前セグメントポインタ2200は、対
応するレコ−ド1502の更新前の内容が格納されてい
るセグメント1800を表す。一方、更新後セグメント
ポインタ2201は、対応するレコ−ド1502の更新
後の内容が格納されているセグメント1800を表す。
更新前セグメントポインタ2200、更新後セグメント
ポインタ2201の双方が、null値の場合、当該レ
コ−ド1502はキャッシュ1308に格納されていな
いことになる。
応するレコ−ド1502の更新前の内容が格納されてい
るセグメント1800を表す。一方、更新後セグメント
ポインタ2201は、対応するレコ−ド1502の更新
後の内容が格納されているセグメント1800を表す。
更新前セグメントポインタ2200、更新後セグメント
ポインタ2201の双方が、null値の場合、当該レ
コ−ド1502はキャッシュ1308に格納されていな
いことになる。
【0118】ライトアフタビット2202は、対応する
レコ−ド1502のライトアフタ処理1313を実行す
べきことを示す情報である。
レコ−ド1502のライトアフタ処理1313を実行す
べきことを示す情報である。
【0119】ロ−ド要求ビット2203は、対応するレ
コ−ド1502をキャッシュ1308にロ−ドすべきこ
とを示す情報である。
コ−ド1502をキャッシュ1308にロ−ドすべきこ
とを示す情報である。
【0120】更新前セグメントポインタ2200、更新
後セグメントポインタ2201、ライトアフタビット2
202、ロ−ド要求ビット2203は、レコ−ド150
2に対応に存在するため、PG管理情報2001内に
は、それぞれm+n個存在する。(本実施例では、パリ
ティグル−プ1600は、m+n個のレコ−ド1502
で構成されることを前提としているため。)ロック情報
2204は、当該PG管理情報2001に対応するパリ
ティグル−プ1600に対応するレコ−ド1502を操
作中であることを示す。レコ−ド単位配置を行ったディ
スクアレイにおいて、ライト動作は、デ−タレコ−ド1
501だけでなく、すべてのパリティレコ−ド1501
を更新する。したがって、同一パリティグル−プ160
0内のライト動作は、ロック情報2204に従って、順
次実行する(シリアライズする)必要がある。
後セグメントポインタ2201、ライトアフタビット2
202、ロ−ド要求ビット2203は、レコ−ド150
2に対応に存在するため、PG管理情報2001内に
は、それぞれm+n個存在する。(本実施例では、パリ
ティグル−プ1600は、m+n個のレコ−ド1502
で構成されることを前提としているため。)ロック情報
2204は、当該PG管理情報2001に対応するパリ
ティグル−プ1600に対応するレコ−ド1502を操
作中であることを示す。レコ−ド単位配置を行ったディ
スクアレイにおいて、ライト動作は、デ−タレコ−ド1
501だけでなく、すべてのパリティレコ−ド1501
を更新する。したがって、同一パリティグル−プ160
0内のライト動作は、ロック情報2204に従って、順
次実行する(シリアライズする)必要がある。
【0121】ロック待ち情報2205は、ライト動作を
順次実行することを保証するため、待ち状態に入った処
理装置1300からのリ−ド/ライト要求が待ち状態に
あることを示す。
順次実行することを保証するため、待ち状態に入った処
理装置1300からのリ−ド/ライト要求が待ち状態に
あることを示す。
【0122】パリティ作成ビット2206は、当該PG
管理情報2001内に、パリティレコ−ド1501の更
新値を作成するのに必要なレコ−ド1502が、キャッ
シュ1308に格納されたことを意味する。
管理情報2001内に、パリティレコ−ド1501の更
新値を作成するのに必要なレコ−ド1502が、キャッ
シュ1308に格納されたことを意味する。
【0123】図23は、空きセグメントキュ−2300
の構成を表す。先頭の空いた状態にあるセグメント18
00は、空きセグメントキュ−管理ポインタ2002が
ポイントする。以降、それぞれのセグメント1800内
のポインタ1900によってポイントされる。
の構成を表す。先頭の空いた状態にあるセグメント18
00は、空きセグメントキュ−管理ポインタ2002が
ポイントする。以降、それぞれのセグメント1800内
のポインタ1900によってポイントされる。
【0124】図24は、空きPG管理情報キュ−240
0の構成を表す。先頭の空いた状態にあるPG管理情報
2001は、空きPG管理情報ポインタ2003がポイ
ントする。以降、それぞれのPG管理情報2001内の
空きポインタ2206によってポイントされる。
0の構成を表す。先頭の空いた状態にあるPG管理情報
2001は、空きPG管理情報ポインタ2003がポイ
ントする。以降、それぞれのPG管理情報2001内の
空きポインタ2206によってポイントされる。
【0125】図25は、不揮発性メモリ1400の構成
である。不揮発性メモリ1400は、不揮発性セグメン
ト2500により構成される。不揮発性セグメント25
00の構成は、セグメント1800と同様の構成である
ため、説明を省略する。
である。不揮発性メモリ1400は、不揮発性セグメン
ト2500により構成される。不揮発性セグメント25
00の構成は、セグメント1800と同様の構成である
ため、説明を省略する。
【0126】また、不揮発性メモリ管理情報1401の
構成は、ディレクトリ1309と同様であるため説明を
省略する。
構成は、ディレクトリ1309と同様であるため説明を
省略する。
【0127】すでに述べたように、本発明の目的は、パ
リティレコ−ド1501の更新値の作成を効率化するこ
とにより、レコ−ド単位配置のディスクアレイのライト
処理の高性能化を実現する点にある。ここでは、パリテ
ィレコ−ドの更新値の作成を効率化という課題を、3つ
の課題にブレイクダウンする。以下、その概要を示す。
課題1…パリティレコ−ド1501の更新値の作成の
ために用いる情報の選択方式。すなわち、どのような情
報を用いて、パリティレコ−ド1501の更新値を作成
するかということである。
リティレコ−ド1501の更新値の作成を効率化するこ
とにより、レコ−ド単位配置のディスクアレイのライト
処理の高性能化を実現する点にある。ここでは、パリテ
ィレコ−ドの更新値の作成を効率化という課題を、3つ
の課題にブレイクダウンする。以下、その概要を示す。
課題1…パリティレコ−ド1501の更新値の作成の
ために用いる情報の選択方式。すなわち、どのような情
報を用いて、パリティレコ−ド1501の更新値を作成
するかということである。
【0128】課題2…パリティレコ−ド更新値の作成に
関連した処理の非同期化。パリティレコ−ド更新値の作
成に関連した処理を、処理装置から見て、非同期化する
ことにより、パリティレコ−ド更新値の作成に関連した
処理を処理装置から見た応答時間に含ませないようにす
る。
関連した処理の非同期化。パリティレコ−ド更新値の作
成に関連した処理を、処理装置から見て、非同期化する
ことにより、パリティレコ−ド更新値の作成に関連した
処理を処理装置から見た応答時間に含ませないようにす
る。
【0129】課題3…パリティレコ−ドの更新値の作成
契機。すなわち、どの契機で、パリティレコ−ドの更新
値を作成するかということである。
契機。すなわち、どの契機で、パリティレコ−ドの更新
値を作成するかということである。
【0130】以下、本発明が、以上述べてきた課題をい
かに解決するかを簡単に説明する。まず、課題1、すな
わち、パリティレコ−ドの更新値を得るために用いる情
報の選択方式について述べる。
かに解決するかを簡単に説明する。まず、課題1、すな
わち、パリティレコ−ドの更新値を得るために用いる情
報の選択方式について述べる。
【0131】パリティグル−プヒット/ミス判定処理a
6500…本処理の概要を図65を用いて説明する。
6500…本処理の概要を図65を用いて説明する。
【0132】パリティグル−プヒット/ミス判定処理a
6500は、パリティレコ−ド1501の更新値を得る
ために、ライト対象として指定されたデ−タレコ−ド1
500の更新前の値とパリティレコ−ド1501の更新
前の値を用いる。したがって、処理装置1300からラ
イト対象として指定されたデ−タレコ−ドのヒット/ミ
ス状態(キャッシュ1308内の存在状況)6501と
パリティレコ−ド1501のヒット/ミス状態6502
を、ディレクトリ1309を参照して判断する(650
3)。この時、これらのレコ−ドのうちミスしているレ
コ−ドをキャッシュにロ−ドすることを決定する(65
04)。
6500は、パリティレコ−ド1501の更新値を得る
ために、ライト対象として指定されたデ−タレコ−ド1
500の更新前の値とパリティレコ−ド1501の更新
前の値を用いる。したがって、処理装置1300からラ
イト対象として指定されたデ−タレコ−ドのヒット/ミ
ス状態(キャッシュ1308内の存在状況)6501と
パリティレコ−ド1501のヒット/ミス状態6502
を、ディレクトリ1309を参照して判断する(650
3)。この時、これらのレコ−ドのうちミスしているレ
コ−ドをキャッシュにロ−ドすることを決定する(65
04)。
【0133】パリティグル−プヒット/ミス判定処理b
6600…本処理の概要を図66を用いて説明する。
6600…本処理の概要を図66を用いて説明する。
【0134】パリティグル−プヒット/ミス判定処理b
6600は、パリティレコ−ド1501の更新値を得る
ために、ライト対象として指定されたデ−タレコ−ドが
属するパリティグル−プ1600内の他のデ−タレコ−
ド1500を用いる。したがって、処理装置1300か
らライト対象として指定されたデ−タレコ−ド1500
が属するパリティグル−プ内の他のデ−タレコ−ドのヒ
ット/ミス状態6601を、ディレクトリ1309を参
照して判断する(6602)。この時、これらのレコ−
ドのうちミスしているレコ−ドをキャッシュにロ−ドす
ることを決定する。(6603)パリティグル−プヒッ
ト/ミス判定処理c6700…本処理の概要を図67を
用いて説明する。
6600は、パリティレコ−ド1501の更新値を得る
ために、ライト対象として指定されたデ−タレコ−ドが
属するパリティグル−プ1600内の他のデ−タレコ−
ド1500を用いる。したがって、処理装置1300か
らライト対象として指定されたデ−タレコ−ド1500
が属するパリティグル−プ内の他のデ−タレコ−ドのヒ
ット/ミス状態6601を、ディレクトリ1309を参
照して判断する(6602)。この時、これらのレコ−
ドのうちミスしているレコ−ドをキャッシュにロ−ドす
ることを決定する。(6603)パリティグル−プヒッ
ト/ミス判定処理c6700…本処理の概要を図67を
用いて説明する。
【0135】パリティグル−プヒット/ミス判定処理c
6700は、ライト対象として指定されたデ−タレコ−
ド1500の更新前の値のヒット/ミス状態6502と
パリティレコ−ドの更新前の値のヒット/ミス状態65
01と、パリティグル−プ内の他のデ−タレコ−ドのヒ
ット/ミス状態6601を判別する。
6700は、ライト対象として指定されたデ−タレコ−
ド1500の更新前の値のヒット/ミス状態6502と
パリティレコ−ドの更新前の値のヒット/ミス状態65
01と、パリティグル−プ内の他のデ−タレコ−ドのヒ
ット/ミス状態6601を判別する。
【0136】この結果、パリティグル−プヒット/ミス
判定処理a6500、パリティグル−プヒット/ミス判
定処理b6600のうち、性能的に有利な方を選択し、
制御を移す。例えば、ライト対象として指定されたデ−
タレコ−ド1500のパリティグル−プ1600内の他
のすべてのデ−タレコ−ド1500がキャッシュに存在
し、パリティレコ−ド1501が存在しない場合、パリ
ティグル−プヒット/ミス判定処理b6600を選択し
た方が効率的である。
判定処理a6500、パリティグル−プヒット/ミス判
定処理b6600のうち、性能的に有利な方を選択し、
制御を移す。例えば、ライト対象として指定されたデ−
タレコ−ド1500のパリティグル−プ1600内の他
のすべてのデ−タレコ−ド1500がキャッシュに存在
し、パリティレコ−ド1501が存在しない場合、パリ
ティグル−プヒット/ミス判定処理b6600を選択し
た方が効率的である。
【0137】次に、課題2に対応した非同期処理化につ
いて説明する。本発明では、以下の4種類の非同期処理
を設ける。
いて説明する。本発明では、以下の4種類の非同期処理
を設ける。
【0138】非同期処理a6800…本処理の概要を図
68に示す。
68に示す。
【0139】非同期処理a6800は、更新後パリティ
レコ−ド108(パリティレコ−ドの更新後の値)を作
成するために、更新前デ−タレコ−ド105(デ−タレ
コ−ドの更新前の値)と更新前パリティレコ−ド107
(パリティレコ−ドの更新前の値6803)を用いる場
合に、実行される。したがって、本処理は、パリティグ
ル−プヒット/ミス判定処理a6500と組み合わせ
て、用いられる。さらに、本処理は、更新後デ−タレコ
−ド106(ライト対象として指定されたデ−タレコ−
ド1500の更新値)をディスク装置1304上で更新
する処理を、処理装置1300からのライト要求と同期
化して実行する場合に用いられる。
レコ−ド108(パリティレコ−ドの更新後の値)を作
成するために、更新前デ−タレコ−ド105(デ−タレ
コ−ドの更新前の値)と更新前パリティレコ−ド107
(パリティレコ−ドの更新前の値6803)を用いる場
合に、実行される。したがって、本処理は、パリティグ
ル−プヒット/ミス判定処理a6500と組み合わせ
て、用いられる。さらに、本処理は、更新後デ−タレコ
−ド106(ライト対象として指定されたデ−タレコ−
ド1500の更新値)をディスク装置1304上で更新
する処理を、処理装置1300からのライト要求と同期
化して実行する場合に用いられる。
【0140】この場合、更新前デ−タレコ−ド105が
キャッシュ1308になかった場合、更新前デ−タレコ
−ド105をキャッシュ1308にロ−ドする処理は、
処理装置1300からのライト要求と同期化して実行せ
ざるを得ない(6804)。以上より、この場合、非同
期化可能な処理は、以下の(1)と(2)に示した処理
となる。
キャッシュ1308になかった場合、更新前デ−タレコ
−ド105をキャッシュ1308にロ−ドする処理は、
処理装置1300からのライト要求と同期化して実行せ
ざるを得ない(6804)。以上より、この場合、非同
期化可能な処理は、以下の(1)と(2)に示した処理
となる。
【0141】(1)更新前パリティレコ−ド107がキ
ャッシュ1308に存在しない場合のロ−ド処理(68
05) (2)更新後パリティレコ−ド108のディスク装置1
304への書き込み処理(6805) 非同期処理b6900…本処理の概要を図69に示す。
ャッシュ1308に存在しない場合のロ−ド処理(68
05) (2)更新後パリティレコ−ド108のディスク装置1
304への書き込み処理(6805) 非同期処理b6900…本処理の概要を図69に示す。
【0142】非同期処理b6900も、更新後パリティ
レコ−ド108を作成するために、更新前デ−タレコ−
ド105と更新前パリティレコ−ド107を用いる場合
に、実行される。したがって、本処理も、パリティグル
−プヒット/ミス判定処理aと組み合わせて、用いられ
る。ただし、本処理は、更新後デ−タレコ−ド106を
ディスク装置1304上で更新する処理を、処理装置1
300からのライト要求と非同期化して実行する場合に
用いられる。
レコ−ド108を作成するために、更新前デ−タレコ−
ド105と更新前パリティレコ−ド107を用いる場合
に、実行される。したがって、本処理も、パリティグル
−プヒット/ミス判定処理aと組み合わせて、用いられ
る。ただし、本処理は、更新後デ−タレコ−ド106を
ディスク装置1304上で更新する処理を、処理装置1
300からのライト要求と非同期化して実行する場合に
用いられる。
【0143】したがって、以下の(1)から(4)まで
に示したすべての処理を非同期化できる。
に示したすべての処理を非同期化できる。
【0144】(1)更新前デ−タレコ−ド105が、キ
ャッシュ1308にない場合のロ−ド処理(6805) (2)更新後デ−タレコ−ド106ディスク装置130
4への書き込み処理(6805) (3)更新前パリティレコ−ド107がキャッシュ13
08に存在しない場合のロ−ド処理(6805) (4)更新後パリティレコ−ド108のディスク装置1
304への書き込み処理(6805) 非同期処理c7000…本処理の概要を図70に示す。
ャッシュ1308にない場合のロ−ド処理(6805) (2)更新後デ−タレコ−ド106ディスク装置130
4への書き込み処理(6805) (3)更新前パリティレコ−ド107がキャッシュ13
08に存在しない場合のロ−ド処理(6805) (4)更新後パリティレコ−ド108のディスク装置1
304への書き込み処理(6805) 非同期処理c7000…本処理の概要を図70に示す。
【0145】非同期処理c7000は、更新後パリティ
レコ−ド108を作成するために、グル−プ内他デ−タ
レコ−ド702(ライト対象として指定されたデ−タレ
コ−ド1500のパリティグル−プ1600内の他のデ
−タレコ−ド1500)を用いる場合に使用する。した
がって、本処理は、パリティグル−プヒット/ミス判定
機能2と組み合わせて、用いられる。さらに、非同期処
理c7000は、更新後デ−タレコ−ド106を、ディ
スク装置1304上で更新する処理を処理装置1300
からのライト要求と同期化して実行する場合に用いられ
る。
レコ−ド108を作成するために、グル−プ内他デ−タ
レコ−ド702(ライト対象として指定されたデ−タレ
コ−ド1500のパリティグル−プ1600内の他のデ
−タレコ−ド1500)を用いる場合に使用する。した
がって、本処理は、パリティグル−プヒット/ミス判定
機能2と組み合わせて、用いられる。さらに、非同期処
理c7000は、更新後デ−タレコ−ド106を、ディ
スク装置1304上で更新する処理を処理装置1300
からのライト要求と同期化して実行する場合に用いられ
る。
【0146】グル−プ内他デ−タレコ−ド702は、更
新後デ−タレコ−ド106を、ディスク装置1304上
に書き込んだ後でも、得ることができる。したがって、
以下の(1)から(3)までに示したのすべての処理を
非同期化することができる。 (1)キャッシュ1308に存在しないグル−プ内他デ
−タレコ−ド702をキャッシュ1308へロ−ドする
処理(6805) (2)更新前パリティレコ−ド107がキャッシュ13
08に存在しない場合のロ−ド処理(6805) (3)更新後パリティレコ−ド108のディスク装置1
304への書き込み処理(6805) 非同期化処理d7100……本処理の概要を図71に示
す。
新後デ−タレコ−ド106を、ディスク装置1304上
に書き込んだ後でも、得ることができる。したがって、
以下の(1)から(3)までに示したのすべての処理を
非同期化することができる。 (1)キャッシュ1308に存在しないグル−プ内他デ
−タレコ−ド702をキャッシュ1308へロ−ドする
処理(6805) (2)更新前パリティレコ−ド107がキャッシュ13
08に存在しない場合のロ−ド処理(6805) (3)更新後パリティレコ−ド108のディスク装置1
304への書き込み処理(6805) 非同期化処理d7100……本処理の概要を図71に示
す。
【0147】非同期処理d7100は、更新後パリティ
レコ−ド108を作成するために、グル−プ内他デ−タ
レコ−ド702をキャッシュ1308にロ−ドする場合
に、使用する。したがって、本機能は、パリティグル−
プヒット/ミス判定機能2と組み合わせて、用いられ
る。さらに、更新後デ−タレコ−ド106を、ディスク
装置1304上で更新する処理を処理装置1300から
のライト要求と非同期に実行する場合に用いられる。
レコ−ド108を作成するために、グル−プ内他デ−タ
レコ−ド702をキャッシュ1308にロ−ドする場合
に、使用する。したがって、本機能は、パリティグル−
プヒット/ミス判定機能2と組み合わせて、用いられ
る。さらに、更新後デ−タレコ−ド106を、ディスク
装置1304上で更新する処理を処理装置1300から
のライト要求と非同期に実行する場合に用いられる。
【0148】この場合、更新後デ−タレコ−ド106
を、ディスク装置1304上で更新する処理を非同期化
するため、(1)から(4)までに示したすべての処理
を非同期化できる。
を、ディスク装置1304上で更新する処理を非同期化
するため、(1)から(4)までに示したすべての処理
を非同期化できる。
【0149】(1)キャッシュ1308に存在しないグ
ル−プ内他デ−タレコ−ド702をキャッシュ1308
へロ−ドする処理(6805) (2)更新後デ−タレコ−ド106ディスク装置130
4への書き込み処理(6805) (3)更新前パリティレコ−ド107がキャッシュ13
08に存在しない場合のロ−ド処理(6805) (4)更新後パリティレコ−ド108のディスク装置1
304への書き込み処理(6805) 次に、課題3の解決、すなわち、更新後パリティレコ−
ド108の作成契機について説明する。
ル−プ内他デ−タレコ−ド702をキャッシュ1308
へロ−ドする処理(6805) (2)更新後デ−タレコ−ド106ディスク装置130
4への書き込み処理(6805) (3)更新前パリティレコ−ド107がキャッシュ13
08に存在しない場合のロ−ド処理(6805) (4)更新後パリティレコ−ド108のディスク装置1
304への書き込み処理(6805) 次に、課題3の解決、すなわち、更新後パリティレコ−
ド108の作成契機について説明する。
【0150】更新後パリティレコ−ド108の作成契機
は、3種類の契機が考えられる。それぞれの作成契機に
ついて説明する。
は、3種類の契機が考えられる。それぞれの作成契機に
ついて説明する。
【0151】パリティ作成契機a…まず、第1に考えら
れる更新後パリティレコ−ド108の作成契機は、図7
2に示すように、処理装置1300から指定された更新
後デ−タレコ−ド106を、制御装置1305が処理装
置1300との間で転送する(7202)契機である。
この場合、更新後パリティレコ−ドを作成するために必
要な情報7201は、すべてキャッシュに格納されてい
なければならない。また、図72に示すように、更新後
パリティレコ−ド108の作成そのものは、パリティ作
成装置7200が実行する。
れる更新後パリティレコ−ド108の作成契機は、図7
2に示すように、処理装置1300から指定された更新
後デ−タレコ−ド106を、制御装置1305が処理装
置1300との間で転送する(7202)契機である。
この場合、更新後パリティレコ−ドを作成するために必
要な情報7201は、すべてキャッシュに格納されてい
なければならない。また、図72に示すように、更新後
パリティレコ−ド108の作成そのものは、パリティ作
成装置7200が実行する。
【0152】パリティ作成契機b…次に考えられる更新
後パリティレコ−ド108の作成契機は、図73に示す
ように、更新後パリティレコ−ドを作成するために必要
な情報7201の中の最後の情報を、キャッシュ130
8にロ−ドする(7300)契機である。本パリティ作
成契機においては、処理装置から指定されたデ−タレコ
−ドに対する更新値は、すでに、キャッシュに格納され
ていることになる。
後パリティレコ−ド108の作成契機は、図73に示す
ように、更新後パリティレコ−ドを作成するために必要
な情報7201の中の最後の情報を、キャッシュ130
8にロ−ドする(7300)契機である。本パリティ作
成契機においては、処理装置から指定されたデ−タレコ
−ドに対する更新値は、すでに、キャッシュに格納され
ていることになる。
【0153】パリティ作成契機c…第3に考えられる更
新後パリティレコ−ド108の作成契機は、図74に示
すように、更新後パリティレコ−ドを作成するために必
要な情報7201から、パリティレコ−ドの更新値を作
成しながらディスク装置に作成値を書き込むという契機
である。(7400)パリティ作成契機d…最後の考え
方は、図86に示すように、更新後パリティレコ−ド1
08を作成する契機を、制御装置1305のデ−タ転送
処理とは、非同期に行うというものである。
新後パリティレコ−ド108の作成契機は、図74に示
すように、更新後パリティレコ−ドを作成するために必
要な情報7201から、パリティレコ−ドの更新値を作
成しながらディスク装置に作成値を書き込むという契機
である。(7400)パリティ作成契機d…最後の考え
方は、図86に示すように、更新後パリティレコ−ド1
08を作成する契機を、制御装置1305のデ−タ転送
処理とは、非同期に行うというものである。
【0154】まず、本発明の概要を図1を用いて、説明
する。
する。
【0155】制御装置1305は、処理装置1300か
らライト要求を受け取ると、ヒット/ミス判定部h17
00を用い、ディレクトリ1309を参照して、パリテ
ィレコ−ド1501の更新値(更新後パリティレコ−ド
108)を作成するのに必要な情報がキャッシュ130
8に存在するかをチェックする。(1705)この場
合、ライト要求と同期して、パリティレコ−ド1501
の更新値を作成するのに必要な情報を用意しなければな
らない場合、制御装置1305は、まず、同期レコ−ド
ロ−ド部b1702により、必要な情報をキャッシュ1
308にロ−ドする。(1707)次に、制御装置13
05は、同期デ−タライト部m1701を用いて、処理
装置1300から、デ−タレコ−ド1501に対するラ
イトデ−タ1312を受け取る。この場合、ライト要求
に対しては、ライトスル−処理1310、高速ライト処
理1311、高信頼/高速ライト処理1402のどの処
理を適用してもよい。この時、キャッシュ1308内に
パリティレコ−ド1501の更新値を作成するのに必要
な情報が揃っていれば、パリティレコ−ド1501の更
新値の作成を行ってよい。(1706)一方、パリティ
レコ−ド1501の更新値の作成を、パリティ作成部c
1710によって、処理装置1300からのライト要求
を完了させた後、実行してもよい。(1711)パリテ
ィレコ−ド1501の更新値を作成するのに必要な情報
を、処理装置1300からのライト要求とは、非同期に
用意してよい場合、制御装置1305は、非同期レコ−
ドロ−ド部e1703により、必要な情報をキャッシュ
1308にロ−ドする。当該ロ−ド処理により、キャッ
シュ1308内にパリティレコ−ド1501の更新値を
作成するのに必要な情報が揃う契機で、パリティレコ−
ド1501の作成を行ってよい。(1708)この場合
も、パリティレコ−ド1501の更新値の作成を、パリ
ティ作成部c1710によって、キャッシュ1308内
にパリティレコ−ド1501の更新値を作成するのに必
要な情報をロ−ドする処理が完了した後、実行してもよ
い。(1711)制御装置1305は、非同期レコ−ド
ライト部d1704を用いて、パリティレコ−ド150
1の更新値、高速ライト処理1311、高信頼/高速ラ
イト処理1402を適用した場合のデ−タレコ−ド15
00のライトアフタ処理1313を実行する。この時、
パリティレコ−ド1501の更新値を作成するのに必要
な情報から、パリティレコ−ド1501の更新値を作成
しながら、この値をディスク装置1304に書き込んで
もよい。(1709)本発明では、5つの実施例を説明
する。以下、各実施例の内容について説明する。図1
3、図14、および、図17に示した制御装置1305
には、パリティレコ−ド1501を作成する装置を特に
明示しなかったが、以下の実施例では、制御装置130
5はパリティレコ−ドの更新値を作成する装置を含む。
また、図87には、図65から図74までに示した各課
題を解決するための機構と、以下説明する各実施例との
関係をまとめた。
らライト要求を受け取ると、ヒット/ミス判定部h17
00を用い、ディレクトリ1309を参照して、パリテ
ィレコ−ド1501の更新値(更新後パリティレコ−ド
108)を作成するのに必要な情報がキャッシュ130
8に存在するかをチェックする。(1705)この場
合、ライト要求と同期して、パリティレコ−ド1501
の更新値を作成するのに必要な情報を用意しなければな
らない場合、制御装置1305は、まず、同期レコ−ド
ロ−ド部b1702により、必要な情報をキャッシュ1
308にロ−ドする。(1707)次に、制御装置13
05は、同期デ−タライト部m1701を用いて、処理
装置1300から、デ−タレコ−ド1501に対するラ
イトデ−タ1312を受け取る。この場合、ライト要求
に対しては、ライトスル−処理1310、高速ライト処
理1311、高信頼/高速ライト処理1402のどの処
理を適用してもよい。この時、キャッシュ1308内に
パリティレコ−ド1501の更新値を作成するのに必要
な情報が揃っていれば、パリティレコ−ド1501の更
新値の作成を行ってよい。(1706)一方、パリティ
レコ−ド1501の更新値の作成を、パリティ作成部c
1710によって、処理装置1300からのライト要求
を完了させた後、実行してもよい。(1711)パリテ
ィレコ−ド1501の更新値を作成するのに必要な情報
を、処理装置1300からのライト要求とは、非同期に
用意してよい場合、制御装置1305は、非同期レコ−
ドロ−ド部e1703により、必要な情報をキャッシュ
1308にロ−ドする。当該ロ−ド処理により、キャッ
シュ1308内にパリティレコ−ド1501の更新値を
作成するのに必要な情報が揃う契機で、パリティレコ−
ド1501の作成を行ってよい。(1708)この場合
も、パリティレコ−ド1501の更新値の作成を、パリ
ティ作成部c1710によって、キャッシュ1308内
にパリティレコ−ド1501の更新値を作成するのに必
要な情報をロ−ドする処理が完了した後、実行してもよ
い。(1711)制御装置1305は、非同期レコ−ド
ライト部d1704を用いて、パリティレコ−ド150
1の更新値、高速ライト処理1311、高信頼/高速ラ
イト処理1402を適用した場合のデ−タレコ−ド15
00のライトアフタ処理1313を実行する。この時、
パリティレコ−ド1501の更新値を作成するのに必要
な情報から、パリティレコ−ド1501の更新値を作成
しながら、この値をディスク装置1304に書き込んで
もよい。(1709)本発明では、5つの実施例を説明
する。以下、各実施例の内容について説明する。図1
3、図14、および、図17に示した制御装置1305
には、パリティレコ−ド1501を作成する装置を特に
明示しなかったが、以下の実施例では、制御装置130
5はパリティレコ−ドの更新値を作成する装置を含む。
また、図87には、図65から図74までに示した各課
題を解決するための機構と、以下説明する各実施例との
関係をまとめた。
【0156】まず、第1の実施例について説明する。第
1の実施例は、図87に示したように、パリティグル−
プヒット/ミス判定処理a6500と非同期処理a68
00、を組み合わせた内容である。パリティ作成契機に
関しては、すべてのパリティ作成契機、すなわち、パリ
ティ作成契機a、パリティ作成契機b、パリティ作成契
機c、パリティ作成契機dが関係する。
1の実施例は、図87に示したように、パリティグル−
プヒット/ミス判定処理a6500と非同期処理a68
00、を組み合わせた内容である。パリティ作成契機に
関しては、すべてのパリティ作成契機、すなわち、パリ
ティ作成契機a、パリティ作成契機b、パリティ作成契
機c、パリティ作成契機dが関係する。
【0157】したがって、第1の実施例の特長は以下の
ようである。
ようである。
【0158】(1)パリティレコ−ド1501の更新値
(更新後パリティレコ−ド108)を作成するため、パ
リティグル−プヒット/ミス判定処理a6500を用い
る。具体的に用いる情報は、処理装置1300からライ
ト対象として指定されたデ−タレコ−ド1500の更新
前の値(更新前デ−タレコ−ド105)、処理装置13
00から受け取り、デ−タレコ−ド1500に対し書き
込むデ−タ(更新後デ−タレコ−ド106)とパリティ
レコ−ド1501の更新前の値(更新前パリティレコ−
ド107)である。
(更新後パリティレコ−ド108)を作成するため、パ
リティグル−プヒット/ミス判定処理a6500を用い
る。具体的に用いる情報は、処理装置1300からライ
ト対象として指定されたデ−タレコ−ド1500の更新
前の値(更新前デ−タレコ−ド105)、処理装置13
00から受け取り、デ−タレコ−ド1500に対し書き
込むデ−タ(更新後デ−タレコ−ド106)とパリティ
レコ−ド1501の更新前の値(更新前パリティレコ−
ド107)である。
【0159】(2)また、パリティレコ−ド1501の
更新値(更新後パリティレコ−ド108)を作成に伴う
処理の非同期化処理については、非同期処理a6800
を用いる。すなわち、更新後デ−タレコ−ド106をデ
ィスク装置1304に書き込む処理を非同期化しない。
すなわち、ライトスル−動作1310を実行する。
更新値(更新後パリティレコ−ド108)を作成に伴う
処理の非同期化処理については、非同期処理a6800
を用いる。すなわち、更新後デ−タレコ−ド106をデ
ィスク装置1304に書き込む処理を非同期化しない。
すなわち、ライトスル−動作1310を実行する。
【0160】(3)第1の実施例においては、パリティ
作成契機に関して、パリティ作成契機a、パリティ作成
契機b、パリティ作成契機c、パリティ作成契機dをす
べての作成契機が組み合わされる。
作成契機に関して、パリティ作成契機a、パリティ作成
契機b、パリティ作成契機c、パリティ作成契機dをす
べての作成契機が組み合わされる。
【0161】以下、第1の実施例の概要を、図62、図
2を用いて説明する。
2を用いて説明する。
【0162】図62は、第1の実施例において、ライト
対象とするデ−タレコ−ド1500が属するパリティグ
ル−プ1600内のすべての更新前パリティレコ−ド1
07が、キャッシュ1308に存在する場合の制御装置
1305の動作を示したものである。すなわち、図62
は、第1の実施例において、パリティ作成契機として、
図72に示したパリティ作成契機aが用いられた場合
の、制御装置1305の動作を示したものである。
対象とするデ−タレコ−ド1500が属するパリティグ
ル−プ1600内のすべての更新前パリティレコ−ド1
07が、キャッシュ1308に存在する場合の制御装置
1305の動作を示したものである。すなわち、図62
は、第1の実施例において、パリティ作成契機として、
図72に示したパリティ作成契機aが用いられた場合
の、制御装置1305の動作を示したものである。
【0163】この場合、更新後パリティレコ−ド108
の作成契機は、更新後デ−タレコ−ド106を、ディス
ク装置1304に書き込む契機、すなわち、パリティ作
成契機aとなる。具体的には、制御装置1305が、同
期デ−タライト部a101を用いて実行する。(10
9)更新後パリティレコ−ド108そのものの作成は、
パリティ作成装置a104が実行する。
の作成契機は、更新後デ−タレコ−ド106を、ディス
ク装置1304に書き込む契機、すなわち、パリティ作
成契機aとなる。具体的には、制御装置1305が、同
期デ−タライト部a101を用いて実行する。(10
9)更新後パリティレコ−ド108そのものの作成は、
パリティ作成装置a104が実行する。
【0164】更新後パリティレコ−ド108を作成する
際には、更新前デ−タレコ−ド105が必要であるた
め、キャッシュ1308に格納されていない場合、更新
後デ−タレコ−ド106を、ディスク装置1304に書
き込む前に、制御装置1305は、同期デ−タロ−ド部
a102を用いて、キャッシュ1308にロ−ドする。
(110)更新後パリティレコ−ド108は、非同期レ
コ−ドライト部a103を用いて、処理装置1300の
リ−ド/ライト要求とは、非同期に、ディスク装置13
04に書き込む。(111)本実施例では、非同期レコ
−ドライト部a103は、パリティレコ−ド1501を
書き込むが、他の実施例においては、デ−タレコ−ド1
500を書き込む場合もある。
際には、更新前デ−タレコ−ド105が必要であるた
め、キャッシュ1308に格納されていない場合、更新
後デ−タレコ−ド106を、ディスク装置1304に書
き込む前に、制御装置1305は、同期デ−タロ−ド部
a102を用いて、キャッシュ1308にロ−ドする。
(110)更新後パリティレコ−ド108は、非同期レ
コ−ドライト部a103を用いて、処理装置1300の
リ−ド/ライト要求とは、非同期に、ディスク装置13
04に書き込む。(111)本実施例では、非同期レコ
−ドライト部a103は、パリティレコ−ド1501を
書き込むが、他の実施例においては、デ−タレコ−ド1
500を書き込む場合もある。
【0165】図2は、第1の実施例において、ライト対
象とするデ−タレコ−ド1500が属するパリティグル
−プ1600内の更新前パリティレコ−ド107の中
に、キャッシュ1308に存在しないものがある場合の
制御装置1305の動作を示したものである。すなわ
ち、図2は、第1の実施例において、パリティ作成契機
として、図73に示したパリティ作成契機bが用いられ
た場合の、制御装置1305の動作を示したものであ
る。
象とするデ−タレコ−ド1500が属するパリティグル
−プ1600内の更新前パリティレコ−ド107の中
に、キャッシュ1308に存在しないものがある場合の
制御装置1305の動作を示したものである。すなわ
ち、図2は、第1の実施例において、パリティ作成契機
として、図73に示したパリティ作成契機bが用いられ
た場合の、制御装置1305の動作を示したものであ
る。
【0166】制御装置1305は、非同期レコ−ドロ−
ド部a201を用いて、処理装置1300からのリ−ド
/ライト要求とは非同期に、キャッシュ1308に存在
しない更新前パリティレコ−ド107をキャッシュ13
08にロ−ドする。この場合、更新後パリティレコ−ド
108の作成契機は、キャッシュ1308に存在しない
最後の更新前パリティレコ−ド107をキャッシュ13
08にロ−ドした時、すなわち、パリティ作成契機bと
なる。(203)本実施例では、非同期レコ−ドロ−ド
部a201は、パリティレコ−ド1501をロ−ドする
が、他の実施例においては、デ−タレコ−ド1500を
ロ−ドする場合もある。
ド部a201を用いて、処理装置1300からのリ−ド
/ライト要求とは非同期に、キャッシュ1308に存在
しない更新前パリティレコ−ド107をキャッシュ13
08にロ−ドする。この場合、更新後パリティレコ−ド
108の作成契機は、キャッシュ1308に存在しない
最後の更新前パリティレコ−ド107をキャッシュ13
08にロ−ドした時、すなわち、パリティ作成契機bと
なる。(203)本実施例では、非同期レコ−ドロ−ド
部a201は、パリティレコ−ド1501をロ−ドする
が、他の実施例においては、デ−タレコ−ド1500を
ロ−ドする場合もある。
【0167】更新後デ−タレコ−ド106は、図62に
示したように、制御装置1305が、同期デ−タライト
部b200を用いて、ディスク装置1304へ書き込む
が、この契機には、更新後パリティレコ−ド108は作
成しない。(202)同期デ−タロ−ド部a102と非
同期レコ−ドライト部a103の動作は図62の動作と
同様であるため、説明を省略する。
示したように、制御装置1305が、同期デ−タライト
部b200を用いて、ディスク装置1304へ書き込む
が、この契機には、更新後パリティレコ−ド108は作
成しない。(202)同期デ−タロ−ド部a102と非
同期レコ−ドライト部a103の動作は図62の動作と
同様であるため、説明を省略する。
【0168】次に、図62と図2に示した各処理部の詳
細について説明する。
細について説明する。
【0169】まず、ヒット/ミス判定部a100の動作
を説明する。
を説明する。
【0170】図26、および、図27は、ヒット/ミス
判定部a100の処理フロ−である。ヒット/ミス判定
部a100は、3つの実行開始点をもつ。
判定部a100の処理フロ−である。ヒット/ミス判定
部a100は、3つの実行開始点をもつ。
【0171】第1の開始点は、図26に示された開始点
(a)であり、処理装置1300からのライト要求を受
け取った時、実行開始される開始点である。第2の開始
点は、図26に示された開始点(b)であり、同期デ−
タロ−ド部a102の処理が完了した時、実行開始され
る開始点である。第3の開始点は、図27に示した待ち
状態が開放された時の開始点である。まず、図26の処
理フロ−を説明を行う。
(a)であり、処理装置1300からのライト要求を受
け取った時、実行開始される開始点である。第2の開始
点は、図26に示された開始点(b)であり、同期デ−
タロ−ド部a102の処理が完了した時、実行開始され
る開始点である。第3の開始点は、図27に示した待ち
状態が開放された時の開始点である。まず、図26の処
理フロ−を説明を行う。
【0172】まず、制御装置1305は、ライト対象と
なるディスク装置1304が空いているかを、ディスク
装置占有情報2004を見て判断する。ディスク装置が
空いた状態にないとステップ2613へジャンプする。
なるディスク装置1304が空いているかを、ディスク
装置占有情報2004を見て判断する。ディスク装置が
空いた状態にないとステップ2613へジャンプする。
【0173】ディスク装置が空いた状態にあると、制御
装置1305は、ステップ2601で、ディスク装置占
有情報2004を設定し、ライト対象となる更新前デ−
タレコ−ド105のPG管理情報2001を見出す。P
G管理情報2001がなければ、空きPG管理情報キュ
−2400を探索し、新たなPG管理情報2001を割
り当てる。
装置1305は、ステップ2601で、ディスク装置占
有情報2004を設定し、ライト対象となる更新前デ−
タレコ−ド105のPG管理情報2001を見出す。P
G管理情報2001がなければ、空きPG管理情報キュ
−2400を探索し、新たなPG管理情報2001を割
り当てる。
【0174】ステップ2602では、ロック情報220
4を参照し、ライト処理の開始が可能かをチェックす
る。可能であれば、ステップ2603で、ロック情報を
設定する。そうなければ、ステップ2611へジャンプ
する。
4を参照し、ライト処理の開始が可能かをチェックす
る。可能であれば、ステップ2603で、ロック情報を
設定する。そうなければ、ステップ2611へジャンプ
する。
【0175】ステップ2604では、制御装置1305
は、一度処理装置1300との接続を切り離す。
は、一度処理装置1300との接続を切り離す。
【0176】ステップ2605では、制御装置1305
は、更新前デ−タレコ−ド105がキャッシュに存在す
るかをチェックする。存在しない場合、ステップ260
6で、同期デ−タロ−ド部a102をコ−ルし、一度処
理を終了する。
は、更新前デ−タレコ−ド105がキャッシュに存在す
るかをチェックする。存在しない場合、ステップ260
6で、同期デ−タロ−ド部a102をコ−ルし、一度処
理を終了する。
【0177】存在する場合、ステップ2607では、パ
リティグル−プ1600内の更新前パリティレコ−ド1
07の中に、キャッシュ1308に存在しないものがあ
るかをチェックする。すべて存在すれば、ステップ26
10へジャンプする。
リティグル−プ1600内の更新前パリティレコ−ド1
07の中に、キャッシュ1308に存在しないものがあ
るかをチェックする。すべて存在すれば、ステップ26
10へジャンプする。
【0178】存在しないものがあれば、ステップ260
8で、その更新前パリティレコ−ド107に対応するロ
−ド要求ビット2204をオンにする。次に、ステップ
2609では、制御装置1305は、同期デ−タライト
部b102を起動する。この後処理を終了する。
8で、その更新前パリティレコ−ド107に対応するロ
−ド要求ビット2204をオンにする。次に、ステップ
2609では、制御装置1305は、同期デ−タライト
部b102を起動する。この後処理を終了する。
【0179】ステップ2610では、制御装置1305
は、同期デ−タライト部a101を起動する。この後処
理を終了する。
は、同期デ−タライト部a101を起動する。この後処
理を終了する。
【0180】ステップ2611では、制御装置1305
は、ロック待ち状情報2205をセットし、ディスク装
置占有情報2003をリセットする。そして、ステップ
2612で、制御装置1305は、処理装置1300と
の接続関係を一度切り、受け付けたライト要求を待ち状
態にする。
は、ロック待ち状情報2205をセットし、ディスク装
置占有情報2003をリセットする。そして、ステップ
2612で、制御装置1305は、処理装置1300と
の接続関係を一度切り、受け付けたライト要求を待ち状
態にする。
【0181】そして、ステップ2613で、制御装置1
305は、ディスク装置待ち情報2005をセットす
る。この後、ステップ2612にジャンプする。
305は、ディスク装置待ち情報2005をセットす
る。この後、ステップ2612にジャンプする。
【0182】同期ロ−ド転送部a102からの完了報告
を受けると、図26開始(b)の処理から実行に入る。
図26の開始(b)においては、制御装置1305は、
ステップ2607から実行を開始する。ステップ260
7以降の処理はすでに説明したため、以下の説明を省略
する。
を受けると、図26開始(b)の処理から実行に入る。
図26の開始(b)においては、制御装置1305は、
ステップ2607から実行を開始する。ステップ260
7以降の処理はすでに説明したため、以下の説明を省略
する。
【0183】図27は、制御装置1305の待ち状態が
開放された時、実行される処理フロ−である。ステップ
2700では、制御装置1305は、処理装置1300
と接続する。ステップ2701では、制御装置1305
は、処理装置1300に、ライト要求を再発行するよう
に要求する。
開放された時、実行される処理フロ−である。ステップ
2700では、制御装置1305は、処理装置1300
と接続する。ステップ2701では、制御装置1305
は、処理装置1300に、ライト要求を再発行するよう
に要求する。
【0184】図28、および、図29は、同期デ−タロ
−ド部a102の処理フロ−である。図29は、ヒット
ミス判定部a100からコ−ルされた時に実行される処
理フロ−である。図29は、ディスク装置1304の位
置付け処理が完了した時に実行される処理フロ−であ
る。
−ド部a102の処理フロ−である。図29は、ヒット
ミス判定部a100からコ−ルされた時に実行される処
理フロ−である。図29は、ディスク装置1304の位
置付け処理が完了した時に実行される処理フロ−であ
る。
【0185】まず、図28の処理を説明する。
【0186】ステップ2800では、制御装置1305
は、空きセグメントキュ−2400等を探索し、セグメ
ント1800を確保し、更新前セグメントポインタ22
00に設定する。
は、空きセグメントキュ−2400等を探索し、セグメ
ント1800を確保し、更新前セグメントポインタ22
00に設定する。
【0187】ステップ2801では、制御装置1305
は、ディスク装置1304に対する位置付け要求を発行
する。この後、処理を終了する。
は、ディスク装置1304に対する位置付け要求を発行
する。この後、処理を終了する。
【0188】図29は、ディスク装置1304の位置付
け処理が完了した時に実行される。ステップ2900
は、ディスク装置1304上のデ−タレコ−ド1500
を、更新前セグメントポインタ2200で示されたセグ
メント1800に、更新前デ−タレコ−ド105として
ロ−ドする。
け処理が完了した時に実行される。ステップ2900
は、ディスク装置1304上のデ−タレコ−ド1500
を、更新前セグメントポインタ2200で示されたセグ
メント1800に、更新前デ−タレコ−ド105として
ロ−ドする。
【0189】ステップ2901では、制御装置1305
は、ヒットミス判定部a100の図26の開始点bに制
御を移す。
は、ヒットミス判定部a100の図26の開始点bに制
御を移す。
【0190】図30、および、図31は、同期デ−タラ
イト部a101の処理フロ−である。図30は、同期ロ
−ド部a101が、ヒットミス判定部a100からコ−
ルされた時に実行される処理フロ−である。図31は、
ディスク装置1304の位置付け処理が完了した時に実
行される処理フロ−である。
イト部a101の処理フロ−である。図30は、同期ロ
−ド部a101が、ヒットミス判定部a100からコ−
ルされた時に実行される処理フロ−である。図31は、
ディスク装置1304の位置付け処理が完了した時に実
行される処理フロ−である。
【0191】まず、図30の処理を説明する。
【0192】ステップ3000では、制御装置1305
は、更新後デ−タレコ−ド106を格納するためのセグ
メント1800が、確保されていない場合、次の処理を
実行する。すなわち、空きセグメントキュ−2400等
を探索し、セグメント1800を確保し、更新後セグメ
ントポインタ2200に設定する。
は、更新後デ−タレコ−ド106を格納するためのセグ
メント1800が、確保されていない場合、次の処理を
実行する。すなわち、空きセグメントキュ−2400等
を探索し、セグメント1800を確保し、更新後セグメ
ントポインタ2200に設定する。
【0193】ステップ3001では、すべての更新後パ
リティレコ−ド108を格納するためのセグメント18
00が確保されていなければ、以下の処理を実行する。
すなわち、空きセグメントキュ−2400等を探索し、
セグメント1800を確保し、パリティレコ−ド150
1用の更新後セグメントポインタ2200に設定する。
リティレコ−ド108を格納するためのセグメント18
00が確保されていなければ、以下の処理を実行する。
すなわち、空きセグメントキュ−2400等を探索し、
セグメント1800を確保し、パリティレコ−ド150
1用の更新後セグメントポインタ2200に設定する。
【0194】ステップ3002では、制御装置1305
は、ディスク装置1304に対する位置付け要求を発行
する。この後、処理を終了する。
は、ディスク装置1304に対する位置付け要求を発行
する。この後、処理を終了する。
【0195】図31は、ディスク装置1304の位置付
け処理が完了した時に実行される。ステップ3100で
は、制御装置1305は、処理装置1300と再接続を
行う。ステップ3101では、制御装置1305は、処
理装置1300から受け取ったデ−タをディスク装置1
304を書き込むと同時に、さらに、以下の動作を実行
する。
け処理が完了した時に実行される。ステップ3100で
は、制御装置1305は、処理装置1300と再接続を
行う。ステップ3101では、制御装置1305は、処
理装置1300から受け取ったデ−タをディスク装置1
304を書き込むと同時に、さらに、以下の動作を実行
する。
【0196】(1)処理装置1300から受け取ったデ
−タを、更新後デ−タレコ−ド105として、更新後セ
グメントポインタ2201で示されたセグメント300
0に格納する。
−タを、更新後デ−タレコ−ド105として、更新後セ
グメントポインタ2201で示されたセグメント300
0に格納する。
【0197】(2)更新前デ−タレコ−ド105、処理
装置1300から受け取ったデ−タとすべての更新前パ
リティレコ−ド107より、すべての更新後パリティレ
コ−ド108を作成し、対応する更新後セグメントポイ
ンタ2201で示されたセグメント1800に格納す
る。
装置1300から受け取ったデ−タとすべての更新前パ
リティレコ−ド107より、すべての更新後パリティレ
コ−ド108を作成し、対応する更新後セグメントポイ
ンタ2201で示されたセグメント1800に格納す
る。
【0198】ステップ3102では、制御装置1305
では、ライト対象となったデ−タレコ−ド1501に対
応する更新後デ−タレコ−ド106、および、すべての
更新後パリティレコ−ド108を、それぞれ、更新前デ
−タレコ−ド105、更新前パリティレコ−ド107に
切り換える。具体的には、それまで対応する更新前セグ
メントポインタ2200が示していたセグメント180
0を開放し、それまで対応する更新後セグメントポイン
タ2201が示していたセグメント1800を、更新前
セグメントポインタ2200が示すようにする。そし
て、対応する更新後セグメントポインタ2201にはヌ
ル値を設定する。
では、ライト対象となったデ−タレコ−ド1501に対
応する更新後デ−タレコ−ド106、および、すべての
更新後パリティレコ−ド108を、それぞれ、更新前デ
−タレコ−ド105、更新前パリティレコ−ド107に
切り換える。具体的には、それまで対応する更新前セグ
メントポインタ2200が示していたセグメント180
0を開放し、それまで対応する更新後セグメントポイン
タ2201が示していたセグメント1800を、更新前
セグメントポインタ2200が示すようにする。そし
て、対応する更新後セグメントポインタ2201にはヌ
ル値を設定する。
【0199】さらに、制御装置1305は、ステップ3
103で、すべてのパリティレコ−ド1501に対応す
るライトアフタビット2202を設定する。
103で、すべてのパリティレコ−ド1501に対応す
るライトアフタビット2202を設定する。
【0200】この後、ステップ3104で、ロック情報
2204、ディスク装置占有情報2004をリセットす
る。ステップ3105で、制御装置1305は、処理装
置1300は、完了を報告する。
2204、ディスク装置占有情報2004をリセットす
る。ステップ3105で、制御装置1305は、処理装
置1300は、完了を報告する。
【0201】図32、および、図33は、同期デ−タラ
イト部b200の処理フロ−である。図32は、同期デ
−タライト部b200が、ヒットミス判定部a100か
らコ−ルされた時に実行される処理フロ−である。図3
3は、ディスク装置1304の位置付け処理が完了した
時に実行される処理フロ−である。
イト部b200の処理フロ−である。図32は、同期デ
−タライト部b200が、ヒットミス判定部a100か
らコ−ルされた時に実行される処理フロ−である。図3
3は、ディスク装置1304の位置付け処理が完了した
時に実行される処理フロ−である。
【0202】まず、図32の処理を説明する。
【0203】ステップ3200では、制御装置1305
は、更新後デ−タレコ−ド107を格納するためのセグ
メント1800が、確保されていない場合、次の処理を
実行する。すなわち、空きセグメントキュ−2400等
を探索し、セグメント1800を確保し、更新後セグメ
ントポインタ2200に設定する。
は、更新後デ−タレコ−ド107を格納するためのセグ
メント1800が、確保されていない場合、次の処理を
実行する。すなわち、空きセグメントキュ−2400等
を探索し、セグメント1800を確保し、更新後セグメ
ントポインタ2200に設定する。
【0204】ステップ3201では、制御装置1305
は、ディスク装置1304に対する位置付け要求を発行
する。この後、処理を終了する。
は、ディスク装置1304に対する位置付け要求を発行
する。この後、処理を終了する。
【0205】図33は、ディスク装置1304の位置付
け処理が完了した時に実行される。ステップ3300で
は、制御装置1305は、処理装置1300と再接続を
行う。ステップ3301では、制御装置1305は、処
理装置1300から受け取ったデ−タをディスク装置1
304を書き込むと同時に、さらに、以下の動作を実行
する。すなわち、処理装置1300から受け取ったデ−
タを、更新後デ−タレコ−ド105として、更新後セグ
メントポインタ2201で示されたセグメント1800
に格納する。
け処理が完了した時に実行される。ステップ3300で
は、制御装置1305は、処理装置1300と再接続を
行う。ステップ3301では、制御装置1305は、処
理装置1300から受け取ったデ−タをディスク装置1
304を書き込むと同時に、さらに、以下の動作を実行
する。すなわち、処理装置1300から受け取ったデ−
タを、更新後デ−タレコ−ド105として、更新後セグ
メントポインタ2201で示されたセグメント1800
に格納する。
【0206】処理装置1300からあるデ−タレコ−ド
1500に対し、ライト要求を受け付けた時、キャッシ
ュ1308内に、更新後デ−タレコ−ド105と更新前
デ−タレコ−ド106の双方が格納されている場合があ
る。これを、図63と図64に示す。すなわち、この前
にそのデ−タレコ−ドにライト要求、すなわち、前回ラ
イト要求6300を受け付けたとき、更新前パリティレ
コ−ド107の中にキャッシュ1308にロ−ドされて
いないもの(パリティレコ−ドa6301)があったと
する。この場合、前回ライト要求6300で受け付けた
ライトデ−タを更新後デ−タレコ−ドa6303とし
て、キャッシュ1308に格納する。更新前デ−タレコ
−ドa6302は、さらに以前のライト要求で受け付け
たライトデ−タに相当する。この場合、更新後デ−タレ
コ−ドa6303(デ−タ内容B)を反映したパリティ
レコ−ド1501の更新値を作成していないため、ディ
スク装置1304上パリティレコ−ドa6301のデ−
タ内容Cは、明らかに、更新前デ−タレコ−ドa630
2(デ−タ内容A)の内容から作成されていることにな
る。
1500に対し、ライト要求を受け付けた時、キャッシ
ュ1308内に、更新後デ−タレコ−ド105と更新前
デ−タレコ−ド106の双方が格納されている場合があ
る。これを、図63と図64に示す。すなわち、この前
にそのデ−タレコ−ドにライト要求、すなわち、前回ラ
イト要求6300を受け付けたとき、更新前パリティレ
コ−ド107の中にキャッシュ1308にロ−ドされて
いないもの(パリティレコ−ドa6301)があったと
する。この場合、前回ライト要求6300で受け付けた
ライトデ−タを更新後デ−タレコ−ドa6303とし
て、キャッシュ1308に格納する。更新前デ−タレコ
−ドa6302は、さらに以前のライト要求で受け付け
たライトデ−タに相当する。この場合、更新後デ−タレ
コ−ドa6303(デ−タ内容B)を反映したパリティ
レコ−ド1501の更新値を作成していないため、ディ
スク装置1304上パリティレコ−ドa6301のデ−
タ内容Cは、明らかに、更新前デ−タレコ−ドa630
2(デ−タ内容A)の内容から作成されていることにな
る。
【0207】図64は、以上のような状況で、更新前パ
リティレコ−ド107をロ−ド処理を行おうとした所、
その処理の開始する前に、同じデ−タレコ−ド1500
にライト要求、すなわち、今回のライト要求6400を
受け付けた場合である。この時、今回のライト要求64
00で受け付けたデ−タを反映したパリティレコ−ド1
501の更新値を作成するためには、更新前デ−タレコ
−ドa6302(デ−タ内容A)を作成した時のデ−タ
レコ−ド1500の値、すなわち、パリティレコ−ド1
501の値を作成した時に用いたデ−タレコ−ド150
0の値、すなわち、更新前デ−タレコ−ドa6302
(デ−タ内容A)が必要となる。したがって、図64に
示すように、更新前デ−タレコ−ドa6302をキャッ
シュ1309内にそれまでどおり保持し、今回のライト
要求6400で受け付けたライトデ−タを、更新後デ−
タレコ−ドb6401(デ−タ内容D)をキャッシュ1
308に格納する。
リティレコ−ド107をロ−ド処理を行おうとした所、
その処理の開始する前に、同じデ−タレコ−ド1500
にライト要求、すなわち、今回のライト要求6400を
受け付けた場合である。この時、今回のライト要求64
00で受け付けたデ−タを反映したパリティレコ−ド1
501の更新値を作成するためには、更新前デ−タレコ
−ドa6302(デ−タ内容A)を作成した時のデ−タ
レコ−ド1500の値、すなわち、パリティレコ−ド1
501の値を作成した時に用いたデ−タレコ−ド150
0の値、すなわち、更新前デ−タレコ−ドa6302
(デ−タ内容A)が必要となる。したがって、図64に
示すように、更新前デ−タレコ−ドa6302をキャッ
シュ1309内にそれまでどおり保持し、今回のライト
要求6400で受け付けたライトデ−タを、更新後デ−
タレコ−ドb6401(デ−タ内容D)をキャッシュ1
308に格納する。
【0208】以上より、ステップ3301では、更新前
デ−タレコ−ド107の方をキャッシュ1308に保持
して、それまで更新後デ−タレコ−ド108を格納して
いたセグメント1800(更新前デ−タレコ−ドa63
02に相当)更新後ポインタ2201で示したセグメン
ト1800に受け付けたライトデ−タ(更新後デ−タレ
コ−ドb6401に相当)を格納する。
デ−タレコ−ド107の方をキャッシュ1308に保持
して、それまで更新後デ−タレコ−ド108を格納して
いたセグメント1800(更新前デ−タレコ−ドa63
02に相当)更新後ポインタ2201で示したセグメン
ト1800に受け付けたライトデ−タ(更新後デ−タレ
コ−ドb6401に相当)を格納する。
【0209】ステップ3302では、キャッシュ130
8にロ−ドされていない更新前パリティレコ−ド107
に対応するロ−ド要求ビット2203をオンにする。
8にロ−ドされていない更新前パリティレコ−ド107
に対応するロ−ド要求ビット2203をオンにする。
【0210】ステップ3303では、ロック情報220
4、ディスク装置占有情報2004をリセットする。
4、ディスク装置占有情報2004をリセットする。
【0211】この後、ステップ3304で、制御装置1
305は、処理装置1300に、完了を報告する。
305は、処理装置1300に、完了を報告する。
【0212】図34、および、図35は非同期レコ−ド
ロ−ド部a201の処理フロ−である。図34は、制御
装置1305の空いた時間を利用して実行される処理で
ある。図35は、ディスク装置1304からの位置付け
処理が完了した時に実行される処理フロ−である。
ロ−ド部a201の処理フロ−である。図34は、制御
装置1305の空いた時間を利用して実行される処理で
ある。図35は、ディスク装置1304からの位置付け
処理が完了した時に実行される処理フロ−である。
【0213】ステップ3400で、制御装置1305
は、デイスク装置占有情報2004を参照して、空いた
状態にあるディスク装置1304を見出す。
は、デイスク装置占有情報2004を参照して、空いた
状態にあるディスク装置1304を見出す。
【0214】ステップ3401では、制御装置1305
は、見出したディスク装置1304の中で、ロ−ド要求
ビット2203がオンのレコ−ド1502をもち、か
つ、ロック情報2204がオフのPG管理情報2001
を見出す。そして、制御装置1305はロック情報22
04をオンにする。
は、見出したディスク装置1304の中で、ロ−ド要求
ビット2203がオンのレコ−ド1502をもち、か
つ、ロック情報2204がオフのPG管理情報2001
を見出す。そして、制御装置1305はロック情報22
04をオンにする。
【0215】次に、制御装置1305は、見出したレコ
−ド1502のロ−ド処理を行うことを決定し、ステッ
プ3402で、セグメント1800を確保し、ロ−ドす
るパリティレコ−ド1501に対応する更新前セグメン
トポインタ2200に設定する。
−ド1502のロ−ド処理を行うことを決定し、ステッ
プ3402で、セグメント1800を確保し、ロ−ドす
るパリティレコ−ド1501に対応する更新前セグメン
トポインタ2200に設定する。
【0216】ステップ3403では、ディスク装置13
04に位置付け要求を発行する。
04に位置付け要求を発行する。
【0217】図35では、制御装置1305は、まず、
このレコ−ド1502のロ−ド処理によって、PG管理
情報2001内のロ−ド要求ビット2203がすべてオ
フになるかをチェックする。
このレコ−ド1502のロ−ド処理によって、PG管理
情報2001内のロ−ド要求ビット2203がすべてオ
フになるかをチェックする。
【0218】そうであれば、ステップ3502へジャン
プする。そうでなければ、制御装置1305は、ステッ
プ3501で、レコ−ド1502を更新前パリティレコ
−ド107として、対応する更新前セグメントポインタ
2200が示すセグメント1800にロ−ドし、ステッ
プ3507にジャンプする。 当該ロ−ド処理により、
PG管理情報2001内のロ−ド要求ビット2203が
すべてオフになる場合、この契機で、すべてのパリティ
レコ−ド1501の更新後パリティレコ−ド108を作
成する。ステップ3502では、制御装置1305は、
このためのセグメント1800を確保し、各パリティレ
コ−ド1501に対応する更新後セグメントポインタ2
201にポインタを設定する。
プする。そうでなければ、制御装置1305は、ステッ
プ3501で、レコ−ド1502を更新前パリティレコ
−ド107として、対応する更新前セグメントポインタ
2200が示すセグメント1800にロ−ドし、ステッ
プ3507にジャンプする。 当該ロ−ド処理により、
PG管理情報2001内のロ−ド要求ビット2203が
すべてオフになる場合、この契機で、すべてのパリティ
レコ−ド1501の更新後パリティレコ−ド108を作
成する。ステップ3502では、制御装置1305は、
このためのセグメント1800を確保し、各パリティレ
コ−ド1501に対応する更新後セグメントポインタ2
201にポインタを設定する。
【0219】ステップ3503では、制御装置1305
は、当該パリティグル−プ1600のデ−タレコ−ド1
500の中で、更新値をパリティグレコ−ド1501に
反映していないすべてのデ−タレコ−ド1500を探
す。具体的には、更新前デ−タレコ−ド105と更新後
デ−タレコ−ド106の内容をペアでキャッシュ内に保
有しているデ−タレコ−ド、すなわち、更新前セグメン
トポインタ2200と更新後セグメントポインタ220
1がともにヌル値でないペアを探す。さらに、すべての
更新前パリティレコ−ド107を探す。(したがって、
当該ロ−ド処理が、デ−タレコ−ド1500、パリティ
レコ−ド1500、いずれのロ−ド処理であれ、当該ロ
−ド処理でロ−ドされるレコ−ド1500はパリティレ
コ−ド1501の作成に使用されることになる。)ステ
ップ3504では、当該レコ−ド1501を、対応する
更新前セグメントポインタ2200が示すセグメント1
800にロ−ドしながら、以下の操作を実行する。すな
わち、パリティ作成装置a109により、ステップ35
03で、見出した更新前デ−タレコ−ド105と更新後
デ−タレコ−ド106とすべての更新前パリティレコ−
ド107より、すべてのパリティレコ−ド1501の更
新後パリティレコ−ド108を作成する。作成した更新
後パリティレコ−ド108は、対応する更新後セグメン
トポインタ2201が示すセグメント1800に格納す
る。
は、当該パリティグル−プ1600のデ−タレコ−ド1
500の中で、更新値をパリティグレコ−ド1501に
反映していないすべてのデ−タレコ−ド1500を探
す。具体的には、更新前デ−タレコ−ド105と更新後
デ−タレコ−ド106の内容をペアでキャッシュ内に保
有しているデ−タレコ−ド、すなわち、更新前セグメン
トポインタ2200と更新後セグメントポインタ220
1がともにヌル値でないペアを探す。さらに、すべての
更新前パリティレコ−ド107を探す。(したがって、
当該ロ−ド処理が、デ−タレコ−ド1500、パリティ
レコ−ド1500、いずれのロ−ド処理であれ、当該ロ
−ド処理でロ−ドされるレコ−ド1500はパリティレ
コ−ド1501の作成に使用されることになる。)ステ
ップ3504では、当該レコ−ド1501を、対応する
更新前セグメントポインタ2200が示すセグメント1
800にロ−ドしながら、以下の操作を実行する。すな
わち、パリティ作成装置a109により、ステップ35
03で、見出した更新前デ−タレコ−ド105と更新後
デ−タレコ−ド106とすべての更新前パリティレコ−
ド107より、すべてのパリティレコ−ド1501の更
新後パリティレコ−ド108を作成する。作成した更新
後パリティレコ−ド108は、対応する更新後セグメン
トポインタ2201が示すセグメント1800に格納す
る。
【0220】ステップ3505では、制御装置1305
は、ライト対象となったデ−タレコ−ド1501に対応
する更新後デ−タレコ−ド106、および、すべての更
新後パリティレコ−ド108を、それぞれ、更新前デ−
タレコ−ド105、更新前パリティレコ−ド107に切
り換える。具体的な処理内容は、ステップ3102で説
明したため、ここでは省略する。
は、ライト対象となったデ−タレコ−ド1501に対応
する更新後デ−タレコ−ド106、および、すべての更
新後パリティレコ−ド108を、それぞれ、更新前デ−
タレコ−ド105、更新前パリティレコ−ド107に切
り換える。具体的な処理内容は、ステップ3102で説
明したため、ここでは省略する。
【0221】さらに、制御装置1305は、ステップ3
506で、すべてのパリティレコ−ド1501に対応す
るライトアフタビット2202を設定する。
506で、すべてのパリティレコ−ド1501に対応す
るライトアフタビット2202を設定する。
【0222】最後に、ステップ3507で、当該パリテ
ィレコ−ド1501に対応するロ−ド要求ビット220
3をオフにする。さらに、ロック情報2204、ディス
ク装置占有情報2004をリセットする。
ィレコ−ド1501に対応するロ−ド要求ビット220
3をオフにする。さらに、ロック情報2204、ディス
ク装置占有情報2004をリセットする。
【0223】最後に、ステップ3508で、ディスク装
置待ち情報2005、ロック待ち情報2205をリセッ
トし、待ち状態になっている処理装置からのリ−ド/ラ
イト要求を解放する。この後、処理を終了する。
置待ち情報2005、ロック待ち情報2205をリセッ
トし、待ち状態になっている処理装置からのリ−ド/ラ
イト要求を解放する。この後、処理を終了する。
【0224】図36と図37は、非同期レコ−ドライト
部a104の処理フロ−である。図36は、制御装置1
305の空いた時間を利用して実行される処理である。
図37は、ディスク装置1304からの位置付け処理が
完了した時に実行される処理フロ−である。
部a104の処理フロ−である。図36は、制御装置1
305の空いた時間を利用して実行される処理である。
図37は、ディスク装置1304からの位置付け処理が
完了した時に実行される処理フロ−である。
【0225】ステップ3600で、制御装置1305
は、デイスク装置占有情報2004を参照して、空いた
状態にあるディスク装置1304を見出す。
は、デイスク装置占有情報2004を参照して、空いた
状態にあるディスク装置1304を見出す。
【0226】ステップ3601では、制御装置1305
は、見出したディスク装置1304の中で、ライトアフ
タビット2202がオンで、ロ−ド要求ビット2202
がオフのレコ−ド1502をもち、かつ、ロック情報2
204がオフのPG管理情報2001を見出す。そし
て、制御装置1305は、ロック情報2204をオンに
する。
は、見出したディスク装置1304の中で、ライトアフ
タビット2202がオンで、ロ−ド要求ビット2202
がオフのレコ−ド1502をもち、かつ、ロック情報2
204がオフのPG管理情報2001を見出す。そし
て、制御装置1305は、ロック情報2204をオンに
する。
【0227】制御装置1305は、ステップ3602
で、見出したレコ−ド1502のライトアフタ処理を行
うことを決定し、ディスク装置1304に位置付け要求
を発行する。
で、見出したレコ−ド1502のライトアフタ処理を行
うことを決定し、ディスク装置1304に位置付け要求
を発行する。
【0228】図37では、制御装置1305は、ステッ
プ3700で、当該レコ−ド1502に対応する更新前
セグメントポインタ2200と更新後セグメントポイン
タ2201を参照する。双方のポインタがヌル値でない
場合、更新後セグメントポインタ2201が示すセグメ
ント1800内のデ−タをディスク装置1304に書き
込む。更新後セグメントポインタ2201がヌル値の場
合、更新前セグメントポインタ2200が示すセグメン
ト1800内のデ−タをディスク装置1304に書き込
む。(更新前セグメントポインタ2200と更新後セグ
メントポインタ2201ともにヌル値でない場合、最近
受け付けた更新後セグメントポインタ2201が示すセ
グメント1800内のデ−タをディスク装置1304を
書き込む。)ステップ3701では、対応するライトア
フタビット2202をオフする。さらに、ロック情報2
204、ディスク装置占有情報2004をリセットす
る。
プ3700で、当該レコ−ド1502に対応する更新前
セグメントポインタ2200と更新後セグメントポイン
タ2201を参照する。双方のポインタがヌル値でない
場合、更新後セグメントポインタ2201が示すセグメ
ント1800内のデ−タをディスク装置1304に書き
込む。更新後セグメントポインタ2201がヌル値の場
合、更新前セグメントポインタ2200が示すセグメン
ト1800内のデ−タをディスク装置1304に書き込
む。(更新前セグメントポインタ2200と更新後セグ
メントポインタ2201ともにヌル値でない場合、最近
受け付けた更新後セグメントポインタ2201が示すセ
グメント1800内のデ−タをディスク装置1304を
書き込む。)ステップ3701では、対応するライトア
フタビット2202をオフする。さらに、ロック情報2
204、ディスク装置占有情報2004をリセットす
る。
【0229】最後に、ステップ3702で、ディスク装
置待ち情報2005、ロック待ち情報2205をリセッ
トし、待ち状態になっている処理装置からのリ−ド/ラ
イト要求を解放する。この後、処理を終了する。
置待ち情報2005、ロック待ち情報2205をリセッ
トし、待ち状態になっている処理装置からのリ−ド/ラ
イト要求を解放する。この後、処理を終了する。
【0230】図3は、第1の実施例の別の実現方法であ
る。図1、図2で示した内容との相違は、更新後パリテ
ィレコ−ド108を作成する契機が、更新後パリティレ
コ−ド108そのものをディスク装置1304に書き込
む契機であるという点である。すなわち、図3は、第1
の実施例において、パリティ作成契機として、図74に
示したパリティ作成契機cが用いられた場合の、制御装
置1305の動作を示したものである。
る。図1、図2で示した内容との相違は、更新後パリテ
ィレコ−ド108を作成する契機が、更新後パリティレ
コ−ド108そのものをディスク装置1304に書き込
む契機であるという点である。すなわち、図3は、第1
の実施例において、パリティ作成契機として、図74に
示したパリティ作成契機cが用いられた場合の、制御装
置1305の動作を示したものである。
【0231】図3に示すように、非同期レコ−ドライト
部b303により、更新前デ−タレコ−ド105、更新
後デ−タレコ−ド106、更新前パリティレコ−ド10
7から、パリティ作成装置a104から更新後デ−タレ
コ−ド108を作成しながら、これをディスク装置13
04に書き込む。
部b303により、更新前デ−タレコ−ド105、更新
後デ−タレコ−ド106、更新前パリティレコ−ド10
7から、パリティ作成装置a104から更新後デ−タレ
コ−ド108を作成しながら、これをディスク装置13
04に書き込む。
【0232】したがって、図3に示したように、同期デ
−タライト部c301と非同期レコ−ドロ−ド部b30
2には、更新後パリティレコ−ド108を作成する機能
はない。
−タライト部c301と非同期レコ−ドロ−ド部b30
2には、更新後パリティレコ−ド108を作成する機能
はない。
【0233】以下、詳細な動作を説明する。
【0234】図38は、ヒットミス判定部b300の処
理フロ−図である。ヒット/ミス判定部b300は、3
つの実行開始点をもつ。
理フロ−図である。ヒット/ミス判定部b300は、3
つの実行開始点をもつ。
【0235】第1の開始点は、図38に示された開始点
aであり、処理装置1300からのライト要求を受け取
った時、実行される開始点である。第2の開始点は、図
38に示された開始点bであり、同期デ−タロ−ド部a
102の処理が完了した時、実行される開始点である。
ただし、第3の開始点は、待ち状態が開放された時の開
始点であり、図27に示したヒットミス判定部a100
の処理フロ−と同様となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図38の説明
を行う。図38に示したヒットミス判定b300の処理
フロ−は、ヒットミス判定部a100の図26の処理フ
ロ−に相当する。したがって、図26との相違について
説明する。図38の中で、図26と同様のステップ番号
の処理は、図26の処理と同様である。
aであり、処理装置1300からのライト要求を受け取
った時、実行される開始点である。第2の開始点は、図
38に示された開始点bであり、同期デ−タロ−ド部a
102の処理が完了した時、実行される開始点である。
ただし、第3の開始点は、待ち状態が開放された時の開
始点であり、図27に示したヒットミス判定部a100
の処理フロ−と同様となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図38の説明
を行う。図38に示したヒットミス判定b300の処理
フロ−は、ヒットミス判定部a100の図26の処理フ
ロ−に相当する。したがって、図26との相違について
説明する。図38の中で、図26と同様のステップ番号
の処理は、図26の処理と同様である。
【0236】更新前デ−タレコ−ド105がキャッシュ
1308に格納された後、ヒットミス判定部b300に
おいては、必ず、ステップ3800で、同期デ−タライ
ト部c301を起動する処理を実行される。以上の処理
以外は、図38の処理フロ−は、図26の処理フロ−に
含まれることになる。
1308に格納された後、ヒットミス判定部b300に
おいては、必ず、ステップ3800で、同期デ−タライ
ト部c301を起動する処理を実行される。以上の処理
以外は、図38の処理フロ−は、図26の処理フロ−に
含まれることになる。
【0237】図39は、同期デ−タライト部c301
が、ディスク装置1304の位置付け処理が完了した時
に実行される処理フロ−である。ヒットミス判定部b3
00からコ−ルされた時に実行される処理フロ−は、図
32に示した処理フロ−であるため、ここでの説明を省
略する。以下、図39の説明を行う。図39に示した同
期デ−タライト部c301の処理フロ−は、同期デ−タ
ライト部b200の図33の処理フロ−に相当する。し
たがって、図33との相違について説明する。図39の
中で、図33と同様のステップ番号の処理は、図33の
処理と同様である。ステップ3900で、制御装置13
05は、すべての更新前パリティレコ−ド107が、キ
ャッシュ1308内に格納されているかをチェックす
る。そうでなければ、ステップ3303へジャンプす
る。そうであれば、ステップ3901で、制御装置13
05は、すべての更新前パリティレコ−ド107に対応
するライトアフタビット2202をオンにする。この
後、ステップ3303へジャンプする。これ以外の図3
9の処理は、図33に含まれるため、説明を省略する。
が、ディスク装置1304の位置付け処理が完了した時
に実行される処理フロ−である。ヒットミス判定部b3
00からコ−ルされた時に実行される処理フロ−は、図
32に示した処理フロ−であるため、ここでの説明を省
略する。以下、図39の説明を行う。図39に示した同
期デ−タライト部c301の処理フロ−は、同期デ−タ
ライト部b200の図33の処理フロ−に相当する。し
たがって、図33との相違について説明する。図39の
中で、図33と同様のステップ番号の処理は、図33の
処理と同様である。ステップ3900で、制御装置13
05は、すべての更新前パリティレコ−ド107が、キ
ャッシュ1308内に格納されているかをチェックす
る。そうでなければ、ステップ3303へジャンプす
る。そうであれば、ステップ3901で、制御装置13
05は、すべての更新前パリティレコ−ド107に対応
するライトアフタビット2202をオンにする。この
後、ステップ3303へジャンプする。これ以外の図3
9の処理は、図33に含まれるため、説明を省略する。
【0238】図40は、非同期レコ−ドロ−ド部b30
2が、ディスク装置1304の位置付け処理が完了した
時に実行される処理フロ−である。制御装置1305の
空いた時間を利用して実行する処理処理フロ−は、図3
4に示した処理フロ−であるため、ここでの説明を省略
する。以下、図40の説明を行う。図40に示した非同
期レコ−ドロ−ド部b302の処理フロ−は、非同期レ
コ−ドロ−ド部a103の図35の処理フロ−に相当す
る。図40の処理フロ−は、図35に示した処理フロ−
に含まれる。これは、図40では、更新後パリティレコ
−ド108を作成する処理を含まない点以外は、図35
の処理と同様であるためである。図40の内の各ステッ
プの処理はすでに説明したため、ここでの説明は省略す
る。
2が、ディスク装置1304の位置付け処理が完了した
時に実行される処理フロ−である。制御装置1305の
空いた時間を利用して実行する処理処理フロ−は、図3
4に示した処理フロ−であるため、ここでの説明を省略
する。以下、図40の説明を行う。図40に示した非同
期レコ−ドロ−ド部b302の処理フロ−は、非同期レ
コ−ドロ−ド部a103の図35の処理フロ−に相当す
る。図40の処理フロ−は、図35に示した処理フロ−
に含まれる。これは、図40では、更新後パリティレコ
−ド108を作成する処理を含まない点以外は、図35
の処理と同様であるためである。図40の内の各ステッ
プの処理はすでに説明したため、ここでの説明は省略す
る。
【0239】図41と図42は、非同期レコ−ドライト
部b302の処理フロ−である。図41は、制御装置1
305の空いた時間を利用して実行する処理処理フロ−
である。図42は、ディスク装置1304の位置付け処
理が完了した時に実行される処理フロ−である。以下、
図41の説明を行う。図41は、図36に対応する処理
フロ−である。したがって、図36との相違について説
明する。図41の中で、図36と同様のステップ番号の
処理は、図36の処理と同様である。
部b302の処理フロ−である。図41は、制御装置1
305の空いた時間を利用して実行する処理処理フロ−
である。図42は、ディスク装置1304の位置付け処
理が完了した時に実行される処理フロ−である。以下、
図41の説明を行う。図41は、図36に対応する処理
フロ−である。したがって、図36との相違について説
明する。図41の中で、図36と同様のステップ番号の
処理は、図36の処理と同様である。
【0240】ステップ4100では、ライトするレコ−
ド1502が、デ−タレコ−ド1501かパリティレコ
−ド1501であるかどうかを判断する。
ド1502が、デ−タレコ−ド1501かパリティレコ
−ド1501であるかどうかを判断する。
【0241】ライトするレコ−ドが、パリティレコ−ド
1501の場合、ステップ4101で、制御装置130
5は、更新後パリティレコ−ド108を格納するための
セグメント1800を確保する。そして、対応する更新
後セグメントポインタ2201にそのポインタを設定す
る。これ以外の点は、図41の処理フロ−は、図36の
処理フロ−と同様である。
1501の場合、ステップ4101で、制御装置130
5は、更新後パリティレコ−ド108を格納するための
セグメント1800を確保する。そして、対応する更新
後セグメントポインタ2201にそのポインタを設定す
る。これ以外の点は、図41の処理フロ−は、図36の
処理フロ−と同様である。
【0242】図42は、図37に対応する処理フロ−で
ある。したがって、図37との相違について説明する。
図42の中で、図37と同様のステップ番号の処理は、
図37の処理と同様である。以下、図42の説明を行
う。
ある。したがって、図37との相違について説明する。
図42の中で、図37と同様のステップ番号の処理は、
図37の処理と同様である。以下、図42の説明を行
う。
【0243】図42においては、まず、制御装置130
5は、以下の処理を実行する。
5は、以下の処理を実行する。
【0244】まず、ステップ4200で、ライトするレ
コ−ド1502が、デ−タレコ−ド1501かパリティ
レコ−ド1501であるかどうかを判断する。
コ−ド1502が、デ−タレコ−ド1501かパリティ
レコ−ド1501であるかどうかを判断する。
【0245】デ−タレコ−ド1500の場合、ステップ
3700で示した処理を実行する。
3700で示した処理を実行する。
【0246】パリティレコ−ド1501の場合、以下の
処理を実行する。すなわち、まず、ステップ4201に
おいて、更新後デ−タレコ−ド106、更新前パリティ
レコ−ド107から、パリティ作成装置a104から更
新後デ−タレコ−ド107を作成しながら、これをディ
スク装置1304に書き込む。さらに、この値を対応す
る更新後セグメントポインタ2201が示すセグメント
1800に格納する。ステップ4202では、すべての
ライトアフタビット2201がオフであるかをチェック
する。そうなければ、処理を終了する。
処理を実行する。すなわち、まず、ステップ4201に
おいて、更新後デ−タレコ−ド106、更新前パリティ
レコ−ド107から、パリティ作成装置a104から更
新後デ−タレコ−ド107を作成しながら、これをディ
スク装置1304に書き込む。さらに、この値を対応す
る更新後セグメントポインタ2201が示すセグメント
1800に格納する。ステップ4202では、すべての
ライトアフタビット2201がオフであるかをチェック
する。そうなければ、処理を終了する。
【0247】そうであれば、ステップ4203で、制御
装置1305は、ライト対象となったデ−タレコ−ド1
501に対応する更新後デ−タレコ−ド106、およ
び、すべての更新後パリティレコ−ド108を、それぞ
れ、更新前デ−タレコ−ド105、更新前パリティレコ
−ド107に切り換える。具体的な処理内容は、ステッ
プ3102で説明したため、ここでは省略する。これ以
外の点は、図42の処理フロ−は、図37の処理フロ−
と同様である。
装置1305は、ライト対象となったデ−タレコ−ド1
501に対応する更新後デ−タレコ−ド106、およ
び、すべての更新後パリティレコ−ド108を、それぞ
れ、更新前デ−タレコ−ド105、更新前パリティレコ
−ド107に切り換える。具体的な処理内容は、ステッ
プ3102で説明したため、ここでは省略する。これ以
外の点は、図42の処理フロ−は、図37の処理フロ−
と同様である。
【0248】図75は、第1の実施例の別の実現方法で
ある。図75の特徴は、更新後パリティレコ−ド108
を作成する契機が、制御装置1305のデ−タ転送処理
とは、非同期化している点である。すなわち、図75
は、第1の実施例において、パリティ作成契機として、
図86に示したパリティ作成契機dが用いられた場合
の、制御装置1305の動作を示したものである。
ある。図75の特徴は、更新後パリティレコ−ド108
を作成する契機が、制御装置1305のデ−タ転送処理
とは、非同期化している点である。すなわち、図75
は、第1の実施例において、パリティ作成契機として、
図86に示したパリティ作成契機dが用いられた場合
の、制御装置1305の動作を示したものである。
【0249】図75に示すように、制御装置1305
は、パリティ作成部a7501を用いて、更新前デ−タ
レコ−ド105、更新後デ−タレコ−ド106、更新前
パリティレコ−ド107から、更新後パリティレコ−ド
108を作成する。(7504)以下、詳細な動作を説
明する。ただし、ヒット/ミス判定部j7500以外の
各処理部の説明はすでに行っているため、説明を省略す
る。
は、パリティ作成部a7501を用いて、更新前デ−タ
レコ−ド105、更新後デ−タレコ−ド106、更新前
パリティレコ−ド107から、更新後パリティレコ−ド
108を作成する。(7504)以下、詳細な動作を説
明する。ただし、ヒット/ミス判定部j7500以外の
各処理部の説明はすでに行っているため、説明を省略す
る。
【0250】図79は、図75のヒットミス判定部j7
500の処理フロ−図である。ヒット/ミス判定部j7
500は、3つの実行開始点をもつ。
500の処理フロ−図である。ヒット/ミス判定部j7
500は、3つの実行開始点をもつ。
【0251】第1の開始点は、図79に示された開始点
aであり、処理装置1300からのライト要求を受け取
った時、実行される開始点である。第2の開始点は、図
79に示された開始点bであり、同期デ−タロ−ド部a
102の処理が完了した時、実行される開始点である。
ただし、第3の開始点は、待ち状態が開放された時の開
始点であり、図27に示したヒットミス判定部a100
の処理フロ−と同様となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図79の説明
を行う。図79に示したヒットミス判定j7500の処
理フロ−は、ヒットミス判定部a100の図26の処理
フロ−に相当する。したがって、図26との相違につい
て説明する。図79の中で、図26と同様のステップ番
号の処理は、図26の処理と同様である。
aであり、処理装置1300からのライト要求を受け取
った時、実行される開始点である。第2の開始点は、図
79に示された開始点bであり、同期デ−タロ−ド部a
102の処理が完了した時、実行される開始点である。
ただし、第3の開始点は、待ち状態が開放された時の開
始点であり、図27に示したヒットミス判定部a100
の処理フロ−と同様となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図79の説明
を行う。図79に示したヒットミス判定j7500の処
理フロ−は、ヒットミス判定部a100の図26の処理
フロ−に相当する。したがって、図26との相違につい
て説明する。図79の中で、図26と同様のステップ番
号の処理は、図26の処理と同様である。
【0252】図79の処理フロ−では、制御装置130
5は、ステップ2607で、更新前パリティレコ−ド1
07の中にキャッシュ1308に存在しないものがある
かを、チェックする。すべて存在する場合、ステップ7
900で、パリティ作成ビット2206をオンにする。
この後、ステップ2609へジャンプする。以上の処理
以外は、図79の処理フロ−は、図26の処理フロ−に
含まれることになる。図83は、図75の非同期レコ−
ドロ−ド部f7502が、ディスク装置1304の位置
付け処理が完了した時に実行される処理フロ−である。
制御装置1305の空いた時間を利用して実行する処理
処理フロ−は、図34に示した処理フロ−そのものであ
るため、ここでの説明を省略する。以下、図83の説明
を行う。図83に示した非同期レコ−ドロ−ド部f75
02の処理フロ−は、非同期レコ−ドロ−ド部a103
の図35の処理フロ−に相当する。したがって、図35
との相違について説明する。図83の中で、図35と同
様のステップ番号の処理は、図35の処理と同様であ
る。
5は、ステップ2607で、更新前パリティレコ−ド1
07の中にキャッシュ1308に存在しないものがある
かを、チェックする。すべて存在する場合、ステップ7
900で、パリティ作成ビット2206をオンにする。
この後、ステップ2609へジャンプする。以上の処理
以外は、図79の処理フロ−は、図26の処理フロ−に
含まれることになる。図83は、図75の非同期レコ−
ドロ−ド部f7502が、ディスク装置1304の位置
付け処理が完了した時に実行される処理フロ−である。
制御装置1305の空いた時間を利用して実行する処理
処理フロ−は、図34に示した処理フロ−そのものであ
るため、ここでの説明を省略する。以下、図83の説明
を行う。図83に示した非同期レコ−ドロ−ド部f75
02の処理フロ−は、非同期レコ−ドロ−ド部a103
の図35の処理フロ−に相当する。したがって、図35
との相違について説明する。図83の中で、図35と同
様のステップ番号の処理は、図35の処理と同様であ
る。
【0253】図83の処理フロ−では、制御装置130
5は、ステップ7900で、当該ロ−ド処理で、ロ−ド
要求ビット22003がすべてオフになる場合、パリテ
ィ作成ビット2206をオンにする。以上の処理以外
は、図79の処理フロ−は、図26の処理フロ−に含ま
れることになる。
5は、ステップ7900で、当該ロ−ド処理で、ロ−ド
要求ビット22003がすべてオフになる場合、パリテ
ィ作成ビット2206をオンにする。以上の処理以外
は、図79の処理フロ−は、図26の処理フロ−に含ま
れることになる。
【0254】図84は、図75のパリティ作成部a75
01の処理フロ−である。
01の処理フロ−である。
【0255】ステップ8400で、制御装置1305
は、デイスク装置占有情報2004を参照して、空いた
状態にあるディスク装置1304を見出す。
は、デイスク装置占有情報2004を参照して、空いた
状態にあるディスク装置1304を見出す。
【0256】ステップ8401では、制御装置1305
は、見出したディスク装置1304の中で、パリティ作
成ビット2206がオンで、かつ、ロック情報2204
がオフのPG管理情報2001を見出す。そして、制御
装置1305はロック情報2204をオンにする。
は、見出したディスク装置1304の中で、パリティ作
成ビット2206がオンで、かつ、ロック情報2204
がオフのPG管理情報2001を見出す。そして、制御
装置1305はロック情報2204をオンにする。
【0257】ステップ8402では、制御装置1305
は、更新前デ−タレコ−ド105、更新後デ−タレコ−
ド、更新前パリティレコ−ド107より、更新後パリテ
ィレコ−ド108を作成する。詳細は、図35のステッ
プ3504等を参照されたい。
は、更新前デ−タレコ−ド105、更新後デ−タレコ−
ド、更新前パリティレコ−ド107より、更新後パリテ
ィレコ−ド108を作成する。詳細は、図35のステッ
プ3504等を参照されたい。
【0258】ステップ8403では、制御装置1305
は、ライト対象となったデ−タレコ−ド1501に対応
する更新後デ−タレコ−ド106、および、すべての更
新後パリティレコ−ド108を、それぞれ、更新前デ−
タレコ−ド105、更新前パリティレコ−ド107に切
り換える。具体的な処理内容は、ステップ3102で説
明したため、ここでは省略する。
は、ライト対象となったデ−タレコ−ド1501に対応
する更新後デ−タレコ−ド106、および、すべての更
新後パリティレコ−ド108を、それぞれ、更新前デ−
タレコ−ド105、更新前パリティレコ−ド107に切
り換える。具体的な処理内容は、ステップ3102で説
明したため、ここでは省略する。
【0259】さらに、ステップ8404で、制御装置1
305は、すべてのパリティレコ−ド1501に対応す
るライトアフタビット2202を設定する。さらに、パ
リティ作成ビット2206、ロック情報2204、ディ
スク装置占有情報2004をリセットする。
305は、すべてのパリティレコ−ド1501に対応す
るライトアフタビット2202を設定する。さらに、パ
リティ作成ビット2206、ロック情報2204、ディ
スク装置占有情報2004をリセットする。
【0260】最後に、ステップ8405で、制御装置1
305は、ロック待ち情報2205、ディスク装置待ち
情報2005を参照して、待ち状態になっている処理装
置1300からのリ−ドライト要求の待ちを解放する。
305は、ロック待ち情報2205、ディスク装置待ち
情報2005を参照して、待ち状態になっている処理装
置1300からのリ−ドライト要求の待ちを解放する。
【0261】次に、第2の実施例について説明する。第
2の実施例は、図87に示したように、パリティグル−
プヒット/ミス判定処理a6500、非同期処理b69
000を組み合わせた実施例である。ただし、パリティ
作成契機に関しては、パリティ作成契機a、パリティ作
成契機b、パリティ作成契機c、パリティ作成契機dが
関係する。
2の実施例は、図87に示したように、パリティグル−
プヒット/ミス判定処理a6500、非同期処理b69
000を組み合わせた実施例である。ただし、パリティ
作成契機に関しては、パリティ作成契機a、パリティ作
成契機b、パリティ作成契機c、パリティ作成契機dが
関係する。
【0262】第2の実施例の特長を説明する。
【0263】(1)パリティレコ−ド1501の更新値
(更新後パリティレコ−ド108)を作成するため、パ
リティグル−プヒット/ミス判定処理a6500を用い
る。具体的に用いる情報は、ライト対象として指定され
たデ−タレコ−ド1500の更新前後の値(更新前デ−
タレコ−ド105/更新後デ−タレコ−ド106)とパ
リティレコ−ド1501の更新前の値(更新前パリティ
レコ−ド107)である。(2)また、パリティレコ−
ド1501の更新値(更新後パリティレコ−ド108)
を作成に伴う処理の非同期化処理については、非同期処
理b6900を用いる。すなわち、処理装置1300か
ら受け付けたライト要求に対して、制御装置1305に
対して、高速ライト処理1313、あるいは、高信頼/
高速ライト処理1402を適用する。
(更新後パリティレコ−ド108)を作成するため、パ
リティグル−プヒット/ミス判定処理a6500を用い
る。具体的に用いる情報は、ライト対象として指定され
たデ−タレコ−ド1500の更新前後の値(更新前デ−
タレコ−ド105/更新後デ−タレコ−ド106)とパ
リティレコ−ド1501の更新前の値(更新前パリティ
レコ−ド107)である。(2)また、パリティレコ−
ド1501の更新値(更新後パリティレコ−ド108)
を作成に伴う処理の非同期化処理については、非同期処
理b6900を用いる。すなわち、処理装置1300か
ら受け付けたライト要求に対して、制御装置1305に
対して、高速ライト処理1313、あるいは、高信頼/
高速ライト処理1402を適用する。
【0264】(3)第2の実施例においても、パリティ
作成契機に関しては、パリティ作成契機a、パリティ作
成契機b、パリティ作成契機c、パリティ作成契機dを
すべての作成契機が組み合わされる。
作成契機に関しては、パリティ作成契機a、パリティ作
成契機b、パリティ作成契機c、パリティ作成契機dを
すべての作成契機が組み合わされる。
【0265】図4は、第2の実施例において、ライト対
象とするデ−タレコ−ド1500の更新前デ−タレコ−
ド105、および、対応するパリティグル−プ1600
内のすべての更新前パリティレコ−ド107が、キャッ
シュ1308に存在する場合の制御装置1305の動作
を示したものである。すなわち、図4は、第2の実施例
において、パリティ作成契機として、図72に示したパ
リティ作成契機aが用いられた場合の、制御装置130
5の動作を示したものである。
象とするデ−タレコ−ド1500の更新前デ−タレコ−
ド105、および、対応するパリティグル−プ1600
内のすべての更新前パリティレコ−ド107が、キャッ
シュ1308に存在する場合の制御装置1305の動作
を示したものである。すなわち、図4は、第2の実施例
において、パリティ作成契機として、図72に示したパ
リティ作成契機aが用いられた場合の、制御装置130
5の動作を示したものである。
【0266】この場合、更新後パリティレコ−ド108
の更新値の作成は、更新後デ−タレコ−ド106を、キ
ャッシュ1308(および、不揮発性メモリ1400)
に書き込む際に、制御装置1305が、同期デ−タライ
ト部d401を用いて実行する。図4には示していない
が、高信頼/高速ライト処理1402を適用する場合に
は、同期デ−タライト部d401は、処理装置1300
から受け取ったデ−タを不揮発性メモリ1400に書き
込む機能も有することになる。(402)更新後デ−タ
レコ−ド106、および、更新後パリティレコ−ド10
8は、非同期レコ−ドライト部a103を用いて、処理
装置1300のリ−ド/ライト要求とは非同期に、ディ
スク装置1305に書き込む。(111)図5は、第2
の実施例において、ライト対象とするデ−タレコ−ド1
500の更新前デ−タレコ−ド105、および、対応す
るパリティグル−プ1600内のすべての更新前パリテ
ィレコ−ド107の中に、キャッシュ1308に存在し
ないものがある場合の制御装置1305の動作を示した
ものである。すなわち、図5は、第2の実施例におい
て、パリティ作成契機として、図73に示したパリティ
作成契機bが用いられた場合の、制御装置1305の動
作を示したものである。 この場合、制御装置1305
が、同期レコ−ドロ−ド部a201を用いて、処理装置
1300からのリ−ド/ライト要求とは非同期に、キャ
ッシュ1308に存在しない更新前デ−タレコ−ド10
5、あるいは、更新前パリティレコ−ド107にキャッ
シュ1308にロ−ドする。キャッシュ1308に存在
しない更新前デ−タレコ−ド105、更新前パリティレ
コ−ド107の集合の中で、最後にキャッシュ1308
に転送を行う契機で、すべてのパリティレコ−ド150
2に関し、更新後パリティレコ−ド108を作成する。
(203)更新後デ−タレコ−ド106は、図5に示し
たように、同期デ−タライト部e500を用いて、ディ
スク装置1305へ書き込むが、この契機には、更新後
パリティレコ−ド108は作成しない。(501)非同
期レコ−ドライト部a103の動作は図4の動作と同様
であるため、説明を省略する。
の更新値の作成は、更新後デ−タレコ−ド106を、キ
ャッシュ1308(および、不揮発性メモリ1400)
に書き込む際に、制御装置1305が、同期デ−タライ
ト部d401を用いて実行する。図4には示していない
が、高信頼/高速ライト処理1402を適用する場合に
は、同期デ−タライト部d401は、処理装置1300
から受け取ったデ−タを不揮発性メモリ1400に書き
込む機能も有することになる。(402)更新後デ−タ
レコ−ド106、および、更新後パリティレコ−ド10
8は、非同期レコ−ドライト部a103を用いて、処理
装置1300のリ−ド/ライト要求とは非同期に、ディ
スク装置1305に書き込む。(111)図5は、第2
の実施例において、ライト対象とするデ−タレコ−ド1
500の更新前デ−タレコ−ド105、および、対応す
るパリティグル−プ1600内のすべての更新前パリテ
ィレコ−ド107の中に、キャッシュ1308に存在し
ないものがある場合の制御装置1305の動作を示した
ものである。すなわち、図5は、第2の実施例におい
て、パリティ作成契機として、図73に示したパリティ
作成契機bが用いられた場合の、制御装置1305の動
作を示したものである。 この場合、制御装置1305
が、同期レコ−ドロ−ド部a201を用いて、処理装置
1300からのリ−ド/ライト要求とは非同期に、キャ
ッシュ1308に存在しない更新前デ−タレコ−ド10
5、あるいは、更新前パリティレコ−ド107にキャッ
シュ1308にロ−ドする。キャッシュ1308に存在
しない更新前デ−タレコ−ド105、更新前パリティレ
コ−ド107の集合の中で、最後にキャッシュ1308
に転送を行う契機で、すべてのパリティレコ−ド150
2に関し、更新後パリティレコ−ド108を作成する。
(203)更新後デ−タレコ−ド106は、図5に示し
たように、同期デ−タライト部e500を用いて、ディ
スク装置1305へ書き込むが、この契機には、更新後
パリティレコ−ド108は作成しない。(501)非同
期レコ−ドライト部a103の動作は図4の動作と同様
であるため、説明を省略する。
【0267】次に、図4と図5に示した各処理部の詳細
について説明する。
について説明する。
【0268】まず、ヒット/ミス判定部c400の動作
を説明する。
を説明する。
【0269】図43は、ヒット/ミス判定部c400の
処理フロ−である。図43は、処理装置1300からの
ライト要求を受け取った時、実行される処理フロ−であ
る。一方、ヒット/ミス判定部c400の待ち状態が開
放された時に実行開始される処理は、図27に示した処
理フロ−となる。図27は、すでに説明したため、ここ
では、説明を省略する。以下、図43の説明を行う。図
43に示したヒット/ミス判定部c400の処理フロ−
は、ヒット/ミス判定部a100の第26図の処理フロ
−に相当する。したがって、図26との相違について説
明する。図43の中で、図26と同様のステップ番号の
処理は、図26の処理と同様である。
処理フロ−である。図43は、処理装置1300からの
ライト要求を受け取った時、実行される処理フロ−であ
る。一方、ヒット/ミス判定部c400の待ち状態が開
放された時に実行開始される処理は、図27に示した処
理フロ−となる。図27は、すでに説明したため、ここ
では、説明を省略する。以下、図43の説明を行う。図
43に示したヒット/ミス判定部c400の処理フロ−
は、ヒット/ミス判定部a100の第26図の処理フロ
−に相当する。したがって、図26との相違について説
明する。図43の中で、図26と同様のステップ番号の
処理は、図26の処理と同様である。
【0270】ステップ4302で、更新前デ−タレコ−
ド105、および、対応するパリティグル−プ1600
内のすべての更新前パリティレコ−ド107が、キャッ
シュ1308に存在するかをチェックした後、存在する
場合、制御装置1305は、ステップ4300で、同期
デ−タライト部d401をコ−ルし、処理を終了する。
存在しない場合、制御装置1305は、ステップ43
01で、同期デ−タライト部e500をコ−ルし、処理
を終了する。以上の処理以外は、図43の処理フロ−
は、図26の処理フロ−に含まれるため、説明は省略す
る。
ド105、および、対応するパリティグル−プ1600
内のすべての更新前パリティレコ−ド107が、キャッ
シュ1308に存在するかをチェックした後、存在する
場合、制御装置1305は、ステップ4300で、同期
デ−タライト部d401をコ−ルし、処理を終了する。
存在しない場合、制御装置1305は、ステップ43
01で、同期デ−タライト部e500をコ−ルし、処理
を終了する。以上の処理以外は、図43の処理フロ−
は、図26の処理フロ−に含まれるため、説明は省略す
る。
【0271】図44は、同期デ−タライト部d401の
処理フロ−である。図44は、同期デ−タライト部d4
01が、ヒット/ミス判定部c400からコ−ルされた
時に実行される処理フロ−である。図44に示した同期
デ−タライト部d301の処理フロ−は、同期デ−タラ
イト部a101の図30と図31の処理フロ−に相当す
る。したがって、図30と図31との相違について説明
する。図44の中で、図30と図31と同様のステップ
番号の処理は、図30と図31の処理と同様である。
処理フロ−である。図44は、同期デ−タライト部d4
01が、ヒット/ミス判定部c400からコ−ルされた
時に実行される処理フロ−である。図44に示した同期
デ−タライト部d301の処理フロ−は、同期デ−タラ
イト部a101の図30と図31の処理フロ−に相当す
る。したがって、図30と図31との相違について説明
する。図44の中で、図30と図31と同様のステップ
番号の処理は、図30と図31の処理と同様である。
【0272】まず、制御装置1305は、ステップ44
00で、更新後デ−タレコ−ド106を格納するための
セグメント1800、(不揮発性メモリ1400にも格
納する場合、不揮発性セグメント2500も確保す
る。)次に、ステップ4401で、制御装置1305
は、すべての更新後パリティレコ−ド108を格納する
ためのセグメント1800を確保する。(不揮発性メモ
リ1400にも格納する場合、不揮発性セグメント25
00も確保する。)ステップ4402では、制御装置1
305は、以下の処理を実行する。
00で、更新後デ−タレコ−ド106を格納するための
セグメント1800、(不揮発性メモリ1400にも格
納する場合、不揮発性セグメント2500も確保す
る。)次に、ステップ4401で、制御装置1305
は、すべての更新後パリティレコ−ド108を格納する
ためのセグメント1800を確保する。(不揮発性メモ
リ1400にも格納する場合、不揮発性セグメント25
00も確保する。)ステップ4402では、制御装置1
305は、以下の処理を実行する。
【0273】(1)処理装置1300から受け取ったデ
−タを、更新後デ−タレコ−ド106として、更新後セ
グメントポインタ2201で示されたセグメント180
0に格納する。(不揮発性メモリ1400にも格納する
場合、不揮発性セグメント2500にも格納する。) (2)更新前デ−タレコ−ド105、処理装置1300
から受け取ったデ−タとすべての更新前パリティレコ−
ド107より、すべての更新後パリティレコ−ド108
を作成し、対応する更新後セグメントポインタ2201
で示されたセグメント1800に格納する。(不揮発性
メモリ1400にも格納する場合、不揮発性セグメント
2500格納する。) さらに、ステップ4403では、制御装置1305は、
その時、ライト要求を受け付けたデ−タレコ−ド150
0とすべてのパリティレコ−ド1501に対応するライ
トアフタビット2202を設定する。
−タを、更新後デ−タレコ−ド106として、更新後セ
グメントポインタ2201で示されたセグメント180
0に格納する。(不揮発性メモリ1400にも格納する
場合、不揮発性セグメント2500にも格納する。) (2)更新前デ−タレコ−ド105、処理装置1300
から受け取ったデ−タとすべての更新前パリティレコ−
ド107より、すべての更新後パリティレコ−ド108
を作成し、対応する更新後セグメントポインタ2201
で示されたセグメント1800に格納する。(不揮発性
メモリ1400にも格納する場合、不揮発性セグメント
2500格納する。) さらに、ステップ4403では、制御装置1305は、
その時、ライト要求を受け付けたデ−タレコ−ド150
0とすべてのパリティレコ−ド1501に対応するライ
トアフタビット2202を設定する。
【0274】以上の処理以外は、図44の処理は、図3
0と図31の処理に含まれるため説明を省略する。
0と図31の処理に含まれるため説明を省略する。
【0275】図45は、同期デ−タライト部e500の
処理フロ−である。図45は、同期デ−タライト部b2
00が、ヒット/ミス判定部a100からコ−ルされた
時に実行される処理フロ−である。図45に示した同期
デ−タライト部e500の処理フロ−は、同期デ−タラ
イト部b200の図32と図33の処理フロ−に相当す
る。したがって、図32と図33との相違について説明
する。図45の中で、図32と図33と同様のステップ
番号の処理は、図32と図33の処理と同様である。
処理フロ−である。図45は、同期デ−タライト部b2
00が、ヒット/ミス判定部a100からコ−ルされた
時に実行される処理フロ−である。図45に示した同期
デ−タライト部e500の処理フロ−は、同期デ−タラ
イト部b200の図32と図33の処理フロ−に相当す
る。したがって、図32と図33との相違について説明
する。図45の中で、図32と図33と同様のステップ
番号の処理は、図32と図33の処理と同様である。
【0276】以下、図45の処理を説明する。
【0277】まず、制御装置1305は、ステップ45
00で、更新後デ−タレコ−ド106を格納するための
セグメント1800、(不揮発性メモリ1400にも格
納する場合、不揮発性セグメント2500も確保す
る。)ステップ4501では、制御装置1305は、処
理装置1300から受け取ったデ−タを、更新後セグメ
ントポインタ2201で示されたセグメント1800に
格納する。(不揮発性メモリ1400にも格納する場
合、不揮発性セグメント2500にも格納する。)さら
に、対応するライトアフタビット2202をオンにす
る。更新前セグメントポインタ2200で示されたセグ
メント1800内のデ−タを保持する理由は、第1の実
施例と同様である。理由については、ステップ3301
で説明したため、省略する。
00で、更新後デ−タレコ−ド106を格納するための
セグメント1800、(不揮発性メモリ1400にも格
納する場合、不揮発性セグメント2500も確保す
る。)ステップ4501では、制御装置1305は、処
理装置1300から受け取ったデ−タを、更新後セグメ
ントポインタ2201で示されたセグメント1800に
格納する。(不揮発性メモリ1400にも格納する場
合、不揮発性セグメント2500にも格納する。)さら
に、対応するライトアフタビット2202をオンにす
る。更新前セグメントポインタ2200で示されたセグ
メント1800内のデ−タを保持する理由は、第1の実
施例と同様である。理由については、ステップ3301
で説明したため、省略する。
【0278】制御装置1305は、ライト要求を受け付
けたデ−タレコ−ド1500に対応するライトアフタビ
ット2202をオンにする。さらに、ステップ4502
では、ライト要求を受け付けたデ−タレコ−ド1500
の更新前デ−タレコ−ド106がキャッシュに存在しな
い場合、対応するロ−ド要求ビットをセットする。
けたデ−タレコ−ド1500に対応するライトアフタビ
ット2202をオンにする。さらに、ステップ4502
では、ライト要求を受け付けたデ−タレコ−ド1500
の更新前デ−タレコ−ド106がキャッシュに存在しな
い場合、対応するロ−ド要求ビットをセットする。
【0279】以上の処理以外は、図45の処理は、図3
2と図33の処理に含まれるため説明を省略する。
2と図33の処理に含まれるため説明を省略する。
【0280】非同期レコ−ドロ−ド部a201、非同期
レコ−ドライト部a103の処理フロ−は、第1の実施
例で説明したため、ここでは、説明を省略する。
レコ−ドライト部a103の処理フロ−は、第1の実施
例で説明したため、ここでは、説明を省略する。
【0281】図6は、第2の実施例の別の実現方法であ
る。図4、図5で示した内容との相違は、更新後パリテ
ィレコ−ド108を作成する契機が、更新後パリティレ
コ−ド108そのものをディスク装置1304に書き込
む契機であるという点である。すなわち、図6は、第2
の実施例において、パリティ作成契機として、図74に
示したパリティ作成契機cが用いられた場合の、制御装
置1305の動作を示したものである。
る。図4、図5で示した内容との相違は、更新後パリテ
ィレコ−ド108を作成する契機が、更新後パリティレ
コ−ド108そのものをディスク装置1304に書き込
む契機であるという点である。すなわち、図6は、第2
の実施例において、パリティ作成契機として、図74に
示したパリティ作成契機cが用いられた場合の、制御装
置1305の動作を示したものである。
【0282】第1の実施例で図3に示した動作と同様、
図6の動作でも、制御装置1305は、非同期レコ−ド
ライト部b303により更新後パリティレコ−ド108
の作成処理を行う。(602)以下、詳細な動作を説明
する。
図6の動作でも、制御装置1305は、非同期レコ−ド
ライト部b303により更新後パリティレコ−ド108
の作成処理を行う。(602)以下、詳細な動作を説明
する。
【0283】図46は、ヒット/ミス判定部d600の
処理フロ−である。図46は、処理装置1300からの
ライト要求を受け取った時、実行される処理フロ−であ
る。一方、ヒット/ミス判定部d600の待ち状態が開
放された時に実行開始される処理は、図27に示した処
理フロ−となる。図27は、すでに説明したため、ここ
では、説明を省略する。以下、図46の説明を行う。図
46に示したヒット/ミス判定部d600の処理フロ−
は、ヒット/ミス判定部c400の図43の処理フロ−
に相当する。したがって、図43との相違について説明
する。図46の中で、図43と同様のステップ番号の処
理は、図26の処理と同様である。
処理フロ−である。図46は、処理装置1300からの
ライト要求を受け取った時、実行される処理フロ−であ
る。一方、ヒット/ミス判定部d600の待ち状態が開
放された時に実行開始される処理は、図27に示した処
理フロ−となる。図27は、すでに説明したため、ここ
では、説明を省略する。以下、図46の説明を行う。図
46に示したヒット/ミス判定部d600の処理フロ−
は、ヒット/ミス判定部c400の図43の処理フロ−
に相当する。したがって、図43との相違について説明
する。図46の中で、図43と同様のステップ番号の処
理は、図26の処理と同様である。
【0284】ステップ4600で、制御装置1305
は、処理装置1300から、ライト対象となるデ−タレ
コ−ド1500に対するデ−タを受け取るために、無条
件に、同期デ−タライト部f601をコ−ルする。以上
の処理以外は、図46の処理フロ−は、図43の処理フ
ロ−に含まれる。
は、処理装置1300から、ライト対象となるデ−タレ
コ−ド1500に対するデ−タを受け取るために、無条
件に、同期デ−タライト部f601をコ−ルする。以上
の処理以外は、図46の処理フロ−は、図43の処理フ
ロ−に含まれる。
【0285】図47は、同期デ−タライト部f601の
処理フロ−である。本処理フロ−は、ヒット/ミス判定
部d600からコ−ルされた時に実行される処理フロ−
である。図47に示した同期デ−タライト部f601の
処理フロ−は、同期デ−タライト部e500の図45の
処理フロ−に類似している。したがって、図45との相
違について説明する。図47の中で、図45と同じステ
ップ番号の処理は、図45の処理と同じである。
処理フロ−である。本処理フロ−は、ヒット/ミス判定
部d600からコ−ルされた時に実行される処理フロ−
である。図47に示した同期デ−タライト部f601の
処理フロ−は、同期デ−タライト部e500の図45の
処理フロ−に類似している。したがって、図45との相
違について説明する。図47の中で、図45と同じステ
ップ番号の処理は、図45の処理と同じである。
【0286】ステップ4700で、制御装置1305
は、すべての更新前パリティレコ−ド107と更新前デ
ータレコード105が、キャッシュ1308内に格納さ
れているかをチェックする。そうでなければ、ステップ
4502へジャンプする。そうであれば、ステップ47
01で、制御装置1305は、すべての更新前パリティ
レコ−ド107に対応するライトアフタビット2202
をオンにする。この後、ステップ3302へジャンプす
る。これ以外の図47の処理は、図45に含まれるた
め、説明を省略する。
は、すべての更新前パリティレコ−ド107と更新前デ
ータレコード105が、キャッシュ1308内に格納さ
れているかをチェックする。そうでなければ、ステップ
4502へジャンプする。そうであれば、ステップ47
01で、制御装置1305は、すべての更新前パリティ
レコ−ド107に対応するライトアフタビット2202
をオンにする。この後、ステップ3302へジャンプす
る。これ以外の図47の処理は、図45に含まれるた
め、説明を省略する。
【0287】図76は、第2の実施例の別の実現方法で
ある。図76の特徴は、更新後パリティレコ−ド108
を作成する契機が、制御装置1305のデ−タ転送処理
とは、非同期化している点である。すなわち、図76
は、第2の実施例において、パリティ作成契機として、
図86に示したパリティ作成契機dが用いられた場合
の、制御装置1305の動作を示したものである。
ある。図76の特徴は、更新後パリティレコ−ド108
を作成する契機が、制御装置1305のデ−タ転送処理
とは、非同期化している点である。すなわち、図76
は、第2の実施例において、パリティ作成契機として、
図86に示したパリティ作成契機dが用いられた場合
の、制御装置1305の動作を示したものである。
【0288】図76に示すように、制御装置1305
は、パリティ作成部a7501を用いて、更新前デ−タ
レコ−ド105、更新後デ−タレコ−ド106、更新前
パリティレコ−ド107から、更新後デ−タレコ−ド1
08を作成する。(7504)以下、詳細な動作を説明
する。ただし、ヒット/ミス判定部k7600以外の各
処理部の説明はすでに行っているため、説明を省略す
る。
は、パリティ作成部a7501を用いて、更新前デ−タ
レコ−ド105、更新後デ−タレコ−ド106、更新前
パリティレコ−ド107から、更新後デ−タレコ−ド1
08を作成する。(7504)以下、詳細な動作を説明
する。ただし、ヒット/ミス判定部k7600以外の各
処理部の説明はすでに行っているため、説明を省略す
る。
【0289】図80は、ヒット/ミス判定部k8000
の処理フロ−図である。ヒット/ミス判定部b300
は、2つの実行開始点をもつ。
の処理フロ−図である。ヒット/ミス判定部b300
は、2つの実行開始点をもつ。
【0290】第1の開始点は、図80に示された開始点
であり、処理装置1300からのライト要求を受け取っ
た時、実行開始される開始点である。第2の開始点は、
待ち状態が開放された時の開始点であり、ヒット/ミス
判定部a100の処理フロ−と同様であるため、図27
に示した処理フロ−となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図80の説明
を行う。図80に示したヒット/ミス判定k8000の
処理フロ−は、ヒット/ミス判定部a100の図43の
処理フロ−に相当する。したがって、図43との相違に
ついて説明する。図80の中で、図43と同様のステッ
プ番号の処理は、図43の処理と同様である。
であり、処理装置1300からのライト要求を受け取っ
た時、実行開始される開始点である。第2の開始点は、
待ち状態が開放された時の開始点であり、ヒット/ミス
判定部a100の処理フロ−と同様であるため、図27
に示した処理フロ−となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図80の説明
を行う。図80に示したヒット/ミス判定k8000の
処理フロ−は、ヒット/ミス判定部a100の図43の
処理フロ−に相当する。したがって、図43との相違に
ついて説明する。図80の中で、図43と同様のステッ
プ番号の処理は、図43の処理と同様である。
【0291】図80の処理フロ−では、制御装置130
5は、ステップ4302で、更新前デ−タレコ−ド10
5、更新前パリティレコ−ド107の中にキャッシュ1
308に存在しないものがあるかを、チェックする。す
べて存在する場合、ステップ7900で、パリティ作成
ビット2206をオンにする。この後、ステップ430
1へジャンプする。以上の処理以外は、図80の処理フ
ロ−は、図43の処理フロ−に含まれることになる。
5は、ステップ4302で、更新前デ−タレコ−ド10
5、更新前パリティレコ−ド107の中にキャッシュ1
308に存在しないものがあるかを、チェックする。す
べて存在する場合、ステップ7900で、パリティ作成
ビット2206をオンにする。この後、ステップ430
1へジャンプする。以上の処理以外は、図80の処理フ
ロ−は、図43の処理フロ−に含まれることになる。
【0292】次に、第3の実施例について説明する。第
3の実施例は、図87に示したように、第3の実施例
は、パリティグル−プヒット/ミス判定処理b660
0、非同期処理c7000の組合せである。ただし、パ
リティ作成契機に関しては、パリティ作成契機a、パリ
ティ作成契機b、パリティ作成契機c、パリティ作成契
機dが関係する。
3の実施例は、図87に示したように、第3の実施例
は、パリティグル−プヒット/ミス判定処理b660
0、非同期処理c7000の組合せである。ただし、パ
リティ作成契機に関しては、パリティ作成契機a、パリ
ティ作成契機b、パリティ作成契機c、パリティ作成契
機dが関係する。
【0293】第3の実施例の特長を説明する。
【0294】(1)パリティレコ−ド1501の更新値
(更新後パリティレコ−ド108)を作成するため、パ
リティグル−プヒット/ミス判定処理b6600を用い
る。具体的に用いる情報は、ライト対象として指定され
たデ−タレコ−ド1500の更新後の値と同一パリティ
グル−プ1600内の他のすべてのデ−タレコ−ド15
00の値(グル−プ内他デ−タレコ−ド702)であ
る。
(更新後パリティレコ−ド108)を作成するため、パ
リティグル−プヒット/ミス判定処理b6600を用い
る。具体的に用いる情報は、ライト対象として指定され
たデ−タレコ−ド1500の更新後の値と同一パリティ
グル−プ1600内の他のすべてのデ−タレコ−ド15
00の値(グル−プ内他デ−タレコ−ド702)であ
る。
【0295】(2)また、パリティレコ−ド1501の
更新値(更新後パリティレコ−ド108)を作成に伴う
処理の非同期化処理については、非同期処理c7000
を用いる。すなわち、更新後デ−タレコ−ド106をデ
ィスク装置1305に書き込む処理を非同期化しない。
すなわち、ライトスル−処理1312を実行する。
更新値(更新後パリティレコ−ド108)を作成に伴う
処理の非同期化処理については、非同期処理c7000
を用いる。すなわち、更新後デ−タレコ−ド106をデ
ィスク装置1305に書き込む処理を非同期化しない。
すなわち、ライトスル−処理1312を実行する。
【0296】(3)第3の実施例においても、パリティ
作成契機に関しては、パリティ作成契機a、パリティ作
成契機b、パリティ作成契機c、パリティ作成契機dを
すべての作成契機が組み合わされる。
作成契機に関しては、パリティ作成契機a、パリティ作
成契機b、パリティ作成契機c、パリティ作成契機dを
すべての作成契機が組み合わされる。
【0297】図7は、第3の実施例において、ライト対
象とするデ−タレコ−ド1500が属するパリティグル
−プ1600内のすべてのグル−プ内他デ−タレコ−ド
702の中に、キャッシュ1308に存在しないものが
ない場合の制御装置1305の動作を示したものであ
る。すなわち、図7は、第3の実施例において、パリテ
ィ作成契機として、図72に示したパリティ作成契機a
が用いられた場合の、制御装置1305の動作を示した
ものである。
象とするデ−タレコ−ド1500が属するパリティグル
−プ1600内のすべてのグル−プ内他デ−タレコ−ド
702の中に、キャッシュ1308に存在しないものが
ない場合の制御装置1305の動作を示したものであ
る。すなわち、図7は、第3の実施例において、パリテ
ィ作成契機として、図72に示したパリティ作成契機a
が用いられた場合の、制御装置1305の動作を示した
ものである。
【0298】この場合、更新後パリティレコ−ド108
の更新値の作成は、更新後デ−タレコ−ド106を、デ
ィスク装置1305に書き込む際に制御装置1305
が、同期デ−タライト部g701を用いて作成する。
(704)ただし、パリティレコ−ド1501の更新値
は、パリティ作成装置b703を用いて実行する。
の更新値の作成は、更新後デ−タレコ−ド106を、デ
ィスク装置1305に書き込む際に制御装置1305
が、同期デ−タライト部g701を用いて作成する。
(704)ただし、パリティレコ−ド1501の更新値
は、パリティ作成装置b703を用いて実行する。
【0299】更新後パリティレコ−ド108は、制御装
置1305が、非同期レコ−ドライト部a103を用い
て、処理装置1300のリ−ド/ライト要求とは、非同
期にディスク装置1305に書き込む。(111)図8
は、第3の実施例において、ライト対象とするデ−タレ
コ−ド1500が属するパリティグル−プ1600内の
すべてのグル−プ内他デ−タレコ−ド702の中に、キ
ャッシュ1308に存在しないものがある場合の制御装
置1305の動作を示したものである。すなわち、図8
は、第3の実施例において、パリティ作成契機として、
図73に示したパリティ作成契機bが用いられた場合
の、制御装置1305の動作を示したものである。
置1305が、非同期レコ−ドライト部a103を用い
て、処理装置1300のリ−ド/ライト要求とは、非同
期にディスク装置1305に書き込む。(111)図8
は、第3の実施例において、ライト対象とするデ−タレ
コ−ド1500が属するパリティグル−プ1600内の
すべてのグル−プ内他デ−タレコ−ド702の中に、キ
ャッシュ1308に存在しないものがある場合の制御装
置1305の動作を示したものである。すなわち、図8
は、第3の実施例において、パリティ作成契機として、
図73に示したパリティ作成契機bが用いられた場合
の、制御装置1305の動作を示したものである。
【0300】この場合、制御装置1305が、非同期レ
コ−ドロ−ド部c801を用いて、処理装置1300か
らのリ−ド/ライト要求とは非同期に、キャッシュ13
08に存在しないグル−プ内他デ−タレコ−ド702に
キャッシュ1308にロ−ドする。(803)キャッシ
ュ1308に存在しない最後のグル−プ内他デ−タレコ
−ド702をキャッシュ1308にロ−ドした時、すべ
てのパリティレコ−ド1502に関し、更新後パリティ
レコ−ド108を作成する。
コ−ドロ−ド部c801を用いて、処理装置1300か
らのリ−ド/ライト要求とは非同期に、キャッシュ13
08に存在しないグル−プ内他デ−タレコ−ド702に
キャッシュ1308にロ−ドする。(803)キャッシ
ュ1308に存在しない最後のグル−プ内他デ−タレコ
−ド702をキャッシュ1308にロ−ドした時、すべ
てのパリティレコ−ド1502に関し、更新後パリティ
レコ−ド108を作成する。
【0301】更新後デ−タレコ−ド106は、第1図に
示したように、同期デ−タライト部h800が、ディス
ク装置1305へ書き込むが、この契機には、更新後パ
リティレコ−ド108は作成しない。(802)非同期
レコ−ドライト部a103の動作は図7の動作と同様で
あるため、説明を省略する。
示したように、同期デ−タライト部h800が、ディス
ク装置1305へ書き込むが、この契機には、更新後パ
リティレコ−ド108は作成しない。(802)非同期
レコ−ドライト部a103の動作は図7の動作と同様で
あるため、説明を省略する。
【0302】次に、図7と図8に示した各処理部の詳細
について説明する。
について説明する。
【0303】まず、ヒット/ミス判定部e700の動作
を説明する。
を説明する。
【0304】図48は、ヒット/ミス判定部e700の
処理フロ−である。図48は、処理装置1300からの
ライト要求を受け取った時、実行される処理フロ−であ
る。一方、ヒット/ミス判定部e700の待ち状態が開
放された時に実行開始される処理は、図27に示した処
理フロ−となる。図27は、すでに説明したため、ここ
では、説明を省略する。以下、図48の説明を行う。図
48に示したヒット/ミス判定部e700の処理フロ−
は、ヒット/ミス判定部e700の図26の処理フロ−
に類似している。したがって、図26との相違について
説明する。図48の中で、図26と同様のステップ番号
の処理は、図26の処理と同様である。ステップ480
0では、制御装置1305は、ライト対象となるデ−タ
レコ−ド1500が属するパリティグル−プ1600内
のすべてのグル−プ内他デ−タレコ−ド702の中に、
キャッシュ1308に存在しないものがあるかどうかを
をチェックする。存在する場合、制御装置1305は、
ステップ4801で、同期デ−タライト部g701をコ
−ルし、処理を終了する。
処理フロ−である。図48は、処理装置1300からの
ライト要求を受け取った時、実行される処理フロ−であ
る。一方、ヒット/ミス判定部e700の待ち状態が開
放された時に実行開始される処理は、図27に示した処
理フロ−となる。図27は、すでに説明したため、ここ
では、説明を省略する。以下、図48の説明を行う。図
48に示したヒット/ミス判定部e700の処理フロ−
は、ヒット/ミス判定部e700の図26の処理フロ−
に類似している。したがって、図26との相違について
説明する。図48の中で、図26と同様のステップ番号
の処理は、図26の処理と同様である。ステップ480
0では、制御装置1305は、ライト対象となるデ−タ
レコ−ド1500が属するパリティグル−プ1600内
のすべてのグル−プ内他デ−タレコ−ド702の中に、
キャッシュ1308に存在しないものがあるかどうかを
をチェックする。存在する場合、制御装置1305は、
ステップ4801で、同期デ−タライト部g701をコ
−ルし、処理を終了する。
【0305】存在しないものがある場合、制御装置13
05は、ステップ4802で、同期デ−タライト部g8
00をコ−ルし、処理を終了する。以上の処理以外は、
図48の処理フロ−は、図26の処理フロ−に含まれる
ため、説明は省略する。
05は、ステップ4802で、同期デ−タライト部g8
00をコ−ルし、処理を終了する。以上の処理以外は、
図48の処理フロ−は、図26の処理フロ−に含まれる
ため、説明は省略する。
【0306】図49は、同期デ−タライト部g701
が、ディスク装置1305の位置付け処理が完了した時
に実行される処理フロ−である。ヒット/ミス判定部e
700からコ−ルされた時に実行される処理フロ−は、
図30に示した処理フロ−であるため、ここでの説明を
省略する。以下、図49の説明を行う。図49に示した
同期デ−タライト部g701の処理フロ−は、同期デ−
タライト部a101の図31の処理フロ−に類似してい
る。したがって、図31との相違について説明する。図
49の中で、図31と同様のステップ番号の処理は、図
31の処理と同様である。
が、ディスク装置1305の位置付け処理が完了した時
に実行される処理フロ−である。ヒット/ミス判定部e
700からコ−ルされた時に実行される処理フロ−は、
図30に示した処理フロ−であるため、ここでの説明を
省略する。以下、図49の説明を行う。図49に示した
同期デ−タライト部g701の処理フロ−は、同期デ−
タライト部a101の図31の処理フロ−に類似してい
る。したがって、図31との相違について説明する。図
49の中で、図31と同様のステップ番号の処理は、図
31の処理と同様である。
【0307】ステップ4900で、制御装置1305
は、処理装置1300から受け取ったデ−タをディスク
装置1305を書き込むと同時に、さらに、以下の動作
を実行する。
は、処理装置1300から受け取ったデ−タをディスク
装置1305を書き込むと同時に、さらに、以下の動作
を実行する。
【0308】(1)処理装置1300から受け取ったデ
−タを、更新後デ−タレコ−ド105として、更新後セ
グメントポインタ2201で示されたセグメント180
0に格納する。
−タを、更新後デ−タレコ−ド105として、更新後セ
グメントポインタ2201で示されたセグメント180
0に格納する。
【0309】(2)処理装置1300から受け取った更
新後デ−タレコ−ド105とそれ以外のグル−プ内他デ
−タレコ−ド702より、すべての更新後パリティレコ
−ド108を作成し、対応する更新後セグメントポイン
タ2201で示されたセグメント1800に格納する。
新後デ−タレコ−ド105とそれ以外のグル−プ内他デ
−タレコ−ド702より、すべての更新後パリティレコ
−ド108を作成し、対応する更新後セグメントポイン
タ2201で示されたセグメント1800に格納する。
【0310】ステップ4901では、制御装置1305
は、ライト対象となったデ−タレコ−ド1500、およ
び、すべてのパリティレコ−ド1501に対応する更新
後セグメントポインタ2201が示していたセグメント
1800を、更新前セグメントポインタ2200が示す
ようにする。そして、対応する更新後セグメントポイン
タ2201にはヌル値を設定する。すなわち、更新後デ
−タレコ−ド106、更新後パリティレコ−ド108
を、更新前デ−タレコ−ド105と更新前パリティレコ
−ド107に切り換える。以上の処理以外は、図49の
処理フロ−は、図31の処理フロ−に含まれるため、説
明は省略する。
は、ライト対象となったデ−タレコ−ド1500、およ
び、すべてのパリティレコ−ド1501に対応する更新
後セグメントポインタ2201が示していたセグメント
1800を、更新前セグメントポインタ2200が示す
ようにする。そして、対応する更新後セグメントポイン
タ2201にはヌル値を設定する。すなわち、更新後デ
−タレコ−ド106、更新後パリティレコ−ド108
を、更新前デ−タレコ−ド105と更新前パリティレコ
−ド107に切り換える。以上の処理以外は、図49の
処理フロ−は、図31の処理フロ−に含まれるため、説
明は省略する。
【0311】図50は、同期デ−タライト部h800の
処理フロ−である。ディスク装置1305の位置付け処
理が完了した時に実行される処理フロ−である。ヒット
/ミス判定部e700からコ−ルされた時に実行される
処理フロ−は、図32に示した処理フロ−であるため、
ここでの説明を省略する。図50に示した同期デ−タラ
イト部h800の処理フロ−は、同期デ−タライト部b
200の図33の処理フロ−に類似している。したがっ
て、図33との相違について説明する。図50の中で、
図33と同じステップ番号の処理は、図33の処理と同
じである。以下、図50の処理を説明する。
処理フロ−である。ディスク装置1305の位置付け処
理が完了した時に実行される処理フロ−である。ヒット
/ミス判定部e700からコ−ルされた時に実行される
処理フロ−は、図32に示した処理フロ−であるため、
ここでの説明を省略する。図50に示した同期デ−タラ
イト部h800の処理フロ−は、同期デ−タライト部b
200の図33の処理フロ−に類似している。したがっ
て、図33との相違について説明する。図50の中で、
図33と同じステップ番号の処理は、図33の処理と同
じである。以下、図50の処理を説明する。
【0312】ステップ5000では、制御装置1305
は、キャッシュ1308に格納されていないデ−タレコ
−ド1500に対応するロ−ド要求ビット2203をオ
ンにする。(ライト対象となったデ−タレコ−ド150
0に対応するロ−ド要求ビット2203がオンの場合、
これをオフする。)以上の処理以外は、図50の処理
は、図33の処理に含まれるため説明を省略する。
は、キャッシュ1308に格納されていないデ−タレコ
−ド1500に対応するロ−ド要求ビット2203をオ
ンにする。(ライト対象となったデ−タレコ−ド150
0に対応するロ−ド要求ビット2203がオンの場合、
これをオフする。)以上の処理以外は、図50の処理
は、図33の処理に含まれるため説明を省略する。
【0313】図51は、非同期レコ−ドロ−ド部c80
1が、ディスク装置1304からの位置付け処理が完了
した時に実行される処理フロ−である。制御装置130
5の空いた時間を利用して実行される処理フロ−は、図
34に示した処理フロ−であるため、ここでは説明を省
略する。図51は、同期レコ−ドロ−ド部c201の図
35の処理フロ−に類似している。したがって、図35
との相違について説明する。図51の中で、図35と同
じステップ番号の処理は、図35の処理と同じである。
以下、図51の処理を説明する。
1が、ディスク装置1304からの位置付け処理が完了
した時に実行される処理フロ−である。制御装置130
5の空いた時間を利用して実行される処理フロ−は、図
34に示した処理フロ−であるため、ここでは説明を省
略する。図51は、同期レコ−ドロ−ド部c201の図
35の処理フロ−に類似している。したがって、図35
との相違について説明する。図51の中で、図35と同
じステップ番号の処理は、図35の処理と同じである。
以下、図51の処理を説明する。
【0314】ステップ3500で、当該ロ−ド処理によ
り、PG管理情報2001内のロ−ド要求ビット220
3がすべてオフになる場合、この契機で、すべてのパリ
ティレコ−ド1501の更新後パリティレコ−ド108
を作成するため、以下の処理を実行する。。
り、PG管理情報2001内のロ−ド要求ビット220
3がすべてオフになる場合、この契機で、すべてのパリ
ティレコ−ド1501の更新後パリティレコ−ド108
を作成するため、以下の処理を実行する。。
【0315】ステップ5100では、制御装置1305
は、当該パリティグル−プ1600のロ−ド処理対象と
するデ−タレコ−ド1500以外のすべてのデ−タレコ
−ド1500に対応するセグメント1800を探す。こ
の場合、更新後デ−タレコ−ド108と更新前デ−タレ
コ−ド107の両方が存在する場合は、更新後デ−タレ
コ−ド108を選択する。どちらか一方しか存在しない
場合、存在しているものを選択する。
は、当該パリティグル−プ1600のロ−ド処理対象と
するデ−タレコ−ド1500以外のすべてのデ−タレコ
−ド1500に対応するセグメント1800を探す。こ
の場合、更新後デ−タレコ−ド108と更新前デ−タレ
コ−ド107の両方が存在する場合は、更新後デ−タレ
コ−ド108を選択する。どちらか一方しか存在しない
場合、存在しているものを選択する。
【0316】ステップ5101では、ロ−ドしてきた当
該デ−タ1501を更新前セグメントポインタ2200
が示すセグメント1800にロ−ドしながら、以下の操
作を実行する。すなわち、パリティ作成装置b703に
より、ステップ5100で、見出したデ−タレコ−ド1
500とロ−ド中のデ−タレコ−ド1500より、すべ
てのパリティレコ−ド1501の更新後パリティレコ−
ド108を作成する。作成した更新後パリティレコ−ド
108は、対応する更新後セグメントポインタ2201
が示すセグメント1800に格納する。
該デ−タ1501を更新前セグメントポインタ2200
が示すセグメント1800にロ−ドしながら、以下の操
作を実行する。すなわち、パリティ作成装置b703に
より、ステップ5100で、見出したデ−タレコ−ド1
500とロ−ド中のデ−タレコ−ド1500より、すべ
てのパリティレコ−ド1501の更新後パリティレコ−
ド108を作成する。作成した更新後パリティレコ−ド
108は、対応する更新後セグメントポインタ2201
が示すセグメント1800に格納する。
【0317】ステップ5102では、制御装置1305
は、ライト対象となったデ−タレコ−ド1500、およ
び、すべてのパリティレコ−ド1501に対応する更新
後セグメントポインタ2201が示していたセグメント
1800を、更新前セグメントポインタ2200が示す
ようにする。そして、対応する更新後セグメントポイン
タ2201にはヌル値を設定する。すなわち、更新後デ
−タレコ−ド106、更新後パリティレコ−ド108
を、更新前デ−タレコ−ド105と更新前パリティレコ
−ド107に切り換える。
は、ライト対象となったデ−タレコ−ド1500、およ
び、すべてのパリティレコ−ド1501に対応する更新
後セグメントポインタ2201が示していたセグメント
1800を、更新前セグメントポインタ2200が示す
ようにする。そして、対応する更新後セグメントポイン
タ2201にはヌル値を設定する。すなわち、更新後デ
−タレコ−ド106、更新後パリティレコ−ド108
を、更新前デ−タレコ−ド105と更新前パリティレコ
−ド107に切り換える。
【0318】以上の処理以外は、図51の処理は、図3
5の処理に含まれるため説明を省略する。
5の処理に含まれるため説明を省略する。
【0319】非同期レコ−ドライト部a103は、すで
に説明済みであるため、説明を省略する。
に説明済みであるため、説明を省略する。
【0320】図9は、第3の実施例のもう1つの実現方
法である。図7、図8で示した内容との相違は、更新後
パリティレコ−ド108を作成する契機が、更新後パリ
ティレコ−ド108そのものをディスク装置1304に
書き込む契機であるという点である。(906)すなわ
ち、図9は、第3の実施例において、パリティ作成契機
として、図74に示したパリティ作成契機cが用いられ
た場合の、制御装置1305の動作を示したものであ
る。
法である。図7、図8で示した内容との相違は、更新後
パリティレコ−ド108を作成する契機が、更新後パリ
ティレコ−ド108そのものをディスク装置1304に
書き込む契機であるという点である。(906)すなわ
ち、図9は、第3の実施例において、パリティ作成契機
として、図74に示したパリティ作成契機cが用いられ
た場合の、制御装置1305の動作を示したものであ
る。
【0321】第1の実施例で図3に示した動作と同様
に、図9の動作でも、制御装置1308は、非同期レコ
−ドライト部c903を用いて、更新後パリティレコ−
ド108の作成処理を行いながら、これをディスク装置
1304に書き込む。
に、図9の動作でも、制御装置1308は、非同期レコ
−ドライト部c903を用いて、更新後パリティレコ−
ド108の作成処理を行いながら、これをディスク装置
1304に書き込む。
【0322】したがって、同期デ−タライト部i90
1、非同期レコ−ドロ−ド部d902には、更新後パリ
ティレコ−ド108を作成する機能はない。
1、非同期レコ−ドロ−ド部d902には、更新後パリ
ティレコ−ド108を作成する機能はない。
【0323】以下、詳細な動作を説明する。
【0324】図52は、ヒット/ミス判定部f900の
処理フロ−である。図52は、処理装置1300からの
ライト要求を受け取った時、実行される処理フロ−であ
る。一方、ヒット/ミス判定部f900の待ち状態が開
放された時に実行開始される処理は、図27に示した処
理フロ−となる。図27は、すでに説明したため、ここ
では、説明を省略する。以下、図52の説明を行う。図
52に示したヒットミス判定部f900の処理フロ−
は、ヒットミス判定部b300の図38の処理フロ−に
類似している。したがって、第38図との相違について
説明する。図52の中で、図38と同様のステップ番号
の処理は、図38の処理と同様である。
処理フロ−である。図52は、処理装置1300からの
ライト要求を受け取った時、実行される処理フロ−であ
る。一方、ヒット/ミス判定部f900の待ち状態が開
放された時に実行開始される処理は、図27に示した処
理フロ−となる。図27は、すでに説明したため、ここ
では、説明を省略する。以下、図52の説明を行う。図
52に示したヒットミス判定部f900の処理フロ−
は、ヒットミス判定部b300の図38の処理フロ−に
類似している。したがって、第38図との相違について
説明する。図52の中で、図38と同様のステップ番号
の処理は、図38の処理と同様である。
【0325】ステップ5200で、制御装置1305
は、処理装置1300から、ライト対象となるデ−タレ
コ−ド1500に対するデ−タを受け取るために、無条
件に、同期デ−タライト部i901をコ−ルする。以上
の処理以外は、図52の処理フロ−は、第38図の処理
フロ−に含まれるため、説明を省略する。
は、処理装置1300から、ライト対象となるデ−タレ
コ−ド1500に対するデ−タを受け取るために、無条
件に、同期デ−タライト部i901をコ−ルする。以上
の処理以外は、図52の処理フロ−は、第38図の処理
フロ−に含まれるため、説明を省略する。
【0326】図53は、同期デ−タライト部i901
が、ディスク装置1305の位置付け処理が完了した時
に実行される処理フロ−である。ヒット/ミス判定部b
300からコ−ルされた時に実行される処理フロ−は、
図32に示した処理フロ−であるため、ここでの説明を
省略する。以下、図53の説明を行う。図53に示した
同期デ−タライト部i901の処理フロ−は、同期デ−
タライト部h801の図50の処理フロ−に類似してい
る。したがって、図50との相違について説明する。図
50の中で、図50と同様のステップ番号の処理は、図
50の処理と同様である。
が、ディスク装置1305の位置付け処理が完了した時
に実行される処理フロ−である。ヒット/ミス判定部b
300からコ−ルされた時に実行される処理フロ−は、
図32に示した処理フロ−であるため、ここでの説明を
省略する。以下、図53の説明を行う。図53に示した
同期デ−タライト部i901の処理フロ−は、同期デ−
タライト部h801の図50の処理フロ−に類似してい
る。したがって、図50との相違について説明する。図
50の中で、図50と同様のステップ番号の処理は、図
50の処理と同様である。
【0327】ステップ5300では、制御装置1305
は、グル−プ内他デ−タレコ−ド702(他のデ−タレ
コ−ド1500)が、キャッシュ1308内に格納され
ているかをチェックする。そうでない場合、ステップ5
000へジャンプする。そうあれれば、ステップ530
1で、制御装置1305は、すべての更新前パリティレ
コ−ド107に対応するライトアフタビット2202を
オンにする。この後、ステップ3303へジャンプす
る。これ以外の図53の処理は、図50に含まれるた
め、説明を省略する。
は、グル−プ内他デ−タレコ−ド702(他のデ−タレ
コ−ド1500)が、キャッシュ1308内に格納され
ているかをチェックする。そうでない場合、ステップ5
000へジャンプする。そうあれれば、ステップ530
1で、制御装置1305は、すべての更新前パリティレ
コ−ド107に対応するライトアフタビット2202を
オンにする。この後、ステップ3303へジャンプす
る。これ以外の図53の処理は、図50に含まれるた
め、説明を省略する。
【0328】図54は、非同期レコ−ドロ−ド部d90
2が、ディスク装置1305の位置付け処理が完了した
時に実行される処理フロ−である。制御装置1305の
空いた時間を利用して実行する処理フロ−は、図34に
示した処理フロ−であるため、ここでの説明を省略す
る。以下、図54の説明を行う。図54に示した非同期
レコ−ドロ−ド部d902の処理フロ−は、非同期レコ
−ドロ−ド部c801の第51図の処理フロ−に類似し
ている。図54の処理フロ−は、図51に示した処理フ
ロ−に含まれる。これは、図54では、更新後パリティ
レコ−ド108を作成する処理を含まない点以外は、図
51の処理と同様であるためである。図51の内の各ス
テップの処理はすでに説明したため、ここでの説明は省
略する。
2が、ディスク装置1305の位置付け処理が完了した
時に実行される処理フロ−である。制御装置1305の
空いた時間を利用して実行する処理フロ−は、図34に
示した処理フロ−であるため、ここでの説明を省略す
る。以下、図54の説明を行う。図54に示した非同期
レコ−ドロ−ド部d902の処理フロ−は、非同期レコ
−ドロ−ド部c801の第51図の処理フロ−に類似し
ている。図54の処理フロ−は、図51に示した処理フ
ロ−に含まれる。これは、図54では、更新後パリティ
レコ−ド108を作成する処理を含まない点以外は、図
51の処理と同様であるためである。図51の内の各ス
テップの処理はすでに説明したため、ここでの説明は省
略する。
【0329】図55は、非同期レコ−ドライト部c90
3の処理フロ−である。制御装置1305の空いた時間
を利用して実行される処理フロ−は、図41に示した処
理フロ−であるため、ここでは説明を省略する。図55
は、非同期レコ−ドライト部b302の図42の処理フ
ロ−に類似している。したがって、図42との相違につ
いて説明する。図55の中で、図42と同じステップ番
号の処理は、図42の処理と同じである。以下、図55
の処理を説明する。
3の処理フロ−である。制御装置1305の空いた時間
を利用して実行される処理フロ−は、図41に示した処
理フロ−であるため、ここでは説明を省略する。図55
は、非同期レコ−ドライト部b302の図42の処理フ
ロ−に類似している。したがって、図42との相違につ
いて説明する。図55の中で、図42と同じステップ番
号の処理は、図42の処理と同じである。以下、図55
の処理を説明する。
【0330】ステップ5500では、制御装置1305
は、以下の処理を実行する。すなわち、キャッシュ内の
パリティグル−プ1600内のすべてのデ−タレコ−ド
1500から、パリティ作成装置b703を用いて更新
後パリティレコ−ド108を作成しながら、これをディ
スク装置1304に書き込む。(キャッシュ1308内
のデ−タレコ−ド1500の具体的な選択方法について
は、ステップ5100で説明したとおりである。)さら
に、この値を更新後セグメントポインタ2201が示す
セグメント1800に格納する。
は、以下の処理を実行する。すなわち、キャッシュ内の
パリティグル−プ1600内のすべてのデ−タレコ−ド
1500から、パリティ作成装置b703を用いて更新
後パリティレコ−ド108を作成しながら、これをディ
スク装置1304に書き込む。(キャッシュ1308内
のデ−タレコ−ド1500の具体的な選択方法について
は、ステップ5100で説明したとおりである。)さら
に、この値を更新後セグメントポインタ2201が示す
セグメント1800に格納する。
【0331】すべてのライトアフタビット2202がオ
フになった場合には、ステップ5501で、制御装置1
305は、ライト対象となったデ−タレコ−ド150
0、および、すべてのパリティレコ−ド1501に対応
する更新後セグメントポインタ2201が示していたセ
グメント1800を、更新前セグメントポインタ220
0が示すようにする。そして、対応する更新後セグメン
トポインタ2201にはヌル値を設定する。
フになった場合には、ステップ5501で、制御装置1
305は、ライト対象となったデ−タレコ−ド150
0、および、すべてのパリティレコ−ド1501に対応
する更新後セグメントポインタ2201が示していたセ
グメント1800を、更新前セグメントポインタ220
0が示すようにする。そして、対応する更新後セグメン
トポインタ2201にはヌル値を設定する。
【0332】以上の点以外は、図55の処理フロ−は図
42の処理フロ−と同様である。
42の処理フロ−と同様である。
【0333】図77は、第3の実施例の別の実現方法で
ある。図77の特徴は、更新後パリティレコ−ド108
を作成する契機が、制御装置1305のデ−タ転送処理
とは、非同期化している点である。すなわち、図77
は、第3の実施例において、パリティ作成契機として、
図86に示したパリティ作成契機dが用いられた場合
の、制御装置1305の動作を示したものである。
ある。図77の特徴は、更新後パリティレコ−ド108
を作成する契機が、制御装置1305のデ−タ転送処理
とは、非同期化している点である。すなわち、図77
は、第3の実施例において、パリティ作成契機として、
図86に示したパリティ作成契機dが用いられた場合
の、制御装置1305の動作を示したものである。
【0334】図77に示すように、制御装置1305
は、パリティ作成部b7701により、更新後デ−タレ
コ−ド106とグル−プ内他デ−タレコ−ド702か
ら、パリティ作成装置b703を用いて更新後パリティ
レコ−ド108を作成する。(7702)以下、詳細な
動作を説明する。ただし、ヒット/ミス判定部l770
0、パリティ作成部b7701以外の各処理部の説明は
すでに行っているため、説明を省略する。
は、パリティ作成部b7701により、更新後デ−タレ
コ−ド106とグル−プ内他デ−タレコ−ド702か
ら、パリティ作成装置b703を用いて更新後パリティ
レコ−ド108を作成する。(7702)以下、詳細な
動作を説明する。ただし、ヒット/ミス判定部l770
0、パリティ作成部b7701以外の各処理部の説明は
すでに行っているため、説明を省略する。
【0335】図81は、ヒット/ミス判定部l8100
の処理フロ−図である。ヒット/ミス判定部l8100
は、2つの実行開始点をもつ。
の処理フロ−図である。ヒット/ミス判定部l8100
は、2つの実行開始点をもつ。
【0336】第1の開始点は、図81に示された開始点
であり、処理装置1300からのライト要求を受け取っ
た時、実行開始される開始点である。第2の開始点は、
待ち状態が開放された時の開始点であり、ヒット/ミス
判定部a100の処理フロ−と同様であるため、図27
に示した処理フロ−となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図81の説明
を行う。図81に示したヒット/ミス判定l8100の
処理フロ−は、ヒット/ミス判定部a100の図48の
処理フロ−に相当する。したがって、図48との相違に
ついて説明する。図81の中で、図48と同様のステッ
プ番号の処理は、図48の処理と同様である。
であり、処理装置1300からのライト要求を受け取っ
た時、実行開始される開始点である。第2の開始点は、
待ち状態が開放された時の開始点であり、ヒット/ミス
判定部a100の処理フロ−と同様であるため、図27
に示した処理フロ−となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図81の説明
を行う。図81に示したヒット/ミス判定l8100の
処理フロ−は、ヒット/ミス判定部a100の図48の
処理フロ−に相当する。したがって、図48との相違に
ついて説明する。図81の中で、図48と同様のステッ
プ番号の処理は、図48の処理と同様である。
【0337】図81の処理フロ−では、制御装置130
5は、ステップ4800、パリティグル−プ1600内
の他のデ−タレコ−ド1500の中に存在しないものが
あるかを、チェックする。すべて存在する場合、ステッ
プ7900で、パリティ作成ビット2206をオンにす
る。この後、ステップ4802へジャンプする。以上の
処理以外は、図81の処理フロ−は、図48の処理フロ
−に含まれることになる。
5は、ステップ4800、パリティグル−プ1600内
の他のデ−タレコ−ド1500の中に存在しないものが
あるかを、チェックする。すべて存在する場合、ステッ
プ7900で、パリティ作成ビット2206をオンにす
る。この後、ステップ4802へジャンプする。以上の
処理以外は、図81の処理フロ−は、図48の処理フロ
−に含まれることになる。
【0338】図85は、パリティ作成部b7701の処
理フロ−図である。図85に示したパリティ作成部b7
701の処理フロ−は、パリティ作成部a7501の図
84の処理フロ−に相当する。したがって、図84との
相違について説明する。図85の中で、図84と同様の
ステップ番号の処理は、図84の処理と同様である。ス
テップ8500では、制御装置1305は、更新後デ−
タレコ−ド106とグル−プ内他デ−タレコ−ド702
から、更新後パリティレコ−ド108を作成する。詳細
は、ステップ3504等を参照されたい。以上の処理以
外は、図85の処理フロ−は、図84の処理フロ−に含
まれることになる。
理フロ−図である。図85に示したパリティ作成部b7
701の処理フロ−は、パリティ作成部a7501の図
84の処理フロ−に相当する。したがって、図84との
相違について説明する。図85の中で、図84と同様の
ステップ番号の処理は、図84の処理と同様である。ス
テップ8500では、制御装置1305は、更新後デ−
タレコ−ド106とグル−プ内他デ−タレコ−ド702
から、更新後パリティレコ−ド108を作成する。詳細
は、ステップ3504等を参照されたい。以上の処理以
外は、図85の処理フロ−は、図84の処理フロ−に含
まれることになる。
【0339】次に、第4の実施例について説明する。第
4の実施例は、図87に示したように、パリティグル−
プヒット/ミス判定処理b6600、非同期処理d71
00の組合せである。ただし、パリティ作成契機に関し
ては、パリティ作成契機a、パリティ作成契機b、パリ
ティ作成契機c、パリティ作成契機dが関係する。
4の実施例は、図87に示したように、パリティグル−
プヒット/ミス判定処理b6600、非同期処理d71
00の組合せである。ただし、パリティ作成契機に関し
ては、パリティ作成契機a、パリティ作成契機b、パリ
ティ作成契機c、パリティ作成契機dが関係する。
【0340】まず、第4の実施例の特長を説明する。
【0341】(1)パリティレコ−ド1501の更新値
(更新後パリティレコ−ド108)を作成するため、パ
リティグル−プヒット/ミス判定処理b6600を用い
る。具体的に用いる情報は、ライト対象として指定され
たデ−タレコ−ド1500の更新後の値と同一パリティ
グル−プ1600内の他のすべてのデ−タレコ−ド15
00の値(グル−プ内他デ−タレコ−ド702)であ
る。
(更新後パリティレコ−ド108)を作成するため、パ
リティグル−プヒット/ミス判定処理b6600を用い
る。具体的に用いる情報は、ライト対象として指定され
たデ−タレコ−ド1500の更新後の値と同一パリティ
グル−プ1600内の他のすべてのデ−タレコ−ド15
00の値(グル−プ内他デ−タレコ−ド702)であ
る。
【0342】(2)また、パリティレコ−ド1501の
更新値(更新後パリティレコ−ド108)を作成に伴う
処理の非同期化処理については、非同期処理d7100
を用いる。すなわち、高速ライト処理1313、あるい
は、高信頼/高速ライト処理1402を実行する。
更新値(更新後パリティレコ−ド108)を作成に伴う
処理の非同期化処理については、非同期処理d7100
を用いる。すなわち、高速ライト処理1313、あるい
は、高信頼/高速ライト処理1402を実行する。
【0343】(3)第4の実施例においても、パリティ
作成契機に関しては、パリティ作成契機a、パリティ作
成契機b、パリティ作成契機c、パリティ作成契機dを
すべての作成契機が組み合わされる。
作成契機に関しては、パリティ作成契機a、パリティ作
成契機b、パリティ作成契機c、パリティ作成契機dを
すべての作成契機が組み合わされる。
【0344】図10は、第4の実施例において、ライト
対象とするデ−タレコ−ド1500が属するパリティグ
ル−プ1600内のすべてのグル−プ内他デ−タレコ−
ド702が、キャッシュ1308に、存在する場合の制
御装置1305の動作を示したものである。すなわち、
図10は、第4の実施例において、パリティ作成契機と
して、図72に示したパリティ作成契機aが用いられた
場合の、制御装置1305の動作を示したものである。
対象とするデ−タレコ−ド1500が属するパリティグ
ル−プ1600内のすべてのグル−プ内他デ−タレコ−
ド702が、キャッシュ1308に、存在する場合の制
御装置1305の動作を示したものである。すなわち、
図10は、第4の実施例において、パリティ作成契機と
して、図72に示したパリティ作成契機aが用いられた
場合の、制御装置1305の動作を示したものである。
【0345】この場合、更新後パリティレコ−ド108
の更新値の作成は、更新後デ−タレコ−ド106を、キ
ャッシュ1308(および、不揮発性メモリ1400)
に書き込む際に、制御装置1305が、同期デ−タライ
ト部j1001を用いて実行する。(1002)この
際、パリティ作成装置b703を使用する。
の更新値の作成は、更新後デ−タレコ−ド106を、キ
ャッシュ1308(および、不揮発性メモリ1400)
に書き込む際に、制御装置1305が、同期デ−タライ
ト部j1001を用いて実行する。(1002)この
際、パリティ作成装置b703を使用する。
【0346】更新後デ−タレコ−ド106、および、更
新後パリティレコ−ド108は、制御装置1305が、
非同期レコ−ドライト部a103を用いて、処理装置1
300のリ−ド/ライト要求とは非同期に、ディスク装
置1305に書き込む。(111)図11は、第4の実
施例において、ライト対象とするデ−タレコ−ド150
0が属するパリティグル−プ1600内のすべてのグル
−プ内他デ−タレコ−ド702の中に、キャッシュ13
08に存在しないものがある場合の制御装置1305の
動作を示したものである。すなわち、図11は、第4の
実施例において、パリティ作成契機として、図73に示
したパリティ作成契機bが用いられた場合の、制御装置
1305の動作を示したものである。
新後パリティレコ−ド108は、制御装置1305が、
非同期レコ−ドライト部a103を用いて、処理装置1
300のリ−ド/ライト要求とは非同期に、ディスク装
置1305に書き込む。(111)図11は、第4の実
施例において、ライト対象とするデ−タレコ−ド150
0が属するパリティグル−プ1600内のすべてのグル
−プ内他デ−タレコ−ド702の中に、キャッシュ13
08に存在しないものがある場合の制御装置1305の
動作を示したものである。すなわち、図11は、第4の
実施例において、パリティ作成契機として、図73に示
したパリティ作成契機bが用いられた場合の、制御装置
1305の動作を示したものである。
【0347】この場合、制御装置1305が、非同期レ
コ−ドロ−ド部c901を用いて、処理装置1300か
らのリ−ド/ライト要求とは非同期に、キャッシュ13
08に存在しない更新前デ−タレコ−ド107にキャッ
シュ1308にロ−ドする。キャッシュ1308に存在
しない最後の更新前パリティレコ−ド107をキャッシ
ュ1308にロ−ドした時、すべてのパリティレコ−ド
1502に関し、更新後パリティレコ−ド108を作成
する。(804)更新後デ−タレコ−ド106は、図1
1に示したように、同期デ−タライト部k1100によ
り、キャッシュ1308(不揮発性メモリ1400に書
き込む場合もある。)へ書き込むが、この契機には、更
新後パリティレコ−ド108は作成しない。(111)
非同期レコ−ドライト部a302の動作は図10の動作
と同様であるため、説明を省略する。
コ−ドロ−ド部c901を用いて、処理装置1300か
らのリ−ド/ライト要求とは非同期に、キャッシュ13
08に存在しない更新前デ−タレコ−ド107にキャッ
シュ1308にロ−ドする。キャッシュ1308に存在
しない最後の更新前パリティレコ−ド107をキャッシ
ュ1308にロ−ドした時、すべてのパリティレコ−ド
1502に関し、更新後パリティレコ−ド108を作成
する。(804)更新後デ−タレコ−ド106は、図1
1に示したように、同期デ−タライト部k1100によ
り、キャッシュ1308(不揮発性メモリ1400に書
き込む場合もある。)へ書き込むが、この契機には、更
新後パリティレコ−ド108は作成しない。(111)
非同期レコ−ドライト部a302の動作は図10の動作
と同様であるため、説明を省略する。
【0348】次に、図10と図11に示した各処理部の
詳細について説明する。
詳細について説明する。
【0349】まず、ヒット/ミス判定部g1000の動
作を説明する。
作を説明する。
【0350】図56は、ヒット/ミス判定部g1000
の処理フロ−である。図56は、処理装置1300から
のライト要求を受け取った時、実行される処理フロ−で
ある。一方、ヒット/ミス判定部g1000の待ち状態
が開放された時に実行開始される処理は、図27に示し
た処理フロ−となる。図27は、すでに説明したため、
ここでは、説明を省略する。以下、図56の説明を行
う。図56に示したヒット/ミス判定部g1000の処
理フロ−は、ヒット/ミス判定部e700の図48の処
理フロ−に類似している。したがって、図48との相違
について説明する。図56の中で、図48と同様のステ
ップ番号の処理は、図48の処理と同様である。
の処理フロ−である。図56は、処理装置1300から
のライト要求を受け取った時、実行される処理フロ−で
ある。一方、ヒット/ミス判定部g1000の待ち状態
が開放された時に実行開始される処理は、図27に示し
た処理フロ−となる。図27は、すでに説明したため、
ここでは、説明を省略する。以下、図56の説明を行
う。図56に示したヒット/ミス判定部g1000の処
理フロ−は、ヒット/ミス判定部e700の図48の処
理フロ−に類似している。したがって、図48との相違
について説明する。図56の中で、図48と同様のステ
ップ番号の処理は、図48の処理と同様である。
【0351】ステップ5600では、ライト対象となる
デ−タレコ−ド1500が属するパリティグル−プ16
00内のすべてのグル−プ内他デ−タレコ−ド702の
中に、キャッシュ1308に存在する場合、制御装置1
305は、ステップ5600で、同期デ−タライト部j
1001をコ−ルし、処理を終了する。
デ−タレコ−ド1500が属するパリティグル−プ16
00内のすべてのグル−プ内他デ−タレコ−ド702の
中に、キャッシュ1308に存在する場合、制御装置1
305は、ステップ5600で、同期デ−タライト部j
1001をコ−ルし、処理を終了する。
【0352】存在しない場合、制御装置1305は、ス
テップ5601で、同期デ−タライト部k1100をコ
−ルし、処理を終了する。以上の処理以外は、図56の
処理フロ−は、図48の処理フロ−に含まれるため、説
明は省略する。
テップ5601で、同期デ−タライト部k1100をコ
−ルし、処理を終了する。以上の処理以外は、図56の
処理フロ−は、図48の処理フロ−に含まれるため、説
明は省略する。
【0353】図57は、同期デ−タライト部j1001
の処理フロ−である。図57は、同期デ−タライト部j
1001が、ヒット/ミス判定部g1000からコ−ル
された時に実行される処理フロ−である。図57に示し
た同期デ−タライト部j1001の処理フロ−は、図4
4の同期デ−タライト部d401の処理フロ−に類似し
ている。したがって、図44との相違について説明す
る。図57の中で、図44と同様のステップ番号の処理
は、図44の処理と同様である。
の処理フロ−である。図57は、同期デ−タライト部j
1001が、ヒット/ミス判定部g1000からコ−ル
された時に実行される処理フロ−である。図57に示し
た同期デ−タライト部j1001の処理フロ−は、図4
4の同期デ−タライト部d401の処理フロ−に類似し
ている。したがって、図44との相違について説明す
る。図57の中で、図44と同様のステップ番号の処理
は、図44の処理と同様である。
【0354】ステップ5700で、制御装置1305
は、処理装置1300から受け取ったデ−タを、更新後
デ−タレコ−ド105として、更新後セグメントポイン
タ2201で示されたセグメント1800に格納する。
(不揮発性メモリ1400に格納する場合、不揮発性セ
グメント2500にも転送する。)さらに、以下の処理
を実行する。
は、処理装置1300から受け取ったデ−タを、更新後
デ−タレコ−ド105として、更新後セグメントポイン
タ2201で示されたセグメント1800に格納する。
(不揮発性メモリ1400に格納する場合、不揮発性セ
グメント2500にも転送する。)さらに、以下の処理
を実行する。
【0355】処理装置1300から受け取った更新後デ
−タレコ−ド105とそれ以外のグル−プ内他デ−タレ
コ−ド702より、すべての更新後パリティレコ−ド1
08を作成し、対応する更新後セグメントポインタ22
01で示されたセグメント1800に格納する。
−タレコ−ド105とそれ以外のグル−プ内他デ−タレ
コ−ド702より、すべての更新後パリティレコ−ド1
08を作成し、対応する更新後セグメントポインタ22
01で示されたセグメント1800に格納する。
【0356】ステップ5701では、制御装置1305
は、ライト対象となったデ−タレコ−ド1500、およ
び、すべてのパリティレコ−ド1501に対応する更新
後セグメントポインタ2201が示していたセグメント
1800を、更新前セグメントポインタ2200が示す
ようにする。そして、対応する更新後セグメントポイン
タ2201にはヌル値を設定する。
は、ライト対象となったデ−タレコ−ド1500、およ
び、すべてのパリティレコ−ド1501に対応する更新
後セグメントポインタ2201が示していたセグメント
1800を、更新前セグメントポインタ2200が示す
ようにする。そして、対応する更新後セグメントポイン
タ2201にはヌル値を設定する。
【0357】以上の処理以外は、図57の処理は、図4
4の処理に含まれるため説明を省略する。
4の処理に含まれるため説明を省略する。
【0358】図58は、同期デ−タライト部k1100
の処理フロ−である。図58は、同期デ−タライト部b
200が、ヒット/ミス判定部g1000からコ−ルさ
れた時に実行される処理フロ−である。図58に示した
同期デ−タライト部k1100の処理フロ−は、同期デ
−タライト部e500の図45の処理フロ−に相当す
る。したがって、図45との相違について説明する。図
45の中で、図45と同様のステップ番号の処理は、図
45の処理と同様である。
の処理フロ−である。図58は、同期デ−タライト部b
200が、ヒット/ミス判定部g1000からコ−ルさ
れた時に実行される処理フロ−である。図58に示した
同期デ−タライト部k1100の処理フロ−は、同期デ
−タライト部e500の図45の処理フロ−に相当す
る。したがって、図45との相違について説明する。図
45の中で、図45と同様のステップ番号の処理は、図
45の処理と同様である。
【0359】以下、図58の処理を説明する。
【0360】ステップ5800では、制御装置1305
は、キャッシュ1308に格納されていないデ−タレコ
−ド1500に対応するロ−ド要求ビット2203をオ
ンにする。(この場合、ライト対象となったデ−タレコ
−ド1500に対応するロ−ド要求ビット2203がオ
ンの場合、オフする。)以上の処理以外は、図58の処
理は、図45の処理に含まれるため説明を省略する。
は、キャッシュ1308に格納されていないデ−タレコ
−ド1500に対応するロ−ド要求ビット2203をオ
ンにする。(この場合、ライト対象となったデ−タレコ
−ド1500に対応するロ−ド要求ビット2203がオ
ンの場合、オフする。)以上の処理以外は、図58の処
理は、図45の処理に含まれるため説明を省略する。
【0361】非同期レコ−ドロ−ド部c201、非同期
レコ−ドライト部a103の処理フロ−は、すでに説明
したため、ここでは、説明を省略する。
レコ−ドライト部a103の処理フロ−は、すでに説明
したため、ここでは、説明を省略する。
【0362】図12は、第4の実施例の別の実現方法で
ある。図10、図11で示した内容との相違は、更新後
パリティレコ−ド108を作成する契機が、更新後パリ
ティレコ−ド108そのものをディスク装置1304に
書き込む契機であるという点である。すなわち、図12
は、第4の実施例において、パリティ作成契機として、
図74に示したパリティ作成契機cが用いられた場合
の、制御装置1305の動作を示したものである。
ある。図10、図11で示した内容との相違は、更新後
パリティレコ−ド108を作成する契機が、更新後パリ
ティレコ−ド108そのものをディスク装置1304に
書き込む契機であるという点である。すなわち、図12
は、第4の実施例において、パリティ作成契機として、
図74に示したパリティ作成契機cが用いられた場合
の、制御装置1305の動作を示したものである。
【0363】第1の実施例で第3図に示した動作と同
様、制御装置1305は、図12の動作でも、非同期レ
コ−ドライト部b303により更新後パリティレコ−ド
108の作成しながら、これをディスク装置1304に
書き込む。(1203)以下、詳細な動作を説明する。
様、制御装置1305は、図12の動作でも、非同期レ
コ−ドライト部b303により更新後パリティレコ−ド
108の作成しながら、これをディスク装置1304に
書き込む。(1203)以下、詳細な動作を説明する。
【0364】図59は、ヒット/ミス判定部h1200
の処理フロ−である。図59は、処理装置1300から
のライト要求を受け取った時、実行される処理フロ−で
ある。一方、ヒット/ミス判定部h1200の待ち状態
が開放された時に実行開始される処理は、図27に示し
た処理フロ−となる。図27は、すでに説明したため、
ここでは、説明を省略する。以下、図59の説明を行
う。図59に示したヒット/ミス判定部h1200の処
理フロ−は、ヒット/ミス判定部f900の図52の処
理フロ−に相当する。したがって、図52との相違につ
いて説明する。図59の中で、図52と同様のステップ
番号の処理は、図52の処理と同様である。
の処理フロ−である。図59は、処理装置1300から
のライト要求を受け取った時、実行される処理フロ−で
ある。一方、ヒット/ミス判定部h1200の待ち状態
が開放された時に実行開始される処理は、図27に示し
た処理フロ−となる。図27は、すでに説明したため、
ここでは、説明を省略する。以下、図59の説明を行
う。図59に示したヒット/ミス判定部h1200の処
理フロ−は、ヒット/ミス判定部f900の図52の処
理フロ−に相当する。したがって、図52との相違につ
いて説明する。図59の中で、図52と同様のステップ
番号の処理は、図52の処理と同様である。
【0365】ステップ5900で、制御装置1305
は、処理装置1300から、ライト対象となるデ−タレ
コ−ド1500に対するデ−タを受け取るために、無条
件に、同期デ−タライト部l1201をコ−ルする。以
上の処理以外は、図59の処理フロ−は、図52の処理
フロ−に含まれるため、説明を省略する。
は、処理装置1300から、ライト対象となるデ−タレ
コ−ド1500に対するデ−タを受け取るために、無条
件に、同期デ−タライト部l1201をコ−ルする。以
上の処理以外は、図59の処理フロ−は、図52の処理
フロ−に含まれるため、説明を省略する。
【0366】図60は、同期デ−タライト部l1201
の処理フロ−である。本処理フロ−は、ヒット/ミス判
定部h1200からコ−ルされた時に実行される処理フ
ロ−である。図60に示した同期デ−タライト部l20
1の処理フロ−は、同期デ−タライト部k1100の図
58の処理フロ−に類似している。したがって、図58
との相違について説明する。図60の中で、図58と同
じステップ番号の処理は、図58の処理と同じである。
の処理フロ−である。本処理フロ−は、ヒット/ミス判
定部h1200からコ−ルされた時に実行される処理フ
ロ−である。図60に示した同期デ−タライト部l20
1の処理フロ−は、同期デ−タライト部k1100の図
58の処理フロ−に類似している。したがって、図58
との相違について説明する。図60の中で、図58と同
じステップ番号の処理は、図58の処理と同じである。
【0367】ステップ6000では、制御装置1305
は、すべてのグル−プ内他デ−タレコ−ド702が、キ
ャッシュ1308内に格納されているかをチェックす
る。そうでない場合、ステップ5800へジャンプす
る。そうあれば、ステップ6001で、制御装置130
5は、すべての更新前パリティレコ−ド107に対応す
るライトアフタビット2202をオンにする。この後、
ステップ3303へジャンプする。これ以外の図60の
処理は、図58に含まれるため、説明を省略する。非同
期レコ−ドロ−ド部d902、非同期レコ−ドライト部
c903の処理についてはすでに説明を行ったため、説
明を省略する。
は、すべてのグル−プ内他デ−タレコ−ド702が、キ
ャッシュ1308内に格納されているかをチェックす
る。そうでない場合、ステップ5800へジャンプす
る。そうあれば、ステップ6001で、制御装置130
5は、すべての更新前パリティレコ−ド107に対応す
るライトアフタビット2202をオンにする。この後、
ステップ3303へジャンプする。これ以外の図60の
処理は、図58に含まれるため、説明を省略する。非同
期レコ−ドロ−ド部d902、非同期レコ−ドライト部
c903の処理についてはすでに説明を行ったため、説
明を省略する。
【0368】図78は、第4の実施例の別の実現方法で
ある。図78の特徴は、更新後パリティレコ−ド108
を作成する契機が、制御装置1305のデ−タ転送処理
とは、非同期化している点である。すなわち、図78
は、第4の実施例において、パリティ作成契機として、
図86に示したパリティ作成契機dが用いられた場合
の、制御装置1305の動作を示したものである。
ある。図78の特徴は、更新後パリティレコ−ド108
を作成する契機が、制御装置1305のデ−タ転送処理
とは、非同期化している点である。すなわち、図78
は、第4の実施例において、パリティ作成契機として、
図86に示したパリティ作成契機dが用いられた場合
の、制御装置1305の動作を示したものである。
【0369】図78に示すように、制御装置1305
は、パリティ作成部b7701により、更新後デ−タレ
コ−ド106とグル−プ内他デ−タレコ−ド702か
ら、パリティ作成装置b703を用いて更新後デ−タレ
コ−ド108を作成する。(7702)以下、詳細な動
作を説明する。ただし、ヒット/ミス判定部m7800
以外の各処理部の説明はすでに行っているため、説明を
省略する。
は、パリティ作成部b7701により、更新後デ−タレ
コ−ド106とグル−プ内他デ−タレコ−ド702か
ら、パリティ作成装置b703を用いて更新後デ−タレ
コ−ド108を作成する。(7702)以下、詳細な動
作を説明する。ただし、ヒット/ミス判定部m7800
以外の各処理部の説明はすでに行っているため、説明を
省略する。
【0370】図82は、ヒット/ミス判定部m8200
の処理フロ−図である。ヒット/ミス判定部m8200
は、2つの実行開始点をもつ。
の処理フロ−図である。ヒット/ミス判定部m8200
は、2つの実行開始点をもつ。
【0371】第1の開始点は、図82に示された開始点
であり、処理装置1300からのライト要求を受け取っ
た時、実行開始される開始点である。第2の開始点は、
待ち状態が開放された時の開始点であり、ヒット/ミス
判定部a100の処理フロ−と同様であるため、図27
に示した処理フロ−となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図82の説明
を行う。図82に示したヒット/ミス判定l8100の
処理フロ−は、ヒット/ミス判定部a100の図56の
処理フロ−に相当する。したがって、図56との相違に
ついて説明する。図82の中で、図56と同様のステッ
プ番号の処理は、図56の処理と同様である。
であり、処理装置1300からのライト要求を受け取っ
た時、実行開始される開始点である。第2の開始点は、
待ち状態が開放された時の開始点であり、ヒット/ミス
判定部a100の処理フロ−と同様であるため、図27
に示した処理フロ−となる。図27は、すでに説明した
ため、ここでは、説明を省略する。以下、図82の説明
を行う。図82に示したヒット/ミス判定l8100の
処理フロ−は、ヒット/ミス判定部a100の図56の
処理フロ−に相当する。したがって、図56との相違に
ついて説明する。図82の中で、図56と同様のステッ
プ番号の処理は、図56の処理と同様である。
【0372】図81の処理フロ−では、制御装置130
5は、ステップ4800、パリティグル−プ1600内
の他のデ−タレコ−ド1500の中に存在しないものが
あるかを、チェックする。すべて存在する場合、ステッ
プ7900で、パリティ作成ビット2206をオンにす
る。この後、ステップ5602へジャンプする。以上の
処理以外は、図82の処理フロ−は、図56の処理フロ
−に含まれることになる。
5は、ステップ4800、パリティグル−プ1600内
の他のデ−タレコ−ド1500の中に存在しないものが
あるかを、チェックする。すべて存在する場合、ステッ
プ7900で、パリティ作成ビット2206をオンにす
る。この後、ステップ5602へジャンプする。以上の
処理以外は、図82の処理フロ−は、図56の処理フロ
−に含まれることになる。
【0373】最後に、第5の実施例について説明する。
第5の実施例は、パリティグル−プヒット/ミス判定機
能c6700を用いた実施例である。ただし、第5の実
施例は、図87に示すように、パリティレコ−ドヒット
/ミス判定機能a6500、パリティレコ−ドヒット/
ミス判定機能b6600、非同期処理a6800、非同
期処理b6900、非同期処理c7000、非同期処理
d7100、パリティ作成契機a、パリティ作成契機
b、パリティ作成契機c、パリティ作成契機dも関係す
る。以下、詳細に説明する。
第5の実施例は、パリティグル−プヒット/ミス判定機
能c6700を用いた実施例である。ただし、第5の実
施例は、図87に示すように、パリティレコ−ドヒット
/ミス判定機能a6500、パリティレコ−ドヒット/
ミス判定機能b6600、非同期処理a6800、非同
期処理b6900、非同期処理c7000、非同期処理
d7100、パリティ作成契機a、パリティ作成契機
b、パリティ作成契機c、パリティ作成契機dも関係す
る。以下、詳細に説明する。
【0374】パリティレコ−ド1501の更新値を作成
するための情報は、すでに述べたように以下の2種類あ
る。
するための情報は、すでに述べたように以下の2種類あ
る。
【0375】(1)デ−タレコ−ド1500の更新前の
値と更新後の値、および、パリティレコ−ド1501の
更新前の値。
値と更新後の値、および、パリティレコ−ド1501の
更新前の値。
【0376】(2)デ−タレコ−ド1500の更新後の
値と同一パリティグル−プ1600他のすべてのデ−タ
レコ−ド1501の値。
値と同一パリティグル−プ1600他のすべてのデ−タ
レコ−ド1501の値。
【0377】第5の実施例の特長は、以上のレコ−ド1
502のキャッシュ1308の格納状況により、
(1)、(2)のどちらのレコ−ド1502の集合を用
いてパリティレコ−ド1501の更新値を作成するか
を、制御装置1305が選択する点である。
502のキャッシュ1308の格納状況により、
(1)、(2)のどちらのレコ−ド1502の集合を用
いてパリティレコ−ド1501の更新値を作成するか
を、制御装置1305が選択する点である。
【0378】図61は、第5の実施例における制御装置
1305の動作を、処理フロ−で表したものである。
1305の動作を、処理フロ−で表したものである。
【0379】制御装置1305は、処理装置1300か
らライト要求を受け取ると、ステップ6100で、更新
前パリティレコ−ド107とライト対象となるデ−タレ
コ−ド1501の更新前デ−タレコ−ド105の中で、
キャッシュ1308にない数をチェックする。
らライト要求を受け取ると、ステップ6100で、更新
前パリティレコ−ド107とライト対象となるデ−タレ
コ−ド1501の更新前デ−タレコ−ド105の中で、
キャッシュ1308にない数をチェックする。
【0380】制御装置1308は、ステップ6101
で、ライト対象となるデ−タレコ−ド1501と同一パ
リティグル−プのグル−プ内他デ−タレコ−ド702
(他のデ−タレコ−ド1501)の中で、キャッシュ1
308に存在しないものの数をチェックする。(この場
合、更新前セグメント2200も更新後セグメント22
01のいずれもヌル値であるデ−タレコ−ド1500の
数である。)ステップ6102では、制御装置1305
は、ステップ6100でチェックした数、ステップ61
01でチェックした数のうち、どちらが小さいかをチェ
ックする。この場合小さい方を選んだ方がロ−ドすべき
レコ−ド1502の数が小さいため、オ−バヘッドが少
ない。したがって、ステップ6100でチェックした数
の方が小さい場合、ライト対象となるデ−タレコ−ド1
500の更新前の値、パリティレコ−ド1501の更新
前の値から、パリティレコ−ド1501の更新値を作成
するため、ステップ6103へジァンプする。ステップ
6103へのジャンプは、パリティグル−プヒット/ミ
ス判定処理a6600の実行に入ることを意味する。
で、ライト対象となるデ−タレコ−ド1501と同一パ
リティグル−プのグル−プ内他デ−タレコ−ド702
(他のデ−タレコ−ド1501)の中で、キャッシュ1
308に存在しないものの数をチェックする。(この場
合、更新前セグメント2200も更新後セグメント22
01のいずれもヌル値であるデ−タレコ−ド1500の
数である。)ステップ6102では、制御装置1305
は、ステップ6100でチェックした数、ステップ61
01でチェックした数のうち、どちらが小さいかをチェ
ックする。この場合小さい方を選んだ方がロ−ドすべき
レコ−ド1502の数が小さいため、オ−バヘッドが少
ない。したがって、ステップ6100でチェックした数
の方が小さい場合、ライト対象となるデ−タレコ−ド1
500の更新前の値、パリティレコ−ド1501の更新
前の値から、パリティレコ−ド1501の更新値を作成
するため、ステップ6103へジァンプする。ステップ
6103へのジャンプは、パリティグル−プヒット/ミ
ス判定処理a6600の実行に入ることを意味する。
【0381】一方、そうでない場合、他のすべてのデ−
タレコ−ド1501の値からパリティレコ−ド1501
の更新値を作成するため、ステップ6106へジァンプ
する。ステップ6106へのジャンプは、パリティグル
−プヒット/ミス判定処理b6700の実行に入ること
を意味する。
タレコ−ド1501の値からパリティレコ−ド1501
の更新値を作成するため、ステップ6106へジァンプ
する。ステップ6106へのジャンプは、パリティグル
−プヒット/ミス判定処理b6700の実行に入ること
を意味する。
【0382】ステップ6103では、デ−タレコ−ド1
501のディスク装置への書き込みを同期化するかを判
断する。同期化する場合、非同期処理a6800を選択
したことになる。ステップ6104では、ヒット/ミス
判定部a100をコ−ルする。ヒット/ミス判定部a1
00をコ−ルしたことは、パリティ作成契機としては、
パリティ作成契機a、パリティ作成契機bを選択したこ
とになる。この場合、パリティ作成契機cを選択するの
であれば、代わりにヒット/ミス判定部b300をコ−
ルしてもよい。また、パリティ作成契機dを選択するの
であれば、代わりにヒット/ミス判定部j7900をコ
−ルしてもよい。
501のディスク装置への書き込みを同期化するかを判
断する。同期化する場合、非同期処理a6800を選択
したことになる。ステップ6104では、ヒット/ミス
判定部a100をコ−ルする。ヒット/ミス判定部a1
00をコ−ルしたことは、パリティ作成契機としては、
パリティ作成契機a、パリティ作成契機bを選択したこ
とになる。この場合、パリティ作成契機cを選択するの
であれば、代わりにヒット/ミス判定部b300をコ−
ルしてもよい。また、パリティ作成契機dを選択するの
であれば、代わりにヒット/ミス判定部j7900をコ
−ルしてもよい。
【0383】非同期化する場合、非同期処理b6900
を選択したことになる。ステップ6105では、ヒット
/ミス判定部c400をコ−ルする。ヒット/ミス判定
部c400をコ−ルしたことは、パリティ作成契機とし
ては、パリティ作成契機a、パリティ作成契機bを選択
したことになる。この場合、パリティ作成契機cを選択
するのであれば、代わりにヒット/ミス判定部d600
をコ−ルしてもよい。また、パリティ作成契機dを選択
するのであれば、代わりにヒット/ミス判定部k800
0をコ−ルしてもよい。
を選択したことになる。ステップ6105では、ヒット
/ミス判定部c400をコ−ルする。ヒット/ミス判定
部c400をコ−ルしたことは、パリティ作成契機とし
ては、パリティ作成契機a、パリティ作成契機bを選択
したことになる。この場合、パリティ作成契機cを選択
するのであれば、代わりにヒット/ミス判定部d600
をコ−ルしてもよい。また、パリティ作成契機dを選択
するのであれば、代わりにヒット/ミス判定部k800
0をコ−ルしてもよい。
【0384】ステップ6106では、デ−タレコ−ド1
501のディスク装置への書き込みを同期化するかを判
断する。同期化する場合、非同期処理c7000を選択
したことになる。ステップ6107では、ヒット/ミス
判定部e700をコ−ルする。ヒット/ミス判定部e7
00をコ−ルしたことは、パリティ作成契機としては、
パリティ作成契機a、パリティ作成契機bを選択したこ
とになる。この場合、パリティ作成契機cを選択するの
であれば、代わりにヒット/ミス判定部f900をコ−
ルしてもよい。また、パリティ作成契機dを選択するの
であれば、代わりにヒット/ミス判定部l8100をコ
−ルしてもよい。
501のディスク装置への書き込みを同期化するかを判
断する。同期化する場合、非同期処理c7000を選択
したことになる。ステップ6107では、ヒット/ミス
判定部e700をコ−ルする。ヒット/ミス判定部e7
00をコ−ルしたことは、パリティ作成契機としては、
パリティ作成契機a、パリティ作成契機bを選択したこ
とになる。この場合、パリティ作成契機cを選択するの
であれば、代わりにヒット/ミス判定部f900をコ−
ルしてもよい。また、パリティ作成契機dを選択するの
であれば、代わりにヒット/ミス判定部l8100をコ
−ルしてもよい。
【0385】非同期化する場合、非同期処理d7100
を選択したことになる。ステップ6105では、ヒット
/ミス判定部g1000をコ−ルする。ヒット/ミス判
定部c400をコ−ルしたことは、パリティ作成契機と
しては、パリティ作成契機a、パリティ作成契機bを選
択したことになる。この場合、パリティ作成契機cを選
択するのであれば、代わりにヒット/ミス判定部h12
00をコ−ルしてもよい。また、パリティ作成契機dを
選択するのであれば、代わりにヒット/ミス判定部m8
100をコ−ルしてもよい。
を選択したことになる。ステップ6105では、ヒット
/ミス判定部g1000をコ−ルする。ヒット/ミス判
定部c400をコ−ルしたことは、パリティ作成契機と
しては、パリティ作成契機a、パリティ作成契機bを選
択したことになる。この場合、パリティ作成契機cを選
択するのであれば、代わりにヒット/ミス判定部h12
00をコ−ルしてもよい。また、パリティ作成契機dを
選択するのであれば、代わりにヒット/ミス判定部m8
100をコ−ルしてもよい。
【0386】
【発明の効果】本発明は、レコ−ド単位配置のディスク
アレイ(Pattersonの論文におけるレベル4、
レベル5のディスクアレイ)において、処理装置から発
行されたライト要求に対する処理の高速化に関する。具
体的には、制御装置内のディスクキャッシュを利用し
て、(1)パリティレコ−ドの更新値を作成するために
必要な情報を獲得する処理時間の短縮、(2)ライト要
求に伴って発生する処理を可能な限り非同期化すること
にる処理装置から見た応答時間の短縮を実現する。
アレイ(Pattersonの論文におけるレベル4、
レベル5のディスクアレイ)において、処理装置から発
行されたライト要求に対する処理の高速化に関する。具
体的には、制御装置内のディスクキャッシュを利用し
て、(1)パリティレコ−ドの更新値を作成するために
必要な情報を獲得する処理時間の短縮、(2)ライト要
求に伴って発生する処理を可能な限り非同期化すること
にる処理装置から見た応答時間の短縮を実現する。
【図1】本発明の概要を表す。
【図2】本発明の第1の実施例において、処理装置から
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ていない場合の制御装置の動作の概要を表す。
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ていない場合の制御装置の動作の概要を表す。
【図3】本発明の第1の実施例において、パリティレコ
−ドの更新値の作成しながら、更新値をディスク装置に
書き込む場合の制御装置の動作の概要を表す。
−ドの更新値の作成しながら、更新値をディスク装置に
書き込む場合の制御装置の動作の概要を表す。
【図4】本発明の第2の実施例において、処理装置から
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ている場合の制御装置の動作の概要を表す。
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ている場合の制御装置の動作の概要を表す。
【図5】本発明の第2の実施例において、処理装置から
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ていない場合の制御装置の動作の概要を表す。
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ていない場合の制御装置の動作の概要を表す。
【図6】本発明の第2の実施例において、パリティレコ
−ドの更新値の作成しながら、更新値をディスク装置に
書き込む場合の制御装置の動作の概要を表す。
−ドの更新値の作成しながら、更新値をディスク装置に
書き込む場合の制御装置の動作の概要を表す。
【図7】本発明の第3の実施例において、処理装置から
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ている場合の制御装置の動作の概要を表す。
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ている場合の制御装置の動作の概要を表す。
【図8】本発明の第3の実施例において、処理装置から
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ていない場合の制御装置の動作の概要を表す。
ライト要求を受け取った時、パリティレコ−ドの更新値
を作成するために必要なデ−タがキャッシュに格納され
ていない場合の制御装置の動作の概要を表す。
【図9】本発明の第3の実施例において、パリティレコ
−ドの更新値の作成しながら、更新値をディスク装置に
書き込む場合の制御装置の動作の概要を表す。
−ドの更新値の作成しながら、更新値をディスク装置に
書き込む場合の制御装置の動作の概要を表す。
【図10】本発明の第4の実施例において、処理装置か
らライト要求を受け取った時、パリティレコ−ドの更新
値を作成するために必要なデ−タがキャッシュに格納さ
れている場合の制御装置の動作の概要を表す。
らライト要求を受け取った時、パリティレコ−ドの更新
値を作成するために必要なデ−タがキャッシュに格納さ
れている場合の制御装置の動作の概要を表す。
【図11】本発明の第4の実施例において、処理装置か
らライト要求を受け取った時、パリティレコ−ドの更新
値を作成するために必要なデ−タがキャッシュに格納さ
れていない場合の制御装置の動作の概要を表す。
らライト要求を受け取った時、パリティレコ−ドの更新
値を作成するために必要なデ−タがキャッシュに格納さ
れていない場合の制御装置の動作の概要を表す。
【図12】本発明の第4の実施例において、パリティレ
コ−ドの更新値の作成しながら、更新値をディスク装置
に書き込む場合の制御装置の動作の概要を表す。
コ−ドの更新値の作成しながら、更新値をディスク装置
に書き込む場合の制御装置の動作の概要を表す。
【図13】本発明の対象となる計算機システムの構成を
表す。
表す。
【図14】本発明の対象となるもう1つの計算機システ
ムの構成を表す。
ムの構成を表す。
【図15】ディスク装置上に存在するレコ−ドの種類を
表す。
表す。
【図16】パリティグル−プを構成するレコ−ドを表
す。
す。
【図17】本発明の対象となる第3の計算機システムの
構成を表す。
構成を表す。
【図18】キャッシュの構成を表す。
【図19】セグメントの構成を表す。
【図20】ディレクトリの構成を表す。
【図21】トラック票の構成を表す。
【図22】パリティグル−プ(PG)管理情報の構成を
表す。
表す。
【図23】空きセグメントキュ−の構造を表す。
【図24】空きPG管理情報キュ−の構成を表す。
【図25】不揮発メモリの構成を表す。
【図26】ヒット/ミス判定部aの処理フロ−を表す。
【図27】待ち状態が開放された時のヒット/ミス判定
部aの処理フロ−を表す。
部aの処理フロ−を表す。
【図28】同期デ−タロ−ド部aの処理フロ−を表す。
【図29】ディスク装置の位置付け処理が完了した時
の、同期デ−タロ−ド部aの処理フロ−を表す。
の、同期デ−タロ−ド部aの処理フロ−を表す。
【図30】同期デ−タライト部aの処理フロ−を表す。
【図31】ディスク装置の位置付け処理が完了した時
の、同期デ−タライト部aの処理フロ−を表す。
の、同期デ−タライト部aの処理フロ−を表す。
【図32】同期デ−タライト部aの処理フロ−を表す。
【図33】ディスク装置の位置付け処理が完了した時
の、同期デ−タライト部aの処理フロ−を表す。
の、同期デ−タライト部aの処理フロ−を表す。
【図34】非同期レコ−ドロ−ド部aの処理フロ−を表
す。
す。
【図35】ディスク装置の位置付け処理が完了した時
の、非同期レコ−ドロ−ド部aの処理フロ−を表す。
の、非同期レコ−ドロ−ド部aの処理フロ−を表す。
【図36】非同期レコ−ドライト部aの処理フロ−を表
す。
す。
【図37】ディスク装置の位置付け処理が完了した時
の、非同期レコ−ドライト部aの処理フロ−を表す。
の、非同期レコ−ドライト部aの処理フロ−を表す。
【図38】ヒット/ミス判定部bの処理フロ−を表す。
【図39】同期デ−タライト部cの処理フロ−を表す。
【図40】非同期レコ−ドロ−ド部bの処理フロ−を表
す。
す。
【図41】非同期レコ−ドライト部bの処理フロ−を表
す。
す。
【図42】ディスク装置の位置付け処理が完了した時
の、非同期レコ−ドライト部bの処理フロ−を表す。
の、非同期レコ−ドライト部bの処理フロ−を表す。
【図43】ヒット/ミス判定部cの処理フロ−を表す。
【図44】同期デ−タライト部dの処理フロ−を表す。
【図45】同期デ−タライト部eの処理フロ−を表す。
【図46】ヒット/ミス判定部dの処理フロ−を表す。
【図47】同期デ−タライト部fの処理フロ−を表す。
【図48】ヒット/ミス判定部eの処理フロ−を表す。
【図49】同期デ−タライト部gの処理フロ−を表す。
【図50】同期デ−タライト部hの処理フロ−を表す。
【図51】非同期レコ−ドロ−ド部cの処理フロ−を表
す。
す。
【図52】ヒット/ミス判定部fの処理フロ−を表す。
【図53】同期デ−タライト部iの処理フロ−を表す。
【図54】非同期レコ−ドロ−ド部dの処理フロ−を表
す。
す。
【図55】非同期レコ−ドライト部cの処理フロ−を表
す。
す。
【図56】ヒット/ミス判定部gの処理フロ−を表す。
【図57】同期デ−タライト部jの処理フロ−を表す。
【図58】同期デ−タライト部kの処理フロ−を表す。
【図59】ヒット/ミス判定部dの処理フロ−を表す。
【図60】同期デ−タライト部kの処理フロ−を表す。
【図61】第5の実施例における制御装置の動作に関す
る処理フロ−を表す。
る処理フロ−を表す。
【図62】本発明の第1の実施例において、処理装置か
らライト要求を受け取った時、パリティレコ−ドの更新
値を作成するために必要なデ−タがキャッシュに格納さ
れている場合の制御装置の動作の概要を表す。
らライト要求を受け取った時、パリティレコ−ドの更新
値を作成するために必要なデ−タがキャッシュに格納さ
れている場合の制御装置の動作の概要を表す。
【図63】その前のライト要求で必要となったパリティ
レコ−ドのロ−ド処理が完了しない場合、同じデ−タレ
コ−ドにライト要求を受け付けた時のキャッシュの状態
を表す。
レコ−ドのロ−ド処理が完了しない場合、同じデ−タレ
コ−ドにライト要求を受け付けた時のキャッシュの状態
を表す。
【図64】その前のライト要求で必要となったパリティ
レコ−ドのロ−ド処理が完了しない場合、同じデ−タレ
コ−ドにライト要求を受け付けた後のキャッシュの状態
を表す。
レコ−ドのロ−ド処理が完了しない場合、同じデ−タレ
コ−ドにライト要求を受け付けた後のキャッシュの状態
を表す。
【図65】パリティグル−プヒット/ミ判定処理aの概
要を表す。
要を表す。
【図66】パリティグル−プヒット/ミ判定処理bの概
要を表す。
要を表す。
【図67】パリティグル−プヒット/ミ判定処理cの概
要を表す。
要を表す。
【図68】非同期処理aの概要を表す。
【図69】非同期処理bの概要を表す。
【図70】非同期処理cの概要を表す。
【図71】非同期処理dの概要を表す。
【図72】パリティ作成契機aの概要を表す。
【図73】パリティ作成契機bの概要を表す。
【図74】パリティ作成契機cの概要を表す。
【図75】本発明の第1の実施例において、パリティレ
コ−ドの更新値の作成を制御装置のデ−タ転送とは、非
同期に実行する場合の制御装置の動作の概要を表す。
コ−ドの更新値の作成を制御装置のデ−タ転送とは、非
同期に実行する場合の制御装置の動作の概要を表す。
【図76】本発明の第2の実施例において、パリティレ
コ−ドの更新値の作成を制御装置のデ−タ転送とは、非
同期に実行する場合の制御装置の動作の概要を表す。
コ−ドの更新値の作成を制御装置のデ−タ転送とは、非
同期に実行する場合の制御装置の動作の概要を表す。
【図77】本発明の第3の実施例において、パリティレ
コ−ドの更新値の作成を制御装置のデ−タ転送とは、非
同期に実行する場合の制御装置の動作の概要を表す。
コ−ドの更新値の作成を制御装置のデ−タ転送とは、非
同期に実行する場合の制御装置の動作の概要を表す。
【図78】本発明の第4の実施例において、パリティレ
コ−ドの更新値の作成を制御装置のデ−タ転送とは、非
同期に実行する場合の制御装置の動作の概要を表す。
コ−ドの更新値の作成を制御装置のデ−タ転送とは、非
同期に実行する場合の制御装置の動作の概要を表す。
【図79】ヒット/ミス判定部jの処理フロ−を表す。
【図80】ヒット/ミス判定部kの処理フロ−を表す。
【図81】ヒット/ミス判定部lの処理フロ−を表す。
【図82】ヒット/ミス判定部mの処理フロ−を表す。
【図83】非同期レコ−ドロ−ド部fの処理フロ−を表
す。
す。
【図84】パリティ作成部aの処理フロ−を表す。
【図85】パリティ作成部aの処理フロ−を表す。
【図86】パリティ作成契機dの概要を表す。
【図87】本発明の課題を解決する機構と、各実施例と
の関係を表す。
の関係を表す。
100…ヒット/ミス判定部a、101…同期デ−タラ
イト部a、102…同期デ−タロ−ド部a、103…同
期レコ−ドライト部a、105…更新前デ−タレコ−
ド、106…更新後デ−タレコ−ド、107…更新前パ
リティレコ−ド、108…更新後パリティレコ−ド、2
00…同期デ−タライト部b、201…非同期レコ−ド
ライト部a、300…ヒット/ミス判定部b、301…
同期デ−タライト部c、302…非同期レコ−ドロ−ド
部b、303…同期レコ−ドライト部b、400…ヒッ
ト/ミス判定部c、401…同期デ−タライト部d、5
00…同期デ−タライト部e、600…ヒット/ミス判
定部d、601…同期デ−タライト部f、700…ヒッ
ト/ミス判定部e、701…同期デ−タライト部i、7
02…グル−プ内デ−タレコ−ド、800…同期デ−タ
ライト部h、801…非同期レコ−ド部c、900…ヒ
ット/ミス判定部f、901…同期デ−タライト部i、
902…非同期レコ−ド部d、903…同期レコ−ドラ
イト部c、1000…ヒット/ミス判定部g、1001
…同期デ−タライト部j、1100…同期デ−タライト
部k、1200…ヒット/ミス判定部h、1201…同
期デ−タライト部l、1700…ヒット/ミス判定部
i、1701…同期デ−タライト部m、1702…同期
レコ−ドロ−ド部b、1703…非同期レコ−ドライト
部e、1704…同期レコ−ドライト部d
イト部a、102…同期デ−タロ−ド部a、103…同
期レコ−ドライト部a、105…更新前デ−タレコ−
ド、106…更新後デ−タレコ−ド、107…更新前パ
リティレコ−ド、108…更新後パリティレコ−ド、2
00…同期デ−タライト部b、201…非同期レコ−ド
ライト部a、300…ヒット/ミス判定部b、301…
同期デ−タライト部c、302…非同期レコ−ドロ−ド
部b、303…同期レコ−ドライト部b、400…ヒッ
ト/ミス判定部c、401…同期デ−タライト部d、5
00…同期デ−タライト部e、600…ヒット/ミス判
定部d、601…同期デ−タライト部f、700…ヒッ
ト/ミス判定部e、701…同期デ−タライト部i、7
02…グル−プ内デ−タレコ−ド、800…同期デ−タ
ライト部h、801…非同期レコ−ド部c、900…ヒ
ット/ミス判定部f、901…同期デ−タライト部i、
902…非同期レコ−ド部d、903…同期レコ−ドラ
イト部c、1000…ヒット/ミス判定部g、1001
…同期デ−タライト部j、1100…同期デ−タライト
部k、1200…ヒット/ミス判定部h、1201…同
期デ−タライト部l、1700…ヒット/ミス判定部
i、1701…同期デ−タライト部m、1702…同期
レコ−ドロ−ド部b、1703…非同期レコ−ドライト
部e、1704…同期レコ−ドライト部d
フロントページの続き
(72)発明者 北嶋 弘行
神奈川県川崎市麻生区王禅寺1099番地
株式会社日立製作所システム開発研究所
内
(72)発明者 荒井 弘治
神奈川県川崎市麻生区王禅寺1099番地
株式会社日立製作所システム開発研究所
内
(72)発明者 加茂 善久
東京都国分寺市東恋ケ窪1丁目280番地
株式会社日立製作所中央研究所内
(56)参考文献 特開 平4−233025(JP,A)
特開 昭62−293355(JP,A)
特開 平2−236714(JP,A)
特開 平4−127224(JP,A)
特開 平4−232557(JP,A)
特開 平3−184144(JP,A)
特表 平5−509186(JP,A)
特表 昭10−511193(JP,A)
国際公開90/00280(WO,A1)
F.D.Lawlor,EFFici
ent Mass Storage P
arity Recouery Mec
hauism,IBM Techuic
al Disclosure Bull
tir,米国,IBM Corp,1981
年 7月,第24巻,第2号,p.986−
987
D.A.Patterson,et
al,ACase for Redud
ant Arrays of Inex
pensive Drsks(RAI
D),Proc.of ACM SIG
MOD Conference 1988,
ACM,1988年,p.109−116
(58)調査した分野(Int.Cl.7,DB名)
G06F 12/08
G06F 3/06
Claims (3)
- 【請求項1】1つ以上のデータレコードと、前記データ
レコードの内容を回復するための1つ以上のパリティレ
コードとから構成されるレコードグループを複数格納す
るための複数の記憶装置に接続されたキャッシュメモリ
を有する制御装置の制御方法であって、 いずれかの記憶装置のいずれかのデータレコードに書き
込むべきライトデータを伴う書き込み要求を処理装置か
ら受け付けたことに応じて、当該ライトデータを前記キ
ャッシュメモリに格納し、 前記処理装置に前記書き込み要求の完了を通知し、 前記書き込み要求で指定されたデータレコードを含むレ
コードグループのパリティレコードの更新値を生成する
方法として、前記キャッシュメモリ上に残されるデータ
に応じて、 (a)前記書き込み要求で指定された前記データレコー
ドに書き込むべきライトデータと、前記データレコード
の旧データと、前記レコードグループのパリティレコー
ドの更新前のデータとから、前記パリティレコードの更
新値を生成する、 (b)前記書き込み要求で指定された前記データレコー
ドに書き込むべきライトデータと、前記レコードグルー
プ内の、前記データレコード以外のデータレコードの全
てから、前記パリティレコードの更新値を生成する、の
いずれかを選択することを特徴とする制御装置の制御方
法。 - 【請求項2】1つ以上のデータレコードと、前記データ
レコードの内容を回復するための1つ以上のパリティレ
コードとから構成されるレコードグループを複数格納す
るための複数の記憶装置に接続されたキャッシュメモリ
を有する制御装置の制御方法であって、 いずれかの記憶装置のいずれかのデータレコードに書き
込むべきライトデータを伴う書き込み要求を処理装置か
ら受け付けたことに応じて、当該データレコードの旧デ
ータが前記キャッシュメモリに存在するか判定し、 存在しない場合には、当該データレコードの旧データを
当該データレコードが格納された記憶装置からローディ
ングし、 前記ライトデータを記憶装置に格納するとともに、前記
キャッシュメモリ上における、前記旧データがローディ
ングされた領域とは別の領域に格納し、 前記書き込み要求で指定されたデータレコードを含むレ
コードグループのパリティレコードの旧データが前記キ
ャッシュメモリに格納されている場合には、前記データ
レコードの旧データと、前記データレコードの新データ
と、前記パリティレコードの旧データとから前記パリテ
ィレコードの新データを生成し、 生成したパリティレコードの新データを前記キャッシュ
メモリに格納することを特徴とする制御装置の制御方
法。 - 【請求項3】前記書き込み要求で指定されたデータレコ
ードを含むレコードグループのパリティレコードの旧デ
ータが前記キャッシュメモリに格納されていない場合に
は、当該旧データが格納された記憶装置から当該パリテ
ィレコードを読み出すことを特徴とする請求項2に記載
の制御装置の制御方法。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01057491A JP3409859B2 (ja) | 1991-01-31 | 1991-01-31 | 制御装置の制御方法 |
US07/827,982 US5682396A (en) | 1991-01-31 | 1992-01-29 | Control unit in storage subsystem with improvement of redundant data updating |
US08/877,627 US5917999A (en) | 1991-01-31 | 1997-06-18 | Storage unit subsystem |
US09/259,408 US6145091A (en) | 1991-01-31 | 1999-02-22 | Storage unit subsystem |
US09/642,815 US6327673B1 (en) | 1991-01-31 | 2000-08-22 | Storage unit subsystem |
US09/956,792 US6532549B2 (en) | 1991-01-31 | 2001-09-21 | Storage unit subsystem |
US10/319,501 US6757839B2 (en) | 1991-01-31 | 2002-12-16 | Storage unit subsystem |
US10/368,553 US6874101B2 (en) | 1991-01-31 | 2003-02-20 | Storage unit subsystem |
US10/945,882 US7320089B2 (en) | 1991-01-31 | 2004-09-22 | Storage unit subsystem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01057491A JP3409859B2 (ja) | 1991-01-31 | 1991-01-31 | 制御装置の制御方法 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003016869A Division JP3849648B2 (ja) | 2003-01-27 | 2003-01-27 | 記憶装置制御方法および記憶装置サブシステム |
JP2003016870A Division JP2003263277A (ja) | 2003-01-27 | 2003-01-27 | 記憶装置制御方法および記憶装置サブシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04245352A JPH04245352A (ja) | 1992-09-01 |
JP3409859B2 true JP3409859B2 (ja) | 2003-05-26 |
Family
ID=11754009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01057491A Expired - Lifetime JP3409859B2 (ja) | 1991-01-31 | 1991-01-31 | 制御装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (6) | US5682396A (ja) |
JP (1) | JP3409859B2 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US6874101B2 (en) * | 1991-01-31 | 2005-03-29 | Hitachi, Ltd. | Storage unit subsystem |
JP3409859B2 (ja) * | 1991-01-31 | 2003-05-26 | 株式会社日立製作所 | 制御装置の制御方法 |
JP2778268B2 (ja) * | 1991-03-04 | 1998-07-23 | 三菱電機株式会社 | 記録媒体制御装置 |
JPH05313833A (ja) * | 1992-05-11 | 1993-11-26 | Mitsubishi Electric Corp | アレイ型ディスク駆動機構システム |
WO1993023803A1 (fr) * | 1992-05-21 | 1993-11-25 | Fujitsu Limited | Appareil de commande pour pile de disques |
GB2273798A (en) * | 1992-12-22 | 1994-06-29 | Ibm | Cache system for disk array. |
US5761402A (en) * | 1993-03-08 | 1998-06-02 | Hitachi, Ltd. | Array type disk system updating redundant data asynchronously with data access |
JP3258117B2 (ja) * | 1993-03-08 | 2002-02-18 | 株式会社日立製作所 | 記憶装置サブシステム |
JP3011035B2 (ja) * | 1994-12-08 | 2000-02-21 | 株式会社日立製作所 | 計算機システム |
US5889935A (en) * | 1996-05-28 | 1999-03-30 | Emc Corporation | Disaster control features for remote data mirroring |
US6052797A (en) | 1996-05-28 | 2000-04-18 | Emc Corporation | Remotely mirrored data storage system with a count indicative of data consistency |
JPH11203056A (ja) * | 1998-01-19 | 1999-07-30 | Fujitsu Ltd | 入出力制御装置及びアレイディスク装置 |
US6247157B1 (en) * | 1998-05-13 | 2001-06-12 | Intel Corporation | Method of encoding data signals for storage |
JP2000029635A (ja) | 1998-07-08 | 2000-01-28 | Hitachi Ltd | 記憶制御装置 |
JP2001166993A (ja) * | 1999-12-13 | 2001-06-22 | Hitachi Ltd | 記憶制御装置およびキャッシュメモリの制御方法 |
JP3705731B2 (ja) * | 2000-06-05 | 2005-10-12 | 富士通株式会社 | 入出力制御装置 |
EP1168173A3 (en) * | 2000-06-29 | 2004-09-22 | Snap Appliance, Inc. | Fault tolerant storage device with cache |
US7062702B2 (en) * | 2001-03-14 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | Efficient parity operations |
US6766480B2 (en) * | 2001-03-14 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Using task description blocks to maintain information regarding operations |
JP4183400B2 (ja) * | 2001-06-27 | 2008-11-19 | 株式会社日立製作所 | データベースシステムとデータベース管理方法およびプログラム |
US7200715B2 (en) * | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
JP2004013215A (ja) * | 2002-06-03 | 2004-01-15 | Hitachi Ltd | ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム |
US7428691B2 (en) * | 2003-11-12 | 2008-09-23 | Norman Ken Ouchi | Data recovery from multiple failed data blocks and storage units |
US7188273B2 (en) * | 2003-11-24 | 2007-03-06 | Tsx Inc. | System and method for failover |
JP2006252239A (ja) * | 2005-03-11 | 2006-09-21 | Fujitsu Ltd | ファイル制御装置 |
US7725764B2 (en) | 2006-08-04 | 2010-05-25 | Tsx Inc. | Failover system and method |
JP5217966B2 (ja) * | 2008-11-28 | 2013-06-19 | 富士通株式会社 | ストレージシステムのアップデート処理プログラム、アップデート処理方法及びストレージシステム |
US8166232B2 (en) | 2009-04-02 | 2012-04-24 | Hitachi, Ltd. | Metrics and management for flash memory storage life |
JP6385077B2 (ja) | 2014-03-05 | 2018-09-05 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
CN104133642B (zh) * | 2014-07-29 | 2018-07-13 | 浙江宇视科技有限公司 | SSD Cache填充方法及装置 |
US9569303B2 (en) * | 2014-08-08 | 2017-02-14 | Kabushiki Kaisha Toshiba | Information processing apparatus |
JP6367704B2 (ja) | 2014-12-25 | 2018-08-01 | 株式会社バイオス | 記憶制御システム及び記憶制御装置 |
JP6750011B2 (ja) * | 2016-06-15 | 2020-09-02 | 株式会社日立製作所 | 情報処理システム |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55157053A (en) * | 1979-05-25 | 1980-12-06 | Nec Corp | Disc cash write-in control system |
JPS59135563A (ja) * | 1983-01-24 | 1984-08-03 | Hitachi Ltd | デイスク・キヤツシユ装置を有する計算機システム |
JPS60114947A (ja) * | 1983-11-25 | 1985-06-21 | Hitachi Ltd | デイスクキヤツシユ装置 |
US4814980A (en) * | 1986-04-01 | 1989-03-21 | California Institute Of Technology | Concurrent hypercube system with improved message passing |
US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US5257367A (en) | 1987-06-02 | 1993-10-26 | Cab-Tek, Inc. | Data storage system with asynchronous host operating system communication link |
US4942579A (en) * | 1987-06-02 | 1990-07-17 | Cab-Tek, Inc. | High-speed, high-capacity, fault-tolerant error-correcting storage system |
US4914656A (en) | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
JP2569135B2 (ja) * | 1988-07-27 | 1997-01-08 | 株式会社日立製作所 | 記憶装置のデータ整合性制御方式 |
AU630635B2 (en) | 1988-11-14 | 1992-11-05 | Emc Corporation | Arrayed disk drive system and method |
JP2834189B2 (ja) * | 1989-07-05 | 1998-12-09 | 株式会社日立製作所 | 入出力制御方法 |
US5140592A (en) * | 1990-03-02 | 1992-08-18 | Sf2 Corporation | Disk array system |
US5124987A (en) | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5263145A (en) | 1990-05-24 | 1993-11-16 | International Business Machines Corporation | Method and means for accessing DASD arrays with tuned data transfer rate and concurrency |
JPH0731582B2 (ja) | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
JP2986880B2 (ja) | 1990-09-19 | 1999-12-06 | 株式会社日立製作所 | アレイディスク |
US5208813A (en) * | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US5235601A (en) * | 1990-12-21 | 1993-08-10 | Array Technology Corporation | On-line restoration of redundancy information in a redundant array system |
US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
JP3409859B2 (ja) * | 1991-01-31 | 2003-05-26 | 株式会社日立製作所 | 制御装置の制御方法 |
US5239659A (en) * | 1991-06-19 | 1993-08-24 | Storage Technology Corporation | Phantom duplex copy group apparatus for a disk drive array data storge subsystem |
JP2913917B2 (ja) * | 1991-08-20 | 1999-06-28 | 株式会社日立製作所 | 記憶装置および記憶装置システム |
US5499337A (en) * | 1991-09-27 | 1996-03-12 | Emc Corporation | Storage device array architecture with solid-state redundancy unit |
US5708668A (en) * | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
WO1993023803A1 (fr) * | 1992-05-21 | 1993-11-25 | Fujitsu Limited | Appareil de commande pour pile de disques |
GB2273798A (en) * | 1992-12-22 | 1994-06-29 | Ibm | Cache system for disk array. |
EP0612015A1 (en) * | 1993-02-16 | 1994-08-24 | International Business Machines Corporation | Improved disk array system having special parity groups for data blocks with high update activity |
JPH06332623A (ja) * | 1993-05-24 | 1994-12-02 | Mitsubishi Electric Corp | アレイ型記録装置及び記録装置 |
JPH0744326A (ja) * | 1993-07-30 | 1995-02-14 | Hitachi Ltd | 記憶装置システム |
US5497457A (en) * | 1994-10-17 | 1996-03-05 | International Business Machines Corporation | Redundant arrays of independent libraries of dismountable media with parity logging |
JP3011035B2 (ja) * | 1994-12-08 | 2000-02-21 | 株式会社日立製作所 | 計算機システム |
JP3641872B2 (ja) * | 1996-04-08 | 2005-04-27 | 株式会社日立製作所 | 記憶装置システム |
US6122255A (en) * | 1996-04-18 | 2000-09-19 | Bell Atlantic Network Services, Inc. | Internet telephone service with mediation |
JP3133004B2 (ja) * | 1996-11-21 | 2001-02-05 | 株式会社日立製作所 | ディスクアレイ装置およびその制御方法 |
US6151641A (en) * | 1997-09-30 | 2000-11-21 | Lsi Logic Corporation | DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments |
US6112255A (en) | 1997-11-13 | 2000-08-29 | International Business Machines Corporation | Method and means for managing disk drive level logic and buffer modified access paths for enhanced raid array data rebuild and write update operations |
-
1991
- 1991-01-31 JP JP01057491A patent/JP3409859B2/ja not_active Expired - Lifetime
-
1992
- 1992-01-29 US US07/827,982 patent/US5682396A/en not_active Expired - Lifetime
-
1997
- 1997-06-18 US US08/877,627 patent/US5917999A/en not_active Expired - Lifetime
-
1999
- 1999-02-22 US US09/259,408 patent/US6145091A/en not_active Expired - Fee Related
-
2000
- 2000-08-22 US US09/642,815 patent/US6327673B1/en not_active Expired - Fee Related
-
2001
- 2001-09-21 US US09/956,792 patent/US6532549B2/en not_active Expired - Fee Related
-
2002
- 2002-12-16 US US10/319,501 patent/US6757839B2/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
D.A.Patterson,et al,ACase for Redudant Arrays of Inexpensive Drsks(RAID),Proc.of ACM SIGMOD Conference 1988,ACM,1988年,p.109−116 |
F.D.Lawlor,EFFicient Mass Storage Parity Recouery Mechauism,IBM Techuical Disclosure Bulltir,米国,IBM Corp,1981年 7月,第24巻,第2号,p.986−987 |
Also Published As
Publication number | Publication date |
---|---|
US20040078645A1 (en) | 2004-04-22 |
US20020023240A1 (en) | 2002-02-21 |
US5917999A (en) | 1999-06-29 |
US6327673B1 (en) | 2001-12-04 |
JPH04245352A (ja) | 1992-09-01 |
US6145091A (en) | 2000-11-07 |
US6532549B2 (en) | 2003-03-11 |
US5682396A (en) | 1997-10-28 |
US6757839B2 (en) | 2004-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3409859B2 (ja) | 制御装置の制御方法 | |
US4916605A (en) | Fast write operations | |
US5636359A (en) | Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme | |
US6256749B1 (en) | Disk array system and its control method | |
US5600816A (en) | System and method for managing data in a cache system for a disk array | |
JP3422370B2 (ja) | ディスクキャッシュ制御装置 | |
US6912669B2 (en) | Method and apparatus for maintaining cache coherency in a storage system | |
US7962783B2 (en) | Preventing write corruption in a raid array | |
US6502174B1 (en) | Method and system for managing meta data | |
JP2557172B2 (ja) | タイムゼロ・バックアップ・コピー・プロセスにおける副ファイル状態のポーリングのための方法およびシステム | |
JP3697149B2 (ja) | キャッシュ・メモリを管理する方法 | |
JPH0683677A (ja) | データの増分タイム・ゼロ・バックアップ・コピーの方法及びシステム | |
JPH06202817A (ja) | ディスクアレイ装置及びそのデータ更新方法 | |
JP2000029635A (ja) | 記憶制御装置 | |
US6874101B2 (en) | Storage unit subsystem | |
US6360296B1 (en) | Disk control apparatus | |
KR19980047273A (ko) | 레이드 레벨 5 시스템에서 캐쉬 관리 방법 | |
US20060090032A1 (en) | Method and computer program product of obtaining temporary conventional memory usage in BIOS | |
JP3849648B2 (ja) | 記憶装置制御方法および記憶装置サブシステム | |
JP2003263277A (ja) | 記憶装置制御方法および記憶装置サブシステム | |
US7478269B2 (en) | Method and computer program product of keeping configuration data history using duplicated ring buffers | |
JPH09265435A (ja) | 記憶装置システム | |
JPH0830402A (ja) | パリティ格納方法 | |
JP2000311112A (ja) | 情報システム | |
JPH06309113A (ja) | ディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090320 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090320 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100320 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110320 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |