説明

データ記憶装置

【課題】フラッシュメモリなどのEEPROMにおいて、データ変化を防止する専用の記憶容量を設けなくても、データ変化及びデータ消失の抑制を可能とし、かつ、それに必要な処理能力を抑制することが可能な技術を提供することを目的とする。
【解決手段】監視記録装置56は、CPU1と、フラッシュメモリ2と、RAM3と、CPU1の使用率を計数する使用率計数部16とを備える。CPU1は、フラッシュメモリ2から記憶データを読み出してRAM3に記憶した後、再びRAM3からフラッシュメモリ2の元アドレスに書き戻す上書き処理を行う。CPU1は、この上書き処理を、使用率計数部16で計数された使用率が所定のしきい値よりも低い場合に実行する。上書き処理は他の処理によるフラッシュメモリ2への読み書きが禁止される排他処理とともに実行され、CPU1は、上書き処理を他の処理と時分割で実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを記憶するフラッシュメモリなどのEEPROMを備えるデータ記憶装置に関するものである。
【背景技術】
【0002】
フラッシュメモリは、メモリセル内の制御ゲートと半導体素子との間における、酸化膜に囲まれた領域に電荷を蓄積することで、電源を切った後でもデータを保持することが可能な半導体記憶装置である。フラッシュメモリにおいては、酸化膜の特性劣化や製造上の欠陥などにより、時間経過とともに電荷が変化してデータ化けすることがある。
【0003】
この対策として、特許文献1には、2つのフラッシュメモリに同じ2つのデータを記憶して、当該2つのデータ同士の各値の論理積を取った値を正しい値とする技術が開示されている。また、特許文献2には、正データとその否定して得られる副データとで二重化し、正データと副データとの排他的論理和を計算してデータ化けを検出し、その検出結果に応じて正しい値を書き込む技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−160834号公報
【特許文献2】特開平11−272566号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のようなデータ化けの対策では、同じデータを二重化したり、正データと副データとで二重化したりして、それらを記憶する必要があることから、フラッシュメモリの記憶容量が2倍必要であるという問題があった。また、データを書き込む際に、例えば停電等が発生して電源が供給されなくなると、多くのデータが消失してしまうという問題があった。また、データ化けを抑制する対策処理と、他の処理とを並行して行うためには処理能力が高い中央処理装置を要することになり、コストが高くなるという問題があった。
【0006】
そこで、本発明は、上記のような問題点を鑑みてなされたものであり、フラッシュメモリなどのEEPROMにおいて、データ変化を防止する専用の記憶容量を設けなくても、データ変化及びデータ消失の抑制を可能とし、かつ、それに必要な処理能力を抑制することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るデータ記憶装置は、中央処理装置と、前記中央処理装置に接続されたEEPROMと、前記中央処理装置に接続された一時記憶手段と、前記中央処理装置の使用率を計数する使用率計数手段とを備える。前記中央処理装置は、前記EEPROMから記憶データを読み出して前記一時記憶手段に記憶した後、再び前記一時記憶手段から前記EEPROMの元アドレスに書き戻す上書き処理を、前記使用率計数手段で計数された使用率が所定のしきい値よりも低い場合に実行する。前記上書き処理は他の処理による前記EEPROMへの読み書きが禁止される排他処理とともに実行され、前記中央処理装置は、前記上書き処理を前記他の処理と時分割で実行する。
【発明の効果】
【0008】
本発明によれば、データを一時記憶手段に一時的に記憶することから、EEPROMにおいて、データ変化を防止するための専用の記憶容量が不要となる。したがって、記憶容量の小さいEEPROMを使用することができる。また、EEPROMに存在するデータを消去する処理を行わずに、一時記憶手段から読み出したデータをEEPROMの元アドレスに上書きすることができるため、EEPROMにデータ書き込み中に停電などが発生しても、データが消失するのを抑制することができる。また、このような上書き処理を、中央処理装置の使用率に応じて実行するので、中央処理装置の処理能力を低減することができる。
【図面の簡単な説明】
【0009】
【図1】実施の形態1に係るデータ記憶部の構成を示すブロック図である。
【図2】実施の形態1に係るデータ記憶部の動作を示すフローチャートである。
【図3】実施の形態1に係る監視記録装置の構成を示すブロック図である。
【図4】実施の形態1に係る監視記録装置の動作を示すフローチャートである。
【図5】実施の形態1に係る監視記録装置の動作と比較される動作を示す図である。
【図6】実施の形態1に係る監視記録装置の動作を示す図である。
【発明を実施するための形態】
【0010】
<実施の形態1>
本発明の実施の形態1に係るデータ記憶装置は、監視記録装置であるものとして以下説明する。まず、当該監視記録装置について説明する前に、そのベースとなるデータ記憶部について説明する。
【0011】
図1は、データ記憶部を示すブロック図である。図に示すように、データ記憶部51は、中央処理装置(以下、「CPU1」と呼ぶ)と、フラッシュメモリ2と、書き込み可能なメモリであるRAM(Random Access Memory)3とを備える。
【0012】
CPU1は、フラッシュメモリ2に記憶されている動作プログラムを読込んでデータ記憶部51を統括的に制御する。図1に示されるように、このCPU1には、プログラムの動作中に必要な値、例えば、データ転送先の開始アドレスが一時的に保持されるレジスタ4,5が設けられている。
【0013】
フラッシュメモリ2は、EEPROM(Electrically Erasable PROM)の一種である。このフラッシュメモリ2には、CPU1が処理する動作プログラムや設定情報が記憶されている。
【0014】
RAM3は、一時記憶手段であり、フラッシュメモリ2からの動作プログラムや設定情報が書き込まれるプログラム領域と、動作処理実行中に必要なデータが一時的に書き込まれる作業領域とを有している。
【0015】
CPU1は、バス50を介してフラッシュメモリ2と接続されており、動作プログラム及び設定情報のデータや、当該データのフラッシュメモリ2上のアドレスなどを、バス50を介してフラッシュメモリ2と入出力可能となっている。また、CPU1は、バス50を介してRAM3と接続されており、動作処理実行中に必要なデータや、当該データのRAM3上のアドレスなどを、バス50を介してRAM3と入出力可能となっている。
【0016】
さて、一般的なフラッシュメモリは、複数のメモリセル(図示しない)を有し、当該メモリセルにおいて電荷が蓄積された状態を1ビットの「0」などとし、当該メモリセルにおいて電荷が放電された状態を1ビットの「1」などとすることによってデータを記憶している。このようなフラッシュメモリにおいては、メモリセルに蓄積された電荷が時間経過とともに減少することから、例えばビット値が「0」から「1」と変化して異なるビット値となる「データ化け」が生じてしまうことがある。このデータ化けを防ぐ技術は存在するものの、フラッシュメモリに、データ化け防止専用の記憶容量(記憶領域)を設けることが必要となっている。
【0017】
そこで、本実施の形態に係るデータ記憶部51は、フラッシュメモリ2において、データ化け防止専用の記憶容量を設けなくてもデータ化けを防止可能となっている。以下、このようなデータ記憶部51の動作について説明する。
【0018】
図2は、本実施の形態に係るデータ記憶部51の動作を示すフローチャートである。まず、概略について説明すると、ステップS1にてフラッシュメモリ2に記憶されているデータがRAM3に書き込まれ、ステップS2にてRAM3に書き込まれたデータがフラッシュメモリ2の元アドレスに書き込まれる。そして、ステップS3にてステップS1,S2が全データに対して行われたかが判定され、全データに対して行われていない場合には、ステップS4にて読み出し対象となるアドレスを次のアドレスに進める。
【0019】
次に、本実施の形態に係るデータ記憶部51の動作について図2を用いて詳細に説明する。
【0020】
まず、ステップS1にて、CPU1は、バス50を介して、フラッシュメモリ2に記憶されている動作プログラム及び設定情報などのデータと、このデータのフラッシュメモリ2上のアドレスとを読み出す。ステップS1が初めて行われる場合には、CPU1は、そのデータの先頭のアドレスを読み出す。それから、CPU1は、読み出したデータをRAM3の空き領域に書き込む。それとともに、CPU1は、読み出したフラッシュメモリ2上のアドレス(以下、「元アドレス」と呼ぶこともある)をレジスタ4に記憶し、当該データが書き込まれたRAM3上のアドレスをレジスタ5に記憶する。
【0021】
ステップS2にて、CPU1は、ステップS1で書き込まれたRAM3上のアドレスをレジスタ5から読み出し、当該アドレスに記憶されているデータ(ステップS1でRAM3上の当該アドレスに書き込まれたデータ)をRAM3から読み出す。そして、CPU1は、対応する元アドレスをレジスタ4から読み出した後、当該データをフラッシュメモリ2の当該元アドレスに上書きする。
【0022】
CPU1は、この上書き動作を、フラッシュメモリ2においてデータ化けが生じる前に行う。したがって、フラッシュメモリ2において時間経過とともに減少していた電荷が、データ化けが生じる前に十分な大きさまで回復する。よって、フラッシュメモリ2におけるデータ化けを防ぐことができる。以下、このデータ化けを防ぐ上書き動作を、「データ化け対策処理」と呼ぶこともある。
【0023】
次に、RAM3から読み出したデータを元アドレスに上書きする利点について説明する。なお、以下の説明において、「電荷状態」は電荷が蓄積された状態、及び、電荷が放電された状態のいずれかを示すものとする。一般に、フラッシュメモリにおいて、1ビットの「1」を示すデータが書き込まれたときの電荷状態と、1ビットの「0」を示すデータが書き込まれたときの電荷状態とは互いに異なる。そのため、どちらかの電荷状態がメモリセルに蓄積されている場合に、その電荷状態を消去せずに、新しいデータを示す電荷状態を当該メモリセルに蓄積すると、電荷状態が混じってしまい、新しいデータが正しく記憶されなくなる場合がある。
【0024】
それを防ぐため、一般的なフラッシュメモリにおいては、メモリセルに新しいデータを書き込む際に、当該メモリセルの電荷状態を一度消去してから、新しいデータを示す電荷状態を当該メモリセルに形成している。しかし、メモリセルの電荷状態を消去した時点から新しいデータを書き込む時点までに停電などが発生して電源供給が急に停止すると、多くのデータが消失してしまい、結果として、プログラムに誤りが生じたり、設定を復元できなかったりしてしまう可能性がある。
【0025】
それに対し、本実施の形態では、上述の消去を行わずに、CPU1が、同一アドレスにおいて、元のデータと同じ新しいデータを上書きすることによってデータ化け対策処理を行う。したがって、フラッシュメモリ2においては、電荷が蓄積されていたメモリセルには電荷が蓄積されたままとなり、電荷が放電されたメモリセルには電荷が放電されたままとなる。よって、メモリセルに蓄積されていた電荷状態と、新しいデータの電荷状態とが互いに一致することから、フラッシュメモリ2に存在するデータを消去する処理を行わずにそのまま新しいデータを上書きしても、上書きする前のデータと同じ新しいデータを正しく記憶することができる。
【0026】
このように、本実施の形態に係るCPU1においては、フラッシュメモリ2に存在するデータを消去する処理を行わずに、RAM3から読み出したデータをフラッシュメモリ2の元アドレスに書き込むようにしている。その結果、フラッシュメモリ2のデータ化け対策処理中に停電などが生じても、フラッシュメモリ2の元のデータは消去されずに残ることから、データ化け対策処理中に多くのデータが消失するのを抑制することができる。よって、停電等により、プログラムに誤りが生じたり、設定を復元できなかったりする問題が発生するのを抑制することが可能となっている。
【0027】
ステップS3にて、CPU1は、フラッシュメモリ2の全アドレスに対して、ステップS1,S2の動作が行われたかを判定する。つまり、CPU1は、フラッシュメモリ2に記憶されている全データが書き戻されたかを判定する。
【0028】
ステップS3において、CPU1は、全データが書き戻されたと判定した場合には終了に進む。なお、この図2においては、このように便宜上終了に進んでいるが、現実的な動作としては、フラッシュメモリ2においてデータが記憶されている先頭のアドレスから再びステップS1が行われる。ステップS3において、CPU1は、全データが書き戻されたと判定しなかった場合には、ステップS4にて読み出す対象のアドレスを次のアドレスに進めた後、再びステップS1を行う。このループ動作により、フラッシュメモリ2に記憶されている全データは書き戻される。つまり、フラッシュメモリ2に記憶されている全データに対して、データ化け対策処理が行われる。
【0029】
図3は、本実施の形態に係るデータ記憶装置である監視記録装置の構成を示すブロック図であり、この監視記録装置56は、図1に示したデータ記憶部51を組み込んだものとなっている。以下、監視記録装置の構成のうちデータ記憶部51以外の構成について主に説明する。
【0030】
図3に示すように、監視記録装置56は、図1に示したデータ記憶部51に、起動スイッチ6と、記録ボタン7と、カメラ入力端子8と、映像信号アナログデジタル変換回路9(以下、「映像信号A/D回路9」と呼ぶ)と、映像圧縮回路10と、データ転送回路11と、ハードディスク装置(以下、「HDD12」と呼ぶ)と、映像伸張回路13と、映像信号デジタルアナログ変換回路14(以下、「映像信号D/A回路14」と呼ぶ)と、映像信号出力端子15と、使用率計数手段である使用率計数部16とが加わったものとなっている。なお、本実施の形態では、使用率計数部16は、CPU1内部に加わった構成としているが、CPU1外部に加わった構成であってもよい。
【0031】
CPU1は、フラッシュメモリ2等以外に、映像信号A/D回路9、映像圧縮回路10、データ転送回路11、映像伸張回路13及び映像信号D/A回路14のそれぞれともバス50を介して接続されており、これらとの間で、アドレス及びデータが入出力可能となっている。
【0032】
起動スイッチ6は、監視記録装置56において、動作プログラムを起動するとともに、映像データの記録等の動作モードを実行可能な待機状態にするためのスイッチである。記録ボタン7は、映像データの記録を開始するためのボタンである。複数のカメラ入力端子8は、複数の監視カメラ(図示しない)から出力されたアナログ形式の映像信号が入力される端子である。
【0033】
映像信号A/D回路9は、各カメラ入力端子8からのアナログ形式の映像信号を、デジタル形式の映像データに変換する。映像圧縮回路10は、映像データを映像圧縮してデータ量のより少ない映像圧縮データを生成する。データ転送回路11は、映像圧縮回路から映像圧縮データを受け取り、CPU1の制御により、映像圧縮データを必要とする回路に出力する。HDD12は映像圧縮データを記憶する。映像伸張回路13は、映像圧縮データを伸張して、元のデータ量を有する映像データに復元する。映像信号D/A回路14は、復元されたデジタル形式の映像データを、アナログ形式の映像信号に変換する。映像信号D/A回路14で生成された映像信号は、映像表示装置(図示しない)などと接続される映像信号出力端子15に出力される。
【0034】
使用率計数部16は、ある単位時間あたり内での、CPU1でプログラムが実行されている時間と待ち時間とを計数して、プログラムが実行されている時間の比率をCPU使用率として算出(計数)する。本実施の形態では、CPU1は、使用率計数部16で計数されたCPU使用率が実施しきい値(所定のしきい値)と同じまたはそれより低い場合に、上書き処理(データ化け対策処理)を実行する。一方、CPU1は、使用率計数部16で計数されたCPU使用率が実施しきい値よりも高い場合に、上書き処理(データ化け対策処理)を待機状態にするとともに、他の処理を実行する。
【0035】
図4は、本実施の形態に係る監視記録装置56において、監視カメラの映像データをHDD12に記録する際の動作を示すフローチャートである。次に、この動作を図4に示されるフローチャートに沿って説明する。
【0036】
まず、ステップS11にて監視記録装置56に電源が供給されると、ステップS12にて、CPU1は、フラッシュメモリ2から動作プログラム及び設定情報などのデータ及びアドレスを読み出し、読み出したデータをRAM3に書き込む。
【0037】
RAM3へのデータの書込みが完了すると、ステップS13にて、CPU1はRAM3に記憶された動作プログラムの待機処理を実行して待機状態に移行する。CPU1が待機状態となると、ステップS22〜S28においてデータ化け対策処理を行う。なお、ここでは、まずステップS14〜S21について説明し、ステップS22〜S28で行われるデータ化け対策処理については後述する。
【0038】
本実施の形態では、CPU1は、ステップS14〜S21において記録処理を行う。なお、このような記録処理等を行う場合にも、当該処理の間欠的な合間にデータ化け対策処理を行うことにより、記録処理とデータ化け対策処理とを並行して行うことが可能となっている。
【0039】
次に、ステップS14〜S21で行われる記録処理について説明する。ステップS14にて、CPU1は、起動スイッチ6の入力を受け付けると、RAM3上の動作プログラムの稼動処理を開始する。そして、ステップS15にて、CPU1は、映像信号A/D回路9、映像圧縮回路10、データ転送回路11、映像伸張回路13及び映像信号D/A回路14の設定レジスタをアドレス指定しながら、初期値を順次書き込んで初期設定を行い、停止状態に移行する。停止状態では、記録処理・バックアップ処理・再生処理などの動作モードを実行することが可能であり、同時に複数の動作モードを実行することも可能である。
【0040】
ステップS16にて、CPU1は、記録ボタン7の押下げを受け付けると、ステップS17にて、カメラ入力端子8から入力される監視カメラのアナログ映像信号を、映像信号A/D回路9によりデジタル形式の映像データに変換する。そして、CPU1は、映像データを映像圧縮回路10に入力して映像圧縮することにより、映像圧縮データを生成する。ステップS18にて、CPU1は、映像圧縮データの記録日時情報や、HDD12に書き込むときの書き込みの位置情報、前後データのつながり情報などの管理情報を作成し、RAM3の作業領域に記憶する。
【0041】
ステップS19にて、CPU1は、映像圧縮データ及び管理情報をそれぞれ映像圧縮回路10及びRAM3から読み出し、データ転送回路11を介して、映像圧縮データをHDD12の映像データ領域に記録するとともに、管理情報をHDD12の管理情報領域に記録する。
【0042】
また、同ステップS19にて、CPU1は、映像圧縮回路10からデータ転送回路11に入力する映像圧縮データを映像伸張回路13にも出力する。映像伸張回路13に入力された映像圧縮データは伸張処理されて映像データに復元される。復元された映像データは、CPU1の制御により映像伸張回路13から映像信号D/A回路14に出力され、映像信号D/A回路14によりアナログ形式の映像信号に変換される。映像信号は、映像信号出力端子15に出力された後、外部の表示モニターなどにおいて表示される。これにより、監視カメラの映像は、記録されながら、使用者によって監視される。
【0043】
ステップS19の後、ステップS20にて、CPU1は、記録ボタン7の押下げを受け付けるまで、ステップS17からステップS19の処理を繰り返し、監視カメラの映像とその管理情報をHDD12に記録し続ける。ステップS20にて、CPU1は、記録ボタン7の押下げを受け付けると、ステップS21にて記録を停止して、ステップS16で再び記録ボタン7が押下げられるまで停止状態を継続する。
【0044】
次にデータ化け対策処理について説明する。上述したように、ステップS13にて、CPU1がRAM3上の動作プログラムの待機処理を実行して待機状態に移行すると、フラッシュメモリ2のデータ化け対策処理が開始される。その後、待機状態から、停止状態、記録処理、バックアップ処理及び再生処理などの各動作モードに移行しても、CPU1は、実質的に、これらに並行してデータ化け対策処理を行う。以下、記録処理と並行してデータ化け対策処理を行う動作についてステップS22〜S28に沿って詳細に説明する。
【0045】
まず、ステップS22にて、CPU1は、使用率計数部16で計数(算出)したCPU使用率が、予め設定された実施しきい値(例えば、80%)を超えているか否かを判定する。そして、CPU1は、CPU使用率が実施しきい値以下である場合には、次のステップS23に移行する。一方、CPU1は、CPU使用率が実施しきい値を超えている場合には、当該実施しきい値以下となるまでこのステップの判定を繰り返す。
【0046】
ステップS23にて、CPU1は、記録処理などの他の処理により、データ化け対策処理の実行中にフラッシュメモリ2への読み出しまたは書き込みするのを禁止する排他処理を実施する。これにより、データ化け対策処理の実行中に、他の処理によるフラッシュメモリ2への読み出しまたは書き込みが発生することがなくなることから、データ化け対策処理及び他の処理のそれぞれに予期しない影響が発生することが防止されている。なお、排他処理は、実施後、解除されるまで継続される。
【0047】
ステップS24にて、CPU1は、フラッシュメモリ2のデータ化け対策処理を時間分割して行うべく、フラッシュメモリ2に記憶されたデータの一部分を読み出す。例えば、CPU1は、フラッシュメモリ2の全記憶容量32メガバイトに対して512バイトのデータを読み出す。そして、CPU1は、読み出したデータをRAM3の空き領域に書き込む。それとともに、CPU1は、当該データが読み出されたフラッシュメモリ2上のアドレスをレジスタ4に記憶し、当該データが書き込まれたRAM3上のアドレスをレジスタ5に記憶する。
【0048】
ステップS25にて、CPU1は、実施の形態1のステップS2と同様、RAM3上のアドレスをレジスタ5から読み出し、RAM3上の当該アドレスに書き込まれたデータを読み出す。そして、CPU1は、当該データに対応する元アドレスをレジスタ4から読み出し、当該データをフラッシュメモリ2の当該元アドレスに上書きすることにより、データ化け対策処理を行う。このように、本実施の形態では、フラッシュメモリ2の記憶容量を分割した所定のデータ量(512バイト)単位で、データ化け対策処理(上書き処理)を行う。
【0049】
ステップS26にて、CPU1は、次の512バイトのデータに対して上述と同様のデータ化け対策処理を行う前に、他の処理によるフラッシュメモリ2への読み出しまたは書き込みを許可すべく排他処理を解除する。それと同じタイミングで、ステップS27にて、データ化け対策処理を一定時間、例えば、2秒間停止する。この間に、記録処理などの他の処理が行われる。
【0050】
それから、ステップS28にて、CPU1は、フラッシュメモリ2からデータを読み出すべきアドレスを512バイト進めて、フラッシュメモリ2における別のアドレスのデータに対して、上述と同様のデータ化け対策処理(ステップS22〜S28)を行う。
【0051】
これにより、本実施の形態では、データ化け対策処理(上書き処理)が実行されてから約2秒経過したタイミングで、CPU使用率が実施しきい値(例えば80%)以下の場合には、CPU1は次の512バイトのメモリセルに対してデータ化け対策処理を実行する。一方、そのタイミングで、CPU使用率が実施しきい値を超えている場合には、CPU1は、それ以降、CPU使用率が実施しきい値以下になるまで、データ化け対策処理を待機状態にし、CPU使用率が実施しきい値以下になったタイミングで次の512バイトのメモリセルに対してデータ化け対策処理を実行する。
【0052】
つまり、CPU1は、データ量単位の1単位のデータ化け対策処理(上書き処理)をしてから所定の時間(約2秒)経過した以降に、CPU使用率が実施しきい値以下の場合にのみ、データ量単位の次の1単位のデータ化け対策処理(上書き処理)を実行するものとなっている。したがって、CPU1におけるデータ化け対策処理が、CPU1の使用率が低いときにのみ行われるものとなっている。
【0053】
以上のようなデータ化け対策処理を、フラッシュメモリ2の全記憶容量(例えば、32メガバイト)に対して行うのにかかる時間は、次の式(1)に示されるように、CPU1の使用率が常時80%以下である場合には約1.5日であり、CPU1の使用率が80%を超える場合には当該約1.5日に待機した分(後述する時間α,β)だけ加算された時間となる。そして、フラッシュメモリ2の後尾のアドレスまでデータ化け対策処理を行った場合には、先頭のアドレスから再びアドレス順にデータ化け対策処理を行う。
【0054】
【数1】

【0055】
さて、一般に、監視記録装置は、監視カメラの映像を休み無く24時間365日、常時記録するような運用で使用される場合が多い。そのため、監視記録装置は、常時記録しながら、複数の処理、例えば、HDDが故障しても情報が取得できるように情報を二重化して別のHDDに映像データを記憶するバックアップ処理や、必要な時刻の映像を検索して再生する再生処理が並行して行えるように構成されている。これらの処理が破綻しないで並行して行うことができる最大数(以下、「最大並行処理数」と呼ぶこともある)はCPUの処理能力に依存するが、この最大並行処理数を保ったままデータ化け対策処理を追加して行おうとすると、高い処理能力のCPUが必要となる。しかし、CPUは処理能力が高いほどその価格は高くなる。
【0056】
そこで、図4を用いて説明した本実施の形態に係るCPU1の処理によれば、フラッシュメモリ2のデータ化け対策処理がCPU1の使用率80%以下の場合にのみ実行されるので、CPU1に必要な処理能力が低減可能となっている。つまり、低価格なCPU1を監視記録装置56に使用することが可能となっている。以下、このことについて詳細に説明する前に、対比される処理について説明する。
【0057】
図5は、図4を用いて説明したCPU1の処理と対比される処理を示す図であり、横軸は時間を表す。図5に示されるCPU1の処理は、図4に係るCPU1の処理と、データ化け対策処理の間隔が異なっている。図5の上側に示される例では、記録処理A及びバックアップ処理Bは常時行われており、再生処理Cは、過去の映像確認が必要になって再生操作が行われた場合に開始される。そして、フラッシュメモリ2の全記憶容量(32メガバイト)に対するデータ化け対策処理Dが、短い時間になるべく集中して実施されており、当該実施が一日間隔で繰り返される。なお、一日におけるデータ化け対策処理Dの開始から終了までの処理時間は、記録処理Aなどの他の処理状況によって異なる。
【0058】
図5の下側には、時間軸を拡大した拡大図が示されている。データ化け対策処理Dは、記録処理Aなどの他の処理によるフラッシュメモリ2への書き込み及び読み出しが禁止される排他処理とともに実行される。そして、CPU1は、データ化け対策処理Dを、他の処理と時分割で実行することにより、大きな時間単位で見れば、データ化け対策処理Dを他の処理と並行して行うことができるようになっている。
【0059】
図5の拡大図に示されるように、同図に係るCPU1は、記録処理A1、バックアップ処理B1、再生処理C1、データ化け対策処理D1、記録処理A2、・・・を順次行う。しかし、データ化け対策処理Dが他の処理と同じ割合で行われると、他の処理に破綻が生じる可能性が多少ある。それに対し、図4に係るCPU1では、その可能性が抑制されている。
【0060】
図6は、図4に係るCPU1の処理を、図5と同様の形式で示す図である。図6の上側の図に示される処理においても記録処理A、バックアップ処理B及び再生処理Cが行われている。
【0061】
図6の下側には、時間軸を拡大した拡大図が示されている。図6に係るデータ化け対策処理Dは、図5に係るデータ化け対策処理Dと同様に、記録処理Aなどの他の処理によるフラッシュメモリ2への書き込み及び読み出しが禁止される排他処理とともに実行される。そして、CPU1は、データ化け対策処理Dを、他の処理と時分割で実行することにより、大きな時間単位で見れば、データ化け対策処理Dを他の処理と並行して行うことができるようになっている。
【0062】
ここで、本実施の形態では、データ化け対策処理Dが行われてから約2秒経過したタイミングで、CPU1の使用率が80%以下である場合には、データ化け対策処理Dが、フラッシュメモリ2の全記憶容量(32メガバイト)のうち512バイトに対して実行される。一方、そのタイミングで、CPU使用率が80%を超えている場合には、それ以降、CPU使用率が実施しきい値以下になるまで、データ化け対策処理Dを行わない待機状態となり、CPU使用率が80%以下になった任意のタイミングでデータ化け対策処理が実行される。
【0063】
例えば、図6の下側の図において、データ化け対策処理Dが、D10、D11、D12、D13の順に処理されようとしている。ここで、D10のタイミングではCPU1の使用率が80%以下であるので、データ化け対策処理がそのまま実行される。しかし、D10から約2秒後にあたるD11のタイミングではCPU1の使用率が80%を超えているので、そのタイミングでは実行されず、CPU1の使用率が80%以下となるタイミングまで、データ化け対策処理は待機される。そして、CPU1の使用率が80%以下となるタイミングでデータ化け対策処理D12以降が順に実行されている。
【0064】
このように、この図6に係るデータ化け対策処理Dが、図5に係るデータ化け対策処理Dと異なる点は、データ化け対策処理Dを約2ミリ秒で実行してから約2秒経過した以降に、CPU使用率が実施しきい値(80%)以下になった場合にのみ、次の512バイトのデータに対するデータ化け対策処理Dを実行するが、それ以外の場合には、データ化け対策処理Dを停止する点である。つまり、図6に示される処理においては、図5に示される処理に比べて、データ化け対策処理Dの単位時間当たりの割合が、他の処理(記録処理A、バックアップ処理B、再生処理C)よりも低くなっていることから、他の処理を前倒しで行うことができる。その一方で、CPU1の使用率が80%を超えている場合には、データ化け対策処理Dは行わないので、データ化け対策処理Dを行うことによりCPU1の処理能力を超える状態は生じない。
【0065】
例えば、図5に示される処理では、データ化け対策処理DがD1,D2,D3と三回行われるのに対し、図6に示される処理では、データ化け対策処理DがD11の一回だけ行われる。その結果、図6に示される処理では、図5に示される処理よりも、記録処理A4、バックアップ処理B4、再生処理C4を早いタイミングで行うことができる。したがって、CPU1として処理能力が低いものを用いても、CPU1の処理能力を超えない状態でデータ化け対策処理Dを行うことができる。よって、監視記録装置56のCPU1として低廉なCPUを使用することができる。
【0066】
以上のような本実施の形態に係る監視記録装置56によれば、フラッシュメモリ2にデータを二重化して記憶する代わりに、当該データをRAM3に一時的に記憶することから、データ化け防止専用の記憶容量が不要となる。したがって、記憶容量の小さいフラッシュメモリ2を使用することができる。また、本実施の形態では、同一のデータが同一アドレスに上書きされるため、フラッシュメモリ2に存在するデータを消去する処理を行わずに、RAM3から読み出したデータをフラッシュメモリ2の元アドレスに書き込むことが可能となる。したがって、フラッシュメモリ2のデータ化け対策処理中に停電などが発生しても、データが消失するのを抑制することができ、プログラムに誤りが生じたり、設定を復元できなかったりするのを抑制することができる。また、データ化け対策処理を、記録処理、バックアップ処理、再生処理などの他の処理と並行してもCPU1の使用率に応じてデータ化け対策処理を実行するので、他の処理が遅れたり、装置としての動作が破綻したりするのを抑制することができ、本来の処理を継続することができる。よって、CPU1の処理能力に関して、データ化け対策処理による処理の負担をあまり考慮しなくてよく、低廉なCPUを選択することができる。
【0067】
なお、フラッシュメモリ2の電荷が減少してデータ化けが生じる期間は、フラッシュメモリ2の酸化膜の劣化特性や製造状の欠陥の状態等に起因することから、個々に差異があるものの、数ヶ月以上の期間でデータ化けが発生する場合が多い。したがって、同じアドレスにデータ化け対策処理が行われる時間、つまり全アドレスに対して一通りデータ化け対策処理が行われる時間(以下、「一巡の繰り返し周期」と呼ぶ)は、データ化けが生じる期間(数ヶ月以上)よりも短いことが必要である。また、フラッシュメモリ2の書き換え保証回数に至る期間が、フラッシュメモリ2を搭載する搭載装置の製品寿命(数十年程度)よりも長くなることが望ましい。
【0068】
ここで、図6に示される処理においては、一巡の繰り返し周期は、一度に処理するデータのサイズ、繰り返し間隔、及び、フラッシュメモリ2の全記憶容量のサイズを基本として決まるものとなっている。例えば、一度に処理するデータのサイズ、繰り返し間隔及び全記憶容量のサイズが、それぞれ512バイト、2秒間隔及び32メガバイトである場合には、一巡の繰り返し周期は上述の(式1)で示した約1.5日が基本となる。ただし、この周期は、データ化け対策処理の実施判定をするCPU使用率の設定値、装置のCPU使用率状態に応じて多少変動するものとなっている。
【0069】
つまり、データ化け対策処理を行うときのCPU1の使用率が設定値(実施しきい値)より高い場合には、設定値以下になるまで待機するので、一巡の繰り返し周期は、その待機時間(例えば図6に示される時間α,β)だけ、約1.5日から延長されていく。このように、延長の具合は、データ化け対策処理の実施判定の設定値と装置の実際のCPU使用率とで決まるものとなっている。ここで、例えば、データ化け対策処理が延長となる確率が半分程度となるように、データ化け対策処理の実施判定設定値を選択した場合であっても、一巡の繰返し周期は、せいぜい、上述の(式1)で示した約1.5日のおよそ2倍の約3日程度であり、データ化けが生じる期間(数ヶ月以上)よりも十分短くすることができる。また、書き換え保証回数が10万回である場合に、一巡繰り返し周期が最小の約1.5日とした場合であっても、保証回数に至るまでの期間は約400年であることから、搭載装置の製品寿命(数十年程度)よりも十分長くすることができる。
【0070】
なお、以上の説明では、本実施の形態に係る監視記録装置56は、フラッシュメモリ2を備えるものとした。しかし、これに限ったものではなく、監視記録装置56は、フラッシュメモリ2を含むより広い概念であるEEPROMを備えるものであっても、上述と同じ効果を得ることができる。
【符号の説明】
【0071】
1 CPU、2 フラッシュメモリ、3 RAM、16 使用率計数部、56 監視記録装置、D,D1〜D3,D10〜D13 データ化け対策処理。

【特許請求の範囲】
【請求項1】
中央処理装置と、
前記中央処理装置に接続されたEEPROMと、
前記中央処理装置に接続された一時記憶手段と、
前記中央処理装置の使用率を計数する使用率計数手段と、
を備え、
前記中央処理装置は、前記EEPROMから記憶データを読み出して前記一時記憶手段に記憶した後、再び前記一時記憶手段から前記EEPROMの元アドレスに書き戻す上書き処理を、前記使用率計数手段で計数された使用率が所定のしきい値よりも低い場合に実行し、
前記上書き処理は他の処理による前記EEPROMへの読み書きが禁止される排他処理とともに実行され、
前記中央処理装置は、前記上書き処理を前記他の処理と時分割で実行する、データ記憶装置。
【請求項2】
請求項1に記載のデータ記憶装置であって、
前記中央処理装置は、
前記EEPROMの記憶容量を分割した所定のデータ量単位で前記上書き処理を実行し、前記データ量単位の1単位の前記上書き処理を実行してから所定の時間経過した以降に、前記使用率計数手段で計数された使用率が所定のしきい値よりも低くなった場合に、前記データ量単位の次の1単位の前記上書き処理を実行する、データ記憶装置。
【請求項3】
請求項1または請求項2に記載のデータ記憶装置であって、
前記EEPROMはフラッシュメモリである、データ記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−230581(P2012−230581A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2011−98930(P2011−98930)
【出願日】平成23年4月27日(2011.4.27)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】