TW201521028A - 保護非揮發性記憶體中儲存之程式碼的裝置 - Google Patents

保護非揮發性記憶體中儲存之程式碼的裝置 Download PDF

Info

Publication number
TW201521028A
TW201521028A TW102142579A TW102142579A TW201521028A TW 201521028 A TW201521028 A TW 201521028A TW 102142579 A TW102142579 A TW 102142579A TW 102142579 A TW102142579 A TW 102142579A TW 201521028 A TW201521028 A TW 201521028A
Authority
TW
Taiwan
Prior art keywords
volatile memory
instruction
control unit
management control
code
Prior art date
Application number
TW102142579A
Other languages
English (en)
Other versions
TWI530954B (zh
Inventor
Chen-Chun Huang
Kuo-En Hsu
Original Assignee
Nuvoton Technology Corp
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 Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Priority to TW102142579A priority Critical patent/TWI530954B/zh
Priority to CN201410005297.0A priority patent/CN104657685B/zh
Priority to CN201710499104.5A priority patent/CN107392059B/zh
Priority to US14/227,154 priority patent/US9430408B2/en
Publication of TW201521028A publication Critical patent/TW201521028A/zh
Application granted granted Critical
Publication of TWI530954B publication Critical patent/TWI530954B/zh
Priority to US15/169,421 priority patent/US9542113B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • 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
    • 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本發明的實施例提出一種保護非揮發性記憶體中儲存之程式碼的裝置。非揮發性記憶體中包含第一區域及第二區域。裝置另設置兩個獨立的第一非揮發性記憶體管理控制單元以及第二非揮發性記憶體管理控制單元。裝置中更包含燒錄指令地址解碼器。當燒錄指令地址解碼器接收到指示擦除第一區域的第一指令時,指示第一非揮發性記憶體管理控制單元擦除第一區域中的資料;以及當接收到指示擦除第二區域的第二指令時,指示第二非揮發性記憶體管理控制單元擦除第二區域中的資料。

Description

保護非揮發性記憶體中儲存之程式碼的裝置
本發明關連於一種程式碼保護技術,特別是一種保護非揮發性記憶體中儲存之程式碼的裝置。
具安全防護能力的裝置必須保護其中儲存的內容不會被惡意複製或修改。當保護的內容是程式碼時,必須防止那些非擁有者或不被授權人士的存取以及複製。因此,本發明實施例提出一種保護非揮發性記憶體中儲存程式碼的裝置。
本發明的實施例提出一種保護非揮發性記憶體中儲存之程式碼的裝置。非揮發性記憶體中包含第一區域及第二區域。裝置另設置兩個獨立的第一非揮發性記憶體管理控制單元以及第二非揮發性記憶體管理控制單元。裝置中更包含燒錄指令地址解碼器,耦接至第一非揮發性記憶體管理控制單元以及第二非揮發性記憶體管理控制單元。當接收到從燒錄介面傳來之指示擦除第一區域的第一指令時,指示第一非揮發性記憶體管理控制單元擦除第一區域中的資料;以及當接收到從燒錄介面傳來之指示擦除第二區域的第二指令時,指示第二非揮發性記憶體管理控制單元擦除第二區域中的資料。
本發明的實施例另提出一種保護非揮發性記憶體 中儲存之程式碼的裝置,包含非揮發性記憶體、非揮發性記憶體管理控制單元、中央處理單元以及晶片除錯器。非揮發性記憶體中包含一個安全位元組,其中,安全位元組中的值被設定來表示非揮發性記憶體目前處於開放存取狀態或保護狀態。非揮發性記憶體管理控制單元用以存取非揮發性記憶體中儲存的資料。中央處理單元用以指示非揮發性記憶體管理控制單元存取非揮發性記憶體中儲存的資料。當晶片除錯器從除錯介面接收到除錯指令時,取得安全位元組的值;依據安全位元組的值進行至少一個判斷;以及依據判斷的結果,決定是否阻擋除錯指令而不執行。
發明的實施例另提出一種保護非揮發性記憶體中 儲存之程式碼的裝置,包含非揮發性記憶體、中央處理單元以及非揮發性記憶體管理控制單元。非揮發性記憶體中包含一個安全位元組,其中,安全位元組中的值被設定來表示非揮發性記憶體目前處於開放存取狀態或保護狀態。非揮發性記憶體管理控制單元耦接至中央處理單元,用以取得讀取非揮發性記憶體中儲存之程式碼的指令;非揮發性記憶體管理控制單元取得安全位元組的值;以及當安全位元組的值指出非揮發性記憶體目前處於保護狀態時,非揮發性記憶體管理控制單元讀取並回覆中央處理單元安全位元組的值,而不讀取上述非揮發性記憶體中儲存之程式碼。
10‧‧‧電子裝置
110‧‧‧微控制單元
111‧‧‧中央處理單元
112‧‧‧快閃記憶體
112a‧‧‧安全防護代碼區
112b‧‧‧使用者代碼區
113、114‧‧‧快閃管理控制單元
115‧‧‧控制寄存器
116‧‧‧燒錄指令地址解碼器
117‧‧‧晶片除錯器
118‧‧‧靜態記憶體
120‧‧‧除錯介面
130‧‧‧燒錄介面
S210~S260‧‧‧方法步驟
S310~S350‧‧‧方法步驟
第1圖係依據本發明實施例之電子裝置的系統方塊圖。
第2圖係依據本發明實施例之執行於晶片除錯器中之保護非揮發性記憶體中儲存程式碼的方法流程圖。
第3圖係依據本發明實施例之執行於快閃管理控制單元中之保護非揮發性記憶體中儲存程式碼的方法流程圖。
第1圖係依據本發明實施例之電子裝置10的系統方塊圖。電子裝置10設置一個微控制單元110,而微控制單元110中的快閃記憶體112至少包含兩個區域:安全防護代碼區112a,實施例的位址範圍為yyyyH~zzzzH;以及使用者代碼區112b,實施例的位址範圍0000H~xxxxH。快閃記憶體112係一種非揮發性記憶體,其中儲存的資料並不會因斷電而消失。安全防護代碼區112a包含一個安全位元組(security byte),可以為最高位元組(most significant byte)、最低位元組(least significant byte)、或任意位址的位元組。安全防護代碼區112a與使用者代碼區112b可分別存放由不同的廠商(或使用者)所開發的程式碼。在另一實施例中,安全防護代碼區112a與使用者代碼區112b可分別存放由同一廠商之不同使用者所開發的程式碼,但不限於此。舉例來說,第一廠商(或同一廠商之第一使用者)可將核心的程式碼或是所開發的客製化函式庫(customized library)存放在安全防護代碼區112a,再提供給第二廠商(或第二使用者)使用。第二廠商(或同一廠商之第二使用者)可將其所開發的主程式碼存放在使用者代碼區112b,其中該主程式碼可呼叫存放於安全防護代碼區112a的客製化函式庫,如此第二廠商可節省產品開發時間。微控制單元110可被 整合至各種產品中,例如,通訊產品、電視、儲存裝置等。
以下舉例係以快閃記憶體作為說明,然而只要是 非揮發記憶體皆可適用,例如EPROM(erasable programmable read-only memory)、PROM(programmable read-only memory)、ROM(read-only memory)、EEPROM(electrically erasable programmable read-only memory)等非揮發性記憶體。因此,在以下內容中所提到的快閃管理控制單元也可替換為非揮發性記憶體管理控制單元(NVMMC,non-volatile memory management controller)用以控制非揮發性記憶體。
傳統的設計使用單一的快閃管理控制單元來存取 整個快閃記憶體,並且當中央處理單元接收到擦除指令(erase command)時,擦除整個快閃記憶體。為了提高程式碼的安全性,依據本發明實施例,安全防護代碼區112a以及使用者代碼區112b分別使用獨立的快閃管理控制單元(flash memory control units)113及114進行存取,並且提供用以分別擦除快閃記憶體112中的安全防護代碼區112a以及使用者代碼區112b之兩個不同的指令,例如”SEC_erase”以及”user_erase”。兩個不同的指令可以兩個不同的代碼做表示。
電子裝置10另可設置燒錄介面130,使得使用者可 將外部燒錄器透過燒錄介面130耦接燒錄指令地址解碼器116,並發出如上所述用以擦除安全防護代碼區112a以及使用者代碼區112b的不同指令。當燒錄指令地址解碼器116接收到擦除安全防護代碼區112a的指令時,指示快閃管理控制單元113擦 除安全防護代碼區112a的資料,另當接收到擦除使用者代碼區112b的指令時,指示快閃管理控制單元114擦除使用者代碼區112b的資料。一般而言,微控制單元110的製造商可提供擦除安全防護代碼區112a的指令以及擦除使用者代碼區112b的指令給客戶(例如,上述第一廠商與第二廠商),用以分別擦除安全防護代碼區112a以及使用者代碼區112b的資料。
若安全防護代碼區112a中的安全位元組被設定為 一個特定值時,例如”0xFF”,則代表安全防護代碼區112a目前為開放存取狀態,若安全位元組被設定為其他值而非為此特定值,則代表安全防護代碼區112a目前正處於保護狀態。以下詳細介紹使用安全位元組保護安全防護代碼區112a中所儲存程式碼的機制。不論安全位元組被設定為哪個值,安全防護代碼區112a中的程式碼都可以被中央處理單元111載入並執行。
為了避免安全防護代碼區112a中的程式碼會在除 錯的過程中被反向工程推知,晶片除錯器117會參考安全位元組的值來決定是否阻擋特定的除錯指令。第2圖係依據本發明實施例之執行於晶片除錯器117中之保護非揮發性記憶體中儲存程式碼的方法流程圖。當從除錯介面120接收到關聯於安全防護代碼區112a中的程式碼之除錯指令後(步驟S210),取得安全防護代碼區112a中之安全位元組的值(步驟S220)。於一實施例中,安全位元組的值可在開機的時候,先透過中央處理單元111進行讀取,並事先儲存於晶片除錯器117中的寄存器(register)(未繪示)。當執行步驟S220時,從晶片除錯器117之寄存器中取得安全位元組的值。於另一實施例中,晶片除錯器117 於每一次接收到除錯指令時,都向中央處理單元111請求讀取安全防護代碼區112a中安全位元組的值。接著,進行以下判斷步驟:根據安全位元組的值決定安全防護代碼區112a是否處於保護狀態(步驟S230);以及決定除錯指令是否為受限制的指令(步驟S240)。受限制的指令可以為設置中斷點(breakpoint)指令、單步執行(step run)指令、進入除錯模式指令,或其他的除錯指令。若上述判斷步驟皆為符合,則阻擋除錯指令而不執行(步驟S250)。若上述判斷步驟其中有一者不符合,則將除錯指令傳送給中央處理單元111執行(步驟S260)。也就是說,在第2圖中,步驟S230與步驟S240執行順序可以相互置換。於另一實施例中,可省略步驟S240,僅在步驟S230中判斷安全位元組的值顯示安全防護代碼區112a處於保護狀態時,則阻擋所有來自於除錯介面120的指令而不執行。
首先說明設置中斷點指令以及單步執行指令。當 中央處理單元111從晶片除錯器117接收到設置中斷點的指令後,會在安全防護代碼區112a的程式碼中的指定位置插入一個暫停執行的信號。接著,當中央處理單元111執行安全防護代碼區112a的程式碼並偵測到暫停執行的信號時,暫停整個程式碼的執行。當中央處理單元111從晶片除錯器117接收到單步執行的指令後,只會執行安全防護代碼區112a的下一個程式碼並暫停整個程式碼的執行。
於暫停執行時,使用者可透過晶片除錯器117讀取 儲存在靜態記憶體118中目前的變數值以及控制寄存器115中目前的內容,並藉以推測安全防護代碼區112所儲存的程式碼。 所以,為了避免安全防護代碼區112所儲存的程式碼被非授權使用者推測而得,設置中斷點的指令及單步執行的指令必須要在安全防護代碼區112a處於開放存取狀態下才允許被執行。此外,在安全防護代碼區112a處於保護狀態時,晶片除錯器117也可以藉由阻擋進入除錯模式的指令來避免以上所述的問題。
為了避免安全防護代碼區112a中的程式碼會被非 授權複製,快閃管理控制單元113會參考安全位元組的值來決定是否阻擋資料讀取指令。第3圖係依據本發明實施例之執行於快閃管理控制單元113中之保護非揮發性記憶體中儲存程式碼的方法流程圖。當接收到讀取安全防護代碼區112a中之程式碼的指令後(步驟S310),取得安全防護代碼區112a中之安全位元組的值(步驟S320)。於一實施例中,接收到的指令中可包含安全防護代碼區112a中的一段讀取位址。於步驟S310的一些實施例中,當中央處理單元111執行使用者代碼區112b中之程式碼時,中央處理單元111藉由設定控制寄存器115以指示快閃管理控制單元113存取安全防護代碼區112a的資料。熟習此技藝人士理解這種利用設定控制寄存器115來完成對安全防護代碼區的資料讀取及寫入係一種在線應用可編程技術(in application programming)。於步驟S310的另一些範例中,快閃管理控制單元113可從中央處理單元111接收讀取安全防護代碼區112a中之程式碼的指令。於步驟S310的更另一些實施例中,快閃管理控制單元113可從燒錄指令地址解碼器116接收讀取安全防護代碼區112a中之程式碼的指令,而此指令係由連接於 燒錄介面130的外部燒錄器(未繪示)發出。接著,根據安全位元組的值決定安全防護代碼區112a是否處於保護狀態(步驟S330)。 若是,則讀取並回覆中央處理單元111安全位元組的值(步驟S340),而不讀取所需的程式碼;否則讀取並回覆所需的程式碼(步驟S350)。於另一實施例中,步驟S340可包含回應一錯誤訊息。
雖然第1圖中包含了以上描述的元件,但不排除在 不違反發明的精神下,使用更多其他的附加元件,以達成更佳的技術效果。此外,在上述內容中雖以快閃記憶體為例作為說明,然而只要是非揮發記憶體皆可適用,例如EPROM、PROM、ROM、EEPROM等非揮發性記憶體。因此,在上述內容中所提到的快閃管理控制單元也可替換為非揮發性記憶體管理控制單元(NVMMC)用以控制非揮發性記憶體。此外,雖然第2圖、第3圖的流程圖採用特定的順序執行,但是在不違法發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。
雖然本發明使用以上實施例進行說明,但需要注 意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
10‧‧‧電子裝置
110‧‧‧微控制單元
111‧‧‧中央處理單元
112‧‧‧快閃記憶體
112a‧‧‧安全防護代碼區
112b‧‧‧使用者代碼區
113、114‧‧‧快閃管理控制單元
115‧‧‧控制寄存器
116‧‧‧燒錄指令地址解碼器
117‧‧‧晶片除錯器
118‧‧‧靜態記憶體
120‧‧‧除錯介面
130‧‧‧燒錄介面

Claims (12)

  1. 一種保護非揮發性記憶體中之儲存程式碼的裝置,包含:一非揮發性記憶體,包含一第一區域及一第二區域;一第一非揮發性記憶體管理控制單元耦接至上述第一區域;一第二非揮發性記憶體管理控制單元耦接至上述第二區域;以及一燒錄指令地址解碼器,耦接至上述第一非揮發性記憶體管理控制單元以及上述第二非揮發性記憶體管理控制單元,當接收到從一燒錄介面傳來之指示擦除上述第一區域的一第一指令時,指示上述第一非揮發性記憶體管理控制單元擦除上述第一區域中的資料;以及當接收到從上述燒錄介面傳來之指示擦除上述第二區域的一第二指令時,指示上述第二非揮發性記憶體管理控制單元擦除上述第二區域中的資料。
  2. 如申請專利範圍第1項所述的保護非揮發性記憶體中之儲存程式碼的裝置,其中,上述第一指令與上述第二指令係使用不同的指令代碼。
  3. 一種保護非揮發性記憶體中之儲存程式碼的裝置,包含:一非揮發性記憶體,包含一安全位元組,其中,上述安全位元組中的值被設定來表示上述非揮發性記憶體目前處於一開放存取狀態或一保護狀態;一非揮發性記憶體管理控制單元,耦接至上述非揮發性記憶體,用以存取上述非揮發性記憶體中儲存的資料; 一中央處理單元,耦接至上述非揮發性記憶體管理控制單元,用以指示上述非揮發性記憶體管理控制單元存取上述非揮發性記憶體中儲存的資料;以及一晶片除錯器,耦接至上述中央處理單元,當從一除錯介面接收到一除錯指令時,取得上述安全位元組的值;依據上述安全位元組的值進行至少一判斷;以及依據上述判斷的結果,決定是否阻擋上述除錯指令而不執行。
  4. 如申請專利範圍第3項所述的保護非揮發性記憶體中之儲存程式碼的裝置,其中,上述判斷為依據上述安全位元組的值決定上述非揮發性記憶體目前是否處於上述保護狀態,若否,則傳送上述除錯指令給上述中央處理單元執行。
  5. 如申請專利範圍第3項所述的保護非揮發性記憶體中之儲存程式碼的裝置,其中,上述判斷為依據上述安全位元組的值決定上述非揮發性記憶體目前是否處於上述保護狀態,若是則上述晶片除錯器阻擋上述除錯指令而不執行。
  6. 如申請專利範圍第3項所述的保護非揮發性記憶體中之儲存程式碼的裝置,其中,上述判斷為依據上述安全位元組的值決定上述非揮發性記憶體目前是否處於上述保護狀態以及決定上述除錯指令是否為一受限制指令,若兩者皆是則上述晶片除錯器阻擋上述除錯指令而不執行。
  7. 如申請專利範圍第6項所述的保護非揮發性記憶體中之儲存程式碼的裝置,其中,上述受限制指令為設中斷點指令、單步執行指令或進入除錯模式指令。
  8. 一種保護非揮發性記憶體中之儲存程式碼的裝置,包含: 一非揮發性記憶體,包含一安全位元組,其中,上述安全位元組中的值被設定來表示上述非揮發性記憶體目前處於一開放存取狀態或一保護狀態;一中央處理單元;以及一非揮發性記憶體管理控制單元,耦接至上述中央處理單元,用以取得讀取上述非揮發性記憶體中儲存之程式碼的一指令;上述非揮發性記憶體管理控制單元取得上述安全位元組的值;以及當上述安全位元組的值指出上述非揮發性記憶體目前處於上述保護狀態時,上述非揮發性記憶體管理控制單元讀取並回覆上述中央處理單元上述安全位元組的值,而不讀取上述非揮發性記憶體中儲存之程式碼。
  9. 如申請專利範圍第8項所述的保護非揮發性記憶體中之儲存程式碼的裝置,其中,當上述安全位元組的值指出上述非揮發性記憶體目前處於上述開放存取狀態時,上述非揮發性記憶體管理控制單元讀取並回覆上述中央處理單元上述非揮發性記憶體中儲存之程式碼。
  10. 如申請專利範圍第8項所述的保護非揮發性記憶體中之儲存程式碼的裝置,其中,上述中央處理單元耦接於上述控制寄存器,藉由設定上述控制寄存器以指示上述非揮發性記憶體管理控制單元存取上述非揮發性記憶體中儲存之程式碼。
  11. 如申請專利範圍第8項所述的保護非揮發性記憶體中之儲存程式碼的裝置,其中,上述中央處理單元於執行相應的指令時,向上述非揮發性記憶體管理控制單元發出讀取上 述非揮發性記憶體中儲存之程式碼的上述指令。
  12. 如申請專利範圍第8項所述的保護非揮發性記憶體中之儲存程式碼的裝置,更包含:一燒錄指令地址解碼器,耦接至上述非揮發性記憶體管理控制單元,其中,上述燒錄指令地址解碼器從一燒錄介面接收到相應的指令後,向上述非揮發性記憶體管理控制單元發出讀取上述非揮發性記憶體中儲存之程式碼的上述指令。
TW102142579A 2013-11-22 2013-11-22 保護非揮發性記憶體中儲存之程式碼的裝置 TWI530954B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
TW102142579A TWI530954B (zh) 2013-11-22 2013-11-22 保護非揮發性記憶體中儲存之程式碼的裝置
CN201410005297.0A CN104657685B (zh) 2013-11-22 2014-01-06 保护非易失性存储器中存储的程序代码的装置
CN201710499104.5A CN107392059B (zh) 2013-11-22 2014-01-06 保护非易失性存储器中存储的程序代码的装置
US14/227,154 US9430408B2 (en) 2013-11-22 2014-03-27 Apparatuses for securing program code stored in a non-volatile memory
US15/169,421 US9542113B2 (en) 2013-11-22 2016-05-31 Apparatuses for securing program code stored in a non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102142579A TWI530954B (zh) 2013-11-22 2013-11-22 保護非揮發性記憶體中儲存之程式碼的裝置

Publications (2)

Publication Number Publication Date
TW201521028A true TW201521028A (zh) 2015-06-01
TWI530954B TWI530954B (zh) 2016-04-21

Family

ID=53183677

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102142579A TWI530954B (zh) 2013-11-22 2013-11-22 保護非揮發性記憶體中儲存之程式碼的裝置

Country Status (3)

Country Link
US (2) US9430408B2 (zh)
CN (2) CN104657685B (zh)
TW (1) TWI530954B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919865B (zh) * 2017-03-02 2020-06-05 上海东软载波微电子有限公司 非易失性存储器数据加密系统
TWI676987B (zh) * 2018-08-06 2019-11-11 新唐科技股份有限公司 資料處理系統與資料處理方法
FR3087020A1 (fr) * 2018-10-09 2020-04-10 Stmicroelectronics (Grenoble 2) Sas Procede d'acces a une memoire
TWI774503B (zh) * 2021-08-06 2022-08-11 瑞昱半導體股份有限公司 除錯管理平台與其運作方法
CN115083463B (zh) * 2022-08-23 2022-11-08 旋智电子科技(上海)有限公司 用于控制存储器访问权限的方法、电子系统和存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6505279B1 (en) 1998-08-14 2003-01-07 Silicon Storage Technology, Inc. Microcontroller system having security circuitry to selectively lock portions of a program memory address space
US7171542B1 (en) * 2000-06-19 2007-01-30 Silicon Labs Cp, Inc. Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins
JP4188744B2 (ja) * 2003-04-08 2008-11-26 株式会社ルネサステクノロジ メモリカード
JP2005079912A (ja) * 2003-08-29 2005-03-24 Matsushita Electric Ind Co Ltd セキュアデータ管理装置
US20060047885A1 (en) * 2004-08-27 2006-03-02 Vanguard International Semiconductor Corporation Configurable memory module and method for configuring the same
US7757231B2 (en) * 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
JP4757863B2 (ja) * 2005-02-25 2011-08-24 三菱電機株式会社 エレベータ装置
US8099574B2 (en) * 2006-12-27 2012-01-17 Intel Corporation Providing protected access to critical memory regions
US8397303B2 (en) * 2008-04-18 2013-03-12 Panasonic Corporation Memory controller, nonvolatile storage system, and data management method
CN101685381B (zh) * 2008-09-26 2013-07-24 美光科技公司 固态大容量存储装置的数据串流
US9092649B2 (en) * 2009-03-02 2015-07-28 Macronix International Co., Ltd. Data protecting method capable of effectively recording protection information and memory using thereof
KR101600539B1 (ko) * 2009-04-07 2016-03-08 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
KR20110102734A (ko) * 2010-03-11 2011-09-19 삼성전자주식회사 오티피 록 비트 레지스터를 구비한 불휘발성 반도체 메모리 장치
EP2761465B1 (en) * 2011-09-30 2022-02-09 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US9471812B2 (en) * 2012-03-06 2016-10-18 Freescale Semiconductor, Inc. Method for implementing security of non-volatile memory
US20140317372A1 (en) * 2013-04-23 2014-10-23 Broadcom Corporation Data frame security

Also Published As

Publication number Publication date
US20150149703A1 (en) 2015-05-28
US9430408B2 (en) 2016-08-30
CN104657685B (zh) 2018-05-15
CN107392059A (zh) 2017-11-24
US9542113B2 (en) 2017-01-10
CN107392059B (zh) 2020-07-10
CN104657685A (zh) 2015-05-27
TWI530954B (zh) 2016-04-21
US20160274811A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
JP6306578B2 (ja) メモリ保護装置及び保護方法
US10324864B2 (en) Storage system and method for performing and authenticating write-protection thereof
US10747687B2 (en) Storage system and method for performing and authenticating write-protection thereof
CN110457236B (zh) 存储系统以及对存储系统执行和验证写保护的方法
TWI530954B (zh) 保護非揮發性記憶體中儲存之程式碼的裝置
KR101622416B1 (ko) 주변 디바이스 록킹 메커니즘
US20020129195A1 (en) Microcomputer with built-in programmable nonvolatile memory
JP2015032317A (ja) データ記憶装置とアクセス制御方法
JP2009505303A (ja) 組み込みメモリ保護
CN102207913B (zh) 嵌入式系统中写保护的控制方法和装置
KR100604877B1 (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
CN107451494B (zh) 一种芯片改写设备的数据保护方法、电子设备及存储介质
CN108319520A (zh) 基于安全存储的移动设备备用操作系统
TW202013196A (zh) 資料處理裝置及其資料保護方法
TW201525870A (zh) 可更新積體電路無線電
CN106919865B (zh) 非易失性存储器数据加密系统
JP2013149137A (ja) マイクロコンピュータ、メモリ装置、不正メモリアクセス検出方法
US9400758B2 (en) Reset method and network device
CN113467844A (zh) 适用于工业级应用场景的嵌入式系统的控制方法、嵌入式系统和计算机可读存储介质
CN110888653A (zh) 存储器中固件读写的控制方法、系统、电子设备、芯片
CN104156241B (zh) 处理器微程序的初始化配置方法及系统
JP2011150457A (ja) 情報処理装置およびメモリアクセス制御方法
TWI783176B (zh) 用來管理支援資料儲存的安全程式庫的方法與電子裝置
TWI446351B (zh) 資料寫入方法與電腦系統
JP2010225182A (ja) 半導体装置