CN106295413B - 半导体装置 - Google Patents

半导体装置 Download PDF

Info

Publication number
CN106295413B
CN106295413B CN201610471517.8A CN201610471517A CN106295413B CN 106295413 B CN106295413 B CN 106295413B CN 201610471517 A CN201610471517 A CN 201610471517A CN 106295413 B CN106295413 B CN 106295413B
Authority
CN
China
Prior art keywords
memory
secure
processor
region
semiconductor device
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
CN201610471517.8A
Other languages
English (en)
Other versions
CN106295413A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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
Priority claimed from KR1020150118708A external-priority patent/KR102432473B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN106295413A publication Critical patent/CN106295413A/zh
Application granted granted Critical
Publication of CN106295413B publication Critical patent/CN106295413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

提供半导体装置。一种半导体装置包括:处理器,使用存储在存储器中的数据来执行操作;存储器保护器,将存储器划分为第一窗口区域和第二窗口区域。第一窗口区域包括第一大小的第一片元页。第二窗口区域包括第二大小的第二片元页,其中,第二大小小于第一大小。存储器保护器被配置为:防止第一片元页和第二片元页被处理器访问。

Description

半导体装置
本申请要求于2015年6月29日提交到韩国知识产权局的第10-2015-0092246号韩国专利申请和于2015年8月24日提交到韩国知识产权局的第10-2015-0118708号韩国专利申请的优先权,所述每个韩国专利申请的公开通过引用全部合并于此。
技术领域
本发明构思涉及一种半导体装置。
背景技术
为了向移动应用提供安全执行环境,移动应用可被这样配置:在不使用额外的安全硬件芯片的情况下,一个CPU(中央处理器)被提供安全区域(或安全域)和的正常区域(或正常领域)。这里,可在正常领域中对一般的应用进行操作,并且可在安全领域中对要求安全性的应用进行安全地操作。
发明内容
本发明构思的至少一些方面提供一种可有效地获取用于安全数据的安全缓冲器的半导体装置。
然而,本发明构思的方面不限于在此阐述的方面。通过参考下面给出的本发明构思的详细描述,本发明构思的上述和其他方面对与本发明构思所属的领域中的普通技术人员而言将变得更加清楚。
根据本发明构思的至少一些示例性实施例,提供一种半导体装置,包括:处理器,被配置为使用存储在存储器中的数据来执行操作;存储器保护器,被配置为将存储器划分为第一窗口区域和第二窗口区域,第一窗口区域包括第一大小的第一片元页,第二窗口区域包括第二大小的第二片元页,第二大小小于第一大小,并且如果来自处理器的请求不是安全读取和安全写入中的至少一个,则防止第一片元页和第二片元页被处理器访问。
示例实施例的存储器保护器被配置为:基于第一页表防止第一片元页和第二片元页被处理器访问,第一页表包括存储器地址信息,存储器地址信息对应于第一窗口区域和第二窗口区域中的至少一个窗口区域。
示例实施例的处理器被配置为:通过安全地址访问安全区域并且通过非安全地址访问非安全区域,并且半导体装置还包括:内容防火墙控制器,被配置为防止处理器(i)将安全内容数据写入非安全区域中或(ii)读取存储在非安全区域中的系统数据。内容防火墙控制器还被配置为:从存储器管理控制器接收用于访问存储器的物理地址,存储器管理控制器连接到处理器。
根据本发明构思的另一示例实施例,提供一种半导体装置,包括:存储器,包括第一窗口区域、第二窗口区域和安全缓冲器区域,存储器被配置为保留用于安全内容数据的安全缓冲器区域;存储器控制器,被配置为:在第一窗口区域中搜索第一大小的第一片元页,将第一片元页分配给安全缓冲器区域,并且在第二窗口区域中搜索第二大小的第二片元页,第二大小小于第一大小,并且将第二片元页分配给安全缓冲器区域;存储器保护器,被配置为:向存储器提供关于第一窗口区域和第二窗口区域的信息,并且如果来自处理器的请求不是安全读取和安全写入中的至少一个,则防止第一片元页和第二片元页被访问。
根据示例性实施例的存储器保护器被配置为:基于第一页表向存储器控制器提供关于第一窗口区域和第二窗口区域的信息,其中,第一页表包括存储器地址信息,所述存储器地址信息对应于第一窗口区域和第二窗口区域中的至少一个窗口区域。第一页表还包括关于所述存储器地址信息的安全属性信息和与所述存储器地址信息对应的窗口识别标志信息。
根据本发明构思的另一示例实施例,提供一种半导体装置,包括:第一处理器;第二处理器,第一处理器和第二处理器被配置为基于存储在存储器中的数据来执行操作;内容防火墙控制器,被配置为确定从第一处理器的存储器管理控制器接收的第一物理地址是安全地址还是非安全地址;存储器保护器,被配置为从内容防火墙控制器和第二处理器的存储器管理控制器中的至少一个接收第二物理地址,将存储器划分为第一窗口区域和第二窗口区域,其中,第一窗口区域包括第一大小的第一片元页,第二窗口区域包括第二大小的第二片元页,第二大小小于第一大小,并且如果来自第一处理器和第二处理器的用于访问的请求不是安全读取和安全写入中的至少一个,则防止第一片元页和第二片元页被第一处理器和第二处理器访问。
根据一个示例实施例,半导体还包括第三处理器,其中,存储器保护器被配置为从被连接到第三处理器的外部存储器管理控制器接收第二物理地址,以访问存储器。存储器保护器被配置为:将存储器划分为第三窗口区域,第三窗口区域包括第三大小的第三片元页,并且如果用于访问的请求不是安全读取和安全写入中的至少一个,则防止第三片元页被第一处理器和第二处理器访问。
根据一个示例性实施例,半导体装置的存储器控制器包括存储器保护器和存储器控制器。存储器保护器被配置为将存储器划分为窗口区域并且生成与窗口区域相关联的信息。存储器控制器被配置为:接收生成的与窗口区域相关联的信息,并且基于从存储器保护器接收的关于窗口区域的信息将安全缓冲器区域分配给存储器。存储器控制器还被配置为:从处理器接收用于访问存储器的指令;搜所第一片元页,第一片元页在第一窗口区域中;将第一片元页分配给安全缓冲器区域;搜索第二片元页,第二片元页在第二窗口区域中,第二大小小于第一大小;并且将第二片元页分配给安全缓冲器区域。
附图说明
通过参照附图对非限制性的示例实施例进行详细地描述,本发明构思的以上及其他方面和特征将变得更清楚,在所述附图中,贯穿在不同的示图,相同的参考标记表示相同的部件。附图不必须按比例,而是将重点放在说明本发明构思的原理上。在附图中:
图1是示出根据本发明构思的示例实施例的半导体装置的示意图;
图2是示出根据本发明构思的示例实施例的半导体装置的操作的示意图;
图3是示出根据本发明构思的示例实施例的半导体装置的另一操作的示意图;
图4是示出根据本发明构思的示例实施例的半导体装置的另一操作的示意图;
图5是示出根据本发明构思的示例实施例的半导体装置的存储器结构的示意图;
图6和图7是均示出根据本发明构思的示例实施例的半导体装置的存储器分配处理的示意图;
图8和图9A是示出根据本发明构思的示例实施例的由存储器保护器使用的页表的示意图;
图9B是示出在图9A中示出的页表的另一示例实施例的示意图;
图9C是示出根据本发明构思的示例实施例的半导体装置的另一操作的示意图;
图9D是示出在图9C中示出的操作中使用的页表的示意图;
图10是示出根据本发明构思的另一示例实施例的半导体装置的存储器分配处理的示意图;
图11是示出根据本发明构思的另一示例实施例的由存储器保护器使用的页表的示意图;
图12是示出根据本发明构思的示例实施例的由内容防火墙控制器和存储器管理控制器使用的页表的示意图;
图13至图15示出根据本发明构思的一些示例实施例的可应用半导体装置的半导体系统的非限制性的示例实施例。
具体实施方式
以下,将参照附图详细描述示例实施例。然而,本发明构思可以以各种不同形式来实现,并且不应该被解释为仅限于示出的示例实施例。相反,提供这些示例实施例作为示例,使得本公开将是彻底的和完整的,并且将向本领域技术人员充分地传达本发明构思的构思。因此,针对本发明构思的一些示例实施例,没有描述已知的处理、元件和技术。除非另外指明,否则贯穿附图和书面描述,相同的参考标号表示相同的元件,因此将不再重复描述。在附图中,为了清楚,可夸大层和区域的尺寸和相对尺寸。
虽然发明构思允许可能受到各种修改和替代形式的影响,但是在附图中通过示例的方式示出其特定的非限制性的示例实施例,并且在此将进行详细地描述。然而,应当理解,不意图将发明构思限制为公开的具体形式,而是相反地,发明构思将覆盖所有落入本发明构思的精神和范围内的修改、等同物和替代。
将理解,虽然术语“第一”、“第二”、“第三”等在此可用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应该被这些术语限制。这些术语仅是用于将一个元件、组件、区域、层或部分与另一元件、组件、区域、层或部分进行区分。因此,在不脱离本发明构思的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可被称为第二元件、组件、区域、层或部分。
为了易于描述,这里可使用空间相对术语(诸如“在…之下”、“在…下面”、“下面的”、“在…下方”、“在…上面”、“上面的”等),来描述附图中示出的一个元件或特征与另一元件或特征(或者其他多个元件或特征)的关系。将理解,空间相对术语意图包含附图中描述的方向以及装置在使用或操作中的不同方向。例如,如果附图中的装置被翻转,则描述为“在”其它元件或特征“下面”或“之下”或“下方”的元件将随后被定位为“在”所述其它元件或特征“上面”。因此,示例术语“在…下面”和“在…下方”可包括“在……上面”和“在……下面”两个方位。可以另外定位(旋转90度或在其它方位)所述装置,并且对在此使用的空间相对描述符做出相应地解释。另外,还将理解的是,当层被称作“在”两个层“之间”时,该层可以仅是这两个层之间的唯一的层,或者也可以存在一个或更多个中间层。
在此使用的术语仅用于描述具体的示例实施例的目的,而不意图限制本发明构思。除非上下文另外清楚地指出,否则如在此所使用的,单数形式也意图包括复数形式。还将理解的,当在本说明书中使用术语“包括”和/或“包含”时,表明存在叙述的特征、整体、步骤、操作、元件和/或组件,但是不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。如在此使用的,术语“和/或”包括一个或多个相关所列项中的任意以及所有组合。另外,术语“示例性”意在指示例或图示。
将理解的是,当元件或层被称为“在”另一元件或层“上”,“连接到”、“结合到”或者“邻近于”另一元件或层时,该元件或层可直接地在所述另一元件或层上,直接地连接到、结合到或者邻近于另一元件或层,或者可存在中间元件或层。相反,当元件被称为“直接”在另一元件或层“上”,“直接连接到”、“直接结合到”或“紧邻于”另一元件或层时,不存在中间元件或中间层。
除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本发明构思所属领域的普通技术人员通常理解的含义相同的含义。还将理解的,除非在此明确定义,否则术语(诸如在通用字典中定义的术语)应该被解释为具有与相关领域和/或本说明书的上下文中它们的含义一致的含义,并且将不以理想化或过于形式化的含义进行解释。
以下,将参照附图对本发明构思的示例实施例进行描述。
图1是示出根据本发明构思的示例实施例的半导体装置的示意图。
参照图1,根据本发明构思的示例实施例的半导体装置可包括:第一处理器100、第二处理器102、第三处理器104、存储器管理控制器(MMC)200、内容防火墙控制器(CFC)300、存储器保护器(MP)400、存储器控制器(MC)410以及存储器420。这些组件可通过连接线500(例如,总线)接收并传输数据。
第一处理器100、第二处理器102、第三处理器104、存储器管理控制器200、内容防火墙控制器300、存储器保护器400和存储器控制器410使用硬件组件、执行软件组件的处理器或其组合来实现。在本发明构思的示例性实施例中描述的一个或多个算法的执行、上述的硬件组件或执行软件组件的处理器产生专用处理器。在本发明构思的示例性实施例中呈现的算法构成足够的结构,所述足够的结构可包括:包括(但不限于)在执行时产生专用处理器或计算机的数学公式、流程图、计算机代码和/或步骤。
一个或多个上述处理器是被配置为通过执行算术操作、逻辑操作和输入/输出操作来执行程序代码的计算机处理装置。一旦程序代码被加载到一个或多个处理器中,则可对一个或多个处理器进行编程来执行程序代码,因而将一个或多个处理器变换为专用处理器或计算机。可选地,或者除了上面讨论的处理器之外,硬件装置可包括一个或多个中央处理器(CPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、片上系统(SoC)、现场可编程门阵列(FPGA)等。在至少一些情况下,一般可将一个或多个CPU、SoC、数字信号处理器(DSP)、专用集成电路(ASIC)和现场可编程门阵列(FPGA)称为处理电路和/或微处理器。
第一处理器100、第二处理器102和第三处理器104可使用存储在存储器420中的数据来执行操作。第一处理器100、第二处理器102和第三处理器104可向存储器控制器410提供用于将数据写入到存储器420中的指令和用于读取存储在存储器420中的数据的指令。这里,数据可以是包括多媒体数据的内容数据,但本发明构思的范围不限于此。数据可以是包括操作系统代码的系统数据。
在本发明构思的一些示例性实施例中,第一处理器100、第二处理器102和第三处理器104可包括中央处理器(CPU)、图形处理器(GPU)和多媒体知识产权(MIP)等,但本发明构思的范围不限于此。
同时,稍后将参照图2和图3对存储器管理控制器200和内容防火墙控制器300进行描述。
存储器保护器400防止存储器的一部分被第一处理器100、第二处理器102和第三处理器104进行外部非安全访问。具体地说,存储器保护器400将存储器420的区域划分为多个窗口区域,并且防止多个窗口区域被第一处理器100、第二处理器102和第三处理器104非安全访问。
应注意,一个窗口区域可包括存储安全数据的安全存储区域和存储非安全数据的非安全存储区域二者。这里,可通过安全地址来访问安全存储区域,并且可通过非安全地址来访问非安全存储区域。可通过存储器保护器400将关于地址是安全地址还是非安全地址的信息,作为特定的数据结构(例如,页表)进行管理。包括在一个窗口区域中的非安全存储区域可以是将被分配到稍后将进行描述的安全缓冲器的候选区域。
存储器保护器400向存储器控制器410提供关于多个窗口区域的信息。
存储器控制器410可处理第一处理器100、第二处理器102和第三处理器104访问存储器420的请求,并且还可基于关于多个窗口区域的信息将安全缓冲器区域分配给存储器420,所述信息已经从存储器保护器400被提供。
安全缓冲器区域表示用于存储安全数据(例如安全内容数据(诸如,数字版权管理(DRM)数据))的的安全存储区域。换言之,由DRM保护的安全数据必须存储在避免被第一处理器100、第二处理器102和第三处理器104非安全访问的存储区域中。
例如,当存储器控制器410从第一处理器100、第二处理器102和第三处理器104接收1024MB的安全数据的写入请求时,存储器控制器410必须保证足够的存储器来成功地写入1024MB的安全数据。为了便于解释,假设由第一处理器100、第二处理器102和第三处理器104请求的安全数据是DRM视频数据。在这种情况下,当预期不确定第一处理器100、第二处理器102和第三处理器104是否请求的安全数据而将1024MB的安全存储区域预先保留在存储器420中时,安全存储区域不能被用于其他任何目的,因而浪费了存储器资源。
同时,应该为由第一处理器100、第二处理器102和第三处理器104请求的DRM视频数据保留的存储器的容量可能是很重要的。然而,即使当存储器420中的可用存储器具有足够的大小来存储DRM视频数据,具体地说,如果可用存储器被划分为大量的小型片元(例如,小于64KB)并且被分布在移动应用执行环境中时,用于DRM视频数据的足够量的存储器的收集也可能是困难的。
存储器控制器410通过基于关于多个窗口区域的信息将安全缓冲器区分配给存储器420来克服这样的问题,所述信息已经从存储器保护器400被提供,稍后将描述其详细的内容。
存储器420可包括上面提到的多个窗口区域,并且可包括为了写入安全内容数据而保留的安全缓冲器区域。在本发明构思的一些示例性实施例中,存储器420可包括动态随机存取存储器(DRAM),但存储器的类型不限于此。
图2是示出根据本发明构思的示例实施例的半导体装置的操作的示意图。
参照图2,第一处理器100可以是多媒体IP。多媒体IP的示例可至少包括(但不限于)存储器流控制器(MFC)、定标器和DeCON。从第一处理器100创建的存储器访问请求被传输到存储器管理控制器200。
从第一处理器100创建的存储器访问请求使用虚拟地址。存储器管理控制器200将包括在请求中的虚拟地址转换为物理地址,并将包括物理地址的请求传输到存储器保护器400。
与此同时,存储器管理控制器200检查从第一处理器100创建的存储器访问请求是否为针对安全地址的请求,并且仅当请求对应于安全读取和安全写入中的一个时才将该请求传输到存储器保护器400。
例如,当第一处理器100的请求是用于在非安全存储区域中写入安全内容数据的请求或用于读取存储在非安全存储区域中的系统数据(例如,操作系统代码)时,存储器管理控制器200可在不处理这样的请求的情况下,将错误消息传输到第一处理器100。以这种方式,可通过具有安全意识(secure-aware)的存储器管理控制器200来处理来自不具有安全意识的第一处理器100的请求。
针对此操作,存储器管理控制器200可管理并且保持包括存储器420的地址信息和关于地址的安全属性信息的数据结构(例如,页表)。在本发明构思的一些示例性实施例中,安全属性信息可包括安全读取标志、安全写入标志、非安全读取标志和非安全写入标志。
以下,存储器控制器410可处理第一处理器100的请求,并且如稍后所描述,还可基于关于从存储器保护器400提供的多个窗口区域的信息将安全缓冲器区域分配给存储器420。
图3是示出根据本发明构思的示例实施例的半导体装置的另一操作的示意图。
参照图3,第二处理器102可以是图形处理器(GPU)。在这种情况下,第二处理器102,即GPU,可包括GPU核102a和存储器管理控制器102b,这里,假设包括在第二处理器102中的存储器管理控制器102b不具有安全意识。
从GPU核102a创建的存储器访问请求被传输到存储器管理控制器102b,并且包括在该请求中的虚拟地址被存储器管理控制器102b转换为物理地址。存储器管理控制器102b可将包括物理地址的请求传输到内容防火墙控制器300。
内容防火墙控制器300检查从第二处理器102创建的存储器访问请求是否为针对安全地址的请求,并且仅当该请求对应于安全读取和安全写入中的一个时才将请求传输到存储器保护器400。
例如,当第二处理器102的请求是用于在非安全存储区域中写入安全内容数据的请求或用于读取存储在非安全存储区域中的系统数据(例如,操作系统代码)时,内容防火墙控制器300可在不处理这样的请求的情况下,将错误消息传输到第二处理器102。以这种方式,可通过具有安全意识的内容防火墙控制器300来处理来自不具有安全意识第二处理器102的请求。
针对此操作,内容防火墙控制器300可管理并且保持包括存储器420的地址信息和关于地址的安全属性信息的数据结构,例如,页表。在本发明构思的一些示例实施例中,安全属性信息可至少包括安全读取标记、安全写入标志、非安全读取标志和非安全写入标志。
之后,存储器控制器410可处理第二处理器102的请求,并且如稍后描述,还可基于关于从存储器保护器400提供的多个窗口区域的信息将安全缓冲器区域分配给存储器420。
图4是示出根据本发明构思的示例实施例的半导体装置的另一操作的示意图。
参照图4,第三处理器104可以是CPU。在这种情况下,第三处理器104,即CPU,可包括CPU核104a和存储器管理控制器104b,这里,假设包括在第三处理器104中的存储器管理控制器104b具有安全意识。
从CPU核104a创建的存储器访问请求被传输到存储器管理控制器104b,并且包括在该请求中的虚拟地址被存储器管理控制器104b转换为物理地址。存储器管理控制器104b可将包括物理地址的请求传输到存储器保护器400。
在一个示例实施例中,由于包括在第三处理器104中的存储器管理控制器104b检查从CPU核104a预先创建的存储器访问请求是否为针对安全地址的请求,因此不需要额外的组件。
之后,存储器控制器410可处理第三处理器104的请求,并且如稍后所描述,还可基于关于从存储器保护器400提供的多个窗口区域的信息将安全缓冲器区域分配给存储器420。
图5是示出根据本发明构思的示例实施例的半导体装置的存储器结构的示意图。
参照图5,存储器420可包括多个窗口区域600、窗口区域610和窗口区域620。
如上所述,窗口区域600、窗口区域610和窗口区域620中的每一个窗口区域可包括分别通过安全地址和非安全地址访问的安全存储区域和非安全存储区域二者。此外,窗口区域600、窗口区域610和窗口区域620中的每一个窗口区域可包括:被分配给特定处理器并且已经在使用中的不可用存储区域,以及根据需要可被使用的可用存储区域。具体地说,在本发明构思的一些示例实施例中,可用存储区域可包括在不可用存储区域之间保留的片元页。
例如,窗口区域600和窗口区域620中的每一个窗口区域可包括频繁地发生针对相对小型的数据的存储器分配和解除分配的存储区域。当在存储区域中频繁地发生针对相对小型的数据的存储器分配和解除分配时,可增大相应存储区域的片元率。因此,存在于窗口区域600和窗口区域620中的每一个窗口区域中的可用存储区域可作为大量的小型片元页而存在。例如,存在于窗口区域600和窗口区域620中的每一个窗口区域中的可用存储区域可包括大量的具有小于64KB的大小的片元页。
另一方面,窗口区域610可包括不频繁地发生针对相对大型的数据(例如,多媒体数据)的存储器分配和解除分配的存储区域。当在存储区域中不频繁地发生针对相对大型的数据的存储器分配和解除分配时,可减小相应的存储区域的片元率。因此,存在于窗口区域610中的可用存储区域可作为少量的大型片元页而存在。例如,存在于窗口区域610中的可用存储区域可包括少量的具有大于64KB的大小的片元页。
图6和图7是均示出根据本发明构思的示例实施例的半导体装置的存储器分配处理的示意图。
参照图6,具有大于64KB的大小的可用存储区域主要存在于上面参照图5描述的窗口区域610中。在这种情况下,存储器保护器400可防止具有64KB的大小的片元页612、片元页614和片元页618被第一处理器100、第二处理器102和第三处理器104非安全访问。
例如,存储器保护器400可将具有64KB的大小的片元页612、片元页614和片元页618分配为用于存储安全内容数据的安全缓冲器700。在这种情况下,相对大型的可用存储区域被分配给安全缓冲器700,从而以相对小的操作开销来获得安全缓冲器700需要的容量。
然而,由于存储器保护器400搜索窗口区域610中的可用存储区域的仅为64KB的大小的片元页,因此即使当窗口区域610包括大量的具有4KB的大小的片元页616时,也仅具有64KB的大小的片元页612、片元页614和片元页618被分配给安全缓冲器700。如果具有64KB的大小的片元页不充足,则为了获得安全缓冲器700,可发生延迟或失败。
参照图7,具有小于4KB的大小的可用存储区域主要存在于上面参照图5描述的窗口区域600中。在这种情况下,存储器保护器400可防止具有4KB的大小的片元页602、片元页604、片元页606和片元页608被第一处理器100、第二处理器102和第三处理器104非安全访问。
例如,存储器保护器400可将具有4KB的大小的片元页602、片元页604、片元页606和片元页608分配为用于存储安全内容数据的安全缓冲器700。因此,即使从具有高片元率的存储区域也能获得安全缓冲器700需要的容量。
如在图6和图7中示出,相对小型的片元页的收集和相对大型的片元页的收集各自均具有优点和缺点。换言之,相对大型的片元页的收集的优点在于能以相对小的开销快速获得高容量,而缺点在于不能利用相对小型的片元页。同时,相对小型的片元页的收集的优点在于能充分利用存储器资源,而缺点在于频繁地产生开销。
因此,在本发明构思的各种示例性实施例中,存储器420包括多个窗口区域600、窗口区域610和窗口区域620。与在多个窗口区域600、窗口区域610和窗口区域620中的窗口区域600和窗口区域620对应的存储区域提供相对小型的片元页,而与多个窗口区域600、窗口区域610和窗口区域620中的窗口区域610对应的存储区域提供相对大型的片元页,从而有效地获得用于安全内容数据的安全缓冲器700。
图8和图9A是示出根据本发明构思的示例实施例的由存储器保护器400使用的页表的示意图。
参照图8,存储器保护器400可使用包括与多个窗口区域600、窗口区域610和窗口区域620对应的存储器地址信息的页表800。
页表800可包括存储器420的存储器地址810,关于地址的安全属性信息820、安全属性信息830、安全属性信息840和安全属性信息850,以及与地址对应的窗口识别标志信息860。
在本发明构思的一些示例实施例中,安全属性信息820、安全属性信息830、安全属性信息840和安全属性信息850可包括非安全读取(NSR)标志820、非安全写入(NSW)标志830、安全读取(SR)标志840和安全写入(SW)标志850,窗口识别标志信息860可包括窗口识别标志(W)860。例如,表示在设置非安全读取标志820和非安全写入标志830的存储器地址中,非安全访问是可能的,并且表示在设置安全读取标志840和安全写入标志850的存储器地址中,仅安全访问是可能的。
同时,参照图9A,在页表870中,使用窗口识别标志信息860来划分窗口区域600、窗口区域610和窗口区域620。
例如,当窗口识别标志信息860的值是‘0’时,可搜索与存储器地址810对应的存储区域作为第一大小(例如,4KB)的片元页。与此不同,当窗口识别标志信息860的值是‘1’时,可搜索与存储器地址810对应的存储区域作为第二大小(例如,64KB)的片元页。
例如,由于存储区域中的与“0x0100_0000”至“0x07FF_FFFF”的存储器地址810对应的窗口识别标志信息860的值为‘0’,因此该存储区域可表示可提供第一大小(例如,4KB)的片元页的窗口区域600。此外,由于存储区域中的与“0x3000_0000”至“0x4FFF_FFFF”的存储器地址810对应的窗口识别标志信息860的值为‘1’,因此该存储区域可表示可提供第二大小(例如,64KB)的片元页的窗口区域610。此外,由于存储区域中的与“0x5100_0000”至“0x57FF_FFFF”的存储器地址810对应的窗口识别标志信息860的值为‘0’,因此该存储区域可表示可提供第一大小(例如,4KB)的片元页的窗口区域620。
如上所述,存储器420包括多个窗口区域600、窗口区域610和窗口区域620。在多个窗口区域600、窗口区域610和窗口区域620中,与窗口区域600和窗口区域620对应的存储区域提供相对小型的片元页,与窗口区域610对应的存储区域提供相对大型的片元页,从而有效地获得用于安全内容数据的安全缓冲器700。
图9B是示出在图9A中示出的页表的另一示例实施例的示意图。
参照图9B,使用窗口识别标志信息860来划分窗口区域600、窗口区域610和窗口区域620的页表872可不同于参照图9A描述的页表870。
在图9A的页表870的情况下,针对每个存储器地址810来存储窗口识别标志860。例如,“0x0100_0000”至“0x07FF_FFFF”的存储器地址810具有均具有‘0’值的窗口识别标志860,而“0x3000_0000”至“0x4FFF_FFFF”的存储器地址810具有均具有‘1’值的窗口识别标志860。当页表870以这种方式被配置时,因为n(这里,n是1或者更大的整数)个存储器地址中的每个存储器地址包括n个窗口识别标志860,所以页表870的大小变得非常大。
与此不同,在示例实施例的页表872中,不针对每个存储器地址810来存储窗口识别标志860,仅向每个窗口区域分配一个窗口识别标志860。具体地说,页表872可包括起始地址(S_ADDR)、结束地址(E_ADDR)和窗口识别标志(W)列。
例如,起始地址是“0x0100_0000”并且结束地址是“0x07FF_FFFF”的窗口区域600存储具有‘0’值的窗口识别标志,以允许与地址范围对应的窗口提供第一大小(例如,4KB)的片元页。此外,起始地址是“0x3000_0000”并且结束地址是“0x4FFF_FFFF”的窗口区域610存储具有‘1’值的窗口识别标志,以允许与地址范围对应的窗口提供第二大小(例如,64KB)的片元页。
由于以这种方式配置的页表872针对由窗口区域600、窗口区域610和窗口区域620指示的每个区域仅包括单个窗口识别标志860,因此页表872的大小可以变得非常小。
图9C是示出根据本发明构思的示例实施例的半导体装置的另一操作的示意图,图9D是示出在图9C中示出的操作中使用的页表的示意图。
参照图9C,存储器420可包括多个窗口区域660、窗口区域662、窗口区域664、窗口区域666和窗口区域668。
例如,窗口区域660和窗口区域662中的每一个窗口区域可包括频繁地发生针对相对小型的数据的存储器分配和解除分配的存储区域。当在存储区域中频繁地发生针对相对小型的数据的存储器分配和解除分配时,可增大相应的存储区域的片元率。因此,存在于窗口区域660和窗口区域662中的每一个窗口区域中的可用存储区域可作为大量的小型片元页存在。例如,存在于窗口区域660和窗口区域662中的每一个窗口区域中的可用存储区域可包括大量的具有小于64KB的大小的片元页。
另一方面,窗口区域664、窗口区域666和窗口区域668中的每一个窗口区域可包括不频繁地发生针对相对大型的数据(例如,多媒体数据)的存储器分配和解除分配的存储区域。当在存储区域中不频繁地发生针对相对大型的数据的存储器分配和解除分配时,可减小相应的存储区域的片元率。因此,存在于窗口区域664、窗口区域666和窗口区域668中的每个窗口区域中的可用存储区域可作为少量的大型片元页存在。例如,存在于窗口区域664、窗口区域666和窗口区域668中的每个窗口区域中的可用存储区域可包括少量的具有大于64KB的大小的片元页。
考虑到存储器420的这样的特性,可以以第一大小(例如,4KB)的片元页单位来搜索与窗口区域660对应的存储区域,可以以第二大小(例如,64KB)的片元页单位来搜索与窗口区域662对应的存储区域,可以以第三大小(例如,256KB)的片元页单位来搜索与窗口区域664对应的存储区域,可以以第四大小(例如,1MB)的片元页单位来搜索与窗口区域666对应的存储区域,并且可以以第五大小(例如,2MB)的片元页单位来搜索与窗口区域668对应的存储区域。
同时,为了划分提供几个大小的片元页的多个窗口区域,可通过多位来表示窗口识别标志860。例如,在一个示例实施例中,由于必须划分总共五个窗口区域,因此可通过三位来表示窗口识别标志860,使得可划分至少六个值。例如,与窗口区域660、窗口区域662、窗口区域664、窗口区域666和窗口区域668对应的窗口识别标志860可分别通过“001”、“010”、“011”、“100”、“101”来指示。
参照图9D,基于上述内容使用窗口识别标志信息划分窗口区域660、窗口区域662、窗口区域664、窗口区域666和窗口区域668的页表874可包括起始地址(S_ADDR)、结束地址(E_ADDR)和窗口识别标志(W)列。
例如,起始地址是“$C”并且结束地址是“$D”的窗口区域662存储具有‘010’值的窗口识别标志,以允许与地址范围对应的窗口提供第二大小(例如,64KB)的片元页。此外,起始地址是“$I”并且结束地址是“$J”的窗口区域668存储具有‘101’值的窗口识别标志,以允许与地址范围对应的窗口提供第五大小(例如,2MB)的片元页。
由于以这种方式配置的页表874针对由窗口区域660、窗口区域662、窗口区域664、窗口区域666和窗口区域668指示的每个区域仅包括单个窗口识别标志860,因此页表874的大小可以变得非常小。
图10是示出根据本发明构思的另一示例实施例的半导体装置的存储器分配处理的示意图。
参照图10,存储器420可包括窗口区域630、窗口区域640和窗口区域650。
该示例实施例与上述示例性实施例的不同在于,能将片段页动态地分配给安全缓冲器700。如上所述,当预期不确定是否由第一处理器100、第二处理器102和第三处理器104请求的安全数据而将安全存储区域预先保留在存储器420中时,该安全存储区域不能被用于其他任何目的,直到第一处理器100、第二处理器102和第三处理器104的请求确实存在为止,因而浪费了存储器资源。
因此,在一个示例性实施例中,存储器保护器400可在存储器420中划分窗口区域630、窗口区域640和窗口区域650,但是可在考虑安全缓冲器700需要的存储器容量的情况下来动态分配片元页。
例如,当在第一次为了获得安全缓冲器700而需要1024KB的存储器容量时,存储器保护器400可仅从存储器420中的窗口区域630来收集可用存储器,并将收集的可用存储器分配给安全缓冲器700。之后,当在第二次需要额外的128KB的存储器容量时,存储器保护器400可从存储器420中的窗口区域640和窗口区域650收集可用存储器,并将收集的可用存储器额外地分配给安全缓冲器700。
当然,即使在一个示例性实施例中,如上述示例实施例,也可设置窗口区域630、窗口区域640和窗口区域650,使得可提供彼此大小不同的片元页。例如,可以以第二大小(例如,64KB)的片元页单位来搜索窗口区域630,并且可以以第一大小(例如,4KB)的片元页单位搜索窗口区域640和窗口区域650中的每个窗口区域。
如上所述,存储器420包括多个窗口区域630、窗口区域640和窗口区域640。与多个窗口区域630、窗口区域640和窗口区域650中的窗口区域640和窗口区域650对应的存储区域提供相对小型的片元页,与多个窗口区域630、窗口区域640和窗口区域650中的窗口区域630对应的存储区域提供相对大型的片元页,并且,如果需要,则将可用存储器动态地提供给安全缓冲器700,从而有效地获得用于安全内容数据的安全缓冲器700。
图11是示出根据本发明构思的另一示例实施例的由存储保护器使用的页表的示意图。
参照图11,与图8的示例实施例不同,根据本发明构思的另一示例实施例的存储器保护器400的页表900可包括存储器420的地址信息910、关于地址的安全属性信息920和对应于地址的窗口识别标志信息930。
页表900仅包括作为安全属性信息920的非安全访问(NSA)标志,来代替非安全读取(NSR)标志、非安全写入(NSW)标志、安全读取(SR)标志和安全写入(SW)标志,因而在允许非安全存储区域与安全存储区域之间的访问的同时,减小页表900的大小。
图12是示出根据本发明构思的示例实施例的由内容防火墙控制器和存储器管理控制器使用的页表的示意图。
参照图12,与图2和图3的示例实施例不同,根据本发明构思的另一示例实施例的在内容防火墙控制器300和存储器管理控制器200的页表1000中包括的安全属性信息仅包括安全读取标志和安全写入标志。
页表1000仅包括作为安全属性信息920的安全读取标志和安全写入标志,来代替非安全读取(NSR)标志、非安全写入(NSW)标志、安全读取(SR)标志和安全写入(SW)标志。在这种情况下,即使仅通过安全读取标志和安全写入标志也能管理来自第一处理器100的不具有安全意识的请求,也使得这些请求变为具有安全意识。如此,在页表1000中仅保持安全读取标志和安全写入操作,从而减小页表1000的大小。
图13至图15示出根据本发明构思的一些示例实施例的可应用半导体装置的半导体系统的非限制性的示例实施例。
图13示出平板PC 1200,图14示出笔记本计算机1300,图15示出智能电话1400。如上面讨论的,根据本发明构思的一些示例性实施例的半导体装置可被用于(包括但不限于)平板PC 1200、笔记本计算机1300和/或智能电话1400。此外,对本领域技术人员来说显而易见的是,如上面讨论的,根据本发明构思的一些示例实施例的半导体装置也可被应用于在此未示出的其它集成电路装置。换言之,目前为止已经描述了根据呈现的非限制性示例实施例的半导体系统的示例包括平板PC 1200、笔记本计算机1300和智能电话1400。然而,其示例不限于此。在本发明构思的一些示例实施例中,可将半导体系统实现为包括(但不限于)计算机、超移动PC、工作站、上网本、个人数字助理(PDA)、便携式计算机、无线电话、移动电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航设备、黑盒、数码相机、三维电视、数码录音机、数字图像记录仪、数字图片播放器、数字录像机或数字视频播放器。
将理解,虽然为了示出的目的已经公开了本发明构思的示例实施例,但是本领域技术人员将理解,在不脱离权利要求中公开的发明构思的范围和精神的情况下,各种修改、增加以及替换是可能的。

Claims (33)

1.一种半导体装置,包括:
处理器,被配置为基于存储在存储器中的数据来执行操作;
存储器保护器,被配置为:
将存储器划分为第一窗口区域和第二窗口区域,第一窗口区域包括用于第一数据的存储器分配和解分配的第一存储器区域,第一存储器区域被划分为第一大小的第一片元页,第二窗口区域包括用于第二数据的存储器分配和解分配的第二存储器区域,第二存储器区域被划分为第二大小的第二片元页,第二大小小于第一大小,
如果来自处理器的请求不是安全读取和安全写入中的至少一个,则防止第一片元页和第二片元页被处理器访问,
其中,第二数据的大小小于第一数据的大小。
2.如权利要求1所述的半导体装置,其中,存储器保护器被配置为:基于第一页表防止第一片元页和第二片元页被处理器访问,第一页表包括存储器地址信息,所述存储器地址信息对应于第一窗口区域和第二窗口区域中的至少一个窗口区域。
3.如权利要求2所述的半导体装置,其中,第一页表还包括:
关于所述存储器地址信息的安全属性信息,
与所述存储器地址信息对应的窗口识别标志信息。
4.如权利要求3所述的半导体装置,其中,所述安全属性信息包括安全读取标志、安全写入标志、非安全读取标志和非安全写入标志。
5.如权利要求3所述的半导体装置,其中,所述安全属性信息仅包括非安全访问标志。
6.如权利要求1所述的半导体装置,其中,存储器保护器还被配置为:将第一片元页和第二片元页分配给安全缓冲器。
7.如权利要求6所述的半导体装置,其中,存储器保护器还被配置为:
从存储器划分第三窗口区域,其中,第三窗口区域包括第三大小的第三片元页;
如果用于访问的请求不是安全读取和安全写入中的至少一个,则防止第三片元页被处理器访问。
8.如权利要求7所述的半导体装置,其中,存储器保护器还被配置为:将第三片元页分配给安全缓冲器。
9.如权利要求1所述的半导体装置,其中,第一大小是64KB,第二大小是4KB。
10.如权利要求1所述的半导体装置,其中,存储器包括动态随机存取存储器。
11.如权利要求1所述的半导体装置,其中,
存储器包括安全区域和非安全区域,
处理器被配置为:
通过安全地址访问安全区域,
通过非安全地址访问非安全区域,
所述半导体装置还包括:
内容防火墙控制器,被配置为:防止处理器(i)将安全内容数据写入非安全区域中或(ii)读取存储在非安全区域中的系统数据。
12.如权利要求11所述的半导体装置,其中,内容防火墙控制器被配置为:使用第二页表,第二页表包括存储器地址信息和关于所述存储器地址信息的安全属性信息。
13.如权利要求12所述的半导体装置,其中,安全属性信息包括安全读取标志、安全写入标志、非安全读取标志和非安全写入标志。
14.如权利要求12所述的半导体装置,其中,安全属性信息仅包括安全读取标志和安全写入标志。
15.如权利要求11所述的半导体装置,其中,内容防火墙控制器还被配置为:从存储器管理控制器接收用于访问存储器的物理地址,存储器管理控制器连接到处理器。
16.一种半导体装置,包括:
存储器,包括第一窗口区域、第二窗口区域和安全缓冲器区域,存储器被配置为针对安全内容数据而保留安全缓冲器区域,其中,第一窗口区域包括用于第一数据的存储器分配和解分配的第一存储器区域,第一存储器区域被划分为第一大小的第一片元页,第二窗口区域包括用于第二数据的存储器分配和解分配的第二存储器区域,第二存储器区域被划分为第二大小的第二片元页,第二大小小于第一大小;
存储器控制器,被配置为:
在第一窗口区域中搜索第一大小的第一片元页,
将第一片元页分配给安全缓冲器区域,
在第二窗口区域中搜索第二大小的第二片元页,
将第二片元页分配给安全缓冲器区域;
存储器保护器,被配置为:
向存储器控制器提供关于第一窗口区域和第二窗口区域的信息,
如果来自处理器的用于访问的请求不是安全读取和安全写入中的至少一个,则防止第一片元页和第二片元页被访问,
其中,第二数据的大小小于第一数据的大小。
17.如权利要求16所述的半导体装置,其中,存储器控制器被配置为:将第一片元页和第二片元页中的至少一个片元页动态地分配给安全缓冲器区域。
18.如权利要求16所述的半导体装置,其中,第一窗口区域和第二窗口区域中的每个窗口区域包括分别通过安全地址和非安全地址来访问的安全存储区域和非安全存储区域。
19.如权利要求16所述的半导体装置,其中,存储器保护器被配置为:基于第一页表向存储器控制器提供关于第一窗口区域和第二窗口区域的信息,第一页表包括与第一窗口区域和第二窗口区域中的至少一个窗口区域对应的存储器地址信息。
20.如权利要求19所述的半导体装置,其中,第一页表还包括:
关于所述存储器地址信息的安全属性信息,
与所述存储器地址信息对应的窗口识别标志信息。
21.如权利要求20所述的半导体装置,其中,安全属性信息包括安全读取标志、安全写入标志、非安全读取标志和非安全写入标志。
22.如权利要求20所述的半导体装置,其中,安全属性信息仅包括非安全访问标志。
23.如权利要求16所述的半导体装置,还包括:
处理器,被配置为基于存储在存储器中的数据来执行操作;
内容防火墙控制器,被配置为:防止处理器(i)将安全内容数据写入非安全区域中或(ii)读取存储在非安全区域中的系统数据。
24.如权利要求23所述的半导体装置,其中,内容防火墙控制器被配置为:从存储器管理控制器接收用于访问存储器的物理地址,存储器管理控制器连接到处理器。
25.一种半导体装置,包括:
第一处理器;
第二处理器,其中,第一处理器和第二处理器被配置为基于存储在存储器中的数据来执行操作;
内容防火墙控制器,被配置为确定从第一处理器的存储器管理控制器接收的第一物理地址是安全地址还是非安全地址;
存储器保护器,被配置为:
从内容防火墙控制器和第二处理器的存储器管理控制器中的至少一个接收第二物理地址,以访问存储器,
将存储器划分为第一窗口区域和第二窗口区域,其中,第一窗口区域包括用于第一数据的存储器分配和解分配的第一存储器区域,第一存储器区域被划分为第一大小的第一片元页,第二窗口区域包括用于第二数据的存储器分配和解分配的第二存储器区域,第二存储器区域被划分为第二大小的第二片元页,第二大小小于第一大小,
如果来自第一处理器和第二处理器中的至少一个处理器的请求不是安全读取和安全写入中的至少一个,则防止第一片元页和第二片元页被第一处理器和第二处理器访问,
其中,第二数据的大小小于第一数据的大小。
26.如权利要求25所述的半导体装置,还包括:第三处理器,
其中,存储器保护器被配置为:从连接到第三处理器的外部存储器管理控制器接收第二物理地址,以访问存储器。
27.如权利要求25所述的半导体装置,其中,存储器保护器被配置为:将第一片元页和第二片元页分配给安全缓冲器。
28.如权利要求27所述的半导体装置,其中,存储器保护器被配置为:
从存储器划分第三窗口区域,第三窗口区域包括第三大小的第三片元页,
如果来自第一处理器和第二处理器中的至少一个处理器的请求不是安全取出和安全写入中的至少一个,则防止第三片元页被第一处理器和第二处理器访问。
29.如权利要求28所述的半导体装置,其中,存储器保护器被配置为:将第三片元页分配给安全缓冲器。
30.如权利要求25所述的半导体装置,其中,
第一窗口区域和第二窗口区域中的每个窗口区域包括安全存储区域和非安全存储区域,
第一处理器和第二处理器中的至少一个处理器被配置为:
通过安全地址访问安全存储区域,
通过非安全地址访问非安全存储区域。
31.一种半导体装置,包括:
存储器保护器,被配置为:
将存储器划分为窗口区域,其中,窗口区域包括第一窗口区域部分和第二窗口区域部分,第一窗口区域部分包括用于第一数据的存储器分配和解分配的第一存储器区域,第一存储器区域被划分为第一大小的第一片元页,第二窗口区域部分包括用于第二数据的存储器分配和解分配的第二存储器区域,第二存储器区域被划分为第二大小的第二片元页,第二大小小于第一大小,
生成与窗口区域相关联的信息;
存储器控制器,被配置为:
接收生成的与窗口区域关联的信息,
基于生成的与窗口区域关联的信息将安全缓冲器区域分配给存储器,
其中,第二数据的大小小于第一数据的大小。
32.如权利要求31所述的半导体装置,其中,存储器保护器还被配置为:防止第一片元页和第二片元页被处理器访问。
33.如权利要求31所述的半导体装置,其中,
所述存储器控制器被配置为:
从处理器接收用于访问存储器的指令,
搜索第一片元页,
将第一片元页分配给安全缓冲器区域,
搜索第二片元页,
将第二片元页分配给安全缓冲器。
CN201610471517.8A 2015-06-29 2016-06-24 半导体装置 Active CN106295413B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2015-0092246 2015-06-29
KR20150092246 2015-06-29
KR1020150118708A KR102432473B1 (ko) 2015-06-29 2015-08-24 반도체 회로
KR10-2015-0118708 2015-08-24

Publications (2)

Publication Number Publication Date
CN106295413A CN106295413A (zh) 2017-01-04
CN106295413B true CN106295413B (zh) 2021-07-20

Family

ID=57537295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610471517.8A Active CN106295413B (zh) 2015-06-29 2016-06-24 半导体装置

Country Status (3)

Country Link
US (1) US10657274B2 (zh)
CN (1) CN106295413B (zh)
DE (1) DE102016111497A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6762924B2 (ja) * 2017-12-01 2020-09-30 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
KR102147912B1 (ko) * 2019-08-13 2020-08-25 삼성전자주식회사 프로세서 칩 및 그 제어 방법들
US11481323B2 (en) * 2019-09-25 2022-10-25 Meta Platforms Technologies, Llc Systems and methods for efficient data buffering

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334108B1 (en) * 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
US7412579B2 (en) * 2004-12-30 2008-08-12 O'connor Dennis M Secure memory controller
CN104838630A (zh) * 2012-10-10 2015-08-12 思杰系统有限公司 基于策略的应用程序管理

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3453757B2 (ja) * 1989-05-29 2003-10-06 株式会社日立製作所 バッファ管理方法
JP2858795B2 (ja) * 1989-07-14 1999-02-17 株式会社日立製作所 実記憶割り当て方法
US5802341A (en) * 1993-12-13 1998-09-01 Cray Research, Inc. Method for the dynamic allocation of page sizes in virtual memory
JP3604176B2 (ja) * 1994-09-14 2004-12-22 株式会社東芝 仮想空間管理方法及び分散処理システム
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US7620769B2 (en) * 2000-01-06 2009-11-17 Super Talent Electronics, Inc. Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory
US6647482B1 (en) * 2000-04-07 2003-11-11 Intel Corporation Method for optimized representation of page table entries
US7336283B2 (en) * 2002-10-24 2008-02-26 Hewlett-Packard Development Company, L.P. Efficient hardware A-buffer using three-dimensional allocation of fragment memory
US7398348B2 (en) * 2004-08-24 2008-07-08 Sandisk 3D Llc Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory
US7444523B2 (en) * 2004-08-27 2008-10-28 Microsoft Corporation System and method for using address bits to signal security attributes of data in the address space
US20070226795A1 (en) 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
US8307416B2 (en) 2007-01-03 2012-11-06 Texas Instruments Incorporated Data structures for use in firewalls
US7747838B2 (en) * 2007-05-19 2010-06-29 International Business Machines Corporation Method and apparatus for dynamically adjusting page size in a virtual memory range
US7730248B2 (en) 2007-12-13 2010-06-01 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems and processes
JP5381336B2 (ja) * 2009-05-28 2014-01-08 富士通株式会社 管理プログラム、管理装置および管理方法
US8209510B1 (en) * 2010-01-13 2012-06-26 Juniper Networks, Inc. Secure pool memory management
US8296538B2 (en) 2010-02-17 2012-10-23 Arm Limited Storing secure mode page table data in secure and non-secure regions of memory
US8682639B2 (en) * 2010-09-21 2014-03-25 Texas Instruments Incorporated Dedicated memory window for emulation address
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US20130013889A1 (en) 2011-07-06 2013-01-10 Jaikumar Devaraj Memory management unit using stream identifiers
US8375221B1 (en) 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US8910307B2 (en) * 2012-05-10 2014-12-09 Qualcomm Incorporated Hardware enforced output security settings
US20130305388A1 (en) * 2012-05-10 2013-11-14 Qualcomm Incorporated Link status based content protection buffers
KR101954733B1 (ko) * 2012-10-26 2019-03-06 삼성전자주식회사 보안 콘텐츠를 처리하는 시스템 온 칩 및 그것을 포함하는 모바일 장치
US8930638B2 (en) * 2012-11-27 2015-01-06 Qualcomm Technologies, Inc. Method and apparatus for supporting target-side security in a cache coherent system
KR20150092246A (ko) 2012-12-05 2015-08-12 스미스 앤드 네퓨, 인크. 외과용 기구
WO2014089767A1 (zh) * 2012-12-12 2014-06-19 华为技术有限公司 集群系统中数据处理方法及装置
US9672162B2 (en) 2013-08-16 2017-06-06 Arm Limited Data processing systems
KR101615809B1 (ko) 2014-04-15 2016-04-27 송경식 장착 구조 개선형 체인 커버

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334108B1 (en) * 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
US7412579B2 (en) * 2004-12-30 2008-08-12 O'connor Dennis M Secure memory controller
CN104838630A (zh) * 2012-10-10 2015-08-12 思杰系统有限公司 基于策略的应用程序管理

Also Published As

Publication number Publication date
CN106295413A (zh) 2017-01-04
US10657274B2 (en) 2020-05-19
DE102016111497A1 (de) 2016-12-29
US20160379004A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
JP4941148B2 (ja) Gpuにおけるページマッピングのための専用機構
US9547535B1 (en) Method and system for providing shared memory access to graphics processing unit processes
US8850158B2 (en) Apparatus for processing remote page fault and method thereof
US8451281B2 (en) Shared virtual memory between a host and discrete graphics device in a computing system
US20160364334A1 (en) Managing coherent memory between an accelerated processing device and a central processing unit
US8395631B1 (en) Method and system for sharing memory between multiple graphics processing units in a computer system
US9697111B2 (en) Method of managing dynamic memory reallocation and device performing the method
US9146879B1 (en) Virtual memory management for real-time embedded devices
US9208088B2 (en) Shared virtual memory management apparatus for providing cache-coherence
US20180336140A1 (en) Method and system for flash-aware heap memory management
US8892810B2 (en) Semiconductor device and memory protection method
US20160188251A1 (en) Techniques for Creating a Notion of Privileged Data Access in a Unified Virtual Memory System
CN106295413B (zh) 半导体装置
KR20160064720A (ko) 캐시 메모리 장치 및 이를 포함하는 전자 시스템
US20130073779A1 (en) Dynamic memory reconfiguration to delay performance overhead
US8543770B2 (en) Assigning memory to on-chip coherence domains
EP3188028B1 (en) Buffer management method and apparatus
US6525739B1 (en) Method and apparatus to reuse physical memory overlapping a graphics aperture range
JP6676052B2 (ja) 不均一メモリアーキテクチャにおける改善されたレイテンシを可能にするためのシステムおよび方法
CN111026680A (zh) 将第一标识符映射到第二标识符
TWI708147B (zh) 半導體裝置
US11960723B2 (en) Method and system for managing memory associated with a peripheral component interconnect express (PCIE) solid-state drive (SSD)
US20170322891A1 (en) Device and method for secure data storage
CN108932205B (zh) 一种防御RowHammer攻击的方法及设备
CN116964564A (zh) 通过页重映射和旋转增加地址空间布局随机化熵

Legal Events

Date Code Title Description
C06 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