JP3212116B2 - 記憶制御装置 - Google Patents

記憶制御装置

Info

Publication number
JP3212116B2
JP3212116B2 JP31597791A JP31597791A JP3212116B2 JP 3212116 B2 JP3212116 B2 JP 3212116B2 JP 31597791 A JP31597791 A JP 31597791A JP 31597791 A JP31597791 A JP 31597791A JP 3212116 B2 JP3212116 B2 JP 3212116B2
Authority
JP
Japan
Prior art keywords
data
record
records
data records
redundant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP31597791A
Other languages
English (en)
Other versions
JPH05151008A (ja
Inventor
俊晴 片貝
弘 一ノ宮
孝夫 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems Co 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, Hitachi ULSI Systems Co Ltd filed Critical Hitachi Ltd
Priority to JP31597791A priority Critical patent/JP3212116B2/ja
Publication of JPH05151008A publication Critical patent/JPH05151008A/ja
Application granted granted Critical
Publication of JP3212116B2 publication Critical patent/JP3212116B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力処理要求を発行
する処理装置と、前記処理装置からの入出力要求により
転送されるデータレコードと、m(m≧1)個の前記デ
ータレコードから生成されるn(n≧1)個の冗長レコ
ードを格納する複数の記憶装置と、前記処理装置および
前記複数の記憶装置を接続する記憶制御装置に関する。
【0002】
【従来の技術】デビッド エー.パターソン 他;ア
ケース フォア リダンダント アレイズ オブ イン
イクスペンシブ ディスクス(レイド),エーシーエム
シグモッド,第109頁から第116頁,1988年
6月(David A.Patterson et.al.;A Case for Redund
ant Arrays of Inexpensive Disks(RAID),Proc.ACMSIG
MOD,pp.109〜116,June 1988)では、R
AID(RedundandArrays of Inexpensive Disks) にデ
ータ入出力の技術が記載されている。RAIDは、処理装置
からの入出力要求により転送されるデータレコードと、
m(m≧1)個の前記データレコードから生成されるn
(n≧1)個の冗長レコードを複数のディスク装置に格
納する。
【0003】RAIDでは、m個未満のi個のデータレ
コードを書き込む際に、i個の書き込み対象ディスク装
置が、m個のディスク装置に対して少ない場合は、i個
の書き込み対象の旧データレコードおよびn個の旧冗長
レコードを複数のディスク装置から読み出し、i個の書
き込みデータレコードとi個の書き込み対象旧データレ
コードとn個の旧冗長レコードから、新冗長レコードを
作成し、書き込みデータレコードおよび新冗長レコード
を複数のディスク装置のそれぞれ対応したディスク装置
に格納していた。
【0004】
【発明が解決しようとする課題】上記従来技術は、記憶
制御装置において、m(m≧1)個のデータレコードか
らn(n≧1)個の冗長レコードを作成することによっ
て、高い信頼性を得ることができる。しかし、m個未満
のi個のデータレコードを書き込む場合、冗長レコード
を作成するために必ず何れかの記憶装置から旧データレ
コードを読み出す処理が必要となり、オーバヘッドが大
きい。
【0005】つまり、i個の書き込み対象記憶装置が、
m個の記憶装置に対して少ない場合は、書き込み対象記
憶装置と冗長レコード格納記憶装置からi個の書き込み
対象旧データレコードとn個の旧冗長レコードを読み出
す処理が必要である。従って、データレコード格納の応
答時間は、書き込み対象記憶装置と冗長レコード格納記
憶装置から書き込み対象旧データレコードと旧冗長レコ
ードを読み出してから、書き込み対象記憶装置と冗長レ
コード格納記憶装置とに書き込みデータレコードと新冗
長レコードとを書き込むまでの時間となる。
【0006】しかし、上記従来技術では、新冗長レコー
ドを作成する際に旧冗長レコードを必要とするため、初
期設定段階で冗長レコードが無効な場合は、まず、冗長
レコードを有効にするための初期化が必要である。しか
し、初期設定段階で冗長レコードが無効であれば、m個
未満のi個のデータレコードを書き込む場合に、書き込
み対象以外の記憶装置に適当なデータレコードを書き込
めるため、(m−i)個の書き込み対象以外の記憶装置
にフィルキャラクタを書き込むことによって、冗長レコ
ードを有効にするための初期化をすることなしに、i個
の書き込みデータレコードと(m−i)個のフィルキャ
ラクタから新冗長レコードを作成することができる。従
って、初期設定段階で冗長レコードが無効な場合、冗長
レコードを有効にするための初期化をする必要がない。
また、複数の記憶装置から旧データレコードおよび旧冗
長レコードを読み出す必要もなく、データレコード格納
の応答時間を短縮できる。
【0007】また、m個のデータレコードが無効化され
た後に、処理装置から受け取った書き込み要求が、m個
未満のi個のデータレコードを書き込む場合も、書き込
み対象以外の記憶装置に適当なデータレコードを書き込
めるため、(m−i)個の書き込み対象以外の記憶装置
にフィルキャラクタを書き込むことによって、i個の書
き込みデータレコードと(m−i)個のフィルキャラク
タから新冗長レコードを作成することができる。従っ
て、複数の記憶装置から旧データレコードおよび旧冗長
レコードを読み出す必要がなく、データレコード格納の
応答時間を短縮できる。
【0008】また、処理装置から受け取ったm個未満の
i個のデータレコードずつシーケンシャルに書き換える
要求が、最初のi個のデータレコードを書き換え、引き
続いてシーケンシャルに残りの(m−i)個のデータレ
コードが書き換えられる場合、残りの(m−i)個のデ
ータレコードに適当なデータレコードを書き込むことが
でき、(m−i)個の書き込み対象以外の記憶装置にフ
ィルキャラクタを書き込むことによって、i個の書き込
みデータレコードと(m−i)個のフィルキャラクタか
ら新冗長レコードを作成することができる。従って、複
数の記憶装置から旧データレコードおよび旧冗長レコー
ドを読み出す必要がなく、データレコード格納の応答時
間を短縮できる。
【0009】しかし、従来技術では、旧データレコード
および旧冗長レコードの読み出し時間の削減によるデー
タレコード格納の応答時間の短縮,冗長レコードを有効
にする初期化の処理時間の削減は、考慮されていなかっ
た。
【0010】本発明の目的は、処理装置から、m個未満
のi個のデータレコードを書き込む要求を受け取り、書
き込み対象となるデータレコードの冗長レコードが無効
であると判定された場合、または、処理装置から、m個
未満のi個のデータレコードを書き込む要求を受け取
り、書き込み対象のi個の旧データレコードと書き込み
対象以外の(m−i)個のデータレコードが全て無効で
あると判定された場合、または、処理装置から、m個未
満のi個のデータレコードずつシーケンシャルに書き換
える要求を受け取り、最初のi個のデータレコードを書
き換え、引き続いてシーケンシャルに残りの(m−i)
個のデータレコードが書き換えられると判定された場合
にデータレコード格納の応答時間を短縮することにあ
る。また、冗長レコードが無効な場合に、冗長レコード
を有効にする初期化の処理時間を削減することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、記憶制御装置は、冗長レコードが有効であるか判定
する手段と、m個未満のi個のデータレコード以外の
(m−i)個のデータレコードに対し、特定のパターン
データ(フィルキャラクタ)を作成する手段と、前記i
個のデータレコードと(m−i)個のフィルキャラクタ
から冗長レコードを生成する手段と、処理装置から、前
記i個のデータレコードを書き込む要求を受け取り、書
き込み対象となるデータレコードの冗長レコードが無効
であると判定された場合、前記i個のデータレコード
と、前記(m−i)個のフィルキャラクタと、冗長レコ
ードを対応する記憶装置に書き込む手段を備える。
【0012】また、記憶制御装置は、データレコードが
有効であるか判定する手段と、m個未満のi個のデータ
レコード以外の(m−i)個のデータレコードに対し、
特定のパターンデータ(フィルキャラクタ)を作成する
手段と、前記i個のデータレコードと前記(m−i)個
のフィルキャラクタから冗長レコードを生成する手段
と、処理装置から、前記i個のデータレコードを書き込
む要求を受け取り、書き込み対象のi個の旧データレコ
ードと書き込み対象以外の(m−i)個のデータレコー
ドが全て無効であると判定された場合、前記i個のデー
タレコードと、前記(m−i)個のフィルキャラクタ
と、冗長レコードを対応する記憶装置に書き込む手段を
備える。
【0013】さらに、記憶制御装置は、冗長レコードが
有効であるかどうかを判定する手段と、処理装置から、
前記i個のデータレコードを書き込む要求を受け取り、
書き込み対象のi個の旧データレコードと書き込み対象
以外の(m−i)個のデータレコードが全て無効である
が、冗長レコードは有効であると判定され、前記i個の
データレコードが(m−n)/2個未満の場合には、前
記i個のデータレコードと書き込み対象のi個の旧デー
タレコードと旧冗長レコードから、冗長レコードを作成
する手段を備える。
【0014】また、記憶制御装置は、m個未満のi個の
データレコードずつシーケンシャルに書き換える要求
が、最初のi個のデータレコードを書き換え、引き続い
てシーケンシャルに残りの(m−i)個のデータレコー
ドが書き換えられるか判定する手段と、m個未満のi個
の前記データレコード以外の(m−i)個のデータレコ
ードに対し、特定のパターンデータ(フィルキャラク
タ)を作成する手段と、前記i個のデータレコードと前
記(m−i)個のフィルキャラクタから冗長レコードを
生成する手段と、処理装置から、m個未満のi個のデー
タレコードずつシーケンシャルに書き換える要求を受け
取り、最初のi個のデータレコードを書き換え、引き続
いてシーケンシャルに残りの(m−i)個のデータレコ
ードが書き換えられると判定された場合、前記i個のデ
ータレコードと、前記(m−i)個のフィルキャラクタ
と、冗長レコードを対応する記憶装置に書き込む手段を
備える。
【0015】さらに、記憶制御装置は、冗長レコードが
有効であるかどうかを判定する手段と、処理装置から、
m個未満のi個のデータレコードずつシーケンシャルに
書き換える要求を受け取り、冗長レコードが有効な最初
のi個のデータレコードを書き換え、引き続いてシーケ
ンシャルに残りの(m−i)個のデータレコードが書き
換えられると判定され、前記i個のデータレコードが
(m−n)/2個未満の場合には、前記i個のデータレ
コードと書き込み対象のi個の旧データレコードと旧冗
長レコードから、冗長レコードを作成する手段を備え
る。
【0016】また、記憶制御装置は、処理装置が記憶装
置に対して書き込み要求を発行する前に、m個の前記デ
ータレコードを無効化することを記憶制御装置に指示す
るコマンド機能を備える。
【0017】また、記憶制御装置は、冗長レコードが有
効であるか否かを判定する手段と、データレコードが有
効であるかどうかを判定する手段と、記憶装置の一台の
記憶装置が故障したために、冗長レコードを使って別の
記憶装置に回復させる際に、回復対象となるデータレコ
ードの冗長レコードが無効であると判定された場合、ま
たは、m個のデータレコードが全て無効であると判定さ
れた場合、故障している記憶装置の対象データレコード
は、別の記憶装置に回復させない手段を備える。
【0018】
【作用】入出力処理要求を発行する処理装置と、処理装
置からの入出力要求により転送されるデータレコード
と、m(m≧1)個のデータレコードから生成されるn
(n≧1)個の冗長レコードを格納する複数の記憶装置
と、処理装置、および複数の記憶装置を接続する記憶制
御装置において、冗長レコードが有効であるか判定する
手段と、m個未満のi個のデータレコード以外の(m−
i)個のデータレコードに対し、特定のパターンデータ
(フィルキャラクタ)を作成する手段と、i個のデータ
レコードと(m−i)個のフィルキャラクタから冗長レ
コードを生成する手段と、処理装置から、i個のデータ
レコードを書き込む要求を受け取り、書き込み対象とな
るデータレコードの冗長レコードが無効であると判定さ
れた場合、i個のデータレコードと、(m−i)個のフ
ィルキャラクタと、冗長レコードを対応する記憶装置に
書き込む手段をもつことにより、冗長レコードを作成す
るために記憶装置から旧データレコードおよび旧冗長レ
コードを読み出す必要がなく、データレコード格納の応
答時間を短縮することができる。また、冗長レコードを
有効にするための初期化の処理時間を削減することがで
きる。
【0019】また、記憶制御装置は、データレコードが
有効であるか判定する手段と、m個未満のi個のデータ
レコード以外の(m−i)個のデータレコードに対し、
特定のパターンデータ(フィルキャラクタ)を作成する
手段と、i個のデータレコードと(m−i)個のフィル
キャラクタから冗長レコードを生成する手段と、処理装
置から、i個のデータレコードを書き込む要求を受け取
り、書き込み対象のi個の旧データレコードと書き込み
対象以外の(m−i)個のデータレコードが全て無効で
あると判定された場合、i個のデータレコードと、(m
−i)個のフィルキャラクタと、冗長レコードを対応す
る記憶装置に書き込む手段をもつことにより、冗長レコ
ードを作成するために記憶装置から旧データレコードお
よび旧冗長レコードを読み出す必要がなく、データレコ
ード格納の応答時間を短縮することができる。
【0020】また、記憶制御装置は、m個未満のi個の
データレコードずつシーケンシャルに書き換える要求
が、最初のi個のデータレコードを書き換え、引き続い
てシーケンシャルに残りの(m−i)個のデータレコー
ドが書き換えられるか判定する手段と、m個未満のi個
のデータレコード以外の(m−i)個のデータレコード
に対し、特定のパターンデータ(フィルキャラクタ)を
作成する手段と、i個のデータレコードと(m−i)個
のフィルキャラクタから冗長レコードを生成する手段
と、処理装置から、m個未満のi個のデータレコードず
つシーケンシャルに書き換える要求を受け取り、最初の
i個のデータレコードを書き換え、引き続いてシーケン
シャルに残りの(m−i)個のデータレコードが書き換
えられると判定された場合、i個のデータレコードと、
(m−i)個のフィルキャラクタと、冗長レコードを対
応する記憶装置に書き込む手段をもつことにより、冗長
レコードを作成するために記憶装置から旧データレコー
ドおよび旧冗長レコードを読み出す必要がなく、データ
レコード格納の応答時間を短縮することができる。
【0021】また、記憶制御装置は、冗長レコードが有
効であるか判定する手段と、処理装置から、i個のデー
タレコードを書き込む要求を受け取り、書き込み対象の
i個の旧データレコードと書き込み対象以外の(m−
i)個のデータレコードが全て無効であるが、冗長レコ
ードは有効であると判定され、i個のデータレコードが
(m−n)/2個未満の場合には、i個のデータレコー
ドと書き込み対象のi個の旧データレコードと旧冗長レ
コードから、冗長レコードを作成する手段を有すること
により、全体のアクセス回数を増加させずに、データレ
コード格納の応答時間を短縮することができる。
【0022】また、記憶制御装置は、冗長レコードが有
効であるか判定する手段と、m個未満のi個のデータレ
コードずつシーケンシャルに書き換える要求を受け取
り、冗長レコードが有効な最初のi個のデータレコード
を書き換え、引き続いてシーケンシャルに残りの(m−
i)個のデータレコードが書き換えられると判定され、
i個のデータレコードが(m−n)/2個未満の場合に
は、i個のデータレコードと書き込み対象のi個の旧デ
ータレコードと旧冗長レコードから、冗長レコードを作
成する手段をもつことにより、全体のアクセス回数を増
加させずに、データレコード格納の応答時間を短縮する
ことができる。
【0023】また、記憶制御装置は、冗長レコードが有
効であるかどうかを判定する手段と、データレコードが
有効であるか判定する手段と、記憶装置の一台の記憶装
置が故障したために、冗長レコードを使って別の記憶装
置に回復させる際に、回復対象となるデータレコードの
冗長レコードが無効であると判定された場合、または、
m個のデータレコードが全て無効であると判定された場
合、故障している記憶装置の対象データレコードは、別
の記憶装置に回復させない手段を有することにより、回
復処理時間を短縮することができる。
【0024】
【実施例】以下、本発明の一実施例を図面により詳細に
説明する。
【0025】図1は、本発明をディスク制御装置に適用
した計算機システムの構成を示すブロック図である。図
1に示すように、計算機システムは、処理装置1,ディ
スク制御装置2、少なくとも一台のディスク装置Aj
(j=1,2,……,m)、少なくとも一台のディスク
装置Bk(k=1,2,……,n)より構成される。
【0026】ディスク制御装置2は、ディレクタ20,
データバッファ21,ECCレコード生成器22,EC
Cレコード修正器23,ECCレコード管理テーブル2
4,チャネルインタフェース25,ドライブインタフェ
ース26により構成される。
【0027】ディレクタ20は、ディスク制御装置2の
内部の制御,処理装置1とのデータ転送と、ディスク装
置Ajおよびディスク装置Bkとのデータ転送とを制御
するプロセッサである。ECCレコード有効/無効判定
部30では、データレコードにおけるECCレコードが
有効か無効か判定する。フィルキャラクタ生成部31
は、m個未満のi個のデータレコード以外の(m−i)
個のデータレコードに対し、特定のデータパターン(フ
ィルキャラクタ)を生成する。入出力処理部32は、処
理装置1とのデータ転送と、ディスク装置Ajおよびデ
ィスク装置Bkとのデータ転送とを制御する。データバ
ッファ21は、処理装置1から転送されたデータレコー
ド,ディスク装置Ajおよびディスク装置Bkから読み
出されたデータレコード,ECCレコードを一時的に格
納するメモリである。ECCレコード生成器22は、デ
ータバッファ21に格納されているデータレコードおよ
びフィルキャラクタを入力し、冗長レコードとしてEC
Cレコードを作成する。ECCレコード修正器23は、デ
ータレコードの誤り検出およびデータレコードの修正を
ECCレコードにより行う。ECCレコード管理テーブ
ル24は、ECCレコードが有効かどうかの管理を行う
ためのテーブルである。チャネルインタフェース25
は、処理装置1との接続を制御する。ドライブインタフ
ェース26は、デイスク装置Ajおよびディスク装置B
kとの接続を制御する。
【0028】ディスク装置Ajには、同時に最大m個の
データレコードがそれぞれ格納される。ディスク装置B
kには、m個のデータレコードから生成されるn個のE
CCレコードがそれぞれ格納される。m個のデータレコ
ードおよびn個のECCレコードによってデータ保護グ
ループを形成する。
【0029】図2は、初期設定時に本発明を適用した場
合におけるデータレコード書き込み処理を表した説明図
である。ディスク装置群をはじめて形成した初期設定時
には、冗長レコード格納ディスク装置B1の冗長レコー
ドは無効となっているが、処理装置から、データレコー
ド200をディスク装置A1に書き込む要求を受けとっ
た場合、書き込み対象以外のディスク装置A2〜A6に
フィルキャラクタ201a〜201eを書き込むことに
よって、ディスク装置から旧データレコードおよび旧冗
長レコードを読み出さずに新冗長レコード202を作成
することができる。また、ディスク装置B1の冗長レコ
ードを有効にするために初期化を行う必要もない。従っ
て、ディスク装置から旧データレコードおよび旧冗長レ
コードを読み出す必要がなく、データレコード格納の応
答時間を短縮できる。また、冗長レコードを有効にする
初期化の処理時間を削減することができる。
【0030】図3は、データ保護グループ内の全てのデ
ータレコードが無効化された後に、本発明を適用した場
合のデータレコード書き込み処理を表した説明図であ
る。データ保護グループ内の全てのデータレコードが不
要な場合、データ保護グループ内の全てのデータレコー
ドを無効化する。これによって、処理装置から、データ
レコード300〜303をディスク装置A1〜A4に書
き込む要求を受けとった場合、書き込み対象以外のディ
スク装置A5〜A6にフィルキャラクタ304a〜30
4bを書き込むことができ、ディスク装置A5〜A6か
ら旧データレコードを読み出さずに新冗長レコード30
5を作成することができる。従って、ディスク装置から
旧データレコードを読み出す必要がなく、データレコー
ド格納の応答時間を短縮することができる。
【0031】図4は、データ保護グループ内のデータレ
コードを数データレコードずつシーケンシャルに書き込
む場合の本発明の説明図である。まず、処理装置から、
データレコード400,401をディスク装置A1,A
2に書き込む要求を受けとった場合、引き続いてシーケ
ンシャルに残りのデータレコードを書き換えるなら、書
き込み対象以外のディスク装置A3〜A6にフィルキャ
ラクタ402a〜402dを書き込むことによって、デ
ィスク装置から旧データレコードおよび旧冗長レコード
を読み出さずに、新冗長レコード403を作成すること
ができる。従って、ディスク装置から旧データレコード
および旧冗長レコードを読み出す必要がなく、データレ
コード格納の応答時間を短縮することができる。続けて
処理装置から受けとった書き込み要求に対しては、従来
技術と同様の処理を行う。
【0032】図5は、データ保護グループ内の全てのデ
ータレコードが無効化された後の本発明によるデータレ
コード書き込み処理で、書き込み対象ディスク装置の数
が、データレコードを格納するディスク装置の数に対し
て少ない場合の説明図である。処理装置から、データレ
コード500をディスク装置A1に書き込む要求を受け
とった場合、書き込み対象以外のディスク装置A2〜A
6にフィルキャラクタ501a〜501eを書き込むこ
とによって、ディスク装置から旧データレコードおよび
旧冗長レコードを読み出さずに新冗長レコード502を
作成することができる。従って、ディスク装置から旧デ
ータレコードおよび旧冗長レコードを読み出す必要がな
く、データレコード格納の応答時間を短縮することがで
きる。しかし、全体のアクセス回数に関しては、本発明
では、書き込みデータレコード500,フィルキャラク
タ501a〜501e,新冗長レコード502の書き込
みの合計七回必要とし、従来技術より多くなる。従っ
て、データ保護グループ内の全てのデータレコードが無
効化された後の、データレコード書き込み処理におい
て、データ保護グループの冗長レコードは有効で、書き
込み対象ディスク装置の数が、データレコードを格納す
るディスク装置の数に対して少ない場合、全体のアクセ
ス回数を増やしたくないなら従来技術によって書き込み
処理を行う。
【0033】以下、データレコード書き込み処理を流れ
図を参照して詳細に説明する。
【0034】図6は、処理装置1から転送されたm個未
満i個のデータレコードの書き込み処理を示したフロー
チャート図である。
【0035】まず、処理601により処理装置1から転
送されたm個未満i個のデータレコードをデータバッフ
ァ21に格納する。そして、判定30により、データレ
コードのECCレコードが有効か判定する。判定30
は、ECCレコード有効/無効判定部30が図7に示す
ようなECCレコード管理テーブル24を参照して判定
する。ECCレコード格納ディスク装置Bkに一個のE
CCレコードが格納されているとすると、ECCレコー
ド管理テーブル24には、先頭から一ビットまで各EC
Cレコードが一ビットずつ対応している。そして、対象
とするデータレコードのECCレコードのビットが0な
らそのECCレコードは無効で、1であるなら有効であ
ることを表している。
【0036】判定30において、データレコードのEC
Cレコードが有効でないと判定された場合は、処理31
に進む。処理31では、データ保護グループにおけるi
個の書き込みデータレコード以外の(m−i)個のデー
タレコードに対してフィルキャラクタを作成し、データ
バッファ21に格納する。ここではフィルキャラクタと
して、すべて0を格納する。処理22では、処理601
で格納されたi個のデータレコードと処理31で格納さ
れた(m−i)個のフィルキャラクタから、新ECCレ
コードを作成し、データバッファ21に格納する。そし
て、処理32でこれらの書き込みデータレコードおよび
フィルキャラクタをデータレコード格納ディスク装置A
jに、新ECCレコードをECCレコード格納ディスク
装置Bkにそれぞれ格納する。
【0037】判定30において、データレコードのEC
Cレコードが有効であると判定された場合は、処理60
2に進む。処理602では、まず書き込み対象旧データ
レコードおよび旧ECCレコードを、データレコード格
納ディスク装置AjおよびECCレコード格納ディスク
装置Bkから読み出し、データバッファ21に格納す
る。処理603で、書き込みデータレコードと書き込み
対象旧データレコードと旧ECCレコードから、ECC
レコード生成器22で新ECCレコードを作成し、デー
タバッファ21に格納する。そして、処理604でこれ
らの書き込みデータレコードをデータレコード格納ディ
スク装置Ajに、新ECCレコードをECCレコード格
納ディスク装置グループBkにそれぞれ格納する。
【0038】本実施例によれば、処理装置1から、m個
未満i個のデータレコードを書き込む要求を受け取り、
書き込み対象となるデータレコードの冗長レコードが無
効であると判定された場合、ディスク装置からのデータ
レコード読み出し時間、および、ディスク装置の回転待
ち時間が不要となり、データレコード格納の応答時間を
短縮できる。また、本実施例によれば、初期設定段階で
冗長レコードが有効でない場合などは、冗長レコードを
初期化するための処理時間を削減することができる。
【0039】次に第二の実施例について説明する。
【0040】図8は、図1の構成の変形例である。図1
と異なる点は、データレコード有効/無効判定部33
と、データレコード管理テーブル27を設けた点であ
る。
【0041】まず、処理装置1とのインタフェースにつ
いて説明する。
【0042】処理装置1とディスク制御装置2との関係
は、処理装置1がスタートサブチャネル命令を実行する
ことにより始まる。この命令は、処理装置1とディスク
制御装置2との間の接続を行い、ディスク制御装置2に
関連したチャネル・プログラムの実行を開始される。チ
ャネル・プログラムは、一連のチャネル制御語(CCW)か
ら構成される。データレコード書き込み時のCCWチェ
インは、まずエクステント指定CCWが発行され、エク
ステントを指定する。次にロケートCCWが発行され、
ディスク装置のデータレコード書き込み位置が設定され
る。そして、ライトCCWにより実際のデータレコード
が転送される。この時、処理装置1は、エクステント指
定CCWを用いることにより、データレコード格納ディ
スク装置Ajにおけるあるデータ保護グループのデータ
レコードを無効化する指示をすることができる。
【0043】図9に、エクステント指定CCWのパラメ
ータを示す。このエクステント指定CCWが設定される
と、エクステント指定CCWパラメータ900がディス
ク制御装置2に転送される。エクステント指定CCWパ
ラメータ900を受けとったディスク制御装置2は、一
ビットのフラグ901が1なら対象とするデータ保護グ
ループのデータレコードが無効であることを図10に示
すようなデータレコード管理テーブル27に登録する。
データレコード格納ディスク装置Ajに一個のデータ保
護グループのデータレコードが格納されているとする
と、データレコード管理テーブル27には、先頭から一
ビットまで各データ保護グループが一ビットずつ対応し
ている。そして、対象とするデータ保護グループのビッ
トが1ならそのデータ保護グループのデータレコードは
無効で、0であるなら有効であることを表している。
【0044】図11は、第二の実施例における処理装置
1から転送されたm個未満i個のデータレコードの書き
込み処理を示した流れ図である。
【0045】まず、処理601により処理装置1から転
送されたm個未満i個のデータレコードをデータバッフ
ァ21に格納する。そして、判定33により、データレ
コードのデータ保護グループが無効かデータレコード管
理テーブル27を参照して判定する。
【0046】判定33において、データレコードのデー
タ保護グループが無効であると判定された場合は、判定
30に進む。判定30は、第一の実施例と同様であるた
め、ここでは説明しない。
【0047】判定30において、データレコードのEC
Cレコードが有効であると判定された場合は、判定11
01に進む。判定1101では、i個の書き込みデータ
レコードが(m−n)/2より大きいか判定する。
【0048】判定30において、データレコードのEC
Cレコードが有効でないと判定された場合、および、判
定1101において、i個の書き込みデータレコードが
(m−n)/2より大きい場合、処理31,処理22,
処理33を実行する。処理31,処理22,処理33
は、第一の実施例と同様であるため、ここでは説明しな
い。
【0049】判定33において、データレコードのデー
タ保護グループが有効であると判定された場合、およ
び、判定1101において、i個の書き込みデータレコ
ードが(m−n)/2より小さい場合、処理602〜6
04を実行する。処理602〜604は、第一の実施例
と同様であるため、ここでは説明しない。
【0050】本実施例によれば、処理装置1から、m個
未満i個のデータレコードを書き込む要求を受け取り、
書き込み対象となるデータレコードのデータ保護グルー
プが無効であると判定された場合、ディスク装置からの
データレコード読み出し時間、および、ディスク装置の
回転待ち時間が不要となり、データレコード格納の応答
時間を短縮できる。また、本実施例によれば、処理装置
1から、m個未満i個のデータレコードを書き込む要求
を受け取り、書き込み対象となるデータレコードのデー
タ保護グループが無効であるが、ECCレコードは有効
であると判定され、i個のデータレコードが(m−n)
/2個未満の場合に、全体のアクセス回数を増加させな
い。
【0051】次に第三の実施例について説明する。
【0052】図12は、図1の構成の変形例である。図
1と異なる点は、書き込み要求判定部34を設けた点で
ある。
【0053】図13は、第三の実施例における処理装置
1から転送されたm個未満i個のデータレコードの書き
込み処理を示したフローチャートである。
【0054】まず、処理601により処理装置1から転
送されたm個未満i個のデータレコードをデータバッフ
ァ21に格納する。そして、判定30により、データレ
コードのECCレコードが有効か判定する。判定30
は、第一の実施例と同様であるため、ここでは説明しな
い。
【0055】判定30において、データレコードのEC
Cレコードが有効であると判定された場合は、判定34
に進む。そして、判定34により、処理装置1から受け
とった書き込み要求が、m個未満のi個のデータレコー
ドずつシーケンシャルに書き込む要求で、最初のi個の
データレコードを書き換え、引き続いてシーケンシャル
に残りの(m−i)個のデータレコードが書き換えられ
るか判定する。
【0056】判定34において、受けとった書き込み要
求が、m個未満のi個のデータレコードずつシーケンシ
ャルに書き込む要求で、最初のi個のデータレコードを
書き換え、引き続いてシーケンシャルに残りの(m−
i)個のデータレコードが書き換えられると判定された
場合は、判定1101に進む。判定1101は、第二の
実施例と同様であるため、ここでは説明しない。
【0057】判定30において、データレコードのEC
Cレコードが有効でないと判定された場合、および、判
定1101において、i個の書き込みデータレコードが
(m−n)/2より大きい場合、処理31,処理22,
処理33を実行する。処理31,処理22,処理33
は、第一の実施例と同様であるため、ここでは説明しな
い。
【0058】判定34において、受けとった書き込み要
求が、m個未満のi個のデータレコードずつシーケンシ
ャルに書き込む要求でないか、最初でないi個のデータ
レコードを書き換えるのか、引き続いてシーケンシャル
に残りの(m−i)個のデータレコードが書き換えられ
ないと判定された場合、および、判定1101におい
て、i個の書き込みデータレコードが(m−n)/2より
小さい場合、処理602〜604を実行する。処理60
2〜604は、第一の実施例と同様であるため、ここで
は説明しない。
【0059】本実施例によれば、処理装置1から受けと
った書き込み要求が、m個未満のi個のデータレコード
ずつシーケンシャルに書き込む要求で、最初のi個のデ
ータレコードを書き換え、引き続いてシーケンシャルに
残りの(m−i)個のデータレコードが書き換えられる
か判定された場合、ディスク装置からのデータレコード
読み出し時間、および、ディスク装置の回転待ち時間が
不要となり、データレコード格納の応答時間を短縮でき
る。また、本実施例によれば、i個のデータレコードが
(m−n)/2個未満の場合に、全体のアクセス回数を
増加させない。
【0060】次に第四の実施例について説明する。
【0061】図14は、図1の構成の変形例である。図
1と異なる点は、データレコード有効/無効判定部33
と、データレコード管理テーブル27と、バックアップ
用の予備ディスク装置C1を設けた点である。これによ
り、データレコード格納ディスク装置Ajの一台が故障
した場合、ECCレコードからデータレコード修正器2
3を用いてバックアップ用の予備ディスク装置C1に回
復することができるが、以下の処理を行うことにより、
故障したディスク装置の回復処理時間の短縮が可能であ
る。
【0062】図15は、データレコード回復処理を示し
たフローチャートである。まず、判定1501により全
てのデータ保護グループのデータレコードに対して、回
復処理を行ったか否かを判定する。全てのデータ保護グ
ループのデータレコードに対して回復処理を行った場合
は、処理を終了する。
【0063】判定1501において、全てのデータ保護
グループのデータレコードに対して、回復処理が終了し
ていないと判定された場合は、判定30を実行する。
【0064】判定30において、ECCレコードが有効
でないと判定された場合は、判定1501に戻り、次の
データ保護グループのデータレコードに対して実行す
る。
【0065】判定30において、ECCレコードが有効
であると判定された場合は、判定33を実行する。
【0066】判定33において、データレコードのデー
タ保護グループが無効であると判定された場合は、判定
1501に戻り、次のデータ保護グループのデータレコ
ードに対して実行する。
【0067】判定33によって、データレコードのデー
タ保護グループが有効であると判定された場合は、処理
1502に進む。処理1502において、故障ディスク
装置以外のデータ保護グループ内のデータレコードおよ
びECCレコードを、データレコード格納ディスク装置
AjおよびECCレコード格納ディスク装置Bkからデ
ータバッファ21に読み出す。処理1503により、デ
ータレコード修正器25を用いて故障ディスク装置の部
分のデータレコードを修復する。処理1504により、処理
1503で修復されたデータレコードを予備ディスク装
置C1に格納する。
【0068】本実施例によれば、故障したディスク装置
の回復処理時、有効なデータレコードのみを回復し、デ
ィスク装置全体を回復する必要がないため、回復時間の
短縮ができる。
【0069】
【発明の効果】本発明によれば、冗長レコードを作成す
るために記憶装置から旧データレコードおよび旧冗長レ
コードを読み出す必要がなく、データレコード格納の応
答時間を短縮することができる。また、冗長レコードを
有効にするための初期化の処理時間を削減することがで
きる。
【0070】さらに、冗長レコードを作成するために記
憶装置から旧データレコードおよび旧冗長レコードを読
み出す必要がなく、データレコード格納の応答時間を短
縮することができる。
【0071】さらに、回復処理時間を短縮することがで
きる。
【図面の簡単な説明】
【図1】本発明をディスク制御装置に適用した計算機シ
ステムのブロック図。
【図2】初期設定時に本発明を適用した場合のデータレ
コード書き込み処理を表した説明図。
【図3】本発明を適用した場合におけるデータレコード
書き込み処理を表した説明図。
【図4】データ保護グループ内のデ−タレコードを数デ
ータレコードずつシーケンシャルに書き込む要求を受け
とった場合の本発明の説明図。
【図5】データ保護グループ内の全てのデータが無効化
された後の本発明によるデータレコード書き込み処理
で、書き込み対象ディスク装置の数が、データレコード
を格納するディスク装置の数に対して少ない場合の説明
図。
【図6】処理装置から転送されたm個未満i個のデータ
レコードの書き込み処理を示したフローチャート。
【図7】本発明に用いるECCレコード管理テーブルの
説明図。
【図8】本発明の第二の実施例における、計算機システ
ムのブロック図。
【図9】本発明に用いるチャネル制御語のパラメータの
説明図。
【図10】本発明に用いるデータレコード管理テーブル
の説明図。
【図11】処理装置から転送されたm個未満i個のデー
タレコードの書き込み処理を示した本発明の第二の実施
例のフローチャート。
【図12】本発明の第三の実施例における計算機システ
ムのブロック図。
【図13】処理装置から転送されたm個未満i個のデー
タレコードの書き込み処理を示した本発明の第三の実施
例のフローチャート。
【図14】本発明の第四の実施例における計算機システ
ムの構成を示すブロック図。
【図15】データレコードの回復処理を示したフローチ
ャート。
【符号の説明】
1…処理装置、2…ディスク制御装置、20…ディレク
タ、21…データバッファ、22…ECCデータ生成
器,ECCレコード管理テーブル、23…ECCレコー
ド修正器、24…ECCデータ管理テーブル、25…チ
ャネルインタフェース、26…ドライブインタフェー
ス、Aj…データレコード格納ディスク装置、Bk…E
CCレコード格納ディスク装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 孝夫 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (56)参考文献 国際公開91/16711(WO,A1) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】入出力処理要求を発行する処理装置、及び
    前記処理装置からの入出力要求により転送されるデータ
    レコードと、m(m≧1)個の前記データレコードから
    生成されるn(n≧1)個の冗長レコードを格納する複
    数の記憶装置接続される記憶制御装置において、 前記冗長レコードが有効であるか判定する手段と、m個
    未満のi個の前記データレコード以外の(m−i)個の
    データレコードに対し、特定のパターンデータ(フィル
    キャラクタ)を作成する手段と、前記i個のデータレコ
    ードと前記(m−i)個のフィルキャラクタから冗長レ
    コードを生成する手段と、前記処理装置から、前記i個
    のデータレコードを書き込む要求を受け取り、書き込み
    対象となるデータレコードの冗長レコードが無効である
    と判定された場合、前記i個のデータレコードと、前記
    (m−i)個のフィルキャラクタと、冗長レコードを対
    応する記憶装置に書き込む手段有することを特徴と
    する記憶制御装置。
  2. 【請求項2】入出力処理要求を発行する処理装置、及び
    前記処理装置からの入出力要求により転送されるデータ
    レコードと、m(m≧1)個の前記データレコードから
    生成されるn(n≧1)個の冗長レコードを格納する複
    数の記憶装置接続される記憶制御装置において、 前記データレコードが有効であるかどうかを判定する手
    段と、m個未満のi個のデータレコード以外の(m−
    i)個のデータレコードに対し、特定のパターンデータ
    (フィルキャラクタ)を作成する手段と、前記i個のデ
    ータレコードと前記(m−i)個のフィルキャラクタか
    ら冗長レコードを生成する手段と、前記処理装置から、
    前記i個のデータレコードを書き込む要求を受け取り、
    書き込み対象のi個の旧データレコードと書き込み対象
    以外の(m−i)個のデータレコードが全て無効である
    と判定された場合、前記i個のデータレコードと、前記
    (m−i)個のフィルキャラクタと、冗長レコードを対
    応する記憶装置に書き込む手段とを有することを特徴と
    する記憶制御装置。
  3. 【請求項3】入出力処理要求を発行する処理装置、及び
    前記処理装置からの入出力要求により転送されるデータ
    レコードと、m(m≧1)個の前記データレコードから
    生成されるn(n≧1)個の冗長レコードを格納する複
    数の記憶装置接続される記憶制御装置において、 m個未満のi個のデータレコードずつシーケンシャルに
    書き換える要求が、最初のi個のデータレコードを書き
    換え、引き続いてシーケンシャルに残りの(m−i)個
    のデータレコードが書き換えられるかどうかを判定する
    手段と、m個未満のi個の前記データレコード以外の
    (m−i)個のデータレコードに対し、特定のパターン
    データ(フィルキャラクタ)を作成する手段と、前記i
    個のデータレコードと前記(m−i)個のフィルキャラ
    クタから冗長レコードを生成する手段と、前記処理装置
    から、m個未満のi個のデータレコードずつシーケンシ
    ャルに書き換える要求を受け取り、最初のi個のデータ
    レコードを書き換え、引き続いてシーケンシャルに残り
    の(m−i)個のデータレコードが書き換えられると判
    定された場合、前記i個のデータレコードと、前記(m
    −i)個のフィルキャラクタと、冗長レコードを対応す
    る記憶装置に書き込む手段とを有することを特徴とする
    記憶制御装置。
  4. 【請求項4】請求項2において、さらに、冗長レコード
    が有効であるか判定する手段と、前記処理装置から、前
    記i個のデータレコードを書き込む要求を受け取り、書
    き込み対象のi個の旧データレコードと書き込み対象以
    外の(m−i)個のデータレコードが全て無効である
    が、冗長レコードは有効であると判定され、前記i個の
    データレコードが(m−n)/2個未満の場合には、前
    記i個のデータレコードと書き込み対象のi個の旧デー
    タレコードと旧冗長レコードから、冗長レコードを作成
    する手段有することを特徴とする記憶制御装置。
  5. 【請求項5】請求項3において、冗長レコードが有効で
    あるか判定する手段と、m個未満のi個のデータレコー
    ドずつシーケンシャルに書き換える要求を受け取り、冗
    長レコードが有効な最初のi個のデータレコードを書き
    換え、引き続いてシーケンシャルに残りの(m−i)個
    のデータレコードが書き換えられると判定され、前記i
    個のデータレコードが(m−n)/2個未満の場合に
    は、前記i個のデータレコードと書き込み対象のi個の
    旧データレコードと旧冗長レコードから、冗長レコード
    を作成する手段とを有することを特徴とする記憶制御装
    置。
  6. 【請求項6】入出力処理要求を発行する処理装置、及び
    前記処理装置からの入出力要求により転送されるデータ
    レコードと、m(m≧1)個の前記データレコードから
    生成されるn(n≧1)個の冗長レコードを格納する複
    数の記憶装置に接続される記憶制御装置において、 前記冗長レコードが有効であるかどうかを判定する手段
    と、前記データレコードが有効であるか判定する手段
    と、前記記憶装置の一台の記憶装置が故障したために、
    冗長レコードを使って別の記憶装置に回復させる際に、
    回復対象となるデータレコードの冗長レコードが無効で
    あると判定された場合、または、m個のデータレコード
    が全て無効であると判定された場合、故障している記憶
    装置の当該対象データレコードは、別の記憶装置に回復
    させない手段とを有することを特徴とする記憶制御装
    置。
JP31597791A 1991-11-29 1991-11-29 記憶制御装置 Expired - Fee Related JP3212116B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31597791A JP3212116B2 (ja) 1991-11-29 1991-11-29 記憶制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31597791A JP3212116B2 (ja) 1991-11-29 1991-11-29 記憶制御装置

Publications (2)

Publication Number Publication Date
JPH05151008A JPH05151008A (ja) 1993-06-18
JP3212116B2 true JP3212116B2 (ja) 2001-09-25

Family

ID=18071859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31597791A Expired - Fee Related JP3212116B2 (ja) 1991-11-29 1991-11-29 記憶制御装置

Country Status (1)

Country Link
JP (1) JP3212116B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7259787B2 (ja) 2020-03-17 2023-04-18 株式会社デンソー 計測制御装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227098A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7259787B2 (ja) 2020-03-17 2023-04-18 株式会社デンソー 計測制御装置

Also Published As

Publication number Publication date
JPH05151008A (ja) 1993-06-18

Similar Documents

Publication Publication Date Title
US8001104B2 (en) Method, system and program for storing and using metadata in multiple storage locations
US6467023B1 (en) Method for logical unit creation with immediate availability in a raid storage environment
US6523087B2 (en) Utilizing parity caching and parity logging while closing the RAID5 write hole
US6907504B2 (en) Method and system for upgrading drive firmware in a non-disruptive manner
JP3226370B2 (ja) 高可用度ディスク配列に関する改善
JP3255751B2 (ja) 安全性の高いディスクアレイの改良
JP2959901B2 (ja) 記憶装置の冗長アレイおよびオンライン再構成方法
US5274799A (en) Storage device array architecture with copyback cache
JP3316500B2 (ja) 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張
JPH06208476A (ja) 冗長アレイパリティキャッシングシステム
JPH08263227A (ja) ディスクアレイにおけるパリティデータの無矛盾性保持方法
US7818524B2 (en) Data migration systems and methods for independent storage device expansion and adaptation
JPH0744326A (ja) 記憶装置システム
WO1993018455A1 (en) Improved storage unit generation of redundancy information in a redundant storage array system
JPH03176750A (ja) 故障許容冗長化情報記憶装置の情報保護方法及び故障許容システム
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
US20040153746A1 (en) Mechanisms for embedding and using integrity metadata
US7398448B2 (en) Storage system has the function of preventing drive write error
JP3212116B2 (ja) 記憶制御装置
JP2001142650A (ja) アレイディスク制御方法及び装置
JP2001043031A (ja) 分散パリティ生成機能を備えたディスクアレイ制御装置
JP3288724B2 (ja) ディスクアレイ内の不完全な書込を追跡する方法、およびこのような方法を行なうディスク記憶システム
JPH10240453A (ja) ディスクアレイ装置
JP3798773B2 (ja) ディスク制御装置及び冗長化論理ディスクドライブの一貫性回復方法
US7337270B2 (en) Apparatus, system, and method for servicing a data storage device using work-in-process (WIP) maps

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010619

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

Free format text: PAYMENT UNTIL: 20070719

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees