(57)【要約】【課題】  揮発性メモリから不揮発性メモリにデータを書き込む際、不揮発性メモリの寿命が低下することなく、信頼性の高いデータ書き込み制御を行う。【解決手段】  情報処理装置１０はデータが一時的に格納されるＲＡＭ１２と、ＲＡＭからデータがバックアップ情報としてコピーされるフラッシュＲＯＭ１３を有しており、ＣＰＵ１１はフラッシュＲＯＭにデータをコピーする際、フラッシュＲＯＭに対してセクタ単位で消去動作を行った後、セクタ単位でデータをフラッシュＲＯＭにコピーする。ＲＡＭは複数のデータ領域に分割され、データ領域の各々はセクタサイズに対応するサイズを有し、ＣＰＵはＲＡＭからフラッシュＲＯＭにデータを書き込む際、データ領域毎にフラッシュＲＯＭのセクタにデータをコピーするとともに、書き込みの都度、書き込み回数を示す書き込み通し番号を付加する。【選択図】      図１
2006018594.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリ領域に分割され、該メモリ領域の各々はセクタのサイズに対応するサイズを有し、情報が一時的に格納される揮発性メモリと、前記揮発性メモリから前記情報がバックアップ情報としてコピーされる不揮発性メモリと、前記揮発性メモリから前記不揮発性メモリに前記情報をバックアップする際、前記不揮発性メモリに対してセクタ単位で消去動作を行った後前記セクタ単位で前記情報を前記不揮発性メモリにコピーするとともに、前記バックアップする毎にバックアップ回数を示す書き込み番号を付加する制御手段とを備えた情報処理装置。
【請求項２】
メモリ領域には当該メモリ領域に格納された情報を管理する制御情報が格納される制御情報領域が規定され、該制御情報に書き込み番号が設定され、
制御手段は揮発性メモリから不揮発性メモリに情報をバックアップする際、前記制御情報を前記不揮発性メモリのセクタにコピーするようにしたことを特徴とする請求項１記載の情報処理装置。
【請求項３】
制御情報には書き込み番号の他に、少なくとも情報を識別する識別符号、前記情報をバックアップする際に必要なセクタの数を表すセクタ数、及び前記制御情報の有効・無効を判定する判定情報が含まれていることを特徴とする請求項２記載の情報処理装置。
【請求項４】
制御手段は、電源がオンされると不揮発性メモリのセクタ毎に書き込み番号を調べて該書き込み番号が最も大きい値のセクタに格納された情報を最新情報として前記不揮発性メモリから揮発性メモリにコピーするようにしたことを特徴とする請求項３記載の情報処理装置。
【請求項５】
制御手段は、揮発性メモリから不揮発性メモリへの情報のバックアップ要求があると、該バックアップ要求された情報の書き込み番号をインクリメントした後、制御情報に応じてセクタの有効無効を判定して前記情報をコピーすべきセクタを書換え可能セクタとして決定するようにしたことを特徴とする請求項３又は請求項４記載の情報処理装置。
【請求項６】
制御手段は、無効であるセクタを書換え可能セクタとして決定するようにしたことを特徴とする請求項５記載の情報処理装置。
【請求項７】
制御手段は、不揮発性メモリにおいて全てのセクタが有効であると、書き込み番号の値が最も小さい制御情報が存在するセクタを書換え可能セクタとして決定するようにしたことを特徴とする請求項５記載の情報処理装置。
【請求項８】
制御手段は、不揮発性メモリにおいて全てのセクタが有効、かつ識別符号により識別される情報が複数種類存在した場合、同一の識別符号をもつ情報が２組以上存在する情報のうちで、書き込み番号の値がもっとも小さい制御情報が存在するセクタを書換え可能セクタとして決定するようにしたことを特徴とする請求項５記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置に関し、特に、所定のデータサイズ単位でデータの消去及び書き込みを行う不揮発性メモリ素子の書き込み制御を行う情報処理装置に関するものである。
【背景技術】
【０００２】
一般に、情報処理装置においては、データ保存のため不揮発性メモリが用いられているが、不揮発性メモリ中のデータを更新する際には、一旦不揮発性メモリ中のデータを消去した後、更新済みデータ（新たなデータ）を不揮発性メモリに書き込む必要がある。例えば、フラッシュＲＯＭでは、所定のデータサイズ単位（例えば、セクタ単位）でデータの消去を行った後、新たなデータをセクタ単位で書き込むようにしている。
【０００３】
ところで、上述のように、不揮発性メモリにデータ書き込みを行う際には、一旦不揮発性メモリ中のデータを消去した後、新たなデータを不揮発性メモリに書き込んでいるため、データ書込み途中で電源が切れると、不揮発性メモリはデータが消去されたままの状態となって、データが消失してしまうことがある。
【０００４】
特に、カーナビゲーション装置等で用いられる車載情報処理装置においては、電源として車載バッテリーが用いられている関係上、その電源電圧が不安定となる電源異常が発生する頻度が通常の商用電源に比べて高く、上記のように、不揮発性メモリ中のデータを更新する際（つまり、データ書き込み中に）、電源異常が発生すると、不揮発性メモリはデータが消去されたままの状態となってしまう。
【０００５】
このような不具合に対処するため、電源断を検知すると、バックアップ電源を用いて、ＲＡＭに格納されたデータを不揮発性メモリであるＥＥＰＲＯＭのバックアップ記憶領域に保持時間内に転送するようにしたものがある（例えば、特許文献１参照）。
【０００６】
さらに、不揮発性メモリであるフラッシュメモリとＲＡＭとを有する情報処理装置において，フラッシュメモリを複数のメモリ領域に区画して、フラッシュメモリの所定のメモリ領域に格納されたデータ及び／またはプログラムを書き換える際、データ及び／またはプログラムを、フラッシュメモリの所定のメモリ領域及び／またはＲＡＭにバックアップコピーした後に、データ及び／またはプログラムを書き換えるようにしたものがある（例えば、特許文献２参照）。
【０００７】
また、電源スイッチのオフが検出されると、ＲＡＭに記憶されているデータを不揮発性メモリに記憶させた後、電源制御部を制御して主電源回路をオフして、電源スイッチのオンを検出すると、初期設定した後に不揮発性メモリに記憶されているデータをＲＡＭの所定の領域に展開して記憶させるようにしたものがある（例えば、特許文献３参照）。
【０００８】
【特許文献１】特開平５−３２４１３８号公報（第２頁〜第３頁、第１図〜第４図）
【特許文献２】特開２０００−９００１１公報（第５頁〜第９頁、第１図〜第７図）
【特許文献３】特開平１０−１２４１９６号公報（第３頁〜第６頁、第１図〜第３図）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、従来の情報処理装置は以上のように構成されているので、電源断検知回路によって電源断があると、バックアップ電源を用いてデータを不揮発性メモリに書き込んで、不揮発性メモリがデータ消去の状態となってしまうことを防止するようにしているものの、新たにバックアップ電源を備えなければならず、コストアップの要因となってしまうという課題があった。
【００１０】
一方、前述のように、不揮発性メモリであるフラッシュＲＯＭでは、所定のデータサイズ単位（例えば、セクタ単位）でデータの消去を行った後、セクタ単位でデータの書き込みを行っているものの、セクタ毎にデータ書換え回数に制限（寿命）があり、例えば、更新の頻度が異なるデータを取り扱う際、セクタ毎に書換え回数に偏りが生じてしまうことがある。その結果、最も更新（書換え）頻度が高いセクタにフラッシュＲＯＭの寿命が依存してしまうということになる。
【００１１】
従って、例えば、車載情報処理装置等のように頻繁に電源がオンオフされるような用途に従来の情報処理装置を用いると、不揮発性メモリであるフラッシュＲＯＭの寿命が短くなってしまうという課題あった。
【００１２】
さらに、従来の情報処理装置では、フラッシュメモリに格納されたデータを書き換える際、データ所定のメモリ領域にバックアップコピーした後に、データを書き換えるようにして、フラッシュメモリが消去された状態となる事態を防止しているものの、データをバックアップする領域を設定しなければならず、しかも、このバックアップ領域は固定的に設定されている関係上、このバックアップ領域へのコピー回数（書き込み回数）が不可避的に多くなってしまい、その結果、不揮発性メモリであるフラッシュメモリの寿命が低下してしまうという課題があった。
【００１３】
この発明は、上記のような課題を解決するためになされたもので、不揮発性メモリの寿命が低下することなく、信頼性の高いデータ書き込み制御を行うことのできる情報処理装置を得ることを目的とする。
【課題を解決するための手段】
【００１４】
この発明に係る情報処理装置は、複数のメモリ領域に分割され、メモリ領域の各々はセクタのサイズに対応するサイズを有し、情報（例えば、データ）が一時的に格納される揮発性メモリと、揮発性メモリから情報がバックアップ情報としてコピーされる不揮発性メモリと、不揮発性メモリに対してセクタ単位で消去動作を行った後、セクタ単位で情報を不揮発性メモリにコピーするとともに、前記バックアップする毎にバックアップ回数を示す書き込み番号を付加する制御手段とを備えたものである。
【発明の効果】
【００１５】
この発明によれば、揮発性メモリを複数のメモリ領域に分割し、メモリ領域の各々を不揮発性メモリのセクタサイズに対応するサイズとし、揮発性メモリから不揮発性メモリに情報をバックアップする際、メモリ領域毎に不揮発性メモリのセクタに情報をコピーするとともに、バックアップする毎にバックアップ回数を示す書き込み番号を付加するように構成したので、不揮発性メモリにバックアップする際（不揮発性メモリへの書き込み制御を行う際）、不揮発性メモリの寿命が低下することなく、しかも書き込み動作中に電源断が発生しても不揮発性メモリ中の情報が消去されてしまう事態を回避して信頼性の高いデータ書き込み制御を行うことができるという効果がある。
【発明を実施するための最良の形態】
【００１６】
実施の形態１．
図１は、この発明の実施の形態１に係る情報処理装置の構成を示すブロック図であり、図示の情報処理装置１０は、中央処理装置（ＣＰＵ：制御手段）１１、及び揮発性メモリであるＲＡＭ１２、不揮発性メモリであるフラッシュＲＯＭ１３を備え、ＣＰＵ１１、ＲＡＭ１２、及びフラッシュＲＯＭ１３は内部バス１４によって相互に接続されている。さらに、図示の例では、情報処理装置１０はインタフェース１５によって外部装置１６に接続されており、外部装置１６によってＲＡＭ１２がアクセスされて、データの書き込み読み出しが行われる。
【００１７】
図示の情報処理装置１０では、フラッシュＲＯＭ１３に格納されたデータ（情報）を更新する際には、つまり、ＲＡＭ１２に記憶されたデータでフラッシュＲＯＭに格納されたデータを更新する際には、後述するようにして、ＣＰＵ１１は一旦フラッシュＲＯＭ１３に格納されたデータを消去した後、ＲＡＭ１２からデータをフラッシュＲＯＭ１３に書き込んでフラッシュＲＯＭ１３の更新を行う。
【００１８】
図２を参照すると、ＲＡＭ１２は複数のデータ領域（メモリ領域）１２−１〜１２−ｎ（ｎは２以上の整数）に分割されており（図２においては、ｎ＝３の例が示されている）、データ領域１２−１〜１２−３にはデータがバックアップ対象データとして格納される。そして、これらデータ領域１２−１〜１２−３は後述するフラッシュＲＯＭ１３のセクタサイズに等しい。図示の例では、データ領域１２−１にデータＤ１が存在し、データ領域１２−２及び１２−３にデータＤ２が存在している。つまり、データＤ２は一つのデータ領域よりもそのサイズが大きい。
【００１９】
さらに、ＲＡＭ１２には書き込み通し番号１２ａが格納されており、この書き込み通し番号１２ａはＲＡＭ１２に格納されたデータＤ１〜Ｄ３のいずれかをフラッシュＲＯＭ１３に書き込む際、インクリメントされる（つまり、＋１される）。そして、この書き込み通し番号１２ａは情報処理装置１０が起動（オン）された際、ＣＰＵ１１によって後述するようにして初期化される。
【００２０】
図２に示すように、データ領域１２−１〜１２−３にはそれぞれ管理情報領域１２ｂ〜１２ｄが存在し、各管理情報領域１２ｂ〜１２ｄは管理情報１７が格納され、管理情報１７はデータ識別符号（データＩＤ）２１ａ、データ分割番号２１ｂ、データを構成するセクタ数２１ｃ、書き込み通し番号（書き込み番号）２１ｄ、チェックコード２１ｅ、及び識別子２１ｆを有している。
【００２１】
データＩＤ２１ａはバックアップ対象データを一意に識別するための値であり、例えば、データ領域１２−１に存在するデータＤ１に対しては”０１”か゛割り当てられ、データ領域１２−２及び１２−３に存在するデータＤ２に対しては”０２”が割り当てられる。データ分割番号２１ｂは、バックアップ対象データに対して１セクタで書き込み可能なサイズ毎に割り振った値であり、図示の例では、データＤ１が存在するデータ領域１２−１に対しては、”００”が割り振られ、データＤ２が存在するデータ領域１２−２及び１２−３に対してはそれぞれ”００”及び”０１”が割り振られる。
【００２２】
また、データを構成するセクタ数２１ｃは、バックアップ対象データを記録するために必要なセクタ数を表し、図示の例では、データ領域１２−１上のデータＤ１については、セクタ数は”０１”であり、データ領域１２−２及び１２−３上のデータＤ２については、セクタ数は”０２”となる。書き込み通し番号２１ｄは、バックアップ対象データをフラッシュＲＯＭ１３に書き込む際、ＲＡＭ１２上の書き込み通し番号１２ａをインクリメントした後、コピーされて書き込み通し番号２１ｄとなる。
【００２３】
なお、複数のデータ領域上に存在するデータについては、管理情報が複数存在することになるが、各管理情報中の書き込み通し番号２１ｄについては、データをバックアップ対象データとしてフラッシュＲＯＭ１３に書き込む動作の際に同一の値が設定されることになる（つまり、書き込み通し番号２１ｄはフラッシュＲＯＭ１３へのセクタ単位の書き込みではなく、データ単位の書き込み回数を示すことになる）。
【００２４】
チェックコード２１ｅは、チェックコード自体を除く他の管理情報中のデータから導出される値であり、管理情報が正しく設定されているか否かを判定する際に用いられる。例えば、サムチェックコードがチェックコードとして用いられる。識別子２１ｆは所定の固有値であり、管理情報が正常に設定されているか否かを確認するためのものである。つまり、識別子２１ｆは管理情報が設定されているか否かを表す必要条件である。
【００２５】
図３を参照すると、フラッシュＲＯＭ１３はセクタ１３−１〜１３−ｍ（ｍは２以上の整数）に分割されており（図３においては、ｍ＝５の例が示されている）、セクタ１３−１〜１３−５にはＲＡＭ１２からのデータがバックアップデータとして格納される。セクタ１３−１〜１３−５にはそれぞれ管理情報領域１３ａ〜１３ｅが存在し、各管理情報領域１３ａ〜１３ｅは管理情報１８が格納され、管理情報１８は、データＩＤ２２ａ、データ分割番号２２ｂ、データを構成するセクタ数２２ｃ、書き込み通し番号２２ｄ、チェックコード２２ｅ、及び識別子２２ｆを有している。
【００２６】
これらデータＩＤ２２ａ、データ分割番号２２ｂ、データを構成するセクタ数２２ｃ、書き込み通し番号２２ｄ、チェックコード２２ｅ、及び識別子２２ｆは前述のデータＩＤ２１ａ、データ分割番号２１ｂ、データを構成するセクタ数２１ｃ、書き込み通し番号２１ｄ、チェックコード２１ｅ、及び識別子２１ｆに対応している。
【００２７】
つまり、ＲＡＭ１２からデータＤ１及び／又はＤ２をフラッシュＲＡＭ１３に書き込む際には、管理情報を含めてデータＤ１及び／又はＤ２がフラッシュＲＯＭ１３に書き込まれることになる。例えば、データ領域１２−１上のデータＤ１をフラッシュＲＯＭ１３のセクタ１３−１に書き込む際には、データ領域１２−１中の管理情報はセクタ１３−１内の管理情報領域１３ａにコピーされることになる。
【００２８】
この結果、フラッシュＲＯＭ１３上に存在する管理情報１８中の書き込み通し番号２２ｄが互いに等しいセクタの数と、管理情報１８中のセクタ数２２ｃとが等しいと、管理情報１８中のデータＩＤ２２ａで規定されるデータに欠落がないことになる。
【００２９】
次に動作について説明する。
図１〜図４を参照して、情報処理装置１０が起動されると、ＣＰＵ１１ではまず、フラッシュＲＯＭ１３上に存在する管理情報１８の全てを読み込んで、その有効・無効を判定する。有効・無効の判定に当っては、ＣＰＵ１１は各管理情報１８中の識別子２２ｆ及びチェックコード２２ｅを用いて各管理情報１８の有効・無効を判定することになる。そして、ＣＰＵ１１は、有効と判定した管理情報１８の内でその値が最も大きい書き込み通し番号２２ｄを求めて（ステップＳＴ１）、その書き込み番号の値をＲＡＭ１２上の書き込み通し番号１２ａに設定する。
【００３０】
次に、ＲＡＭ１２は揮発性メモリであるから、ＣＰＵ１１はフラッシュＲＯＭ１３上の最新データをＲＡＭ１２に転送コピーする（ステップＳＴ２）。この際には、前述の有効と判定された管理情報１８を備え、かつ前述の判定方法により欠落がないと判定されたデータの内書き込み通し番号２２ｄの値が最も大きいデータを最新データとしてＲＡＭ１２にコピーすることになる。
【００３１】
上述のようしてＲＡＭ１２に最新データをコピーした後、この最新データを用いてＣＰＵ１１は各種情報処理を行い、その結果がバックアップ対象データとしてＲＡＭ１２に格納されることになる。つまり、アプリケーションソフトウェア又は外部装置１６によってＲＡＭ１２がアクセスされて、ＲＡＭ１２上の最新データが更新されることになり、この更新済みデータはバックアップ対象データとなる。
【００３２】
ＣＰＵ１１ではフラッシュＲＯＭ１３への書き込み要求が発生したか否かを監視しており（ステップＳＴ３）、書き込み要求が発生すると、ＣＰＵ１１ではＲＡＭ１２上の書き込み通し番号１２ａの値を＋１する（ステップＳＴ４）。なお、上記の書き込み要求はアプリケーションソフトウェア又は外部装置１６からの書き込み要求であり、さらには、電源断等のハードウェアに起因するイベントである。
【００３３】
続いて、ＣＰＵ１１では、フラッシュＲＯＭ１３上の書換え可能なセクタを選択するため、無効な管理情報１８が存在するセクタがあるか否かを調べて（フラッシュＲＯＭ管理情報異常セクタあり：ステップＳＴ５）、無効な管理情報１８が存在するセクタがないと（つまり、全ての管理情報１８が有効であると）、前述の判定方法によりデータに欠落があると判定されるセクタ（つまり、管理情報１８中の書き込み通し番号２２ｄが互いに等しいセクタの数と、管理情報１８中のセクタ数２２ｃとが等しくない管理情報１８を有するセクタ）があるか否か調べる（ステップＳＴ６）。
【００３４】
ステップＳＴ６において、データに欠落があると判定されるセクタが存在しない場合、ＣＰＵ１１では、フラッシュＲＯＭ１３内の管理情報１８の全てを調べて、同じデータＩＤ２２ａかつ書き込み通し番号２２ｄが異なる管理情報１８を持つセクタの内で（つまり、フラッシュＲＯＭ１３に２組以上存在するデータの内で）、書き込み通し番号２２ｄの値が最小である管理情報が存在するセクタを書換え可能セクタとして選択する（ステップＳＴ７）。
【００３５】
続いて、ＣＰＵ１１では、ＲＡＭ１２上に存在する書き込み通し番号１２ａの値を、書き込み要求があったバックアップ対象データが格納されたデータ領域中の管理情報１７の書き込み通し番号２１ｄに設定する（ステップＳＴ８）。その後、ＣＰＵ１１では当該バックアップ対象データを管理情報とともにフラッシュＲＯＭ１３中の書換え可能セクタに書き込み（ステップＳＴ９）、書き込み要求のあったバックアップ対象データの全てがフラッシュＲＯＭ１３に書き込まれたか否かを判定して（フラッシュＲＯＭに書き込んでいないデータあり：ステップＳＴ１０）、全てが書き込まれていると、ＣＰＵ１１はステップＳＴ３に戻る。
【００３６】
一方、書き込み要求のあったバックアップ対象データが全て書き込まれていないと、さらにセクタが必要あるとして、ＣＰＵ１１はステップＳＴ５に戻ることになる。なお、ステップＳＴ５において、無効な管理情報が存在するセクタがあると、ＣＰＵ１１は当該セクタを書換え可能セクタとして、ステップＳＴ８に進むことになる。同様にして、ステップＳＴ６において、データが欠落した管理情報が存在するセクタがあると、ＣＰＵ１１は当該セクタを書換え可能なセクタとして、ステップＳＴ８に進むことになる。
【００３７】
いま、フラッシュＲＯＭ１３に存在する全ての管理情報１８に有効なデータが存在しないものとし、ＲＡＭ１２上のバックアップ対象データをフラッシュＲＯＭ１３に書き込む書き込み要求が複数回発生したとする。まず、ＲＡＭ１２上のバックアップ対象データＤ２をフラッシュＲＯＭ１３に書き込む書き込み要求が発生したとする。
【００３８】
前述したように、ＣＰＵ１１は書き込み通し番号１２ａの値に応じてデータ領域１２−２及び１２−３に存在する管理情報１８の書き込み通し番号２１ｄをそれぞれ更新して、データ領域１２−２上のバックアップ対象データＤ２をフラッシュＲＯＭ１３上のセクタ１３−１にコピーし、データ領域１２−３上のバックアップ対象データＤ２をセクタ１３−２にコピーすることになる。
【００３９】
続いて、ＲＡＭ１２上のバックアップ対象データＤ１をフラッシュＲＯＭ１３に書き込む書き込み要求が発生したとすると、前述したように、ＣＰＵ１１は書き込み通し番号１２ａの値に応じてデータ領域１２−１に存在する管理情報１８の書き込み通し番号２１ｄをそれぞれ更新して、データ領域１２−１上のバックアップ対象データＤ１をフラッシュＲＯＭ１３上のセクタ１３−３にコピーする。
【００４０】
その後、ＲＡＭ１２上のバックアップ対象データＤ１をフラッシュＲＯＭ１３に書き込む書き込み要求が再び発生したとすると、ＣＰＵ１１は書き込み通し番号１２ａの値に応じてデータ領域１２−１に存在する管理情報１８の書き込み通し番号２１ｄをそれぞれ更新して、データ領域１２−１上のバックアップ対象データＤ１をフラッシュＲＯＭ１３上のセクタ１３−４にコピーする。
【００４１】
さらに、ＲＡＭ１２上のバックアップ対象データＤ２をフラッシュＲＯＭ１３に書き込む書き込み要求が発生すると、ＣＰＵ１１は書き込み通し番号１２ａの値に応じてデータ領域１２−２及び１２−３に存在する管理情報１８の書き込み通し番号２１ｄをそれぞれ更新して、データ領域１２−２上のバックアップ対象データＤ２をフラッシュＲＯＭ１３上のセクタ１３−５にコピーし、データ領域１２−３上のバックアップ対象データＤ２をセクタ１３−３にコピーすることになる。
【００４２】
この際には、フラッシュＲＯＭ１３上の最も古いデータ、つまり、書き込み通し番号２２ｄの値が最も小さいデータは、セクタ１３−１及び１３−２に存在するバックアップ対象データＤ２であるが、フラッシュＲＯＭ１３上に存在するバックアップ対象データＤ１は一つしか存在しないため、ＣＰＵ１１では、次に値の小さい書き込み通し番号２２ｄを有するバックアップ対象データＤ１（つまり、セクタ１２−３に存在するバックアップ対象データＤ１）を消去して、セクタ１２−３にデータ領域１２−３上のバックアップ対象データＤ２をコピーすることになる。
【００４３】
上述のようにして、フラッシュＲＯＭ１３にＲＡＭ１２からバックアップ対象データを書き込む際、少なくとも一回前の書き込み要求に応じて書き込んだバックアップ対象データがフラッシュＲＯＭ１３上に存在することになって、しかもＲＡＭ１２からフラッシュＲＯＭ１３にバックアップされたデータは特定のセクタにのみ存在することはない。
【００４４】
従って、フラッシュＲＯＭ１３へのデータ書き込み中に電源断が発生しても、全てのデータが消失してしまうという事態を防止できるばかりでなく、バックアップ対象データに応じてフラッシュＲＯＭ１３への書き込み要求に頻度の差があっても、特定のセクタに書き込みが集中することがなく、フラッシュＲＯＭの寿命が低下することがない。
【００４５】
特に、車載情報処理装置のように、車載バッテリーを電源として用いる情報処理装置においては、車載情報処理装置等のように頻繁に電源がオンオフされても、特定のセクタに書き込みが集中することがないから、フラッシュＲＯＭの寿命が低下することがない。
【００４６】
さらに、電源断に備えて、フラッシュＲＯＭ１３にバックアップ対象データを二組書き込む場合と比べ（例えば、データ領域１２−１上のバックアップ対象データＤ１をフラッシュＲＯＭ１３のセクタ１３−１及び１３−２に交代で書き込む場合と比べ）、フラッシュＲＯＭ１３のセクタ数を少なくできる。
【００４７】
以上のように、この実施の形態１によれば、揮発性メモリを複数のデータ領域に分割して、各メモリ領域がセクタサイズに対応するサイズを有し、揮発性メモリから不揮発性メモリにデータを書き込む際（バックアップする際）、メモリ領域毎に不揮発性メモリのセクタにデータをコピーするとともに、書き込む毎に書き込み回数を示す書き込み番号を付加するように構成したので、不揮発性メモリへの書き込み制御を行う際、電源断が発生しても不揮発性メモリ中の情報が消去されてしまう事態を回避して信頼性の高いデータ書き込み制御を行うことができるという効果がある。
【００４８】
この実施の形態１によれば、データ領域に、当該メモリ領域に格納されたデータを管理する制御情報が格納される制御情報領域を規定して、この制御情報に書き込み番号が設定されて、揮発性メモリから不揮発性メモリに情報を書き込む際、制御情報を不揮発性メモリのセクタにコピーするように構成したので、データ領域上のデータと制御情報とを容易に対応付けることができるという効果がある。
【００４９】
この実施の形態１によれば、制御情報には書き込み番号の他に少なくともデータを識別する識別符号、データを書き込む際に必要なセクタの数を表すセクタ数、及び制御情報の有効・無効を判定する判定情報が含まれているので、不揮発性メモリに書き込まれたデータの管理を容易に行えるという効果がある。
【００５０】
この実施の形態１によれば、電源がオンされると不揮発性メモリのセクタ毎に書き込み番号を調べて書き込み番号が最も大きい値のセクタに格納されたデータを最新データとして不揮発性メモリから揮発性メモリにコピーするように構成したので、電源オンの際には、書き込み番号に基づいて容易に最新のデータを揮発性メモリにコピーすることができるという効果がある。
【００５１】
この実施の形態１によれば、揮発性メモリから不揮発性メモリへの情報の書き込み要求要求があると、書き込み要求されたデータの書き込み番号をインクリメントした後、制御情報に応じてセクタの有効無効を判定してデータをコピーすべきセクタを書換え可能セクタとして決定するように構成したので、不揮発性メモリ上で常に最新のデータを書き込み番号から求めることができるという効果がある。
【００５２】
この実施の形態１によれば、無効であるセクタを書換え可能セクタとして決定するようにしたので、書き込みに当って有効なデータが消去されてしまうことがなく、書き込み動作中に電源断が発生しても、不揮発性メモリには常に有効なデータが残るという効果がある。
【００５３】
この実施の形態１によれば、書き込み番号の値が最も小さい制御情報が存在するセクタを書換え可能セクタとして決定するようにしたので、書き込みの際、最も古いデータが消去されることになって、書き込み動作中に電源断が発生しても、不揮発性メモリには常に最新のデータの前のデータが残るという効果がある。
【図面の簡単な説明】
【００５４】
【図１】この発明の実施の形態１による情報処理装置の構成を示すブロック図である。
【図２】図１に示すＲＡＭに設定されるデータ領域及び制御情報領域を説明するための図である。
【図３】図１に示すフラッシュＲＯＭに設定されるセクタ及び制御情報領域を説明するための図である。
【図４】図１に示す情報処理装置におけるフラッシュＲＯＭへのデータ書き込み制御を説明するためのフローチャートである。
【符号の説明】
【００５５】
１０  情報処理装置、１１  中央処理装置（ＣＰＵ）、１２  ＲＡＭ、１２−１〜１２−ｎ  データ領域（メモリ領域）、１２ａ  書き込み通し番号、１２ｂ〜１２ｄ  管理情報領域、１３  フラッシュＲＯＭ、１３−１〜１３−ｍ  セクタ、１３ａ〜１３ｅ  管理情報領域、１４  内部バス、１５  インタフェース、１６  外部装置、１７，１８  管理情報、２１ａ，２２ａ  データ識別符号（データＩＤ）、２１ｂ，２２ｂ  データ分割番号、２１ｃ，２２ｃ  セクタ数、２１ｄ，２２ｄ  書き込み通し番号、２１ｅ，２２ｅ  チェックコード、２１ｆ，２２ｆ  識別子。
【図１】
2006018594.tif 000003
【図２】
2006018594.tif 000004
【図３】
2006018594.tif 000005
【図４】
2006018594.tif 000006