TWI663604B - 操作具非揮發性記憶胞電路的方法及使用所述方法的電路 - Google Patents

操作具非揮發性記憶胞電路的方法及使用所述方法的電路 Download PDF

Info

Publication number
TWI663604B
TWI663604B TW107116835A TW107116835A TWI663604B TW I663604 B TWI663604 B TW I663604B TW 107116835 A TW107116835 A TW 107116835A TW 107116835 A TW107116835 A TW 107116835A TW I663604 B TWI663604 B TW I663604B
Authority
TW
Taiwan
Prior art keywords
memory cells
volatile memory
key
group
data
Prior art date
Application number
TW107116835A
Other languages
English (en)
Other versions
TW201901676A (zh
Inventor
洪俊雄
張欽鴻
Original Assignee
旺宏電子股份有限公司
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
Priority claimed from US15/601,582 external-priority patent/US10715340B2/en
Priority claimed from US15/864,445 external-priority patent/US10911229B2/en
Application filed by 旺宏電子股份有限公司 filed Critical 旺宏電子股份有限公司
Publication of TW201901676A publication Critical patent/TW201901676A/zh
Application granted granted Critical
Publication of TWI663604B publication Critical patent/TWI663604B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Read Only Memory (AREA)

Abstract

本發明提供一種可在單個封裝積體電路或多晶片模組上實施的元件,所述元件包括多個非揮發性記憶胞及邏輯,所述邏輯用以使用實體不可複製功能以產生密鑰且將密鑰儲存於多個非揮發性記憶胞中的一組非揮發性記憶胞中。實體不可複製功能可使用衍生自多個非揮發性記憶胞中的非揮發性記憶胞的熵以產生密鑰。邏輯經描述為禁用對所述組非揮發性記憶胞中的資料的改變,且從而在密鑰儲存於所述組中之後將其凍結。

Description

操作具非揮發性記憶胞電路的方法及使用所述方法的電路
本發明是關於積體電路,包含快閃記憶體或其他非揮發性記憶體,具有利用獨特密鑰或獨特標識碼的安全特性。
已研發出具有極高容量的積體電路記憶體元件,包括非揮發性記憶體(諸如快閃記憶體)。一些技術被認為可能在積體電路上實現兆位元規模(terabit-scale)的陣列。此外,記憶體元件經部署於藉由例如網際網路協定通訊技術來操作的網路互連的所謂「物聯網IoT」元件中。對儲存資料的IoT元件及其他元件的關注點為資料安全。因此,需藉由獨特密鑰加密、藉由獨特ID驗證以及詢問/回應技術的安全協定已被部署。
安全協定需要密鑰管理技術以產生、更新、儲存以及保護所採用的獨特密鑰及ID。
實體不可複製功能(PUF,被稱作physical unclonable function或physically unclonable function)為可用以產生用於諸如積體電路的實體之獨特隨機密鑰的程序。使用PUF是用以產生用於支援硬體固有安全(hardware intrinsic security;HIS)技術之晶片ID的密鑰之解決方案。產生PUF的電路為(或包含)實施於產生易於評估(evaluate)但難以預測(predict)的碼的實體結構中之實體。
PUF已用於諸如行動元件及嵌入元件之具有高安全要求的應用中之密鑰產生。一實例PUF為環振盪器PUF,其使用對閘極的電路傳播延遲固有的製造變異性(manufacturing variability)。另一實例PUF為SRAM PUF,其中電晶體中的閾值電壓差值產生呈邏輯「0」或邏輯「1」的SRAM加電(powering up)。參見Charles Herder等人的「Physical Unclonable Functions and Applications: A Tutorial 」,第1126頁至第1141頁,Proceedings of the IEEE,第102卷,第8號,2014年8月。
已有提出使用電阻性隨機存取記憶體的物理性質的PUF。參見Yoshimoto等人的「A ReRAM-based Physically Unclonable Function with Bit Error Rate < 0.5%after 10 years at 125 for 40nm embedded application 」,第198頁至第199頁,2016年,Symposium on VLSI Technology Digest of Technical Papers。論文中呈現的應用提出對歸因於老化衰減而增大位元誤差率的習知ReRAM PUF的ID產生方法的改良。然而,在此基於ReRAM的PUF中,產生的資料仍可被記憶胞的電阻漂移損壞,其可產生在存取或使用所儲存的密鑰時不可被接受的位元誤差率。此類電阻漂移在一些積體電路的應用中遇到高溫時可更明顯,例如在汽車應用中。
由於具有高位元誤差率的問題,因此當使用由PUF電路所產生的資料集時,先前技術依賴於誤差校正碼以改良可靠性。參見例如Lee等人的2016年6月2日公佈的美國專利申請公開案第2016/0156476號,「Physically Unclonable Function Circuits and Methods of Performing Key Enrollment in Physically Unclonable Function Circuits 」。
需要提供給包含非揮發性記憶體的積體電路支援使用PUF產生的密鑰及其他獨特密鑰的技術。此外,需要部署元件易於製造但產生即使知道其產生的確切製造製程也幾乎不可能複製或預測之碼的技術。
描述元件及系統,其可改良利用實體不可複製功能且通常利用隨機密鑰來產生PUF密鑰的安全電路的靈活性及可靠性,且其供用於將PUF密鑰保持為不可變形式。如所使用的PUF密鑰為使用PUF產生的資料集,且可用於許多目的,包含獨特標識符,且對於一些實例可在加密及驗證程序用作密鑰或碼。本文描述了用以在PUF密鑰產生且在內部邏輯儲存之後將PUF密鑰凍結的技術,其中所述內部邏輯在一些實施例中被自動觸發。在其他實施例中,可回應於在PUF已被執行且PUF密鑰測試之後發出的外部命令來將如本文所描述的PUF密鑰凍結。如此,本文中所描述的技術可在積體電路上產生且儲存永久且可靠的PUF密鑰。
本文中所描述的元件及系統適用於物聯網元件,且可實施於廣泛多種環境中。
描述一種元件,其可實施於單個封裝積體電路或多晶片模組上,所述元件包括多個非揮發性記憶胞及邏輯,所述邏輯用以使用實體不可複製功能以產生密鑰且將密鑰儲存於多個非揮發性記憶胞中的一組非揮發性記憶胞中。在本文所描述的實施例中,實體不可複製功能可使用衍生自多個非揮發性記憶胞中的非揮發性記憶胞的熵以產生密鑰。邏輯經描述為在將密鑰儲存於所述組非揮發性記憶胞中之後禁用對所述組中的資料的改變。
在本文中所描述的一些實施例中,藉由禁用實體不可複製功能來禁用對所述組非揮發性記憶胞中的資料的改變。在本文中所描述的一些實施例中,藉由設定抑止程式及對所述組非揮發性記憶胞中的記憶胞的抹除操作的指示器來禁用對所述組非揮發性記憶胞中的資料的改變。所述指示器可與所述多個記憶胞結合,如同用於非揮發性記憶體陣列的抑止鎖定位元技術(block-lock bit technology),或與用以執行實體不可複製功能的控制邏輯結合。
在本文中所描述的一實施例中,可使用由系統產生且與校驗及測試儲存於所述組非揮發性記憶胞中的密鑰的元件進行通訊的外部訊號來設定指示器。若外部系統判定密鑰滿足其預期目的,則其可發出訊號使得將設定的指示器禁用對儲存於所述組非揮發性記憶胞中的資料的改變。否則,可重試使用實體不可複製功能產生密鑰的程序。
在本文中所描述的一些實施例中,藉由要求協定啟用使用實體不可複製功能來禁用對所述組非揮發性記憶胞中的資料的改變,諸如藉由禁用用以存取所述組非揮發性記憶胞以儲存所產生的密鑰的電路、以及抑止其他存取電路(例如用以在元件上的其他非揮發性記憶胞中讀取且寫入資料的存取電路)存取所述組非揮發性記憶胞。在一些實例中,用以啟用使用實體不可複製功能的協定包含驗證協定,其必須由外部元件成功地執行以實現實體不可複製功能。
在其他實例中,用以啟用使用實體不可複製功能的協定包含自用以儲存密鑰的所述組非揮發性記憶胞讀取資料及將所述資料與預設型樣(pattern)比較的過程。預設型樣可對應於所述組非揮發性記憶胞在執行實體不可複製功能之前的狀態。若資料與預設型樣不匹配,則可禁用實體不可複製功能。若資料與預設型樣匹配,則可啟用實體不可複製功能。
描述一種元件,舉例而言,其可實施於單個封裝積體電路或多晶片模組中,所述元件包括非揮發性記憶體陣列,所述非揮發性記憶體陣列包含多個記憶胞塊(block),其中密鑰儲存於所述多個塊中的一特定塊中。包含用於自陣列與資料進行外部通訊的埠。安全邏輯耦接至記憶體陣列,所述記憶體陣列在協定中利用密鑰以啟用存取資料,或解密或加密儲存於所述多個區塊中的所述區塊中的資料。存取控制電路耦接至陣列且包含用以使得供用於協定中的安全邏輯能夠唯讀存取儲存密鑰的特定塊且防止外部通訊網路或元件經由所述埠存取特定塊的邏輯。存取控制電路可具有第一狀態,第一狀態中啟用經由所述埠對特定塊的存取以寫入密鑰;以及第二狀態,第二狀態中禁用經由所述埠的讀取或寫入對特定塊進行的存取,但啟用由安全邏輯在主機或其他外部元件執行安全協定期間的讀取對特定塊進行的存取。封裝積體電路或多晶片模組可包含用以執行功能的邏輯,所述功能包含實體不可複製功能,諸如本文所描述的依賴於電荷收集(charge-trapping)非揮發性記憶胞作為實體電路的功能,使用記憶體陣列中的一組記憶胞以產生密鑰。在本文所描述的實施例中,多個密鑰可儲存於特定塊或不同塊中的積體電路上。此外,安全邏輯可經組態以使用所述多個密鑰中的特定密鑰一次或有限次數,以啟用存取儲存於所述多個塊中的塊中的資料。在一些實施例中,儲存於特定塊中的密鑰可為較大密鑰,包含例如數千或數百萬位元。
提供一種用於產生可在積體電路上用作唯一識別符或密鑰的資料集的方法,所述積體電路使用包含浮動閘極(floating gate)及介電質電荷收集技術的電荷收集非揮發性記憶胞,且在一些實施例中使用其他類型的非揮發性記憶胞。所述方法可包含實體不可複製功能,其使得在所述組中的記憶胞內建立可變閾值,諸如閾值電壓。所述方法可用以產生可以零位元誤差率或極低位元誤差率使用的穩定的基於PUF的資料集。
如所描述的裝置包括一組電荷收集記憶胞(諸如快閃記憶胞)。包含位於所述積體電路上、位於具有對所述積體電路的存取權限的處理器系統上,或包含位於兩者上的部分的電路,其具有對所使用的所述組電荷收集記憶胞的存取權限以使用所述組電荷收集記憶胞提供資料集。作為在記憶胞中的電荷儲存結構中引發電荷收集之通用過程的結果,所提供的資料集為所述組電荷收集記憶胞之不同成員之可變閾值電壓之函數。根據所述技術的一個態樣,所述組電荷收集記憶胞具有可由位址表示的次序,以及具有起始分佈的可變閾值電壓。根據所述技術的此態樣的資料集為按具有起始分佈的特定部分中的閾值電壓的所述組電荷收集記憶胞的子組的順序定位的功能。
描述一種用於在包含可程式化記憶胞(諸如快閃記憶胞)的積體電路上產生資料集的方法。所述方法包含將積體電路上一組具有位址的可程式化記憶胞暴露至在所述組的成員中引發起始閾值分佈內的可變閾值的通用程序。所述方法包含尋找具有所述分佈的第一部分中的閾值的所述組可程式化記憶胞中的第一子組,及具有起始分佈的第二部分中的閾值的所述組可程式化記憶胞中的第二子組。所述方法包含使用第一及第二子組中的至少一者的位址來產生資料集。
在一個實施例中,使用位址產生資料集以在第一子組及第二子組中的一者中選擇記憶胞,且對所選擇的記憶胞施加偏壓操作以在第一子組的記憶胞與第二子組的記憶胞之間建立感測邊限(sensing margin)。在一個實施例中,可藉由定址所述子組中的所選擇一者中的記憶胞且對所定址的記憶胞施加偏壓操作來建立感測邊限,所述偏壓操作將其閾值改變為超出起始分佈的範圍的閾值分佈。其後可藉由使用感測邊限內的讀取電壓來讀取所述組可程式化記憶胞中的記憶胞來產生資料集。
在另一實施例中,藉由將第一及第二子組中的至少一者中的記憶胞的位址組合為子組中的成員的函數及其位址的函數來產生資料集。一種用於組合位址的技術可包括按次序將所述子組中的一者或每一者的位址串接(concatenating)。包括組合的位址的資料集可儲存於不同於所述組可程式化記憶胞的積體電路上的記憶體中。
在本文中所描述的另一技術中,藉由以下步驟來產生資料集:在起始分佈中尋找第一分隔線及不同於第一分隔線的第二分隔線;識別具有低於起始分佈的第一部分中的第一分隔線的閾值的所述組可程式化記憶胞中的第一子組,及具有高於起始分佈的第二部分中的第二分隔線的閾值的所述組可程式化記憶胞中的第二子組;以及使用第一子組及第二子組中的至少一者的位址產生資料集。
一種用於尋找分隔線的方法包含:測定起始分佈中的閾值電壓,在所述閾值電壓下,具有低於閾值電壓的閾值的記憶胞的計數與具有高於閾值電壓的閾值的記憶胞的計數的比率在目標比率範圍內;及藉由自閾值電壓減去第一常數來設定第一分隔線;以及藉由向閾值電壓加上第二常數來設定第二分隔線。用於尋找分隔線的另一種方法包含:使用移動第一讀取電壓反覆地讀取所述組可程式化記憶胞中的資料值,及對具有低於第一讀取電壓的閾值的所述組中的記憶胞計數,及使用第一讀取電壓設定分隔線,在所述第一讀取電壓下,所述計數在第一目標計數範圍內;及使用移動第二讀取電壓反覆地讀取所述組可程式化記憶胞中的資料值,及對具有高於第二讀取電壓的閾值的所述組中的記憶胞計數,及使用第二讀取電壓設定第二分隔線,在所述第二讀取電壓下,所述計數在第二目標計數範圍內。
亦描述一種根據本文所提供的用於產生資料集的方法來製造積體電路的方法。
描述包括積體電路上的一組可程式化記憶胞及用以藉由本文中所描述的過程產生資料集的裝置。
在審閱以下圖式、實施方式以及申請專利範圍之後可以看出本發明的其他態樣以及優點。
圖式提供本發明技術的實施例的詳細描述。應理解不存在將所述技術限制為特定揭示的結構性實施例及方法的意圖,而可使用其他部件、元件、方法及實施例實踐所述技術。描述較佳實施例以說明本發明技術,而非限制其範疇,所述範疇由申請專利範圍限定。於本領域具有通常知識者將認識以下本說明書上的各種等效變化。在各種實施例中,相同參考編號通常指代相同元件。
圖1為包括多個可程式化記憶胞及用於執行程序以使用所述多個快閃記憶胞來提供資料集的控制器的裝置的簡化方塊圖。在此實例中,裝置包括具有使用可程式化記憶胞形成的記憶體的積體電路100。可由PUF使用快閃記憶體陣列130以提供獨特資料集。任務功能電路110為包括多個記憶胞的區塊的快閃記憶體陣列(參考圖17)。本文中亦描述其他實施例。
積體電路100包含任務功能電路110,其可包括諸如有時被稱作特殊應用積體電路邏輯的專用邏輯、使用於微處理器及數位訊號處理器中的資料處理器資源、快閃記憶體的大規模記憶體、SRAM記憶體、DRAM記憶體、可程式化電阻記憶體以及被稱為系統晶片SOC組態或特殊應用積體電路ASIC的各種類型的電路的組合。積體電路100包含輸入/輸出(I/O)介面120,其可包括提供對其他元件或網路的存取的無線埠或有線埠。在此簡化說明中,存取控制區塊115安置於輸入/輸出介面120與任務功能電路110之間。存取控制區塊115藉由匯流排116耦接至輸入/輸出介面120,且藉由匯流排111耦接至任務功能電路110。由存取控制區塊115執行存取控制協定以啟用或禁用任務功能電路110與輸入/輸出介面120之間的通訊,以提供穿越輸入/輸出介面120的資料的加密或解密,且提供支援安全邏輯的其他服務,或提供其組合。
在此實例中,為支援存取控制區塊115,安全邏輯125安置於晶片上。安全邏輯125耦接至一組快閃記憶胞,所述組快閃記憶胞可為快閃記憶體陣列130的部分。PUF接著提供或用以提供獨特資料集,所述獨特資料集可由安全邏輯125經由匯流排141上的PUF程式控制器140在匯流排131上存取,且由安全邏輯利用以跨越線122與存取控制區塊115通訊。
在裝置的此實例中,例如作為具有快閃記憶體陣列130的積體電路上的狀態機來實現的PUF程式控制器140提供訊號以控制偏壓佈置(bias arragnement)供電電壓的施加以進行用以產生資料集的程序,以及存取陣列130中所涉及且用於讀取使用記憶體陣列130提供的資料集的其他操作。位於積體電路上(諸如位元線、字線、其驅動器等)的電路提供對所使用的所述組電荷收集記憶胞的存取以使用所述組電荷收集記憶胞來提供資料集。
積體電路上的PUF程式控制器140包含用以執行用以產生資料集的操作中的一些或全部的邏輯。在一個實施例中,積體電路上的PUF程式控制器140包含執行偏壓操作所必需的邏輯,且可回應於來自外部來源的設置命令而在無來自晶片外系統的控制的情況下執行所述邏輯。
在一些實施例中,PUF程式控制器140包含回應於指示器抑止對PUF記憶胞上的偏壓操作進行程式化或抹除的邏輯。
可使用如此項技術中已知的狀態機的專用邏輯電路來實施控制器。在替代實施例中,控制器包括通用處理器,其可實施於相同積體電路上,其執行電腦程式以控制所述元件的操作。在又其他實施例中,可採用專用邏輯電路與通用處理器的組合來實施控制器。
在一些實施例中,外部處理器系統可包含用於提供對所述積體電路的存取的電路及用於產生資料集的邏輯。外部處理器系統可包含諸如晶圓探針電路、控制匯流排、電壓源及類似者的用以與所述積體電路上的電路組合來提供資料集的電路。具有用以控制程序的之對所述組記憶胞的存取的邏輯電路及偏壓電路可包含外部處理器系統及積體電路兩者上的部分。
本文中所描述的實例利用諸如一些類型的快閃記憶體中採用的電荷收集記憶胞。電荷收集記憶胞中的電荷儲存結構可包含多晶矽或其他導體或半導體浮動閘極結構,且可包含來自快閃記憶體技術的被稱為ONO(氧化物-氮化物-氧化物)、ONONO(氧化物-氮化物-氧化物-氮化物-氧化物)、SONOS(矽-氧化物-氮化物-氧化物-矽)、BE-SONOS(帶隙工程化矽-氧化物-氮化物-氧化物-矽)、TANOS(氮化鉭,氧化鋁,氧化矽,矽)以及MA BE-SONOS(金屬-高介電常數帶隙工程化矽-氧化物-氮化物-氧化物-矽)的多層介電質電荷收集結構。
在其他實施例中,PUF記憶胞中所使用的用以提供資料集的可程式化記憶胞可包含可程式化電阻記憶胞或其他類型的記憶胞。用以提供資料集的可程式化電阻記憶胞可包含具有可參考閾值電阻讀取的可程式化電阻的可程式化元件。可程式化電阻元件可包括例如金屬氧化物或相變材料。
圖2說明包括在積體電路上的一組可程式化記憶胞及用以使用所述組可程式化記憶胞產生資料集的裝置的另一實例。在此實例中,裝置包括用於在積體電路440上執行(或令其執行)程序以產生如本文所論述的資料集的處理器系統410。在一些實施例中,在製造期間在封裝成諸如晶圓形式之前將積體電路440連接至處理器系統410。在其他實施例中,將系統410連接至呈封裝形式的積體電路。
用於執行在積體電路上產生基於PUF的資料集的程序的實例系統可包含在生產線中所使用之用於測試的設備或使用類似於用於測試的設備來執行的程式化程序,所述設備包含用於存取諸如晶圓探針電路、電壓源以及類似者的積體電路的電路。舉例而言,生產線可具有多個元件測試器、多個元件探測器、多個元件處置器,以及經組態以連接至積體電路的多個介面測試配接器,所述積體電路可經組態以控制本文中所描述的程序的執行。在替代方案中,系統可經組態以與封裝積體電路相互作用,且可經部署遠離積體電路的生產線,諸如部署於供原始設備製造商利用積體電路的裝配設施處。
如圖2中所繪示,實例系統410包含PUF邏輯及驅動器420,以及元件處置器/探測器430。待經PUF邏輯及驅動器420處理的積體電路440耦接至元件處置器/探測器430。積體電路440包含安全電路450。在此實例中採用安全電路450中的大規模(large-scale)快閃記憶體陣列460來使用PUF產生資料集。
系統410中的實例積體電路可為積體電路100,如圖1所描述。在製造積體電路100期間,系統410進行本文所識別的動作以產生資料集且可將資料集的複本或衍生自資料集的資料儲存為工廠中的積體電路與處理器系統(例如410)之間的共享秘密。在替代實施例中,在製造積體電路之後的區域,使用者可例如使用處理器系統410在積體電路上的記憶體陣列460中產生資料集,因此資料集可儲存為所述區域中而非工廠中的積體電路與處理器系統(例如410)之間的共享秘密。
圖3說明大規模快閃記憶體陣列470,其可為積體電路上的任務功能電路或為任務功能電路的部分,如本文所描述的安全電路與其一起採用。快閃記憶體陣列470可包含快閃可程式化記憶胞的區塊(例如記憶體區塊0、記憶體區塊1、…、記憶體區塊N)、PUF區塊(471)、啟動區塊472以及參數區塊473。另外,快閃記憶體陣列可包含用於控制對陣列中的各種記憶體區塊的存取的保護邏輯474,保護邏輯474包含用於保護位元的記憶體。PUF區塊471可為記憶體陣列中出於儲存密鑰的目的而保留且在一些實施例中專門針對儲存密鑰的目的而組態的特定區塊。
在其中積體電路包含如圖3中所示的快閃記憶體陣列的實施例中,積體電路的安全電路450中的快閃記憶體陣列460可包括大規模快閃記憶體陣列470中的區塊,諸如PUF區塊471。在其他實施例中,安全電路450中的快閃記憶體陣列460與快閃記憶體陣列470分離,且可包括具有與大規模記憶體陣列460不同結構的記憶胞及具有不同架構的陣列。以下圖17描述包含大規模快閃記憶體的另一實施例。
快閃記憶體陣列470可包括NOR快閃、NAND快閃,或其他類型的快閃架構。由於如本文所描述的PUF算法在一組記憶胞上執行,因此PUF區塊471可包括足夠的記憶胞以涵蓋具有適合之大小的一個組或許多組以供安全電路450使用來產生一PUF資料集或許多PUF資料集。可藉由PUF邏輯及驅動器420、或藉由如上文所論述的積體電路上的狀態機、或藉由驅動器420與積體電路上的狀態機的組合來利用與快閃記憶體陣列470相關聯之周邊電路475中的讀取、程式化以及抹除邏輯以施加偏壓佈置以根據本文中所描述的PUF程序改變PUF區塊471中的記憶胞的閾值電壓。
可藉由保護邏輯474支援PUF區塊以防止對基於PUF的資料集或對儲存資料集的記憶胞的偶發或未經授權存取。啟動區塊可包含寫入鎖閉(write lock-out)部件以保證包含記憶體陣列的積體電路的資料完整性。啟動區塊可儲存初始化積體電路所必需之程式碼且可在程式碼丟失時調用恢復例程。啟動區塊可儲存將積體電路中的快閃記憶體陣列程式化及抹除所必需之程式碼。參數區塊可儲存參數資料。保護邏輯474耦接至記憶體區塊及PUF區塊471來保護其免受偶發或未經授權修改。包含使用保護碼來保護記憶體的區塊免受修改的一個實例展示於Hung等人的2015年8月27日公開之名為「Non-volatile Memory Data Protection Using Non-volatile Protection Codes and Volatile Protection Codes 」的美國專利申請公開案第US 2015-0242158號中,所述公開案以引用之方式併入本文中,如同完全闡述於本文中。
在一些實施例中,保護邏輯474經組態以回應於呈抑止狀態(inhibit state)之指示器而抑止程式化及/或抹除程序,從而使得對PUF資料集的改變被禁止。因此,若設定指示器,則與由PUF邏輯及驅動器420利用的快閃記憶體陣列470相關聯的周邊電路475將不對PUF區塊471施加程式化及抹除脈衝。指示器可為熔絲、一次性程式化(one-time-programming;OPT)單元以及暫存器。
在一些實施例中,可實施保護邏輯474以在執行用以產生密鑰且將密鑰儲存於PUF區塊471中的操作之前執行驗證程序。可使用例如密碼、指紋以及硬體密鑰來實施驗證程序。
圖4A至圖4E說明可用於依賴於電荷收集記憶胞中的閾值電壓中的差異來產生資料集的製程,所述電荷收集記憶胞已經通用程序處理,諸如製造工序或通用偏壓佈置,其使得電荷隧穿至記憶胞中的電荷儲存結構中或自所述電荷儲存結構隧穿出,改變儲存於電荷儲存結構中的電荷的數量。建立起始分佈的通用程序可為「不可複製的(unclonable)」,意為基於所述組中的個體電荷收集胞中的程序、電壓及溫度的變化,自此通用程序所得的閾值電壓在一組電荷收集記憶胞與另一組之間並不相同,且在一個積體電路與另一個積體電路之間並不相同。出於此原因,即使知道通用程序,吾人亦無法預測閾值電壓的變化,且因此無法預測由彼等變化的函數所產生的所得資料集。
圖4A為閾值電壓相對於胞計數的圖形,說明一組可程式化記憶胞中的記憶胞的起始閾值分佈500,所述起始閾值分佈500建立於PUF程序的開端處。出於舉例之目的,在所述分佈內指示多個點,其表示在位址Addr=0、1、2、3、4及5處之記憶胞的閾值電壓。如可見,特定胞的閾值電壓與記憶胞的位址不相關。
此處使用術語「位址」來表示可用以根據記憶胞的實體次序來選擇記憶胞的邏輯訊號。在記憶體技術中,位址經解碼以產生邏輯訊號以控制用以存取記憶胞的偏壓電路。在一些實施中,「位址」可為不需要解碼的邏輯訊號。在一些實施中,胞的「位址」可為掩碼(bit in a mask)或映射表中的位元,諸如以下圖20中所示。可藉由形成掩碼來將位址合併,且合併的位址可以掩碼的形式儲存,其中掩碼中之每一項(entry)啟用或抑止相應位址處的記憶胞。
作為蝕刻或沈積製程(諸如涉及將積體電路暴露於電漿或離子來在製造中所使用的記憶胞上形成圖案化金屬層的製程)之結果,歸因於電荷收集,起始分佈500可在製造完成後自然地出現。在替代實施例中,可使用例如由積體電路上的控制器控制的偏壓操作(諸如如下所述的抹除操作或類似者)來建立起始分佈500。在一個實例中,使用頁抹除操作或區塊抹除操作對於所述組可程式化記憶胞中的所有成員建立起始分佈,其中區塊包含多個頁的可程式化記憶胞。參見2016年9月29日公開之名為「Page Erase in Flash Memory 」的美國專利申請公開案第2016/0284413 A1號。執行致使建立起始分佈的程序而無需藉由位址區分所述組中的記憶胞。致使建立起始分佈的程序可為實體不可複製功能,從而使得起始分佈對於經程序處理的每一組可程式化記憶胞為獨特的。
在此說明中,起始分佈500具有如圖示中所指示的上閾值位準,指示在其下所述組中的記憶胞具有較高閾值的可能性極低的閾值位準。可使用例如用以建立起始分佈500的算法來將此上閾值位準設定為例如抹除校驗位準。
圖4B說明PUF中的下一階段,其中具有分隔線下方的閾值的記憶胞經識別為具有起始分佈的第一部分510中的閾值電壓的記憶胞的子組的成員。此外,具有分隔線上方的閾值的記憶胞經識別為具有起始分佈的第二部分520中的閾值電壓的記憶胞的子組的成員。因此,所述組可程式化記憶胞具有第一子組及第二子組,第一子組具有起始分佈的第一部分中的閾值(例如Addr=0、3以及4),第二子組具有起始分佈的第二部分中的閾值(例如Addr=1、2以及5)。
可藉由以下步驟建構第一子組及第二子組中的記憶胞的位址:對於使用分隔線上之讀取電壓的可程式化記憶胞應用掃描操作,及記錄將第一邏輯狀態傳回為第一子組的記憶胞的位址,以及將第二邏輯狀態傳回為第二子組的記憶胞的位址。記錄位址可保存關於用以提供資料集之子組中的每一者中的記憶胞的位置的資訊。
在一些實施例中,可使用產生第一子組(具有分隔線下方的閾值)中的可程式化記憶胞的計數及第二子組(具有分隔線上方的閾值)中的可程式化記憶胞的計數的尋找操作來確定。可將計數進行對比以產生比率。可將所述比率設定為確保資料集中的零及一的數目足以維持安全資料集的值。舉例而言,零與一的比率接近1較為理想。對於實際實施例,目標比率範圍可例如在2/3與3/2之間,在此情況下,各子組具有整個組中的約40%至60%的記憶胞。可根據使用如本文所描述的技術的特定積體電路的設計規範來調整目標比率範圍。
所述組中之個別電荷收集胞的閾值電壓可隨時間漂移,從而使得起始分佈500表示僅在短時間內穩定的分佈。因此,出於產生穩定資料集的目的而依賴於起始分佈對於一些類型的記憶胞來說是不切實際的,在所述類型的記憶胞中,此漂移可使得在一個時間點處具有分隔線的一側上的閾值的一些胞中的閾值電壓漂移至分隔線的另一側。因此,應用技術以將起始分佈轉換成對此閾值電壓中的漂移不敏感的穩定資料集。
用於將起始分佈轉換成穩定資料集的技術涉及使用第一子組及第二子組中的記憶胞的位址。在此技術中,基於這些可變閾值的資料集可包括所述子組中的一或兩者之位址的串接,或包含抑止或啟用所述位址處的胞的項的掩碼。在圖4A的實例中,第一子組及第二子組的位址的串接可為在圖示中以二進位形式表示的0、3、4、…、1、2、5…,或此序列的變體。當然,在一特定實施例中,在位址的串接中可存在數百、數千或數百萬的位址。串接位址可儲存於記憶體中的積體電路上,諸如不同於如由圖4D所表示的所述組的記憶體的受保護區塊。記憶體的此受保護區塊可為非揮發性穩定記憶體,其提供以極低位元誤差率遞送資料集的能力,且在一些實例中無需使用誤差校正碼。在替代實施例中,第一子組及第二子組中的胞的位址可由掩碼指示,諸如下文圖20所描述。
如圖式中所指示,根據另一種技術,可使用相同組的非揮發性記憶胞來產生基於閾值電壓的穩定資料集。為實現此實施例,可對第二子組中的記憶胞執行程式化操作以將其閾值電壓移動至高於如圖4C中所示之分佈525中的第一校驗位準,在此實例中,所述位準可高於起始分佈500的此上閾值位準。在其他實施例中,只要可產生足夠的讀取邊限,第一校驗位準可低於起始分佈500的上閾值位準,如下文所論述。
在使用第一校驗位準來執行程式操作之後,產生類似圖4C中所示的改變的分佈。程式操作改變第二子組中的記憶胞的閾值電壓以便在第一子組與第二子組之間建立感測邊限530。感測邊限530可經設計為足夠寬以確保讀取資料集以判定特定記憶胞是否為第一子組或第二子組的成員的操作的可靠性。在建立圖4C中所示的改變的分佈之後,可使用在用於讀取的感測邊限530內的讀取電壓VR 來讀取所述組記憶胞。感測邊限530可為實質性的,從而使得讀取操作中的誤差的可能性極低。
圖4E為表示儲存於相同組的記憶胞中的資料集的表,在第一行中繪示所述組中的記憶胞的依序位址且在第二行中繪示資料值(或密鑰),其表示由PUF程序產生的資料集。在此表中,讀取位址0至位址5處的記憶胞得到資料值1 0 0 1 1 0。在實際實施例中,資料集長度可為數百、數千或數百萬的位元。
圖5A至圖5E為正如圖4A至圖4E的一連串圖示,表示對一組電荷收集記憶胞執行相同PUF程序的另一實例。在此實例中,即使PUF程序相同,所得資料集也不同。
圖5A說明包含位址Addr=0、1、2、3、4以及5處的記憶胞的一組可程式化記憶胞的起始閾值分佈600。起始分佈具有上閾值位準。
圖5B說明起始分佈的第一部分610及第二部分620。所述組可程式化記憶胞具有第一子組及第二子組,第一子組具有起始分佈的第一部分中的閾值(例如Addr=1、2、3及4),第二子組具有起始分佈的第二部分中的閾值(例如Addr=0及5)。基於這些可變閾值的資料集可包括所述子組中的一或兩者中的胞中的一些或全部的位址的串接。在圖5A的實例中,第一子組中的胞中的一些或全部及第二子組中的胞中的一些或全部的位址的串接可為以數位形式表示的(1、2、3、4、…);(0、5、…),或此序列的變體。如上文所提及,串接的位址可儲存於上記憶體中的積體電路上,諸如不同於如由圖5D所表示的所述組的記憶體的受保護區塊,其中位址以二進位形式展示。記憶體的此受保護區塊可為非揮發性穩定記憶體,其提供以極低位元誤差率遞送資料集的能力,且在一些實例中無需使用誤差校正碼。
圖5C說明在將偏壓操作(例如程式化)應用至第二子組的可程式化記憶胞以在第一子組與第二子組之間建立感測邊限630之後的結果。舉例而言,當比率在目標比率範圍內時,第二子組可包含具有分隔線上方的閾值的可程式化記憶胞。偏壓操作將第二子組中的可程式化記憶胞的閾值改變為閾值分佈625。閾值分佈625可高於第一校驗位準。
圖5D繪示基於包括所述子組中之一或兩者的位址之串接的這些可變閾值或基於包含所述位址處的胞的項之掩碼的資料集。在圖5B的實例中,第一子組及第二子組之位址的串接可為在圖示中以二進位形式表示之(1、2、3、4、…);(0、5…)或此序列之變體。當然,在一特定實施例中,在位址的串接中可存在許多位址。串接位址可儲存於記憶體中的積體電路上,諸如不同於如由圖5C所表示之所述組的記憶體的受保護區塊。記憶體的此受保護區塊可為非揮發性穩定記憶體,其提供以極低位元誤差率遞送資料集的能力,且在一些實例中無需使用誤差校正碼。
圖5E為在第一行中繪示所述組中的記憶胞的依序位址且在第二行中繪示資料值(或密鑰)的表,其表示由PUF程序產生的資料集。在此表中,讀取位址0至位址5處的記憶胞得到資料值0 1 1 1 1 0,其不同於由圖4A至圖4E所表示之實例中產生的值。。
因此,資料集因在所述組中引發電荷收集的通用程序之結果而成為所述組電荷收集記憶胞之不同成員之可變閾值電壓的函數。可對於PUF程序的每一實例使用不同組的可程式化記憶胞來實現此結果。對於一些類型的記憶胞,可使用相同組之可程式化記憶胞藉由為每一新的資料集產生新的起始分佈來產生多個資料集。此外,對於如同用於建立可變分佈之所述資料集之儲存於相同記憶胞中之資料集,可藉由新的資料集替換舊的資料集。
圖6為以圖4A至圖4E及圖5A至圖5E所解釋之方式在包含可程式化電荷收集記憶胞的積體電路上產生穩定資料集的流程圖200。在此實例中,程序開始於一組具有閾值的起始分佈的快閃記憶胞(201),所述起始分佈已由產生如上文所論述的可變閾值電壓的通用PUF程序建立。在此實例中,程序包含諸如藉由判定位址來在具有分隔線上方之閾值的第一子組及具有分隔線下方之閾值的第二子組的所述組記憶胞內尋找記憶胞(210)。可憑經驗選擇分隔線且將之儲存為在控制PUF之執行的系統之中的參數。替代地,如在此實例中所說明,可根據起始分佈的特徵及資料集的期望特徵來調整分隔線。在此替代例中,程序測定第一子組中的記憶胞的計數與第二子組中的記憶胞的計數的比率(220)。此比率可為諸如1/1的數字,或屬於根據資料集的所需用途而選擇之可接受範圍(例如3/2至2/3)。
若比率為不可接受(230),則程序調整分隔線(240)且返回至步驟210以識別第一及第二子組。若比率為可接受(230),則程序移動至基於識別的第一子組的記憶胞及第二子組的記憶胞來建立穩定資料集的步驟。如上文所提及,在一個替代例中,程序可依序儲存第一子組中的位址,且依序儲存第二子組中的位址,且使用串接的位址作為穩定資料集。
在圖6中所說明的替代例中,用以建立穩定資料集的程序包含對第二子組中的記憶胞施加偏壓操作以在所述組記憶胞中建立改變的分佈,所述分佈在第一子組中的記憶胞與第二子組中的記憶胞之間具有感測邊限(250)。對於電荷收集記憶胞,此偏壓操作可包括諸如使用足夠高於閾值電壓的分隔線的校驗位準的遞增步長脈衝程式化ISPP(incremental step pulsed programing)的程式操作以建立感測邊限。可僅向具有第二子組中的位址的記憶胞施加偏壓操作。以此方式,可藉由使用位於感測邊限內的讀取電壓的讀取操作來判定第一子組中的記憶胞及第二子組中的記憶胞的識別。因此,圖6的程序包含藉由使用讀取邊限中的讀取電壓來讀取所述組中的記憶胞的序列來輸出資料集的步驟(260)。輸出資料集可被提供至外部系統,諸如控制用被作為安全協定中之共享秘密的PUF之執行之系統。資料集可穩定地儲存於所述組記憶胞中,此是由於感測邊限使得初使經識別為第二子組的成員其閾值電壓漂移至經識別為第一子組之範圍中的可能性降至極低。
圖7A至圖7E說明可用以基於閾值的起始分佈來產生穩定資料集的另一種技術。
圖7A說明包含位址Addr=0、1、2、3、4、5及6處的記憶胞的一組可程式化記憶胞的起始閾值分佈700。
圖7B說明起始分佈的第一部分710、第二部分720以及第三部分730。起始分佈的第一部分包含低於上閾值位準且在第一分隔線下方的閾值,起始分佈的第二部分包含低於上閾值位準且在高於第一分隔線的第二分隔線上方的閾值,且起始分佈的第三部分包含第一分隔線與第二分隔線之間的閾值。可包含用以基於資料集的所要特徵來尋找第一分隔線及第二分隔線中的一或兩者的程序。
所述組可程式化記憶胞包括具有起始分佈的第一部分中之閾值的子組(例如Addr=0及3),具有起始分佈的第二部分中之閾值的子組(例如Addr=2及5),以及具有第一讀取位準與第二讀取位準之間的起始分佈的第三部分中之閾值的子組。
所述組中之個別電荷收集胞的閾值電壓可隨時間漂移,從而使得起始分佈700僅能代表在短時間內穩定的分佈。因此,出於產生穩定資料集之目的而依賴於起始分佈對於一些類型的記憶胞為不切實際的,在所述類型的記憶胞中,此漂移可使得在一個時間點處具有分隔線之一側上之閾值的一些胞中的閾值電壓漂移至分隔線的另一側。因此,應用技術以將起始分佈轉換成對此閾值電壓中之漂移不敏感的穩定資料集。
如圖式中所指示,一種用於基於閾值電壓建立穩定資料集的技術可使用相同組之非揮發性記憶胞。為實現此實施例,可對具有第一分隔線與第二分隔線之間的閾值之子組中的記憶胞執行程式化操作以將其閾值電壓移動至高於第一校驗位準,在此實例中,所述位準高於起始分佈500的上閾值位準。在其他實施例中,只要可產生足夠的讀取邊限,第一校驗位準即可低於起始分佈500的上閾值位準,如下文所論述。
在使用第一校驗位準來執行程式操作之後,產生類似圖7C中所示之改變的分佈。程式操作改變記憶胞的閾值電壓以便在第一子組與第二子組之間建立感測邊限740。感測邊限740可經設計為足夠寬以確保使用感測邊限中之讀取電壓來讀取資料集以判定特定記憶胞是否為第一子組或第二子組之成員之操作的可靠性。在建立圖7C中所示之改變的分佈後,可使用在感測邊限740內的讀取電壓VR 來讀取所述組記憶胞。感測邊限740可為實質性的,從而使讀取操作中的誤差的可能性極低。
圖7D為表示儲存於相同組的記憶胞中的資料集的表,在第一行中繪示所述組中之記憶胞的依序位址且在第二行中繪示資料值(或密鑰),其表示由PUF程序產生之資料集。在此表中,讀取位址0至位址6處之記憶胞得到資料值1 X 0 1 X 0 X,其中「X」為隨意(don't care),此是由於其對應於感測經受偏壓操作以建立感測邊限的所述子組中的記憶胞的結果。在實際實施例中,資料集長度可為數百或數千位元。
在此實例中,所述組第一及第二子組的可程式化記憶胞用以提供資料集(例如「密鑰資料」)。舉例而言,使用位址Addr=0、2、3及5處的第一子組及第二子組中的可程式化記憶胞提供1010的資料集,其中使用位址Addr=0及3處的第一子組中的可程式化記憶胞提供資料「1」,且使用位址Addr=2及5處的第二子組中的可程式化記憶胞提供資料「0」。資料集不包含例如位址Addr = 1、4及6處之用以建立感測邊限的所述組可程式化記憶胞的子組中的資料,所述可程式化記憶胞具有起始分佈外的閾值分佈735中之閾值。展示之「X」代表未用於此實例中的資料集的記憶胞。
在一些實施例中,此實例中的偏壓操作亦可在所述子組中的其他者之間建立第二感測邊限750,所述邊限足夠寬以確保即使在PVT(程序、電壓、溫度)變化相對較大之條件下感測第二子組與第三子組之可程式化記憶胞之間的閾值電壓的區別的可靠性。此類資訊可用於產生資料集。
可藉由對於所述組可程式化記憶胞中的可程式化記憶胞施加掃描操作以記錄用以提供資料集的第一子組、第二子組以及第三子組中的可程式化記憶胞的位址來建構位址映射。舉例而言,可藉由跳過旗標(skip flag)來標記第三子組中之可程式化記憶胞的位址,因此為提供可用作驗證或加密協定之密鑰或其他類型之秘密或獨特資料值的資料集,將不讀取第三子組中的可程式化記憶胞。替代地,可使用掩碼邏輯,如下文圖20所論述。
回應於詢問,PUF ID電路(例如125,圖1;450,圖2)可利用使用具有位址映射中記錄之位址的可程式化記憶胞提供之資料集以根據位址映射中記錄之所述組第一子組及第二子組的可程式化記憶胞的位址來提供可程式化記憶胞密鑰,從而跳過或不使用具有所述組第三子組的可程式化記憶胞中之位址的可程式化記憶胞。
如上文所論述,在替代程序中,基於這些可變閾值的資料集可包括一組合,諸如所述子組中的一或兩者中的胞中之一些或全部的位址的串接。圖7E繪示包括所述子組中的一或多者的位址的串接的基於這些可變閾值的資料集。在圖7E的實例中,包含在分隔線之間發現的第一子組之記憶胞與包含在第一分隔線下方發現的第二子組之記憶胞之位址的串接可為在圖示中以二進位形式表示之(1、4、6、…);(0、3、…),或此序列之變化。當然,在一特定實施例中,在位址的串接中可存在數百或數千的位址。串接的位址可儲存於記憶體中的積體電路上,諸如不同於具有起始分佈之所述組記憶胞的記憶體的受保護區塊上。記憶體的此受保護區塊可為非揮發性穩定記憶體,其提供以極低位元誤差率遞送資料集之能力,且在一些實例中無需使用誤差校正碼。
在圖4D、圖5D以及圖7E的實例中,資料集為所述子組中的一或多者的位址的串接,諸如第一子組中的胞中之一些或全部的串接,第二子組中的胞中之一些或全部的串接,以及第三子組中的胞中之一些或全部的串接,或此序列之變化。在一些實施例中,僅所述子組中的一者(例如第三子組)中之記憶胞的位址可用作資料集。可使用除串接之外的其他邏輯函數將位址合併,諸如散列函數或形成掩碼,以形成包含位址的組合的資料集。
圖8為用於以圖7A至圖7E所解釋的方式在包含可程式化電荷收集記憶胞的積體電路上產生穩定資料集的流程圖800。在此實例中,程序開始於一組具有閾值的起始分佈的快閃記憶胞(801),已由產生如上文所論述的可變閾值電壓的通用程序建立。在此實例中,程序包含判定具有第一分隔線下方的閾值的所述組記憶胞的第一子組、具有第二分隔線上方的閾值的所述組記憶胞的第二子組以及具有分隔線之間的閾值的所述組記憶胞的第三子組的所述組記憶胞內的位址(步驟810)。分隔線可憑經驗或以其他方式選擇,且可儲存為控制PUF之執行的系統中的參數。替代地,如在此實例中所說明,可根據起始分佈之特徵及資料集之期望特徵來調整分隔線。在此替代例中,程序測定第一子組中的記憶胞的計數與第二子組中的記憶胞的計數的比率(820)。接著,算法判定比率是否匹配預期範圍(步驟830)。若在步驟830處判定比率不匹配,則調整分隔線(835),且程序返回至步驟810直至實現適當的比率。若在步驟830處比率匹配,則算法繼續以建立表示可用作獨特密鑰之分佈的穩定資料集。如上文所提及,在一個替代例中,可將各種子組中的記憶胞的位址合併以形成獨特資料集,且儲存於受保護記憶體中。在圖8中所說明的實施例中,程序繼續以向第三子組中的記憶胞施加偏壓操作以建立在第一子組與第二子組之間具有讀取邊限之改變的閾值分佈(步驟832),且記錄第三子組中的記憶胞的位址。以此方式,穩定資料集可由第三子組的位址表示,及使用讀取邊限內之讀取電壓同時跳過第三子組中的記憶胞感測的自第一子組及第二子組讀取的資料值(834)。可使用資訊的其他組合以建立如以上各種替代例中所論述的穩定資料集。此外,在一些實施例中,可省略偏壓步驟832。
圖9為用於使用一組快閃記憶胞中的閾值的起始分佈來建立穩定資料集的流程圖900。程序開始於具有閾值的起始分佈的一組快閃記憶胞(901)。接著,程序測定具有第一分隔線上方的閾值的第一子組的記憶胞、具有第二分隔線的下方的第二子組的記憶胞以及具有分隔線之間的閾值的第三子組的記憶胞的位址(910)。所述子組中的至少一者中的記憶胞的位址的序列與所述組記憶胞分隔儲存於記憶體中(920)。可將資料集輸出為隨儲存於位址的序列中的位址變化或等於所述位址(930)。
圖10A至圖10C說明可用於將一組記憶胞中的電荷收集記憶胞的閾值設定為具有可變閾值電壓的起始分佈的程序。圖10A說明一組可程式化記憶胞的初始閾值分佈816。在此實例中,初始閾值分佈在引發電子或負電荷隧穿至電荷儲存結構中遞增胞的閾值電壓的程式化操作之前,或在引發電子隧穿出電荷儲存結構或引發正電荷隧穿至電荷儲存結構中以降低胞的閾值電壓的抹除操作之前。在此實例中,所述組中的記憶胞可具有任何初始閾值分佈。在此實例中,初始閾值分佈包含低於第一校驗位準的相對較低閾值範圍。
圖10B說明將所述組可程式化記憶胞的所有成員程式化至大於第一校驗位準的閾值範圍817的結果。此類似於用於快閃記憶體中的預程式化操作。
圖10C說明抹除所述組可程式化記憶胞的所有成員以建立起始分佈818中的閾值的結果,其中起始分佈包含低於第二校驗位準的閾值。步驟830中的分佈可用作上文所描述的程序的起始分佈。同樣可應用其他技術,包含使用圖10B的範圍817作為起始分佈。
包含圖10A至圖10C所描述的技術的用於建立本文中所描述之起始分佈的技術可應用於電荷收集記憶胞。電荷收集記憶胞的實例在圖10D、圖10E以及圖10F中說明。
圖10D為形成於基底840上的平面浮動閘極記憶胞的簡圖。源極區841及汲極區842安置於電荷收集結構的相對側上。控制閘極843上覆於電荷收集結構,且可為例如字線的一部分。電荷收集結構包含通常由氧化矽形成之隧穿層844、通常由多晶矽形成之浮動閘極層845、包含具有氧化物層846、氮化物層847以及氧化物層848之多層ONO結構的阻擋介電質結構。類似於圖10D的程式化及抹除浮動閘極記憶胞的實體功能引發改變浮動閘極層845中捕獲的電荷的電荷隧穿。捕獲之電荷的量根據各胞的物理特性變化,包含程序變化、溫度變化、電壓變化以及類似者。因此,用以建立類似於上文所描述之起始閾值的操作產生跨越單個元件上的大量記憶胞之相對廣泛分佈中的閾值電壓。
圖10E為形成於基底850上的平面介電質電荷收集記憶胞的簡圖。源極區851及汲極區852安置於電荷收集結構的相對側上。控制閘極853上覆於電荷收集結構,且可為例如字線的一部分。電荷收集結構包含通常由氧化物或多個薄介電質層形成的隧穿層856。在隧穿層856上方安置電荷收集層857,通常包括氮化矽或其他介電材料。在電荷收集層857上方為阻擋層858,通常由諸如氧化矽的另一介電質氧化物形成。如同浮動閘極記憶胞,類似於圖10E的程式化及抹除記憶胞的實體功能引發改變電荷收集層857中捕獲的電荷的電荷隧穿。捕獲之電荷的量根據各胞的物理特性變化,包含程序變化、溫度變化、電壓變化以及類似者。因此,用以建立類似於上文所描述的起始閾值的操作產生跨越單個元件上的大量記憶胞之相對廣泛分佈中的閾值電壓。
圖10F為形成於基底860上的3D垂直NAND快閃記憶體結構的簡圖。垂直通道結構(例如863)安置於字線(例如867)的堆疊之間。諸如介電質電荷收集結構或浮動閘極結構的電荷儲存結構安置於字線與垂直通道結構863之間。垂直通道結構863耦接至位元線869。在基底中,安置通用源導體,其建立穿過垂直通道結構863的位元線869與所述基底860之間的NAND串的電流路徑。圖10F中所繪示之快閃記憶體結構亦可用以使用程式化或抹除操作來建立跨越元件上的大量記憶胞之閾值電壓的相對廣泛分佈。
同樣可出於本文中所描述的PUF程序的目的部署包含其他3D記憶體技術之其他類型的快閃記憶胞結構。
圖11繪示用於施加初始化偏壓操作將所述組中的可程式化記憶胞的閾值設定為起始分佈的實例流程圖300,所述操作可施加於電荷儲存記憶胞,包含類似上文所論述之彼等的記憶胞。在步驟310處,將所述組可程式化記憶胞的所有成員程式化至大於第一校驗位準的閾值範圍。在一個實例中,可使用被稱為遞增步長脈衝程式化序列(ISPP)的程式化算法將所述組可程式化記憶胞的所有成員程式化,其中增加脈衝高度且執行程式校驗步驟直至滿足所要的閾值位準。在步驟320處,抹除所述組可程式化記憶胞的所有成員以建立起始分佈中的閾值,所述起始分佈包含低於第二校驗位準的閾值。
用於根據此程序進行程式化或抹除操作以建立起始分佈的校驗位準可與用於施加至相同積體電路上的大規模記憶體的程式化及抹除操作相同。替代地,用以建立起始分佈的校驗位準可調整為適合於特定實施,從而使得起始分佈具有供用於產生如本文所描述之資料集的所要特徵。儘管在此實例中使用「抹除」程序以產生起始分佈,其中將淨正電荷添加至電荷收集結構降低胞的閾值,但亦可使用「程式化」程序,其中將淨負電荷添加至電荷收集結構提高胞的閾值。此外,如上文所提及,起始分佈可為閾值的「初始」分佈,其由所述組記憶胞暴露於的製造程序或其他程序產生。「初始」分佈及由抹除或程式化操作產生之分佈皆可被視為實體不可複製功能。
此外,對於基於可程式化電阻記憶胞的非揮發性記憶體,可使用「設定」程序以產生起始分佈,其中引起電阻中之淨降低來降低胞的讀取電流的閾值電壓。替代地,亦可使用「重置」程序,其中引起電阻中的淨提高,來提高胞的讀取電流的閾值電壓。此外,如上文所提及,起始分佈可為由所述組可程式化電阻記憶胞暴露於之的製造程序或其他程序產生之閾值的「初始」分佈。「初始」分佈及由設定或重置操作產生的分佈皆可被視為實體不可複製功能。
圖12A至圖12C說明用於使用用於圖9所描述的類型的電荷收集記憶胞的PUF功能產生資料集的另一種技術。在圖12A中,說明諸如可使用類似於使用抹除校驗功能將一組記憶胞中的記憶胞的閾值移動至低於上閾值位準的抹除操作的PUF產生的起始分佈1200。起始分佈的特徵可為具有如圖示所指示的上閾值位準及下閾值位準,且可出於本說明書之目的將具有分佈1200內的閾值的記憶胞特徵化,如對經組態以用於記憶體陣列的標準讀取操作表示其資料值為「0」。
圖12B說明建立資料集的下一步驟。在此實例中,使用自分佈1200的一側開始的移動讀取電壓位準VR 來讀取所述組中之記憶胞。假設移動讀取電壓自下閾值位準開始,則使用讀取電壓來讀取所述組記憶胞且測定具有高於及低於所述閾值的記憶胞的數目的計數。移動此讀取電壓直至高於及低於讀取電壓的記憶胞的數目匹配所要參數,諸如約為相同、或具有約「一」之比率。在此階段,具有低於子分佈1210內的讀取電壓VR 的閾值的記憶胞的特徵可為表示資料值「1」,且具有高於子分佈1220內的讀取電壓VR 的閾值的記憶胞的特徵可為表示資料值「0」。舉例而言,讀取操作可繼續直至具有低於讀取位準的閾值位準的可程式化記憶胞的計數與具有高於讀取位準的閾值位準的可程式化記憶胞的計數的比率在目標比率範圍內。舉例而言,當具有低於讀取位準的閾值位準的可程式化記憶胞的計數對應於所述組中的記憶胞的約50%時,目標比率範圍內的比率可實質上等於1。可將比率在諸如40%至60%的目標比率範圍內時的讀取位準建立為用於讀取所述組可程式化記憶胞中的記憶胞以產生穩定資料集的讀取電壓VR
圖12C說明建立資料集的下一步驟。根據此技術,選擇上讀取電壓VR +及下讀取電壓VR -以定義起始閾值分佈1200的子分佈,其中記憶胞強而有力地儲存資料值。在結合圖12B所描述測定讀取電壓VR 後,可藉由在讀取電壓VR 周圍建立感測邊限來在所述分佈中建立第一分隔線及第二分隔線,從而使得對應於VR -與VR +之間的差值1240的感測邊限1230在第一分隔線與第二分隔線之間,且讀取電壓VR 在感測邊限內。舉例而言,對於一種特定類型的快閃記憶胞,第一分隔線可在對應於讀取位準減300 mV的閾值位準處,而第二分隔線可在對應於讀取位準加300 mV的閾值位準處。在另一實例中,第一分隔線可在對應於讀取位準VR 減讀取位準的30%的閾值位準VR -處,而第二分隔線可在對應於讀取位準VR 加讀取位準的30%的閾值位準VR +處。
可使用「強而有力地」儲存資料值「1」及「0」的子分佈1211及子分佈1221內的記憶胞來產生資料集。此類記憶胞的位址記錄於積體電路上的記憶體中,例如記錄於供諸如加密及驗證的安全協定中的積體電路使用之穩定快閃記憶體區塊、不同類型之非揮發性記憶體或諸如SRAM或DRAM的揮發性記憶體及類似者中。可使用中心讀取電壓值VR 連同所記錄的位址來執行讀取操作,其提供強讀取邊限。以此方式,僅採用相對於讀取電壓而言強而有力地儲存資料值的記憶胞,使得在讀取資料時可歸因於閾值漂移而出現的誤差之可能性極低。
圖13為用於以圖12A至圖12C所解釋的方式在包含可程式化電荷收集記憶胞的積體電路上產生穩定資料集的實例流程圖1300。在此實例中,程序開始於一組具有閾值的起始分佈的快閃記憶胞(1301),已由產生如上文所論述的可變閾值電壓的通用程序建立。在此替代例中,對所述組中的記憶胞執行使用移動讀取位準(電壓VR )的讀取操作(步驟1310)。程序測定具有低於當前讀取位準的閾值位準的可程式化記憶胞的計數與具有高於當前讀取位準的閾值位準的可程式化記憶胞的計數的比率(步驟1320)。接著程序判定所述比率是否在目標比率範圍內。(步驟1330)。舉例而言,當具有低於當前讀取位準的閾值位準的可程式化記憶胞的計數對應於所述組中的記憶胞的約130%時,目標比率範圍內的比率可實質上等於1。若比率不在目標比率範圍內(步驟1330,否),則可例如藉由提高讀取位準來調整讀取位準(步驟1340),其中對於步驟1310的第一迭代,讀取位準可自處於或低於分佈之最小閾值位準的閾值位準開始。讀取操作接著返回至步驟1310且繼續直至比率在目標比率範圍內(步驟1330,是)。可將比率在目標比率範圍內時的讀取位準建立為用於讀取所述組可程式化記憶胞中的記憶胞以產生穩定資料集的讀取電壓VR (圖12B)(步驟1350)。
若在步驟1330中,比率在目標比率範圍內,則程序繼續以基於資料集的所要特徵在所述分佈中建立第一分隔線及第二分隔線中之一或兩者(步驟1340)。舉例而言,程序可在起始分佈中的讀取電壓VR 周圍建立感測邊限(圖4B),從而使得感測邊限(例如530,圖4C)在第一分隔線與第二分隔線之間,且讀取電壓VR 在感測邊限內。舉例而言,第一分隔線可在對應於讀取位準減300 mV的閾值位準VR -處,而第二分隔線可在對應於讀取位準加300 mV的閾值位準VR +處。舉例而言,第一分隔線可在對應於讀取位準減讀取位準的30%的閾值位準處,而第二分隔線可在對應於讀取位準加讀取位準的30%的閾值位準處。
圖13的程序包含判定具有由第一分隔線限定之第一子組、由第二分隔線限定之第二子組以及具有第一分隔線與第二分隔線之間的閾值的第三子組的所述組記憶胞內之位址及使用經判定之位址來建立表示可用作獨特密鑰的分佈的穩定資料集的步驟1360。
圖13的程序包含藉由使用感測邊限530中的讀取電壓VR 來讀取所述組中的記憶胞的序列來輸出資料集的步驟1370(圖4)。輸出資料集可被提供至外部系統,諸如控制適用作安全協定中之共享秘密之PUF之執行的系統。資料集可穩定地儲存於所述組記憶胞中,此是由於感測邊限使得初始經識別為第二子組的成員其閾值電壓漂移至經識別為第一子組之範圍中的可能性降至極低。
使用此技術,資料集取決於被判定為強而有力地儲存資料值的記憶胞的數目。此數目對於一個起始分佈至下一分佈可不同。因此,在產生資料集中,若胞的數目大於資料集的所要大小,則可截斷記憶胞的序列,或若胞的數目小於資料集的所要大小,則可填補記憶胞的序列。
圖14A至圖14C說明使用圖9所描述之類型的電荷收集記憶胞的PUF功能產生資料集的另一實例。在圖14A中,將說明諸如可使用如上文所描述之PUF產生之起始分佈1400。起始分佈1400可為隨著閾值位準延伸遠離中心峰值而具有相對對稱急劇下降之粗略的高斯分佈。然而,分佈不大可能為實際上相對稱的。如上文所提及,此缺乏對稱性可在圖13所描述的程序中產生不同數目的「強而有力地」儲存資料的記憶胞。根據圖14A至圖14C的技術,可實現對強而有力地儲存資料的記憶胞的數目的更緊密控制。
如圖14A中所說明,可藉由以下步驟來發現可表徵為強而有力地儲存資料值「1」的記憶胞的子分佈1410:使用應用起始於分佈1400的下邊界處或靠近下邊界處的閾值的移動讀取位準的第一讀取操作,及執行使用當前讀取電壓來反覆地讀取所述組記憶胞中的記憶胞的程序,以及對具有低於當前讀取位準的閾值的記憶胞的數目進行計數。當計數達到指定閾值時,接著將當前讀取位準儲存為第一下分隔線電壓VR -。
如圖14B中所說明,可藉由以下步驟來發現可表徵為強而有力地儲存資料值「0」的記憶胞的第二子分佈1420:使用應用起始於分佈1400的下邊界處或靠近低邊界處的閾值的移動讀取位準的第二讀取操作,及執行使用當前讀取電壓來反覆地讀取所述組記憶胞中的記憶胞的程序,以及對具有高於當前讀取位準的閾值的記憶胞的數目進行計數。當計數達到指定閾值時,接著將當前讀取位準儲存為第二上分隔線電壓VR +。
如圖14C中所說明,第三子分佈1430包含具有第一分隔線電壓VR -與第二分隔線電壓VR +之間的閾值的記憶胞。可使用屬於「強而有力地」儲存資料值「1」的第一子分佈1410以及屬於「強而有力地」儲存資料值「0」的第二子分佈1420的記憶胞的位址,藉由使用第一分隔線與第二分隔線之間的讀取電壓VR 讀取記憶胞來產生資料集。可藉由將第一分隔線電壓VR -與第二分隔線電壓VR +平均來產生此讀取電壓,其中起始分佈的特徵可為粗略的高斯分佈。在其中起始分佈可偏斜(skew)朝向較高或較低閾值的實施例中,則可使用考慮分佈中的偏斜的公式產生讀取電壓。
圖15為用於以圖14A至圖14C所解釋的方式在包含可程式化電荷收集記憶胞的積體電路上產生穩定資料集的實例流程圖1500。在此實例中,程序開始於一組具有閾值的起始分佈的快閃記憶胞(1501),已由產生如上文所論述之可變閾值電壓的通用程序建立。在此實例中,程序包含判定具有低於第一分隔線的第一子組的閾值及具有高於第二分隔線的閾值的第二子組的所述組記憶胞內的位址。以提供預定數目的強而有力地儲存資料值「0」的記憶胞及預定數目的強而有力地儲存資料值「1」的記憶胞的方式來判定分隔線。分隔線可儲存為控制PUF之執行的系統中的參數。
在此替代例中,對所述組中之記憶胞執行使用第一移動讀取位準的第一讀取操作(步驟1510)。程序測定具有低於第一讀取位準VR -的閾值位準的可程式化記憶胞的第一計數(步驟1512)。接著,程序判定第一計數是否匹配預定數字T1,或屬於數字的範圍(步驟1514)。
若不接受第一計數(步驟1514,否),則可例如藉由提高第一讀取位準來調整第一讀取位準(步驟1516),其中對於步驟1510的第一迭代,第一讀取位準可自處於或低於分佈之下閾值位準的閾值位準開始。第一讀取操作接著返回至步驟1510且繼續直至接受第一計數(步驟1514,是)。
圖15的程序包含將起始分佈中之第一分隔線電壓VR -建立為第一讀取位準,在所述第一讀取位準處的第一計數處於或接近預定數字T1(步驟1518)。在此步驟處或在隨後步驟,當建立第二分隔線時,可判定具有低於第一分隔線VR -的閾值位準的記憶胞的位址且儲存用於建立表示可用作獨特密鑰的分佈的穩定資料集。
圖15的程序包含使用第二移動讀取位準VR +對所述組中的記憶胞進行第二讀取操作的步驟1520(步驟1520)。程序測定具有高於第二讀取位準的閾值位準的可程式化記憶胞的第二計數(步驟1522)。接著程序判定第二計數是否可接受,例如其是否匹配預定數字T2,或屬於數字之範圍(步驟1524)。若來自第一讀取操作的計數與來自第二讀取操作的計數的總和等於資料集的目標位元數目或資料集的目標位址數目或處於所述數目的一範圍內,則在一些實施例中,所述數目可接受。
若不接受第二計數(步驟1524,否),則可例如藉由降低第二讀取位準來調整第二讀取位準(步驟1526),其中對於步驟1520的第一迭代,第二讀取位準可自處於或高於分佈的上閾值位準的閾值位準開始。第二讀取操作接著返回至步驟1520且繼續直至接受第二計數(步驟1524,是)。
圖15的程序包含以下步驟:將起始分佈中的第二分隔線建立為第二讀取位準VR +,在所述位準處接受第二計數;以及諸如藉由根據方程式平均來使用第一分隔線及第二分隔線建立讀取電壓VR:VR = (VR - + VR +) / 2(步驟1528)。
儘管如圖15中所示,在包含步驟1520、步驟1522、步驟1524以及步驟1526之用以建立第二分隔線的迭代之前執行包含步驟1510、步驟1512、步驟1514以及步驟1516之用以建立第一分隔線的迭代,但在其他實施例中,可在包含步驟1510、步驟1512、步驟1514以及步驟1516的用以建立第一分隔線的迭代之前執行包含步驟1520、步驟1522、步驟1524以及步驟1526的用以建立第一分隔線的迭代。
可藉由類似於圖13之程序之步驟1360的步驟來繼續圖15之程序,判定由第一分隔線限定之強而有力地儲存資料值「1」的第一子組的記憶胞及由第二分隔線限定之強而有力地儲存資料值「0」的第二子組的所述組記憶胞內的位址。在一些實施例中,亦可使用不強而有力地儲存資料值且具有第一分隔線與第二分隔線之間的閾值之第三子組的記憶胞之位址來建立資料集。
可藉由類似於圖13之程序之步驟1340之步驟來繼續圖15之程序,藉由使用感測邊限中的讀取電壓VR 讀取所述組中的記憶胞的序列來輸出資料集。輸出資料集可被提供至外部系統,諸如控制適用作安全協定中之共享秘密之PUF之執行的系統。資料集可穩定地儲存於所述組記憶胞中,此是由於VR -與VR +之間的感測邊限使得初始經識別為第一子組及第二子組的成員的記憶胞其閾值電壓漂移至藉由其他子組識別的範圍中的可能性降至極低。
在一個實施例中,可藉由分別將第一預定數目T1及第二預定數目T2指定為所述組可程式化記憶胞的第一及第二子組來設定待用於已完成資料集的胞的數目中的預定長度T,其中T = T1 + T2,指示資料集中的位元的數目。舉例而言,計數的第一目標範圍及第二目標範圍可包含第一預定長度T1及第二預定長度T0,從而使得可將起始分佈中的第一分隔線及第二分隔線建立為第一讀取位準及第二讀取位準,在所述位準處,第一計數及第二計數分別匹配第一預定長度T1及第二預定長度T0。當數目的總和不匹配指定長度時,若資料集如此受限,則此是由於移動讀取操作的粒度(granularity)可大於一個胞,可自資料集移除過量胞,或可藉由資料填補資料集以形成經校正長度。
圖16說明包含包括一組PUF記憶胞的快閃記憶體陣列1610的積體電路1600,其可經PUF處理以建立如上文所論述的閾值的分佈。積體電路1600包含如上文所結合圖1提及的PUF控制器1630及安全邏輯1640。此外,提供啟用使用快閃記憶體陣列1610的存取及偏壓電路1620,包含字線驅動器、感測放大器、位元線驅動器、電壓源以及快閃記憶體陣列周邊的其他電路。在此實例中,PUF控制器1630連接至快閃記憶體陣列1610的存取及偏壓電路1620,且包含用以進行本文中所描述之程序的邏輯及記憶體資源,所述程序包含例如圖6、圖8、圖9、圖11、圖13以及圖15之程序中的一些或全部。
在所說明之實施例中,狀態機1633以及位址及參數儲存區1632包含於PUF控制器1630中。狀態機1633可包含用以基於應用至陣列1610中的所述組記憶胞的PUF來產生資料集的邏輯。在本文中所描述的技術的實施例中,邏輯可執行以下步驟:尋找在產生資料集中所讀取之記憶胞的子組或子分佈;將諸如上文所論述之分隔線的閾值、用於自經識別之子組讀取資料值的閾值的參數記錄於儲存器1632;以及將經識別用於產生資料集之記憶胞的位址記錄於儲存器1632中。邏輯亦可執行施加讀取電壓及儲存於儲存器1632中之位址以自快閃記憶體陣列1610產生資料值之序列的步驟。
狀態機亦可包含用以使得掃描一組可程式化記憶胞中的可程式化記憶胞且應用本文中所描述的程序以基於實體不可複製功能產生穩定資料集的邏輯。
安全邏輯1640可包含使用自陣列1610或自儲存器1632或自兩者讀取之資料集來處置詢問輸入且提供回應輸出的邏輯。安全邏輯1640可包含使用資料集的加密及解密資源,且可包含使用資料集來控制驗證協定的邏輯。在一些實施例中,回應可為應用於積體電路上以啟用例如任務功能電路的通過/失敗訊號。在其他實施例中,回應可應用於積體電路1600的電路斷開,對於所述積體電路1600,資料集用於安全協定中。在一些實施例中,安全邏輯包含使用專用邏輯實施之狀態機、具有適合之程式化的通用處理器、具有適合之程式化的可程式化閘陣列,或這些類型的邏輯電路的組合。此外,在一些實施中,安全邏輯1640可共用用以實施狀態機1633的邏輯。
可使用諸如快閃記憶體、可程式化電阻記憶體、一次性可程式化記憶體及類似者的非揮發性記憶體來實施儲存器1632。此外,可使用其他類型的記憶體實施儲存器,包含具有儲存於陣列1610或積體電路可存取的其他記憶體中的位址及參數的備份複本的諸如SRAM的揮發性記憶體。
可使用專用邏輯、具有適合之程式化的通用處理器、具有適合之程式化的可程式化閘陣列或這些類型的邏輯電路的組合來實施狀態機1633。
因此,圖16說明積體電路的實例,包括具有閾值的分佈的積體電路上的一組可程式化記憶胞;儲存具有閾值分佈的第一子分佈中的閾值的所述組可程式化記憶胞中的記憶胞的位址的記憶體;以及用以使用所儲存的位址來產生資料集的邏輯。
分佈的特徵可在於已使用實體不可複製功能實現。
在一些實施例中,藉由感測邊限將第一子分佈與第二子分佈分離,且用以產生資料集的邏輯包含用於按位址次序讀取所述組可程式化記憶胞中的記憶胞以產生根據是否為第一子分佈中的成員而變化的資料值的邏輯。
在一些實施例中,記憶體另外儲存所述組記憶胞中的記憶胞的位址,其具有所述組中之記憶胞之閾值分佈的第二子分佈中的閾值;且用以產生資料集的邏輯包含對於第一子分佈及第二子分佈使用所儲存之位址。
另外,在一些實施例中,記憶體儲存閾值分佈的第一分隔線及不同於第一分隔線的第二分隔線;且第一子分佈中的記憶胞包含具有低於第一分隔線的閾值的所述組記憶胞的第一子組,且第二子分佈中的記憶胞包含具有高於第二分隔線的閾值的所述組記憶胞的第二子組。
在一些實施例中,用以產生資料集的邏輯使用位址來選擇第一子組及第二子組中的一者中的記憶胞;且使用第一分隔線與第二分隔線之間的讀取電壓來讀取所述組可程式化記憶胞中的記憶胞。
在一些實施例中,所述組中的可程式化記憶胞為電荷收集記憶胞,且閾值為閾值電壓。
在一些實施例中,積體電路可包含用以使用積體電路上的偏壓電路來施加引發所述組中的可程式化記憶胞的電荷儲存結構中的變化以建立分佈的偏壓操作的邏輯。
在一些實施例中,邏輯包括積體電路上的狀態機。
在一些實施例中,積體電路包含回應於詢問輸入以使用資料集產生回應輸出的邏輯。
圖17說明包含封裝積體電路或多晶片模組180的系統,包含輸入/輸出介面181及非揮發性快閃記憶體陣列185。輸入/輸出介面181提供用於外部元件或通訊網路與非揮發性記憶體陣列185之間的外部資料通訊的埠。記憶體陣列185包含多個記憶胞區塊(參見,例如上圖3),其中具有儲存於所述多個區塊中的特定區塊187中的密鑰。安全邏輯190耦接至非揮發性記憶體陣列185,所述記憶體陣列在協定中利用密鑰以啟用存取儲存於所述多個區塊中之區塊中的資料。包含存取控制開關183的存取控制電路耦接至所述陣列,且包含用以啟用由供用於協定中的安全邏輯唯讀存取特定區塊,且用以防止由外部元件或通訊網路經由所述埠存取特定區塊的邏輯。在各種實施例中,可使用存取規則的其他組合,使得安全邏輯在利用特定區塊時具有更大靈活性。
在此實例中,非揮發性記憶體陣列185包含快閃記憶體。儲存密鑰的特定區塊187可實體地位於陣列中之任何處,但如所說明,對於一些實例,可實體地位於具有最低實體位址之頂部區塊中,或與具有最低實體位址之啟動區塊相鄰。
非揮發性記憶體陣列185耦接至感測放大器/緩衝器184,其提供進入且流出快閃記憶體陣列之資料流,包含儲存密鑰的特定區塊187。在此實例中,存取控制開關183安置於感測放大器/緩衝器184與輸入/輸出介面181之間。自陣列185讀取的資料可在線路182上佈線至輸入/輸出介面181,或可在線路191上佈線至安全邏輯190。
在所說明的實施例中,位址解碼器186連同用於控制在陣列中的相應區塊中讀取及寫入資料的權限的區塊鎖定位元一起耦接至陣列185。在此實例中,儲存安全密鑰之所述組非揮發性記憶胞被安置於其中的特定區塊187與相應鎖定位元(lock bit(s))186A耦接。與特定區塊187耦接的鎖定位元186A可包括與陣列中之其他區塊的鎖定位元的結構不同的邏輯或實體結構,且可邏輯地執行不同功能。用以儲存區塊鎖定位元之實體結構的實例包含熔絲、一次性程式化(OPT)胞以及暫存器或可用以儲存類似於區塊鎖定位元之狀態指示器的其他記憶體元件。特定區塊之區塊鎖定位元可耦接至感測放大器/緩衝器184中的緩衝器以抑止寫入密鑰儲存於其中的所述組記憶胞,從而在將密鑰寫入特定區塊中且可選地經測試及驗證之後將其凍結。元件上的控制狀態機193或其他控制邏輯執行類似於以下結合圖29及圖30描述的程序以藉由設定特定區塊或儲存密鑰的區塊中的所述組胞的區塊鎖定位元來凍結密鑰。
此外,當用以存取陣列的位址對應於特定區塊187的位址時,與儲存密鑰的特定區塊187相關聯之區塊鎖定位元186A可控制耦接至存取控制開關183之邏輯,所述存取控制開關183防止資料自特定區塊187經由感測放大器/緩衝器在線路182上流至輸入/輸出介面181,同時允許資料自特定區塊187在線路191上流至安全邏輯190。
此外,在所說明之實施例中,具有實體不可複製功能程式控制器的快閃控制狀態機193在線路194上耦接至記憶體陣列185,且在線路192上耦接至安全邏輯190。實體不可複製功能可出於產生待用作密鑰之資料集的目的而使用陣列185中的特定組的記憶胞189中的記憶胞來執行如本文所描述之程序。在此裝置之實例中,快閃控制狀態機193提供控制偏壓佈置供電電壓之施加以進行用以產生資料集之程序及涉及存取陣列185之其他操作的訊號。
位於積體電路(諸如位元線、字線、其驅動器等)上的電路提供對用以提供用以產生密鑰之資料集之所述組快閃記憶胞的存取。
如所說明,封裝積體電路或多晶片模組180亦可包含其他電路195,諸如可在系統晶片系統或具有記憶體的電路之其他組合中遇到。
在所示之實例中,封裝積體電路或多晶片模組180藉由互連件199耦接至註冊系統198。註冊系統198可維持密鑰資料庫198A,密鑰資料庫198A可維持執行依賴於儲存於特定區塊187中的密鑰的安全協定所必需的資訊。在一些實施例中,執行安全協定所必需的資訊包含密鑰的複本。
在一個實例操作方法中,在製造或封裝期間,實體不可複製功能可由快閃控制狀態機193與如上文圖2所論述之註冊系統198協同執行。實體不可複製功能可利用所述組記憶胞189以產生可用以形成密鑰的資料集。在完成實體不可複製功能之執行後,可接著自所述組記憶胞189將資料集複製至經保留或經組態以用於儲存密鑰的特定區塊187。系統可產生一個或許多密鑰來儲存於出於此目的而保留的特定區塊187中。在此階段,亦可將密鑰複製至註冊系統198中且藉由密鑰資料庫198A維持。在執行實體不可複製功能且將密鑰複製至特定區塊187中且將任何必需資訊複製至註冊系統中之後,可使用熔絲或其他類型之一次性寫入記憶體元件來設定與特定區塊187相關聯之鎖定位元186A,以防止由外部電路或通訊網路存取密鑰。此外,可將用於實體不可複製功能中之特定組記憶胞189抹除或者覆寫以消除可儲存於記憶體陣列185中密鑰的跡象。
圖17A說明實施於封裝積體電路或多晶片模組中的電路的替代實施例,其中再次使用用於類似於圖17中之彼等之元件的參考編號,而非再次描述。在圖17A中,包含PUF胞189A的多個非揮發性記憶胞實施於除陣列185的外的電路中,且耦接至使用PUF胞189A來執行PUF的控制電路,其中此實例中的控制電路為快閃控制狀態機193的部分。在此實例中,鎖定位元及解碼器結構186'耦接至陣列中的全部區塊。在此實施例中,PUF胞189A為實施於陣列的外部的胞的區塊的部分,具有允許由例如安全邏輯190或經由安全邏輯190唯讀存取區塊的單獨周邊電路。在其他實施例中,PUF胞189A可實施於作為陣列之部分的佈局中,但具有不支援非PUF之部分之程式化或抹除操作的存取電路。在此實施例中,陣列185的周邊電路不連接至PUF胞189A或不可用以存取PUF胞189A。相反的,在單獨控制(separate control)與控制電路中之PUF功能之協作下對PUF胞189A進行讀取、程式化以及抹除。指示器胞193A與PUF胞193A或控制電路耦合,所述PUF胞193A或控制電路用以藉由啟用或停用PUF功能或啟用或停用PUF胞189A中之程式化或抹除來凍結儲存於PUF胞189A中的一組非揮發性記憶胞中的密鑰。用作指示器胞193A的實體結構的實例包含熔絲、一次性程式化(OPT)胞以及暫存器或可用以儲存類似於區塊鎖定位元的狀態指示器的其他記憶體元件。
元件上的控制狀態機193或其他控制邏輯可執行類似於以下結合圖31及圖32所描述的程序,例如設定指示器胞193A中的指示器以啟用或禁用控制電路中的PUF功能,且從而凍結密鑰。
圖18及圖19針對不同實施例說明非揮發性記憶體陣列的組態的不同實例。在圖18中,密鑰儲存於其中之記憶胞的特定區塊包括第一子區塊187A及第二子區塊187B。由實體不可複製功能用以產生安全的所述組記憶胞位於第一子區塊187A中。此外,密鑰可維持於用以產生資料集之所述組記憶胞中,或移動至第一子區塊187A中的另一組記憶胞中。第二子區塊187B維持在根據諸如圖7A至圖7E、圖8、圖12A至圖12C以及圖13所描述的彼等的程序來執行實體不可複製功能期間產生的胞映射或多個胞映射。
圖19為替代例,其中由實體不可複製功能使用之記憶胞189在快閃記憶體陣列185中,且在用於儲存密鑰的特定區塊187之外。在此實例中,用於儲存密鑰的特定區塊包含第一子區塊187C,其中所述密鑰或多個密鑰保持於記憶體中。第二子區塊187B保持在實體不可複製功能期間產生的所述胞映射或多個胞映射。
圖20說明可用於在類似於圖17至圖19中所繪示的彼等的實施例中儲存密鑰及胞映射的資料結構。由安全ID產生器區塊表示用以產生密鑰(此實例中之安全ID)之所述組記憶胞。此區塊具有「區塊」位址,其識別起始位置,及圖示中之位元位址1至位元位址10。在較佳的系統中,安全ID產生器區塊可具有數千位元。此外,與各位元位址相關聯的為提供「程式碼資訊」的資料值,其指示使用例如圖8或例如圖19的程序來感測的資料值。在利用如圖20中所示之映射表或胞映射來定址資料的實施例中,所述胞中的一些中之資料值不用於密鑰中,且因此被視為「隨意」胞。映射表識別「隨意」胞的位址及用於密鑰的胞。因此,在此實例中,映射表具有起始位址,及位址位元1至位址位元10,其對應於安全ID產生器區塊中之胞的位元位址1至位址位元10。在對應於位址位元中的每一者的記憶胞設定旗標,指示安全ID產生器區塊中的有效的胞(用於密鑰中)或無效胞(不用於密鑰中)。密鑰資料可由映射表與程式碼資訊之邏輯AND產生,其中映射表用作掩碼。如上文所提及,安全ID產生器區塊為一組可位於非揮發性記憶體陣列中之任何處或位於用於儲存安全ID之特定區塊中的記憶胞。在其中所述組記憶胞位於特定區塊之外部的實施例中,可接著將安全ID產生器區塊中之資料複製至用於儲存安全ID的特定區塊中。
圖21說明利用實體不可複製功能來產生密鑰且將所述密鑰儲存於非揮發性記憶體中的系統的高位準組態。系統包含耦接至積體電路或多晶片模組1710的主機1720。積體電路或多晶片模組1710包含實體不可複製功能(PUF)電路1711、控制器1712,以及安全邏輯1713。控制器1712耦接至實體不可複製功能電路1711且耦接至非揮發性記憶體1714。
對於一些實施例,圖21之系統之操作可圖22來理解。因此,為產生可使用之密鑰,由實體不可複製功能電路1711產生密鑰資料(步驟1730)。分析密鑰以判定其是否符合安全規範,諸如是否具有足夠的隨機性(步驟1731)。若密鑰符合規範,則經由控制器1712將其儲存於非揮發性記憶體1714中(步驟1732)。若其不符合規範,則程序循環至步驟1730以重試PUF以產生密鑰。實體不可複製功能可使用一組如上文所描述的非揮發性記憶胞以產生具有任何長度之密鑰且基於PUF來重試密鑰產生程序。如所說明,PUF電路1711與控制器1712將協作以產生另一密鑰,循環回至步驟1730直至產生令人滿意的密鑰。否則,密鑰產生完成,將密鑰儲存且準備待由安全邏輯採用。為使用密鑰,程序包含自非揮發性記憶體獲得密鑰資料(1733),及執行涉及主機1720及用於非揮發性記憶體中之一或多個密鑰之密鑰資料的協定中的安全功能(1734)。主機1720可經提供由註冊系統執行依賴於密鑰的安全協定所必需的資料,或可為在設置密鑰期間所使用之系統。安全功能可經組態與註冊系統或通訊伺服器協作以利用多個密鑰。在一些實施例中,產生且儲存的密鑰僅採用一次或有限次數以維持高安全性及窺探免疫性。此外,在一些實施例中,可對於每一通訊會話以依賴於較大密鑰之子組的方式採用單個較大密鑰。可針對使用的特定環境按需要實施其他安全協定。在圖22的程序中,在由安全程序利用密鑰期間,可執行密鑰更新協定,其傳訊密鑰應被更新。此可包含在一段時間之後或在固定使用次數之後替換密鑰。此外,若使用多次登入嘗試失敗或偵測到其他事件表明猜測密鑰的嘗試,則可替換密鑰。因此,圖22的程序包含判定是否更新密鑰的步驟(1735)。若密鑰需要更新,則程序循環至步驟1730,且執行PUF以更新密鑰。若在1735處密鑰不需要更新,則程序循環以繼續使用密鑰來支援安全功能的執行。
當在由圖22的步驟1731及步驟1735所表示的循環中使用PUF來產生新的密鑰時,舉例而言,在一些實施例中,可將用於PUF中的參數偏移(shift)以提高產生在各循環中實質上不同的密鑰的機率。當然,在使用快閃記憶胞的一些實施例中,將相同PUF參數應用至相同胞可產生足夠不同的密鑰。在其他實例中,可對於每一新的PUF循環改變用以產生初始分佈的偏壓電壓。此外,可將遞增步長脈衝程式化ISPP算法中應用之脈衝的數目改變來產生作為PUF之部分的分佈。在另外其他實例中,可將用以產生脈衝的記憶胞自陣列的一個區域中的組改變為陣列的另一區域中的不同組。
在一些實施例中,高位準功能可被視為兩個部分,諸如圖23及圖24中所示。圖23說明可在製造期間或在運送至客戶之前或另外在已由系統使用密鑰之前執行的功能。在圖23中,程序開始於通電事件(1750)。執行實體不可複製功能且擷取包含一或多個密鑰的密鑰資料並提供至註冊系統或將需要密鑰資料的其他外部系統(1751)。密鑰資料儲存於如上文所論述的非揮發性記憶體中(1752)。密鑰資料已在儲存於非揮發性記憶體中之後受保護,免於被外部通訊網路或元件存取(1753)。在所述區域中,程序大體上如圖24中所示流動,開始於通電事件(1760)。程序包含自非揮發性記憶體獲得受保護的密鑰資料(1761),及執行包含通訊協定的安全功能,諸如與使用密鑰的外部元件進行詢問-回應交換(1762)。
如圖25中所說明,實體不可複製功能可使用諸如SRAM電路、可程式化電阻記憶胞電路RRAM、基於金屬的電路、基於延遲的電路、基於振盪器之電路以及類似者的實體電路1770。通常,用於實體不可複製功能中的電路具有相對較低的穩定性,需要特定邏輯或誤差校正以便可靠地使用密鑰。用於儲存密鑰的非揮發性記憶體1771可包括高度穩定的非揮發性記憶體,諸如快閃記憶體、可程式化電阻記憶體RRAM、相變記憶體PCRAM、一次性可程式化記憶體以及類似者。在其他實施例中,由實體不可複製功能使用的電路1775可具有相對較高的穩定性。然而,密鑰亦可儲存於非揮發性記憶體1776中,其亦具有高穩定性,但亦可提供較好存取控制及通常可不與實體不可複製功能電路1775相關聯的其他功能。
在一些實施例中,如由圖27表示,可採用隨機數產生器1780以產生密鑰,其接著可儲存於非揮發性記憶體1781中且用於諸如本文中所描述之彼等之系統中。
在一些實施例中,如由圖28表示,實體不可複製功能電路1785可以第一位準產生具有例如1024個位元的安全資訊。在第一位準下的此安全資訊可被提供至邏輯電路1786,其使用例如散列函數(Hash function)將第一位準資料轉換成具有例如128個位元的第二位準資訊,或產生隨第二位準下的安全資訊的可變之位元的其他組合。接著可將第二位準資訊儲存至非揮發性記憶體1787中。程序開始於通電(2900)。此可在例如當元件安裝於測試夾具或諸如上文所描述的註冊系統中時出現。此外,程序可開始於傳訊啟動PUF電路以產生密鑰的其他事件。在步驟2900之後,啟用用以執行實體不可複製功能的電路(2901)。接著,執行PUF以產生密鑰(2902)。接著將密鑰儲存於一組非揮發性記憶胞中,諸如非揮發性記憶體陣列中的胞的特定區塊中的胞(2903)。如以上實例中所論述,所述組非揮發性記憶胞可為由PUF所使用的相同的組,或可為在執行PUF之後將密鑰寫入其中的一組非揮發性記憶胞。
圖29為由諸如圖17或圖17A中所示的元件中的控制器來執行以便凍結使用PUF產生之密鑰之程序的簡化流程圖。在流程圖中,程序開始於通電(2900)。此可在例如當元件安裝於測試夾具或諸如上文所描述的註冊系統中時出現。此外,程序可開始於傳訊啟動PUF電路以產生密鑰的其他事件。在步驟2900之後,啟用用以執行實體不可複製功能的電路(2901)。接著,執行PUF以產生密鑰(2902)。接著將密鑰儲存於一組非揮發性記憶胞中,諸如非揮發性記憶體陣列中之胞之特定區塊中之胞(2903)。如以上實例中所論述,所述組非揮發性記憶胞可為由PUF所使用之相同的組,或可為在執行PUF之後將密鑰寫入其中的一組非揮發性記憶胞。在將密鑰儲存於所述組非揮發性記憶胞中之後,接著諸如藉由抑止特定區塊中的程式化及抹除操作來將指示器設定為禁用對密鑰的改變(2904)。
圖30為可由諸如圖17或圖17A中所示的元件中的控制器來執行以便凍結使用PUF產生的密鑰的替代程序的簡化流程圖。在流程圖中,程序開始於通電(3000)。此可在例如當元件安裝於測試夾具或諸如上文所描述的註冊系統中時出現。此外,程序可開始於傳訊啟動PUF電路以產生密鑰的其他事件。在步驟3000之後,啟用用以執行實體不可複製功能的電路(3001)。接著,執行PUF以產生密鑰(3002)。接著將密鑰儲存於一組非揮發性記憶胞中,諸如非揮發性記憶體陣列中之胞之特定區塊中之胞(3003)。如以上實例中所論述,所述組非揮發性記憶胞可為由PUF所使用之相同的組,或可為在執行PUF之後將密鑰寫入其中的一組非揮發性記憶胞。在此程序中,接著諸如藉由判定其是否具有足夠的隨機性來評估使用PUF產生之密鑰的適合性(3004)。算法接著判定PUF密鑰是否令人滿意(3005)。若在外部執行密鑰的測試,則可經由記憶體元件上的埠來提供來自外部元件的訊號以指示測試成功。若其不令人滿意,則可經由記憶體元件上的埠來提供來自外部元件的訊號以指示測試失敗,且可重試用於產生密鑰的程序(3006)。若在步驟3005處,密鑰令人滿意,則可將指示器設定為禁用對儲存密鑰的所述組非揮發性記憶胞中的資料的改變,從而凍結供用於元件中的密鑰(3007)。
如上文所提及,用於在密鑰產生之後將其凍結的另一種技術涉及諸如藉由禁用用以執行實體不可複製功能的電路來禁用所述功能。
圖31為可由諸如類似於圖17或圖17A的元件中的控制器來執行的程序的流程圖。在此實例中,程序開始於通電事件(3100)。如上文所提及,程序可開始於其他啟動事件。當啟動程序時,邏輯首先判定密鑰是否已經儲存於用以儲存密鑰的所述組非揮發性記憶胞中。因此,可將所述組非揮發性記憶胞與預定PUF區塊型樣比較(3101)。指示無密鑰已寫入的型樣可為例如所有0的型樣或所有1的型樣。在檢查型樣之後,判定其是否發現與預定型樣的匹配(3102)。若未發現匹配,則邏輯藉由例如禁用用以執行PUF的電路或藉由抑止控制電路的狀態機前進至執行PUF的狀態來禁用PUF(3103)。若發現匹配,則邏輯藉由例如啟用用以執行PUF的電路或藉由使得狀態機前進至執行PUF的狀態來啟用PUF(3104)。在啟用PUF之後,接著將其執行以產生密鑰(3105)。接著將密鑰儲存於一組非揮發性記憶胞中,諸如取決於特定實施例儲存於陣列中的特定PUF區塊中,或單獨一組記憶胞中(3106)。在成功地產生密鑰之後,接著視情況可將指示器設定為禁用對儲存密鑰的所述組記憶胞的改變(3107)。如上文所提及,在一些實施例中,儲存密鑰的所述組記憶胞可不具有支援除PUF中使用的操作的外的程式化或抹除操作的周邊電路。在此情況下,設定指示器以防止程式化及抹除可並非必需的。
圖32為可由諸如類似於圖17或圖17A的元件中的控制器的控制器來執行的替代程序的流程圖。在此實例中,程序開始於通電事件(3200)。如上文所提及,程序可開始於其他啟動事件。當啟動程序時,邏輯可在利用包含與啟動密鑰產生程序之外部元件之通訊的PUF之前進入需要執行驗證協定的狀態。當此驗證協定啟動時,邏輯執行所述協定(3201)。若密鑰產生循環的啟動器未成功通過驗證協定,則邏輯可使用諸如結合圖31所論述之彼等的技術來禁用PUF電路(3203)。若啟動器成功通過驗證協定,則邏輯啟用PUF電路(3204)。接著可執行PUF以產生密鑰(3205)。在產生密鑰之後,可將其儲存於一組非揮發性記憶胞中(3206)。視情況,在成功地儲存密鑰之後,可將指示器設定為禁用對儲存於所述組非揮發性記憶胞中之資料的改變(3207)。
在各種實施例中,可以各種組合採用圖29至圖32所描述之技術。舉例而言,用於對所述組記憶胞檢查預定型樣之程序可與對成功執行驗證協定以便啟用PUF電路的要求組合。此外,用於在PUF儲存於中所述組非揮發性記憶胞中之後將其校驗或測試的程序可與用於對所述組非揮發性記憶胞檢查預定型樣的程序組合,或與需要成功執行驗證協定的程序組合,或與兩者組合。
在所述技術的一個態樣中,可將控制類似於圖6、圖8、圖9、圖11、圖13、圖15、圖29至圖32中所示的彼等程序以及本文中所描述之其他程序之執行的電腦程式作為指令儲存於電腦可讀記憶體或多於一個記憶體上,其中記憶體包括非暫時性電腦可讀資料儲存媒體。使用電腦可讀記憶體,PUF機器(例如410,圖2)可使得掃描一組可程式化記憶胞中的可程式化記憶胞,且應用本文中所描述的程序以基於實體不可複製功能來產生穩定資料集。
此外,如上文所提及,包含所述組可程式化記憶胞的積體電路可包含狀態機或經組態以執行這些程序的其他邏輯資源。在又其他替代例中,可採用由PUF機器執行的電腦程式與實施於積體電路上的邏輯的組合。
在本文所描述的實施例中,使用一組具有閾值電壓的起始分佈的記憶胞來建立穩定資料集。此組記憶胞可為諸如圖3、圖16、圖17以及圖17A中所示的大規模記憶體陣列的部分。替代地,所述組記憶胞可為特別提供的一組記憶胞。在其中積體電路的任務功能包含記憶體陣列的實施例中,用於此目的所述組記憶胞可具有與陣列中的記憶胞相同的結構,或可具有不同結構。此外,可將使用的所述組記憶胞安置於積體電路上的任何型樣中,包含緊密陣列型樣或分佈式型樣。
在實施例中,可再使用用於建立起始分佈的一組記憶胞多次以產生具有變化內容的多個穩定資料集。因此,邏輯可提供於部署此類實施例的系統中,以利用一個積體電路上的記憶胞上的PUF程序來產生可在與所述一個積體電路通訊的其他元件中共用的獨特資料集。
如上文所提及,本文中所描述的實例是基於使用諸如快閃記憶體的電荷收集記憶胞。在一些實施例中,包含經組態如圖3、圖16、圖17以及圖17A中所示的實施例中,所述技術可擴展至其他可程式化記憶胞技術,包含基於金屬氧化物的可程式化電阻胞、基於相位變換材料的可程式化電阻胞、磁阻記憶體以及其他類型的記憶胞技術,其特徵為用以建立其中閾值電壓或閾值電阻相對於記憶胞的位址隨機變化作為經暴露於通用程序的結果的起始分佈的能力。
如本文所描述產生的資料集可具有對於特定積體電路獨特的內容。資料集可用以形成對詢問的回應,諸如在安全協定的實例中。資料集可用作加密協定中的密鑰。資料集可用作唯一識別符。資料集可用作隨機密鑰。
本文中所描述的技術的各種態樣包含以下實施例。
在一個實施例中描述用於在包含一組可程式化記憶胞的積體電路上產生資料集的方法。所述方法可包括將積體電路上的具有位址的所述組可程式化記憶胞暴露於所述組中的可程式化記憶胞中引發閾值的起始分佈內的可變閾值的通用程序。所述方法亦可包括:(1)尋找具有起始分佈的第一部分中的閾值的所述組可程式化記憶胞的第一子組,及具有起始分佈的第二部分中的閾值的所述組可程式化記憶胞的第二子組;及(2)使用第一及第二子組中的至少一者的位址以產生資料集。
通用程序可包括在製造期間的蝕刻或沈積步驟,其在所述組中的可程式化記憶胞的電荷儲存結構中引發電荷收集。通用程序亦可包括使用偏壓電路對積體電路進行偏壓操作,其在所述組中的可程式化記憶胞的電荷儲存結構中引發改變。
在一個實施例中描述製造積體電路的方法。所述方法可包括:在積體電路上形成多個可程式化記憶胞;將積體電路連接至經組態以與積體電路交換訊號的系統;以及藉由以下步驟來使用所述系統以在具有閾值的起始分佈的所述多個可程式化記憶胞中的一組可程式化記憶胞中產生資料集:(1)尋找具有起始分佈的第一部分中的閾值的所述組可程式化記憶胞的第一子組,及具有起始分佈的第二部分中的閾值的所述組可程式化記憶胞的第二子組;及(2)使用第一子組及第二子組中的至少一者的位址以產生資料集。
在一個實施例中描述一裝置。所述裝置可包括積體電路上的一組可程式化記憶胞;用以藉由以下步驟來使用所述組可程式化記憶胞來產生資料集的邏輯,其中所述組可程式化記憶胞具有閾值的起始分佈:(1)尋找具有起始分佈的第一部分中的閾值的所述組可程式化記憶胞的第一子組,及具有起始分佈的第二部分中的閾值的所述組可程式化記憶胞的第二子組;及(2)使用第一子組及第二子組中的至少一者的位址以產生資料集。
在一個實施例中描述一產品。所述產品可包括儲存用於一程序的電腦指令的電腦可讀非暫時性資料儲存媒體,所述程序用以在包含一組可程式化記憶胞的積體電路上產生資料集,所述電腦指令可由經組態以連接至積體電路的系統執行。所描述的程序可包括:(1)尋找具有起始分佈的第一部分中的閾值的所述組可程式化記憶胞的第一子組,及具有起始分佈的第二部分中的閾值的所述組可程式化記憶胞的第二子組;及(2)使用第一子組及第二子組中的至少一者的位址以產生資料集。
實施例中描述的尋找步驟可包含判定起始分佈的第一部分與起始分佈的第二部分之間的分隔線,從而使得所述組中具有低於分隔線的閾值的可程式化記憶胞的計數與所述組中具有高於分隔線的閾值的可程式化記憶胞的計數的比率在目標比率範圍內。
實施例中描述的使用位址步驟可包含:使用第一子組及第二子組中的所述至少一者中的可程式化記憶胞的位址來選擇可程式化記憶胞,向所選擇的可程式化記憶胞施加偏壓操作以對於所述組可程式化記憶胞建立改變的閾值分佈,改變的分佈具有第一子組與第二子組之間的感測邊限;以及使用所述感測邊限中的讀取電壓來讀取所述組中的可程式化記憶胞以產生資料集。使用位址步驟亦可包含將第一子組及第二子組中的所述至少一者中的記憶胞的位址合併隨第一子組及第二子組中的所述至少一者的成員而變化,及將合併的位址用作資料集。
在一個實施例中描述用於在積體電路上產生資料集的方法。積體電路包含一組可程式化記憶胞,且可程式化記憶胞具有起始分佈中的閾值。所述方法包括尋找具有起始分佈的第一部分中的閾值的所述組可程式化記憶胞中的第一子組,及具有起始分佈的第二部分中的閾值的所述組可程式化記憶胞中的第二子組。所述方法可包括施加偏壓操作以對所述組中的可程式化記憶胞建立改變的閾值分佈,改變的分佈具有第一子組與第二子組之間的感測邊限;以及使用改變的分佈來提供資料集。
在一個實施例中描述用於在積體電路上產生資料集的方法。積體電路包含一組可程式化記憶胞,其可程式化記憶胞具有起始分佈中的閾值。所述方法包括尋找具有起始分佈的第一部分中的閾值的所述組可程式化記憶胞中的第一子組,及具有起始分佈的第二部分中的閾值的所述組可程式化記憶胞中的第二子組。所述方法可包括:將第一子組及第二子組中的至少一者中的可程式化記憶胞的位址合併;及使用合併的位址來提供資料集。
在一個實施例中描述一裝置。所述裝置可包含一組電荷收集記憶胞;及具有對所述組電荷收集記憶胞的存取的電路,以使用所述組電荷收集電荷收集提供資料集,所述資料集為所述組電荷收集記憶胞的不同成員的可變閾值電壓作為在所述組中的電荷收集記憶胞中的電荷儲存結構中引發電荷收集的通用程序的結果的函數。如所描述的所述組電荷收集記憶胞具有次序且可變閾值電壓具有起始分佈,且資料集為按具有起始分佈的部分中的閾值電壓的所述組電荷收集記憶胞的子組的順序的位置的函數。
在一個實施例中描述用於在包含一組可程式化記憶胞的積體電路上產生資料集的方法。所述方法包括將積體電路上所述組具有位址的可程式化記憶胞暴露至在所述組的成員中引發起始閾值分佈內的可變閾值的通用程序。所述方法亦包括:(1)在起始分佈中尋找第一分隔線及不同於第一分隔線的第二分隔線;(2)識別具有低於起始分佈的第一部分中的第一分隔線的閾值的所述組可程式化記憶胞中的第一子組,及具有高於起始分佈的第二部分中的第二分隔線的閾值的所述組可程式化記憶胞中的第二子組;以及(3)使用第一子組及第二子組中的至少一者的位址產生資料集。
在一個實施例中描述製造積體電路的方法。所述方法可包括在積體電路上形成多個可程式化記憶胞;將積體電路連接至經組態以與積體電路交換訊號的系統;以及藉由以下步驟來使用所述系統以在具有閾值的起始分佈的所述多個可程式化記憶胞中的一組可程式化記憶胞中產生資料集:(1)在起始分佈中尋找第一分隔線及不同於第一分隔線的第二分隔線;(2)識別具有低於起始分佈的第一部分中的第一分隔線的閾值的所述組可程式化記憶胞中的第一子組,及具有高於起始分佈的第二部分中的第二分隔線的閾值的所述組可程式化記憶胞中的第二子組;以及(3)使用第一子組及第二子組中的至少一者的位址產生資料集。
在一個實施例中描述一裝置。所述裝置包括積體電路上的一組可程式化記憶胞;及用以藉由以下步驟來使用所述組可程式化記憶胞產生資料集的邏輯,其中所述組記憶胞具有閾值的起始分佈:(1)在起始分佈中尋找第一分隔線及不同於第一分隔線的第二分隔線;(2)識別具有低於起始分佈的第一部分中的第一分隔線的閾值的所述組可程式化記憶胞中的第一子組,及具有高於起始分佈的第二部分中的第二分隔線的閾值的所述組可程式化記憶胞中的第二子組;以及(3)使用第一及第二子組中的至少一者的位址產生資料集。
在一個實施例中描述一產品。所述產品包括儲存用於一程序的電腦指令的電腦可讀非暫時性資料儲存媒體,所述程序用以在包含可程式化記憶胞的積體電路上產生資料集,所述電腦指令可由經組態以連接至積體電路的系統執行。所述程序包括:(1)在起始分佈中尋找第一分隔線及不同於第一分隔線的第二分隔線;(2)識別具有低於起始分佈的第一部分中的第一分隔線的閾值的所述組可程式化記憶胞中的第一子組,及具有高於起始分佈的第二部分中的第二分隔線的閾值的所述組可程式化記憶胞中的第二子組;以及(3)使用第一子組及第二子組中的至少一者的位址產生資料集。
實施例中所描述的尋找第一分隔線及第二分隔線的步驟可包含測定起始分佈中的閾值電壓,在所述電壓下,具有低於閾值電壓的閾值的記憶胞的計數與具有高於閾值電壓的閾值的記憶胞的計數的比率在目標比率範圍內;及藉由自閾值電壓減去第一常數來設定第一分隔線,以及藉由向閾值電壓加上第二常數來設定第二分隔線。尋找步驟亦可包含使用移動第一讀取電壓反覆地讀取所述組可程式化記憶胞中的資料值,及對所述組中具有低於第一讀取電壓的閾值的記憶胞進行計數,以及使用第一讀取電壓設定第一分隔線,在所述第一讀取電壓下,所述計數在第一目標計數範圍內。尋找步驟亦可包含使用移動第二讀取電壓反覆地讀取所述組可程式化記憶胞中的資料值,及對所述組中具有高於第二讀取電壓的閾值的記憶胞進行計數,以及使用第二讀取電壓設定第二分隔線,在所述第二讀取電壓下,所述計數在第二目標計數範圍內。
實施例中所描述的產生資料集的步驟可包含使用位址來選擇第一子組及第二子組中的一者中的可程式化記憶胞;以及使用第一分隔線與第二分隔線之間的讀取電壓來讀取所述組可程式化記憶胞中的可程式化記憶胞。產生步驟亦可包含將第一子組及第二子組中的所述至少一者中的可程式化記憶胞的位址合併隨第一及第二子組中的所述至少一者中的成員變化。
實施例中描述的通用程序可包括在製造期間的蝕刻或沈積步驟,所述步驟在所述組中的可程式化記憶胞的電荷儲存結構中引發電荷收集。通用程序亦可包括使用偏壓電路對積體電路進行偏壓操作,其在所述組中的可程式化記憶胞的電荷儲存結構中引發改變。
在一個實施例中描述用於在包含可程式化記憶胞的積體電路上產生資料集的方法。所述方法包括儲存具有所述組中的記憶胞的閾值分佈的第一子分佈中的閾值的一組記憶胞中的記憶胞的位址;及使用所儲存的位址產生資料集。
在一個實施例中描述積體電路。積體電路包括具有閾值的分佈的積體電路上的一組可程式化記憶胞;儲存具有閾值分佈的第一子分佈中的閾值的所述組記憶胞中的記憶胞的位址的記憶體;以及用以使用所儲存的位址來產生資料集的邏輯。
分佈的特徵在於已使用實體不可複製功能實現。藉由感測邊限將第一子分佈與第二子分佈分離,且邏輯經組態以產生資料集以按位址次序讀取所述組可程式化記憶胞中的記憶胞以產生根據是否為第一子分佈中的成員而變化的資料值。另外,記憶體儲存具有所述組中的記憶胞的閾值分佈的第二子分佈中的閾值的所述組記憶胞中的記憶胞的位址;且用以產生資料集的邏輯包含對於第一子分佈及第二子分佈使用所儲存的位址。另外,記憶體儲存閾值分佈的第一分隔線及不同於第一分隔線的第二分隔線,其中第一子分佈中的記憶胞包含具有低於第一分隔線的閾值的所述組記憶胞的第一子組,且第二子分佈中的記憶胞包含具有高於第二分隔線的閾值的所述組記憶胞的第二子組。
如描述於實施例中的邏輯經組態以使用位址產生資料集以選擇第一子組及第二子組中的一者中的記憶胞;且使用第一分隔線與第二分隔線之間的讀取電壓來讀取所述組可程式化記憶胞中的記憶胞。
如所描述的邏輯可經組態以使用積體電路上的偏壓電路來施加偏壓操作,其在所述組中的可程式化記憶胞的電荷儲存結構中引發變化以建立分佈,且回應於詢問輸入以使用資料集產生回應輸出。邏輯可包括積體電路上的狀態機。
在本文所描述的實施例中,所述組中的可程式化記憶胞為電荷收集記憶胞,且閾值為閾值電壓。
在一個實施例描述記憶體電路。所述記憶體電路包括:(1)包含多個記憶胞的區塊且包含儲存於所述多個區塊中的特定區塊中的密鑰的非揮發性記憶體陣列;(2)用於來自陣列的資料的外部通訊的埠;(3)耦接至記憶體陣列的安全邏輯,其在協定中利用密鑰以啟用存取儲存於所述多個區塊中的區塊中的資料;以及(4)耦接至陣列的存取控制電路,其包含用以啟用由供用於協定中的安全邏輯來唯讀存取特定區塊且防止經由埠存取特定區塊的邏輯。
在一個實施例中描述包括封裝積體電路或多晶片模組的元件。所述元件包括:(1)包含多個記憶胞的區塊且包含儲存於所述多個區塊中的特定區塊中的密鑰的非揮發性記憶體陣列;(2)用於來自陣列的資料的外部通訊的埠;(3)耦接至記憶體陣列的安全邏輯,其在協定中利用密鑰以啟用存取儲存於所述多個區塊中的區塊中的資料;以及(4)耦接至陣列的存取控制電路,其包含用以啟用由供用於協定中的安全邏輯來唯讀存取特定區塊且防止經由埠存取特定區塊的邏輯。
在一個實施例中描述用於操作包含非揮發性記憶體陣列的電路的方法。所述方法包括(1)將密鑰儲存於非揮發性記憶體陣列的多個區塊中的特定區塊中;(2)藉由外部元件或通訊網路使用埠存取來自陣列的資料;(3)在協定中利用耦接至非揮發性記憶體陣列的安全邏輯電路、儲存於特定區塊中的密鑰以啟用存取儲存於所述多個區塊中的區塊中的資料;(4)啟用由供用於協定的安全邏輯唯讀存取特定區塊,且防止經由埠存取特定區塊。
本文中所描述的協定可包含詢問/回應協定,其包含經由埠交換資料。
本文中所描述的存取控制電路具有第一狀態,其中啟用經由埠存取特定區塊以寫入密鑰;第二狀態,其中禁用經由埠存取或寫入其中特定區塊,且啟用由安全邏輯讀取存取特定區塊。所描述的存取控制電路包含區塊鎖定位元,其啟用且禁用對所述多個區塊中的相應區塊的存取。
在實施例中,邏輯包含於封裝積體電路或多晶片模組中。邏輯可將使用所述組記憶胞產生的密鑰儲存至特定區塊中,且可使用記憶體陣列中的一組記憶胞來執行功能以產生密鑰。所述組記憶胞在特定區塊中。
所描述的密鑰包括所述組記憶胞的子組中的資料值,及識別供安全邏輯使用的子組的成員的位址映射。
記憶體陣列、埠、安全邏輯以及存取控制電路可安置於單個積體電路上。
描述記憶體元件,包括實體不可複製功能(PUF)電路;及經組態以抑止PUF電路中的記憶胞的程式化或抹除程序的保護電路。在實施例中,保護電路包含指示程式化或抹除PUF電路的可存取性的指示器,且指示器處於抑止將PUF電路的程序程式化或抹除的狀態中。在實施例中,指示器為熔絲、一次性程式(one-time-program;OTP)胞,或暫存器。在實施例中,PUF電路包含非揮發性記憶體陣列中的所選擇組的胞,且電路包含寫入偏壓產生器,其產生寫入偏壓佈置以將記憶胞寫入陣列中;且其中抑止寫入偏壓產生器連接至PUF電路的所選擇組的記憶胞。在實施例中,禁用寫入偏壓產生器而啟用PUF電路。
在實施例中,保護電路經組態以執行驗證算法以判定將PUF電路程式化或抹除的可存取性。驗證算法可包括密碼驗證。
在實施例中,驗證算法與指紋識別機構或硬體密鑰介接。
描述記憶體元件,包括PUF電路;及經組態以檢查PUF電路的內容的指定型樣以允許或抑止PUF電路的寫入程序的控制電路。用以允許寫入程序所需要的指定型樣可為例如所有1的或所有0的。
儘管參考上文詳述的較佳實施例及實例揭示本發明,但應理解,這些實例意欲為說明性而非限制性意義。預期所屬領域中具通常知識者將容易地想到各種修改及組合,所述修改及組合將在本發明的精神及以下申請專利範圍的範疇內。
0‧‧‧記憶體區塊
1‧‧‧記憶體區塊
100‧‧‧積體電路
110‧‧‧任務功能電路
111‧‧‧匯流排
115‧‧‧存取控制區塊
116‧‧‧匯流排
120‧‧‧輸入/輸出介面
122‧‧‧線
125‧‧‧安全邏輯
130‧‧‧快閃記憶體陣列
131‧‧‧匯流排
140‧‧‧實體不可複製功能程式控制器
141‧‧‧匯流排
180‧‧‧封裝積體電路或多晶片模組
181‧‧‧輸入/輸出介面
182‧‧‧線路
183‧‧‧存取控制開關
184‧‧‧感測放大器/緩衝器
185‧‧‧記憶體陣列
186‧‧‧位址解碼器
186A‧‧‧鎖定位元
186'‧‧‧鎖定位元及解碼器結構
187‧‧‧區塊
187A‧‧‧第一子區塊
187B‧‧‧第二子區塊
187C‧‧‧第一子區塊
189‧‧‧記憶胞
190‧‧‧安全邏輯
191‧‧‧線路
192‧‧‧線路
193‧‧‧快閃控制狀態機
193A‧‧‧指示器胞/PUF胞
194‧‧‧線路
195‧‧‧電路
198‧‧‧註冊系統
198A‧‧‧密鑰資料庫
199‧‧‧互連件
200‧‧‧流程圖
201‧‧‧步驟
210‧‧‧步驟
220‧‧‧步驟
230‧‧‧步驟
240‧‧‧步驟
250‧‧‧步驟
260‧‧‧步驟
300‧‧‧流程圖
310‧‧‧步驟
320‧‧‧步驟
410‧‧‧處理器系統
420‧‧‧驅動器
430‧‧‧元件處置器/探測器
440‧‧‧積體電路
450‧‧‧安全電路
460‧‧‧大規模快閃記憶體陣列
470‧‧‧大規模快閃記憶體陣列
471‧‧‧實體不可複製功能區塊
472‧‧‧啟動區塊
473‧‧‧參數區塊
474‧‧‧保護邏輯
475‧‧‧周邊電路
500‧‧‧起始閾值分佈
510‧‧‧第一部分
520‧‧‧第二部分
525‧‧‧分佈
530‧‧‧感測邊限
600‧‧‧起始閾值分佈
610‧‧‧第一部分
620‧‧‧第二部分
625‧‧‧閾值分佈
630‧‧‧感測邊限
700‧‧‧起始閾值分佈
710‧‧‧第一部分
720‧‧‧第二部分
730‧‧‧第三部分
735‧‧‧閾值分佈
740‧‧‧感測邊限
750‧‧‧第二感測邊限
800‧‧‧流程圖
801‧‧‧步驟
810‧‧‧步驟
816‧‧‧初始閾值分佈
817‧‧‧閾值範圍
818‧‧‧起始分佈
820‧‧‧步驟
830‧‧‧步驟
832‧‧‧步驟
834‧‧‧步驟
835‧‧‧步驟
840‧‧‧基底
841‧‧‧源極區
842‧‧‧汲極區
843‧‧‧控制閘極
844‧‧‧隧穿層
845‧‧‧浮動閘極層
846‧‧‧氧化物層
847‧‧‧氮化物層
848‧‧‧氧化物層
850‧‧‧基底
851‧‧‧源極區
852‧‧‧汲極區
853‧‧‧控制閘極
856‧‧‧隧穿層
857‧‧‧電荷收集層
858‧‧‧阻擋層
860‧‧‧基底
863‧‧‧垂直通道結構
867‧‧‧字線
869‧‧‧位元線
900‧‧‧流程圖
901‧‧‧步驟
910‧‧‧步驟
920‧‧‧步驟
930‧‧‧步驟
1200‧‧‧起始分佈
1210‧‧‧子分佈
1211‧‧‧子分佈
1220‧‧‧子分佈
1221‧‧‧子分佈
1230‧‧‧感測邊限
1240‧‧‧差值
1300‧‧‧流程圖
1301‧‧‧步驟
1310‧‧‧步驟
1320‧‧‧步驟
1330‧‧‧步驟
1340‧‧‧步驟
1350‧‧‧步驟
1360‧‧‧步驟
1370‧‧‧步驟
1400‧‧‧起始分佈
1410‧‧‧子分佈
1420‧‧‧第二子分佈
1430‧‧‧第三子分佈
1500‧‧‧流程圖
1501‧‧‧步驟
1510‧‧‧步驟
1512‧‧‧步驟
1514‧‧‧步驟
1516‧‧‧步驟
1518‧‧‧步驟
1520‧‧‧步驟
1522‧‧‧步驟
1524‧‧‧步驟
1526‧‧‧步驟
1528‧‧‧步驟
1600‧‧‧積體電路
1610‧‧‧快閃記憶體陣列
1620‧‧‧存取及偏壓電路
1630‧‧‧實體不可複製功能控制器
1632‧‧‧位址及參數儲存區
1633‧‧‧狀態機
1640‧‧‧安全邏輯
1710‧‧‧積體電路或多晶片模組
1711‧‧‧實體不可複製功能電路
1712‧‧‧控制器
1713‧‧‧安全邏輯
1714‧‧‧非揮發性記憶體
1720‧‧‧主機
1730‧‧‧步驟
1731‧‧‧步驟
1732‧‧‧步驟
1733‧‧‧步驟
1734‧‧‧步驟
1735‧‧‧步驟
1750‧‧‧步驟
1751‧‧‧步驟
1752‧‧‧步驟
1753‧‧‧步驟
1760‧‧‧步驟
1761‧‧‧步驟
1762‧‧‧步驟
1770‧‧‧實體電路
1771‧‧‧非揮發性記憶體
1775‧‧‧電路
1776‧‧‧非揮發性記憶體
1780‧‧‧隨機數產生器
1781‧‧‧非揮發性記憶體
1785‧‧‧實體不可複製功能電路
1786‧‧‧邏輯電路
1787‧‧‧非揮發性記憶體
2900‧‧‧步驟
2901‧‧‧步驟
2902‧‧‧步驟
2903‧‧‧步驟
2904‧‧‧步驟
3000‧‧‧步驟
3001‧‧‧步驟
3002‧‧‧步驟
3003‧‧‧步驟
3004‧‧‧步驟
3005‧‧‧步驟
3006‧‧‧步驟
3007‧‧‧步驟
3100‧‧‧步驟
3101‧‧‧步驟
3102‧‧‧步驟
3103‧‧‧步驟
3104‧‧‧步驟
3105‧‧‧步驟
3106‧‧‧步驟
3107‧‧‧步驟
3200‧‧‧步驟
3201‧‧‧步驟
3202‧‧‧步驟
3203‧‧‧步驟
3204‧‧‧步驟
3205‧‧‧步驟
3206‧‧‧步驟
3207‧‧‧步驟
Addr‧‧‧位址
N‧‧‧記憶體區塊
圖1為包括多個快閃記憶胞及用於執行PUF以使用所述多個快閃記憶胞來提供資料集的控制器的裝置的簡化方塊圖。 圖2說明包括多個可程式化記憶胞及用於執行PUF以使用所述多個快閃記憶胞來提供資料集的控制器的裝置的另一實例。 圖3說明積體電路上的快閃記憶體的可程式化記憶胞的區塊,包含PUF區塊。 圖4A至圖4E說明藉由尋找一組第一及第二子組的可程式化記憶胞來產生資料集及基於所識別的第一及第二子組建立穩定資料集的實例。 圖5A至圖5E說明產生如圖4A至圖4E所論述的資料集的另一實例,繪示即使應用相同過程時資料集中的變化。 圖6繪示用於在包含可程式化記憶胞的積體電路上產生穩定資料集的實例流程圖,如圖4A至圖4E及圖5A至圖5E所描述。 圖7A至圖7E說明藉由尋找一組可程式化記憶胞中的第一子組、第二子組以及第三子組來產生資料集及對所述資料集建立位址映射的實例。 圖8繪示用於在包含可程式化記憶胞的積體電路上產生資料集的實例流程圖,如圖7A至圖7E所描述。 圖9繪示用於在包含可程式化記憶胞的積體電路上產生資料集的另一實例流程圖,如圖7A至圖7E所描述。 圖10A至圖10C說明將所述組中的可程式化記憶胞的閾值設定為起始分佈。 圖10D至圖10F說明可用於產生如本文所描述的資料集的實例快閃記憶胞技術。 圖11繪示用於施加初始化偏壓操作將所述組中的可程式化記憶胞的閾值設定為起始分佈的實例流程圖。 圖12A至圖12C說明可用於依賴於電荷收集記憶胞中的閾值電壓中的差異來產生資料集的過程。 圖13為用於以圖12A至圖12C所解釋的方式在包含可程式化電荷收集記憶胞的積體電路上產生穩定資料集的實例流程圖。 圖14A至圖14C說明可用於依賴於電荷收集記憶胞中的閾值電壓中的差異來產生資料集的替代過程。 圖15為用於以圖14A至圖14C所解釋的方式在包含可程式化電荷收集記憶胞的積體電路上產生穩定資料集的實例流程圖1500。 圖16為包含快閃記憶體陣列及用於利用記憶體陣列以提供資料集的積體電路的簡化方塊圖。 圖17為繪示包含實體不可複製功能電路及非揮發性記憶體的與註冊系統耦接的封裝積體電路或多晶片模組的系統圖。 圖17A為繪示包含替代實體不可複製功能電路及非揮發性記憶體的與類似圖17中的註冊系統耦接的封裝積體電路或多晶片模組的系統圖。 圖18說明可在類似於圖17的系統中使用的非揮發性記憶體的替代組態。 圖19說明可在類似於圖17的系統中使用的非揮發性記憶體的另一替代組態。 圖20說明可用以儲存安全ID及位址映射的資料結構,所述安全ID及位址映射根據如本文中所描述的實體不可複製功能的一些實施例產生,且可儲存於諸如圖17中的系統中。 圖21為包含封裝積體電路或多晶片模組以及利用具有非揮發性記憶體的實體不可複製功能電路的主機的簡化系統圖。 圖22至圖24為說明類似於圖21的系統在各種實施例中的操作的簡化流程圖。 圖25至圖28提供與如本文所描述的非揮發性記憶體組合的實體不可複製電路的各種替代組態的簡化說明。 圖29為由積體電路上的控制器執行用來執行實體不可複製功能及凍結產生的密鑰的程序的簡化流程圖。 圖30為由積體電路上的控制器執行用來執行實體不可複製功能及凍結產生的密鑰的替代程序的簡化流程圖。 圖31為由積體電路上的控制器執行用來執行實體不可複製功能及凍結產生的密鑰的另一替代程序的簡化流程圖。 圖32為由積體電路上的控制器執行用來執行實體不可複製功能及凍結產生的密鑰的又一替代程序的簡化流程圖。

Claims (23)

  1. 一種電路,用於操作非揮發性記憶胞,該電路包括:多個非揮發性記憶胞;用以使用實體不可複製功能來產生密鑰的邏輯;將所述密鑰儲存於所述多個非揮發性記憶胞中的一組非揮發性記憶胞中的邏輯;以及用以在所述密鑰儲存於所述組中之後禁用對所述組非揮發性記憶胞中的資料的改變的邏輯,其中所述禁用對所述組非揮發性記憶胞中的資料的改變的邏輯是禁用將所述密鑰儲存於所述多個非揮發性記憶胞中的一組非揮發性記憶胞中。
  2. 如申請專利範圍第1項所述的電路,其中所述實體不可複製功能利用使用所述多個非揮發性記憶胞中的非揮發性記憶胞產生的熵來產生所述密鑰。
  3. 如申請專利範圍第1項所述的電路,其中用以禁用對所述組非揮發性記憶胞中的資料的改變的所述邏輯禁用所述實體不可複製功能。
  4. 如申請專利範圍第1項所述的電路,其中所述多個非揮發性記憶胞包含記憶胞的陣列且所述陣列具有用於存取所述陣列的周邊電路的,及非揮發性記憶胞的區塊且所述區塊具有允許唯讀存取所述區塊的單獨周邊電路的,所述區塊包含所述組非揮發性記憶胞,且其中所述實體不可複製功能利用使用非揮發性記憶胞的所述區塊中的非揮發性記憶胞所產生的熵來產生所述密鑰,且其中用以禁用對所述組非揮發性記憶胞中的資料的改變的所述邏輯禁用所述實體不可複製功能。
  5. 如申請專利範圍第1項所述的電路,其中所述多個非揮發性記憶胞包含記憶胞的陣列且所述陣列具有用於存取所述陣列的周邊電路的,且其中所述周邊電路具有第一狀態,在所述第一狀態中啟用用以寫入所述密鑰的對所述組非揮發性記憶胞的存取,及第二狀態,在所述第二狀態中禁用用以寫入的對所述組非揮發性記憶胞的存取而啟用用以寫入的對所述陣列中的其他非揮發性記憶胞的存取,且其中用以禁用對所述組非揮發性記憶胞中的資料的改變的所述邏輯包含用以設定所述第一狀態或所述第二狀態的指示器。
  6. 如申請專利範圍第1項所述的電路,包含需要成功驗證協定的驗證邏輯以啟用所述實體不可複製功能以產生密鑰。
  7. 如申請專利範圍第1項所述的電路,其中用以禁用對所述組非揮發性記憶胞中的資料的改變的所述邏輯包含用以將儲存於所述組非揮發性記憶胞中的資料與預定資料型樣比較且用以在所述儲存的資料不匹配所述預定資料型樣時禁用所述實體不可複製功能的邏輯。
  8. 如申請專利範圍第1項所述的電路,其中所述實體不可複製功能使用所述組非揮發性記憶胞以產生所述密鑰。
  9. 如申請專利範圍第1項所述的電路,包含:埠,用於來自所述多個非揮發性記憶胞的資料的外部通訊;以及安全邏輯,耦接至所述多個非揮發性記憶胞,所述安全邏輯在協定中利用所述密鑰以啟用存取儲存於所述多個非揮發性記憶胞中的資料。
  10. 如申請專利範圍第9項所述的電路,其中所述協定包含詢問/回應協定,所述詢問/回應協定包含經由所述埠的資料交換。
  11. 如申請專利範圍第9項所述的電路,其中所述多個非揮發性記憶胞、所述埠、所述安全邏輯以及用以禁用對所述組非揮發性記憶胞中的資料的改變的所述邏輯安置於單個積體電路上。
  12. 如申請專利範圍第1項所述的電路,其中所述多個非揮發性記憶胞包括具有記憶胞的多個區塊的記憶體陣列、包含所述組非揮發性記憶胞且包含存取控制電路的特定區塊,所述存取控制電路包含區塊鎖定位元,所述區塊鎖定位元啟用且禁用對所述多個區塊中的相應區塊的寫入資料的存取,且用以禁用對所述組非揮發性記憶胞中的資料的改變的所述邏輯針對所述特定區塊設定所述區塊鎖定位元。
  13. 如申請專利範圍第1項所述的電路,其中用以禁用改變的所述邏輯回應於來自外部電路的命令。
  14. 一種用於操作包含多個非揮發性記憶胞的電路的方法,包括:執行實體不可複製功能以產生密鑰;將所述密鑰儲存於一組非揮發性記憶胞中;以及在儲存所述密鑰之後,禁用對儲存於所述組非揮發性記憶胞中的資料的改變,其中所述禁用對所述組非揮發性記憶胞中的資料的改變的步驟包括禁用將所述密鑰儲存於所述一組非揮發性記憶胞中。
  15. 如申請專利範圍第14項所述的方法,其中所述實體不可複製功能利用使用所述多個非揮發性記憶胞中的非揮發性記憶胞產生的熵來產生所述密鑰。
  16. 如申請專利範圍第14項所述的方法,其中禁用對儲存於所述組非揮發性記憶胞中的資料的改變禁用所述實體不可複製功能。
  17. 如申請專利範圍第14項所述的方法,其中所述多個非揮發性記憶胞包含非揮發性記憶胞的陣列且所述陣列具有用於存取所述陣列的周邊電路的,及非揮發性記憶胞的區塊且所述區塊具有允許唯讀存取所述區塊的單獨周邊電路的,所述區塊包含所述組非揮發性記憶胞,且其中所述實體不可複製功能利用使用非揮發性記憶胞的所述區塊中的非揮發性記憶胞所產生的熵來產生所述密鑰,且其中禁用對所述組非揮發性記憶胞中的資料的改變禁用所述實體不可複製功能。
  18. 如申請專利範圍第14項所述的方法,其中所述多個非揮發性記憶胞包含非揮發性記憶胞的陣列且所述陣列具有用於存取所述陣列的周邊電路的,且其中所述周邊電路具有第一狀態,在所述第一狀態中啟用用以寫入所述密鑰的對所述組非揮發性記憶胞的存取,及第二狀態,在所述第二狀態中禁用用以寫入的對所述組非揮發性記憶胞的存取而啟用用以寫入的對所述陣列中的其他非揮發性記憶胞的存取,且其中禁用對所述組非揮發性記憶胞中的資料的改變包含儲存用以設定所述第一狀態或所述第二狀態的指示器。
  19. 如申請專利範圍第14項的方法,包含要求成功驗證協定以啟用所述實體不可複製功能以產生密鑰。
  20. 如申請專利範圍第14項所述的方法,其中禁用對儲存於所述組非揮發性記憶胞中的資料的改變包含將儲存於所述組非揮發性記憶胞中的資料與預定資料型樣比較,及在所述儲存的資料不匹配所述預定資料型樣時禁用所述實體不可複製功能。
  21. 如申請專利範圍第14項所述的方法,其中所述實體不可複製功能使用所述組非揮發性記憶胞以產生所述密鑰。
  22. 如申請專利範圍第14項的方法,包含在協定中利用所述密鑰以啟用存取除所述密鑰的外的儲存於所述多個非揮發性記憶胞中的資料。
  23. 如申請專利範圍第14項的方法,包含在產生所述密鑰之後且在禁用改變之前測試所述密鑰以校驗所述密鑰可用於其期望的目的。
TW107116835A 2017-05-22 2018-05-17 操作具非揮發性記憶胞電路的方法及使用所述方法的電路 TWI663604B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US15/601,582 US10715340B2 (en) 2016-08-04 2017-05-22 Non-volatile memory with security key storage
US15/601,582 2017-05-22
US201762528460P 2017-07-04 2017-07-04
US62/528,460 2017-07-04
US15/864,445 2018-01-08
US15/864,445 US10911229B2 (en) 2016-08-04 2018-01-08 Unchangeable physical unclonable function in non-volatile memory

Publications (2)

Publication Number Publication Date
TW201901676A TW201901676A (zh) 2019-01-01
TWI663604B true TWI663604B (zh) 2019-06-21

Family

ID=61189225

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107116835A TWI663604B (zh) 2017-05-22 2018-05-17 操作具非揮發性記憶胞電路的方法及使用所述方法的電路

Country Status (3)

Country Link
EP (1) EP3407336B1 (zh)
CN (1) CN108959976B (zh)
TW (1) TWI663604B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI782540B (zh) * 2020-06-04 2022-11-01 熵碼科技股份有限公司 基於物理不可複製功能的真隨機數產生器以及用於產生真隨機數的方法
US11487505B2 (en) 2020-06-04 2022-11-01 PUFsecurity Corporation Physical unclonable function based true random number generator, method for generating true random numbers, and associated electronic device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723409B (zh) * 2019-03-22 2023-06-06 旺宏电子股份有限公司 集成电路、存储器电路以及用于操作集成电路的方法
US11568093B2 (en) * 2020-04-17 2023-01-31 SK Hynix Inc. Data scramblers with enhanced physical security
US20210409233A1 (en) * 2020-06-26 2021-12-30 Taiwan Semiconductor Manufacturing Company Ltd. Puf method and structure

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9082514B1 (en) * 2013-04-22 2015-07-14 Xilinx, Inc. Method and apparatus for physically unclonable function burn-in
US9093128B2 (en) * 2012-11-05 2015-07-28 Infineon Technologies Ag Electronic device with a plurality of memory cells and with physically unclonable function
US20160328578A1 (en) * 2014-01-08 2016-11-10 Stc.Unm Systems and methods for generating physically unclonable functions from non-volatile memory cells
US9613714B1 (en) * 2016-01-19 2017-04-04 Ememory Technology Inc. One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102083271B1 (ko) * 2012-07-31 2020-03-02 삼성전자주식회사 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법
US8928347B2 (en) * 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
US8885819B2 (en) * 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
US9658787B2 (en) 2014-02-26 2017-05-23 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile mask codes
CN105632543B (zh) * 2014-11-21 2018-03-30 松下知识产权经营株式会社 具有防篡改性的非易失性存储装置及集成电路卡
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
US9607702B2 (en) 2015-03-25 2017-03-28 Macronix International Co., Ltd. Sub-block page erase in 3D p-channel flash memory
CN105007285B (zh) * 2015-08-19 2018-07-24 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9093128B2 (en) * 2012-11-05 2015-07-28 Infineon Technologies Ag Electronic device with a plurality of memory cells and with physically unclonable function
US9082514B1 (en) * 2013-04-22 2015-07-14 Xilinx, Inc. Method and apparatus for physically unclonable function burn-in
US20160328578A1 (en) * 2014-01-08 2016-11-10 Stc.Unm Systems and methods for generating physically unclonable functions from non-volatile memory cells
US9613714B1 (en) * 2016-01-19 2017-04-04 Ememory Technology Inc. One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI782540B (zh) * 2020-06-04 2022-11-01 熵碼科技股份有限公司 基於物理不可複製功能的真隨機數產生器以及用於產生真隨機數的方法
US11487505B2 (en) 2020-06-04 2022-11-01 PUFsecurity Corporation Physical unclonable function based true random number generator, method for generating true random numbers, and associated electronic device

Also Published As

Publication number Publication date
EP3407336A1 (en) 2018-11-28
CN108959976B (zh) 2022-08-12
EP3407336B1 (en) 2022-08-17
TW201901676A (zh) 2019-01-01
CN108959976A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
US11895236B2 (en) Unchangeable physical unclonable function in non-volatile memory
TWI673721B (zh) 具有物理不可複製功能及隨機數產生器的電路及其操作方法
TWI666547B (zh) 電子裝置、產品及製造積體電路方法及產生資料集的方法
US10855477B2 (en) Non-volatile memory with physical unclonable function and random number generator
US10680809B2 (en) Physical unclonable function for security key
JP6474056B2 (ja) 耐タンパ性を有する不揮発性メモリ装置、集積回路カード、不揮発性メモリ装置の認証方法、不揮発性メモリ装置を用いた暗号化方法および復号化方法
TWI663604B (zh) 操作具非揮發性記憶胞電路的方法及使用所述方法的電路
JP6587188B2 (ja) 乱数処理装置、集積回路カード、および乱数処理方法
JP2016105278A (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
JP2016105344A (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
JP2017011678A (ja) 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法
CN108958650B (zh) 电子系统及其操作方法
TWI716685B (zh) 電子系統及其操作方法
CN111723409A (zh) 集成电路、存储器电路以及用于操作集成电路的方法