(57)【要約】【課題】複数のＨＤＤを有する場合において、ＨＤＤの記録領域に応じたデータの転送速度の相違を利用して、データの転送速度を向上させることのできるハードディスク制御装置及びハードディスク装置を提供する。【解決手段】ＨＤＤ−０の記録領域を、データ転送速度が高速である外周側の記録領域０とそれより低速の内周側の記録領域１とに区分するとともに、ＨＤＤ−１の記録領域を、同様に、データ転送速度が高速である外周側の記録領域２とそれより低速の内周側の記録領域３とに区分する。そして、通常では、記録領域０〜３に対して、記録領域０、記録領域１、記録領域２、記録領域３の順にアドレスが設定されるところ、データ転送速度が高速である記録領域０と記録領域２とを連続するアドレスに設定し、それより低速の記録領域１と記録領域３とをその後のアドレスに設定する。【選択図】図２
2007286973.tif 000002
【特許請求の範囲】
【請求項１】
データの転送速度が異なる複数の記録部位をそれぞれ有する複数のハードディスクドライブに対してデータの転送処理を行うハードディスク制御装置であって、
前記各ハードディスクドライブの記録部位をそれぞれ前記データの転送速度に応じて区分し、区分した複数の記録部位のアドレスを、略同一の転送速度を有する記録部位のアドレスが連続するように変換するアドレス変換部を有することを特徴とするハードディスク制御装置。
【請求項２】
当該ハードディスク制御装置にコマンドが入力されると、前記アドレス変換部により変換されたアドレスに基づき、該コマンドにしたがって前記ハードディスクドライブに対する転送処理を行う転送部を有することを特徴とする請求項１に記載のハードディスク制御装置。
【請求項３】
前記コマンドにしたがって転送処理を行うべき対象の記録部位が、複数のハードディスクドライブに跨るものであるとき、前記コマンドに基づく新たなコマンドを生成し、生成した各コマンドを前記複数のハードディスクドライブに対してそれぞれ出力することを特徴とする請求項２に記載のハードディスク制御装置。
【請求項４】
前記コマンドにしたがって転送処理を行うべき対象の記録部位が、複数のハードディスクドライブに跨るものであるとき、前記複数のハードディスクドライブに対する転送処理が全て完了した時点で、その旨を前記コマンドの出力元に通知することを特徴とする請求項２または３に記載のハードディスク制御装置。
【請求項５】
前記転送部は、リアルタイム性を要するデータを、前記ハードディスクドライブの記録部位のうちデータ転送速度が高速の記録部位に転送し、リアルタイム性を要しないデータを、データ転送速度が低速の記録部位に転送することを特徴とする請求項２ないし４のいずれかに記載のハードディスク制御装置。
【請求項６】
データの転送速度が異なる複数の記録部位をそれぞれ有する複数のハードディスクドライブと、
前記ハードディスクドライブに対してデータの転送処理を行う請求項１ないし５のいずれかに記載のハードディスク制御装置とを備えるハードディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録部位に応じてデータの転送速度が異なる複数のハードディスクドライブを含み、該ハードディスクドライブに対してデータの転送処理を行うハードディスク制御装置及びハードディスク装置に関するものである。
【背景技術】
【０００２】
従来、ハードディスクドライブに対してデータの転送処理を行うハードディスク装置において、データの転送速度を向上させる方法が種々提案されている。
【０００３】
下記特許文献１には、この種のハードディスク装置において、トラック単位でディスクにアクセスすることにより、磁気ヘッドをディスクの所定位置に移動させるまでのシーク時間と、目的のセクタが磁気ヘッドの真下に到達するまでの回転待ち時間との削減によるデータの転送速度の向上を図る技術が開示されている。
【０００４】
下記特許文献２には、複数のホスト計算機で複数のＨＤＤを共有する計算機システムにおいて、ホスト計算機が内部で論理ユニットを管理するための番号とディスク装置内部で論理ユニットを管理するための番号とを管理する技術が提案されている。
【特許文献１】Ｗ０２００３／０７１５３４号公報
【特許文献２】特開２０００−３２２３６９公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ＨＤＤの外周側の記録部位は、データの転送速度が速く、内周側の記録部位はデータの転送速度が遅い。一方、ＨＤＤに対してデータの転送処理を行う際に、例えば動画の記録や再生などリアルタイムでデータの転送処理が必要となる場合と、単なる保存だけのリアルタイム性を要しない場合とがある。
【０００６】
したがって、データの転送処理を行うに際してデータの高い転送速度が要求される場合とそうでない場合とで、使用するＨＤＤの記録部位を使い分けると、リアルタイム性を要するデータであってもデータの転送速度が遅い内周側の記録部位を使用する場合に比して、ＨＤＤへのデータの転送時間の短縮化を図ることができると考えられる。
【０００７】
なお、前記引用文献１，２は、ＨＤＤの記録部位には、データの転送速度が速い記録部位と遅い記録部位とが存在することに着眼してＨＤＤへのデータの転送時間の短縮化を図る技術を提案したものではない。
【０００８】
本発明は、従来のかかる状況に鑑みなされたものであって、複数のＨＤＤを有する場合において、ＨＤＤの記録部位に応じたデータの転送速度の相違を利用して、ＨＤＤへのデータの転送時間の短縮化を図ることのできるハードディスク制御装置及びハードディスク装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、データの転送速度が異なる複数の記録部位をそれぞれ有する複数のハードディスクドライブに対してデータの転送処理を行うハードディスク制御装置であって、前記各ハードディスクドライブの記録部位をそれぞれ前記データの転送速度に応じて区分し、区分してなる複数の記録部位のアドレスを、略同一の転送速度を有する記録部位のアドレスが連続するように変換するアドレス変換部を有することを特徴とするものである。
【００１０】
この発明によれば、各ハードディスクドライブの記録部位をそれぞれ前記データの転送速度に応じて区分し、区分してなる複数の記録部位のアドレスを、略同一の転送速度を有する記録部位のアドレスが連続するように変換するようにしたので、前記複数のハードディスクドライブにそれぞれ存在する、例えば高速のデータ転送速度を有する記録部位のアドレスを連続させることができる。
【００１１】
請求項２に記載の発明は、請求項１に記載のハードディスク制御装置において、当該ハードディスク装置にコマンドが入力されると、前記アドレス変換部により変換されたアドレスに基づき、該コマンドにしたがって前記ハードディスクドライブに対する転送処理を行う転送部を有することを特徴とするものである。
【００１２】
この発明によれば、当該ハードディスク制御装置にコマンドが入力されると、前記アドレス変換部により変換されたアドレスに基づき、該コマンドにしたがって前記ハードディスクドライブに対する転送処理を行うようにしたので、一連のデータを、アドレスが連続する、例えば高速のデータの転送速度を有する各記録部位に転送することができる。したがって、高速で転送処理を行う必要があるデータを可能な限り高速で転送することができる。
【００１３】
また、ハードディスク制御装置が前記アドレス変換とアドレス変換後の記録部位に対するデータの転送処理とを行うため、前記コマンドの出力元は、該ハードディスク制御装置にコマンドを出力する際に、前記ハードディスクドライブのアドレス変換後のアドレスを考慮する必要はなくなる。
【００１４】
請求項３に記載の発明は、請求項２に記載のハードディスク制御装置において、前記コマンドにしたがって転送処理を行うべき対象の記録部位が、複数のハードディスクドライブに跨るものであるとき、前記コマンドに基づく新たなコマンドを生成し、生成した各コマンドを前記複数のハードディスクドライブに対してそれぞれ出力することを特徴とするものである。
【００１５】
この発明によれば、前記コマンドにしたがって転送処理を行うべき対象が複数のハードディスクドライブにおける複数の記録部位であるとき、前記コマンドに基づく新たなコマンドを生成し、生成した各コマンドを前記複数のハードディスクドライブに対してそれぞれ出力するようにしたので、前記コマンドにしたがって転送処理を行うべき対象が複数のハードディスクドライブにおける複数の記録部位であっても、それらの記録部位に対して連続したデータの転送処理を実現することができる。
【００１６】
請求項４に記載の発明は、請求項２または３に記載のハードディスク制御装置において、前記コマンドにしたがって転送処理を行うべき対象の記録部位が、複数のハードディスクドライブに跨るものであるとき、前記複数のハードディスクドライブに対する転送処理が全て完了した時点で、その旨を前記コマンドの出力元に通知することを特徴とするものである。
【００１７】
この発明によれば、前記コマンドにしたがって転送処理を行うべき対象の記録部位が、複数のハードディスクドライブに跨るものである場合において、例えば、各記録部位に対する転送処理がそれぞれ完了するたびにその旨をコマンドの出力元に通知するようにしたときには、コマンド出力元は、前記通知を受け取るたびに、何らかの処理を実行しなければならず、負荷が大きくなる。これに対し、本発明のように、前記複数のハードディスクドライブに対する転送処理が全て完了した時点で、その旨を前記コマンドの出力元に通知することで、前記通知の受取りによって発生する処理を省略出来る分、前記コマンドの出力元にかかる負荷（負担）を軽減することができる。
【００１８】
請求項５に記載の発明は、請求項２ないし４のいずれかに記載のハードディスク制御装置において、前記転送部は、リアルタイム性を要するデータを、前記ハードディスクドライブの記録部位のうちデータ転送速度が高速の記録部位に転送し、リアルタイム性を要しないデータを、データ転送速度が低速の記録部位に転送することを特徴とするものである。
【００１９】
この発明によれば、転送対象のデータが例えばリアルタイム性を要するか否かに応じて、高速のデータ転送速度を有する記録部位と低速のデータ転送速度を有する記録部位とを使い分けることができる。
【００２０】
請求項６に記載の発明は、データの転送速度が異なる複数の記録部位をそれぞれ有する複数のハードディスクドライブと、前記ハードディスクドライブに対してデータの転送処理を行う請求項１ないし５のいずれかに記載のハードディスク制御装置とを備えるハードディスク装置である。
【００２１】
この発明によれば、ハードディスク装置において、請求項１ないし５のいずれかに記載の発明による作用が得られる。
【発明の効果】
【００２２】
本発明によれば、リアルタイム性を要するデータであってもデータの転送速度が遅い内周側の記録部位を使用する場合に比して、ハードディスクドライブへのデータの転送時間の短縮化を図ることができるとともに、コマンドの出力元にハードディスクドライブのアドレス変換後のアドレスを考慮（意識）させることなく、アドレスが連続する、例えば高速のデータの転送速度を有する各記録部位に一連のデータを転送することができる。
【発明を実施するための最良の形態】
【００２３】
本発明に係るハードディスク装置の実施形態について説明する。図１は、ハードディスク装置を含む情報処理システムの電気的な構成を示すブロック図である。
【００２４】
図１に示すように、情報処理システム１は、ＣＰＵ（Central Processing Unit）２と、メモリ３と、ハードディスク装置４とが、バス５を介して互いに通信可能に構成されている。
【００２５】
ＣＰＵ２は、メモリ３に記憶されているプログラムにしたがって各種の処理を実行するものである。メモリ３は、例えば前記プログラムを記憶するＲＯＭ（Read Only Memory）や一時的にデータを記憶するＲＡＭ（Random Access Memory）等で構成されている。
【００２６】
本実施形態では、メモリ３に記憶されているプログラムとして、情報処理システム１を管理する第１のプログラムと、第１のプログラムをベースに起動する第２のプログラムを想定する。
【００２７】
ハードディスク装置４は、ハードディスクドライブ（以下、ＨＤＤという）６と、ハードディスクコントローラ（以下、ＨＤＣという）７とを備えて構成されている。
【００２８】
ＨＤＤ６は、データを記憶する記録媒体を含み、スピンドルモータにより回転駆動され、磁気ヘッドによりデータの読み書きが行われる。
【００２９】
ＨＤＣ７は、ＩＤＥ（Integrated Drive Electronics）やＳＣＳＩ（Small Computer System Interface）等のインターフェースを介してＣＰＵ２に通信可能に接続されており、ＣＰＵ２から出力されるコマンドにしたがってＨＤＤ６にデータの書き込みや読み出しなどの転送処理を実行するものである。
【００３０】
以上のような構成を有する情報処理システム１において、本実施形態では、ＨＤＤ６の外周側の記録領域（記録部位）は内周側の記録領域に比してデータの転送速度が高速であることに着目して、次のように各ＨＤＤ６の記録領域のアドレスを設定するようにしている。図２は、本実施形態の特徴部分である、各ＨＤＤ６の記録領域に対するアドレス設定の説明図である。
【００３１】
図２に示すように、本実施形態のハードディスク装置４には、ＨＤＤ−０，ＨＤＤ−１の２つのＨＤＤ６が搭載されているものとする。このとき、本実施形態では、ＨＤＤ−０の記録領域を、データ転送速度が高速である外周側の記録領域０とそれより低速の内周側の記録領域１とに区分するとともに、ＨＤＤ−１の記録領域を、同様に、データ転送速度が高速である外周側の記録領域２とそれより低速の内周側の記録領域３とに区分する。
【００３２】
そして、従来では、図２（ｂ）に示すように、記録領域０〜３に対して、記録領域０、記録領域１、記録領域２、記録領域３の順にアドレスが設定されるところ、本実施形態では、前記第１のプログラムが起動すると、ＣＰＵ２は、該第１のプログラムにしたがって、アドレス変換の指示をアドレス変換部７ａに出力し、アドレス変換部７ａは、この指示を受けて、図２（ｃ）に示すように、データ転送速度が高速である記録領域０と記録領域２とが連続するように、前記記録領域０及び記録領域２のアドレスを変換し、それより低速の記録領域１と記録領域３とをその後のアドレスとなるように前記記録領域１及び記録領域３のアドレスを変換する。以下、アドレス変換後のアドレスを変換後アドレスというものとする。なお、図２（ｂ），（ｃ）において、「（速）」と記された領域は、データ転送速度が高速の記録領域であることを示し、「（遅）」と記された領域は、データ転送速度が低速の記録領域であることを示す。
【００３３】
転送部７ｂは、ＨＤＤ６に対してデータの転送処理を行うものである。転送部７ｂは、前記第２のプログラムを実行中のＣＰＵ２からデータの転送処理を行う指示（コマンド）を受けると、この指示とともにＣＰＵ２から送られてきた、前記データを記録するべき先頭アドレス（アドレス変換前のアドレス）及び該データのデータサイズに対応する変換後アドレスに、前記データの転送処理を行う。
【００３４】
ここで、前記データが、例えばリアルタイム性を要するデータ（例えば動画データ）である場合には、データ転送速度が高速の記録領域０又は記録領域２に書き込まれる一方、前記データが、例えばリアルタイム性を要しないデータ（例えば静止画データ）である場合には、データ転送速度が低速の記録領域１又は記録領域３に書き込まれる。
【００３５】
このように、本実施形態では、前記第２のプログラムが起動したとき、ＨＤＣ７は、該第２のプログラムを実行中のＣＰＵ２に対して、あたかも、データ転送速度が高速のＨＤＤ−０’（記録領域０＋記録領域２）と、それよりデータの転送速度が低速のＨＤＤ−１’（記録領域１＋記録領域３）とが存在しているかのようにみせている。
【００３６】
ところで、このようなアドレス変換を行うことに起因して、複数のＨＤＤ６にまたがって、すなわち、前述の例では、記録領域０と記録領域２とに跨って、あるいは記録領域２と記録領域１とに跨って、又は記録領域１と記録領域３とに跨って一連のデータの転送処理を行う必要が生じる場合がある。この場合には、ＨＤＣ７は新たなコマンドを発行（コマンドを分割）した上で、ＣＰＵ２から出力された元のコマンドに関する処理を完了させ、新たに発行されたコマンドに基づいて、前記処理が完了した記録領域の次のアドレスの記録領域に対する転送処理を実行するようにするとよい。
【００３７】
例えば、ＣＰＵ２から出力される１つのコマンドによるＨＤＣ７のアクセスの対象が、前記記録領域０及び記録領域２であるとき、ＨＤＣ７は新たなコマンドを発行した上で、記録領域０に対する転送処理を完了させ、新たに発行されたコマンドに基づいて記録領域２に対する転送処理を実行するようにするとよい。
【００３８】
また、本実施形態では、ＨＤＣ７は、各ＨＤＤ６に対するデータの転送処理が全て完了した時点で、その旨を、前記第２プログラムを実行中のＣＰＵ２に通知するように設計されている。これにより、前記第２プログラムを実行中のＣＰＵ２の負荷を軽減することができる。
【００３９】
すなわち、前記コマンドが、複数のＨＤＤ６における複数の記録領域に対する転送処理を指示するものである場合において、例えば、各記録領域に対する転送処理がそれぞれ完了した時点でその旨を前記第２プログラムを実行中のＣＰＵ２に通知するように構成すると、前記第２のプログラムを実行中のＣＰＵ２は、その通知を受け取るたびに、何らかの処理を実行しなければならないため、前記ＣＰＵ２にかかる負荷が大きくなる。これに対し、本実施形態のように、前記転送処理が全て完了した時点でその旨を前記ＣＰＵ２に通知することで、ＣＰＵ２は、この通知に対する所定の処理を行うだけで済むから、前述の場合に比してＣＰＵ２にかかる負荷を軽減することができる。
【００４０】
図３は、ＨＤＣ７の処理を示すフローチャートである。
【００４１】
図３に示すように、ＨＤＣ７は、例えば起動時にＨＤＤ６の数ｍを認識する（ステップ♯１）。次に、ＨＤＣ７は、前記第１のプログラムを実行中のＣＰＵ２からＨＤＤ６のアドレスを変換する旨の指示を受けると、この指示にしたがって、略同一のデータ転送速度を有する記録領域ごとにＨＤＤ６の記録領域を区分する（ステップ♯２）。ＨＤＣ７は、全てのＨＤＤ６に対する記録領域の区分が完了したか否かを判断し（ステップ♯３）、完了していない場合には（ステップ♯３でＮＯ）、区分対象のＨＤＤ６を変更した上で（ステップ♯４）、ステップ♯２の処理を実行する。
【００４２】
一方、全てのＨＤＤ６に対する記録領域の区分が完了すると（ステップ♯３でＹＥＳ）、ＨＤＣ７は、区分後の記録領域の先頭アドレスを指定し（ステップ♯５）、この先頭アドレスについてアドレス変換を行う（ステップ♯５）。ここでは、前述したとおり、略同一のデータの転送速度を有する記録領域が連続するようにアドレス変換を行う。
【００４３】
そして、ＨＤＣ７は、全ての記録領域のアドレス変換が完了したか否かを判断し（ステップ♯７）、完了していない場合には（ステップ♯７でＮＯ）、アドレス変換対象の記録領域を変更した上で（ステップ♯８）、ステップ♯６の処理を実行する一方、完了した場合には（ステップ♯７でＹＥＳ）、一連の処理を終了する。
【００４４】
以上のように、ＨＤＤ６が複数存在する場合に、各ＨＤＤ６の記録領域を、略同一のデータ転送速度を有する記録領域ごとに区分し、略同一のデータ転送速度を有する記録領域のアドレスが連続するようにアドレス変換を行うようにしたので、複数のＨＤＤ６に存在する、高速のデータの転送速度を有する外周側の記録領域のアドレスを連続させることができる。したがって、高速の転送速度が要求される、リアルタイム性を有するデータについては、できるだけ高速の転送速度を有する記録領域を利用することができ、リアルタイム性を要するデータであってもデータの転送速度が遅い内周側の記録部位を使用せざるを得ない状況が発生する可能性が高い従来の構成に比して、ＨＤＤ６へのデータの転送時間の短縮化を図ることができる。
【００４５】
また、このようなＨＤＤ６の各記録領域についてのアドレス変換をＨＤＣ７で行うため、前記第２のプログラムを実行中のＣＰＵ２は、各記録領域のアドレス変換後のアドレスを考慮（意識）することなく、コマンドをＨＤＣ７に出力することができる。
【００４６】
また、ＣＰＵ２から出力される１つのコマンドによる転送処理の対象（記録領域）が、複数のＨＤＤ６に跨るものであるときには、ＨＤＣ７は新たなコマンドを発行した上で、ＣＰＵ２から出力された元のコマンドに係る処理を完了させ、新たに発行されたコマンドに基づいて、前記記録領域の次のアドレスの記録領域に対する転送処理を実行するようにしたので、前記転送処理が複数のＨＤＤ６に跨るような場合であっても、該ＨＤＤ６の各記録領域に対して連続したデータの転送処理が可能となる。
【００４７】
また、ＨＤＣ７が、各ＨＤＤ６に対するデータの転送処理が全て完了した時点で、その旨を前記第２プログラムを実行中のＣＰＵ２に通知するようにしたので、該ＣＰＵ２の負荷を軽減することができる。
【００４８】
さらに、ＨＤＤ６のアドレスをＨＤＣ７で管理するようにしたので、前記第１、第２のプログラムにより管理する場合に比して、ＨＤＤ６へのアクセススピードを高速化することができる。
【００４９】
なお、前記実施形態では、ＨＤＤ６が２つの場合について説明したが、本件は、ＨＤＤ６の個数は前記２個に限られるものではなく、複数であればよい。
【００５０】
例えばハードディスク装置４が４つのＨＤＤ６を有する場合は、図４に示すようにアドレス変換を行うとよい。図４に示すように、本実施形態では、ハードディスク装置４に、ＨＤＤ−０〜ＨＤＤ−３の４枚のハードディスクドライブが搭載されているものとする。
【００５１】
このとき、ＨＤＤ−１の記録領域を外周側の記録領域４と内周側の記録領域５の２つの領域に区分し、ＨＤＤ−２の記録領域を外周側の記録領域６と内周側の記録領域７の２つの記録領域に区分し、ＨＤＤ−３の記録領域を外周側の記録領域８と内周側の記録領域９の２つの記録領域に区分する。
【００５２】
また、前記各記録領域４，６，８のアドレスと、ＨＤＤ−０の記録領域のうちデータ転送速度が低速の記録領域のアドレスとを入れ替えるため、ＨＤＤ−０の記録領域を外周側から記録領域０，記録領域１，記録領域２，記録領域３の４つの記録領域に区分する。
【００５３】
このようにハードディスク装置４に４枚のハードディスクドライブが搭載されている場合において、従来では、図４（ｂ）に示すように、記録領域１〜９のアドレスをこの順に設定していたところ、本実施形態では、図４（ｃ）に示すように、データの転送速度が高速の記録領域０，記録領域４，記録領域６，記録領域８を連続するアドレスに設定し、記録領域１〜３，記録領域５，記録領域７，記録領域９を、その後のアドレスに設定する。
【００５４】
そして、転送部７ｂは、ＣＰＵ２から出力されたコマンドが、リアルタイム性を要するデータの読み出しや書き込みを行うものである場合には、できるだけデータの転送速度が高速のＨＤＤ−０’（領域０，領域４，領域６，領域８）を利用し、リアルタイム性を要しないデータの保存や読み出しを行うものである場合には、データの転送速度が低速のＨＤＤ−１’〜ＨＤＤ−３’を利用する。
【００５５】
この場合、前記第２のプログラムが起動したとき、ＨＤＣ７は、該第２のプログラムを実行中のＣＰＵ２に対して、あたかも、データ転送速度が高速のＨＤＤ−０’（記録領域０＋記録領域４＋記録領域６＋記録領域８）と、それよりデータの転送速度が低速のＨＤＤ−１’（記録領域１＋記録領域５）、ＨＤＤ―２’（記録領域２＋記録領域７）、ＨＤＤ−３’（記録領域３＋記録領域９）とが存在しているかのようにみせていることになる。
【図面の簡単な説明】
【００５６】
【図１】ハードディスク装置を含む情報処理システムの電気的な構成を示すブロック図である。
【図２】本実施形態の特徴部分である、各ハードディスクドライブの記録領域に対するアドレス設定の説明図である。
【図３】ハードディスクコントローラの処理を示すフローチャートである。
【図４】本発明に係る他の実施形態の説明図である。
【符号の説明】
【００５７】
１    情報処理システム
２    ＣＰＵ
３    メモリ
４    ハードディスク装置
５    バス
６    ハードディスクドライブ（ＨＤＤ）
７    ハードディスクコントローラ（ＨＤＣ）
７ａ  アドレス変換部
７ｂ  転送部
【図１】
2007286973.tif 000003
【図２】
2007286973.tif 000004
【図３】
2007286973.tif 000005
【図４】
2007286973.tif 000006