宋 琪,鄒業(yè)楠,李 姍,安軍社,朱 巖
(1.中國科學院 空間科學與應用研究中心, 北京 100190; 2.中國科學院大學, 北京 100190)
?
衛(wèi)星固態(tài)存儲器數(shù)據(jù)容錯設計與機制*
宋琪1,2,鄒業(yè)楠1,2,李姍1,2,安軍社1,朱巖1
(1.中國科學院 空間科學與應用研究中心, 北京 100190; 2.中國科學院大學, 北京100190)
摘要:衛(wèi)星數(shù)據(jù)傳輸系統(tǒng)的可靠性面臨著空間粒子效應、信道干擾等多重威脅。 在介紹數(shù)據(jù)傳輸系統(tǒng)關鍵設備星載大容量固態(tài)存儲器設計與實現(xiàn)的基礎上,從管理信息、數(shù)據(jù)位流、星地鏈路、文件傳輸四個方面構(gòu)建容錯機制,綜合應用漢明編譯碼、RS編譯碼、低密度奇偶校驗碼編碼等數(shù)據(jù)檢糾錯技術,增強存儲器管理信息、存儲數(shù)據(jù)、信道傳輸?shù)娜蒎e性能。在實際型號任務固態(tài)存儲器的基礎上,結(jié)合CCSDS文件傳輸協(xié)議提出基于自動重傳機制的文件可靠傳輸設計,提高數(shù)據(jù)傳輸全流程的容錯性能。固態(tài)存儲器使用多級流水寫入、總線并行擴展等技術,吞吐率理論上接近900Mbps,容量達到256Gb。
關鍵詞:固態(tài)存儲器; 容錯機制; 檢糾錯碼; 自動重傳請求; CCSDS文件傳輸協(xié)議
隨著國內(nèi)航天事業(yè)發(fā)展水平不斷提高,航天器的有效載荷數(shù)量、種類及任務形式越來越豐富,空間平臺數(shù)據(jù)呈現(xiàn)出信源多、數(shù)據(jù)量大、數(shù)據(jù)類型多樣的特點,對衛(wèi)星數(shù)據(jù)傳輸系統(tǒng)的技術水平要求不斷提高。存儲器是航天器數(shù)傳、數(shù)管系統(tǒng)的核心設備之一?;诎雽w工藝固態(tài)存儲器(Solid State Recorder, SSR)具有抗震、容量大、技術儲備豐富[1]的優(yōu)點,已經(jīng)成為航天器存儲設備主流。而基于NAND Flash的大容量固態(tài)存儲器則具有存儲密度高、功耗低、非易失的特點,競爭力強[2]。商用Flash存儲器一般采用硬盤管理技術加Flash轉(zhuǎn)換層(Flash Translation Layer, FTL)的結(jié)構(gòu),可以直接處理串行高級技術附件(Serial Advanced Technology Attachment, SATA)命令[3],但管理復雜、接口速率存在瓶頸,不適合航天任務。航天用SSR一般采用現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)直接控制存儲介質(zhì),提高接口吞吐率,降低系統(tǒng)復雜度,使用多級流水、總線擴展技術,以便獲得更高的性能和可靠性。
國內(nèi)的衛(wèi)星任務使用過多次基于同步動態(tài)隨機存取記憶體(Synchronous Dynamic Random Access Memory, SDRAM)、DARM[4]的SSR,近年來以Flash為主[5]。NASA的Landsat7[6]和后續(xù)2012年的LDCM[7]項目都使用了基于SDRAM的SSR,形成了較為成熟的數(shù)傳系統(tǒng)。當前,如果沒有半導體技術革命性的進展,單個SSR很難保持容量快速提升,現(xiàn)階段對SSR的研究以文件管理和數(shù)傳系統(tǒng)綜合研究為主。
SSR的設計使用較為復雜[8]。根據(jù)衛(wèi)星數(shù)傳系統(tǒng)實際工作模式和需求,介紹基于Flash的星載固態(tài)存儲器設計,分析數(shù)據(jù)容錯機制。為保證任務數(shù)據(jù)的可靠性,針對Flash存儲介質(zhì)可能產(chǎn)生的單粒子效應[9]和介質(zhì)退化效應,采用漢明碼保護存儲器的管理信息,使用交織深度為4的RS編解碼保護數(shù)據(jù)位流。數(shù)據(jù)下行時采用低密度奇偶校驗碼(Low Density Parity Check Code, LDPC)編碼提高星地鏈路信噪比。同時在實際型號固態(tài)存儲器平臺和類文件化管理基礎上,結(jié)合CCSDS文件傳輸協(xié)議[10](CCSDS File Delivery Protocol, CFDP),研究自動重傳(Automatic Repeat-reQuest, ARQ)機制下的文件傳輸容錯。錯誤檢測與糾正(Error Detection And Correction, EDAC)技術與ARQ策略的綜合使用,提高了存儲器的管理信息、數(shù)據(jù)位流、星地鏈路、文件傳輸四個方面的數(shù)據(jù)容錯性能。
1衛(wèi)星SSR的設計及應用工作模式
1.1基于Flash的固態(tài)存儲器基本設計
衛(wèi)星固態(tài)存儲器采用FPGA作為控制器,配有CPU地址管理軟件,其架構(gòu)如圖1所示。FPGA中例化1553B遠程終端IP核[11]進行通信。數(shù)據(jù)吞吐率理論上接近900 Mbps,容量128 Gb/256 Gb/512 Gb可選。
圖1 衛(wèi)星固態(tài)存儲器單板架構(gòu)Fig.1 SSR structure
Flash芯片工作頻率最大為40 MHz,寫入需要300 μs~700 μs編程時間,應用實測為400 μs~500 μs,四級流水寫入可保證整體上無中斷寫入。四倍總線并行擴展將數(shù)據(jù)位寬從8位擴展為32位,將4頁Flash空間視為一個整體“簇”統(tǒng)一操作。對于壞塊管理,包括初始壞塊、編程壞塊、擦除失敗壞塊[12-13],初始壞塊不納入使用。編程壞塊則馬上將下一塊作為替代塊重新寫入數(shù)據(jù)。擦除失敗塊將被標示為初始無效塊等效處理。
1.2類文件化數(shù)據(jù)分區(qū)管理
傳統(tǒng)存儲器將數(shù)據(jù)順序存儲,按存儲地址、時間進行索引。為了提高數(shù)據(jù)的訪問效率,減輕下行信道壓力,對數(shù)據(jù)進行分區(qū)類文件化管理。
如表1所示,F(xiàn)lash使用時將簇使用信息寫入空余區(qū)。FPGA根據(jù)簇信息組織塊信息表送往CPU,CPU以此為基礎進行數(shù)據(jù)分區(qū)管理,并根據(jù)系統(tǒng)運行實時更新。
表1 簇內(nèi)地址內(nèi)容分配表
數(shù)據(jù)寫入流程如圖2所示,數(shù)據(jù)的分區(qū)與物理地址的映射由CPU管理,數(shù)據(jù)流的處理由FPGA實現(xiàn)。數(shù)據(jù)進入存儲器主控FPGA后,經(jīng)合路RS編碼,進入外置SDRAM分通道緩存。外部緩存的通道與分區(qū)一一對應。
圖2 數(shù)據(jù)寫入流程Fig.2 Process of data writing
1.3數(shù)傳系統(tǒng)工作模式
數(shù)傳系統(tǒng)是固態(tài)存儲器的工作平臺,其工作模式和流程,是數(shù)據(jù)可靠性研究的基本條件。
隨著有效載荷數(shù)量和數(shù)據(jù)量的急速增大,分布式、集群式等新的高級存儲架構(gòu)必然需要存儲節(jié)點容量均衡功能,其架構(gòu)如圖3所示。高級均衡模式可應用于節(jié)點容量均衡、異地備份等情景,存儲器內(nèi)的分區(qū)數(shù)據(jù)視作文件,在源節(jié)點與目的節(jié)點之間按照CFDP協(xié)議進行文件傳輸,將舊有數(shù)據(jù)部分搬移到另一存儲單板或存儲節(jié)點上。
圖3 高級存儲架構(gòu)示意圖Fig.3 Advanced SSR structure diagram
2容錯機制的設計及分析
容錯機制從數(shù)據(jù)傳輸系統(tǒng)的各個環(huán)節(jié)入手,綜合采用EDAC技術,保護管理信息、數(shù)據(jù)位流、星地鏈路,同時結(jié)合數(shù)據(jù)的文件化管理,研究CFDP可靠傳輸技術,保護文件傳輸。
2.1基于漢明碼的存儲管理信息容錯設計
存儲器的管理信息存放于Flash的空余區(qū),管理信息在軌可能受單粒子效應等影響產(chǎn)生錯誤,漢明碼能夠有效提高管理信息的可靠性。
在數(shù)據(jù)存儲的過程中,F(xiàn)PGA自動在空余區(qū)加載各簇的“簇標識字”。為避免長時間儲存單粒子翻轉(zhuǎn),采用速度快易實現(xiàn)的(12,8)漢明碼進行保護,能夠通過解碼糾正8位數(shù)據(jù)中的單個錯誤[14]。設原碼信息位為B0~B7,增添的編碼校驗位為Q0~Q3,選用校驗矩陣為
(1)
根據(jù)
HCT=0T
(2)
則校驗位為:
(3)
當存儲節(jié)點上電初始化或者復位時,F(xiàn)PGA遍歷存儲空間所有空余區(qū),讀取簇標識字及與其對應的校驗位R0~R11,根據(jù)校驗矩陣得伴隨向量S為
(4)
則可知伴隨向量對應的出錯位置對應關系如表2所示。
表2 漢明碼譯碼查表
若只估算單粒子翻轉(zhuǎn),邏輯器件低軌出現(xiàn)位錯的概率量級為10-7位/d,中軌的量級為10-6位/d[15]。以此為前提進行測算結(jié)論如圖4所示。
圖4 誤比特率Fig.4 Bit error rate
2.2基于RS編解碼的存儲數(shù)據(jù)位流容錯設計
數(shù)據(jù)位流在衛(wèi)星平臺上可能受到單粒子效應、結(jié)構(gòu)干擾出錯,RS編解碼具有較強的糾錯能力,能夠提高數(shù)據(jù)位流的可靠性。
2.2.1交織RS方案
在Flash空間中可能發(fā)生單粒子翻轉(zhuǎn)造成存儲數(shù)據(jù)位出錯,而且介質(zhì)外置緩存、Flash的I/O接口干擾也有可能帶來突發(fā)錯誤。為了保護數(shù)據(jù),在寫入Flash之前進行RS編碼,讀出Flash時進行解碼糾錯,RS編碼結(jié)構(gòu)如圖5所示。
設計采用的RS(256,252)技術是在標準RS(255,252)碼的基礎上增添一個校驗碼拓展而來,每個碼字由 8 bit組成,將標準RS檢二糾一性能[16]提升到檢二糾二,但代價是當錯誤碼字多于2個時,它不能嚴格標識錯誤。RS編碼交織有利于將錯誤離散化,采用交織深度為4的編碼方案。待存儲的數(shù)據(jù)串并轉(zhuǎn)換為32 位,相同字節(jié)位置的連續(xù)252 Byte作為碼塊的信息元,經(jīng)編碼后增加4個校驗碼元。
圖5 RS編碼結(jié)構(gòu)示意圖Fig.5 RS encoding process
2.2.2RS編譯碼算法簡介
RS(256,252)碼的生成多項式為
P(x)=x8+x4+x3+x2+1
(5)
設編碼后的碼字為
C=[c255c254c253…c2c1c0]
(6)
其中C3,C2,C1為按照RS(255,252)碼生成的對應編碼信息的一般校驗位,C0是擴展奇偶校驗位。設數(shù)據(jù)的錯誤向量為E,則最終讀出得到的碼字V為C與E的模和。
訪問數(shù)據(jù)時,從Flash讀取出來后,經(jīng)譯碼送往輸出緩存,經(jīng)并串轉(zhuǎn)換后從節(jié)點出口輸出。譯碼時計算出E后,與V進行模和,完成糾錯。
V+E=C+E+E=C
(7)
求解錯誤向量E首先需要計算伴隨向量S。
設α是生成多項式P(x)=0的本原元,則所需校驗矩陣為
(8)
所以S=(S0S1S2S3)=VgHT
(9)
(10)
同時可得輔助譯碼參數(shù)
(11)
譯碼策略如表3所示。
表3 RS譯碼策略
若只估算單粒子翻轉(zhuǎn),半導體介質(zhì)低軌出現(xiàn)位錯的概率量級為10-8位/d,中軌的量級為10-7位/d[16]。以此測算結(jié)論,如圖6所示。
圖6 RS碼誤組率Fig.6 RS frame error rate
2.3基于LDPC編碼的星地鏈路容錯設計
星地鏈路傳輸距離遠、信號弱、噪聲大,LDPC能夠有效提高星地鏈路信道信噪比。
當衛(wèi)星過境時,實時/延時數(shù)據(jù)將經(jīng)過LDPC編碼后下行至地面。LDPC具有稀疏矩陣,信道增益強,理論上接近香農(nóng)限,基于可信傳播的迭代譯碼與信道容量只有零點幾個dB的差距。迭代譯碼較為復雜,需要大量的計算和緩存資源,在星上平臺實現(xiàn)譯碼比較困難,一般由地面接收進行譯碼。CCSDS推薦近地通信使用基于LDPC(8176, 7156)改進的LDPC (8160, 7136)碼,兩者的性能相差無幾,但后者的編碼長度是32的整數(shù)倍,更有利于保證數(shù)據(jù)傳輸格式的完整,也便于計算機處理。實際設計中采用LDPC (8160, 7136)增強星地通信可靠性,具體流程如下:
1)接收存儲器來的7136 bits數(shù)據(jù),在之后補充18個‘0’,得到7154 bits序列。
2)LDPC校驗矩陣由32個511×511的循環(huán)方陣Aij組成
(12)
CCSDS給出了標準的循環(huán)矩陣,可得包含有28個循環(huán)矩陣Bij的7154×8176生成矩陣G。
(13)
3) 7154 bits經(jīng)生成矩陣得到8176 bits序列,去掉頭部的18個‘0’,在尾部增添兩個‘0’,得到8160 bits的序列,即為編碼后的序列。
LDPC能夠獲得的信噪比增益與迭代譯碼的迭代次數(shù)有關。CCSDS給出了較為豐富的測試結(jié)果[17]。在同等信噪比下,50次迭代譯碼復雜度高,但誤碼率較10次迭代有明顯降低。
2.4基于CFDP的文件傳輸容錯ARQ策略
提高數(shù)據(jù)可靠性,不僅需要糾錯、抗噪,對數(shù)據(jù)格式完整性的保護同樣重要,使用CFDP可靠傳輸模式能夠有效提高文件傳輸可靠性。
當前我國星上數(shù)據(jù)的存儲、傳輸均采用位流的形式,對存儲管理而言數(shù)據(jù)訪問模式單一,僅能通過指定存儲地址或指定之間進行訪問,導致訪問效率低,管理程度差。特別是航天任務數(shù)據(jù)越來越多越來越復雜,而星地鏈路卻非常有限的情況下,急需提升數(shù)據(jù)綜合管理技術。CCSDS推薦的CFDP協(xié)議是一種針對大誤碼率、大延時鏈路可靠數(shù)據(jù)文件傳輸?shù)臉藴省鹘y(tǒng)的數(shù)據(jù)傳輸沒有實現(xiàn)保證數(shù)據(jù)完整性的機制,所有數(shù)據(jù)按比特流順序傳輸完成,即意味著傳輸完畢。CFDP支持數(shù)據(jù)丟失重傳,針對不同數(shù)據(jù)對完整性的要求不同,按要求完成數(shù)據(jù)傳輸。
CFDP協(xié)議單元實體接收到傳輸文件的指令后,將待發(fā)送文件分為若干數(shù)據(jù)包封裝成PDU。發(fā)送方首先發(fā)送元數(shù)據(jù)包MPDU,包括本次事務ID號、源文件名、目的文件名、文件大小等參數(shù),通知接收方開始傳輸文件,然后發(fā)送文件數(shù)據(jù)PDU。發(fā)送完畢之后,發(fā)送一個文件結(jié)束數(shù)據(jù)包。不需握手,減少了傳輸時延和帶寬資源的浪費。如果接收方接收到了標有新的ID的文件數(shù)據(jù)單元,代表一個新的事務開始。CFDP每一個PDU都含有一個特殊的字段,標明該PDU在待傳文件中的起始偏移地址,接收方通過校驗接收到的PDU的序列字段判斷哪些PDU發(fā)送失敗。
對于可靠文件傳輸,CFDP應用丟失檢測重傳機制來保證文件的完整性和正確性[18],事件流如圖7所示。與傳統(tǒng)ARQ相比,接收端僅對傳輸出錯的PDU向發(fā)送方傳送否定確認信息NAK而不是確認信息ACK,ACK確認信息只用于文件結(jié)尾和結(jié)束。文件傳輸過程一般分為文件傳輸檢測過程和文件延時檢測過程,在文件發(fā)送完畢后再進入文件延時檢測階段,從而降低協(xié)議信令。
圖7 CFDP可靠傳輸事件流Fig.7 Events stream of CFDP reliable transmission mode
3結(jié)論
衛(wèi)星數(shù)據(jù)傳輸系統(tǒng)有著獨特的工作模式,其傳輸速度、數(shù)據(jù)可靠性等性能需要SSR整體配合。SSR數(shù)據(jù)傳輸處理采用多種EDAC組合提高數(shù)據(jù)可靠性。在實際型號任務SSR設計的基礎上,對類文件管理和文件傳輸容錯機制展開進一步研究,以期不斷提高技術應用水平,滿足快速提升的航天任務需求。
參考文獻(References)
[1]陸游游,舒繼武. 閃存存儲系統(tǒng)綜述[J]. 計算機研究與發(fā)展,2013,50(1):49-59.
LU Youyou, SHU Jiwu. Survey on flash-based storage systems[J]. Journal of Computer Research and Development, 2013,50(1):49-59.(in Chinese)
[2]Hsieh J W, Tsai Y L, Kuo T W, et al. Configurable flash-memory management: performance versus overheads[J].IEEE Transactions on Computers, 2008, 57(11): 1571-1583.
[3]張輝,晏益慧,羅宇. 大容量NAND Flash文件系統(tǒng)轉(zhuǎn)換層優(yōu)化設計[J]. 計算機工程與科學,2011,33(4):81-85.
ZHANG Hui, YAN Yihui, LUO Yu. Optimization design of the NAND flash transition layer based on the large-scale NAND flash[J]. Computer Engineering & Science,2011, 33(4): 81-85.(in Chinese)
[4]王芳,李恪. 空間太陽望遠鏡的星載固態(tài)存儲器研制[J]. 電子學報,2004,32(3):472-475.
WANG Fang, LI Ke.Development of onboard solid state recorder for space solar telescope[J]. Acta Electronica Sinica, 2004,32(3):472-475. (in Chinese)
[5]陳斌, 沈衛(wèi)華, 朱巖, 等.嫦娥二號衛(wèi)星大容量存儲器設計[J].航天器工程, 2011,20(5):99-104.
CHEN Bin, SHEN Weihua, ZHU Yan, et al. Design of solid state recorder for chang′e-2 orbiter[J]. Spacecraft Engineering, 2011,20(5):99-104. (in Chinese)
[6]Arvidson T, Goward S N, Gasch J, et al.Landsat-7 long term acquisition plan: development and validation[J]. Photogrammetric Engineering and Remote Sensing, 2006, 72(10): 1137-1146.
[7]姜高珍, 韓冰, 高應波,等. Landsat系列衛(wèi)星對地觀測40年回顧及LDCM前瞻[J]. 遙感學報, 2013,17(5): 1033-1048.
JIANG Gaozhen, HAN Bing, GAO Yingbo,et al. Review of 40-year earth observation with landsat series and prospects of LDCM[J]. Journal of Remote Sensing, 2013, 17(5): 1033-1048. (in Chinese)
[8]高怡禎. 基于閃存的星載大容量存儲器的研究和實現(xiàn)[J]. 電子技術應用, 2003,29(8):75-78.
GAO Yizhen. Research and application of airborne solid state recorder based on flash[J]. Application of Electronic Technique, 2003,29(8):75-78. (in Chinese)
[9]Gaspard N J, Jagannathan S, Diggins Z J, et al. Technology scaling comparison of flip-flop heavy-ion single-event upset cross sections[J]. IEEE Transactions on Nuclear Science, 2013, 60(6):4368-4373.
[10]Pavale S, Unnikrishnan E, Laksminarasimhan P. Design, implementation and performance evaluation of CCSDS CFDP protocol[C]// Proceedings of 2010 IEEE International Conference on Computational Intelligence and Computing Research (ICCIC),IEEE,2010:1-4.
[11]周莉, 安軍社, 謝彥, 等.基于ASIC技術的1553B IP核的設計[J],空間科學學報, 2014,34(1):127-136.
ZHOU Li, AN Junshe, XIE Yan, et al. Design of a 1553B IP core based on ASIC technology[J]. Chinese Journal of Space Science, 2014,34(1):127-136. (in Chinese)
[12]Fabiano M, Furano G. NAND flash storage technology for mission-critical space applications[J]. IEEE Aerospace & Electronic Systems Magazine, 2013, 28(9):30-36.
[13]鄭文靜,李明強,舒繼武. Flash存儲技術[J].計算機研究與發(fā)展,2010,47(4):706-726.
ZHENG Wenjing, LI Mingqiang, SHU Jiwu. Flash storage technology[J]. Journal of Computer Research and Development, 2010,47(4):706-726.(in Chinese)
[14]Rhee S, Kim C, Kim J, et al. Concatenated reed-solomon code with hamming code for DRAM controller[C]// Proceedings of the 2010 Second International Conference on Computer Engineering and Applications-Volume 01,IEEE Computer Society, 2010:291-295.
[15]Xiao Y, Luo C L, Yang C. The comparative analysis of LDPC and RS code[C]// Proceedings of 2011 International Conference on Consumer Electronics, Communications and Networks (CECNet),IEEE, 2011:4510-4513.
[16]賀朝輝. 空間軌道單粒子翻轉(zhuǎn)率預估方法研究[J].空間科學學報, 2001,21(3):66-73.
HE Chaohui.Study of methods for predicting SEU rate in space orbits[J]. Chinese Journal of Space Science, 2001, 21(3): 66-73.(in Chinese)
[17]CCSDS 131. 1-O-2. Low density parity check codes for use in near-earth and deep space applications[S].Consultative Committee for Space Data Systems, Washington DC,USA,2007.
[18]Back W, Lee D C. Expected file delivery time of immediate NAK ARQ in CCSDS file delivery protocol[C]//Proceedings of Aerospace Conference,IEEE,2003,41:503-524.
Design and mechanism of the fault tolerance of solid state recorder
SONGQi1,2,ZOUYenan1,2,LIShan1,2,ANJunshe1,ZHUYan1
(1.Center for Space Science and Applied Research, Chinese Academy of Sciences, Beijing 100190, China;2.University of Chinese Academy of Sciences, Beijing 100190, China)
Abstract:The satellite data transmission system is faced with various threats such as single event upset in semiconductor devices, the transmission noise and so on. The key component of the design and implementation of high-capacity SSR (Solid State Recorder) of the transmission system was introduced, and based on the SSR, a fault tolerance mechanism was proposed to protect management information, data bit stream, satellite-to-ground link and file delivery. The mechanism improved the fault tolerance ability of the management information of SSR, the data in store and the transmission channel with the hamming code, the RS code and the LDPC (Low Density Parity Check Code) encoding. Advanced research of one automatic repeat request method with CFDP (CCSDS File Delivery Protocol) was also proposed based on the SSR of one actual space mission to improve the transmission reliability in file-level. The SSR used 4-pipeline writing and bus expansion techniques to achieve the throughput rate of almost 900Mbps theoretically and the capacity of 256Gb.
Key words:solid state recorder; fault tolerance mechanism; error detection and correction; automatic repeat request; CCSDS file delivery protocol
中圖分類號:TP333
文獻標志碼:A
文章編號:1001-2486(2016)01-101-06
作者簡介:宋琪(1989—),男,山東菏澤人,博士研究生, E-mail:songqi@nssc.ac.cn;朱巖(通信作者),男,研究員,博士,博士生導師,E-mail:zhuyan@nssc.ac.cn
基金項目:中國科學院空間科學戰(zhàn)略性科技先導專項基金資助項目(XDA04060300)
*收稿日期:2015-03-09
doi:10.11887/j.cn.201601017
http://journal.nudt.edu.cn