記憶システム
【課題】不慮の電源遮断等により、ハードディスクドライブのデータの位置管理情報が破損した時、位置管理情報を復旧させる。
【解決手段】ハードディスクドライブ11とは別に不揮発性の半導体メモリ13にハードディスクドライブ11内のFAT領域110の位置管理情報を複数世代に渡ってエリア形式で記憶させ、ハードディスクドライブ11内のFAT領域110の位置管理情報が破損した時に、半導体メモリ13内に記憶されている複数世代のエリア形式の位置管理情報を比較することにより、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を復旧させる。
【解決手段】ハードディスクドライブ11とは別に不揮発性の半導体メモリ13にハードディスクドライブ11内のFAT領域110の位置管理情報を複数世代に渡ってエリア形式で記憶させ、ハードディスクドライブ11内のFAT領域110の位置管理情報が破損した時に、半導体メモリ13内に記憶されている複数世代のエリア形式の位置管理情報を比較することにより、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を復旧させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハードディスクドライブ等の記憶システムに関する。
【背景技術】
【0002】
ハードディスクドライブ(HDD)等の記憶装置にデータを記憶させる時、FAT(File Allocation Tables)と呼ばれる方式で記憶内容を管理する方法が知られている。この方式では、記憶装置内には、データそのものを記憶するDATA領域と、記憶させるデータのハードディスクドライブ内での物理的な位置を位置管理情報として記憶するFAT領域の2種類のデータ領域が存在している。この方式では、記憶装置に記憶させたデータにアクセスした時、データ及びそのデータの位置管理情報の2つが必要となる。そのため、不慮の電源遮断等により、記憶装置内のFAT領域が破損してしまうと、データそのものは破損していなくとも、データへのアクセスを行うことが不可能になってしまう。
【0003】
こうした事態を防ぐために、記憶装置内のデータあるいは位置管理情報を別の記憶装置へ保存させる構成が提案されている。また、特許文献1に見られるように、不慮の電源遮断等によるデータの破損を防ぐために、バックアップ電源を用意し、不慮の電源遮断に対応する構成が考案されている。
【特許文献1】特開昭60−179857号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、記憶装置内のデータの位置管理情報を別の記憶装置へ保存させる方法では、データ破損時の位置管理情報と、記憶装置内に保存されている位置管理情報の間に矛盾が生じてしまう。また、位置管理情報が破損した時、破損箇所のチェックに時間がかかってしまう。また、記憶装置内のデータを全て別の記憶装置へ記憶させる方法では、近年のデータ容量の増大を鑑みると、非現実的である。また、特許文献1に見られるような、不慮の電源遮断に対応するためのバックアップ電源を用意する構成では、装置全体の大型化を招いてしまう。
【0005】
本発明の目的は、ハードディスクドライブ等のFAT方式によるデータ管理を行っている第1の記憶装置の各データの位置管理情報を、第2の記憶装置に複数世代に渡って記憶させる。そして、この第2の記憶装置に記憶させたデータの位置管理情報を複数世代で比較を行う。不慮の電源遮断等の何らかの理由により、第1の記憶装置のデータの位置管理情報が破損した時、第2の記憶装置内のデータの複数世代の位置管理情報の比較の結果から、第1の記憶装置のデータの位置管理情報を復旧させる。そして、再び第1の記憶装置のデータにアクセスを行うことのできるようにした記憶システムを提供する。
【課題を解決するための手段】
【0006】
データ及び当該データ内容の位置管理情報を記憶する第1の記憶装置と、前記データ内容の位置管理情報を複数世代に渡って、記憶する第2の記憶装置と、前記第2の記憶装置に記憶した前記データ内容の位置管理情報を複数世代で比較する比較手段と、前記比較手段により得られた、比較結果から、前記第1の記憶装置の前記データ内容の位置管理情報を復旧させる復旧手段と、を備えている。
【0007】
この構成では、第1の記憶装置のデータの位置管理情報が破損した時、第2の記憶装置に記憶している複数世代のデータの位置管理情報の比較に基づいて、第1の記憶装置のデータの位置管理情報を復旧させることができる。第2の記憶装置に、第1の記憶装置のデータの位置管理情報を3世代以上に渡って記憶させておくことにより、データの復旧できる範囲が広がる。
【0008】
前記第2の記憶装置は、前記第1の記憶装置に前記データ内容の位置管理情報を記憶する前に、該位置管理情報を記憶することを特徴とする。
【0009】
前記第2の記憶装置は、前記データ内容の位置管理情報を、前記第1の記憶装置へのアクセス毎に記憶することを特徴とする。
【0010】
この構成では、第2の記憶装置に第1の記憶装置のデータの位置管理情報を記憶させることが、データへのアクセス毎に行うため、データの復旧できる範囲が広がる。
【0011】
前記第2の記憶装置は、前記データ内容の位置管理情報を、所定時間毎に記憶することを特徴とする。
【0012】
この構成では、第2の記憶装置に第1の記憶装置のデータの位置管理情報を記憶させることが、所定時間毎であるため、記憶装置を搭載しているコンピュータにかかる負担を軽減することができる。
【0013】
前記第2の記憶装置は、前記データ内容の位置管理情報を、所定データ処理の間に記憶することを特徴とする。
【0014】
この構成では、第2の記憶装置に第1の記憶装置のデータの位置管理情報を記憶させることが、所定データ処理毎であるため、重要なデータの処理を行う時等にデータ復旧を行いやすくなる。
【発明の効果】
【0015】
本発明によれば、不慮の電源遮断等の事情により、記憶装置内のデータの位置管理情報が破損した時、データ保全及びデータ復旧の確実性を向上させることができる。
【発明を実施するための最良の形態】
【0016】
以下に本発明の実施形態を説明する。
【0017】
図1は、本発明を適用したMFP(Multifunction Printer)のプリンタコントローラのブロック図である。
【0018】
CPU(Central processing Unit)1は、装置全体を制御する。画像形成部I/F(Interface)2は、装置の駆動部である。NetWorkコントローラ3は、装置の外部と接続している。Systemコントローラ4は、各バス部を調節するものである。ペリフェラルバス5は、図示していないディスプレイ等の周辺機器を接続している。CPUバス6は、CPU1とSystemコントローラ4とを接続している。RAM7は、NetWorkコントローラ3等から受信したデータを展開後、画像データを記憶するものである。ROM8は装置のプログラムを記憶するものである。メモリバス9は、Systemコントローラ4とRAM7とを接続している。ローカルバス10はSystemコントローラ4とROM8とを接続している。
【0019】
ハードディスクドライブ11はプリントすべきイメージの一時記憶や、スキャンしたデータの記憶を行う。また、受信したデータを記憶している。本実施例におけるハードディスクドライブ11はFAT(File Allocation Table)方式によりデータを管理している。ハードディスクドライブ11内にはFAT領域110とDATA領域111が存在している。FAT領域110は、ハードディスクドライブ11に記憶されているデータのハードディスクドライブ11内の物理的位置を示す情報である位置管理情報を記憶している領域である。DATA領域111は、ハードディスクドライブ11に記憶しているデータそのものを記憶している領域である。ハードディスクドライブコントローラ12はハードディスクドライブ11を制御するものである。
【0020】
半導体メモリ13は例えば、SRAMである。半導体メモリ13は、本実施例における第2の記憶装置であり、第1の記憶装置であるハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報を記憶している。半導体メモリ13は、メモリ内部に複数世代のハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶している。このとき、メモリ内部では、位置管理情報を世代別にエリア分けして記憶している。半導体メモリ13がハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報を記憶する時、まず、ハードディスクドライブ11内のFAT領域110に記憶されるデータの位置管理情報が生成され、半導体メモリ13に記憶される。半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータ位置管理情報が半導体メモリ13に記憶された後、ハードディスクドライブ11内のDATA領域111にデータが、ハードディスクドライブ11内のFAT領域110にデータの位置管理情報が、それぞれ記憶される。
【0021】
図2は、半導体メモリ13に記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報である。半導体メモリ13は、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を世代別にエリア形式で記憶している。世代とは、例えば、ハードディスクドライブ11へのアクセスを行った毎、あるいは、所定時間毎に半導体メモリ13に記憶される、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報の積み重ねである。半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を第n世代30まで記憶している時、図示していない第(n+1)世代のハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶する時、最も古い世代である第1世代21の位置管理情報は消去される。
【0022】
本実施例において、不慮の電源遮断等の理由で、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損してしまった時、半導体メモリ13に記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報を複数世代のエリアで比較を行い、ハードディスクドライブ11のデータの位置管理情報の復旧を行う。位置管理情報を複数世代で比較するとは、例えば、半導体メモリ13に記憶されている第1世代21のエリアの位置管理情報と半導体メモリ13に記憶されている第2世代22のエリアの位置管理情報との比較、半導体メモリ13に記憶されている第2世代22のエリアの位置管理情報と半導体メモリ13に記憶されている第3世代23のエリアの位置管理情報との比較、半導体メモリ13に記憶されている第1世代21のエリアの位置管理情報と半導体メモリ13に記憶されている第3世代23のエリアの位置管理情報との比較、等である。半導体メモリ13に記憶されている連続した世代のエリアの位置管理情報を比較することや、半導体メモリ13に記憶されている離れた世代のエリアの位置管理情報を比較することができる。好ましくは、半導体メモリ13に記憶されている最新世代のエリアの位置管理情報と半導体メモリ13に記憶されている最新世代の1つ前の世代のエリアの位置管理情報との比較である。また、半導体メモリ13に記憶されている最新世代のエリアの位置管理情報と半導体メモリ13に記憶されている最新世代の1つ前の世代のエリアの位置管理情報との比較では、半導体メモリ13に記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報に差が見られないときは、半導体メモリ13に記憶されている最新世代のエリアの位置管理情報と半導体メモリ13に記憶されている最新世代のエリアの2つ以上前の世代のエリアの位置管理情報との比較を行う。こうすることで、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を復旧できる範囲がより広くなる。
【0023】
図3は、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報であり、図4はハードディスクドライブ11内のDATA領域111に記憶されているデータ内容である。
【0024】
ハードディスクドライブ11にアクセスが行われる時、ハードディスクドライブ11内のDATA領域111に記憶されているデータの読み込み/書き込みに加え、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報を参照/更新することによって、ハードディスクドライブ11内のデータは管理されている。
【0025】
ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報を参照/更新している時、不慮の電源遮断等が発生してしまい、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損してしまうと、ハードディスクドライブ11内のDATA領域111のデータは破損していなくても、ハードディスクドライブ11はアクセスを行うことができなくなる。
【0026】
図5は、半導体メモリ13の第1世代21エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報である。半導体メモリ13には所定のタイミングでハードディスクドライブ11内のFAT領域110のデータの位置管理情報が世代別にエリア形式で記憶されている。所定のタイミングとは、例えば、一定時間毎、一定処理間、一定アクセス回数毎である。
【0027】
ここで、図3に示しているハードディスクドライブ11内のFAT領域110に、データA〜Fの位置管理情報を記憶し、図4に示しているハードディスクドライブ11内のDATA領域111にデータA〜Fを記憶しているハードディスクドライブ11がある。また、図5に示している、ハードディスクドライブ11内のFAT領域110に記憶されているデータA〜Fの位置管理情報を第1世代21エリアとして記憶している半導体メモリ13がある。ハードディスクドライブ11内のFAT領域110及びDATA領域111へデータを書き込む時、まず、データGのハードディスクドライブ11内のFAT領域110の位置管理情報を生成し、生成されたハードディスクドライブ11内のFAT領域110の位置管理情報を半導体メモリ13内の第2世代22エリアに記憶する。半導体メモリ13内の第2世代22エリアにハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させてから、ハードディスクドライブ11内のFAT領域110にデータGの位置管理情報を、ハードディスクドライブ11内のDATA領域111にデータGを記憶している。ハードディスクドライブ11への書き込みが正常に終了した場合には、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報は図6のようになり、ハードディスクドライブ11内のDATA領域111に記憶されているデータ内容は図7のようになる。また、半導体メモリ13内の第2世代22エリアには、図8のように、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報と同一のものが記憶される。
【0028】
ところが、データGの書き込み時に不慮の電源遮断等による何らかの事情により、書き込みが正常に終了できなかった時、ハードディスクドライブ11内のDATA領域111に書き込みを行っていたデータGの内容は保障されない。また、不慮の電源遮断等が起こり、ハードディスクドライブ11内のFAT領域110に書き込みを行っていたデータGの位置管理情報の更新時期と、が重なったとき、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報は破損してしまう可能性もある。ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損してしまうと、図10のようになってしまう。このとき、ハードディスクドライブ11内のDATA領域111には、データA〜Fはアクセスを行っていなかったため、破損しておらず、データは残されている(図9参照)。しかし、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報が破損しているため、ハードディスクドライブ11内の全てのデータへのアクセスが出来なくなってしまう。
【0029】
半導体メモリ13には、第1世代21エリアにはデータA〜Fのハードディスクドライブ11内のFAT領域110位置管理情報が記憶され、第2世代22エリアには書き込みを行っていたデータGのハードディスクドライブ11内のFAT領域110の位置管理情報を含んだデータA〜Gの位置管理情報が記憶されている。半導体メモリ13内に記憶されている第1世代21エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報と、第2世代22エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報とを比較する。比較結果から、ハードディスクドライブ11内のFAT領域110で破損したデータの位置管理情報を検出する。ハードディスクドライブ11内のDATA領域111に記憶されている、ハードディスクドライブ11内のFAT領域110内の破損した位置管理情報を有したデータも破損しているため、ハードディスクドライブ11内のFAT領域110の破損したデータの位置管理情報を除いて、半導体メモリ13の第1世代21エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報をハードディスクドライブ11に書き込みを行い、破損したデータGを除いたデータA〜Fに再びアクセスを行うことができるようにする。
【0030】
ハードディスクドライブ11へデータG書き込みを行うとき、ハードディスクドライブ11にデータGの書き込みを行う前に、データG書き込み後のハードディスクドライブ11内のFAT領域110の位置管理情報を生成し、生成したハードディスクドライブ11内のFAT領域110の位置管理情報を半導体メモリ13の第2世代22エリアとして記憶している。なお、これ以前の書き込み時には、第1世代21エリアにそのときに更新されたハードディスクドライブ11内のFAT領域110の位置管理情報が記憶されている。その結果、半導体メモリ13の第2世代22エリアには常にハードディスクドライブ11に記憶されている位置管理情報と同一の位置管理情報が記憶されていることになる。何らかの事情により、ハードディスクドライブ11へデータの書き込みが正常に終了しなかった時、半導体メモリ13の複数世代エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報から、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を復旧させる時、位置管理情報の差が生じるという矛盾は生じない。また、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶している時、何らかの事情で書き込みが完了しなかった際、ハードディスクドライブ11への書き込みは半導体メモリ13へ位置管理情報を記憶させてから行うので、ハードディスクドライブ11内のFAT領域110のデータ位置管理情報が破損する危険は少ない。
【0031】
図11を用いて、具体的なハードディスクドライブ11内のFAT領域110のデータの位置管理情報を復旧する方法を説明する。
【0032】
ハードディスクドライブ11は、ハードディスクドライブ11内のFAT領域110に図3に示されているデータA〜Fの位置管理情報を記憶し、ハードディスクドライブ11内のDATA領域111に図4に示されているデータA〜Fを記憶している。また、半導体メモリ13の第1世代21のエリアは、図5に示されているハードディスクドライブ11内のFAT領域110のデータA〜Fの位置管理情報を記憶している。このハードディスクドライブ11及び半導体メモリ13にデータGの書き込みを行う。ステップS001において、ハードディスクドライブ11にデータGを書き込む。ステップS002において、不慮の電源遮断等が起こらない時、通常の処理を行いデータの書き込みが正常に終了する。ステップS002において、不慮の電源遮断等が発生し、データの書き込みが正常に終了できなかった時、ステップS003に進む。ステップS003において、システムはハードディスクドライブ11に正常にアクセスを行えるかどうかを判定する。判定の結果ハードディスクドライブ11へ正常にアクセスが行える時、通常の処理を行い、再びハードディスクドライブ11にデータ処理を行う。ステップS003において、ハードディスクドライブ11内のFAT領域110が破損したため、ハードディスクドライブ11へのアクセスが行えない時、ステップS004に進む。ステップS004において、システムは、半導体メモリ13に世代毎にエリア形式で記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報を参照し、ステップS005へ進む。
【0033】
ステップS005において、システムは、半導体メモリ13に記憶されているデータA〜Fのハードディスクドライブ11内のFAT領域110のデータの位置管理情報である第1世代21エリアと、半導体メモリ13に記憶されているデータA〜Gのハードディスクドライブ11内のFAT領域110のデータの位置管理情報である第2世代22エリアを比較し、ステップS006へ進む。
【0034】
ステップS006において、半導体メモリ13で変更が加わっているデータGのアクセスを実施している時、不慮の電源遮断等が発生し、ハードディスクドライブ11へのアクセスが正常に完了しなかったと判定し、ステップS007へ進む。
【0035】
ステップS007において、判定結果から、半導体メモリ13に記憶されているハードディスクドライブ11内のFAT領域110内のデータの位置管理情報に基づいて、システムは、ハードディスクドライブ11内のFAT領域110に対して、データA〜Fのハードディスクドライブ11内のFAT領域110にデータの位置管理情報を書き込み、ハードディスクドライブ11内のFAT領域110にデータGの領域を破損領域として登録する。
【0036】
復旧したハードディスクドライブ11へのアクセスを行う。
【0037】
別の実施形態について説明する。上記実施例では、アクセスを行う毎に半導体メモリ13にハードディスクドライブ11内のFAT領域110にデータの位置管理情報をエリア形式で複数世代に渡り記憶させたが、アクセス毎ではなく、所定時間毎にしても良い。所定時間毎とは、例えば、5ms、10ms等またはそれ以上に長い時間でも良く、制限はない。
【0038】
図12は、本実施形態におけるハードディスクドライブ11のデータ制御方式を示すフローチャートである。
【0039】
本実施形態において、半導体メモリ13に記憶されるハードディスクドライブ11内のFAT領域110のデータの位置管理情報は、ハードディスクドライブ11へのアクセスが所定回数に達する毎に半導体メモリ13の第2世代22以降の世代に順に記憶されていく。ステップS010において、データ処理が開始されると、ステップS011へ進む。ステップS011において、システムは、所定アクセス回数が経過したかどうかを判定する。所定アクセス回数に達していないときは、通常のデータ処理を行い、所定アクセス回数の間の時間は半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶しない。ステップS011において、システムは、所定アクセス回数を経過したと判定するステップS012へ進む。ステップS012において、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を、前回の所定アクセス回数のときに記憶している、半導体メモリ13内に記憶しているハードディスクドライブ11内のFAT領域110の次の世代として、半導体メモリ13内に世代別のエリア形式で記憶させる。このとき、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報をハードディスクドライブ11へのアクセス毎に記憶させる実施形態に比べて、システムの処理速度は向上する。
【0040】
この実施形態において、不慮の電源遮断等が生じ、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損した場合の復旧方法は上記方法と同一である。
【0041】
別の実施形態について説明する。上記実施例では、所定アクセス回数毎に半導体メモリ13にハードディスクドライブ11内のFAT領域110にデータの位置管理情報をエリア形式で複数世代に渡り記憶させたが、所定アクセス毎ではなく、所定時間毎にしても良い。所定時間毎とは、例えば、5ms、10ms等またはそれ以上に長い時間でも良く、制限はない。
【0042】
図13は、本実施形態におけるハードディスクドライブ11のデータ制御方式を示すフローチャートである。
【0043】
本実施形態において、半導体メモリ13に記憶されるハードディスクドライブ11内のFAT領域110のデータの位置管理情報は、ハードディスクドライブ11へのアクセスが所定時間に達する毎に半導体メモリ13の第2世代22以降の世代に順に記憶されていく。ステップS020において、データ処理が開始されると、ステップS021へ進む。ステップS021において、システムは、所定時間が経過したかどうかを判定しステップS022へ進む。ステップS021において、所定時間に達していないときは、通常のデータ処理を行い、所定時間の間の時間は半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶しない。システムは、所定時間を経過したと判定すると、ステップS022において、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を、前回の所定時間のときに記憶している、半導体メモリ13内に記憶しているハードディスクドライブ11内のFAT領域110の次の世代として、半導体メモリ13内に世代別のエリア形式で記憶させる。このとき、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報をハードディスクドライブ11へのアクセス毎に記憶させる実施形態に比べて、システムの処理速度は向上する。
【0044】
この実施形態において、不慮の電源遮断等が生じ、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損した場合の復旧方法は上記方法と同一である。
【0045】
次に別の実施形態について説明する。
【0046】
上記実施例では、アクセスを行う毎及び、所定時間毎に半導体メモリ13にハードディスクドライブ11内のFAT領域110にデータの位置管理情報をエリア形式で複数世代に渡り記憶させたが、所定データ処理後毎にしても良い。所定データ処理後毎とは、例えば、複数の画像データ等のデータ容量の大きなデータ処理をする時に、1つの画像データを読み込み、次の画像データを読み込む間である。
【0047】
図14は、本実施形態におけるハードディスクドライブ11のデータ制御方式を示すフローチャートである。
【0048】
本実施形態において、半導体メモリ13に記憶されるハードディスクドライブ11内のFAT領域110のデータの位置管理情報は、ハードディスクドライブ11へのアクセスが所定データ処理後毎に半導体メモリ13の第2世代22以降の世代に順に記憶されていく。ステップS030において、データ処理が開始されると、ステップS031へ進む。ステップS031において、システムは、所定データ処理が行われたかどうかを判定する。所定データ処理が行われていないときは、通常のデータ処理を行い、所定データ処理の間は半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶しない。システムは、ステップS031において、所定データ処理であると判定するとステップS032へ進む。ステップS032において、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を、前回の所定データ処理のときに記憶している、半導体メモリ13内に記憶しているハードディスクドライブ11内のFAT領域110の次の世代として、半導体メモリ13内に世代別のエリア形式で記憶させる。このとき、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報をハードディスクドライブ11へのアクセス毎に記憶させる実施形態に比べて、システムの処理速度は向上する。
【0049】
この実施形態において、不慮の電源遮断等が生じ、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損した場合の復旧方法は上記方法と同一である。
【0050】
なお、上記構成を組み合わせて構成しても良い。例えば、普段は所定時間毎に半導体メモリ13に複数世代のエリア形式でハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させているが、重要なデータを処理している時には、データをハードディスクドライブ11に書き込む毎に、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させる。また、例えば、アクセス毎に半導体メモリ13に複数世代のエリア形式でハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させると、システム全体の処理速度が著しく低下するような場合には、所定時間毎に半導体メモリ13に複数世代のエリア形式でハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させる。また、本発明の実施例ではシステムにNetWorkコントローラ3を用いたが、これに代えてLAN(Local Area Network)等に接続したサーバ等にしても良い。また、本発明の実施例では第2の記憶装置には半導体メモリ13を用いたが、これに代えてハードディスクドライブ11にしても良い。
【0051】
また、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【0052】
【図1】本発明を適用したMFPのブロック図である。
【図2】本発明を適用した半導体メモリに記憶されているHDD内のFAT領域のデータの位置管理情報である。
【図3】HDD内のFAT領域に記憶されているデータの位置管理情報である
【図4】HDD内のDATA領域に記憶されているデータ内容である。
【図5】半導体メモリの第1世代エリアに記憶されている、HDD内のFAT領域に記憶されているデータA〜Fの位置管理情報である。
【図6】HDDにデータGを記憶させた時、HDD内のFAT領域で記憶されているデータの位置管理情報である。
【図7】HDDにデータGを記憶させた時、HDD内のDATA領域に記憶されているデータ内容である。
【図8】HDDにデータG記憶させる前後の世代での半導体メモリが記憶しているHDD内のFAT領域の位置管理情報である。
【図9】HDDにデータGを記憶させるとき、何らかの理由により破損したDATA領域である。
【図10】HDDにデータGを記憶させるとき、何らかの理由により破損したFAT領域である。
【図11】HDDのFAT領域の位置管理情報を復旧させる処理のフローチャートである。
【図12】半導体メモリにHDDのFAT領域の位置管理情報を記憶させる処理のフローチャートである。
【図13】別の実施例に係る半導体メモリにHDDのFAT領域の位置管理情報を記憶させる処理のフローチャートである。
【図14】別の実施例に係る半導体メモリにHDDのFAT領域の位置管理情報を記憶させる処理のフローチャートである。
【符号の説明】
【0053】
1−CPU
11−HDD
110−FAT領域
111−DATA領域
13−半導体メモリ
【技術分野】
【0001】
本発明は、ハードディスクドライブ等の記憶システムに関する。
【背景技術】
【0002】
ハードディスクドライブ(HDD)等の記憶装置にデータを記憶させる時、FAT(File Allocation Tables)と呼ばれる方式で記憶内容を管理する方法が知られている。この方式では、記憶装置内には、データそのものを記憶するDATA領域と、記憶させるデータのハードディスクドライブ内での物理的な位置を位置管理情報として記憶するFAT領域の2種類のデータ領域が存在している。この方式では、記憶装置に記憶させたデータにアクセスした時、データ及びそのデータの位置管理情報の2つが必要となる。そのため、不慮の電源遮断等により、記憶装置内のFAT領域が破損してしまうと、データそのものは破損していなくとも、データへのアクセスを行うことが不可能になってしまう。
【0003】
こうした事態を防ぐために、記憶装置内のデータあるいは位置管理情報を別の記憶装置へ保存させる構成が提案されている。また、特許文献1に見られるように、不慮の電源遮断等によるデータの破損を防ぐために、バックアップ電源を用意し、不慮の電源遮断に対応する構成が考案されている。
【特許文献1】特開昭60−179857号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、記憶装置内のデータの位置管理情報を別の記憶装置へ保存させる方法では、データ破損時の位置管理情報と、記憶装置内に保存されている位置管理情報の間に矛盾が生じてしまう。また、位置管理情報が破損した時、破損箇所のチェックに時間がかかってしまう。また、記憶装置内のデータを全て別の記憶装置へ記憶させる方法では、近年のデータ容量の増大を鑑みると、非現実的である。また、特許文献1に見られるような、不慮の電源遮断に対応するためのバックアップ電源を用意する構成では、装置全体の大型化を招いてしまう。
【0005】
本発明の目的は、ハードディスクドライブ等のFAT方式によるデータ管理を行っている第1の記憶装置の各データの位置管理情報を、第2の記憶装置に複数世代に渡って記憶させる。そして、この第2の記憶装置に記憶させたデータの位置管理情報を複数世代で比較を行う。不慮の電源遮断等の何らかの理由により、第1の記憶装置のデータの位置管理情報が破損した時、第2の記憶装置内のデータの複数世代の位置管理情報の比較の結果から、第1の記憶装置のデータの位置管理情報を復旧させる。そして、再び第1の記憶装置のデータにアクセスを行うことのできるようにした記憶システムを提供する。
【課題を解決するための手段】
【0006】
データ及び当該データ内容の位置管理情報を記憶する第1の記憶装置と、前記データ内容の位置管理情報を複数世代に渡って、記憶する第2の記憶装置と、前記第2の記憶装置に記憶した前記データ内容の位置管理情報を複数世代で比較する比較手段と、前記比較手段により得られた、比較結果から、前記第1の記憶装置の前記データ内容の位置管理情報を復旧させる復旧手段と、を備えている。
【0007】
この構成では、第1の記憶装置のデータの位置管理情報が破損した時、第2の記憶装置に記憶している複数世代のデータの位置管理情報の比較に基づいて、第1の記憶装置のデータの位置管理情報を復旧させることができる。第2の記憶装置に、第1の記憶装置のデータの位置管理情報を3世代以上に渡って記憶させておくことにより、データの復旧できる範囲が広がる。
【0008】
前記第2の記憶装置は、前記第1の記憶装置に前記データ内容の位置管理情報を記憶する前に、該位置管理情報を記憶することを特徴とする。
【0009】
前記第2の記憶装置は、前記データ内容の位置管理情報を、前記第1の記憶装置へのアクセス毎に記憶することを特徴とする。
【0010】
この構成では、第2の記憶装置に第1の記憶装置のデータの位置管理情報を記憶させることが、データへのアクセス毎に行うため、データの復旧できる範囲が広がる。
【0011】
前記第2の記憶装置は、前記データ内容の位置管理情報を、所定時間毎に記憶することを特徴とする。
【0012】
この構成では、第2の記憶装置に第1の記憶装置のデータの位置管理情報を記憶させることが、所定時間毎であるため、記憶装置を搭載しているコンピュータにかかる負担を軽減することができる。
【0013】
前記第2の記憶装置は、前記データ内容の位置管理情報を、所定データ処理の間に記憶することを特徴とする。
【0014】
この構成では、第2の記憶装置に第1の記憶装置のデータの位置管理情報を記憶させることが、所定データ処理毎であるため、重要なデータの処理を行う時等にデータ復旧を行いやすくなる。
【発明の効果】
【0015】
本発明によれば、不慮の電源遮断等の事情により、記憶装置内のデータの位置管理情報が破損した時、データ保全及びデータ復旧の確実性を向上させることができる。
【発明を実施するための最良の形態】
【0016】
以下に本発明の実施形態を説明する。
【0017】
図1は、本発明を適用したMFP(Multifunction Printer)のプリンタコントローラのブロック図である。
【0018】
CPU(Central processing Unit)1は、装置全体を制御する。画像形成部I/F(Interface)2は、装置の駆動部である。NetWorkコントローラ3は、装置の外部と接続している。Systemコントローラ4は、各バス部を調節するものである。ペリフェラルバス5は、図示していないディスプレイ等の周辺機器を接続している。CPUバス6は、CPU1とSystemコントローラ4とを接続している。RAM7は、NetWorkコントローラ3等から受信したデータを展開後、画像データを記憶するものである。ROM8は装置のプログラムを記憶するものである。メモリバス9は、Systemコントローラ4とRAM7とを接続している。ローカルバス10はSystemコントローラ4とROM8とを接続している。
【0019】
ハードディスクドライブ11はプリントすべきイメージの一時記憶や、スキャンしたデータの記憶を行う。また、受信したデータを記憶している。本実施例におけるハードディスクドライブ11はFAT(File Allocation Table)方式によりデータを管理している。ハードディスクドライブ11内にはFAT領域110とDATA領域111が存在している。FAT領域110は、ハードディスクドライブ11に記憶されているデータのハードディスクドライブ11内の物理的位置を示す情報である位置管理情報を記憶している領域である。DATA領域111は、ハードディスクドライブ11に記憶しているデータそのものを記憶している領域である。ハードディスクドライブコントローラ12はハードディスクドライブ11を制御するものである。
【0020】
半導体メモリ13は例えば、SRAMである。半導体メモリ13は、本実施例における第2の記憶装置であり、第1の記憶装置であるハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報を記憶している。半導体メモリ13は、メモリ内部に複数世代のハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶している。このとき、メモリ内部では、位置管理情報を世代別にエリア分けして記憶している。半導体メモリ13がハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報を記憶する時、まず、ハードディスクドライブ11内のFAT領域110に記憶されるデータの位置管理情報が生成され、半導体メモリ13に記憶される。半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータ位置管理情報が半導体メモリ13に記憶された後、ハードディスクドライブ11内のDATA領域111にデータが、ハードディスクドライブ11内のFAT領域110にデータの位置管理情報が、それぞれ記憶される。
【0021】
図2は、半導体メモリ13に記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報である。半導体メモリ13は、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を世代別にエリア形式で記憶している。世代とは、例えば、ハードディスクドライブ11へのアクセスを行った毎、あるいは、所定時間毎に半導体メモリ13に記憶される、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報の積み重ねである。半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を第n世代30まで記憶している時、図示していない第(n+1)世代のハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶する時、最も古い世代である第1世代21の位置管理情報は消去される。
【0022】
本実施例において、不慮の電源遮断等の理由で、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損してしまった時、半導体メモリ13に記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報を複数世代のエリアで比較を行い、ハードディスクドライブ11のデータの位置管理情報の復旧を行う。位置管理情報を複数世代で比較するとは、例えば、半導体メモリ13に記憶されている第1世代21のエリアの位置管理情報と半導体メモリ13に記憶されている第2世代22のエリアの位置管理情報との比較、半導体メモリ13に記憶されている第2世代22のエリアの位置管理情報と半導体メモリ13に記憶されている第3世代23のエリアの位置管理情報との比較、半導体メモリ13に記憶されている第1世代21のエリアの位置管理情報と半導体メモリ13に記憶されている第3世代23のエリアの位置管理情報との比較、等である。半導体メモリ13に記憶されている連続した世代のエリアの位置管理情報を比較することや、半導体メモリ13に記憶されている離れた世代のエリアの位置管理情報を比較することができる。好ましくは、半導体メモリ13に記憶されている最新世代のエリアの位置管理情報と半導体メモリ13に記憶されている最新世代の1つ前の世代のエリアの位置管理情報との比較である。また、半導体メモリ13に記憶されている最新世代のエリアの位置管理情報と半導体メモリ13に記憶されている最新世代の1つ前の世代のエリアの位置管理情報との比較では、半導体メモリ13に記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報に差が見られないときは、半導体メモリ13に記憶されている最新世代のエリアの位置管理情報と半導体メモリ13に記憶されている最新世代のエリアの2つ以上前の世代のエリアの位置管理情報との比較を行う。こうすることで、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を復旧できる範囲がより広くなる。
【0023】
図3は、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報であり、図4はハードディスクドライブ11内のDATA領域111に記憶されているデータ内容である。
【0024】
ハードディスクドライブ11にアクセスが行われる時、ハードディスクドライブ11内のDATA領域111に記憶されているデータの読み込み/書き込みに加え、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報を参照/更新することによって、ハードディスクドライブ11内のデータは管理されている。
【0025】
ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報を参照/更新している時、不慮の電源遮断等が発生してしまい、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損してしまうと、ハードディスクドライブ11内のDATA領域111のデータは破損していなくても、ハードディスクドライブ11はアクセスを行うことができなくなる。
【0026】
図5は、半導体メモリ13の第1世代21エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報である。半導体メモリ13には所定のタイミングでハードディスクドライブ11内のFAT領域110のデータの位置管理情報が世代別にエリア形式で記憶されている。所定のタイミングとは、例えば、一定時間毎、一定処理間、一定アクセス回数毎である。
【0027】
ここで、図3に示しているハードディスクドライブ11内のFAT領域110に、データA〜Fの位置管理情報を記憶し、図4に示しているハードディスクドライブ11内のDATA領域111にデータA〜Fを記憶しているハードディスクドライブ11がある。また、図5に示している、ハードディスクドライブ11内のFAT領域110に記憶されているデータA〜Fの位置管理情報を第1世代21エリアとして記憶している半導体メモリ13がある。ハードディスクドライブ11内のFAT領域110及びDATA領域111へデータを書き込む時、まず、データGのハードディスクドライブ11内のFAT領域110の位置管理情報を生成し、生成されたハードディスクドライブ11内のFAT領域110の位置管理情報を半導体メモリ13内の第2世代22エリアに記憶する。半導体メモリ13内の第2世代22エリアにハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させてから、ハードディスクドライブ11内のFAT領域110にデータGの位置管理情報を、ハードディスクドライブ11内のDATA領域111にデータGを記憶している。ハードディスクドライブ11への書き込みが正常に終了した場合には、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報は図6のようになり、ハードディスクドライブ11内のDATA領域111に記憶されているデータ内容は図7のようになる。また、半導体メモリ13内の第2世代22エリアには、図8のように、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報と同一のものが記憶される。
【0028】
ところが、データGの書き込み時に不慮の電源遮断等による何らかの事情により、書き込みが正常に終了できなかった時、ハードディスクドライブ11内のDATA領域111に書き込みを行っていたデータGの内容は保障されない。また、不慮の電源遮断等が起こり、ハードディスクドライブ11内のFAT領域110に書き込みを行っていたデータGの位置管理情報の更新時期と、が重なったとき、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報は破損してしまう可能性もある。ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損してしまうと、図10のようになってしまう。このとき、ハードディスクドライブ11内のDATA領域111には、データA〜Fはアクセスを行っていなかったため、破損しておらず、データは残されている(図9参照)。しかし、ハードディスクドライブ11内のFAT領域110に記憶されているデータの位置管理情報が破損しているため、ハードディスクドライブ11内の全てのデータへのアクセスが出来なくなってしまう。
【0029】
半導体メモリ13には、第1世代21エリアにはデータA〜Fのハードディスクドライブ11内のFAT領域110位置管理情報が記憶され、第2世代22エリアには書き込みを行っていたデータGのハードディスクドライブ11内のFAT領域110の位置管理情報を含んだデータA〜Gの位置管理情報が記憶されている。半導体メモリ13内に記憶されている第1世代21エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報と、第2世代22エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報とを比較する。比較結果から、ハードディスクドライブ11内のFAT領域110で破損したデータの位置管理情報を検出する。ハードディスクドライブ11内のDATA領域111に記憶されている、ハードディスクドライブ11内のFAT領域110内の破損した位置管理情報を有したデータも破損しているため、ハードディスクドライブ11内のFAT領域110の破損したデータの位置管理情報を除いて、半導体メモリ13の第1世代21エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報をハードディスクドライブ11に書き込みを行い、破損したデータGを除いたデータA〜Fに再びアクセスを行うことができるようにする。
【0030】
ハードディスクドライブ11へデータG書き込みを行うとき、ハードディスクドライブ11にデータGの書き込みを行う前に、データG書き込み後のハードディスクドライブ11内のFAT領域110の位置管理情報を生成し、生成したハードディスクドライブ11内のFAT領域110の位置管理情報を半導体メモリ13の第2世代22エリアとして記憶している。なお、これ以前の書き込み時には、第1世代21エリアにそのときに更新されたハードディスクドライブ11内のFAT領域110の位置管理情報が記憶されている。その結果、半導体メモリ13の第2世代22エリアには常にハードディスクドライブ11に記憶されている位置管理情報と同一の位置管理情報が記憶されていることになる。何らかの事情により、ハードディスクドライブ11へデータの書き込みが正常に終了しなかった時、半導体メモリ13の複数世代エリアに記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報から、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を復旧させる時、位置管理情報の差が生じるという矛盾は生じない。また、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶している時、何らかの事情で書き込みが完了しなかった際、ハードディスクドライブ11への書き込みは半導体メモリ13へ位置管理情報を記憶させてから行うので、ハードディスクドライブ11内のFAT領域110のデータ位置管理情報が破損する危険は少ない。
【0031】
図11を用いて、具体的なハードディスクドライブ11内のFAT領域110のデータの位置管理情報を復旧する方法を説明する。
【0032】
ハードディスクドライブ11は、ハードディスクドライブ11内のFAT領域110に図3に示されているデータA〜Fの位置管理情報を記憶し、ハードディスクドライブ11内のDATA領域111に図4に示されているデータA〜Fを記憶している。また、半導体メモリ13の第1世代21のエリアは、図5に示されているハードディスクドライブ11内のFAT領域110のデータA〜Fの位置管理情報を記憶している。このハードディスクドライブ11及び半導体メモリ13にデータGの書き込みを行う。ステップS001において、ハードディスクドライブ11にデータGを書き込む。ステップS002において、不慮の電源遮断等が起こらない時、通常の処理を行いデータの書き込みが正常に終了する。ステップS002において、不慮の電源遮断等が発生し、データの書き込みが正常に終了できなかった時、ステップS003に進む。ステップS003において、システムはハードディスクドライブ11に正常にアクセスを行えるかどうかを判定する。判定の結果ハードディスクドライブ11へ正常にアクセスが行える時、通常の処理を行い、再びハードディスクドライブ11にデータ処理を行う。ステップS003において、ハードディスクドライブ11内のFAT領域110が破損したため、ハードディスクドライブ11へのアクセスが行えない時、ステップS004に進む。ステップS004において、システムは、半導体メモリ13に世代毎にエリア形式で記憶されているハードディスクドライブ11内のFAT領域110のデータの位置管理情報を参照し、ステップS005へ進む。
【0033】
ステップS005において、システムは、半導体メモリ13に記憶されているデータA〜Fのハードディスクドライブ11内のFAT領域110のデータの位置管理情報である第1世代21エリアと、半導体メモリ13に記憶されているデータA〜Gのハードディスクドライブ11内のFAT領域110のデータの位置管理情報である第2世代22エリアを比較し、ステップS006へ進む。
【0034】
ステップS006において、半導体メモリ13で変更が加わっているデータGのアクセスを実施している時、不慮の電源遮断等が発生し、ハードディスクドライブ11へのアクセスが正常に完了しなかったと判定し、ステップS007へ進む。
【0035】
ステップS007において、判定結果から、半導体メモリ13に記憶されているハードディスクドライブ11内のFAT領域110内のデータの位置管理情報に基づいて、システムは、ハードディスクドライブ11内のFAT領域110に対して、データA〜Fのハードディスクドライブ11内のFAT領域110にデータの位置管理情報を書き込み、ハードディスクドライブ11内のFAT領域110にデータGの領域を破損領域として登録する。
【0036】
復旧したハードディスクドライブ11へのアクセスを行う。
【0037】
別の実施形態について説明する。上記実施例では、アクセスを行う毎に半導体メモリ13にハードディスクドライブ11内のFAT領域110にデータの位置管理情報をエリア形式で複数世代に渡り記憶させたが、アクセス毎ではなく、所定時間毎にしても良い。所定時間毎とは、例えば、5ms、10ms等またはそれ以上に長い時間でも良く、制限はない。
【0038】
図12は、本実施形態におけるハードディスクドライブ11のデータ制御方式を示すフローチャートである。
【0039】
本実施形態において、半導体メモリ13に記憶されるハードディスクドライブ11内のFAT領域110のデータの位置管理情報は、ハードディスクドライブ11へのアクセスが所定回数に達する毎に半導体メモリ13の第2世代22以降の世代に順に記憶されていく。ステップS010において、データ処理が開始されると、ステップS011へ進む。ステップS011において、システムは、所定アクセス回数が経過したかどうかを判定する。所定アクセス回数に達していないときは、通常のデータ処理を行い、所定アクセス回数の間の時間は半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶しない。ステップS011において、システムは、所定アクセス回数を経過したと判定するステップS012へ進む。ステップS012において、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を、前回の所定アクセス回数のときに記憶している、半導体メモリ13内に記憶しているハードディスクドライブ11内のFAT領域110の次の世代として、半導体メモリ13内に世代別のエリア形式で記憶させる。このとき、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報をハードディスクドライブ11へのアクセス毎に記憶させる実施形態に比べて、システムの処理速度は向上する。
【0040】
この実施形態において、不慮の電源遮断等が生じ、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損した場合の復旧方法は上記方法と同一である。
【0041】
別の実施形態について説明する。上記実施例では、所定アクセス回数毎に半導体メモリ13にハードディスクドライブ11内のFAT領域110にデータの位置管理情報をエリア形式で複数世代に渡り記憶させたが、所定アクセス毎ではなく、所定時間毎にしても良い。所定時間毎とは、例えば、5ms、10ms等またはそれ以上に長い時間でも良く、制限はない。
【0042】
図13は、本実施形態におけるハードディスクドライブ11のデータ制御方式を示すフローチャートである。
【0043】
本実施形態において、半導体メモリ13に記憶されるハードディスクドライブ11内のFAT領域110のデータの位置管理情報は、ハードディスクドライブ11へのアクセスが所定時間に達する毎に半導体メモリ13の第2世代22以降の世代に順に記憶されていく。ステップS020において、データ処理が開始されると、ステップS021へ進む。ステップS021において、システムは、所定時間が経過したかどうかを判定しステップS022へ進む。ステップS021において、所定時間に達していないときは、通常のデータ処理を行い、所定時間の間の時間は半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶しない。システムは、所定時間を経過したと判定すると、ステップS022において、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を、前回の所定時間のときに記憶している、半導体メモリ13内に記憶しているハードディスクドライブ11内のFAT領域110の次の世代として、半導体メモリ13内に世代別のエリア形式で記憶させる。このとき、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報をハードディスクドライブ11へのアクセス毎に記憶させる実施形態に比べて、システムの処理速度は向上する。
【0044】
この実施形態において、不慮の電源遮断等が生じ、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損した場合の復旧方法は上記方法と同一である。
【0045】
次に別の実施形態について説明する。
【0046】
上記実施例では、アクセスを行う毎及び、所定時間毎に半導体メモリ13にハードディスクドライブ11内のFAT領域110にデータの位置管理情報をエリア形式で複数世代に渡り記憶させたが、所定データ処理後毎にしても良い。所定データ処理後毎とは、例えば、複数の画像データ等のデータ容量の大きなデータ処理をする時に、1つの画像データを読み込み、次の画像データを読み込む間である。
【0047】
図14は、本実施形態におけるハードディスクドライブ11のデータ制御方式を示すフローチャートである。
【0048】
本実施形態において、半導体メモリ13に記憶されるハードディスクドライブ11内のFAT領域110のデータの位置管理情報は、ハードディスクドライブ11へのアクセスが所定データ処理後毎に半導体メモリ13の第2世代22以降の世代に順に記憶されていく。ステップS030において、データ処理が開始されると、ステップS031へ進む。ステップS031において、システムは、所定データ処理が行われたかどうかを判定する。所定データ処理が行われていないときは、通常のデータ処理を行い、所定データ処理の間は半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶しない。システムは、ステップS031において、所定データ処理であると判定するとステップS032へ進む。ステップS032において、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報を、前回の所定データ処理のときに記憶している、半導体メモリ13内に記憶しているハードディスクドライブ11内のFAT領域110の次の世代として、半導体メモリ13内に世代別のエリア形式で記憶させる。このとき、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報をハードディスクドライブ11へのアクセス毎に記憶させる実施形態に比べて、システムの処理速度は向上する。
【0049】
この実施形態において、不慮の電源遮断等が生じ、ハードディスクドライブ11内のFAT領域110のデータの位置管理情報が破損した場合の復旧方法は上記方法と同一である。
【0050】
なお、上記構成を組み合わせて構成しても良い。例えば、普段は所定時間毎に半導体メモリ13に複数世代のエリア形式でハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させているが、重要なデータを処理している時には、データをハードディスクドライブ11に書き込む毎に、半導体メモリ13にハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させる。また、例えば、アクセス毎に半導体メモリ13に複数世代のエリア形式でハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させると、システム全体の処理速度が著しく低下するような場合には、所定時間毎に半導体メモリ13に複数世代のエリア形式でハードディスクドライブ11内のFAT領域110のデータの位置管理情報を記憶させる。また、本発明の実施例ではシステムにNetWorkコントローラ3を用いたが、これに代えてLAN(Local Area Network)等に接続したサーバ等にしても良い。また、本発明の実施例では第2の記憶装置には半導体メモリ13を用いたが、これに代えてハードディスクドライブ11にしても良い。
【0051】
また、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【0052】
【図1】本発明を適用したMFPのブロック図である。
【図2】本発明を適用した半導体メモリに記憶されているHDD内のFAT領域のデータの位置管理情報である。
【図3】HDD内のFAT領域に記憶されているデータの位置管理情報である
【図4】HDD内のDATA領域に記憶されているデータ内容である。
【図5】半導体メモリの第1世代エリアに記憶されている、HDD内のFAT領域に記憶されているデータA〜Fの位置管理情報である。
【図6】HDDにデータGを記憶させた時、HDD内のFAT領域で記憶されているデータの位置管理情報である。
【図7】HDDにデータGを記憶させた時、HDD内のDATA領域に記憶されているデータ内容である。
【図8】HDDにデータG記憶させる前後の世代での半導体メモリが記憶しているHDD内のFAT領域の位置管理情報である。
【図9】HDDにデータGを記憶させるとき、何らかの理由により破損したDATA領域である。
【図10】HDDにデータGを記憶させるとき、何らかの理由により破損したFAT領域である。
【図11】HDDのFAT領域の位置管理情報を復旧させる処理のフローチャートである。
【図12】半導体メモリにHDDのFAT領域の位置管理情報を記憶させる処理のフローチャートである。
【図13】別の実施例に係る半導体メモリにHDDのFAT領域の位置管理情報を記憶させる処理のフローチャートである。
【図14】別の実施例に係る半導体メモリにHDDのFAT領域の位置管理情報を記憶させる処理のフローチャートである。
【符号の説明】
【0053】
1−CPU
11−HDD
110−FAT領域
111−DATA領域
13−半導体メモリ
【特許請求の範囲】
【請求項1】
データ及び当該データ内容の位置管理情報を記憶する第1の記憶装置と、
前記データ内容の位置管理情報を記憶する第2の記憶装置と、
前記データ内容の位置管理情報を複数世代に渡って記憶する第2の記憶装置と、
前記第1の記憶装置の前記データ内容の位置管理情報が破損したときに、
前記第2の記憶装置に記憶した前記データ内容の位置管理情報を複数世代で比較する比較手段と、
前記比較手段により得られた比較結果から、前記第1の記憶装置に前記データ内容の位置管理情報を復旧させる復旧手段と、を備えた記憶システム。
【請求項2】
前記第2の記憶装置は、前記第1の記憶装置に前記データ内容の位置管理情報を記憶する前に、該位置管理情報を記憶することを特徴とする、請求項1に記載の記憶システム。
【請求項3】
前記第2の記憶装置は、前記第1の記憶装置に記憶されている前記データの位置管理情報を参照又は更新しているときに電源遮断を原因として前記第1の記憶装置の前記データ内容の位置管理情報が破損すると、前記第1の記憶装置に前記データ内容の位置管理情報を記憶する前に、該位置管理情報を記憶することを特徴とする請求項1または2に記載の記憶システム。
【請求項4】
前記第2の記憶装置は、前記データ内容の位置管理情報を、前記第1の記憶装置へのアクセス毎に記憶することを特徴とする、請求項1〜3の何れかに記載の記憶システム。
【請求項5】
前記第2の記憶装置は、前記データ内容の位置管理情報を、所定時間毎に記憶することを特徴とする、請求項1〜4の何れかに記載の記憶システム。
【請求項6】
前記第2の記憶装置は、前記データ内容の位置管理情報を、所定データ処理の間に記憶することを特徴とする、請求項1〜5の何れかに記載の記憶システム。
【請求項7】
前記第1の記憶装置をハードディスクドライブ、前記第2の記憶装置を不揮発性の半導体メモリ、とすることを特徴とする、請求項1〜6の何れかに記載の記憶システム。
【請求項1】
データ及び当該データ内容の位置管理情報を記憶する第1の記憶装置と、
前記データ内容の位置管理情報を記憶する第2の記憶装置と、
前記データ内容の位置管理情報を複数世代に渡って記憶する第2の記憶装置と、
前記第1の記憶装置の前記データ内容の位置管理情報が破損したときに、
前記第2の記憶装置に記憶した前記データ内容の位置管理情報を複数世代で比較する比較手段と、
前記比較手段により得られた比較結果から、前記第1の記憶装置に前記データ内容の位置管理情報を復旧させる復旧手段と、を備えた記憶システム。
【請求項2】
前記第2の記憶装置は、前記第1の記憶装置に前記データ内容の位置管理情報を記憶する前に、該位置管理情報を記憶することを特徴とする、請求項1に記載の記憶システム。
【請求項3】
前記第2の記憶装置は、前記第1の記憶装置に記憶されている前記データの位置管理情報を参照又は更新しているときに電源遮断を原因として前記第1の記憶装置の前記データ内容の位置管理情報が破損すると、前記第1の記憶装置に前記データ内容の位置管理情報を記憶する前に、該位置管理情報を記憶することを特徴とする請求項1または2に記載の記憶システム。
【請求項4】
前記第2の記憶装置は、前記データ内容の位置管理情報を、前記第1の記憶装置へのアクセス毎に記憶することを特徴とする、請求項1〜3の何れかに記載の記憶システム。
【請求項5】
前記第2の記憶装置は、前記データ内容の位置管理情報を、所定時間毎に記憶することを特徴とする、請求項1〜4の何れかに記載の記憶システム。
【請求項6】
前記第2の記憶装置は、前記データ内容の位置管理情報を、所定データ処理の間に記憶することを特徴とする、請求項1〜5の何れかに記載の記憶システム。
【請求項7】
前記第1の記憶装置をハードディスクドライブ、前記第2の記憶装置を不揮発性の半導体メモリ、とすることを特徴とする、請求項1〜6の何れかに記載の記憶システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−310660(P2008−310660A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−158928(P2007−158928)
【出願日】平成19年6月15日(2007.6.15)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願日】平成19年6月15日(2007.6.15)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]