JP5293974B2 - メモリマッピング方法、メモリシステム - Google Patents

メモリマッピング方法、メモリシステム Download PDF

Info

Publication number
JP5293974B2
JP5293974B2 JP2010501904A JP2010501904A JP5293974B2 JP 5293974 B2 JP5293974 B2 JP 5293974B2 JP 2010501904 A JP2010501904 A JP 2010501904A JP 2010501904 A JP2010501904 A JP 2010501904A JP 5293974 B2 JP5293974 B2 JP 5293974B2
Authority
JP
Japan
Prior art keywords
memory
address
address conversion
color
colors
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.)
Active
Application number
JP2010501904A
Other languages
English (en)
Other versions
JPWO2009110446A1 (ja
Inventor
一久 石坂
孝 宮崎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2010501904A priority Critical patent/JP5293974B2/ja
Publication of JPWO2009110446A1 publication Critical patent/JPWO2009110446A1/ja
Application granted granted Critical
Publication of JP5293974B2 publication Critical patent/JP5293974B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache

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)
  • Image Input (AREA)

Description

本発明はコンピュータシステムにおけるメモリシステム及びメモリマッピング方法に関し、特にメモリをアドレス空間にマップするメモリシステム及びメモリマッピング方法に関する。
プロセッサ、キャッシュメモリ及び主メモリ(以下、主メモリを単にメモリと呼ぶ)を備えるコンピュータシステムにおいて、メモリに記憶されるデータを一時保持するキャッシュメモリ(以下、キャッシュメモリをキャッシュと呼ぶ)を有効に利用して動作速度の遅いメモリによるレイテンシ(latency)を隠蔽する方法は、アプリケーションソフトウェアの性能向上に重要であることが知られている。
物理インデックスキャッシュでは、物理アドレスによってデータがキャッシュ上に格納されるときの位置(インデックス)が決められる。OSによる論理アドレスと物理アドレスのマッピングはページと呼ばれる単位(4KBがよく用いられる)で行われ、キャッシュ上で同じ位置に格納されるページは同じカラー番号(カラーID)で表現される。
図1に、物理アドレス空間とキャッシュの関係の例を示す。
図1の物理アドレス空間中のカッコ外の番号はページ番号を表わし、カッコ内の番号はカラー番号を表す。ページ番号は、
ページ番号 = アドレス / ページサイズ
であり、
カラー番号 = ページ番号 % カラー数
である。ただし、/ は整数除算を表わし % は剰余演算(reminder operation)を表す。又、カラー数は、物理アドレス空間でとり得るカラー番号の個数である。
図1はカラー数が8の場合の例であるが、カラー番号はキャッシュ上の格納位置を示している。図1のキャッシュ中の番号はカラー番号を示しており、物理アドレス空間上のページはキャッシュ上の同じカラー番号を持つ場所に格納される。
非特許文献1に記載されているように、このような物理インデックスキャッシュの特徴を利用して、OSによるプロセスの論理アドレスと物理アドレスのマッピング時に、キャッシュの利用効率を高めることが可能であることが知られている。
キャッシュの利用効率を悪化させる現象として、プロセス間のキャッシュ競合がある。これは、図2に示すように、複数のプロセスがアクセスするデータがキャッシュ上の同じ位置に格納される場合に、お互いにデータをキャッシュ上から追い出しあう現象である。このようなキャッシュ競合を削減する方法として、プロセス毎に利用可能なカラー番号を分け、それぞれのプロセスの論理ページには利用可能カラー番号を持つ物理ページのみをマッピングすることで、プロセス毎にキャッシュ上の同じ位置を利用させないようにする方法がある。
図3に、2つのプロセスA、B間のキャッシュ競合を削減するための論理アドレスと物理アドレスのマッピングを示す。プロセスAの論理ページはカラー番号0,1,2,3を持つページにのみマップされ、プロセスBの論理ページはカラー番号4,5を持つページにのみマップされている。従って、図4に示すように、2つのプロセスはキャッシュ上の同じ位置を利用しない。
特許文献1はリアルタイムタスクとその他のタスクでカラー番号を分けることによって、リアルタイムタスクがキャッシュ競合によって性能が下がらないようにする方法を開示している。
特許文献2は、このようなメモリサイズ制限の問題を解決する方法としてフリーカラーリング(Free Coloring)手法を開示している。図5はFree Coloring手法を説明するための図面である。
図5に示すようにFree Coloringでは、CPUバスのアドレス幅を、メモリバスのアドレス幅に対してカラー数分だけ増やす。
図5において、増加分のbit(図中のc)はキャッシュにアクセスするときにカラーを指定する位置に加えられる。
一方、メモリにアクセスする際はこの増加分のbitが削除される。このようにすることで、物理アドレス空間とメモリの対応関係(マッピング)は図6の様に、複数の物理アドレス空間上のページがメモリ上の1つのページに対応するようになる。ここでは、このメモリ上の同一のページに対応する物理空間上のページをグループと呼ぶ。
グループ内にはカラー数だけのページが存在し、それらはすべて異なるカラーを持つため、任意のカラーでメモリ上のページにアクセスすることが可能となる。従って、カラー指定のためにプロセスが利用可能なメモリサイズの制限を緩和できる。
特許文献3は、メモリを複数の区分に分け、区分間でキャッシュを共有するものであって、異なる区分のメモリが同一の物理アドレスを有し、キャッシュのタグにPID(パーティション識別部)という拡張ビットを付して異なる区分のメモリ位置を区別している。
又、特許文献4は、キャッシュがメモリアクセスに対して発生する競合ミスの確率を低くするようにキャッシュ上のセットを特定するインデックスを決定するようにしている。
特開2000−339220号公報 特表平09−507599号公報 特開2001−282617号公報 特開平09−223069号公報 Kessler他著「Page Placement Algorithms for Large Real-Indexed Caches」 ACM Transactions on Computer Systems, 1992, Vol. 4, No. 10, pp.338-359
しかしながら、論理ページと物理ページのマッピングによってプロセスのキャッシュ利用を制御する特許文献1では、プロセスに割り当て可能なページを制限するために、プロセスが利用可能なメモリサイズが小さくなることである。図7に、8カラーの場合に利用可能なカラーの集合(カラー集合)が{0,1}に制限されたプロセスの例を示す。図の左側が物理アドレス空間であり、図の右側にプロセスの論理アドレス空間にマップ可能なページを示す。図7に示されているように、このプロセスは最大で全メモリサイズの25%しか利用できないという問題がある。
又、特許文献2のようにグループ内の全てのページが同一のメモリ上のページに対応することは、同時にはグループ内のページ内の1つしか利用することができないことを意味し、CPUバス上の物理アドレス空間をとびとびに利用しなければならないことになる。ここではこの様な制限を「アドレスの連続性が失われる」と呼ぶことにする。
特許文献2に係るFree Coloringでは、このようにアドレスの連続性が失われるため、アドレスに連続性があることを前提とした既存のOSに組み込むことが困難であるという問題がある。
又、連続する複数の物理ページをまとめて1つのページテーブルエントリで大きな論理ページにマップするラージページでは、まとめられたページの全てにアクセスされる可能性がある。従ってアドレスの連続性が失われた場合は、ラージページの使用が困難になるという問題もある。
特許文献3では、キャッシュのタグにPIDという拡張ビットを付して異なる区分のメモリ位置を区別しているが、メモリ上の同一位置からキャッシュ上の異なるカラーにはアクセスできないという問題がある。
特許文献4も、キャッシュがメモリアクセスに対して発生する競合ミスの確率を低くするようにキャッシュ上のセットを特定するインデックスを決定するようにしているが、メモリをマップした物理アドレス空間上に複数の領域を有さず、メモリ上の同一位置からキャッシュ上の異なるカラーにはアクセスできないという問題がある。
本発明の典型的(exemplary)な目的は、OSの論理アドレスと物理アドレスのマッピングによってプロセスのキャッシュ利用を制御する方式において、アドレスの連続性を失うことなく、プロセスが利用可能なメモリサイズを増やすことができるメモリマッピング方法及びメモリシステムを提供することにある。
本発明に係る典型的(exemplary)なメモリマッピング方法は、メモリと、前記メモリに記憶されるデータを一時保持し、物理アドレスによって前記データの格納位置が決まるキャッシュメモリと、を備え、前記格納位置を、論理アドレスと前記物理アドレスとのマッピングの単位となる一定サイズのページ毎に、カラーIDで識別するメモリシステムでの、前記メモリの物理アドレス空間へのマッピング方法において、
前記メモリの一のアドレスを前記物理アドレス空間の複数の領域にマップし、
前記複数の領域のそれぞれから前記メモリへのアクセスに対して、それぞれ異なるアドレス変換を行い、
前記メモリ上の前記一のアドレスに対して、前記複数の領域のそれぞれから異なるカラーIDでアクセスする、
ことを特徴とする。
本発明に係る典型的(exemplary)なメモリシステムは、メモリと、前記メモリに記憶されるデータを一時保持し、物理アドレスによって前記データの格納位置が決まるキャッシュメモリと、物理アドレス空間上の複数の領域のそれぞれから前記メモリへのアクセスに対して、それぞれ異なるアドレス変換を行うアドレス変換部と、を備え、
前記格納位置を、論理アドレスと前記物理アドレスとのマッピングの単位となる一定サイズのページ毎に、カラーIDで識別し、
前記メモリ上の一のアドレスを前記複数の領域にマップし、前記複数の領域のそれぞれから前記メモリへのアクセスに対して、前記アドレス変換部でそれぞれ異なるアドレス変換を行い、前記複数の領域のそれぞれから異なるカラーIDで前記一のアドレスにアクセスすることを特徴とする。
本発明による典型的(exemplary)な効果は、メモリ上の一のアドレスを物理アドレス空間上の複数の領域にマップし、これらの領域のそれぞれからメモリへのアクセスに対して異なるアドレス変換を行うことで、これらの領域のそれぞれから異なるカラーIDでアクセスすることにより、アドレスの連続性を失うことなく、かつプロセスが利用可能なメモリサイズを減少させることなく、OSの論理ページと物理ページのマッピングによってプロセスのキャッシュ利用を制御することができるメモリマッピング方法及びメモリシステムを得ることができることである。
物理インデックスキャッシュと物理アドレス空間の関係を説明するための図である。 プロセス間キャッシュ競合を説明するための図である。 OSの論理アドレスと物理アドレスの変換によるキャッシュ制御を説明するための図である。 OSの論理アドレスと物理アドレスの変換によるキャッシュ制御によるプロセス間キャッシュ制御を説明するための図である。 特許文献2に係るFree Coloring手法を説明するための図である。 特許文献2に係るFree Coloring手法によるメモリマップを説明するための図である。 特許文献1に係るキャッシュ制御のために生じるメモリサイズ制限を説明するための図である。 本発明の概要を示す図である。 本発明の第1の実施の形態の構成を示す図である。 本発明の第1の実施の形態の動作を示すフローチャートである。 本発明の第1の実施の形態におけるメモリマッピングを示す図である。 本発明の第1の実施の形態の構成を示す図である。 本発明の第1の実施の形態の別の構成を示す図である。 本発明の第1の実施の形態におけるページの対応関係を示す図である。 本発明の第1の実施の形態に対応する別の実施の形態におけるメモリマッピングを示す図である。 本発明の第2の実施の形態の構成を示す図である。 本発明の第2の実施の形態におけるメモリマッピングを示す図である。 本発明の第2の実施の形態におけるページの対応関係を示す図である。 本発明の第3の実施の形態の構成を示す図である。 本発明の第3の実施の形態の動作を示すフローチャートである。 本発明の第3の実施の形態の構成を示す図である。 本発明の第4の実施の形態の構成を示す図である。 本発明の第4の実施の形態の構成を示す図である。 本発明の第4の実施の形態のアドレス変換表の例を示す図である。 本発明の第4の実施の形態のアドレス変換表の例を示す図である。
符号の説明
1 メモリ
2 物理アドレス空間
3−0、3−1、3−N−1 領域
4−0、4−1、4−N−1 アドレス変換
15 CPU
16 キャッシュ
17 アドレス変換部
18 メモリ
19 物理アドレス空間
25 CPU
26 キャッシュ
27 アドレス変換部
28 メモリ
29 物理アドレス
35 CPU
36 キャッシュ
37 アドレス変換部
37a 第1アドレス変換部
37b 第2アドレス変換部
38 メモリ
45 CPU
46 キャッシュ
47 アドレス変換部
47a アドレス変換変更部
48 メモリ
49 物理アドレス
50 アドレス変換表
次に、本発明を実施するための典型的(exemplary)な実施の形態について図面を参照して詳細に説明する。ここで、図8は本発明の概要を示す図である。
図8に示すメモリマッピング方法は、メモリ11を物理アドレス空間12上の複数の領域13−0〜13−N−1にマップし、それぞれの領域からメモリへのアクセスに対して異なるアドレス変換14−0〜14−N−1を行うことで、それぞれの領域からメモリ上の同一アドレスに異なるカラーでアクセスする。
複数の領域を用いることによって、メモリ上の同一アドレスに異なるカラーでアクセスできるため、カラー指定されたプロセスに対して、OSがプロセスに割り当て可能な物理ページが増加する。
また各領域内ではアドレスの連続性が保たれる。
[第1の実施の形態]
図9は本発明の第1の実施の形態の構成を示す図である。本実施の形態は、CPU15、キャッシュ16、アドレス変換部17、メモリ18及びメモリ18を複数の領域にマップした物理アドレス空間19によって構成される。キャッシュ16はメモリ18に記憶されるデータを一時保持する。キャッシュ16はキャッシュメモリ、メモリ18は主メモリである。物理アドレス空間19は、メモリ18をマップした領域をカラー数と等しい数だけ持つ。
又、アドレス変換部17は、領域毎に1カラーずつずれるようにアドレスにオフセットを加えるようにアドレス変換を行う。
すなわち、本実施の形態のアドレス変換においては、領域数とカラー数をNとするときに、メモリ上のアドレスyに対応する領域i上のアドレスを xi,yとしたときのカラーの集合{Color(xi,y): i=0,1,..,N-1}に対して、以下の式1が成り立つ。
{Color(xi,y): i=0,1,..,N-1} = {0,1,...,N-1} (式1)
なお、Color(x)はアドレスxのカラーを表わし、以下の式で表される。
Color(x) = (x / ページサイズ) % カラー数
ただし、/ は整数除算を表わし % は剰余を表す。また、カラー数は、
カラー数 = キャッシュサイズ / Way 数 / ページサイズ
である。
式1を満たすようなアドレス変換が存在することを説明するために、具体的な例を用いて説明する。ただし、これは、本実施の形態のアドレス変換が、この具体的な例に限られることを示すものではない。
式1を満たすようなアドレス変換の例は、領域i上のアドレスxiに対して以下の変換式fi(xi)を適用することである。ここで、baseiは領域iの先頭アドレスである。
fi(xi) = xi- basei + ページサイズ * i
このアドレス変換の場合、メモリ上のyに対応する領域i上のアドレスxi,yは、
y = f(xi,y) = xi,y - basei+ ページサイズ * i
であるから、xi,y= y + basei - ページサイズ * i
である。従って、
Color(xi,y) = Color(y + basei - ページサイズ * i)
であるから、例えば全ての領域に対して Color(basei) = C (Cは定数)となるように先頭アドレスを選べば、
Color(xi,y) = (Color(y) + C + i) % カラー数
となり、式1が成り立つことが分かる。
次に本発明の第1の実施の形態の動作を説明する。図10は、本発明の第1の実施の形態の動作を示す図であって、領域i上のアドレスxiを通してメモリ上のアドレスyにアクセスする場合の動作を示している。
この場合のメモリアクセスは以下のような順序で行われる。なお、MMU (Memory Management Unit)による論理アドレスと物理アドレスの変換までの動作は明らかであるため、物理アドレスへの変換後から説明する。また、アドレス変換部での領域iに対する変換をfiとする。
手順としては、図10に示したように、
(1)CPU15が物理アドレスxiを発行する(ステップS11)
(2)キャッシュ16がアドレスxiでアクセスされる(ステップS12)。この時のカラーはColor(xi)である。
(3)キャッシュミス等でメモリ18にアクセスが起こるとき、物理アドレス xiが発行される(ステップS13)
(4)アドレス変換部17によりアドレスy = fi (xi)に変更される(ステップS14)
(5)メモリ18に対してアドレスyが発行される(ステップS15)
である。
次に、具体的な例を用いて本実施形態を説明する。
図11は本発明の第1の実施の形態におけるメモリマップを示す。本実施の形態は、メモリサイズが256MB(アドレス0x00000000から0x0fffffff)、ページサイズが4KB、カラー数と領域数が4の場合の例である。本実施の形態では、図11に示すように、メモリは物理アドレス空間上の4つの領域にマップされており、それぞれの開始アドレス(basei)は、領域0は0x00000000、領域1は0x10000000、領域2は0x20000000、領域3は0x3000000である。
又、本実施の形態の以下のアドレス変換式を適用することでアドレス変換を行う。
fi(x) = x - ページサイズ * i ? basei * i + sizei
(basei ≦ x < basei + ページサイズ * i)
fi(x) = x - ページサイズ * i ? basei
(basei + ページサイズ * i ≦ x < basei + sizei)
ここで、sizeiはメモリのサイズを表す。
図12に本発明の第1の実施の形態の構成を示す。本実施の形態では、アドレス変換はキャッシュ16とバスの間で行われる。本実施の形態の別の構成として、図13に示すように、バスとメモリ18の間でアドレス変換を行っても良い。
次に本実施の形態の動作を説明するため、図11の領域2上の0x20006000番地にアクセスする場合を例に説明する。
手順としては、
(1)CPUがアドレス0x20006000を発行する
(2)キャッシュがアドレス0x20006000でアクセスされる。この時のカラーは (0x20006000 / 4KB) % 4 = 1 である
(3)キャッシュミス等によりメモリにアクセスが発生する場合、物理アドレス0x20006000が発行される
(4)アドレス変換部によりアドレス (0x20006000 - 4KB * 2 - 0x20000000) = 0x00004000 に変換される
(5)メモリにアドレス0x00004000が発行されるである。
本実施の形態における各領域とメモリの対応関係を図14に示す。図中括弧外の数字はページ番号(すなわちアドレス/ページサイズ)を表わし、括弧内の数字はカラー番号(すなわちページ番号%カラー数)を表す。
図14に示されているように、アドレス変換により各領域でカラーが1ずつずらされており、4つの領域を利用することで、メモリ上のページに対して任意のカラーでアクセスできることが分かる。
例えば、メモリ上のページ0x00000をマップした領域0上のページは0x00000でカラーは0であるのに対して、領域1上のページは0x10001でカラーは1、領域2上のページは0x20002でカラーは2、領域3上のページは0x30003でカラーは3である。つまり、メモリ上のページ0x00000にアクセス可能なカラーの集合は {0,1,2,3}であり、全カラーを含んでいる。従って、利用可能カラー集合がどのようなプロセスでも、メモリ上のページ0x00000を利用することができる。
例えば、利用可能カラーの集合が{0}に設定されたプロセスの場合、1つの領域しか利用できない場合の利用可能な最大メモリサイズは256MB/4=64MBで、全体の25%である。これに対して本実施の形態の場合では利用可能なメモリサイズは256MBと、全メモリの100%に増加している。
次に、本発明の第1の実施の形態に対応する別の実施の形態について説明する。図15の本実施の形態におけるメモリマップに示すように、各領域の開始アドレスをずらすことによって、アドレス変換を簡略化している。
本実施の形態は、メモリサイズが256MB(アドレス0x00000000から0x0fffffff)、カラー数と領域数が4の場合の例である。本実施の形態では、図15に示すように、メモリは物理アドレス空間上の4つの領域にマップされており、それぞれの開始アドレス(basei)は、領域0は0x00000000、領域1は0x10001000、領域2は0x20002000、領域3は0x30003000である。また、本実施の形態のアドレス変換式を以下に示す。
fi(x) = x - basei * i
本実施の形態における各領域とメモリの対応関係は図14に示した第1の実施の形態の対応関係と同じである。
以上説明したように、OSによる論理アドレスと物理アドレスのマッピングによるキャッシュ制御によってプロセスが利用可能なカラー集合をもつ場合に、Color(xi)がその集合に含まれず、領域i中のxiを含むページをこのプロセスに割り当てることができない場合であっても、本発明の第1の実施の形態によれば、メモリ上のアドレスyにアクセスするために複数の領域を利用することが可能である。
これは、式1から分かるように、アドレスyに対応する物理アドレス空間上のアドレスのカラー集合{Color(xi,y: i=0,1,...n-1) は全てのカラーを含む。従って、Color(xi,y)にプロセスが利用可能なカラーとなるような領域iが必ず存在するため、そのようなxi,yを含むページをプロセスに割り当てることで、プロセスはメモリ上のアドレスyを利用することができる。すなわち、プロセスが利用可能なカラーの集合に関わらず、プロセスに任意のページを割り当てることが可能になり、キャッシュ制御を行うためにプロセスの利用可能なメモリサイズが減少するという問題を解決できる。
また、変換式から分かるように、各領域中の全てのアドレスは異なるメモリ上のアドレスに対応しているため、物理アドレス空間上のアドレスの連続性が失われないという効果も奏する。
[第2の実施の形態]
次に、本発明の第2の実施の形態を実施するための最良の形態について図面に基づいて詳細に説明する。図16は本発明の第2の実施の形態の構成を示す図である。
本実施の形態は、CPU25、キャッシュ26、アドレス変換部27、メモリ28及びメモリ28を複数の領域にマップした物理アドレス空間29から構成される。
本実施の形態の物理アドレス空間29は、メモリ28をマップした領域数がカラー数より少ない。
本実施の形態のアドレス変換部27は、 それぞれの領域毎に0以上でカラー数より小さい異なる定数Ci(iは領域を表す番号)だけカラーをずらすようにアドレスにオフセットを加えることでアドレス変換をする。
すなわち、本発明のアドレス変換の特徴は、カラー数をN、領域数をMとすると、メモリ上のアドレスyに対応する領域i上のアドレスをxi,yとしたときのカラーの集合{Color(xi,y): i=0,1,..,M-1}に対して以下の式2が成り立つことである。
{Color(xi,y): i=0,1,...,M-1} = {(Cy + Ci) % N: i=0,1,...,M-1} (式2)
ここで、
M < N、
Ciは全てのiに対して異なる0以上N-1以下の定数、
Cyはyによって異なる0からN-1までの定数
である。
すなわち、カラーの集合{Color(xi,y): i=0,1,...,M-1}がM個の異なるカラーを含んでいることを意味している。なお、第1の実施の形態は、式2においてN=Mの場合である。
次に、本発明の第2の実施の形態の具体的な動作について説明する。本実施の形態は、メモリサイズが256MB(アドレス0x00000000から0x0fffffff)、カラー数が4で領域数が2の場合の例である。本実施の形態では、図17に示すように、メモリは物理アドレス空間上の2つの領域にマップされており、それぞれの開始アドレス(basei)は、領域0は0x00000000、領域1は0x10000000である。
また、本実施の形態では領域毎に2カラーずらすように、以下のようなアドレス変換式が用いられている。
fi(x) = x - ページサイズ * 2 * i - basei * i + sizei
(basei ≦ x < basei + ページサイズ * 2 * i)
fi(x) = x - ページサイズ * 2 * i - basei
(basei + ページサイズ * 2 * i ≦ x < basei + sizei)
ここで、sizeiはメモリのサイズを表す。
この実施の形態における各領域とメモリの対応関係を図18に示す。
図18に示されているように、アドレス変換により各領域でカラーが2ずつずらされており、4つの領域を利用することで、メモリ上のページに対して2カラーでアクセスできることが分かる。
例えば、メモリ上のページ0x00000をマップした領域0上のページは0x00000でカラーは0であるのに対して、領域1上のページは0x10001でカラーは2である。従って、利用可能カラー集合に0を含むプロセスのみならず、2を含むプロセスもメモリ上のページ0x00000を利用することができる。
又、利用可能カラーの集合が{0}に設定されたプロセスの場合、1つの領域しか利用できない場合の利用可能な最大メモリサイズは256MB/4=64MBで、全体の25%である。これに対して本実施の形態による複数の領域を利用する場合は128MBであり、メモリの 50%が利用可能である。
以上説明したように、本実施の形態では、メモリ上のアドレスyに対応するための物理アドレス空間上のアドレスのカラー集合がM色のカラーを含むため、アドレスyにM色のカラーでアクセスできる。従って、利用できるカラーが制限されたプロセスに対して、メモリ上のアドレスyに対応するときのカラー集合 {Color(xi,y):i=0,...,M-1}中に、利用可能なカラーが含まれる場合は、このプロセスにyを含むページを割り当てることが可能になり、プロセスに割り当て可能なページを増加させることができるという効果を奏する。
又、本実施の形態では、領域数がカラー数より小さいため、本発明の第1の実施の形態に比べて物理アドレス空間中のメモリをマップした領域の数を小さくできるという効果がある。
第1及び第2の実施の形態の別形態として、メモリを物理アドレス空間上にマップした複数の領域のうち、いくつかの領域のサイズ又は全ての領域のサイズは、メモリのサイズよりも小さくてよい。この場合、メモリ上の特定のアドレスにアクセスするときのカラー集合が小さくなるためプロセスに割り当て可能なメモリサイズを増加する効果は小さくなるが、物理アドレス空間上にメモリが占める領域が小さくなるという効果がある。
第1及び第2の実施の形態の更なる別形態として、メモリを物理アドレス空間上にマップした複数の領域の数が、カラー数より多くても良い。領域のサイズがメモリサイズより小さい場合は、メモリ上の特定のアドレスにアクセスするときのカラー集合が小さくなるが、領域数を増やすことによってカラー集合を大きくするという効果がある。
[第3の実施の形態]
次に、本発明の第3の実施の形態について図面を参照しながら詳細に説明する。ここで、図19は、本発明の第3の実施の形態の構成を示す図である。
本実施の形態は、CPU35、キャッシュ36、複数のアドレス変換部37、メモリ38及びメモリを複数の領域にマップした物理アドレス空間からなる。
本実施の形態は、複数のアドレス変換部37が連続してアドレス変換を行い、物理アドレス空間上にマップされた複数の領域から異なるカラーでメモリにアクセスすることを特徴とする。
本実施の形態の動作を図20を用いて説明する。図20は、本発明の第3の実施の形態の動作を示す図である。なお、以下の説明ではアドレス変換部の数をnとし、領域i上のアドレスxiにアクセスがあった場合について説明する。
手順としては、図20に示したように、
(1)CPUが物理アドレスxiを発行する(ステップS21)
(2)キャッシュがアドレスxiでアクセスされる。この時のカラーはColor(xi)である(ステップS22)
(3)キャッシュミス等でメモリにアクセスが起こるとき、物理アドレスxiが発行される(ステップS23)
(4)アドレス変換部0によりアドレスyi,0 = fi,0(xi)に変更される(ステップS24)
(5)以下同様にアドレス変換部kにより、アドレスyi,k = fi,k(yi,k-1)に変換される(ステップS25)
(6)最後にアドレス変換部n-1により場合、アドレスy = fi,n-1(yi,n-2)に変換される(ステップS26)
(7)メモリに対してアドレスyが発行される(ステップS27)
である。
次に、本発明の第3の実施の形態の具体的な動作について説明する。
本実施の形態は、メモリサイズが256MB(アドレス0x00000000から0x0fffffff)、カラー数が4で領域数が4の場合の例である。本実施の形態では、第1の実施の形態と同様に図15に示すように、メモリは物理空間上の4つの領域にマップされており、それぞれの開始アドレス(basei)は、領域0は0x00000000、領域1は0x10001000、領域2は0x20002000、領域3は0x30003000である。
本実施の形態の形態を図21に示す。本実施の形態は2つのアドレス変換部を備える。
第1アドレス変換部37aは、キャッシュとバスの間にあり、アドレス変換式は以下である。
fi(x) = x - ページサイズ * I
第2アドレス変換部37bは、バスのアドレスデコーダである。ここでアドレスデコーダとは、アドレスの上位4ビットが、0x0, 0x1, 0x2, 0x3の場合にメモリへのアクセスであることを伝える信号を出し、アドレスの下位28ビットをメモリへのアドレス信号とするという動作をするものとする。
本実施の形態の動作を説明するため、物理アドレス空間上の0x20006000番地にアクセスする場合の動作を説明する。
手順としては、
(1)CPU35がアドレス0x20006000を発行する
(2)キャッシュ36がアドレス0x20006000でアクセスされる。この時のカラーは (0x20006000 / 4KB) % 4 = 1 である
(3)キャッシュミス等によりメモリにアクセスが発生する場合、物理アドレス0x20006000が発行される
(4)第1アドレス変換部37aによりアドレス (0x20006000 - 4KB * 2) = 0x20004000 に変換される
(5)第2アドレス変換部(アドレスデコーダ)37bにより、アドレス0x20004000の上位4ビットがメモリへのアクセスを示すビットであることが判定され、メモリ38へのアクセスであることを示す信号が出される。またアドレスの下位28ビット0x0004000がメモリに発行するアドレスとされる
(6)メモリ38にアドレス0x0004000が発行される
である。
本実施の形態における各領域とメモリの対応関係は図14に示した第1の実施の形態の対応関係と同じである。
以上説明したように、本実施の形態により、利用できるカラーが制限されたプロセスにおいて利用可能なメモリサイズが増加することは、第1及び第2の実施の形態から明らかである。
本実施の形態によれば、システム中に既に存在する他の目的のための構成要素が、本発明のためのアドレス変換の一部として利用できる場合に、アドレス変換の一部をその構成要素を用いて行うことによって、新たに追加するアドレス変換部を簡略化できることである。
なお、本実施の形態の別形態として、複数のアドレス変換部のうちいくつかは複数の領域に対して共通していても良い。
[第4の実施の形態]
次に、本発明の第4の実施の形態について詳細に説明する。
本実施の形態の構成を図22に示す。図22は、本発明の第4の実施の形態の構成を示す図である。
本実施の形態は、CPU45、キャッシュ46、アドレス変換部47、アドレス変換変更部47a、メモリ48及びメモリ48を複数の領域にマップした物理アドレス空間49からなる。
本実施の形態は、アドレス変換部47がソフトウェアからアドレス変換を変更するためのアドレス変換変更部47aを備えていることを特徴とする。ここで、アドレス変換を変更するとは、変更前のアドレス変換では物理空間上のアドレスxに対応するメモリ上のアドレスがf(x)とするとき、変更後では対応するメモリ上のアドレスがf(x)とは異なるf'(x)となることを意味する。
本実施の形態におけるメモリアクセス時の動作は、これまでの説明から明らかであるので、ここではアドレス変換を変更することによる効果について説明する。なお、以下の説明では、変更前の領域iに対するアドレス変換をfiとする。
この場合にメモリ上のアドレスyにアクセスするための物理アドレス空間上のアドレスをxiとすると、
y = fi(xi)
である。従って、領域iを用いることによって、メモリ上のアドレスyを、カラー Color(xi)でアクセスすることができる。これに対して、アドレス変換変更部を用いることによって、領域iに対するアドレス変換をf'iに変更した場合の、メモリ上のアドレスyにアクセスするためのアドレスをx'iとすると、y = f'i(x'i)
であり、このときのカラーはColor(x'i)である。従って、
Color(xi) != Color(x'i)
となるf'iを選ぶことによって、領域iを通してメモリ上のアドレスyにアクセスする時のカラーを変更することができる。なお、「!=」はノットイコール演算子を示し、左辺と右辺が等しくないことを表す。
メモリをマップした物理空間上の領域のサイズがメモリサイズより小さい場合や、領域数がカラー数より少ない場合は、メモリ上のアドレスにアクセス可能なカラー数が少なくなる。このような場合でも、本実施の形態では、各領域を通してアクセスするときのカラーを変更することができるので、変更前のアドレス変換ではアクセスできなかったカラーでメモリをアクセスすることができる。従って、メモリ上のアドレスにアクセス可能なカラーが増加するという効果が得られる。
次に本発明の第4の実施の形態についてより具体的に説明する。本実施の形態の構成を図23に示す。本実施の形態は、CPU45、キャッシュ46、アドレス変換部47、アドレス変換表50、物理アドレス空間49及びメモリ48から構成される。本実施の形態はメモリサイズが256MBの例である。
本実施の形態は、アドレス変換部47がアドレス変換表50を用いて、物理アドレス空間49上のアドレスをメモリ48上のアドレスに変換することと、物理アドレス空間49上のメモリをマップした範囲のサイズがメモリサイズと同じであることを特徴とする。
まず、アドレス変換表50について説明する。アドレス変換表50は、物理アドレス空間49上のアドレスとそのアドレスが変換されるメモリ48上のアドレスを記憶するための表である。
アドレス変換部47は、アドレス変換を行う際に、アドレス変換表50を検索し、物理アドレス空間49上のアドレスが見つかれば、対応するメモリ空間上のアドレスを変換結果として抽出するという動作をする。
アドレスが見つからない場合は、エラーを返すといった動作や、デフォルトの変換を行って変換結果とするといった動作をすることができる。なお、本実施の形態では、アドレス変換表50はページサイズ単位でアドレスの対応関係を記録するが、これはアドレス変換表50が記録する単位をページサイズに限るものではない。
アドレス変換表50は、主メモリ上に記憶されても良いし、専用のメモリを持っても良い。また物理アドレスと論理アドレスの変換に使われるページテーブルの TLB(Translation Look-aside Buffer)ように高速なメモリでキャッシュされても良い。
次に本実施の形態の動作を説明するため、物理アドレス空間上の0x00000010番地(ページ番号は0x00000)にアクセスする場合を例に説明する。これの例ではカラー数は4とする。また、利用するアドレス変換表は図23に記載のものである。
手順としては、
(1)CPU45がアドレス0x00000010を発行する
(2)キャッシュ46がアドレス0x00000010でアクセスされる。この時のカラーは (0x00000010 / 4KB) % 4 = 0 である。
(3)キャッシュミス等によりメモリ48にアクセスが発生する場合、物理アドレス0x00000010が発行される。
(4)アドレス変換部47は、アドレス変換表を検索して、物理アドレス空間49上のページ0x00000に対応するメモリ48上のアドレスが0x00003であることを得る。
(5)メモリ48にアドレス0x00003010が発行される。
次に、アドレス変換表を用いたアドレス変換によって、メモリ上のアドレスに対して異なるカラーでアクセスする例を、図24に示すアドレス変換表の例を用いて説明する。
図24のアドレス変換表は、物理アドレス空間上のページ 0x00000(カラー0)と 0x00001(カラー1)がメモリ上のページ 0x00000 に対応するように記録されている。従って、メモリ上のページ0x00000に対してカラー0または1でアクセスすることが可能である。
これによって、本実施の形態が、OSによる論理アドレスと物理アドレスの変換を利用したキャッシュ制御を行う際のプロセスが利用可能なメモリサイズの制限を緩和する効果を持つ。
本実施の形態では、アドレス変換表に記録する対応関係を変更することによって、物理アドレス空間上のアドレスが変換されるメモリ上のアドレスを変更することが可能である。すなわち、アドレス変換表50は、アドレス変換を変更するためのアドレス変換変更部47aである。従って、本実施の形態のアドレス変換部47はアドレス変換変更部47aを備えている。
次に、本実施の形態の物理アドレス空間について説明する。前述のように本実施の形態では、物理アドレス空間上のメモリをマップする範囲のサイズは、メモリサイズと同じであるという特徴を持つ。これは、アドレス変換表の記録内容を変更することによって、ある物理ページが対応するメモリ上のページを変更することができるため、物理アドレス空間上のメモリをマップした範囲のサイズをメモリのサイズより大きくすることなく、メモリ上の全ページにアクセスすることができるからである。
例えば、図24に示したアドレス変換表の場合では、メモリ上のページ0x00000に対応する物理アドレス空間上のページが2ページある。従って、このアドレス変換表の内容では、物理アドレス空間上のメモリをマップした範囲のサイズがメモリサイズと同じ場合は、メモリ上にアクセスできないページが存在する。
しかし、アドレス変換表は記録内容を変更可能であるため、メモリ上のページ 0x00000に対応していた2つの物理アドレス空間上のページのどちらかの対応先をアクセスできなかったページに変更することによって、アクセスを可能にできる。
例えば、メモリ上のアクセスできなかったページが0x00010であった場合には、図25に示すようにアドレス変換表を変更することによって、そのページにアクセスすることが可能となる。従って、本実施の形態では、物理アドレス空間上のメモリをマップする範囲のサイズをメモリサイズと同じサイズに抑えながら、メモリ上の同一アドレスに複数のカラーでアクセスすることを可能にするという効果がある。
本実施の形態では、アドレス変換表を用いることで、ページサイズ単位でアドレスの対応を決定している。従って、本実施の形態は、領域サイズがページサイズで、領域数がページ数の場合である第1の本発明の最良の実施の形態の別形態に対応する実施の形態でもある。
以上、本発明の代表的な実施形態について説明したが、本発明は、本願の請求の範囲によって規定される、その精神または主要な特徴から逸脱することなく、他の種々の形で実施することができる。そのため、前述した各実施形態は単なる例示にすぎず、限定的に解釈されるべきではない。本発明の範囲は特許請求の範囲によって示すものであって、明細書や要約書の記載には拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更はすべて本発明の範囲内のものである。
本願は、2008年3月4日に出願された特願2008−053342号に基づき、優先権の利益を主張するものである。そして、特願2008−053342号の内容は本願の明細書の内容に含まれる。
本発明によれば、キャッシュメモリ及び論理アドレスと物理アドレスの変換を行うプロセッサを備えたコンピュータにおいて、アプリケーションソフトを動かす際のキャッシュミスペナルティによる動作速度の低下を抑止するという用途に利用することができる。

Claims (23)

  1. メモリと、前記メモリに記憶されるデータを一時保持し、物理アドレスによって前記データの格納位置が決まるキャッシュメモリと、を備え、前記格納位置を、論理アドレスと前記物理アドレスとのマッピングの単位となる一定サイズのページ毎に、カラーIDで識別するメモリシステムでの、前記メモリの物理アドレス空間へのマッピング方法において、
    前記メモリの一のアドレスを前記物理アドレス空間の複数の領域にマップし、
    前記複数の領域のそれぞれから前記メモリへのアクセスに対して、それぞれ異なるアドレス変換を行い、
    前記メモリ上の前記一のアドレスに対して、前記複数の領域のそれぞれから異なるカラーIDでアクセスする、
    ことを特徴とするメモリマッピング方法。
  2. 前記アドレス変換は、前記キャッシュメモリとメモリバスとの間に備わるアドレス変換部によって行われること、を特徴とする請求項1に記載のメモリマッピング方法。
  3. 前記アドレス変換は、メモリバスと前記メモリとの間に備わるアドレス変換部によって行われること、を特徴とする請求項1に記載のメモリマッピング方法。
  4. 前記アドレス変換は、前記領域毎に異なるオフセットを前記領域のアドレスに加えることで行われることを特徴とする請求項1乃至3のいずれか1項に記載のメモリマッピング方法。
  5. 前記物理アドレス空間上でとり得る前記カラーIDの個数をカラー数とし、
    前記マッピングは、前記物理アドレス空間上で前記カラー数と同数の領域に前記メモリをマップし、
    前記アドレス変換は、前記複数の領域のそれぞれで前記カラーIDを1ずつずらすようにアドレス変換を行うこと、を特徴とする請求項1乃至4のいずれか1項に記載のメモリマッピング方法。
  6. 前記マッピングは、前記物理アドレス空間上の前記複数の領域に、該領域毎に先頭ページの前記カラーIDが異なるように前記メモリをマップすること、を特徴とする請求項1乃至4のいずれか1項に記載のメモリマッピング方法。
  7. 前記物理アドレス空間上でとり得る前記カラーIDの個数をカラー数とし、
    前記マッピングは、前記物理アドレス空間上の前記カラー数よりも少ない数の領域に前記メモリをマップし、
    前記アドレス変換は、前記複数の領域のそれぞれで前記カラーIDを1ずつずらすようにアドレス変換を行うこと、を特徴とする請求項1乃至4のいずれか1項に記載のメモリマッピング方法。
  8. 前記アドレス変換は、複数の前記アドレス変換部によって行われること、を特徴とする請求項乃至7のいずれか1項に記載のメモリマッピング方法。
  9. 前記物理アドレス空間上でとり得る前記カラーIDの個数をカラー数とし、
    前記マッピングは、前記複数の領域のそれぞれのサイズが前記メモリのサイズよりも小さい場合は、前記複数の領域の個数を前記カラー数よりも大きくすること、を特徴とする請求項1乃至4および6のいずれか1項に記載のメモリマッピング方法。
  10. 前記アドレス変換は、前記アドレス変換の方法を変更すること、を更に備えることを特徴とする請求項1乃至9のいずれか1項に記載のメモリマッピング方法。
  11. 前記アドレス変換は、前記物理アドレス空間上のアドレスとメモリ空間上のアドレスとを対応させるアドレス変換表に基づいて行われ、
    前記アドレス変換表は内容を変更することが可能であること、を特徴とする請求項1乃至10のいずれか1項に記載のメモリマッピング方法。
  12. 前記アドレス変換は、前記物理アドレス空間上のアドレスとメモリ空間上のアドレスとを対応させるアドレス変換表に基づいて行われ、
    前記アドレス変換表は内容を変更することが可能であり、
    物理アドレス空間上のメモリをマップした前記領域のサイズが前記メモリのサイズと等しいこと、を特徴とする請求項1乃至8および10のいずれか1項に記載のメモリマッピング方法。
  13. メモリと、前記メモリに記憶されるデータを一時保持し、物理アドレスによって前記データの格納位置が決まるキャッシュメモリと、物理アドレス空間上の複数の領域のそれぞれから前記メモリへのアクセスに対して、それぞれ異なるアドレス変換を行うアドレス変換部と、を備え、
    前記格納位置を、論理アドレスと前記物理アドレスとのマッピングの単位となる一定サイズのページ毎に、カラーIDで識別し、
    前記メモリ上の一のアドレスを前記複数の領域にマップし、前記複数の領域のそれぞれから前記メモリへのアクセスに対して、前記アドレス変換部でそれぞれ異なるアドレス変換を行い、前記複数の領域のそれぞれから異なるカラーIDで前記一のアドレスにアクセスすることを特徴とするメモリシステム。
  14. 前記キャッシュメモリとメモリバスとの間に前記アドレス変換部を備えること、を特徴とする請求項13に記載のメモリシステム。
  15. メモリバスと前記メモリとの間に前記アドレス変換部を備えること、を特徴とする請求項13に記載のメモリシステム。
  16. 前記アドレス変換部は、前記領域毎に異なるオフセットを前記領域のアドレスに加えることによってアドレス変換を行うこと、を特徴とする請求項13乃至15のいずれか1項に記載のメモリシステム。
  17. 前記物理アドレス空間上でとり得る前記カラーIDの個数をカラー数とし、
    前記物理アドレス空間上で前記カラー数と同数の領域に前記メモリをマップし、
    前記アドレス変換部は、前記複数の領域のそれぞれで前記カラーIDを1ずつずらすようにアドレス変換を行うこと、を特徴とする請求項13乃至16のいずれか1項に記載のメモリシステム。
  18. 前記物理アドレス空間上の前記複数の領域に、該領域毎に先頭ページの前記カラーIDが異なるように前記メモリをマップしたこと、を特徴とする請求項13乃至16のいずれか1項に記載のメモリシステム。
  19. 前記物理アドレス空間上でとり得る前記カラーIDの個数をカラー数とし、
    前記物理アドレス空間上の前記カラー数よりも少ない数の領域に前記メモリをマップし、
    前記アドレス変換部は、前記複数の領域のそれぞれで前記カラーIDを1ずつずらすようにアドレス変換を行うこと、を特徴とする請求項13乃至16のいずれか1項に記載のメモリシステム。
  20. 前記アドレス変換部を複数備えること、を特徴とする請求項13乃至19のいずれか1項に記載のメモリシステム。
  21. 前記物理アドレス空間上でとり得る前記カラーIDの個数をカラー数とし、
    前記複数の領域のそれぞれのサイズが前記メモリのサイズよりも小さい場合は、前記複数の領域の個数を前記カラー数よりも大きくすること、を特徴とする請求項13乃至16および18のいずれか1項に記載のメモリシステム。
  22. 前記アドレス変換部は、前記アドレス変換の方法を変更するための変換式を備えること、を特徴とする請求項13乃至21のいずれか1項に記載のメモリシステム。
  23. 前記アドレス変換部は、
    物理アドレス空間上のアドレスとメモリ空間上のアドレスとを対応させるアドレス変換表を備え、
    前記アドレス変換表は内容を変更することが可能であって、
    前記アドレス変換表を用いてアドレス変換を行うことを特徴とする請求項13乃至22のいずれか1項に記載のメモリシステム。
JP2010501904A 2008-03-04 2009-03-03 メモリマッピング方法、メモリシステム Active JP5293974B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010501904A JP5293974B2 (ja) 2008-03-04 2009-03-03 メモリマッピング方法、メモリシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008053342 2008-03-04
JP2008053342 2008-03-04
JP2010501904A JP5293974B2 (ja) 2008-03-04 2009-03-03 メモリマッピング方法、メモリシステム
PCT/JP2009/053923 WO2009110446A1 (ja) 2008-03-04 2009-03-03 メモリマッピング方法、メモリシステム

Publications (2)

Publication Number Publication Date
JPWO2009110446A1 JPWO2009110446A1 (ja) 2011-07-14
JP5293974B2 true JP5293974B2 (ja) 2013-09-18

Family

ID=41056001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010501904A Active JP5293974B2 (ja) 2008-03-04 2009-03-03 メモリマッピング方法、メモリシステム

Country Status (2)

Country Link
JP (1) JP5293974B2 (ja)
WO (1) WO2009110446A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516826B (zh) * 2013-09-30 2017-11-17 华为技术有限公司 一种虚拟大页面与物理大页面的对应方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659980A (ja) * 1992-08-05 1994-03-04 Matsushita Electric Ind Co Ltd キャッシュ装置
JPH0991199A (ja) * 1995-09-28 1997-04-04 Mazda Motor Corp 階層記憶システムにおけるデバイスアクセス方法
JPH09507599A (ja) * 1994-10-22 1997-07-29 ゲーエムデー−フォルシュングスツェントルム インフォルマチオンシュテクニク ゲーエムベーハー データ格納装置
JPH10254777A (ja) * 1996-11-07 1998-09-25 Ncr Internatl Inc キャッシュ・メモリにおけるスラッシングを検出するための方法およびコンピュータ装置
JP2000250814A (ja) * 1997-11-26 2000-09-14 Digital Equip Corp <Dec> アドレススペース内にキャッシュページアドレスの均一な分布を維持するための動的なメモリ割り当て方法
JP2000339220A (ja) * 1999-05-27 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> キャッシュブロック予約方法およびキャッシュブロック予約機能付きコンピュータシステム
JP2004206424A (ja) * 2002-12-25 2004-07-22 Hitachi Ltd データ処理装置及びデータ処理装置におけるデータ転送方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659980A (ja) * 1992-08-05 1994-03-04 Matsushita Electric Ind Co Ltd キャッシュ装置
JPH09507599A (ja) * 1994-10-22 1997-07-29 ゲーエムデー−フォルシュングスツェントルム インフォルマチオンシュテクニク ゲーエムベーハー データ格納装置
JPH0991199A (ja) * 1995-09-28 1997-04-04 Mazda Motor Corp 階層記憶システムにおけるデバイスアクセス方法
JPH10254777A (ja) * 1996-11-07 1998-09-25 Ncr Internatl Inc キャッシュ・メモリにおけるスラッシングを検出するための方法およびコンピュータ装置
JP2000250814A (ja) * 1997-11-26 2000-09-14 Digital Equip Corp <Dec> アドレススペース内にキャッシュページアドレスの均一な分布を維持するための動的なメモリ割り当て方法
JP2000339220A (ja) * 1999-05-27 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> キャッシュブロック予約方法およびキャッシュブロック予約機能付きコンピュータシステム
JP2004206424A (ja) * 2002-12-25 2004-07-22 Hitachi Ltd データ処理装置及びデータ処理装置におけるデータ転送方法

Also Published As

Publication number Publication date
WO2009110446A1 (ja) 2009-09-11
JPWO2009110446A1 (ja) 2011-07-14

Similar Documents

Publication Publication Date Title
KR102144491B1 (ko) 계층적 메모리 시스템을 위한 메모리 관리
KR100562906B1 (ko) 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
JP6460497B2 (ja) ファイルアクセス方法およびファイルアクセス装置、ならびに記憶装置
CN1306420C (zh) 利用永久历史页表数据预取数据到高速缓存的装置和方法
KR101729503B1 (ko) 계층 변환 테이블 제어
US9612975B2 (en) Page cache device and method for efficient mapping
US20160294693A1 (en) Routing Lookup Method and Device, and Construction Method for B-tree Structure
US9990299B2 (en) Cache system and method
WO1998030969A2 (en) Dma device with local page table
EP2266040A2 (en) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
KR101768828B1 (ko) 메모리 물리 어드레스 조회 방법 및 장치
US20140317337A1 (en) Metadata management and support for phase change memory with switch (pcms)
WO2015041151A1 (ja) キャッシュメモリシステムおよびプロセッサシステム
CN104169892A (zh) 并发访问的组相联溢出缓存
CN109240944B (zh) 一种基于可变长缓存行的数据读写方法
US11334499B2 (en) Method for locating metadata
CN109918316B (zh) 一种减少ftl地址映射空间的方法及其系统
US20220147449A1 (en) Method for establishing hierarchical look-up tables and/or inquiring memory address according to hierarchical look-up tables
WO2010024071A1 (ja) キャッシュメモリ、そのシステム、その利用方法及びその利用プログラム
JP5293974B2 (ja) メモリマッピング方法、メモリシステム
KR102355374B1 (ko) 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법
US8874827B2 (en) Page merging for buffer efficiency in hybrid memory systems
CN107506139A (zh) 一种面向相变存储器的写请求优化装置
JP5196249B2 (ja) キャッシュメモリを利用するためのメモリシステム、その方法及びそのプログラム
JP2004038806A (ja) アドレス変換装置、アドレス変換方法および2階層アドレス変換装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130528

R150 Certificate of patent or registration of utility model

Ref document number: 5293974

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150