專利名稱:文件訪問方法及系統的制作方法
技術領域:
本發明涉及文件系統領域,特別是涉及一種文件訪問方法及系統。
背景技術:
文件系統是操作系統的重要組成部分,用于控制對數據文件的存取;它提供對文件和目錄的分層組織形式、數據緩沖(對于實時系統,允許繞過緩沖)以及對文件存取權限的控制。隨著半導體存儲技術的發展以及新型存儲架構的提出,特別是將基于新型非易失隨機存儲器+DRAM的存儲架構替代傳統N0R+NAND+DRAM的存儲架構的提出,傳統的文件系統工作方式及文件訪問方式在新型存儲架構下不能很好的發揮新型非易失隨機存儲器的優勢,尤其是傳統的文件系統不能充分發揮新型存儲架構下非易失存儲器的隨機訪問特性,因為:傳統的文件系統保存在非易失存儲器中,當應用進程訪問文件系統中的各個文件時,首先操作系統需要將要訪問的數據從非易失存儲器中以數據頁形式順序加載到動態隨機存取存儲器(DRAM),然后CPU以隨機訪問的方式內存DRAM中的數據,進行相應的讀取或改寫,可見,傳統的文件系統訪問數據時需要將數據加載至DRAM會導致文件讀寫速度慢、加載至DRAM內的數據的副本占用有限的DRAM內存資源,同時由于無法直接隨機訪問非易失存儲器中的數據而不能發揮新型存儲器隨機訪問的特性。因此,如何在新型存儲架構下管理文件系統及控制文件訪問,充分發揮新型非易失存儲器隨機訪問的優勢,如何提高文件的讀寫訪問速度,如何節省有限的DRAM資源,提高系統I/O性能,成為從業者亟待解決的問題。
發明內容
鑒于以上所述現有技術的缺點,本發明的目的在于提供一種文件訪問方法及系統,以實現以內存方式訪問文件,提高文件的讀寫訪問速度,節省有限的DRAM資源。為實現上述目的及其他相關目的,本發明提供一種文件訪問方法,應用于包含動態隨機存取存儲器及非易失性存儲器的存儲系統,其至少包括:-當監測到應用程序打開文件時,請求進程管理模塊在進程虛擬地址空間為文件分配虛擬段地址空間,并建立該文件的數據在虛擬段地址空間中的邏輯地址與該文件的數據在非易失性存儲器中的物理地址間的映射關系表;-基于所述文件的訪問請求,提供該文件的數據的邏輯地址與物理地址間的映射關系表,以便所述文件被訪問。優選地,基于頁面為單位建立文件中相應數據在虛擬段地址空間中的邏輯地址與在非易失性存儲器中的物理地址間的映射關系表。優選地,所述非易失性存儲器包括:相變存儲器、阻變存儲器、磁存儲器、鐵電存儲器中的一種或多種。本發明還提供一種文件訪問系統,應用于包含動態隨機存取存儲器及非易失性存儲器的存儲系統,其至少包括:創建模塊,用于當監測到應用程序打開文件時,請求進程管理模塊在進程虛擬地址空間為文件分配虛擬段地址空間,并建立該文件的數據在虛擬段地址空間中的邏輯地址與該文件的數據在非易失性存儲器中的物理地址間的映射關系表;提供模塊,用于基于所述文件的訪問請求,提供該文件的數據的邏輯地址與物理地址間的映射關系表,以便所述文件被訪問。優選地,所述創建模塊基于頁面為單位建立文件中相應數據在虛擬段地址空間中的邏輯地址與在非易失性存儲器中的物理地址間的映射關系表。優選地, 所述非易失性存儲器包括:相變存儲器、阻變存儲器、磁存儲器、鐵電存儲器中的一種或多種。如上所述,本發明的文件訪問方法及系統,具有以下有益效果:實現應用進程以內存方式訪問非易失存儲器中的文件數據,提高文件的讀寫訪問速度,節省有限的DRAM資源,從而提高系統I/O性能,實現應用進程對文件數據的快速訪問。
圖1顯示為本發明的文件訪問方法的流程圖。圖2顯示為本發明的文件訪問系統示意圖。元件標號說明I文件訪問系統11創建模塊12提供模塊SI S2 步驟
具體實施例方式以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的具體實施方式
加以實施或應用,本說明書中的各項細節也可以基于不同觀點與應用,在沒有背離本發明的精神下進行各種修飾或改變。請參閱圖1至圖2。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發明的基本構想,遂圖式中僅顯示與本發明中有關的組件而非按照實際實施時的組件數目、形狀及尺寸繪制,其實際實施時各組件的型態、數量及比例可為一種隨意的改變,且其組件布局型態也可能更為復雜。如圖1所示,本發明提供一種文件訪問方法,該方法應用于包含動態隨機存取存儲器(DRAM)及非易失性存儲器的存儲系統,其中,所述非易失性存儲器可包括:相變存儲器(PCRAM)、阻變存儲器(R-RAM)、磁存儲器(MRAM)、鐵電存儲器(FeRAM)等。其中,根據本發明的方法主要通過計算機設備中的文件訪問系統來完成,該文件訪問系統包括但不限于安裝在計算機設備中且能夠實現本發明方案的諸如應用模塊、處理控制器等。其中,該計算機設備包括但不限于:1)用戶設備;2)網絡設備。所述用戶設備包括但不限于計算機、智能手機、PDA等;所述網絡設備包括但不限于單個網絡服務器、多個網絡服務器組成的服務器組或基于云計算(Cloud Computing)的由大量計算機或網絡服務器構成的云,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機。在步驟SI中,當所述文件訪問系統監測到應用程序打開文件時,請求進程管理模塊在進程虛擬地址空間為文件分配虛擬地址空間,隨后,所述文件訪問系統建立該文件的數據在虛擬段地址空間中的邏輯地址與該文件的數據在非易失性存儲器中的物理地址間的映射關系表。其中,所述文件包括任何一種能存儲在非易失性存儲器中的信息,優選地,包括但不限于:文字類信息、圖片類信息、音視頻類信息等等。例如,所述文件訪問系統監測到word程序打開文件aaa.doc時請求進程管理模塊在進程虛擬地址空間為該文件aaa.doc分配虛擬段地址空間,并建立文件aaa.doc的數據在該虛擬段地址空間中的邏輯地址與文件aaa.doc的數據在非易失性存儲器中的物理地址間的映射關系表。優選地,所述文件訪問系統基于頁面為單位建立文件中相應數據在分配的虛擬地址空間中的邏輯地址與在非易失性存儲器中的物理地址間的映射關系表。在步驟S2中,所述文件訪問系統基于所述文件的訪問請求,提供該文件的數據的邏輯地址與物理地址間的映射關系表,以便所述文件被訪問。例如,計算機設備中的Windows8操作系統基于用戶的請求打開視頻文件Al,則所述文件訪問系統請求進程管理模塊在進程虛擬地址空間為該視頻文件Al分配虛擬段地址空間,并建立視頻文件Al的數據在該虛擬段地址空間中的邏輯地址與視頻文件Al的數據在非易失性存儲器中的物理地址間的映射關系表E1,并將該視頻文件Al的數據在所述虛擬段地址空間中的邏輯地址與物理地址間的映射關系表E1,提供給WindowsS操作系統,隨后,該WindowsS操作系統基于該映射關系表El查找到被訪問的該視頻文件Al相應數據的邏輯地址對應的物理地址,再基于查詢所得的物理地址進行相應數據的讀操作,從而播放該視頻文件Al。又例如,計算機設備中的Windows XP操作系統基于用戶的請求打開word文件A2時,所述文件訪問系統請求進程管理模塊在進程虛擬地址空間為該word文件A2分配虛擬段地址空間,并建立word文件A2的數據在該虛擬段地址空間中的邏輯地址與word文件A2的數據在非易失性存儲器中的物理地址間的映射關系表E2,并將該word文件A2在所述虛擬段地址空間中的邏輯地址與物理地址間的映射關系表E2提供給Windows XP操作系統,隨后,該Windows XP操作系統基于該映射關系表E2查找到被訪問的word文件A2相應數據的邏輯地址對應的物理地址,再基于查詢所得的物理地址進行相應數據的讀或寫操作。如圖2所示,本發明提供一種文件訪問系統,該文件訪問系統應用于包含動態隨機存取存儲器(DRAM)及非易失性存儲器的存儲系統,其中,所述非易失性存儲器可包括:相變存儲器(PCRAM)、阻變存儲器(R-RAM)、磁存儲器(MRAM)、鐵電存儲器(FeRAM)等。該文件訪問系統I至少包括:創建模塊11、及提供模塊12。當監測到應用程序打開文件時,所述創建模塊11請求進程管理模塊在進程虛擬地址空間為文件分配虛擬段地址空間,并建立該文件的數據在虛擬段地址空間中的邏輯地址與該文件的數據在非易失性存儲器中的物理地址間的映射關系表。
其中,所述文件包括任何一種能存儲在非易失性存儲器中的信息,優選地,包括但不限于:文字類信息、圖片類信息、音視頻類信息等等。例如,所述創建模塊11監測到word程序打開文件aaa.doc時請求進程管理模塊在進程虛擬地址空間為該文件aaa.doc分配虛擬段地址空間,并建立該文件aaa.doc的數據在該虛擬段地址空間中的邏輯地址與文件aaa.doc的數據在非易失性存儲器中的物理地址間的映射關系表。優選地,所述創建模塊11基于頁面為單位建立文件中相應數據在虛擬段地址空間中的邏輯地址與在非易失性存儲器中的物理地址間的映射關系表。所述提供模塊12基于所述文件的訪問請求,提供該文件的數據的邏輯地址與物理地址間的映射關系表,以便所述文件被訪問。例如,計算機設備中的Windows8操作系統基于用戶的請求打開視頻文件Al,創建模塊請求進程管理模塊在進程虛擬地址空間為該視頻文件Al分配虛擬段地址空間,并建立視頻文件Al的數據在該虛擬段地址空間中的邏輯地址與視頻文件Al的數據在非易失性存儲器中的物理地址間的映射關系表El,提供模塊將該視頻文件Al的數據在所述虛擬段地址空間中的邏輯地址與物理地址間的映射關系表E1,提供給WindowsS操作系統,隨后,該WindowsS操作系統基于該映射關系表El查找到被訪問的該視頻文件Al相應數據的邏輯地址對應的物理地址,再基于查詢所得的物理地址進行相應數據的讀操作,從而播放該視頻文件Al。又例如,計算機設備中的Windows XP操作系統基于用戶的請求打開word文件A2時,所述創建模塊請求進程管理模塊在進程虛擬地址空間為該word文件A2分配虛擬段地址空間,并建立word文件A2的數據在該虛擬段地址空間中的邏輯地址與word文件A2的數據在非易失性存儲器中的物理地址間的映射關系表E2,提供模塊將該word文件A2在所述虛擬地址空間中的邏輯地址與物理地址間的映射關系表E2提供給Windows XP操作系統,隨后,該Windows XP操作系統基于該映射關系表E2查找到被訪問的word文件A2相應數據的邏輯地址對應的物理地址,再基于查詢所得的物理地址進行相應數據的讀或寫操作。綜上所述,本發明的文件訪問方法及系統為存儲在非易失性存儲器中的文件的訪問提供連續的虛擬地址空間,并為文件數據訪問提供地址指針,實現應用進程以內存方式訪問文件數據,充分發揮非易失存儲器隨機訪問的優勢,提高文件的讀寫訪問速度,節省有限的DRAM資源,從而提高系統1/0性能,實現應用進程對文件數據的快速訪問。所以,本發明有效克服了現有技術中的種種缺點而具高度產業利用價值。上述實施例僅例示性說明本發明的原理及其功效,而非用于限制本發明。任何熟悉此技術的人士皆可在不違背本發明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬技術領域中具有通常知識者在未脫離本發明所揭示的精神與技術思想下所完成的一切等效修飾或改變,仍應由本發明的權利要求所涵蓋。
權利要求
1.一種文件訪問方法,應用于包含動態隨機存取存儲器及非易失性存儲器的存儲系統,其特征在于,所述文件訪問方法至少包括: 當監測到應用程序打開文件時,請求進程管理模塊在進程虛擬地址空間為文件分配虛擬段地址空間,并建立該文件的數據在虛擬段地址空間中的邏輯地址與該文件的數據在非易失性存儲器中的物理地址間的映射關系表; 基于所述文件的訪問請求,提供該文件的數據的邏輯地址與物理地址間的映射關系表,以便所述文件被訪問。
2.根據權利要求1所述的文件訪問方法,其特征在于:基于頁面為單位建立文件中相應數據在虛擬段地址空間中的邏輯地址與在非易失性存儲器中的物理地址間的映射關系表。
3.根據權利要求1所述的文件訪問方法,其特征在于:所述非易失性存儲器包括:相變存儲器、阻變存儲器、磁存儲器、鐵電存儲器中的一種。
4.根據權利要求1所述的文件訪問方法,其特征在于:所述非易失性存儲器包括:所述非易失性存儲器包括:相變存儲器、阻變存儲器、磁存儲器、鐵電存儲器中的多種。
5.一種文件訪問系統,應用于包含動態隨機存取存儲器及非易失性存儲器的存儲系統,其特征在于,所述文件訪問系統至少包括: 創建模塊,用于當監測到應用程序打開文件時,請求進程管理模塊在進程虛擬地址空間為文件分配虛擬段地址空間,并建立該文件的數據在虛擬段地址空間中的邏輯地址與該文件的數據在非易失性存儲器中的物理地址間的映射關系表; 提供模塊,用于基于所述文件的訪問請求,提供該文件的數據的邏輯地址與物理地址間的映射關系表,以便所述文件被訪問。
6.根據權利要求5所述的文件訪問系統,其特征在于:所述創建模塊基于頁面為單位建立文件中相應數據在虛擬段地址空間中的邏輯地址與在非易失性存儲器中的物理地址間的映射關系表。
7.根據權利要求5所述的文件訪問系統,其特征在于:所述非易失性存儲器包括:相變存儲器、阻變存儲器、磁存儲器、鐵電存儲器中的一種。
8.根據權利要求5所述的文件訪問系統,其特征在于:所述非易失性存儲器包括:相變存儲器、阻變存儲器、磁存儲器、鐵電存儲器中的多種。
全文摘要
本發明提供一種文件訪問方法及系統,其應用于包含動態隨機存取存儲器及非易失性存儲器的存儲系統。根據本發明的方法,當監測到應用程序打開文件時,先請求進程管理模塊在進程虛擬地址空間為文件分配虛擬段地址空間,并建立該文件的數據在分配的虛擬地址空間中的邏輯地址與該文件的數據在非易失性存儲器中的物理地址間的映射關系表;隨后基于所述文件的訪問請求,再提供該文件的數據的邏輯地址與物理地址間的映射關系表,以便所述文件被訪問,由此實現以內存方式訪問非易失性存儲器中的文件數據,提高文件的讀寫訪問速度,節省有限的DRAM資源,從而提高系統I/O性能,實現應用進程對文件數據的快速訪問。
文檔編號G06F12/08GK103218312SQ20131010536
公開日2013年7月24日 申請日期2013年3月28日 優先權日2013年3月28日
發明者李順芬, 陳小剛, 周密, 李鴿子, 宋志棠 申請人:中國科學院上海微系統與信息技術研究所