(57)【要約】【課題】ハードディスクとシリコンディスクを使用して読み込み時のランダムアクセス性能を向上させるディスク制御システムを提供することを目的とする。【解決手段】ハードディスクとシリコンディスクのミラーリングを行うディスク制御システムにおいて、コンピュータシステムからの書き込みのアクセス要求に対しては、ハードディスクとシリコンディスクにミラーリングの書き込みを行う。また、コンピュータシステムからの読み込みのアクセス要求に対しては、そのアクセス要求を、ハードディスクのシークの間にシリコンディスクから転送する第１のアクセス要求と、ハードディスクのシークを終えてからシリコンディスクから転送したデータの続きをハードディスクから転送する第２のアクセス要求とに分割し、それらのアクセス要求を並行して実行する。これにより、読み込みのアクセス性能を向上させることができる。【選択図】図２
2009223355.tif 000002
【特許請求の範囲】
【請求項１】
データを格納するハードディスクおよび該ハードディスクと同じ内容を格納するシリコンディスクを制御し、それらに格納するデータのミラーリングを実現するディスク制御システムであって、
コンピュータシステムからの書き込みのアクセス要求があったとき、該要求に応じて、前記ハードディスクと前記シリコンディスクにミラーリングの書き込みを行う手段と、
コンピュータシステムからの読み込みのアクセス要求があったとき、該アクセス要求を、前記ハードディスクのシークの間に前記シリコンディスクから転送する第１のアクセス要求と、前記ハードディスクのシークを終えてから前記シリコンディスクから転送したデータの続きを前記ハードディスクから転送する第２のアクセス要求とに分割し、前記シリコンディスクに対する前記第１のアクセス要求の実行と前記ハードディスクに対する前記第２のアクセス要求の実行とを並行して行う手段と
を備えたことを特徴とするディスク制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの外部記憶装置のデータを高速に読み込むディスク制御システムに関するものである。
【背景技術】
【０００２】
一般的なコンピュータシステムでは、処理に使用するデータをハードディスクなどの外部記憶装置に格納するが、ハードディスクの障害によってコンピュータシステムが稼働できなくなったり、格納したデータが失われることを防ぐため、ハードディスクを冗長化する手法が用いられる。
【０００３】
ハードディスクの冗長化には、同じ内容のデータを複数のハードディスクに書き込むミラーリングや、複数のハードディスクにデータと誤り訂正符号を記録し、１つのハードディスクに障害が発生しても残りのハードディスクの情報からデータを復元してアクセスすることを可能にするRAID 5（Redundant Arrays of Inexpensive Disks Level 5）などの技術が、一般的に使われる。
【０００４】
また、ハードディスクの冗長化に対して、ハードディスクとシリコンディスクとを組み合わせて性能向上を実現する技術がある。下記特許文献１では、RAID 5のハードディスクの構成に誤り訂正符号を記録するシリコンディスクを追加することによって、誤り訂正符号のアクセス時間を短縮し、データのアクセス性能を改善している。
【特許文献１】特開平６−３２４８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ハードディスクでは、転送したいデータが存在する磁気ディスク上の位置に磁気ヘッドを機械的に動かし、その後にデータを転送する。ここで、ハードディスクの磁気ヘッドをデータの存在する位置へ移動する動作をシークという。
【０００６】
そのため、複数のアクセス要求のデータが磁気ディスク上で隣接していない場合、データ転送の時間に加えてシークの時間が掛かり、アクセスが完了するまでの時間が長くなる問題がある。
【０００７】
この問題に対し、ハードディスクにデータキャッシュを組み込み、データの書き込み時は、データキャッシュにデータを蓄積した後にコンピュータシステムに書き込みの完了を返し、その後にデータキャッシュ内のデータをハードディスクへ転送することで、コンピュータシステムから見える書き込み時間を短縮することが可能である。データの読み込み時も、読み込むデータをあらかじめ予測してデータキャッシュにデータを置くことができれば読み込み時間を短縮することが可能であるが、シーケンシャルアクセス以外では読み込むデータを正確に予測することはできないため、一般的には読み込み時間を短縮することはできない。
【０００８】
一方、磁気ヘッドを持たないためシーク時間が掛からない外部記憶装置としてフラッシュメモリを利用したシリコンディスクがあるが、連続したデータを読み出す場合のアクセス時間はハードディスクより劣っている。
【０００９】
前記特許文献１に記載の技術では、ハードディスクとシリコンディスクとを組み合わせることで誤り訂正符号のアクセスの時間を短縮するが、シーク時間を短縮することはできず、ランダムアクセス性能の改善は見込めない。
【００１０】
本発明の目的は、ハードディスクとシリコンディスクを使用して読み込み時のランダムアクセス性能を向上させるディスク制御システムを提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明に係るハードディスクとシリコンディスクのミラーリングを行うディスク制御システムでは、コンピュータシステムからの書き込みのアクセス要求に対しては、ハードディスクとシリコンディスクにミラーリングの書き込みを行う。一方、コンピュータシステムからの読み込みのアクセス要求に対しては、そのアクセス要求を、ハードディスクのシークの間にシリコンディスクから転送する第１のアクセス要求と、ハードディスクのシークを終えてからシリコンディスクから転送したデータの続きをハードディスクから転送する第２のアクセス要求とに分割し、それらのアクセス要求を並行して実行する。
【発明の効果】
【００１２】
本発明によれば、コンピュータシステムがランダムアクセスでデータの読み込みを要求した場合、ハードディスクのシーク動作の間にランダムアクセス性能の高いシリコンディスクからデータを転送し、シーク動作後にはシーケンシャルアクセス性能の高いハードディスクからデータを転送することができる。これにより、ハードディスクのみまたはシリコンディスクのみよりも読み込みのアクセス性能を向上させることができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を用いて本発明の実施の形態を説明する。
【００１４】
図１は、本発明の一実施形態に係るシステム構成図である。本システムは、コンピュータシステム１０１と、それに接続する外部記憶装置１０５から構成される。外部記憶装置１０５は、コンピュータシステム１０１からアクセス要求を受け取りミラーリングを実現するディスク制御システム１０２と、ディスク制御システム１０２によって制御されるハードディスク１０３およびシリコンディスク１０４から構成される。
【００１５】
本システムにおいて、ディスク制御システム１０２が行うデータの書き込みや、ハードディスク１０３またはシリコンディスク１０４に障害が発生した場合に正常なディスクだけでアクセスを行う動作などは、従来のミラーリングと同じである。ここでは、本発明の特徴とするところの動作、すなわち従来のミラーリングの動作と異なる、ハードディスク１０３とシリコンディスク１０４のいずれも障害が発生していない状態でのデータの読み込みの動作について、説明する。
【００１６】
コンピュータシステム１０１がデータの読み込みを行う場合、ディスク制御システム１０２にデータの読み込みを要求し、ディスク制御システム１０２は、その要求に応じて、ハードディスク１０３とシリコンディスク１０４の両方、またはシリコンディスク１０４のみからデータを転送する。
【００１７】
図２は、図１のシステムにおけるデータの読み込み要求発生時の処理を示すフローチャートである。コンピュータシステム１０１で読み込み要求が発生すると、ディスク制御システム１０２は、読み込むデータの位置Lr（位置はLogical Block単位のLogical Block Addressとする）とデータサイズSr（Logical Blockを単位とする）をコンピュータシステム１０１から取得する（ステップ２０１）。
【００１８】
ディスク制御システム１０２は、シリコンディスク１０４から読み込むデータの位置L1と転送サイズS1を求める（ステップ２０２）。シリコンディスク１０４の読み込み位置L1はデータの位置Lrと同じとする（なお、ハードディスク１０３とシリコンディスク１０４は同じLogical Block単位のアドレスでアクセスできるアドレッシング方式が実装されているものとする）。また、シリコンディスク１０４から読み込むデータのサイズS1は、S1＝（｜Cr−Cc｜）÷Vh×Tsで計算する。ここで、Crは読み込むデータが存在するハードディスクのシリンダ番号であり、Cr＝L1÷（１トラック当たりのセクタ数×１シリンダ当たりのヘッド数）である。Ccは直近に転送したデータのシリンダ番号である。Vhはハードディスク１０３の磁気ヘッドの移動速度（シリンダ/sec）、Tsはシリコンディスク１０４の読み込みの転送速度（セクタ/sec）である。従って、上記S1は、ハードディスクのヘッドがシリンダ間をシークする時間でシリコンディスク１０４から転送できるだけのデータサイズを示していることになる。なお、１セクタ＝１ブロックである。ただし、ハードディスク１０３のシーク中に要求されたすべてのデータをシリコンディスク１０４から転送できる場合、S1＝Srとする。
【００１９】
次に、ディスク制御システム１０２は、ハードディスク１０３から読み込むデータの位置L2と転送サイズS2を求める（ステップ２０３）。データの位置L2はL2＝Lr+S1、データの転送サイズS2はS2＝Sr-S1とする。ディスク制御システム１０２は、転送サイズS2が0でない場合、データの位置L2、転送サイズS2の読み込み要求をハードディスク１０３に発行する（ステップ２０４,２０５）。ディスク制御システム１０２は、ハードディスク１０３の読み込み完了を待つことなく次のステップへ進む。ステップ２０４でS2＝0なら、ステップ２０６に進む。ディスク制御システム１０２は、データの位置L1、転送サイズS1の読み込み要求をシリコンディスク１０４に発行し（ステップ２０６）、シリコンディスク１０４からの転送を完了するまで待つ（ステップ２０７）。ディスク制御システム１０２は、転送サイズS2が0でない場合、ハードディスク１０３からの転送が完了するまで待つ（ステップ２０８,２０９）。データの転送が全て完了した時点で読み込み処理を終了する。ステップ２０８でS2＝0なら、すでにデータ転送は完了しているということだから、そのまま終了する。
【００２０】
図３は、シリコンディスク１０４とハードディスク１０３の両方からデータを転送する場合のデータの読み込みのタイムチャートである。
【００２１】
コンピュータシステム１０１で読み込み要求が発生(３０１)すると、ハードディスク１０３は、読み込むためにシーク動作(３０３)を開始し、同時にハードディスク１０３のシーク動作の間にシリコンディスク１０４から転送できるデータのサイズを求め、そのサイズ分のデータをシリコンディスク１０４から転送する(３０５)。ハードディスク１０３のシーク動作(３０３)が終わった後、シリコンディスク１０４から転送したデータの続きをハードディスク１０３から転送する(３０４)。ハードディスク１０３の転送(３０４)が終わったところで、全体の読み込みが完了する(３０２)。
【００２２】
上記実施形態によれば、ハードディスク１０３のシーク時間にシリコンディスク１０４から転送を行うことで、シーク中にデータを読み込むことができ、読み込みのランダムアクセス性能を高めることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態を示すシステム構成図である。
【図２】データの読み込み要求発生時の処理を示すフローチャートである。
【図３】データの読み込みのタイムチャートである。
【符号の説明】
【００２４】
１０１…コンピュータシステム、１０２…ディスク制御システム、１０３…ハードディスク、１０４…シリコンディスク、１０５…外部記憶装置。
【図１】
2009223355.tif 000003
【図２】
2009223355.tif 000004
【図３】
2009223355.tif 000005