CN117827702A - 存储器访问方法及***、电子设备和计算机可读存储介质 - Google Patents
存储器访问方法及***、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117827702A CN117827702A CN202211196077.1A CN202211196077A CN117827702A CN 117827702 A CN117827702 A CN 117827702A CN 202211196077 A CN202211196077 A CN 202211196077A CN 117827702 A CN117827702 A CN 117827702A
- Authority
- CN
- China
- Prior art keywords
- address mapping
- data
- delay data
- mapping mode
- memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013507 mapping Methods 0.000 claims abstract description 257
- 238000012544 monitoring process Methods 0.000 claims abstract description 87
- 230000007704 transition Effects 0.000 claims description 20
- 230000000903 blocking effect Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种存储器访问方法及***、电子设备和计算机可读存储介质,存储器访问方法包括:在检测到业务访问命令之后,监控实时的带宽数据、延迟数据和所有地址线的跳变概率;根据所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式;运行所述目标地址映射模式,以完成所述业务访问命令对存储器的访问。本申请提高了存储器的访问效率。
Description
技术领域
本发明涉及存储器技术领域,尤其涉及一种存储器访问方法及***、电子设备和计算机可读存储介质。
背景技术
随着5G网络的普及,对于网络的传输带宽有了更高的要求,需要处理突发数据的能力也是越来越高。由于芯片规模及成本的考量,需要外置存储器来缓存突发时的数据包,即突发数据包。但是由于突发数据包的特性,导致读写存储器的数据包的地址变化规律存在一定的不确定性,导致无法提高网络突发数据包访问存储器时的访问效率。
发明内容
本申请的主要目的在于提供一种存储器访问方法及***、电子设备和计算机可读存储介质,旨在解决如何提高存储器的访问效率的技术问题。
为实现上述目的,本申请提供一种存储器访问方法,应用于存储器访问***,包括:
在检测到业务访问命令之后,监控实时的带宽数据、延迟数据和所有地址线的跳变概率;
根据所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式;
运行所述目标地址映射模式,以完成所述业务访问命令对存储器的访问。
在一些实施例中,延迟数据包括读延时数据和写延时数据,所述根据所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式的步骤,包括:
确定所述带宽数据对应的第一权重、所述写延时数据对应的第二权重和所述读延时数据对应的第三权重;
计算所述第一权重和所述带宽数据之间的第一乘积、所述第二权重和所述写延时数据之间的第二乘积、所述第三权重和所述读延时数据对应的第三乘积,并将所述第一乘积、所述第二乘积和所述第三乘积之间的和值作为地址映射模式对应的评分;
根据所述评分和所述跳变概率确定目标地址映射模式。
在一些实施例中,根据所述评分和所述跳变概率确定目标地址映射模式的步骤,包括:
确定所述跳变概率对应的所有地址映射模式;
在当前时刻的地址映射模式是各所述地址映射模式中的最后一种地址映射模式之后,确定每个所述地址映射模式对应的评分,并选择评分最高的所述地址映射模式作为目标地址映射模式。
在一些实施例中,确定所述跳变概率对应的所有地址映射模式的步骤之后,包括:
在当前时刻的地址映射模式是各所述地址映射模式中除最后一种地址映射模式之外的其它地址映射模式之后,确定各所述跳变概率中大于预设阈值的第一跳变概率,和小于或等于所述预设阈值的第二跳变概率;
将所述第二跳变概率对应的地址映射到存储器中的行,并将所述第一跳变概率对应的bit映射到存储体bank和列,得到最新的地址映射模式;
运行所述最新的地址映射模式,并执行所述监控实时的带宽数据、延迟数据和所有地址线的跳变概率的步骤。
在一些实施例中,运行所述目标地址映射模式的步骤,包括:
确定所述业务访问命令中的读命令和写命令;
阻塞存储器接收所述写命令,在所述存储器执行完成所述读命令后,运行所述目标地址映射模式,进行地址映射规则切换,并在所述地址映射规则切换完成后允许所述存储器接收所述写命令。
此外,为实现上述目的,本申请提供一种存储器访问***,包括:
主控模块,与所述主控模块分别连接的目标监控模块和地址映射模块;
所述目标监控模块,用于监控实时的带宽数据、延迟数据和所有地址线的跳变概率,并将所述带宽数据、所述延迟数据和所述跳变概率发送至所述主控模块;
所述主控模块,用于根据接收的所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式,并将所述目标地址映射模式发送至所述地址映射模块;
所述地址映射模块,用于执行所述目标地址映射模式,根据执行的所述目标地址映射模式完成接收的业务访问命令对存储器的访问。
在一些实施例中,目标监控模块包括:
带宽监控模块,用于根据监控时间段和存储器工作频率计算理想带宽,并根据监控的突发数据包的大小和个数确定实际带宽,根据所述实际带宽和所述理想带宽计算带宽利用率,将所述带宽利用率作为带宽数据发送至所述主控模块。
在一些实施例中,目标监控模块包括:
延时监控模块,用于确定所述监控时间段的读延迟数据和写延迟数据,将预设的标准延迟数据和所述读延迟数据之间的比例作为读延时数据,将所述标准延迟数据和所述写延迟数据之间的比例作为写延时数据,将所述读延时数据和所述写延时数据作为延迟数据发送至所述主控模块。
在一些实施例中,目标监控模块包括:
跳变监控模块,用于确定所述监控时间段的所有地址线的跳变概率,对各所述跳变概率进行排序,将排序后的各所述跳变概率发送至所述主控模块。
在一些实施例中,存储器访问***还包括:
配置模块,用于配置所述带宽数据对应的第一权重、所述写延时数据对应的第二权重和所述读延时数据对应的第三权重,并将所述第一权重、所述第二权重和所述第三权重发送至所述主控模块;
所述主控模块,还用于根据所述第一权重、所述第二权重、所述第三权重、所述带宽数据、所述读延时数据和所述写延时数据计算每个地址映射模式的评分,并在根据所述跳变概率确定当前时刻的地址映射模式为最后一种地址映射模式时,选择评分最高的地址映射模式作为目标地址映射模式。
此外,为实现上述目的,本申请还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述所述存储器访问方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如上述所述存储器访问方法的步骤。
本申请通过在检测到业务访问命令后,就直接实时监控带宽数据、延迟数据和地址线的跳变概率,然后根据带宽数据、延迟数据和地址线的跳变概率来确定目标地址映射模式,再运行目标地址映射模式,以完成业务访问命令对存储器的访问,从而可以避免在不知道地址变化规律的情况下,导致存储器中的bank冲突,降低了存储器的访问带宽,使得存储器的访问效率降低的现象发生,并且是根据带宽数据、延迟数据和地址线的跳变概率来最动寻找目标地址映射模式,从而可以提高访问存储器时页面命中的概率,进而提高了存储器带宽,提高了存储器的访问效率。
附图说明
图1是本申请存储器访问方法第一实施例中的流程示意图;
图2为本申请存储器访问方法第二实施例中的流程示意图;
图3为本申请存储器访问***中第三实施例的***框架示意图;
图4为本申请存储器访问***中第四实施例的***框架示意图;
图5为本申请存储器访问方法中存储器运行的流程示意图。
附图标号说明:
标号 | 名称 | 标号 | 名称 |
10 | 存储器访问*** | 100 | 主控模块 |
200 | 目标监控模块 | 300 | 地址映射模块 |
400 | 配置模块 | 500 | 数据接口 |
210 | 带宽监控模块 | 220 | 延时监控模块 |
230 | 跳变监控模块 |
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
在本申请中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
另外,在本申请中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
参照图1,本申请提供一种存储器访问方法,在存储器访问方法的第一实施例中,存储器访问方法应用于存储器访问***,包括:
步骤S10,在检测到业务访问命令之后,监控实时的带宽数据、延迟数据和所有地址线的跳变概率;
由于读写存储器的数据包的地址变化规律存在一定的不确定性,导致无法提高网络突发数据包访问存储器的效率。并且根据JEDEC协议规定,如果相邻的两个命令访问的是相同bank的不同row(行),则需要将当前bank对应的row关闭,然后再打开后续需要访问的row,这种情况(bank冲突)的出现会大大降低存储器的访问带宽;此外,访问存储器的命令出现频繁切换bank及row的时候,由于tFAW(时序参数)时序的限制,会导致存储器访问效率降低。因此在本实施例中,会对存储器访问方式进行优化,以提高Page Hit(页面命中)的概率,提高存储器的访问带宽,从而提高存储器的访问效率。
此外,在一场景中,本实施例可以应用于外部存储器应对突发数据包的场景,提高网络中突发数据包访问存储器的效率。
在本实施例中,业务访问命令可以是根据业务需求,对存储空间的访问命令,该业务访问命令可以是对存储器中某一特定存储区域的读操作和写操作。并且业务访问命令可以包括读命令和写命令、或者写命令、或者读命令。
在本实施例中,当存储器访问***进行上电初始化,会通过配置接口,将带宽数据及延迟数据的评价权重信息写入到存储器访问***中的主控模块。其中,存储器访问***包括主控模块、配置模块、地址映射模块、带宽监控模块、延时监控模块和跳变监控模块。然后启动以太网数据包进入存储器的业务,即此时存储器可以接收处理器发送的业务访问命令,并通过带宽监控模块、延时监控模块和跳变监控模块实时监控业务访问命令对应的带宽数据、延迟数据和所有地址线的跳变概率,再将其发送至主控模块进行相应控制。其中,带宽数据包括理想带宽、实际带宽、根据实际带宽和理想带宽计算得到的利用率。延迟数据包括读延时数据和写延时数据。读延时数据可以是在执行读命令时的延时数据。写延时数据可以是在执行写命令时的延时数据。跳变概率可以是地址线发生翻转的翻转概率。并且本实施例中的地址线可以设置为多个,如16根地址线、20根地址线。在存储器中设置有多个存储区间,每个存储区间均设置有各自对应的地址。其中,存储器可以是双倍速率存储器。
步骤S20,根据所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式;
存储器访问***中的主控模块会根据带宽数据、延迟数据、调整概率,以及提前设置的相应权重来计算每个地址映射模式对应的评分,并在这些评分中选择评分最高的地址映射方案,再将评分最高的地址映射方案作为目标地址映射方案。其中,地址映射方案包括地址映射模式。因此可以将评分最高的地址映射方案中的地址映射模式作为目标地址映射模式。
此外,由于不同的业务访问命令中,访问地址的长度或业务访问命令下发的次序可能不同,所有的业务访问命令都采用相同的地址映射模式,则会出现大量的bank冲突,严重影响存储器的访问效率。因此在本实施例中,是采用自适应的方式通过使用不同的地址映射模式,提升Page Hit概率,进而提升存储器的访问效率。其中,地址映射模式可以是根据所有地址线的跳变概率进行设置。并且地址映射模式可以是将访问地址映射成存储器的映射规则或者策略。
步骤S30,运行所述目标地址映射模式,以完成所述业务访问命令对存储器的访问。
在通过存储器访问***中的主控模块确定目标地址映射模式后,就可以通过地址映射模块来直接执行目标地址映射模式,以完成业务访问命令对存储器的访问。
在一场景中,在存储器访问***上电初始化,通过配置接口将带宽及延迟的评价权重信息写到主控模块,且启动以太网数据包进入存储器的业务,通过带宽监控模块、延时监控模块和跳变监控模块实时监控业务访问命令对应的带宽数据、延迟数据和所有地址线的跳变概率,并将其发送至主控模块。主控模块根据带宽数据和延迟数据,以及这两者对应的权重计算出默认地址映射模式下的评分。并在默认地址映射模式不是最后一个地址映射模式时,根据跳变概率设置新的地址映射模式,即将跳变概率低的地址映射到row,将跳变概率低的bit映射到column、bank以及bank group位置中。再将新的地址映射模式发送至地址映射模块。地址映射模块在接收到新的地址映射模式后,会阻塞存储器进行写命令接收,并在存储器执行完成所有的读命令之后,然后根据新的地址映射模式进行地址映射规则切换,并在切换完成后,停止阻塞存储器进行写命令接收,打开写命令通道,以使以太网数据包能够再次进入存储器。
此外,为辅助理解本实施例中的存储器访问原理,下面进行举例说明。
例如,如图5所示,在开始进行存储器访问后,通过配置模块配置带宽和延迟数据的权重,然后启动以太数据包进入存储器业务,然后监控存储器业务对应的带宽数据、延迟数据和跳变概率。并将带宽数据、延迟数据和跳变概率发送至主控模块,主控模块根据带宽数据、延迟数据和跳变概率检测当前的地址映射模式是否为最后一种地址映射模式,若否,主控模块会根据带宽数据、延迟数据以及带宽数据和延迟数据对应的权重信息计算当前时刻运行的地址映射模式对应的评分,并根据跳变概率产生新的地址映射模式,并将新的地址映射模式发送至地址映射模块进行执行。存储器会在运行新的地址映射模式时,再次监控带宽数据、延迟数据和跳变概率。但是若当前的地址映射模式为最后一种地址映射模式,则在各个地址映射模式对应的评分中选择评分最高的地址映射模式作为最优的地址映射模式(即目标地址映射模式),输出最优的地址映射模式至地址映射模块执行,直至结束。
在本实施例中,通过在检测到业务访问命令后,就直接实时监控带宽数据、延迟数据和地址线的跳变概率,然后根据带宽数据、延迟数据和地址线的跳变概率来确定目标地址映射模式,再运行目标地址映射模式,以完成业务访问命令对存储器的访问,从而可以避免在不知道地址变化规律的情况下,导致存储器中的bank冲突,降低了存储器的访问带宽,使得存储器的访问效率降低的现象发生,并且是根据带宽数据、延迟数据和地址线的跳变概率来最动寻找目标地址映射模式,从而可以提高访问存储器时页面命中的概率,进而提高了存储器带宽,提高了存储器的访问效率。
进一步地,基于上述本发明的第一实施例,提出本申请存储器访问方法的第二实施例,参照图2,在本实施例中,上述实施例步骤S20,根据所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式的步骤的细化,包括:
步骤a,确定所述带宽数据对应的第一权重、所述写延时数据对应的第二权重和所述读延时数据对应的第三权重;
在本实施例中,延迟数据包括读延时数据和写延时数据。因此可以通过存储器访问***中的配置模块提前设置好带宽数据对应的第一权重、写延时数据对应的第二权重和读延时数据对应的第三权重。并且第一权重、第二权重和第三权重的和值为100%。并且在本实施例中,用户可以根据自身的需求对第一权重、第二权重和第三权重进行调整。
步骤b,计算所述第一权重和所述带宽数据之间的第一乘积、所述第二权重和所述写延时数据之间的第二乘积、所述第三权重和所述读延时数据对应的第三乘积,并将所述第一乘积、所述第二乘积和所述第三乘积之间的和值作为地址映射模式对应的评分;
步骤c,根据所述评分和所述跳变概率确定目标地址映射模式。
当确定第一权重、第二权重和第三权重,以及采集到带宽数据、写延时数据和读延时数据,就可以计算得到存储器在当前时刻运行的地址映射模式对应的评分。例如,若第一权重为m、第二权重为n、第三权重o、带宽数据u、写延时数据为v、读延时数据为w,则地址映射模式对应的评分result可以为:result=m*u+n*v+o*w。
并且在本实施例中,在一定时间内,业务访问命令对存储器进行访问所产生的每一种地址映射模式,其对应的评分都可以按照上述公式进行计算得到。
在本实施例中,可以根据跳变概率确定可能存在的所有地址映射模式,并确定各个地址映射模式对应的评分中的最高评分,将最高评分对应的地址映射模式作为目标地址映射模式。
在本实施例中,通过对带宽数据、写延时数据和读延时数据分别设置相应的权重,再基于设置的权重、带宽数据、写延时数据和读延时数据来计算地址映射模式对应的评分,再根据评分和跳变概率来确定目标地址映射模式,从而保障了获取到的目标地址映射模式的准确有效性。
进一步地,根据所述评分和所述跳变概率确定目标地址映射模式的步骤,包括:
步骤d,确定所述跳变概率对应的所有地址映射模式;
步骤e,在当前时刻的地址映射模式是各所述地址映射模式中的最后一种地址映射模式之后,确定每个所述地址映射模式对应的评分,并选择评分最高的所述地址映射模式作为目标地址映射模式。
在本实施例中,需要根据每根地址线的跳变概率来构建确定有可能存在的所有地址映射模式。并在确定所有地址映射模式后,确定存储器在当前时刻的地址映射模式是否为所有地址映射模式中的最后一种地址映射模式,并在确定当前时刻的地址映射模式是最后一种地址映射模式后,就可以根据各个地址映射模式对应的评分,选择评分最高的地址映射模式作为目标地址映射模式。
在本实施例中,通过先确定跳变概率对应的所有地址映射模式,并在确定当前时刻的地址映射模式为最后一种地址映射模式时,选择评分最高的地址映射模式作为目标地址映射模式,从而保障了获取到的目标地址映射模式的准确有效性。
进一步地,确定所述跳变概率对应的所有地址映射模式的步骤之后,包括:
步骤f,在当前时刻的地址映射模式是各所述地址映射模式中除最后一种地址映射模式之外的其它地址映射模式之后,确定各所述跳变概率中大于预设阈值的第一跳变概率,和小于或等于所述预设阈值的第二跳变概率;
步骤g,将所述第二跳变概率对应的地址映射到存储器中的行,并将所述第一跳变概率对应的bit映射到存储器中的存储体bank和列,得到最新的地址映射模式;
步骤h,运行所述最新的地址映射模式,并执行所述监控实时的带宽数据、延迟数据和所有地址线的跳变概率的步骤。
在本实施例中,当确定当前时刻的地址映射模式不是最后一种地址映射模式,而是其它地址映射模式之后,就可以根据跳变概率来构建新的地址映射模式。其中,其它地址映射模式是除最后一种地址映射模式之外的地址映射模式,如倒数第二种地址映射模式。
在构建最新的地址映射模式时,可以先设置一个跳变概率的概率阈值,并将其作为预设阈值,将每根地址线对应的跳变概率中大于预设阈值的跳变概率作为第一跳变概率,将小于和等于预设阈值的跳变概率作为第二跳变概率。然后将第二跳变概率对应的地址映射到存储器中的行(row),将第一跳变概率对应的bit映射到存储器中的存储体bank和列,以得到最新的地址映射模式。然后再通过存储器访问***中的地址映射模块来运行最新的地址映射模式,然后再监控存储器在运行最新的地址映射模式时的带宽数据、延迟数据和跳变概率,以此计算最新的地址映射模式对应的评分。
在本实施例中,通过在当前时刻的地址映射模式不是最后一种地址映射模式时,根据跳变概率的大小来构建最新的地址映射模式,然后运行、监控,以计算最新的地址映射模式对应的评分,直至选出目标地址映射模式。从而保障了后续选出的目标地址映射模式的准确有效性。
进一步地,运行所述目标地址映射模式的步骤,包括:
步骤x,确定所述业务访问命令中的读命令和写命令;
步骤y,阻塞存储器接收所述写命令,在所述存储器执行完成所述读命令后,运行所述目标地址映射模式,进行地址映射规则切换,并在所述地址映射规则切换完成后允许所述存储器接收所述写命令。
在本实施例中,存储器访问***中的地址映射模块模块收到新的地址映射方案以后,阻塞存储器关于业务访问命令中的写命令接收,在执行完业务访问命令中的所有的读命令之后,进行地址映射规则切换。切换完成后,打开写命令通道使存储器接收写命令,达到以太网数据包可以再次进入存储器的目的。
在本实施例中,通过先阻塞存储器接收业务访问命令中的写命令,在执行完成业务访问命令中的所有读命令后,根据目标地址映射模式进行地址映射规则切换,再执行读命令,从而保障了业务访问命令对存储器的有效访问,提高了访问效率。
此外,在一场景中,本申请还提出一种存储器访问***,在本申请存储器访问***的第三实施例中,参照图3,存储器访问***10包括主控模块100、与所述主控模块分别连接的目标监控模块200和地址映射模块300;
所述目标监控模块200,用于监控实时的带宽数据、延迟数据和所有地址线的跳变概率,并将所述带宽数据、所述延迟数据和所述跳变概率发送至所述主控模块100;
所述主控模块100,用于根据接收的所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式,并将所述目标地址映射模式发送至所述地址映射模块300;
所述地址映射模块300,用于执行所述目标地址映射模式,根据执行的所述目标地址映射模式完成接收的业务访问命令对存储器的访问。
在本实施例中的一场景中,存储器访问***可以是第一实施例和第二实施例中的存储器访问***。
在本实施例中,存储器访问***10中,还可以设置有数据接口500,且数据接口500分别与目标监控模块200,以及地址映射模块300连接。并且在启动以太网数据包进入存储器的业务后,目标监控模块200通过数据接口500监控存储器的运行。并且目标监控模块200会通过数据接口500获取监控的带宽数据、延迟数据和所有地址线的跳变概率,然后根据带宽数据、延迟数据和跳变概率都发送至主控模块100。其中,在本实施例中需要获取所有地址线的跳变概率。
而且,主控模块100会判断存储器中在当前时刻默认的地址映射模式是否为最后一种地址映射模式。并在确定地址映射模式是最后一种地址映射模式时,会在所有的地址映射模式中选择一个评分最高的地址映射模式作为目标地址映射模式,并发送至地址映射模块300来执行。但是若当前时刻默认的地址映射模式不是最后一种地址映射模式,则会根据跳变概率来设置新的地址映射模式,并通过地址映射模块300来执行,并通过目标监控模块200对新的地址映射模式进行监控,通过主控模块100计算新的地址映射模式对应的评分,直至存储器运行最后一种地址映射模式,且主控模块100计算得到最后一种地址映射模式对应的评分,然后在所有的评分中选择一个评分最高的地址映射模式作为目标地址映射模式。
其中,每一次业务访问命令对存储器的访问,都会根据业务访问命令对应的报文长度生成多个地址,此时就可以不同的映射规则设置多个地址映射模式。并且在通过业务访问命令对存储器进行访问时,以太网数据包也会进入存储器的业务。
并且在进行地址映射模式设置时,可以根据实时监测的跳变概率进行设置。此时,除了根据跳变概率进行设置,在一场景中,还可以是根据预设的地址映射规则进行地址映射。
在本实施例中,通过在存储器访问***中设置主控模块,目标监控模块和地址映射模块,并且目标监控模块将监控的带宽数据、延迟数据和跳变概率发送至主控模块,以便主控模块确定目标地址映射模式,并通过地址映射模式进行执行,依次完成对存储器的访问,从而可以避免在不知道地址变化规律的情况下,导致存储器中的bank冲突,降低了存储器的访问带宽,使得存储器的访问效率降低的现象发生,并且是根据带宽数据、延迟数据和地址线的跳变概率来最动寻找目标地址映射模式,从而可以提高访问存储器时页面命中的概率,进而提高了存储器带宽,提高了存储器的访问效率。
进一步地,基于上述本申请的第三实施例,提出本申请存储器访问***的第四实施例,参照图4,目标监控模块200包括:
带宽监控模块210,用于根据监控时间段和存储器工作频率计算理想带宽,并根据监控的突发数据包的大小和个数确定实际带宽,根据所述实际带宽和所述理想带宽计算带宽利用率,将所述带宽利用率作为带宽数据发送至主控模块100。
在本实施例中,可以通过带宽监控模块210来监控存储器的带宽数据,并且带宽监控模块210分别和数据接口500、主控模块100连接,带宽监控模块210通过数据接口500来实现对实际带宽的监控。在一场景中,带宽监控模块210可以监控不同监控时间段内的数据带宽,并将其作为实际带宽,并通过计算读写Burst的大小和个数来确定实际带宽。并且会根据监控时间和存储器工作频率来计算理想带宽,其中,理想带宽可以是单根地址线的速率和单根地址线的位宽相乘,得到理想带宽。然后再将实际带宽除以理想带宽,得到带宽利用率,并将此带宽利用率作为带宽数据发送至主控模块100。
在本实施例中,通过在目标监控模块200中设置带宽监控模块210,通过带宽监控模块210来获取带宽数据,从而保障了获取到的带宽数据的有效性。
进一步地,目标监控模块200还包括:
延时监控模块220,用于确定所述监控时间段的读延迟数据和写延迟数据,将预设的标准延迟数据和所述读延迟数据之间的比例作为读延时数据,将所述标准延迟数据和所述写延迟数据之间的比例作为写延时数据,将所述读延时数据和所述写延时数据作为延迟数据发送至主控模块100。
在本实施例中,可以通过延时监控模块220来监控存储器的延迟数据,并且由于一般情况下业务访问存储器是包括读写两种操作。因此本实施例中的延迟数据可以包括读操作的延迟数据和写操作的延迟数据。如读延时数据和写延时数据。
并且延时监控模块220分别与和数据接口500和主控模块100连接,延时监控模块220通过数据接口500来实现对延迟数据的监控。在一场景中,延时监控模块220需要先获取提前设置的标准延迟时间,然后再获取监控时间段的读延迟数据和写延迟数据,并计算标准延迟数据和读延迟数据之间的比例值,将其作为读延时数据,同理,计算标准延迟数据和写延迟数据之间的比例,将其作为写延时数据。然后将读延时数据和写延时数据作为延迟数据发送至主控模块100。并且发送读延时数据和写延时数据的先后顺序在本实施例中不做限制。
在本实施例中,通过在目标监控模块200中设置延时监控模块220,通过延时监控模块220获取读延迟数据和写延迟数据,并根据标准延迟数据来确定计算读延时数据和写延时数据,再将读延时数据和写延时数据作为延迟数据,从而保障了获取到的延迟数据的准确性。
进一步地,目标监控模块200还包括:
跳变监控模块230,用于确定所述监控时间段的所有地址线的跳变概率,对各所述跳变概率进行排序,将排序后的各所述跳变概率发送至所述主控模块100。
在本实施例中,可以通过跳变监控模块230来监控存储器中所有地址线的跳变概率,并确定监控时间段的所有地址线的跳变概率,再进行排序,排序规则可以是按照从大到小的顺序进行排序。最后将排序后的所有的跳变概率发送至主控模块100。
其中,跳变监控模块200分别和数据接口500和主控模块100连接,并通过数据接口500来实现对跳变概率的监控与获取。监控时间段可以是***默认设置的时间段。
在本实施例中,通过在目标监控模块200中设置跳变监控模块230,并通过跳变监控模块230来监控所有地址线的跳变概率,将其发送至主控模块100,从而保障了主控模块100获取到的跳变概率的准确有效性。
进一步地,存储器访问***10还包括:
配置模块400,用于配置所述带宽数据对应的第一权重、所述写延时数据对应的第二权重和所述读延时数据对应的第三权重,并将所述第一权重、所述第二权重和所述第三权重发送至所述主控模块100;
所述主控模块100,还用于根据所述第一权重、所述第二权重、所述第三权重、所述带宽数据、所述读延时数据和所述写延时数据计算每个地址映射模式的评分,并在根据所述跳变概率确定当前时刻的地址映射模式为最后一种地址映射模式时,选择评分最高的地址映射模式作为目标地址映射模式。
在本实施例中,在存储器中的其他模块还未开始工作时,就可以先启动配置模块400,并通过配置模块400进行各项参数的设置,如配置带宽数据的第一权重,写延时数据对应的第二权重和读延时数据对应的第三权重,并将其发送至主控模块100中。其中,第一权重、第二权重和第三权重的和值为100%。
主控模块在接收到配置模块400发送的各个配置数据,如第一权重、第二权重和第三权重;接收到带宽监控模块210发送的带宽利用率;接收到延时监控模块220发送的读延时比例和写延时比例;接收到跳变监控模块200发送的跳变概率后,就可以来计算每个地址映射模式的评分,并在当前时刻的地址映射模式为最后一种地址映射模式时,在各个评分中选择评分最高的地址映射模式作为目标地址映射模式。需要说明存储器在运行不同的地址映射模式时,目标监控模块200获取到的带宽数据、延迟数据和跳变概率可能相同也可能不相同,在此不做限制。
在本实施例中,通过在存储器访问***中设置配置模块,并通过配置模块对主控模块中的带宽数据、写延时数据和读延时数据进行权重的设置,以便主控模块更加精准地确定目标地址映射模式。
此外,本发明还提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上的存储器访问程序;所述处理器用于执行所述存储器访问程序,以实现上述存储器访问方法各实施例的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述存储器访问方法各实施例的步骤。
本发明计算机可读存储介质具体实施方式与上述存储器访问方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种存储器访问方法,其特征在于,应用于存储器访问***,包括:
在检测到业务访问命令之后,监控实时的带宽数据、延迟数据和所有地址线的跳变概率;
根据所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式;
运行所述目标地址映射模式,以完成所述业务访问命令对存储器的访问。
2.如权利要求1所述的存储器访问方法,其特征在于,所述延迟数据包括读延时数据和写延时数据,所述根据所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式的步骤,包括:
确定所述带宽数据对应的第一权重、所述写延时数据对应的第二权重和所述读延时数据对应的第三权重;
计算所述第一权重和所述带宽数据之间的第一乘积、所述第二权重和所述写延时数据之间的第二乘积、所述第三权重和所述读延时数据对应的第三乘积,并将所述第一乘积、所述第二乘积和所述第三乘积之间的和值作为地址映射模式对应的评分;
根据所述评分和所述跳变概率确定目标地址映射模式。
3.如权利要求2所述的存储器访问方法,其特征在于,所述根据所述评分和所述跳变概率确定目标地址映射模式的步骤,包括:
确定所述跳变概率对应的所有地址映射模式;
在当前时刻的地址映射模式是各所述地址映射模式中的最后一种地址映射模式之后,确定每个所述地址映射模式对应的评分,并选择评分最高的所述地址映射模式作为目标地址映射模式。
4.如权利要求2所述的存储器访问方法,其特征在于,所述确定所述跳变概率对应的所有地址映射模式的步骤之后,包括:
在当前时刻的地址映射模式是各所述地址映射模式中除最后一种地址映射模式之外的其它地址映射模式之后,确定各所述跳变概率中大于预设阈值的第一跳变概率,和小于或等于所述预设阈值的第二跳变概率;
将所述第二跳变概率对应的地址映射到存储器中的行,并将所述第一跳变概率对应的bit映射到存储体bank和列,得到最新的地址映射模式;
运行所述最新的地址映射模式,并执行所述监控实时的带宽数据、延迟数据和所有地址线的跳变概率的步骤。
5.如权利要求1所述的存储器访问方法,其特征在于,所述运行所述目标地址映射模式的步骤,包括:
确定所述业务访问命令中的读命令和写命令;
阻塞存储器接收所述写命令,在所述存储器执行完成所述读命令后,运行所述目标地址映射模式,进行地址映射规则切换,并在所述地址映射规则切换完成后允许所述存储器接收所述写命令。
6.一种存储器访问***,其特征在于,包括:主控模块,与所述主控模块分别连接的目标监控模块和地址映射模块;
所述目标监控模块,用于监控实时的带宽数据、延迟数据和所有地址线的跳变概率,并将所述带宽数据、所述延迟数据和所述跳变概率发送至所述主控模块;
所述主控模块,用于根据接收的所述带宽数据、所述延迟数据和所述跳变概率确定目标地址映射模式,并将所述目标地址映射模式发送至所述地址映射模块;
所述地址映射模块,用于执行所述目标地址映射模式,根据执行的所述目标地址映射模式完成接收的业务访问命令对存储器的访问。
7.如权利要求6所述的存储器访问***,其特征在于,所述目标监控模块包括:
带宽监控模块,用于根据监控时间段和存储器工作频率计算理想带宽,并根据监控的突发数据包的大小和个数确定实际带宽,根据所述实际带宽和所述理想带宽计算带宽利用率,将所述带宽利用率作为带宽数据发送至所述主控模块。
8.如权利要求7所述的存储器访问***,其特征在于,所述目标监控模块包括:
延时监控模块,用于确定所述监控时间段的读延迟数据和写延迟数据,将预设的标准延迟数据和所述读延迟数据之间的比例作为读延时数据,将所述标准延迟数据和所述写延迟数据之间的比例作为写延时数据,将所述读延时数据和所述写延时数据作为延迟数据发送至所述主控模块。
9.如权利要求8所述的存储器访问***,其特征在于,所述目标监控模块包括:
跳变监控模块,用于确定所述监控时间段的所有地址线的跳变概率,对各所述跳变概率进行排序,将排序后的各所述跳变概率发送至所述主控模块。
10.如权利要求9所述的存储器访问***,其特征在于,还包括:
配置模块,用于配置所述带宽数据对应的第一权重、所述写延时数据对应的第二权重和所述读延时数据对应的第三权重,并将所述第一权重、所述第二权重和所述第三权重发送至所述主控模块;
所述主控模块,还用于根据所述第一权重、所述第二权重、所述第三权重、所述带宽数据、所述读延时数据和所述写延时数据计算每个地址映射模式的评分,并在根据所述跳变概率确定当前时刻的地址映射模式为最后一种地址映射模式时,选择评分最高的地址映射模式作为目标地址映射模式。
11.一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求1-5任一项所述存储器访问方法的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1-5任一项所述存储器访问方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211196077.1A CN117827702A (zh) | 2022-09-28 | 2022-09-28 | 存储器访问方法及***、电子设备和计算机可读存储介质 |
PCT/CN2023/084365 WO2024066256A1 (zh) | 2022-09-28 | 2023-03-28 | 存储器访问方法及***、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211196077.1A CN117827702A (zh) | 2022-09-28 | 2022-09-28 | 存储器访问方法及***、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117827702A true CN117827702A (zh) | 2024-04-05 |
Family
ID=90475807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211196077.1A Pending CN117827702A (zh) | 2022-09-28 | 2022-09-28 | 存储器访问方法及***、电子设备和计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117827702A (zh) |
WO (1) | WO2024066256A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959105B (zh) * | 2017-05-17 | 2023-12-22 | 深圳市中兴微电子技术有限公司 | 一种实现地址映射的方法及装置 |
CN111858396B (zh) * | 2020-07-27 | 2023-07-28 | 福州大学 | 一种存储器自适应地址映射方法及*** |
CN112199040B (zh) * | 2020-09-18 | 2022-10-14 | 星宸科技股份有限公司 | 存储访问方法及智能处理装置 |
CN112463700B (zh) * | 2020-11-06 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种控制axi总线带宽的方法和装置 |
CN113590508B (zh) * | 2021-09-30 | 2022-02-11 | 沐曦科技(北京)有限公司 | 动态可重构的内存地址映射方法及装置 |
US20220179797A1 (en) * | 2022-02-28 | 2022-06-09 | Intel Corporation | Memory transaction queue bypass based on configurable address and bandwidth conditions |
-
2022
- 2022-09-28 CN CN202211196077.1A patent/CN117827702A/zh active Pending
-
2023
- 2023-03-28 WO PCT/CN2023/084365 patent/WO2024066256A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024066256A1 (zh) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11637845B2 (en) | Method and apparatus for malicious attack detection in a software defined network (SDN) | |
CN110601973B (zh) | 一种路由规划方法、***、服务器及存储介质 | |
US20190319844A1 (en) | Service deployment method and apparatus | |
US10757033B2 (en) | Traffic control method, traffic control apparatus and server | |
JP7451689B2 (ja) | ネットワーク輻輳処理方法、モデル更新方法、および関連装置 | |
US20220210026A1 (en) | Network Parameter Configuration Method and Apparatus, Computer Device, and Storage Medium | |
US10976956B2 (en) | Non-volatile memory persistence method and computing device | |
CN110933723B (zh) | 一种漫游切换控制方法、装置和无线ap | |
WO2022001686A1 (zh) | 网络质量评估的方法、电子设备及存储介质 | |
US11050649B2 (en) | Delay measurement method of network node device, apparatus, and network node device | |
US20120316856A1 (en) | Methods and system for modeling wireless communications in a network | |
CN108965066B (zh) | 一种对传输路径进行探测的方法和装置 | |
CN112543145A (zh) | 发送数据的设备节点通信路径选择方法及装置 | |
US11252078B2 (en) | Data transmission method and apparatus | |
CN112583715A (zh) | 设备节点连接调整方法及装置 | |
CN117827702A (zh) | 存储器访问方法及***、电子设备和计算机可读存储介质 | |
CN110098976A (zh) | 网络参数的测量方法、装置、计算机设备和存储介质 | |
CN111740922B (zh) | 数据传输方法、装置、电子设备及介质 | |
CN111130698B (zh) | 无线通信接收窗口预测方法、装置及无线通信设备 | |
CN110581810A (zh) | 基于spma协议的数据通信方法、装置、设备及介质 | |
CN107317765B (zh) | 管理路径信息的方法和装置 | |
CN113923061B (zh) | 基于智能网卡的gpu网络通信方法、智能网卡、介质、设备 | |
CN116418893A (zh) | 一种数据管理的方法及相应装置 | |
CN112600753A (zh) | 根据设备接入量的设备节点通信路径选择方法及装置 | |
CN112637083A (zh) | 丢包处理方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |