錢軍琪,穆春林,相 毅
(航空工業西安航空計算技術研究所,陜西 西安 710065)
隨著機載航電系統信息化和集成度的不斷提高,產生的重要數據也與日俱增,這對存儲部件的容量、速度和可靠性提出了更高的要求。同時,國際形勢復雜多變,自主可控是信息安全的前提,堅持自主可控和全國產化設計在信息安全方面意義重大。本文針對高可靠應用場景,提出了一種支持PCIE接口的全國產化高速大容量存儲解決方案。該方案支持NVMe協議,具備掉電保護功能。
NVMe存儲模塊主要由PCIe主控制器芯片、Nand Flash陣列、電源轉換電路以及毀鑰電路組成[2]。主控芯片除了完成與Host NVMe協議規范傳輸數據,還要由FTL完成Flash的管理、讀干擾處理、數據保持、處理磨損平衡及垃圾回收其他算法;電源完成二次轉換,有1.8 V(控制器I/O)、0.9 V(控制器內核)、1.2 V(DDR供電)、2.5 V(DDR供電)和3.3 V(Nand Flash Core)供電;毀鑰電路用于硬件燒毀Nand Flash。NVME存儲模塊原理如圖1所示。

圖1 NVME存儲模塊原理
NVME存儲模塊主要由PCIe控制器、Flash存儲陣列、板上DRAM以及HOST接口組成,設計遵循更高的可靠性,元器件100%國產化的設計原則,主要包含NVME控制器電路、存儲電路、電源管理電路和時鐘復位電路,存儲模塊硬件方案如圖2所示。

圖2 NVME存儲模塊硬件方案
PCIe控制器采用28 nm工藝的PCIe控制器(SC6912022),該控制器具有兩個ARM Cortex R4 CPU核,主頻可達600 MHz;支持PCIe Gen3 x4和NVMe 1.3c協議標準,有8個Flash通道,每通道支持8CE;支持ONFI和Toggle接口Flash;最大讀速度可達3.5 GB/s,最大寫速度可達3.4 GB/s;FTL支持壞塊管理、磨損均衡、ECC糾錯、Trim、垃圾回收、SMART等功能;工作溫度范圍-55~+90 ℃。主控制器接口如圖3所示。

圖3 主控制器芯片原理
存儲器電路主要包含系統DDR4存儲器和數據存儲NAND FLASH存儲器。存儲模塊的DDR提供了FTL映射表緩存、數據緩存的功能,供主控制器高速地完成邏輯地址與Flash頁地址、塊地址、CE、通道之間的轉譯工作,從而實現高速數據讀寫。此外,DDR中還會緩存高速讀寫的有效數據,以緩解主機IO與盤之間的時序壓力。模塊采用兩顆大容量的DDR4 DRAM芯片,滿足高性能、大數據吞吐的需求[3-4]。
存儲模塊共使用16片Nand Flash,器件選用國產大容量、高性能、高可靠性的NAND Flash存儲器產品。該存儲器采用3D NAND Flash工藝,兼容ONFI 4.0 標準,支持SDR、NV-DDR2、NV-DDR3接口標準,通過復用的8bit數據總線進行命令、地址和數據的傳輸,其最大數據傳輸速率可達800 MB/s。NAND Flash中的每個Die 包含一個邏輯單元塊LUN,其中1個Page包含了16 KBytes數據存儲區和2 048 Bytes冗余存儲區,冗余存儲區通常用來存放糾錯數據。1個Block包含了384Pages,1個Plane包含1 006 Blocks,而一個LUN包含2個Planes,每個Plane都包含了各自的Page和Cache寄存器,在執行Cache編程操作的時候,數據先被寫入Cache 寄存器,然后復制到Page寄存器。當數據被復制到Page 寄存器,則開始向存儲陣列編程,此時Cache寄存器變回空狀態,用戶可以寫入新的Page數據到Cache寄存器中,從而加速編程時間。
存儲器可通過操作命令DAh切換到SLC模式,在SLC模式下工作溫度可滿足-55~+125 ℃,質量等級可滿足GJB7400的N1級要求。
電源管理電路包括掉電保護電路和電源存儲電路。存儲模塊采用5V DC供電,模塊需要電源種類分別為3.3 V,2.5 V,1.8 V,1.2 V,0.9 V,設計采用兩片XC9884QNC、兩片HCE4622和一片HCE4632實現,功耗預計8.9 W。
2.3.1 掉電保護電路
掉電設計依照兩個原則,一是電子盤控制器選用掉電監測芯片用以監測電源波動,實時進行數據存儲。二是增加掉電儲能電路,在斷電瞬間進行數據保存,在保證滿足需求的情況下,盡量減少外圍器件以提高系統可靠性[5]。
儲能電路采用株洲宏達的XC6164掉電保護芯片。XC6164是一款用于端口掉電保持的專用芯片。芯片可以控制能量在系統端和儲能端之間雙向傳輸。此芯片具有過壓、過流、限流和熱關斷等功能。芯片內TVS管對過壓進行泄放,避免高壓引入對設備造成危害。XC6164芯片在瞬態過壓時具有嵌位但不關斷作用,不影響后級負載的運行。儲能工作原理:電子盤上電后,儲能端將輸入的電壓抬高到12 V,儲存在儲能電容中。當斷電后,芯片通過電容放電對后級設備供電,并向控制器發出掉電中斷信號,控制器關閉文件并進行數據保存。
2.3.2 電源轉換電路
電源轉換電路通過5V輸入,實現所需電壓的輸出,主要有NVMe內核電壓(0.9 V)、NVMe控制器電壓(1.2 V)、NVMe控制器IO電壓(1.8 V)、DDR4 DDR_VPP電壓(2.5 V)、Nand Flash IO電壓(1.8 V)、Nand Flash 內核電壓(3.3 V)和DDR4核電壓(1.2 V)。源拓撲結構如圖4所示。
HCE4622 ML是一款完整的雙通道2.5 A輸出DC/DC變換器,采用LGA/BGA封裝。封裝中內置了開關控制器、功率FET、電感器和所有的支撐元件。HCE4622 ML的輸入電壓范圍為3.6~20 V,每路可輸出0.6~ 5.5 V電壓(由單個外部電阻器來設定)。該器件的高效率設計使每個通道能夠提供持續2.5 A、峰值3 A的輸出電流。外部僅需在輸入和輸出外接大容量電容器。
HCE4632 ML/MB是一款超薄的三路輸出降壓型電源模塊穩壓器。HCE4632 ML/MB的輸入電壓范圍為3.6~15 V,雙路輸出VDDQ和VTT的輸出電流±3 A,和1路10 mA低噪聲基準VTTR輸出。VTT和VTTR皆跟蹤并等于VDDQ/2 輸出。HCE4632 ML/MB內置了開關穩壓器、功率FET、電感器和支持組件。此外,該電源模塊也可配置為兩相單路±6 A VTT輸出。僅需在輸入和輸出外接少量的陶瓷電容器即可完成整體的設計。

圖4 存儲模塊電源拓撲結構
存儲模塊具備在緊急情況下銷毀數據功能,模塊的硬銷毀電路采用高壓大電流直接燒毀存儲介質的晶圓,使數據銷毀無法恢復,器件不能再次使用。模塊支持硬銷毀,能夠實現毀鑰電壓16~32 V、總電流0.5 A/1 s的瞬間硬銷毀,實現全部NAND Flash芯片物理銷毀,保證銷毀后數據無法恢復,銷毀時間不超過1 s;外部提供的16~32 V、0.5 A的獨立電源供電,一邊用于給單片機提供3.3 V電源,另一邊為物理燒毀NAND Flash提供大電流電源,銷毀原理如圖5所示。

圖5 硬銷毀設計
通過在Flash的核心電源引腳加載高壓,擊穿Flash的方式進行物理銷毀。盤片上有多片Flash,防止因單片擊穿短路,其他Flash無法銷毀的情況發生,每片Flash的核心電源通過MOS開關分開供電,以便銷毀時逐片銷毀。銷毀控制由MCU完成。
復位電路設計采用RC組合復位電路,由47 μF電容和1 k歐姆電阻組成RC復位電路。主控芯片需要外部提供一個25 M時鐘,模塊設計采用高精度晶體實現。
存儲模塊初始化是指當存儲模塊通過PCIE連接到其他設備時,在PCIE設備被應用系統正確加載后,存儲模塊完成對自身硬件設備的初始化并將設備狀態轉為工作就緒狀態的功能。初始化完成后,可以獲取到存儲模塊的設備ID,主機可根據不同的設備ID加載相應的驅動程序,從而實現不同廠家設備之間的兼容。存儲模塊初始化功能包括PCIE內部存儲空間分配及管理、存儲主控芯片初始化、存儲模塊加載等功能。
當存儲模塊通過PCIE接口初始化完成,可以在系統中看到與存儲相對應的設備文件,在存儲模塊初始化時,會將存儲模塊對應的讀寫接口進行注冊,在通過文件系統或其他接口進行存儲空間讀寫時,驅動層軟件調用已注冊的讀寫接口完成對存儲模塊Flash的讀寫。存儲模塊讀寫流程如圖6所示。

圖6 存儲模塊讀寫數據流程
本文基于主控器+存儲陣列的設計架構,設計了一種全國產化的高可靠存儲設計方案,在滿足高速大容量存儲功能的基礎上,兼顧了性能、體積和功耗的平衡。方案對外接口標準統一,適配性強;對外可根據不同需求,裁剪NAND Flash容量和毀鑰電路,滿足定制化需求和加固性需要。該方案適用于不同場景的不同需求,具備靈活性和兼容性。