與fpga結合的flash芯片及指令處理方法
【技術領域】
[0001]本發明涉及芯片技術領域,特別是涉及一種與FPGA結合的FLASH芯片及指令處理方法。
【背景技術】
[0002]RPMC (Replay Protect1n Monotonic Counter,應答保護單調計數器)是 Intel 主推的基本輸入輸出系統(Basic Input-Output System, B1S)芯片的一個新功能。它包含一個大容量的Flash芯片和RPMC電路。其中,Flash芯片的容量為8M、16M、32M、64M、128M、256M或者更高,用來存儲CPU B1S的代碼和數據;RPMC電路保證讀寫數據的機密性和完整性。RPMC電路與其集成的FLASH —起構成了個人計算機(Personal Computer, PC)系統中B1S的硬件平臺。
[0003]在設計具有RPMC功能的FLASH芯片時,設計者通常會把大容量Flash和RPMC集成在一個芯片上,即RPMC電路和Flash —起設計。
[0004]但是,這種設計方法存在以下缺點:由于需要將FLASH和RPMC集成在一個芯片上,因此單片芯片的面積大、封裝成本高,導致設計成本較高;并且RPMC電路和FLASH —起設計,導致芯片設計復雜度高、設計周期長;芯片在一個時刻只能做一種操作;另外,芯片的重復利用性差,功能升級困難,并且該芯片的Flash的容量不可擴展。
[0005]因此,本領域技術人員迫切需要解決的問題之一在于,提出一種與FPGA結合的FLASH芯片及指令處理方法,用以解決設計復雜度高,設計周期長,設計成本高,通用性弱,工作效率低等問題。
【發明內容】
[0006]本發明所要解決的技術問題是提供一種與FPGA結合的FLASH芯片及指令處理方法,用以解決設計復雜度高,設計周期長,設計成本高,通用性弱,工作效率低等問題。
[0007]為了解決上述問題,本發明公開了一種與FPGA結合的FLASH芯片,包括:
[0008]現場可編程門陣列FPGA,第一存儲芯片Flash-Ι,以及,第二存儲芯片Flash-2 ;所述FPGA中設置有應答保護單調計數器RPMC及配置信息;所述第一存儲芯片Flash-1中存儲有所述RPMC的值,其中,
[0009]所述Flash-1和所述FPGA各自包括內部10引腳,所述Flash-1的內部10引腳與所述FPGA的內部10引腳互連,所述FPGA與所述Flash-1之間通過互連的內部10引腳對進行內部相互通信;
[0010]所述FPGA與所述Flash-2中相同的10引腳相連,并且連接到所述芯片的同一外部共享引腳上;
[0011 ] 外部指令通過所述芯片的外部共享引腳傳輸到所述Flash-2與所述FPGA中;外部指令通過所述芯片的外部共享引腳傳輸到所述Flash-2與所述FPGA中,所述Flash-2與所述FPGA分別判斷是否執行所述外部指令;
[0012]其中,所述外部指令包括RPMC驗證指令;若所述外部指令為所述Flash-2無法識別的RPMC驗證指令,則所述FPGA依據配置信息與所述RPMC的值生成第一 RPMC驗證值,并判斷是否與所述RPMC驗證指令中的第二 RPMC驗證值一致;若不一致,則所述芯片為非法芯片。
[0013]優選地,當通過外部共享引腳接收到外部指令時,所述FPGA通過與所述Flash-1之間互連的內部1引腳通知將所述RPMC的值加I。
[0014]優選地,所述外部指令包括RPMC更新指令;
[0015]當通過外部共享引腳接收到外部指令為所述Flash-2無法識別的RPMC更新指令,則所述FPGA通過與所述Flash-1之間互連的內部1引腳通知依據RPMC更新指令對所述RPMC的值進行更新。
[0016]優選地,所述Flash-1及所述Flash-2為NOR型非易失性存儲器N0R_Flash、NAND型非易失性存儲器NAND-Flash,或者,電可擦只讀存儲器EEPR0M。
[0017]優選地,所述FPGA中還存儲有糾錯碼ECC,和/或,壞塊管理BBM。
[0018]本發明實施例還公開了一種與FPGA結合的FLASH芯片外部指令處理的方法,所述芯片包括現場可編程門陣列FPGA,第一存儲芯片Flash-Ι,以及,第二存儲芯片Flash-2 ;所述FPGA中設置有應答保護單調計數器RPMC及配置信息;所述第一存儲芯片Flash-1中存儲有所述RPMC的值,所述的方法包括:
[0019]接收外部指令;
[0020]若所述外部指令為RPMC驗證指令,則獲取所述配置信息及RPMC的值;
[0021 ] 依據所述配置信息與RPMC的值生成第一 RPMC驗證值;
[0022]判斷所述第一 RPMC驗證值與所述RPMC驗證指令中的第二 RPMC驗證值是否一致;若不一致,則判定所述芯片為非法芯片。
[0023]優選地,所述的方法還包括:
[0024]當接收到所述外部指令時,所述RPMC的值加I。
[0025]優選地,所述的方法還包括:
[0026]若所述外部指令為RPMC更新指令,則依據所述RPMC更新指令對所述RPMC的值進行更新并存儲。
[0027]優選地,所述的方法還包括:
[0028]在預置的時間段接收到所述RPMC更新指令。
[0029]優選地,所述的方法還包括:
[0030]當接收到多個外部指令時,分別判斷是否執行所述多個外部指令。
[0031]與現有技術相比,本發明包括以下優點:
[0032]1、本發明實施例所提出的與FPGA結合的FLASH芯片可以包括現場可編程門陣列FPGA,第一存儲芯片Flash-Ι,以及,第二存儲芯片Flash-2 ;Flash_l和FPGA各自包括內部1引腳,所述Flash-1的內部1引腳與所述FPGA的內部1引腳互連,所述FPGA與所述Flash-1之間通過互連的內部1引腳對進行內部相互通信;所述FPGA與Flash-2中相同的1引腳相連,并且連接到所述芯片的同一外部共享引腳上;外部指令通過所述芯片的外部共享引腳傳輸到所述Flash-2與所述FPGA中。在具體實現中,還將定期接收到RPMC驗證指令,FPGA依據本地配置以及Flash-1中的RPMC的值生成驗證值,并與RPMC驗證指令中的驗證值進行比對,判斷是否一致,若一致,說明該芯片為合法芯片,可以繼續運行,若不一致,說明該芯片為非法芯片,為了保證數據的機密性和完整性,可以禁止該芯片繼續運行。另外,由于在本發明實施例中可以利用現有的Flash芯片即可實現,并且,不需要像流水線一樣需通過一系列工藝步驟制造芯片,因此,芯片設計復雜度低、設計周期短、成本低。
[0033]2、Flash-1及Flash-2的容量可以擴展,通用性強,例如,可以增加單片Flash的容量,或者將多個Flash封裝在一起。
[0034]3、選擇 Flash-1 及 Flash-2 的自由度高,例如可以選擇 NOR-Flash, NAND-Flash,或者EEPROM等其他存儲器類型芯片。
[0035]4、FPGA可以多次重開發,并且速度快,只需對FPGA開發即可實現算法的升級,成本低。
[0036]5,Flash和FPGA中的RPMC還可以同時執行不同的指令,即Flash和RPMC可以并行工作,因此,提高了芯片的性能。
[0037]6、利用FPGA與通用Flash來實現特殊功能的FLASH芯片,提升了開發速度,降低了開發成本。
【附圖說明】
[0038]圖1是本發明的一種與FPGA結合的FLASH芯片的結構圖;
[0039]圖2是本發明的一種與FPGA結合的FLASH芯片外部指令處理的方法實施例的步驟流程圖。
【具體實施方式】
[0040]為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發明作進一步詳細的說明。
[0041]本發明實施例的核心構思之一在于,與FPGA結合的FLASH芯片包括現場可編程門陣列FPGA,第一存儲芯片Flash-1,以及,第二存儲芯片Flash-2 ;Flash_l和FPGA各自包括內部1引腳,所述Flash-1的內部1引腳與所述FPGA的內部1引腳互連,所述FPGA與所述Flash-1之間通過互連的內部1引腳對進行內部相互通信;所述FPGA與Flash-2中相同的1引腳相連,并且連接到所述芯片的同一外部共享引腳上;外部指令通過所述芯片的外部共享引腳傳輸到所述Flash-2與所述FPGA中。在本發明實施例中可以利用現有的Flash芯片即可實現,并且,不需要像流水線一樣需通過一系列工藝步驟制造芯片,因此,芯片設計復雜度低、設計周期短、成本低。
[0042]參照圖1,示出了本發明一種與FPGA結合的FLASH芯片的結構圖,所述芯片可以包括:
[0043]現場可編程門陣列FPGA,第一存儲芯片Flash-Ι,以及,第二存儲芯片Flash-2 ;所述FPGA中可以設置有應答保護單調計數器RPMC及配置信息;所述第一存儲芯片Flash-1中可以存儲有所述RPMC的值;
[0044]本發明實施例中,Flash-1,Flash-2和RPMC可以是各自獨立的芯片。Flash-1和Flash-2可以選擇不同的容量來滿足不同系統的需求,由于可以復用已設計好的Flash芯片,因此不必重新設計,大大減少了開發周期;FPGA中的設計了 RPMC,故具備了應答保護單調計數的功能,也可以單獨使用。
[00