(57)【要約】【課題】HDD内の部分的障害によるデータ喪失を最小限にし、且つ部分的障害を有するHDDについて更なる媒体障害の拡大を防ぐとともに使用可能な記録媒体の有効利用を可能とすることでHDDの製品寿命を延ばすことができるハードディスクドライブ管理装置及び方法を提供する。【解決手段】複数のHDDを接続してその動作を管理するハードディスクドライブ管理装置であって、既存HDD25における媒体エラーの発生をディスク面ごとに監視するHDDアクセス監視部20と、HDDアクセス監視部が監視するディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、アラートを発生するアラート発生部と、追加HDD26に対して媒体エラーの閾値を超えたディスク面に記憶された情報をコピーするコピー管理部22とを備えたハードディスクドライブ管理装置1を提供する。【選択図】図１
2010225229.tif 000002
【特許請求の範囲】
【請求項１】
複数のハードディスクドライブを接続してその動作を管理するハードディスクドライブ管理装置であって、
第１のハードディスクドライブにおける媒体エラーの発生をディスク面ごとに監視するエラー監視部と、
前記エラー監視部が監視する第１のハードディスクドライブの前記ディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、当該ディスク面の媒体エラーを通知するアラートと当該ディスク面をコピーするために第２のハードディスクドライブの接続が必要となることを通知するアラートを発するアラート発生部と、
を備えることを特徴とするハードディスクドライブ管理装置。
【請求項２】
前記第１のハードディスクドライブのディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、前記媒体エラーの閾値を超えたディスク面に記憶された情報をハードディスクドライブ管理装置に接続された第２のハードディスクドライブにコピーするコピー管理部を備えたことを特徴とする請求項１に記載のハードディスクドライブ管理装置。
【請求項３】
前記第２のハードディスクドライブが接続された場合に、媒体エラーの閾値を超えたディスク面のコピー対象容量を差し引いた記憶容量をアクセス元に認識させることを特徴とする請求項１又は２に記載のハードディスクドライブ管理装置。
【請求項４】
前記コピー管理部は、前記第２のハードディスクドライブに確保したコピー対象容量のコピー領域に、媒体エラーの閾値を超えたディスク面に記憶された情報をコピーすることを特徴とする請求項１から３のいずれか１項に記載のハードディスクドライブ管理装置。
【請求項５】
媒体エラーの閾値を超えたディスク面に記憶された情報を前記第２のハードディスクドライブにコピーした後に、前記媒体エラーの閾値を超えたディスク面を閉塞し、アクセス元から第１のハードディスクドライブへのアクセス要求を第２のハードディスクドライブに振り替える対ホストアクセス制御部を備えたことを特徴とする請求項１から４のいずれか１項に記載のハードディスクドライブ管理装置。
【請求項６】
ハードディスクドライブのディスク面ごとに媒体エラーを管理して媒体エラーの閾値を超えたディスク面に記憶された情報を別のハードディスクドライブにコピーする方法であって、第１のハードディスクドライブにおける媒体エラーの発生をディスク面ごとに監視するエラー監視部と、前記エラー監視部が監視する第１のハードディスクドライブの前記ディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、当該ディスク面の媒体エラーを通知するアラートと当該ディスク面をコピーするために第２のハードディスクドライブの接続が必要となることを通知するアラートを発するアラート発生部と、を備えるハードディスクドライブ管理装置において、
前記エラー監視部が第１のハードディスクドライブにおける媒体エラーの発生をディスク面ごとに監視して、当該媒体エラーの回数が予め設定された閾値を超えた場合に、アラート発生部が当該ディスク面の媒体エラーを通知するアラートと当該ディスク面をコピーするために第２のハードディスクドライブの接続が必要となることを通知するアラートを発することを特徴とするハードディスクドライブ管理方法。
【請求項７】
前記第１のハードディスクドライブのディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、コピー管理部が前記媒体エラーの閾値を超えたディスク面に記憶された情報をハードディスクドライブ管理装置に接続された第２のハードディスクドライブにコピーすることを特徴とする請求項６に記載のハードディスクドライブ管理方法。
【請求項８】
構成制御部が前記第２のハードディスクドライブについての記憶容量をアクセス元に通知する前に、媒体エラーの閾値を超えたディスク面のコピー対象容量を差し引いた記憶容量をアクセス元に認識させることを特徴とする請求項６又は７に記載のハードディスクドライブ管理方法。
【請求項９】
前記コピー管理部は、前記第２のハードディスクドライブに確保したコピー対象容量のコピー領域に、媒体エラーの閾値を超えたディスク面に記憶された情報をコピーすることを特徴とする請求項６から８のいずれか１項に記載のハードディスクドライブ管理方法。
【請求項１０】
対ホストアクセス制御部は、前記媒体エラーの閾値を超えたディスク面に記憶された情報を前記第２のハードディスクドライブにコピーした後に、前記媒体エラーの閾値を超えたディスク面を閉塞し、アクセス元から第１のハードディスクドライブへのアクセス要求を第２のハードディスクドライブに振り替えることを特徴とする請求項６から９のいずれか１項に記載のハードディスクドライブ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ等の記憶装置であるハードディスクドライブを管理する装置及び方法に関し、特に、部分的な媒体障害の発生したハードディスクドライブについて全体を閉塞することなく、媒体障害の拡大を防ぎつつ、ハードディスクドライブの使用可能な部分を有効に利用することができるハードディスクドライブ管理装置及び方法に関するものである。
【背景技術】
【０００２】
従来、コンピュータ等で記憶装置として使用されているハードディスクドライブ装置（以下「HDD」とする）は、近年家庭用のパーソナル・コンピュータにおいても大容量、低コストの手軽な記憶媒体として普及している。
この有用なHDDは、複雑な構造を有する壊れやすい媒体であり、そのHDDで生じる障害としては、HDD全体が動作不能となるよりも、一般的にはHDD内の複数のディスク媒体における部分的な障害により部分的に読み書きができなくなる障害が生じる可能性が高いものである。例えば、製造時にHDD内に入り込んでしまったゴミや、ディスク面とヘッドがクラッシュした場合に出る破片等により、HDDに対するデータの読み書きが部分的にできなくなる障害が発生することがある。
一方、HDDには、そのディスク媒体のエラーを受けてデータをディスク上の未使用のセクタ（交代セクタ）に書き込んで復旧させるリアサインの機能を備えているので、ある程度のエラーであればそのまま継続稼動することは可能であるが、その部分的障害を有するディスク面を使い続けた場合には、そのディスク面に存在する前記ゴミや破片等により将来的に障害が更に拡大するおそれがあった。
【０００３】
そこで、このようなHDD媒体障害の解決方法として、HDDの故障に備えて信頼性の向上を図るべく、複数台のHDDを組み合わせて仮想的な1台のHDDとして運用する技術であるRAID(Redundant
Arrays of Inexpensive Disks)構成を組んだり、HDDに記憶されたデータを別のHDDに自動的にバックアップさせたり（２重化もしくは多重化）するという冗長化技術を用いることが行われている（特許文献１参照）。この冗長化技術を用いたストレージシステムは、データディスクに障害が発生したときに実行される、別のHDDへのコレクションコピー処理と、ホスト計算機からのI/O要求に対するデータディスクへの読み書き処理とをバランスよく効率的に処理することにより、ストレージデバイス障害時のホスト計算機のI/O性能低下と復旧時間の増加を最小限に抑えることができるものである。
また、HDDへの自動バックアップ以外にも、DVD等の非HDD媒体にバックアップすることも一般に行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−４６９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記RAIDや２重化等の定常的な冗長化技術は、コストより信頼性を優先する企業等では適用されるものの、部分的障害の発生したHDDは、HDD単位で交換されることから、家庭等でのバックアップ手段としては費用的コストの負担が大きく、また家庭においてDVD等のHDD以外の媒体にバックアップすることは多大な時間的コスト（労力）を要することから、これらの冗長化技術を家庭で適用することは困難であった。また、部分的障害の発生したディスク面については閉塞して使用できなくすることは当然行われるとして、そのディスク面以外の障害のない（又は少ない）ディスク面については継続稼動しても問題は少ないと思われることから、１つのディスク面だけといった部分的障害の発生したHDDをHDD単位で交換してしまうことは、資源の有効利用という観点や、HDDの長寿命化を図る観点からは決して好ましいものではなかった。
【０００６】
本発明は、このような実情に鑑みてなされたものであり、HDD内の部分的障害によるデータ喪失を最小限にし、且つ部分的障害を有するHDDについて更なる媒体障害の拡大を防ぐとともに使用可能な記録媒体の有効利用を可能とすることでHDDの製品寿命を延ばすことができるハードディスクドライブ管理装置及び方法を提供しようとするものである。
【課題を解決するための手段】
【０００７】
上記解決課題に鑑みて鋭意研究の結果、本発明者は、部分的障害の発生したHDDについて、ディスク面ごとにエラーを監視して管理するという構成をとることにより、HDD内の部分的障害によるデータ喪失を最小限にし、且つHDDの部分的障害を許容しつつHDD資源を継続的に稼動させることを可能とすることに想到し、本発明をなすに至った。
【０００８】
すなわち、本発明の第１の発明は、複数のハードディスクドライブを接続してその動作を管理するハードディスクドライブ管理装置であって、第１のハードディスクドライブにおける媒体エラーの発生をディスク面ごとに監視するエラー監視部と、前記エラー監視部が監視する第１のハードディスクドライブの前記ディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、当該ディスク面の媒体エラーを通知するアラートと当該ディスク面をコピーするために第２のハードディスクドライブの接続が必要となることを通知するアラートを発するアラート発生部と、を備えたハードディスクドライブ管理装置を提供するものである。
このように、ハードディスクドライブのディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、使用者はアラートによりディスク面の媒体エラーの発生を知って、そのディスク面をコピーするための第２のハードディスクドライブをすばやく手配することができ、これによりハードディスクドライブの媒体エラーをディスク面ごとに詳細に管理し、すばやくコピーすることが可能となる。
【０００９】
本発明のハードディスクドライブ管理装置において、前記第１のハードディスクドライブのディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、前記媒体エラーの閾値を超えたディスク面に記憶された情報をハードディスクドライブ管理装置に接続された第２のハードディスクドライブにコピーするコピー管理部を備えることを特徴とする。
このように、媒体エラーの閾値を超えたディスク面に記憶された情報を第２のハードディスクにコピーすることで、部分的な障害の発生したハードディスクドライブについて全体を閉塞することなく、ディスク面単位で閉塞して更なる媒体障害の拡大を防ぐことができるとともに、使用可能な記録媒体の有効利用を可能とするものである。
【００１０】
本発明のハードディスクドライブ管理装置において、前記第２のハードディスクドライブが接続された場合に、媒体エラーの閾値を超えたディスク面のコピー対象容量を差し引いた記憶容量をアクセス元に認識させることを特徴とする。
【００１１】
本発明のハードディスクドライブ管理装置において、コピー管理部は、第２のハードディスクドライブに確保したコピー対象容量のコピー領域に、媒体エラーの閾値を超えたディスク面に記憶された情報をコピーすることを特徴とする。
【００１２】
本発明のハードディスクドライブ管理装置において、媒体エラーの閾値を超えたディスク面に記憶された情報の前記第２のハードディスクドライブへのコピー完了後に、前記媒体エラーの閾値を超えたディスク面を閉塞し、コンピュータから第１のハードディスクドライブへのアクセス要求を第２のハードディスクドライブに振り替える対ホストアクセス制御部を備えたことを特徴とする。
これにより、媒体エラーの閾値を超えたディスク面に記憶された情報が第２のハードディスクに安全にコピーされたことで、本来必要なホスト計算機等のアクセス先からハードディスクへアクセスするLBAの変換をすることなく、自動的に第２のハードディスクのLBAに振り替え（リダイレクト）られて、アクセス先の手間がなくなる。
【００１３】
本発明の第２の発明は、ハードディスクドライブのディスク面ごとにエラーを管理して媒体エラーの閾値を超えたディスク面に記憶された情報を別のハードディスクドライブにコピーする方法であって、第１のハードディスクドライブにおける媒体エラーの発生をディスク面ごとに監視するエラー監視部と、前記エラー監視部が監視する第１のハードディスクドライブの前記ディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、当該ディスク面の媒体エラーを通知するアラートと当該ディスク面をコピーするために第２のハードディスクドライブの接続が必要となることを通知するアラートを発するアラート発生部と、を備えるハードディスクドライブ管理装置において、
前記エラー監視部が第１のハードディスクドライブにおける媒体エラーの発生をディスク面ごとに監視して、第１のハードディスクドライブの前記ディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、アラート発生部が当該ディスク面の媒体エラーを通知するアラートと当該ディスク面をコピーするために第２のハードディスクドライブの接続が必要となることを通知するアラートを発することを特徴とするハードディスクドライブ管理方法を提供するものである。
これにより、ハードディスクドライブのディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、使用者はアラートによりディスク面の媒体エラーの発生を知って、そのディスク面をコピーするための第２のハードディスクドライブを手配することができ、これによりハードディスクドライブのディスク面ごとの媒体エラーの回数が予め設定された閾値を超えた場合に、使用者はアラートによりディスク面の媒体エラーの発生を知って、そのディスク面をコピーするための第２のハードディスクドライブをすばやく手配することができ、これによりハードディスクドライブの媒体エラーをディスク面ごとに詳細に管理し、すばやくコピーすることが可能となる。
【発明の効果】
【００１４】
以上、説明したように、本発明のハードディスクドライブ管理装置及び方法によれば、ディスク媒体の部分的障害が生じた位置をディスク面ごとに管理して、その部分的障害のあるディスク面を閉塞することで、クラッシュ等による媒体の破片等による更なる障害の進行のおそれをなくすことができるとともに、部分的障害のあるディスク面のみを閉塞して障害のないディスク面については継続稼動することでHDD資源を有効に使用することができ、これにより使用者の出費・労力を抑制しつつHDDの製品寿命を延ばすことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るハードディスクドライブ管理装置であるHDD制御アダプタを示すシステム構成図である。
【図２】HDDの構造と障害内容を示す図である。
【図３】HDDのディスク・トラック・LBA（セクタ番号）の構成を示す図である。
【図４】本発明の実施の形態に係るハードディスクドライブ管理装置におけるコピーディスク番号の決定とコピー方法を示す図である。
【図５】本発明の実施の形態に係るハードディスクドライブ管理装置におけるコピー管理テーブルを示す図である。
【図６】本発明の実施の形態に係るハードディスクドライブ管理装置におけるアクセス管理テーブルを示す図である。
【図７】本発明の実施の形態に係るハードディスクドライブ管理装置におけるコピー進捗ポインタを示す図である。
【図８】本発明の実施の形態に係るハードディスクドライブ管理装置におけるアクセス範囲とディスク面番号の参照を示す図である。
【図９】本発明の実施の形態に係るハードディスクドライブ管理装置におけるアクセス範囲とコピー先LBAの参照を示す図である。
【図１０】本発明の実施の形態に係るハードディスクドライブ管理装置であるHDD制御アダプタのメイン処理の流れを示すフローである。
【図１１】本発明の実施の形態に係るハードディスクドライブ管理装置であるHDD制御アダプタのホストからアクセスがあったときの流れを示すフローである。
【図１２】本発明の実施の形態に係るハードディスクドライブ管理装置であるHDD制御アダプタの追加HDDに対して障害の閾値を超えたディスク面のデータをコピーする流れを示すフローである。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照しながら、本発明のハードディスクドライブ管理装置及び方法を実施するための形態を詳細に説明する。図１〜図１２は、本発明の実施の形態を例示する図であり、これらの図において、同一の符号を付した部分は同一物を表わし、基本的な構成及び動作は同様であるものとする。
【００１７】
＜構成＞
図１は、本発明の一実施形態に係るHDD制御アダプタのシステム構成を示す図である。
図１に示すように、本実施形態のHDD制御アダプタ11は、ホスト計算機とHDDの間に介在して、そのHDD内のディスク面に記憶されているブロックの管理、ディスク面ごとのエラーの管理、障害が多発したディスク面のコピーの管理、そのコピー中やコピー後のホストアクセス参照箇所の管理を行う機能を備えるものである。
このHDD制御アダプタ11について更に詳しく説明すると、ホスト計算機とUSBケーブルやSCSIケーブル等でつながる入出力インターフェイス回路12と、HDD（既存HDD）25のエラーを監視する監視回路13と、HDD25に対するコマンドのバッファ及びデータをキャッシュするコマンドバッファ・データキャッシュ回路14と、１又は複数のHDDをUSBケーブルやSCSIケーブル等でつなぐ入出力インターフェイス回路15と、エラー等のHDD監視状況を表示して使用者に知らせるためのディスプレイ画面16と、ホストアクセス、HDDアクセス、ディスプレイ制御、及びコピー管理等を制御するコントローラ17と、を備えている。
そして、HDDのエラーを監視する前記監視回路13は、新しいHDDの追加、ホスト計算機からのアクセス（リード／ライト）があった際にそのままスルーするか否か、又はHDDの記憶容量を取得するコマンド時の応答を変更するか否かを処理する機能（後述する）を備えている。
【００１８】
更に、前記コントローラ17の詳細な構成は、ホスト計算機からHDDへのアクセス処理を管理するアクセス管理テーブル18-1を備えた対ホストアクセス制御部18と、HDDに対するリード／ライト制御19-1を行う対ドライブアクセス制御部19と、HDDにおけるエラー種別20-2、ディスク面エラー発生回数20-3、リトライ回数20-4について管理するディスク面状態管理部20-1を備えたHDDアクセス監視部20と、前記ディスプレイ画面16へのディスプレイ表示制御21-1を行うディスプレイ制御部21と、後述するコピーに関するコピー量22-2、コピー済みポインタ22-3、コピー開始フラグ22-4、コピー管理テーブル22-5についてのコピー進捗管理22-1を行うコピー管理部22と、後述する追加HDD26の予備領域の確保及び管理23-1、HDD仕様情報の取得処理23-2を制御する構成制御部23と、HDD25へのライト／リード時の異常終了でHDD25にリトライさせ、そのリトライ回数が一定以上となると追加HDD26にコピーを開始させるリトライカウンタ閾値24-1、HDD25のディスク面のライト／リードエラー回数が一定以上となると追加HDD26にコピーを開始させるディスク面コピー開始閾値24-2を管理する定数管理部24とから構成されている。
また、前記HDD25はHDD制御アダプタ11が制御する既存のHDDであり、複数のディスク面25-2（本実施例では#0、#1、#3の３面）を備えており、このHDD25に内蔵されたIDE、SCSI等のコントローラ25-1が複数のディスク面25-2へのデータ転送を制御している。
【００１９】
＜HDDの構造と障害範囲＞
図２は、通常のHDDの構造とその部位ごとの障害による生じる障害範囲を示し、スピンドル32を回転軸とする複数枚のディスク35はスピンドルモータ33により高速回転し、そのディスク面をヘッドアッセンブリ31のアームの先端に取り付けられた磁気ヘッド34が走査して読み書きする構造である。
そして、前記磁気ヘッド34又はディスク35の表面に障害が発生した場合には、そのディスク面全体又はディスク面の一部がアクセス不能となるものの、他のディスク面は障害範囲とはならず、一方ヘッドアッセンブリ31、スピンドル32又はスピンドルモータ33に障害が発生した場合には、これらは全てのディスクの共通モジュールであることから、HDD全体が閉塞対象となるということを示している。
【００２０】
＜HDDのLBAの構成＞
図３は、HDDのディスク、トラック、LBA（セクタ番号）の構成を示し、HDD内の全てのセクタに通し番号を振り、その通し番号によってデータ位置のセクタを指定するLBA(Logical
Block Addressing)方式でフォーマットすることで、同心円上に複数のトラックをもつHDDであっても、CD-ROMやテープドライブのように1本のトラックで構成されている装置のように、最初のセクタから順にアドレス（セクタ番号）を設定していくことで、ホスト計算機からは、ディスク面やトラックを管理することなくセクタ番号だけでHDDを管理することができることを示している。
つまり、ディスク#0では最外周のトラック#0に、セクタ番号（16進数）が"x0"から順に"xF"まで振られ、またディスク#1では最外周のトラック#0に、前記"xF"に続くセクタ番号が"x10"から順に"x1F"まで振られていき、更にディスク#2では最外周のトラック#0に、前記"x1F"に続くセクタ番号が"x20"から順に"x2F"まで振られて、そしてこの"x2F"に続く"x30"からのセクタ番号が前記ディスク#0のトラック#1に振られ、このようにしてセクタ番号が複数のディスク、トラックを往き来して連続していくことを示している。
本実施形態のHDD制御アダプタ11は、前記コントローラ17の構成制御部23において、HDD内のディスク面の面数、トラック数等の、ディスク面がどのようにLBAフォーマットされているかのHDDの内部情報を取得し、この情報に基づいて動作するものである。
【００２１】
＜コピー動作＞
図４は、本実施形態のHDD制御アダプタ11によるコピーのディスク番号（ディスク面の番号）の決定とコピー方法を示し、追加したHDD26に障害の閾値を超えたディスク#2のコピーを行うための前段階として、追加したHDDにより増えた空き領域を、ホスト計算機に通知する前にHDD制御アダプタ11が確保して、その確保した空き容量に対してコピーを行うことを示している。
そのコピー動作について詳細に説明すると、まずHDD制御アダプタ11のコントローラ17のHDDアクセス監視部20は、既存のHDD25のディスク面ごとにエラー発生回数、エラー種別、及びリトライ回数20-4を監視していて、本実施例では、ディスク#0にはエラー履歴がなく、ディスク#1にはエラー履歴が１回あり、ディスク#2（３番目のディスク面）にはエラー履歴が４回あることを検知する。
そして、前記定数管理部24に予め設定されている、ディスク面コピーを開始するように設定したディスク面コピー開始閾値24-2が、例えば「４」である場合に、ディスク#2がディスク面コピー開始閾値24-2以上となったことにより、コントローラ17は前記ディスプレイ制御部21によりディスプレイ画面16にアラートを表示させる（これらはアラート発生部として機能する）。このアラートの内容は、既存のHDD25のディスク面を識別するディスク番号、及びそのコピーに必要な記憶容量（例えば本実施例では、125GBとする）とし、使用者に対して追加HDDを要求するものである。また、ディスプレイ画面16の表示以外に、ホスト計算機にそのアラートを表示する適宜なアプリケーションプログラムを設け、そのアプリケーションプログラムから使用者に対して通知することも考えられる。
【００２２】
そして、このアラートを受けた使用者は、新たにHDD26をHDD制御アダプタ11の入出力インターフェイス回路15に接続する。HDD制御アダプタ11は、アラート後に追加された追加HDD26へのコピーに必要な前記記憶容量125GBについて、ホスト計算機に通知する前に、追加HDD26のディスク#0、ディスク#1、ディスク#2の各内周部分（後方のLBA）の予備領域に割り当てて、ホスト計算機にこの予備領域を見せなくする。これにより、ホスト計算機から見ることができる追加HDD26は、前記予備領域を差し引いた領域となる。
そして、HDD制御アダプタ11のコピー管理部22は、追加HDD26の前記予備領域に対して障害の閾値を超えたディスク#2のコピーを開始する。そのコピーする単位は、トラックごととし、そのコピー量はトラック数で管理する。トラックの外周と内周でLBA数を比較すると、内周ほどLBA数が少なく、コピー量に対応するトラック数は内周ほど多くなるので、１回にコピーするLBA数を決定し、コピー対象のトラック内LBA数から近似値を算出する。
【００２３】
＜コピー管理＞
図５は、HDD制御アダプタ11における障害の閾値を超えたディスク面のコピーを行うときの前記コピー管理テーブル22-5で、コピー元とコピー先の関連を管理している。そしてこのコピー管理テーブル22-5には、コピー元における各ディスク面のトラックごとのコピー対象のLBA範囲（初期設定でHDDの仕様から確定する固定値）について、コピー完了前はHDDの初期値「0xFFFFFFFF」を設定し、コピー完了時に、コピー先のHDD番号とコピー先LBAを登録するものである。
【００２４】
＜アクセス管理＞
図６は、HDD制御アダプタ11におけるコピー以外でホスト計算機からのアクセス処理を管理する前記アクセス管理テーブル18-1で、ホスト計算機からのLBA範囲（初期設定でHDDの仕様から確定する固定値）へのアクセス要求に対して、HDD制御アダプタ11はコピー先のHDD番号とコピー先LBA（コピー完了前はHDDの初期値「0xFFFFFFFF」が設定され、コピー完了時に登録されるLBA）を出力することを示している。
【００２５】
図７は、HDD制御アダプタ11が前記コピー時に参照するコピーの進捗を示すコピー進捗ポインタで、ディスク番号#0、ディスク番号#1、ディスク番号#2の各ポインタ枠にあって、本実施例の場合はコピー済みでないディスク番号#0、ディスク番号#1用には初期値の「0xFFFFFFFF」が設定され、コピー先のディスク番号#2用には、コピー済トラック番号（トラック番号＝N番で完了）が記録され、コピー時にこれを参照する。このポインタにより、どのディスク番号がコピー済みであるか、そしてそのコピー済みトラック番号を容易に把握することができるようになっている。
【００２６】
そして、前記コピーが済んだ状態では、ホスト計算機のアクセスがコピー元とコピー先の両方にまたがってしまうことから、ホスト計算機がアクセスしてきたLBA範囲から、「コピー元」、「コピー先」、「コピー元とコピー先の両方」のいずれかにアクセスすることを管理する。
アクセス範囲（LBA範囲）が、x(1)の途中からx(5)の途中までの場合、アクセス開始LBAがLBA範囲x(1)〜x(2)であり、アクセス終了LBAがx(5)〜x(6)であることを算出する。その算出した結果から、前記アクセス管理テーブル18-1を参照する。
その参照結果を、図８に示す。
【００２７】
コピー先HDD番号及びコピー先LBAが全て前記初期値の場合、対象HDD全てをそのままアクセスするものである。
図９のテーブルに示すケースでは、ホスト計算機からのアクセス要求がx(1)〜x(2)のLBA範囲では、コピー先をアクセスし、x(3)〜x(4)、及びx(5)〜x(6)LBA範囲では、対象HDDをアクセスする。ただし、コピー先LBAからのオフセット（アクセス管理テーブル18-1の当該開始LBAからアクセスする開始LBASまでの差分）を加算してアクセスすることとする。
【００２８】
図１０は、本実施形態のHDD制御アダプタ11のメイン処理の流れを示すフローチャートである。まずHDD制御アダプタについて各フラグ及びテーブルの初期設定を実行し（ステップ6-1）、ポーリングを実行する（終了条件＝PSOFF）（ステップ6-2）。
次に、ホスト計算機からHDDへのアクセスがあると（ステップ6-3）、そのアクセスがリード又はライトであることを判断し（ステップ6-4）、対象範囲のアクセス管理テーブルが初期値以外の場合に（ステップ6-5）、後述する対ホストアクセス制御を行う（ステップ6-7）。一方、対象範囲のアクセス管理テーブルが初期値の場合には、対象範囲のHDDへの直接アクセスを許可する（ステップ6-6）。
そして、リード／ライト処理が正常に終了しない場合（ステップ6-8）は、当該ディスク面のエラーカウントを加算し（ステップ6-9）、正常に終了した場合はエラーカウントを加算しない。
そして当該ディスク面のエラー回数を、定数管理部24のディスク面コピー開始閾値と比較し（ステップ6-10）、エラー回数が閾値以下である場合はそのまま終了するが、前記閾値以上である場合は、当該ディスク面のコピー開始フラグをＯＮにして（ステップ6-11）、ディスプレイ画面16に、HDD番号及びディスク番号、及びコピーに必要な容量を表示させ（ステップ6-12）、端末に対するポーリングを実行し（PSOFFで）、コピー中かどうかを判断し（ステップ6-13）、コピー中でなければ後始末処理をして（ステップ6-14）、終了し、コピー中の場合は前記ステップ6-3に戻る。
また、前記ステップ6-4で、ホスト計算機のアクセスがリード又はライト以外の場合は、コピー開始フラグがＯＮかどうかを判断し（ステップ6-15）、ＯＮの場合はホスト計算機に対して容量を報告するコマンドか否かを判断し（ステップ6-16）、容量を報告するコマンドである場合はホスト計算機に対し追加HDD容量からコピーのための予備領域容量を差し引いた容量を報告（ステップ6-17）し、また前記ステップ6-15でコピー開始フラグがＯＮでない場合、そして前記ステップ6-16でホスト計算機に対して容量を報告するコマンドでない場合も、対象範囲のHDDへの直接アクセスを許可する（ステップ6-18）。
前記ステップ6-3で、ホスト計算機からHDDへのアクセスがない場合は、コピーのための予備領域が確保されているかを判断し（ステップ6-19）、予備領域が確保されている場合は更にコピー開始フラグがＯＮか否かを判断し（ステップ6-20）、コピー開始フラグがＯＮの場合はディスプレイ画面16のコピー失敗表示を確認し（ステップ6-21）、失敗表示がなければ後述するコピー制御ステップに進む（ステップ6-22）。そして、前記ステップ6-20でコピー開始フラグがＯＮでない場合も、全コピー範囲のコピーが終了したかを確認し（ステップ6-23）、コピー終了した場合は当該ディスク面のコピー開始フラグをＯＦＦにして終了する（ステップ6-24）。そして、前記ステップ6-21でディスプレイ画面16がコピー失敗表示の場合と、前記ステップ6-23で全コピー範囲のコピーが終了していない場合も終了する。
前記ステップ6-19で、コピーのための予備領域が確保されていない場合は、新たなHDDが追加されたかを確認し（ステップ6-25）、追加がなければそのまま終了するが、追加があればHDD使用情報を取得する（ステップ6-26）。そして、コピー開始フラグがＯＮか否かを確認し（ステップ6-27）、ＯＮの場合は当該ディスク面の予備領域を確保し（ステップ6-28）、フラグがＯＮでない場合にはホスト計算機に対して追加HDDを報告して（ステップ6-29）終了する。
【００２９】
図１１は、前記対ホストアクセス制御（ステップ6-7）についてのフローチャートであり、ホスト計算機からHDDに対してアクセスがあったときの流れを示し、コピーが実行されていない場合はそのままHDDにアクセスさせ、コピー中及びコピー済みの場合はHDD制御アダプタ内のキャッシュを使って必要なデータを取り出し／格納するものである。
すなわち、ホスト計算機からアクセスがあったときに、アクセス管理テーブル18-1よりアクセス範囲を出力し（ステップ7-1）、アクセス範囲の全てのコピー先情報（コピー先HDD番号及びコピー先LBA）が初期値かどうかを確認し（ステップ7-2）、初期値の場合は未処理範囲識別フラグをＯＦＦにして（ステップ7-5）、ホスト計算機から指示のあった範囲HDDの先頭開始位置（先頭LBA）及び転送数をそのまま流用する（ステップ7-6）。一方、アクセス範囲の全てのコピー先情報が初期値でない場合は、未処理範囲識別フラグをＯＮにして（ステップ7-3）、コピー元HDDコピー範囲の先頭開始位置（先頭LBA）及び転送数を算出する（ステップ7-4）。
そして、ホスト計算機のアクセス種別を判断し（ステップ7-7）、リードの場合は対コピー元ドライブリードアクセスを実行し（ステップ7-8）、ライトの場合は対コピー元ドライブライトアクセスを実行する（ステップ7-9）。この対ドライブアクセスが正常に終了したかを確認し（ステップ7-10）、正常に終了した場合には未処理範囲識別フラグがＯＦＦか否かを確認し（ステップ7-11）、ＯＦＦの場合は正常終了のリターンコードを出力して対ホスト制御を終了する（ステップ7-14）。そして、未処理範囲識別フラグがＯＦＦでない場合は、未処理範囲識別フラグをＯＦＦにして（ステップ7-12）、コピー先範囲の先頭開始位置（先頭LBA）及び転送数を算出し（ステップ7-13）、前記ステップ7-7に戻る。
前記ステップ7-7で、ドライブ番号の違う残りの範囲のリード又はライトを実施する。
前記ステップ7-10で、対ドライブアクセスが正常に終了しなかった場合は、異常終了のリターンコードを出力し（ステップ7-15）、対象アクセス範囲がコピー元か否かを確認し（ステップ7-16）、コピー元でない場合はリターン詳細としてコピー先HDD番号及びディスク番号を出力し（ステップ7-17）、対象アクセス範囲がコピー元である場合はリターン詳細としてコピー元HDD番号及びディスク番号を出力して（ステップ7-18）対ホスト制御を終了する。
【００３０】
図１２は、図１０の前記コピー制御（ステップ6-22）についてのフローチャートであり、追加HDDに対して、閾値を超えたディスク面のデータをコピーする流れを示すものである。
まずリトライカウンタを０にリセットし（ステップ8-1）、コピー対象ディスク番号のコピー済みポインタ22-3が初期値か否かを確認し（ステップ8-2）、初期値でない場合はコピー開始ポインタを当該ディスク面コピー開始ポインタに１を加算し（ステップ8-3）、初期値の場合はコピー開始ポインタを０（トラック番号）とする（ステップ8-4）。
そして、コピー元HDDのコピー開始LBAを、コピー開始ポインタが示すコピー管理テーブル22-5の開始LBA値とする（ステップ8-5）。リード／ライト転送数を、コピー量(LBA数)から転送対象のトラック内LBA数を順次減算して、超えない最大値を算出した値とする（ステップ8-6）。対コピー元ドライブリードアクセスを行い（ステップ8-7）、対ドライブアクセスが正常終了したか否かを確認し（ステップ8-8）、正常終了した場合には、コピー対象ディスク番号のコピー済みポインタ22-3が初期値か否かを確認し（ステップ8-9）、初期値の場合はコピー先HDD開始LBAがコピー開始ポインタが示すコピー先HDD開始LBAにリードした転送数を加え（ステップ8-10）、初期値でない場合はコピー先HDD開始LBAを確保済み予備領域先頭LBAとし（ステップ8-11）、そしてライト転送数をリード転送数と同数にする（ステップ8-12）。
更に、対コピー先ドライブライトアクセスを行い（ステップ8-13）、対ドライブアクセスが正常終了したか否かを確認し（ステップ8-14）、正常終了した場合には当該ディスク面のコピー済みポインタ22-3をコピー開始ポインタとし（ステップ8-15）、コピー管理テーブル22-5で当該ディスク面にコピー先HDD番号及びコピー先開始LBAを設定して（ステップ8-16）、アクセス管理テーブル18-1で当該LBA範囲にコピー先HDD番号及びコピー先開始LBAを設定する（ステップ8-17）。
そして、コピー開始ポインタが最終トラックか否かを判断し（ステップ8-18）、最終トラックでない場合はコピー継続のリターンコードを出力し（ステップ8-19）、最終トラックの場合はコピー終了のリターンコードを出力して（ステップ8-20）終了する。
前記ステップ8-8で、対ドライブアクセスが正常終了しなかった場合は、当該ディスク面コピー済みポインタ22-3を、コピー開始ポインタとし（ステップ8-21）、スキップのリターンコードを出力して（ステップ8-22）終了する。
前記ステップ8-14で、対ドライブアクセスが正常終了しなかった場合は、確保済み予備領域の先頭LBAに転送数（追加確保）を加え（ステップ8-23）、コピー先HDD開始LBAに転送数を加え（ステップ8-24）、リトライカウンタに1を加える（ステップ8-25）。そして、リトライカウンタとリトライカウンタ閾値24-1を比較して（ステップ8-26）、リトライカウンタがリトライカウンタ閾値24-1未満である場合には、ステップ8-12に戻り、リトライカウンタ閾値24-1以上である場合には、当該ディスク面のコピー済みポインタ、コピー管理テーブル22-5、及びアクセス管理テーブル18-1を初期化する（ステップ8-27）。更に、ディスプレイ画面16にコピーが失敗したこと、及びHDD接続確認のメッセージを表示し（ステップ8-28）、HDD追加情報、及びコピー予備領域の確保情報をクリアし（ステップ8-29）、コピー失敗のリターンコードを出力して（ステップ8-30）終了する。
【００３１】
以上、本発明のハードディスクドライブ管理装置及び方法について、具体的な実施の形態を示して説明したが、本発明はこれらに限定されるものではない。当業者であれば、本発明の要旨を逸脱しない範囲内において、上記各実施形態におけるハードディスクドライブ管理装置の構成及び機能に様々な変更・改良を加えることが可能である。
【産業上の利用可能性】
【００３２】
本発明のハードディスクドライブ管理装置は、図１に示すように、コンピュータのＣＰＵ、メモリ、補助記憶装置、ディスプレイ、入力デバイス等を含むハードウェア資源上に構築されたＯＳ、アプリケーション、データベース、ネットワークシステム等によって実現されるものであり、ハードディスクの障害対処という処理が上記のハードウェア資源を用いて具体的に実現されるものであるから、自然法則を利用した技術的思想に該当するものであり、コンピュータ製造等の産業において利用することができるものである。
【符号の説明】
【００３３】
11    HDD制御アダプタ
12    入出力インターフェイス回路
13    監視回路
14    コマンドバッファ・データキャッシュ回路
15    入出力インターフェイス回路
16    ディスプレイ画面
17    コントローラ
18    対ホストアクセス制御部
18-1    アクセス管理テーブル
19    対ドライブアクセス制御部
20    HDDアクセス監視部
20-1    ディスク面状態管理部
21    ディスプレイ制御部
22    コピー管理部
22-5    コピー管理テーブル
23    構成制御部
24    定数管理部
25    既存HDD
26    追加HDD
【図１】
2010225229.tif 000003
【図５】
2010225229.tif 000004
【図６】
2010225229.tif 000005
【図７】
2010225229.tif 000006
【図８】
2010225229.tif 000007
【図９】
2010225229.tif 000008
【図１０】
2010225229.tif 000009
【図１１】
2010225229.tif 000010
【図１２】
2010225229.tif 000011
【図２】
2010225229.tif 000012
【図３】
2010225229.tif 000013
【図４】
2010225229.tif 000014