CN121237148A - 内存刷新控制方法、内存刷新控制电路和电子设备 - Google Patents
内存刷新控制方法、内存刷新控制电路和电子设备Info
- Publication number
- CN121237148A CN121237148A CN202511230428.XA CN202511230428A CN121237148A CN 121237148 A CN121237148 A CN 121237148A CN 202511230428 A CN202511230428 A CN 202511230428A CN 121237148 A CN121237148 A CN 121237148A
- Authority
- CN
- China
- Prior art keywords
- read
- refresh
- memory
- current
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Dram (AREA)
Abstract
本申请提供一种内存刷新控制方法、内存刷新控制电路和电子设备,方法包括:获取当前内存库的若干读写命令的命令信息,所述当前内存库为多个所述内存库中的任一者;根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,确定执行若干所述读写命令期间的所述当前内存库刷新时序。由于本申请提供的方案采用了单个内存库独立进行刷新实现内存刷新功能,有利于内存所在设备整体具有更高的时钟频率,帮助实现高效刷新;此外综合考虑了读写命令的命令信息以及当前内存库的刷新时间间隔,可以有效地减少因读写命令被打断而产生的额外时间损失,从而提高了内存读写访问的有效带宽。
Description
技术领域
本申请涉及芯片内存控制技术领域,尤其涉及一种内存刷新控制方法、内存刷新控制电路和电子设备。
背景技术
双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR)在系统级芯片(System on Chips,SoC)上应用广泛,而DDR的有效访问带宽是制约系统级芯片性能的重要因素之一。
DDR控制器为了维持内部数据的稳定性,需要每间隔一定的时间对内存库发送刷新命令进行一次刷新操作。而DDR的刷新机制很大程度会影响DDR的有效访问带宽。具体来说,目前最常用的DDR内存刷新方式有两种模式。第一种是一次刷新所有的Bank(内存库),第二种是一次只刷新一个Bank,分多次将所有Bank刷新完。
在后者的情况下,假设DDR内存中Bank较多,则刷新命令成倍增长。而实际由于刷新的时候不能进行读写访问,因此在刷新命令和Bank数量较多的情况,容易出现读写操作与刷新操作同时出现的情况,这使得读写操作需要等待刷新完成后才能执行,但这种方式会降低读写的有效带宽。
发明内容
本申请提供一种内存刷新控制方法、内存刷新控制电路和电子设备,用于解决现有技术在进行内存库刷新时降低了读写访问的有效带宽的技术问题。
本申请提供一种内存刷新控制方法,所述内存包括多个内存库,所述方法包括:
获取当前内存库的若干读写命令的命令信息,所述当前内存库为多个所述内存库中的任一者;
根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,确定执行若干所述读写命令期间的所述当前内存库刷新时序。
在一些实施例中,所述根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,确定执行若干所述读写命令期间的所述当前内存库刷新时序,包括:
根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,评估所述当前内存库内存刷新的优先级,得到评估信息;
根据所述评估信息,确定执行若干所述读写命令期间的所述当前内存库刷新时序。
在一些实施例中,所述根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,评估所述当前内存库内存刷新的优先级,得到评估信息,包括:
根据若干所述读写命令的命令信息,对所述当前内存库内存刷新的优先级进行初步评估,得到初步评估信息;
根据所述当前内存库的刷新时间间隔,对所述初步评估信息进行调整,得到所述评估信息。
在一些实施例中,所述根据若干所述读写命令的命令信息,对所述当前内存库内存刷新的优先级进行初步评估,得到初步评估信息,包括以下至少一项:
在所述命令信息指示若干所述读写命令中包括行地址切换的读写命令和/或读写切换的读写命令时,所述初步评估信息指示所述当前内存库的内存刷新高优先级;
在所述命令信息指示若干所述读写命令中包括行地址不变的读写命令时,所述初步评估信息指示所述当前内存库的内存刷新低优先级;
在所述命令信息指示所述当前内存库不存在所述读写命令时,所述初步评估信息指示所述当前内存库的内存刷新无时序限制。
在一些实施例中,所述根据所述当前内存库的刷新时间间隔,对所述初步评估信息进行调整,得到所述评估信息,包括:
在所述当前内存库的所述刷新时间间隔接近时间间隔阈值时,所述评估信息由所述初步评估信息调整至最高优先级。
在一些实施例中,所述根据所述评估信息,确定执行若干所述读写命令期间的所述当前内存库刷新时序,包括:
响应于所述评估信息,在所述当前内存库的读写命令流中插入刷新命令以构成所述所述当前内存库刷新时序,所述读写命令流由若干所述读写命令依据时序组成。
在一些实施例中,所述根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,确定执行若干所述读写命令期间的所述当前内存库刷新时序之后,还包括:
对执行若干所述读写命令期间的所述当前内存库刷新时序进行命令仲裁。
本申请提供一种内存刷新控制电路,包括读写命令缓冲器和命令评估模块;其中,
所述读写命令缓冲器,用于缓冲当前内存库中的若干读写命令,以及所述读写命令的命令信息,所述当前内存库为多个内存库中的任一者;
所述命令评估模块,用于对所述当前内存库的刷新时间间隔进行计时,用于根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,在若干所述读写命令执行期间触发所述刷新插入器插入所述当前内存库刷新时序。
在一些实施例中,所述命令评估模块包括刷新计时器和读写命令评估器;
所述读写命令评估器,用于根据若干所述读写命令的命令信息,对所述当前内存库内存刷新的优先级进行初步评估,得到初步评估信息;
所述刷新计时器,还用于根据所述当前内存库的刷新时间间隔,对所述初步评估信息进行调整,得到所述评估信息,以在若干所述读写命令执行期间根据所述评估信息触发所述刷新插入器插入所述当前内存库刷新时序。
本申请提供一种电子设备,所述电子设备执行如上所述的内存刷新控制方法,或者,所述电子设备包括上述的内存刷新控制电路。
本申请提供的内存刷新控制方法、内存刷新控制电路和电子设备,通过获取当前内存库的若干读写命令的命令信息,当前内存库为多个内存库中的任一者,进而根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,确定执行若干读写命令期间的所述当前内存库刷新时序。
其中由于单个内存库的所述当前内存库刷新时序是依据所在内存库的若干读写命令信息以及当前内存库的刷新时间间隔确定的,即可以理解为单个内存库都有一套各自的所述当前内存库刷新时序确定方案,这种单个内存库独立进行刷新的方式,即各Bank的读写命令分开处理,有利于实现高效刷新,此外各个Bank的所述当前内存库刷新时序独立进行评估确定,使得内存刷新控制的硬件逻辑电路实现简单进而有利于实现高速时钟频率,形成高速逻辑电路。再者,由于综合考虑了读写命令的命令信息,以及当前内存库的刷新时间间隔,使得执行若干读写命令期间插入的所述当前内存库刷新时序不会打断读写命令的执行,可以有效地减少了因读写命令被打断而产生的额外时间损失,从而提高了内存读写访问的有效带宽。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的内存刷新控制方法的流程示意图。
图2是本申请提供的内存刷新控制电路的结构示意图。
图3是本申请提供的内存控制器的结构示意图。
图4是本申请提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元或模块。
图1是本申请提供的内存刷新控制方法的流程示意图,如图1所示,该方法包括步骤110和步骤120。
步骤110、获取当前内存库的若干读写命令的命令信息,当前内存库为多个内存库中的任一者;
步骤120、根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,确定执行若干读写命令期间的所述当前内存库刷新时序。
在本实施例中,由于单个内存库的所述当前内存库刷新时序是依据所在内存库缓存的若干读写命令信息以及当前内存库的刷新时间间隔确定的,即可以理解为单个内存库都有一套各自的所述当前内存库刷新时序确定方案,这种单个内存库独立进行刷新的方式,即各Bank的读写命令分开处理,有利于实现高效刷新,此外各个Bank的所述当前内存库刷新时序独立进行评估确定,使得内存刷新控制的硬件逻辑电路实现简单进而有利于实现高速时钟频率,形成高速逻辑电路。再者,由于综合考虑了读写命令的命令信息,以及当前内存库的刷新时间间隔,使得执行若干读写命令期间插入的所述当前内存库刷新时序不会打断读写命令的执行,可以有效地减少了因读写命令被打断而产生的额外时间损失,从而提高了内存读写访问的有效带宽。
具体地,内存需要定期进行刷新操作,重新充电以保持数据的正确性,例如内存可以是指动态随机存取存储器。内存库是指内存中的存储库。一个内存可以被划分为多个内存库进行数据存储。本申请实施例提供的内存刷新控制方法的应用场景为对内存中的各个内存库进行刷新。
本申请实施例针对内存中各个内存库进行分开处理,例如可以为各个内存库独立设置对应的内存刷新控制电路,使得内存库与内存刷新控制电路一一对应,在一些示例中,单个内存库也可以对应多套独立的内存刷新控制电路。
各个内存库分别对应的内存刷新控制电路可以按照电路逻辑,结合对应内存库中的命令信息以及内存的刷新时间间隔,设定刷新命令插入到读写命令序列中的时机,即确定执行若干所述读写命令期间的该内存库的所述当前内存库刷新时序,由此能够基于一次只刷新一个Bank的模式,将各Bank的读写命令进行分通道处理,并且采用各自对应的内存刷新控制电路对读写和刷新的时间进行合理的评估,实现刷新命令的合理插入,有效地避免相同的Bank读写访问操作需等待刷新完成的问题,从而提高DDR的有效访问带宽。
下面结合图2和图3以当前内存库(当前内存库为多个内存库中的任一者)为例对本申请实施例提供的方法进行说明。
内存刷新控制电路中的读写命令缓冲器可以对当前内存库的若个读写命令进行缓冲,生成当前内存库的读写命令序列。读写命令序列按照执行时间顺序,对各个读写命令进行排列。其中,读写命令用于对当前内存库中的数据进行读取或者在当前内存库中写入数据。
除此之外,读写命令缓冲器中还记录了读写命令的命令信息,例如读写命令的列地址和行地址信息。在一些示例中,上述命令信息包括读写命令的命令类型(读取命令或者写入命令)、执行顺序(是否连续)、行地址(是否存在行地址的切换)和时间信息等。
内存刷新控制电路中的读写命令评估器/命令评估模块可以从读写命令缓冲器中获取当前内存库的若干读写命令的命令信息,由此能够估计得到对应的Bank是否有空闲,读写命令序列之间是否有空隙。
刷新时间间隔,也称刷新周期,是指内存中存储的数据需要定期刷新以避免丢失的时间间隔。在本申请实施例中,各个内存库具有独立的刷新时间间隔。每个内存库可以设置有对应的刷新计时器,可以对当前内存库的刷新时间间隔进行计时,还可以接收读写命令评估器的指导或空隙(时间)的参考,并结合内存库的刷新时间间隔评估当前内存库的刷新紧急程度,形成最终确定的空隙信息,可以依据空隙信息将刷新命令发送给刷新插入器,既实现各Bank错开刷新,也将每个Bank的读写操作和刷新操作避开,解决了有效访问带宽下降的问题。需要说明的是,对于读写命令来说,命令信息中可以包含时间信息。时间信息是指与各个读写命令在内存中执行时间相关的信息,例如时间信息可以包括读写命令的发送时刻、完成时刻、间隔时长和延迟时长等相关信息。
读写命令评估器和/或命令评估模块在考虑各个读写命令的命令类型(读取命令或者写入命令)、执行顺序(是否连续)、行地址(是否存在行地址的切换)等信息的基础上,可以根据各个读写命令的时间信息,确定各个读写命令之间存在空隙时间。还可以结合刷新时间间隔,确定刷新命令的插入时序,即当前内存库的所述当前内存库刷新时序。
上述所述当前内存库刷新时序是指内存刷新命令的发送/执行时间顺序,具体是指将当前内存库的刷新命令插入若干读写命令执行期间的空隙时间所形成的时序。单个内存刷新控制电路,或者,其中的读写命令评估器和/或刷新计时器可以根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,确定执行若干读写命令期间的所述当前内存库刷新时序,也就是在向当前内存库发送刷新命令时,可以将刷新命令插入需要执行的若干读写命令之间的空隙时间。
由于考虑到了空隙时间和刷新时间间隔,因此可以准确地将刷新命令插入读写命令之间的空隙,使得刷新命令能够利用读写命令之间的间隔时间执行,有效避免了刷新命令打断连续读写命令序列,在密集读写命令需要执行的情况下也能够在适当时机插入较少的刷新命令,从而减少内存刷新对数据读写的影响,提高了DDR读写访问的有效带宽。
另一方面,针对各Bank的读写命令进行分通道分电路单独处理,整个逻辑电路实现简单,有利于实现高效刷新和高时钟逻辑电路的设计。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,上述步骤120中根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,确定执行若干读写命令期间的所述当前内存库刷新时序,包括:
根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,评估当前内存库内存刷新的优先级,得到评估信息;根据评估信息,确定执行若干读写命令期间的所述当前内存库刷新时序。
具体地,内存刷新的优先级是指执行内存刷新相对于执行读写命令的优先程度。
在一些示例中,可以根据命令信息确定不同的命令序列类型或不同的命令类型,再依据不同类型确定当前类型下刷新命令插入的代价和影响程度,由此评估得到内存刷新相对于执行读写命令的优先程度。
可以根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,对当前内存库内存刷新的优先级进行评估,得到评估信息。根据评估信息,可以确定执行若干读写命令期间的所述当前内存库刷新时序,例如评估信息可以用于指示当前内存库的内存刷新具有高优先级或者低优先级等。
在本实施例提供的内存刷新控制方法中,根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,对当前内存库内存刷新的优先级进行评估,确定所述当前内存库刷新时序,能够考虑到内存刷新与执行读写命令之间的相互影响,帮助确定了合适的所述当前内存库刷新时序,进而提高了内存的刷新效率。
在一些实施例中,可以分两层进行评估,第一次评估进行基础的内存刷新与执行读写命令之间的相互影响评估,第二次评估则是考虑到刷新命令不能无期限推迟,在最大推迟时间即将达到的情况下,需要紧急执行刷新命令才能保证DDR功能正常。
即上述根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,评估当前内存库内存刷新的优先级,得到评估信息,可以包括:
根据若干读写命令的命令信息,对当前内存库内存刷新的优先级进行初步评估,得到初步评估信息;根据当前内存库的刷新时间间隔,对初步评估信息进行调整,得到评估信息。
具体地,根据若干读写命令的命令信息,可以获取若干读写命令之间是否发生列地址切换、行地址切换等信息,根据这些信息可以对当前内存库内存刷新的优先级进行初步评估,得到初步评估信息。
此外,还需要考虑当前内存库的刷新时间间隔。例如对于DDR4内存,通常会要求在每64毫秒内对所有的内存行进行刷新。DDR内存的协议规范要求刷新命令要按照一定的周期进行发送。可以推迟一些时间发送,也可以提前一些时间发送,但是总的个数不能改变。这个推迟不能无限的推迟,当最大的推迟时间到了后无论如何也要将刷新命令发送出去,保证DDR功能正常。
因此,需要根据当前内存库的刷新时间间隔,对初步评估信息进行调整,得到最终的评估信息。
本申请实施例提供的内存刷新控制方法,设置了两级评估方法,结合命令信息以及刷新时间间隔,实现了对当前内存库的多维度自适应调整,特别根据当前内存库的刷新时间间隔,对初步评估信息进行再调整,保障了内存的正常运行,提高了内存的刷新效率。
在一些实施例中,上述根据若干读写命令的命令信息,对当前内存库内存刷新的优先级进行初步评估,得到初步评估信息的过程包括以下至少一项:
在命令信息指示若干读写命令中包括行地址切换的读写命令和/或读写切换的读写命令时,初步评估信息指示当前内存库的内存刷新高优先级;
在命令信息指示若干读写命令中包括行地址不变的读写命令时,初步评估信息指示当前内存库的内存刷新低优先级;
在命令信息指示当前内存库不存在读写命令时,初步评估信息指示当前内存库的内存刷新无时序限制。
具体地,行地址是指是指读写命令访问的内存地址的行地址,列地址信息是指读写命令访问的内存地址的列地址。行地址是用来选择内存阵列中的某一行的标识符。行地址决定了哪一行的内存单元会被激活并访问。列地址是用来选择特定行中的某个列位置的标识符。列地址决定了在激活的行中,哪一个具体的数据位或存储单元将被读取或写入。
行地址或者列地址是否被命中或者存在切换,决定了是否对内存进行预充电或重新激活,影响了内存刷新。
可以根据以下三种情况,确定初步评估信息。
情况一、若干读写命令的命令信息指示若干读写命令中包括行地址切换的读写命令和/或读写切换的读写命令,则对当前内存库内存刷新的优先级进行初步评估,初步评估信息指示当前内存库的内存刷新高优先级,表示若干读写命令之间存在空隙时间,可以进行内存刷新。
这是因为刷新操作通常是按行进行的,行地址切换的读写命令之间的时间空隙较长,读写切换的读写命令之间的时间空隙也较长,可以选择合适的时间空隙插入刷新操作,从而避免数据丢失,并尽量减少性能影响。
情况二、命令信息指示若干读写命令中包括行地址不变的读写命令,则对当前内存库内存刷新的优先级进行初步评估,初步评估信息指示当前内存库的内存刷新低优先级,表示若干读写命令之间不存在空隙时间,不可进行内存刷新。
这是因为刷新操作通常是按行进行的,存在列地址切换(此时行地址不变)的读写命令之间的时间间隙非常短,插入刷新命令会打断当前的访问,导致性能损失。
情况三、命令信息指示当前内存库不存在读写命令,则对当前内存库内存刷新的优先级进行初步评估,初步评估信息指示当前内存库的内存当前内存库的内存刷新无时序限制。
这是因为当前内存库处于空闲状态,刷新不会干扰当前的内存操作,也不会影响内存性能,可以随时进行内存刷新。
本申请实施例提供的内存刷新控制方法,根据若干读写命令的命令信息,对当前内存库内存刷新的优先级进行初步评估,充分考虑了读写命令与内存刷新之间的相互影响,提高了内存的刷新效率。
在一些实施例中,根据当前内存库的刷新时间间隔,对初步评估信息进行调整,得到评估信息,包括:
在当前内存库的刷新时间间隔接近时间间隔阈值时,评估信息由初步评估信息调整至最高优先级。
具体地,内存刷新需要按照一定的周期进行。刷新时间间隔可以由时间间隔计数器进行计数表示。根据当前内存库的刷新时间间隔,可以生成刷新命令。可以推迟一些时间发送,也可以提前一些时间发送。
时间间隔阈值是允许刷新命令推迟的时间。如果当前内存库的刷新时间间隔接近时间间隔阈值,此时必须要将刷新命令发送出去,此时可以将评估信息由初步评估信息调整至最高优先级,保证刷新基本间隔的功能得到满足。再根据空隙时间,将刷新命令插入若干读写命令,进行发送。
需要说明的是,上述接近时间间隔阈值是指当前内存库的刷新时间即将达到时间间隔阈值,其判断标准例如可以是时间间隔阈值与刷新时间间隔之间的差小于预设值,也可以是刷新时间间隔达到时间间隔阈值之前的某个临界值。
相对应地,如果当前内存库的刷新时间间隔未接近时间间隔阈值,则优先级可以不用调整,可以直接作为最终的评估信息参与刷新命令的插入。
本申请实施例提供的内存刷新控制方法,在当前内存库的刷新时间间隔接近时间间隔阈值时,评估信息由初步评估信息调整至最高优先级,提高刷新命令的优先级,有利于保证数据的安全性。
在一些实施例中,确定执行若干读写命令期间的所述当前内存库刷新时序,包括:
响应于评估信息,在当前内存库的读写命令流中插入刷新命令以构成所述当前内存库刷新时序,读写命令流由若干读写命令依据时序组成。
具体地,响应于不同的评估信息,可以确定刷新命令相对于读写命令的优先级,从而在当前内存库的读写命令流执行期间的空隙时间中插入刷新命令以构成所述当前内存库刷新时序。此处的读写命令流由若干读写命令依据时序组成。
在一些实施例中,根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,确定执行若干读写命令期间的所述当前内存库刷新时序之后,还包括:
对执行若干读写命令期间的所述当前内存库刷新时序进行命令仲裁。
具体地,根据内存访问的情况(如读写冲突、系统负载等)调度刷新命令,需要在合适的时机插入刷新命令,以保证内存的数据在正确的时间进行刷新,避免数据丢失。因此,需要对执行若干读写命令期间的所述当前内存库刷新时序进行命令仲裁。
具体地,内存库命令仲裁器与刷新插入器之间的协作对于优化内存访问和保证数据完整性非常重要。仲裁器负责根据内存访问的情况(如读写冲突、系统负载等)调度刷新命令,刷新插入器则在合适的时机插入刷新命令,以保证内存的数据在正确的时间进行刷新,避免数据丢失。两者的合作可以确保内存系统在满足刷新周期要求的同时,尽可能减少对内存访问性能的影响。
在一些实施例中,方法还包括:
基于当前内存库的刷新时间计数器,确定当前内存库的刷新时间间隔;
其中,各个内存库的刷新时间计数器的计数起始时间均不相同。
具体地,还可以对当前内存库和其余内存库的刷新时间间隔进行调整,错开各个内存库的刷新操作,能够提高整个内存读写访问的有效带宽。
可以通过刷新时间计数器,确定当前内存库的刷新时间间隔。可以对各个内存库的刷新时间计数器的计数起始时间进行差异化设置,使得计数起始时间均不相同,那么在相同的刷新周期内,各个内存库的刷新时间间隔也不相同。
下面对本申请实施例提供的装置进行描述,下文描述的装置与上文描述的方法可相互对应参照。
图2是本申请提供的内存刷新控制电路的结构示意图,如图2所示,内存刷新控制电路200包括读写命令缓冲器210、命令评估模块201和刷新插入器230。
读写命令缓冲器210,用于缓冲当前内存库中的若干读写命令,以及读写命令的命令信息,当前内存库为多个内存库中的任一者;
命令评估模块201,用于对当前内存库的刷新时间间隔进行计时,用于根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,触发刷新插入器230确定执行若干读写命令期间的所述当前内存库刷新时序。
本申请实施例提供的内存刷新控制电路,由于采用了单个内存库独立进行刷新的方式实现内存刷新功能,在内存中有利于实现更高的时钟频率,提高了内存的刷新效率;由于综合考虑了读写命令的命令信息,以及当前内存库的刷新时间间隔,使得在执行若干读写命令期间进行内存刷新,不会打断读写命令的执行,可以有效地减少了因读写命令被打断而产生的额外时间损失,从而提高了内存读写访问的有效带宽。
在一些实施例中,命令评估模块201包括刷新计时器220和读写命令评估器240;
读写命令评估器240,用于根据若干读写命令的命令信息,对当前内存库内存刷新的优先级进行初步评估,得到初步评估信息;
刷新计时器220,还用于根据当前内存库的刷新时间间隔,对初步评估信息进行调整,得到评估信息,以根据评估信息触发刷新插入器230确定执行若干读写命令期间的所述当前内存库刷新时序。
图3是本申请提供的内存控制器的结构示意图,如图3所示,内存控制器300包括内存刷新控制电路200和内存库命令仲裁器320,能够实现对内存库310的管理。
内存刷新控制电路200与内存库310一一对应。
本申请实施例提供的内存控制器300中内存刷新控制电路200与内存库一一对应,采用了单个内存库刷新方式来实现内存刷新功能,对各内存库的读写命令分开处理,在内存芯片实现中有利于实现更高的时钟频率,同时,也简化了内存刷新控制电路的逻辑电路。
在一些实施例中,内存库命令仲裁器与各个内存刷新控制电路中的刷新插入器连接,用于对刷新插入器发送的读写命令和刷新命令进行仲裁。
具体地,内存库命令仲裁器与刷新插入器之间的协作对于优化内存访问和保证数据完整性非常重要。仲裁器负责根据内存访问的情况(如读写冲突、系统负载等)调度刷新命令,刷新插入器则在合适的时机插入刷新命令形成当前内存库刷新时序,以保证内存的数据在正确的时间进行刷新,避免数据丢失。两者的合作可以确保内存系统在满足刷新周期要求的同时,尽可能减少对内存访问性能的影响。
在一些实施例中,内存为双倍速率同步动态随机存储器。
具体地,双倍速率同步动态随机存储器是一种内存类型,广泛用于计算机、服务器和其他电子设备中。它是同步动态随机存储器的一个改进版本,通过将每个时钟周期的两次数据传输提高了数据传输速率。
图4是本申请提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(Processor)410、通信接口(Communications Interface)420、存储器(Memory)430和通信总线(Communications Bus)440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑命令,以执行上述实施例中所述的方法,例如:
获取当前内存库的若干读写命令的命令信息,当前内存库为多个内存库中的任一者;根据若干读写命令的命令信息,以及当前内存库的刷新时间间隔,确定执行若干读写命令期间的所述当前内存库刷新时序。
此外,上述的存储器中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
需要说明的是,上述电子设备可以通过硬件方法实现,使得上述电子设备执行上述内存刷新控制方法,或者上述电子设备可以包括上述涉及的内存刷新控制电路。
其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种内存刷新控制方法,其特征在于,所述内存包括多个内存库,所述方法包括:
获取当前内存库的若干读写命令的命令信息,所述当前内存库为多个所述内存库中的任一者;
根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,确定执行若干所述读写命令期间的所述当前内存库刷新时序。
2.根据权利要求1所述的内存刷新控制方法,其特征在于,所述根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,确定执行若干所述读写命令期间的所述当前内存库刷新时序,包括:
根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,评估所述当前内存库内存刷新的优先级,得到评估信息;
根据所述评估信息,确定执行若干所述读写命令期间的所述当前内存库刷新时序。
3.根据权利要求2所述的内存刷新控制方法,其特征在于,所述根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,评估所述当前内存库内存刷新的优先级,得到评估信息,包括:
根据若干所述读写命令的命令信息,对所述当前内存库内存刷新的优先级进行初步评估,得到初步评估信息;
根据所述当前内存库的刷新时间间隔,对所述初步评估信息进行调整,得到所述评估信息。
4.根据权利要求3所述的内存刷新控制方法,其特征在于,所述根据若干所述读写命令的命令信息,对所述当前内存库内存刷新的优先级进行初步评估,得到初步评估信息,包括以下至少一项:
在所述命令信息指示若干所述读写命令中包括行地址切换的读写命令和/或读写切换的读写命令时,所述初步评估信息指示所述当前内存库的内存刷新高优先级;
在所述命令信息指示若干所述读写命令中包括行地址不变的读写命令时,所述初步评估信息指示所述当前内存库的内存刷新低优先级;
在所述命令信息指示所述当前内存库不存在所述读写命令时,所述初步评估信息指示所述当前内存库的内存刷新无时序限制。
5.根据权利要求3所述的内存刷新控制方法,其特征在于,所述根据所述当前内存库的刷新时间间隔,对所述初步评估信息进行调整,得到所述评估信息,包括:
在所述当前内存库的所述刷新时间间隔接近时间间隔阈值时,所述评估信息由所述初步评估信息调整至最高优先级。
6.根据权利要求2所述的内存刷新控制方法,其特征在于,所述根据所述评估信息,确定执行若干所述读写命令期间的所述当前内存库刷新时序,包括:
响应于所述评估信息,在所述当前内存库的读写命令流中插入刷新命令以构成所述所述当前内存库刷新时序,所述读写命令流由若干所述读写命令依据时序组成。
7.根据权利要求1至6任一项所述的内存刷新控制方法,其特征在于,所述根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,确定执行若干所述读写命令期间的所述当前内存库刷新时序之后,还包括:
对执行若干所述读写命令期间的所述当前内存库刷新时序进行命令仲裁。
8.一种内存刷新控制电路,其特征在于,包括读写命令缓冲器和命令评估模块;其中,
所述读写命令缓冲器,用于缓冲当前内存库中的若干读写命令,以及所述读写命令的命令信息,所述当前内存库为多个内存库中的任一者;
所述命令评估模块,用于对所述当前内存库的刷新时间间隔进行计时,用于根据若干所述读写命令的命令信息,以及所述当前内存库的刷新时间间隔,在若干所述读写命令执行期间触发所述刷新插入器插入所述当前内存库刷新时序。
9.根据权利要求8所述的内存刷新控制电路,其特征在于,所述命令评估模块包括刷新计时器和读写命令评估器;
所述读写命令评估器,用于根据若干所述读写命令的命令信息,对所述当前内存库内存刷新的优先级进行初步评估,得到初步评估信息;
所述刷新计时器,还用于根据所述当前内存库的刷新时间间隔,对所述初步评估信息进行调整,得到所述评估信息,以在若干所述读写命令执行期间根据所述评估信息触发所述刷新插入器插入所述当前内存库刷新时序。
10.一种电子设备,其特征在于,所述电子设备执行如权利要求1至7任一项所述的内存刷新控制方法,或者,所述电子设备包括权利要求8或9所述的内存刷新控制电路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511230428.XA CN121237148A (zh) | 2025-08-29 | 2025-08-29 | 内存刷新控制方法、内存刷新控制电路和电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511230428.XA CN121237148A (zh) | 2025-08-29 | 2025-08-29 | 内存刷新控制方法、内存刷新控制电路和电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN121237148A true CN121237148A (zh) | 2025-12-30 |
Family
ID=98150215
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202511230428.XA Pending CN121237148A (zh) | 2025-08-29 | 2025-08-29 | 内存刷新控制方法、内存刷新控制电路和电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN121237148A (zh) |
-
2025
- 2025-08-29 CN CN202511230428.XA patent/CN121237148A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110520929B (zh) | 内存刷新方法、装置及计算机系统 | |
| US8996824B2 (en) | Memory reorder queue biasing preceding high latency operations | |
| EP3605542B1 (en) | Memory refreshing technique and computer system | |
| US10446215B1 (en) | System and method for adaptively optimized refresh of memory | |
| US10535393B1 (en) | Configuring dynamic random access memory refreshes for systems having multiple ranks of memory | |
| US20190026028A1 (en) | Minimizing performance degradation due to refresh operations in memory sub-systems | |
| US11037615B2 (en) | Refresh processing method, apparatus, and system, and memory controller | |
| EP4650973A1 (en) | Memory page access method and related device | |
| CN111158585B (zh) | 一种内存控制器刷新优化方法、装置、设备和存储介质 | |
| US10157123B1 (en) | Methods and apparatus for a scheduler for memory access | |
| US20020069319A1 (en) | Method and apparatus of event-driven based refresh for high performance memory controller | |
| CN121237148A (zh) | 内存刷新控制方法、内存刷新控制电路和电子设备 | |
| CN116897395A (zh) | 一种存储器的刷新方法、存储器、控制器及存储系统 | |
| CN115221080A (zh) | 存储装置、数据处理的方法及系统 | |
| CN112394805B (zh) | 一种dram的低功耗模式的实现方法及终端 | |
| WO2023149897A1 (en) | Traffic aware adaptive precharge scheduler for efficient refresh management in dram memory controllers | |
| US12455688B2 (en) | Memory management technology and computer system | |
| US20250356900A1 (en) | Local-Bank-Level Scheduling of Usage-Based-Disturbance Mitigation Strategies Based on Global-Bank-Level Control | |
| US12308066B2 (en) | Pseudo-static random access memory | |
| CN112259141B (zh) | 动态随机存取存储器的刷新方法及内存控制器、电子装置 | |
| EP4386754A1 (en) | System for refreshing dynamic random access memory | |
| CN119181400A (zh) | 内存刷新方法、内存控制器、存储系统和计算设备 | |
| KR20140064015A (ko) | 메모리 시스템 및 이의 동작 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |