JPH11224220A - メモリ管理方式 - Google Patents
メモリ管理方式Info
- Publication number
- JPH11224220A JPH11224220A JP10026865A JP2686598A JPH11224220A JP H11224220 A JPH11224220 A JP H11224220A JP 10026865 A JP10026865 A JP 10026865A JP 2686598 A JP2686598 A JP 2686598A JP H11224220 A JPH11224220 A JP H11224220A
- Authority
- JP
- Japan
- Prior art keywords
- page
- area
- queue
- management area
- physical address
- 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
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】連続した実メモリ領域を必要とする計算機シス
テムに於いて、処理オーバヘッドおよび必要な資源量を
抑えた使用ページの局所化機能を有するメモリ管理機構
を提供する。 【解決手段】実メモリをある物理アドレスで二つの領域
に分離し、各領域毎に異なった整列方法を適用する。二
つの領域は、物理アドレスをキーにして各ページを厳密
に整列する領域(高精度管理領域)と、物理アドレスが
ある範囲内であるページを一単位として整列を行う領域
(低精度管理領域)に分けられ、できるだけ低精度領域
のメモリを割り当てるようにすることで使用メモリを局
所化する。
テムに於いて、処理オーバヘッドおよび必要な資源量を
抑えた使用ページの局所化機能を有するメモリ管理機構
を提供する。 【解決手段】実メモリをある物理アドレスで二つの領域
に分離し、各領域毎に異なった整列方法を適用する。二
つの領域は、物理アドレスをキーにして各ページを厳密
に整列する領域(高精度管理領域)と、物理アドレスが
ある範囲内であるページを一単位として整列を行う領域
(低精度管理領域)に分けられ、できるだけ低精度領域
のメモリを割り当てるようにすることで使用メモリを局
所化する。
Description
【0001】
【発明の属する技術分野】この発明は電子計算機システ
ムにおけるメモリ管理方式に関し、特に実メモリの割り
当て方式に関する。
ムにおけるメモリ管理方式に関し、特に実メモリの割り
当て方式に関する。
【0002】
【従来の技術】仮想記憶方式を採用した電子計算機シス
テムでは、通常、連続した仮想アドレスに対応する実メ
モリは連続である必要がない。しかし、I/Oのように
ハードウェアが直接メモリにアクセスする場合は物理ア
ドレスを使用するため、物理アドレスの連続したメモリ
が必要になる。
テムでは、通常、連続した仮想アドレスに対応する実メ
モリは連続である必要がない。しかし、I/Oのように
ハードウェアが直接メモリにアクセスする場合は物理ア
ドレスを使用するため、物理アドレスの連続したメモリ
が必要になる。
【0003】通常このように物理アドレスの連続した領
域が必要となった場合、実メモリの使用状況が格納され
ているテーブルを検索し、要求された大きさの連続した
空きメモリが存在する場合はこれを割り当て、存在しな
かった場合はメモリ上の情報を他のメモリに移動するこ
とで連続した空きメモリ領域を生成し、これを割り当て
るという方法が使用される。
域が必要となった場合、実メモリの使用状況が格納され
ているテーブルを検索し、要求された大きさの連続した
空きメモリが存在する場合はこれを割り当て、存在しな
かった場合はメモリ上の情報を他のメモリに移動するこ
とで連続した空きメモリ領域を生成し、これを割り当て
るという方法が使用される。
【0004】しかし、この方法では実メモリ上の情報を
移動する処理に時間を要し、また生成された連続空きメ
モリ領域が物理アドレスでアクセスされるようになると
移動ができなくなることから、この領域がさらに連続し
た実メモリ確保の障害となる可能性がある。
移動する処理に時間を要し、また生成された連続空きメ
モリ領域が物理アドレスでアクセスされるようになると
移動ができなくなることから、この領域がさらに連続し
た実メモリ確保の障害となる可能性がある。
【0005】このため従来は実メモリを管理するページ
テーブルを整列しておき、使用される実メモリを局所化
するという方法が使用されていた。
テーブルを整列しておき、使用される実メモリを局所化
するという方法が使用されていた。
【0006】
【発明が解決しようとする課題】上記の方式では全ての
ページテーブル操作に対して整列が実行されるため、ペ
ージテーブル数が多い場合は処理のオーバヘッドとなっ
ていた。また、このオーバヘッドを避けるためにハッシ
ュを利用すると、ハッシュのために多くのメモリが必要
となり、ユーザの使用できる資源を圧迫する結果となっ
ていた。
ページテーブル操作に対して整列が実行されるため、ペ
ージテーブル数が多い場合は処理のオーバヘッドとなっ
ていた。また、このオーバヘッドを避けるためにハッシ
ュを利用すると、ハッシュのために多くのメモリが必要
となり、ユーザの使用できる資源を圧迫する結果となっ
ていた。
【0007】
【課題を解決するための手段】上記の問題を解決するた
めに、実メモリをある物理アドレスで二つの領域に分離
し、各領域毎に異なった整列方法を適用する。
めに、実メモリをある物理アドレスで二つの領域に分離
し、各領域毎に異なった整列方法を適用する。
【0008】二つの領域は、物理アドレスをキーにして
各ページを厳密に整列する領域(高精度管理領域)と、
物理アドレスがある範囲内であるページを一単位として
整列を行う領域(低精度管理領域)に分けられ、できる
だけ低精度領域のメモリを割り当てるようにすることで
使用メモリを局所化する。
各ページを厳密に整列する領域(高精度管理領域)と、
物理アドレスがある範囲内であるページを一単位として
整列を行う領域(低精度管理領域)に分けられ、できる
だけ低精度領域のメモリを割り当てるようにすることで
使用メモリを局所化する。
【0009】高精度管理領域のページは一つのキュー
と、ハッシュで管理され、キューに属するページは全て
物理アドレス順に整列されている。ハッシュは物理アド
レスをキーとして、対応する範囲にページがあればその
ページを、対応する範囲にページがなければ近傍のハッ
シュを指している。
と、ハッシュで管理され、キューに属するページは全て
物理アドレス順に整列されている。ハッシュは物理アド
レスをキーとして、対応する範囲にページがあればその
ページを、対応する範囲にページがなければ近傍のハッ
シュを指している。
【0010】高精度管理領域からメモリを確保する際は
キューの最後に繋がれているページを外し、当該ページ
の物理アドレスに対応するハッシュが当該ページを指し
ていればハッシュが隣接したページか、近傍のハッシュ
を指すように更新する。
キューの最後に繋がれているページを外し、当該ページ
の物理アドレスに対応するハッシュが当該ページを指し
ていればハッシュが隣接したページか、近傍のハッシュ
を指すように更新する。
【0011】高精度管理領域のメモリを解放する際は、
物理ページに対応するハッシュから近傍のページを得
て、キューを検索することで戻すべき位置を見つける。
物理アドレスに対応するハッシュが他のハッシュを指し
ていた場合は当該ページを指すように更新する。
物理ページに対応するハッシュから近傍のページを得
て、キューを検索することで戻すべき位置を見つける。
物理アドレスに対応するハッシュが他のハッシュを指し
ていた場合は当該ページを指すように更新する。
【0012】低精度管理領域のページはある物理アドレ
ス範囲に対応した複数のキューで管理される。ページは
キューの上では整列されない。低精度管理領域には、空
きページを持つキューへのヒントが存在する。
ス範囲に対応した複数のキューで管理される。ページは
キューの上では整列されない。低精度管理領域には、空
きページを持つキューへのヒントが存在する。
【0013】低精度管理領域からメモリを確保する際は
ヒントの指すキューに繋がれているページを外す。キュ
ーがからになった場合はヒントを更新する。
ヒントの指すキューに繋がれているページを外す。キュ
ーがからになった場合はヒントを更新する。
【0014】低精度管理領域のメモリを解放する際は、
物理アドレスの対応するキューにページを戻し、ヒント
が現在操作しているキューよりも高精度管理領域側を指
している場合は更新する。
物理アドレスの対応するキューにページを戻し、ヒント
が現在操作しているキューよりも高精度管理領域側を指
している場合は更新する。
【0015】
【発明の実施の形態】本発明の実施例について図面を参
照して詳細に説明する。
照して詳細に説明する。
【0016】図1は本発明の実施例を示すブロック図で
あり、物理メモリ1は固定長のページに分割される。各
ページは対応するページテーブル8を有し、物理アドレ
スが境界値9よりもより小さい領域を高精度管理領域、
大きい領域を低精度管理領域として管理する。高精度管
理領域のページは物理アドレスをキーとするハッシュ7
を持つ。低精度管理領域はある範囲の物理アドレス毎に
キュー4を持ち、ページはその物理ページに対応したキ
ューに繋がれている。空きページを持つキューへのヒン
ト5と空きページ数を示すフリーカウント10が存在す
る。
あり、物理メモリ1は固定長のページに分割される。各
ページは対応するページテーブル8を有し、物理アドレ
スが境界値9よりもより小さい領域を高精度管理領域、
大きい領域を低精度管理領域として管理する。高精度管
理領域のページは物理アドレスをキーとするハッシュ7
を持つ。低精度管理領域はある範囲の物理アドレス毎に
キュー4を持ち、ページはその物理ページに対応したキ
ューに繋がれている。空きページを持つキューへのヒン
ト5と空きページ数を示すフリーカウント10が存在す
る。
【0017】メモリ確保手段2は、はじめに低精度管理
領域の空きページ数を調べ、空きページが存在する場合
はヒント5の指すキューからページを確保する。確保し
たページが当該キューの最後のページであった場合は、
ヒント5が現在のキューよりもひとつ高精度管理領域側
のキューを指すように更新する。
領域の空きページ数を調べ、空きページが存在する場合
はヒント5の指すキューからページを確保する。確保し
たページが当該キューの最後のページであった場合は、
ヒント5が現在のキューよりもひとつ高精度管理領域側
のキューを指すように更新する。
【0018】低精度管理領域に空きページが存在しない
場合は高精度管理領域のキューの最後尾に存在するペー
ジを確保する。確保したページに対応するハッシュ7が
確保したページを指していた場合は、ハッシュの指すペ
ージを自分に隣接したページに更新する。ハッシュの対
応する物理アドレス範囲内にページが存在しないときは
隣接するハッシュを指すように更新する。
場合は高精度管理領域のキューの最後尾に存在するペー
ジを確保する。確保したページに対応するハッシュ7が
確保したページを指していた場合は、ハッシュの指すペ
ージを自分に隣接したページに更新する。ハッシュの対
応する物理アドレス範囲内にページが存在しないときは
隣接するハッシュを指すように更新する。
【0019】ページ解放手段3は、ページテーブルを調
べ、低精度管理領域のページである場合は低精度管理キ
ュー4のなかで対応するものにページを繋ぐ。ヒントが
いま操作したキューよりも高精度管理領域側のキューを
指していた場合は、ヒントが現在操作したキューを指す
ように更新する。
べ、低精度管理領域のページである場合は低精度管理キ
ュー4のなかで対応するものにページを繋ぐ。ヒントが
いま操作したキューよりも高精度管理領域側のキューを
指していた場合は、ヒントが現在操作したキューを指す
ように更新する。
【0020】高精度管理領域のページである場合は、ペ
ージに対応するハッシュから、解放するページを挿入す
べき位置の近傍に存在するページを見つけ、物理アドレ
スをキーにしてキューをたどり、ページを挿入すべき位
置に隣接したページを見つけ、繋ぐ。
ージに対応するハッシュから、解放するページを挿入す
べき位置の近傍に存在するページを見つけ、物理アドレ
スをキーにしてキューをたどり、ページを挿入すべき位
置に隣接したページを見つけ、繋ぐ。
【0021】
【発明の効果】本発明により、キューのエレメントを整
列しておく必要がある場合であっても、エレメントの使
用頻度等を考慮して厳密に整列しておく領域と、ある単
位で整列されていればいい領域を分離することで整列に
必要なオーバヘッドおよび資源量を軽減することが可能
となる。
列しておく必要がある場合であっても、エレメントの使
用頻度等を考慮して厳密に整列しておく領域と、ある単
位で整列されていればいい領域を分離することで整列に
必要なオーバヘッドおよび資源量を軽減することが可能
となる。
【図1】本発明の実施例のブロック図。
【図2】メモリ確保処理を示すフローチャート。
【図3】メモリ解放処理を示すフローチャート。
1…実メモリ、 2…メモリ確保手段、
3…メモリ解放手段、4…低精度管理キュー、5…ヒン
ト、6…高精度管理キュー、7…ハッシュ、8…ページ
テーブル、 9…境界、 10…フリーカウント。
3…メモリ解放手段、4…低精度管理キュー、5…ヒン
ト、6…高精度管理キュー、7…ハッシュ、8…ページ
テーブル、 9…境界、 10…フリーカウント。
Claims (1)
- 【請求項1】実メモリを管理するページテーブルを、物
理アドレスに応じて二つの領域に分割し、各領域毎に異
なった整列方法を適用することを特徴とするメモリ管理
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10026865A JPH11224220A (ja) | 1998-02-09 | 1998-02-09 | メモリ管理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10026865A JPH11224220A (ja) | 1998-02-09 | 1998-02-09 | メモリ管理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11224220A true JPH11224220A (ja) | 1999-08-17 |
Family
ID=12205192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10026865A Pending JPH11224220A (ja) | 1998-02-09 | 1998-02-09 | メモリ管理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11224220A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100381647B1 (ko) * | 1999-10-15 | 2003-04-26 | 세이코 엡슨 가부시키가이샤 | 데이터 전송 제어 장치 및 전자 기기 |
KR100381645B1 (ko) * | 1999-10-15 | 2003-04-26 | 세이코 엡슨 가부시키가이샤 | 데이터 전송 제어 장치 및 전자기기 |
-
1998
- 1998-02-09 JP JP10026865A patent/JPH11224220A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100381647B1 (ko) * | 1999-10-15 | 2003-04-26 | 세이코 엡슨 가부시키가이샤 | 데이터 전송 제어 장치 및 전자 기기 |
KR100381645B1 (ko) * | 1999-10-15 | 2003-04-26 | 세이코 엡슨 가부시키가이샤 | 데이터 전송 제어 장치 및 전자기기 |
US6810445B1 (en) | 1999-10-15 | 2004-10-26 | Seiko Espon Corporation | Data transfer control device and electronic equipment |
US7085855B1 (en) | 1999-10-15 | 2006-08-01 | Seiko Epson Corporation | Data transfer control device and electronic equipment |
US7249204B2 (en) | 1999-10-15 | 2007-07-24 | Seiko Epson Corporation | Data transfer control device electronic equipment and method data transfer control |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6163834A (en) | Two level address translation and memory registration system and method | |
US6421769B1 (en) | Efficient memory management for channel drivers in next generation I/O system | |
US6286092B1 (en) | Paged based memory address translation table update method and apparatus | |
US20020062402A1 (en) | Direct message transfer between distributed processes | |
US7792873B2 (en) | Data structure supporting random delete and timer function | |
CA2466117A1 (en) | High speed non-concurrency controlled database | |
JP2007184009A (ja) | アトミックに更新される集中キャッシュメモリのための方法及びシステム | |
US20070156763A1 (en) | Storage management system and method thereof | |
US7849272B2 (en) | Dynamic memory management in an RDMA context | |
US7496722B2 (en) | Memory mapped page priorities | |
CN112925606B (zh) | 一种内存管理方法、装置及设备 | |
KR100622114B1 (ko) | 임베디드 시스템에서의 효율적인 동적 메모리 관리방법 및그 시스템 | |
US7225313B2 (en) | Demotion of memory pages to largest possible sizes | |
CN117608856A (zh) | NVMe加速卡内存扩展方法、系统、终端及存储介质 | |
JPH11224220A (ja) | メモリ管理方式 | |
US7146462B2 (en) | Storage management method | |
JP3030030B2 (ja) | 領域管理処理方式 | |
JP2000047933A (ja) | 双方向メモリ確保管理方式 | |
JP2994138B2 (ja) | 対話処理システムにおけるカタログの変数管理方法 | |
JP3013742B2 (ja) | キャッシュメモリ管理方式 | |
JPS62163154A (ja) | 仮想論理ボリユ−ム方式 | |
US20060106853A1 (en) | Allocation and Scaling of Descriptor Lists. | |
JPH02193232A (ja) | ファイル内空き領域検索方式 | |
JPH1040147A (ja) | 仮想ファイルキャッシュ制御方式 | |
CN116301610A (zh) | 一种数据处理方法以及相关设备 |