一種基于FPGA的NVMe SSD只讀保護方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及硬盤數(shù)據(jù)讀寫領(lǐng)域,具體地說是一種基于FPGA的NVMe SSD只讀保護方法。
【背景技術(shù)】
[0002]近年來,隨著信息網(wǎng)絡(luò)的快速發(fā)展,對硬盤的速率追求日益增加,基于PCIE (英文全稱為Peripheral Component Interconnect Express,中文翻譯為高速外圍組件互聯(lián))接口的NVMe SSD應(yīng)運而生,在數(shù)據(jù)存儲,備份以及分析中都需要對源數(shù)據(jù)進行很好的保護,但是由于計算機并不是具備所有存儲設(shè)備的接口,所以往往會用的一些轉(zhuǎn)接裝置?,F(xiàn)有的各種轉(zhuǎn)接裝置往往都是即插即用,在數(shù)據(jù)通道沒有建立或者數(shù)據(jù)讀寫不穩(wěn)定時對存儲設(shè)備供電會造成存儲設(shè)備的損壞。
[0003]
【發(fā)明內(nèi)容】
本發(fā)明的技術(shù)任務(wù)是針對以上不足,提供一種基于FPGA (英文全稱為Field —Programmable Gate Array,中文翻譯為現(xiàn)場可編程門陣列)的NVMe (英文全稱為Non-Volatile Memory Express,中文翻譯為快速非易失性存儲)SSD (英文全稱為:SolidState Disk,中文翻譯為固態(tài)硬盤)只讀保護方法,來解決對硬盤操作過程中對數(shù)據(jù)的損壞問題。
[0004]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于FPGA的NVMe SSD只讀保護方法,將CPU (英文全稱為Central ProcessingUnit,中文翻譯為中央處理器)控制單元、PCIE設(shè)備只讀單元、接口電路集成在FPGA上,F(xiàn)PGA上還設(shè)置有USB (英文全稱為Universal Serial Bus,中文翻譯為通用串行總線)和SATA(英文全稱Serial Advanced Technology Attachment,中文翻譯為串行高級技術(shù)附件)/eSATA(英文全稱External Serial Advanced Technology Attachment,中文翻譯為外部串行高級技術(shù)附件)接口 ;CPU控制單元、PCIE設(shè)備只讀單元、接口電路依次串聯(lián)連接,NVMe SSD通過接口電路與FPGA連接;CPU在FPGA中進行寫保護以及讀取操作。
[0005]進一步的,CPU控制單元中,CPU 對 DMA(英文全稱為 Direct1nal Memory Access,中文翻譯為直接內(nèi)存訪問)傳輸狀態(tài)機進行配置,DMA包括讀操作、寫保護操作以及仲裁;DMA運行步驟為,初始條件下,DMA處于復(fù)位狀態(tài),通過讀取DMA信息標(biāo)示符來判斷當(dāng)前是否處于空閑狀態(tài),并從內(nèi)部讀取DMA控制信息,并相應(yīng)的進行讀操作或?qū)懕Wo操作。
[0006]進一步的,PCIE設(shè)備只讀單元包括IP(英文全稱為Internet Protocol,中文翻譯為網(wǎng)絡(luò)之間互連的協(xié)議)模塊,IP模塊連接CPU控制單元。
[0007]進一步的,接口電路的一端設(shè)置有SFF-8639接口,SFF-8639接口連接NVMe SSD ;接口電路的另一端設(shè)置有USB3.0接口和SATA/eSATA接口。
[0008]進一步的,CPU通過USB3.0接口和SATA/eSATA接口對NVMe SSD進行讀操作。
[0009]進一步的,CPU通過SFF-8639接口對NVMe SSD進行寫保護操作。
[0010]本發(fā)明的一種基于FPGA的NVMe SSD只讀保護方法和現(xiàn)有技術(shù)相比,具有以下有益效果:本發(fā)明中CPU通過FPGA中SFF-8639接口直接連接NVMe SSD,在FPGA中通過程序進行寫保護操作,并通過USB和SATA/eSATA接口進行讀操作,讀取速率快,通過FPGA實現(xiàn)CPU與NVMe SSD數(shù)據(jù)的直接互聯(lián),對數(shù)據(jù)實現(xiàn)完整保護;同時數(shù)據(jù)通道穩(wěn)定,提高了數(shù)據(jù)在傳輸過程的穩(wěn)定性。
【附圖說明】
[0011 ] 圖1為本發(fā)明中FPGA架構(gòu)及CPU控制單元;
圖中,DMA Read表示DMA讀操作,DMA Write表示DMA寫操作,DMA Control表示DMA仲裁,Common表不公用信號,DATA表不數(shù)據(jù)信號。
【具體實施方式】
[0012]下面結(jié)合圖1對本發(fā)明作進一步說明。
[0013]一種基于FPGA的NVMe SSD只讀保護設(shè)計方法,將CPU控制單元、PCIE設(shè)備只讀單元、接口電路集成在FPGA上,F(xiàn)PGA上還設(shè)置有USB和SATA/eSATA接口 ;CPU控制單元、PCIE設(shè)備只讀單元、接口電路依次串聯(lián)連接,NVMe SSD通過接口電路與FPGA連接.’CPU在FPGA中進行寫保護以及讀取操作。
[0014]其結(jié)構(gòu)包括CPU控制單元、PCIE設(shè)備只讀單元、接口電路。
[0015]CPU控制單元是設(shè)計方法的核心,具有PCIE協(xié)議分析轉(zhuǎn)換,實現(xiàn)數(shù)據(jù)傳輸功能??刂茢?shù)據(jù)傳輸流向,數(shù)據(jù)傳輸過程中格式轉(zhuǎn)換及封裝,對傳輸?shù)臄?shù)據(jù)進行校驗。對DMA傳輸狀態(tài)機進行配置,DMA主要分為讀操作、寫保護操作以及仲裁3部分。初始條件下,DMA處于復(fù)位狀態(tài),通過讀取DMA信息標(biāo)示符來判斷當(dāng)前是否處于空閑狀態(tài),并從內(nèi)部讀取DMA控制信息,并相應(yīng)的進入讀操作或?qū)懕Wo操作。以CPU讀外部存儲器為例,CPU讀FPGA外部存儲器時,F(xiàn)PGA將發(fā)出對CPU的DMA寫請求,并當(dāng)DMA完成讀操作后,等待PCIE接口發(fā)送DMA數(shù)據(jù)包,并由中斷標(biāo)志位判斷是否開啟PCIE中斷。而對于寫操作時,CPU控制與PCIE設(shè)備完成命令交換,但對于寫入的數(shù)據(jù)進行丟棄,起到保護原數(shù)據(jù)的作用。
[0016]PCIE設(shè)備只讀單元,F(xiàn)PGA的PCIE硬核IP包含處理層,鏈路層和物理層所要求的全部功能,以及大多數(shù)的可選功能。只需在IP常數(shù)設(shè)置中經(jīng)過簡單的參數(shù)設(shè)置即可生成全功能的IP模塊;與CPU控制單元進行交互,將讀取設(shè)備的命令傳遞,控制傳輸NVMe SSD讀數(shù)據(jù)的傳遞;對寫入命令進行控制,保持CPU正常狀態(tài),控制寫入數(shù)據(jù),不對NVMe SSD進行寫入操作。
[0017]接口電路,在PCIE端為SFF-8639接口,支持NVMe SSD ;在終端接入具有USB3.0和SATA/eSATA高速接口,具有較高的通用性和數(shù)據(jù)傳輸速率。
[0018]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護范圍。
[0019]除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
【主權(quán)項】
1.一種基于FPGA的NVMe SSD只讀保護方法,其特征在于將CPU控制單元、PCIE設(shè)備只讀單元、接口電路集成在FPGA上,F(xiàn)PGA上還設(shè)置有USB和SATA/eSATA接口 ;CPU控制單元、PCIE設(shè)備只讀單元、接口電路依次串聯(lián)連接,NVMe SSD通過接口電路與FPGA連接.’CPU在FPGA中進行寫保護以及讀取操作。2.根據(jù)權(quán)利要求1所述的一種基于FPGA的NVMeSSD只讀保護方法,其特征在于CPU控制單元中,CPU對DMA傳輸狀態(tài)機進行配置,DMA包括讀操作、寫保護操作以及仲裁;DMA運行步驟為,初始條件下,DMA處于復(fù)位狀態(tài),通過讀取DMA信息標(biāo)示符來判斷當(dāng)前是否處于空閑狀態(tài),并從內(nèi)部讀取DMA控制信息,并相應(yīng)的進行讀操作或?qū)懕Wo操作。3.根據(jù)權(quán)利要求1所述的一種基于FPGA的NVMeSSD只讀保護方法,其特征在于PCIE設(shè)備只讀單元包括IP模塊,IP模塊連接CPU控制單元。4.根據(jù)權(quán)利要求1所述的一種基于FPGA的NVMeSSD只讀保護方法,其特征在于接口電路的一端設(shè)置有SFF-8639接口,SFF-8639接口連接NVME SSD ;接口電路的另一端設(shè)置有USB3.0 接口和 SATA/eSATA 接P。5.根據(jù)權(quán)利要求4所述的一種基于FPGA的NVMeSSD SSD只讀保護方法,其特征在于CPU通過USB3.0接口和SATA/eSATA接口對NVMe SSD進行讀操作。6.根據(jù)權(quán)利要求4所述的一種基于FPGA的NVMeSSD只讀保護方法,其特征在于CPU通過SFF-8639接口對NVMe SSD進行寫保護操作。
【專利摘要】本發(fā)明公開了一種基于FPGA的NVMe?SSD只讀保護方法,屬于硬盤數(shù)據(jù)讀寫領(lǐng)域,本發(fā)明要解決的技術(shù)問題為硬盤操作過程中對數(shù)據(jù)的損壞。該方法為將CPU控制單元、PCIE設(shè)備只讀單元、接口電路集成在FPGA上,F(xiàn)PGA上還設(shè)置有USB和SATA/eSATA接口;CPU控制單元、PCIE設(shè)備只讀單元、接口電路依次串聯(lián)連接,NVNESSD通過接口電路與FPGA連接;CPU在FPGA中進行寫保護以及讀取操作。本發(fā)明CPU通過FPGA上的接口與NVME?SSD直接互聯(lián),在FPGA上進行完整的數(shù)據(jù)保護。
【IPC分類】G11C16/22, G06F13/30
【公開號】CN105161132
【申請?zhí)枴緾N201510533694
【發(fā)明人】郭圣彬
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2015年12月16日
【申請日】2015年8月27日