TW201701162A - Semiconductor device - Google Patents
Semiconductor device Download PDFInfo
- Publication number
- TW201701162A TW201701162A TW105120238A TW105120238A TW201701162A TW 201701162 A TW201701162 A TW 201701162A TW 105120238 A TW105120238 A TW 105120238A TW 105120238 A TW105120238 A TW 105120238A TW 201701162 A TW201701162 A TW 201701162A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- secure
- page
- window
- semiconductor device
- Prior art date
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 58
- 239000012634 fragment Substances 0.000 claims abstract description 53
- 230000001012 protector Effects 0.000 claims abstract description 52
- 239000000463 material Substances 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 11
- 238000013467 fragmentation Methods 0.000 description 7
- 238000006062 fragmentation reaction Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000000746 body region Anatomy 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
Abstract
Description
本發明概念是有關於一種半導體裝置。The inventive concept is related to a semiconductor device.
為給行動應用提供安全執行環境,可將行動應用配置成使得在不使用額外的安全硬體晶片的條件下,為一個中央處理單元(central processing unit,CPU)提供安全區域(或安全界(secure world))及正常區域(或正常界(normal world))。此處,可在正常界中操作一般應用,且可在安全界中安全地操作需要安全性的應用。To provide a secure execution environment for mobile applications, the mobile application can be configured to provide a secure area (or security) for a central processing unit (CPU) without the use of additional secure hardware chips. World)) and normal area (or normal world). Here, general applications can be operated in the normal world, and applications requiring security can be safely operated in the security world.
本發明概念的至少某些態樣提供一種可有效地獲得安全性資料的安全緩衝器的半導體裝置。At least some aspects of the inventive concept provide a semiconductor device that can securely obtain a security buffer of security material.
然而,本發明概念的態樣並非僅限於本文中所述的一者。藉由參照以下所給出的對本發明概念的詳細說明,對於本發明概念所屬技術領域中具有通常知識者而言,本發明概念的以上及其他態樣將變得更顯而易見。However, aspects of the inventive concept are not limited to one described herein. The above and other aspects of the inventive concept will become more apparent from the detailed description of the embodiments of the invention.
根據本發明概念的至少某些示例性實施例,提供一種半導體裝置,所述半導體裝置包括:處理器,用以利用儲存於記憶體中的資料來實行操作;以及記憶體保護器,用以將所述記憶體劃分成第一視窗區域及第二視窗區域,所述第一視窗區域包括具有第一大小的第一碎片頁,所述第二視窗區域包括具有第二大小的第二碎片頁,所述第二大小小於所述第一大小,且所述記憶體保護器用以若來自所述處理器的請求不是安全讀取及安全寫入中的至少一者,則防止所述第一碎片頁及所述第二碎片頁被所述處理器存取。According to at least some example embodiments of the inventive concepts, there is provided a semiconductor device including: a processor to perform operations using data stored in a memory; and a memory protector to The memory is divided into a first window area including a first fragment page having a first size, and a second window area including a second fragment page having a second size. The second size is smaller than the first size, and the memory protector is configured to prevent the first fragmentation page if the request from the processor is not at least one of a secure read and a secure write And the second fragment page is accessed by the processor.
示例性實施例的所述記憶體保護器用以基於第一頁表來防止所述第一碎片頁及所述第二碎片頁被所述處理器存取,所述第一頁表包含記憶體位址資訊,所述記憶體位址資訊對應於所述第一視窗區域及所述第二視窗區域中的至少一者。The memory protector of the exemplary embodiment is configured to prevent the first fragment page and the second fragment page from being accessed by the processor based on a first page table, the first page table including a memory address Information, the memory address information corresponding to at least one of the first window area and the second window area.
示例性實施例的所述處理器用以藉由安全位址來存取所述安全區域,且藉由非安全位址來存取所述非安全區域,並且所述半導體裝置更包括:內容防火牆控制器,用以防止所述處理器(i)將安全內容資料寫入所述非安全區域中,或(ii)讀取儲存於所述非安全區域中的系統資料。所述內容防火牆控制器更用以自記憶體管理控制器接收用於存取所述記憶體的實體位址,所述記憶體管理控制器連接至所述處理器。The processor of the exemplary embodiment is configured to access the secure area by using a secure address, and access the non-secure area by a non-secure address, and the semiconductor device further includes: content firewall control To prevent the processor (i) from writing secure content data into the non-secure area, or (ii) reading system data stored in the non-secure area. The content firewall controller is further configured to receive a physical address for accessing the memory from a memory management controller, and the memory management controller is coupled to the processor.
根據本發明概念的另一示例性實施例,提供一種半導體裝置,所述半導體裝置包括:記憶體,包括第一視窗區域、第二視窗區域、及安全緩衝區域,所述記憶體用以為安全內容資料保留所述安全緩衝區域;記憶體控制器,用以在所述第一視窗區域中搜索具有第一大小的第一碎片頁,將所述第一碎片頁指配至所述安全緩衝區域,且用以在所述第二視窗區域中搜索具有第二大小的第二碎片頁,所述第二大小小於所述第一大小,並且用以將所述第二碎片頁指配至所述安全緩衝區域;以及記憶體保護器,用以將關於所述第一視窗區域及所述第二視窗區域的資訊提供至所述記憶體控制器,且用以若來自所述處理器的存取請求不是安全讀取及安全寫入中的至少一者,則保護所述第一碎片頁及所述第二碎片頁不被存取。According to another exemplary embodiment of the inventive concept, a semiconductor device includes: a memory including a first window region, a second window region, and a security buffer region, wherein the memory is used for secure content Retaining the security buffer area; the memory controller is configured to search the first window area for a first fragment page having a first size, and assign the first fragment page to the security buffer area, And for searching the second window region for a second fragmented page having a second size, the second size being smaller than the first size, and for assigning the second fragmented page to the security a buffer area; and a memory protector for providing information about the first window area and the second window area to the memory controller and for access request from the processor Not at least one of a secure read and a secure write protects the first fragmented page and the second fragmented page from being accessed.
根據示例性實施例的所述記憶體保護器用以基於第一頁表而將關於所述第一視窗區域及所述第二視窗區域的資訊提供至所述記憶體控制器,所述第一頁表包含記憶體位址資訊,所述記憶體位址資訊對應於所述第一視窗區域及所述第二視窗區域中的至少一者。所述第一頁表更包含關於所述記憶體位址資訊的安全屬性資訊、及對應於所述記憶體位址資訊的視窗辨識旗標資訊。The memory protector according to an exemplary embodiment is configured to provide information about the first window area and the second window area to the memory controller based on a first page table, the first page The table includes memory address information, the memory address information corresponding to at least one of the first window area and the second window area. The first page table further includes security attribute information about the memory address information and window identification flag information corresponding to the memory address information.
根據本發明概念的另一示例性實施例,提供一種半導體裝置,所述半導體裝置包括:第一處理器;第二處理器,所述第一處理器及所述第二處理器用以基於儲存於記憶體中的資料來實行操作;內容防火牆控制器,用以判斷自所述第一處理器的記憶體管理控制器所接收到的第一實體位址是安全位址還是非安全位址;以及記憶體保護器,用以自所述第二處理器的所述內容防火牆控制器及記憶體管理控制器中的至少一者接收第二實體位址以存取所述記憶體,將所述記憶體劃分成第一視窗區域及第二視窗區域,所述第一視窗區域包括具有第一大小的第一碎片頁,所述第二視窗區域包括具有第二大小的第二碎片頁,所述第二大小小於所述第一大小,且所述記憶體保護器用以若來自所述第一處理器及所述第二處理器的存取請求不是安全讀取及安全寫入中的至少一者,則保護所述第一碎片頁及所述第二碎片頁不被所述第一處理器及所述第二處理器存取。According to another exemplary embodiment of the inventive concept, a semiconductor device including: a first processor; a second processor, the first processor and the second processor are configured to be stored based on The data in the memory is operated; the content firewall controller is configured to determine whether the first physical address received from the memory management controller of the first processor is a secure address or a non-secure address; a memory protector for receiving a second physical address from at least one of the content firewall controller and the memory management controller of the second processor to access the memory, the memory The body is divided into a first window region including a first fragmented page having a first size, and the second window region includes a second fragmented page having a second size, the first The second size is smaller than the first size, and the memory protector is configured to: if the access request from the first processor and the second processor is not at least one of a secure read and a secure write Who then protect the first fragment and the second fragment page page is not the first processor and the second processor accesses.
根據示例性實施例,所述半導體裝置更包括第三處理器,其中所述記憶體保護器用以自連接至所述第三處理器的外部記憶體管理控制器接收所述第二實體位址,以存取所述記憶體。所述記憶體保護器用以:將所述記憶體劃分成第三視窗區域,所述第三視窗區域包括具有第三大小的第三碎片頁;以及若所述存取請求不是所述安全讀取及所述安全寫入中的至少一者,則保護所述第三碎片頁不被所述第一處理器及所述第二處理器存取。According to an exemplary embodiment, the semiconductor device further includes a third processor, wherein the memory protector is configured to receive the second physical address from an external memory management controller connected to the third processor, To access the memory. The memory protector is configured to: divide the memory into a third window region, the third window region includes a third fragment page having a third size; and if the access request is not the secure read And at least one of the secure writes protecting the third fragment page from being accessed by the first processor and the second processor.
根據示例性實施例,所述半導體裝置的所述記憶體控制器包括記憶體保護器及記憶體控制器。所述記憶體保護器用以將所述記憶體劃分成視窗區域且產生與所述視窗區域相關聯的資訊。所述記憶體控制器用以接收所述與所述視窗區域相關聯的所產生資訊,且基於自所述記憶體保護器接收到的關於所述視窗區域的所述資訊而將安全緩衝區域指配至所述記憶體。所述記憶體控制器更用以:自處理器接收用於存取所述記憶體的命令,搜索所述第一碎片頁,所述第一碎片頁位於所述第一視窗區域中;將所述第一碎片頁指配至所述安全緩衝區域;搜索所述第二碎片頁,所述第二碎片頁位於所述第二視窗區域中,所述第二大小小於所述第一大小;並且將所述第二碎片頁指配至所述安全緩衝區域。According to an exemplary embodiment, the memory controller of the semiconductor device includes a memory protector and a memory controller. The memory protector is configured to divide the memory into a window region and generate information associated with the window region. The memory controller is configured to receive the generated information associated with the window region, and assign a secure buffer region based on the information about the window region received from the memory protector To the memory. The memory controller is further configured to: receive a command for accessing the memory from the processor, and search the first fragment page, where the first fragment page is located in the first window area; The first fragment page is assigned to the security buffer area; the second fragment page is searched, the second fragment page is located in the second window area, the second size is smaller than the first size; The second fragment page is assigned to the secure buffer zone.
在下文中,將參照附圖來詳細闡述示例性實施例。然而,本發明概念可實施為各種不同形式,而不應被視為僅限於所說明的示例性實施例。確切而言,提供該些示例性實施例作為實例是為了使此揭露內容將透徹及完整,並將向熟習此項技術者充分傳達發明概念的概念。因此,不再參照發明概念的某些示例性實施例來闡述習知的製程、元件、及技術。除非另外指明,否則在所有附圖及書面說明通篇中相同的參考編號表示相同的元件,且因此將不再予以贅述。在圖式中,為清晰起見,可誇大層及區的大小及相對大小。Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. The inventive concept may be embodied in a variety of different forms and should not be construed as being limited to the illustrated exemplary embodiments. Rather, the exemplary embodiments are provided as an example of the invention, and are intended to be Therefore, conventional processes, elements, and techniques are not described with reference to certain exemplary embodiments of the inventive concepts. The same reference numerals are used throughout the drawings and the written description, unless otherwise indicated, In the drawings, the size and relative sizes of layers and regions may be exaggerated for clarity.
儘管發明概念容許各種潤飾及替代形式,然而發明概念的具體非限制性示例性實施例是以實例的形式示出於圖式中,且將在本文中進行詳細闡述。然而,應理解,並非旨在將發明概念僅限於所揭露的具體形式,而是相反,發明概念欲涵蓋落於發明概念的精神及範圍內的所有潤飾、等效形式、及替代形式。Although the inventive concept is susceptible to various modifications and alternative forms, the specific non-limiting exemplary embodiments of the inventive concepts are illustrated in the drawings and are set forth in detail herein. It should be understood, however, that the invention is not intended to be limited to the details of the invention.
應理解,儘管本文中可能使用「第一」、「第二」、「第三」等用語來闡述各種元件、組件、區、層及/或區段,然而該些元件、組件、區、層及/或區段不應受該些用語限制。該些用語僅用於區分各個元件、組件、區、層或區段。因此,在不背離發明概念的教示內容的條件下,可將以下所論述的第一元件、組件、區、層或區段稱為第二元件、組件、區、層或區段。It will be understood that, although the terms "first", "second", "third", and the like may be used to describe various elements, components, regions, layers and/or sections, the elements, components, regions, and layers And/or sections should not be limited by these terms. These terms are only used to distinguish between various elements, components, regions, layers or sections. The first element, component, region, layer or section discussed below may be referred to as a second element, component, region, layer or section, without departing from the teachings of the inventive concept.
在本文中,為易於說明,可使用例如「在…之下(beneath)」、「在…下面(below)」、「下方的(lower)」、「在…以下(under)」、「在…之上(above)」、「上方的(upper)」等空間相對性用語來闡述圖中所示的一個元件或特徵與另一(其他)元件或特徵的關係。應理解,所述空間相對性用語旨在除圖中所繪示定向以外亦囊括所述裝置在使用或操作中的不同定向。舉例而言,若圖中的所述裝置被翻轉,則被闡述為在其他元件或特徵「下面」或「之下」或者「以下」的元件此時將被定向為在其他元件或特徵「之上」。因此,示例性用語「在…下面」及「在…以下」可囊括上方及下方兩種定向。所述裝置亦可以其他方式定向(旋轉90度或處於其他定向),且本文中所用的空間相對性用語將相應地進行解釋。另外,亦應理解,當稱層位於兩個層「之間」時,所述層可為所述兩個層之間的唯一層,或者亦可存在一或多個中間層。In this article, for ease of explanation, for example, "beeath", "below", "lower", "under", "in..." can be used. Spatially relative terms such as "above" and "upper" are used to describe the relationship of one element or feature shown in the figure to another (other) element or feature. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation illustrated. For example, if the device in the figures is turned over, the elements that are described as "below" or "below" or "below" the other elements or features will be. on". Therefore, the exemplary terms "below" and "below" can encompass both orientations above and below. The device may also be oriented (rotated 90 degrees or at other orientations) in other ways, and the spatially relative terms used herein will be interpreted accordingly. In addition, it should also be understood that when a layer is referred to as being "between" two layers, the layer may be the only layer between the two layers, or one or more intermediate layers may be present.
本文所用術語僅用於闡述特定示例性實施例,而並非旨在限制發明概念。除非上下文中清楚地另外指明,否則本文所用的單數形式「一(a、an)」及「所述(the)」旨在亦包含複數形式。更應理解,當在本說明書中使用用語「包括(comprises及/或comprising)」時,是用於指明所陳述特徵、整數、步驟、操作、元件、及/或組件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件、及/或其群組的存在或添加。本文所用用語「及/或」包含相關列出項其中一或多個項的任意及所有組合。此外,用語「示例性」旨在指代實例或說明。The terminology used herein is for the purpose of the description of the particular embodiments embodiments The singular forms "a", "an" and "the" It is to be understood that the phrase "comprises and/or "comprising", when used in the specification, is used to indicate the existence of the stated features, integers, steps, operations, components, and / or components, but does not exclude The presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The term "and/or" as used herein includes any and all combinations of one or more of the associated listed. In addition, the term "exemplary" is intended to mean an instance or description.
應理解,當稱一元件或層位於另一元件或層「上」、「連接至」、「耦合至」、或「鄰近於」另一元件或層時,所述元件或層可直接位於所述另一元件或層上、直接連接至、直接耦合至、或直接鄰近於所述另一元件或層、抑或可存在中間元件或層。相比之下,當稱一元件「直接位於」另一元件或層「上」、「直接連接至」、「直接耦合至」、或「緊密鄰近於」另一元件或層時,則不存在中間元件或層。It will be understood that when an element or layer is "on", "connected", "coupled to" or "adjacent" to another element or layer, the element or layer The other element or layer is directly connected to, directly coupled to, or directly adjacent to the other element or layer, or the intermediate element or layer may be present. In contrast, when a component is referred to as being "directly on" another element or layer "on", "directly connected", "directly coupled to" or "closely" to another element or layer, it does not exist. Intermediate component or layer.
除非另有定義,否則本文所使用的所有用語(包括技術及科學用語)的含義皆與發明概念所屬技術領域中具有通常知識者所通常理解的含義相同。更應理解,用語(例如在常用辭典中所定義的用語)應被解釋為具有與其在相關技術及/或本說明書的上下文中的含義一致的含義,且除非本文中清楚地如此定義,否則不應被解釋為具有理想化或過於正式的意義。Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those of ordinary skill in the art. It should be further understood that terms (such as those defined in commonly used dictionaries) should be interpreted as having a meaning consistent with their meaning in the context of the related art and/or the specification, and unless clearly defined herein, It should be interpreted as having an idealized or overly formal meaning.
在下文中,將參照附圖來闡述發明概念的示例性實施例。Hereinafter, an exemplary embodiment of the inventive concept will be explained with reference to the drawings.
圖1是說明根據發明概念示例性實施例的半導體裝置的示意圖。FIG. 1 is a schematic view illustrating a semiconductor device in accordance with an exemplary embodiment of the inventive concept.
參照圖1,根據發明概念示例性實施例的半導體裝置可包括第一處理器100、第二處理器102及第三處理器104、記憶體管理控制器200、內容防火牆控制器300、記憶體保護器400、記憶體控制器410、以及記憶體420。該些組件可藉由互連500(例如,匯流排)來接收及傳輸資料。此處,所述半導體裝置可為可用於行動裝置的應用處理器,但發明概念的範圍並非僅限於此。Referring to FIG. 1, a semiconductor device according to an exemplary embodiment of the inventive concept may include a first processor 100, a second processor 102 and a third processor 104, a memory management controller 200, a content firewall controller 300, and memory protection. The device 400, the memory controller 410, and the memory 420. The components can receive and transmit data via an interconnect 500 (eg, a bus bar). Here, the semiconductor device may be an application processor usable for a mobile device, but the scope of the inventive concept is not limited thereto.
第一處理器100、第二處理器102、第三處理器104、記憶體管理控制器200、內容防火牆控制器300、記憶體保護器400、及記憶體控制器410是利用硬體組件、用於執行軟體組件的處理器、或其組合中的任一者而實作。在發明概念示例性實施例中所闡述的對一或多個演算法的執行、上述硬體組件、或用於執行軟體組件的處理器會造成使用專用處理器。如發明概念示例性實施例中所呈現的演算法構成充足結構,所述充足結構可包括—包含但不僅限於—在執行時造成使用專用處理器或電腦的數學公式、流程圖、電腦碼、及/或步驟。The first processor 100, the second processor 102, the third processor 104, the memory management controller 200, the content firewall controller 300, the memory protector 400, and the memory controller 410 are configured by using hardware components. Implemented in any of the processors executing the software components, or a combination thereof. Execution of one or more algorithms, hardware components described above, or processors for executing software components as set forth in the exemplary embodiments of the inventive concepts may result in the use of a dedicated processor. An algorithm as presented in the exemplary embodiments of the inventive concept constitutes a sufficient structure, which may include, but is not limited to, a mathematical formula, a flowchart, a computer code, and/or / or steps.
所述一或多個上述處理器是電腦處理裝置,所述電腦處理裝置用以藉由實行算術操作、邏輯操作、及輸入/輸出操作來施行程式碼。一旦程式碼被加載至一或多個處理器中,所述一或多個處理器便可被程式化以實行所述程式碼,藉此將所述一或多個處理器轉變成一或多個專用處理器或電腦。作為另一選擇,或除以上所論述的處理器以外,所述硬體裝置可包括一或多個中央處理單元(CPU)、數位訊號處理器(digital signal processor,DSP)、應用專用積體電路(application-specific-integrated-circuit,ASIC)、系統單晶片(system on chip,SoC)、現場可程式化閘陣列(field programmable gate array,FPGA)等。在至少某些情形中,所述一或多個中央處理單元、系統單晶片、數位訊號處理器(DSP)、應用專用積體電路(ASIC)及現場可程式化閘陣列(FPGA)可一般而言被稱作處理電路及/或微處理器。The one or more processors are computer processing devices for applying a run length code by performing arithmetic operations, logic operations, and input/output operations. Once the code is loaded into one or more processors, the one or more processors can be programmed to execute the code, thereby converting the one or more processors into one or more Dedicated processor or computer. Alternatively, or in addition to the processors discussed above, the hardware device may include one or more central processing units (CPUs), digital signal processors (DSPs), application-specific integrated circuits (application-specific-integrated-circuit, ASIC), system on chip (SoC), field programmable gate array (FPGA), and the like. In at least some instances, the one or more central processing units, system single-chip, digital signal processor (DSP), application-specific integrated circuit (ASIC), and field programmable gate array (FPGA) can be It is called a processing circuit and/or a microprocessor.
第一處理器100、第二處理器102、及第三處理器104可利用儲存於記憶體420中的資料來實行操作。第一處理器100、第二處理器102、及第三處理器104可向記憶體控制器410提供用於將所述資料寫入記憶體420中的命令及用於讀取儲存於記憶體420中的資料的命令。此處,所述資料可為包含多媒體資料的內容資料,但發明概念的範圍並非僅限於此。所述資料可為包含作業系統(operating system)碼的系統資料。The first processor 100, the second processor 102, and the third processor 104 can perform operations using data stored in the memory 420. The first processor 100, the second processor 102, and the third processor 104 can provide the memory controller 410 with a command for writing the data into the memory 420 and for reading and storing in the memory 420. The order of the information in the file. Here, the material may be content material containing multimedia materials, but the scope of the inventive concept is not limited thereto. The data may be system data containing an operating system code.
在發明概念的某些示例性實施例中,第一處理器100、第二處理器102、及第三處理器104可包括中央處理單元(CPU)、圖形處理單元(graphic processing unit,GPU)、多媒體智慧財產(multimedia intellectual property,MIP)等,但發明概念的範圍並非僅限於此。In some exemplary embodiments of the inventive concept, the first processor 100, the second processor 102, and the third processor 104 may include a central processing unit (CPU), a graphics processing unit (GPU), Multimedia intellectual property (MIP), etc., but the scope of the inventive concept is not limited to this.
同時,隨後將參照圖2及圖3來闡述記憶體管理控制器200及內容防火牆控制器300。Meanwhile, the memory management controller 200 and the content firewall controller 300 will be described later with reference to FIGS. 2 and 3.
記憶體保護器400保護記憶體的一部分不經受第一處理器100、第二處理器102、及第三處理器104的外部非安全存取。具體而言,記憶體保護器400將記憶體420的區域劃分成多個視窗區域,且保護所述多個視窗區域不經受第一處理器100、第二處理器102、及第三處理器104的非安全存取。The memory protector 400 protects a portion of the memory from external non-secure access by the first processor 100, the second processor 102, and the third processor 104. Specifically, the memory protector 400 divides the area of the memory 420 into a plurality of window areas, and protects the plurality of window areas from the first processor 100, the second processor 102, and the third processor 104. Non-secure access.
應注意,一個視窗區域可包括用於儲存安全資料的安全記憶體區域及用於儲存非安全資料的非安全記憶體區域二者。此處,可藉由安全位址來存取所述安全記憶體區域,且可藉由非安全位址來存取所述非安全記憶體區域。關於哪一位址是安全位址或非安全位址的資訊可由記憶體保護器400管理而作為具體資料結構,例如,頁表。包含於一個視窗區中的非安全記憶體區域可為用於被指配至隨後所欲闡述的安全緩衝器的候選區域。It should be noted that a window area may include both a secure memory area for storing secure data and a non-secure memory area for storing non-secure data. Here, the secure memory area can be accessed by a secure address, and the non-secure memory area can be accessed by a non-secure address. Information about which address is a secure address or a non-secure address can be managed by the memory protector 400 as a specific data structure, such as a page table. The non-secure memory area contained in a window area may be a candidate area for being assigned to a security buffer as will be described later.
記憶體保護器400將關於所述多個視窗區域的資訊提供至記憶體控制器410。The memory protector 400 provides information about the plurality of window regions to the memory controller 410.
記憶體控制器410可處理第一處理器100、第二處理器102、及第三處理器104對存取記憶體420的請求,且亦可基於所述關於所述多個視窗區域的資訊而將安全緩衝區域指配至記憶體420,所述資訊提供自記憶體保護器400。The memory controller 410 can process the request of the first processor 100, the second processor 102, and the third processor 104 to access the memory 420, and can also be based on the information about the plurality of window regions. The secure buffer area is assigned to memory 420, which is provided from memory protector 400.
所述安全緩衝區域指代被提供以儲存安全資料(例如,安全內容資料(例如,數位權利管理(digital right management,DRM)資料))的安全記憶體區域。亦即,由數位權利管理所保護的安全資料必須儲存於被保護而不經受第一處理器100、第二處理器102、及第三處理器104的非安全存取的記憶體區域中。The secure buffer area refers to a secure memory area that is provided to store secure material (eg, secure content material (eg, digital right management (DRM) material)). That is, the security material protected by the digital rights management must be stored in a memory area that is protected from the non-secure access of the first processor 100, the second processor 102, and the third processor 104.
舉例而言,當記憶體控制器410自第一處理器100、第二處理器102、及第三處理器104接收到1024百萬位元組的安全資料的寫入請求時,記憶體控制器410必須確保充足的記憶體,以成功寫入1024百萬位元組的安全資料。為方便闡釋,假設由第一處理器100、第二處理器102、及第三處理器104請求的安全資料是數位權利管理視訊資料。在此種情形中,當因預先考慮不確定是否是由第一處理器100、第二處理器102、及第三處理器104請求的安全資料而在記憶體420中預先保留1024百萬位元組的安全記憶體區域時,此安全記憶體區域不能用於任何其他目的,從而會浪費記憶體資源。For example, when the memory controller 410 receives a write request of 1024 million-bit security data from the first processor 100, the second processor 102, and the third processor 104, the memory controller 410 must ensure sufficient memory to successfully write 1024 million bytes of security material. For convenience of explanation, it is assumed that the security material requested by the first processor 100, the second processor 102, and the third processor 104 is digital rights management video material. In this case, 1024 megabits are reserved in the memory 420 in advance in the memory 420 when it is determined in advance whether or not the security data requested by the first processor 100, the second processor 102, and the third processor 104 is determined. This secure memory area cannot be used for any other purpose when the group's secure memory area is used, thus wasting memory resources.
同時,應為由第一處理器100、第二處理器102、及第三處理器104請求的數位權利管理視訊資料保留的記憶體的量可為大量的。然而,即使當記憶體420中的可用記憶體具有充足的大小來儲存所述數位權利管理視訊資料,特別是若所述可用記憶體被劃分成非常大量的小型碎片(例如,小於64千位元組)並分佈於行動應用執行環境中,則可難以為數位權利管理視訊資料收集到充足量的記憶體。At the same time, the amount of memory that should be reserved for the digital rights management video data requested by the first processor 100, the second processor 102, and the third processor 104 can be large. However, even when the available memory in memory 420 is of sufficient size to store the digital rights management video material, particularly if the available memory is divided into a very large number of small fragments (eg, less than 64 kilobits) Groups) and distributed in the mobile application execution environment, it is difficult to collect a sufficient amount of memory for digital rights management video data.
記憶體控制器410藉由基於所述關於所述多個視窗區域的資訊而將安全緩衝區域指配至記憶體420來克服此類問題,所述資訊提供自記憶體保護器400,且隨後將闡述其詳細內容。The memory controller 410 overcomes such problems by assigning a secure buffer area to the memory 420 based on the information about the plurality of window regions, the information being provided from the memory protector 400, and then Explain the details.
記憶體420可包括上述多個視窗區域,且可包括被保留以寫入安全內容資料的安全緩衝區域。在發明概念的某些示例性實施例中,記憶體420可包括動態隨機存取記憶體(dynamic random-access memory,DRAM),但記憶體的種類並非僅限於此。The memory 420 can include a plurality of window regions as described above, and can include a secure buffer region that is reserved for writing secure content material. In some exemplary embodiments of the inventive concept, the memory 420 may include a dynamic random-access memory (DRAM), but the type of the memory is not limited thereto.
圖2是說明根據發明概念示例性實施例的半導體裝置的操作的示意圖。FIG. 2 is a schematic diagram illustrating an operation of a semiconductor device in accordance with an exemplary embodiment of the inventive concept.
參照圖2,第一處理器100可為多媒體IP。多媒體IP的實例可至少包括但不僅限於記憶體流控制器(memory flow controller,MFC)、定標器(Scalers)、及DeCON。自第一處理器100生成的記憶體存取請求被傳輸至記憶體管理控制器200。Referring to FIG. 2, the first processor 100 may be a multimedia IP. Examples of multimedia IP may include, but are not limited to, a memory flow controller (MFC), a scaler, and a DeCON. The memory access request generated from the first processor 100 is transmitted to the memory management controller 200.
自第一處理器100生成的記憶體存取請求使用虛擬位址。記憶體管理控制器200將包含於所述請求中的虛擬位址轉換成實體位址,並將包含所述實體位址的所述請求傳輸至記憶體保護器400。The memory access request generated from the first processor 100 uses a virtual address. The memory management controller 200 converts the virtual address included in the request into a physical address and transmits the request containing the physical address to the memory protector 400.
與此一起,記憶體管理控制器200檢查自第一處理器100生成的記憶體存取請求是否為對安全位址的請求,且僅當所述請求對應於安全讀取及安全寫入中的一者時將所述請求傳輸至記憶體保護器400。Along with this, the memory management controller 200 checks whether the memory access request generated from the first processor 100 is a request for a secure address, and only when the request corresponds to a secure read and a secure write. The request is transmitted to the memory protector 400 at one time.
舉例而言,當第一處理器100的請求為用於將安全內容資料寫入所述非安全記憶體區域中的請求或用於讀取儲存於所述非安全記憶體區域中的系統資料(例如,作業系統碼)的請求時,記憶體管理控制器200可將錯誤訊息傳輸至第一處理器100,而無需處理此種請求。以此種方式,可藉由有安全意識的記憶體管理控制器200來處理來自沒有安全意識的第一處理器100的請求。For example, when the request of the first processor 100 is a request for writing the secure content material into the non-secure memory area or for reading system data stored in the non-secure memory area ( For example, upon request of the operating system code, the memory management controller 200 can transmit an error message to the first processor 100 without processing such a request. In this manner, the request from the first processor 100 without security awareness can be handled by the security-conscious memory management controller 200.
對於此操作,記憶體管理控制器200可管理並維持資料結構,例如,包含記憶體420的位址資訊及關於所述位址的安全屬性資訊的頁表。在發明概念的某些示例性實施例中,所述安全屬性資訊可包括安全讀取旗標、安全寫入旗標、非安全讀取旗標、及非安全寫入旗標。For this operation, the memory management controller 200 can manage and maintain the data structure, for example, address information including the memory 420 and a page table of security attribute information about the address. In some exemplary embodiments of the inventive concept, the security attribute information may include a secure read flag, a secure write flag, a non-secure read flag, and a non-secure write flag.
此後,如隨後所闡述,記憶體控制器410可處理第一處理器100的請求,且亦可基於所述關於所述多個視窗區域的資訊而將安全緩衝區域指配至記憶體420,所述資訊提供自記憶體保護器400。Thereafter, as explained later, the memory controller 410 can process the request of the first processor 100, and can also assign the secure buffer area to the memory 420 based on the information about the plurality of window areas. The information is provided from the memory protector 400.
圖3是說明根據發明概念示例性實施例的半導體裝置的另一操作的示意圖。FIG. 3 is a schematic diagram illustrating another operation of a semiconductor device in accordance with an exemplary embodiment of the inventive concept.
參照圖3,第二處理器102可為圖形處理單元(GPU)。在此種情形中,第二處理器102(即,圖形處理單元)可包括圖形處理單元核心102a及記憶體管理控制器102b。此處,假設包含於第二處理器102中的記憶體管理控制器102b沒有安全意識。Referring to FIG. 3, the second processor 102 can be a graphics processing unit (GPU). In this case, the second processor 102 (ie, the graphics processing unit) may include a graphics processing unit core 102a and a memory management controller 102b. Here, it is assumed that the memory management controller 102b included in the second processor 102 has no security awareness.
自圖形處理單元核心102a生成的記憶體存取請求被傳輸至記憶體管理控制器102b,且包含於此請求中的虛擬位址藉由記憶體管理控制器102b而轉換成實體位址。記憶體管理控制器102b可將所述包含所述實體位址的請求傳輸至內容防火牆控制器300。The memory access request generated from the graphics processing unit core 102a is transmitted to the memory management controller 102b, and the virtual address included in this request is converted into a physical address by the memory management controller 102b. The memory management controller 102b may transmit the request containing the physical address to the content firewall controller 300.
內容防火牆控制器300檢查自第二處理器102生成的記憶體存取請求是否為對安全位址的請求,並僅當所述請求對應於安全讀取及安全寫入中的一者時將所述請求傳輸至記憶體保護器400。The content firewall controller 300 checks if the memory access request generated from the second processor 102 is a request for a secure address and only if the request corresponds to one of a secure read and a secure write The request is transmitted to the memory protector 400.
舉例而言,當第二處理器102的請求為用於將安全內容資料寫入所述非安全記憶體區域中的請求或用於讀取儲存於所述非安全記憶體區域中的系統資料(例如,作業系統碼)的請求時,內容防火牆控制器300可將錯誤訊息傳輸至第二處理器102,而無需處理此種請求。以此種方式,可藉由有安全意識的內容防火牆控制器300來處理來自沒有安全意識的第二處理器102的請求。For example, when the request of the second processor 102 is a request for writing the secure content material into the non-secure memory area or for reading system data stored in the non-secure memory area ( For example, upon request of the operating system code, the content firewall controller 300 can transmit an error message to the second processor 102 without having to process such a request. In this manner, the request from the second processor 102 without security awareness can be handled by the security-aware content firewall controller 300.
對於此操作,內容防火牆控制器300可管理並維持資料結構,例如,包含記憶體420的位址資訊及關於所述位址的安全屬性資訊的頁表。在發明概念的某些示例性實施例中,所述安全屬性資訊可至少包括安全讀取旗標、安全寫入旗標、非安全讀取旗標、及非安全寫入旗標。For this operation, the content firewall controller 300 can manage and maintain the data structure, for example, address information including the memory 420 and a page table of security attribute information about the address. In some exemplary embodiments of the inventive concept, the security attribute information may include at least a secure read flag, a secure write flag, a non-secure read flag, and a non-secure write flag.
此後,如隨後所闡述,記憶體控制器410可處理第二處理器102的請求,且亦可基於所述關於所述多個視窗區域的資訊而將安全緩衝區域指配至記憶體420,所述資訊提供自記憶體保護器400。Thereafter, as explained later, the memory controller 410 can process the request of the second processor 102, and can also assign the secure buffer area to the memory 420 based on the information about the plurality of window areas. The information is provided from the memory protector 400.
圖4是說明根據發明概念示例性實施例的半導體裝置的又一操作的示意圖。FIG. 4 is a schematic diagram illustrating still another operation of a semiconductor device in accordance with an exemplary embodiment of the inventive concept.
參照圖4,第三處理器104可為中央處理單元。在此種情形中,第三處理器104(即,中央處理單元)可包括中央處理單元核心104a及記憶體管理控制器104b。此處,假設包含於第三處理器104中的記憶體管理控制器104b有安全意識。Referring to Figure 4, the third processor 104 can be a central processing unit. In this case, the third processor 104 (ie, the central processing unit) can include the central processing unit core 104a and the memory management controller 104b. Here, it is assumed that the memory management controller 104b included in the third processor 104 is security-conscious.
自中央處理單元核心104a生成的記憶體存取請求被傳輸至記憶體管理控制器104b,且包含於此請求中的虛擬位址藉由記憶體管理控制器104b而轉換成實體位址。記憶體管理控制器104b可將所述包含所述實體位址的請求傳輸至記憶體保護器400。The memory access request generated from the central processing unit core 104a is transmitted to the memory management controller 104b, and the virtual address contained in this request is converted into a physical address by the memory management controller 104b. The memory management controller 104b may transmit the request containing the physical address to the memory protector 400.
在示例性實施例中,由於包含於第三處理器104中的記憶體管理控制器104b檢查自中央處理單元核心104a所預先生成的記憶體存取請求是否為對安全位址的請求,因此不需要額外的組件。In an exemplary embodiment, since the memory management controller 104b included in the third processor 104 checks whether the memory access request pre-generated from the central processing unit core 104a is a request for a secure address, Additional components are required.
此後,如隨後所闡述,記憶體控制器410可處理第二處理器102的請求,且亦可基於所述關於所述多個視窗區域的資訊而將安全緩衝區域指配至記憶體420,所述資訊提供自記憶體保護器400。Thereafter, as explained later, the memory controller 410 can process the request of the second processor 102, and can also assign the secure buffer area to the memory 420 based on the information about the plurality of window areas. The information is provided from the memory protector 400.
圖5是說明根據發明概念示例性實施例的半導體裝置的記憶體結構的示意圖。FIG. 5 is a schematic view illustrating a memory structure of a semiconductor device in accordance with an exemplary embodiment of the inventive concept.
參照圖5,記憶體420可包括多個視窗區域600、610、及620。Referring to FIG. 5, the memory 420 can include a plurality of window regions 600, 610, and 620.
如上所述,視窗區域600、610、及620中的每一者可包括分別藉由安全位址及非安全位址來存取的安全記憶體區域及非安全記憶體區域二者。此外,視窗區域600、610、及620中的每一者可包括被指配至專用處理器並已被使用的非可用記憶體區域、及可視需要而使用的可用記憶體區域。具體而言,在發明概念的某些示例性實施例中,所述可用記憶體區域可包括存留於所述非可用記憶體區域之間的碎片頁。As described above, each of the window regions 600, 610, and 620 can include both a secure memory region and a non-secure memory region accessed by a secure address and a non-secure address, respectively. In addition, each of the window regions 600, 610, and 620 can include a non-available memory region that is assigned to a dedicated processor and that has been used, and an available memory region that can be used as needed. In particular, in certain exemplary embodiments of the inventive concept, the available memory regions may include fragmented pages that remain between the non-available memory regions.
舉例而言,視窗區域600及620中的每一者可包括其中頻繁發生對比較小型的資料的記憶體指配及記憶體解除指配的記憶體區域。當所述記憶體區域中頻繁發生對比較小型的資料的記憶體指配及記憶體解除指配時,對應記憶體區域的碎片率(fragmentation rate)可增大。因此,存在於視窗區域600及620中的每一者中的可用記憶體區域可作為大量的小型碎片頁而存在。舉例而言,存在於視窗區域600及620中的每一者中的可用記憶體區域可包括大量的具有小於64千位元組的大小的碎片頁。For example, each of the window regions 600 and 620 can include a memory region in which memory assignments and memory de-allocations of relatively small data occur frequently. When the memory assignment and the memory release assignment of relatively small data frequently occur in the memory region, the fragmentation rate of the corresponding memory region may increase. Thus, the available memory regions present in each of the window regions 600 and 620 can exist as a large number of small fragmented pages. For example, the available memory regions present in each of the window regions 600 and 620 can include a large number of fragmented pages having a size less than 64 kilobytes.
另一方面,視窗區域610可包括其中不頻繁發生對比較大型的資料(例如,多媒體資料)的記憶體指配及記憶體解除指配的記憶體區域。當所述記憶體區域中不頻繁發生對比較大型的資料的記憶體指配及記憶體解除指配時,對應記憶體區域的碎片率可減小。因此,存在於視窗區域610中的可用記憶體區域可作為少量的大型碎片頁而存在。舉例而言,存在於視窗區域610中的可用記憶體區域可包括少量的具有大於64千位元組的大小的碎片頁。On the other hand, the window area 610 may include a memory area in which memory assignment and memory de-allocation of relatively large data (e.g., multimedia material) occur infrequently. When the memory assignment and the memory release assignment of relatively large data occur infrequently in the memory region, the fragmentation rate of the corresponding memory region can be reduced. Therefore, the available memory area present in the window area 610 can exist as a small number of large fragmented pages. For example, the available memory regions present in the window region 610 can include a small number of fragmented pages having a size greater than 64 kilobytes.
圖6及圖7是分別說明根據發明概念示例性實施例的半導體裝置的記憶體指配過程的示意圖。6 and 7 are schematic views respectively illustrating a memory assignment process of a semiconductor device according to an exemplary embodiment of the inventive concept.
參照圖6,具有大於64千位元組的大小的可用記憶體區域大多存在於以上參照圖5所闡述的視窗區域610中。在此種情形中,記憶體保護器400可保護具有64千位元組大小的碎片頁612、614、及618不經受第一處理器100、第二處理器102、及第三處理器104的非安全存取。Referring to Figure 6, available memory regions having a size greater than 64 kilobytes are mostly present in the window region 610 as described above with reference to Figure 5. In this case, the memory protector 400 can protect the fragment pages 612, 614, and 618 having a size of 64 kilobytes from being subjected to the first processor 100, the second processor 102, and the third processor 104. Non-secure access.
舉例而言,記憶體保護器400可指配具有64千位元組大小的碎片頁612、614、及618作為用於儲存安全內容資料的安全緩衝器700。在此種情形中,比較大型的可用記憶體區域被指配至安全緩衝器700,藉此以比較少的操作費用來獲得安全緩衝器700所必需的容量。For example, memory protector 400 can be assigned fragment pages 612, 614, and 618 having a size of 64 kilobytes as a secure buffer 700 for storing secure content material. In this case, a relatively large available memory area is assigned to the secure buffer 700, thereby obtaining the necessary capacity of the secure buffer 700 with relatively little operating expense.
然而,由於記憶體保護器400僅搜索具有64千位元組大小的碎片頁—其為視窗區域610中的可用記憶體區域,因此即使當視窗區域610包括大量具有4千位元組大小的碎片頁616時,只有具有64千位元組大小的碎片頁612、614、及618會被指配至安全緩衝器700。若具有64千位元組大小的碎片頁不充足,則在獲得安全緩衝器700的嘗試中可能發生延遲或故障。However, since the memory protector 400 searches only for fragmented pages having a size of 64 kilobytes, which is an available memory area in the window area 610, even when the window area 610 includes a large number of fragments having a size of 4 kilobytes At page 616, only fragment pages 612, 614, and 618 having a size of 64 kilobytes are assigned to the secure buffer 700. If there are insufficient fragment pages with a size of 64 kilobytes, a delay or failure may occur in the attempt to obtain the secure buffer 700.
參照圖7,具有小於4千位元組大小的可用記憶體區域大多存在於以上參照圖5所闡述的視窗區域600中。在此種情形中,記憶體保護器400可保護具有4千位元組大小的碎片頁602、604、606、及608不經受第一處理器100、第二處理器102、及第三處理器104的非安全存取。Referring to Figure 7, available memory regions having a size less than 4 kilobytes are mostly present in the window region 600 as explained above with reference to Figure 5. In this case, the memory protector 400 can protect the fragment pages 602, 604, 606, and 608 having a size of 4 kilobytes from being subjected to the first processor 100, the second processor 102, and the third processor. 104 non-secure access.
舉例而言,記憶體保護器400可指配具有4千位元組大小的碎片頁602、604、606、及608作為用於儲存安全內容資料的安全緩衝器700。因此,安全緩衝器700所必需的容量可甚至自具有高碎片率的記憶體區域獲得。For example, the memory protector 400 can assign fragment pages 602, 604, 606, and 608 having a size of 4 kilobytes as a secure buffer 700 for storing secure content material. Therefore, the capacity necessary for the security buffer 700 can be obtained even from a memory region having a high fragmentation rate.
如圖6及圖7中所示,收集比較大型的碎片頁及收集比較小型的碎片頁分別同時具有優點及缺點。亦即,收集比較大型的碎片頁有利於使得可以比較少的費用來快速獲得高容量,但不利在於比較小型的碎片頁無法得到利用。同時,收集比較小型的碎片頁有利於使得可充分利用記憶體資源,但不利在於會頻繁產生費用。As shown in Figures 6 and 7, the collection of relatively large fragmented pages and the collection of relatively small fragmented pages have advantages and disadvantages, respectively. That is, collecting relatively large fragmented pages is advantageous in that high capacity can be quickly obtained with relatively low cost, but it is disadvantageous that relatively small fragmented pages cannot be utilized. At the same time, collecting relatively small fragmented pages is advantageous in making it possible to make full use of memory resources, but it is disadvantageous in that costs are frequently generated.
因此,在發明概念的各種示例性實施例中,記憶體420包括多個視窗區域600、610、及620。與所述多個視窗區域600、610、620中的視窗區域600及620對應的記憶體區域提供比較小型的碎片頁,且與所述多個視窗區域600、610、及620中的視窗區域610對應的記憶體區域提供比較大型的碎片頁,藉此有效地獲得安全內容資料的安全緩衝器700。Thus, in various exemplary embodiments of the inventive concept, memory 420 includes a plurality of window regions 600, 610, and 620. A memory region corresponding to the window regions 600 and 620 of the plurality of window regions 600, 610, 620 provides a relatively small fragmented page, and a window region 610 of the plurality of window regions 600, 610, and 620 The corresponding memory area provides a relatively large fragmented page, thereby effectively obtaining a secure buffer 700 of secure content material.
圖8及圖9A是說明根據發明概念示例性實施例的由記憶體保護器400所使用的頁表的示意圖。8 and 9A are schematic diagrams illustrating a page table used by the memory protector 400, according to an exemplary embodiment of the inventive concept.
參照圖8,記憶體保護器400可使用包含與所述多個視窗區域600、610、及620對應的記憶體位址資訊的頁表800。Referring to FIG. 8, the memory protector 400 can use a page table 800 that includes memory address information corresponding to the plurality of window regions 600, 610, and 620.
頁表800可包括記憶體420的記憶體位址810、關於所述位址的安全屬性資訊820、830、840及850、以及與所述位址對應的視窗辨識旗標資訊860。The page table 800 can include a memory address 810 of the memory 420, security attribute information 820, 830, 840, and 850 with respect to the address, and window identification flag information 860 corresponding to the address.
在發明概念的某些示例性實施例中,安全屬性資訊820、830、840及850可包括非安全讀取(non-secure reading,NSR)旗標820、非安全寫入(non-secure writing,NSW)旗標830、安全讀取(secure reading,SR)旗標840、及安全寫入(secure writing,SW)旗標850。舉例而言,其意味著在其中設置有非安全讀取旗標820及非安全寫入旗標830的記憶體位址中可進行非安全存取,且其意味著在其中設置有安全讀取旗標840及安全寫入旗標850的記憶體位址中僅可進行安全存取。In some exemplary embodiments of the inventive concept, security attribute information 820, 830, 840, and 850 may include non-secure reading (NSR) flag 820, non-secure writing (non-secure writing, The NSW flag 830, the secure reading (SR) flag 840, and the secure writing (SW) flag 850. For example, it means that non-secure access is possible in a memory address in which the non-secure read flag 820 and the non-secure write flag 830 are set, and it means that a secure read flag is set therein. Only secure access is available in the memory address of the target 840 and the secure write flag 850.
同時,參照圖9A,在頁表870中,利用視窗辨識旗標資訊860來劃分視窗區域600、610、620。Meanwhile, referring to FIG. 9A, in the page table 870, the window recognition flag information 860 is used to divide the window regions 600, 610, 620.
舉例而言,當視窗辨識旗標資訊860的值為「0」時,與記憶體位址810對應的記憶體區域可被搜索作為具有第一大小(例如,4千位元組)的碎片頁。與此不同,當視窗辨識旗標資訊860的值為「1」時,則與記憶體位址810對應的記憶體區域可被搜索作為具有第二大小(例如,64千位元組)的碎片頁。For example, when the value of the window identification flag information 860 is "0", the memory area corresponding to the memory address 810 can be searched as a fragmented page having a first size (for example, 4 kilobytes). In contrast, when the value of the window identification flag information 860 is "1", the memory area corresponding to the memory address 810 can be searched as a fragmented page having a second size (for example, 64 kilobytes). .
舉例而言,由於與為「0x0100_0000」至「0x07FF_FFFF」的記憶體位址810對應的記憶體區域中的視窗辨識旗標資訊860的值為「0」,因此此記憶體區域可意指可提供具有第一大小(例如,4千位元組)的碎片頁的視窗區域600。此外,由於與為「0x3000_0000」至「0x4FFF_FFFF」的記憶體位址810對應的記憶體區域中的視窗辨識旗標資訊860的值為「1」,因此此記憶體區域可意指可提供具有第二大小(例如,64千位元組)的碎片頁的視窗區域610。此外,由於與為「0x5100_0000」至「0x57FF_FFFF」的記憶體位址810對應的記憶體區域中的視窗辨識旗標資訊860的值為「0」,因此此記憶體區域可意指可提供具有第一大小(例如,4千位元組)的碎片頁的視窗區域620。For example, since the value of the window identification flag information 860 in the memory area corresponding to the memory address 810 of "0x0100_0000" to "0x07FF_FFFF" is "0", the memory area may be provided to have A window area 600 of a fragmented page of a first size (eg, 4 kilobytes). In addition, since the value of the window identification flag information 860 in the memory area corresponding to the memory address 810 of "0x3000_0000" to "0x4FFF_FFFF" is "1", the memory area may be provided to have a second A window area 610 of a fragmented page of size (eg, 64 kilobytes). In addition, since the value of the window identification flag information 860 in the memory area corresponding to the memory address 810 of "0x5100_0000" to "0x57FF_FFFF" is "0", the memory area may be provided to have the first A window area 620 of a fragmented page of size (eg, 4 kilobytes).
如上所述,記憶體420包括所述多個視窗區域600、610、及620。在所述多個視窗區域600、610、及620中,與視窗區域600及620對應的記憶體區域提供具有比較小的大小的碎片頁,且與視窗區域610對應的記憶體區域提供具有比較大的大小的碎片頁,藉此有效地獲得安全內容資料的安全緩衝器700。As described above, the memory 420 includes the plurality of window regions 600, 610, and 620. In the plurality of window regions 600, 610, and 620, the memory regions corresponding to the window regions 600 and 620 provide fragmented pages having a relatively small size, and the memory regions corresponding to the window regions 610 are provided to be relatively large. The size of the fragmented page, thereby effectively obtaining a secure buffer 700 of secure content material.
圖9B是說明圖9A中所示頁表的另一示例性實施例的示意圖。Figure 9B is a schematic diagram illustrating another exemplary embodiment of the page table shown in Figure 9A.
參照圖9B,其中利用視窗辨識旗標資訊860來劃分視窗區域600、610、及620的頁表872可不同於參照圖9A所闡述的頁表870。Referring to FIG. 9B, the page table 872 in which the window identification flag information 860 is used to divide the window regions 600, 610, and 620 may be different from the page table 870 illustrated with reference to FIG. 9A.
在圖9A所示頁表870的情形中,針對每一記憶體位址810儲存視窗辨識旗標資訊860。舉例而言,為「0x0100_0000」至「0x07FF_FFFF」的記憶體位址810具有各自具有為「0」的值的視窗辨識旗標資訊860,且為「0x3000_0000」至「0x4FFF_FFFF」的記憶體位址810具有各自具有為「1」的值的視窗辨識旗標資訊860。當頁表870是以此種方式而配置時,頁表870的大小會因n個記憶體位址810(此處,n是1或大於1的整數)中的每一者包含n個視窗辨識旗標資訊860而變得非常大。In the case of page table 870 shown in FIG. 9A, window identification flag information 860 is stored for each memory address 810. For example, the memory address 810 of "0x0100_0000" to "0x07FF_FFFF" has window identification flag information 860 each having a value of "0", and the memory addresses 810 of "0x3000_0000" to "0x4FFF_FFFF" have respective The window identification flag information 860 having a value of "1". When the page table 870 is configured in this manner, the size of the page table 870 will include n window identification flags for each of the n memory addresses 810 (here, n is an integer greater than 1 or greater than 1). The information 860 becomes very large.
與此不同,在示例性實施例的頁表872中,不針對每一記憶體位址810儲存視窗辨識旗標資訊860,而僅將一個視窗辨識旗標資訊860指配至每一視窗區域。具體而言,頁表872可包括開始位址(S_ADDR)、結束位址(E_ADDR)、及視窗辨識旗標(W)柱。In contrast, in the page table 872 of the exemplary embodiment, the window identification flag information 860 is not stored for each memory address 810, and only one window identification flag information 860 is assigned to each window area. In particular, page table 872 can include a start address (S_ADDR), an end address (E_ADDR), and a window identification flag (W) column.
舉例而言,其中開始位址為「0x0100_0000」且結束位址為「0x07FF_FFFF」的視窗區域600儲存具有為「0」的值的視窗辨識旗標資訊,以使得與所述位址範圍對應的視窗能夠提供具有第一大小(例如,4千位元組)的碎片頁。此外,其中開始位址為「0x3000_0000」且結束位址為「0x4FFF_FFFF」的視窗區域620儲存具有為「1」的值的視窗辨識旗標資訊,以使得與所述位址範圍對應的視窗能夠提供具有第二大小(例如,64千位元組)的碎片頁。For example, the window area 600 in which the start address is "0x0100_0000" and the end address is "0x07FF_FFFF" stores the window identification flag information having the value of "0" so that the window corresponding to the address range is made. A fragmented page having a first size (eg, 4 kilobytes) can be provided. In addition, the window area 620 in which the start address is "0x3000_0000" and the end address is "0x4FFF_FFFF" stores window identification flag information having a value of "1", so that the window corresponding to the address range can be provided. A fragmented page with a second size (eg, 64 kilobytes).
由於以此種方式而配置的頁表872針對由視窗區域600、610、及620所指明的每一區域而僅包括單一的視窗辨識旗標資訊860,因此頁表872的大小可變得非常小。Since the page table 872 configured in this manner includes only a single window identification flag information 860 for each of the areas indicated by the window areas 600, 610, and 620, the size of the page table 872 can be made very small. .
圖9C是說明根據發明概念示例性實施例的半導體裝置的又一操作的示意圖,且圖9D是說明在圖9C中所示操作中使用的頁表的示意圖。9C is a schematic diagram illustrating still another operation of the semiconductor device according to an exemplary embodiment of the inventive concept, and FIG. 9D is a schematic diagram illustrating a page table used in the operation illustrated in FIG. 9C.
參照圖9C,記憶體420可包括多個視窗區域660、662、664、666、及668。Referring to FIG. 9C, the memory 420 may include a plurality of window regions 660, 662, 664, 666, and 668.
舉例而言,視窗區域660及662中的每一者可包括其中頻繁發生對比較小型的資料的記憶體指配及記憶體解除指配的記憶體區域。當所述記憶體區域中頻繁發生對比較小型的資料的記憶體指配及記憶體解除指配時,對應記憶體區域的碎片率可增大。因此,存在於視窗區域660及662中的每一者中的可用記憶體區域可作為大量的小型碎片頁而存在。舉例而言,存在於視窗區域660及662中的每一者中的可用記憶體區域可包括大量的具有小於64千位元組的大小的碎片頁。For example, each of the window regions 660 and 662 can include a memory region in which memory assignments and memory de-allocations of relatively small data occur frequently. When the memory assignment and the memory release assignment of relatively small data frequently occur in the memory region, the fragmentation rate of the corresponding memory region may increase. Thus, the available memory regions present in each of the window regions 660 and 662 can exist as a large number of small fragmented pages. For example, the available memory regions present in each of the window regions 660 and 662 can include a large number of fragmented pages having a size less than 64 kilobytes.
另一方面,視窗區域666及668中的每一者可包括其中不頻繁發生對比較大型的資料(例如,多媒體資料)的記憶體指配及記憶體解除指配的記憶體區域。當所述記憶體區域中不頻繁發生對比較大型的資料的記憶體指配及記憶體解除指配時,對應記憶體區域的碎片率可減小。因此,存在於視窗區域666及668中的每一者中的可用記憶體區域可作為少量的大型碎片頁而存在。舉例而言,存在於視窗區域666及668中的每一者中的可用記憶體區域可包括少量的具有大於64千位元組的大小的碎片頁。Alternatively, each of the window regions 666 and 668 can include a memory region in which memory assignments and memory de-allocations for relatively large data (eg, multimedia material) occur infrequently. When the memory assignment and the memory release assignment of relatively large data occur infrequently in the memory region, the fragmentation rate of the corresponding memory region can be reduced. Thus, the available memory regions present in each of the window regions 666 and 668 can exist as a small number of large fragmented pages. For example, the available memory regions present in each of the window regions 666 and 668 can include a small number of fragmented pages having a size greater than 64 kilobytes.
慮及記憶體420的此類特性,可在具有第一大小(例如,4千位元組)的碎片頁單元中搜索與視窗區域660對應的記憶體區域,可在具有第二大小(例如,16千位元組)的碎片頁單元中搜索與視窗區域662對應的記憶體區域,可在具有第三大小(例如,256千位元組)的碎片頁單元中搜索與視窗區域664對應的記憶體區域,可在具有第四大小(例如,1百萬位元組)的碎片頁單元中搜索與視窗區域666對應的記憶體區域,且可在具有第五大小(例如,2百萬位元組)的碎片頁單元中搜索與視窗區域668對應的記憶體區域。Considering such characteristics of the memory 420, a memory area corresponding to the window area 660 may be searched for in a fragmented page unit having a first size (eg, 4 kilobytes), which may have a second size (eg, The memory area corresponding to the window area 662 is searched for in the fragment page unit of 16 kilobytes, and the memory corresponding to the window area 664 can be searched for in the fragment page unit having the third size (for example, 256 kilobytes). The body region may search for a memory region corresponding to the window region 666 in a fragment page unit having a fourth size (for example, 1 million bytes), and may have a fifth size (for example, 2 million bits) The memory page area corresponding to the window area 668 is searched for in the fragment page unit of the group.
同時,為了對用於提供具有若干種大小的碎片頁的所述多個視窗區域進行劃分,可由多位元來表達視窗辨識旗標資訊860。舉例而言,在示例性實施例中,由於總共必須劃分出五個視窗區域,因此可由三個位元來表達視窗辨識旗標資訊860,以使得可劃分出至少六個值。舉例而言,與視窗區域660、662、664、666、及668對應的視窗辨識旗標資訊860可分別由「001」、「010」、「011」、「100」、及「101」指明。Meanwhile, in order to divide the plurality of window regions for providing a fragmented page having a plurality of sizes, the window identification flag information 860 may be expressed by a plurality of bits. For example, in an exemplary embodiment, since a total of five window regions must be divided, the window identification flag information 860 can be expressed by three bits such that at least six values can be divided. For example, the window identification flag information 860 corresponding to the window areas 660, 662, 664, 666, and 668 can be indicated by "001", "010", "011", "100", and "101", respectively.
參照圖9D,其中基於上述內容而利用視窗辨識旗標資訊來劃分視窗區域660、662、664、666、及668的頁表872可包括開始位址(S_ADDR)、結束位址(E_ADDR)、及視窗辨識旗標(W)柱。Referring to FIG. 9D, the page table 872 for dividing the window regions 660, 662, 664, 666, and 668 by using the window identification flag information based on the above may include a start address (S_ADDR), an end address (E_ADDR), and Window identification flag (W) column.
舉例而言,其中開始位址為「$C」且結束位址為「$D」的視窗區域662儲存具有為「010」的值的視窗辨識旗標資訊,以使得與所述位址範圍對應的視窗能夠提供具有第二大小(例如,64千位元組)的碎片頁。此外,其中開始位址為「$I」且結束位址為「$J」的視窗區域668儲存具有為「101」的值的視窗辨識旗標資訊,以使得與所述位址範圍對應的視窗能夠提供具有第五大小(例如,2百萬位元組)的碎片頁。For example, the window area 662 in which the start address is "$C" and the end address is "$D" stores window identification flag information having a value of "010" so as to correspond to the address range. The window can provide a fragmented page with a second size (for example, 64 kilobytes). In addition, the window area 668 in which the start address is "$I" and the end address is "$J" stores window identification flag information having a value of "101" so that the window corresponding to the address range is made. A fragmented page having a fifth size (eg, 2 million bytes) can be provided.
由於以此種方式而配置的頁表874針對由視窗區域660、662、664、666、及668所指明的每一區域而僅包括單一的視窗辨識旗標資訊860,因此頁表874的大小可變得非常小。Since the page table 874 configured in this manner includes only a single window identification flag information 860 for each of the areas indicated by the window areas 660, 662, 664, 666, and 668, the size of the page table 874 can be It has become very small.
圖10是說明根據發明概念另一示例性實施例的半導體裝置的記憶體指配過程的示意圖。FIG. 10 is a schematic diagram illustrating a memory assignment process of a semiconductor device in accordance with another exemplary embodiment of the inventive concept.
參照圖10,記憶體420可包括視窗區域630、640、及650。Referring to FIG. 10, memory 420 can include window regions 630, 640, and 650.
此示例性實施例不同於前述示例性實施例之處在於碎片頁可被動態地指配至安全緩衝器700。如上所述,當因預先考慮不確定是否是由第一處理器100、第二處理器102、及第三處理器104請求的安全資料而在記憶體420中預先保留安全記憶體區域時,此安全記憶體區域不能用於任何其他目的直至第一處理器100、第二處理器102、及第三處理器104的請求真實存在為止,從而會浪費記憶體資源。This exemplary embodiment differs from the previous exemplary embodiment in that a fragmented page can be dynamically assigned to the secure buffer 700. As described above, when the secure memory area is reserved in the memory 420 in advance due to consideration of whether or not the security data requested by the first processor 100, the second processor 102, and the third processor 104 is reserved in advance, this The secure memory area cannot be used for any other purpose until the request of the first processor 100, the second processor 102, and the third processor 104 actually exists, thereby wasting memory resources.
因此,在示例性實施例中,記憶體保護器400可在記憶體420中劃分視窗區域630、640、及650,但可慮及安全緩衝器700所必需的記憶體容量而動態地指配頁碎片。Thus, in an exemplary embodiment, the memory protector 400 can divide the window regions 630, 640, and 650 in the memory 420, but can dynamically assign pages in consideration of the memory capacity necessary for the secure buffer 700. Fragmentation.
舉例而言,當在第一時間處需要1024千位元組的記憶體容量來獲得安全緩衝器700時,記憶體保護器400可在記憶體420中僅自視窗區域630收集可用記憶體,並將所收集的可用記憶體指配至安全緩衝器700。此後,當在第二時間處需要128千位元組的額外的記憶體容量時,記憶體保護器400可在記憶體420中自視窗區域640及650收集可用記憶體,且另外將所收集的可用記憶體指配至安全緩衝器700。For example, when a memory capacity of 1024 kilobytes is required at the first time to obtain the security buffer 700, the memory protector 400 can collect only available memory from the window region 630 in the memory 420, and The collected available memory is assigned to the secure buffer 700. Thereafter, when an additional memory capacity of 128 kilobytes is required at the second time, the memory protector 400 can collect the available memory from the window regions 640 and 650 in the memory 420, and additionally collect the collected memory. The available memory is assigned to the secure buffer 700.
當然,即使在示例性實施例中,如前述示例性實施例般,視窗區域630、640、及650可被設置成使得可以彼此不同的大小來提供碎片頁。舉例而言,可在具有第二大小(例如,64千位元組)的碎片頁單元中搜索視窗區域630,且可在具有第一大小(例如,4千位元組)的碎片頁單元中搜索視窗區域640及650中的每一者。Of course, even in the exemplary embodiment, as in the foregoing exemplary embodiment, the window areas 630, 640, and 650 may be disposed such that the fragment pages can be provided in sizes different from each other. For example, the window region 630 can be searched for in a fragmented page unit having a second size (eg, 64 kilobytes), and can be in a fragmented page unit having a first size (eg, 4 kilobytes) Each of the window areas 640 and 650 is searched.
如上所述,記憶體420包括所述多個視窗區域630、640、及650。與所述多個視窗區域630、640、及650中的視窗區域640及650對應的記憶體區域提供具有比較小的大小的碎片頁,與所述多個視窗區域630、640、及650中的視窗區域630對應的記憶體區域提供具有比較大的大小的碎片頁,且若需要,則將可用記憶體動態地提供至安全緩衝器700,從而有效地獲得安全內容資料的安全緩衝器700。As described above, the memory 420 includes the plurality of window regions 630, 640, and 650. A memory region corresponding to the window regions 640 and 650 of the plurality of window regions 630, 640, and 650 provides a fragmented page having a relatively small size, and the plurality of window regions 630, 640, and 650 The memory area corresponding to the window area 630 provides a fragmented page having a relatively large size, and if necessary, dynamically supplies the available memory to the secure buffer 700, thereby effectively obtaining the secure buffer 700 of the secure content material.
圖11是說明根據發明概念另一示例性實施例的由記憶體保護器所使用的頁表的示意圖。FIG. 11 is a schematic diagram illustrating a page table used by a memory protector, according to another exemplary embodiment of the inventive concept.
參照圖11,與圖8所示示例性實施例不同,根據發明概念另一示例性實施例的記憶體保護器400的頁表900可包含記憶體420的位址資訊910、關於所述位址的安全屬性資訊920、及與所述位址對應的視窗辨識旗標資訊930。Referring to FIG. 11, unlike the exemplary embodiment shown in FIG. 8, the page table 900 of the memory protector 400 according to another exemplary embodiment of the inventive concept may include address information 910 of the memory 420, regarding the address The security attribute information 920 and the window identification flag information 930 corresponding to the address.
頁表900包括僅非安全存取(NSA)旗標而非非安全讀取(NSR)旗標、非安全寫入(NSW)旗標、安全讀取(SR)旗標、及安全寫入(SW)旗標來作為安全屬性資訊920,藉此在使得能夠在所述非安全記憶體區域與所述安全記憶體區域之間進行存取的同時減小頁表900的大小。Page table 900 includes only non-secure access (NSA) flags instead of non-secure read (NSR) flags, non-secure write (NSW) flags, secure read (SR) flags, and secure writes ( The SW) flag is used as the security attribute information 920, thereby reducing the size of the page table 900 while enabling access between the non-secure memory area and the secure memory area.
圖12是說明根據發明概念示例性實施例的由內容防火牆控制器及記憶體管理控制器所使用的頁表的示意圖。FIG. 12 is a diagram illustrating a page table used by a content firewall controller and a memory management controller, according to an exemplary embodiment of the inventive concept.
參照圖12,與圖2及圖3所示示例性實施例不同,包含於根據發明概念另一示例性實施例的內容防火牆控制器300及記憶體管理控制器200的頁表1000中的安全屬性資訊僅包括安全讀取旗標及安全寫入旗標。Referring to FIG. 12, unlike the exemplary embodiment shown in FIGS. 2 and 3, security attributes included in the page table 1000 of the content firewall controller 300 and the memory management controller 200 according to another exemplary embodiment of the inventive concept. Information only includes secure read flags and secure write flags.
頁表1000包括僅安全讀取旗標及安全寫入旗標而非非安全讀取(NSR)旗標、非安全寫入(NSW)旗標、安全讀取(SR)旗標、及安全寫入(SW)旗標來作為所述安全屬性資訊。在此種情形中,即使僅藉由所述安全讀取旗標及所述安全寫入旗標,亦可管理來自第一處理器100的非安全意識請求,從而使得該些請求變得具有安全意識。由此,在頁表1000中僅維持安全讀取旗標及安全寫入旗標,藉此減小頁表1000的大小。Page table 1000 includes only secure read flags and secure write flags instead of non-secure read (NSR) flags, non-secure write (NSW) flags, secure read (SR) flags, and secure writes. The (SW) flag is used as the security attribute information. In this case, the non-security aware request from the first processor 100 can be managed even by the secure read flag and the secure write flag, thereby making the requests secure. awareness. Thus, only the secure read flag and the secure write flag are maintained in the page table 1000, thereby reducing the size of the page table 1000.
圖13至圖15示出可應用根據發明概念某些示例性實施例的半導體裝置的半導體系統的非限制性示例性實施例。13 through 15 illustrate non-limiting, exemplary embodiments of a semiconductor system to which a semiconductor device in accordance with certain exemplary embodiments of the inventive concepts may be applied.
圖13示出平板個人電腦(tablet PC)1200,圖14示出筆記型電腦1300,且圖15示出智慧型電話1400。如上所述,根據發明概念某些示例性實施例的半導體裝置可用於—包括但不僅限於—平板個人電腦1200、筆記型電腦1300、及/或智慧型電話1400。此外,對於熟習此項技術者而言顯而易見的是,如上所述的根據發明概念某些示例性實施例的半導體裝置亦可應用於本文所未說明的其他積體電路裝置。亦即,已在此前予以闡述,根據本發明非限制性示例性實施例的半導體系統的實例包括平板個人電腦1200、筆記型電腦1300、及智慧型電話1400。然而,其實例並非僅限於此。在發明概念的某些示例性實施例中,所述半導體系統可被達成為包括但不僅限於電腦、超行動個人電腦(ultra-mobile PC)、工作站(workstation)、隨身型易網機(net-book)、個人數位助理(personal digital assistant,PDA)、可攜式電腦、無線電話、行動電話、電子書(e-book)、可攜式多媒體播放機(portable multimedia player,PMP)、可攜式遊戲機、導航設備、黑盒子(black box)、數位照相機、3維電視、數位音訊記錄器、數位圖像記錄器、數位圖像播放機、數位視訊記錄器、或數位視訊播放機。FIG. 13 shows a tablet PC 1200, FIG. 14 shows a notebook computer 1300, and FIG. 15 shows a smart phone 1400. As described above, a semiconductor device according to some exemplary embodiments of the inventive concept may be used, including but not limited to, a tablet personal computer 1200, a notebook computer 1300, and/or a smart phone 1400. Moreover, it will be apparent to those skilled in the art that the semiconductor device according to some exemplary embodiments of the inventive concept as described above can also be applied to other integrated circuit devices not described herein. That is, as has been explained before, examples of the semiconductor system according to a non-limiting exemplary embodiment of the present invention include a tablet personal computer 1200, a notebook computer 1300, and a smart phone 1400. However, the examples are not limited to this. In certain exemplary embodiments of the inventive concept, the semiconductor system can be implemented to include, but is not limited to, a computer, an ultra-mobile PC, a workstation, a portable network (net- Book), personal digital assistant (PDA), portable computer, wireless phone, mobile phone, e-book, portable multimedia player (PMP), portable Gaming machines, navigation devices, black boxes, digital cameras, 3D televisions, digital audio recorders, digital image recorders, digital video players, digital video recorders, or digital video players.
應理解,儘管已出於說明性目的而揭露發明概念的示例性實施例,然而熟習此項技術者將理解,可進行各種潤飾、添加及替代,而此並不背離在隨附申請專利範圍中所揭露的發明概念的範圍及精神。It will be appreciated that, although the exemplary embodiments of the inventive concept have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions can be made without departing from the scope of the accompanying claims. The scope and spirit of the disclosed inventive concepts.
100‧‧‧第一處理器
102‧‧‧第二處理器
102a‧‧‧圖形處理單元核心
102b‧‧‧記憶體管理控制器
104‧‧‧第三處理器
104a‧‧‧中央處理單元核心
104b‧‧‧記憶體管理控制器
200‧‧‧記憶體管理控制器
300‧‧‧內容防火牆控制器
400‧‧‧記憶體保護器
410‧‧‧記憶體控制器
420‧‧‧記憶體
500‧‧‧互連
600、610、620‧‧‧視窗區域
602、604、606、608、612、614、616、618‧‧‧碎片頁
660、662、664、666、668‧‧‧視窗區域
700‧‧‧安全緩衝器
800‧‧‧頁表
810‧‧‧記憶體位址(ADDR)
820‧‧‧安全屬性資訊/非安全讀取(NSR)旗標
830‧‧‧安全屬性資訊/非安全寫入(NSW)旗標
840‧‧‧安全屬性資訊/安全讀取(SR)旗標
850‧‧‧安全屬性資訊/安全寫入(SW)旗標
860‧‧‧視窗辨識旗標資訊
870、872、874、900‧‧‧頁表
910‧‧‧位址資訊(ADDR)
920‧‧‧安全屬性資訊(NSA)
930‧‧‧視窗辨識旗標資訊
1000‧‧‧頁表
1020‧‧‧安全屬性資訊(SR)
1030‧‧‧安全屬性資訊(SW)
1200‧‧‧平板個人電腦
1300‧‧‧筆記型電腦
1400‧‧‧智慧型電話
E_ADDR‧‧‧結束位址
S_ADDR‧‧‧開始位址
W‧‧‧視窗辨識旗標100‧‧‧First processor
102‧‧‧second processor
102a‧‧‧Graphic Processing Unit Core
102b‧‧‧Memory Management Controller
104‧‧‧ third processor
104a‧‧‧Central Processing Unit Core
104b‧‧‧Memory Management Controller
200‧‧‧Memory Management Controller
300‧‧‧Content Firewall Controller
400‧‧‧ memory protector
410‧‧‧ memory controller
420‧‧‧ memory
500‧‧‧Interconnection
600, 610, 620‧ ‧ window area
602, 604, 606, 608, 612, 614, 616, 618‧‧ ‧ fragment pages
660, 662, 664, 666, 668‧ ‧ window area
700‧‧‧Safety buffer
800‧‧‧ page
810‧‧‧Memory Address (ADDR)
820‧‧‧Security attribute information/Non security read (NSR) flag
830‧‧‧Security attribute information/non-secure write (NSW) flag
840‧‧‧Security Attribute Information/Secure Read (SR) Flag
850‧‧‧Security attribute information/safe write (SW) flag
860‧‧‧Window Identification Flag Information
870, 872, 874, 900‧‧‧ page
910‧‧‧Address Information (ADDR)
920‧‧‧Security Information Information (NSA)
930‧‧‧Window Identification Flag Information
1000‧‧‧ page
1020‧‧‧Security Attribute Information (SR)
1030‧‧‧Safety Information (SW)
1200‧‧‧ Tablet PC
1300‧‧‧Note Computer
1400‧‧‧Smart Phone
E_ADDR‧‧‧End address
S_ADDR‧‧‧ starting address
W‧‧‧Window Identification Flag
藉由參照附圖來詳細闡述本發明概念的非限制性示例性實施例,本發明概念的以上及其他態樣及特徵將變得更顯而易見,其中在所有不同的圖中,相同的參考符號指代相同的部件。圖式並非必須按比例繪製,而是著重於說明發明概念的原理。在圖式中: 圖1是說明根據發明概念示例性實施例的半導體裝置的示意圖。 圖2是說明根據發明概念示例性實施例的半導體裝置的操作的示意圖。 圖3是說明根據發明概念示例性實施例的半導體裝置的另一操作的示意圖。 圖4是說明根據發明概念示例性實施例的半導體裝置的又一操作的示意圖。 圖5是說明根據發明概念示例性實施例的半導體裝置的記憶體結構的示意圖。 圖6及圖7是分別說明根據發明概念示例性實施例的半導體裝置的記憶體指配過程的示意圖。 圖8及圖9A是說明根據發明概念示例性實施例的由記憶體保護器所使用的頁表的示意圖。 圖9B是說明圖9A中所示頁表的另一示例性實施例的示意圖。 圖9C是說明根據發明概念示例性實施例的半導體裝置的又一操作的示意圖。 圖9D是說明在圖9C中所示操作中使用的頁表的示意圖。 圖10是說明根據發明概念另一示例性實施例的半導體裝置的記憶體指配過程的示意圖。 圖11是說明根據發明概念另一示例性實施例的由記憶體保護器所使用的頁表的示意圖。 圖12是說明根據發明概念示例性實施例的由內容防火牆控制器及記憶體管理控制器所使用的頁表的示意圖。 圖13至圖15示出可應用根據發明概念某些示例性實施例的半導體裝置的半導體系統的非限制性示例性實施例。The above and other aspects and features of the inventive concept will become more apparent from the detailed description of the embodiments. Generation of the same parts. The drawings are not necessarily drawn to scale, but rather to illustrate the principles of the inventive concepts. In the drawings: FIG. 1 is a schematic view illustrating a semiconductor device in accordance with an exemplary embodiment of the inventive concept. FIG. 2 is a schematic diagram illustrating an operation of a semiconductor device in accordance with an exemplary embodiment of the inventive concept. FIG. 3 is a schematic diagram illustrating another operation of a semiconductor device in accordance with an exemplary embodiment of the inventive concept. FIG. 4 is a schematic diagram illustrating still another operation of a semiconductor device in accordance with an exemplary embodiment of the inventive concept. FIG. 5 is a schematic view illustrating a memory structure of a semiconductor device in accordance with an exemplary embodiment of the inventive concept. 6 and 7 are schematic views respectively illustrating a memory assignment process of a semiconductor device according to an exemplary embodiment of the inventive concept. 8 and 9A are schematic diagrams illustrating a page table used by a memory protector, according to an exemplary embodiment of the inventive concept. Figure 9B is a schematic diagram illustrating another exemplary embodiment of the page table shown in Figure 9A. 9C is a schematic diagram illustrating still another operation of a semiconductor device in accordance with an exemplary embodiment of the inventive concept. Figure 9D is a schematic diagram illustrating a page table used in the operation shown in Figure 9C. FIG. 10 is a schematic diagram illustrating a memory assignment process of a semiconductor device in accordance with another exemplary embodiment of the inventive concept. FIG. 11 is a schematic diagram illustrating a page table used by a memory protector, according to another exemplary embodiment of the inventive concept. FIG. 12 is a diagram illustrating a page table used by a content firewall controller and a memory management controller, according to an exemplary embodiment of the inventive concept. 13 through 15 illustrate non-limiting, exemplary embodiments of a semiconductor system to which a semiconductor device in accordance with certain exemplary embodiments of the inventive concepts may be applied.
100‧‧‧第一處理器 100‧‧‧First processor
102‧‧‧第二處理器 102‧‧‧second processor
104‧‧‧第三處理器 104‧‧‧ third processor
200‧‧‧記憶體管理控制器 200‧‧‧Memory Management Controller
300‧‧‧內容防火牆控制器 300‧‧‧Content Firewall Controller
400‧‧‧記憶體保護器 400‧‧‧ memory protector
410‧‧‧記憶體控制器 410‧‧‧ memory controller
420‧‧‧記憶體 420‧‧‧ memory
500‧‧‧互連 500‧‧‧Interconnection
Claims (20)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20150092246 | 2015-06-29 | ||
| KR10-2015-0092246 | 2015-06-29 | ||
| KR1020150118708A KR102432473B1 (en) | 2015-06-29 | 2015-08-24 | Semiconductor device |
| KR10-2015-0118708 | 2015-08-24 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201701162A true TW201701162A (en) | 2017-01-01 |
| TWI708147B TWI708147B (en) | 2020-10-21 |
Family
ID=57832660
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW105120238A TWI708147B (en) | 2015-06-29 | 2016-06-28 | Semiconductor device |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR102432473B1 (en) |
| TW (1) | TWI708147B (en) |
Family Cites Families (5)
| 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 |
| 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 |
| US20130013889A1 (en) * | 2011-07-06 | 2013-01-10 | Jaikumar Devaraj | Memory management unit using stream identifiers |
| US8910307B2 (en) * | 2012-05-10 | 2014-12-09 | Qualcomm Incorporated | Hardware enforced output security settings |
-
2015
- 2015-08-24 KR KR1020150118708A patent/KR102432473B1/en active Active
-
2016
- 2016-06-28 TW TW105120238A patent/TWI708147B/en active
Also Published As
| Publication number | Publication date |
|---|---|
| TWI708147B (en) | 2020-10-21 |
| KR20170002258A (en) | 2017-01-06 |
| KR102432473B1 (en) | 2022-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9141558B2 (en) | Secure memory control parameters in table look aside buffer data fields and support memory array | |
| CN108062242B (en) | Computing system for securely executing secure applications in a rich execution environment | |
| US9547535B1 (en) | Method and system for providing shared memory access to graphics processing unit processes | |
| US12387015B2 (en) | Storage device for a blockchain network based on proof of space and system including the same | |
| CN104798053B (en) | Memory Management in Secure Areas | |
| JP5448218B2 (en) | On-die system fabric block control | |
| US9152825B2 (en) | Using storage controller bus interfaces to secure data transfer between storage devices and hosts | |
| CN107451072B (en) | Computing system with instant encryptor and method of operation thereof | |
| US8395631B1 (en) | Method and system for sharing memory between multiple graphics processing units in a computer system | |
| CN108062280B (en) | Memory controller and memory system including the memory controller | |
| JP4945053B2 (en) | Semiconductor device, bus interface device, and computer system | |
| US8892810B2 (en) | Semiconductor device and memory protection method | |
| CN107818054A (en) | Method and system for allocating continuous physical memory space to equipment | |
| US11494523B2 (en) | Direct memory access mechanism | |
| US20220308756A1 (en) | Performing Memory Accesses for Input-Output Devices using Encryption Keys Associated with Owners of Pages of Memory | |
| CN115862699A (en) | Storage controller and storage system including the storage controller | |
| US10657274B2 (en) | Semiconductor device including memory protector | |
| JP2024510127A (en) | Randomize address space placement with page remapping and rotation to increase entropy | |
| TW201701162A (en) | Semiconductor device | |
| US20170322891A1 (en) | Device and method for secure data storage | |
| JP5380392B2 (en) | Semiconductor device, bus interface device, and computer system | |
| JP5324676B2 (en) | Processor, bus interface device, and computer system | |
| KR20130032643A (en) | Data managing method of system having nonvolatile memory capable of storing persistent data |