一种计算系统可以包括处理器和存储器。计算系统还可以包括在处理器与存储器之间对接的存储器控制器。存储器控制器合并访问存储器行的请求以形成访问所述存储器行的单个请求。
【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
计算系统典型地包括存储器以存储由处理器执行的指令和用于数据的临时存储。存储器可以是动态随机存取存储器(DRAM)。DRAM包括DRAM电路的模块或组(bank)。存储器控制器典型地在处理器与存储器之间对接。【附图说明】在以下详细描述中并且参照附图来描述某些示例,其中: 图1是计算系统的示例的框图; 图2是存储器系统的示例的框图; 图3是对存储器访问请求进行重排序(reorder)的方法的示例的过程流程图;以及图4是对存储器访问请求进行重排序的方法的示例的过程流程图。【具体实施方式】存储器可能遭受由故障机制导致的失效。失效可以由各种故障机制导致,包括但不限于在特定字线处读取或写入数据的重复访问。在特定字线处读取或写入数据的重复访问可以影响与在物理上邻近于被重复访问或激活的字线的其它字线相关联的存储元件(即物理存储器存储组件)的内容。对字线重复访问可以导致邻近字线的放电。为了缓解重复访问(S卩“锤打(hammer)”或“传输门(pass gate)”故障机制)的影响,存储器控制器可以追踪行地址活动以执行行访问策略。然而,追踪行地址活动可以向存储器控制器添加复杂度。页面开放策略可以降低对DRAM的激活速率。页面开放策略是其中页面作为阵列存储在缓冲器中的页面(存储器地址块)管理策略。页面被包含在缓冲器中直到请求对不同页面的访问为止。然而,页面开放策略可能增加行冲突的发生。行冲突是其中请求对除存储在缓冲器中的页面之外的页面的访问的冲突。作为行冲突的结果,发生延迟,在其期间将页面从缓冲器清除并且将所请求的页面作为阵列存储在缓冲器中。作为行冲突所导致的等待时间的结果,DRAM存储器的效率降低。在检测到行冲突时可以通过对存储器控制器工作流中的请求进行重排序来解决行冲突。为了对请求进行重排序,追踪工作在存储器控制器内的所有行地址并且将所接收的请求与工作流中的所有请求相比较。该方法可能是复杂的。此外,对读取进行重排序可能增加等待时间并且从经重排序的写入操作返回的数据可以在返回到处理器之前被重排序。通过比较访问地址空间的存储器行中的地址的传入请求,可以合并(coal esce)访问存储器行的请求以形成访问存储器行的单个请求。作为结果,可以减少对存储器行的激活。由于存储器行的激活被减少,涉及重复激活的失效也被减少。图1是计算系统的示例的框图。除其它外,计算系统100可以尤其例如是台式计算机、服务器、膝上型计算机、平板计算机、个人数字助理(PDA)或诸如智能电话之类的蜂窝电话。计算系统100可以包括用于执行所存储的指令的中央处理单元(CPU) 102,以及存储由CPU 102可执行的指令的存储器设备104。此外,CPU 102可以是单核处理器、多核处理器或任何数目的其它配置。另外,计算系统100可以包括多于一个CPU 102。例如,计算系统100可以包括多个计算节点,每一个计算节点包括单个或多个处理器。CPU 102可以通过总线106耦合到存储器设备104。在示例中,存储器设备104可以包括动态随机存取存储器(DRAM),诸如包括多个模块或组(BANK)的DRAM。计算系统100还可以包括多个存储器104。例如,存储器104可以耦合到每一个CPU 102。在示例中,计算系统100可以包括多个存储器104,每一个存储器耦合到计算节点,或者每一个存储器104可由包括在计算系统100中的所有计算节点访问。CPU 102可以通过总线106链接到显示接口 108以将计算系统100连接到显示设备110。显示设备110可以包括作为计算系统100的内置组件的显示屏。除其它外,显示设备110还可以尤其包括计算机监视器、电视或投影仪,其在外部连接到计算系统100。CPU 102还可以通过总线106连接到输入/输出(I/O)设备接口 112以将计算系统100连接到一个或多个I/O设备114。I/O设备114可以包括例如键盘和指示设备,其中除其它外指示设备尤其可以包括触摸板或触摸屏。I/O设备114可以是计算系统100的内置组件,或者可以是在外部连接到计算系统100的设备。网络接口卡(NIC) 116可以通过系统总线106将计算系统100连接到网络(未描绘)。除其它外,网络(未描绘)尤其可以是广域网(WAN)、局域网(LAN)或因特网。在示例中,计算系统100可以经由有线连接或无线连接连接到网络。计算系统100还包括存储设备118。存储设备118是物理存储器,除其它外,尤其诸如硬驱动器、光学驱动器、指驱动器、安全数字(SD)卡、microSD卡、驱动器的阵列或其任何组合。存储设备118还可以包括远程存储驱动器。存储设备118包括在计算系统100上运行的任何数目的应用120。计算系统还包括用于访问存储器104的存储器控制器122。在示例中,计算系统可以包括多个存储器控制器122,每一个存储器控制器122与存储器104相关联。存储器控制器122包括工作流管理器124。在存储器控制器122中接收访问存储器104的请求。请求所请求访问的存储器行由存储器控制器确定。工作流管理器124确定访问存储器行的请求是否存在于存储器控制器122的工作流中。如果访问存储器行的请求存在于工作流中,工作流管理器124将所接收的请求与工作流中的请求合并(即组合)以形成访问存储器行的单个请求。例如,对于读取操作,存储器控制器可以通过重布置请求的次序或者如果请求访问与之前的请求相同的高速缓存则消除该请求来合并对存储器的请求。存储器可以以读取请求的接收次序而对请求者进行响应。对于写入请求,对给定存储器位置的多个写入可以被组合,如果它们是不同的“脏(dirty)”字节(对其的数据写入被中断的存储器位置)的话,或者可以被合并成单个写入,其中写入的组合副本为发送到存储器的副本。要理解到的是,图1的框图不意图指示计算系统100在每一种情况中都包括图1中所示的所有组件。另外,取决于具体实现方式的细节,任何数目的附加组件可以被包括在计算系统100内。图2是存储器系统200的示例的框图。存储器系统200包括存储器控制器202。存储器控制器202与存储器204交互并且控制对存储器204的访问。例如,存储器控制器可以在诸如CPU 102之类的处理器与存储器204之间对接。在示例中,存储器204可以是动态随机存取存储器(DRAM)。例如,存储器204可以包括多个模块或组。每一个模块包括多个存储器地址。存储器地址由其在存储器模块中的位置定义,包括地址位于其中的行、列、页面等。在存储器控制器202中接收访问存储器204的请求。所述请求可以是读取请求(SP读取存储在存储器204中的数据的请求)或写入请求(即将数据写入到存储器204的请求)。所述请求可以包括定义在存储器204中要被访问的位置的信息。例如,除其它外,所述请求尤其可以包括行、列和页面信息。当在存储器控制器202中接收到请求时,提取位置信息。存储器控制器包括工作流206。工作流204是要被处理的存储器请求的一个或多个队列。例如,工作流206可以包括包含被调度以被处理的请求的执行队列。工作流206还可以包括等待在执行队列中被调度的请求的队列。可以以任何合适的方式确定工作流206的队列中的每一个请求的位置。例如本文档来自技高网...
【技术保护点】
一种计算系统,包括:处理器;存储器;以及在处理器与存储器之间对接的存储器控制器,所述存储器控制器合并访问存储器行的请求以形成访问所述存储器行的单个请求。
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:MK贝内迪特,
申请(专利权)人:惠普发展公司,有限责任合伙企业,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。