CN1820258A - 用于实时应用程序的改进的存储器管理 - Google Patents

用于实时应用程序的改进的存储器管理 Download PDF

Info

Publication number
CN1820258A
CN1820258A CNA2003801030786A CN200380103078A CN1820258A CN 1820258 A CN1820258 A CN 1820258A CN A2003801030786 A CNA2003801030786 A CN A2003801030786A CN 200380103078 A CN200380103078 A CN 200380103078A CN 1820258 A CN1820258 A CN 1820258A
Authority
CN
China
Prior art keywords
address
memory
information
group
tlb
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
CNA2003801030786A
Other languages
English (en)
Other versions
CN100397367C (zh
Inventor
迈克尔·N·戴
哈姆·P·霍夫斯蒂
卡尔斯·R·约翰斯
詹姆斯·A·卡尔
苏恩·Q·特鲁恩
戴维·希比
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 CN1820258A publication Critical patent/CN1820258A/zh
Application granted granted Critical
Publication of CN100397367C publication Critical patent/CN100397367C/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/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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

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)
  • Debugging And Monitoring (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

通过防止地址转换信息的子集被高速缓冲存储器中的其它类型的地址转换信息替换,而改进了计算机***中的存储器管理,其中,所述高速缓冲存储器被保留用于存储这样的地址转换信息,以便由CPU更快地访问。这样,CPU可以识别存储在高速缓冲存储器中的所述地址转换信息的子集。

Description

用于实时应用程序的改进的存储器管理
本发明一般涉及计算机***中的存储器管理,特别涉及用于提高计算机***上运行的实时应用程序的性能的改进的存储器地址转换机构(mechanism)。
在现代计算机***中,使用被称作虚拟存储器的技术来管理计算机***的物理或真实存储器的资源。这一技术向应用程序提供非常大量的存储器的错觉。最初,开发虚拟存储器***是为了解决物理或真实存储器太小的问题。尽管在大多数具有足够存储器的现代***中这不再是个因素,但是虚拟存储器机构本身已经因为其它原因而证明是有价值的。在这些原因中,虚拟存储器机构简化了存储器分配和/或存储器保护以及应用程序设计。
在虚拟存储器***中,利用具有多个页表项(PTE)的页表将虚拟地址转换为真实地址。通常,这种页表存储在计算机***的主存储器如DRAM芯片中。然而,由于连接在CPU和主存储器之间的存储器总线比CPU的操作速度慢得多,因此在CPU和主存储器之间存在瓶颈。对于不需要实时响应的某些应用程序,这一瓶颈可能不会引起合理的关注。然而,很多实时应用程序可能会发现:在这种应用程序操作时,这一瓶颈造成了可辨别的延迟。
避免这一瓶颈问题的已知技术是将PTE存储在称为转换后备缓冲器(TLB)的专用高速缓冲存储器中,其接近中央处理单元(CPU)。通常,TLB位于CPU芯片内,以便只要由CPU搜索到的特定的一组PTE恰好存储在TLB中,就消除或显著减小与在主存储器中查找页表相关的任何延迟。当在TLB中没有发现所述特定的一组PTE时,通常将这种事件定义为TLB遗漏(miss)。
通常,当进行存储器读取和/或写入请求时,从虚拟到真实存储器的映射被高速缓存(cache)在TLB中。当存在TLB遗漏时,专用硬件或软件必须用正确的PTE重新载入TLB。TLB的软件重新载入和硬件重新载入在性能方面代价可能相当高,这是因为这种重新载入需要从主存储器读取PTE并查找匹配。通常,要找到匹配可能花费(take)多达3个高速缓冲存储器线(cache line)遗漏。因此,在实时应用程序中,不希望有TLB遗漏。
本发明提供一种如权利要求1所述的用于改进计算机***中的存储器管理的方法、以及如其它权利要求所述的对应装置和计算机程序产品。
为了更完整地理解本发明及其优点,现在谈论结合附图进行的以下描述,其中:
图1是图示用于实时应用程序的改进的存储器管理机构的高层次方框图;
图2是图示用于实时应用程序的改进的存储器管理机构的优选实施例的低层次方框图;以及
图3是将结合图2的改进存储器管理机构使用的替换管理表(RMT)的示例。
注意,除非另外指出,否则在此描述的所有功能均可以以硬件或软件、或它们的某种组合来执行。然而,在优选实施例中,除非另外指出,这些功能由诸如计算机或电子数据处理器的处理器根据诸如计算机程序代码的代码、软件和/或被编码以执行这些功能的集成电路执行。
参考附图1,附图标记100一般地指定图示用于实时应用程序的改进的存储器管理机构的高层次方框图。通常,高层次方框图100可应用于使用虚拟存储器的计算机***。大多数现代计算机***都包括在这一范畴内。使用存储在页表106和表后备缓冲器(TLB)108中的页表项(PTE)(未示出)将虚拟地址102转换为真实或物理地址104。具体地说,虚拟地址102包括虚拟页号码(VPN)102A和页偏移量(offset)102B。类似地,真实地址104包括页帧号码(PFN)104A和页偏移量104B。优选地,只有虚拟地址102的VPN 102A被转换为真实地址104的PFN 104A。页偏移量102B被无修改地复制到页偏移量104B。
还使用硬件和/或软件页替换算法(PRA)110来在存在TLB遗漏并且必须用来自页表106的新PTE(包含缺少的页)替换TLB中的PTE时帮助TLB。TLB锁定机构112与TLB 108和PRA 110交互,以改进用于实时应用程序的存储器管理机构100。
至少中央处理单元(CPU)(未示出)直接或间接控制在此上下文中必需的大多数操作和/或计算,除非另外指出。此外,耦接到CPU的存储器(未示出)存储页表106。如果以硬件实施,则PRA 110耦接到TLB 108和TLB锁定机构112。如果以软件实施,则PRA 110存储在存储器(未示出)中,并且将在发生TLB遗漏时由CPU执行。
通常,CPU获得对存储页表106的存储器的访问要花费相对长的时间段(与估计可能较短的CPU的时钟周期相比)。TLB 108是用于动态存储最初可以从页表106获得的部分PTE的专用高速缓冲存储器。具体地说,TLB 108是用于存储相对小的一组PTE以便快速访问的关联存储器。给定某字段的值,关联存储器中的硬件机构搜索所有记录,并返回其字段包含给定值的记录。给出VPN 102A之后,如果没有TLB遗漏,则TLB 108中的硬件机构搜索TLB中的所有PTE,并返回PFN 104A。注意,在不脱离本发明的基本精神的情况下,可以使用其它类型的关联存储器来代替TLB 108。
通常,使用TLB 108来动态地高速缓存CPU近期可能使用的一些PTE。实际上,PRA 110预测CPU近期可能使用哪些页,并相应地确定在给定时间点应当将哪些PTE存储在TLB 108中。目前,很多不同的页替换算法在本领域中是公知的,其包括但不限于最近最少使用(LRU)算法(未示出)。当存在TLB遗漏时,LRU算法用新PTE(例如,在TLB中遗漏的PTE)来替换没有使用的时间最长(即,最近最少使用)的PTE。
尽管随着时间推移,该页替换方案可以优化存储器管理机构100的整体性能,但该方案没有考虑它对实时应用程序可能具有的潜在不利影响。TLB锁定机构112被示出为通过与TLB 108和PRA 110一起工作来克服此问题。一般而言,TLB锁定机构112防止为实时应用程序分配的一组PTE被属于页表106的另一组PTE替换。换句话说,TLB锁定机构112锁定为实时应用程序分配的一组PTE,使得不能将这组PTE从TLB 108中去除,而不管PRA 110确定了什么。
重要的是应当注意,本发明不必限于实时应用程序,尽管这种应用程序最有可能受益于本发明。一般而言,本发明应被视为适用于任何类型的应用程序和/或要在发生TLB遗漏时防止被替换的任何特定应用程序。
现在参考图2,示出了低层次方框图200,以图示用于实时应用程序的改进的存储器管理机构的优选实施例。通常,以有效地址(EA)202的形式从CPU(未示出)发出存储器请求。EA 202被转换为虚拟地址(VA)204,而虚拟地址(VA)204又被转换为真实地址(RA)206。有效地址(EA)包括有效段ID(ESID)206A、页号码(PN)206B和偏移量206C。类似地,VA 204具有虚拟段ID(VSID)204A、页号码(PN)204B和偏移量204C。优选地,通过级联VSID204A和PN 204B来创建虚拟页号码(VPN)204D。
EA 202被传递给段后备缓冲器(SLB)208和转换后备缓冲器(TLB)210。SLB 208被配置为将EA202转换为VA 204。优选地,SLB 208将ESID 202A转换为VSID 204A,而PN 202B和偏移量202C分别被复制到PN 204B和偏移量204C。
给出VPN 204D和EA 202之后,CPU通过访问EA 202所指向(index)的所有PTE并比较VPN 204A,来在TLB 210中搜索页表项(PTE)中的匹配(即,PTE命中)。在存在命中的情况下,返回真实页号码212。优选地,使用TAG(标签)比较器214以及逻辑元件216来执行这种比较。具体地说,TAG比较器214使逻辑元件216能够在VPN 204D与TLB 210中的VPN 218匹配时传递RPN 212。当VPN 204D与TLB 210中的VPN 218不匹配时,TAG比较器214防止逻辑元件216传递RPN 212。
在存在遗漏的情况下,TLB重新载入机构(未示出)搜索存储器(未示出)中的页表(未示出),并重新载入TLB 210。在传统的TLB结构中,当TLB 210在遗漏之后被重新载入时,使用页替换算法(PRA)220如最近最少使用(LRU)算法来指示要替换同等类(congruence class)中的哪组PTE。
在TLB重新载入的情况下,使用一组范围寄存器222、类ID、替换组224、替换管理表(RMT)226和替换组控制块230来选择要替换哪一组。具体地说,范围寄存器222耦接到RMT 226,以便将类ID传送给RMT 226。通过将EA 202发送给范围寄存器222来完成TLB重新载入。如果在范围寄存器222中存在命中,则生成类ID,并将其传递给RMT 226。RMT生成RMT替换控制位,该RMT替换控制位通过RMT替换控制总线232而被传送到替换组控制块230。替换组控制块230使用RMT替换控制位和来自TLB 210的替换组224来确定要替换哪一组。
图3示出了RMT 226的示例。在此示例中,RMT 226包括与8个TLB组(列)交叉的8个类ID(行)的矩阵。优选地,RMT 226说明操作***软件对于TLB 210中的组的替换管理状态的决定,这是因为所述组与给定类ID相关。
在优选实施例中,RMT 226是由软件管理的表。软件维护所述结构,并解释RMT项的含义。通常,在有效地址范围到一组或多组TLB的映射中使用RMT 226。此外,类ID(即,TLB 226的行)代表所给出的地址范围。在此示例中,类ID 0对应于没有给其它类ID特别提供的任何地址范围。然后,将所给出的类ID传送给RMT,并由RMT作为索引使用。当使用类ID作为索引时,访问RMT 226,并在RMT替换控制总线232上传送信息。
在此示例中,RMT 226是8×8矩阵。换句话说,TLB 210是8路(8-way)组关联的(即,它具有8个组)。因此,每个RMT项有8位。具体地说,RMT226具有从TLB组0-2、类ID行0中定义的“1”以及其余行中的“0”。因此,对于类ID 0,如果数据将被替换到TLB,则可以在前三组即TLB的组0-2中更新它。此外,类ID 0排它地使用这些组。因此,TLB的组0-2对类ID 0是排它的。类ID 0提供在范围寄存器中没有命中的地址的默认类ID。
对于类ID 1,RMT具有组0-2和组4-7中定义的“0”和用于组3的“1”。在组0-2或组4-7中,将不替换对应于类ID 1的任何数据。而是,将在组3中替换该数据。类ID 2和类ID 3均替换同一组,即组7。因此,类ID 2和类ID 3将只替换组7。类ID 4具有若干作为替换的有效候选者的组。它们是组4、5和6。
组替换的最终选择由任何页替换算法(PRA)如LRU算法做出。换句话说,RMT将某些组标记为适合替换,然后,使用图2的替换组选择块230中包含的LRU算法控制逻辑(未示出)来最终确定要替换的组的选择。

Claims (8)

1.一种用于改进具有处理逻辑以及第一和第二存储器的计算机***中的存储器管理的方法,该方法包括以下步骤:
将虚拟地址和真实地址之间的地址转换信息存储在第一存储器中;
将至少部分地址转换信息高速缓存在第二存储器中,以便更快地从处理逻辑访问,所述部分地址转换信息包括地址转换信息的子集,其中第二存储器比第一存储器更接近处理逻辑;以及
防止所述地址转换信息的子集被第一存储器中存储的其它地址转换信息替换。
2.如权利要求1所述的方法,其特征在于,第一和第二存储器分别是计算机***的主存储器和转换后备缓冲器(TLB)。
3.如权利要求1所述的方法,其特征在于,地址转换信息存储在具有一个或多个页表项(PTE)的一个或多个页表中。
4.如权利要求1所述的方法,其特征在于,为实时应用程序分配所述地址转换信息的子集。
5.如前述任何一项权利要求所述的方法,其特征在于,防止所述地址转换信息的子集被第一存储器中存储的其它地址转换信息替换的步骤还包括以下步骤:
为范围寄存器生成一个或多个类ID,每个类ID代表有效地址的给定地址范围;
使用所述一个或多个类ID作为索引来访问替换管理表(RMT);
将所述一个或多个类ID映射到一组或多组所述至少部分地址转换信息;
基于RMT确定哪组地址转换信息适合替换;以及
仅对被确定为适合替换的地址转换组执行替换算法。
6.如前述任何一项权利要求所述的方法,还包括以下步骤:
以有效地址的形式从处理逻辑发出存储器请求;
生成对应于有效地址的虚拟地址;
在第二存储器中搜索将虚拟地址与真实地址匹配的第一组地址转换信息;
当确定第二存储器未存储第一组地址转换信息时,在第一存储器中搜索第一组地址转换信息;以及
当确定第一存储器存储了第一组地址转换信息时,将第一组地址转换信息载入到第二存储器中,以替换第一存储器中的第二组地址转换信息,所述第二组地址转换信息不是为实时应用程序分配的。
7.一种在具有处理逻辑以及第一和第二存储器的计算机***中的改进的存储器管理机构,该存储器管理机构执行前述任何一项权利要求所述的方法。
8.一种用于改进具有处理逻辑以及第一和第二存储器的计算机***中的存储器管理的计算机程序产品,该计算机程序产品具有其上体现了计算机程序的介质,所述计算机程序用于当在计算机***上运行时执行如权利要求1-6中任何一项所述的方法。
CNB2003801030786A 2002-12-12 2003-11-21 用于实时应用程序的改进的存储器管理 Expired - Fee Related CN100397367C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/318,541 2002-12-12
US10/318,541 US7103748B2 (en) 2002-12-12 2002-12-12 Memory management for real-time applications

Publications (2)

Publication Number Publication Date
CN1820258A true CN1820258A (zh) 2006-08-16
CN100397367C CN100397367C (zh) 2008-06-25

Family

ID=32506386

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801030786A Expired - Fee Related CN100397367C (zh) 2002-12-12 2003-11-21 用于实时应用程序的改进的存储器管理

Country Status (11)

Country Link
US (1) US7103748B2 (zh)
EP (1) EP1581873B1 (zh)
JP (1) JP4129458B2 (zh)
KR (1) KR100843536B1 (zh)
CN (1) CN100397367C (zh)
AT (1) ATE390667T1 (zh)
AU (1) AU2003302824A1 (zh)
CA (1) CA2505610C (zh)
DE (1) DE60320026T2 (zh)
IL (1) IL169136A0 (zh)
WO (1) WO2004053698A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102498477A (zh) * 2009-07-13 2012-06-13 苹果公司 Tlb预取
US8949572B2 (en) 2008-10-20 2015-02-03 Kabushiki Kaisha Toshiba Effective address cache memory, processor and effective address caching method
CN107818053A (zh) * 2016-09-13 2018-03-20 晶心科技股份有限公司 用于存取高速缓存的方法与装置

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862027B2 (en) * 2003-06-30 2005-03-01 Microsoft Corp. System and method for parallel execution of data generation tasks
US7355601B2 (en) * 2003-06-30 2008-04-08 International Business Machines Corporation System and method for transfer of data between processors using a locked set, head and tail pointers
JP2005132525A (ja) * 2003-10-29 2005-05-26 Toyota Industries Corp 産業車輌における立席型運転席用背もたれ構造
US7519791B2 (en) * 2004-02-06 2009-04-14 Intel Corporation Address conversion technique in a context switching environment
US7089341B2 (en) * 2004-03-31 2006-08-08 International Business Machines Corporation Method and apparatus for supporting interrupt devices configured for a particular architecture on a different platform
US7362705B2 (en) * 2004-05-13 2008-04-22 International Business Machines Corporation Dynamic load-based credit distribution
JP4233492B2 (ja) * 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
US7840757B2 (en) * 2004-07-29 2010-11-23 International Business Machines Corporation Method and apparatus for providing high speed memory for a processing unit
US20060045031A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Automatic hardware data link initialization using multiple state machines
US20060047862A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Automatic hardware data link initialization
US7546401B2 (en) * 2004-09-23 2009-06-09 International Business Machines Corporation Byte to byte alignment of multi-path data
US7475190B2 (en) * 2004-10-08 2009-01-06 International Business Machines Corporation Direct access of cache lock set data without backing memory
US7577794B2 (en) 2004-10-08 2009-08-18 International Business Machines Corporation Low latency coherency protocol for a multi-chip multiprocessor system
US7305524B2 (en) * 2004-10-08 2007-12-04 International Business Machines Corporation Snoop filter directory mechanism in coherency shared memory system
US20060080511A1 (en) * 2004-10-08 2006-04-13 International Business Machines Corporation Enhanced bus transactions for efficient support of a remote cache directory copy
US8332592B2 (en) * 2004-10-08 2012-12-11 International Business Machines Corporation Graphics processor with snoop filter
US7385925B2 (en) * 2004-11-04 2008-06-10 International Business Machines Corporation Data flow control method for simultaneous packet reception
US7260765B2 (en) * 2004-12-17 2007-08-21 International Business Machines Corporation Methods and apparatus for dynamically reconfigurable parallel data error checking
US20060140122A1 (en) * 2004-12-28 2006-06-29 International Business Machines Corporation Link retry per virtual channel
US7499452B2 (en) * 2004-12-28 2009-03-03 International Business Machines Corporation Self-healing link sequence counts within a circular buffer
US20060159023A1 (en) * 2005-01-14 2006-07-20 International Business Machines Corporation CRC error history mechanism
US7234017B2 (en) * 2005-02-24 2007-06-19 International Business Machines Corporation Computer system architecture for a processor connected to a high speed bus transceiver
US7206886B2 (en) * 2005-02-24 2007-04-17 International Business Machines Corporation Data ordering translation between linear and interleaved domains at a bus interface
US7469312B2 (en) * 2005-02-24 2008-12-23 International Business Machines Corporation Computer system bus bridge
US7194567B2 (en) * 2005-02-24 2007-03-20 International Business Machines Corporation Method and system for ordering requests at a bus interface
US20060190655A1 (en) * 2005-02-24 2006-08-24 International Business Machines Corporation Apparatus and method for transaction tag mapping between bus domains
US7275124B2 (en) * 2005-02-24 2007-09-25 International Business Machines Corporation Method and system for controlling forwarding or terminating of a request at a bus interface based on buffer availability
US7275125B2 (en) * 2005-02-24 2007-09-25 International Business Machines Corporation Pipeline bit handling circuit and method for a bus bridge
US7330925B2 (en) * 2005-02-24 2008-02-12 International Business Machines Corporation Transaction flow control mechanism for a bus bridge
US7500062B2 (en) * 2005-11-17 2009-03-03 International Business Machines Corporation Fast path memory read request processing in a multi-level memory architecture
JP2007233615A (ja) * 2006-02-28 2007-09-13 Fujitsu Ltd アドレス変換装置
US7886112B2 (en) * 2006-05-24 2011-02-08 Sony Computer Entertainment Inc. Methods and apparatus for providing simultaneous software/hardware cache fill
US7908439B2 (en) * 2007-06-25 2011-03-15 International Business Machines Corporation Method and apparatus for efficient replacement algorithm for pre-fetcher oriented data cache
US8099579B2 (en) * 2007-07-13 2012-01-17 International Business Machines Corporation System and method for cache-locking mechanism using segment table attributes for replacement class ID determination
US8244979B2 (en) * 2007-07-13 2012-08-14 International Business Machines Corporation System and method for cache-locking mechanism using translation table attributes for replacement class ID determination
US20090049272A1 (en) * 2007-08-13 2009-02-19 International Business Machines Corporation Method for improving the performance of software-managed tlb
US8966219B2 (en) * 2007-10-30 2015-02-24 International Business Machines Corporation Address translation through an intermediate address space
US8108617B2 (en) * 2008-02-08 2012-01-31 International Business Machines Corporation Method to bypass cache levels in a cache coherent system
KR100987332B1 (ko) 2008-11-07 2010-10-18 서울대학교산학협력단 메모리 구조에 따른 메모리 관리 장치
EP2192493A1 (en) 2008-11-28 2010-06-02 ST Wireless SA Method of paging on demand for virtual memory management in a processing system, and corresponding processing system
CN102662869B (zh) * 2012-04-01 2015-08-26 龙芯中科技术有限公司 虚拟机中的内存访问方法和装置及查找器
US9003125B2 (en) * 2012-06-14 2015-04-07 International Business Machines Corporation Cache coherency protocol for allowing parallel data fetches and eviction to the same addressable index
US9086980B2 (en) 2012-08-01 2015-07-21 International Business Machines Corporation Data processing, method, device, and system for processing requests in a multi-core system
US9213532B2 (en) 2013-09-26 2015-12-15 Oracle International Corporation Method for ordering text in a binary
US10229048B2 (en) 2016-06-29 2019-03-12 Western Digital Technologies, Inc. Unified paging scheme for dense and sparse translation tables on flash storage systems
US10353813B2 (en) 2016-06-29 2019-07-16 Western Digital Technologies, Inc. Checkpoint based technique for bootstrapping forward map under constrained memory for flash devices
US11216361B2 (en) 2016-06-29 2022-01-04 Western Digital Technologies, Inc. Translation lookup and garbage collection optimizations on storage system with paged translation table
US10175896B2 (en) 2016-06-29 2019-01-08 Western Digital Technologies, Inc. Incremental snapshot based technique on paged translation systems
US10235287B2 (en) 2016-06-29 2019-03-19 Western Digital Technologies, Inc. Efficient management of paged translation maps in memory and flash

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727485A (en) 1986-01-02 1988-02-23 Motorola, Inc. Paged memory management unit which locks translators in translation cache if lock specified in translation table
US5487162A (en) * 1992-02-25 1996-01-23 Matsushita Electric Industrial Co., Ltd. Cache lock information feeding system using an address translator
JP3740195B2 (ja) * 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
US5594886A (en) * 1994-10-23 1997-01-14 Lsi Logic Corporation Pseudo-LRU cache memory replacement method and apparatus utilizing nodes
EP0856798B1 (en) 1997-01-30 2004-09-29 STMicroelectronics Limited A cache system
JP2000200221A (ja) * 1998-10-30 2000-07-18 Nec Corp キャッシュメモリ装置及びその制御方法
US6442664B1 (en) * 1999-06-01 2002-08-27 International Business Machines Corporation Computer memory address translation system
US6430667B1 (en) * 2000-04-13 2002-08-06 International Business Machines Corporation Single-level store computer incorporating process-local address translation data structures
EP1182569B8 (en) 2000-08-21 2011-07-06 Texas Instruments Incorporated TLB lock and unlock operation
JP2002140234A (ja) 2000-11-02 2002-05-17 Hitachi Ltd キャッシュ装置
US20030159003A1 (en) * 2001-10-23 2003-08-21 Ip-First, Llc Associative cache memory with replacement way information integrated into directory
US7020748B2 (en) * 2003-01-21 2006-03-28 Sun Microsystems, Inc. Cache replacement policy to mitigate pollution in multicore processors

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949572B2 (en) 2008-10-20 2015-02-03 Kabushiki Kaisha Toshiba Effective address cache memory, processor and effective address caching method
CN102498477A (zh) * 2009-07-13 2012-06-13 苹果公司 Tlb预取
CN102498477B (zh) * 2009-07-13 2015-02-11 苹果公司 Tlb预取
CN107818053A (zh) * 2016-09-13 2018-03-20 晶心科技股份有限公司 用于存取高速缓存的方法与装置

Also Published As

Publication number Publication date
WO2004053698A3 (en) 2006-01-12
CN100397367C (zh) 2008-06-25
DE60320026D1 (de) 2008-05-08
EP1581873A2 (en) 2005-10-05
US7103748B2 (en) 2006-09-05
US20040117592A1 (en) 2004-06-17
JP2006515088A (ja) 2006-05-18
JP4129458B2 (ja) 2008-08-06
CA2505610A1 (en) 2004-06-24
CA2505610C (en) 2009-06-23
WO2004053698A2 (en) 2004-06-24
EP1581873B1 (en) 2008-03-26
ATE390667T1 (de) 2008-04-15
AU2003302824A8 (en) 2004-06-30
IL169136A0 (en) 2007-07-04
KR100843536B1 (ko) 2008-07-04
KR20050088077A (ko) 2005-09-01
DE60320026T2 (de) 2009-05-14
AU2003302824A1 (en) 2004-06-30

Similar Documents

Publication Publication Date Title
CN100397367C (zh) 用于实时应用程序的改进的存储器管理
EP1654660B1 (en) A method of data caching
US5813031A (en) Caching tag for a large scale cache computer memory system
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
KR100382395B1 (ko) 컴퓨터메모리에정보를기억하는방법및장치
US5361340A (en) Apparatus for maintaining consistency in a multiprocessor computer system using virtual caching
US7266647B2 (en) List based method and apparatus for selective and rapid cache flushes
CN1110752C (zh) 实现高速缓存一致性机制的方法和***
US7472253B1 (en) System and method for managing table lookaside buffer performance
US7496730B2 (en) System and method for reducing the number of translation buffer invalidates an operating system needs to issue
US9772943B1 (en) Managing synonyms in virtual-address caches
US5479630A (en) Hybrid cache having physical-cache and virtual-cache characteristics and method for accessing same
JPH08272693A (ja) 仮想アドレスについてのキャッシュ可能性属性ビットを備えた変換テーブル・エントリ及びそのビットを用いた仮想アドレスの参照方法並びにその仮想アドレスの参照装置
KR20090117798A (ko) 주소 변환 방법 및 장치
US5530823A (en) Hit enhancement circuit for page-table-look-aside-buffer
JP3449487B2 (ja) 変換索引緩衝機構
WO2024066195A1 (zh) 缓存管理方法及装置、缓存装置、电子装置和介质
US7549035B1 (en) System and method for reference and modification tracking
US5953747A (en) Apparatus and method for serialized set prediction
KR100326989B1 (ko) 스누핑 포트를 사용하는 프리페치 캐시 질의 방법 및 시스템
CN108694133A (zh) 用于即时高速缓存关联性的装置、方法和***
CN111124954B (zh) 一种两级转换旁路缓冲的管理装置及方法
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US7797492B2 (en) Method and apparatus for dedicating cache entries to certain streams for performance optimization
US7865691B2 (en) Virtual address cache and method for sharing data using a unique task identifier

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080625

Termination date: 20181121