李 姍 , 宋 琪 , 朱 巖 , 安軍社
(1.中國科學院空間科學與應用研究中心 北京 100190;2.中國科學院大學 北京 100049)
“實踐十號”衛星是空間科學先導專項確定擬在 “十二五”期間啟動的五顆科學衛星之一,將利用我國技術成熟的返回式衛星平臺,在空間開展20項微重力和空間生命科學實驗,內容包括微重力流體物理、微重力燃燒、空間材料科學、空間輻射生物學效應、空間重力生物學效應和空間生物技術等6個重要學科方向的科學實驗,是我國到目前為止內容最為豐富的一次空間微重力與生命科學實驗計劃。“實踐十號”衛星在運行過程中將產生大量的圖像數據,具有分辨率高、譜段寬、細節豐富、攜帶信息量大、輸出速率高等特點,對于探測任務具有重大意義。
大容量存儲系統是現代電子系統的重要組成部分,在通信、雷達、航天等領域都有著廣泛的應用[1]。由于太空環境復雜多變,星載大容量存儲系統具有其特殊性[2]。由于過境時間有限,高速、大量的數據需要先在本地存儲,過境時再延時回放。再加上空間環境復雜多變,大容量存儲系統需具有掉電存儲數據,抗輻射以及良好的抗震動能力。數據存儲系統的大容量、高速率、高可靠性、高存儲密度、低功耗、非易失性、低成本以及體系的標準化、模塊化,均是完成未來空間偵察、對地觀測及空間探測任務,圓滿完成的重要保證[3]。
“實踐十號”大容量存儲系統具體設計要求如下:
1)存儲陣列容量 1 TBit;
2)一組LVDS數據接收接口,50 Mbps的接收速率;
3)一組LVDS數據發送接口,300 Mbps的發送速率;
4)一對RS485收發接口,用于收發指令;
“實踐十號”為科學實驗衛星,在軌時間短,成本控制嚴格,測試任務重,數據量巨大。因此,本系統主要芯片都采用國產芯片有效降低成本,使用存儲密度高的NAND FLASH芯片設計大容量存儲器,采用雙冗余熱備份保護措施實現全軌不間斷數據存儲保證數據安全可靠。
系統硬件設計選器件時遵循低成本的要求:CPU使用抗輻射龍芯 WH1770,FPGA使用 ACTEL的 A3PE3000,NAND FLASH芯片使用珠海歐比特公司的VDNF64G08。該芯片單片容量為8G×8bit。該芯片采用3-D封裝技術進行疊裝,以實現更高的存儲密度[4],芯片基本結構為:8個die,每個die包含4 096塊,每塊包含64頁,每頁包含(256K+8K)Byte。傳統的航天任務中使用反熔絲FPGA,這種FPGA的抗輻射能力最好,但是無法反復燒寫。由于本項目執行任務的時間較短受輻射影響較小,所以選用FLASH工藝的FPGA。這款FPGA具有較強抗輻射,可重復擦寫,且在造價上較反熔絲工藝的產品低廉很多。但自帶資源較少,尤其是BLOCK RAM資源非常匱乏,因此需外加存儲芯片。為提高存儲系統響應速率龍芯芯片與FPGA之間使用HPI總線連接。整個系統原理框圖如圖1所示。

圖1 系統原理框圖Fig.1 The system diagram
使用NAND FLASH搭建大容量存儲系統面臨的問題如下:
1)NAND FLASH芯片的寫入時間為最小 25 ns/Byte,但是當一頁數據寫完后即開始編程,編程時間最長為700 ns。
2)NAND FLASH的讀寫操作以頁為單位,擦除操作是以塊為單位的。每塊在寫入數據前必須先全擦除,擦除時間為1.5~2 ms。
3)壞塊是指一個塊內含有一位或多位數據單元無法進行操作的塊單元,分為固有壞塊和使用壞塊[5]。由于成本和工藝限制,出廠時NAND FLASH中會存在一些壞塊,稱為初始壞塊。 NANDFLASH 具有重寫前擦除(Erase-Before-Write)特性,對一塊寫入新數據前必須先進行擦除操作。NAND FLASH擦除次數一般為10-100萬次,超過擦除限制后NAND FLASH會變成壞塊,稱為使用壞塊[6]。
因此,如何提高寫入速度和解決壞塊的問題是大容量存儲系統的核心問題[7]。目前的辦法是使用位擴展以及流水操作提高寫入速度。當位擴展和流水級數的增加都會導致緩存容量增加,FPGA控制管腳增多,控制復雜度升高。經過對本次任務的詳細分析,最終本系統使用32位擴展四級流水操作。通常使用替換的方法處理壞塊,傳統方法中將主存儲區分為數據存儲區和備用存儲區,如數據存儲區出現壞塊則從備份存儲區找塊來替代,并在映射表中進行替換保證邏輯地址連續[8]。備份存儲區大小的選擇目前并無統一標準,使用者根據經驗選擇,備份區過大造成資源浪費,備份區過小則易出現備份區滿壞塊替代混亂。
本系統中使用4級流水、32位擴展的方式管理存儲區,將原有吞吐量提高16倍。該控制方案下,數據同時寫入4個芯片的四塊NAND FLASH,但壞塊位置不一定相同。遵循低成本的要求,本系統使用順延替代,整塊補齊,流水對齊,無縫存儲的壞塊處理方案,靈活高效分配替代塊,充分利用有效空間。具體方案如下:當某流水級寫入遇到壞塊時,順序使用下一塊進行替代,并在映射表中修改地址。替代塊內數據從首頁開始寫入,并將壞塊編程失敗頁記錄。流水級內壞塊數量不一致,為便于管理使用可用塊數量最少的作為流水級間對齊標準。流水對齊后,剩下的未使用塊使用單塊操作存儲大容量存儲器中一些重要參數,如:壞塊表等,進一步提高系統可靠性。
存儲系統接收的數據來自于LVDS接收端口,命令來自于RS485接口。接收到的命令由FPGA傳輸給CPU,由CPU解析后給FPGA發送控制命令,控制輸入數據的寫入以及存儲區內數據的回放下傳。由于LVDS接收端口傳輸的數據速率較快,所以先緩存在SDRAM中,并在FPGA控制下寫入存儲區。因此,存儲系統控制器應包含以下模塊,總體框圖如圖2所示。
1)SDRAM接口控制邏輯,實現對LVDS數據緩沖區的讀寫以及控制;
2)LVDS接口控制器,實現LVDS數據的發送;
3)FLASH控制器,根據CPU指令控制FLASH的讀,寫,擦等操作;
4)寫操作緩存區控制模塊,主要用來存儲要寫入FLASH的數據;
5)讀操作緩存區控制模塊,主要用來緩存從FLASH讀出的數據;
6)CPU交互模塊,從CPU獲得控制命令,控制數據的寫入與讀出;
7)FLASH讀控制器,實現FLASH數據讀出的操作;
8)FLASH寫控制器,實現FLASH數據寫入的操作;
9)FLASH擦控制器,實現FLASH塊得擦除操作;
10)FLASH查詢控制器,實現編程完畢后的寫成功標志的查詢操作;
11)FLASH標記控制器,實現對操作過程中出現的壞塊的標記操作;
12)壞塊表維護模塊,實現實時對壞塊表進行維護;
13)中斷控制器,根據FLASH操作情況,向 CPU申請中斷;
14)DCM模塊,即數字時鐘管理模塊,實現對輸入時鐘的分頻和倍頻操作,為其他模塊提供時鐘信號。

圖2 總體框圖Fig.2 The block diagram of system
文中提出的低成本星載大容量存儲器設計方案充分考慮星載設備的工作環境以及NAND FLASH工作特點,設計出一套應用國產器件,成本低廉,功能優秀的星載大容量存儲方案。針對NAND FLASH單片寫入速度緩慢和存在并且會不斷出現壞塊的問題,提出符合低成本要求的方案。使用流水操作,位擴展的NAND FLASH讀寫控制方法實現系統的高吞吐量;使用順延替代,整塊補齊,流水對齊的替代塊選取方案靈活高效應對已有壞塊以及不斷出現的壞塊;將剩余塊用于單片存儲重要參數,提高存儲空間利用率以及系統可靠性。最終,系統吞吐量峰值達Gbps以上,容量1 Tbyte。
[1]雷磊.NAND型FLASH海量存儲系統的設計與實現[D].北京:北京理工大學,2008.
[2]DKAnand,RBZmood.控制系統導論[M].3版.北京:世界圖書出版公司,2000.
[3]朱巖.基于閃存的星載高速大容量存儲技術的研究[D].北京:空間科學與應用研究中心,2006.
[4]Al-sarawi S F,Abbott D,Franzon P D.A review of 3-D packaging technology[J].IEEE Transactions on Components,Packaging and Manufacturing Technology,1998(21):2-14.
[5]舒文麗,吳云峰,孫長勝,等.基于NAND Flash的海量存儲器的設計[J].電子器件,2012,35(1):107-110.SHU Wen-li,WU Yun-feng,SUN Chang-sheng,et al.Design of huge capacity memory based on NAND flash[J].Chinese Journal of Electron Devices,2012,35(1):107-110.
[6]劉沾沾.閃存存儲管理研究[D].中國科學技術大學,2009.
[7]徐永剛,任國強,吳欽章,等.NAND FLASH圖像記錄系統壞塊管理關鍵技術[J].紅外與激光工程,201204,41(4):1101-1106.XU Yong-gang,REN Guo-qiang,WU Qin-zhang,et al.Key technology of invalid block management in NAND flash based image recorder system[J].Infrared and Laser Engineering,2012,41(4):1101-1106.
[8]史簡,宋智,李國軍.“天繪一號”衛星星務分系統研究與實現[J].遙感學報,2012,16(S1):74-77.SHI Jian,SONG Zhi,LI Guojun.Implementation of mapping satellite-1’s house keeping system[J].Journal of Remote Sensing,2012,16(S1):74-77.