会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 物理 / 频率 / 动态频率内存控制

动态频率内存控制

阅读:548发布:2021-02-25

IPRDB可以提供动态频率内存控制专利检索,专利查询,专利分析的服务。并且一种内存控制器(40),所述内存控制器可适配于系统时钟频率的缩放,以使另一种设备(10)能够访问内存(20),并且具有用于输出控制信号的部件,所述控制信号具有不完全随着系统时钟频率的缩放而可缩放的一些定时特性。响应于所述系统时钟频率改变的指示,所述内存控制器自主地适配所述部件,以使所述部件输出新的数字内存控制信号,所述新的数字内存控制信号与改变的系统时钟同步并且也具有非可缩放的定时特性。这避免处理器适配所述内存控制器的需要。因此,可以更快速地进行适配,实现对系统的其它部件的更少的干扰,并且意味着可以更频繁地进行频率缩放。,下面是动态频率内存控制专利的具体信息内容。

1.一种内存控制器(40),所述内存控制器(40)可适配于系统时钟频率的缩放,所述内存控制器(40)用于产生数字内存控制信号,以使其它设备(10)能够访问内存(20),所述访问与所述系统时钟同步,所述数字内存控制信号具有不完全随着所述系统时钟频率的缩放而可缩放的多个定时特性,所述内存控制器包括接口,所述接口从所述其它设备接收内存访问请求,所述内存控制器还包括部件(50、510),所述部件设置成响应于所述内存访问请求,输出与所述系统时钟同步的所述数字内存控制信号,且响应于所述系统时钟频率的变化的指示,所述内存控制器设置成自主地适配所述部件,以使所述部件能够输出新的数字内存控制信号,所述新的数字内存控制信号与改变的系统时钟同步,并且仍然具有非可缩放的定时特性,其中,所述控制器设置成在不依赖于所述系统时钟频率的条件下,通过提取存储的所述非可缩放的定时特性的表示,进行所述适配。

2.如权利要求1所述的控制器,所述控制器设置成将提取到的所述表示转换为与改变的系统时钟频率相关的定时特性,用于产生新的数字内存控制信号。

3.如权利要求1所述的控制器,所述控制器设置成通过从多个预定的存储的信号序列中选取而进行所述适配,所述信号序列各对应于不同的系统时钟频率。

4.如前述任一项权利要求所述的控制器,所述控制器包括频率变化检测器(70),所述频率变化检测器(70)用于监测所述系统时钟,以检测频率的变化并且输出所述变化的指示。

5.如权利要求1至3中任一项所述的控制器,所述控制器设置成从外部设备接收所述系统时钟频率的变化的所述指示。

6.如权利要求1所述的控制器,所述接口包括总线接口(65),并且所述内存控制器设置成,当所述内存控制器适配产生信号的所述部件时,阻止连接到总线的任何其它设备发起内存访问。

7.如权利要求1所述的控制器,所述控制信号适用于具有刷新周期的动态内存设备。

8.一种产生数字内存控制信号以使其它设备能够访问内存的方法,所述访问与系统时钟同步,所述数字内存控制信号具有不完全随着系统时钟频率的缩放而可缩放的多个定时特性,所述方法具有如下步骤:从所述其它设备接收内存访问请求;

响应于所述内存访问请求,输出与所述系统时钟同步的所述数字内存控制信号;及响应于所述系统时钟频率的变化的指示,确定待输出的新的数字内存控制信号,所述新的数字内存控制信号与改变的系统时钟同步,并且也具有非可缩放的定时特性,其中,在不依赖于所述系统时钟频率的条件下,通过提取存储的所述非可缩放的定时特性的表示,进行所述确定。

说明书全文

动态频率内存控制

技术领域

[0001] 本发明涉及内存控制器,尤其是随机存取存储器(RAM)控制器,涉及包括这种控制器的系统,尤其是计算机系统,及涉及相应的方法和软件。

背景技术

[0002] 动态随机存取存储器的特征是具有定时参数,为正确的存储操作必须遵守该定时参数。示例为刷新间隔(两个刷新命令之间的最大时间一定要发布给内存)、CAS(Column Address Strobe,列地址选通脉冲)延迟(发出列地址请求后数据可用之前的最小时间)。内存规格书中描述了大约数十种该定时参数。
[0003] 假设内存时钟频率为已知的且恒定的,所述定时参数在时钟周期内被编码,并且在内存初始化期间,这些定时参数通常会被编程到内存控制器中。这在以前是足够的,以前,内存频率在初始化期间仅设置一次,之后不再改变。而对于现代的电池供电设备,功耗是关键的技术和市场需求。一种广泛使用的节能技术为动态频率和电压缩放(DFVS)技术。对于主动的电源管理,持续应用DFVS,通过监测施加的负荷且调节系统性能和功率级来与之匹配。通常DFVS缩放CPU和系统总线频率(有时两个频率必须保持一定的比例)。通常内存控制器和DRAM(Dynamic Random Access Memory,动态随机存取存储器)以与系统总线的时钟相同的时钟运行,因此应用在系统总线时钟上的DFVS也缩放内存时钟。应注意的是,与系统总线同步地运行内存通常是最省电的方法。
[0004] 用于内存访问的时钟频率的缩放需要更新内存控制器定时参数,因为这些定时参数通常在时钟周期内被编码。由于在缩放频率/电压时这种更新中的长延迟,DFVS算法变得非常保守,因为误预测的成本很高。因此,保守的DFVS算法的省电效果较差,因为其利用了较少的节能机会。

发明内容

[0005] 本发明的目的为提供替代的内存控制器,尤其是RAM控制器,包括该控制器的系统,尤其是计算机系统,及相应的方法和软件。根据第一方面,本发明提供:
[0006] 一种内存控制器,该内存控制器可适配于系统时钟频率的缩放,用于产生数字内存控制信号,以使另一种设备可以访问内存,所述访问与系统时钟同步,所述控制信号具有不完全随着系统时钟频率的缩放而可缩放的多个定时特性,所述内存控制器包括接口,该接口从其它设备接收内存访问请求,所述内存控制器还包括部件,该部件设置成响应于所述内存访问请求,输出与系统时钟同步的数字内存控制信号,及响应于系统时钟频率变化的指示,所述内存控制器设置成自主地适配所述部件,以使所述部件响应内存访问请求,输出新的数字内存控制信号,该数字内存控制信号与改变的系统时钟同步,并且也具有非可缩放的定时特性。
[0007] 通过具有能够自主地适配于可缩放的频率的内存控制器,不需要对处理器进行编程来确定怎样适配内存控制器。因此,可以更快速地进行适配,并且可以减少进行适配时内存不可用的时间段。这可以实现对系统中需要内存的其它部件的更少的干扰,并且意味着可以更频繁地进行频率缩放。进而意味着通过诸如增加频率以更密切地追踪需求的高峰,可以减少功耗或增强性能。而且,通过使内存控制器更独立于处理器,可意味着可以更自由地改变或开发用于处理器的软件,而不需要关心处理器将如何及时地处理内存控制器的适配。
[0008] 本发明的实施方式可以具有任何其它的附加特性,在从属权利要求及下文中更详细描述一些所述附加特性。
[0009] 本发明的其它方面包括产生数字内存控制信号的方法,以使另一种设备可以访问内存,所述访问与系统时钟同步,所述控制信号具有不完全随着系统时钟频率的缩放而可缩放的多个定时特性,所述方法包括如下步骤:从其它设备接收内存访问请求;响应于所述内存访问请求,输出与系统时钟同步的数字内存控制信号,及响应于系统时钟频率变化的指示,确定待响应于随后的内存访问请求而输出的新的数字内存控制信号,所述新的数字内存控制信号与改变的系统时钟同步,并且也具有非可缩放的定时特性。
[0010] 另一方面提供一种计算机程序,该计算机程序在计算机可读介质中,包括由计算部件执行的指令,以使所述方法被实施。
[0011] 任何附加特征可以相互结合并且可以与任何方面结合。对本领域的技术人员而言,尤其是相对于其他现有技术,其它优点是显而易见的。在不脱离本发明的权利要求的情况下可以进行各种变更和修改。因此,应清楚地理解,本发明的形式仅为示例性说明,并不意图限制本发明的范围。

附图说明

[0012] 现在,参照附图以示例方式描述如何可以实施本发明,其中:
[0013] 图1示出本发明的第一实施方式;
[0014] 图2示出根据实施方式的步骤;
[0015] 图3示出包括控制器的系统的另一种实施方式;
[0016] 图4和图5示出根据实施方式的方法步骤;及
[0017] 图6和图7示出其它实施方式的特性。

具体实施方式

[0018] 虽然将参照某些附图并针对特定的实施方式描述本发明,但本发明并不受限于此,而仅由权利要求来限定。所描述的附图仅为示意性而非限制性的。在附图中,为了说明性目的,一些元件的大小可能被扩大而未按比例绘制。在本说明书和权利要求书中使用的术语“包括”并不排出其它元件或步骤。除非特别说明,表示单数名词的不定冠词或定冠词,例如“一”、“这”,包括多个所述名词。
[0019] 在权利要求书中使用的术语“包括”不应该解释为受限于其后列出的部件,其并不排除其它元件或步骤。因此,“包括部件A和B的设备”表示的范围不限制于仅由组件A和B构成的设备。这只是意味着针对本发明,设备的相关组件为A和B。
[0020] 此外,在本说明书和权利要求书中,术语第一、第二、第三等用于区分相似的元件而不一定用于描述顺序和时间顺序。应该明白,在适当的条件下可以互换所使用的术语,并且这里描述的本发明的实施方式能够以除这里描述或说明的顺序之外的其它顺序实施。
[0021] 此外,在本说明书和权利要求书中,术语顶部、底部、高于、低于等用于描述性目的而不一定用于描述相对位置。应该明白,在适当的条件下可以互换所使用的术语,并且这里描述的本发明的实施方式能够以除这里描述或说明的方位以外的其它方位实施。
[0022] 整个说明书提到的“一种实施方式”或“一实施方式”意味着,针对该实施方式描述的特定的特性、结构或特征包含于本发明的至少一种实施方式中。因此,在整个说明书的各种位置出现的短语“在一种实施方式中”或“在一实施方式中”并不一定全部是指相同的实施方式,只是有这种可能性。此外,在一种或多种实施方式中,特定的特性、结构或特征可以以任何合适的方式相互组合,这对于本发明领域的普通技术人员而言是显而易见。
[0023] 类似地,应该明白,为了简化本发明和帮助理解本发明多方面的一种或多种,在本发明的示例性实施方式的描述中,有时本发明的各种特性可以组合在单一实施方式、附图或描述中。然而,本发明的这种方法不应解释为反映这样的意图:要求保护的发明需要比在各项权利要求中明确引用的特征更多的特征。相反,如后续的权利要求反映的,创造性方面在于比前面所述的单一实施方式的所有特征更少的特征。因此,紧随具体说明的权利要求明确纳入此具体说明中,各权利要求作为本发明的单独的实施方式而独立存在。
[0024] 此外,本领域的技术人员应该明白,虽然本文所描述的一些实施方式包括一些特征但不包括其它在其它实施方式中包含的特征,但不同实施方式的特征的组合意味着包含在本发明的范围之内,并且形成不同的实施方式。例如,在下列权利要求书中,任何要求保护的实施方式都可以任意征合使用。
[0025] 此外,本发明以一种方法或一种方法的要素的组合来描述一些实施方式,所述方法由数字逻辑来实施,所述数字逻辑由标准或应用特定集成电路部件或分立元件或执行所述功能的任何其它部件来实施。因此,具有用于实施这种方法或方法的要素的必要指令的处理器可以形成一种用于实施所述方法或方法的要素的部件,除另有指明。此外,本发明所描述的装置实施方式的元件是为实施本发明的目的而用于实施由所述元件所执行的功能的部件的示例。提及的信号可以包含任何介质中的任何信号,因此可以包括诸如电气或光学或无线信号或其它信号。
[0026] 在本发明提供的描述中,规定了许多具体细节。然而,可以理解,本发明的实施方式可以在没有这些具体细节的情况下实施。另一方面,为了不混淆对本说明的理解,未详细示出已知的方法、结构和技术。
[0027] 提及的控制器意图包括任何一种技术、集成或分立、模拟或数字、特定应用或通用控制器运行软件等中的任何一种控制器。
[0028] 提及的系统时钟意图涉及用于同步访问请求设备和内存之间的内存访问的时钟,尽管这些实体的内部可以使用其它的时钟,或尽管所述系统的其它部件使用其它时钟。
[0029] 提及的控制信号意图包括由内存使用的任何一种信号,并且可以包括诸如任何地址选择信号,例如,行地址和列地址信号,数据选通信号,刷新信号,读/写信号,或其它。
[0030] 附加特征
[0031] 除了在上文发明内容中说明的特性之外,下文将更详细地描述的一些附加特性如下。
[0032] 所述控制器可以设置成,在不依赖于系统时钟频率的条件下,通过提取存储的至少非可缩放的定时特性的表示,进行适配。这有利于所述表示的有效存储。然后,所述适配可以包括将所述表示转换为与改变的系统时钟频率相关的定时特性,用于产生新的数字内存控制信号。这有助于满足内存设备的定时规范,所述定时规范通常在时钟周期数方面被指定,而在绝对时间方面有一些限制。这也使控制信号可以容易地与系统时钟同步。
[0033] 所述控制器可以设置成,通过从若干预定的存储的信号序列中选取进行适配,各信号序列对应于不同的系统时钟频率。这可以减少计算量,但通常使用更多的存储资源且限制适配的间隔。
[0034] 所述控制器可以包括频率变化检测器,该频率变化检测器用于监测系统时钟,以检测频率的变化并且输出所述变化的指示,或者可以从外部设备接收系统时钟频率变化的指示。这可以是外部检测器,或者是启动或请求频率变化的设备,例如,电源管理设备或UART(通用异步收发两用机),UART设计成若系统接收诸如传入的消息,则唤醒所述系统。
[0035] 所述接口可以包括总线接口,并且所述内存控制器可以设置成,当所述内存控制器适配信号产生部件时,阻止连接到总线的任何其它设备发起内存访问。如果在适配期间发生内存访问,这可以帮助避免或减少内存访问冲突或误定时。
[0036] 所述控制信号可适用于具有刷新周期的动态内存设备。
[0037] 所述控制器可以为系统的部件,所述系统包括所述处理器和所述内存。所述处理器可以设置成确定处理需求的等级,并且根据所述处理需求缩放系统时钟频率。所述系统可以容纳于个人移动设备,例如任何类型的手持式或可穿戴式通信或多媒体设备。所述系统可容纳于任何类型的电池供电设备,所述电池供电设备包括移动设备、笔记本电脑、车载设备等。
[0038] 对一些实施方式解决的一些问题的介绍
[0039] 通常,内存控制器具有在时钟周期内编程的所有DRAM定时参数。每当改变内存频率以节省电源时(称为动态频率电压缩放技术),必须相应地对DRAM定时参数进行更新。这需要特殊的设置且产生额外延迟的成本(比背景技术更多)。这些延迟是昂贵的,因为其限制了频率电压缩放可能的次数(因此增加功耗)并且还可能引起不期望的后果(如,中断)。至少一些实施方式可以通过减少延迟来提供解决这个问题的方法。
[0040] 用于更新内存控制器的定时参数的典型过程需要特殊的设置。最重要的是,当重新编程内存的定时参数时,必须保证该内存不被用于任何读/写请求。违反这项要求,通常会导致内存控制器崩溃。有效地,必须使所有的总线主控,例如CPU(中央处理器)、DMA(直接内存访问)等暂时失去发布内存访问的能力。如果在一些系统中这不是不可能,由于以下原因这会相当不方便:
[0041] ●在不停止整个硬件块的情况下,不能简单地立即禁止一些硬件块发布内存请求,所述硬件块通常需要某种重新配置以重新启动其功能。这意味着额外的延迟。
[0042] ●尽管硬件块支持暂停模式,这可能需要花相当长的时间。例如,一些DMA可能需要先完成数据传输,才可以被禁用。
[0043] ●当在正在进行的活动期间,如涉及从内存中获取数据的音频/视频回放期间,进行内存重新编程时,停止内存访问很长时间可能导致音频中断且视频失真。例如,在音频回放中,音频输出可能具有FIFO,仅使用4个可用的样品字,其限制的最大延迟在最佳情况下为90ms,最差情况下为45ms。
[0044] 需要在CPU上计算新的定时参数并将其编入内存控制器。由于内存控制器的配置寄存器通常连接到缓慢(低频率)的总线(以降低功耗),因此传输新参数也花费较长时间。因此,总的延迟可以以下列公式表示:
[0045] T延迟=T禁用_总线_主控+T计算机_参数+T传输_参数+T内存控制器_重编[0046] 需要注意的是,T禁用_总线_主控取决于总线主控的数量和类型。
[0047] 在一些系统中避免上述问题的另一种已知解决方案是以单独的异步频率运行内存,而且内存控制器本身具有时钟域交叉。这种方法具有下列缺点:
[0048] ●异步域交叉引起各读/写请求的访问延迟,这降低可用性能,带宽,从而节能较少。
[0049] ●异步内存时钟频率通常是非常高的,因此限制了对相应电压域的可用电压缩放范围。
[0050] 实施方式的特征
[0051] 为了解决这些问题,内存控制器设置成自主地适配。具有很多这样做的方法。在一些实施方式中,这是通过使内存控制器知道DRAM内存的绝对值的确切时间参数(纳秒)和当前运行的频率而实现的。在没有任何CPU或软件(SM)为产生定时控制信号来操作内存而介入适配内部状态机器时钟值的情况下,知道这两者足够用于重新计算内存控制器。在内存控制器内部寄存器初始化期间,DRAM定时参数可以被编程一次,或者可以被存储在可以访问内存控制器的任何地方。
[0052] 具有处理怎样触发对运行时钟频率的适配的几种方法:
[0053] ●可以在独立的内存控制器寄存器中编程运行频率。根据频率变化,SW更新这个值,并且控制器被触发以重新计算定时参数。
[0054] ●可以为内存控制器在内部或外部提供频率检测器。可以使用环形振荡器(或类似的)电路使内存控制器能够不断监测系统时钟的当前频率,并且当检测到超过给定阈值的变化时,控制器重新计算新的值并且重新编程用于产生控制信号的内部状态机。
[0055] 具有一定程度的容差,这允许即使参数不是最佳仍使内存可以正常运行。例如,可以比要求更频繁地(但不可低于要求)发送刷新命令或CAS延迟可以大于规格书中定义的最小值。然而,问题是这种非最优性导致额外的开销成本,减少内存带宽。因此,可能需要增加CPU频率以满足限值且功率上升。因此,从功率的角度看,具有在内存控制器中编程的最佳定时参数通常是有益的。
[0056] 若利用上述SW在运行中即时更新内存定时参数,这可能是件繁琐的任务。现在可以获知,如果这负担可以从SW/CPU卸载到内存控制器,将具有相当大的益处。在一些实施方式中,这可以通过具有存储在诸如内存控制器接口寄存器中的、时钟独立形式的内存定时参数的值的表示来实现。例如,这可以以秒(在实践中为纳秒或微妙)表示。在另一个实施方式中,定时值被存储在外部内存(SRAM(静态RAM)或SDRAM)中的已知位置,以节省寄存器文件空间。知道当前运行内存频率后,在没有外部帮助的情况下,内存控制器可以按照诸如时钟周期计算所需的定时参数,并且将其存储在内部寄存器文件或外部。
[0057] 本发明的一些实施方式包括用于有效的电源管理控制的DRAM内存控制器接口。所述DRAM内存控制器接口可以应用于控制所有类型的DRAM内存(例如,同步动态随机存取内存SDRAM、双倍数据速率DDR、低功率双倍数据速率LPDDR等)或具有刷新周期的任何内存,或不完全随频率可缩放的其它定时要求。所述DRAM内存控制器接口可以用于具有板载DRAM内存和低功耗系统要求的任何系统或设备。通常这可以包括移动便携式电池供电设备(例如,移动电话或媒体播放器或视频或静物照相机或多媒体设备)。至少一些实施方式通过如在控制/编程内存控制器的最新现有技术中采用的频率/电压缩放,解决了即时动态电源管理的问题。
[0058] 图1和图2,第1实施方式
[0059] 图1示出第1实施方式。内存20连接到处理器10、系统时钟发生器30,所述系统时钟发生器30可以缩放时钟频率。内存控制器40连接成从所述处理器接收内存访问请求,并且输出内存控制信号,所述内存控制器能够自主地适配于系统时钟频率的缩放。所述内存控制器包括接口60,所述接口60用于接收内存访问请求,及部件50,所述部件50用于输出内存控制信号。这些信号与系统时钟同步,从而具有与处理器动作的定时关系,所述处理器在适合于内存的时机提供地址输入和读/写数据。这些信号的一些定时特征是不完全可缩放的,例如,这些信号可能具有固定范围的值或绝对时间上的上限或下限,如果频率改变过大,可能会违反这些。用于输出控制信号的所述部件可以以由系统时钟计时的状态机的形式实现,这可以参照根据时钟周期数存储在内部或外部的存储器中的定时,或者可以以其它的方式实现。
[0060] 在内存20和处理器10之间可以设置一个链路,该链路选择性地携带数据和地址信号。由于内存控制器40的机能为在某一存储体内将虚拟地址“0xabcdabcd”解码成特定的行(行地址信号)和列(列地址信号),并且在行内将偏移量解码成所要求的字,因此地址信号被传送到内存控制器40。通过控制器也可以选择性地传送数据信号。造成这样的原因有几个:1)DRAM数据信号是双向的(读/写),而CPU总线是单向的(用于读和写数据的线是独立的),因此无论如何都需要转换,这又是内存控制器的工作;2)由于总线上的调度策略(例如,QoS(服务质量))或不同端口之间的向DRAM的调度,在通信返回到CPU之前,从DRAM提取的数据或写入DRAM的数据可能需要在本地存储;3)DRAM通常位于IC的外部,并且通过具有缓冲器、电平位移器等的焊盘与IC进行通信。这些是为什么通过内存控制器传送数据信号的原因。本发明包括怎样将这些信号直接连接到CPU总线。
[0061] 图2示出图1的实施方式的操作步骤。在步骤100中,改变系统时钟频率。在步骤110中,内存控制器检测所述改变,或从处理器或任何其它外部设备接收所述频率已改变或将要改变的警报。在步骤120中,内存控制器自主地适配用于输出内存控制信号的部件,例如,通过改变状态机,或通过改变存储的定时,或通过选择存储的定时的不同的集合。在步骤130中,当处理器请求内存访问时,内存控制器输出新的内存控制信号,所述新的内存控制信号与改变的系统时钟同步但仍具有非可缩放的定时特性。
[0062] 图3、4和5,具有附加特征的实施方式
[0063] 图3示出与图1类似的实施方式,因此适当地使用相应的参考数字。此图还示出总线接口65,及用于检测频率变化的系统时钟频率检测部件70。内存控制器还包括存储器80,该存储器80用于存储非可缩放的定时特性,及存储器90,该存储器90用于存储根据新的系统时钟频率导出的定时特性。在此实施方式中,还可以在内存20和处理器10之间设置链路,该链路选择性地携带数据和地址信号。关于图1的实施方式,因为内存控制器40的机能为在一定的存储体内将虚拟地址“0xabcdabcd”解码成特定的行(行地址信号)和列(列地址信号),并且在行内将偏移量解码成所要求的字,因此地址信号被传送到内存控制器40。通过上述控制器也可以选择性地传送数据信号。本发明包括怎样将这些信号直接连接到CPU总线。
[0064] 图4示出所述实施方式的一些操作步骤。在步骤100中,改变系统时钟频率。在步骤110中,内存控制器检测频率的变化,或被一些其它设备警告频率的变化。如步骤200所示,内存控制器完成当前的内存访问并阻止进一步的访问。在步骤210中,在不依赖于系统时钟频率的情况下,内存控制器提取定时表示,及在步骤220中,根据在新的频率的系统时钟周期,重新计算内存控制信号定时。在步骤230中,内存控制器存储重新计算的内存控制信号定时并开启进一步的访问。例如,对于各控制信号,这些定时可以是根据时钟周期数的开通和关闭持续时间的列表的形式。例如,可以相对基带信号表示这些定时,仅用来指示何时他们的状态不同。在步骤240中,当请求内存访问时,内存控制器正使用重新计算的定时输出内存控制信号。在某种情况下,内存控制器可以设置成,当以新的频率计时时,先确认旧的定时是否仍然能满足要求,所述要求包括不完全可缩放的要求。
[0065] 图5示出不需要重新计算定时的实现实施方式的替代方法。与图4一样,在步骤100中,改变系统时钟频率。在步骤110中,内存控制器检测频率的变化,或由一些其它设备警告频率的变化。如步骤200所示。内存控制器完成当前的内存访问并阻止进一步的访问。在步骤300中,内存控制器确定基于系统时钟周期的许多存储的预定时序中哪些对应于新的系统时钟频率。选择该时序用于进一步的内存访问。然后,内存控制器开启进一步的访问。在步骤310中,当请求内存访问时,内存控制器提取选择的时序。在步骤320中,内存控制器使用所选择的时序输出内存控制信号。
[0066] 图6和图7,另一种实施方式
[0067] 图6和图7示出另一种实施方式。处理器(CPU)400连接到系统总线440。所述处理器运行DFVS算法,并且根据由时钟发生器420产生的CPU时钟运行。与总线连接的还有直接内存访问设备DMA 430,及内存控制器450。这给DRAM内存460提供控制信号。内存控制寄存器470为内存控制器提供本地存储,并且被来自时钟发生器的外围总线时钟信号计时。通过外围总线500和总线桥480可以访问寄存器。还示出与总线连接的硬件加速器490。在这种情况下,系统总线时钟是通过总线同步内存访问的时钟。因此,系统总线时钟是上文所述的系统时钟的示例。
[0068] 图7示出这种实施方式的部件的更多的细节。示出内存控制器包括环形振荡器540,以提供独立于系统时钟的内部时钟。这使内存控制器可以检测系统时钟的频率变化。
示出内部状态机510,该内部状态机用于产生内存的控制信号。还以定时寄存器520和控制寄存器530的形式示出内存控制寄存器的示例。定时特性可以被存储在独立于系统时钟频率的定时寄存器中。可以将特性转换或重新计算成与新的时钟频率关联的形式,并存储在控制寄存器中。
[0069] 通常通过重新编程时钟发生单元(CGU)来完成频率缩放。取决于时钟管理设计,缩放时钟频率可以是快速的(例如,启用分频器)或是相当缓慢的(例如,重新编程PLL(锁相环))。对于一些系统,在时钟缩放/转换的过渡时期,偶然故障还会被引入时钟信号,内存或内存控制器可能对时钟信号很敏感。因此,在缩放/转换内存时钟时,禁止任何内存活动会更安全。如果总线能够处理这个问题,可以通过将阻塞模式引入内存控制器来实现。在这种模式中,内存控制器在系统总线上提交忙碌标识,因此,没有总线主控可以启动对内存的总线事务。在进入阻塞模式之前,内存控制器首先完成所有正在进行的内存事务。
[0070] 至少可以设想3种方法来使内存控制器知道时钟频率且使内存控制器进行适配。
[0071] 1.这种方法需要一些最小限度的SW参与。在缩放时钟之前,SW请求内存控制器进入阻塞模式(通过写入某一控制寄存器)或内存控制器自己完成。然后,阻塞总线以防止任何新的内存访问请求。在CGU侧建立新的时钟后,SW通知内存控制器关于新的内存时钟频率(通过写入频率寄存器)并且请求内存控制器重新计算内部定时参数。在已知的延迟后或通过观察状态标识,SW释放阻塞模式,或内存控制器释放总线的阻塞模式并且内存准备以最佳方式处理所有未完成的请求。这里一些优化是可能的,因此这个过程完成时自动释放阻塞模式的同时,更新频率寄存器自动导致重新计算定时参数。
[0072] 2.这种方法不需要SW参与。在这种实施方式中,内存控制器具有频率测定电路(例如,环形振荡器),所述频率测定电路不断地监测活动的内存时钟信号。发现频率变化后,内存控制器进行下列步骤:
[0073] a.完成正在进行的内存事务,
[0074] b.通过在总线上显示繁忙信号而进入阻塞模式,
[0075] c.获得新的频率(等到稳定下来),
[0076] d.重新计算所有定时参数,
[0077] e.退出阻塞模式。
[0078] 3.当在内存控制器重新编程的过程中提交的忙碌标志不符合特定的总线协议,一种选择为,将内存请求存储在队列内部并在完成重新编程后提供所述队列。如果使用本地缓冲且请求的数据是可用的的话,可以立即提供请求。
[0079] 应注意的是,对于新的系统频率,内存控制器可以采取任何所需的动作或输出任何时序,来以最优化的方式使用内存。这主要包括重新计算内部状态机的时钟的定时参数,而且对于诸如CAS延迟或其它相关的依赖于频率的内存参数,重新编程内存本身。
[0080] 总的延迟可以以下列公式表示:
[0081] T延迟=T完成_事务+T计算_参数+T内存控制器_重编
[0082] 应注意的是:T完成_事务是短的,因为其仅占2-4个突发长度中的2-4个字节。
[0083] 所描述的实施方式可以包括在计算机系统中,例如,个人电脑、工作站、智能手机、掌上电脑的笔记本电脑,掌上电脑等。
[0084] 所描述实施方式可以提供内存控制器适配即时内存时钟频率缩放的快速且有效的方法,所述内存时钟频率缩放由用于超低功率设备的动态电源管理开发。优点可以概括如下:
[0085] 1.内存控制器重新编程的延迟较短,能够实现没有不期望的失真的更主动的节能。
[0086] 2.简易的SW接口,因为SW参与是最小限度的或者是根本不需要的。
[0087] 3.可以在没有内存访问暂停模式的情况下设计总线主控,从而简化了其设计。
[0088] 本发明还包括软件,所述软件具有代码段,使得当在处理引擎上执行所述代码段时,执行产生数字内存控制信号的方法,所述方法使其它设备可以访问内存,所述访问与系统时钟同步,所述控制信号具有不完全随着系统时钟频率的缩放可缩放的一些定时特性。所述软件可以适配成从其它设备接收内存访问请求,响应于所述内存访问请求输出与系统时钟同步的数字内存控制信号,及响应于系统时钟频率变化的指示,确定待输出的新的数字内存控制信号,所述新的数字内存控制信号与改变的系统时钟同步而且也具有非可缩放的定时特性。
[0089] 当在处理引擎上执行时,所述软件可以提供可适配于系统时钟频率缩放的内存控制器,并且内存控制器用于产生数字内存控制信号以使其它设备可以访问内存,所述访问与系统时钟同步,所述控制信号具有不完全随着系统时钟频率的缩放可缩放的一些定时特性。所述软件可适配成提供接口以从其它设备接收内存访问请求。所述软件还适配成响应于所述内存访问请求,输出与系统时钟同步的数字内存控制信号。而且,响应于系统时钟频率变化的指示,所述软件可适配成能够输出新的数字内存控制信号,所述新的数字内存控制信号与改变的系统时钟同步并且仍然具有非可缩放的定时特性。在不依赖于系统时钟频率的条件下,所述软件可适配成通过提取存储的非可缩放的定时特性的表示,进行适配。所述软件可适配成将提取的表示转换为与改变的系统时钟频率有关的定时特性,用于产生新的数字内存控制信号。
[0090] 所述软件可适配成通过从若干预定存储的时序中选取进行适配,所述时序各对应于不同的系统时钟频率。
[0091] 所述软件可适配成监测系统时钟,以检测频率变化并输出变化的指示。所述软件可适配成从外部设备接收系统时钟频率变化的指示。
[0092] 所述软件可适配成用于包括总线接口的接口,并且所述软件可适配成在适配过程中,阻止与总线连接的任何其它设备发起内存访问。所述系统信号可能适合于具有刷新周期的动态内存设备。
[0093] 所述软件可以用任何合适的语言编写,例如,高级语言、解释语言等,然后在编译器上编译,所述编译器是为待运行所述软件的目标处理引擎而设计的。
[0094] 在权利要求的范围内可以设想其它的变型。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用