一種支持邏輯電路快速查詢的存儲器裝置及其訪問方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種存儲器及其查詢數(shù)據(jù)的方法,特別是涉及一種支持邏輯電路快速查詢的存儲器裝置及其訪問方法。
【背景技術(shù)】
[0002]當(dāng)今信息技術(shù)的發(fā)展及創(chuàng)新正使各個(gè)產(chǎn)業(yè)發(fā)生改變,在信息爆炸時(shí)代產(chǎn)生了海量數(shù)據(jù)。而數(shù)據(jù)正滲透到當(dāng)今每一個(gè)行業(yè)和業(yè)務(wù)職能領(lǐng)域,成為重要的生產(chǎn)因素。各行各業(yè)海量數(shù)據(jù)的挖掘和運(yùn)用,預(yù)示著新一波生產(chǎn)率增長和消費(fèi)者盈余浪潮的到來,正如《紐約時(shí)報(bào)》2012年2月的一篇專欄中所稱,“大數(shù)據(jù)”時(shí)代已經(jīng)降臨,在商業(yè)、經(jīng)濟(jì)及其他領(lǐng)域中,決策將日益基于數(shù)據(jù)和分析而作出,而并非基于經(jīng)驗(yàn)和直覺。
[0003]大數(shù)據(jù)是一個(gè)數(shù)據(jù)巨大,結(jié)構(gòu)復(fù)雜,類型眾多的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合,一方面是數(shù)據(jù)容量的不斷擴(kuò)大,數(shù)據(jù)集合的范圍已經(jīng)從兆字節(jié)(MB)到吉字節(jié)(GB)再到太字節(jié)(TB),甚至還有拍字節(jié)(PB)、艾字節(jié)(EB)和澤字節(jié)(ZB)的計(jì)數(shù)單位出現(xiàn)。著名咨詢公司IDC的研宄報(bào)告稱,未來十年全球大數(shù)據(jù)將增加50倍。僅在2011年,就有1.8ZB (也就是1.8萬億GB)的大數(shù)據(jù)創(chuàng)建產(chǎn)生。這相當(dāng)于每位美國人每分鐘寫3條微博,而且還是不停地寫2.6976萬年。在未來十年,管理數(shù)據(jù)倉庫的服務(wù)器的數(shù)量將增加10倍以便迎合50倍的大數(shù)據(jù)增長。截止到2012年,數(shù)據(jù)量已經(jīng)從TB(1024GB = 1TB)級別躍升到PB (1024TB = 1PB)、EB (1024PB=1EB)乃至ZB(1024EB = 1ZB)級別,另一方面,日益增長的集成式大數(shù)據(jù)已不再適宜于用當(dāng)前管理數(shù)據(jù)庫的工具來進(jìn)行分析處理。其難點(diǎn)包括:數(shù)據(jù)的抓取,存儲,檢索,共享,分析以及可視化等。
[0004]海量數(shù)據(jù)時(shí)代,人們已經(jīng)不再為數(shù)據(jù)匱乏而苦惱,信息也變得不再昂貴,而如何從海量數(shù)據(jù)中獲得數(shù)據(jù)卻變得越發(fā)昂貴,如何在海量數(shù)據(jù)中快速準(zhǔn)確抓取用戶所需要的數(shù)據(jù)成為現(xiàn)在社會關(guān)注的重點(diǎn)也是當(dāng)下急需要解決的難點(diǎn)。當(dāng)前,各行業(yè)對海量數(shù)據(jù)需求的趨勢越來越呈現(xiàn)以下方面:期望實(shí)時(shí)決策;2:希望在面臨風(fēng)險(xiǎn)的情況下做出決策;3:希望在適當(dāng)?shù)臅r(shí)間及時(shí)的提供產(chǎn)品;4:用戶希望很好的體驗(yàn);5:需要及時(shí)及正確的應(yīng)對任何問題。傳統(tǒng)用戶所用的信息檢索方式如圖1所示。用戶通過服務(wù)器系統(tǒng)向存儲器系統(tǒng)中發(fā)送數(shù)據(jù)請求,數(shù)據(jù)中心服務(wù)器收到命令開始從存儲系統(tǒng)中查詢和搜索用戶所需要的數(shù)據(jù)信息,顯然,CPU只能直接處理內(nèi)存中的數(shù)據(jù)信息,CPU先從內(nèi)存中搜索數(shù)據(jù),如不命中則從存儲器系統(tǒng)中搜索查詢,然后將查找的到數(shù)據(jù)的整個(gè)塊搬至內(nèi)存中,然后再將結(jié)果返回至用戶端。顯然,從海量數(shù)據(jù)中搜索出有價(jià)值的數(shù)據(jù)會耗費(fèi)大量CPU的時(shí)間,將數(shù)據(jù)從存儲系統(tǒng)導(dǎo)入內(nèi)存中,造成了大量的數(shù)據(jù)迀移,致使系統(tǒng)功耗增加。對于日益龐大的數(shù)據(jù)系統(tǒng)來說,從存儲器系統(tǒng)向服務(wù)器內(nèi)存中導(dǎo)入數(shù)據(jù)時(shí)限制處理器處理速度的一個(gè)大瓶頸,因?yàn)槲覀冎溃还苁鞘裁创鎯ζ飨到y(tǒng),其對其數(shù)據(jù)讀寫速率要遠(yuǎn)遠(yuǎn)小于對內(nèi)存數(shù)據(jù)的讀寫速率。
[0005]如何解決傳輸瓶頸成為了關(guān)鍵的問題。目前,為了提高服務(wù)器處理器處理數(shù)據(jù)的速度,可采用IMC (IMC,In Memory Computat1n)技術(shù)來提高處理速度,該技術(shù)是通過增加內(nèi)存的容量,從而可以一次性導(dǎo)入更多的數(shù)據(jù)量,從而加快處理器處理數(shù)據(jù)的速率。這樣的方法在一定程度上可以提高數(shù)據(jù)處理的速度,但是一定數(shù)量的處理器核的內(nèi)存容量是一定的,當(dāng)想要更大的內(nèi)存就需要增加更多數(shù)量的處理器核,這樣就增加了成本,且增加各個(gè)處理器核之間的協(xié)調(diào)工作的難度,這樣的架構(gòu)也無法充分發(fā)揮多CPU內(nèi)核的潛在的高性能,且數(shù)據(jù)經(jīng)存儲器系統(tǒng)經(jīng)內(nèi)存到CPU,數(shù)據(jù)吞吐瓶頸依然存在,存儲設(shè)備只“存放”數(shù)據(jù),耗時(shí)的計(jì)算仍然習(xí)慣性在CPU完成,并且由于內(nèi)存是易失性的存儲器,需要定時(shí)刷新數(shù)據(jù),所以造成的功耗也非常的大。
[0006]如此龐大的數(shù)據(jù)庫中用戶真正感興趣的信息往往只是冰山一角,處理器大部分時(shí)間在搜索和查詢那些用戶真正需要的數(shù)據(jù),大大浪費(fèi)了時(shí)間和資源。存儲器系統(tǒng)都有控制器,它們的任務(wù)是對存儲單元進(jìn)行控制盒管理,例如磨損均衡、模塊選擇、錯(cuò)誤糾察、數(shù)據(jù)讀寫等任務(wù),大部分時(shí)間處于空閑狀態(tài),但是控制器是通過虛擬內(nèi)存地址來管理存儲器,造成了執(zhí)行效率不高,且有一定出錯(cuò)概率。
[0007]綜上所述,如何減少甚至杜絕數(shù)據(jù)迀移來提高系統(tǒng)效率的關(guān)鍵,如何利用存儲器中的控制器并且如何提高存儲器控制器的執(zhí)行效率及管理存儲器地址的方法,是我們急需要解決的問題。
[0008]因此,有必要提出一種支持邏輯電路快速查詢的存儲器裝置及其訪問方法,來解決上述問題。
【發(fā)明內(nèi)容】
[0009]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種支持邏輯電路快速查詢的存儲器裝置及其訪問方法,用于解決現(xiàn)有技術(shù)中的控制器通過虛擬內(nèi)存地址來管理存儲器,造成了執(zhí)行效率不高且出錯(cuò)概率高的問題。
[0010]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種支持邏輯電路快速查詢的存儲器裝置,該裝置至少包括:存儲器;與所述存儲器連接的存儲器控制器;所述存儲器控制器包括:控制器,用于解析來自服務(wù)器的指令并使得服務(wù)器直接讀取所述存儲器中的信息;邏輯電路,用于按照所述服務(wù)器發(fā)出的指令來查詢所述存儲器中的信息并將所查詢的信息返回給所述服務(wù)器;該存儲器裝置還包括一接口 ;所述存儲器控制器通過所述接口連接于所述服務(wù)器。
[0011]作為本發(fā)明的支持邏輯電路快速查詢的存儲器裝置的一種優(yōu)選方案,所述存儲器控制器連接于服務(wù)器;所述存儲器連接于所述服務(wù)器。
[0012]作為本發(fā)明的支持邏輯電路快速查詢的存儲器裝置的一種優(yōu)選方案,所述存儲器為DRAM、PCRAM、SRAM, NORFLASH中的一種或多種組合。
[0013]作為本發(fā)明的支持邏輯電路快速查詢的存儲器裝置的一種優(yōu)選方案,所述邏輯電路為通用型集成電路芯片或?qū)S眉呻娐纺K。
[0014]作為本發(fā)明的支持邏輯電路快速查詢的存儲器裝置的一種優(yōu)選方案,所述通用型集成電路芯片為FPGA芯片。
[0015]作為本發(fā)明的支持邏輯電路快速查詢的存儲器裝置的一種優(yōu)選方案,所述專用集成電路模塊為ASIC模塊。
[0016]作為本發(fā)明的支持邏輯電路快速查詢的存儲器裝置的一種優(yōu)選方案,所述接口為隨機(jī)訪問接口。
[0017]本發(fā)明還提供一種支持邏輯電路快速查詢的存儲器裝置的訪問方法,所述訪問方法至少包括:(I)所述服務(wù)器將該讀取或查詢指令通過接口發(fā)送至所述存儲器控制器;(2)所述控制器對該讀取或查詢指令進(jìn)行解析;(3)當(dāng)所述控制器將所述指令解析為讀取指令時(shí),所述服務(wù)器的CPU直接向所述存儲器中讀取數(shù)據(jù);當(dāng)所述控制器將所述指令解析為查詢指令時(shí),所述邏輯電路在所述存儲器內(nèi)搜索數(shù)據(jù);(4)搜讀取或查詢完成后所述存儲器控制器將讀取或查詢到的數(shù)據(jù)通過接口返回給所述服務(wù)器的CPU。
[0018]作為本發(fā)明的支持邏輯電路快速查詢的存儲器裝置的訪問方法的一種優(yōu)選方案,所述邏輯電路的查詢方法為數(shù)據(jù)順序結(jié)構(gòu)查詢方法、數(shù)據(jù)二叉樹結(jié)構(gòu)查詢方法或數(shù)據(jù)索引結(jié)構(gòu)查詢方法中的一種。
[0019]作為本發(fā)明的支持邏輯電路快速查詢的存儲器裝置的訪問方法的一種優(yōu)選方案,所述存儲器中存儲的數(shù)據(jù)是以文件系統(tǒng)的方式進(jìn)行存儲和管理,所述控制器對所述文件系統(tǒng)進(jìn)行解析。
[0020]如上所述,本發(fā)明的支持邏輯電路快速查詢的存儲器裝置及其訪問方法,具有以下有益效果:本發(fā)明通過存儲器裝置中控制器的邏輯電路對存儲器內(nèi)部數(shù)據(jù)進(jìn)行搜索,并不需要服務(wù)器CPU來參與數(shù)據(jù)的查詢工作,節(jié)約了 CPU的時(shí)間,減少了數(shù)據(jù)的迀移、數(shù)據(jù)的查詢等,從而減少了服務(wù)器的任務(wù),提高了系統(tǒng)的性能。
【附圖說明】
[0021]圖1顯示為現(xiàn)有技術(shù)的數(shù)據(jù)搜索系統(tǒng)結(jié)構(gòu)示意圖。
[0022]圖2顯示為本發(fā)明的存儲器裝置框圖。
[0023]圖3為本發(fā)明的存儲器裝置的訪問方法的流程示意圖。
[0024]元件標(biāo)號說明
[0025]存儲器裝置01
[0026]存儲器10
[0027]存儲器控制器11
[0028]服務(wù)器12
[0029]控制器111
[0030]邏輯電路112
[0031]接口13
[0032]SI ?S4步驟
【具體實(shí)施方式】
[0033]以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0034]請參閱圖1至圖3。需要說明的是,本實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0035]如圖2所示,本發(fā)明提供一種支持邏輯電路快速查詢的存儲器裝置,所述裝置包括:存儲器10 ;優(yōu)選地,所述存儲器為DRAM、PCRAM、SRAM, NORFLASH中的一種或多種組合。大容量存儲器DRAM/PCR