JPH10312246A - 記憶装置サブシステム - Google Patents

記憶装置サブシステム

Info

Publication number
JPH10312246A
JPH10312246A JP9120487A JP12048797A JPH10312246A JP H10312246 A JPH10312246 A JP H10312246A JP 9120487 A JP9120487 A JP 9120487A JP 12048797 A JP12048797 A JP 12048797A JP H10312246 A JPH10312246 A JP H10312246A
Authority
JP
Japan
Prior art keywords
data
parity
update
storage
value
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.)
Pending
Application number
JP9120487A
Other languages
English (en)
Inventor
Yasutomo Yamamoto
康友 山本
Akira Yamamoto
山本  彰
Takao Sato
孝夫 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9120487A priority Critical patent/JPH10312246A/ja
Publication of JPH10312246A publication Critical patent/JPH10312246A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】更新データに対する更新パリティ生成における
負荷を軽減し、さらに更新前パリティリードや更新デー
タライトにおける平均シーク/サーチ時間を短縮するこ
とで、記憶装置サブシステム全体のスループット向上を
図る。 【解決手段】更新データのパリティ生成およびライトを
行う際に、パリティグループ内の一つ以上の更新データ
の新データを各データディスク装置105に転送して、
各データディスク装置105では、旧データをリード
後、新データをライトし、新旧データをパリティディス
ク装置105に転送する。パリティディスク装置105
では旧パリティリードと新パリティ生成およびライトを
実行する。パリティ生成のための排他的論理和演算をパ
リティディスク装置105で一括実行することで、演算
に要するオーバヘッドを削減する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスクアレイ向
きの高機能ディスク装置、および、ディスクアレイ向き
の高機能ディスク装置と記憶制御装置により構成される
記憶装置サブシステムに関する。
【0002】
【従来の技術】発明に最も近い公知例として、シカゴの
イリノイ大学で開かれたACMSIGMOD 会議にお
いて発表されたD.Patterson,G.gibson,and
R.H.Kartz;A Case for Redundant Array
s of Inexpensive Disks(RAID),ACM
SIGMOD Conference,Chicago,IL,(June
1988),pp.109−116なる論文が知られて
いる。
【0003】Pattersonの論文は、ディスクアレイ上の
データ配置に関する技術を開示したものである。ディス
クアレイシステムでは、物理的には複数のディスク装置
をデータ処理装置に対しては1台の論理的なディスク装
置に見せかけることで高性能化を実現している。また、
データを格納したディスク装置に障害が発生した場合、
障害が発生したディスク装置に記憶されているデータの
回復を行うことを可能とする冗長データをデータを記憶
したディスク装置とは別のディスク装置に格納しておく
ことにより高信頼化を達成している。
【0004】通常、ディスク装置に格納されたデータの
リード/ライト単位をレコードと呼ぶ。ただし、ディス
クアレイの場合、データ処理装置から見たリードライト
単位であるレコードと、ディスク装置に実際に記録され
るレコードとではデータ長が異なる場合がある。以下、
前者を論理レコード、後者を物理レコードと呼ぶ。
【0005】Pattersonの論文では、いくつかの論理レ
コードの配置方法がRAID1からRAID5の5段階
のレベルのRAID構成として紹介され、性能および信
頼性の検討結果が報告されている。このうち、RAID
5のディスクアレイは各論理レコードを1つの物理レコ
ードとしてディスク装置に格納し、互いに異なるディス
ク装置に格納されたm(m≧1)個の論理レコードに対
して、その排他的論理和であるパリティと呼ばれる冗長
データを作成し、1つの物理レコードとしてディスク装
置に格納したものである。以下、処理装置が直接リード
/ライトする論理レコードを格納した物理レコードをデ
ータレコード、パリティを格納した物理レコードをパリ
ティレコード、データレコードを記憶するディスク装置
をデータディスク装置、パリティレコードを記憶するデ
ィスク装置をパリティディスク装置と呼ぶ。また、m個
のデータレコードとパリティレコードから構成されるレ
コードのグループをパリティグループと呼ぶ。RAID
5のディスクアレイは、更新のあったデータレコードに
対して、パリティ生成時にデータレコードとパリティレ
コードの更新前の値である旧データと旧パリティをそれ
ぞれのレコードが格納されるディスク装置からリード
し、データレコードの更新値である新データと排他的論
理和をとってパリティレコードの更新値である新パリテ
ィを生成し、ディスク装置へ新パリティをライトする必
要があるため、ライト処理に付随するオーバヘッドは大
きい。このようなパリティ生成処理を効率よく行い、シ
ステムの高性能化を実現する技術としては次のような技
術がある。
【0006】特開平4−245342号に開示される技
術では、論理レコード(=データレコード)に対する更
新処理をキャッシュ上で実行し、新パリティの作成や新
データと新パリティのディスク装置への書き込みは後か
ら実行する。ある更新データレコードに対して新パリテ
ィの作成を開始する前に、同じパリティレコードに対応
する他のデータレコードに更新があった場合、新パリテ
ィの作成をまとめて実行することにより高性能化を実現
している。このように、処理装置からの論理レコード更
新に対し、ディスク装置への反映を非同期で行う方式を
一般にライトアフタと呼ぶ。
【0007】特開平5−46324号には、新パリティ
の生成に必要な情報をパリティレコードのあるパリティ
ディスク装置に転送し、ディスク装置側で新パリティを
生成することで、記憶制御装置の負荷や、データ更新時
に発生する記憶制御装置とディスク装置との間のデータ
転送回数を削減し、ディスクアレイシステムの高性能化
を図る技術が開示されている。この技術では、パリティ
生成に必要な情報をパリティディスク装置に送出する方
法の一つとして、記憶制御装置と各ディスク装置をブロ
ードキャスト可能なネットワークで接続し、パリティグ
ループの1データの新データをデータディスク装置とパ
リティディスク装置にブロードキャストして、旧データ
はデータディスク装置からパリティディスク装置へ直接
転送することで、インタフェースにおける転送量を低減
する方法が開示されている。
【0008】また、転送量の低減を図る技術としては、
特開平7−261946号で、更新データレコードの新
データをデータディスク装置に転送し、ディスク装置側
で旧データを読んで新データを書き込み、新旧データか
ら中間値を生成し、生成した中間値をパリティディスク
装置に直接転送する技術が開示されている。新旧データ
をそのまま転送するのではなく、中間値に変換して転送
することで、データディスク装置とパリティディスク装
置間のデータ転送量を低減できる。
【0009】
【発明が解決しようとする課題】RAID5のディスク
アレイを用いた場合、記憶制御装置がデータ処理装置か
らライト要求を受けて、データレコードを更新するのに
伴って、新パリティの生成、およびパリティレコードの
更新が必要とする。m個のデータレコードとパリティレ
コードから構成されるパリティグループの新パリティ生
成方法としては、(a)パリティグループのm個のデー
タレコードすべての排他的論理和により算出する方法の
他に、排他的論理和の性質を利用して、(b)パリティ
グループのいくつかの更新データレコードの旧データと
新データとパリティレコードの旧パリティとの排他的論
理和から算出する方法がある。通常、(b)の方法の方
が、新パリティの生成に必要な情報を揃えるためのオー
バヘッドが小さいため、(b)の方法を前提に以下の説
明を行う。パリティ生成に必要な情報を揃えるための転
送処理として、(b)に示した値を得る処理を実行する
と、パリティグループに更新データレコードが一つだけ
の場合でも、更新データレコードの旧データ、および対
応する旧パリティをディスク装置から読み込むために2
回、新データと新パリティをディスク装置に書き込むた
めに2回、計4回の記憶制御装置とディスク装置間のデ
ータ転送が生じ、キャッシュメモリの割り当てとディス
ク装置間のバス確保などのオーバヘッドが発生する。さ
らに、そろえた情報を元に新パリティを生成するオーバ
ヘッドも生じる。
【0010】特開平5−46324号に開示された技術
は、ディスク装置に新パリティを作成する機能を持たせ
ることで、記憶制御装置の負荷をある程度分散させるこ
とができる。また、データ転送は、更新データレコード
の新データをデータディスク装置とパリティディスク装
置にブロードキャストするのに1回、更新データレコー
ドの旧データを読み込んでパリティディスク装置に転送
するのに1回、計2回で済むことになる。
【0011】ただ、この技術では、ブロードキャストさ
れた新データをパリティディスク装置で受信しても、デ
ータディスク装置から対応する旧データを受信するまで
は新パリティ生成を行なえない。このため、複数の更新
データレコードの新データをディスク装置内のバッファ
メモリに保持することになるが、保持した複数の新デー
タのスケジュールにはほとんど自由度がなく、あくまで
旧データ到着順とせざるを得ない。仮に、平均シーク時
間を短縮するべく、現ディスクヘッド位置から最短シー
クとなる新データから処理しようとするなら、旧データ
が未到着で処理可能でない新データとともに、旧データ
が到着して処理可能となった新データをも複数保持せね
ばならず、ディスク装置に搭載するバッファメモリを大
容量のものにする必要が生じ、製造コストを押し上げる
ことになる。
【0012】一方、特開平7−261946号公報の技
術では、データディスク装置に新旧データから中間値を
作成する手段を設けることで、データ転送を、データデ
ィスク装置への新データ転送に1回、パリティディスク
装置への新旧データの中間値転送に1回、計2回に抑え
ている。
【0013】しかし、この技術では、新データと旧デー
タの排他的論理和演算をデータディスク装置で、その結
果生成した中間値と旧パリティの排他的論理和演算をパ
リティディスク装置で、それぞれ分割して実行するた
め、パリティディスク装置で三者の排他的論理和演算を
一括実行する方法に比べて、各データを一時的に格納す
るバッファメモリへのロード/ストア実行回数が増加
し、その結果、演算に要する総オーバヘッドは増大する
ものと考えられる。
【0014】また、この技術では、データレコードへの
更新に伴ってパリティレコードへの更新が発生し、互い
に独立に動作しているデータディスク装置とパリティデ
ィスク装置へ同じ契機にアクセスを行なうことになる。
このため、両ディスク装置の平均シーク時間の低減に対
しては何ら考慮されていない。
【0015】本発明の目的は、パリティ生成に要するオ
ーバヘッドの軽減を図り、記憶装置サブシステム全体の
スループット増大を図ることである。
【0016】本発明の別の目的は、パリティ生成におけ
るデータレコードとパリティレコードの更新を非同期化
し、各ディスク装置アクセスに伴う平均シーク時間を軽
減し、スループット増大を図ることである。
【0017】
【課題を解決するための手段】本発明では、記憶装置サ
ブシステム全体のスループット増大を図るという目的を
実現するために、以下の2つの観点で示した記憶制御方
法を実現する記憶装置サブシステムを提供する。
【0018】第一の観点では、記憶制御装置はデータ処
理装置から更新され、キャッシュ上に蓄積したデータレ
コードのライトアフタ処理を行うために、同一パリティ
グループのデータレコードのうち、キャッシュ上に存在
するものの新データを対応するデータディスク装置に送
信する。データディスク装置では、受信した新データに
対する旧データをリードした後、新データをディスクに
ライトし、新旧データを対応するパリティディスク装置
へ転送する。一方、パリティディスク装置では、受信し
た新旧データに対応するパリティレコードの旧パリティ
をリードし、新パリティを生成してディスクにライトす
る。
【0019】第二の観点でも、記憶制御装置は、第一の
観点と同様に、同一パリティグループの複数のデータレ
コードの新データを各データディスク装置に転送し、デ
ータディスク装置では、対応する旧データをリード後、
新データをライトする。第二の観点が第一の観点と異な
るのは、ここでリードした旧データを一旦記憶制御装置
に転送する点である。記憶制御装置では、ディスク装置
への反映が完了し、旧データを読み込んだデータレコー
ドをしばらくキャッシュ上に溜め置き、データディスク
装置への反映とは非同期にパリティディスク装置への反
映処理を実行する。
【0020】これらの結果、パリティ生成のための排他
的論理和演算はパリティディスク装置で一括して実行す
るので、演算の際のメモリロード/ストア回数を削減で
き、オーバヘッドを軽減することができる。さらに、パ
リティレコードの更新をデータレコードの更新と非同期
に実行可能となり、シーク時間を考慮したディスク装置
の割り当てスケジューリングを行なうことで、各ディス
ク装置アクセス時の平均シーク時間を短縮することがで
きる。
【0021】以上の内容を適用すると、更新データのラ
イトの際に、ディスク装置でのパリティ生成オーバヘッ
ド削減、かつ平均シーク時間短縮によるディスク装置占
有時間削減を実現することで、記憶装置サブシステム全
体のスループットを増大させることが可能となる。
【0022】
【発明の実施の形態】以下、本発明の実施例について説
明する。なお、これにより本発明が限定されるものでは
ない。
【0023】本発明の実施例は、第1の実施例と第2の
実施例がある。
【0024】第1の実施例は、記憶制御装置から新デー
タを受信したデータディスク装置で、旧データを記憶媒
体から読み出し、受信した新データを記憶媒体に書き込
み、新旧データを併せて、対応するパリティディスク装
置に直接送信するものである。
【0025】第2の実施例は、記憶制御装置から新デー
タを受信したデータディスク装置で、旧データを記憶媒
体から読み出し、受信した新データを記憶媒体に書き込
み、旧データを記憶制御装置に送信し、記憶制御装置か
らパリティディスク装置へ新旧データを送信するもので
ある。
【0026】まず、図1〜図11を参照して、第1の実
施例を説明する。
【0027】図1は、本発明の対象となる記憶装置サブ
システムのブロック図である。
【0028】記憶装置サブシステムは、データ処理装置
100と、記憶制御装置104と、1台以上のディスク
装置105を接続してなっている。
【0029】データ処理装置100は、CPU101
と、主記憶102と、チャネル103とを有している。
【0030】記憶制御装置104は、1つ以上のディレ
クタ106と、キャッシュメモリ107と、ディレクト
リ108と、不揮発性メモリ109と、不揮発性メモリ
管理情報110を有している。
【0031】ディレクタ106は、チャネル103とデ
ィスク装置105の間のデータ転送、チャネル103と
キャッシュメモリ107の間のデータ転送およびキャッ
シュメモリ107とディスク装置105の間のデータ転
送を行なう。
【0032】キャッシュメモリ107には、ディスク装
置105の中のアクセス頻度の高いデータをロードして
おく。このロード処理は、ディレクタ106が実行す
る。ロードデータの具体的な例は、CPU101からア
クセス対象となったデータレコードや、このデータレコ
ードと物理ディスク装置105のディスク位置が近いデ
ータレコードのデータ等である。また根、キャッシュメ
モリ107には、CPU101から更新がかかり、ライ
トアフタで処理する新データを格納する。これらの新デ
ータは、キャッシュメモリ107に格納した段階でライ
ト完了報告を出し、更新とは非同期にパリティ生成およ
びディスク装置105への書き込みを行う。
【0033】ディレクトリ108は、キャッシュメモリ
107の管理情報を格納する。
【0034】不揮発性メモリ109は、不揮発の媒体で
あり、キャッシュメモリ107に格納した新データが物
理ディスク装置105への反映が完了する前に消失しな
いよう、新データを格納し、キャッシュメモリ107と
併せて二重管理する。
【0035】不揮発性メモリ管理情報110も不揮発の
媒体であり、不揮発性メモリ109の管理情報を格納す
る。
【0036】ディスク装置105は、データレコードを
記録するディスク110とデータを一時的に格納するバ
ッファ109と記録されたデータを読み書きする装置か
ら構成される。データを読み書きする装置は、排他的論
理和演算により新パリティを生成する機能を有する。バ
ッファ113は、複数のデータを格納することができる
容量を持ち、必要があれば不揮発の媒体を用いる。
【0037】各ディスク装置105間は互いに接続さ
れ、複数のディスク装置105間でのデータの送受信が
可能である。
【0038】図2は、本実施例におけるキャッシュメモ
リ107の構成である。
【0039】キャッシュメモリ107は複数のセグメン
ト200で構成される。一つのセグメント200には、
1つのデータレコードもしくはパリティレコードを格納
しうる。どのセグメント200にどのレコードを割り当
てるかについては、従来公知の方法を用いることができ
る。レコードが割り当てられていない空き状態のセグメ
ント200も存在しうる。
【0040】図3は、ディレクトリ108の構造であ
る。
【0041】ディレクトリ108は、キャッシュ割り当
て情報300、セグメント管理情報301、空きセグメ
ントキューポインタ302から構成される。なお、セグ
メント管理情報301は、セグメント200の数だけ存
在する。ただし、セグメント200に静的に1対1対応
するわけではない。以下、各情報を詳細に説明する。
【0042】図4は、キャッシュ割り当て情報300の
構造である。データレコードやパリティレコードにセグ
メント200が割り当てられ、キャッシュメモリ107
上に格納されているかを表わす。レコード割り当てポイ
ンタ400は、データレコードとパリティレコードに対
応して設ける情報である。対応するデータレコードやパ
リティレコードがキャッシュ107上に格納されていれ
ば、レコード割り当てポインタ400は当該セグメント
管理情報301をポイントする。格納されていなければ
ヌル値となる。
【0043】図5は、セグメント管理情報301の中で
本発明に関係した情報を表わしたものである。ライト面
セグメントポインタ500について以下説明する。デー
タレコードのセグメント管理情報301の場合、新パリ
ティを生成していない新データを格納したセグメント2
00をポイントする。パリティレコードのセグメント管
理情報301の場合、キャッシュメモリ107上で新パ
リティを生成する際に、一時的に利用するセグメント2
00をポイントする。以後、ライト面セグメントポイン
タ501でポイントするこれらのセグメント200をラ
イト面セグメントと呼ぶ。
【0044】リード面セグメントポインタ501につい
て以下説明する。データレコードのセグメント管理情報
301の場合、新パリティを作成済みの値を格納したセ
グメント200をポイントする。パリティレコードのセ
グメント管理情報301の場合、原則的に、本ポインタ
が示すセグメント200にその値を格納する。以後、リ
ード面セグメントポインタ501でポイントするこれら
のセグメント200をリード面セグメントと呼ぶ。
【0045】ホストダーティフラグ502は、ライト面
セグメントの値がデータ処理装置100から書き込まれ
たままで、パリティ生成もディスク装置105への反映
も行なわれていないことを示す。物理ダーティフラグ5
02は、リード面セグメント値がパリティ生成が完了し
たが、まだディスク装置105に書き込まれていないこ
とを示す。パリティ未反映フラグ502は、ライト面セ
グメントの値が、ディスク装置105へ反映されたが、
パリティ生成がまだ行なわれていないことを示す。ライ
ト面バリッドフラグ503はライト面セグメントに、リ
ード面バリッドフラグ504はリード面セグメントに有
効な値が入っていることを示す。使用中フラグ505
は、そのセグメント管理情報301が割り当てられてい
るデータまたはパリティレコードが何らかの処理で使用
中であることを示し、処理間の排他に用いられる。レコ
ード状態506は、個々のデータまたはパリティレコー
ドの状態を示す。状態としては、「正常」の他に、ディ
スク装置105の障害等が原因で書き込みが出来ないこ
とを示す「ライト不可」、読み込みが出来ないことを示
す「リード不可」などがあり、複数の状態が同時に設定
されることもある。空きポインタ507は、空き状態に
あるセグメント管理情報301同士を結合する。
【0046】図6は、空きセグメントキューの構造であ
る。図に示すように、空き状態にあるセグメント200
の管理情報301を空きセグメントキューポインタ30
2に結合する。
【0047】本実施例におけるキャッシュメモリ管理方
法の説明の最後に、各セグメント200に格納されるデ
ータまたはパリティレコードの状態について述べる。
【0048】図7は、セグメント200に格納されるデ
ータまたはパリティレコードの状態遷移の様子である。
処理装置100から更新がかかり、パリティ生成を行う
前で、ライト面セグメントに新データを格納し、ライト
面バリッドフラグ503とホストダーティフラグ502
がオンの状態をホストダーティ状態700と呼ぶ。ホス
トダーティ状態700から、当該データレコードに対す
るパリティ生成が完了し、新データを格納したライト面
セグメントをリード面セグメントに切り替え、リード面
バリッドフラグ504と物理ダーティフラグをオンに、
ホストダーティフラグ502をオフにした状態を物理ダ
ーティ状態701と呼ぶ。キャッシュ107上で生成し
た新パリティも物理ダーティ状態701で保持する。ま
た、ホストダーティ状態から、当該データレコードのデ
ィスク装置105より旧データを読んでリード面セグメ
ントに格納し、新データをディスク装置105へ反映
し、ホストダーティフラグ502をオフ、パリティ未反
映フラグをオンにした状態をパリティ未反映状態702
とする。さらに、物理ダーティ状態701のセグメント
200に対して、当該データまたはパリティレコードの
ディスク装置105への反映が完了し、物理ダーティフ
ラグ502をオフにした状態、および、パリティ未反映
状態702のセグメント200に対して、当該データレ
コードのパリティ生成が完了し、パリティ未反映フラグ
502をオフにした状態をクリーン状態703と呼ぶ。
【0049】以下の説明では、あるセグメント200を
ホストダーティ状態、物理ダーティ状態、パリティ未反
映状態、クリーン状態にすることを、単にホストダーテ
ィ化、物理ダーティ化、パリティ未反映化、クリーン化
と呼ぶ。また、あるデータ又はパリティセグメント20
0の割り当てを解除して、セグメント200およびセグ
メント管理情報301を空き状態にすることを、セグメ
ント破棄と呼ぶ。セグメント200破棄の際には、設定
されているフラグ、状態、ポインタを全てクリアする。
【0050】図8は、本実施例におけるディスク装置内
バッファ109の構成である。バッファ109は複数の
バッファセグメント800で構成される。一つのバッフ
ァセグメント800には1物理レコード分の値を格納で
き、ディスク装置105と記憶制御装置104間でやり
とりするデータまたはパリティレコードの値を格納す
る。リード処理時はディスク110からリードされた値
が一時格納され、ライト処理時には記憶制御装置104
から転送された書き込み値が一時格納される。
【0051】次に本実施例での記憶制御装置104とデ
ィスク装置105の動作を説明する。
【0052】図9は、本実施例における記憶制御装置1
04とディスク装置105の動作を詳細に表わした図で
ある。
【0053】まず、データ処理装置100によりライト
されたデータレコード920に対してセグメント200
を割り当て、新データを格納する。この段階で、ライト
処理の完了をデータ処理装置100に報告し、ホストダ
ーティ状態の当該データレコード920をライト要求と
は非同期にディスク装置105に反映する。
【0054】この第1の実施例では、キャッシュ107
上に保持されているホストダーティ状態のデータレコー
ド920の中から、ライトアフタ処理対象となるものを
選択し、対象データレコード920の新データを、当該
データを格納するデータディスク装置105に送出す
る。次に、データディスク装置105では、受信した新
データに対し、旧データのディスク110からの読みだ
しと新データのディスク110への書き込み、および対
応するパリティを格納するパリティディスク装置105
への新旧データの送出を行なう。以下、データディスク
装置105でのこれら一連の処理をリード&ライト処理
と呼ぶ。新旧データを受信したパリティディスク装置1
05では、旧パリティのディスク110からの読み出し
と新パリティ生成、および新パリティのディスク110
への書き込みを行なう。以下、パリティディスク装置1
05でのこれら一連の処理をパリティ生成ライト処理と
呼ぶ。最後に、要求したデータディスク装置からの処理
完了報告を受けたライト転送処理900が、当該更新デ
ータレコード920のセグメント200をクリーン化、
およびパリティレコードのセグメント200を破棄す
る。
【0055】以下では、ライトアフタ処理900と、デ
ィスク装置コマンド実行処理910について順に説明す
る。
【0056】第一に、ライトアフタ処理900について
説明する。
【0057】記憶制御装置104からディスク装置10
5への処理要求は、処理指定情報と処理対象データから
構成される。指定情報は以下のような内容である。
【0058】指定情報1…要求処理種別を指定する。要
求処理には、リード、ライト、リード&ライト、パリテ
ィ生成ライトなどがある。本実施例において、対象更新
データレコードの新データを送信する際には要求処理種
別にはリード&ライトを、データディスク装置105か
らパリティディスク装置105へ新旧データを送信する
際にはパリティ生成ライトをそれぞれ設定する。
【0059】指定情報2…ディスク装置での処理対象範
囲を指定する。
【0060】処理対象データには、ライト要求やリード
&ライト要求の場合には更新データの新データが該当す
る。
【0061】ライトアフタ処理900では、セグメント
200に格納されている更新データレコード920のリ
ード&ライト要求をデータディスク装置105に送信
し、データレコードとパリティレコードの更新完了を待
って、データレコードに割り当てたセグメント200の
クリーン化などの処理を行なう。
【0062】図10はライトアフタ処理900の処理フ
ロー図である。
【0063】ステップ1000では、セグメント200
に格納され、キャッシュ107上に蓄積されたホストダ
ーティ状態のデータレコードの中から、処理対象を選び
出す。このとき、同一パリティグループに属する複数の
更新データレコードが存在する場合は、同時に処理対象
とする。
【0064】ステップ1001では、ステップ1000
で選出した各更新データレコード920に対応するパリ
ティレコードにセグメント200を割り当て、当該セグ
メント管理情報301の使用中フラグ505をオンにす
る。こうして、他処理による当該パリティグループのデ
ータに対するパリティ生成を禁じ、排他を実現する。
【0065】ステップ1002では、ステップ1000
で選出した各更新データレコード1420のセグメント
管理情報301の使用中フラグ505をオンにする。
【0066】ステップ1003では、処理対象の更新デ
ータレコード920の新データと処理指定情報からなる
リード&ライト要求を各データディスク装置105に送
出し、データディスク装置105におけるリード&ライ
ト処理、およびパリティディスク装置105におけるパ
リティ生成ライト処理を行なわせる。
【0067】ステップ1004では、データディスク装
置105とパリティディスク装置105に対する更新の
完了した更新データレコード920のセグメント200
をクリーン化し、使用中フラグ505をオフする。ここ
で、セグメント200を破棄ではなく、クリーン化する
のは、以降のアクセスによる当該データレコードへのキ
ャッシュヒットを期待するためである。
【0068】ステップ1005では、当該更新データレ
コード920のライト処理のために割り当てたパリティ
セグメント200を破棄する。
【0069】第二に、ディスク装置コマンド実行処理9
10について説明する。
【0070】ライト転送処理900により転送されたリ
ード&ライト要求を受信したデータディスク装置105
では、当該データレコードの旧データリードと新データ
ライトを実行後、パリティディスク装置105へ新旧デ
ータと共にパリティ生成ライト要求を送信する。パリテ
ィ生成ライト要求を受信したパリティディスク装置10
5では、旧パリティリードと新パリティ生成、および新
パリティライトを行なう。
【0071】図11はディスク装置コマンド実行処理9
10の本発明に関係した部分のみを抜粋した処理フロー
図である。
【0072】ステップ1100では、受信した処理指定
情報の要求処理種別を調べる。処理種別がリード&ライ
トの場合にはステップ1101に遷移し、パリティ生成
ライトの場合にはステップ1106にジャンプする。
【0073】ステップ1101では、処理指定情報とと
もに送信されてきた対象データレコードの新データをデ
ィスク装置105内のバッファセグメント930に取り
込む。
【0074】ステップ1102では、指定情報2で指定
されたディスク110上の格納位置から、対象データレ
コードの旧データをリードし、新データを格納したのと
は別のバッファセグメント930に格納する。
【0075】ステップ1103では、ディスク110上
の格納位置に、バッファセグメント930に格納した対
象データレコードの新データをライトする。
【0076】ステップ1104では、各々バッファセグ
メント930に格納した新旧データと処理指定情報から
なるパリティ生成ライト要求をパリティディスク装置1
05に送出する。
【0077】ステップ1105では、要求処理が完了し
たことをライトアフタ処理900に報告し、処理を終了
する。
【0078】ステップ1106では、パリティ生成ライ
ト処理を行なうために、処理指定情報とともに送信され
てきた新旧データをバッファセグメント930に各々取
り込む。
【0079】このとき、対象データレコードが複数存在
する場合には、データレコード毎にパリティ生成ライト
を行なっても良いし、全データレコード分の新旧データ
を同時にバッファセグメント930に取り込み、新パリ
ティを一括生成しても構わない。また、パリティ生成ラ
イト要求の新旧データを複数のパリティレコード分バッ
ファ内に109にため込み、シーク時間最短のものから
対象にするなど、適当なスケジューリングを行なっても
構わない。
【0080】ステップ1107では、パリティ生成ライ
ト処理を行なう。まず、ディスク110から新パリティ
生成に必要な旧パリティをリードして、バッファセグメ
ント930に格納する。次にバッファ109上の新デー
タと旧データ、および旧パリティから新パリティを生成
し、また別のバッファセグメント930に格納する。最
後に、ディスク110上の先ほどリードしたパリティ格
納位置に、新パリティをライトする。
【0081】次に、図12〜図15を参照して、第2の
実施例を説明する。
【0082】図12は、第2の実施例における記憶制御
装置104とディスク装置105の動作を詳細に表した
図である。
【0083】この第2の実施例では、新データのデータ
ディスク装置105への反映が終った段階で、データレ
コード920をパリティ未反映化して、キャッシュ上に
保持し、パリティディスク装置105への反映処理を別
の契機に行なう。まず、ホストダーティ状態のデータレ
コード920の中から、データ反映処理対象となるもの
を選択し、当該データレコード920の新データを、当
該データレコードを格納するデータディスク装置105
に送出する。次に、データディスク装置105では、受
信した新データに対し、旧データのディスク110から
の読みだしと新データのディスク110への書き込みを
行ない、記憶制御装置104に旧データを送出する。以
下、データディスク装置105での、これら一連の処理
も第1の実施例と同様に、リード&ライト処理と呼ぶ。
記憶制御装置104では、旧データを受信したデータレ
コード920をパリティ未反映化して、当該データレコ
ード920に対する処理を一旦打ち切る。キャッシュ1
07上に保留されたデータレコード920に対しては、
この後、別の契機でパリティ反映処理を実行し、完了
後、セグメント200をクリーン化する。
【0084】以下では、データ反映処理1200と、パ
リティ反映処理1210と、ディスク装置コマンド実行
処理1220について順に説明する。
【0085】第一に、データ反映処理1200について
説明する。
【0086】データ反映処理1200では、更新データ
レコード920のリード&ライト要求をデータディスク
装置105に送信し、データレコードの更新完了を待っ
て、受信した旧データをセグメント200に格納し、デ
ータレコード920のパリティ未反映化などの処理を行
なう。
【0087】図13はデータ反映処理1200の処理フ
ロー図である。
【0088】ステップ1300では、セグメント200
に格納され、キャッシュ107上に蓄積されたホストダ
ーティ状態のデータレコード930の中から、処理対象
を選び出す。
【0089】ステップ1301では、ステップ1301
で選出した更新データレコード920のセグメント管理
情報301の使用中フラグ505をオンにする。
【0090】ステップ1302では、処理対象の更新デ
ータレコード920の新データと処理指定情報からなる
リード&ライト要求をデータディスク装置105に送出
し、リード&ライト処理を行なわせる。
【0091】ステップ1303では、データディスク装
置105に対する反映の完了した更新データレコード9
20をパリティ未反映化し、使用中フラグをオフする。
【0092】第二に、パリティ反映処理1210につい
て説明する。
【0093】パリティ反映処理1210では、データ反
映処理1200によってデータディスク装置105への
反映処理が完了して、キャッシュ107上にパリティ未
反映状態で蓄積されているデータレコード920のパリ
ティ生成ライト要求をパリティディスク装置105に送
信し、パリティレコードの更新完了を待って、データレ
コード920のクリーン化などの処理を行なう。
【0094】図14はパリティ反映処理1210の処理
フロー図である。
【0095】ステップ1400では、セグメント200
に格納され、キャッシュ107上に蓄積されたパリティ
未反映状態のデータレコード930の中から、処理対象
を選び出す。
【0096】ステップ1401では、ステップ1401
で選出した更新データレコード920のセグメント管理
情報301の使用中フラグ505をオンにする。
【0097】ステップ1402では、処理対象の更新デ
ータレコード920の新旧データと処理指定情報からな
るパリティ生成ライト要求をパリティディスク装置10
5に送出し、パリティ生成ライト処理を行なわせる。
【0098】ステップ1403では、パリティディスク
装置105に対する反映の完了した更新データレコード
920をクリーン化し、使用中フラグをオフする。
【0099】第三に、ディスク装置コマンド実行処理1
220について説明する。
【0100】データ反映処理1200により転送された
リード&ライト要求を受信したデータディスク装置10
5では、当該データレコードの旧データリードと新デー
タライトを実行後、記憶制御装置104へ旧データを転
送する。また、パリティ反映処理1210からパリティ
生成ライト要求を受信したパリティディスク装置105
では、旧パリティリードと新パリティ生成、および新パ
リティライトを行なう。
【0101】図15はディスク装置コマンド実行処理1
220の本発明に関係した部分のみを抜粋した処理フロ
ー図である。
【0102】ステップ1500からステップ1507の
うち、ステップ1504以外は図11と全く同じである
ので、説明は繰り返さない。
【0103】ステップ1504では、ステップ1502
でディスク110から読み込み、バッファセグメント9
30に格納した旧データを記憶制御装置104に送出す
る。
【0104】
【発明の効果】本発明の記憶制御方法および記憶装置サ
ブシステムによれば、データライト時の記憶制御装置の
負荷軽減、かつ平均シーク/サーチ時間短縮を実現した
パリティ生成ライトが可能となり、記憶制御装置のオー
バヘッド削減の助長やドライブ占有時間削減などの効果
により記憶装置サブシステム全体のスループットを増大
させることができる。
【図面の簡単な説明】
【図1】本発明が対象とする記憶装置サブシステムのブ
ロック図である。
【図2】本発明の実施例におけるキャッシュメモリの構
成例示図である。
【図3】本発明の実施例におけるディレクトリの構成例
示図である。
【図4】本発明の実施例におけるキャッシュ割り当て情
報の構成例示図である。
【図5】本発明の実施例におけるセグメント管理情報の
構成例示図である。
【図6】本発明の実施例における空きセグメントキュー
の構成例示図である。
【図7】本発明の実施例におけるセグメント状態遷移図
である。
【図8】本発明の実施例におけるディスク装置内のバッ
ファの構成例示図である。
【図9】本発明の第1の実施例において、キャッシュ上
に保持された、データ処理装置からの新データをディス
ク装置へ書き込む際の、制御装置およびディスク装置の
動作を示すブロック図である。
【図10】本発明の第1の実施例において、更新データ
レコードのリード&ライト要求を行うライトアフタ処理
の処理フロー図である。
【図11】本発明の第1の実施例において、記憶制御装
置からの要求を処理するディスク装置コマンド実行処理
の処理フロー図である。
【図12】本発明の第2の実施例において、キャッシュ
上に保持された、データ処理装置からの新データをディ
スク装置へ書き込む際の、制御装置およびディスク装置
の動作を示すブロック図である。
【図13】本発明の第2の実施例において、更新データ
レコードのリード&ライト要求を行うデータ反映処理の
処理フロー図である。
【図14】本発明の第2の実施例において、パリティ未
反映状態のデータレコードのパリティ生成ライト要求を
行うパリティ反映処理の処理フロー図である。
【図15】本発明の第2の実施例において、記憶制御装
置からの要求を処理するディスク装置コマンド実行処理
の処理フロー図である。
【符号の説明】
100…データ処理装置、 101…CPU、 1
02…主記憶、103…チャネル、 104…記
憶制御装置、105…ディスク装置、106…ディレク
タ、 107…キャッシュメモリ、108…キャッ
シュディレクトリ、109…バッファ、110…ディス
ク、111…NVS、 112…NVS管理情
報、200…セグメント、301…セグメント管理情
報、800…バッファセグメント、900…第1の実施
例のライトアフタ転送処理部、910…第1の実施例の
ディスク装置コマンド実行処理部、920…キャッシュ
上のデータセグメント、930…バッファに格納された
ライトアフタ要求、1200…第2の実施例のデータ反
映処理部、1210…第2の実施例のパリティ反映処理
部、1220…第2の実施例のディスク装置コマンド実
行処理部。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】それぞれのパリティグループがm個(m≧
    1)のデータと前記データを回復するための冗長データ
    から構成され、少なくとも1つ以上の前記パリティグル
    ープに属する1つ以上の前記データ、あるいは、1つ以
    上の前記冗長データを格納する記憶媒体を有する1つ以
    上の記憶装置と、データ処理装置と、前記データ処理装
    置と前記記憶装置との間に介在し、前記データ処理装置
    と前記記憶装置とのデータ転送を制御する記憶制御装置
    からなる記憶装置サブシステムにおいて、前記記憶制御
    装置が、前記パリティグループに属する一つ以上の前記
    データの更新値をね前記データを格納する一つ以上の第
    1の記憶装置に送信する手段を有し、前記第1の記憶装
    置が前記記憶制御装置から前記データの更新値を受信す
    る手段と、前記データの更新前の値を前記記憶媒体から
    読み出す手段と、前記データの更新値を前記記憶媒体に
    書き込む手段と、前記データの更新値と更新前の値を前
    記冗長データを格納する第2の記憶装置に直接送信する
    手段を有し、前記第2の記憶装置が前記第1の記憶装置
    から前記データの更新値と更新前の値を受信する手段
    と、前記冗長データの更新前の値を前記記憶媒体から読
    み出す手段と、前記データの更新値と更新前の値と前記
    冗長データの更新前の値から前記冗長データの更新値を
    作成する手段と、前記冗長データの更新値を前記記憶媒
    体に書き込む手段を有することを特徴とする記憶装置サ
    ブシステム。
  2. 【請求項2】それぞれのパリティグループがm個(m≧
    1)のデータと前記データを回復するための冗長データ
    から構成され、少なくとも1つ以上の前記パリティグル
    ープに属する1つ以上の前記データ、あるいは、1つ以
    上の前記冗長データを格納する記憶媒体を有する1つ以
    上の記憶装置と、データ処理装置と、前記データ処理装
    置と前記記憶装置との間に介在し、前記データ処理装置
    と前記記憶装置とのデータ転送を制御する記憶制御装置
    からなる記憶装置サブシステムにおいて、前記記憶制御
    装置が、前記パリティグループに属する一つ以上の前記
    データの更新値を、前記データを格納する1つ以上の第
    1の記憶装置に送信する手段と、前記データの更新前の
    値を前記第1の記憶装置から受信する手段と、前記デー
    タの更新値と更新前の値を前記冗長データを格納する第
    2の記憶装置に送信する手段を有し、前記第1の記憶装
    置が前記記憶制御装置から前記データの更新値を受信す
    る手段と、前記データの更新前の値を前記記憶媒体から
    読み出す手段と、前記データの更新値を前記記憶媒体に
    書き込む手段と、前記データの更新前の値を前記記憶制
    御装置に送信する手段を有し、前記第2の記憶装置が前
    記記憶制御装置から前記データの更新値と更新前の値を
    受信する手段と、前記冗長データの更新前の値を前記記
    憶媒体から読み出す手段と、前記データの更新値と更新
    前の値と前記冗長データの更新前の値から前記冗長デー
    タの更新値を作成する手段と、前記冗長データの更新値
    を前記記憶媒体に書き込む手段を有することを特徴とす
    る記憶装置サブシステム。
  3. 【請求項3】請求項2で、前記記憶制御装置が、複数の
    前記データの更新値と更新前の値を同時に格納できるキ
    ャッシュメモリを有し、前記第1の記憶装置から前記デ
    ータの更新前の値を受信後、前記データの更新値ととも
    に前記キャッシュメモリに溜め置き、前記データの前記
    第1の記憶装置への反映処理とは非同期に、シーク/サ
    ーチ動作時間を考慮したスケジュールにより、前記第2
    の記憶装置上の前記冗長データへの反映処理を行うこと
    を特徴とする記憶装置サブシステム。
  4. 【請求項4】請求項1で、前記第2の記憶装置が、複数
    の前記データの更新値と更新前の値を同時に格納できる
    バッファメモリを有し、前記第1の記憶装置から前記デ
    ータの更新値と更新前の値を受信後、バッファメモリに
    溜め置き、前記データの前記第1の記憶装置への反映処
    理とは非同期に、シーク/サーチ動作時間を考慮したス
    ケジュールにより、前記第2の記憶装置上の前記冗長デ
    ータへの反映処理を行うことを特徴とする記憶装置サブ
    システム。
JP9120487A 1997-05-12 1997-05-12 記憶装置サブシステム Pending JPH10312246A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9120487A JPH10312246A (ja) 1997-05-12 1997-05-12 記憶装置サブシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9120487A JPH10312246A (ja) 1997-05-12 1997-05-12 記憶装置サブシステム

Publications (1)

Publication Number Publication Date
JPH10312246A true JPH10312246A (ja) 1998-11-24

Family

ID=14787410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9120487A Pending JPH10312246A (ja) 1997-05-12 1997-05-12 記憶装置サブシステム

Country Status (1)

Country Link
JP (1) JPH10312246A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213470A (ja) * 2003-01-07 2004-07-29 Nec Corp ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
JP2005004282A (ja) * 2003-06-09 2005-01-06 Nec Corp ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム
JP2015207289A (ja) * 2014-04-21 2015-11-19 三星電子株式会社Samsung Electronics Co.,Ltd. ストレージシステム及びストレージコントローラの動作方法
US9319067B2 (en) 2012-03-19 2016-04-19 Fujitsu Limited Storage control apparatus, storage system, and storage control method
WO2019049224A1 (ja) * 2017-09-06 2019-03-14 株式会社日立製作所 分散ストレージシステム及び分散記憶制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213470A (ja) * 2003-01-07 2004-07-29 Nec Corp ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
JP2005004282A (ja) * 2003-06-09 2005-01-06 Nec Corp ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム
US9319067B2 (en) 2012-03-19 2016-04-19 Fujitsu Limited Storage control apparatus, storage system, and storage control method
JP2015207289A (ja) * 2014-04-21 2015-11-19 三星電子株式会社Samsung Electronics Co.,Ltd. ストレージシステム及びストレージコントローラの動作方法
WO2019049224A1 (ja) * 2017-09-06 2019-03-14 株式会社日立製作所 分散ストレージシステム及び分散記憶制御方法
JPWO2019049224A1 (ja) * 2017-09-06 2019-11-07 株式会社日立製作所 分散ストレージシステム及び分散記憶制御方法
CN111052090A (zh) * 2017-09-06 2020-04-21 株式会社日立制作所 分布式存储系统和分布式存储控制方法
US11321208B2 (en) 2017-09-06 2022-05-03 Hitachi, Ltd. Distributed storage system and distributed storage control method
CN111052090B (zh) * 2017-09-06 2023-09-29 株式会社日立制作所 分布式存储系统和分布式存储控制方法

Similar Documents

Publication Publication Date Title
US6604172B2 (en) Disk array device with selectable method for generating redundant data
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US7228381B2 (en) Storage system using fast storage device for storing redundant data
US5124987A (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5734812A (en) Storage unit with parity generation function and storage systems using storage unit with parity generation analyzation
US6098191A (en) Storage unit and storage unit subsystem
US20030158999A1 (en) Method and apparatus for maintaining cache coherency in a storage system
US6571314B1 (en) Method for changing raid-level in disk array subsystem
JP3661205B2 (ja) ディスクアレイシステムおよびディスクアレイシステムのパリティデータの生成方法
US6611897B2 (en) Method and apparatus for implementing redundancy on data stored in a disk array subsystem based on use frequency or importance of the data
JPH07200187A (ja) ディスクアレイ装置
JPH10312246A (ja) 記憶装置サブシステム
JPH0863394A (ja) 記憶装置システムおよび記憶装置の制御方法
US5659677A (en) Data storage apparatus for disk array
US20020144028A1 (en) Method and apparatus for increased performance of sequential I/O operations over busses of differing speeds
JP3648311B2 (ja) ディスクアレイ装置
KR100423812B1 (ko) 디스크 캐쉬메모리 제어기 및 패리티 연산장치를 구비한알에이아이디 제어기 및 패리티 연산방법
JPH06274282A (ja) 磁気記録装置
JPH1091363A (ja) パリティ生成方式及びそれを用いたディスクアレイ制御装置
JPH11345096A (ja) ディスクアレイシステム
JP3615250B2 (ja) ディスクアレイ装置
JPH06242888A (ja) ディスクアレイ装置、コンピュータシステム及びデータ記憶装置
JPH10111762A (ja) 記憶装置サブシステム
JPH0736633A (ja) 磁気ディスクアレイ
JPH10254638A (ja) 記憶装置システム