计算机系统和存储器管理的方法

文档序号:6533807阅读:159来源:国知局
计算机系统和存储器管理的方法
【专利摘要】提供了计算机系统和用于计算机系统中的存储器管理的方法。计算机系统包括集成电路,其中该集成电路包括处理单元和耦合到处理单元的存储器控制器。存储器控制器包括被配置为将存储器控制器分别与第一存储器和第二存储器耦合的第一接口和第二接口。第二接口与第一接口分离。该计算机系统包括为第一存储器类型的第一存储器,该第一存储器通过第一接口耦合到存储器控制器。该计算机系统还包括通过第二接口耦合到存储器控制器的第二存储器,其中第二存储器是第二存储器类型的,该第二存储器类型具有与第一存储器类型的功率消耗特性不同的功率消耗特性。
【专利说明】计算机系统和存储器管理的方法
[0001]相关申请的交叉引用
[0002]本申请要求于2012年5月8日递交的名称为“⑶317?01现8^81X172 ?“1?0咖3撤VI吣11X20 11?28 0? 001? 30狀1”的美国临时专利申请61/644,359以及于2012年10月 24 日递交的名称为“?:03!7?0呢I? 8^81X172咖3 撤VI吣 11X20 11?28 0? 00尺30狀1”的美国临时专利申请61/717,884的优先权,这两个申请以引用的方式全部并入于此。

【技术领域】
[0003]在此描述的技术总体上涉及计算机系统和存储器管理的方法,并且更特别地涉及使用多个不同存储器类型的组合的计算机架构。

【背景技术】
[0004]同步动态随机存取存储器(如狀的是与计算机系统的系统总线同步的动态随机存取存储器①狀的。30狀1利用同步接口,该同步接口使得30狀1在对控制输入做出响应之前等待时钟信号,因此使30狀1与计算机系统的系统总线同步。30狀1模块的数据存储区被划分为若干个组,从而允许30狀1模块同时处理在若干个存储器组之间交织的若干个存储器存取命令。使用多个组允许30狀1具有比异步0狀1更高的数据存取速率。存在市场上可得的若干类型(例如,族)的30狀1,包括低功率001?(1^00? (例如,移动00?以及双倍数据速率同步动态随机存取存储器(008 30狀的。不同类型的30狀1在某些方面中相互不同(例如,速度、功率消耗和价格等等
[0005]以上描述作为本领域中相关技术的一般概述而被呈现,并且不应当被解释为承认其包含的任何信息构成对本专利申请的现有技术。


【发明内容】

[0006]提供了计算机系统和用于计算机系统中的存储器管理的方法的示例。一种计算机系统包括集成电路,其中该集成电路包括处理单元和耦合到处理单元的存储器控制器。存储器控制器包括被配置为将存储器控制器分别与第一存储器和第二存储器耦合的第一接口和第二接口。第二接口与第一接口分离。该计算机系统包括为第一存储器类型的第一存储器,该第一存储器通过第一接口耦合到存储器控制器。该计算机系统还包括通过第二接口耦合到存储器控制器的第二存储器,其中第二存储器是第二存储器类型的,该第二存储器类型具有与第一存储器类型的功率消耗特性不同的功率消耗特性。
[0007]作为另一示例,一种计算机系统中的存储器管理方法包括确定操作系统的操作模式。如果操作模式是第一模式,则关断为第一存储器类型的第一存储器。该第一存储器与第二存储器是不同的存储器类型的,其中第二存储器是第二存储器类型的,该第二存储器类型具有与第一存储器类型的功率消耗特性的不同的功率消耗特性。如果操作模式不是第一模式,则做出关于将数据存储到第一存储器还是第二存储器的确定。该确定是基于在计算机系统上被执行的过程的存储器需求;过程的类型,该过程的类型指示由过程操纵的数据的类型或者由过程生成的数据的类型;数据在过程完成后是否被留存;或者数据在操作系统的第一模式期间是否被留存。

【专利附图】

【附图说明】
[0008]图1描绘了包括耦合到集成电路的第一存储器和第二存储器的示例计算机架构。
[0009]图2描绘了另一示例计算机架构,包括耦合到应用处理器或者蜂窝处理器的一个或者多个低功率001?同步动态随机存取存储器封装体上封装体/分立器件以及一个或者多个双倍数据速率同步动态随机存取存储器器件。
[0010]图3描绘了包括关于在手持式设备中使用的应用处理器或者蜂窝处理器和00尺801^1的示例使用情况的信息的表格。
[0011]图4是描绘了用于包括多个不同类型的001? 30狀1的计算机架构的软件管理方法的示例逻辑的流程图。
[0012]图5描绘了包括分别耦合到第一存储器和第二存储器的第一存储器控制器和第二存储器控制器的示例计算机架构。
[0013]图6是描绘了根据本公开内容的实施例的用于计算机系统中的存储器管理的示例方法的步骤的流程图。

【具体实施方式】
[0014]图1描绘了包括耦合到集成电路106的第一存储器102和第二存储器104的示例计算机架构100。第一存储器102和第二存储器104在集成电路106外部并且分别经由第一接口 110和第二接口 112耦合到集成电路106的存储器控制器108。第一接口 110和第二接口 112彼此分离,并且在一个实施例中,它们与存储器控制器108分离或者例如被物理地集成到存储器控制器108中。第一存储器102例如包括一个或者多个001?2、001?3、001?31、00尺31或者00财30狀1器件,并且第二存储器104例如包括一个或者多个1?001?2、1?00尺3、1?00财、移动001或者宽1/0 30狀1器件。集成电路106还包括处理单元114。在一个实施例中,处理单元114是能够处理通过内部或者外部中断被驱动的任务的通用处理器。在集成电路106的一个实施例中,处理单元114连接到各种输入和输出设备(例如,键盘、触摸板、显示设备、扬声器等
[0015]尽管示例计算机架构100将集成电路106描绘为包括单个处理单元114,然而在其他实施例中,多个处理核被用来执行计算机程序的指令。此外,尽管示例计算机架构100描绘了单个存储器控制器108被耦合到第一存储器102以及第二存储器104,然而在其他实施例中,存储器102、104中的每一个被耦合到分离的存储器控制器。在一个实施例中,集成电路106是将处理单元114、存储器控制器108、接口 110、112和各种其他部件集成在单个芯片中的片上系统(即,500。在一个实施例中,集成电路106是电池消耗型移动设备(例如,手持式计算设备、智能电话、蜂窝电话、个人数字助理、平板计算机或者膝上型计算机等)或者任何其他类型的计算机系统(例如,台式计算机、服务器等)的一部分。
[0016]在图1的示例计算机架构100中,处理单元114经由存储器控制器108和接口 110、112被分别耦合到第一存储器102和第二存储器104。当处理单元114需要访问第一存储器102或者第二存储器104时,从处理单元114向存储器控制器108发送读取请求或者写入请求,存储器控制器108转而向第一存储器102或者第二存储器104发送对应的读取请求或者写入请求。因此,来自处理单元114的数据被写入到第一存储器102或者第二存储器104,或者数据被从第一存储器102或者第二存储器104读取到处理单元114。
[0017]在图1的示例计算机架构100中,第一存储器102和第二存储器104是两种不同的存储器类型(即,族)的,其中不同的存储器类型在某些方面具有变化的特性。例如,在一个实施例中,当在待机模式中操作时,与第一存储器102相比,第二存储器104消耗更少数量的功率。待机模式是用来保持(即,留存)数据值的低功率模式,并且在这一模式期间不从存储器读取数据也不向存储器写入数据。在一个实施例中,在活跃的正常使用模式期间,第一存储器102和第二存储器104消耗类似数量的功率,并且类似地,在一个实施例中,在重负荷使用的多媒体模式期间,存储器102、104消耗类似数量的功率。在活跃的正常使用模式和重负荷使用的多媒体模式期间,从存储器读取数据、向存储器写入数据、并且将数据保持在存储器中。在一个实施例中,第一存储器102和第二存储器104还在成本方面不同,其中与第二存储器104相比,第一存储器102具有更低成本。在一个实施例中,通过利用第一存储器102和第二存储器104的组合(其中它们具有变化的功率消耗和成本特性),图1的示例计算机架构100同时对于功率消耗和成本两者被优化。在一个实施例中,通过根据数据的预期使用需要来选择性地在一个类型或者另一个类型的存储器处存储和访问数据从而利用不同存储器的变化的功率消耗特性,功率消耗和成本被进一步优化。在一个实施例中,选择性地存储和访问数据被操作系统(03)或者应用控制。
[0018]具体而言,在一个示例中,计算机架构100的成本和功率消耗特性通过根据某些标准动态地接通或者关断第一存储器102而同时被优化。在一个示例中,更高成本、更低功率消耗的第二存储器104基本上在所有时间被接通并且操作(即,第二存储器104在待机模式、正常使用模式和重负荷使用的多媒体模式中的每个模式期间都被接通并且操作在一个实施例中,通过使得更昂贵的第二存储器104相对小并且仅仅留作供例如即使在30(:处于低功率状态时都需要保持可用于访问的数据使用,成本被进一步降低。与之相反,更低成本、更高功率消耗的第一存储器102仅仅在选择的时间段被接通并且操作,而在其他时间段被关断。以这种方式选择性地执行对第一存储器102的接通和关断,以便使得集成电路106在待机模式期间消耗更少功率,同时允许集成电路106以成本高效的方式将其存储器扩展用于重负荷使用的多媒体模式。第一存储器102通过不向第一存储器102供应功率而被关断,从而消除或者降低第一存储器102的自刷新电流和泄露电流。
[0019]关于4第一存储器102是被关断还是接通,以及4数据是被存储在第一存储器102中还是第二存储器104中的确定基于一个或者多个标准而被做出。该标准包括但不限于:在处理单元114上被执行的03的操作模式、在处理单元114上被执行的过程的类型、过程的存储器需求以及数据在过程完成之后是否被留存。在一个示例中,如果03进入待机操作模式(例如,用于留存存储器102、104中的数据值并且禁止对存储器102、104的读取和写入操作的低功率模式),则第一存储器102被关断。在待机模式中,集成电路106的存储器需求为低至中。在03的待机模式期间,第一存储器102被关断,这是因为当在待机模式中操作时,与第二存储器104相比,第一存储器102消耗更高数量的功率。因此,在一个实施例中,当03在待机模式中时,其被配置成关断向第一存储器102供应的功率,并且使得第二存储器104执行所有必要的数据留存操作。因此,通过关断向高功率第一存储器的功率供应,降低了能量消耗。同时,由于仅仅不应当丢失的那部分数据使用低功率存储器104被留存,所以相对昂贵的第二存储器104的尺寸被减小。
[0020]在另一示例中,在处理单元114上被执行的过程是多媒体计算机程序(例如,交互式视频游戏程序、视频记录程序等),其中,多媒体计算机程序的存储器需求为高。在一个实施例中,由于多媒体计算机程序要求对大数量数据的存储或者由于多媒体计算机程序要求高数据吞吐率(即,从存储器102、104读取数据或者将数据存储到存储器102、104中的高速率)这一事实,存储器需求为高。为了适应多媒体计算机程序的高存储器需求,当多媒体计算机程序在操作时,第一存储器102被接通,从而扩展在计算机架构100中可用的存储器。如上所述,第二存储器104被配置成基本上在所有时间操作,包括重负荷使用的多媒体模式。接通第一存储器102将可用存储器扩展成高于第二存储器104的可用存储器,从而使得与多媒体计算机程序相关联的数据被存储在第一存储器102中。在多媒体计算机程序完成时,向第一存储器102的功率供应被切断,从而使得第一存储器102在随后的待机模式或者正常使用模式期间不会继续被接通,从而基本上消除例如由于泄露导致的无意的功率消耗。
[0021]在另一示例中,关于将数据存储在第一存储器102中还是第二存储器104中的确定基于数据在过程完成时是否被留存而被做出。该数据例如是与该过程相关联的数据(即,由过程操纵的数据或者由过程生成的数据)。如果在过程完成时不需要留存与处理相关联的数据,则该过程或者与过程相关联的数据被存储在第一存储器102中。如果在过程完成时必须留存与过程相关联的数据,则该过程或者与过程相关联的数据不被加载到第一存储器102中,而是作为替代被存储在第二存储器104中。如上所述,通过当在过程完成后必须留存数据时不将该数据存储在第一存储器102中,第一存储器102在待机数据留存模式中被关断,而不会丢失任何数据值。由于当在待机数据留存模式中操作时第一存储器104消耗更高数量的功率,所以在这一模式中关断第一存储器102允许在示例计算机架构100中的更低的功率消耗。
[0022]以上描述的用于接通和关断第一存储器102以及用于确定将数据存储到第一存储器102还是第二存储器104的基本概念是示例,并且在其他实施例中,使用各种其他因素来管理存储器102,104(例如,基于数据访问速率、存储器尺寸等的因素此外,尽管图1的示例计算机架构100描绘了两个存储器102、104和两个接口 110、112,但是在其他实施例中,使用更大数量的不同类型存储器和对应的接口。如上所述,使用两个存储器102、104和两个接口 110、112允许示例计算机架构100同时优化成本和功率消耗变量。在其他实施例中,通过利用具有其他特性的其他存储器来代替存储器102、104或者通过添加在某些方面与存储器102、104不同的附加存储器,示例计算机架构100针对其他变量或者附加的变量被优化。例如,在一个实施例中,除了在图1的示例中被优化的成本和功率变量之外,示例计算机架构100针对速度或者数据访问速率变量被优化。
[0023]图2描绘了另一示例计算机架构200,其包括耦合到应用处理器或者蜂窝处理器206的一个或者多个低功率001?同步动态随机存取存储器封装体上封装体⑴。?)/分立器件202以及一个或者多个双倍数据速率同步动态随机存取存储器204。在一个实施例中,一个或者多个低功率008同步动态随机存取存储器?0?7分立器件(此后被称为“1^001?存储器” )202包括一个或者多个1?001?2、1?001?3、1?00财、移动001?或者宽1/0存储器。在一个实施例中,一个或者多个双倍数据速率同步动态随机存取存储器器件(此后被称为“00尺存储器” )204包括一个或者多个0082、0083、001^31, 001?3^或者00财存储器。存储器202和001?存储器204在应用处理器或者蜂窝处理器206外部,并且分别经由第一 1?00尺、00尺?册接口(即,物理接口)210^^:1^001008 ?册接口 212被耦合到应用处理器或者蜂窝处理器206的双通道001? 30狀1存储器控制器208。第一接口 210和第二接口 212彼此分离。在一个实施例中,第一接口 210和第二接口 212被集成在存储器控制器208中,或者第一接口 210和第二接口 212与存储器控制器208物理上分离并且经由适当的连接耦合到存储器控制器208。
[0024]在一个实施例中,应用处理器或者蜂窝处理器206在手持式设备平台(诸如智能电话、膝上型计算机、平板计算机或者任何其他类型的计算机系统(例如,台式计算机或者服务器))中被使用。应用处理器或者蜂窝处理器206被配置成执行指令以支持手持式设备的03、手持式设备的联网和无线传输协议以及手持式设备的任何数量的其他应用(例如,游戏、视频记录、音乐回放、冊13浏览、电子邮件等)。处理器206的双通道001? 30狀1存储器控制器208被配置成同时支持多个不同的001? 30狀1类型(即,族),包括在图2中描绘的存储器类型和001?存储器类型。存储器控制器208的双通道本质意味着第一通道216和第二通道218中的每个通道具有其自身的?册物理接口(即,在图2中分别为?册接口 210、212〉等。双通道存储器控制器208允许存储器202和001?存储器204的混合,其中存储器202通过第一通道216与处理器206对接,并且001?存储器204通过第二通道218与处理器206对接。在一个实施例中,1^001?存储器202和001?存储器204以相同频率或者类似频率被操作。
[0025]存储器202和001?存储器204在幻成本以及幻在待机模式中的功率消耗方面彼此不同。在一个实施例中,待机模式是用于留存数据值的低功率模式,其中不允许对存储器202、204的读取和写入操作。1^001?存储器202和001?存储器204的组合允许计算机架构200同时对于成本和功率消耗两者被优化。在待机模式中,与001?存储器204相比,存储器202具有更低的功率消耗。例如,在待机模式中,1^001?存储器202的功率消耗在数量级上比001?存储器204好三倍。作为一个示例,1101-011 11411(128116001^31,533册12-993册12,2(?在1.35乂具有为12—的自刷新电流(1006),从而导致在低功率待机模式中为 16.2碰的功率消耗,并且組01*011 1141112811600835331112-10661112,2(^^1.5乂具有为12—的自刷新电流(1006),从而导致在低功率待机模式中为181111的功率消耗。对比而言,例如,1101-011 1X4211281161? 0082,533册12,2(? 在 1.8乂具有为 1.2—加上在 1.2\具有为2.5—的自刷新电流(1006),从而导致在低功率待机模式中为5.16碰的功率消耗。在一个实施例中,在活跃功率模式(即,用于在存储器202、204中读取、写入和保持数据的模式)中,在1^001?存储器202和001?存储器204之间在功率消耗几乎没有差异,并且在一个实施例中,存储器202和001?存储器204的性能类似。在一个实施例中,1?001?存储器202比001?存储器204更昂贵(例如,在数量级上贵1.7至2.0倍)。
[0026]在图2的示例计算机架构200中,存储器202充当被配置成基本上在所有时间都被接通并且操作的持久性存储器(例如,1^001?存储器202在待机模式、正常使用模式以及重负荷多媒体使用模式中的每个模式期间操作)。在一个实施例中,1^001?存储器202仅仅需要足够大以存储当架构200进入低功率(即,待机)状态时应当被留存的预期数量的数据,再加上一些附加的空间作为安全措施。示例计算机架构200中的其他存储器是常规的001? 0狀1存储器(例如,001?存储器204 —般而言仅仅用于在重负荷多媒体使用模式期间扩展可用存储器(例如,当处理器206上的存储器需求为高时,其中高存储器需求要求对大数量数据的存储或者数据的高吞吐量)。因此,基于处理器206上的存储器需求或者基于在处理器206上被执行的过程的存储器需求而接通或者关断001?存储器204。此外,如以下所描述的,基于关于在过程完成后是否需要将要存储的数据留存在存储器中的确定而将001?存储器204用于数据存储。如果在过程完成之后不需要留存数据,则将00卩存储器204用于存储该数据。
[0027]在图2的示例计算机架构200中,利用存储器202和001?存储器204的混合,用于正常使用情况和低功率待机使用情况的基本存储器仅仅包括1?00卩存储器202。在一个实施例中,基本存储器是应用处理器或者蜂窝处理器206能够访问的总共4(?地址映射中的1%。对于正常使用情况和低功率待机使用情况,001?存储器204被关断的。在一个实施例中,在低功率待机使用情况期间,被接通的1^001?存储器202处于自刷新模式。通过动态添加(即,接通)008存储器204,在图2的示例计算机架构200中的可用存储器在重负荷多媒体使用情况中被扩展。在重负荷多媒体使用情况期间,1^001?存储器202保持接通并且被用来存储数据。通过接通00卩存储器204,可用存储器例如被增加到应用处理器或者蜂窝处理器206访问的总共4(?地址映射中的2%。以下关于图3更详细地描述重负荷多媒体使用情况、正常使用情况和待机使用情况的特性。
[0028]关于将数据存储在001?存储器204还是存储器202中的确定基于在处理器206上被执行的过程的操作模式(即,过程是否是在重负荷使用的多媒体模式中操作)或者基于过程的存储器需求(即,存储器需求是高、低还是中)而被做出。在一个实施例中,关于将数据存储在001?存储器204中还是存储器202中的确定还基于在过程完成后是否留存数据而被做出。该数据例如包括与过程相关联的数据(例如,由过程操纵的数据或者由过程生成的数据如果在过程完成后不需要留存与过程相关联的数据,则该过程或者与过程相关联的数据被存储在001?存储器204中。如果在过程完成后必须留存与过程相关联的数据,则与过程相关联的数据不被存储在001?存储器204中,并且该数据作为替代被存储在存储器202中。在一个实施例中,通过当在过程完成后必须留存数据时不将数据存储在001?存储器204中,001?存储器204在待机数据留存模式期间被关断,从而因此降低示例计算机架构200的功率消耗。如以上所指出的,在待机数据留存模式中,与1?00尺存储器202相比,001?存储器204消耗更大数量的功率。
[0029]在一个实施例中,通过按照以上所述的方式使用1^001?存储器202和001?存储器204的组合,降低了示例计算机架构200的材料清单(即,801)。如上所述,使用不太昂贵的001?存储器204来在存储器需求为高或者在过程完成后不需要留存数据的情况下扩展存储器。因为在低功率待机模式期间001?存储器204被关断并且仅仅存储器202被用来存储在低功率待机模式中需要被留存的数据。结果,在一个实施例中,由于在低功率模式中非低功率存储器基本上完全被关断,所以不仅使用了较低成本存储器,此外,架构200的待机电流和功率消耗也被最小化。所描述的存储器管理的方法利用了 1^001?存储器202在例如自刷新模式时的低电流优点。
[0030]在计算机架构200中使用的1^001?存储器202 (即,包括一个或者多个1?00尺2、1?001?3、1?00财、移动001?或者宽1/0 30狀1器件)和001?存储器204 (即,包括一个或者多个0082、0083、00831、0083口或者00财3 0狀1器件)仅仅是示例。以上关于图2描述的存储器管理的方法适用于包括两个或者更多个类型的片外易失性存储器的所有系统(例如,包括作为封装体上封装体、封装体中的系统、多芯片模块和贯穿硅过孔配置以及作为两个或者多个分立部件可用的存储器和300,其中一种类型的易失性更昂贵并且在待机模式期间需要更多功率,而另一种类型不太昂贵但是具有更高待机电流。在其他实施例中,与以上关于图2描述的计算机架构和存储器管理的方法类似的计算机架构和存储器管理的方法使用封装体内的存储器、封装体上封装体配置中的存储器、在贯穿硅过孔配置中的存储器或者一个或者多个分立存储器被实现。此外,双通道存储器控制器208是一个示例,并且在其他实施例中,使用包括多于两个通道(即,包括多于两个物理接口)的多通道存储器控制器。在另一实施例中,不使用双通道存储器控制器208,并且作为替代使用两个或者更多个分离的存储器控制器,其中分离的存储器控制器中的每个存储器控制器是单通道或者多通道存储器控制器。
[0031]图3描绘了包括关于在手持式设备中使用的应用处理器或者蜂窝处理器和00尺30狀1的示例使用情况的信息的表格300。表格300中包括的列包括操作模式302、示例功能304、存储器需求306以及存储器使用308。操作模式列302描述由应用处理器或者蜂窝处理器和001? 30狀1支持的操作模式。在一个实施例中,操作模式由操作系统(03)或者在应用处理器或者蜂窝处理器上被执行的一个或者多个过程决定。例如,在一个实施例中,08使得应用处理器或者蜂窝处理器和008 30狀1进入待机低功率(即,数据留存)模式。相反,例如,在一个实施例中,具有使得将视频被记录在手持式设备上的指令的特定过程(例如,计算机程序)使得应用处理器或者蜂窝处理器和008 30狀1在重负荷使用多媒体操作模式中操作。
[0032]如在表格300中所描绘的,对于重负荷使用/多媒体使用操作模式,示例功能包括交互式游戏应用和视频记录应用等。重负荷使用/多媒体使用操作模式中的存储器需求为高,并且应用处理器或者蜂窝处理器和008 30狀1的活跃功率在手持式设备的总体功率消耗中扮演重要角色。参照图2,示例计算机架构200包括存储器202和001?存储器
204。在重负荷使用/多媒体使用操作模式期间,存储器202和001?存储器204两者都被接通并且用来存储数据。从在应用处理器或者蜂窝处理器上被执行的软件的角度来看,计算机系统架构的可用物理存储器在重负荷使用/多媒体使用模式期间处于其最大值,这是由于可用存储器包括所有可用的008 30狀1存储器(例如,存储器202和00尺存储器204两者)。在一个实施例中,当以相同频率运行时,1?001?存储器202和001?存储器204的活跃功率消耗和性能类似。由于在该实施例中活跃功率消耗和性能中的类似性,对于软件来说透明的是存储器缓冲器中的一些存储器缓冲器被分配给1^001?存储器202并且存储器缓冲器中的一些存储器缓冲器被分配给001?存储器204。
[0033]如在表格300中所图示的,对于正常使用操作模式,示例功能包括音乐回放、^浏览和电子邮件功能等。正常使用操作模式中的存储器需求为中,并且应用处理器或者蜂窝处理器和008 30狀1的活跃功率在手持式设备的总体功率消耗中扮演重要角色。参照图2,在一个实施例中,在正常使用操作模式期间,软件决定通过关断001?存储器204来将其存储器使用最小化到基本存储器并且降低功率,从而使得1?00卩存储器202是在正常使用模式期间被使用的仅有存储器。尽管图3的表格指示出在正常使用操作模式期间001?存储器204被关断,然而在其他示例中,在正常使用操作模式期间,允许001?存储器204保持被接通并且存储数据。
[0034]在待机操作模式中,示例功能包括数据留存(即,在待机模式期间,数据值被简单地保持在存储器中,并且数据值不被写入存储器也不从存储器读取)。在待机操作模式中的存储器需求为低至中,并且手持式设备的功率消耗由应用处理器或者蜂窝处理器和00尺30狀1的待机电流决定。在待机操作模式中,001?存储器204被关断,并且仅仅1^001?存储器202被接通。1^001?存储器202的内容需要被留存,并且因此1^001?存储器202进入自刷新状态,并且使001?存储器204(如果还未被关断)关断(即,对于存储在001?存储器204中的数据没有数据留存)。在一个实施例中,由于在待机操作模式中001?存储器204被关断,所以关于是否将数据存储到001?存储器204的确定基于在过程完成后是否需要留存数据而被做出。这是以上参照图2被描述的。
[0035]图4是描绘了用于包括多个不同类型的001? 30狀1的计算机架构的软件管理方法的示例逻辑的流程图400。如以上参照图2所述,在包括1^001?存储器202和001?存储器204的计算机架构200中,基于在处理单元上被执行的过程的存储器需求、在处理器206上执行的03的操作模式或者过程的数据留存需求管理001?存储器204(即,是接通还是关断的以及是否用来存储数据)。图4的流程图400的示例逻辑图示了在管理001?存储器204中评估和使用这些变量的示例方法。在402,计算机架构的可用存储器被划分为组1和组2。可用存储器包括0狀1器件和001? 0狀1器件。组1被指派给映射到0狀1器件的地址,在低功率模式期间1^001? 0狀1器件是状态留存的。组2被指派给映射到00尺0狀1器件的地址,在低功率模式期间001? 0狀1器件的功率被关断。
[0036]在404,08被加载,并且从组1执行03内核。应用和应用的工作空间驻留在组1或者组2中的任一个组中。在406,做出关于03是否需要加载任务的确定。在406,还做出关于运行的应用或者任务是否请求03分配存储器的确定。如果没有任务被加载并且运行的应用或者任务不需要03分配存储器,则在408,做出关于03是否能够进入待机模式的确定。如果03不能进入待机模式,则再次做出在406的确定。如果03能够进入待机模式,则在410,1?00卩器件被置于自刷新状态,并且00卩器件被关断功率。此时,在待机模式期间不需要的所有应用和任务被终止,并且被指派给这些应用和任务的存储器变得空闲。在412,做出关于03是否能够退出待机模式的确定。贯穿待机模式的时序时间,重复在412的确定,直到03能够退出待机模式。当03能够退出03待机模式时,在414,001?器件的功率被接通并且被重新初始化,并且1^001?器件被带出自刷新状态。在接通001?器件的功率并且将器件带出自刷新状态后,再次做出在406的确定。
[0037]如果确定03需要加载任务或者如果确定运行的应用或者任务请求03分配存储器,则在416,做出关于任务或者应用是否是在待机模式期间需要驻留在存储器中的类型的确定。如果在待机模式期间不需要任务驻留在存储器中,则在418,03将任务加载到组2中或者向应用或者任务指派来自组2的缓冲器。如果在待机模式期间需要任务驻留在存储器中,则在420,03将任务加载到组1中或者向应用或者任务指派来自组1的缓冲器。基于在416的确定将任务加载到组1或者组2中的任一个组中反映了以下事实:当在待机模式中执行数据留存时,与001? 0狀1器件相比,0狀1器件消耗更低数量的功率。由于这一事实,在一个实施例中,001? 0狀1器件仅被用于存储与在待机模式期间不需要驻留在存储器中的任务相关联的数据。在任务被加载到组1或者组2中之一或者任务或者应用被指派了来自组1或者组2的缓冲器之后,再次做出在406的关于03是否需要加载任务的确定。
[0038]图5描绘了包括分别耦合到第一存储器502和第二存储器504的第一存储器控制器508和第二存储器控制器509的示例计算机架构500。在图5中,第一存储器控制器508和第二存储器控制器509是集成电路506的一部分,并且都耦合到集成电路506的处理单元514。第一接口 510和第二接口 512分别用于将第一存储器控制器508和第二存储器控制器509与第一存储器502和第二存储器504耦合。尽管在图5中描绘了两个存储器502、504,两个接口 510、512和两个存储器控制器508、509,然而在其他实施例中,使用每个这些部件中的多于两个(例如,如由图5中的在存储器、接口和存储器控制器之间的虚线所指示的)。存储器502、504为两个不同的存储器类型,其中两个不同的存储器类型具有不同的功率消耗特性。
[0039]根据以上关于图1至图4描述的方法来管理存储器502、504。由于在图5的示例中使用两个分离的存储器控制器508、509的事实,图5的示例计算机架构500与以上描述的计算机架构不同,其中先前附图利用了单个双通道存储器控制器(例如,在图1和图2中分别为双通道存储器控制器108,208)。使用分离的存储器控制器508、509允许在实现与针对图1至4描述的类似的计算机架构和存储器管理的方法中使用单通道存储器控制器。
[0040]图6是描绘了根据本公开内容的实施例的用于计算机系统中的存储器管理的示例方法的步骤的流程图600。在602,确定03的操作模式。在604,如果操作模式是第一模式,则为第一存储器类型的第一存储器被关断。第一存储器与第二存储器是不同存储器类型的,其中第二存储器是第二存储器类型的,该第二存储器类型具有与第一存储器类型的功率消耗特性不同的功率消耗特性。在606,如果操作模式不是第一模式,则做出关于将数据存储到第一存储器还是第二存储器的确定。该确定例如基于以下各项中的一个或者多个:在计算机系统上被执行的过程的存储器需求;过程的类型,其中过程的类型指示由过程操纵的数据的类型或者由过程生成的数据的类型;在过程完成后是否留存数据;或者在08的第一模式期间是否留存数据。在某些实施例中,使用其他不同适当的度量来做出这一确定。
[0041]本说明书描绘了关于使得本领域技术人员能够做出和使用要求保护的本发明的示例。可专利范围包括其他示例。此外,在各种实施例中,通过包括能够由设备处理子系统执行的程序指令的程序代码,本文描述的方法和系统被实现在许多不同类型的处理设备上。软件程序指令包括源代码、目标代码、机器代码、或者可操作以使得处理系统执行本文描述的方法和操作的任何其他存储的数据。然而,在一个实施例中使用其他实现方式,诸如固件或者甚至被配置为执行本发明描述的方法和系统的适当设计的硬件。
[0042]本申请使用示例来例示本发明。本发明的可专利范围包括其他示例。
【权利要求】
1.一种计算机系统,包括: 集成电路,所述集成电路包括: 处理单元,以及 耦合到所述处理单元的存储器控制器,所述存储器控制器包括被配置为将所述存储器控制器分别与第一存储器和第二存储器耦合的第一接口和第二接口,其中所述第二接口与所述第一接口分离; 第一存储器类型的所述第一存储器,所述第一存储器通过所述第一接口耦合到所述存储器控制器;以及 所述第二存储器,所述第二存储器通过所述第二接口耦合到所述存储器控制器,所述第二存储器是第二存储器类型,所述第二存储器类型具有与所述第一存储器类型的功率消耗特性不同的功率消耗特性。
2.根据权利要求1所述的计算机系统,其中所述第一存储器是双倍数据速率同步动态随机存取存储器(DDR SDRAM),并且其中所述第二存储器是低功率双倍数据速率同步动态随机存取存储器(LPDDR SDRAM)或者移动双倍数据速率存储器。
3.根据权利要求1所述的计算机系统, 其中当在待机模式中操作时所述第二存储器比所述第一存储器消耗更少功率,所述待机模式是用于保持数据值并且禁止数据被读取和写入的低功率模式; 其中当在活跃模式中操作时所述第一存储器和第二存储器消耗相同或者类似数量的功率,所述活跃模式用于读取、写入和保持数据值;以及 其中所述第一存储器和所述第二存储器以相同或者类似频率操作。
4.根据权利要求3所述的计算机系统,其中所述第二存储器在所述待机模式期间被状态留存,并且其中所述第一存储器在所述待机模式期间被关断,所述第一存储器通过不向所述第一存储器供应功率而被关断以消除或者降低所述第一存储器的泄露电流。
5.根据权利要求3所述的计算机系统,其中基于以下做出关于将数据存储到所述第一存储器还是所述第二存储器的确定: 在所述处理单元上被执行的过程的存储器需求; 所述过程的类型,其中所述过程的类型指示由所述过程操纵的数据的类型或者由所述过程生成的数据的类型; 在所述处理单元上被执行的操作系统的操作模式,所述操作系统的所述操作模式包括所述待机模式和活跃模式; 所述过程是否是在所述待机模式期间不需要驻留在所述第一存储器或者第二存储器中的类型; 所述数据在所述过程完成后是否被留存;或者 所述数据在所述待机模式期间是否被留存。
6.根据权利要求5所述的计算机系统,其中当所述过程的存储器需求为高时所述数据被存储在所述第一存储器中,高存储器需求包括对大数量数据的存储或者高速率,以所述高速率从所述第一存储器或者所述第二存储器读取所述数据或者向所述第一存储器或者所述第二存储器中存储所述数据。
7.根据权利要求5所述的计算机系统,其中当所述处理单元执行用于多媒体计算机程序的指令时所述数据被存储在所述第一存储器中,所述多媒体计算机程序包括交互式游戏功能或者视频记录功能。
8.根据权利要求1所述的计算机系统,其中在所述计算机系统的正常使用操作模式期间所述第一存储器被关断以降低所述计算机系统的功率消耗,所述第一存储器通过不向所述第一存储器供应功率而被关断以消除或者降低所述第一存储器的泄漏电流,并且其中所述正常使用操作模式包括音乐回放、web浏览或者电子邮件功能。
9.根据权利要求1所述的计算机系统, 其中所述处理单元是被配置为在移动设备中操作的蜂窝处理器或者应用处理器,所述蜂窝处理器或者所述应用处理器被配置为执行用于所述移动设备的操作系统、所述移动设备的应用或者所述移动设备的联网协议的指令,以及 其中所述存储器控制器是被配置为同时与多个类型的双倍数据速率同步动态随机存取存储器(DDR SDRAM)对接的双通道存储器控制器,所述双通道存储器控制器包括作为物理(PHY)接口的所述第一接口和所述第二接口。
10.根据权利要求1所述的计算机系统,其中所述计算机系统是消耗来自电池的功率的移动设备。
11.一种计算机系统中的存储器管理方法,所述方法包括: 确定操作系统的操作模式; 如果所述操作模式是第一模式则关断为第一存储器类型的第一存储器,所述第一存储器与第二存储器是不同的存储器类型,其中所述第二存储器是第二存储器类型,所述第二存储器类型具有与所述第一存储器类型的功率消耗特性的不同的功率消耗特性;以及 如果所述操作模式不是所述第一模式则基于以下做出关于将数据存储到所述第一存储器还是所述第二存储器的确定: 在所述计算机系统上被执行的过程的存储器需求, 所述过程的类型,所述过程的类型指示由所述过程操纵的数据的类型或者由所述过程生成的数据的类型, 所述数据在所述过程完成后是否被留存,或者 所述数据在所述操作系统的所述第一模式期间是否被留存。
12.根据权利要求11所述的方法,还包括: 做出关于将所述数据存储到所述第一存储器还是所述第二存储器的确定,其中所述第一存储器是双倍数据速率同步动态随机存取存储器(DDR SDRAM),并且其中所述第二存储器是低功率双倍数据速率同步动态随机存取存储器(LPDDR SDRAM)或者移动双倍数据速率存储器。
13.根据权利要求11所述的方法,还包括: 做出关于将所述数据存储到所述第一存储器还是所述第二存储器的确定,其中当在待机模式中操作时所述第二存储器比所述第一存储器消耗更少的功率,所述待机模式是用于保持数据值并且禁止数据被读取和写入的低功率模式,其中当在活跃模式中操作时所述第一存储器和所述第二存储器消耗相同或者类似数量的功率,所述活跃模式用于读取、写入和保持数据值,并且其中所述第一存储器和所述第二存储器以相同或者类似频率操作。
14.根据权利要求11所述的方法,还包括: 如果所述过程是在所述待机模式期间不需要驻留在所述第一存储器或者所述第二存储器中的类型: 通过向所述第一存储器供应功率来接通所述第一存储器,供应的所述功率使得所述第一存储器能够存储数据值,以及 将所述过程加载到所述第一存储器中或者向所述过程指派来自所述第一存储器的缓冲器;以及 如果所述过程是在所述待机模式期间需要驻留在所述第一存储器或者所述第二存储器中的类型: 通过不向所述第一存储器供应所述功率来关断所述第一存储器以消除或者降低所述第一存储器的泄漏电流,以及 将所述过程加载到所述第二存储器中或者向所述过程指派来自所述第二存储器的缓冲器。
15.根据权利要求11所述的方法,还包括: 当所述过程的存储器需求为高时将所述数据存储在所述第一存储器中,高存储器需求包括对大数量数据的存储或者高速率,以所述高速率从所述第一存储器或者所述第二存储器读取所述数据或者将所述数据存储到所述第一存储器或者所述第二存储器中。
16.根据权利要求11所述的方法,还包括: 当所述处理单元执行用于多媒体计算机程序的指令时将所述数据存储在所述第一存储器中,所述多媒体计算机程序包括交互式游戏功能或者视频记录功能。
17.根据权利要求11所述的方法,还包括: 在所述计算机系统的正常使用操作模式期间关断所述第一存储器以降低所述计算机系统的功率消耗,所述第一存储器通过不向所述第一存储器供应功率而被关断以消除或者降低所述第一存储器的泄漏电流,其中所述正常使用操作模式包括音乐回放、web浏览或者电子邮件功能。
18.根据权利要求11所述的方法,还包括: 关断耦合到所述存储器控制器的第一存储器,其中所述存储器控制器是被配置为同时与多个类型的双倍数据速率同步动态随机存取存储器(DDR SDRAM)对接的双通道存储器控制器,所述双通道存储器控制器包括作为物理(PHY)接口的所述第一接口和所述第二接□。
19.根据权利要求11所述的方法,还包括: 确定所述计算机系统的所述操作系统的所述操作模式,其中所述计算机系统是消耗来自电池的功率的移动设备。
20.根据权利要求11所述的方法,还包括: 基于所述计算机系统的功率消耗做出关于将所述数据存储到所述第一存储器还是所述第二存储器的确定,其中做出所述确定以降低所述计算机系统的功率消耗。
【文档编号】G06F13/16GK104303167SQ201380024937
【公开日】2015年1月21日 申请日期:2013年5月7日 优先权日:2012年5月8日
【发明者】N·帕斯 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1