[發(fā)明專利]基于Zynq-7000的片上存儲器抗單粒子翻轉防護方法有效
| 申請?zhí)枺?/td> | 201710485237.7 | 申請日: | 2017-06-23 |
| 公開(公告)號: | CN107291570B | 公開(公告)日: | 2020-01-07 |
| 發(fā)明(設計)人: | 彭喜元;沈露;崔秀海;彭宇;王少軍 | 申請(專利權)人: | 哈爾濱工業(yè)大學 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07;G06F11/20 |
| 代理公司: | 11340 北京天奇智新知識產(chǎn)權代理有限公司 | 代理人: | 陳新勝 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 zynq 7000 存儲器 粒子 翻轉 防護 方法 | ||
本發(fā)明涉及一種基于Zynq?7000的片上存儲器抗單粒子翻轉防護方法,應用于Zynq?7000SoC在空間環(huán)境下的存儲器容錯設計中,其目的是為了解決空間環(huán)境中單粒子翻轉對Zynq?7000芯片內(nèi)部片上存儲器的數(shù)據(jù)可靠性的影響,保障Zynq?7000芯片內(nèi)部雙核處理器之間的正確通信。本發(fā)明結合Zynq?7000芯片的資源特性,采用軟件EDAC方法實現(xiàn)雙核處理器與片上存儲器之間通信的數(shù)據(jù)加固操作,采用軟件中斷方式實現(xiàn)單位錯誤和雙位錯誤的狀態(tài)標記以及單位錯的雙核同步回寫操作,在ARM處理器中實現(xiàn)數(shù)據(jù)的糾一檢二和數(shù)據(jù)回寫功能,從而提高Zynq?7000內(nèi)片上存儲器抗單粒子翻轉能力,為Zynq?7000SoC內(nèi)雙核處理器之間進行數(shù)據(jù)通信的可靠性提供一種重要手段。
技術領域
本發(fā)明涉及軟件方法領域,具體應用于星載系統(tǒng)中,具體是一種基于Zynq-7000的片上存儲器抗單粒子翻轉防護方法。
背景技術
近年來,商用器件(Commercial-off-the-shelf,COTS)因成本低、性能高、不受國外進口限制等特點被越來越多地應用于航天領域中。其中,Xilinx公司的Zynq-7000系列器件將雙核ARM處理器與可編程邏輯、硬IP外設緊密集成,其靈活性和可配置性的完美結合受到小衛(wèi)星領域的廣泛關注,逐步應用于航天領域的工程實踐中。
Zynq-7000SoC PS部分內(nèi)的雙核ARM Cortex-A9處理器可采用非對稱多處理(Asymmetric Multi-core Processor,AMP)機制以并行或冗余的方式執(zhí)行不同的任務,使系統(tǒng)性能實現(xiàn)最大化。Zynq-7000SoC PS部分內(nèi)的片上存儲器(On-Chip Memory,OCM)包含256KB的RAM存儲空間,具有較高的訪問吞吐量,是Zynq-7000SoC片內(nèi)雙核處理器之間進行數(shù)據(jù)交互和資源共享的重要資源媒介。但Zynq-7000作為COTS器件其抗輻射能力較低,其片上存儲器很容易受到對RAM敏感的單粒子翻轉的影響,造成存儲器數(shù)據(jù)狀態(tài)的改變,導致雙核處理器通信的失效,甚至導致星載系統(tǒng)指令或數(shù)據(jù)的失效,引發(fā)系統(tǒng)崩潰。
在星載系統(tǒng)的設計中,不僅要滿足星載系統(tǒng)基本的功能需求,更要考慮星載系統(tǒng)的高可靠性要求。目前,針對單粒子翻轉進行存儲器加固的常用方法是硬件EDAC電路,主要包括處理器自帶EDAC電路和用FPGA實現(xiàn)EDAC電路兩類。其中,處理器自帶EDAC電路通常由芯片的安全等級決定,如宇航級芯片,而Zynq-7000內(nèi)的片上存儲器僅具有奇偶校驗功能,不具備糾錯能力,不滿足星載系統(tǒng)抗單粒子翻轉的需求;用FPGA實現(xiàn)EDAC電路具有設計靈活、可配置的特點,但SRAM型FPGA作為易失性存儲,其自身可靠性存在問題,且最重要的是雙核處理器與片上存儲器已集成在同一芯片中,無法通過外加硬件EDAC電路實現(xiàn)存儲器的加固。
發(fā)明內(nèi)容
為解決傳統(tǒng)硬件EDAC在Zynq-7000內(nèi)片上存儲器OCM加固的局限性,本發(fā)明提供了一種基于Zynq-7000的片上存儲器抗單粒子翻轉軟件防護設計方法,利用Zynq-7000內(nèi)雙核ARM處理器和軟件生成中斷(Software Generate Interrupt,SGI)的資源特性,采用軟件EDAC方法實現(xiàn)OCM的數(shù)據(jù)容錯,保障雙核通信的可靠性。
一種基于Zynq-7000的片上存儲器抗單粒子翻轉防護方法,CPU0或CPU1中的原始數(shù)據(jù)通過軟件EDAC模塊進行編碼操作,寫入到OCM中;OCM中的Hsiao碼數(shù)據(jù)通過軟件EDAC模塊進行解碼操作,被CPU0或CPU1讀取;當數(shù)據(jù)讀取檢測到單位錯或雙位錯時,SGI產(chǎn)生軟件中斷進行雙核同步數(shù)據(jù)回寫或通知CPU0和CPU1進行處理,其特征在于:
A、關鍵變量定義及初始化:將需存儲在OCM且待加固的變量作為關鍵變量,定義關鍵變量的位寬,指定關鍵變量在OCM中的存儲地址,初始化關鍵變量,并對SGI進行使能;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業(yè)大學,未經(jīng)哈爾濱工業(yè)大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710485237.7/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





