JP2007179537A - 埋め込み型システムのためのデマンドページング装置及び方法 - Google Patents

埋め込み型システムのためのデマンドページング装置及び方法 Download PDF

Info

Publication number
JP2007179537A
JP2007179537A JP2006320100A JP2006320100A JP2007179537A JP 2007179537 A JP2007179537 A JP 2007179537A JP 2006320100 A JP2006320100 A JP 2006320100A JP 2006320100 A JP2006320100 A JP 2006320100A JP 2007179537 A JP2007179537 A JP 2007179537A
Authority
JP
Japan
Prior art keywords
demand paging
memory
page fault
demand
window
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.)
Ceased
Application number
JP2006320100A
Other languages
English (en)
Inventor
Hyo-Jun Kim
曉 俊 金
Ji-Hyun In
至 ▲ひょん▼ 印
Dong-Hoon Ham
東 勳 咸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2007179537A publication Critical patent/JP2007179537A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 埋め込み型システムのためのデマンドページング装置及び方法を提供する。
【解決手段】 デマンドページングの対象となるコードとデータを保存している不揮発性保存装置と、要請されたページについての情報を不揮発性保存装置から読み取って処理する物理メモリと、不揮発性保存装置に保存されたアプリケーションプログラムが参照するアドレス空間の一部分であって、ページのフォルトを発生させてデマンドページングが行われるデマンドページングウィンドウと、デマンドページングウィンドウで発生したフォルトを処理するデマンドページング管理者と、を備える埋め込み型システムのためのデマンドページング装置。これにより、デマンドページングを支援しない運営体制を使用するシステムや、または運営体制を使用しないシステムでもデマンドページング技法を容易に使用できる。
【選択図】 図2

Description

本発明は、埋め込み型システムのためのデマンドページング装置及び方法に係り、より詳細には、デマンドページングを支援しない運営体制を使用するシステムや、または運営体制を使用しないシステムに適用する場合において、簡単かつ効率的にデマンドページング技法を使用可能にする、埋め込み型システムのためのデマンドページング装置及び方法に関する。
デマンドページングとは、仮想メモリシステムを使用する運営体制でハードディスクのような補助保存装置に仮想メモリを割り当て、ユーザの要求に応じて物理メモリをマッピングして制限されたメインメモリをさらに効率的に使用可能にする技法をいう。アプリケーションプログラムが必要とするコードとデータ量とが増加するにつれて、リナックスやウィンドウズ(登録商標)のような汎用運営体制では必須に使用する技法であるが、複雑なメカニズムのために埋め込み型システム(エンベッデッドシステム)では大部分この機能を支援していない。メモリシステム自体が汎用運営体制の動作と大きく関連されているためである。すなわち、デマンドページング技法を支援する運営体制を使用しない以上、デマンドページング技法を使用し難いことが現実である。
図1Aは、従来技術によるデマンドページングを支援する運営体制システムでのデマンドページング装置を示す図面である。前記図1Aを参照すれば、制限された大きさを持つ物理メモリ30、デマンドページングのために仮想メモリ空間を生成する補助保存装置40、アプリケーションプログラム役割を行う各プロセスの仮想アドレス空間10、20、及びデマンドページングを管理する運営体制50で構成される。プロセスが生成される時、運営体制50が該当プロセスのための仮想メモリ空間を補助保存装置40に生成し、以後プロセスが仮想メモリ空間への接近を試みれば、物理メモリ30に適当な空間を割り当てて接近が試みられた仮想メモリ空間にある内容を補助保存装置40から読み取った後、プロセスの仮想アドレス空間10、20にマッピングさせてアプリケーションプログラムを行わせる。この時、各プロセスの仮想アドレス空間10、20は、カーネル領域とユーザ領域とに大別され、このうち、カーネル領域中で運営体制のコードと静的データとが積載される空間は、物理メモリ30に同じ大きさの空間がそのまま確保される。残りの空間についてはいずれもデマンドページング技法が適用されるが、ユーザプログラムの観点から見れば、あらゆるコードとデータとがデマンドページング技法の適用を受けることになる。
図1Bは、従来技術によるデマンドページングを使用しないシステムを示す図面である。前記図1Bを参照すれば、まず、アプリケーションプログラムが見て使用するアドレス空間60、実際システムに存在する制限された大きさの物理メモリ70、及びアプリケーションプログラムが保存されている補助保存装置80、及び補助保存装置80に入っていて物理メモリ70にロードされて、アドレス空間60にマッピングされるアプリケーションプログラム90で構成される。前記のようなシステムでは、プロセス間の領域区分なしに全体メモリ空間を共有するようになるが、アドレス空間60には物理メモリ70がそのままマッピングされるので、システムの物理メモリ70より大きいプログラムは実行できない。一般的に補助保存装置80に入っているプログラム90は、ブートローダーにより物理メモリ70に載せられて行われる。
一方、デマンドページングの適用に当たって運営体制の次元でデマンドページングを支援する方式を使用する前記図1Aの方式の場合、運営体制自体を取り替えねばならない問題がある。また、大部分の埋め込み型システム用運営体制は、タスク別仮想アドレス空間を支援せずに既存のデマンドページング方式を導入することが非常に困難である。デマンドページングを支援する運営体制に変更して使用するとしても、アプリケーションプログラムの立場ではプログラムのどの部分がどの瞬間にデマンドページングにより実行が遅延されるかを予測し難くて、リアルタイム応答を必要とする応用に適用し難いという問題がある。
また、デマンドページングを使用しないシステムの前記図1Bの場合には、順次増加するコードの量とデータの量とを耐え難いという問題がある。また、直接実行が不可能な不揮発性メモリであるNANDフラッシュメモリやハードディスクなどをシステムに採択する場合には、前記保存装置に記録されているプログラムを実行させるためには、プログラムの大きさほどRAMを割り当てねばならないという問題がある。
本発明は、前記のような問題点を解決するためになされたものであり、本発明が解決しようとする技術的課題は、デマンドページングを支援しない運営体制を使用するシステムやまたは運営体制を使用しないシステムでもデマンドページング技法を容易に使用できる、埋め込み型システムのためのデマンドページング装置及び方法を提供するところにある。
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
前述した目的を達成するために本発明の一実施形態による埋め込み型システムのためのデマンドページング装置は、デマンドページングの対象となるコードとデータを保存している不揮発性保存装置と、要請されたページについての情報を前記不揮発性保存装置から読み取って処理する物理メモリと、前記不揮発性保存装置に保存されたアプリケーションプログラムが参照するアドレス空間の一部分であって、前記ページのフォルトを発生させてデマンドページングが行われるデマンドページングウィンドウと、前記デマンドページングウィンドウで発生したフォルトを処理するデマンドページング管理者と、を備える。
前記デマンドページング管理者は、前記物理メモリの一部を割り当てられてデマンドページングを行うためのデマンドページングメモリプールを生成することが望ましい。
望ましくは、前記デマンドページングメモリプールは、前記デマンドページングウィンドウ内の仮想メモリ空間にマッピングされるフレームバッファと、前記マッピングに関する情報をメモリ管理装置に知らせるメモリ変換テーブルと、前記フレームバッファを管理する資料構造であるフレームバッファリストと、を含む。
望ましくは、前記デマンドページング管理者は、前記デマンドページング管理者を初期化して前記メモリ管理装置を活性化させるインターフェースモジュールと、前記インターフェースモジュールの要請に応じて前記フレームバッファと前記フレームバッファリストとを初期化するページキャッシュ管理モジュールと、前記活性化されたメモリ管理装置により発生したページフォルトが前記デマンドページングウィンドウ領域で発生したかどうかを判断することによって前記ページフォルトを処理するページフォルト処理モジュールと、を備える。
さらに望ましくは、前記インターフェースモジュールは、前記アプリケーションプログラムから所定情報と共に前記デマンドページングウィンドウの生成が要請されるアプリケーションプログラムインターフェースと、前記デマンドページングメモリプールからメモリを割り当てられて前記デマンドページングウィンドウの領域に対するメモリ変換テーブルを生成するメモリ変換テーブル生成部と、前記ページフォルト処理モジュールを中央処理装置に登録するページフォルトハンドラ設置部と、前記登録されたページフォルト処理モジュールを呼び出すメモリ管理装置を制御するメモリ管理装置制御部と、を備える。
望ましくは、前記不揮発性保存装置は、NANDフラッシュメモリである。
前述した目的を達成するために本発明の一実施形態による埋め込み型システムのためのデマンドページング方法は、(a)不揮発性保存装置に保存されているアプリケーションプログラムの要請に応じて、デマンドページングが行われる領域であるデマンドページングウィンドウを生成するステップと、(b)前記デマンドページングウィンドウで発生するページフォルトを処理するデマンドページング管理者を初期化して、メモリ管理装置を活性化させるステップと、(c)前記デマンドページングウィンドウで前記ページフォルトが発生した場合、前記活性化されたメモリ管理装置を利用して中央処理装置に登録されたページフォルト処理モジュールを呼び出すステップと、(d)前記呼び出されたページフォルト処理モジュールを利用して、前記ページフォルトが前記デマンドページングウィンドウで発生したかどうかを判断するステップと、(e)前記デマンドページングウィンドウで発生したページフォルトである場合、前記ページフォルト処理モジュールが前記ページフォルトを処理するステップと、を含む。
望ましくは、前記(b)ステップは、(b1)前記アプリケーションプログラムから所定情報と共に前記デマンドページングウィンドウの生成が要請されるステップと、(b2)運営体制によりメモリを割り当てられて前記デマンドページングウィンドウ領域に対するメモリ変換テーブルを生成するステップと、(b3)ページフォルトインタラプトの発生時に行われるページフォルト処理モジュールを中央処理装置に登録するステップと、(b4)前記登録されたページフォルト処理モジュールを呼び出すメモリ管理装置を活性化するステップと、を含む。ここで、前記情報は、前記デマンドページングウィンドウが占める大きさとアドレス、前記デマンドページングを行うために要求されるメモリの大きさ、及び前記不揮発性保存装置に保存されている前記コードと前記データの位置に関する情報を含む。
望ましくは、前記(e)ステップは、(e1)前記デマンドページングウィンドウで発生したページフォルトである場合、前記デマンドページング管理者がデマンドページングメモリプールの内部にフレームバッファを割り当てられるステップと、(e2)前記フレームバッファを利用して、前記ページフォルト処理モジュールが前記不揮発性保存装置からページを読み取るステップと、(e3)前記ページを読み取った結果に従って前記メモリ変換テーブルを修正するステップと、を含む。
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
本発明の実施形態による埋め込み型システムのためのデマンドページング装置及び方法によれば、デマンドページングを支援しない運営体制を使用するシステムや、または運営体制を使用しないシステムでもデマンドページング技法を容易に使用できる。
また、本発明の実施形態によれば、コンポーネント形式でデマンドページング管理者を提供することによって、運営体制の次元でないアプリケーションプログラムの次元で直接デマンドページング機能を自由に制御できる。したがって、システムが必要とするメインメモリの使用量を低減できて製品の低コスト化ができる。
本発明の効果は、以上で言及した効果に制限されず、言及されていないさらに他の効果は特許請求の記載から当業者に明確に理解されうる。
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
以下、本発明の望ましい実施形態によってあらかじめ定義された、埋め込み型システムのためのデマンドページング装置及び方法を説明するためのブロック図またはフローチャートを参照してさらに詳細に説明する。この時、フローチャートの各ブロックとフロ−チャートの組合わせはコンピュータプログラムインストラクションにより実行可能なのが理解できるであろう。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーに搭載されうるので、コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーを通じて実行されるそのインストラクションがフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラムインストラクションは特定方式で機能を具現するためにコンピュータまたはその他のプログラマブルデータプロセッシング装備を指向できるコンピュータ利用可能またはコンピュータ判読可能メモリに保存されることも可能なので、そのコンピュータ利用可能またはコンピュータ判読可能メモリに保存されたインストラクションはフローチャートのブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションはコンピュータまたはその他のプログラム可能なデータプロセッシング装備上に搭載することも可能なので、コンピュータまたはその他のプログラマブルデータプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラマブルデータプロセッシング装備を行うインストラクションはフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能であるということに注目せねばならない。例えば、連続して図示されている2つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
図2は、本発明の一実施形態による埋め込み型システムのためのデマンドページング装置の概念を示すブロック構成図である。前記図2を参照して説明すれば、埋め込み型システムのためのデマンドページング装置は、アドレス空間110内のデマンドページングウィンドウ100、物理メモリ200、不揮発性保存装置300、及びデマンドページング管理者400を備える。
不揮発性保存装置300は、デマンドページングの対象となるコードとデータを保存している空間であり、電源が切れても記憶装置に保存されている情報がそのまま維持されることができて、電源が供給されれば再び保存された情報を使用できる記憶装置であり、フラッシュメモリやROM(リードオンリメモリ)、磁気テープ、磁気ディスクなどを意味する。特に、フラッシュメモリは、データの保存と削除が自由であり、内部方式によってNOR型とNAND型とに分けられるが、NOR型フラッシュメモリは、セルが並列に連結された方式であり、NAND型フラッシュメモリは、セルが直列に連結された構造である。NAND型は、NOR型に比べて低コストであり、大容量が可能であるという長所がある一方、NOR型は、NAND型に比べてデータのアクセスタイムが短くてデータの安定性が優秀であるという長所がある。本発明の実施形態では、埋め込み型システムのアプリケーションプログラムが直接デマンドページング機能を制御できるという実益を確保するために、不揮発性保存装置300としてNAND型フラッシュメモリを使用することが望ましい。
物理メモリ200は、要請されたページについての情報を不揮発性保存装置300から読み取って処理する場所であり、一般的にRAMが使われる。
デマンドページングウィンドウ100は、不揮発性保存装置300に保存されているアプリケーションプログラムが見て参照するアドレス空間110の一部分であり、前記ページのフォルトを発生させてデマンドページングが行われる領域である。デマンドページングウィンドウ100は、運営体制に関係なくユーザプログラムにより生成され、このためにアプリケーションプログラムレベルでデマンドページング管理者400を初期化してデマンドページングウィンドウ100を登録する。このような登録過程は、数回反復できて複数のデマンドページングウィンドウ100を同時に使用できる。デマンドページングウィンドウ100の登録を終えれば、デマンドページング管理者400にデマンドページングウィンドウ100の活性化を要請することによってデマンドページングウィンドウ100が活性化される。
デマンドページング管理者400は、デマンドページングウィンドウ100で発生するページフォルトを処理する役割を行う。デマンドページング管理者400の細部構成については、図3に表示されているが、図3は、デマンドページング装置の構成のうち、デマンドページング管理者400と物理メモリメモリプール200Aの構成を示す図面である。前記図3を参照すれば、デマンドページング管理者400は、物理メモリ200からメモリの一部を割り当てられてデマンドページングを行うためのデマンドページングメモリプール200Aを生成する。
デマンドページングメモリプール200Aは、デマンドページングウィンドウ100内の仮想メモリ空間にマッピングされる物理メモリで構成されたフレームバッファ220、前記マッピングに関する情報をメモリ管理装置500に知らせるメモリ変換テーブル210、及びフレームバッファ220を管理するための資料構造であるフレームバッファリスト230を含む。
また、前記図3を参照すれば、デマンドページング管理者400は、インターフェースモジュール410、ページキャッシュ管理モジュール420、及びページフォルト処理モジュール430を備える。
デマンドページングウィンドウ100は、運営体制に関係なくアプリケーションプログラムにより生成されねばならず、本発明のデマンドページング装置を利用してページフォルトを処理するためにはデマンドページング管理者400を初期化する必要があるが、インターフェースモジュール410がこのような機能を行うことによって前記メモリ管理装置を活性化させる。
ページキャッシュ管理モジュール420は、インターフェースモジュール410の要請に応じてフレームバッファ220とフレームバッファリスト230とを初期化する役割を行うが、これで、フレームバッファ220とフレームバッファリスト230とが生成される。
ページフォルト処理モジュール430は、前記活性化されたメモリ管理装置により呼び出される一種のページフォルトハンドラであり、ページフォルトインタラプトが発生した場合に、前記インタラプトがデマンドページングウィンドウ100領域で発生したかどうかを判断することによって、前記ページフォルトを処理する役割を行う。
ここで、インターフェースモジュール410は、本発明の装置がデマンドページング機能を行うために行われる初期化過程を担当することもあるが、これは図4を参照して説明する。
図4は、前記デマンドページング管理者の構成のうち、インターフェースモジュール410の構成を示す図面である。
アプリケーションプログラムインターフェース412は、前記アプリケーションプログラムから所定情報と共にデマンドページングウィンドウ100の生成が要請される役割を行う。ここで、前記所定情報とは、デマンドページングウィンドウ100が占める大きさとアドレス、デマンドページングメモリプール200Aの大きさ、及び不揮発性保存装置300に保存されているコードとデータとの位置に関する情報を含む情報をいう。
メモリ変換テーブル生成部414は、デマンドページングメモリプール200Aからメモリを割り当てられてデマンドページングウィンドウ100の領域に対するメモリ変換テーブル210を生成する役割を行う。この時、メモリ管理装置500の活性化如何によって動作の差が生じる。
もし、メモリ管理装置500が非活性化されている状態ならば、デマンドページング管理者400は、全体アドレス空間に対するメモリ変換テーブル210を改めてCPUに登録せねばならない。メモリ管理装置500を活性化するためには、メモリ変換テーブル210が常に必要であるためである。しかし、もし、メモリ管理装置500が既に活性化されている状態ならば、システムに登録されたメモリ変換テーブル210が全体アドレス空間に対して既に存在するということを意味するので、デマンドページング管理者400が新たに全体テーブルを作る必要はない。メモリ管理装置500の活性化如何に関係なく、前記の過程を経れば全体アドレス空間に対するメモリ変換テーブル210が存在する。
尚、デマンドページングウィンドウ100領域に対するメモリ変換テーブル210を修正してページフォルトインタラプトが発生するように措置せねばならないが、メモリ変換テーブル210にCPUが認識する特定値を書き込めば、該当メモリを読み出すか書き込む時、ページフォルトインタラプトが発生する。すなわち、この過程は、デマンドページングウィンドウ100領域でページフォルトインタラプトを発生させるために、メモリ変換テーブル210を初期化する過程であるといえる。
ページフォルトハンドラ設置部416は、ページフォルト処理モジュール430を中央処理装置に登録する役割を行う。ページフォルトインタラプトが発生すれば、MMUは、中央処理装置に登録されているページフォルトハンドラという特定ルーチンを呼び出すが、本発明では、前記ページフォルトハンドラに該当する役割を行うものがページフォルト処理モジュール430であるので、あらかじめ中央処理装置にページフォルト処理モジュール430を登録せねばならない。
メモリ管理装置制御部418は、登録されたページフォルト処理モジュール430を呼び出すメモリ管理装置500を制御する役割を行う。前記のような実施例で使われる“部”という用語、すなわち、“モジュール”あるいは“テーブル”は、ソフトウェアまたはFPGAまたはASICのようなハードウェア構成要素を意味し、モジュールは所定の役割を行う。しかし、モジュールはソフトウェアまたはハードウェアに限定されるものではない。モジュールはアドレッシングできる保存媒体に位置すべく構成されても良く、1つまたはそれ以上のプロセッサーを再生させるように構成されても良い。したがって、一例としてモジュールはソフトウェア構成要素、客体向けソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャー、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ及び変数を含む。構成要素とモジュール内で提供される機能はより少数の構成要素及びモジュールに結合されるか、追加的な構成要素とモジュールにさらに分離されうる。のみならず、構成要素及びモジュールはディバイスまたは保安マルチメディアカード内の1つまたはそれ以上のCPUを再生させるように具現されることもある。
さらに、本発明の実施形態によるデマンドページング方法が行われる過程を、図5及び図6を参照して説明する。図5は、本発明の一実施形態による埋め込み型システムのためのデマンドページング方法の概念を示すフローチャートであり、図6は、デマンドページング管理者の初期化過程を示すフローチャートである。
まず、不揮発性保存装置300に保存されているアプリケーションプログラムの要請に応じて、デマンドページングが行われる領域であるデマンドページングウィンドウ100を生成する(S110)。次いで、デマンドページングウィンドウ100で発生するページフォルトを処理するデマンドページング管理者400を初期化することによって、メモリ管理装置を活性化する(S120)。
前記の初期化過程を前記図6を参照して詳細に説明すれば、まずユーザが使用するアプリケーションプログラムは、デマンドページング管理者400に仮想のアドレス空間110内にデマンドページングウィンドウ100を生成することを要請する(S122)。ここで、アプリケーションプログラムは、所定情報を共にデマンドページング管理者400に渡すが、デマンドページングウィンドウ100が仮想のアドレス空間110内で占める大きさとアドレス、前記デマンドページングを行うために要求されるデマンドページングメモリプール200Aの大きさ、及び不揮発性保存装置300に保存されているコードとデータの位置に関する情報などを渡す。
デマンドページングウィンドウが生成されれば、運営体制によりメモリを割り当てられてデマンドページングウィンドウ100領域に対するメモリ変換テーブルを生成する(S124)。そして、ページフォルトインタラプトの発生時にインタラプトを処理するハンドラであるページフォルト処理モジュール430を中央処理装置に登録し(S126)、登録されたページフォルト処理モジュール430を呼び出すメモリ管理装置を活性化するステップ(S128)を行うことによって初期化を完了する。
一方、初期化過程を経た後、デマンドページングウィンドウ100で前記ページフォルトが発生した場合、活性化された前記メモリ管理装置を利用して中央処理装置に登録されているページフォルトハンドラであるページフォルト処理モジュール430を呼び出す(S130)。
呼び出されたページフォルト処理モジュール430は、前記ページフォルトがデマンドページングウィンドウ100で発生したかどうかを判断する(S140)。デマンドページングウィンドウ100で発生したページフォルトである場合には、ページフォルト処理モジュール430が前記ページフォルトを処理するステップ(S150)を行い、デマンドページングウィンドウ100で発生したページフォルトではない他の領域で発生した場合ならば、既存に登録されたページフォルトハンドラで処理する(S160)。
S150過程を詳細に説明すれば、デマンドページングウィンドウ100で発生したページフォルトである場合、デマンドページング管理者400がデマンドページングメモリプール200Aの内部にフレームバッファ220を割り当てられ、割り当てられたフレームバッファ220を利用してページフォルト処理モジュール430が不揮発性保存装置300からページを読み取る。前記ページを読み取った結果に従って前記メモリ変換テーブルを修正すればよい。ここで、前述した不揮発性保存装置300はNAND型フラッシュメモリであることが望ましい。
本発明の実施形態で提案するデマンドページングウィンドウは、既存運営体制がプロセスの全体空間をいずれもデマンドページング技法で管理したのに対し、アプリケーションプログラムが使用する物理メモリ空間の一部を割り当ててデマンドページング技法を適用させることである。デマンドページングウィンドウ領域ではない空間は、既存の物理メモリシステムで使用したものと同一に使用でき、デマンドページングウィンドウ領域と設定されたメモリの一部領域に対しては制限された容量の物理メモリを使用して、大きなサイズの不揮発性保存装置に入っているコードとデータへの接近が可能になる。アプリケーションプログラムの全体メモリ空間のうち一部のみをアプリケーションプログラムが主導的にデマンドページングウィンドウと設定するために、デマンドページングウィンドウで行われるコードと、そうでなくて速い応答時間を保証せねばならないコードとに容易に区分可能である。したがって、既存リアルタイム運営体制を使用したアプリケーションプログラムでもデマンドページング技法を使用できるようになる。
一方、本発明の権利範囲は、前記のような埋め込み型システムのためのデマンドページング方法をコンピュータで行うためのプログラムコードを記録したコンピュータで読み取り可能な記録媒体にもおよぶということは当業者に自明なことである。
以上、添付図を参照して本発明の実施例を説明したが、本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例は全ての面で例示的なものであって、限定的なものではないと理解せねばならない。本発明の範囲は詳細な説明よりは特許請求の範囲により表れ特許請求の範囲の意味及び範囲、そしてその等価概念から導かれるあらゆる変更または変形された形態が本発明の範囲に含まれると解釈されねばならない。
本発明は、デマンドページング装置関連の技術分野に好適に用いられる。
従来技術によるデマンドページングを支援する運営体制システムでのデマンドページング装置を示す図である。 従来技術によるデマンドページングを使用しないシステムを示す図である。 本発明の一実施形態による埋め込み型システムのためのデマンドページング装置の概念を示すブロック構成図である。 前記デマンドページング装置の構成のうち、デマンドページング管理者と物理メモリの構成を示す図である。 前記デマンドページング管理者の構成のうち、インターフェースモジュールの構成を示す図である。 本発明の一実施形態による埋め込み型システムのためのデマンドページング方法の概念を示すフローチャートである。 前記デマンドページング管理者の初期化過程を示すフローチャートである。
符号の説明
100 デマンドページングウィンドウ
110 アドレス空間
200 物理メモリ
300 不揮発性保存装置
400 デマンドページング管理者

Claims (13)

  1. デマンドページングの対象となるコードとデータを保存している不揮発性保存装置と、
    要請されたページについての情報を前記不揮発性保存装置から読み取って処理する物理メモリと、
    前記不揮発性保存装置に保存されたアプリケーションプログラムが参照するアドレス空間の一部分であって、前記ページのフォルトを発生させてデマンドページングが行われるようにするデマンドページングウィンドウと、
    前記デマンドページングウィンドウで発生したフォルトを処理するデマンドページング管理者と、を備える埋め込み型システムのためのデマンドページング装置。
  2. 前記デマンドページング管理者は、前記物理メモリの一部を割り当てられてデマンドページングを行うためのデマンドページングメモリプールを生成する請求項1に記載の埋め込み型システムのためのデマンドページング装置。
  3. 前記デマンドページングメモリプールは、
    前記デマンドページングウィンドウ内の仮想メモリ空間にマッピングされるフレームバッファと、
    前記マッピングに関する情報をメモリ管理装置に知らせるメモリ変換テーブルと、
    前記フレームバッファを管理する資料構造であるフレームバッファリストと、を含む請求項2に記載の埋め込み型システムのためのデマンドページング装置。
  4. 前記デマンドページング管理者は、
    前記デマンドページング管理者を初期化して前記メモリ管理装置を活性化させるインターフェースモジュールと、
    前記インターフェースモジュールの要請に応じて前記フレームバッファと前記フレームバッファリストとを初期化するページキャッシュ管理モジュールと、
    前記活性化されたメモリ管理装置により発生したページフォルトが前記デマンドページングウィンドウ領域で発生したかどうかを判断することによって前記ページフォルトを処理するページフォルト処理モジュールと、を備える請求項3に記載の埋め込み型システムのためのデマンドページング装置。
  5. 前記インターフェースモジュールは、
    前記アプリケーションプログラムから所定情報と共に前記デマンドページングウィンドウの生成が要請されるアプリケーションプログラムインターフェースと、
    前記デマンドページングメモリプールからメモリを割り当てられて前記デマンドページングウィンドウの領域に対するメモリ変換テーブルを生成するメモリ変換テーブル生成部と、
    前記ページフォルト処理モジュールを中央処理装置に登録するページフォルトハンドラ設置部と、
    前記登録されたページフォルト処理モジュールを呼び出すメモリ管理装置を制御するメモリ管理装置制御部と、を備える請求項4に記載の埋め込み型システムのためのデマンドページング装置。
  6. 前記情報は、前記デマンドページングウィンドウが占める大きさとアドレス、前記デマンドページングメモリプールの大きさ、及び前記不揮発性保存装置に保存されている前記コードと前記データの位置に関する情報を含む請求項5に記載の埋め込み型システムのためのデマンドページング装置。
  7. 前記不揮発性保存装置は、NANDフラッシュメモリである請求項1に記載の埋め込み型システムのためのデマンドページング装置。
  8. (a)不揮発性保存装置に保存されているアプリケーションプログラムの要請に応じて、デマンドページングが行われる領域であるデマンドページングウィンドウを生成するステップと、
    (b)前記デマンドページングウィンドウで発生するページフォルトを処理するデマンドページング管理者を初期化して、メモリ管理装置を活性化させるステップと、
    (c)前記デマンドページングウィンドウで前記ページフォルトが発生した場合、前記活性化されたメモリ管理装置を利用して中央処理装置に登録されたページフォルト処理モジュールを呼び出すステップと、
    (d)前記呼び出されたページフォルト処理モジュールを利用して、前記ページフォルトが前記デマンドページングウィンドウで発生したかどうかを判断するステップと、
    (e)前記デマンドページングウィンドウで発生したページフォルトである場合、前記ページフォルト処理モジュールが前記ページフォルトを処理するステップと、を含む埋め込み型システムのためのデマンドページング方法。
  9. 前記(b)ステップは、
    (b1)前記アプリケーションプログラムから所定情報と共に前記デマンドページングウィンドウの生成が要請されるステップと、
    (b2)運営体制によりメモリを割り当てられて前記デマンドページングウィンドウ領域に対するメモリ変換テーブルを生成するステップと、
    (b3)ページフォルトインタラプトの発生時に行われるページフォルト処理モジュールを中央処理装置に登録するステップと、
    (b4)前記登録されたページフォルト処理モジュールを呼び出すメモリ管理装置を活性化するステップと、を含む請求項8に記載の埋め込み型システムのためのデマンドページング方法。
  10. 前記情報は、前記デマンドページングウィンドウが占める大きさとアドレス、前記デマンドページングを行うためにデマンドされるメモリの大きさ、及び前記不揮発性保存装置に保存されている前記コードと前記データの位置に関する情報を含む請求項9に記載の埋め込み型システムのためのデマンドページング方法。
  11. 前記(e)ステップは、
    (e1)前記デマンドページングウィンドウで発生したページフォルトである場合、前記デマンドページング管理者がデマンドページングメモリプールの内部にフレームバッファを割り当てられるステップと、
    (e2)前記フレームバッファを利用して、前記ページフォルト処理モジュールが前記不揮発性保存装置からページを読み取るステップと、
    (e3)前記ページを読み取った結果に従って前記メモリ変換テーブルを修正するステップと、を含む請求項9に記載の埋め込み型システムのためのデマンドページング方法。
  12. 前記不揮発性保存装置は、NANDフラッシュメモリである請求項8ないし11のうちいずれか1項に記載の埋め込み型システムのためのデマンドページング方法。
  13. 請求項8ないし11のうちいずれか1項に記載の方法をコンピュータで行うためのプログラムコードを記録したコンピュータによって読み取り可能な記録媒体。
JP2006320100A 2005-12-27 2006-11-28 埋め込み型システムのためのデマンドページング装置及び方法 Ceased JP2007179537A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050130804A KR100755701B1 (ko) 2005-12-27 2005-12-27 내장형 시스템을 위한 요구 페이징 장치 및 방법

Publications (1)

Publication Number Publication Date
JP2007179537A true JP2007179537A (ja) 2007-07-12

Family

ID=37897431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006320100A Ceased JP2007179537A (ja) 2005-12-27 2006-11-28 埋め込み型システムのためのデマンドページング装置及び方法

Country Status (6)

Country Link
US (1) US7617381B2 (ja)
EP (1) EP1811384B1 (ja)
JP (1) JP2007179537A (ja)
KR (1) KR100755701B1 (ja)
CN (1) CN100456266C (ja)
DE (1) DE602006020015D1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144358B1 (en) * 2006-12-20 2012-03-27 Marvell International Ltd. Providing demonstration page information in an imaging device
KR101352512B1 (ko) * 2007-01-15 2014-01-17 삼성전자주식회사 효율적인 메모리 사용을 위한 스택 관리 장치 및 방법
KR100866627B1 (ko) * 2007-01-29 2008-11-03 삼성전자주식회사 컨트롤 플로우를 이용한 페이지 프리로드 방법 및 그시스템
US20080229050A1 (en) * 2007-03-13 2008-09-18 Sony Ericsson Mobile Communications Ab Dynamic page on demand buffer size for power savings
GB2460462A (en) * 2008-05-30 2009-12-02 Symbian Software Ltd Method for loading software components into RAM by modifying the software part to be loaded based on the memory location to be used.
GB2461499A (en) * 2008-05-30 2010-01-06 Symbian Software Ltd Loading software stored in two areas into RAM, the software in a first area is loaded whole and from a second it is demand paged loaded.
GB2460636A (en) * 2008-05-30 2009-12-09 Symbian Software Ltd Storing operating-system components in paged or unpaged parts of memory
US8352940B2 (en) * 2008-06-09 2013-01-08 International Business Machines Corporation Virtual cluster proxy to virtual I/O server manager interface
WO2010118416A2 (en) * 2009-04-10 2010-10-14 Vision Genesis, Inc. Software database system and process of building and operating the same
CN102117184B (zh) * 2010-01-05 2017-06-27 联想(北京)有限公司 用于多存储器的控制器、终端设备及其启动和访问方法
US20120236010A1 (en) * 2011-03-15 2012-09-20 Boris Ginzburg Page Fault Handling Mechanism
WO2012113206A1 (zh) 2011-08-15 2012-08-30 展讯通信(上海)有限公司 移动终端中请求页面调度方法、控制器以及移动终端
US10114758B2 (en) * 2013-09-13 2018-10-30 Nvidia Corporation Techniques for supporting for demand paging
EP3153971B1 (en) * 2015-10-08 2018-05-23 Huawei Technologies Co., Ltd. A data processing apparatus and a method of operating a data processing apparatus
US10733096B2 (en) * 2017-11-22 2020-08-04 Samsung Electronics Co., Ltd. System and method for frame buffer
KR102202211B1 (ko) 2019-03-28 2021-01-13 국민대학교산학협력단 애플리케이션의 로딩 성능 개선을 위한 입출력 최적화 장치 및 방법
US11392739B1 (en) 2019-08-10 2022-07-19 MIFrontiers Method and system for processing big data
KR102400977B1 (ko) * 2020-05-29 2022-05-25 성균관대학교산학협력단 프로세서를 통한 페이지 폴트 처리 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04344549A (ja) * 1991-05-21 1992-12-01 Nec Corp 計算機システムにおけるページ割り当て方式
JPH0524539B2 (ja) * 1988-11-21 1993-04-08 Intaanashonaru Bijinesu Mashiinzu Corp
JP2000222140A (ja) * 1999-01-28 2000-08-11 Seiko Epson Corp プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体
WO2003014923A2 (en) * 2001-08-06 2003-02-20 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
WO2005013125A1 (en) * 2003-08-01 2005-02-10 Symbian Software Limited A method of accessing data in a computing device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
KR960701404A (ko) 1993-02-12 1996-02-24 마크 티.스타 요구-페이지 가상 메모리를 갖는 컴퓨터 워크스테이션(computer workstation having demand-paged virtual memory)
US6349375B1 (en) * 1994-02-02 2002-02-19 Compaq Computer Corporation Compression of data in read only storage and embedded systems
JP3898369B2 (ja) * 1999-02-10 2007-03-28 富士通株式会社 ページング処理装置および記録媒体
JP2000235414A (ja) 1999-02-16 2000-08-29 Toyota Motor Corp 自動走行システム
US6862651B2 (en) * 2000-12-20 2005-03-01 Microsoft Corporation Automotive computing devices with emergency power shut down capabilities
CN1521634A (zh) * 2003-02-11 2004-08-18 连邦科技股份有限公司 虚拟nor型闪存
US6947051B2 (en) * 2003-02-18 2005-09-20 Microsoft Corporation Video memory management
CN1285039C (zh) * 2003-02-18 2006-11-15 精品科技股份有限公司 具有虚拟空间加密隐藏数据的方法
KR20040102826A (ko) * 2003-05-29 2004-12-08 유티스타콤코리아 유한회사 실시간 운영체제에서 소프트웨어적인 메모리 보호 방법
JP2005078419A (ja) * 2003-09-01 2005-03-24 Ricoh Co Ltd 情報処理装置及びファイル管理方法
KR20050075533A (ko) 2004-01-15 2005-07-21 엘지전자 주식회사 개인용 휴대단말기의 디멘드 페이징 방법 및 페이지 내에관련 페이지 정보를 입력하는 방법
US8239673B2 (en) * 2004-04-08 2012-08-07 Texas Instruments Incorporated Methods, apparatus and systems with loadable kernel architecture for processors
US7941799B2 (en) * 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US7457909B2 (en) * 2005-01-14 2008-11-25 Angelo Di Sena Controlling operation of flash memories

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0524539B2 (ja) * 1988-11-21 1993-04-08 Intaanashonaru Bijinesu Mashiinzu Corp
JPH04344549A (ja) * 1991-05-21 1992-12-01 Nec Corp 計算機システムにおけるページ割り当て方式
JP2000222140A (ja) * 1999-01-28 2000-08-11 Seiko Epson Corp プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体
WO2003014923A2 (en) * 2001-08-06 2003-02-20 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
WO2005013125A1 (en) * 2003-08-01 2005-02-10 Symbian Software Limited A method of accessing data in a computing device

Also Published As

Publication number Publication date
KR100755701B1 (ko) 2007-09-05
US7617381B2 (en) 2009-11-10
US20070150695A1 (en) 2007-06-28
DE602006020015D1 (de) 2011-03-24
CN1991796A (zh) 2007-07-04
EP1811384A2 (en) 2007-07-25
KR20070068801A (ko) 2007-07-02
CN100456266C (zh) 2009-01-28
EP1811384A3 (en) 2008-02-06
EP1811384B1 (en) 2011-02-09

Similar Documents

Publication Publication Date Title
JP2007179537A (ja) 埋め込み型システムのためのデマンドページング装置及び方法
US9384007B2 (en) Memory virtualization-based snapshot boot apparatus and method
JP6074038B2 (ja) 共用記憶域上にある仮想ディスクのトランスペアレントなホスト側キャッシング
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
US9058197B2 (en) Method for sharing memory of virtual machine and computer system using the same
US20110213954A1 (en) Method and apparatus for generating minimum boot image
KR102443600B1 (ko) 하이브리드 메모리 시스템
KR102434170B1 (ko) 하이브리드 메모리 시스템
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
JP5422652B2 (ja) フラッシュメモリ記憶装置における動的メモリ割当てに起因する自己エビクションの回避
KR101740317B1 (ko) 메모리 관리 방법 및 장치
KR101996641B1 (ko) 메모리 오버레이 장치 및 방법
KR102443593B1 (ko) 하이브리드 메모리 시스템
US9361124B2 (en) Computer system and startup method
JP2009134565A (ja) 仮想計算機システム及び仮想計算機システムの制御方法
US10936045B2 (en) Update memory management information to boot an electronic device from a reduced power mode
US8521988B2 (en) Control system and control method of virtual memory
KR100994723B1 (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체
KR101990201B1 (ko) 뉴메모리 기반 메모리 관리 방법 및 이를 수행하는 장치들
JP5471677B2 (ja) 仮想ディスク制御システム、方法及びプログラム
US20190361709A1 (en) Suppression of memory area fragmentation caused by booting an operating system
KR102055617B1 (ko) 운영 체제에서 수행되는 프로세스의 가상 주소 공간을 확장하는 방법 및 시스템
TWI506436B (zh) 替代虛擬化記憶體分頁表
JP2011257973A (ja) メモリ管理方法及びメモリ管理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110418

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110518

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20120228