説明

記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器

【課題】データのリカバリに上書きコピーが不要な記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器を提供する。
【解決手段】記憶領域にアクセスを行うアクセス部と、上記記憶領域内のアクセス箇所の指定とその箇所へのデータアクセス命令の受理部と、上記命令を、保護領域内のアクセス箇所を指定した保護内命令と、保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、上記保護外命令で指定されたアクセス箇所へのアクセスを上記アクセス部に実行させる保護外命令制御部と、上記保護内命令がデータ書込みの場合に、上記不可視領域中の代替箇所への書込みを実行させ、アクセス箇所と代替箇所との対応を記録する保護内書込み制御部と、上記保護内命令がデータ読出しを指示している場合に、アクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、そこからデータ読出しを行う保護内読出し制御部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本件開示は、記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器に関する。
【背景技術】
【0002】
従来より、データを記憶する記憶装置としてハードディスク装置(HDD)や半導体メモリや光ディスク装置等が知られている。また、そのような記憶装置を内蔵してプログラムデータを記憶していてそのプログラムデータに従って動作する電子機器も知られている。このような電子機器としては、パーソナルコンピュータに代表される情報処理装置が知られている。また、例えば監視カメラなどに代表される、いわゆる組込型の装置も知られている。
【0003】
このような電子機器や記憶装置に記憶されたプログラムデータは、必要に応じて更新されることが多い。一方で、更新の不具合やデータの破壊などによってプログラムデータに従った動作が不適切な動作となることもしばしば生じる。このような不適切な動作を生じさせるプログラムデータは、更に更新して適切な動作をさせるものに改良するか、更新を取り消して、動作が適切であった過去の時点のプログラムデータに戻すことが望ましい。このように過去の時点のプログラムデータに戻すことを一般にリカバリと称する。
【0004】
リカバリを行うための従来技術としては、リカバリ用のプログラムデータを予めどこかに記憶しておき、そのプログラムデータを電子機器や記憶装置にコピーする技術が知られている。
【0005】
図1は、従来のリカバリ技術を示す図である。
【0006】
この図1には、従来知られている2種類のリカバリ技術が示されている。ここに示す各例では、HDDに記憶されているプログラムデータのリカバリを行う。
【0007】
パート(A)に示されているリカバリ技術では、HDD1のプログラムデータをリカバリするために、リカバリ用のプログラムデータを記憶したリカバリCD2を用いる。このリカバリ用のプログラムデータは、例えば工場出荷時にHDD1に記憶されているプログラムデータと同じプログラムデータである。リカバリの際には、リカバリCD2に記憶されているプログラムデータを読み出してHDD1に上書きコピーすることでHDD1を工場出荷時の状態に戻す。
【0008】
パート(B)に示されているリカバリ技術では、HDD3の記憶領域の一部に、OSなどからは不可視の隠し領域4が設けられる。そして、その隠し領域4にリカバリ用のプログラムデータが記憶される(例えば特許文献1および特許文献2参照。)。リカバリの際には、隠し領域4に記憶されているプログラムデータをリカバリ用のOSなどによって読み出す。その読み出されたプログラムデータが、可視領域に記憶されているプログラムデータに対して上書きコピーされることでHDD3が工場出荷時の状態に戻る。
【特許文献1】特開2003−280914号公報
【特許文献2】特開2002−366359号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
このような従来のリカバリ技術では、プログラムデータの上書きコピーが必要であるため、その上書きコピーの処理にかなりの時間を要する。このような時間を短縮することが求められている。
【0010】
なお、ここではプログラムデータのリカバリを例にとって説明したが、プログラムでない単なるデータのリカバリであっても事情は同様である。
【0011】
上記事情に鑑み、本件開示は、データのリカバリに上書きコピーが不要な記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成する記憶装置の基本形態は、
データを記憶する記憶領域に対しデータアクセスを行うアクセス部と、
上記記憶領域内のアクセス箇所の指定とそのアクセス箇所に対するデータアクセスの指示とを含んだ命令を受理する、アクセス箇所としては、記憶領域内に定義された可視領域内の箇所は指定可能で、可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
上記命令受理部で受理された命令を、上記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、可視領域内で保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
上記保護外命令で指定されたアクセス箇所に対するデータアクセスを上記アクセス部に実行させる保護外命令制御部と、
上記保護内命令が上記データアクセスとしてデータの書込みを指示している場合に、上記アクセス部に上記不可視領域中の代替箇所に対するデータの書込みを実行させ、保護内命令が指定したアクセス箇所と代替箇所との対応を記録する保護内書込み制御部と、
上記保護内命令が上記データアクセスとしてデータの読出しを指示している場合に、保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、上記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えている。
【0013】
上記目的を達成するアクセス制御装置の基本形態は、
上記命令受理部と、上記命令区別部と、上記保護外命令制御部と、上記保護内書込み制御部と、上記保護内読出し制御部とを備えている。
【0014】
上記目的を達成するアクセス制御プログラムの基本形態は、
情報処理装置によって実行されることで該情報処理装置を、上記命令受理部と、上記命令区別部と、上記保護外命令制御部と、上記保護内書込み制御部と、上記保護内読出し制御部とを備えたアクセス制御装置として動作させる。
【0015】
上記目的を達成する電子機器の基本形態は、
データを記憶する記憶領域に記憶されたプログラムデータに従った情報処理を実行する、その情報処理の過程で上記命令を発する情報処理部と、
上記アクセス部と、上記命令受理部と、上記命令区別部と、上記保護外命令制御部と、上記保護内書込み制御部と、上記保護内読出し制御部とを備えている。
【0016】
これらの基本形態によれば、可視領域内の保護領域に記憶されたデータが常に保護されている。一方で、命令を発する上位側から見ると、その保護領域も含めて命令通りにデータが更新されているように見える。そして、リカバリ時には、保護領域以外のデータを消去することでデータがリカバリされることとなる。リカバリ時にデータの上書きコピーが不要なので処理時間が短い。
【発明の効果】
【0017】
以上説明したように、上記基本形態によれば、データのリカバリには上書きコピーが不要である。
【発明を実施するための最良の形態】
【0018】
基本形態について上記説明した記憶装置、アクセス制御装置、アクセス制御プログラム、および電子機器に対する具体的な実施形態を、以下図面を参照して説明する。
【0019】
図2は、上記基本形態の電子機器に対する具体的な第1実施形態に相当するパーソナルコンピュータの外観図であり、図3は、そのパーソナルコンピュータのハードウェア構成図である。
【0020】
このパーソナルコンピュータ100は、本体部101、ディスプレイ102、キーボード103、マウス104を備えている。本体部101は、CPU、RAM、ハードディスク等を内蔵している。ディスプレイ102は、本体部101からの指示により表示面102aに画面表示を行う。キーボード103は、このパーソナルコンピュータ100にユーザの指示や文字情報を入力するためのものである。マウス104は、表示面102a上の任意の位置を指定することによりその位置に応じた指示を入力するものである。
【0021】
本体部101は、さらに、外観上、フレキシブルディスク(FD)装填口101aおよびコンパクトディスク(CD)装填口101bを有している。FD装填口101aにはFD106(図2には図示せず;図3参照)が装填される。またCD装填口101bにはCD−ROM105(図3参照)やCD−RやCD−RWなどといった各種のCD型媒体が装填される。これらFD装填口101aおよびCD装填口101bの内部には、装填されたFDやCD型媒体をドライブする、FDドライブ114、CDドライブ115(図3参照)も搭載されている。
【0022】
図3に示すようにパーソナルコンピュータ100には、中央演算処理装置(CPU)111、RAM112、HDD200が備えられている。また、上述したようにFDドライブ114、CDドライブ115、ディスプレイ102、キーボード103、マウス104も備えられている。また、通信用ボード116も備えられている。パーソナルコンピュータ100に備えられたこれらの要素はバス110で相互に接続されている。
【0023】
FDドライブ114、CDドライブ115は、上記説明したように、FD106、CD型媒体(ここに示す例ではCD−ROM105)をアクセスするものである。
【0024】
HDD200は、上記基本形態の記憶装置に対する具体的な第1実施形態に相当する。このHDD200が有する磁気ディスク210には、OSプログラムやアプリケーションプログラムが記憶されている。このOSプログラムやアプリケーションプログラムはCPU111で実行されるプログラムである。このCPU111が、上記基本形態にいう情報処理部の一例に相当する。プログラムの実際の実行にあたっては、HDD200の磁気ディスク210に記憶されているプログラムが読み出されてRAM112上にロードされ、CPU111により実行される。
【0025】
通信用ボード116は、インターネット等に接続されて通信を行うものである。この通信用ボード116を介した通信により、磁気ディスク210に記憶されているOSプログラムやアプリケーションプログラムは必要に応じて更新される。更新されたOSプログラムやアプリケーションプログラムは、更新前に有していた欠陥が修復されていたり、更新前よりも高い機能を有していたりする。しかし、プログラムの更新は常に良好な結果になるとは限らず、しばしば不都合を生じる。例えば、更新後のプログラムがパーソナルコンピュータ100の処理能力に過大な負荷を与えるものになる場合がある。その場合にはパーソナルコンピュータ100の動作は不安定となる。また、更新そのものに失敗してプログラムが壊れてしまう場合もある。その場合には、パーソナルコンピュータ100の動作が本来の動作とは異なるものとなったり、動作不能に陥ったりする。
【0026】
プログラムの更新に伴うこのような不都合の他にも、パーソナルコンピュータ100が動作を続けた結果として不都合が生じる場合がある。例えば、パーソナルコンピュータ100にユーザが多くのデータを取り込んでHDD200に記憶させた結果、パーソナルコンピュータ100の動作に必要な空き容量が不足してしまう場合がある。この場合には、パーソナルコンピュータ100の動作が遅くなったり、動作不能になったりする。また、インターネット等を介してウィルスソフトに感染してしまい動作不能に陥ることもある。
【0027】
このような不都合が生じてしまって容易には解決できない場合の非常手段としていわゆるリカバリが存在する。この図2,3に示すパーソナルコンピュータ100に備えられているHDD200は、そのリカバリを高速に実行する機能を有している。以下、このHDD200の詳細について説明する。
【0028】
図4は、HDDの詳細構成図である。
【0029】
HDD200には、ハウジングH内に、円盤状の磁気ディスク210、スイングアーム220、アクチュエータ230、制御回路基板250が備えられている。
【0030】
磁気ディスク210は、この図の奥行き方向に複数枚が共通のディスク軸211に取り付けられている。これらの磁気ディスク210は、ディスク軸211を介した駆動力を受けてディスク軸211を中心に回転する。この磁気ディスク210の表面にはデータが磁気的に記憶される。つまり、この磁気ディスク210上に、上記基本形態にいう記憶領域の一例が構築されている。
【0031】
スイングアーム220は、アーム軸221によって支持されている。スイングアーム220はアーム軸221を中心として所定の角度範囲内で回転自在となっている。アクチュエータ230はいわゆるボイスコイルモータであり、スイングアーム220を回転させる駆動力を生む。また、スイングアーム220の先端には磁気ヘッド222が備えられている。このため、スイングアーム220が回転することによって磁気ヘッド222は磁気ディスク210の表面に沿って移動する。磁気ヘッド222は磁気ディスク210の表面に対してデータの読み書き(即ちデータアクセス)を磁気的に行うものである。この磁気ヘッド222が、上記基本形態にいうアクセス部の一例に相当する。
【0032】
磁気ヘッド222によるデータの読み書きは、制御回路基板250による制御の下で実行される。この制御回路基板250による制御は、磁気ヘッド222自体の読み書き動作の制御と、その磁気ヘッド222を位置決めするためのアクチュエータ230の制御とを含んでいる。この制御回路基板250による制御は、図3に示すCPU111からの命令を受けて実行されるものである。このCPU111からの命令は、具体的にはOSによる命令である。この制御回路基板250は、上記基本形態のアクセス制御装置に対する具体的な第1実施形態に相当する。ここに示す例では、制御回路基板250の機能は、プログラムの実行によって実現される。
【0033】
この制御回路基板250には、記憶回路素子251と処理回路素子252が搭載されている。これらの素子は、いずれも半導体集積回路素子である。記憶回路素子251には制御プログラムが記憶されており、この制御プログラムは、上記基本形態のアクセス制御プログラムに対する具体的な第1実施形態に相当する。また制御回路基板250における処理回路素子252の役割は、その制御プログラムを実行する役割である。制御回路基板250は、上記基本形態にいう情報処理装置の一例に相当する。
【0034】
図5は、記憶回路素子に記憶されている制御プログラムを示す図である。
【0035】
上述したように制御プログラム300は記憶回路素子251に記憶されている。この制御プログラム300は、命令受理部310と、命令区別部320とを備えている。更にこの制御プログラム300は、保護外命令制御部330と、保護内書込み制御部340と、保護内読出し制御部350と、リカバリ部360も備えている。この制御プログラム300が上述した処理回路素子252によって実行されることで制御回路基板250は、上記基本形態のアクセス制御装置に対する具体的な第1実施形態としての機能を発揮する。
【0036】
図6は、制御プログラムを処理回路素子が実行することで制御回路基板が発揮する機能を示す機能ブロック図である。
【0037】
制御回路基板250は、図5に示す制御プログラム300が実行されると、この図6にブロックで示す命令受理部410と、命令区別部420として機能する。更にこの制御回路基板250は、保護外命令制御部430と、保護内書込み制御部440と、保護内読出し制御部450と、リカバリ部460としても機能する。この図6に示す制御回路基板250の命令受理部410は、図5に示す制御プログラム300の命令受理部310によって実現される機能である。同様に、図6に示す命令区別部420〜リカバリ部460は、図5に示す命令区別部320〜リカバリ部360によって実現される機能である。
【0038】
図6にブロックで示す各機能のうち命令受理部410は上記基本形態における命令受理部の一例に相当する。また、命令区別部420は上記基本形態における命令区別部の一例に相当する。保護外命令制御部430は上記基本形態における保護外命令制御部の一例に相当する。保護内書込み制御部440は上記基本形態における保護内書込み制御部の一例に相当する。保護内読出し制御部450は上記基本形態における保護内読出し制御部の一例に相当する。但しこれらの機能の詳細は後で説明する。
【0039】
上述したように、この制御回路基板250は、OSからの命令を受けて制御動作を行うものである。このOSからの命令は、磁気ディスク上の記憶領域内の箇所を指定してデータの書込みや読込みを指示する命令である。ここに示す例では、記憶領域内の箇所として具体的にはセクタが指定される。
【0040】
以下、この制御回路基板250による制御内容について先ず概略を説明する。その後、図6にブロックで示す各機能も含めて詳細な説明を行う。
【0041】
図7は、データ書込み時における制御の概略を示す図であり、図8はデータ読込み時における制御の概略を示す図である。
【0042】
図7のパート(A)に示すように、制御回路基板は、磁気ディスク上の記憶領域500をリカバリデータ領域510と、新規データ領域520と、変更データ領域530とに区分けして管理している。これらの領域510〜530の範囲は、図6に示す領域データDによって定義されている。リカバリデータ領域510は、工場出荷時のOSプログラムなど、リカバリ時に再現されるデータが記憶されている領域である。新規データ領域520と変更データ領域530は、工場出荷後に増加するデータを記憶する増分データ領域540を構成している。新規データ領域520には新規なデータが記憶され、変更データ領域530には、リカバリデータ領域510に対する変更データが記憶される。
【0043】
図7のパート(C)に示すように、OSから見える可視領域500’は、リカバリデータ領域510と新規データ領域520とで構成されている。このためOSは、書込みや読み出しのセクタとしてリカバリデータ領域510内のセクタか新規データ領域520内のセクタしか指定できない。
【0044】
HDDに対してOSから、新規データ領域520内のセクタ「B1」に対するデータの書込みを指示する命令が与えられた場合には、その命令通りにセクタ「B1」に対してデータが書き込まれる。これに対し、HDDに対してOSから、リカバリデータ領域510内のセクタ「A1」に対するデータの書込みを指示する命令が与えられた場合には次のような動作となる。即ち、パート(A)に示すように、その指定されたセクタ「A1」の替わりとなるセクタ「A1’」が変更データ領域530内に用意される。そしてその替わりのセクタ「A1’」にデータが書き込まれる。
【0045】
また、図6に示すセクタ管理情報のテーブルTに対し、図7のパート(B)に示すように、指定されたセクタ「A1」と替わりのセクタ「A1’」との対応を表すセクタ管理情報が記憶される。このテーブルTには、変更ビット欄610と、元セクタ番号欄620と、先セクタ番号欄630とが備えられている。テーブルTの未使用の箇所は変更ビット欄610の値が「0」となっており使用箇所は「1」となっている。即ち、テーブルTの変更ビット欄610の値が「1」となっている箇所にはセクタ管理情報が記録されている。リカバリデータ領域510内の元セクタの番号「A1」は元セクタ番号欄620に記録される。また、変更データ領域530内に元セクタの替わりとして用意される先セクタの番号「A1’」は、先セクタ番号欄630に記録される。このようにセクタ管理情報は元セクタの番号と先セクタの番号との対を有している。
【0046】
このようなデータ書込みの制御により、図7のパート(C)に示すように、OSからの見た目では、書込みを指示したセクタ「A1」「B1」に対して指示通りにデータが書き込まれたように見える。
【0047】
データの読出しの際にも、図8のパート(A)に示すように、新規データ領域520中のセクタ「B1」を指定した命令である場合には、その命令通りにセクタ「B1」からデータが読み出される。リカバリデータ領域510内のセクタ「A1」を指定したデータの読出しを指示する命令が与えられた場合には、テーブルTのセクタ管理情報が参照される。即ち、セクタ管理情報の元セクタの番号が「A1」であるものを探してその元セクタに対応する先セクタの番号「A1’」を得る。そしてその番号「A1’」が示す先セクタからデータを読み出してOSに出力する。
【0048】
図7及び図8を参照して概略を説明した制御によれば、リカバリデータ領域510内のデータは、OSから可視であるにも拘わらずOSの命令では変更や消去がなされない。その結果、リカバリデータ領域510内のデータは工場出荷時のまま維持されることとなる。そして、リカバリが必要な場合には、新規データ領域520および変更データ領域530からなる増分データ領域540に記憶されているデータが消去されてリカバリが実現する。このリカバリではデータの上書きコピーが不要である。データの上書きコピーは、実際に各セクタへのデータの書込みが必要となるので長い処理時間を要する。これに対し、データの消去は、実際には各セクタのデータはそのままでも、そのセクタを空き領域として解放するだけで実質的な消去となる。そして、このような解放は短い処理時間で実行可能である。従って図7及び図8で説明した制御によれば高速リカバリが実現する。
【0049】
ここで、上述した基本形態に対し、「上記記憶領域に記憶されているデータのうち上記保護領域外に記憶されているデータを消去するリカバリ部を備えた」応用形態は好適である。このようなリカバリ部を備えることで上述したような高速リカバリが実行できる。図6に示すリカバリ部460が、この応用形態にいうリカバリ部の一例に相当する。
【0050】
以下、この制御回路基板250による制御内容の詳細について、図6にブロックで示す各機能の役割も含めて説明を行う。
【0051】
図9は、データ書込み時の制御内容の詳細を表すフローチャートである。なお、以下の説明に当たっては、特に図番を断らずに図6の要素を引用することがある。
【0052】
OSから発せられる書込み命令(即ちWrite要求)Q1は命令受理部410によって受理される。命令受理部410はこの受理に当たって、命令Q1で指定されているセクタが可視領域内のセクタであるか否かを領域データDを参照して確認する。具体的には、OSは論理アドレスによってセクタを指定する。そして、領域データDは、論理アドレスのうち物理アドレスが割り当てられた範囲によって可視領域を定義している。OSが指定した論理アドレスがこの可視領域の定義範囲を逸脱している場合には、命令受理部410はOSにエラーを返す。
【0053】
命令受理部410によって受理された命令は命令区別部420へと送られる。命令区別部420は領域データDを参照し、命令Q1で指定されているセクタがリカバリデータ領域内のものであるか否かを確認する(図9のステップS101)。そして、リカバリデータ領域外(即ち新規データ領域内)のセクタが指定された命令である場合には、保護外命令制御部430にその命令が送られる。保護外命令制御部430は磁気ヘッドとアクチュエータを制御して、その指定されたセクタへのデータの書込みを実行させる(図9のステップS102)。この保護外命令制御部430による制御でのデータの書込みを説明するに当たり、ここで改めて、工場出荷時におけるデータの記憶状態を説明する。
【0054】
図10は、工場出荷時におけるデータの記憶状態を示す図である。
【0055】
この図10のパート(A)に示すように、工場出荷時には、リカバリデータ領域510のみにデータが記憶されている。この図9では一例としてセクタ「A1」にデータが記憶されていることが示されている。また、新規データ領域520および変更データ領域530は空白の領域となっている。リカバリデータ領域510に記憶されているデータとしては、OSプログラムのデータやファイルシステムのデータが含まれている。
【0056】
この図10のパート(B)に示すように、セクタ管理情報のテーブルTは、変更ビット欄610の値が全て「0」となっている。つまり、テーブルTにはセクタ管理情報の記録が存在しないことを意味している。
【0057】
このような工場出荷時の状態に対してデータが書き込まれることを例として、保護外命令制御部430による制御を以下説明する。
【0058】
図11は、保護外命令制御部430による制御でのデータ書込みを表す図である。
【0059】
この保護外命令制御部430は、上述したように、新規データ領域520内へのデータ書込みの制御を行う。この図11のパート(A)では、一例としてセクタ「B1」に対する書込み命令を受けた様子が示されている。保護外命令制御部430は、そのセクタ「B1」に対して命令通りにデータの書込みを実行する。このとき、図11のパート(B)に示すように、セクタ管理情報のテーブルTには何も記録されず工場出荷時のままである。
【0060】
なお、OSは、新たなデータの書込み命令を発すると、通常は、ファイルシステムを更新するための書込み命令も発することになる。しかし、ここでは説明の便宜のため、そのような命令どうしの関連は無視し、OSから発せられる個々の命令に対する制御について説明していく。
【0061】
図9に戻って説明を続ける。
【0062】
図9のステップS101における確認で、リカバリデータ領域内のセクタが指定された命令であると確認された場合には、ステップS103に進む。このステップS103では、保護内書込み制御部440がテーブルTについて、変更ビット欄610の値が「1」になっている各箇所(即ちセクタ管理情報)を参照する。そして保護内書込み制御部440は、各セクタ管理情報の元セクタについて、書込み命令Q1で指定されたセクタに一致するか否かを確認する。
【0063】
書込み命令Q1で指定されたセクタと元セクタとが一致しなかった場合(図9のステップS103;No)には、その指定されたセクタは、OSから見ても工場出荷時のままであることになる。そこで、保護内書込み制御部440は、変更データ領域内に替わりのセクタを用意する。そして、保護内書込み制御部440は磁気ヘッドとアクチュエータを制御して、その替わりのセクタにデータを書き込ませる(図9のステップS104)。
【0064】
図12は、図11に示すデータ状態に対して保護内書込み制御部によりデータが書き込まれた様子を示す図である。
【0065】
この図12のパート(A)に示すように、OSからの書込み命令は、リカバリデータ領域510内のセクタ「A1」を指定している。保護内書込み制御部は、このセクタ「A1」の替わりとして変更データ領域530内にセクタ「A1’」を用意する。そして保護内書込み制御部は、この替わりの「A1’」にデータを書き込む。また、保護内書込み制御部は、図12のパート(B)に示すように、テーブルTにセクタ管理情報を記録する。具体的には、まず、テーブルTの段のうち、変更ビット欄610が値「0」であった未使用箇所を見つける。そしてその未使用箇所の変更ビット欄610に値「1」を書込む。また、元セクタ番号欄620には元セクタの番号「A1」を書込む。さらに、先セクタ番号欄630には元セクタの番号「A1」を書込む。
【0066】
図9に戻ってさらに説明を続ける。
【0067】
図9のステップS103における確認で、書込み命令で指定されたセクタと元セクタとが一致した場合(図9のステップS103;Yes)には、既に、その指定されたセクタの替わりのセクタが変更データ領域内に用意されていることになる。この場合、保護内書込み制御部440は磁気ヘッドとアクチュエータを制御して、その替わりのセクタにデータを書き込ませる(図9のステップS105)。図12に示す例で説明すると、図12のパート(B)に示すようなセクタ管理情報が既にテーブルTに記録されていることになる。そして、変更ビット欄610が値「1」となった箇所の元セクタ番号欄620には、命令で指定されたセクタ「A1」と同じ番号「A1」の元セクタが記録されている。そこで保護内書込み制御部440は、その元セクタに対応した先セクタの番号「A1’」を入手する。そして、保護内書込み制御部440は、磁気ヘッドとアクチュエータを制御して、その番号「A1’」が示す、変更データ領域530内のセクタ「A1’」にデータを上書きで書き込ませる。
【0068】
次に、制御回路基板250によるデータ読出し時の制御内容の詳細について説明する。
【0069】
図13は、データ読込み時の制御内容の詳細を表すフローチャートである。
【0070】
OSから発せられる読出し命令(即ちRead要求)Q2は命令受理部410によって受理される。命令受理部410によって受理された命令Q2は命令区別部420へと送られる。命令区別部420は領域データDを参照し、命令Q2で指定されているセクタがリカバリデータ領域内のものであるか否かを確認する(図13のステップS201)。そして、リカバリデータ領域外(即ち新規データ領域内)のセクタが指定された命令である場合には、保護外命令制御部430にその命令が送られる。保護外命令制御部430は磁気ヘッドとアクチュエータを制御して、その指定されたセクタからのデータの読出しを実行させる(図13のステップS202)。ここで、図12に示すデータ状態に対して保護外命令制御部430による制御でのデータ読出しが行われる例を説明する。
【0071】
図14は、保護外命令制御部430による制御でのデータ読出しを表す図である。
【0072】
この例では、OSからの読出し命令は、新規データ領域520内のセクタ「B1」を指定している。保護外命令制御部430は、磁気ヘッドとアクチュエータを制御して、その指定されたセクタ「B1」からデータを読み込ませる。
【0073】
図13に戻って説明を続ける。
【0074】
図13のステップS201における確認で、リカバリデータ領域内のセクタが指定された命令であると確認された場合には、ステップS203に進む。このステップS203では、保護内読出し制御部450がテーブルTについて、変更ビット欄610の値が「1」になっている各箇所(即ちセクタ管理情報)を参照する。そして保護内読出し制御部450は、各セクタ管理情報の元セクタについて、読出し命令Q2で指定されたセクタに一致するか否かを確認する。
【0075】
読出し命令Q2で指定されたセクタと元セクタとが一致しなかった場合(図13のステップS203;No)には、その指定されたセクタは、OSから見ても工場出荷時のままであることになる。そこで、保護内読出し制御部450は、磁気ヘッドとアクチュエータを制御して、リカバリデータ領域内の指定セクタからデータを読み出させる(図13のステップS204)。この制御を、図10に示すデータ状態からの読出しを例として説明する。
【0076】
図15は、図10に示すデータ状態から保護内読出し制御部450による制御でデータが読出される様子を示す図である。
【0077】
図15のパート(A)に示すように、この例では、OSからの読出し命令はリカバリデータ領域510内のセクタ「A1」を指定している。保護内読出し制御部450は、テーブルTを参照して、この指定されたセクタ「A1」を元セクタとしたセクタ管理情報を探す。しかし、図15のパート(B)に示すように、テーブルTの変更ビット欄610はいずれも値「0」である。従って、テーブルTにはセクタ管理情報は記録されていない。そこで保護内読出し制御部450は、磁気ヘッドとアクチュエータを制御して、命令で指定されたセクタ「A1」にアクセスさせてデータを読み出させる。
【0078】
図13に戻って説明を続ける。
【0079】
図13のステップS203における確認で、読出し命令で指定されたセクタと元セクタとが一致した場合(図13のステップS203;Yes)には、その指定されたセクタの替わりのセクタに実際のデータが記憶されていることになる。この場合、保護内読出し制御部450は磁気ヘッドとアクチュエータを制御して、その替わりのセクタからデータを読み出させる(図13のステップS205)。この制御を、図12に示すデータ状態からの読出しを例として説明する。
【0080】
図16は、図12に示すデータ状態から保護内読出し制御部450による制御でデータが読出される様子を示す図である。
【0081】
図16のパート(A)に示すように、この例でも、OSからの読出し命令はリカバリデータ領域510内のセクタ「A1」を指定している。保護内読出し制御部450は、テーブルTを参照して、この指定されたセクタ「A1」を元セクタとしたセクタ管理情報を探す。すると、図16のパート(B)に示すように、変更ビット欄610が値「1」となった箇所の元セクタ番号欄620には、命令で指定されたセクタ「A1」と同じ番号「A1」の元セクタが記録されている。そこで保護内読出し制御部450は、その元セクタに対応した先セクタの番号「A1’」を入手する。そして、保護内読出し制御部450は、磁気ヘッドとアクチュエータを制御して、その番号「A1’」が示す、変更データ領域530内のセクタ「A1’」からデータを読み出させる。
【0082】
以上説明した書込みの制御と読出しの制御によって、リカバリデータ領域510内のデータは常に保存される。また、OSからの見た目では、リカバリデータ領域510内も含めて、OSが指定したセクタに対して書込みや読出しが実行されているように見える。
【0083】
最後に、図6に示すリカバリ部460の機能について説明する。
【0084】
図6に示す命令受理部410は、上述した書込み命令や読出し命令の他に、OSから、リカバリを指示するリカバリ命令も受理する。命令受理部410が受理したリカバリ命令はリカバリ部460に送られる。リカバリ部460は、リカバリ命令が送られてくると、セクタ管理情報のテーブルTに記録されているセクタ管理情報を消去する。具体的には、テーブルTの変更ビット欄610の値を全て「0」に書き換える。この結果、リカバリデータ領域510内のデータに対する書込み命令が全て取り消されたことになる。つまり、変更データ領域530内のデータは実質的に消去されたことになる。そして、リカバリデータ領域510内のデータがOSからの見た目で工場出荷時の状態となる。また、リカバリデータ領域510内のデータには、上述したようにファイルシステムが含まれている。このファイルシステムが工場出荷時の状態に戻ると、新規データ領域520内に書き込まれたデータも実質的に消去されることとなる。結局、図4に示すHDD200では、制御回路基板250内のテーブルTの一部を書き換えるだけで新規データ領域520も変更データ領域530もデータが実質的に消去される。つまり、このHDD200におけるリカバリには磁気ディスク210へのリカバリデータの上書きのみならず、磁気ディスク210へのアクセスが全く不要である。従って、このHDD200では高速なリカバリが実現する。
【0085】
このことは、上記基本形態に対して上記リカバリ部を備えた応用形態について
「上記保護内書込み制御部が上記対応を対応表に記録するものであり、
上記リカバリ部が、上記対応表に記録されている対応を消去することによって実質的に上記保護領域外のデータを消去するものである」
という更なる応用形態が好適であることを表している。上述したテーブルTは、この更なる応用形態における対応表の一例に相当する。また、上述したリカバリ部460は、この更なる応用形態におけるリカバリ部の一例にも相当している。
【0086】
以上で第1実施形態の説明を終了し、以下では第2実施形態について説明する。なお、この第2実施形態と上述した第1実施形態とは、図4に示す制御回路基板250にて実行されるソフトウェアが相違するだけで、ハードウェアについては全く同一のものである。そこで、以下の第2実施形態の説明においては、ハードウェアの説明が必要な場合には第1実施形態の説明図をそのまま第2実施形態の説明図として流用する。
【0087】
図17は、第2実施形態で記憶回路素子に記憶されている制御プログラムを示す図である。
【0088】
第1実施形態と同様に制御プログラム700は記憶回路素子251に記憶されている。この制御プログラム700は、命令受理部710と、命令区別部720とを備えている。更にこの制御プログラム700は、新規書込み制御部730と、上書き制御部740と、読出し制御部750と、リカバリ部760も備えている。この制御プログラム700が上述した処理回路素子252によって実行されることで制御回路基板250は、上記基本形態のアクセス制御装置に対する具体的な第2実施形態としての機能を発揮する。
【0089】
図18は、第2実施形態で制御回路基板が発揮する機能を示す機能ブロック図である。
【0090】
制御回路基板250は、図17に示す制御プログラム700が実行されと、この図18にブロックで示す命令受理部810と、命令区別部820として機能する。更にこの制御回路基板250は、新規書込み制御部830と、上書き制御部840と、読出し制御部850と、リカバリ部860としても機能する。この図18に示す制御回路基板250の命令受理部810は、図17に示す制御プログラム700の命令受理部710によって実現される機能である。同様に、図18に示す命令区別部820〜リカバリ部860は、図17に示す命令区別部720〜リカバリ部760によって実現される機能である。
【0091】
図18にブロックで示す各機能のうち命令受理部810は上記基本形態における命令受理部の一例に相当する。また、命令区別部820は上記基本形態における命令区別部の一例に相当する。新規書込み制御部830は上記基本形態における保護外命令制御部の一例に相当する。上書き制御部840は上記基本形態における保護内書込み制御部の一例に相当する。読出し制御部850は上記基本形態における保護内読出し制御部の一例に相当する。
【0092】
以下、これらの機能の詳細について説明する。以下の説明では、この図18に示す要素は特に図番を断らずに引用する。
【0093】
OSから発せられる命令は命令受理部810によって受理される。命令受理部810は、上記第1実施形態と同様に、この受理に当たって、命令で指定されているセクタが可視領域内のセクタであるか否かを領域データD’を参照して確認する。OSが指定した論理アドレスが、領域データD’が表す可視領域の定義範囲を逸脱している場合には、命令受理部810はOSにエラーを返す。
【0094】
命令受理部810によって受理された命令は命令区別部820へと送られる。上記第1実施形態とは異なり、命令区別部820は、テーブルT’に記録されているセクタ管理情報を参照する。この第2実施形態では、このセクタ管理情報によって上記基本形態に言う保護領域が定義されている。即ち、テーブルT’にセクタ管理情報が記録されているセクタは全て保護領域として取り扱われ、リカバリが行われない限りデータが消されない。
【0095】
ここで、第2実施形態で用いられるテーブルT’について説明する。
【0096】
図19は、第2実施形態で用いられるテーブルT’を示す図である。
【0097】
この図19に示すテーブルT’は、工場出荷時(この例では2008年1月1日)のテーブルT’である。このテーブルT’には、日付欄910と、元セクタ番号欄920と、先セクタ番号欄930が備えられている。第2実施形態では工場出荷時にも既にテーブルT’にセクタ管理情報が記録されている。ただし、工場出荷時に記録済のセクタ管理情報(即ち日付欄910の値が「2008−01−01」であるセクタ管理情報)は、元セクタ番号欄920の番号と先セクタ番号欄930の番号が同一である。このように同一番号が元セクタおよび先セクタとして記録されたセクタ管理情報は、本質的にはセクタ管理情報とは言えない。しかし、このように同一番号が元セクタおよび先セクタとして記録されたセクタ管理情報であっても、形式上はセクタ管理情報の一種である。これに対し、日付欄910の値が「9999−99−99」となっているテーブルT’の箇所は、セクタ管理情報の形式を満たさず未利用の箇所である。
【0098】
工場出荷時に形式的なセクタ管理情報としてテーブルT’に記憶されているセクタは、上記第1実施形態におけるリカバリデータ領域に相当するセクタである。つまり、工場出荷時に既にOSプログラムやファイルシステムのデータが記憶されているセクタが、形式的なセクタ管理情報としてテーブルT’に記憶されている。このテーブルT’には、後述するようにセクタ管理情報が追加されていく。そして、セクタ管理情報の追加に伴い、命令区別部820が保護領域と見なすセクタが増加していく。
【0099】
このようなテーブルT’を用いたデータの書込みと読出しの制御について以下説明する。
【0100】
図20は、図18に示す制御回路基板250におけるデータ書込みの制御を表すフローチャートである。
【0101】
この図20に示すOSからの書込み命令(即ちWrite要求)Q3は、上述したように命令受理部810によって受理されて命令区別部820へと送られる。そして、命令区別部820は、テーブルT’を参照して、書込み命令Q3で指定されたセクタを元セクタとしたセクタ管理情報を探す(図20のステップS301)。そのようなセクタ管理情報が見つからなかった場合は、書込み命令Q3は、新規データ領域へのデータの書込みを指示する命令である。その場合、新規書込み制御部830が磁気ヘッドとアクチュエータを制御し、命令で指定されたセクタにデータを書き込む(図20のステップS302)。更に、新規書込み制御部830はテーブルT’に、その指定されたセクタを元セクタおよび先セクタとしたセクタ管理情報を記録する。このセクタ管理情報の日付欄910には、データが書き込まれた日付が記録される。
【0102】
一方、ステップS301で、指定されたセクタを元セクタとしたセクタ管理情報が見つかった場合は、書込み命令Q3は、既に記憶されているデータに対する上書きを指示する命令である。その場合、上書き制御部840が、OSには不可視の変更データ領域中に新たな代替のセクタを用意する。そして、上書き制御部840が磁気ヘッドとアクチュエータを制御し、その代替のセクタにデータを書き込ませる(図20のステップS303)。
【0103】
図18に示す制御回路基板250におけるデータ書込みの制御はこのように行われる。
【0104】
図21は、図18に示す制御回路基板250におけるデータ読出しの制御を表すフローチャートである。
【0105】
この図20に示すOSからの読出し命令(即ちRead要求)Q4は、上述したように命令受理部810によって受理されて命令区別部820へと送られる。そして命令区別部820はその読出し命令をそのまま読出し制御部850に送る。この第2実施形態では、データが書き込まれた領域が全て保護領域となるので、保護領域外のデータの読出しは生じないからである。そして、読出し制御部850はセクタ管理情報のテーブルT’を参照し、読出し命令Q4で指定されたセクタを元セクタとするセクタ管理情報を探す。読出し制御部850は、見つけたセクタ管理情報のうち、日付が最新のセクタ管理情報に含まれている先セクタの番号を入手する。読出し制御部850は、磁気ヘッドとアクチュエータを制御し、その入手した番号が示すセクタからデータを読み出させる(ステップS401)。
【0106】
以上説明したように、第2実施形態におけるデータの書込み及び読出しの制御は、第1実施形態における制御よりも簡潔である。
【0107】
この第2実施形態におけるデータのリカバリは、図18に示すリカバリ部860がセクタ管理情報のテーブルT’の日付欄910の値を「9999−99−99」に書き換えることで実現される。この第2実施形態でも命令受理部810はOSから、リカバリを指示するリカバリ命令を受理する。ただし、第2実施形態では、リカバリ命令は、リカバリによって回復が望まれているデータの日付を指定する。命令受理部810は、リカバリ命令を受理するとそのリカバリ命令が指定している日付をリカバリ部860に送る。リカバリ部860は、セクタ管理情報のテーブルT’の日付欄910に記録されている値を確認する。そしてリカバリ部860は、日付欄910に記録されている値のうち、その指定された日付よりも新しい日付を示した値を全て値「9999−99−99」に書き換える。これによりデータは実質的に、その指定された日付以前のデータ状態に戻る。
【0108】
以下、具体的な例を用いて、第2実施形態におけるデータの書込み、読出し、リカバリを説明する。
【0109】
図22は、工場出荷後、最初にデータが追加された状態を示す図である。
【0110】
この図22のパート(A)には、リカバリデータ領域510内の2つのセクタ「A1」「A2」に2008年1月1日の工場出荷時にデータが記憶されていたことが示されている。なお、このリカバリデータ領域510は、この図22のパート(B)に示すテーブルT’に記憶されている2008年1月1日付けのセクタ管理情報によって定義されている。
【0111】
また、2008年5月23日には、図22のパート(A)に示すように、リカバリデータ領域510内のセクタ「A1」を指定した書込み命令と新規データ領域520内のセクタ「B1」を指定した書込み命令がなされている。リカバリデータ領域510内のセクタ「A1」を指定した書込み命令はデータの上書きを指示する命令である。また、新規データ領域520内のセクタ「B1」を指定した書込み命令は、新規データの書込みを指示する命令である。これらの命令が実行されることで、この図22のパート(B)に示すテーブルT’には、日付欄910の値が「2008−05−23」のセクタ管理情報が2つ追加されている。1つは、元セクタ番号欄920にリカバリデータ領域510内のセクタの番号「A1」が記録され、先セクタ番号欄930に変更データ領域530内のセクタの番号「A1'」が記録されたセクタ管理情報である。もう一つは、元セクタ番号欄920にも先セクタ番号欄930にも、新規データ領域520内のセクタの番号「B1」が記録されているセクタ管理情報である。なお、ここでは、理解の便宜上、元セクタが共通するセクタ管理情報がひとかたまりでテーブルT’に記載されている。しかし、実際にはセクタ管理情報は日付順に並んでテーブルT’に記録される。
【0112】
図23は、図22に示す状態の後、更にデータが追加された状態を示す図である。
【0113】
2008年6月4日に、図22のパート(A)に示すように、リカバリデータ領域510内のセクタ「A1」を指定した書込み命令と新規データ領域520内のセクタ「B1」を指定した書込み命令がなされている。この図23に示す例では、これら2つの命令ともデータの上書きを指示する命令である。これらの命令が実行されることで、この図23のパート(B)に示すテーブルT’には、日付欄910の値が「2008−06−04」のセクタ管理情報が2つ追加されている。1つは、元セクタ番号欄920にリカバリデータ領域510内のセクタの番号「A1」が記録され、先セクタ番号欄930に変更データ領域530内のセクタの番号「A1”」が記録されたセクタ管理情報である。もう一つのセクタ管理情報では、元セクタ番号欄920に新規データ領域520内のセクタの番号「B1」が記録されている。またこのもう一つのセクタ管理情報では、先セクタ番号欄930に変更データ領域530内のセクタの番号「B1’」が記録されている。
【0114】
このように、この第2実施形態では、どのデータについても実際には上書きが実行されない。しかし、OSからの見た目では上書きが実行されているように見える。
【0115】
図24は、図23に示す状態でデータの読出しが行われた状態を示す図である。
【0116】
ここでは、図24のパート(A)に示すように、データ読出しを指示する3つの命令がなされている。即ち、リカバリデータ領域510内の2つのセクタ「A1」「A2」それぞれを指定する2つの命令と、新規データ領域520内のセクタ「B1」を指定した1つの命令である。これらの命令それぞれについて、実際にデータを読み出すセクタを確認するために、図24のパート(B)に示すテーブルT’が参照される。元セクタ番号欄920の番号が「A1」であるセクタ管理情報はテーブルT’上に3つ存在している。この3つのセクタ管理情報のうち、日付欄910の値が最新の日付に相当する値「2008−06−04」となっているセクタ管理情報が見つけられる。そのセクタ管理情報の先セクタ番号欄930に記録されている先セクタの番号「A1"」が表すセクタ「A1"」からデータが読み出される。また、元セクタ番号欄920の番号が「A2」であるセクタ管理情報はテーブルT’上に1つだけ存在している。そのセクタ管理情報の先セクタ番号欄930に記録されている先セクタの番号「A2」が表すセクタ「A2」からデータが読み出される。また、元セクタ番号欄920の番号が「B1」であるセクタ管理情報はテーブルT’上に2つ存在している。この2つのセクタ管理情報のうち、日付欄910の値が最新の日付に相当する値「2008−06−04」となっているセクタ管理情報が見つけられる。そのセクタ管理情報の先セクタ番号欄930に記録されている先セクタの番号「B1’」が表すセクタ「B1’」からデータが読み出される。このように、実際のデータが2重3重になっていても、OSからの見た目では最新のデータのみが記憶されているように見える。
【0117】
図25は、図24に示す状態でデータのリカバリが行われた様子を示す図である。
【0118】
この例では、リカバリ命令で指定された日付は2008年5月23日である。図25のパート(B)に示すように、テーブルT’の日付欄910の値のうち、2008年5月23日よりも新しい日付を示す値が「9999−99−99」に書き換えられる。
【0119】
このとき、図25のパート(A)に示すように、リカバリデータ領域510に記憶されているデータも、新規データ領域520に記憶されているデータも、変更データ領域530に記憶されているデータも一切変更されない。また、図25のパート(B)に示すように、テーブルT’の元セクタ番号欄920の記録も、先セクタ番号欄930の記録も一切変更されない。しかし、このように日付欄910の値の一部が「9999−99−99」に書き換えられるだけでデータのリカバリが実現している。
【0120】
図26は、図25に示す状態でデータの読出しが行われた状態を示す図である。
【0121】
上述した図24に示すデータ呼び出しと同様に、ここでも、図26のパート(A)に示すように、データ読出しを指示する3つの命令がなされている。即ち、リカバリデータ領域510内の2つのセクタ「A1」「A2」それぞれを指定する2つの命令と、新規データ領域520内のセクタ「B1」を指定した1つの命令である。これらの命令それぞれについて、実際にデータを読み出すセクタを確認するために、図26のパート(B)に示すテーブルT’が参照される。
【0122】
元セクタ番号欄920には「A1」という記載が3つ存在している。しかし、日付欄910の値が「9999−99−99」となっている段の「A1」という記載は実質的には消去されたものである。従ってテーブルT’には、元セクタ番号欄920の番号が「A1」となっているセクタ管理情報は2つ存在することになる。そして、その2つのセクタ管理情報のうち、日付欄910の値が最新の日付に相当する値「2008−05−23」となっているセクタ管理情報が見つけられる。そのセクタ管理情報の先セクタ番号欄930に記録されている先セクタの番号「A1’」が表すセクタ「A1’」からデータが読み出される。また、元セクタ番号欄920の番号が「A2」であるセクタ管理情報はテーブルT’上に1つだけ存在している。そのセクタ管理情報の先セクタ番号欄930に記録されている先セクタの番号「A2」が表すセクタ「A2」からデータが読み出される。また、元セクタ番号欄920には「B1」という記載が2つ存在している。しかし、日付欄910の値が「9999−99−99」となっている段の「B1」という記載は実質的には消去されたものである。従ってテーブルT’には、元セクタ番号欄920の番号が「B1」となっているセクタ管理情報は1つだけ存在している。そして、そのセクタ管理情報の先セクタ番号欄930に記録されている先セクタの番号「B1」が表すセクタ「B1」からデータが読み出される。
【0123】
このように、実際のデータが記憶領域などに残っていても、OSからの見た目では過去の日付におけるデータ状態が回復されているように見える。つまり、図18に示すリカバリ部860が制御回路基板250内のテーブルT’の記録を一部書き換えるだけでリカバリが実行される。従って高速なリカバリが実現する。さらには、リカバリ命令で日付が指定されることで、任意の時点におけるデータの状態がリカバリされることとなる。
【0124】
このことは、上記基本形態に対して上記リカバリ部を備えた応用形態について、
「上記保護内書込み制御部が上記対応をデータの書込みの日付とともに対応表に記録するものであり、
上記対応表が、上記アクセス箇所と上記代替箇所との対応が記録されるとともに、上記保護領域内に記憶されているデータの記憶箇所も、その対応の記録形式と同じ記録形式で、そのアクセス箇所およびその代替箇所の双方が同一の記憶箇所となった対応として記録されるものであり、
上記保護領域が、上記対応表に記録されているアクセス箇所の集合によって定義された、データが書き込まれる度に累増する領域であり、
上記リカバリ部が、日付の指定を受けて、上記対応表に記録されている対応のうち、その指定された日付よりも新しい日付の対応を消去することによって実質的に過去の保護領域外のデータを消去するものである」
という更なる応用形態が好適であることを表している。上述したテーブルT’は、この更なる応用形態における対応表の一例に相当する。
【0125】
以上で第2実施形態についての説明を終了する。
【0126】
なお、上記説明では、上記基本形態の電子機器に対する具体的実施形態としてパーソナルコンピュータが示されているが、上記基本形態の電子機器は、例えばプログラム組込型の監視カメラなどに応用されても良い。
【0127】
また、上記説明では、上記基本形態の記憶装置に対する具体的実施形態としてHDDが示されているが、上記基本形態の記憶装置は、HDD以外にも、例えば半導体メモリや光ディスク装置等に応用されても良い。このようにHDD以外の装置に応用される場合には、上記基本形態にいうアクセス部も、上記説明した磁気ヘッドとは異なるアクセス手段に応用されることとなる。例えば、半導体メモリの記憶領域にアクセスするアクセス回路や、光ディスクにアクセスする光学ヘッドなどに応用される。
【図面の簡単な説明】
【0128】
【図1】従来のリカバリ技術を示す図である。
【図2】基本形態の電子機器に対する具体的な第1実施形態に相当するパーソナルコンピュータの外観図である。
【図3】パーソナルコンピュータのハードウェア構成図である。
【図4】HDDの詳細構成図である。
【図5】記憶回路素子に記憶されている制御プログラムを示す図である。
【図6】制御プログラムを処理回路素子が実行することで制御回路基板が発揮する機能を示す機能ブロック図である。
【図7】データ書込み時における制御の概略を示す図である。
【図8】データ読込み時における制御の概略を示す図である。
【図9】データ書込み時の制御内容の詳細を表すフローチャートである。
【図10】工場出荷時におけるデータの記憶状態を示す図である。
【図11】保護外命令制御部による制御でのデータ書込みを表す図である。
【図12】図11に示すデータ状態に対して保護内書込み制御部によりデータが書き込まれた様子を示す図である。
【図13】データ読込み時の制御内容の詳細を表すフローチャートである。
【図14】保護外命令制御部による制御でのデータ読出しを表す図である。
【図15】図10に示すデータ状態から保護内読出し制御部450による制御でデータが読出される様子を示す図である。
【図16】図12に示すデータ状態から保護内読出し制御部450による制御でデータが読出される様子を示す図である。
【図17】第2実施形態で記憶回路素子に記憶されている制御プログラムを示す図である。
【図18】第2実施形態で制御回路基板が発揮する機能を示す機能ブロック図である。
【図19】第2実施形態で用いられるテーブルT’を示す図である。
【図20】図18に示す制御回路基板におけるデータ書込みの制御を表すフローチャートである。
【図21】図18に示す制御回路基板におけるデータ読出しの制御を表すフローチャートである。
【図22】工場出荷後、最初にデータが追加された状態を示す図である。
【図23】図22に示す状態の後、更にデータが追加された状態を示す図である。
【図24】図23に示す状態でデータの読出しが行われた状態を示す図である。
【図25】図24に示す状態でデータのリカバリが行われた様子を示す図である。
【図26】図25に示す状態でデータの読出しが行われた状態を示す図である。
【符号の説明】
【0129】
100 パーソナルコンピュータ
200 ハードディスク装置(HDD)
210 磁気ディスク
222 磁気ヘッド
250 制御回路基板
251 記憶回路素子
252 処理回路素子
300,700 制御プログラム
410,810 命令受理部
420,820 命令区別部
430 保護外命令制御部
440 保護内書込み制御部
450 保護内読出し制御部
460 リカバリ部
510 リカバリデータ領域
520 新規データ領域
530 変更データ領域
830 新規書込み制御部
840 上書き制御部
850 読出し制御部
860 リカバリ部
T,T’ セクタ管理情報のテーブル

【特許請求の範囲】
【請求項1】
データを記憶する記憶領域に対しデータアクセスを行うアクセス部と、
前記記憶領域内のアクセス箇所の指定と該アクセス箇所に対するデータアクセスの指示とを含んだ命令を受理する、該アクセス箇所としては、該記憶領域内に定義された可視領域内の箇所は指定可能で、該可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
前記命令受理部で受理された命令を、前記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、該可視領域内で該保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
前記保護外命令で指定されたアクセス箇所に対するデータアクセスを前記アクセス部に実行させる保護外命令制御部と、
前記保護内命令が前記データアクセスとしてデータの書込みを指示している場合に、前記アクセス部に前記不可視領域中の代替箇所に対するデータの書込みを実行させ、該保護内命令が指定したアクセス箇所と該代替箇所との対応を記録する保護内書込み制御部と、
前記保護内命令が前記データアクセスとしてデータの読出しを指示している場合に、該保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、前記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えたことを特徴とする記憶装置。
【請求項2】
前記記憶領域に記憶されているデータのうち前記保護領域外に記憶されているデータを消去するリカバリ部を備えたことを特徴とする請求項1記載の記憶装置。
【請求項3】
前記保護内書込み制御部が前記対応を対応表に記録するものであり、
前記リカバリ部が、前記対応表に記録されている対応を消去することによって実質的に前記保護領域外のデータを消去するものであることを特徴とする請求項2記載の記憶装置。
【請求項4】
前記保護内書込み制御部が前記対応をデータの書込みの日付とともに対応表に記録するものであり、
前記対応表が、前記アクセス箇所と前記代替箇所との対応が記録されるとともに、前記保護領域内に記憶されているデータの記憶箇所も、該対応の記録形式と同じ記録形式で、該アクセス箇所および該代替箇所の双方が同一の記憶箇所となった対応として記録されるものであり、
前記保護領域が、前記対応表に記録されているアクセス箇所の集合によって定義された、データが書き込まれる度に累増する領域であり、
前記リカバリ部が、日付の指定を受けて、前記対応表に記録されている対応のうち、その指定された日付よりも新しい日付の対応を消去することによって実質的に過去の保護領域外のデータを消去するものであることを特徴とする請求項2または3記載の記憶装置。
【請求項5】
データを記憶する記憶領域内のアクセス箇所の指定と該アクセス箇所に対するデータアクセスの指示とを含んだ命令を受理する、該アクセス箇所としては、該記憶領域内に定義された可視領域内の箇所は指定可能で、該可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
前記命令受理部で受理された命令を、前記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、該可視領域内で該保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
前記保護外命令で指定されたアクセス箇所に対するデータアクセスを、前記記憶領域に対しデータアクセスを行うアクセス部に実行させる保護外命令制御部と、
前記保護内命令が前記データアクセスとしてデータの書込みを指示している場合に、前記アクセス部に前記不可視領域中の代替箇所に対するデータの書込みを実行させ、該保護内命令が指定したアクセス箇所と該代替箇所との対応を記録する保護内書込み制御部と、
前記保護内命令が前記データアクセスとしてデータの読出しを指示している場合に、該保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、前記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えたことを特徴とするアクセス制御装置。
【請求項6】
情報処理装置によって実行されることで該情報処理装置を、
データを記憶する記憶領域内のアクセス箇所の指定と該アクセス箇所に対するデータアクセスの指示とを含んだ命令を受理する、該アクセス箇所としては、該記憶領域内に定義された可視領域内の箇所は指定可能で、該可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
前記命令受理部で受理された命令を、前記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、該可視領域内で該保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
前記保護外命令で指定されたアクセス箇所に対するデータアクセスを、前記記憶領域に対しデータアクセスを行うアクセス部に実行させる保護外命令制御部と、
前記保護内命令が前記データアクセスとしてデータの書込みを指示している場合に、前記アクセス部に前記不可視領域中の代替箇所に対するデータの書込みを実行させ、該保護内命令が指定したアクセス箇所と該代替箇所との対応を記録する保護内書込み制御部と、
前記保護内命令が前記データアクセスとしてデータの読出しを指示している場合に、該保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、前記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えたアクセス制御装置として動作させることを特徴とするアクセス制御プログラム。
【請求項7】
データを記憶する記憶領域に記憶されたプログラムデータに従った情報処理を実行する、該情報処理の過程で、該記憶領域内のアクセス箇所の指定と該アクセス箇所に対するデータアクセスの指示とを含んだ命令を発する情報処理部と、
前記記憶領域に対しデータアクセスを行うアクセス部と、
前記情報処理部が発する命令を受理する、前記アクセス箇所としては、前記記憶領域内に定義された可視領域内の箇所は指定可能で、該可視領域を除いた不可視領域内の箇所は指定不能な命令受理部と、
前記命令受理部で受理された命令を、前記可視領域内に定義された保護領域内のアクセス箇所を指定した保護内命令と、該可視領域内で該保護領域外のアクセス箇所を指定した保護外命令とに区別する命令区別部と、
前記保護外命令で指定されたアクセス箇所に対するデータアクセスを前記アクセス部に実行させる保護外命令制御部と、
前記保護内命令が前記データアクセスとしてデータの書込みを指示している場合に、前記アクセス部に前記不可視領域中の代替箇所に対するデータの書込みを実行させ、該保護内命令が指定したアクセス箇所と該代替箇所との対応を記録する保護内書込み制御部と、
前記保護内命令が前記データアクセスとしてデータの読出しを指示している場合に、該保護内命令が指定したアクセス箇所に対応した代替箇所を記録済の対応に基づいて探し、前記アクセス部に、見つかった代替箇所からデータの読出しを実行させる保護内読出し制御部とを備えたことを特徴とする電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2010−152794(P2010−152794A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2008−332259(P2008−332259)
【出願日】平成20年12月26日(2008.12.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】