本发明属于芯片设计领域,具体涉及内存保护单元和系统。
背景技术:
1、存储保护单元(memory protection unit,mpu),通过设置不同存储区域的存储器访问特性(如只支持特权访问或全访问)和存储器属性(如可缓存、可缓冲、可共享),对存储器的内核数据代码与用户数据代码之间进行隔离,避免内存踩踏,从而提高系统可靠性。
2、在系统级芯片(system on chip,soc)中通常采用高级微控制器总线架构(advanced microcontroller bus architecture,amba)进行布局,该布局中不仅仅需要满足内存保护的需求,还需要保证器件之间的数据传输满足总线协议要求。现有的mpu作为一个独立个体,为满足总线协议要求,通常在发送数据端口a和接收数据端口b处均设置对应的数据缓存区,参考图1,每个mpu将来自发送端的数据,存储到发送数据端口a对应的数据缓存区a,经过数据传输通道传输到接收数据端口b对应的数据缓存区b,并从数据缓存区b转发给接收端。然而,中大型规模的soc系统中具有大量待保护端口,mpu需要设置与这些带保护端口相对应的数据端口和缓存区,随着mpu的缓存区增大,mpu的ppa(power,performance, area)开销将倍数增大,同时mpu进行数据传输保护的过程中需要在mpu本身中完成存储-转发,让整个链路访问的延时增加。
3、因此,有必要提供一种内存保护单元和系统以解决现有技术中存在的上述问题。
技术实现思路
1、为了解决现有技术中mpu内部设置针对每个数据端口的缓存区,过多的缓存区设置使得mpu中的ppa开销倍速增大,链路访问延时增加的问题,本技术提供一种内存保护单元和系统。
2、本技术提供的一种内存保护单元和系统,采用如下的技术方案:
3、一种内存保护系统,包括内存保护单元和至少一个数据收发单元,所述数据收发单元包括数据收发接口和缓存区,所述内存保护单元包括内存保护数据接口和通道控制电路;
4、在所述内存保护单元通过内存保护数据接口收发经所述数据收发接口的待传输数据时,所述待传输数据缓存于所述缓存区;所述通道控制电路根据保护控制指令控制供所述待传输数据通过的数据传输通道导通和关断。
5、通过采用上述技术方案,在数据收发单元利用内存保护单元进行数据收发保护时,将缓存区设置在数据收发单元处,内存保护单元仅需要设置对应的内存保护数据接口和通道控制电路即可,对内存保护单元进行结构上的优化,保证内存保护单元中的ppa开销,提高内存保护单元中的链路访问效率。并且,内存保护单元与数据收发单元之间的配合保证了链路访问的完整性。
6、可选的,所述数据收发接口与所述内存保护数据接口连接且符合预设数据传输协议,以使所述数据收发接口、所述内存保护数据接口和所述缓存区构成协议虚拟单元。
7、通过采用上述技术方案,所述数据收发接口、所述内存保护数据接口和所述缓存区构成协议虚拟单元,该虚拟单元能够传输命令信号(包括写命令信号、读命令信号)、进行数据传输、实现数据缓存。该虚拟单元保证数据传输协议的配合完成性,不需要内存保护单元mpu单独保证预设数据传输协议的功能,而是从上/下游数据收发单元配合角度,利用上/下游数据收发单元内部的缓存区,内存保护单元mpu内部不再额外设计缓存区。
8、可选的,所述数据传输协议为axi协议。
9、通过采用上述技术方案,将数据传输协议设置axi协议,保证数据收发单元与内存保护单元所处的soc系统能够满足众多端口的数据保护需求。
10、可选的,所述保护控制指令包括数据保护指令和数据传输指令,所述通道控制电路根据数据保护指令生成反压信号以断开所述数据传输通道并拦截命令信号,所述通道控制电路根据数据传输指令控制数据传输通道导通并执行命令信号对应操作。
11、通过采用上述技术方案,数据传输指令指示正常工作模式,此时通道控制电路直接将数据传输通道导通,使始端的待传输数据可以传输到末端,也就是说,与自身连接的数据收发单元可以自由通过数据传输通道收发数据和执行命令信号。
12、数据保护指令指示保护工作模式,此时通道控制电路生成反压信号,将数据传输通道关断,始端的待传输数据无法传输到末端,也就是说,数据收发单元无法通过该数据传输通道进行数据传输,同时拦截通道控制电路对应的命令信号,中断该命令信号对应操作的执行,避免出现数据泄露。
13、可选的,所述数据收发单元包括数据发送单元,所述数据发送单元的数据收发接口作为第一收发接口,所述数据发送单元的缓存区作为第一缓存区;与所述第一收发接口配合的内存保护数据接口作为第一内存接口;
14、在所述通道控制电路导通数据传输通道时,第一缓存区的待传输数据经过相互连接的第一收发接口和第一内存接口后,通过数据传输通道,传输至与所述内存保护单元连接的目标单元。
15、通过采用上述技术方案,将原定设置在内存保护单元中的缓存区设置在数据发送单元,即,将“第一缓存区、第一收发接口、第一内存接口”中的“第一缓存区”挂载在数据发送单元单侧。
16、可选的,所述数据收发单元包括数据接收单元,所述数据接收单元的数据收发接口作为第二收发接口,所述数据接收单元的缓存区作为第二缓存区;与所述第二收发接口配合的内存保护数据接口作为第二内存接口;
17、在所述通道控制电路导通数据传输通道时,来自与所述内存保护单元连接的起始单元将所述待传输数据通过数据传输通道后,经相互连接的第二内存接口和第二收发接口,抵达所述第二缓存区。
18、通过采用上述技术方案,将原定设置在内存保护单元中的缓存区设置在数据接收单元,即,将“第二内存接口、第二收发接口、第二缓存区”中的“第二缓存区”挂载在数据接收单元单侧。
19、可选的,所述数据收发单元包括数据发送单元和数据接收单元,所述数据发送单元的数据收发接口作为第一收发接口,所述数据发送单元的缓存区作为第一缓存区;与所述第一收发接口配合的内存保护数据接口作为第一内存接口;所述数据接收单元的数据收发接口作为第二收发接口,所述数据接收单元的缓存区作为第二缓存区;与所述第二收发接口配合的内存保护数据接口作为第二内存接口;
20、在所述通道控制电路导通数据传输通道时,第一缓存区的待传输数据经过相互连接的第一收发接口和第一内存接口后,通过数据传输通道,经相互连接的第二内存接口和第二收发接口,抵达所述第二缓存区。
21、通过采用上述技术方案,将原定设置在内存保护单元中的缓存区设置在数据发送单元和数据接收单元,即,将“第一缓存区、第一收发接口、第一内存接口”中的“第一缓存区”挂载在数据发送单元单侧,将“第二内存接口、第二收发接口、第二缓存区”中的“第二缓存区”挂载在数据接收单元单侧。
22、可选的,在所述通道控制电路根据数据保护指令关断数据传输通道时,所述内存保护单元拦截来自所述数据发送单元的写命令信号,将来自所述数据发送单元的待传输数据通过所述数据传输通道发回至所述第一缓存区,根据所述写命令信号生成写操作响应信号,将所述写操作响应信号通过操作数据返回通道分别传入所述第一缓存区和所述第二缓存区。
23、通过采用上述技术方案,通道控制电路在根据数据保护指令控制数据传输通道关断的同时,还会拦截写命令信号,从而中断该写命令信号的执行,避免数据干扰。
24、可选的,在所述通道控制电路根据数据保护指令关断数据传输通道时,所述内存保护单元拦截来自所述数据接收单元的读命令信号,根据所述读命令信号生成读操作响应信号,将所述读操作响应信号通过操作数据返回通道分别传入所述第一缓存区和所述第二缓存区。
25、通过采用上述技术方案,通道控制电路在根据数据保护指令控制数据传输通道关断的同时,还会拦截读命令信号,从而中断该读命令信号的执行,避免数据干扰。
26、本发明还提供一种内存保护单元,所述内存保护单元具有内存保护数据接口和通道控制电路,所述内存保护数据接口配合于与所述内存保护单元相连的数据收发单元的数据收发接口,所述内存保护数据接口、所述数据收发接口和位于所述数据收发单元的缓存区构成满足预设数据传输协议的协议虚拟单元,所述通道控制电路根据保护控制指令控制数据传输通道的通断。
27、通过采用上述技术方案,将原设置与内存保护单元的缓存区,修改到与该内存保护单元相连的数据收发单元中。内存保护单元仅需要设置对应的内存保护数据接口和通道控制电路即可,对内存保护单元进行结构上的优化,保证内存保护单元中的ppa开销,提高内存保护单元中的链路访问效率。并且,内存保护单元与数据收发单元之间的配合保证了链路访问的完整性。
28、综上所述,本技术包括以下至少一种有益技术效果:
29、1、将原设置与内存保护单元的缓存区,修改到与该内存保护单元相连的数据收发单元中。内存保护单元仅需要设置对应的内存保护数据接口和通道控制电路即可,对内存保护单元进行结构上的优化,降低ppa开销,提高链路访问效率。
30、2、通道控制电路在根据数据保护指令控制数据传输通道关断的同时,还会拦截命令信号,从而中断该命令信号的执行,避免数据干扰。
31、3、内存保护数据接口、所述数据收发接口和位于所述数据收发单元的缓存区构成满足预设数据传输协议的协议虚拟单元,通过内存保护单元与数据收发单元之间的配合保证了链路访问的完整性。
1.内存保护系统,其特征在于,包括内存保护单元和至少一个数据收发单元,所述数据收发单元包括数据收发接口和缓存区,所述内存保护单元包括内存保护数据接口和通道控制电路;
2.根据权利要求1所述的内存保护系统,其特征在于,所述数据收发接口与所述内存保护数据接口连接且符合预设数据传输协议,以使所述数据收发接口、所述内存保护数据接口和所述缓存区构成协议虚拟单元。
3.根据权利要求2所述的内存保护系统,其特征在于,所述数据传输协议为axi协议。
4.根据权利要求1所述的内存保护系统,其特征在于,所述保护控制指令包括数据保护指令和数据传输指令,所述通道控制电路根据数据保护指令生成反压信号以断开所述数据传输通道并拦截命令信号,所述通道控制电路根据数据传输指令控制数据传输通道导通并执行命令信号对应操作。
5.根据权利要求1所述的内存保护系统,其特征在于,所述数据收发单元包括数据发送单元,所述数据发送单元的数据收发接口作为第一收发接口,所述数据发送单元的缓存区作为第一缓存区;与所述第一收发接口配合的内存保护数据接口作为第一内存接口;
6.根据权利要求1所述的内存保护系统,其特征在于,所述数据收发单元包括数据接收单元,所述数据接收单元的数据收发接口作为第二收发接口,所述数据接收单元的缓存区作为第二缓存区;与所述第二收发接口配合的内存保护数据接口作为第二内存接口;
7.根据权利要求1所述的内存保护系统,其特征在于,所述数据收发单元包括数据发送单元和数据接收单元,所述数据发送单元的数据收发接口作为第一收发接口,所述数据发送单元的缓存区作为第一缓存区;与所述第一收发接口配合的内存保护数据接口作为第一内存接口;所述数据接收单元的数据收发接口作为第二收发接口,所述数据接收单元的缓存区作为第二缓存区;与所述第二收发接口配合的内存保护数据接口作为第二内存接口;
8.根据权利要求7所述的内存保护系统,其特征在于,在所述通道控制电路根据数据保护指令时,所述内存保护单元拦截来自所述数据发送单元的写命令信号,将来自所述数据发送单元的待传输数据通过所述数据传输通道发回至所述第一缓存区,根据所述写命令信号生成写操作响应信号,将所述写操作响应信号通过操作数据返回通道分别传入所述第一缓存区和所述第二缓存区。
9.根据权利要求7所述的内存保护系统,其特征在于,在所述通道控制电路根据数据保护指令时,所述内存保护单元拦截来自所述数据接收单元的读命令信号,根据所述读命令信号生成读操作响应信号,将所述读操作响应信号通过操作数据返回通道分别传入所述第一缓存区和所述第二缓存区。
10.内存保护单元,其特征在于,所述内存保护单元具有内存保护数据接口和通道控制电路,所述内存保护数据接口配合于与所述内存保护单元相连的数据收发单元的数据收发接口,所述内存保护数据接口、所述数据收发接口和位于所述数据收发单元的缓存区构成满足预设数据传输协议的协议虚拟单元,所述通道控制电路根据保护控制指令控制数据传输通道的通断。
