TWI467374B - 運算系統及用於分割記憶體之受保護部分之方法 - Google Patents

運算系統及用於分割記憶體之受保護部分之方法 Download PDF

Info

Publication number
TWI467374B
TWI467374B TW97134381A TW97134381A TWI467374B TW I467374 B TWI467374 B TW I467374B TW 97134381 A TW97134381 A TW 97134381A TW 97134381 A TW97134381 A TW 97134381A TW I467374 B TWI467374 B TW I467374B
Authority
TW
Taiwan
Prior art keywords
memory
cmi
address
code
split
Prior art date
Application number
TW97134381A
Other languages
English (en)
Other versions
TW200917032A (en
Inventor
Chris M Giles
Bryan Hornung
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW200917032A publication Critical patent/TW200917032A/zh
Application granted granted Critical
Publication of TWI467374B publication Critical patent/TWI467374B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

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

Description

運算系統及用於分割記憶體之受保護部分之方法 發明的技術領域
本發明係有關用於電腦程式碼之分割記憶體保護部分。
相關申請案的交叉參照
本專利申請案為一延續案,且係依據2007年7月31日提申的美國專利申請案號11/830,909主張優先權,該美國案係以參考方式併入本申請案中說明。本延續案的所有申請專利範圍有資格請求美國專利申請案號11/830,909的優先權。
發明的技術背景
至少某些可分割電腦系統包含複雜管理(CM)程式碼,其以高位準來管理該系統。CM程式碼支援分隔該系統的功能。例如,CM程式碼係用以在該系統中生成各種不同分割區。如果應用程式已經存取該CM程式碼,病毒、程式錯誤、或不良的應用程式可能會犧牲該系統的整合性以及可運作性。
發明的概要說明
本發明揭露一種系統,其包含:多個電腦運算節點;以及多個分離記憶體裝置,一分離記憶體裝置係與各個電腦運算節點相關聯,係把該等分離記憶體裝置組配成一分割 記憶體,其中記憶體存取動作係跨越該等多個記憶體裝置而交錯;其中係保留該分割記憶體的一受保護部份,以供複雜管理程式碼(CM)使用,該複雜管理程式碼協調在該系統上實行的多個分割區,且使該分割記憶體的受保護部份受限而不受到在該分割區中運作之作業系統的存取。
圖式的簡要說明
以下將參照附錄的圖式來詳細地說明本發明的例示實施例,在圖式中:第1圖展示出根據各種不同實施例的一種系統;第2圖展示出根據該系統之各種不同實施例的一種軟體階層體系;第3圖說明根據各種不同實施例而由CM程式碼" 所擁有" 的分割記憶體以及CM記憶體;以及第4圖展示出根據各種不同實施例的一種方法。
註釋與術語
在以下的詳細說明以及申請專利範圍中,將使用某些用語來表示特定的系統部件。如熟知技藝者可了解地,電腦公司常使用不同名稱來表示一種部件。本發明並不意圖區分出名稱上不同但功能上相同的部件。在以下討論以及申請專利範圍中,係以無限制方式來使用" 包括" 以及" 包含" 等用語,且因此應該把該等用語解釋為表示" 包括但不限於" 。同樣地,所謂的" 耦合" 此用語係意圖表示一種間接、 直接、光學、或無線電性連線方式。因此,如果一第一裝置耦合至一第二裝置,該連線可透過一直接電性連線來進行、經由其他裝置與連線而透過一間接電性連線來進行、透過一光學電性連線來進行、或者透過一無線電性連線來進行。
較佳實施例的詳細說明
第1圖展示出根據各種不同實施例的一種系統10。如所展示地,系統10包含藉由結構代理器40耦合在一起的一或多個電腦運算節點12、14與16。可備置任何數量的電腦運算節點。如參照電腦運算節點14所示,各個電腦運算節點包含一或多個處理器核心20、一或多個記憶體控制器22、以及一個記憶體裝置24。記憶體裝置24可包含多個雙直列記憶體模組(DIMM)。
各個處理器核心20執行一或多個作業系統以及在個別作業系統之下執行的多個應用程式。經由記憶體控制器22,核心20發佈記憶體請求(例如,讀取請求、寫入請求)以供存取記憶體24。記憶體控制器22在多個懸而未決的記憶體請求之間進行調停,以供存取記憶體24。系統10亦可包括結構代理器40可存取的多個I/O裝置以及子系統39。本文中討論的該等記憶體請求亦可源自於該等I/O裝置以及子系統。
在至少某些實施例中,係把包含在各個電腦運算節點中的記憶體24組配成" 分割記憶體" ,其表示針對該等記憶體 的多個記憶體請求係跨越多個電腦運算節點的記憶體而交錯。藉著使記憶體請求跨越在分割區中的所有記憶體控制器而交錯,一應用程式不必知悉該系統的非統一記憶體存取(NUMA)狀況,便能達成令人滿意的對稱多處理(SMP)系統效能。
在各種不同實施例中,系統10為" 可分割" 的係表示把各種不同電腦運算節點12至16組配成可在一或多個分割區中運作。一分割區包含各種不同硬體資源(例如,核心20、記憶體控制器22、記憶體24、與輸入/輸出(I/O)資源)以及軟體資源(作業系統以及應用程式)。不同的分割區可執行相同或不同的作業系統,並且可執行相同或不同的應用程式。
第1圖亦展示出一種結構代理器40。結構代理器40接收或者協調來自各種不同電腦運算節點12至16、I/O裝置與子系統39的分割記憶體請求,並且把該等分割記憶體位址轉譯為" 結構" 位址。可利用結構位址來存取該分割記憶體。使用結構位址的動作可所欲地使該等電腦運算節點中的DIMM遭到移除或者受到置換,而不會衝擊該等分割記憶體位址之電腦運算節點核心進行的運算動作。在把一分割記憶體位址轉譯為一結構位址之後,結構代理器40允許適當記憶體控制器22能完成對應的記憶體請求。在某些實施例中,將備置一個單一結構代理器40,而在其他實施例中,則可備置多個結構代理器40(例如,針對各個電腦運算節點備置一個結構代理器)。
稱為" 複雜管理(CM)" 程式碼的可執行程式碼係由一或 多個核心20執行,以協調在系統10上實行的各種不同分割區。CM程式碼產生該等各種不同分割區,並且在硬體資源(例如,記憶體24)的熱增加或刪除狀況發生時,視需要地重新組配該等分割區。
第2圖展示出根據該系統之各種不同實施例的一種軟體階層體系50。一分割區中的一或多個應用程式56係在該分割區的個別作業系統54下執行。作業系統54隸屬於CM程式碼52。因此,CM程式碼在不受該作業系統的控制下執行。在各種不同實施例中,係把CM程式碼52儲存在該分割記憶體中,並且從該分割記憶體執行CM程式碼52。
CM程式碼52係以具有競爭力(performant)的方式來運作。如果把該CM程式碼儲存在系統記憶體,應該可以快速地存取該程式碼。此外,該CM程式碼需要系統記憶體中的多個資料儲存區,其可快速地且近乎一致地受到存取。掌管該CM程式碼以及該CM程式碼所使用之該等資料儲存區的記憶體區域稱為" 複雜管理交錯" (CMI),因為該區域的交錯本質說明了效能需求。
因為CM程式碼52係以不受作業系統54控制的方式在各種不同分割區中運作,該等作業系統可實行的安全機構通常無法有效地保護CM程式碼52的安全性。因為該CMI區域需要交錯式記憶體支援,該CMI區域通常使用針對分割記憶體備置的基礎建設。因此,根據各種不同實施例,分割記憶體的一部份亦掌管了該CMI記憶體區域。將限制當中常駐有該CMI區域的分割記憶體部份而使其不會受到在該等各 種不同分割區中執行之作業系統54的存取。
第3圖展示出分割記憶體60的一實施例。將保留該分割記憶體的部份62以供CM程式碼52使用,且係稱為複雜管理交錯(CMI)記憶體。在展示於第3圖的實施例中,分割記憶體60的CMI特定部份62係保留在分割記憶體60的前半部。舉例來說,分割記憶體60包含1GB的記憶體,且受到保留僅供CM程式碼52專用的部份62包含該分割記憶體的前面64MB。然而,部份62可位於除了分割記憶體60前半部以外的其他位置。
在展示於第3圖的實施例中,係把分割記憶體60劃分為一個受認可分割記憶體位址空間64以及一個CMI記憶體位址空間66。例如,如所展示地,受認可分割記憶體位址空間64包含介於0至0+t的一位址範圍。例如,CMI記憶體位址空間包含介於V至V+n的一位址範圍。受認可分割記憶體位址空間64以及CMI記憶體位址空間66的位址並不同,且因此不重疊。結構代理器40把受認可分割記憶體位址空間64以及CMI記憶體位址空間66的位址轉譯為結構位址,以令該等記憶體請求能完成。
在至少某些實施例中,CMI記憶體位址空間66係小於可分派給該等各種不同分割區之記憶體的最小粒度。分派給CMI的任何記憶體不是作業系統或應用程式可得的。可所欲地實行一種不同保護機構,其使用的粒度小於用以保護記憶體不受到其他分割區影響之機構的粒度。
在該分割記憶體位址空間中,位於受認可分割記憶體位 址空間64上面的位址範圍代表未受到認可的分割記憶體位址(未受認可分割記憶體位址空間68)。未受認可分割記憶體位址空間68可化名為(即,藉著把該等位址轉譯為結構存取)與CMI記憶體位址空間66相同的CMI區域62。未受認可分割記憶體位址空間68以及CMI記憶體位址空間66的位址並不同,且因此並不重疊,但化名為相同的CMI區域62。
如名稱所暗示地,未受認可分割記憶體位址空間68並未得到允許而作為該分割記憶體位址空間的部分。並不把該等位址報告為該等各種不同分割區以及其中執行之作業系統可得的位址。CMI記憶體位址空間66包含化名為CMI區域62的多個位址,其可由處理器核心20用來執行CM程式碼52或用以存取其他CMI-受保護資料,但僅在處理器核心20處於一種複雜管理(CM)操作模式時。將根據任何適當技術使處理器核心20轉換為該CM模式。當處理器核心20處於該CM模式時,將允許該核心產生用以執行CM程式碼52以及存取CMI區域62之其他部分的CMI位址,以供存取CM資料。當結構代理器40接收到位於CMI記憶體位址空間66中的一位址時,結構代理器40允許該位址以及相關聯記憶體請求能完成。於此,結構代理器40把所接收到的CMI記憶體位址轉譯到一結構代理器。
如上所述,未受認可分割記憶體位址空間位址不同於CMI記憶體位址空間位址,且因此可由結構代理器40容易地從CMI記憶體位址空間66的CMI記憶體位址檢測且區分出來。未受認可分割記憶體位址空間68中的分割記憶體位 址係由並未處於該CM模式的處理器核心20產生。該種位址參考方式不能信賴。因此,結構代理器40所接收到之可化名為CMI區域52的任何分割記憶體位址空間在受到轉譯為一結構位址時並不會受到認可,且該結構代理器將阻擋該等記憶體請求使其無法完成。在至少某些實施例中,結構代理器40藉著不允許該等請求完成且藉著產生表示在未受認可分割記憶體位址空間68中出現了一位址的一信號或訊息,來阻擋該等請求。該種信號或訊息的出現可表示有病毒、程式錯誤、或有其他類型的違法亂紀狀況或非蓄意錯誤。
第4圖展示出根據各種不同實施例的一種方法100。在步驟102中,方法100包含結構代理器40接收到一記憶體請求,其可包含該分割記憶體位址空間或該CMI記憶體位址中的一位址。如果該位址處於該分割記憶體位址中,該位址可分別處於該受認可分割記憶體位址空間64或未受認可分割記憶體位址空間68中。在第4圖中,係把受認可分割記憶體位址空間64中的一分割記憶體位址稱為" P:64" ,而把未受認可分割記憶體位址空間68中的一分割記憶體位址稱為" P:68" 。在第4圖中,CMI記憶體位址空間66中的一位址係稱為" P:CMI"
在步驟104中,方法100包含判定該記憶體請求中的該位址是否為受認可分割記憶體位址空間64中的一位址(P:64),或為未受認可分割記憶體位址空間68中的一位址(P:68)、或為CMI記憶體位址空間66中的一位址(P:CMI)。 如果為該記憶體請求之目標的該位址為P:CMI或P:64,便允許該記憶體請求能完成(步驟106)。將阻擋包含P:68位址(即,位於未受認可分割記憶體位址空間68中的一位址)的一記憶體請求而使其無法完成(步驟108)。
以上的討論係用以展示出本發明的原則以及各種不同的實施例。對熟知技藝者來說,在完全了解上面的揭示後,將可進行多種變化方案以及修正方案。所意圖的是,將把以下的申請專利範圍解釋為包含所有該等變化方案以及修正方案。
10‧‧‧系統
12‧‧‧電腦運算節點
14‧‧‧電腦運算節點
16‧‧‧電腦運算節點
20‧‧‧處理器核心
22‧‧‧記憶體控制器
24‧‧‧記憶體裝置
39‧‧‧I/O裝置以及子系統
40‧‧‧結構代理器
50‧‧‧軟體階層體系
52‧‧‧CM程式碼
54‧‧‧作業系統
56‧‧‧應用程式
60‧‧‧分割記憶體
62‧‧‧CMI區域、CMI部份
64‧‧‧受認可分割記憶體位址空間
66‧‧‧CMI記憶體位址空間
68‧‧‧未受認可分割記憶體位 址空間
100‧‧‧方法
102~108‧‧‧步驟
第1圖展示出根據各種不同實施例的一種系統;第2圖展示出根據該系統之各種不同實施例的一種軟體階層體系;第3圖說明根據各種不同實施例而由CM程式碼" 所擁有" 的分割記憶體以及CM記憶體;以及第4圖展示出根據各種不同實施例的一種方法。
10‧‧‧系統
12‧‧‧電腦運算節點
14‧‧‧電腦運算節點
16‧‧‧電腦運算節點
20‧‧‧處理器核心
22‧‧‧記憶體控制器
24‧‧‧記憶體裝置
39‧‧‧子系統
40‧‧‧結構代理器

Claims (8)

  1. 一種運算系統,其包含:多個運算節點;以及多個分離記憶體裝置,一分離記憶體裝置係與各個運算節點相關聯,該等分離記憶體裝置組配成一分割記憶體,其中記憶體存取動作係被交錯於多個該等記憶體裝置;其中保留該分割記憶體的一受保護部份,以供複雜管理(CM)程式碼使用,該複雜管理程式碼協調在該系統上實行的多個分割區,且限制該分割記憶體的受保護部份不被該等分割區中運作之作業系統存取,以及各個運算節點包含一處理器核心,且當該處理器核心處於一複雜管理(CM)模式時,該處理器核心僅可存取分割記憶體空間的該受保護部份。
  2. 如申請專利範圍第1項之系統,其另包含耦合至該等運算節點的一代理器,該代理器可阻擋對該分割記憶體之該受保護部份的嘗試存取動作。
  3. 如申請專利範圍第1項之系統,其另包含一分割記憶體範圍以及一複雜管理交錯(CMI)記憶體位址範圍,該分割記憶體範圍以及該等CMI記憶體位址範圍並不重疊,其中該CMI記憶體位址範圍對應於該受保護部份。
  4. 如申請專利範圍第1項之系統,其中該CM程式碼在不同的該等運算節點中產生多個分割區。
  5. 一種用於分割記憶體之受保護部份的方法,其包含下列步驟: 判定一記憶體請求是否包含為一分割記憶體位址或為一複雜管理交錯(CMI)記憶體位址的一位址;以及如果該位址為一CMI記憶體位址,便完成該記憶體請求;以及如果該位址為一分割記憶體位址,而其為被保留以供複雜管理(CM)程式碼使用的分割記憶體之一受保護區域之別名,便阻止該記憶體請求而使其無法完成;其中該CM程式碼管理在一電腦系統中實行的多個分割區;以及使一處理器轉變成處於一CM模式,該CM程式碼僅可由處於該CM模式的處理器執行。
  6. 如申請專利範圍第5項之方法,其另包含產生該記憶體請求以包括該CMI記憶體位址。
  7. 如申請專利範圍第5項之方法,其另包含僅在該處理器處於該CM模式時,該處理器才產生該記憶體請求以包括該CMI記憶體位址。
  8. 如申請專利範圍第5項之方法,其中該記憶體請求來自於在一分割區中運作的一作業系統。
TW97134381A 2007-10-08 2008-09-08 運算系統及用於分割記憶體之受保護部分之方法 TWI467374B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/868,772 US20090037678A1 (en) 2007-07-31 2007-10-08 Protected portion of partition memory for computer code

Publications (2)

Publication Number Publication Date
TW200917032A TW200917032A (en) 2009-04-16
TWI467374B true TWI467374B (zh) 2015-01-01

Family

ID=40418356

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97134381A TWI467374B (zh) 2007-10-08 2008-09-08 運算系統及用於分割記憶體之受保護部分之方法

Country Status (3)

Country Link
US (1) US20090037678A1 (zh)
DE (1) DE102008047612B4 (zh)
TW (1) TWI467374B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147916A1 (en) * 2001-04-04 2002-10-10 Strongin Geoffrey S. Method and apparatus for securing portions of memory
US20060004943A1 (en) * 2004-06-30 2006-01-05 Takashi Miyata Computer system for interleave memory accessing among a plurality of nodes
TW200707230A (en) * 2005-05-05 2007-02-16 Ibm Managing computer memory in a computing environment with dynamic logical partitioning
TWI282496B (en) * 2002-06-01 2007-06-11 Solid State System Co Ltd Method for partitioning memory mass storage device and device thereof
TWI285810B (en) * 2004-06-30 2007-08-21 Intel Corp Method, apparatus, and system for partitioning a shared cache of a chip multi-processor, and computer-readable recording medium having stored thereon related instructions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6879270B1 (en) * 2003-08-20 2005-04-12 Hewlett-Packard Development Company, L.P. Data compression in multiprocessor computers
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147916A1 (en) * 2001-04-04 2002-10-10 Strongin Geoffrey S. Method and apparatus for securing portions of memory
TWI282496B (en) * 2002-06-01 2007-06-11 Solid State System Co Ltd Method for partitioning memory mass storage device and device thereof
US20060004943A1 (en) * 2004-06-30 2006-01-05 Takashi Miyata Computer system for interleave memory accessing among a plurality of nodes
TWI285810B (en) * 2004-06-30 2007-08-21 Intel Corp Method, apparatus, and system for partitioning a shared cache of a chip multi-processor, and computer-readable recording medium having stored thereon related instructions
TW200707230A (en) * 2005-05-05 2007-02-16 Ibm Managing computer memory in a computing environment with dynamic logical partitioning

Also Published As

Publication number Publication date
TW200917032A (en) 2009-04-16
DE102008047612A1 (de) 2009-04-09
DE102008047612B4 (de) 2010-07-22
US20090037678A1 (en) 2009-02-05

Similar Documents

Publication Publication Date Title
EP3161716B1 (en) Management of authenticated variables
RU2621001C2 (ru) Содействие взаимодействия для запроса системных служб для аппаратно-защищенных приложений
JP6620595B2 (ja) 情報処理システム、情報処理装置、管理装置、処理プログラム、及び処理方法
US10180915B2 (en) Method and apparatus for accessing physical resources
JP2013537347A (ja) コンピュータシステムにおけるリソースアクセス制御を実行する方法
TWI780546B (zh) 執行安全操作的系統以及系統執行安全操作的方法
JP2016516228A (ja) システムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および回路装置
US9536075B2 (en) Dynamic resource sharing
US20110161644A1 (en) Information processor
US20050165783A1 (en) Secure direct memory access through system controllers and similar hardware devices
US7793051B1 (en) Global shared memory subsystem
EP3722952A1 (en) A concept for accessing computer memory of a memory pool
CN113391881A (zh) 中断的管理方法、装置、电子设备及计算机存储介质
KR101535792B1 (ko) 운영체제 구성 장치 및 방법
EP3249540B1 (en) Method for writing multiple copies into storage device, and storage device
TWI467374B (zh) 運算系統及用於分割記憶體之受保護部分之方法
KR20170112855A (ko) 스토리지 디바이스에서 논리 블록 어드레싱 액세스 퍼미션을 정의하는 방법 및 시스템
US20090037668A1 (en) Protected portion of partition memory for computer code
JP2008250386A (ja) アクセス制御装置及びコンピュータシステム
TW201432461A (zh) 在受控代碼中實現的高流通量低延遲使用者模式驅動程式
JP2019128711A (ja) 電子制御装置
CN117272412B (zh) 中断控制寄存器保护方法、装置、计算机设备及存储介质
JP6948039B2 (ja) コンピュータシステム
JP6438381B2 (ja) 電子制御装置
Feng et al. sIOPMP: Scalable and Efficient I/O Protection for TEEs

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees