(57)【要約】【課題】書き込み可能回数が限られている記憶媒体に時系列データの書き込み回数を均等に分散させる情報処理装置および方法を提供する。【解決手段】時系列データ毎の保存先アドレス情報と保存先アドレスに前記時系列データを書き込んだ回数情報と保存先アドレスに格納されている前記時系列データの書き込み順序情報からなる管理情報１３１０、１３２０を基に不揮発性記憶媒体１２００の特定領域にデータ種別に関係なく時系列データを書き込む回数を平準化させる制御部１１００を備える。【選択図】図１
2012123498.tif 000002
【特許請求の範囲】
【請求項１】
書き込み可能回数が限られている不揮発性記憶媒体に時系列データを保存する情報処理装置において、
時系列データ毎の保存先アドレス情報と保存先アドレスに前記時系列データを書き込んだ回数情報と保存先アドレスに格納されている前記時系列データの書き込み順序情報からなる管理情報を基に不揮発性記憶媒体の特定領域にデータ種別に関係なく時系列データを書き込む回数を平準化させる制御部を備えることを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
更に時系列データと修正情報を受け取る入力部を備え、
前記制御部は、
前記情報処理装置の電源投入時に前記不揮発性記憶媒体に保存されている前記管理情報を該揮発性記憶媒体に転送する管理テーブル読み出し処理部と、
前記揮発性記憶媒体に転送された管理情報を基に不揮発性記憶媒体の時系列データ保存領域に前記入力部が受け取った時系列データを保存する時系列データ書き込み処理部と、
定期的あるいは前記管理情報の変更タイミングで前記揮発性記憶媒体に保存されている前記管理情報を不揮発性記憶媒体に保存する管理テーブル保存処理部と、
を備えることを特徴とする情報処理装置。
【請求項３】
請求項２記載の情報処理装置において、
前記制御部は、
前記入力部より受け取った修正情報から管理情報を変更することで、前記時系列データの書き込み順序を修正する書き込み順序修正処理部をさらに備えることを特徴とする情報処理装置。
【請求項４】
書き込み可能回数が限られている不揮発性記憶媒体に時系列データを保存する情報処理方法において、
時系列データと修正情報を受け取る入力部を備え、
情報処理装置の電源投入時に前記不揮発性記憶媒体に保存されている管理情報を揮発性記憶媒体に転送する管理テーブル読み出し処理ステップと、
前記揮発性記憶媒体に転送された管理情報を基に不揮発性記憶媒体の時系列データ保存領域に前記入力部が受け取った時系列データを保存する時系列データ書き込み処理ステップと、
前記入力部より受け取った修正情報から管理情報を変更することで、前記時系列データの書き込み順序を修正する書き込み順序修正処理ステップと、
定期的あるいは前記管理情報の変更タイミングで前記揮発性記憶媒体に保存されている前記管理情報を不揮発性記憶媒体に保存する管理テーブル保存処理ステップと、
からなることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き込み可能回数が限られている記憶媒体に時系列データを保存する情報処理装置および方法に関する。
【背景技術】
【０００２】
情報処理装置で利用する記憶媒体には、保持データを書き換えると少しずつ劣化していくものがいくつかある。電源を切っても内容が保持される媒体においては、フラッシュメモリ、ＣＤ−ＲＷ、ＤＶＤ−ＲＷなど、書き換え可能回数が数百から数千回程度のものが近年では多用されてきている。
【０００３】
一般的に、これらの記憶媒体の書き換え限度回数は、媒体全体に対しての回数ではなく、記憶素子１つに対しての回数となる。つまり、データ書き換えを媒体中の記憶素子にできるだけ均等に分散させることで媒体全体としての書き換え限度回数を飛躍的に向上させることができる。
【０００４】
情報処理装置において、データ書き込み回数を記憶媒体の特定の領域内で均等化する技術として特許文献１と特許文献２が知られている。
特許文献１には、時系列データを記録し、記録するための空き領域がない場合に最も古いデータが保存されている領域を割り当てることが記載されている。
【０００５】
特許文献２には、記憶媒体の書き込み回数の少ない領域に最新データを保存する方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−７９４６３号公報
【特許文献２】特開２００９−２０５６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方法では、時系列データを順番に空き領域に保存することはできるが、記憶媒体の特定領域内でのデータ書き込み回数をカウントしているわけではないため、記憶媒体のデータ書き換え回数を均等に分散させることはできない。
【０００８】
また、特許文献２の方法では、データ書き込み回数を均等に分散させることはできるが、時系列データを管理するようになっていないため、所望する時系列データの読み出し及び書き込み順序の修正を行うことができない。
【０００９】
上記の課題を解決するために、本発明では、書き込み可能回数が限られている記憶媒体に時系列データの書き込み回数を均等に分散させる情報処理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明は、書き込み可能回数が限られている不揮発性記憶媒体に時系列データを保存する情報処理装置において、時系列データ毎の保存先アドレス情報と保存先アドレスに前記時系列データを書き込んだ回数情報と保存先アドレスに格納されている前記時系列データの書き込み順序情報からなる管理情報を基に不揮発性記憶媒体の特定領域にデータ種別に関係なく時系列データを書き込む回数を平準化させる制御部を備えることを特徴とする。
【００１１】
また本発明は、更に時系列データと修正情報を受け取る入力部を備え、前記制御部は、前記情報処理装置の電源投入時に前記不揮発性記憶媒体に保存されている前記管理情報を該揮発性記憶媒体に転送する管理テーブル読み出し処理部と、前記揮発性記憶媒体に転送された管理情報を基に不揮発性記憶媒体の時系列データ保存領域に前記入力部が受け取った時系列データを保存する時系列データ書き込み処理部と、定期的あるいは前記管理情報の変更タイミングで前記揮発性記憶媒体に保存されている前記管理情報を不揮発性記憶媒体に保存する管理テーブル保存処理部とを備えることを特徴とする。
【００１２】
また本発明における前記制御部は、前記入力部より受け取った修正情報から管理情報を変更することで、前記時系列データの書き込み順序を修正する書き込み順序修正処理部をさらに備えることを特徴とする。
【００１３】
また本発明は、書き込み可能回数が限られている不揮発性記憶媒体に時系列データを保存する情報処理方法において、時系列データと修正情報を受け取る入力部を備え、情報処理装置の電源投入時に前記不揮発性記憶媒体に保存されている管理情報を揮発性記憶媒体に転送する管理テーブル読み出し処理ステップと、前記揮発性記憶媒体に転送された管理情報を基に不揮発性記憶媒体の時系列データ保存領域に前記入力部が受け取った時系列データを保存する時系列データ書き込み処理ステップと、前記入力部より受け取った修正情報から管理情報を変更することで、前記時系列データの書き込み順序を修正する書き込み順序修正処理ステップと、定期的あるいは前記管理情報の変更タイミングで前記揮発性記憶媒体に保存されている前記管理情報を不揮発性記憶媒体に保存する管理テーブル保存処理ステップと、からなることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、書き込まれているデータ種別によらず、記録媒体のデータ保存領域に対してデータ書き込み回数を均等に分散させることができる。これにより、書き込み可能回数が限られている記憶媒体の寿命を延ばし、結果として記憶媒体を含む装置の維持費用を減少させることが可能となる。
【００１５】
また、データの書き込み順序の修正が可能となり、データの管理を容易としている。
【図面の簡単な説明】
【００１６】
【図１】本発明における情報処理装置の構成例を示す図である。
【図２】時系列データ保存領域の一例を示す図である。
【図３】管理テーブルの一例を示す図である。
【図４】最新時系列データ関連情報の一例を示す図である。
【図５】本発明におけるプログラム構成例を示す図である。
【図６】管理テーブル読み出し処理部の動作を示すフローチャートである。
【図７】最新時系列データ関連情報の作成結果を示す図である。
【図８】時系列データ読み出し処理部の動作を示すフローチャートである。
【図９】時系列データ書き込み処理部の動作を示すフローチャートである。
【図１０】Ｓ４７３０の第２段階適用後の管理テーブルを示す図である。
【図１１】Ｓ４７３０の第４段階適用後の管理テーブルを示す図である。
【図１２】Ｓ４７３０の第５段階適用後の最新時系列データ関連情報を示す図である。
【図１３】書き込み順序修正処理部の動作を示すフローチャートである。
【図１４】Ｓ４８２０の第２段階適用後の管理テーブルを示す図である。
【図１５】Ｓ４８２０の第３段階適用後の管理テーブルを示す図である。
【図１６】Ｓ４８２０の第４段階適用後の管理テーブルを示す図である。
【図１７】管理テーブル保存処理部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、詳細に説明する。
図１は、本発明における情報処理装置の構成例を示す図である。
図１に示すように、情報処理装置１０００は、マイクロプロセッサ１１００、不揮発性メモリの一種であるフラッシュメモリ１２００、揮発性メモリの一種であるＤＲＡＭ１３００、キーボード、マウスなどの入力部１８００、ディスプレイ装置、プリンタなどの出力部１９００を備える。
【００１８】
フラッシュメモリ１２００は、請求項1における「書き込み可能回数が限られている記憶媒体」に相当し、時系列データ保存領域１２１０、管理テーブル保存領域１２８０、およびプログラム保存領域１２９０を備える。ここで、プログラム保存領域１２９０は、電源投入時の起動時処理や時系列データの読み出し・書き込み・修正などの本発明に係る各処理を実施するプログラムのみならず、他の処理を実行するプログラム（以下、アプリケーションプログラムと称する）も保存されている。
【００１９】
ＤＲＡＭ１３００は、管理情報が保存されている作業用管理テーブル領域１３１０、および最新時系列データ関連情報領域１３２０を備える。ここで、作業用管理テーブル領域１３１０は、管理テーブル保存領域１２８０に保存されている管理テーブルの情報を、情報処理装置１０００が動作する間保持し続けるメモリ領域であり、時系列データの読み出し・書き込み・修正の各処理において使用される。また、最新時系列データ関連情報領域１３２０は、作業用管理テーブル領域１３１０に保存されている管理テーブルの情報から最新時系列データ関連情報を作成し、時系列データの読み出し・書き込み・修正の各処理において使用される。
【００２０】
入力部１８００は、時系列データ入力者２０００によるデータ入力・修正操作、および制御部１１００に対する要求操作で使用される。また、出力部１９００は、時系列データ入力者２０００による入力部１８００を通した操作の確認、および制御部１１００の動作確認で使用される。
【００２１】
なお、上記において、プログラム保存領域１２９０はフラッシュメモリ１２００内にのみあるものとしているが、そのほかの場所にあっても良い。例えば、起動後にＤＲＡＭ１３００内にプログラムを転送し、ＤＲＡＭ１３００上の前記プログラムを実行しても良い。
【００２２】
また、情報処理装置１０００のデータ入力・修正は、時系列データ入力者２０００（人間）である必要はなく、ネットワーク（図示せず）を経由した他の装置からの処理要求プログラムであっても良く、情報処理装置１０００内のアプリケーションプログラムが行っても良い。
【００２３】
マイクロプロセッサ（制御部）１１００は、プログラム保存領域に保存されているプログラムを読み出し、起動時処理部４０００、管理テーブル読み出し処理部４１００、時系列データ読み出し処理部４６００、時系列データ書き込み処理部４７００、書き込み順序修正処理部４８００、アプリケーション処理部４５００、管理テーブル保存処理部４９００の各処理部を実行させる。各処理部の概要については、図５のプログラム構成で後述する。
【００２４】
図２は、時系列データ保存領域１２１０の一例を示す図である。図２では、アドレスと、そのアドレスが示す領域に保存されている時系列データと、前記時系列データの作成日時情報を示す。本実施例では、時系列データの種別として、２種類（業務１の情報、および業務２の情報）が存在する。時系列データは、時系列データ入力者２０００により、入力部１８００を通して随時入力され、入力したデータは、制御部により所定の時系列データ保存領域１２１０に保存される。
ここで、業務１の情報、および業務２の情報のデータサイズは、どちらもフラッシュメモリ１２００のセクタサイズの６０％〜９９％程度としている。これは、本実施例では1セクタに1個の時系列データを書き込むことを想定しており、その際の時系列データとして実用上、適切と考えられるサイズとして定めたものであり、本発明の本質ではない。
【００２５】
図３は、本発明における新規考案部分である管理テーブル３０００の構成である。管理テーブル３０００は、インデックス、アドレス、書き換え回数、前回データのインデックス、データサイズの各列から構成されている。次に各列の項目について説明する。
１．インデックス３０５０：各行にインデックスを格納する。このインデックスは図２で説明した時系列データに一つのインデックスが対応する（以降、「列ＩＮＤＥＸ」と表記）。
２．アドレス３１００：インデックスに対応する時系列データのアドレスを格納する（以降、「列ＡＤＤＲ」と表記）。
３．書き換え回数３１５０：インデックスに対応するアドレスが示す領域が書き換えられた回数を格納する（以降、「列ＲＥＷＲＩＴＥ」と表記）。
４．前回データのインデックス３２００：同一種別の時系列データを新しい順に並べたとき、インデックスに対応する時系列データの１つ前に保存したときの時系列データに対応するインデックスを格納する（以降、「列ＰＲＥＶ」と表記）。また、値「該当無し」は、インデックスに対応する時系列データが最も古いデータであることを示す。この前回データのインデックスから時系列ータの保存順を知ることができる。さらに、列ＰＲＥＶとは別に、同一種別ごとに前回データのインデックスを持っても良い。
５．データサイズ３２５０：図２で説明した時系列データのデータサイズを格納する（以降、「列ＳＩＺＥ」と表記）。
【００２６】
管理テーブル３０００の情報は、情報処理装置１０００が電源断状態の間は、フラッシュメモリ１２００内の管理テーブル保存領域１２８０に保存されている。一方、情報処理装置１０００が動作している間は、管理テーブル保存領域１２８０にある管理テーブル３０００の情報が読み出され、ＤＲＡＭ１３００内の作業用管理テーブル領域１３１０に転送され、作業用管理テーブル領域１３１０の管理テーブル３０００が編集される。また、作業用管理テーブル領域１３１０の管理テーブル３０００の情報は、定期的に、あるいは管理テーブルの情報に変更が生じたタイミングで、作業用管理テーブル領域１３１０の管理テーブル３０００の情報を管理テーブル保存領域に保存する。
【００２７】
図４は、最新時系列データ関連情報３５００である。最新時系列データ関連情報３５００は、時系列データ種別、最新時系列データのインデックスの各列から構成されている。次に各列の項目について説明する。
１．時系列データ種別３５５０：時系列データの種別を格納する（以降、「列ＣＬＡＳＳ＿ＤＡＴＡ」と表記）。
２．最新時系列データのインデックス３６００：最新時系列データに対応する管理テーブル３０００のインデックスを格納する（以降、「列ＮＥＷＥＳＴＩＮＤＥＸ」と表記）
（プログラム構成）
図５は、プログラム保存領域１２９０に保存されるプログラムの構成概略である。各処理部の実態は処理プログラムとなっている。
（起動処理部４０００）
起動処理部４０００は、情報処理装置１０００の電源投入時に最初に起動されるプログラムであり、管理テーブル保存領域１２８０にある管理テーブル３０００の情報をＤＲＡＭ１３００内の作業用管理テーブル領域１３１０に転送するため、管理テーブル読み出し処理部４１００を呼び出し、アプリケーション処理部に起動要求を出す。
（アプリケーション処理部）
アプリケーション処理部４５００は、時系列データ読み出し処理部４６００、時系列データ書き込み処理部４７００、書き込み順序修正処理部４８００、管理テーブル保存処理部４９００を呼び出し、各種処理部を実行する。
【００２８】
また、アプリケーション処理部４５００は、管理テーブル３０００の情報を保持するために定期的に、あるいは管理テーブル３０００の情報に変更が生じたタイミングで、管理テーブル保存処理部４９００を呼び出し、作業用管理テーブル領域１３１０の管理テーブル３０００の情報を管理テーブル保存領域に保存する。
【００２９】
さらに、アプリケーション処理部４５００は、入力部１８００を通じて時系列データ入力者２０００からの時系列データの読み出し・書き込み・修正指令に対応し、時系列データ読み出し処理部４６００、時系列データ書き込み処理部４７００、書き込み順序修正処理部４８００を呼び出す。
なお、本実施例では、情報処理装置１０００が電源断等により突発的に停止した場合にも、管理テーブル３０００で管理する時系列データの管理情報と時系列データ保存領域１２１０に保存された時系列データの情報に不整合が生じないようにするため、管理テーブル保存処理部４９００をアプリケーション処理部４５００から呼び出している。しかし、前記呼び出し元がアプリケーション処理部４５００であることは、本発明の本質ではない。
（管理テーブル読み出し処理部４１００）
図６は、管理テーブル読み出し処理部４１００の動作を説明する処理フローを示す図である。
管理テーブル読み出し処理部４１００は、管理テーブル保存領域１２８０に保存されている管理テーブル３０００の情報を、作業用管理テーブル領域１３１０に転送する（Ｓ４１１０）。さらに、作業用管理テーブル領域１３１０に保存されている管理テーブル３０００の情報から、最新時系列データ関連情報３５００を作成する（Ｓ４１２０）。これは、管理テーブル３０００の列ＡＤＤＲ、列ＰＲＥＶの全ての行に対し読み取ることにより実施する。次に、Ｓ４１２０で作成した最新時系列データ関連情報３５００（時系列データ種別、最新時系列データのインデックス）を、最新時系列データ関連情報領域１３２０に保存する（Ｓ４１３０）。
【００３０】
図７は、図３の管理テーブル３０００の情報から管理テーブル読み出し処理部４１００により作成された最新時系列データ関連情報を示す。
（時系列データ読み出し処理部４６００）
図８は、時系列データ読み出し処理部４６００の動作を説明する処理フローを示す図である。
【００３１】
以降、時系列データの種別を「ｃｌａｓｓ」、何番目に新しい時系列データがあるかを表す値を「ｄａｔａＩＮＤＥＸ」と表記する。
時系列データ読み出し処理４６００は、最新時系列データ関連情報３５００、および管理テーブル３０００から、指定された種別・インデックスを持つ時系列データが保存されている時系列データ保存領域１２１０中のアドレスを検索する（Ｓ４６１０）。
【００３２】
Ｓ４６１０は、下記の手順で実施する。
（ア）最新時系列データ関連情報３５００から、ｃｌａｓｓに対する列ＮＥＷＥＳＴＩＮＤＥＸの値を読み取る。
【００３３】
（イ）（ア）で読み取った列ＮＥＷＥＳＴＩＮＤＥＸの値、および管理テーブル３０００に記載の列ＰＲＥＶを使用し、ｄａｔａＩＮＤＥＸに対応する時系列データの列ＡＤＤＲの値を求める。
【００３４】
次に、Ｓ４６１０で求めた値が示す時系列データ保存領域１２１０のアドレスから時系列データを読み出す（Ｓ４６２０）。
例えば、図２に記載の時系列データ保存領域１２１０、図３に記載の管理テーブル３０００、および、図７に記載の最新時系列データ関連情報３５００に対し、ｃｌａｓｓ＝「業務１の情報」、ｄａｔａＩＮＤＥＸ＝「1」（最新データ）を指定し、時系列データ読み出し処理部４６００を実行した場合、２０１０年８月１日１２：００に作成された時系列データ「業務1の情報」が読み出される。
（時系列データ書き込み処理部４７００）
図９は、時系列データ書き込み処理部４７００の動作を説明する処理フローを示す図である。
【００３５】
以降、書き込む時系列データの種別を「ｎｅｗｃｌａｓｓ」、時系列データとして書き込むデータを「ｎｅｗｄａｔａ」、時系列データとして書き込むデータのサイズを「ＳＩＺＥ」、各時系列データの種別に対し、新しい方から何番目のデータが書き換えられてはならないかを示す値の集合を「ＲＥＷＲＩＴＥｐｒｏｈｉｂｓｅｔ」と表記する。
【００３６】
前記集合は、最新の時系列データ、および、修正時に使用される時系列データが書き換えられることを防ぐために指定するものであり、本発明の本質ではない。
時系列データ書き込み処理部４７００は、最新時系列データ関連情報３５００、および管理テーブル３０００から、もっとも書き換え回数の少ない時系列データ保存領域１２１０中のアドレスを検索する（Ｓ４７１０）。
【００３７】
Ｓ４７１０は、下記の手順で実施する。
（ア）書き換えてはならない時系列データに対応する管理テーブル３０００の列ＩＮＤＥＸを求める。すなわち、最新時系列データ関連情報３５００に記載の各種別に対する列ＮＥＷＥＳＴＩＮＤＥＸ、および管理テーブル３０００に記載の列ＰＲＥＶから管理テーブル３０００を検索することにより、ＲＥＷＲＩＴＥｐｒｏｈｉｂｓｅｔに対応する管理テーブル３０００における列ＩＮＤＥＸの値の集合を求める。
【００３８】
（イ）最新時系列データ関連情報３５００に記載の全種別に対する列ＮＥＷＥＳＴＩＮＤＥＸ、および管理テーブル３０００に記載の列ＰＲＥＶから管理テーブル３０００を検索することにより、検索対象の管理テーブル３０００における行の中で列ＲＥＷＲＩＴＥが最小である行の列ＩＮＤＥＸの値＝「４」を求める。ただし、（ア）で求めた値の集合に含まれる列ＩＮＤＥＸの値は、前記検索の対象から除外する。
【００３９】
ここで、最新時系列データ関連情報３５００に記載のｃｌａｓｓに対する列ＮＥＷＥＳＴＩＮＤＥＸではなく、「全種別」に対する列ＮＥＷＥＳＴＩＮＤＥＸを使用することで、データ種別に関係なく時系列データを書き込む回数を平準化させることを可能としている。
【００４０】
（ウ）（イ）で求めた列ＩＮＤＥＸの値と同一行にある列ＡＤＤＲの値を、管理テーブル３０００から読み取る。
次に、Ｓ４７１０の（ウ）で読み取った列ＡＤＤＲの値が示す時系列データ保存領域１２１０のアドレスに、ｎｅｗｄａｔａを書き込む（Ｓ４７２０）。
【００４１】
次に、管理テーブル３０００および最新時系列データ関連情報３５００を更新する（Ｓ４７３０）。これは、下記手順で実施する。
なお、処理の理解を容易とするため、必要に応じ、図２に記載の時系列データ保存領域１２１０、図３に記載の管理テーブル３０００および図７に記載の最新時系列データ関連情報３５００に対し、ｎｅｗｃｌａｓｓ＝業務２の情報、ｎｅｗｄａｔａ＝業務２の情報に関する時系列データ、ＳＩＺＥ=「ＦＥ８５」、ＲＥＷＲＩＴＥｐｒｏｈｉｂｓｅｔ＝「２」を指定し、時系列データ書き込み処理４７００を実行した場合の各ステップにおける管理テーブル３０００および最新時系列データ関連情報３５００の変化も合わせて示す。
【００４２】
（ア）（Ｓ４７３０の第１段階）
説明の都合上、管理テーブル３０００中、Ｓ４７１０の（イ）で求めた列ＩＮＤＥＸの値（書き換え領域に対応するインデックス）が記載されている行を、Ｌとおく。
【００４３】
（イ）（Ｓ４７３０の第２段階）
管理テーブル３０００における列ＰＲＥＶの値が行Ｌの列ＩＮＤＥＸの値と同一である行（以下、行Ｌ）が存在するときに限り、行Ｌの列ＰＲＥＶの値を行Ｌにおける列ＰＲＥＶの値に変更する。
この時点における管理テーブル３０００を図１０に示す。図１０における太字（インデックス「５」に対応する前回データのインデックス「０」）は、図３から変更となった値であることを示す。
【００４４】
（ウ）（Ｓ４７３０の第３段階）
行Ｌにおける列ＲＥＷＲＩＴＥの値を１増やし、「２」とする。ここで、行Ｌにおける列ＳＩＺＥの値＝「ＦＥ８５」にする。
【００４５】
（エ）（Ｓ４７３０の第４段階）
行Ｌにおける列ＰＲＥＶの値を、最新時系列データ関連情報３５００における種別ｎｅｗｃｌａｓｓに対する列ＮＥＷＥＳＴＩＮＤＥＸの値＝「２」（書き換え前の最新時系列データに対応するインデックス）にする。
この時点における管理テーブル３０００を図１１に示す。図１１における太字（インデックス「４」に対応する書き換え回数「２」、次回データのインデックス「２」、データサイズ「ＦＥ８５」）は、図１０から変更となった値であることを示す。
【００４６】
（オ）（Ｓ４７３０の第５段階）
最新時系列データ関連情報３５００における種別ｎｅｗｃｌａｓｓに対する列ＮＥＷＥＳＴＩＮＤＥＸの値＝「２」をＳ４７１０の（イ）で求めた列ＩＮＤＥＸの値＝「４」にする。
この時点における最新時系列データ関連情報３５００を図１２に示す。図１２における太字（時系列データ種別「業務２の情報」に対応する最新時系列データのインデックス「４」）は、図７から変更となった値であることを示す。
なお、時系列データ書き込み処理４７００におけるＳ４７３０の各段階の実行順序は、本発明の本質ではない。
（書き込み順序修正処理部４８００）
図１３は、書き込み順序修正処理部４８００の動作を説明する処理フローを
示す図である。
本処理は、時系列データ入力者２０００が時系列データの書き込み順序を修正する際に、時系列データ入力者２０００によりアプリケーションプログラム４５００から呼び出され、処理するものである。
【００４７】
以降、時系列データの種別を「ｃｌａｓｓ」、最新の時系列データとして使用する時系列データが何番目に新しいかを表す値を「ｄａｔａＩＮＤＥＸ」と表記する。
最新時系列データ関連情報３５００、および管理テーブル３０００を使用し、修正したい時系列データに対応する管理テーブル３０００中のインデックスを検索する（Ｓ４８１０）。
【００４８】
Ｓ４８１０は、下記手順で実施する。
（ア）最新時系列データ関連情報３５００から、ｃｌａｓｓに対する列ＮＥＷＥＳＴＩＮＤＥＸの値を読み取る。
【００４９】
（イ）（ア）で読み取った列ＮＥＷＩＮＤＥＸの値、および管理テーブル３０００に記載の列ＰＲＥＶを使用し、ｄａｔａＩＮＤＥＸに対応する管理テーブルのインデックスを検索する。
【００５０】
次に、修正したい時系列データが最新の時系列データとなり、Ｓ４８１０実行前の時点における最新の時系列データが最古の時系列データとなるように、最新時系列データ関連情報３５００、および管理テーブル３０００を更新する（Ｓ４８２０）。
【００５１】
Ｓ４８２０は、下記手順で実施する。
なお、処理の理解を容易とするため、必要に応じ、図２に記載の時系列データ保存領域１２１０、図３に記載の管理テーブル３０００、および、図７に記載の最新時系列データ関連情報３５００を基に、ｃｌａｓｓ＝「業務1の情報」、ｄａｔａＩＮＤＥＸ＝「２」（２番目に新しいデータ）の情報を入力部より受け取り、書き込み順序修正処理部４８００を実行した場合の各ステップにおける管理テーブル３０００、および最新時系列データ関連情報３５００の変化も合わせて示す。
【００５２】
（ア）（Ｓ４８３０の第1段階）
説明の都合上、最新時系列データ関連情報３５００における列ＣＬＡＳＳ＿ＤＡＴＡがｃｌａｓｓ＝「業務1の情報」である行を行Ｌとおく。
【００５３】
（イ）（Ｓ４８３０の第２段階）
行Ｌにおける列ＮＥＷＥＳＴＩＮＤＥＸの値、および管理テーブル３０００中の列ＰＲＥＶの値を使用し、種別がｃｌａｓｓ＝「業務1の情報」である時系列データ中で最も古い時系列データに対応する管理テーブル３０００中の行（以下、行Ｌ）を検索する。そのうえで、行Ｌにおける列ＰＲＥＶの値を、行Ｌにおける列ＮＥＷＥＳＴＩＮＤＥＸの値＝４とする。
この時点における管理テーブル３０００を図１４に示す。図１４における太字（インデックス「１」に対応する前回データのインデックス「５」）は、図３から変更となった値であることを示す。
【００５４】
（ウ）（Ｓ４８３０の第３段階）
行Ｌにおける列ＮＥＷＥＳＴＩＮＤＥＸの値を持つ管理テーブル３０００中の行における列ＰＲＥＶを「該当無し」とする。
この時点における管理テーブル３０００を図１５に示す。図１５における太字（インデックス「５」に対応する前回データのインデックス「該当無し」）は、図１４から変更となった値であることを示す。
【００５５】
（ア）（Ｓ４８３０の第４段階）
行Ｌにおける列ＮＥＷＥＳＴＩＮＤＥＸの値をＳ４８１０の（イ）で求めた列ＩＮＤＥＸの値＝「４」とする。
この時点における最新時系列データ関連情報３５００を図１６に示す。図１６における太字（時系列データ種別「業務１の情報」に対応する最新時系列データのインデックス「４」）は、図７から変更となった値であることを示す。
なお、Ｓ４８３０において書き込み順序修正処理部４８００実行前の時点における最新の時系列データを、実行後は最古の時系列データとなるような処理とした。しかし、これは、書き込み順序修正処理部４８００実行前の時点における最新の時系列データを最新でない時系列データとすることにより、過去の時系列データを最新の時系列データとして修正することを目的としている。したがって、書き込み順序修正処理部４８００実行前の時点における最新の時系列データを、書き込み順序修正処理部４８００により最古の時系列データとしていることは、本発明の本質ではない。
また、書き込み順序修正処理部４８００におけるＳ４７３０の各段階の実行順序も、発明の本質ではない。
【００５６】
上述した書き込み順序修正処理部の動作は、２番目に新しいデータを最新データとし、最新データを最も古いデータに修正する例であるが、その他にも、所望する時系列データを削除したり、所望する書き込み順序に修正することができる。
【００５７】
また、時系列データを修正する場合は、時系列データ書き込み処理部４７００と書き込み順序修正処理部４８００の動作により容易に実施することができる。この時、修正したデータは、修正前に保存されていた時系列データ保存領域１２１０のアドレスに保存するのではなく、最も書き込み回数の少ないアドレスに保存することで、頻繁に同じ時系列データの修正が発生したとしても時系列データ保存領域の書き込む回数を平準化させることが可能となる。
（管理テーブル保存処理部４９００）
図１７は、管理テーブル保存処理部４９００の動作を説明する処理フローを示す図である。
【００５８】
作業用管理テーブル領域１３１０に保存されている管理テーブル３０００の情報を、管理テーブル保存領域１２８０に保存する（Ｓ４９１０）。これは、管理テーブル３０００の情報を保持するための動作であり、定期的に、あるいは管理テーブル３０００の情報に変更が生じたタイミングで実施する。
【００５９】
本実施例によれば、書き込まれているデータ種別によらず、記録媒体のデータ保存領域に対してデータ書き込み回数を均等に分散させることができる。これにより、書き込み可能回数が限られている記憶媒体の寿命を延ばし、結果として記憶媒体を含む装置の維持費用を減少させることが可能となる。
【００６０】
また、データの書き込み順序の修正が可能となり、データの管理を容易としている。さらに、修正したデータについても書き込む回数を平準化させることが可能となる。
【符号の説明】
【００６１】
１０００  情報処理装置
１１００  マイクロプロセッサ
１２００  フラッシュメモリ
１２１０  時系列データ保存領域
１２８０  管理テーブル保存領域
１２９０  プログラム保存領域
１３００  ＤＲＡＭ
１３１０  作業用管理テーブル領域
１３２０  最新時系列データ関連情報領域
１８００  入力部
１９００  出力部
２０００  時系列データ入力者
３０００  管理テーブル
３５００  最新時系列データ関連情報
４０００  起動時処理部
４１００  管理テーブル読み出し処理部
４５００  アプリケーション処理部
４６００  時系列データ読み出し処理部
４７００  時系列データ書き込み処理部
４８００  書き込み順序修正処理部
４９００  管理テーブル保存処理部
【図１】
2012123498.tif 000003
【図２】
2012123498.tif 000004
【図３】
2012123498.tif 000005
【図４】
2012123498.tif 000006
【図５】
2012123498.tif 000007
【図６】
2012123498.tif 000008
【図７】
2012123498.tif 000009
【図８】
2012123498.tif 000010
【図９】
2012123498.tif 000011
【図１０】
2012123498.tif 000012
【図１１】
2012123498.tif 000013
【図１２】
2012123498.tif 000014
【図１３】
2012123498.tif 000015
【図１４】
2012123498.tif 000016
【図１５】
2012123498.tif 000017
【図１６】
2012123498.tif 000018
【図１７】
2012123498.tif 000019