黃斌
(海裝重慶局,重慶400043)
基于Linux的嵌入式高速SAR數(shù)據(jù)存儲(chǔ)技術(shù)?
黃斌
(海裝重慶局,重慶400043)
為了實(shí)現(xiàn)對(duì)SAR原始回波數(shù)據(jù)的實(shí)時(shí)存儲(chǔ),提出了在以PowerPC為硬件核心的嵌入式Linux軟件平臺(tái)上,使用SSD硬盤實(shí)現(xiàn)高速數(shù)據(jù)存儲(chǔ)的方案。采用Linux驅(qū)動(dòng)程序控制SAS硬盤控制器,將SAR原始回波數(shù)據(jù)記錄在SSD硬盤陣列上。模擬實(shí)驗(yàn)測(cè)試中數(shù)據(jù)存儲(chǔ)速度可以達(dá)到200 Mbyte/s。分析了影響數(shù)據(jù)存儲(chǔ)速度的因素,實(shí)驗(yàn)表明該方案可以滿足SAR原始回波數(shù)據(jù)實(shí)時(shí)存儲(chǔ)的要求。
合成孔徑雷達(dá);原始回波數(shù)據(jù);高速數(shù)據(jù)存儲(chǔ);嵌入式Linux;SSD硬盤;SAS控制器
合成孔徑雷達(dá)(SAR)是一種脈沖體制的高分辨率成像雷達(dá),具有全天時(shí)、全天候、側(cè)視成像、分辨率不隨軌道高度變化等優(yōu)點(diǎn),使之成為備受關(guān)注的測(cè)繪和偵察手段。隨著SAR圖像分辨率的提高、測(cè)繪帶寬的增大以及工作模式的增多,SAR原始回波數(shù)據(jù)存儲(chǔ)速度構(gòu)成了制約圖像質(zhì)量和觀測(cè)效率的重要因素。因此,SAR原始回波數(shù)據(jù)記錄速度對(duì)于SAR相關(guān)技術(shù)研究和應(yīng)用有著重要意義[1]。
本文針對(duì)SAR原始回波數(shù)據(jù)高速實(shí)時(shí)存儲(chǔ)的需求,提出了以PowerPC為核心使用SSD硬盤的系統(tǒng)設(shè)計(jì)方案。該方案采用SAS控制器控制SSD硬盤,通過在嵌入式Linux軟件平臺(tái)上開發(fā)驅(qū)動(dòng)模塊,將PCI總線上采集到的回波數(shù)據(jù)不經(jīng)過系統(tǒng)內(nèi)存,以零拷貝的方式直接存儲(chǔ)到SSD硬盤陣列中,有效提高了數(shù)據(jù)的存儲(chǔ)速度。最后對(duì)該存儲(chǔ)方案進(jìn)行了測(cè)試和分析。
目前,在實(shí)際應(yīng)用中,高速實(shí)時(shí)存儲(chǔ)系統(tǒng)的存儲(chǔ)過程一般分為數(shù)據(jù)采集和數(shù)據(jù)存儲(chǔ)兩個(gè)部分。數(shù)據(jù)采集一般負(fù)責(zé)將數(shù)據(jù)采集到數(shù)據(jù)緩存區(qū)中,數(shù)據(jù)存儲(chǔ)負(fù)責(zé)將緩存區(qū)中的數(shù)據(jù)記錄在磁盤陣列中。根據(jù)數(shù)據(jù)采集和數(shù)據(jù)存儲(chǔ)之間軟硬件的實(shí)現(xiàn)方式不同以及存儲(chǔ)過程本身實(shí)現(xiàn)方式不同,數(shù)據(jù)存儲(chǔ)系統(tǒng)可以分為專用型數(shù)據(jù)存儲(chǔ)系統(tǒng)和嵌入式總線型數(shù)據(jù)存儲(chǔ)系統(tǒng)兩種結(jié)構(gòu)形式。
嵌入式總線型存儲(chǔ)系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。圖1中的方式1(細(xì)箭頭)和方式2(粗箭頭)分別代表了存儲(chǔ)系統(tǒng)中兩種不同的數(shù)據(jù)流走向,也代表了兩種不同的總線型數(shù)據(jù)存儲(chǔ)方式[2]。在方式1所代表的存儲(chǔ)方式中,系統(tǒng)內(nèi)存將數(shù)據(jù)采集和數(shù)據(jù)存儲(chǔ)兩個(gè)過程聯(lián)系起來,高速數(shù)據(jù)通過FPGA采集緩存后,由PCI總線送進(jìn)系統(tǒng)內(nèi)存,然后再通過SAS控制器將內(nèi)存中的數(shù)據(jù)寫入SSD磁盤陣列中。從圖1中可看出,數(shù)據(jù)進(jìn)出內(nèi)存都要占用PCI總線,由于PCI總線是一種共享總線,同一時(shí)刻只能有一個(gè)設(shè)備占用總線,因此數(shù)據(jù)采集硬件將外部數(shù)據(jù)送入內(nèi)存的同時(shí),SAS控制器不能將內(nèi)存中的數(shù)據(jù)寫入SSD磁盤陣列,即數(shù)據(jù)采集和數(shù)據(jù)存儲(chǔ)過程不能并行執(zhí)行,只能順序操作,從而使總線的效率降低了一半,進(jìn)而也限制了存儲(chǔ)系統(tǒng)性能的提高[3]。
在方式2所代表的存儲(chǔ)方式中,數(shù)據(jù)不經(jīng)過內(nèi)存,而是在采集和存儲(chǔ)之間建立了直接數(shù)據(jù)傳輸通道,這也是本文所采用的數(shù)據(jù)傳輸方法。這種方法采用映射內(nèi)存以及總線主控技術(shù),SAS控制器為PCI總線的主設(shè)備,而數(shù)據(jù)采集FPGA為從設(shè)備,SAS控制器對(duì)FPGA直接進(jìn)行訪問,這樣數(shù)據(jù)采集和數(shù)據(jù)存儲(chǔ)避開了系統(tǒng)內(nèi)存這一環(huán)節(jié)。這種工作方式有效地縮短了系統(tǒng)的數(shù)據(jù)傳輸路徑,從而在提高系統(tǒng)數(shù)據(jù)傳輸速度的同時(shí)減小了系統(tǒng)延遲和響應(yīng)時(shí)間,獲得了優(yōu)良的性能[4]。該系統(tǒng)實(shí)現(xiàn)方式的關(guān)鍵是如何協(xié)調(diào)FPGA和SAS控制器的工作,這需要軟件對(duì)其進(jìn)行準(zhǔn)確的管理和控制[5]。
本文所介紹的系統(tǒng)采用方式2存儲(chǔ)方式,在嵌入式Linux平臺(tái)上通過Linux驅(qū)動(dòng)模塊來管理SAS控制器完成整個(gè)數(shù)據(jù)存儲(chǔ)過程,存儲(chǔ)過程中PowerPC
負(fù)責(zé)響應(yīng)FPGA發(fā)出的中斷進(jìn)行中斷處理,整個(gè)數(shù)據(jù)存儲(chǔ)過程由SAS控制器通過DMA方式完成。
硬件系統(tǒng)主要由PowerPC處理器、FPGA、SAS硬盤控制器和SSD硬盤陣列組成。PowerPC處理器主要負(fù)責(zé)整個(gè)系統(tǒng)的控制和管理,包括系統(tǒng)內(nèi)存和PCI總線等硬件資源。FPGA主要負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行采集處理,按照一定格式將數(shù)據(jù)存儲(chǔ)到緩存中。FPGA作為PCI總線上的從設(shè)備與系統(tǒng)進(jìn)行交互。SAS硬盤控制器負(fù)責(zé)讀取數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)到SSD硬盤陣列中。SSD硬盤陣列是數(shù)據(jù)的存儲(chǔ)介質(zhì)。硬件系統(tǒng)使用了SSD硬盤,與傳統(tǒng)的機(jī)械硬盤相比它有許多突出的特點(diǎn)。SSD硬盤指使用NAND FLASH組成的固態(tài)硬盤,其特別之處在于沒有機(jī)械結(jié)構(gòu),利用傳統(tǒng)的NAND FLASH特性,以區(qū)塊寫入和擦除的方式作讀寫的功能,具有響應(yīng)時(shí)間短、讀寫效率高、耗電低、耐震、穩(wěn)定性高和耐低溫等優(yōu)點(diǎn)。采用SSD硬盤作為數(shù)據(jù)存儲(chǔ)介質(zhì),使整個(gè)系統(tǒng)具有更好的穩(wěn)定性和適用性。
4.1 U-Boot的移植
嵌入式Linux的運(yùn)行需要一個(gè)Bootloader進(jìn)行引導(dǎo)。本系統(tǒng)使用U-Boot作為L(zhǎng)inux的Bootloader。U-Boot是在Linux內(nèi)核運(yùn)行之前運(yùn)行的一段程序,這段程序完成硬件的初始化和建立內(nèi)存空間的映射圖等重要工作,為內(nèi)核的啟動(dòng)創(chuàng)建正確的環(huán)境,并最終引導(dǎo)啟動(dòng)內(nèi)核。U-Boot在很大程度上是依賴于具體硬件而實(shí)現(xiàn)的,特別是在嵌入式系統(tǒng)中。因此U-Boot除了依賴于CPU的體系結(jié)構(gòu)外,還需要修改其中部分源碼以適應(yīng)具體的嵌入式板級(jí)設(shè)備。
4.2 嵌入式Linux的移植
嵌入式Linux是整個(gè)系統(tǒng)的基礎(chǔ),它為包含在硬件平臺(tái)上的所有底層可編程部件提供服務(wù),并且為運(yùn)行在系統(tǒng)上的應(yīng)用程序提供可執(zhí)行環(huán)境。本系統(tǒng)針對(duì)嵌入式Linux所做的主要工作是針對(duì)具體板級(jí)設(shè)備的硬件驅(qū)動(dòng)進(jìn)行移植和開發(fā),使內(nèi)核能夠進(jìn)行編譯、下載和運(yùn)行。因?yàn)閷?shí)際系統(tǒng)中硬件的配置和嵌入式Linux的默認(rèn)硬件配置有所不同,所以需要修改部分硬件驅(qū)動(dòng)來滿足實(shí)際系統(tǒng)需要。
4.3 高速存儲(chǔ)驅(qū)動(dòng)模塊原理及實(shí)現(xiàn)
4.3.1 塊設(shè)備操作的分層結(jié)構(gòu)分析
要實(shí)現(xiàn)高速存儲(chǔ)Linux驅(qū)動(dòng)模塊,就必須對(duì)Lin-ux內(nèi)核中SCSI設(shè)備的操作機(jī)制進(jìn)行詳細(xì)的分析。圖2是Linux內(nèi)核中SCSI設(shè)備操作的一個(gè)分層實(shí)現(xiàn)圖,主要由虛擬文件系統(tǒng)、文件系統(tǒng)層、通用塊層、I/O調(diào)度程序?qū)?、塊設(shè)備驅(qū)動(dòng)程序和SCSI子系統(tǒng)組成。虛擬文件系統(tǒng)層的作用是屏蔽下層具體文件系統(tǒng)操作的差異,為上層應(yīng)用的操作提供統(tǒng)一的接口。文件系統(tǒng)層的主要作用是針對(duì)不同的文件系統(tǒng)提供不同的文件操作集合。通用塊層作用是接收上層發(fā)出的硬盤請(qǐng)求,經(jīng)過處理后發(fā)出I/O請(qǐng)求,它是塊設(shè)備提供的通用抽象視圖。I/O調(diào)度層的功能是接收通用塊層發(fā)出的I/O請(qǐng)求,緩存請(qǐng)求并試圖按照調(diào)度算法合并相鄰請(qǐng)求。塊設(shè)備驅(qū)動(dòng)層負(fù)責(zé)從上層取出I/O請(qǐng)求,根據(jù)請(qǐng)求信息向具體塊設(shè)備控制器發(fā)送命令[6]。
4.3.2 SCSI子系統(tǒng)分析
塊設(shè)備包括SCSI硬盤、SATA硬盤和閃存等許多其它設(shè)備,塊設(shè)備驅(qū)動(dòng)層是這些塊設(shè)備的統(tǒng)一抽象層。具體到不同的塊設(shè)備,又要使用不同的子系統(tǒng)驅(qū)動(dòng)程序。由于本文所介紹的系統(tǒng)使用的是基于SCSI的存儲(chǔ)系統(tǒng),所以本節(jié)將對(duì)Linux內(nèi)核中SCSI子系統(tǒng)進(jìn)行分析。
Linux內(nèi)核中SCSI子系統(tǒng)是一種分層的架構(gòu),共分為3層。頂部的那層叫做SCSI上層,它代表的是內(nèi)核(設(shè)備級(jí))最高級(jí)別的接口。SCSI上層接收來自內(nèi)核上層的請(qǐng)求并將其轉(zhuǎn)換成SCSI命令,同時(shí)將狀態(tài)信息通知內(nèi)核上層。接下來的是SCSI中間層,也稱為公共層或統(tǒng)一層。它是SCSI上層和底層的公共服務(wù)層,提供了很多可供SCSI上層和底層驅(qū)動(dòng)器使用的函數(shù),因而可以充當(dāng)這兩層間的連接層。中間層抽象化了底層驅(qū)動(dòng)器的實(shí)現(xiàn),這意味著可以以同樣的方式使用帶不同接口的控制器。SCSI中間層還提供了底層驅(qū)動(dòng)器注冊(cè)和錯(cuò)誤處理以及SCSI上層和底層間的SCSI命令排隊(duì)等功能。最后是SCSI底層,在SCSI底層的是一組驅(qū)動(dòng),稱為SCSI底層驅(qū)動(dòng)。它們是一些可與具體物理設(shè)備連接的特定驅(qū)動(dòng)程序。底層提供了自中間層到特定硬件設(shè)備的一種抽象,每個(gè)SCSI底層驅(qū)動(dòng)都提供了到特定硬件的不同接口,但所使用的到中間層的接口卻是一組標(biāo)準(zhǔn)接口。SCSI底層包含大量處理各種不同類型SCSI控制器的驅(qū)動(dòng)。SCSI具體結(jié)構(gòu)如圖3所示。
圖4 給出了對(duì)SCSI設(shè)備進(jìn)行寫操作時(shí)Linux內(nèi)核中的程序執(zhí)行流程。
4.3.3 高速存儲(chǔ)驅(qū)動(dòng)模塊的實(shí)現(xiàn)
高速存儲(chǔ)驅(qū)動(dòng)模塊主要在兩個(gè)層次上實(shí)現(xiàn),整個(gè)數(shù)據(jù)存儲(chǔ)程序流程如圖5所示。首先是在通用塊層完成初始化bio結(jié)構(gòu)和通過submit-bio()函數(shù)提交操作請(qǐng)求。bio結(jié)構(gòu)中包含了讀寫硬盤操作時(shí)需要的所有信息,所以可以根據(jù)需要初始化包括設(shè)置硬盤描述符、讀寫數(shù)據(jù)量大小和存儲(chǔ)硬盤扇區(qū)位置等信息。但是在bio結(jié)構(gòu)中數(shù)據(jù)存儲(chǔ)位置只能設(shè)置為系統(tǒng)內(nèi)存虛擬地址,無法直接將其指向FPGA虛擬地址。為了解決這個(gè)問題,在系統(tǒng)內(nèi)存中分配一塊內(nèi)存,在這塊內(nèi)存中設(shè)置標(biāo)志和參數(shù),然后將這塊內(nèi)存虛擬地址賦值給bio結(jié)構(gòu)。然后是在SCSI子系統(tǒng)中根據(jù)bio內(nèi)存中設(shè)置的標(biāo)志和參數(shù),判斷該請(qǐng)求是否是高速存儲(chǔ)驅(qū)動(dòng)模塊請(qǐng)求。如果是,則根據(jù)FPGA緩存物理地址和讀寫數(shù)據(jù)量大小通過SCSI底層驅(qū)動(dòng)設(shè)置控制器特定寄存器,完成數(shù)據(jù)傳輸[7]。主要流程如圖6所示。
5.1 存儲(chǔ)數(shù)據(jù)管理
在數(shù)據(jù)存儲(chǔ)過程中,為了提高存儲(chǔ)速度,存儲(chǔ)系統(tǒng)采用了對(duì)硬盤陣列順序?qū)懭氲姆绞剑簿褪前凑沼脖P的邏輯塊地址將數(shù)據(jù)依次寫入硬盤。這樣雖然可以提高數(shù)據(jù)的存儲(chǔ)速度,但是硬盤陣列中就沒有文件系統(tǒng),這對(duì)數(shù)據(jù)的管理提出了要求。存儲(chǔ)系統(tǒng)在使用中需要記錄多個(gè)任務(wù),并且每個(gè)任務(wù)所記錄的數(shù)據(jù)都有不同的參數(shù)和格式,所以必須設(shè)計(jì)出一種格式對(duì)任務(wù)信息和數(shù)據(jù)進(jìn)行管理,這樣才能事后方便地對(duì)所記錄的數(shù)據(jù)進(jìn)行下載、恢復(fù)和處理。在存儲(chǔ)系統(tǒng)中根據(jù)具體需求用頭表和任務(wù)信息表兩個(gè)部分來管理硬盤所記錄的數(shù)據(jù)。頭表包含硬盤陣列的一些總的信息,包括硬盤個(gè)數(shù)、總?cè)萘俊⑹S嗳萘康?。?個(gè)任務(wù)對(duì)應(yīng)1個(gè)任務(wù)信息表,任務(wù)信息表占1個(gè)扇區(qū)共512 byte,包含有每個(gè)任務(wù)的具體信息,例如起始、結(jié)束邏輯塊地址、數(shù)據(jù)參數(shù)等。在開始記錄前和停止記錄后將得到的參數(shù)信息更新到指定的硬盤邏輯塊地址中進(jìn)行保存。當(dāng)需要下載數(shù)據(jù)時(shí)將數(shù)據(jù)和參數(shù)信息一起發(fā)送給主機(jī),主機(jī)就可以根據(jù)這些參數(shù)信息將數(shù)據(jù)進(jìn)行恢復(fù)和處理。
5.2 網(wǎng)絡(luò)遠(yuǎn)程控制
在數(shù)據(jù)存儲(chǔ)系統(tǒng)實(shí)際應(yīng)用中,需要能夠?qū)ζ溥M(jìn)行遠(yuǎn)程的管理和控制。整個(gè)系統(tǒng)結(jié)構(gòu)如圖7所示。
從圖7中可以看出,系統(tǒng)主機(jī)需要通過網(wǎng)絡(luò)來控制數(shù)據(jù)存儲(chǔ)系統(tǒng)。為了實(shí)現(xiàn)該功能,必須定義出網(wǎng)絡(luò)控制和管理命令協(xié)議。根據(jù)具體應(yīng)用的需要定義了各種網(wǎng)絡(luò)命令,目前實(shí)現(xiàn)了任務(wù)啟動(dòng)/停止、數(shù)據(jù)刪除、信息查詢、工作模式設(shè)置和數(shù)據(jù)下載等命令,如圖8所示。為了確保存儲(chǔ)系統(tǒng)收到命令,存儲(chǔ)系統(tǒng)需要對(duì)系統(tǒng)主機(jī)發(fā)出的每個(gè)命令進(jìn)行應(yīng)答。
為了測(cè)試存儲(chǔ)系統(tǒng)的性能,測(cè)試中FPGA采集模塊產(chǎn)生模擬數(shù)據(jù),使用4塊SSD硬盤組成RAID0陣列,系統(tǒng)持續(xù)記錄20min。在測(cè)試過程中對(duì)數(shù)據(jù)存儲(chǔ)信號(hào)和中斷信號(hào)進(jìn)行測(cè)試,如圖9所示。其中上方1通道的信號(hào)為存儲(chǔ)信號(hào),有效時(shí)為高電平;下方2通道的信號(hào)為中斷信號(hào),周期264ms。每個(gè)中斷周期存儲(chǔ)的數(shù)據(jù)為64 Mbyte。
從圖9可以看出,系統(tǒng)存儲(chǔ)在264ms的周期中,存儲(chǔ)64 Mbyte數(shù)據(jù)只用了150 ms左右,其余100 ms時(shí)間用來防止硬盤寫入速度的波動(dòng),避免數(shù)據(jù)的丟失和對(duì)系統(tǒng)穩(wěn)定性的影響。通過對(duì)存儲(chǔ)數(shù)據(jù)的校驗(yàn)證明存儲(chǔ)系統(tǒng)的正確性,可見整個(gè)系統(tǒng)可以滿足200 Mbyte/s的持續(xù)存儲(chǔ)速度。與其它使用FPGA實(shí)現(xiàn)高速數(shù)據(jù)存儲(chǔ)的方案比較[8,9],本系統(tǒng)在速度上具有一定優(yōu)勢(shì)。
在整個(gè)存儲(chǔ)系統(tǒng)中數(shù)據(jù)存儲(chǔ)速度是最關(guān)鍵的性能指標(biāo)。實(shí)際系統(tǒng)中當(dāng)FPGA數(shù)據(jù)采集緩存存滿數(shù)據(jù)時(shí),以中斷方式周期性的通知PowerPC,從而使PowerPC控制硬盤控制器來讀取數(shù)據(jù)。由于FPGA采集緩存容量的限制,中斷周期時(shí)間相對(duì)較短??梢娪涗浫蝿?wù)具有一定的實(shí)時(shí)性,即在中斷周期內(nèi)必須將FPGA緩存中的數(shù)據(jù)全部存儲(chǔ)到硬盤陣列中。而由于硬盤本身的原理和結(jié)構(gòu)決定了硬盤在寫入數(shù)據(jù)時(shí)速度會(huì)有一定波動(dòng),通常所說的硬盤速度是指硬盤的平均速度。顯然,由于記錄任務(wù)的實(shí)時(shí)性要求,硬盤陣列平均寫入速度肯定無法應(yīng)用到實(shí)際系統(tǒng)中,為了保證實(shí)時(shí)性只能將硬盤陣列的最低寫入速度應(yīng)用到實(shí)際存儲(chǔ)系統(tǒng)中,通常為了保證系統(tǒng)的可靠性,會(huì)在硬盤陣列最低速度基礎(chǔ)上再留出一定冗余時(shí)間。為了解決硬盤陣列寫入速度不穩(wěn)定從而影響存儲(chǔ)速度的問題,可以使用擴(kuò)大FPGA采集緩存方法,使存儲(chǔ)速度接近于硬盤陣列平均速度,能夠進(jìn)一步有效地提高存儲(chǔ)速度。
SAS即串行SCSI技術(shù)的出現(xiàn),擺脫傳統(tǒng)并行SCSI技術(shù)在連接設(shè)備個(gè)數(shù)和總線帶寬上的限制。傳統(tǒng)并行SCSI采用并行總線結(jié)構(gòu),總線總的帶寬為320 Mbyte/s,而SAS采用串行總線結(jié)構(gòu),每個(gè)通道傳輸?shù)乃俾矢哌_(dá)3 Gbit/s,使用多個(gè)通道時(shí)帶寬可以成倍增加[10]。隨著SSD固態(tài)硬盤技術(shù)的發(fā)展,SSD固態(tài)硬盤可以代替?zhèn)鹘y(tǒng)機(jī)械硬盤應(yīng)用到實(shí)際系統(tǒng)中。目前,Intel SSD硬盤可以達(dá)到250 Mbyte/s的持續(xù)讀取速度和170 Mbyte/s的持續(xù)寫入速度,再結(jié)合RAID技術(shù)可大大提高硬盤陣列的讀寫性能。將SAS和SSD技術(shù)應(yīng)用到存儲(chǔ)系統(tǒng)中為存儲(chǔ)速度的進(jìn)一步提高奠定了基礎(chǔ)。同時(shí),在嵌入式Linux軟件平臺(tái)上能夠很好地支持SAS和SSD技術(shù)。試驗(yàn)證明,在使用SAS和SSD的存儲(chǔ)系統(tǒng)上,基于嵌入式Linux的數(shù)據(jù)存儲(chǔ)系統(tǒng)的存儲(chǔ)速度還有很大的提升空間。
PCIExpress總線克服了PCI總線在總線帶寬和數(shù)據(jù)傳輸速率上的限制,由于在Linux內(nèi)核中PCI Express的驅(qū)動(dòng)軟件與PCI總線完全兼容,所以高速存儲(chǔ)軟件系統(tǒng)也可以應(yīng)用于基于PCIExpress總線的存儲(chǔ)系統(tǒng)中。
本文提出了一種基于Linux的嵌入式高速數(shù)據(jù)存儲(chǔ)方案,通過使用Linux驅(qū)動(dòng)等軟件模塊控制和管理存儲(chǔ)系統(tǒng),實(shí)現(xiàn)了高速數(shù)據(jù)的記錄。該系統(tǒng)既可以滿足高速數(shù)據(jù)存儲(chǔ)速度的要求,又具有容量大、
穩(wěn)定性高、耐震、耐低溫等優(yōu)點(diǎn)。測(cè)試表明系統(tǒng)可以達(dá)到200 Mbyte/s的持續(xù)存儲(chǔ)速度。由于該方案可以擴(kuò)展到PCI-E架構(gòu)上,再結(jié)合SSD硬盤的使用,系統(tǒng)的數(shù)據(jù)存儲(chǔ)速度還有很大的提升空間。
[1]洪瀑,王巖飛.基于磁盤陣列的超高速SAR原始回波數(shù)據(jù)記錄技術(shù)研究[J].電子與信息學(xué)報(bào),2009,31(3):749-751.
HONG Pu,WANG Yan-fei.Study on ultra-high speed SAR raw data recorder based on disk array[J].Journal of Electronics&Information Technology,2009,31(3):749-751.(in Chinese)
[2]黃立勝,劉月花.遙感數(shù)據(jù)的高速實(shí)時(shí)記錄器[J].遙感學(xué)報(bào),2003,7(1):19-25.
HUANG Li-sheng,LIU Yue-hua.High speed and real-time recorder of remote sensing data[J].Journal of Remote Sensing,2003,7(1):19-25.(in Chinese)
[3]黃進(jìn),郭立紅,李巖,等.一種高速CCD視頻實(shí)時(shí)存儲(chǔ)方案的速度分析[J].光學(xué)技術(shù),2005,31(1):149-150.
HUANG Jin,GUO Li-hong,LIYan,etal.Speed analysis of areal-time storage schema of high speed CCD video[J].Optical Technique,2005,31(1):149-150.(in Chinese)
[4]張昆帆,王展,皇甫堪.高速數(shù)據(jù)采集和存儲(chǔ)[J].現(xiàn)代雷達(dá),2004,26(4):14-16.
ZHANG Kun-fan,WANG Zhan,HUANGFU Kan.High Speed Data Acquisition and Storing[J].Modem Radar,2004,26(4):14-16.(in Chinese)
[5]熊偉,曾巒,趙忠文.用于光電經(jīng)緯儀的高速圖像數(shù)據(jù)記錄技術(shù)[J].紅外與激光工程,2004,33(5):538-541.
XIONGWei,ZENG Luan,ZHAO Zhong-wen.Technology of high speed image data record applied in photoelectric theodolite[J].Infrared and Laser Engineering,2004,33(5):538-541.(in Chinese)
[6]Bovet Daniel P,Cesati Marco.深入理解Linux內(nèi)核[M].陳莉君,張瓊聲,張宏偉,譯.北京:中國(guó)電力出版社,2007:557-594.
Bovet Daniel P,CesatiMarco.Understanding the Linux Kernel[M].Translated by CHEN Li-jun,ZHANG Qiong-sheng,ZHANGHong-wei.Beijing:China Electric Power Press,2007:557-594.(in Chinese)
[7]Corbet,Rubini,Kroah-hartman.Linux設(shè)備驅(qū)動(dòng)程序[M].魏永明,耿岳,鐘書毅,譯.北京:中國(guó)電力出版社,2007:458-490.
Corbet,Rubini,Kroah-hartman.Linux Device Driver[M]. Translated by WEIYong-ming,GENG Yue,ZHONG Shu-yi. Beijing:China Electric Power Press,2007:458-490.(in Chinese)
[8]周國(guó)輝.CCD攝影測(cè)量相機(jī)圖像數(shù)據(jù)高速實(shí)時(shí)存儲(chǔ)的研究[D].北京:中國(guó)科學(xué)院研究生院,2005.
ZHOU Guo-hui.Study on high-speed and real-time storage system for CCD photogrammetric image data[D].Beijing:Chinese Academy of Sciences,2005.(in Chinese)
[9]余輝龍,何昕,魏仲慧,等.應(yīng)用NAND型閃存的高速大容量圖像存儲(chǔ)器[J].光學(xué)精密工程,2009,17(10):2549-2553.
YU Hui-long,HE Xin,WEI Zhong-hui,et al.High speed and high capacity image recorder based on NAND flash[J]. Optics and Precision Engineering,2009,17(10):2549-2553.(in Chinese)
[10]盧光軍.一種高速采集記錄設(shè)備的實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(9):175-176.
LU Guang-jun.Implementation of a high-speed sample-andrecord devcice[J].Computer Application and Software,2009,26(9):175-176.(in Chinese)
Embedded High-speed SAR Data Storage Technology Based on Linux
HUANGBin
(Chongqing Bureau of Naval Armament Department,Chongqing 400043,China)
In order to record SAR(Synthetic Aperture Radar)raw echo data,a method with SSD(Solid State Disk)on embedded Linux is provided in this paper.Linux drivers are used tomanage the SAS(Serial Attached SCSI)controller and the data is stored in SSD with high-speed.The speed of data storage can achieve 200 Mbyte/s in experiment.The factors influencing storage speed are analysed.The test result shows that the design can satisfy the requirements of high-speed data storage.
synthetic aperture radar(SAR);raw echo data;high-speed data storage;embedded Linux;solid state disk(SSD);serial attached SCSI(SAS)controller
TN95
A
10.3969/j.issn.1001-893x.2011.11.015
黃斌(1979—),男,四川資中人,碩士研究生,主要研究方向?yàn)橥ㄐ偶夹g(shù)。
1001-893X(2011)11-0073-06
2011-06-16;
2011-10-26
HUANG Bin was born in Zizhong,Sichuang Province,in 1979. He is now a graduate student.His research direction is communication technology.
Email:huangbin09.com@163.com