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