以SRAM為基礎的認證電路的製作方法
2023-05-31 14:52:01
本揭露涉及一種以sram為基礎的認證電路。
背景技術:
::隨著利用集成電路的電子裝置的使用增加以提供不同形式的信息於多種不同的應用,越來越需要適當保護可存儲於電子裝置內的敏感/或關鍵信息,限制僅具有許可存取所述信息的其它裝置可存取此類信息。一些應用範例包含裝置的認證、保護裝置內的機密信息、以及保護二或多個裝置之間的通訊。物理不可複製功能(physicallyunclonablefunction,puf)通常為位於集成電路內的物理結構,響應於傳到所述puf的輸入(例如挑戰/請求)而提供一些對應的輸出(例如響應)。通過建立辨識,可在裝置之間提供安全通訊。puf還可用於現有的認證目的,以取代分配身分到電子裝置的現有方法。由於puf基於製造過程的固有性質,因而puf具有優於習知認證方式的各種優點,習知認證方式將身分刻寫在裝置上,容易被模仿及/或更容易逆向工程(reverseengineered)。技術實現要素:本揭露的一些實施例提供一種認證電路,耦合到包含多個位的存儲器裝置,所述認證電路包括監視引擎,耦合到所述存儲器電路的所述多個位,並且經配置以提供第一數據式樣到所述多個位,因而使得所述多個位中的每一個於第一數據狀態中,響應於施加於所述多個位上的第一下降電壓而檢測每一個位是否發生由所述第一數據狀態轉變為第二數據狀態,提供第二數據式樣於到所述多個位,因而使得所述多個位中的每一個於所述第二數據狀態中,以及響應於施加於所述多個位的第二下降電壓而檢測每一個位是否發生由所述第二數據狀態轉變為第一數據狀態,其中所述第一數據狀態不同於所述第二數據狀態;物理不可複製功能(puf)控制器,耦合到所述存儲器裝置的所述多個位與所述監視引擎,並且經配置以基於每一個位的所述轉變而產生puf特徵碼。附圖說明為協助讀者達到最佳理解效果,建議在閱讀本揭露時同時參考附件圖示及其詳細文字敘述說明。請注意為遵循業界標準作法,本專利說明書中的圖式不一定按照正確的比例繪製。在某些圖式中,尺寸可能刻意放大或縮小,以協助讀者清楚了解其中的討論內容。圖1根據一些實施例說明包含認證電路的存儲器裝置的例示框圖。圖2根據一些實施例說明圖1的存儲器裝置的靜態隨機存取存儲器(sram)塊的例示框圖。圖3根據一些實施例說明圖1的存儲器裝置的資料庫的例示圖式。圖4根據一些實施例說明圖1的存儲器裝置的資料庫的例示圖式。圖5根據一些實施例說明圖1的存儲器裝置的資料庫的例示圖式。圖6根據一些實施例說明圖1的存儲器裝置的資料庫的例示圖式。圖7為例示流程圖,根據一些實施例說明產生物理不可複製供功能(puf)特徵碼(signature)於圖1的sram塊。具體實施方式本揭露提供了數個不同的實施方法或實施例,可用於實現本發明的不同特徵。為簡化說明起見,本揭露也同時描述了特定零組件與布置的範例。請注意提供這些特定範例的目的僅在於示範,而非予以任何限制。舉例來說,可理解當稱元件為「連接到」或「耦合到」另一元件,其可直接連接或耦合到另一元件,或是可存在一或多個中間元件。物理不可複製功能(physicallyunclonablefunction,puf)通常用於認證與機密鑰匙存儲,不需要安全的電子式可擦除可編程只讀存儲器(electricallyerasableprogrammableread-onlymemory,eeprom)及/或其它昂貴硬體(例如電池支持的靜態隨機存取存儲器)。取代存儲機密於數字存儲器中,puf從集成電路(ic)的物理特性取得機密。puf基於一個想法,即使使用相同製造過程,製造多個ic,然而,每一個ic仍可能因製造差異而有些微不同。puf利用這差異得到「機密(secret)」信息,這對於每一個ic來說是獨特的(例如矽「生物特徵」)。通常,此機密信息指ic的特徵碼(signature)。此外,由於製造差異定義所述特徵碼,因而即使充分認識所述ic設計,也無法製造兩個相同的ic。ic的各種形式的差異可作為定義此特徵碼,例如門延遲、閾值電壓、靜態隨機存取存儲器(sram)裝置的開機狀態、以及/或ic的各種物理特性中的任一者。在使用上述靜態隨機存取存儲器(sram)裝置的開機狀態的範例中,即使sram裝置包含對稱單元(位),當sram裝置開啟時,製造差異仍可能造成sram裝置的每一個位傾向於高狀態(即邏輯「1」)或於低狀態(即邏輯「0」)。所述位的此初始開啟狀態隨機分布於整個sram裝置,這引起可由puf定義的差異,以產生sram裝置獨特的特徵碼。通常,通過使用sram裝置的開啟狀態的puf特徵碼稱為「開啟sram為基礎的puf(power-onsram-basedpuf)」。此習知的開啟sram為基礎的puf通常需要存儲器/資料庫以記錄與存儲sram裝置的所有位的初始開啟狀態。當sram裝置的尺寸傾向於成指數增加時,需要對應增加存儲器/資料庫的尺寸或容量,這不利地造成許多問題,例如製造sram裝置的不動產(realestate)、操作sram裝置的功率消耗等等。本揭露的實施例提供各種系統與方法,大幅減少puf使用的位數目,以通過監視引擎產生特徵碼,將再詳細說明如下。位數目大幅減少可有利地改進習知puf(例如開啟sram為基礎的puf)所面臨的許多問題。再者,目前實施例中所揭露的系統與方法提供對於所有位的動態監視過程,因而可動態改變(例如減少)puf用以產生特徵碼的位數目。動態監視過程的細節也將詳述如下。圖1根據不同實施例說明存儲器裝置100。在圖1所述的實施例中,存儲器裝置100包含sram塊102以及耦合到sram塊102的認證電路104。雖然在圖1的所述實施例中,認證電路104為與sram塊102分離的組件,然而,在一些實施例中,認證電路104可整合或內嵌於sram塊102中,此仍屬本揭露的範圍之內。根據本揭露的一些實施例,認證電路104經配置通過監視sram塊102的每一個位的趨勢(tendency),以產生獨特的upf特徵碼用於sram塊102,其詳細說明如下。在圖1的所述的實施例中,認證電路104包含電壓控制器106、監視引擎108、資料庫110、物理不可複製功能(puf)控制器112、以及錯誤校正碼(errorcorrectioncode,ecc)電路114,各自經由數據總線116而彼此耦合。根據一些實施例,監視引擎108可稱為「bist」引擎。在一些實施例中,認證電路104的所有組件(即電壓控制器106、監視引擎108、資料庫110、puf控制器112以及ecc電路114)可耦合到共同的總線116而相互通訊。在一些實施例中,認證電路104包含輸入埠124與輸出埠126。認證電路104的輸入埠124經配置以接收請求/挑戰(例如請求開啟耦合的sram塊102、請求存取sram塊102的機密信息等)。認證電路104的輸出埠126經配置以基於sram塊102的所監視的位,提供響應(例如puf特徵碼)以響應所述請求。在一些實施例中,此輸入與輸出埠可直接耦合到puf控制器112。即,根據此等實施例,puf控制器112經配置以經由輸入埠124而接收請求,以及經由輸出埠126而提供響應。在一些實施例中,認證電路104/puf控制器112提供的請求與對應的響應都可存儲為請求-響應對,用於進一步加密使用(例如加密鑰匙產生過程)。參閱圖1,在一些實施例中,資料庫110包含非易失性存儲器(non-volatilememory,nvm)裝置,其中nvm裝置可包含多個單元。在一些實施例中,資料庫110的各個單元可包含單一位,但在一些其它的實施例中,資料庫110的各個單元可包含兩個或更多位,仍屬本揭露的範圍之內。所述單元的各個位可稱為「引線(fuse)」。在一範例,如果資料庫110包含10個單元且各個單元具有一位,那麼資料庫110稱為具有10位的引線。根據一些實施例,電壓控制器106經配置以改變sram塊102供應的電壓電平。監視引擎108經配置以監視及/或辨識sram塊102的各個位的趨勢(tendency)。如上所述,資料庫110可包含nvm裝置,其用以存儲sram塊102的各個位的經辨識的趨勢。puf控制器112經配置以基於開啟請求,產生初始的puf特徵碼,並且基於sarm塊102的經辨識的趨勢,進一步處理所述初始的puf特徵碼以產生新的puf特徵碼。ecc電路114經配置以通過校正任何可能的錯誤而進一步處理puf特徵碼。認證電路104的操作與認證電路104的各個組件的功能性將結合圖2、3、4、5與6詳細描述於下。圖2說明sram塊102的例示實施例。如上所述,sram塊102包含多個位201、202、203、204、205、206、207、208到209,以及建入的(built-in)電壓控制器118。為清楚起見,圖2的所示的實施例僅繪示9個位。各個位可包含多個電晶體(例如六個mosfet用於6tsram,八個mosfet用於8tsram等)以存儲數據。在特定的實施例中,可通過對應的字線(wl)及/或位線(bl),使用高狀態(即邏輯1)或低狀態(即邏輯0),實施存儲數據於各個位中。在圖2的所述的實施例中,sram塊102的wl/bl包含220、230、240、250、260到270,並且各個位分別耦合到wl與bl至少其中之一。在一實施例中,線220、230與240可為字線(wl),以及線256、260與270可為位線(bl)。在另一實施例中,線220、230與240可為位線(bl),以及線256、260與270可為字線(wl)。例如,可經由wl/bl220/250,使用位201為具有狀態1或0;可經由wl/bl230/250,使用位202為具有狀態1或0;可經由wl/bl240/250,使用位203為具有狀態1或0;可經由wl/bl260/220,使用位204為具有狀態1或0;可經由wl/bl260/230,使用位205為具有狀態1或0;可經由wl/bl260/240,使用位206為具有狀態1或0;可經由wl/bl270/220,使用位207為具有狀態1或0;可經由wl/bl270/230,使用位208為具有狀態1或0;可經由wl/bl270/240,使用位209為具有狀態1或0。再者,如圖2所示,sram塊102的各個位耦合到供應電壓,而後稱為vcc,且由所述供應電壓供電。在一些實施例中,建入的電壓控制器118經配置以與認證電路104的電壓控制器106通訊,並且基於所述通訊,以進一步控制所述供應電壓vcc。在一些實施例中,耦合到sram塊102的認證電路104可經由輸入埠118先接收請求(例如請求信號)。在以下所述的特定實施例中,所述請求用以開啟sram塊102。在一些其它的實施例中,所述請求可為經由認證電路104適合操作(或存取)sram塊102的各種信號中的任一者,而仍屬本揭露的範圍之內。響應於所述開啟請求,經由電壓控制器106及/或建入的電壓控制器118,開啟sram塊102。如上所述,當sram塊102開啟時,各個位(例如201、202、203、204、205、206、207、208到209)可具有初始狀態,即0或1。puf控制器112通過使用sram102中的所有位,產生初始puf特徵碼。更具體來說,根據sram塊102中的所有位的初始狀態,產生此初始特徵碼。在一範例中,sram塊包含8個位。由於各個位上的製造差異,當提供電壓供應(例如開啟電壓)到這8個位的每一個,所述位各自可具有個別的初始狀態,0或1。據此,sram塊可具有數據狀態,例如01101010,其為sram塊的初始特徵碼。而後,認證電路104的監視引擎108提供第一數據式樣到sram塊102中的所有位。根據現有的實施例,第一數據式樣不同於初始狀態。在一些實施例中,監視引擎108使用第一數據式樣,造成wl與bl在所有的位上存寫「1」。即,sram塊102的各個位於高狀態「1」。而後,認證電路104的電壓控制器106將改變供應電壓vcc。在一實施例中,電壓控制器106經由sram塊102的所述建入的電壓控制器118,降低供應電壓vcc到閾值(例如sram塊102,所述位的滯留電壓(retentionvoltage)之下,而監視引擎108持續監視各個位上的狀態變化。更具體來說,監視引擎108檢測是否所述位中的任一者由1轉變(即翻轉(flip))到0。如果是這樣(即位從1翻轉到0),那麼監視引擎108可將所述位標記為「穩定位」,以及在一些實施例中,可記錄其對應位置於資料庫110中,詳細說明結合圖3到6如下所述。如果不是這樣(即位保持為1),那麼監視引擎108可標記所述位為「不穩定位」,以及在一些實施例中,可記錄其對應位置於資料庫110中,詳細說明結合圖3到6如下所述。在現有的實施例中,雖然監視引擎108可記錄所述穩定位或不穩定位的位置於資料庫110中,監視引擎108可經配置以記錄所述穩定位與不穩定位二者的位置於資料庫110中,仍屬本揭露的範圍之內。繼續說明認證電路104的操作,監視引擎108可另使用第二數據式樣,造成sram塊102的wl與bl在sram塊102的所有位上存寫「0」。如上所述,電壓控制器106經由sram塊102的所述建入的電壓控制器,降低供應電壓vcc到閾值之下,而監視引擎108持續監視各個位上的狀態變化。換句話說,監視引擎108檢測是否所述位中的任一者由0轉變(即翻轉(flip))到1。如果是這樣(即位從0翻轉到1),那麼監視引擎108可將所述位標記為「穩定位」,以及在一些實施例中,可記錄其對應位置於資料庫110中。如果不是這樣(即位保持為0),那麼監視引擎108可將所述位標記為「不穩定位」,以及在一些實施例中,可記錄其對應位置於資料庫110中。在一些實施例中,雖然監視引擎108可記錄穩定位或不穩定位的位置於資料庫110中,監視引擎108可經配置以記錄所述穩定位與不穩定位二者的位置於資料庫110中,仍屬本揭露的範圍之內。於上述的實施例中,在電壓控制器106降低vcc使得監視引擎108進行第一監視(此後稱為「第一測試」)之前,監視引擎108提供第一數據式樣,造成所有的位轉變到高狀態「1」,而後在電壓控制器106降低vcc使得監視引擎108進行第二監視(此後稱為「第二測試」)之前,監視引擎108提供第二數據式樣,造成所有位轉變到低狀態「0」。然而,在一些實施例中,在第一測試之前,監視引擎108提供的第一數據式樣可造成所有位轉變為「0」,以及在第二測試之前,第二數據式樣可造成所有位轉變為「1」。在一些實施例中,在第一與第二測試過程中,位可從1轉變為0以及從0轉變為1。在此例子中,監視引擎108可將此位標記為「不穩定位」。例如,如果在第一測試過程中,位從1轉變為0,以及接著在第二測試過程中,位從0轉變為1,那麼位可由監視引擎108標記為不穩定位。在一些實施例中,雖然第一與第二測試都用以確定位的趨勢(即穩定或不穩定),然而無論第一或第二測試用以確定各個位的趨勢,仍屬本揭露的範圍之內。於一些實施例中,在監視引擎108檢測/標記各個位的趨勢(即穩定或不穩定)之後,認證電路104的puf控制器112可僅使用穩定位以產生第二puf特徵碼。在一些實施例中,puf控制器112可通過進一步處理初始puf特徵碼,產生第二puf特徵碼。例如,如上所述,初始puf特徵碼可包含sram塊102的各個位(無論位為穩定或不穩定)的開啟狀態。在監視引擎108辨識各個位的趨勢之後,puf控制器112可存取初始puf特徵碼且處理所述初始puf特徵碼,通過過濾掉不穩定的位以產生第二puf特徵碼。在一些實施例中,puf控制器112可存取初始puf特徵碼並且排除使用經辨識的不穩定位的初始狀態以產生第二puf特徵碼。據此,基於「穩定」位的開啟狀態(即初始狀態),代替包含穩定與不穩定的所有位,產生第二特徵碼。因此,由於穩定位為通過測試(無論是第一測試或是第二測試)的位並且因而可顯示具有強趨勢(無論是1或2),因而第二特徵碼可更為可靠。再者,如下所述,在各個位的趨勢被標記(辨識)之後,puf控制器112可再次規避存取sram塊102(這可能造成例如功率消耗、可信賴度、傳輸錯誤等等問題)。反而,puf控制器112可存取資料庫110,以使用穩定位,產生第二特徵碼,或是在一些其它的實施例中,辨識不穩定位並且使用經辨識的不穩定位,進一步處理(例如過濾)初始特徵碼,進而產生第二特徵碼。經過長時間使用與sram塊102老化之後,一或多個sram位可能改變其趨勢。為了解決此問題,在一些實施例中,認證電路104的監視引擎108可周期性監視各個位的趨勢,以對於各個sram位提供最更新的趨勢。基於最更新的監視趨勢,puf控制器112可周期性提供更新的特徵碼,並且動態更新puf特徵碼。圖3說明一例示實施例,其中穩定/不穩定位的位置存儲於認證電路104的資料庫110中。在上述說明中,在一些實施例中,監視引擎108可存儲各個位的經辨識的趨勢於資料庫110中。在圖3的特定實施例中,資料庫110包含nvm,並且nvm包含nvm位310的陣列,sram塊102的位陣列301是一對一映射(one-to-onemapped)到nvm位310的陣列。特別地,sram塊102中的各個位(例如302、304與306)以相同的位置及其經辨識的趨勢,對應於陣列310的nvm位(例如312、314與316)。例如,通過經辨識的趨勢(例如,無論是穩定或不穩定,如上所述),由sram塊102的位302映射資料庫110的nvm位312。位302與nvm位312都位於其個別陣列的相同位置;通過經辨識的趨勢(無論是穩定或不穩定),由sram塊102的位304映射資料庫110的nvm位314;通過經辨識的趨勢(無論是穩定或不穩定),由sram塊102的位306映射資料庫110的nvm位316。因此,puf產生器112可直接存取資料庫110,以過濾掉不穩定位,產生第二特徵碼,如上所述。在一些實施例中,ecc電路114可進一步處理第二特徵碼,以過濾掉未被監視引擎108標記的較不穩定位,以及/或在認證電路104輸出第二特徵碼之前,校正各種條件(例如環境溫度、電壓波動等)造成的一些錯誤。在一些實施例中,給定大量的穩定/不穩定位(例如,超過一千個不穩定位於4096位sram塊中),監視引擎108可不依位存儲所有sram位的趨勢於資料庫110中。反而,每當此不穩定列(column)/行(row)包含至少一不穩定位時,監視引擎108可標記一列及/或一行的nvm位成為「不穩定列/行」,並且依列/行存儲所述不穩定列/行於資料庫110中。圖4說明一例示實施例,其中所述不穩定列(column)存儲於認證電路104的資料庫110中。使用圖3提供的相同範例,陣列301包含由監視引擎108辨識的兩個不穩定位302與304。基於由sram位映射到nvm位,監視引擎108可將包含不穩定位的整列nvm位標記為不穩定列(unstablecolumn)。如圖4所示,資料庫110的nvm位410的陣列分為多列,由於列402包含不穩定位401(由sram位302所映射)以及列404包含另一不穩定位403(由sram位304所映射),因而列402與404被監視引擎108辨識為不穩定列。圖5說明一例示實施例,其中不穩定行存儲於認證電路104的資料庫110中。使用圖3與圖4提供的相同範例,陣列301包含由監視引擎108辨識的兩個不穩定位302與304。基於由sram位映射到nvm位,監視引擎108可將包含不穩定位的整行nvm位標記為不穩定行(unstablerow)。如圖5所示,資料庫110的nvm位510的陣列分為多行,由於行502包含不穩定位501(由sram位302所映射)以及行504包含另一不穩定位503(由sram位304所映射),因而行502與504被監視引擎108辨識為不穩定行。而後,puf電路112可使用未包含於經辨識的不穩定列與行(例如406、408、506)中的nvm位(例如從陣列410及/或510),以產生第二特徵碼。即,puf控制器112可過濾掉不穩定列/行,用於產生第二特徵碼。圖6說明一例示實施例,其中穩定/不穩定區段存儲於認證電路104的資料庫110中。在一些實施例中,監視引擎108可將nvm位的列/行分為多個區段,每當不穩定列/行區段包含至少一不穩定位時,監視引擎108將所述列/行標記為「不穩定列/行區段」,並且依列/行區段,存儲所述不穩定列/行區段於資料庫110中。在圖6的所述實施例(仍使用與上述相同範例)中,資料庫110的nvm位610的陣列可先分為行(row),各行被分為多個行區段,其中各個行區段為相同大小,具有4個nvm位。因此,行603包含行區段615、625到635;行601包含行區段613、623到633。由於行區段615包含由sram位304映射的不穩定位604,以及行區段613包含由sram位302映射的不穩定位602;行區段613與615可被監視引擎108標記為不穩定行區段。因此,puf控制器112可使用陣列610中未包含於例如行區段625、635、623、633等的不穩定行區段中的nvm位,以產生第二特徵碼。即,puf控制器112可過濾掉所述不穩定行區段,而產生第二特徵碼。同樣地,以相同方式,不穩定列區段可存儲於陣列610中,並且被puf控制器112使用(過濾掉)。根據各種實施例,各行/列區段可具有任何數目的nvm位,例如2、3、5等,仍屬於本揭露的範圍之內。圖7為一例示流程圖式,根據一些實施例,說明通過認證電路104對於sram塊102產生物理不可複製功能(puf)特徵碼的方法700。在各種實施例中,通過圖1到6所示的至少一組件,進行方法700。為了討論的目的,結合圖1到6說明方法700的下列實施例。方法700的所述實施例僅為範例,因而可省略、重新排序、以及/或增加各種操作中的任一者,仍屬本揭露的範圍之內。方法700從操作702開始,其中認證電路104經由輸入埠124接收請求,以啟動sram塊102。根據一些實施例,響應於所述請求,經由電壓控制器106及/或建入的電壓控制器118,開啟sram塊102。方法700持續到操作704,其中puf控制器112記錄sram塊102的每個位的初始狀態。如上所述,當sram塊102被啟動時,sram塊102的每一位可具有初始狀態,即0或1。而後,puf控制器112通過使用sram塊102中的所有位的初始狀態,產生初始puf特徵碼。方法700持續操作706,其中監視引擎108提供第一數據式樣到sram塊102的所有位。在一些實施例中,如上所述,第一數據式樣可使sram塊的wl與bl(220、230、240、250、260與270)存寫/使用高狀態(即邏輯1)到sram塊102的各個位。而後,方法700持續到操作708,其中電壓控制器106經由建入的電壓控制器108而降低供應電壓vcc,並且當供應電壓vcc降低時,監視引擎108同時檢測位是否發生狀態轉變。在各個位具有邏輯1的範例中,監視引擎108檢測哪個位從1轉變為0(即如上所述的第一測試)。根據本揭露的一些實施例,如果監視引擎108檢測到位隨著降低的供應電壓由1轉變為0(即發生轉變),那麼監視引擎108將此位辨識為穩定位;如果監視引擎108檢測到位隨著降低的供應電壓未由1轉變為0(即未發生轉變),那麼監視引擎108可將此位辨識為不穩定位。參閱圖7,方法700持續到操作710,其中監視引擎108存儲穩定位的位置於資料庫110中。然而,在一些其它的實施例中,在操作710的過程中,監視引擎108可存儲不穩定位的位置於資料庫110中。監視引擎108可使用從sram塊102的位陣列301一對一映射(one-to-onemapping)到資料庫110的nvm位陣列310,選擇存儲無論是穩定位或是不穩定位的位置於資料庫110中,如圖3所述。方法700持續到操作712,其中監視引擎108提供第二數據式樣到sram塊102的所有位。第二數據式樣可使sram塊102的wl與bl(220、230、240、250、260與270)存寫/使用低狀態(即邏輯0)到sram塊102的各個位。而後,方法700持續到操作714,其中電壓控制器106經由建入的電壓控制器108而降低供應電壓vcc,並且當供應電壓vcc降低時,監視引擎108檢測各個位是否發生狀態轉變。在一些實施例中,第二數據式樣不同於第一數據式樣,因而可稱為第二測試,如上所述。在各個位具有邏輯0的範例中,監視引擎108檢測哪個位由0轉變為1。根據本揭露的一些實施例,如果監視引擎108檢測到位隨著降低的供應電壓由0轉變為1(即發生轉變),那麼監視引擎108可將此位辨識為穩定位;如果監視引擎108檢測到位隨著降低的供應電壓未由0轉變為1(即未發生轉變),那麼監視引擎108可將此位辨識為不穩定位。仍請參閱圖7,方法700持續到操作716,其中監視引擎108存儲穩定位的位置於資料庫110。然而,在一些其它的實施例中,在操作710的過程中,監視引擎108可存儲不穩定位的位置於資料庫110中。監視引擎108可使用從sram塊102的位陣列301一對一映射(one-to-onemapping)到資料庫110的nvm位陣列310,選擇存儲無論是穩定位或是不穩定位的位置於資料庫110中,如圖3所述。綜上所述,監視引擎108經由第一與第二測試(即操作708與714),辨識sram塊102的各個位的趨勢(即無論是穩定或不穩定)。在一些實施例中,此經辨識的趨勢與從sram塊102同等映射的(identicallymapped)單一svm位位置存儲於資料庫110中,如圖3所述。因此,sram塊102中的各個位的趨勢由資料庫110的映射的nvm位陣列310辨識。在一些其它的實施例中,如圖4與圖5所述,一或多個不穩定列/行可被辨識且存儲於資料庫110中。因此,可通過映射的nvm列/行位置(例如列402與404,以及行502與504),辨識sram塊102中的不穩定列/行。在如圖6所述的一些其它實施例中,一或多個不穩定列/行區段可存儲於可被辨識且存儲於資料庫110中。因此,可通過映射的nvm列/行區段位置(例如不穩定行區段613與615),辨識sram塊102中的不穩定列/行區段。參閱圖7,方法700持續到操作718,其中puf控制器112存取資料庫110,僅使用穩定位、穩定列、穩定行、穩定列區段、或穩定行區段,以產生puf特徵碼(即操作720)。在通過資料庫110中映射的nvm位位置而辨識sram塊102的穩定或不穩定位的範例中,在操作720中,puf控制器112可使用存儲於映射的資料庫110中的經辨識的趨勢,以過濾掉sram塊102中的不穩定位,因而僅sram塊102中的穩定位用於產生puf特徵碼。更具體來說,在操作720中,puf控制器112使用僅在sram塊102中的穩定位的初始狀態(記錄於操作704中),產生puf特徵碼。即,原始用以產生初始puf特徵碼的不穩定位的初始狀態被puf控制器112過濾掉及/或排除以產生puf特徵碼。通過資料庫110中經映射的nvm列/行位置辨識sram塊102的穩定或不穩定列/行的範例中,在操作720中,puf控制器112可使用列或行的經辨識的趨勢,過濾掉及/或排除sram塊102中的不穩定列或行,因而sram塊102中,僅穩定的列或行的位被用於產生puf特徵碼。更具體來說,在操作720中,puf控制器112僅使用sram塊102中的穩定列或行的位的初始狀態(記錄於操作704中),以產生puf特徵碼。通過資料庫110中經映射的nvm列/行區段位置辨識sram塊102的穩定或不穩定列/行區段的範例中,在操作720中,puf控制器112可使用列或行區段的經辨識的趨勢,過濾掉及/或排除sram塊102中的不穩定列或行區段,因而sram塊102中,僅穩定的列或行區段的位被用於產生puf特徵碼。更具體來說,在操作720中,puf控制器112僅使用sram塊102中的穩定列或行區段的位的初始狀態(記錄於操作704中),以產生puf特徵碼。在一實施例中,揭露認證電路。所述認證電路耦合到存儲器裝置,所述存儲器裝置包含多個位。認證電路包含監視引擎,耦合到存儲器裝置的所述多個位,並且經配置以提供第一數據式樣到所述多個位,因而使得所述多個位中的每一個成為第一數據狀態,響應於施加於所述多個位上的第一下降電壓(reducingvoltage)而檢測每一個位是否發生由所述第一數據狀態轉變為第二數據狀態,提供第二數據式樣於到所述多個位,因而使得所述多個位中的每一個成為所述第二數據狀態,以及響應於施加於所述多個位上的第二下降電壓(reducingvoltage)而檢測每一個位是否發生由所述第二數據狀態轉變為第一數據狀態,其中所述第一數據狀態不同於所述第二數據狀態,以及物理不可複製功能(puf)控制器,耦合到所述存儲器裝置的所述多個位與所述監視引擎,並且經配置以基於每一個位的所述轉變而產生puf特徵碼。在另一實施例中,存儲器裝置包含靜態隨機存取存儲器(sram)塊,其包含多個位的陣列,以及耦合到所述sram塊的認證電路。認證電路包含監視引擎,耦合到所述多個位的陣列,並且經配置以提供第一數據式樣到所述多個位的陣列,因而使得所述位的每一個於第一數據狀態,響應於施加於所述多個位的陣列的第一下降電壓而檢測每一個位是否發生由所述第一數據狀態轉變為第二數據狀態,提供第二數據式樣到所述多個位的陣列,因而使得所述位的每一個於所述第二數據狀態,並響應於施加於所述多個位的陣列的第二下降電壓而檢測每一個位是否發生由所述第二數據狀態轉變為所述第一數據狀態,以及物理不可複製功能(puf)控制器,耦合到所述多個位的陣列與所述監視引擎,並且經配置以基於每一個位的所述轉變而產生puf特徵碼。在另一實施例中,揭露對於包含多個位的存儲器陣列,產生物理不可複製功能(puf)特徵碼的方法。所述方法包含啟動所述存儲器裝置並且記錄所述多個位的每一個的初始數據狀態;通過使用第一數據式樣到所述多個位,使得所述多個位的每一個於第一數據狀態;響應於施加於所述多個位的下降電壓而檢測每一個位是否由所述第一數據狀態轉變到第二數據狀態;如果檢測到位從所述第一數據狀態到所述第二數據狀態的所述轉變,辨識所述位為第一穩定位;通過使用第二數據式樣到所述多個位,使得所述多個位的每一個於所述第二數據狀態,其中所述第二數據狀態不同於所述第一數據狀態;響應於施加於所述多個位的下降電壓而檢測是否每一個位由所述第二數據狀態轉變為所述第一數據狀態;如果檢測到位從所述第二數據狀態到所述第一數據狀態的所述轉變,辨識所述位為第二穩定位;以及基於所述穩定位的所述初始數據狀態,產生所述puf特徵碼。前述內容概述一些實施方式的特徵,因而所屬領域的技術人員可更加理解本揭露的各方面。所屬領域的技術人員應理解可輕易使用本揭露作為基礎,用於設計或修飾其它過程與結構而實現與本申請案所述的實施例具有相同目的及/或達到相同優點。所屬領域的技術人員還應理解此均等架構並不脫離本揭露揭示內容的精神與範圍,並且所屬領域的技術人員可進行各種變化、取代與替換,而不脫離本揭露的精神與範圍。符號說明100存儲器裝置102sram塊104認證電路106電壓控制器108監視引擎110資料庫112物理不可複製功能控制器114錯誤校正碼電路116數據總線118建入的電壓控制器124輸入埠126輸出埠201位202位203位204位205位206位207位208位209位220位線230位線240位線250字線260字線270字線301位陣列302位304位306位310nvm位312nvm位314nvm位316nvm位401不穩定位402列403不穩定位404列406行408行410nvm位501不穩定位502行503不穩定位504行506行510nvm位601行602不穩定位603行604不穩定位613行區段615行區段623行區段625行區段633行區段635行區段當前第1頁12當前第1頁12