新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 針對Flash存儲特性的航天器大容量固態存儲技術

        針對Flash存儲特性的航天器大容量固態存儲技術

        作者: 時間:2016-10-16 來源:網絡 收藏

        隨著航天任務的不斷豐富、航天探測技術的不斷提高(如探測器種類增多,相機分辨率提高等),中國空間站等重大戰略規劃的逐步實施,空間科技數據的采集速度與存儲總量需求大幅度攀升,對存儲器的容量、吞吐速率、數據管理提出了更高的要求。

        本文引用地址:http://www.104case.com/article/201610/307928.htm

        目前航天器所攜帶的的基本存儲介質以SDRAM和Flash為主,Flash讀寫速度較SDRAM慢、操作復雜,但因為基礎工藝的區別,Flash的存儲密度遠遠超過RAM系列產品,不需要刷新,功耗低,并且擁有非易失存儲特性,在重量、功耗、可靠性極其敏感的航天應用上,Flash將保持巨大的生命力和發展潛力。

        基于Flash的存儲系統主要有固態硬盤和介質直接管理兩種方式。前者目前廣泛應用在筆記本、服務器等商用領域,在存儲設備內部,通過FTL(flash transition Layer,閃存轉換層)的轉換,可處理SATA命令,但在硬件接口及軟件系統方面照搬傳統磁盤管理技術,對存儲特性利用并不充分:硬件SATA接口標準無法滿足性能要求,成為瓶頸;以文件系統為代表的數據管理策略,大都考慮磁盤環境進行優化,Flash的優勢無法充分體現。航天級應用需要采用介質直接管理的方式,針對,從底層進行硬件結構設計,在滿足任務的容量、速度、容錯等關鍵需求的同時,盡量降低系統復雜度,逐步實現數據有效管理策略。

        1 Flash器件的存儲特性介紹

        本文以3D—PLUS公司的NAND型32Gbits(4G×8)Flash疊裝模塊作為存儲介質為例,介紹。

        針對Flash存儲特性的航天器大容量固態存儲技術

        1.1 并行性

        該模塊由8片4G位(512Mbits×8)SAMSUNG公司的NAND Flash芯片疊裝而成,公用對外的8位寬I/O總線。該Flash芯片每2K字節的主存儲區(Main Array)外加64字節的空余區(Spare Array)組成一頁(Page),64頁組成一個塊(Block),4096塊組成一個器件(Device)。

        由于Flash存儲模塊的指令與數據公用I/O端口,對時序要求較為嚴格,但從應用的角度來看,由于各組I/O之間無依賴性,非常容易實現并行擴展。3D plus公司提供的存儲模塊通過簡單的片選邏輯,即可封裝多個Flash存儲芯片。在航天實際任務應用中,我們也可以方便的通過技術,進行擴展,提高速度、提高容量。

        1.2 最小操作單位及編程時間

        寫操作最小單位為“頁”。寫FLASH的過程分為兩步,首先將命令、地址以及數據以字節方式寫入芯片內部緩存(也就是“加載”,最快周期為50 ns)后,芯片內部需要一個內部編程的過程,才可以確定編程是否成功。典型時間tPROG為300μs,最大700μs。在編程過程中,芯片不響應外部命令,極大的降低了Flash的寫入速度,是Flash應用的難點之一。

        讀操作通常也是以頁為單位進行,但相對靈活些,也可以通過在輸入地址過程中直接定位某一字節讀取。在輸入命令和地址后,需要一個等待時間tR后才可以將數據通過讀脈沖讀出。tR最大值為25μs。擦除操作必須以“塊”為單位進行,每次必須同時擦除一個塊內的全部64頁的數據。在擦除的命令和地址輸入后,需要等待時間tBERS后才可以確定擦除是否成功。tBERS的典型時間為2 ms,最大為3 ms。

        1.3 無效塊

        NAND型FLASH芯片的特點是在出廠時就存在一定比例的無效塊(Invalid Block),在芯片的使用過程中,有可能還會有新的無效塊產生,具體表現為在編程或擦除過程中出現編程失敗或擦除失敗的情況。對無效塊的讀操作是允許的,但由于對無效塊的寫和擦除操作應盡量避免。壞塊隨機分布,難以從工藝上根本消除。

        2 航天存儲系統設計及應對技術措施

        2.1 系統設計

        文中以3D—PLUS公司的NAND型32Gbits(4Gbx8)Flash疊裝模塊作為存儲介質,介紹航天實際應用的Flash存儲128Gbits容量方案。存儲控制采用FPGA集成全部控制模塊,負責系統工作流程執行和狀態維護。

        針對Flash存儲特性的航天器大容量固態存儲技術

        在每次系統重新加電后,硬件電路將自動遍歷整個存儲區的簇使用記錄信息,每64簇的簇使用信息組成一條塊信息,全部塊信息構成“塊分配表”,即BAT(Block Assignment Table),包含Flash的當前使用信息,作為存儲狀態控制的依據。硬件初始化結束后,BAT表送往計算機內存,計算機軟件在完成對CPU初始化設置后,進入常規任務管理,包括數據存儲、數據回放、數據讀取、數據擦除。FPGA與計算機通過

        HPI總線通訊,計算機主板通過CAN總線與上位機通訊,實現指令遙控遙測等功能。存儲控制實現以硬件為主,與地面通訊交互功能以軟件為主。

        為了保證存儲數據可靠,實際應用中在存儲控制模塊中對存儲數據進出Flash存儲介質的端口進行RS編譯碼,有效檢錯、糾錯,避免單粒子翻轉造成存儲數據錯誤,并提交檢糾錯信息至遙測工程參數。系統擁有回復出場初始化的命令,當檢測到存儲系統出現較為嚴重的異常時可以恢復存儲系統至出場狀態。同時可以增加存儲電路板備份板,由復接器控制冷備或者熱備,提高系統可靠性。

        針對Flash存儲特性的航天器大容量固態存儲技術

        2.2 技術和“簇”的概念

        疊裝模塊包含8片Flash芯片,公用對外的8位寬I/O總線。128 Gbits配置的存儲區模塊由4個Flash疊裝模塊構成,將4片Flash控制總線、狀態總線互連,而I/O總線擴展為32位,其中4片Flash的8位寬I/O總線分別對應32位總線的不同數據位段。即4片并行的FLASH芯片相同地址的頁被看作一個基本單位,即“簇”,因此1“簇”的基本存儲空間為2 kx32 bits。經擴展后,一簇容量為64 kbits,64簇組成一個塊(Block)。

        4倍總線擴展的系統操作速度將提高為原來的4倍。同時可以非常簡單的進行更多的擴展,但考慮到控制總線的驅動負載能力,更多的并行擴展可能帶來時鐘沿建立時間不穩定,可以使用總線驅動器增強驅動負載能力。

        2.3 技術

        為了提高系統的存儲速度,根據FLASH芯片的操作特點,在對存儲區模塊寫入時還將采用操作的方式。將多片FLASH分成若干組,每次加載(寫)一頁的數據到一組Flash芯片后,該組芯片總要有大約300μs的內部編程時間,在此期間盡管不能對該組芯片進行其它操作,但可以立即進行另一組芯片的加載。如果采用16 MHz的寫時鐘(周期62.5 ns),加載2k數據的時間大約為130μs左右,當第4組芯片加載完畢后,第一組芯片的編程過程通常已經結束,待系統確認后,開始下一個循環。根據寫操作典型事件,本設計采用4級寫操作,便可以基本保證在宏觀上實現對存儲區的全速率無間斷連續數據寫入。圖4為流水線寫操作的原理示意圖。

        針對Flash存儲特性的航天器大容量固態存儲技術

        2.4 壞塊管理

        對于初始無效塊,將被直接跳過,后續數據將被加載到該無效塊在本流水級內后續的第一個有效塊中。如果在使用過程中出現了新增的編程無效簇,該簇所處的塊將被定義為程無效塊,系統將把該塊所在流水級內后續的第一個有效塊作為替代塊,編程出錯的數據將被重新加載至替代塊內的相同偏移頁地址的簇地址空間,該流水級后續的數據將被加載到替代簇地址的后續地址中。

        3 民用的啟示

        民用有兩個特點,一是Flash存儲介質隨著半導體技術的提高密度增加很快,但由于工藝原因,對單粒子效應敏感,密度越大,可能造成的混亂越嚴重,不適用于航天環境。二是存儲管理方式研究較為深入,極大的方便了用戶使用,借鑒意義較大。

        民用Flash存儲系統管理類別較廣,大體分為Flash加速卡、Flash存儲陣列與分布式集群系統,大多關注3個關鍵技術,基于I/O棧調整與重構的存儲性能優化、系統級可靠性、體積與能耗。代表性Flash存儲系統對比見表1。而從航天存儲系統現狀來看,系統軟件層的I/O棧優化尚無必要,而關注全局磨損平衡的系統級可靠性研究參考性較強,體積與能耗的相關考量也有相互借鑒的地方,分布式集群系統的設計思想有一定的啟發性。

        針對Flash存儲特性的航天器大容量固態存儲技術

        系統級可靠性研究中磨損平衡的提出,是由于Flash存儲單元的多次擦除,會削弱其保存電子的性能,使得數據易受干擾。閃存的擦除次數在一萬到十萬次之間,并且隨著存儲密度增加而降低。民用存儲系統一般在FTL內實現磨損平衡策略。動態磨損平衡在擦除與寫入的過程中,綜合考慮存儲單元的磨損程度,實時進行平衡;靜態磨損平衡則是定時交換讀寫頻次低的冷數據與頻次高熱數據的存儲位置,又可分為隨機平衡機制,與基于擦寫次數的平衡機制。

        分布式集群存儲系統的設計與航天應用的流水操作思想較為相似,都有著用空間換取速度的指導思想。不過前是從更高層次進行的整體系統設計,包括系統架構、FTL優化等措施,解決Flash接口速率遠遠小于數據吞吐速率需求的問題,但需要考慮大規模擴展帶來的時延和可靠性問題。分布式集群存儲系統突出特點是擁有良好的擴展性,優化存儲狀態更新查詢方式、選擇相適應的低頻低功耗的CPU,有效降低整體功耗。

        航天科技任務越來越豐富,科學數據的種類與數量不斷增加,對存儲系統數據管理要求也越來越高。相比于航天用存儲系統硬件架構從磁帶機、磁盤到的多次升級,相應的數據管理研究與應用較為落后,如高效壞塊管理、長時間在軌磨損平衡、適應航天綜合電子平臺的文件操作系統等。目前國內外民用基于Flash的固態存儲系統架構與優化技術研究進展較快,也更為豐富,對航天應用具有較強的啟發性。

        4 結束語

        針對,本文以航天任務為背景,提出一種基于直接控制存儲介質的Flash存儲系統。發揮Flash存儲介質并行性的優點,應用擴展技術;針對寫操作編程時間長的問題,合理采用多級流水線技術;針對Flash壞塊現象,采取簡單可靠的壞塊管理策略。并且調研民用Flash存儲技術與設計思想,探討航天存儲技術的研究方向。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南宫市| 马公市| 中宁县| 周宁县| 郎溪县| 弋阳县| 旬邑县| 丽水市| 和平县| 库尔勒市| 孝感市| 会同县| 武冈市| 江达县| 亚东县| 容城县| 和田市| 平山县| 搜索| 岗巴县| 广汉市| 宜城市| 利津县| 宁波市| 舟山市| 轮台县| 张家界市| 上杭县| 北京市| 全州县| 土默特右旗| 介休市| 文昌市| 寻甸| 广水市| 喜德县| 克什克腾旗| 墨玉县| 峨山| 右玉县| 阿城市|