管理异构存储器的方法和系统的制作方法

文档序号:8258376阅读:244来源:国知局
管理异构存储器的方法和系统的制作方法
【技术领域】
[0001]本发明构思的实施例涉及存储器管理技术,而且更具体地,涉及管理异构存储器的方法和/或系统。
【背景技术】
[0002]存储器管理是指对计算机可用的存储器空间的管理。
[0003]最简单的类型的存储器管理是当程序请求时,分配用于程序使用的存储器的区域。当所分配的存储器的区域不再需要时,存储器管理可以释放所述分配,以使得该区域可以被再次使用。主存储器的管理对计算机系统而言是必不可少的。

【发明内容】

[0004]本发明技术构思的目的是提供管理异构存储器的方法和执行该方法的系统,该方法可以通过使用每个异构存储器的硬件属性把要被已执行的应用使用的存储器区域分配到异构存储器之一来改善性能和降低性能偏差。
[0005]系统包括处理器以及耦接到存储器的第一存储器和第二存储器。第一存储器和第二存储器具有硬件属性,诸如带宽、等待时间和/或功耗,其中第一存储器的硬件属性的第一值不同于第二存储器的硬件属性的第二值。系统还包括存储器管理模块,被配置为接收存储器分配请求。存储器管理模块被配置为响应于存储器分配请求,基于第一存储器和第二存储器的硬件属性的值来分配第一存储器或第二存储器中的存储器空间。
[0006]第一存储器的带宽和功耗二者的值都可以不同于第二存储器的带宽和功耗的值
[0007]系统还可以包括控制第一存储器的第一存储器控制器和控制第二存储器的第二存储器控制器。
[0008]第一存储器和第二存储器可以连同处理器一起在单一芯片中实现。
[0009]存储器分配请求可以指定期望的硬件属性等级,而且存储器管理模块可以被配置为基于存储器分配请求中指定的期望的硬件属性等级来分配第一存储器或第二存储器中的存储器空间。
[0010]硬件属性可以包括带宽、功耗和等待时间之一。
[0011]存储器管理模块可以被配置为基于发出存储器分配请求的应用的应用类型来分配第一存储器或第二存储器中的存储器空间。
[0012]存储器管理模块可以被配置为响应于存储器分配请求,基于第一存储器和第二存储器的多个硬件属性的值来分配第一存储器或第二存储器中的存储器空间,而且多个硬件属性可以包括第一存储器和第二存储器的带宽、功耗和/或等待时间。
[0013]存储器管理模块可以被配置为响应于存储器分配请求,基于第一存储器和第二存储器的硬件属性的值并且基于发出存储器分配请求的应用的优先级等级类型来分配第一存储器或第二存储器中的存储器空间。
[0014]存储器管理模块可以被配置为,当响应于来自具有第一优先级的第一应用的存储器分配请求确定存储器空间应该在第一存储器中分配,并且确定在第一存储器中可能没有足够的空闲存储器空间以满足来自第一应用的存储器分配请求时,将第一存储器中已经被分配到具有可以低于第一优先级的第二优先级的第二应用的缓冲区迁移到第二存储器,而且此后响应于存储器分配请求将第一存储器中的存储器空间分配到第一应用。
[0015]存储器管理模块还可以被配置为,随后当用于缓冲区的足够存储器在第一存储器变为可用时将分配到第二应用的缓冲区迁移回到第一存储器。
[0016]存储器管理模块可以被配置为,当响应于来自具有第一优先级的第一应用的存储器分配请求确定存储器空间应该在第一存储器中分配,并且确定在第一存储器中可能没有足够的空闲存储器空间以满足来自第一应用的存储器分配请求时,取消具有可以低于第一优先级的第二优先级的并且可以具有在第一存储器中分配的存储器空间的第二应用,而且此后响应于存储器分配请求将第一存储器中的存储器空间分配到第一应用。
[0017]第一存储器、第二存储器和处理器可以在不同的半导体芯片中提供。
[0018]第一存储器和处理器可以在第一封装中提供,而且第二存储器可以在可以不同于第一封装的第二封装中提供。
[0019]第一存储器可以通过硅通孔(TSV)互连耦接到处理器。
[0020]处理器和第一存储器可以在层叠封装配置中提供。
[0021]第一存储器可以具有第一带宽,第二存储器可以具有第二带宽,其中第一带宽可以高于第二带宽。
[0022]第一存储器可以具有第一等待时间,而且第二存储器可以具有第二等待时间,其中第一等待时间可以高于第二等待时间。
[0023]第一存储器可以具有第一功耗等级,而且第二存储器可以具有可以不同于第一功耗等级的第二功耗等级,而且存储器管理模块可以被配置为确定系统的功耗的等级,并且响应于存储器分配请求,基于系统的功耗的等级、第一功耗等级和第二功耗等级来分配第一存储器或第二存储器中的存储器空间。
[0024]存储器管理模块可以存储描述系统的硬件配置的硬件特性信息,而且存储器管理模块还可以被配置为响应于存储器分配请求,基于硬件特性信息来分配第一存储器或第二存储器中的存储器空间。
【附图说明】
[0025]通过下面结合附图对实施例的描述,本发明总体构思的这些和/或其他方面和优点将变得明确且更容易理解,在附图中:
[0026]图1是根据本发明构思的示例性实施例的包括异构存储器的系统的框图;
[0027]图2是管理图1所示的系统的存储器的方法的示例性实施例的概念图;
[0028]图3是管理图1所示的系统的存储器的方法的另一示例性实施例的概念图;
[0029]图4是示出分配图1所示的系统的存储器区域的方法的流程图;
[0030]图5A是描述根据图1所示的系统中的硬件属性信息分配存储器区域的方法的示例性实施例的流程图;
[0031]图5B是描述根据图1所示的系统中的硬件属性信息分配存储器区域的方法的另一示例性实施例的流程图;
[0032]图5C是描述根据图1所示的系统中的硬件属性信息分配存储器区域的方法的又一示例性实施例的流程图;
[0033]图6是示出在图1所示的系统中执行的迁移操作的概念图;
[0034]图7是示出在图1所示的系统中执行的取消操作的概念图;
[0035]图8是示出图6和图7的迁移操作和取消操作的流程图;
[0036]图9到图12是示出现有技术中应用的启动时间的偏差和根据本发明构思的示例性实施例的使用存储器管理程序的应用的启动时间的偏差;
[0037]图13是示出图1所示的系统的结构的剖面图的示例性实施例;
[0038]图14是示出图1所示的系统的结构的剖面图的另一示例性实施例;
[0039]图15是示出图1所示的系统的结构的剖面图的又一示例性实施例;以及
[0040]图16A和图16B是示出异构存储器的等待时间和带宽的图表。
【具体实施方式】
[0041]异构存储器是具有不同操作特性的存储器(例如,快闪存储器、DRAM等)。尽管各种不同类型的计算系统可以支持不同类型的存储器,但是现有的存储器管理方案在实现存储器分配请求(诸如缓冲区分配请求)时可能无法区分可用存储器的类型。因此,缓冲区分配请求可能导致从存储器区的整个未使用的部分内的任何地方分配存储器。即,在包括具有不同的特性的两种不同类型的存储器的系统中,缓冲区分配请求可以从两种存储器的任何部分得到满足。在这种情况下,来自应用或驱动程序(driver)的缓冲区分配请求可能无法被分配到最适合于应用或驱动程序将要对其进行访问的那些类型的存储器的存储器区,这会降低系统的整体性能。
[0042]本发明构思的实施例提供了考虑存储器的特性在不同类型的存储器中分配空间的系统和/或方法。
[0043]现在将参照附图在下文中更充分地描述本发明构思的实施例。然而,本发明构思可以以许多不同的形式具体实现并且不应被解释为仅限于本文所阐述的实施例。而是,提供这些实施例以使得本公开将是彻底和完整的,并且将向本领域技术人员充分地传达本发明概念的范围。相同的数字始终指代相同的元素。
[0044]应该理解,尽管术语第一、第二等等在本文中可以被用来描述各种元件,但是这些元件不应受这些术语限制。这些术语仅用于将一个元件与其余元件区分开。例如,第一元件可以称作第二元件,以及类似地,第二元件可以称作第一元件,而不脱离本发明构思的范围。如本文所使用的,术语“和/或”包括相关联的所列项的一个或多个的任意及所有组合。
[0045]本文所使用的术语仅用于描述特定实施例的目的,而不旨在进行限制。如本文所使用的,单数形式“一”、“一个”、“所述”旨在同样包括复数形式,除非上下文清楚给出其他指示。还应该理解,术语“包括”、“包含”、“具有”和/或“含有”当在本文使用时指定所陈述特征、整体、步骤、操作、元件和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组的存在或添加。
[0046]除非另有规定,否则本文所使用的所有术语(包括技术和科学术语)具有与本发明构思所属领域的普通技术人员所普遍理解的含义相同的含义。还应该理解,本文所使用的术语应该被解释为具有与本说明书和相关领域的上下文中的含义一致的含义,而不应从理想化或者过分形式的意义上解释,除非这里明确如此定义。
[0047]图1是根据本发明构思的一些实施例的包括异构存储器的系统的框图。参照图1,系统100可以被在个人计算机(PC)、服务器或便携式电子设备(或移动设备)中具体实现。
[0048]便携式电子设备可以以膝上型计算机、移动电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静态相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航设备和便携式导航设备(PND)、手持式游戏机、移动互联网设备(MID)、可穿戴计算机或电子书具体实现。
[0049]系统100包括控制电路200、第一存储器300、第二存储器400、第三存储器500和显示器600。
[0050]控制电路200可以控制第一存储器300、第二存储器400、第三存储器500和显示器600的操作。根据示例性实施例,控制电路200可以在诸如应用处理器(AP)、片上系统(SoC)、硬件或印刷电路板(PCB)的集成电路(IC)中具体实现。当系统100在便携式电子设备中具体实现时,控制电路200可以在移动AP中具体实现。
[0051]控制电路200包括总线201、中央处理单元(CPU) 210、第一存储器控制器220、第二存储器控制器230、第三存储器控制器240、多个多媒体硬件知识产权(IP) 250-1和250-2、以及显示控制器260。
[0052]CPU 210可以经由总线201控
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1