基于SCSI總線的超高速實時圖像數(shù)據(jù)存儲系統(tǒng)
關(guān)鍵詞:超高速 SCSI 實時存儲 圖像
引言
目前,對高速數(shù)字圖像的采集與存儲的需求越來越大,但大多數(shù)此類系統(tǒng)都依賴速微機、高速圖像采集卡和超大容量內(nèi)存。滿足這些條件必然使成本成倍增高,價格昂貴,且它有一個很大的缺點是容量小,即便是使用超大容量內(nèi)存,其增擴的容量也只能達(dá)到幾G字節(jié)的量級,如果再增大容量,系統(tǒng)的體積和成本已不允許。因此,應(yīng)用范圍受到限制。
基于冗余磁盤陣列RAID (Redundant Arrays of Inexpensive Disks)技術(shù)的應(yīng)用日漸廣泛。雖然它利用了磁盤的超大容量、體積小巧的優(yōu)勢,通過磁盤陣列結(jié)構(gòu)解決了快速CPU和慢速的磁盤I/O之間的“瓶頸”難關(guān),達(dá)到了高速大容量存儲的目的;但是它結(jié)構(gòu)復(fù)雜,磁盤冗余導(dǎo)致成本較高。
為了充分發(fā)揮各種技術(shù)的優(yōu)勢,本文基于SCSI總線的理論體系,設(shè)計出一種以SCSI硬盤為存儲載體,由單片機控制的超高速、數(shù)字化圖像數(shù)據(jù)采集與存儲系統(tǒng)。超高速是指它能夠?qū)崟r存儲千幀每秒的視頻圖像,數(shù)據(jù)率約是100Mb/s;數(shù)字化是指從高速相機的輸出全為數(shù)字化,存儲也全為數(shù)字量。它能脫離微機系統(tǒng)而單獨完全采集存儲的工作,操作簡單而實用。下面從技術(shù)方案和體系結(jié)構(gòu)來介紹本系統(tǒng)。
一、系統(tǒng)的技術(shù)方案及體系結(jié)構(gòu)
對于超高速、大容量實時視頻圖像存儲系統(tǒng),存儲時間和速率是最高要的技術(shù)指標(biāo),但存儲介質(zhì)的長時間的傳輸速率,即它們的持續(xù)傳輸速率又是最重要的。存儲介質(zhì)的猝發(fā)傳輸速率和內(nèi)部傳輸速率都不能作為實時存儲系統(tǒng)的衡量指標(biāo)。普通的IDE接口硬盤,雖然其猝發(fā)傳輸速率和總線傳輸速率都能在33Mb/s以上,但實際上持續(xù)傳輸速率還不到5Mb/s,遠(yuǎn)不能達(dá)到要求。相比之下,SCSI硬盤的持續(xù)傳輸速率明顯高于IDE接口硬盤。目前,10000轉(zhuǎn)的SCSI硬盤的持續(xù)傳輸率大多數(shù)都能達(dá)到25Mb/s。如果讓幾個SCSI硬盤并行工作,那么總的傳輸率達(dá)到100Mb/s是可以實現(xiàn)的。
1.SCSI總線系統(tǒng)及特點
SCSI (Small Computer System Interface),即小型計算機系統(tǒng)接口,是美國ANSI9.2委員會定義的計算機和外設(shè)之間的接口標(biāo)準(zhǔn)。起初是以磁盤存儲設(shè)備為主,但由于它的靈活性、設(shè)備獨立性等特點,使SCSI不僅在磁帶設(shè)備、打印設(shè)備、CD-ROM WORM等外設(shè)中得到普遍應(yīng)用,也在許多新I/O設(shè)備和計算機網(wǎng)絡(luò)、計算機工業(yè)控制等領(lǐng)域不斷發(fā)展。圖1是SCSI典型的系統(tǒng)結(jié)構(gòu)圖。
在SCSI 系統(tǒng)中,多個設(shè)備可以用同一電纜相連。在8位SCSI數(shù)據(jù)線情況下,可以掛接8個外設(shè);而現(xiàn)在的Ultera SCSI可以達(dá)到32位數(shù)據(jù)線,能掛接32個外設(shè)。在任意時刻,只能有兩個設(shè)備可相互通信,其中發(fā)送命令的設(shè)備叫啟動設(shè)備(initiator),執(zhí)行命令的設(shè)備叫目標(biāo)設(shè)備(target)。SCSI上設(shè)備的唯一標(biāo)識是SCSI ID,它既是設(shè)備的地址,也是設(shè)備優(yōu)先級代碼。SCSI中的操作是由啟動設(shè)備啟動的,啟動設(shè)備先選擇一個目標(biāo)設(shè)備,在目標(biāo)設(shè)備選擇完成后,目標(biāo)設(shè)備在協(xié)議上獲得對總線的控制權(quán),由目標(biāo)設(shè)備決定是繼續(xù)控制總線還是釋放總線。SCSI設(shè)備之間沒有主從關(guān)系,一個設(shè)備既可成為啟動設(shè)備,也可以起目標(biāo)設(shè)備的作用。計算機上的SCSI適配器是典型的啟動設(shè)備。SCSI接口硬盤是典型的Target。在SCSI總線上,可以存在于多個啟動設(shè)備和多個目標(biāo)設(shè)備,但一個系統(tǒng)中至少應(yīng)該有一個啟動設(shè)備和一個目標(biāo)設(shè)備。圖1是典型的多啟動設(shè)備多目標(biāo)設(shè)備系統(tǒng)。除此之外,還有單啟動設(shè)備多目標(biāo)設(shè)備、單啟動設(shè)備單目標(biāo)設(shè)備。本文的高速數(shù)據(jù)存儲系統(tǒng)采用單啟動設(shè)備目標(biāo)設(shè)備系統(tǒng)結(jié)構(gòu)。
SCSI雖然有其獨有特點,但接口控制復(fù)雜。任何一個SCSI系統(tǒng)都具有適配器和控制器相配對的結(jié)構(gòu),通常適配器就是上面所說的啟動設(shè)備。適配器的復(fù)雜性在于必須從硬件和軟件兩部分實現(xiàn)SCSI設(shè)備與各種操作系統(tǒng)的接口。軟件要完成把SCSI命令解釋給操作系統(tǒng)和把操作系統(tǒng)的操作命令翻譯給SCSI設(shè)備;硬件要完成SCSI總線的各種時序和內(nèi)部電路的控制。
2.系統(tǒng)方案的制定
根據(jù)SCSI協(xié)議,消息、命令、數(shù)據(jù)、狀態(tài)四個階段統(tǒng)稱為信息階段,這是因為它們都是通過數(shù)據(jù)總線傳送數(shù)據(jù)和控制信息的。其中消息、命令和狀態(tài)的傳輸采用異步方式,數(shù)據(jù)的傳輸可用異步和同步兩種方式。
理想情況下,異步傳輸一個字節(jié)只需要一個系統(tǒng)平衡延時加一個電纜延時差,其時值為45ns+4ns=49ns,實際上應(yīng)考慮信號的跳變時值和總線傳輸延時。分析認(rèn)為,異步方式下,傳輸一個字節(jié)需要4個跳變加上它們在電纜上的傳輸延時。其典型傳輸時間可以計算為
t=4×5.25×L+4×30
其中,t為一個字節(jié)的傳輸時間,單位為ns;L為電纜長度,單位為m。在電纜為1m長的情況下,傳輸速率約為7.1Mb/s。
同步傳輸機制引入了同步偏移和總線緩沖的概念,即目標(biāo)設(shè)備可以連續(xù)發(fā)若干個REQ信號而不需要啟動設(shè)備的ACK馬上回答。這樣就大大減少了總線傳輸延時,從而提高了傳輸速率。因此,本系統(tǒng)以16位數(shù)據(jù)同步傳輸為基礎(chǔ)進行設(shè)計。
結(jié)合以上的分析,實時圖像數(shù)據(jù)采集存儲系統(tǒng)可用SCSI硬盤作為存儲介質(zhì);多個SCSI硬盤并行工作以求速度的成倍提高;圖像數(shù)據(jù)的采集源選用高速數(shù)字相機,以千幀每秒的速率分多路輸出,每路的數(shù)據(jù)寬度可以是8位或16位。再設(shè)計相應(yīng)的接口控制電路控制軟件,加上附屬電路構(gòu)成。體系結(jié)構(gòu)如圖2所示。
3.系統(tǒng)的體系結(jié)構(gòu)和功能描述
(1)單片機
單片機的主要功能如下:
*對SCSI總線信息狀態(tài)進行翻譯、執(zhí)行、管理;
*負(fù)責(zé)對主機與緩沖器、緩沖器與SCSI總線之間的數(shù)據(jù)傳送控制;
*控制DMA控制器。
單片機通過緩沖器與SCSI接口控制電路交換信息,包括命令描述和狀態(tài)消息等。單片機對SCSI總線的控制是通過協(xié)議控制器實現(xiàn)的。為了完成一個I/O進程,單片機把進程分為仲裁、選擇、數(shù)據(jù)傳輸?shù)入A段,并分別以相應(yīng)的內(nèi)部控制命令交給協(xié)議控制器執(zhí)行。
(2)數(shù)字圖像接口電路
主要完成視頻信號的數(shù)字轉(zhuǎn)換和后續(xù)的邏輯控制。另外,有時8位的數(shù)據(jù)寬度對于后面的高速存儲任務(wù)來講是不夠的,必須依靠此電路來轉(zhuǎn)為16位寬或32位寬。
(3)SCSI總線控制器
這是SCSI總線來操作的執(zhí)行部件,一般稱為適配器。SCSI總線的時序很復(fù)雜也很有規(guī)律,規(guī)律是指SCSI總線的所操作都是由8個獨立的總線階段組成的,它們分別是:總線空閑、仲裁、選擇、消息、命令、數(shù)據(jù)輸入、數(shù)據(jù)輸出及狀態(tài)階段。它們之間的遷移有著嚴(yán)格的規(guī)定,圖3是SCSI的階段遷移圖。適配器接受微處理器的操作指令,如仲裁、選擇、失連、復(fù)位總線等。適配器是啟動設(shè)備,是發(fā)出命令的一方(在微處理器控制下)。硬盤是目標(biāo)設(shè)備,它的響應(yīng)信息和返回狀態(tài)等都由徽處理器分析,并決定適配器的下一步操作。另外,啟動I/O進程,參加仲裁、競爭總線、選擇目標(biāo)設(shè)備等都是由微處理器控制操作的。
(4)DMA控制器
適配器中的DMA控制器,一是控制圖像數(shù)字接口電路與緩沖器之間的數(shù)據(jù)傳送;二是控制緩沖器和SCSI總線之間的數(shù)據(jù)傳送,也可以通過緩沖器直接控制圖像接口電路和SCSI總線之間的數(shù)據(jù)傳送。
二、實驗結(jié)果
系統(tǒng)結(jié)構(gòu)后,用IBM生產(chǎn)的DDRS34560型硬盤和DMVS-09V型硬盤做數(shù)據(jù)傳輸實驗,兩種硬盤的性能指標(biāo)如表1所列。分析傳輸320MB數(shù)據(jù)和1GB數(shù)據(jù)的結(jié)果如表2所列。
表1
型 號 | DDRS34560 | DMVS-09V |
容量/GB | 4.5 | 9.1 |
接口類型 | Ultra2 SCSI | Ultera2 SCSI |
轉(zhuǎn)速/(r*min-1) | 7200 | 10000 |
最大外部傳速輸率/(MB*s-1) | 20 | 80 |
持續(xù)傳輸速率/(MB*s-1) | 8.6-12.3 | 15.2-29.5 |
平均尋道時間/ms | 4.9 | 7.5 |
數(shù)據(jù)緩存/B | 512K | 2M |
表2
型 號 | 傳輸數(shù)據(jù)量/B | 耗時/s | 速率/(MB/s) |
DDRS34560 | 320M | 26 | 12.3 |
1G | 110 | 11.6 | |
DMVS-09V | 320M | 12 | 26.67 |
1G | 39 | 25.6 |
用加拿大的DALSA公司的CA-D6-256型高速相機輸出955幀/s的260×260×8bit視頻圖像,本系統(tǒng)可以實時地?zé)o壓縮并行存儲到多個硬盤,記錄時間在30min以上。
實踐證明了本文論述的超高速實時圖像存儲系統(tǒng)是能實現(xiàn)的。