[go: up one dir, main page]

JP3065481B2 - ディスク・アレイ装置およびデータの格納方法 - Google Patents

ディスク・アレイ装置およびデータの格納方法

Info

Publication number
JP3065481B2
JP3065481B2 JP6106324A JP10632494A JP3065481B2 JP 3065481 B2 JP3065481 B2 JP 3065481B2 JP 6106324 A JP6106324 A JP 6106324A JP 10632494 A JP10632494 A JP 10632494A JP 3065481 B2 JP3065481 B2 JP 3065481B2
Authority
JP
Japan
Prior art keywords
data
sector
disk
parity
stored
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
JP6106324A
Other languages
English (en)
Other versions
JPH07295763A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP6106324A priority Critical patent/JP3065481B2/ja
Priority to US08/426,329 priority patent/US5650969A/en
Publication of JPH07295763A publication Critical patent/JPH07295763A/ja
Application granted granted Critical
Publication of JP3065481B2 publication Critical patent/JP3065481B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータの外部記
憶装置であるディスク・アレイ装置(「RAID」、Redund
ant Array of Inexpensive Disks)およびブロック一括
消去型フラッシュ・メモリ(EEPROM)を用いた外
部半導体記憶装置(Solid State File, SSF)に関する
もので、より具体的には、高速外部半導体記憶装置およ
びこれをパリティ・ディスクに利用したディスク・アレ
イ装置に関する。
【0002】
【従来の技術】ディスク・アレイ装置(Redundant Array
of Inexpensive Disks, RAID)は、複数のハード・ディ
スク装置(Hard Disk Drive, HDD)を使って、単独のHDD
よりも高い信頼性と性能を実現するもので、パターソン
(D.A. Patterson)らによって提案されたもので、詳細
は、D. A. Patterson, G. Gibson, R. H. Kats, "A Cas
efor Redundant Array of Inexpensive Disks (RAID)"
ACM SIGMOD 88, June 1988 pp. 109-116に説明されてい
る。また、ディスク・アレイ装置の最近の傾向が「ディ
スク・アレイ装置、性能向上で分散システムの要に」
日経エレクトロニクス1993年4月26日号、pp.109ー116に
記載されている。
【0003】ディスク・アレイ装置は、データを分割
(ストライピング)し、インターリーブをかけて複数の
磁気ディスク装置に格納するもので、ビット単位でイン
ターリーブし、パリティを冗長ディスクに格納するRA
ID3、セクタ単位でインターリーブし、パリティを冗
長ディスクに格納するRAID4、およびセクタ単位で
インターリーブし、パリティを複数のHDDに分散して
格納するRAID5が注目されている。
【0004】代表的な例としてRAID4のディスク・
アレイ装置の概念を図1に示す。大きなサイズのシリア
ル・データをセクタ単位で分割し、セクタ単位のデータ
・ブロック0、1、2、3などを、それぞれHDD0、
HDD1、HDD2、HDD3などに格納し、HDD0
ないしHDD3にまたがるセクタの位置的に対応するデ
ータ列のパリティを冗長ディスクであるHDD4に格納
する。これにより、1台のHDDが壊れても、他のHD
Dに入っているデータとパリティから、失われたデータ
を再生することができる。
【0005】しかし、パリティを付けた結果、たとえば
セクタ1を書き換えるとき、パリティも書き換える必要
があり、新しいデータを書き込む前に古いデータおよび
古いパリティを読み出さねばならない。このため1回の
データの書き換えのために冗長ディスクに対しては、古
いパリティを読み出した後に、新しいパリティを計算し
て書き込む操作が必要となり、また、データ・ディスク
に対しては古いデータを読み出した後に、新しいデータ
を書き込む操作が必要となり、全体として、データの書
き込み速度を制約することになった。
【0006】以上、書き込み速度が制約されるのは同一
ディスクに対し、2回のアクセスをしなければならない
ためであるが、これを緩和する方法として高速なディス
クを用いる方法が考えられる。この高速ディスクの役割
を担うと考えられるものとして、ブロック消去型のフラ
ッシュ半導体メモリ(EEPROM)を使用した半導体
記憶装置がある。この半導体記憶装置は、HDDと同じ
命令およびデータ・フォーマットを用い、CPUから見
るとHDDと同じであるので、半導体ディスク装置とも
呼ばれる。R. D. Pashley 外の"Flash Memories: the b
est of two worlds", IEEE Spectrum 1989年12月、pp.3
0ー33、および特開平2ー10598号公報にこのようなフラッ
シュ半導体メモリが記載されている。
【0007】このようなブロックを消去単位としたフラ
ッシュ半導体メモリは、その消去単位であるブロックを
消去した後でなければ同一の領域に書き込みをすること
ができない。そのため、セクタの書き込みにかなりの時
間がかかる。これは、セクタ中の数バイトを変更するの
にも、そのセクタを含むメモリ・ブロック内のデータ全
部をホスト・コンピュータのメモリ空間に一時的に退避
させ、メモリ・ブロックを一括消去した後、空白のセク
タに新しいデータを書き戻すからである。このため、フ
ラッシュ半導体メモリで構成した半導体ディスク装置
は、読み出しは非常に高速であるが書き込みが非常に遅
く、全体として磁気ディスクと同程度か、それ以下の速
度性能しか得られない。
【0008】この出願と同じ出願人による特許出願であ
る特開平5−27924号公報には、セクタへの書き込
み性能向上と、書き込み消去回数を均一化させることと
を目的として、データを物理的セクタに出発点から順に
格納していき、新しいデータは常にデータを格納したセ
クタの末尾のセクタに格納されるようにする動的セクタ
割り当て法が開示されている。外部記憶装置側では、ホ
スト・コンピュータのコマンド処理に備えて、書き込み
あるいは複写用のメモリ・ブロックやセクタを常に準備
し、この選ばれたメモリ・ブロックやセクタの物理アド
レスとホスト・コンピュータのコマンドとの対応関係を
アドレス変換表に記録、保持し、メモリ・ブロックやセ
クタの状況はそれぞれの管理表に記録され、管理され
る。
【0009】この動的セクタ割り当て法においても、複
数セクタの書き込み要求に対して、一セクタごとに書き
込み完了を待ってから次のセクタを書き込む必要がある
ため、半導体ディスク装置に対するシーケンシャル・デ
ータの連続書き込みに時間がかかり、現状ではRAID
用の高速HDDとして用いることができない。さらに、
フラッシュ半導体メモリの特性として、書き込み操作の
進行している同一ブロック内のデータを読むことができ
ないので、アクセスパターンによっては読み出し性能も
低下してしまうという欠点があった。
【0010】
【発明が解決しようとする課題】したがって、この発明
の目的は、ディスク・アレイ装置(RAID)の書き換
え速度を向上させることにある。
【0011】また、この発明の目的は、フラッシュ半導
体メモリ(EEPROM)を用いた半導体ディスク装置
へのデータ書き込みをハードディスク装置よりも高速で
行う手法を提供することにある。
【0012】さらに、この発明の目的は、高速書き込み
手法を用いたフラッシュ半導体メモリ(EEPROM)
で構成した半導体ディスク装置をパリティ格納用の冗長
ディスクとして用い、ディスク・アレイ装置の速度を向
上させることにある。
【0013】
【課題を解決するための手段】ディスク・アレイ構成に
おいて書き込み性能が制約を受けるのは前述のとおり、
データ・ディスクとパリティ・ディスクとに対し、それ
ぞれ2回アクセスしなければならないという事実によ
る。この発明では、古いデータを読み出すディスクと、
新しいデータを書き込むディスクとを分けることによ
り、データ・ディスクへのアクセスを見かけ上1回です
むようにし、また、パリティ・ディスクには書き込み性
能が大幅に高速化された外部半導体記憶装置を用いるこ
とにより2回のアクセスがデータ・ディスクへの1回の
アクセス時間以内に終わるようにする。
【0014】上に述べたデータ・ディスクの分離手法
は、データを1または複数のセクタ単位で順次N個に分
割したデータ・アレイをN個の磁気ディスク装置のそれ
ぞれのセクタに格納し、パリティをパリティ・ディスク
に格納するディスク・アレイ装置において、データ格納
用の磁気ディスク装置をN+1個とし、上記データ・ア
レイをN個の磁気ディスク装置のセクタに格納し、1つ
の磁気ディスク装置のセクタを冗長セクタとすることに
よって達成される。
【0015】任意の上記セクタを書き換えるため,新し
いデータを含むセクタ・データは,上記冗長セクタに格
納され,書き換えられるべき古いデータを格納していた
セクタが新たな冗長セクタとなる。
【0016】より具体的には、この発明のディスク・ア
レイ装置は、ホスト・コンピュータとのインターフェイ
ス、上記N+1個の磁気ディスク装置および上記パリテ
ィ・ディスクに接続されたデータ・パス制御手段と、上
記セクタ・データの上記N+1個の磁気ディスク装置に
対する割り当てを記録する割り当て表を記憶するメモリ
手段と、上記ホスト・コンピュータからの指令に応答し
て上記メモリ手段から上記割り当て表を読み出し、書き
換えられるべき古いデータを格納しているセクタの読み
出しおよび上記パリティ・ディスクからの該データの属
する上記データ・アレイのに対応するパリティの読み出
しを制御する手段と、書き込むべき新しいデータ、上記
古いデータおよび上記パリティの排他的ORをとり、新
しいパリティを生成する手段と、を備えている。
【0017】また、この発明のディスク・アレイ装置の
パリティ・ディスクは、高速動作するフラッシュ半導体
メモリを用いた半導体ディスク装置で構成される。この
半導体ディスク装置は、複数のパリティ・セクタをイン
ターリーブして書き込むようにされており、またデータ
を物理的セクタに出発点から順に格納していき新しいデ
ータは常にデータ格納済みの最後のセクタの次のセクタ
に格納されるようにする動的セクタ割り当て法を用いて
いる。さらにフラッシュ半導体メモリに対する物理的な
書き込み動作により、読み出し操作が不能となることの
ないようにバッファを用意し、任意のセクタを常に読み
出せるようにしている。
【0018】
【実施例】図2に示すように、N個の基本ディスク21
1ないし21N、および2個の冗長ディスク210、2
30でディスク・アレイ装置を構成する。2個の冗長デ
ィスクのうち1つのディスク230は、高速のフラッシ
ュ半導体メモリで構成した半導体ディスク装置(SS
F)を用いる。高速ディスク230にパリティを格納
し、残り1個の冗長ディスク210は、N個の基本ディ
スクと区別せず、N+1個のユーザ・ディスクの1つと
なる。ユーザが認知できるディスク容量はディスクN個
分であり、観念上、パリティ・ディスクの外に1つの冗
長ディスク210があることになるが、このディスク2
10は他のデータ・ディスク211ないし21Nと全く
同じであり、論理的には区別がつかない。
【0019】RAID4と同様なセクタ構成によりデー
タをセクタ単位のN個のデータ区分に分割し、1つのデ
ータ区分を1つのセクタに対応付けN+1個のセクタに
格納する。N+1個のセクタのうち1つは、データ区分
が割り当てられていない冗長セクタであり、冗長データ
を格納していると観念する。連続するN個のデータ区分
とこれに関連するパリティからなるデータの集合をデー
タ・アレイと呼ぶ。
【0020】データ・アレイは、入力データを複数のセ
クタを単位としてN個のデータ区分に分割して形成して
もよく、この場合、各ディスク装置には分割単位である
複数のセクタにそれぞれデータが格納される。
【0021】データ書き込み時には、新しいデータを冗
長セクタに書き込み、それと同時に上書きされるべき古
いデータを、このデータを格納しているディスクの該当
するセクタから読み出す。さらに、これと同時に古いパ
リティをパリティ・ディスクとして機能する半導体ディ
スク装置230の該当するセクタから読み出す。この古
いパリティと、読み出された古いデータおよび冗長セク
タに書き込まれる新しいデータとの排他的論理和をとる
ことによって、新しいパリティが生成される。この新し
いパリティを半導体ディスク装置230の同じ論理セク
タに書き戻す。図3は、ある任意のデータ・アレイにつ
いてのセクタの割り当て表240を用いたセクタの動的
配置を示している。割り当て表240によれば、セクタ
0はディスク2に存在し、セクタ1、セクタ2、セクタ
3は、それぞれHDD3、HDD1、HDD0に存在し
ている。HDD4は、割り当て表240によって指し示
されていないので、ここに冗長セクタがあることがわか
る。この実施例では、割り当て表240は、RAMメモ
リに維持されるとともに半導体ディスク装置230に書
き込まれている。半導体ディスク装置は、セクタに冗長
領域を持つものが実用化されているので、この冗長領域
に割り当て情報を書き込むようにすれば、割り当て情報
を書き込むことによる領域的なオーバーヘッドは生じな
い。
【0022】たとえば、図3においてセクタ2に格納さ
れているデータが00101・・・・であり、このデー
タを新しいデータ10110・・・・で書き換えるため
には、セクタ2を含むデータ・アレイに対応するパリテ
ィをパリティ・ディスク230から読み出す。いま、こ
のパリティが01001・・・・であるとする。電源立
ち上げ時に半導体ディスク装置から読み出されてRAM
メモリに維持される割り当て表240から、セクタ2が
格納されているのはHDD1であることがわかる。この
情報に基づきHDD1をアクセスしてセクタ2のデータ
00101・・・・を読み出す。
【0023】こうして読み出された古いデータ0010
1・・・・、書き込むべき新しいデータ10110・・
・・、および読み出された古いパリティ01001・・
・・の排他的論理和をとり、結果として得られる新しい
パリティ11010・・・・を、半導体ディスク装置2
30に書き戻す。一方、これと同時に新しいデータは、
有意なデータを格納していないディスクHDD4の対応
するセクタに書き込まれ、割り当て表のセクタ2に対応
するディスクの表示が1から4に変更される。半導体デ
ィスク装置230は、データ・ディスクに比べて4ない
し5倍高速なので、新しいパリティおよび割り当て表の
書き戻しは、ディスクHDD4に対する新しいデータの
書き込みとほぼ同時に行うことができる。このように、
この発明によると、データの書き込みは、古いデータの
読み出しとほぼ同時に冗長セクタに対して行われ、パリ
ティ・ディスクとして機能する半導体ディスク装置は、
データの読み出し、書き込みとほぼ同時にパリティの読
み出し書き戻しを行うことができるので、ディスク・ア
レイ装置の書き込み速度を向上させることができる。
【0024】図4は、ディスク・アレイ装置20の機能
的な構成を示す。ディスク・アレイ装置20は、ホスト
コンピュータとのインターフェイス29を介してバス1
8に接続されたデータ・パス・コントローラ21を備え
ている。データ・パス・コントローラ21は、制御ユニ
ット22からの制御の下に、インターフェイスとRAM
メモリ24との間、RAMメモリ24と磁気ディスク装
置200との間、パリティ用半導体ディスク装置SSF
とパリティ用メモリ26との間などのデータの移動を管
理する。
【0025】図5を参照して割り当て表を説明する。ハ
ードディスクが5台あり、それぞれに0から4番までの
番号が付けられているとする。このとき割り当て表は、
(5ー1)=4列の表になり、第n行m列には第4n+
m番セクタがどのディスクに格納されているかが示され
ている。図では第0セクタはHDD1に、第1セクタは
HDD4に格納されていることがわかる。各行に含まれ
るセクタ(第n行においては第4nセクタから第4n+
3セクタ)は、各HDDの同じ物理セクタ上に格納され
る。すなわち第n行に含まれるセクタは、HDD0ない
しHDD4の第n物理セクタ上のいずれかに格納され、
他の物理セクタ上に格納されることはない。第n行に対
応する割り当て表の内容はSSFの第nセクタに保持さ
れている。システムの電源立ち上げ時に割り当て表を半
導体ディスク装置から読み、割り当て表全体を構成して
使用する。
【0026】ホスト・コンピュータが任意のセクタ、た
とえば第17セクタに新しいデータを書き込む命令を出
すと、制御ユニット22がデータ・パス・コントローラ
21を介してこの命令を受け取り、メモリ24上にある
図5の割り当て表240からセクタ17が格納されてい
るディスク装置HDD1を見つけだす。データ・アレイ
の第17セクタを格納するHDD1は割り当て表の第4
行に位置するので、第17セクタがHDD1の第4セク
タに格納されていることがわかる。制御ユニット22
は、この割り当て表から、この第17セクタの属するデ
ータ・アレイの冗長セクタがディスク装置HDD0にあ
ることを見つける。制御ユニットは、第17セクタに現
に入っているデータの読み出しをHDD1に命令し、新
しいデータの書き込みをHDD0に命令する。次いで、
制御ユニット22は、半導体ディスク装置SSFに旧パ
リティの読み出し要求を出す。SSFは、これに応じて
旧パリティを読み出し、パリティ生成用メモリ26に格
納する。
【0027】制御ユニット22は、HDD1、HDD0
および半導体ディスク装置SSFに上記の命令を出すと
ともに、ホスト・コンピュータから書き込むべきデータ
を取り込み、メモリ24のセクタ・バッファ242に格
納する。連続的に多数のセクタの書き込みをすることが
できるように、セクタ・バッファ242は多数のセクタ
のデータを格納できる容量を持っている。
【0028】HDD1およびHDD0の用意ができる
と、HDD1の第4セクタを読みながら、旧データとセ
クタ・バッファ内の新データとパリティ生成用メモリ2
6内の旧パリティとの三者の排他的論理和をとって、新
しいパリティを生成し、これを半導体ディスク装置SS
Fに書き戻す。制御ユニット22は、RAMメモリ上の
割り当て表240を更新し、メモリ24に戻すととも
に、SSFにも割り当て表を書き込む。
【0029】次にパリティ・ディスクSSFを説明す
る。この発明では、ディスク・アレイ装置のパリティ・
ディスクにフラッシュEEPROMを用いた半導体ディ
スク装置すなわち外部半導体記憶装置(Solid State Fil
e, SSF)を使用する。従来のSSFは読み出し速度は磁
気ディスク装置の数倍速いものの、書き込み速度は、磁
気ディスク装置と同程度であったが、この発明のSSF
は、特開平5−27924号に示される動的セクタ割り
当て法を改良して磁気ディスク装置よりも速い読み出
し、書き込み速度を実現した。
【0030】この発明のディスク・アレイ装置用のパリ
ティ・ディスクとして用いるためには、磁気ディスク装
置の4ないし10倍程度の速度が要求されるので、従来
の外部半導体記憶装置は使用することができない。
【0031】物理的な消去単位(ブロック)の中で独立
に書き込み可能なブロックの複数個からなる論理的な集
合をつくり、これをクラスタと呼ぶ。クラスタ内部のセ
クタ書き込み順序として、連続して書き込まれるセクタ
がブロックを順々に巡るように決定し、一つのブロック
のセクタに対して書き込み命令を発行後、その書き込み
が完了する前であっても次のセクタの書き込み要求があ
ればこれを受け付け、このセクタを同一クラスタ内の次
のブロックに書き込む。これをセクタの書き込み要求が
ある限り、かつ書き込もうとするブロックがビジーでな
い限り繰り返す。
【0032】この実施例では1クラスタには4個のブロ
ックを含むものとし、図6に示すようにクラスタnに含
まれるブロックの名前をそれぞれBn0、Bn1、Bn2およ
びBn3とする。ブロックBn0、Bn1、Bn2およびBn3
は、それぞれEEPROMチップ0、チップ1、チップ
2およびチップ3に含まれており、クラスタは、これら
4個のチップに渡って構成されている。それぞれのセク
タが磁気ディスク・アレイ装置のパリティ・セクタとな
る。実施例では、1つのブロックにk個のセクタ、従っ
て1つのクラスタに4k個のセクタが含まれている。半
導体ディスク装置SSFは全体としてハードディスク装
置と同数のセクタを含んでいる。
【0033】半導体ディスク装置SSFは制御ユニット
22から見ると非常に速いハードディスクに見える。制
御ユニット22は、半導体ディスク装置の中で何が起こ
っているかを関知することなく、通常のHDDに対して
発行するのと同一のコマンドで半導体ディスク装置にセ
クタの読み出し、書き込みを命令する。
【0034】図7は、クラスタnに属するブロックBn
0、Bn1、Bn2およびBn3におけるセクタの割り当てを
示す。1つのブロックにはk個のセクタが含まれてお
り、クラスタ内部のセクタ書き込みは、連続して書き込
まれるセクタがブロックを順に巡るようにする。今、ク
ラスタnにはなにも書き込まれていない状態で制御ユニ
ット22からI/Oバスを介して5セクタ分のデータの
書き込み要求がきたとすると、まず、最初のセクタ・デ
ータはBn0に書き込み準備がなされ、その後、書き込み
命令が実行される。これと同時に、Bn0に対する書き込
み時間を管理するため、数十マイクロ秒ごとに割り込み
を発生するタイマT1を起動する。タイマはそれぞれの
ブロックに対応して設けられ、この実施例では4個のタ
イマが用意されている。
【0035】通常、データの書き込みには数百マイクロ
秒を要し、次のセクタに対するデータ書き込み操作を開
始するためにはこの間待っている必要があった。この発
明によると、ブロックBn0に対する書き込み操作中に次
のセクタ・データをブロックBn1に対して書き込む準備
をし、書き込み命令を発行する。同様に第3、第4のセ
クタ・データをそれぞれブロックBn2、Bn3に対して書
き込む操作を行う。このように同時期に4個のブロック
に対して書き込み操作を行うので、見かけ上書き込み速
度が4倍になる。
【0036】図7において、いま、クラスタnが空白
で、半導体ディスク装置に内蔵されるSSFコントロー
ラの次書き込みセクタ・ポインタ(Next Write Pointer:
次にデータを書き込むべきセクタ位置を示すポイン
タ)がセクタ0の位置にあるものとする。ここで、制御
ユニット22より5セクタ分の書き込み要求があると、
SSFコントローラは、制御ユニットからの要求順に最
初のセクタ・データをセクタ0の位置に書き込む。ここ
で、SSFコントローラは、書き込み時間計測用タイマ
T0をスタートしておく。
【0037】次セクタ・データは、セクタ0への書き込
み終了を待たずにセクタ1に書き込まれる。このとき、
SSFコントローラはタイマT1をスタートする。以下
同様に、第3番目のセクタ・データをセクタ2、第4番
目のデータをセクタ3へそれぞれ書き込み、その都度T
2、T3をスタートさせる。最後の5番目のセクタ・デー
タは、セクタ4に書き込むことになるが、書き込みに先
立ち、まず、T0を検査し、セクタ0に対する書き込み
が終了しているかどうかを調べる。書き込みが終了する
のを待ってから。セクタ4に対して第5番目のセクタ・
データを書き込み、再度T0を初期設定しスタートさせ
る。各タイマに一定時間の後(この場合、書き込み終了
時間後)にSSFコントローラに対して割り込みが起き
るようにしておけば、SSFコントローラは、どのブロ
ックに対して書き込みが終わったかを常に認識すること
ができる。
【0038】制御ユニット22から送られてきた第5番
目のセクタ・データの書き込みは、ブロックBn3までの
書き込み命令を発行した後、ブロックBn0の状況を確認
し、第1のセクタ・データの書き込みが完了していれば
第5セクタ・データの書き込み操作を開始し、さもなけ
ればその完了を待って書き込みを行う。この時、もし第
1セクタの書き込みに失敗していた場合、図8に示すよ
うに第1のセクタ・データを同じブロックの次のセク
タ、この場合セクタ4に対して書き込み操作を行い、第
5のセクタ・データは次のブロックBn1のセクタに書き
込む。
【0039】以上の説明では、クラスタn全体が空白の
場合について説明したが、動的セクタ割り当て法ではデ
ータはディスク装置のセクタに物理的に順に書き込ま
れ、最後のセクタ・データを格納するセクタの後には空
白のセクタが続くから、クラスタの途中のセクタから書
き込む場合も、出発点となるセクタ位置が変わるだけ
で、動作的には上に述べたのと同じになる。
【0040】この実施例では、クラスタのサイズと同一
容量のRAM領域をクラスタ・バッファとして使用す
る。セクタ・データを任意のクラスタのセクタに書き込
む場合には、クラスタ・バッファ中の対応するセクタに
も同時に書き込みを行う。図9を参照して、今、第mク
ラスタが一杯になり、次に第nクラスタが選ばれて第1
セクタから第5セクタまで書き込みがあったとすると、
この時点でクラスタ・バッファ上の第1セクタから第5
セクタまでには第nクラスタの第1セクタから第5セク
タと同一の内容が保持され、第6セクタからクラスタ・
バッファの最終セクタまでには第mクラスタの対応する
セクタにある内容を保持している。すなわち、書き込み
が起こり得る第nクラスタに書き込まれているすべての
データ、およびその前の第mクラスタに書き込まれ上書
きされていないデータは、クラスタ・バッファ上に保持
されているから、あるブロックで書き込み操作が進行中
でアクセスが不能である場合にも、そのブロック上のセ
クタ・データに対する制御ユニット22からの読み出し
命令に応答することができる。ただし、第nクラスタの
セクタへの書き込みが進むにつれて第mクラスタのセク
タ・データは、第nクラスタに書き込まれるセクタ・デ
ータで置き換えられる。
【0041】動的セクタ割り当て法において用いられる
アドレス変換表上には、特開平5ー27924号公報に
記載されているように、論理セクタ・アドレスから、実
際にそのセクタ・データが格納されているフラッシュ半
導体メモリEEPROM上の物理アドレスを導き出すポ
インタが格納されている。この実施例では、このアドレ
ス変換表を用いてクラスタ・バッファ上のデータを管理
する。すなわち、制御ユニット22からの書き込み要求
によりデータはEEPROMとクラスタ・バッファとに
書き込まれるが、この時アドレス変換表上の物理アドレ
スポインタとして、EEPROMに対するものではな
く、クラスタ・バッファのセクタ・アドレスを書き込ん
でおく。図10を参照すると、クラスタ・バッファの内
容が上書きされる時、すなわち上の例で、第nクラスタ
の第6セクタにデータを書き込むとき、クラスタ・バッ
ファの第6セクタを示しているポインタPをEEPRO
Mの第mクラスタの第6セクタを示すように変更する。
そして第nクラスタの第6セクタに書き込まれるセクタ
・データのポインタQは、クラスタ・バッファの第6セ
クタを示すようにセットされる。
【0042】
【発明の効果】この発明によると、ディスク・アレイ装
置にデータ格納用の磁気ディスク装置を1台多く設けデ
ータを書き直す際、古いデータの読み出しと新しいデー
タの書き込みを別の磁気ディスク装置に対して行うの
で、ディスク・アレイ装置の速度が向上する。さらに、
パリティ格納用のディスク装置として高速のフラッシュ
半導体メモリで構成した半導体ディスク装置を使用した
ので、ディスク・アレイ装置の速度が向上する。また、
この発明のディスク・アレイ装置は、複数のセクタ・デ
ータをインターリーブして書き込む外部半導体記憶装
置、すなわち半導体ディスク装置をパリティ用ディスク
装置として使用するので、ディスク・アレイ装置の書き
込み速度を向上することができる。
【0043】また、データ・ディスクの割り当て表は、
SSFに対し、パリティ書き込みの一貫として行われる
ため、割り当て表保存のためのオーバーヘッドがかから
ず、また、常に最新の割り当て表がSSF上に保存され
るので、システムの信頼性が高い。
【図面の簡単な説明】
【図1】 従来技術のディスク・アレイ装置の構成を示
す図。
【図2】 この発明による冗長ディスクを含めたディス
ク・アレイ装置の構成を示す図。
【図3】 この発明の冗長ディスクへのデータの書き込
みを説明するための構成図。
【図4】 この発明のディスク・アレイ装置の制御関係
を示すブロック図。
【図5】 セクタ割り当て表の全体的構成を示す図。
【図6】 半導体ディスク装置のクラスタの構成を示す
図。
【図7】 半導体ディスク装置の任意のクラスタの構成
を示す図。
【図8】 クラスタへのデータ書き込みを示す図。
【図9】 クラスタ・バッファと2つのクラスタとの関
係を示す図。
【図10】 クラスタおよびクラスタ・バッファとその
アドレス変換表を示す図。
【符号の説明】
21 データ・パス・コントローラ 22 制御ユニット 24 RAMメモリ 25 パリティ生成器 26 パリティ用メモリ 29 ホスト・インターフェイス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 松尾 信行 滋賀県野洲郡野洲町大字市三宅800番地 日本アイ・ビー・エム株式会社 野洲 事業所内 (72)発明者 島田 真由己 神奈川県川崎市川崎区日進町1番地53 日本アイ・ビー・エム株式会社 川崎東 事業所内 (56)参考文献 特開 平5−313833(JP,A) 特開 平5−233155(JP,A) 特開 平5−27924(JP,A) 特開 平6−119120(JP,A) 特開 平6−266510(JP,A) 特開 平6−202817(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】データを1または複数のセクタ単位で順次
    N個に分割したデータ・アレイをN個の磁気ディスク装
    置のそれぞれのセクタに格納し、パリティをパリティ・
    ディスクに格納するディスク・アレイ装置において、 データ格納用の磁気ディスク装置をN+1個とし、上記
    データ・アレイをN個の磁気ディスク装置のそれぞれ1
    または複数のセクタに格納し、他の1つの磁気ディスク
    装置のセクタを冗長セクタとし、 上記N個の磁気ディスク装置における前記セクタに格納
    されたデータを書き換えるため、上記1つの磁気ディス
    ク装置における前記冗長セクタに前記セクタに格納され
    たデータを書き換えたデータを含むセクタ・データを格
    納するようにしたディスク・アレイ装置。
  2. 【請求項2】書き換えられるべき古いデータを格納して
    いた,上記N個の磁気ディスク装置におけるセクタを新
    たな冗長セクタとする請求項1に記載のディスク・アレ
    イ装置。
  3. 【請求項3】データを1または複数のセクタ単位で順次
    N個に分割したデータ・アレイをN個の磁気ディスク装
    置のそれぞれのセクタに格納し、パリティをパリティ・
    ディスクに格納するディスク・アレイ装置において、 データ格納用の磁気ディスク装置をN+1個とし、上記
    データ・アレイをN個の磁気ディスク装置のそれぞれ1
    または複数のセクタに格納し、1つの磁気ディスク装置
    のセクタを冗長セクタとし、 上記N個の磁気ディスク装置における前記セクタに格納
    されたデータを書き換えるため、上記1つの磁気ディス
    ク装置における前記冗長セクタに前記セクタに格納され
    たデータを書き換えたデータを含むセクタ・データを格
    納すると共に、書き換えられるべき古いデータを格納し
    ていた上記N個の磁気ディスク装置における前記セクタ
    を新たな冗長セクタとするデータの格納方法。
  4. 【請求項4】ホスト・コンピュータとのインターフェイ
    ス、上記N+1個の磁気ディスク装置および上記パリテ
    ィ・ディスクに接続されたデータ・パス制御手段と、 上記セクタ・データの上記N+1個の磁気ディスク装置
    に対する割り当てを記録する割り当て表を記憶するメモ
    リ手段と、 上記ホスト・コンピュータからの指令に応答して上記メ
    モリ手段から上記割り当て表を読み出し、書き換えられ
    るべき古いデータを格納しているセクタの読み出しおよ
    び上記パリティ・ディスクからの該データの属する上記
    データ・アレイのに対応するパリティの読み出しを制御
    する手段と、 書き込むべき新しいデータ、上記古いデータおよび上記
    パリティの排他的論理和をとり、新しいパリティを生成
    する手段と、 を備える請求項1に記載のディスク・アレイ装置。
  5. 【請求項5】上記パリティ・ディスクがフラッシュ半導
    体メモリで構成した外部半導体記憶装置である請求項1
    または2に記載のディスク・アレイ装置。
  6. 【請求項6】上記外部半導体記憶装置が複数のパリティ
    ・セクタをインターリーブして書き込むようにした請求
    項5に記載のディスク・アレイ装置。
  7. 【請求項7】上記外部半導体記憶装置は、データを物理
    的セクタに出発点から順に格納していき新しいデータは
    常にデータ格納済みの最後のセクタの次のセクタに格納
    されるようにする動的セクタ割り当て法を用いた請求項
    6に記載のディスク・アレイ装置。
  8. 【請求項8】上記外部半導体記憶装置は、物理的な消去
    単位であるブロックの集合であるクラスタ内で書き込み
    セクタがブロックを順に巡るようにした請求項7に記載
    のディスク・アレイ装置。
  9. 【請求項9】上記外部半導体記憶装置は、クラスタの容
    量に相当する容量のクラスタ・バッファを備える請求項
    8に記載のディスク・アレイ装置。
  10. 【請求項10】複数のセクタからなるブロック単位で一
    括消去可能のフラッシュ半導体メモリで構成され、1群
    のブロック単位からなるクラスタごとに独立に書き込み
    可能とした外部半導体記憶装置と、 上記クラスタの容量に相当する容量のバッファと、 上記外部半導体記憶装置にデータを書き込む際、上記バ
    ッファの対応するセクタに同じデータを書き込む制御手
    段と、 を備え、上記半導体外部記憶装置の上記バッファに対応
    するセクタがあるセクタに対する読み出し要求があると
    きは、上記バッファの該対応するセクタから読み出すよ
    うにした半導体ディスク装置であって、 上記半導体ディスク装置はディスク・アレイ装置のパリ
    ティ格納用ディスク装置である、半導体ディスク装置。
  11. 【請求項11】上記半導体ディスク装置は、パリティ書
    き込みと同時にセクタ・データの磁気ディスク装置に対
    する割り当てを記録する割り当て表を格納するパリティ
    格納用ディスク装置である請求項10に記載の半導体デ
    ィスク装置。
JP6106324A 1994-04-22 1994-04-22 ディスク・アレイ装置およびデータの格納方法 Expired - Fee Related JP3065481B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6106324A JP3065481B2 (ja) 1994-04-22 1994-04-22 ディスク・アレイ装置およびデータの格納方法
US08/426,329 US5650969A (en) 1994-04-22 1995-04-21 Disk array system and method for storing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6106324A JP3065481B2 (ja) 1994-04-22 1994-04-22 ディスク・アレイ装置およびデータの格納方法

Publications (2)

Publication Number Publication Date
JPH07295763A JPH07295763A (ja) 1995-11-10
JP3065481B2 true JP3065481B2 (ja) 2000-07-17

Family

ID=14430745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6106324A Expired - Fee Related JP3065481B2 (ja) 1994-04-22 1994-04-22 ディスク・アレイ装置およびデータの格納方法

Country Status (2)

Country Link
US (1) US5650969A (ja)
JP (1) JP3065481B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
US5889795A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Disk array system and method for storing data
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
JP2776335B2 (ja) * 1995-10-20 1998-07-16 日本電気株式会社 可変長シーケンシャル・レコードの書き込み方法
JP2981482B2 (ja) * 1995-12-06 1999-11-22 日本アイ・ビー・エム株式会社 データ記憶システム、データ転送方法及びデータ再構成方法
US5790774A (en) * 1996-05-21 1998-08-04 Storage Computer Corporation Data storage system with dedicated allocation of parity storage and parity reads and writes only on operations requiring parity information
US6567889B1 (en) * 1997-12-19 2003-05-20 Lsi Logic Corporation Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
US6256705B1 (en) 1998-06-05 2001-07-03 International Business Machines Corporation System and method for organizing data stored in a log structured array
US6058054A (en) * 1999-03-31 2000-05-02 International Business Machines Corporation Method and system for providing an instant backup in a RAID data storage system
US7010636B1 (en) * 2000-09-29 2006-03-07 Fluke Networks, Inc. Method and apparatus for rapid data transfer between dis-similar devices
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US20020161850A1 (en) * 2001-01-29 2002-10-31 Ulrich Thomas R. Data path accelerator for storage systems
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6904556B2 (en) * 2001-08-09 2005-06-07 Emc Corporation Systems and methods which utilize parity sets
US6889302B2 (en) * 2002-08-29 2005-05-03 International Business Machines Corporation Apparatus and method to maintain information in one or more virtual volume aggregates comprising a plurality of virtual volumes
US6895466B2 (en) * 2002-08-29 2005-05-17 International Business Machines Corporation Apparatus and method to assign pseudotime attributes to one or more logical volumes
US7352601B1 (en) * 2003-11-24 2008-04-01 Michael Paul Minneman USB flash memory device
US7468117B2 (en) * 2005-04-29 2008-12-23 Kimberly-Clark Worldwide, Inc. Method of transferring a wet tissue web to a three-dimensional fabric
US7434138B2 (en) * 2005-06-27 2008-10-07 Agere Systems Inc. Structured interleaving/de-interleaving scheme for product code encoders/decorders
US7904647B2 (en) * 2006-11-27 2011-03-08 Lsi Corporation System for optimizing the performance and reliability of a storage controller cache offload circuit
US7873803B2 (en) 2007-09-25 2011-01-18 Sandisk Corporation Nonvolatile memory with self recovery
TW201124836A (en) * 2010-01-06 2011-07-16 Promise Technology Inc Raid system
US10437674B1 (en) * 2017-06-01 2019-10-08 Seagate Technology Llc Variable parity sectors
US11429564B2 (en) 2019-06-18 2022-08-30 Bank Of America Corporation File transferring using artificial intelligence
CN114371816A (zh) * 2021-12-14 2022-04-19 深圳市凯迪仕智能科技有限公司 一种数据存储方法及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2215156B (en) * 1988-02-17 1991-11-27 Intel Corp Processor controlled command port architecture for flash memory
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
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JP2549222B2 (ja) * 1991-12-17 1996-10-30 富士通株式会社 アレイディスク装置のバックグラウンド処理実行方法
JP2548480B2 (ja) * 1992-02-10 1996-10-30 富士通株式会社 アレイディスク装置のディスク装置診断方法
JPH05233155A (ja) * 1992-02-21 1993-09-10 Oki Electric Ind Co Ltd ディスクアレイ装置
JPH05313833A (ja) * 1992-05-11 1993-11-26 Mitsubishi Electric Corp アレイ型ディスク駆動機構システム
JP3122252B2 (ja) * 1992-10-08 2001-01-09 富士通株式会社 ディスクアレイ制御方式
US5412661A (en) * 1992-10-06 1995-05-02 International Business Machines Corporation Two-dimensional disk array
US5416915A (en) * 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
JP3176157B2 (ja) * 1992-12-28 2001-06-11 株式会社日立製作所 ディスクアレイ装置及びそのデータ更新方法
JPH06266510A (ja) * 1993-03-12 1994-09-22 Hitachi Ltd ディスクアレイシステムおよびそのためのデータ書き込み方法、障害回復方法
US5463765A (en) * 1993-03-18 1995-10-31 Hitachi, Ltd. Disk array system, data writing method thereof, and fault recovering method

Also Published As

Publication number Publication date
US5650969A (en) 1997-07-22
JPH07295763A (ja) 1995-11-10

Similar Documents

Publication Publication Date Title
JP3065481B2 (ja) ディスク・アレイ装置およびデータの格納方法
US5799140A (en) Disk array system and method for storing data
JP2794080B2 (ja) データ記憶方法
US6904498B2 (en) Raid controller disk write mask
US6058455A (en) RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
US6049890A (en) Disk array system and its control method
US5950230A (en) RAID array configuration synchronization at power on
JP3181398B2 (ja) アレイ型記録装置
EP0485110B1 (en) Logical partitioning of a redundant array storage system
JPH04232557A (ja) Dasd制御方法及び装置
JPH07168675A (ja) データ記憶システム及びその動作方法
JPH0736143B2 (ja) レコードの書き込み更新方法、単一パスアクセス保証方法、及びシステム
JPH0731580B2 (ja) 可変長レコードへのアクセス方法、単一パス同期型アクセス保証方法、及びアレイ制御装置
JPH08161124A (ja) 計算機システム
JPH0449413A (ja) アレイディスク装置のドライブ位置確認方式
US7770076B2 (en) Multi-platter disk drive controller and methods for synchronous redundant data operations
KR100364895B1 (ko) 데이터 액세스 제어 방법 및 시스템
US6934803B2 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller
JP2743730B2 (ja) アレイ型記憶装置システム
JP3011020B2 (ja) アレイ型デイスクシステム
JP3220581B2 (ja) アレイ形式の記憶装置システム
JP3067558B2 (ja) ディスクアレイ装置の拡張構成方法およびディスクアレイ装置
JP3008801B2 (ja) 記憶装置システムおよびディスクアレイ制御装置
JP2733189B2 (ja) ディスクアレイ装置の入出力制御方法
JP3202550B2 (ja) ディスクアレイサブシステム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees