(57)【特許請求の範囲】
【請求項１】
メモリへの書き込みをする最大書き込み回数をＮｍａｘと定めたＥＥＰＲＯＭへの記録方法であって、ＥＥＰＲＯＭの物理メモリ空間を書き込みが同時に行える単位である複数のエリアに予め区分し、前記エリア内のメモリに書き込みを行った際に該エリアへの書き込み回数Ｎを特定する書き込み回数情報を該エリア内の第一の特定番地のメモリに同時に書き込み、前記エリア内のメモリに書き込みを行う際に該エリア内の前記第一の特定番地の前記書き込み回数情報から得られる前記書き込み回数ＮがＮｍａｘ以上である場合には未だ書き込みが行われていない他の前記エリア内のメモリに書き込みをし、
前記エリアの第三の特定番地に該エリアに書き込みを行った最新の日付を特定する日付情報を書き込み、その日付情報を用いて過去と同頻度で書き込みをおこなった場合にすべてのエリアの前記書き込み回数Ｎが最大書き込み回数Ｎｍａｘ以上になりうる日付を予測する、ことを特徴とするＥＥＰＲＯＭへの記録方法。
【請求項２】
前記エリアのメモリ空間と同一又は小さいメモリ空間を有する仮想メモリ空間であるページを定義し、各々の前記ページには前記エリアが割り付けられており、前記ページへのデータの書き込みが発生した際に前記ページに割り付けられた前記エリア内のメモリに書き込みを行う、ことを特徴とする請求項１に記載のＥＥＰＲＯＭへの記録方法。
【請求項３】
一つのページが該ページへのデータを書き込んだ最新のエリアと一対一に関連づけられている管理テーブルを用意し、前記ページへのデータの書き込みが発生した際に前記管理テーブルを参照して該ページに関連づけられた前記エリア内のメモリに書き込みを行う、ことを特徴とする請求項２に記載のＥＥＰＲＯＭへの記録方法。
【請求項４】
前記エリアの第二の特定番地に該エリアが割り付けられたページを識別するページ識別コードを書き込むことを特徴とする請求項２又は請求項３の一つに記載のＥＥＰＲＯＭへの記録方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＥＥＰＲＯＭへの記録方法に係る。特に書き込み回数に仕様上の回数の制限があるというＥＥＰＲＯＭの性質を考慮した点に特徴の有るＥＥＰＲＯＭへの記録方法に関する。
【０００２】
【従来の技術】
ＥＥＰＲＯＭ（Erectrically Erazable and Programmable Read Only Memory）は電気的に消去と書き込みが可能な読み取り専用記憶素子である。特別な消去装置が不要であり、システムに組み込んだまま消去、再書き込みができる。プログラムの格納の他に、システムのＢＩＯＳやブートストラップコードを格納するだけでなく、ユーザーの環境ごとに異なるような設定項目のデータを格納するためにも用いられる。
【０００３】
さらに、軽量小型であり、ハードディスクの様な機構部分を持たず振動に強い特性を生かして、運動する装置であって特に軽量小型を要求される航空機等のデータ格納にも用いられる。
その記録方法として以下の方法が有る。
（１）通常のメモリ（ＲＡＭ）と同様に、ＥＥＰＲＯＭの物理的メモリ空間に各変数を割り当てて、データを格納する。
（２）ＥＥＰＲＯＭの物理的メモリ空間を複数の記憶領域に分け、ヘッダー情報に基づき記憶領域を選択し、データを格納する。
【０００４】
【発明が解決しようとする課題】
上述のＥＥＰＲＯＭへの記録方法の場合、
（１）では、ＥＥＰＲＯＭの物理的メモリ空間の一部領域しか利用できない。
（２）では、ＥＥＰＲＯＭの物理的メモリ空間の全領域を利用することができるが、ＥＥＰＲＯＭの書き込み回数の仕様上の制限回数まであとどのくらいの余裕があるかが分からず、書き込み制限回数を超えて書き込んだ結果、データを失う恐れが有る。
【０００５】
本発明は以上に述べた問題点に鑑み案出されたもので、従来のＥＥＰＲＯＭへの記録方法にかわって、ＥＥＰＲＯＭの書き込み回数制限を越えることなく書き込みを行い、ＥＥＰＲＯＭの物理的メモリ空間を有効に使いきることの出来るＥＥＰＲＯＭへの記録方法を提供しようとする。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るメモリへの書き込みをする最大書き込み回数をＮｍａｘと定めたＥＥＰＲＯＭへの記録方法は、ＥＥＰＲＯＭの物理メモリ空間を書き込みが同時に行える単位である複数のエリアに予め区分し、前記エリア内のメモリに書き込みを行った際に該エリアへの書き込み回数Ｎを特定する書き込み回数情報を該エリア内の第一の特定番地のメモリに同時に書き込み、前記エリア内のメモリに書き込みを行う際に該エリア内の前記第一の特定番地の前記書き込み回数情報から得られる前記書き込み回数ＮがＮｍａｘ以上である場合には未だ書き込みが行われていない他の前記エリア内のメモリに書き込みをし、前記エリアの第三の特定番地に該エリアに書き込みを行った最新の日付を特定する日付情報を書き込み、その日付情報を用いて過去と同頻度で書き込みをおこなった場合にすべてのエリアの前記書き込み回数Ｎが最大書き込み回数Ｎｍａｘ以上になりうる日付を予測するものとした。上記本発明の構成により、前記エリアの第三の特定番地から最新の日付情報を得て、その日付情報を用いて過去と同頻度で書き込みをおこなった場合にすべてのエリアの前記書き込み回数Ｎが最大書き込み回数Ｎｍａｘに近づくかＮｍａｘを越える日付を予測するので、ＥＥＰＲＯＭが使用不能になる日付が概略判断できる。
また、前記エリアのメモリ空間と同一又は小さいメモリ空間を有する仮想メモリ空間であるページを定義し、各々の前記ページには前記エリアが割り付けられており、前記ページへのデータの書き込みが発生した際に前記ページに割り付けられた前記エリア内のメモリに書き込みを行うものとした。
また、一つのページが該ページへのデータを書き込んだ最新のエリアと一対一に関連づけられている管理テーブルを用意し、前記ページへのデータの書き込みが発生した際に前記管理テーブルを参照して該ページに関連づけられた前記エリア内のメモリに書き込みを行うものとした。
前記エリアの第二の特定番地に該エリアが割り付けられたページを識別するページ識別コードを書き込むものとした。
【００１２】
【発明の実施の形態】
以下、本発明の好ましい実施形態を、図面を参照して説明する。なお、各図において、共通する部分には同一の符号を付し、重複した説明を省略する。
【００１３】
本発明の実施形態に係るＥＥＰＲＯＭへの記録方法を説明する。図１は、本発明の実施形態の概念図である。
【００１４】
最初に、本発明の実施形態に係るＥＥＰＲＯＭへの記録方法を実施する装置を説明する。図４は、本発明の実施形態を実施する装置の概念図である。
装置１は、ＣＰＵ２とプログラム３とＲＡＭ４とＥＥＰＲＯＭ５とＩ／Ｏ６とを備える。
ＣＰＵ２は、プログラム３に従って計測を行い、計測データをＲＡＭ４に一時保管した後、ＥＥＰＲＯＭ５へ記録する。
プログラム３は、計測とデータ保存の手順をあらわしたソフトウェアである。プログラム３は、データ計測ルーチンとデータ格納ルーチンとを有する。
ＲＡＭ４は、計測をしたデータを一時保管するランダムアクセスメモリである。
ＥＥＰＲＯＭ５は、計測したデータを保管する電気的書き換え可能なリードオンリーメモリーである。
Ｉ／Ｏ６は、センサ７とつながり、所望の計測データを取り込む。
【００１５】
図１は、本発明の実施形態のメモリ空間図である。
メモリ空間には、ページ空間１００とデータ記録空間３００と管理テーブル２００とを備える。
ページ空間１００は仮想のメモリ空間であり、プログラム３のデータ計測ルーチンはこのページ空間１００に対して書き込み、読み込みを行う。ページ空間１００は、複数のページ１０１，１０２・・をもち、個々のページ１０１，１０２・・は一意の識別コードを持つ。ここでは、説明の便宜のために、識別コードをページ１、ページ２、・・・・とする。各ページ１０１，１０２・・は、計測の都合に適合したデータ数を格納できるだけの空間を有する。
データ計測ルーチンが、特定のページ１０１，１０２・・に対して書き込み命令または読み込み命令を行うと、データ格納ルーチンが管理テーブル２００により参照されたデータ記録空間２００へ書き込みまたは読み込みを行う。
【００１６】
データ記録空間３００は、ＥＥＰＲＯＭ５の物理メモリー空間に設けられる。データ記録空間３００は、複数のエリア３１０，３２０・・で構成される。ここで、エリア３１０，３２０・・とは、ＥＥＰＲＯＭ５の物理メモリ空間に書き込みが同時に行える単位である。エリアは、ＥＥＰＲＯＭ５の物理メモリ空間を同時に書き込みが行える最小単位でもよいし、最小単位の複数の組み合わせでもよい。各エリア３１０，３２０・・は一意の識別コードを持つ。ここでは、説明の便宜のために、エリア０、エリア１、・・・とする。
各々エリア３１０，３２０・・は、一つの管理領域とデータ領域とを備える。
管理領域は、後述するＥＥＰＲＯＭ５への記録方法を実施するための管理データを保存する領域であり、ページ番号を保存する領域３１１（以下、ページ番号領域３１１と呼ぶ。）と書き込み回数を保存する領域３１２（以下、書き込み回数領域３１２という。）と日付情報を保存する領域３１３（以下、日付領域３１３という。）とを有する。
データ領域３１４・・は、計測されたデータを格納するメモリー領域である。
【００１７】
ページ番号領域３１１は、そのエリア３１０に割り付けられたページ番号を格納するメモリ空間である（第二の特定番地の領域に相当する）。初期値はＮＵＬＬであって、所定の手続きでそのエリアが特定のページに割り付けられた時に、その直後に行われるエリア内のメモリへの書き込み処理ルーチンの中で、割り付けられたページ番号を書き込まれる。
書き込み回数領域３１２は、そのエリア内のメモリに書き込み処理が発生した回数を格納するメモリ空間である（第一の特定番地の領域に相当する）。初期値はＮＵＬＬであって、そのエリア内のメモリ番地に書き込み処理が発生した際に、その書き込み処理ルーチンの中で、例えば、書き込み回数領域に格納されたコードをインクリメントして書き込みを行われる。
日付領域３１３は、そのエリア内のメモリ番地に書き込み処理が発生した最新の日の日付を格納する空間である（第三の特定番地の領域に相当する）。初期値はＮＵＬＬであって、書き込み回数領域に書き込みが発生した同一書き込み処理ルーチン内で、ＣＰＵの内部タイマーのもつ日付を書き込まれる。
ここで、ＮＵＬＬはシステムが定める特定のコードであり、例えば、「ＦＦＦＦ」である。
【００１８】
管理テーブル２００は、ＲＡＭ４のメモリ空間に置かれる。場合によっては、前述のＥＥＰＲＯＭ５の物理メモリー空間に設けてもよい。
管理テーブル２００は、各ページ１０１，１０２・・に割り付けられたエリア３１０，３２０・・を参照するためのルックアップテーブルである。例えば、特定のＲＡＭ番地を先頭にして、ページの識別コードの昇順に、各ページに割り付けられたエリアの識別コードが並べられる。
各ページには、所定の手続きでエリアが割り付けられる。
【００１９】
次に、本発明の実施形態に係るＥＥＰＲＯＭへの記録方法を実施するメモリ格納ルーチンを説明する。図３は、本発明の実施形態のフローチャート図である。図２は、本発明の実施形態のメモリの状態の遷移図である。
メモリ格納ルーチンは、書き込みルーチンＳ１０と読み込みルーチンＳ２０とメモリフル日付予測ルーチンＳ３０とを有する。
【００２０】
書き込みルーチンＳ１０をフローに従って、説明する。
仮想メモリ空間８の中の希望のページへの書き込み命令が発生すると、書き込みルーチンＳ１０が起動する。以下、説明の便宜のためにページ２に書き込み命令が発生したとして説明する。
＜Ｓ１１：ページ指定＞
書き込みを要求されたページのコードである「ページ２」を確認する。
＜Ｓ１２：エリア検索＞
管理テーブル２００を参照し、「ページ２」を割り付けられているエリアを確認する。例えば、「ページ２」には、「エリア１」が割り付けられている。
＜Ｓ１３：エリア書き込み＞
「エリア１」のデータ領域にデータを書き込む。
＜Ｓ１４：書き込み回数をインクリメント＞
「エリア１」の書き込み回数領域に格納されている数に１を加算した値を新たな数として、書き込み回数領域に格納する。
【００２１】
＜Ｓ１５：Ｎｍａｘか？＞書き込み回数領域に書き込んだ数がＮｍａｘに達したか否かを確認する。達していなかったら、書き込みルーチンを終了する。ここで、Ｎｍａｘは、ＥＥＰＲＯＭの仕様上の書き込み保証回数を基に定められる数であり、例えば、書き込み保証回数＝１０万回に対して、Ｎｍａｘ＝５万回である。達していたら、次へ進む。
＜Ｓ１６：新たなエリアを割当＞所定の手続きに従い、「ページ２」に今だ割当られたことのないエリアを割り当てる。例えば、「エリア４３」を割り当てる。「エリア４３」のページ番号領域と書き込み回数領域に格納されたコードがＮＵＬＬとなっている。「エリア４３」のページ番号領域に「ページ２」を書き込み、書き込み回数領域に「１」を書き込み、日付領域にタイマーの日付を書き込む。
＜Ｓ１７：新たなエリアへデータ転送＞エリアのデータ領域に格納されている全てのデータを新たなエリアのデータ領域に転送する。
＜Ｓ１８：管理テーブルを更新＞管理テーブル１００のページのエリア番号の格納されるエリア番号を新たなエリア番号に変更する。例えば、「ページ２のエリア番号」にエリア番号「エリア４３」を格納する。
【００２２】
次に、読み込みルーチンＳ２０をフローに従って、説明する。
仮想メモリ空間８の中の希望のページの読み取り命令が発生すると、読み込みルーチンＳ２０が起動する。以下、説明の便宜のためにページ２に書き込み命令が発生したとして説明する。
＜Ｓ２１：ページ指定＞
読み込みを要求されたページのコードである「ページ２」を確認する。
＜Ｓ２２：エリア検索＞
管理テーブル２００を参照し、「ページ２」を割り付けられているエリアを確認する。例えば、「ページ２」には、「エリア４３」が割り付けられていたとして、以下の説明をする。
＜Ｓ２３：エリア読み取り＞
割り付けられたエリアからデータを読み取る。例えば、「エリア４３」でデータ領域から所望のデータを読み込む。
【００２３】
次に、メモリ寿命予想ルーチンＳ３０をフローに従って、説明する。
＜Ｓ３１：使用済エリアの数を確認＞
総エリアのうち、書き込み回数に格納された数がＮｍａｘに達しているエリアの数と残りのエリアの数を確認する。
＜Ｓ３２：最新日付を確認＞
総エリアの日付の格納された日付の内、最も新しい日付と最も古い日付を確認する。
＜Ｓ３３：寿命予測＞
残りのエリアの数と日付とから、すべてのエリアの書き込み回数がＮｍａｘとなる日付を外挿法により予測する。
【００２４】
上述の実施形態のＥＥＰＲＯＭへの記録方法を用いれば、ＥＥＰＲＯＭへの書き込み回数が許容回数を超えることなく、ＥＥＰＲＯＭの全メモリ空間領域を有効に利用して、ＥＥＰＲＯＭにデータを保存できる。
また、計測ルーチンが仮想メモリ空間であるページに書き込み又は読み出しをすると、物理メモリ空間であるメモリ格納ルーチンに書き込み又は読み出しをすることができ、計測ルーチンを設計、改造しやすくなる。
また、ページとエリアの関連を予め記録した管理テーブルを用いるので、メモリ格納ルーチンが高速に書き込み、読み出しをすることができる。
また、エリアの特定番地に割り付けられたページのコードが記録してあるので、計測システム立ち上げ時にこのデータをたどることで、管理テーブルを生成することができ、管理テーブルを保存するためにバックアップされた揮発型メモリを用意する必要がない。
また、書き込みをした日付をエリアに書き込んでいるので、エリアを使い切る日付を簡単に予測できる。
【００２５】
本発明は以上に述べた実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で各種の変更が可能である。
管理テーブルがＲＡＭにあるとして説明したらこれに限定されず、ＥＥＰＲＯＭにおいてもよい。
【００２６】
【発明の効果】
以上説明したように本発明のメモリへの書き込みをする最大書き込み回数をＮｍａｘと定めたＥＥＰＲＯＭは、その構成により、以下の効果を有する。
書き込み回数ＮがＮｍａｘを越えてエリア内のメモリに書き込みをすることがなく、書き込み回数ＮがＮｍａｘを越えてない他のエリアのメモリに次々に書き込みをすることが出来る。
また、ページに割り付けられた一つのエリアの物理メモリ空間または複数のエリアの内の最新のエリアの物理メモリ空間へデータを書き込むことで、そのページへの書き込みが発生したデータを保存することが出来る。
また、管理テーブルを参照してページに関連づけられた最新のエリアを即座に見つけて、そのエリアにデータを書き込むことができる。
また、ページ識別コードと第一の特定番地から得られる書き込み回数Ｎからページに関連づけられた最新のエリアを見つけて、そのエリアにデータを書き込むことができる。
また、ＥＥＰＲＯＭが使用不能になる日付が概略判断できる。
従って、ＥＥＰＲＯＭの書き込み回数制限を越えることなく書き込みを行い、ＥＥＰＲＯＭの物理的メモリ空間を有効に使いきることの出来るＥＥＰＲＯＭへの記録方法を提供できる。
【００２７】
【図面の簡単な説明】
【図１】本発明の実施形態のメモリ空間図である。
【図２】本発明の実施形態のメモリの状態の遷移図である。
【図３】本発明の実施形態のフローチャート図である。
【図４】本発明の実施形態を実施する装置の概念図である。
【符号の説明】
１    計測装置
２    ＣＰＵ
３    プログラム
４    ＲＡＭ
５    ＥＥＰＲＯＭ
６    Ｉ／Ｏ
７    センサ
１００    ページ空間
１０１    ページ１
１０２    ページ２
１０３    ページ３
１０４    ページ４
２００    管理テーブル
２０１    ページ１のエリア番号の格納空間
２０２    ページ２のエリア番号の格納空間
２０３    ページ３のエリア番号の格納空間
２０４    ページ４のエリア番号の格納空間
３００    データ記録空間
３１０    エリア０
３１１    ページ番号領域
３１２    書き込み回数領域
３１３    日付領域
３１４〜  データの格納空間
３２０    エリア１
３３０    エリア２
３４０    エリア３
３５０    エリア４３
【図１】
0004019306.tif 000002
【図２】
0004019306.tif 000003
【図３】
0004019306.tif 000004
【図４】
0004019306.tif 000005