(57)【要約】  【課題】不良セクタを検出して修復することにより、ハードディスクの全記憶領域を有効利用することが可能なハードディスクレコーダを提供する。  【解決手段】ハードディスクレコーダに電源が投入されている状態かつハードディスクに対するデータの読み書きが所定時間行われていない状態のときに、ハードディスクドライブ制御部は、ハードディスクのセクタに記録されているデータを読み込んで、ＥＣＣによって訂正できないＥＣＣエラーの発生を確認し、その結果をハードディスクのステータスレジスタに記録する。その後、メイン制御部は、ステータスレジスタの内容を読み込んでＥＣＣエラーの発生した不良セクタを検出し、検出した不良セクタにダミーデータを書き込んで、当該不良セクタを修復する。【選択図】  図３
2006092651.tif 000002
【特許請求の範囲】
【請求項１】
データにエラー訂正用の冗長なコードであるＥＣＣを付加して、ハードディスクドライブによりハードディスクに記録するハードディスクレコーダにおいて、
ハードディスクのセクタに記録されているデータを読み込んで前記ＥＣＣによって訂正できないＥＣＣエラーの発生を確認し、ハードディスクのステータスレジスタに記録するハードディスクドライブ制御部と、
電源が投入されている状態かつハードディスクに対するデータの読み書きが所定時間行われていない状態のときに、ハードディスクのセクタ毎に、前記ハードディスクドライブ制御部に前記ＥＣＣエラーの発生確認を行わせ、その後前記ステータスレジスタの内容を読み込んで前記ＥＣＣエラーの発生した不良セクタを検出し、検出した不良セクタにダミーデータを書き込んで当該不良セクタを修復するメイン制御部と、を備えたことを特徴とするハードディスクレコーダ。
【請求項２】
データにエラー訂正用の冗長なコードであるＥＣＣを付加して、ハードディスクドライブによりハードディスクに記録するハードディスクレコーダにおいて、
ハードディスクのセクタに記録されているデータを読み込んで前記ＥＣＣによって訂正できないＥＣＣエラーの発生を確認し、ハードディスクのステータスレジスタに記録するハードディスクドライブ制御部と、
電源が投入されている状態かつハードディスクに対するデータの読み書きが所定時間行われていない状態のときに、前記ステータスレジスタの内容を読み込んで前記ＥＣＣエラーの発生した不良セクタを検出し、検出した不良セクタにダミーデータを書き込んで当該不良セクタを修復するメイン制御部と、を備えたことを特徴とするハードディスクレコーダ。
【請求項３】
請求項２に記載のハードディスクレコーダにおいて、
前記メイン制御部は、電源が投入されている状態かつハードディスクに対するデータの読み書きが所定時間行われていない状態のときに、前記ハードディスクドライブ制御部に前記ＥＣＣエラーの発生確認を行わせ、その後前記ステータスレジスタの内容を読み込んで前記ＥＣＣエラーの発生した不良セクタを検出することを特徴とするハードディスクレコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像や音声等のデータにＥＣＣを付加して、ハードディスクに記録するハードディスクレコーダに関するものである。
【背景技術】
【０００２】
映像や音声等のデータを記録する機器として、大容量の記憶装置であるハードディスクドライブを内蔵したハードディスクレコーダが一般家庭に普及している。ハードディスクレコーダのメインシステムとハードディスクドライブとは、ＡＴＡＰＩ（AT Attachment Packet Interface）のようなインターフェイスで接続されている。ハードディスクレコーダでは、映像や音声等のデータを記録する際、データにエラー訂正用の冗長なコードであるＥＣＣ(Error Correcting Code)を付加して、ハードディスクドライブによりハードディスク（磁気ディスク）に記録する。そして、ハードディスクに記録したデータを再生する際、ハードディスクからデータを読み出し、当該データに付加されたＥＣＣを用いて、当該データの読み出しのエラーを検出し、検出したエラーを訂正する。
【０００３】
上記のようなＥＣＣによるデータのエラー検出・訂正の技術は、光ディスクやフラッシュメモリにデータを記録する場合においても用いられている（例えば、特許文献１〜３参照）。ＥＣＣによるデータのエラー検出・訂正は、特許文献２、３に記載されているように、データ再生時だけでなく、電源投入時等にも行なわれることがある。
【０００４】
ＥＣＣによって検出されるエラーには、ＥＣＣによって訂正できないものがある。このようなエラーを以下ではＥＣＣエラーという。ハードディスクレコーダでは、特許文献１に記載されているように、ＥＣＣエラーが生じたハードディスクのセクタを不良セクタとして記録し、当該不良セクタのデータを他の空きセクタに複写して、複写先のセクタを不良セクタの代替セクタとして用いる。
【０００５】
一方、例えばＤＶＤ（Digital Versatile Disk）にデータを記録する装置では、ＤＶＤの複数のセクタに跨ってＥＣＣを付加し、付加したＥＣＣを用いて、複数のセクタに記録したデータのエラー検出・訂正を行う。つまり、複数のセクタで１つのＥＣＣブロック（エラー訂正ブロック）を構成している。このような装置では、ＤＶＤにデータを記録中に電源が遮断されると、ＥＣＣブロックの途中で記録が中断され、データの不整合がある状態のＥＣＣブロックができてしまう。これに対して、特許文献２に記載されている装置では、電源遮断があった後の電源投入時に、データの記録位置を管理している記憶手段の情報から不整合ＥＣＣブロックの有無を確認し、確認した不整合ＥＣＣブロックに任意のデータを上書きして、当該不整合ＥＣＣブロックを修復する。
【特許文献１】特開平７−９８９４１号公報
【特許文献２】特開２０００−１１２８３１号公報
【特許文献３】特開平９−３０５４９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、従来のハードディスクレコーダでは、ＥＣＣエラーを生じたハードディスクの不良セクタのデータを他の空きセクタに複写して、当該不良セクタの代替セクタを作る。このようにすることで、ハードディスクに記録したデータが失われることを回避することはできるが、不良セクタをそのまま放置しておくと、ハードディスク内でデータの読み書きに使用できない無駄なセクタが増えて、ハードディスクの全記憶領域を有効利用することができないという問題がある。なお、上述した特許文献２の技術では、任意のデータを上書きすることにより不整合ＥＣＣブロックを修復して、以降当該ＥＣＣブロックを使用できるようにするが、この技術は、電源遮断によって不整合な状態となったＥＣＣブロックを修復の対象としているため、他の原因によってデータの読み出し時にＥＣＣエラーを生じる不良セクタを検出して修復することはできない。
【０００７】
本発明は、上記問題点を解決するものであって、その課題とするところは、不良セクタを検出して修復することにより、ハードディスクの全記憶領域を有効利用することが可能なハードディスクレコーダを提供することにある。
【課題を解決するための手段】
【０００８】
本発明では、データにエラー訂正用の冗長なコードであるＥＣＣを付加して、ハードディスクドライブによりハードディスクに記録するハードディスクレコーダにおいて、ハードディスクのセクタに記録されているデータを読み込んでＥＣＣによって訂正できないＥＣＣエラーの発生を確認し、ハードディスクのステータスレジスタに記録するハードディスクドライブ制御部と、電源が投入されている状態かつハードディスクに対するデータの読み書きが所定時間行われていない状態のときに、ステータスレジスタの内容を読み込んでＥＣＣエラーの発生した不良セクタを検出し、検出した不良セクタにダミーデータを書き込んで当該不良セクタを修復するメイン制御部とを備える。
【０００９】
このようにすると、ハードディスクドライブ制御部がハードディスクのセクタを読み込んでＥＣＣエラーの発生を確認し、その結果をステータスレジスタに記録した後に、メイン制御部がステータスレジスタの内容を読み込んでＥＣＣエラーの発生した不良セクタを検出し、当該不良セクタにダミーデータを書き込んで当該不良セクタを修復することで、不良セクタをデータの読み書きに使用できる正常セクタに戻して、ハードディスクの全記憶領域を有効利用することが可能となる。また、ハードディスクレコーダに電源が投入されている状態かつハードディスクに対するデータの読み書きが所定時間行われていない状態のときに、メイン制御部がステータスレジスタの内容を読み込んで不良セクタを検出して修復することで、ユーザはハードディスクレコーダでデータの再生や記録等を行わないときに電源を投入しておくだけで、ハードディスク内の不良セクタが検出されて修復されるので、手間がかからないという利点がある。
【００１０】
また、本発明の実施形態では、メイン制御部は、電源が投入されている状態かつハードディスクに対するデータの読み書きが所定時間行われていない状態のときに、ハードディスクドライブ制御部にＥＣＣエラーの発生確認を行わせ、その後ステータスレジスタの内容を読み込んでＥＣＣエラーの発生した不良セクタを検出する。
【００１１】
このようにすると、メイン制御部がステータスレジスタの内容を読み込む前に、ハードディスクドライブ制御部がＥＣＣエラーの発生を確認してステータスレジスタに記録するので、メイン制御部がＥＣＣエラーの発生した不良セクタを確実に検出して修復することが可能となる。
【００１２】
さらに、本発明の典型的な実施形態では、メイン制御部は、ハードディスクのセクタ毎に、ハードディスクドライブ制御部にＥＣＣエラーの発生確認を行わせ、その後ステータスレジスタの内容を読み込んでＥＣＣエラーの発生した不良セクタを検出し、検出した不良セクタにダミーデータを書き込んで当該不良セクタを修復する。
【００１３】
このようにすると、ハードディスクの各セクタに対して１つずつ順々に、ＥＣＣエラーが発生するか否かの確認をドライブ制御部で行って、ＥＣＣエラーが発生したことが確認された不良セクタをメイン制御部で即座に検出して修復することができる。
【発明の効果】
【００１４】
本発明によれば、ＥＣＣエラーを生じるハードディスクの不良セクタを検出して、データの読み書きに使用できるように修復することができるので、ハードディスクの全記憶領域を有効利用することが可能となる。また、ユーザはハードディスクレコーダに電源を投入しておくだけで、ハードディスクの不良セクタが自動的に検出されて修復されるので、手間がかからない。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明の実施形態に係るハードディスクレコーダ１の電気ブロック図である。図１のハードディスクレコーダ１は、主にメインシステム２とハードディスクドライブ３とから構成されていて、メインシステム２とハードディスクドライブ３とは、ＡＴＡＰＩ（AT Attachment Packet Interface）の規格に準拠したインターフェイス９、１９で接続されている。ハードディスクレコーダ１では、映像や音声等のデータにエラー訂正用の冗長なコードであるＥＣＣ（Error Correcting Code）を付加して、ハードディスクドライブ３によりハードディスク（磁気ディスク）１７に記録する。また、ハードディスク１７に記録したデータを読み込み、当該データに付加されたＥＣＣを用いて、当該データのエラーを検出し、検出したエラーを訂正する。ＥＣＣによるデータのエラー検出・訂正の技術は公知であるので、ここでは説明を省略する。
【００１６】
メインシステム２において、メイン制御部４は、ＣＰＵとＲＯＭおよびＲＡＭのメモリ等から構成されていて、ハードディスクレコーダ１の各部を制御する。チューナ５は、アンテナ１０によって受信したテレビ番組等の放送電波から映像と音声のアナログ信号を抽出する。信号処理部６は、チューナ５で抽出された信号をデジタルデータに変換し、当該データをさらにＭＰＥＧ（Moving Picture Experts Group）形式のデータに変換して、メイン制御部４に出力する。メイン制御部４は、信号処理部６から入力されるデータをインタフェイス９、１９を介してハードディスクドライブ３に送信し、当該データにＥＣＣを付加してハードディスク１７の所定の記録領域に記録させる。また、メイン制御部４は、ハードディスク１７の所定の記録領域から読み出されてハードディスクドライブ３よりインタフェイス１９、９を介して送信されて来たデータと、内部のメモリに記憶しているデータとを、信号処理部６に出力する。信号処理部６は、メイン制御部４から入力されたデータを、アナログ信号に変換して、テレビ２０に出力する。テレビ２０は、信号処理部６から入力される信号に基づいてＣＲＴ等のモニタに映像を映し出したり、スピーカから音声を出力したりする。
【００１７】
表示部７は、ＶＦＤ（蛍光表示管）等から構成されていて、時間やハードディスクレコーダ１の動作状態等を表示する。操作部８は、電源スイッチや再生・録画等の動作指示用ボタンといった各種の操作キーから構成されていて、ハードディスクレコーダ１の前面に設けられている。リモコン受信部１１は、リモコン１２からの信号を受信する。リモコン１２には、電源スイッチや動作指示用のボタンやチャンネルキー等の各種の操作キーが設けられている。電源部１３は、ハードディスクレコーダ１の各部に電力を供給する。
【００１８】
ハードディスクドライブ３において、ハードディスクドライブ制御部（以下、ドライブ制御部という。）１４は、ＣＰＵとＲＯＭおよびＲＡＭのメモリ等から構成されていて、ハードディスクドライブ３の各部を制御する。読書部１５は、ハードディスク１７に対して磁気データの読み書きを行う磁気ヘッド、ハードディスク１７を回転させるモータ、およびこれらの駆動用の回路等から構成されている。読書部１５は、ハードディスク１７からデータを読み取って信号処理部１６に出力したり、信号処理部１６から入力されるデータをハードディスク１７に書き込んだりする。信号処理部１６は、読書部１５から入力されるデータをデジタルデータに変換して、ドライブ制御部１４に出力したり、ドライブ制御部１４から入力されるデータをハードディスク１７に書き込めるように変換して、読書部１５に出力したりする。
【００１９】
レジスタ１８は、ＲＡＭ等のメモリから構成されている。メイン制御部４は、このレジスタ１８にインターフェイス９、１９を介してアクセスすることにより、ハードディスクドライブ３に各種のコマンドを送信して実行させたり、ハードディスクドライブ３との間でデータの送受信を行ったりする。レジスタ１８には、ハードディスクドライブ３の状態をメイン制御部４に通知するためのステータスレジスタ１８ａが含まれている。このステータスレジスタ１８ａには、ハードディスク１７のあるセクタからデータを読み出した際に、当該データに付加されたＥＣＣによって検出して訂正できなかったＥＣＣエラーの発生の有無がドライブ制御部１４によって記録される。レジスタ１８には、ステータスレジスタ１８ａ以外にも、データレジスタやコマンドレジスタやデバイスコントロールレジスタといった多くのレジスタが含まれている。他のレジスタの機能については公知であるので、ここでは説明を省略する。
【００２０】
図２は、上記ハードディスクレコーダ１の動作手順を示すフローチャートである。図２の各処理は、前述のメイン制御部４が実行する。図３は、図２のＥＣＣエラー検出・修復処理（ステップＳ４）の詳細手順を示すフローチャートである。図３の左側に示す各処理は、メイン制御部４が実行し、右側に示す各処理は、前述のドライブ制御部１４が実行する。
【００２１】
図２において、ユーザによってハードディスクレコーダ１に電源が投入されて、再生や録画等の動作が指示されるのを待機している通常状態になると（ステップＳ１）、メイン制御部４は、現在ハードディスク１７に対してデータの読み出しと書き込みを行っている最中か否かを確認する（ステップＳ２）。ここで、ハードディスク１７に対してデータの読み出しと書き込みの少なくとも一方を行っていることを確認すると（ステップＳ２：ＹＥＳ）、メイン制御部４は処理を終了する。これに対して、ステップＳ２でハードディスク１７に対してデータの読み出しと書き込みを行っていないことを確認すると（ステップＳ２：ＮＯ）、メイン制御部４は内部メモリによって時間の計測を開始する。
【００２２】
時間の計測開始後、所定時間が経過する前にユーザによって再生や録画等の動作が指示されて、ハードディスク１７に対してデータの読み出しまたは書き込みを行わなければならない状態になると（ステップＳ３：ＮＯ）、メイン制御部４は時間の計測を停止し、処理を終了する。これに対して、ハードディスク１７に対してデータの読み出しと書き込みを行っていない状態で所定時間が経過すると（ステップＳ３：ＹＥＳ）、現在電源が投入されかつハードディスク１７に対するデータの読み書きが所定時間行われていない状態（ハードディスク１７への非アクセス状態）であるので、メイン制御部４は時間の計測を停止し、ステップＳ４のＥＣＣエラー検出・修復処理を図３のフローチャートに従って実行する。
【００２３】
図３において、ＥＣＣエラー検出・修復処理を開始すると、まずメイン制御部４は、前述のインターフェイス９、１９によってハードディスクドライブ３に対して、ハードディスク１７の１つのセクタに記録されているデータの空読みを命令するリードベリファイコマンドを発行する（ステップＳ１１）。すると、ドライブ制御部１４が、インターフェイス９、１９によってリードベリファイコマンドを受信し（ステップＳ２１：ＹＥＳ）、当該コマンドで指定された１つのセクタのデータを読み込む（ステップＳ２２）。ここで、指定されたセクタのデータが正常に読み込めれば、ドライブ制御部１４は、当該セクタではＥＣＣエラーは発生しなかったと判断し（ステップＳ２３：ＮＯ）、前述のステータスレジスタ１８ａの当該セクタに割り付けられた領域の記録内容を変更することなく、ステップＳ２１へ移行し、メイン制御部４からの指示を待つ。なお、ステータスレジスタ１８ａの各セクタに割り付けられた領域の記録内容を変更しない状態、即ち当該領域が初期状態を保っていることは、対応するセクタでＥＣＣエラーが発生しないことを意味する。一方、ステップＳ２２で指定されたセクタのデータが正常に読み込めなければ、ドライブ制御部１４は、当該セクタではＥＣＣエラーが発生したと判断し（ステップＳ２３：ＹＥＳ）、ステータスレジスタ１８ａの当該セクタに割り付けられた領域にＥＣＣエラーが発生したことを記録する（ステップＳ２４）。
【００２４】
上述したようにリードベリファイコマンドを発行して、ドライブ制御部１４に指定したセクタでのＥＣＣエラーの発生確認を行わせると、メイン制御部４は、インターフェイス９、１９によってステータスレジスタ１８ａの指定したセクタの記録内容を読み込んで（ステップＳ１２）、当該セクタがＥＣＣエラーの発生した不良セクタであるか否かを検出する（ステップＳ１３）。ここで、指定したセクタがＥＣＣエラーの発生しなかった正常セクタであることを検出すると（ステップＳ１３：ＮＯ）、メイン制御部４は、ステップＳ１１へ移行し、インターフェイス９、１９によってハードディスクドライブ３に対して、次の１つのセクタのデータの空読みを命令するリードベリファイコマンドを発行する。
【００２５】
一方、ステータスレジスタ１８ａの指定したセクタの記録内容を読み込んで（ステップＳ１２）、当該セクタがＥＣＣエラーの発生した不良セクタであることを検出すると（ステップＳ１３：ＹＥＳ）、メイン制御部４は、インターフェイス９、１９によってハードディスクドライブ３に対して、当該不良セクタに全て「０」のダミーデータを書き込ませるライトコマンドを発行する（ステップＳ１４）。すると、ドライブ制御部１４が、インターフェイス９、１９によってライトコマンドを受信し（ステップＳ２５：ＹＥＳ）、当該コマンドで指定された不良セクタにダミーデータを上書きして、当該不良セクタをデータの読み書きが可能な正常セクタに修復する（ステップＳ２６）。この後、ドライブ制御部１４は、ステップＳ２１へ移行し、メイン制御部４からの指示を待つ。
【００２６】
メイン制御部４は、ステップＳ１４でライトコマンドを発行した後、ハードディスク１７の全セクタについて不良セクタの検出が完了したか否かを確認する（ステップＳ１５）。ここで、全セクタの完了が確認されなければ（ステップＳ１５：ＮＯ）、メイン制御部４は、ステップＳ１１へ移行し、前述したように次の１つのセクタのデータの空読みを命令するリードベリファイコマンドを発行する。そして、ステップＳ１５で全セクタの完了が確認されると（ステップＳ１５：ＹＥＳ）、メイン制御部４は、ＥＣＣエラー検出・修復処理を終了する。
【００２７】
なお、上述した図２および図３の各処理中に、ユーザによって前述のリモコン１２等が操作されて、データの再生や録画等の動作が指示されると、メイン制御部４とドライブ制御部１４はそれぞれ各処理を中止して、指示された動作を行う。ＥＣＣエラー検出・修復処理を上記のように中止したときは、処理中であったハードディスク１７のセクタの番地を記録しておき、その後ＥＣＣエラー検出・修復処理を再開したときに、記録した番地のセクタから順にＥＣＣエラーの発生確認を行うようにすると、全セクタを偏り無く確認可能となる。
【００２８】
以上のように、ドライブ制御部１４がハードディスク１７のセクタを読み込んでＥＣＣエラーの発生を確認し、その結果をステータスレジスタ１８ａに記録した後に、メイン制御部４がステータスレジスタ１８ａの内容を読み込んでＥＣＣエラーの発生した不良セクタを検出し、当該不良セクタにダミーデータを書き込んで当該不良セクタを修復することで、不良セクタをデータの読み書きに使用できる正常セクタに戻して、ハードディスク１７の全記憶領域を有効利用することが可能となる。また、ハードディスクレコーダ１に電源が投入されている状態かつハードディスク１７に対するデータの読み書きが所定時間行われていない状態のときに、メイン制御部４がステータスレジスタ１８ａを読み込んで不良セクタを検出して修復するので、ユーザはハードディスクレコーダ１でデータの再生や録画等を行わないときに電源を投入しておくだけで、ハードディスク１７内の不良セクタが検出されて修復されるので、手間がかからないという利点がある。
【００２９】
また、メイン制御部４がステータスレジスタ１８ａの内容を読み込む前に、ドライブ制御部１４が指定されたセクタでのＥＣＣエラーの発生を確認して、ステータスレジスタ１８ａに記録するので、メイン制御部４がＥＣＣエラーの発生した不良セクタを確実に検出して修復することが可能となる。
【００３０】
さらに、ハードディスク１７のセクタ毎に処理して行くことで、各セクタに対して１つずつ順々に、ＥＣＣエラーが発生するか否かの確認をドライブ制御部１４で行って、ＥＣＣエラーが発生したことが確認された不良セクタをメイン制御部４で即座に検出して修復することができる。
【００３１】
以上述べた実施形態では、メイン制御部４がステータスレジスタ１８ａの１つのセクタの記録内容を読み込む前に、リードベリファイコマンドを発行して、ドライブ制御部１４に当該１つのセクタでのＥＣＣエラーの発生確認を行わせた例を挙げたが、本発明はこれのみに限定するものではない。これ以外に、例えばデータの再生時等に、ドライブ制御部１４が各セクタでのＥＣＣエラーの発生確認を行って、その結果をステータスレジスタ１８ａに記録しておき、その後、メイン制御部４がリードベリファイコマンド等のデータの読み込み命令をドライブ制御部１４に発行することなく、ステータスレジスタ１８ａの内容を読み込んで不良セクタを検出し修復するようにしてもよい。このようにすると、メイン制御部４によるハードディスク１７内の不良セクタの検出と修復の処理の高速化を図ることが可能となる。
【００３２】
また、以上述べた実施形態では、ハードディスク１７のセクタ毎に、ドライブ制御部１４にＥＣＣエラーの発生確認を行わせて、メイン制御部４にＥＣＣの発生した不良セクタの検出および修復を行わせた例を挙げたが、本発明はこれのみに限定するものではない。これ以外に、例えば、ハードディスク１７の複数のセクタ毎またはトラック毎に、ドライブ制御部１４にＥＣＣエラーの発生確認を行わせて、メイン制御部４にＥＣＣの発生した不良セクタの検出および修復を行わせるようにしたり、ドライブ制御部１４に全セクタについてＥＣＣエラーの発生確認を行わせた後、メイン制御部４にＥＣＣの発生した不良セクタの検出および修復を行わせるようにしたりしてもよい。
【図面の簡単な説明】
【００３３】
【図１】ハードディスクレコーダの電気ブロック図である。
【図２】ハードディスクレコーダの動作手順を示すフローチャートである。
【図３】ＥＣＣエラー検出・修復処理の詳細手順を示すフローチャートである。
【符号の説明】
【００３４】
１      ハードディスクレコーダ
３      ハードディスクドライブ
４      メイン制御部
１４    ハードディスクドライブ制御部
１７    ハードディスク
１８ａ  ステータスレジスタ
【図１】
2006092651.tif 000003
【図２】
2006092651.tif 000004
【図３】
2006092651.tif 000005