亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

以模糊算法和動態(tài)密鑰為特征的基于保留的本征指紋識別的制作方法

文檔序號:6497378閱讀:330來源:國知局
以模糊算法和動態(tài)密鑰為特征的基于保留的本征指紋識別的制作方法
【專利摘要】本申請涉及以模糊算法和動態(tài)密鑰為特征的基于保留的本征指紋識別。隨機本征芯片ID生成采用保留失敗簽名。利用具有第一設(shè)置比第二設(shè)置更嚴格的測試設(shè)置產(chǎn)生第一和第二ID,從而在包括第二ID位串290的第一ID位串275中創(chuàng)建更多的失敗。通過BIST引擎625調(diào)節(jié)的保留暫停時間控制保留失敗的數(shù)量,其中失敗數(shù)量803,920滿足預(yù)定的失敗目標(biāo)。驗證確認第一ID是否包括第二ID位串,該ID成為用于認證的ID。認證是通過具有中間條件的第三ID啟用的,使得第一ID包括第三ID位串并且第三ID包括第二ID位串。中間條件包括保護帶,以消除第一和第二ID邊界附近的位不穩(wěn)定性問題。該中間條件在每一次ID讀取操作改變,從而導(dǎo)致更安全的識別。
【專利說明】以模糊算法和動態(tài)密鑰為特征的基于保留的本征指紋識別
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及利用硬件本征密鑰和認證響應(yīng)的芯片識別,以及用于產(chǎn)生唯一標(biāo)識串來識別芯片的方法和電路,更具體地,涉及利用靜態(tài)隨機存取存儲器陣列或動態(tài)隨機存取存儲器陣列產(chǎn)生用于ID安全和高準(zhǔn)確度認證的VLSI芯片不可復(fù)制的本征標(biāo)識的方法和系統(tǒng)。
【背景技術(shù)】
[0002]在當(dāng)代安全和加密應(yīng)用中,自我識別芯片的可靠性已經(jīng)成為必需。全球半導(dǎo)體聯(lián)盟(GSA)在“Hardware Intrinsic Security:Fabless Perception and Awareness Study,,中描述了半導(dǎo)體工業(yè)對秘密密鑰存儲的需求,其中要提高對秘密密鑰存儲和硬件本征安全性的采用,成本是需要加以解決的最大障礙。并且,特定設(shè)備的唯一標(biāo)識是從業(yè)者給出采用秘密密鑰存儲的主要原因。顯然,根據(jù)GSA的受訪者,通常是無晶圓廠(fabless)半導(dǎo)體設(shè)計公司,存在對內(nèi)部和外部IC客戶的成本效益的解決方案的一個關(guān)鍵需求:用最少的設(shè)計和面積開銷提供芯片認證和識別。該解決方案應(yīng)該在芯片上只需最少量的額外電路系統(tǒng)或掩模水平、對產(chǎn)出沒有影響、并且適用于廣泛的產(chǎn)品。
[0003]集成電路(IC)的認證包括使用電線路徑延遲(有可能被補償,以考慮不同的溫度/電壓運行條件)的物理上不可克隆功能(PUF)、誤差校正、限制訪問PUF的控制模塊、混淆真實PUF輸入/輸出關(guān)系的隨機散列、通過PUF增加響應(yīng)復(fù)雜性的多反饋回路、或者當(dāng)施加不同時鐘周期時響應(yīng)改變的PUF。
[0004]當(dāng)利用物理上不可克隆功能識別設(shè)備時,生成對唯一代表設(shè)備身份的PUF響應(yīng)包括使具有存儲器的設(shè)備擴展到硬件和軟件并且要求把存儲器響應(yīng)用作設(shè)備的硬件本征標(biāo)識。SRAM、鎖存器以及FPGA的制造和使用(對于它們在特定運行條件下邏輯門之間的競爭使用)可以具有把每一個設(shè)備從一組設(shè)備中唯一區(qū)分出來的不同特征。
[0005]提供帶有唯一標(biāo)識的IC芯片的系統(tǒng)可以在芯片中包括能用于芯片唯一標(biāo)識的塊。然后,該芯片必須包括在IC中形成的多個標(biāo)識單元,其中該IC在單元中根據(jù)隨機參數(shù)變化產(chǎn)生響應(yīng)。該芯片還可以擴展到如下的單元,其包括至少一個晶體管、失配的兩個晶體管、不同類型的單元、或存儲在單元上可以作為位的序列讀出的值。
[0006]盡管在存在工藝變化時,芯片識別電路概念引入電壓調(diào)節(jié)來把產(chǎn)生的ID的漢明距離(即ID串中邏輯I的數(shù)量)調(diào)整到期望值,但是在單個生成周期中ID的重復(fù)測試可以增加ID的穩(wěn)定性以確保該一次產(chǎn)生的ID能夠在以后毫無困難地或者不必進行位的改變而被讀出。
[0007]盡管以上提到的ID解決方案理論上允許生成本征ID,但是存在風(fēng)險,即產(chǎn)生的位包括不穩(wěn)定的位,這些不穩(wěn)定的位會隨著時間推移而改變,從而使不能識別正確的芯片或者不能正確地識別芯片的可能性增加。還存在為多個芯片產(chǎn)生相同ID向量的可能性,尤其當(dāng)向量位的串長度短的時候。盡管增加向量長度減少多個芯片具有相同ID的機會,但是這增加了管理用于識別的長向量模式的系統(tǒng)開銷。此外,即使芯片唯一地在芯片內(nèi)產(chǎn)生唯一的本征ID,也存在該ID會在ID讀取操作期間被非法拷貝的風(fēng)險。盡管具有較長的ID向量減少了這種風(fēng)險,但是這是以增加向量管理復(fù)雜性及系統(tǒng)開銷為代價的。本征電子芯片識別的關(guān)鍵是例如為多于一百萬個部件產(chǎn)生可靠的且唯一的ID生成。這需要正確地定義只用于一個芯片的穩(wěn)定的ID生成和驗證,而不會把該ID與其它ID誤識別。除了 ID生成的挑戰(zhàn)之外,ID讀取必需是足夠安全的,以使得在ID讀出期間不會被盜用。
[0008]圖1a說明了現(xiàn)有技術(shù)的動態(tài)隨機存取存儲器陣列(DRAM),包括多個布置在二維矩陣中的一個晶體管和一個電容器單元(101)。DRAM陣列100由字線(WL)和位線(BL)支持,每個WL支持耦合到偶數(shù)BL(BLe)或奇數(shù)BL(BLo)的多個單元。這允許利用BLe和BLo為差分感測機制創(chuàng)建BL對。在存儲器訪問之前,所有的BL被預(yù)先充電到BL預(yù)充電電壓(VPKE)。Vpke優(yōu)選地設(shè)置成存儲在單元中的O和I電壓之間電壓的一半。通過例子,假設(shè)該單元為O存儲Ov,為I存儲VDD,并且為1/2VDD感測機制存儲設(shè)置在1/2VDD的VPKE。當(dāng)WL升高時,耦合到相應(yīng)WL的單元被同時激活,從而把所選單元中的電容器耦合到相應(yīng)的BL( BP, BLe)。這導(dǎo)致在單元電容器和BL電容器之間電荷共享。其它BL( BP, BLo)保持在Vpee(1/2VDD)電平,從而在每個BL對之間產(chǎn)生差分電壓(增量SA)。然后,在BL上的增量SA被放大到全部CMOS電平并且通過讀出放大器(SA) (102)鎖定。對于O讀數(shù),BLe低于BLo,從而允許BLe和BLo分別變低和變高。對于I讀數(shù),BLe高于BLo,從而允許BLe和BLo分別變高和變低,并且允許單元恢復(fù)完全放大的BL電壓,以便被寫入到相應(yīng)的單元。寫模式是通過激活WL啟用的,從而允許耦合相應(yīng)WL的單元通過BL(即,BLe)來寫。寫入到單元的電壓是由作為動態(tài)隨機存取存儲器的電容器來維護的。用于I數(shù)據(jù)(或VDD)的電容電荷會隨著保留暫停時間的推移而泄漏,從而導(dǎo)致I失敗。為了增加保留時間,WL驅(qū)動器
(106)可以優(yōu)選地使用負電壓(VWL)來減少單元(101)的亞閾區(qū)電流。將示出本發(fā)明中優(yōu)選使用的本征芯片識別,該本征芯片識別采用具有VWL控制的保留行為來創(chuàng)建可控的隨機二進制向量,其細節(jié)將在下文優(yōu)選的實施例中加以討論。
[0009]參考圖2a,示出了現(xiàn)有技術(shù)的靜態(tài)隨機存取存儲器單元及支持電路系統(tǒng),優(yōu)選地包括六晶體管SRAM單元(201),其中六晶體管SRAM單元包括交叉耦合反相器(230和231)和期望布置在二維矩陣中接近多個類似的六晶體管SRAM單元的兩個存取晶體管(232和233)。單元被耦合到字線(WL) (205)和位線(BL)對(211和212)。SRAM的存儲器訪問是通過激活WL使能信號(203)啟用的。這把WL(205)設(shè)為高,從而通過所述存取晶體管(232和233)把交叉耦合節(jié)點(214和215)耦合到位線(211和212)。在WL激活之前,位線均衡使能信號(207)變低,從而禁止BL均衡設(shè)備(209),導(dǎo)致在BL對上產(chǎn)生差分電壓。BL對上的差分電壓利用所述讀出放大器(SA) (213)轉(zhuǎn)換成數(shù)字二進制輸出。如將在下文中示出的,本發(fā)明中使用的本征ID生成在啟用均衡器的同時優(yōu)選地激活WL,這導(dǎo)致在異常條件下產(chǎn)生隨機的二進制串,其細節(jié)將在下文優(yōu)選實施例中加以討論。

【發(fā)明內(nèi)容】

[0010]因此,本發(fā)明的實施例提供了一種用于利用芯片在其生命期不變且唯一的本征參數(shù)來識別芯片的系統(tǒng)和方法。由于該穩(wěn)定的本征ID依賴于由制造過程變化決定的參數(shù),因此它是防篡改并且不能被偽造的。典型的制造過程具有若干個在每個模具上唯一且隨機變化的參數(shù),其中穩(wěn)定位是通過提供用于ID生成和認證的保護帶和驗證方法產(chǎn)生的。[0011]在一種實施例中,該方法采用了一組本征保留特征,當(dāng)使用唯一識別該芯片的動態(tài)隨機存取存儲器時,這些特征不會重現(xiàn)。通過利用芯片的本征保留特征識別該芯片,ID的安全性和成本被改善,其中許多這些特征在測試和驗證芯片是否合格時已經(jīng)被記錄。由于該實施例利用了一個晶體管和一個電容器的密集存儲器陣列結(jié)構(gòu),因此提供了極低成本和極高安全性的解決方案,而不需要額外的處理、測試或應(yīng)力。
[0012]在一種實施例中,本發(fā)明包括增加電路來為存儲在系統(tǒng)中的每個芯片的至少兩個ID啟用詢問-應(yīng)答對,其中第一 ID向量串包括第二 ID向量串,演示可以如何應(yīng)用和使用詢問-應(yīng)答對。從基于普通設(shè)計制造的、其中每個設(shè)備都實現(xiàn)第一函數(shù)的一組設(shè)備中識別和認證第一設(shè)備是通過利用第三ID串實現(xiàn)的,使得第一 ID串包括第三ID串,并且第三ID串包括第二 ID串。
[0013]在一種實施例中,本發(fā)明通過具有用于產(chǎn)生對認證動態(tài)改變的第三ID的位向量增加ID系統(tǒng)的安全性,使得當(dāng)ID讀取向量被非法拷貝時,安全性也是有保障的。
[0014]本發(fā)明的一種實施例有利地包括內(nèi)置自測(BIST)引擎來啟用測試條件的自主調(diào)節(jié)以通過利用兩個預(yù)定的相應(yīng)密鑰找到第一 ID 二進制串和第二 ID 二進制串。這些密鑰僅在第一 ID和第二 ID串生成期間使用。
[0015]本發(fā)明的一種實施例包括內(nèi)置自測(BIST)引擎來啟用測試條件的自主調(diào)節(jié)以通過利用動態(tài)密鑰找到第三ID 二進制串。該密鑰被用于認證和動態(tài)地跟蹤每個認證。
[0016]一種實施例可以包括加密密鑰并且輸出ID 二進制串以進一步提高ID的安全性。
[0017]在一種實施例中,本發(fā)明通過應(yīng)用第一函數(shù)、利用第一標(biāo)識符作為自變量應(yīng)用單向函數(shù)來產(chǎn)生該單向函數(shù)的輸出、并且把所述第一函數(shù)應(yīng)用到所述單向函數(shù)的輸出來認證第一設(shè)備,其中第一函數(shù)的輸出依賴于應(yīng)用的多位數(shù)字輸入和集成電路的制造特征,集成電路的制造特征會由于制造中的隨機變化而在不同設(shè)備之間不同,包括在編碼第一標(biāo)識符的第一設(shè)備接收信號。
[0018]在一種實施例中,加密提供了需要傳統(tǒng)加密已知的詢問應(yīng)答對的認證,而不需要利用原來識別串的未知且變化子集來覆蓋識別或認證。
[0019]在一種實施例中,設(shè)備陣列提供了通常在標(biāo)準(zhǔn)運行條件下的函數(shù),其可以被強制在異常運行條件下不同地操作。上面提到的異常操作可以與一個或多個操作參數(shù)有關(guān),使得把這些參數(shù)中的一個或多個調(diào)整到超過正常操作區(qū)域?qū)е驴煽財?shù)量設(shè)備的失敗。
[0020]在一種實施例中,一個或多個電路塊操作設(shè)備。芯片輸入被應(yīng)用到電路塊以獲得ID。當(dāng)該芯片需要被識別時,類似的輸入被應(yīng)用到該芯片用于初始ID生成?;谒龅捏w系結(jié)構(gòu),會期望作為ID返回的,在特定容差內(nèi)類似于原來值的集合將在以后當(dāng)ID被讀取時返回。
[0021]在一種實施例中,提供了一種用于識別具有存儲器陣列的芯片的方法,包括:利用計算機確定存儲器陣列本征參數(shù);產(chǎn)生用于產(chǎn)生第一和第二身份(ID) 二進制串的存儲器陣列的第一窗口地址位置,并且在該存儲器陣列上迭代測試直到達到預(yù)定的失敗計數(shù)。該方法還可以包括比較第一 ID 二進制串和第二 ID 二進制串,其中如果第一二進制串包括第二串的所有失敗存儲器地址,則第一二進制串和第二二進制串變?yōu)樾酒矸?;否則,選擇存儲器陣列的第二新窗口地址位置,返回到步驟b)直到獲得芯片身份?!緦@綀D】

【附圖說明】
[0022]從結(jié)合附圖考慮的以下本發(fā)明實施例的詳細描述,本發(fā)明將得到更完全的理解和領(lǐng)會,其中:
[0023]圖1a示出了現(xiàn)有技術(shù)的動態(tài)隨機存取存儲器的示意圖;
[0024]圖1b根據(jù)本發(fā)明的一種實施例,示出了帶有支持電路塊的動態(tài)隨機存取存儲器的示意圖,其中支持電路塊可用于本征ID生成;
[0025]圖2a是現(xiàn)有技術(shù)的靜態(tài)隨機存取存儲器的示意圖;
[0026]圖2b根據(jù)本發(fā)明的一種實施例,示出了靜態(tài)隨機存取存儲器的可以用于本征ID生成的操作時序、電壓和示意圖;
[0027]圖3是描述根據(jù)本發(fā)明的一種實施例的操作的流程圖;
[0028]圖4示出了關(guān)于測試條件的位圖依賴關(guān)系,包括保留暫停時間、字線低電壓、或任何其它影響的元素,并且該圖說明,作為自然保留行為,較長暫停時間或較高字線電壓如何增加失敗的數(shù)量;
[0029]圖5繪出了包括不穩(wěn)定位、保護帶、和安全區(qū)域的陣列示意圖;
[0030]圖6說明了產(chǎn)生唯一 ID的概率Pfuzzy OPmin);
[0031]圖7示出了用于基于保留的本征芯片身份(RICID)生成和檢測的芯片和系統(tǒng)體系結(jié)構(gòu);
[0032]圖8示出了與RICID相關(guān)的術(shù)語表;
[0033]圖9說明了 RICID生成流程圖;
[0034]圖10說明了 RICID檢測流程圖;
[0035]圖11示出了顯示位圖和ID唯一性的硬件和模擬結(jié)果;以及
[0036]圖12說明了顯示漢明距離的硬件和模擬結(jié)果。
【具體實施方式】
[0037]在此公開了本發(fā)明的詳細實施例。但是,應(yīng)當(dāng)理解,所公開的實施例僅僅是說明可以以各種形式體現(xiàn)的本發(fā)明。此外,結(jié)合本發(fā)明各種實施例給出的每一個例子都是說明性的,而不是限制性的。
[0038]現(xiàn)在參考圖3,示出了在其中說明的步驟可以用來實現(xiàn)本發(fā)明實施例的流程圖。
[0039]在步驟255中,確定存儲器陣列的本征參數(shù),隨后是步驟260,其中在存儲器陣列中創(chuàng)建窗口地址位置。然后,在步驟265,選擇預(yù)定的失敗計數(shù),隨后在步驟270,使測試存儲器改變操作參數(shù)直到達到預(yù)定的失敗。在步驟275,記錄第一 ID串二進制向量,并且隨后在步驟280,選擇預(yù)定的第二失敗計數(shù)。在步驟285,測試存儲器改變操作參數(shù)直到達到期望的失敗計數(shù)。在步驟290,記錄第二 ID串二進制向量。在步驟295,比較第一向量和第二向量。在步驟299,記錄向量對作為ID。
[0040]現(xiàn)有技術(shù)的本征ID生成產(chǎn)生隨機的位向量,其目標(biāo)是50%的I和50%的O數(shù)據(jù)以使?jié)h明距離最大化。本發(fā)明實施例中的本征ID生成產(chǎn)生兩個隨機的位向量,每一個都具有特定數(shù)量的O或I位,同時滿足規(guī)則:其中一個包括另一個的所有的I或O位。這可以在觀察帶有保留行為的DRAM陣列操作或者帶有異常條件和初始化機制的SRAM陣列操作時通過向陣列引入反饋循環(huán)來完成。[0041]現(xiàn)在參考圖4,說明了關(guān)于測試參數(shù)310的位圖模式301-304,旁邊是分別對應(yīng)于位圖302和303的ID 二進制串向量312和313。為了說明的目的,假設(shè)調(diào)制的測試參數(shù)310是用于在圖1b中示出的動態(tài)隨機存取存儲器(DRAM)的保留暫停時間,其中動態(tài)隨機存取存儲器包括一個晶體管和一個電容器單元(ITlC) 108的陣列107以及讀出放大器(SA) 109。在產(chǎn)生本征ID之前,DRAM陣列107把邏輯I存儲到陣列中每個ITlC單元108的電容器。如果在單元電荷泄漏之前讀取數(shù)據(jù)位,則讀取的數(shù)據(jù)是邏輯1,從而示出干凈的位圖301。如果保留暫停時間增加,則有些泄漏的單元將比其它的單元更早地放電到減小的電壓,從而導(dǎo)致顯示失敗的位圖302。隨著保留暫停時間的增加,位圖中失敗的數(shù)量增加303。一旦保留暫停時間足夠長,則位圖中所有的單元將失敗304。相關(guān)聯(lián)地注意到:對于較短暫停時間的失敗位集合302是對于滿足創(chuàng)建本征ID要求的較長暫停時間的失敗位集合303的子集。
[0042]現(xiàn)在參考圖lb,失敗的數(shù)量可以通過連接到WL驅(qū)動器111的WL低電壓(VffL) 110 (WL的備用狀態(tài))進行有利地控制。較高的VWL增加泄漏,從而在位失敗圖303中創(chuàng)建較多的失敗,類似于在滿足創(chuàng)建本征ID的要求的同時的較長保留暫停時間,而較低的VWL在位失敗圖302中產(chǎn)生較少的失敗。在實施例中提供了附加的電路塊,用于把失敗計數(shù)反饋到VWL調(diào)節(jié)模塊(電壓產(chǎn)生器)114中。失敗計數(shù)器113具有目標(biāo)失敗計數(shù)112,并且通過到模塊114的命令調(diào)整VWL,從而利用新參數(shù)重復(fù)對陣列的測試,直到達到目標(biāo)失敗計數(shù)。因為從SA讀取邏輯O被認為是失敗,因此失敗計數(shù)器是從SA的輸出118中計數(shù)O位的數(shù)量的簡單計數(shù)器。通過把VWL調(diào)節(jié)到適當(dāng)?shù)碾妷涸O(shè)置,可以創(chuàng)建位圖302和303以包括目標(biāo)數(shù)量的失敗,同時滿足對產(chǎn)生第一和第二 ID 二進制串的本征ID的要求,使得第一ID 二進制串包括在第二 ID 二進制串中記錄的所有失敗的位。如在圖4中所說明的,2D位圖302和303分別被轉(zhuǎn)換成兩組ID 二進制串向量312和313,其中每一個邏輯I都是在失敗位的地址位置??蛇x地,轉(zhuǎn)換的ID可以被壓縮或者加密,從而在提高安全性的同時減少ID的尺寸。
[0043]備選地,可以通過SRAM位線均衡電壓電平有利地控制失敗的數(shù)量。再次參考圖2b,示出了帶有時序圖的基于SRAM的本征ID生成示意圖,其中SRAM陣列243可以是傳統(tǒng)的陣列。如之前所討論的,最重要的是提供一種創(chuàng)建帶有相應(yīng)兩個目標(biāo)數(shù)量的兩個向量同時滿足其中一個向量包括另一個的規(guī)則的方法。這可以通過利用唯一的時序控制來完成:在圖237中示出的時序提供了在ID生成模式中SRAM操作的可視描述。圖4中的位失敗圖302和303說明如分別在第二 ID 二進制串和第一 ID 二進制串中表示的會失敗的位。如在圖2a中所示出的,SRAM陣列對六晶體管單元201中交叉耦合的反相器(230和231)使用第一電壓250、對字線驅(qū)動器202使用第二電壓204、對位線均衡驅(qū)動器206使用第三電壓208,并且使用通過所述位線均衡器209耦合到位線的第四電壓210。在本征ID生成之前,用于所有存儲器單元的交叉耦合節(jié)點214和215分別設(shè)置成高(邏輯I)和低(邏輯O)。如本領(lǐng)域已知的,這可以通過把I數(shù)據(jù)寫到SRAM陣列來完成,因此將不再進一步討論。與傳統(tǒng)的SRAM操作不同,對于本征ID生成,均衡器晶體管209通過在WL被信號203激活時把信號207保持在高從而保持在開啟。這導(dǎo)致交叉耦合節(jié)點214和215之間短路并且到電壓210。信號207在WL停用之前變低,從而允許交叉耦合節(jié)點214和215的設(shè)置分別是高和低或者低和高。狀態(tài)是利用存取晶體管232和233、均衡器晶體管209強度和用于交叉耦合的反相器(230和231)的閾值電壓失配來確定的。這使得產(chǎn)生包括大約50%的邏輯O和50%的邏輯I的二進制向量模式。本發(fā)明中的本征ID生成為O和I模式生成創(chuàng)建歪斜。例如,如果存取晶體管232、存取晶體管233、均衡器晶體管209或任意組合不足夠強,則邏輯值很有可能反轉(zhuǎn)原先存儲的電荷。隨著交叉耦合節(jié)點均衡效果增強,SRAM陣列中有些位將反轉(zhuǎn)到相反的邏輯狀態(tài),這在位失敗圖中記錄為失敗。隨著以上提到的第一電壓減小,節(jié)點的均衡效果增加,從而導(dǎo)致更多的失敗位。通過調(diào)節(jié)第一、第二、第三或這些電壓的任意組合,可以創(chuàng)建包括目標(biāo)數(shù)量的失敗的位圖235和236,同時滿足用于產(chǎn)生第一和第二ID 二進制串的本征ID的要求,使得第一 ID 二進制串包括第二 ID 二進制串中記錄的所有失敗位。時序圖237提供了在ID生成模式中SRAM操作的可視描述。位失敗圖235和236說明如分別在第二 ID 二進制串和第一 ID 二進制串中表示的會失敗的位。節(jié)點均衡效果可以通過調(diào)節(jié)第一電壓、第二電壓或第三電壓的任意組合備選地增加。
[0044]如在時序圖(237)中所示出的,作為例子,調(diào)節(jié)第一電壓250使得可能通過在多個讀和寫周期上調(diào)節(jié)運行條件利用SRAM完成用于ID生成的目標(biāo)失敗計數(shù)。如前所述,如果節(jié)點(214和215)被額定電壓(250:1V,204:1V,208:1V和210:0V)短路,則產(chǎn)生的向量將可能是50%的O和I。在本發(fā)明的一個實施例中,為了實現(xiàn)增加O和I目標(biāo)數(shù)量的本征ID向量,首先在正常操作模式下把邏輯I寫到存儲器陣列的每一個單元,然后,計數(shù)器確定O位的數(shù)量。如在301中示出的,如果在傳統(tǒng)的讀取操作時讀取位,所有的數(shù)據(jù)將是1,從而導(dǎo)致O個失敗。然后,通過啟用WL而不需禁用BL均衡器一段預(yù)定的時間來短路交叉耦合節(jié)點(214和215)。當(dāng)均衡器被禁用時,交叉耦合節(jié)點(214和215)取決于過程的隨機參數(shù)被反轉(zhuǎn),從而導(dǎo)致大約50%的位從I反轉(zhuǎn)到O。失敗的數(shù)量是通過計數(shù)器214監(jiān)視的,其中計數(shù)器214控制第一電壓250用于下一次嘗試。如果通過該動作沒有達到目標(biāo)失敗計數(shù),則執(zhí)行正常SRAM寫周期來把I數(shù)據(jù)重寫到陣列的每一個單元,然后通過Vgen242把第一電壓250降低到第二個值。除了從I變化到O的位的數(shù)量將有利地從之前第一 ID生成周期降低,從而使得失敗位的數(shù)量接近目標(biāo)值240之外,陣列現(xiàn)在是利用ID生成時序訪問的,但是包括對250的新的電壓設(shè)置。重復(fù)重寫1、降低第一電壓250、應(yīng)用ID生成時序并且讀出存儲器位的過程,直到達到期望的失敗計數(shù)。
[0045]兩組本征ID的生成可以通過改變其它電壓來產(chǎn)生。例如,改變位線均衡電壓(208)允許控制I位的數(shù)量。在這種方法中,類似于之前如第一步驟的用額定電壓(250:1V,204:1V, 208:1V, 210:0V)的250方法,所有的單元都寫入I。電壓(208)設(shè)置在OV。這導(dǎo)致零個失敗位(用于讀取I的完美位圖),因為,即使WL均衡器同時開啟,交叉耦合節(jié)點(214和215)也沒有短路。作為下一步,電壓208增加到0.1V,從而允許交叉耦合節(jié)點(214和215)被弱短路,從而導(dǎo)致很少的失敗(很少的位是O),其結(jié)果是通過計數(shù)器(241)觀測的。如果失敗的數(shù)量沒有滿足目標(biāo)數(shù)量,則Vgen(242)把電壓208增加到0.2V。重復(fù)這個過程直到失敗的數(shù)量滿足目標(biāo)數(shù)量。也可以利用類似的方法通過改變WL電壓(204)來實現(xiàn)ID生成??傊?jié)點均衡效果可以通過調(diào)節(jié)第一電壓、第二電壓、第三電壓或第四電壓的任意組合備選地增加或減少,從而允許生成兩個ID向量,同時滿足相應(yīng)的目標(biāo)。
[0046]說明了能夠進行電壓調(diào)節(jié)以有利地控制用于本征ID生成的SRAM失敗計數(shù)的結(jié)構(gòu)。目標(biāo)失敗計數(shù)240呈現(xiàn)給失敗計數(shù)器241。該計數(shù)器通過到電壓產(chǎn)生器242的輸入請求第一、第二、第三、第四電壓或任意組合的電壓的調(diào)節(jié),其中電壓產(chǎn)生器242調(diào)節(jié)電壓并把電壓施加到SRAM陣列243。從SRAM陣列輸出的結(jié)果244被反饋到失敗計數(shù)器241中,失敗計數(shù)器241迭代上述步驟直到達到目標(biāo)失敗計數(shù)。
[0047]無論利用保留暫停、VffL電壓或SRAM電壓控制進行ID生成,較短保留暫停時間、較低VWL電壓、或較高SRAM位線均衡電壓的保留失敗位包括在較長保留時間、較高VWL電壓或較低SRAM均衡電壓的保留失敗位中。
[0048]以下實施例假設(shè)基于保留的本征ID生成使用了 VWL控制。但是,它也可以應(yīng)用于保留暫停或者SRAM位線均衡的方法。
[0049]參考圖5,將采用結(jié)合模糊算法的電壓調(diào)制或基于保留的本征芯片ID(下文稱作RICID)。RICID優(yōu)選地使用保留失敗來創(chuàng)建ID向量模式。如之前提到的,由于DRAM單元保留的自然屬性,產(chǎn)生的向量位對每個芯片是隨機的模式,這可以有利地用于本征ID。但是,當(dāng)許多位改變時,當(dāng)前的方法會誤識別芯片。當(dāng)檢測到的位靠近保留角落的邊界時,不穩(wěn)定的位將在失敗位列表中出現(xiàn)或消失。RICID采用多個測試模式或參數(shù),使得對于較短保留時間和較多有利電壓的失敗向量是對于較長保留時間和較多引入失敗電壓的失敗向量的子集。
[0050]示出了存儲器陣列(400),包括WL和BL,但是省略了單個單元。位失敗圖(401)表示把測試條件應(yīng)用到存儲器陣列以及在特定地址(用圓圈表示)觀察單元失敗的結(jié)果。失敗位被歸類到多個區(qū)域(例如,A、B、C和D)中,其中向量A、B和C包括在向量D中(預(yù)定的最長保留或最不利的測試角落)。在顯示如果陣列物理特征落入諸如A、B、C或D區(qū)域的范圍內(nèi)就改變操作參數(shù)將引起陣列位失敗的圖旁邊,繪出了關(guān)于允許諸如VWL的單元失敗(411)數(shù)量控制的操作參數(shù)的調(diào)整示出的區(qū)域。如果觀察到A是在D中,則預(yù)測B和C是在D中。每個區(qū)域邊界包括附加的保護帶(GB) (410),從而導(dǎo)致由具有失敗位加保護帶的最小集合的向量以及具有失敗位減保護帶的最大集合的向量定義的安全區(qū)域(SZ)的創(chuàng)建。因此,即使幾個不穩(wěn)定位變化,只要它們保持在安全區(qū)域內(nèi),則就認為RICID是唯一的。
[0051]參考圖6,說明了用于創(chuàng)建唯一 ID的概率Pfuzzy的分析模型,其中1、j、k和η分別表示eDRAM陣列中位的數(shù)量、保留失敗的最大數(shù)量、保留失敗的最小數(shù)量、和使用的樣本或芯片數(shù)量。該模型預(yù)測:對于IO6個部件超過99%的唯一 RICID的概率,4Kb的陣列(I =4K)是綽綽有余的,其中j = 100和k = 10。
[0052]現(xiàn)在參考圖7,示出了帶有模糊算法的、采用RICID的芯片(620)和系統(tǒng)(600)體系結(jié)構(gòu)與流程圖。為了說明的目的,假設(shè)芯片包括128Kb的eDRAM陣列(621),其具有32個4Kb的片段,編號為(0,0)到(7,3)。它們由BIST (625)、字線低電壓(VffL)產(chǎn)生器(622)、RICID產(chǎn)生器(IDcen) (624)、和片段管理器(SEG) (623)支持。為了避免過程的邊緣效應(yīng)并增加ID的隨機性,只使用了其坐標(biāo)落入(1,I)和(6,2)之間的12個中間片段。該系統(tǒng)包括模塊(602),該模塊請求帶有給定KEY(密鑰)(610)的RICID并期望RICID(611)響應(yīng)。它進一步包括在表(601) RICIDtbl中存儲RICID的能力。
[0053]為了生成目的,該系統(tǒng)提供了具有兩個固定密鑰(602)的芯片,其中兩個固定密鑰為KEYmin和KEYmax,分別是在RICID串中所期望的保留失敗的最小數(shù)量和最大數(shù)量。當(dāng)該芯片接收ID請求(610)時,BIST(625)改變VWL(622),使得對于第一片段(1,I),KEYmin ( RICID的數(shù)量≤KEYmin+GB。如果該芯片不滿足這個條件,則BIST利用SEG (623)選擇下一片段(2,I)。如果BIST找到合適的條件,則向量RICIDmin臨時地由BIST存儲,并且BIST通過改變VWL以滿足KEYmax - GB ( RICID的數(shù)量≤KEYmax,從而利用第二個值KEYmax發(fā)起對向量RICIDmax的搜索。通過確認向量RICIDmin是RICIDmax的子集來實現(xiàn)該驗證。否則,認為向量是不可靠的,不正確的條件是通過BIST檢測到的,并且該片段通過SEG遞增,從而利用之前描述的上面提到的VWL調(diào)整來搜索新的RICIDmin和RICIDmax,以應(yīng)用到下一片段。如果找到合適的RICIDmin和RICIDmax對,則向量通過IDeEN(624)壓縮并且作為RICID (611)輸出到系統(tǒng)。然后,把RICID向量與RICID表(601)中現(xiàn)有的RICIDim向量(如果可以得到的話)進行比較,以確認它是唯一的ID。否則的話,系統(tǒng)通過要求BIST遞增片段選擇SEG來請求新的RICID對。該唯一的RICID優(yōu)選地由制造商存儲在表中。更一般而言,SEG可以可選地存儲在eFUSE中或者表中。
[0054]RICID讀取操作是通過把讀取密鑰KEYk在KEY(610)處提供給芯片來啟用的。為了提高安全性,KEYe在每個讀取操作中動態(tài)地改變。兩個相鄰的KEYk值應(yīng)該分開遠于兩GB,從而即使不穩(wěn)定位在邊界內(nèi)改變也允許正確檢測。一旦BIST配置為用于ID檢測,并且在接收到KEYk輸入之后,芯片通過在類似于RICID生成模式的方法中改變VWL來產(chǎn)生失敗向量RICIDK。然后,RICIDk輸出到系統(tǒng)。初始地,系統(tǒng)檢查RICIDk中I位的數(shù)量是否等于在GB容差范圍內(nèi)由系 統(tǒng)輸入的數(shù)量ΚΕΥκ,以防止非法密鑰讀出,諸如贗品可能預(yù)先編程的以前的密鑰。如果數(shù)量是有效的,則對照由制造商或OEM存儲的RICID表比較RICIDk以找到RICIDmax,其中給定的RICIDk是其的子集。
[0055]參考圖8,說明了定義與RICID生成、檢測和存儲有關(guān)的術(shù)語的表。
[0056]芯片的輸入是KEY,芯片的輸出是RICID,并且存儲的值是RICIDimt5對于ID生成,提供的KEY值是KEYmin和KEYmax,其描述了在ID串中允許的I位的最小數(shù)量和最大數(shù)量,受制于GB,RICID響應(yīng)值分別是RICIDmin和RICIDmax,并且作為結(jié)果存儲的RICIDm值是RICIDmin和RICIDmx。在ID讀取操作期間,值KEYk輸入到芯片,并且響應(yīng)是RICIDk,其與存儲在RICIDTBl中的RICIDmax進行比較并且預(yù)期是RICIDmax的子集。
[0057]參考圖9,繪出了說明RICID生成步驟的流程圖,包括可以用來找到適當(dāng)RICID的特定方式。芯片(800)的輸入接收KEYmin和KEYmx。初始測試條件應(yīng)用到存儲器陣列的片段,以期望陣列將沒有失敗單元(801)。如果它確實有,則必須選擇不同的片段(807)。否貝U,改變VWL電平(或其它適當(dāng)?shù)臏y試參數(shù))(802)直到在芯片上發(fā)生的失敗數(shù)量大于或等于KEYmin但是小于KEYmin+GB(803)。失敗的單元地址臨時記錄為RICIDMIN。進一步改變VffL電平(或其它適當(dāng)?shù)臏y試參數(shù))(804)直到在芯片上發(fā)生的失敗單元的數(shù)量大于或等于KEYmax-GB但是小于或等于KEYmx。失敗單元的地址臨時記錄為RICIDmx。如果RICIDmax包括RICIDmin(806),則把RICIDmin和RICIDmax值輸出到系統(tǒng)(810)。如果RICIDmax不包括RICIDmin,則片段遞增到下一個適當(dāng)?shù)奈恢?813),并且從801開始重復(fù)該過程。如果沒有可用的適當(dāng)片段,則報告錯誤(802),并且由于不合適的硬件不能通過這種機制記錄芯片ID。下一步,把RICIDmin和RICIDmax與表中現(xiàn)有記錄的RICID值的列表進行比較(811)。如果它們在按給定規(guī)范制造的設(shè)備組中是唯一的,則通過制造商或OEM把該RICID值存儲在表中(812)。
[0058]參考圖10,示出了說明RICID讀取步驟的流程圖,包括可以用來找到適當(dāng)RICID的特定方式。芯片(900)的輸入接收ΚΕΥκ。初始測試條件應(yīng)用到RICID原先從其收集的片段,以期望陣列將沒有失敗單元(901)。如果它確實有,則芯片被損壞并且不能讀取RICID,因此報告錯誤(920)。如果它沒有,改變VWL電平(或其它適當(dāng)?shù)臏y試參數(shù))(902)直到在芯片上發(fā)生的失敗數(shù)量幾乎等于KEYk,即在比KEYk大或小GB的范圍內(nèi)(903)。如果通過移動規(guī)定的測試參數(shù)不能找到適當(dāng)?shù)氖∮嫈?shù),則不能識別該芯片,并且芯片甚至可能是假冒的芯片(因為真正的芯片會提供對失敗計數(shù)的控制),因此報告錯誤(920)。失敗單元的地址從芯片輸出作為RICIDk(911)。系統(tǒng)(910)接收RICIDk并且檢查在RICIDk中報告的失敗位的數(shù)量是否接近KEYk并且在GB范圍內(nèi)(912)。如果它不是這樣,則芯片是無效的并且報告錯誤(920)。下一步,為存儲的包括RICIDk的RICIDmax值搜索RICID值的表RICIDTBl (913)。否則,該芯片不是設(shè)備組的成員并且可能是贗品,或者它可能是未知來源的,或否則的話是無效的,在這種情況下報告錯誤(920)。否則,RICIDk與表中的值相匹配并且芯片被成功識別(914) ο
[0059]目前使用的說明性芯片被假定為不具有BIST或內(nèi)置VWL調(diào)節(jié)功能。但是,這些功能可以通過ATE通信利用存儲器陣列在DMA模式中模擬。通過以2mV的步進遞增應(yīng)用到存儲器陣列的VWL值,優(yōu)選地為32個eDRAM陣列收集RICID,以收集預(yù)定數(shù)量的失敗。對于目前的說明性演示,選擇了 4Kb的陣列區(qū)域。在15% GB范圍內(nèi)具有最多100位的RICID是通過移動VWL值從每一個芯片中收集的,并且通過確認從芯片中獲得10個失敗位以及確認原先的RICID中發(fā)生相同的失敗,為所選擇的陣列區(qū)域驗證RICID。下一步,利用25、50和75的樣本KEYk請求識別芯片。利用這些到模擬的BIST的輸入,確認芯片可以利用原先記錄的RICIDm的子集被唯一識別。
[0060]參考圖11,說明了對32個芯片的硬件結(jié)果。用于跨不同ID尺寸的單一芯片的位圖集合(1101)示出了對于4Kb區(qū)域的從一個ID到下一個跟蹤的失敗(1102)。圖(1110)描繪了在Monte Carlo模擬中和在硬件中,對于第一芯片的RICIDmax = 100和同一芯片的KEYe = 50的任意組合,在失敗向量中呈現(xiàn)的最多5個普通位。
[0061]參考圖12,說明了用于所有RICIDmax向量對的漢明距離分布,其中所有RICIDmax向量對是通過Monte Carlo模擬(1201)和實驗性地利用硬件(1202)產(chǎn)生的。優(yōu)選地,兩組向量優(yōu)選地具有從86到100范圍的j和對RICIDmax來說等于94.8的平均失敗數(shù)量。對于模擬結(jié)果漢明距離的平均數(shù)和σ是94.7和2.8,并且對于實驗的結(jié)果是94.6和3.0。在正常分位數(shù)圖中,距離通常分布在95 %的置信度范圍內(nèi)。
[0062]本發(fā)明可以用硬件、軟件或硬件和軟件的組合實現(xiàn)。本發(fā)明可以以集中的方式在一個計算機系統(tǒng)中實現(xiàn),或以分布式的方式實現(xiàn),其中不同的元件散布在若干個互連的計算機系統(tǒng)上。任何類型的計算機系統(tǒng)一或適合于執(zhí)行本文所描述方法的其它裝置一都是合適的。硬件和軟件的典型組合可以是帶有計算機程序的通用計算機系統(tǒng),當(dāng)所述計算機程序被加載并且執(zhí)行時,控制該計算機系統(tǒng),從而使它執(zhí)行本文所描述的方法。
[0063]本發(fā)明還可以被嵌入在計算機程序產(chǎn)品中,該計算機程序產(chǎn)品包括能夠?qū)崿F(xiàn)本文所描述方法的所有特征,并且當(dāng)其被加載到計算機系統(tǒng)中時,能夠執(zhí)行這些方法。
[0064]本上下文中的計算機程序器件或計算機程序意指一組指令的任意語言、代碼或符號的任意表示,所述指令旨在使具有信息處理能力的系統(tǒng)直接地執(zhí)行特定的功能,或者在轉(zhuǎn)換為另一種語言、代碼、或符號并且/或者以不同的材料形式復(fù)制之后執(zhí)行特定的功能。
[0065]雖然本公開內(nèi)容已經(jīng)關(guān)于其優(yōu)選實施例特定地示出并進行了描述,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在不背離本公開內(nèi)容主旨與范圍的情況下,可以對形式和細節(jié)進行以上及其它改變。因此,本公開內(nèi)容不是要限定到所描述和說明的精確形式與細節(jié),而是落入所附權(quán)利要求的范圍之內(nèi)。
[0066]工業(yè)實用性
[0067]本發(fā)明在集成電路芯片的設(shè)計中找到工業(yè)實用性,以確保提供高安全性和高認證準(zhǔn)確度的芯片識別,并且在種類繁多的電子或電氣裝置中找到應(yīng)用。
【權(quán)利要求】
1.一種用于識別具有存儲器陣列400的芯片的方法,包括: a)利用計算機,確定所述存儲器陣列的本征參數(shù)255; b)產(chǎn)生所述存儲器陣列的、用于產(chǎn)生第一身份(ID)二進制串275和第二身份(ID) 二進制串290的窗口地址位置260,并且在所述存儲器陣列上迭代測試,直到達到預(yù)定的失敗計數(shù)265;以及 c)比較所述第一ID 二進制串與所述第二 ID 二進制串,其中如果所述第一二進制串包括所述第二串的所有失敗存儲器地址,則所述第一二進制串和第二二進制串變成所述芯片身份。
2.如權(quán)利要求1所述的方法,還包括選擇所述存儲器陣列的新窗口地址位置,隨后重復(fù)步驟b)到c),直到獲得所述芯片身份。
3.如權(quán)利要求1所述的方法,還包括利用保留失敗產(chǎn)生本征ID二進制串。
4.如權(quán)利要求3所述的方法,其中所述保留失敗由至少兩個測試參數(shù)控制,其中至少兩個所述本征芯片ID串是依賴于所述測試參數(shù)產(chǎn)生的。
5.如權(quán)利要求3所述的方法,還包括利用保留暫停時間或字線(WL)低電壓來產(chǎn)生所述保留失敗的控制。
6.如權(quán)利要求5所述的方法,其中暫停時間和所述WL電壓是利用內(nèi)置自測引擎來調(diào)節(jié)的,其中失敗的數(shù)量滿足由相應(yīng)的密鑰定義的失敗目標(biāo)。
7.如權(quán)利要求1所述的方法,還包括驗證以確認第一ID位串包括第二 ID位串。
8.如權(quán)利要求1所述的方法,還包括把所述ID存儲在數(shù)據(jù)庫中作為用于認證的芯片ID,其中所述認證是通過產(chǎn)生帶有中間條件的第三ID來啟用的,其中所述第一 ID位串包括所述第三ID位串,并且所述第三位串包括所述第二 ID位串。
9.如權(quán)利要求8所述的方法,其中所述中間條件具有第三密鑰,其中所述第三密鑰作為動態(tài)密鑰在每次認證改變。
10.如權(quán)利要求8所述的方法,其中所述中間條件還包括消除所述第一ID生成邊界和第二 ID生成邊界附近的位不穩(wěn)定性的保護帶。
11.如權(quán)利要求8所述的方法,其中所述中間條件在每一個ID讀取操作改變,從而導(dǎo)致安全識別。
12.如權(quán)利要求3所述的方法,其中所述本征芯片ID二進制串利用第一測試參數(shù)和第二測試參數(shù)分別產(chǎn)生所述第一 ID串和第二 ID串,其中所述第一測試參數(shù)是比所述第二測試參數(shù)產(chǎn)生更多失敗的條件。
13.如權(quán)利要求1所述的方法,其中所述第一ID 二進制串和第二 ID 二進制串生成是通過應(yīng)用相應(yīng)的兩個固定密鑰啟用的。
14.如權(quán)利要求13所述的方法,其中所述固定密鑰中的兩個包括有關(guān)所述本征芯片ID的所述預(yù)定失敗計數(shù)的信息。
15.如權(quán)利要求1所述的方法,其中所述隨機本征芯片ID生成采用在動態(tài)隨機存取存儲器(DRAM)中實現(xiàn)的保留失敗簽名。
16.如權(quán)利要求1所述的方法,其中所述隨機本征芯片ID生成采用在靜態(tài)隨機存取存儲器(SRAM)中實現(xiàn)的交叉耦合單元失敗簽名。
17.如權(quán)利要求16所述的方法,其中所述交叉耦合單元失敗是通過改變耦合到交叉耦合單元的第一電壓、耦合到字線電壓的第二電壓、耦合到位線均衡器的第三電壓、通過所述位線均衡器耦合到位線的第四電壓、或任意組合的所述電壓來創(chuàng)建的。
18.—種用于識別芯片620的方法,包括: a)存儲第一ID 二進制串275和第二 ID 二進制串290,其中所述第一 ID 二進制串包括所述第二 ID 二進制串的所有位;以及 b)通過從芯片讀取第三ID二進制串并且從儲存裝置中搜索滿足第一 ID 二進制串包括第三ID 二進制串并且第三ID 二進制串包括第二 ID 二進制串的第一和第二 ID 二進制串集合,來進行認證以識別相應(yīng)的芯片。
19.如權(quán)利要求18所述的方法,其中從所述芯片讀取的所述第三ID在每個連續(xù)認證事件改變。
20.一種機器可讀的非臨時性程序存儲設(shè)備,有形地體現(xiàn)為機器可執(zhí)行的指令的程序,以執(zhí)行用于識別具有存儲器陣列400的芯片的方法步驟,所述方法步驟包括: a)利用計算機,確定所述存儲器陣列的本征參數(shù)255; b)產(chǎn)生所述存儲器陣列的、用于產(chǎn)生第一身份(ID)二進制串275和第二身份(ID) 二進制串290的第一窗口地址位置,并且在所述存儲器陣列上迭代測試,直到達到預(yù)定的失敗計數(shù)265;以及 c)比較所述第一 ID 二進制串與所述第二 ID 二進制串,其中如果所述第一二進制串包括所述第二串的所有失敗存儲器地址,則所述第一二進制串和第二二進制串變成所述芯片身份。
【文檔編號】G06F21/73GK103946854SQ201280057317
【公開日】2014年7月23日 申請日期:2012年9月13日 優(yōu)先權(quán)日:2011年11月22日
【發(fā)明者】D·J·費恩斯坦, A·塞斯特羅, S·S·伊耶, 桐畑外志昭, N·W·羅伯森, S·羅塞恩布拉特 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1