CN102184365B - 基于SoC芯片外部数据安全存储系统及存取控制方法 - Google Patents

基于SoC芯片外部数据安全存储系统及存取控制方法 Download PDF

Info

Publication number
CN102184365B
CN102184365B CN2011101505550A CN201110150555A CN102184365B CN 102184365 B CN102184365 B CN 102184365B CN 2011101505550 A CN2011101505550 A CN 2011101505550A CN 201110150555 A CN201110150555 A CN 201110150555A CN 102184365 B CN102184365 B CN 102184365B
Authority
CN
China
Prior art keywords
control
access
external data
memory
data
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.)
Active
Application number
CN2011101505550A
Other languages
English (en)
Other versions
CN102184365A (zh
Inventor
张鲁国
常朝稳
董建强
李平
何骏
赵国磊
王曙光
刘熙胖
梁松涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Xinda Jiean Information Technology Co Ltd
Original Assignee
Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Xinda Jiean Information Technology Co Ltd filed Critical Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority to CN2011101505550A priority Critical patent/CN102184365B/zh
Publication of CN102184365A publication Critical patent/CN102184365A/zh
Application granted granted Critical
Publication of CN102184365B publication Critical patent/CN102184365B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种基于SoC芯片外部数据安全访问系统及存储控制方法,由内部缓冲存储器、扩展的外部程序存储区安全属性控制存储器、存储器工作方式控制寄存器、数据存取安全控制逻辑电路、外部数据存储器与程序存储器组成,存储器工作方式控制寄存器位于SoC的特殊功能寄存器区,上述各存储器与寄存器均通过地址总线、数据总线和控制总线与中央处理器单元相连,CPU通过存储器工作方式寄存器设置外部数据存储区安全属性控制存储器的工作模式,配置SoC芯片工作于外部数据存储器安全静态或动态存取控制方式,在数据存取安全控制逻辑电路的控制下,进行外部数据存储器的分级安全管理,确保外部数据存储器存储的数据在生成、使用、修改、归档、清除等生命周期的全程监管,实现不同安全等级数据之间的“防火墙”功能,满足SoC芯片对敏感数据的安全保护需要。

Description

基于SoC芯片外部数据安全存储系统及存取控制方法
技术领域
本发明涉及安全SoC芯片设计领域,具体涉及一种MCS-52系列的基于SoC芯片外部数据存储系统与安全存取控制方法,用于扩展MCS-52系列 SoC芯片中哈佛存储器体系结构、外部数据存储器的分级安全管理,确保存储数据在生成、使用、修改、归档、清除等生命周期的全程监管,实现不同安全等级数据之间的“防火墙”功能,保护存储数据资源的安全性。
背景技术
目前基于MCS-52系列哈佛存储器体系结构的SoC芯片,其存储器组织通常由256字节的内部缓冲存储器RAM、64K字节的外部数据存储器和64K字节的程序存储器组成;通过MOVX  A,DPTR和MOVX DPTR,A两条指令,可完成对整个外部数据存储区的读出和写入操作,因而对于能进行二次开发的SoC芯片来说数据存储区对用户是完全透明的,没有任何安全防护措施来保护数据存储区的敏感数据被非法或非授权用户进行读出、覆盖写入和修改操作。
对于一个嵌入式安全SoC芯片,其内部存储有各种安全属性不同的敏感信息,SoC芯片运行在不同的安全状态下可访问不同安全属性的敏感信息,是应用系统对SoC芯片的基本安全要求。对SoC芯片运行时的所有敏感信息实施分级分层的安全防护措施,能有效防止敏感信息的泄露和敏感信息的越权访问,提高SoC芯片系统运行的安全性。
发明内容
本发明的目的在于通过设置外部数据存储区访问属性控制字存储器、存储器工作方式控制寄存器和相应的安全访问控制逻辑电路、访问外部数据存储器的三总线重构逻辑,实现对外部数据存储区数据的分级与分块的安全存取和不同的安全保护策略,构建不同安全等级数据之间“防火墙”功能的基于SoC芯片外部数据存储系统与安全存取控制方法。
本发明的目的是这样实现的:
一种基于SoC芯片外部数据安全存储系统,包括内部缓冲存储器RAM、外部数据存储区安全属性控制存储器DRAMC、存储器工作方式控制寄存器MACR、数据存取安全控制逻辑电路DASCL、外部数据存储器DRAM和程序存储器PROM,其特征在于:存储器工作方式控制寄存器MACR位于SoC芯片的特殊功能寄存器SFR区,上述各存储器与寄存器均通过地址总线AB、数据总线DB和控制总线CB与中央处理器单元CPU相连, 中央处理器单元CPU通过存储器工作方式控制寄存器MACR设置外部数据存储区安全属性控制存储器DRAMC的工作模式,外部数据存储区安全属性控制存储器DRAMC的工作模式决定安全属性控制字与数据块之间的对应关系;中央处理器单元CPU访问数据存储器发出的地址总线信号AB,通过外部数据存储区安全属性控制存储器DRAMC的转换后,译码指向外部数据存储器DRAM的被访问单元,同时得到该被访问单元的存取控制属性的权限控制值;而中央处理器单元CPU发出的访问外部数据存储器DRAM的控制总线信号CB,通过DASCL电路对该被访问单元的访问控制权限值与中央处理器单元CPU当前所处的安全状态值进行逻辑运算的控制重组后,与外部数据存储器DRAM的读写控制信号相连,当CPU当前所处的安全状态值大于或等于访问控制权限值时,被访问外部数据存储器DRAM的单元数据才能通过数据总线DB送入中央处理器单元CPU,或者将中央处理器单元CPU内部的数据写入到指定的存储单元,实现数据的双向交互;在中央处理器单元CPU的控制下,通过存储器工作方式控制寄存器MACR、外部数据存储区安全属性控制存储器DRAMC和数据存取安全控制逻辑电路DASCL,完成外部数据存储器DRAM安全静态和动态存取控制方式下的存取属性控制字与相应数据块的对应关系转换、地址总线的动态重构以及控制总线和控制逻辑的重组。
一种基于SoC芯片外部数据安全存储系统的存取控制方法,其特征在于:该方法基于权利要求1所述基于SoC芯片外部数据安全存储系统之上,包括外部数据存储器安全静态存取控制方法和外部数据存储器安全动态存取控制方法;
外部数据存储器安全静态存取控制方法具体为:每个外部数据存储区安全属性控制存储器的存储单元存放一个访问外部数据存储器存取属性控制字,该存取属性控制字对应外部数据存储器256个存储单元,构成一个数据块;CPU的地址总线信号AB、存取属性控制字DACWi与外部数据存储块的块号BKAddri的对应关系为:A15~A8=DACWi=BKAddri,其中i = A15~A8的编码;数据存取安全控制逻辑电路DASCL由SoC芯片运行安全状态字、外部数据存储块安全存取属性控制字输入通道和判决逻辑电路组成;CPU运行需要访问外部数据存储器时,只有当SoC芯片运行的当前安全状态满足对应数据存储块的安全存取属性控制字要求时,DASCL电路发出有效的数据存储器访问控制信号,完成数据的读出或写入操作;
SoC芯片运行时,首先设置存储器工作方式控制寄存器,选中DRAMC作为芯片的内部缓冲存储器RAM,并根据外部数据存储器安全访问控制策略,对DRAMC写入每个数据存储块相对应的安全存取属性控制字,其次,设置存储器工作方式控制寄存器,构成外部数据存储器安全静态存取控制方式,初始化存储器工作方式结束,SoC芯片进入外部数据存储器安全静态存取控制状态;当CPU运行需要访问外部数据存储器时,将地址总线的高8位寻址DRAMC,读取对应数据块的安全存取属性控制字,并与芯片当前所处的安全状态字进行逻辑运算,满足访问安全条件时,DASCL电路给出有效的外部数据存储器访问读或写控制信号,且CPU给出的高8位地址选中安全存取属性控制字所对应的一个存储块,低8位地址选中该块中某一确定的存储单元,在读或写控制信号的控制下,完成数据的读出或写入操作;若芯片当前所处的安全状态与安全存取属性控制字进行逻辑运算,不满足访问安全条件时,DASCL电路输出无效的读或写控制信号,则禁止系统对外部数据存储器的访问操作;
外部数据存储器安全动态存取控制方法具体为:当SoC芯片处于外部数据存储器安全动态存取控制方式下时,外部数据存储区安全属性控制存储器DRAMC被划分为128个字存储单元,每个字的高8位存储访问外部数据存储区的物理块号,低8位存储该块的安全存取属性控制字,外部数据存储器对应被划分为128块,每块512字节,CPU访问外部数据存储器给出16位逻辑地址,低9位用于访问一块内512个存储单元中的某一个确定存储单元,高7位用于寻址DRAMC的128个字中的某一个确定的字,每个字高8位数据指向外部数据存储器128块中的某一块,低8位则是该块存储区对应的存取属性控制字,即A15~A9→BKAddri=DACWi;数据访问安全控制逻辑电路DASCL由SoC芯片运行安全状态字、外部数据存储块安全存取属性控制字输入通道和判决逻辑电路组成,只有当SoC芯片运行的当前安全状态满足对应数据存储块的安全存取属性控制字要求时,DASCL电路发出有效的数据存储器访问控制信号,完成数据的读出或写入操作;
SoC芯片运行时,首先设置存储器工作方式控制寄存器,选中DRAMC作为片内缓冲存储器RAM,并根据外部数据存储器安全访问控制策略,对DRAMC写入每个数据存储块相对应的安全存取属性控制字和对应的物理块地址;其次,设置存储器工作方式控制寄存器,构成外部数据存储器安全动态存取控制方式,初始化存储器工作方式结束,SoC芯片进入外部数据存储器安全动态存取控制状态;当CPU运行需要访问外部数据存储器时,将地址总线的高7位寻址DRAMC,读取对应数据块的安全存取属性控制字,并与芯片当前所处的安全状态进行逻辑运算,满足访问安全条件时,DASCL电路给出有效的外部数据存储器访问读或写控制信号,且DRAMC高8位数据选中安全存取控制属性字所对应的一个存储块,CPU地址的低9位选中该块中某一确定的存储单元,在读或写控制信号的控制下,完成数据的写入或读出操作;若芯片当前所处的安全状态与安全存取属性控制字进行逻辑运算,不满足访问安全条件时,DASCL电路输出无效的读或写控制信号,则禁止CPU对外部数据存储器的访问操作;
若CPU不执行外部数据存储器安全访问策略,即工作于正常外部数据存储工作模式,执行其它访问外部数据存储器指令时,不执行初始化操作,与程序正常执行阶段的步骤相同,且DRAMC在存储器工作方式控制寄存器的控制下,作为芯片内部缓冲存储器的扩展使用,在执行MOVX A,Ri或MOVX Ri,A指令时,访问DRAMC的高8位地址固定设置为00H,即A15~A8为00H。
本发明具有如下积极效果:通过对数据存储器的每一块设置不同的安全存取属性控制字,可实现对外部数据存储器的分级安全访问控制,确保不同安全等级的敏感数据得到有效保护,构建不同安全等级数据之间的“防火墙”。理论上用一个字节来表示安全访问属性对应着256种不同的安全状态,用户可根据自己的安全需求灵活设置相应的安全访问控制策略。存储器安全动态存取控制方式为多任务的运行提供了安全的运行环境,实现了在较小内存资源基础之上的存储单元的分配、释放、回收、再分配等动态管理模式,提高了存储器资源的利用率。具体为:SoC芯片根据用户运行程序对外部数据存储区存储数据的敏感程度制定相应的安全访问控制策略,在初始化时将安全存取属性控制字写入外部数据存储区安全属性控制存储器中,不同安全存取控制属性的数据分配各自不同的数据存储块,相同安全存取控制属性的数据根据存储数据的大小可占用相同或不同的数据存储块号。用户程序在设计阶段严格遵守安全访问策略制定数据存储器分配使用方案,即对数据的产生、写入、读出、使用、修改、存档、销毁等生命周期全程进行安全管理。当用户程序投入运行时,通过成功完成安全策略制定的各种挑战后,SoC芯片可获得相应的安全状态。如正确验证用户口令、成功识别和验证敏感数据使用者的身分、正确执行敏感数据的交互协议、密钥协商完成、密码运算单元功能正确、关联功能的正确执行等等,都是SoC芯片系统提升当前所处安全状态的方法。只有在SoC芯片所处的安全状态满足访问对应存储块安全存取属性控制字的要求前提下,才能实施对该数据块由安全存取属性控制字所规定的操作,从而有效保障敏感数据在安全可控状态下完成其生命周期的全程监控,满足SoC芯片对敏感数据的安全保护需要。
附图说明
图1为本发明的基于SoC芯片外部数据存储器安全存取控制系统示意图。
图2为本发明的外部数据存储器安全静态存取属性控制字与数据块的对应关系图。
图3为本发明的外部数据存储器安全静态存取控制工作原理图。
图4为本发明的外部数据存储器安全动态存取属性控制字与数据块的对应关系图。
图5为本发明的外部数据存储器安全动态存取控制工作原理图。
具体实施方式
如图1所示,本发明的基于SoC芯片外部数据安全存储系统包括内部缓冲存储器RAM、外部数据存储区安全属性控制存储器DRAMC、存储器工作方式控制寄存器MACR、数据存取安全控制逻辑电路DASCL、外部数据存储器DRAM和程序存储器PROM。存储器工作方式控制寄存器MACR位于SoC的特殊功能寄存器SFR区,其地址为8FH。上述各存储器与寄存器均通过地址总线AB、数据总线DB和控制总线CB与中央处理器单元CPU相连, 并通过AB、DB、CB三总线实现CPU与各存储器和寄存器之间的数据双向交换。
如图2和图4所示,根据外部数据存储器访问控制策略,中央处理器单元CPU通过存储器工作方式控制寄存器MACR,设置外部数据存储区安全属性控制存储器DRAMC的工作方式,DRAMC的工作方式决定安全存取属性控制字与数据块之间的对应关系。当SoC芯片处于安全静态存取控制方式时,外部数据存储器DRAM被划分为256个数据块,每块256个字节。而外部数据存储区安全属性控制存储器DRAMC的256个存储单元中,各存放一个数据块的安全存取属性控制字,使CPU的地址总线信号AB、安全存取属性控制字DACWi与外部数据存储块的块号BKAddri三者之间构成一一对应关系,即A15~A8=DACWi=BKAddri,其中i = A15~A8的编码。而当SoC芯片处于安全动态存取控制方式时,外部数据存储器DRAM被划分为128个数据块,每块512个字节;外部数据存储区安全属性控制存储器DRAMC也被划分的128个字存储单元,且每个字的高8位存放访问外部数据存储器的物理块号,低8位则存放该块所对应的安全存取属性控制字,使CPU的地址总线信号AB、安全存取属性控制字DACWi与外部数据存储块的块号BKAddri三者之间构成A15~A8→DACWi=BKAddri的映射与转换关系,即通过A15~A8实现逻辑块地址到物理块地址和对应物理块的安全存取属性控制字的转换。
如图3和图5所示,中央处理器单元CPU访问数据存储器DRAM发出的地址总线信号AB,通过外部数据存储区安全属性控制存储器DRAMC的转换后,译码指向外部数据存储器DRAM的被访问单元,同时从外部数据存储区安全属性控制存储器DRAMC中得到该单元的存取属性控制的权限值;而中央处理器单元CPU发出的访问外部数据存储器DRAM的控制总线信号CB,通过DASCL电路对该单元的访问控制权限值与中央处理器单元CPU当前所处的安全状态值进行逻辑运算的控制重组后,与外部数据存储器DRAM的控制信号相连;当CPU当前所处的安全状态值大于或等于访问控制权限值时,被访问外部数据存储器DRAM单元中的数据,才能通过数据总线DB送入到中央处理器单元CPU,或者将中央处理器单元CPU内部的数据写入到指定的存储单元,实现数据的双向交互。
在中央处理器单元CPU的控制下,通过存储器工作方式控制寄存器MACR、外部数据存储区安全属性控制存储器DRAMC和数据存取安全控制逻辑电路DASCL,本发明能完成外部数据存储器DRAM安全静态和动态存取控制方式下的安全存取属性控制字与相应数据块的对应关系转换、地址总线的动态重构以及控制总线和控制逻辑的重组,确保两种工作方式下数据安全交互控制功能的实现。
一种基于SoC芯片外部数据安全存储系统的安全存取控制方法,该方法基于所述基于SoC芯片外部数据安全存储系统之上,包括外部数据存储器安全静态存取控制方法和外部数据存储器安全动态存取控制方法。
外部数据存储器安全静态存取控制方法实现如下:
在该工作方式下,每个外部数据存储区安全属性控制存储器的256个存储单元存放一个访问外部数据存储器安全存取属性控制字,该存取属性控制字对应外部数据存储器256个存储单元,构成一个数据块,CPU的地址总线信号、安全存取属性控制字与外部数据存储块的块号三者之间一一对应,即A15~A8=DACWi=BKAddri,其对应关系如图2所示。
数据存取安全控制逻辑电路DASCL由SoC芯片运行安全状态字、外部数据存储块安全存取属性控制字输入通道和判决逻辑电路组成。CPU运行需要访问外部数据存储器时,只有当SoC芯片运行的当前安全状态满足对应数据存储块的安全存取属性控制字要求时,该电路发出有效的数据存储器访问控制信号,完成数据的读出或写入操作。外部数据存储器静态存取控制工作原理如图3所示。
CPU运行时,首先设置存储器工作方式控制寄存器,选中DRAMC作为芯片的内部缓冲存储器RAM,并根据外部数据存储器安全访问控制策略,对DRAMC写入每个数据存储块相对应的安全存取属性控制字。其次,设置存储器工作方式控制寄存器,构成外部数据存储器安全静态存取控制方式,初始化存储器存取工作方式结束,SoC芯片进入外部数据存储器安全静态存取控制状态。当CPU运行需要访问外部数据存储器时,将地址总线的高8位寻址DRAMC,读取对应数据块的安全存取属性控制字,并与芯片当前所处的安全状态字进行逻辑运算,满足访问安全条件时,DASCL电路给出有效的外部数据存储器访问读或写控制信号,且CPU给出的高8位地址选中安全存取属性控制字所对应的一个存储块,低8位地址选中该块中某一确定的存储单元,在读或写控制信号的控制下,完成数据的读出或写入操作。若芯片当前所处的安全状态与安全存取属性控制字进行逻辑运算,不满足访问安全条件时,DASCL电路输出无效的读或写控制信号,则禁止CPU对外部数据存储器的访问操作。
外部数据存储器安全动态存取控制方法如下:
当SoC芯片处于外部数据存储器安全动态存取控制方式时,外部数据存储区安全属性控制存储器DRAMC被划分为128个字存储单元,每个字的高8位存储访问外部数据存储区的物理块号,低8位存储该块的安全存取属性控制字,外部数据存储器对应被划分为128块,每块512字节,CPU访问外部数据存储器给出16位逻辑地址,低9位用于访问一块内512个存储单元中的某一个确定存储单元,高7位用于寻址DRAMC的128个字中的某一个确定的字,每个字高8位数据指向外部数据存储器128块中的某一块,低8位则是该块存储块对应的安全存取属性控制字,构成CPU给出的高7位地址、外部数据存储器物理块号和该存储块对应安全存取属性控制字三者之间的映射与转换关系,即A15~A9→BKAddri=DACWi,其对应关系如图4所示。
数据访问安全控制逻辑由SoC芯片运行安全状态字、外部数据存储块安全存取属性控制字输入通道和判决逻辑电路组成。只有当CPU运行的当前安全状态满足对应数据存储块的安全存取属性控制字要求时,该电路发出有效的数据存储器访问控制信号,完成数据的读出或写入操作。外部数据存储器动态存取控制工作原理如图5所示。
SoC芯片运行时,首先设置存储器工作方式控制寄存器,选中DRAMC作为片内缓冲存储器RAM,并根据外部数据存储器安全访问控制策略,对DRAMC写入每个数据存储块相对应的安全存取属性控制字和对应的物理块地址。其次,设置存储器工作方式控制寄存器,构成外部数据存储器安全动态存取控制方式,初始化存储器工作方式结束,SoC芯片进入外部数据存储器安全动态存取控制状态。当CPU运行需要访问外部数据存储器时,将地址总线的高7位寻址DRAMC,读取对应数据块的安全存取属性控制字(低8位),并与芯片当前所处的安全状态进行逻辑运算,满足访问安全条件时,DASCL电路给出有效的外部数据存储器访问读或写控制信号,且DRAMC高8位数据选中安全存取属性控制字所对应的一个存储块,CPU地址的低9位选中该块中某一确定的存储单元,在读或写控制信号的控制下,完成数据的读出或写入操作。若芯片当前所处的安全状态与安全存取属性控制字进行逻辑运算,不满足访问安全条件时,则DASCL电路输出无效的读或写控制信号,禁止CPU对外部数据存储器的访问操作。
若SoC芯片不执行外部数据存储器安全访问策略,即工作于正常外部数据存储模式,执行其它访问外部数据存储器指令时,不执行初始化操作,与程序正常执行阶段的步骤相同,且DRAMC在存储器工作方式控制寄存器的控制下,作为芯片内部缓冲存储器的扩展使用。在执行MOVX A,Ri或MOVX Ri,A指令时,访问DRAMC的高8位地址固定设置为00H,即A15~A8为00H。
实施例,本发明公开了一种基于SoC芯片外部数据安全存储系统与存取控制方法,该方法包括存储管理架构的硬件平台、外部数据存储器安全静态存取控制方法和安全动态存取控制方法的实现机制三个基本部分。本发明所指的存储器管理架构是基于MCS-52系列的哈佛存储器体系结构的芯片,这类结构的SoC芯片大量应用于智能卡领域,在我国有极其广泛的应用,如银行IC卡、社会保障卡、SIM卡、市民卡、身份证等芯片。
1、外部数据存储器安全存取控制系统
外部数据存储器安全存取控制系统如图1所示。由内部缓冲存储器RAM、外部数据存储区安全属性控制存储器DRAMC、存储器工作方式控制寄存器MACR、数据存取安全控制逻辑电路DASCL、外部数据存储器DRAM和程序存储器PROM等组成。存储器工作方式控制寄存器MACR位于系统的SFR区,其地址为8FH。上述各存储器与寄存器均通过地址总线AB、数据总线DB和控制总线CB与中央处理器单元CPU相连。CPU通过存储器工作方式寄存器,设置外部数据存储区安全属性控制存储器的工作模式,存储器的工作模式决定了安全属性控制字与数据块之间的对应关系,如图2和图4所示,CPU访问数据存储器发出的地址总线信号AB,通过外部数据存储区安全属性控制存储器的转换后,译码指向数据存储器的被访问单元,同时从DRAMC中得到该单元的存取属性控制字即权限值;而CPU发出的访问数据存储器的控制总线信号CB,通过DASCL电路对该单元的存取控制权限值与CPU当前所处的安全状态值进行逻辑运算的控制重组后,与数据存储器的读写控制信号相连,如图3和图5所示;只有当CPU当前所处的安全状态值大于或等于安全存取属性控制字权限值时,被访问数据存储器单元的数据才能通过数据总线DB送入CPU,或者将CPU内部的数据写入到指定的存储单元,实现数据的双向交互。存储器工作方式控制寄存器MACR各位的定义如下:
b7: 外部数据存储器存取控制方式位。b7=1时,外部数据存储器为动态存取控制方式,b7=0时,外部数据存储器为静态存取控制方式。
b6: 数据存储体控制使能位。b6=1时,CPU自动选中DRAMC作为DRAM的安全属性控制存储器;b6=0时,若b1b0=01时,选中DRAMC作为内部数据缓冲存储器使用,其作用相当于内部RAM存储器的扩展。
b5b4b3b2: 保留,在此无任何意义。
b1b0: 存储体选择控制位。若使能位b6=0,且当b1b0=00时,选中RAM存储体作为芯片内部数据缓冲存储器;b1b0=01时,选中DRAMC存储体作为芯片内部数据缓冲存储器;b1b0其它编码保留,以备存储体的扩展。
在MACR寄存器的控制下,完成外部数据存储器安全静态和动态存取控制方式下的安全存取属性控制字与相应数据块之间对应关系转换,数据和地址总线的动态重构,以及控制总线和控制逻辑的重组,确保两种存取控制方式下数据安全存储功能的实现。
2、外部数据存储器安全静态存取控制方法的实现
在该工作方式下,每个外部数据存储区安全属性控制存储器的256个存储单元存放一个访问外部数据存储器安全存取属性控制字,该存取属性控制字对应外部数据存储器256个存储单元,构成一个数据块;CPU的地址信号AB、安全存取属性控制字DACWi与外部数据存储块的块号BKAddri三者之间一一对应,即A15~A8=DACWi=BKAddri,其对应关系如图2所示。
数据存取安全控制逻辑电路DASCL由SoC芯片运行安全状态字、外部数据存储块安全存取属性控制字输入通道和判决逻辑电路组成。CPU运行需要访问外部数据存储器时,只有当SoC芯片运行的当前安全状态满足对应数据存储块的安全存取属性控制字要求时,该电路发出有效的数据存储器访问控制信号,完成数据的读出或写入操作。外部数据存储器安全静态存取控制工作原理如图3所示。
下面以指令MOVX  A,DPTR执行为例,说明外部数据存储器安全静态存取控制方式的工作流程。
首先,SoC芯片加电自检后,进行存储器工作方式选择的初始化操作,分为如下三步:
第一步:设置存储器工作方式控制寄存器MACR=01H,DRAMC作为内部缓冲存储器RAM接入CPU工作。
第二步:初始化DRAMC,写入各数据块相对应的安全存取属性控制字,以及程序运行时所必须的初始化工作,为程序运行作好准备。
第三步:设置存储器工作方式控制寄存器MACR=40H,配置DRAMC为访问外部数据存储区的安全属性控制字存储区、外部数据存储区工作于安全静态存取控制方式、RAM为系统内部缓冲存储器。
然后,SoC芯片转入数据存储器安全静态存取控制运行状态,该指令的执行分为如下五步:
第一步:CPU取指令从PROM中读出指令的操作码,译码得知为从DRAM中取出由DPTR指针指示地址的一个字节数据,送入累加器A。
第二步:CPU将DPTR寄存器所存放的地址放入地址总线,从DRAM中译码指向对应的存储单元。
第三步:同时DPTRH寻址DRAMC得到对应块号的安全存取属性控制字。
第四步:数据存储安全控制逻辑电路DASCL将安全存取属性控制字与当前安全状态字进行逻辑运算,满足访问条件时,DASCL电路输出有效的读取DRAM的低电平控制信号,否则输出无效的高电平信号。
第五步:CPU输出低电平有效的DRAM读信号 ,该信号经数据存取安全控制逻辑电路DASCL处理后,其输出的控制信号与DRAM存储器的读信号相连。若满足访问控制安全条件,则DPTR指示的存储单元的数据被读取到数据总线上,并送入累加器A中;否则,禁止访问DPTR所指向的存储单元,并通知CPU该条指令发生了对所指存储块的非法访问错误。
若CPU不执行外部数据存储器安全访问策略,即工作于正常外部数据存储模式,执行其它访问外部数据存储器指令时,不执行初始化操作,与程序正常执行阶段的步骤相同,且DRAMC在存储器工作方式控制寄存器的控制下,可作为芯片内部缓冲存储器的扩展使用。在执行MOVX A,Ri或MOVX Ri,A指令时,访问DRAMC的高8位地址固定设置为00H,即A15~A8为00H。
3、外部数据存储器安全动态存取控制方式的实现
当SoC芯片处于外部数据存储器安全动态存取控制方式时,外部数据存储区安全存取属性控制字存储器DRAMC被划分为128个字存储单元,每个字的高8位存储访问外部数据存储器的物理块号,低8位存储该块的安全存取属性控制字,外部数据存储器对应被划分为128块,每块512字节。CPU访问外部数据存储器给出16位逻辑地址,低9位用于寻址一块内512个存储单元中的某一个确定存储单元,高7位用于寻址DRAMC的128个字中的某一个确定的字,每个字的高8位数据指向外部数据存储器128块中的某一块,低8位则是对应块的安全存取属性控制字,构成CPU给出的高7位地址、外部数据存储器物理块号和该存储块对应安全存取属性控制字三者之间的映射与转换关系,即A15~A9→BKAddri=DACWi,其对应关系如图4所示。
外部数据存取安全控制逻辑电路DASCL由SoC芯片运行安全状态字、外部数据存储块安全存取属性控制字输入通道和判决逻辑电路组成。只有当系统运行的当前安全状态满足对应数据存储块的安全存取属性控制字要求时,该电路发出有效的数据存储器访问控制信号,完成数据的读出或写入操作。外部数据存储器安全动态存取控制工作原理如图5所示。
下面以指令MOVX  A,DPTR执行为例,说明外部数据存储器安全动态存取控制方式的工作流程。
首先,SoC芯片加电自检后,进行存储器工作方式选择的初始化操作,分为如下三步:
第一步:设置存储器工作方式控制寄存器MACR=01H,DRAMC作为内部缓冲存储器RAM接入CPU工作。
第二步:初始化DRAMC,写入各数据块相对应的安全存取属性控制字和对应物理存储器块号,以及程序运行时所必须的初始化工作,为程序运行作好准备。
第三步:设置存储器工作方式控制寄存器MACR=0C0H,配置DRAMC为访问外部数据存储区的安全属性控制字存储器、外部数据存储器工作于安全动态存取控制方式、RAM为系统内部缓冲存储器。
然后,SoC芯片转入数据存储器安全动态存取控制运行阶段,该指令的执行分为如下五步:
第一步:CPU取指令从PROM中读出指令的操作码,译码得知为从DRAM中取出由DPTR指针指示地址的一个字节数据,送入累加器A。
第二步:CPU将DPTR寄存器所存放的地址放入地址总线,A8~A0直接与DRAM中低9位地址线对应相连。
第三步:同时DPTR的高7位A15~A9寻址DRAMC得到对应块号的7位物理地址和该块的安全存取属性控制字, 7位物理地址对应接入DRAM的A15~A9用于寻址某一数据块,与低9位地址一起译码指向该块中唯一的存储单元。
第四步:数据存取安全控制逻辑电路DASCL将安全存取属性控制字与当前安全状态字进行比较,满足访问安全条件时,DASCL电路输出有效的读取DRAM的低电平控制信号,否则输出无效的高电平信号。
第五步:CPU输出低电平有效的DRAM读信号 ,该信号经数据存取安全控制逻辑电路DASCL处理后,其输出的控制信号与DRAM存储器的读信号相连。若满足访问控制安全条件,则DPTR指示的存储单元的内容被读取到数据总线上,并送入累加器A中;否则,禁止访问DPTR所指向的存储单元,并通知CPU该条指令发生了对所指存储块的非法访问错误。
由于DPTR存储访问外部数据存储器的地址由高7位逻辑块地址和低9位块内偏移地址组成,在访问外部数据存储器时需要将逻辑块地址转换为物理块地址,而存储在DRAMC中某一存储单元的物理块地址可以是整个外部数据存储器128块中的任意一块,这就使得在程序设计时逻辑上连续的两个数据块,可能在物理上是不连续的两块,这种存储器管理模式能实现存储器的动态分配、释放和回收,减少数据存储区碎片的产生,提高存储单元的利用率。

Claims (2)

1.一种基于SoC芯片外部数据安全存储系统,包括内部缓冲存储器RAM、外部数据存储区安全属性控制存储器DRAMC、存储器工作方式控制寄存器MACR、数据存取安全控制逻辑电路DASCL、外部数据存储器DRAM和程序存储器PROM,其特征在于:存储器工作方式控制寄存器MACR位于SoC芯片的特殊功能寄存器SFR区,上述各存储器与寄存器均通过地址总线AB、数据总线DB和控制总线CB与中央处理器单元CPU相连, 中央处理器单元CPU通过存储器工作方式控制寄存器MACR设置外部数据存储区安全属性控制存储器DRAMC的工作模式,外部数据存储区安全属性控制存储器DRAMC的工作模式决定安全属性控制字与数据块之间的对应关系;中央处理器单元CPU访问数据存储器发出的地址总线信号AB,通过外部数据存储区安全属性控制存储器DRAMC的转换后,译码指向外部数据存储器DRAM的被访问单元,同时得到该被访问单元的存取控制属性的权限控制值;而中央处理器单元CPU发出的访问外部数据存储器DRAM的控制总线信号CB,通过DASCL电路对该被访问单元的访问控制权限值与中央处理器单元CPU当前所处的安全状态值进行逻辑运算的控制重组后,与外部数据存储器DRAM的读写控制信号相连,当CPU当前所处的安全状态值大于或等于访问控制权限值时,被访问外部数据存储器DRAM的单元数据才能通过数据总线DB送入中央处理器单元CPU,或者将中央处理器单元CPU内部的数据写入到指定的存储单元,实现数据的双向交互;在中央处理器单元CPU的控制下,通过存储器工作方式控制寄存器MACR、外部数据存储区安全属性控制存储器DRAMC和数据存取安全控制逻辑电路DASCL,完成外部数据存储器DRAM安全静态和动态存取控制方式下的存取属性控制字与相应数据块的对应关系转换、地址总线的动态重构以及控制总线和控制逻辑的重组。
2.一种基于SoC芯片外部数据安全存储系统的存取控制方法,其特征在于:该方法基于权利要求1所述基于SoC芯片外部数据安全存储系统之上,包括外部数据存储器安全静态存取控制方法和外部数据存储器安全动态存取控制方法;
外部数据存储器安全静态存取控制方法具体为:每个外部数据存储区安全属性控制存储器的存储单元存放一个访问外部数据存储器存取属性控制字,该存取属性控制字对应外部数据存储器256个存储单元,构成一个数据块;CPU的地址总线信号AB、存取属性控制字DACWi与外部数据存储块的块号BKAddri的对应关系为:A15~A8=DACWi=BKAddri,其中i = A15~A8的编码;数据存取安全控制逻辑电路DASCL由SoC芯片运行安全状态字、外部数据存储块安全存取属性控制字输入通道和判决逻辑电路组成;CPU运行需要访问外部数据存储器时,只有当SoC芯片运行的当前安全状态满足对应数据存储块的安全存取属性控制字要求时,DASCL电路发出有效的数据存储器访问控制信号,完成数据的读出或写入操作;
SoC芯片运行时,首先设置存储器工作方式控制寄存器,选中DRAMC作为芯片的内部缓冲存储器RAM,并根据外部数据存储器安全访问控制策略,对DRAMC写入每个数据存储块相对应的安全存取属性控制字,其次,设置存储器工作方式控制寄存器,构成外部数据存储器安全静态存取控制方式,初始化存储器工作方式结束,SoC芯片进入外部数据存储器安全静态存取控制状态;当CPU运行需要访问外部数据存储器时,将地址总线的高8位寻址DRAMC,读取对应数据块的安全存取属性控制字,并与芯片当前所处的安全状态字进行逻辑运算,满足访问安全条件时,DASCL电路给出有效的外部数据存储器访问读或写控制信号,且CPU给出的高8位地址选中安全存取属性控制字所对应的一个存储块,低8位地址选中该块中某一确定的存储单元,在读或写控制信号的控制下,完成数据的读出或写入操作;若芯片当前所处的安全状态与安全存取属性控制字进行逻辑运算,不满足访问安全条件时,DASCL电路输出无效的读或写控制信号,则禁止系统对外部数据存储器的访问操作;
外部数据存储器安全动态存取控制方法具体为:当SoC芯片处于外部数据存储器安全动态存取控制方式下时,外部数据存储区安全属性控制存储器DRAMC被划分为128个字存储单元,每个字的高8位存储访问外部数据存储区的物理块号,低8位存储该块的安全存取属性控制字,外部数据存储器对应被划分为128块,每块512字节,CPU访问外部数据存储器给出16位逻辑地址,低9位用于访问一块内512个存储单元中的某一个确定存储单元,高7位用于寻址DRAMC的128个字中的某一个确定的字,每个字高8位数据指向外部数据存储器128块中的某一块,低8位则是该块存储区对应的存取属性控制字,即A15~A9→BKAddri=DACWi;数据访问安全控制逻辑电路DASCL由SoC芯片运行安全状态字、外部数据存储块安全存取属性控制字输入通道和判决逻辑电路组成,只有当SoC芯片运行的当前安全状态满足对应数据存储块的安全存取属性控制字要求时,DASCL电路发出有效的数据存储器访问控制信号,完成数据的读出或写入操作;
SoC芯片运行时,首先设置存储器工作方式控制寄存器,选中DRAMC作为片内缓冲存储器RAM,并根据外部数据存储器安全访问控制策略,对DRAMC写入每个数据存储块相对应的安全存取属性控制字和对应的物理块地址;其次,设置存储器工作方式控制寄存器,构成外部数据存储器安全动态存取控制方式,初始化存储器工作方式结束,SoC芯片进入外部数据存储器安全动态存取控制状态;当CPU运行需要访问外部数据存储器时,将地址总线的高7位寻址DRAMC,读取对应数据块的安全存取属性控制字,并与芯片当前所处的安全状态进行逻辑运算,满足访问安全条件时,DASCL电路给出有效的外部数据存储器访问读或写控制信号,且DRAMC高8位数据选中安全存取控制属性字所对应的一个存储块,CPU地址的低9位选中该块中某一确定的存储单元,在读或写控制信号的控制下,完成数据的写入或读出操作;若芯片当前所处的安全状态与安全存取属性控制字进行逻辑运算,不满足访问安全条件时,DASCL电路输出无效的读或写控制信号,则禁止CPU对外部数据存储器的访问操作;
若CPU不执行外部数据存储器安全访问策略,即工作于正常外部数据存储工作模式,执行其它访问外部数据存储器指令时,不执行初始化操作,与程序正常执行阶段的步骤相同,且DRAMC在存储器工作方式控制寄存器的控制下,作为芯片内部缓冲存储器的扩展使用,在执行MOVX A,Ri或MOVX Ri,A指令时,访问DRAMC的高8位地址固定设置为00H,即A15~A8为00H。
CN2011101505550A 2011-06-07 2011-06-07 基于SoC芯片外部数据安全存储系统及存取控制方法 Active CN102184365B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101505550A CN102184365B (zh) 2011-06-07 2011-06-07 基于SoC芯片外部数据安全存储系统及存取控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101505550A CN102184365B (zh) 2011-06-07 2011-06-07 基于SoC芯片外部数据安全存储系统及存取控制方法

Publications (2)

Publication Number Publication Date
CN102184365A CN102184365A (zh) 2011-09-14
CN102184365B true CN102184365B (zh) 2013-05-29

Family

ID=44570540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101505550A Active CN102184365B (zh) 2011-06-07 2011-06-07 基于SoC芯片外部数据安全存储系统及存取控制方法

Country Status (1)

Country Link
CN (1) CN102184365B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063974B2 (en) * 2012-10-02 2015-06-23 Oracle International Corporation Hardware for table scan acceleration
CN104750636A (zh) * 2013-12-31 2015-07-01 环达电脑(上海)有限公司 基于soc的扩展应用装置
US11030122B2 (en) 2014-04-08 2021-06-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
CN105550010B (zh) * 2016-03-11 2019-02-05 湘潭大学 一种基于SoC的无线智能程序加载方法及系统
CN107193755A (zh) * 2017-06-29 2017-09-22 合肥工业大学 一种适用于通用浮点处理器的存储管理单元及其工作方式
CN108958649B (zh) * 2018-05-17 2021-03-23 天津飞腾信息技术有限公司 一种用于存储系统的安全隔离方法及装置
US11115383B2 (en) * 2018-05-24 2021-09-07 Texas Instruments Incorporated System on chip firewall memory architecture
US11036887B2 (en) * 2018-12-11 2021-06-15 Micron Technology, Inc. Memory data security
CN110232139B (zh) * 2019-06-13 2021-07-27 山东华翼微电子技术股份有限公司 一种适用于嵌入式软件的soc数据管理方法
CN112231178B (zh) * 2020-11-03 2023-11-24 中国航空工业集团公司西安航空计算技术研究所 一种适用于机载高安全计算机的加电时间计时系统
CN113643739A (zh) * 2021-09-02 2021-11-12 西安紫光国芯半导体有限公司 一种llc芯片及缓存系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788958A (zh) * 2010-02-04 2010-07-28 杭州晟元芯片技术有限公司 一种存储器数据保护的方法
CN101859289A (zh) * 2010-06-11 2010-10-13 华中科技大学 一种片外存储器访问控制器
CN202102448U (zh) * 2011-06-07 2012-01-04 郑州信大捷安信息技术股份有限公司 基于SoC芯片外部数据安全存储架构

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788958A (zh) * 2010-02-04 2010-07-28 杭州晟元芯片技术有限公司 一种存储器数据保护的方法
CN101859289A (zh) * 2010-06-11 2010-10-13 华中科技大学 一种片外存储器访问控制器
CN202102448U (zh) * 2011-06-07 2012-01-04 郑州信大捷安信息技术股份有限公司 基于SoC芯片外部数据安全存储架构

Also Published As

Publication number Publication date
CN102184365A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
CN102184365B (zh) 基于SoC芯片外部数据安全存储系统及存取控制方法
CN102184366B (zh) 基于SoC芯片外部程序安全访问控制系统及控制方法
CN105787360B (zh) 一种嵌入式系统内存安全访问控制的技术实现方法
US9465753B2 (en) Memory management unit that applies rules based on privilege identifier
CN1991808B (zh) 用于访客访问存储器映射的设备的方法和装置
CN101324867B (zh) 基于半导体存储介质的数据管理装置及管理方法
CN107357666A (zh) 一种基于硬件保护的多核并行系统处理方法
CN111095222A (zh) 使用高速缓存一致性协议数据的基于高速缓存的追踪记录
CN103946826A (zh) 用于在公共存储器通道上实现多级存储器层级的设备和方法
CN104391770B (zh) 一种嵌入式数据安全系统用soc芯片的在线调试及上位机通讯模块
CN103455129A (zh) 计算机可读介质和计算处理装置
CN106484316A (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
CN103999161A (zh) 用于相变存储器漂移管理的设备和方法
CN103383667A (zh) 存储器保护电路、处理单元和存储器保护方法
CN104937568B (zh) 用于多页尺寸转换后备缓冲器(tlb)的装置和方法
CN103914363B (zh) 一种内存监控方法及相关装置
CN108351826A (zh) 监视处理器的操作
CN202102448U (zh) 基于SoC芯片外部数据安全存储架构
CN105027137B (zh) 用于针对增强型安全检查的页走查扩展的装置和方法
CN103902013A (zh) 存储器控制装置及方法
CN113569508B (zh) 基于id进行数据索引与访问的数据库模型构建方法及设备
CN107257978A (zh) 抵抗旁路攻击的定制保护
CN103778099B (zh) 信息处理设备
CN104536912A (zh) 在小型操作系统中实现内存保护模式的装置和方法
CN202102449U (zh) 基于SoC芯片外部程序安全访问架构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 450001 Henan city of Zhengzhou Province, West Zheng Dong new things are integrated services northbound Zhengzhou national trunk highway logistics building 14 floors of A towers

Applicant after: Zhengzhou Xinda Jie'an Information Technology Co., Ltd.

Address before: 450001 No. 11 Lianhua street, hi tech Development Zone, Henan, Zhengzhou

Applicant before: Zhengzhou Xinda Jie'an Information Technology Co., Ltd.

C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 450046 Henan city of Zhengzhou Province, East West northbound Zheng Dong new district are integrated services Zhengzhou national trunk highway logistics building 14 floors of A towers

Applicant after: Zhengzhou Xinda Jie'an Information Technology Co., Ltd.

Address before: 450001 Henan city of Zhengzhou Province, West Zheng Dong new things are integrated services northbound Zhengzhou national trunk highway logistics building 14 floors of A towers

Applicant before: Zhengzhou Xinda Jie'an Information Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: External data security memory architecture based on system on chip (SoC) and access control method

Effective date of registration: 20180206

Granted publication date: 20130529

Pledgee: Bank of Communications Ltd Henan branch

Pledgor: Zhengzhou Xinda Jie'an Information Technology Co., Ltd.

Registration number: 2018410000003

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20181105

Granted publication date: 20130529

Pledgee: Bank of Communications Ltd Henan branch

Pledgor: Zhengzhou Xinda Jie'an Information Technology Co., Ltd.

Registration number: 2018410000003

PC01 Cancellation of the registration of the contract for pledge of patent right