(57)【要約】【課題】破壊されたセクタを、再び記録再生可能状態に復旧することができるようにする。【解決手段】メディア制御部１５２は、同じセクタにおける書き込み実行回数をカウントしており、制限回数を超えても書き込みが成功しない場合には、書き込みが失敗したセクタの情報を、不良セクタ情報として、不揮発性メモリ３３に記憶する。また、メディア制御部１５２は、アプリケーション１０１からマウント処理やフォーマット処理が要求された場合、記録媒体１０４に対応するデバイスドライバ１０３に対して、不揮発性メモリ３３の不良セクタ情報に基づく、書き込みが失敗したセクタの読み出し処理を要求するとともに、マウント処理やフォーマット処理を要求する。本発明は、記録媒体にデータを記録する記録再生装置に適用できる。【選択図】図３
2007334970.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体にデータを記録する記録装置において、
前記記録媒体の所定の記録単位の領域へのデータの書き込みを制御する書込制御手段と、
前記所定の記録単位の領域への前記データの書き込みが成功したか否かを判定する書込判定手段と、
前記書込判定手段により前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報を記憶する記憶手段と
を備える記録装置。
【請求項２】
前記記録媒体のマウント処理を制御するマウント制御手段と、
前記マウント制御手段により制御される前記記録媒体のマウント処理の際に、前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に基づいて、前記所定の記録単位の領域からのデータの読み出しを制御する読出制御手段と
をさらに備える請求項１に記載の記録装置。
【請求項３】
前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に記載の書き込み失敗回数が所定の閾値より多いか否かを判定する回数判定手段をさらに備え、
前記回数判定手段により前記書き込み失敗回数が所定の閾値より多いと判定された場合、前記読出制御手段は、前記記録媒体全面に対しての読み出しを順次制御する
請求項２に記載の記録装置。
【請求項４】
前記記録媒体のフォーマット処理を制御するフォーマット制御手段と、
前記フォーマット制御手段により制御される前記記録媒体のフォーマット処理の際に、前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に基づいて、前記所定の記録単位の領域からのデータの読み出しを制御する読出制御手段と
をさらに備える請求項１に記載の記録装置。
【請求項５】
前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に記載の書き込み失敗回数が所定の閾値より多いか否かを判定する回数判定手段をさらに備え、
前記回数判定手段により前記書き込み失敗回数が所定の閾値より多いと判定された場合、前記読出制御手段は、前記記録媒体全面に対しての読み出しを順次制御する
請求項４に記載の記録装置。
【請求項６】
記録媒体にデータを記録する記録装置の記録方法において、
前記記録媒体の所定の記録単位の領域へのデータの書き込みを制御し、
前記所定の記録単位の領域への前記データの書き込みが成功したか否かを判定し、
前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報を記憶手段に記憶させる
ステップを含む記録方法。
【請求項７】
記録媒体にデータを記録する記録装置に、
前記記録媒体の所定の記録単位の領域へのデータの書き込みを制御し、
前記所定の記録単位の領域への前記データの書き込みが成功したか否かを判定し、
前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報を記憶手段に記憶させる
ステップを含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置および方法、並びにプログラムに関し、特に、アクセス中のセクタが破壊されたとしても、マウント処理またはフォーマット処理の際に、交替セクタ処理を発動させることができるようにした記録装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
例えば、ハードディスクドライブ(HDD)に対して記録処理を行った際に、振動や衝撃、温度や湿度、その他の要因が影響して、所望のセクタへ正しくデータを書き込めない場合がある。
【０００３】
このような場合に対する提案の１つとして、特許文献１には、リトライ回数を増減させる工夫などが提案されている。
【０００４】
【特許文献１】特開２００３−２２６２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、所望のセクタへ正しくデータを書き込めない場合には、HDD内部にて交替セクタ処理を行わないと、そのセクタに対して書き込みリトライを行ったとしても、再び書き込みエラーとなるときがある。したがって、単に、リトライ回数やタイムアウト値などを増減させるだけでは、リトライ効果が得られず、結果的に、所望のセクタへデータが書きこめない場合があった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、アクセス中のセクタが破壊されたとしても、マウント処理またはフォーマット処理の際に、交替セクタ処理を発動させることで、そのセクタを再び、記録再生可能状態に復旧することができるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の一側面の記録装置は、記録媒体にデータを記録する記録装置において、前記記録媒体の所定の記録単位の領域へのデータの書き込みを制御する書込制御手段と、前記所定の記録単位の領域への前記データの書き込みが成功したか否かを判定する書込判定手段と、前記書込判定手段により前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報を記憶する記憶手段とを備える。
【０００８】
前記記録媒体のマウント処理を制御するマウント制御手段と、前記マウント制御手段により制御される前記記録媒体のマウント処理の際に、前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に基づいて、前記所定の記録単位の領域からのデータの読み出しを制御する読出制御手段とをさらに備えることができる。
【０００９】
前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に記載の書き込み失敗回数が所定の閾値より多いか否かを判定する回数判定手段をさらに備え、前記回数判定手段により前記書き込み失敗回数が所定の閾値より多いと判定された場合、前記読出制御手段は、前記記録媒体全面に対しての読み出しを順次制御することができる
【００１０】
前記記録媒体のフォーマット処理を制御するフォーマット制御手段と、前記フォーマット制御手段により制御される前記記録媒体のフォーマット処理の際に、前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に基づいて、前記所定の記録単位の領域からのデータの読み出しを制御する読出制御手段とをさらに備えることができる。
【００１１】
前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に記載の書き込み失敗回数が所定の閾値より多いか否かを判定する回数判定手段をさらに備え、前記回数判定手段により前記書き込み失敗回数が所定の閾値より多いと判定された場合、前記読出制御手段は、前記記録媒体全面に対しての読み出しを順次制御することができる。
【００１２】
本発明の一側面の記録方法は、記録媒体にデータを記録する記録装置の記録方法において、前記記録媒体の所定の記録単位の領域へのデータの書き込みを制御し、前記所定の記録単位の領域への前記データの書き込みが成功したか否かを判定し、前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報を記憶手段に記憶させるステップを含む。
【００１３】
本発明の一側面のプログラムは、記録媒体にデータを記録する記録装置に、前記記録媒体の所定の記録単位の領域へのデータの書き込みを制御し、前記所定の記録単位の領域への前記データの書き込みが成功したか否かを判定し、前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報を記憶手段に記憶させるステップを含む処理を実行させる。
【００１４】
本発明においては、記録媒体の所定の記録単位の領域へのデータの書き込みが制御され、前記所定の記録単位の領域への前記データの書き込みが成功したか否かが判定される。そして、前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報が記憶手段に記憶される。
【発明の効果】
【００１５】
本発明によれば、セクタが破壊されても、マウント処理やフォーマット処理の際に、交替セクタ処理を発動させることができる。これにより、破壊されたセクタを、再び記録再生可能状態に復旧することができる。
【発明を実施するための最良の形態】
【００１６】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１７】
本発明の一側面の記録装置は、記録媒体（例えば、図２の記録媒体１０４）にデータを記録する記録装置（例えば、図１の記録再生装置１）において、前記記録媒体の所定の記録単位の領域へのデータの書き込みを制御する書込制御手段（例えば、図３の書込制御部１７１）と、前記所定の記録単位の領域への前記データの書き込みが成功したか否かを判定する書込判定手段（例えば、図５のステップＳ１０６の処理を行う図３のメディア制御部１５２）と、前記書込判定手段により前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報（例えば、図４の不良セクタ情報）を記憶する記憶手段（例えば、図１の不揮発性メモリ３３）とを備える。
【００１８】
前記記録媒体のマウント処理を制御するマウント制御手段（例えば、図３のマウント制御部１７３）と、前記マウント制御手段により制御される前記記録媒体のマウント処理の際に、前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に基づいて、前記所定の記録単位の領域からのデータの読み出しを制御する読出制御手段（例えば、図３の読出制御部１７２）とをさらに備えることができる。
【００１９】
前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に記載の書き込み失敗回数が所定の閾値より多いか否かを判定する回数判定手段（例えば、図８のステップＳ１７３の処理を行う図３のメディア制御部１５２）をさらに備え、前記回数判定手段により前記書き込み失敗回数が所定の閾値より多いと判定された場合、前記読出制御手段は、前記記録媒体全面に対しての読み出しを順次制御することができる
【００２０】
前記記録媒体のフォーマット処理を制御するフォーマット制御手段（例えば、図３のフォーマット制御部１７４）と、前記フォーマット制御手段により制御される前記記録媒体のフォーマット処理の際に、前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に基づいて、前記所定の記録単位の領域からのデータの読み出しを制御する読出制御手段（例えば、図３の読出制御部１７２）とをさらに備えることができる。
【００２１】
前記記憶手段に記憶された前記データの書き込みが失敗した前記所定の記録単位の領域の情報に記載の書き込み失敗回数が所定の閾値より多いか否かを判定する回数判定手段（例えば、図９のステップＳ２０３の処理を行う図３のメディア制御部１５２）をさらに備え、前記回数判定手段により前記書き込み失敗回数が所定の閾値より多いと判定された場合、前記読出制御手段は、前記記録媒体全面に対しての読み出しを順次制御することができる。
【００２２】
本発明の一側面の記録方法は、記録媒体にデータを記録する記録装置の記録方法において、前記記録媒体の所定の記録単位の領域へのデータの書き込みを制御し（例えば、図５のステップＳ１０４）、前記所定の記録単位の領域への前記データの書き込みが成功したか否かを判定し（例えば、図５のステップＳ１０６）、前記データの書き込みが失敗したと判定された場合、前記データの書き込みが失敗した前記所定の記録単位の領域の情報を記憶手段に記憶させる（例えば、図５のステップＳ１１０）ステップを含む。
【００２３】
本発明は、ハードディスクドライブ(HDD)などを記録媒体として用いるビデオカメラ、デジタルスチルカメラ、パーソナルコンピュータや、HDDなどの記録媒体にデータを記録する記録装置（例えば、HDDレコーダ）などに適用することができる。
【００２４】
以下、図を参照して本発明の実施の形態について説明する。
【００２５】
図１は、本発明を適用した記録再生装置１の一実施形態に係る構成例を示す図である。この記録再生装置１は、例えば、デジタルスチルカメラ、デジタルビデオカメラなどとして構成され、撮影した画像（または音声）のデータを、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどの記録媒体に記録したり、記録媒体に記録された画像（または音声）のデータを再生したりする。
【００２６】
図１において、光学レンズ１１は、カメラ機能部１２の制御に基づいて、被写体の画像の光を集光し、集光した光を、光電変換部１３に結像させる。
【００２７】
カメラ機能部１２は、CPU（central processing unit）５１の制御に基づいて、光学レンズ１１による被写体の撮影動作を開始させたり、終了させたりする他、光学レンズ１１のズーム率、取り込む光量などを適宜制御する。
【００２８】
光電変換部１３は、例えば、CCD（charge-coupled device）やC-MOS（Complementary-Metal Oxide Semiconductor）などの光電変換素子により構成され、光学レンズ１１から供給される光を電気的信号に変換し、画像信号処理部１４に供給する。
【００２９】
画像信号処理部１４は、光電変換部１３から供給される信号に基づいて、画像のデータを生成する。画像信号処理部１４は、例えば、CPU５１の制御に基づいて、被写体の画像に対応するアナログの信号を、A/D（Analog to Digital）変換して、デジタルの画像のデータとし、その画像のデータに対して、例えば、ホワイトバランスの調整、欠陥画素の補間などの画像処理を適用する。また、画像信号処理部１４は、CPU５１の制御に基づいて、MEPG（Motion Picture Experts Group）、JPEG（Joint Photographic Expert Group）などの方式による画像のデータの圧縮符号化を行ったり、圧縮符号化された画像のデータの復号を行ったりする。
【００３０】
また、画像信号処理部１４は、被写体の画像に対応するアナログの信号を、A/D変換して、ホワイトバランスを調整し、または欠陥画素を補間した画像のデータを、ディスプレイ１６および画像入出力部１５に供給する。より具体的には、画像信号処理部１４は、その画像データを、ディスプレイ１６の入力方式である、例えば、RGB（Red, Green, Blue）信号に変換して、ディスプレイ１６に供給し、同様に、画像信号処理部１４は、RGB信号を画像入出力部１５にも供給する。
【００３１】
画像入出力部１５は、例えば、外部の装置から供給される画像信号を、画像信号処理部１４に供給し、また、画像信号処理部１４から出力される画像のデータに対応する信号を、外部の装置に出力する。ディスプレイ１６は、例えば、LCD（Liquid Crystal Display）などにより構成され、画像信号処理部１４から出力される画像のデータに対応する信号に基づく画像を表示する。
【００３２】
音声入出力部２１は、例えば、マイクロフォンなどにより集音された音声信号を、音声処理部２２に供給し、また、音声処理部２２から出力される音声のデータに対応する音声を、スピーカなどに出力する。音声処理部２２は、CPU５１の制御のもと、音声入出力部２１から供給される音声の信号に基づいて、圧縮符号化された音声のデータを生成したり、圧縮符号化された音声のデータの復号を行ったりする。
【００３３】
RAM（Random Access Memory）３１は、ドライブ３６に装着される記録媒体から読み出されるプログラムなどのデータ、またはプログラムによる処理に伴って生成されるデータなどを記憶し、必要に応じてCPU５１に供給する。ROM（Read Only Memory）３２は、予め記憶されているデータを、必要に応じてCPU５１に供給する。不揮発性メモリ３３は、例えば、EEPROM（Electrically Erasable Programmable Read-Only Memory）などで構成され、CPU５１の処理に用いられる各種のデータを記憶する。
【００３４】
操作入力部３４は、例えば、操作キーまたはボタンなどを有する構成とされ、ユーザにより入力された操作に対応する信号を、CPU５１に出力する。
【００３５】
通信部３５は、例えば、ネットワークカードなどにより構成され、Ethernet(登録商標)、USB（Universal Serial Bus）などの有線通信のインタフェース、または、IEEE８０２．１１a/b/g、Bluetoothなどの無線通信のインタフェースとして機能し、CPU５１の制御に基づいて、ネットワークに接続される他の装置との通信を行う。
【００３６】
ドライブ３６には、例えば、HDD（Hard Disk Drive）などの磁気ディスク、DVD（Digital Versatile Disk）やCD（Compact Disk）、Blu-ray DiscやHD-DVD（High Definition DVD）などの光ディスク、MD（登録商標）（Mini-Disk））などの光磁気ディスク、フラッシュメモリ、メモリースティック（登録商標）などの半導体メモリなどで構成される各種の記録媒体が装着される。ドライブ３６は、装着された記録媒体にアクセスし、データを記録したり、記録したデータを読み出したりする。
【００３７】
センサ３７は、角速度センサや加速度センサ、温度センサなどで構成され、例えば、光学的な補正を行うため、画像のぶれを検出したりする。検出された画像のぶれは、CPU５１を介して、画像信号処理部１４に供給される。電源３８は、記録再生装置１を駆動させるために必要となる電力を供給する。
【００３８】
CPU５１は、各種の演算を行ってデータの処理を行い、記録再生装置１全体の動作を制御する。
【００３９】
図２は、記録再生装置１における記録媒体１０４へのデータの記録、または記録媒体１０４からのデータの読み出しの仕組みを説明する図である。同図において、アプリケーション１０１は、CPU５１で実行されるソフトウェアの最上位のレイヤに属するソフトウェアであり、例えば、動画像の記録または再生の処理を制御する。
【００４０】
アプリケーション１０１は、自身が行う処理に伴って、記録または再生が必要となるデータについて、例えば、所定の記録単位のデータで構成されるファイルを単位としてアクセスする。アプリケーション１０１は、所定のファイルにアクセスするとき、ファイルシステム１０２にアクセス要求を出力する。また、アプリケーション１０１は、ファイルシステム１０２からのファイルのアクセス要求に対する応答を受け、必要に応じて、ユーザに通知するため、その応答に対応する画像を生成して、ディスプレイ１６に表示させる。
【００４１】
ファイルシステム１０２は、記録媒体１０４のどこに何のファイルがあるのか、その情報を管理するためのソフトウェアであり、やはりCPU５１により実行されるソフトウェアとされる。ファイルシステム１０２は、例えば、FAT（ファット）１６またはFAT３２などにより構成される。なお、FAT32の詳細は、「Microsoft Extensible Firmware Initiative FAT32 File System Specification」に開示されている。
【００４２】
ファイルシステム１０２は、アプリケーション１０１からアクセス要求のあったファイルについて、所定のビット量で構成されるクラスタに分解し、クラスタ単位でアクセスする。例えば、アプリケーション１０１からファイルシステム１０２に対して、ファイルの読み出しが要求された場合、ファイルシステム１０２は、そのファイルの実データが記録されているクラスタを該当クラスタとして検索する。また例えば、アプリケーション１０１からファイルシステム１０２に対してファイルの書き込みが要求された場合、ファイルシステム１０２は、ファイルの実データを書き込み可能な空きクラスタを該当クラスタとして検索する。
【００４３】
そして、ファイルシステム１０２は、検索された該当クラスタをLBA(Logical Block Addressing)に変換し、デバイスドライバ１０３に対して、セクタ単位でアクセスを要求する。また、ファイルシステム１０２は、自身が出力したアクセス要求に基づいてデバイスドライバ１０３から供給された応答に基づいて、ファイルのアクセス要求に対する応答をアプリケーション１０１に出力する。
【００４４】
デバイスドライバ１０３は、ドライブ３６の動作を制御するためのソフトウェアであり、やはりCPU５１により実行されるソフトウェアとされる。デバイスドライバ１０３は、ファイルシステム１０２からのアクセス要求に基づいて、ドライブ３６を制御してドライブ３６に装着される記録媒体１０４にセクタ単位でアクセスする。これにより、ドライブ３６が、自身に装着された記録媒体１０４の要求されたセクタにアクセスする。ここでセクタは、クラスタよりさらに細かい記録単位であり（複数のセクタによりクラスタが構成される）、LBAによりアクセスすべきセクタが指定される。また、自身が出力したセクタ単位のアクセス要求に基づいて記録媒体１０４（実際にはドライブ３６）から供給された応答に基づいて、セクタのアクセス要求に対する応答をファイルシステム１０２に出力する。
【００４５】
記録媒体１０４（ドライブ３６）は、デバイスドライバ１０３からのアクセス要求に基づいて、アクセス要求のあったセクタにデータを書き込み（記録し）、またはアクセス要求のあったセクタからデータを読み出す処理を行い、その処理結果を、セクタのアクセス要求に対する応答としてデバイスドライバ１０３に出力する。例えば、記録媒体１０４は、デバイスドライバ１０３からセクタ単位での読み出しが要求された場合、セクタ毎に記録されているデータをデバイスドライバ１０３に供給する。
【００４６】
ここで、例えば、HDDなどの記録媒体１０４では、一般的に所定のエラー条件を満たした場合、HDD内部にて交替セクタ処理が実行される。所定のエラー条件の１つに、HDD内部における不良セクタ登録処理があるが、HDDの種別によっては、その不良セクタ登録処理が、読み出し処理をトリガにして実行されるものがある。このようなHDDにおいては、従来、書き込み処理中に、振動や衝撃、温度や湿度、またはその他の要因にて、現在アクセスしているセクタを破壊してしまい、書き込み処理がエラーになり、再度書き込み処理を行ったとしても、不良セクタ登録処理が行われない。したがって、交替セクタ処理も行われず、結果として、エラー終了してしまう場合があった。
【００４７】
すなわち、この場合、そのセクタへの読み出し処理が実行されない限り、HDD内部における不良セクタ登録処理および交替セクタ処理が実行されないということになる。
【００４８】
そこで、本発明においては、書き込み処理が失敗した場合、書き込み処理が失敗した不良セクタの情報を不揮発性メモリに記憶、更新しておき、その更新された情報を、次回のマウント処理、またはフォーマット処理の際に参照し、そのタイミングで、書き込み処理に失敗したセクタに対して、ダミーの読み出し処理を実行する。
【００４９】
なお、読み出し処理を「ダミーの」と表している理由は、読み出し処理の目的が、HDDから所望のデータを読み出すことではなく、不良セクタ登録処理がHDD内部にて行われることを期待するものだからである。また、本発明における不良セクタの情報を不揮発性メモリに記憶、更新する処理は、上述したCPU５１で実行されるソフトウェアによる処理であり、HDD内部にて行われる不良セクタ登録処理とは全く異なる処理である。
【００５０】
このような処理を実行する場合の図２のファイルシステム１０２およびデバイスドライバ１０３は、図３に示される機能ブロックで構成される。
【００５１】
なお、図３の例においては、HDDである記録媒体１０４がドライブ３６に装着されている例を説明するため、記録媒体１０４へのアクセスを制御するデバイスドライバ１０３しか示されていないが、実際には、ドライブ３６に装着されている記録媒体の数だけの個々のデバイスドライバが備えられる。
【００５２】
ファイルシステム１０２は、記録制御部１５１およびメディア制御部１５２により構成されている。記録制御部１５１は、アプリケーション１０１のうち、ファイルの記録処理を実行するアプリケーションから、ファイル名とともに実データが供給され、記録媒体１０４に対するファイルの書き込みが要求された場合、その実データを、RAM３１の書込バッファメモリ１８１に一旦蓄積し、デバイスドライバ１０３を制御して、書き込みが要求された記録媒体１０４において、ファイルの実データを書き込み可能な空きクラスタを該当クラスタとして検索する。
【００５３】
メディア制御部１５２は、ファイルの記録処理を実行するアプリケーションからの要求に応じて、記録制御部１５１により検索された該当クラスタをLBAに変換し、書き込みが要求された記録媒体１０４に対応するデバイスドライバ１０３に対して、セクタ単位で書き込みを要求し、これに対応して書き込みの結果がデバイスドライバ１０３から通知される。メディア制御部１５２は、同じセクタの書き込みの度、RAM３１またはレジスタなどに、書き込み実行回数をカウントしており、制限回数を超えても書き込みが成功しない場合には、上位アプリケーションに書き込みエラーを通知し、書き込みが失敗したセクタの情報を、不良セクタ情報として、不揮発性メモリ３３に記憶する。すなわち、不揮発性メモリ３３に記憶されている不良セクタ情報は、異なるセクタについて、書き込みが失敗する度に、書き込みが失敗したセクタの情報で更新される。
【００５４】
メディア制御部１５２は、アプリケーション１０１のうち、記録媒体１０４のマウント処理を実行するアプリケーションからの要求に応じて、要求された記録媒体１０４に対応するデバイスドライバ１０３に対して、不揮発性メモリ３３の不良セクタ情報に基づく、書き込みが失敗したセクタの読み出し処理を要求するとともに、マウント処理を要求する。
【００５５】
メディア制御部１５２は、アプリケーション１０１のうち、記録媒体１０４のフォーマット処理を実行するアプリケーションからの要求に応じて、要求された記録媒体１０４に対応するデバイスドライバ１０３に対して、不揮発性メモリ３３の不良セクタ情報に基づく、書き込みが失敗したセクタの読み出し処理を要求するとともに、フォーマット処理を要求する。
【００５６】
デバイスドライバ１０３は、記録媒体１０４に対して、データの書き込みを行わせる書込制御部１７１、記録媒体１０４からデータの読み出しを行わせる読出制御部１７２、記録媒体１０４のマウント処理を行わせるマウント制御部１７３、および、記録媒体１０４のフォーマット処理を行わせるフォーマット処理部１７４により構成されている。
【００５７】
書込制御部１７１は、メディア制御部１５２の要求に応じて、ドライブ３６を制御し、RAM３１に構成される書込バッファ１８１に蓄積されたデータを、対応する記録媒体１０４における書き込みが要求されたセクタから、Ｎセクタ（Ｎ＞０）分書き込ませ、その処理結果をメディア制御部１５２に通知する。
【００５８】
読出制御部１７２は、メディア制御部１５２の要求に応じて、ドライブ３６を制御し、対応する記録媒体１０４における読み出しが要求されたセクタから、Ｎセクタ（Ｎ＞０）分のデータを読み出させ、読み出されたデータを、 RAM３１に構成される読出バッファメモリ１８２に蓄積し、その処理結果をメディア制御部１５２に通知する。
【００５９】
マウント制御部１７３は、メディア制御部１５２の要求に応じて、ドライブ３６を制御し、記録媒体１０４を認識させ、記録再生可能状態にするマウント処理を行わせ、その処理結果をメディア制御部１５２に通知する。
【００６０】
フォーマット制御部１７４は、メディア制御部１５２の要求に応じて、ドライブ３６を制御し、記録媒体１０４の初期化を行うフォーマット処理を行わせ、その処理結果をメディア制御部１５２に通知する。
【００６１】
RAM３１には、記録媒体１０４に記録されるファイルの実データが蓄積される書込バッファメモリ１８１、記録媒体１０４から読み出されたデータが蓄積される読出バッファメモリ１８２が構成されている。
【００６２】
不揮発性メモリ３３には、図４に示される不良セクタ情報が記憶されている。図４は、不揮発性メモリ３３に記憶される不良セクタ情報の構造例を示している。
【００６３】
不良セクタ情報は、書き込み処理中、異なるセクタについて書き込みが失敗する（すなわち、上位に対して書き込みエラーが通知される）度に更新されるものであり、２バイトからなる書き込み失敗回数、６バイトからなる不良セクタ番号(LBA)、２バイトからなるセクタカウントで構成される。
【００６４】
書き込み失敗回数は、０乃至６５，５３５の数字のうち、書き込み処理中、異なるセクタについて書き込みが失敗した回数であり、この書き込み失敗回数は、書き込みが失敗する度に１ずつインクリメントされる。
【００６５】
不良セクタ番号は、書き込みが失敗したセクタの開始アドレスが、例えば「XXXXXXXX」というように、LBA(Logical Block Addressing)で登録される。セクタカウントは、書き込みサイズ、すなわち、書き込みが失敗したセクタ数が、例えば、「YYYYYYYY」というように登録される。
【００６６】
以上のように、書き込み処理中、書き込みエラーとなる度に、書き込み失敗回数が、インクリメントされ、書き込みエラーとなったセクタの情報が不良セクタ番号およびセクタカウントとして追加されることで、不良セクタ情報が更新されていく。
【００６７】
次に、図５のフローチャートを参照して、記録再生装置１における記録処理について説明する。なお、以下、記録再生装置１のドライブ３６に装着されている、HDDである記録媒体１０４にデータを記録する例を説明する。
【００６８】
例えば、アプリケーション１０１のうち、ファイルの記録処理を実行するアプリケーションから、ファイル名とともに実データが供給され、記録媒体１０４に対するファイルの書き込みが要求された場合、記録制御部１５１は、その実データを、RAM３１の書込バッファメモリ１８１に一旦蓄積するとともに、デバイスドライバ１０３を制御して、書き込みが要求された記録媒体１０４において、ファイルの実データを書き込み可能な空きクラスタを該当クラスタとして検索する。
【００６９】
ステップＳ１０１において、メディア制御部１５２は、不揮発性メモリ３３から、不良セクタ情報を読み出す。メディア制御部１５２は、ステップＳ１０２において、例えば、RAM３１に記憶される書き込み実行回数を０に設定（リセット）させ、ステップＳ１０３およびＳ１０４において、記録媒体１０４に対応するデバイスドライバ１０３の書込制御部１７１に要求し、記録媒体１０４へのデータの書き込み処理を実行させる。
【００７０】
すなわち、書込制御部１７１は、メディア制御部１５２の要求に応じて、ステップＳ１０３において、記録媒体１０４の書き込み処理に即したタイムアウト値を設定し、ステップＳ１０４において、ドライブ３６を制御し、書込バッファメモリ１８１に蓄積されたデータを、記録媒体１０４におけるセクタＸから、Ｎセクタ（Ｎ＞０）書き込ませる。なお、セクタＸは、書き込みを開始する１つのセクタを表している。
【００７１】
ステップＳ１０５において、メディア制御部１５２は、RAM３１に記憶される書き込み実行回数をインクリメントさせる。
【００７２】
書込制御部１７１は、ステップＳ１０４において書き込み処理を終了すると、ドライブ３６からの応答に基づいて、処理結果を、メディア制御部１５２に通知してくる。その通知に基づき、ステップＳ１０６において、メディア制御部１５２は、書き込みが成功したか否かを判定し、書き込みが成功したと判定した場合、処理は、ステップＳ１０７に進む。ステップＳ１０７において、メディア制御部１５２は、書き込み成功を、記録制御部１５１を介して、上位のアプリケーション１０１に通知し、その後、記録媒体１０４の記録処理を終了させる。
【００７３】
ステップＳ１０６において、書き込みが失敗したと判定された場合、処理は、ステップＳ１０８に進む。ステップＳ１０８において、メディア制御部１５２は、RAM３１に記憶される書き込み実行回数が予め設定されている制限回数よりも少ないか否かを判定し、書き込み実行回数が予め設定されている制限回数よりも少ないと判定した場合、処理は、ステップＳ１０３に戻り、それ以降の処理が繰り返される。すなわち、制限回数までは、書き込みのリトライ制御が実行される。
【００７４】
ステップＳ１０８において、書き込み実行回数が予め設定されている制限回数を超えたと判定された場合、メディア制御部１５２は、書き込みエラーとして、ステップＳ１０９において、ステップＳ１０１において読み出した不良セクタ情報を、書き込みが失敗したセクタの情報で更新する。すなわち、書き込み失敗回数がインクリメントされ、書き込みが失敗したセクタの情報に基づく不良セクタ番号およびセクタカウントが追加されて、不良セクタ情報が更新される。
【００７５】
ステップＳ１１０において、メディア制御部１５２は、更新した不良セクタ情報を、不揮発性メモリ３３に格納する。そして、メディア制御部１５２は、ステップＳ１１１において、書き込みエラーを、記録制御部１５１を介して、上位のアプリケーション１０１に通知し、その後、記録媒体１０４の記録処理を終了させる。
【００７６】
これに対応して、アプリケーション１０１は、書き込みエラーをユーザに通知するための画像を生成し、生成した画像を、ディスプレイ１６に表示させる。
【００７７】
以上のように、記録処理においては、書き込み処理の再度実行（リトライ）を所定の回数実行した後、書き込みエラーとなる度に、書き込みエラーとなった（すなわち、書き込みが失敗した）セクタの情報が追加されて、不良セクタ情報が更新される。
【００７８】
次に、図６のフローチャートを参照して、記録再生装置１における記録媒体１０４のマウント処理について説明する。
【００７９】
記録再生装置１に電源が入ると、CPU５１は、アプリケーション１０１、ファイルシステム１０２、デバイスドライバ１０３などのソフトウェアを実行する。また、HDDである記録媒体１０４も起動される。
【００８０】
例えば、アプリケーション１０１のうち、記録媒体１０４のマウント処理を実行するアプリケーションから、記録媒体１０４に対するマウント処理が要求される。メディア制御部１５２は、ステップＳ１３１において、不揮発性メモリ３３から、不良セクタ情報を読み出し、ステップＳ１３２において、その先頭２バイトに記載の書き込み失敗回数が０であるか否かを判定する。
【００８１】
ステップＳ１３２において、書き込み失敗回数が０ではないと判定された場合、処理はステップＳ１３３に進む。メディア制御部１５２は、ステップＳ１３３において、不良セクタ情報から、不良セクタ番号とセクタカウントの組み合わせを１つ読み出し、ステップＳ１３４とＳ１３５において、デバイスドライバ１０３の読出制御部１７２に要求し、記録媒体１０４における、読み出した不良セクタ番号とセクタカウントの組み合わせに基づくセクタからのデータの読み出し処理を実行させる。
【００８２】
すなわち、読出制御部１７２は、メディア制御部１５２の要求に応じて、ステップＳ１３４において、HDDである記録媒体１０４の読み出し処理に即したタイムアウト値を設定し、ステップＳ１３５において、ドライブ３６を制御し、記録媒体１０４における、不良セクタ番号のセクタから、セクタカウントが示すＮセクタのデータを読み出させ、読み出されたデータを、読出バッファメモリ１８２に蓄積する。そして、読出制御部１７２は、ドライブ３６からの応答に基づいて、その処理結果を、メディア制御部１５２に通知する。
【００８３】
このとき、記録媒体１０４（すなわち、HDD）内部においては、これらのセクタ（不良セクタ番号のセクタから、Ｎセクタのセクタ領域）が破壊されている場合には、これらのセクタからデータが読み出されないので、不良セクタ登録処理が実行される。これにより、記録媒体１０４内部においては、交替セクタ処理が発動される。
【００８４】
メディア制御部１５２は、ステップＳ１３６において、不良セクタ情報の書き込み失敗回数をデクリメントし、ステップＳ１３７において、不良セクタ情報の書き込み失敗回数が０であるか否かを判定する。ステップＳ１３７において、書き込み失敗回数が０ではないと判定された場合、処理は、ステップＳ１３３に戻り、それ以降の処理が繰り返される。ステップＳ１３７において、書き込み失敗回数が０であると判定された場合、処理は、ステップＳ１３８に進む。
【００８５】
ステップＳ１３８において、メディア制御部１５２は、不揮発性メモリ３３の不良セクタ情報をリセットする。すなわち、メディア制御部１５２は、不揮発性メモリ３３の不良セクタ情報における、書き込み失敗回数を０に設定し、不良セクタ番号とセクタカウントを削除する。その後、処理は、ステップＳ１３９に進む。
【００８６】
一方、ステップＳ１３２において、書き込み失敗回数が０であると判定された場合も、処理はステップＳ１３９に進む。
【００８７】
ステップＳ１３９において、メディア制御部１５２は、要求された記録媒体１０４に対応するデバイスドライバ１０３のマウント制御部１７３に対して、マウント処理を要求し、マウント制御部１７３に、記録媒体１０４のマウント処理を実行させる。すなわち、マウント制御部１７３は、ステップＳ１３９において、メディア制御部１５２の要求に応じて、ドライブ３６を制御し、記録媒体１０４を認識させ、記録再生可能状態にするマウント処理を行わせ、その処理結果をメディア制御部１５２に通知する。
【００８８】
これに対応して、メディア制御部１５２により、マウント処理の結果が、記録媒体１０４のマウント処理を実行する上位のアプリケーションに通知され、図６のマウント処理は終了される。
【００８９】
なお、図６の例においては、ステップＳ１３９における実際のマウント処理の前に、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われる場合を説明したが、例えば、ステップＳ１３１の前に、実際にマウント処理が行われてから、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われるようにすることもできる。
【００９０】
以上のように、記録媒体１０４をマウントする際に、不揮発性メモリ３３に記憶されている不良セクタ情報に基づく読み出し処理を行うようにしたので、書き込み時に書き込みが失敗したセクタについて、記録媒体１０４（すなわち、HDD）内部において、効果的に、交替セクタ処理を発動させることが可能になる。
【００９１】
したがって、次回、書き込み時に書き込みが失敗したセクタに対して、書き込み処理が行われる際には、殆どの場合、交替セクタ処理済みであり、論理セクタは同じであっても、物理セクタが異なるので、所望のセクタにデータを書き込むことができるようになる。すなわち、書き込みが失敗したセクタを再び、記録再生可能状態に復旧させることが可能になる。
【００９２】
また、記録再生装置１の起動時などにおいて記録媒体１０４をマウントする時間は、もともと、ユーザが待ち状態であるときであるので、この時間を利用して、不良セクタ情報に基づく読み出し処理を行うことは、ユーザにとっては、例えば、他の処理中（例えば、記録処理中など）に行う場合よりもあまり負荷にならないため、とても効果的である。
【００９３】
次に、図７のフローチャートを参照して、記録再生装置１における記録媒体１０４のフォーマット処理について説明する。なお、図７の例においては、ステップＳ１５９のフォーマット処理が、ステップＳ１３９のマウント処理と異なる点が図６の例と異なるだけであり、図７のステップＳ１５１乃至Ｓ１５８の処理は、図６のステップＳ１３１乃至Ｓ１３８の処理と基本的に同様の処理を行う。
【００９４】
例えば、アプリケーション１０１のうち、記録媒体１０４のフォーマット処理を実行するアプリケーションから、記録媒体１０４に対するフォーマット処理が要求される。メディア制御部１５２は、ステップＳ１５１において、不揮発性メモリ３３から、不良セクタ情報を読み出し、ステップＳ１５２において、その先頭２バイトに記載の書き込み失敗回数が０であるか否かを判定する。
【００９５】
ステップＳ１５２において、書き込み失敗回数が０ではないと判定された場合、処理はステップＳ１５３に進む。メディア制御部１５２は、ステップＳ１５３において、不良セクタ情報から、不良セクタ番号とセクタカウントの組み合わせを１つ読み出し、ステップＳ１５４とＳ１５５において、デバイスドライバ１０３の読出制御部１７２に要求し、記録媒体１０４における、読み出した不良セクタ番号とセクタカウントの組み合わせに基づくセクタからのデータの読み出し処理を実行させる。
【００９６】
すなわち、読出制御部１７２は、メディア制御部１５２の要求に応じて、ステップＳ１５４において、HDDである記録媒体１０４の読み出し処理に即したタイムアウト値を設定し、ステップＳ１５５において、ドライブ３６を制御し、記録媒体１０４における、不良セクタ番号のセクタから、セクタカウントが示すＮセクタのデータを読み出させ、読み出されたデータを、読出バッファメモリ１８２に蓄積する。そして、読出制御部１７２は、ドライブ３６からの応答に基づいて、その処理結果を、メディア制御部１５２に通知する。
【００９７】
このとき、記録媒体１０４（すなわち、HDD）内部においては、これらのセクタ（不良セクタ番号のセクタから、Ｎセクタのセクタ領域）が破壊されている場合には、これらのセクタからデータが読み出されないので、不良セクタ登録処理が実行される。これにより、記録媒体１０４内部においては、交替セクタ処理が発動される。
【００９８】
メディア制御部１５２は、ステップＳ１５６において、不良セクタ情報の書き込み失敗回数をデクリメントし、ステップＳ１５７において、不良セクタ情報の書き込み失敗回数が０であるか否かを判定する。ステップＳ１５７において、書き込み失敗回数が０ではないと判定された場合、処理は、ステップＳ１５３に戻り、それ以降の処理が繰り返される。ステップＳ１５７において、書き込み失敗回数が０であると判定された場合、処理は、ステップＳ１５８に進む。
【００９９】
ステップＳ１５８において、メディア制御部１５２は、不揮発性メモリ３３の不良セクタ情報をリセットする。すなわち、メディア制御部１５２は、不揮発性メモリ３３の不良セクタ情報における、書き込み失敗回数を０に設定し、不良セクタ番号とセクタカウントを削除する。その後、処理は、ステップＳ１５９に進む。
【０１００】
一方、ステップＳ１５２において、書き込み失敗回数が０であると判定された場合も、処理はステップＳ１５９に進む。
【０１０１】
ステップＳ１５９において、メディア制御部１５２は、要求された記録媒体１０４に対応するデバイスドライバ１０３のフォーマット制御部１７４に対して、フォーマット処理を要求し、フォーマット制御部１７４に、記録媒体１０４のフォーマット処理を実行させる。すなわち、フォーマット制御部１７４は、ステップＳ１５９において、メディア制御部１５２の要求に応じて、ドライブ３６を制御し、ドライブ３６を制御し、記録媒体１０４の初期化を行うフォーマット処理を行わせ、その処理結果をメディア制御部１５２に通知する。
【０１０２】
これに対応して、メディア制御部１５２により、フォーマット処理の結果が、記録媒体１０４のフォーマット処理を実行する上位のアプリケーションに通知され、図７のフォーマット処理は終了される。
【０１０３】
なお、図７の例においても、ステップＳ１５９における実際のフォーマット処理の前に、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われる場合を説明したが、例えば、ステップＳ１５１の前に、実際にフォーマット処理が行われてから、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われるようにすることもできる。
【０１０４】
この場合、例えば、フォーマット処理により、記録媒体１０４で実行される不良セクタ登録処理で登録された不良セクタ情報が消去されてしまうという記録媒体１０４にも対応することができる。
【０１０５】
すなわち、このような記録媒体１０４においては、記録媒体１０４の読み出し処理の後に、フォーマット処理が行われてしまうと、交替セクタ処理が発動される前に、記録媒体１０４の読み出し処理により登録された不良セクタ情報が消去されてしまう場合がある。したがって、記録媒体１０４の種類によっては、ステップＳ１５１の前に、実際にフォーマット処理が行われてから、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われるようにすることで、フォーマット処理により、記録媒体１０４で実行される不良セクタ登録処理で登録された不良セクタ情報が消去されてしまうことを抑制することができる。
【０１０６】
以上のように、記録媒体１０４をフォーマットする際に、不揮発性メモリ３３に記憶されている不良セクタ情報に基づく読み出し処理を行うようにしたので、書き込み時に書き込みが失敗したセクタについて、記録媒体１０４（すなわち、HDD）内部において、効果的に、交替セクタ処理を発動させることが可能になる。
【０１０７】
したがって、次回、書き込み時に書き込みが失敗したセクタに対して、書き込み処理が行われる際には、殆どの場合、交替セクタ処理済みであり、論理セクタは同じであっても、物理セクタが異なるので、所望のセクタにデータを書き込むことができるようになる。すなわち、書き込みが失敗したセクタを再び、記録再生可能状態に復旧させることが可能になる。
【０１０８】
また、ユーザの指示により、記録媒体１０４をフォーマットする時間も、マウント処理の時間と同様に、もともと、ユーザが待ち状態であるときであるので、この時間を利用して、不良セクタ情報に基づく読み出し処理を行うことは、ユーザにとっては、例えば、他の処理中に行う場合よりもあまり負荷にならないため、効果的である。
【０１０９】
次に、図８のフローチャートを参照して、図６のマウント処理の他の例を説明する。なお、図８のステップＳ１７１，Ｓ１７２，Ｓ１７４乃至Ｓ１７８，Ｓ１８０，Ｓ１８１の処理は、図６のステップＳ１３１乃至Ｓ１３９の処理と基本的に同様の処理を行うため、繰り返しになるのでその詳細な説明は適宜省略する。
【０１１０】
メディア制御部１５２は、ステップＳ１７１において、不揮発性メモリ３３から、不良セクタ情報を読み出し、ステップＳ１７２において、不良セクタ情報の先頭２バイトに記載の書き込み失敗回数が０であるか否かを判定する。
【０１１１】
ステップＳ１７２において、書き込み失敗回数が０ではないと判定された場合、処理はステップＳ１７３に進む。ステップＳ１７３において、メディア制御部１５２は、書き込み失敗回数が予め設定されている閾値より少ないか否かを判定し、書き込み失敗回数がその閾値よりも少ないと判定した場合、処理は、ステップＳ１７４に進む。
【０１１２】
メディア制御部１５２は、ステップＳ１７４において、不良セクタ情報から、不良セクタ番号とセクタカウントの組み合わせを１つ読み出し、ステップＳ１７５とＳ１７６において、デバイスドライバ１０３の読出制御部１７２に要求し、記録媒体１０４における、読み出した不良セクタ番号とセクタカウントの組み合わせに基づくセクタからのデータの読み出し処理を実行させる。
【０１１３】
すなわち、読出制御部１７２は、メディア制御部１５２の要求に応じて、ステップＳ１７５において、HDDである記録媒体１０４の読み出し処理に即したタイムアウト値を設定し、ステップＳ１７６において、ドライブ３６を制御し、記録媒体１０４における、不良セクタ番号のセクタから、セクタカウントが示すＮセクタのデータを読み出させ、読み出されたデータを、読出バッファメモリ１８２に蓄積する。そして、読出制御部１７２は、ドライブ３６からの応答に基づいて、その処理結果を、メディア制御部１５２に通知する。
【０１１４】
このとき、記録媒体１０４（すなわち、HDD）内部においては、これらのセクタ（不良セクタ番号のセクタから、Ｎセクタのセクタ領域）が破壊されている場合には、これらのセクタからデータが読み出されないので、不良セクタ登録処理が実行される。これにより、記録媒体１０４内部においては、交替セクタ処理が発動される。
【０１１５】
メディア制御部１５２は、ステップＳ１７７において、不良セクタ情報の書き込み失敗回数をデクリメントし、ステップＳ１７８において、不良セクタ情報の書き込み失敗回数が０であるか否かを判定する。ステップＳ１７８において、書き込み失敗回数が０ではないと判定された場合、処理は、ステップＳ１７４に戻り、それ以降の処理が繰り返される。ステップＳ１７８において、書き込み失敗回数が０であると判定された場合、処理は、ステップＳ１８０に進む。
【０１１６】
ステップＳ１７３において、書き込み失敗回数がその閾値以上であると判定された場合、処理は、ステップＳ１７９に進む。この場合、書き込み失敗回数があまりにも多い、すなわち、記録媒体１０４において破壊されているセクタがあまりにも多いので、ステップＳ１７９において、メディア制御部１５２は、デバイスドライバ１０３の読出制御部１７２に要求し、記録媒体１０４全面に対して、順次データの読み出し処理を実行させる。
【０１１７】
すなわち、読出制御部１７２は、ステップＳ１７９において、ドライブ３６を制御し、記録媒体１０４全面に対して、順次データを読み出させ、読み出されたデータを、読出バッファメモリ１８２に蓄積する。そして、読出制御部１７２は、ドライブ３６からの応答に基づいて、その処理結果を、メディア制御部１５２に通知する。その後、処理は、ステップＳ１８０に進む。
【０１１８】
このときも、記録媒体１０４（すなわち、HDD）内部においては、読み出しを行ったセクタが破壊されている場合には、これらのセクタからデータが読み出されないので、不良セクタ登録処理が実行される。これにより、記録媒体１０４内部においては、交替セクタ処理が発動される。
【０１１９】
なお、この場合、記録媒体１０４には破壊されているセクタがあまりにも多いので、そのことを、上位のアプリケーション１０１に通知して、記録媒体１０４には破壊されているセクタが多いことを通知する画像などを、ディスプレイ１６に表示させ、ユーザに通知することもできる。これにより、ユーザは、記録媒体１０４が着脱可能である場合、記録媒体１０４そのものが異常となってしまう前に交換したり、修理したりすることができる。
【０１２０】
ステップＳ１８０において、メディア制御部１５２は、不揮発性メモリ３３の不良セクタ情報をリセットする。すなわち、メディア制御部１５２は、不揮発性メモリ３３の不良セクタ情報における、書き込み失敗回数を０に設定し、不良セクタ番号とセクタカウントを削除する。その後、処理は、ステップＳ１８１に進む。
【０１２１】
一方、ステップＳ１７２において、書き込み失敗回数が０であると判定された場合も、処理はステップＳ１８１に進む。
【０１２２】
ステップＳ１８１において、メディア制御部１５２は、要求された記録媒体１０４に対応するデバイスドライバ１０３のマウント制御部１７３に対して、マウント処理を要求し、マウント制御部１７３に、記録媒体１０４のマウント処理を実行させる。すなわち、マウント制御部１７３は、ステップＳ１８１において、メディア制御部１５２の要求に応じて、ドライブ３６を制御し、記録媒体１０４を認識させ、記録再生可能状態にするマウント処理を行わせ、その処理結果をメディア制御部１５２に通知する。
【０１２３】
これに対応して、メディア制御部１５２により、マウント処理の結果が、記録媒体１０４のマウント処理を実行する上位のアプリケーションに通知され、図８のマウント処理は終了される。
【０１２４】
なお、図８の例においても、ステップＳ１８１における実際のマウント処理の前に、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われる場合を説明したが、例えば、ステップＳ１７１の前に、実際にマウント処理が行われてから、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われるようにすることもできる。
【０１２５】
以上のように、記録媒体１０４をマウントする際に、不揮発性メモリ３３に記憶されている不良セクタ情報に基づく読み出し処理を行うようにし、さらに、書き込み失敗回数があまりにも多い場合、記録媒体１０４全体について順次読み出し処理を行うようにしたので、書き込み時に書き込みが失敗したセクタについて、効率的に、記録媒体１０４（すなわち、HDD）内部において交替セクタ処理を発動させることが可能になる。
【０１２６】
次に、図９のフローチャートを参照して、記録再生装置１における記録媒体１０４のフォーマット処理について説明する。なお、図９のステップＳ２０１，Ｓ２０２，Ｓ２０４乃至Ｓ２０８，Ｓ２１０，Ｓ２１１の処理は、図８のステップＳ１５１乃至Ｓ１５９の処理と基本的に同様の処理を行うため、繰り返しになるのでその詳細な説明は適宜省略する。
【０１２７】
メディア制御部１５２は、ステップＳ２０１において、不揮発性メモリ３３から、不良セクタ情報を読み出し、ステップＳ２０２において、その先頭２バイトに記載の書き込み失敗回数が０であるか否かを判定する。
【０１２８】
ステップＳ２０２において、書き込み失敗回数が０ではないと判定された場合、処理はステップＳ２０３に進む。ステップＳ２０３において、メディア制御部１５２は、書き込み失敗回数が予め設定されている閾値より少ないか否かを判定し、書き込み失敗回数がその閾値よりも少ないと判定した場合、処理は、ステップＳ２０４に進む。
【０１２９】
メディア制御部１５２は、ステップＳ２０４において、不良セクタ情報から、不良セクタ番号とセクタカウントの組み合わせを１つ読み出し、ステップＳ２０５とＳ２０６において、デバイスドライバ１０３の読出制御部１７２に要求し、記録媒体１０４における、読み出した不良セクタ番号とセクタカウントの組み合わせに基づくセクタからのデータの読み出し処理を実行させる。
【０１３０】
すなわち、読出制御部１７２は、メディア制御部１５２の要求に応じて、ステップＳ２０５において、HDDである記録媒体１０４の読み出し処理に即したタイムアウト値を設定し、ステップＳ２０６において、ドライブ３６を制御し、記録媒体１０４における、不良セクタ番号のセクタから、セクタカウントが示すＮセクタのデータを読み出させ、読み出されたデータを、読出バッファメモリ１８２に蓄積する。そして、読出制御部１７２は、ドライブ３６からの応答に基づいて、その処理結果を、メディア制御部１５２に通知する。
【０１３１】
このとき、記録媒体１０４（すなわち、HDD）内部においては、これらのセクタ（不良セクタ番号のセクタから、Ｎセクタのセクタ領域）が破壊されている場合には、これらのセクタからデータが読み出されないので、不良セクタ登録処理が実行される。これにより、記録媒体１０４内部においては、交替セクタ処理が発動される。
【０１３２】
メディア制御部１５２は、ステップＳ２０７において、不良セクタ情報の書き込み失敗回数をデクリメントし、ステップＳ２０８において、不良セクタ情報の書き込み失敗回数が０であるか否かを判定する。ステップＳ２０８において、書き込み失敗回数が０ではないと判定された場合、処理は、ステップＳ２０４に戻り、それ以降の処理が繰り返される。ステップＳ２０８において、書き込み失敗回数が０であると判定された場合、処理は、ステップＳ２１０に進む。
【０１３３】
ステップＳ２０３において、書き込み失敗回数がその閾値以上であると判定された場合、処理は、ステップＳ２０９に進む。この場合、書き込み失敗回数があまりにも多い、すなわち、破壊されているセクタがあまりにも多いので、ステップＳ２０９において、メディア制御部１５２は、デバイスドライバ１０３の読出制御部１７２に要求し、記録媒体１０４全面に対して、順次データの読み出し処理を実行させる。
【０１３４】
すなわち、読出制御部１７２は、ステップＳ２０９において、ドライブ３６を制御し、記録媒体１０４全面に対して、順次データを読み出させ、読み出されたデータを、読出バッファメモリ１８２に蓄積する。そして、読出制御部１７２は、ドライブ３６からの応答に基づいて、その処理結果を、メディア制御部１５２に通知する。その後、処理は、ステップＳ２１０に進む。
【０１３５】
このときも、記録媒体１０４（すなわち、HDD）内部においては、読み出しを行ったセクタが破壊されている場合には、これらのセクタからデータが読み出されないので、不良セクタ登録処理が実行される。これにより、記録媒体１０４内部においては、交替セクタ処理が発動される。
【０１３６】
なお、この場合も、図８の例の場合と同様に、記録媒体１０４には破壊されているセクタがあまりにも多いので、そのことを、上位のアプリケーション１０１に通知して、記録媒体１０４には破壊されているセクタが多いことを通知する画像などを、ディスプレイ１６に表示させ、ユーザに通知することもできる。
【０１３７】
ステップＳ２１０において、メディア制御部１５２は、不揮発性メモリ３３の不良セクタ情報をリセットする。すなわち、メディア制御部１５２は、不揮発性メモリ３３の不良セクタ情報における、書き込み失敗回数を０に設定し、不良セクタ番号とセクタカウントを削除する。その後、処理は、ステップＳ２１１に進む。
【０１３８】
一方、ステップＳ２０２において、書き込み失敗回数が０であると判定された場合も、処理はステップＳ２１１に進む。
【０１３９】
ステップＳ２１１において、メディア制御部１５２は、要求された記録媒体１０４に対応するデバイスドライバ１０３のフォーマット制御部１７４に対して、フォーマット処理を要求し、フォーマット制御部１７４に、記録媒体１０４のフォーマット処理を実行させる。すなわち、フォーマット制御部１７４は、ステップＳ２１１において、メディア制御部１５２の要求に応じて、ドライブ３６を制御し、ドライブ３６を制御し、記録媒体１０４の初期化を行うフォーマット処理を行わせ、その処理結果をメディア制御部１５２に通知する。
【０１４０】
これに対応して、メディア制御部１５２により、フォーマット処理の結果が、記録媒体１０４のフォーマット処理を実行する上位のアプリケーションに通知され、図９のフォーマット処理は終了される。
【０１４１】
なお、図９の例においても、ステップＳ２１１における実際のフォーマット処理の前に、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われる場合を説明したが、例えば、ステップＳ２０１の前に、実際にフォーマット処理が行われてから、不良セクタ情報に基づく記録媒体１０４の読み出し処理が行われるようにすることもできる。
【０１４２】
この場合も、例えば、フォーマット処理により、記録媒体１０４で実行される不良セクタ登録処理で登録された不良セクタ情報が消去されてしまうという記録媒体１０４にも対応することができる。
【０１４３】
以上のように、記録媒体１０４をフォーマットする際に、不揮発性メモリ３３に記憶されている不良セクタ情報に基づく読み出し処理を行うようにし、さらに、書き込み失敗回数があまりにも多い場合、記録媒体１０４全体について順次読み出し処理を行うようにしたので、書き込み時に書き込みが失敗したセクタについて、効率的に、記録媒体１０４（すなわち、HDD）内部において交替セクタ処理を発動させることが可能になる。
【０１４４】
なお、本発明は、特にHDDに対して適用した場合に効果的であるため、上記説明においては、HDDである記録媒体１０４を用いて説明したが、これに限定されることなく、ランダムアクセス可能な記録媒体全般と、その制御に用いる各種デバイスに対して適用可能である。また、本発明は、着脱可能な記録媒体に対しても、本体内蔵の記録媒体と同様に、適用可能である。また、ファイルシステムに関しても、UDF（Universal Disk Format）などであってもよく、FAT３２またはFAT１６に限定されるものではない。
【０１４５】
また、ダミーの読み出し処理を挿入しない方が、リトライ効果が得られる記録媒体に対しては、記録媒体１０４の種別を先に判別することで、不良セクタ情報の更新を行わない記録処理を行わせるようにすることもできる。この場合、不良セクタ情報における書き込み失敗回数は０となるため、マウント処理やフォーマット処理の際には、ダミーの読み出し処理は実行されない。
【０１４６】
以上のように、不良セクタ情報を更新する処理を組み合わせたリトライ制御を有する記録処理において、動画像や静止画像、音声などの各種ファイルのデータを記録媒体に記録することにより、振動や衝撃、温度や湿度、または、その他の要因によって、アクセス中のセクタを破壊してしまったとしても、その次に行われるマウント処理やフォーマット処理の際に、効果的に、HDD内部にて、交替セクタ処理を発動させることが可能となり、そして、その後、破壊されたセクタを、再び、記録再生可能な状態に復旧させることができる。
【０１４７】
以上においては、本発明を記録再生装置に適用した例について説明したが、本発明を汎用のパーソナルコンピュータに適用することも可能である。図１０は、パーソナルコンピュータ６０１の構成例を示すブロック図である。なお、本発明が適用される記録媒体に記録する記録装置の実施の形態は、図１に示される記録再生装置１および図１０に示されるパーソナルコンピュータ６０１に限定されず、所定のファイルシステムを利用して、記録媒体の記録および読み出しの制御が可能な記録装置であれば構わない。具体的には、例えば、PDA（Personal Digital Assistants）、携帯電話機、または、デジタル電化製品（例えば、テレビジョン受像機やハードディスク録画装置）等様々な実施の形態が可能である。
【０１４８】
図１０の例において、CPU（Central Processing Unit）６１１は、ROM（Read Only Memory）６１２、または記憶部６１８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）６１３には、CPU６１１が実行するプログラムやデータなどが適宜記憶される。これらのCPU６１１、ROM６１２、およびRAM６１３は、バス６１４により相互に接続されている。
【０１４９】
CPU６１１にはまた、バス６１４を介して入出力インタフェース６１５が接続されている。入出力インタフェース６１５には、ユーザが操作して、テキストを入力するキーボード６３１、ポインティングデバイスの一例であるマウス６３２、画像を入力するスキャナ６３３、音声を入力するマイクロフォン６３４等の入力デバイスで構成される入力部６１６、ディスプレイなどの表示部６４１、音声を出力するスピーカ６４２、紙に文字または画像を印刷して、いわゆるハードコピーを出力するプリンタ６４３、紙に文字または画像を描画するプロッタ６４４等の出力デバイスで構成される出力部６１７が接続されている。
【０１５０】
さらに、入出力インタフェース６１５には、プログラムや各種データを記録するHDD６１９、およびLAN（Local Area Network）またはインターネットを含むネットワークを介してデータを通信する、USB（Universal Serial Bus）インタフェース６５１,IEEE（Institute of Electrical and Electronic Engineers）1394インタフェース６５２、ブルートゥースインタフェース６５３,IEEE802.11インタフェース６５４などで構成される通信部６１８が接続されている。
【０１５１】
USBインタフェース６５１は、USBの規格に基づき、ケーブルを介して（有線通信で）、他の機器と通信する。IEEE1394インタフェース６５２は、IEEE1394の規格に基づき、ケーブルを介して、他の機器と通信する。同様に、ブルートゥースインタフェース６５３は、ブルートゥースの規格に基づき、他の機器と無線通信する。IEEE802.11インタフェース６５４は、IEEE802.11a，IEEE802.11b、またはIEEE802.11gなどの規格に基づき、他の機器と無線通信する。
【０１５２】
入出力インタフェース６１５にはまた、必要に応じてドライブ６２０が接続され、磁気ディスク６６１、光ディスク６６２、光磁気ディスク６６３、或いは半導体メモリ６６４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてHDD６１９にインストールされる。
【０１５３】
ドライブ６２０は、CPU６１１の制御に基づいて、装着されている磁気ディスク６６１、光ディスク６６２、光磁気ディスク６６３、或いは半導体メモリ６６４などの記録媒体に記録されているデータを読み出し、CPU６１１に供給する。また、CPU６１１より供給されたデータを、ドライブ６２０に装着される磁気ディスク６６１、光ディスク６６２、光磁気ディスク６６３、或いは半導体メモリ６６４などに記憶させる。
【０１５４】
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディアなどからなる記録媒体からインストールされる。
【０１５５】
この記録媒体は、図１０に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスク（登録商標）を含む）６６１、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）６６２、光磁気ディスク（MD（Mini-Disk）（登録商標）を含む）６６３、もしくは半導体メモリ６６４などよりなるリムーバブルメディアにより構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６１２や、HDD６１９に含まれるハードディスクなどで構成されるものも含む。
【０１５６】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１５７】
【図１】本発明を適用した記録再生装置の一実施形態に係る構成例を示す図である。
【図２】図１の記録再生装置における記録媒体へのデータの記録、または記録媒体からのデータの読み出しの仕組みを説明する図である。
【図３】図１のCPUで実行されるソフトウェアの機能的構成例を示すブロック図である。
【図４】図１の不揮発性メモリに記憶される不良セクタ情報の構造例を示す図である。
【図５】図１の記録再生装置における記録媒体の記録処理を説明するフローチャートである。
【図６】図１の記録再生装置における記録媒体のマウント処理を説明するフローチャートである。
【図７】図１の記録再生装置における記録媒体のフォーマット処理を説明するフローチャートである。
【図８】図１の記録再生装置における記録媒体のマウント処理の他の例を説明するフローチャートである。
【図９】図１の記録再生装置における記録媒体のフォーマット処理の他の例を説明するフローチャートである。
【図１０】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０１５８】
１  記録再生装置，  １６  ディスプレイ，  ３１  RAM，  ３３  不揮発性メモリ，  ３６  ドライブ，  ５１  CPU，  １０１  アプリケーション，  １０２  ファイルシステム，  １０３  デバイスドライバ，  １０４  記録媒体，  １５１  記録制御部，  １５２  メディア制御部，  １７１  書込制御部，  １７２  読出制御部，  １７３  マウント制御部，  １７４  フォーマット制御部
【図１】
2007334970.tif 000003
【図２】
2007334970.tif 000004
【図３】
2007334970.tif 000005
【図４】
2007334970.tif 000006
【図５】
2007334970.tif 000007
【図６】
2007334970.tif 000008
【図７】
2007334970.tif 000009
【図８】
2007334970.tif 000010
【図９】
2007334970.tif 000011
【図１０】
2007334970.tif 000012