(57)【要約】【課題】フラッシュメモリなどのＥＥＰＲＯＭにおいて、データ変化を防止する専用の記憶容量を設けなくても、データ変化及びデータ消失の抑制を可能とし、かつ、それに必要な処理能力を抑制することが可能な技術を提供することを目的とする。【解決手段】監視記録装置５６は、ＣＰＵ１と、フラッシュメモリ２と、ＲＡＭ３と、ＣＰＵ１の使用率を計数する使用率計数部１６とを備える。ＣＰＵ１は、フラッシュメモリ２から記憶データを読み出してＲＡＭ３に記憶した後、再びＲＡＭ３からフラッシュメモリ２の元アドレスに書き戻す上書き処理を行う。ＣＰＵ１は、この上書き処理を、使用率計数部１６で計数された使用率が所定のしきい値よりも低い場合に実行する。上書き処理は他の処理によるフラッシュメモリ２への読み書きが禁止される排他処理とともに実行され、ＣＰＵ１は、上書き処理を他の処理と時分割で実行する。【選択図】図３
2012230581.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と、
前記中央処理装置に接続されたＥＥＰＲＯＭと、
前記中央処理装置に接続された一時記憶手段と、
前記中央処理装置の使用率を計数する使用率計数手段と、
を備え、
前記中央処理装置は、前記ＥＥＰＲＯＭから記憶データを読み出して前記一時記憶手段に記憶した後、再び前記一時記憶手段から前記ＥＥＰＲＯＭの元アドレスに書き戻す上書き処理を、前記使用率計数手段で計数された使用率が所定のしきい値よりも低い場合に実行し、
前記上書き処理は他の処理による前記ＥＥＰＲＯＭへの読み書きが禁止される排他処理とともに実行され、
前記中央処理装置は、前記上書き処理を前記他の処理と時分割で実行する、データ記憶装置。
【請求項２】
請求項１に記載のデータ記憶装置であって、
前記中央処理装置は、
前記ＥＥＰＲＯＭの記憶容量を分割した所定のデータ量単位で前記上書き処理を実行し、前記データ量単位の１単位の前記上書き処理を実行してから所定の時間経過した以降に、前記使用率計数手段で計数された使用率が所定のしきい値よりも低くなった場合に、前記データ量単位の次の１単位の前記上書き処理を実行する、データ記憶装置。
【請求項３】
請求項１または請求項２に記載のデータ記憶装置であって、
前記ＥＥＰＲＯＭはフラッシュメモリである、データ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを記憶するフラッシュメモリなどのＥＥＰＲＯＭを備えるデータ記憶装置に関するものである。
【背景技術】
【０００２】
フラッシュメモリは、メモリセル内の制御ゲートと半導体素子との間における、酸化膜に囲まれた領域に電荷を蓄積することで、電源を切った後でもデータを保持することが可能な半導体記憶装置である。フラッシュメモリにおいては、酸化膜の特性劣化や製造上の欠陥などにより、時間経過とともに電荷が変化してデータ化けすることがある。
【０００３】
この対策として、特許文献１には、２つのフラッシュメモリに同じ２つのデータを記憶して、当該２つのデータ同士の各値の論理積を取った値を正しい値とする技術が開示されている。また、特許文献２には、正データとその否定して得られる副データとで二重化し、正データと副データとの排他的論理和を計算してデータ化けを検出し、その検出結果に応じて正しい値を書き込む技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１６０８３４号公報
【特許文献２】特開平１１−２７２５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のようなデータ化けの対策では、同じデータを二重化したり、正データと副データとで二重化したりして、それらを記憶する必要があることから、フラッシュメモリの記憶容量が２倍必要であるという問題があった。また、データを書き込む際に、例えば停電等が発生して電源が供給されなくなると、多くのデータが消失してしまうという問題があった。また、データ化けを抑制する対策処理と、他の処理とを並行して行うためには処理能力が高い中央処理装置を要することになり、コストが高くなるという問題があった。
【０００６】
そこで、本発明は、上記のような問題点を鑑みてなされたものであり、フラッシュメモリなどのＥＥＰＲＯＭにおいて、データ変化を防止する専用の記憶容量を設けなくても、データ変化及びデータ消失の抑制を可能とし、かつ、それに必要な処理能力を抑制することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るデータ記憶装置は、中央処理装置と、前記中央処理装置に接続されたＥＥＰＲＯＭと、前記中央処理装置に接続された一時記憶手段と、前記中央処理装置の使用率を計数する使用率計数手段とを備える。前記中央処理装置は、前記ＥＥＰＲＯＭから記憶データを読み出して前記一時記憶手段に記憶した後、再び前記一時記憶手段から前記ＥＥＰＲＯＭの元アドレスに書き戻す上書き処理を、前記使用率計数手段で計数された使用率が所定のしきい値よりも低い場合に実行する。前記上書き処理は他の処理による前記ＥＥＰＲＯＭへの読み書きが禁止される排他処理とともに実行され、前記中央処理装置は、前記上書き処理を前記他の処理と時分割で実行する。
【発明の効果】
【０００８】
本発明によれば、データを一時記憶手段に一時的に記憶することから、ＥＥＰＲＯＭにおいて、データ変化を防止するための専用の記憶容量が不要となる。したがって、記憶容量の小さいＥＥＰＲＯＭを使用することができる。また、ＥＥＰＲＯＭに存在するデータを消去する処理を行わずに、一時記憶手段から読み出したデータをＥＥＰＲＯＭの元アドレスに上書きすることができるため、ＥＥＰＲＯＭにデータ書き込み中に停電などが発生しても、データが消失するのを抑制することができる。また、このような上書き処理を、中央処理装置の使用率に応じて実行するので、中央処理装置の処理能力を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るデータ記憶部の構成を示すブロック図である。
【図２】実施の形態１に係るデータ記憶部の動作を示すフローチャートである。
【図３】実施の形態１に係る監視記録装置の構成を示すブロック図である。
【図４】実施の形態１に係る監視記録装置の動作を示すフローチャートである。
【図５】実施の形態１に係る監視記録装置の動作と比較される動作を示す図である。
【図６】実施の形態１に係る監視記録装置の動作を示す図である。
【発明を実施するための形態】
【００１０】
＜実施の形態１＞
本発明の実施の形態１に係るデータ記憶装置は、監視記録装置であるものとして以下説明する。まず、当該監視記録装置について説明する前に、そのベースとなるデータ記憶部について説明する。
【００１１】
図１は、データ記憶部を示すブロック図である。図に示すように、データ記憶部５１は、中央処理装置（以下、「ＣＰＵ１」と呼ぶ）と、フラッシュメモリ２と、書き込み可能なメモリであるＲＡＭ（Random Access Memory）３とを備える。
【００１２】
ＣＰＵ１は、フラッシュメモリ２に記憶されている動作プログラムを読込んでデータ記憶部５１を統括的に制御する。図１に示されるように、このＣＰＵ１には、プログラムの動作中に必要な値、例えば、データ転送先の開始アドレスが一時的に保持されるレジスタ４，５が設けられている。
【００１３】
フラッシュメモリ２は、ＥＥＰＲＯＭ（Electrically Erasable PROM）の一種である。このフラッシュメモリ２には、ＣＰＵ１が処理する動作プログラムや設定情報が記憶されている。
【００１４】
ＲＡＭ３は、一時記憶手段であり、フラッシュメモリ２からの動作プログラムや設定情報が書き込まれるプログラム領域と、動作処理実行中に必要なデータが一時的に書き込まれる作業領域とを有している。
【００１５】
ＣＰＵ１は、バス５０を介してフラッシュメモリ２と接続されており、動作プログラム及び設定情報のデータや、当該データのフラッシュメモリ２上のアドレスなどを、バス５０を介してフラッシュメモリ２と入出力可能となっている。また、ＣＰＵ１は、バス５０を介してＲＡＭ３と接続されており、動作処理実行中に必要なデータや、当該データのＲＡＭ３上のアドレスなどを、バス５０を介してＲＡＭ３と入出力可能となっている。
【００１６】
さて、一般的なフラッシュメモリは、複数のメモリセル（図示しない）を有し、当該メモリセルにおいて電荷が蓄積された状態を１ビットの「０」などとし、当該メモリセルにおいて電荷が放電された状態を１ビットの「１」などとすることによってデータを記憶している。このようなフラッシュメモリにおいては、メモリセルに蓄積された電荷が時間経過とともに減少することから、例えばビット値が「０」から「１」と変化して異なるビット値となる「データ化け」が生じてしまうことがある。このデータ化けを防ぐ技術は存在するものの、フラッシュメモリに、データ化け防止専用の記憶容量（記憶領域）を設けることが必要となっている。
【００１７】
そこで、本実施の形態に係るデータ記憶部５１は、フラッシュメモリ２において、データ化け防止専用の記憶容量を設けなくてもデータ化けを防止可能となっている。以下、このようなデータ記憶部５１の動作について説明する。
【００１８】
図２は、本実施の形態に係るデータ記憶部５１の動作を示すフローチャートである。まず、概略について説明すると、ステップＳ１にてフラッシュメモリ２に記憶されているデータがＲＡＭ３に書き込まれ、ステップＳ２にてＲＡＭ３に書き込まれたデータがフラッシュメモリ２の元アドレスに書き込まれる。そして、ステップＳ３にてステップＳ１，Ｓ２が全データに対して行われたかが判定され、全データに対して行われていない場合には、ステップＳ４にて読み出し対象となるアドレスを次のアドレスに進める。
【００１９】
次に、本実施の形態に係るデータ記憶部５１の動作について図２を用いて詳細に説明する。
【００２０】
まず、ステップＳ１にて、ＣＰＵ１は、バス５０を介して、フラッシュメモリ２に記憶されている動作プログラム及び設定情報などのデータと、このデータのフラッシュメモリ２上のアドレスとを読み出す。ステップＳ１が初めて行われる場合には、ＣＰＵ１は、そのデータの先頭のアドレスを読み出す。それから、ＣＰＵ１は、読み出したデータをＲＡＭ３の空き領域に書き込む。それとともに、ＣＰＵ１は、読み出したフラッシュメモリ２上のアドレス（以下、「元アドレス」と呼ぶこともある）をレジスタ４に記憶し、当該データが書き込まれたＲＡＭ３上のアドレスをレジスタ５に記憶する。
【００２１】
ステップＳ２にて、ＣＰＵ１は、ステップＳ１で書き込まれたＲＡＭ３上のアドレスをレジスタ５から読み出し、当該アドレスに記憶されているデータ（ステップＳ１でＲＡＭ３上の当該アドレスに書き込まれたデータ）をＲＡＭ３から読み出す。そして、ＣＰＵ１は、対応する元アドレスをレジスタ４から読み出した後、当該データをフラッシュメモリ２の当該元アドレスに上書きする。
【００２２】
ＣＰＵ１は、この上書き動作を、フラッシュメモリ２においてデータ化けが生じる前に行う。したがって、フラッシュメモリ２において時間経過とともに減少していた電荷が、データ化けが生じる前に十分な大きさまで回復する。よって、フラッシュメモリ２におけるデータ化けを防ぐことができる。以下、このデータ化けを防ぐ上書き動作を、「データ化け対策処理」と呼ぶこともある。
【００２３】
次に、ＲＡＭ３から読み出したデータを元アドレスに上書きする利点について説明する。なお、以下の説明において、「電荷状態」は電荷が蓄積された状態、及び、電荷が放電された状態のいずれかを示すものとする。一般に、フラッシュメモリにおいて、１ビットの「１」を示すデータが書き込まれたときの電荷状態と、１ビットの「０」を示すデータが書き込まれたときの電荷状態とは互いに異なる。そのため、どちらかの電荷状態がメモリセルに蓄積されている場合に、その電荷状態を消去せずに、新しいデータを示す電荷状態を当該メモリセルに蓄積すると、電荷状態が混じってしまい、新しいデータが正しく記憶されなくなる場合がある。
【００２４】
それを防ぐため、一般的なフラッシュメモリにおいては、メモリセルに新しいデータを書き込む際に、当該メモリセルの電荷状態を一度消去してから、新しいデータを示す電荷状態を当該メモリセルに形成している。しかし、メモリセルの電荷状態を消去した時点から新しいデータを書き込む時点までに停電などが発生して電源供給が急に停止すると、多くのデータが消失してしまい、結果として、プログラムに誤りが生じたり、設定を復元できなかったりしてしまう可能性がある。
【００２５】
それに対し、本実施の形態では、上述の消去を行わずに、ＣＰＵ１が、同一アドレスにおいて、元のデータと同じ新しいデータを上書きすることによってデータ化け対策処理を行う。したがって、フラッシュメモリ２においては、電荷が蓄積されていたメモリセルには電荷が蓄積されたままとなり、電荷が放電されたメモリセルには電荷が放電されたままとなる。よって、メモリセルに蓄積されていた電荷状態と、新しいデータの電荷状態とが互いに一致することから、フラッシュメモリ２に存在するデータを消去する処理を行わずにそのまま新しいデータを上書きしても、上書きする前のデータと同じ新しいデータを正しく記憶することができる。
【００２６】
このように、本実施の形態に係るＣＰＵ１においては、フラッシュメモリ２に存在するデータを消去する処理を行わずに、ＲＡＭ３から読み出したデータをフラッシュメモリ２の元アドレスに書き込むようにしている。その結果、フラッシュメモリ２のデータ化け対策処理中に停電などが生じても、フラッシュメモリ２の元のデータは消去されずに残ることから、データ化け対策処理中に多くのデータが消失するのを抑制することができる。よって、停電等により、プログラムに誤りが生じたり、設定を復元できなかったりする問題が発生するのを抑制することが可能となっている。
【００２７】
ステップＳ３にて、ＣＰＵ１は、フラッシュメモリ２の全アドレスに対して、ステップＳ１，Ｓ２の動作が行われたかを判定する。つまり、ＣＰＵ１は、フラッシュメモリ２に記憶されている全データが書き戻されたかを判定する。
【００２８】
ステップＳ３において、ＣＰＵ１は、全データが書き戻されたと判定した場合には終了に進む。なお、この図２においては、このように便宜上終了に進んでいるが、現実的な動作としては、フラッシュメモリ２においてデータが記憶されている先頭のアドレスから再びステップＳ１が行われる。ステップＳ３において、ＣＰＵ１は、全データが書き戻されたと判定しなかった場合には、ステップＳ４にて読み出す対象のアドレスを次のアドレスに進めた後、再びステップＳ１を行う。このループ動作により、フラッシュメモリ２に記憶されている全データは書き戻される。つまり、フラッシュメモリ２に記憶されている全データに対して、データ化け対策処理が行われる。
【００２９】
図３は、本実施の形態に係るデータ記憶装置である監視記録装置の構成を示すブロック図であり、この監視記録装置５６は、図１に示したデータ記憶部５１を組み込んだものとなっている。以下、監視記録装置の構成のうちデータ記憶部５１以外の構成について主に説明する。
【００３０】
図３に示すように、監視記録装置５６は、図１に示したデータ記憶部５１に、起動スイッチ６と、記録ボタン７と、カメラ入力端子８と、映像信号アナログデジタル変換回路９（以下、「映像信号Ａ／Ｄ回路９」と呼ぶ）と、映像圧縮回路１０と、データ転送回路１１と、ハードディスク装置（以下、「ＨＤＤ１２」と呼ぶ）と、映像伸張回路１３と、映像信号デジタルアナログ変換回路１４（以下、「映像信号Ｄ／Ａ回路１４」と呼ぶ）と、映像信号出力端子１５と、使用率計数手段である使用率計数部１６とが加わったものとなっている。なお、本実施の形態では、使用率計数部１６は、ＣＰＵ１内部に加わった構成としているが、ＣＰＵ１外部に加わった構成であってもよい。
【００３１】
ＣＰＵ１は、フラッシュメモリ２等以外に、映像信号Ａ／Ｄ回路９、映像圧縮回路１０、データ転送回路１１、映像伸張回路１３及び映像信号Ｄ／Ａ回路１４のそれぞれともバス５０を介して接続されており、これらとの間で、アドレス及びデータが入出力可能となっている。
【００３２】
起動スイッチ６は、監視記録装置５６において、動作プログラムを起動するとともに、映像データの記録等の動作モードを実行可能な待機状態にするためのスイッチである。記録ボタン７は、映像データの記録を開始するためのボタンである。複数のカメラ入力端子８は、複数の監視カメラ（図示しない）から出力されたアナログ形式の映像信号が入力される端子である。
【００３３】
映像信号Ａ／Ｄ回路９は、各カメラ入力端子８からのアナログ形式の映像信号を、デジタル形式の映像データに変換する。映像圧縮回路１０は、映像データを映像圧縮してデータ量のより少ない映像圧縮データを生成する。データ転送回路１１は、映像圧縮回路から映像圧縮データを受け取り、ＣＰＵ１の制御により、映像圧縮データを必要とする回路に出力する。ＨＤＤ１２は映像圧縮データを記憶する。映像伸張回路１３は、映像圧縮データを伸張して、元のデータ量を有する映像データに復元する。映像信号Ｄ／Ａ回路１４は、復元されたデジタル形式の映像データを、アナログ形式の映像信号に変換する。映像信号Ｄ／Ａ回路１４で生成された映像信号は、映像表示装置（図示しない）などと接続される映像信号出力端子１５に出力される。
【００３４】
使用率計数部１６は、ある単位時間あたり内での、ＣＰＵ１でプログラムが実行されている時間と待ち時間とを計数して、プログラムが実行されている時間の比率をＣＰＵ使用率として算出（計数）する。本実施の形態では、ＣＰＵ１は、使用率計数部１６で計数されたＣＰＵ使用率が実施しきい値（所定のしきい値）と同じまたはそれより低い場合に、上書き処理（データ化け対策処理）を実行する。一方、ＣＰＵ１は、使用率計数部１６で計数されたＣＰＵ使用率が実施しきい値よりも高い場合に、上書き処理（データ化け対策処理）を待機状態にするとともに、他の処理を実行する。
【００３５】
図４は、本実施の形態に係る監視記録装置５６において、監視カメラの映像データをＨＤＤ１２に記録する際の動作を示すフローチャートである。次に、この動作を図４に示されるフローチャートに沿って説明する。
【００３６】
まず、ステップＳ１１にて監視記録装置５６に電源が供給されると、ステップＳ１２にて、ＣＰＵ１は、フラッシュメモリ２から動作プログラム及び設定情報などのデータ及びアドレスを読み出し、読み出したデータをＲＡＭ３に書き込む。
【００３７】
ＲＡＭ３へのデータの書込みが完了すると、ステップＳ１３にて、ＣＰＵ１はＲＡＭ３に記憶された動作プログラムの待機処理を実行して待機状態に移行する。ＣＰＵ１が待機状態となると、ステップＳ２２〜Ｓ２８においてデータ化け対策処理を行う。なお、ここでは、まずステップＳ１４〜Ｓ２１について説明し、ステップＳ２２〜Ｓ２８で行われるデータ化け対策処理については後述する。
【００３８】
本実施の形態では、ＣＰＵ１は、ステップＳ１４〜Ｓ２１において記録処理を行う。なお、このような記録処理等を行う場合にも、当該処理の間欠的な合間にデータ化け対策処理を行うことにより、記録処理とデータ化け対策処理とを並行して行うことが可能となっている。
【００３９】
次に、ステップＳ１４〜Ｓ２１で行われる記録処理について説明する。ステップＳ１４にて、ＣＰＵ１は、起動スイッチ６の入力を受け付けると、ＲＡＭ３上の動作プログラムの稼動処理を開始する。そして、ステップＳ１５にて、ＣＰＵ１は、映像信号Ａ／Ｄ回路９、映像圧縮回路１０、データ転送回路１１、映像伸張回路１３及び映像信号Ｄ／Ａ回路１４の設定レジスタをアドレス指定しながら、初期値を順次書き込んで初期設定を行い、停止状態に移行する。停止状態では、記録処理・バックアップ処理・再生処理などの動作モードを実行することが可能であり、同時に複数の動作モードを実行することも可能である。
【００４０】
ステップＳ１６にて、ＣＰＵ１は、記録ボタン７の押下げを受け付けると、ステップＳ１７にて、カメラ入力端子８から入力される監視カメラのアナログ映像信号を、映像信号Ａ／Ｄ回路９によりデジタル形式の映像データに変換する。そして、ＣＰＵ１は、映像データを映像圧縮回路１０に入力して映像圧縮することにより、映像圧縮データを生成する。ステップＳ１８にて、ＣＰＵ１は、映像圧縮データの記録日時情報や、ＨＤＤ１２に書き込むときの書き込みの位置情報、前後データのつながり情報などの管理情報を作成し、ＲＡＭ３の作業領域に記憶する。
【００４１】
ステップＳ１９にて、ＣＰＵ１は、映像圧縮データ及び管理情報をそれぞれ映像圧縮回路１０及びＲＡＭ３から読み出し、データ転送回路１１を介して、映像圧縮データをＨＤＤ１２の映像データ領域に記録するとともに、管理情報をＨＤＤ１２の管理情報領域に記録する。
【００４２】
また、同ステップＳ１９にて、ＣＰＵ１は、映像圧縮回路１０からデータ転送回路１１に入力する映像圧縮データを映像伸張回路１３にも出力する。映像伸張回路１３に入力された映像圧縮データは伸張処理されて映像データに復元される。復元された映像データは、ＣＰＵ１の制御により映像伸張回路１３から映像信号Ｄ／Ａ回路１４に出力され、映像信号Ｄ／Ａ回路１４によりアナログ形式の映像信号に変換される。映像信号は、映像信号出力端子１５に出力された後、外部の表示モニターなどにおいて表示される。これにより、監視カメラの映像は、記録されながら、使用者によって監視される。
【００４３】
ステップＳ１９の後、ステップＳ２０にて、ＣＰＵ１は、記録ボタン７の押下げを受け付けるまで、ステップＳ１７からステップＳ１９の処理を繰り返し、監視カメラの映像とその管理情報をＨＤＤ１２に記録し続ける。ステップＳ２０にて、ＣＰＵ１は、記録ボタン７の押下げを受け付けると、ステップＳ２１にて記録を停止して、ステップＳ１６で再び記録ボタン７が押下げられるまで停止状態を継続する。
【００４４】
次にデータ化け対策処理について説明する。上述したように、ステップＳ１３にて、ＣＰＵ１がＲＡＭ３上の動作プログラムの待機処理を実行して待機状態に移行すると、フラッシュメモリ２のデータ化け対策処理が開始される。その後、待機状態から、停止状態、記録処理、バックアップ処理及び再生処理などの各動作モードに移行しても、ＣＰＵ１は、実質的に、これらに並行してデータ化け対策処理を行う。以下、記録処理と並行してデータ化け対策処理を行う動作についてステップＳ２２〜Ｓ２８に沿って詳細に説明する。
【００４５】
まず、ステップＳ２２にて、ＣＰＵ１は、使用率計数部１６で計数（算出）したＣＰＵ使用率が、予め設定された実施しきい値（例えば、８０％）を超えているか否かを判定する。そして、ＣＰＵ１は、ＣＰＵ使用率が実施しきい値以下である場合には、次のステップＳ２３に移行する。一方、ＣＰＵ１は、ＣＰＵ使用率が実施しきい値を超えている場合には、当該実施しきい値以下となるまでこのステップの判定を繰り返す。
【００４６】
ステップＳ２３にて、ＣＰＵ１は、記録処理などの他の処理により、データ化け対策処理の実行中にフラッシュメモリ２への読み出しまたは書き込みするのを禁止する排他処理を実施する。これにより、データ化け対策処理の実行中に、他の処理によるフラッシュメモリ２への読み出しまたは書き込みが発生することがなくなることから、データ化け対策処理及び他の処理のそれぞれに予期しない影響が発生することが防止されている。なお、排他処理は、実施後、解除されるまで継続される。
【００４７】
ステップＳ２４にて、ＣＰＵ１は、フラッシュメモリ２のデータ化け対策処理を時間分割して行うべく、フラッシュメモリ２に記憶されたデータの一部分を読み出す。例えば、ＣＰＵ１は、フラッシュメモリ２の全記憶容量３２メガバイトに対して５１２バイトのデータを読み出す。そして、ＣＰＵ１は、読み出したデータをＲＡＭ３の空き領域に書き込む。それとともに、ＣＰＵ１は、当該データが読み出されたフラッシュメモリ２上のアドレスをレジスタ４に記憶し、当該データが書き込まれたＲＡＭ３上のアドレスをレジスタ５に記憶する。
【００４８】
ステップＳ２５にて、ＣＰＵ１は、実施の形態１のステップＳ２と同様、ＲＡＭ３上のアドレスをレジスタ５から読み出し、ＲＡＭ３上の当該アドレスに書き込まれたデータを読み出す。そして、ＣＰＵ１は、当該データに対応する元アドレスをレジスタ４から読み出し、当該データをフラッシュメモリ２の当該元アドレスに上書きすることにより、データ化け対策処理を行う。このように、本実施の形態では、フラッシュメモリ２の記憶容量を分割した所定のデータ量（５１２バイト）単位で、データ化け対策処理（上書き処理）を行う。
【００４９】
ステップＳ２６にて、ＣＰＵ１は、次の５１２バイトのデータに対して上述と同様のデータ化け対策処理を行う前に、他の処理によるフラッシュメモリ２への読み出しまたは書き込みを許可すべく排他処理を解除する。それと同じタイミングで、ステップＳ２７にて、データ化け対策処理を一定時間、例えば、２秒間停止する。この間に、記録処理などの他の処理が行われる。
【００５０】
それから、ステップＳ２８にて、ＣＰＵ１は、フラッシュメモリ２からデータを読み出すべきアドレスを５１２バイト進めて、フラッシュメモリ２における別のアドレスのデータに対して、上述と同様のデータ化け対策処理（ステップＳ２２〜Ｓ２８）を行う。
【００５１】
これにより、本実施の形態では、データ化け対策処理（上書き処理）が実行されてから約２秒経過したタイミングで、ＣＰＵ使用率が実施しきい値（例えば８０％）以下の場合には、ＣＰＵ１は次の５１２バイトのメモリセルに対してデータ化け対策処理を実行する。一方、そのタイミングで、ＣＰＵ使用率が実施しきい値を超えている場合には、ＣＰＵ１は、それ以降、ＣＰＵ使用率が実施しきい値以下になるまで、データ化け対策処理を待機状態にし、ＣＰＵ使用率が実施しきい値以下になったタイミングで次の５１２バイトのメモリセルに対してデータ化け対策処理を実行する。
【００５２】
つまり、ＣＰＵ１は、データ量単位の１単位のデータ化け対策処理（上書き処理）をしてから所定の時間（約２秒）経過した以降に、ＣＰＵ使用率が実施しきい値以下の場合にのみ、データ量単位の次の１単位のデータ化け対策処理（上書き処理）を実行するものとなっている。したがって、ＣＰＵ１におけるデータ化け対策処理が、ＣＰＵ１の使用率が低いときにのみ行われるものとなっている。
【００５３】
以上のようなデータ化け対策処理を、フラッシュメモリ２の全記憶容量（例えば、３２メガバイト）に対して行うのにかかる時間は、次の式（１）に示されるように、ＣＰＵ１の使用率が常時８０％以下である場合には約１．５日であり、ＣＰＵ１の使用率が８０％を超える場合には当該約１．５日に待機した分（後述する時間α，β）だけ加算された時間となる。そして、フラッシュメモリ２の後尾のアドレスまでデータ化け対策処理を行った場合には、先頭のアドレスから再びアドレス順にデータ化け対策処理を行う。
【００５４】
【数１】
2012230581.tif 000003
【００５５】
さて、一般に、監視記録装置は、監視カメラの映像を休み無く２４時間３６５日、常時記録するような運用で使用される場合が多い。そのため、監視記録装置は、常時記録しながら、複数の処理、例えば、ＨＤＤが故障しても情報が取得できるように情報を二重化して別のＨＤＤに映像データを記憶するバックアップ処理や、必要な時刻の映像を検索して再生する再生処理が並行して行えるように構成されている。これらの処理が破綻しないで並行して行うことができる最大数（以下、「最大並行処理数」と呼ぶこともある）はＣＰＵの処理能力に依存するが、この最大並行処理数を保ったままデータ化け対策処理を追加して行おうとすると、高い処理能力のＣＰＵが必要となる。しかし、ＣＰＵは処理能力が高いほどその価格は高くなる。
【００５６】
そこで、図４を用いて説明した本実施の形態に係るＣＰＵ１の処理によれば、フラッシュメモリ２のデータ化け対策処理がＣＰＵ１の使用率８０％以下の場合にのみ実行されるので、ＣＰＵ１に必要な処理能力が低減可能となっている。つまり、低価格なＣＰＵ１を監視記録装置５６に使用することが可能となっている。以下、このことについて詳細に説明する前に、対比される処理について説明する。
【００５７】
図５は、図４を用いて説明したＣＰＵ１の処理と対比される処理を示す図であり、横軸は時間を表す。図５に示されるＣＰＵ１の処理は、図４に係るＣＰＵ１の処理と、データ化け対策処理の間隔が異なっている。図５の上側に示される例では、記録処理Ａ及びバックアップ処理Ｂは常時行われており、再生処理Ｃは、過去の映像確認が必要になって再生操作が行われた場合に開始される。そして、フラッシュメモリ２の全記憶容量（３２メガバイト）に対するデータ化け対策処理Ｄが、短い時間になるべく集中して実施されており、当該実施が一日間隔で繰り返される。なお、一日におけるデータ化け対策処理Ｄの開始から終了までの処理時間は、記録処理Ａなどの他の処理状況によって異なる。
【００５８】
図５の下側には、時間軸を拡大した拡大図が示されている。データ化け対策処理Ｄは、記録処理Ａなどの他の処理によるフラッシュメモリ２への書き込み及び読み出しが禁止される排他処理とともに実行される。そして、ＣＰＵ１は、データ化け対策処理Ｄを、他の処理と時分割で実行することにより、大きな時間単位で見れば、データ化け対策処理Ｄを他の処理と並行して行うことができるようになっている。
【００５９】
図５の拡大図に示されるように、同図に係るＣＰＵ１は、記録処理Ａ１、バックアップ処理Ｂ１、再生処理Ｃ１、データ化け対策処理Ｄ１、記録処理Ａ２、・・・を順次行う。しかし、データ化け対策処理Ｄが他の処理と同じ割合で行われると、他の処理に破綻が生じる可能性が多少ある。それに対し、図４に係るＣＰＵ１では、その可能性が抑制されている。
【００６０】
図６は、図４に係るＣＰＵ１の処理を、図５と同様の形式で示す図である。図６の上側の図に示される処理においても記録処理Ａ、バックアップ処理Ｂ及び再生処理Ｃが行われている。
【００６１】
図６の下側には、時間軸を拡大した拡大図が示されている。図６に係るデータ化け対策処理Ｄは、図５に係るデータ化け対策処理Ｄと同様に、記録処理Ａなどの他の処理によるフラッシュメモリ２への書き込み及び読み出しが禁止される排他処理とともに実行される。そして、ＣＰＵ１は、データ化け対策処理Ｄを、他の処理と時分割で実行することにより、大きな時間単位で見れば、データ化け対策処理Ｄを他の処理と並行して行うことができるようになっている。
【００６２】
ここで、本実施の形態では、データ化け対策処理Ｄが行われてから約２秒経過したタイミングで、ＣＰＵ１の使用率が８０％以下である場合には、データ化け対策処理Ｄが、フラッシュメモリ２の全記憶容量（３２メガバイト）のうち５１２バイトに対して実行される。一方、そのタイミングで、ＣＰＵ使用率が８０％を超えている場合には、それ以降、ＣＰＵ使用率が実施しきい値以下になるまで、データ化け対策処理Ｄを行わない待機状態となり、ＣＰＵ使用率が８０％以下になった任意のタイミングでデータ化け対策処理が実行される。
【００６３】
例えば、図６の下側の図において、データ化け対策処理Ｄが、Ｄ１０、Ｄ１１、Ｄ１２、Ｄ１３の順に処理されようとしている。ここで、Ｄ１０のタイミングではＣＰＵ１の使用率が８０％以下であるので、データ化け対策処理がそのまま実行される。しかし、Ｄ１０から約２秒後にあたるＤ１１のタイミングではＣＰＵ１の使用率が８０％を超えているので、そのタイミングでは実行されず、ＣＰＵ１の使用率が８０％以下となるタイミングまで、データ化け対策処理は待機される。そして、ＣＰＵ１の使用率が８０％以下となるタイミングでデータ化け対策処理Ｄ１２以降が順に実行されている。
【００６４】
このように、この図６に係るデータ化け対策処理Ｄが、図５に係るデータ化け対策処理Ｄと異なる点は、データ化け対策処理Ｄを約２ミリ秒で実行してから約２秒経過した以降に、ＣＰＵ使用率が実施しきい値（８０％）以下になった場合にのみ、次の５１２バイトのデータに対するデータ化け対策処理Ｄを実行するが、それ以外の場合には、データ化け対策処理Ｄを停止する点である。つまり、図６に示される処理においては、図５に示される処理に比べて、データ化け対策処理Ｄの単位時間当たりの割合が、他の処理（記録処理Ａ、バックアップ処理Ｂ、再生処理Ｃ）よりも低くなっていることから、他の処理を前倒しで行うことができる。その一方で、ＣＰＵ１の使用率が８０％を超えている場合には、データ化け対策処理Ｄは行わないので、データ化け対策処理Ｄを行うことによりＣＰＵ１の処理能力を超える状態は生じない。
【００６５】
例えば、図５に示される処理では、データ化け対策処理ＤがＤ１，Ｄ２，Ｄ３と三回行われるのに対し、図６に示される処理では、データ化け対策処理ＤがＤ１１の一回だけ行われる。その結果、図６に示される処理では、図５に示される処理よりも、記録処理Ａ４、バックアップ処理Ｂ４、再生処理Ｃ４を早いタイミングで行うことができる。したがって、ＣＰＵ１として処理能力が低いものを用いても、ＣＰＵ１の処理能力を超えない状態でデータ化け対策処理Ｄを行うことができる。よって、監視記録装置５６のＣＰＵ１として低廉なＣＰＵを使用することができる。
【００６６】
以上のような本実施の形態に係る監視記録装置５６によれば、フラッシュメモリ２にデータを二重化して記憶する代わりに、当該データをＲＡＭ３に一時的に記憶することから、データ化け防止専用の記憶容量が不要となる。したがって、記憶容量の小さいフラッシュメモリ２を使用することができる。また、本実施の形態では、同一のデータが同一アドレスに上書きされるため、フラッシュメモリ２に存在するデータを消去する処理を行わずに、ＲＡＭ３から読み出したデータをフラッシュメモリ２の元アドレスに書き込むことが可能となる。したがって、フラッシュメモリ２のデータ化け対策処理中に停電などが発生しても、データが消失するのを抑制することができ、プログラムに誤りが生じたり、設定を復元できなかったりするのを抑制することができる。また、データ化け対策処理を、記録処理、バックアップ処理、再生処理などの他の処理と並行してもＣＰＵ１の使用率に応じてデータ化け対策処理を実行するので、他の処理が遅れたり、装置としての動作が破綻したりするのを抑制することができ、本来の処理を継続することができる。よって、ＣＰＵ１の処理能力に関して、データ化け対策処理による処理の負担をあまり考慮しなくてよく、低廉なＣＰＵを選択することができる。
【００６７】
なお、フラッシュメモリ２の電荷が減少してデータ化けが生じる期間は、フラッシュメモリ２の酸化膜の劣化特性や製造状の欠陥の状態等に起因することから、個々に差異があるものの、数ヶ月以上の期間でデータ化けが発生する場合が多い。したがって、同じアドレスにデータ化け対策処理が行われる時間、つまり全アドレスに対して一通りデータ化け対策処理が行われる時間（以下、「一巡の繰り返し周期」と呼ぶ）は、データ化けが生じる期間（数ヶ月以上）よりも短いことが必要である。また、フラッシュメモリ２の書き換え保証回数に至る期間が、フラッシュメモリ２を搭載する搭載装置の製品寿命（数十年程度）よりも長くなることが望ましい。
【００６８】
ここで、図６に示される処理においては、一巡の繰り返し周期は、一度に処理するデータのサイズ、繰り返し間隔、及び、フラッシュメモリ２の全記憶容量のサイズを基本として決まるものとなっている。例えば、一度に処理するデータのサイズ、繰り返し間隔及び全記憶容量のサイズが、それぞれ５１２バイト、２秒間隔及び３２メガバイトである場合には、一巡の繰り返し周期は上述の（式１）で示した約１．５日が基本となる。ただし、この周期は、データ化け対策処理の実施判定をするＣＰＵ使用率の設定値、装置のＣＰＵ使用率状態に応じて多少変動するものとなっている。
【００６９】
つまり、データ化け対策処理を行うときのＣＰＵ１の使用率が設定値（実施しきい値）より高い場合には、設定値以下になるまで待機するので、一巡の繰り返し周期は、その待機時間（例えば図６に示される時間α，β）だけ、約１．５日から延長されていく。このように、延長の具合は、データ化け対策処理の実施判定の設定値と装置の実際のＣＰＵ使用率とで決まるものとなっている。ここで、例えば、データ化け対策処理が延長となる確率が半分程度となるように、データ化け対策処理の実施判定設定値を選択した場合であっても、一巡の繰返し周期は、せいぜい、上述の（式１）で示した約１．５日のおよそ２倍の約３日程度であり、データ化けが生じる期間（数ヶ月以上）よりも十分短くすることができる。また、書き換え保証回数が１０万回である場合に、一巡繰り返し周期が最小の約１．５日とした場合であっても、保証回数に至るまでの期間は約４００年であることから、搭載装置の製品寿命（数十年程度）よりも十分長くすることができる。
【００７０】
なお、以上の説明では、本実施の形態に係る監視記録装置５６は、フラッシュメモリ２を備えるものとした。しかし、これに限ったものではなく、監視記録装置５６は、フラッシュメモリ２を含むより広い概念であるＥＥＰＲＯＭを備えるものであっても、上述と同じ効果を得ることができる。
【符号の説明】
【００７１】
１  ＣＰＵ、２  フラッシュメモリ、３  ＲＡＭ、１６  使用率計数部、５６  監視記録装置、Ｄ，Ｄ１〜Ｄ３，Ｄ１０〜Ｄ１３  データ化け対策処理。
【図１】
2012230581.tif 000004
【図２】
2012230581.tif 000005
【図３】
2012230581.tif 000006
【図４】
2012230581.tif 000007
【図５】
2012230581.tif 000008
【図６】
2012230581.tif 000009