(57)【要約】組み込みシステムなどの装置には特に好都合な記憶管理アーキテクチャが開示される。アーキテクチャは、好都合にもソフトウェアベースであり、かつ、命令コードおよび書込み可能なデータの両方の圧縮を促進する圧縮／解凍システム用フレームワークを提供する。【特許請求の範囲】
【請求項１】
プロセッサと記憶装置とを有する装置においてソフトウェアにより実行される記憶管理の方法であって、
コンピュータプログラムの実行中、該コンピュータプログラムおよびそのデータの一部を、前記プロセッサによって使用される非圧縮記憶領域に格納することと、
前記コンピュータプログラムの実行中に記憶資源が欠乏すると、前記非圧縮記憶領域内の前記コンピュータプログラムまたはデータの少なくとも一部分を圧縮し、それを圧縮記憶領域に移し、それによって、前記非圧縮記憶領域の資源を空けることと、
を含む方法。
【請求項２】
前記圧縮された部分が、前記圧縮記憶領域用に現在割当てられているスペースに収まらない場合には、前記圧縮記憶領域は拡張される、請求項１に記載の方法。
【請求項３】
圧縮が不要な場合、前記圧縮記憶領域の大きさは縮小される、請求項１に記載の方法。
【請求項４】
前記圧縮された部分は、前記コンピュータプログラムのデータ部分である、請求項１に記載の方法。
【請求項５】
前記圧縮された部分は、前記コンピュータプログラムの他の部分よりも容易に圧縮される特定のタイプのデータを保持する前記コンピュータプログラムのデータ部分である、請求項４に記載の方法。
【請求項６】
前記圧縮された部分は、辞書ベースの圧縮アルゴリズムを用いて圧縮される、請求項１に記載の方法。
【請求項７】
前記圧縮された部分は、圧縮後に暗号化される、請求項１に記載の方法。
【請求項８】
マッピングテーブルが、前記圧縮記憶領域内の前記圧縮された部分の位置を追跡するために使用される、請求項１に記載の方法。
【請求項９】
前記装置は、組み込み装置である、請求項１に記載の方法。
【請求項１０】
プロセッサと、
記憶装置と、
変換エンジンと、
前記プロセッサによって使用される非変換記憶領域に、プログラムおよびそのデータの一部を格納し、前記非変換記憶領域に格納された前記プログラムまたはデータの少なくとも一部分を変換するために前記変換エンジンを使用し、そして、前記変換された部分を、前記非変換記憶領域から、前記プログラムまたはデータの変換された部分用に割当てられた変換記憶領域に、移動させる記憶管理モジュールと、
を有する装置。
【請求項１１】
前記変換エンジンは、暗号化／復号化エンジンである、請求項９に記載の装置。
【請求項１２】
前記変換エンジンは、圧縮／解凍エンジンである、請求項９に記載の装置。
【請求項１３】
前記変換エンジンは、圧縮／解凍と暗号化／復号化とが結合されたエンジンであり、前記変換エンジンは、暗号化前に圧縮を行う、請求項９に記載の装置。
【請求項１４】
前記記憶管理モジュールは、前記変換記憶領域内の前記変換された部分の位置を追跡するのに使用されるマッピングテーブルへのアクセス権を有する、請求項９に記載の装置。
【請求項１５】
前記装置は、組み込み装置である、請求項９に記載の装置。
【請求項１６】
前記変換エンジンおよび前記記憶管理モジュールは、ソフトウェアで実行される、請求項９に記載の装置。
【請求項１７】
プロセッサと記憶装置とを有する装置用の記憶管理装置であって、
コンピュータプログラムの実行中、該コンピュータプログラムおよびそのデータの一部を、前記プロセッサによって使用される非変換記憶領域に格納する手段と、
前記コンピュータプログラムの実行中に記憶資源が欠乏すると、前記非変換記憶領域内の前記コンピュータプログラムあるいはデータの少なくとも一部分を変換し、前記変換された部分を変換記憶領域に移し、それによって、前記非変換記憶領域の資源を空ける手段と、
を有する記憶管理装置。
【請求項１８】
前記部分は、該部分に圧縮アルゴリズムを適用することにより変換される、請求項１７に記載の記憶管理装置。
【請求項１９】
前記部分は、該部分に暗号化アルゴリズムを適用することにより変換される、請求項１７に記載の記憶管理装置。
【請求項２０】
前記装置は、組み込み装置である、請求項１７に記載の記憶管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶アーキテクチャに関し、より詳細には、組み込みシステム内で命令コードおよびデータを処理するためのアーキテクチャに関する。
【背景技術】
【０００２】
組み込みシステムには、特に、大きさと電力消費に関して、大きな設計上の制約がある。メモリなどの記憶装置が、組み込みシステムの電力消費の大部分を占める可能性があることは知られている。満足できる性能を維持しながら、記憶装置の大きさを縮小できる方法で、圧縮や暗号化などの変換を、組み込みシステムに組み入れることが好都合であろう。
【０００３】
圧縮技法は、よく知られている。組み込みシステムに圧縮を組み入れることについての従来の研究は、一般に、命令セグメントのみを圧縮するハードウェア解決法に集中していた。例えば、非特許文献１を参照されたい。圧縮に対するソフトウェアベースの取り組みは、ハードウェアの複雑性の低減、および、圧縮アルゴリズムの選択における大きな柔軟性のために、魅力的である。ソフトウェアベースの手法を使用して、キャッシュ付きの組み込みシステム上で、命令コードを解凍することが提案されている。非特許文献２を参照されたい。ＣＲＡＭＦＳと呼ばれる圧縮されたファイルシステムが、Ｌｉｎｕｘ／ＧＮＵオペレーティングシステム用に提供されており、それにより、読出し専用のコードおよびデータを、組み込みシステムのアプリケーション用に圧縮することが可能である。非特許文献３を参照されたい。読出し専用データへの集中は、読出し専用データは実行中に変化せず、それによって、実行前の圧縮とランタイム時の小部分の解凍とを可能にするという利点を有している。読出し専用データに索引を付けること、すなわち、圧縮されたストリームにデータを配置することは、ランタイム圧縮が必要とされる場合よりも実質的に容易である。
【非特許文献１】Ｌ．Ｂｅｎｉｎｉ  ｅｔ  ａｌ．，“Ｓｅｌｅｃｔｉｖｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｃｏｍｐｒｅｓｓｉｏｎ  ｆｏｒ  Ｍｅｍｏｒｙ  Ｅｎｅｒｇｙ  Ｒｅｄｕｃｔｉｏｎ  ｉｎ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ，”ＩＥＥＥ／ＡＣＭ  Ｐｒｏｃ．  ｏｆ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｌｏｗｅｒ  Ｐｏｗｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  ａｎｄ  Ｄｅｓｉｇｎ（ＩＳＬＰＥＤ’９９），ｐａｇｅｓ  ２０６−１１（１９９９）
【非特許文献２】Ｃ．Ｌｅｆｕｒｇｙ  ａｎｄ  Ｔ．Ｍｕｄｇｅ，“Ｆａｓｔ  Ｓｏｆｔｗａｒｅ−Ｍａｎａｇｅｄ  Ｃｏｄｅ  Ｄｅｃｏｍｐｒｅｓｓｉｏｎ，”ｐｒｅｓｅｎｔｅｄ  ａｔ  ＣＡＳＥＳ（Ｃｏｍｐｉｌｅｒ  ａｎｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｓｕｐｐｏｒｔ  ｆｏｒ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ）’９９（Ｏｃｔｏｂｅｒ  １９９９）．
【非特許文献３】ＣＲＡＭＦＳ，  ｈｔｔｐ：／／ｓｏｕｒｃｅｆｏｒｇｅ．ｎｅｔ／ｐｒｏｊｅｃｔｓ／ｃｒａｍｆｓ（Ｆｅｂｒｕａｒｙ  ２００２）．
【発明の開示】
【発明が解決しようとする課題】
【０００４】
多くの組み込みシステムのアプリケーションでは、書込み可能なデータを含む全てのデータ領域を圧縮することが望ましいであろう。実行ファイルは、ランタイム中に修正可能な、非初期化データに該当する、．ｂｓｓのような、大きなデータ領域を含んでいることが多い。さらに悪いことには、実行ファイルは、動的に割当てられた大きなデータ領域を有する場合もある。これらのデータ領域が大きくて圧縮されていない場合には、該領域は、読出し専用データ圧縮の利点を著しく低減してしまう場合もある。
【課題を解決するための手段】
【０００５】
発明の概要
組み込みシステムのような装置に、特に好都合な、記憶管理アーキテクチャが開示される。該アーキテクチャは、データを、変換された形式に変換する変換エンジン、好ましくはソフトウェアで実行される変換エンジンを含み、例えば、該変換エンジンは、データを圧縮された形式に圧縮する圧縮／解凍エンジンとすることができ、および／または、該変換エンジンは、データを暗号化された形式に暗号化する暗号化／解読エンジンとすることができる。プログラムが、装置のプロセッサ上で実行される場合、プログラムおよび該プログラムのデータの一部が、装置の非変換記憶領域に格納される。記憶資源が、プログラムの実行中に欠乏した場合に、変換エンジンは、非変換記憶領域のプログラムまたはデータの少なくとも一部分を、変換された形式に変換（例えば圧縮）するために使用され、その変換された形式を、該プログラムまたはデータの変換部分用に割当てられた変換記憶領域に移動させることができる。装置の非変換記憶領域の記憶資源は、動的に空けられることができる。この変換記憶領域は、システムの必要性に応じて、その大きさを拡張または縮小されることができ、例えば、圧縮記憶領域に移動されるべき圧縮された部分が、その領域用に現在割当てられているスペースに収まらない場合には、システムは、自動的に、圧縮記憶領域を拡張することができる。変換記憶領域は、記憶割当てメカニズムを含むことができ、そしてそれは、好都合にも、プログラムの変換された部分へのランダムアクセスを可能にする。したがって、好都合にもソフトウェアベースとすることができ、かつ、命令コードと書込み可能なデータの両方の圧縮を容易にする、圧縮／解凍システムのための機構を、開示されたアーキテクチャは提供する。
【０００６】
プログラムの種々の部分に異なる変換技法を用いることを含む記憶管理構造によってプログラムの種々の部分（例えば、命令コードセグメントと、データセグメントと、種々のタイプのデータでさえも）が異なって扱われることを、該アーキテクチャは可能にする。命令コードのようなプログラムの読出し専用部分は、必要に応じて、圧縮しないで非変換記憶領域から移動され、読み直されることができる。記憶装置に常駐する命令コードおよびデータの両方の変換／圧縮を容易にすることによって、システムは、圧縮／解凍に起因する機能劣化を極力抑えながら、記憶オーバヘッドを節約することができる。開示された変換機構は、好都合にも、圧縮／解凍を支援する専用ハードウェアまたはハードウェアキャッシュさえも必要としない。開示された機構は、ディスクレスまたはディスクベースの組み込みシステムのいずれでも容易に実施でき、好都合にも、静的に初期化されたデータのみならず動的に割当てられたデータを処理することができる。
【０００７】
本発明のこれらのおよび他の利点は、以下の詳細な説明および添付図面を参照することによって、当業者において明白になるであろう。
【発明を実施するための最良の形態】
【０００８】
詳細な説明
図１は、本発明の好ましい実施形態に従って構成された、実例となる組み込みシステムアーキテクチャの概念図である。組み込みシステムは、プロセッサ１１０および記憶装置１２０を含む。プロセッサ１１０および記憶装置１２０は、いかなる特定のハードウェア構造にも限定されるものではなく、計算機システムで通常使用される任意のハードウェアを使用して実現することができる。例えば、記憶装置１２０は、メモリ、フラッシュ装置、または、ハードディスクなどのディスクベース記憶装置で実現することができるが、それらに限定されるものではない。
【０００９】
システムは、変換エンジン１５０を含み、その動作は、以下でさらに説明される。変換エンジン１５０は、ソフトウェアとして実現されるのが好ましい。データが、記憶装置の異なる領域間で移動される場合に、変換エンジン１５０は、データ（そして、以下でさらに説明するような命令コード）を、変換状態と非変換状態とのいずれかに、自動的に変換する働きをする。例えば、そして、限定されるものではないが、変換状態が圧縮状態であり、かつ、非変換状態が非圧縮状態である場合には、変換エンジン１５０は、圧縮／解凍エンジンとして実現することができる。他の例として、変換状態が暗号化状態であり、非変換状態が解読された状態である場合には、変換エンジン１５０は、暗号化／解読エンジンとして実現することができる。本発明は、いずれかの特定の圧縮または暗号化アルゴリズムを含むいかなる特定の変換技法にも限定されるものではない。
【００１０】
システムアーキテクチャにおける種々の記憶領域の配置および該領域の役割が、圧縮の変換例の特定な状況において、以下に説明されるが、それらに限定されるものではない。
【００１１】
図１に示すように、記憶装置１２０の領域は、非圧縮領域１２２に割当てられる。非圧縮領域１２２は、プロセッサ１１０にとってアクセス可能であり、プログラムの実行中に非圧縮命令コードおよびデータを格納するために、プロセッサ１１０によって使用される。本発明は、非圧縮領域１２２に関して、いかなる特定の記憶割当て技法に限定されるものではなく、任意の好適な従来技法が利用可能である。プログラムが、プロセッサ１１０によって実行されると、領域１２２のより多くの領域が、そのプログラムによって使用されることになる。限られた記憶資源を有する組み込みシステムでは、記憶資源からなる非圧縮領域１２２は、急速に欠乏する。したがって、プログラムの実行中、非圧縮領域１２２に格納されたプログラムの一部を、動的に圧縮することが好都合であろう。
【００１２】
命令セグメントは、特に今日ほとんど使用されない自己書換えコードを除いて、通常、ランタイム中に変化しない。これは、一度オフラインで（実行前に）、命令コードを圧縮し、そのコードを、圧縮形式で、ファイルシステムに格納できることを意味している。ランタイム中には、解凍だけが必要である。そのようなシステムでは、コードの処理に対しては、読出し専用の手法で十分である。一方、データ領域は、異なる方法を必要とする。データは、実行中に動的に変化し、したがって、オンライン圧縮が必要である。データは、静的に初期化されたデータ（例えば、．ｂｓｓ領域）と、動的に割当てられたデータと、を含むことができる。静的に初期化されたデータは、固定量の空間を占めており、アプリケーション初期化時に、通常、ゼロで満たされているので、初期には、たいてい、非常に圧縮されやすい。他方、動的に割当てられたデータは、可変量のスペースを占めており、システムで実際に使用可能な記憶容量よりも大きい記憶容量を必要とする可能性があるので、組み込みシステムでは、しばしば回避される。静的に初期化されたデータおよび動的に初期化されたデータの両者は、書き込まれる可能性があるので、それらは共に、オンライン圧縮技法を必要とする。発明者達は、静的に初期化されたデータ領域および動的に割当てられたデータ領域が、共に、非常によく圧縮する連続するゼロの大きな領域のために、非常によく圧縮される傾向があることに気づいた。
【００１３】
開示された機構は、静的に初期化されたデータおよび動的に割当てられたデータの両方を、好都合に処理することができる、ということに留意されたい。
【００１４】
プログラムの実行中、非圧縮領域１２２の使用済み部分が増大していくと、以下でさらに説明するように、システムは、非圧縮領域１２２に格納されたデータから選択された部分を、動的に圧縮し、それによって、非圧縮領域１２２内で追加の空きスペースを使えるように構成される。システムは、圧縮されたデータへのランダムアクセスを維持するために、プロセッサ１１０によって必要とされた後に該システムが圧縮されたデータを検索できるように構成された圧縮記憶領域１２４を、圧縮データ用に割当てることが好ましい。圧縮記憶領域１２４は、２００４年６月１６日に出願された代理人整理番号０３０４１の「ＭＥＭＯＲＹ  ＣＯＭＰＲＥＳＳＩＯＮ  ＡＲＣＨＩＴＥＣＴＵＲＥ  ＦＯＲ  ＥＭＢＥＤＤＥＤ  ＳＹＳＴＥＭＳ」と題する同時係属中の、同一出願人による特許出願番号第１０／８６９９８５号に記載された記憶容量割当て技法に従って構成されることが好ましく、その内容は参照によって組み込まれているが、他の記憶領域割当て技法が、圧縮されたデータへのランダムアクセスを提供する限りは、それらを利用することができることに留意されたい。図１では、圧縮記憶領域１２４および非圧縮領域１２２が連続するように示されているが、２つが連続している必要がないことにも留意されたい。以下でさらに説明するように、圧縮記憶領域１２４は、非圧縮領域１２２全体にわたって広がる多くの不連続な記憶領域の部分で表すことができ、プログラムの実行中にシステムニーズが変化するにつれて、ある最小の大きさから増大そして縮小することができる。
【００１５】
図２は、非圧縮領域がプログラムの実行中に使い尽くされていく場合の、図１に示したシステムによって行われる処理の流れ図である。ステップ２１０で、システムは、例えば、非圧縮領域の空き記憶資源の量が、ある閾値未満に低下したと判断することによって、または、記憶要求を満たすことができない場合に、非圧縮資源が欠乏していると判断する。ステップ２２０で、システムは、圧縮するための、非圧縮領域内のデータを選択する。システムは、格納されているデータの形式、データを圧縮できる程度、データがプロセッサによって使用される頻度等に基づいて、その選択を行うことができる。システムは、そのようなデータを選択するために、周知の技法を使用することができ、通常、そのような技法は、物理メモリを拡張し、追加のメモリスペースとしてディスクを使用する仮想記憶を提供するために使用される。システムは、圧縮すべきデータを選択した後、ステップ２３０で、変換エンジンを用いてデータを変換、例えば、好都合な高速圧縮アルゴリズムを用いて、データを圧縮する。システムは、ステップ２４０で、圧縮記憶領域の現在空いている記憶資源に、圧縮データ用の空間を割り当てようとする。圧縮記憶領域が、圧縮されたデータに割当てられる現在空いている記憶資源を有しているなら、その場合、圧縮されたデータは、ステップ２５０で、圧縮記憶領域に移動される。ステップ２８０で、圧縮記憶領域および非圧縮領域の記憶容量の割当てを保存しているデータ構造が、更新される。圧縮記憶領域が、圧縮されたデータに割当てられる現在空いている記憶資源を十分有していないなら、その場合、システムは、より大きな記憶容量を、圧縮記憶領域に割当てようとし、それによって、圧縮記憶領域の大きさが拡張される。これは、以下でさらに説明するように、全記憶容量の中で、非圧縮領域が利用可能な箇所が減少することになるが、しかし、大きな圧縮可能データを、非圧縮領域から圧縮記憶領域に移動させることによって、より大きい非圧縮領域が使用可能になる。システムは、ステップ２６０で、より大きな記憶容量を圧縮記憶領域用に割当てることに成功したなら、その場合、ステップ２５０で、システムは、その圧縮されたデータを圧縮記憶領域に移動し始める。もし、そうでないなら、その場合には、システムは、ステップ２９０で、エラーを報告することができる。
【００１６】
あるいは、システムは、圧縮記憶階層を構築し、その圧縮記憶階層において、この圧縮記憶領域に割当てることができないデータを、次の圧縮記憶領域、または、ファイルシステム内の圧縮領域に、移動させることができる。
【００１７】
データが、非圧縮領域１２２から圧縮記憶領域１２４に移動された場合、システムは、どのデータが移動されたかと、そのデータを検索する方法と、の追跡を継続しなければならない。前述のように、任意の好都合な記憶容量割当て技法が利用可能であるが、図３で示すように、マッピングテーブルを利用して、圧縮記憶領域の中の圧縮されたデータを追跡することが特に好都合である。図３に示した圧縮記憶領域３２０は、実質的に連続するように表されているが、圧縮記憶領域３２０は、実際には、連続していてもそうでなくてもよい記憶装置のメモリアドレス範囲に割当てられることに留意されたい。したがって、そして、上記のように、領域１２２および１２４は、実際には、非連続な方式で一緒に組み合わされた圧縮された部分と圧縮されない部分とを有する１つの領域とすることができる。図３に示すように、データは、ブロック単位で圧縮されるのが好ましい。マッピングテーブル３１０は、圧縮ブロックごとに、エントリ３１１、３１２、３１３、・・・３１５を格納する。各エントリは、圧縮記憶領域における圧縮ブロック３２１、３２２、・・・３２３の記憶場所へのポインタである。したがって、データセグメント内の圧縮ブロック、例えば、図３の圧縮ブロック３２２への要求が受け取られると、その場合、システムは、圧縮ブロックの位置へのポインタを保持している、圧縮ブロック３２２用のマッピングテーブルエントリ、すなわち、エントリ３１２を見つけるだけでよい。圧縮記憶領域３２０の空きスペースは、空きスペースの記憶場所の連結リストによって表すことができる。システムが、新しく圧縮されたデータ用に、圧縮記憶領域３２０内のスペースを割当てる必要があるとき、システムは、連結リストを調べることができる。圧縮されたデータが、圧縮記憶領域３２０からアクセスされる場合、そのデータは、非圧縮領域に戻され、そのスペースは、空けられ、そして、空き記憶位置の結合リストに追加される。
【００１８】
上記で簡単に述べたように、圧縮記憶領域１２４は、何の制限もなくデータセグメントまたはある形式のデータセグメントを含むプログラムのある部分用に、確保されることができる。圧縮記憶領域の導入は、結果的に、ページ転送要求数の増加になるかもしれない、その理由は、今や作業スペース記憶容量が小さくなっており（その一部は、圧縮記憶領域に割当てられている）、全てのプロセスを実行するのに十分でないかもしれないからである。データの出し入れも、結果的に、解凍および圧縮時間のみならず、記憶アクセス時間を含むため、待ち時間の増加を招くことになる。しかし、システムは、一般に全物理的記憶容量が通常十分でなくても、今や、処理を実行することができる、すなわち、圧縮記憶領域は、より多くのアドレス可能な記憶スペースを有効に提供している。
【００１９】
プログラムの読出し専用部分（命令コードなど）は、非圧縮領域１２２から廃棄されることができ、そのシステムが初期プログラムおよびファイルを格納しているところならどこからでも、必要に応じて、そのシステムによって、リードバックされることができる。圧縮領域１２４の予め割当てられた部分に、プログラムの読出し専用部分を格納することも可能である。本発明は、装置の動作に必要なプログラムファイルを格納するいかなる特定のアーキテクチャにも限定されるものではない。
【００２０】
先に例示した記憶管理技法は、多くの異なった方法で、容易に実施できることに留意されたい。この技法は、装置のオペレーティングシステムのメモリ管理コードまたは関連コードに組み込まれることができる。あるいは、この技法は、プロセッサで実行されているアプリケーションに直接組み込まれることができる。
【００２１】
再び、本発明は、いかなる特定の変換またはいかなる特定の圧縮アルゴリズムにも限定されるものではないことに留意されたい。発明者等は、十分に大きく（好ましくは１ＫＢ以上）個別に圧縮されるべき記憶装置内の多くのバイトを選択することによって、多くの汎用圧縮アルゴリズムが良好な圧縮性能を有することを見出した。圧縮／解凍速度に関して、発明者等は、最高性能のアルゴリズムが、圧縮および解凍中に少量の記憶容量を使用するように構築された辞書ベースのアルゴリズムとなることを見出した。上記のアーキテクチャは、いかなる好都合な圧縮アルゴリズムも容易に「プラグイン」できるように構築されている。コードを圧縮するのに使用される圧縮アルゴリズムは、データまたは異なるタイプのデータを圧縮するのに使用される圧縮アルゴリズムと異なることがあることにも留意されたい。したがって、その構成を実行する場合は、命令コードは圧縮される必要がなく、そして、ゆっくり圧縮するが急速に解凍する命令コード用のアルゴリズムを使用する必要がないという利点がある。
【００２２】
本発明は、単一形態の変換に限定されるものでもない。上記変換エンジンは、選択されたデータ部分に複数の変換を行ってもよく、例えば、該エンジンは、選択された部分の圧縮を行い、次に、その圧縮されたデータについて暗号化を行ってもよい。あるいは、そのエンジンは、圧縮記憶領域の機密データブロックだけに選択的に暗号化および圧縮を行い、一方、圧縮記憶領域に常駐する他の形式のデータに圧縮を行ってもよい。
【００２３】
本発明の例示的図面および特定の実施形態を説明および例示したが、本発明の範囲は、説明した特定の実施形態に限定されないことが理解されるべきである。したがって、実施形態は、限定的であるよりも例示的と見なすべきであり、添付の特許請求の範囲に記載された本発明の範囲ならびに構造的等価物および機能的等価物から逸脱することなく、これらの実施形態に変更を加えることができることが、当業者には理解されよう。多くの変更のほんの１つとして、圧縮以外の変換が、本発明の趣旨において容易に利用されえることが理解されるであろう。さらに、本発明は、組み込みシステムに特に関連して説明されたが、本発明の基礎をなす原理は、一般に、組み込みシステムを越えて計算装置に適用可能である。
【図面の簡単な説明】
【００２４】
【図１】本発明の１つの態様の一実施形態に応じたシステムアーキテクチャを示している。
【図２】データが変換記憶領域に移されるとき、図１に示したシステムによって行われる処理の流れ図である。
【図３】変換記憶領域に記憶容量を割当てるマッピングテーブルの使用法の概念図を示す。
【図１】
2009500723.tif 000002
【図２】
2009500723.tif 000003
【図３】
2009500723.tif 000004