一種基于fpga的pcie轉sata接口陣列的裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及計算機總線接口轉換領域,特別涉及一種基于FPGA的PCIE轉SATA接口陣列的裝置。
【背景技術】
[0002]計算機網絡技術迅猛發(fā)展,建立了多種多樣的網絡系統(tǒng),帶來了各種網絡之間如何互連的問題,而且網絡技術在不斷發(fā)展,在進行標準化的同時產生了多樣化,因此考慮異構網絡的互連通信是不可避免的。在這個基礎上提出了協(xié)議轉換器。
[0003]實際應用中許多設備采用的通信接口各不相同,由于各種通信結構的協(xié)議不兼容,使得異構網絡之間的操作和信息交換難以進行。常用的協(xié)議轉換器只能完成點對點的轉換,協(xié)議之間的相互轉換、一對多的接口擴展也是一個研究熱點。
[0004]PCIE (Peripheral Component Interconnect Express)是新一代的總線接口。早在2001年的春季,英特爾公司就提出了要用新一代的技術取代PCI總線和多種芯片的內部連接,并稱之為第三代I/O總線技術。隨后在2001年底,包括Intel、AMD、DELL、IBM在內的20多家業(yè)界主導公司開始起草新技術的規(guī)范,并在2002年完成,對其正式命名為PCIE。它采用了目前業(yè)內流行的點對點串行連接,比起PCI以及更早期的計算機總線的共享并行架構,PCIE每個設備都有自己的專用連接,不需要向整個總線請求帶寬,而且可以把數據傳輸率提高到一個很高的頻率,達到PCI所不能提供的高帶寬。PCIE總線技術在當今新一代的存儲系統(tǒng)已經普遍的應用。PCIE總線能夠提供極高的帶寬,來滿足系統(tǒng)的需求。PCIE 3.0規(guī)范也已經確定,其編碼數據速率,比同等情況下的PCIE 2.0規(guī)范提高了一倍,x32端口的雙向速率高達32Gbps。
[0005]SATA (Serial Advanced Technology Attachment)即串行高級技術附件。它是一種計算機總線,主要功能是用作主板和大量存儲設備(如硬盤及光盤驅動器)之間的數據傳輸之用。這是一種完全不同于并行 PATA(Parallel Advanced Technology Attachment)的新型硬盤接口類型,由于采用串行方式傳輸數據而得名。SATA總線使用嵌入式時鐘信號,具備了更強的糾錯能力,與以往相比其最大的區(qū)別在于能對傳輸指令(不僅僅是數據)進行檢查,如果發(fā)現錯誤會自動矯正,這在很大程度上提高了數據傳輸的可靠性。串行接口還具有結構簡單、支持熱插拔的優(yōu)點,目前,SATA分別有SATA 1.0速率為1.5Gbit/s、SATA2.0速率為3Gbit/s和SATA3.0速率為6Gbit/s三種規(guī)格。未來將有更快速的SATA Express規(guī)格。
【發(fā)明內容】
[0006]本發(fā)明的目的在于克服現有技術的缺點與不足,提供一種基于FPGA的PCIE轉SATA接口陣列的裝置。
[0007]本發(fā)明的目的通過以下的技術方案實現:
[0008]一種基于FPGA的PCIE轉SATA接口陣列的裝置,包括FPGA芯片、硬盤陣列,其中FPGA芯片內部邏輯實現PCIE接口、SATA接口、DDR(DoubIe Data Rate)存儲器接口,FPGA芯片通過PCIE接口與外部進行數據交互,通過SATA接口與硬盤陣列相連從而實現第一種數據緩存方式,通過DDR存儲器接口與DDR存儲器相連從而實現第二種數據緩存方式。
[0009]所述的FPGA芯片包括PCIE控制器、硬盤陣列控制器、接口轉換控制器和DDR控制器,各個控制器通過內部互聯(lián)自定義MBUS (Master Bus)總線連接。
[0010]所述的PCIE控制器提供PCIE接口與外部進行數據交互,采用PCIE總線實現高速數據的傳輸,提供收發(fā)器、時鐘同步、復位邏輯和標準的工業(yè)數據總線接口 ;PCIE總線支持xl、x2、x4、x8、xl6通道,具體根據所掛的SATA接口數量所需的帶寬和所選的FPGA芯片支持的PCIE通道數決定。每個PCIE通道的工作方式為全雙工,傳輸速率最高可達128Gb/s,能達到系統(tǒng)對速率的要求。根據收發(fā)器的動態(tài)配置功能,可以實現對PCIE 1.0、PCIE 2.0和PCIE 3.0協(xié)議的支持,提高系統(tǒng)的靈活性。
[0011]所述的硬盤陣列控制器由多個的SATA控制單元組成,一個SATA控制單元對應硬盤陣列的一個硬盤,SATA控制單元的SATA協(xié)議分四層實現:應用層(Applicat1n Layer)、傳輸層(Transport Layer)、鏈路層(Link Layer)和物理層(Physical Layer) ;SATA 控制單元支持SATA命令解析,包括對命令塊寄存器的訪問和控制,SATA接口根據硬盤接口的標準,速率自協(xié)商支持SATA1.0標準、SATA2.0標準和SATA3.0標準。硬盤陣列控制器最多支持16個SATA接口,由于每個SATA接口的最大訪問地址為48位,則最大的訪問地址空間為52位,高4位用來表示16個硬盤空間,能實現海量的數據存儲。陣列控制器的每個接口獨立控制,以提高系統(tǒng)的工作效率。
[0012]所述的接口轉換控制器外接MBUS接口實現與PCIE控制器、硬盤陣列控制器、DDR控制器之間的數據交互,內部實現PCIE側的讀寫管理,并根據讀寫控制將數據讀出和寫入DDR存儲器;由PCIE側的讀寫命令,產生SATA的管理指令,從而實現SATA側的讀寫管理,同時實現PCIE、SATA的地址管理和兩個接口的地址映射功能。
[0013]所述的DDR控制器實現PCIE接口和SATA接口的數據緩存,DDR控制器采FPGA邏輯實現,模塊引入ECC(Error Correcting Code)糾錯機制。糾錯機制的引入能夠提高DDR控制器的穩(wěn)定性。
[0014]本發(fā)明與現有技術相比,具有如下優(yōu)點和有益效果:
[0015]本發(fā)明基于FPGA硬件控制技術可以實現同時對多個硬盤進行高速存??;基于SATA接口的磁盤陣列可實現數據的海量、高速存儲;基于DDR的高速緩存管理可以充分保證采集數據的穩(wěn)定可靠;高速PCIE接口技術可以很方便的實現與用戶的直接物理對接。本發(fā)明硬件集成度高,可靠性好。該方法具有實時性好、可靠性高的特點,可以實現PCIE接口對硬盤陣列的控制,方便用戶對硬盤陣列的讀寫控制。
【附圖說明】
[0016]圖1為本發(fā)明所述的一種基于FPGA的PCIE轉SATA接口陣列的裝置的結構框圖。
[0017]圖2為圖1所述裝置的硬盤陣列控制器的邏輯組成框圖。
[0018]圖3為圖1所述裝置的PCIE控制器的邏輯組成框圖。
[0019]圖4為圖1所述裝置的自定義MBUS寫接口的時序圖。
[0020]圖5為圖1所述裝置的自定義MBUS讀接口的時序圖。
【具體實施方式】
[0021]下面結合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。
[0022]如圖1,一種基于FPGA的PCIE轉SATA接口陣列的裝置,包括FPGA芯片、硬盤陣列,其中FPGA芯片內部邏輯實現PCIE接口、SATA接口、DDR(DoubIe Data Rate)存儲器接口,FPGA芯片通過PCIE接口與外部進行數據交互,通過SATA接口與硬盤陣列相連從而實現第一種數據緩存方式,通過DDR存儲器接口與DDR存儲器相連從而實現第二種數據緩存方式。
[0023]如圖1,所述的FPGA芯片包括PCIE控制器、硬盤陣列控制器、接口轉換控制器和DDR控制器,各個控制器通過內部互聯(lián)自定義MBUS (Master Bus)總線連接。
[0024]為了方便數據接口的統(tǒng)一和實現高效的數據轉輸,內部互連總線采用了自定義的MBUS接口,時序圖如圖4、圖5所示,為提高總線的帶寬和提高傳輸效率,防止總線讀寫沖突,簡化總線操作,MBUS總線采用了讀寫總線獨立操作的方法,在進行寫入操作時,由主端發(fā)出寫請求信號,總線空閑時進行應答,并在此時總線讀入請求的起始地址和數據長度,延時一拍后進行數據讀入,Be信號為數據字節(jié)使能控制;進行讀出操作時,主端發(fā)出讀請求信號和請求的起始地址、數據長度,總線空閑和準備好數據后進行應答,延時一拍后總線傳出數據。
[0025]所述的PCIE控制器提供PCIE接口與外部進行數據交