TWI551988B - 計算系統、用以控制存取記憶體之方法及相關電腦可讀儲存媒體 - Google Patents
計算系統、用以控制存取記憶體之方法及相關電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TWI551988B TWI551988B TW103104928A TW103104928A TWI551988B TW I551988 B TWI551988 B TW I551988B TW 103104928 A TW103104928 A TW 103104928A TW 103104928 A TW103104928 A TW 103104928A TW I551988 B TWI551988 B TW I551988B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- region
- access
- storage
- computing system
- 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/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
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)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本發明係有關於持續記憶體之分割模式定址技術。
於一計算架構中,一記憶體階層可由效能,亦即,回應時間來組織儲存器的類型,諸如處理器暫存器、快取記憶體、主要記憶體、磁碟儲存器、三次式儲存器、以及該計算架構中之其他類型的儲存器。該記憶體階層之每一位準針對資料持續、保護、與存取性可符合不同的期待。該等屬性可由存取該資料之軟體以及與該記憶體階層位準相關聯之裝置與控制器來提供,並可由使用該階層之軟體應用程式來假定。
依據本發明之一實施例,係特地提出一種計算系統,包含有:一包含記憶體區域之非依電性記憶體,每一區域包含記憶體位址空間之一範圍;一用以控制存取該非依電性記憶體之記憶體控制器(MC);以及一用以追蹤每一記憶體區域之模式並定義每一記憶體區域之模式的裝置,其中該模式為一功能使用模型。
100‧‧‧計算系統
102‧‧‧計算節點
104‧‧‧儲存節點
106‧‧‧網路
108‧‧‧中央處理單元
110‧‧‧主要記憶體
112‧‧‧記憶體控制器
114、202‧‧‧裝置
204‧‧‧區域
206‧‧‧定義模式
208‧‧‧存取規則
210‧‧‧屬性
300‧‧‧方法
302、304、306、308‧‧‧方塊
400‧‧‧有形、非暫態、電腦可讀儲存媒體、參考數字
402‧‧‧處理器
404‧‧‧電腦匯流排
406‧‧‧接收器
408‧‧‧存取模組
410‧‧‧擷取模組
412‧‧‧記憶體存取模組
下列詳細說明並參照該等圖式將說明某些範例,其中:圖1是一計算系統之一範例的一方塊圖;圖2是一用於定義一計算系統之記憶體區域的一裝置之一範例的方塊圖;圖3是一繪示存取一計算系統之記憶體區域的一方法之一範例的程序流程圖;以及圖4是一包含用於存取非依電性記憶體區域之編碼的一有形、非暫態、電腦可讀儲存媒體之方塊圖。
本文所述之技術一般係有關對持續記憶體定址之技術。更特別是,本文所述之技術係有關持續記憶體之分割模式。目前計算系統的設計針對記憶體,諸如內部記憶體、主要記憶體、線上大量儲存器、與離線成批儲存器提供分開的構件,每一構件形成一記憶體階層位準。例如,DRAM、快取SSD、或旋轉磁碟提供局部儲存器,亦即,實體位於一計算節點或裝置上之儲存器,而光纖或網路附接磁碟陣列可提供共享儲存器,亦即,可由連接至該網路之多個計算節點或裝置存取的儲存器。
就歷史觀點上,適合用於儲存資料,亦即,較低成本與相當高容量的記憶體技術已太慢而某些太容易損壞而無法正常運作來作為一電腦系統的主要記憶體。此外,
諸如針對可靠性之儲存器冗餘以及用以提供資料安全性之資料加密的額外特徵已在儲存器控制器中實施,其中該等操作之潛在成本已大部分被較慢、非依電性記憶體技術所隱藏。具有密度,如快取記憶體以及具有存取時間,如DRAM記憶體的新固態持續記憶體裝置可允許將記憶體階層平面化之計算系統設計。由於該等快速、密集、持續記憶體裝置,傳統上保持在DRAM中的共享儲存器、局部儲存器、與工作資料組皆可被合併。回應時間可被大幅改善以存取該等裝置中的大量資料容量,改善整體系統效能。相較於一主要記憶體存取模型,諸如冗餘資料儲存器(例如,鏡射或RAID)、與資料加密之儲存器功能仍會增加複雜性與延遲。
新的固態、持續、密集、快速的記憶體裝置可允許共享儲存器、局部儲存器、與工作組記憶體合併為透過一共同的系統記憶體介面或多個介面存取之一共同的記憶體裝置集用場。工作組記憶體為儲存工作組資料,亦即,一程序目前使用之頁面的記憶體。該等介面共用時,該記憶體之使用模型可根據一特定系統的設計、以及使用的軟體範例來改變。例如,用來保持工作組資料之記憶體不需要持續性且可以簡單的快取記憶體線路讀取與寫入來存取。一記憶體頁面或方塊被提交至永久儲存器時、或存取該資料由該作業系統廢止時,用來作為局部儲存器之記憶體可使用額外的機構來確認該資料已從快取記憶體中移除。其他情況中,資料冗餘可用在裝置錯誤或電力失效的
事件中用來作為防護資料遺漏之儲存器的記憶體範圍中。資料加密可用在保護未授權的資料存取之記憶體範圍中。
本文陳述一種用於追蹤記憶體位址之範圍、或記憶體區域、指定至每一使用模型之類型的裝置與方法。該裝置可追蹤每一記憶體區域之模式、功能使用模型,並定義每一記憶體區域之模式。若有的話,該裝置亦可追蹤每一記憶體區域之屬性與存取規則。於一範例中,該裝置可針對遠端存取來管理一記憶體區域之存取特權。該裝置可額外地將一處理器核心呈現之一實體位址轉譯為呈現至該記憶體裝置之一存取位址。針對一記憶體範圍定義之存取規則不符合時,該裝置可進一步拒絕該記憶體範圍之存取。於一範例中,該裝置可針對一記憶體範圍來定義存取規則。
該裝置與方法為了較佳效能可使處理器充分利用密集、快速記憶體。此外,儲存於該密集、快速記憶體中之資料安全性可藉由提供獨立的管理介面來維持以組配該記憶體來建立該作業系統或超管理器所見的虛擬硬體。再者,由於本文揭示之裝置與方法的特徵,一大的快速、持續記憶體集用場可彈性配置來提供工作記憶體、記憶體對映儲存器、及/或磁碟儲存器,具有該等屬性之每一元件可受選擇以最符合持續記憶體的範圍意欲服務之目的。提供組態來指導該硬體時,軟體附加負擔可最小化,且軟體堆疊相容性的議題可最小化且局部化。另外,有助於較慢存取,諸如管理冗餘資料之硬體附加負擔可避免使用在不
需要特別特徵的情況中。
此外,目前的計算系統設計中,為了支援不同的使用情況,新的電路板,諸如實體場可替換單元(FRU)可安裝在一計算系統中。藉由透過組態上簡單的差異來支援不同的使用情況,使用較少的實體場可替換單元(FRU)可支援許多不同系統的需求。該等FRU可被重新配置與重新組配來對新的系統需求定址。另外,可設計、供應、以及布署一較少量的裝置堆疊保持單元(SKU),其仍可作為現今的記憶體卡板、磁碟驅動器、固態驅動器、等等之多個SKU的角色。此外,記憶體階層合併為較少位準可降低整體系統的複雜性、功率、與成本。
圖1是一計算系統,諸如一資料中心之一範例的一方塊圖。該計算系統100包括若干節點,諸如計算節點102與儲存節點104。該等節點102與104透過一網路106,諸如一資料中心光纖通訊上彼此耦合。該計算系統100可包括若干計算節點,諸如數十或甚至數千個計算節點。
該等計算節點102包括一中央處理單元(CPU)108以執行儲存的指令。該CPU 108可為一單核心處理器、一多核心處理器、或任何其他適當的處理器。於一範例中,計算節點102包括一單一CPU。另一範例中,計算節點102包括多個CPU,諸如兩個CPU、三個CPU、或更多。
該計算節點102包括一主要記憶體110。於一範例中,該主要記憶體110為非依電性記憶體,諸如依電性動態隨機存取記憶體(DRAM)、非依電性相改隨機存取記憶體
(PCRAM)、旋轉力矩轉移一磁性隨機記憶體(STT-MRAM)、電阻性隨機存取記憶體(reRAM)、憶阻器、快取記憶體、或其他類型的記憶體裝置。例如,該主要記憶體110為固態、持續、密集、快速記憶體。快速記憶體可為具有類似DRAM記憶體之一存取時間的記憶體。另一範例中,該主要記憶體110可合併共享儲存器與局部儲存器。於一範例中,該計算系統100之每一節點可存取該計算系統100之其他節點的主要記憶體110,造成一大的共享記憶體集用場。
計算節點102更包括一記憶體控制器112。該記憶體控制器112可控制該CPU 108存取該主要記憶體110,諸如持續記憶體。持續記憶體為非依電性儲存器,即使電力移除時其仍可維持儲存的資料,且針對長時間週期不需要刷新操作。
記憶體控制器112包括用於追蹤並定義該計算系統100之記憶體區域,諸如藉由定義該計算節點102之記憶體區域的裝置114。該裝置114可追蹤並定義該記憶體區域之模式(功能使用模型)。該記憶體區域可以是記憶體位址空間的範圍。於一範例中,裝置114為一位址對映表。另一範例中,裝置114定義每一記憶體區域之各種不同特徵。
計算系統100亦包括儲存節點104。儲存節點104為用於儲存大量資料之儲存器的一集合,諸如儲存裝置之一集合。於一範例中,儲存節點104用來備份計算系統100之資料。於一範例中,儲存節點104為一儲存器或記憶體裝
置陣列。於一範例中,計算系統100包括一單一儲存節點104。另一範例中,計算系統100包括多個儲存節點104。於一範例中,儲存節點104亦包括用於定義該儲存節點104之記憶體區域的一裝置114(未顯示)。
圖1之方塊圖並不意欲指出該計算系統100包括圖1所示之所有構件。此外,根據該特定實施態樣之細節,該計算系統100可包括圖1未顯示之任何數量的額外構件。
圖2是一用於定義一計算系統,諸如計算系統100之記憶體區域204的一裝置202之一範例的方塊圖。裝置202追蹤並定義每一記憶體區域之特性,包括每一區域之模式(功能使用模型)、每一區域之屬性、以及每一區域之存取規則。於一範例中,裝置202為一位址對映表。該裝置202可常駐於一記憶體控制器中,諸如記憶體控制器112。於一範例中,該記憶體控制器為持續記憶體之一記憶體控制器。裝置202亦可將一處理器呈現之一局部位址轉譯為呈現至該記憶體裝置之一記憶體存取位址。
裝置202可定義多個記憶體區域204。每一區域204為記憶體位址空間之一範圍。例如,每一區域204可為連續記憶體位址空間之一範圍。每一區域204之大小,亦即,包括在該區域204中之記憶體位址空間的數量可變化。
每一區域204具有一定義模式206。每一模式206為一功能使用模型/記憶體使用模型,亦即,該記憶體區域如何動作。例如,模式206可為工作組記憶體、具有加密之記憶體對映儲存器、不具有加密之記憶體對映儲存器、加
密儲存器、反射記憶體、方塊儲存器、冗餘儲存器、任何其他適合的操作模式類型、或其一組合。於一範例中,該記憶體之每一區域204受定義為一不同模式206。
裝置202更可包括交換器(未顯示)。裝置202可組配該等交換器來管理針對匹配範圍中之記憶體位址該記憶體控制器採取哪個動作。該等交換器可指出執行一給定模式之行為或動作。交換器的一結合、組合或非組合,可定義每一模式。例如,一交換器、或交換器組合,可設定來指出加密。加密儲存模式可使用來自處理器快取記憶體之快取記憶體線路的再呼叫以及至該記憶體之快取記憶體線路的承諾。資料寫入時可加密或者讀取時可解密。交換器可設定來指出“賦能快取記憶體線路的再呼叫”與“加密開啟”。另一範例中,一(多個)交換器可指出RAID賦能。例如,該非依電性記憶體可用來作為解密、方塊存取、鏡射儲存器。該範例中,用於“賦能快取記憶體線路的再呼叫”之一交換器可被設定,而用於“加密開啟”之一交換器可不設定。再者,方塊存取與鏡射交換器可被設定。
藉由提供該裝置202中之交換器,可支援各種不同的模式206、或記憶體使用模型。給定的交換器設定組合對應於已知使用情況(亦即,模式206)時,其他的交換器設定組合可賦能尚未識別的全新使用情況。
另外,該裝置202可定義存取每一區域204應如何被處理。例如,該裝置202可定義每一區域204之存取規則208。該裝置202可禁止以錯誤的使用範例來嘗試讀取或寫
入該記憶體集用場之一給定部分的一存取。該裝置202可禁止來自不符合該等存取規則208之來源的一存取。例如,該存取來自尚未賦能之一來源,亦即,尚未允許存取一區域204之一來源時,存取可被禁止。於一範例中,區域204中不包括存取規則208因此存取區域204不受限制。
該裝置202亦可定義每一區域204之屬性210。於一加密區域中,屬性210之範例包括該區域204之加密標準。屬性210亦可包括有關該區域204是否為RAIDed的一指示,且若該區域204為RAIDed,則會使用哪種類型的RAIDing以及去何處找RAID容量。屬性210可進一步包括該區域204之模式中其存在、或缺乏冗餘的一指示。
於一範例中,模式206可為工作組記憶體。於一系統重開機的事件中,工作組記憶體並不仰賴持續性,而是重新載入、或重新計算。此為於現今系統中執行、或可能保持在儲存器之調換空間中的一記憶體。然而,用來作為工作組記憶體之持續記憶體的一區域204可以正常讀取與寫入來存取。給定該記憶體中之資料持續性,內部加密與解密可額外被賦能以防護該等實體記憶體裝置被移除且完成嘗試檢查其中的資料之情境。
另一範例中,模式206可為記憶體鏡射儲存器(MMS)。MMS可提供力學以允許直接存取常駐於該持續記憶體集用場之組配部分的儲存器。MMS可針對該控制器來定義特定的協定以執行提供該期待的行為。存取組配來作為一MMS區域之位址範圍可觸發該記憶體控制器來遵循該
等協定。一部分是,MMS資料管理包括元資料的維護。藉由提供持續記憶體之分割配置,未組配來作為MMS之該記憶體集用場的部分不需包括該等附加負擔。MMS模式可包括加密、或不包括加密。若該MMS模式包括加密,則使用該適當的加密鍵而無法存取該MMS模式區域會造成存取該MMS模式區域被拒絕、或回傳不可使用的資料。
裝置202可包括與軟體之舊有相容性。例如,目前軟體可期待包括工作組記憶體與磁碟儲存器、而非記憶體鏡射儲存器(MMS)之一記憶體階層。為提供與該軟體之舊有相容性,該記憶體集用場的一部分可組配來顯現為分開的磁碟儲存器。針對此模式,該記憶體控制器(MC)可包括該記憶體集用場之磁碟區域與工作組記憶體區域間的資料方塊之轉移功能。該等區域間之方塊轉移可透過一新的軟體驅動器來管理,或者該記憶體控制器可提供現存驅動器已辨識的一介面。該等資料方塊轉移可有效存取該裝置202之“磁碟”與“工作組”部分兩者以執行該轉移。提供與期待的如該位址對映表中定義之記憶體類型不匹配的位址之轉移會回傳一錯誤。某些實施例中,一有效的資料轉移可在實際上不移動該等資料方塊的情況下達成。例如,一記憶體工作區域可重新指派至一記憶體磁碟區域,其可建立顯現資料已從該工作組移至一磁碟。
於一範例中,資料方塊的轉移為一直接的記憶體存取(DMA)轉移。一新的DMA驅動器可管理區域間之資料方塊的轉移,或者該記憶體控制器可提供現存驅動器已辨
識的一DMA介面。
組配成為反射之記憶體區域亦可透過裝置202來指出。反射記憶體模式可觸發每一寫入記憶體區域之一第二複本使其能夠透過叢集光纖來反射送出。該複本將送至一目標節點,而該節點之記憶體將被更新。該局部記憶體(亦即,該記憶體更接近該節點)亦可被更新。
該計算系統亦可組配該集用場記憶體之區域204,指定為關鍵區域,使用冗餘儲存器來保護該資料以免裝置失效。組配來使用冗餘儲存器之區域204可組配來制定冗餘操作,諸如將該資料或該資料之RAIDing鏡射至遠端儲存器。未指定為關鍵之區域204並不啟動冗餘操作。
為提供該資料冗餘或反射記憶體交易之“遠端”,會需要遠端要求存取該局部記憶體集用場。該裝置202亦可提供如何處置該等遠端啟動的存取適當的組態,包括檢查該交易之來源被授權可存取該目標區域204。
一記憶體控制器,諸如記憶體控制器112,接收一入站要求來存取記憶體時,該記憶體控制器可查詢該裝置202來檢查該裝置202之記憶體位址以決定其存取之記憶體的哪個部分(亦即,區域204),以及該記憶體控制器應如何處理該存取。此方式中,該計算系統之一共同記憶體集用場可隔離為分開的功能使用模型。
圖3是一繪示存取一計算系統,諸如計算系統100之記憶體區域的一方法300之一範例的程序流程圖。方塊302中,一要求於一記憶體控制器中接收以讀取/寫入一計
算系統之一記憶體位址空間。於一範例中,該要求從一處理器,諸如處理器108接收。
方塊304中,該記憶體控制器可存取一裝置,諸如裝置202。於一範例中,該裝置為一記憶體對映表。此可常駐於記憶體控制器中。該裝置可定義該記憶體位址空間的屬性。例如,該裝置可定義該記憶體位址空間常駐的記憶體區域。該裝置亦可追蹤與定義該記憶體區域之模式、以及該區域之存取規則。該裝置可進一步定義該記憶體區域之屬性。
方塊306中,可決定該記憶體區域、該區域的模式、該區域之存取規則、及/或該區域之屬性。方塊308中,該記憶體位址空間可根據該決定的存取規則來存取。若該存取規則不符合,則存取被,諸如該裝置拒絕。於一範例中,無存取規則列在該記憶體對映表中則存取該記憶體區域不受限制。
應了解圖3之程序流程圖並不意欲指出該方法300之步驟需以任何特定順序來執行,或者該方法300之所有步驟需包括在每一情況中。此外,根據該特定實施態樣的細節,圖3未顯示之任何額外的步驟數量亦可包括在該方法300中。
圖4是一包含用於存取非依電性記憶體區域之編碼的一有形、非暫態、電腦可讀儲存媒體之方塊圖。該有形、非暫態、電腦可讀儲存媒體可以該參考數字400來參照。該有形、非暫態、電腦可讀儲存媒體400可包含RAM、
一硬磁碟驅動器、一硬磁碟驅動器振列、一光學驅動器、一光學驅動器陣列、一非依電性記憶體、一通用串列匯流排(USB)驅動器、一多樣化數位光碟(DVD)、或一光碟(CD)、等等。該有形、非暫態、電腦可讀儲存媒體400可在一電腦匯流排404上由一處理器402來存取。此外,該有形、非暫態、電腦可讀儲存媒體400可包括組配來導引一處理器執行本文所述之方法的編碼。
如圖4所示,本文說明之各種不同構件可儲存在該有形、非暫態、電腦可讀儲存媒體400中。該有形、非暫態、電腦可讀儲存媒體400上之一第一區域406可包括一接收器模組來接收存取一計算系統之一記憶體區域的一要求。一區域408可包括一存取模組來存取定義該記憶體區域之一模式的一裝置。一區域410可包括一擷取模組來擷取該裝置定義之該記憶體區域的存取規則。一區域412可包括一記憶體存取模組來根據該裝置定義之存取規則來存取該記憶體區域。雖然顯示為連續方塊,但該等軟體構件可以任何順序或組態來儲存。例如,若該有形、非暫態、電腦可讀儲存媒體400為一硬磁碟驅動器,則該等軟體構件可儲存於非連續、或甚至重覆的部段。
本文將說明一種計算系統。該計算系統包括含有記憶體區域之一非依電性記憶體,每一區域包括一記憶體位址空間的範圍。該計算系統亦包括用以控制存取該非依電性記憶體之一記憶體控制器(MC)。該計算系統可進一步
包括用以追蹤每一記憶體區域之模式並定義每一記憶體區域之模式的一裝置。該模式為一功能使用模型。
該裝置可為一位址對映表。該裝置可位於該記憶體控制器中。該裝置可定義存取每一區域如何由一記憶體控制器來處理。每一資料區域之模式可被定義為工作組記憶體、具有加密之記憶體對映儲存器、不具有加密之記憶體對映儲存器、加密儲存器、反射記憶體、方塊儲存器、磁碟儲存器、冗餘儲存器的其中之一、或其一組合。該裝置定義之存取規則不符合時,該裝置可拒絕存取一記憶體區域。該裝置可定義每一記憶體區域之屬性。該裝置可組配該裝置中之交換器以控制該記憶體控制器針對每一區域採取的動作。
本文將說明一種方法。該方法包括於一記憶體控制器中接收存取一計算系統之一記憶體區域的一要求。該方法亦包括存取定義該記憶體區域之一模式以及接收該裝置定義之該記憶體區域的存取規則之一裝置。該方法進一步包括根據該裝置定義之存取規則來存取該記憶體區域。
該裝置可常駐於一記憶體控制器中。該方法可進一步包括該裝置定義之存取規則不符合時,從該裝置接收一存取拒絕的通知。該裝置可定義該記憶體區域之模式以作為工作組記憶體、具有加密之記憶體對映儲存器、不具有加密之記憶體對映儲存器、加密儲存器、反射記憶體、方塊儲存器、磁碟儲存器、冗餘儲存器的其中之一、或其
一組合。該裝置可定義該區域之屬性。存取該記憶體區域可包括讀取、寫入、或讀取與寫入該記憶體區域。每一記憶體區域可包括記憶體位址空間之一範圍。
本文將說明一種包括編碼之有形、非暫態、電腦可讀儲存媒體。該編碼可導引一處理器來於一記憶體控制器中接收存取一計算系統之一記憶體區域的一要求。該編碼亦可導引一處理器來存取定義該記憶體區域之一模式的一裝置以及接收該裝置定義之該記憶體區域的存取規則。該編碼可進一步導引一處理器來根據該裝置定義之存取規則來存取該記憶體區域。
該記憶體區域可包括記憶體位址之一範圍。該裝置針對一記憶體區域定義之存取規則不符合時,存取該記憶體區域被拒絕。每一記憶體區域之模式可為工作組記憶體、具有加密之記憶體對映儲存器、不具有加密之記憶體對映儲存器、反射記憶體、方塊儲存器、磁碟儲存器、冗餘儲存器的其中之一、或其一組合。
本範例可能對各種不同的修改與替代型式相當敏感,並已顯示來僅作為舉例解說。例如,本技術可支援讀取與寫入操作兩者至一裝置快取記憶體。再者,應了解本技術並不意欲限制在本文揭示之特定範例中。實際上,對與該揭示標的有關之業界熟於此技者而言,很明顯地該等附接請求項之範疇可視為包括所有替代方案、修改、與等效元件。
100‧‧‧計算系統
102‧‧‧計算節點
104‧‧‧儲存節點
106‧‧‧網路
108‧‧‧中央處理單元
110‧‧‧主要記憶體
112‧‧‧記憶體控制器
114‧‧‧裝置
Claims (15)
- 一種計算系統,包含有:包含記憶體之區域之一非依電性記憶體,每一區域包含記憶體位址空間之一範圍;用以控制存取該非依電性記憶體之一記憶體控制器(MC);以及用以追蹤記憶體之每一區域之一模式並定義記憶體之每一區域之該模式的一裝置,其中該模式為一功能使用模型。
- 如請求項1之計算系統,其中該裝置包含一位址對映表。
- 如請求項1之計算系統,其中該裝置位於該記憶體控制器中。
- 如請求項1之計算系統,其中記憶體之每一區域之該模式定義為工作組記憶體、具有加密之記憶體對映儲存器、不具有加密之記憶體對映儲存器、加密儲存器、反射記憶體、方塊儲存器、磁碟儲存器、冗餘儲存器的其中之一、或其一組合。
- 如請求項1之計算系統,其中該裝置定義之存取規則不被符合時,該裝置可拒絕存取記憶體之一區域。
- 如請求項1之計算系統,其中該裝置可組配該裝置中之交換器(switch)以控制該記憶體控制器針對每一區域採取的動作。
- 一種用以控制存取記憶體之方法,包含下列步驟: 於一記憶體控制器中接收存取一計算系統之一記憶體區域的一要求;存取定義該記憶體區域之一模式的一裝置;接收該裝置定義之該記憶體區域的存取規則;以及根據該裝置定義之該等存取規則來存取該記憶體區域。
- 如請求項7之方法,其中定義該記憶體區域之該模式的該裝置包含一位址對映表。
- 如請求項7之方法,其中該裝置位駐於一記憶體控制器中。
- 如請求項7之方法,更包含在該裝置定義之該等存取規則不被符合時,接收來自該裝置之一存取拒絕的通知。
- 如請求項7之方法,其中該裝置定義該記憶體區域之該模式為工作組記憶體、具有加密之記憶體對映儲存器、不具有加密之記憶體對映儲存器、加密儲存器、反射記憶體、方塊儲存器、磁碟儲存器、冗餘儲存器的其中之一、或其一組合。
- 一種用以控制存取記憶體之有形、非暫態、電腦可讀儲存媒體,其包含導引一處理器來執行下列步驟之編碼:於一記憶體控制器中接收存取一計算系統之一記憶體區域的一要求;存取定義該記憶體區域之一模式的一裝置;接收該裝置定義之該記憶體區域的存取規則;以及根據該裝置定義之該等存取規則來存取該記憶體 區域。
- 如請求項12之有形、非暫態、電腦可讀儲存媒體,其中該記憶體區域包含記憶體位址之一範圍。
- 如請求項12之有形、非暫態、電腦可讀儲存媒體,其中在該裝置針對一記憶體區域定義之該等存取規則不被符合時,存取該記憶體區域被拒絕。
- 如請求項12之有形、非暫態、電腦可讀儲存媒體,其中每一記憶體區域之該模式為工作組記憶體、具有加密之記憶體對映儲存器、不具有加密之記憶體對映儲存器、反射記憶體、方塊儲存器、磁碟儲存器、冗餘儲存器的其中之一、或其一組合。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/034385 WO2014158167A1 (en) | 2013-03-28 | 2013-03-28 | Split mode addressing of persistent memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201441815A TW201441815A (zh) | 2014-11-01 |
TWI551988B true TWI551988B (zh) | 2016-10-01 |
Family
ID=51624949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103104928A TWI551988B (zh) | 2013-03-28 | 2014-02-14 | 計算系統、用以控制存取記憶體之方法及相關電腦可讀儲存媒體 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11221967B2 (zh) |
TW (1) | TWI551988B (zh) |
WO (1) | WO2014158167A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150261693A1 (en) * | 2014-03-14 | 2015-09-17 | International Business Machines Corporation | Dynamic storage key assignment |
US10126950B2 (en) * | 2014-12-22 | 2018-11-13 | Intel Corporation | Allocating and configuring persistent memory |
US10454845B2 (en) * | 2015-04-22 | 2019-10-22 | ColorTokens, Inc. | Object memory management unit |
KR102388746B1 (ko) * | 2015-11-11 | 2022-04-20 | 삼성전자주식회사 | 세이프 어드레스 매핑을 이용한 메모리 셀 액세스 제어 방법 |
US11126565B2 (en) * | 2016-06-27 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | Encrypted memory access using page table attributes |
CN112651038B (zh) * | 2018-01-08 | 2023-06-16 | 福建天泉教育科技有限公司 | 一种减小空间和时间的vr资源的安全保护方法及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279092B1 (en) * | 1999-01-06 | 2001-08-21 | International Business Machines Corporation | Kernel identification for space management in compressed memory systems |
TW200506612A (en) * | 2003-04-22 | 2005-02-16 | Red Hat Inc | Method and apparatus for creating an execution shield |
TW201037525A (en) * | 2008-12-30 | 2010-10-16 | Intel Corp | Read and write monitoring attributes in transactional memory (TM) systems |
WO2011048738A1 (ja) * | 2009-10-22 | 2011-04-28 | 株式会社日立製作所 | 半導体記憶装置および制御方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449683B1 (en) | 1999-12-14 | 2002-09-10 | Intel Corporation | Using non-volatile memory for power management in a computer |
US6769050B1 (en) * | 2001-09-10 | 2004-07-27 | Rambus Inc. | Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules |
US20050216552A1 (en) | 2004-03-24 | 2005-09-29 | Samuel Fineberg | Communication-link-attached persistent memory system |
TWI295771B (en) * | 2005-08-08 | 2008-04-11 | Rdc Semiconductor Co Ltd | Faulty storage area self markup access control method and system |
US20070101158A1 (en) | 2005-10-28 | 2007-05-03 | Elliott Robert C | Security region in a non-volatile memory |
US8260886B2 (en) * | 2005-12-30 | 2012-09-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Compiling method for command based router classifiers |
US7949820B2 (en) | 2006-05-23 | 2011-05-24 | Dataram, Inc. | Method for managing memory access and task distribution on a multi-processor storage device |
US20080046997A1 (en) * | 2006-08-21 | 2008-02-21 | Guardtec Industries, Llc | Data safe box enforced by a storage device controller on a per-region basis for improved computer security |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US7852657B2 (en) * | 2007-06-29 | 2010-12-14 | Qimonda Ag | Multiple write configurations for a memory cell |
US20100005317A1 (en) | 2007-07-11 | 2010-01-07 | Memory Experts International Inc. | Securing temporary data stored in non-volatile memory using volatile memory |
US8738621B2 (en) | 2009-01-27 | 2014-05-27 | EchoStar Technologies, L.L.C. | Systems and methods for managing files on a storage device |
US7944729B2 (en) | 2009-01-28 | 2011-05-17 | Seagate Technology Llc | Simultaneously writing multiple addressable blocks of user data to a resistive sense memory cell array |
JP2010277615A (ja) * | 2009-05-26 | 2010-12-09 | Panasonic Corp | 半導体記憶装置、および半導体集積回路 |
US8296496B2 (en) * | 2009-09-17 | 2012-10-23 | Hewlett-Packard Development Company, L.P. | Main memory with non-volatile memory and DRAM |
US20110161597A1 (en) * | 2009-12-30 | 2011-06-30 | International Business Machines Corporation | Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller |
CN102821678B (zh) * | 2010-04-06 | 2015-10-21 | 皇家飞利浦电子股份有限公司 | 用于通过共享无线通道递送性命攸关的警报的系统和方法 |
KR20110132202A (ko) | 2010-05-31 | 2011-12-07 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 상기 메모리 시스템의 동작방법 |
US20110320910A1 (en) * | 2010-06-29 | 2011-12-29 | Yi-Chun Liu | Storage management method and storage system |
EP2609511B1 (en) * | 2010-08-26 | 2016-10-19 | Freescale Semiconductor, Inc. | Memory management unit for a microprocessor system, microprocessor system and method for managing memory |
US20120005459A1 (en) | 2010-12-28 | 2012-01-05 | Advanced Micro Devices, Inc. | Processor having increased performance and energy saving via move elimination |
JP5002719B1 (ja) | 2011-03-10 | 2012-08-15 | 株式会社東芝 | 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法 |
US8930647B1 (en) * | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
US9098402B2 (en) * | 2012-12-21 | 2015-08-04 | Intel Corporation | Techniques to configure a solid state drive to operate in a storage mode or a memory mode |
US9128824B2 (en) * | 2012-12-24 | 2015-09-08 | Intel Corporation | In-place change between transient and persistent state for data structures on non-volatile memory |
US9424946B2 (en) * | 2013-02-08 | 2016-08-23 | Seagate Technology Llc | Non-volatile buffering to enable sloppy writes and fast write verification |
KR20160119541A (ko) * | 2015-04-06 | 2016-10-14 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
-
2013
- 2013-03-28 US US14/780,392 patent/US11221967B2/en active Active
- 2013-03-28 WO PCT/US2013/034385 patent/WO2014158167A1/en active Application Filing
-
2014
- 2014-02-14 TW TW103104928A patent/TWI551988B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279092B1 (en) * | 1999-01-06 | 2001-08-21 | International Business Machines Corporation | Kernel identification for space management in compressed memory systems |
TW200506612A (en) * | 2003-04-22 | 2005-02-16 | Red Hat Inc | Method and apparatus for creating an execution shield |
TW201037525A (en) * | 2008-12-30 | 2010-10-16 | Intel Corp | Read and write monitoring attributes in transactional memory (TM) systems |
WO2011048738A1 (ja) * | 2009-10-22 | 2011-04-28 | 株式会社日立製作所 | 半導体記憶装置および制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US11221967B2 (en) | 2022-01-11 |
US20160041928A1 (en) | 2016-02-11 |
TW201441815A (zh) | 2014-11-01 |
WO2014158167A1 (en) | 2014-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI551988B (zh) | 計算系統、用以控制存取記憶體之方法及相關電腦可讀儲存媒體 | |
US10698818B2 (en) | Storage controller caching using symmetric storage class memory devices | |
US9304901B2 (en) | System and method for handling I/O write requests | |
US9824041B2 (en) | Dual access memory mapped data structure memory | |
US20150058557A1 (en) | Performance Improvements in Input / Output Operations Between a Host System and an Adapter-Coupled Cache | |
US6993676B2 (en) | Method and apparatus for fast initialization of redundant arrays of storage devices | |
US9513845B2 (en) | Memory module virtualization | |
US11467739B2 (en) | Storage device and operation method thereof | |
WO2017148242A1 (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
US9836223B2 (en) | Changing storage volume ownership using cache memory | |
US20150339058A1 (en) | Storage system and control method | |
US10579540B2 (en) | Raid data migration through stripe swapping | |
US10241934B2 (en) | Shared memory controller, shared memory module, and memory sharing system | |
US8762636B2 (en) | Data storage system having a global cache memory distributed among non-volatile memories within system disk drives | |
US11775183B2 (en) | Storage device and operation method thereof | |
KR20200041815A (ko) | FPGA+SSD 내부의 임베디드 PCIe 스위치로 이레이저 코드 데이터 보호 기능을 지원하는 시스템 | |
US10031689B2 (en) | Stream management for storage devices | |
JP5942037B2 (ja) | データ管理メカニズムを備えたストレージシステムおよびその動作方法 | |
US20200042066A1 (en) | System and method for facilitating dram data cache dumping and rack-scale battery backup | |
US9898208B2 (en) | Storage system with hybrid logical volumes utilizing in-band hinting | |
US20230152987A1 (en) | Storage device and operation method thereof | |
US10740024B1 (en) | Minimizing runtime feature overhead in a storage system | |
US20240103731A1 (en) | Non-volatile storage device offloading of host tasks | |
EP4180997A1 (en) | Storage device and operation method thereof | |
US20240103756A1 (en) | Non-volatile storage device offloading of host tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |