作者:李福平 北京中科泛華測控技術(shù)有限公司 時間:2008-07-08 摘要: 本文闡述了測控領(lǐng)域高速數(shù)據(jù)存儲/讀取的基本概念和方式,,從存儲介質(zhì),、總線架構(gòu)方面介紹了流盤技術(shù),其中涉及到了最新的流盤系列產(chǎn)品,,便于用戶了解流盤領(lǐng)域的最新進(jìn)展,。 關(guān)鍵詞: 流盤;存儲介質(zhì),;總線,;PXIe
前言
在測控領(lǐng)域,從多通道低采樣率到多通道高采樣率的數(shù)據(jù)采集,,只要存儲/讀取速度超過20MB/s,,總量超過2GB,工程師們都需要花費(fèi)較多的精力或財力以解決數(shù)據(jù)存儲/讀取的問題,,
傳統(tǒng)儀器如示波器的存儲能力是有限的,,采集周期由儀器上緩存大小決定,采樣結(jié)束以后,,需要通過網(wǎng)絡(luò),、GPIB或者是USB總線將數(shù)據(jù)傳送到計算機(jī)中進(jìn)行存儲。舉例來講,,如果采樣率為100MS/s,,采樣通道緩存為256MB,,那么當(dāng)數(shù)據(jù)填滿緩存時采集過程只持續(xù)了2.56s,,緩存中的數(shù)據(jù)通過GPIB總線傳輸?shù)接嬎銠C(jī)(傳輸速率1MB/s),傳遞過程需費(fèi)時256s,,即4分多鐘內(nèi)系統(tǒng)只連續(xù)采集了256M的數(shù)據(jù),;而使用最新的采集和流盤設(shè)備,如NI的PXIe設(shè)備,,使用相同采樣率,、相同大小的板上緩存,采集存儲過程可以一直持續(xù)下去,,直到存儲的硬盤被填滿(最高2TB即2000GB),。采集的數(shù)據(jù)還可被直接從硬盤上通過相關(guān)設(shè)備完全回放出來,整個文件完全是Windows系統(tǒng)文件,。
本文的目的就是介紹高速數(shù)據(jù)傳輸?shù)年P(guān)鍵限制因素,,進(jìn)而說明數(shù)據(jù)流盤的原理及其應(yīng)用,最后介紹最新的數(shù)據(jù)流盤產(chǎn)品,。
所謂流盤即持續(xù)從或者向存儲器(Memory)中傳輸數(shù)據(jù),。存儲器可以是設(shè)備的板上緩存(Onboard Memory),、控制器上的RAM或者是控制器上的硬盤。數(shù)據(jù)向這些存儲器上傳輸?shù)乃俾适艿蕉喾N因素的限制,,包括系統(tǒng)的帶寬和存儲器介質(zhì)的讀寫速度等,。本文介紹了流盤中使用到的總線種類和存儲介質(zhì)類型,以提供關(guān)于流盤的應(yīng)用信息,,便于應(yīng)用于不同總線不同存儲器的流盤應(yīng)用,,涉及了最新的數(shù)據(jù)流盤產(chǎn)品。 存儲介質(zhì)
IDE IDE集成驅(qū)動電子設(shè)備是由Western Digital,、ATA和APTI在1986年聯(lián)合開發(fā)的較早的應(yīng)用于硬盤和其它存儲介質(zhì)的一種接口規(guī)范,。1990年11月,美國國家標(biāo)準(zhǔn)機(jī)構(gòu)采用了IDE接口標(biāo)準(zhǔn),。將IDE命名為ATA(高級技術(shù)附加裝置),。隨著技術(shù)的發(fā)展,存儲介質(zhì)的容量越來越大,,原先的規(guī)范已不適應(yīng)更大容量的存儲介質(zhì),,于是EIDE(Enhanced IDE)被開發(fā)出來,它可以支持的磁盤容量達(dá)到8.4GB,,同時該協(xié)議也發(fā)展成為可支持其它類型的存儲介質(zhì),,如CD、DVD-ROMS,、磁帶存儲器和大容量軟盤,。隨著磁盤容量的進(jìn)一步增大,ATA標(biāo)準(zhǔn)也不斷的修改,,以支持137GB進(jìn)而160GB的容量,,現(xiàn)在是128PiB(或者144PetaBytes)的硬盤容量,。在串行ATA(SATA) 標(biāo)準(zhǔn)出現(xiàn)之前,,IDE、EIDE和ATA都是同義詞,,并且與并行ATA接口(PATA)具有互換性,。
SATA SATA在2003年被開發(fā)出來以代替舊的PATA規(guī)范,,SATA采用串行連接方式,,以連續(xù)串行的方式傳送數(shù)據(jù),,采用類似于以太網(wǎng),、光纖和PCI總線的形式以8B/10B的方式對數(shù)據(jù)進(jìn)行編碼,,能對傳輸數(shù)據(jù)進(jìn)行糾錯檢查,。SATA接口針腳數(shù)目更少,,僅用四支針腳完成所有工作,分別用于連接電纜,、連接地線、發(fā)送數(shù)據(jù)和接收數(shù)據(jù),,同時該架構(gòu)還能降低系統(tǒng)能耗和減小系統(tǒng)復(fù)雜性。傳輸信號采用LVDS形式(低電壓差分信號,,更穩(wěn)定,、速度更快)。SATA 1.0定義的數(shù)據(jù)傳輸率可達(dá)150MB/s,,比最快的PATA(即ATA/133)所能達(dá)到133MB/s的數(shù)據(jù)傳輸率更高,,SATA 2.0的數(shù)據(jù)傳輸率達(dá)到300MB/s,最終SATA將實(shí)現(xiàn)600MB/s的最高數(shù)據(jù)傳輸率,。
SATA還具有熱插拔的功能,。在連接形式上,每個SATA硬盤獨(dú)占一個傳輸通道,,所以不存在像并行ATA那樣的主/從控制的問題,。
RAID系統(tǒng) RAID廉價磁盤的冗余陣列,主要架構(gòu)就是將多塊磁盤通過軟件或者硬件形成一個邏輯上的存儲單元,,目前RAID根據(jù)工作方式可以分為很多類型,,以下主要介紹RAID0~5。
·RAID0:磁盤沒有奇偶數(shù)目的要求,,數(shù)據(jù)被平均分割存儲到多個磁盤上,,總的讀寫速度就是磁盤數(shù)量乘以單個磁盤的讀寫速度,,缺點(diǎn)在于一塊磁盤損壞,,則整個磁盤陣列即壞,數(shù)據(jù)無法被修復(fù),。
·RAID1:磁盤數(shù)目必須為偶數(shù),,數(shù)據(jù)被平均分割存儲到多個磁盤上,但是每個磁盤又配置一個鏡像磁盤,,用于備份數(shù)據(jù),,因此RAID1型的數(shù)據(jù)讀取速度比寫速度要快,而且RAID1型當(dāng)一個磁盤忙或者損壞時,,可以從其鏡像磁盤中讀取/寫入數(shù)據(jù),,提高了數(shù)據(jù)的可靠性。
·RAID2:在位(bit)的層面上將數(shù)據(jù)分割存儲到各個磁盤上,,RAID2使用稱為“加重平均糾錯碼”的編碼技術(shù)來提供錯誤檢查及恢復(fù),。除了平均分割數(shù)據(jù)并存儲到多個磁盤上外,,還需要磁盤存放校驗(yàn)碼,RAID2技術(shù)實(shí)施復(fù)雜,。因此,,在商業(yè)環(huán)境中很少使用。
·RAID3和RAID4:平均分割存儲數(shù)據(jù),,類似于RAID0,,但是需要一塊磁盤作為奇偶校驗(yàn)盤,寫盤速度主要受奇偶校驗(yàn)盤的影響,,該陣列在任何一塊磁盤損壞時,,仍然可以恢復(fù)數(shù)據(jù)。商業(yè)上很少使用該類型磁盤陣列,。
·RAID5:類似于RAID3和RAID4,,但是奇偶校驗(yàn)不是制定某一個盤,而是所有磁盤輪流存儲數(shù)據(jù)和校驗(yàn)信息,,當(dāng)某一塊磁盤損壞時仍然可以重建數(shù)據(jù),。性能比RAID0稍低,但是可靠性高,。 總線結(jié)構(gòu)
PCI總線 PCI是將外部設(shè)備互連到一塊主板上的接口標(biāo)準(zhǔn),,由英特爾公司1991年推出。此標(biāo)準(zhǔn)允許在計算機(jī)內(nèi)安裝多達(dá)10個遵從PCI標(biāo)準(zhǔn)的擴(kuò)展卡,。最早提出的PCI總線工作在33MHz頻率之下,,傳輸帶寬達(dá)到133MB/s(33MHz * 32bit/s),基本上滿足了當(dāng)時處理器的發(fā)展需要,。1993年又提出了64bit的PCI總線,,后來又提出把PCI 總線的頻率提升到66MHz。目前廣泛采用的是32bit,、33MHz的PCI 總線,,64bit的PCI插槽更多是應(yīng)用于服務(wù)器產(chǎn)品。
PXI總線 PCI eXtensions for Instrumentation (PXI)標(biāo)準(zhǔn)由NI公司在1997年率先提出,,PXI基于CPCI標(biāo)準(zhǔn),,增加了時鐘和同步觸發(fā)總線,特別適合于測控領(lǐng)域的應(yīng)用,,但是其核心仍然是PCI總線,。最高傳輸速度為133MB/s。
PCIe PCI Express (PCIe)總線在2003年由Intel提出,,用于替代PCI總線標(biāo)準(zhǔn),,新的PCIe標(biāo)準(zhǔn)不再向下兼容PCI。二者之間的主要差別在于PCIe總線是串行總線,,采用了目前業(yè)內(nèi)流行的點(diǎn)對點(diǎn)串行連接,,比起PCI以及更早期的計算機(jī)總線的共享并行架構(gòu),,每個設(shè)備都有自己的專用連接,不需要向整個總線請求帶寬,,x1(單線)傳輸可以達(dá)到250MB/s,,如果使用x16線連接,傳輸速率可以達(dá)到8GB/s的理論帶寬,。2007年1月,,PCIe 2.0標(biāo)準(zhǔn)發(fā)布,除了向下兼容PCIe 1.0之外,,將單線速度提高到了500MB/s,,x16的帶寬則達(dá)到了16GB/s。
PXIe PXIe該標(biāo)準(zhǔn)是2005年8月根據(jù)PCIe的出臺而發(fā)布的,,不像PCI和PCIe的不向下兼容性,在一個PXIe混合插槽里即可以安裝PXI板卡,,又可以兼容PXIe板卡,。 流盤架構(gòu)
要實(shí)現(xiàn)高效率的數(shù)據(jù)流盤,并不是采用高速的總線加高速讀取的磁盤就可以實(shí)現(xiàn)的,,還需要采用合理的流盤架構(gòu),。下面介紹不同的流盤架構(gòu)及特點(diǎn)。 使用普通PCIe架構(gòu) PCIe總線是一種串行總線,,單線傳輸(x1)可以達(dá)到250MB/s,,16線(x16)時傳輸速率可達(dá)4GB/s,各設(shè)備專用各自總線,,因此傳輸速率較高,,如圖2所示,數(shù)據(jù)先存儲到設(shè)備緩存上,,再直接傳遞到I/O總線,,經(jīng)過RAM、CPU,、傳遞到硬盤上,,此時的瓶頸主要存在于讀寫硬盤的速度。一般存儲/讀取的速度均在100MB/s以上,。 圖2 PCIe數(shù)據(jù)存儲/讀取 使用直接讀/寫盤結(jié)構(gòu) 以上結(jié)構(gòu),,數(shù)據(jù)都要經(jīng)過I/O總線、內(nèi)存和CPU,,在一定程度上該過程限制了存儲/讀取的速度,,而且CPU的多線程性又增加了丟失數(shù)據(jù)的可能性和系統(tǒng)的不穩(wěn)定性,所以出現(xiàn)了直接讀/寫盤結(jié)構(gòu),。該結(jié)構(gòu)原理如圖3所示,,數(shù)據(jù)從設(shè)備的緩存中讀出后直接寫入磁盤,,或者從磁盤中讀取后直接輸出。 圖3 直接讀/寫盤結(jié)構(gòu) 該結(jié)構(gòu)有兩種典型應(yīng)用,,一種是NI的PXI系統(tǒng)配合Express Card接口卡,、RAID磁盤陣列,數(shù)據(jù)從設(shè)備緩存讀取后經(jīng)PCI總線不經(jīng)過系統(tǒng)內(nèi)存和CPU直接經(jīng)過Express Card接口卡存入RAID磁盤陣列,,持續(xù)存儲速度可達(dá)100MB/s(見圖4所示),。 圖4 PXI總線直接讀/寫硬盤 另一種典型結(jié)構(gòu)是NI的PXIe總線結(jié)構(gòu),該結(jié)構(gòu)通過PXIe總線上的一款專門的數(shù)據(jù)流盤卡,,對RAID磁盤陣列進(jìn)行數(shù)據(jù)的寫入/讀取,。持續(xù)寫入/讀取速度可以達(dá)到300MB/s、600MB/s甚至更高(見圖5所示),。 圖5 PXIe流盤系統(tǒng)(NI的600MB/s流盤設(shè)備) 結(jié)語
流盤即持續(xù)從或者向存儲器中傳輸數(shù)據(jù),,要達(dá)到較高的流盤速度和效率,需要綜合考慮存儲器,、總線和系統(tǒng)架構(gòu)等因素,,如果選擇成熟的產(chǎn)品進(jìn)行測控方面的應(yīng)用,NI的產(chǎn)品是個不錯的選擇,。 |