TW201629780A - 用以限制對非依電性記憶體寫入存取之系統及方法 - Google Patents

用以限制對非依電性記憶體寫入存取之系統及方法 Download PDF

Info

Publication number
TW201629780A
TW201629780A TW104133543A TW104133543A TW201629780A TW 201629780 A TW201629780 A TW 201629780A TW 104133543 A TW104133543 A TW 104133543A TW 104133543 A TW104133543 A TW 104133543A TW 201629780 A TW201629780 A TW 201629780A
Authority
TW
Taiwan
Prior art keywords
write
address
request
protected location
protected
Prior art date
Application number
TW104133543A
Other languages
English (en)
Inventor
葛雷格B 雷斯阿特瑞
喬瑟夫E 佛斯特
大衛 帕拉昆恩
詹姆士M 曼恩
Original Assignee
惠普發展公司有限責任合夥企業
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 惠普發展公司有限責任合夥企業 filed Critical 惠普發展公司有限責任合夥企業
Publication of TW201629780A publication Critical patent/TW201629780A/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/1433Protection 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 module or a part of a module
    • 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/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/145Protection 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 virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

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)
  • Storage Device Security (AREA)

Abstract

一種用以限制對一非依電性記憶體寫入存取之方法。該方法包括接收對該非依電性記憶體中之一受保護位置寫入的一請求及決定該受保護位置是否係在一寫入保護狀態。若該受保護位置係不在一寫入保護狀態,則該方法包括將藉該請求指示之資料寫入至該受保護位置。若該受保護位置係在一寫入保護狀態,則該方法包括拒絕該請求。該受保護位置儲存一驗證金鑰用以驗證該非依電性記憶體之另一部分的該等內容。

Description

用以限制對非依電性記憶體寫入存取之系統及方法
本發明係有關於用以限制對非依電性記憶體寫入存取之系統及方法。
發明背景
記憶體之某些部分經常受寫入保護以確保總體系統之安全性。舉例言之,優異地係限制對系統韌體、系統啟動順序、基本輸入輸出系統(BIOS)、及其類的存取。典型地,此種敏感資訊係儲存於專用單次寫入記憶體裝置上。然而,期望有更小型更價廉的計算系統使得此種專用單次寫入受保護的記憶體相關聯的成本及大小令人難以負擔。
依據本發明之一實施例,係特地提出一種用以限制對一非依電性記憶體寫入存取之方法,該方法包含:由與該非依電性記憶體相關聯的一媒體控制器,接收對該非依電性記憶體中之一受保護位置寫入的一請求;決定該受保護位置是否係在一寫入保護狀態;若該受保護位置係不在一寫入保護狀態,則將藉該請求指示之資料寫入至該受 保護位置;若該受保護位置係在一寫入保護狀態,則拒絕該請求;其中該受保護位置儲存一驗證金鑰用以驗證該非依電性記憶體之另一部分的該等內容。
100‧‧‧系統
102‧‧‧處理單元
104‧‧‧記憶體模組
105‧‧‧互連體
106‧‧‧媒體控制器
108‧‧‧記憶體、非依電性記憶體 (NVM)
110‧‧‧暫存器
112‧‧‧寫邏輯區塊
112a-c‧‧‧模組
200、300‧‧‧方法
202-208、212-216、222、224、302-326‧‧‧方塊
210、220‧‧‧方法步驟
400‧‧‧例示
402‧‧‧未經保護區
404‧‧‧經保護區
406‧‧‧下個位址
408‧‧‧基本位址
為了各種實施例之細節描述,現在將參考附圖,附圖中:圖1A顯示依據本文揭示之各個實施例一系統之方塊圖;圖1B以進一步細節顯示依據本文揭示之各個實施例一記憶體模組之一媒體控制器的方塊圖;圖2A顯示依據本文揭示之各個實施例一方法之流程圖;圖2B顯示依據本文揭示之各個實施例一方法之額外方法步驟的流程圖;圖2C顯示依據本文揭示之各個實施例一方法之額外方法步驟的流程圖;圖3顯示依據本文揭示之各個實施例一替代方法之流程圖;及圖4例示依據本文揭示之各個實施例,圖3中述及的基本位址及下個位址構成體之一個執行實例。
較佳實施例之詳細說明
後文詳細說明部分及申請專利範圍全文中使用的某些術語係指特定系統組件。如熟諳技藝人士瞭解,不 同公司可能對一組件有不同命名。本文件並非意圖區別名稱不同的組件,反而係以功能區分。於後文討論中及於申請專利範圍各項中,「包括」及「包含」等術語係以開放端方式使用,因而須解讀為表示「包括,但非限制性,...」。又,「耦合」該詞意圖表示間接的或直接的有線或無線連結。如此,若第一裝置耦合至第二裝置,則該連結可以是經由直接連結,或透過其它裝置及連結而經由間接連結。
為了解決前述問題,單次寫入記憶體操作係在通用非依電性記憶體(NVM)諸如憶阻器內部提供。依據本文揭示之各個實施例,一媒體控制器係設於NVM與處理單元間之路徑。從開始即須瞭解如此處使用,處理單元一詞可指中央處理單元(或其核心)、微處理器、微控制器、特定應用積體電路(ASIC)、可現場程式規劃閘陣列(FPGA)、或用以執行各項處理功能的其它類型之電路。本文揭示之範圍並非意圖受任何特定類型之處理單元所限。
部分基於媒體控制器之功能,針對NVM之至少部分提供單次寫入保護,而NVM之其它部分係由處理單元可用於正常存取。藉此方式,可獲得單次寫入保護的效果而無需一專用單次寫入記憶體組件,因而縮小總體系統的尺寸及減低成本。
現在轉向參考圖1A,顯示依據本文揭示之各個實施例之一系統100。系統可包含任何數目的計算裝置,諸如工作站、膝上型電腦、智慧型電話、儲存伺服器、刀鋒伺服器等。本文揭示之範圍並不限於一個特定類型之計算 裝置。
系統100包括一處理單元102,其藉一互連體105而耦合至一記憶體模組104。須瞭解系統100及其組件可包括圖1A中未明確顯示的額外組件,及此處描述之某些組件可被移除及/或修改而未實質上影響本文揭示之範圍。此外,雖然圖中描繪為單一處理單元102及單一記憶體模組104,但具有經由互連體105或多個互連體105耦合的多個處理單元102及/或多個記憶體模組104之系統100同樣地也落入於本文揭示之範圍。
互連體105可包含互連體組織結構,於該處組織結構105可以是通訊系統,其在系統100之各個組件間傳遞資料。於某些情況下,組織結構可以是周邊組件互連(PCI)、工業標準架構(ISA)、PCI快速(PCIe)、超傳輸®(HT)、網路用戶匯流排、雙倍資料率(DDR)、專有匯流排等。另外,處理單元102可使用多個不同組織結構105以與記憶體模組104或多個記憶體模組104通訊。
記憶體模組104包括設置於記憶體108與處理單元102間之一媒體控制器106。於若干實施例中,媒體控制器106可含在記憶體108內部。此外,媒體控制器106可發揮此處描述者以外的功能以使其能存取記憶體108。如本文解釋,記憶體108可包含NVM諸如憶阻器,如此,除了傳統區塊/DMA存取模型之外,可能夠快而可使用直接映射載入/儲存存取模型存取。藉此方式,可能達成較低延遲,原因在於處理單元102可能產生直接靶定該NVM 108的載入/儲 存存取。
如前文解說,優異地係限制對儲存在記憶體的某些敏感資訊進行寫入存取以提供系統100的安全性。此種敏感資訊之非限制性實例包括系統韌體、系統啟動順序、基本輸入輸出系統(BIOS)、安全性日誌等。典型地,此種敏感資訊係儲存於專用單次寫入記憶體裝置。然而,依據本文揭示之各個實施例,此種敏感資訊係儲存於NVM 108上,連同通常由處理器可存取(亦即非單次寫入)的其它資訊。
媒體控制器也包括一寫入邏輯區塊112含有數個模組112a、112b、112c。此等模組112a-c之功能容後詳述,但模組112a-c可包含硬體、硬體與軟體的組合、或軟體以進行寫入邏輯區塊112及媒體控制器106的各項經描述的功能。
圖1B以進一步細節顯示記憶體模組104之媒體控制器106。如圖顯示,媒體控制器106包含耦合至NVM 108及寫入邏輯區塊112的一暫存器110。當然,實際上,媒體控制器106可包括暫存器110及各種不同的功能區塊;然而,為求簡明,參考圖1B中描繪的單一暫存器110及寫入邏輯區塊112。於本文揭示之各個實施例中,媒體控制器106當得知對其暫存器110中之一者有個讀或寫請求時,可將此等請求轉換成交易流到NVM 108。
依據本文揭示之各個實施例,讀或寫請求可由媒體控制器106自處理單元102轉向到媒體控制器106的寫入邏輯區塊112。媒體控制器106接收請求,及決定(例如,由 寫入邏輯區塊112)該請求是否將寫入NVM 108中的一保護位置。若該請求是自一位置讀取,則與該請求是否受保護獨立無關,媒體控制器106存取NVM 108,及回送在該位置的資料給處理單元102。
若該請求是寫入一保護位置,則媒體控制器106存取該位置且將儲存於該位置的資料移轉到暫存器110。然後媒體控制器106決定(例如,由寫入邏輯區塊112)該保護位置是否於寫入保護狀態。
於若干實施例中,儲存於NVM 108之一特定位址或位置的資訊可包括一資料欄位、一錯誤校正檢查(ECC)欄位、及一元資料欄位。如此,於至少一個實例中,元資料欄位可用以指示於NVM 108之該位址或位置是否係在寫入保護狀態。於此一實施例中,媒體控制器106經由元資料欄位之簡單分析而決定該位置是否在寫入保護狀態。前述功能為示範性;但以多種其它方式決定記憶體的一部分是否為寫入保護也落入於本文揭示之範圍內。又,元資料欄位可用於額外目的,而非單獨限於該位置是否在寫入保護狀態的指示。舉例言之,元資料欄位也可指示儲存於該位置的資料是否以特定方式編碼,儲存於該位置的資料是否重新映射到一新位置,或指示其它資訊。
若決定該受保護位置不是在寫入保護狀態,媒體控制器106繼續將由接收自處理單元102的請求指示的資料寫到受保護位置。因受保護位置為單次寫入位置,故媒體控制器106也變更元資料欄位而指示受保護位置現在係在 寫入保護狀態。
然而,於受保護位置已經在寫入保護狀態之情況下,舉例言之,如由元資料欄位指示,媒體控制器106拒絕寫入請求。寫入請求的拒絕可呈許多不同形式,本文揭示之範圍並不限於任何特定形式。舉例言之,於某些情況下,媒體控制器106單純不執行寫入,而於其它情況下,媒體控制器106回送一訊息給處理單元102指示寫入請求已被拒絕。可能出現媒體控制器106與處理單元102間之各種其它通訊而調整寫入請求的拒絕。
依據本文揭示之各個實施例,NVM 108中之受保護位置係用以儲存針對NVM 108的另一部分之驗證金鑰,諸如檢查和。於其它實施例中,NVM 108中之受保護位置可用以儲存一代碼/金鑰對,其期望接受單次寫入保護方案。本文揭示之範圍不限於任何特定類型之驗證金鑰。如此,如前記,NVM 108之其它部分係用以儲存敏感資訊,諸如系統韌體、系統啟動序列、或BIOS。然而,就驗證金鑰而言,寫入存取乃唯一受限,但藉由不實施對NVM 108儲存此種敏感資訊部分的各個位址的有限寫入存取,可避免不必要的記憶體存取額外負擔。
於此等實施例中,藉由計算針對該部分之一新鮮檢查和,系統100可驗證於NVM 108之其它部分中之敏感資訊。接著,算出的檢查和與儲存於NVM 108的受保護位置之驗證金鑰作比較。若該等檢查和匹配,則系統100已經成功地驗證敏感資訊。但若該等檢查和不匹配,則系統知曉 於NVM 108之其它部分中之敏感資訊已經過修改,及採取適當動作。舉例言之,於一種情況下,如此防止了或提示了一用戶下述事實,惡意軟體已經存取NVM 108的敏感部分,且使得用戶能夠驗證儲存於NVM 108的特定區域者之真實性。此項驗證過程例如可能出現例如作為系統100之啟動順序的一部分,使得啟動順序可被擱置;及若驗證不合格,則可避免對系統100的進一步傷害。
於系統100之某些設計中,媒體控制器106可將針對相應NVM 108之受保護位置的一位址或位址範圍的讀及寫請求轉向到寫入邏輯區塊112。然而,媒體控制器106可將針對不相應NVM 108之受保護位置的一位址或位址範圍的讀及寫請求直接發送給NVM 108。
現在轉向參考圖2A,顯示方法200之一流程圖,其反映前文揭示。方法200始於方塊202,例如由媒體控制器106取回一請求以寫入NVM 108之受保護位置。方法200繼續於方塊204,決定受保護位置是否在寫入保護狀態。如前文解說,此點可經由與儲存於受保護位置的資料相關聯的元資料之分析進行。若受保護位置不是在寫入保護狀態,則方法200繼續於方塊206,將藉該請求所指示的資料寫入受保護位置。又,方法200可包括變更針對受保護位置的元資料而現在指示其係在寫入保護狀態。另外,若受保護位置係在寫入保護狀態,則方法200繼續於方塊208,拒絕該項請求。
圖2B例示額外方法步驟210,其係有關於NVM 108中另一區域或部分(例如,含有敏感資訊)的驗證,除了就方法200顯示的步驟之外可進行該步驟。如前文解說,此等步驟210可於系統100之啟動程序期間進行。該等步驟210包括於方塊212,針對NVM 108之其它部分計算一檢查和。額外步驟210繼續於方塊214,比較算出的檢查和與儲存於NVM的受保護位置之驗證金鑰。步驟210結束於方塊216,若算出的檢查和匹配驗證金鑰,則驗證NVM 108部分。藉此方式,例如於啟動程序期間可驗證儲存於NVM 108部分的資料之真實性,及若驗證不合格,則警示用戶。
圖2C例示進一步方法步驟220,其係有關於在處理單元102與最終NVM 108間之資料的路徑安排。依據本文揭示之各個實施例,進一步步驟220始於方塊222,路徑安排針對相應受保護位置的一位址或位址範圍的讀及寫請求到媒體控制器106。但於方塊224,對相應受保護位置的一位址或位址範圍以外的位址之讀及寫請求係直接發送到NVM 108。
現在轉向參考圖3,顯示一種方法300,其增加安全登錄特徵給前述系統及方法。依據本文揭示之各個實施例,多個位址配置給NVM 108中之相同受保護位置。後文中,此等稱作「基本位址」及「下個位址」。更明確言之,「下個位址」典型地含有讀取下個指標或寫入下個指標,其乃在日誌中的一位址的指標,其隨著日誌的成長而遞增;容後詳述。也以進一步細節描述,取決於一請求係針對哪個位址,可實現安全登錄功能同時保有該受保護位置的單 次寫入保護方案。日誌或日誌緩衝器一詞可指將從所揭示的單次寫入安全性特徵獲益之任何活動史或其它資料集合。本文揭示之範圍並不限於任何特定類型的日誌或日誌緩衝器。
雖然並未明白地顯示於圖3,但在首次使用NVM 108之前,NVM 108(或NVM 108之受保護的日誌緩衝器)可被初始化至有效狀態,諸如全零而具有良好ECC,於該處此等位置之元資料指示其係不在寫入保護狀態。本文揭示之範圍並非限於NVM 108的任何特定類型之初始化。又,可設定日誌位址基礎及範圍;此等參數指示日誌始於何處,及日誌可能變成多大。於此種情況下,讀取下個指標及寫入下個指標係經初始化而指向基本位址。最後,日誌的最末位址可經初始化,使得其資料指示已經滿足溢位條件,及其元資料指示係在寫入保護狀態。如此防止日誌的邊界在操作期間被超越。
取決於針對特定請求的期望功能,處理單元102可產生讀或寫請求給受保護位置之「基本位址」或「下個位址」。如圖3顯示,方法300始於方塊302,決定針對該項請求的交易類型,其可以是「讀基本」、「讀下個」、「寫基本」、或「寫下個」。首先,若請求係寫至基本位址(亦即「寫基本」),則方法300繼續於方塊304,決定基本位址是否係在寫入保護狀態,例如前文討論。若基本位址係在寫入保護狀態,則方法300繼續於方塊306,拒絕該項請求。然而,也類似前文討論之系統及方法,若基本位址係不在寫入保 護狀態,則方法300繼續於方塊308,將藉該請求指示的資料寫到基本位址,且修改基本位址的元資料以指示其現在係在寫入保護狀態。如此,寫入基本位址大致係同前文揭示。又,於至少若干實施例中,「寫基本」特徵為選擇性者或不含括該特徵。
若請求係寫至下個位址(亦即「寫下個」),則方法300繼續於方塊310,決定下個位址(亦即由儲存於下個位址的寫入下個指標所指示的該位址)是否係在寫入保護狀態。若下個位址係不在寫入保護狀態,則方法300繼續於方塊312,將藉該請求所指示的資料寫到下個位址且遞增寫入下個指標。如前述,該方法也包括修改下個位址的元資料以指示其現在係在寫入保護狀態。若下個位址係在寫入保護狀態,如此指示已經到達日誌的終點(參考前述初始化程序),因而方法300繼續於方塊314,拒絕該項請求。
結果,方法300防止存取該日誌中先前已寫入的位置,原因在於當試圖寫至下個位址時寫入下個指標持續更新,如就先前圖式之解說,寫入到基本位址被阻擋。藉此方式,形成一日誌其追蹤系統內部活動,於該處該日誌無法被修改或「欺騙」;因而可信賴該日誌為正確。又,藉由啟動一負荷讀取,具有一讀-基本及一系列之讀-下個交易而可讀取該日誌。此外,每次寫入敏感資料(例如,其係藉制裁方法予以更新或維持)藉由提供一寫下個作為允許敏感代碼更新的機制,帶有來自新檢查和的已更新驗證,可紀錄一系列之敏感代碼檢查和。又,該日誌隨後可由系統 100行政管理者用以重新產生事件,包括試圖對該系統100修改、系統100之一組態、系統100之軟體執行、或NVM 108中之某些位置。方法300藉由配置一期望區域大小,也可提供一機制以保護一任意大型單次寫入區域。此點例如可用作為記憶體的浮水印,或獨一的無法被變更的系統。
現在參考得自處理單元102之讀取請求,若該請求係讀取基本位址(亦即「讀基本」),則方法300繼續於方塊316,例如前文討論,決定該基本位址是否係在寫入保護狀態。若該基本位址係在寫入保護狀態,則方法300繼續於方塊318,回送來自基本位址的資料,及設定一讀取下個指標給日誌中的第二位址(亦即從基本位址遞增)。然而,該基本位址係不寫入保護狀態,則如此指示沒有任何資料尚未被寫入該基本位址,及方法300繼續於方塊320,回送空資料。空資料係指由處理單元102瞭解指示在該位置不含任何有用的或有效的資料(例如,全零)的任何資料。
若該請求係讀取下個位址(亦即「讀下個」),則方法300繼續於方塊322如前文討論,決定該下個位址(亦即由儲存於下個位址的讀取下個指標所指示的該位址)是否係在寫入保護狀態。若該下個位址係在寫入保護狀態,則方法300繼續於方塊324,回送自下個位址的資料,及遞增讀取下個指標。同理,若下個位址係不在寫入保護狀態,則如此指示並無任何資料尚未被寫到下個位址,及方法300繼續於方塊326,回送空資料。又,雖然並未明白顯示,但若該項請求係自下個位址讀取且讀取下個指標指向與寫入 下個指標的相同位址,則該方法可包括回送空資料,原因在於此乃另一項指示資料尚未被寫到下個位址。
前述方法300導入某些不良效應,換言之,讀取或寫入視在(apparent)「相同位址」(亦即下個位址)實際上產生了不同回應。如此,採用方法300的一系統100利用總體系統設計其將此點列入考慮。舉例言之,此等交易只可採用於一可靠的組織結構(例如,能夠處理基元型運算的組織結構),或者簽發此等交易的代碼將此等不良效應列入考慮。
回頭參考圖1A,模組112a-c可執行前文就圖2A、2B、2C、或3描述的任一項功能。換言之,模組112a-c包含硬體邏輯、軟體指令、或其組合經配置以進行於此處方法流程圖中描述的功能。舉例言之,模組112a可接收寫入NVM 108中之一受保護位置的一請求,如方法200之方塊202顯示。同理,模組112b可決定受保護位置是否係在寫入保護狀態,及若是,則如方法200之方塊204及208拒絕該項請求。模組112c可決定受保護位置是否係在寫入保護狀態,及若否,則如方法200之方塊204及206,將藉該請求指示的資料寫到受保護位置。
又,於某些實施例中,媒體控制器106、寫入邏輯112、或與寫入邏輯相關聯的模組112a-c可具體實施為儲存於非暫態電腦可讀取媒體上的指令。此等指令當由一處理器執行時使得該處理器進行此處描述之各種方法或功能中之任一者。本文揭示之範圍係不受所描述之方法或功能 的任何特定具體實施例所限。
簡短參考圖4,一例示400示範如前文參考圖3解釋的基本位址及下個位址構成體之一個執行實例。NVM 108顯示為分段成未經保護區402及受保護區404。如圖所示,媒體控制器106包含與「下個位址」406及「基本位址」408相關聯的指標。如前文解釋,讀取下個指標及寫入下個指標兩者在某些情況下遞增,使得當存取媒體控制器106的「下個位址」構成體時,讀取至或寫入自的下個位址將分別地與讀取至或寫入自的前一個位址不同(亦即遞增)。又,注意於受保護區404中該日誌的前一個位址含有空資料(例如,全零),且係在寫入保護狀態,如前文參考圖3解釋。
不似讀取下個指標及寫入下個指標,基本指標不會遞增;如此,當存取媒體控制器106的「基本位址」構成體時,存取經常性地試圖到受保護區404中的相同位置,亦即日誌的基本。又,圖4也例示媒體控制器106發送請求給未經保護區402而無此種額外負擔。
前文討論意圖例示本發明之原理及各個實施例。一旦完整瞭解前文揭示,熟諳技藝人士顯然易知無數變化及修改。預期後文申請專利範圍解讀為涵蓋全部此等變化及修改。
200‧‧‧方法
202-208‧‧‧方塊

Claims (15)

  1. 一種用以限制對一非依電性記憶體寫入存取之方法,該方法包含:由與該非依電性記憶體相關聯的一媒體控制器,接收對該非依電性記憶體中之一受保護位置寫入的一請求;決定該受保護位置是否係在一寫入保護狀態;若該受保護位置係不在一寫入保護狀態,則將藉該請求指示之資料寫入至該受保護位置;若該受保護位置係在一寫入保護狀態,則拒絕該請求;其中該受保護位置儲存一驗證金鑰用以驗證該非依電性記憶體之另一部分的該等內容。
  2. 如請求項1之方法,其中該驗證金鑰包含一檢查和用以驗證該其它部分的該等內容。
  3. 如請求項2之方法,其進一步包含:針對該非依電性記憶體之該其它部分計算一檢查和;比較該算出的檢查和與該驗證金鑰;及若該算出的檢查和匹配該驗證金鑰,則驗證該非依電性記憶體之該部分。
  4. 如請求項1之方法,其進一步包含:針對相應於該受保護位置的一位址或位址範圍之 讀取及寫入請求轉向到該媒體控制器;及將相應於該受保護位置的該位址或位址範圍以外的位址之讀取及寫入請求直接發送給該非依電性記憶體。
  5. 如請求項1之方法,其中決定該受保護位置是否係在一寫入保護狀態包含,於該媒體控制器之一暫存器,分析儲存該受保護位置的該資料之一元資料欄位是否指示該受保護位置係在一寫入保護狀態。
  6. 一種用以限制對一非依電性記憶體寫入存取之系統,該系統包含:一處理單元;耦合至該處理單元的一記憶體模組,該記憶體模組包含:一非依電性記憶體;及耦合至該非依電性記憶體及該處理單元的一媒體控制器,該媒體控制器包含寫入邏輯用以:接收對該非依電性記憶體中之一受保護位置寫入的一請求;若該受保護位置係不在一寫入保護狀態,則將藉該請求指示之資料寫入至該受保護位置;及若該受保護位置係在一寫入保護狀態,則拒絕該請求;其中該受保護位置儲存一驗證金鑰用以驗證該非 依電性記憶體之另一部分的該等內容。
  7. 如請求項6之系統,其中該驗證金鑰包含一檢查和用以驗證該其它部分的該等內容。
  8. 如請求項7之系統,其中該處理單元係用以:針對該非依電性記憶體之該其它部分計算一檢查和;比較該算出的檢查和與該驗證金鑰;及若該算出的檢查和匹配該驗證金鑰,則驗證該非依電性記憶體之該部分。
  9. 如請求項6之系統,其中該媒體控制器係進一步用以:針對相應於該受保護位置的一位址或位址範圍之讀取及寫入請求轉向到該媒體控制器;及將相應於該受保護位置的該位址或位址範圍以外的位址之讀取及寫入請求直接發送給該非依電性記憶體。
  10. 如請求項6之系統,其中該媒體控制器包含一暫存器,該媒體控制器進一步,於該暫存器,分析儲存該受保護位置的該資料之一元資料欄位是否指示該受保護位置係在一寫入保護狀態。
  11. 如請求項6之系統,其中該非依電性記憶體之一部分係不受寫入限制且將由該處理單元作為正常非依電性記憶體存取。
  12. 一種用以限制對一非依電性記憶體寫入存取及維持一日誌緩衝器之方法,該方法包含: 由與該非依電性記憶體相關聯的一媒體控制器,接收對該非依電性記憶體中之一受保護位置寫入的一請求,該受保護位置包含一基本位址及一下個位址;若該請求係用以寫入至該受保護位置及該受保護位置係於一寫入保護狀態,則拒絕該請求;若該請求係用以寫入至該下個位址,則將藉該請求指示的資料寫入到由一寫入下個指標指示的一位址且遞增該寫入下個指標。
  13. 如請求項12之方法,其進一步包含:由該媒體控制器,接收讀取自該受保護位置之一請求;若該請求係用以讀取自該基本位址且該基本位址係在一寫入保護狀態,則自該基本位址回送資料及設定一讀取下個指標給該日誌緩衝器中之一第二位址;若該請求係用以讀取自該下個位址且由該讀取下個指標指示的位址係在一寫入保護狀態,則自由該讀取下個指標指示的位址回送資料及遞增該讀取下個指標。
  14. 如請求項13之方法,其中若該請求係用以讀取自該基本位址且該基本位址係不在一寫入保護狀態或若該請求係用以讀取自該下個位址且由該讀取下個指標指示的位址係不在一寫入保護狀態,則該方法進一步包含回送空資料。
  15. 如請求項13之方法,其中若該請求係用以讀取自該下個 位址且該讀取下個指標指示與該寫入下個指標之該相同位址,則回送空資料。
TW104133543A 2014-10-31 2015-10-13 用以限制對非依電性記憶體寫入存取之系統及方法 TW201629780A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/063332 WO2016068981A1 (en) 2014-10-31 2014-10-31 Systems and methods for restricting write access to non-volatile memory

Publications (1)

Publication Number Publication Date
TW201629780A true TW201629780A (zh) 2016-08-16

Family

ID=55858082

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104133543A TW201629780A (zh) 2014-10-31 2015-10-13 用以限制對非依電性記憶體寫入存取之系統及方法

Country Status (3)

Country Link
US (1) US11086797B2 (zh)
TW (1) TW201629780A (zh)
WO (1) WO2016068981A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210055882A1 (en) * 2019-08-22 2021-02-25 Micron Technology, Inc. Hierarchical memory apparatus
CN113392408A (zh) * 2021-08-13 2021-09-14 北京信达环宇安全网络技术有限公司 Windows配置数据库防篡改方法、装置、电子设备及存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182170A (ja) * 1993-12-24 1995-07-21 Ricoh Co Ltd マイクロプロセッサ
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
US6883075B2 (en) * 2002-01-17 2005-04-19 Silicon Storage Technology, Inc. Microcontroller having embedded non-volatile memory with read protection
JP2003233534A (ja) * 2002-02-07 2003-08-22 Hitachi Ltd メモリシステム
KR100526186B1 (ko) * 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
US7162602B2 (en) * 2004-03-16 2007-01-09 Hitachi, Ltd. More granular and more efficient write protection for disk volumes
US7465951B2 (en) 2005-01-19 2008-12-16 Sandisk Corporation Write-once nonvolatile phase change memory array
US7414803B2 (en) * 2005-05-19 2008-08-19 Quantum Corporation Write protected magnetic storage media and associated methods
US8639946B2 (en) 2005-06-24 2014-01-28 Sigmatel, Inc. System and method of using a protected non-volatile memory
US7719872B2 (en) 2005-12-28 2010-05-18 Semiconductor Energy Laboratory Co., Ltd. Write-once nonvolatile memory with redundancy capability
WO2008048665A2 (en) * 2006-10-18 2008-04-24 University Of Virginia Patent Foundation Method, system, and computer program product for malware detection analysis, and response
US8561204B1 (en) * 2007-02-12 2013-10-15 Gregory William Dalcher System, method, and computer program product for utilizing code stored in a protected area of memory for securing an associated system
US20080250509A1 (en) 2007-04-04 2008-10-09 Nokia Corporation Write Protection For Memory Devices
DE102007000589B9 (de) * 2007-10-29 2010-01-28 Bundesdruckerei Gmbh Verfahren zum Schutz einer Chipkarte gegen unberechtigte Benutzung, Chipkarte und Chipkarten-Terminal
JP4976991B2 (ja) * 2007-11-22 2012-07-18 株式会社東芝 情報処理装置、プログラム検証方法及びプログラム
US8255655B2 (en) 2009-10-02 2012-08-28 Sandisk Technologies Inc. Authentication and securing of write-once, read-many (WORM) memory devices
TWI450275B (zh) 2010-05-19 2014-08-21 Wistron Corp 可提升寫入保護之記憶體系統及相關方法
JP2011249977A (ja) * 2010-05-25 2011-12-08 Fujitsu Ltd 通信処理装置
WO2011161494A1 (en) * 2010-06-22 2011-12-29 Sandisk Il Ltd. Storage device, host device, and method for communicating a password between first and second storage devices using a double-encryption scheme
KR101114256B1 (ko) * 2010-07-14 2012-03-05 한국과학기술원 패턴 제조 방법
JP5171907B2 (ja) * 2010-09-13 2013-03-27 株式会社東芝 情報処理装置、情報処理プログラム
DE112011103536T5 (de) * 2010-10-20 2013-08-01 International Business Machines Corp. Verfahren zum Erkennen von Zugriffen auf ein Objekt und Computer und Computerprogrammprodukt für selbiges
US20120151126A1 (en) * 2010-12-10 2012-06-14 Texas Instruments Incorporated Flash drive with multiple connectors
US9990237B2 (en) * 2011-02-23 2018-06-05 Red Hat Israel, Ltd. Lockless write tracking
US8838911B1 (en) * 2011-03-09 2014-09-16 Verint Systems Inc. Systems, methods, and software for interleaved data stream storage
CN102682830B (zh) 2011-03-11 2015-03-04 索尼爱立信移动通讯有限公司 移动终端以及移动终端中存储卡的写保护方法
TWI447580B (zh) * 2012-04-03 2014-08-01 Phison Electronics Corp 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置
US8996888B2 (en) * 2012-09-14 2015-03-31 Avalanche Technology, Inc. Mobile device using secure spin torque transfer magnetic random access memory (STTMRAM)
US9390278B2 (en) * 2012-09-14 2016-07-12 Freescale Semiconductor, Inc. Systems and methods for code protection in non-volatile memory systems
US20140095822A1 (en) * 2012-10-01 2014-04-03 Trend Micro Incorporated Secure removable mass storage devices
US9442864B2 (en) * 2013-12-27 2016-09-13 Intel Corporation Bridging circuitry between a memory controller and request agents in a system having multiple system memory protection schemes

Also Published As

Publication number Publication date
US11086797B2 (en) 2021-08-10
US20170293573A1 (en) 2017-10-12
WO2016068981A1 (en) 2016-05-06

Similar Documents

Publication Publication Date Title
US11880313B2 (en) Storage system and method for performing and authenticating write-protection thereof
US20240037045A1 (en) Apparatuses and methods for securing an access protection scheme
US10324864B2 (en) Storage system and method for performing and authenticating write-protection thereof
US9317450B2 (en) Security protection for memory content of processor main memory
US9836415B2 (en) Buffer device, method and apparatus for controlling access to internal memory
US20210382832A1 (en) Securing a memory device
US9934165B2 (en) Apparatus for monitoring data access to internal memory device and internal memory device
TWI738097B (zh) 具有密碼學組件的記憶體裝置
JP7213879B2 (ja) 間接アクセスメモリコントローラ用のメモリ保護装置
TW201928991A (zh) 透通附接之快閃記憶體安全性
CN111143111B (zh) Ssd映射表保护机制验证方法、装置、计算机设备及存储介质
EP4348469A1 (en) Firmware policy enforcement via a security processor
TW201629780A (zh) 用以限制對非依電性記憶體寫入存取之系統及方法
CN113449284A (zh) 固件验证机制
US11606104B1 (en) Data integrity protection