TWI785702B - 用於產生識別碼之儲存裝置及識別碼產生方法 - Google Patents
用於產生識別碼之儲存裝置及識別碼產生方法 Download PDFInfo
- Publication number
- TWI785702B TWI785702B TW110127885A TW110127885A TWI785702B TW I785702 B TWI785702 B TW I785702B TW 110127885 A TW110127885 A TW 110127885A TW 110127885 A TW110127885 A TW 110127885A TW I785702 B TWI785702 B TW I785702B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- sequence
- bits
- storage circuit
- identification code
- Prior art date
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Sewing Machines And Sewing (AREA)
Abstract
揭示一種用於產生識別碼之儲存裝置及識別碼產生方法,其中,儲存裝置包括第一儲存電路、第二儲存電路以及讀取電路。第一儲存電路儲存複數個第一資料,第一資料具有複數個位元。第二儲存電路儲存複數個第二資料,第二資料具有複數個位元。讀取電路從該第二儲存電路讀取該些第二資料成第一序列,,根據該第一序列選取該些第一資料之第一部分,從該第一儲存電路讀取該些第一資料之該第一部分成為一目標序列,並輸出該目標序列作為一識別碼。
Description
本揭示關於一種儲存裝置及其操作方法,特別有關於一種用於產生具有唯一性的識別碼之儲存裝置及唯一性識別碼之產生方法。
隨著科技進展,日常生活中已大量使用各類型之電子裝置,諸如個人電腦、手機、頭戴裝置,等等。其中,個人電腦或手機內通常儲存了關於個人隱私的重要個資,並且個人電腦或手機亦經常進行金融交易。因此,需要嚴格的安全機制以確保個資隱密及交易安全。在常見的安全機制中,係賦予每一電子裝置具有唯一性之識別碼(identity code,ID code),根據該識別碼能夠確認每一電子裝置之合法性。
唯一性識別碼的應用不限於個人電腦或手機等終端裝置,也可應用於終端裝置內部的半導體晶片。可在每一晶片中儲存唯一性識別碼以辨識晶片,換言之,唯一性識別碼相當於晶片之指紋。
為了使識別碼具有唯一性而不會與其他裝置或晶片
的識別碼重複,可利用硬體元件於物理性質的不可複製(physically unclonable)特性來產生識別碼。此類型之識別碼稱為物理不可複製函數碼(physically unclonable function code,PUF code)。
然而,於硬體元件的製造過程或操作環境中的因子(例如環境溫度)常導致硬體元件發生缺陷或參數變異,進而導致硬體元件所儲存的識別碼存在錯誤位元而破壞識別碼的正確性與唯一性,其為習知技術的物理不可複製函數碼面臨的技術問題。
為了克服習知技術的物理不可複製函數碼的上述技術問題,本揭示提出一種技術方案而於儲存器分別儲存兩組資料(第一資料與第二資料),根據第二資料選取出第一資料的第一部分以產生識別碼。
本揭示的技術方案提供一種用於產生識別碼之儲存裝置,包括第一儲存電路、第二儲存電路以及讀取電路。第一儲存電路用以儲存複數個第一資料,該些第一資料具有複數個位元。第二儲存電路,用以儲存複數個第二資料,該些第二資料具有複數個位元。讀取電路用以從該第二儲存電路讀取該些第二資料成為一第一序列,根據該第一序列選取該些第一資料之一第一部分,從該第一儲存電路讀取該些第一資料之該第一部分成為一目標序列,並輸出該目標序列作為一識別碼。其中,該些第一資
料之該些位元之邏輯值係為隨機分布,該些第二資料之該些位元之邏輯值係為使用者預先定義或隨機分布。
本揭示的技術方案提供一種識別碼產生方法,係配合應用於一第一儲存電路以及一第二儲存電路,該第一儲存電路係儲存複數個第一資料,該第二儲存電路係儲存複數個第二資料,該識別碼產生方法包括以下步驟。從該第二儲存電路讀取該些第二資料成為一第一序列,其中該些第二資料具有複數個位元,該些位元之邏輯值係為使用者預先定義或隨機分布。根據該第一序列選取該些第一資料之一第一部分,其中該些第一資料具有複數個位元,該些位元之邏輯值係為隨機分布。從該第一儲存電路讀取該些第一資料之該第一部分成為一目標序列。以及,輸出該目標序列作為一識別碼
透過閱讀以下圖式、詳細說明以及申請專利範圍,可見本發明之其他方面以及優點。
10A,10B,10C:儲存裝置
102:識別碼
104:第一資料
106:第二資料
20:第一儲存電路
30:第二儲存電路
21:記憶體陣列
31:記憶體陣列
201:第一儲存區域
202:第二儲存區域
40:讀取電路
41,41A,41B:處理電路
A:第一序列
a:第一序列的位元
a’:第一序列的位元的補數
a1~a16:第一序列的位元
B:第二序列
b1~b16:第二序列的位元
b’:第二序列的位元的補數
P:目標序列
p:目標序列的位元
702~714:步驟
802~808:步驟
第1A圖繪示根據本揭示之第一實施例之用於產生識別碼之儲存裝置之方塊圖。
第1B圖繪示根據本揭示之第一實施例之第一儲存電路之記憶體陣列與第二儲存電路之記憶體陣列之電路圖。
第1C圖及第1D圖繪示根據本揭示之第一實施例之儲存裝置產生識別碼之操作示意圖。
第2A圖及第2B圖繪示根據本揭示之第一實施例之模擬所產生之識別碼之特性分析示意圖。
第3圖繪示根據本揭示之第二實施例之用於產生識別碼之儲存裝置之方塊圖。
第4A圖繪示根據本揭示之第三實施例之用於產生識別碼之儲存裝置之方塊圖。
第4B圖繪示根據本揭示之第三實施例之儲存裝置產生識別碼之操作示意圖。
第4C、4D圖分別繪示根據本揭示之第三實施例之儲存裝置之兩種態樣之處理電路之電路圖。
第5圖繪示根據本揭示之第四實施例之儲存裝置產生識別碼之操作示意圖。
第6圖繪示根據本揭示之第五實施例之儲存裝置產生識別碼之操作示意圖。
第7圖繪示根據本揭示之第一實施例之識別碼產生方法之流程圖。
第8圖繪示根據本揭示之第三實施例之識別碼產生方法之流程圖。
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一
或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合
第1A圖繪示根據本揭示之第一實施例之用於產生識別碼102之儲存裝置10A之方塊圖。參見第1A圖,第一實施例之儲存裝置10A包括一第一儲存電路20、一第二儲存電路30以及一讀取電路40。在第一實施例之儲存裝置10A之中,第一儲存電路20與第二儲存電路30為實體上相互分離的儲存電路。讀取電路40係分別從第一儲存電路20及第二儲存電路30讀取資料並進行處理而產生識別碼102。
更具體而言,第1B圖繪示根據本揭示之第一實施例之第一儲存電路20之記憶體陣列21與第二儲存電路30之記憶體陣列31之電路圖。參見第1B圖,第一儲存電路20之記憶體陣列21例如為一電晶體及二電阻(1T2R,1Transistor+2Re)型式之隨機存取記憶體(RAM)陣列。其中,電阻Ra與Rb決定電晶體閘極的電壓值,進而決定記憶體陣列21之記憶體晶胞(cell)儲存的邏輯值為「1」或「0」。另一方面,第二儲存電路30之記憶體陣列31為可編程的記憶體陣列,可根據使用者之定義對於記憶體陣列31之記憶體晶胞儲存的邏輯值進行編程。第二儲存電路30之記憶體陣列31例如為一電晶體及一電阻(1T1R,1Transistor+1Re)型式之隨機存取記憶體陣列。
第一儲存電路20與第二儲存電路30之記憶體型態
亦可包括靜態隨機存取記憶體(SRAM)或唯獨記憶體(ROM),例如mask ROM、fuse ROM、anti-fuse ROM等態樣。或者,包括高精度非揮發性記憶體(high precision NVM)、電荷儲存記憶體(charge storage memory)、浮動閘極記憶體(FG)、電荷獲取記憶體(charge trapping memory)、矽-氧化物-氮化物-氧化物-矽記憶體(SONOS)、可變電阻式記憶體(ReRAM)、相變記憶體(PCM)、磁阻式隨機存取記憶體(MRAM)、鐵電穿隧接面記憶體(FTJ)以及鐵電隨機存取記憶體(FeRAM)等態樣。
第1C圖及第1D圖繪示根據本揭示之第一實施例之儲存裝置10A產生識別碼102之操作示意圖,第7圖繪示根據本揭示之第一實施例之識別碼產生方法700之流程圖。首先參見第1C圖(並同時配合參見第1A圖),第一儲存電路20用於儲存複數個第一資料104,此些第一資料104例如包括十六個位元{1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,1}(係為二進位邏輯值)。第一資料104依序儲存於第一儲存電路20的記憶體陣列21的十六個(四乘四)記憶體晶胞。第一資料104作為資訊(information)之用途,也就是說,第一資料104作為後續產生之識別碼102的內容。然而,在本揭示的技術方案中,原始的第一資料104的十六個位元{1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,1}尚未成為最終的識別碼102。必須經由第二資料106對於第一資料104其中第一部分的位元進行選取,第一資料104之被選取的位元始成為最終的識別碼102。
相對於第一資料104作為資訊之用途,第二資料
106則作為位址(address)之用途。根據第二資料106提供的位址,可選取第一資料104的第一部分的位元成為最終的識別碼102。在第一實施例之儲存裝置10A之中,第一資料104儲存於第一儲存電路20,第二資料106則儲存於第二儲存電路30。換言之,第一資料104與第二資料106在實體上分別儲存於不同的儲存電路。第二資料106之數量與第一資料104的數量相等,第二資料106亦包括十六個位元的二進位邏輯值。第二資料106的十六個位元分別為:{1,0,0,1,0,1,0,0,0,0,1,0,1,1,0,0}。類似的,第二資料106亦依序儲存於第二儲存電路30的記憶體陣列31的四乘四個記憶體晶胞。第二資料106的十六個位元與第一資料104的十六個位元具有一對一對應關係。第二資料106的邏輯值「1」位元對應至第一資料104的被選取的位元;相對的,對應至第二資料106的邏輯值「0」位元的第一資料104的位元則不被選取。第一資料104的被選取的部分稱為第一部分,第一資料104不被選取的部分稱為第二部分。
在第一實施例之儲存裝置10A的操作上,讀取電路40先從第二儲存電路30讀取第二資料106。所讀取出的第二資料106形成第一序列A,第一序列A可表示為{1,0,0,1,0,1,0,0,0,0,1,0,1,1,0,0},第一序列A的邏輯值「1」位元作為選取的位址。同時參見第7圖,此係對應於第一實施例之識別碼產生方法700之步驟706:從第二儲存電路30讀取第二資料106形成第一序列A。
接下來,根據第一序列A的邏輯值「1」位元的位址,以選取第一資料104的第一部份的位元。相對的,對應於第一序列A的邏輯值「0」位元的位址,第一資料104的第二部分的位元則捨棄不予選取。例如,第一序列A的邏輯值「1」位元分別為位元a1、a4、a6、a11、a13、a14。並且,對應於位元a1、a4、a6、a11、a13、a14的位址,選取第一資料104的第一部分的位元b1、b4、b6、b11、b13、b14。同時參見第7圖,此係對應於識別碼產生方法700之步驟708:根據第一序列A的邏輯值「1」位元的位址,選取第一資料104的第一部分的位元。
接下來,讀取電路40從第一儲存電路20讀取第一資料104之被選取的第一部分的位元b1、b4、b6、b11、b13、b14而成為一目標序列P,目標序列P可表示為{1,1,0,1,0,1},並且目標序列P係作為最終的識別碼102。同時參見第7圖,此係對應於識別碼產生方法700之步驟710:從第一儲存電路20讀取第一資料104的第一部分的位元而成為目標序列P,以及步驟712:輸出目標序列P以作為最終的識別碼102。
相對於第一資料104的被選取的第一部分的位元b1、b4、b6、b11、b13、b14,另一方面,第一資料104的第二部分的位元b2、b3、b5、b7、b8、b9、b10、b12、b15、b16是捨棄不被選取的。
對於第一實施例之儲存裝置10A而言,係由使用者預先編程第二儲存電路30儲存的邏輯值,以預先定義第二資料
106的邏輯值「1」位元。換言之,係由使用者預先定義位址以選取第一資料104的哪些位元作為最終的識別碼102。
第一儲存電路20的硬體元件本身之物理特性通常具有變異性(variation),例如,若第一儲存電路20的硬體元件係為靜態隨機存取記憶體,則記憶體中的N型金氧半導電晶體(NMOS)與P型金氧半導電晶體(PMOS)之間具有不匹配(mismatch)的變異性。若第一儲存電路20的硬體元件係為非揮發性記憶體(例如,可變電阻式記憶體、相變記憶體或浮動閘極記憶體),則記憶體之編程狀態具有不可預期性。基於第一儲存電路20的硬體元件之變異性,第一儲存電路20所儲存的第一資料104的每個位元的邏輯值是隨機分布的,因此第一資料104的每個位元的邏輯值幾乎不可能相同於另一個儲存裝置,因而選取第一資料104的第一部分成為目標序列P={1,1,0,1,0,1}具有唯一性而能作為識別碼102。識別碼102亦可表示為{1,1,0,1,0,1}。
在另一種態樣的例子中,如第1D圖所示,第一儲存電路20之硬體元件可能發生缺陷(例如溫度變化造成的元件參數變異)導致第一資料104的某些位元可能是錯誤位元(error bit)或餘裕不足位元(insufficient margin bits)。例如,第一儲存電路20之記憶體陣列21之位址(1,3)、(2,1)、(3,3)及(4,4)的記憶體晶胞發生缺陷,導致記憶體陣列21之位址(1,3)、(2,1)及(4,4)所儲存的第一資料104為錯誤位元「x」。本揭示的技術方案藉由第二資料106提供的位址以選取第一資料104的第一部分成為最
終的識別碼102,第一資料104的第二部分則捨棄不選取。第一資料104的錯誤位元「x」對應於第二儲存電路30之記憶體陣列31的位址(1,3)、(2,1)及(4,4),而記憶體陣列31的位址(1,3)、(2,1)及(4,4)儲存的第二資料106的位元的邏輯值皆為「0」,因此第一資料104的錯誤位元「x」屬於第二部分而被捨棄不選取,並不會影響目標序列P={1,1,0,1,0,1}以及最終的識別碼102。換言之,經由第二資料106提供的位址能將第一資料104中的錯誤位元「x」濾除,因而本揭示之識別碼102的產生機制具有錯誤容忍度(error tolerance)以容忍第一資料104的錯誤位元「x」。
第2A圖及第2B圖繪示根據本揭示之第一實施例之模擬所產生之識別碼102之特性分析示意圖。第一儲存電路20所儲存的第一資料104的數量為五百個位元(可表示為500位元/晶片)。而第二儲存電路30所儲存的第二資料106之中包含一百個邏輯值「1」的位元(可表示為100位元/晶片)。因此,經由第二資料106提供的位址,可從第一資料104的五百個位元中選取出一百個位元而成為目標序列P而作為最終的識別碼102。
如第2A圖所示,內部漢明距離(intra hamming-distance(intra-HD))可顯示出第一資料104的五百個位元之間的關聯度,其中關聯係數μ為11.62%。而如第2B圖所示,經由第二資料106的位址以選取出第一資料104的一百個位元(形成目標序列P的識別碼102)之間的關聯係數μ大幅降低至0.53%。上述模擬結果顯示,經由第二資料106提供的位址的選
取可提高目標序列P之每個位元的邏輯值的隨機亂度而更能確保識別碼102的唯一性。
另一方面,如第2A圖所示,外部漢明距離(inter-HD)可顯示出第一儲存電路20所儲存的第一資料104的每個位元的邏輯值與其它儲存裝置之間的關聯度,其中關聯係數μ為49.88%。而如第2B圖所示,經由第二資料106的位址以選取出第一資料104的一百個位元之後,外部漢明距離的關聯係數μ為50.01%,仍然能夠保持於接近50%的數值。
在第2A圖與第2B圖之模擬設定之中,係從第一資料104的五百個位元中選取一百個位元作為識別碼102,選取比例為五分之一。而在不同態樣的例子中,亦可採用不同的選取比例,例如十分之一或二十分之一。越低的選取比例能夠濾除第一資料104中越多的錯誤位元而具有越高的錯誤容忍度。
第3圖繪示根據本揭示之第二實施例之用於產生識別碼102之儲存裝置10B之方塊圖。參見第3圖,第二實施例之儲存裝置10B包括一第一儲存電路20以及一讀取電路40。第二實施例之儲存裝置10B只包括一個實體的儲存電路(第一儲存電路20)而同時儲存第一資料104與第二資料106。係將第一儲存電路20區分為第一儲存區域201與第二儲存區域202以分別儲存第一資料104與第二資料106。
第4A圖繪示根據本揭示之第三實施例之用於產生識別碼102之儲存裝置10C之方塊圖,第4B圖繪示根據本揭示之
第三實施例之儲存裝置10C產生識別碼102之操作示意圖,第8圖繪示根據本揭示之第三實施例之識別碼產生方法800之流程圖。首先參見第4A圖,第三實施例之儲存裝置10C與第一實施例之儲存裝置10A相異之處在於:第三實施例之讀取電路40以平行方式同時從第一儲存電路20讀取出第一資料104並且從第二儲存電路30讀取出第二資料106。並且,第三實施例的讀取電路40更包括一處理電路41。所同時讀取出的第一資料104與第二資料106同時傳送至處理電路41執行運算。
接著參見第4B圖,更具體而言,在第三實施例之儲存裝置10C的操作上,讀取電路40從第二儲存電路30讀取第二資料106形成第一序列A並且同時從第一儲存電路20讀取第一資料104形成第二序列B。第一序列A可表示為{1,0,0,1,0,1,0,0,0,0,1,0,1,1,0,0},並且第二序列B可表示為{1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,1}。同時參見第8圖,此係對應於第三實施例之識別碼產生方法800之步驟802:從第二儲存電路30讀取第二資料106,並且同時從第一儲存電路20讀取第一資料104。其中,第二資料106形成第一序列A,第一資料104形成第二序列B。
接下來,第一序列A與第二序列B同時傳送至處理電路41執行運算。此係對應於識別碼產生方法800之步驟804:將第一序列A與第二序列B同時傳送至處理電路41。
在處理電路41中,係根據第一序列A的邏輯值「1」
位元的位址,以選取第二序列B的第一部份的位元。另一方面,第二序列B的第二部份的位元係對應於第一序列A的邏輯值「0」位元,處理電路41捨棄不選取第二序列B的第二部份的位元。如第4B圖所示,對應於第一序列A的邏輯值「1」的位元a1、a4、a6、a11、a13、a14的位址,處理電路41選取第二序列B的第一部分的位元b1、b4、b6、b11、b13、b14。並且,處理電路41遮蔽第二序列B的第二部份的位元而不予選取。同時參見第8圖,此係對應於識別碼產生方法800之步驟806:根據第一序列A的邏輯值「1」位元的位址,選取第二序列B的第一部份的位元。
接下來,處理電路41輸出第二序列B之被選取的第一部分的位元b1、b4、b6、b11、b13、b14而成為目標序列P。目標序列P可表示為{1,1,0,1,0,1}而作為最終的識別碼102。此係對應於識別碼產生方法800之步驟808:輸出第二序列B之被選取的第一部分的位元b1、b4、b6、b11、b13、b14而成為目標序列P,以作為最終的識別碼102。
如上所述,第三實施例之儲存裝置10C的操作方式(對應於第三實施例之識別碼產生方法800)與第一實施例之儲存裝置10A的操作方式(對應於第一實施例之識別碼產生方法700)之差異在於:第一實施例之識別碼產生方法700先從第二儲存電路30讀取第二資料106形成第一序列A,再根據第一序列A的邏輯值「1」位元的位址選取第一資料104的第一部分的位元。而後,僅
從第一儲存電路20讀取第一資料104的被選取的第一部分的位元而成為最終的識別碼102。相異的,第三實施例之識別碼產生方法800同時從第二儲存電路30以及第一儲存電路20讀取第二資料106以及第一資料104,而成為第一序列A及第二序列B。而後,再從第二序列B選取第一部分而成為最終的識別碼102。
第4C、4D圖分別繪示根據本揭示之第三實施例之儲存裝置10C之兩種態樣之處理電路41A、41B之電路圖。處理電路41A及處理電路41B可以是邏輯閘所組成的邏輯電路,例如為鎖存器(latch)或正反器(flip-flop)。處理電路41A及處理電路41B係經由第一序列A的位元a及其補數(complement)a’來選取第二序列B的位元b,而成為目標序列P的位元p。
第5圖繪示根據本揭示之第四實施例之儲存裝置產生識別碼102之操作示意圖。參見第5圖,第四實施例與第一實施例之差異在於,第一實施例的第二資料106的各位元的邏輯值是由使用者預先編程而定義的;而第四實施例的第二資料106的各位元的邏輯值是隨機分布,而非使用者所定義。換言之,第四實施例的第一資料104與第二資料106的各位元的邏輯值都是隨機分布。係利用第二資料106提供的隨機分布的位址來選取第一資料104的隨機分布的資訊,第四實施例係將隨機分布的亂度提升為兩個維度,更能確保從第一資料104選取出第一部分的位元所形成的識別碼102的唯一性。例如,從隨機分布的第二資料106讀取出的第一序列A係為{0,1,0,1,1,1,0,0,0,0,1,1,1,0,1,0},根
據第一序列A提供的位址從第一資料104中選取出第一部分而成為目標序列P={0,1,0,0,1,0,0,0}得到最終的識別碼102。在操作上,於第7圖的步驟702中,先判斷第二資料106的各位元的邏輯值是否必須由使用者編程定義。若否,則根據第二儲存電路30本身的物理特性直接以隨機方式產生第二資料106的各位元的隨機的邏輯值,而無須對於第二資料106的各位元進行編程。因此,可跳過步驟704而直接執行步驟706,直接從第二儲存電路30讀取隨機分布的第二資料106而形成第一序列A。
第6圖繪示根據本揭示之第五實施例之儲存裝置產生識別碼102之操作示意圖。參見第6圖,在第五實施例中,使用者在過程中可對於第二資料106再次進行編程以重新定義第二資料106的各位元的邏輯值,據以重新定義第一序列A提供的位址,進而重新選取第一資料104的其他位元作為新的目標序列P而產生新的識別碼102。換言之,第五實施例可於使用過程中再次變更識別碼102。在操作上,於第7圖之步驟714判斷使用者在過程中是否需要對於第二資料106再次進行編程。若是,則執行步驟704以對於第二資料106的各位元的邏輯值進行編程。接著,在步驟706讀取重新編程定義的第二資料106而成為出新的第一序列A={0,0,0,0,0,1,1,0,0,1,0,1,0,1,0,0}。並且,在步驟708根據新的第一序列A從第一資料104中重新選取五個位元b6、b7、b10、b12、b14而得到新的目標序列P={0,0,0,0,1},而成為變更後的識別碼102。
藉由本揭示之上述各實施例之技術方案,係利用第二資料106形成的第一序列A提供的位址以選取出第一資料104的第一部分,而產生最終的識別碼102。並且,捨棄第一資料104的第二部分,而能夠容忍存在於第一資料104的第二部分的錯誤位元,更能確保最終產生的識別碼102的唯一性。而第二資料106形成的第一序列A可以是使用者預先定義,亦可以是隨機分布,亦可以在使用過程中由使用者重新編程而再次定義,使識別碼102的編碼機制更具彈性而更能確保其唯一性。以上為本揭示之技術方案達成之技術功效
雖然本發明已以較佳實施例及範例詳細揭露如上,可理解的是,此些範例意指說明而非限制之意義。可預期的是,所屬技術領域中具有通常知識者可想到多種修改及組合,其多種修改及組合落在本發明之精神以及後附之申請專利範圍之範圍內。
10A:儲存裝置
20:第一儲存電路
30:第二儲存電路
40:讀取電路
102:識別碼
104:第一資料
106:第二資料
Claims (12)
- 一種用於產生識別碼之儲存裝置,包括:一第一儲存電路,用以儲存複數個第一資料,該些第一資料具有複數個位元;一第二儲存電路,用以儲存複數個第二資料,該些第二資料具有複數個位元;以及一讀取電路,用以從該第二儲存電路讀取該些第二資料成為一第一序列,根據該第一序列之邏輯值「1」之位元的位址選取該些第一資料之一第一部分,從該第一儲存電路讀取該些第一資料之該第一部分成為一目標序列,並輸出該目標序列作為一識別碼,其中,該些第一資料之該些位元之邏輯值係為隨機分布,該些第二資料之該些位元之邏輯值係為使用者預先定義或隨機分布,該第一序列之邏輯值「1」之位元係為使用者預先定義或隨機分布。
- 如請求項1所述之儲存裝置,其中,該第一資料更包括一第二部分,該讀取電路捨棄該第一資料之該第二部分中的錯誤位元。
- 如請求項1所述之儲存裝置,其中,該些第二資料之該些位元之邏輯值係為重新編程,該讀取電路從該第二儲存電路讀取該些第二資料成為一重新編程之第一序列,根據該第一序 列重新選取該第一資料之一第一部分,並且讀取該第一資料之重新選取之該第一部分成為該目標序列。
- 一種用於產生識別碼之儲存裝置,包括:一第一儲存電路,用以儲存複數個第一資料,該些第一資料具有複數個位元;一第二儲存電路,用以儲存複數個第二資料,該些第二資料具有複數個位元;以及一讀取電路,用以從該第二儲存電路讀取該些第二資料成為一第一序列,並且同時從該第一儲存電路讀取該些第一資料成為一第二序列,該讀取電路包括:一處理電路,用以同時接收該第一序列及該第二序列,並根據該第一序列之邏輯值「1」之位元的位址選取該第二序列之一第一部分成為一目標序列,並輸出該目標序列作為一識別碼,其中,該些第一資料之該些位元之邏輯值係為隨機分布,該些第二資料之該些位元之邏輯值係為使用者預先定義或隨機分布,該第一序列之邏輯值「1」之位元係為使用者預先定義或隨機分布。
- 如請求項4所述之儲存裝置,其中,該第二序列更包括一第二部分,該處理電路捨棄該第二序列之該第二部分中的錯誤位元。
- 如請求項4所述之儲存裝置,其中,該些第二資料之該些位元之邏輯值係為重新編程,該讀取電路從該第二儲存電路讀取該些第二資料成為一重新編程之第一序列,並且該處理電路根據該第一序列重新選取該第二序列之一第一部分,該第二序列之重新選取之該第一部分成為該目標序列。
- 一種識別碼產生方法,係配合應用於一第一儲存電路以及一第二儲存電路,該第一儲存電路係儲存複數個第一資料,該第二儲存電路係儲存複數個第二資料,該識別碼產生方法包括:從該第二儲存電路讀取該些第二資料成為一第一序列,其中該些第二資料具有複數個位元,該些位元之邏輯值係為使用者預先定義或隨機分布,該第一序列之邏輯值「1」之位元係為預先定義或隨機分布;根據該第一序列之邏輯值「1」之位元的位址選取該些第一資料之一第一部分,其中該些第一資料具有複數個位元,該些位元之邏輯值係為隨機分布;從該第一儲存電路讀取該些第一資料之該第一部分成為一目標序列;以及輸出該目標序列作為一識別碼。
- 如請求項7所述之識別碼產生方法,其中,該第一資料更包括一第二部分,該識別碼產生方法更包括:捨棄該第一資料之該第二部分中的錯誤位元。
- 如請求項7所述之識別碼產生方法,更包括:重新編程該些第二資料之該些位元之邏輯值;從該第二儲存電路讀取該些第二資料成為一重新編程之第一序列;根據該第一序列重新選取該第一資料之一第一部分;以及讀取該第一資料之重新選取之該第一部分成為該目標序列。
- 一種識別碼產生方法,係配合應用於一第一儲存電路以及一第二儲存電路,該第一儲存電路係儲存複數個第一資料,該第二儲存電路係儲存複數個第二資料,該識別碼產生方法包括:從該第二儲存電路讀取該些第二資料成為一第一序列,其中該些第二資料具有複數個位元,該些位元之邏輯值係為使用者預先定義或隨機分布,該第一序列之邏輯值「1」之位元係為預先定義或隨機分布;從該第一儲存電路讀取該些第一資料成為一第二序列,其中該些第一資料具有複數個位元,該些位元之邏輯值係為隨機分布;將該第一序列及該第二序列同時傳送至一處理電路; 藉由該處理電路根據該第一序列之邏輯值「1」之位元的位址選取該第二序列之一第一部分成為一目標序列;以及輸出該目標序列作為一識別碼。
- 如請求項10所述之識別碼產生方法,其中,該第二序列更包括一第二部分,該識別碼產生方法更包括:捨棄該第二序列之該第二部分中的錯誤位元。
- 如請求項10所述之識別碼產生方法,更包括:重新編程該些第二資料之該些位元之邏輯值;從該第二儲存電路讀取該些第二資料成為一重新編程之第一序列;藉由該處理電路根據該第一序列重新選取該第二序列之一第一部分;以及該第二序列之重新選取之該第一部分成為該目標序列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163185364P | 2021-05-07 | 2021-05-07 | |
US63/185,364 | 2021-05-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202244912A TW202244912A (zh) | 2022-11-16 |
TWI785702B true TWI785702B (zh) | 2022-12-01 |
Family
ID=85793069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110127885A TWI785702B (zh) | 2021-05-07 | 2021-07-29 | 用於產生識別碼之儲存裝置及識別碼產生方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI785702B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201241615A (en) * | 2011-01-18 | 2012-10-16 | Lsi Corp | Higher-level redundancy information computation |
US20140040338A1 (en) * | 2011-04-05 | 2014-02-06 | Intrinsic Id B.V. | Random number generating system based on memory start-up noise |
CN106355409A (zh) * | 2015-07-14 | 2017-01-25 | 三星电子株式会社 | 支付系统、电子设备、及其支付方法 |
CN107924645A (zh) * | 2015-08-06 | 2018-04-17 | 本质Id有限责任公司 | 具有物理不可克隆功能的加密设备 |
US20190358515A1 (en) * | 2016-05-02 | 2019-11-28 | Bao Tran | Blockchain |
-
2021
- 2021-07-29 TW TW110127885A patent/TWI785702B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201241615A (en) * | 2011-01-18 | 2012-10-16 | Lsi Corp | Higher-level redundancy information computation |
US20140040338A1 (en) * | 2011-04-05 | 2014-02-06 | Intrinsic Id B.V. | Random number generating system based on memory start-up noise |
CN106355409A (zh) * | 2015-07-14 | 2017-01-25 | 三星电子株式会社 | 支付系统、电子设备、及其支付方法 |
CN107924645A (zh) * | 2015-08-06 | 2018-04-17 | 本质Id有限责任公司 | 具有物理不可克隆功能的加密设备 |
US20190358515A1 (en) * | 2016-05-02 | 2019-11-28 | Bao Tran | Blockchain |
Also Published As
Publication number | Publication date |
---|---|
TW202244912A (zh) | 2022-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10749695B2 (en) | Physical unclonable function for non-volatile memory | |
JP5279899B2 (ja) | 安全な乱数生成器 | |
JP4999017B2 (ja) | 複数の論理素子を含むワンタイムプログラマブルロジックビット | |
TW202018704A (zh) | 利用雙單元電荷捕捉電晶體記憶體的物理不可複製功能 | |
US7245546B2 (en) | Reduced area, reduced programming voltage CMOS efuse-based scannable non-volatile memory bitcell | |
TW201921280A (zh) | 在用於物理不可複製功能安全之一次可程式化記憶體單元中之閘極氧化物崩潰 | |
US11348651B2 (en) | Hot carrier injection fuse memory | |
US11823739B2 (en) | Physically unclonable function (PUF) generation involving high side programming of bits | |
Sakib et al. | An aging-resistant NAND flash memory physical unclonable function | |
TWI785702B (zh) | 用於產生識別碼之儲存裝置及識別碼產生方法 | |
TWI625733B (zh) | 產生積體電路固有資訊的裝置及方法 | |
TWI733567B (zh) | 記憶體裝置以及記憶體陣列 | |
US11984166B2 (en) | Storage device for generating identity code and identity code generating method | |
US11727986B2 (en) | Physically unclonable function (PUF) generation involving programming of marginal bits | |
Malviya et al. | A differential OTP memory based highly unique and reliable PUF at 180 nm technology node | |
US11923005B2 (en) | Cell cycling to minimize resistive memory random number correlation | |
TWI789248B (zh) | 產生用於一電子元件的一隨機碼的裝置及方法 | |
US20240333490A1 (en) | Physical unclonable function code generating apparatus and method | |
US11404119B1 (en) | Non-volatile memory device and challenge response method | |
CN116170160B (zh) | 一种物理不可克隆函数电路及其应用 | |
US20240257872A1 (en) | Memory device and operating method thereof | |
Serrano et al. | A Unified OTP and PUF Exploiting Post-Program Current on Standard CMOS Technology | |
CN116663076A (zh) | 实现物理不可克隆函数的电路及其操作方法、电子设备 | |
Mateu Barriendos | Analysis of Data Remanence and Power-up States of SRAM Cells in Embedded Systems | |
WO2023239696A1 (en) | System and method for generation of unique digital signature using a non-volatile memory array |