《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 一種專用高速硬盤存儲設備的設計與實現

一種專用高速硬盤存儲設備的設計與實現

2008-12-22
作者:趙忠文 曾 巒

  摘? 要: 介紹一種專用高速硬盤存儲設備" title="存儲設備">存儲設備,可以脫離微機平臺實時將高速數據送入SCSI硬盤。給出了該設備的系統(tǒng)結構和硬件設計方法,。?

  關鍵詞: SCSI? SCSI協(xié)議控制器? 高速數據存儲" title="數據存儲">數據存儲?

?

  在高速數據采集存儲系統(tǒng)中,數據存儲是一項關鍵技術,。通常的做法是把數據存入大容量" title="大容量">大容量存儲器中,采集結束后再進行數據處理和保存,。這種方法,持續(xù)采集時間受存儲器容量的限制,在許多場合可能無法滿足要求;而存儲器容量的增加,其價格也會成倍增長。因此,從存儲容量、讀寫速度和單位成本等方面綜合考慮,采用高速硬盤直接數據存儲是很有優(yōu)勢的。?

  對于硬盤而言,在持續(xù)高速數據存儲中,關鍵是它的持續(xù)數據傳輸速率" title="傳輸速率">傳輸速率(sustained transfer rate)能否滿足要求,。目前,15000r/min的小型計算機系統(tǒng)接口SCSI(Small Computer System Interface)硬盤,總線數據傳輸速率為80~320MB/s,持續(xù)數據傳輸速率大于40MB/s。而PC機普遍配置的IDE硬盤,雖然它的總線數據傳輸速率可以達到33~100MB/s,但持續(xù)數據傳輸速率只有15MB/s左右,性能低于SCSI硬盤,。?

  本文設計了一種專用高速硬盤存儲設備,它脫離微機平臺實時將高速數據送入SCSI硬盤,持續(xù)存儲速率可達35MB/s(使用Seagate公司生產的ST336752LW型硬盤),。?

1 SCSI總線及硬盤?

  SCSI是美國ANSI9.2委員會定義的計算機和外設" title="外設">外設之間的接口標準,最初是以磁盤存儲設備為主,但由于它的靈活性,、設備獨立性等特點,使之不僅在磁帶設備、打印設備,、光盤驅動設備等外設中得到普遍應用,也在許多新I/O設備和計算機網絡,、計算機工業(yè)控制等領域不斷發(fā)展。隨著外設速率的不斷提高,SCSI的性能幾乎每5年提高一倍,目前Ultra320 SCSI總線數據傳輸速率可達320MB/s,。?

  SCSI是設備無關的輸入輸出總線,可以掛接多達8個以上的設備,。對于SCSI總線上的設備,如果是任務的觸發(fā)者,則稱為啟動設備;如果是任務的執(zhí)行者,則稱為目標設備。通常啟動設備先選擇一個目標設備,繼而由目標設備決定繼續(xù)控制總線或釋放總線,直至完成任務,。本文的專用高速硬盤存儲設備采用單啟動,、單目標結構。?

  SCSI硬盤在標識硬盤扇區(qū)時使用了線性的概念,即硬盤只有順序的第1 扇區(qū),、第2扇區(qū)…第n扇區(qū),不像IDE硬盤的“柱面/磁頭/扇區(qū)”三維格式。這種線性編排方式訪問延時最小,可加快硬盤存取速率,尤其在持續(xù)大容量數據存儲時,所顯現的優(yōu)勢較明顯,。目前,操作系統(tǒng)內部也使用線性編號的扇區(qū),其目的是加快介質存取速度,加大介質訪問容量,。?

  綜上所述,該專用高速硬盤存儲設備使用SCSI總線不僅數據傳輸速率高,而且在需要時可以增加設備中的硬盤數量來擴展存儲容量,甚至可以把硬盤替換為其它SCSI存儲設備。?

2 系統(tǒng)結構設計?

  為了實現SCSI協(xié)議和硬盤存儲,一般需要有微處理器,、DMA控制器,、SCSI協(xié)議控制器、數據緩存器等硬件支持和相應的軟件控制模塊,。?

  ·微處理器用來控制設備中各部件的工作,實現設備本身的特定功能,。該專用高速硬盤存儲設備實現數據的持續(xù)高速存儲,要求處理數據的速度高。通常這類需要傳輸和處理大量數據的設備均選用數字信號處理器DSP作為微處理器,。同時,SCSI協(xié)議中許多復雜的控制功能也需要這個微處理器來實現,。?

  ·傳送大量數據大多會采用直接存儲器訪問DMA(Direct Memory Access)方式,因此需要獨立的DMA控制器或選用內置DMA控制器的微處理器。出于簡化電路和提高速率的考慮,該設備采用復雜可編程邏輯器件CPLD構造了一個獨立的DMA控制器,。?

  ·要實現SCSI協(xié)議需要有SCSI協(xié)議控制器,。DSP中通常不會集成SCSI協(xié)議控制器,因此一般情況下,需要選擇通用的SCSI協(xié)議控制器,輔助DSP實現SCSI協(xié)議和通信。?

  ·在設備的輸入接口部分,需要有數據緩存單元,。普通的存儲器在寫入的同時不能讀取;采用雙口隨機存儲器RAM雖然可以解決并發(fā)訪問的問題,但它必需的雙邊地址譯碼又是不可忽視的問題,。對于單純的數據存儲設備,不需要對數據做壓縮、信號分析等預處理工作,緩存單元在結構上相當于先進先出(First In First Out,FIFO)隊列,先到的數據先被存儲,。所以采用專用FIFO芯片,可以去掉復雜的緩存器譯碼電路,大大簡化系統(tǒng)設計,。而且,采用專用FIFO芯片,整個設備從外部數據接口看來,就是一個寫不滿的FIFO,也大大簡化了對設備數據接口的操作。?

  專用高速硬盤存儲設備的框圖如圖1所示,。圖1中各方框表示一個基本模塊,括號中文字表示具體實現的器件,虛線左側部分不屬于設備模塊,。?

?

?

  該高速硬盤存儲設備設計中微處理器選用了TI公司生產的TMS320F206,SCSI協(xié)議控制器選用了QLogic公司生產的 FAS368M,DMA控制器和其它外圍邏輯轉換電路選用了ALTERA公司生產的CPLD器件EPM7064。?

  TMS320C206是TI公司生產的TMS320系列單片數字信號處理器中的一種低價格,、高性能的定點DSP芯片,。該芯片功耗低,處理能力強,指令周期最短為25 ns,運算能力達40MIPS,片內具有32KB的閃爍存儲器和4.5KB的RAM,是最早使用閃爍存儲器的DSP芯片之一,。由于閃爍存儲器具有比ROM靈活、比RAM便宜的特點,因此使用TMS320F206不僅降低了成本,、減小了體積,同時系統(tǒng)升級也比較方便,。?

  FAS368M是與SCSI-3標準完全兼容的SCSI協(xié)議控制器,它支持啟動設備與目標設備兩種模式,同步數據傳輸速率為40MB/s。另外,FAS368M支持最大50 MB/s的快速DMA數據傳輸,。由于采用分離的微處理器總線和DMA總線結構,因此能以較高速度產生響應而不會造成瓶頸效應,。?

3 硬件電路及功能描述?

  TMS320F206、FAS368M,、EPM7064和IDT7208之間的具體連接線路如圖2所示,。

?

?

3.1 FAS368M的信號及內部寄存器說明?

  圖2中FAS368M的主要信號和控制邏輯如下:?

  ·ACK、ATN,、BSY,、CD、IO,、MSG,、REQ、RST,、SD0~15,、SDP0~1、SEL及其差分信號,都是FAS368M與 SCSI總線的接口信號,。?

??? ·CS信號是讀寫FAS368M內部寄存器的片選信號,。?

  ·RD、WR是FAS368M內部寄存器的讀寫信號,。?

  ·FAS368M的 INT端對應TMS320F206的外部中斷INT1,當其有效時,表明有錯誤產生(如校驗出錯),、一個事件需要服務(如FAS368M作為目標設備被選中)或已結束某服務(如DMA結束)。?

  ·DREQ,FAS368M使DREQ有效向DMA控制器(EPM7064)發(fā)出DMA傳輸請求,。?

  ·DACK,EPM7064對FAS368M DMA請求信號DREQ的響應,。?

  ·DBWR,DMA數據寫信號。當DREQ和DACK信號均有效時,EPM7064控制該信號和緩存器IDT7208的RD信號,實現數據從IDT7208向FAS368M的同步快速傳輸,。?

  FAS368M在TMS320F206的控制下實現所有的SCSI物理協(xié)議,包括仲裁,、選擇、消息,、命令,、數據、狀態(tài)等各階段規(guī)定的信號電平轉化等,。在設備中TMS320F206對FAS368M的控制是通過對其寄存器的讀寫來實現的,。?

  ·指令寄存器(Command Register),TMS320F206通過向指令寄存器寫入相應指令,實現諸如FAS368M的初始化與復位、SCSI總線分配與復位,、SCSI總線各階段的遷移等所有針對FAS358M和SCSI總線的控制,。?

  ·FIFO寄存器(FIFO Register)是一個16字的FIFO寄存器,硬盤和FAS368M之間的數據都要通過FIFO寄存器,。它有兩方面的用途:當FAS368M通過SCSI總線向硬盤傳送數據和命令時,可以先把要傳送的數據和命令放在FIFO寄存器,等SCSI總線空閑,并獲得總線控制權以后再開始傳送;另一方面,由SCSI總線傳送到FAS368M的數據,也可因為TMS320F206或DMA控制器忙而停止,數據先送到FIFO寄存器空出SCSI總線,等TMS320F206或DMA控制器空閑再從FIFO寄存器讀取數據。?

  ·傳輸計數寄存器(Transfer Count Register)是一個減計數器,它通常用來保存一次DMA命令所要傳輸數據的字節(jié)數,。?

  ·中斷寄存器(Interrupt Register),FAS368M所有的信息都以中斷的方式通知TMS320F206,。TMS320F206通過讀取中斷寄存器和其他狀態(tài)寄存器判斷FAS368M產生中斷的原因,決定下一步操作,從而實現FAS368M對TMS320F206的通信。?

3.2? EPM7064內部邏輯和作用?

  設備中的DMA控制器由CPLD器件EPM7064實現,這主要有下面幾方面的考慮:?

??? (1)設備接口緩存器采用專用FIFO芯片IDT7208,它的數據總線可以和FAS368M的DMA數據總線直接連接,不需要復雜的緩存器地址譯碼電路,。因此,DMA控制器不需要數據與地址總線,硬件連線可以大大減少,。而配合FAS368M DMA數據傳輸的時序,DMA控制器只需在DMA傳輸請求信號DREQ有效且IDT7208空信號EF無效時,使DMA傳輸響應信號DACK有效,隨后在時鐘信號CLK驅動下連續(xù)產生同步的IDT7208讀信號RD和DMA寫信號DBWR,實現從IDT7208到FAS368M的DMA傳輸;反之,則使DMA傳輸響應信號DACK無效,隨后停止產生IDT7208讀信號RD和DMA寫信號DBWR,中斷從IDT7208到FAS368M的DMA傳輸。這些時序邏輯完全可以用一片小的CPLD器件實現,因此選用EPM7064設計了該DMA控制器,。?

  (2)FAS368M支持高達50MB/s的快速DMA傳輸,。一般的專用DMA控制器芯片難以勝任,而且專用DMA控制器與FAS368M的連接需要一定的邏輯轉換電路,外圍硬件連線也較多。同時,它還必須在TMS320F206的控制下與FAS368M一起協(xié)調工作才能實現DMA傳輸,又增加了軟件的復雜程度,。?

  (3)使用EPM7064除了實現DMA控制器的功能外,還可以把整個設備電路中的一些譯碼,、邏輯轉換等模塊一并設計進去,在很大程度上減小了設備的體積,同時也為設備的改進和升級提供了方便。?

  在硬件設計的基礎上,DSP微處理器還需要一個軟件模塊負責對相關硬件控制和協(xié)調,最終實現SCSI協(xié)議,、硬盤的控制和DMA傳輸等,。對DSP微處理器的編程,需要完整掌握SCSI-3協(xié)議標準和FAS368M的命令集,工作量比較大,同時程序的優(yōu)劣也關系到系統(tǒng)的存儲速度和可靠性。由于篇幅限制,軟件設計本文不再贅述,。?

參考文獻?

1 歐陽興華.計算機系統(tǒng)接口——SCSI.北京:電子工業(yè)出版社,1994?

2 北京聞亭科技發(fā)展有限公司.TMS320C2XX高速數字信號處理器原理與應用.1998?

3 QLogic Corporation.FAS368U/368M Fast Architecture SCSI Processor Technical Manual.1995
本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,,并不代表本網站贊同其觀點,。轉載的所有的文章、圖片,、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失,。聯系電話:010-82306118;郵箱:[email protected],。