TWI550630B - 存取受控記憶體區域之技術 - Google Patents
存取受控記憶體區域之技術 Download PDFInfo
- Publication number
- TWI550630B TWI550630B TW103145232A TW103145232A TWI550630B TW I550630 B TWI550630 B TW I550630B TW 103145232 A TW103145232 A TW 103145232A TW 103145232 A TW103145232 A TW 103145232A TW I550630 B TWI550630 B TW I550630B
- Authority
- TW
- Taiwan
- Prior art keywords
- access
- component
- mrac
- controlled memory
- memory
- Prior art date
Links
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
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
本發明係有關於存取受控記憶體區域之技術。
記憶體可用於一系統中來儲存資料。一系統可包括能夠存取該記憶體中之資料的多個請求器,其可使用一或多個記憶體裝置來執行。
依據本發明之一實施例,係特地提出一種方法,其包含有下列步驟:由與一存取受控記憶體區域相關聯之一第一構件來從一第二構件接收包括一協定標頭之一交易請求;由該第一構件基於該協定標頭中之資訊來決定該第二構件是否被授權來存取該存取受控記憶體區域;以及由該第一構件用以響應決定該第二構件不被授權來存取該存取受控記憶體區域,而將一負向應答訊息發送至該第二構件。
100‧‧‧記憶體空間
102、104、106‧‧‧控制構件
108‧‧‧存取構件
200‧‧‧協定標頭
202‧‧‧位址欄位
204‧‧‧Op碼欄位
206‧‧‧DSID欄位
208‧‧‧酬載欄位
210‧‧‧SSID欄位
212‧‧‧存取金鑰欄位
302、304‧‧‧MRAC表格
306、308‧‧‧存取邏輯
402、404、406、408‧‧‧方塊
502、606、702、806‧‧‧MRAC獲取請求
504、512、610、620、704、712、808、820‧‧‧MRAC ACK應答
506、602、612、706、802、810、812‧‧‧交易請求
508、614、708、814、816‧‧‧交易應答
510、616、710、818‧‧‧MRAC
釋放請求
604、804‧‧‧NAK回應
608、618‧‧‧MRAC構件
902-1、902-2、902-3、902-4‧‧‧記憶體領域
904-1、904-2、904-3、904-4‧‧‧記憶體
906-1、906-2、906-3、906-4‧‧‧記憶體路由器
907‧‧‧網路
908‧‧‧局部資料複本
910‧‧‧總體資料複本
A、B、1200‧‧‧構件
1102‧‧‧存取構件
1104‧‧‧記憶體模組
1106‧‧‧記憶體控制器
1108‧‧‧媒體控制器
1100‧‧‧介面子系統
1110、1112‧‧‧記憶體介面
1202‧‧‧存取受控記憶體區域
1204‧‧‧處理電路
某些實施態樣將參照下列圖形來說明。
圖1是一根據某些實施態樣,包括構件與存取受
控記憶體區域之一示範系統的方塊圖。
圖2是一根據某些實施態樣,一交易之協定欄位的示意圖。
圖3是一根據某些實施態樣,包括存取邏輯與存取受控記憶體區域之一示範安排的方塊圖。
圖4是一根據某些實施態樣之一程序的流程圖。
圖5至圖8是根據各種不同實施態樣,各種不同的訊息序列之訊息流程圖。
圖9是一根據其他實施態樣,包括多個記憶體領域之一示範安排的示意圖。
圖10是一根據其他實施態樣,能夠存取分別的存取受控記憶體區域之多個存取構件的示意圖。
圖11是一根據某些實施態樣,包括一存取構件與一記憶體模組之一示範安排的示意圖。
圖12是一根據某些實施態樣之一構件的方塊圖。
於具有多個構件(例如,處理器、輸入/輸出裝置、應用程式、執行緒、或者能夠存取資料之任何其他實體)之一系統中,儲存在一記憶體空間之資料的存取控制可能相當具有挑戰性。一記憶體空間可參照為可在一或多個構件中執行之一全部的記憶體數量,其中該等構件可包括一或多個記憶體裝置以及可能包括一或多個非記憶體裝置。一非記憶體裝置可參照為一記憶體空間之一部段可針
對儲存資訊來加以定義之任何構件。
於一系統中,一記憶體空間之某些記憶體區域可包含僅可由特定授權構件來存取之資訊(例如,敏感或機密資料、機器可執行碼、以及其他資訊)。存取控制可提供來使指定的一或多個構件能夠存取一給定記憶體區域、以及停用其他構件之存取。
根據某些實施態樣,一存取控制機構或技術提供存取受控記憶體區域,而一存取受控記憶體區域可僅由授權的一或多個構件來存取。應注意一授權構件可包括能夠存取資料之任何實體,包括一處理器、一輸入/輸出裝置、一應用程式、一執行緒、等等。接下來的說明中,一存取受控記憶體區域參照為具有存取控制(MRAC)之一記憶體區域。
圖1繪示一記憶體空間100包括參照為MRAC 1、MRAC 2、以及MRAC N之多個MRAC的示範安排。圖1中,假設每個MRAC與一分別的控制構件102、104或106相關聯。一控制構件為能夠組配與管理一分別的MRAC(或多個MRAC)之一構件。一MRAC可與該分別的控制構件分開或包含其中。
一MRAC之大小可被動態設置。例如,不同的MRAC可組配為具有不同的大小。一最大的MRAC大小為特定實施態樣、並可被加以組配。
應注意每一MRAC可由多個控制構件來控制。例如,MRAC 2可由兩個控制構件102與104來控制。此
外,圖1之範例中,該控制構件102能夠管理多個MRAC(MRAC 1與MRAC 2)。
雖然圖1中描繪三個控制構件,但應注意於替代實施態樣中,一系統中可包括不同數量(例如,少於三個或多於三個)的控制構件。
根據圖1之一系統亦可包括一或多個存取構件108,其可被允許存取MRAC 1、MRAC 2、與MRAC 3的其中之一或某些組合。該等多個存取構件108執行之存取可包括一資料讀取操作、一資料寫入操作、或任何其他類型的操作。為了執行一MRAC之存取,一存取構件可發出一交易請求。該交易請求可發至與該存取MRAC相關聯之一控制構件、或者,該交易請求可發至提供該存取MRAC之存取邏輯。一交易請求可指定有關一記憶體區域中之資料的一交易之效能。一交易可參照為在端點間(例如,一請求器與一記憶體或其他構件間)執行的一操作單元。
根據某些實施態樣,存取控制係基於一交易請求之一協定標頭中的資訊。該交易請求之一協定標頭包含該交易之控制資訊。一交易請求之協定標頭的控制資訊可包括在各種不同的協定欄位中。
該等協定欄位的其中之一或某些組合可用來執行有關一MRAC之存取控制。用於該存取控制之協定欄位的數量會影響提供存取控制的決定。某些實施態樣中,可提供微粒存取控制與總準位存取控制兩者。某些範例中,總準位存取控制(例如,一給定構件中可用之整個記憶體空
間部段的存取控制)可基於包含一來源之一識別符及/或一目的之一識別符的協定欄位。該交易請求中之一協定標頭中的識別符可為一切換識別符,其於一通訊光纖上識別一交易之一端點(來源或目的)。該通訊光纖可包括一或多個交換器。一交換器可參照為一中繼引擎來中繼構件之介面間的交易。識別一來源之一切換識別符可參照為一來源切換識別符(SSID),而識別一目的之一切換識別符可參照為一目的切換識別符(DSID)。其他範例中,可使用其他類型的識別符。亦應注意一交易請求可(諸如藉由使用一SSID來)訂定一構件,而不需訂定一特定的記憶體位址。
微粒存取控制可控制特定MRAC之存取。為了達到微粒存取控制,一交易請求之協定標頭中的一或多個其他協定欄位可用來決定提出該交易請求之請求器是否被授權來存取一特定MRAC。
存取一給定MRAC之一構件的授權可被靜態設定、或者,針對一指定的時間期間可被動態設定、或是否符合一或多個條件。
圖2是一交易請求之一協定標頭200的一範例。圖2顯示各種不同的示範協定欄位,而其他欄位加以省略。雖然已包括特定的協定欄位,但應注意根據其他範例,額外或替代的協定欄位可包括在該協定標頭200中。
該等協定欄位包括指定與一交易相關聯之一位址的一位址欄位202,其中該位址可識別一記憶體中或包含該交易之資料的其他構件之一位置(該交易可為讀取資料
之一讀取交易、寫入資料之一寫入交易、或其他類型的交易)。一Op碼欄位204包括一或多個操作碼,其可用來指定針對該交易來執行之一特定操作。
一DSID欄位206可識別該交易之一目的。一酬載欄位208包含該Op碼欄位204指定之操作的一酬載(若可應用)。一SSID欄位210包括一SSID來識別該交易之來源。
根據某些實施態樣,該協定標頭200之另一欄位為一存取金鑰欄位212,其可允許特定MRAC之微粒存取控制。一存取金鑰可代表授權來存取一給定MRAC之一構件或一構件群組。一或多個存取金鑰可與一MRAC相關聯,而每一存取金鑰提供一不同的存取準位。例如,一第一存取金鑰可與讀取寫入存取相關聯,而另一存取金鑰與唯讀存取相關聯、等等。雖然多個存取金鑰可用來提供不同的存取準位,但應注意其他實施態樣中,僅有一個存取金鑰可用於每一MRAC。不同的MRAC與不同的存取金鑰相關聯。
更一般而言,一存取金鑰為用來驗證至一或多個下列資源之存取特權的一識別符,該等資源可包括下列項目的至少其中之一或某些組合:一記憶體區域、任何類型的構件(例如,處理器、記憶體、交換器、場可規劃閘陣列、數位信號處器、圖形處理單元、等等)、一分離或整合加速器、一共享I/O構件(例如,網路或儲存控制器)、等等。
一存取金鑰可個別地用來執行一特定MRAC之存取控制,或者,一存取金鑰可結合該協定標頭之至少其
他協定欄位來使用以執行存取控制。
某些實施態樣中,一存取控制資料結構可提供來藉由存取構件而控制每一分別的MRAC之存取控制。該存取控制資料結構可為包含對應一給定構件之MRAC的記憶體位址範圍之一MRAC表格。應注意一記憶體位址範圍、或多個記憶體位址範圍可指定一MRAC之記憶體位置。該MRAC表格可將每一存取金鑰與一或多個記憶體位址範圍相關聯。
其他範例中,該存取控制資料結構可為一存取控制清單,其具有每個MRAC提供之一存取控制清單。
圖3是一可使用一MRAC表格(圖3所示之MRAC表格302與304)的一安排之示意圖。每一MRAC表格302或304可由一分別的存取邏輯306或308來存取以決定一交易請求是否被允許來存取一分別的MRAC(或多個MRAC)。某些範例中,每一存取邏輯306或308可為一控制構件之一部分(例如,圖1之102、104、或106)、或者可與該控制構件分開。
若一給定的存取邏輯可控制存取多個MRAC,則該對應的MRAC表格可包括多個項目,每一MRAC包括一個。該MRAC表格之每一項目可將一存取金鑰與對應該分別的MRAC之一或多個記憶體位址範圍相關聯。
操作上,用以響應一交易請求,一存取邏輯使用該存取金鑰(與可能的其他協定標頭資訊)來查詢該MRAC表格以決定該交易請求是否被授權來存取一請求的
MRAC。例如,若該交易請求中之存取金鑰與該MRAC表格之一存取金鑰匹配,則該MRAC之存取被授權。然而,若該交易請求中之存取金鑰與該MRAC表格之任何存取金鑰不匹配,則該MRAC之存取被拒絕。
更一般而言,該存取邏輯比較一交易請求之協定標頭資訊與包含在一存取控制資料結構(例如,MRAC表格、存取控制清單、或其他資料結構)中之協定標頭資訊,以決定該交易請求是否被授權來存取該分別的MRAC。
存取金鑰之金鑰管理(例如,存取金鑰與MRAC之關聯性)可由與該存取邏輯306與308分開之項目來執行。例如,金鑰管理可由一管理應用程式或其他管理實體來執行。存取金鑰可使用如該管理實體所決定,僅發送至信任構件之控制交易來傳達至構件。
亦應注意MRAC之建立與管理可由一系統中之機器可執行指令(例如,軟體或韌體)來執行。此可透過引起作為該協定驗證程序的一部分之簡單低成本比較器來允許非智慧型硬體支援MRAC功能。
圖4是一根據某些示範實施例,存取一MRAC之一程序的流程圖。一MRAC構件(包括一或多個MRAC之一構件)從一存取構件來接收(於402)包括一協定標頭之一交易請求。該MRAC構件(例如,可包括圖3之存取邏輯306或308)可基於該協定標頭中之資訊,來決定(於404)該存取構件是否被授權來存取該請求的MRAC。例如,該決定(於404)可使用一MRAC表格(例如,圖3之302或304)。
若該MRAC構件決定(於404)該存取構件被授權來存取該請求的MRAC,則該MRAC構件將一第一應答發送(於406)至該存取構件,其中該第一應答可包括請求資料與指出該請求交易之成功效能的一正向確認訊息之任何一個或兩者。
若該MRAC構件決定(於404)該存取構件未被授權來存取該請求的MRAC,則該MRAC構件發送(於408)一負向確認訊息至該存取構件。
圖5是一存取構件與一MRAC構件(其包括由該存取構件來存取之一MRAC)間之一訊息序列的一訊息流程圖。雖然圖5中描繪特定的訊息,但應注意其他範例中,可使用其他類型的訊息來允許一存取構件存取該MRAC構件。
該存取構件發出一MRAC獲取請求(502),其可包含該MRAC獲取請求之協定標頭中的(識別該記憶體位置受存取之)一位址、(識別該交易之來源,其為該存取構件的)一SSID、以及(識別該交易之目的,其為該MRAC構件的)一DSID,至該MRAC構件。應注意該MRAC獲取請求提交來由該存取構件取得存取該MRAC。若該MRAC受組配,則該MRAC構件將一MRAC ACK(確認訊息)應答(504)送至該存取構件,而該MRAC ACK應答包含該存取構件用來存取該MRAC之授權資訊。一旦該存取構件取得該MRAC之存取金鑰,該存取構件變為(授權來存取該MRAC之)一授權構件。
之後,該存取構件可發出一或多個交易請求(506)至該MRAC構件。每一交易請求可包括該MRAC ACK應答中,該MRAC構件返回至該存取構件之存取金鑰。用以響應該等交易請求,該MRAC構件可將交易應答(508)送回至該存取構件。
應注意一交易應答可包括請求資訊、指出該請求交易之成功完成的一正向ACK訊息、或指出該請求交易之完成不成功的一負向ACK(NAK)訊息。
該存取構件不再期望該MRAC構件之存取時,該存取構件可將一MRAC釋放請求(510)發送至該MRAC構件,而該MRAC釋放請求可包括一位址、一SSID、以及一DSID。於響應上,該MRAC構件送出一MRAC ACK應答(512),其指出該MRAC構件釋放。
若該MRAC釋放請求(510)由該控制構件發出至該MRAC構件,則若干動作的其中之一可由該MRAC構件執行。例如,該MRAC構件可破壞或以其他方式來移除該對應的MRAC。如另一範例中,可設定一指示器來指出該MRAC被破壞或以其他方式來移除。用以響應該MRAC釋放請求,該MRAC構件可送出一MRAC ACK應答(512)。
圖6繪示在(起初未授權之)一存取構件嘗試藉由發出一交易請求來存取一MRAC構件中的一MRAC之情境中,一訊息序列之一示範訊息流程圖。該起初未授權之存取構件將一交易請求(602)送至該MRAC構件,其以指出未授權存取之一NAK應答(604)來回應,並提供該目標MRAC
該控制構件之SID。或者,該SID可為用來解決未授權存取之請求的一例外處理或管理構件。該SID可由一管理實體來組配,其可使該MRAC構件容易於該數值中僅填入該NAK應答(604)。
該存取構件將一MRAC獲取請求(606)發出至該控制構件。該存取構件包括該MRAC構件之DSID(如圖6之MRAC DSID所指出)。該MRAC獲取請求可包括額外的限定符,諸如讀取-寫入或唯讀存取、請求構件之請求識別的範疇、等等。該MRAC獲取請求可由該控制構件上操作之一管理應用程式來作最終處理。某些範例中,該MRAC獲取請求可由該控制構件來處理。
該控制構件可藉由於一MRAC ACK應答(610)中返回該MRAC存取金鑰、或者藉由組配該MRAC構件(608)中之存取以及指示該存取構件來再次嘗試該(先前拒絕之)交易請求以授權該存取構件。
一旦授權後,該存取構件可將交易請求(包含該分別的存取金鑰)(612)發出至該MRAC構件,其可以分別的交易應答(614)來回應。
該存取構件不再希望存取該目標MRAC時,該存取構件將一MRAC釋放請求(616)發出至該控制構件,其之後引起該存取構件的授權。該授權之註銷可藉由送出一MRAC ACK應答(620)或者藉由在該MRAC構件(618)引起該存取構件之授權來執行。
應注意該控制構件於任何時間皆可引起該存取
構件的授權而不需通知該存取構件。此發生時,該存取構件於下一個存取嘗試時接收一NAK應答。若該控制構件不想允許該存取構件來請求存取,則該NAK應答可指出該MRAC不存在而且無控制構件。
圖7是允許(任意大小的)一記憶體區域之原子更新的一訊息序列之示範訊息流程圖。一記憶體區域之原子更新參照為任何其他交易於該記憶體區域執行前,該等更新必須全發生在該記憶體區域之一交易。該任意大小的記憶體區域可以是一MRAC的型式。該記憶體區域必須維持不變的擱置該記憶體區域之一原子更新,而若該更新取消或因其他因素無法完成,則一選項為轉返回該初始狀態。
為達到上述說明,該原子更新程序可凍結一MRAC並用以響應來自一存取構件之一請求而建立該MRAC之陰影複本。例如,如圖7所示,該存取構件可將一MRAC獲取請求(702)發出至該MRAC構件,其中該請求為針對一“初始”MRAC(該MRAC獲取請求的時間時存在之MRAC)。該MRAC獲取請求(702)指定(諸如於一Op碼欄位)該初始MRAC之存取為該原子更新程序的一部分。
於響應上,該MRAC構件建立一陰影MRAC(其為該初始MRAC之一複本),並將一MRAC ACK應答(704)返回至該存取構件。
該陰影MRAC建立後,針對來自該存取構件之交易請求會經歷某些延遲量。一協定可由該存取構件與MRAC構件使用,其允許交易處理暫時延遲而不觸發致命
錯誤(例如,該交易處理可使用透通的點對點錯誤回復)。為降低資源使用率,該陰影MRAC可僅包含已被修改之頁面。
之後來自該存取構件之交易請求(706)可使用該陰影MRAC來處理,而該MRAC購件以交易應答(708)來回應。該MRAC購件可將該之後的交易請求重新導向至該陰影MRAC。該類重新導向可與更新該MRAC購件之內部記憶體管理單元(MMU)來訂定該陰影MRAC而非該初始MRAC一樣簡單。
建立一陰影MRAC之實際程序為特定實施態樣,並可完全由軟體或結合硬體來執行。
該存取構件不再希望存取該目標MRAC時,該存取構件將一MRAC釋放請求(710)發出至該控制構件,而一確定指示器設定為一真實數值以指出該MRAC之釋放以該存取構件於該MRAC中完成之更新的一確定訊息來執行。用以響應該MRAC釋放請求,該MRAC構件可藉由(1)將該陰影MRAC複製到該初始MRAC(使得該初始MRAC包含該更新資料);或(2)釋放該初始MRAC以及使用該陰影MRAC來作為該實際MRAC來確定。
用以響應該MRAC釋放請求(710),該MRAC構件之後將一MRAC ACK應答(712)返回至該存取構件。
若來自該存取構件之MRAC釋放請求包括設定為錯誤數值的確定指示器(指出釋放而無確定),則該MRAC構件可丟棄該陰影MRAC,其可將該MRAC有效回復至其初始狀態。
下文說明彼此不同調之存取構件共享該相同記憶體區域的範例。該等存取構件間無一協調等級的情況下,該等存取構件之一第一構件的更新會導致不一致資料由該等存取構件之一第二構件讀取(例如,由於該第一存取構件無法將更新資料從快取記憶體刷新至該共享記憶體區域)。
為確保該等存取構件將資料更新至該共享記憶體區域的情況下,共享一記憶體區域之存取構件可存取一致的資料,可(靜態或動態地)組配存取控制來使得一存取構件具有該共享記憶體區域(一給定MRAC)之讀寫存取,而另一存取構件僅具有唯讀存取。此確保僅有讀寫之存取構件可更新該共享MRAC而將唯讀存取構件限制在非更新交易。如上文進一步說明,可讀寫存取對照唯讀存取可藉由使用該共享MRAC之不同存取金鑰來執行。
於一稍後時間,一可讀寫存取構件可改變為唯讀,而一唯讀存取構件可改變為可讀寫。該可讀寫存取與唯讀存取之組態可以頁面準位的粒度理論來執行(其中一存取構件可組配來具有該共享MRAC之一頁面或多頁面的可讀寫存取或唯讀存取)。
某些範例中,可提供(由非同調存取構件共享之)多個MRAC。一第一非同調存取構件可控制具有可讀寫存取之一第一共享MRAC,而該第一共享MRAC可以具有該第一共享MRAC之唯讀存取的另一非同調存取構件可存取之資料來更新。一第二非同調存取構件可控制具有可讀寫存
取之一第二共享MRAC,而該第二共享MRAC可以具有該第二共享MRAC之唯讀存取的另一非同調存取構件可存取之資料來更新。使用該類方法可簡化該等非同調存取構件之間的通訊且同時能保留適當的隔離。
為確保多個非同調存取構件存取資料時,一共享MRAC可反映正確資料,頁面準位所有權可定義在該共享MRAC中。所有權可在該等每一非同調存取構件中被追蹤。某些實施態樣中,一第一存取構件不直接訂定該共享MRAC,而將一特定頁面之一交易請求訂定至該頁面之所有權(一第二存取構件)。該第二存取構件可代理該交易請求並將該分別的應答返回至該第一存取構件。一存取特定頁面之一所有權存取構件可確保一交易同調地處理,而任何應答反映該正確資料。
圖8繪示含有能夠存取一共享MRAC之多個非同調存取構件(包括如圖8描繪之一第一存取構件與一第二存取構件)的一訊息序列之一示範訊息流程圖。該第一存取構件將一交易請求(802)送至該MRAC構件。假設該交易請求(802)訂定該第二存取構件所有之一記憶體部分(一共享MRAC之一或多個頁面或者一整個共享MRAC)。該MRAC構件以具有指出存取為何被拒絕以及何人接觸來取得存取之一理由碼的一NAK應答(804)來回應。該理由碼可指出代理存取欲被執行,且可包括該目的記憶體部分之所有權的一SID(參照為該“代理SID”)。
一旦該代理SID已知,該第一存取構件送出包含
(該記憶體位置受存取之)一位址的一MRAC獲取請求(806)、(識別該第一存取構件之)一SSID、以及(識別該代理器,圖8之範例中其為該第二存取構件)一代理DSID。該MRAC獲取請求(806)由該第二存取構件接收,其以包含該第一存取構件存取該目的記憶體部分可用之授權資訊(例如,一存取金鑰)的一MRAC ACK應答(808)回應。
使用上述說明,該MRAC構件可協助一存取構件識別一目的記憶體部分之一所有者,而不需包含該系統中之軟體。此外,所有權可藉由利用一NAK應答以傳達該新所有者來轉移。
如圖8進一步顯示,從該第二存取構件接收該MRAC ACK應答(808)後,該第一存取構件可將一交易請求(810)送出至該第二存取構件。該第二存取構件代理該MRAC構件之交易請求(812)。該MRAC構件以一交易應答(814)來回應該第二存取構件,該應答代理為一交易應答(816)回到該第一存取構件。
圖8中,該第二存取構件作為一代理器並將請求轉送至該MRAC構件以及轉送來自該MRAC構件之應答。
其他範例中,為改善效能,該第二存取構件可請求該MRAC構件將(該交易請求之)交易應答返回至該請求的第一存取構件而不需經過該第二存取構件。
該第一存取構件不再希望存取該目標記憶體部分時,該第一存取構件將一MRAC釋放請求(818)發出至該第二存取構件。該第二存取構件以一MRAC ACK應答(820)
來回應至該第一存取構件。
圖9繪示包括多個記憶體領域902-1、902-2、902-3、與902-4之一範例,其中每一記憶體領域包括一分別的記憶體904-1、904-2、904-3、與904-4。該等記憶體領域902-1、902-2、902-3、與902-4於一網路907上可由記憶體路由器906-1、906-2、906-3、與906-4來互連。
一記憶體路由器可在一局部領域視野之一位址與一總體領域視野之一位址間執行位址轉換。該記憶體領域902-1,例如,具有儲存於該記憶體領域902-1之記憶體904-1中的一局部資料複本908之一局部領域視野。
另一記憶體領域,例如,902-4可具有一總體資料複本910。該記憶體領域902-4具有儲存於該記憶體領域902-1中之局部資料複本908的一總體領域視野。
與圖9之安排相關聯的一挑戰是如何防止該局部資料複本908相關該總體資料複本910變為過期,此導致不一致的資料。
為陳述上述說明,如圖9所示,該總體資料複本910可視為一初始MRAC,而該局部資料複本908可視為一陰影MRAC(此類似上述結合圖7說明之解決方案)。然而,不將該初始MRAC與陰影MRAC共置在該相同MRAC構件中,如結合圖7說明,圖9之該初始MRAC與陰影MRAC儲存在分開的記憶體領域中(圖9之範例中的902-4與902-1)。
一旦該陰影MRAC建立後,該初始MRAC之後的交易請求會重新導向至該陰影MRAC來服務。同樣地,一
陰影MRAC不再使用時,則可使用上述結合圖7說明之釋放技術。
一旦一陰影MRAC建立後,存取該初始MRAC之任何嘗試會被拒絕。有兩種技術來處理此情況:(1)該初始MRAC的構件作為一代理器並透通地轉送交易請求,以及以類似圖8之方式來返回交易應答;或者(2)該初始MRAC的構件返回通知該請求器有關如何直接存取該陰影MRAC之一NAK應答。
某些實施態樣中,根據下列說明,可使用技術(1)與(2)兩者的一組合。若該請求器屬於該初始MRAC的構件局部,則一NAK應答返回將該請求器導向至交易請求欲導向之(該記憶體領域902-1的)一局部MMU。此範例中該局部MMU可作為一代理器。
若該請求器不屬於該初始MRAC的構件局部,則該請求器的局部MMU過濾交易請求並作為一代理器。
若該請求器屬於該陰影MRAC的構件局部,則該請求器的局部MMU過濾一交易請求並返回具有該陰影MRAC的局部構件位址之一NAK應答,或者該局部MMU作為該陰影MRAC的一代理器。
某些範例中,由於阻礙任何存取之一內部錯誤而使一MRAC不再可存取時,一NAK應答可用來通訊。例如,一記憶體模組會遭受一致命錯誤導致其儲存資源之25%失效。任何存取該記憶體模組失效的25%會造成具有指出該記憶體區域不可使用之一理由碼的一NAK應答,而仍允許
存取該記憶體模組可操作的75%。各種不同的理由碼可用來協助錯誤恢復的診斷、等等,諸如:‧未授權存取-此可將該請求器重新導向至管理例外處理的實體;‧不可存取的記憶體位址-該請求器具有錯誤的特權或該請求的記憶體範圍不再可存取;‧不存在的記憶體位址-該請求的記憶體範圍不再存在;‧分段衝突-該記憶體位址與對應的長度超過該可存取或授權的記憶體;‧不允許-該請求器目前缺乏允許來讀取或修改該請求的記憶體部分。
其他示範應用說明如下。
一記憶體可由多個構件來共享。為防止資料遺漏以及避免錯誤更新(會造成不一致資料之更新),多個MRAC可以指定的允許,例如,不允許、諸如唯讀之限制存取、或諸如可讀寫之未限制存取來組配。圖10繪示兩個構件,每一構件具有限制存取一MRAC以及未限制存取另一MRAC。例如,構件A具有限制存取(唯讀存取)MRAC 1、以及未限制存取(可讀寫存取)MRAC 2。構件B具有未限制存取MRAC 1、以及限制存取MRAC 2。此組態允許多個構件來簡單共享資訊而防止錯誤的更新。此外,該單一寫入器組態可簡化不同調構件間之同調管理。例如,構件A更新MRAC 2時,構件A可將一單播(或若有多個讀取器時多播)
無效請求發出至構件B,而使得構件B重新讀取該衝擊性位址範圍。
另一示範應用含有一虛擬記憶體光纖之使用。該類範例中,存取金鑰欄位(例如,圖2之202)可視為一虛擬記憶體光纖識別符(概念上類似一802.1Q虛擬區域網路(VLAN)識別符)。
該類範例中,僅有共享一共同存取金鑰之構件可交換點對點的交易。每一虛擬光纖代表一分開的SID空間。切換可使用該交易之一DSID與一存取金鑰的一組合來執行。虛擬光纖可共享以下的實體資源。例如,一構件中之一MRAC可被指定多個存取金鑰而不需曝露所有的記憶體資源。一共享MRAC可用來在兩個虛擬記憶體光纖間作為一訊息通過媒體。
另一示範應用含有具有多個資源(例如,多個記憶體裝置、I/O裝置、等等)之一構件。於一多資源構件中,該存取金鑰可用來從另一資源組限定一資源組(包括一或多個資源),而確保硬體執行之隔離。例如,若一I/O裝置同時由多個非合作構件共享,則管理軟體可指定每一應用一唯一的存取金鑰。該存取金鑰可用來快速識別一給定存取之資源。
另一示範應用含有一虛擬機器之轉移。一虛擬機器參照為於模擬一實際機器之一實體機器中執行的一環境。一虛擬機器可包括一客戶作業系統、一應用(或多個應用)以及其他構件。一實體機器中之多個虛擬機器可共享該
實體機器之實體資源。
藉由使用根據某些實施態樣之一MRAC,將一虛擬機器從一來源實體機器轉移至一目的實體機器可被簡化。不反覆複製實體機器間之轉移虛擬機器的記憶體與組態資訊,轉移可含有下列程序。欲轉移之虛擬機器可被懸置。該虛擬機器之資料可從一處理器快取記憶體刷新至永久或依電性記憶體。例如,該虛擬機器之資源存取控制被更新,以反映新的存取金鑰。記憶體模組、I/O模組、等等中之多個MRAC可被更新。一記憶體構件中之記憶體區域可有效轉移至該目的實體機器,而不需如同在一傳統虛擬機器轉移程序中複製記憶體構件間之資料。
該轉移虛擬機器可加入該目的實體機器之超管理器的排程器。轉移後,該轉移虛擬機器之執行可在該目的實體機器中回復。
圖11是包括一存取構件1102與一記憶體模組1104(例如,如上述可為一MRAC構件)之一安排的一方塊圖。一介面子系統1100設置在該存取構件1102與該記憶體模組1104之間。該存取構件1102與一記憶體控制器1106相關聯,而該控制器與與該記憶體模組1104相關聯之一分開的媒體控制器1108互動。該記憶體控制器1106可為該存取構件1102的一部分、或可與該存取構件1102分離。同樣地,該媒體控制器1108可為該分別的記憶體模組1104之一部分或與其分離。應注意該記憶體控制器1106可與多個媒體控制器互動,或者,該媒體控制器1108可與多個記憶體控制
器互動。
連同該媒體控制器1108之該記憶體控制器1106形成該介面子系統1100。藉由使用該介面子系統1100,與該存取構件1102相關聯之該記憶體控制器1106不需涉及發出根據分別的記憶體之規格說明的命令。例如,一記憶體可與管理特定命令(其可為信號的型式)與該類命令用以執行該記憶體中之資料存取(讀取存取或寫入存取)的計時之一規格說明相關聯。該記憶體控制器1106可發出與管理一特定記憶體之存取的規格說明無關之一交易請求。應注意不同類型的記憶體可與不同的規格說明相關聯。該交易請求不包括根據待存取之記憶體的規格說明之命令。
來自該記憶體控制器1106之一交易請求由一分別的媒體控制器1108來接收,其能夠藉由產生根據管理一目的記憶體之存取的規格說明之命令來回應該交易請求。例如,該命令可為一讀取命令、一寫入命令、或者具有根據該目的記憶體之規格說明的一格式與一計時之其他類型的命令。除了回應來自該記憶體控制器1106之一交易請求而產生命令之外,該媒體控制器1108亦能夠執行有關一記憶體之其他任務。例如,若該記憶體以一DRAM來執行,則該媒體控制器1108能夠執行有關該DRAM之再新操作。於一DRAM中之一儲存胞元一段時間後會逐漸失去其電荷。為說明一儲存胞元中之電荷逐漸喪失,一DRAM可週期性被再新,以便將儲存胞元之電荷復原至其分別的準位。
其他範例中,若一記憶體以一快取記憶體來執
行,則該媒體控制器1108可包括耗損調平邏輯來穩定該記憶體之儲存胞元間的耗損。此外,該媒體控制器1108可執行有關該記憶體之其他特定媒體的操作,諸如一資料整合性操作(例如,錯誤檢測與修正)、一資料可用性操作(例如,若記憶體錯誤之失效切換)、等等。該媒體控制器1108亦可執行電力管理(例如,降低該記憶體不使用時的電力設定)、統計收集(來收集該記憶體操作期間之效能統計)、等等。
該記憶體控制器1106包括一記憶體介面1110,其可包括一實體層來管理該記憶體控制器1106與一個別的媒體控制器1108間之一鏈接上的一實體信號之通訊。該記憶體介面1110亦可包括控制該記憶體控制器1106與一個別的媒體控制器1108間之一鏈接上的資訊傳達之一或多個其他層。
每一媒體控制器1108同樣包括一記憶體介面1112,其與該記憶體控制器1106之記憶體介面1110互動。該記憶體介面1112亦可包括一實體層、以及一或多個其他層。
某些範例中,該記憶體控制器1106之該記憶體介面1110與一媒體控制器1108之該記憶體介面1112間的一鏈接可為一串列鏈接。其他範例中,該鏈接可為一不同類型的鏈接。此外,雖然未顯示,但一鏈接可包括一或多個交換器來安排路由該記憶體控制器1106與該媒體控制器1108間之交易。
該介面子系統1100將記憶體控制(實體上或邏輯
上)分為兩部分:該記憶體控制器1106與該(等)媒體控制器1108。應注意該記憶體控制器1106與該(等)媒體控制器1108實體上可位在分開的裝置或可位在相同裝置的一部分。藉由將記憶體控制分為兩部分,包括不同類型的記憶體之一系統中可達到較大彈性。該記憶體控制器1106不需涉及使用特定類型的記憶體,因為該記憶體控制器1106發出之交易請求會相同而不管訂定之記憶體類型。藉由分開該記憶體控制器1106與該媒體控制器1108,該記憶體控制器1106之開發可得以簡化。
圖11顯示之該介面子系統1100亦可用來執行一系統中之其他類型構件間的通訊。
圖12是一根據某些實施態樣之一構件1200的一方塊圖。若該構件1200為一MRAC構件,則該構件1200包括一存取受控記憶體區域1202。該構件1200亦包括一處理電路1204,其可以硬體或者機器可執行指令與硬體之一組合來執行。
指令可儲存在個別的儲存裝置中,其可作為一或多個電腦可讀或機器可讀儲存媒體來予以執行。該儲存媒體包括不同型式的記憶體,包括半導體記憶體裝置,諸如動態或靜態隨機存取記憶體(DRAM或SRAM)、可抹除可程式化唯讀記憶體(EPROM)、電子可抹除可程式化唯讀記憶體(EEPROM)以及快取記憶體;諸如固定、軟式與可移除碟片之磁碟;包括磁帶之其他磁性媒體;諸如光碟(CD)或多樣化數位光碟(DVD)之光學媒體;或其他類型的儲存裝
置。應注意上述指令可在一電腦可讀或機器可讀儲存媒體中提供,或者,可在分布在可能具有許多節點之一大型系統中的多個電腦可讀或機器可讀儲存媒體中提供。該類電腦可讀或機器可讀儲存媒體或多個媒體視為一物品(或製造物品)的一部分。一物品或製造物品可參照為任何製造的單一構件或多個構件。該儲存媒體或多個媒體可位在執行該等機器可讀指令之機器中、或位在機器可讀指令可於一網路上下載來執行之一遠端站台。
上述說明中,其提出若干細節來提供對本文揭示之標的的了解。然而,實施態樣在無該等某些細節的情況下仍可加以實作。其他實施態樣可包括上述細節之修改與變化型態。後附請求項意欲涵蓋該類修改與變化型態。
102、104、106‧‧‧控制構件
108‧‧‧存取構件
Claims (15)
- 一種用於存取控制之方法,包含有下列步驟:由與一存取受控記憶體區域相關聯之一第一構件來從一第二構件接收包括一協定標頭之一交易請求;由該第一構件基於該協定標頭中之資訊來決定該第二構件是否被授權來存取該存取受控記憶體區域;以及由該第一構件響應於決定該第二構件不被授權來存取該存取受控記憶體區域,而將一負向應答訊息發送至該第二構件。
- 如請求項1之方法,更包含下列步驟:由該第一構件儲存一存取控制資料結構,其中該決定包含比較該協定標頭中之資訊與該存取控制資料結構中之資訊。
- 如請求項1之方法,其中該決定更包含基於該協定標頭中之資訊來從多個不同的存取準位之間決定一存取準位,其中該協定標頭中之資訊的不同數值對應該等不同的存取準位。
- 如請求項3之方法,其中該協定標頭中之資訊包括一存取金鑰欄位,其中該存取金鑰欄位之不同數值對應該等不同的存取準位。
- 如請求項4之方法,其中該等不同存取準位中之一第一準位允許一讀寫存取,而該等不同存取準位中之一第二 準位允許一唯讀存取。
- 如請求項1之方法,其中送出該負向應答訊息包含送出包括一第三構件之一識別符的負向應答訊息,第三構件該第二構件係要存取該第三構件來取得該第二構件可用來存取該存取受控記憶體區域之授權資訊。
- 如請求項6之方法,更包含下列步驟:由該第一構件從一第二構件接收包括一協定標頭之一第二交易請求,該協定標頭包括該第二構件從該第三構件取得之該授權資訊;由該第一構件基於該第二交易請求之協定標頭中的資訊來決定該第二構件是否被授權來存取該存取受控記憶體區域;以及由該第一構件響應於決定該第二構件被授權來存取該存取受控記憶體區域,而將反應該第二交易請求之一交易回應送給該第二構件。
- 如請求項1之方法,其中送出該負向應答訊息包含送出包括一代理器構件之一識別符的負向應答訊息,該第二構件係要存取該代理器構件來將該交易請求送出以存取該存取受控記憶體區域。
- 如請求項1之方法,更包含下列步驟:接收與執行該存取受控記憶體區域之一原子級更新相關聯之一請求;響應於該請求,建立該存取受控記憶體區域之一影子複本;以及 將針對該存取受控記憶體區域之一交易請求重新導向至該影子複本。
- 一種用於存取控制之系統,包含有:一存取受控記憶體區域;一第一構件,其用以執行下列步驟:將包括一協定標頭之一交易請求送出至與該存取受控記憶體區域相關聯之一第二構件;從該第二構件接收反應該第二構件之一負向應答訊息,其決定該第一構件不被授權來存取該存取受控記憶體區域,該負向應答訊息包含一第三構件之一識別符,該第一構件係要存取該第三構件以取得該存取受控記憶體區域之存取;以及反應該負向應答訊息而將取得該存取受控記憶體區域之存取的一請求送出至該第三構件。
- 如請求項10之系統,其中該第三構件為一代理器構件,其轉送取得對該第二構件之存取的該請求。
- 如請求項10之系統,其中該第一構件進一步用以執行下列步驟:接收對取得存取的該請求之一回應,該接收之回應包括該第一構件可用來存取該存取受控記憶體區域之一存取金鑰;以及將包含該存取金鑰之一交易請求送至該第二構件以存取該存取受控記憶體區域。
- 如請求項10之系統,其中該存取受控記憶體區域為一第 一存取受控記憶體區域,而該系統更包含一第二存取受控記憶體區域,其中該第一構件具有該第一存取受控記憶體區域之讀寫存取、以及該第二存取受控記憶體區域之唯讀存取,且其中有另一構件具有該第一存取受控記憶體區域之唯讀存取、以及該第二存取受控記憶體區域之讀寫存取。
- 如請求項10之系統,更包含由一路由器與一網路互連之多個記憶體領域,該等記憶體領域中之一第一領域包括該存取受控記憶體區域,且該等記憶體領域中之一第二領域包括該存取受控記憶體區域之一影子複本。
- 一種第一構件,包含有:一存取受控記憶體區域;以及一處理電路,其用以執行下列步驟:從一第二構件接收包括有含括在一協定標頭中之一存取金鑰的一交易請求;基於該協定標頭中之至少該存取金鑰來決定,該第二構件是否被授權來存取該存取受控記憶體區域;以及響應於決定該第二構件不被授權來存取該存取受控記憶體區域,而將一負向應答訊息送出至該第二構件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2014/013734 WO2015116077A1 (en) | 2014-01-30 | 2014-01-30 | Access controlled memory region |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201530557A TW201530557A (zh) | 2015-08-01 |
TWI550630B true TWI550630B (zh) | 2016-09-21 |
Family
ID=53757487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103145232A TWI550630B (zh) | 2014-01-30 | 2014-12-24 | 存取受控記憶體區域之技術 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10031863B2 (zh) |
TW (1) | TWI550630B (zh) |
WO (1) | WO2015116077A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016014046A1 (en) | 2014-07-23 | 2016-01-28 | Hewlett-Packard Development Company, L.P. | Delayed read indication |
US10936044B2 (en) | 2015-12-21 | 2021-03-02 | Hewlett Packard Enterprise Development Lp | Quality of service based memory throttling |
CN107533602B (zh) | 2016-04-22 | 2021-01-12 | 慧与发展有限责任合伙企业 | 计算设备及其方法,以及计算系统 |
US11157641B2 (en) * | 2016-07-01 | 2021-10-26 | Microsoft Technology Licensing, Llc | Short-circuit data access |
US10838786B2 (en) * | 2016-09-05 | 2020-11-17 | Mitsubishi Electric Corporation | Embedded system, embedded system control method and data consistency judgment method |
US10812543B1 (en) * | 2017-02-27 | 2020-10-20 | Amazon Technologies, Inc. | Managed distribution of data stream contents |
US10921996B2 (en) * | 2019-03-22 | 2021-02-16 | Micron Technology, Inc. | Data lines updating for data generation |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133620A1 (en) * | 1999-05-24 | 2002-09-19 | Krause Michael R. | Access control in a network system |
US6938138B2 (en) * | 2001-01-11 | 2005-08-30 | International Business Machines Corporation | Method and apparatus for managing access to memory |
US7650386B2 (en) * | 2004-07-29 | 2010-01-19 | Hewlett-Packard Development Company, L.P. | Communication among partitioned devices |
US7657760B2 (en) * | 2000-12-28 | 2010-02-02 | Kabushiki Kaisha Toshiba | Method for sharing encrypted data region among processes in tamper resistant processor |
US8001374B2 (en) * | 2005-12-16 | 2011-08-16 | Lsi Corporation | Memory encryption for digital video |
US8244825B2 (en) * | 2006-11-06 | 2012-08-14 | Hewlett-Packard Development Company, L.P. | Remote direct memory access (RDMA) completion |
WO2013012444A1 (en) * | 2011-07-18 | 2013-01-24 | Hewlett-Packard Development Company | Access to memory region including confidential information access to memory region including confidential information |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744326A (ja) * | 1993-07-30 | 1995-02-14 | Hitachi Ltd | 記憶装置システム |
US6438573B1 (en) * | 1996-10-09 | 2002-08-20 | Iowa State University Research Foundation, Inc. | Real-time programming method |
US8631066B2 (en) * | 1998-09-10 | 2014-01-14 | Vmware, Inc. | Mechanism for providing virtual machines for use by multiple users |
US6256713B1 (en) * | 1999-04-29 | 2001-07-03 | International Business Machines Corporation | Bus optimization with read/write coherence including ordering responsive to collisions |
US6631442B1 (en) * | 1999-06-29 | 2003-10-07 | Emc Corp | Methods and apparatus for interfacing to a data storage system |
US6782410B1 (en) * | 2000-08-28 | 2004-08-24 | Ncr Corporation | Method for managing user and server applications in a multiprocessor computer system |
US7113995B1 (en) | 2000-10-19 | 2006-09-26 | International Business Machines Corporation | Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system |
FR2820850B1 (fr) * | 2001-02-15 | 2003-05-09 | Bull Sa | Controleur de coherence pour ensemble multiprocesseur, module et ensemble multiprocesseur a architecture multimodule integrant un tel controleur |
JP2003308698A (ja) * | 2002-04-12 | 2003-10-31 | Toshiba Corp | 不揮発性半導体メモリ装置 |
US7590760B1 (en) * | 2002-05-24 | 2009-09-15 | Cisco Technology, Inc. | Hybrid interface synchronization method and driver-client model for high availability systems |
US7415723B2 (en) | 2002-06-11 | 2008-08-19 | Pandya Ashish A | Distributed network security system and a hardware processor therefor |
US7299266B2 (en) | 2002-09-05 | 2007-11-20 | International Business Machines Corporation | Memory management offload for RDMA enabled network adapters |
US7003635B2 (en) * | 2002-10-03 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Generalized active inheritance consistency mechanism having linked writes |
US6926199B2 (en) * | 2003-11-25 | 2005-08-09 | Segwave, Inc. | Method and apparatus for storing personalized computing device setting information and user session information to enable a user to transport such settings between computing devices |
US20050125607A1 (en) * | 2003-12-08 | 2005-06-09 | International Business Machines Corporation | Intelligent caching of working directories in auxiliary storage |
US7590982B1 (en) * | 2003-12-17 | 2009-09-15 | Vmware, Inc. | System and method for virtualizing processor and interrupt priorities |
US7609636B1 (en) | 2004-03-29 | 2009-10-27 | Sun Microsystems, Inc. | System and method for infiniband receive flow control with combined buffering of virtual lanes and queue pairs |
JP4429780B2 (ja) * | 2004-03-31 | 2010-03-10 | 富士通株式会社 | 記憶制御装置、制御方法、および制御プログラム。 |
US7196942B2 (en) * | 2004-10-20 | 2007-03-27 | Stmicroelectronics Pvt. Ltd. | Configuration memory structure |
US7631219B2 (en) * | 2004-10-22 | 2009-12-08 | Broadcom Corporation | Method and computer program product for marking errors in BIOS on a RAID controller |
US7269715B2 (en) * | 2005-02-03 | 2007-09-11 | International Business Machines Corporation | Instruction grouping history on fetch-side dispatch group formation |
US7454566B1 (en) * | 2005-05-02 | 2008-11-18 | Nvidia Corporation | System and method for adaptive RAID configuration |
US7872892B2 (en) * | 2005-07-05 | 2011-01-18 | Intel Corporation | Identifying and accessing individual memory devices in a memory channel |
JP5048760B2 (ja) * | 2006-05-24 | 2012-10-17 | コンペレント・テクノロジーズ | Raid管理、再割振り、およびリストライピングのためのシステムおよび方法 |
JP4452261B2 (ja) * | 2006-09-12 | 2010-04-21 | 株式会社日立製作所 | ストレージシステムの論理ボリューム管理方法、論理ボリューム管理プログラム、及びストレージシステム |
US20080155246A1 (en) * | 2006-12-21 | 2008-06-26 | Unisys Corporation | System and method for synchronizing memory management functions of two disparate operating systems |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US8990527B1 (en) * | 2007-06-29 | 2015-03-24 | Emc Corporation | Data migration with source device reuse |
US20090094413A1 (en) * | 2007-10-08 | 2009-04-09 | Lehr Douglas L | Techniques for Dynamic Volume Allocation in a Storage System |
US8365201B2 (en) * | 2007-12-14 | 2013-01-29 | Microsoft Corporation | Multi-function device ID with unique identifier |
US7970994B2 (en) * | 2008-03-04 | 2011-06-28 | International Business Machines Corporation | High performance disk array rebuild |
US8307093B2 (en) * | 2008-06-25 | 2012-11-06 | Microsoft Corporation | Remote access between UPnP devices |
US8130528B2 (en) * | 2008-08-25 | 2012-03-06 | Sandisk 3D Llc | Memory system with sectional data lines |
US9183369B2 (en) * | 2008-09-26 | 2015-11-10 | Red Hat, Inc. | Thumb drive guest user |
US8103842B2 (en) * | 2008-11-17 | 2012-01-24 | Hitachi, Ltd | Data backup system and method for virtual infrastructure |
ATE548874T1 (de) * | 2009-03-18 | 2012-03-15 | Nokia Siemens Networks Oy | Verfahren und vorrichtung zur verteilung von topologieinformationen in kommunikationsnetzwerken |
JP5104817B2 (ja) * | 2009-06-30 | 2012-12-19 | 富士通株式会社 | ストレージシステム、ストレージ制御装置及び方法 |
JP5183650B2 (ja) * | 2010-02-17 | 2013-04-17 | 株式会社日立製作所 | 計算機システム,計算機システムにおけるバックアップ方法及びプログラム |
US8166244B2 (en) * | 2010-03-12 | 2012-04-24 | Sandisk Il Ltd. | Emulating a computer system on a removable storage device |
US9619472B2 (en) * | 2010-06-11 | 2017-04-11 | International Business Machines Corporation | Updating class assignments for data sets during a recall operation |
US8661435B2 (en) * | 2010-09-21 | 2014-02-25 | Unisys Corporation | System and method for affinity dispatching for task management in an emulated multiprocessor environment |
US8566546B1 (en) * | 2010-09-27 | 2013-10-22 | Emc Corporation | Techniques for enforcing capacity restrictions of an allocation policy |
US8478911B2 (en) * | 2011-01-31 | 2013-07-02 | Lsi Corporation | Methods and systems for migrating data between storage tiers |
US20130007373A1 (en) * | 2011-06-30 | 2013-01-03 | Advanced Micro Devices, Inc. | Region based cache replacement policy utilizing usage information |
US8839030B2 (en) * | 2011-09-09 | 2014-09-16 | Lsi Corporation | Methods and structure for resuming background tasks in a clustered storage environment |
US9098309B2 (en) * | 2011-09-23 | 2015-08-04 | Qualcomm Incorporated | Power consumption optimized translation of object code partitioned for hardware component based on identified operations |
US8954671B2 (en) * | 2011-10-28 | 2015-02-10 | Hitachi, Ltd. | Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data |
US9329901B2 (en) * | 2011-12-09 | 2016-05-03 | Microsoft Technology Licensing, Llc | Resource health based scheduling of workload tasks |
US8918672B2 (en) * | 2012-05-31 | 2014-12-23 | International Business Machines Corporation | Maximizing use of storage in a data replication environment |
US8885382B2 (en) * | 2012-06-29 | 2014-11-11 | Intel Corporation | Compact socket connection to cross-point array |
US9524233B2 (en) * | 2013-03-05 | 2016-12-20 | Vmware, Inc. | System and method for efficient swap space allocation in a virtualized environment |
-
2014
- 2014-01-30 US US15/109,334 patent/US10031863B2/en active Active
- 2014-01-30 WO PCT/US2014/013734 patent/WO2015116077A1/en active Application Filing
- 2014-12-24 TW TW103145232A patent/TWI550630B/zh not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133620A1 (en) * | 1999-05-24 | 2002-09-19 | Krause Michael R. | Access control in a network system |
US7657760B2 (en) * | 2000-12-28 | 2010-02-02 | Kabushiki Kaisha Toshiba | Method for sharing encrypted data region among processes in tamper resistant processor |
US6938138B2 (en) * | 2001-01-11 | 2005-08-30 | International Business Machines Corporation | Method and apparatus for managing access to memory |
US7650386B2 (en) * | 2004-07-29 | 2010-01-19 | Hewlett-Packard Development Company, L.P. | Communication among partitioned devices |
US8001374B2 (en) * | 2005-12-16 | 2011-08-16 | Lsi Corporation | Memory encryption for digital video |
US8244825B2 (en) * | 2006-11-06 | 2012-08-14 | Hewlett-Packard Development Company, L.P. | Remote direct memory access (RDMA) completion |
WO2013012444A1 (en) * | 2011-07-18 | 2013-01-24 | Hewlett-Packard Development Company | Access to memory region including confidential information access to memory region including confidential information |
Also Published As
Publication number | Publication date |
---|---|
US20160342534A1 (en) | 2016-11-24 |
TW201530557A (zh) | 2015-08-01 |
WO2015116077A1 (en) | 2015-08-06 |
US10031863B2 (en) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI550630B (zh) | 存取受控記憶體區域之技術 | |
US10382540B2 (en) | Synchronizing storage state information | |
US10223326B2 (en) | Direct access persistent memory shared storage | |
TWI556099B (zh) | 用於高效能和低成本快閃記憶體轉換層的系統和方法 | |
JP3853540B2 (ja) | ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置 | |
JP2018055727A (ja) | システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 | |
EP3433748A1 (en) | Data protection using virtual resource views | |
US20180095906A1 (en) | Hardware-based shared data coherency | |
WO2018054079A1 (zh) | 一种存储文件的方法、第一虚拟机及名称节点 | |
JP2008522264A (ja) | マルチプロセッサの操作を管理する方法、システム、および製造物 | |
US7487312B2 (en) | Apparatus, system, and method for copy protection | |
TWI617924B (zh) | 記憶體資料分版技術 | |
US20060259674A1 (en) | Apparatus and method for granting access to a hardware interface shared between multiple software entities | |
US20130103708A1 (en) | Apparatus and method for enabling clients to participate in data storage in distributed file system | |
US10942798B2 (en) | Watchdog timer hierarchy | |
WO2015131446A1 (zh) | 一种基于片内总线协议的安全访问控制方法和装置 | |
US10762137B1 (en) | Page table search engine | |
JP5338435B2 (ja) | 情報処理プログラム、情報処理装置および情報処理方法 | |
US10831662B1 (en) | Systems and methods for maintaining cache coherency | |
WO2016119597A1 (zh) | Oltp集群数据库中页面查询方法及数据处理节点 | |
EP4272081A1 (en) | Migrating pages of memory accessible by input-output devices | |
US20190171585A1 (en) | Information processing device, information processing method, and computer program product | |
JP2001222466A (ja) | マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体 | |
US11366594B2 (en) | In-band extent locking | |
US11397834B2 (en) | Methods and systems for data backup and recovery on power failure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |