基于SOPC高密度固態(tài)存儲系統(tǒng)的研究與實現(xiàn)
出處:微計算機信息 發(fā)布于:2009-07-20 17:01:27
摘要:針對磁盤及磁盤陣列無法適應沖擊、振動等惡劣環(huán)境下的高速海量數(shù)據(jù)存儲的需要,選用高密度FLASH 卡——SanDisk 的Ultra II CompactFlash(CF)卡組成陣列,采用Altera公司的軟核嵌入式處理器Nios,應用SOPC 技術由單一可編程邏輯器件(FPGA)取代“處理器+FPGA”的系統(tǒng)結構,就擴展容量、提高存儲速度等關鍵技術進行研究,提出解決措施,并給出系統(tǒng)實現(xiàn)方案。
1 引言
星載CCD 相機成像系統(tǒng)中,迫切需要一種容量大、存取速率高、體積小、重量輕、耗電省、可靠性高的數(shù)據(jù)存儲設備。早期星上海量數(shù)據(jù)存儲主要使用磁帶機,直至八十年代末和九十年代初各航天大國才開始研究使用磁盤、磁光盤和固態(tài)記錄器。磁盤和磁光盤比磁帶機使用靈活方便,可以以文件方式隨機存取,記錄密度也比較高,曾一度為許多航天大國所注意,但是由于其與磁帶機一樣有高速轉動部件,影響可靠性。隨著電子技術的發(fā)展,半導體存儲器密度的提高,以DRAM、FLASH 為存儲介質的固態(tài)存儲器,其存儲密度高、無轉動部件、可靠性高、體積小、重量輕,較早期的磁記錄設備更適于應用在航空航天領域,因而逐漸成為空間飛行器的數(shù)據(jù)存儲的主流方案。
由于 DRAM 需要復雜的刷新電路,功耗大,掉電數(shù)據(jù)丟失,不是選擇。FLASH具有容量密度高、存儲非易失性、功耗小等優(yōu)勢特點,適合空間應用,鑒于FLASH 的寫入速度慢、存在無效塊和位差錯等問題,本文選用對此已有較好解決措施的高密度FLASH卡——SanDisk 的Ultra II CompactFlash(簡稱CF 卡)卡作為存儲體,組成陣列,采用Altera公司的軟核嵌入式處理器Nios,應用SOPC 技術由單一可編程邏輯器件(FPGA)取代“處理器+FPGA”的系統(tǒng)結構,針對擴展容量、提高存儲速度等關鍵技術進行研究,提出解決措施,并給出系統(tǒng)實現(xiàn)方案。
2 CF卡的工作原理及其構成大容量存儲器的關鍵問題
SanDisk Ultra II CompactFlash 卡(簡稱CF 卡)是SanDisk 公司生產(chǎn)的一種高速閃存卡,完全符合CFA 標準,其內(nèi)部結構如圖1 所示。SanDisk CF 卡包括兩個基本組成部分:片內(nèi)的芯片控制器和片內(nèi)的存儲模塊,片內(nèi)的存儲模塊以NAND FLASH Memory(閃爍存儲器)為載體存儲數(shù)字信息,片內(nèi)的芯片控制器管理與主機的接口協(xié)議、數(shù)據(jù)存儲、糾錯、故障處理及診斷、電源管理和時鐘控制。SanDisk CF 卡對外ATA 的接口,采用了有效的數(shù)據(jù)保護及糾錯編碼技術,對無效塊進行了映射,并采用動態(tài)Wear-Leveling 算法,解決了NAND FLASH 存在的位差錯、壞塊、磨損均勻化等問題。SanDisk Ultra II CF 卡連續(xù)寫入速度為9MB/s;,連續(xù)讀速度為11.5MB/s;數(shù)據(jù)總線為8 位、16 位可選;容量為4Gbytes。

圖1 SanDisk CF 卡內(nèi)部框圖
2.1 擴展容量
CF 卡的單卡容量為4GB,為實現(xiàn)海量數(shù)據(jù)存儲必須擴展容量。對于如何構成超大容量數(shù)據(jù)存儲系統(tǒng)并對其進行有效管理,采用模塊化處理,將整個存儲區(qū)間分成若干個獨立的存儲模塊,每個可以自行管理。如對于實現(xiàn)64GB 的存儲系統(tǒng),可以采用16 塊CF 卡組成陣列構成系統(tǒng)存儲區(qū),每4 塊組成一個存儲模塊,使用同一地址,可以自行管理存儲、糾錯、容錯、壞塊映射、磨損均勻化等,四個存儲模塊組成系統(tǒng)存儲區(qū)間。
2.2 提高存儲速度
SanDisk Ultra II CF 卡的連續(xù)寫入速度為9MB/s,這樣的寫入速度對于要求高速的應用場合來講是難以滿足的,因此必須采取一定的技術措施。
2.2.1 并行總線技術
并行總線技術亦稱拓寬總線技術,即通過拓寬數(shù)據(jù)總線的寬度實現(xiàn)數(shù)據(jù)宏觀上的并行操作。比如,由四塊8 位數(shù)據(jù)總線的CF 卡組成一個32 位寬的存儲模塊,它們共用相同的控制信號,包括片選信號、讀寫信號、地址信號等。存儲模塊總是被看作一個整體而進行相同的操作,只是數(shù)據(jù)加載的時候是不同的數(shù)據(jù)。這樣,數(shù)據(jù)量將是使用一塊CF 卡時的4倍,所以理論上速度也將是非并行時的4 倍。
2.2.2 并行分路技術
時分多路復用通信,是指各路信號在同一信道上占有不同時間間隙進行通信,具體說,就是把時間分成一些均勻的時間間隙,將各路信號的傳輸時間分配在不同的時間間隙,以達到互相分開,互不干擾的目的。借鑒時分多路復用通信技術,可以將輸入存儲系統(tǒng)的高速數(shù)據(jù)流看作是以傳輸一個字所需的時間為一個時間片,不同的時間片傳輸不同數(shù)據(jù)的時分多路數(shù)據(jù)復用。存儲操作時可以將輸入的數(shù)據(jù)流以時間片為單位進行分路,每一個時間片上的數(shù)據(jù)字分至各路接口邏輯,由各路接口邏輯將數(shù)據(jù)字沿時間軸擴展,達到對CF 卡進行寫操作的時序要求。并行分路原理見圖2 所示,可以看出在每個時間片上各路都在并行存儲,所以在每路存儲一個字所需時間小于4 個時間片的情況下,分4 路并行分路存儲可以實現(xiàn)的速度是每路存儲速度的4 倍。

圖2 并行分路原理圖
2.3 控制模塊的實現(xiàn)
通常存儲系統(tǒng)的控制模塊采用“處理器+FPGA”的系統(tǒng)結構,此結構中處理器與FPGA之間通過電路板上的連線聯(lián)接,不僅影響可靠性,而且處理器與FPGA 之間的傳輸速度受到很大的限制。本文采用Altera 公司的軟核嵌入式處理器Nios,與其它控制邏輯和接口邏輯一起集成于一片高速FPGA 中,這樣不僅提高了系統(tǒng)的可靠性和集成性,而且處理器與其它邏輯之間通過內(nèi)部互連邏輯聯(lián)接,傳輸速度大大提高。
3 SOPC 技術及Nios 處理器簡介
SOPC(System On Programmable Chip)即可編程的片上系統(tǒng),或者說是基于大規(guī)模FPGA 的單片系統(tǒng)。SOPC 技術的目標就是試圖將盡可能大而完整的電子系統(tǒng),包括嵌入式處理器系統(tǒng)、接口系統(tǒng)、硬件協(xié)處理器或加速器系統(tǒng)、DSP 系統(tǒng)、數(shù)字通信系統(tǒng)、存儲電路以及普通數(shù)字系統(tǒng)等,在單一FPGA 中實現(xiàn),具有設計靈活、可裁減、可擴充、可升級、并具備軟硬件在系統(tǒng)可編程的功能,使得所設計的電路系統(tǒng)在其規(guī)模、可靠性、體積、功耗、功能、性能指標、上市周期、開發(fā)成本、產(chǎn)品維護及其硬件升級等多方面實現(xiàn)化。
Nios 嵌入式處理器是FPGA 生產(chǎn)廠商Altera 推出的軟核CPU,是一種面向用戶的,可以靈活定制的通用RISC(精簡指令集架構)嵌入式CPU。Nios 以軟核的方式提供給用戶,并專為在Altera 的FPGA 上實現(xiàn)作了優(yōu)化,用于SOPC 集成,在FPGA 上實現(xiàn)。Nios處理器采用16 位指令集,16/32 位數(shù)據(jù)通道,5 級流水線技術,平均一個時鐘周期處理一條指令,性能高達50MIPS。
4 基于SOPC 高密度固態(tài)存儲系統(tǒng)實現(xiàn)方案
4.1 系統(tǒng)目標
實現(xiàn)存儲速度 60MB/s;
實現(xiàn)存儲容量 32GB;
實現(xiàn)數(shù)據(jù)回放;
4.2 系統(tǒng)組成
根據(jù)系統(tǒng)目標要求,結合關鍵技術的解決方案,系統(tǒng)由控制模塊和存儲區(qū)兩部分組成,系統(tǒng)組成如圖3 所示。

圖3 系統(tǒng)組成框圖
存儲區(qū)
存儲區(qū)由四個存儲模塊組成,每個存儲模塊由兩塊 CF 卡組成。CF 卡選用16 位數(shù)據(jù)總線,兩塊卡并行接在存儲模塊32 位數(shù)據(jù)總線的高16 位和低16 位上,共用相同的地址和控制信號。因兩塊卡并行存取,每個存儲模塊的寫入速度可實現(xiàn)18MB/s。存儲區(qū)容量為32GB。
控制模塊
控制模塊主要由兩部分組成。部分為接口部分,與系統(tǒng)外部的接口——輸入FIFO、輸出FIFO、命令/狀態(tài)寄存器,其功能是完成外部數(shù)據(jù)的接收和發(fā)送、接收外部命令以及向外部發(fā)送狀態(tài)參數(shù);與存儲區(qū)的接口——CF控制1…CF控制4,其功能是完成對各路存儲模塊的讀寫操作。第二部分為控制部分,其功能是初始化存儲區(qū)及接口部分、向各存儲模塊發(fā)送各種命令及發(fā)送和接收數(shù)據(jù)。CPU是整個系統(tǒng)的,負責協(xié)調控制各個模塊的工作。在系統(tǒng)啟動以后,CPU的主要工作有:系統(tǒng)初始化;對數(shù)據(jù)進行編碼變換處理;將數(shù)據(jù)寫入CF卡。系統(tǒng)初始化工作主要進行通用寄存器設置、定時器設置、中斷設置、CF 卡初始化。CPU對外部數(shù)據(jù)按一定格式進行編碼,編碼后的數(shù)據(jù)暫存于外部RAM 中的緩沖區(qū)中。CPU 在主程序中循環(huán)查詢緩沖區(qū)數(shù)據(jù)長度,當數(shù)據(jù)量大于等于512bytes 時,就將512bytes 的數(shù)據(jù)寫入CF 卡的一個扇區(qū)(512bytes/ Sector) 。
4.3 系統(tǒng)工作原理
存儲過程:
系統(tǒng)完成初始化,各存儲模塊完成自檢后處于待命狀態(tài)。CPU 接到外部的存儲命令后,向各存儲模塊發(fā)出寫命令,并給出存儲地址,通知DMA 控制器準備存儲。外部輸入的高速數(shù)據(jù)進入輸入FIFO 緩存,并將數(shù)據(jù)由8 位轉換成32 位,實現(xiàn)降速,由輸入的60MHz降至15MHz。DMA 控制器在各存儲模塊準備好接收數(shù)據(jù)后,將經(jīng)緩存的數(shù)據(jù)以字為單位順序分配給CF 控制1…CF 控制4,由各路CF 控制實現(xiàn)對各路存儲模塊的寫操作,從而實現(xiàn)四路并行同時存儲,每路存儲模塊可實現(xiàn)18MB/s(4.5MHz)的存儲,四路并行同時存儲可實現(xiàn)72MB/s,對于60MB/s 的輸入數(shù)據(jù)可以實現(xiàn)存儲功能。
回放過程:
CPU 接到外部的回放命令后,查找地址索引表,向各存儲模塊發(fā)出讀命令,并給出地址,通知DMA 控制器準備回放。DMA 控制器在各存儲模塊準備好后,按存儲的順序依次向CF 控制1…CF 控制4 加載讀控制信號,由各路CF 控制實現(xiàn)對各路存儲模塊的讀操作,DMA 控制器依次從各路CF 控制的讀數(shù)據(jù)線上取出數(shù)據(jù),合路輸出給輸出FIFO,由輸出FIFO 將數(shù)據(jù)由32 位轉換為8 位輸出,實現(xiàn)回放功能。
5 結束語
本文的創(chuàng)新是通過對用SanDisk Ultra II CF 卡組成陣列構成存儲系統(tǒng)的關鍵技術的研究,提出采用SOPC 技術實現(xiàn)存儲系統(tǒng)的具體方案,本方案集成度高、全固態(tài)、非易失、可靠性高,可以滿足沖擊、振動等惡劣環(huán)境下的高速海量數(shù)據(jù)存儲的需要。
參考文獻:
[1]. CFA datasheet http://m.58mhw.cn/datasheet/CFA+_2327767.html.
[2]. RISC datasheet http://m.58mhw.cn/datasheet/RISC_1189725.html.
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復控制的復合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎知識2025/6/18 16:30:52









