TWI233737B - Memory management system and method providing linear address based memory access security - Google Patents
Memory management system and method providing linear address based memory access security Download PDFInfo
- Publication number
- TWI233737B TWI233737B TW091123899A TW91123899A TWI233737B TW I233737 B TWI233737 B TW I233737B TW 091123899 A TW091123899 A TW 091123899A TW 91123899 A TW91123899 A TW 91123899A TW I233737 B TWI233737 B TW I233737B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- page
- security
- memory page
- attribute
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000001514 detection method Methods 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims 3
- 239000011425 bamboo Substances 0.000 claims 1
- 238000007689 inspection Methods 0.000 claims 1
- 238000010422 painting Methods 0.000 claims 1
- 230000001419 dependent effect Effects 0.000 abstract 2
- 230000007246 mechanism Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 102100040149 Adenylyl-sulfate kinase Human genes 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012026 site acceptance test Methods 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100221835 Arabidopsis thaliana CPL2 gene Proteins 0.000 description 1
- 101150016835 CPL1 gene Proteins 0.000 description 1
- 101001084276 Homo sapiens Phosphotriesterase-related protein Proteins 0.000 description 1
- 102100030961 Phosphotriesterase-related protein Human genes 0.000 description 1
- 101100468774 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RIM13 gene Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 229910052797 bismuth Inorganic materials 0.000 description 1
- JCXGWMGPZLAOME-UHFFFAOYSA-N bismuth atom Chemical compound [Bi] JCXGWMGPZLAOME-UHFFFAOYSA-N 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010587 phase diagram Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
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)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Description
1233737 五、發明說明(1) 發明背景 參考資料 本專利申請係有關於序號為 (代理人參考號碼 為2 0 0 0· 0 5 6 6 0 0 / TT4 0 8 6)且標題為”記憶體管理系統及依 據實體位址之記憶體存取保密之方法”的審查中專利申請 案’其是由 B r a i n C. B a r n e s, G e 〇 f f e r y S. S t r 〇 n g i η, 和Rodney W. Schmidt所提出中請,且與本專利同一天提 出申請。 [發明所屬之技術領域] 本發明係有關於記憶體管理系統及方法,且尤甚者, 係有關於對儲存在記憶體内之數據提供保護之記憶體管理 糸統及方法。 [先前技術: 通常電 獲得相當高 儲存在容量 如,磁碟驅 會將所選擇 存取記憶體 憶體单元獲 管理技術是 主記憶體内 據結構。剩 之非揮發性 腦系統 的性能 大但存 動單元 程式之 (RAM) 得所選 藉由在 而使得 餘的數 儲存單 包含有記憶體層級以便以相當低的成本 位準。通常將數種不同軟體程式之指令 取速度慢之非揮發性儲存單元内(例 )。§使用者要執行一個軟體程式時, 指令複製到主記憶體單元(例如,隨機 )。,且中央處理單元(CPU)會從主記 擇私式的扣令。眾所周知之虛擬記體體 任何時間僅將數據結構的一部分儲存在 CPU可存取容量較主記憶體單元大之數 據結構則是儲存在容量大但存取速度慢 兀内’且僅當需要時才將其複製到主記
92194. ptd 第7頁 1233737 ........................-................- _ 五、發明說明(2) 憶體單元内。 —
虛擬記憶體诵登H 訊框或頁II之多個疋错^由將CPU的位址空間劃分成稱為 在任何指定時間均β \ //見。僅對應於該頁的部分數據 定頁内之位址時:n i在ί記憶體内。當CPU產生在特 時,將此頁内所需之;棱=2並不位於主記憶體單元内 性儲存單元複製到主::里大:存:速度慢之非揮發 用於=所需頁 非揮發性儲存單元以便空出 元件:ϊΐϊΓΓί處理機結構包含有特殊的硬體 式)。擬位置模式(亦即,受保護的模 m, μ -Ρ m 圖5兒明如何在X 8 6處理機内同時實 記憶體之保護性質。第1圖係顯示眾所; 轉換機;^ 广結構之線性至實體位址轉換機構10 0。位址 之内具有謂理器,且包含有在χ86處理器 二了 Λ之線性位址102、分頁表目錄(亦即,頁目錄) ± ^ 3有分頁表1 0 6的數個分頁表、包含有頁幀1 0 8的 數個頁幢、和控制暫存器(CR3) 110。將由操作系統軟體 亦即,刼作系統)產生和維護之記憶體數據結構分頁成 目錄1 04和數個分頁表。頁目錄i 〇4總是位於記憶體(例 σ,主記憶體單兀)内。為簡化說明,亦假設分頁表i 0 6 和頁幀1 0 8是常駐在記憶體内。 如第1圖中所顯示,將線性位址i 〇 2劃分成三個部分以 便完成線性至實體的位址轉換。CR3 i U之最高位元係用
1233737 五、發明說明(3) 於儲存頁目錄之基暫存器。頁目錄之基暫存器為包含有頁 目錄1 0 4之記憶體頁的基址。頁目錄1 0 4包含有數個頁目錄 條目,其包含有頁目錄條目11 2。包含有線性位址1 0 2最高 順位或最高位元之線性位址1 0 2之’f目錄指標π部分的上限 係用於作為進入頁目錄1 04之指標。利用CR3 11 0之頁目錄 基址和線性位址1 0 2之π目錄指標”部分的上限可在頁目錄 1 0 4内選擇頁目錄條目1 1 2。 第2圖係顯示X 8 6處理器結構之頁目錄條目格式。如第 2圖中所顯示,所給定頁目錄條目之最高順位(亦即,最 有效)位元包含有分頁表基址,在此分頁表基址為包含有 相對應分頁表之記憶體頁的基址。頁目錄條目1 1 2之分頁 表基址係用於選擇相對應的分頁表1 0 6。 再次參考第1圖,分頁表106包含有數個分頁表條目, 其包含有分頁表條目1 1 4。線性位址1 0 2中間部分之”表指 標π係用於指向分頁表1 0 6,因而可選擇分頁表條目1 1 4。 第3圖係顯示X 8 6處理器結構之分頁表條目格式3 0 0。如第3 圖中所顯示,所給定分頁表條目之最高順位(亦即,最有 效)位元包含有頁幀基址,在此頁幀基址為相對應頁幀之 基址。 再次參考第1圖,分頁表條目1 1 4之頁幀基址係用於選 擇相對應頁幀1 0 8。頁幀1 0 8包含有數個記憶體位置。線性 位址1 0 2之下限或π偏移量”係用於作為進入頁幀1 0 8的指 標。當混合時,分頁表條目1 1 4之頁幀基址和線性位址1 0 2 之偏移量會產生對應於線性位址1 0 2之實體位址,且顯示
92194.ptd 第9頁 1233737 五、發明說明(4) ^頁幀1 0 8内之記憶體位置丨丨6。記 性至實體位址轉換所產生之實際位^體位置Π6具有由線 有關記憶體之保護特性,第2 _3圖之分頁表條目格式3〇〇包含有使之頁目錄格式2 0 0和第 :和讀取/寫入(R/w)位元。 :/管理者(U/S)位 之内容保護相對應頁幢(亦即,J j利用υ/s和識立元 權之存取。U/S-0#用於本-枰从。昆體頁)免於進行未授 ^ , υ /ύ υ係用於表不操作系蜞4 ^ 於操作系統之"管理者"階声。操作系己憶體頁,且對應 應於由X86處理π # / ”乍系、、先之"管理者π階層對 權級"fo 之軟程式和常駐… 應於摔作ΤΓ之"Γ係用於表示使用者記憶體頁,且對 應於X86處理界之CPI q 曰2作糸統之使用者階層對 之CPL1和/或CPL2)。。使用者階層亦對應於x86處理器 式。RW-T:-係;:於表不允許存取相對應記憶體頁之形 即,相對應:情Γΐϊ相對應記憶體頁進行讀取存取(亦 憶體頁同時進;取和唯:"):RW=1表示可對相對應記 為”讀敢-穿 取和寫入存取(亦即,相對應記憶體頁 只% 馬入丨丨)〇 右第 1圖夕細 頁幀1 0 8之頁、、性至貫體位址轉換操作期間,對相應於 容進行邏輯乃目錄條目112和分頁表條目114之U/S位元的内 權的。同樣地閘、(AND)以便決定是否對頁巾貞108之存取是授 位元的内容^ /對頁目錄條目1 1 2和分頁表條目1 1 4之R/w 是授權的t邏輯及問以便決定是否對頁巾貞108之存取 X如υ/S和R/W位元之邏輯組合顯示對頁幀1〇8
92194. ptd
第10頁 1233737 五、發明說明(5) 之存取是授權的,則可利用實體位址存取記憶體位置 1 1 6。另一方面,假如U / S和R / W位元之邏輯組合顯示對頁 幀1 0 8之存取是未授權的,則不存取記憶體位置1 1 6,且發 出保護失效指示。 不幸地,x8 6處理器結構之上述記憶體保護機構不足 以保護儲存在記憶體内之數據。舉例而言,任何由管理者 階層(例如,所具有之CPL = 0)所執行之軟體程式或常駐 程式可存取記憶體的任何部分,且可以修改記憶體之沒有 標示π唯讀n (R/W = 0)的任何部分(亦即,寫入)。除此之 外,由於是以管理者階層執行,所以軟體程式或常駐程式 φ 可改變記憶體任何部分的屬性(亦即,U/S和R/W位元)。 軟體程式或常駐程式可因此將記憶體標示為π唯讀’’之任何 部分改變為”讀取-寫入n (R/W=l ),且然後進一步修改記 憶體的該部分。 本發明係有關於可解決,或至少降低前述問題之一些 或全部的方法,及實現該方法之系統。 [發明内容] 提出用於管理記憶體之記憶體管理單元,此記憶體内 儲存有安排在複數個記憶體頁内的數據。記憶體管理單元 包含有保密檢查單元,該保密檢查單元接收在現行指令執 籲 行期間所產生之線性位址。線性位址具有存在於所選擇記 憶體頁内之相對應實體位址。保密檢查單元利用線性位址 存取位於記憶體内的一個或多個保密屬性數據結構以便獲 得所選擇記憶體頁的保密屬性。保密檢查單元包含有由現
92194.ptd 第11頁 1233737 五、發明說明~~ ~~ ^ ' 二ί二2保被屬性轉換成的數值和由所選擇記憶體頁之保 ί:L轉ί成的數值,i依據比較結果產生輸出訊號。記 思-&理單元依據此輸出訊號存取所選擇記憶體頁。 2描述的中央處理單元(CPU)包含有執行單元和上 心己憶體管理單元(龍U)。執行單元從記憶體取得指令 且執打這些指令。MMU管理記憶體,且可建構成管理記憶 體,所以記憶體可儲存安排在數個記憶體頁内之數據。 Μ Μ 11包έ有上述的保密檢查單元。所描述的電腦系統包含 有記憶體、CPU和MMU。 所描述方法為記憶體提供存取保密,此記憶體係用於 儲存分散在數個記憶體頁内之數據。此方法包含有接收在 執行指令期間產生之線性位址,和指令之保密屬性,在此 指令是存在於第一記憶體頁内。線性位址是用於存取位於 記憶體内的一個或多個分頁式記憶體數據結構以便獲得所 選擇記憶體頁之基址,及所選擇記憶體頁之保密屬性。假 如指令之保密屬性(例如,現行該指令由X 8 6處理器結構 所定義之優先權或CPL)和所選擇記憶體頁之保密屬性 (例如,所選擇記憶體頁之x86 U/S和R/w位元)顯示該存 取是授權的,則將所選擇記憶體頁之基址與偏移量混二r 便產生所選擇記憶體頁内之實體位址。假如指令=$二^ 性和所選擇記憶體頁之保密屬性顯示該存取不是授權的, 則會產生錯誤訊號(例如,X 8 6 G P F訊號)。 、 亦使用線性位址存取位於記憶體内的一個或多個保密 屬性數據結構以便獲得第一記憶體頁的額外保密 也
92194.ptd 第 12 頁 1233737 五、發明說明(7) 所選擇記憶體 外保密屬性所 屬性所轉換之 选屬性和所選 比較結果存取 [實施方式] 雖然本發 顯示特殊實施 應該瞭解在此 本發明限制在 由所附申請專 模式、及替換 頁的額 轉換之 數值相 擇記憶 所選擇 明可接 例之圖 針對特 所提出 利範圍 物0 外保密屬性。將由第一記憶體買1必 數值與由所選擇記憶體頁的額' 比較。依據由第一記憶體頁的額外” 體頁的額外保密屬性所轉換之數值的 記憶體頁。 文各種修改及其他形式,但是在此僅 示且將在下文中詳細說明之。可是, 殊實施例所進行之說明並不是用於將 ^格式,相反地,本發明係涵蓋滿足 定義之精神和目標的所有修正、等量 本發明所列舉之實施例 在此說明書中並未說明其實 ^在發展任何其真正實施例 需事先決定以便達到開發者 商業相關之限制的相容性, 同而有所不同。再者,應該 且費時間,但是對那些具有 例行公事。 〃 係痛不於下。為了清晰簡要, 際應用的所有特性。當然,希 時’很多特殊應用導向之決策 特殊的目的’如與系統相關和 這些因素可能因為應用場合不 可瞭解此種開發過程雖然複雜 此方面技藝者而言將僅是一種 單元=2示電腦系統)〇°之糊,包含有中央處理 糸統或主橋接器4 0 4、記憶體4 0 6、第一 、卜排408 (例如,週邊元件連接介面匯流排,pc! )、衣置匯流排橋接器410、第二裝置匯流排4i2(例如,
1233737 五、發明說明(8) ' ----- ^ fit準木構或I SA匯流排)、和四個裝置硬體單元4 1 4 A 一姑w主橋接器4 〇 4耗接至CPU 4 0 2、記憶體4 0 6、和第 :匯机排4〇8。主橋接器4〇4用於在和第一裝置 二二、8間轉移訊號’且可用於將記憶體4 0 6搞接至CPU 曰立It接至第一裝置匯流排4 0 8。裝置匯流排橋接器41〇 疋 第一裝置匯流排4 〇 8和第二裝置匯流排4丨2之間, ΐ ΐ ^裝置匯流排4 0 8和第二裝置匯流排41 2之間轉移訊 ,乂 f苐4圖所顯示之實施例中,裝置硬體單元41以和 疋耦接至第一裝置匯流排4 〇 8,而裝置硬體單元4 1 4 c 和11 fD疋耦接至第二裝置匯流排4 1 2。舉例而言,裝置硬 體單兀4 1 4 A至4 1 4 D中的一個或多個可以是儲存裝置(例 如,硬碟機、軟碟機、和唯讀光碟機),通訊裝置(例 如,數據機和網路配接器)、或輸入增出裝置(例如, 視§fL裝置、音頻裝置、和印表機)。 一在第4圖之實施例中,CPU 4 0 2包含有CPU保密檢測單 兀(SCU) 41 6。如將於下文中詳細說明,cpu scu 41 6保 護記憶體4 0 6使其免於發生未授權的存取。注意在其他實 鉍例中,主橋接為、404可以如第4圖所示為CPU 402的部 分0 第5圖係y顯示第4圖之電腦系統4〇0的各種硬體和軟體 馨 兀件間之關係。在第5圖之實施例中,數個應用程式5 〇 〇、 一個操作系統5 0 2、保密核5 0 4、和裝置驅動器5 〇 6人至5 〇 6 D 是儲存在記憶體4 0 6中。應用程式5 0 0、操作系統5〇2、保 密核5 04、和裝置驅動器5 0 6八至5〇6D包含有由cpu 4〇2執
1233737 五、發明說明(9) 行之指令。操作系統5 0 2提供使用者介面和軟體平台使得 可在其上執行應用程式5 0 0。操作系統5 〇 2亦提供有基本的 支援功忐,舉例而言,其包含有檔案系統管理、程序管 理、和輸入輸出(I / 〇)控制。 操作系統5 0 2亦提供有基本的保密功能。舉例而古, CPU 402 (第4圖)可以是x86處理器,其執行χ86指令σ集之 指令。在此情況下,CPU40 2包含有特殊的硬體元件以便在 上述的保護模式下同時提供虛擬記憶體和實體記憶體保護 $質。舉例而言,操作系統5 0 2可以是Wind〇ws@家族(微 ^公司,Redmond,WA)的操作系統中的一種,其在保護 ,式了巧作CPU 4 0 2,且使用CPU40 2的特殊硬體單元以便 保4模式下同時提供虛擬記憶體和實體記憶體保護。 …痛如坦將於下文中更詳細說明的,保密核5(34在操作系統 供之保密功能上再提供額外的保密功能以便保護 圖:§己憶體4 0 6内之數據免於接收未授權之存取。如第丨 下所顯示,保密核5 04是耦接至CPU SCU 416。如將於 4一^1^詳細說明的,(:1^%11416追蹤對記憶體406所進 ^ +由軟體起始的存取,且僅允許對記憶體4 0 6進行 且無^第5圖之實施例中,裝置驅動器5〇6A至5 0 6D可操作 t^各相關對應的裝置硬體單元41 4A至41 4D。舉例而 ^應體單ί 4ΜΑ和414D可以是’’保密,,裝置,而其相 保密核、SoJ ί f 5〇6/和,〇6D可以是”保密"裝置驅動器。
疋輛接在操作系統5 〇 2和保密裝置驅動器5 〇 6 A
第15頁 1233737 五、發明說明(10) 和5 0 6 D之間,且可追蹤由應用程式5 0 0和操作系統5 0 2所進 行的所有存取以便確定裝置驅動器5 0 6 A和5 0 6D及其相對應 保密裝置4 1 4 A和4 1 4 D的保密。保密核5 0 4可避免應用程式 5 0 0和操作系統5 0 2對保密裝置驅動器5 0 6 A和5 0 6 D及其相對 應保密裝置414 A和414 D進行未授權的存取。另一方面,裝 置驅動器5 0 6B和5 0 6C可以是π非保密’’裝置驅動器,且其相 對應裝置硬體單元4 1 4Β和4 1 4C可以是π非保密”裝置硬體單 元。舉例而言,裝置驅動器5 0 6Β和5 0 6C和對應之裝置硬體 單元4 1 4 Β和4 1 4 C可以是’’已存在(1 e g a c y ) ”的裝置驅動器和 裝置硬體單元。 注意在其他實施例中,保密核 5 0 4可以是操作系統 5 0 2的一部份。而在另一些實施例中,保密核 5 0 4、裝置 驅動器5 0 6 A和5 0 6 D、和/或裝置驅動器5 0 6 B和5 0 6 C可以是 操作系統5 0 2的一部份。 第6圖係顯示第4圖電腦系統40 0之CPU4 0 2的一個實施 例。在第6圖之實施例中,CPU 4 0 2包含有執行單元600、記 憶體管理單元(MMU) 602、高速緩衝儲存器單元604、匯 流排介面單元(β I U) 6 0 6、控制暫存器組6 〇 8、和保密執 行模式(5£肘)暫存器組610。0?113(:1]416是位於肘肘1]602 之内。如將於下文中更詳細說明的,SEM暫存器組6 1 〇係用 於在第4圖之電腦系統4 0 0内實現保密執行模式(SEM), 且CPU SCU 41 6的操作是由SEM暫存器組610的内容管理。 可利用保密核5 0 4存取(亦即,寫入和/或讀取)SEΜ暫存 器組610(第5圖)。舉例而言,當(丨冗?1] 40 2為操作在
第16頁 92194. ptd 1233737 五、發明說明(Π) ^^ ~ =6保濩模式下之χ86處理器,(ii)記憶體分頁已致能,且 1 SEM暫存裔組6丨〇的内容指定SE 作,第 腦糸統400是在SEM下操作。 口之電 通常’控制暫存器組6〇8之内容管理cpu 4〇2之操作。 / ,控制暫存器組608之内容管理執行單元6 0 0、MMU :::速,衝儲存器單元6 04、和/或BIU 6 0 6之操作。舉 制暫^ μ彳工制暫存斋組6 0 8包含有數個χ 8 6處理機結構之控 &|^?1]4〇2之執行單元60 0取得指令(例如,\86指令) (=::r:rr,且在指令執行期間產生㈣ J至,速緩衝儲存器單“04’且可經由高速早緩:= :二:Γ從記憶體40 6 (第4圖)接收指令 體位ί 之有記唯 耖处f ^ ^ 的只體位址。當操作在且古八百 此t保護模式時,CPU40 2之位址空間會劃分_ 2 ^頁 的數i ^為頁幀或"頁"。如上所述,僅對應於頁之一;八 施Ξί疋ί任何時間均儲存在記憶體4°6内。在第6圖 ::’在指令執行期間由執行單元圖之貫 :係表示分段位址(亦~,邏輯位址)生之位址二 =應之記憶體406的實體位址。MMU生2址轉換成相 1緩衝儲存器單元6〇4。高速緩^體位址給高 當小之枝;fe酤里 朴 舒儲存σσ早凡6 〇 4多7交署相 健存裝置,其用於料最近由執行單
1233737 五、發明說明(12) ΓΪί 接在高速緩衝儲存器單元6〇4 4: AVri ” ΐ】於經由主橋接器404從記憶體 ^06取付 >又有出現在问速緩衝儲存器單元6〇4内之指令和數 第7圖係顯示第6圖之MMlJ 6〇2的—個實 之貫施例中,MMU 6 02包含有分段單元7〇〇、八j在_第7圖 IT出:=於在分段單元7〇°和分頁單兀元7°2 =二邏輯,, 址且使用眾所周知之x86處理 二=“又位 所顯示,當由"分頁”訊號致能士第7圖中 段單元70 0產生之線性位址且 應二由分 頁"訊號會對照在x86處理$紝M ^ 的只體位址。"分 ί # i l,J ,ft ^ ^ ^ ^ 千、科〖U 4曰屋生線性位址作為實體 是從分段單元7 0 0接收。 此線性位址 δ發佈分頁’,訊號時,記,I#分| θ Α 單元m利用上述χ86處理哭能的,且分頁 ”。(第m η…段;:=生到至之貫 成相對應的實體位址。*上所述,二生之位址轉換 =期間,對所選擇頁目錄條目和所選擇分;:= 專換 Μ位元的内容進行邏輯及問(則操作,以便
五 ⑴ 3737 、發明說明(13) _ 頁幀的存取是授權 選擇分頁表條目之勺。同樣地,對所選擇頁目錄條目和所 決定是否對頁幀R/W位元的内容進行邏輯及閘操作以便 輯組合顯示對頁自存取是授權的。假如U/S和R/W位元的邏 生由線性至實體、的存取是授權的,則分頁單元7 0 2會產 邏輯7 〇 4接收由八立址轉換之操作而產生之實體位址。選擇 單元7 〇 2接收之^頁單元7 0 2產生之實體位址,產生由分頁 提供給高诘蟢、體位址作為實體位址,且將此實體位址 另連緩衝儲存器單元6 04。
为一方面,彳P 10 8的存取是未„如1]/泳1?/敝元的邏輯組合顯示對頁幀 轉換操作iT間不\權的’貝11分頁單元70 2在線性至實體位址 會發佈-般的伴;產生實體位址。相反地,分頁單元702 rPT7_ /;fc 保遠錯誤(6??)訊號,且皿»〇] 6 0 2會將此 β η w t >运到執行單元6 0 0 °因應此GPF訊號,執行單元 ^ 曰行# 里常式(exception handler routine )、’且,後可能終止當gpf訊號發佈時正在執行之應用程 式5 0 0 (第5圖中)的其中一個。分頁單元7〇 2亦包含有變換 後援缓衝 s己憶體(t r a n s 1 a t i 〇 η 1 0 0 k - a s i d e b u f f e r, T I B )用於儲存相當少量的最近所決定的線性至實體位址轉 換0 第8圖係顯示第7圖之CPU SCU41 6的一個實施例。在第 8圖之實施例中,CPU SCU41 6包含有保密檢測邏輯8 0 0,其 耦接至SEM暫存器組610 (第6圖)和保密屬性表(SAT)條 目緩衝器8 0 2。如將於下文中說明,除了頁目錄和分頁表 條目之U/S和R/W位元外,SAT條目包含有對應於記憶體頁
92194. ptd 第19頁 1233737 五、發明說明(14) 之額外的保密訊息。SAT條目缓衝器8 0 2係用於儲存相當少 量的最近所存取記憶體頁之SAT條目。 如上所述,SEM暫存器組6 1 0係用於在第4圖之電腦系 統4 0 0内實現保密執行模式(SEM) 。SEM暫存器組610的内 谷管理CPU SCU41 6的操作。如第8圖中所顯示,保密檢測 邏輯8 0 0從MMU 6 0 2經由通訊匯流排接收儲存在SAT條目緩衝 器8 0 2内之訊息。保密檢測邏輯8 0 0亦接收由分頁單元7 〇 2 產生之實體位址。 現將利用第9至1 1圖描述如何在第4圖之電腦系統4 0 0 内取得所選擇記憶體頁之額外保密訊息。第9圖係顯示用 於存取所選擇記憶體頁之SAT條目以便取得所選擇記憶體 頁之額外保密訊息的機構9 〇 〇的一個實施例。第9圖之機構 9 0 0可内建於第8圖之保密檢測邏輯8 0 0中,且當第4圖之電 腦系統4 0 0是操作在SEΜ時可應用此機構9 0 0。機構9 0 0包含 有由分段單元7 0 0 (第7圖)在指令執行期間所產生之線性 位址9 0 2、SAT目錄9 0 4、數個包含有SAT 9 0 6之SAT、和SEM 暫存器組610之SAT基址暫存器9 0 8。SAT目錄9 04和包含有 SAT 9 0 6的數個SAT為利用保密核5 04 (第5圖)所產生和維 護之SEM數據結構。如將於下文中說明,將SAT目錄904 (當出現)和任何所需SAT在存取之前複製到記憶體4 0 6 中。 SAT基址暫存器9 0 8包含有現行位元(P),其顯示在 SAT基址暫存器9 0 8内出現的有效SAT目錄基址。SAT基址暫 存器9 08之最高順位(亦即,最有效位元)係保留作為δΑΤ
92194. ptd 第20頁 1233737 五、發明說明(15) 目錄基址。SAT目錄基址為包含有SAT目錄9 04之記憶體頁 的基址。假如P=1,則SAT目錄基址是有效的,且SAT表會 指疋記憶體頁的保密屬性。假如p = 〇,則S A T目錄基址是無 效的’>又有SAT表存在’且s己憶體頁的保密屬性是由sat予員 設暫存器決定。 ' 第1 0圖係顯示SAT預設暫存器丨〇 〇 〇的一個實施例。在 第10圖之實施例中,SAT預設暫存器1〇〇〇包含有保密範圍 辨識(SCI D)欄位。SCI D攔位包含有SAT預設暫存器丄000 的數個位元位置。位元位置形成SC I D值的二進位表示,其 中S C I D值為大於或專於〇之整數值。s C I D值表示在電腦系 統4 0 Q中記憶體頁用之預設保密範圍級數。舉例而言,當 SC I D欄位包含有SAT預設暫存器1 〇 〇 〇的n位元,則給定的記 憶體頁將會佔據電腦系統4 0 0中2 n個可能的記憶體保密級 數的其中之一。 線性位址9 0 2包含有存在於所選擇記憶體頁内之相對 應實體位址。此相對應的實體位址是由分頁單元7 〇 2 (第7 圖)利用第1圖所顯示之位址轉換機構1 〇 〇產生的。再次參 考第9圖且假設S A T基址暫存器9 0 8之P位元為” 1 ”,則利用 分段單元7 0 0 (第7圖)產生之線性位址9 〇 2可劃分成三個 部分以便存取所選擇記憶體頁的SAT條目。如上文中所 述’ S A T基址暫存器9 0 8之SAT目錄基址為包含有SAT目錄 9 04的記憶體頁基址。SAT目錄9 04包含有數個SAT目錄條 目’包含有SAT目錄條目9 0 6。每個SAT目錄條目在記憶體 4 〇 6内具有相對應的SAT。線性位址9 0 2包含有線性位址9 0 2
1233737 五、發明說明(16) ~ Ϊ ί 1位或最有效位元的”上限”部分,用於作為進入SAT 目,904的索引。可利用SAT基址暫存器9〇8之sat目錄基址 i !·生位址9 02的上限部分從SAT目錄9 04的選擇SAT目錄條 目 9 1 0 ° 第11圖係顯示SAT目錄條目格式1100的一個實施例。 依據第11圖,各SAT目錄條目包含有現行位元(p),其顯 :在SAT目錄條目内所出現之有效SAT基址。在第丨丨圖之實 知例中’ SAT目錄條目的最高順位(即,最有效)位元是 =邊作為SAT基址。SAT基址為包含有相對應SAT之記憶體 、的基址。假如p=丨,則SAT基址是有效的,且將相對應 SAT儲存在記憶體4〇 6中。 假如P = 〇,則SAT基址是無效的,且在記憶體4〇 6内不 存在相對應的SAT,所以必須從儲存裝置(例如,硬碟機 )複製到記憶體40 6中。假如P = 0,則保密檢測邏輯8〇〇會 傳送分頁錯誤訊號給在分頁單元7〇 2内之邏輯,且ΜΜυ β〇2 會將此分頁錯誤訊號傳送給執行單元6 〇 〇 (第6圖)。因應 此为頁錯誤訊號,執行單元6 0 0會執行分頁錯誤處理常 式’其從儲存裝置檢索所需的SAT,且將所需的SAT儲存在 5己憶體406内。在將所需的SAT儲存在記憶體4〇 6内之後, 將相對應SAT目錄條目之P位元設定為” 1 ”,且繼續機構9 〇 〇 運作。另一方面,假如P = 0,則將使用SAT預設暫存器
10〇〇(第ίο圖)之sat預設基址欄(未顯示)的内容作為SAT 基址。 ~ 再次參考第9圖,使用線性位址9 0 2的”中間”部分作為
92194·ptd 第 22 頁 1233737 五、發明說明(17) 進入SAT9 0 6之索引。因此可利用SAT目錄條目910之SAT基 址和線性位址9 0 2的中間部分在SAT 9 0 6内選擇SAT條目 9 0 6。第1 2圖為SAT條目袼式1 2 0 0的一個實施例。在第1 2圖 之實施例中’各SAT條目包含有保密範圍辨識(sc I D)欄 位。SC I D欄位包含有SAT條目的數個位元位置。位元位置 形成SC I D值的二進位表示,其中sc I D值為大於或等於零之 整數值。SC I D值表示所選擇記憶體頁之保密範圍級數。舉 例而吕,當S C I D攔位包含有s A T條目的η位元,則所選擇記 憶體頁將會佔據在電腦糸統4 〇 〇中2 η個可能的記憶體保密 級數的其中之^一。 Β I U 6 0 6 (第6圖)從記憶體4 0 6檢索所需的SEM數據結 構條目’且將SEM數據結構條目提供給MMU6 0 2。再次參考 第8圖,保密檢測邏輯8 0 0從MMU6 02和分頁單元7 0 2經由通 訊匯流排檢索SEM數據結構條目。如上所述,SAT條目緩衝 器8 0 2係用於儲存相當小數量的現行所存取記憶體頁之$ a T 條目。保岔檢測邏輯8 〇 〇將所給定的S A T條目與相對應實體 位址之11標籤”部分儲存在SAT條目緩衝器8〇 2内。 在其後記憶體頁存取期間,保密檢測邏輯8 〇 〇會比較 由分頁單元7 0 2所產生實體位址之”標藏,,部分與對應於儲 存在SAT條目緩衝器8 0 2内之SAT條目之實體位址的標籤部 分。假如此實體位址之標藏部分與對應於儲存在SAT條目 緩衝器8 0 2内之SAT條目之實體位址的標籤部分相吻合,則 保密檢測邏輯8 0 0會存取於SAT條目緩衝器8 0 2内之SAT條 目,刪除此需求以便執行第9圖中之程序,且因此可從記
92194. ptd 第23頁 1233737 五、發明說明(18) 憶體40 6獲得SAT條目。保密核5 0 4 (第5圖)會修改在 CPU40 2 (例如,在内容切換期間)内之SAT基址暫存器908 的内容。因應SAT基址暫存器9 08的修改,CPU SCU 4 1 6的 保密檢測邏輯8 0 0會清理SAT條目緩衝器8 0 2。 在第7圖之實施例中,c P U S C U 4 1 6是麵接至分頁單元 7 0 2。當第4圖之電腦系統4 0 0是操作在SEM,則保密檢測邏 輯8 0 0接收現行執彳亍工作(亦即,現行所執行之指令)之 現行特權級(CPL)。保密檢測邏輯8 〇 〇亦從分頁單元7 〇 2 接收其内存在有相對應實體位址之選擇的記憶體頁的頁目 錄條目(PDE) U/S位元、PDE R/W位元、分頁表條目(PTE )U / S位元、和P T E R / W位元。保密檢測邏輯8 〇 〇利用上述 訊息,以及對應於所選擇記憶體頁之sAT條目的sc丨D值決 定是否對記憶體4 0 6的存取是授權的。 第6圖之CPU 4 0 2可以是χ8 6處理器,且可以包含有碼 區段(code segment,CS)暫存器,其為χ86處理器結構 之1 6位元區段暫存器的一種。各區段暫存器選擇一個區塊 的記憶體(例如,記憶體區段)。在分頁致能之保護模式 下’ C S暫存器載入有區段選擇器,其顯示記憶體4 〇 6之可 執行區塊。區段選擇器之最高順位(亦即,^有效位元) 的位元用來儲存顯示記憶體區塊(例如,記憶體區段)包 含有將由CPU 4 0 2之執行單元6 0 0 (第6圖)執行的下一個 指令之訊息。指令指標(IP/EIP/RIP)暫存器係用於儲存 進入由CS暫存器所顯示記憶體區塊(例如,記憶體區段) 的差量。cs: IP/EIP/RIP對顯示下一個指令的^段位址。
92194.ptd 第24頁
I 1233737
五、發明說明(19) CS暫存器之兩個最低順位( 存指干银并i拙> π - Μ 取小有效)位元係用於儲 廿?日不現仃由執打单兀6 〇瞻耔 之CLP)之捃轩牲描你r ^ 作(亦即,現行所執行 < 之現仃特榷級(cpL)的值。
表1係顯示當第4圖之雷脱么μ』Λ 妞私r會曰 ^ Λ 尾月甸糸統4〇〇操作在sem時以CPU 起始(亦即,以軟體起始) Ύ
crjj ΑΊη,^ Α ^ σ己隐體存取之規則範例。CPU SCU 416 (第4至8圖)和保宓枋μη & ^ ^ ri #馀烟 ^ / 你在核5 04 (第5圖)同時作用所 二虽第4圖之電腦系統400操作在SM時可實現表丨之規則以 便為儲存在記憶體4〇6内之數據和由操作系統5〇2(第调 )所提供之數據保密上提供額外的保密。
在下列的表1中,” CEI-SCI D”表示現行所執行指令的 SC ID值,而” SMP-SCI D,1表示所選擇記憶體頁之SCI D值。 C E I - S C I D值為對應於包含有現行所執行指令之記憶體頁之 SAT條目的SCI D值。在表1之實施例中,較低的SCI D值與較 高的保密範圍級數有關。在其他的實施例中,較高的SC I D 值可能與較高的保密範圍級數有關。
92194. ptd 第25頁 1233737 五、發明說明(20) 表1當第4圖之電腦系統400操作在SEM時以軟體起始記憶體存取之規則範例 所選擇記憶體頁 允許 SCID比較 CPL ϋ/S R/W 存取 註記 CEI-SCID〉 SMP-SCID X X X 益 SEM保密 發佈異常 CEI-SCID<= SMP-SCID 0 X 1(R/W) R/W 正常x86 提供保護: 同意全存取 CEI-SCID<= SMP-SCID 0 X 〇(R) 唯讀 正常x86 提供保護: 僅讀取存取 CEI-SCID<= SMP-SCID 3 0 X 無 正常x86 提供保護: 發佈一般性保護 錯誤 CEI-SCIDO SMP-SCID 3 1 1(R/W) R/W 正常x86 提供保護: 同意全存取 CEI-SCID<= SMP-SCID 3 1 〇(R) 唯讀 正常x86 提供保護: 僅讀取存取 在上述的表1中,當由現行所執行指令之SC I D值表示 的整數值大於由所選擇記憶體頁之SC I D值表示之整數值 時,nCEI-SCID> SMP-SCIDn條件是成立的。由現行所執行 指令之SC I D值表示的整數值小於或等於由所選擇記憶體頁
92194. ptd 第26頁 1233737 五、發明說明(21) 之SCID值表示之整數值時,” CEI-SCID<= SMP-SCID”條件 是成立的。所選擇記憶體頁之U /別立元是所選擇記憶體頁 之PDE U/S位元和pTE u/s位元進行邏輯AND的結果。所選 擇記憶體頁之R1位元是所選擇記憶體頁之PDE R/w位元和 PTE R/W位元進行邏輯AND的結果。符號X”表示”不在意”: 亦即其邏輯值可以是” ”戍” 1,,。 再次參考第8圖,CPU SCU 41 6的保密檢測邏輯80 0產 生一般性保護錯誤(GPF)信號和” SEM保密異常,,訊號,且 將GPF和SEM保密異常訊號提供給在MMU 6 0 2内之邏輯。當 保密檢f邏輯8〇〇發佈gpf訊號時,MMU 6 0 2將GPF訊號傳送 到執行單兀6 0 0 (第6圖)。因應此GPF訊號,執行單元600 會使用眾所周知的x8 6處理器結構之中斷描述符號表(I DT )的=量,構存取和執行GPF處理程式的常式。
當保始、檢測邏輯800發佈SEM保密異常訊號時,MMU 6 0 2會將8£河保率1#^|咕、、,, 在異书訊號达到執行單元6 0 0。不像一般使 用x8 6處理器結構之曰地μ 上 > 田丁 n a旦、再之DT向置機構之處理器的異常,其可使 ,,入處理SEM保密異常。與86”SYSENTER,,和 (, 曰'細作之方式類似,可藉由一對的暫存器 C例如,模型特宗紅+ 1 漸六5 ”曰f 曰存器或MRS)分配SEM保密異常。此對 曰仔态口j u疋π保宓s 異常時可為指令執目點"暫存器且當發生SEM保密 暫存器可定義碼df支目標位址。#密異常條目點 元版的RIP)、堆之「( CS),然後指令指標(IP,或64位 理程式之條目上/用段(SS)、以及在SEM保密異常處
文用之堆疊指標(SP,或64位元版之RSP
92194. ptd 第27頁 1233737 五、發明說明(22) )值。在軟體的控制下,執行單元6 0 0 (第6圖)會將先前 的SS、SP/RSP、EFLAGS、CS和IP/RIP值推進新的堆疊以便 顯示那裡發生異常。除此之外,執行單元6 0 0會將錯誤碼 推進此推疊。注意當總是儲存前一個SS和SP/RSP值,且堆 疊切換總是可達成時,將不會使用從中斷(I RET)指令所 傳回的正常,就算在CPL中並未發生變化。因此,可定義 新的指令以便完成來自SEM保密異常處理程式之返回。 第1 3A和1 3B圖之組合形成用於為記憶體提供存取保密 之方法1 3 0 0的實施例之流程圖,其中此記憶體儲存分散在 數個記憶體頁内之數據。舉例而言,當第4圖之電腦系統 4〇〇操作在SEM中時,方法1 3 0 0會反映表i中以CPU起始(亦 即’軟體起始)記憶體存取之範例規則。可在Μ M U 6 0 2 (第6至7圖)内實現方法1 3 0 0。 在方法1 3 0 0之步驟1 3 0 2期間,接收在指令執行期間所 產生之線性位址,以及指令之保密屬性(例如,包含此指 7之工作的CPL)。此指令存在於第一記憶體頁内。在步 驟1 3 0 4期間,利用此線性位址至少存取位於記憶體内之分 頁記憶體數據結構的一頁(例如,頁目錄和分頁表)以便 獲得所選擇記憶體頁之基址和所選擇記憶體頁之保密屬 性。舉例而言,所選擇記憶體頁之保密屬性包含有頁目錄 條目之U / S位元和R / W位元和分頁表條目之u / s位元和r / w位 元。 在決策步驟1 3 0 6期間’指令的保密屬性和所選擇記憶 體頁之保密屬性係用於決定是否存取是授權的。假如存取 1233737 五、發明說明(23) 是授權的,則在步驟1 3 0 8中將所選擇記憶體頁之基址和偏 移量混合以便產生在所選擇記憶體頁内之實體位址。假如 存取是未授權的,則在步驟1 3 1 0期間產生錯誤訊號(例 如’一般的保護錯誤訊號或GPF訊號)。
在步驟1 3 1 2期間,很明顯地可與步驟1 3 0 4同時執行 (亦即’其實際上是與步驟1 3 0 4平行),利用在指令執行 期間所產生之線性位址存取至少一個位於記憶體(例如第 f圖之SAT目錄和SAT)内之保密屬性數據結構,以便獲得 第一記憶體頁之額外的保密屬性,其中此第一記憶體頁包 含有指令,和所選擇記憶體頁之額外的保密屬性,其中所 ^擇δ己丨思體頁包含有對應於線性位址之實體位址。舉例而 言,第一記憶體頁之額外的保密屬性如上所述包含有保穷 範圍辨識(SCID)值,其中此SCID值顯示第一記憶體頁: 保密範圍級數。同樣地,所選擇記憶體頁之額外的保密屬 生包含有SC I D值,其中此SC I D值顯示所選擇記憶體頁之保 密範圍級數。
在步驟1 3 1 4期間’將利用第一記憶體頁之額外的保密 屬性轉換的數值與利用所選擇記憶體頁之額外的保密屬性 轉換的數,相比較。在步驟1 3 1 6期間,依據利用第一記憶 體頁之保密屬性轉換的數值與利用所選擇記憶體頁之額外 的保密屬性轉換的數值之比較結果存取所選擇記憶體頁。 舉例而言,假如方法丨3 〇 〇在當第4圖之電腦系統4 〇 〇操 作f SEM中時會反映表1中以CPU起始(亦即,軟體起始) 記憶體存取之範例規則,故只有在表示指令之SC I D值的整
92194. ptd 第29頁 1233737 五、發明說明(24) 數值小於或等於表示所選擇記憶體頁之 (亦即,假如 CEI-SCID< = SMP —SCID)時 期間存取所選擇記憶體頁。另一方面, SC I D值的整數值大於表示所選擇記憶體 值(亦即,假如 CEI-SCID>SMP_SCID) 間不能存取所選擇記憶體頁。在此情況 佈如表1中所示之SEM保密異常訊號。 上述的特殊實施例僅是作為說明用 不同但等量方式修改和實現,故對具有 將因為此處之說明而更佳顯而易見的。 申請專利範圍内所描述的之外,本發明 所顯示之結構和設計細節。因此很明顯 述特殊的實施例且所有的這些變動均是 目的之考量範圍内。因此,在下列所附 出本發明所尋求之保護。 SC ID值的整數值 才能夠在步驟1 3 1 6 假如表示指令之 頁之SCI D值的整數 則在步驟1 3 1 6期 下,如上所述將發 ,因為本發明可以 此方面技藝者而言 再者,除了在下列 將不是侷限於在此 地可改變或修改上 在本發明的精神和 申請專利範圍内提
92194. ptd 第30頁 1233737 圖式簡單說明 [圖示簡單說明] 藉由參考下列說明及其所伴隨之圖示可更加瞭解本發 明,在此相同的參考數字係標示相圖的元件,且其中: 第1圖係顯示眾所周知之X 8 6處理器結構之線性至實體 位址轉換機構; 第2圖係顯示X 8 6處理器結構之頁目錄條目格式; 第3圖係顯示x8 6處理器結構之之分頁表條目之格式; 第4圖係顯示包含有CPU之電腦系統的實施例,其中此 CPU包含有CPU保密檢查單元(SCU);
第5圖係顯示在第4圖電腦系統中之各種硬體和軟體元 件間的關係; 第6圖係顯示在第4圖之電腦系統中之CPU的一個實施 例,其中CPU包括記憶體管理單元(MMU); 第7圖係顯示第6圖之MMU的一個實施例,其中此MMU包 含有耦接至CPU SCU的分頁單元; 第8圖係顯示第7圖之CPU SCU的一個實施例; 第9圖係顯示用於存取給定記憶體頁之保密屬性表 (SAT)條目以便獲得給定記憶體頁之額外保密訊息之機 構的一個實施例;
第1 0圖係顯示SAT預設暫存器的一個實施例; 第1 1圖係顯示SAT目錄條目格式的一個實施例; 第1 2圖係顯示SAT條目格式的一個實施例;和 第1 3A和1 3B圖所顯示用於管理記憶體之方法的混合式 流程之一個實施例,其中此記憶體係用於儲存分散在數個
92194. ptd 第31頁 1233737
92194. ptd 第32頁 1233737
圖式簡單說明 600 執行單元 6 02 記憶體管理單元(MMU) 604 高速緩衝儲存器單元 606 匯流排介面單元(B I U ) 608 控制暫存器組 610 保密執行模式(SEM)暫存器組 700 分段單元 702 分頁單元 704 選擇邏輯 800 保密檢測邏輯 802 條目緩衝器 900 保密訊息機構 902 線性位址 904 保密屬性表(SAT)目錄 906 保密屬性表(SAT) 908 基址暫存器 910 SAT目錄條目 1000 SAT預設暫存器 1100〜1200 SAT目錄條目格式 92194.ptd 第33頁
Claims (1)
1233737: .〜> 丨丨案號91123899 年1月U日 修正_ 六、申請專利範圍 1 . 一種記憶體管理單元,用於管理分散儲存在複數個記 憶體頁内之數據,此記憶體管理單元包含有: 保密檢測單元,耦接成接收在現行指令執行期間 所產生之線性位址,其中此線性位址具有存在於所選 擇記憶體頁内之相應對實體位址,且其中此保密檢測 單元係建構成利用此線性位址存取位於記憶體内之至 少一個的保密屬性數據結構,以便獲得所選擇記憶體 頁之保密屬性,比較由現行指令之保密屬性轉換的數 值與由所選擇記憶體頁之保密屬性轉換的數值,且依 據比較結果產生輸出訊號;以及 其中此記憶體管理單元係建構成依據此輸出訊號 、 存取所選擇記憶體頁。 2. 如申請專利範圍第1項之記憶體管理單元,其中此至少 一個的保密屬性數據結構包含有保密屬性表目錄和至 少一個的保密屬性表。 3. 如申請專利範圍第2項之記憶體管理單元,其中此保密 屬性表目錄包含有複數個條目,且在此每個保密屬性 表目錄之條目包含有現行位元和保密屬性表基址攔位 ,且其中此現行位元顯示是否在記憶體中出現對應於 此保密屬性表目錄條目之保密屬性表,且其中該保密 屬性表基址攔位係保留給對應於保密屬性表目錄條目 之保密屬性表的基址。 4. 如申請專利範圍第2項之記憶體管理單元,其中此至少 一個的保密屬性表包含有複數個條目,且在此每一個
92194(修正版).ptc 第34頁 1233737 1 t 號 91123899_% 年 θ 月 2j 曰 修正_ 六、申請專利範圍 保密屬性表的條目包含有保密範圍辨識(SC I D)欄位 ,且其中此SC I D欄位包含有複數個位元位置,且其中 這些位元位置形成SC I D值的二進位表示,且其中此 SC I D值為大於或等於0之整數值,且其中此SC I D值顯示 相對應記憶體頁之保密範圍級數。 5.如申請專利範圍第1項之記憶體管理單元,其中該所選 擇記憶體頁之保密屬性包含有保密範圍辨識(SC I D) 值,其中此S C I D值為大於或等於0之整數值,並顯示所 選擇記憶體頁之保密範圍級數。 6 ·如申請專利範圍第1項之記憶體管理單元,其中該現行' 指令之保密屬性包含有保密範圍辨識(SC ID)值,且. 其中此SC I D值為大於或等於0之整數值,並指示具有現 行指令之記憶體頁的保密範圍級數。 7 ·如申請專利範圍第1項之記憶體管理單元,其中該保密 檢測邏輯係建構成從至少一個的保密屬性數據結構獲 得現行指令之保密屬性。 8. 如申請專利範圍第1項之記憶體管理單元,其中該輸出 訊號為錯誤訊號。 9. 如申請專利範圍第1項之記憶體管理單元,其中該保密 檢測單元係建構成除了所選擇記憶體頁之保密屬性之 外亦接收一組所選擇記憶體頁之保密屬性,且建構成 產生輸出訊號,此是依據(i )比較由現行指令之保密屬 性所轉換之數值與由所選擇記憶體頁之保密屬性所轉 換之數值的結果,和(i i) 一組所選擇記憶體頁之保
92194(修正版).ptc 第35頁 1233737 91123899 正 '.义 ΐ:Γ 六、争請專利範圍 密屬性。 1 0 ·如申請專利範圍第9項之咋卜立祕^ ,田抑一 選擇記憶體頁之保密屬性勺V古官/:二其中該組所 義之使用者/管理者(蜀二γ有由:86處理器結構所定 位元,且苴中U/S-0声-)位元和5買取/寫入(R/W) 憶體頁和對應於操作系β 二 勺妹作乐統5己 表示所選擇記憶體頁為佶之S理者、及文,且其中U/S=1 系統之使用者級數,、且Ϊ =記憶/頁和對應於操作 e己頁進仃項取存取,且其中r/w=i表示允許對所 擇圮fe體頁同時進行讀取和寫入存取。 11· 一種中央處理單元,包含有: /執订單兀,可操作耦接至記憶體,其中此執行單 元係建構成從記憶體取得指令並執行此指令;以及 記,體管理單元(MMU),可操作耦接至記憶體且 建構成官理記憶體,其中此MM0可建構成管理記憶體所 以此A憶體可以儲存分散在複數個記憶體頁内之數據 ,且其中此MMU包含有·· 保密檢測單元,耦接成接收在現行指令執行期間 由執行單元所產生之線性位址,其中此線性位址具有 存在於所選擇記憶體頁内之相應對實體位址,且其中 此保在、檢測單元係建構成利用此線性位址存取位於記 憶體内之至少一個的保密屬性數據結構,以便獲得所 選擇記憶體頁之保密屬性,比較由現行指令之保密屬 性轉換的數值與由所選擇記憶體頁之保密屬性轉換的
92]94(修正版).Ptc 第36頁 I233iS?r 修- 曰 號 91123899 六、申請專利範圍 數值,且依據比較結果產生輸出訊號;以及 其中此Μ M U係建構成依擄此屮 憶體頁。 丹力乂 m像此翻出汛諕存取所選擇記 1 2. —種電腦系統,包含有: 記憶體,用於儲存數攄,i由 • 廿款脉具中此數據包含有指令 中央 執行 係建 記憶 成管 以此 ,且 保密 行單 於所 密檢 内之 記憶 換的 ,且 其中 頁。 記憶 處理單元(CPU),包含有: 單元 建構 體所 數據 由執 存在 此保 憶體 選擇 性轉 數值 憶體 可操作柄接至該記憶體,#中此執行 構成從記憶體取得指令並執行此指令;以及 體管理( MMU),可操作耗接至記憶體且 理邊把憶體’其中此MMU可建構成管理該記憶 S己憶體可以儲存分散在複數個記憶體頁内之 其中此MMU包含有: 檢測單元,耦接成接收在現行指令執行期間 元所產生之線性位址’其中此線性位址具有 選擇記憶體頁内之相應對實體位址,且直中 測單元係建構成利用此線性位址存取位^呓 至少一個的保密屬性數據結構,以便獲得所 體頁之保密屬性’比較由現行指令之保密屬 數值與由所選擇記憶體頁之保密屬性轉換的 依據比較結果產生輸出訊號;以及 此MMU係建構成依據此輸出訊號存取所選擇記 1 3· —種記憶體管理單元,用於管理分散儲存在複數個
画 92]94(修正版).ptc 第37頁 [.....-:Γ /'.] H 號 91123899_% 年?月 2_3 曰 修正_ 六、申請專利範圍 憶體頁内數據之記憶體,此記憶體管理單元包含有: 分頁單元,耦接至記憶體且接收在現行指令執行 期間所產生之線性位址,且建構成利用此線性位址產 生位於所選擇記憶體頁内之實體位址,其中此分頁單 元係建構成利用此線性位址存取位於記憶體内的至少 一頁記憶體數據結構以便獲得所選擇記憶體頁之保密 屬性,且其中此分頁單元係建構成依據所選擇記憶體 頁之保密屬性產生錯誤訊號;以及 保密檢測單元,_接成可接收在現行指令執行期 間所產生之線性位址,且其中此保密檢測單元係建構 成利用此線性位址存取位於記憶體内的至少一個的保 密屬性數據結構,以便獲得所選擇記憶體頁之額外保 密屬性,比較由現行指令之保密屬性轉換的數值與由 所選擇記憶體頁之額外保密屬性轉換的數值,且依據 比較結果產生輸出訊號;以及 其中此記憶體管理單元係建構成依據此輸出訊號 存取所選擇記憶體頁。 1 4 .如申請專利範圍第1 3項之記憶體管理單元,其中此至 少一個的保密屬性數據結構包含有保密屬性表目錄和 至少一個的保密屬性表。 1 5 .如申請專利範圍第1 4項之記憶體管理單元,其中該保 密屬性表目錄包含有複數個條目,且其中該保密屬性 表目錄之各個條目包含有現行位元和保密屬性表基址 欄位,且其中該現行位元顯示是否對應於保密屬性表
92194(修正版).ptc 第38頁 1233737 Ί > ;·; 91123899 U 年?月 U 日 修正_ 六、申請專利範圍 目錄條目之保密屬性表出現在記憶體中,且其中該保 密屬性表基址欄位係保留給對應於該保密屬性表目錄 條目之保密屬性表的基址。 1 6 .如申請專利範圍第1 4項之記憶體管理單元,其中此至 少一個的保密屬性表包含有複數個條目,且其中該保 密屬性表之各個條目包含有保密範圍辨識(SC I D)攔 位,且其中該S C I D欄位包含有複數個位元位置,且其 中這些位元位置形成SC I D值的二進位表示,且其中此 SC I D值為大於或等於0的整數值,且其中此SC I D值顯示 相對應記憶體頁之保密範圍的級數。 1 7 .如申請專利範圍第1 3項之記憶體管理單元,其中所選 擇記憶體頁之額外保密屬性包含有保密範圍辨識 (SCI D)值,且其中此SCI D值為大於或等於0的整數 值,且顯示所選擇記憶體頁之保密範圍的級數。 1 8 .如申請專利範圍第1 3項之記憶體管理單元,其中該現 行指令之保密屬性包含有保密範圍辨識(SC I D)值, 且其中此SC I D值為大於或等於0的整數值,且顯示包含 有此指令之記憶體頁之保密範圍的級數。 1 9 .如申請專利範圍第1 3項之記憶體管理單元,其中此保 密檢測單元係耦接成接收包含現行指令之現行工作的 現行特權級(C P L),且建構成依據(i)由現行指令 之保密屬性轉換的數值與由所選擇記憶體頁之保密屬 性轉換的數值之比較結果和(i i)包含現行指令之現 行工作的CPL而產生輸出訊號。
92]94(修正版).ptc 第39頁 J2337^ : ^ ...........91123899 仍年 3 月 23 日 修正_ 六、申請專利範圍 2 0 .如申請專利範圍第1 3項之記憶體管理單元,其中在所 選擇記憶體頁内實體位址包含有基址和偏移量,且其 中分頁單元係建構成可從至少一頁的記憶體數據結構 中獲得基址。 2 1.如申請專利範圍第1 3項之記憶體管理單元,其中此至 少一頁的記憶體數據結構包含有由X 8 6處理器結構所定 義之頁目錄和至少一個的分頁表。 2 2 .如申請專利範圍第1 3項之記憶體管理單元,其中所選 擇記憶體頁之保密屬性包含有如X 8 6處理器結構所定義 之使用者/管理者(U/S)位元和讀取/寫入(R/W)位 ’ 元,且其中U / S = 0表示所選擇記憶體頁為操作系統記憶, 體頁和對應於操作系統之管理者級數,且其中U/S = l表 示所選擇記憶體頁為使用者記憶體頁和對應於操作系 統之使用者級數,且其中R/W = 0表示僅允許對所選擇記 憶體頁進行讀取存取,且其中R/W=l表示允許對所選擇 記憶體頁同時進行讀取和寫入存取。 2 3. —種記憶體管理單元,用於管理分散儲存在複數個記 憶體頁内數據之記憶體,此記憶體管理單元包含有·· 分頁單元,耦接至記憶體且接收存在於第一記憶 體頁内之現行指令執行期間所產生之線性位址,其中 此分頁單元係建構成利用此線性位址產生由現行指令 存取之實體位址,且其中此實體位址包含有所選擇記 憶體頁之基址和偏移量,且其中此分頁單元係建構成 利用線性位址存取位於記憶體内的至少一頁記憶體數
92194(修正版).ptc 第40頁 1233737 ; 曰索號91123899_t年7月23曰 修正_ 六、申請專利範圍 據結構,以便獲得所選擇記憶體頁之基址和保密屬性 ,且其中此分頁單元係建構成接收指令之保密屬性, 且其中此分頁單元係建構成依據指令之保密屬性和所 選擇記憶體頁之保密屬性產生錯誤訊號;以及 保密檢測單元,耦接成可接收指令之保密屬性、 所選擇記憶體頁之保密屬性、和在現行指令執行期間 所產生之線性位址,且其中此保密檢測單元係建構成 利用此線性位址存取位於記憶體内的至少一個的保密 屬性數據結構,以便獲得所選擇記憶體頁之額外保密 屬性,比較由現行指令之保密屬性轉換的數值與由所 選擇記憶體頁之額外保密屬性轉換的數值,且依據比 較結果產生輸出訊號;以及 其中此記憶體管理單元係建構成依據此輸出訊號 存取所選擇記憶體頁。 2 4 .如申請專利範圍第2 3項之記憶體管理單元,其中此至 少一頁記憶體數據結構包含有由x8 6處理器結構所定義 之頁目錄和至少一個的分頁表。 2 5 .如申請專利範圍第2 3項之記憶體管理單元,其中現行 指令之保密屬性包含有具有由x8 6處理器結構定義之現 行指令之工作的現行特權級(CPL)。 2 6 .如申請專利範圍第2 3項之記憶體管理單元,其中所選 擇記憶體頁之保密屬性包含有如由X 8 6處理器結構所定 義之使用者/管理者(U/S)位元和讀取/寫入(R/W) 位元,且其中U/S = 0表示所選擇記憶體頁為操作系統記
92194(修正版).ptc 第41頁 123373? ί ';1 曰;案號91123899 乜年9月之3曰 修正 ΐ ' - , Λϊ,-ι - Ή - - - - ιτ - r--n- 六、申請專利範圍 憶體頁和對應於操作系統之管理者級數,且其中U/S二1 表示所選擇記憶體頁為使用者記憶體頁和對應於操作 系統之使用者級數,且其中R/W=0表示僅允許對所選擇 記憶體頁進行讀取存取,且其中R/W=l表示允許對所選 擇記憶體頁同時進行讀取和寫入存取。 2 7 .如申請專利範圍第2 3項之記憶體管理單元,其中所選 擇記憶體頁之額外保密屬性包含有保密範圍辨識 (SCI D)值,且其中此SCI D值為大於或等於0之整數 值,且顯示所選擇記憶體頁之保密範圍級數。 2 8 .如申請專利範圍第2 3項之記憶體管理單元,其中現行 指令之保密屬性包含有保密範圍辨識(S C I D)值,且 其中此SC I D值為大於或等於0之整數值,並顯示具有現 行指令之第一記憶體頁的保密範圍級數。 2 9 .如申請專利範圍第2 3項之記憶體管理單元,其中此至 少一個的保密屬性數據結構包含有保密屬性表目錄和 至少一個的保密屬性表。 3 0.如申請專利範圍第29項之記憶體管理單元,其中該保 密屬性表目錄包含有複數個條目,且此保密屬性表目 錄之各個條目均包含有現行位元和保密屬性表基址攔 位,且其中現行位元顯示是否對應於保密屬性表目錄 條目之保密屬性表出現在記憶體中,且其中該保密屬 性表基址欄位係保留給對應於保密屬性表目錄條目之 保密屬性表的基址。 3 1.如申請專利範圍第2 9項之記憶體管理單元,其中此至
92]94(修正版).]3·^ 第42頁 :123373^ .一M—-、上% 號 91123899_年 1 月 Μ 曰 修正_ 六、申請專利範圍 少一個的保密屬性表包含有複數個條目,且其中該保 密屬性表之各個條目包含有保密範圍辨識(SCI D)欄 位,且其中該SC I D攔位包含有複數個位元位置,且其 中這些位元位置形成S C I D值的二進位表示,且其中此 SC I D值為大於或等於0的整數值,且其中此SC I D值顯示 相對應記憶體頁之保密範圍的級數。 3 2. —種對用於儲存分散在複數個記憶體頁内之數據的記 憶體提供存取保密之方法,此方法含有: 接收在指令執行期間所產生之線性位址和指令的 保密屬性,其中此指令是存在於第一記憶體頁内; 利用線性位址存取位於記憶體内之至少一頁的記 憶體數據結構,以便獲得所選擇記憶體頁之基址和所 選擇記憶體頁之保密屬性; 假如指令之保密屬性和所選擇記憶體頁之保密屬 性顯示存取是授權的,則結合所選擇記憶體頁之基址 和偏移量以便產生在所選擇記憶體頁内之實體位址; 假如指令之保密屬性和所選擇記憶體頁之保密屬 性顯示存取是未授權的,則產生錯誤訊號; 利用指令執行期間所產生之線性位址存取位於記 憶體内之至少一個的保密屬性數據結構,以便獲得第 一記憶體頁之額外的保密屬性和所選擇記憶體頁之額 外的保密屬性; 比較由第一記憶體頁之額外的保密屬性所轉換之 數值與由所選擇記憶體頁之額外的保密屬性所轉換之
92194(修正版).ptc 第43頁 1233737 修正 91123899 六、申請專利範圍 數值;以及 依據由第一記憶體頁之額外的保密屬性所轉換之 ,數值和由所選擇之記憶體頁之額外的保密屬性所轉換 之數值的比較結果而存取所選擇記憶體頁。 3 3 .如申請專利範圍第3 2項之方法,其中此接收包含有: 接收在指令執行期間所產生之線性位址和指令的 保密屬性,其中此指令是存在於第一記憶體頁内,且 其中此指令之保密屬性包含有具有由x8 6處理器結構定 義之指令之工作的現行特權級(CPL)。 3 4 .如申請專利範圍第3 2項之方法,其中此利用包含有: 利用線性位址來存取位於該記憶體内之至少一頁 的記憶體數據結構,以便獲得所選擇記憶體頁之基址 和所選擇記憶體頁之保密屬性,其中此至少一頁的記 憶體數據結構包含有由x8 6處理器結構所定義之頁目錄 和至少一個的分頁表。 3 5 .如申請專利範圍第3 2項之方法,其中此結合包含有: 假如指令之保密屬性和所選擇記憶體頁之保密屬 性顯示存取是授權的,則結合所選擇記憶體頁之基址 和偏移量以便產生在所選擇記憶體頁内之實體位址, 其中該所選擇記憶體頁之保密屬性包含有如X 8 6處理器 結構所定義之使用者/管理者(U/S)位元和讀取/寫入 (R/W)位元,且其中U/S = 0表示所選擇記憶體頁為操 作系統記憶體頁和對應於操作系統之管理者級數,且 其中U/S= 1表示所選擇記憶體頁為使用者記憶體頁和對
92】94(修正版).ptc 第44頁 12337¾¾ j V 93. 號91123899_竹年兮月公日 修正_ 六、申請專利範圍 應於操作系統之使用者級數,且其中R/W = 0表示僅允許 對所選擇記憶體頁進行讀取存取,且其中R / W = 1表示允 許對所選擇記憶體頁同時進行讀取和寫入存取。 3 6 .如申請專利範圍第3 2項之方法,其中此產生包含有: 假如指令之保密屬性和所選擇記憶體頁之保密屬 性顯示存取是未授權的,則產生錯誤訊號,其中此錯 誤訊號為由該X 8 6處理器結構所定義之一般性保護錯誤 (GPF)訊號。 3 7 .如申請專利範圍第3 2項之方法,其中此存取包含有: 利用指令執行期間所產生之線性位址存取位於記 憶體内之至少一個的保密屬性數據結構,以便獲得第 一記憶體頁之額外的保密屬性和所選擇記憶體頁之額 外的保密屬性,其中此至少一個的保密屬性數據結構 包含有保密屬性表目錄和至少一個保密屬性表,且其 中該第一記憶體頁之額外保密屬性包含有該第一記憶 體頁之保密範圍辨識(SC I D)值,且其中該第一記憶體 頁之SC I D值為大於或等於0之整數值且顯示該第一記憶 體頁之保密範圍級數,且其中所選擇記憶體頁之額外 的保密屬性包含有所選擇記憶體頁之保密範圍辨識 (SCI D)值,且其中該所選擇記憶體頁之該SCI D值為 大於或等於0之整數值且顯示所選擇記憶體頁之保密範 圍級數。
92194(修正版).ptc 第45頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/010,161 US8051301B2 (en) | 2001-11-13 | 2001-11-13 | Memory management system and method providing linear address based memory access security |
Publications (1)
Publication Number | Publication Date |
---|---|
TWI233737B true TWI233737B (en) | 2005-06-01 |
Family
ID=21744223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW091123899A TWI233737B (en) | 2001-11-13 | 2002-10-17 | Memory management system and method providing linear address based memory access security |
Country Status (8)
Country | Link |
---|---|
US (1) | US8051301B2 (zh) |
JP (1) | JP4295111B2 (zh) |
KR (1) | KR100964000B1 (zh) |
CN (1) | CN1278244C (zh) |
DE (1) | DE10297433B4 (zh) |
GB (1) | GB2398902B (zh) |
TW (1) | TWI233737B (zh) |
WO (1) | WO2003042839A2 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6823433B1 (en) * | 2001-11-13 | 2004-11-23 | Advanced Micro Devices, Inc. | Memory management system and method for providing physical address based memory access security |
US6785790B1 (en) * | 2002-05-29 | 2004-08-31 | Advanced Micro Devices, Inc. | Method and apparatus for storing and retrieving security attributes |
US20030226014A1 (en) * | 2002-05-31 | 2003-12-04 | Schmidt Rodney W. | Trusted client utilizing security kernel under secure execution mode |
US7552303B2 (en) | 2004-12-14 | 2009-06-23 | International Business Machines Corporation | Memory pacing |
US7673345B2 (en) | 2005-03-31 | 2010-03-02 | Intel Corporation | Providing extended memory protection |
US20070006294A1 (en) * | 2005-06-30 | 2007-01-04 | Hunter G K | Secure flow control for a data flow in a computer and data flow in a computer network |
US7617534B1 (en) | 2005-08-26 | 2009-11-10 | Symantec Corporation | Detection of SYSENTER/SYSCALL hijacking |
CN100432955C (zh) * | 2005-09-02 | 2008-11-12 | 中兴通讯股份有限公司 | 一种非法内存读写的检测方法 |
US7685638B1 (en) | 2005-12-13 | 2010-03-23 | Symantec Corporation | Dynamic replacement of system call tables |
US7555628B2 (en) * | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
US8566565B2 (en) * | 2008-07-10 | 2013-10-22 | Via Technologies, Inc. | Microprocessor with multiple operating modes dynamically configurable by a device driver based on currently running applications |
CN102163320B (zh) * | 2011-04-27 | 2012-10-03 | 福州瑞芯微电子有限公司 | 一种图像处理专用可配置的mmu电路 |
US8631212B2 (en) * | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
US9442732B2 (en) | 2012-03-19 | 2016-09-13 | Via Technologies, Inc. | Running state power saving via reduced instructions per clock operation |
US9804969B2 (en) * | 2012-12-20 | 2017-10-31 | Qualcomm Incorporated | Speculative addressing using a virtual address-to-physical address page crossing buffer |
US8935800B2 (en) | 2012-12-31 | 2015-01-13 | Intel Corporation | Enhanced security for accessing virtual memory |
CN103164348B (zh) * | 2013-02-28 | 2016-06-08 | 浙江大学 | 一种多系统下对实时操作系统所占用内存的保护方法 |
US9330026B2 (en) | 2013-03-05 | 2016-05-03 | Qualcomm Incorporated | Method and apparatus for preventing unauthorized access to contents of a register under certain conditions when performing a hardware table walk (HWTW) |
US9015400B2 (en) | 2013-03-05 | 2015-04-21 | Qualcomm Incorporated | Methods and systems for reducing the amount of time and computing resources that are required to perform a hardware table walk (HWTW) |
US10061940B2 (en) * | 2013-07-09 | 2018-08-28 | Andes Technology Corporation | Secure protection processor and method including comparing an instruction security attribute of an instruction and a security attribute of an operational event |
US9330011B2 (en) | 2013-09-20 | 2016-05-03 | Via Alliance Semiconductor Co., Ltd. | Microprocessor with integrated NOP slide detector |
US10019260B2 (en) | 2013-09-20 | 2018-07-10 | Via Alliance Semiconductor Co., Ltd | Fingerprint units comparing stored static fingerprints with dynamically generated fingerprints and reconfiguring processor settings upon a fingerprint match |
US9575778B2 (en) | 2014-05-20 | 2017-02-21 | Via Alliance Semiconductor Co., Ltd. | Dynamically configurable system based on cloud-collaborative experimentation |
US9755902B2 (en) | 2014-05-20 | 2017-09-05 | Via Alliance Semiconductor Co., Ltd. | Dynamic system configuration based on cloud-collaborative experimentation |
US20210026950A1 (en) * | 2016-03-07 | 2021-01-28 | Crowdstrike, Inc. | Hypervisor-based redirection of system calls and interrupt-based task offloading |
US20180081830A1 (en) * | 2016-09-20 | 2018-03-22 | Advanced Micro Devices, Inc. | Hardware supervision of page tables |
US10324857B2 (en) * | 2017-01-26 | 2019-06-18 | Intel Corporation | Linear memory address transformation and management |
US10592437B2 (en) | 2017-07-31 | 2020-03-17 | Hewlett Packard Enterprise Development Lp | Memory matching key capability |
US10831679B2 (en) * | 2018-03-23 | 2020-11-10 | Intel Corporation | Systems, methods, and apparatuses for defending against cross-privilege linear probes |
US11983418B2 (en) * | 2022-06-27 | 2024-05-14 | Western Digital Technologies, Inc. | Security indicator on a data storage device |
KR20240044695A (ko) * | 2022-09-29 | 2024-04-05 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5627987A (en) | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
US5619671A (en) | 1993-04-19 | 1997-04-08 | International Business Machines Corporation | Method and apparatus for providing token controlled access to protected pages of memory |
US6813699B1 (en) * | 1995-06-02 | 2004-11-02 | Transmeta Corporation | Speculative address translation for processor using segmentation and optional paging |
US5859966A (en) * | 1995-10-10 | 1999-01-12 | Data General Corporation | Security system for computer systems |
US5933627A (en) * | 1996-07-01 | 1999-08-03 | Sun Microsystems | Thread switch on blocked load or store using instruction thread field |
JPH10177560A (ja) * | 1996-12-17 | 1998-06-30 | Ricoh Co Ltd | 記憶装置 |
US6154818A (en) | 1997-11-20 | 2000-11-28 | Advanced Micro Devices, Inc. | System and method of controlling access to privilege partitioned address space for a model specific register file |
-
2001
- 2001-11-13 US US10/010,161 patent/US8051301B2/en not_active Expired - Fee Related
-
2002
- 2002-09-12 KR KR1020047007332A patent/KR100964000B1/ko active IP Right Grant
- 2002-09-12 WO PCT/US2002/028984 patent/WO2003042839A2/en active Application Filing
- 2002-09-12 DE DE10297433T patent/DE10297433B4/de not_active Expired - Lifetime
- 2002-09-12 CN CNB028224655A patent/CN1278244C/zh not_active Expired - Lifetime
- 2002-09-12 GB GB0408766A patent/GB2398902B/en not_active Expired - Lifetime
- 2002-09-12 JP JP2003544605A patent/JP4295111B2/ja not_active Expired - Lifetime
- 2002-10-17 TW TW091123899A patent/TWI233737B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US8051301B2 (en) | 2011-11-01 |
WO2003042839A3 (en) | 2003-12-18 |
KR20050027082A (ko) | 2005-03-17 |
CN1585932A (zh) | 2005-02-23 |
WO2003042839A2 (en) | 2003-05-22 |
GB2398902A (en) | 2004-09-01 |
DE10297433B4 (de) | 2008-07-24 |
JP2005509946A (ja) | 2005-04-14 |
JP4295111B2 (ja) | 2009-07-15 |
CN1278244C (zh) | 2006-10-04 |
US20030093686A1 (en) | 2003-05-15 |
GB0408766D0 (en) | 2004-05-26 |
GB2398902B (en) | 2006-06-07 |
KR100964000B1 (ko) | 2010-06-15 |
DE10297433T5 (de) | 2004-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI233737B (en) | Memory management system and method providing linear address based memory access security | |
CN103842976B (zh) | 具有保护模式以防止i/o装置进行存储器访问的输入/输出存储器管理单元 | |
RU2602793C2 (ru) | Способ модификации разрешений на доступ к памяти в защищенной процессорной среде | |
US7882317B2 (en) | Process isolation using protection domains | |
JP5068108B2 (ja) | メモリ・アドレスの変換およびピン止めのための方法およびシステム | |
US6823433B1 (en) | Memory management system and method for providing physical address based memory access security | |
US7543293B2 (en) | Privelege level changing for virtual memory mapping | |
TWI595379B (zh) | 安全管理單元、含有其的主機控制介面、主機控制介面的操作方法以及含有主機控制介面的裝置 | |
TWI342492B (en) | Method of providing extended memory protection | |
US20080040565A1 (en) | Method and apparatus for supporting immutable memory | |
TW200307216A (en) | Trusted client utilizing security kernel under secure execution mode | |
JP2005521942A (ja) | 領域粒状、ハードウェア制御メモリ暗号化を提供するシステムおよび方法 | |
TWI262389B (en) | Host bridge, computer system, and method for providing access security for a memory | |
KR20210022141A (ko) | 실행 도메인에 대한 페이지 테이블 엔트리에 지정된 허가를 통한 메모리 액세스 제어 | |
US12061541B2 (en) | System for confidential computing with capabilities | |
US12013794B2 (en) | Confidential computing mechanism | |
KR100831468B1 (ko) | Nodma 캐시 | |
Chen et al. | PD-DM: An efficient locality-preserving block device mapper with plausible deniability | |
TWI286686B (en) | Method and apparatus for multi-table accessing of input/output devices using target security | |
WO2007030524A1 (en) | Method and apparatus to provide separation of system software components | |
JPH03154949A (ja) | ストアされたデータのプロテクシヨン方法及びシステム | |
Li et al. | A Novel Persistent In-memory Filesystem for the Fusion of Memory and Storage | |
Ramachandran et al. | A 4K System-oriented CMOS Erasable PROM | |
JP2009104555A (ja) | Vt環境で動作するソフトウェアエージェントの改竄防止、方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK4A | Expiration of patent term of an invention patent |