[發明專利]低成本高可靠的SPI FLASH芯片實現方法及系統有效
| 申請號: | 202210631914.2 | 申請日: | 2022-06-07 |
| 公開(公告)號: | CN114706538B | 公開(公告)日: | 2022-10-04 |
| 發明(設計)人: | 鐘晨曦;魏璽章;楊平;鄭鵬飛 | 申請(專利權)人: | 長沙馭電信息技術有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F11/10;G06F13/42 |
| 代理公司: | 長沙昌恒達專利代理事務所(普通合伙) 43283 | 代理人: | 胡昌國 |
| 地址: | 410205 湖南省長沙市長沙高新開*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 低成本 可靠 spi flash 芯片 實現 方法 系統 | ||
1.一種低成本高可靠的SPI FLASH芯片實現方法,應用于SPI控制器中,其特征在于,包括以下步驟:
將寫過來的數據發送給投票表決控制模塊;
控制投票表決控制模塊將寫過來的數據拷貝到多片民用級SPI FLASH芯片中,并控制投票表決控制模塊讀出多片民用級SPI FLASH芯片寫入的數據,對讀出的數據進行投票表決以選出正確可靠的數據;
控制校驗碼糾檢錯模塊對寫入的數據加上校檢碼后進一步對投票表決后的數據進行檢錯糾錯,使多片民用級SPI FLASH芯片達到軍品級或宇航級SPI FLASH芯片的可靠性;
所述控制投票表決控制模塊將寫過來的數據拷貝到多片民用級SPI FLASH芯片中,并控制投票表決控制模塊讀出多片民用級SPI FLASH芯片寫入的數據,對讀出的數據進行投票表決以選出正確可靠的數據的步驟包括:
發出enable信號控制所述投票表決控制模塊的工作模式;
讀操作的時候,接收所述投票表決控制模塊回傳的投票表決運算,所述投票表決運算由所述投票表決控制模塊從各個民用級SPI FLASH讀出的數據中進行投票表決得出;
所述工作模式包括bypass模式和正常工作模式,所述發出enable信號控制投票表決控制模塊的工作模式的步驟包括:
向投票表決控制模塊發出enable信號,當enable信號被拉低時,則控制所述投票表決控制模塊工作在bypass模式,即所述投票表決控制模塊只跟一個民用級SPI FLASH芯片發生數據通信;
向投票表決控制模塊發出enable信號,當enable信號拉高時,則控制所述投票表決控制模塊工作在正常工作模式,所述投票表決控制模塊將寫入的數據拷貝到所有的民用級SPI FLASH芯片中;
所述民用級SPI FLASH芯片包括第一民用級SPI FLASH芯片、第二民用級SPI FLASH芯片和第三民用級SPI FLASH芯片,所述控制投票表決控制模塊將寫過來的數據拷貝到多片民用級SPI FLASH芯片中,并控制投票表決控制模塊讀出多片民用級SPI FLASH芯片寫入的數據,對讀出的數據進行投票表決以選出正確可靠的數據的步驟中,假設從第一民用級SPIFLASH芯片讀到的數據為A,從第二民用級SPI FLASH芯片讀到的數據為B、從第三民用級SPIFLASH芯片讀到的數據為C,則將從不同民用級SPI FLASH芯片讀到的數據兩兩之間做與運算,并將最后的結果之間做或運算,用公式表達最終輸出的數據result為:
其中,為最終輸出的數據,為從第一民用級SPI FLASH芯片讀到的數據,為從第二民用級SPI FLASH芯片讀到的數據,為從第三民用級SPI FLASH芯片讀到的數據;所述投票表決控制模塊和所述校驗碼糾檢錯模塊為兩種降低單粒子翻轉事件概率的模塊,假設單個民用級SPI FLASH芯片數據出錯的概率是,則經過所述投票表決控制模塊投票表決后的數據出錯概率為:
其中,表示單單經過投票表決控制模塊投票表決后的數據出錯概率,即所述投票表決控制模塊單獨生效時可達到降低單粒子翻轉事件發生概率的能力;為單個民用級SPIFLASH芯片數據出錯的概率;
所述控制校驗碼糾檢錯模塊對寫入的數據加上校檢碼后進一步對投票表決后的數據進行檢錯糾錯,使多片民用級SPI FLASH芯片達到軍品級或宇航級SPI FLASH芯片的可靠性的步驟中,假設單單經過所述校驗碼糾檢錯模塊糾檢錯后的錯誤概率,即所述校驗碼糾檢錯模塊單獨生效時可達到降低單粒子翻轉事件發生概率的能力為,則經過所述投票表決控制模塊的投票表決和所述校驗碼糾檢錯模塊的糾檢錯后,最終數據出錯的概率為:
其中,表示經過投票表決控制模塊的投票表決和校驗碼糾檢錯模塊的糾檢錯后最終數據出錯的概率,即投票表決控制模塊和所述校驗碼糾檢錯模塊共同生效時可達到降低單粒子翻轉事件發生概率的能力為單個民用級SPI FLASH芯片數據出錯的概率;
所述控制校驗碼糾檢錯模塊對寫入的數據加上校檢碼后進一步對投票表決后的數據進行檢錯糾錯,使多片民用級SPI FLASH芯片達到軍品級或宇航級SPI FLASH芯片的可靠性的步驟包括:
當CPU發出指令向民用級SPI FLASH芯片寫入二進制數據,編碼模塊中配置編碼多項式,根據BCH編碼方式:
其中,代表需要傳輸的數據,代表編碼多項式,代表錯誤多項式,代表收到的數據;
假設寫入過程沒有出錯,那么經過校驗碼糾檢錯模塊中的編碼模塊編碼后輸出的數據將被復制為三份后分別寫入三個民用級SPI FLASH芯片中;
當CPU讀取這份數據時,假設其中一個民用級SPI FLASH芯片中存儲的數據發生了翻轉錯誤,則在三份數據通過投票表決控制模塊時,根據BCH編碼方式的計算過程,投票表決控制模塊將會將翻轉的一位數據糾正過來,最終輸出為正確的數據;
假設數據在傳輸的過程中發生了翻轉錯誤,那么當數據經過校驗碼糾檢錯模塊時,校驗碼糾檢錯模塊會把該結果與配置的編碼多項式相除,得到余項;根據在校驗碼糾檢錯模塊中配置好的查找表,查找出與所述余項對應的錯誤多項式,得到正確的數據。
2.一種低成本高可靠的SPI FLASH芯片實現系統,其特征在于,包括SPI控制器(10)、投票表決控制模塊(20)和校驗碼糾檢錯模塊(30),其中,所述SPI控制器(10)包括:
通信傳輸單元(11),用于將寫過來的數據發送給投票表決控制模塊;
第一控制單元(12),用于控制投票表決控制模塊將寫過來的數據拷貝到多片民用級SPI FLASH芯片中,并控制投票表決控制模塊讀出多片民用級SPI FLASH芯片寫入的數據,對讀出的數據進行投票表決以選出正確可靠的數據;
第二控制單元(13),用于控制校驗碼糾檢錯模塊對寫入的數據加上校檢碼后進一步對投票表決后的數據進行檢錯糾錯,使多片民用級SPI FLASH芯片達到軍品級或宇航級SPIFLASH芯片的可靠性;
所述第一控制單元(12)包括:
控制子單元(121),用于發出enable信號控制所述投票表決控制模塊的工作模式;
接收子單元(122),用于讀操作的時候,接收所述投票表決控制模塊回傳的投票表決運算,所述投票表決運算由所述投票表決控制模塊從各個民用級SPI FLASH讀出的數據中進行投票表決得出;
所述控制子單元(121)包括:
第一工作模式切換子單元(1211),向投票表決控制模塊發出enable信號,當enable信號被拉低時,則控制所述投票表決控制模塊工作在bypass模式,即所述投票表決控制模塊只跟一個民用級SPI FLASH芯片發生數據通信;
第二工作模式切換子單元(1212),用于向投票表決控制模塊發出enable信號,當enable信號拉高時,則控制所述投票表決控制模塊工作在正常工作模式,所述投票表決控制模塊將寫入的數據拷貝到所有的民用級SPI FLASH芯片中;
所述第一控制單元(12)中,假設從第一民用級SPI FLASH芯片讀到的數據為A,從第二民用級SPI FLASH芯片讀到的數據為B、從第三民用級SPI FLASH芯片讀到的數據為C,則將從不同民用級SPI FLASH芯片讀到的數據兩兩之間做與運算,并將最后的結果之間做或運算,用公式表達最終輸出的數據result為:
其中,為最終輸出的數據,為從第一民用級SPI FLASH芯片讀到的數據,為從第二民用級SPI FLASH芯片讀到的數據,為從第三民用級SPI FLASH芯片讀到的數據;
所述投票表決控制模塊和所述校驗碼糾檢錯模塊為兩種降低單粒子翻轉事件概率的模塊,假設單個民用級SPI FLASH芯片數據出錯的概率是,則經過所述投票表決控制模塊投票表決后的數據出錯概率為:
其中,表示單單經過投票表決控制模塊投票表決后的數據出錯概率,即所述投票表決控制模塊單獨生效時可達到降低單粒子翻轉事件發生概率的能力;為單個民用級SPIFLASH芯片數據出錯的概率;
所述第二控制單元(13)中,假設單單經過所述校驗碼糾檢錯模塊糾檢錯后的錯誤概率,即所述校驗碼糾檢錯模塊單獨生效時可達到降低單粒子翻轉事件發生概率的能力為,則經過所述投票表決控制模塊的投票表決和所述校驗碼糾檢錯模塊的糾檢錯后,最終數據出錯的概率為:
其中,表示經過投票表決控制模塊的投票表決和校驗碼糾檢錯模塊的糾檢錯后最終數據出錯的概率,即投票表決控制模塊和所述校驗碼糾檢錯模塊共同生效時可達到降低單粒子翻轉事件發生概率的能力為單個民用級SPI FLASH芯片數據出錯的概率;
所述第二控制單元(13),具體用于當CPU發出指令向民用級SPI FLASH芯片寫入二進制數據,編碼模塊中配置編碼多項式,根據BCH編碼方式:
其中,代表需要傳輸的數據,代表編碼多項式,代表錯誤多項式,代表收到的數據;
假設寫入過程沒有出錯,那么經過校驗碼糾檢錯模塊中的編碼模塊編碼后輸出的數據將被復制為三份后分別寫入三個民用級SPI FLASH芯片中;
當CPU讀取這份數據時,假設其中一個民用級SPI FLASH芯片中存儲的數據發生了翻轉錯誤,則在三份數據通過投票表決控制模塊時,根據BCH編碼方式的計算過程,投票表決控制模塊將會將翻轉的一位數據糾正過來,最終輸出為正確的數據;
假設數據在傳輸的過程中發生了翻轉錯誤,那么當數據經過校驗碼糾檢錯模塊時,校驗碼糾檢錯模塊會把該結果與配置的編碼多項式相除,得到余項;根據在校驗碼糾檢錯模塊中配置好的查找表,查找出與所述余項對應的錯誤多項式,得到正確的數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于長沙馭電信息技術有限公司,未經長沙馭電信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210631914.2/1.html,轉載請聲明來源鉆瓜專利網。





