TWI845325B - 控制電路及控制方法 - Google Patents
控制電路及控制方法 Download PDFInfo
- Publication number
- TWI845325B TWI845325B TW112120206A TW112120206A TWI845325B TW I845325 B TWI845325 B TW I845325B TW 112120206 A TW112120206 A TW 112120206A TW 112120206 A TW112120206 A TW 112120206A TW I845325 B TWI845325 B TW I845325B
- Authority
- TW
- Taiwan
- Prior art keywords
- setting value
- protection
- write
- specific
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
一種控制電路,包括一儲存電路、一暫存器以及一寫入保護邏輯電路。儲存電路儲存一資料、一致能設定值以及一模式設定值。暫存器儲存一保護設定值。寫入保護邏輯電路在接收到一寫入指令時,根據模式設定值,決定是否改變致能設定值、模式設定值以及保護設定值之至少一者。當模式設定值符合一預設值時,寫入保護邏輯電路根據寫入指令及保護設定值,改變致能設定值、模式設定值以及保護設定值之至少一者。當模式設定值不符合預設值時,寫入保護邏輯電路不改變致能設定值以及模式設定值。
Description
本發明是關於一種控制電路,特別是關於一種提供安全保護功能的控制電路。
一般而言,電腦的記憶體分為揮發性記憶體與非揮發性記憶體。非揮發性記憶體包括,唯讀記憶體(ROM)、可程式化唯讀記憶體(PROM)、可擦除可程式化唯讀記憶體(EPROM)以及快閃記憶體(Flash memory)。揮發性記憶體包括動態隨機存取記憶體(DRAM)以及靜態隨機存取記憶體(SRAM)。
然而,不論是揮發性記憶體或是非揮發性記憶體,使用者很有可能誤寫記憶體所儲存的資料,造成記憶體儲存錯誤的資料。另外,記憶體的資料也可能遭到惡意竄改。
本發明之一實施例提供一種控制電路,包括一儲存電路、一暫存器以及一寫入保護邏輯電路。儲存電路儲存一資料、一致能設定值以及一模式設定值。暫存器儲存一保護設定值。寫入保護邏輯電路在接收到一寫入指令時,根據模式設定值,決定是否改變致能設定值、模式設定值以及保護設定值之至少一者。當模式設定值符合一預設值時,寫入保護邏輯電路根據寫入指令及保護設定值,改變致能設定值、模式設定值以及保護設定值之至少一者。當模式設定值不符合預設值時,寫入保護邏輯電路不改變致能設定值以及模式設定值。
本發明另提供一種控制方法,適用於一寫入保護邏輯電路,用以調整一致能設定值、一模式設定值以及一保護設定值之至少一者。致能設定值及模式設定值儲存於一儲存電路中。保護定值儲存於一暫存器中。暫存器獨立於儲存電路之外。本發明之控制方法包括,接收並解碼一輸入指令;當輸入指令為一寫入指令時,讀取模式設定值;判斷模式設定值是否符合一預設值;當模式設定值符合預設值時,根據寫入指令及保護設定值,改變致能設定值、模式設定值以及保護設定值之至少一者;當模式設定值不符合預設值時,維持致能設定值及模式設定值。
本發明之控制方法可經由本發明之控制電路及寫入保護邏輯電路來實作,其為可執行特定功能之硬體或韌體,亦可以透過程式碼方式收錄於一紀錄媒體中,並結合特定硬體來實作。當程式碼被電子裝置、處理器、電腦或機器載入且執行時,電子裝置、處理器、電腦或機器變成用以實行本發明之控制電路及寫入保護邏輯電路。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出實施例,並配合所附圖式,做詳細之說明。本發明說明書提供不同的實施例來說明本發明不同實施方式的技術特徵。其中,實施例中的各元件之配置係為說明之用,並非用以限制本發明。另外,實施例中圖式標號之部分重覆,係為了簡化說明,並非意指不同實施例之間的關聯性。
第1A圖為本發明之控制電路的示意圖。如圖所示,控制電路100包括一寫入保護邏輯電路110、一暫存器120以及一儲存電路130。儲存電路130儲存一致能設定值CFG_ENABLE、一模式設定值CFG_LEVEL以及一資料DA。本發明並不限定儲存電路130的架構。在一可能實施例中,儲存電路130包括一控制電路131以及一記憶陣列132。
本發明並不限定記憶陣列132的種類。在一些實施例中,記憶陣列132係為一非揮發性記憶體(Non-Volatile Memory;NVM)。在本實施例中,記憶陣列132具有記憶區塊BK1~BK6,但並非用以限制本發明。在其它實施例中,記憶陣列132具有更多或更少的記憶區塊。
記憶區塊BK2儲存致能設定值CFG_ENABLE。致能設定值CFG_ENABLE用以表示記憶陣列132的哪些記憶區塊的資料是受到保護。在本實施例中,控制電路131將致能設定值CFG_ENABLE複製到暫存器120,作為保護設定值121。
記憶區塊BK3儲存模式設定值CFG_LEVEL。模式設定值CFG_LEVEL用以指示寫入保護邏輯電路110的操作模式。在本實施例中,寫入保護邏輯電路110根據模式設定值CFG_LEVEL,進入相對應的保護模式。
記憶區塊BK5儲存資料DA。在一些實施例中,控制電路131根據輸入指令CM_IN,存取資料DA。舉例而言,當輸入指令CM_IN係為一讀取指令時,控制電路131進入一讀取模式。在讀取模式下,控制電路131根據輸入指令CM_IN的一位址資訊,讀取相對應的記憶區塊(如記憶區塊BK5)的資料。當輸入指令CM_IN係為一寫入指令時,控制電路131進入一寫入模式。在寫入模式下,控制電路131根據輸入指令CM_IN的一位址資訊,將輸入指令CM_IN的一資料資訊寫入相對應的記憶區塊(如記憶區塊BK5)。
本發明並不限定致能設定值CFG_ENABLE與模式設定值CFG_LEVEL的儲存位置。在一些實施例中,致能設定值CFG_ENABLE與模式設定值CFG_LEVEL可能儲存於同一記憶區塊中。在其它實施例中,致能設定值CFG_ENABLE與模式設定值CFG_LEVEL係為二進制數值。致能設定值CFG_ENABLE與模式設定值CFG_LEVEL可能具有複數位元(bit)。
在一可能實施例中,當一特定事件發生時,控制電路131進入一抹除模式。在抹除模式下,控制電路131執行一抹除操作,如群體抹除(mass erase)操作,用以抹除記憶區塊BK1~BK6的資料。在抹除操作後,模式設定值CFG_LEVEL等於一第一初始值,並且致能設定值CFG_ENABLE等於一第二初始值。在此例中,控制電路131可能根據輸入指令CM_IN,改變致能設定值CFG_ENABLE及模式設定值CFG_LEVEL。
暫存器120儲存保護設定值121。在本實施例中,暫存器120獨立於儲存電路130之外。在控制電路100A下電時,暫存器120的保護設定值121會被清除。因此,在控制電路100A上電後,控制電路131將記憶區塊BK2的致能設定值CFG_ENABLE複製到暫存器120,作為新的保護設定值121。
寫入保護邏輯電路110透過控制電路131,讀取區塊BK3的模式設定值CFG_LEVEL,並根據模式設定值CFG_LEVEL進入相對應的保護模式。舉例而言,當模式設定值CFG_LEVEL符合一第一預設值時,寫入保護邏輯電路110進入一第一保護模式。在第一保護模式下,寫入保護邏輯電路110根據輸入指令CM_IN,改變模式設定值CFG_LEVEL、致能設定值CFG_ENABLE以及保護設定值121之至少一者。
舉例而言,在第一保護模式下,當輸入指令CM_IN係為一寫入指令,並且寫入指令的位址資訊對應暫存器120時,寫入保護邏輯電路110根據輸入指令CM_IN的資料資訊,改變保護設定值121。在一可能實施例中,寫入保護邏輯電路110將輸入指令CM_IN的資料資訊寫入暫存器120,用以取代保護設定值121。當輸入指令CM_IN的位址資訊對應記憶區塊BK2或BK3時,寫入保護邏輯電路110提供輸入指令CM_IN予儲存電路130。控制電路131根據輸入指令CM_IN的資料資訊,改變致能設定值CFG_ENABLE或模式設定值CFG_LEVEL。
在另一可能實施例中,在第一保護模式下,當輸入指令CM_IN係為一寫入指令,並且輸入指令CM_IN的位址資訊對應記憶區塊BK2或BK3時,寫入保護邏輯電路110根據保護設定值121,決定是否改變致能設定值CFG_ENABLE或模式設定值CFG_LEVEL。
以致能設定值CFG_ENABLE為例,假設寫入指令的位址資訊對應記憶區塊BK2。在此例中,寫入保護邏輯電路110判斷保護設定值121是否符合一第一特定值。當保護設定值121符合一第一特定值時,表示記憶區塊BK2受到保護。因此,寫入保護邏輯電路110不提供輸入指令CM_IN予儲存電路130。如果保護設定值121不等於第一特定值時,表示記憶區塊BK2未受到保護。因此,寫入保護邏輯電路110提供輸入指令CM_IN予儲存電路130。控制電路131根據輸入指令CM_IN的位址資訊及資料資訊,改變致能設定值CFG_ENABLE。
另外,在第一保護模式下,寫入保護邏輯電路110根據保護設定值121,決定是否改變記憶區塊BK1、BK4~BK6的資料。舉例而言,假設,保護設定值121指示記憶區塊BK5為一保護區塊。在此例中,由於記憶區塊BK1、BK4及BK6為未保護區塊,故當輸入指令CM_IN係為一寫入指令,並且指向記憶區塊BK1、BK4或BK6時,寫入保護邏輯電路110提供輸入指令CM_IN予儲存電路130。控制電路131根據輸入指令CM_IN的資料資訊,改變記憶區塊BK1、BK4或BK6所儲存的資料。然而,當輸入指令CM_IN的位址資訊指向記憶區塊BK5時,由於記憶區塊BK5為保護區塊,故寫入保護邏輯電路110不提供輸入指令CM_IN予儲存電路130。由於控制電路131不會改變資料DA,故可保護資料DA的完整性,並可避免使用者誤改寫資料DA,也可避免資料DA受到惡意竄改。
在其它實施例中,當模式設定值CFG_LEVEL不符合第一預設值時,寫入保護邏輯電路110不改變致能設定值CFG_ENABLE及模式設定值CFG_LEVEL。此時,即使輸入指令CM_IN的位址資訊指向記憶區塊BK2或BK3時,寫入保護邏輯電路110不提供輸入指令CM_IN予儲存電路130。因此,儲存電路130維持致能設定值CFG_ENABLE及模式設定值CFG_LEVEL。在此例中,寫入保護邏輯電路110根據保護設定值121,決定是否改變記憶區塊BK1、BK4~BK6的資料。舉例而言,假設,保護設定值121指示記憶區塊BK5為一保護區塊。在此例中,由於記憶區塊BK1、BK4及BK6為未保護區塊,故當輸入指令CM_IN的位址資訊指向記憶區塊BK1、BK4或BK6時,寫入保護邏輯電路110提供輸入指令CM_IN予儲存電路130。控制電路131根據輸入指令CM_IN,改變記憶區塊BK1、BK4或BK6所儲存的資料。當輸入指令CM_IN的位址資訊指向記憶區塊BK5時,由於記憶區塊BK5為保護區塊,故寫入保護邏輯電路110不提供輸入指令CM_IN予儲存電路130。因此,控制電路131維持資料DA。
在一些實施例中,當輸入指令CM_IN指向儲存電路130時,寫入保護邏輯電路110直接將輸入指令CM_IN提供予控制電路131。控制電路131解碼輸入指令CM_IN,並根據解碼後的位址資訊以及資料資訊,改變相對應的記憶區塊所儲存的資料。在另一可能實施例中,當輸入指令CM_IN係為一讀取指令時,控制電路131根據輸入指令CM_IN的位址資訊,讀取並輸出相對應的記憶區塊的資料。
在其它實施例中,當模式設定值CFG_LEVEL不符合第一預設值時,寫入保護邏輯電路110判斷模式設定值CFG_LEVEL是否符合一第二預設值(不同於第一預設值)。當模式設定值CFG_LEVEL符合第二預設值時,寫入保護邏輯電路110進入一第二保護模式。
在第二保護模式下,寫入保護邏輯電路110不改變致能設定值CFG_ENABLE、模式設定值CFG_LEVEL以及保護設定值121。在此模式下,即使輸入指令CM_IN的位址資訊指向暫存器120、記憶區塊BK2或BK3,寫入保護邏輯電路110不改變保護設定值121,也不提供輸入指令CM_IN予儲存電路130。因此,暫存器120、記憶區塊BK2及BK3的資料受到保護。
當一特定事件發生時,控制電路131進入一抹除模式。在抹除模式下,控制電路131抹除記憶區塊BK1~BK6。由於記憶區塊BK3的模式設定值CFG_LEVEL不符合第二預設值,故寫入保護邏輯電路110離開第二保護模式。在一些實施例中,控制電路131在抹除記憶區塊BK3後,設定模式設定值CFG_LEVEL等於第一預設值。因此,寫入保護邏輯電路110進入第一保護模式。
本發明並不限定寫入保護邏輯電路110的架構。在一可能實施例中,寫入保護邏輯電路110包括一解碼電路111以及一判斷電路112。解碼電路111解碼輸入指令CM_IN,用以得知輸入指令CM_IN的類型(寫入指令或是讀取指令)、一位址資訊以及一資料資訊。本發明並不限定解碼電路111的架構。任何具有解碼指令功能的電路架構,均可作為解碼電路111。
判斷電路112根據模式設定值CFG_LEVEL,進入相對應的保護模式。舉例而言,當模式設定值CFG_LEVEL符合第一預設值時,判斷電路112進入第一保護模式。在第一保護模式下,當輸入指令CM_IN為一寫入指令時,判斷電路112根據寫入指令的位址資訊,修改模式設定值CFG_LEVEL、致能設定值CFG_ENABLE或保護設定值121。舉例而言,當寫入指令的位址資訊對應暫存器120時,判斷電路112根據寫入指令的資料資訊,改變保護設定值121。當寫入指令的位址資訊對應記憶區塊BK2或BK3時,判斷電路112提供輸入指令CM_IN予儲存電路130,用以改變記憶區塊BK2或BK3的資料。
在其它實施例中,在第一保護模式下,判斷電路112判斷保護設定值121是否符合一第一特定值。當保護設定值121符合第一特定值時,即使寫入指令的位址資訊對應暫存器120、記憶區塊BK2或BK3,判斷電路112不根據寫入指令,修改保護設定值121,也不提供輸入指令CM_IN予儲存電路130。當保護設定值121不符合第一特定值時,判斷電路112可能改變保護設定值121,或是提供輸入指令CM_IN予儲存電路130。
在第二保護模式下,當輸入指令CM_IN係為一寫入指令,並且寫入指令的位址資訊指向記憶區塊BK2、BK3或是暫存器120時,判斷電路112不提供輸入指令CM_IN予儲存電路130,也不修改保護設定值121。
在第一及二保護模式下,判斷電路112根據保護設定值121,決定是否改變記憶區塊BK1、BK4~BK6的資料。舉例而言,假設,保護設定值121指示記憶區塊BK5為一被保護區塊。在此例中,由於記憶區塊BK1、BK4及BK6為未保護區塊,故當寫入指令的位址資訊指向記憶區塊BK1、BK4或BK6時,判斷電路112提供輸入指令CM_IN予儲存電路130。因此,控制電路131根據寫入指令的資料資訊,改變記憶區塊BK1、BK4或BK6所儲存的資料。然而,當寫入指令的位址資訊指向記憶區塊BK5時,由於記憶區塊BK5為被保護區塊,故判斷電路112不提供輸入指令CM_IN予儲存電路130。因此,控制電路131維持資料DA,用以保護資料DA的完整性。
第1B圖為本發明之控制電路另一示意圖。第1B圖相似第1A圖,不同之處在於,第1B圖多了一暫存器140。暫存器140獨立於儲存電路130之外。在本實施例中,暫存器140儲存一保護設定值141。保護設定值141用以指示暫存器120是否受到保護。
舉例而言,在第一保護模式下,當寫入指令的位址資訊指向暫存器120時,寫入保護邏輯電路110判斷保護設定值141是否符合一第二特定值。當保護設定值141符合第二特定值時,表示暫存器120受到保護。因此,寫入保護邏輯電路110不修改保護設定值121。在此例中,由於保護設定值121固定等於第一特定值,故可避免儲存電路130裡的特定記憶區塊的資料受到竄改。當保護設定值141不符合第二特定值時,表示暫存器120未受到保護。此時,如果寫入指令的位址資訊指向暫存器120時,寫入保護邏輯電路110以寫入指令的一資料資訊取代保護設定值121。
在其它實施例中,寫入保護邏輯電路110判斷模式設定值CFG_LEVEL是否符合一第三預設值。當模式設定值CFG_LEVEL符合第三預設值時,寫入保護邏輯電路110進入一第三保護模式。在第三保護模式下,寫入保護邏輯電路110偵測一特定接腳150的電壓位準VP。
當特定接腳150的電壓位準VP符合一特定位準(如高位準),表示暫存器120的保護設定值121受到保護。此時,如果寫入指令的位址資訊指向暫存器120,寫入保護邏輯電路110不根據寫入指令,修改保護設定值121。
然而,當特定接腳150的電壓位準VP不符合一特定位準(如電壓位準VP為一低位準),表示保護設定值121未受到保護。此時,如果寫入指令的位址資訊指向暫存器120,寫入保護邏輯電路110根據寫入指令的一資料資訊,修改保護設定值121。
另外,在第三保護模式下,寫入保護邏輯電路110不修改模式設定值CFG_LEVEL及致能設定值CFG_ENABLE。在此例中,即使寫入指令的位址資訊指向記憶區塊BK2或BK3時,寫入保護邏輯電路110不提供輸入指令CM_IN予儲存電路130。
在第三保護模式下,寫入保護邏輯電路110根據保護設定值121,存取儲存電路130。舉例而言,假設保護設定值121指示記憶區塊BK1及BK5為一保護區塊。在此例中,由於記憶區塊BK4及BK6為未保護區塊,故當寫入指令的位址資訊指向記憶區塊BK4或BK6時,寫入保護邏輯電路110提供輸入指令CM_IN予儲存電路130。控制電路131根據寫入指令的資料資訊,改變記憶區塊BK4或BK6所儲存的資料。然而,當寫入指令的位址資訊指向記憶區塊BK1或BK5時,由於記憶區塊BK1及BK5為保護區塊,故寫入保護邏輯電路110不提供輸入指令CM_IN予儲存電路130。因此,控制電路131維持記憶區塊BK1及BK5的資料。
在其它實施例中,寫入保護邏輯電路110判斷模式設定值CFG_LEVEL是否符合一第四預設值。當模式設定值CFG_LEVEL符合第四預設值時,寫入保護邏輯電路110進入一第四保護模式。在第四保護模式下,寫入保護邏輯電路110偵測特定接腳150的電壓位準VP。
當特定接腳150的電壓位準VP符合一特定位準(如高位準),表示暫存器120受到保護,並且不允許儲存電路130執行一抹除操作。此時,如果寫入指令的位址資訊指向暫存器120,寫入保護邏輯電路110不改變保護設定值121。另外,當一特定事件發生時,儲存電路130不執行抹除操作。
然而,當特定接腳150的電壓位準VP不符合一特定位準(如電壓位準VP為一低位準)時,表示暫存器120未受到保護,並且允許儲存電路130執行抹除操作。此時,如果寫入指令的位址資訊指向暫存器120,寫入保護邏輯電路110可能將寫入指令的一資料資訊寫入暫存器120,用以取代保護設定值121。另外,當一特定事件發生時,儲存電路130進入一抹除模式,用以執行一抹除操作。
本發明並不限定儲存電路130如何判斷特定事件是否發生。在一可能實施例中,儲存電路130根據一特定暫存器(未顯示)的數值,得知特定事件已發生。舉例而言,當特定事件發生時,一中央處理器(未顯示)設定該特定暫存器的數值為一第三特定值(如1)。因此,儲存電路130進入一抹除模式。在抹除模式下,儲存電路130執行一抹除操作,用以清除記憶陣列132的記憶區塊BK1~BK6的資料。然而,當特定事件未發生時,中央處理器設定該特定暫存器的數值不為第三特定值。因此,儲存電路130不執行抹除操作。
在一些實施例中,在第四保護模式下,當特定接腳150的電壓位準VP符合一特定位準,即使特定事件發生,中央處理器不設定該特定暫存器的數值為第三特定值。在另一可能實施例中,寫入保護邏輯電路110設定特定暫存器的數值為一第四特定值。由於特定暫存器的數值不為第三特定值,故儲存電路130不執行抹除操作。在此例中,即使特定事件發生,中央處理器無法改變該特定暫存器的數值。
本發明並不限定特定事件的種類。在一可能實施例中,特定事件係指儲存電路130遭受不合法存取或是一特定指令(如ISP指令)被執行。舉例而言,當使用者多次存取儲存電路130的資料,且存取的次數達一目標值,表示儲存電路130受到不合法存取。因此,一中央處理器設定該特定暫存器的數值為第三特定值,用以觸發控制電路131執行抹除操作。
在一可能實施例中,在完成抹除操作後,致能設定值CFG_ENABLE等於一初始值,並且模式設定值CFG_LEVEL符合第一預設值。此時,合法的使用者可能透過輸入指令CM_IN,改寫致能設定值CFG_ENABLE與模式設定值CFG_LEVEL,並將新的資料寫入相對應的記憶區塊(如BK5)。當控制電路100重新上電時,在接收輸入指令CM_IN前,寫入保護邏輯電路110要求儲存電路130輸出致能設定值CFG_ENABLE予暫存器120。此時,致能設定值CFG_ENABLE作為新的保護設定值121。因此,在輸入指令CM_IN進入寫入保護邏輯電路110前,記憶區塊BK1~BK6的資料已受到保護。
另外,在第四保護模式下,寫入保護邏輯電路110不修改模式設定值CFG_LEVEL及致能設定值CFG_ENABLE。在此例中,即使寫入指令的位址資訊指向記憶區塊BK2或BK3時,寫入保護邏輯電路110不傳送輸入指令CM_IN予儲存電路130。
在第四保護模式下,寫入保護邏輯電路110根據保護設定值121,存取儲存電路130。舉例而言,假設保護設定值121指示記憶區塊BK5及BK6為保護區塊。在此例中,由於記憶區塊BK1及BK4為未保護區塊,故當寫入指令的位址資訊指向記憶區塊BK1或BK4時,寫入保護邏輯電路110提供輸入指令CM_IN予儲存電路130。因此,控制電路131根據寫入指令的資料資訊,改變記憶區塊BK1或BK4所儲存的資料。然而,當寫入指令的位址資訊指向記憶區塊BK5或BK6時,由於記憶區塊BK5及BK6為保護區塊,故寫入保護邏輯電路110不提供輸入指令CM_IN予儲存電路130。因此,記憶區塊BK5與BK6的資料不會被改變。
在其它實施例中,控制電路100具有複數接腳(未顯示)。該等接腳之任一者可作為特定接腳150。在此例中,當寫入保護邏輯電路110操作於第三或第四保護模式時,寫入保護邏輯電路110解碼模式設定值CFG_LEVEL,用以得知一接腳資訊,並根據該接腳資訊,選擇該等接腳之一者,並將選擇的接腳作為特定接腳150。
第2圖為本發明之控制方法的流程示意圖。本發明的控制方法可以透過程式碼存在。當程式碼被機器載入且執行時,機器變成用以實行本發明的寫入保護邏輯電路。本發明的寫入保護邏輯電路耦接一儲存電路以及一第一暫存器。第一暫存器獨立於儲存電路之外。
在一可能實施例中,儲存電路具有複數記憶區塊,並儲存一模式設定值以及一致能設定值。模式設定值以及致能設定值可能儲存於同一或是不同記憶區塊中。模式設定值用以指示寫入保護邏輯電路的操作模式。致能設定值用以表示儲存電路的哪些記憶區塊為保護區塊。為方便說明,假設致能設定值儲存於一第一記憶區塊,模式設定值儲存於一第二記憶區塊。另外,第一暫存器儲存一第一保護設定值。
首先,接收並解碼一輸入指令(步驟S211)。在一可能實施例中,步驟S211解碼輸入指令,用以得知輸入指令的種類(讀取指令或是寫入指令)。另外,寫入保護邏輯電路根據輸入指令,得知一位址資訊以及一資料資訊。
當輸入指令為一寫入指令時,寫入保護邏輯電路讀取儲存電路裡的模式設定值(步驟S212),並判斷模式設定值是否符合一第一預設值(步驟S213)。當模式設定值符合第一預設值時,寫入保護邏輯電路進入一第一保護模式(步驟S214)。
在第一保護模式下,寫入保護邏輯電路根據輸入指令(即一寫入指令),改變致能設定值、模式設定值以及第一保護設定值之至少一者。舉例而言,當寫入指令的位址資訊指向第一或第二記憶區塊時,寫入保護邏輯電路提供輸入指令予儲存電路。儲存電路再根據輸入指令的資料資訊,更新第一記憶區塊的致能設定值或第二記憶區塊的模式設定值。當寫入指令的位址資訊指向第一暫存器時,寫入保護邏輯電路根據寫入指令的資料資訊,更新第一暫存器的第一保護設定值。
在另一可能實施例中,當寫入指令的位址資訊指向第一或第二記憶區塊時,寫入保護邏輯電路根據第一保護設定值,決定是否更新致能設定值與模式設定值。舉例而言,當第一保護設定值符合一第一特定值時,表示第一及第二記憶區塊的資料受到保護。因此,即使寫入指令的位址資訊指向第一或第二記憶區塊,寫入保護邏輯電路不提供輸入指令予儲存電路。因此,第一或第二記憶區塊的資料(即致能設定值或模式設定值)不會被改變。當第一保護設定值不符合第一特定值時,表示第一及第二記憶區塊的資料未受到保護。因此,寫入保護邏輯電路110提供輸入指令予儲存電路。儲存電路再根據寫入指令的位址資訊,更新第一或第二記憶區塊。
在其它實施例中,在第一保護模式下,寫入保護邏輯電路讀取一第二暫存器所儲存的第二保護設定值。寫入保護邏輯電路判斷第二保護設定值是否符合一第二特定值。當第二保護設定值符合第二特定值時,表示第一暫存器所儲存的第一保護設定值受到保護。因此,即使寫入指令的位址資訊指向第一暫存器,寫入保護邏輯電路不修改第一暫存器的第一保護設定值。當第二保護設定值不符合第二特定值時,表示第一暫存器所儲存的第一保護設定值未受到保護。因此,當寫入指令的位址資訊指向第一暫存器時,寫入保護邏輯電路根據寫入指令的資料資訊,修改第一暫存器的第一保護設定值。
當模式設定值不符合第一預設值時,寫入保護邏輯電路維持致能設定值及模式設定值(步驟S215)。在一可能實施例中,即使寫入指令的位址資訊指向第一或第二記憶區塊時,寫入保護邏輯電路不提供輸入指令予儲存電路。因此,第一及第二記憶區塊的資料不會被改變。在其它實施例中,步驟S215更維持第一暫存器的第一保護設定值。在此例中,即使寫入指令的位址資訊指向第一暫存器時,寫入保護邏輯電路不改變第一保護設定值。
在一些實施例中,當寫入指令的位址資訊指向儲存電路的一特定記憶區塊時,寫入保護邏輯電路根據第一保護設定值,判斷儲存電路的哪些特定記憶區塊的資料受到保護。舉例而言,當保護設定值符合第一特定值時,表示儲存電路的至少一特定記憶區塊的資料受到保護。因此,當寫入指令的位址資訊指向受到保護的特定記憶區塊時,寫入保護邏輯電路不提供輸入指令予儲存電路。因此,儲存電路裡受到保護的記憶區塊的資料不會被改變。
在其它實施例中,當模式設定值不符合第一預設值時,寫入保護邏輯電路判斷模式設定值是否符合一第二預設值。當模式設定值符合第二預設值時,寫入保護邏輯電路進入第二保護模式。在第二保護模式下,即使寫入指令的位址資訊指向第一記憶區塊、第二記憶區塊或是第一暫存器,致能設定值、模式設定值或是第一保護設定值不會被改變。
在一些實施例中,當模式設定值不符合第二預設值時,寫入保護邏輯電路判斷模式設定值是否符合一第三預設值。當模式設定值符合第三預設值時,寫入保護邏輯電路進入第三保護模式。在第三保護模式下,寫入保護邏輯電路偵測複數接腳中之一特定接腳的電壓位準。當特定接腳的電壓位準符合一特定位準時,表示第一暫存器所儲存的第一保護設定值受到保護。因此,即使寫入指令的位址資訊指向第一暫存器,寫入保護邏輯電路不修改第一暫存器的第一保護設定值。然而,當特定接腳的電壓位準不符合特定位準時,表示第一暫存器未受到保護。因此,當寫入指令的位址資訊指向第一暫存器時,寫入保護邏輯電路可能以寫入指令的資料資訊取代第一保護設定值。
另外,在第三保護模式下,即使寫入指令的位址資訊指向第一或第二記憶區塊,第一或第二記憶區塊的資料不會被改變。在一可能實施例中,在第三保護模式下,寫入保護邏輯電路根據第一暫存器的第一保護設定值,決定是否改變儲存電路的第三記憶區塊的資料。舉例而言,當第一保護設定值表示第三記憶區塊受到保護時,即使寫入指令的位址資訊指向第三記憶區塊,寫入保護邏輯電路不提供輸入指令予儲存電路。因此,第三記憶區塊的資料不會被改變。當第一保護設定值表示第三記憶區塊未受到保護,如果寫入指令的位址資訊指向第三記憶區塊,寫入保護邏輯電路提供輸入指令予儲存電路。儲存電路再根據寫入指令的資料資訊,改變第三記憶區塊的資料。
在其它實施例中,當模式設定值不符合第三預設值時,寫入保護邏輯電路判斷模式設定值是否符合一第四預設值。當模式設定值符合第四預設值時,寫入保護邏輯電路進入第四保護模式。在第四保護模式下,寫入保護邏輯電路偵測複數接腳中之一特定接腳的電壓位準。
在第四保護模式下,當特定接腳的電壓位準符合一特定位準時,表示第一暫存器所儲存的第一保護設定值受到保護,並且禁止儲存電路執行一抹除操作。此時,即使寫入指令的位址資訊指向第一暫存器,寫入保護邏輯電路不修改第一暫存器的第一保護設定值。在另一可能實施例中,即使寫入指令的位址資訊指向第一或第二記憶區塊,儲存電路不改變致能設定值及模式設定值。另外,在第四保護模式下,當特定接腳的電壓位準符合一特定位準時,即使發生一特定事件,儲存電路不執行抹除操作。因此,儲存電路裡的資料維持不變。
在第四保護模式下,當特定接腳的電壓位準不符合該特定位準,表示第一暫存器未受到保護,並且儲存電路可執行一抹除操作。因此,當寫入指令的位址資訊指向第一暫存器,寫入保護邏輯電路根據寫入指令的資料資訊,修改第一暫存器的第一保護設定值。在一可能實施例中,寫入保護邏輯電路以寫入指令的資料資訊取代第一保護設定值。
另外,當一特定事件發生時,儲存電路執行一抹除操作,用以抹除所有記憶區塊的資料。在抹除操作後,儲存電路設定第一記憶區塊的致能設定值等於一初始值,並設定第二記憶區塊的模式設定值等於第一預設值。此時,使用者將資料寫入儲存電路的其它記憶區塊中。使用者根據資料的重要性,設定第一記憶區塊的致能設定值,用以保護特定記憶區塊的資料。
在其它實施例中,在第四保護模式下,寫入保護邏輯電路解碼模式設定值,用以得到一接腳資訊。寫入保護邏輯電路根據接腳資訊,從多個接腳中選擇一者作為一特定接腳,並偵測該特定接腳的電壓位準。
由於第一暫存器的第一保護設定值與抹除操作都受到了保護,故可提高儲存電路的資料安全性。再者,特定接腳的電壓位準係由一可信任的外部裝置設定,便於使用者啟動保護功能。在不同保護模式下,寫入保護邏輯電路提供不同層級的保護,增加了使用者的設定彈性。
本發明之控制方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之控制電路及寫入保護邏輯電路。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之控制電路及寫入保護邏輯電路。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
除非另作定義,在此所有詞彙(包含技術與科學詞彙)均屬本發明所屬技術領域中具有通常知識者之一般理解。此外,除非明白表示,詞彙於一般字典中之定義應解釋為與其相關技術領域之文章中意義一致,而不應解釋為理想狀態或過分正式之語態。雖然“第一”、“第二”等術語可用於描述各種元件,但這些元件不應受這些術語的限制。這些術語只是用以區分一個元件和另一個元件。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。舉例來說,本發明實施例所述之系統、裝置或是方法可以硬體、軟體或硬體以及軟體的組合的實體實施例加以實現。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:控制電路
110:寫入保護邏輯電路
111:解碼電路
112:判斷電路
120、140:暫存器
121、141:保護設定值
130:儲存電路
131:控制電路
132:記憶陣列
150:特定接腳
DA:資料
CFG_ENABLE:致能設定值
CFG_LEVEL:模式設定值
BK1~BK6:記憶區塊
CM_IN:輸入指令
VP:電壓位準
S211~S215:步驟
第1A圖為本發明之控制電路的示意圖。
第1B圖為本發明之控制電路的另一示意圖。
第2圖為本發明之控制方法的流程示意圖。
100:控制電路
110:寫入保護邏輯電路
111:解碼電路
112:判斷電路
120:暫存器
121:保護設定值
130:儲存電路
131:控制電路
132:記憶陣列
DA:資料
CFG_ENABLE:致能設定值
CFG_LEVEL:模式設定值
BK1~BK6:記憶區塊
CM_IN:輸入指令
Claims (10)
- 一種控制電路,包括:一儲存電路,包括:一記憶陣列,具有一特定記憶區塊,並儲存一資料、一致能設定值以及一模式設定值,該資料、該致能設定值或該模式設定值儲存於該特定記憶區塊中;一特定控制電路,耦接該記憶陣列;一第一暫存器,儲存一第一保護設定值;以及一寫入保護邏輯電路,在接收到一寫入指令時,根據該模式設定值,決定是否改變該致能設定值、該模式設定值以及該第一保護設定值之至少一者;其中:該特定控制電路將該致能設定值複製到該第一暫存器,作為該第一保護設定值;當該模式設定值符合一第一預設值時,該寫入保護邏輯電路根據該第一保護設定值,改變該致能設定值、該模式設定值以及該第一保護設定值之至少一者;當該模式設定值不符合該第一預設值時,該寫入保護邏輯電路不改變該致能設定值以及該模式設定值;當該模式設定值符合該第一預設值且該第一保護設定值指示該特定區塊為一保護區塊且該寫入指令指向該特定區塊時,該寫入保護邏輯電路不提供該寫入指令予該儲存電路;當該模式設定值符合該第一預設值且該第一保護設定值未指示 該特定區塊為該保護區塊且該寫入指令指向該特定區塊時,該寫入保護邏輯電路提供該寫入指令予該儲存電路,該特定控制電路根據該寫入指令,改變該特定區塊所儲存的資料。
- 如請求項1之控制電路,其中當該模式設定值符合該第一預設值並且該第一保護設定值不符合一第一特定值時,該寫入保護邏輯電路根據該寫入指令的一位址資訊,以該寫入指令的一資料資訊取代該致能設定值、該模式設定值以及該第一保護設定值之一者。
- 如請求項1之控制電路,更包括:一第二暫存器,儲存一第二保護設定值;其中:當該模式設定值符合該第一預設值並且該寫入指令的一位址資訊對應該第一暫存器時,該寫入保護邏輯電路判斷該第二保護設定值是否符合一第二特定值;當該第二保護設定值符合該第二特定值時,該寫入保護邏輯電路維持該第一保護設定值。
- 如請求項1之控制電路,其中當該模式設定值符合一第二預設值時,該寫入保護邏輯電路固定該致能設定值、該模式設定值以及該第一保護設定值。
- 如請求項4之控制電路,其中當一特定事件發生時,該特定控制電路清除該資料、設定該致能設定值等於一初始值以及設定該模式設定值等於該第一預設值。
- 如請求項5之控制電路,更包括: 複數接腳,當該模式設定值符合一第三預設值時,該寫入保護邏輯電路偵測該等接腳中之一特定接腳的電壓位準;其中,當該特定接腳的電壓位準符合一特定位準時,該寫入保護邏輯電路將該寫入指令的一資料資訊取代該第一保護設定值。
- 如請求項6之控制電路,其中當該模式設定值符合一第四預設值、該特定接腳的電壓位準符合該特定位準並且該特定事件發生時,該寫入保護邏輯電路維持該資料、該致能設定值以及該模式設定值。
- 如請求項6之控制電路,其中該寫入保護邏輯根據該模式設定值的一接腳資訊,從該等接腳中選擇一者作為該特定接腳。
- 一種控制方法,適用於一寫入保護邏輯電路,用以調整一致能設定值、一模式設定值以及一第一保護設定值之至少一者,該致能設定值及該模式設定值儲存於一儲存電路中,該第一保護定值儲存於一第一暫存器中,該第一暫存器獨立於該儲存電路之外,該控制方法包括:複製該致能設定值至該第一暫存器中,作為該第一保護設定值;接收並解碼一輸入指令;當該輸入指令為一寫入指令時,讀取該模式設定值;判斷該模式設定值是否符合一第一預設值;當該模式設定值符合該第一預設值時,根據該寫入指令及該第一保護設定值,改變該致能設定值、該模式設定值以及該第一保護設定值之至少一者;以及 當該模式設定值不符合該第一預設值時,維持該致能設定值及該模式設定值,其中根據該寫入指令及該第一保護設定值,改變該致能設定值、該模式設定值以及該第一保護設定值之至少一者的步驟包括:當該第一保護設定值指示該儲存電路的一特定區塊為一保護區塊且該寫入指令指向該特定區塊時,不提供該寫入指令予該儲存電路;當該第一保護設定值未指示該特定區塊為該保護區塊且該寫入指令指向該特定區塊時,提供該寫入指令予該儲存電路,使得該儲存電路根據該寫入指令,改變該特定區塊所儲存的資料。
- 如請求項9之控制方法,其中改變該致能設定值、該模式設定值以及該第一保護設定值之至少一者的步驟包括:判斷該第一保護設定值是否符合一第一特定值;當該第一保護設定值符合該第一特定值時,係根據該寫入指令的一位址資訊,將該寫入指令的一資料資訊取代該致能設定值、該模式設定值以及該第一保護設定值之一者。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112120206A TWI845325B (zh) | 2023-05-31 | 2023-05-31 | 控制電路及控制方法 |
| CN202311757740.5A CN119068933A (zh) | 2023-05-31 | 2023-12-20 | 控制电路及控制方法 |
| US18/401,467 US12475953B2 (en) | 2023-05-31 | 2023-12-30 | Control circuit and control method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112120206A TWI845325B (zh) | 2023-05-31 | 2023-05-31 | 控制電路及控制方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI845325B true TWI845325B (zh) | 2024-06-11 |
| TW202449619A TW202449619A (zh) | 2024-12-16 |
Family
ID=92541626
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112120206A TWI845325B (zh) | 2023-05-31 | 2023-05-31 | 控制電路及控制方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12475953B2 (zh) |
| CN (1) | CN119068933A (zh) |
| TW (1) | TWI845325B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW440848B (en) * | 1998-05-11 | 2001-06-16 | Intel Corp | A method and apparatus for hardware block locking in a nonvolatile memory |
| TW200844842A (en) * | 2007-05-14 | 2008-11-16 | Transcend Information Inc | Memory apparatus and method for protecting thereof |
| TW202112114A (zh) * | 2019-09-12 | 2021-03-16 | 新唐科技股份有限公司 | Spi快閃記憶體之安全裝置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7340652B2 (en) * | 2004-04-30 | 2008-03-04 | International Business Machines Corporation | Invalidation of storage control unit cache metadata |
| US9229639B2 (en) * | 2013-03-11 | 2016-01-05 | Sandisk Technologies Inc. | Method and non-volatile memory device for improving latency together with write protection |
| TWI682397B (zh) * | 2018-12-12 | 2020-01-11 | 新唐科技股份有限公司 | 資料處理系統與資料處理方法 |
| JP2024043337A (ja) * | 2022-09-16 | 2024-03-29 | キオクシア株式会社 | メモリシステム |
-
2023
- 2023-05-31 TW TW112120206A patent/TWI845325B/zh active
- 2023-12-20 CN CN202311757740.5A patent/CN119068933A/zh active Pending
- 2023-12-30 US US18/401,467 patent/US12475953B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW440848B (en) * | 1998-05-11 | 2001-06-16 | Intel Corp | A method and apparatus for hardware block locking in a nonvolatile memory |
| TW200844842A (en) * | 2007-05-14 | 2008-11-16 | Transcend Information Inc | Memory apparatus and method for protecting thereof |
| TW202112114A (zh) * | 2019-09-12 | 2021-03-16 | 新唐科技股份有限公司 | Spi快閃記憶體之安全裝置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US12475953B2 (en) | 2025-11-18 |
| TW202449619A (zh) | 2024-12-16 |
| CN119068933A (zh) | 2024-12-03 |
| US20240404603A1 (en) | 2024-12-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250315386A1 (en) | Block or page lock features in serial interface memory | |
| US9390278B2 (en) | Systems and methods for code protection in non-volatile memory systems | |
| US9785784B2 (en) | Security management unit, host controller interface including same, method operating host controller interface, and devices including host controller interface | |
| US7062623B2 (en) | Method and device for providing hidden storage in non-volatile memory | |
| US7444682B2 (en) | Security memory device and method for making same | |
| JP6399523B2 (ja) | メモリ・デバイスの内容を保護するための方法およびメモリ・デバイス | |
| US20130080787A1 (en) | Memory storage apparatus, memory controller and password verification method | |
| JP2020095723A (ja) | 階層セキュリティを備えたフラッシュ変換層 | |
| TW202013196A (zh) | 資料處理裝置及其資料保護方法 | |
| JP2004039127A (ja) | 不揮発性半導体記憶装置およびその書き換え禁止制御方法 | |
| CN107045423B (zh) | 存储器装置及其数据存取方法 | |
| JP4678083B2 (ja) | メモリ装置およびメモリアクセス制限方法 | |
| TWI845325B (zh) | 控制電路及控制方法 | |
| US20040186947A1 (en) | Access control system for nonvolatile memory | |
| US6532529B1 (en) | Microcomputer including flash memory overwritable during operation and operating method thereof | |
| JP3924568B2 (ja) | フラッシュメモリにおけるデータアクセス制御方法、データアクセス制御プログラム | |
| CN109508145B (zh) | 使用地址别名的存储器访问控制 | |
| JP2024538028A (ja) | 信頼できるフラッシュストレージ | |
| JP4031693B2 (ja) | 不揮発性メモリおよびこれを有したデータ記憶装置 | |
| JP4655034B2 (ja) | メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法 | |
| JP4582078B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| JP2007257283A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
| JP4513782B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| JP5885638B2 (ja) | 半導体記憶装置 | |
| US20230176767A1 (en) | Interfacing with memory devices |