一种内存控制器、访问内存的控制方法及存储设备技术

技术编号:35222828 阅读:18 留言:0更新日期:2022-10-15 10:40
提供了一种内存控制器、访问内存的控制方法及存储设备,内存控制器用于访问动态随机存储器,动态随机存储器包括多个rank,内存控制器包括:第一缓存,用于存储针对动态随机存储器的数据读取指令;第二缓存,用于存储针对动态随机存储器的数据写入指令;仲裁模块,基于仲裁规则对数据读取指令和/或数据写入指令进行仲裁;其中,仲裁规则包括基于多个rank指令跳转的时序需求的仲裁规则。本申请实施例通过在内存访问指令的仲裁规则中增加基于多个rank指令跳转时序需求的仲裁规则,有助于提高内存控制器访问动态随机存储器的效率。内存控制器访问动态随机存储器的效率。内存控制器访问动态随机存储器的效率。

【技术实现步骤摘要】
一种内存控制器、访问内存的控制方法及存储设备


[0001]本申请涉及内存访问控制
,更为具体的,涉及一种内存控制器、访问内存的控制方法及存储设备。

技术介绍

[0002]动态随机存储器广泛应用于手机、手表、计算机等电子设备中。通过内存控制器可以控制动态随机存储器的数据读取以及数据写入的操作。当接收到多条动态随机存储器的访问指令时,内存控制器通常会基于仲裁规则对访问指令进行仲裁,以确定多条访问指令的执行顺序。例如,内存控制器可以基于读写的连续性的仲裁规则对访问指令进行仲裁。但是,现有仲裁规则下,内存控制器访问动态随机存储器的效率有待提升。

技术实现思路

[0003]本申请提供一种内存控制器、访问内存的控制方法及存储设备。下面对本申请实施例涉及的各个方面进行介绍。
[0004]第一方面,提供一种内存控制器。内存控制器用于访问动态随机存储器,动态随机存储器包括多个rank,内存控制器包括:第一缓存,用于存储针对动态随机存储器的数据读取指令;第二缓存,用于存储针对动态随机存储器的数据写入指令;仲裁模块,基于仲裁规则对数据读取指令和/或数据写入指令进行仲裁;其中,仲裁规则包括基于多个rank指令跳转的时序需求的仲裁规则。
[0005]第二方面,提供一种访问内存的控制方法。访问内存的控制方法用于控制动态随机存储器的访问,动态随机存储器包括多个rank,访问内存的控制方法包括:基于仲裁规则对针对动态随机存储器的数据读取指令和/或数据写入指令进行仲裁;其中,仲裁规则包括基于多个rank指令跳转的时序需求的仲裁规则。
[0006]第三方面,提供一种存储设备。存储设备包括动态随机存储器以及如第一方面所述的内存控制器。
[0007]本申请实施例通过在内存访问指令的仲裁规则中增加基于多个rank指令跳转时序需求的仲裁规则,有助于提高内存控制器访问动态随机存储器的效率。
附图说明
[0008]图1所示为一种内存控制器的结构示意图。
[0009]图2所示为一种DDR内存控制器的内部结构示意图。
[0010]图3所示为一种读模式切换到写模式的地址仲裁的流程示意图.
[0011]图4所示为一种写模式切换到读模式的地址仲裁的流程示意图。
[0012]图5所示为一种读模式切换到写模式的存储单元仲裁的流程示意图。
[0013]图6所示为一种写模式切换到读模式的存储单元仲裁的流程示意图。
[0014]图7所示为一种存储设备的结构示意图。
[0015]图8所示为一种访问内存的控制方法的流程示意图。
具体实施方式
[0016]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
[0017]动态随机存取存储器(dynamic random access memory,DRAM)是一种半导体存储器,主要原理是利用电容内存储电荷的多寡来代表一个二进制比特(bit)是1还是0。动态随机存储器因成本低、传输速度快、随时读写等优点,广泛应用于手机、手表、计算机等电子设备中。例如,动态随机存储器可以作为与处理器直接进行数据交换的内部存储器。又如,动态随机存储器可以作为操作系统或者正在运行中的程序的临时数据存储媒介。
[0018]内存控制器可以作为处理器与动态随机存储器之间数据交换的桥梁。例如,内存控制器可以控制动态随机存储器数据读取以及数据写入的操作。同时,内存控制器也可以决定系统的内存性能。例如,内存控制器可以决定处理器能够使用的最大内存容量、访问速度等重要参数。
[0019]当接收到多条动态随机存储器的访问指令时,内存控制器通常会基于仲裁规则对访问指令进行仲裁,以确定多条访问指令的执行顺序。在一些实现方式中,首先可以将多条访问指令存储在缓存中;其次,内存控制器可以基于仲裁规则对缓存中存储的指令进行仲裁。例如,内存控制器可以基于读写的连续性的仲裁规则对访问指令进行仲裁。也就是说,在仲裁规则中,将读指令尽可能地连接起来或者将写指令尽可能地连接起来。如果上一笔传输是读指令对应的操作,那么下一笔仲裁过程中,读指令的优先级会变高。如果上一笔传输是写指令对应的操作,那么下一笔仲裁过程中,写指令的优先级会变高。
[0020]双倍数据速率同步动态随机存储器(double data rate synchronous dynamic random access memory,DDR SDRAM)作为动态随机存储器的一种,广泛用于高性能计算、注重功耗及面积的移动应用中。以动态随机存储器为四通道单晶圆DDR为例,对内存控制器对访问指令进行仲裁的过程进行描述。
[0021]四通道(channel)单晶圆(die)DDR由四个内存单元集合(rank)组成,而每个内存单元集合中包括多个内存单元(bank)。其中,每个rank中包括的bank的数量可以由处理器的总线的位宽和bank的位宽确定。例如,处理器的接口位宽为64bit。也就是说,在一个时钟周期内处理器会向DDR发送或从DDR读取64bit的数据。bank的位宽为8bit,则rank通过将8个bank并联,以便于与处理器互联。作为一个示例,上一笔传输是DDR读指令对应的操作,下一笔仲裁结果为执行该DDR的读指令。如果该DDR的读指令包括多条,则随机执行该DDR的多条读指令中的任意一条。但是,该DDR的多条读指令中可能包括针对不同的rank的指令,由于rank属性的不同,跳转到多条读指令中针对不同的rank的指令的开销不同。例如,开销可以是时序需求。而目前的仲裁规则中没有考虑rank属性的规则。
[0022]为了解决上述问题,本申请实施例提供了一种内存控制器。本申请实施例通过在内存访问指令的仲裁规则中增加基于多个rank指令跳转时序需求的仲裁规则,有助于提高内存控制器访问动态随机存储器的效率。
[0023]图1为本申请实施例提供的一种内存控制器的结构示意图。内存控制器100可以用于访问动态随机存储器。在动态随机存储器的访问过程中,内存控制器100的功能可以包括
以下中的一种或多种:对访问指令进行存储、仲裁、分解及转化等。在一些实现方式中,动态随机存储器中包括多个rank。
[0024]参见图1,内存控制器100包括第一缓存110、第二缓存120和仲裁模块130,下文结合图1对本申请的装置实施例进行详细介绍。
[0025]第一缓存110可以用于存储针对动态随机存储器的数据读取指令。数据读取指令的发送方可以包括多种。例如,数据读取指令可以由处理器发送,也可以由操作系统或者正在执行的应用发送。数据读取指令对应的目标数据可以位于动态随机存储器的任意位置。例如,目标数据可以位于动态随机存储器的一个bank。又如,目标数据可以位于动态随机存储器的一个rank。作为一个示例,对于双die的DDR,目标数据可以位于die1中的一个rank,也可以位于die0中的一个rank。
...

【技术保护点】

【技术特征摘要】
1.一种内存控制器,其特征在于,所述内存控制器用于访问动态随机存储器,所述动态随机存储器包括多个rank,所述内存控制器包括:第一缓存,用于存储针对所述动态随机存储器的数据读取指令;第二缓存,用于存储针对所述动态随机存储器的数据写入指令;仲裁模块,基于仲裁规则对所述数据读取指令和/或所述数据写入指令进行仲裁;其中,所述仲裁规则包括基于所述多个rank指令跳转的时序需求的仲裁规则。2.根据权利要求1所述的内存控制器,其特征在于,所述多个rank包括第一rank和第二rank,所述仲裁模块具体用于:响应于所述数据读取指令和所述数据写入指令之间的切换,针对所述第一rank的指令的优先级高于针对所述第二rank的指令;其中,切换至针对所述第一rank的指令的时序需求小于切换至针对所述第二rank的指令的时序需求。3.根据权利要求1所述的内存控制器,其特征在于,所述仲裁规则还包括以下中的一种或多种:基于读写连续性的仲裁规则、基于定时器超时的仲裁规则、基于缓存队列空满情况的仲裁规则。4.根据权利要求1所述的内存控制器,其特征在于,所述第一缓存还可以用于存储所述数据读取指令对应的数据地址,所述第二缓存还可以用于存储所述数据写入指令对应的数据地址。5.根据权利要求2所述的内存控制器,其特征在于,所述动态随机存储器为第五代低功耗双倍数据速率存储器,所述仲裁模块具体用于:响应于由所述数据写入指令切换至所述数据读取指令,在所述数据读取指令中,与所述数据写入指令对应不同的rank的指...

【专利技术属性】
技术研发人员:刘卓睿
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1