一种存储器的控制方法和装置与流程

文档序号:12597117阅读:267来源:国知局
一种存储器的控制方法和装置与流程

本发明涉及数据通信技术领域,尤其涉及一种存储器的控制方法和装置。



背景技术:

随着因特网业务的爆炸性增长,数据链路的流量越来越大,所需的交换设备的处理能力也越来越高。与交换芯片采用的外挂双倍速率同步动态随机存储器(DDR,Double Data Rate)作为缓存的方式相比,内嵌式动态随机访问随机存储器(DRAM,Dynamic Random Access Memory)作为缓存的方式有更多的优势:更高的性能、更少的管脚、更低的功耗、更高的集成度。但是DRAM的电容器会因为漏电而使电荷消失,因而该器件是不稳定的;为了将数据保存在存储器中,DRAM必须有规律的进行刷新。

在实际使用中,缓存管理在进行读写操作的过程中会遇到三种工作冲突:读操作和写操作的冲突;读操作和刷新操作的冲突;写操作和刷新操作的冲突。这些冲突会影响到缓存的读写效率。因此,如何在缓存管理正常工作的情况下,避免不必要的冲突,提高缓存读写效率,是亟待解决的技术问题。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种存储器的控制方法和装置,以至少减少读、写和刷新操作之间的冲突,提高的缓存读写效率。

为达到上述目的,本发明实施例的技术方案是这样实现的:

本发明实施例一种存储器的控制方法,所述方法包括:

当在同一时间获得不同操作类型的操作有效地址时,将所述在同一时间获得的不同操作类型的操作有效地址进行比较,以判断是否存在操作有效地址相同的不同操作类型;

当判断存在操作有效地址相同的不同操作类型时,确定存在操作冲突,并根据所述操作有效地址相同的操作类型选择相应的冲突解决策略,执行所述冲突解决策略。

上述方案中,

当所述操作有效地址相同的不同操作类型为读操作与写操作时,所述根据操作有效地址相同的操作类型选择相应的冲突解决策略,执行冲突解决策略,包括:根据操作有效地址相同的读操作与写操作,选择针对读操作与写操作冲突的第一策略,执行所述第一策略;

当所述操作有效地址相同的不同操作类型为读操作与刷新操作、或写操作与刷新操作时,所述根据操作有效地址相同的操作类型选择相应的冲突解决策略,执行冲突解决策略,包括:根据操作有效地址相同的读操作与刷新操作、或写操作与刷新操作,选择针对读操作与刷新操作冲突、或写操作与刷新操作冲突的第二策略,执行所述第二策略。

上述方案中,所述执行第一策略包括:

识别所述第一策略中配置的冲突处理模式标识;

在确定当前配置的冲突处理模式标识为第一标识时,优先执行发生冲突的读操作和写操作中的写操作;

在确定当前配置的冲突处理模式标识为第二标识时,优先执行发生冲突的读操作和写操作中的读操作;

在确定当前配置的冲突处理模式标识为第三标识时,判断距离本次操作最近的在前操作类型,若距离本次操作最近的在前操作类型为读操作,则优先执行发生冲突的读操作和写操作中的写操作;若距离本次操作最近的在前操作类型为写操作,则优先执行发生冲突的读操作和写操作中的读操作。

上述方案中,在所述识别第一策略中配置的冲突处理模式标识之前,所述方法还包括:

识别所述第一策略中配置的强制刷新标识,若所述强制刷新标识为第四标识,则执行对所述操作有效地址的强制刷新操作;若所述强制刷新标识为第五 标识,则识别所述第一策略中配置的冲突处理模式标识。

上述方案中,所述执行第二策略包括:

根据在刷新时间内配置的第一时间,执行发生冲突的操作中的刷新操作;根据在刷新时间内配置的第二时间,执行发生冲突的操作中的读操作或写操作。

上述方案中,所述刷新时间被划分为N个等份时间,N为大于等于2的整数,每个所述等份时间分为刷新时间和刷新空闲时间,其中,所述刷新时间为用于执行刷新操作的时间,所述刷新空闲时间为用于执行读或写操作的时间;所述N个等份时间内的所有刷新时间组成所述第一时间,所述N个等份时间内的所有刷新空闲时间组成所述第二时间。

上述方案中,所述方法还包括:

在执行所述第二策略的刷新时间内,获取到强制刷新指令时,执行对相应操作有效地址的强制刷新操作。

本发明实施例还提供了一种存储器的控制装置,所述装置包括:

比较单元,用于在同一时间获得不同操作类型的操作有效地址时,将所述在同一时间获得的不同操作类型的操作有效地址进行比较,以判断是否存在操作有效地址相同的不同操作类型;

冲突处理单元,用于在判断存在操作有效地址相同的不同操作类型时,确定存在操作冲突,并根据所述操作有效地址相同的操作类型选择相应的冲突解决策略,执行所述冲突解决策略。

上述方案中,所述冲突处理单元进一步用于,在所述操作有效地址相同的不同操作类型为读操作与写操作时,根据操作有效地址相同的读操作与写操作,选择针对读操作与写操作冲突的第一策略,执行所述第一策略;

在所述操作有效地址相同的不同操作类型为读操作与刷新操作、或写操作与刷新操作时,根据操作有效地址相同的读操作与刷新操作、或写操作与刷新操作,选择针对读操作与刷新操作冲突、或写操作与刷新操作冲突的第二策略,执行所述第二策略。

上述方案中,所述冲突处理单元进一步用于执行以下第一策略:

识别所述第一策略中配置的冲突处理模式标识;

在确定当前配置的冲突处理模式标识为第一标识时,优先执行发生冲突的读操作和写操作中的写操作;

在确定当前配置的冲突处理模式标识为第二标识时,优先执行发生冲突的读操作和写操作中的读操作;

在确定当前配置的冲突处理模式标识为第三标识时,判断距离本次操作最近的在前操作类型,若距离本次操作最近的在前操作类型为读操作,则优先执行发生冲突的读操作和写操作中的写操作;若距离本次操作最近的在前操作类型为写操作,则优先执行发生冲突的读操作和写操作中的读操作。

上述方案中,所述冲突处理单元进一步用于,在所述识别第一策略中配置的冲突处理模式标识之前,识别所述第一策略中配置的强制刷新标识,若所述强制刷新标识为第四标识,则执行对所述操作有效地址的强制刷新操作;若所述强制刷新标识为第五标识,则识别所述第一策略中配置的冲突处理模式标识。

上述方案中,所述冲突处理单元进一步用于执行以下第二策略:

根据在刷新时间内配置的第一时间,执行发生冲突的操作中的刷新操作;根据在刷新时间内配置的第二时间,执行发生冲突的操作中的读操作或写操作。

上述方案中,所述刷新时间被划分为N个等份时间,N为大于等于2的整数,每个所述等份时间分为刷新时间和刷新空闲时间,其中,所述刷新时间为用于执行刷新操作的时间,所述刷新空闲时间为用于执行读或写操作的时间;所述N个等份时间内的所有刷新时间组成所述第一时间,所述N个等份时间内的所有刷新空闲时间组成所述第二时间。

上述方案中,所述冲突处理单元进一步用于,在执行所述第二策略的刷新时间内,获取到强制刷新指令时,执行对相应操作有效地址的强制刷新操作。

本发明实施例所述提供的一种存储器的控制方法和装置,针对DRAM缓存管理中读、写、刷新操作冲突频繁的特点,通过执行特定的读写冲突解决策略、以及读(或写)操作与刷新操作的冲突解决策略,从而能够依据芯片具体使用情况,灵活处理缓存的操作冲突,减少读、写、刷新操作之间的冲突,提高的 缓存读写效率。

附图说明

图1为本发明实施例一的存储器的控制方法流程示意图;

图2为本发明实施例二的流程示意图;

图3为本发明实施例三的刷新时间划分示意图;

图4为本发明实施例三的流程示意图;

图5为本发明实施例四的存储器的控制装置的组成结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。

实施例一

本发明实施例一提供的一种存储器的控制方法,如图1所示,该方法主要包括:

步骤101,当在同一时间获得不同操作类型的操作有效地址时,将所述在同一时间获得的不同操作类型的操作有效地址进行比较,以判断是否存在操作有效地址相同的不同操作类型。

例如:当在同一时间获得第一操作类型和第二操作类型的操作有效地址时,将第一操作类型的操作有效地址与第二操作类型的操作有效地址进行比较,以判断两者的操作有效地址是否相同。

步骤102,当判断存在操作有效地址相同的不同操作类型时,确定存在操作冲突,并根据所述操作有效地址相同的操作类型选择相应的冲突解决策略,执行所述冲突解决策略。

例如:当判断在同一时间有第一操作类型和第二操作类型同时针对相同的操作有效地址时,确定存在操作上的冲突。

其中,当所述操作有效地址相同的不同操作类型为读操作与写操作时,所述根据操作有效地址相同的操作类型选择相应的冲突解决策略,执行冲突解决 策略,包括:根据操作有效地址相同的读操作与写操作,选择针对读操作与写操作冲突的第一策略,执行所述第一策略;

当所述操作有效地址相同的不同操作类型为读操作与刷新操作、或写操作与刷新操作时,所述根据操作有效地址相同的操作类型选择相应的冲突解决策略,执行冲突解决策略,包括:根据操作有效地址相同的读操作与刷新操作、或写操作与刷新操作,选择针对读操作与刷新操作冲突、或写操作与刷新操作冲突的第二策略,执行所述第二策略。

所述执行第一策略包括:

识别所述第一策略中配置的冲突处理模式标识;

在确定当前配置的冲突处理模式标识为第一标识时,优先执行发生冲突的读操作和写操作中的写操作;

在确定当前配置的冲突处理模式标识为第二标识时,优先执行发生冲突的读操作和写操作中的读操作;

在确定当前配置的冲突处理模式标识为第三标识时,判断距离本次操作最近的在前操作类型,若距离本次操作最近的在前操作类型为读操作,则优先执行发生冲突的读操作和写操作中的写操作;若距离本次操作最近的在前操作类型为写操作,则优先执行发生冲突的读操作和写操作中的读操作。

在所述识别第一策略中配置的冲突处理模式标识之前,所述方法还可以包括:

识别所述第一策略中配置的强制刷新标识,若所述强制刷新标识为第四标识,则执行对所述操作有效地址的强制刷新操作,在执行强制刷新操作后再识别所述第一策略中配置的冲突处理模式标识;若所述强制刷新标识为第五标识,则识别所述第一策略中配置的冲突处理模式标识。

所述执行第二策略包括:

根据在刷新时间内配置的第一时间,执行发生冲突的操作中的刷新操作;根据在刷新时间内配置的第二时间,执行发生冲突的操作中的读操作或写操作。

一种刷新时间配置的实施方式为,所述刷新时间被划分为N个等份时间, N为大于等于2的整数,每个所述等份时间分为刷新时间和刷新空闲时间,其中,所述刷新时间为用于执行刷新操作的时间,所述刷新空闲时间为用于执行读或写操作的时间;所述N个等份时间内的所有刷新时间组成所述第一时间,所述N个等份时间内的所有刷新空闲时间组成所述第二时间。

在一实施方式中,所述方法还包括:

在所述刷新时间内,获取到强制刷新指令时,执行对相应操作有效地址的强制刷新操作。

下面再结合具体示例详细阐述本发明实施例的存储器的控制方法。

实施例二

参见图2,本发明实施例二针对读写冲突的处理。读写冲突发生时,对读写操作可以进行优先级选择机制。

在未发生强制刷新的情况下,通过读写是否同时有效地对同一地址进行操作得出一个控制信号,该控制信号表示已经发生读写冲突。另外有多比特的开关(值可配置)来选择当前读写操作的优先级,总共有三种模式:写操作优先、读操作优先、读写操作优先级RR轮询。

图2所示流程具体包括:

步骤A1:读写操作的有效地址输出;

步骤B1:对步骤A中的有效地址进行比较,当存在同时有效地对同一地址的读和写操作时,产生冲突标志;

步骤C1:判断强制刷新操作是否处理,如果处理,则执行强制刷新操作;否则进行下一步;

步骤D1:根据上一步中判断出读写冲突有效,根据配置的读写冲突处理模式进行读写冲突处理,如果该模式为“0”,即写优先,写操作有效;如果该模式为“1”,即读优先,读操作有效;如果该模式为“2”,那么读写操作还要进行下一步判断;

步骤E1:根据上一次操作记录标志,读写优先级进行RR(Round-Robin) 轮询操作:如果上一次操作为读,那么本次操作写有效,否则本次操作读有效。

实施例三

参见图3和图4,本发明实施例三针对读与刷新操作冲突、或者写与刷新操作冲突的处理。

通过读(或写)操作与刷新操作同时对同一bank(插槽)操作得出读(或写)刷新冲突信号。在总的刷新时间内(数据不掉电的时间),配置合适的刷新间隔来减少读(或写)操作与刷新操作的冲突概率,如图3所示:总的刷新时间(t)被分成若干等份时间(ts),在此固定时间切片内有固定时间(tref)用来刷新bank,其余刷新空闲时间(trw)用来对bank的读(或写)操作。这样在每个ts时间内,只要完成固定个数的bank刷新,其他刷新空闲时间就不会刷新,从而降低了刷新操作与读(或写)操作的冲突。

同时增加强制刷新机制:当该冲突信号有效时,即在上述刷新间隔可配置机制下最多出现一次刷新超时临界情况下进行强制刷新,保证所有的数据内容都被刷新到;此时读(写)操作暂停一次。即在上述刷新间隔可配置机制下,当出现刷新超时的临界情况,最多执行一次强制刷新,在执行强制刷新的时间间隔内,冲突的读(写)操作暂停一次。

图4所示流程具体包括:

步骤A2:配置刷新间隔值,输出读(或写)操作与刷新操作的有效bank;

步骤B2:对步骤A中的数据进行比较,当存在同时有效地对同一地址的读(或写)操作与刷新操作时,产生冲突标志;

步骤C2:当读(或写)刷新冲突无效时,读(或写)操作与刷新操作各自独立执行,否则会继续下一步;

步骤D2:当读(或写)刷新冲突有效时,如果不是处在强制刷新情况下,那么刷新操作会继续执行下一步,否则直接刷新当前bank;

步骤E2:刷新下一个bank。

实施例四

对应本发明实施例一的存储器的控制方法,本发明实施例四提供了一种存储器的控制装置,如图5所示,该装置主要包括:

比较单元10,用于在同一时间获得不同操作类型的操作有效地址时,将所述在同一时间获得的不同操作类型的操作有效地址进行比较,以判断是否存在操作有效地址相同的不同操作类型;

冲突处理单元20,用于在判断存在操作有效地址相同的不同操作类型时,确定存在操作冲突,并根据所述操作有效地址相同的操作类型选择相应的冲突解决策略,执行所述冲突解决策略。

其中,所述冲突处理单元20进一步用于,在所述操作有效地址相同的不同操作类型为读操作与写操作时,根据操作有效地址相同的读操作与写操作,选择针对读操作与写操作冲突的第一策略,执行所述第一策略;

在所述操作有效地址相同的不同操作类型为读操作与刷新操作、或写操作与刷新操作时,根据操作有效地址相同的读操作与刷新操作、或写操作与刷新操作,选择针对读操作与刷新操作冲突、或写操作与刷新操作冲突的第二策略,执行所述第二策略。

所述冲突处理单元20进一步用于执行以下第一策略:

识别所述第一策略中配置的冲突处理模式标识;

在确定当前配置的冲突处理模式标识为第一标识时,优先执行发生冲突的读操作和写操作中的写操作;

在确定当前配置的冲突处理模式标识为第二标识时,优先执行发生冲突的读操作和写操作中的读操作;

在确定当前配置的冲突处理模式标识为第三标识时,判断距离本次操作最近的在前操作类型,若距离本次操作最近的在前操作类型为读操作,则优先执行发生冲突的读操作和写操作中的写操作;若距离本次操作最近的在前操作类型为写操作,则优先执行发生冲突的读操作和写操作中的读操作。

所述冲突处理单元20进一步用于,在所述识别第一策略中配置的冲突处理 模式标识之前,识别所述第一策略中配置的强制刷新标识,若所述强制刷新标识为第四标识,则执行对所述操作有效地址的强制刷新操作;若所述强制刷新标识为第五标识,则识别所述第一策略中配置的冲突处理模式标识。

所述冲突处理单元20进一步用于执行以下第二策略:

根据在刷新时间内配置的第一时间,执行发生冲突的操作中的刷新操作;根据在刷新时间内配置的第二时间,执行发生冲突的操作中的读操作或写操作。

所述刷新时间被划分为N个等份时间,N为大于等于2的整数,每个所述等份时间分为刷新时间和刷新空闲时间,其中,所述刷新时间为用于执行刷新操作的时间,所述刷新空闲时间为用于执行读或写操作的时间;所述N个等份时间内的所有刷新时间组成所述第一时间,所述N个等份时间内的所有刷新空闲时间组成所述第二时间。

所述冲突处理单元20进一步用于,在执行所述第二策略的刷新时间内,获取到强制刷新指令时,执行对相应操作有效地址的强制刷新操作。

需要说明的是,上述比较单元10、冲突处理单元20可以由控制装置的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)或可编程逻辑阵列(FPGA,Field-Programmable Gate Array)实现。

综上所述,本发明实施例针对DRAM缓存管理中读、写、刷新操作冲突频繁的特点,通过执行特定的读写冲突解决策略、以及读(或写)操作与刷新操作的冲突解决策略,从而能够依据芯片具体使用情况,灵活处理缓存的操作冲突,减少读、写、刷新操作之间的冲突,提高的缓存读写效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1