JPH08123627A - ディスクアレイ装置 - Google Patents

ディスクアレイ装置

Info

Publication number
JPH08123627A
JPH08123627A JP6255813A JP25581394A JPH08123627A JP H08123627 A JPH08123627 A JP H08123627A JP 6255813 A JP6255813 A JP 6255813A JP 25581394 A JP25581394 A JP 25581394A JP H08123627 A JPH08123627 A JP H08123627A
Authority
JP
Japan
Prior art keywords
data
stored
read
disk
disk devices
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
JP6255813A
Other languages
English (en)
Inventor
Tadashi Nakajima
正 中島
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP6255813A priority Critical patent/JPH08123627A/ja
Publication of JPH08123627A publication Critical patent/JPH08123627A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 データを冗長構成したときの冗長度を必要な
スループットが得られる範囲で小さくすることのできる
ディスクアレイ装置を提供することにある。 【構成】 データを複数のディスク装置12〜15に分
散して格納した場合の読出時間と、圧縮後のデータを所
定の1台を除くディスク装置12〜14に分散して格納
した場合の読出時間をそれぞれ求める。同時に並行して
読み出すディスク装置の台数が1台分少なくても、読出
時間が圧縮により未圧縮のデータを全てのディスク装置
に分散格納するよりも短くなるとき、圧縮後のデータを
RAID構成にして格納する。短くならないときは、未
圧縮のデータを二重化構成にして格納する。これにより
読み出しのスループットは、二重化構成にした場合より
も低下することはない。また、必要なスループットが得
られればRAID構成にしてデータを格納しているので
冗長度を小さくすることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はディスクアレイ装置に係
わり、特にデータを冗長構成にして格納するディスクア
レイ装置に関する。
【0002】
【従来の技術】ディスク装置は、ホストコンピュータな
どの情報処理装置における補助記憶装置として多用され
ている。ディスク装置の抱える問題点として、情報処理
装置の処理速度に比べてデータの読み書きにかかる時間
が長いことと、記憶しているデータの損壊が起こる場合
があることが挙げられる。これらのうち読み書きにかか
る時間の短縮が図られたディスク装置として、ディスク
アレイ装置がある。この装置は、記憶すべきデータを複
数のディスク装置にデータを分散して格納し、読出時に
はこれらのディスク装置から同時に並行してデータを読
み出すようになっている。1台のディスク装置から読み
出すデータ量を減らすことによってスループットの向上
が図られている。
【0003】また、ディスク装置に実際に読み書きされ
るデータ量を減らすことによってスループットの向上を
図ったディスク装置がある。この装置では格納するデー
タを圧縮してそのデータ量を減らし、これにより見掛け
上のスループットを向上させている。このようなデータ
の圧縮および伸長を行う機能をディスク装置自身に備え
たディスク装置は特開平4−364547号公報に開示
されている。また、特開平1−237966号公報に
は、所定のデータ量ごとにデータの圧縮を行い、圧縮に
よって生じた空き領域に余白データを書き込むようにし
たディスク装置が開示されている。この装置では、圧縮
前のデータ量に従ってディスク上の記憶領域を確保して
おき、圧縮によってデータ量が減少したときは、確保し
た領域に生じた空き領域に所定の余白データを書き込む
ものである。圧縮されたデータを読み出すときに、余白
データを検出した時点でデータの読み出しを終了させた
り、他のトラックへのヘッドの移動を許可することによ
って読出所要時間の短縮が図られている。
【0004】特開平1−58547号公報には、記憶領
域を圧縮後のデータを格納する第1の領域と非圧縮のデ
ータを格納する第2の領域に分けたディスク装置が開示
されている。データは第2の領域に優先的に書き込まれ
この領域が一杯になったとき、古いデータから順に圧縮
して第1の領域に移すようになっている。第2の領域に
目的とするデータがあれば読出処理においてデータを伸
長する必要がないので、その分だけ読出時間の短縮が図
られている。また、圧縮して格納する領域を備えている
ことからディスク装置の記憶容量を見掛け上増加させて
いる。
【0005】さらにデータを複数の圧縮方式によってそ
れぞれ圧縮し、圧縮率の最も高い圧縮方式を選択するよ
うにしたディスク装置が特開平2−108119号公報
に開示されている。このディスク装置では、圧縮した結
果、圧縮前よりもデータ量が増加した場合には、非圧縮
の状態でデータをディスク装置に格納するようになって
いる。
【0006】一方、データの損壊を防止しディスク装置
の信頼性を向上させるためにデータを冗長構成にして格
納するディスク装置がある。このうち、ミラード・ディ
スク装置は2台のディスク装置を用意し、これらに同一
のデータを記憶するようになっている。そして、一方の
ディスク装置が故障したときは、他方のディスク装置か
らデータを読み出すようになっている。このように同一
のデータを2台のディスク装置に格納する冗長構成の取
り方は二重化構成と呼ばれている。このほか3台以上の
ディスク装置を用意し、そのうちの1台に誤り訂正用の
パリティデータを記憶させることによって、損壊したデ
ィスク装置のデータを再構成するようにしたものがあ
る。パリティデータを用いてデータを再構成する技術
は、一般にRAID(Redundant Arrays of Inexpensiv
e Disks)技術の第3レベルと呼ばれており、特に大量の
データを冗長構成にして記憶するのに適している。
【0007】図23は、パリティデータによって損壊し
たデータを再構成するディスク装置におけるデータの流
れを表わしたものである。第1のディスク装置および第
2のディスク装置は、書き込むべきデータを記憶するよ
うになっている。第3のディスク装置はパリティデータ
を記憶するようになっている。これらのディスク装置の
記憶領域は4キロバイトごとのブロック単位に区分され
ており、ディスク装置相互間で1対1にブロック同士が
対応付けられている。たとえば2つのブロック分のデー
タを格納するときには、第1のディスク装置と第2のデ
ィスク装置の対応付けられたブロック201、203に
データを分散して格納する。そして、第1のディスク装
置のブロック201と第2のディスク装置のブロック2
02のデータ間でビットごとに排他的論理和が取られ、
その結果が第3のディスク装置のブロック203に格納
されるようになっている。まず、ブロック201とブロ
ック202の先頭の1バイトのデータ204、205が
それぞれ読み出され、ビット毎に排他的論理和がとら
れ、その演算結果であるパリティデータ206が第3の
ディスク装置のブロック203の先頭に格納される。こ
れをブロックの先頭から1バイトずつ順次行うようにな
っている。このようなデータの冗長構成の取り方を以
後、RAID構成と呼ぶことにする。
【0008】ここで、データの読出時に第1のディスク
装置が故障したものとする。この場合ブロック201の
データは、第3のディスク装置と第2のディスク装置の
ブロック203とブロック202を読み出しこれらのデ
ータの排他的論理和をとることによって再構成される。
たとえば、ブロック203の先頭のパリティデータ20
6とブロック202の先頭のデータ205をビットごと
に排他的論理和をとることによって、ブロック201の
先頭のデータ204が再構成されるようになっている。
【0009】
【発明が解決しようとする課題】ミラード・ディスク装
置のようにデータを二重化構成にして格納する場合に
は、格納されるデータ量が2倍になりその冗長度が大き
く、ディスク装置に記憶できるデータ量が大幅に少なく
なってしまうという問題がある。RAID構成の場合の
冗長度は二重化構成の場合に比べて少なくなる。たとえ
ば、4台のディスク装置を用いる場合には、3台のディ
スク装置にデータは分散して格納され、残りの1台にパ
リティデータが格納される。したがって、書き込むデー
タ量の3分の4倍の記憶領域によってデータを冗長構成
して格納することができる。しかしながら、同じ4台の
ディスク装置を用いた場合で比べると、データの読出時
間は二重化構成の場合よりも長くなってしまう。これ
は、同時に並行してデータを読み出すディスク装置の数
が、4台から3台に減少してしまうからである。このた
め、RAID構成でデータを格納する場合にスループッ
トを二重化構成の場合と同一のレベルで確保するには、
ディスク装置の台数を1台増やさなければならないとい
う問題がある。逆にディスク装置の台数が限られている
場合には、二重化構成の場合に比べてスループットが低
下してしてまうという問題がある。
【0010】RAID構成にした場合の読み出しのスル
ープットを向上させる方法として、圧縮後のデータをR
AID構成にすることが考えられる。圧縮によりデータ
量が減少すれば、1台当たりのディスク装置から読み出
すデータ量が減りそれだけ読出所要時間の短縮を図るこ
とができる。しかしながら、圧縮率は圧縮するアルゴリ
ズムや圧縮されるデータによって様々であり、圧縮して
も二重化構成にした場合と同一レベルのスループットを
確保できない場合がある。したがって、画像処理装置な
ど所定の制限時間内にデータを読み出す必要のある情報
処理装置の補助記憶装置として用いる場合には、圧縮率
の悪いケースを考慮して、結局ディスク装置の台数を増
やさなければならないという問題がある。このように二
重化構成ではデータの冗長度が大きく、ディスク装置に
格納できるデータ量が減少するという問題があり、RA
ID構成では二重化構成に比べてスループットが低下し
てしまうという問題がある。
【0011】また、二重化構成やRAID構成にしてデ
ータをディスク装置に格納するときは、冗長構成をとら
ずに格納する場合に比べて、書込所要時間が長くなって
しまう。たとえばRAID構成にする場合には、格納す
るデータのそれぞれのビットの排他的論理和をとり、こ
れをパリティデータ用に用意されたディスク装置に格納
しなければならない。このためデータの書込命令を発し
た情報処理装置を書込処理から開放するまでの時間が長
くなってしまうという問題がある。
【0012】そこで本発明の第1の目的は、データを冗
長構成にして格納するとともに書込命令を発する情報処
理装置を短時間で書込処理から開放することのできるデ
ィスクアレイ装置を提供することにある。
【0013】本発明の第2の目的は、データの冗長度を
必要なスループットが得られる範囲で小さくすることの
できるディスクアレイ装置を提供することにある。
【0014】
【課題を解決するための手段】請求項1記載の発明で
は、複数のディスク装置と、これらディスク装置に格納
すべきデータを入力する書込データ入力手段と、この書
込データ入力手段から入力されたデータを複数のディス
ク装置に振り分けて格納する分散格納手段と、この分散
格納手段によるデータの格納が終了した時点で書き込み
の終了を表わした所定の書込完了通知を送出する書込完
了通知送出手段と、この書込完了通知送出手段によって
書込完了通知が送出された後分散格納手段によって格納
されたデータを冗長構成にして複数のディスク装置に再
格納する冗長構成格納手段とをディスクアレイ装置に具
備させている。
【0015】すなわち請求項1記載の発明では、書き込
むべきデータを複数のディスク装置に分散して格納した
時点で書込完了通知を送出し、その後、データを冗長構
成にして再格納するようにしている。これにより、書込
命令を発した上位装置を短時間で書込処理から開放する
ことができる。
【0016】請求項2記載の発明では、複数のディスク
装置と、これらディスク装置に格納すべきデータを入力
する書込データ入力手段と、この書込データ入力手段か
ら入力されたデータを複数のディスク装置に振り分けて
格納する分散格納手段と、この分散格納手段によるデー
タの格納が終了した時点で書き込みの終了を表わした所
定の書込完了通知を送出する書込完了通知送出手段と、
この書込完了通知送出手段によって書込完了通知が送出
された後分散格納手段によって格納されたデータを冗長
構成にして複数のディスク装置に再格納する冗長構成格
納手段と、データの読出命令を受信する読出命令受信手
段と、この読出命令受信手段によって読出命令が受信さ
れた時点で読み出すべきデータが冗長構成格納手段によ
り冗長構成されて再格納されていないときは分散格納手
段により格納されたデータを読み出す読出手段とをディ
スクアレイ装置に具備させている。
【0017】すなわち請求項2記載の発明では、書き込
むべきデータを複数のディスク装置に分散して格納した
時点で書込完了通知を送出し、その後、データを冗長構
成にして再格納するようにしている。そして、再格納す
る処理が終了する前に、読出命令を受けたときは、当
初、分散して格納した領域からデータを読み出すように
している。これにより、冗長構成にしてデータを再格納
する処理の途中であっても、データの読み出しを行うこ
とができる。
【0018】請求項3記載の発明では、複数のディスク
装置と、これらディスク装置に格納すべきデータを入力
する書込データ入力手段と、この書込データ入力手段か
ら入力されたデータをディスク装置に分散して格納した
ときこれらのディスク装置から同時に並行してこのデー
タを読み出すのに必要な読出時間を求める第1の読出時
間割出手段と、書込データ入力手段から入力されたデー
タを圧縮する圧縮手段と、この圧縮手段によって圧縮さ
れた後のデータを複数のディスク装置のうち所定の1台
を除くディスク装置に分散して格納したときこれらのデ
ィスク装置から同時に並行してこの圧縮後のデータを読
み出すのに必要な読出時間を求める第2の読出時間割出
手段と、第1の読出時間割出手段によって求めた読出時
間がこの第2の読出時間割出手段によって求めた読出時
間よりも短いかあるいは等しいとき書込データ入力手段
から入力されたデータをディスク装置に分散させて格納
する第1の分散格納手段と、書込データ入力手段から入
力されたデータをこの第1の分散格納手段とその格納先
のディスク装置を変えて分散させて格納する第2の分散
格納手段と、第2の読出時間割出手段によって求めた読
出時間が第1の読出時間割出手段によって求めた読出時
間よりも短いとき圧縮手段によって圧縮された後のデー
タを所定の1台を除くディスク装置に分散させて格納す
る第3の分散格納手段と、この第3の分散格納手段によ
ってデータの格納されたディスク装置のうちいずれか1
台が読出不能になったときこれに格納されたデータを再
構成するための誤り訂正符号を生成する誤り訂正符号生
成手段と、この誤り訂正符号生成手段によって生成され
た誤り訂正符号を所定の1台のディスク装置に格納する
誤り訂正符号格納手段とをディスクアレイ装置に具備さ
せている。
【0019】すなわち請求項3記載の発明では、データ
を複数のディスク装置に分散して格納した場合の読出時
間と、圧縮後のデータを所定の1台を除くディスク装置
に分散して格納した場合の読出時間をそれぞれ求めてい
る。そして、同時に並行して読み出すディスク装置の台
数が1台分少なくなっても、圧縮により読出時間が未圧
縮のデータを全てのディスク装置に分散格納した場合よ
りも短くなるとき、圧縮後のデータをRAID構成にし
て格納している。圧縮しても読出時間が未圧縮のデータ
を全てのディスク装置に分散格納したときよりも低減し
ないときは、データを二重化構成にして格納している。
したがって、読み出しのスループットは、二重化構成に
した場合よりも低下することはない。また、二重化構成
にする場合よりも高いスループットが得られるときはR
AID構成にしてデータを格納しているので、冗長度を
小さくしてデータを格納することができる。
【0020】
【実施例】以下実施例につき本発明を詳細に説明する。
【0021】図1は本願発明の一実施例におけるディス
クアレイ装置を用いたデータ記憶システムの構成の概要
を表わしたものである。このデータ記憶システムは、デ
ータの読み書きを指示するホストコンピュータ11と、
データを分散して格納するための第1〜第4のディスク
装置12〜15と、これらのディスク装置にデータの読
み書きを行うディスクアレイ制御装置16とから構成さ
れている。ディスクアレイ制御装置16は、ホストコン
ピュータ11との間でデータおよび各種コマンドの入出
力を行う上位入出力制御部17を備えている。圧縮処理
部18は、書き込むべきデータを圧縮する回路装置であ
る。圧縮データカウント部19は、圧縮処理部18によ
って圧縮された後のデータ量の計数を行うものである。
伸長処理部21は、各ディスク装置から読み出した圧縮
されたデータの伸長を行う回路である。パリティ生成部
22は、ディスク装置が破壊したときにデータの再構成
を行うためのパリティデータを生成する回路部分であ
る。下位入出力制御部23は、ディスクアレイ制御装置
16と各ディスク装置12〜15との間のインターフェ
イスを行うための回路である。管理部24は、ホストコ
ンピュータ11からのコマンドに応じてこれらの回路装
置の統括的な制御を行う部分である。
【0022】図2は図1に示したディスクアレイ制御装
置の回路構成の概要を表わしたものである。ディスクア
レイ制御装置16はその制御の中枢的な役割を果たすC
PU(中央制御装置)31を備えている。CPU31に
はデータバス等の各種バス32を通じて各種回路装置が
接続されている。このうち、ROM(リード・オンリ・
メモリ)33はプログラムや固定的データを格納するた
めのメモリである。RAM34は、プログラムを実行す
る上で必要な各種データを一時的に記憶するためのラン
ダム・アクセス・メモリである。第1〜第4のSCSI
(Small Computer Sysytem Interface) コントローラ3
5〜38はディスク装置との間で、第5のSCSIコン
トローラ39はホストコンピュータ11との間でそれぞ
れインターフェイスを行う回路装置である。圧縮処理回
路41は、ディスク装置12〜14に格納すべきデータ
を圧縮する回路である。圧縮データカウンタ回路42
は、圧縮処理回路41によって圧縮された後のデータの
データ量を計数する回路である。この回路で圧縮された
後のデータ量が減少したかどうかを調べるようになって
いる。伸長処理回路43は、圧縮されたデータの伸長を
行う回路部分である。パリティ生成回路44は、圧縮さ
れたデータについての誤り検出用の符号を生成する回路
である。
【0023】第1〜第5のSCSIコントローラ35〜
39と、圧縮処理回路41と、伸長処理回路43および
パリティ発生回路44はローカル・バス45によって接
続されている。ローカル・バス45によってデータを転
送することで、ディスクアレイ制御装置16内部での転
送時間の短縮を図っている。また、第1〜第4のSCS
Iコントローラ35〜38とパリティ生成回路44は、
パリティ符号を生成する対象になるデータおよび生成さ
れたパリティ符号を伝送するための専用のバス46によ
って接続されている。
【0024】図3は、ディスクアレイ制御装置の内部で
のデータの流れを模式的に表わしたものである。第1〜
第4のディスク装置12〜15の記憶領域には、それぞ
れ上位入出力制御部17から入力されたデータを分散し
て格納するための初期格納エリア511 〜514 が用意
されている。また、第1〜第3のディスク装置12〜1
4には、圧縮されたデータを格納するための圧縮格納エ
リア521 〜523 が、第4のディスク装置15には、
パリティデータを格納するためのパリティ格納エリア5
3がそれぞれ用意されている。上位入出力制御部17か
ら入力されたデータは第1〜第4のディスク装置12〜
15の初期格納エリア511 〜514 に格納されるよう
になっている。各エリアはそれぞれ4キロバイト単位の
ブロック単位に管理されている。初期格納エリア511
〜514 にはブロック単位に分割された後のデータD0
〜DN が分散されて格納されている。
【0025】初期格納エリア511 〜514 にデータが
格納された時点で、ホストコンピュータ11には書込完
了通知が送出されるようになっている。これによりホス
トコンピュータ11は書込処理から開放されることにな
る。その後、圧縮処理部18によってブロック単位にデ
ータが圧縮され、圧縮された後のデータは第1〜第3の
ディスク装置12〜14の圧縮格納エリア521 〜52
3 に格納されているようになっている。ディスク装置1
2〜15の各ブロックに格納された圧縮後のデータF0
〜F8 に対応するパリティ符号がパリティ生成部22に
よって作成され、第4のディスク装置15のパリティ格
納エリア53に格納されるようになっている。このよう
に圧縮後のデータに対応するパリティデータを作成し、
RAID構成によってデータの冗長構成がとられるよう
になっている。このように圧縮後のデータをRAID構
成にする冗長構成の取り方を圧縮RAID構成と呼ぶこ
とにする。データの読み出し時には第1〜第3のディス
ク装置の圧縮格納エリア521 〜523 から圧縮データ
が読み出されこれが伸長処理部21によって伸長された
後、上位入出力制御部17を通じてホストコンピュータ
11に出力されるようになっている。
【0026】図4は、ディスクアレイ装置におけるデー
タの格納先を管理するためのデータ管理テーブルの登録
内容を表わしたものである。データ管理テーブル61
は、データの格納先の領域のアドレスを表わした格納先
アドレス62と、格納されたデータの長さを表わすデー
タ長63と、データが圧縮されて格納されているかどう
かを表わす属性64とから構成されている。格納先アド
レス62は、ホストコンピュータ11から見たときのア
ドレスを表わした論理アドレス65に対応付けて、ディ
スクアレイ制御装置16内部での格納先アドレスを記憶
している。格納先アドレスは、図3に示した初期格納エ
リア511 〜514 にデータの書き込みが終了した時点
では、このエリアでの格納アドレスである初期格納アド
レス66が登録されるようになっている。また、初期格
納エリア511 〜514 のデータが圧縮されて圧縮格納
エリア521 〜523 に記憶されたときはこのエリアの
アドレスである圧縮格納アドレス67にその値が変更さ
れるようになっている。データ長63は、初期格納エリ
ア511 〜514 におけるデータ長、すなわち圧縮され
る前の状態におけるデータ量が登録されるようになって
いる。属性64は、データが圧縮されているかどうかを
表わすもので、初期格納エリア511 〜514に格納さ
れた段階では“未加工”が、圧縮されて圧縮格納エリア
に格納された段階では“圧縮RAID”が登録されるよ
うになっている。
【0027】図5は、データの書込命令を受信したとき
にディスクアレイ制御装置の行うフォアグランド処理の
流れを表わしたものである。CPU31は第5のSCS
Iコントローラ39を介してホストコンピュータ11か
ら書込命令が送られてくるのを待機している(ステップ
S101)。書込命令が受信されると(ステップS10
1;Y)、それに続いて送られてくるデータをブロック
単位に分割し(ステップS102)、これらを第1〜第
4のディスク装置12〜15の初期格納エリア511
514 に分散して格納する(ステップS103)。CP
U31はデータを格納した先頭の領域に該当する初期格
納エリアのアドレスをデータ管理テーブルに登録する
(ステップS104)。そしてその属性を“未加工”に
設定する(ステップS105)。その後、ホストコンピ
ュータ11に書込完了通知を送出する(ステップS10
6)。ここまでの処理はフォアグランド処理として行わ
れる。以後、初期格納エリアのデータを圧縮して圧縮格
納エリアに格納する処理はバックグランド処理として行
われる。このためCPU31はバックグランド処理を起
動し(ステップS107)、フォアグランド処理を終了
する(エンド)。
【0028】このように、初期格納エリアにデータを格
納した時点で書込完了通知を送出しているので、ホスト
コンピュータ11を早期に書込処理から開放することが
できる。また、大量のデータの書き込みを行う場合で
も、ディスク装置の初期格納エリアに記憶した時点で書
込完了通知を送出するため、大容量のキャッシュメモリ
を用意する必要がない。
【0029】図6は、データの書込命令を受信したとき
にディスクアレイ制御装置の行うバックグランド処理の
流れを表わしたものである。CPU31は初期格納エリ
ア511 〜514 からデータを読み出し、圧縮処理回路
41によってこれを圧縮する(ステップS201 )。
圧縮後のデータを第1〜第3のディスク装置12〜14
の圧縮格納エリア521 〜523 に分散して格納する
(ステップS202)。図3で示した場合を例にとる
と、第1のディスク装置12の初期格納エリア51 1
格納されているデータ“D0 ”は圧縮されて、第1のデ
ィスク装置12の圧縮格納エリア521 の“F0 ”とし
て格納される。同様にして“D1 ”は“F1”、
“D2 ”は“F2 ”として格納される。次にCPU31
は、第1〜第3のディスク装置12〜14に格納された
圧縮後のデータについてのパリティデータを作成し(ス
テップS203)、これを第4のディスク装置15のパ
リティ格納エリア53に格納する(ステップS20
4)。
【0030】パリティデータの作成は、次の様にして行
われる。たとえば、図3で、“F0”、“F1 ”、“F
2 ”および“P0 ”の各ブロックを対応するブロックと
して予め定めておく。同様に、“F3 ”、“F4 ”、
“F5 ”および“P3 ”を対応付ける。このようにして
各ディスク装置のブロックを予めそれぞれ対応付けてお
く。第1から第3のディスク装置12〜14から対応付
けられたブロックの先頭のデータをそれぞれ1バイトず
つ読み出し、これらのデータの互いに対応するビット相
互間の排他的論理和をとる。その結果を、1バイトのパ
リティデータとして、第4のディスク装置の対応するブ
ロックの先頭に格納する。これと同様にして、第2バイ
ト同士、第3バイト同士の排他的論理和をとり、これを
第4のディスク装置の第2バイト目、第3バイト目に格
納する。これを1ブロック内のすべてのデータについて
行い、さらに、圧縮データを格納したすべてのブロック
について行う。図3に示した例では、“F0 ”〜
“F2 ”についてのパリティデータが第4のディスク装
置15の“P0 ”に格納されている。“F3 ”〜
“F5 ”については“P3 ”に、“F6 ”〜“F8 ”に
ついては“P6 ”にそれぞれ格納されている。こうして
圧縮後のデータをRAID構成で格納している。
【0031】図6に戻って説明を続ける。圧縮格納エリ
アにデータを格納した後、CPU31は図4に示した格
納先アドレスを初期格納アドレスから圧縮格納アドレス
に書き換える(ステップS205)。さらに属性を“未
加工”から“圧縮RAID”に変更する(ステップS2
06)。最後に初期格納エリアに格納されているデータ
を消去して(ステップS207)、処理を終了する(エ
ンド)。このようにデータを圧縮し、さらにパリティデ
ータを生成して圧縮RAID構成で格納するには、かな
りの処理時間が必要である。しかしながらこれをバック
グランド処理で行うことによって、ホストコンピュータ
11から見た書込所要時間の短縮が図られている。
【0032】図7は、読出命令を受信したときにディス
クアレイ制御装置の行う処理の流れを表わしたものであ
る。CPU31はホストコンピュータ11から読出命令
が送られてくるのを待機している(ステップS30
1)。読出命令を受信すると(ステップS301;
Y)、読み出すべきデータに対応するデータ管理テーブ
ルを参照し、そのデータの属性が“未加工”であるか、
“圧縮RAID”であるかが調べられる(ステップS3
02)。“未加工”の場合には(ステップS303)、
初期格納エリアからデータを読み出す(ステップS30
4)。“圧縮RAID”の場合には(ステップS30
2;N)、圧縮格納エリアからデータを読み出し(ステ
ップS304)、これを伸長処理回路43で伸長する
(ステップS305)。これらのデータをホストコンピ
ュータ11に送出した後、読出完了通知の送出を行う
(ステップS306)。バックグランド処理で、未だ圧
縮RAID構成にしてデータを再格納する処理が終了し
ていないときには、初期格納エリアからデータが読み出
される。こうして、バックグランド処理中であっても、
データの読み出しができるようになっている。
【0033】第1の変形例
【0034】第1の変形例では、初期格納エリアに格納
されたデータを圧縮RAID構成にすべきか、二重化構
成にしてデータを格納すべきかを、読出所要時間を基準
に選択するようになっている。すなわち、二重化構成で
格納したときの読出所要時間よりも、圧縮RAID構成
にしたときの読出所要時間が長くならないときだけ、デ
ータを圧縮RAID構成で格納するようにしている。こ
れにより、ディスク装置の数を増やすことなく必要なス
ループットを確保できるとともに、圧縮することによっ
て蓄積できるデータ量を増加させることができるように
なっている。第1の変形例におけるディスクアレイ制御
装置の回路構成は、図2に示したものと同一であり、そ
の説明は省略する。
【0035】図8は、第1の変形例のディスクアレイ装
置におけるデータの流れを模式的に表わしたものであ
る。図3と同一の部分には同一の符号を付してその説明
を適宜省略する。圧縮処理部18によって圧縮された後
のデータ量は圧縮データカウント部19によって計数さ
れるようになっている。圧縮後のデータ量を基に、圧縮
RAID構成にして格納すべきか、二重化構成にして格
納すべきかが判断されるようになっている。圧縮RAI
D構成にする場合には、図3に示したときと同様にして
圧縮格納エリア521 〜523 にデータが格納され、そ
のパリティデータが第4のディスク装置15のパリティ
格納エリア53に格納される。一方、二重化構成にして
格納する場合には、第1の二重化格納エリア711 〜7
4 と、第2の二重化格納エリア721 〜724 に、初
期格納エリア511 〜514 のデータが圧縮されないま
ま複写されて格納されるようになっている。複写する
際、複写元のデータを格納しているディスク装置と異な
るディスク装置が格納先として選ばれるようになってい
る。また、第1の二重化格納エリアに格納された各ブロ
ック単位のデータはそれぞれ異なるディスク装置の第2
の二重化格納エリアに格納されるようになっている。
【0036】たとえば、第1のディスク装置12の初期
格納エリア511 のブロックデータ“D0 ”は、第2の
ディスク装置13の第1の二重化格納エリア712 と第
3のディスク装置14の第2の二重化格納エリア723
に格納されている。同様に第2のディスク装置12の初
期格納エリア522 のブロックデータ“D1 ”は、第3
のディスク装置14の第1の二重化格納エリア713
第4のディスク装置15の第2の二重化格納エリア72
4 にそれぞれ格納されている。このように巡回的にディ
スク装置をシフトさせてデータを格納することにより、
複写元のディスク装置から読み出したデータを一時的に
格納するバッファメモリを用意しなくてもよいようにな
っている。
【0037】図9は、二重化構成と圧縮RAID構成を
選択してデータを格納する際に用いるデータ管理テーブ
ルの登録内容を表わしたものである。データ管理テーブ
ル81は、格納先アドレス82と、データ長83と、属
性84と、読出所要時間85を登録する欄を備えてい
る。格納先アドレス82には、初期格納アドレス86お
よび圧縮格納アドレス87に加えて、第1および第2の
二重化格納エリアでのデータの格納アドレスを登録する
二重化格納アドレス88のいずれかが登録される。ま
た、属性84の欄は“未加工”、“圧縮RAID”に加
えて、データが二重化構成にされて格納されていること
を表わした“二重化構成”が登録されるようになってい
る。読出所要時間85の欄には、二重化構成されたデー
タを読み出す際の読出時間を表わした未圧縮読出時間9
1と、圧縮RAID構成されたデータを読み出す際の読
出時間を表わした圧縮RAID読出時間92とが登録さ
れるようになっている。さらに、これらの時間を比較し
た結果である比較結果93も登録されるようになってい
る。
【0038】二重化構成されたデータは第1〜第4のデ
ィスク装置12〜15に分散されている。従って、4台
のディスク装置から並行して読み出すことができるの
で、未圧縮読出時間91は、圧縮前のデータ量と、1ブ
ロック当たりのディスク装置の平均読出時間および分散
して格納するディスク装置の台数を基に求められる。こ
れに対して圧縮RAID構成にする場合には、パリティ
データを格納するディスク装置が1台必要になる。この
ため、残りの3台のディスク装置に圧縮後のデータが分
散されて格納される。したがって、圧縮RAID読出時
間92は圧縮後のデータを3台のディスク装置に分散
し、これらから同時に並行して読み出す場合の読出時間
になる。これは圧縮後のデータ量と平均読出時間と、パ
リティデータ格納用を除く残りのディスク装置の台数か
ら求められる。圧縮によってデータ量がある程度以上減
少しないときは、二重化構成による方が読出所要時間が
短くなることになる。
【0039】図10は、二重化構成と圧縮RAID構成
とを選択してデータの冗長構成をとるディスクアレイ制
御装置が書込命令を受信したときに行うフォアグランド
処理の流れを表わしたものである。CPU31はホスト
コンピュータ11から書込命令が送られてくるのを待機
している(ステップS401)。書込命令を受信すると
(ステップS401;Y)、それに続けて送られてくる
データを順次ブロック単位に分割する(ステップS40
2)。分割したデータをそれぞれ第1〜第4のディスク
装置12〜15に分散して格納する(ステップS40
3)。次にCPU31は未圧縮読出時間を求めて、これ
をデータ管理テーブル82に登録する(ステップS40
4)。圧縮処理回路41によって初期格納エリア511
〜514 に格納されたデータを圧縮し、そのデータ量を
圧縮データカウンタ回路42によって計数する(ステッ
プS405)。このとき圧縮後のデータは格納せずに廃
棄する。これはディスク装置に実際に格納するとそれだ
けホストコンピュータ11を書込処理から開放するまで
の時間が長くなってしまうからである。
【0040】圧縮後のデータ量を基にして、圧縮RAI
D構成でデータを再配置したときの読出時間である圧縮
RAID読出時間を求め、これをデータ管理テーブル8
2に登録する(ステップS406)。CPU31は求め
た未圧縮読出時間と圧縮RAID読出時間とを比較し、
その比較結果をデータ管理テーブル82に登録する(ス
テップS407)。その後、初期格納エリアにおけるデ
ータの格納先アドレスを登録し(ステップS408)、
属性を“未加工”に設定する(ステップS409)。こ
れでフォアグランド処理は終了したので書込完了通知を
ホストコンピュータ11に送出する(ステップS41
0)。CPU31はバックグランド処理を起動し(ステ
ップS411)、フォアグランド処理を終了する(エン
ド)。
【0041】図11は、二重化構成と圧縮RAID構成
とを選択してデータの冗長構成をとるディスクアレイ制
御装置が書込命令を受信したときに行うバックグランド
処理の流れを表わしたものである。バックグランド処理
では、フォアグランド処理で求めた比較結果に従って、
データを冗長構成にして格納することが行われる。ま
ず、CPU31はデータ管理テーブルの比較結果を基
に、二重化構成と圧縮RAID構成のいずれでデータを
冗長構成にして格納すべきかを判断する(ステップS5
01)。比較結果が圧縮RAID読出時間が短いことを
表わしているときは(ステップS501;N)、初期格
納エリア511 〜514 からデータを読み出しこれを圧
縮する(ステップS502)。そして、圧縮後のデータ
を第1〜第3のディスク装置12〜14の圧縮格納エリ
ア521 〜523 に分散して格納する(ステップS50
3)。これら第1〜第3のディスク装置に格納された圧
縮データに対応するパリティデータをパリティ生成回路
44によって生成し(ステップS504)、これを第4
のディスク装置15のパリティ格納エリア53に格納す
る(ステップS505)。データ管理テーブル82の格
納先アドレスを圧縮格納エリアでの格納アドレスに変更
し(ステップS506)、属性を“圧縮RAID”に設
定する(ステップS507)。
【0042】データ管理テーブル82の比較結果が圧縮
RAID読出時間が短くないことを表わしているときは
(ステップS501;Y)、初期格納エリア511 〜5
4に格納されているデータを第1の二重化格納エリア
711 〜714 に複写して格納する(ステップS50
8)。複写元と複写先のディスク装置の関係は、図8に
示したようにディスク装置を1台分ずつ巡回的にシフト
させている。さらに、初期格納エリア511 〜51 4
のデータをディスク装置を2台分だけ巡回的にシフトさ
せて第2の二重化格納エリア721 〜724 に複写して
格納する(ステップS509)。次に、データ管理テー
ブル82の格納先アドレスを第1および第2の二重化格
納エリアでの格納アドレスに変更し(ステップS51
0)、属性を“二重化構成”に変更する(ステップS5
11)。データを二重化構成あるいは圧縮RAID構成
の何れかによって冗長構成にして格納した後、初期格納
エリア511 〜514 に格納されているデータを消去す
る(ステップS512)。ここでは、実際にデータを消
去せずに、管理テーブル上でその存在を消去している。
【0043】図12は、二重化構成と圧縮RAID構成
とを選択してデータの冗長構成をとるディスクアレイ制
御装置が読出命令を受信したときに行う処理の流れを表
わしたものである。CPU31はホストコンピュータ1
1から読出命令が送られてくるのを待機している(ステ
ップS601)。読出命令を受信すると(ステップS6
01;Y)、読み出すべきデータに対応するデータ管理
テーブルが検索され、その属性が“未加工”であるかど
うかが判断される(ステップS602)。属性が“未加
工”、すなわち未だバックグランド処理で冗長構成にし
てデータの再格納が終了していないときは(ステップS
602;Y)、初期格納エリア511 〜514 からデー
タを読み出しホストコンピュータ11に送出する(ステ
ップS603)。
【0044】属性が“未加工”でない場合には(ステッ
プS602;N)、“圧縮RAID”であるかどうかが
判断される(ステップS604)。“圧縮RAID”の
場合には、データ管理テーブルの格納先アドレスである
圧縮格納アドレスを基にして、第1〜第3のディスク装
置12〜14の圧縮格納エリア521 〜523 からデー
タを読み出す(ステップS605)。そして読み出した
データを伸長した後、ホストコンピュータ11に送出す
る(ステップS606)。属性が“圧縮RAID”でな
いときは(ステップS604;N)、二重化構成によっ
てデータが格納されていることになる。このときは、デ
ータ管理テーブルの二重化格納アドレスを基にして第1
〜第4のディスク装置12〜15の第1の二重化格納エ
リア71 1 〜714 からデータを読み出す(ステップS
607)。ここでは第1の二重化格納エリア711 〜7
4 からデータを読み出しているが、第2の二重化格納
エリア721 〜724 から読み出してもよい。いずれか
のエリアからデータを読み出してホストコンピュータ1
1に送出したのち、読出完了通知を送出して(ステップ
S608)、処理を終了する(エンド)。
【0045】図13は、ディスク装置が故障しデータが
損失してる場合の読出処理におけるデータの流れを模式
的に表わしたものである。図8と同一の部分には同一の
符号を付してその説明を適宜省略する。この図では第2
のディスク装置13が故障し、データが読み出し不可能
になった場合におけるデータの読み出しルートを示して
ある。たとえば、“D0 ”〜“D7 ”のデータを読み出
すものとし、これが二重化構成されて格納されているも
のとする。このとき、第1、第3および第4のディスク
装置12、13、14の第1の二重化格納エリアから
“D0 ”および“D4 ”以外のデータ部分を読み出すこ
とができる。“D0 ”および“D4 ”のデータ部分は、
第3のディスク装置14の第2の二重化格納エリア72
3 の部分から読み出される。
【0046】データが圧縮RAID構成によって格納さ
れている場合には、第2のディスク装置13の圧縮格納
エリア522 に格納されていたデータを再構成する必要
がある。たとえば、圧縮格納エリア522 の圧縮データ
“F1 ”を再構成する場合には、他のディスク装置のこ
れと対応付けられたブロックのデータ相互間の排他的論
理和をとることによってデータを再構成する。すなわ
ち、第1のディスク装置12のブロックのデータ
“F0 ”と、第3のディスク装置のデータ“F2 ”と、
第4のディスク装置15のパリティデータ“P0 ”のそ
れぞれ対応するビット相互間の排他的論理和をパリティ
生成部22によって演算し、その演算結果が再構成され
たデータになる。そして、第1および第3のディスク装
置12、14から読み出される圧縮データと、パリティ
生成部22によって再生されてた圧縮データとをそれぞ
れ伸長処理部21で伸長してホストコンピュータ11に
送出するようになっている。
【0047】図14は、ディスク装置が故障している場
合におけるディスクアレイ制御装置の行う読み出し処理
の流れを表わしたものである。CPU31はホストコン
ピュータ11から読出命令が送られてくるのを待機して
いる(ステップS701)。読出命令を受信すると(ス
テップS701;Y)、読み出すべきデータを格納して
いるディスク装置が正常であるかどうかを調べる(ステ
ップS702)。読み出し不良のディスク装置が無い場
合には(ステップS702;N)、通常の読み出し処理
が行われる(ステップS703)。読み出し不良のディ
スク装置が存在する場合には(ステップS702;
Y)、不良になっているディスク装置が2台以上存在す
るかどうかが調べられる(ステップS704)。不良の
ディスク装置が2台以上存在する場合には(ステップS
704;Y)、二重化構成かつ複製データ保持ディスク
装置がいずれも正常であるときを除き、もはやデータを
正常に読み出すことができないので、所定のエラーコー
ドを送出する(ステップS705)。不良のディスク装
置が1台である場合には(ステップS704;N)、読
み出すべきデータの属性が“未加工”であるかどうかが
調べられる(ステップS706)。属性が“未加工”の
場合には(ステップS706;Y)、データが冗長構成
によって格納されていないので、正常なデータの読み出
しはできない。そこで所定のエラーコードを送出し(ス
テップS705)、処理を終了する。
【0048】属性が“未加工”でない場合には(ステッ
プS706;N)、“圧縮RAID”であるかどうかが
調べられる(ステップS707)。圧縮RAID構成の
場合には(ステップS707;Y)、不良ディスク装置
以外の他の正常なディスク装置からデータを再構成する
(ステップS708)。そして、正常なディスク装置か
ら読み出された圧縮データとパリティ生成回路によって
再構成された圧縮データを伸長処理回路43によって伸
長し(ステップS709)ホストコンピュータ11に送
出する。属性が“圧縮RAID”でない場合には(ステ
ップS707;N)、二重化構成でデータが格納されて
いるので、不良となったディスク装置と同一のデータを
格納している他のディスク装置からそのデータ部分を読
み出す(ステップS710)。さらに、正常なディスク
装置の二重化格納エリアからデータを読み出し(ステッ
プS711)ホストコンピュータ11に送出する。正常
なデータをホストコンピュータ11に送出した場合には
読出完了通知を送出し(ステップS712)、処理を終
了する。
【0049】第2の変形例
【0050】初期格納エリアにおける1ブロック分のデ
ータを圧縮して圧縮格納エリアの1つのブロックに格納
すると、各ブロックには空き領域が生じることになる。
そこで、第2の変形例ではこの空き領域が生じないよう
にデータを詰めて配置するようにし、圧縮RAID構成
での記憶可能なデータ量を増加させている。回路構成は
図2に示したものと同一であるのでその説明は省略す
る。
【0051】図15は、第2の変形例のディスクアレイ
制御装置において空き領域の詰められる様子を表わした
ものである。初期格納エリア1011 〜1015 の各ブ
ロックにはそれぞれ圧縮される前のデータとして
“D0 ”〜“D4 ”が格納されている。それぞれのブロ
ックごとのデータを圧縮すると、そのデータ量が減少
し、図中“C0 ”〜“C4 ”で表された圧縮データ10
1 〜1025 になる。各圧縮データ1021 〜102
4 の最後尾には所定のエンドコードが付され、それ以降
が空き状態になっていることが表されている。図中の斜
線部分は圧縮によって各ブロックに生じた空き領域であ
る。圧縮データC0 〜C4 (1021 〜1025)は、
それぞれエンドコードが削除され、C0 から順に別の領
域に連続的に配置される。そしてその最後にエンドコー
ドが付加された連続圧縮データ103になる。連続圧縮
データ103の先頭から1ブロックのサイズごとのデー
タ1041、1042 が第1〜第3のディスク装置の圧
縮格納エリアに格納されるようになっている。
【0052】図16は、第2の変形例のディスクアレイ
制御装置がデータを書き込むときに行うバックグランド
処理の流れを表わしたものである。この処理は、図5に
示したフォアグランド処理の後に行われる。CPU31
は第1〜第4のディスク装置12〜15の初期格納エリ
アに格納されているデータをブロック単位に読み出し圧
縮処理回路41によって圧縮する(ステップS80
1)。圧縮後のデータは第1〜第3のディスク装置の所
定のワークエリアに分散して格納される(ステップS8
02)。CPU31はワークエリアの各ブロックに生じ
た空き領域部分を詰めて、第4のディスク装置15のワ
ークエリアに連続したデータとして再配置する(ステッ
プS803)。第4のディスク装置のワークエリアのデ
ータをブロック単位に読み出し、これを第1から第3の
ディスク装置12〜14の圧縮格納エリア521 〜52
3 に分散して格納する(ステップS804)。これら第
1〜第3のディスク装置の圧縮格納エリア521 〜52
3 のデータに対応するパリティデータをパリティ生成回
路44によって作成する(ステップS805)。第4の
ディスク装置のパリティ格納領域53にこれを格納し
(ステップS806)、処理を終了する(エンド)。図
16ではデータ管理テーブルの格納先アドレスおよび属
性の変更は省略してあるが、図6の流れ図に示したと同
様に行われる。
【0053】図17は、第2の変形例のディスクアレイ
制御装置の内部におけるデータの流れを模式的に表わし
たものである。図3と同一の部分には同一の符号を付し
てその説明を省略する。初期格納エリア511 〜514
の各ブロックのデータは圧縮処理部18によってブロッ
ク単位に圧縮される。圧縮後のデータはパリティデータ
を格納する第4のディスク装置15を除く残り3台のデ
ィスク装置に格納される。このとき圧縮後のデータがそ
の圧縮前のデータの格納されたディスク装置と異なるデ
ィスク装置に格納されるようになっている。たとえば、
第1のディスク装置12の初期格納エリア511 にある
データ“D0 ”の圧縮後のデータ“C0”は、第2のデ
ィスク装置13のワークエリア1112 に格納されてい
る。それぞれのディスク装置のワークエリアの各ブロッ
クは、図15に示したように空き領域が生じている。こ
れらの圧縮データは第4のディスク装置のワークエリア
112に連続して格納される。第1〜第3のディスク装
置から第4のディスク装置にデータは複写されるので、
読み出したデータを一時的に格納するバッファメモリは
不要になっている。
【0054】第4のディスク装置15のワークエリア1
12に、連続的に格納されたデータは、1ブロックごと
に、第1〜第3のディスク装置12〜14の圧縮格納エ
リア521 〜524 に分散して格納される。パリティ生
成部22によってこれらのデータに対応するパリティデ
ータが作成されて第4のディスク装置15のパリティ格
納エリア53に格納される。この時点で初期格納エリア
511 〜514 のデータおよびワークエリア1111
1113 、112に格納されているデータが消去される
ようになっている。このようにデータを詰めて圧縮RA
IDで格納するここによって、ディスクアレイ装置の記
憶容量を増加させることができる。
【0055】第3の変形例
【0056】第3の変形例のディスクアレイ制御装置で
は、圧縮方式の異なる圧縮処理回路および伸長処理回路
を複数用意し、最も圧縮率の高い圧縮方式によってデー
タを圧縮して格納するようになっている。
【0057】図18は、第3の変形例のディスクアレイ
制御装置における圧縮処理回路部分の回路構成の概要を
表わしたものである。圧縮処理回路および伸長処理回路
以外の部分の回路構成は図2に示したものと同一であり
その説明を省略する。図2において第5のSCSIコン
トローラ39から出力されるデータはローカル・バス4
5通じて圧縮処理回路に送られるようになっている。ラ
ンレングス圧縮回路121には、第1のFIFO(Firs
t In First Out)メモリ122を介して圧縮前のデータ
が入力されるようになっている。ランレングス圧縮回路
121は、入力される2値データが変化するごとに、同
一の値が継続していたビット数を、2進符号によって表
現した符号を出力する回路である。MMR(拡張モディ
ファイドリード)圧縮回路123には、第2のFIFO
メモリ124を通じて圧縮前のデータが、ディザ用圧縮
回路125には第3のFIFOメモリ126を介して圧
縮前のデータがそれぞれ入力されている。
【0058】MMR圧縮回路123は、データの縦横の
関連例を利用して圧縮する圧縮回路で、特に文字などが
描かれた画像データの圧縮に好適である。ディザ用圧縮
回路125は、ディザマトリクスによって擬似的に多階
調表現された画像データの圧縮に好適な圧縮回路であ
る。これらの圧縮回路121、123、125の出力
は、ローカル・バス45に接続されている。また、それ
ぞれに圧縮後のデータ量を計数するビットカウンタ12
7が設けられている。ビットカウンタ127によって圧
縮後のデータ量を計数し、圧縮率の最も高い圧縮回路が
選択されるようになっている。リード・ライト制御回路
128は、圧縮処理回路の各回路部分の動作を制御する
制御回路である。
【0059】図19は、第3の変形例のディスクアレイ
制御装置における伸長処理回路部分の回路構成の概要を
表わしたものである。伸長処理回路は、ランレングス伸
長回路131と、MMR伸長回路132と、ディザ用伸
長回路133およびこれらの動作の制御を行うリード・
ライト制御回路134とから構成されている。それぞ
れ、図18に示した3つの圧縮回路121、123、1
25に対応した伸長回路になっている。
【0060】図20は、第3の変形例のディスクアレイ
制御装置のバックグランド処理におけるデータの流れを
模式的に表わしたものである。図8と同一の部分には同
一の符号を付してその説明を適宜省略する。フォアグラ
ンド処理によって初期格納エリア511 〜514 に格納
されたデータは、第1〜第3の圧縮回路141〜143
によって同時に並行して圧縮される。圧縮された後の
データ量はそれぞれビットカウンタ144によって計数
される。計数結果は比較回路145によって比較され
て、圧縮率の最も高い圧縮回路が選択されるようになっ
ている。選択された圧縮回路によって圧縮されたデータ
は第1〜第3のディスク装置12〜14の圧縮格納エリ
ア521 〜523 にそれぞれ格納され、これに対応する
パリティデータがパリティ生成部22によって作成され
るようになっている。作成されたパリティデータは第4
のディスク装置15のパリティ格納エリア53に格納さ
れるようになっている。
【0061】図21は、第3の変形例のディスクアレイ
制御装置でのデータ管理テーブルの登録内容を表わした
ものである。ただし、格納先アドレス、データ長、属性
部分については図9に示したデータ管理テーブルと同様
であるのでその記載を省略してある。3つの圧縮回路を
備えていることから、データ管理テーブル151には、
圧縮方式を登録するための欄152が設けられている。
最小圧縮RAID読出時間の欄153は、最も圧縮率の
高い圧縮方式でデータを圧縮して格納した場合における
読出所要時間を登録するようになっている。
【0062】図22は、第3の変形例のディスクアレイ
制御装置が圧縮方式を選択するときに行う処理の流れを
表わしたものである。CPU31は初期格納エリア51
1 〜514 に格納されているデータの圧縮するための指
示を3つの圧縮回路121、123、125に同時に出
力し、データの圧縮を行わせる(ステップS901)。
圧縮処理が終了した時点で、それぞれの圧縮回路に接続
されているビットカウンタ127の計数値を比較し、最
も圧縮率の高い圧縮回路を選択する(ステップS90
2)。選択された圧縮回路の圧縮方式をデータ管理テー
ブル151に登録する(ステップS903)。その後、
圧縮RAID構成に再配置してデータを格納した場合に
おける読出所要時間を求め、これをデータ管理テーブル
151に最小圧縮RAID読出時間153として登録す
る(ステップS904)。
【0063】このように、圧縮率の高い圧縮方式を複数
の圧縮方式の中から選択することによって、データ量が
効率良く減りディスクアレイ装置に記憶できる記憶容量
を見掛け上増やすことができる。また、データ量が減少
すればそれだけ読出所要時間の短縮を図ることができ、
スループットの高いディスクアレイ装置を得ることがで
きる。
【0064】以上説明した実施例および第1〜第3の変
形例では、4台のディスク装置を接続しているが、ディ
スク装置の台数はこれに限られるものではない。圧縮R
AID構成にする場合には最低3台のディスク装置があ
ればよい。また、二重化構成にしてデータを格納すると
きは、初期格納エリアからデータを第1および第2の二
重化格納エリアに複写し、初期格納エリアのデータを消
去するようにしている。これを第1あるいは第2の二重
化格納エリアのいずれか一方だけに複写し、初期格納エ
リアを消去せず、二重化格納エリアと初期格納エリアに
よってデータを二重化構成にして格納しても良い。
【0065】また、第1〜第3の変形例では、読出所要
時間の算出を、初期格納エリアに格納するときに同時に
行うようにしている。ディスク装置に格納するよりも圧
縮処理に時間がかかる場合には、圧縮処理や読出所要時
間を算出する処理をすべてバックグランド処理で行うよ
うにしてもよい。また、二重化構成によってデータを格
納するとき、ディスク装置を巡回的にシフトさせるよう
にしたが、複写元のディスク装置と複写先のディスク装
置が異なれば良く必ずしも巡回的にシフトさせる必要は
ない。また、圧縮RAID構成でデータを格納するとき
も、圧縮前のデータを格納しているディスク装置とこれ
を圧縮した後のデータを格納するディスク装置を異なら
せるこによって中間のバッファメモリを小さくあるいは
省略することができる。
【0066】このほか、第3の変形例では、圧縮回路を
3つ用意しているが、圧縮回路の数はこれにかぎるもの
ではない。また圧縮方式は、どのようなものであっても
よい。
【0067】
【発明の効果】以上説明したように請求項1記載の発明
によれば、書き込むべきデータを複数のディスク装置に
分散して格納した時点で書込完了通知を送出し、その
後、データを冗長構成にして再格納している。これによ
り、書込命令を発した上位装置を短時間で書込処理から
開放することができる。
【0068】また請求項2記載の発明によれば、書き込
むべきデータを複数のディスク装置に分散して格納した
時点で書込完了通知を送出し、その後、データを冗長構
成にして再格納している。そして、再格納する処理が終
了する前に、読出命令を受けたときは、当初、分散して
格納した領域からデータを読み出すようにしている。こ
れにより、冗長構成にしてデータを再格納する処理の途
中であっても、データの読み出しを行うことができる。
【0069】さらに請求項3記載の発明によれば、同時
に並行して読み出すディスク装置の台数が1台分少なく
なっても、圧縮により読出時間が未圧縮のデータを全て
のディスク装置に分散格納した場合よりも短くなると
き、圧縮後のデータをRAID構成にして格納してい
る。また、圧縮しても読出時間が未圧縮のデータを全て
のディスク装置に分散格納したときよりも低減しないと
きは、データを二重化構成にして格納している。これに
より、ディスク装置の読出時におけるスループットは、
二重化構成にした場合よりも低下することがない。すな
わち、二重化構成にした場合に要求されるスループット
を満たすことができるだけの台数のディスク装置を用意
すればよい。また、二重化構成にする場合よりも高いス
ループットが得られるときはRAID構成にしてデータ
を格納している。このため、冗長度を小さくしてデータ
を格納することができ、全て二重化構成で格納する場合
に比べディスクアレイ装置に記憶できる実効のデータ量
を増やすことができる。
【図面の簡単な説明】
【図1】 本願発明の一実施例におけるディスクアレイ
装置を用いたデータ記憶システムの構成の概要を表わし
たブロック図である。
【図2】 図1に示したディスクアレイ制御装置の回路
構成の概要を表わしたブロック図である。
【図3】 ディスクアレイ制御装置の内部でのデータの
流れを模式的に表わした説明図である。
【図4】 ディスクアレイ装置におけるデータの格納先
を管理するためのデータ管理テーブルの登録内容を表わ
した説明図である。
【図5】 データの書込命令を受信したときにディスク
アレイ制御装置の行うフォアグランド処理の流れを表わ
した流れ図である。
【図6】 データの書込命令を受信したときにディスク
アレイ制御装置の行うバックグランド処理の流れを表わ
した流れ図である。
【図7】 読出命令を受信したときにディスクアレイ制
御装置の行う処理の流れを表わした流れ図である。
【図8】 第1の変形例のディスクアレイ装置における
データの流れを模式的に表わした説明図である。
【図9】 二重化構成と圧縮RAID構成を選択してデ
ータを格納する際に用いるデータ管理テーブルの登録内
容を表わした説明図である。
【図10】 二重化構成と圧縮RAID構成とを選択し
てデータの冗長構成をとるディスクアレイ制御装置が書
込命令を受信したときに行うフォアグランド処理の流れ
を表わした流れ図である。
【図11】 二重化構成と圧縮RAID構成とを選択し
てデータの冗長構成をとるディスクアレイ制御装置が書
込命令を受信したときに行うバックグランド処理の流れ
を表わした流れ図である。
【図12】 二重化構成と圧縮RAID構成とを選択し
てデータの冗長構成をとるディスクアレイ制御装置が読
出命令を受信したときに行う処理の流れを表わした流れ
図である。
【図13】 ディスク装置が故障しデータが損失してる
場合の読出処理におけるデータの流れを模式的に表わし
た説明図である。
【図14】 ディスク装置が故障している場合における
ディスクアレイ制御装置の行う読み出し処理の流れを表
わした流れ図である。
【図15】 第2の変形例のディスクアレイ制御装置に
おいて空き領域の詰められる様子を表わした説明図であ
る。
【図16】 第2の変形例のディスクアレイ制御装置が
データを書き込むときに行うバックグランド処理の流れ
を表わした流れ図である。
【図17】 第2の変形例のディスクアレイ制御装置の
内部におけるデータの流れを模式的に表わした説明図で
ある。
【図18】 第3の変形例のディスクアレイ制御装置に
おける圧縮処理回路の回路構成の概要を表わしたブロッ
ク図である。
【図19】 第3の変形例のディスクアレイ制御装置に
おけるバックグランド処理におけるデータの流れを模式
的に表わした説明図である。
【図20】 第3の変形例のディスクアレイ制御装置に
おけるバックグランド処理におけるデータの流れを模式
的に表わした説明図である。
【図21】 第3の変形例のディスクアレイ制御装置に
おいて作成されるデータ管理テーブルの登録内容を表わ
した説明図である。
【図22】 第3の変形例のディスクアレイ制御装置が
圧縮方式を選択するときに行う処理の流れを表わした流
れ図である。
【図23】 パリティデータによって損壊したデータを
再構成するディスク装置におけるデータの流れを表わし
た説明図である。
【符号の説明】
11…ホストコンピュータ、12〜15…ディスク装
置、17、23…入出力制御部、18…圧縮処理部、1
9…圧縮データカウント部、21…伸長処理部、22…
パリティ生成部、31…CPU、32…バス、33…R
OM、34…RAM、35〜39…SISCコントロー
ラ、41…圧縮処理回路、42…圧縮データカウント回
路、43…伸長処理回路、44…パリティ生成回路、4
5…ローカル・バス、51…初期格納エリア、52…圧
縮格納エリア、53…パリティ格納エリア、71、72
…二重化格納エリア

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のディスク装置と、 これらディスク装置に格納すべきデータを入力する書込
    データ入力手段と、 この書込データ入力手段から入力されたデータを前記複
    数のディスク装置に振り分けて格納する分散格納手段
    と、 この分散格納手段によるデータの格納が終了した時点で
    書き込みの終了を表わした所定の書込完了通知を送出す
    る書込完了通知送出手段と、 この書込完了通知送出手段によって書込完了通知が送出
    された後前記分散格納手段によって格納されたデータを
    冗長構成にして前記複数のディスク装置に再格納する冗
    長構成格納手段とを具備することを特徴とするディスク
    アレイ装置。
  2. 【請求項2】 複数のディスク装置と、 これらディスク装置に格納すべきデータを入力する書込
    データ入力手段と、 この書込データ入力手段から入力されたデータを前記複
    数のディスク装置に振り分けて格納する分散格納手段
    と、 この分散格納手段によるデータの格納が終了した時点で
    書き込みの終了を表わした所定の書込完了通知を送出す
    る書込完了通知送出手段と、 この書込完了通知送出手段によって書込完了通知が送出
    された後前記分散格納手段によって格納されたデータを
    冗長構成にして前記複数のディスク装置に再格納する冗
    長構成格納手段と、 データの読出命令を受信する読出命令受信手段と、 この読出命令受信手段によって読出命令が受信された時
    点で読み出すべきデータが前記冗長構成格納手段により
    冗長構成されて再格納されていないときは前記分散格納
    手段により格納されたデータを読み出す読出手段とを具
    備することを特徴とするディスクアレイ装置。
  3. 【請求項3】 複数のディスク装置と、 これらディスク装置に格納すべきデータを入力する書込
    データ入力手段と、 この書込データ入力手段から入力されたデータを前記デ
    ィスク装置に分散して格納したときこれらのディスク装
    置から同時に並行してこのデータを読み出すのに必要な
    読出時間を求める第1の読出時間割出手段と、 前記書込データ入力手段から入力されたデータを圧縮す
    る圧縮手段と、 この圧縮手段によって圧縮された後のデータを前記複数
    のディスク装置のうち所定の1台を除くディスク装置に
    分散して格納したときこれらのディスク装置から同時に
    並行してこの圧縮後のデータを読み出すのに必要な読出
    時間を求める第2の読出時間割出手段と、 前記第1の読出時間割出手段によって求めた読出時間が
    この第2の読出時間割出手段によって求めた読出時間よ
    りも短いかあるいは等しいとき前記書込データ入力手段
    から入力されたデータを前記ディスク装置に分散させて
    格納する第1の分散格納手段と、 前記書込データ入力手段から入力されたデータをこの第
    1の分散格納手段とその格納先のディスク装置を変えて
    分散させて格納する第2の分散格納手段と、 前記第2の読出時間割出手段によって求めた読出時間が
    前記第1の読出時間割出手段によって求めた読出時間よ
    りも短いとき前記圧縮手段によって圧縮された後のデー
    タを前記所定の1台を除くディスク装置に分散させて格
    納する第3の分散格納手段と、 この第3の分散格納手段によってデータの格納されたデ
    ィスク装置のうちいずれか1台が読出不能になったとき
    これに格納されたデータを再構成するための誤り訂正符
    号を生成する誤り訂正符号生成手段と、 この誤り訂正符号生成手段によって生成された誤り訂正
    符号を前記所定の1台のディスク装置に格納する誤り訂
    正符号格納手段とを具備することを特徴とするディスク
    アレイ装置。
JP6255813A 1994-10-20 1994-10-20 ディスクアレイ装置 Pending JPH08123627A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6255813A JPH08123627A (ja) 1994-10-20 1994-10-20 ディスクアレイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6255813A JPH08123627A (ja) 1994-10-20 1994-10-20 ディスクアレイ装置

Publications (1)

Publication Number Publication Date
JPH08123627A true JPH08123627A (ja) 1996-05-17

Family

ID=17283987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6255813A Pending JPH08123627A (ja) 1994-10-20 1994-10-20 ディスクアレイ装置

Country Status (1)

Country Link
JP (1) JPH08123627A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101645448B1 (ko) * 2015-07-20 2016-08-04 (주)명인이노 컨트롤러 다중 볼륨 장치
KR20190076589A (ko) * 2017-12-22 2019-07-02 한국외국어대학교 연구산학협력단 플래시 메모리 컨트롤러의 에러 정정 방법
GB2626755A (en) * 2023-02-01 2024-08-07 Ibm Storage data copies with differing compression algorithms

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101645448B1 (ko) * 2015-07-20 2016-08-04 (주)명인이노 컨트롤러 다중 볼륨 장치
KR20190076589A (ko) * 2017-12-22 2019-07-02 한국외국어대학교 연구산학협력단 플래시 메모리 컨트롤러의 에러 정정 방법
GB2626755A (en) * 2023-02-01 2024-08-07 Ibm Storage data copies with differing compression algorithms
US12321591B2 (en) 2023-02-01 2025-06-03 International Business Machines Corporation Storage data copies with differing compression algorithms

Similar Documents

Publication Publication Date Title
US7865664B2 (en) Storage control device, and control method for storage control device
US6035373A (en) Method for rearranging data in a disk array system when a new disk storage unit is added to the array using a new striping rule and a pointer as a position holder as each block of data is rearranged
US7194580B2 (en) Disk array device, method of extending storage capacity and computer program
JP3181398B2 (ja) アレイ型記録装置
JPH10111767A (ja) 大容量記憶装置
JP3407276B2 (ja) データ圧縮システム
JPH05241870A (ja) メモリ制御装置および方法
JP2000511318A (ja) 階層記憶管理システムのための変換式raid
JPH07134635A (ja) ディスクアレイ装置
JPH08249132A (ja) ディスクアレイ装置
US5875460A (en) Disk array subsystem and data generation method therefor
JP2912299B2 (ja) ディスクアレイ制御装置
JPH07311661A (ja) 半導体ディスク装置
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
US6665773B1 (en) Simple and scalable RAID XOR assist logic with overlapped operations
CN102200934B (zh) 不使用奇偶校验和镜像法在raid系统中建立高级别的冗余、容错性及性能的方法
JP4884721B2 (ja) 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法
JPH07261945A (ja) ディスクアレイ装置およびディスクアレイの区分け方法
USRE36448E (en) Memory controller with parity generator for an I/O control unit
JPH08123627A (ja) ディスクアレイ装置
US20020199059A1 (en) Object oriented approach to a redundant array storage system
JPH1185410A (ja) データ二重化記憶サブシステム
JP2001356882A (ja) データ読み書き制御方法及びディスクアレイ装置並びにデータ読み書き制御用プログラムを記憶した記録媒体
JP3555871B2 (ja) ディスクアレイ装置
JP2857289B2 (ja) ディスクアレイ装置