TW201013682A - One-time-programmable memory emulation - Google Patents

One-time-programmable memory emulation Download PDF

Info

Publication number
TW201013682A
TW201013682A TW098125247A TW98125247A TW201013682A TW 201013682 A TW201013682 A TW 201013682A TW 098125247 A TW098125247 A TW 098125247A TW 98125247 A TW98125247 A TW 98125247A TW 201013682 A TW201013682 A TW 201013682A
Authority
TW
Taiwan
Prior art keywords
memory
page
segment
visible
memory segment
Prior art date
Application number
TW098125247A
Other languages
English (en)
Inventor
Majid Kaabouch
Carine Lefort
Jean-Pascal Maraninchi
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Publication of TW201013682A publication Critical patent/TW201013682A/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

201013682 六、發明說明: 【發明所屬之技術領域】 本說明書係關於一次可程式化記憶體模擬。 【先前技術】 裝置正用於以電子方式儲存更多資訊。所儲存之某些資 料係敏感資料。舉例而言,可將醫療記錄及財務資訊儲存 於裝置中以增加經授權使用者對該資訊之可存取性。當確 定裝置之類型及經實施以保護該資料之安全性措施時可考 量所儲存資料之敏感性。 用於以電子方式儲存資訊之一實例性裝置係—智慧卡。 智慧卡可將資訊儲存於嵌入於該卡中之記憶體中。可使用 該記憶體來儲存財務資訊、醫'療記錄、識w資訊以及其它 敏感個人資料。除儲存敏感個人資料外,智慧卡亦可儲存 敏感程式資料。敏感程式資料之實例可包括用於組態一作 業系統之參數表、可用於軟體修補之一跳轉表、與裝置之 壽命循環管理相關之資訊、用於密碼學應用之主密餘等。 一旦資訊儲存於該智慧卡之記憶體中,該卡即可由配備 有可與料智慧卡介接之週較備之計算裝置心。可使 程式化記憶體來增加資料之安全性,此乃因一旦 多個⑽記憶體頁…它非㈣:舉例而…個或 然而,使用-次可:;;二=記憶體頁1實施。 人J%式化貝枓有時可導致與 使用相關之低效率。 、 圮憶體之 【發明内容】 141604.doc .4- 201013682 本文件揭示—種―次可程式化(「otp」)記憶體模擬及 其執行方法❶可藉由回應於向一οτρ記憶體位置寫入資料 之一指令管理對一記憶體陣列之讀取及寫入且選擇性地設 定對應於該等記憶體位置之一安全性旗標來模擬〇τρ記憶 體。該記憶體陣列可由NAND快閃記憶體塊界定。multiple 該等記憶體塊可包括多個NAND快閃記憶體頁。可使用一 可用NAND快閃記憶體子集合來模擬該〇τρ記憶體。 當接收到一 ΟΤΡ寫入指令時,可自一第一記憶體頁讀取 • 先前儲存之資料,將其與新資料組合且儲存至一目標記憶 體頁。可設定一安全性旗標以防止該目標頁在擦除之前被 重新程式化。 此說明書中所描述之標的物之特定實施方案可經實施以 實現以下可選優點中之一者或多者。可在一次可程式化環 境中更有效地使用記憶體。使用NAND快閃記憶體之裝置 (例如’智慧卡)可用於需要一次可程式化記憶體之系統 中。可藉助一次可程式化模擬來達成更高之記憶體容量, ® 此乃因可使用NAND快閃記憶體而非一次可程式化記情體 來實現更高之記憶體容量。 此說明書中所描述之標的物之一個或多個實施例之細節 闡明於以下隨附圖式及描述中。該標的物之其它特徵、離、 樣及優點將自該描述、圖式及申請專利範圍而變得顯而易 見。 【實施方式】 本文件揭示一次可程式化(「0TP」)記憶體模擬。舉例 141604.doc 201013682 而5,可使用NAND快閃記憶體來實施該〇Tp模擬。在一 個特定實例中,可使用兩個NAND快閃記憶體塊來模擬一 個OTP記憶體頁。可使用一可用快閃記憶體子集合來模擬 OTP記憶體,而不干擾剩餘NAND快閃記憶體。在此特定 實例中,實體記憶體之量將與對一計算裝置可見之記憶體 之量不同。舉例而言,當使用兩個NAN]>^閃記憶體塊來 模擬-單個OTP記憶體頁時,對一計算裝置可見之總記憶 體係OTP之快閃+1頁之N_2個塊,其巾N係可用實體NAND 快閃記憶體塊之數目。 在某些實施方案中 一模擬器可接收包括來自一計算裝 置之OTP資料之一 OTP指令。 該模擬器又可識別一可見快 閃記憶體頁(例如’對計算裝置可見)且讀取儲存於該可見 頁中之資料。該模擬器可藉助自該計算裝置接收之資 料更新自該可見頁讀取之資料,且將該經更新之資料儲存 於OTP記憶體中之一目標頁中 該目標頁係其中所有位元 組皆係一十六進制邏輯值汀之_ n了t w οτρ記憶體頁。可基於一 個或多個安全性指示符(例如 加★ « λ 如’ 一個或多個安全性位元組) 及儲存於該目標頁中之一侗+夕/ 個或多個值將該目標頁識別為空 白。 一旦該目標頁已程式化有姑® -| 4、!更新之資料’即可設定一安
全性指示符以將該目標頁埤A L "丁只每别為一經程式化且被鎖定之 頁。一旦設定了該安全性指;外 均不符’即可將目標頁之位址儲 標頁可由模擬器或一CPU識別 存至一可見頁指標中且該目 為可見頁。 141604.doc 201013682 當通電時,該模擬器藉由搜索快閃頁以尋找已設定其安 全性指示符之一第一頁來識別該可見頁。此頁之位址可儲 存於該可見頁指標中。若多個頁已設定安全性指示符,則 該模擬器可根據該等頁之位址來確定將哪一位址储存於該 可見頁指標中。舉例而言,該模擬器可選擇已設定安全性 指示符之頁之一最高位址作為該可見頁指標。可藉助成功 程式化之目標頁之位址更新該可見頁指標,且此後該模擬 器可基於該可見頁^曰^:來識別該可見頁。當該可見頁指根 ® 儲存與一特定塊相關聯之一頁位址時,可擦除不在該特定 塊中之頁。 §1.0 —次可程式化記憶體環境 圖1係其中可實施一次可程式化記憶體之一實例性環境 之一圖表。一智慧卡102係可包括一喪入式積體電路晶片 103之 ^裝置。該積體電路晶片可包括一記憶體結構, 或包括一記憶體結構之一安全微控制器,其可運作為一資 料儲存器104。智慧卡102之資料儲存器1〇4可儲存可由與 參 智慧卡1〇2進行通信之一計算裝置1〇6存取之數位資訊。計 算裝置106可透過與智慧卡1〇2之直接接觸或經由—無線連 .接與智慧卡102進行通信。 §十异裝置1 〇 6可配備有一介面週邊設備1 〇 8 (例如,智慧 卡讀取器)以促進與智慧卡102之直接接觸。一智慧卡使用 者110可將智慧卡102***至介面週邊設備1〇8中。—旦插 入了智慧卡102,介面週邊設備108即可與積體電路晶片 1〇3進行接觸。計算裝置106又可存取資料儲存器ι〇4或與 141604.doc 201013682 微控制器進行通信以自眘Μ μ 自資科儲存器104儲存及檢索資料。 介面週邊設備亦可具有促進鱼 線能力。 4慧卡⑻之無線通信之無 儲存於該智慧卡上之資料之 智慧卡102可用作***/借 且出入安全建築物。因此, 智慧卡1 02可用於需要保護 安全性之應用中。舉例而言, 記卡以儲存敏感醫療保健資料 防止對儲存於資料儲存器1G4中之資訊之未經授權之操縱 可頗有利。為保護儲存於資料儲存HUM中之資料之完敕 性,可使用〇TP記憶體來實施資料儲存器ι〇4β〇τρ記憶體 係僅可在其被擦除之前程式化―次之記憶體。因此,一旦 ΟΤΡ記憶體之一單元姆鞀夫仆 Β _ 早π、,士私式化,即不可在其首次擦除前改 變其。 NAND快閃記憶體可具有頁位準寫入粒度以使得可在不 干擾該NAND快閃記憶體陣列中之其它頁之情形下程式化 每-NAND快閃記憶體頁 '然而,當使用多個寫入作業來 程式化相同頁之單獨位元組時’ NAND‘&閃記憶體架構可 使該NAND快閃記憶體經受潛在”寫入干擾”。一寫入干 擾可係由在一程式循環期間施加於該快閃記憶體陣列之高 電壓信號所導致之對該陣列中之一位元組之不需要修改。 舉例而言,施加於該陣列之高電壓可導致一已經程式化之 位元組之一狀態改變,該狀態改變又導致破壞資料。 在某些實施方案中,可使用一NAND快閃記憶體結構及 一 OTP模擬器112來模擬具有小於一頁之一寫入粒度(例 如,位元組位準寫入粒度)之一0TP記憶體。在此等實施方 141604.doc 201013682 案中,OTP模擬器112可自計算裝置106接收OTP寫入指 令。OTP模擬器112又可存取多個NAND快閃記憶體頁,可 按一所界定或隨機順序程式化該多個NAND快閃記憶體頁 以促進OTP功能性。 §2.0 —次可程式化記憶體模擬 圖2A係一實例性0TP模擬系統200。在某些實施方案 中,OTP模擬系統200可包括一NAND快閃記憶體結構201 及一 OTP模擬器112。舉例而言,可在一智慧卡(例如,智 Φ 慧卡102)或其中使用OTP記憶體之任一其它裝置或系統上 實施OTP模擬系統200。在某些實施方案中,OTP模擬器 112可接收OTP記憶體指令且管理可用NAND快閃資源以模 擬 0TP。 §2.1 實例性模擬器程式化 在某些實施方案中,OTP模擬器112可回應於一個或多 個OTP寫入指令將一個OTP資料頁儲存於實例性NAND快 閃記憶體結構201中。在此等實施方案中,NAND快閃記憶 ® 體結構201可包括一第一記憶體塊202及一第二記憶體塊 204。每一記憶體塊202、204可包括多個記憶體頁206。舉 例而言,第一記憶體塊202可包括八個記憶體頁206-0-206-7。類似地,第二記憶體塊204可包括八個記憶體頁206-8-206-F ° 在某些實施方案中,第一記憶體塊202及第二記憶體塊 204中之每一偶數頁208分別在第一記憶體塊202及第二記 憶體塊204中具有一對應奇數頁205。舉例而言,第一記憶 141604.doc 201013682 體塊202之頁206-0、206-2、206-4及206-6可分別對應於頁 206-1、206-3、206-5及206-7。類似地,第二記憶體塊204 中之偶數頁206-8、206-A、206-C及206-E可分別對應於奇 數頁206-9、206-B、206-D及206-F。儘管為便於描述而毗 鄰於對應奇數頁205呈現偶數頁208,但對應頁可位於與其 所對應頁相同之塊内之任一位置。 在某些實施方案中,OTP模擬器112可在接收到一 OTP寫 入作業時將OTP資料儲存於偶數頁208中。在此等實施方 案中,OTP模擬器112可將狀態指示符及其它資訊儲存於 奇數頁205中。 一安全性指示符係可儲存於奇數頁205中之一實例性狀 態指示符。在某些實施方案中,該安全性指示符可係一奇 數頁205之將對應偶數頁208指定為一被鎖定頁之一個或多 個位元組。當將一偶數頁208指定為被鎖定時,不可在擦 除之前對偶數頁208再次進行程式化。此防止偶數頁208被 變更且促進一頁位準處之OTP記憶體功能性。 舉例而言,可將OTP資料儲存於第一記憶體塊202之頁 206-0中。當頁206-0經成功程式化時,可將位於頁206-1中 之安全性位元組設定為一所界定值以將頁206-0指定為被 鎖定。一旦將頁206-1中之安全性位元組設定為該所界定 值,即不可在擦除之前對頁206-0再次進行程式化。因 此,可在一完全頁寫入之後藉由使用一安全性位元組鎖定 該頁來藉助NAND快閃記憶體執行該頁位準處之OTP程式 化。 141604.doc •10- 201013682 當在一單個⑽記憶體寫人中寫人少於—f NAND快閃頁可含有少於— / + L , 凡王頁資枓,但亦被鎖定。因 此’在不首先對該NAND快閃頁執行擦除之情形下,不可 向該頁中剩餘之空位元組寫入額外資料位元纪 otp模擬器112可模擬具有小於—頁之〇τρ記憶體單元之 οτρ記憶體。在某些實施方案中,〇τρ模擬器ιΐ2可使用實 例性_0快閃記憶體結構2〇1之架構以便可向與部分程式 化之頁中所含有之資料共用之一頁寫入額外資料位元/ 而不對該部分程式化之頁執行多個寫入作業。 在某些實施方案中’ ΟΤΡ模擬器112可藉由向目標頁寫 入額外ΟΤΡ資料位m該部分程式化之頁中所含有之資 料來將該額外OTP資料位元組與該部分程式化之頁中所含 有之資料-起寫入至一目標頁(例如,空白頁)。該目標頁 可係具有下一最高位址之偶數頁208或任一其它空白頁。 參 圖2B-2D係在使用NAND快閃記憶體模Μ 〇τρ^憶體寫入 期間之實例性記憶體狀態之方塊圖。在圖2Β中呈現第一記 憶體塊202之四個頁206·0 _ 2〇6-3。每一頁2〇6〇2〇63之 頁寬度可係64個位元組、128個位元組或任一其它適當真 寬度。頁206-0經部分程式化且在一第一位元組21〇〇中含 有資料。頁206-0中之其它位元組含有十六進制值ff,從 而指示自上次擦除以來該位元組尚未經程式化。頁2064 對應於頁206-0且含有具有一值〇〇之安全性位元組2丨2 〇, 從而指示頁206-0已被敎。因此,不可在頁施被擦除 之前對頁206-0執行額外寫入。 141604.doc 201013682 頁206-2之每一位元組具有十六進制值ρρ,從而指示頁 206-2係空白頁。類似地,頁206-3之安全性位元組2121具 有十六進制值FF ’從而指示頁206-2尚未被鎖定。因此, 頁206-2可係目標頁,且又可向頁206-2寫入資料。 當圖2A之OTP模擬器112接收到將一新資料值b儲存於 (例如)位元組210-1中之一OTP寫入指令時,〇τρ模擬器ιΐ2 不可將該值儲存於位元組210-1中,此乃因頁2〇6_〇被鎖 疋。然而,頁206-2未被鎖定,此乃因對應於頁2〇62之安 全性位元212-1含有十六進制值ff。因此,可將新資料值Β 及儲存於位元組210-0中之值兩者儲存於頁2〇6_2中。 在某些實施方案中,ΟΤΡ模擬器112可讀取儲存於頁2〇6_ 〇(例如,位元組210-0)中之資料且將所讀取之資料與與 ΟΤΡ寫入指令-起接收之資料組合。該⑽模擬器又可將 自頁206-0中之位元組210-0讀取之資料及該所接收之資料 分別寫入至位元組2U-0及211_卜圖2C係所得記憶體狀態 之一方塊圖。 如圖2C中所示,位元組211_〇含有先前儲存於位元組 210-0中之值A,而位元組以^含有與〇τρ寫入指令一起接 收之新資料值Β。一旦該寫入作業已完成,該〇τρ模擬器 即可藉由將頁2G6_3(例#,對應於頁2G6 2)中之安全性位 元組212-1程式化為值00來鎖定頁2〇6_2,如圖2〇中所示。 因此’不可操縱儲存於頁206·2中之資料且亦保護該頁免 受寫入干擾,此乃因對該頁僅執行—個寫入。 該ΟΤΡ模擬器可與上文所描述之方式類似之方式來執行 141604.doc •12- 201013682 額外οτρ寫入作業以便可將額外資料位元組寫入至與先前 所儲存資料相同之NAND快閃記憶體頁中之位元組。在某 些實此方案中’ OTP模擬器112可基於一可見頁指標來確 定欲對其進行寫入之下一頁。一可見頁指標可係儲存於一 暫存器(例如,記憶體控制器中之一暫存器)中之—頁位 址’該暫存器可由正存取一 0TP記憶體之一計算裝置存 取。該頁位址可對應於對該計算裝置可見(例如,可由該 計算裝置存取)之一 OTP記憶體頁。舉例而言,〇τρ模擬器 ® 112可將經成功寫入(例如,經程式化且被鎖定)之最後 NAND快閃記憶體頁之位址儲存為該可見頁指標,以使得 該計算裝置可識別該可見頁中之下一空白位元組。 當一計算裝置提供欲寫入至該下一可用位元組之資料 時,οτρ模擬器112可將資料儲存至另一NAND快閃記憶體 頁中之一對應位元組且將新頁位址儲存為可見頁指標。舉 例而言,OTP模擬器i 12可按頁位址之順序次序來對頁進 藝打程式化。因此,當按頁位址之順序次序儲存頁時,可在 第二記憶體塊2 〇 4中之任何頁被程式化之前對第一記憶體 塊202中之頁進行程式化。儘管提供頁之順序程式化,但 可使用其它頁程式化次序。 一 該可見頁指標亦可用於管理一計算裝置之資料讀取。舉 例而言,當—計算裝置嘗試自正用於模擬0TP記憶體之 NAND快閃中讀取資料時,該計算裝置可參考該可見頁指 標來識別欲讀取之資料之位置。類似地,當該計算裝置: 程式化以存取一單個0TP記憶體頁_,可藉助對應於該 141604.doc •13· 201013682 οτρ記憶體之一靜態頁位址對其進行程式化。因此,來自 該计算裝置之每-讀取指令將針對一單個頁。〇τρ模擬器 112可接收該讀取指令且參考該可見頁指標來檢索正確資 料且將其提供至該計算裝置,而不需要該計算裝置提供該 資料在該NAND快閃中之實際位置。 §2.2 實例性快閃記憶體管理 如上所論述,該ΟΤΡ模擬器可回應於〇τρ寫入指令將資 料寫入至NAND快閃記憶體頁。然而,一旦所有νανι>^ 閃記憶體頁皆已經寫入,即不可在至少一個頁被擦除之前 寫入額外資料。因此,可週期地或回應於一觸發器事件來 執行擦除功能,以便先前經寫入之ΝΑΝΕΗ^閃頁可用於後 續0ΤΡ寫入作業。 當對该NAND快閃記憶體執行一擦除時,可將經擦除之 每一位元組設定為十六進制值Fp ’從而指示該位元組可用 於程式化。在某些實施方案中’藉助塊粒度擦除該Nand 快閃記憶體。在此等實施方案中,〇Tp模擬器u 2可在一 最後程式化之頁不位於欲擦除之塊中時擦除記憶體塊。舉 例而言,再次參照圖2A ’ OTP模擬器112可在該最後程式 化之頁位於塊204中時擦除塊202。類似地,OTP模擬器 112可在該最後程式化之頁位於塊2〇2中時擦除塊204。 在某些實施方案中,0TP模擬器Π2可基於可見頁指標 來識別該最後程式化之頁。如上所論述,由OTP模擬器 112所儲存之可見頁指標可識別由OTP模擬器11 2成功程式 化之最後NAND快閃頁之頁位址。因此,該OTP模擬器可 I4I604.doc • 14- 201013682 使用儲存於該可見頁指標中之頁位址來確定是否可擦除一 特定資料塊。 τ ' 舉例而言,若該可見頁指標指示頁2〇6_Α係由〇τρ模擬 器112程式化之最後頁,則可擦除第一記憶體塊2〇2,而不 擦除最後程式化之資料頁。類似地,若該可見頁指標指示 •頁206-2係由該0ΤΡ模擬器程式化之最後頁,則可擦除^二 -記憶體塊204,而不擦除最後程式化之資料頁。 當ΟΤΡ模擬器112按順序程式化頁時,可在另—塊之第 ❹ 頁經成功程式化時執行擦除。舉例而言,可在頁2〇6 8 經成功程式化之後擦除第一記憶體塊2〇2。類似地,可在 頁206-0經成功程式化之後擦除第二記憶體塊2〇4。在另一 塊之第一頁經成功程式化之後擦除每一記憶體塊增加在另 一塊之所有頁經程式化時每一記憶體塊可被擦除且可用於 程式化之可能性。 §2.3 實例性加電作業 在某些實施方案中,ΟΤΡ模擬器112可在加電時確定 NAND快閃記憶體之狀態。舉例而言,οτρ模擬器112可確 定欲成功程式化之最後頁、可用於程式化之下一頁及在一 寫入期間是否存在嘗試性攻擊或斷電。確定該N and快閃 記憶體之狀態使得OTP模擬器112能夠確定如何管理在一 新OTP寫入指令中接收之資料以及促進對應儲存為可見頁 才曰標之頁位址之識別。 OTP模擬器112可藉由(例如)檢查儲存在每一偶數頁2〇8 及每一對應奇數頁205中之值來確定該NAND快閃記憶體之 141604.doc •15· 201013682 狀態 在某些實施方案φ, 模擬器112可首先將所接 藉“/ —空白偶數頁_,且隨後在-寫人循環期間 〜對應奇數頁中之安全性位元组設定為所界定值來鎖 。偶數頁。因此’在此等實施方案中,可根據該偶數及 "數頁之值來確定#_NAND快閃記憶體頁之狀態。 j而。若〇TP模擬器112確定一奇數頁205含有將對 應偶數頁208識別為被鎖定之所界定值,則〇τρ模擬器ιΐ2 可將該對應偶數頁208識別為經成功程式化之頁。 相反,若ΟΤΡ模擬器112確定一偶數頁2〇8含有資料但 對應奇數頁205中之安全性位元組不含有將偶數頁寫識別 為被鎖定之所界定值,則ΟΤΡ模擬器112可將該偶數頁識 別為經党一攻擊或另外未能成功程式化(例如,在程式化 期間斷電)之一頁。 在某些實施方案中’ ΟΤΡ模擬器112可按其中程式化頁 之相同次序確定每一頁之狀態。舉例而言,若按順序次序 程式化該等頁,則〇Τρ模擬器i 12可按順序次序確定該等 頁之狀態。因此,在此實例中,OTP模擬器j丨2可基於頁 206-0中之位元組之值以及頁206-1中之安全性位元組之值 來首先確定頁206-0之狀態。OTP模擬器U2可藉由檢查頁 206-1之安全性位元組之值來開始。若該安全性位元組設 定為〇〇(例如,將頁206-0識別為被鎖定之所界定值),則 OTP模擬器112可確定頁206-0已成功程式化且繼續至頁 206-2 ° 為確定頁206-2之狀態,該OTP模擬器可藉由檢查頁206- 141604.doc 201013682 3之安全性位元組之值來再次開始。若⑽模擬器ιΐ2確定 頁206-3之安全性位元組之值非係⑼,則頁2Q6韻未被鎖 定。OTP模擬器112又可檢查頁2〇6_2之值。若頁2〇62之所 有位元組白含有一擦除值(例如,十六進制值ff),則 模擬器112可確定頁206-2可用於程式化。然而,若2〇6_2之 任何位元組含有除該擦除值(例如,十六進制值ff)外之一 值,則OTP模擬器112可確定頁2〇6_2之程式化失敗(例如, 電力在程式化期間中斷)。〇Tp模擬器j 12可藉由以類似於 ® 上文所描述方式之方式確定剩餘偶數頁(例如,偶數頁206-4-206-Ε)之狀態來繼續。 基於該等偶數頁之狀態,〇τρ模擬器112可確定如何處 理所接收之οτρ寫入指令。在某些實施方案中,οτρ模擬 器112可將與具有所界定值(例如,〇〇)之一安全性位元組相 關聯之最高偶數頁208識別為可見頁。ΟΤΡ模擬器112又可 將該可見頁之位址儲存為可見頁指標。當接收到一 〇τρ寫 # 入指令時,ΟΤΡ模擬器112可基於該可見頁指標來識別該 目標頁。 繼續以上實例’若頁206-0被識別為該可見頁,則οτρ模 擬器112可將下一空白頁(例如,206-4)識別為欲程式化之 下一頁。在此實例中,可繞過頁206-2,此乃因ΟΤΡ模擬器 112破定頁206-2被不正確地程式化。因此,可將該下一空 白頁用作額外ΟΤΡ寫入指令之目標頁。 §3.0 實例性一次可程式化模擬器 圖3係一實例性ΟΤΡ模擬器112之一方塊圖。在某些實施 141604.doc 17· 201013682 方案中’實例性OTP模擬器112可包括一可見段識別模組 3〇2、一程式模組304、一安全性模組306及一段完整性模 組3 08。οτρ模擬器112可實施於電子電路中(例如)以使用 NAND快閃記憶體來模擬〇TP記憶體。〇τρ模擬器112之模 組可連接至一共同通信匯流排3 14從而可在該等模組之間 共享資訊。 在某些實施方案中’可見段識別模組3〇2可運作以識別 對一週邊裝置(例如,提供〇τρ記憶體指令之一計算裝置) 可見之一記憶體段。可見段識別模組302可基於與每一 NAND快閃記憶體頁相關聯之安全性位元組(例如,圖2D 之位疋組212-1)來識別該NAND快閃記憶體中之可見記憶 體段(例如,圖2B之頁206-0)。舉例而言,可見段識別模組 302可將該可見段識別為一塊中與一安全性指示符(例如, 將该頁識別為經成功程式化之一指示符)相關聯之一最高 經定址記憶體頁。 可見段識別模組302可將該可見記憶體段(例如,圖⑼之 頁206-0)之位址提供至一可見頁指標316。可見頁指標 (VPP)316可係可儲存該可見頁之位址之一暫存器。可見頁 指標316可由位於〇τρ模擬器i 12外部之裝置以及位於〇τρ 模擬器112内之模組存取以識別該可見頁。 程式模組3〇4可運作以讀取儲存於該可見記憶體段中之 資料且藉助與一 0Tp寫入指令一起提供之額外資料更新該 所讀取之資料。可在一讀取指令期間或回應於由〇τρ模擬 器U2接收之_〇Tp寫入指令讀取該資料。程式模組可 14I604.doc -18· 201013682 藉由將該額外資料與該所讀取之資料包括在一起更新該所 讀取之資料。程式模組304又可將該經更新之資料寫入至 一目標記憶體位置(例如,圖2C之頁206_2)。該目標記憶體 位置可係(例如)自最後擦除以來尚未經程式化之另一記憶 體段(例如’處於邏輯值砰之空白頁)。在某些實施方案 中,該目標記憶體段係—空白NANI>^閃記憶體頁。
在某些實施方案中,程式模組304亦可運作以在該可見 記憶體段位於另一記憶體塊中時擦除一記憶體塊。舉例而 言,程式模組304可基於儲存於可見頁指標316中之值來識 別该可見記憶體段(例如,圖2B之頁2〇6-〇)之位置。程式模 組304又可將儲存於該可見頁指標316中之位址與欲擦除之 塊中所含有之頁之位址進行比較。若儲存於可見頁指標 316中之位址不對應於欲擦除之塊(例如,圖2a之記憶體塊 204)中所含有之頁之位址’則程式模組3()4可擦除該塊。 在某些實施方案中,程式模組3〇4可進一步運作以在該 可見記憶體段對應於一特定記憶體段時擦除一記憶體塊。 舉例而言’若按順序程式化記憶體結構中之頁,則程式模 組304可在該可見記憶體段對應於與另一記憶體塊相關聯 之-最低頁位址(例如,圖2A之頁2〇6,時擦除記憶體塊 (例如’圖2A之記憶體塊204)。 · 安全性模組306可運作以在—安全性記憶體段中設定一 安全性旗標。舉例而言,安全性模組3〇6可在一對應記憶 體頁之程式化完成時設定該安全性旗標。舉例而言,該安 全性旗標可由位於-安全性記憶體段(例如,圖2D之頁 141604.doc -19· 201013682 2J)6_=中之—記憶體位元組(例如,圖扣之位元組m)界 定。安全性模組3〇6可藉由將界定該安全性旗標之—所界 f值(例如,十六進制值00)儲存於記憶體之位元組中來設 定該安全性旗標。該安全性記憶體段可實施為對應於用於 儲存OTP資料之一胸〇快閃記憶體頁(例如,圖扣之頁 206-2)之-财齡决閃記憶體頁。在此等實施方案中,該 安全性位元組可用於將該對應記憶體頁識別為經程式化且 被鎖定。 段完整性模組则可運作以碎定目標記憶體段是否經程 式化·。即使一目標記憶體段(例如,圖2C之頁2〇6_2可能未 被鎖定(例如,未設定安全性旗標))’該目標記憶體段仍可 含有來自一先前程式化嘗試之資料。舉例而言,若電力在 一頁之程式化期間中斷,則可發生此情形。因可在該頁經 程式化之後設定安全性旗標(例如,圖,所以部 分資料可程式化至該目標段,但未完成。因此,與該目標 έ己憶體段相關聯之安全性旗標(例如,圖2C之位元組2 i2_i) 可能未被設定,且因此可能不防止該目標記憶體段之程式 化。因此,段完整性模組308可藉由將儲存於該目標記憶 體段中之一值與一擦除值進行比較來確定該目標記憶體段 是否經程式化。 舉例而言,段完整性模組308可檢查儲存於該目標頁之 位元組中之值。若所有該等值皆對應於一擦除值(例如, 十六進制FF) ’則自最後擦除以來該頁尚未經程式化且 該段完整性模組308可允許該目標記憶體段被程式化。然 141604.doc -20- 201013682 而,若任何該等位元組不對應於該擦除值,則部分程式化 可能已發生且可繞過該頁。 §4.0 實例性過程流 圖4係藉助NAND快閃記憶體模擬οτρ記憶體之一實例性 過程400之一流程圖。舉例而言’可在OTP模擬器112及/或 OTP模擬系統200中實施過程400。 級402識別一可見記憶體段。在某些實施方案中,該可 見記憶體段(例如,圖2B之頁206-0)可對應於欲成功程式化 之一最後頁。舉例而言,可藉由識別設定一安全性旗標 (指示該頁已成功程式化)且具有一最高頁位址之一頁來識 別欲成功程式化之最後頁。在其它實施方案中,該可見記 憶體段可係一預設記憶體段(例如,無記憶體段已成功程 式化)。該可見記憶體段可由一 NAND快閃記憶體頁界定。 舉例而言’可藉由可見段識別模組302來識別該可見記憶 體段。 級404接收將第一資料寫入至--次可程式化記憶體位 置之一指令。舉例而言,該一次可程式化記憶體位置可位 於該可見記憶體段(例如,圖2B之頁206-0)中。舉例而言, 該指令可由OTP模擬器112接收。 級406自一第一記憶體段中檢索先前儲存之資料。在某 些實施方案中,該第一記憶體段可係具有對應於該可見記 憶體段之一位址之一 NAND快閃記憶體頁(例如,圖2B之頁 206-0)。舉例而言’可藉由程式模組3〇4來檢索先前儲存之 資料。 141604.doc •21 - 201013682 級408將該第一資料及該先前儲存之資料儲存至一目標 s己憶體段。在某些實施方案中’豸目標記憶體段係一空白 NAND快閃記憶體頁(例如,圖2C之頁2〇6_2)。舉例而言, 該第一資料及先前儲存之資料可由程式模組3〇4儲存至該 目標記憶體段。 級410確定該資料是否成功地儲存於該目標頁中。若該 —貝料成功地儲存於該目標頁(例如,圖2B之頁2〇6 2)中則 該過程可繼續至級412。若該資料未成功地儲存則該過 程可返回至級4G8。舉例而言,該確^可由程式模組3〇4做 出。 級412將女王性才曰示符儲存於一安全性記憶體段中。 在某些實施方案中,該安全性記憶體段(例如,圖之頁 206-3)係與該目標記憶體段(例如,圖扣之頁2{)6·2)相關聯 且將該目標記憶體段識別為被鎖定。舉例而言,該安全性
指示符可係具有一所界定值之一資料位元組(例如,圖2D 之位兀組212-1)。舉例而言,該安全性指示符可由安全性 模組306儲存。 級414確定該安全性指示符是否成功地儲存。若該安全 性指不符成功地儲存(例如,儲存在圖2D之安全性位元 212-1中),則過程4〇〇可繼續至級416。若該安全性指示符 未成功地儲存,則過程4〇〇可繼績至級4丨2。舉例而言,該 域定可由安全性模組306做出。 級416將該目標兄憶體段之一位址儲存為一可見記憶體 段指標。在某些實施方案中,將該目標記憶體段(例如, 14I604.doc •22- 201013682 圖2D之頁206-2)之該位址儲存為該可見記憶體段指標將該 目標記憶體段界定為該可見記憶體段。舉例而言,該目標 記憶體段位址可由安全性模組306儲存為該可見記憶體段 指標。 級418確定儲存為該可見記憶體段指標之該位址是否對 應於一第一記憶體塊。若該可見記憶體段指標對應於不位 於該第一記憶體塊中之一頁位址,則過程400可繼續至級 420。舉例而言,該第一記憶體塊(例如,圖2A之記憶體塊 參 202)可對應於先前可見記憶體段指標位於其中之記憶體 塊。:¾該可見§己憶體段指標對應於位於該第一塊(例如, 與該先前可見記憶體段指標相同之記憶體塊)中之一頁位 址’則過程400可繼續至級404。舉例而言,該確定可由程 式模組304做出。 級420擦除該第一記憶體塊 — 你呆呰貫狍万案中,咏怿 除可將該記憶體塊(例如,圖2A之記憶體塊2〇2)之每一頁 ❹(j如頁2G6 G-2G6-6)重设為-卻設值(例如,十六進制值 FF)。舉例而言,該擦除可由程式模組3〇4執行。 外S此文件3有許多具體實施方案細節,但不應將此等 細節視為對可主張之㈣之限制,而應視為對特定實施例 所特有之特徵之描述。在此說明書中在單獨實施例之内容 ^描述之某些特徵亦可以組合形式實施於—單個實施例 可單在一單個實施例之内容中描述之各種特徵亦 中。此外 一適宜之子組合形式實施於多個實施例 雖然上文可將特徵描述為以某些組合形式起作 141604.doc -23· 201013682 用且甚至最初主張如此, 個特徵在某些情形下可自 針對子組合或子組合之變 但來自一所主張組合之一個或多 該組合去除,且該所主張組合〇 化形式。 類似地,儘管在圖式中按特定次序緣示過程步驟,但 應將此理解為需要按所示特定次序或按順序次序執行此= 過程步驟或執行所有所圖解說明之過程步驟以達成 結果。 望 已描述了此說明書中所描述之標的物之特定實施例。其 他實施例皆歸屬於下文申請專利範圍之範疇内。例如,可 按不同次序實施申請專利範圍中所述之動作且仍達成所期 望結果。作為一個實例,附圖中所繪示之過程未必需要所 顯不之特定次序或順序次序來達成所期望結果。 【圖式簡單說明】 圖1係其中可實施一次可程式化記憶體之一實例性環境 之一圖表; 圖2A係一實例性οτρ模擬系統; 圖2B-2D係在使用NAND快閃記憶體模擬OTP記憶體寫入 期間之實例性記憶體狀態之方塊圖; 圖3係一實例性OTP模擬器之一方塊圖; 圖4係藉助NAND快閃記憶體模擬OTP記憶體之一實例性 過程之一流程圖,·及 不同圖式中之相同參考編號及名稱指示相同組件。 【主要元件符號說明】 1〇2 智慧卡 141604.doc •24· 201013682 103 積體電路 104 資料儲存器 106 計算裝置 108 介面週邊裝置 112 一次可程式化模擬器 - 200 一次可程式化模擬系統 - 201 NAND快閃記憶體結構 202 第一記憶體塊 參 204 第二記憶體塊 205 奇數頁 206-0 記憶體頁 206-1 記憶體頁 - 206-2 記憶體頁 206-3 記憶體頁 206-4 記憶體頁 206-5 記憶體頁 206-6 記憶體頁 206-7 記憶體頁 . 206-8 偶數頁 206-9 奇數頁 206-A 偶數頁 206-B 奇數頁 206-C 偶數頁 206-D 奇數頁 141604.doc -25- 201013682 206-E 偶數頁 206-F 奇數頁 208 偶數頁 210-0 位元組 210-1 位元組 211-0 位元組 211-1 位元組 212-0 位元組 212-1 位元組 302 可見段識別模組 304 程式模組 306 安全性模組 308 段完整性模組 316 可見頁指標 141604.doc •26

Claims (1)

  1. 201013682 七、申請專利範圍: l 一種方法,其包含: 接收將第一資料寫入至一可見記憶體段中之—次可 程式化記憶體位置之一指令,其中該可見記憶體段包含 複數個一次可程式化記憶體位置; 自對應於該可見記憶體段之一第一記憶體段檢索先前 儲存之資料; 將該第一資料及該先前儲存之資料儲存至一目標記憶 • 體段;及 將把該目標記憶體段識別為被鎖定之一安全性指示符 儲存於與該目標記憶體段相關聯之一安全性記憶體段 中。 2. 如請求項1之方法,其進一步包含: 將該目標記憶體段之一位址儲存為一可見記憶體段指 標;及 基於該可見記憶體段指標擦除一記憶體塊,其中該記 ® 憶體塊包含複數個記憶體段。 3. 如請求項2之方法,其中基於該可見段指標擦除該記憶 體塊包含當該可見記憶體段指標識別對應於位於另一記 憶體塊中之一記憶體段之一位址時擦除該記憶體塊。 4. 如請求項1之方法,其進一步包含識別對應於該可見記 憶體段之記憶體段。 5. 如請求項4之方法,其中識別對應於該可見記憶體段之 該記憶體段包含識別與該安全性指示符相關聯之一記憶 141604.doc 201013682 體段。 6. 如請求項5之方法,其進一步包含藉助與該安全性指示 符相關聯之該記憶體段之一位址更新該可見記憶體段指 標。 7. 如請求項6之方法,其中藉助與該安全性指示符相關聯 之該記憶體段之該位址更新該可見記憶體段指標包含藉 助與該安全性指示符相關聯之一記憶體段之一最低位址 更新該可見記憶體段指標。 8. 如請求項1之方法,其中該第一記憶體段、該目標記憶 體段及該安全性記憶體段包含一 NAND快閃記憶體之若 干所界定部分。 9. 如請求項1之方法,其進一步包含確定該目標記憶體段 是否已被程式化。 10. 如請求項9之方法,其中確定該目標記憶體段是否已被 程式化包含: 將與該目標記憶體段相關聯之該安全性記悚體段之一 值與一第一所界定值進行比較;及 將該目標記憶體段之一值與一第二所界定值進行比 較。 11. 一種一次可程式化模擬系統,其包含: 一可見段識別模組’其用以識別對一週邊裝置可見之 一第一記憶體段; -程式模組,其用以讀取儲存於該可見記憶體段中之 資料且藉助額外資料更新自該可見記憶體段讀取之該資 i4i604.doc 201013682 料且將該經更新之資料儲存於一目標記憶體段中;及 安全性模組,其用以在對應於該目標記憶體段之一 安全陡e己憶體段中設定將該目標記憶體段識別為一被鎖 定記憶體段之—安全性旗標。 12. 13. 如請求項π之系統,其中該程式模組可運作以當該可見 。己隐體奴位於另一記憶體塊中時擦除一記憶體塊。
    如叫求項11之系統’其中該可見段識別模組可運作以: 在通電時識別該第__記憶體段; 將該第—記憶體段之一位址儲存於一可見記憶體段指 標中;及 藉助該目標記憶體段之一位址更新該可見記憶體段指 標。 a 、'項11之系統,其中該可見段識別模組進一步可運 作以識別與一安全性指示符相關聯之一記憶體段。 月求項11之系統,其進一步包含用以確定該目標段是 否經程式化之一段完整性模組。 、、項15之系統’其中該段完整性模組可運作以將與 。亥目‘ ό己憶體段相關聯之該安全性記憶體段之一值與一 第一所界定值進行比較。 、 17. 如叫求項16之系統,其中該目標記憶體段完整性模組可 運作以將該目標記憶體段之一值與一第二所界定值進行 比較。 18. —種一次可程式化模擬裝置,其包含·· 接收構件,其用於接收將第一資料寫入至一一次可程 141604.doc 201013682 式化記愧體位置之一指令; 檢索構件’其用於自具有對應於一可見記憶體段之一 位址之一第一記憶體位置檢索先前儲存之資料; 儲存構件,其用於將該第一資料及該先前儲存之資料 儲存至目標記憶體段;及 f堵存構件’其用於將把該目標記憶體段識別為被鎖定 之—安全性指示符儲存於與該目標記憶體段相關聯之一 女全性記憶體段中。
    141604.doc -4-
TW098125247A 2008-08-05 2009-07-27 One-time-programmable memory emulation TW201013682A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/185,932 US8417902B2 (en) 2008-08-05 2008-08-05 One-time-programmable memory emulation

Publications (1)

Publication Number Publication Date
TW201013682A true TW201013682A (en) 2010-04-01

Family

ID=41501531

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098125247A TW201013682A (en) 2008-08-05 2009-07-27 One-time-programmable memory emulation

Country Status (4)

Country Link
US (1) US8417902B2 (zh)
CN (1) CN101645046A (zh)
DE (1) DE102009033961A1 (zh)
TW (1) TW201013682A (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4673390B2 (ja) * 2008-04-30 2011-04-20 キヤノン株式会社 画像読み取りシステム
TWI425513B (zh) * 2009-08-13 2014-02-01 Silicon Motion Inc 識別快閃記憶體中區塊之資料頁的方法以及相關之記憶裝置
JP5524767B2 (ja) * 2009-09-02 2014-06-18 株式会社半導体エネルギー研究所 半導体装置及びその駆動方法
TWI604306B (zh) * 2016-08-08 2017-11-01 慧榮科技股份有限公司 資料儲存裝置、記憶體控制器及其資料管理方法
CN110457239B (zh) * 2019-07-31 2023-05-02 四川效率源信息安全技术股份有限公司 一种提取固态硬盘基本密钥的方法
JP2021044463A (ja) 2019-09-13 2021-03-18 キオクシア株式会社 半導体記憶装置
CN111159071B (zh) * 2019-12-31 2023-08-08 江苏科大亨芯半导体技术有限公司 eFlash存储器实现OTP的装置、方法及OTP存储器
CN111859792B (zh) * 2020-07-08 2023-12-26 上海威固信息技术股份有限公司 一种闪存操作时延仿真方法
CN117457039A (zh) * 2023-12-15 2024-01-26 成都星辰数创科技有限公司 不可更改数据的闪存芯片、固态硬盘ssd及其控制方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
FR2821191B1 (fr) * 2001-02-19 2003-04-04 Schneider Automation Station de programmation elaborant un programme en langage unique et equipement d'automatisme utilisant un tel programme
US6950918B1 (en) * 2002-01-18 2005-09-27 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
US6707696B1 (en) * 2003-05-15 2004-03-16 Broadcom Corporation Hacker-proof one time programmable memory
JP2005149715A (ja) * 2003-11-13 2005-06-09 Samsung Electronics Co Ltd Otpブロックが含まれたフラッシュメモリを有するメモリシステム
TWI293757B (en) * 2004-05-27 2008-02-21 Novatek Microelectronics Corp Apparatus and method for reprogramming by using one-time programming element
KR100947213B1 (ko) * 2005-04-06 2010-03-11 브로드콤 코포레이션 멀티미디어 프로세서 내의 보안 조건부 액세스 및 디지털권한 관리 기법
TWI262507B (en) * 2005-05-19 2006-09-21 Ememory Technology Inc Method for accessing memory
KR100773398B1 (ko) * 2005-12-14 2007-11-05 삼성전자주식회사 오티피 셀 어레이를 구비한 상 변화 메모리 장치
US8375189B2 (en) * 2005-12-30 2013-02-12 Intel Corporation Configuring levels of program/erase protection in flash devices
US20080112566A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Apparatuses for accessing content based on a session ticket
US20080148001A1 (en) * 2006-12-14 2008-06-19 Telefonaktiebolaget L M Ericsson (Publ) Virtual Secure On-Chip One Time Programming

Also Published As

Publication number Publication date
US8417902B2 (en) 2013-04-09
US20100037000A1 (en) 2010-02-11
CN101645046A (zh) 2010-02-10
DE102009033961A1 (de) 2010-02-11

Similar Documents

Publication Publication Date Title
TW201013682A (en) One-time-programmable memory emulation
TWI584305B (zh) 分割成包括元資料區域之多個區域的位元組可定址非依電性讀寫主記憶體
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
JP6105165B2 (ja) Nandメモリデバイス内に記憶されたデータのフェールセーフリフレッシュ
TW200847169A (en) Memory device architectures and operation
US20090037646A1 (en) Method of using a flash memory for a circular buffer
TW201243593A (en) Data writing method, memory controller and memory storage apparatus
US20180074703A1 (en) Index management in a flash memory
CN109521944A (zh) 数据储存装置以及数据储存方法
CN107402717B (zh) 闪速存储器存储管理
TW201214111A (en) Data writing method, memory controller and memory storage apparatus
US7890721B2 (en) Implementation of integrated status of a protection register word in a protection register array
US20170337104A1 (en) Counter in a flash memory
US10089029B2 (en) Storage in flash memory
CN106909341A (zh) 基于寄存器的功能模块的使能方法、装置及移动终端
CN112988037A (zh) 静态磨损均衡方法、终端和计算机可读存储介质
US11520896B2 (en) Storage device
TWI705330B (zh) 資料儲存裝置以及參數改寫方法
CN108461105A (zh) 管理半导体存储器的方法、相应的接口、存储器和设备
US9116794B2 (en) Storage device data protection system
US10957398B2 (en) Electronic device with memory erased by page
EP4392866A1 (en) Reliable flash storage
JP6015461B2 (ja) 情報記録媒体、データ読み書き方法、及びデータ読み書きプログラム
TW201209833A (en) Access method for rapidly acquiring status information of memory device, electronic device, and program product with internally-stored memory access program