TW201539467A - 記憶體之積體電路上之資料保護方法及相關之記憶體電路 - Google Patents

記憶體之積體電路上之資料保護方法及相關之記憶體電路 Download PDF

Info

Publication number
TW201539467A
TW201539467A TW104105749A TW104105749A TW201539467A TW 201539467 A TW201539467 A TW 201539467A TW 104105749 A TW104105749 A TW 104105749A TW 104105749 A TW104105749 A TW 104105749A TW 201539467 A TW201539467 A TW 201539467A
Authority
TW
Taiwan
Prior art keywords
code
protection
value
lock
mask
Prior art date
Application number
TW104105749A
Other languages
English (en)
Other versions
TWI537972B (zh
Inventor
Chun-Hsiung Hung
Kuen-Long Chang
Ken-Hui Chen
Su-Chueh Lo
Original Assignee
Macronix Int Co Ltd
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 Macronix Int Co Ltd filed Critical Macronix Int Co Ltd
Publication of TW201539467A publication Critical patent/TW201539467A/zh
Application granted granted Critical
Publication of TWI537972B publication Critical patent/TWI537972B/zh

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/0622Securing storage systems in relation to access
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

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

Abstract

說明包括記憶體之積體電路上之資料的保護方法。一種方法包括將保護碼儲存在積體電路上。每個保護碼具有關於記憶體之複數個區段中的一對應區段之一個表示保護狀態之第一數值,以及一個表示未保護狀態之第二數值。此方法包括將保護屏蔽碼儲存在積體電路上。每個屏蔽碼具有關於複數個區段中的一對應區段之一個表示屏蔽狀態之第一數值,或一個表示未屏蔽狀態之第二數值。此方法包括當特定區段用之保護碼具有第一數值與特定區段用之屏蔽碼具有第二數值時,藉由使用積體電路上之電路阻隔一記憶體之特定區段中的修改,否則允許特定區段的修改。

Description

記憶體之積體電路上之資料保護方法及相關之記憶體電路 【0001】
本揭露是有關於記憶體之積體電路上之資料保護方法及相關之記憶體電路。
【0002】
一種非揮發性記憶體裝置(例如快閃記憶體裝置)可在未被供電時維持儲存的資料。儲存於一種包括一陣列之非揮發性記憶胞之非揮發性記憶體裝置之資料,可藉由對非揮發性記憶胞執行讀取、抹除或編程操作而被存取或修改。藉由將資料儲存在非揮發性記憶胞陣列之保護區域或區段中,可避免對於儲存於此裝置中之資料之意外或未經授權的改變。此裝置中之一群組的非揮發性記憶胞,可被使用來儲存關於這些區段之保護位元。每個位元表示關於一對應的保護區段之一保護狀態(例如,保護或未保護)。軟體常需要頻繁地在保護/未保護狀態之間轉換,以便具有良好保護伴隨著易於存取。然而,改變非揮發性保護位元之狀態需要編程/抹除操作。所以保護位元由於非揮發性記憶體持久性限制,只能夠被編程/抹除有限度的次數。此外,相較於揮發性記憶體寫入操作,非揮發性記憶體之編程/抹除操作需要多得多的操作時間。
【0003】
因此,期望提供用於將資料儲存在一非揮發性記憶體裝置中之彈性及可靠的資料保護方法。
【0004】
本技術提供用於保護一種包括一記憶體之積體電路上的資料之方法。一種方法包括將保護碼儲存在積體電路上。每個保護碼具有關於記憶體之複數個區段中的一對應區段之一個表示一保護狀態之第一數值,以及一個表示一未保護狀態之第二數值。此方法包括將保護屏蔽碼儲存在積體電路上。每個屏蔽碼具有關於複數個區段中的一對應區段之一個表示一屏蔽狀態之第一數值,或一個表示一未屏蔽狀態之第二數值。此方法包括:當特定區段用之保護碼具有第一數值,而特定區段用之屏蔽碼具有第二數值時,藉由使用積體電路上之電路來阻隔一記憶體之特定區段中的修改,否則允許特定區段的修改。
【0005】
本技術之其他實施樣態及優點可在檢閱圖式、詳細說明與隨後之申請專利範圍而獲得理解。
【0106】
DPB‧‧‧保護碼
DPBLD‧‧‧非揮發性保護鎖碼
SPB‧‧‧保護碼
SPBLD‧‧‧保護鎖碼
TUB‧‧‧揮發性保護屏蔽碼
TUBLD‧‧‧屏蔽鎖碼
160‧‧‧記憶體陣列
161‧‧‧位址解碼器
163‧‧‧分頁緩衝器
168‧‧‧偏壓配置電源電壓/偏壓配置電源電壓方塊
169‧‧‧控制器
174‧‧‧周邊電路/方塊
175‧‧‧積體電路
210‧‧‧電腦系統
212‧‧‧匯流排次系統
214‧‧‧處理器
216‧‧‧網路介面次系統
218‧‧‧通訊網路
220‧‧‧使用者介面輸出裝置
222‧‧‧使用者介面輸入裝置
224‧‧‧儲存次系統
226‧‧‧記憶體次系統
228‧‧‧檔案儲存次系統
230‧‧‧主要隨機存取記憶體
232‧‧‧唯讀記憶體
310至330‧‧‧步驟
410‧‧‧請求
420‧‧‧更新儲存的屏蔽碼
421‧‧‧決定供特定區段用之屏蔽碼之數值
430‧‧‧更新儲存的保護碼
431‧‧‧決定供特定區段用之保護碼之數值
510至550‧‧‧步驟
610‧‧‧請求
620‧‧‧將保護鎖碼設定至第一數值(鎖定模式)
621‧‧‧阻止對於保護碼之改變
630‧‧‧將保護屏蔽鎖碼設定至第一數值(鎖定模式)
631‧‧‧阻止對於保護屏蔽碼之改變
640‧‧‧允許對於保護碼之改變
641‧‧‧決定供特定區段用之保護碼之數值
650‧‧‧將所有保護屏蔽碼重設至第二數值(未屏蔽狀態)
651‧‧‧決定供特定區段用之保護屏蔽碼之數值
810至840‧‧‧步驟
910‧‧‧請求
920‧‧‧設定關於第一保護碼之數值
921‧‧‧將第一保護碼之數值複製至供各個區段用之第二保護碼
930‧‧‧設定關於第二保護碼之數值
931‧‧‧決定供特定區段用之第二保護碼
1010至1050‧‧‧步驟
1110‧‧‧請求
1120‧‧‧將保護鎖碼SPBLD設定至第一數值(鎖定狀態)
1121‧‧‧阻止對於所有第一保護碼(SPB)之改變
1130‧‧‧將所有第一保護碼設定至第二數值
1131‧‧‧決定供特定區段用之第一保護碼(SPB)之數值
1132‧‧‧將供特定區段用之第二保護碼(DPB)設定至第一數值(保護狀態)
1140‧‧‧設定或重設供特定區段用之第二保護碼
1141‧‧‧決定供特定區段用之第二保護碼(DPB)
1210至1250‧‧‧步驟
1310‧‧‧請求
1320‧‧‧設定供保護鎖碼SPBLD用之數值
1321‧‧‧決定保護鎖碼SPBLD之數值
1330‧‧‧設定供第一保護碼用之數值
1331‧‧‧同步化至對於第一保護碼之更進一步的改變
1340‧‧‧設定供非揮發性保護鎖碼DPBLD用之數值
1341‧‧‧阻止改變第二保護碼(DPB)之請求
1351‧‧‧決定供特定區段用之第二保護碼(DPB)
【0006】

第1圖係為一種包括一記憶體之積體電路之簡化方塊圖。
第2圖係為結合一種包括一記憶體之積體電路之電腦系統之簡化方塊圖。
第3圖係為藉由使用保護碼及屏蔽碼來保護一記憶體裝置上的資料之一示範方法之流程圖。
第4圖係為一種包括保護碼及屏蔽碼之記憶體裝置之簡化方塊圖。
第5圖係為用於藉由使用保護碼、屏蔽碼、保護鎖碼以及屏蔽鎖碼,來保護一記憶體裝置上的資料之一示範方法之流程圖。
第6圖係為一種包括保護碼、屏蔽碼、保護鎖碼以及屏蔽鎖碼之記憶體裝置之簡化方塊圖。
第7圖係為一種包括一記憶體之積體電路之另一個實施例之簡化方塊圖。
第8圖係為用於藉由使用非揮發性保護碼及揮發性保護碼,來保護一記憶體裝置上的資料之一示範方法之流程圖。
第9圖係為一種包括非揮發性保護碼及揮發性保護碼之記憶體裝置之簡化方塊圖。
第10圖係為用於藉由使用非揮發性保護碼、揮發性保護碼以及保護鎖碼,來保護一記憶體裝置上之資料之一示範方法之流程圖。
第11圖係為一包括非揮發性保護碼、揮發性保護碼以及保護鎖碼之記憶體裝置之簡化方塊圖。
第12圖係為用於藉由使用非揮發性保護碼、揮發性保護碼、非揮發性保護碼以及另一個保護鎖碼,來保護一記憶體裝置上之資料之一示範方法之流程圖。
第13圖係為一包括非揮發性保護碼、揮發性保護碼、非揮發性保護碼以及另一個保護鎖碼之記憶體裝置之簡化方塊圖。
【0007】
以下將參考圖式提供本技術之實施例之詳細說明。
【0008】
第1圖係為一種包括一記憶體之積體電路175之簡化方塊圖。於此例子中,積體電路175包括一個具有複數個區段(sectors)之記憶胞之記憶體陣列160。每個區段係為一記憶體陣列160之區域。每個區段之位置及範圍可被邏輯地定義,且不需對應至陣列160之實體分割。這些區段可具有橫越過此陣列160之一致或不同的尺寸。一區段可使其存取由如於此所說明的一個或多個保護碼來控制。
【0009】
基於快閃記憶體、相變記憶體、磁阻隨機存取記憶體(Magnetoresistive Random-Access-Memory, MRAM)、電可抹除可編程唯讀記憶體(Electrically Erasable Programmable Read Only Memory, EEPROM)或其他適當的非揮發性記憶體技術,此陣列160中之記憶胞可包括非揮發性記憶胞。
【0010】
一位址解碼器161係耦接至此陣列160。位址係被供應至積體電路175並提供給位址解碼器161。位址解碼器161可包括數個字元線解碼器、數個位元線解碼器以及用於解碼供應的位址並選擇此陣列160中之對應的記憶胞的其他適當的解碼器。
【0011】
此陣列160中之數條位元線係耦接至一分頁緩衝器163,分頁緩衝器163因而耦接至其他周邊電路174。分頁緩衝器163可包括一個或多個儲存元件(例如,閂鎖),以供連接的每條位元線用。位址解碼器161可選擇並經由各個連接位元線,將此陣列160中之特定記憶胞耦接至分頁緩衝器163。接著,分頁緩衝器163可儲存被寫入至這些特定記憶胞,或從這些特定記憶胞被讀取之資料。
【0012】
周邊電路包括藉由使用並非是此陣列160之一部分的邏輯電路或類比式電路而形成之電路,例如位址解碼器161、控制器169、偏壓配置電源電壓方塊168等等。於此例子中,標有其他周邊電路之方塊174可包括數個輸入-輸出(I/O)電路、數個輸出資料緩衝器以及積體電路175上之其他電路組件,例如一通用處理器或特殊用途應用電路,或一提供被此陣列160所支援之系統單晶片功能之模組之組合。
【0013】
譬如實施作為一狀態機之控制器169提供數個信號,以控制積體電路175之其他電路來執行於此所說明之各種操作。這些操作包括編程操作、抹除操作、讀取操作以及資料保護操作。
【0014】
控制器169可藉由使用如本領域已知的特殊用途邏輯電路系統而被實施。在其他實施例中,控制器包括一種可在相同的積體電路175上被實施之通用處理器,通用處理器執行一電腦編程來控制此裝置之操作。在又其他實施例中,可利用一特殊用途邏輯電路及一通用處理器之組合,以供控制器之實行用。
【0015】
積體電路175包括儲存關於記憶體陣列160之一個或多個區段之資料保護碼之數個記憶體元件。在第1圖之例子中,積體電路175中之各種記憶體元件儲存關於記憶體陣列160之一個或多個區段之保護碼SPB(“非揮發性固態寫入保護位元”)、保護鎖碼SPBLD(“SPB鎖定位元”)、揮發性保護屏蔽碼TUB(“揮發性暫時未保護位元”),以及屏蔽鎖碼TUBLD(“TUB鎖定位元”),如以下更詳細說明的。
【0016】
第2圖係為一結合第1圖所顯示之積體電路175之電腦系統210之簡化方塊圖。電腦系統210大致包括至少一處理器214,處理器214經由匯流排次系統212與一些周邊裝置相通。這些周邊裝置可包括一儲存次系統224(包括一記憶體次系統226及一檔案儲存次系統228)、數個使用者介面輸入裝置222、數個使用者介面輸出裝置220以及一網路介面次系統216。輸入及輸出裝置允許使用者與電腦系統210互動。網路介面次系統216提供一個到外部網路之介面(包括一個到通訊網路218之介面),並經由通訊網路218耦接至其他電腦系統中之對應的介面裝置。通訊網路218可包括許多互相連接電腦系統及通訊連結。這些通訊連結可以是有線連結、光學連結、無線連結或任何其他供資訊之通訊用的機制。雖然在一個實施例中,通訊網路218係為網際網路,但通訊網路218可以是任何適當的電腦網路。
【0017】
使用者介面輸入裝置222可包括一鍵盤、指向裝置(例如一滑鼠、軌跡球、觸控板或繪圖板)、一掃描器、一併入顯示器之觸控螢幕、音頻輸入裝置(例如語音識別系統、麥克風以及其他型式之輸入裝置)。一般而言,用語"輸入裝置"之使用係意圖包括用於將資訊輸入至電腦系統210中或至通訊網路218之上之所有可能型式之裝置及方法。
【0018】
使用者介面輸出裝置220可包括一顯示次系統、一印表機、一傳真機或非視覺顯示器(例如音頻輸出裝置)。顯示次系統可包括一陰極射線管(Cathode Ray Tube, CRT)、一平板裝置(例如一液晶顯示器(Liquid Crystal Display, LCD))、一投影裝置或某些其他用於建立一可見影像之機構。顯示次系統亦可提供例如經由音頻輸出裝置之非視覺顯示。一般而言,用語"輸出裝置"之使用係意圖包括:用於將資訊從電腦系統210輸出至使用者,或至另一個機器或電腦系統之所有可能型式之裝置及方法。
【0019】
儲存次系統224儲存編程及資料結構,並提供電腦系統210之功能之軟體模組。這些軟體模組通常係由處理器214所執行。
【0020】
記憶體次系統226一般包括一些記憶體,其包括一在藉由處理器214之編程執行期間儲存指令及資料之主要隨機存取記憶體(Random Access Memory, RAM)230,以及一其中儲存固定指令之唯讀記憶體(Read Only Memory, ROM)232。記憶體次系統226亦包括參考第1圖所說明之積體電路175。積體電路175提供電腦系統210用之編程碼及資料檔之儲存。
【0021】
檔案儲存次系統228提供電腦系統210用之編程及資料檔之儲存,且可包括一硬式磁碟機、一軟式磁碟機連同相關的可移式媒體、一CD-ROM光碟機、一光碟機或可移式媒體盒。
【0022】
匯流排次系統212提供一種機制,用於讓電腦系統210之各種組件及次系統如意欲地彼此通信。雖然匯流排次系統212係概要顯示為單一匯流排,但匯流排次系統之替代實施例可使用多個匯流排。
【0023】
電腦系統210可以是屬於變化的型式,包括一個人電腦、一可攜式電腦、一工作站、一電腦終端機、一網路電腦、一電視機、一智慧型手機、一大型電腦或任何其他資料處理系統或使用者裝置。由於電腦及網路之千變萬化的本質,為了闡明較佳實施例之目的,第2圖中所描繪出的電腦系統210之說明只意圖作為一特定例子。電腦系統210之多數的其他配置,可能具有比第2圖中所描繪出的電腦系統更多或更少的組件。
【0024】
電腦系統210(或電腦系統210之一使用者)可存取或改變儲存於積體電路175中之資料(編程碼或資料檔)。舉例而言,在一軟體編程之執行期間,處理器214可傳送一命令(例如,包括一指令碼、一位址以及一區塊尺寸)至積體電路175,用於釋放或抹除積體電路175之記憶體陣列160中之一區塊之記憶胞。回應於此命令,積體電路175之控制器169藉由選擇(例如,藉由位址解碼器161)對應於位址及區塊尺寸之記憶胞,並供應抹除電壓脈衝(例如,藉由偏壓配置電源電壓168)至選擇的記憶胞來執行一抹除操作。然而,如果從選擇的記憶胞所抹除之資料係打算為另一種使用所用(例如,供另一個軟體編程用之編程碼或資料檔),則會出現問題。為避免對於儲存於積體電路175之記憶體陣列中的資料之這種意外或未經授權的改變,關於記憶體資料保護之方法係藉由使用儲存於積體電路175中之資料保護碼而被提供,如以下更詳細說明的。
【0025】
第3圖係為藉由使用保護碼及屏蔽碼來保護一記憶體裝置上的資料之一示範方法之流程圖。第3圖之方法可藉由控制器169、保護碼SPB及揮發性保護屏蔽碼TUB以及積體電路175之其他適當的組件而被實施,用於保護儲存於記憶體陣列160中之資料。
【0026】
第3圖之方法於步驟310開始。於步驟310,控制器將複數個保護碼(SPB)儲存在積體電路175中。每個保護碼具有關於記憶體陣列160中之一對應區段之記憶胞之一個表示一保護狀態之第一數值,以及一個表示一未保護狀態之第二數值。保護碼係被儲存於記憶體元件中,以使保護碼係在一積體電路175之斷電事件期間被維持。一斷電事件可以是一種當供積體電路175或積體電路175之一部分(例如,儲存保護碼之記憶體元件或積體電路175之另一組件)用之電力並未被維持(遺失)時之事件。
【0027】
於此例子中,控制器169將保護碼儲存在一陣列之非揮發性記憶體元件(例如一陣列之快閃記憶胞)中。控制器169針對此陣列之快閃記憶胞執行一抹除操作,用於將所有儲存於此陣列之快閃記憶胞中之保護碼設定至第二數值(未保護狀態)。控制器169針對此陣列中之一特定快閃記憶胞執行一編程操作,用於將儲存於特定快閃記憶胞中之保護碼設定至第一數值(保護狀態)。基於來自一結合積體電路175之系統(例如,電腦系統210)之請求(或來自此系統之一使用者之請求),控制器169可執行抹除操作或編程操作。
【0028】
於步驟320,控制器169將一個包括至少一保護屏蔽碼(TUB)之設定,儲存在積體電路175中。一保護屏蔽碼具有關於記憶體陣列160中之一對應區段之一個表示一屏蔽狀態之第一數值,或一個表示一未屏蔽狀態之第二數值。一保護屏蔽碼係被儲存於一記憶體元件中,以使保護屏蔽碼係在一積體電路175之斷電事件期間被清除。斷電事件可以是一種當供積體電路175或積體電路175之一部分(例如,儲存保護屏蔽碼之記憶體元件或積體電路175之另一個組件)的電力並未被維持(遺失)時之事件。
【0029】
於此例子中,控制器169將包括至少一保護屏蔽碼之此設定,儲存在一個或多個揮發性記憶體元件(例如積體電路175中之靜態隨機存取記憶(Static Random-Access Memory, SRAM)胞)中。控制器169針對選擇的揮發性記憶胞執行一設定操作,用於將儲存於選擇的揮發性記憶胞中之保護屏蔽碼,從第二數值(未屏蔽狀態)設定至第一數值(屏蔽狀態)。控制器169針對選擇的揮發性記憶胞執行一重設操作,用於將儲存於選擇的揮發性記憶胞中之保護屏蔽碼,從第一數值(屏蔽狀態)重設至第二數值(未屏蔽狀態)。基於來自一結合積體電路175之系統(例如,電腦系統210)之請求(或來自此系統之一使用者之請求),控制器169可執行設定或重設操作。
【0030】
於步驟330,當供特定區段用之保護碼具有第一數值(保護狀態),且供特定區段用之保護屏蔽碼具有第二數值(未屏蔽狀態)時,控制器169阻止一特定區段之記憶體陣列160的修改。否則控制器169允許特定區段的修改。
【0031】
下面的表1顯示供一區段之記憶體陣列160用之保護碼與屏蔽碼之狀態組合,以及關於儲存於此區段中之資料的保護狀態。
【0032】
表1
 
【0033】
如表1所示,如果保護屏蔽碼具有第二數值(未屏蔽狀態),則儲存資料之保護狀態係由保護碼所決定。如果保護屏蔽碼具有第一數值(屏蔽狀態),則保護屏蔽碼“屏蔽”保護碼之數值,而儲存資料總是未保護。
【0034】
第4圖係為一種包括保護碼及屏蔽碼之記憶體裝置(例如積體電路175)之簡化方塊圖。於此例子中,控制器169可從一結合積體電路175之系統(例如,第2圖中之電腦系統210)接收修改(編程或抹除)儲存於記憶體陣列160中之資料,改變保護碼之數值,或改變保護屏蔽碼之數值之一個或多個請求(410)。請求410可藉由一操作系統或一由電腦系統210之處理器214所執行之軟體編程而開始。請求410亦可基於一使用者命令。
【0035】
舉例而言,回應於一改變保護碼之數值之請求410,控制器169存取儲存保護碼之非揮發性記憶體陣列,並依據此請求更新儲存的保護碼(430)。同樣地,回應於一改變屏蔽碼之數值之請求,控制器169存取儲存屏蔽碼之此組的揮發性記憶胞,並依據此請求更新儲存的屏蔽碼(420)。
【0036】
回應於一修改儲存於記憶體陣列160中之資料之請求410,控制器169首先決定一包括對應於此請求之資料之特定區段。控制器169接著決定供特定區段用之保護碼之數值(431)及屏蔽碼之數值(421)。控制器169屏蔽保護碼之數值與屏蔽碼之數值,並決定對於儲存於特定區段中之資料的修改是否是可允許的,如以上述表1所說明的。如果對於儲存於特定區段中之資料的修改是可允許的,則控制器169繼續執行一對應於請求410之操作(例如,一抹除操作或一編程操作)。如果對於儲存於特定區段中之資料的修改並非是允許的,則控制器169否認請求410,並回傳一錯誤訊息至結合積體電路175之系統。
【0037】
記憶體陣列160中之這些區段之記憶胞可以受到一個或多個保護碼與一個或多個屏蔽碼之不同組合所保護。舉例而言,每個區段可具有一對應的保護碼(儲存於非揮發性記憶體陣列中)及一對應的屏蔽碼(儲存於揮發性記憶體元件中)。關於另一例子,每個區段具有一對應的保護碼,而記憶體陣列160中之所有區段具有一個屏蔽碼。依此方式,所有區段可藉由將一個屏蔽碼設定至第一數值(屏蔽狀態)而未受保護。關於又另一個例子,記憶體陣列160中之所有區段具有一個保護碼,而每個區段具有一對應的屏蔽碼。依此方式,所有區段可以受到預設值所保護(亦即,一個保護碼具有第一數值)。一個或多個區段可藉由將相對應的屏蔽碼設定至第一數值(屏蔽狀態)而未受保護。
【0038】
保護碼及屏蔽碼之組合(如以第3及4圖所說明的),提供一種用於保護儲存於積體電路175中之資料之彈性方法。舉例而言,因為儲存於非揮發性記憶體陣列中之保護碼係在一斷電事件期間被維持,所以保護碼可在積體電路175被斷電之後,被使用作為一供記憶體陣列160中之區段用之預設值保護設定。屏蔽碼可被使用來藉由將對應於特定區段之屏蔽碼設定至第一數值(屏蔽狀態),從而使屏蔽對應於特定區段之保護碼之數值並未保護這些特定區段,來動態地調整一個或多個特定區段的保護狀態。
【0039】
在某些情況下,理想上是可在設定其對應的保護碼或屏蔽碼之後維持一區段之記憶胞受保護(或未受保護)。供第3及4圖中所說明的保護鎖碼及屏蔽碼用之額外鎖碼,係可被使用來在設定其對應的保護碼或屏蔽碼之後,維持一區段之記憶胞受保護(或未受保護),如於第5及6圖所顯示於下的。
【0040】
第5圖係為用於藉由使用保護碼、屏蔽碼、保護鎖碼以及屏蔽鎖碼,來保護一記憶體裝置上的資料之一示範方法之流程圖。第5圖之方法可藉由控制器169、保護碼SPB、揮發性保護屏蔽碼TUB、保護鎖碼SPBLD及屏蔽鎖碼TUBLD,以及積體電路175之其他適當的組件而被實施,用於保護儲存於記憶體陣列160中之資料。
【0041】
第5圖之方法於步驟510開始。如於第3圖之步驟310,於步驟510,控制器169將一陣列之非揮發性記憶體元件(例如,一陣列之快閃記憶胞)中的複數個保護碼(SPB)儲存在積體電路175中。每個保護碼具有關於記憶體陣列160中之一對應區段之記憶胞之一個表示一保護狀態之第一數值,以及一個表示一未保護狀態之第二數值。控制器169針對此陣列中之所有非揮發性記憶體元件執行一抹除操作,用於將儲存於記憶體元件中之保護碼設定至第二數值(未保護狀態)。控制器169針對此陣列中之一特定非揮發性記憶體元件執行一編程操作,用於將儲存於特定非揮發性記憶體元件中之保護碼設定至第一數值(保護狀態)。
【0042】
如於第3圖之步驟320,於步驟520,控制器169將一包括至少一保護屏蔽碼(TUB)之設定,儲存在積體電路175之一揮發性記憶體元件(例如,一SRAM胞)中。一保護屏蔽碼具有關於記憶體陣列160中之一對應區段之一個表示一屏蔽狀態之第一數值,或一個表示一未屏蔽狀態之第二數值。控制器169針對揮發性記憶體元件執行一設定操作,用於將儲存於揮發性記憶體中之保護屏蔽碼,從第二數值(未屏蔽狀態)設定至第一數值(屏蔽狀態)。控制器169針對揮發性記憶體元件執行一重設操作,用於將儲存於揮發性記憶體中之保護屏蔽碼,從第一數值(屏蔽狀態)重設至第二數值(未屏蔽狀態)。
【0043】
於步驟530,控制器169將一保護鎖碼(SPBLD)儲存在積體電路175之一次性可編程記憶體元件(例如,一反熔絲,或一不具有抹除支援電路之快閃記憶胞)中。保護鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值。當保護鎖碼具有第一數值(鎖定模式)時,控制器169阻止對於儲存於非揮發性記憶體陣列中的保護碼的改變。基於來自一結合積體電路175之系統(例如,電腦系統210)之請求(或來自此系統之一使用者之請求),控制器169可將保護鎖碼設定至第一數值或第二數值。
【0044】
於步驟540,控制器169將一屏蔽鎖碼(TUBLD)儲存在積體電路175之一次性可編程記憶體元件(例如,一反熔絲,或一不具有抹除支援電路之快閃記憶胞)中。屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值。當屏蔽鎖碼具有第一數值(鎖定模式)時,控制器169阻止對於儲存於揮發性記憶體元件中之屏蔽碼的改變。基於來自一結合積體電路175之系統(例如,電腦系統210)之請求(或來自此系統之一使用者之請求),控制器169可將屏蔽鎖碼設定至第一數值或第二數值。
【0045】
如於第3圖之步驟330,於步驟550,當供特定區段用之保護碼具有第一數值(保護狀態),且供特定區段用之保護屏蔽碼具有第二數值(未屏蔽狀態)時,控制器169阻止一特定區段之記憶體陣列160的修改。否則控制器169允許特定區段的修改。如以表1所說明的,如果保護屏蔽碼具有第二數值(未屏蔽狀態),則儲存資料之保護狀態係由保護碼所決定。如果保護屏蔽碼具有第一數值(屏蔽狀態),則保護屏蔽碼屏蔽保護碼之數值,而儲存資料總是未保護。
【0046】
第6圖係為一種包括保護碼、屏蔽碼、保護鎖碼及屏蔽鎖碼之記憶體裝置(例如積體電路175)之簡化方塊圖。於此例子中,控制器169可從一結合積體電路175之系統(例如,第2圖中之電腦系統210 )接收修改(編程或抹除)儲存於記憶體陣列160中之資料,改變保護碼或屏蔽碼之數值,或編程保護鎖碼或屏蔽鎖碼之一個或多個請求(610)。請求610可藉由一操作系統或一由電腦系統210之處理器214所執行之軟體編程而開始。請求410亦可基於一使用者命令。
【0047】
舉例而言,回應於一修改儲存於記憶體陣列160中之資料之請求610,控制器169首先決定一個包括對應於此請求之資料之特定區段。控制器169決定供特定區段用之保護屏蔽碼之數值(651)。控制器169決定供特定區段用之保護碼之數值(641)。控制器169屏蔽保護碼之數值與屏蔽碼之數值,並決定對於儲存於特定區段中之資料的修改是否是可允許的,如以上述表1所說明的。如果對於儲存於特定區段中之資料的修改是可允許的,則控制器169繼續執行一對應於請求610之操作(例如,一抹除操作或一編程操作)。如果對於儲存於特定區段中之資料的修改並非是允許的,則控制器169否認請求610並使一錯誤訊息回到結合積體電路175之系統。
【0048】
回應於一用於編程保護鎖碼之請求610,控制器169藉由為保護鎖碼來編程一次性可編程記憶體元件,而將保護鎖碼設定至第一數值(鎖定模式)(620)。
【0049】
回應於一對於保護碼的改變之請求610,控制器169首先決定保護鎖碼是否具有第一數值(鎖定模式)。如果保護鎖碼具有第一數值,則控制器169阻止對於保護碼之改變(621)。否則,控制器169允許對於保護碼之改變(640)。
【0050】
回應於一用於編程保護屏蔽鎖碼之請求610,控制器169藉由為屏蔽鎖碼編程一次性可編程記憶體元件而將保護屏蔽鎖碼設定至第一數值(鎖定模式)(630)。控制器169亦將所有保護屏蔽碼重設至第二數值(未屏蔽狀態)(650),接著,阻止對於保護屏蔽碼之改變(631)。依此方式,屏蔽碼係在保護屏蔽鎖碼被設定到第一數值(鎖定模式)之後,被鎖住以免於屏蔽供記憶體陣列160中之所有區段用之保護碼。
【0051】
在另一實施例中,在將保護屏蔽鎖碼設定至第一數值(鎖定模式)之後,控制器169阻止將選擇的屏蔽碼從第二數值(未屏蔽狀態)設定至第一數值(屏蔽狀態)之改變,並允許將選擇的屏蔽碼從第一數值(屏蔽狀態)重設至第二數值(未屏蔽狀態)之改變。依此方式,在保護屏蔽鎖碼被設定到第一數值(鎖定模式)之後,沒有保護碼可更進一步被屏蔽碼所屏蔽。
【0052】
除了使用兩個不同的一次性可編程記憶體元件來儲存保護鎖碼與屏蔽鎖碼以外,可使用不同型式或組合之記憶體元件以儲存保護鎖碼與屏蔽鎖碼。舉例而言,可使用單一的一次性可編程記憶體元件,以儲存一個具有一個表示一鎖定模式之第一數值,以及表示一未鎖定模式之第二數值之單一鎖碼。單一鎖碼代表保護鎖碼與屏蔽鎖碼兩者。在編程一次性可編程記憶體元件並將鎖碼設定至第一數值(例如,回應於一請求610)之後,控制器169阻止對於保護碼之改變,將屏蔽碼設定至第二數值(未屏蔽狀態),然後阻止對於屏蔽碼或保護碼之改變。
【0053】
關於另一例子,一組一次性可編程記憶體元件係用於儲存屏蔽鎖碼。此組一次性可編程記憶體元件之每一個,儲存關於記憶體陣列160中之一特定區段之記憶胞之一屏蔽鎖碼。每個屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值。回應於一用於為一特定區段編程一屏蔽鎖碼之請求610,控制器169藉由編程儲存供特定區段用之屏蔽鎖碼之一次性可編程記憶體元件,而將供特定區段用之屏蔽鎖碼設定至第一數值(鎖定模式)。控制器169亦將供特定區段用之屏蔽碼設定至第二數值(未屏蔽狀態),接著,阻止對於供特定區段用的屏蔽碼之改變。依此方式,在保護屏蔽鎖碼(供特定區段用)被設定到第一數值(鎖定模式)之後,供一特定區段(而不是所有區段)用之屏蔽碼係被鎖住以免於屏蔽供特定區段用之保護碼。
【0054】
第6圖所顯示之屏蔽鎖碼與保護鎖碼,可被儲存於密碼保護的記憶體元件中。舉例而言,保護鎖碼可被儲存於積體電路175之一密碼保護的記憶體元件中。於一開始事件(例如,當積體電路175被通電時),保護鎖碼被設定到第一數值(鎖定模式),從而阻止對於保護碼之改變。保護鎖碼可被重設至具有一密碼之第二數值(未鎖定模式) (例如,由結合積體電路175之系統之一使用者所提供之一64位元數)。在保護鎖碼被重設至第二數值(未鎖定模式)之後,控制器169允許對於保護碼之改變。控制器169可將保護鎖碼設定至第一數值 (例如,回應於一請求610),從而阻止對於保護碼之更進一步的改變。依此方式,儲存於非揮發性記憶體陣列中之保護碼係經由一斷電及通電周期被維持,且無法在沒有提供一密碼的情況下被改變。
【0055】
屏蔽鎖碼可被儲存於一積體電路175之密碼保護的記憶體元件中。於一開始事件(例如,當積體電路175被通電時),控制器169將屏蔽鎖碼設定至第一數值(鎖定模式),從而阻止對於保護屏蔽碼之改變。控制器169亦將屏蔽碼重設至第二數值(未屏蔽狀態)。依此方式,當積體電路175被啟動時,保護碼並非被屏蔽碼所屏蔽。屏蔽鎖碼可被重設至具有一密碼之第二數值(未鎖定模式)(例如,由結合積體電路175之系統之一使用者所提供之一64位元數)。在屏蔽鎖碼被重設至第二數值(未鎖定模式)之後,控制器169允許對於保護屏蔽碼之改變。控制器169可將屏蔽鎖碼設定至第一數值(例如,回應於一請求610),從而阻止對於保護屏蔽碼之更進一步的改變。
【0056】
保護鎖碼可被儲存於一積體電路175之揮發性記憶體元件(例如,一SRAM胞)中。於一開始事件(例如,當積體電路175被通電時),控制器169將保護鎖碼設定至第二數值(未鎖定狀態),從而允許對於保護碼之改變。回應於一使用者命令(例如,經由請求610),控制器169將保護鎖碼設定至第一數值(鎖定狀態),從而阻止保護碼之改變。保護鎖碼無法設定到第二數值(未鎖定狀態),直到另一個開始事件(例如,通電或硬體重設)為止。
【0057】
屏蔽鎖碼可被儲存於一積體電路175之揮發性記憶體元件(例如,一SRAM胞)中。於一開始事件(例如,當積體電路175被通電時),控制器169將屏蔽鎖碼設定至第二數值(未鎖定狀態),從而允許對於屏蔽碼之改變。回應於一使用者命令(例如,經由請求610),控制器169將屏蔽鎖碼設定至第一數值(鎖定狀態),從而阻止屏蔽碼之改變。屏蔽鎖碼無法設定到第二數值(未鎖定狀態)直到另一個開始事件(例如,通電或硬體重設)為止。
【0058】
第7圖係為積體電路175之另一個實施例之簡化方塊圖。於此例子中,積體電路175包括數個第一保護碼SPB (“固態寫入保護位元”)、一保護鎖碼SPBLD (“SPB 鎖定位元”)、數個第二保護碼DPB (“動態寫入保護位元”)以及一保護鎖碼DPBLD (“DPB 鎖定位元”),以供記憶體陣列160中之一個或多個區段之保護狀態使用,如以下更詳細說明的。
【0059】
第8圖係為用於藉由使用非揮發性保護碼及揮發性保護碼,來保護一記憶體裝置上的資料之一示範方法之流程圖。第8圖之方法可藉由控制器169、第一保護碼SPB與第二保護碼DPB以及積體電路175之其他適當的組件而被實施,用於保護儲存於記憶體陣列160中之資料。
【0060】
第8圖之方法於步驟810開始。於步驟810,控制器169將複數個第一保護碼(SPB)儲存在積體電路175中。每個第一保護碼具有關於記憶體陣列160中之其對應區段之記憶胞之一個表示一保護狀態之第一數值,以及一個表示一未保護狀態之第二數值。第一保護碼係被儲存於積體電路175中,以使第一保護碼係在一斷電事件期間被維持。
【0061】
於此例子中,控制器169將第一保護碼儲存在一陣列之非揮發性記憶體元件(例如一陣列之快閃記憶胞)中。控制器169針對非揮發性記憶體陣列執行一抹除操作,用於將所有第一保護碼設定至第二數值(未保護狀態)。控制器169針對一儲存於非揮發性記憶體陣列中之選擇的第一保護碼執行一編程操作,用於將選擇的第一保護碼設定至第一數值(保護狀態)。基於來自一結合積體電路175之系統(例如,電腦系統210)之請求(或來自此系統之一使用者之請求),控制器169可執行抹除操作或編程操作。
【0062】
於步驟820,控制器169將複數個第二保護碼(DPB)儲存在積體電路175中。每個第二保護碼具有關於記憶體陣列160中之一對應區段之記憶胞之一個表示一保護狀態之第一數值,或一個表示一未保護狀態之第二數值。第二保護碼係被儲存於積體電路175中,以使第二保護碼係在一斷電事件期間被清除。
【0063】
於此例子中,控制器169將複數個第二保護碼儲存在一陣列之揮發性記憶體元件(例如,一陣列之SRAM胞)中。控制器169針對選擇的揮發性記憶體元件執行一設定操作,用於將儲存於選擇的揮發性記憶體元件中之第二保護碼,從第二數值(未保護狀態)設定至第一數值 (保護狀態)。控制器169針對選擇的揮發性記憶體元件執行一重設操作,用於將儲存於選擇的揮發性記憶體元件中之第二保護碼,從第一數值(保護狀態)重設至第二數值 (未保護狀態)。
【0064】
於步驟830,控制器169在一初始化程序中(例如,當積體電路175被啟動時),將第二保護碼設定至第一保護碼之數值。亦即,第一保護碼之數值係在一初始化程序中,被複製至供各個區段用之第二保護碼。
【0065】
於步驟840,當供特定區段用之第二保護碼具有第一數值(保護狀態)時,控制器169阻止一特定區段的修改(例如,一抹除或編程操作)。否則控制器169允許特定區段的修改。亦即,記憶體陣列160中之一特定區段之記憶胞的保護狀態,係由特定區段之第二保護碼之數值所決定。
【0066】
因為第一保護碼係被儲存於非揮發性記憶體陣列中,並在一斷電事件期間被維持,所以當電源供應為積體電路175重新開始時(例如,在一初始化程序中),第一保護碼之數值作為供記憶體陣列160中之區段用之一預設值保護設定。
【0067】
第9圖係為一種包括非揮發性保護碼及揮發性保護碼之記憶體裝置(例如積體電路175)之簡化方塊圖。於此例子中,控制器169可從一結合積體電路175之系統(例如,第2圖中之電腦系統210),接收修改(編程或抹除)儲存於記憶體陣列160中之資料,或改變第一或第二保護碼之一個或多個請求(910)。請求910可藉由一操作系統或一由電腦系統210之處理器214所執行之軟體編程而開始。請求910亦可基於一使用者命令。
【0068】
舉例而言,回應於一請求910,控制器169可設定關於第一保護碼之數值(920)或關於第二保護碼之數值(930)。在一初始化程序中,控制器169將第一保護碼之數值複製至供各個區段用之第二保護碼(921)。
【0069】
回應於一修改儲存於記憶體陣列160中之資料之請求910,控制器169首先決定一個包括對應於此請求之資料之特定區段(屬於記憶體陣列160)。控制器169決定供特定區段用之第二保護碼(931)。如果供特定區段用之第二保護碼具有第二數值(未保護狀態),則控制器169繼續允許對應於此請求之資料的修改。如果特定區段之第二保護碼具有第一數值(保護狀態),則控制器169阻止對應於此請求之資料之修改,並恢復一錯誤訊息(至結合積體電路175之系統)。
【0070】
第一保護碼(SPB)及第二保護碼(DPB)之組合提供一種用於保護儲存於積體電路175中之資料之彈性方法。第一保護碼(如被儲存於非揮發性記憶體元件中)係在一斷電事件期間被維持,且當電力為積體電路175重新啟動時,被使用作為一預設值保護設定。當積體電路175藉由在不需要改變第一保護的情況下,改變關於對應的第二保護碼之數值而被供電時,關於記憶體陣列160之不同區段之保護狀態可動態上且各別地被改變。
【0071】
記憶體陣列160中之此些區段之記憶胞可受到一個或多個第一保護碼(SPB),以及一個或多個第二保護碼(DPB)之不同組合保護。舉例而言,所有區段可具有一個第一保護碼。每個區段具有其對應的第二保護碼。依此方式,所有區段係被保護(或未被保護)作為預設值。關於一個或多個區段之保護狀態,可藉由設定它們各自的第二保護碼而改變。
【0072】
除了在一開始程序中決定關於第二保護碼(DPB)之數值以外,第一保護碼(SPB)亦可在開始程序之後,決定第二保護碼是否可被修改,如以第10及11圖說明於下的。
【0073】
第10圖係為用於藉由使用非揮發性保護碼、揮發性保護碼以及保護鎖碼,來保護一記憶體裝置上之資料之一示範方法之流程圖。第10圖之方法可藉由控制器169、第一保護碼SPB、第二保護碼DPB以及積體電路175之其他適當的組件而實施,用於保護儲存於記憶體陣列160中之資料。
【0074】
第10圖之方法於步驟1010開始。如於第8圖之步驟810、820及830,控制器169將複數個第一保護碼(SPB)儲存在一陣列之非揮發性記憶體元件中(1010),將複數個第二保護碼(DPB)儲存在一陣列之揮發性記憶體元件中(1020),並在一初始化程序中將第二保護碼設定至第一保護碼之數值(1030)。如以第8圖所說明的,第一保護碼具有關於記憶體陣列160中之各個區段之一個表示一保護狀態之第一數值,或一個表示一未保護狀態之第二數值。第二保護碼具有關於記憶體陣列160中之各個區段之一個表示一保護狀態之第一數值,或一個表示一未保護狀態之第二數值。
【0075】
此外,於步驟1040,當特定區段之第一保護碼具有第一數值(保護狀態)時,控制器169阻止對於供一特定區段用之第二保護碼的改變。於步驟1050,當供特定區段用之第二保護碼具有第一數值(保護狀態)時,控制器169阻止一特定區段的修改。否則控制器169允許特定區段的修改。依此方式,一特定區段之第二保護碼(DPB)決定特定區段 是否被保護。同時,第一保護碼(SPB)在一開始程序中決定第二保護碼之數值,並在開始程序之後決定第二保護碼之數值是否可被改變。
【0076】
第11圖係為一包括非揮發性保護碼、揮發性保護碼以及保護鎖碼之記憶體裝置之簡化方塊圖。於此例子中,控制器169可從一結合積體電路175之系統(例如,第2圖中之電腦系統210)接收修改(編程或抹除)儲存於記憶體陣列160中之資料,或改變第一保護碼(SPB)、第二保護碼(DPB)或一保護鎖碼(SPBLD)之一個或多個請求(1110)。保護鎖碼(SPBLD)係儲存於一積體電路175中之一次性可編程記憶體元件中。保護鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值。當保護鎖碼具有第一數值(鎖定模式)時,阻止對於第一保護碼(SPD)之改變。
【0077】
請求1110可藉由一操作系統或一由電腦系統210之處理器214所執行之軟體編程而開始。請求1110亦可基於一使用者命令。
【0078】
舉例而言,回應於一請求1110,控制器169可藉由編程儲存保護鎖碼之一次性可編程記憶體元件將保護鎖碼SPBLD設定至第一數值(鎖定狀態)(1120)。一旦保護鎖碼被設定到第一數值,就阻止對於所有第一保護碼(SPB)之改變(1121)。
【0079】
回應於一將所有第一保護碼(SPB)設定至第二數值(未保護狀態)請求1110且當保護鎖碼具有第二數值(未鎖定模式)時,控制器169藉由針對儲存第一保護碼之非揮發性記憶體元件執行一抹除操作將所有第一保護碼設定至第二數值(1130)。
【0080】
回應於一將一供一特定區段用之選擇的第一保護碼(SPB)設定至第一數值(保護狀態)之請求1110,且當保護鎖碼具有第二數值(未鎖定模式)時,控制器169藉由編程儲存選擇的第一保護碼之非揮發性記憶體元件,將選擇的第一保護碼設定至第一數值(1130)。控制器169亦將供特定區段用之第二保護碼(DPB)設定至第一數值(保護狀態)(1132)。
【0081】
回應於一改變供一特定區段用之一第二保護碼DPB之數值之請求1110,控制器169決定供特定區段用之第一保護碼(SPB)之數值(1131)。如果供特定區段用之第一保護碼具有第二數值(未保護狀態),則基於請求1110,控制器169設定或重設供特定區段用之第二保護碼(1140)。如果供特定區段用之第一保護碼具有第一數值(保護狀態),則控制器阻止對於供特定區段用之第二保護碼之改變。
【0082】
於此,如果供一特定區段用之第一保護碼具有第一數值(保護狀態),則因為第二保護碼被初始化至第一保護碼,所以供特定區段用之第二保護碼總是具有第一數值,且對於第二保護碼之改變係被阻止。因此,特定區段總是被保護(“被鎖定”),除非第一保護碼係從第一數值改變至第二數值(未保護狀態)。
【0083】
回應於一關於記憶體陣列160中的資料之修改之請求1110,控制器169首先決定一包括對應於此請求之資料之記憶體陣列160中的特定區段。控制器169決定供特定區段用之第二保護碼(DPB) (1141)。如果供特定區段用之第二保護碼具有第二數值(未保護狀態),則控制器169繼續允許對應於此請求之資料的修改。否則,控制器169阻止對應於此請求之資料之修改,並恢復一錯誤訊息(至結合積體電路175之系統)。
【0084】
如以第10圖之步驟1030所說明的,第一保護碼(SPB)之數值係在一初始化程序中,被複製至供各個區段用之第二保護碼(DPB)。在另一個實施例中,所有第二保護碼係在一初始化程序中被設定到第一數值(保護狀態)(亦即,所有區段預設是受到保護)。依此方式,當積體電路175被啟動時,第二保護碼(DPB)被設定到保護狀態。在又另一實施例中,在第二保護碼係在初始化程序中被設定到第一保護碼之數值之前,所有第二保護碼係在一初始化程序中被設定到第一數值(保護狀態)持續一段時間。
【0085】
保護鎖碼(SPBLD)可被儲存於一積體電路175中之密碼保護的記憶體元件中。於一開始事件(例如,當積體電路175被通電時),保護鎖碼係被設定到第一數值(鎖定模式),從而阻止對於第一保護碼(SPB)之改變。保護鎖碼可被重設至具有一密碼之第二數值(未鎖定模式) (例如,由結合積體電路175之系統之一使用者所提供之64位元數)。在保護鎖碼被重設至第二數值(未鎖定模式)之後,控制器169允許對於第一保護碼之改變。控制器169可將保護鎖碼設定至第一數值(例如,回應於一請求1110),從而阻止對於第一保護碼之更進一步的改變。依此方式,儲存於非揮發性記憶體陣列中之第一保護碼係經由一斷電及啟動周期被維持,且無法在沒有提供一密碼的情況下被改變。
【0086】
保護鎖碼可被儲存於一積體電路175之揮發性記憶體元件(例如,一SRAM胞)中。於一開始事件(例如,當積體電路175被通電時),控制器169將保護鎖碼設定至第二數值(未鎖定狀態),從而允許對於保護碼之改變。回應於一使用者命令(例如,經由請求1110),控制器169將保護鎖碼設定至第一數值(鎖定狀態),從而阻止對於第一保護碼之改變。第一保護鎖碼無法被設定到第二數值(未鎖定狀態),直到另一個開始事件(例如,通電或硬體重設)為止。
【0087】
在另一實施例中,一非揮發性保護鎖碼DPBLD決定第二保護碼DPB之初始數值,且第二保護碼後來如何被修改,如以第12及13圖說明於下的。
【0088】
第12圖係為用於藉由使用非揮發性保護碼、揮發性保護碼、非揮發性保護碼以及另一個保護鎖碼,來保護一記憶體裝置上之資料之一示範方法之流程圖。第12圖之方法可藉由控制器169、儲存第一保護碼SPB之記憶體元件、第二保護碼DPB與一非揮發性保護鎖碼DPBLD,以及積體電路175之其他適當的組件而被實施,用於保護儲存於記憶體陣列160中之資料。
【0089】
第12圖之方法於步驟1210開始。如於第8圖之步驟810及820,控制器169將複數個第一保護碼(SPB)儲存在一陣列之非揮發性記憶體元件中(1210),並將複數個第二保護碼(DPB)儲存在一陣列之揮發性記憶體元件中(1220)。如以第8圖所說明的,第一保護碼具有關於記憶體陣列160中之各個區段之一個表示一保護狀態之第一數值或一個表示一未保護狀態之第二數值。第二保護碼具有關於記憶體陣列160中之各個區段之一個表示一保護狀態之第一數值或一個表示一未保護狀態之第二數值。
【0090】
此外,於步驟1230,控制器169將一非揮發性保護鎖碼(DPBLD) 儲存在一積體電路175中之一次性可編程記憶體元件(例如,一反熔絲)中。非揮發性保護鎖碼具有一個表示一鎖定模式之第一數值,以及表示一未鎖定模式之第二數值。
【0091】
於步驟1240,當非揮發性保護鎖碼具有第一數值(鎖定模式) 時,控制器169在一初始化程序中(例如,在通電期間)將第二保護碼(DPB)設定至第一保護碼(SPB)之數值。在初始化程序之後,當對第一保護碼做出一改變時,第二保護碼被設定到對應的第一保護碼之數值。亦即,在初始化程序中,第一保護碼之數值係被複製至供各個區段用之第二保護碼。在初始化程序之後,第二保護碼之數值係被同步化至供各個區段用之第一保護碼。舉例而言,當記憶體陣列160之一特定區段之第一保護碼係從第一數值改變至第二數值時,特定區段之第二保護碼亦從第一數值被改變至第二數值。關於另一個例子,當所有第一保護碼被設定到第二數值(例如,藉由針對儲存第一保護碼之非揮發性記憶體元件之一抹除操作)時,所有第二保護碼亦被設定到第二數值(未保護狀態)。
【0092】
於步驟1250,當供特定區段用之第二保護碼具有第一數值(保護狀態)時,控制器169阻止一特定區段的修改。否則控制器169允許特定區段的修改。
【0093】
第13圖係為一種包括非揮發性保護碼、揮發性保護碼、非揮發性保護鎖碼,以及另一個保護鎖碼之記憶體裝置之簡化方塊圖。於此例子中,控制器169可從一結合積體電路175之系統(例如,第2圖中之電腦系統210)接收修改(編程或抹除)儲存於記憶體陣列160中之資料,或改變第一保護碼(SPB)、第二保護碼(DPB)、非揮發性保護鎖碼(DPBLD),或另一個保護鎖碼(SPBLD)之一個或多個請求(1310)。保護鎖碼SPBLD係儲存於一積體電路175之一次性可編程記憶體元件中。保護鎖碼SPBLD具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值。當保護鎖碼SPBLD具有第一數值(鎖定模式)時,阻止對於第一保護碼(SPD)之改變。
【0094】
請求1310可藉由一操作系統或一由電腦系統210之處理器214所執行之軟體編程而開始。請求1310亦可基於一使用者命令。
【0095】
舉例而言,回應於一請求1310,控制器169可設定供非揮發性保護鎖碼DPBLD用之數值(1340)或供保護鎖碼SPBLD用之數值(1320)。
【0096】
回應於一個設定供一個或多個第一保護碼(SPB)用之數值之請求1310,控制器169首先決定保護鎖碼SPBLD之數值(1321)。如果保護鎖碼具有第一數值(鎖定模式),則控制器169阻止請求1310。否則,控制器169繼續設定供第一保護碼用之數值(1330)。
【0097】
如較早所說明的,當非揮發性保護鎖碼DPBLD具有第一數值(鎖定模式)時,控制器169阻止改變第二保護碼(DPB)之請求(1341)。第二保護碼被初始化至第一保護碼(SPB),並被同步化至對於第一保護碼之更進一步的改變(1331)。
【0098】
當非揮發性保護鎖碼DPBLD具有第二數值(未鎖定模式)時,控制器169在一初始化程序中,將所有第二保護碼(DPB)重設至第二數值(未保護模式)。在初始化程序之後,控制器169允許用於改變第二保護碼之數值之請求1310。在初始化程序之後,如果供一特定區段用之第一保護碼被設定到第一數值(保護狀態),則供特定區段用之相對應的第二保護碼亦被設定到第一數值。非揮發性保護鎖碼DPBLD亦被設定到第一數值(亦即,對於第二保護碼沒有允許更進一步的改變)。
【0099】
注意一旦保護鎖碼被設定到第一數值,第二保護碼就總是具有第一保護碼之數值,這是因為第二保護碼被初始化至第一保護碼之數值,而對於第二保護碼之改變係被阻止。因此,供記憶體陣列160中之區段用的保護狀態係有效地由第一保護碼所決定。
【0100】
回應於一關於記憶體陣列160中的資料之修改之請求1310,控制器169首先決定一個包括對應於此請求之資料之記憶體陣列160中的特定區段。控制器169決定供特定區段用之第二保護碼(DPB) (1351)。如果供特定區段用之第二保護碼具有第二數值(未保護狀態),則控制器169繼續允許對應於此請求之資料的修改。否則,控制器169阻止對應於此請求之資料之修改,並恢復一錯誤訊息(至結合積體電路175之系統)。
【0101】
取代單一非揮發性保護鎖碼DPBLD的是,可使用複數個非揮發性保護鎖碼DPBLD,以決定各個第二保護碼DPB之初始數值,並決定各個保護碼後來如何被修改。複數個非揮發性保護鎖碼DPBLD係儲存於一陣列之一次性可編程記憶體元件中。每個非揮發性保護鎖碼具有關於記憶體陣列160中之此些區段之一對應區段之一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值。
【0102】
當供一個特定區段用之非揮發性保護鎖碼DPBLD具有第一數值(鎖定模式)時,控制器169阻止改變供特定區段用之第二保護碼(DPB)之請求。供特定區段用之第二保護碼係被初始化至供特定區段用之第一保護碼(SPB),並被同步化至對於供特定區段用之第一保護碼之更進一步的改變。
【0103】
當供一特定區段用之非揮發性保護鎖碼DPBLD具有第二數值(未鎖定模式)時,控制器169在一初始化程序中將供特定區段用之第二保護碼(DPB)重設至第二數值(未保護模式)。在初始化程序之後,控制器169允許用於改變供特定區段用之第二保護碼之數值之請求1310。在初始化程序之後,如果供特定區段用之第一保護碼被設定到第一數值(保護狀態),則供特定區段用之相對應的第二保護碼亦被設定到第一數值。供特定區段用之非揮發性保護鎖碼DPBLD亦被設定到第一數值(亦即,對於第二保護碼沒有允許更進一步的改變)。
【0104】
注意一旦供一特定區段用之保護鎖碼被設定到第一數值,供特定區段用之第二保護碼就總是具有供特定區段用之第一保護碼之數值,這是因為第二保護碼被初始化至第一保護碼之數值,而對於第二保護碼之改變係被阻止。因此,供特定區段用之保護狀態係有效地由相對應的第一保護碼所決定。
【0105】
雖然本技術係參考上面詳述之較佳實施例及例子所揭露的,但吾人應理解到這些例子係意圖呈現一種說明而非限制的意義。應考慮到熟習本項技藝者將輕易明白修改及組合,其修改及組合將是在本技術之精神與以下申請專利範圍之範疇之內。
SPB‧‧‧保護碼
SPBLD‧‧‧保護鎖碼
TUB‧‧‧揮發性保護屏蔽碼
TUBLD‧‧‧屏蔽鎖碼
160‧‧‧記憶體陣列
161‧‧‧位址解碼器
163‧‧‧分頁緩衝器
168‧‧‧偏壓配置電源電壓/偏壓配置電源電壓方塊
169‧‧‧控制器
174‧‧‧周邊電路/方塊
175‧‧‧積體電路

Claims (22)

  1. 【第1項】
    一種記憶體電路,包括:
    一記憶體陣列,包括複數個區段;
    一陣列的非揮發性記憶體元件,該些非揮發性記憶體元件儲存一各自的保護碼,該保護碼具有關於該複數個區段中之一對應區段之一個表示一保護狀態之第一數值,或一個表示一未保護狀態之第二數值;
    一組記憶元件,包括至少一揮發性記憶體元件,在該組記憶元件中之一揮發性記憶體元件儲存一屏蔽碼,該屏蔽碼具有關於該複數個區段中之一對應區段之一個表示一屏蔽狀態之第一數值,或一個表示一未屏蔽狀態之第二數值;及
    控制邏輯,耦接至該記憶體陣列,該控制邏輯在供該特定區段用之該保護碼具有表示該保護狀態之該第一數值,以及供該特定區段用之該屏蔽碼具有表示該未屏蔽狀態之該第二數值時,阻止一特定區段的修改,否則允許該特定區段的修改。
  2. 【第2項】
    如申請專利範圍第1項所述之記憶體電路,其中該陣列之非揮發性記憶體元件係被設計成執行一種將儲存於該陣列中之所有的該些保護碼設定至表示該未保護狀態之該第二數值之抹除操作,及一種能夠將儲存於該陣列中之個別選擇的保護碼設定至表示該保護狀態之該第一數值之編程操作。
  3. 【第3項】
    如申請專利範圍第1項所述之記憶體電路,其中該組記憶元件包括一揮發性記憶體元件,該揮發性記憶體元件儲存該屏蔽碼以供該複數個區段中之所有區段用,該揮發性記憶體元件被設計成執行一種將該些選擇的屏蔽碼從表示該未屏蔽狀態之該第二數值設定至表示該屏蔽狀態之該第一數值之操作,及一種將該些選擇的屏蔽碼從表示該屏蔽狀態之該第一數值重設至表示該未屏蔽狀態之該第二數值之操作。
  4. 【第4項】
    如申請專利範圍第1項所述之記憶體電路,包括:
    一儲存一保護鎖碼之一次性可編程記憶體元件,該保護鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該保護鎖碼具有表示該鎖定模式之該第一數值時,該控制邏輯阻止對於該陣列之非揮發性記憶體元件中之該些保護碼之改變;以及
    一儲存一屏蔽鎖碼之一次性可編程記憶體元件,該屏蔽鎖碼具有表示該鎖定模式之該第一數值,以及表示該未鎖定模式之該第二數值,且其中該控制邏輯將該至少一揮發性記憶體元件中之該屏蔽碼設定至表示該未屏蔽狀態之該第二數值,接著,當該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,阻止對於該屏蔽碼之改變。
  5. 【第5項】
    如申請專利範圍第1項所述之記憶體電路,包括一儲存一屏蔽鎖碼之一次性可編程記憶體元件,該屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,該控制邏輯阻止將該些選擇的屏蔽碼從表示該未屏蔽狀態之該第二數值設定至表示該屏蔽狀態之該第一數值的改變,並允許將選擇的屏蔽碼從表示該屏蔽狀態之該第一數值重設至表示該未屏蔽狀態之該第二數值的改變。
  6. 【第6項】
    如申請專利範圍第1項所述之記憶體電路,包括一儲存一鎖碼之一次性可編程記憶體元件,該鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該鎖碼具有表示該鎖定模式之該第一數值時,該控制邏輯阻止對於該陣列之非揮發性記憶體元件中之該些保護碼的改變,將在包括至少一揮發性記憶體元件之該組記憶元件中的該屏蔽碼設定至表示該未屏蔽狀態之該第二數值,然後,阻止對於該些保護碼或該些屏蔽碼之改變。
  7. 【第7項】
    如申請專利範圍第1項所述之記憶體電路,包括一組一次性可編程記憶體元件,該組一次性可編程記憶體元件之一個一次性可編程記憶體元件儲存關於該複數個區段中之一特定區段之一屏蔽鎖碼,該屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當供一特定區段用之該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,該控制邏輯阻止對於供該陣列之非揮發性記憶體元件中之該特定區段用之該保護碼之改變,將該屏蔽碼設定至表示該未屏蔽狀態之該第二數值,然後,阻止對於供該特定區段用之該屏蔽碼之改變。
  8. 【第8項】
    如申請專利範圍第1項所述之記憶體電路,包括一儲存一保護鎖碼之密碼保護的記憶體元件,該保護鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該保護鎖碼具有表示該鎖定模式之該第一數值時,該控制邏輯阻止對於該陣列之非揮發性記憶體元件中之該些保護碼之改變;
    其中該控制邏輯於一初始化事件將該保護鎖碼設定至表示該鎖定模式之該第一數值,並只在收到一密碼之時,允許重設至表示該未鎖定模式之該第二數值。
  9. 【第9項】
    如申請專利範圍第1項所述之記憶體電路,包括一儲存一屏蔽鎖碼之密碼保護的記憶體元件,該屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中該控制邏輯將至少一揮發性記憶體元件中之該屏蔽碼設定至表示該未屏蔽狀態之該第二數值,接著,當該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,阻止對於該屏蔽碼之改變;
    其中該控制邏輯於一初始化事件將該屏蔽鎖碼設定至表示該鎖定模式之該第一數值,並只在收到一密碼之時,允許重設至表示該未鎖定模式之該第二數值。
  10. 【第10項】
    如申請專利範圍第1項所述之記憶體電路,包括一儲存一保護鎖碼之揮發性記憶體元件,該保護鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該保護鎖碼具有表示該鎖定模式之該第一數值時,該控制邏輯阻止對於該陣列之非揮發性記憶體元件中之該些保護碼之改變;
    其中該控制邏輯於一初始化程序將該保護鎖碼設定至表示該未鎖定模式之該第二數值,在收到一命令之時允許設定至表示該鎖定模式之該第一數值,然後,直到在另一個初始化事件之後,阻止對於該保護鎖碼之改變。
  11. 【第11項】
    如申請專利範圍第1項所述之記憶體電路,包括一儲存一屏蔽鎖碼之揮發性記憶體元件,該屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,該控制邏輯阻止對於包括至少一揮發性記憶體元件之該組記憶元件中的該屏蔽碼之改變;
    其中該控制邏輯於一初始化程序將該屏蔽鎖碼設定至表示該未鎖定模式之該第二數值,在收到一命令之時允許設定至表示該鎖定模式之該第一數值,然後,直到在另一個初始化事件之後,阻止對於該屏蔽鎖碼之改變。
  12. 【第12項】
    一種記憶體之積體電路上之資料保護方法,包括:
    將複數個保護碼儲存在該積體電路上,每個保護碼具有關於該記憶體之複數個區段中之一對應區段之一個表示一保護狀態之第一數值,或一個表示一未保護狀態之第二數值;
    將包括至少一屏蔽碼之一組屏蔽碼儲存在該積體電路上,該至少一屏蔽碼具有關於該複數個區段中之一對應區段之一個表示一屏蔽狀態之第一數值,或一個表示一未屏蔽狀態之第二數值;
    該至少一屏蔽碼係在一斷電事件期間被清除;及
    當供該特定區段用之該保護碼具有表示該保護狀態之該第一數值與供該特定區段用之該屏蔽碼具有表示該未屏蔽狀態之該第二數值時,藉由使用該積體電路上之電路阻止該記憶體之一特定區段中的修改,否則允許該特定區段中之修改。
  13. 【第13項】
    如申請專利範圍第12項所述之資料保護方法,包括:將該複數個保護碼儲存在一陣列之非揮發性記憶體元件中,該陣列之非揮發性記憶體元件被設計成執行一種將儲存於該陣列中之所有的該些保護碼設定至表示該未保護狀態之該第二數值之抹除操作,及一種用於將個別選擇的保護碼設定至表示該保護狀態之該第一數值之編程操作。
  14. 【第14項】
    如申請專利範圍第12項所述之資料保護方法,包括:
    將包括至少一屏蔽碼之該組屏蔽碼儲存在該積體電路上之記憶體中,設計成執行用於一將一個別選擇的屏蔽碼從表示該未屏蔽狀態之該第二數值設定至表示該屏蔽狀態之該第一數值之操作,及用於一將一個別選擇的屏蔽碼從表示該屏蔽狀態之該第一數值重設至表示該未屏蔽狀態之該第二數值之操作;以及
    使用該至少一屏蔽碼中的單一屏蔽碼,該單一屏蔽碼係對應至該複數個區段中之該些區段全部或一個以上。
  15. 【第15項】
    如申請專利範圍第12項所述之資料保護方法,包括:
    將一保護鎖碼儲存在一個一次性可編程記憶體元件中,該保護鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該保護鎖碼具有表示該鎖定模式該第一數值時,阻止對於該些保護碼之改變;以及
    將一屏蔽鎖碼儲存在該一次性可編程記憶體元件中,該屏蔽鎖碼具有表示該鎖定模式之該第一數值,以及表示該未鎖定模式之該第二數值,且其中該屏蔽碼被設定到表示該未屏蔽狀態之該第二數值,接著,當該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,阻止對於該屏蔽碼之改變。
  16. 【第16項】
    如申請專利範圍第12項所述之資料保護方法,包括:將一屏蔽鎖碼儲存在一個一次性可編程記憶體元件中,該屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,阻止將該些選擇的屏蔽碼從表示該未屏蔽狀態之該第二數值設定至表示該屏蔽狀態之該第一數值之改變,以及允許將數個選擇的屏蔽碼從表示該屏蔽狀態之該第一數值重設至表示該未屏蔽狀態之該第二數值之改變。
  17. 【第17項】
    如申請專利範圍第12項所述之資料保護方法,包括:將一鎖碼儲存在一個一次性可編程記憶體元件中,該鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該鎖碼具有表示該鎖定模式之該第一數值時,阻止對於該些保護碼之改變,將包括至少一揮發性記憶體元件之該組屏蔽碼中的該屏蔽碼設定至表示該未屏蔽狀態之該第二數值,然後,阻止對於該些保護碼或該些屏蔽碼之改變。
  18. 【第18項】
    如申請專利範圍第12項所述之資料保護方法,包括:將一供該複數個區段中之一特定區段用之屏蔽鎖碼,儲存在一組一次性可編程記憶體元件之每個元件中,該屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當供一特定區段用之該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,阻止對於供該特定區段用之該保護碼之改變,將供該特定區段用之該屏蔽碼設定至表示該未屏蔽狀態之該第二數值,然後,阻止對於供該特定區段用之該屏蔽碼之改變。
  19. 【第19項】
    如申請專利範圍第12項所述之資料保護方法,包括:將一保護鎖碼儲存在一密碼保護的記憶體元件中,該保護鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,並在該保護鎖碼具有表示該鎖定模式之該第一數值時,阻止對於該些保護碼之改變;
    其中該保護鎖碼係於一初始化事件被設定到表示該鎖定模式之該第一數值,並只在收到一密碼之時允許重設至表示該未鎖定模式之該第二數值。
  20. 【第20項】
    如申請專利範圍第12項所述之資料保護方法,包括:將一屏蔽鎖碼儲存在一密碼保護的記憶體元件中,該屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中該屏蔽碼被設定到表示該未屏蔽狀態之該第二數值,接著,當該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,阻止對於該屏蔽碼之改變;
    其中該屏蔽鎖碼係於一初始化事件被設定到表示該鎖定模式之該第一數值,並只在收到一密碼之時允許重設至表示該未鎖定模式之該第二數值。
  21. 【第21項】
    如申請專利範圍第12項所述之資料保護方法,包括:將一保護鎖碼儲存在一揮發性記憶體元件中,該保護鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該保護鎖碼具有表示該鎖定模式之該第一數值時,阻止對於該些保護碼之改變;
    其中該保護鎖碼係於一初始化程序被設定到表示該未鎖定模式之該第二數值,該保護鎖碼係被允許用於在收到一命令之時設定至表示該鎖定模式之該第一數值,然後,直到在另一個初始化事件之後,阻止對於該保護鎖碼之改變。
  22. 【第22項】
    如申請專利範圍第12項所述之資料保護方法,包括:將一屏蔽鎖碼儲存在一揮發性記憶體元件中,該屏蔽鎖碼具有一個表示一鎖定模式之第一數值,以及一個表示一未鎖定模式之第二數值,且其中當該屏蔽鎖碼具有表示該鎖定模式之該第一數值時,阻止對於該設定中的該屏蔽碼之改變;
    其中該屏蔽鎖碼係於一初始化程序被設定到表示該未鎖定模式之該第二數值,該屏蔽鎖碼係在收到一命令之時被允許來設定至表示該鎖定模式之該第一數值,然後,直到在另一個初始化事件之後,阻止對於該屏蔽鎖碼之改變。
TW104105749A 2014-02-26 2015-02-17 記憶體之積體電路上之資料保護方法及相關之記憶體電路 TWI537972B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461945112P 2014-02-26 2014-02-26
US14/310,450 US9658787B2 (en) 2014-02-26 2014-06-20 Nonvolatile memory data protection using nonvolatile protection codes and volatile mask codes

Publications (2)

Publication Number Publication Date
TW201539467A true TW201539467A (zh) 2015-10-16
TWI537972B TWI537972B (zh) 2016-06-11

Family

ID=53882239

Family Applications (2)

Application Number Title Priority Date Filing Date
TW104105749A TWI537972B (zh) 2014-02-26 2015-02-17 記憶體之積體電路上之資料保護方法及相關之記憶體電路
TW104105748A TWI518506B (zh) 2014-02-26 2015-02-17 記憶體之積體電路上之資料保護方法及相關之記憶體電路

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW104105748A TWI518506B (zh) 2014-02-26 2015-02-17 記憶體之積體電路上之資料保護方法及相關之記憶體電路

Country Status (3)

Country Link
US (2) US9940048B2 (zh)
CN (2) CN104916306B (zh)
TW (2) TWI537972B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI688861B (zh) * 2018-09-18 2020-03-21 新唐科技股份有限公司 資料處理裝置及其資料保護方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10404478B2 (en) 2016-08-04 2019-09-03 Macronix International Co., Ltd. Physical unclonable function using divided threshold distributions in non-volatile memory
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US9811689B1 (en) 2016-12-27 2017-11-07 Macronix International Co., Ltd. Chip ID generation using physical unclonable function
US10387333B2 (en) * 2017-01-05 2019-08-20 Qualcomm Incorporated Non-volatile random access memory with gated security access
US10585608B2 (en) * 2017-03-22 2020-03-10 Oracle International Corporation System and method for securely isolating a system feature
US10296738B2 (en) * 2017-05-03 2019-05-21 Nuvoton Technology Corporation Secure integrated-circuit state management
EP3407335B1 (en) * 2017-05-22 2023-07-26 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator
EP3407336B1 (en) 2017-05-22 2022-08-17 Macronix International Co., Ltd. Unchangeable phyisical unclonable function in non-volatile memory
US11050569B2 (en) 2019-08-14 2021-06-29 Macronix International Co., Ltd. Security memory scheme
US11049585B1 (en) 2020-03-27 2021-06-29 Macronix International Co., Ltd. On chip block repair scheme
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959860A (en) 1989-02-07 1990-09-25 Compaq Computer Corporation Power-on password functions for computer system
EP0618535B1 (en) 1989-04-13 1999-08-25 SanDisk Corporation EEPROM card with defective cell substitution and cache memory
US5065364A (en) 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5126808A (en) 1989-10-23 1992-06-30 Advanced Micro Devices, Inc. Flash EEPROM array with paged erase architecture
US5210845A (en) 1990-11-28 1993-05-11 Intel Corporation Controller for two-way set associative cache
US5197034A (en) 1991-05-10 1993-03-23 Intel Corporation Floating gate non-volatile memory with deep power down and write lock-out
US5509134A (en) 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
US5353256A (en) 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5592641A (en) 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
US5513136A (en) 1993-09-27 1996-04-30 Intel Corporation Nonvolatile memory with blocks and circuitry for selectively protecting the blocks for memory operations
US5442704A (en) 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
US5438546A (en) 1994-06-02 1995-08-01 Intel Corporation Programmable redundancy scheme suitable for single-bit state and multibit state nonvolatile memories
US5794033A (en) 1995-10-24 1998-08-11 International Business Machines Corporation Method and system for in-site and on-line reprogramming of hardware logics with remote loading in a network device
US6035401A (en) * 1997-02-03 2000-03-07 Intel Corporation Block locking apparatus for flash memory
US6073243A (en) 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
US5930826A (en) 1997-04-07 1999-07-27 Aplus Integrated Circuits, Inc. Flash memory protection attribute status bits held in a flash memory array
US6026016A (en) 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
US6209069B1 (en) 1998-05-11 2001-03-27 Intel Corporation Method and apparatus using volatile lock architecture for individual block locking on flash memory
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
US6598135B1 (en) 2000-05-03 2003-07-22 Plasmon Ide System and method for defining rewriteable data storage media as write once data storage media
FR2810152A1 (fr) 2000-06-13 2001-12-14 St Microelectronics Sa Memoire eeprom securisee comprenant un circuit de correction d'erreur
JP2002230982A (ja) 2001-02-01 2002-08-16 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US6731536B1 (en) 2001-03-05 2004-05-04 Advanced Micro Devices, Inc. Password and dynamic protection of flash memory data
US20030233562A1 (en) * 2002-06-12 2003-12-18 Sachin Chheda Data-protection circuit and method
JP2004038569A (ja) * 2002-07-03 2004-02-05 Toshiba Lsi System Support Kk 不揮発性メモリのデータ保護システム
EP1450261A1 (en) * 2003-02-18 2004-08-25 STMicroelectronics S.r.l. Semiconductor memory with access protection scheme
JP2004259385A (ja) * 2003-02-27 2004-09-16 Fujitsu Ltd 半導体記憶装置
US8639946B2 (en) * 2005-06-24 2014-01-28 Sigmatel, Inc. System and method of using a protected non-volatile memory
CN102385556B (zh) * 2011-11-08 2014-11-26 聚辰半导体(上海)有限公司 串行非易失性存储器及解除存储器写保护的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI688861B (zh) * 2018-09-18 2020-03-21 新唐科技股份有限公司 資料處理裝置及其資料保護方法
US11455401B2 (en) 2018-09-18 2022-09-27 Nuvoton Technology Corporation Data-processing device and data-protection method thereof

Also Published As

Publication number Publication date
US9658787B2 (en) 2017-05-23
US20150242158A1 (en) 2015-08-27
CN104916306A (zh) 2015-09-16
CN104916328A (zh) 2015-09-16
TWI518506B (zh) 2016-01-21
CN104916328B (zh) 2019-05-31
TW201543219A (zh) 2015-11-16
CN104916306B (zh) 2018-01-26
US20150242140A1 (en) 2015-08-27
US9940048B2 (en) 2018-04-10
TWI537972B (zh) 2016-06-11

Similar Documents

Publication Publication Date Title
TWI537972B (zh) 記憶體之積體電路上之資料保護方法及相關之記憶體電路
US11615035B2 (en) Storage system and method for performing and authenticating write-protection thereof
US9984007B2 (en) Storage system and method for performing and authenticating write-protection thereof
CN110908932B (zh) 数据处理装置及其数据保护方法
US20100250887A1 (en) Password Accessible Microelectronic Memory
KR100813629B1 (ko) 향상된 섹터 보호 스킴
US7249231B2 (en) Semiconductor memory with access protection scheme
US20170371809A1 (en) Encrypted memory access using page table attributes
US9886408B2 (en) Data access protection for computer systems
JP2006092169A (ja) メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
JP2006350885A (ja) 半導体装置
JP4843222B2 (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
TW201643737A (zh) 組態串列裝置
JP2008225672A (ja) 半導体メモリ装置
JP2006221743A (ja) 記憶システムと半導体記憶装置の書き込み方法
US20140281159A1 (en) Memory controller
WO2017047272A1 (ja) 半導体記憶装置および半導体記憶装置におけるデータ消去方法
CN109147847B (zh) 半导体装置和闪存存储器控制方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2006139341A (ja) 不揮発性メモリシステム
JP2005209178A (ja) メモリ保護装置、メモリ保護方法及びメモリ保護プログラム
US20240118816A1 (en) Method for protecting partial space of ssd space and storage system
US20240086336A1 (en) Storage device deleting encryption key, method of operating the same, and method of operating electronic device including the same
JP2004118937A (ja) 不揮発性メモリおよびこれを有したデータ記憶装置
US20200293207A1 (en) Memory system and memory control method