CN107402892B - 半导体器件及其存储器访问控制方法 - Google Patents

半导体器件及其存储器访问控制方法 Download PDF

Info

Publication number
CN107402892B
CN107402892B CN201710343722.0A CN201710343722A CN107402892B CN 107402892 B CN107402892 B CN 107402892B CN 201710343722 A CN201710343722 A CN 201710343722A CN 107402892 B CN107402892 B CN 107402892B
Authority
CN
China
Prior art keywords
arithmetic unit
access
memory
semiconductor device
sub
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
CN201710343722.0A
Other languages
English (en)
Other versions
CN107402892A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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
Priority claimed from JP2017031933A external-priority patent/JP6758222B2/ja
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN107402892A publication Critical patent/CN107402892A/zh
Application granted granted Critical
Publication of CN107402892B publication Critical patent/CN107402892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/1433Protection 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 module or a part of a module
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

在现有技术的半导体器件中存以下问题:不能针对在主算术单元中执行的程序使用的子算术单元对共享存储器的访问执行存储器保护。根据一个实施例,半导体器件包括:子算术单元,被配置为执行主算术单元执行的程序的一部分的处理,以及由主算术单元和子算术单元共享的共享存储器,其中所述子算术单元包括:存储器保护单元,被配置为基于从所述主算术单元提供的访问允许范围地址值来允许或禁止对所述共享存储器的访问,对所述共享存储器的访问是由子算术单元执行的处理产生的访问。

Description

半导体器件及其存储器访问控制方法
技术领域
本公开涉及半导体器件及其存储器访问控制方法。例如,本公开涉及包括执行程序的主算术单元、执行程序的一部分的处理的子算术单元和由主算术单元和子算术单元共享的共享存储器的半导体器件,并涉及其存储器访问控制方法。
背景技术
在基于程序执行各种处理的半导体器件中,存在在一个半导体器件中执行多个程序的情况。这样的半导体器件需要存储器保护机制来防止多个程序使用的存储器空间的干扰(例如,防止多个程序使用存储器空间中的同一区域)。因此,日本未审查专利申请公开No.2044-48849公开了存储器保护机制的示例。
在日本未审查专利申请公开No.2014-48849中公开的半导体器件是一种安全控制***,在其中执行待控制器件的驱动控制的驱动控制单元和执行与驱动控制相关的安全控制的安全控制单元被设置在一个处理器中,并且其中:预先将预定的存储区域分配为用于驱动控制单元和安全控制单元中每个的数据存储区域;并且安全控制***包括存储器保护信息存储装置以及存储器保护装置,在存储器保护信息存储装置中分配给安全控制单元的存储区域被注册为驱动控制单元无法访问的存储区域,而存储器保护装置用于当驱动控制单元执行存储器访问、参考注册在存储器保护信息存储装置中的注册信息和访问目的地、并且当访问目的地在由驱动控制单元无法访问的存储区域中时,防止驱动控制单元访问被分配给安全控制单元的存储区域。
发明内容
本发明人发现了以下问题。除了执行各种处理的主算术单元之外,还包括执行由主算术单元执行的程序的一部分的特定处理的子算术单元,从而半导体器件提高了其处理速度。此外,包括主算术单元和子算术单元的半导体器件包括由主算术单元和子算术单元共享的共享存储器。在这种半导体器件中,子算术单元直接访问共享存储器以便提高处理速度。应当注意,日本未审查专利申请公开No.2144-48849中公开的技术可以执行对在主算术单元中发生的用于共享存储器的存储器保护。然而,在子算术单元直接访问也被主算术单元使用的共享存储器的情况下存在如下问题,日本未审查专利申请公开No.2144-48849中公开的技术无法执行用于防止子算术单元访问共享存储器的存储器保护。
从以下说明书和附图中的描述中,其他目的和新颖特征将更加明显。
根据一个实施例,半导体器件包括:子算术单元,被配置为执行主算术单元执行的程序的一部分的处理;以及由主算术单元和子算术单元共享的共享存储器,其中所述子算术单元包括:存储器保护单元,被配置为基于从所述主算术单元提供的访问允许范围地址值来允许或禁止对所述共享存储器的访问,对所述共享存储器的访问是在由子算术单元执行的处理中出现的访问。
根据一个实施例,半导体器件及其存储器访问控制方法可以针对子算术单元对共享存储器的访问执行存储器保护。
附图说明
从以下结合附图对某些实施例的描述中,上述和其它方面、优点和特征将更加明显,其中:
图1是根据第一实施例的半导体器件的框图;
图2是根据第一实施例的硬件IP的框图;
图3是用于说明在根据第一实施例的半导体器件中由尚未验证可靠性的程序请求存储器的使用时的存储器配置和访问允许范围之间的关系的图;
图4是用于说明在根据第一实施例的半导体器件中已经验证可靠性的程序请求存储器的使用时的存储器配置和访问允许范围之间的关系的图;
图5是用于说明根据第一实施例的硬件IP的启动序列和寄存器设定序列的序列图;
图6是用于说明根据第一实施例的硬件IP的存储器访问序列的第一示例的序列图;
图7是用于说明根据第一实施例的硬件IP的存储器访问序列的第二示例的序列图;
图8是用于说明在根据第一实施例的硬件IP中发生存储器访问违规时执行的半导体器件的处理序列的序列图;
图9是根据第二实施例的硬件IP的框图;
图10是用于说明第二实施例的硬件IP的启动序列的序列图;
图11是用于说明第二实施例的硬件IP的结束序列的序列图;
图12是用于说明第二实施例的硬件IP中设定的访问允许范围的存储器配置的图;
图13是根据第三实施例的半导体器件的框图;
图14是用于说明第三实施例的半导体器件中的存储器配置与访问允许范围的关系的图;
图15是根据第四实施例的硬件IP的框图;和
图16是用于说明第四实施例的半导体器件中的存储器配置与访问允许范围的关系的图。
具体实施方式
为了清楚说明,可以适当地省略并简化以下说明和附图。此外,在整个附图中相同的附图标记被分配给相同的部件,并且根据需要省略重复的说明。
第一实施例
图1是根据第一实施例的半导体器件1的框图。如图1所示,根据第一实施例的半导体器件1包括主算术单元(例如,CPU 10)、共享存储器21和子算术单元(例如,硬件IP 22和23)。在本说明书中,子算术单元(硬件IP)是指包含用于在其内部存储处理指令的寄存器并且基于在寄存器中设置的处理指令进行处理的算术装置。处理指令可以是被预先定义以便指示特定处理的数值。请注意,寄存器中的值由例如主算术单元设置。另外,尽管图1示出了包括具有与子算术单元相同的配置的多个硬件IP的半导体器件的示例,但是硬件IP可以具有彼此不同的配置。
CPU 10执行程序。在半导体器件1中,在CPU 10执行程序时,发生对硬件IP 22、23和共享存储器21的访问。CPU 10包括执行程序的算术单元11。尽管在图1中省略,但是半导体器件1可以包括存储器控制器、内部存储器、输入/输出接口电路等。此外,这些组件可以包括在CPU 10中。在图1所示示例中,应用APPa和APPb以及操作***(以下称为“OS”)正在算术单元11中执行。
OS和应用APPa和APPb包括:具有高可靠性的程序,其在功能安全或安全性方面在较高水平上进行了验证并且已被充分保护(以下称为“可靠性验证程序”);以及在功能安全或安全性方面仅在较低水平上进行验证并且没有得到充分保护的程序(以下简称“可靠性未验证程序”)。关于程序是否是可靠性验证程序或可靠性未验证程序的信息被预先包括在程序中。用于该确定的标准例如是根据国际标准组织规定的准则来确定的。注意,尽管假设半导体器件仅包括一个OS来解释实施例,但实际实施例不限于此。也就是说,OS的数量可以多于一个。
可靠性验证程序的示例包括汽车中的自驾驶应用。同时,可靠性未验证程序的示例包括运动图片回放应用。当在同一CPU中执行可靠性验证程序和可靠性未验证程序时,必须防止可靠性验证程序和可靠性未验证程序的数据彼此干扰(即,防止可靠性验证程序和可靠性未验证的程序使用彼此的数据)。注意,虽然上面示出了汽车的示例,但实际应用不限于此。
共享存储器21例如是诸如DRAM(动态随机存取存储器)的易失性存储器或诸如闪存的非易失性存储器。共享存储器21由CPU 10和硬件IP 22和23访问。注意,共享存储器21可以是由半导体器件1使用的任何存储器,并且可以设置在与设置CPU 10和硬件IP 22和23的芯片不同的半导体芯片中。
每个硬件IP 22和23是执行由CPU 10执行的程序的一部分的处理的硬件组件。例如,硬件IP 22和23中的每一个仅(或主要地)执行特定处理,例如用于对编码图像进行解码的处理、作为图像识别处理中的一个处理执行的图像转换处理、或特征值提取处理。在图1中,硬件IP 22和23具有彼此相同的配置。因此,通过使用硬件IP 22的配置作为示例来说明其配置。
因此,图2示出了根据第一实施例的硬件IP 22的框图。如图2所示,硬件IP 22包括信息处理单元31、一组寄存器(以下称为“寄存器组”)32、存储器访问命令生成单元33和存储器保护单元34。
信息处理单元31根据从CPU 10提供的操作指令执行特定处理。寄存器组32包括多个寄存器。在图2所示的例子中,从CPU 10提供的处理指令存储在多个寄存器之一中。该处理指令用于指示硬件IP 22关于它应该执行何种操作。此外,从CPU 10提供的访问允许范围地址值被存储在多个寄存器中的两个寄存器中。此外,访问允许范围地址值包括指示访问允许范围的起始地址的访问允许起始地址和指示访问允许范围的最后地址的访问允许最后地址。此外,待由信息处理单元31处理的数据、用于数据处理的操作参数等也存储在寄存器组32中包括的寄存器中。注意,每个硬件IP 22和23可以通过使用存储访问允许起始地址和访问允许区域大小的寄存器来代替使用存储访问允许起始地址和访问允许最后地址的寄存器,以指定访问允许范围。
当在信息处理单元31中发生访问请求时,存储器访问命令生成单元33生成与访问请求对应的共享存储器21中的地址,并且输出具有附加到其的生成的访问地址的访问请求。例如,当存储在共享存储器21中的图像中的特定坐标处的像素值的访问请求发生在信息处理单元31中时,存储器访问命令生成单元33生成共享存储器21中的地址,在所述地址存储了由信息处理单元31通过使用坐标指定的像素。
存储器保护单元34在从信息处理单元31向共享存储器21发出的访问请求中,向共享存储器21提供针对由访问允许范围地址值指定的访问允许范围内的地址的访问请求,并且阻止(即,拦截)针对由访问允许范围地址值指定的访问允许范围之外的地址的访问请求。注意,在硬件IP 22中,从存储器访问命令生成单元33输出存储器保护单元34接收的访问请求。
此外,当存储器保护单元34检测到针对由访问允许范围地址值指定的访问允许范围之外的地址的访问请求时,它向CPU 10输出错误通知ERR1。然后,响应于错误通知ERR1,CPU 10执行用于停止硬件IP 22的操作的处理和用于停止使用硬件IP 22的程序的处理中的至少一个作为中断处理。
如上所述,在根据第一实施例的半导体器件1中,硬件IP 22基于CPU 10设置的访问请求访问允许范围地址值来确定是否应该向共享存储器21实际提供从信息处理单元31向共享存储器21发出的访问请求。因此,图3示出了用于说明根据第一实施例的半导体器件1中的存储器布置和访问允许范围之间的关系的图。
在图3和图4中的每个中,以存储器布置的形式示出了表示在半导体器件1中使用存储器和寄存器的权限的存储器空间。在根据第一实施例的半导体器件1中,CPU 10可以访问包括作为需要最高可靠性的存储器空间的***区域的整个存储器空间,使得CPU 10可以执行可靠性验证程序(例如,功能安全应用)和可靠性未验证程序(例如,功能不安全应用)。同时,对于硬件IP,当处理指令是通过功能不安全应用的指令时,硬件IP仅被允许在对功能不安全应用允许的访问范围内访问从存储在寄存器组32中的访问允许起始地址到也存储在寄存器组32中的访问允许最后地址的存储器空间,如图3所示。
类似地,当处理指令是通过功能安全应用的指令时,硬件IP仅被允许在功能安全应用允许的访问范围内访问从存储在寄存器组32中的访问允许起始地址到也存储在寄存器组32中的访问允许最后地址的存储器空间,如图4所示。
接下来,说明根据第一实施例的半导体器件1的操作。在下面的说明中,将半导体器件1的操作分为硬件IP启动操作、硬件IP寄存器设置操作、硬件IP存储器访问操作以及发生存储器访问违规的操作,它们将被逐一解释。
首先,图5示出了用于说明根据第一实施例的硬件IP的启动序列和寄存器设置序列的序列图。在图5所示的例子的半导体器件1中,在应用启动后,会出现对使用硬件IP的请求。然后,由于发生对硬件IP的使用请求,应用输出(即,应用使CPU输出)用于硬件IP 22的寄存器设置指令。
应用将包括作为硬件IP的操作参数的访问允许范围地址值的寄存器设置指令输出到功能安全应用(图5中的OS)。当从应用接收到寄存器设置指令时,OS将寄存器设置指令输出到硬件IP。
然后,硬件IP将包括在寄存器设置指令中的操作参数存储到寄存器组32中。此外,硬件IP基于包括在存储于寄存器组32中的操作参数中的访问允许范围地址值在存储器保护单元34中设置访问允许范围。
然后,应用生成关于用于硬件IP的特定处理的指令,并将该特定处理作为处理指令提供给硬件IP。硬件IP响应于该处理指令开始处理。
如上所述,在启动硬件IP之前,CPU 10执行用于将访问允许范围地址值存储到硬件IP的寄存器组32中的处理。
接下来,图6示出了用于说明根据第一实施例的硬件IP的存储器访问序列的第一示例的序列图。如图6所示,在根据第一实施例的硬件IP中,当通过信息处理单元31中的处理发生存储器访问时,信息处理单元31向存储器访问命令生成单元33输出存储器访问请求,并且存储器访问命令生成单元33生成访问地址。然后,硬件IP通过使用在存储器访问命令生成单元33中生成的访问地址访问共享存储器21。注意,当在存储器访问命令生成单元33中生成的访问地址在访问允许范围内时,硬件IP将访问请求输出到共享存储器21。另一方面,当在存储器访问命令生成单元33中生成的访问地址在访问允许范围之外时,硬件IP阻止访问请求,并将错误通知ERR1发送到CPU 10。
此外,图7是用于说明第一实施例的硬件IP的存储器访问序列的第二示例的序列图。如图7所示,在硬件IP的存储器访问序列的第二示例中,当存储器访问命令生成单元33中生成的访问地址在访问允许范围之外时执行的存储器保护单元34的操作与第一示例中的操作不同。在第二示例中,当存储器访问命令生成单元33中生成的访问地址在访问允许范围之外时,存储器保护单元34执行将从存储器访问命令生成单元33提供的访问地址转换(round)成在访问允许范围内的地址中的处理,然后将转换后的访问请求输出到共享存储器21。此外,即使在第二示例中,当发生存储器访问违规时,存储器保护单元34向CPU 10发送错误通知ERR1。
如硬件IP的存储器访问序列的第一示例和第二示例所示,存在各种可想到的根据说明书的阻止访问请求的方法,作为当发生存储器访问违规时由存储器保护单元34执行的处理。
接下来,图8是用于说明在根据第一实施例的硬件IP中发生存储器访问违规时执行的半导体器件的处理序列的序列图。如图8所示,在根据第一实施例的半导体器件1中,当从硬件IP向CPU 10发送错误通知ERR1时,通过执行用于错误通知ERR1的中断处理P1到P3中的至少一个来停止造成错误通知ERR1的处理。
在中断处理P1中,OS向硬件IP发出(即,OS使CPU发出)重置指令(或初始化指令)。硬件IP基于该重置指令执行用于将信息处理单元31、寄存器组32、存储器访问命令生成单元33和存储器保护单元34恢复到初始状态的初始化处理。
在中断处理P2中,OS向正在使用硬件IP的应用发出处理停止指令。在接收到处理停止指令时,应用立刻执行结束处理,而不管其处理状态如何,从而停止处理。
在中断处理P3中,OS立刻结束与正在使用硬件IP的应用相关的任务,而不管其处理状态如何。在图8所示的例子中,当中断处理P1至P3结束时,OS结束响应于错误通知ERR1执行的中断处理。
如上所述,在根据第一实施例的半导体器件1中,设置在硬件IP中的存储器保护单元34仅输出从CPU 10提供给共享存储器21的针对存储器访问范围内的地址的访问请求。因此,根据第一实施例的半导体器件1,CPU 10可以限制硬件IP的访问范围。此外,在根据第一实施例的半导体器件1中,通过限制硬件IP的访问范围,可以防止由于在CPU 10上运行的应用的故障或由于黑客等引起的故障,硬件IP损坏(即,破坏)存储在由其他应用使用的区域中的数据。
此外,根据第一实施例的半导体器件1可以通过使硬件IP处理由CPU 10执行的程序的一部分的处理来实现高处理性能。此外,通过提供具有如上所述的存储器保护机制的硬件IP,根据第一实施例的半导体器件1可以实现高处理性能和高可靠性。
第二实施例
在第二实施例中,说明作为硬件IP 22的另一个实施例的硬件IP 22a。注意,在以下对第二实施例的说明中,与第一实施例相同的附图标记被分配给与第一实施例相同的部件/结构,并且省略其说明。
图9示出了根据第二实施例的硬件IP 22a的框图。如图9所示,根据第二实施例的硬件IP 22a通过在根据第一实施例的硬件IP 22中添加内部存储器41和重置控制电路42来获得。
内部存储器41是其存储器空间未定义在CPU 10所使用的存储器空间中的存储器,因此是仅硬件IP 22a可以使用的存储器。内部存储器41例如是SRAM(静态随机存取存储器)。
重置控制电路42执行用于至少初始化寄存器组32、信息处理单元31、存储器保护单元34、内部存储器41和共享存储器21的初始化处理。此外,重置控制电路42至少在硬件IP22a的启动中或在其操作结束时执行初始化处理。在图9所示的示例中,当从CPU 10发出的处理指令存储在处理指令存储寄存器中时,重置控制电路42识别出启动指令WKU被发出。因此,重置控制电路42基于该启动指令WKU执行启动时的初始化处理。此外,重置控制电路42基于从信息处理单元31输出的结束通知信号END或从CPU 10发出的停止指令STP,在其操作结束时执行初始化处理。此外,在图9所示示例中,重置控制电路42通过使用初始化信号RST1对内部存储器41进行初始化,通过使用初始化信号RST2对信息处理单元31进行初始化,通过使用初始化信号RST3对存储器访问命令生成单元33进行初始化,通过使用初始化信号RST4对存储器保护单元34进行初始化,并且通过使用初始化信号RST5对寄存器组32进行初始化。此外,当初始化共享存储器21时,重置控制电路42参考存储在寄存器组32中的访问允许范围地址值。
接下来,对根据第二实施例的硬件IP 22a的操作进行说明。因此,图10示出了用于说明根据第二实施例的硬件IP的启动序列的序列图。
如图10所示,CPU 10向硬件IP 22a提供寄存器设置指令。在接收到寄存器设置指令时,硬件IP 22a将寄存器设置值存储到寄存器组32中。此外,硬件IP 22a基于包括在存储于寄存器组32中的寄存器设置值中的访问允许范围地址值来在存储器保护单元34中设置(或定义)访问允许范围。之后,CPU 10向硬件IP提供处理指令。
响应于来自CPU 10的处理指令的通知,硬件IP 22a首先执行内部重置处理。在该内部重置处理中,硬件IP 22a至少重置(即,初始化)内部存储器41和信息处理单元31。此后,硬件IP 22a的重置控制电路42执行外部重置处理,用于针对由存储在寄存器组32中的访问允许范围地址值指定的共享存储器21中的访问允许范围执行初始化处理。在完成该外部重置处理之后,硬件IP 22a根据处理指令开始处理。
接下来,图11是用于说明根据第二实施例的硬件IP的结束序列的序列图。在图11中,示出了在硬件IP 22a中完成预定处理之后执行的结束序列。然而,基于从CPU 10发出的停止指令STP执行的结束序列与上述结束序列基本相同,除了基于停止指令STP执行操作结束处理和后续处理之外。
如图11所示,当信息处理单元31中的处理结束时,硬件IP 22a开始操作结束处理。在该操作结束处理中,首先,硬件IP 22a的重置控制电路42执行外部重置处理,用于针对存储在寄存器中的访问允许范围地址值指定的共享存储器21中的访问允许范围执行初始化处理。之后,硬件IP 22a执行用于至少重置内部存储器41、信息处理单元31和寄存器组32的内部重置处理。然后,当该内部重置处理完成时,硬件IP 22a向CPU 10输出处理完成通知,并将其状态改变为硬件IP 22a等待下一个操作指令的等待状态(或待机状态)。
在上述说明中,说明了在结束序列的重置处理中初始化寄存器组32和对应于共享存储器21中的访问允许范围的整个区域的示例。然而,在执行使用硬件IP 22a的处理的情况下,需要保持其处理结果(即,保留未删除),使得应用可以在硬件IP 22a的操作结束之后参考硬件IP 22a的处理结果。在这种情况下,硬件IP 22a需要存储(或保存)应该保留在没有被重置控制电路42执行的初始化处理初始化的区域中的处理结果。因此,参照图12说明由重置控制电路42进行的外部重置处理的另一示例12。
图12是用于说明根据第二实施例的硬件IP中设置(或定义)的访问允许范围的存储器布置的图。在图12所示的例子中,由访问允许起始地址和访问允许最后地址指定的访问允许范围被划分为在硬件IP 22的结束序列期间未重置的区域和在结束序列期间重置的区域。例如,硬件IP 22a存储在应该保持在结束序列期间未重置的区域中的信息。在图12所示的示例,操作完成地址存储区域、处理结果存储区域和访问日志存储区域被定义(即分配)在结束序列期间未被重置的区域中。此外,在结束序列的外部重置处理中,重置控制电路42仅初始化在结束序列期间应该被重置的区域。在结束序列中的外部重置处理中未被重置的区域例如被指定为存储在寄存器组32中的寄存器设置值之一。对于寄存器组32,通过定义(即,将寄存器组32划分为)在结束序列期间未重置的区域以及在结束序列期间重置的区域,也可以防止应被保持的处理结果被由重置控制电路42执行的初始化处理初始化。此外,应被保持的寄存器组32中的处理结果可以被存储在未被重置的共享存储器21中的访问允许范围内的区域中。
在某些情况下,多个应用使用硬件IP。在这种情况下,存在如下问题:例如,当在前一处理中使用的寄存器设置值或处理结果保留在硬件IP中时,由于剩余信息的存在或者由于可以通过使用剩余信息作为线索在应用之间执行黑客攻击,使用硬件IP的应用可能会发生故障。
然而,在根据第二实施例的硬件IP 22a中,当硬件IP 22a启动并且其操作结束时,使用的信息被初始化(即删除)。以这种方式,包括根据第二实施例的硬件IP 22a的半导体器件可以防止由于应用之间的数据干扰而将以其它方式导致的问题,并降低了黑客攻击的可能性。
特别地,在根据第二实施例的硬件IP 22a中设置的内部存储器41是没有定义在CPU 10识别的存储器空间中的存储器空间。由于该内部存储器41未被CPU 10识别,在正常情况下不可能重置内部存储器41。然而,可以在根据第二实施例的硬件IP 22a中初始化上述内部存储器41。因此,可以防止将以其它方式由内部存储器41中剩余的信息引起的问题。
第三实施例
在第三实施例中,说明作为根据第一实施例的半导体器件1的另一实施例的半导体器件2。另外,在以下的第三实施例的说明中,将与第一实施例相同的附图标记赋予与第一实施例相同的部件/结构,并且省略它们的说明。
图13示出了根据第三实施例的半导体器件2的框图。如图13所示,根据第三实施例的半导体器件2通过在根据第一实施例的半导体器件1中添加存储器管理单元51而获得。存储器管理单元51控制(即,改变)由CPU 10执行的每个程序的访问范围。
图14是用于说明根据第三实施例的半导体器件2的存储器装置与访问允许范围之间的关系的示例的图。如图14所示,在根据第三实施例的半导体器件2中,存储器管理单元51允许在CPU 10中执行的程序中的功能安全应用访问整个存储空间。同时,存储器管理单元51可以禁止在CPU 10中执行的程序中的功能不安全应用访问分配给功能安全应用的存储器空间中的区域。
如上所述,在根据第三实施例的半导体器件2中,存储器管理单元51可以设置(即,定义)每个应用的访问允许范围。与根据第一实施例的半导体器件1相比,根据第三实施例的半导体器件2可以通过防止应用之间的干扰而提高其可靠性。
第四实施例
在第四实施例中,说明作为第一实施例的硬件IP 22的另一实施例的硬件IP 22b。注意,以下在假定用硬件IP 22b来代替根据第三实施例的半导体器件2的硬件IP 22来获得半导体器件的情况下说明根据第四实施例的半导体器件。然而,即使半导体器件不包括存储器管理单元51时,也可以使用硬件IP 22b。
图15示出了根据第四实施例的硬件IP 22b的框图。如图15所示,通过在根据第一实施例的硬件IP 22中添加操作参数读取单元61来获得硬件IP 22b。操作参数读取单元61读取存储在共享存储器21的访问允许范围内设置(即,定义)的参数设置区域中的操作参数。此外,根据第四实施例的存储器访问命令生成单元33基于从操作参数读取单元61提供的操作参数生成用于共享存储器的访问地址。
在根据第四实施例的半导体器件中,允许硬件IP 22b访问由CPU 10的应用指示的每个单元处理的不同的存储器范围,并使用允许的存储器范围。此外,硬件IP 22b在执行CPU 10的应用指示的处理时使用的工作存储器由存储在共享存储器21中的操作参数指定。
因此,图16是用于说明根据第四实施例的半导体器件中的存储器布置与访问允许范围的关系的图。在图16所示的例子中,硬件IP 22b用于回放运动图片。在该运动图片回放处理中,需要逐帧地解码图像,并且硬件IP 22b执行该解码处理。此外,在图16所示的例子中,硬件IP 22b由应用APPa使用。此外,在图16所示的例子中,硬件IP 22b通过在由存储器管理单元51设置的应用APPa的访问允许范围内使用用于帧0处理的访问允许范围来执行解码处理。
如图16所示,硬件IP 22b使用的访问允许范围是设置在硬件IP 22b的寄存器组32中的访问允许范围。也就是说,存储在硬件IP 22b的寄存器组32中的访问允许范围地址值具有存储器管理区域中的在存储器管理单元51中使用硬件IP 22b的程序允许的地址值。
此外,在根据第四实施例的半导体器件中,工作存储器0的起始地址和工作存储器1的起始地址存储在硬件IP 22b的访问允许范围内。由应用APPa针对工作存储器的这些起始地址来设置访问允许范围内的地址。此外,通过使用操作参数读取单元61,硬件IP 22b读取硬件IP 22b的每个单元处理的工作存储器的起始地址,并使用访问允许范围内的地址作为工作存储器的地址。
如上所述,在根据第四实施例的半导体器件中,可以从应用APPa任意设置由硬件IP 22使用的共享存储器21中的工作存储器。然而,由于工作存储器的起始地址被设置在共享存储器21中,操作参数读取单元61可能由于共享存储器21中的故障或应用APPa的故障而读取错误地址。此外,当该错误地址在由MMU设置的访问允许范围内时,存在针对发生在不同帧中的访问允许的存储器范围可能被损坏(即被破坏)的风险。即使在这种情况下,在根据第四实施例的半导体器件中,由于存储器保护单元34,在为每个帧设置的访问允许范围之外执行访问,从而防止在不同帧中使用的存储器范围被损坏。以这种方式,根据第四实施例的半导体器件可以防止硬件IP 22b由于在CPU 10上运行的应用的故障、黑客攻击等而破坏存储在用于不同帧的存储器区域中的数据,同时在由硬件IP 22b使用的共享存储器21中的工作存储器的布置方面提供高度的灵活性。
此外,在根据第四实施例的半导体器件中,在由存储器管理单元51设置并且针对在使用硬件IP 22b的程序中发生的访问所允许的存储器管理区域内,进一步设置针对硬件IP 22b的访问允许范围。以这种方式,可以防止使用硬件IP 22b的程序或使用硬件IP 22b的程序使用的另一个硬件IP破坏共享存储器21中的信息。
虽然已经根据几个实施例描述了本发明,但是本领域技术人员将认识到,在所附权利要求的精神和范围内,本发明可以通过各种修改来实施,并且本发明不限于上述示例。
此外,权利要求书的范围不受上述实施例的限制。
此外,应注意的是,申请人的意图在于涵盖所有权利要求要素的等同内容,即使在后续程序中修改。
本领域普通技术人员可以根据需要来组合第一实施例和第二实施例。
例如,虽然上述说明是通过使用功能安全应用和功能不安全应用给出的,但说明中的功能安全应用和功能不安全应用可以分别由主机OS和客户机OS替代。

Claims (15)

1.一种半导体器件,包括:
主算术单元,被配置为执行程序;
子算术单元,被配置为执行由所述主算术单元执行的所述程序的一部分的处理;和
共享存储器,被配置为待由所述主算术单元和所述子算术单元访问,其中
所述子算术单元包括:
寄存器,被配置为存储访问允许范围地址值;
信息处理单元,被配置为根据从所述主算术单元提供的操作指令执行预定处理;和
存储器保护单元,被配置为在从所述信息处理单元向所述共享存储器发出的访问请求中,向所述共享存储器提供针对在所述访问允许范围地址值指定的访问允许范围内的地址的访问请求,并且阻止针对在所述访问允许范围地址值指定的访问允许范围之外的地址的访问请求;
其中所述访问允许范围地址值是从所述主算术单元提供的;并且
作为所述程序,所述主算术单元执行具有高可靠性的可靠性验证程序和具有比所述可靠性验证程序的可靠性低的可靠性的可靠性未验证程序,并且
通过所述可靠性验证程序来执行用于将所述访问允许范围地址值存储到所述子算术单元的所述寄存器中的处理。
2. 根据权利要求1所述的半导体器件,其中所述主算术单元在启动所述子算术单元之前执行用于将所述访问允许范围地址值存储到所述子算术单元的所述寄存器中的处理。
3. 根据权利要求1所述的半导体器件,其中
当所述存储器保护单元检测到针对所述访问允许范围地址值指定的所述访问允许范围之外的地址的访问请求时,所述存储器保护单元向所述主算术单元发送错误通知,并且
响应于所述错误通知,所述主算术单元执行以下中的至少一项作为中断处理:用于停止所述子算术单元的操作的处理,和用于停止使用所述子算术单元的程序的处理。
4.根据权利要求1所述的半导体器件,其中
所述子算术单元包括:
内部存储器,其存储器空间未被定义在由所述主算术单元使用的存储器空间中,从而仅所述子算术单元可以使用所述内部存储器;
重置控制电路,被配置为执行用于初始化所述寄存器、所述信息处理单元、所述存储器保护单元、所述内部存储器和所述共享存储器的初始化处理,以及
所述重置控制电路在所述子算术单元启动时和所述子算术单元的操作结束时执行所述初始化处理。
5.根据权利要求4所述的半导体器件,其中,所述重置控制电路不针对由所述主算术单元指定的所述访问允许范围内的特定访问允许范围执行所述初始化处理。
6.根据权利要求1所述的半导体器件,还包括:存储器管理单元,被配置为控制由所述主算术单元执行的每个程序的访问范围。
7.根据权利要求6所述的半导体器件,其中存储在所述子算术单元的所述寄存器中的所述访问允许范围地址值具有在所述存储器管理单元中针对使用所述子算术单元的程序所允许的存储器管理区域内的地址值。
8. 根据权利要求1所述的半导体器件,其中所述子算术单元包括:
参数读取单元,被配置为读取存储在所述共享存储器的所述访问允许范围内设置的参数设置区域中的操作参数;和
访问地址生成单元,被配置为基于从所述参数读取单元提供的所述操作参数来生成针对所述共享存储器的访问地址。
9. 根据权利要求1所述的半导体器件,其中所述共享存储器设置在与设置所述主算术单元和所述子算术单元的芯片不同的半导体芯片上。
10.一种在半导体器件中执行的存储器访问控制方法,其中
所述半导体器件包括:
主算术单元,被配置为执行程序;
子算术单元,被配置为执行由所述主算术单元执行的所述程序的一部分的处理,所述子算术单元包括被配置为存储从所述主算术单元提供的访问允许范围地址值的寄存器;和
共享存储器,被配置为待由所述主算术单元和所述子算术单元访问,以及
所述子算术单元:
根据从所述主算术单元提供的操作指令执行预定处理;和
在根据所述预定处理向所述共享存储器发出的访问请求中,对所述共享存储器提供针对所述访问允许范围地址值指定的访问允许范围内的地址的访问请求,并且阻止针对所述访问允许范围地址值指定的所述访问允许范围之外的地址的访问请求;
其中所述访问允许范围地址值是从所述主算术单元提供的;并且
作为所述程序,所述主算术单元执行具有高可靠性的可靠性验证程序和具有比所述可靠性验证程序的可靠性低的可靠性的可靠性未验证程序,并且通过所述可靠性验证程序来执行用于将所述访问允许范围地址值存储到所述子算术单元的所述寄存器中的处理。
11. 根据权利要求10所述的用于半导体器件的存储器访问控制方法,其中所述主算术单元在启动所述子算术单元之前执行用于将所述访问允许范围地址值存储到所述子算术单元的所述寄存器中的处理。
12. 根据权利要求10所述的用于半导体器件的存储器访问控制方法,其中
当所述子算术单元检测到针对所述访问允许范围地址值指定的所述访问允许范围之外的地址的访问请求时,存储器保护单元向所述主算术单元发送错误通知,并且
响应于所述错误通知,所述主算术单元执行以下中的至少一项作为中断处理:用于停止所述子算术单元的操作的处理,和用于停止使用所述子算术单元的程序的处理。
13. 根据权利要求10所述的用于半导体器件的存储器访问控制方法,其中
所述子算术单元包括:内部存储器,其存储器空间未被定义在所述主算术单元使用的存储器空间中,从而仅所述子算术单元可以使用所述内部存储器,以及
在所述子算术单元启动时和在所述子算术单元的操作结束时,所述子算术单元针对所述内部存储器执行初始化处理。
14.根据权利要求13所述的用于半导体器件的存储器访问控制方法,其中,所述子算术单元不针对由所述主算术单元指定的所述共享存储器中的所述访问允许范围内的特定访问允许范围执行所述初始化处理。
15. 根据权利要求10所述的用于半导体器件的存储器访问控制方法,其中所述子算术单元:
读取存储在所述共享存储器的所述访问允许范围内设置的参数设置区域中的操作参数;和
基于读取的所述操作参数来生成针对所述共享存储器的访问地址。
CN201710343722.0A 2016-05-20 2017-05-16 半导体器件及其存储器访问控制方法 Active CN107402892B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2016-101282 2016-05-20
JP2016101282 2016-05-20
JP2017031933A JP6758222B2 (ja) 2016-05-20 2017-02-23 半導体装置及びそのメモリアクセス制御方法
JP2017-031933 2017-02-23

Publications (2)

Publication Number Publication Date
CN107402892A CN107402892A (zh) 2017-11-28
CN107402892B true CN107402892B (zh) 2023-06-27

Family

ID=58765650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710343722.0A Active CN107402892B (zh) 2016-05-20 2017-05-16 半导体器件及其存储器访问控制方法

Country Status (4)

Country Link
US (1) US10241706B2 (zh)
EP (1) EP3246821B1 (zh)
CN (1) CN107402892B (zh)
TW (1) TWI752956B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3069342B1 (fr) * 2017-07-20 2019-07-26 Continental Automotive France Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile
US11169953B2 (en) * 2018-02-28 2021-11-09 SK Hynix Inc. Data processing system accessing shared memory by using mailbox

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009138928A1 (en) * 2008-05-13 2009-11-19 Nxp B.V. Secure direct memory access
CN103198022A (zh) * 2011-12-20 2013-07-10 富士通株式会社 信息处理设备和存储器访问方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113523A (en) * 1985-05-06 1992-05-12 Ncube Corporation High performance computer system
JPH03186928A (ja) * 1989-12-16 1991-08-14 Mitsubishi Electric Corp データ処理装置
US6757809B1 (en) * 1989-12-16 2004-06-29 Renesas Technology Corp. Data processor having 2n bits width data bus for context switching functions
US6947931B1 (en) * 2000-04-06 2005-09-20 International Business Machines Corporation Longest prefix match (LPM) algorithm implementation for a network processor
US6675163B1 (en) * 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
US7051340B2 (en) * 2001-11-29 2006-05-23 Hewlett-Packard Development Company, L.P. System and method for isolating applications from each other
US7711990B1 (en) * 2005-12-13 2010-05-04 Nvidia Corporation Apparatus and method for debugging a graphics processing unit in response to a debug instruction
US20080244325A1 (en) * 2006-09-30 2008-10-02 Mikhail Tyulenev Automated software support system with backwards program execution and debugging
US20100017893A1 (en) * 2008-07-21 2010-01-21 Ati Technologies Ulc System for Securing Register Space and Method of Securing the Same
US8516260B2 (en) * 2008-10-27 2013-08-20 Advanced Micro Devices, Inc. Method, apparatus, and device for providing security among a calling function and a target function
WO2010097847A1 (ja) * 2009-02-24 2010-09-02 パナソニック株式会社 プロセッサ装置、マルチスレッドプロセッサ装置
US8243088B2 (en) * 2009-02-26 2012-08-14 Presagis Two dimensional memory access controller
US8621116B2 (en) 2011-08-26 2013-12-31 Lexmark International, Inc. Dynamic address change optimizations
US20110145934A1 (en) * 2009-10-13 2011-06-16 Miron Abramovici Autonomous distributed programmable logic for monitoring and securing electronic systems
CN103430185B (zh) * 2011-03-22 2016-10-26 瑞典爱立信有限公司 用于在虚拟化***操作与非虚拟化***操作之间切换的方法
KR101857791B1 (ko) * 2011-08-30 2018-05-16 삼성전자주식회사 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법
WO2013086384A1 (en) * 2011-12-08 2013-06-13 Oracle International Corporation Techniques for maintaining column vectors of relational data within volatile memory
EP2795503A4 (en) * 2011-12-21 2015-08-26 Intel Corp SECURE DIRECT MEMORY ACCESS
US9372812B2 (en) * 2011-12-22 2016-06-21 Intel Corporation Determining policy actions for the handling of data read/write extended page table violations
JP6007677B2 (ja) 2012-08-30 2016-10-12 富士電機株式会社 安全制御システム、及び安全制御システムのプロセッサ
WO2014033606A2 (en) * 2012-08-31 2014-03-06 Pradeep Varma Systems and methods of memory and access management
KR101471303B1 (ko) * 2013-10-02 2014-12-10 포항공과대학교 산학협력단 그래픽 처리 장치를 위한 전력 관리 장치 및 방법
US9092647B2 (en) 2013-03-07 2015-07-28 Freescale Semiconductor, Inc. Programmable direct memory access channels
US9524170B2 (en) * 2013-12-23 2016-12-20 Intel Corporation Instruction and logic for memory disambiguation in an out-of-order processor
WO2016018234A1 (en) * 2014-07-28 2016-02-04 Hewlett-Packard Development Company, L.P. Memory access control
US9749319B2 (en) * 2015-05-20 2017-08-29 Google Inc. Address validation using signatures
US9954681B2 (en) * 2015-06-10 2018-04-24 Nxp Usa, Inc. Systems and methods for data encryption
US10114958B2 (en) * 2015-06-16 2018-10-30 Microsoft Technology Licensing, Llc Protected regions
US9578054B1 (en) * 2015-08-31 2017-02-21 Newman H-R Computer Design, LLC Hacking-resistant computer design
US10547680B2 (en) * 2015-12-29 2020-01-28 Intel Corporation Systems, methods, and apparatuses for range protection
US10013199B2 (en) * 2016-11-15 2018-07-03 Red Hat Israel, Ltd. Translation bypass by host IOMMU for systems with virtual IOMMU
GB2557254B (en) * 2016-12-02 2020-02-12 Advanced Risc Mach Ltd Filtering coherency protocol transactions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009138928A1 (en) * 2008-05-13 2009-11-19 Nxp B.V. Secure direct memory access
CN103198022A (zh) * 2011-12-20 2013-07-10 富士通株式会社 信息处理设备和存储器访问方法

Also Published As

Publication number Publication date
TW201804331A (zh) 2018-02-01
CN107402892A (zh) 2017-11-28
EP3246821B1 (en) 2020-09-09
US20170337008A1 (en) 2017-11-23
TWI752956B (zh) 2022-01-21
EP3246821A1 (en) 2017-11-22
US10241706B2 (en) 2019-03-26

Similar Documents

Publication Publication Date Title
CN112417470B (zh) 实现gpu数据安全访问的方法、装置、电子设备及存储介质
KR101890125B1 (ko) 메모리 힙 영역 공격을 방어하기 위한 메모리 정렬 랜덤화 방법
US10552345B2 (en) Virtual machine memory lock-down
US9996448B2 (en) Breakpoint insertion into kernel pages
US9122894B2 (en) Method and apparatus for encryption
US9262631B2 (en) Embedded device and control method thereof
WO2016101519A1 (zh) 一种实现操作***重启的方法和装置
CN112749397A (zh) 一种***和方法
CN112818327A (zh) 基于TrustZone的用户级代码和数据安全可信保护方法及装置
US10089247B2 (en) System and method for coupling a host device to secure and non-secure devices
CN107402892B (zh) 半导体器件及其存储器访问控制方法
CN112541166A (zh) 一种方法、***和计算机可读存储介质
US20190370439A1 (en) Secure system on chip for protecting software program from tampering, rehosting and piracy and method for operating the same
CN117234729B (zh) 动态内存保护方法、装置、计算机设备及存储介质
JP6758222B2 (ja) 半導体装置及びそのメモリアクセス制御方法
KR102028704B1 (ko) 전자기기에서 코드 삽입 공격으로부터 보호를 위한 메모리 운용 방법
US10754967B1 (en) Secure interrupt handling between security zones
CN114065257A (zh) 地址空间的保护方法、保护装置、设备和存储介质
US10503666B2 (en) Method for operating a microcontroller
JP2005209178A (ja) メモリ保護装置、メモリ保護方法及びメモリ保護プログラム
US20240054250A1 (en) Method and system for dynamically updating stack canary
JP2018514860A (ja) メモリオーバーラン攻撃を防止するための、細粒度のメモリ保護
CN112580023A (zh) 影子栈管理方法及装置、介质、设备
CN114266038A (zh) 基于软件沙盒的安全隔离方法、存储介质、设备及装置
EP2801025B1 (en) Increasing virtual-memory efficiencies

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
GR01 Patent grant
GR01 Patent grant