集成電路封裝重新配置機構的製作方法
2024-04-15 08:48:05
1.本技術涉及集成電路封裝重新配置機構。
背景技術:
2.集成電路(ic)封裝(諸如片上系統(soc))的配置(或編程)需要存儲配置信息。然而,由於配置信息只能被編程一次,ic封裝目前不能被重新編程。
技術實現要素:
3.提出了一種裝置,包括集成電路ic封裝,集成電路ic封裝包括:多個ic;非易失性存儲器,存儲配置信息,所述配置信息包括定義所述多個ic的操作的設置;以及配置寄存器,從所述非易失性存儲器接收表示所述封裝的最終配置的配置位。
4.還提出了相應的方法、計算機可讀介質、系統和設備。
附圖說明
5.為了能夠詳細理解本發明實施例的上述特徵的方式,可以通過參考實施例來對上述簡要概括的實施例進行更具體的描述,其中一些在附圖中示出。然而,需要注意的是,附圖僅圖示了本發明的實施例的典型實施例,因此不應被認為是對其範圍的限制,因為該實施例可以允許其他同等有效的實施例。
6.圖1圖示了計算設備的一個實施例。
7.圖2圖示了平臺的一個實施例。
8.圖3圖示了對ic封裝進行編程的系統的一個實施例。
9.圖4a是圖示用於對ic封裝進行編程的過程的一個實施例的流程圖。
10.圖4b圖示了ic封裝的配置流程的一個實施例。
11.圖5是圖示用於對ic封裝進行編程的製造重新配置過程的一個實施例的流程圖。
12.圖6圖示了說明性電子計算設備的示意圖的一個實施例。
具體實施方式
13.在以下描述中,闡述了許多具體細節以提供對本發明的實施例的更透徹的理解。然而,對於本領域技術人員顯而易見的是,可以在沒有這些具體細節中的一者或多者的情況下實施本發明的實施例。在其他情況下,未描述眾所周知的特徵以避免導致本發明的實施例不清楚。
14.在實施例中,提供了重新配置ic封裝以修改封裝屬性(例如,庫存單位(sku)屬性)的機構。封裝配置包含在非易失性存儲中,可以對其進行配置和重新配置以修改封裝屬性。
15.對「一個實施例」、「實施例」、「示例實施例」、「各種實施例」等的引用表明,如此描述的一個或多個實施例可以包括特定的特徵、結構或特性,但並非每個實施例都必須包括特定的特徵、結構或特性。此外,一些實施例可以具有針對其他實施例描述的一些、全部特
徵或沒有特徵。
16.在以下描述和權利要求中,可以使用術語「耦合」及其派生詞。「耦合」用於表示兩個或多個元件相互協作或相互作用,但它們之間可能有也可能沒有介入的物理或電氣部件。
17.如在權利要求書中使用的,除非另有說明,否則使用序數形容詞「第一」、「第二」、「第三」等來描述一個共同的元件,僅表示相同元件的不同實例被提及並且並非意在暗示如此描述的元件必須在給定的順序中,無論是時間上的、空間上的、排序上的還是以任何其他方式。
18.圖1圖示了計算設備100的一個實施例。根據一個實施例,計算設備100包括託管集成電路(「ic」)(諸如片上系統(「soc」或「soc」))的計算機平臺,片上系統在單個晶片上集成計算設備100的各種硬體和/或軟體部件。如圖所示,在一個實施例中,計算設備100可以包括任何數量和類型的硬體和/或軟體部件,諸如(但不限於)圖形處理單元114(「gpu」或簡稱為「圖形處理器」)、圖形驅動器116(也稱為「gpu驅動器」、「圖形驅動邏輯」、「驅動邏輯」、用戶模式驅動程序(umd)、umd、用戶模式驅動程序框架(umdf)、umdf,或簡稱為「驅動程序」),中央處理單元112(「cpu」或簡稱「應用處理器」)、存儲器108、網絡設備、驅動程序等,以及輸入/輸出(i/o)源104,諸如觸控螢幕、觸摸面板、觸摸板、虛擬或常規鍵盤、虛擬或常規滑鼠、埠、連接器等。計算設備100可包括用作計算設備100的硬體和/或物理資源與用戶之間的接口的作業系統(os)106。
19.應當理解,對於某些實施方式,比上述示例配備更少或更多裝備的系統可能是優選的。因此,計算設備100的配置可能因實施方式而異,這取決於許多因素,諸如價格限制、性能要求、技術改進或其他情況。
20.實施例可以實現為以下任何一種或組合:使用母板互連的一個或多個微晶片或集成電路、硬連線邏輯、由存儲器設備存儲並由微處理器執行的軟體、固件、專用集成電路(asic)和/或現場可編程門陣列(fpga)。舉例來說,術語「邏輯」、「模塊」、「部件」、「引擎」和「機構」可以包括軟體或硬體和/或其組合,諸如固件。
21.實施例可以使用一個或多個存儲器晶片、控制器、cpu(中央處理單元)、微晶片或使用主板互連的集成電路、專用集成電路(asic)和/或現場可編程門陣列(fpga)來實現。舉例來說,術語「邏輯」可以包括軟體或硬體和/或軟體和硬體的組合。
22.圖2圖示了平臺200的一個實施例,包括類似於上面討論的計算設備100的soc 210。如圖2所示,soc 210包括經由系統架構205耦合的其他計算設備部件(例如,存儲器108和cpu 112)。在一個實施例中,系統架構205包括集成片上系統架構(iosf)以提供標準化的片上互連協議,以用於耦合soc 210內的互連協議(ip)代理230(例如,ip代理230a和230b)。在這樣的實施例中,互連協議提供標準化接口以使第三方能夠設計諸如ip代理的邏輯以併入soc 210中。
23.根據實施例,ip代理230可以包括通用處理器(例如,有序或無序內核)、固定功能單元、圖形處理器、i/o控制器、顯示控制器等。在這樣的實施例中,每個ip代理230包括硬體接口235(例如,235a和235b)以提供標準化以使ip代理230能夠與soc 210部件通信。例如,在ip代理230是第三方視覺處理單元(vpu)的實施例中,接口235提供標準化以使vpu能夠經由架構205訪問存儲器108。
24.此外,soc 210耦合到非易失性存儲器250。非易失性存儲器250可以實現為外圍部件互連高速(pcie)存儲驅動器,諸如固態驅動器(ssd)或非易失性存儲器高速(nvme)驅動器。在一個實施例中,非易失性存儲器250被實現為存儲平臺200固件255。在一個實施例中,soc 210經由串行外圍接口(spi)201耦合到非易失性存儲器250。在這樣的實施例中,soc 210包括耦合在spi 201和系統架構205之間的spi控制器260。在進一步的實施例中,spi控制器260是快閃記憶體控制器,其被實現為用於控制經由spi 201對非易失性存儲器250的訪問。
25.soc 210還包括為soc 210執行各種安全操作(例如,安全處理、密碼功能等)的安全引擎240。在一個實施例中,安全引擎240包括ip代理230,其被實現為執行安全操作。在一個實施例中,安全引擎240是作為信任根(或平臺rot)運行以確保在平臺200上運行的硬體和軟體的完整性(integrity)的密碼處理器。如本文所用,rot被定義為主機內的受信任計算模塊中的一組功能,該模塊始終受主機作業系統(os)的信任。rot充當獨立的計算引擎,諸如安全引擎240,其控制平臺200上的受信任計算平臺密碼處理器。儘管上面參考單個soc210進行了描述,但其他實施例可以實現任何數量的soc 210。
26.soc 210內的部件(例如,cpu 112或一個或多個ip代理230)包括在使用之前必須配置的ic封裝。如上所述,後封裝配置目前涉及在製造期間對熔絲位(fuse bits)進行編程,這定義了封裝在使用時的操作。然而,目前無法修改此封裝配置。隨著封裝複雜性的增加(例如,越來越多的管芯集成到封裝中),報廢封裝的成本也增加,因為封裝中的一個管芯失效會轉化為丟棄具有多個管芯的封裝)。因此,報廢具有工作部件的ic封裝會導致成本顯著增加。
27.根據一個實施例,提供了一種促進ic封裝重新配置的機構。在這樣的實施例中,非易失性存儲器包括在封裝內以存儲配置信息,該配置信息包括被實施以定義ic封裝內的集成電路的操作(例如,在封裝製造工藝期間)的設置。在進一步的實施例中,配置信息包括配置映像,該配置映像用對ic封裝是唯一的加密密鑰加密。在本實施例中,加密密鑰可以僅在從非易失性存儲器讀取之後才被解密。在又一個實施例中,配置映像使用與ic封裝相關聯的私鑰籤名,該私鑰在從非易失性存儲器讀取之後使用與ic封裝相關聯的公鑰進行驗證。在更進一步的實施例中,可以實施不同的密碼算法(或協議)以提供非易失性存儲器的機密性、完整性和重放保護。
28.圖3圖示了包括封裝310和測試系統320的系統300的一個實施例。如圖3所示,封裝310包括多個ic管芯(或ic)312(例如,312a-312n)、非易失性存儲器315、安全引擎314和配置寄存器318。ic管芯312可以表示包括在上面關於圖2討論的soc 210中的部件(例如,cpu、ip、安全引擎等)。
29.非易失性存儲器315被實現為存儲封裝配置信息,該信息包括定義封裝310的操作(例如,封裝310內的ic 312的操作)的設置。在一個實施例中,非易失性存儲器315包括非易失性隨機存取存儲器(nvram)或其他類型的持久性存儲元件。在另一個實施例中,非易失性存儲器315包括複雜可編程邏輯器件(cpld)nvram。配置寄存器318被實現為存儲從非易失性存儲器315接收到的配置位。配置位表示封裝310的最終配置。
30.安全引擎314是為封裝310提供安全性而實施的密碼處理器。在一個實施例中,安全引擎314促進封裝310進入安全模式以確保只有授權用戶有權訪問程序並將配置信息更新(例如,重新配置)到非易失性存儲器315。在這樣的實施例中,使用對封裝310唯一的私鑰
進入安全模式以解鎖封裝310。在一個實施例中,使用秘密解鎖密鑰導出私鑰。此外,公鑰的散列存儲在封裝310中。因此,將重構私鑰以便從測試系統320更新非易失性存儲器315中的產品配置。在進一步的實施例中,用於加密和解密產品配置的高級加密標準(aes)對稱密鑰也存儲在封裝310中。儘管在圖3中顯示為獨立部件,但其他實施例可以在每個ic管芯312內以單獨的安全引擎314為特徵。
31.在系統引導期間,封裝310退出重置並派生其密鑰。隨後,安全引擎314從非易失性存儲器315讀取數據、驗證數據、執行安全檢查,並使用存儲的加密密鑰對其進行解密。然後可以將配置信息作為配置位填充到配置寄存器318中。然後完成重置以允許配置傳播到管芯的其餘部分。
32.測試系統320包括測試程序322,其將封裝配置信息加載到非易失性存儲器315和存儲器325以存儲從高安全模塊(hsm)330接收到的所接收的加密密鑰。在一個實施例中,非易失性存儲器315編程過程類似於重新編程過程。結果,可以實現單個測試程序322來管理原始封裝310編程的安裝以及執行重新配置的編程。
33.hsm 330包括計算設備,該計算設備包括一個或多個密碼處理器,該密碼處理器生成和存儲要在系統300中使用的密碼密鑰。在一個實施例中,hsm 330存儲用於對非易失性存儲器315進行編程的解鎖密鑰。在這樣的實施例中,測試系統320從hsm 330獲取解鎖密鑰以便於對非易失性存儲器315進行編程。因此,非易失性存儲器315不能在沒有經由解鎖密鑰對測試系統320(或任何其他實體)進行驗證的情況下被編程/重新編程,這防止了非易失性存儲器315的未經授權的配置。
34.圖4a是圖示用於對ic封裝進行編程的過程的一個實施例的流程圖。在處理框405處,為封裝生成解鎖密鑰。在一個實施例中,使用從hsm接收到的種子位來生成解鎖密鑰以生成與ic封裝相關聯的唯一密鑰。然而,其他實施例可以實施不同的機構來生成解鎖密鑰。在處理框410處,與ic封裝相關聯的解鎖密鑰和唯一標識符作為解鎖數據被存儲到hsm中以供以後使用。在一個實施例中,處理框405和410僅在ic封裝的原始編程期間執行。
35.在處理框415處,ic封裝被插入到插座中以用於進行配置(或重新配置)。在處理框420處,測試系統從hsm檢索解鎖數據。在處理框425處,測試系統使用解鎖數據來解鎖ic封裝。如上所述,在沒有與ic封裝相關聯的解鎖數據的情況下,測試系統被禁止訪問ic封裝。
36.在處理框430處,測試程序生成用於對ic封裝進行編程的配置映像。在一個實施例中,生成配置映像包括生成融合到ic封裝中的封裝熔絲映像。在重新編程過程中,ic封裝驗證生成的映像的值以確定該值是否等於與先前存儲的映像相關聯的值。在進一步的實施例中,測試程序生成用於非易失性存儲器的配置編程的字符串映像。在這樣的實施例中,測試程序可以在傳輸到ic封裝之前壓縮字符串映像。
37.在處理框435處,配置映像被傳送到ic封裝以用於非易失性存儲器的編程。在處理框440處,ic封裝管理壓縮數據的加密(例如,經由使用aes)。在處理框445處,加密的壓縮數據被存儲在非易失性存儲器中。在處理框450處,驗證非易失性存儲器程序以確認它已被正確編程(例如,確定從非易失性存儲器接收到的配置信息是否匹配由測試系統生成的配置映像)。
38.在一個實施例中,數據從非易失性存儲器傳輸到安全引擎。隨後,安全引擎對數據進行解密和解壓縮,然後將解密/未壓縮的數據傳輸到測試程序,在測試程序中驗證程序以
檢查編程的映像。解密和解壓縮能夠對非易失性存儲器數據進行端到端檢查,以便最終配置到ic封裝的配置寄存器中。在確定非易失性存儲器內的數據不正確時,測試程序可以對非易失性存儲器重新編程。
39.圖4b圖示了ic封裝的配置流程的另一個實施例。如圖4b所示,使用從hsm接收到的種子位為封裝生成解鎖密鑰以生成與ic封裝相關聯的唯一密鑰,並且將解鎖密鑰和與ic封裝相關聯的唯一標識符作為解鎖數據存儲到hsm中以備後用。隨後,測試系統從hsm中檢索解鎖數據,並使用解鎖數據對ic封裝進行解鎖。然後測試程序生成配置映像並將配置映像傳輸到ic封裝以用於對非易失性存儲器的編程。ic封裝管理壓縮數據的加密並將加密的壓縮數據存儲在非易失性存儲器中。最後,驗證非易失性存儲器程序以確認它已被正確編程。
40.圖5是圖示用於對ic封裝進行編程的製造重新配置過程的一個實施例的流程圖。如圖5所示,封裝已組裝、測試配置並放入庫存中。隨後,封裝可以在放入庫存後重新配置。
41.圖6是根據一些實施例的用於實現針對對抗性攻擊的增強保護的說明性電子計算設備的示意圖。在一些實施例中,計算設備700包括一個或多個處理器710,處理器710包括一個或多個處理器內核718和可信執行環境tee 764,該tee包括機器學習服務飛地(mlse)780。在一些實施例中,計算設備700包括硬體加速器768,該硬體加速器包括密碼引擎782和機器學習模型784。在一些實施例中,計算設備將提供針對ml對抗性攻擊的增強保護,如圖1-5中提供的。
42.計算設備700可以另外包括以下中的一個或多個:高速緩存762、圖形處理單元(gpu)712(在一些實現方式中可以是硬體加速器)、無線輸入/輸出(i/o)接口720、有線i/o接口730、存儲器電路740、電源管理電路750、非瞬態存儲設備760和用於連接到網絡772的網絡接口770。以下討論提供了對形成說明性計算設備700的部件的簡要概括描述。示例、非限制性計算設備700可以包括桌面計算設備、刀片伺服器設備、工作站或類似設備或系統。
43.在實施例中,處理器內核718能夠執行機器可讀指令集714、從一個或多個存儲設備760讀取數據和/或指令集714以及將數據寫入一個或多個存儲設備760。相關領域的技術人員將理解,所示實施例以及其他實施例可以用其他基於處理器的設備配置來實踐,所述設備包括可攜式電子或手持電子設備,例如智慧型手機、可攜式計算機、可穿戴計算機、消費電子產品、個人計算機(「pc」)、網絡pc、小型計算機、伺服器刀片、大型計算機等。
44.處理器內核718可以包括任何數量的硬連線或可配置電路,其中一些或全部可以包括部分或全部設置在pc、伺服器或其他能夠執行處理器可讀指令的計算系統中的電子部件、半導體器件和/或邏輯元件的可編程和/或可配置組合。
45.計算設備700包括總線或類似的通信鏈路716,其可通信地耦合併促進各種系統部件之間的信息和/或數據交換,所述系統部件包括處理器內核718、高速緩存762、圖形處理器電路712、一個或多個無線i/o接口720、一個或多個有線i/o接口730、一個或多個存儲設備760和/或一個或多個網絡接口770。計算設備700在本文中可以以單數形式指代,但這並不旨在將實施例限制為單個計算設備700,因為在某些實施例中,可能有不止一個計算設備700併入、包括或包含任意數量的可通信耦合、並置或遠程聯網的電路或設備。
46.處理器內核718可以包括能夠執行機器可讀指令集的當前可用或未來開發的器件的任何數量、類型或組合。
47.處理器內核718可以包括(或耦合到)但不限於任何當前或未來開發的單核或多核
處理器或微處理器,諸如:一個或多個片上系統(soc);中央處理單元(cpu);數位訊號處理器(dsp);圖形處理單元(gpu);專用集成電路(asic)、可編程邏輯單元、現場可編程門陣列(fpga)等。除非另有說明,否則圖6中所示的各種框的構造和操作都是常規設計。因此,本文不需要更詳細地描述這些框,因為它們將被相關領域的技術人員理解。互連計算設備700的至少一些部件的總線716可以採用任何當前可用的或未來開發的串行或並行總線結構或架構。
48.系統存儲器740可以包括只讀存儲器(「rom」)742和隨機存取存儲器(「ram」)746。rom 742的一部分可用於存儲或以其他方式保留基本輸入/輸出系統(「bios」)744。bios 744向計算設備700提供基本功能,例如通過使處理器內核718加載和/或執行一個或多個機器可讀指令集714。在實施例中,一個或多個機器可讀指令集714中的至少一些使處理器內核718的至少一部分提供、創建、產生、轉變和/或用作專用的、特定的和特殊的機器,例如文字處理機、數字圖像採集機、媒體播放機、遊戲系統、通信設備、智慧型手機或類似設備。
49.計算設備700可以包括至少一個無線輸入/輸出(i/o)接口720。至少一個無線i/o接口720可通信地耦合到一個或多個物理輸出設備722(觸覺設備、視頻顯示器、音頻輸出設備、硬拷貝輸出設備等)。至少一個無線i/o接口720可通信地耦合到一個或多個物理輸入設備724(指點設備、觸控螢幕、鍵盤、觸覺設備等)。至少一個無線i/o接口720可以包括任何當前可用的或未來開發的無線i/o接口。示例無線i/o接口包括但不限於:近場通信(nfc)等。
50.計算設備700可以包括一個或多個有線輸入/輸出(i/o)接口730。至少一個有線i/o接口730可通信地耦合到一個或多個物理輸出設備722(觸覺設備、視頻顯示器、音頻輸出設備、硬拷貝輸出設備等)。至少一個有線i/o接口730可通信地耦合到一個或多個物理輸入設備724(指點設備、觸控螢幕、鍵盤、觸覺設備等)。有線i/o接口730可以包括任何當前可用的或未來開發的i/o接口。示例有線i/o接口包括但不限於:通用串行總線(usb)、ieee 1394(「火線」)等。
51.計算設備700可以包括一個或多個通信耦合的非暫時性數據存儲設備760。數據存儲設備760可以包括一個或多個硬碟驅動器(hdd)和/或一個或多個固態存儲設備(ssd)。一個或多個數據存儲設備760可以包括任何當前或未來開發的存儲裝置、網絡存儲設備和/或系統。此類數據存儲設備760的非限制性示例可包括但不限於任何當前或未來開發的非瞬態存儲裝置或設備,諸如一個或多個磁存儲設備、一個或多個光學存儲設備、一個或多個電致電阻存儲設備、一個或多個分子存儲設備、一個或多個量子存儲設備或它們的各種組合。在一些實施方式中,一個或多個數據存儲設備760可以包括一個或多個可移動存儲設備,諸如一個或多個快閃記憶體驅動器、快閃記憶體、快閃記憶體單元或能夠通信地耦合到計算設備700和從其解耦的類似裝置或設備。
52.一個或多個數據存儲設備760可以包括將相應的存儲設備或系統通信地耦合到總線716的接口或控制器(未示出)。一個或多個數據存儲設備760可以存儲、保留或以其他方式包含機器可讀指令集、數據結構、程序模塊、數據存儲、資料庫、邏輯結構,和/或對處理器內核718和/或圖形處理器電路712和/或在處理器內核718和/或圖形處理器電路712上執行或由處理器內核718和/或圖形處理器電路712執行的一個或多個應用有用的其他數據。在一些情況下,一個或多個數據存儲設備760可以通信地耦合到處理器內核718,例如經由總
線716或經由一個或多個有線通信接口730(例如,通用串行總線或usb);一個或多個無線通信接口720(例如,近場通信或nfc);和/或一個或多個網絡接口770(ieee 802.3或乙太網、ieee 802.11或等)。
53.處理器可讀指令集714和其他程序、應用、邏輯集和/或模塊可以全部或部分存儲在系統存儲器740中。這樣的指令集714可以全部或部分地從一個或多個數據存儲設備760傳送。在處理器內核718和/或圖形處理器電路712執行期間,指令集714可以全部或部分地加載、存儲或以其他方式保留在系統存儲器740中。
54.計算設備700可以包括控制能量存儲設備752的一個或多個操作方面的電源管理電路750。在實施例中,能量存儲設備752可以包括一個或多個一次(即,不可充電)或二次(即,可充電)電池或類似的能量存儲設備。在實施例中,能量存儲設備752可以包括一個或多個超電容器或超級電容器。在實施例中,電源管理電路750可以改變、調整或控制從外部電源754到能量存儲設備752和/或到計算裝置700的能量流。電源754可包括但不限於太陽能系統、商業電網、可攜式發電機、外部能量存儲設備或其任何組合。
55.為方便起見,處理器內核718、圖形處理器電路712、無線i/o接口720、有線i/o接口730、存儲設備760和網絡接口770被示為經由總線716彼此可通信地耦合,從而提供上述部件之間的連接。在替代實施例中,上述部件可以以與圖6中所示不同的方式通信地耦合。例如,一個或多個上述部件可以直接耦合到其他部件,或者可以經由一個或多個中間部件(未示出)相互耦合。在另一示例中,一個或多個上述部件可以集成到處理器內核718和/或圖形處理器電路712中。在一些實施例中,可以省略總線716的全部或一部分,並且使用合適的有線或無線連接將部件直接彼此耦合。
56.例如,實施例可以作為電腦程式產品提供,該電腦程式產品可以包括一個或多個暫時性或非暫時性機器可讀存儲介質,該介質上存儲有機器可執行指令,當由諸如計算機的一個或多個機器執行時,計算機或其他電子設備的網絡可以致使一個或多個機器執行根據本文描述的實施例的操作。機器可讀介質可以包括但不限於軟盤、光碟、cd-rom(光碟只讀存儲器)和磁光碟、rom、ram、eprom(可擦除可編程只讀存儲器)、eeprom(電可擦可編程只讀存儲器)、磁卡或光卡、快閃記憶體或其他類型的適合存儲機器可執行指令的介質/機器可讀介質。
57.一些實施例涉及示例1,其包括一種裝置,該裝置包括集成電路(ic)封裝,該集成電路封裝包括多個ic、用於存儲配置信息的非易失性存儲器,該配置信息包括定義多個ic的操作的設置,以及用於接收來自非易失性存儲器的表示封裝的最終配置的配置位的配置寄存器。
58.示例2包括示例1所述的主題,其中,封裝從測試系統接收配置映像。
59.示例3包括示例1和2所述的主題,其中,ic封裝還包括密碼處理器,該密碼處理器用於加密從測試系統接收到的配置信息並將加密的配置信息存儲在非易失性存儲器中。
60.示例4包括示例1-3所述的主題,其中,密碼處理器驗證測試系統以保護對非易失性存儲器的訪問。
61.示例5包括示例1-4所述的主題,其中,密碼處理器從測試系統接收解鎖數據並且響應於接收到解鎖數據而解鎖非易失性存儲器。
62.示例6包括示例1-5所述的主題,其中,解鎖數據包括解鎖密鑰和與ic封裝相關聯
的唯一信息。
63.示例7包括示例1-6所述的主題,其中,密碼處理器接收加密的配置信息以促進配置信息的驗證。
64.示例8包括示例1-7所述的主題,其中,密碼處理器解密加密的配置信息並將配置信息傳輸到測試系統以供驗證。
65.一些實施例涉及示例9,其包括一種方法,包括在集成電路(ic)封裝處從測試系統接收配置信息,其中,配置信息包括定義封裝的操作並將配置信息編程到非易失性存儲器的設置。
66.示例10包括示例9所述的主題,還包括將表示封裝的最終配置的配置位從非易失性存儲器存儲到配置寄存器。
67.示例11包括示例9和10所述的主題,還包括加密配置信息並將加密的配置信息存儲在非易失性存儲器中。
68.示例12包括示例9-11所述的主題,還包括驗證測試系統。
69.示例13包括示例9-12所述的主題,其中,驗證測試系統包括從測試系統接收解鎖數據和響應於接收到解鎖數據而解鎖公鑰。
70.示例14包括示例9-13所述的主題,其中,解鎖數據包括解鎖密鑰和與ic封裝相關聯的唯一信息。
71.示例15包括示例9-14所述的主題,還包括接收加密的配置信息、解密加密的配置信息以及將配置信息傳輸到測試系統以供驗證。
72.一些實施例涉及示例16,其包括至少一種計算機可讀介質,該介質上存儲有指令,當由一個或多個處理器執行時,該指令使處理器從安全處理器接收解鎖數據,使用解鎖數據解鎖集成電路封裝(ic)處的非易失性存儲器,生成配置映像並且利用配置映像作為配置信息對非易失性存儲器進行編程,其中,配置信息包括定義ic封裝的操作的設置。
73.示例17包括示例16所述的主題,當由一個或多個處理器執行時,所述指令還使處理器驗證非易失性存儲器的編程。
74.示例18包括示例16和17所述的主題,其中,驗證非易失性存儲器的編程包括確定從非易失性存儲器接收到的配置信息是否與配置映像匹配。
75.示例19包括示例16-18所述的主題,當由一個或多個處理器執行時,所述指令還使處理器在確定從非易失性存儲器接收到的配置信息沒有匹配配置映像時利用該配置映像對該非易失性存儲器重新編程。
76.示例20包括示例16-19所述的主題,當由一個或多個處理器執行時,所述指令還使處理器存儲解鎖數據。
77.以上已經結合具體實施例對本實施例進行了描述。然而,本領域的技術人員將理解,在不脫離如所附權利要求中闡述的實施例的更廣泛的精神和範圍的情況下,可以對其進行各種修改和改變。因此,前述描述和附圖被認為是說明性的而不是限制性的。