一种数据直接存储器访问传输方法技术

技术编号:39567583 阅读:8 留言:0更新日期:2023-12-03 19:18
本申请公开了一种数据直接存储器访问传输方法

【技术实现步骤摘要】
一种数据直接存储器访问传输方法、装置、设备及介质


[0001]本专利技术涉及数据安全与直接存储器访问传输领域,特别涉及一种数据直接存储器访问传输方法

装置

设备及介质


技术介绍

[0002]RISC

V(Reduced Instruction Set Computing
,开源指令集
)
架构将程序的运行模式分成了机器模式

超级用户模式以及普通用户模式,而且为每个模式提供了不同等级的数据物理内存保护功能,通过物理内存保护,可以将
MCU(Microcontroller Unit
,微控制单元
)
的程序分为运行在机器模式下的可信固件以及运行在超级用户和普通用户模式下的各执行域


MCU
的应用过程中,用户希望有些数据可以被保护起来,这些数据在通常情况下只能在机器模式下由可信固件访问,目前,无论是被保护数据还是普通数据,
CPU(Central Processing Unit
,中央处理器
)
都会按照普通的
DMA(Direct Memory Access
,直接存储器访问
)
传输形式进行数据传输,无法保证被保护数据的安全性,并且
CPU
在进行普通的
DMA
传输时,无法执行其他程序,因此造成程序执行的效率较低

[0003]由上可见,如何实现执行数据直接存储器访问传输的同时还可以运行其他程序,从而提高程序执行效率,提高以直接存储器访问传输形式进行数据传输的安全性是本领域有待解决的问题


技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种数据直接存储器访问传输方法

装置

设备及介质,能够实现执行数据直接存储器访问传输的同时还可以运行其他程序,从而提高程序执行效率,提高以直接存储器访问传输形式进行数据传输的安全性

其具体方案如下:
[0005]第一方面,本申请公开了一种数据直接存储器访问传输方法,包括:
[0006]监测本地的数据直接存储器访问传输是否被触发;
[0007]若所述数据直接存储器访问传输被触发,则从本地的第一数据内存中确定待传输数据,将所述待传输数据发送至预设第三方的传输地址仲裁装置,以便所述传输地址仲裁装置判断所述待传输数据是否满足数据保护条件,若满足,则将数据直接存储器访问传输请求和所述待传输数据发送至本地的可信固件;
[0008]利用所述可信固件对所述待传输数据的读写状态进行设置,以得到设置后的所述待传输数据,基于设置后的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器,利用赋值后的所述寄存器和所述待传输数据进行所述第一数据内存和第二数据内存之间的数据直接存储器访问传输

[0009]可选的,所述将所述待传输数据发送至预设第三方的传输地址仲裁装置,以便所述传输地址仲裁装置判断所述待传输数据是否满足数据保护条件,包括:
[0010]将包含源地址的源数据

包含目标地址的目标数据以及数据长度发送至预设第三方的传输地址仲裁装置,以便所述传输地址仲裁装置判断所述源地址或所述目标地址是否
满足数据保护条件

[0011]可选的,所述利用所述可信固件对所述待传输数据的读写状态进行设置,以得到设置后的所述待传输数据,基于设置后的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器,包括:
[0012]利用所述可信固件将所述待传输数据的读写状态设置为机器模式可读写,以得到设置后的所述待传输数据;
[0013]基于设置后的包含所述源地址

所述目标地址以及所述数据长度的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器

[0014]可选的,所述基于设置后的包含所述源地址

所述目标地址以及所述数据长度的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器,包括:
[0015]基于设置后的包含所述源地址

所述目标地址以及所述数据长度的所述待传输数据为所述寄存器中的源地址寄存器

目标地址寄存器

传输长度寄存器分别进行赋值,以得到赋值后的所述寄存器

[0016]可选的,所述将数据直接存储器访问传输请求和所述待传输数据发送至本地的可信固件之后,还包括:
[0017]确定当前执行程序,并将所述当前执行程序压入本地的堆栈,然后跳转至本地的可信固件;
[0018]利用所述可信固件记录所述待传输数据中的源数据物理内存保护模式信息和目标数据物理内存保护模式信息

[0019]可选的,所述的数据直接存储器访问传输方法,还包括:
[0020]在执行数据直接存储器访问传输过程中,跳转回所述堆栈中的所述当前执行程序,继续执行所述当前执行程序,并监测所述数据直接存储器访问传输是否完成,若所述数据直接存储器访问传输完成,则结束所述数据直接存储器访问传输过程

[0021]可选的,所述若所述数据直接存储器访问传输完成,则结束所述数据直接存储器访问传输过程,包括:
[0022]生成中断请求,记录最新执行程序,响应所述中断请求并跳转至本地的中断服务程序;
[0023]利用所述中断服务程序对设置后的所述待传输数据的读写状态进行初始化,并对所述数据直接存储器访问传输的标志位进行设置,以结束所述数据直接存储器访问传输过程,继续执行所述最新执行程序

[0024]第二方面,本申请公开了一种数据直接存储器访问传输装置,包括:
[0025]监测模块,用于监测本地的数据直接存储器访问传输是否被触发;
[0026]判断模块,用于若所述数据直接存储器访问传输被触发,则从本地的第一数据内存中确定待传输数据,将所述待传输数据发送至预设第三方的传输地址仲裁装置,以便所述传输地址仲裁装置判断所述待传输数据是否满足数据保护条件,若满足,则将数据直接存储器访问传输请求和所述待传输数据发送至本地的可信固件;
[0027]数据传输模块,用于利用所述可信固件对所述待传输数据的读写状态进行设置,以得到设置后的所述待传输数据,基于设置后的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器,利用赋值后的所述寄存器和所述待传输数据进行所述
第一数据内存和第二数据内存之间的数据直接存储器访问传输

[0028]第三方面,本申请公开了一种电子设备,包括:
[0029]存储器,用于保存计算机程序;
[0030]处理器,用于执行所述计算机程序,以实现前述的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据直接存储器访问传输方法,其特征在于,包括:监测本地的数据直接存储器访问传输是否被触发;若所述数据直接存储器访问传输被触发,则从本地的第一数据内存中确定待传输数据,将所述待传输数据发送至预设第三方的传输地址仲裁装置,以便所述传输地址仲裁装置判断所述待传输数据是否满足数据保护条件,若满足,则将数据直接存储器访问传输请求和所述待传输数据发送至本地的可信固件;利用所述可信固件对所述待传输数据的读写状态进行设置,以得到设置后的所述待传输数据,基于设置后的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器,利用赋值后的所述寄存器和所述待传输数据进行所述第一数据内存和第二数据内存之间的数据直接存储器访问传输
。2.
根据权利要求1所述的数据直接存储器访问传输方法,其特征在于,所述将所述待传输数据发送至预设第三方的传输地址仲裁装置,以便所述传输地址仲裁装置判断所述待传输数据是否满足数据保护条件,包括:将包含源地址的源数据

包含目标地址的目标数据以及数据长度发送至预设第三方的传输地址仲裁装置,以便所述传输地址仲裁装置判断所述源地址或所述目标地址是否满足数据保护条件
。3.
根据权利要求2所述的数据直接存储器访问传输方法,其特征在于,所述利用所述可信固件对所述待传输数据的读写状态进行设置,以得到设置后的所述待传输数据,基于设置后的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器,包括:利用所述可信固件将所述待传输数据的读写状态设置为机器模式可读写,以得到设置后的所述待传输数据;基于设置后的包含所述源地址

所述目标地址以及所述数据长度的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器
。4.
根据权利要求3所述的数据直接存储器访问传输方法,其特征在于,所述基于设置后的包含所述源地址

所述目标地址以及所述数据长度的所述待传输数据为本地预设的寄存器进行赋值,以得到赋值后的所述寄存器,包括:基于设置后的包含所述源地址

所述目标地址以及所述数据长度的所述待传输数据为所述寄存器中的源地址寄存器

目标地址寄存器

传输长度寄存器分别进行赋值,以得到赋值后的所述寄存器
。5.
根据权利要求1至4任一项所述的数据直...

【专利技术属性】
技术研发人员:李际升赵鑫鑫姜凯魏子重
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

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

1