JP2004157686A - メモリ管理装置及びメモリ管理方法 - Google Patents

メモリ管理装置及びメモリ管理方法 Download PDF

Info

Publication number
JP2004157686A
JP2004157686A JP2002321669A JP2002321669A JP2004157686A JP 2004157686 A JP2004157686 A JP 2004157686A JP 2002321669 A JP2002321669 A JP 2002321669A JP 2002321669 A JP2002321669 A JP 2002321669A JP 2004157686 A JP2004157686 A JP 2004157686A
Authority
JP
Japan
Prior art keywords
logical
page
physical
physical page
frequency index
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.)
Granted
Application number
JP2002321669A
Other languages
English (en)
Other versions
JP4199519B2 (ja
JP2004157686A5 (ja
Inventor
Shiro Yoshioka
志郎 吉岡
Hirobumi Kaneko
博文 金子
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002321669A priority Critical patent/JP4199519B2/ja
Priority to CNB2003101240822A priority patent/CN1296833C/zh
Priority to US10/701,073 priority patent/US7120773B2/en
Publication of JP2004157686A publication Critical patent/JP2004157686A/ja
Publication of JP2004157686A5 publication Critical patent/JP2004157686A5/ja
Application granted granted Critical
Publication of JP4199519B2 publication Critical patent/JP4199519B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

Abstract

【課題】本発明は、強誘電体メモリの寿命延長に好適なメモリ管理装置を提供する。
【解決手段】メモリ管理装置におけるTLB13は、異なる論理ページに対応する各エントリに、当該論理ページに対応する物理ページを示すアドレス131、当該物理ページの劣化度合いを示す指標132、論理ページへのアクセス頻度を表す指標133を保持する。当該メモリ管理装置は、このTBL13の内容に応じて論理ページに対応付けられる物理ページをアクセスすると共に、最大のアクセス頻度指標で示される論理ページに対応する第1の物理ページの内容と、最小の劣化指標で示される第2の物理ページの内容とを定期的に入れ替え、当該論理ページに当該第2の物理ページを対応付ける。各物理ページはアクセスされると劣化するが、この入れ替えと対応付けの変更によってアクセスが分散し、劣化が均等化される。
【選択図】 図5

Description

【0001】
【発明の属する技術分野】
本発明は、メモリ管理装置及びメモリ管理方法に関し、特にアクセスによって劣化するメモリ装置の各部における劣化を均等化させる技術に関する。
【0002】
【従来の技術】
従来、データ消去操作によって劣化するメモリ装置として、例えばフラッシュメモリ装置がある。このようなメモリ装置において局所的な記憶領域にデータ消去が集中すると、その記憶領域のみが突出して劣化し、メモリ装置の寿命が早期に尽きることとなる。そのため、そのようなメモリ装置の寿命を延長させるべく、メモリ装置全体の記憶領域にデータ消去を分散させるための管理が行われる。
【0003】
フラッシュメモリ装置では、その構造上、任意のビットをセットできるが、リセット(つまりデータ消去)は複数ビットから構成される物理ブロックを一括してのみ可能である。このため、フラッシュメモリ装置におけるデータの更新は、一般に、物理ブロック単位で行われる。
具体例として、一括リセット操作によって従前のデータが消去された空き物理ブロックを用意しておき、ビットセット操作によって新たなデータを当該空き物理ブロックへ書き込み、不要となったデータを物理ブロック単位に消去して新たな空き物理ブロックを用意するという手順が採られる。フラッシュメモリ装置の劣化は、物理ブロックからデータが消去される際に、当該物理ブロックを構成する各ビットに一括して生じる。
【0004】
このようなデータ更新及び劣化に関する、フラッシュメモリ装置特有の特性を前提とした管理技術が公知となっている(例えば、特許文献1参照)。
図24は、当該従来の管理技術の、上位装置からのアクセス単位である論理ブロックをフラッシュメモリ装置の物理ブロックに割り当てる方法を示している。当該方法では、各論理ブロックに対するデータ書き込み回数、及び各物理ブロックに対するデータ消去回数を、それぞれ計数する。
【0005】
そして、当該書き込み回数が多い(即ちアクセス頻度が高い)論理ブロックへのデータ書き込みが指示されると、当該論理ブロックを当該消去回数が少ない(即ち劣化が小さい)空き物理ブロックに割り当て、そこへデータを書き込む。
この書き込みによって、消去回数が少ない空き物理ブロックが失われるので、消去回数が少ない物理ブロックの内容を他の空き物理ブロックへコピーし、当該物理ブロックの内容を消去することにより、消去回数が少ない他の空き物理ブロックを用意している。
【0006】
この一連の処理により、物理ブロック間で消去回数を均等化させ、一部の物理ブロックが突出して劣化することを回避し、フラッシュメモリ装置の寿命延長を図るとしている。
一方、データ書き込み操作及びデータ参照操作の何れによっても劣化するメモリ装置として、強誘電体メモリ(FeRAM:Ferroelectric Random Access Memory)装置がある。強誘電体メモリ装置では、その構造上、任意のビットのセット及びリセットが可能である。このため、強誘電体メモリ装置におけるデータ更新は、ビット単位(実用的にはバスのアクセス単位であるバイト単位)にランダムに行われる。ビットがセット及びリセットされる際に、当該ビットが劣化する。さらに、強誘電体メモリ装置では、ビットが参照される際にも当該ビットが劣化する。
【0007】
強誘電体メモリ装置に関しても、メモリ装置全体の記憶領域にデータ書き込み及びデータ読み出しを分散させるための管理を行うことにより、装置寿命の延長が図られる。
【0008】
【特許文献1】
特開平8−16482号公報
【0009】
【発明が解決しようとする課題】
しかしながら、前述した従来技術は、フラッシュメモリ装置を管理対象としているので、強誘電体メモリ装置にそのまま適用すると次の問題を生じる。
第1に、前記従来技術はデータ書き込み操作のみを劣化要因と捉えているので、強誘電体メモリ装置においてデータ読み出し操作によっても生じる劣化を正しく把握できない。
【0010】
第2に、前記従来技術は劣化要因であるデータ書き込みが物理ブロック単位に行われることを前提としており、物理ブロック内でデータ書き込みが偏在することを考慮していない。そのため、強誘電体メモリ装置においてデータがランダムアクセスされた場合に物理ブロック内に生じる劣化の偏在を緩和できない。
第3に、高速アクセスが可能な強誘電体メモリにおいては特に、アクセスの絶対数を削減するための方策を講じることが望ましいが、前記従来技術にはその方策が示されていない。
【0011】
上記の問題に鑑み、本発明は、ランダムかつ高速アクセスが可能で、かつデータの書き込み及び読み出しの双方によって劣化するメモリ装置の寿命延長に好適なメモリ管理装置及びメモリ管理方法の提供を目的とする。
【0012】
【課題を解決するための手段】
(1)上記問題を解決するため、本発明のメモリ管理装置は、論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を保持し、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理装置であって、当該各物理ページはアクセスされると劣化し、当該各論理ページに関して、その論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を記憶しているアクセス頻度指標記憶手段と、当該各物理ページに関して、その劣化度を表す劣化指標を記憶している劣化指標記憶手段と、第1の基準を満たすアクセス頻度指標で示される論理ページに対応する第1の物理ページの内容と、第2の基準を満たす劣化指標で示される第2の物理ページの内容とを入れ替えると共に、該当する対応情報を変更することにより当該第1の基準を満たすアクセス頻度指標で示される論理ページに当該第2の物理ページを対応付ける劣化均等化手段とを備える。
(2)また、前記メモリ管理装置は、さらに、所定数までの物理ページの内容の複製を、当該内容に代えてアクセスされるべきキャッシュデータとして物理ページ毎に記憶し、その後のアクセスによって当該キャッシュデータが更新された場合にのみ、更新後のキャッシュデータを元の物理ページへ書き戻すキャッシュ記憶手段と、物理ページの内容の複製がキャッシュデータとして当該キャッシュ記憶手段へ記憶されると当該物理ページに関する劣化指標に第1の値を加算し、更新後のキャッシュデータが当該物理ページへ書き戻されると当該劣化指標に第2の値を加算する劣化指標更新手段とを備えてもよい。
(3)上記問題を解決するため、本発明のメモリ管理装置は、論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を保持し、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理装置であって、当該各物理ページはアクセスされると劣化し、当該各論理ページに関して、その論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を記憶しているアクセス頻度指標記憶手段と、当該各物理ページに関して、その劣化度を表す劣化指標を記憶している劣化指標記憶手段と、所定数までの物理ページの各々について、その内容の複製であって当該内容に代えてアクセスされるべきキャッシュデータと、当該物理ページに対応する論理ページに関するアクセス頻度指標の複製である複製頻度指標とを対応付けて記憶するキャッシュ記憶手段と、キャッシュデータに対応する複製頻度指標よりも、新たな物理ページに対応する論理ページに関するアクセス頻度指標が大きい場合にのみ、当該キャッシュデータを当該新たな物理ページの内容で置き換える劣化均等化手段とを備える。
【0013】
【発明の実施の形態】
<実施の形態1>
本発明の実施の形態1に係るメモリ管理装置は、複数の論理ページの各々に、アクセスによって劣化する複数の物理ページの一つを対応付ける対応情報を保持し、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理装置であって、アクセス頻度の高い論理ページに対応する第1の物理ページの内容と、劣化の小さい第2の物理ページの内容を定期的に入れ替えると共に、当該論理ページに当該第2の物理ページが対応付くように当該対応情報を変更する。
【0014】
以下、本メモリ管理装置について、図1〜図11を参照しながら説明する。
<全体構成>
図1は、実施の形態1に係るメモリ管理装置10を含むコンピュータシステム100の構成を示す機能ブロック図である。
コンピュータシステム100は、メモリ管理装置10、CPU(Central Processing Unit)20、RAM(Random Access Memory)30、ROM(Read OnlyMemory)40、強誘電体メモリ50、論理アドレスバス61、論理データバス62、物理アドレスバス71、及び物理データバス72から構成される。
【0015】
メモリ管理装置10は、制御回路11、キャッシュメモリ12、TLB(Translation Lookaside Buffer)13から構成される。
CPU20は、論理アドレスバス61、論理データバス62を介して、メモリ管理装置10、RAM30、及びROM40をアクセスする。
<論理ページと物理ページ>
図2(A)は、コンピュータシステム100の論理アドレス空間を示すアドレスマップである。論理アドレス空間600は、強誘電体メモリ領域610、キャッシュ直接アクセス領域620、TLB直接アクセス領域630、ROM領域640、及びRAM領域650を含み、それぞれの領域において、強誘電体メモリ50、キャッシュメモリ12、TLB13、RAM30、及びROM40がアクセスされる。
【0016】
図2(B)は、論理アドレス空間600における位置をバイト単位に指定する論理アドレスのビット構成の一例を示している。この例では、論理アドレスは20ビットで構成されるとした。この論理アドレスは論理アドレスバス61に出力され、アクセス対象を指定する。上位2ビットA[19:18]が00である論理アドレスは、強誘電体メモリ領域610を指定し、残りのビットA[17:0]は強誘電体メモリ領域610内の1バイトを指定する。強誘電体メモリ領域610の大きさは256Kバイトである。
【0017】
図3(A)は、強誘電体メモリ領域610の詳細を示している。強誘電体メモリ領域610は、メモリ管理の単位となる256の論理ページに分割される。個々の論理ページの大きさは1Kバイトである。論理アドレスの中位8ビットA[17:10]は一つの論理ページを指定し、下位10ビットA[9:0]は論理ページ内の1バイトを指定する。
【0018】
図3(B)は、強誘電体メモリ50の記憶領域の構成を示している。当該記憶領域は、それぞれ1Kバイトの記憶容量を有する255の物理ページから成る。各物理ページは、メモリ管理装置10において、それぞれ異なる論理ページに対応付けられている。
強誘電体メモリ50へのアクセスは、物理ページを32分割して得られる相対領域の1つを指定して、32バイト単位に行われる。
【0019】
論理アドレスを指定したアクセス要求に応じて、メモリ管理装置10は、当該論理アドレスに対応する物理ページにおける目的の1バイトを含む32バイトデータをキャッシュメモリ12にキャッシュし、その後、当該キャッシュされたデータをアクセスする。
<キャッシュメモリ12>
図4は、キャッシュメモリ12の構成を示している。キャッシュメモリ12は、4ウェイセットアソシアティブ構成を採る。同図は、1つのウェイについてメモリ部120の構成を示しており、他のウェイについても同様構成のメモリが設けられる。
【0020】
メモリ部120は、論理ページアドレス欄121、バリッドビット欄122、ダーティビット欄123、キャッシュアクセス頻度指標欄124、及びキャッシュデータ欄125を有している。
キャッシュデータ欄125は、それぞれ異なる前記相対領域に対応する32のラインに、対応する相対領域に記憶されているデータの複製であるキャッシュデータを保持する。当該キャッシュデータに対応して、論理ページアドレス欄121は、当該キャッシュデータをアクセスするために指定されるべき論理ページアドレスを保持し、バリッドビット欄122は、当該キャッシュデータが有効か否かを示す情報を保持し、ダーティビット欄123は、当該キャッシュデータが当初記憶された内容から変更されているか否かを示す情報を保持し、キャッシュアクセス頻度指標欄124は、当該キャッシュデータに対して行われたアクセスの度数を保持する。
【0021】
キャッシュデータの格納動作を詳細に説明する。メモリ管理装置10は、強誘電体メモリ領域を指定したアクセス要求を受けて、論理アドレスビットA[9:5]で示されるラインを選択する。そして、選択されたラインにおいて、論理ページアドレス欄121に論理アドレスビットA[17:10]を格納し、キャッシュデータ欄125に当該論理アドレスビットA[17:10]で示される論理ページに対応する物理ページ内の、論理アドレスビットA[9:5]で指定される領域に記憶されている32バイトのデータの複製を格納する。このとき、選択されたラインにおいて、バリッドビット欄122、ダーティビット欄123、及びキャッシュアクセス頻度指標欄124を、それぞれ1、0、及び0とする。
【0022】
当該格納されたキャッシュデータは、複製元のデータに代えてアクセスされると共に、当該アクセスにより更新された場合のみ複製元へ書き戻される。
また、当該キャッシュデータがアクセスされる度に、キャッシュアクセス頻度指標欄124の内容が1ずつ増やされる。
なお、キャッシュメモリ12に対するアクセスに関する一般的な事項(ヒット、ミス、ライトバック等の一般的な動作)は周知技術に従うものとし、ここではこれ以上詳しく説明しない。
【0023】
<TLB13>
図5は、TLB13の構成を示している。TLB13は、バッファ130及びデコーダ139から成る。
バッファ130は、物理ページアドレス欄131、劣化指標欄132、及びアクセス頻度指標欄133を有している。
【0024】
物理ページアドレス欄131は、論理ページアドレスによって指定される256のエントリに、各エントリに関する論理ページに対応する物理ページを示す物理ページアドレスを保持する。劣化指標欄132は、当該物理ページに関する劣化度合いを表す劣化指標を保持し、アクセス頻度指標欄133は、当該論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を保持する。
【0025】
当該劣化指標、及び当該アクセス頻度指標のそれぞれに、本実施の形態において設定される値については、後に詳述する。
デコーダ139は、制御回路11から論理ページアドレスACACHE[7:0]を与えられ、当該論理ページアドレスACACHE[7:0]をデコードすることによって1つのエントリへ選択信号を出力する。
【0026】
この論理ページアドレスACACHE[7:0]は、詳細には、キャッシュミス時に強誘電体メモリ50からの読み出し対象となるラインに関する論理ページアドレスか、又はライトバック時に強誘電体メモリ50への書き戻し対象となるラインに関する論理ページアドレスである。
バッファ130は、選択信号を与えられたエントリに保持されている物理ページアドレスATRAN[7:0]を物理アドレスバス71の上位8ビットAPHY[12:5]へ出力する。即ち、論理ページ番号は、当該論理ページ番号で指定されるエントリに保持されている物理ページ番号に変換される。このアドレス変換操作によって、論理ページに対応する物理ページが実際にアクセスされることとなる。
【0027】
一方、制御回路11は、論理アドレスの中位5ビットA[9:5]を、物理アドレスの下位5ビットAPHY[4:0]へ出力する。
この結果、強誘電体メモリ50において物理アドレスAPHY[12:0]で指定される32バイトのデータがアクセスされる。
<メモリ管理装置10が行う処理>
次に、メモリ管理装置10によって実行される2つの本発明に特徴的な処理について説明する。
【0028】
これらの処理は、制御回路11を構成するハードウェア回路が実行してもよく、また、制御回路11がROM40に記憶されているプログラムに従って実行してもよく、また、CPU20がROM40に記憶されているプログラムに従って制御回路11に指令して実行させてもよい。
また、各処理の説明に用いた配列、及び変数は、実際には制御回路11内に設けられるレジスタか、又はRAM30によって実現される。
【0029】
<キャッシュフラッシュ及びTLB更新処理>
キャッシュフラッシュ及びTLB更新処理は、キャッシュメモリ12の全てのキャッシュデータを無効化(フラッシュ)すると共に、キャッシュデータが当初内容から更新されていれば強誘電体メモリ50へ書き戻す(ライトバック)。そして、キャッシュアクセス頻度指標のピーク値を、対応する論理ページのアクセス頻度指標に保持させ、物理ページのアクセスの有無、及び読み書きの別に応じて劣化指標を増加させる。
【0030】
この処理は、例えば図示しないタイマ回路が発生する割り込みにより、一定時間毎に起動され実行される。以下、詳細に説明する。
図6は、この処理を示すPAD(Program Algorithm Diagram)である。同図において、配列T[0:255]、並びに変数N、M、及びLを用いてこの処理を示している。
【0031】
配列T[0:255]は物理ページに与えられた劣化の度合い、Nはウェイを指定するパラメータ、Mはラインを指定するパラメータ、Lは論理ページを指定するパラメータである。
制御回路11は、まず、配列Tの全要素を0に初期化する(ステップS100)。そして、各ウェイN(ステップS110〜S111)の各ラインM(ステップS120〜S121)を対象として、ステップS139までを実行する。
【0032】
バリッドビット[N,M]が1なら(ステップS122:YES)、Lを論理ページアドレス[N,M]とし、TLB13のエントリ[L]を対象として(ステップS131〜S132)、ステップS139までを実行する。
キャッシュアクセス頻度指標[N,M]がアクセス頻度指標[L]よりも大きければ、キャッシュアクセス頻度指標[N,M]でアクセス頻度指標[L]を更新する(ステップS133〜S134)。
【0033】
つまり、キャッシュアクセス頻度指標を一定時間毎に参照することによって当該一定時間あたりのキャッシュアクセス頻度を知り、そのピーク値をキャッシュデータが属する論理ページのアクセス頻度に保持させている。
ダーティビット[N,M]が1なら(ステップS135:YES)、配列要素T[L]を2にすると共に、キャッシュデータ[N,M]を強誘電体メモリ50へ書き戻し(ステップS136〜S137)、ダーティビット[N,M]が1でなければ(ステップS135:NO)、配列要素T[L]が0ならば1に変更する(ステップS138)。
【0034】
つまり、物理ページからキャッシュデータが読み出されていないことをバリッドビットが示している場合にはT[L]を0に維持し、読み出されたが変更されていないことをダーティビットが示している場合にはT[L]を1とし、読み出されさらに変更されたことをダーティビットが示している場合にはT[L]を2としている。
【0035】
この数値は、データの読み出しによって1、データの書き戻しによって1の劣化が物理ページに生じることを前提にしており、キャッシュデータが読み出されただけで書き戻されない場合には読み出しに係る劣化度合い1、書き戻される場合には読み書き双方に係る劣化度合いの合算値2をT[L]に求めている。
バリッドビット、ダーティビット、及びキャッシュアクセス頻度指標を0にする(ステップS139)。
【0036】
各論理ページLの劣化指標にT[L]を加算する(ステップS150〜S152)。
<物理ページ入替処理>
物理ページ入替処理は、最大のアクセス頻度指標で示される論理ページに対応する第1の物理ページと、最小の劣化指標で示される第2の物理ページの内容とを入れ替えると共に、当該入れ替えに応じてTLBの情報を更新する。
【0037】
この処理は、前述したキャッシュフラッシュ及びTLB更新処理に引き続いて実行される。以下、詳細に説明する。
図7は、物理ページ入替処理を示すPADである。
制御回路11は、まず、TLB13から、最大のアクセス頻度指標LMAXを保持しているエントリILMAXと、最小の劣化指標PMINを保持しているエントリIPMINとを検索する(ステップS200)。
【0038】
次に、以下のようにして、両エントリに示される物理ページを入れ替える(ステップS210〜S214)。
まず、エントリILMAXの物理ページアドレスで示される物理ページの内容を読み出し、RAM30に記憶する。
そして、エントリIPMINの物理ページアドレスで示される物理ページの内容を、エントリILMAXの物理ページアドレスで示される物理ページへ転記し、RAM30に記憶した内容を、エントリIPMINの物理ページアドレスで示される物理ページへ書き込む。
【0039】
さらに、当該両エントリの物理ページアドレス値を入れ替える。また、当該両エントリの劣化指標値にそれぞれ2を加算した後、両者を入れ替える。ここで、当該加算される値2は、前記説明したように、物理ページに対する読み書き双方に係る劣化度合いの合算値を意味する。
<具体例>
メモリ管理装置10が前記処理を実行することによって、強誘電体メモリ50における物理ページの劣化が均等化されることを、具体例を用いて説明する。
【0040】
この具体例では、(1)通常動作:メモリ管理装置10が強誘電体メモリ50へのアクセス要求をキャッシュメモリ12を介して処理する、(2)キャッシュフラッシュ動作:メモリ管理装置10が前記キャッシュフラッシュ及びTLB更新処理を行う、及び(3)物理ページ入替動作:メモリ管理装置10が前記物理ページ入替処理を行う、の3種類の動作が2回繰り返して実行される様子を示している。
【0041】
図8、及び図9は、コンピュータシステム100の各部におけるデータ及び信号の時間変化を示したタイミングチャートであり、それぞれ、前記繰り返しの1回目、及び2回目の期間に関する。
図10は、主要時刻における強誘電体メモリ50の各部へのアクセス累積回数を示している。
【0042】
図11は、主要時刻におけるTLB13の内容を示している。
以下、時間の経過に沿って、各図の関連する部分を参照しながら説明する。
(時刻t0〜t1)1回目の通常動作
時刻t0において、図10(A)に示すように、強誘電体メモリ50の各部は全くアクセスされたことがなく、また、図11(A)に示すように、各論理ページには論理ページと同一アドレスで示される物理ページが対応付けられており、全ての劣化指標、及び全てのアクセス頻度指標が0となっている。
【0043】
この状態で、図8に示すように、論理アドレスバスに論理アドレス000x〜01Fx(論理ページ0の先頭32バイトのデータ)を指定した、強誘電体メモリに対するアクセス要求が順次発行される。ここで、当該各アクセス要求は、2サイクルで処理される。つまり、第1のサイクルにおいて、キャッシュのヒット/ミスの判断が行われ、キャッシュミスと判断された場合、強誘電体メモリからキャッシュメモリへキャッシュデータが取得される。第2のサイクルにおいて、当該キャッシュデータを用いて実際のアクセスが処理される。
【0044】
最初のアクセス要求においてキャッシュミスと判断され、論理ページア0に対応してTLBエントリ0に記憶されている物理ページアドレス00xが物理アドレスバス[12:5]に出力されると共に、論理アドレス[9:5]が物理アドレスバス[4:0]に出力される。強誘電体メモリ50は、物理ページ00xの先頭32バイトのデータL0を物理データバスに出力し、このデータがウェイ0ライン0のキャッシュデータとして記憶される。
【0045】
後続する各アクセス要求に応じて、当該記憶されたキャッシュデータがアクセスされ、その結果、ウェイ0ライン0のキャッシュアクセス頻度指標が20xまで増加する。なお、当該アクセスには書き込みアクセスが含まれ、これによりダーティビットが1になるとした。
(時刻t1〜t2)1回目のキャッシュフラッシュ動作
時刻t1−1のサイクルにおいて割り込み信号が出力され、メモリ管理装置10は、時刻t1においてキャッシュフラッシュ動作を開始する。
【0046】
この動作は、前記キャッシュフラッシュ及びTLB更新処理の項で詳述したとおりである。
本具体例に関して付言すれば、キャッシュメモリのウェイ0ライン0においてバリッドビットが1となっているので、キャッシュアクセス頻度指標20xと、論理ページ0に対応するTLBエントリ0に記憶されているアクセス頻度指標00xとが比較され、当該アクセス頻度指標が20xに更新される。
【0047】
また、ダーティビットが1となっているので、図8には示さない配列T[0]が2とされると共に、変更後のキャッシュデータL’0が物理ページ0へ書き戻される。そして、TLBエントリ0の劣化指標が2に更新される。
この結果、時刻t2において、図10(B)に示すように、強誘電体メモリ50の物理ページ0の先頭32バイトのアクセス累積回数が2となり、また、図11(B)に示すように、TLBエントリ0の劣化指標、及びアクセス頻度指標が、それぞれ2、及び20xとなる。
(時刻t2〜t3)1回目の物理ページ入替動作
メモリ管理装置は、前記キャッシュフラッシュ動作に引き続いて、時刻t2以降、物理ページ入替動作を行う。
【0048】
この動作は、前記物理ページ入替動作の項で詳述したとおりである。
本具体例に関して付言すれば、TLBが検索され、最大のアクセス頻度指標20xを保持しているエントリ0と、最小の劣化指標0を保持しているエントリ1とが見出される。ここで、最小の劣化指標を保持しているエントリが複数存在する場合には、番号の小さなエントリが見出されるものとする。
【0049】
エントリ0、及びエントリ1にそれぞれ示される、物理ページ0、及び物理ページ1の内容が入れ替えられる。
そして、エントリ0、及びエントリ1の物理ページアドレスが入れ替えられると共に、両者の劣化指標にそれぞれ2が加えられた後、入れ替えられる。
この結果、時刻t3において、図10(C)に示すように、強誘電体メモリ50の物理ページ0の先頭32バイトのアクセス累積回数が4、物理ページ0の残りの部分のアクセス累積回数が2、物理ページ1のアクセス累積回数が2となり、また、図11(C)に示すように、TLBエントリ0の物理ページアドレス、及び劣化指標が、それぞれ1、及び2となり、TLBエントリ1の物理ページアドレス、及び劣化指標が、それぞれ0、及び4となる。
【0050】
このことから明らかなように、劣化指標は、物理ページ内で最も激しく劣化した部分に関する劣化度合いを示すこととなる。
(時刻t3〜t4)2回目の通常動作
メモリ管理装置は、前記物理ページ入替動作の終了後、時刻t3以降、2回目の通常動作を行う。
【0051】
図9に示すように、再び、論理アドレスバスに論理アドレス000x〜01Fx(論理ページ0の先頭32バイトのデータ)を指定したアクセス要求が順次発行される。このアクセスには書き込みアクセスが含まれる。
この結果、1回目の通常動作と同様に、ウェイ0ライン0のキャッシュアクセス頻度指標が20xまで増加し、ダーティビットが1となる。
(時刻t4〜t5)2回目のキャッシュフラッシュ動作
時刻t4−1のサイクルにおいて割り込み信号が出力され、メモリ管理装置10は、時刻t4において2回目のキャッシュフラッシュ動作を開始する。
【0052】
この処理により、キャッシュメモリのウェイ0ライン0におけるキャッシュアクセス頻度指標20xと、論理ページ0に対応するTLBエントリ0に記憶されているアクセス頻度指標20xとが比較され、当該アクセス頻度指標が20xに維持される。
また、図9には示さない配列T[0]が2とされると共に、変更後のキャッシュデータL”0が物理ページ1へ書き戻される。そして、TLBエントリ0の劣化指標にT[0}が加算され4となる。
【0053】
この結果、時刻t5において、図10(D)に示すように、強誘電体メモリ50の物理ページ1の先頭32バイトのアクセス累積回数が4となり、また、図11(D)に示すように、TLBエントリ0の劣化指標が4となる。
(時刻t5〜t6)2回目の物理ページ入替動作
メモリ管理装置は、時刻t5以降、2回目の物理ページ入替動作を行う。
【0054】
この処理により、TLBが検索され、最大のアクセス頻度指標20xを保持しているエントリ0と、最小の劣化指標0を保持しているエントリ2とが見出される。
エントリ0、及びエントリ2にそれぞれ示される、物理ページ1、及び物理ページ2の内容が入れ替えられる。そして、エントリ0、及びエントリ2の物理ページアドレスが入れ替えられると共に、両者の劣化指標にそれぞれ2が加えられた後、入れ替えられる。
【0055】
この結果、時刻t6において、図10(E)に示すように、強誘電体メモリ50の物理ページ1の先頭32バイトのアクセス累積回数が6、物理ページ1の残りの部分のアクセス累積回数が4、物理ページ2のアクセス累積回数が2となり、また、図11(E)に示すように、TLBエントリ0の物理ページアドレス、及び劣化指標が、それぞれ2、及び2となり、TLBエントリ2の物理ページアドレス、及び劣化指標が、それぞれ1、及び6となる。
【0056】
<まとめ>
以上説明したように、実施の形態1に係るメモリ管理装置によれば、アクセス頻度指標に論理ページ毎のアクセス頻度を表し、劣化指標に物理ページ毎の劣化度合いを表し、アクセス頻度指標が最も大きい論理ページに対応している物理ページの内容と、劣化指標が最も小さい物理ページの内容とを入れ替えると共に、この入れ替えに応じて論理ページと物理ページとの対応付けを変更する。
【0057】
つまり、アクセス頻度が高い論理ページに対応付けられていたために劣化が進行した物理ページは、アクセス頻度が比較的低い論理ページへ付け替えられると共に、当該アクセス頻度が高い論理ページには、当該劣化が進行した物理ページに代えて劣化が最も小さい物理ページが対応付けられる。この操作は周期的に行われるので、特定の物理ページが突出して劣化することが回避される。
【0058】
特に、当該メモリ管理装置は、アクセス頻度指標に論理ページ毎のアクセス頻度のピーク値を保持するので、一旦高いピーク値が出た論理ページには、劣化が最も小さい物理ページが、永続的に対応付けられる。
この構成は、長期的に見て特定の論理ページにアクセスが偏る場合に好適であり、アクセス頻度の短期的な変動を無視して、当該論理ページに劣化が最も小さい物理ページを割り当てることができる。
【0059】
また、当該メモリ管理装置は、キャッシュメモリを介して強誘電体メモリをアクセスするので、強誘電体メモリへのアクセスの絶対数が削減される。
これと同時に、物理ページ内の各部分は、2つのキャッシュフラッシュの間に、アクセスされないか、読み出されるのみか、又は、読み出されかつ書き戻されるかの何れかとなるので、物理ページ内の特定部分が無制限にアクセスされることがなくなり、従って物理ページ内での劣化の偏在が緩和される。
【0060】
なお、本発明のメモリ管理装置は、従来技術の項で説明したフラッシュメモリを想定した空き物理ブロックを用いる方法とは異なり、物理ページに保持されているデータを有効な状態のまま入れ替えることにより、物理ページ間の劣化を均等化させる。従って、ランダムアクセス可能ゆえに物理ページの書き換えに際して一括消去を必要としない強誘電体メモリの管理に、特に好適である。
<実施の形態2>
本発明の実施の形態2に係るメモリ管理装置は、実施の形態1で説明したメモリ管理装置と同様、アクセス頻度の高い論理ページに対応する第1の物理ページの内容と、劣化の小さい第2の物理ページの内容を定期的に入れ替えることによって、物理ページ間の劣化の均等化を図る装置である。実施の形態1と比べて、論理ページ毎のアクセス頻度を表すアクセス頻度指標の表し方に関してのみ異なる。
【0061】
以下、本メモリ管理装置について、図12〜図16を参照しながら、実施の形態1と同一の事項については説明を省略し、実施の形態2において異なる事項について主に説明する。
<全体構成>
実施の形態2に係るメモリ管理装置、及び当該メモリ管理装置を含むコンピュータシステムの構成は、実施の形態1で説明した構成(図1参照)と略同一であり、キャッシュメモリがキャッシュアクセス頻度指標欄を持たない点においてのみ異なる。この図示は省略する。
【0062】
また、論理ページ及び物理ページについては、実施の形態1で説明したとおりである。
<キャッシュフラッシュ及びTLB更新処理>
アクセス頻度指標の表し方の変更に伴い、メモリ管理装置によって実行される、キャッシュフラッシュ及びTLB更新処理が、実施の形態1と比べて次のように変更される。
【0063】
実施の形態2に係るキャッシュフラッシュ及びTLB更新処理は、キャッシュデータのフラッシュ及びライトバックを行った後、物理ページのアクセスの有無、及び読み書きの別に応じて、アクセス頻度指標、及び劣化指標の双方を増加させる。
図12は、この処理を示すPAD(Program Algorithm Diagram)である。実施の形態1に係るキャッシュフラッシュ及びTLB更新処理(図6参照)と比べて、アクセス頻度指標をキャッシュアクセス頻度指標に基づいて更新するステップS133〜S134か削除され、アクセス頻度指標にA[L]を加算するステップS353が追加されている。これにより、実施の形態2に係るアクセス頻度指標は、その論理ページを介して過去に物理ページをアクセスした回数の累計(即ち物理ページに与えた劣化の累計)を表す。
【0064】
その他のステップは変更されない。
このアクセス頻度指標に基づいて、実施の形態1と同様の物理ページ入替処理が行われる。
<具体例>
実施の形態2に係る具体例を、実施の形態1と同等のアクセス要求がなされた場合について説明する。
【0065】
図13、及び図14は、コンピュータシステム100の各部におけるデータ及び信号の時間変化を示したタイミングチャートである。キャッシュアクセス頻度指標に関する行は示されていない。
図15は、主要時刻における強誘電体メモリ50の各部へのアクセス累積回数を示している。
【0066】
図16は、主要時刻におけるTLB13の内容を示している。
以下、時間の経過に沿って、各図の関連部分を参照しながら説明する。
(時刻t0〜t1)1回目の通常動作
キャッシュアクセス頻度指標の更新動作が省かれる。その他の動作は実施の形態1と同様である。
(時刻t1〜t2)1回目のキャッシュフラッシュ動作
TLBエントリ0のアクセス頻度指標が、劣化指標と共に2に更新される。その他の動作は実施の形態1と同様である。
【0067】
この結果、時刻t2において、図15(B)に示すように、強誘電体メモリ50の物理ページ0の先頭32バイトのアクセス累積回数が2となり、また、図16(B)に示すように、TLBエントリ0の劣化指標、及びアクセス頻度指標が、それぞれ2、及び2となる。
(時刻t2〜t3)1回目の物理ページ入替動作
TLBが検索され、最大のアクセス頻度指標2を保持しているエントリ0と、最小の劣化指標0を保持しているエントリ1とが見出され、各エントリにそれぞれ示される物理ページ0、及び物理ページ1の内容が入れ替えられる。
【0068】
そして、エントリ0、及びエントリ1の物理ページアドレスが入れ替えられると共に、両者の劣化指標にそれぞれ2が加えられた後、入れ替えられる。
この結果、時刻t3において、強誘電体メモリ各部におるアクセス累積回数、及びTLBの内容は、それぞれ図15(C)、図16(C)に示すものとなる。
(時刻t3〜t4)2回目の通常動作
キャッシュアクセス頻度指標の更新動作が省かれる。その他の動作は実施の形態1と同様である。
(時刻t4〜t5)2回目のキャッシュフラッシュ動作
TLBエントリ0のアクセス頻度指標が、劣化指標と共に4に更新される。その他の動作は実施の形態1と同様である。
【0069】
この結果、時刻t5において、図15(D)に示すように、強誘電体メモリ50の物理ページ0の先頭32バイトのアクセス累積回数が4となり、また、図16(D)に示すように、TLBエントリ0の劣化指標、及びアクセス頻度指標が、それぞれ4、及び4となる。
(時刻t5〜t6)2回目の物理ページ入替動作
TLBが検索され、最大のアクセス頻度指標4を保持しているエントリ0と、最小の劣化指標0を保持しているエントリ2とが見出され、各エントリにそれぞれ示される物理ページ1、及び物理ページ2の内容が入れ替えられる。
【0070】
そして、エントリ0、及びエントリ2の物理ページアドレスが入れ替えられると共に、両者の劣化指標にそれぞれ2が加えられた後、入れ替えられる。
この結果、時刻t6において、強誘電体メモリ各部におるアクセス累積回数、及びTLBの内容は、それぞれ図15(E)、図16(E)に示すものとなる。
<まとめ>
以上説明したように、実施の形態2に係るメモリ管理装置は、アクセス頻度指標にその論理ページを介して過去に物理ページをアクセスした回数の累計を保持するので、論理ページのアクセス頻度が時間的に変動すると、新たにアクセス頻度が高くなった論理ページに関してアクセス頻度指標が大きくなる。この結果、当該新たな論理ページに劣化が最も小さい物理ページが対応付けられることとなる。つまり、この構成は、物理ページ間の劣化を均等化するために、アクセス頻度の時間変動を考慮すべき場合に好適である。
<実施の形態3>
本発明の実施の形態3に係るメモリ管理装置は、実施の形態1で説明したメモリ管理装置と同様、アクセス頻度の高い論理ページに対応する第1の物理ページの内容と、劣化の小さい第2の物理ページの内容を定期的に入れ替えることによって、物理ページ間の劣化の均等化を図る装置である。
【0071】
実施の形態3では、アクセス回数の絶対数が比較的小さな用途を想定することより、実施の形態1における構成からキャッシュメモリを削除した構成とし、それに伴ってアクセス頻度指標の表し方を変更している。
以下、本メモリ管理装置について、図17〜図19を参照しながら、実施の形態1と同一の事項については説明を省略し、実施の形態3におけて異なる事項について主に説明する。
【0072】
<全体構成>
図17は、実施の形態3に係るメモリ管理装置90を含むコンピュータシステム200の構成を示す機能ブロック図である。
コンピュータシステム200は、メモリ管理装置90、CPU20、RAM30、ROM40、強誘電体メモリ50、論理アドレスバス61、論理データバス62、物理アドレスバス71、物理データバス72、CD−ROM I/F(Compact Disk−Read Only Memory InterFace)80、及びCD−ROM81から構成される。
【0073】
メモリ管理装置90は、制御回路91、TLB93から構成される。
制御回路91は、実施の形態1に係る制御回路11からキャッシュメモリに対する制御機能を省いたものである。
なお、実施の形態1に係る構成(図1参照)に含まれる構成要素には、図1と同一の符号を付し、説明を省略する。
【0074】
コンピュータシステム200にも、実施の形態1と同義の論理ページと物理ページとが設けられる。
コンピュータシステム200は、ROM40に予め記録されているプログラムを、CPU20が電源投入時に実行することによって、CD−ROM81に記録されている複数のプログラムルーチンを、CD−ROM I/F80を介して強誘電体メモリ50へロードする。その後、当該ロードされた各プログラムルーチンはCPU20によって実行され、所定の機能が実現される。コンピュータシステム200は、例えば制御用マイコン装置、ゲーム装置、又は通信装置であってもよい。
【0075】
<プログラムルーチンの配置>
図18は、コンピュータシステム200の強誘電体メモリ領域におけるプログラムルーチンの配置例を示している。同図に示すように、CD−ROM81からロードされる各プログラムルーチンは、1つ以上の当該論理ページにわたって配置される。
【0076】
<TLB93>
図19は、TLB93の構成を示している。TLB93は、バッファ930、比較回路935、及びデコーダ939から成る。
バッファ930は、物理ページアドレス欄131、劣化指標欄132、アクセス頻度指標欄933、及び代表論理アドレス欄934を有している。
【0077】
物理ページアドレス欄131は、論理ページアドレスによって指定される256のエントリに、各エントリに関する論理ページに対応する物理ページを示す物理ページアドレスを保持する。劣化指標欄932は、当該物理ページに関する劣化度合いを表す劣化指標を保持し、アクセス頻度指標欄933は、当該論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を保持し、代表論理アドレス欄934は、当該論理ページを代表する代表論理アドレスを保持する。
【0078】
デコーダ939は、論理アドレスバス61から論理アドレスA[17:10]を取得し、それをデコードすることによって1つのエントリへ選択信号を出力する。バッファ930は、選択信号を与えられたエントリに保持されている物理ページアドレスATRAN[7:0]を物理アドレスバス71の上位8ビットAPHY[12:5]へ出力する。これにより、TLB93は、論理アドレスバス61に示された論理ページアドレスを、直接、物理ページアドレスへ変換する。
【0079】
比較回路935は、各エントリに対応した比較器9351〜9354から構成される。そして、論理アドレスバス61から論理アドレスA[19:0]を取得し、その値と代表論理アドレスとをエントリ毎に比較し、一致したエントリにおいて、劣化指標、及びアクセス頻度指標を、それぞれ1増加させる。
ここで、代表論理アドレスには、当該論理ページに配置されるプログラムルーチンが実行される際に必ずアクセスされる論理アドレスを、予め指定しておくものとする。
【0080】
そのようなアドレスとして、例えばプログラムルーチンの入口アドレスを指定してもよい。入口アドレスは、プログラムルーチン実行時に必ずアクセスされるので、プログラムルーチンを配置された論理ページにアクセスがあったことを知るのに好適である。
<まとめ>
以上説明したように、実施の形態3に係るメモリ管理装置は、アクセス頻度指標に、その論理ページに配置されているプログラムルーチンを過去に呼び出した回数の累計を保持し、劣化指標に、その物理ページに記録されているプログラムルーチンが実際にアクセスされた回数の累計を保持する。
【0081】
これらの値の意義は、実施の形態2のアクセス頻度指標、及び劣化指標と同様であり、それぞれ論理ページのアクセス回数の累計、及び物理ページの劣化の度合いを表すから、これらの指標に基づいて物理ページ入替処理を行うことにより、物理ページ間の劣化が均等化される。
この構成は、キャッシュメモリを用いないので、アクセス回数の絶対数を削減せず、また物理ページ内での劣化の偏在を緩和しないという制約があるが、これらの制約が許容される用途においては、キャッシュメモリを省いた小規模な構成で強誘電体メモリの寿命延長を図ることができる。
<実施の形態4>
本発明の実施の形態4に係るメモリ管理装置は、nウェイセットアソシアティブ構成のキャッシュメモリを介して対象メモリをアクセスするメモリ管理装置である。キャッシュされるべきデータのアクセス頻度を予め求めておき、新規にキャッシュされるべきデータのアクセス頻度よりも小さいアクセス頻度を有する既存のキャッシュデータを、当該新規データでリプレースする。
【0082】
以下、本メモリ管理装置について、図20〜図23を参照しながら説明する。
<全体構成>
実施の形態4に係るメモリ管理装置、及び当該メモリ管理装置を含むコンピュータシステムの構成は、実施の形態1で説明した構成(図1参照)と同一である。
【0083】
<TLB13>
TLB13のアクセス頻度指標欄123には、シミュレーション等により予め求めた各論理ページのアクセス頻度(ここでは、所定単位時間あたりのアクセス回数の平均値を言う)を表すアクセス頻度指標が、事前に設定されている。このアクセス頻度指標が、リブレース対象となるキャッシュデータの決定に用いられる。
【0084】
図20は、実施の形態4においてTLB13に保持されるアクセス頻度指標の一例である。同図は、論理ページ0、1、2、3、及び4のアクセス頻度が、それぞれ4、2、1、1、及び1と予め求められ、TLB13のアクセス頻度指標欄123に設定されている状態を示している。実施の形態4では、このアクセス頻度指標は更新されない。
【0085】
<キャッシュメモリ12>
キャッシュメモリ12は、キャッシュデータ欄にキャッシュデータを格納する際に、当該キャッシュデータをアクセスするための論理ページに関するアクセス頻度指標をキャッシュアクセス頻度指標欄に格納する。このキャッシュアクセス頻度指標が、請求項に言う複製頻度指標に相当する。
【0086】
そして、当該格納されたアクセス頻度指標は、キャッシュデータがアクセスされる毎に1ずつ減らされる。これにより、キャッシュアクセス頻度指標欄は、前記所定単位時間に、キャッシュデータにあと何回のアクセスが見込まれるかを表す。
<リプレース対象決定処理>
キャッシュデータがリプレースされるべき場合にメモリ管理装置10が行うリプレース対象決定処理について説明する。
【0087】
これらの処理は、制御回路11を構成するハードウェア回路が実行してもよく、また、制御回路11がROM40に記憶されているプログラムに従って実行してもよく、また、CPU20がROM40に記憶されているプログラムに従って制御回路11に指令して実行させてもよい。
また、この処理の説明に用いる変数は、実際には制御回路11に含まれるレジスタか、又はRAM30によって実現される。
【0088】
リプレース対象決定処理は、1つのラインにおいてキャッシュメモリ12の全てのウェイに有効なキャッシュデータが格納されている(バリッドビットが1である)状態で、当該ラインにおいてキャッシュされていない新規データへのアクセス要求があった場合に実行される。そして、どのウェイのキャッシュデータを当該新規データでリプレースするかを決定する。
【0089】
図21は、この処理を示すPADである。同図において、変数N、及びMを用いてこの処理を示している。ここでNはウェイを指定するバラメータ、Mはラインを指定するパラメータである。
制御回路11は、まず、当該新規データを指定する論理アドレス[17:10]で示されるTLBエントリのアクセス頻度指標を取得して比較値とする(ステップS400)。そして、各ウェイNを対象として(ステップS410)、ステップS412までを実行する。
【0090】
論理アドレスA[9:5]で示されるラインMについて(ステップS411)、前記取得された比較値が、キャッシュアクセス頻度指標[N,M]よりも大きければ、当該ウェイNをリプレース対象と決定する(ステップS412〜S413)。
この処理によって、新規にキャッシュされるデータは、前記所定単位時間内に見込まれるアクセスの残り回数が自分よりも少ないキャッシュデータとリプレースされることとなる。つまり、新規にキャッシュされるデータよりも多くのアクセスが今後見込まれるキャッシュデータをキャッシュメモリに残すことによって、キャッシュデータがキャッシュメモリに滞在する時間の均等化を図っている。
【0091】
<決定回路>
リプレース対象決定処理をハードウェアによって行う決定回路について説明する。
図23は、決定回路110の構成を示すブロック図である。同図に、決定回路110へキャッシュアクセス頻度指標を供給するキャッシュメモリ12を、併せて示す。決定回路110は、例えば制御回路11の一部として実現される。
【0092】
決定回路110は、キャッシュメモリのウェイに対応して設けられる比較器111〜114、比較器111〜114の出力に応じて選択信号を生成するゲート115〜117から構成される。
キャッシュメモリ12の各ウェイは、新たにキャッシュされるべきデータを示す論理アドレスをA[19:0]として、A[9:5]によって選択されるラインにおけるキャッシュアクセス頻度指標欄の内容を、対応する比較器に供給する。これと同時に、A[17:10]によって示される論理ページに関するアクセス頻度指標が、比較値として各比較器に供給される。
【0093】
各比較器は、与えられた比較値が、与えられたキャッシュアクセス頻度指標よりも大きい場合、対応するウェイがリプレース対象となるべきことを示す論理値1を出力する。ウェイ1〜3に対応する比較器の出力は、それぞれゲート115〜117によって、より小さい番号のウェイに対応する比較器の出力で抑制され、決定信号REP0〜REP3には、リプレース対象となるべき最も若いウェイを示す決定信号のみが出力される。
【0094】
この決定信号に応じて、制御回路11は決定されたウェイのキャッシュデータをリプレースする。
<具体例>
メモリ管理装置10が、前記処理によって決定されたウェイのキャッシュデータをリプレースすることによって強誘電体メモリ50における物理ページの劣化が均等化されることを、具体例を用いて説明する。
【0095】
図22は、要求された論理ページ、キャッシュメモリの内容、及びアクセスされた物理ページを、時間の経過に沿って模式的に示したタイミングチャートである。
同図中、論理ページを丸で囲むことよってリプレースを発生されるアクセス要求を示している。また、キャッシュメモリの1つのラインに関して各ウェイの論理ページアドレス欄の内容とキャッシュアクセス頻度指標欄の内容とを示している。
【0096】
同図に示した期間において、論理ページ0〜4は、物理ページ0〜4にそれぞれ対応付けられ、この対応付けは変更されない。つまりこの期間中、論理ページと物理ページとは同一の番号で示される。
以下、時間の経過に沿って説明する。
(時刻t0〜t3)時刻t0において、各ウェイは有効なキャッシュデータを保持していない。時刻t0において、論理ページ0に属するデータのアクセス要求が発行される。これに応じて、ウェイ0に、論理ページ0に関するキャッシュデータが格納されると共に、論理ページアドレス、及びキャッシュアクセス頻度指標が、それぞれ0、及び3となる。
【0097】
ここで示すキャッシュアクセス頻度指標値は、論理ページ0に関するアクセス頻度指標4が格納され、そこからキャッシュデータのアクセス1回分にあたる1を減じた後の値である。
時刻t1〜t3の期間、論理ページ1〜3に属するデータのアクセス要求が発行され、ウェイ1〜3について同様処理が行われる。
(時刻t4〜t7)アクセス要求に応じてキャッシュデータがアクセスされ、キャッシュアクセス頻度指標が減じられる。
(時刻t8)時刻t8において、全てのウェイに有効なキャッシュデータが格納されている状態で、このラインに関してキャッシュされていない論理ページ4に属するデータが要求される。これにより、キャッシュデータをリプレースする必要が生じる。
【0098】
この時点で、前述したリプレース対象決定処理が行われる。新たにキャッシュされるべきデータが属する論理ページ4に関するアクセス頻度指標は1であり、1よりも小さいキャッシュアクセス指標を保持している最も若い番号のウェイ0がリプレース対象と決定される。そして、ウェイ0に、論理ページ4に関するキャッシュデータが格納されると共に、論理ページアドレス、及びキャッシュアクセス頻度指標に、それぞれ4、及び0が設定される。
(時刻t9)論理ページ0に属するデータが要求される。論理ページ0に関するアクセス頻度指標は4であり、4よりも小さいキャッシュアクセス指標を保持している最も若い番号のウェイ0がリプレース対象と決定される。そして、ウェイ0に、論理ページ0に関するキャッシュデータが格納されると共に、論理ページアドレス、及びキャッシュアクセス頻度指標に、それぞれ0、及び3が設定される。
(時刻t10〜t14)アクセス要求に応じてキャッシュデータがアクセスされ、キャッシュアクセス頻度指標が減じられる。ここで、キャッシュアクセス頻度指標は0よりも小さい値には減じられない。
(時刻t15)論理ページ4に属するデータが要求される。論理ページ4に関するアクセス頻度指標は1であり、1よりも小さいキャッシュアクセス指標を保持している最も若い番号のウェイ1がリプレース対象と決定される。そして、ウェイ1に、論理ページ4に関するキャッシュデータが格納されると共に、論理ページアドレス、及びキャッシュアクセス頻度指標に、それぞれ4、及び0が設定される。
【0099】
<まとめ>
以上説明したように、実施の形態4に係るメモリ管理装置は、キャッシュリプレースの際、所定単位時間内に見込まれるアクセス回数が、新規にキャッシュされるべきデータと比べて少ないキャッシュデータをリプレースすることにより、各ウェイのキャッシュデータの滞在時間の均等化を図る。
【0100】
これはつまり、当該各キャッシュデータのリブレース頻度の均等化を図ることであり、これによって、対応する各物理ページに対するアクセス頻度が均等化され、当該各物理ページの劣化が均等化される。
<その他の変形例>
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明は、実施の形態で説明した方法を、コンピュータシステムを用いて実現するためのコンピュータプログラムであるとしてもよいし、前記プログラムを表すデジタル信号であるとしてもよい。
【0101】
また、本発明は、前記プログラム又は前記デジタル信号を記録したコンピュータ読取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、半導体メモリ等であるとしてもよい。
また、本発明は、電気通信回線、無線又は有線通信回線、若しくはインターネットに代表されるネットワーク等を経由して伝送される前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【0102】
また、前記プログラム又は前記デジタル信号は、前記記録媒体に記録されて移送され、若しくは、前記ネットワーク等を経由して移送され、独立した他のコンピュータシステムにおいて実施されるとしてもよい。
(2)実施の形態1に係るメモリ管理装置は、一定時間毎に行われるキャッシュフラッシュ及びTLB更新処理において、キャッシュアクセス頻度指標のピーク値をそのキャッシュデータが属する論理ページのアクセス頻度指標に保持させると共に、全てのキャッシュデータを一斉に無効化している。
【0103】
この意義は、ピーク値を求めるための期間を一定にすることによって、各キャッシュデータについて各回に求められたピーク値を、相互に直接比較可能とすることにある。
別法として、キャッシュフラッシュ及びTLB更新処理において、キャッシュデータのキャッシュメモリへの滞在時間に応じてキャッシュアクセス頻度指標を正規化し、当該正規化後のキャッシュアクセス頻度指標のピーク値を用いることが考えられる。
【0104】
ここで、滞在時間に応じた正規化とは、キャッシュアクセス頻度指標値を前述した通常動作期間の長さ、つまり、当該キャッシュアクセス頻度指標値が計数対象となっていた時間で除算することをいう。
この場合、各回にキャッシュデータ毎に異なる長さの期間について取得された正規化ピーク値が相互に比較可能となるので、全てのキャッシュデータを一斉に無効化する必要がなくなり、アクセス回数の絶対数の削減に寄与する。
(3)実施の形態3に係るメモリ管理装置において、各プログラムルーチンの入口アドレスを代表論理アドレスとする例を示した。
【0105】
別法として、本メモリ管理装置での管理を前提として、各プログラムルーチンにおいて必ず実行される命令を設け、当該命令のアドレスを代表論理アドレスとしてもよいし、各プログラムルーチン内に繰り返し処理が含まれる場合には、当該繰り返し処理の1回毎に必ず実行される命令を設け、当該命令のアドレスを代表論理アドレスとすることも考えられる。
(4)実施の形態4に係るメモリ管理装置において、別法として、キャッシュリプレースの際、最も小さいキャッシュアクセス頻度指標で示されるキャッシュデータ、即ち、所定単位時間内に見込まれるアクセスの残り回数か最も少ないキャッシュデータをリプレース対象としてもよい。
【0106】
この場合には、今後のアクセスが最も見込まれない、つまり、前記所定単位時間に見込まれるアクセスを最多消化したキャッシュデータがキャッシュメモリから追い出されるので、これによっても、キャッシュデータがキャッシュメモリに滞在する時間の均等化を図ることができる。
【0107】
【発明の効果】
(1)本発明のメモリ管理装置は、論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を保持し、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理装置であって、当該各物理ページはアクセスされると劣化し、当該各論理ページに関して、その論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を記憶しているアクセス頻度指標記憶手段と、当該各物理ページに関して、その劣化度を表す劣化指標を記憶している劣化指標記憶手段と、第1の基準を満たすアクセス頻度指標で示される論理ページに対応する第1の物理ページの内容と、第2の基準を満たす劣化指標で示される第2の物理ページの内容とを入れ替えると共に、該当する対応情報を変更することにより当該第1の基準を満たすアクセス頻度指標で示される論理ページに当該第2の物理ページを対応付ける劣化均等化手段とを備える。
【0108】
また、前記各物理ページは強誘電体メモリによって実現されるとしてもよい。この構成によれば、アクセス頻度が高い論理ページに対応付けられていたために劣化が進行した物理ページは、アクセス頻度が比較的低い論理ページへ付け替えられると共に、当該アクセス頻度が高い論理ページには、当該劣化が進行した物理ページに代えて劣化が最も小さい物理ページが対応付けられる。これにより、特定の物理ページが突出して劣化することが回避され、劣化の均等化が図られる。
【0109】
当該メモリ管理装置は、前記付け替えの際、データを一括消去して空き物理ページを作ることをせず、物理ページに保持されているデータを有効な状態のまま入れ替えるので、ランダム書き換え可能な強誘電体メモリへの適用に特に好適である。
(2)また、前記メモリ管理装置は、さらに、所定数までの物理ページの内容の複製を、当該内容に代えてアクセスされるべきキャッシュデータとして物理ページ毎に記憶し、その後のアクセスによって当該キャッシュデータが更新された場合にのみ、更新後のキャッシュデータを元の物理ページへ書き戻すキャッシュ記憶手段と、物理ページの内容の複製がキャッシュデータとして当該キャッシュ記憶手段へ記憶されると当該物理ページに関する劣化指標に第1の値を加算し、更新後のキャッシュデータが当該物理ページへ書き戻されると当該劣化指標に第2の値を加算する劣化指標更新手段とを備えてもよい。
【0110】
この構成によれば、前記メモリ管理装置は、キャッシュ記憶手段を介して物理ページをアクセスするので、物理ページへのアクセスの絶対数が削減される。
これと同時に、物理ページ内の各部分は、2つのキャッシュフラッシュ動作の間に、アクセスされないか、読み出されるのみか、又は、読み出されかつ書き戻されるかの何れかとなるので、物理ページ内の特定部分が無制限にアクセスされることがなくなり、従って物理ページ内での劣化の偏在が緩和される。
【0111】
また、物理ページに対する読み書きそれぞれの劣化度合いに応じた値を前記劣化指標に加算するので、物理ページの劣化度合いが、読み書きそれぞれのアクセスに応じて異なる場合にも、その劣化度合いを正確に表示できる。
(3)また、前記劣化指標更新手段は、前記キャッシュデータが無効化されるか又は他の物理ページの内容で置き換えられることとなった時点で、前記キャッシュデータが更新されていれば前記劣化指標に前記第1の値と前記第2の値との合算値を加算し、更新されていなければ前記劣化指標に前記第1の値を加算してもよい。
【0112】
この構成によれば、前記劣化指標の更新回数が削減される。
(4)また、前記メモリ管理装置は、さらに、物理ページの内容がキャッシュデータとして前記キャッシュ記憶手段へ記憶されると当該物理ページに対応する論理ページに関するアクセス頻度指標に前記第1の値を加算し、更新後のキャッシュデータが当該物理ページへ書き戻されると当該アクセス頻度指標に前記第2の値を加算するアクセス頻度指標更新手段を備えてもよい。
【0113】
また、前記アクセス頻度指標更新手段は、前記キャッシュデータが無効化されるか又は他の物理ページの内容で置き換えられることとなった時点で、前記キャッシュデータが更新されていれば前記アクセス頻度指標に前記第1の値と前記第2の値との合算値を加算し、更新されていなければ前記アクセス頻度指標に前記第1の値を加算してもよい。
【0114】
この構成によれば、論理ページのアクセス頻度が時間的に変動すると、新たにアクセス頻度が高くなった論理ページに関してアクセス頻度指標が大きくなる。この結果、当該新たな論理ページに劣化が最も小さい物理ページが対応付けられる。従って、この構成は、物理ページ間の劣化を均等化するために、アクセス頻度の時間変動を考慮すべき場合に好適である。
(5)また、前記キャッシュ記憶手段は、さらに、前記各キャッシュデータに対するアクセスの頻度を表すキャッシュアクセス頻度指標としてその初期値0をキャッシュデータ毎に記憶し、前記メモリ管理装置は、さらに、キャッシュデータがアクセスされると、当該アクセスされたキャッシュデータに関するキャッシュアクセス頻度指標を増加させるキャッシュアクセス頻度指標更新手段と、キャッシュデータの複製元の物理ページに対応する論理ページに関するアクセス頻度指標よりも、当該キャッシュデータに関するキャッシュアクセス頻度指標が大きいか否かを判断し、大きいと判断された場合、当該キャッシュアクセス頻度指標で当該アクセス頻度指標を更新するアクセス頻度指標更新手段とを備えてもよい。
【0115】
また、前記アクセス頻度指標更新手段は、一定時間毎に、前記判断を行い、かつ前記キャッシュアクセス頻度指標を0に変更してもよい。
この構成によれば、前記メモリ管理装置は、アクセス頻度指標に論理ページ毎のアクセス頻度のピーク値を保持するので、一旦高いピーク値が出た論理ページには、劣化が最も小さい物理ページが、永続的に対応付けられることとなる。
【0116】
この構成は、長期的に見て特定の論理ページにアクセスが偏る場合に好適であり、アクセス頻度の短期的な変動を無視して、当該論理ページに劣化が最も小さい物理ページを割り当てることができる。
(6)また、前記アクセス頻度指標更新手段は、前記キャッシュデータの前記キャッシュ記憶手段における滞在時間に応じて前記キャッシュアクセス頻度指標を正規化し、前記アクセス頻度指標よりも当該正規化後のキャッシュアクセス頻度指標が大きいか否かを判断し、大きいと判断された場合、当該正規化後のキャッシュアクセス頻度指標で前記アクセス頻度指標を更新してもよい。
【0117】
この構成によれば、キャッシュデータ毎に異なる滞在時間についてキャッシュアクセス頻度のピーク値が取得されたとしても、正規化されたピーク値によって相互比較が可能となる。
従って、ピーク値の相互比較を目的として各キャッシュデータの滞在時間を一定に揃える必要がなくなるので、例えば実施の形態で述べたキャッシュデータを一斉に無効化する処理が不要となり、アクセス回数の絶対数削減に寄与する。
(7)また、前記各論理ページについて、その代表論理アドレスが一つ定められており、前記メモリ管理装置は、さらに、代表論理アドレスを指定したアクセス要求を検出する検出手段と、当該アクセス要求が検出されると、当該アクセス要求に指定されている代表論理アドレスで示される論理ページに対応する物理ページに関する劣化指標を増加させる劣化指標更新手段と、当該アクセス要求が検出されると、当該アクセス要求に指定されている代表論理アドレスで示される論理ページに関するアクセス頻度指標を増加させるアクセス頻度指標更新手段とを備えてもよい。
【0118】
また、前記代表論理アドレスは、それぞれの論理ページがアクセスされる場合に必ずアクセスされる論理アドレスに定められているとしてもよい。
この構成によれば、実施の形態3で述べた制約の下で、キャッシュ記憶手段を用いない小規模な構成によって、物理ページの劣化を均等化することができる。
(8)本発明のメモリ管理装置は、論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を保持し、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理装置であって、当該各物理ページはアクセスされると劣化し、当該各論理ページに関して、その論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を記憶しているアクセス頻度指標記憶手段と、当該各物理ページに関して、その劣化度を表す劣化指標を記憶している劣化指標記憶手段と、所定数までの物理ページの各々について、その内容の複製であって当該内容に代えてアクセスされるべきキャッシュデータと、当該物理ページに対応する論理ページに関するアクセス頻度指標の複製である複製頻度指標とを対応付けて記憶するキャッシュ記憶手段と、キャッシュデータに対応する複製頻度指標よりも、新たな物理ページに対応する論理ページに関するアクセス頻度指標が大きい場合にのみ、当該キャッシュデータを当該新たな物理ページの内容で置き換える劣化均等化手段とを備える。
【0119】
また、前記メモリ管理装置は、さらに、キャッシュデータがアクセスされると、当該アクセスされたキャッシュデータに関する複製頻度指標を減少させる複製頻度指標更新手段を備えてもよい。
また、前記各物理ページは強誘電体メモリによって実現されるとしてもよい。
この構成によれば、前記メモリ管理装置は、キャッシュリプレースの際、新規にキャッシュされるべきデータよりもアクセス頻度が少ないキャッシュデータをリプレースする。これにより、各キャッシュデータの滞在時間が均等化されるので、対応する各物理ページに対するアクセス頻度が均等化され、従って、当該各物理ページの劣化が均等化される。
(9)本発明のメモリ管理方法は、論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を用いて、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理方法であって、当該各物理ページはアクセスされると劣化し、当該メモリ管理方法は、さらに、当該各論理ページに関してその論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標と、当該各物理ページに関してその劣化度を表す劣化指標とを用いて行われ、所定数までの物理ページの内容の複製を、当該内容に代えてアクセスされるべきキャッシュデータとして物理ページ毎に記憶し、その後当該アクセスによって当該キャッシュデータが更新された場合にのみ、更新後のキャッシュデータを元の物理ページへ書き戻すキャッシュ管理ステップと、物理ページの内容の複製がキャッシュデータとして記憶されると当該物理ページに関する劣化指標に第1の値を加算し、更新後のキャッシュデータが当該物理ページへ書き戻されると当該劣化指標に第2の値を加算する劣化指標更新ステップと、第1の基準を満たすアクセス頻度指標で示される論理ページに対応する第1の物理ページの内容と、第2の基準を満たす劣化指標で示される第2の物理ページの内容とを入れ替えると共に、該当する対応情報を変更することにより当該第1の基準を満たすアクセス頻度指標で示される論理ページに当該第2の物理ページを対応付ける劣化均等化ステップとを含む。
【0120】
この構成によれば、前記(1)及び(2)と同等効果を有する。
(10)本発明のメモリ管理方法は、論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を用いて、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理方法であって、当該各物理ページはアクセスされると劣化し、当該メモリ管理方法は、さらに、当該各論理ページに関してその論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標と、当該各物理ページに関してその劣化度を表す劣化指標とを用いて行われ、当該各論理ページについてその代表論理アドレスが一つ定められており、代表論理アドレスを指定したアクセス要求を検出する検出ステップと、当該アクセス要求が検出されると、当該アクセス要求に指定されている代表論理アドレスで示される論理ページに対応する物理ページに関する劣化指標を増加させる劣化指標更新ステップと、当該アクセス要求が検出されると、当該アクセス要求に指定されている代表論理アドレスで示される論理ページに関するアクセス頻度指標を増加させるアクセス頻度指標更新ステップと、第1の基準を満たすアクセス頻度指標で示される論理ページに対応する第1の物理ページの内容と、第2の基準を満たす劣化指標で示される第2の物理ページの内容とを入れ替えると共に、該当する対応情報を変更することにより当該第1の基準を満たすアクセス頻度指標で示される論理ページに当該第2の物理ページを対応付ける劣化均等化ステップとを含む。
【0121】
この構成によれば、前記(1)及び(7)と同等効果を有する。
(11)本発明のメモリ管理方法は、論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を用いて、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理方法であって、当該各物理ページはアクセスされると劣化し、当該メモリ管理方法は、さらに、当該各論理ページに関してその論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を用いて行われ、所定数までの物理ページの各々について、その内容の複製であって当該内容に代えてアクセスされるべきキャッシュデータと、当該物理ページに対応する論理ページに関するアクセス頻度指標の複製である複製頻度指標とを対応付けて記憶するキャッシュ記憶ステップと、キャッシュデータに対応する複製頻度指標よりも、新たな物理ページに対応する論理ページに関するアクセス頻度指標が大きい場合にのみ、当該キャッシュデータを当該新たな物理ページの内容で置き換えるキャッシュリプレースステップとを含む。
【0122】
この構成によれば、前記(8)と同等効果を有する。
【図面の簡単な説明】
【図1】メモリ管理装置を含むコンピュータシステムの構成を示す機能ブロック図である。
【図2】(A)コンピュータシステムの論理アドレス空間を示すアドレスマップである。
(B)論理アドレスのビット構成の一例である。
【図3】(A)論理アドレス空間における強誘電体メモリ領域の詳細である。
(B)強誘電体メモリの記憶領域の構成である。
【図4】キャッシュメモリの構成を示している。
【図5】TLBの構成を示している。
【図6】キャッシュフラッシュ及びTLB更新処理を示すPADである。
【図7】物理ページ入替処理を示すPADである。
【図8】データ及び信号の時間変化を示したタイミングチャートである。
【図9】データ及び信号の時間変化を示したタイミングチャートである。
【図10】主要時刻における強誘電体メモリ各部へのアクセス累積回数である。
【図11】主要時刻におけるTLBの内容である。
【図12】キャッシュフラッシュ及びTLB更新処理を示すPADである。
【図13】データ及び信号の時間変化を示したタイミングチャートである。
【図14】データ及び信号の時間変化を示したタイミングチャートである。
【図15】主要時刻における強誘電体メモリ各部へのアクセス累積回数である。
【図16】主要時刻におけるTLBの内容である。
【図17】メモリ管理装置を含むコンピュータシステムの構成を示す機能ブロック図である。
【図18】強誘電体メモリ領域におけるプログラムルーチンの配置例である。
【図19】TLBの構成を示している。
【図20】TLBに保持されるアクセス頻度指標の一例である。
【図21】リプレース対象決定処理示すPADである。
【図22】データの時間変化を示したタイミングチャートである。
【図23】決定回路の構成を示すブロック図である。
【図24】従来のメモリ管理方法を示している。
【符号の説明】
10 メモリ管理装置
11 制御回路
12 キャッシュメモリ
13 TLB
20 CPU
30 RAM
40 ROM
50 強誘電体メモリ
61 論理アドレスバス
62 論理データバス
71 物理アドレスバス
72 物理データバス
80 CD−ROM I/F
81 CD−ROM
90 メモリ管理装置
91 制御回路
93 TLB
100 コンピュータシステム
110 決定回路
111〜114 比較器
115〜117 ゲート
120 メモリ部
121 論理ページアドレス欄
122 バリッドビット欄
123 アクセス頻度指標欄
123 ダーティビット欄
124 キャッシュアクセス頻度指標欄
125 キャッシュデータ欄
130 バッファ
131 物理ページアドレス欄
132 劣化指標欄
133 アクセス頻度指標欄
139 デコーダ
200 コンピュータシステム
600 論理アドレス空間
610 強誘電体メモリ領域
620 キャッシュ直接アクセス領域
630 TLB直接アクセス領域
640 ROM領域
650 RAM領域
930 バッファ
932 劣化指標欄
933 アクセス頻度指標欄
934 代表論理アドレス欄
935 比較回路
939 デコーダ
9351〜9354 比較器

Claims (17)

  1. 論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を保持し、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理装置であって、
    当該各物理ページはアクセスされると劣化し、
    当該各論理ページに関して、その論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を記憶しているアクセス頻度指標記憶手段と、
    当該各物理ページに関して、その劣化度を表す劣化指標を記憶している劣化指標記憶手段と、
    第1の基準を満たすアクセス頻度指標で示される論理ページに対応する第1の物理ページの内容と、第2の基準を満たす劣化指標で示される第2の物理ページの内容とを入れ替えると共に、該当する対応情報を変更することにより当該第1の基準を満たすアクセス頻度指標で示される論理ページに当該第2の物理ページを対応付ける劣化均等化手段と
    を備えることを特徴とするメモリ管理装置。
  2. 前記メモリ管理装置は、さらに、
    所定数までの物理ページの内容の複製を、当該内容に代えてアクセスされるべきキャッシュデータとして物理ページ毎に記憶し、その後のアクセスによって当該キャッシュデータが更新された場合にのみ、更新後のキャッシュデータを元の物理ページへ書き戻すキャッシュ記憶手段と、
    物理ページの内容の複製がキャッシュデータとして当該キャッシュ記憶手段へ記憶されると当該物理ページに関する劣化指標に第1の値を加算し、更新後のキャッシュデータが当該物理ページへ書き戻されると当該劣化指標に第2の値を加算する劣化指標更新手段と
    を備えることを特徴とする請求項1に記載のメモリ管理装置。
  3. 前記劣化指標更新手段は、
    前記キャッシュデータが無効化されるか又は他の物理ページの内容で置き換えられることとなった時点で、前記キャッシュデータが更新されていれば前記劣化指標に前記第1の値と前記第2の値との合算値を加算し、更新されていなければ前記劣化指標に前記第1の値を加算する
    ことを特徴とする請求項2に記載のメモリ管理装置。
  4. 前記メモリ管理装置は、さらに、
    物理ページの内容がキャッシュデータとして前記キャッシュ記憶手段へ記憶されると当該物理ページに対応する論理ページに関するアクセス頻度指標に前記第1の値を加算し、更新後のキャッシュデータが当該物理ページへ書き戻されると当該アクセス頻度指標に前記第2の値を加算するアクセス頻度指標更新手段を備える
    ことを特徴とする請求項2に記載のメモリ管理装置。
  5. 前記アクセス頻度指標更新手段は、
    前記キャッシュデータが無効化されるか又は他の物理ページの内容で置き換えられることとなった時点で、前記キャッシュデータが更新されていれば前記アクセス頻度指標に前記第1の値と前記第2の値との合算値を加算し、更新されていなければ前記アクセス頻度指標に前記第1の値を加算する
    ことを特徴とする請求項4に記載のメモリ管理装置。
  6. 前記キャッシュ記憶手段は、さらに、
    前記各キャッシュデータに対するアクセスの頻度を表すキャッシュアクセス頻度指標としてその初期値0をキャッシュデータ毎に記憶し、
    前記メモリ管理装置は、さらに、
    キャッシュデータがアクセスされると、当該アクセスされたキャッシュデータに関するキャッシュアクセス頻度指標を増加させるキャッシュアクセス頻度指標更新手段と、
    キャッシュデータの複製元の物理ページに対応する論理ページに関するアクセス頻度指標よりも、当該キャッシュデータに関するキャッシュアクセス頻度指標が大きいか否かを判断し、大きいと判断された場合、当該キャッシュアクセス頻度指標で当該アクセス頻度指標を更新するアクセス頻度指標更新手段と
    を備えることを特徴とする請求項2に記載のメモリ管理装置。
  7. 前記アクセス頻度指標更新手段は、
    一定時間毎に、前記判断を行い、かつ前記キャッシュアクセス頻度指標を0に変更する
    ことを特徴とする請求項6に記載のメモリ管理装置。
  8. 前記アクセス頻度指標更新手段は、
    前記キャッシュデータの前記キャッシュ記憶手段における滞在時間に応じて前記キャッシュアクセス頻度指標を正規化し、前記アクセス頻度指標よりも当該正規化後のキャッシュアクセス頻度指標が大きいか否かを判断し、大きいと判断された場合、当該正規化後のキャッシュアクセス頻度指標で前記アクセス頻度指標を更新する
    ことを特徴とする請求項6に記載のメモリ管理装置。
  9. 前記各論理ページについて、その代表論理アドレスが一つ定められており、
    前記メモリ管理装置は、さらに、
    代表論理アドレスを指定したアクセス要求を検出する検出手段と、
    当該アクセス要求が検出されると、当該アクセス要求に指定されている代表論理アドレスで示される論理ページに対応する物理ページに関する劣化指標を増加させる劣化指標更新手段と、
    当該アクセス要求が検出されると、当該アクセス要求に指定されている代表論理アドレスで示される論理ページに関するアクセス頻度指標を増加させるアクセス頻度指標更新手段と
    を備えることを特徴とする請求項1に記載のメモリ管理装置。
  10. 前記代表論理アドレスは、それぞれの論理ページがアクセスされる場合に必ずアクセスされる論理アドレスに定められている
    ことを特徴とする請求項9に記載のメモリ管理装置。
  11. 前記各物理ページは強誘電体メモリによって実現される
    ことを特徴とする請求項1に記載のメモリ管理装置。
  12. 論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を保持し、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理装置であって、
    当該各物理ページはアクセスされると劣化し、
    当該各論理ページに関して、その論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を記憶しているアクセス頻度指標記憶手段と、
    当該各物理ページに関して、その劣化度を表す劣化指標を記憶している劣化指標記憶手段と、
    所定数までの物理ページの各々について、その内容の複製であって当該内容に代えてアクセスされるべきキャッシュデータと、当該物理ページに対応する論理ページに関するアクセス頻度指標の複製である複製頻度指標とを対応付けて記憶するキャッシュ記憶手段と、
    キャッシュデータに対応する複製頻度指標よりも、新たな物理ページに対応する論理ページに関するアクセス頻度指標が大きい場合にのみ、当該キャッシュデータを当該新たな物理ページの内容で置き換える劣化均等化手段と
    を備えることを特徴とする請求項1に記載のメモリ管理装置。
  13. 前記メモリ管理装置は、さらに、
    キャッシュデータがアクセスされると、当該アクセスされたキャッシュデータに関する複製頻度指標を減少させる複製頻度指標更新手段を備える
    ことを特徴とする請求項12に記載のメモリ管理装置。
  14. 前記各物理ページは強誘電体メモリによって実現される
    ことを特徴とする請求項12に記載のメモリ管理装置。
  15. 論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を用いて、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理方法であって、
    当該各物理ページはアクセスされると劣化し、
    当該メモリ管理方法は、さらに、当該各論理ページに関してその論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標と、当該各物理ページに関してその劣化度を表す劣化指標とを用いて行われ、
    所定数までの物理ページの内容の複製を、当該内容に代えてアクセスされるべきキャッシュデータとして物理ページ毎に記憶し、その後当該アクセスによって当該キャッシュデータが更新された場合にのみ、更新後のキャッシュデータを元の物理ページへ書き戻すキャッシュ管理ステップと、
    物理ページの内容の複製がキャッシュデータとして記憶されると当該物理ページに関する劣化指標に第1の値を加算し、更新後のキャッシュデータが当該物理ページへ書き戻されると当該劣化指標に第2の値を加算する劣化指標更新ステップと、
    第1の基準を満たすアクセス頻度指標で示される論理ページに対応する第1の物理ページの内容と、第2の基準を満たす劣化指標で示される第2の物理ページの内容とを入れ替えると共に、該当する対応情報を変更することにより当該第1の基準を満たすアクセス頻度指標で示される論理ページに当該第2の物理ページを対応付ける劣化均等化ステップと
    を含むことを特徴とするメモリ管理方法。
  16. 論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を用いて、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理方法であって、
    当該各物理ページはアクセスされると劣化し、
    当該メモリ管理方法は、さらに、当該各論理ページに関してその論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標と、当該各物理ページに関してその劣化度を表す劣化指標とを用いて行われ、
    当該各論理ページについてその代表論理アドレスが一つ定められており、
    代表論理アドレスを指定したアクセス要求を検出する検出ステップと、
    当該アクセス要求が検出されると、当該アクセス要求に指定されている代表論理アドレスで示される論理ページに対応する物理ページに関する劣化指標を増加させる劣化指標更新ステップと、
    当該アクセス要求が検出されると、当該アクセス要求に指定されている代表論理アドレスで示される論理ページに関するアクセス頻度指標を増加させるアクセス頻度指標更新ステップと、
    第1の基準を満たすアクセス頻度指標で示される論理ページに対応する第1の物理ページの内容と、第2の基準を満たす劣化指標で示される第2の物理ページの内容とを入れ替えると共に、該当する対応情報を変更することにより当該第1の基準を満たすアクセス頻度指標で示される論理ページに当該第2の物理ページを対応付ける劣化均等化ステップと
    を含むことを特徴とするメモリ管理方法。
  17. 論理アドレスの所定範囲を表す複数の論理ページの各々に物理的な記憶領域である複数の物理ページの一つを対応付ける対応情報を用いて、論理ページを指定したアクセス要求に応じて、当該指定された論理ページに当該対応情報によって対応付けられる物理ページをアクセスするメモリ管理方法であって、
    当該各物理ページはアクセスされると劣化し、
    当該メモリ管理方法は、さらに、当該各論理ページに関してその論理ページを指定したアクセス要求の頻度を表すアクセス頻度指標を用いて行われ、
    所定数までの物理ページの各々について、その内容の複製であって当該内容に代えてアクセスされるべきキャッシュデータと、当該物理ページに対応する論理ページに関するアクセス頻度指標の複製である複製頻度指標とを対応付けて記憶するキャッシュ記憶ステップと、
    キャッシュデータに対応する複製頻度指標よりも、新たな物理ページに対応する論理ページに関するアクセス頻度指標が大きい場合にのみ、当該キャッシュデータを当該新たな物理ページの内容で置き換えるキャッシュリプレースステップと
    を含むことを特徴とするメモリ管理方法。
JP2002321669A 2002-11-05 2002-11-05 メモリ管理装置及びメモリ管理方法 Expired - Lifetime JP4199519B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002321669A JP4199519B2 (ja) 2002-11-05 2002-11-05 メモリ管理装置及びメモリ管理方法
CNB2003101240822A CN1296833C (zh) 2002-11-05 2003-11-05 用于存储器管理的设备和方法
US10/701,073 US7120773B2 (en) 2002-11-05 2003-11-05 Apparatus and method for memory management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002321669A JP4199519B2 (ja) 2002-11-05 2002-11-05 メモリ管理装置及びメモリ管理方法

Publications (3)

Publication Number Publication Date
JP2004157686A true JP2004157686A (ja) 2004-06-03
JP2004157686A5 JP2004157686A5 (ja) 2005-12-22
JP4199519B2 JP4199519B2 (ja) 2008-12-17

Family

ID=32697445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002321669A Expired - Lifetime JP4199519B2 (ja) 2002-11-05 2002-11-05 メモリ管理装置及びメモリ管理方法

Country Status (3)

Country Link
US (1) US7120773B2 (ja)
JP (1) JP4199519B2 (ja)
CN (1) CN1296833C (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678913B1 (ko) 2005-10-25 2007-02-06 삼성전자주식회사 가상 메모리 시스템에서 페이지 폴트를 줄이는 장치 및방법
JP2010066914A (ja) * 2008-09-09 2010-03-25 Toshiba Corp 統合メモリ管理装置及びメモリ管理方法
JP2010515127A (ja) * 2006-12-27 2010-05-06 インテル・コーポレーション 不揮発性メモリのイニシアチブウェアレベリング
CN102541463A (zh) * 2010-12-28 2012-07-04 慧荣科技股份有限公司 快闪存储装置及其数据存取方法
JP2012208615A (ja) * 2011-03-29 2012-10-25 Mitsubishi Electric Corp 命令実行分析装置及び命令実行分析方法及びプログラム
JP2015522886A (ja) * 2012-07-18 2015-08-06 マイクロン テクノロジー, インク. 階層メモリシステムのためのメモリ管理
US9280466B2 (en) 2008-09-09 2016-03-08 Kabushiki Kaisha Toshiba Information processing device including memory management device managing access from processor to memory and memory management method
KR20190079603A (ko) * 2019-06-27 2019-07-05 삼성전자주식회사 억세스 집중 감소 매니지먼트를 위한 메모리 콘트롤 장치 및 억세스 집중 감소방법
US10529395B2 (en) 2012-04-10 2020-01-07 Samsung Electronics Co., Ltd. Memory system for access concentration decrease management and access concentration decrease method

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162594B2 (en) * 2003-11-19 2007-01-09 Buffalo Inc. Memory module indicator device
US7281114B2 (en) * 2003-12-26 2007-10-09 Tdk Corporation Memory controller, flash memory system, and method of controlling operation for data exchange between host system and flash memory
US7437364B1 (en) * 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
JP2007080325A (ja) * 2005-09-12 2007-03-29 Matsushita Electric Ind Co Ltd 半導体記憶装置
JP4770602B2 (ja) * 2006-06-23 2011-09-14 株式会社デンソー 電子機器
CA2672100A1 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US7657572B2 (en) * 2007-03-06 2010-02-02 Microsoft Corporation Selectively utilizing a plurality of disparate solid state storage locations
US7856522B2 (en) * 2007-05-16 2010-12-21 Oracle International Corporation Flash-aware storage optimized for mobile and embedded DBMS on NAND flash memory
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8122179B2 (en) * 2007-12-14 2012-02-21 Silicon Motion, Inc. Memory apparatus and method of evenly using the blocks of a flash memory
CN101676882B (zh) * 2008-09-16 2013-01-16 美光科技公司 存储器装置的内嵌映射信息
CN101419842B (zh) * 2008-11-07 2012-04-04 成都市华为赛门铁克科技有限公司 硬盘的损耗均衡方法、装置及系统
CN101493794B (zh) * 2009-01-19 2011-12-21 成都市华为赛门铁克科技有限公司 一种闪存数据处理方法及装置
US8296503B2 (en) * 2009-05-26 2012-10-23 Mediatek Inc. Data updating and recovering methods for a non-volatile memory array
US9402058B2 (en) * 2009-07-22 2016-07-26 Nec Corporation Content delivery system, content delivery method and content delivery program
CN101625660B (zh) * 2009-08-04 2013-12-18 威盛电子股份有限公司 数据储存装置与数据储存方法
US8473680B1 (en) 2009-09-18 2013-06-25 Marvell International Ltd. Hotspot detection and caching for storage devices
CN101699413B (zh) * 2009-10-30 2011-12-07 成都市华为赛门铁克科技有限公司 硬盘数据读写控制方法和装置
JP5130313B2 (ja) * 2010-04-02 2013-01-30 株式会社日立製作所 管理システム及び計算機システムの管理方法
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8909850B2 (en) * 2011-03-10 2014-12-09 Deere & Company Memory life extension method and apparatus
CN102279712A (zh) * 2011-08-10 2011-12-14 北京百度网讯科技有限公司 一种适用于互联网存储系统的存储控制方法、系统和装置
JP2013097416A (ja) * 2011-10-28 2013-05-20 Hitachi Ltd 記憶装置および計算機
US10152423B2 (en) * 2011-10-31 2018-12-11 International Business Machines Corporation Selective population of secondary cache employing heat metrics
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9026887B2 (en) * 2012-03-15 2015-05-05 Micron Technology, Inc. Physical page, logical page, and codeword correspondence
CN103365785B (zh) * 2012-03-30 2016-03-30 点序科技股份有限公司 闪速存储器模块的地址映射方法
JP5288039B1 (ja) * 2012-11-06 2013-09-11 富士ゼロックス株式会社 印刷画像処理システムおよびプログラム
JP6004923B2 (ja) * 2012-11-29 2016-10-12 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
US9575884B2 (en) * 2013-05-13 2017-02-21 Qualcomm Incorporated System and method for high performance and low cost flash translation layer
KR102085127B1 (ko) 2013-11-13 2020-04-14 삼성전자주식회사 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치
CN104182514B (zh) * 2014-08-21 2018-02-06 杭州华为数字技术有限公司 一种置换方法及终端
US10067968B2 (en) * 2014-11-07 2018-09-04 International Business Machines Corporation Pre-caching of relational database management system based on data retrieval patterns
US9727241B2 (en) * 2015-02-06 2017-08-08 Advanced Micro Devices, Inc. Memory page access detection
KR20170051563A (ko) * 2015-10-29 2017-05-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20170075396A (ko) * 2015-12-23 2017-07-03 고려대학교 산학협력단 메모리 시스템
US10007614B2 (en) * 2016-02-02 2018-06-26 Cavium, Inc. Method and apparatus for determining metric for selective caching
US10733110B1 (en) * 2017-12-04 2020-08-04 Amazon Technologies, Inc. Collecting statistics for persistent memory
CN109753241B (zh) * 2018-12-05 2022-04-08 新华三技术有限公司合肥分公司 固态硬盘的数据写入方法及装置、计算机可读存储介质
KR20200077276A (ko) * 2018-12-20 2020-06-30 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US20230033029A1 (en) * 2021-07-22 2023-02-02 Vmware, Inc. Optimized memory tiering

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0935255A2 (en) * 1989-04-13 1999-08-11 SanDisk Corporation Flash EEPROM system
JPH04116742A (ja) * 1990-09-07 1992-04-17 Hitachi Ltd 仮想記憶システムにおけるメモリ割り当て方式
JPH04123149A (ja) * 1990-09-12 1992-04-23 Nec Ibaraki Ltd ページ置換回路
JPH04165547A (ja) * 1990-10-30 1992-06-11 Oki Electric Ind Co Ltd メモリ領域切替え処理装置
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
JP3175764B2 (ja) * 1998-11-06 2001-06-11 日本電気株式会社 メモリスケジューリング方法及びメモリスケジューリングプログラムを格納する記憶媒体
US6925529B2 (en) * 2001-07-12 2005-08-02 International Business Machines Corporation Data storage on a multi-tiered disk system
US20030058681A1 (en) * 2001-09-27 2003-03-27 Intel Corporation Mechanism for efficient wearout counters in destructive readout memory
US20030163633A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
US6957158B1 (en) * 2002-12-23 2005-10-18 Power Measurement Ltd. High density random access memory in an intelligent electric device

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543791B2 (en) 2005-10-25 2013-09-24 Samsung Electronics Co., Ltd. Apparatus and method of reducing page fault rate in virtual memory system
KR100678913B1 (ko) 2005-10-25 2007-02-06 삼성전자주식회사 가상 메모리 시스템에서 페이지 폴트를 줄이는 장치 및방법
JP2010515127A (ja) * 2006-12-27 2010-05-06 インテル・コーポレーション 不揮発性メモリのイニシアチブウェアレベリング
JP2010066914A (ja) * 2008-09-09 2010-03-25 Toshiba Corp 統合メモリ管理装置及びメモリ管理方法
US9280466B2 (en) 2008-09-09 2016-03-08 Kabushiki Kaisha Toshiba Information processing device including memory management device managing access from processor to memory and memory management method
CN102541463A (zh) * 2010-12-28 2012-07-04 慧荣科技股份有限公司 快闪存储装置及其数据存取方法
JP2012208615A (ja) * 2011-03-29 2012-10-25 Mitsubishi Electric Corp 命令実行分析装置及び命令実行分析方法及びプログラム
US10529395B2 (en) 2012-04-10 2020-01-07 Samsung Electronics Co., Ltd. Memory system for access concentration decrease management and access concentration decrease method
US11817174B2 (en) 2012-04-10 2023-11-14 Samsung Electronics Co., Ltd. Memory system for access concentration decrease management and access concentration decrease method
US11024352B2 (en) 2012-04-10 2021-06-01 Samsung Electronics Co., Ltd. Memory system for access concentration decrease management and access concentration decrease method
JP2015522886A (ja) * 2012-07-18 2015-08-06 マイクロン テクノロジー, インク. 階層メモリシステムのためのメモリ管理
US10831672B2 (en) 2012-07-18 2020-11-10 Micron Technology, Inc Memory management for a hierarchical memory system
US10089242B2 (en) 2012-07-18 2018-10-02 Micron Technology, Inc. Memory management for a hierarchical memory system
KR102080192B1 (ko) * 2019-06-27 2020-05-18 삼성전자주식회사 억세스 집중 감소 매니지먼트를 위한 메모리 콘트롤 장치 및 억세스 집중 감소방법
KR20190079603A (ko) * 2019-06-27 2019-07-05 삼성전자주식회사 억세스 집중 감소 매니지먼트를 위한 메모리 콘트롤 장치 및 억세스 집중 감소방법

Also Published As

Publication number Publication date
US7120773B2 (en) 2006-10-10
CN1296833C (zh) 2007-01-24
US20040139282A1 (en) 2004-07-15
JP4199519B2 (ja) 2008-12-17
CN1512348A (zh) 2004-07-14

Similar Documents

Publication Publication Date Title
JP4199519B2 (ja) メモリ管理装置及びメモリ管理方法
US8176258B2 (en) System and method for cache management
US6393525B1 (en) Least recently used replacement method with protection
US20170235681A1 (en) Memory system and control method of the same
US9218281B2 (en) Maintaining ordering via a multi-level map of a solid-state media
Kang et al. Performance trade-offs in using NVRAM write buffer for flash memory-based storage devices
US7610438B2 (en) Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
JP2019057193A (ja) メモリシステム
US7577793B2 (en) Patrol snooping for higher level cache eviction candidate identification
CN108228471B (zh) 管理存储器装置中存储器单元的实体信息的方法及系统
US20080168236A1 (en) Performance of a cache by detecting cache lines that have been reused
US20180300258A1 (en) Access rank aware cache replacement policy
US10725923B1 (en) Cache access detection and prediction
US11226904B2 (en) Cache data location system
WO2012040186A1 (en) Selection of units for garbage collection in flash memory
US11847058B2 (en) Using a second content-addressable memory to manage memory burst accesses in memory sub-systems
US20130297853A1 (en) Selective write-once-memory encoding in a flash based disk cache memory
US20230102891A1 (en) Re-reference interval prediction (rrip) with pseudo-lru supplemental age information
JP2019537162A (ja) 非割り当てキャッシュポリシー
US7865666B2 (en) Cache memory systems and methods thereof
JP2019159791A (ja) メモリシステム
US11372760B2 (en) Storage control device for controlling cache memory based on access frequencies
JPH10275112A (ja) キャッシュメモリシステム
JP2010176305A (ja) 情報処理装置およびデータ記憶装置
US20240086331A1 (en) Hot/cold address/data determination using hash addresses for a data storage system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080807

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: 20080909

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081003

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4