System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及内存管理,尤其是涉及一种设备内存扩展方法、装置、设备及存储介质。
技术介绍
1、随着计算机和硬件设备的不断发展,硬件外设可被用于执行更多、更大、更复杂的应用场景,从而进一步的出现了多个访问端请求设备使用的场景,使得对硬件外设的处理能力和内存容量等提出更高的要求。
2、以传统处理方式,当请求设备使用出现了硬件设备内存不足的情况时,通常需要升级硬件设备以满足资源需求,由于硬件设备参数配置等通常是固定的,因此用户通常需要选择更换硬件设备以扩展内存。
3、然而,更换设备的方式灵活性较低,需要耗费时间更换设备,从而可能会导致设备在处理用户进程时效率降低。
技术实现思路
1、为了有助于解决更换设备的方式灵活性较低,需要耗费时间更换设备,从而导致设备在处理用户进程时效率降低的问题,本申请提供一种设备内存扩展方法、装置、设备及存储介质。
2、第一方面,本申请提供一种设备内存扩展方法,采用如下技术方案:所述方法应用于设备内存扩展系统,所述设备内存扩展系统包括硬件设备单元,所述方法包括:
3、将所述硬件设备单元的内存划分为预设大小的内存子块,生成若干设备内存块;
4、获取用户进程待处理数据并创建内存交换区,将所述用户进程待处理数据缓存至所述内存交换区;
5、根据获取的所有用户进程的数量为所述用户进程待处理数据分配设备内存块;
6、判断所述用户进程待处理数据分配得到的设备内存块的内存总和是否满足所述用户进程待处
7、根据判断结果将所述内存交换区的所述用户进程待处理数据传输至对应的设备内存块中处理。
8、在一个具体的可实施方案中,所述将所述用户进程待处理数据缓存至所述内存交换区包括:
9、根据所述设备内存块的内存大小创建若干虚拟内存块;
10、将所述用户进程待处理数据根据所述虚拟内存块的内存大小划分成子数据块,并将所述子数据块缓存至所述虚拟内存块,得到被占用的虚拟内存块;
11、将所述被占用的虚拟内存块缓存至所述内存交换区。
12、在一个具体的可实施方案中,所述根据判断结果将所述内存交换区的所述用户进程待处理数据传输至对应的设备内存块中处理包括:
13、若所述用户进程待处理数据分配得到的设备内存块的内存总和满足所述用户进程待处理数据的大小,则将所述被占用的虚拟内存块映射到与所述用户进程对应的设备内存块中进行处理;
14、若所述用户进程待处理数据分配得到的设备内存块的内存总和不满足所述用户进程待处理数据的大小,则将所述被占用的虚拟内存块分批次映射到与所述用户进程对应的设备内存块中进行处理。
15、在一个具体的可实施方案中,所述将所述被占用的虚拟内存块映射到与所述用户进程对应的设备内存块中进行处理包括:
16、将所述被占用的虚拟内存块的子数据块加载至与所述用户进程对应的设备内存块中处理;
17、其中,所述子数据块从所述虚拟内存块加载至所述设备内存块采用dma传输方式。
18、在一个具体的可实施方案中,所述将所述被占用的虚拟内存块分批次映射到与所述用户进程对应的设备内存块中进行处理包括:
19、将所述被占用的虚拟内存块根据所述用户进程待处理数据分配得到的设备内存块划分为若干处理批次,确定当前批次待处理的虚拟内存块并设为当前待处理内存块;
20、将所述当前待处理内存块的子数据块加载至对应的设备内存块中处理;
21、判断所述当前待处理内存块中的子数据块是否处理完成;
22、若处理完成,则将下一批次待处理的虚拟内存块的子数据块加载至对应的设备内存块中处理,直至所述用户进程待处理数据全部处理完成。
23、在一个具体的可实施方案中,所述设备内存扩展系统还包括设备内存管理单元,所述确定当前批次待处理的虚拟内存块并设为当前待处理内存块包括:
24、在创建所述内存交换区的同时创建内存处理情况表,所述内存处理情况表包括所述虚拟内存块和所述设备内存块的对应情况,以及所述虚拟内存块的执行情况;
25、控制所述设备内存管理单元根据所述内存处理情况表查找未执行的所述被占用的虚拟内存块,获得未执行内存块;
26、将所述用户进程待处理数据分配得到的设备内存块设为硬件执行内存块;
27、按顺序将与所述硬件执行内存块数量一致的未执行内存块,确定为当前批次待处理的虚拟内存块,并设为当前待处理内存块。
28、在一个具体的可实施方案中,在所述将下一批次待处理的虚拟内存块的子数据块加载至对应的设备内存块中处理之前,还包括:
29、将处理完成的子数据块对应的被占用的虚拟内存块释放,并标注为已执行;
30、更新所述内存使用情况表中所述虚拟内存块的执行状态。
31、第二方面,本申请提供一种设备内存扩展装置,采用如下技术方案:所述装置应用于设备内存扩展系统,所述设备内存扩展系统包括硬件设备单元,所述装置包括:
32、内存块划分模块,用于将所述硬件设备单元的内存划分为预设大小的内存子块,生成若干设备内存块;
33、进程数据缓存模块,用于获取用户进程待处理数据并创建内存交换区,将所述用户进程待处理数据缓存至所述内存交换区;
34、内存块分配模块,用于根据获取的所有用户进程的数量为所述用户进程待处理数据分配设备内存块;
35、内存需求判断模块,用于判断所述用户进程待处理数据分配得到的设备内存块的内存总和是否满足所述用户进程待处理数据的大小;
36、设备内存处理模块,用于根据判断结果将所述内存交换区的所述用户进程待处理数据传输至对应的设备内存块中处理。
37、第三方面,本申请提供一种计算机设备,采用如下技术方案:包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述任一种设备内存扩展方法的计算机程序。
38、第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:存储有能够被处理器加载并执行上述任一种设备内存扩展方法的计算机程序。
39、综上所述,本申请具有以下有益技术效果:
40、1、通过虚拟内存块的设计,无需升级物理硬件设备,可以快速实现设备内存虚拟扩展,便于使用有限的资源进行快速扩展,提高硬件资源的利用率和设备处理效率;
41、2、虚拟内存块的交换和硬件设备的运行在驱动层完成,对用户进程透明,有利于用户进程的开发;
42、3、结合内存块分配策略,可以将设备同时分给多个进程使用,提高设备的复用性。
本文档来自技高网...【技术保护点】
1.一种设备内存扩展方法,其特征在于:所述方法应用于设备内存扩展系统,所述设备内存扩展系统包括硬件设备单元,所述方法包括:
2.根据权利要求1所述的方法,其特征在于:所述将所述用户进程待处理数据缓存至所述内存交换区包括:
3.根据权利要求2所述的方法,其特征在于:所述根据判断结果将所述内存交换区的所述用户进程待处理数据传输至对应的设备内存块中处理包括:
4.根据权利要求3所述的方法,其特征在于:所述将所述被占用的虚拟内存块映射到与所述用户进程对应的设备内存块中进行处理包括:
5.根据权利要求3所述的方法,其特征在于:所述将所述被占用的虚拟内存块分批次映射到与所述用户进程对应的设备内存块中进行处理包括:
6.根据权利要求5所述的方法,其特征在于:所述设备内存扩展系统还包括设备内存管理单元,所述确定当前批次待处理的虚拟内存块并设为当前待处理内存块包括:
7.根据权利要求6所述的方法,其特征在于:在所述将下一批次待处理的虚拟内存块的子数据块加载至对应的设备内存块中处理之前,还包括:
8.一种设备内存扩展
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至7中任一种方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至7中任一种方法的计算机程序。
...【技术特征摘要】
1.一种设备内存扩展方法,其特征在于:所述方法应用于设备内存扩展系统,所述设备内存扩展系统包括硬件设备单元,所述方法包括:
2.根据权利要求1所述的方法,其特征在于:所述将所述用户进程待处理数据缓存至所述内存交换区包括:
3.根据权利要求2所述的方法,其特征在于:所述根据判断结果将所述内存交换区的所述用户进程待处理数据传输至对应的设备内存块中处理包括:
4.根据权利要求3所述的方法,其特征在于:所述将所述被占用的虚拟内存块映射到与所述用户进程对应的设备内存块中进行处理包括:
5.根据权利要求3所述的方法,其特征在于:所述将所述被占用的虚拟内存块分批次映射到与所述用户进程对应的设备内存块中进行处理包括:
6.根据权利要求...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:深存科技无锡有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。