(57)【要約】      （修正有）【課題】データのリカバリに上書きコピーが不要な記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器を提供する。【解決手段】記憶領域にアクセスを行うアクセス部と、上記記憶領域内のアクセス箇所の指定とその箇所へのデータアクセス命令の受理部と、上記命令を、保護領域内のアクセス箇所を指定した保護内命令と、保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、上記保護外命令で指定されたアクセス箇所へのアクセスを上記アクセス部に実行させる保護外命令制御部と、上記保護内命令がデータ書込みの場合に、上記不可視領域中の代替箇所への書込みを実行させ、アクセス箇所と代替箇所との対応を記録する保護内書込み制御部と、上記保護内命令がデータ読出しを指示している場合に、アクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、そこからデータ読出しを行う保護内読出し制御部とを備える。【選択図】図６
2010152794.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶領域に対しデータアクセスを行うアクセス部と、
前記記憶領域内のアクセス箇所の指定と該アクセス箇所に対するデータアクセスの指示とを含んだ命令を受理する、該アクセス箇所としては、該記憶領域内に定義された可視領域内の箇所は指定可能で、該可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
前記命令受理部で受理された命令を、前記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、該可視領域内で該保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
前記保護外命令で指定されたアクセス箇所に対するデータアクセスを前記アクセス部に実行させる保護外命令制御部と、
前記保護内命令が前記データアクセスとしてデータの書込みを指示している場合に、前記アクセス部に前記不可視領域中の代替箇所に対するデータの書込みを実行させ、該保護内命令が指定したアクセス箇所と該代替箇所との対応を記録する保護内書込み制御部と、
前記保護内命令が前記データアクセスとしてデータの読出しを指示している場合に、該保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、前記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えたことを特徴とする記憶装置。
【請求項２】
前記記憶領域に記憶されているデータのうち前記保護領域外に記憶されているデータを消去するリカバリ部を備えたことを特徴とする請求項１記載の記憶装置。
【請求項３】
前記保護内書込み制御部が前記対応を対応表に記録するものであり、
前記リカバリ部が、前記対応表に記録されている対応を消去することによって実質的に前記保護領域外のデータを消去するものであることを特徴とする請求項２記載の記憶装置。
【請求項４】
前記保護内書込み制御部が前記対応をデータの書込みの日付とともに対応表に記録するものであり、
前記対応表が、前記アクセス箇所と前記代替箇所との対応が記録されるとともに、前記保護領域内に記憶されているデータの記憶箇所も、該対応の記録形式と同じ記録形式で、該アクセス箇所および該代替箇所の双方が同一の記憶箇所となった対応として記録されるものであり、
前記保護領域が、前記対応表に記録されているアクセス箇所の集合によって定義された、データが書き込まれる度に累増する領域であり、
前記リカバリ部が、日付の指定を受けて、前記対応表に記録されている対応のうち、その指定された日付よりも新しい日付の対応を消去することによって実質的に過去の保護領域外のデータを消去するものであることを特徴とする請求項２または３記載の記憶装置。
【請求項５】
データを記憶する記憶領域内のアクセス箇所の指定と該アクセス箇所に対するデータアクセスの指示とを含んだ命令を受理する、該アクセス箇所としては、該記憶領域内に定義された可視領域内の箇所は指定可能で、該可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
前記命令受理部で受理された命令を、前記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、該可視領域内で該保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
前記保護外命令で指定されたアクセス箇所に対するデータアクセスを、前記記憶領域に対しデータアクセスを行うアクセス部に実行させる保護外命令制御部と、
前記保護内命令が前記データアクセスとしてデータの書込みを指示している場合に、前記アクセス部に前記不可視領域中の代替箇所に対するデータの書込みを実行させ、該保護内命令が指定したアクセス箇所と該代替箇所との対応を記録する保護内書込み制御部と、
前記保護内命令が前記データアクセスとしてデータの読出しを指示している場合に、該保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、前記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えたことを特徴とするアクセス制御装置。
【請求項６】
情報処理装置によって実行されることで該情報処理装置を、
データを記憶する記憶領域内のアクセス箇所の指定と該アクセス箇所に対するデータアクセスの指示とを含んだ命令を受理する、該アクセス箇所としては、該記憶領域内に定義された可視領域内の箇所は指定可能で、該可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
前記命令受理部で受理された命令を、前記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、該可視領域内で該保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
前記保護外命令で指定されたアクセス箇所に対するデータアクセスを、前記記憶領域に対しデータアクセスを行うアクセス部に実行させる保護外命令制御部と、
前記保護内命令が前記データアクセスとしてデータの書込みを指示している場合に、前記アクセス部に前記不可視領域中の代替箇所に対するデータの書込みを実行させ、該保護内命令が指定したアクセス箇所と該代替箇所との対応を記録する保護内書込み制御部と、
前記保護内命令が前記データアクセスとしてデータの読出しを指示している場合に、該保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、前記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えたアクセス制御装置として動作させることを特徴とするアクセス制御プログラム。
【請求項７】
データを記憶する記憶領域に記憶されたプログラムデータに従った情報処理を実行する、該情報処理の過程で、該記憶領域内のアクセス箇所の指定と該アクセス箇所に対するデータアクセスの指示とを含んだ命令を発する情報処理部と、
前記記憶領域に対しデータアクセスを行うアクセス部と、
前記情報処理部が発する命令を受理する、前記アクセス箇所としては、前記記憶領域内に定義された可視領域内の箇所は指定可能で、該可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
前記命令受理部で受理された命令を、前記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、該可視領域内で該保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
前記保護外命令で指定されたアクセス箇所に対するデータアクセスを前記アクセス部に実行させる保護外命令制御部と、
前記保護内命令が前記データアクセスとしてデータの書込みを指示している場合に、前記アクセス部に前記不可視領域中の代替箇所に対するデータの書込みを実行させ、該保護内命令が指定したアクセス箇所と該代替箇所との対応を記録する保護内書込み制御部と、
前記保護内命令が前記データアクセスとしてデータの読出しを指示している場合に、該保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、前記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えたことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示は、記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器に関する。
【背景技術】
【０００２】
従来より、データを記憶する記憶装置としてハードディスク装置（ＨＤＤ）や半導体メモリや光ディスク装置等が知られている。また、そのような記憶装置を内蔵してプログラムデータを記憶していてそのプログラムデータに従って動作する電子機器も知られている。このような電子機器としては、パーソナルコンピュータに代表される情報処理装置が知られている。また、例えば監視カメラなどに代表される、いわゆる組込型の装置も知られている。
【０００３】
このような電子機器や記憶装置に記憶されたプログラムデータは、必要に応じて更新されることが多い。一方で、更新の不具合やデータの破壊などによってプログラムデータに従った動作が不適切な動作となることもしばしば生じる。このような不適切な動作を生じさせるプログラムデータは、更に更新して適切な動作をさせるものに改良するか、更新を取り消して、動作が適切であった過去の時点のプログラムデータに戻すことが望ましい。このように過去の時点のプログラムデータに戻すことを一般にリカバリと称する。
【０００４】
リカバリを行うための従来技術としては、リカバリ用のプログラムデータを予めどこかに記憶しておき、そのプログラムデータを電子機器や記憶装置にコピーする技術が知られている。
【０００５】
図１は、従来のリカバリ技術を示す図である。
【０００６】
この図１には、従来知られている２種類のリカバリ技術が示されている。ここに示す各例では、ＨＤＤに記憶されているプログラムデータのリカバリを行う。
【０００７】
パート（Ａ）に示されているリカバリ技術では、ＨＤＤ１のプログラムデータをリカバリするために、リカバリ用のプログラムデータを記憶したリカバリＣＤ２を用いる。このリカバリ用のプログラムデータは、例えば工場出荷時にＨＤＤ１に記憶されているプログラムデータと同じプログラムデータである。リカバリの際には、リカバリＣＤ２に記憶されているプログラムデータを読み出してＨＤＤ１に上書きコピーすることでＨＤＤ１を工場出荷時の状態に戻す。
【０００８】
パート（Ｂ）に示されているリカバリ技術では、ＨＤＤ３の記憶領域の一部に、ＯＳなどからは不可視の隠し領域４が設けられる。そして、その隠し領域４にリカバリ用のプログラムデータが記憶される（例えば特許文献１および特許文献２参照。）。リカバリの際には、隠し領域４に記憶されているプログラムデータをリカバリ用のＯＳなどによって読み出す。その読み出されたプログラムデータが、可視領域に記憶されているプログラムデータに対して上書きコピーされることでＨＤＤ３が工場出荷時の状態に戻る。
【特許文献１】特開２００３−２８０９１４号公報
【特許文献２】特開２００２−３６６３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このような従来のリカバリ技術では、プログラムデータの上書きコピーが必要であるため、その上書きコピーの処理にかなりの時間を要する。このような時間を短縮することが求められている。
【００１０】
なお、ここではプログラムデータのリカバリを例にとって説明したが、プログラムでない単なるデータのリカバリであっても事情は同様である。
【００１１】
上記事情に鑑み、本件開示は、データのリカバリに上書きコピーが不要な記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成する記憶装置の基本形態は、
データを記憶する記憶領域に対しデータアクセスを行うアクセス部と、
上記記憶領域内のアクセス箇所の指定とそのアクセス箇所に対するデータアクセスの指示とを含んだ命令を受理する、アクセス箇所としては、記憶領域内に定義された可視領域内の箇所は指定可能で、可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
上記命令受理部で受理された命令を、上記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、可視領域内で保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
上記保護外命令で指定されたアクセス箇所に対するデータアクセスを上記アクセス部に実行させる保護外命令制御部と、
上記保護内命令が上記データアクセスとしてデータの書込みを指示している場合に、上記アクセス部に上記不可視領域中の代替箇所に対するデータの書込みを実行させ、保護内命令が指定したアクセス箇所と代替箇所との対応を記録する保護内書込み制御部と、
上記保護内命令が上記データアクセスとしてデータの読出しを指示している場合に、保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、上記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えている。
【００１３】
上記目的を達成するアクセス制御装置の基本形態は、
上記命令受理部と、上記命令区別部と、上記保護外命令制御部と、上記保護内書込み制御部と、上記保護内読出し制御部とを備えている。
【００１４】
上記目的を達成するアクセス制御プログラムの基本形態は、
情報処理装置によって実行されることで該情報処理装置を、上記命令受理部と、上記命令区別部と、上記保護外命令制御部と、上記保護内書込み制御部と、上記保護内読出し制御部とを備えたアクセス制御装置として動作させる。
【００１５】
上記目的を達成する電子機器の基本形態は、
データを記憶する記憶領域に記憶されたプログラムデータに従った情報処理を実行する、その情報処理の過程で上記命令を発する情報処理部と、
上記アクセス部と、上記命令受理部と、上記命令区別部と、上記保護外命令制御部と、上記保護内書込み制御部と、上記保護内読出し制御部とを備えている。
【００１６】
これらの基本形態によれば、可視領域内の保護領域に記憶されたデータが常に保護されている。一方で、命令を発する上位側から見ると、その保護領域も含めて命令通りにデータが更新されているように見える。そして、リカバリ時には、保護領域以外のデータを消去することでデータがリカバリされることとなる。リカバリ時にデータの上書きコピーが不要なので処理時間が短い。
【発明の効果】
【００１７】
以上説明したように、上記基本形態によれば、データのリカバリには上書きコピーが不要である。
【発明を実施するための最良の形態】
【００１８】
基本形態について上記説明した記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器に対する具体的な実施形態を、以下図面を参照して説明する。
【００１９】
図２は、上記基本形態の電子機器に対する具体的な第１実施形態に相当するパーソナルコンピュータの外観図であり、図３は、そのパーソナルコンピュータのハードウェア構成図である。
【００２０】
このパーソナルコンピュータ１００は、本体部１０１、ディスプレイ１０２、キーボード１０３、マウス１０４を備えている。本体部１０１は、ＣＰＵ、ＲＡＭ、ハードディスク等を内蔵している。ディスプレイ１０２は、本体部１０１からの指示により表示面１０２ａに画面表示を行う。キーボード１０３は、このパーソナルコンピュータ１００にユーザの指示や文字情報を入力するためのものである。マウス１０４は、表示面１０２ａ上の任意の位置を指定することによりその位置に応じた指示を入力するものである。
【００２１】
本体部１０１は、さらに、外観上、フレキシブルディスク（ＦＤ）装填口１０１ａおよびコンパクトディスク（ＣＤ）装填口１０１ｂを有している。ＦＤ装填口１０１ａにはＦＤ１０６（図２には図示せず；図３参照）が装填される。またＣＤ装填口１０１ｂにはＣＤ−ＲＯＭ１０５（図３参照）やＣＤ−ＲやＣＤ−ＲＷなどといった各種のＣＤ型媒体が装填される。これらＦＤ装填口１０１ａおよびＣＤ装填口１０１ｂの内部には、装填されたＦＤやＣＤ型媒体をドライブする、ＦＤドライブ１１４、ＣＤドライブ１１５（図３参照）も搭載されている。
【００２２】
図３に示すようにパーソナルコンピュータ１００には、中央演算処理装置（ＣＰＵ）１１１、ＲＡＭ１１２、ＨＤＤ２００が備えられている。また、上述したようにＦＤドライブ１１４、ＣＤドライブ１１５、ディスプレイ１０２、キーボード１０３、マウス１０４も備えられている。また、通信用ボード１１６も備えられている。パーソナルコンピュータ１００に備えられたこれらの要素はバス１１０で相互に接続されている。
【００２３】
ＦＤドライブ１１４、ＣＤドライブ１１５は、上記説明したように、ＦＤ１０６、ＣＤ型媒体（ここに示す例ではＣＤ−ＲＯＭ１０５）をアクセスするものである。
【００２４】
ＨＤＤ２００は、上記基本形態の記憶装置に対する具体的な第１実施形態に相当する。このＨＤＤ２００が有する磁気ディスク２１０には、ＯＳプログラムやアプリケーションプログラムが記憶されている。このＯＳプログラムやアプリケーションプログラムはＣＰＵ１１１で実行されるプログラムである。このＣＰＵ１１１が、上記基本形態にいう情報処理部の一例に相当する。プログラムの実際の実行にあたっては、ＨＤＤ２００の磁気ディスク２１０に記憶されているプログラムが読み出されてＲＡＭ１１２上にロードされ、ＣＰＵ１１１により実行される。
【００２５】
通信用ボード１１６は、インターネット等に接続されて通信を行うものである。この通信用ボード１１６を介した通信により、磁気ディスク２１０に記憶されているＯＳプログラムやアプリケーションプログラムは必要に応じて更新される。更新されたＯＳプログラムやアプリケーションプログラムは、更新前に有していた欠陥が修復されていたり、更新前よりも高い機能を有していたりする。しかし、プログラムの更新は常に良好な結果になるとは限らず、しばしば不都合を生じる。例えば、更新後のプログラムがパーソナルコンピュータ１００の処理能力に過大な負荷を与えるものになる場合がある。その場合にはパーソナルコンピュータ１００の動作は不安定となる。また、更新そのものに失敗してプログラムが壊れてしまう場合もある。その場合には、パーソナルコンピュータ１００の動作が本来の動作とは異なるものとなったり、動作不能に陥ったりする。
【００２６】
プログラムの更新に伴うこのような不都合の他にも、パーソナルコンピュータ１００が動作を続けた結果として不都合が生じる場合がある。例えば、パーソナルコンピュータ１００にユーザが多くのデータを取り込んでＨＤＤ２００に記憶させた結果、パーソナルコンピュータ１００の動作に必要な空き容量が不足してしまう場合がある。この場合には、パーソナルコンピュータ１００の動作が遅くなったり、動作不能になったりする。また、インターネット等を介してウィルスソフトに感染してしまい動作不能に陥ることもある。
【００２７】
このような不都合が生じてしまって容易には解決できない場合の非常手段としていわゆるリカバリが存在する。この図２，３に示すパーソナルコンピュータ１００に備えられているＨＤＤ２００は、そのリカバリを高速に実行する機能を有している。以下、このＨＤＤ２００の詳細について説明する。
【００２８】
図４は、ＨＤＤの詳細構成図である。
【００２９】
ＨＤＤ２００には、ハウジングＨ内に、円盤状の磁気ディスク２１０、スイングアーム２２０、アクチュエータ２３０、制御回路基板２５０が備えられている。
【００３０】
磁気ディスク２１０は、この図の奥行き方向に複数枚が共通のディスク軸２１１に取り付けられている。これらの磁気ディスク２１０は、ディスク軸２１１を介した駆動力を受けてディスク軸２１１を中心に回転する。この磁気ディスク２１０の表面にはデータが磁気的に記憶される。つまり、この磁気ディスク２１０上に、上記基本形態にいう記憶領域の一例が構築されている。
【００３１】
スイングアーム２２０は、アーム軸２２１によって支持されている。スイングアーム２２０はアーム軸２２１を中心として所定の角度範囲内で回転自在となっている。アクチュエータ２３０はいわゆるボイスコイルモータであり、スイングアーム２２０を回転させる駆動力を生む。また、スイングアーム２２０の先端には磁気ヘッド２２２が備えられている。このため、スイングアーム２２０が回転することによって磁気ヘッド２２２は磁気ディスク２１０の表面に沿って移動する。磁気ヘッド２２２は磁気ディスク２１０の表面に対してデータの読み書き（即ちデータアクセス）を磁気的に行うものである。この磁気ヘッド２２２が、上記基本形態にいうアクセス部の一例に相当する。
【００３２】
磁気ヘッド２２２によるデータの読み書きは、制御回路基板２５０による制御の下で実行される。この制御回路基板２５０による制御は、磁気ヘッド２２２自体の読み書き動作の制御と、その磁気ヘッド２２２を位置決めするためのアクチュエータ２３０の制御とを含んでいる。この制御回路基板２５０による制御は、図３に示すＣＰＵ１１１からの命令を受けて実行されるものである。このＣＰＵ１１１からの命令は、具体的にはＯＳによる命令である。この制御回路基板２５０は、上記基本形態のアクセス制御装置に対する具体的な第１実施形態に相当する。ここに示す例では、制御回路基板２５０の機能は、プログラムの実行によって実現される。
【００３３】
この制御回路基板２５０には、記憶回路素子２５１と処理回路素子２５２が搭載されている。これらの素子は、いずれも半導体集積回路素子である。記憶回路素子２５１には制御プログラムが記憶されており、この制御プログラムは、上記基本形態のアクセス制御プログラムに対する具体的な第１実施形態に相当する。また制御回路基板２５０における処理回路素子２５２の役割は、その制御プログラムを実行する役割である。制御回路基板２５０は、上記基本形態にいう情報処理装置の一例に相当する。
【００３４】
図５は、記憶回路素子に記憶されている制御プログラムを示す図である。
【００３５】
上述したように制御プログラム３００は記憶回路素子２５１に記憶されている。この制御プログラム３００は、命令受理部３１０と、命令区別部３２０とを備えている。更にこの制御プログラム３００は、保護外命令制御部３３０と、保護内書込み制御部３４０と、保護内読出し制御部３５０と、リカバリ部３６０も備えている。この制御プログラム３００が上述した処理回路素子２５２によって実行されることで制御回路基板２５０は、上記基本形態のアクセス制御装置に対する具体的な第１実施形態としての機能を発揮する。
【００３６】
図６は、制御プログラムを処理回路素子が実行することで制御回路基板が発揮する機能を示す機能ブロック図である。
【００３７】
制御回路基板２５０は、図５に示す制御プログラム３００が実行されると、この図６にブロックで示す命令受理部４１０と、命令区別部４２０として機能する。更にこの制御回路基板２５０は、保護外命令制御部４３０と、保護内書込み制御部４４０と、保護内読出し制御部４５０と、リカバリ部４６０としても機能する。この図６に示す制御回路基板２５０の命令受理部４１０は、図５に示す制御プログラム３００の命令受理部３１０によって実現される機能である。同様に、図６に示す命令区別部４２０〜リカバリ部４６０は、図５に示す命令区別部３２０〜リカバリ部３６０によって実現される機能である。
【００３８】
図６にブロックで示す各機能のうち命令受理部４１０は上記基本形態における命令受理部の一例に相当する。また、命令区別部４２０は上記基本形態における命令区別部の一例に相当する。保護外命令制御部４３０は上記基本形態における保護外命令制御部の一例に相当する。保護内書込み制御部４４０は上記基本形態における保護内書込み制御部の一例に相当する。保護内読出し制御部４５０は上記基本形態における保護内読出し制御部の一例に相当する。但しこれらの機能の詳細は後で説明する。
【００３９】
上述したように、この制御回路基板２５０は、ＯＳからの命令を受けて制御動作を行うものである。このＯＳからの命令は、磁気ディスク上の記憶領域内の箇所を指定してデータの書込みや読込みを指示する命令である。ここに示す例では、記憶領域内の箇所として具体的にはセクタが指定される。
【００４０】
以下、この制御回路基板２５０による制御内容について先ず概略を説明する。その後、図６にブロックで示す各機能も含めて詳細な説明を行う。
【００４１】
図７は、データ書込み時における制御の概略を示す図であり、図８はデータ読込み時における制御の概略を示す図である。
【００４２】
図７のパート（Ａ）に示すように、制御回路基板は、磁気ディスク上の記憶領域５００をリカバリデータ領域５１０と、新規データ領域５２０と、変更データ領域５３０とに区分けして管理している。これらの領域５１０〜５３０の範囲は、図６に示す領域データＤによって定義されている。リカバリデータ領域５１０は、工場出荷時のＯＳプログラムなど、リカバリ時に再現されるデータが記憶されている領域である。新規データ領域５２０と変更データ領域５３０は、工場出荷後に増加するデータを記憶する増分データ領域５４０を構成している。新規データ領域５２０には新規なデータが記憶され、変更データ領域５３０には、リカバリデータ領域５１０に対する変更データが記憶される。
【００４３】
図７のパート（Ｃ）に示すように、ＯＳから見える可視領域５００’は、リカバリデータ領域５１０と新規データ領域５２０とで構成されている。このためＯＳは、書込みや読み出しのセクタとしてリカバリデータ領域５１０内のセクタか新規データ領域５２０内のセクタしか指定できない。
【００４４】
ＨＤＤに対してＯＳから、新規データ領域５２０内のセクタ「Ｂ１」に対するデータの書込みを指示する命令が与えられた場合には、その命令通りにセクタ「Ｂ１」に対してデータが書き込まれる。これに対し、ＨＤＤに対してＯＳから、リカバリデータ領域５１０内のセクタ「Ａ１」に対するデータの書込みを指示する命令が与えられた場合には次のような動作となる。即ち、パート（Ａ）に示すように、その指定されたセクタ「Ａ１」の替わりとなるセクタ「Ａ１’」が変更データ領域５３０内に用意される。そしてその替わりのセクタ「Ａ１’」にデータが書き込まれる。
【００４５】
また、図６に示すセクタ管理情報のテーブルＴに対し、図７のパート（Ｂ）に示すように、指定されたセクタ「Ａ１」と替わりのセクタ「Ａ１’」との対応を表すセクタ管理情報が記憶される。このテーブルＴには、変更ビット欄６１０と、元セクタ番号欄６２０と、先セクタ番号欄６３０とが備えられている。テーブルＴの未使用の箇所は変更ビット欄６１０の値が「０」となっており使用箇所は「１」となっている。即ち、テーブルＴの変更ビット欄６１０の値が「１」となっている箇所にはセクタ管理情報が記録されている。リカバリデータ領域５１０内の元セクタの番号「Ａ１」は元セクタ番号欄６２０に記録される。また、変更データ領域５３０内に元セクタの替わりとして用意される先セクタの番号「Ａ１’」は、先セクタ番号欄６３０に記録される。このようにセクタ管理情報は元セクタの番号と先セクタの番号との対を有している。
【００４６】
このようなデータ書込みの制御により、図７のパート（Ｃ）に示すように、ＯＳからの見た目では、書込みを指示したセクタ「Ａ１」「Ｂ１」に対して指示通りにデータが書き込まれたように見える。
【００４７】
データの読出しの際にも、図８のパート（Ａ）に示すように、新規データ領域５２０中のセクタ「Ｂ１」を指定した命令である場合には、その命令通りにセクタ「Ｂ１」からデータが読み出される。リカバリデータ領域５１０内のセクタ「Ａ１」を指定したデータの読出しを指示する命令が与えられた場合には、テーブルＴのセクタ管理情報が参照される。即ち、セクタ管理情報の元セクタの番号が「Ａ１」であるものを探してその元セクタに対応する先セクタの番号「Ａ１’」を得る。そしてその番号「Ａ１’」が示す先セクタからデータを読み出してＯＳに出力する。
【００４８】
図７及び図８を参照して概略を説明した制御によれば、リカバリデータ領域５１０内のデータは、ＯＳから可視であるにも拘わらずＯＳの命令では変更や消去がなされない。その結果、リカバリデータ領域５１０内のデータは工場出荷時のまま維持されることとなる。そして、リカバリが必要な場合には、新規データ領域５２０および変更データ領域５３０からなる増分データ領域５４０に記憶されているデータが消去されてリカバリが実現する。このリカバリではデータの上書きコピーが不要である。データの上書きコピーは、実際に各セクタへのデータの書込みが必要となるので長い処理時間を要する。これに対し、データの消去は、実際には各セクタのデータはそのままでも、そのセクタを空き領域として解放するだけで実質的な消去となる。そして、このような解放は短い処理時間で実行可能である。従って図７及び図８で説明した制御によれば高速リカバリが実現する。
【００４９】
ここで、上述した基本形態に対し、「上記記憶領域に記憶されているデータのうち上記保護領域外に記憶されているデータを消去するリカバリ部を備えた」応用形態は好適である。このようなリカバリ部を備えることで上述したような高速リカバリが実行できる。図６に示すリカバリ部４６０が、この応用形態にいうリカバリ部の一例に相当する。
【００５０】
以下、この制御回路基板２５０による制御内容の詳細について、図６にブロックで示す各機能の役割も含めて説明を行う。
【００５１】
図９は、データ書込み時の制御内容の詳細を表すフローチャートである。なお、以下の説明に当たっては、特に図番を断らずに図６の要素を引用することがある。
【００５２】
ＯＳから発せられる書込み命令（即ちＷｒｉｔｅ要求）Ｑ１は命令受理部４１０によって受理される。命令受理部４１０はこの受理に当たって、命令Ｑ１で指定されているセクタが可視領域内のセクタであるか否かを領域データＤを参照して確認する。具体的には、ＯＳは論理アドレスによってセクタを指定する。そして、領域データＤは、論理アドレスのうち物理アドレスが割り当てられた範囲によって可視領域を定義している。ＯＳが指定した論理アドレスがこの可視領域の定義範囲を逸脱している場合には、命令受理部４１０はＯＳにエラーを返す。
【００５３】
命令受理部４１０によって受理された命令は命令区別部４２０へと送られる。命令区別部４２０は領域データＤを参照し、命令Ｑ１で指定されているセクタがリカバリデータ領域内のものであるか否かを確認する（図９のステップＳ１０１）。そして、リカバリデータ領域外（即ち新規データ領域内）のセクタが指定された命令である場合には、保護外命令制御部４３０にその命令が送られる。保護外命令制御部４３０は磁気ヘッドとアクチュエータを制御して、その指定されたセクタへのデータの書込みを実行させる（図９のステップＳ１０２）。この保護外命令制御部４３０による制御でのデータの書込みを説明するに当たり、ここで改めて、工場出荷時におけるデータの記憶状態を説明する。
【００５４】
図１０は、工場出荷時におけるデータの記憶状態を示す図である。
【００５５】
この図１０のパート（Ａ）に示すように、工場出荷時には、リカバリデータ領域５１０のみにデータが記憶されている。この図９では一例としてセクタ「Ａ１」にデータが記憶されていることが示されている。また、新規データ領域５２０および変更データ領域５３０は空白の領域となっている。リカバリデータ領域５１０に記憶されているデータとしては、ＯＳプログラムのデータやファイルシステムのデータが含まれている。
【００５６】
この図１０のパート（Ｂ）に示すように、セクタ管理情報のテーブルＴは、変更ビット欄６１０の値が全て「０」となっている。つまり、テーブルＴにはセクタ管理情報の記録が存在しないことを意味している。
【００５７】
このような工場出荷時の状態に対してデータが書き込まれることを例として、保護外命令制御部４３０による制御を以下説明する。
【００５８】
図１１は、保護外命令制御部４３０による制御でのデータ書込みを表す図である。
【００５９】
この保護外命令制御部４３０は、上述したように、新規データ領域５２０内へのデータ書込みの制御を行う。この図１１のパート（Ａ）では、一例としてセクタ「Ｂ１」に対する書込み命令を受けた様子が示されている。保護外命令制御部４３０は、そのセクタ「Ｂ１」に対して命令通りにデータの書込みを実行する。このとき、図１１のパート（Ｂ）に示すように、セクタ管理情報のテーブルＴには何も記録されず工場出荷時のままである。
【００６０】
なお、ＯＳは、新たなデータの書込み命令を発すると、通常は、ファイルシステムを更新するための書込み命令も発することになる。しかし、ここでは説明の便宜のため、そのような命令どうしの関連は無視し、ＯＳから発せられる個々の命令に対する制御について説明していく。
【００６１】
図９に戻って説明を続ける。
【００６２】
図９のステップＳ１０１における確認で、リカバリデータ領域内のセクタが指定された命令であると確認された場合には、ステップＳ１０３に進む。このステップＳ１０３では、保護内書込み制御部４４０がテーブルＴについて、変更ビット欄６１０の値が「１」になっている各箇所（即ちセクタ管理情報）を参照する。そして保護内書込み制御部４４０は、各セクタ管理情報の元セクタについて、書込み命令Ｑ１で指定されたセクタに一致するか否かを確認する。
【００６３】
書込み命令Ｑ１で指定されたセクタと元セクタとが一致しなかった場合（図９のステップＳ１０３；Ｎｏ）には、その指定されたセクタは、ＯＳから見ても工場出荷時のままであることになる。そこで、保護内書込み制御部４４０は、変更データ領域内に替わりのセクタを用意する。そして、保護内書込み制御部４４０は磁気ヘッドとアクチュエータを制御して、その替わりのセクタにデータを書き込ませる（図９のステップＳ１０４）。
【００６４】
図１２は、図１１に示すデータ状態に対して保護内書込み制御部によりデータが書き込まれた様子を示す図である。
【００６５】
この図１２のパート（Ａ）に示すように、ＯＳからの書込み命令は、リカバリデータ領域５１０内のセクタ「Ａ１」を指定している。保護内書込み制御部は、このセクタ「Ａ１」の替わりとして変更データ領域５３０内にセクタ「Ａ１’」を用意する。そして保護内書込み制御部は、この替わりの「Ａ１’」にデータを書き込む。また、保護内書込み制御部は、図１２のパート（Ｂ）に示すように、テーブルＴにセクタ管理情報を記録する。具体的には、まず、テーブルＴの段のうち、変更ビット欄６１０が値「０」であった未使用箇所を見つける。そしてその未使用箇所の変更ビット欄６１０に値「１」を書込む。また、元セクタ番号欄６２０には元セクタの番号「Ａ１」を書込む。さらに、先セクタ番号欄６３０には元セクタの番号「Ａ１」を書込む。
【００６６】
図９に戻ってさらに説明を続ける。
【００６７】
図９のステップＳ１０３における確認で、書込み命令で指定されたセクタと元セクタとが一致した場合（図９のステップＳ１０３；Ｙｅｓ）には、既に、その指定されたセクタの替わりのセクタが変更データ領域内に用意されていることになる。この場合、保護内書込み制御部４４０は磁気ヘッドとアクチュエータを制御して、その替わりのセクタにデータを書き込ませる（図９のステップＳ１０５）。図１２に示す例で説明すると、図１２のパート（Ｂ）に示すようなセクタ管理情報が既にテーブルＴに記録されていることになる。そして、変更ビット欄６１０が値「１」となった箇所の元セクタ番号欄６２０には、命令で指定されたセクタ「Ａ１」と同じ番号「Ａ１」の元セクタが記録されている。そこで保護内書込み制御部４４０は、その元セクタに対応した先セクタの番号「Ａ１’」を入手する。そして、保護内書込み制御部４４０は、磁気ヘッドとアクチュエータを制御して、その番号「Ａ１’」が示す、変更データ領域５３０内のセクタ「Ａ１’」にデータを上書きで書き込ませる。
【００６８】
次に、制御回路基板２５０によるデータ読出し時の制御内容の詳細について説明する。
【００６９】
図１３は、データ読込み時の制御内容の詳細を表すフローチャートである。
【００７０】
ＯＳから発せられる読出し命令（即ちＲｅａｄ要求）Ｑ２は命令受理部４１０によって受理される。命令受理部４１０によって受理された命令Ｑ２は命令区別部４２０へと送られる。命令区別部４２０は領域データＤを参照し、命令Ｑ２で指定されているセクタがリカバリデータ領域内のものであるか否かを確認する（図１３のステップＳ２０１）。そして、リカバリデータ領域外（即ち新規データ領域内）のセクタが指定された命令である場合には、保護外命令制御部４３０にその命令が送られる。保護外命令制御部４３０は磁気ヘッドとアクチュエータを制御して、その指定されたセクタからのデータの読出しを実行させる（図１３のステップＳ２０２）。ここで、図１２に示すデータ状態に対して保護外命令制御部４３０による制御でのデータ読出しが行われる例を説明する。
【００７１】
図１４は、保護外命令制御部４３０による制御でのデータ読出しを表す図である。
【００７２】
この例では、ＯＳからの読出し命令は、新規データ領域５２０内のセクタ「Ｂ１」を指定している。保護外命令制御部４３０は、磁気ヘッドとアクチュエータを制御して、その指定されたセクタ「Ｂ１」からデータを読み込ませる。
【００７３】
図１３に戻って説明を続ける。
【００７４】
図１３のステップＳ２０１における確認で、リカバリデータ領域内のセクタが指定された命令であると確認された場合には、ステップＳ２０３に進む。このステップＳ２０３では、保護内読出し制御部４５０がテーブルＴについて、変更ビット欄６１０の値が「１」になっている各箇所（即ちセクタ管理情報）を参照する。そして保護内読出し制御部４５０は、各セクタ管理情報の元セクタについて、読出し命令Ｑ２で指定されたセクタに一致するか否かを確認する。
【００７５】
読出し命令Ｑ２で指定されたセクタと元セクタとが一致しなかった場合（図１３のステップＳ２０３；Ｎｏ）には、その指定されたセクタは、ＯＳから見ても工場出荷時のままであることになる。そこで、保護内読出し制御部４５０は、磁気ヘッドとアクチュエータを制御して、リカバリデータ領域内の指定セクタからデータを読み出させる（図１３のステップＳ２０４）。この制御を、図１０に示すデータ状態からの読出しを例として説明する。
【００７６】
図１５は、図１０に示すデータ状態から保護内読出し制御部４５０による制御でデータが読出される様子を示す図である。
【００７７】
図１５のパート（Ａ）に示すように、この例では、ＯＳからの読出し命令はリカバリデータ領域５１０内のセクタ「Ａ１」を指定している。保護内読出し制御部４５０は、テーブルＴを参照して、この指定されたセクタ「Ａ１」を元セクタとしたセクタ管理情報を探す。しかし、図１５のパート（Ｂ）に示すように、テーブルＴの変更ビット欄６１０はいずれも値「０」である。従って、テーブルＴにはセクタ管理情報は記録されていない。そこで保護内読出し制御部４５０は、磁気ヘッドとアクチュエータを制御して、命令で指定されたセクタ「Ａ１」にアクセスさせてデータを読み出させる。
【００７８】
図１３に戻って説明を続ける。
【００７９】
図１３のステップＳ２０３における確認で、読出し命令で指定されたセクタと元セクタとが一致した場合（図１３のステップＳ２０３；Ｙｅｓ）には、その指定されたセクタの替わりのセクタに実際のデータが記憶されていることになる。この場合、保護内読出し制御部４５０は磁気ヘッドとアクチュエータを制御して、その替わりのセクタからデータを読み出させる（図１３のステップＳ２０５）。この制御を、図１２に示すデータ状態からの読出しを例として説明する。
【００８０】
図１６は、図１２に示すデータ状態から保護内読出し制御部４５０による制御でデータが読出される様子を示す図である。
【００８１】
図１６のパート（Ａ）に示すように、この例でも、ＯＳからの読出し命令はリカバリデータ領域５１０内のセクタ「Ａ１」を指定している。保護内読出し制御部４５０は、テーブルＴを参照して、この指定されたセクタ「Ａ１」を元セクタとしたセクタ管理情報を探す。すると、図１６のパート（Ｂ）に示すように、変更ビット欄６１０が値「１」となった箇所の元セクタ番号欄６２０には、命令で指定されたセクタ「Ａ１」と同じ番号「Ａ１」の元セクタが記録されている。そこで保護内読出し制御部４５０は、その元セクタに対応した先セクタの番号「Ａ１’」を入手する。そして、保護内読出し制御部４５０は、磁気ヘッドとアクチュエータを制御して、その番号「Ａ１’」が示す、変更データ領域５３０内のセクタ「Ａ１’」からデータを読み出させる。
【００８２】
以上説明した書込みの制御と読出しの制御によって、リカバリデータ領域５１０内のデータは常に保存される。また、ＯＳからの見た目では、リカバリデータ領域５１０内も含めて、ＯＳが指定したセクタに対して書込みや読出しが実行されているように見える。
【００８３】
最後に、図６に示すリカバリ部４６０の機能について説明する。
【００８４】
図６に示す命令受理部４１０は、上述した書込み命令や読出し命令の他に、ＯＳから、リカバリを指示するリカバリ命令も受理する。命令受理部４１０が受理したリカバリ命令はリカバリ部４６０に送られる。リカバリ部４６０は、リカバリ命令が送られてくると、セクタ管理情報のテーブルＴに記録されているセクタ管理情報を消去する。具体的には、テーブルＴの変更ビット欄６１０の値を全て「０」に書き換える。この結果、リカバリデータ領域５１０内のデータに対する書込み命令が全て取り消されたことになる。つまり、変更データ領域５３０内のデータは実質的に消去されたことになる。そして、リカバリデータ領域５１０内のデータがＯＳからの見た目で工場出荷時の状態となる。また、リカバリデータ領域５１０内のデータには、上述したようにファイルシステムが含まれている。このファイルシステムが工場出荷時の状態に戻ると、新規データ領域５２０内に書き込まれたデータも実質的に消去されることとなる。結局、図４に示すＨＤＤ２００では、制御回路基板２５０内のテーブルＴの一部を書き換えるだけで新規データ領域５２０も変更データ領域５３０もデータが実質的に消去される。つまり、このＨＤＤ２００におけるリカバリには磁気ディスク２１０へのリカバリデータの上書きのみならず、磁気ディスク２１０へのアクセスが全く不要である。従って、このＨＤＤ２００では高速なリカバリが実現する。
【００８５】
このことは、上記基本形態に対して上記リカバリ部を備えた応用形態について
「上記保護内書込み制御部が上記対応を対応表に記録するものであり、
上記リカバリ部が、上記対応表に記録されている対応を消去することによって実質的に上記保護領域外のデータを消去するものである」
という更なる応用形態が好適であることを表している。上述したテーブルＴは、この更なる応用形態における対応表の一例に相当する。また、上述したリカバリ部４６０は、この更なる応用形態におけるリカバリ部の一例にも相当している。
【００８６】
以上で第１実施形態の説明を終了し、以下では第２実施形態について説明する。なお、この第２実施形態と上述した第１実施形態とは、図４に示す制御回路基板２５０にて実行されるソフトウェアが相違するだけで、ハードウェアについては全く同一のものである。そこで、以下の第２実施形態の説明においては、ハードウェアの説明が必要な場合には第１実施形態の説明図をそのまま第２実施形態の説明図として流用する。
【００８７】
図１７は、第２実施形態で記憶回路素子に記憶されている制御プログラムを示す図である。
【００８８】
第１実施形態と同様に制御プログラム７００は記憶回路素子２５１に記憶されている。この制御プログラム７００は、命令受理部７１０と、命令区別部７２０とを備えている。更にこの制御プログラム７００は、新規書込み制御部７３０と、上書き制御部７４０と、読出し制御部７５０と、リカバリ部７６０も備えている。この制御プログラム７００が上述した処理回路素子２５２によって実行されることで制御回路基板２５０は、上記基本形態のアクセス制御装置に対する具体的な第２実施形態としての機能を発揮する。
【００８９】
図１８は、第２実施形態で制御回路基板が発揮する機能を示す機能ブロック図である。
【００９０】
制御回路基板２５０は、図１７に示す制御プログラム７００が実行されと、この図１８にブロックで示す命令受理部８１０と、命令区別部８２０として機能する。更にこの制御回路基板２５０は、新規書込み制御部８３０と、上書き制御部８４０と、読出し制御部８５０と、リカバリ部８６０としても機能する。この図１８に示す制御回路基板２５０の命令受理部８１０は、図１７に示す制御プログラム７００の命令受理部７１０によって実現される機能である。同様に、図１８に示す命令区別部８２０〜リカバリ部８６０は、図１７に示す命令区別部７２０〜リカバリ部７６０によって実現される機能である。
【００９１】
図１８にブロックで示す各機能のうち命令受理部８１０は上記基本形態における命令受理部の一例に相当する。また、命令区別部８２０は上記基本形態における命令区別部の一例に相当する。新規書込み制御部８３０は上記基本形態における保護外命令制御部の一例に相当する。上書き制御部８４０は上記基本形態における保護内書込み制御部の一例に相当する。読出し制御部８５０は上記基本形態における保護内読出し制御部の一例に相当する。
【００９２】
以下、これらの機能の詳細について説明する。以下の説明では、この図１８に示す要素は特に図番を断らずに引用する。
【００９３】
ＯＳから発せられる命令は命令受理部８１０によって受理される。命令受理部８１０は、上記第１実施形態と同様に、この受理に当たって、命令で指定されているセクタが可視領域内のセクタであるか否かを領域データＤ’を参照して確認する。ＯＳが指定した論理アドレスが、領域データＤ’が表す可視領域の定義範囲を逸脱している場合には、命令受理部８１０はＯＳにエラーを返す。
【００９４】
命令受理部８１０によって受理された命令は命令区別部８２０へと送られる。上記第１実施形態とは異なり、命令区別部８２０は、テーブルＴ’に記録されているセクタ管理情報を参照する。この第２実施形態では、このセクタ管理情報によって上記基本形態に言う保護領域が定義されている。即ち、テーブルＴ’にセクタ管理情報が記録されているセクタは全て保護領域として取り扱われ、リカバリが行われない限りデータが消されない。
【００９５】
ここで、第２実施形態で用いられるテーブルＴ’について説明する。
【００９６】
図１９は、第２実施形態で用いられるテーブルＴ’を示す図である。
【００９７】
この図１９に示すテーブルＴ’は、工場出荷時（この例では２００８年１月１日）のテーブルＴ’である。このテーブルＴ’には、日付欄９１０と、元セクタ番号欄９２０と、先セクタ番号欄９３０が備えられている。第２実施形態では工場出荷時にも既にテーブルＴ’にセクタ管理情報が記録されている。ただし、工場出荷時に記録済のセクタ管理情報（即ち日付欄９１０の値が「２００８−０１−０１」であるセクタ管理情報）は、元セクタ番号欄９２０の番号と先セクタ番号欄９３０の番号が同一である。このように同一番号が元セクタおよび先セクタとして記録されたセクタ管理情報は、本質的にはセクタ管理情報とは言えない。しかし、このように同一番号が元セクタおよび先セクタとして記録されたセクタ管理情報であっても、形式上はセクタ管理情報の一種である。これに対し、日付欄９１０の値が「９９９９−９９−９９」となっているテーブルＴ’の箇所は、セクタ管理情報の形式を満たさず未利用の箇所である。
【００９８】
工場出荷時に形式的なセクタ管理情報としてテーブルＴ’に記憶されているセクタは、上記第１実施形態におけるリカバリデータ領域に相当するセクタである。つまり、工場出荷時に既にＯＳプログラムやファイルシステムのデータが記憶されているセクタが、形式的なセクタ管理情報としてテーブルＴ’に記憶されている。このテーブルＴ’には、後述するようにセクタ管理情報が追加されていく。そして、セクタ管理情報の追加に伴い、命令区別部８２０が保護領域と見なすセクタが増加していく。
【００９９】
このようなテーブルＴ’を用いたデータの書込みと読出しの制御について以下説明する。
【０１００】
図２０は、図１８に示す制御回路基板２５０におけるデータ書込みの制御を表すフローチャートである。
【０１０１】
この図２０に示すＯＳからの書込み命令（即ちＷｒｉｔｅ要求）Ｑ３は、上述したように命令受理部８１０によって受理されて命令区別部８２０へと送られる。そして、命令区別部８２０は、テーブルＴ’を参照して、書込み命令Ｑ３で指定されたセクタを元セクタとしたセクタ管理情報を探す（図２０のステップＳ３０１）。そのようなセクタ管理情報が見つからなかった場合は、書込み命令Ｑ３は、新規データ領域へのデータの書込みを指示する命令である。その場合、新規書込み制御部８３０が磁気ヘッドとアクチュエータを制御し、命令で指定されたセクタにデータを書き込む（図２０のステップＳ３０２）。更に、新規書込み制御部８３０はテーブルＴ’に、その指定されたセクタを元セクタおよび先セクタとしたセクタ管理情報を記録する。このセクタ管理情報の日付欄９１０には、データが書き込まれた日付が記録される。
【０１０２】
一方、ステップＳ３０１で、指定されたセクタを元セクタとしたセクタ管理情報が見つかった場合は、書込み命令Ｑ３は、既に記憶されているデータに対する上書きを指示する命令である。その場合、上書き制御部８４０が、ＯＳには不可視の変更データ領域中に新たな代替のセクタを用意する。そして、上書き制御部８４０が磁気ヘッドとアクチュエータを制御し、その代替のセクタにデータを書き込ませる（図２０のステップＳ３０３）。
【０１０３】
図１８に示す制御回路基板２５０におけるデータ書込みの制御はこのように行われる。
【０１０４】
図２１は、図１８に示す制御回路基板２５０におけるデータ読出しの制御を表すフローチャートである。
【０１０５】
この図２０に示すＯＳからの読出し命令（即ちＲｅａｄ要求）Ｑ４は、上述したように命令受理部８１０によって受理されて命令区別部８２０へと送られる。そして命令区別部８２０はその読出し命令をそのまま読出し制御部８５０に送る。この第２実施形態では、データが書き込まれた領域が全て保護領域となるので、保護領域外のデータの読出しは生じないからである。そして、読出し制御部８５０はセクタ管理情報のテーブルＴ’を参照し、読出し命令Ｑ４で指定されたセクタを元セクタとするセクタ管理情報を探す。読出し制御部８５０は、見つけたセクタ管理情報のうち、日付が最新のセクタ管理情報に含まれている先セクタの番号を入手する。読出し制御部８５０は、磁気ヘッドとアクチュエータを制御し、その入手した番号が示すセクタからデータを読み出させる（ステップＳ４０１）。
【０１０６】
以上説明したように、第２実施形態におけるデータの書込み及び読出しの制御は、第１実施形態における制御よりも簡潔である。
【０１０７】
この第２実施形態におけるデータのリカバリは、図１８に示すリカバリ部８６０がセクタ管理情報のテーブルＴ’の日付欄９１０の値を「９９９９−９９−９９」に書き換えることで実現される。この第２実施形態でも命令受理部８１０はＯＳから、リカバリを指示するリカバリ命令を受理する。ただし、第２実施形態では、リカバリ命令は、リカバリによって回復が望まれているデータの日付を指定する。命令受理部８１０は、リカバリ命令を受理するとそのリカバリ命令が指定している日付をリカバリ部８６０に送る。リカバリ部８６０は、セクタ管理情報のテーブルＴ’の日付欄９１０に記録されている値を確認する。そしてリカバリ部８６０は、日付欄９１０に記録されている値のうち、その指定された日付よりも新しい日付を示した値を全て値「９９９９−９９−９９」に書き換える。これによりデータは実質的に、その指定された日付以前のデータ状態に戻る。
【０１０８】
以下、具体的な例を用いて、第２実施形態におけるデータの書込み、読出し、リカバリを説明する。
【０１０９】
図２２は、工場出荷後、最初にデータが追加された状態を示す図である。
【０１１０】
この図２２のパート（Ａ）には、リカバリデータ領域５１０内の２つのセクタ「Ａ１」「Ａ２」に２００８年１月１日の工場出荷時にデータが記憶されていたことが示されている。なお、このリカバリデータ領域５１０は、この図２２のパート（Ｂ）に示すテーブルＴ’に記憶されている２００８年１月１日付けのセクタ管理情報によって定義されている。
【０１１１】
また、２００８年５月２３日には、図２２のパート（Ａ）に示すように、リカバリデータ領域５１０内のセクタ「Ａ１」を指定した書込み命令と新規データ領域５２０内のセクタ「Ｂ１」を指定した書込み命令がなされている。リカバリデータ領域５１０内のセクタ「Ａ１」を指定した書込み命令はデータの上書きを指示する命令である。また、新規データ領域５２０内のセクタ「Ｂ１」を指定した書込み命令は、新規データの書込みを指示する命令である。これらの命令が実行されることで、この図２２のパート（Ｂ）に示すテーブルＴ’には、日付欄９１０の値が「２００８−０５−２３」のセクタ管理情報が２つ追加されている。１つは、元セクタ番号欄９２０にリカバリデータ領域５１０内のセクタの番号「Ａ１」が記録され、先セクタ番号欄９３０に変更データ領域５３０内のセクタの番号「Ａ１'」が記録されたセクタ管理情報である。もう一つは、元セクタ番号欄９２０にも先セクタ番号欄９３０にも、新規データ領域５２０内のセクタの番号「Ｂ１」が記録されているセクタ管理情報である。なお、ここでは、理解の便宜上、元セクタが共通するセクタ管理情報がひとかたまりでテーブルＴ’に記載されている。しかし、実際にはセクタ管理情報は日付順に並んでテーブルＴ’に記録される。
【０１１２】
図２３は、図２２に示す状態の後、更にデータが追加された状態を示す図である。
【０１１３】
２００８年６月４日に、図２２のパート（Ａ）に示すように、リカバリデータ領域５１０内のセクタ「Ａ１」を指定した書込み命令と新規データ領域５２０内のセクタ「Ｂ１」を指定した書込み命令がなされている。この図２３に示す例では、これら２つの命令ともデータの上書きを指示する命令である。これらの命令が実行されることで、この図２３のパート（Ｂ）に示すテーブルＴ’には、日付欄９１０の値が「２００８−０６−０４」のセクタ管理情報が２つ追加されている。１つは、元セクタ番号欄９２０にリカバリデータ領域５１０内のセクタの番号「Ａ１」が記録され、先セクタ番号欄９３０に変更データ領域５３０内のセクタの番号「Ａ１”」が記録されたセクタ管理情報である。もう一つのセクタ管理情報では、元セクタ番号欄９２０に新規データ領域５２０内のセクタの番号「Ｂ１」が記録されている。またこのもう一つのセクタ管理情報では、先セクタ番号欄９３０に変更データ領域５３０内のセクタの番号「Ｂ１’」が記録されている。
【０１１４】
このように、この第２実施形態では、どのデータについても実際には上書きが実行されない。しかし、ＯＳからの見た目では上書きが実行されているように見える。
【０１１５】
図２４は、図２３に示す状態でデータの読出しが行われた状態を示す図である。
【０１１６】
ここでは、図２４のパート（Ａ）に示すように、データ読出しを指示する３つの命令がなされている。即ち、リカバリデータ領域５１０内の２つのセクタ「Ａ１」「Ａ２」それぞれを指定する２つの命令と、新規データ領域５２０内のセクタ「Ｂ１」を指定した１つの命令である。これらの命令それぞれについて、実際にデータを読み出すセクタを確認するために、図２４のパート（Ｂ）に示すテーブルＴ’が参照される。元セクタ番号欄９２０の番号が「Ａ１」であるセクタ管理情報はテーブルＴ’上に３つ存在している。この３つのセクタ管理情報のうち、日付欄９１０の値が最新の日付に相当する値「２００８−０６−０４」となっているセクタ管理情報が見つけられる。そのセクタ管理情報の先セクタ番号欄９３０に記録されている先セクタの番号「Ａ１"」が表すセクタ「Ａ１"」からデータが読み出される。また、元セクタ番号欄９２０の番号が「Ａ２」であるセクタ管理情報はテーブルＴ’上に１つだけ存在している。そのセクタ管理情報の先セクタ番号欄９３０に記録されている先セクタの番号「Ａ２」が表すセクタ「Ａ２」からデータが読み出される。また、元セクタ番号欄９２０の番号が「Ｂ１」であるセクタ管理情報はテーブルＴ’上に２つ存在している。この２つのセクタ管理情報のうち、日付欄９１０の値が最新の日付に相当する値「２００８−０６−０４」となっているセクタ管理情報が見つけられる。そのセクタ管理情報の先セクタ番号欄９３０に記録されている先セクタの番号「Ｂ１’」が表すセクタ「Ｂ１’」からデータが読み出される。このように、実際のデータが２重３重になっていても、ＯＳからの見た目では最新のデータのみが記憶されているように見える。
【０１１７】
図２５は、図２４に示す状態でデータのリカバリが行われた様子を示す図である。
【０１１８】
この例では、リカバリ命令で指定された日付は２００８年５月２３日である。図２５のパート（Ｂ）に示すように、テーブルＴ’の日付欄９１０の値のうち、２００８年５月２３日よりも新しい日付を示す値が「９９９９−９９−９９」に書き換えられる。
【０１１９】
このとき、図２５のパート（Ａ）に示すように、リカバリデータ領域５１０に記憶されているデータも、新規データ領域５２０に記憶されているデータも、変更データ領域５３０に記憶されているデータも一切変更されない。また、図２５のパート（Ｂ）に示すように、テーブルＴ’の元セクタ番号欄９２０の記録も、先セクタ番号欄９３０の記録も一切変更されない。しかし、このように日付欄９１０の値の一部が「９９９９−９９−９９」に書き換えられるだけでデータのリカバリが実現している。
【０１２０】
図２６は、図２５に示す状態でデータの読出しが行われた状態を示す図である。
【０１２１】
上述した図２４に示すデータ呼び出しと同様に、ここでも、図２６のパート（Ａ）に示すように、データ読出しを指示する３つの命令がなされている。即ち、リカバリデータ領域５１０内の２つのセクタ「Ａ１」「Ａ２」それぞれを指定する２つの命令と、新規データ領域５２０内のセクタ「Ｂ１」を指定した１つの命令である。これらの命令それぞれについて、実際にデータを読み出すセクタを確認するために、図２６のパート（Ｂ）に示すテーブルＴ’が参照される。
【０１２２】
元セクタ番号欄９２０には「Ａ１」という記載が３つ存在している。しかし、日付欄９１０の値が「９９９９−９９−９９」となっている段の「Ａ１」という記載は実質的には消去されたものである。従ってテーブルＴ’には、元セクタ番号欄９２０の番号が「Ａ１」となっているセクタ管理情報は２つ存在することになる。そして、その２つのセクタ管理情報のうち、日付欄９１０の値が最新の日付に相当する値「２００８−０５−２３」となっているセクタ管理情報が見つけられる。そのセクタ管理情報の先セクタ番号欄９３０に記録されている先セクタの番号「Ａ１’」が表すセクタ「Ａ１’」からデータが読み出される。また、元セクタ番号欄９２０の番号が「Ａ２」であるセクタ管理情報はテーブルＴ’上に１つだけ存在している。そのセクタ管理情報の先セクタ番号欄９３０に記録されている先セクタの番号「Ａ２」が表すセクタ「Ａ２」からデータが読み出される。また、元セクタ番号欄９２０には「Ｂ１」という記載が２つ存在している。しかし、日付欄９１０の値が「９９９９−９９−９９」となっている段の「Ｂ１」という記載は実質的には消去されたものである。従ってテーブルＴ’には、元セクタ番号欄９２０の番号が「Ｂ１」となっているセクタ管理情報は１つだけ存在している。そして、そのセクタ管理情報の先セクタ番号欄９３０に記録されている先セクタの番号「Ｂ１」が表すセクタ「Ｂ１」からデータが読み出される。
【０１２３】
このように、実際のデータが記憶領域などに残っていても、ＯＳからの見た目では過去の日付におけるデータ状態が回復されているように見える。つまり、図１８に示すリカバリ部８６０が制御回路基板２５０内のテーブルＴ’の記録を一部書き換えるだけでリカバリが実行される。従って高速なリカバリが実現する。さらには、リカバリ命令で日付が指定されることで、任意の時点におけるデータの状態がリカバリされることとなる。
【０１２４】
このことは、上記基本形態に対して上記リカバリ部を備えた応用形態について、
「上記保護内書込み制御部が上記対応をデータの書込みの日付とともに対応表に記録するものであり、
上記対応表が、上記アクセス箇所と上記代替箇所との対応が記録されるとともに、上記保護領域内に記憶されているデータの記憶箇所も、その対応の記録形式と同じ記録形式で、そのアクセス箇所およびその代替箇所の双方が同一の記憶箇所となった対応として記録されるものであり、
上記保護領域が、上記対応表に記録されているアクセス箇所の集合によって定義された、データが書き込まれる度に累増する領域であり、
上記リカバリ部が、日付の指定を受けて、上記対応表に記録されている対応のうち、その指定された日付よりも新しい日付の対応を消去することによって実質的に過去の保護領域外のデータを消去するものである」
という更なる応用形態が好適であることを表している。上述したテーブルＴ’は、この更なる応用形態における対応表の一例に相当する。
【０１２５】
以上で第２実施形態についての説明を終了する。
【０１２６】
なお、上記説明では、上記基本形態の電子機器に対する具体的実施形態としてパーソナルコンピュータが示されているが、上記基本形態の電子機器は、例えばプログラム組込型の監視カメラなどに応用されても良い。
【０１２７】
また、上記説明では、上記基本形態の記憶装置に対する具体的実施形態としてＨＤＤが示されているが、上記基本形態の記憶装置は、ＨＤＤ以外にも、例えば半導体メモリや光ディスク装置等に応用されても良い。このようにＨＤＤ以外の装置に応用される場合には、上記基本形態にいうアクセス部も、上記説明した磁気ヘッドとは異なるアクセス手段に応用されることとなる。例えば、半導体メモリの記憶領域にアクセスするアクセス回路や、光ディスクにアクセスする光学ヘッドなどに応用される。
【図面の簡単な説明】
【０１２８】
【図１】従来のリカバリ技術を示す図である。
【図２】基本形態の電子機器に対する具体的な第１実施形態に相当するパーソナルコンピュータの外観図である。
【図３】パーソナルコンピュータのハードウェア構成図である。
【図４】ＨＤＤの詳細構成図である。
【図５】記憶回路素子に記憶されている制御プログラムを示す図である。
【図６】制御プログラムを処理回路素子が実行することで制御回路基板が発揮する機能を示す機能ブロック図である。
【図７】データ書込み時における制御の概略を示す図である。
【図８】データ読込み時における制御の概略を示す図である。
【図９】データ書込み時の制御内容の詳細を表すフローチャートである。
【図１０】工場出荷時におけるデータの記憶状態を示す図である。
【図１１】保護外命令制御部による制御でのデータ書込みを表す図である。
【図１２】図１１に示すデータ状態に対して保護内書込み制御部によりデータが書き込まれた様子を示す図である。
【図１３】データ読込み時の制御内容の詳細を表すフローチャートである。
【図１４】保護外命令制御部による制御でのデータ読出しを表す図である。
【図１５】図１０に示すデータ状態から保護内読出し制御部４５０による制御でデータが読出される様子を示す図である。
【図１６】図１２に示すデータ状態から保護内読出し制御部４５０による制御でデータが読出される様子を示す図である。
【図１７】第２実施形態で記憶回路素子に記憶されている制御プログラムを示す図である。
【図１８】第２実施形態で制御回路基板が発揮する機能を示す機能ブロック図である。
【図１９】第２実施形態で用いられるテーブルＴ’を示す図である。
【図２０】図１８に示す制御回路基板におけるデータ書込みの制御を表すフローチャートである。
【図２１】図１８に示す制御回路基板におけるデータ読出しの制御を表すフローチャートである。
【図２２】工場出荷後、最初にデータが追加された状態を示す図である。
【図２３】図２２に示す状態の後、更にデータが追加された状態を示す図である。
【図２４】図２３に示す状態でデータの読出しが行われた状態を示す図である。
【図２５】図２４に示す状態でデータのリカバリが行われた様子を示す図である。
【図２６】図２５に示す状態でデータの読出しが行われた状態を示す図である。
【符号の説明】
【０１２９】
１００    パーソナルコンピュータ
２００    ハードディスク装置（ＨＤＤ）
２１０    磁気ディスク
２２２    磁気ヘッド
２５０    制御回路基板
２５１    記憶回路素子
２５２    処理回路素子
３００，７００    制御プログラム
４１０，８１０    命令受理部
４２０，８２０    命令区別部
４３０    保護外命令制御部
４４０    保護内書込み制御部
４５０    保護内読出し制御部
４６０    リカバリ部
５１０    リカバリデータ領域
５２０    新規データ領域
５３０    変更データ領域
８３０    新規書込み制御部
８４０    上書き制御部
８５０    読出し制御部
８６０    リカバリ部
Ｔ，Ｔ’    セクタ管理情報のテーブル
【図１】
2010152794.tif 000003
【図２】
2010152794.tif 000004
【図３】
2010152794.tif 000005
【図４】
2010152794.tif 000006
【図５】
2010152794.tif 000007
【図６】
2010152794.tif 000008
【図７】
2010152794.tif 000009
【図８】
2010152794.tif 000010
【図９】
2010152794.tif 000011
【図１０】
2010152794.tif 000012
【図１１】
2010152794.tif 000013
【図１２】
2010152794.tif 000014
【図１３】
2010152794.tif 000015
【図１４】
2010152794.tif 000016
【図１５】
2010152794.tif 000017
【図１６】
2010152794.tif 000018
【図１７】
2010152794.tif 000019
【図１８】
2010152794.tif 000020
【図１９】
2010152794.tif 000021
【図２０】
2010152794.tif 000022
【図２１】
2010152794.tif 000023
【図２２】
2010152794.tif 000024
【図２３】
2010152794.tif 000025
【図２４】
2010152794.tif 000026
【図２５】
2010152794.tif 000027
【図２６】
2010152794.tif 000028