| 【発明の名称】 |
ディスクアレイ装置 |
| 【発明者】 |
【氏名】和氣坂 博
|
| 【要約】 |
【課題】ディスクに対する記憶再生速度の向上と、製造コストの削減を図ることのできるディスクアレイ装置を提供すること。
【解決手段】複数のディスク媒体と、これら複数のディスク媒体に所定のデータを読み書きする複数の磁気ヘッドとを備えると共に、上位ホストからの指令にて複数のディスク媒体に読み書きされる所定のデータを複数のディスク媒体に対応して加工するRAID制御部を備え、さらに、RAID制御部の指令にて、所定のデータのディスク媒体への読み書きが正しいか否かをチェックするデータ保証部を備えた。 |
【特許請求の範囲】
【請求項1】 複数のディスク媒体と、これら複数のディスク媒体に所定のデータを読み書きする複数の磁気ヘッドとを備えると共に、上位ホストからの指令にて前記複数のディスク媒体に読み書きされる所定のデータを前記複数のディスク媒体に対応して加工するRAID制御部を備えたディスクアレイ装置において、前記RAID制御部の指令にて、前記所定のデータの前記ディスク媒体への読み書きが正しいか否かをチェックするデータ保証部を備えたことを特徴とするディスクアレイ装置。 【請求項2】 前記所定のデータを一時保持するキャッシュメモリと、このキャッシュメモリを介して前記所定のデータを前記複数のディスク媒体に読み書き制御するディスクデータ制御部とを備え、前記RAID制御部と前記データ保証部とが、前記キャッシュメモリに記憶されている前記所定のデータに対して作動することを特徴とする請求項1記載のディスクアレイ装置。 【請求項3】 前記データ保証部が、前記所定のデータに対応した誤り検出符号を生成する符号生成機能と、この誤り検出符号を前記ディスク媒体に書き込まれる前記所定のデータに付加する符号付加機能と、前記ディスク媒体から読み出された前記所定のデータから前記誤り検出符号を削除する符号削除機能とを備えたことを特徴とする請求項1又は2記載のディスクアレイ装置。 【請求項4】 前記RAID制御部が、前記所定のデータが前記ディスク媒体に書き込まれるデータである場合に当該所定のデータを分割するデータ分割機能と、前記所定のデータが前記ディスク媒体から読み出されたデータである場合に当該所定のデータを組み上げるデータ組上機能とを備え、前記データ保証部が、前記分割された所定のデータに対応した誤り検出符号を生成する符号生成機能と、この誤り検出符号を前記分割された所定のデータに付加する符号付加機能と、前記データ組上機能にて組み上げられたデータから誤り検出符号を削除する符号削除機能とを備えたことを特徴とする請求項1又は2記載のディスクアレイ装置。 【請求項5】 前記誤り検出符号は、CRCコードを含む符号であることを特徴とする請求項3又は4記載のディスクアレイ装置。 【請求項6】 前記RAID制御部を複数設けたことを特徴とする請求項1,2,3,4又は5記載のディスクアレイ装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、ディスクアレイ装置にかかり、特に複数のディスク媒体に対して並列にデータを読み書きし、当該読み書きされるデータの分割及び組み上げを行うディスクアレイ装置に関する。 【0002】 【従来の技術】従来より、ディスクアレイ装置は、複数のディスク媒体を有していて、各ディスク媒体に対応した磁気ヘッドを備えている。そして、これら複数のディスク媒体には、分割されたデータが並列に記憶され、あるいは、複数のディスク媒体から既に分散されて記憶されているデータが読み出されるようになっている。このとき、分割されたデータには冗長性が与えられ、1つのディスクに障害が発生した場合にも、データを再構築することができるようになっている。 【0003】図3に従来例におけるディスクアレイ装置100を示す。このディスクアレイ装置100は、上位ホスト200とのデータ転送を行うホストデータ制御部102と、当該上位ホスト200からの指令により所定のデータが読み書きされる複数のディスク媒体101とを備えている。そして、所定のデータが入出力されるキャッシュメモリ103及びその制御を行うメモリ制御部104と、キャッシュメモリ103に格納されているデータを複数のディスク101に対応してデータを加工するRAID制御部105と、キャッシュメモリ103と複数のディスク101とのデータ転送を行うディスクデータ制御部106と、ディスク101に読み書きされるデータを保証するデータ保証部107とを備えている。 【0004】ここで、従来例のディスクアレイ装置100におけるディスク101へのデータの書き込み動作を説明する。まず、ホストデータ制御部102は、上位ホスト200から書き込みデータを受信し、当該データをキャッシュメモリ103に格納する。続いて、RAID制御部105は、ディスク101が構成しているRAIDの状態に従って、メモリ内のデータを加工する。例えば、書き込み時にはデータを分割する。 【0005】続いて、データ保証部107は、誤り検出信号を含むトレーラを生成するトレーラ生成及びチェック回路108を持ち、ディスクデータ制御部106からの要求に従ってキャッシュメモリ103内のデータに対してトレーラを生成すると共に当該データに付加して、ディスクデータ制御部106に出力する。そして、ディスクデータ制御部106は、上記RAID制御部105にて分割されたデータを複数のディスク101に対して書き込みを行う。 【0006】また、データ読み出し時には、上記処理と逆の動作を行う。すなわち、まず、ディスクデータ制御部106にてディスク101から分割されたデータが読み出される。続いて、データ保証部107にてディスクデータ制御部106が出力するデータのトレーラチェックが行われ、トレーラを削除してキャッシュメモリ103に格納される。その後、RAID制御部105にて分割されているデータが組み上げられ、キャッシュメモリ103及びホストデータ制御102を介して、上位ホスト200へと転送される。 【0007】 【発明が解決しようとする課題】しかしながら、従来のディスクアレイ装置においては、以下のような不都合があった。すなわち、キャッシュメモリとディスクとのデータ転送中にトレーラの生成及びチェックを行うため、同時に起動するディスクとの転送用の信号数をトレーラ生成及びチェック回路数以上にすることができないという不都合が生じる。従って、ディスク媒体に対するデータの記憶再生時のデータ転送速度の向上を図ることができないという問題が生じる。 【0008】一方、データ転送の向上を図るべく、キャッシュメモリとディスクとの転送を行うインタフェースを増加した場合には、その増加数に対応してトレーラ生成及びチェック回路が必要なる。従って、トレーラ生成及びチェック回路が増加し、装置の複雑化及び製造コストの増加という問題が生じる。 【0009】 【発明の目的】本発明では、かかる従来例の有する不都合を改善し、特に誤り検出信号を含むトレーラの生成及びチェック動作を、ディスクに対するデータ転送とは独立して行い、同時に起動できるディスク転送数の制限を解除し、ディスクに対する記憶再生速度の向上を図ると共に、トレーラ生成及びチェック回路を削減し、製造コストの削減を図ることのできるディスクアレイ装置を提供することをその目的とする。 【0010】 【課題を解決するための手段】そこで、本発明では、複数のディスク媒体と、これら複数のディスク媒体に所定のデータを読み書きする複数の磁気ヘッドとを備えると共に、上位ホストからの指令にて複数のディスク媒体に読み書きされる所定のデータを複数のディスク媒体に対応して加工するRAID制御部を備えている。そして、RAID制御部の指令にて、所定のデータのディスク媒体への読み書きが正しいか否かをチェックするデータ保証部を備えた、という構成を採っている。 【0011】このような構成にすることにより、上位ホストからの指令によりディスク媒体にデータを書き込む時には、当該書き込むデータがRAID制御部により、例えばディスク媒体の数などに対応して分割されるというように加工される。当該加工されたデータはディスク媒体に書き込まれ、その後、読み出される。そして、当該データが書き込み及び読み出しによりエラーが発生していないかどうかというチェックがデータ保証部にて実行される。このとき、データ保証部は、書き込み及び読み出し動作とは別に、RAID制御部の指令にて作動するようになっている。従って、データ保証部が作動することにより、データの信頼性の維持することができると共に、当該データ保証部の動作に関わらず独立してディスクとのデータ転送を実行することができ、データの記憶再生速度の向上を図ることができる。 【0012】また、所定のデータを一時保持するキャッシュメモリと、このキャッシュメモリを介して所定のデータを複数のディスク媒体に読み書き制御するディスクデータ制御部とを備え、RAID制御部とデータ保証部とが、キャッシュメモリに記憶されている所定のデータに対して作動するようにすると望ましい。これにより、例えば上位ホストからの所定のデータはキャッシュメモリに記憶され、このキャッシュメモリを介してRAID制御部によるデータの加工、および、データ保証部によるデータのエラーチェックが行われる。そして、データのディスク媒体への読み書き制御はディスクデータ制御部にて実行されるため、データ保証部によるデータチェック動作から独立してディスクとのデータ転送を実行することができ、データの記憶再生速度の向上を図ることができる。 【0013】また、データ保証部が、所定のデータに対応した誤り検出符号を生成する符号生成機能と、この誤り検出符号をディスク媒体に書き込まれる所定のデータに付加する符号付加機能と、ディスク媒体から読み出された所定のデータから誤り検出符号を削除する符号削除機能とを備えると望ましい。これにより、データ書き込み時には、符号生成機能にてデータの誤りを検出する誤り検出符号が当該書き込まれるデータに基づいて生成され、この誤り検出符号が符号付加機能にて書き込まれる所定のデータに付加される。そして、データ読み出し時には、データのエラーがチェックされると共に、符号削除機能にて誤り検出符号が削除される。従って、これらの機能がキャッシュメモリを介して作動するため、これらの動作に関わらずディスクとのデータ転送を実行することができ、データの記憶再生速度の向上を図ることができる。ここで、誤り検出符号は、例えばCRCコードを含む符号である。 【0014】また、RAID制御部が、所定のデータがディスク媒体に書き込まれるデータである場合に当該所定のデータを分割するデータ分割機能と、所定のデータがディスク媒体から読み出されたデータである場合に当該所定のデータを組み上げるデータ組上機能とを備え、データ保証部が、分割された所定のデータに対応した誤り検出符号を生成する符号生成機能と、この誤り検出符号を分割された所定のデータに付加する符号付加機能と、データ組上機能にて組み上げられたデータから誤り検出符号を削除する符号削除機能とを備えてもよい。このようにしても、上記同様に作用し、上記目的を達成することができる。 【0015】さらに、RAID制御部を複数設けてもよい。このようにしても、複数のRAID制御部がデータ保証部を共用するため、データ保証部を増加する必要が無くなり、読み書き処理速度の向上を図りつつ、構造を複雑にすることとなく、製造コストの軽減を図ることができる。 【0016】 【発明の実施の形態】以下、本発明の一実施形態を、図1を参照して説明する。 【0017】図1は、本発明であるディスクアレイ装置1の構成を示すブロック図である。本発明のディスクアレイ装置1によると、複数のディスク媒体11に、分割されたデータを並列に記憶することでき、あるいは、複数のディスク媒体11から既に分散されて記憶されているデータを読み出すことができる。そして、書き込み及び読み出しされるデータには冗長性が与えられ、1つのディスク11に障害が発生した場合にも、データを再構築することができるようになっている。 【0018】このディスクアレイ装置1は、複数のディスク媒体11と、これら複数のディスク媒体11に所定のデータを読み書きする複数の磁気ヘッド(図示せず)とを備えると共に、上位ホスト2とデータ転送を行うホストデータ制御部12と、所定のデータを一時保持するキャッシュメモリ13と、このキャッシュメモリ13の入出力を制御するメモリ制御部14と、キャッシュメモリ13を介して所定のデータを複数のディスク媒体11に対応して加工するRAID制御部15と、同様にキャッシュメモリ13を介して所定のデータを複数のディスク媒体11に読み書き制御するディスクデータ制御部16と、RAID制御部15の指令にてキャッシュメモリ13内の所定のデータのディスク媒体11への読み書きが正しいか否かをチェックするデータ保証部17とを備えている。 【0019】以下、これを詳述する。 【0020】ディスクアレイ装置1は、パーソナルコンピュータ等の上位ホスト2に内蔵あるいは外付けされているハードディスクといった記憶装置である。このディスクアレイ装置1は、上位ホスト2にホストインタフェース18を介して接続されている。そして、ホストインタフェース18は、例えばSCSIインタフェースである。そして、このホストインタフェース18は、ディスクアレイ装置1のホストデータ制御部12に接続されている。 【0021】ホストデータ制御部12は、上位ホスト2からの指令により、ディスク媒体11に書き込むデータを当該上位ホスト2から受信、あるいは、ディスク媒体11から読み出したデータを当該上位ホスト2に送信するというように、当該上位ホスト2とデータ転送を行う。そして、ホストデータ制御部12は、さらにキャッシュメモリ13に接続されている。具体的には、このキャッシュメモリ13の入出力を制御するメモリ制御部14に接続されている。 【0022】キャッシュメモリ13は、所定の容量を有するRAMであり、上位ホスト2から受信したデータ、あるいは、当該上位ホスト2に送信すべきデータを一時的に保持する。従って、上記上位ホスト2からディスク媒体11への書き込み指令がなされたときは、書き込みデータをホストデータ制御部12が受信し、ホストデータ制御部12が書き込みデータをキャッシュメモリ13に出力するようになっている。そして、出力された書き込みデータは、メモリ制御部14によりキャッシュメモリ13に記憶される。一方、上位ホスト2からディスク媒体11からの読み出し指令がなされたときは、後述するようにディスク媒体11から読み出されたデータがメモリ制御部14によりキャッシュメモリ13に記憶される。そして、当該記憶された読み出しデータがメモリ制御部14によりホストデータ制御部12に入力され、当該ホストデータ制御部12にて上位ホスト2に送信されるようになっている。 【0023】RAID制御部15は、キャッシュメモリ13に一時保持されている書き込み及び読み出しデータを複数のディスク媒体11に対応して加工する。例えばRAID−3にて複数台のディスク装置にデータを記憶する場合には、そのパリティデータと共にデータを割り振って書き込むため、ディスク11の台数に応じて書き込みデータを分割する(データ分割機能)。また、読み出し時には、読み出しデータである分割データを組み上げ、データを復元する(データ組上機能)。この分割及び組上動作後に、当該加工されたデータは再びキャッシュメモリ13に記憶される。但し、RAID制御部15の加工動作は、上記動作に限定されるものではない。 【0024】データ保証部17は、RAID制御部15の指令にて、キャッシュメモリ13内の書き込み及び読み出しデータがエラー無く実行されているか否かをチェックする。具体的には、データ保持部17は、分割された所定のデータに対応した誤り検出符号を生成する符号生成機能と、この誤り検出符号を分割された所定のデータに付加する符号付加機能と、データ組上機能にて組み上げられたデータから誤り検出符号を削除する符号削除機能とを備えている。 【0025】符号生成機能は、例えば、巡回誤り検出(CRC)にてCRCコードを生成するCRC生成回路17bと、分割されたデータの管理情報(例えば、通し番号、アドレス等)を生成する付加データ生成回路17cとから成っている。ここで、上記CRC生成回路17bは、読み出しデータのCRCのチェックを、上記付加データ生成回路17cは、読み出しデータの付加データのチェックをも行う。また、符号付加機能は、上記CRCコードと付加データとのデータからなるトレーラを分割されたデータに付加するトレーラ付加回路17dから成っている。ここで、トレーラ付加回路17dは、読み出し対象であるディスクの情報から読み出す付加データの初期値を作成し、読み出す付加データの予測も行う。そして、符号削除機能は、読み出しデータのトレーラを削除するトレーラ削除回路17eから成っている。 【0026】さらに、データ保持部17は、トレーラ検出回路17a及びトレーラ格納部17fとを備えている。トレーラ検出回路17aは、読み出しデータの上記CRCコード及び付加データを含むトレーラを検出する。そして、検出されたトレーラはトレーラ削除回路17eにて削除され、当該トレーラはトレーラ格納部17fに格納される。すなわち、トレーラ格納部17fは、所定容量を有するメモリである。ここで、トレーラ格納部17fに格納されるトレーラは、トレーラチェックの終了後は削除されるため、当該トレーラ格納部17fの容量は少なくともトレーラサイズ(例えば、8Byte)と等しい容量であれば足りる。 【0027】また、ディスクデータ制御部16は、ディスク11に対してデータの書き込み及び読み出しを行う。すなわち、分割されたデータを、キャッシュメモリ13を介してディスク11に記憶再生している。このとき、ディスクデータ制御部16と各ディスク11とは、ディスクインタフェース19にて接続されている。 【0028】次に、本実施形態の動作を、ディスク11へのデータの書き込み動作とディスク11からのデータの読み出し動作とに分けて説明する。 【0029】書き込み動作の場合は、まず、上位ホスト2からデータの書き込み指令がなされると、当該上位ホスト2からの書き込みデータをホストデータ制御部12が受信し、キャッシュメモリ13に記憶を行う。続いて、RAID制御部15は、このキャッシュメモリ13に格納されているデータを当該キャッシュメモリ13から取り出し、書き込みデータが格納されうるディスク11の状態(RAID情報)に合わせて、データの加工(EXORの処理等)を行い、その後キャッシュメモリ13に格納する。また、RAID制御部15は、この加工されたデータを再びキャッシュメモリ13から取り出し、CRC生成回路17bを使用して、書き込みデータのCRCを計算する。さらに、書き込みを行うディスク11の情報から付加データの初期値を作成し、付加データ生成回路17cを使用して付加データを計算する。そして、生成されたCRCコードと付加データとを併せてトレーラとし、当該トレーラをトレーラ追加回路17dを使用して書き込みデータに付加してデータを変換し、キャッシュメモリ13に格納する。また、トレーラの追加位置はトレーラ検出回路17aの指示による。続いて、ディスクデータ制御部16は、トレーラが付加されたデータをキャッシュメモリ13から取り出し、ディスク11に転送して記憶する。 【0030】一方、読み出し動作は、まず、ディスク11から磁気ヘッド(図示せず)によりデータが読み出され、当該読み出しデータをディスクデータ制御部16が受信しキャッシュメモリ13に格納する。続いて、RAID制御部15がキャッシュメモリ13に格納されている読み出しデータを当該キャッシュメモリ13から取り出し、トレーラ検出回路17aにて当該読み出しデータのトレーラ部分が検出される。検出されたトレーラは、トレーラ削除回路17eにて削除され、トレーラ格納部17fに格納される。また、読み出したデータにエラーが無いか否かのチェックを行うため、あらかじめ読み出したデータからCRC生成回路17bを使用してCRCコードが生成されると共に、付加データ生成回路にて、読み出しをするディスク11の情報から付加データの初期値が予測されて作成され、これらからチェック用のトレーラが作成される。そして、このチェック用のトレーラと、上記読み出しデータから削除されトレーラ格納部17fに格納されたトレーラとが比較されることにより、読み出しによるエラーの検出を行う。その後、トレーラが削除された読み出しデータは、再びキャッシュメモリ13に格納される。続いて、さらにRAID制御部15が、読み出しデータが格納されていたディスク11の状態(RAID情報)に合わせてデータの加工(EXORの処理等)を行う。そして、ホストデータ制御部12は、加工されたデータをキャッシュメモリ13から上位ホスト2に転送する。 【0031】このようにすることにより、ディスク11への読み書きにおける誤り検出処理であるトレーラ生成及びチェック動作をメモリ上で行っているので、ディスク11との転送と、トレーラ生成及びチェック動作とを独立して行うことができる。従って、トレーラ生成及びチェック動作に関係なくディスク11との転送を複数同時に行うことができ、当該ディスク11への記憶再生速度の向上を図ることができる。 【0032】さらに、RAID制御部15の一動作としてトレーラ付加及びチェック動作を追加しているので、トレーラ生成及びチェック回路を、同時に起動するディスク11との転送信号数に対応して追加することがないため、回路の削減ができ、ディスクアレイ装置1の製造コストの削減を図ることができる。 【0033】次に、本発明の他の実施形態を、図2を参照して説明する。図2は、本発明の他の実施形態の構成を示すブロック図である。 【0034】当該他の実施形態は、図1に示すディスクアレイ装置1とほぼ同一の構成要素を備えている。そして、図2に示すディスクアレイ装置2は、さらに、複数のRAID制御部15A,15Bを備えると共に、当該RAID制御部15A,15Bによるトレーラ生成及びチェック回路使用要求の競合処理を行うアービタ20を備えている。 【0035】当該他の実施形態の動作を説明する。ディスク11への書き込み動作は、まず、上位ホスト2からの複数の読み書きデータを、ホストデータ制御部12が受信してキャッシュメモリ13に格納を行う。この書き込みデータごとにRAID制御部15A,15Bを使用してデータの加工、トレーラの生成を行う。また、トレーラの生成回路17を使用する要求の競業処理であるアービトレーションを行い、使用許可が与えられたRAID制御部15A,15Bがトレーラの生成回路17を使用できる。ディスクデータ制御部16はトレーラの生成及び付加が終わったデータをディスク11に送信する。 【0036】読み出し動作は、まず、ディスクデータ制御部16が読み出しデータが格納されているディスク11からデータを取り出してキャッシュメモリ13に格納する。続いて、RAID制御部15A,15Bは、トレーラのチェック及び削除を行い加工して読み出しデータを再構築する。読み出し時も同様にトレーラのチェック回路を使用するためにアービトレーションを行う。そして、ホストデータ制御部12は再構築された読み出しデータを上位ホスト2に送信する。 【0037】このようにすることにより、複数のRAID制御部15A,15Bによりトレーラ生成及びチェック回路17を共用するので、当該RAID制御部15A,15Bを複数搭載してもトレーラ生成及びチェックを実行する回路17の増加を抑制することができ、ディスク11への読み書き速度の高速化と、ディスクアレイ装置1の製造コストの削減を図ることができる。さらに、本実施形態において、上位ホスト2とホストデータ制御部12とを接続するホストインタフェース18、あるいは、ディスクデータ制御部16とディスク11とを接続するディスクインタフェース19は複数接続してもよい。この場合にも、RAID制御部15A,15Bを追加するにも関わらずトレーラ生成等の回路17を増加する必要が無く、装置1内部の回路の増加を抑制することができる。 【0038】 【発明の効果】以上説明したように、本発明のディスクアレイ装置では、複数のディスク媒体と、これら複数のディスク媒体に所定のデータを読み書きする複数の磁気ヘッドとを備えると共に、上位ホストからの指令にて複数のディスク媒体に読み書きされる所定のデータを複数のディスク媒体に対応して加工するRAID制御部を備え、RAID制御部の指令にて、所定のデータのディスク媒体への読み書きが正しいか否かをチェックするデータ保証部を備えたので、上位ホストからの指令によりディスク媒体にデータを書き込む時には、当該書き込むデータがRAID制御部により加工されると共に、当該加工されたデータにメモリ上にてデータ保証部が作動して保証データが付加されてディスク媒体に書き込まれ、また、読み出されるときには、当該データが書き込み及び読み出しによりエラーが発生していないかどうかというチェックがRAID制御部の指令によりデータ保証部にて実行され、このとき、データ保証部は、書き込み及び読み出し動作とは独立して作動するようになっているため、データ保証部が作動することによりデータの信頼性を維持しつつ、データ保証部の動作に関わらず独立してディスクとのデータ転送を実行することができ、データの記憶再生速度の向上を図ることができる、という従来にない優れた効果を有する。
|
| 【出願人】 |
【識別番号】390001395 【氏名又は名称】エヌイーシーシステムテクノロジー株式会社
|
| 【出願日】 |
平成12年10月27日(2000.10.27) |
| 【代理人】 |
【識別番号】100079164 【弁理士】 【氏名又は名称】高橋 勇
|
| 【公開番号】 |
特開2002−132459(P2002−132459A) |
| 【公開日】 |
平成14年5月10日(2002.5.10) |
| 【出願番号】 |
特願2000−328201(P2000−328201) |
|