CN1303535C - 用于虚拟存储器的管理的方法和分析高速缓存 - Google Patents

用于虚拟存储器的管理的方法和分析高速缓存 Download PDF

Info

Publication number
CN1303535C
CN1303535C CNB2003101006721A CN200310100672A CN1303535C CN 1303535 C CN1303535 C CN 1303535C CN B2003101006721 A CNB2003101006721 A CN B2003101006721A CN 200310100672 A CN200310100672 A CN 200310100672A CN 1303535 C CN1303535 C CN 1303535C
Authority
CN
China
Prior art keywords
subclauses
clauses
tlb
speed cache
revocable
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.)
Expired - Fee Related
Application number
CNB2003101006721A
Other languages
English (en)
Other versions
CN1512352A (zh
Inventor
K·A·博特米勒
B·W·杰科布斯
J·A·皮特里克
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1512352A publication Critical patent/CN1512352A/zh
Application granted granted Critical
Publication of CN1303535C publication Critical patent/CN1303535C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

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)

Abstract

用于虚拟存储器的管理的方法和分析高速缓存包括在分析高速缓存中存储的条目集合。条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的(LRU)计数;对应对页地址的每次访问,相应地更新LRU计数。利用LRU计数去除分析高速缓存中的条目。翻译后备缓冲器(TLB)包括用于存储多个临时固定的条目的第一TLB部分和用于存储多个非固定的条目的第二TLB部分。响应一个TLB中断,用先进先出算法在第二TLB部分装入条目,以替代非固定的条目。用所识别的分析高速缓存中的条目集合中具有最早时间戳的条目定期更新第一TLB部分。

Description

用于虚拟存储器的管理的方法和分析高速缓存
技术领域
本发明总体涉及数据处理领域,更具体来说,涉及用于虚拟存储器的管理的方法和预设置(profiling)高速缓存。
背景技术
为了减少数据访问时间,使用被称为高速缓存的静态随机存取存储器(RAM)的专用高速存储空间来临时存储当前在使用的数据。例如,高速缓存的数据可包括从主存储器获得的指令和/或数据的一个副本,用于被处理器快速访问。处理器高速缓存通常位于靠近处理器或者与处理器集成在一起。在高速缓存中存储的数据可以优先地被处理器仅仅在一个处理器周期访问,取回继续处理所需的数据;而不是必须停下来等待从诸如更高级高速缓存或主存储器的次级存储器取回数据。
程序在执行加载(load)、存储(store)、分支(branch)或高速缓存(cache)指令以及在取出下一个顺序指令时,利用由处理器计算的有效地址查阅(references)存储器。有效地址被按照预定的翻译程序翻译成实地址。为了使地址翻译时间最小化,通常用一个称作翻译后备缓冲器(TLB)的专用于地址翻译的专用高速缓存来进行地址翻译。
在有些已知的处理器设计中,将页描述(page descriptions)或页表条目(PTE-page table entries)存储在翻译后备缓冲器(TLB)中。当对某个不在TLB中的页进行访问时,产生一个中断,固件必须将页表条目加载TLB。
对于有些已知的硬件,固件无法知道哪些页被频繁使用。一般用先进先出算法加载(load)和替换页描述。
需要一种改进的管理虚拟存储器的机制。
发明内容
本发明的主要目的是提供一种用于虚拟存储器的管理的方法和分析高速缓存。本发明的其他重要目的是在基本上没有副作用的情况下提供这样的用于虚拟存储器的管理的方法和分析高速缓存,以克服现有技术的安排的许多缺点。
简而言之,提供一种用于虚拟存储器的管理的方法和分析高速缓存。在分析高速缓存中存储一个条目集合。条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的(LRU-least recentlyused)计数。对应对页地址的每个访问,相应地更新LRU计数。利用所存储的LRU计数,去除分析高速缓存中的条目。翻译后备缓冲器(TLB)包括一个用于存储多个临时固定的(pinned)条目的第一TLB部分和一个用于存储多个非固定的(non-pinned)条目的第二TLB部分。响应一个TLB中断,用先进先出算法在第二TLB部分载入一个条目,以替代一个非固定的条目。用所识别的分析高速缓存中的条目集合中具有最早时间戳的条目定期更新第一TLB部分。
按照本发明的特点,分析高速缓存硬件提供存储器预设置信息用于有效的存储器管理。具有最早时间戳的分析高速缓存条目代表最频繁使用的页。当递减计数器终止时,更新第一TLB部分,然后清空分析高速缓存,重新启动递减计数器。
本发明提供了一种采用分析高速缓存管理虚拟存储器的方法,包含以下步骤:
在分析高速缓存中存储一个条目集合,所述条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的(LRU)计数;所述LRU计数对应于对页地址的每次访问而被更新;
利用所述LRU计数去除分析高速缓存中的条目;
提供一个翻译后备缓冲器(TLB),其包括一个用于存储多个临时固定的条目的第一TLB部分和一个用于存储多个非固定的条目的第二TLB部分;
响应一个TLB中断,用先进先出算法在第二TLB部分载入一个条目,以替代所述非固定的条目;
识别包含在分析高速缓存的条目中的所述第二TLB部分内的一个具有最早时间戳的条目;
定期地用所识别的分析高速缓存中所述条目集合的具有最早时间戳的条目更新所述第一TLB部分。
本发明还提供了一种用于管理虚拟存储器的装置,包含:
翻译后备缓冲器(TLB),所述TLB包括一个用于存储多个临时固定的条目的第一TLB部分和一个用于存储多个非固定的条目的第二TLB部分;
分析高速缓存,用于存储一个条目集合,所述条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的(LRU)计数;所述LRU计数对应于对页地址的每次访问而被更新;
识别包含在分析高速缓存的条目中的所述第二TLB部分内的一个具有最早时间戳的条目的模块;和
虚拟存储器管理模块,用于定期地用所识别的分析高速缓存中所述条目集合的具有最早时间戳的条目更新所述第一TLB部分。
附图说明
从以下对附图中的本发明的最佳实施例的详细说明可以更好地理解本发明及其上述和其它目的和优点。
图1是按照最佳实施例的计算机系统的框图表示;
图2是表示按照最佳实施例更新图1的翻译后备缓冲器的临时固定的部分的示例性顺序步骤的流程图;
图3是表示按照最佳实施例用于实现翻译后备缓冲器的临时固定的部分的更新硬件的示意和逻辑流程图;和
图4是表示按照最佳实施例的计算机程序产品的框图。
具体实施方式
现在参看各附图,图1中表示了一个用于实现最佳实施例的虚拟存储器管理的计算机系统,总体上由标注符100表示。计算机系统100包括处理器102和翻译后备缓冲器(TLB)104。计算机系统100包括一个处理器L1高速缓存106和一个预设置页地址高速缓存108,后者包括一个最近最少使用的(LRU)表110和一个时间戳表112。计算机系统100包括一个递减计数器114。当递减计数器114达到零时,它向处理器102生成一个中断,并发信号要预设置页地址高速缓存108冻结(freeze)。
按照本发明的特点,在不需要过分的固件开销的情况下让操作系统120能确定哪些页应当要被临时固定在TLB104中。本发明的硬件部分或分析高速缓存108为有效的存储器管理而监视L1高速缓存接口106处的处理器总线并跟踪最多被访问的页。根据存储在分析高速缓存108中的那些被最频繁地访问的页识别要被临时固定在TLB104中的页表条目(PTEs)。
按照本发明的特点,TLB104被划分为两部分130和132。第一TLB部分130中的TLB104的条目被用于频繁访问的页并被定期评估。PTEs被临时固定的在第一TLB部分130中。含有其余条目的TLB104的第二TLB部分132是按FIFO管理的,为了降低固件开销,这些页被认为是非固定的。当接收到一个TLB中断时,只有非固定的部分132中的条目被替换。在临时固定的区中的PTEs,被按照图2和3中所示并相应地说明的最佳实施例定期地替换。
按照本发明的特点,将设定数目的地址存储在页地址高速缓存108中,后者用最少最近使用的(LRU)算法来去除条目,因为对每个页的访问计数是不切实际的。高速缓存大小,例如预设置页地址高速缓存的32个地址,是以对ASIC硬件单元(cell)数和性能的实际限制为根据的。预设置的根据是假设最一贯地被访问的页将不被从高速缓存108中去除。只有16页用于如图1中所示的TLB 104的固定的部分130的页地址高速缓存108的32的高速缓存大小允许噪声被高速缓存108的LRU行为过滤掉。
当某条目被首次放入页地址高速缓存108时,在时间戳表112中存储一个时间值,LRU表110中的LRU计数在每一次访问时都被更新。在具有LRU的高速缓存108中持续时间最长的(最早的时间戳)的条目0-31是最频繁被访问的页。如果某页被逐出后又被恢复到高速缓存108中,则为该页分配新的时间戳112。当递减定时器114终止时,固件使TLB104中的所有条目无效,或者在第二TLB部分132中的条目被转移到第一TLB部分130时使第二TLB部分132中的条目无效。然后将与具有最早时间戳的16个页对应的PTEs装载到为临时固定的页保留的TLB的第一部分130中。某页在高速缓存108中至此已经度过的时间表示使用的频率和在TLB104的固定的部分130中固定(pinning)这个页的重要性。一旦新的条目被固定,高速缓存就被清空,递减计时器114被重新启动。
参看图2,图中从框200开始显示按照最佳实施例定期更新翻译后备缓冲器104的临时固定的部分130的示例性顺序步骤。如框202所示,首先执行等待递减计时器114终止。
也参看图3,当对不在TLB104中的某页进行访问时,向操作系统120生成一个中断,操作系统寻找适当的页表条目。根据先进先出(FIFO)算法将该页表条目装载到TLB的非固定的部分132。预设置页地址高速缓存108存储该页的地址。当一个地址首次在页地址高速缓存108中存储时,在时间戳表112中存储一个计数器值。分析高速缓存108包括LRU域110,每次访问特定页地址时,LRU域110都被更新。用LRU算法来从预设置页地址高速缓存108中去除条目。当递减计时器114终止时,对下面所有三个域执行高速缓存排序功能(cache sort function)300:地址108、LRU 110和时间戳112。高速缓存排序功能300根据的是每个存储的页地址的时间戳112。图3中地址108表示排序后的地址。
当递减计数器114终止时,识别在时间戳表112中存储的具有最早的时间戳的设定数目的页(a set number of pages),如图2中的框204所示。
对于在框204所识别的每个页,检查对应该页的PTE是否已经在TLB104的非固定的部分132中,如判断框206所示。如果PTE已经在TLB104的非固定的部分132中,则将PTE从TLB104的非固定的部分132去除,如框208所示。然后将PTE放置到TLB104的固定的部分130中,如框210所示。检查以便将更多的PTE加到TLB104的固定的区130,如判断框212所示。当有更多的PTE要加到TLB104的固定的区130,则顺序步骤返回到框206,检查PTE是否已经在TLB104的非固定的部分132中。如果没有更多的PTE要加到TLB104的固定的区130,则清空分析高速缓存108,如框214所示。然后重新启动递减计时器114,如框216所示。非固定的部分132中的TLB条目一直保留,直到被转移到TLB104的固定的部分130为止,或者直到通过标准FIFO或循环替换算法被去除为止。于是,顺序操作返回框202,等待递减计数器114终止。
应当明白,可以执行按照本发明的替代步骤。例如,代替步骤206、208、210和212的替代步骤是,可以清空TLB104的固定的部分130和剩余的非固定的部分132中的所有页条目,然后将代表分析高速缓存器108中具有最早时间戳的页的PTEs放置到TLB104的固定的部分130,并且TLB104的非固定的部分132一直保持清空状态,直到随着发生缺失(misses)而被重新填充。
现有技术计算缺失的解决方案对具有瞬间高通信量(with burstytraffic)的页与被稳定地访问的页赋予相等的优先权。计算缺失仅仅告诉你某页每隔多久在TLB中缺失一次,而不告诉你固件每隔多久访问特定页一次。对页的一次访问就可能产生TLB缺失,这个单一访问并不使某页重要。最佳实施例的分析高速缓存方法通过将高频率被访问的页临时固定的在TLB104的第一部分130,使得能进行有效的存储器管理。
现在参看图4,图中表示本发明的制造产品或计算机程序产品400。计算机程序产品400包括记录介质402-诸如软盘、光学读光盘或CD-ROM形式的大容量只读存储器、磁带、传输类型的介质-诸如数字或模拟通信链路、或类似的计算机程序产品。记录介质402在介质402上存储程序404、406、408、410,用于执行实现图1的系统100的最佳实施例的虚拟存储器管理的方法。
由所记录的程序方法404、406、408、410定义的一系列程序指令或者一个或多个关联模块的逻辑组合指导计算机系统100执行最佳实施例的虚拟存储器管理方法。
尽管已经结合附图所示的最佳实施例的细节描述了本发明,这些细节并非是要限制按权利要求书要求了权利的本发明的范围。

Claims (16)

1.一种采用分析高速缓存管理虚拟存储器的方法,包含以下步骤:
在分析高速缓存中存储一个条目集合,所述条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的LRU计数;所述LRU计数对应于对页地址的每次访问而被更新;
利用所述LRU计数去除分析高速缓存中的条目;
提供一个翻译后备缓冲器TLB,其包括一个用于存储多个临时固定的条目的第一TLB部分和一个用于存储多个非固定的条目的第二TLB部分;
响应一个TLB中断,用先进先出算法在第二TLB部分载入一个条目,以替代所述非固定的条目;
识别包含在分析高速缓存的条目中的所述第二TLB部分内的一个具有最早时间戳的条目;
定期地用所识别的分析高速缓存中所述条目集合的具有最早时间戳的条目更新所述第一TLB部分。
2.如权利要求1所述的方法,其中,所述所识别的分析高速缓存中所述条目集合的具有最早时间戳的条目代表最频繁使用的页表条目。
3.权利要求1所述的方法,其中,定期地更新所述第一TLB部分的步骤包括以下步骤:识别一个终止的递减计数器,更新所述第一TLB部分,清空分析高速缓存,重新启动递减计数器。
4.权利要求1所述的方法,其中,在分析高速缓存中存储所述条目集合的步骤包括在分析高速缓存中存储三十二个条目的步骤。
5.权利要求1所述的方法,其中,所述提供包括用于存储多个临时固定的条目的第一TLB部分和用于存储多个非固定的条目的第二TLB部分的翻译后备缓冲器TLB的步骤包括提供用于存储十六个临时固定的条目的所述第一TLB部分的步骤。
6.权利要求5所述的方法,包括提供用于存储至少三十二个非固定的条目的所述第二TLB部分的步骤。
7.权利要求1所述的方法,包括响应更新所述第一TLB部分而清除所述第二TLB部分中的所述多个非固定的条目的步骤。
8.权利要求1所述的方法,其中,定期地更新所述第一TLB部分的步骤包括下列步骤:将所述条目从所述第二TLB部分删除,将所述条目放入所述第一TLB部分。
9.一种用于管理虚拟存储器的装置,包含:
翻译后备缓冲器TLB,所述TLB包括一个用于存储多个临时固定的条目的第一TLB部分和一个用于存储多个非固定的条目的第二TLB部分;
分析高速缓存,用于存储一个条目集合,所述条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的LRU计数;所述LRU计数对应于对页地址的每次访问而被更新;
识别包含在分析高速缓存的条目中的所述第二TLB部分内的一个具有最早时间戳的条目的模块;和
虚拟存储器管理模块,用于定期地用所识别的分析高速缓存中所述条目集合的具有最早时间戳的条目更新所述第一TLB部分。
10.权利要求9所述的用于管理虚拟存储器的装置,其中,所述用于存储多个非固定的条目的第二TLB部分是用先进先出算法更新的。
11.权利要求9所述的用于管理虚拟存储器的装置,其中,分析高速缓存是利用所述最近最少使用的LRU计数而被更新的。
12.权利要求9所述的用于管理虚拟存储器的装置,其中,所述分析高速缓存存储三十二个条目的所述集合。
13.权利要求9所述的用于管理虚拟存储器的装置,其中,所述第一TLB部分用于存储十六个临时固定的条目。
14.权利要求9所述的用于管理虚拟存储器的装置,其中,所述第二TLB部分用于存储至少三十二个非固定的条目。
15.权利要求9所述的用于管理虚拟存储器的装置,其中,响应一个TLB中断而在所述第二TLB部分中装载一个条目。
16.权利要求15所述的用于管理虚拟存储器的装置,其中,采用先进先出算法替换一个所述非固定的条目以装载所述条目。
CNB2003101006721A 2002-10-10 2003-10-09 用于虚拟存储器的管理的方法和分析高速缓存 Expired - Fee Related CN1303535C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/268474 2002-10-10
US10/268,474 US7089396B2 (en) 2002-10-10 2002-10-10 Method and profiling cache for management of virtual memory

Publications (2)

Publication Number Publication Date
CN1512352A CN1512352A (zh) 2004-07-14
CN1303535C true CN1303535C (zh) 2007-03-07

Family

ID=32068572

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101006721A Expired - Fee Related CN1303535C (zh) 2002-10-10 2003-10-09 用于虚拟存储器的管理的方法和分析高速缓存

Country Status (3)

Country Link
US (1) US7089396B2 (zh)
JP (1) JP3864256B2 (zh)
CN (1) CN1303535C (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574451B2 (en) * 2004-11-02 2009-08-11 Microsoft Corporation System and method for speeding up database lookups for multiple synchronized data streams
US7543123B2 (en) * 2005-11-07 2009-06-02 International Business Machines Corporation Multistage virtual memory paging system
JP2007233615A (ja) * 2006-02-28 2007-09-13 Fujitsu Ltd アドレス変換装置
CN100520710C (zh) * 2006-07-27 2009-07-29 中国科学院计算技术研究所 复杂指令系统中tlbr内部例外的处理方法和处理器
GB2445965B (en) * 2007-01-26 2011-05-04 Advanced Risc Mach Ltd Entry replacement within a data store
JP2009043030A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd ストレージシステム
JP5119994B2 (ja) * 2008-03-14 2013-01-16 富士通株式会社 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置
US8464021B2 (en) * 2008-05-28 2013-06-11 Spansion Llc Address caching stored translation
US8244978B2 (en) * 2010-02-17 2012-08-14 Advanced Micro Devices, Inc. IOMMU architected TLB support
US8898378B2 (en) * 2011-02-23 2014-11-25 International Business Machines Co Retention management and reordering the data based on retention times on tape
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
US9230305B2 (en) * 2012-12-31 2016-01-05 Nvidia Corporation Summed area computation using ripmap of partial sums
US9235512B2 (en) * 2013-01-18 2016-01-12 Nvidia Corporation System, method, and computer program product for graphics processing unit (GPU) demand paging
CN104239237B (zh) * 2013-06-20 2017-07-14 华为技术有限公司 一种tlb管理方法及装置
US9760496B2 (en) * 2014-07-21 2017-09-12 Via Alliance Semiconductor Co., Ltd. Simultaneous invalidation of all address translation cache entries associated with an X86 process context identifier
CN106326150B (zh) * 2015-06-26 2020-09-15 中兴通讯股份有限公司 内存访问处理方法及装置
CN105183566B (zh) * 2015-10-16 2019-01-29 上海恺英网络科技有限公司 3d游戏渲染引擎的资源管理方法
CN107305532B (zh) * 2016-04-25 2023-04-07 中兴通讯股份有限公司 一种表项替换方法、装置及终端
CN106227679B (zh) * 2016-07-25 2018-12-28 北京邮电大学 一种数据缓存替换方法及装置
US11237758B2 (en) * 2016-08-06 2022-02-01 Wolley Inc. Apparatus and method of wear leveling for storage class memory using address cache
CN107870875A (zh) * 2017-08-09 2018-04-03 成都萌想科技有限责任公司 一种基于分布式内存可定制智能数据缓存方法
US10747679B1 (en) * 2017-12-11 2020-08-18 Amazon Technologies, Inc. Indexing a memory region
US20190188154A1 (en) * 2017-12-15 2019-06-20 Intel Corporation Translation pinning in translation lookaside buffers
KR102355374B1 (ko) * 2019-09-27 2022-01-25 에스케이하이닉스 주식회사 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법
US11403211B2 (en) * 2020-01-31 2022-08-02 Enmotus, Inc. Storage system with file priority mechanism and method of operation thereof
US11599462B1 (en) * 2021-11-03 2023-03-07 Google Llc Memory cache entry management with pinned cache entries

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000045267A1 (en) * 1999-01-28 2000-08-03 Infineon Technologies, Ag Techniques for improving memory access in a virtual memory system
WO2001097043A1 (en) * 2000-06-15 2001-12-20 Advanced Micro Devices, Inc. A translation lookaside buffer flush filter

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5491806A (en) * 1990-06-26 1996-02-13 Lsi Logic Corporation Optimized translation lookaside buffer slice having stored mask bits
US5940872A (en) * 1996-11-01 1999-08-17 Intel Corporation Software and hardware-managed translation lookaside buffer
US6205531B1 (en) * 1998-07-02 2001-03-20 Silicon Graphics Incorporated Method and apparatus for virtual address translation
US6418521B1 (en) * 1998-12-23 2002-07-09 Intel Corporation Hierarchical fully-associative-translation lookaside buffer structure
US6715039B1 (en) * 2001-09-12 2004-03-30 Emc Corporation Cache slot promotion in a replacement queue cache using determinations of probabilities and costs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000045267A1 (en) * 1999-01-28 2000-08-03 Infineon Technologies, Ag Techniques for improving memory access in a virtual memory system
CN1352771A (zh) * 1999-01-28 2002-06-05 因芬尼昂技术股份公司 改进虚拟存储器系统存取性能的技术
WO2001097043A1 (en) * 2000-06-15 2001-12-20 Advanced Micro Devices, Inc. A translation lookaside buffer flush filter

Also Published As

Publication number Publication date
JP2004133933A (ja) 2004-04-30
JP3864256B2 (ja) 2006-12-27
US7089396B2 (en) 2006-08-08
CN1512352A (zh) 2004-07-14
US20040073768A1 (en) 2004-04-15

Similar Documents

Publication Publication Date Title
CN1303535C (zh) 用于虚拟存储器的管理的方法和分析高速缓存
US9436596B2 (en) Flash memory cache including for use with persistent key-value store
Ma et al. LazyFTL: A page-level flash translation layer optimized for NAND flash memory
Park et al. CFLRU: a replacement algorithm for flash memory
US7096321B2 (en) Method and system for a cache replacement technique with adaptive skipping
US6338115B1 (en) Advanced read cache management
Butt et al. The performance impact of kernel prefetching on buffer cache replacement algorithms
US9582282B2 (en) Prefetching using a prefetch lookup table identifying previously accessed cache lines
EP1896951B1 (en) Managing memory pages
US7334088B2 (en) Page descriptors for prefetching and memory management
US6286080B1 (en) Advanced read cache emulation
JP5039754B2 (ja) データアクセス違反を検出する方法および装置
Wu et al. A differentiated caching mechanism to enable primary storage deduplication in clouds
Butt et al. The performance impact of kernel prefetching on buffer cache replacement algorithms
Ding et al. A buffer cache management scheme exploiting both temporal and spatial localities
Dayan et al. GeckoFTL: Scalable flash translation techniques for very large flash devices
US6990551B2 (en) System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
Jalminger et al. A novel approach to cache block reuse predictions
Park et al. A cost-aware page replacement algorithm for nand flash based mobile embedded systems
Zhou et al. LEA: A lazy eviction algorithm for SSD cache in cloud block storage
Farooqui et al. A comprehensive survey of page replacement algorithms
Saxena A study of page replacement algorithms
Lin et al. Greedy page replacement algorithm for flash-aware swap system
Lee et al. APR: adaptive page replacement scheme for scientific applications
Banerjee et al. Hybrid Page Replacement Algorithm in real time Operating System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070307

Termination date: 20151009

EXPY Termination of patent right or utility model