JP2004164076A - メモリ及び該メモリの動的管理方法 - Google Patents
メモリ及び該メモリの動的管理方法 Download PDFInfo
- Publication number
- JP2004164076A JP2004164076A JP2002326645A JP2002326645A JP2004164076A JP 2004164076 A JP2004164076 A JP 2004164076A JP 2002326645 A JP2002326645 A JP 2002326645A JP 2002326645 A JP2002326645 A JP 2002326645A JP 2004164076 A JP2004164076 A JP 2004164076A
- Authority
- JP
- Japan
- Prior art keywords
- storage area
- memory
- load module
- area
- records
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】装置Xの機能に対応したロードモジュールをインストールするメモリ11に、装置Xの立上げ処理を行うブートストラップBootを含む格納領域のBoot領域12と、ロードモジュールをインストールするロードモジュール格納領域13と、データを格納するデータベース格納領域14とを形成し、データベース格納領域14を複数のレコードに分割し、レコード対応の複数のフィールドを設定し、レコードのサイズに従ったフィールドの有効/無効を管理し、且つレコードの使用/空きを管理するデータベース管理テーブルをBoot領域に形成する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、メモリに形成したロードモジュール格納領域とデータベース格納領域とを動的に管理して、有効利用を図るメモリ及び該メモリの動的管理方法に関する。
【0002】
【従来の技術】
各種用途の小型の電子機器に於いては、用途に対応したプログラムをインストールするメモリを備えており、又処理したデータを格納するデータベースを内部に備えている場合が一般的である。その場合、メモリにロードモジュール格納領域とデータベース格納領域とを形成し、ロードモジュール格納領域に各種のプログラムをダウンロードし、処理したデータをデータベース格納領域に格納する構成を有することになる。
【0003】
又小型の電子機器に対しては、更なる小型化と軽量化とが要望されていることにより、その電子機器に搭載する前述のロードモジュール格納領域とデータベース格納領域とを形成したメモリは、或る程度の容量に制約されることになる。又バックアップ電池等を必要としない浮遊ゲート構造の半導体メモリによるEEPROM(Electrically Erasable and Programmable Read Only Memory)等の不揮発性メモリを用いる場合が一般的である。
【0004】
このようなメモリに於いては、ロードモジュール格納領域とデータベース格納領域とを予め固定的に割当てる場合が一般的である。しかし、複数種類のロードモジュールをインストールした場合、ロードモジュール対応の処理データを格納するデータベースとしての領域を割当てると、使用しないロードモジュール対応のデータベースとしての領域は無駄となる。
【0005】
又不揮発性メモリを設けたICカードに於いて、ロードモジュール格納領域に複数種類のロードモジュールのインストールを可能とし、インストールした複数のロードモジュールに対して共通の空き領域を形成し、管理テーブルにより空き領域を含めて管理し、ロードモジュールの実行によるデータを空き領域に一時的に格納し、そのロードモジュールの実行終了により、データベース格納領域として使用した領域を開放して空き領域とすることにより、データベース格納領域に於ける断片化が生じないので、最適化処理を不要とした構成が知られている(例えば、特許文献1参照)。
【0006】
【特許文献1】
特開2001−67210号公報
【0007】
【発明が解決しようとする課題】
ロードモジュールの実行によるデータを保持する必要のある場合、ロードモジュール対応のデータベース格納領域を確保する必要がある。その場合に、前述のように、ロードモジュール対応のデータベース格納領域を予め割当てると、実行しないロードモジュール対応のデータベース格納領域が無駄となり、実際に使用できる領域が小さくなる問題がある。又前述の特許文献1に示されているように、複数のロードモジュールに対して共通の空き領域を形成した場合は、ロードモジュールの実行によるデータを一時的に保持するだけであり、通常のデータベースのように、データを保持することができない問題がある。
【0008】
本発明は、ロードモジュール対応のデータを保持し、且つロードモジュール格納領域及びデータベース格納領域を動的に割当てて、メモリ領域の有効利用を図ることを目的とする。
【0009】
【課題を解決するための手段】
本発明のメモリは、図1を参照して説明すると、装置Xの機能に対応したロードモジュールをインストールするメモリ11であって、装置Xの立上げ処理を行うブートストラップBootを含む格納領域のBoot領域12と、ロードモジュールをインストールするロードモジュール格納領域13と、データを格納するデータベース格納領域14とを有し、データベース格納領域14を複数のレコードに分割し、レコード対応の複数のフィールドを設定し、レコードのサイズに従ったフィールドの有効/無効を管理し、且つレコードの使用/空きを管理するデータベース管理テーブルをBoot領域に形成した構成を有するものである。
【0010】
又本発明のメモリの動的管理方法は、装置Xの機能に対応したロードモジュールをインストールするメモリ11の動的管理方法であって、装置Xの立上げ処理を行うブートストラップBootを含む格納領域のBoot領域12を有するメモリ11に、データを格納するデータベース格納領域14と、ロードモジュールをインストールするロードモジュール格納領域13とを設定し、データベース格納領域14を複数のレコードに分割し、レコード対応の複数のフィールドを設定し、レコードのサイズに従ったフィールドの有効/無効を管理し、且つレコードの使用/空きを管理し、全レコード数と、空きのレコードの先頭位置をデータの書込位置として管理するデータベース管理テーブルをBoot領域12に形成し、データベース管理テーブルにより、データベース格納領域14の空きレコードに追加ロードモジュールをインストールし、又はロードモジュールのアンインストールにより生じた領域を、データベース格納領域14の空きレコードとして追加する処理を行う過程を含むものである。
【0011】
又レコード対応の複数のフィールド間の優先度を設定し、レコードのサイズに対応したサイズとなるように、複数のフィールドを、優先度に従って有効として設定する過程を含むことができる。又ロードモジュールの追加,削除によるデータベース格納領域14の変更時、データベース格納領域14の連続したレコードをそれぞれ領域とし、各領域の先頭アドレスをデータベース管理テーブルに設定して、データベース格納領域14の断片化を管理する過程を含むことができる。又Boot領域12を有するメモリ11に、所定機能に対応したサイズのデータベース格納領域14を設定し、データベース格納領域14に従ったデータベース管理テーブルを形成し、メモリ11の残りの空き領域に、複数のロードモジュールを選択してインストールする過程を含むことができる。
【0012】
【発明の実施の形態】
図1は本発明の実施の形態の説明図であり、11は装置Xに搭載したメモリを示し、例えば、100Mバイトのサイズの不揮発性メモリとする。又(A)はインストール前、(B)はロードモジュールのインストール、(C)はデータベース領域設定のそれぞれ状態を示す。図1の(A)に於いて、100Mバイトの中の10Mバイトの領域をBoot領域12とし、その領域の一部に、装置Xの立上げ処理を行うブートストラップBootを格納しておくもので、この状態では、90Mバイトの空き領域を有することになる。
【0013】
例えば、ファームウェア内の50MバイトのロードモジュールA,B,Cを、インストール処理により、メモリ11のBoot領域12以外の空き領域に保存する。即ち、図1の(B)にように、ロードモジュールA,B,Cをインストールすることにより、50Mバイトのロードモジュール格納領域13となり、残りの空き領域は40Mバイトとなる。
【0014】
この空き領域をデータベース格納領域14とする。この場合、ロードモジュール格納領域13を先に設定し、データベース格納領域14を空き領域を用いて設定する場合を示すが、所定のサイズのデータベース格納領域14を設定し、空き領域に複数のロードモジュールを設定しロードモジュール格納領域13とすることも可能である。前述のように、図1の(B)に示す空き領域に、データベース格納領域14を設定すると、図1の(C)に示す状態となる。
【0015】
この場合、データベース格納領域14を、同一のフォーマットの複数のレコードに分割し、Boot領域12の一部にデータベース管理テーブルを形成して管理する。このデータベース管理テーブルは、データベース格納領域14内に保存可能のレコード数と、レコードの使用/空きの管理によるデータを書込む先頭レコード位置を管理する。又レコード詳細(フィールド名、サイズ、フィールド構成)として示すように、レコード対応に複数のフィールドに分割し、各フィールドに優先度を設定し、レコードのサイズに対応したサイズとなるフィールドを優先度に従って選択し、レコード対応の有効/無効を管理する。図1の(C)に於いては、レコード数を100とし、各レコード1〜レコード100は、それぞれ0.4Mバイトとなる。
【0016】
又各レコード対応に分割した複数のフィールドは、優先度の高い順に、フィールド1、フィールド2、・・・を定義し、各レコードは、前述のように、0.4Mバイトとすると、フィールド1とフィールド2とを0.1Mバイト、フィールド3を0.05Mバイト、フィールド4を0.15Mバイト、フィールド5を0.1Mバイトとすると、各レコードが0.4Mバイトのサイズであるから、フィールド1〜フィールド4を有効とし、他のフィールドを無効に設定することになる。
【0017】
図2はデータベース管理テーブルの説明図であり、(A)は、全レコード数とデータの書込先頭位置を示すレコード位置と、レコード対応のフィールドとを含むもので、図1の(C)に対応させると、初期時は、全レコード数=100、レコード位置=0、全フィールド=無効に設定される。そして、各レコードのサイズが図1の(C)に示すように、0.4Mバイトであると、図2の(B)に示すように、このレコードのサイズに対応し、且つ優先度に従ってフィールド1〜フィールド4は有効、フィールド5以降は無効と設定し、又データの書込開始のレコード位置=1とする。この場合、レコード1〜レコード100は空きであることを示す。
【0018】
図3は前述の装置Xに相当するデータ処理装置の要部を示し、11は不揮発性メモリ等の前述のロードモジュールをインストールするメモリ(MEM)、2はプロセッサ(CPU)、3はランダムアクセスメモリ(RAM)、4は表示部(DSP)、5は入出力インタフェース部(IF)、6はバスを示す。
【0019】
一般的な電子機器と同様に、メモリ11に対するロードモジュールのインストールや、そのロードモジュールを例えばランダムアクセスメモリ3に展開して実行し、データをメモリ11に書込む処理は、プロセッサ2の制御によって行うことができるものであり、ロードモジュールの選択結果や処理結果等は表示部4に表示することもできる。又各種の入出力条件を入出力インタフェース部5を介して設定することができる。
【0020】
従って、図1の(A)の状態から、ブートストラップBootをプロセッサ2が実行することにより、データ処理装置を立上げて、入出力インタフェース部5を介して、図示を省略したファームウェアからロードモジュールA,B,Cをメモリ11にインストールし、図1の(B)の状態とし、更にデータベース管理テーブルをメモリ11のBoot領域12内に形成して、図1の(C)の状態とすることができる。
【0021】
図4はロードモジュールA,B,Cをメモリ11にインストール後の状態を示すもので、メモリ11からRAM(ランダムアクセスメモリ)3(図3参照)にロードモジュールA’,ロードモジュールB’,ロードモジュールC’として示すように展開し、ロードモジュールA’の実行によるデータをレコード3(使用)に格納し、ロードモジュールB’の実行によるデータをレコード1(使用)に格納し、ロードモジュールC’の実行によるデータをレコード2(使用)に格納した場合を示す。即ち、図2に示すように、データベース管理テーブルのレコード位置としてデータを書込む空きレコード位置が順次更新される。この状態では、レコード4〜レコード100は空きとなっている。
【0022】
図5はロードモジュール追加の説明図であり、(A)に示すように、ロードモジュール格納領域13にロードモジュールA,B,Cがインストールされ、データベース格納領域14に形成したレコード1〜レコード20が使用され、レコード21〜レコード100が空きの場合に、2MバイトのロードモジュールDを追加インストールする場合、レコードは前述のように0.4Mバイトの大きさであるから、2Mバイトを格納する為には、5個のレコードを必要とすることになる。そこで、データベース管理テーブルを参照して、データベース格納領域14の空きレコードを検索する。それにより、図5の(B)に示すように、データベース格納領域14の中の空きのレコード21〜レコード25をロードモジュール格納領域13’に設定して、更新ロードモジュールDのインストールを行う。
【0023】
図6は前述のロードモジュール更新時のデータベース管理テーブルの説明図であり、(A)は更新前で、空きレコードの先頭のレコード位置が21を示している場合、2MバイトのロードモジュールDをインストールする時は、空き領域を求める。この場合、全レコード数=100、空きレコードの先頭のレコード位置=21、1レコードサイズ=0.4Mバイトであるから、空き領域の大きさは、(100−20)×0.4=32(Mバイト)となる。従って、2MバイトのロードモジュールDはインストール可能と判定できる。又インストールに必要なレコード数は、2(Mバイト)÷0.4(Mバイト)=5となる。即ち、5個のレコードを使用することになる。
【0024】
そこで、図5の(B)に示すようにロードモジュールDをレコード21〜レコード25にインストールし、データベース管理テーブル14を、図6の(B)に示すように、5個のレコードを使用したから、全レコード数=95、レコード21〜レコード25を使用したから、次の書込可能の空きレコードの先頭位置を、レコード位置=26とするように更新する。従って、データベース格納領域14に空きレコードが存在する場合、インストール可能の大きさのロードモジュールを、データベース格納領域14に追加インストールすることができる。
【0025】
図7はロードモジュールのバージョンアップにより更新する場合を示し、図4に示す場合と同様に、ロードモジュール格納領域14に、ロードモジュールA,B,Cが格納され、RAM3に、ロードモジュールA’,B’,C’として展開された状態で、データベース格納領域14のレコード1〜レコード30が使用済の場合に於いて、ロードモジュールCをバージョンアップした4Mバイトの更新ロードモジュールCをインストールする場合を示す。
【0026】
各ロードモジュールは、モジュール名称と、モジュールサイズと、リビジョン版数とを含むモジュールヘッダを有するもので、リビジョン版数の値が大きい方がバージョンアップした新しいロードモジュールを示す。この場合、メモリ11にインストール済のロードモジュールCと、バージョンアップしてインストールする更新ロードモジュールCとのモジュールヘッダを図示しており、インストール済のロードモジュールCは、モジュール名称=KKK、モジュールサイズ=2Mバイト、リビジョン版数=01であり、更新ロードモジュールCは、モジュール名称=KKK、モジュールサイズ=4Mバイト、リビジョン版数=02のそれぞれのモジュールヘッダ詳細を示している。
【0027】
又更新ロードモジュールCをメモリ11にインストールとした後、RAM3に、更新ロードモジュールC’として示すように展開する。この場合、RAM3には、モジュール名称=KKKが同一のロードモジュールC’と更新ロードモジュールC’とが展開されているが、リビジョン版数の大きい方を実行することにより、混乱を生じることはない。又メモリ11にインストールされているリビジョン版数=01のロードモジュールCは、不要となるからアンインストール処理する。そして、アンインストールにより空きとなった領域は、データベース格納領域に追加する。
【0028】
このようにロードモジュールをアンインストールして、メモリ11の領域の再配置を行うと、例えば、図8に示す構成となる。即ち、Boot領域12のBootの領域とデータベース管理テーブルとはそのままの領域を確保し、ロードモジュールA,Bを格納したロードモジュール格納領域13と、更新ロードモジュールCを格納したロードモジュール領域13’以外をデータベース格納領域14とする。この場合、データベース格納領域は断片化された状態となり、各領域についてそれぞれ先頭アドレスを管理するもので、先頭アドレス0x0500番地の領域(3)の全レコードは空き、先頭アドレス0x1000番地の領域(1)は全レコードは使用中、先頭アドレス0x2000番地の領域(2)は全レコード空きの場合を示している。
【0029】
この場合、データベース格納領域14は、断片化された領域となるから、断片化された領域について、データベース格納領域14の詳細を定義する。即ち、図9に示すように、データベース管理テーブルに、データ領域と、その先頭アドレスと、そのデータ領域内のレコード番号とを設定する。図9の(A)は、図7に於ける更新ロードモジュールCをインストールする前のメモリ1のデータベース管理テーブルについて示すもので、全レコード数=100、データを書込む先頭のレコード位置=31とし、又データ領域として示すデータベース格納領域を領域(1)とし、その先頭アドレスを0x1000、レコード番号を1〜100とする。なお、レコード対応のフィールドについては、前述の場合と同様に、レコード1〜レコード4は有効、レコード5以降は無効として設定している。
【0030】
そして、図8に示す再配置により、データベース管理テーブルは図9の(B)に示す内容となる。即ち、全レコード数は、ロードモジュールCをメモリ11から消去したことにより増加した分と、インストールした更新ロードモジュールCの分との差により、95となり、次にデータを書込む先頭のレコード位置は41となる。この場合、ロードモジュールCをアンインストールしたことによる空き領域については、前のデータベース格納領域14の後のレコード番号として管理する。
【0031】
又データ領域、即ち、データベース格納領域14は、断片化された領域(1),(2),(3)となり、領域(1)の先頭アドレスは0x1000、レコード番号は1〜30、領域(2)の先頭アドレスは0x2000、レコード番号は41〜100、ロードモジュールCの消去による領域(3)の先頭アドレスは0x0500、レコード番号は、前述のように、レコード番号100の後に継続した新たな101〜105とする。この場合、次のデータは、領域(2)のレコード番号41が空きレコードの先頭のレコード位置となるから、このレコード41に書込むことになる。
【0032】図10はファームウェア及び選択項目の説明図であり、(A)は、ファームウェアの一例を示し、(B)はインストール時の選択項目を示す。ファームウェアは、装置運用に於いて何れかは必須とされる主ロードモジュールA,B,C,Dと、オプション機能としてオプションロードモジュールE,F,G,H,Iを含み、それぞれ名称とサイズと優先度とを設定している。例えば、主ロードモジュールAは、名称=aaa、サイズ=20Mバイトであり、又オプションロードモジュールEは、名称=eee、サイズ=10Mバイト、優先度=3の場合を示している。又選択項目としては、装置運用に適したデータベース選択と、運用機能選択とを含み、データベース選択としては、標準データと拡張データとの何れかを選択し、運用機能選択としては、モードMode1運用とMode2運用との何れかを選択する場合を示す。
【0033】
データベース選択の標準データの場合は、適応データベース容量=20Mバイト、レコード数=100、各レコード=0.2Mバイトとする。又拡張データの場合は、適応データベース容量=40Mバイト、レコード数=50、各レコード=0.8Mバイトとする。又運用機能選択のMode1運用の場合は、主ロードモジュールB,C,Dを運用形態必要機能とし、Mode2運用の場合は、主ロードモジュールA,Cを運用形態必要機能とする。なお、図10の(A)に於いて、データベース選択:標準データ、運用機能選択:Mode1運用を選択した場合を左上枠内に示している。
【0034】
図11はインストール動作説明図であり、装置Xに搭載したメモリ11は、図1に示すメモリ11と同様に100Mバイトの容量を有し、10MバイトのBoot領域12は、ブートストラップBootとデータベース管理テーブルとからなり、インストール時に、図10の(A)に示すように、データベース選択=標準データ、運用機能選択=Mode1として選択すると、適応データベース容量=20Mバイトから、データベース格納領域14として20Mバイトを割当て、レコード数=100からレコード1〜レコード100として設定する。この状態を図11の(A)に示す。
【0035】
次に、70Mバイトの空き領域に、運用機能選択=Mode1により、主ロードモジュールB,C,Dをインストールする。この場合、合計60Mバイトのロードモジュールとなるから、空き領域は10Mバイトとなる。この状態を図11の(B)に示す。この空き領域に、例えば、それぞれ5MバイトのオプションロードモジュールE,Fをインストールする。この状態を図11の(C)に示す。従って、100Mバイトのサイズのメモリ11を搭載した装置Xは、そのメモリ11のロードモジュール格納領域13に、主ロードモジュールB,C,Dと、オプションロードモジュールE,Fとをインストールし、20Mバイトのデータベース格納領域14を有する構成として運用開始することができる。
【0036】
この場合、複数のオプションロードモジュールをインストールする為に選択すると、総て空き領域にインストールできる場合は、前述のようにインストールすることになるが、空き領域サイズが不足する場合、オプションロードモジュールの優先度が高い方から順(優先度1>2>3>4>5の順)に選択してインストールすることになる。例えば、オプションロードモジュールG(優先度=5),オプションロードモジュールH(優先度=1),オプションロードモジュールI(優先度=4)をインストールするように選択した場合、合計で15Mバイトとなり、10Mバイトの空き領域に総てをインストールできないので、優先度の高い方のオプションロードモジュールH,Iをインストールすることになる。
【0037】
図12はルータに適用した場合を示し、(A)はユニキャストIP(Internet Protocol)パケット(UCパケット)のルーティング処理を行うルータを装置Xとして示し、(B)はマルチキャストIPパケット(MCパケット)のルーティング処理を行うルータを装置Yとして示す。又装置X,Yに搭載するメモリ11は、13Mバイトのサイズを有し、3MバイトのBoot領域12をブートストラップBootとデータベース管理テーブルとの領域とすると、10Mバイトの空き領域を有することになり、この空き領域を前述のロードモジュール格納領域13とデータベース格納領域14とする場合を示す。又ファームウェアAは、監視モジュールと、UCルーティングモジュールとを含む3Mバイトのサイズであり、又ファームウェアBは、監視モジュールと、UCルーティングモジュールと、MCルーティングモジュールとを含む5Mバイトのサイズの場合を示す。
【0038】
図13は運用時のメモリの説明図であり、(A)は前述のルータとしての装置Xに搭載したメモリ11の内容を示し、(B)は前述のルータとしての装置Yに搭載したメモリ11の内容を示す。同図の(A)の装置Xに於いては、データベース格納領域14は4Mバイトのサイズであり、トラフィックデータが、下方に示すように、日付と、通過パケット数と、受信パケット数と、送信パケット数と、エラー受信パケット数と、エラー送信パケット数とを含む40kバイトとすると、100個のトラフィックデータをデータベース格納領域14に格納することができる。この場合、例えば、自動的にトラフィックデータを収集する時、100日間の収集が可能となる。なお、100日以上の場合は、古い記録データに対して新しい記録データを上書きすることも可能である。
【0039】
又図13の(B)の装置Yに於いては、データベース格納領域14は2Mバイトのサイズであり、トラフィックデータが、下方に示すように、日付と通過パケット数とを含む20kバイトとすると、この場合も100個のトラフィックデータをデータベース格納領域14に格納することができる。即ち、前述のように、データベース格納領域14をレコード1〜レコード100に分割した場合に相当することになる。
【0040】
図14はデータベース管理テーブルの説明図であり、図13に於けるデータベース管理テーブルの一例を示し、全レコード数=100とし、初期状態では、レコード位置=0、各フィールドは無効として設定されている状態となる。そして、図13の(A)に示す場合は、フィールド名の日付と、通過パケット数と、受信パケット数と、送信パケット数と、エラー受信パケット数と、エラー送信パケット数とについては、フィールド構成は有効とし、UCパケット数とMCパケット数とのフィールド構成は無効に設定する。又図13の(B)に示す場合は、フィールド名の日付と、通過パケット数とのフィールドを有効とし、他のフィールドを無効に設定する。
【0041】
図15はロードモジュール追加の説明図であり、図13の(A)に示す装置Xに、MCルーティングモジュールを追加する場合を示し、図15の(A)に示すように、4Mバイトのデータベース格納領域14のレコード1〜レコード30にトラフィックデータを記憶した状態に於いて、2MバイトのMCルーティングモジュールを追加して、図13の(B)に示す装置Yと同様の機能で運用を行う場合、図5及び図6について説明したように、データベース格納領域14の空きのレコードの合計2Mバイトを確保し、MCルーティングモジュールをインストールする。
【0042】
それにより、図15の(B)に示すように、データベース格納領域14のレコード31〜レコード79の領域にインストールされ、レコード80〜レコード100が未使用となる。従って、UCパケットの処理を行う装置Xに、MCパケットの処理を行う為のMCルーティングモジュールをインストールして装置X’とすることができる。この場合、UCパケットの処理とMCパケットの処理とを実行し、且つデータベース格納領域14の空きレコードが少なくなることにより、データベース管理テーブルのフィールド対応の有効/無効の設定の更新を行うことも可能である。
【0043】
図16はロードモジュール更新処理の説明図であり、メモリ11とRAM3とを含む装置Xのメモリ11は、3MバイトのBoot領域12と、3Mバイトのロードモジュール格納領域13と、4Mバイトのデータベース格納領域14とを有し、ロードモジュール格納領域13に、監視モジュールとUCルーティングモジュールとがインストールされ、この監視モジュールとUCルーティングモジュールとがRAM3に展開されて実行される状態に於いて、データベース格納領域14の空きのレコードの領域に、更新UCルーティングモジュールをインストールする。
【0044】
このロードモジュールの更新処理は、図7についても説明したように、ロードモジュールの追加の場合と類似するが、更新前の古いロードモジュールを削除することができる。なお、最初のUCルーティングモジュールのモジュールヘッダは、モジュール名称=RIP、モジュールサイズ=1Mバイト、リビジョン版数=01であり、更新UCルーティングモジュールのモジュールヘッダは、モジュール名称=RIP、モジュールサイズ=3Mバイト、リビジョン版数=02の場合を示す。
【0045】
図示のように、更新UCルーティングモジュールをメモリ11のデータベース領域14の空きのレコードの領域にインストールした後、モジュールヘッダのモジュール名称について、同一名称のロードモジュールの有無を判定する。この場合、UCルーティングモジュールと、更新UCルーティングモジュールとは、モジュール名称=RIPで同一であるが、リビジョン版数が01の方をメモリ11から消去し、その領域をデータベース格納領域として再配置する。又RAM3上に更新UCルーティングモジュールを展開する。この場合、RAM3上に於いては、リビジョン版数の値の大きい方を実行するように制御するか、又は×印で示すように、削除することができる。
【0046】
前述の図16に於ける更新UCルーティングモジュールをインストールした後の再配置を行った状態を図17に示す。即ち、ブートストラップBootとデータベース管理テーブルとからなる3MバイトのBoot領域と、1Mバイトの監視モジュールをインストールしたロードモジュール格納領域と、レコード101〜レコード150の2Mバイトのデータベース格納領域と、レコード1〜レコード20の0.8Mバイトのデータベース格納領域と、3Mバイトの更新UCルーティングモジュールをインストールしたロードモジュール格納領域と、レコード96〜レコード100のデータベース格納領域とから構成され、削除したリビジョン版数=01のUCルーティングモジュールの領域をデータベース格納領域のレコード101〜レコード150として使用することができる。なお、データベース格納領域は、断片化されるが、図9について説明したように、断片化された領域対応に管理することにより、連続したデータベース格納領域と同様にデータの書込みの制御が可能となる。
【0047】
図18は装置Xのメモリ11に、パーソナルコンピュータ(PC)20の画面の表示内容(Web画面)を参照してインストールする場合を示す。装置Xに搭載した10Mバイトのメモリ11のBoot領域12には、装置起動時の立上げ処理と、ファームウェアインストール時の処理とを行う機能が格納されている。そして、ファームウェア内のロードモジュールを選択して、インストールするものである。
【0048】
この場合、インストールするファームウェア内には、装置運用に必須となる監視モジュールとUCルーティングモジュールとMCルーティングモジュールと、オプション機能として、FTP機能を有するFTPモジュールと、Telnet機能を有するTelnetモジュールと、Web監視機能のHTTPモジュールと、ルータの障害監視を行うALMモジュールとを含む場合を示し、それぞれのモジュールヘッダには、名称とサイズと優先度とが設定されている。なお、優先度は、オプション機能モジュールに対して、例えば、優先度=a〜d等により設定され、空き領域が少ない場合、選択されたオプション機能モジュールの中の優先度の高い方からインストールされる。
【0049】
図19はインストール時の選択項目の説明図であり、データベース選択と、運用機能選択とがあり、データベース選択の項目内には、基本的なトラフィックデータフォーマットである標準データ(全レコード数=100、1レコード=0.01Mバイト)と、更に詳細なデータが設定可能の拡張データ(全レコード数=100、1レコード=0.03Mバイト)とがある。又運用機能選択の項目内には、UCルーティング機能に必要なモジュールを定義したUCルーティング運用と、MCルーティング機能に必要なモジュールを定義したMCルーティング運用とがある。
【0050】
図20はインストール動作の説明図であり、図18のパーソナルコンピュータ20の画面表示を参照して、装置Xに搭載したメモリ11に、図19の選択項目の中の標準データと、UCルーティング運用とを選択してインストールする場合を示す。同図の(A)は、メモリ11に、3MバイトのBoot領域12と、1Mバイトのデータ格納領域14とを形成し、6Mバイトの空き領域を有する状態を示す。即ち、標準データを選択したことにより、全レコード数=100、1レコード=0.01Mバイトであるから、合計で1Mバイトのデータベース格納領域14を確保し、このデータベース格納領域14を100個のレコードに分割して、トラフィックデータ1〜トラフィックデータ100を記録する領域を確保し、このデータベース格納領域14を、Boot領域12に形成したデータベース管理テーブルによって管理する。
【0051】
又UCルーティング運用を選択したことにより、必須ロードモジュールは、図18を参照すると、1Mバイトの監視モジュールと、2MバイトのUCルーティングモジュールであるか、これをメモリ11の空き領域にインストールする。それにより、図20の(B)に示す状態となり、空き領域は3Mバイトとなる。
【0052】
次に、オプション機能モジュールとして、例えば、優先度の高い方から順にインストールする場合、図13に示すオプション機能モジュールのモジュールヘッダの優先度を参照し、3バイトの空き領域にインストール可能のモジュールを選択する。この場合、優先度=a(優先度a>優先度b)の2MバイトのHTTPモジュールと、優先度=b(優先度a>優先度c)の1MバイトのALMモジュールとが選択されることになる。従って、このHTTPモジュールとALMモジュールとをインストールすると、図20の(C)に示す状態となる。即ち、装置Xは、監視モジュールと、UCルーティングモジュールと、HTTPモジュールと、ALMモジュールとをメモリ11のロードモジュール格納領域13に格納し、ユニキャストIPパケットのルーティング制御を行い、データベース格納領域14に、100個のトラフィックデータを格納することができるルータを構成することができる。
【0053】
本発明は、前述の各実施の形態にのみ限定されるものではなく、種々付加変更することが可能であり、メモリ11は、各種の構成のメモリを適用できるものであり、一般的には、不揮発性メモリを適用するものであり、この不揮発性メモリとしては、例えば、各種の用途に適用されている浮遊ゲート構造のフラッシュEEPROMを通常は適用することになるが、誘電体を用いたFRAM,磁気抵抗効果を利用したMRAM等を適用することも可能である。又複数のロードモジュールをインストールとして、所望の機能を実現するロードモジュールを選択指定する構成とすることも可能である。
【0054】
【発明の効果】
以上説明したように、本発明は、装置に搭載する不揮発性メモリ等のメモリに、装置の立上げ処理を行うブートストラップBootとデータベース管理テーブルとを含むBoot領域12と、ロードモジュール格納領域13と、データベース格納領域14とを設定し、データベース管理テーブルにより、データベース格納領域14を管理し、ロードモジュールの追加インストール時や、アンインストール時に、追加インストールする空きの有無の判定や、インストール後やアンインストール後のデータベース管理テーブルの管理情報の更新を行うもので、各種の装置の機能対応の単一又は複数のロードモジュールのインストールが可能であり、且つデータベース格納領域を動的に再配置することが可能であるから、メモリ11の有効利用を図ることができる利点がある。
【図面の簡単な説明】
【図1】本発明の実施の形態の説明図である。
【図2】データベース管理テーブルの説明図である。
【図3】データ処理装置の要部説明図である。
【図4】ロードモジュールのインストール後の説明図である。
【図5】ロードモジュール追加の説明図である。
【図6】データベース管理テーブルの説明図である。
【図7】ロードモジュール更新の説明図である。
【図8】メモリの領域再配置の説明図である。
【図9】データベース管理テーブルの説明図である。
【図10】ファームウェア及び選択項目の説明図である。
【図11】インストール動作説明図である。
【図12】ルータに適用した場合の説明図である。
【図13】運用時のメモリの説明図である。
【図14】データベース管理テーブルの説明図である。
【図15】ロードモジュール追加の説明図である。
【図16】ロードモジュール更新処理の説明図である。
【図17】再配置後のメモリの説明図である。
【図18】インストールの説明図である。
【図19】インストール時の選択項目の説明図である。
【図20】インストール動作の説明図である。
【符号の説明】
11 メモリ
12 Boot領域
13 ロードモジュール格納領域
14 データベース格納領域
Claims (5)
- 装置の機能に対応したロードモジュールをインストールするメモリに於いて、
前記装置の立上げ処理を行うブートストラップを含む格納領域のBoot領域と、前記ロードモジュールをインストールするロードモジュール格納領域と、データを格納するデータベース格納領域とを有し、
前記データベース格納領域を複数のレコードに分割し、該レコード対応の複数のフィールドを設定し、前記レコードのサイズに従った前記フィールドの有効/無効を管理し、且つ前記レコードの使用/空きを管理するデータベース管理テーブルを前記Boot領域に形成した構成を有する
ことを特徴とするメモリ。 - 装置の機能に対応したロードモジュールをインストールするメモリの動的管理方法に於いて、
前記装置の立上げ処理を行うブートストラップを含む格納領域のBoot領域を有するメモリに、データを格納するデータベース格納領域と、前記ロードモジュールをインストールするロードモジュール格納領域とを設定し、
前記データベース格納領域を複数のレコードに分割し、該レコード対応の複数のフィールドを設定し、前記レコードのサイズに従った前記フィールドの有効/無効を管理し、且つ前記レコードの使用/空きを管理し、全レコード数と、空きのレコードの先頭位置をデータの書込位置として管理するデータベース管理テーブルを前記Boot領域に形成し、
該データベース管理テーブルにより、前記データベース格納領域の空きレコードに追加ロードモジュールをインストールし、又はロードモジュールのアンインストールにより生じた領域を前記データベース格納領域の空きレコードとして追加する処理を行う過程を含む
ことを特徴とするメモリの動的管理方法。 - 前記レコード対応の複数のフィールド間の優先度を設定し、前記レコードのサイズに対応したサイズとなるように、前記複数のフィールドを前記優先度に従って有効として設定する過程を含むことを特徴とする請求項2記載のメモリの動的管理方法。
- 前記ロードモジュールの追加,削除による前記データベース格納領域の変更時、該データベース格納領域の連続したレコードをそれぞれ領域とし、各領域の先頭アドレスを前記データベース管理テーブルに設定して、前記データベース格納領域の断片化を管理する過程を含むことを特徴とする請求項2記載のメモリの動的管理方法。
- 前記Boot領域を有する前記メモリに、所定機能に対応したサイズのデータベース格納領域を設定し、該データベース格納領域に従ったデータベース管理テーブルを形成し、前記メモリの残りの空き領域に、複数のロードモジュールを選択してインストールする過程を含むことを特徴とする請求項2又は3又は4記載のメモリの動的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002326645A JP2004164076A (ja) | 2002-11-11 | 2002-11-11 | メモリ及び該メモリの動的管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002326645A JP2004164076A (ja) | 2002-11-11 | 2002-11-11 | メモリ及び該メモリの動的管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004164076A true JP2004164076A (ja) | 2004-06-10 |
Family
ID=32805515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002326645A Pending JP2004164076A (ja) | 2002-11-11 | 2002-11-11 | メモリ及び該メモリの動的管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004164076A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014063264A (ja) * | 2012-09-20 | 2014-04-10 | Toshiba Corp | Icカード |
US10534702B2 (en) | 2015-10-01 | 2020-01-14 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
-
2002
- 2002-11-11 JP JP2002326645A patent/JP2004164076A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014063264A (ja) * | 2012-09-20 | 2014-04-10 | Toshiba Corp | Icカード |
US10534702B2 (en) | 2015-10-01 | 2020-01-14 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3524428B2 (ja) | 記憶装置、記憶システム、メモリ管理方法及び記録媒体 | |
US8954649B2 (en) | Garbage collection in storage devices based on flash memories | |
US20080282024A1 (en) | Management of erase operations in storage devices based on flash memories | |
US7644406B2 (en) | Update system capable of updating software across multiple FLASH chips | |
JP4611024B2 (ja) | ブロック内のページをグループ化する方法及び装置 | |
US20160132270A1 (en) | Information processing device, information procesing method, and program | |
KR101089150B1 (ko) | 스케쥴링된 리클레임 작동들을 갖는 비휘발성 메모리 | |
KR20060114698A (ko) | 파일기록장치 | |
JP2007172259A (ja) | フラッシュメモリ、メモリ制御回路、マイクロコンピュータおよびメモリ制御方法 | |
JP3212960B2 (ja) | フラッシュメモリを利用したデータ管理方法 | |
CN107870769A (zh) | 操作***的安装方法及装置 | |
US7533374B2 (en) | Adaptively storing system code in non-volatile storage | |
CN101025711B (zh) | 控制闪存的设备和方法 | |
KR20030036133A (ko) | 고속 데이터 액세스를 유지하면서 ram 크기를감소시키는 방법 및 장치 | |
JP2002251310A (ja) | フラッシュメモリのファイルシステム作成方式 | |
JP2004164076A (ja) | メモリ及び該メモリの動的管理方法 | |
JPH113287A (ja) | 記憶装置およびそれに用いられる記憶領域管理方法 | |
JP2006350633A (ja) | データ管理方法及びデータ管理システム | |
US20060179210A1 (en) | Flash memory data structure, a flash memory manager and a flash memory containing the data structure | |
JP2009134672A (ja) | メモリ管理方法および携帯端末装置 | |
KR100811559B1 (ko) | 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치 | |
US20160085771A1 (en) | Information processing device, information procesing method, and program | |
US20130179653A1 (en) | Apparatus and method for partitioning memory area for application preloading in a wireless terminal | |
JP3801176B2 (ja) | メモリ制御方法、記憶装置、制御プログラムおよび可読記録媒体 | |
US7519765B2 (en) | Method of downloading main code to flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080618 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080715 |