CN116167043A - 片上系统中的存储器防火墙的管理 - Google Patents

片上系统中的存储器防火墙的管理 Download PDF

Info

Publication number
CN116167043A
CN116167043A CN202211491897.3A CN202211491897A CN116167043A CN 116167043 A CN116167043 A CN 116167043A CN 202211491897 A CN202211491897 A CN 202211491897A CN 116167043 A CN116167043 A CN 116167043A
Authority
CN
China
Prior art keywords
master
memory region
memory
access
access right
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.)
Pending
Application number
CN202211491897.3A
Other languages
English (en)
Inventor
L·帕拉迪
N·安奎特
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.)
STMicroelectronics Alps SAS
STMicroelectronics Grand Ouest SAS
Original Assignee
STMicroelectronics Alps SAS
STMicroelectronics Grand Ouest SAS
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 STMicroelectronics Alps SAS, STMicroelectronics Grand Ouest SAS filed Critical STMicroelectronics Alps SAS
Publication of CN116167043A publication Critical patent/CN116167043A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及片上系统中的存储器防火墙的管理。依照一个实施例,一种片上系统包括:多个主装备;多个从资源,其中该多个从资源中的从资源包括存储器设备,该存储器设备包括第一存储器区域;互连电路;以及检查电路。第一主装备被配置成针对第一存储器区域限定初始访问权限,并且将第一存储器区域的访问管理委托给第二主装备。第二主装备被配置成根据访问权限规则和与第一存储器区域相关联的初始访问权限来针对第一存储器区域限定特定访问权限;并且检查电路被配置成使用与第一存储器区域相关联的适用访问权限来检查预期针对第一存储器区域的事务是否确实被授权访问第一存储器区域。

Description

片上系统中的存储器防火墙的管理
相关申请的交叉引用
本申请要求于2021年11月25日提交的法国专利申请号2112501的权益,该申请在此通过引用并入本文。
技术领域
实施方式和实施例涉及集成电路,特别地涉及片上系统(SOC)中的存储器防火墙的管理。
背景技术
为了帮助确保片上系统的可靠性,可能有必要限制一个或多个主装备对具体从资源的访问。本领域技术人员通过术语“防火墙或隔离”来指定这样的特征。
还可以对这些访问限制进行管理,这是易于执行和实施的,特别是在这种管理是动态的情况下,例如当它依赖于考虑用于片上系统的应用(例如在芯片的多个核上考虑的应用)时。
再可以提出一种片上系统,例如微控制器或微处理器,其允许来自该片上系统的各种用户的所有使用情况以及以灵活的方式的所有配置,并且包括特别是低功率模式。
也被公开为美国专利公开号2021/01610134的、以号3103586公开的法国专利申请(下称“法国专利申请”)描述了具有上述优点的片上系统的一个示例,这两个申请均已经通过引用并入本文。
然而,仍然需要改进这样的片上系统,特别是关于对存储器的访问的管理和其防火墙的配置的管理,特别是当该存储器被划分为若干存储器区域时。
更一般地,需要简化在片上系统内部或外部但耦合到片上系统的存储器的防火墙的配置,特别是在修改对存储器的一部分的访问权限时,或者当片上系统处于低功率模式时。
发明内容
依照一个实施例,一种片上系统包括:多个主装备;多个从资源,其中该多个从资源中的至少一个从资源包括存储器设备,该存储器设备包括第一存储器区域;耦合在多个主装备与多个从资源之间的互连电路,互连电路被配置成在多个主装备与多个从资源之间路由事务;以及检查电路。多个主装备中的第一主装备被配置成针对第一存储器区域限定初始访问权限,并且将第一存储器区域的访问管理委托给多个主装备中的第二主装备;第二主装备被配置成根据访问权限规则和与第一存储器区域相关联的初始访问权限来针对第一存储器区域限定特定访问权限;并且检查电路被配置成使用与第一存储器区域相关联的适用访问权限来检查预期针对第一存储器区域的事务是否确实被授权访问第一存储器区域。适用访问权限包括初始访问权限、特定访问权限或其他访问权限,并且适用访问权限在事务被接收到时适用。
依照另一实施例,一种用于管理针对片上系统的存储器访问的方法,该片上系统包括多个主装备、多个从资源、耦合在多个主装备与多个从资源之间的互连电路,互连电路被配置成在多个主装备与多个从资源之间路由事务,其中多个从资源中的至少一个从资源包括存储器设备,该存储器设备包括第一存储器区域,该方法包括:由多个主装备中的第一主装备针对第一存储器区域限定初始访问权限;由第一主装备将第一存储器区域的访问管理委托给多个主装备中的第二主装备;由第二主装备根据访问权限规则和与第一存储器区域相关联的初始访问权限来针对第一存储器区域限定特定访问权限;以及使用与存储器区域相关联的适用访问权限来检查预期针对第一存储器区域的事务是否确实被授权访问该第一存储器区域。适用访问权限包括初始访问权限、特定访问权限或其他访问权限,并且适用访问权限在事务被接收到时适用。
依照又一实施例,一种操作防火墙的方法,该方法包括:从多个主装备中的第一主装备接收针对从设备的第一存储器区域的初始访问权限;从第一主装备接收用于将第一存储器区域的访问管理委托给多个主装备中的第二主装备的命令;从第二主装备接收用于根据访问权限规则和与第一存储器区域相关联的初始访问权限来针对第一存储器限定特定访问权限的命令;以及使用与存储器区域相关联的适用访问权限来检查预期针对第一存储器区域的事务是否确实被授权访问该第一存储器区域。适用访问权限包括初始访问权限、特定访问权限或其他访问权限,并且适用访问权限在事务被接收到时适用。
附图说明
本发明的其他优点和特征将在审查实施例和实施方式(非限制性地)以及附图的详细描述时显现,在附图中:
图1图示了实施例片上系统的框图;
图2图示了实施例配置信息集的图;
图3图示了实施例存储器划分的图;
图4图示了示出根据一个实施例的委托寄存器的操作的图;
图5图示了根据一个实施例的示例初始访问权限;
图6和图7图示了示出根据一个实施例的特定访问权限的阐述的图;
图8图示了根据一个实施例的示例访问权限规则的表;
图9图示了描绘根据一个实施例的访问权限管理的委托的图;
图10图示了示出根据一个实施例的事务的内容的图;
图11图示了实施例系统的示意图;以及
图12图示了实施例存储器划分的图。
具体实施方式
实施方式和实施例涉及集成电路,特别是片上系统(SoC),例如微控制器(多核或单核)或微处理器,例如管理这样的片上系统的操作,并且更特别地管理对被划分成若干存储器区域的存储器的访问和管理这样的存储器的防火墙的配置。
根据一个方面,提出了一种片上系统,该片上系统包括若干主装备,例如,当系统形成特别是微控制器、至少一个微处理器以及一般地若干微处理器、直接存储器访问(DMA)控制器时,这些示例不是限制性的。片上系统还包括若干从资源。
通过非限制性示例的方式,从资源可以属于由以下项形成的组:至少一个外围装置,例如I2C(“集成电路间”)类型、SPI(“串行外围接口”)类型、UART(“通用异步接收器发射器”)类型的外围装置;或者实时时钟(RTC);外围装置的特征(例如RTC外围装置的报警线)。
片上系统还包括至少一个从资源,该至少一个从资源包含存储器设备,该存储器设备包括至少一个第一存储器区域。
术语“存储器设备”具有非常宽泛的含义,例如,涵盖在片上系统内部的存储器电路,或者在片上系统内部并且预期耦合到在片上系统外部的存储器电路的存储器接口,例如DDR SRAM(“双倍数据速率同步动态随机存取存储器”)类型的存储器。
片上系统还包括耦合在主装备与从资源之间并且能够在主装备与从资源之间路由事务(例如写入或读取事务)的互连系统(由本领域技术人员根据名称“互连(interconnect)”已知的)。
在主装备当中,第一主装备(例如但不限于微处理器)被配置成(例如在冷启动阶段之后用户程序的执行期间)针对该第一存储器区域限定初始访问权限,并且将所述至少一个第一存储器区域的访问的管理至少临时地委托给第二主装备。
优选不同于第一主装备的该第二主装备被配置成:根据访问权限规则和与该第一存储器区域相关联的初始访问权限,来针对所述至少一个第一存储器区域限定特定访问权限。这些访问权限规则可以是并入到由第二主装备执行的程序中的软件,并且还可以是硬编码的。
系统还包括至少一个检查电路(用作防火墙),该至少一个检查电路被配置成:通过使用与该存储器区域相关联并且在预期针对所述至少一个第一存储器区域的事务被接收到时适用的访问权限,来检查所述事务是否确实被授权访问该第一存储器区域。被称为适用访问权限的访问权限包括初始访问权限或特定访问权限、或其他访问权限。
确实,如下面更详细地将看到的,第二主装备可以针对整个第一存储器区域指派特定访问权限。
然而,根据一个可能实施例,至少一个第一存储器区域可以被划分为若干存储器子区域,并且已经获得了针对该第一存储器区域的委托的第二主装备被配置成针对这些存储器子区域分配相应访问权限。
因此,这些存储器子区域可以是不相交的、邻接的或不是邻接的,或者甚至重叠的。
对存储器子区域的访问权限可以是特定访问权限,而位于被指派具体访问权限的两个存储器子区域之间的存储器子区域可以例如保持已经由第一主装备限定的其初始访问权限。
类似地,由于委托可以是临时的,所以如下面将看到的,第一主装备可以撤回该委托并且重新获得对该第一存储器区域的访问权限的管理的控制。在这种情况下,第一主装备可以保持初始访问权限,或者限定与初始访问权限和特定访问权限不同的其他访问权限。
类似地,可以例如临时地激活或不激活防火墙。
因此,如果防火墙不被激活,那么不存在对访问权限的过滤器,并且源自任何主装备的任何事务然后可以例如访问第一存储器区域。
将防火墙的管理以及因此访问权限的管理委托给第二主装备特别地允许在任务调度的上下文内容易地改变对存储器区域的访问权限,容易地与另一执行存储器区域共享缓冲存储器,或者甚至与低功率操作模式兼容,在低功率操作模式中第一主装备将待机,并且其中将仍然有必要在本地管理对存储器的存储器访问。因此,受制于例如遵从规则,可以覆写已经由第一主装备在初始化时被编程的防火墙的某些参数,而无需通过第一主装备。换言之,不像现有技术的片上系统,可以授权由存储器本身的“所有者”(也就是说将特别地使用该存储器的所有者,在这种情况下是第二主装备)对存储器或存储器区域的本地防火墙控制。
存储器设备可以包括若干第一存储器区域,并且第一主装备可以被配置成针对每个第一存储器区域限定初始访问权限,并且将第一存储器区域的访问的管理至少临时地分别委托给若干不同的或相同的第二主装备。
如先前所指出的,第一主装备还可以被配置成:在已经将第一存储器区域的访问的管理委托给对应的第二主装备之后,撤回该委托并且重新开始对该第一存储器区域的访问的管理,或者可能重新委托给另一第二主装备。第一主装备还可以被配置成:在已经撤回了委托之后,不被授权许可针对所涉及的第一存储器区域的访问的管理的新委托。
根据一个实施例,存储器设备可以包括至少一个第二存储器区域,并且第一主装备还可以被配置成:针对该第二存储器区域限定初始访问权限,并且不被授权委托对该第二存储器区域或这些第二存储器区域的访问的管理。不同的存储器区域可以是通过开始存储器地址和结束存储器地址限定的区域,并且不同的存储器区域还可以是存储器页。
根据另一方面,提出了一种用于管理对片上系统的至少一个存储器设备的访问的方法,该片上系统包括若干主装备、若干从资源以及互连电路,互连电路耦合在主装备与从资源之间并且能够在主装备与从资源之间路由事务,至少一个从资源包含所述至少一个存储器设备,所述至少一个存储器设备包括至少一个第一存储器区域,该方法包括:由第一主装备针对该第一存储器区域限定初始访问权限;由第一主装备将所述至少一个第一存储器区域的访问的管理至少临时地委托给第二主装备;由该第二主装备根据访问权限规则和与该第一存储器区域相关联的初始访问权限来针对所述至少一个第一存储器区域限定特定访问权限;以及通过使用与该存储器区域相关联并且在预期针对所述至少一个第一存储器区域的事务被接收到时适用的访问权限,来检查所述事务是否确实被授权访问该第一存储器区域,适用访问权限包括初始访问权限或特定访问权限、或其他访问权限。
根据其中存储器设备包括若干第一存储器区域的一个实施方式,一种方法包括:由第一主装备针对每个第一存储器区域限定初始访问权限,以及由第一主装备将第一存储器区域的访问的管理至少临时地分别委托给若干第二主装备。
根据其中对应第一存储器区域包括若干第一存储器子区域的一个实施方式,该方法还包括由每个第二主装备管理这些第一存储器子区域的访问。
根据一个实施方式,该方法还包括:由第一主装备在它已经将第一存储器区域的访问的管理委托给对应的第二主装备之后,撤回该委托并且由第一主装备重新开始对该第一存储器区域的访问的管理。
根据其中存储器设备包括至少一个第二存储器区域的一个实施方式,该方法还包括:由第一主装备针对该第二存储器区域限定初始访问权限,并且不授权第一主装备委托对该第二存储器区域或这些第二存储器区域的访问的管理。
片上系统可以形成微控制器或微处理器。
本发明的实施例可以应用于任何类型的片上系统,该片上系统包括若干主装备、若干从资源以及互连电路,该互连电路耦合在主装备与从资源之间并且能够在主装备与从资源之间路由事务。
本发明的实施例特别地应用于诸如上述法国专利申请号3103586中描述的片上系统,该片上系统包括某些一般特性,特别地涉及配置图,主装备和从资源的标识、以及事务结构将在下面覆盖。
然而,本领域技术人员可以出于所有实际目的而参考该法国专利申请,该申请的内容通过引用并入本专利申请。
在图1中,标记MCU指定在本文中形成微控制器的片上系统,但是该示例不是限制性的。
片上系统MCU在本文中包括若干主装备,出于简化的目的,该若干主装备中的仅三个标记的CPU1、CPU2、CPU3被表示在本文中。
在该示例中,主装备CPU1、CPU2和CPU3是微处理器,并且其他主装备可以是例如直接存储器访问(DMA)类型或其他类型的主装备,例如,USB控制器或甚至PCI快速(PCIexpress)类型的主装备,该示例列表不是穷尽的。在一些实施例中,片上系统上的部件可以被实施在诸如单个单片集成电路的单个集成电路上。该集成电路可以被实施在诸如硅衬底的半导体衬底上。
片上系统MCU还包括若干从资源,出于简化的目的,该若干从资源中的仅四个标记的IMM1、PH3、PH4、PH5被表示在本文中。
一般,从资源属于至少由以下项形成的组:外围装置、外围装置的特征、在片上系统MCU内部的存储器电路、在片上系统内部并且预期被耦合到在片上系统外部的至少一个存储器电路的存储器接口。因此,在图示的示例中,从资源IMM1是存储器设备,并且更特别地是在片上系统内部的存储器。
从资源PH3、PH4和PH5是外围装置,例如UART类型的外围装置、I2C控制器、SPI控制器。
主装备和从资源的结构可以是常规的并且本身已知的。
片上系统MCU还包括互连电路INTC,互连电路INTC能够在主装备与从资源之间路由事务。
一般是多层互连电路的这样的互连电路的结构,以及允许互连电路内部的事务的交换和路由的协议,对本领域技术人员而言是众所周知的。这可以例如特别地参考:Venkateswara Rao和其他人的题为“AFrame work on AMBA bus based CommunicationArchitecture to improve the Real Time Computing Performance in MPSoC”(International Journal of Computer Applications(0975-8887),第91卷-第5期,2014年四月)的文章;或者由A.Gerstlauer在2015年完成并且在互联网地址http://users.ece.utexas.edu/~gerstl/ee382v_f14/lectures/lecture_12.pdf处可获得的这些互连电路的一般介绍。
此外,通过指示而非限制的方式,例如由ARM公司以标记NIC-400(版本R0p3)销售的互连电路可以被使用。
片上系统还包括与每个主装备和与每个从资源相关联的配置寄存器集,该配置寄存器集包括预期分别存储配置信息的若干配置寄存器,其含义将在下面更详细地被评述。
标记RGCM1指定与主装备CPU1相关联的配置寄存器集;标记RGCM2指定与主装备CPU2相关联的配置寄存器集;标记RGCM3指定指派给主装备CPU3的配置寄存器集;标记RGCS1指定指派给从资源IMM1的配置寄存器集;标记RGCS3指定与外围装置PH3相关联的配置寄存器集;标记RGCS4指定指派给外围装置PH4的配置寄存器集;并且标记RGCS5指定指派给外围装置PH5的配置寄存器集。
此外,在该示例中,提供称为指定寄存器的寄存器RDS,寄存器RDS的特征将更详细地被评述,但是其可以已经被指示为用于指定主装备作为第一主装备,该第一主装备具有管理者主装备的品质。
不同的配置寄存器集在本文中被表示在控制器RIFC内;然而,它们可以被设置在该控制器外部。
片上系统MCU还包括与每个主装备相关联的基本管理单元RIMU1、RIMU2、RIMU3。
这些基本管理单元的结构和特征将更详细地被评述,但是已经可以认为它们是预期将标识信息CID和可能的安全性信息和/或特权信息添加到由主装备发送的任何事务的附加电路和系统的部分。
片上系统还包括与每个从资源相关联的基本检查模块RISU1、RISU3、RISU4、RISU5,这些基本检查模块的结构和特征也将在下面更详细地被评述。
已经可以认为,这些基本检查模块是预期检查预期针对从资源的事务是否确实被授权访问该从资源的检查电路的部分。
不同的基本管理单元RIMU和不同的基本检查模块RISU通过例如金属轨道的具体链路分别连接到对应配置寄存器集。
尽管基本验证模块RISUi在图1中已经被表示在对应外围装置外部,但是很可能提供具有集成到外围装置本身中的其对应基本检查模块的一个或多个外围装置。
如将在下面更详细地看到的,模块RISU1和相关联的寄存器RGCS1用作存储器IMM1的防火墙,该防火墙的管理最初被指派给第一主装备或管理者装备,该防火墙的管理可以在某些条件下针对存储器IMM1的某些存储器区域至少临时地被委托给第二主装备。
但在详述这一点之前,在本文中简要地回忆片上系统的一些特征和特性。本领域技术人员可能可以参考上述法国专利申请以获得更多细节。出于简化的目的,在这里将不描述对于实施本发明不必要的片上系统的其他特征和特性,诸如例如上述法国专利申请中描述的改变管理者装备的可能性,然而其可以被实施在本片上系统中。
片上系统MCU包括处理器,该处理器特别地分布在已经参考图1描述的不同元件内,并且被配置成允许片上系统的用户在配置阶段期间在片上系统内实施由配置信息集限定的配置图,配置信息集将被存储在不同配置寄存器集中。
在更详细地评述该配置信息的组成之前,已经可以指出,用户具有实施静态或动态配置的选项。在本文中通过示例的方式假设配置图对应于在片上系统的使用或操作阶段期间保持有效的初始图(静态配置)。
更具体地,通过示例的方式,第一管理者主装备被配置成响应于片上系统的第一次启动或冷启动,执行启动阶段,在该启动阶段结束时,该第一管理者主装备被配置成至少允许初始配置图的实施。
第一管理者主装备的指定可以在片上系统MCU的生产期间例如通过硬编码来设置。备选地,用户可以使用允许指定第一管理者主装备的可编程指定寄存器RDS。
通过示例的方式,启动存储器(“启动ROM”)被配置成存储启动程序,该启动程序仅可由第一管理者主装备(例如微处理器CPU1)在片上系统的第一次启动或冷启动期间执行。
输入部INP(图1)可以被配置成接收用户程序。该用户程序可以例如被存储在与所述输入部INP协作的SD卡上。该用户程序从输入部INP被接收,并且被存储在程序存储器中。该用户程序至少包含表示初始配置图的指令。
在该示例中,第一管理者主装备(例如微处理器CPU1)被配置成在其启动阶段结束时执行用户程序,以便实施初始配置图。
尽管微处理器已经在本文中被描述为第一管理者主装备(例如微处理器CPU1),但是备选地,完全可能的是,第一管理者主装备包括硬件逻辑电路。
现在更特别地参考图2以便图示限定配置图SCH的配置信息集的一个示例,配置图SCH可以是初始图或经修改的初始配置图。
为简化起见,在本文中仅提到了前述法国专利申请中提到的那些配置信息当中的几个配置信息。
配置信息集可以因此包括针对每个主装备的标识信息CID。该标识信息允许从主装备的列表中标识主装备。该标识信息CID可以例如是数字字。
主装备的配置信息集还可以包括安全性信息SEC,例如比特,根据该比特的逻辑值,该比特指示该主装备是以安全模式还是非安全模式配置的。针对主装备的配置信息集还可以包括特权信息PRV,例如比特,根据该比特的逻辑值,该比特指示该主装备是以特权模式还是非特权模式配置的。如果提供若干特权模式级别,则该特权信息可以包括若干比特。
与主装备相关联的该配置信息被存储(步骤120)在对应配置寄存器集RGCMi中。
关于从资源,与其相关联的配置信息集可以包括例如针对不可访问从资源的过滤信息IFLT,例如比特,该比特预期仅基于主装备的标识信息CID来指示该从资源是可以由任何主装备访问还是由仅一个或多个主装备访问。
因此,例如,如果过滤信息具有逻辑值“0”,则这意味着不存在应用到标识信息的过滤并且因此从资源可以由任何主装备访问。
应当指出,若干主装备可以具有相同标识信息CID。例如当该主装备包括微处理器和可由该微处理器控制的一个或多个主装备时,就是这种情况。在这种情况下,然后形成由标识信息CID指定的隔室。该隔室的所有主装备然后可以例如具有对相同存储器资源的访问。
还可能的是,由微处理器控制的主装备出于安全性原因不具有与该微处理器相同的标识信息。例如对于PCI-E类型装备,就是这种情况。在这种情况下,这允许限制对该PCI-E类型主装备的某些存储器资源的访问。
限定配置图的配置信息集还可以包括针对不可访问从资源的第一访问信息IAC1,在过滤信息IFLT(通过示例,IFLT=1)指示所考虑的从资源可以由仅一个或多个主装备访问的情况下,第一访问信息IAC1预期指示该从资源可以由具有相同标识信息CID的一个或多个主装备访问。在这种情况下,当然,配置信息集包括该对应标识信息CID。
如以上所指出的,该标识信息CID可以与单个主装备或相同隔室中的若干主装备相关。
限定配置图SCH的配置信息集还可以包括针对该不可访问从资源的第二访问信息IAC2,在过滤信息IFLT(IFLT=1)指示从资源可以由仅一个或多个主装备访问的情况下,第二访问信息IAC2预期指示该从资源可以由具有不同标识信息CID的主装备访问。并且,在这种情况下,该从资源的配置信息集包括列表CID1…CID4,列表CID1…CID4例如为对应主装备的标识信息。可以由若干主装备顺序地或同时地访问的这样的从资源可以例如是存储器的一个或多个存储器电路。
针对该从资源的限定配置图SCH的配置信息集还可以包括安全性信息ISEC,例如比特,该比特预期指示该从资源可由安全主装备访问还是可由非安全主装备访问。
类似地,配置信息集可以包括针对该从资源的特权信息,例如比特IPRV,其预期指示该从资源可由处于特权模式还是非特权模式的主装备访问。
指派给从资源的所有该配置信息被存储(步骤121)在对应配置寄存器集RGCSi中。
在本文中应当指出,第一管理者主装备(例如微处理器CPU1)被配置成在其启动阶段结束时处于安全模式和处于特权模式。
现在更特别地参考图3和下文,以更详细地描述与存储器IMM1的访问权限的管理相关的特性和特征以及其防火墙RISU1的特性和管理。如图3中所示,存储器IMM1在本文中被划分成三个存储器区域,即两个第一存储器区域ZM1A和ZM1B以及第二存储器区域ZM2。这些存储器区域中的每个存储器区域可以通过开始地址和结束地址限定。备选地,特别是当存储器IMM1是内部存储器时,这些存储器区域可以通过一个或多个存储器页限定。
在配置图中,第一主装备CPU1针对存储器区域ZM1A、ZM1B和ZM2中的每个存储器区域限定(步骤40)初始访问权限DACI。
在图5中图示了初始访问权限的示例。更具体地,针对第二存储器区域ZM2,初始访问权限DCAI2指出:存储器区域可以由以非安全模式(NS)、以特权模式(P)配置的第一主装备CPU1访问,并且该访问可以是读取/写入访问(R/W)。初始访问权限DCAI2还提供:第二存储器区域ZM2可以由以非安全模式、以非特权模式配置的主装备CPU2并且通过读取/写入访问(R/W)来寻址。
关于第一存储器区域ZM1A,初始访问权限DCAI1A提供:该第一存储器区域可以由以非安全模式和以特权模式配置的主装备CPU1通过读取/写入访问(R/W)来访问。关于另一第一存储器区域ZM1B,初始访问权限DCAI1B提供:该另一第一存储器区域可以由以安全模式和以特权模式配置的主装备CPU1通过读取/写入访问(R/W)来访问。
这些访问权限经由对应配置信息被写入指派给从资源IMM1的寄存器集RGCS1中。
现在,如果更特别地返回图4,可以看出,在该实施方式中,提供了例如与存储器区域ZM1A、ZM1B和ZM2中的每个存储器区域相关联的寄存器(在本文中称为委托寄存器)。
并且,例如位于配置控制器RIFC中的这些委托寄存器RGDC2、RGDC1A、RGDC1B预期包含比特DCEN,比特DCEN的逻辑值将确定对应存储器区域的访问权限的管理是可以还是不可以被委托给另一主装备。
出于说明性目的,如果该比特的值等于0,那么访问权限的管理不可以被委托,而如果该比特的值等于1,它可以被委托。
在图4的示例中,寄存器RGDC2包含具有逻辑值0的比特DCEN,而寄存器RGDC1A和RGDC1B包含具有逻辑值1的比特DCEN。这意味着,关于第二存储器区域ZM2,最初指派给例如第一主装备CPU1的其访问权限的管理在该配置示例中不可以被委托给另一主装备(步骤41)。然而,关于第一存储器区域ZM1A,其访问权限的管理可以被委托给另一主装备(步骤42),例如委托给以非安全模式配置的微处理器CPU1。
类似地,关于第一存储器区域ZM1B,其访问权限的管理可以被委托(步骤43)给以安全模式配置的主装备CPU2。因此,以非安全模式(NS)配置的主装备CPU1可以针对第一存储器区域ZM1A限定特定访问权限DACP1A,而以安全模式(S)配置的主装备CPU2可以针对存储器区域ZM1B限定访问权限DACP1B。
例如,如图6中所示,根据初始访问权限DACI1A和访问权限规则RGL,执行由以非安全模式配置的主装备CPU1对特定访问权限DACP1A的阐述50。
通过示例的方式,特定访问权限DACP1A可以因此提供:存储器区域ZM1A可以由以非安全模式(NS)、以非特权模式(NP)配置的第一主装备CPU1通过读取/写入访问(R/W)来访问,或者由以非安全模式(NS)、以非特权模式(NP)配置的主装备CPU3通过只读访问(RO)来访问。
如图7中所示,通过示例的方式,根据初始访问权限DACI1B和规则RGL,执行由以安全模式(S)配置的主装备CPU2对与存储器区域ZM1B相关联的特定访问权限DACP1B的阐述60。特定访问权限DACP1B可以因此提供:由以安全模式(S)、以非特权模式(NP)配置的主装备CPU1通过读取/写入访问(R/W)进行的访问,或者甚至由以安全模式、以非特权模式(NP)配置的主装备CPU2通过读取/写入访问(R/W)进行的访问。
这些不同的访问权限通过对应比特具体化,并且对应主装备的标识信息被存储在与存储器IMM1相关联的寄存器集RGCS1中。并且,例如是配置控制器RIFC响应于来自已经接收到修改这些访问权限的委托的主装备的命令,而用特定访问权限替代初始访问权限。
图8图示了在本文中以表的形式表示的规则RGL的一个示例。在左栏中是不同的安全(S)、特权(P)、非安全(NS)和非特权(NP)配置,其可以被提供在初始访问权限DACI中。表的其余部分指示针对特定访问权限DACP,是授权S、P还是S、NP还是NS、P还是NS、NP配置。如果授权,则由缩略词OK具体化,并且如果不授权,则由缩略词NOK具体化。
换言之,如果存储器区域的初始访问权限DACI提供以安全模式(S)和以非特权模式(NP)的访问,则已经接收到访问权限的修改的委托的主装备将不可能分配例如以安全(S)和特权(P)模式的访问。然而,它可以授权以安全(S)和非特权(NP)模式的访问或以非安全(NS)和非特权(NP)模式的访问。当然,这些规则RGL仅仅是非限制性示例,并且规则的其他示例是可能的。
如图9中示意性图示的,很可能的是,由例如第一主装备CPU1将访问权限的管理委托给例如主装备CPU2仅仅是临时的。更特别地,委托70可以例如在存在特定条件CND0的情况下介入,特定条件CND0例如是接收到用户程序的特定指令或接收到控制信号,这些示例不是限制性的。例如当条件CND1被满足时,该委托可以结束,条件CND1例如是子程序的执行的结束或接收到另一控制信号,这些示例也不是限制性的。
在这种情况下,委托71的结束可以导致例如重新开始由已经发起初始访问权限的第一主装备CPU1对存储器IMM1的防火墙的管理。
现在更特别地参考图10以描述事务TR的内容的一个示例。
一般,在本文中,向由主装备传输的每个事务TR包括寻址字段ADR,寻址字段ADR的内容预期寻址该事务的接收者从资源。更具体地,如图10所示,每个事务TR包括传输该事务的主装备的标识信息CID、安全性信息SEC、预期指示该事务是否包含执行指令的指示EXE、特权信息PRV、指示它是读取事务还是写入事务的信息RW、寻址字段ADR以及数据字段DATA。
附加电路和系统(针对每个主装备EMi,包括被链接到对应的配置寄存器集RGCMi的相关联的基本管理单元RIMUi)被配置成向由主装备传输的每个事务至少添加该主装备的标识信息CID。附加电路和系统还被配置成向由主装备传输的每个事务添加安全性信息SEC和/或特权信息(如果这两个信息项尚未出现在由主装备传输的事务中)。
事务TR然后在链接到互连电路INTC的总线上被递送。
实质上,该基本管理单元RIMUi可以包括逻辑电路。
如图11中示意性图示的,基本检查模块RISU1被配置成访问配置信息集,该配置信息集被指派给从资源IMM1、被存储在对应的配置寄存器集RGCS1中、并且针对存储器IMM1的不同存储器区域限定初始访问权限DACI和特定访问权限DACP。利用初始访问权限DACI以及可能特定访问权限DACP对寄存器RGCS1的更新由配置控制器经由总线BS1和AHBI总线接口来执行,总线BS1例如是AHB(“高级高性能总线”)类型总线。
由不同主装备CPU1、CPU2...发送的事务TR在总线BS2上传输,然后到达基本检查模块RISU1。后者然后依赖于寄存器RGCS1的内容来检查事务是否可以访问存储器IMM1的所考虑的存储器区域。
本发明不限于刚刚已经描述的实施方式和实施例,而是涵盖其所有变型。
因此,如图12所示,已经获得了委托的第二主装备(在本文中,处于非安全模式中的装备CPU1)还可以将第一存储器区域ZM1A划分成若干(在本文中,三个)存储器子区域ZM1A1、ZM1A2、ZM1A3,该若干存储器子区域ZM1A1、ZM1A2、ZM1A3在本文中是不相交的且邻接的。尽管如此,这些存储器子区域可以是不邻接或甚至重叠的。
对其存储器子区域ZM1A1和ZM1A3的访问权限可以例如是特定访问权限,而位于被指派具体访问权限的这两个存储器子区域ZM1A1和ZM1A3之间的存储器子区域ZM1A2可以例如保持已经由第一主装备限定的其初始访问权限。

Claims (20)

1.一种片上系统,包括:
多个主装备;
多个从资源,其中所述多个从资源中的至少一个从资源包括存储器设备,所述存储器设备包括第一存储器区域;
耦合在所述多个主装备与所述多个从资源之间的互连电路,所述互连电路被配置成在所述多个主装备与所述多个从资源之间路由事务,其中:
所述多个主装备中的第一主装备被配置成:针对所述第一存储器区域限定初始访问权限,并且将所述第一存储器区域的访问管理委托给所述多个主装备中的第二主装备,
所述第二主装备被配置成:根据访问权限规则和与所述第一存储器区域相关联的所述初始访问权限,来针对所述第一存储器区域限定特定访问权限;以及
检查电路,所述检查电路被配置成:使用与所述第一存储器区域相关联的适用访问权限,来检查预期针对所述第一存储器区域的事务是否确实被授权访问所述第一存储器区域,其中所述适用访问权限包括所述初始访问权限、所述特定访问权限或其他访问权限,并且所述适用访问权限在所述事务被接收到时适用。
2.根据权利要求1所述的系统,其中:
所述第一主装备包括第一处理器;并且
所述第二主装备包括第二处理器。
3.根据权利要求1所述的系统,其中:
所述存储器设备包括多个第一存储器区域;
所述第二主装备包括多个第二主装备;并且
所述第一主装备被配置成:针对所述多个第一存储器区域中的每个第一存储器区域限定初始访问权限,并且将所述多个第一存储器区域的访问管理分别委托给所述多个第二主装备。
4.根据权利要求1所述的系统,其中:
所述第一存储器区域被划分为多个存储器子区域;并且
所述第二主装备被配置成:当所述第二主装备从所述第一主装备获得针对所述第一存储器区域的委托时,针对所述存储器子区域分配相应访问权限。
5.根据权利要求1所述的系统,其中所述第一主装备还被配置成:在从所述第二主装备委托所述第一存储器区域的所述访问管理之后,撤回访问管理的所述委托,并且重新开始管理对所述第一存储器区域的访问。
6.根据权利要求1所述的系统,其中:
所述存储器设备还包括第二存储器区域;并且
所述第一主装备还被配置成针对所述第二存储器区域限定初始访问权限。
7.根据权利要求6所述的系统,其中所述第一主装备未被授权委托对所述第二存储器区域的访问管理。
8.根据权利要求1所述的系统,其中所述多个主装备、所述多个从资源、所述互连电路以及所述检查电路被包括在微控制器或微处理器内。
9.根据权利要求8所述的系统,其中所述微控制器或所述微处理器被设置在单个半导体衬底上。
10.一种用于管理针对片上系统的存储器访问的方法,所述片上系统包括多个主装备、多个从资源、耦合在所述多个主装备与所述多个从资源之间的互连电路,所述互连电路被配置成在所述多个主装备与所述多个从资源之间路由事务,其中所述多个从资源中的至少一个从资源包括存储器设备,所述存储器设备包括第一存储器区域,所述方法包括:
由所述多个主装备中的第一主装备针对所述第一存储器区域限定初始访问权限;
由所述第一主装备将所述第一存储器区域的访问管理委托给所述多个主装备中的第二主装备;
由所述第二主装备根据访问权限规则和与所述第一存储器区域相关联的所述初始访问权限,来针对所述第一存储器区域限定特定访问权限;以及
使用与所述存储器区域相关联的适用访问权限来检查预期针对所述第一存储器区域的事务是否确实被授权访问所述第一存储器区域,其中所述适用访问权限包括所述初始访问权限、所述特定访问权限或其他访问权限,并且所述适用访问权限在所述事务被接收到时适用。
11.根据权利要求10所述的方法,其中:
所述存储器设备包括多个第一存储器区域;
所述第二主装备包括多个第二主装备;并且
所述方法还包括:
由所述第一主装备针对所述多个第一存储器区域中的每个第一存储器区域限定初始访问权限,以及
由所述第一主装备将所述多个第一存储器区域的访问管理分别委托给所述多个第二主装备。
12.根据权利要求10所述的方法,还包括:在所述第一主装备将所述第一存储器区域的所述访问管理委托给所述第二主装备之后,由所述第一主装备从所述第二主装备撤回所述第一存储器区域的所述访问管理。
13.根据权利要求10所述的方法,其中:
所述存储器设备还包括第二存储器区域;并且
所述方法还包括由所述第一主装备针对所述第二存储器区域限定初始访问权限。
14.根据权利要求13所述的方法,其中所述第一主装备未被授权委托对所述第二存储器区域的访问管理。
15.根据权利要求10所述的方法,其中所述片上系统形成微控制器或微处理器。
16.一种操作防火墙的方法,所述方法包括:
从多个主装备中的第一主装备接收针对从设备的第一存储器区域的初始访问权限;
从所述第一主装备接收用于将所述第一存储器区域的访问管理委托给所述多个主装备中的第二主装备的命令;
从所述第二主装备接收用于根据访问权限规则和与所述第一存储器区域相关联的所述初始访问权限来针对所述第一存储器区域限定特定访问权限的命令;以及
使用与所述存储器区域相关联的适用访问权限来检查预期针对所述第一存储器区域的事务是否确实被授权访问所述第一存储器区域,其中所述适用访问权限包括所述初始访问权限、所述特定访问权限或其他访问权限,并且所述适用访问权限在所述事务被接收到时适用。
17.根据权利要求16所述的方法,还包括:
在从所述第一主装备接收到所述初始访问权限时,利用所述初始访问权限更新第一寄存器集;
在从所述第一主装备接收到用于委托访问管理的所述命令时,更新委托寄存器;以及
在从所述第二主装备接收到用于限定特定访问权限的所述命令时,利用所述特定访问权限更新所述第一寄存器集。
18.根据权利要求17所述的方法,其中所述访问权限规则限定:所述第一存储器区域被限定为对所述多个主装备中的特定主装备是安全的、非安全的、特权的还是非特权的。
19.根据权利要求16所述的方法,还包括:
从所述第一主装备接收针对所述从设备的第二存储器区域的初始访问权限;
从所述第一主装备接收用于将所述第二存储器区域的访问管理委托给所述第二主装备的命令;
从所述第二主装备接收用于根据访问权限规则和与所述第二存储器区域相关联的所述初始访问权限来针对所述第二存储器区域限定特定访问权限的命令;以及
使用与所述存储器区域相关联的适用访问权限来检查预期针对所述第二存储器区域的事务是否确实被授权访问所述第二存储器区域,其中所述适用访问权限包括所述初始访问权限、所述特定访问权限或其他访问权限,并且所述适用访问权限在预期针对所述第二存储器区域的所述事务被接收到时适用。
20.根据权利要求16所述的方法,其中所述多个主装备和所述从设备被设置在单个芯片上。
CN202211491897.3A 2021-11-25 2022-11-25 片上系统中的存储器防火墙的管理 Pending CN116167043A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR2112501 2021-11-25
FR2112501A FR3129502A1 (fr) 2021-11-25 2021-11-25 Gestion d’un pare-feu de mémoire dans un système sur puce
US17/993,618 2022-11-23
US17/993,618 US20230161485A1 (en) 2021-11-25 2022-11-23 Management of a memory firewall in a system on chip

Publications (1)

Publication Number Publication Date
CN116167043A true CN116167043A (zh) 2023-05-26

Family

ID=80933195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211491897.3A Pending CN116167043A (zh) 2021-11-25 2022-11-25 片上系统中的存储器防火墙的管理

Country Status (4)

Country Link
US (1) US20230161485A1 (zh)
EP (1) EP4187391A1 (zh)
CN (1) CN116167043A (zh)
FR (1) FR3129502A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682639B2 (en) * 2010-09-21 2014-03-25 Texas Instruments Incorporated Dedicated memory window for emulation address
US9268970B2 (en) * 2014-03-20 2016-02-23 Analog Devices, Inc. System and method for security-aware master
US9710404B2 (en) * 2015-03-23 2017-07-18 Intel Corporation Dynamic configuration and peripheral access in a processor
FR3103586B1 (fr) 2019-11-22 2023-04-14 St Microelectronics Alps Sas Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant

Also Published As

Publication number Publication date
EP4187391A1 (fr) 2023-05-31
FR3129502A1 (fr) 2023-05-26
US20230161485A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
CN112948321B (zh) 用于管理片上系统的操作的方法和对应的片上系统
EP2660752B1 (en) Memory protection circuit, processing unit, and memory protection method
US7492723B2 (en) Mechanism to virtualize all address spaces in shared I/O fabrics
JP2003518287A (ja) デュアルモードプロセッサ
EP2062145A1 (en) Memory access security management
US11876732B2 (en) Method for managing the configuration of access to peripherals and their associated resources of a system on chip, and corresponding system on chip
JP4945053B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
CN112099903B (zh) 一种虚拟机的内存管理方法、装置、cpu芯片及服务器
US20210157668A1 (en) Method for managing the debugging of a system on chip forming for example a microcontroller, and corresponding system on chip
WO2010097925A1 (ja) 情報処理装置
CN100594481C (zh) 允许运行在逻辑分区上的程序访问资源的方法与系统
JP2006091972A (ja) バスシステム及び半導体集積回路
US20220156217A1 (en) Method for managing the operation of a system on chip, and corresponding system on chip
US7389398B2 (en) Methods and apparatus for data transfer between partitions in a computer system
CN112330229B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
US20080184258A1 (en) Data processing system
KR101460451B1 (ko) 프로세스 주소 공간을 제어하는 장치 및 방법
CN116166609A (zh) 存储器防火墙的动态管理
CN116340243A (zh) 一种双核可信执行的安全芯片架构
CN116167043A (zh) 片上系统中的存储器防火墙的管理
US11656796B2 (en) Adaptive memory consistency in disaggregated datacenters
JP5380392B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
JP5324676B2 (ja) プロセッサ、バスインターフェース装置、およびコンピュータシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination