亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲數(shù)據(jù)讀取裝置和方法

文檔序號:6483702閱讀:139來源:國知局
專利名稱:存儲數(shù)據(jù)讀取裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)讀取及寫入領(lǐng)域,尤其涉及一種應(yīng)用能夠提升讀取速度的存儲數(shù) 據(jù)讀取裝置和方法。
背景技術(shù)
由于對于旋轉(zhuǎn)式磁盤的訪問存在尋道時間,約為4ms至10ms,在對小文件進行隨 機讀取的情況下,約有95%以上的時間用于尋道。而flash介質(zhì)的存儲設(shè)備,由于沒有機械 裝置,所以幾乎不存在尋道時間,文件從flash介質(zhì)的存儲設(shè)備上讀出就比從旋轉(zhuǎn)式磁盤 讀出要快很多。對于采用價格較便宜的存儲介質(zhì)的U盤,盡管寫壽命僅有一萬次,但對于其所覆 蓋的應(yīng)用來說是足夠的,并且成本很低。統(tǒng)計數(shù)據(jù)顯示,操作系統(tǒng)負(fù)載(OS load)有90%的讀操作,10%的寫操作,大型程 序負(fù)載有80%的讀操作以及20%的寫操作。讀操作的緩存在提高存儲數(shù)據(jù)的讀取性能上 中占有更大的比重。綜上所述,需要一種能夠提升整體磁盤讀取速度的并且成本有所降低的裝置和方 法。

發(fā)明內(nèi)容
針對上述問題,本發(fā)明提供了一種存儲數(shù)據(jù)讀取裝置和方法,能夠在提升存儲數(shù) 據(jù)讀取性能的同時進一步降低成本。根據(jù)本發(fā)明的一個方面,提出了一種存儲數(shù)據(jù)讀取裝置,其特征在于,包括第一 存儲模塊,用于存儲第一數(shù)據(jù),其中第一存儲模塊具有第一讀取速度;第二存儲模塊,用于 存儲第二數(shù)據(jù),第二數(shù)據(jù)與至少一部分第一數(shù)據(jù)相同,其中第二存儲模塊具有第二讀取速 度,且第二讀取速度大于第一讀取速度;請求獲取模塊,用于獲取對第三數(shù)據(jù)的讀取請求, 第三數(shù)據(jù)與至少一部分第一數(shù)據(jù)相同;讀取模塊,用于當(dāng)?shù)诙鎯δK中也有第三數(shù)據(jù)時, 從第二存儲模塊中讀取第三數(shù)據(jù);當(dāng)?shù)诙鎯δK中沒有第三數(shù)據(jù)時,從第一模塊中讀取 第三數(shù)據(jù)。其中,該裝置還包括判斷模塊,用于基于文件列表判斷第二存儲模塊是否存在第 三數(shù)據(jù),并將判斷結(jié)果輸出至讀取模塊,其中,文件列表存儲了用于描述第二數(shù)據(jù)的信息。其中,該裝置還包括過濾模塊,用于處理第一目標(biāo)地址,獲得第二目標(biāo)地址,第二 目標(biāo)地址指向第二存儲模塊,其中第一目標(biāo)地址是包含在第三數(shù)據(jù)的讀取請求中,第一目 標(biāo)地址指向第一存儲模塊。優(yōu)選地,讀取模塊基于包括第二目標(biāo)地址的讀取請求,對第二存儲模塊進行讀取 操作以判斷第二存儲模塊是否也有第三數(shù)據(jù)。優(yōu)選地,讀取模塊基于包括第二目標(biāo)地址的讀取請求,對文件列表進行讀取,以判 斷第二存儲模塊是否也有第三數(shù)據(jù)并將判斷結(jié)果輸出至讀取模塊。
其中,第二存儲模塊按照文件方式來存儲第二數(shù)據(jù)。其中,第二數(shù)據(jù)是只讀數(shù)據(jù)。根據(jù)本發(fā)明的另一方面,提出了 一種存儲數(shù)據(jù)讀取方法,其特征在于,包括步驟獲取對第三數(shù)據(jù)的讀取請求,第三數(shù)據(jù)與至少一部分第一數(shù)據(jù)相同,第一數(shù)據(jù)存儲于第一 存儲模塊中,第一存儲模塊具有第一讀取速度;當(dāng)?shù)诙鎯δK中也有第三數(shù)據(jù)時,從第二 存儲模塊中讀取第三數(shù)據(jù),其中,第二存儲模塊用于存儲第二數(shù)據(jù),第二數(shù)據(jù)與至少一部分 第一數(shù)據(jù)相同,第二存儲模塊具有第二讀取速度,且第二讀取速度大于第一讀取速度。其中,在獲取對第三數(shù)據(jù)的讀取請求之后,還包括步驟基于文件列表判斷第二存儲模塊是否存在第三數(shù)據(jù),并輸出判斷結(jié)果,其中,文件列表存儲了用于描述第二數(shù)據(jù)的信 肩、ο其中,在獲得對第三數(shù)據(jù)的讀取請求之后,還包括步驟處理第一目標(biāo)地址,獲得第二目標(biāo)地址,第二目標(biāo)地址指向第二存儲模塊,其中第一目標(biāo)地址是包含在第三數(shù)據(jù)的 讀取請求中,第一目標(biāo)地址指向第一存儲模塊。其中,還包括步驟基于包括第二目標(biāo)地址的讀取請求,對第二存儲模塊進行讀取操作以判斷第二存儲模塊是否也有第三數(shù)據(jù)。其中,還包括步驟基于包括第二目標(biāo)地址的讀取請求,對文件列表進行讀取,以 判斷第二存儲模塊是否也有第三數(shù)據(jù)并輸出判斷結(jié)果。使用根據(jù)本發(fā)明的存儲數(shù)據(jù)讀取裝置,由于采用價格相對較低的第二存儲模塊來 進行只讀操作,可以在提升存儲數(shù)據(jù)讀取裝置性能、加速訪問速度的同時顯著地降低生產(chǎn) 成本。


此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是示出了現(xiàn)有的文件訪問系統(tǒng)的示意框圖;圖2是示出了根據(jù)本發(fā)明的一個實施例的文件訪問系統(tǒng)的示意框圖;圖3是示出了圖2中根據(jù)本發(fā)明的一個實施例的流程圖;圖4是示出了根據(jù)本發(fā)明的另一實施例的文件訪問系統(tǒng)的示意框圖;圖5是示出了圖4中根據(jù)本發(fā)明的另一實施例的流程圖;以及圖6是示出了根據(jù)本發(fā)明的實施例的存儲卡與系統(tǒng)進行連接的示意性框圖。
具體實施例方式下面參照附圖,詳細(xì)說明本發(fā)明的具體實施方式
。圖1是示出了現(xiàn)有的文件訪問系統(tǒng)的示意框圖。I/O管理器106將通過API接口 104來自應(yīng)用程序模塊102的文件訪問請求IRP (I/Orequest packets,輸入/輸出請求包) 傳輸至文件系統(tǒng)驅(qū)動模塊108,然后通過磁盤驅(qū)動模塊110對磁盤112進行相應(yīng)的讀取和寫 入操作。然而,由于對于旋轉(zhuǎn)式磁盤的訪問存在尋道時間,約為4ms至10ms,在對小文件進 行隨機讀取的情況下,約有95%以上的時間用于尋道。而flash存儲介質(zhì)的存儲卡,由于沒有機械裝置,所以幾乎不存在尋道時間,文件從flash介質(zhì)的存儲設(shè)備上讀出就比從旋轉(zhuǎn) 式磁盤讀出要快很多。將只讀性質(zhì)的文件全部放在存儲卡上,讀取的時候先從存儲卡讀,就 起到了加速硬盤讀取性能的目的。由于價格較低的存儲卡劣勢在于寫壽命較短,而在本發(fā) 明中僅利用其的讀取特性,則可以避開此問題。例如,系統(tǒng)中存在許多不會頻繁修改的,比如動態(tài)鏈接庫/可執(zhí)行程序(dll/exe) 等文件,不存在修改寫入的問題??梢詫⑾到y(tǒng)經(jīng)常訪問的文件復(fù)制到flash存儲介質(zhì),比如 安全存儲卡(SD)上。當(dāng)系統(tǒng) 讀取文件的時候,先到SD卡上去找,找不到再到旋轉(zhuǎn)式磁盤, 比如硬盤驅(qū)動器(HDD)上去找。這樣就可以達到加速讀操作的目的。由于現(xiàn)在的筆記本電 腦都標(biāo)配有讀卡器,因此完全可以利用現(xiàn)有的讀卡器,插上SD卡,來充當(dāng)讀高速緩沖存儲 器(cache)。本發(fā)明是基于文件訪問的cache,而傳統(tǒng)技術(shù)是基于扇區(qū)訪問的cache。下面,將參照圖2詳細(xì)描述根據(jù)本發(fā)明的一個實施例,通過存儲卡來提升存儲數(shù) 據(jù)讀取速度的存儲數(shù)據(jù)讀取裝置,通過使用文件過濾驅(qū)動,對操作系統(tǒng)對磁盤的讀寫操作 進行攔截操作,先檢查要訪問的文件在SD上有沒有備份,如果有相應(yīng)數(shù)據(jù)就直接從SD卡上 讀出,沒有則將操作繼續(xù)傳遞給磁盤。注意,這里SD卡上文件是HDD上文件的復(fù)制,所以即 使在儲存卡被拔掉或損壞的情況下,也不會對系統(tǒng)造成影響。圖2是根據(jù)本發(fā)明的一個實 施例的文件訪問系統(tǒng)的示例性框圖。如圖2所示,相對于圖1中所述的傳統(tǒng)的文件訪問系 統(tǒng),根據(jù)本發(fā)明的實施例,增加了讀取模塊208,其包括文件系統(tǒng)過濾驅(qū)動單元。根據(jù)本發(fā)明的文件系統(tǒng)過濾驅(qū)動單元可以通過兩種方式來實現(xiàn)提升磁盤性能的 效果。下面將參考附圖2至圖4對其進行詳細(xì)描述。圖2示出了方法一的示例性框圖請求獲取模塊(未示出)監(jiān)視通過API接口模 塊204以及I/O管理器206的來自應(yīng)用程序模塊202的文件訪問請求IRP,文件系統(tǒng)過濾驅(qū) 動單元修改IRP中的文件訪問的路徑到存儲卡218,然后發(fā)送給下層的文件系統(tǒng)驅(qū)動模塊 210。文件系統(tǒng)驅(qū)動模塊210接收到修改后的IRP后,通過存儲卡驅(qū)動單元214到存儲卡218 進行讀取。如果讀取成功,則說明存儲卡218上有該文件。若讀取不成功,返回錯誤信息。 文件系統(tǒng)過濾驅(qū)動單元判斷返回的IRP信息,如果是讀取成功就返回上層;如果失敗,則將 IRP的路徑修改回來,重新送回下層的文件系統(tǒng)驅(qū)動模塊210,并通過磁盤驅(qū)動單元212到 硬盤216讀取文件。圖3是示出了方法一的流程圖。如圖3所示,請求獲取模塊在收到上層的IRP之后 (步驟S302),文件驅(qū)動系統(tǒng)過濾單元對IRP的訪問路徑進行修改,使其指向存儲卡(步驟 S304),然后將經(jīng)修改的IRP傳送至下層的文件系統(tǒng)驅(qū)動(步驟S306),當(dāng)下層的文件系統(tǒng)驅(qū) 動收到該IRP,并通過存儲卡驅(qū)動器對存儲卡進行讀取操作,并將表明存儲卡中是否存儲了 相應(yīng)的數(shù)據(jù)的結(jié)果返回,此時,文件驅(qū)動系統(tǒng)過濾單元對返回結(jié)果進行判斷(步驟S308), 當(dāng)結(jié)果表示讀取成功時,將IRP返回至上層(步驟S310),否則,將IRP的訪問路徑修改回來 (步驟S312),并將IRP傳輸至下層的文件系統(tǒng)驅(qū)動器(步驟S314)以使用磁盤驅(qū)動器對磁 盤進行讀取操作,并將IRP返回給上層(步驟S316)。文件系統(tǒng)過濾驅(qū)動單元所采用的方法二為文件系統(tǒng)過濾驅(qū)動單元會對文件列表 進行讀取,該文件列表存儲了用于描述存儲卡中所存儲數(shù)據(jù)的相關(guān)信息(諸如,文件名稱、 文件標(biāo)識符等),并且該文件列表可以存儲在存儲卡、HDD、以及任何可以被讀取模塊208所 讀取的位置。因此,當(dāng)請求獲取模塊(未示出)獲得通過圖2中的API接口模塊204以及I/O管理器206的來自應(yīng)用程序模塊202的文件訪問請求IRP,文件系統(tǒng)過濾驅(qū)動單元會對 IRP的訪問路徑進行修改,使其指向存儲卡與此同時取出IRP中要訪問的文件的文件名,然 后在文件列表中查找,如果文件列表中具有對應(yīng)的數(shù)據(jù),則將經(jīng)修改的IRP傳送至下層的 文件系統(tǒng)驅(qū)動,當(dāng)下層的文件系統(tǒng)驅(qū)動收到該IRP,通過存儲卡驅(qū)動器對存儲卡進行讀取操 作,讀取相應(yīng)的文件數(shù)據(jù)。否則,將IRP的訪問路徑修改回來,并將IRP傳輸至下層的文件 系統(tǒng)驅(qū)動器以使用磁盤驅(qū)動器對磁盤進行讀取操作,并將IRP返回給上層。圖4示出了根據(jù)本發(fā)明的另一實施例的文件訪問系統(tǒng)的示意性框圖。圖4與圖2中的不同之處僅在于讀取模塊包括判斷單元來代替文件系統(tǒng)過濾單元。其詳細(xì)的工作流程 將參考圖5做出解釋。圖5是圖4中所示的根據(jù)本發(fā)明的另一實施例的文件訪問系統(tǒng)的流 程圖。如圖5所示,請求獲取模塊(未示出)在收到上層的IRP之后(步驟S502),圖4中的 讀取模塊408監(jiān)視通過API接口模塊404以及I/O管理器406的來自應(yīng)用程序模塊402的 文件訪問請求IRP,取出IRP中要訪問的文件的文件名(步驟S504),然后通過判斷單元在 文件列表(其存儲了用于描述存儲卡中所存儲的數(shù)據(jù)的諸如文件名稱、標(biāo)識符等信息)中 查找,如果查找到對應(yīng)的信息,則判斷單元輸出表明存儲卡418上有該文件的判斷結(jié)果(步 驟S508,是),并修改IRP中的文件訪問的路徑到存儲卡518 (步驟S510),然后發(fā)送給下層 的文件系統(tǒng)驅(qū)動模塊510 (步驟S512)。文件系統(tǒng)驅(qū)動模塊510接收到修改后的IRP后,通 過存儲卡驅(qū)動單元514到存儲卡518進行讀取。若查找不到(步驟S508,否),則不在修改 路徑,直接將IRP發(fā)送給下層的文件系統(tǒng)驅(qū)動模塊510 (步驟S512)。并通過磁盤驅(qū)動單元 512到硬盤516讀取文件,并將IRP返回給上層(步驟S514)。目前,旋轉(zhuǎn)式磁盤的數(shù)據(jù)讀寫速度大概在lOOMB/s左右。新的USB 3.0標(biāo)準(zhǔn),接口 速度可以達到300MB/s。新的SD標(biāo)準(zhǔn)(SDXC),將SD卡的接口速度提高到300MB/s。因此 存儲卡的數(shù)據(jù)讀寫速度已經(jīng)遠(yuǎn)大于旋轉(zhuǎn)式磁盤的數(shù)據(jù)讀寫速度。雖然目前存儲卡SD的接 口速度約為25MB/S,但可以通過橋接芯片(如圖4所示)并聯(lián)多個SD卡(例如,并聯(lián)六個 SD卡,則接口速度達到120MB/S)組成RAID工作模式來提高接口速度,通過例如SATA接口 與系統(tǒng)連接,進行數(shù)據(jù)傳輸。圖6示出了根據(jù)本發(fā)明的實施例的存儲卡與系統(tǒng)進行連接的數(shù)據(jù)傳輸鏈路示意 性框圖。如圖6所示,存儲卡可以是一個,也可以是多個。在存在N(N>2)個卡的情況下, 數(shù)據(jù)讀出的帶寬就是一個的N倍。橋接芯片602負(fù)責(zé)將多個卡協(xié)同起來同時工作。比如組 成RAID工作模式。盡管上面以SD卡作為存儲卡,來描述了本發(fā)明的實施例,但本發(fā)明并不限于此, 還可以使用諸如SDHC,CF卡,microSD,TF, MMC, XD, miniSD,記憶棒、SDXC, xFast等存儲介 質(zhì);并且本發(fā)明中的數(shù)據(jù)傳輸鏈路并不限于基于USB接口的傳輸鏈路,還可以包括諸如基 于SATA接口、PCIe接口、ExpressCard接口的數(shù)據(jù)傳輸鏈路。綜上所述,本發(fā)明提供了一種存儲數(shù)據(jù)讀取裝置。在該裝置中,采用存儲卡作為讀 取cache,實現(xiàn)了讀取速度的提升,并有效地降低了生產(chǎn)成本。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則的范圍內(nèi)所作的任 何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
一種存儲數(shù)據(jù)讀取裝置,其特征在于,包括第一存儲模塊,用于存儲第一數(shù)據(jù),其中所述第一存儲模塊具有第一讀取速度;第二存儲模塊,用于存儲第二數(shù)據(jù),所述第二數(shù)據(jù)與至少一部分所述第一數(shù)據(jù)相同,其中所述第二存儲模塊具有第二讀取速度,且所述第二讀取速度大于所述第一讀取速度;請求獲取模塊,用于獲取對第三數(shù)據(jù)的讀取請求,所述第三數(shù)據(jù)與至少一部分所述第一數(shù)據(jù)相同;讀取模塊,用于當(dāng)所述第二存儲模塊中也有所述第三數(shù)據(jù)時,從所述第二存儲模塊中讀取所述第三數(shù)據(jù);當(dāng)所述第二存儲模塊中沒有所述第三數(shù)據(jù)時,從所述第一模塊中讀取所述第三數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的存儲數(shù)據(jù)讀取裝置,其特征在于,所述裝置還包括,判斷模 塊,用于基于文件列表判斷所述第二存儲模塊是否存在所述第三數(shù)據(jù),并將判斷結(jié)果輸出 至所述讀取模塊,其中,所述文件列表存儲了用于描述所述第二數(shù)據(jù)的信息。
3.根據(jù)權(quán)利要求1所述的存儲數(shù)據(jù)讀取裝置,其特征在于,所述裝置還包括,過濾模 塊,用于處理第一目標(biāo)地址,獲得第二目標(biāo)地址,所述第二目標(biāo)地址指向所述第二存儲模 塊,其中所述第一目標(biāo)地址是包含在所述第三數(shù)據(jù)的讀取請求中,所述第一目標(biāo)地址指向 所述第一存儲模塊。
4.根據(jù)權(quán)利要求3所述的存儲數(shù)據(jù)讀取裝置,其特征在于,所述讀取模塊基于包括所 述第二目標(biāo)地址的所述讀取請求,對所述第二存儲模塊進行讀取操作以判斷所述第二存儲 模塊是否也有所述第三數(shù)據(jù)。
5.根據(jù)權(quán)利要求3所述的存儲數(shù)據(jù)讀取裝置,其特征在于,所述讀取模塊基于包括所 述第二目標(biāo)地址的所述讀取請求,對所述文件列表進行讀取,以判斷所述第二存儲模塊是 否也有所述第三數(shù)據(jù)并將判斷結(jié)果輸出至所述讀取模塊。
6.根據(jù)權(quán)利要求1所述的存儲數(shù)據(jù)讀取裝置,其特征在于,所述第二存儲模塊按照文 件方式來存儲所述第二數(shù)據(jù)。
7.根據(jù)權(quán)利要求1所述的存儲數(shù)據(jù)讀取裝置,其特征在于,所述第二數(shù)據(jù)是只讀數(shù)據(jù)。
8.一種存儲數(shù)據(jù)讀取方法,其特征在于,包括步驟獲取對第三數(shù)據(jù)的讀取請求,所述第三數(shù)據(jù)與至少一部分第一數(shù)據(jù)相同,所述第一數(shù) 據(jù)存儲于第一存儲模塊中,所述第一存儲模塊具有第一讀取速度;當(dāng)?shù)诙鎯δK中也有所述第三數(shù)據(jù)時,從所述第二存儲模塊中讀取所述第三數(shù)據(jù);其中所述第二存儲模塊用于存儲第二數(shù)據(jù),所述第二數(shù)據(jù)與至少一部分所述第一數(shù)據(jù) 相同,所述第二存儲模塊具有第二讀取速度,且所述第二讀取速度大于所述第一讀取速度。
9.根據(jù)權(quán)利要求8所述的存儲數(shù)據(jù)讀取方法,其特征在于,在所述獲取對第三數(shù)據(jù)的 讀取請求之后,還包括步驟基于文件列表判斷所述第二存儲模塊是否存在所述第三數(shù)據(jù), 并輸出判斷結(jié)果,其中,所述文件列表存儲了用于描述所述第二數(shù)據(jù)的信息。
10.根據(jù)權(quán)利要求8所述的存儲數(shù)據(jù)讀取方法,其特征在于,在所述獲得對第三數(shù)據(jù)的 讀取請求之后,還包括步驟處理第一目標(biāo)地址,獲得第二目標(biāo)地址,所述第二目標(biāo)地址指 向所述第二存儲模塊,其中所述第一目標(biāo)地址是包含在所述第三數(shù)據(jù)的讀取請求中,所述 第一目標(biāo)地址指向所述第一存儲模塊。
11.根據(jù)權(quán)利要求10所述的存儲數(shù)據(jù)讀取方法,其特征在于,還包括步驟基于包括所述第二目標(biāo)地址的所述讀取請求,對所述第二存儲模塊進行讀取操作以判斷所述第二存儲 模塊是否也有所述第三數(shù)據(jù)。
12.根據(jù)權(quán)利要求10所述的存儲數(shù)據(jù)讀取方法,其特征在于,還包括步驟基于包括所 述第二目標(biāo)地址的所述讀取請求,對所述文件列表進行讀取,以判斷所述第二存儲模塊是 否也有所述第三數(shù)據(jù)并輸出判斷結(jié)果。
全文摘要
本發(fā)明提出了一種存儲數(shù)據(jù)讀取裝置,包括第一存儲模塊,用于存儲第一數(shù)據(jù),其中第一存儲模塊具有第一讀取速度;第二存儲模塊,用于存儲第二數(shù)據(jù),第二數(shù)據(jù)與至少一部分第一數(shù)據(jù)相同,其中第二存儲模塊具有第二讀取速度,且第二讀取速度大于第一讀取速度;請求獲取模塊,用于獲取對第三數(shù)據(jù)的讀取請求,第三數(shù)據(jù)與至少一部分所述第一數(shù)據(jù)相同。使用根據(jù)本發(fā)明的存儲數(shù)據(jù)讀取裝置,可以在加速數(shù)據(jù)訪問速度的同時顯著地降低生產(chǎn)成本。
文檔編號G06F3/06GK101799741SQ20091007740
公開日2010年8月11日 申請日期2009年2月9日 優(yōu)先權(quán)日2009年2月9日
發(fā)明者趙謙 申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1