一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于动态感知寿命均衡的FPGA重构方法及相关装置与流程

2022-11-19 09:27:09 来源:中国专利 TAG:

一种基于动态感知寿命均衡的fpga重构方法及相关装置
技术领域
1.本发明实施例涉及非易失fpga(nonvolatile filed programmable gate array)技术领域,尤其涉及一种基于动态感知寿命均衡的fpga重构方法及相关装置。


背景技术:

2.传统的存储器的寿命均衡主要基于静态分析方法,静态分析方法是通过在离线阶段产生一系列随机激励以预测电路中逻辑块存储器写入频率,并以此估算被映射的物理块存储器的物理损耗。
3.在离线阶段,综合工具会根据预测的逻辑块存储器写入频率产生多个配置文件,在运行阶段,重构控制器会并根据离线阶段配置文件产生的顺序在它们之间进行切换以将逻辑块存储器重映射到物理块存储器,以实现物理块存储器之间的寿命均衡。
4.然而,随着电路工作模式的切换,静态分析的写入频率往往与实际写入频率存在较大偏差,对于大多数电路综合工具很难获取准确的激励文件序列,只能用随机激励替代,这也使得静态分析方法的准确性与实际运行过程相距甚远。


技术实现要素:

5.本发明提供一种基于动态感知寿命均衡的fpga重构方法及相关装置,以实现通过动态感知写入模式实现存储器的寿命均衡。
6.第一方面,本发明实施例提供了一种基于动态感知寿命均衡的fpga重构方法及相关装置,用于存储器的寿命均衡,包括:
7.从预设的配置文件集合中选择一个配置文件,所述配置文件包括逻辑块存储器与物理块存储器的映射关系;
8.在所述物理块存储器根据所述配置文件存储数据的过程中,获取每个所述物理块存储器的写入次数;
9.在所述写入次数大于第一阈值时,根据所述写入次数和所述物理块存储器的历史写入次数求解每个配置文件的执行时间权重;
10.根据所述执行时间权重选择配置文件生成配置文件序列,并根据每个所述配置文件序列的执行时间权重为所述配置文件设置第二阈值;
11.依次运行所述配置文件序列中的每个配置文件,并在运行每个所述配置文件时,若所述物理块存储器的写入次数大于所述第二阈值,运行所述配置文件序列中的下一个配置文件,至到运行完所述配置文件序列中的所有配置文件。
12.可选的,在从预设的配置文件集合中选择一个配置文件之前,还包括:
13.在检测到触发生成配置文件事件时,加载物理块存储器使用字典,所述物理块存储器使用字典包括每个所述物理块存储器的写入次数,逻辑块存储器映射到同一个物理块存储器的重映射次数;
14.从所有物理块存储器中确定出候选物理块存储器;
15.将每个逻辑块存储器随机映射到一个候选物理块存储器,得到初始配置文件;
16.基于所述写入次数、重映射次数以及模拟退火算法对所述初始配置文件中的逻辑存储器和候选物理块存储器的映射关系进行调整,得到最终配置文件。
17.可选的,所述从所有物理块存储器中确定出候选物理块存储器,包括:
18.按照所述写入次数的从大到小对所述物理块存储器进行排序;
19.将排序在前n个的物理块存储器确定为候选物理块存储器。
20.可选的,所述基于所述写入次数、重映射次数以及模拟退火算法对所述初始配置文件中的逻辑存储器和候选物理块存储器的映射关系进行调整,得到最终配置文件,包括:
21.随机选择一个逻辑块存储器,将所述逻辑块存储器重映射到另一个候选物理块存储器;
22.基于所述写入次数和重映射次数计算重映射前的成本,以及计算重映射后的成本;
23.在所述重映射前的成本和重映射后的成本的差值小于预设值时,接受所述逻辑块存储器重映射到另一个候选物理块存储器;
24.在所述重映射前的成本和重映射后的成本的差值大于预设值时,采用所述差值和预设参数计算接受概率;
25.在所述接受概率大于预设概率时,接受所述逻辑块存储器重映射到另一个候选物理块存储器;
26.判断是否满足终止迭代条件;
27.若是,按照接受后的映射关系生成配置文件;
28.若否,返回随机选择一个逻辑块存储器,将所述逻辑块存储器重映射到另一个候选物理块存储器的步骤。
29.可选的,所述成本包括第一成本和第二成本,所述基于所述写入次数和重映射次数计算重映射前的成本,包括:
30.通过以下公式计算第一成本:
[0031][0032]
use(brami)表示编号为i的物理块存储器的写入次数,max_used(brams)表示所有物理块存储器中被使用最多的物理块存储器的写入次数;
[0033]
通过以下公式计算第二成本:
[0034][0035]
reuse(brami,logj)表示编号j的逻辑块存储器被映射到编号为i的物理块存储器的重映射次数。
[0036]
可选的,所述在所述写入次数大于第一阈值时,根据所述写入次数和所述物理块存储器的历史写入次数求解每个配置文件的执行时间权重,包括:
[0037]
针对每个物理块存储器,采用所述历史写入次数计算预测写入次数;
[0038]
采用各个物理块存储器的写入次数、预测写入次数以及每个配置文件的执行时间
权重分别构建写入次数矩阵、预测写入次数矩阵和权重矩阵;
[0039]
采用所述写入次数矩阵、预测写入次数矩阵和权重矩阵构建优化函数,所述优化函数以所述权重矩阵中的执行时间权重为变量;
[0040]
采用二次规划算法求解使得所述优化函数最小时的权重矩阵,得到每个配置文件的执行时间权重。
[0041]
可选的,所述根据每个所述配置文件序列的执行时间权重为所述配置文件设置第二阈值,包括:
[0042]
针对每个配置文件,计算所述配置文件的执行时间权重与预设重构粒度常数的乘积;
[0043]
针对每个物理块存储器,计算所述乘积与所述物理块存储器的当前的写入次数的和值,作为所述配置文件中所述物理块存储器的第二阈值。
[0044]
第二方面,本发明实施例还提供了一种基于动态感知寿命均衡的fpga重构装置,包括:
[0045]
配置文件选择模块,用于从预设的配置文件集合中选择一个配置文件,所述配置文件包括逻辑块存储器与物理块存储器的映射关系;
[0046]
写入次数获取模块,用于在所述物理块存储器根据所述配置文件存储数据的过程中,获取每个所述物理块存储器的写入次数;
[0047]
执行时间权重求解模块,用于在所述写入次数大于第一阈值时,根据所述写入次数和所述物理块存储器的历史写入次数求解每个配置文件的执行时间权重;
[0048]
配置文件序列生成模块,用于根据所述执行时间权重选择配置文件生成配置文件序列,并根据每个所述配置文件序列的执行时间权重为所述配置文件设置第二阈值;
[0049]
配置文件运行模块,用于依次运行所述配置文件序列中的每个配置文件,并在运行每个所述配置文件时,若所述物理块存储器的写入次数大于所述第二阈值,运行所述配置文件序列中的下一个配置文件,至到运行完所述配置文件序列中的所有配置文件。
[0050]
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
[0051]
至少一个处理器;以及
[0052]
与所述至少一个处理器通信连接的存储器;其中,
[0053]
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中任一项所述的基于动态感知寿命均衡的fpga重构方法。
[0054]
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现第一方面中任一项所述的基于动态感知寿命均衡的fpga重构方法。
[0055]
本发明通过从预设的配置文件集合中选择一个配置文件,获取每个物理块存储器的写入次数,根据写入次数和物理块存储器的历史写入次数求解每个配置文件的执行时间权重,根据执行时间权重选择配置文件生成配置文件序列,并根据每个配置文件序列的执行时间权重为配置文件设置第二阈值,依次运行配置文件序列中的每个配置文件,直至到运行完配置文件序列中的所有配置文件。实现了动态感知物理机存储器的写入次数和历史写入次数求解每个配置文件的执行时间权重,以根据执行时间权重来重新计算每个配置文
件的第二阈值,当配置文件序列中的配置文件被执行且写入次数达到第二阈值时,结束执行该配置文件以执行下一个配置文件,实现了将逻辑块存储器重映射到其他物理块存储器,从而实现物理块存储器的寿命均衡,相对于现有技术离线生成配置文件后按照配置文件生成顺序来执行配置文件,本实施例动态感知各个物理块存储器的写入次数重和历史写入次数来切换配置文件以重构逻辑块存储器到物理块存储器的映射关系,更能根据真实的写入次数对物理块存储器的寿命进行均衡。
附图说明
[0056]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0057]
图1是本发明实施例一中的一种基于动态感知寿命均衡的fpga重构方法的流程图;
[0058]
图2是本发明实施例二中的一种基于动态感知寿命均衡的fpga重构方法的流程图;
[0059]
图3是本发明实施例三中的一种基于动态感知寿命均衡的fpga重构装置的结构示意图;
[0060]
图4是本发明实施例四中的一种电子设备的结构示意图。
具体实施方式
[0061]
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0062]
实施例一
[0063]
图1为本发明实施例一提供的一种基于动态感知寿命均衡的fpga重构方法的流程图,本实施例可适用于存储器的寿命均衡的情况,该方法可以由基于动态感知寿命均衡的fpga重构装置来执行,该基于动态感知寿命均衡的fpga重构装置可以集成在电子设备中,具体包括如下步骤:
[0064]
s101、从预设的配置文件集合中选择一个配置文件,配置文件包括逻辑块存储器与物理块存储器的映射关系。
[0065]
逻辑块存储器可以是用户设计时逻辑上需要使用的块存储器,物理块存储器可以是存储器上的存储数据的物理区域,即存储器上具体的块存储器,是存储器的物理资源。
[0066]
配置文件可以是表示逻辑块存储器与物理块存储器的映射关系的文件,应用指示设计上逻辑块存储器上的数据存储到对应的物理块存储器,在实际应用中,可以预先生成多个配置文件,每个配置文件中逻辑块存储与物理块存储器的映射关系不同,多个配置文件即组成配置文件集合。
[0067]
对于每个存储器,每次开机上电时可以先随机选择一个配置文件来运行,以指示每个逻辑块存储器的数据存储到对应的物理块存储器。
[0068]
s102、在物理块存储器根据配置文件存储数据的过程中,获取每个物理块存储器的写入次数。
[0069]
在存储器根据配置文件存储数据的过程中,可以读取每个物理块存储器上设置的计数器的计数数据,将计数器的计数数据作为写入次数。
[0070]
s103、在写入次数大于第一阈值时,根据写入次数和物理块存储器的历史写入次数求解每个配置文件的执行时间权重。
[0071]
执行时间权重可以是在一段时长内,执行各个配置文件所分配的时间的权重,第一阈值可以是固定的阈值,可以根据物理块存储器的写入寿命确定,在执行配置文件的过程中,当某个物理块存储器的写入次数大于该第一阈值时,根据各个物理块存储器的写入次数和物理块存储器的历史写入次数求解每个配置文件的执行时间权重,该执行时间权重使得在未来一段时间内执行各个配置文件之后,各个物理块存储器的写入次数均衡,即寿命均衡。
[0072]
在一个示例中,针对每个物理块存储器,可以采用历史写入次数计算预测写入次数,采用各个物理块存储器的写入次数、预测写入次数以及每个配置文件的执行时间权重分别构建写入次数矩阵、预测写入次数矩阵和权重矩阵,采用写入次数矩阵、预测写入次数矩阵和权重矩阵构建优化函数,优化函数以权重矩阵中的执行时间权重为变量;采用二次规划算法求解使得优化函数最小时的权重矩阵,得到每个配置文件的执行时间权重。
[0073]
s104、根据执行时间权重选择配置文件生成配置文件序列,并根据每个配置文件序列的执行时间权重为配置文件设置第二阈值。
[0074]
由于执行时间权重可以是在一段时长内,执行各个配置文件所分配的时间的权重,因此可以选择执行时间权重不为0的配置文件,得到配置文件序列,对于每个配置文件,计算配置文件的执行时间权重与预设重构粒度常数的乘积,针对每个物理块存储器,计算乘积与物理块存储器的当前的写入次数的和值,作为配置文件中物理块存储器的第二阈值,该第二阈值也为配置文件的第二阈值。
[0075]
s105、依次运行配置文件序列中的每个配置文件,并在运行每个配置文件时,若物理块存储器的写入次数大于第二阈值,运行配置文件序列中的下一个配置文件,至到运行完配置文件序列中的所有配置文件。
[0076]
在生成配置文件序列之后,可以依次执行配置文件序列中的每个配置文件,在执行每个配置文件时,通过物理块存储器上的计数器获取每个物理块存储器的写入次数,当有一个物理块存储器的写入次数大于第二阈值时,停止执行当前配置文件,然后执行下一个配置文件,如此类推,直到执行完所有配置文件之后,返回s103来重新生成配置文件序列。
[0077]
本发明通过从预设的配置文件集合中选择一个配置文件,获取每个物理块存储器的写入次数,根据写入次数和物理块存储器的历史写入次数求解每个配置文件的执行时间权重,根据执行时间权重选择配置文件生成配置文件序列,并根据每个配置文件序列的执行时间权重为配置文件设置第二阈值,依次运行配置文件序列中的每个配置文件,直至到运行完配置文件序列中的所有配置文件。实现了动态感知物理机存储器的写入次数和历史写入次数求解每个配置文件的执行时间权重,以根据执行时间权重来重新计算每个配置文件的第二阈值,当配置文件序列中的配置文件被执行且写入次数达到第二阈值时,结束执
行该配置文件以执行下一个配置文件,实现了将逻辑块存储器重映射到其他物理块存储器,从而实现物理块存储器的寿命均衡,相对于现有技术离线生成配置文件后按照配置文件生成顺序来执行配置文件,本实施例动态感知各个物理块存储器的写入次数重和历史写入次数来切换配置文件以重构逻辑块存储器到物理块存储器的映射关系,更能根据真实的写入次数对物理块存储器的寿命进行均衡。
[0078]
实施例二
[0079]
图2为本发明实施例二提供的一种基于动态感知寿命均衡的fpga重构方法的流程图,本实施例在实施例一的基础上进一步优化,如图2所示,本发明实施例的基于动态感知寿命均衡的fpga重构方法具体包括如下:
[0080]
s201、在检测到触发生成配置文件事件时,加载物理块存储器使用字典,物理块存储器使用字典包括每个物理块存储器的写入次数,逻辑块存储器映射到同一个物理块存储器的重映射次数。
[0081]
生成配置文件事件可以是存储器下电,即在存储器下电时即触发离线生成配置文件,当然,生成配置文件事件还可以是预设间隔时间到达,本实施例对触发生成配置文件事件不作限制。
[0082]
物理块存储器使用字典可以是记录了每个物理块存储器的历史时延记录的文件,如包括每个物理块存储器的写入次数,逻辑块存储器映射到同一个物理块存储器的重映射次数。
[0083]
s202、从所有物理块存储器中确定出候选物理块存储器。
[0084]
其中,从所有物理块存储器中确定出候选物理块存储器可以是按照写入次数的从大到小对物理块存储器进行排序,将排序在前n个的物理块存储器确定为候选物理块存储器。可选的,在后续布局阶段,物理块存储器从候选物理块存储器选择。优选的,为了保证布局位置的合法性,候选物理块存储器的数量不超过存储器的物理块存储器总数量。
[0085]
s203、将每个逻辑块存储器随机映射到一个候选物理块存储器,得到初始配置文件。
[0086]
其中,初始配置文件可以是为每个逻辑块存储器从所有候选物理块存储器中随机选取一个候选物理块存储器进行映射。
[0087]
s204、基于写入次数、重映射次数以及模拟退火算法对初始配置文件中的逻辑存储器和候选物理块存储器的映射关系进行调整,得到最终配置文件。
[0088]
在一个可选实施例中,通过随机选择一个逻辑块存储器,将逻辑块存储器重映射到另一个候选物理块存储器,基于写入次数和重映射次数计算重映射前的成本,以及计算重映射后的成本,在重映射前的成本和重映射后的成本的差值小于预设值时,接受逻辑块存储器重映射到另一个候选物理块存储器,在重映射前的成本和重映射后的成本的差值大于预设值时,采用差值和预设参数计算接受概率,在接受概率大于预设概率时,接受逻辑块存储器重映射到另一个候选物理块存储器,判断是否满足终止迭代条件,若是,按照接受后的映射关系生成配置文件,反之,则返回随机选择一个逻辑块存储器,将逻辑块存储器重映射到另一个候选物理块存储器的步骤。
[0089]
模拟退火算法可以参考现有技术,在此不再详述,本实施例中,每次迭代计算重映射前的成本和重映射后的成本,成本包括第一成本和第二成本,基于写入次数和重映射次
数计算重映射前的成本,包括:
[0090]
通过以下公式计算第一成本:
[0091][0092]
used(brami)表示编号为i的物理块存储器的写入次数,max_used(brams)表示所有物理块存储器中被使用最多的物理块存储器的写入次数。
[0093]
通过以下公式计算第二成本:
[0094][0095]
reuse(brami,logj)表示编号j的逻辑块存储器被映射到编号为i的物理块存储器的重映射次数。
[0096]
重映射前的成本可以是重映射前第一成本和第二成本的和值,同理重映射后的成本可以是重映射前第一成本和第二成本的和值,当然,也可以不计算第一成本和第二成本的和值,即重映射前的成本包括重映射前的第一成本和第二成本,重映射后的成本包括重映射后的第一成本和第二成本。如果成本为第一成本和第二成本的和值,则计算和值的差值,通过该差值来计算接受概率如下:
[0097][0098]
δcost为成本差值,t为退火温度,退火温度t可以预先设置,并且在每轮迭代后降低。
[0099]
如果成本包括第一成本和第二成本,则可以计算重映射前的第一成本和重映射后的第一成本的差值得到第一差值,计算重映射前的第二成本和重映射后的第二成本的差值得到第二差值,如果第一差值和第二差值都小于预设值,则直接接收本次重映射,得到配置文件,反之,分别将第一差值、第二差值代入上述接受概率公式计算出第一接受概率和第二接受概率之后取平均值作为最终接受概率。
[0100]
通过第一成本计算公式可知,used(brami)越大表示编号为i的物理块存储器的写入次数越多,第一成本cost
use
越大,逻辑块存储器映射到该物理块存储器的成本越高,从而可以避免逻辑块存储器映射到写入次数多的物理块存储器,实现了逻辑块存储器尽可能地映射到写入次数少的物理块存储器,亦即在生成配置文件时,逻辑块存储器尽可能地映射到寿命长的物理块存储器。
[0101]
通过第二成本计算公式可知,reuse(brami,logj)越大,表示编号j的逻辑块存储器被映射到编号为i的物理块存储器的次数越多,第二成本cost
reuse
越大,逻辑块存储器映射到该物理块存储器的成本越高,从而可以避免逻辑块存储器映射到已经映射过的物理块存储器,实现了逻辑块存储器尽可能地映射到不同的物理块存储器,亦即在生成多个配置文件时,同一个逻辑块存储器映射到不同的物理块存储器。
[0102]
本实施例在检测到触发生成配置文件事件时,通过物理块存储器的写入次数、重映射次数以及模拟退火算法对初始配置文件中的逻辑存储器和候选物理块存储器的映射关系进行调整,得到最终配置文件,实现了通过物理块存储器的真实的写入次数、重映射次数生成配置文件,解决了现有技术中通过随机激励生成配置文件,导致随机激励与真实写
入次数、重映射次数不准确,造成最终配置文件不准确的问题,能够生成准确的配置文件,在配置文件被执行时,更精准更高效地对逻辑块存储器与物理块存储器的映射关系重构,从而实现更加有效的寿命均衡。
[0103]
s205、从预设的配置文件集合中选择一个配置文件,配置文件包括逻辑块存储器与物理块存储器的映射关系。
[0104]
s206、在物理块存储器根据配置文件存储数据的过程中,获取每个物理块存储器的写入次数。
[0105]
s207、针对每个物理块存储器,采用历史写入次数计算预测写入次数。
[0106]
在一个示例中,可以根据历史写入次数计算写入频率,通过写入频率和预置周期计算写入次数作为预测写入次数,在另一个示例中,可以通过计算每个预设周期内的历史写入次数的均值作为预测写入次数,当然,还可以通过其他诸如曲线趋势分析等方法计算预测写入次数。
[0107]
s208、采用各个物理块存储器的写入次数、预测写入次数以及每个配置文件的执行时间权重分别构建写入次数矩阵、预测写入次数矩阵和权重矩阵。
[0108]
s209、采用写入次数矩阵、预测写入次数矩阵和权重矩阵构建优化函数,优化函数以权重矩阵中的执行时间权重为变量。
[0109]
其中,优化函数可以是:
[0110][0111]
s.t 0≤w≤1
ꢀꢀꢀ
(3)
[0112]
矩阵cur代表物理块存储器的历史写入次数,矩阵con表示物理块存储器在重构后的预测写入次数,矩阵w是每个配置文件的执行时间的权重,con
·
w表示在配置文件执行一段时间后的写入次数,配置文件决策模块根据权重w进行设置不同的重构触发阈值。
[0113]
磨损均衡的目标是使每个块存储器的写入次数接近,即处于均衡状态,因此,该过程需要增加一些约束条件,限制权重序列w的值属于区间[0:1],则公式(3)可以转化为公式(4)的表达:
[0114][0115]
s.t 0≤w≤1
ꢀꢀꢀ
(4)
[0116]
s210、采用二次规划算法求解使得优化函数最小时的权重矩阵,得到每个配置文件的执行时间权重。
[0117]
其中,采用二次规划算法求解使得优化函数最小时的权重矩阵可以是将公式(4)中的矩阵[-con]写成a,矩阵[1-cur]写成作为b,公式(4)可以转换为公式(5):
[0118][0119]
s.t.0≤w≤1
ꢀꢀꢀ
(5)
[0120]
而由于平方根函数是单调的,而且b是一个常数项,所以公式(5)可以抽象为公式(6),找到一个w来最小化权重矩阵。
[0121][0122]
s.t.0≤w≤1
ꢀꢀꢀ
(6)
[0123]
在a、b都已知确定的情况下,求解使得公式(6)最小时的w,具体可以采用现有二次规划算法求解,在此不再详述。
[0124]
s211、针对每个配置文件,计算配置文件的执行时间权重与预设重构粒度常数的乘积。
[0125]
其中,重构粒度常数可以设置为小于非易失存储器的写寿命的任意数,重构粒度常数越小重构次数越多,但是均衡效果也越好。
[0126]
s212、针对每个物理块存储器,计算乘积与物理块存储器的当前的写入次数的和值,作为配置文件中物理块存储器的第二阈值。
[0127]
其中,当前的写入次数可以是当前计数器的计数数据。
[0128]
s213、依次运行配置文件序列中的每个配置文件,并在运行每个配置文件时,若物理块存储器的写入次数大于第二阈值,运行配置文件序列中的下一个配置文件,至到运行完配置文件序列中的所有配置文件。
[0129]
本发明通过从预设的配置文件集合中选择一个配置文件,获取每个物理块存储器的写入次数,根据写入次数和物理块存储器的历史写入次数求解每个配置文件的执行时间权重,根据执行时间权重选择配置文件生成配置文件序列,并根据每个配置文件序列的执行时间权重为配置文件设置第二阈值,依次运行配置文件序列中的每个配置文件,直至到运行完配置文件序列中的所有配置文件。实现了动态感知物理机存储器的写入次数和历史写入次数求解每个配置文件的执行时间权重,以根据执行时间权重来重新计算每个配置文件的第二阈值,当配置文件序列中的配置文件被执行且写入次数达到第二阈值时,结束执行该配置文件以执行下一个配置文件,实现了将逻辑块存储器重映射到其他物理块存储器,从而实现物理块存储器的寿命均衡,相对于现有技术离线生成配置文件后按照配置文件生成顺序来执行配置文件,本实施例动态感知各个物理块存储器的写入次数重和历史写入次数来切换配置文件以重构逻辑块存储器到物理块存储器的映射关系,更能根据真实的写入次数对物理块存储器的寿命进行均衡。
[0130]
实施例三
[0131]
图3为本发明实施例三提供的一种基于动态感知寿命均衡的fpga重构装置的结构示意图。如图3所示,该存储器寿命均衡装置包括:
[0132]
配置文件选择模块310,用于从预设的配置文件集合中选择一个配置文件,所述配置文件包括逻辑块存储器与物理块存储器的映射关系;
[0133]
写入次数获取模块320,用于在所述物理块存储器根据所述配置文件存储数据的过程中,获取每个所述物理块存储器的写入次数;
[0134]
执行时间权重求解模块330,用于在所述写入次数大于第一阈值时,根据所述写入次数和所述物理块存储器的历史写入次数求解每个配置文件的执行时间权重;
[0135]
配置文件序列生成模块340,用于根据所述执行时间权重选择配置文件生成配置文件序列,并根据每个所述配置文件序列的执行时间权重为所述配置文件设置第二阈值;
[0136]
配置文件运行模块350,用于依次运行所述配置文件序列中的每个配置文件,并在运行每个所述配置文件时,若所述物理块存储器的写入次数大于所述第二阈值,运行所述配置文件序列中的下一个配置文件,至到运行完所述配置文件序列中的所有配置文件。
[0137]
可选的,所述基于动态感知寿命均衡的fpga重构装置,还包括:
[0138]
物理块存储器使用字典加载模块,用于在从预设的配置文件集合中选择一个配置文件之前,检测到触发生成配置文件事件时,加载物理块存储器使用字典,所述物理块存储器使用字典包括每个所述物理块存储器的写入次数,逻辑块存储器映射到同一个物理块存储器的重映射次数;
[0139]
候选物理块存储器选定模块,用于从所有物理块存储器中确定出候选物理块存储器;
[0140]
第一映射关系建立模块,用于将每个逻辑块存储器随机映射到一个候选物理块存储器,得到初始配置文件;
[0141]
映射关系调整模块,用于基于所述写入次数、重映射次数以及模拟退火算法对所述初始配置文件中的逻辑存储器和候选物理块存储器的映射关系进行调整,得到最终配置文件。
[0142]
可选的,所述候选物理块存储器选定模块,包括:
[0143]
排序模块,用于按照所述写入次数的从大到小对所述物理块存储器进行排序;
[0144]
确定模块,用于将排序在前n个的物理块存储器确定为候选物理块存储器。
[0145]
可选的,所述映射关系调整模块,包括:
[0146]
第二映射关系建立模块,用于随机选择一个逻辑块存储器,将所述逻辑块存储器重映射到另一个候选物理块存储器;
[0147]
成本计算模块,用于基于所述写入次数和重映射次数计算重映射前的成本,以及计算重映射后的成本;
[0148]
第一映射关系更新模块,用于在所述重映射前的成本和重映射后的成本的差值小于预设值时,接受所述逻辑块存储器重新映射到另一个候选物理块存储器;
[0149]
接受概率计算模块,用于在所述重映射前的成本和重映射后的成本的差值大于预设值时,采用所述差值和预设参数计算接受概率;
[0150]
第二映射关系更新模块,用于在所述接受概率大于预设概率时,接受所述逻辑块存储器重映射到另一个候选物理块存储器;
[0151]
迭代终止模块,用于判断是否满足终止迭代条件;
[0152]
若是,按照接受后的映射关系生成配置文件;
[0153]
若否,返回随机选择一个逻辑块存储器,将所述逻辑块存储器重映射到另一个候选物理块存储器的步骤。
[0154]
可选的,所述成本包括第一成本和第二成本,所述成本计算模块,具体用于:
[0155]
通过以下公式计算第一成本:
[0156][0157]
used(brami)表示编号为i的物理块存储器的写入次数,max_used(brams)表示所有物理块存储器中被使用最多的物理块存储器的写入次数;
[0158]
通过以下公式计算第二成本:
[0159][0160]
reuse(brami,logj)表示编号j的逻辑块存储器被映射到编号为i的物理块存储器的重映射次数。
[0161]
可选的,所述执行时间权重求解模块,具体用于:
[0162]
针对每个物理块存储器,采用所述历史写入次数计算预测写入次数;
[0163]
采用各个物理块存储器的写入次数、预测写入次数以及每个配置文件的执行时间权重分别构建写入次数矩阵、预测写入次数矩阵和权重矩阵;
[0164]
采用所述写入次数矩阵、预测写入次数矩阵和权重矩阵构建优化函数,所述优化函数以所述权重矩阵中的执行时间权重为变量;
[0165]
采用二次规划算法求解使得所述优化函数最小时的权重矩阵,得到每个配置文件的执行时间权重。
[0166]
可选的,所述配置文件序列生成模块,具体用于:
[0167]
针对每个配置文件,计算所述配置文件的执行时间权重与预设重构粒度常数的乘积;
[0168]
针对每个物理块存储器,计算所述乘积与所述物理块存储器的当前的写入次数的和值,作为所述配置文件中所述物理块存储器的第二阈值。
[0169]
上述基于动态感知寿命均衡的fpga重构装置可执行本发明任意实施例所提供基于动态感知寿命均衡的fpga重构方法,具备执行方法相应的功能模块和有益效果。
[0170]
实施例四
[0171]
图4示出了可以用来实施本发明的实施例的电子设备40的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0172]
如图4所示,电子设备40包括至少一个处理器41,以及与至少一个处理器41通信连接的存储器,如只读存储器(rom)42、随机访问存储器(ram)43等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器41可以根据存储在只读存储器(rom)42中的计算机程序或者从存储单元48加载到随机访问存储器(ram)43中的计算机程序,来执行各种适当的动作和处理。在ram 43中,还可存储电子设备40操作所需的各种程序和数据。处理器41、rom 42以及ram 43通过总线44彼此相连。输入/输出(i/o)接口45也连接至总线44。
[0173]
电子设备40中的多个部件连接至i/o接口45,包括:输入单元46,例如键盘、鼠标等;输出单元47,例如各种类型的显示器、扬声器等;存储单元48,例如磁盘、光盘等;以及通信单元49,例如网卡、调制解调器、无线通信收发机等。通信单元49允许电子设备40通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0174]
处理器41可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器41的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能
(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器41执行上文所描述的各个方法和处理,例如基于动态感知寿命均衡的fpga重构方法。
[0175]
在一些实施例中,基于动态感知寿命均衡的fpga重构方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元48。在一些实施例中,计算机程序的部分或者全部可以经由rom 42和/或通信单元49而被载入和/或安装到电子设备40上。当计算机程序加载到ram 43并由处理器41执行时,可以执行上文描述的基于动态感知寿命均衡的fpga重构方法的一个或多个步骤。备选地,在其他实施例中,处理器41可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于动态感知寿命均衡的fpga重构方法。
[0176]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0177]
用于实施本发明的基于动态感知寿命均衡的fpga重构方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0178]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0179]
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0180]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据
服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0181]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。
[0182]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0183]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
[0184]
实施例五
[0185]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明任意实施例所述的存储器寿命的均衡方法。
[0186]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0187]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献