当前位置: 首页 > 专利查询>ARM有限公司专利>正文

存储器控制器和这种存储器控制器的操作方法技术

技术编号:9741998 阅读:108 留言:0更新日期:2014-03-07 05:09
本发明专利技术提供一种存储器控制器,用于控制对具有非均匀访问定时特性类型的存储器设备的访问。该存储器控制器具有用于接收从至少一个事务源发出的事务的接口,每个事务指定该事务要访问的存储器地址并包括与该事务相关联的优先级指示。缓冲器用于将通过接口接收的还没有被发送给存储器设备的那些事务临时存储为挂起事务,缓冲器保持对于存储的挂起事务的多个有序列表,包括至少一个基于优先级的有序列表和至少一个访问定时有序列表。每个基于优先级的有序列表具有多个条目,每个条目与挂起事务之一相关联,且每个条目基于相关联的挂起事务的优先级指示在其基于优先级的有序列表中被排序。每个访问定时有序列表具有多个条目,每个条目与挂起事务之一相关联,且与每个访问定时有序列表相关联的挂起事务形成一事务组,一旦该组中的某一事务的存储器地址被访问,该组各事务的存储器地址就能够被存储器设备有效地访问。仲裁电路执行仲裁操作,在仲裁操作过程中多个有序列表被参考以便从挂起事务中选择要发送给存储器设备的获胜事务。该获胜事务的任何条目随后被从多个有序列表中移除。如果当仲裁操作被执行时,先前选中的获胜事务在特定的访问定时列表中具有条目且该访问定时有序列表仍然非空,则在不存在预定的异常状况时,仲裁操作被布置来将挂起事务中的在该访问定时有序列表中具有条目的挂起事务选作获胜事务。这种方法允许在对事务进行重新排序以改善存储器访问时间同时确保考虑到各种事务的优先级之间达到平衡。

【技术实现步骤摘要】
【国外来华专利技术】存储器控制器和这种存储器控制器的操作方法
本专利技术涉及存储器控制器和这种存储器控制器的操作方法,并具体地涉及用于控制对具有非均匀访问定时(non-uniformaccesstiming)特性类型的存储器设备的访问从而使得访问存储器地址所需的时间取决于存储器设备中在前的访问活动的存储器控制器。
技术介绍
许多现代数据处理系统使用具有非均匀访问定时特性的存储器设备。例如,在使存储器设备中的存储器地址的特定行被访问的过程中经常会牵涉到初始时间开销,但是如果一序列访问随后针对该行中的地址而发生,则初始开销可被分摊到多次访问中。然而,如果该序列中的每次访问都访问不同的行,那么每次访问单独地引起使能行的开销,从而当与所有访问都访问相同的行的一序列访问相比,这样的一序列访问导致较长的访问定时特性。具有上述性质的一种类型的存储器设备是这样的存储器设备,其包括多个存储库(bank),每个存储库包括多行且每行都需要在该行被访问之前被激活。这种存储器设备的示例是动态随机存取存储器(DRAM)存储器设备。考虑到每行都需要在该行被访问之前被激活,应该理解,对于由事务(transaction)指定的特定存储器地址的访问定时将随该行是否包含当前已经被激活的存储器地址而变化。在行被访问之前需被激活的需求不仅导致了上面所述的性能下降,还因为在执行行激活处理时消耗功率而额外地导致了功率消耗的增加。因此,希望对发送给这种存储器的事务进行重新排序以力图改善访问时间并特别地保证当特定行已经被激活时尽可能多的发生对该行的访问。出现在2000年6月14日发表的2000年第27届计算机架构国际研讨会论文集第128页-138页的美国加州斯坦福大学计算机系统实验室的SRixner等人的文章“存储器访问调度(MemoryAccessScheduling)”中讨论了DRAM架构和可被用来尝试对存储器操作进行重新排序以便利用DRAM的非均匀访问时间的若干存储器访问调度技术。由于在各种类型的系统(媒体处理系统)中存储器带宽正变成获得较高性能的限制因素,对存储器操作进行重新排序以便减少所观察到的访问时间的技术可能非常有益。然而,在许多实际应用中,在包含这种存储器设备的系统中还必需考虑其它度量。特别地,如果存储器访问重新排序被孤立地执行来优化存储器访问时间,存在这种重新排序可能对系统的另一个度量产生不利影响到不可接受的程度的可能性。作为示例,经常存在这样的情况,即某种形式的优先级指示被与数据处理系统中发出的各个事务相关联。这可以是由发出该事务的主设备添加的显式优先级指示,或者可以是从该事务中推断出的隐式优先级指示。例如,可以理解,某些主设备的活动比由其它主设备执行的活动更重要(至少更不耐受延时),因此由这样的主设备发出的事务可以被布置为具有推断的较高优先级。通常情况下,这种优先级指示表明那些事务所需要的服务质量,因此确保对由此存储器设备发出的事务进行重新排序以便减少访问时间的要求和这样的服务质量的需求保持平衡的是重要的。因此,希望提供能够使得这样的平衡得以实现的改进的存储器控制器。
技术实现思路
从第一方面看,本专利技术提供了一种用于控制对存储器设备的存取的存储器控制器,存储器设备具有非均匀访问定时特性从而使得对存储器地址进行访问花费的时间取决于存储器设备中的先前的访问活动,存储器控制器包括:接口,被配置来接收从至少一个事务源发出的事务,每个事务指定该事务要访问的存储器地址并包括与该事务相关联的优先级指示;存储装置(storage),被配置来将通过接口接收的还没有被存储器控制器发送给存储器设备的那些事务临时存储为挂起事务(pendingtransaction),存储装置保持对于所存储的挂起事务的多个有序列表,包括至少一个基于优先级的有序列表和至少一个访问定时有序列表;每个基于优先级的有序列表具有多个条目,每个条目与所述挂起事务之一相关联,且每个条目基于相关联的挂起事务的优先级指示在其基于优先级的有序列表中被排序;每个访问定时有序列表具有多个条目,每个条目与所述挂起事务之一相关联,且与每个访问定时有序列表相关联的挂起事务形成一事务组,一旦该组中的某一事务的存储器地址被访问,该组各事务的存储器地址就能够被存储器设备根据非均匀访问定时特性有效地访问;仲裁电路,被配置来执行仲裁操作,在仲裁操作过程中所述多个有序列表被参考以便从所述挂起事务中选择要被发送给存储器设备的获胜事务,存储装置被布置来从多个有序列表中移除该获胜事务的任何条目;如果当仲裁操作被执行时,仲裁操作上次被执行时所选中的获胜事务在所述至少一个访问定时有序列表之一中具有条目且该至少一个访问定时有序列表仍然非空,除非存在预定的异常状况,否则仲裁操作被布置来将挂起事务中在该至少一个访问定时有序列表中具有条目的挂起事务选作获胜事务。依据本专利技术,两种不同类型的有序列表被用来记录等候被分派到存储器设备的挂起事务,第一种类型的列表是基于优先级的有序列表,第二种类型的列表是访问定时有序列表。仲裁电路被布置来当执行仲裁操作时参考这两种类型的列表,以便选择要被发送给存储器设备的获胜事务。一旦已经从访问定时有序列表之一中选中获胜事务,当该访问定时有序列表继续包含挂起事务的条目时,仲裁电路被预先布置来从该访问定时有序列表中选择后续的获胜事务(在不存在预定的异常状况的情况下)。这种方法使得在对挂起事务进行重新排序以改善存储器设备中的访问时间和考虑与挂起事务相关联的优先级以便确保高优先级的事务不被过度地延迟的需求之间达到平衡。在一个实施例中,如果仲裁操作上次被执行时所选中的获胜事务没有在所述至少一个访问定时有序列表中具有条目,或在所述至少一个访问定时有序列表中有条目但该至少一个访问定时有序列表现在是空的,则仲裁操作被布置来将在所述至少一个基于优先级的有序列表之一中的头部位置具有条目的挂起事务选作获胜事务。这确保较高优先级的挂起事务及时地被提供服务。在一个实施例中,可以采用进一步的步骤来确保高优先级的挂起事务及时地被提供服务,即使特定的访问定时有序列表参考的条目的数目变得相当大。特别地,在一个实施例中,存储器控制器还包括限制器电路,限制器电路被配置来至少监测从所述访问定时有序列表之一中选出的连续的获胜事务的数目,并在阈值条件出现时断言(assert)限制器信号。如果所述限制器信号被断言则预定的异常状况被检测出,且仲裁电路随后响应于限制器信号的断言来使得仲裁操作的下次执行将在所述至少一个基于优先级的有序列表之一中的头部位置处具有条目的挂起事务选作获胜事务,即使仲裁操作上次被执行时所选中的获胜事务在所述至少一个访问定时有序列表中具有条目且该至少一个访问定时有序列表仍然非空。在一个这样的实施例中,阈值条件可以仅采用某个最大计数值的形式,每当从基于优先级的列表中选出获胜事务,该计数值被重新设置,且每当从访问定时有序列表中选出获胜事务,该计数值被递增。因此,应该理解,如果仲裁电路从特定的访问定时有序列表中连续选择获胜请求,那么计数值将增加直到达到阈值条件的点。一旦达到阈值条件,随后仲裁电路从相关的基于优先级的有序列表中选择下一个获胜事务,尽管访问定时有序列表还未空。在修改的实施例中,限制器电路可能不是仅采用计数器的形式,而是可以将逐渐降低的优先本文档来自技高网
...
存储器控制器和这种存储器控制器的操作方法

【技术保护点】
一种存储器控制器,用于控制对存储器设备的访问,所述存储器设备具有非均匀访问定时特性,从而访问存储器地址花费的时间取决于所述存储器设备中先前的访问活动,所述存储器控制器包括:接口,所述接口被配置来接收从至少一个事务源发出的事务,每个事务指定该事务要访问的存储器地址并包括与该事务相关联的优先级指示;存储装置,所述存储装置被配置来将通过所述接口接收的还没有被所述存储器控制器发送给所述存储器设备的那些事务临时存储为挂起事务,所述存储装置保持对于所存储的挂起事务的多个有序列表,包括至少一个基于优先级的有序列表和至少一个访问定时有序列表;每个基于优先级的有序列表具有多个条目,每个条目与所述挂起事务之一相关联,且每个条目基于相关联的挂起事务的优先级指示在其基于优先级的有序列表中被排序;每个访问定时有序列表具有多个条目,每个条目与所述挂起事务之一相关联,且与每个访问定时有序列表相关联的挂起事务组成一事务组,一旦该组中的某一事务的存储器地址被访问,该组各事务的存储器地址就能够被所述存储器设备根据所述非均匀访问定时特性有效地访问;以及仲裁电路,所述仲裁电路被配置来执行仲裁操作,在所述仲裁操作过程中所述多个有序列表被参考以便从所述挂起事务中选择要被发送给所述存储器设备的获胜事务,所述存储装置被布置来从所述多个有序列表中移除该获胜事务的任何条目;如果当所述仲裁操作被执行时,所述仲裁操作上次被执行时所选中的获胜事务在所述至少一个访问定时有序列表之一中具有条目且所述至少一个访问定时有序列表仍然非空,除非存在预定的异常状况,否则该仲裁操作被布置来将所述挂起事务中的在所述至少一个访问定时有序列表中具有条目的挂起事务选作获胜事务。...

【技术特征摘要】
【国外来华专利技术】2011.06.24 US 13/067,7751.一种存储器控制器,用于控制对存储器设备的访问,所述存储器设备包括多个存储库,每个存储库包括多行,且所述存储器设备具有非均匀访问定时特性,从而访问存储器地址花费的时间取决于所述存储器设备中先前的访问活动,所述存储器控制器包括:接口,所述接口被配置来接收从至少一个事务源发出的事务,每个事务指定该事务要访问的存储器地址并包括与该事务相关联的优先级指示;存储装置,所述存储装置被配置来将通过所述接口接收的还没有被所述存储器控制器发送给所述存储器设备的那些事务临时存储为挂起事务,所述存储装置保持对于所存储的挂起事务的多个有序列表,包括至少一个基于优先级的有序列表和至少一个访问定时有序列表,所述至少一个基于优先级的有序列表对于存在挂起事务的每个存储库包括单独的基于优先级的有序列表,且所述至少一个访问定时有序列表针对存在挂起事务的每个存储库的每个行包括单独的访问定时有序列表;每个基于优先级的有序列表具有多个条目,每个条目与所述挂起事务之一相关联,且每个条目基于相关联的挂起事务的优先级指示在其基于优先级的有序列表中被排序,每个基于优先级的有序列表包括多个子列表,每个条目存在于一个子列表中,从而各个子列表的条目与具有相同的优先级指示的事务相关,这些子列表基于所述优先级指示在其基于优先级的有序列表中被排序,且在每个子列表中,该子列表的条目基于相关联的挂起事务通过所述接口接收的时间顺序被排序;每个访问定时有序列表具有多个条目,每个条目与所述挂起事务之一相关联,且与每个访问定时有序列表相关联的挂起事务组成一事务组,一旦该组中的某一事务的存储器地址被访问,该组各事务的存储器地址就能够被所述存储器设备根据所述非均匀访问定时特性有效地访问;以及仲裁电路,所述仲裁电路被配置来执行仲裁操作,在所述仲裁操作过程中所述多个有序列表被参考以便从所述挂起事务中选择要被发送给所述存储器设备的获胜事务,所述存储装置被布置来从所述多个有序列表中移除该获胜事务的任何条目;如果当所述仲裁操作被执行时,所述仲裁操作上次被执行时所选中的获胜事务在所述至少一个访问定时有序列表之一中具有条目且所述至少一个访问定时有序列表仍然非空,除非存在预定的异常状况,否则该仲裁操作被布置来将所述挂起事务中的在所述至少一个访问定时有序列表中具有条目的挂起事务选作获胜事务;以及其中,如果所述仲裁操作上次被执行时所选中的获胜事务没有在所述至少一个访问定时有序列表之一中具有条目,或在所述至少一个访问定时有序列表之一中具有条目但该至少一个访问定时有序列表现在是空的,则所述仲裁操作被布置来将在所述至少一个基于优先级的有序列表之一中的头部位置具有条目的挂起事务选作获胜事务。2.如权利要求1所述的存储器控制器,其中,在每个访问定时有序列表中,各条目基于相关联的挂起事务通过所述接口接收的时间顺序被排序。3.如权利要求1或权利要求2所述的存储器控制器,其中:每行在被访问之前需要被激活,从而对指定的存储器地址的访问定时随包含所述指定的存储器地址的行是否已经被激活而变化。4.如权利要求1所述的存储器控制器,还包括分配电路,所述分配电路响应于通过所述接口接收的每个事务来在所述多个有序列表中的至少一个有序列表中为该事务分配条目。5.如权利要求4所述的存储器控制器,其中,对于通过所述接口接收的每个事务,所述分配电路被配置来在所述至少一个基于优先级的有序列表之一中和所述至少一个访问定时有序列表之一中为该事务分配条目。6.如权利要求1所述的存储器控制器,其中:在每个基于优先级的有序列表中,每个条目包括头部指示符和尾部指示符,如果该条目在此基于优先级的有序列表中的头部位置则所述头部指示符被设置,如果该条目在此基于优先级的有序列表中的尾部位置则所述尾部指示符被设置;以及每个条目还包括到此基于优先级的有序列表中的下一个条目的指针,所述下一个条目在比指针指向该下一个条目的条目离所述头部位置更远的位置。7.如权利要求6所述的存储器控制器,其中,每个条目还标识相关联的挂起事务的优先级指示。8.如权利要求7所述的存储器控制器,其中,每个条目标识与所述下一个条目相关联的挂起事务的优先级指示。9.如权利要求8所述的存储器控制器,还包括:分配电路,所述分配电路响应于通过所述接口接收的当前事务来在所述至少一个基于优先级的有序列表中的所选中的基于优先级的有序列表中为所述当前事务分配条目,所选中的基于优先级的有序列表是根据由所述当前事务指定的存储器地址而被选出的;所述分配电路被配置来识别所选中的基于优先级的有序列表中的条目,该条目的相关联的挂起事务的优先级指示大于或等于所述当前事务的优先级指示,且与下一个条目相关联的挂起事务的优先级指示小于所述当前事务的优先级指示;以及所述分配电路还被配置来向所选中的基于优先级的有序列表中添加所述当前事务的新条目,所述新条目被排序以使得所述新条目与所识别出的条目相邻但比所识别出的条目离所述头部位置更远。10.如权利要求9所述的存储器控制器,其中,所识别出的条目的指针被更新来指向所述新条目,且所述新条目的指针被布置来指向所述下一个条目。11.如权利要求10所述的存储器控制器,其中,在所述下一个条目中,相关联的挂起事务的优先级指示被更新。12.如权利要求11所述的存储器控制器,其中,相关联的挂起事务的优先级指示被更新为对应于与所述新条目相关联的当前事务的优先级指示。13.如权利要求9到12中的任一权利要求所述的存储器控制器,其中,如果所述新条目在所述基于优先级的有序列表中的尾部位置,所述分配电路使得所述新条目的尾部指示符被设置,且先前在所述尾部位置的条目的尾部指示符被清除。14.如权利要求9所述的存储器控制器,其中,如果在所选中的基于优先级的有序列表中不存在其相关联挂起事务的优先级指示大于或等于所述当前事务的优先级指示的条目,所述分配电路被配置来在所述头部位置添加所述当前事务的新条目,所述新条目的头部指示符被设置且所述新条目的指针被布置来指向先前在所述头部位置的条目,且先前在所述头部位置的条目的头部指示符被清除。15.如权利要求9所述的存储器控制器,其中,如果所选中的基于优先级的有序列表当前没有条目,所述分配电路被布置来使得为所述当前事务分配的新条目被设置其头部指示符和尾部指示符。16.如权利要求1所述的存储器控制器,其中:在每个访问定时有序列表内,每个条目包括头部指示符和尾部指示符,如果该条目在此访问定时有序列表的头部位置则头部指示符被设置,如果该条目在此访问定时有序列表的尾部位置则尾部指示符被设置;以及每个条目还包括到此访问定时有序列表中的下一个条目的指针,所述下一个条目在比指针指向该下一个条目的条目离所述头部位置更远的位置。17.如权利要求16所述的存储器控制器,其中,由所述至少一个事务源发出的突发事务被转换成对于所述存储器设备的多个链接的突发事务,所述存储器控制器还包括:分配电路,所述分配电路被布置来将所述链接的突发事务中的第一个突发事务分配到所述至少一个访问定时有序列表之一中的条目,并随后将所有剩余的链接的突发事务分配到与该条目相关联的激励列表中的激励列表条目。18.如权利要求17所述的存储器控制器,其中,如果当所述仲裁操作被执行时,所述仲裁操作上次被执行时所选中的获胜事务在所述至少一个访问定时有序列表之一中具有条目,且该条目具有与其相关联的激励列...

【专利技术属性】
技术研发人员:迈克尔·安德鲁·坎贝尔克里斯托弗·埃德温·瑞格利布雷特·斯坦利·菲勒
申请(专利权)人:ARM有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1