CN104487953B - 用于层次型存储器系统的存储器管理 - Google Patents

用于层次型存储器系统的存储器管理 Download PDF

Info

Publication number
CN104487953B
CN104487953B CN201380038489.5A CN201380038489A CN104487953B CN 104487953 B CN104487953 B CN 104487953B CN 201380038489 A CN201380038489 A CN 201380038489A CN 104487953 B CN104487953 B CN 104487953B
Authority
CN
China
Prior art keywords
memory
memory address
management system
address
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380038489.5A
Other languages
English (en)
Other versions
CN104487953A (zh
Inventor
迪安·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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN104487953A publication Critical patent/CN104487953A/zh
Application granted granted Critical
Publication of CN104487953B publication Critical patent/CN104487953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1009Address translation using page tables, e.g. page table structures
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明披露用于管理存储器的系统及方法。存储器管理系统可包含具有多个虚拟存储器地址的表。每一虚拟存储器地址可对应于物理存储器地址且对应于识别对应于所述物理存储器地址的存储器装置类型的数据。所述物理存储器地址可用以在发生表命中时存取所述存储器装置。

Description

用于层次型存储器系统的存储器管理
技术领域
本发明的实施例大体上涉及存储器管理。更具体地说,本发明的实施例可提供用于层次型存储器系统中的存储器管理的一或多种技术。
背景技术
计算机系统一般用于数种配置中以提供多种计算功能。被分派开发计算机系统及系统组件的任务的设计工程师通常考虑处理速度、系统灵活性、功耗及大小约束。计算机系统一般包含多个存储器装置(例如,双列直插存储器模块(DIMM)可含有8个、16个或更多个存储器装置,堆叠式NAND闪存包可含有2个、4个或8个NAND裸片),及可用以存储数据(例如,程序及用户数据)且可由例如处理器或外围装置的其它系统组件存取的多个存储器类型(即,可具有不同性能及/或电力特性的存储器装置)。这些存储器装置可包含易失性及非易失性存储器装置。
通常,由存储器管理系统管理计算系统的存储器地址空间。在某些计算系统中,存储器管理系统可将存储器地址空间的部分动态地分配到由处理器执行的程序,且可将存储器地址空间的单独部分分配到由这个程序使用的数据。相反地,当处理器不再执行程序时,存储器管理系统可从程序解除分配存储器地址空间的部分。存储器管理系统可包含用以将由处理器使用的虚拟存储器地址映射到物理存储器地址空间的表。这些表可包含主存储器翻译表(MMXT)及翻译后备缓冲器(TLB)。通常,TLB含有用于使用频率大于MMXT中的存储器地址的存储器地址的存储器映射。在MMXT及/或TLB中搜索存储器映射可耗费时间,从而导致延迟数据检索。
存储器系统通常布置有存储器层次。例如,可在寄存器、高速缓冲存储器(例如,级别1、级别2、级别3)、主存储器(例如,RAM)、磁盘存储装置等等中找到某些存储器。可了解,一些存储器系统包含具有不同操作特性(例如,以不同速度操作)的存储器类型。然而,存储器管理系统一般不区分存储器系统中的存储器类型(例如,主存储器)。因此,这些存储器管理系统可以相同方式处置所有类型的存储器。此外,存储器系统中的一些存储器装置可被存取(例如,从一些存储器装置读取及/或写入到一些存储器装置)的次数大于存储器系统中的其它存储器装置。因而,存储器管理系统可能难以识别(例如,确定)存储器系统内以特定速度操作的存储器装置。同样地,存储器管理系统可能难以识别存取次数大于其它存储器装置的存储器装置。
因此,本发明的实施例可有关于上文所陈述的一或多个问题。
附图说明
图1说明根据本发明的实施例的基于处理器的系统的方框图;
图2说明根据本发明的实施例的存储器管理系统的方框图;
图3说明根据本发明的实施例的翻译后备缓冲器的方框图;
图4说明根据本发明的实施例的翻译装置的方框图;
图5说明根据本发明的实施例的用于在存储器管理系统接收虚拟存储器地址时存取物理存储器地址的方法的流程图;及
图6说明根据本发明的实施例的用于管理计算系统的物理存储器地址空间的方法的流程图。
具体实施方式
一些随后论述的实施例可促进具有较大通用性的存储器系统,例如使用多个不同类型的存储器装置的存储器系统,及动态地重新布置存储在所述不同类型的存储器装置上的数据的存储器系统。如下文详细地所描述,存储器管理系统可包含使物理存储器地址与存储器装置类型相关的表。例如,存储器管理系统可包含具有多个虚拟存储器地址的表。每一虚拟存储器地址可对应于物理存储器地址且对应于识别对应存储器装置类型的数据。物理存储器地址可用以在发生表命中时存取存储器装置。因而,下列论述描述根据本技术的实施例的装置及方法。
现在参考图式且最初参考图1,说明描绘基于处理器的系统(整体上由参考数字10指定)的方框图。系统10可为多种类型中的任一者,例如计算机、寻呼机、蜂窝电话、个人备忘记事本、控制电路等等。在典型基于处理器的装置中,例如微处理器的一或多个处理器12控制系统10中的系统功能及请求的处理。应了解,处理器12可包含用于将组件耦合到处理器12的嵌入式北桥或南桥(未展示)。替代地,系统10可包含耦合在处理器12与系统10的各种组件之间的单独桥。如所说明,处理器12可包含高速缓冲存储器13(例如,CPU高速缓冲存储器)以减小处理器12存取存储器所花费的平均时间。
各种装置可取决于系统10执行的功能而耦合到处理器12。例如,用户接口可耦合到处理器12。用户接口可包含(例如)按钮、开关、键盘、光笔、鼠标、显示器及/或语音辨识系统。显示器可包含(例如)触摸屏显示器、LCD显示器、CRT、LED及/或音频显示器。一或多个通信端口还可耦合到处理器12。例如,通信端口可适应于耦合到例如调制解调器、打印机、计算机的一或多个外围装置,或耦合到例如局域网、远程区域网、企业内部网或互联网的网络。
因为处理器12一般通过实施软件程序控制系统10的运行,所以存储器可操作地耦合到处理器12以存储各种程序且促进各种程序的执行。因此,层次型存储器系统14经由系统总线16可操作地耦合到处理器12。层次型存储器系统14包含存储器管理系统18及任何数目个存储器装置。例如,层次型存储器系统14可包含memory_020(例如,属于第一类型)、memory_122(例如,属于第二类型),及由memory_N 24(例如,属于第n类型)表示的任何额外存储器装置。
存储器管理系统18可执行多种存储器管理功能。例如,存储器管理系统18可管理虚拟存储器地址到物理存储器地址翻译、存储器重新分配、存储器组织、存储器使用等等。如所说明,存储器管理系统18由相应数据总线PA_026、PA_128及PA_N 30可操作地耦合到存储器装置20、22及24。应了解,PA_N 30可表示对应于存储器装置memory_N 24的数个数据总线。
存储器装置20、22及24中的一或多者可为易失性存储器,其可包含动态随机存取存储器(DRAM)及/或静态随机存取存储器(SRAM)。易失性存储器可包含数个存储器模块,例如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)及/或混合存储器立方体(HMC)。应了解,易失性存储器可被简称为“系统存储器”。易失性存储器通常相当大,使得其可存储经动态加载的应用程序及数据。
此外,存储器装置20、22及24中的一或多者可为非易失性存储器,其可包含例如EPROM的只读存储器(ROM)、闪存存储器(例如,NOR及/或NAND),及/或待结合易失性存储器而使用的相变存储器(PCM)。ROM的大小通常经选择为足够大以存储任何必要的操作系统、应用程序及固定数据。另外,非易失性存储器可包含高容量存储器,例如磁带或磁盘驱动器存储器。因此,存储器装置20、22及24无须为块存储装置。
因而,层次型存储器系统14通用于允许许多类型的存储器装置20、22及24可操作地耦合到处理器12。因此,存储器管理系统18可适应于层次型存储器系统14以优化存储器装置20、22及24的性能。图2到4中说明适应于供层次型存储器系统14中使用的存储器管理系统18的一些实例。具体地说,图2说明具有翻译(XLAT)翻译装置及翻译后备缓冲器的存储器管理系统18,且图3及4分别进一步说明翻译后备缓冲器及XLAT翻译装置。图5及6说明可由存储器管理系统18用来管理存储器装置20、22及24的方法。
现在参考图2,说明存储器管理系统18的方框图。在操作期间,存储器管理系统18接收虚拟存储器地址32(例如,从处理器12)。存储器管理系统18识别映射到虚拟存储器地址32且用以存取存储器装置20、22及24中的一者的物理存储器地址34。如果存储器管理系统18不能够识别映射到虚拟存储器地址32的物理存储器地址34,那么存储器管理系统18生成(例如,产生)可传输到处理器12的页面错误36。
为了识别映射到虚拟存储器地址32的物理存储器地址34,存储器管理系统18使用XLAT翻译装置38及翻译后备缓冲器(TLB)40。XLAT翻译装置38及TLB 40可各自存储将虚拟存储器地址映射到物理存储器地址的相应表。虽然单独地说明XLAT翻译装置38及TLB 40,但是在某些实施例中,XLAT翻译装置38及TLB 40可合并在单一装置内。应了解,XLAT翻译装置38及TLB 40可含有非重叠数据。例如,XLAT翻译装置38可含有用于虚拟存储器地址的第一部分的表条目,而TLB 40含有用于虚拟存储器地址的第二部分的表条目。
通常,TLB 40含有用于存取频率大于存储在XLAT翻译装置38中的虚拟存储器地址的虚拟存储器地址的表条目。在某些实施例中,可在XLAT翻译装置38及TLB 40中同时发生对虚拟存储器地址32的搜索。在其它实施例中,在XLAT翻译装置38中发生对虚拟存储器地址32的搜索之前,可在TLB 40中发生所述搜索。然而,在识别(例如,定位)包含虚拟存储器地址32的表条目之后,XLAT翻译装置38及TLB 40两者均停止搜索虚拟存储器地址32。
在本实施例中,XLAT翻译装置38及TLB 40可各自存储与存取特定虚拟存储器地址及/或物理存储器地址的频率有关的数据。此外,XLAT翻译装置38及TLB 40可各自存储识别对应于物理存储器地址的存储器装置类型的数据。如下文详细地所解释,在使用这种额外数据的情况下,存储器管理系统18可优化存储器使用,及/或优化存储在XLAT翻译装置38及TLB 40中的表映射数据。
因此,图3说明TLB 40的方框图,TLB 40可存储与存取特定虚拟存储器地址及/或物理存储器地址的频率有关的数据,且可存储识别对应于所述特定物理存储器地址的存储器装置类型的数据。在某些实施例中,TLB 40可为内容可寻址存储器(CAM)装置或n路关联存储器装置。具体地说,TLB 40存储具有行44及列(46到52)的表42。在本实施例中,每一行44与单独表条目有关。因而,每一行44包含虚拟存储器地址列46、物理存储器地址列48、最近最少使用(LRU)列50,及装置识别(TYPE)列52。
虚拟存储器地址列46包含TLB 40中含有的所有虚拟存储器地址的列表。此外,物理存储器地址列48包含每一行44中对应于相应行44的虚拟存储器地址列46中的虚拟存储器地址的物理存储器地址。LRU列50包含与存取相应物理存储器地址的频率有关的数据(例如,存取或使用数据)。例如,LRU列50可包含表示已存取其对应虚拟存储器地址及/或物理存储器地址的总次数的值。因而,LRU列50可用以识别是否应从表42移除表条目。例如,可从表42移除存取频率最少(例如,在LRU列50中存储有最低值)的行44。
TYPE列52包含每一行44中识别对应于相应行44的物理存储器地址列48中的物理存储器地址的装置类型的装置识别数据。使用物理存储器地址存取所述装置(例如,当发生表命中时)。例如,装置识别数据可为对应于装置类型的值。应了解,存储器管理系统18可包含对应于每一装置的数据。例如,存储器管理系统18可包含例如以下项的数据:每一装置的名称、每一装置的操作速度、指派到每一装置的总线、每一装置相对于其它物理装置的相对速度的指示、每一装置的耐久性等等。在操作期间,物理地址可用以直接存取存储器装置20、22及24,由此快速地存取存储在存储器装置20、22及24上的数据。
参考图4,说明XLAT翻译装置38的方框图。XLAT翻译装置38包含翻译表(XT)54,XT54可存储与存取特定虚拟存储器地址及/或物理存储器地址的频率有关的数据,且可存储识别对应于每一物理存储器地址的存储器装置类型的数据。此外,XLAT翻译装置38包含用于控制XLAT翻译装置38的各种操作的控制单元56(例如,混合存储器立方体的逻辑裸片)。具体地说,XT 54存储具有行58及列(60到66)的表。在本实施例中,每一行58与单独表条目有关。因而,每一行58包含虚拟存储器地址列60、物理存储器地址列62、LRU列64,及TYPE列66。
虚拟存储器地址列60包含XT 54中含有的所有虚拟存储器地址的列表。此外,物理存储器地址列62包含每一行58中对应于相应行58的虚拟存储器地址列60中的虚拟存储器地址的物理存储器地址。LRU列64包含与存取相应物理存储器地址的频率有关的数据(例如,存取或使用数据)。例如,LRU列64可包含表示已存取其相应虚拟存储器地址及/或物理存储器地址的总次数的值。因而,可使用LRU列64(例如,由翻译装置38的控制单元56使用)以识别是否应将表条目从XT 54移动到TLB 40。例如,至少在一些条件中,可将以最高频率存取(例如,在LRU列64中存储有最高值)的行58从XT 54移动到TLB 40中。
TYPE列66包含每一行58中识别对应于相应行58的物理存储器地址列62中的物理存储器地址的装置类型的装置识别数据。使用物理存储器地址存取所述装置(例如,当发生表命中时)。例如,装置识别数据可为对应于装置类型的值。在操作期间,物理存储器地址可用以直接存取存储器装置20、22及24,由此快速地存取存储在存储器装置20、22及24上的数据。
XLAT翻译装置38可为多种不同装置中的任一者,例如混合存储器立方体(HMC),或例如美国公开案第2010/0138575号中所披露的样式辨识装置。此外,硬件(例如,处理器)及/或软件可用以执行XT 54的搜索。应了解,尤其在存储在主存储器中的情况下(例如,其中翻译装置38自身用作主存储器,具体化在HMC装置中的情况可能如此),延长对XT 54的存取可导致显著性能损失。因此,除了存储器单元以外,某些翻译装置38还可包含硬件及/或软件逻辑。例如,XT 54可存储在高性能存储器阵列(HPMA)(例如,HMC)或辅助搜索存储器装置(例如先前所提及的样式辨识装置)上。这些装置可经配置以搜索XT 54内的虚拟存储器地址(例如,执行表审核(table walk))。应注意,TLB 40还可存储在HPMA或辅助搜索存储器装置上。在某些实施例中,TLB 40及XT 54可存储在同一装置上。通过使用HPMA或辅助搜索存储器装置,可实现改善的性能。在某些实施例中,控制单元56可用以执行多种功能。例如,控制单元56可控制页面表审核、TLB更新、LRU计算、LRU更新、用于页面移动的直接存储器存取、动态地重新布置指派到所述装置的数据、动态地改变虚拟存储器地址到物理存储器地址的映射等等。
控制单元56可包含软件及/或硬件以辅助存储器管理系统18的功能。因而,图5说明用于在存储器管理系统18接收虚拟存储器地址时存取物理存储器地址的方法68的流程图。在方框70处,存储器管理系统18接收虚拟存储器地址。然后,在方框72处,存储器管理系统18搜索TLB 40中的虚拟存储器地址(例如,执行查找)。紧接着,在方框74处,确定存储器管理系统18是否已识别(例如,找到)TLB 40中的虚拟存储器地址。如果存在TLB“未命中”,那么在方框76处,存储器管理系统18搜索XT 54中的虚拟存储器地址(例如,执行查找或表审核)。然后,在方框78处,确定存储器管理系统18是否已识别XT 54中的虚拟存储器地址。如果存在XT“未命中”,那么在方框80处,存储器管理系统18产生发送到处理器12的页面错误36。
如果存在XT“命中”,那么在方框82处,存储器管理系统将XT表条目移动到TLB40。此外,在方框82处,存储器管理系统18将最少使用的TLB 40条目移动到XT 54。紧接着,在方框84处,存储器管理系统18将虚拟存储器地址翻译为物理存储器地址。这发生在方框82之后,或响应于按方框74发生的TLB“命中”而发生。应了解,将虚拟存储器地址翻译为物理存储器地址可包含存取与虚拟存储器地址有关的条目中的所有数据。例如,存储器管理系统18可从用于存取存储器装置的表条目检索TYPE列数据。在方框86处,更新(例如,修改)用于所存取表条目的LRU数据。例如,可使存储在LRU列中的值增加1。紧接着,在方框88处,存取物理存储器地址。
现在参考图6,说明用于管理计算系统的存储器地址空间的方法的流程图90。在方框92处,存储器管理系统18可使用LRU数据以对表条目进行排序,例如基于存取表条目的虚拟存储器地址及/或物理存储器地址的次数而对所述表条目进行排序。紧接着,在方框94处,存储器管理系统18可识别使用量大于其它表条目的表条目,及/或存储器管理系统18可识别使用量小于其它表条目的表条目。然后,在方框96处,存储器管理系统18可比较被分配到所识别条目的存储器装置的类型与存储器装置的可用类型。例如,存储器管理系统18可识别使用量较大(例如,存取速率较高)的表条目是否被分配到优于使用量较小的表条目的存储器类型(例如,较快存储器、改善的耐久性)。在方框98处,存储器管理系统18可识别是否存在存取物理存储器地址的次数与对应于物理存储器地址的存储器装置类型之间的失配。
如果不存在失配,那么方法可返回到方框92。然而,如果存在存取物理存储器地址的次数与对应于物理存储器地址的存储器装置类型之间的失配,那么存储器管理系统18可按方框100识别是否可执行存储器交换。在某些实施例中,存储器交换可包含使存储在第一类型的存储器中的第一组数据与存储在第二类型的存储器中的第二组数据互换。例如,存储器管理系统18可将存储在第一类型的存储器中的第一组数据移动到第二类型的存储器,且将存储在第二类型的存储器中的第二组数据移动到第一类型的存储器。此外,移动第一组数据及第二组数据可同时发生。例如,某些类型的存储器可支持在两个方向上同时发生的数据移动,例如DRAM DIMM及HMC,以及DRAM DIMM及PCM。如果无法执行存储器交换,那么存储器管理系统18可按方框102识别是否存在可用于移动失配数据的任何存储器。如果不存在任何可用存储器,那么方法可返回到方框100。
如果存在可用存储器,那么存储器管理系统18可按方框104将数据从所识别条目的存储器移动到可用存储器。例如,存储器管理系统18可使对应于所识别表条目的数据移动到不同类型的存储器装置以移除存取物理存储器地址的次数与对应于物理存储器地址的存储器类型之间的失配。返回到方框100,如果存储器管理系统18能够执行存储器交换,那么存储器管理系统18可按方框106在存储器装置之间交换数据。在方框104或方框106之后,存储器管理系统18更新TLB 40及/或XT 54表条目。例如,存储器管理系统18可使用虚拟存储器地址与物理存储器地址之间的经修订映射、经修订装置数据及/或经更新LRU数据来更新TLB 40及/或XT 54。
虽然方框92到108被描述为由存储器管理系统18执行,但是应注意,存储器管理系统18的任何部分(例如,硬件及/或软件)可执行所描述的项目。例如,可由控制单元56执行方框92到108中的任一者。在某些实施例中,存储器管理系统18及/或控制单元56可经配置以基于存储器类型的耐久性或速度动态地改变虚拟存储器地址到物理存储器地址的映射。在使用本文中描述的技术的情况下,存储器管理系统18可最大化系统10的性能及/或最小化软件开销。
虽然本发明可容许各种修改及替代形式,但是已在图式中作为实例而展示且在本文中详细地描述特定实施例。然而,应理解,本发明并不希望限于所披露的特定形式。实情是,本发明将涵盖属于如由所附权利要求书定义的本发明的精神及范围的所有修改、等效者及替代。

Claims (27)

1.一种存储器管理系统,其包括:
第一存储器翻译表,其经配置以使第一虚拟存储器地址与第一物理存储器地址、指示存取所述第一物理存储器地址的频率的第一数据、及识别包括所述第一物理存储器地址的第一存储器装置的第一存储器类型的第二数据相关;
第二存储器翻译表,其经配置以使第二虚拟存储器地址与第二物理存储器地址、指示存取所述第二物理存储器地址的频率的第三数据、及识别包括所述第二物理存储器地址的第二存储器装置的第二存储器类型的第四数据相关;及
控制单元,其经配置以至少部分基于所述第一存储器翻译表和所述第二存储器翻译表控制所述第一存储器装置和所述第二存储器装置的操作。
2.根据权利要求1所述的存储器管理系统,其中:
第一存储器翻译表存储在翻译装置中;且
所述第二存储器翻译表存储在翻译后备缓冲器中。
3.根据权利要求1所述的存储器管理系统,其中:
所述第一存储器翻译表经配置以使所述第一虚拟存储器地址与指示存取所述第一虚拟存储器地址的频率的第五数据相关联;及
所述第二存储器翻译表经配置以使所述第二虚拟存储器地址与指示存取所述第二虚拟存储器地址的频率的第六数据相关联。
4.根据权利要求1所述的存储器管理系统,其中所述第一存储器翻译表经配置以至少部分地基于所述第一数据、所述第二数据、所述第三数据、及所述第四数据来将所述第一虚拟存储器地址的关联从所述第一物理存储器地址改变到所述第二物理存储器地址。
5.根据权利要求1所述的存储器管理系统,其中所述存储器管理系统经配置以至少部分地基于所述第一数据和所述第三数据来:
将第一表条目从所述第一存储器翻译表移动到所述第二存储器翻译表,所述第一表条目将所述第一虚拟存储器地址与所述第一物理存储器地址、所述第一数据、及所述第二数据相关联;及
将第二表条目从所述第二存储器翻译表移动到所述第一存储器翻译表,所述第二表条目将所述第二虚拟存储器地址与所述第二物理存储器地址、所述第三数据、及所述第四数据相关联。
6.一种存储器管理系统,其包括:
翻译装置,其经配置以存储第一存储器翻译表,其中所述第一存储器翻译表经配置以:
将第一多个虚拟存储器地址映射到第一多个物理存储器地址;并
将第一多个虚拟存储器地址映射到第一数据和第二数据,所述第一数据指示所述第一多个物理存储器地址中的每一者被存取的频繁性,所述第二数据指示包括所述第一多个物理存储器地址中的每一者的存储装置的类型;及翻译后备缓冲器TLB,其经配置以存储第二存储器翻译表,其中所述第二存储器翻译表经配置以:
将第二多个虚拟存储器地址映射到第二多个物理存储器地址;并
将第二多个虚拟存储器地址映射到第三数据和第四数据,所述第三数据指示所述第二多个物理存储器地址中的每一者被存取的频繁性,所述第四数据指示包括所述第二多个物理存储器地址中的每一者的存储装置的类型;
其中所述第一存储器翻译表及所述第二存储器翻译表是非重叠的;及
控制单元,其经配置以至少部分基于所述第一存储器翻译表及所述第二存储器翻译表控制包括所述第一多个物理存储器地址或所述第二多个物理存储器地址中的至少一个物理存储器地址的存储器装置的操作。
7.根据权利要求6所述的存储器管理系统,其中所述控制单元经配置以搜索所述第一存储器翻译表以识别第一虚拟存储器地址。
8.根据权利要求7所述的存储器管理系统,其中所述控制单元经配置以独立于所述存储器管理系统外部的处理装置而搜索所述第一存储器翻译表。
9.根据权利要求6所述的存储器管理系统,其中所述翻译装置包括高性能存储器阵列。
10.根据权利要求9所述的存储器管理系统,其中所述高性能存储器阵列包括混合存储器立方体。
11.根据权利要求10所述的存储器管理系统,其中所述混合存储器立方体经配置以执行所述第一存储器翻译表的表审核。
12.根据权利要求6所述的存储器管理系统,其中所述翻译装置经配置以将主存储器提供到计算机系统。
13.根据权利要求6所述的存储器管理系统,其中所述翻译装置包括辅助搜索存储器装置。
14.根据权利要求6所述的存储器管理系统,其中所述TLB包括内容可寻址存储器。
15.根据权利要求6所述的存储器管理系统,其中所述TLB包括n路关联存储器装置。
16.根据权利要求6所述的存储器管理系统,其中所述TLB及所述翻译装置合并在单一装置内。
17.根据权利要求6所述的存储器管理系统,其中所述TLB合并在第一装置内且所述翻译装置合并在第二装置内。
18.根据权利要求6所述的存储器管理系统,其中所述控制单元经配置以指示基于关于所述虚拟存储器被存取的频繁性的数据,将使虚拟存储器地址与物理存储器地址相关联的表条目从所述第一存储器翻译表移动到所述第二存储器翻译表。
19.根据权利要求6所述的存储器管理系统,其中所述控制单元经配置以同时搜索所述第一存储器翻译表和所述第二存储器翻译表。
20.根据权利要求6所述的存储器管理系统,其中所述控制单元经配置以在所述第一存储器翻译表之前搜索所述第二存储器翻译表。
21.根据权利要求6所述的存储器管理系统,其中在所述第一存储器翻译表或所述第二存储器翻译表中找到包含虚拟存储器地址的表条目之后,所述控制单元经配置以停止在所述第一存储器翻译表或所述第二存储器翻译表中的搜索。
22.根据权利要求6所述的存储器管理系统,其中所述第一数据和所述第三数据中的每一者都包括最近使用的LRU数据。
23.根据权利要求6所述的存储器管理系统,其中所述存储器管理系统经配置以在第一虚拟存储器地址被存取的频繁性高于映射到第二物理存储器地址的第二虚拟存储器地址时,更新所述第二存储器翻译表以将所述第二多个虚拟存储器地址的所述第一虚拟存储器地址从所述第二多个物理存储器地址的第一物理存储器地址映射到第二物理存储器地址,其中:
第一存储器装置包括所述第一物理存储器地址;且
第二存储器装置包括所述第二物理存储器地址,其中所述第二存储器装置比所述第一存储器装置包括更高的速度或更长的耐久性、或同时包括更高的速度及更长的耐久性。
24.根据权利要求23所述的存储器管理系统,其中所述存储管理器系统经配置以:
将第一组数据从所述第一物理存储器地址移动到所述第二物理存储器地址;及将第二组数据从所述第二物理存储器地址移动到所述第一物理存储器地址。
25.一种计算机系统,其包括:
处理器;及
存储器系统,其通信地耦合到所述处理器,其中所述存储器系统包括:
第一存储器装置,其包括第一物理存储器地址,其中所述第一存储器装置为第一存储器类型;
第二存储器装置,其包括第二物理存储器地址,其中所述第二存储器装置为第二存储器类型;及
存储器管理系统,其包括控制单元,所述控制单元经配置以至少部分地基于第一存储器翻译表和第二存储器翻译表来管理所述第一存储器装置和所述第二存储器装置的操作,所述第一存储器翻译表和所述第二存储器翻译表将虚拟存储器地址映射到物理存储器地址,其中所述存储器管理系统经配置以至少部分基于所述第一存储器类型、所述第二存储器类型及关于存取虚拟存储器地址的频率的数据,将虚拟存储器地址的映射动态地从所述第一物理存储器地址改变到所述第二物理存储器地址。
26.根据权利要求25所述的系统,其中所述存储器管理系统经配置以至少部分地基于所述第一存储器装置的耐久性及所述第二存储器装置的耐久性动态地将所述虚拟存储器地址的映射改变到所述第二物理存储器地址。
27.根据权利要求25所述的系统,其中所述存储器管理系统经配置以至少部分地基于所述第一存储器装置的速度及所述第二存储器装置的速度动态地将所述虚拟存储器地址的映射改变到所述第二物理存储器地址。
CN201380038489.5A 2012-07-18 2013-07-09 用于层次型存储器系统的存储器管理 Active CN104487953B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/552,491 US9524248B2 (en) 2012-07-18 2012-07-18 Memory management for a hierarchical memory system
US13/552,491 2012-07-18
PCT/US2013/049753 WO2014014711A1 (en) 2012-07-18 2013-07-09 Memory management for a hierarchical memory system

Publications (2)

Publication Number Publication Date
CN104487953A CN104487953A (zh) 2015-04-01
CN104487953B true CN104487953B (zh) 2018-04-17

Family

ID=49947568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380038489.5A Active CN104487953B (zh) 2012-07-18 2013-07-09 用于层次型存储器系统的存储器管理

Country Status (7)

Country Link
US (4) US9524248B2 (zh)
EP (1) EP2875432B1 (zh)
JP (1) JP6367797B2 (zh)
KR (1) KR102144491B1 (zh)
CN (1) CN104487953B (zh)
TW (1) TWI515563B (zh)
WO (1) WO2014014711A1 (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9507563B2 (en) 2013-08-30 2016-11-29 Cavium, Inc. System and method to traverse a non-deterministic finite automata (NFA) graph generated for regular expression patterns with advanced features
US9904630B2 (en) 2014-01-31 2018-02-27 Cavium, Inc. Finite automata processing based on a top of stack (TOS) memory
US10002326B2 (en) * 2014-04-14 2018-06-19 Cavium, Inc. Compilation of finite automata based on memory hierarchy
US10110558B2 (en) * 2014-04-14 2018-10-23 Cavium, Inc. Processing of finite automata based on memory hierarchy
US9558143B2 (en) 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
US9501222B2 (en) * 2014-05-09 2016-11-22 Micron Technology, Inc. Protection zones in virtualized physical addresses for reconfigurable memory systems using a memory abstraction
JP6394062B2 (ja) * 2014-05-20 2018-09-26 富士通株式会社 情報処理装置およびバス制御方法
US9792227B2 (en) * 2014-08-19 2017-10-17 Samsung Electronics Co., Ltd. Heterogeneous unified memory
US9760488B2 (en) * 2014-12-01 2017-09-12 Macronix International Co., Ltd. Cache controlling method for memory system and cache system thereof
US10083131B2 (en) * 2014-12-11 2018-09-25 Ampere Computing Llc Generating and/or employing a descriptor associated with a memory translation table
US10769099B2 (en) 2014-12-30 2020-09-08 Micron Technology, Inc. Devices for time division multiplexing of state machine engine signals
WO2016109570A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Systems and devices for accessing a state machine
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
CN105808455B (zh) 2014-12-31 2020-04-28 华为技术有限公司 访问内存的方法、存储级内存及计算机系统
US10162762B2 (en) * 2015-04-22 2018-12-25 Arm Limited Managing memory based on hint data generated from mapping data entries
JP6429197B2 (ja) * 2015-05-12 2018-11-28 東芝情報システム株式会社 論理物理アドレス変換テーブルの制御方法及びメモリ装置
US10007435B2 (en) 2015-05-21 2018-06-26 Micron Technology, Inc. Translation lookaside buffer in memory
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
JP6485320B2 (ja) * 2015-10-23 2019-03-20 富士通株式会社 キャッシュメモリおよびキャッシュメモリの制御方法
KR102532581B1 (ko) * 2016-03-17 2023-05-17 에스케이하이닉스 주식회사 메모리 장치를 포함하는 메모리 시스템 및 그의 동작 방법
CN107807839B (zh) * 2016-09-09 2022-01-28 阿里巴巴集团控股有限公司 一种修改虚拟机内存数据的方法、装置及电子设备
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability
WO2018182473A1 (en) * 2017-03-31 2018-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Performance manager and method performed thereby for managing the performance of a logical server of a data center
US10503892B2 (en) * 2017-06-25 2019-12-10 Microsoft Technology Licensing, Llc Remote attestation for multi-core processor
US11102127B2 (en) 2018-04-22 2021-08-24 Mellanox Technologies Tlv Ltd. Load balancing among network links using an efficient forwarding scheme
US10649909B2 (en) * 2018-06-14 2020-05-12 Western Digital Technologies, Inc. Logical block addressing range collision crawler
TWI693516B (zh) * 2018-11-13 2020-05-11 群聯電子股份有限公司 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置
US10848458B2 (en) * 2018-11-18 2020-11-24 Mellanox Technologies Tlv Ltd. Switching device with migrated connection table
US11183266B2 (en) * 2019-06-26 2021-11-23 Micron Technology, Inc. Apparatuses and methods for repairing defective memory cells based on a specified error rate for certain memory cells
US10996975B2 (en) 2019-08-22 2021-05-04 Micron Technology, Inc. Hierarchical memory systems
US11494311B2 (en) * 2019-09-17 2022-11-08 Micron Technology, Inc. Page table hooks to memory types
US11650742B2 (en) * 2019-09-17 2023-05-16 Micron Technology, Inc. Accessing stored metadata to identify memory devices in which data is stored
US11269780B2 (en) * 2019-09-17 2022-03-08 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
US10963396B1 (en) 2019-09-17 2021-03-30 Micron Technology, Inc. Memory system for binding data to a memory namespace
KR102355374B1 (ko) 2019-09-27 2022-01-25 에스케이하이닉스 주식회사 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법
JP2021179672A (ja) * 2020-05-11 2021-11-18 ソニーセミコンダクタソリューションズ株式会社 メモリモジュール
US11422944B2 (en) * 2020-08-10 2022-08-23 Intel Corporation Address translation technologies

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL38603A (en) 1972-01-21 1975-10-15 Bar Lev H Automatic pattern recognition method and apparatus particularly for optically recognizing alphanumeric characters
JPS4891935A (zh) 1972-03-08 1973-11-29
US4011547A (en) 1972-07-17 1977-03-08 International Business Machines Corporation Data processor for pattern recognition and the like
GB1518093A (en) 1974-10-04 1978-07-19 Mullard Ltd Mark detection apparatus
JPS51112236A (en) 1975-03-28 1976-10-04 Hitachi Ltd Shape position recognizer unit
JPS5313840A (en) 1976-07-23 1978-02-07 Hitachi Ltd Analogy calculator
US4204193A (en) 1978-11-03 1980-05-20 International Business Machines Corporation Adaptive alignment for pattern recognition system
US4414685A (en) 1979-09-10 1983-11-08 Sternberg Stanley R Method and apparatus for pattern recognition and detection
US4748674A (en) 1986-10-07 1988-05-31 The Regents Of The University Of Calif. Pattern learning and recognition device
JPS63244152A (ja) * 1987-03-30 1988-10-11 Fujitsu Ltd 拡張記憶装置アクセス制御装置
US5014327A (en) 1987-06-15 1991-05-07 Digital Equipment Corporation Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns
US5216748A (en) 1988-11-30 1993-06-01 Bull, S.A. Integrated dynamic programming circuit
US6253307B1 (en) 1989-05-04 2001-06-26 Texas Instruments Incorporated Data processing device with mask and status bits for selecting a set of status conditions
JP2833062B2 (ja) 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5028821A (en) 1990-03-01 1991-07-02 Plus Logic, Inc. Programmable logic device with programmable inverters at input/output pads
US5377129A (en) 1990-07-12 1994-12-27 Massachusetts Institute Of Technology Particle interaction processing system
DE69029390T2 (de) 1990-09-15 1997-06-12 Ibm Programmierbare Schaltung für eine neurale Logik
US5287523A (en) 1990-10-09 1994-02-15 Motorola, Inc. Method for servicing a peripheral interrupt request in a microcontroller
IL100370A (en) 1990-12-24 1994-11-11 Ball Corp Method for analyzing integrated computer systems
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
JP3219826B2 (ja) * 1992-02-21 2001-10-15 日本電気株式会社 情報処理装置
US5300830A (en) 1992-05-15 1994-04-05 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback and exclusive external input lines for registered and combinatorial modes using a dedicated product term for control
US5331227A (en) 1992-05-15 1994-07-19 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback line and an exclusive external input line
US5291482A (en) 1992-07-24 1994-03-01 At&T Bell Laboratories High bandwidth packet switch
US5357512A (en) 1992-12-30 1994-10-18 Intel Corporation Conditional carry scheduler for round robin scheduling
US5825921A (en) 1993-03-19 1998-10-20 Intel Corporation Memory transfer apparatus and method useful within a pattern recognition system
US5459798A (en) 1993-03-19 1995-10-17 Intel Corporation System and method of pattern recognition employing a multiprocessing pipelined apparatus with private pattern memory
CA2145363C (en) 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
US20050251638A1 (en) 1994-08-19 2005-11-10 Frederic Boutaud Devices, systems and methods for conditional instructions
JP3345515B2 (ja) 1994-08-31 2002-11-18 アイワ株式会社 ピークシフト補正回路およびそれを使用した磁気記録媒体再生装置
US5615237A (en) 1994-09-16 1997-03-25 Transwitch Corp. Telecommunications framer utilizing state machine
JPH0887462A (ja) 1994-09-20 1996-04-02 Fujitsu Ltd ステートマシン及び通信制御方式
US5790531A (en) 1994-12-23 1998-08-04 Applied Digital Access, Inc. Method and apparatus for determining the origin of a remote alarm indication signal
US6279128B1 (en) 1994-12-29 2001-08-21 International Business Machines Corporation Autonomous system for recognition of patterns formed by stored data during computer memory scrubbing
US5794062A (en) 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
US5659551A (en) 1995-05-31 1997-08-19 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on
US5723984A (en) 1996-06-07 1998-03-03 Advanced Micro Devices, Inc. Field programmable gate array (FPGA) with interconnect encoding
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5754878A (en) 1996-03-18 1998-05-19 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having pattern recognition detector that uses table for translating instruction sequences intended to perform DSP function into DSP macros
JPH10111862A (ja) 1996-08-13 1998-04-28 Fujitsu Ltd 再帰型ニューラルネットワークに基づく時系列解析装置および方法
JPH1069459A (ja) 1996-08-29 1998-03-10 Hitachi Ltd シリアルインタフェース制御装置およびその制御方法
US6034963A (en) 1996-10-31 2000-03-07 Iready Corporation Multiple network protocol encoder/decoder and data processor
JP2940496B2 (ja) 1996-11-05 1999-08-25 日本電気株式会社 パタンマッチング符号化装置及び方法
US6317427B1 (en) 1997-04-24 2001-11-13 Cabletron Systems, Inc. Method and apparatus for adaptive port buffering
US6011407A (en) 1997-06-13 2000-01-04 Xilinx, Inc. Field programmable gate array with dedicated computer bus interface and method for configuring both
US6195150B1 (en) 1997-07-15 2001-02-27 Silverbrook Research Pty Ltd Pseudo-3D stereoscopic images and output device
US6097212A (en) 1997-10-09 2000-08-01 Lattice Semiconductor Corporation Variable grain architecture for FPGA integrated circuits
US6041405A (en) 1997-12-18 2000-03-21 Advanced Micro Devices, Inc. Instruction length prediction using an instruction length pattern detector
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6219776B1 (en) 1998-03-10 2001-04-17 Billions Of Operations Per Second Merged array controller and processing element
EP0943995A3 (en) 1998-03-20 2000-12-06 Texas Instruments Incorporated Processor having real-time external instruction insertion for debug functions without a debug monitor
US6151644A (en) 1998-04-17 2000-11-21 I-Cube, Inc. Dynamically configurable buffer for a computer network
US6052766A (en) 1998-07-07 2000-04-18 Lucent Technologies Inc. Pointer register indirectly addressing a second register in the processor core of a digital processor
US9195784B2 (en) 1998-08-31 2015-11-24 Cadence Design Systems, Inc. Common shared memory in a verification system
US7430171B2 (en) 1998-11-19 2008-09-30 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US7899052B1 (en) 1999-01-27 2011-03-01 Broadcom Corporation Memory structure for resolving addresses in a packet-based network switch
US6412057B1 (en) * 1999-02-08 2002-06-25 Kabushiki Kaisha Toshiba Microprocessor with virtual-to-physical address translation using flags
US6636483B1 (en) 1999-02-25 2003-10-21 Fairchild Semiconductor Corporation Network switch with zero latency flow control
US6317849B1 (en) 1999-04-28 2001-11-13 Intel Corporation Method and apparatus for controlling available capabilities of a device
JP2000347708A (ja) 1999-06-02 2000-12-15 Nippon Telegr & Teleph Corp <Ntt> ニューラルネットよる動的システムの制御方法及び装置及びニューラルネットよる動的システムの制御プログラムを格納した記憶媒体
US6880087B1 (en) 1999-10-08 2005-04-12 Cisco Technology, Inc. Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system
AU2574501A (en) 1999-11-24 2001-06-04 Z-Force Corporation Configurable state machine driver and methods of use
US6640262B1 (en) 1999-12-20 2003-10-28 3Com Corporation Method and apparatus for automatically configuring a configurable integrated circuit
US6614703B2 (en) 2000-01-13 2003-09-02 Texas Instruments Incorporated Method and system for configuring integrated systems on a chip
US6625740B1 (en) 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
US7080359B2 (en) 2002-01-16 2006-07-18 International Business Machines Corporation Stack unique signatures for program procedures and methods
US6240003B1 (en) 2000-05-01 2001-05-29 Micron Technology, Inc. DRAM content addressable memory using part of the content as an address
US6977897B1 (en) 2000-05-08 2005-12-20 Crossroads Systems, Inc. System and method for jitter compensation in data transfers
US6510508B1 (en) * 2000-06-15 2003-01-21 Advanced Micro Devices, Inc. Translation lookaside buffer flush filter
US6476636B1 (en) 2000-09-02 2002-11-05 Actel Corporation Tileable field-programmable gate array architecture
US6888371B2 (en) 2001-10-29 2005-05-03 Leopard Logic, Inc. Programmable interface for field programmable gate array cores
US7333580B2 (en) 2002-01-28 2008-02-19 Broadcom Corporation Pipelined parallel processing of feedback loops in a digital circuit
US6925510B2 (en) 2002-02-22 2005-08-02 Winbond Electronics, Corp. Peripheral or memory device having a combined ISA bus and LPC bus
US7146643B2 (en) 2002-10-29 2006-12-05 Lockheed Martin Corporation Intrusion detection accelerator
JP4199519B2 (ja) * 2002-11-05 2008-12-17 パナソニック株式会社 メモリ管理装置及びメモリ管理方法
US7349416B2 (en) 2002-11-26 2008-03-25 Cisco Technology, Inc. Apparatus and method for distributing buffer status information in a switching fabric
US7292572B2 (en) 2002-12-11 2007-11-06 Lsi Corporation Multi-level register bank based configurable ethernet frame parser
US7089352B2 (en) 2002-12-23 2006-08-08 Micron Technology, Inc. CAM modified to be used for statistic calculation in network switches and routers
US6944710B2 (en) 2002-12-30 2005-09-13 Micron Technology, Inc. Multiple category CAM
US6880146B2 (en) 2003-01-31 2005-04-12 Hewlett-Packard Development Company, L.P. Molecular-wire-based restorative multiplexer, and method for constructing a multiplexer based on a configurable, molecular-junction-nanowire crossbar
US7305047B1 (en) 2003-03-12 2007-12-04 Lattice Semiconductor Corporation Automatic lane assignment for a receiver
US7366352B2 (en) 2003-03-20 2008-04-29 International Business Machines Corporation Method and apparatus for performing fast closest match in pattern recognition
CA2526467C (en) 2003-05-20 2015-03-03 Kagutech Ltd. Digital backplane recursive feedback control
WO2004104841A1 (ja) 2003-05-21 2004-12-02 Fujitsu Limited アドレス変換バッファの電力制御方法及びその装置
US7010639B2 (en) 2003-06-12 2006-03-07 Hewlett-Packard Development Company, L.P. Inter integrated circuit bus router for preventing communication to an unauthorized port
US6906938B2 (en) 2003-08-15 2005-06-14 Micron Technology, Inc. CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
US7117290B2 (en) * 2003-09-03 2006-10-03 Advanced Micro Devices, Inc. MicroTLB and micro tag for reducing power in a processor
DE102004045527B4 (de) 2003-10-08 2009-12-03 Siemens Ag Konfigurierbare Logikschaltungsanordnung
US7849119B2 (en) 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7860915B2 (en) 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7243165B2 (en) 2004-01-14 2007-07-10 International Business Machines Corporation Parallel pattern detection engine
US7487542B2 (en) 2004-01-14 2009-02-03 International Business Machines Corporation Intrusion detection using a network processor and a parallel pattern detection engine
GB0415850D0 (en) 2004-07-15 2004-08-18 Imagination Tech Ltd Memory management system
US7716455B2 (en) 2004-12-03 2010-05-11 Stmicroelectronics, Inc. Processor with automatic scheduling of operations
US7176717B2 (en) 2005-01-14 2007-02-13 Velogix, Inc. Programmable logic and routing blocks with dedicated lines
US7358761B1 (en) 2005-01-21 2008-04-15 Csitch Corporation Versatile multiplexer-structures in programmable logic using serial chaining and novel selection schemes
US7392229B2 (en) 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
US7499464B2 (en) 2005-04-06 2009-03-03 Robert Ayrapetian Buffered crossbar switch with a linear buffer to port relationship that supports cells and packets of variable size
US7672529B2 (en) 2005-05-10 2010-03-02 Intel Corporation Techniques to detect Gaussian noise
US7804719B1 (en) 2005-06-14 2010-09-28 Xilinx, Inc. Programmable logic block having reduced output delay during RAM write processes when programmed to function in RAM mode
US7276934B1 (en) 2005-06-14 2007-10-02 Xilinx, Inc. Integrated circuit with programmable routing structure including diagonal interconnect lines
US20080126690A1 (en) 2006-02-09 2008-05-29 Rajan Suresh N Memory module with memory stack
US7376782B2 (en) 2005-06-29 2008-05-20 Intel Corporation Index/data register pair for indirect register access
FR2891075B1 (fr) 2005-09-21 2008-04-04 St Microelectronics Sa Circuit de memoire pour automate de reconnaissance de caracteres de type aho-corasick et procede de memorisation de donnees dans un tel circuit
US7913255B2 (en) * 2005-10-20 2011-03-22 Qualcomm Incorporated Background thread processing in a multithread digital signal processor
US7360063B2 (en) 2006-03-02 2008-04-15 International Business Machines Corporation Method for SIMD-oriented management of register maps for map-based indirect register-file access
JP2007304747A (ja) * 2006-05-10 2007-11-22 Nec Corp 計算機システム及びメモリアクセス方法
US7512634B2 (en) 2006-06-05 2009-03-31 Tarari, Inc. Systems and methods for processing regular expressions
US7725510B2 (en) 2006-08-01 2010-05-25 Alcatel-Lucent Usa Inc. Method and system for multi-character multi-pattern pattern matching
JP2008090554A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 情報処理装置、制御装置およびメモリ管理方法
US8065249B1 (en) 2006-10-13 2011-11-22 Harris Curtis L GPSTP with enhanced aggregation functionality
US7774286B1 (en) 2006-10-24 2010-08-10 Harris Curtis L GPSTP with multiple thread functionality
WO2008055272A2 (en) * 2006-11-04 2008-05-08 Virident Systems, Inc. Integrating data from symmetric and asymmetric memory
US7890923B2 (en) 2006-12-01 2011-02-15 International Business Machines Corporation Configurable pattern detection method and apparatus
US8051022B2 (en) 2006-12-08 2011-11-01 Pandya Ashish A Embedded programmable intelligent search memory (PRISM) that simultaneously performs regular expression based search and signature pattern based search
KR100866604B1 (ko) 2007-01-23 2008-11-03 삼성전자주식회사 전원제어 장치 및 전원제어 방법
US7797521B2 (en) 2007-04-12 2010-09-14 International Business Machines Corporation Method, system, and computer program product for path-correlated indirect address predictions
KR20080097573A (ko) 2007-05-02 2008-11-06 삼성전자주식회사 가상 메모리 접근 방법
US20080320053A1 (en) 2007-06-21 2008-12-25 Michio Iijima Data management method for accessing data storage area based on characteristic of stored data
WO2009048707A1 (en) * 2007-10-12 2009-04-16 Rambus Inc. Managing flash memory in computer systems
US8417893B2 (en) 2008-02-04 2013-04-09 Apple Inc. Memory mapping techniques
US7886089B2 (en) 2008-02-13 2011-02-08 International Business Machines Corporation Method, system and computer program product for enhanced shared store buffer management scheme for differing buffer sizes with limited resources for optimized performance
US20110004578A1 (en) 2008-02-22 2011-01-06 Michinari Momma Active metric learning device, active metric learning method, and program
US7735045B1 (en) 2008-03-12 2010-06-08 Xilinx, Inc. Method and apparatus for mapping flip-flop logic onto shift register logic
US8787060B2 (en) * 2010-11-03 2014-07-22 Netlist, Inc. Method and apparatus for optimizing driver load in a memory package
US8051271B2 (en) 2008-07-01 2011-11-01 Arm Limited Translation of virtual to physical addresses
US8015530B1 (en) 2008-08-05 2011-09-06 Xilinx, Inc. Method of enabling the generation of reset signals in an integrated circuit
US8938590B2 (en) 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
US8209521B2 (en) 2008-10-18 2012-06-26 Micron Technology, Inc. Methods of indirect register access including automatic modification of a directly accessible address register
US9639493B2 (en) 2008-11-05 2017-05-02 Micron Technology, Inc. Pattern-recognition processor with results buffer
US7970964B2 (en) 2008-11-05 2011-06-28 Micron Technology, Inc. Methods and systems to accomplish variable width data input
US7917684B2 (en) 2008-11-05 2011-03-29 Micron Technology, Inc. Bus translator
US8402188B2 (en) 2008-11-10 2013-03-19 Micron Technology, Inc. Methods and systems for devices with a self-selecting bus decoder
US20100118425A1 (en) 2008-11-11 2010-05-13 Menachem Rafaelof Disturbance rejection in a servo control loop using pressure-based disc mode sensor
US10007486B2 (en) 2008-12-01 2018-06-26 Micron Technology, Inc. Systems and methods to enable identification of different data sets
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US9348784B2 (en) 2008-12-01 2016-05-24 Micron Technology, Inc. Systems and methods for managing endian mode of a device
US9164945B2 (en) 2008-12-01 2015-10-20 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
DE102008060719B4 (de) 2008-12-05 2018-09-20 Siemens Healthcare Gmbh Verfahren zur Steuerung des Aufnahmebetriebs einer Magnetresonanzeinrichtung bei der Aufnahme von Magnetresonanzdaten eines Patienten sowie zugehörige Magnetresonanzeinrichtung
US8966181B2 (en) * 2008-12-11 2015-02-24 Seagate Technology Llc Memory hierarchy with non-volatile filter and victim caches
US20100169602A1 (en) * 2008-12-29 2010-07-01 Jared E Hulbert Method and Apparatus for Efficient Memory Placement
US8140780B2 (en) 2008-12-31 2012-03-20 Micron Technology, Inc. Systems, methods, and devices for configuring a device
US8214672B2 (en) 2009-01-07 2012-07-03 Micron Technology, Inc. Method and systems for power consumption management of a pattern-recognition processor
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US8281395B2 (en) 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8843523B2 (en) 2009-01-12 2014-09-23 Micron Technology, Inc. Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine
US8180981B2 (en) 2009-05-15 2012-05-15 Oracle America, Inc. Cache coherent support for flash in a memory hierarchy
US8146040B1 (en) 2009-06-11 2012-03-27 Xilinx, Inc. Method of evaluating an architecture for an integrated circuit device
US20100325352A1 (en) 2009-06-19 2010-12-23 Ocz Technology Group, Inc. Hierarchically structured mass storage device and method
US9836555B2 (en) 2009-06-26 2017-12-05 Micron Technology, Inc. Methods and devices for saving and/or restoring a state of a pattern-recognition processor
US9208084B2 (en) * 2009-06-29 2015-12-08 Oracle America, Inc. Extended main memory hierarchy having flash memory for page fault handling
TWI460588B (zh) * 2009-07-17 2014-11-11 Toshiba Kk Memory management device and memory information processing device
US8159900B2 (en) 2009-08-06 2012-04-17 Unisyn Medical Technologies, Inc. Acoustic system quality assurance and testing
US8543863B2 (en) * 2009-11-18 2013-09-24 Microsoft Corporation Efficiency of hardware memory access using dynamically replicated memory
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US9501705B2 (en) 2009-12-15 2016-11-22 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US8489534B2 (en) 2009-12-15 2013-07-16 Paul D. Dlugosch Adaptive content inspection
US20110161620A1 (en) 2009-12-29 2011-06-30 Advanced Micro Devices, Inc. Systems and methods implementing shared page tables for sharing memory resources managed by a main operating system with accelerator devices
US20110208900A1 (en) 2010-02-23 2011-08-25 Ocz Technology Group, Inc. Methods and systems utilizing nonvolatile memory in a computer system main memory
GB2478727B (en) 2010-03-15 2013-07-17 Advanced Risc Mach Ltd Translation table control
US8914581B2 (en) * 2010-05-20 2014-12-16 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accessing cache memory
US8766666B2 (en) 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
US8601013B2 (en) 2010-06-10 2013-12-03 Micron Technology, Inc. Analyzing data using a hierarchical structure
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8379350B2 (en) 2010-06-30 2013-02-19 Tdk Corporation CPP-type magnetoresistive element including spacer layer
US8335908B2 (en) 2010-07-01 2012-12-18 Arm Limited Data processing apparatus for storing address translations
US8495318B2 (en) * 2010-07-26 2013-07-23 International Business Machines Corporation Memory page management in a tiered memory system
US8294490B1 (en) 2010-10-01 2012-10-23 Xilinx, Inc. Integrated circuit and method of asynchronously routing data in an integrated circuit
US8726253B2 (en) 2011-01-25 2014-05-13 Micron Technology, Inc. Method and apparatus for compiling regular expressions
US8843911B2 (en) 2011-01-25 2014-09-23 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
WO2012103148A2 (en) 2011-01-25 2012-08-02 Micron Technology, Inc. Unrolling quantifications to control in-degree and/or out degree of automaton
KR101551045B1 (ko) 2011-01-25 2015-09-07 마이크론 테크놀로지, 인크. 요소 이용을 위한 상태 그룹화
US9443156B2 (en) 2011-12-15 2016-09-13 Micron Technology, Inc. Methods and systems for data analysis in a state machine
US8593175B2 (en) 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic in a state machine lattice
US8782624B2 (en) 2011-12-15 2014-07-15 Micron Technology, Inc. Methods and systems for detection in a state machine
US8680888B2 (en) 2011-12-15 2014-03-25 Micron Technologies, Inc. Methods and systems for routing in a state machine
US8648621B2 (en) 2011-12-15 2014-02-11 Micron Technology, Inc. Counter operation in a state machine lattice
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US8536896B1 (en) 2012-05-31 2013-09-17 Xilinx, Inc. Programmable interconnect element and method of implementing a programmable interconnect element
US9389841B2 (en) 2012-07-18 2016-07-12 Micron Technology, Inc. Methods and systems for using state vector data in a state machine engine
US9304968B2 (en) 2012-07-18 2016-04-05 Micron Technology, Inc. Methods and devices for programming a state machine engine
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9235798B2 (en) 2012-07-18 2016-01-12 Micron Technology, Inc. Methods and systems for handling data received by a state machine engine
US9063532B2 (en) 2012-08-31 2015-06-23 Micron Technology, Inc. Instruction insertion in state machine engines
US9075428B2 (en) 2012-08-31 2015-07-07 Micron Technology, Inc. Results generation for state machine engines
US9501131B2 (en) 2012-08-31 2016-11-22 Micron Technology, Inc. Methods and systems for power management in a pattern recognition processing system
KR102029055B1 (ko) 2013-02-08 2019-10-07 삼성전자주식회사 고차원 데이터의 시각화 방법 및 장치
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US10007435B2 (en) * 2015-05-21 2018-06-26 Micron Technology, Inc. Translation lookaside buffer in memory

Also Published As

Publication number Publication date
US9524248B2 (en) 2016-12-20
US10089242B2 (en) 2018-10-02
WO2014014711A1 (en) 2014-01-23
US20140025923A1 (en) 2014-01-23
TW201411345A (zh) 2014-03-16
KR102144491B1 (ko) 2020-08-18
EP2875432B1 (en) 2021-03-24
JP6367797B2 (ja) 2018-08-01
US20210042238A1 (en) 2021-02-11
EP2875432A1 (en) 2015-05-27
KR20150036165A (ko) 2015-04-07
CN104487953A (zh) 2015-04-01
JP2015522886A (ja) 2015-08-06
EP2875432A4 (en) 2016-03-23
US20170083452A1 (en) 2017-03-23
TWI515563B (zh) 2016-01-01
US20180357177A1 (en) 2018-12-13
US10831672B2 (en) 2020-11-10

Similar Documents

Publication Publication Date Title
CN104487953B (zh) 用于层次型存储器系统的存储器管理
US10402331B2 (en) Systems and methods for implementing a tag-less shared cache and a larger backing cache
CN102498477B (zh) Tlb预取
US9384134B2 (en) Persistent memory for processor main memory
Gupta et al. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings
Ma et al. LazyFTL: A page-level flash translation layer optimized for NAND flash memory
US8935484B2 (en) Write-absorbing buffer for non-volatile memory
US20130091331A1 (en) Methods, apparatus, and articles of manufacture to manage memory
US20060212654A1 (en) Method and apparatus for intelligent instruction caching using application characteristics
Wang et al. Observational wear leveling: an efficient algorithm for flash memory management
CN109815165A (zh) 用于存储和处理高效压缩高速缓存行的系统和方法
US8468297B2 (en) Content addressable memory system
US20110055482A1 (en) Shared cache reservation
Jin et al. Write-aware buffer management policy for performance and durability enhancement in NAND flash memory
TW201202929A (en) Apparatus and methods to reduce duplicate line fills in a victim cache
US9760488B2 (en) Cache controlling method for memory system and cache system thereof
Wu et al. ZeroCost-LLC: Shared LLCs at No Cost to WCL
Mittal et al. Cache performance improvement using software-based approach

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant