(57)【要約】【課題】物理フォーマット処理の処理時間を短縮することができる、制御装置、制御プログラム、及び制御方法を提供する。【解決手段】制御部１１は、「フォーマット対象セクタ」に対応するマッピング領域の長さを変更することなく、「フォーマット対象セクタ」のユーザデータ領域及び非ユーザデータ領域のサイズを変更する。マッピング領域の長さは、情報記録媒体が対応する最大のセクタサイズに対応する固定長Ｌである。【選択図】図１
2019109950.tif 000002
【特許請求の範囲】
【請求項１】
各セクタが非ユーザデータ領域及びユーザデータ領域を有する複数のセクタをそれぞれマッピングする複数のマッピング領域を含む情報記録媒体に対する物理フォーマット処理を制御する制御部であって、フォーマット対象セクタに対応するマッピング領域の長さを変更することなく、前記フォーマット対象セクタのユーザデータ領域及び非ユーザデータ領域のサイズを変更する制御部、を具備する制御装置。
【請求項２】
前記制御部は、前記フォーマット対象セクタに対する物理フォーマット処理を行う場合、現在の物理フォーマット処理の世代を示す世代情報の値を前記フォーマット対象セクタの非ユーザデータ領域の世代情報領域に書き込む、
請求項１記載の制御装置。
【請求項３】
管理情報を記憶するメモリをさらに具備し、
前記制御部は、前記複数のセクタに対して前記現在の物理フォーマット処理を開始する場合、前記管理情報に含まれる管理世代情報の値を前記現在の物理フォーマット処理の世代を示す世代情報の値に更新する、
請求項２記載の制御装置。
【請求項４】
前記制御部は、前記複数のセクタのすべてに対して前記現在の物理フォーマット処理の前の物理フォーマット処理が完了していることを開始条件として、前記現在の物理フォーマット処理を前記複数のセクタに対して開始する、
請求項３記載の制御装置。
【請求項５】
前記世代情報は、１ビットで表される情報である、
請求項４記載の制御装置。
【請求項６】
前記制御部は、前記複数のセクタのうちのリード処理対象セクタに対するリードコマンドを受け取った場合、前記管理世代情報の値と前記リード処理対象セクタの前記世代情報領域に書き込まれた世代情報の値とを比較し、両者が一致しない場合、前記フォーマット対象セクタの初期化に用いられる初期化パターンを前記リードコマンドの送信元に向けて出力する、
請求項３から５のいずれか１項に記載の制御装置。
【請求項７】
前記管理情報は、前記管理世代情報の他に、前記複数のセクタに対する前記現在の物理フォーマット処理の変更サイズに関する情報を含み、
前記制御部は、前記複数のセクタのうちのライト処理対象セクタに対するライトコマンド及びユーザデータを受け取った場合、前記ライト処理対象セクタの前記世代情報領域に、前記管理世代情報の値を書き込むと共に、前記ライト処理対象セクタの前記ユーザデータ領域に、前記ユーザデータを前記変更サイズに従ったサイズによって書き込む、
請求項３から６のいずれか１項に記載の制御装置。
【請求項８】
各セクタが非ユーザデータ領域及びユーザデータ領域を有する複数のセクタをそれぞれマッピングする複数のマッピング領域を含む情報記録媒体に対する物理フォーマット処理を制御する制御処理であって、フォーマット対象セクタに対応するマッピング領域の長さを変更することなく、前記フォーマット対象セクタのユーザデータ領域及び非ユーザデータ領域のサイズを変更する制御処理を、制御装置に実行させる制御プログラム。
【請求項９】
各セクタが非ユーザデータ領域及びユーザデータ領域を有する複数のセクタをそれぞれマッピングする複数のマッピング領域を含む情報記録媒体に対する物理フォーマット処理を制御するときに、フォーマット対象セクタに対応するマッピング領域の長さを変更することなく、前記フォーマット対象セクタのユーザデータ領域及び非ユーザデータ領域のサイズを変更する、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御プログラム、及び制御方法に関する。
【背景技術】
【０００２】
フォーマット完了までの時間を短縮することができる、情報記録媒体に対する「論理フォーマット」にかかる技術が開示されている（例えば、特許文献１）。一般的に、情報記録媒体は、「セクタ」単位で記録情報を保存する。セクタとは、ユーザデータを含む最小基本単位であり、「ユーザデータ領域」及び「非ユーザデータ領域」を含んでいる。ユーザデータ領域のサイズは、「セクタサイズ」と呼ばれることがあり、一般的には、５１２バイト又は５２０バイトである。論理フォーマット処理は、ユーザデータ領域のデータを初期化する処理であり、セクタサイズの変更やセクタの欠陥箇所の更新を行うことはできない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２１５６８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、フォーマット処理には、上記の論理フォーマット処理の他に、「物理フォーマット処理」がある。物理フォーマット処理は、上記の論理フォーマット処理と異なり、ユーザデータ領域及び非ユーザデータ領域の記録情報の初期化、セクタサイズの変更、及びセクタの欠陥箇所の更新などを行う処理である。すなわち、物理フォーマット処理は、セクタサイズの変更が伴うため、論理フォーマット処理に比べて長い処理時間を要する可能性がある。
【０００５】
本開示の目的は、物理フォーマット処理の処理時間を短縮することができる、制御装置、制御プログラム、及び制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
第１の態様にかかる制御装置は、各セクタが非ユーザデータ領域及びユーザデータ領域を有する複数のセクタをそれぞれマッピングする複数のマッピング領域を含む情報記録媒体に対する物理フォーマット処理を制御する制御部であって、フォーマット対象セクタに対応するマッピング領域の長さを変更することなく、前記フォーマット対象セクタのユーザデータ領域及び非ユーザデータ領域のサイズを変更する制御部、を具備する。
【０００７】
第２の態様にかかる制御プログラムは、各セクタが非ユーザデータ領域及びユーザデータ領域を有する複数のセクタをそれぞれマッピングする複数のマッピング領域を含む情報記録媒体に対する物理フォーマット処理を制御する制御処理であって、フォーマット対象セクタに対応するマッピング領域の長さを変更することなく、前記フォーマット対象セクタのユーザデータ領域及び非ユーザデータ領域のサイズを変更する制御処理を、制御装置に実行させる。
【０００８】
第３の態様にかかる制御方法は、各セクタが非ユーザデータ領域及びユーザデータ領域を有する複数のセクタをそれぞれマッピングする複数のマッピング領域を含む情報記録媒体に対する物理フォーマット処理を制御するときに、フォーマット対象セクタに対応するマッピング領域の長さを変更することなく、前記フォーマット対象セクタのユーザデータ領域及び非ユーザデータ領域のサイズを変更する。
【発明の効果】
【０００９】
本発明により、物理フォーマット処理の処理時間を短縮することができる、制御装置、制御プログラム、及び制御方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態の制御装置の一例を示すブロック図である。
【図２】情報記録媒体の記憶領域全体（プラッタ）におけるセクタの配列の一例を示す図である。
【図３】第１実施形態の制御装置の物理フォーマット処理の説明に供する図である。
【図４】比較例を示す図である。
【図５】第２実施形態の制御装置を含むハードディスクドライブの一例を示すブロック図である。
【図６】第２実施形態の制御装置の一例を示すブロック図である。
【図７】第２実施形態の管理情報の説明に供する図である。
【図８】第２実施形態の高速フォーマット開始時の処理動作の一例を示すフローチャートである。
【図９】第２実施形態の高速フォーマットをサポートするライト処理の一例を示すフローチャートである。
【図１０】第２実施形態のライト処理の説明に供する図である。
【図１１】第２実施形態の高速フォーマットをサポートするリード処理の一例を示すフローチャートである。
【図１２】第２実施形態のバックグランドフォーマット処理の一例を示す図である。
【図１３】制御装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付し、重複する説明は省略される。
【００１２】
＜第１実施形態＞
＜制御装置の構成例＞
図１は、第１実施形態の制御装置の一例を示すブロック図である。図１において制御装置１０は、制御部１１を有する。
【００１３】
制御部１１は、複数の「マッピング領域」を含む情報記録媒体（例えば、ハードディスク）に対する物理フォーマット処理を制御する。各マッピング領域は、１つのセクタをマッピングする領域である。図２は、情報記録媒体の記憶領域全体（プラッタ）におけるセクタの配列の一例を示す図である。各セクタは、図２に示すようにユーザデータ領域と非ユーザデータ領域を有している。そして、非ユーザデータ領域には、同期・アドレスマーク、ＥＣＣ（Error Check and Correct）領域、及び、空隙部が含まれている。同期・アドレスマークは、セクタの先頭位置を定めるために用いられるものである。また、ＥＣＣは、ユーザデータ領域に格納されたユーザデータの修復に用いられるものである。情報記録媒体を使用する場合、ホスト（ＯＳ（Operating System）又はアプリケーション等）がサポートするユーザデータ領域のサイズを使用することが求められる。例えば、複数のホストによって１つの情報記録媒体を使い回す場合、ユーザデータ領域のサイズ変更が必要となる。
【００１４】
具体的には、制御部１１は、「フォーマット対象セクタ」に対応するマッピング領域の長さを変更することなく、「フォーマット対象セクタ」のユーザデータ領域及び非ユーザデータ領域のサイズを変更する。マッピング領域の長さは、情報記録媒体が対応する最大のセクタサイズに対応する固定長Ｌである。また、制御部１１は、ライトコマンド及びユーザデータを受け取った場合、サイズ変更後のサイズに従って、ライト処理対象セクタのユーザデータ領域にユーザデータを書き込む。ここで、例えばユーザデータ領域のサイズが大きくなるように変更された場合、空隙の長さが短く調整され、逆にユーザデータ領域のサイズが小さくなるように変更された場合、空隙の長さが長く調整されてもよい。また、空隙の代わりに、非ユーザデータ領域の含まれるＥＣＣの長さが調整されてもよい。すなわち、非ユーザデータ領域の長さが変わることで、セクタが固定長のマッピング領域に収まるようにしている。
【００１５】
この制御部１１の構成により、物理フォーマット処理によってユーザデータ領域のサイズ変更がされる場合でも、図３に示すようにサイズ変更の前後でセクタの先頭位置に変化が生じない。この結果として、物理フォーマット処理にかかる時間を短縮することができる。図３は、第１実施形態の制御装置の物理フォーマット処理の説明に供する図である。図３においてバックグランドフォーマットは、ホストからのライトコマンド及びリードコマンドが来ていないアイドル時に、制御部１１が行う物理フォーマット処理である。また、制御部１１は、ライト処理対象セクタに対するライトコマンド及びユーザデータを受け取った場合、そのライト処理対象セクタのバックグランドフォーマット（物理フォーマット処理）が完了していない状態であっても、ライト処理を行うことができる。これは、上記の通り、図３に示すようにサイズ変更の前後でセクタの先頭位置に変化が生じないためである。この制御部１１の構成により、物理フォーマット処理にかかる時間をさらに短縮することができる。
【００１６】
図４は、比較例を示す図である。図４に示すようにマッピング領域のサイズが変更されてしまう場合には、サイズ変更の前後でセクタの先頭位置に変化が生じてしまう。これにより、物理フォーマット処理に長い時間を要することになる。さらに、物理フォーマット処理が完了していないセクタに対してライト処理を行うこともできないので、物理フォーマット処理にさらに長い時間を要することになる。
【００１７】
＜第２実施形態＞
＜ハードディスクドライブの構成例＞
図５は、第２実施形態の制御装置を含むハードディスクドライブの一例を示すブロック図である。図５においてハードディスクドライブ２０は、ホストインタフェース２１と、ボイスコイルモータ（ＶＣＭ）ドライバ２２と、ボイスコイルモータ２３と、ヘッド２４とを有している。ハードディスクドライブ２０は、さらに、リード／ライト（Ｒ／Ｗ）チャンネル２５と、スピンドルモータ（ＳＰＭ）ドライバ２６と、スピンドルモータ２７と、情報記録媒体２８と、制御装置３０とを有している。
【００１８】
ホストインタフェース２１は、ホストと制御装置３０との間のインタフェースである。
【００１９】
ボイスコイルモータドライバ２２は、制御装置３０の制御によって、ボイスコイルモータ２３を駆動させる。
【００２０】
ヘッド２４は、ボイスコイルモータ２３によって移動可能に構成されている。
【００２１】
リード／ライト（Ｒ／Ｗ）チャンネル２５は、制御装置３０の制御によってヘッド２４を介して情報記録媒体２８に対するリード処理、ライト処理、及び物理フォーマット処理を行うためのチャンネルである。
【００２２】
スピンドルモータドライバ２６は、制御装置３０の制御によって、スピンドルモータ２７を駆動させる。情報記録媒体２８は、スピンドルモータ２７によって回転可能に構成されている。
【００２３】
＜制御装置の構成例＞
図６は、第２実施形態の制御装置の一例を示すブロック図である。図６において制御装置３０は、制御部３１と、メモリ３２とを有している。
【００２４】
メモリ３２は、管理情報を記憶（保持）している。図７は、第２実施形態の管理情報の説明に供する図である。図７には、特に、管理情報の変更履歴が記載されている。図７に示すように管理情報には、項目として、フォーマットビット（つまり、管理世代情報）と、フォーマット完了論理ブロックアドレス（ＬＢＡ）と、セクタサイズと、イニシャライズパターン（初期化パターン）とを含んでいる。管理情報は、「モードパラメータ」と呼ぶことができ、管理情報が記憶されるメモリ３２の領域を、「モードページ」と呼ぶことができる。また、モードページは、電源断後にも保持できるように、情報記録媒体２８にも保存される。図７における「初期状態」は、第２実施形態の前回の物理フォーマット処理が完了している状態の管理情報に対応する。また、「高速フォーマットユニットコマンド発行直後」は、第２実施形態の現在の物理フォーマット処理の開始直後の管理情報に対応する。また、「バックグランドフォーマット完了時」は、第２実施形態の現在の物理フォーマット処理の完了時の管理情報に対応する。
【００２５】
フォーマットビット（つまり、管理世代情報）は、物理フォーマット処理の世代を表す情報である。フォーマット完了ＬＢＡは、ＬＢＡ＝０のセクタから連続して物理フォーマット処理が完了しているセクタの次のＬＢＡを示している。すなわち、フォーマット完了ＬＢＡは、次にバックグランドフォーマットを行うべきセクタのＬＢＡを示している。ＬＢＡとは、セクタ毎に割り当てられるアドレスである。第２実施形態では、ＬＢＡは、ゼロから最大ＬＢＡまでの値をとなる。最大ＬＢＡは、情報記録媒体２８の全セクタ数−１である。
【００２６】
セクタサイズは、物理フォーマット処理で変更されるべきセクタサイズを表している。また、イニシャライズパターンは、物理フォーマット処理時に対象のセクタに書き込むデータパターンである。
【００２７】
制御部３１は、「高速フォーマットコマンド」が発行された場合、情報記録媒体２８の全セクタに対する現在の物理フォーマット処理の前の物理フォーマット処理が完了していることを開始条件として、現在の物理フォーマット処理を開始する。「高速フォーマット処理」とは、第２実施形態の物理フォーマット処理である。図７の「初期状態」では、前の物理フォーマット処理の管理世代情報の値が「ゼロ」であり、フォーマット完了ＬＢＡが最大ＬＢＡ＋１となっている。フォーマット完了ＬＢＡが最大ＬＢＡ＋１であることは、前の物理フォーマット処理が完了していることを意味している。
【００２８】
また、制御部３１は、情報記録媒体２８の全セクタに対する現在の物理フォーマット処理を開始する場合、上記の管理情報に含まれる管理世代情報の値を、現在の物理フォーマット処理の世代を示す世代情報の値に更新する。例えば、制御部３１は、前の物理フォーマット処理の管理世代情報の値を論理否定することによって、現在の物理フォーマット処理の管理世代情報の値を算出することができる。図７の例では、「初期状態」における前の物理フォーマット処理の管理世代情報の値が「ゼロ」なので、現在の物理フォーマット処理の管理世代情報の値は、「ゼロ」を論理否定した「１」となる。
【００２９】
また、制御部３１は、情報記録媒体２８の全セクタに対する現在の物理フォーマット処理を開始する場合、上記の管理情報に含まれるイニシャライズパターンを変更してもよい。図７の例では、イニシャライズパターンが「００」から「ＦＦ」に変更されている。さらに、制御部３１は、情報記録媒体２８の全セクタに対する現在の物理フォーマット処理を開始する場合、上記の管理情報に含まれるセクタサイズを変更する。図７では、前回の物理フォーマット処理のセクタサイズ５１２バイトが、今回の物理フォーマット処理によってセクタサイズ５２０バイトへ変更される例が示されている。
【００３０】
また、制御部３１は、ホストからライト処理対象セクタに対するライトコマンド及びユーザデータを受け取った場合、ライト処理対象セクタのユーザデータ領域に、ユーザデータを上記管理情報のセクタサイズに従ったサイズによって書き込む。さらに、制御部３１は、ライト処理対象セクタの非ユーザデータ領域の「世代情報領域（フォーマットビット領域）」に、上記の管理情報の世代情報値を書き込む。この世代情報領域に書き込まれた世代情報値によって、制御部３１は、このライト処理対象セクタが既に物理フォーマット処理が完了したセクタであると判断することができる。
【００３１】
また、制御部３１は、ホストからリード処理対象セクタに対するリードコマンドを受け取った場合、上記の管理情報の管理世代情報値とリード処理対象セクタの世代情報領域に書き込まれている世代情報値とを比較する。この比較の結果、両者が一致する場合、制御部３１は、リード処理対象セクタのユーザデータ領域に書き込まれているユーザデータをリードコマンドの送信元であるホストに向けて出力する。一方、この比較の結果、両者が一致しない場合、制御部３１は、上記の管理情報のイニシャライズパターンをリードコマンドの送信元であるホストに向けて出力する。
【００３２】
また、制御部３１は、「バックグランドフォーマット」の制御を行う。「バックグランドフォーマット」とは、ホストからのリードコマンド及びライトコマンドを受け取っていないアイドル時に行う物理フォーマット処理である。「バックグランドフォーマット」は、現在の物理フォーマット処理が情報記録媒体２８の全セクタについて完了するまで行われる。制御部３１は、上記の管理情報の「フォーマット完了ＬＢＡ」に対応する処理対象セクタに対して、バックグランドフォーマットを実行する。上記の管理情報の「フォーマット完了ＬＢＡ」に対応する処理対象セクタを、以下では、単に「処理対象セクタ」と呼ぶ。
【００３３】
具体的には、制御部３１は、上記の管理情報の管理世代情報の値と処理対象セクタの世代情報領域に書き込まれている世代情報の値とを比較する。この比較の結果、両者が一致しない場合、制御部３１は、上記の管理情報のフォーマットサイズの値及びイニシャライズパターンを取得する。そして、制御部３１は、取得したフォーマットサイズにしたイニシャライズパターンを、処理対象セクタに対して書き込む。さらに、制御部３１は、上記の管理情報から取得した管理世代情報値を、処理対象セクタの非ユーザデータ領域の「世代情報領域（フォーマットビット領域）」に書き込む。そして、制御部３１は、上記の管理情報の「フォーマット完了ＬＢＡ」をインクリメントする。これにより、次のセクタが、バックグランドフォーマットの処理対象セクタとなる。
【００３４】
一方、この比較の結果、両者が一致する場合、制御部３１は、処理対象セクタに対してバックグランドフォーマットを行わずに、上記の管理情報の「フォーマット完了ＬＢＡ」をインクリメントする。これにより、次のセクタが、バックグランドフォーマットの処理対象セクタとなる。
【００３５】
＜制御装置の動作例＞
以上の構成を有する制御装置３０の処理動作の一例について説明する。
【００３６】
〈高速フォーマット開始時の処理〉
図８は、第２実施形態の高速フォーマット開始時の処理動作の一例を示すフローチャートである。図８に示す処理フローは、例えば、高速フォーマットが発行されたときにスタートする。
【００３７】
制御部３１は、モードページ（つまり、管理情報）からフォーマット完了ＬＢＡ（＝ｆ）を読み込み、読み込んだフォーマット完了ＬＢＡが最大ＬＢＡより大きいか否かを判定する（ステップＳ１０１）。上記の通り、現在の高速フォーマットの開始条件は、前の高速フォーマットが完了していることである。フォーマット完了ＬＢＡが最大ＬＢＡより大きいことは、前の高速フォーマットが完了していることを意味する。
【００３８】
読み込んだフォーマット完了ＬＢＡが最大ＬＢＡより大きい場合（ステップＳ１０１ＹＥＳ）、制御部３１は、モードページのフォーマットビット（つまり、管理世代情報）を論理否定する（ステップＳ１０２）。この処理によって、情報記録媒体２８の全セクタのユーザデータを、即座に実質的に無効状態にすることができる。ここで、上記の通り、現在の高速フォーマットの開始条件は、前の高速フォーマットが完了していることである。この開始条件により、高速フォーマット中においてセクタの種別には、現在の高速フォーマットが完了しているセクタ、及び、現在の高速フォーマットが完了していないセクタの２種類しか存在しないので、世代情報を１ビットの情報とすることができる。
【００３９】
次いで、制御部３１は、今回の高速フォーマットで用いられるイニシャライズパターンを、モードページに保存する（ステップＳ１０３）。
【００４０】
次いで、制御部３１は、モードページのセクタサイズを、今回の高速フォーマットで用いられるセクタサイズに変更する（ステップＳ１０４）。
【００４１】
次いで、制御部３１は、モードページのフォーマット完了ＬＢＡの値ｆを「ゼロ」に変更する（ステップＳ１０５）。
【００４２】
以上によって高速フォーマット開始時の処理が終了する。なお、読み込んだフォーマット完了ＬＢＡが最大ＬＢＡ以下である場合（ステップＳ１０１ＮＯ）、前回の高速フォーマットが未だ完了していない。このため、図８の処理フローは、失敗となって終了する。
【００４３】
〈ライト処理〉
図９は、第２実施形態の高速フォーマットをサポートするライト処理の一例を示すフローチャートである。図１０は、第２実施形態のライト処理の説明に供する図である。図９に示す処理フローは、ライト処理対象セクタ（ＬＢＡ＝ｉ）に対するライトコマンド及びユーザデータを受け取ったときにスタートする。
【００４４】
制御部３１は、モードページのフォーマットビット（つまり、管理情報の管理世代情報）を読み出し、受け取ったユーザデータの先頭に置き、ＥＣＣを作成する（ステップＳ２０１）。例えば、図１０に示すＬＢＡ＝１のセクタがライト対象セクタである場合、５２０バイトのユーザデータの先頭に、今回の物理フォーマット処理の管理世代情報の値である「１」を配置し、これらの全体を用いて、ＥＣＣを作成する。すなわち、ここでは、フォーマットビット及びユーザデータの両方の信頼性が、ＥＣＣによって確保されている。因みに、図１０の上段に示されるトラックに含まれるすべてのセクタは、世代情報領域の値がゼロであるため、前回の物理フォーマット処理に対応し且つ今回の物理フォーマット処理が行われていないセクタである。
【００４５】
次いで、制御部３１は、ライト処理対象セクタに対してユーザデータ及びＥＣＣをモードページが定めるセクタサイズで書き込む（ステップＳ２０２）。さらに、制御部３１は、モードページの管理世代情報の値によってライト処理対象セクタの世代情報領域（フォーマットビット領域）の値を更新する（ステップＳ２０２）。
【００４６】
以上のように、世代情報を管理しているため、ライト処理対象セクタの世代情報領域（フォーマットビット領域）の値を確認することなくライト処理を実行することができる。
【００４７】
〈リード処理〉
図１１は、第２実施形態の高速フォーマットをサポートするリード処理の一例を示すフローチャートである。図１１に示す処理フローは、リード処理対象セクタ（ＬＢＡ＝ｉ）に対するリードコマンドを受け取ったときにスタートする。
【００４８】
制御部３１は、リード処理対象セクタのフォーマットビット（つまり、世代情報領域の値）とユーザデータとを読み込む（ステップＳ３０１）。
【００４９】
次いで、制御部３１は、読み込んだリード処理対象セクタのフォーマットビットとモードページのフォーマットビット（つまり、管理世代情報）とが一致するか否かを判定する（ステップＳ３０２）。
【００５０】
両者が一致している場合（ステップＳ３０２ＹＥＳ）、制御部３１は、ステップＳ３０１で読み込んだユーザデータを上位（つまり、ホスト）へ出力する（ステップＳ３０３）。
【００５１】
一方、両者が一致していない場合（ステップＳ３０２ＮＯ）、制御部３１は、モードページのイニシャライズパターンを読み込む（ステップＳ３０４）。
【００５２】
制御部３１は、読み込んだイニシャライズパターンを、このイニシャライズパターンがリード処理対象セクタ（ＬＢＡ＝ｉ）に書かれているものとして、上位（つまり、ホスト）へ出力する（ステップＳ３０５）。
【００５３】
以上のように、世代情報を管理しているため、制御部３１は、読み込んだリード処理対象セクタのフォーマットビットとモードページのフォーマットビット（つまり、管理世代情報）とが一致するか否かを判定することができる。これにより、今回の物理フォーマット処理が済んでおらず前回の物理フォーマット処理に対応するフォーマットビットが付されているセクタのユーザデータを、即座に実質的に無効状態にすることができる。
【００５４】
〈バックグランドフォーマット処理〉
図１２は、第２実施形態のバックグランドフォーマット処理の一例を示す図である。図１２に示す処理フローは、ホストからのライトコマンド及びリードコマンドが制御部３１に来ていないアイドル状態となったときにスタートする。
【００５５】
制御部３１は、モードページ（つまり、管理情報）のフォーマット完了ＬＢＡ（＝ｆ）を読み込み、読み込んだフォーマット完了ＬＢＡが最大ＬＢＡ以下であるか否かを判定する（ステップＳ４０１）。
【００５６】
読み込んだフォーマット完了ＬＢＡが最大ＬＢＡより大きい場合（ステップＳ４０１ＮＯ）、全セクタに対して今回の物理フォーマット処理が既に完了しているので、図１２の処理フローは終了する。このとき、管理情報の状態は、図７の「バックグランドフォーマット完了時」の状態になる。
【００５７】
読み込んだフォーマット完了ＬＢＡが最大ＬＢＡ以下である場合（ステップＳ４０１ＹＥＳ）、制御部３１は、フォーマット完了ＬＢＡに対応する処理対象セクタのフォーマットビット（つまり、世代情報）を読み込む（ステップＳ４０２）。
【００５８】
次いで、制御部３１は、読み込んだ処理対象セクタのフォーマットビットに基づいて、処理対象セクタが未フォーマットＬＢＡ（つまり、未フォーマットセクタ）であるか否かを判定する（ステップＳ４０３）。具体的には、制御部３１は、読み込んだ処理対象セクタのフォーマットビットとモードページのフォーマットビットとを比較して、両者が一致するか否かを判定する。そして、制御部３１は、両者が一致する場合、処理対象セクタが既フォーマットＬＢＡであると判定し、両者が一致しない場合、処理対象セクタが未フォーマットＬＢＡであると判定する。
【００５９】
処理対象セクタが未フォーマットＬＢＡである場合（ステップＳ４０３ＹＥＳ）、制御部３１は、モードページのイニシャライズパターンを読み込む（ステップＳ４０４）。
【００６０】
次いで、制御部３１は、フォーマットサイズにしたイニシャライズパターンを、処理対象セクタに対して書き込む（ステップＳ４０５）。さらに、制御部３１は、モードページのフォーマットビットによって、処理対象セクタのフォーマットビット領域の値を更新する（ステップＳ４０５）。
【００６１】
次いで、制御部３１は、モードページのフォーマット完了ＬＢＡの値をインクリメントする（ステップＳ４０６）。ここで、処理対象セクタが未フォーマットＬＢＡではない場合（ステップＳ４０３ＮＯ）、処理ステップは、ステップＳ４０４及びステップＳ４０５を経ることなく、ステップＳ４０６へ進む。
【００６２】
以上のように第２実施形態によれば、制御装置３０において制御部３１は、管理情報を記憶するメモリ３２を有している。そして、制御部３１は、情報記録媒体２８の全セクタに対する現在の物理フォーマット処理を開始する場合、管理情報に含まれる管理世代情報の値を、現在の物理フォーマット処理の世代を示す世代情報の値に更新する。
【００６３】
この制御装置３０の構成により、情報記録媒体２８の全セクタのユーザデータを、即座に実質的に無効状態にすることができる。これにより、物理フォーマット処理の処理時間を短縮することができる。
【００６４】
さらに、制御装置３０において制御部３１は、フォーマット対象セクタに対する物理フォーマット処理を行う場合、現在の物理フォーマット処理の世代を示す世代情報の値をフォーマット対象セクタの非ユーザデータ領域の世代情報領域に書き込む。
【００６５】
この制御装置３０の構成により、物理フォーマット処理が完了していないセクタに対するリード処理及びライト処理が可能となる。
【００６６】
また、制御装置３０において制御部３１は、情報記録媒体２８の全セクタに対する現在の物理フォーマット処理の前の物理フォーマット処理が完了していることを開始条件として、現在の物理フォーマット処理を開始する。
【００６７】
この制御装置３０の構成により、情報記録媒体２８の全セクタに対する現在の物理フォーマット処理の最中におけるセクタの種別を、現在の物理フォーマット処理の未完了セクタと現在の物理フォーマット処理の完了済みセクタの２種類に限定することができる。これにより、世代情報を１ビットの情報とすることができる。
【００６８】
また、制御装置３０において制御部３１は、バックグランドフォーマット処理をアイドル時に実施する。これにより、ホストからのリード及びライトを妨げることなく、物理フォーマット処理を実行することができる。
【００６９】
上記管理情報には、上記フォーマット完了ＬＢＡが含まれる。これにより、バックグランドフォーマット処理の進捗度を管理することができる。なお、制御部３１は、バックグランドフォーマット処理が進行中であるときに、フォーマット完了ＬＢＡを最大ＬＢＡで除算することによって、物理フォーマット処理の完了割合を算出してもよい。そして、制御部３１は、算出した完了割合をモニタ（図示せず）に表示させてもよい。
【００７０】
＜変形例＞
以上で説明した制御装置３０に対して次の様な変形を施すこともできる。例えば、メモリ３２に、各セクタの物理フォーマット処理が完了しているか否かを示す情報を保持する「管理テーブル」を記憶させてもよい。制御部３１が、この管理テーブルを管理する。制御部３１がこの管理テーブルを用いることにより、リード処理対象セクタが物理フォーマット処理の未完了セクタであることを、情報記録媒体２８のリード処理対象セクタの情報を読み込まずに、確認できる。これにより、リード処理対象セクタが物理フォーマット処理の未完了セクタである場合、ステップＳ３０１のようなリード処理が不要となるので、物理フォーマット処理の未完了セクタに対するリード処理時の応答速度を速くすることができる。
【００７１】
以上で説明した制御装置３０をハードディスクドライブ（ＨＤＤ）に用いることによって次のような効果が得られる。ＨＤＤの大容量化により長時間化する傾向にある物理フォーマット時間を待つことなく、ＨＤＤの使用を開始することができる。このため、ＨＤＤの評価、製造、検査時の利便性を向上することができる。物理フォーマットをユーザ先で実施することにより、製造時間を短縮できる効果も見込める。また、物理フォーマット時間を大幅に削減することによって、フォーマットが中断してしまうリスクも低減できる。さらに、物理フォーマットの利便性が向上することにより、異なるセクタサイズを要求するホストにおいて、部品としてＨＤＤを共通化することができる。
【００７２】
＜他の実施形態＞
図１３は、制御装置のハードウェア構成例を示す図である。図１３において、制御装置１００は、プロセッサ１０１と、メモリ１０２とを有している。第１実施形態及び第２実施形態の制御装置１０，３０は、それぞれ、制御装置１００と同じ構成を有していてもよい。制御装置１０，３０の制御部１１，３１は、プロセッサ１０１がメモリ１０２に記憶されたプログラムを読み込んで実行することにより実現されてもよい。また、制御装置３０のメモリ３２は、メモリ１０２によって実現されてもよい。
【００７３】
なお、本発明は上記の実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００７４】
１０，３０  制御装置
１１，３１  制御部
２０  ハードディスクドライブ
２１  ホストインタフェース
２２  ボイスコイルモータドライバ
２３  ボイスコイルモータ
２４  ヘッド
２５  リード／ライトチャンネル
２６  スピンドルモータドライバ
２７  スピンドルモータ
２８  情報記録媒体
３２  メモリ
【図１】
2019109950.tif 000003
【図２】
2019109950.tif 000004
【図３】
2019109950.tif 000005
【図４】
2019109950.tif 000006
【図５】
2019109950.tif 000007
【図６】
2019109950.tif 000008
【図７】
2019109950.tif 000009
【図８】
2019109950.tif 000010
【図９】
2019109950.tif 000011
【図１０】
2019109950.tif 000012
【図１１】
2019109950.tif 000013
【図１２】
2019109950.tif 000014
【図１３】
2019109950.tif 000015