<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于SATA2.0的高速存儲系統設計實(shí)現

基于SATA2.0的高速存儲系統設計實(shí)現

作者:解冬 劉敏 時(shí)間:2016-06-28 來(lái)源:電子產(chǎn)品世界 收藏
編者按:本文介紹了一種高速數據存儲系統,該系統采用SATA2.0協(xié)議,存儲介質(zhì)選擇的是Intel公司新型固態(tài)硬盤(pán),控制器選擇的是Xilinx公司的Viretx-5系列FPGA,以及所提供的軟件開(kāi)發(fā)平臺ISE和EDK聯(lián)合開(kāi)發(fā)工具,最后使用ChipScope對系統進(jìn)行測試。多次測試結果顯示,本系統能穩定有效地完成高速數據傳輸,且存儲速度達到800MB/s。

摘要:本文介紹了一種高速數據存儲系統,該系統采用協(xié)議,存儲介質(zhì)選擇的是Intel公司新型,控制器選擇的是公司的Viretx-5系列,以及所提供的軟件開(kāi)發(fā)平臺ISE和EDK聯(lián)合開(kāi)發(fā)工具,最后使用對系統進(jìn)行測試。多次測試結果顯示,本系統能穩定有效地完成高速數據傳輸,且存儲速度達到800MB/s。

本文引用地址:http://dyxdggzs.com/article/201606/293258.htm

引言

  科學(xué)技術(shù)的快速發(fā)展使得人類(lèi)快速地從網(wǎng)絡(luò )時(shí)代邁入大數據時(shí)代,于是人們在社會(huì )生活中產(chǎn)生的數據量呈現爆炸式增長(cháng),這給數據的存儲帶來(lái)了很大的壓力。正是基于這種現狀,借助于計算機與電子技術(shù)的快速發(fā)展,本文提出一種協(xié)議的高速大容量數據存儲系統,相比于更早的PATA協(xié)議具有無(wú)可比擬的優(yōu)勢。SATA協(xié)議的數據傳輸模式傳輸速度比PATA協(xié)議更快,將40根數據線(xiàn)簡(jiǎn)化到7根,并且采取差分傳輸形式,能有效解決信號間的串擾問(wèn)題,最長(cháng)1m的數據線(xiàn)長(cháng)度擴展使用范圍并能支持熱插拔[1]。為實(shí)現更快的傳輸速度,本系統還采取磁盤(pán)陣列方式進(jìn)行存儲,采用四塊組成RAID0模式磁盤(pán)陣列。作為本系統的控制器是實(shí)現整個(gè)系統的關(guān)鍵,采用EDK的IP核生成工具定制實(shí)現SATA協(xié)議的IP核,因此數據可以直接從寫(xiě)入磁盤(pán)陣列。

1 SATA協(xié)議介紹

  SATA概念[2]由Intel公司在2000年提出,隨后誕生的SATA1.0協(xié)議規定采用串行數據傳輸模式,速率為1.5Gbps。之后將速率提升到3.0Gbps,并加入NCQ(本地指令列隊)、EM(機架管理)等新技術(shù),同時(shí)支持熱插拔。最新版本SATA3.0傳輸速率高達6.0Gbps。

  SATA協(xié)議從上到下有四層,即物理層、鏈路層、傳輸層和應用層[1],其架構如圖1所示。

  SATA協(xié)議中,應用層主要負責的是對所有命令的解析和執行,會(huì )根據處理器的要求實(shí)現一系列操作,像PIO傳輸、DMA傳輸、軟件復位以及中斷等;傳輸層主要負責幀的封裝和解析,在發(fā)送端將要發(fā)送的數據按照要求封裝成各種類(lèi)型的FIS,在接收端把接收到的FIS解析成數據;鏈路層主要負責的是幀的校驗和抗干擾處理,將根據上兩層傳輸命令生成原語(yǔ)發(fā)送出去,并且接收來(lái)自于下一層的原語(yǔ),將其轉換成命令發(fā)送給上兩層;物理層主要實(shí)現與對方物理層建立通信連接,負責差分數據的傳輸[2]。在發(fā)送端從鏈路層接收數據[1],加入同步字符后對數據做串行化處理,再采用低壓差分方式傳輸。在接收端對低壓差分數據進(jìn)行解串處理以分離時(shí)鐘與數據,通過(guò)同步字符實(shí)現數據對齊,最終恢復出發(fā)送時(shí)的數據。

2 總體方案的設計

  存儲系統的整體方案如圖2所示,FPGA內部集成兩個(gè)主頻550MHz的PowerPC440處理器,通過(guò)PLB總線(xiàn)[4]控制整個(gè)系統,數據輸入端是四路GTX,參考時(shí)鐘設置為150MHz,傳輸數據位為16位,高速緩存是容量1GB的DDR2,SATA控制器實(shí)現協(xié)議規定的所有功能,包括啟動(dòng)DMA傳輸模式,把數據封裝成幀,進(jìn)行CRC校驗、加擾和解擾處理,最后進(jìn)行8B/10B編碼,數據被串行化后通過(guò)四路GTX寫(xiě)入組成的磁盤(pán)陣列。

3 存儲系統的實(shí)現

3.1 通信鏈路初始化

  通信鏈路建立前需要進(jìn)行上電復位和電源管理,并對通信模式和傳輸速率進(jìn)行配置[1]。因此,雙方要建立通信先要進(jìn)行握手,握手成功后才能建立可靠的連接。SATA協(xié)議規定使用OOB信號進(jìn)行上電復位和電源管理。SATA2.0標準定義了三種OOB信號,即COMRESET、COMINIT和COMWAKE來(lái)實(shí)現鏈路初始化。

  上電硬件復位后,雙方須先初始化,使通信鏈路都置于空閑狀態(tài)。對于物理層的初始化,通信雙方是利用OOB信號的硬件復位信號使設備端完成復位操作,設備端完成復位后準備建立通信鏈接(速度協(xié)商、時(shí)鐘恢復等),其上電過(guò)程如圖3所示。

  ● 主機/設備端處于斷電狀態(tài);

  ● 電源上電,主機端將TX和RX拉到共模電壓;

  ● 主機端就連續發(fā)送多個(gè)COMRESET信號,然后把總線(xiàn)設置成等待狀態(tài);

  ● 設備端發(fā)送COMINIT信號,一旦檢測到COMRESET信號,設備端發(fā)送COMINIT信號作為響應,無(wú)論何時(shí)設備端上電完成,都可以發(fā)送該序列請求建立連接;

  ● 主機端校準,主機端接收到COMINIT信號后進(jìn)行校準,校準完成之后發(fā)送COMWAKE信號給設備端作為響應;

  ● 設備端響應,設備端在其接收端上檢測COMWAKE信號并校準發(fā)射器;

  ● 速率協(xié)商,雙方要進(jìn)行速率協(xié)商,此時(shí)主機端以最低速率連續發(fā)出D10.2字符,如果設備端能夠鎖定該速率則速率協(xié)商成功,否則重新進(jìn)行;

  ● 設備端鎖存,假如此時(shí)設備端可以建立連接,回復SYNC原語(yǔ)表明設備端允許建立連接。

  如果主機端接收到的是三個(gè)連續的非ALIGN原語(yǔ)后,這就表明雙方連接成功,即可傳輸數據。

3.2 數據傳輸過(guò)程

  數據在SATA協(xié)議中傳輸是以幀(Frame)形式傳遞[3]。幀由一組Dwords構成,以SOF原語(yǔ)開(kāi)始,內部含有多個(gè)數據,最后一位是CRC校驗值,并以EOF原語(yǔ)結束。有時(shí)為調節速率,幀中間也會(huì )插入一些原語(yǔ)(CONT、HOLD、HOLDA)用來(lái)控制流量。幀的典型內部結構圖如圖4所示。

  原語(yǔ)是由雙字組成的最簡(jiǎn)單信息單元,主要用于建立通信鏈接、傳遞最新?tīng)顟B(tài)和傳輸控制命令等。原語(yǔ)雙字之一是控制字符另外三個(gè)字節的存放數據。

  在數據通信過(guò)程中,信號會(huì )受到各種各樣的干擾,因此,在數據發(fā)送之前要對數據作校驗處理,SATA協(xié)議采用的是CRC校驗,這要對數據幀中SOF與EOF之間包含的所有數據作循環(huán)冗余運算,其計算單位是雙字(32bits),如需要計算的數據量不是雙字的整數倍,處理方法是在數據的后面添加“0”補成32位。CRC的運算公式如公式(1)所示:

(1)

  為使數據在傳輸過(guò)程中能更加穩定,要對方法的數據進(jìn)行加擾,加擾處理的原理就是利用擾碼的正交性,一般都采用偽隨機序列碼。加擾后的信號可以降低噪聲對信號的影響,解擾碼的原理跟加擾一樣。加擾的特征方程如公式(2)所示:

(2)

  現以一個(gè)數據幀的傳輸過(guò)程為例來(lái)說(shuō)明原語(yǔ)在傳輸過(guò)程中的作用以及其間應答關(guān)系,傳輸過(guò)程如圖5所示。

  A.若發(fā)送端有數據要發(fā)送,發(fā)送X_RDY,通知接收端準備接收;

  B.若接收端可以接收數據,發(fā)送R_RDY;

  C.發(fā)送端開(kāi)始發(fā)送數據;

  D.接收端在接收到數據時(shí),發(fā)送R_IP;

  E.發(fā)送端數據未準備好,發(fā)送HOLD原語(yǔ)告訴接收端等待;

  F.接收端接收到HOLD原語(yǔ)后,發(fā)送HOLDA原語(yǔ)應答;

  G.發(fā)送端可以繼續發(fā)送數據,發(fā)送HOLD原語(yǔ)結束等待;

  H.繼續發(fā)送數據;

  I.接收端接收到數據時(shí),發(fā)送R_IP原語(yǔ);

  J.發(fā)送端發(fā)送完數據以后,發(fā)送WTRM原語(yǔ)給接收端,發(fā)送端等待接收結果;

  K.接收端接收完成并校驗正確后,發(fā)送R_OK原語(yǔ)給發(fā)送端,數據接收正確;

  L.發(fā)送端發(fā)送SYNC原語(yǔ)進(jìn)入空閑狀態(tài);

  M.接收端發(fā)送SYNC原語(yǔ)進(jìn)入空閑狀態(tài)。

4 數據的測試與驗證

  數據測試是整個(gè)系統開(kāi)發(fā)期間最為耗時(shí)的部分,為方便測試而選用公司提供的一款在線(xiàn)邏輯分析軟件Chipscope Pro。在ISE中直接調用數據采集的核(包括ICON、ILA和VIO)就能使用Chipscope來(lái)觀(guān)測FPGA芯片內部的信號。模擬產(chǎn)生一串從0開(kāi)始遞增的數據發(fā)送給GTX,然后通過(guò)Chipscope檢測接收到的數據值,其采樣圖如圖6所示。

  從圖7可看出數據呈現非常規律的分布,從數據放大后的圖中可看出是非常規律的遞增碼。本系統自設計完成以來(lái)已經(jīng)做過(guò)多次測試,為配合數據測試的需要還為本系統開(kāi)發(fā)一套上位機數據誤碼檢測軟件。由于每次測試使用的數據格式都不同,每次存儲的數據量不少于2TB,數據存入固態(tài)硬盤(pán)后用數據誤碼檢測軟件對數據進(jìn)行檢測,經(jīng)反復測試后的結果證明,所設計的高速存儲系統存儲速度不低于800MB/S并且性能穩定、數據準確率高。

5 結束語(yǔ)

  本文給出了一個(gè)基于SATA協(xié)議的高速存儲系統的設計,由于SATA協(xié)議傳輸速率較高、通信過(guò)程較為復雜,以往只能在專(zhuān)用芯片上實(shí)現。隨著(zhù)越來(lái)越多高端FPGA集成了串行通信模塊,在FPGA內部可以實(shí)現整個(gè)SATA協(xié)議,系統設計完成后,測試結果顯示其體積小、抗干擾能力強、傳輸速度快且穩定性好,因而有很廣闊的應用前景。

參考文獻:

  [1]Serial ATA International Organization.Serial ATA Revision2.0[S].USA,2005.08.

  [2]張天文.基于SATA2.0接口的固態(tài)硬盤(pán)控制器的設計與實(shí)現[D]. 中北大學(xué), 2015.

  [3]寇科男. SATA接口技術(shù)研究及設計[D]. 哈爾濱工業(yè)大學(xué), 2010.

  [4].Process Local Bus(PLB)v4.6(v1.03a)[S].USA:Xilinx,2008.

  [5]趙峰. FPGA上的嵌入式系統設計實(shí)例[M].西安:西安電子科技大學(xué)出版社, 2008.

  [6]趙國慶.雷達對抗原理[M].西安:西安電子科技大學(xué)出版社,1999.

  [7]Xilinx.FIFO Generator v4.4 User Guide[S].USA:Xilinx,2008.

本文來(lái)源于中國科技期刊《電子產(chǎn)品世界》2016年第6期第39頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>