一種海量數(shù)據(jù)存儲控制模塊的制作方法
【專利摘要】本發(fā)明涉及一種海量數(shù)據(jù)存儲控制模塊,屬于光電產(chǎn)品應(yīng)用【技術(shù)領(lǐng)域】。本發(fā)明采用可編程邏輯器件來控制存儲器讀寫,操作靈活,可通過改變時鐘,來實現(xiàn)提高或降低數(shù)據(jù)讀寫速率,且存儲器單片存儲容量高,設(shè)計可以采用多片存儲方式,而使存儲容量滿足設(shè)計需求;還通過同時操作多片存儲器芯片,可使讀寫速率提高為單片的多倍。由此,該方案憑借功能強大的可編程邏輯器件和大容量存儲芯片,實現(xiàn)高速、海量數(shù)據(jù)的實時存儲。通過改進可編程邏輯器件的操作策略,在硬件平臺基礎(chǔ)上,可提高或降低數(shù)據(jù)的讀寫速率,而且采用寬溫的存儲器芯片,使得可以工作在惡劣的環(huán)境中,滿足不同的用戶需求。
【專利說明】一種海量數(shù)據(jù)存儲控制模塊
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及光電產(chǎn)品應(yīng)用【技術(shù)領(lǐng)域】,具體涉及一種海量數(shù)據(jù)存儲控制模塊。
【背景技術(shù)】
[0002]隨著微機的廣泛應(yīng)用和各類總線數(shù)據(jù)采集產(chǎn)品的不斷完善,現(xiàn)在許多工作場所都建立了以微機為基礎(chǔ)的數(shù)據(jù)采集與處理系統(tǒng)。但是,這些設(shè)備大多數(shù)是在低速和常溫下工作的,適用于低速信號的連續(xù)采集與處理,而針對某些高速數(shù)據(jù)采集系統(tǒng),目前大都采集有限的數(shù)據(jù),之所以如此,是因為主要受到缺乏高速、大容量外部存儲器設(shè)備的限制。
[0003]近年來,微機技術(shù)發(fā)展極為迅速,運算速度不斷提高,內(nèi)存和外部容量不斷增加,能否利用微機本身的資源來實現(xiàn)連續(xù)高速數(shù)據(jù)采集與存儲,就是人們努力的方向。
[0004]在這方面,人們已經(jīng)進行了許多工作,并取得了不少積極成果。通常在內(nèi)存開辟一個較大的存儲區(qū),例如1MB,將高速采集到的數(shù)據(jù)利用DMA方式(Direct Memory Access,成組數(shù)據(jù)傳送方式)連續(xù)存儲到內(nèi)存緩沖區(qū),待內(nèi)存存滿之后,再將數(shù)據(jù)迅速送往硬盤進行永久性存儲。或是利用中斷方式將采集到的一個個數(shù)據(jù)塊送到硬盤存儲。此外,還可以在內(nèi)存區(qū)開辟兩個數(shù)據(jù)緩沖區(qū)或是一個“環(huán)形”的數(shù)據(jù)緩沖區(qū),高速采集到的數(shù)據(jù)源源不斷地送往緩沖區(qū),同時不失時機地將緩沖區(qū)的數(shù)據(jù)送往硬盤加以存儲。
[0005]上述采用的方式在較低速率下可以滿足設(shè)計需求,但是當(dāng)對存儲帶寬有較高要求時,上述的方式可能不能夠滿足設(shè)計要求。將大量的數(shù)據(jù),例如幾十GB甚至上百GB的數(shù)據(jù)存儲到外部芯片中,這時會對存儲速度及其外部芯片的存儲容量都會有嚴格要求。通常方式下,對于存儲器的讀寫等操作控制,通常是通過存儲器控制器來實現(xiàn)的。但是物理的控制器件一般不能滿足復(fù)雜的設(shè)計要求。因此,迫切需要一種可編程的存儲器控制器。此外,目前國內(nèi)海量數(shù)據(jù)存儲中,基本上采取硬盤存儲方式。使用硬盤存儲方式需要為存儲設(shè)備提供較大的安裝空間,同時對工作溫度、濕度有較高要求,不能應(yīng)用于惡劣的工作環(huán)境中。
【發(fā)明內(nèi)容】
[0006](一)要解決的技術(shù)問題
[0007]本發(fā)明要解決的技術(shù)問題是如何設(shè)計出一種海量數(shù)據(jù)存儲控制系統(tǒng),通過可編程邏輯器件來控制存儲器芯片的操縱,實現(xiàn)數(shù)據(jù)的編程、讀出操作,要求該系統(tǒng)可工作在惡劣環(huán)境中,實現(xiàn)對數(shù)據(jù)的高速實時存儲。
[0008](二)技術(shù)方案
[0009]為了解決上述技術(shù)問題,本發(fā)明提供一種海量數(shù)據(jù)存儲控制模塊,其包括:
[0010]可編程邏輯器件,其用于根據(jù)用戶需求指令來控制存儲器組進行相應(yīng)操作;
[0011]存儲器陣列,其用于在所述可編程邏輯器件的控制下,執(zhí)行數(shù)據(jù)寫入、讀出、擦出等操作。
[0012]其中,所述可編程邏輯器件包括:操作項目選擇單元、無效塊校驗單元、擦除操縱單元、寫入操縱單元以及讀出操縱單元;[0013]所述操作項目選擇單元用于根據(jù)用戶需求指令來選擇具體操作單元,生成對應(yīng)的操作單元指令;
[0014]所述無效塊校驗單元用于根據(jù)與其對應(yīng)的所述操作單元指令進行數(shù)據(jù)字符串中無效塊的檢驗操作,檢測存儲器中的無效塊地址;
[0015]所述擦除操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行擦除操作;
[0016]所述寫入操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行寫入操作;
[0017]所述讀出操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行讀出操作。
[0018]其中,所述可編程邏輯器件為FPGA可編程邏輯器件,其采用同時操縱多片存儲器芯片的方式來工作。
[0019]其中,通過改變所述FPGA可編程邏輯器件預(yù)設(shè)置的時鐘,來實現(xiàn)提高或降低數(shù)據(jù)的讀寫速率。
[0020]其中,所述FPGA可編程邏輯器件為XILINX公司的Virtex-ΙΙ系列FPGA可編程邏輯器件。
[0021]其中,所述存儲器陣列包括若干組存儲器組合。
[0022]其中,所述存儲器組合中包含若干片存儲器芯片。
[0023]其中,所述存儲器芯片為寬溫芯片。
[0024](三)有益效果
[0025]與現(xiàn)有技術(shù)相比較,本發(fā)明具有以下技術(shù)特點:
[0026](I)本發(fā)明技術(shù)方案采用可編程邏輯器件來控制存儲器的讀寫,操作過程靈活,可以通過改變預(yù)設(shè)置的時鐘,來實現(xiàn)提高或降低數(shù)據(jù)的讀寫速率。
[0027](2)本發(fā)明技術(shù)方案中所采用的存儲器單片存儲容量高達P GB (P可以為1、2、4、8),設(shè)計可以采用多片存儲方式,從而使存儲容量滿足設(shè)計需求,存儲容量為PGBXNXM,其中,N為每組存儲器片數(shù)、M為組數(shù)。
[0028](3)在現(xiàn)有技術(shù)中,存儲器的單片讀寫速率可能很難滿足設(shè)計需求,因此,本發(fā)明技術(shù)方案通過同時操作多片存儲器芯片,可以使讀寫速率提高為單片的N倍,其中,N為每組存儲器片數(shù)。
[0029]綜上所述,本發(fā)明提供的海量數(shù)據(jù)存儲控制模塊采用功能強大的可編程邏輯器件和大容量存儲芯片,實現(xiàn)了高速、海量數(shù)據(jù)的實時存儲。通過改進可編程邏輯器件的操作策略,在硬件平臺基礎(chǔ)上,可以提高或降低數(shù)據(jù)的讀寫速率,而且采用寬溫的存儲器芯片,海量數(shù)據(jù)存儲控制模塊可以工作在惡劣的環(huán)境中,滿足不同的用戶需求。
【專利附圖】
【附圖說明】
[0030]圖1為本發(fā)明的海量數(shù)據(jù)存儲控制模塊的結(jié)構(gòu)框圖。
[0031]圖2為本發(fā)明的存儲器芯片的陣列組織示意圖。
【具體實施方式】[0032]為使本發(fā)明的目的、內(nèi)容和優(yōu)點更加清楚,下面結(jié)合附圖和實施例,對本發(fā)明的【具體實施方式】作進一步詳細描述。
[0033]針對現(xiàn)有技術(shù)的迫切需求,本發(fā)明利用可編程邏輯器件,比如,利用FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)可以設(shè)計復(fù)雜的存儲器控制器,它具有很高的靈活性,可以方便地和其他數(shù)據(jù)緩存接口電路進行連接,實現(xiàn)復(fù)雜的設(shè)計要求。具體而言,本發(fā)明所提供的海量數(shù)據(jù)存儲控制模塊,其包括:可編程邏輯器件,其用于根據(jù)用戶需求指令來控制存儲器組進行相應(yīng)操作;存儲器陣列,其用于在所述可編程邏輯器件的控制下,執(zhí)行數(shù)據(jù)寫入、讀出、擦出等操作。
[0034]其中,所述可編程邏輯器件包括:操作項目選擇單元、無效塊校驗單元、擦除操縱單元、寫入操縱單元以及讀出操縱單元;所述操作項目選擇單元用于根據(jù)用戶需求指令來選擇具體操作單元,生成對應(yīng)的操作單元指令;所述無效塊校驗單元用于根據(jù)與其對應(yīng)的所述操作單元指令進行數(shù)據(jù)字符串中無效塊的檢驗操作,檢測存儲器中的無效塊地址;所述擦除操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行擦除操作;所述寫入操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行寫入操作;所述讀出操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行讀出操作。
[0035]其中,所述可編程邏輯器件為FPGA可編程邏輯器件,其采用同時操縱多片存儲器芯片的方式來工作。所述FPGA可編程邏輯器件為XILINX公司的Virtex-1I系列FPGA可編程邏輯器件。
[0036]其中,所述存儲器陣列包括若干組存儲器組合。所述存儲器組合中包含若干片存儲器芯片,并且,所述存儲器芯片為寬溫芯片。
[0037]下面結(jié)合附圖及具體實施例來詳細描述本發(fā)明技術(shù)方案的實施方法。
[0038]實施例
[0039]本實施例所提供的海量數(shù)據(jù)存儲控制模塊,主要由可編程邏輯器件和存儲器芯片組成。
[0040]可編程邏輯器件采用美國XILINX公司的Virtex-1I系列芯片,該系列器件邏輯門最大可達800萬門,用戶管腳最大可達1108個,編程操作靈活,工作溫度范圍為_40°C?100°C。本實施例中所選用的型號規(guī)格為XC2V1500-5FG676I,該芯片邏輯資源可達150萬門,內(nèi)含8個DCM,封裝為FG676,用戶管腳最多可達392個。芯片I/O電壓3.3V,核電壓
1.5V??删幊踢壿嬈骷撠?zé)實現(xiàn)存儲器的控制操作,主要操作有校驗無效塊操作、擦除操縱、寫入操作及讀出操作等,上述操縱通過在FPGA內(nèi)編程實現(xiàn)。為了提高存儲系統(tǒng)的讀寫速率,設(shè)計采用可編程邏輯器件同時操作多片存儲器方式,從而使系統(tǒng)讀寫速率是單片讀寫速率的N倍,其中,N為同時操作的存儲器片數(shù)。海量數(shù)據(jù)存儲控制模塊的結(jié)構(gòu)框圖如圖1所示。
[0041]存儲器芯片選用SAMSUNG公司的FLASH大容量存儲器,芯片型號規(guī)格為K9K8G08U0M,該芯片單片存儲容量為1GB,數(shù)據(jù)總線8位,無地址線,芯片封裝為TS0P48。隨著工藝發(fā)展,SAMSUNG公司陸續(xù)推出同封裝,容量加倍的存儲器,目前市面上該類存儲器單片容量可達8GB,工作溫度為-40°C?85°C,數(shù)據(jù)寫入速率典型值為lOMB/s,讀出速率典型值為38MB/s,數(shù)據(jù)保存時間長達10年,芯片的陣列組織見圖2所示。其中,Iblock (塊)=64Pages (頁),則:
[0042]IPage = (2K+64) Bytes ;
[0043]IBlock = (2K+64)BX64Pages = (128K+4K) Bytes ;
[0044]IDevice = (2K+64)BX64PagesX8.192Blocks = 8.448Mbits。
[0045]因此可以在保持硬件平臺不變的情況下,通過更換大容量存儲芯片,升級可編程邏輯器件程序來提高存儲系統(tǒng)的存儲容量。
[0046]其中,芯片的操作是通過執(zhí)行相應(yīng)的命令字來完成的,芯片的操作命令字見表1所示??删幊踢壿嬈骷撠?zé)實現(xiàn)存儲器控制器功能,同時控制多片存儲器的無效塊校驗、讀出操作、編程操作和擦除操作等。廠家保證每一片存儲器的第一個Block —定是有效的,SP可以進行擦除和編程操作。在無效塊校驗過程中,可編程邏輯器件記錄每片存儲器的無效塊地址,并將無效塊地址存儲到第一個Block中。在以后的編程、讀出操作時,可編程邏輯器件首先將第一個Block中的無效塊地址讀到內(nèi)部RAM中。在進行編程、讀出操作時,會進行要操縱地址與無效塊地址的比較。若地址相同,說明該地址為無效塊地址,則會跳過該地址,操作下一個地址。
[0047]表1.操作命令字
[0048]
【權(quán)利要求】
1.一種海量數(shù)據(jù)存儲控制模塊,其特征在于,所述海量存儲控制模塊包括: 可編程邏輯器件,其用于根據(jù)用戶需求指令來控制存儲器組進行相應(yīng)操作; 存儲器陣列,其用于在所述可編程邏輯器件的控制下,執(zhí)行數(shù)據(jù)寫入、讀出、擦出操作。
2.如權(quán)利要求1所述的海量數(shù)據(jù)存儲控制模塊,其特征在于,所述可編程邏輯器件包括:操作項目選擇單元、無效塊校驗單元、擦除操縱單元、寫入操縱單元以及讀出操縱單元; 所述操作項目選擇單元用于根據(jù)用戶需求指令來選擇具體操作單元,生成對應(yīng)的操作單元指令; 所述無效塊校驗單元用于根據(jù)與其對應(yīng)的所述操作單元指令進行數(shù)據(jù)字符串中無效塊的檢驗操作,檢測存儲器中的無效塊地址; 所述擦除操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行擦除操作; 所述寫入操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行寫入操作; 所述讀出操縱單元用于在無效塊以外的其他數(shù)據(jù)存儲區(qū)內(nèi),根據(jù)與其對應(yīng)的操作單元指令對存儲器芯片中的數(shù)據(jù)進行讀出操作。
3.如權(quán)利要求1所述的海量數(shù)據(jù)存儲控制模塊,其特征在于,所述可編程邏輯器件為FPGA可編程邏輯器件,其采用同時操縱多片存儲器芯片的方式來工作。
4.如權(quán)利要求3所述的海量數(shù)據(jù)存儲控制模塊,其特征在于,通過改變所述FPGA可編程邏輯器件預(yù)設(shè)置的時鐘,來實現(xiàn)提高或降低數(shù)據(jù)的讀寫速率。
5.如權(quán)利要求3所述的海量數(shù)據(jù)存儲控制模塊,其特征在于,所述FPGA可編程邏輯器件為XILINX公司的Virtex-1I系列FPGA可編程邏輯器件。
6.如權(quán)利要求1所述的海量數(shù)據(jù)存儲控制模塊,其特征在于,所述存儲器陣列包括若干組存儲器組合。
7.如權(quán)利要求6所述的海量數(shù)據(jù)存儲控制模塊,其特征在于,所述存儲器組合中包含若干片存儲器芯片。
8.如權(quán)利要求7所述的海量數(shù)據(jù)存儲控制模塊,其特征在于,所述存儲器芯片為寬溫-H-* I I心/T O
【文檔編號】G06F12/06GK103699333SQ201210371101
【公開日】2014年4月2日 申請日期:2012年9月27日 優(yōu)先權(quán)日:2012年9月27日
【發(fā)明者】穆建文, 楊舒, 覃奮 申請人:中國航天科工集團第二研究院二O七所