TWI581097B - 存取方法 - Google Patents
存取方法 Download PDFInfo
- Publication number
- TWI581097B TWI581097B TW100125695A TW100125695A TWI581097B TW I581097 B TWI581097 B TW I581097B TW 100125695 A TW100125695 A TW 100125695A TW 100125695 A TW100125695 A TW 100125695A TW I581097 B TWI581097 B TW I581097B
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- storage space
- data
- access method
- temporary storage
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明係為一種存取方法,特別是透過一暫存空間而讀取具有連續性的檔案之存取方法。
隨著科技的發展,儲存媒體的單價越來越低,也讓大容量硬碟的使用越見普及。在進行檔案的存取時,檔案系統的使用以及其運作方式,往往影響硬碟的存取效率甚鉅。
使用大容量的硬碟時,由於硬碟讀寫頭的控制方式中存在有機械式的控制,相較於記憶體的操作速度而言較慢。為了加速存取硬碟的資料,目前有些作法會對較常使用的檔案進行複製,並動態將複製的部份存放在存取速度較高的記憶體中,也就是針對檔案系統提供快取的功能,由記憶體來提供、預測可能被使用的檔案資料,因此在進行軟體操作時,一旦需要讀取檔案時,便不需要重新等待由硬碟讀取資料的時間,而是由記憶體提供相對應的檔案。
儘管在記憶體提供快取的功能可以改善檔案讀取的效率,但是記憶體的空間有限,無法將全部的檔案均儲存一份於記憶體中,因此,如何提升檔案系統的快取功能,便成為一個重要的課題。
本發明係為一種存取方法,透過一暫存空間而讀取使用一可延伸性檔案系統之一儲存空間內的複數個檔案,其中該可延伸性檔案系統係以一連續標記來對應於在該儲存空間中,由複數個儲存區塊所構成之一第一檔案,而該存取方法包含以下步驟:將該第一檔案之資料內容由該等儲存區塊複製至該暫存空間中的複數個資料暫存單位;根據一讀取指令而得出所欲讀取之一目的檔案;以及於該目的檔案符合一預設條件時,判斷該目的檔案係指該第一檔案,並根據該連續標記而自該等資料暫存單位讀取該第一檔案之資料。
根據上述構想,本發明所述之存取方法,其中該暫存空間係由一揮發性儲存裝置所提供。
根據上述構想,本發明所述之存取方法,其中該儲存空間係由一非揮發性儲存裝置所提供。
根據上述構想,本發明所述之存取方法,其中該非揮發性儲存裝置係可為一快閃記憶體儲存裝置或一磁碟裝置。
根據上述構想,本發明所述之存取方法,其中該預設條件係指該目的檔案之內容與該第一檔案之內容相同。
根據上述構想,本發明所述之存取方法,其中存取該暫存空間時之一第一存取速度較存取該儲存空間時之一第二存取速度快。
根據上述構想,本發明所述之存取方法,其係透過一作業系統來實現。
根據上述構想,本發明所述之存取方法,其中在構成該第一檔案之該等儲存區塊在該儲存空間為彼此連續時,該連續標記係維持為一預設值。
根據上述構想,本發明所述之存取方法,其中更包含以下步驟:比較該儲存空間內的該等檔案所對應之存取頻率;以及判斷該第一檔案具有較高之存取可能性。
根據上述構想,本發明所述之存取方法,其中該等資料暫存單位中的一第一部份係提供該可延伸性檔案系統之資料,而該等資料暫存單位中的一第二部份係提供該第一檔案之資料。
根據上述構想,本發明所述之存取方法,其中該儲存空間更包含一第二檔案,且該存取方法更包含以下步驟:將該第二檔案之資料內容由該儲存空間複製至該暫存空間中;比較該等檔案之存取可能性而得一比較結果;以及根據該比較結果而於選擇將該等檔案之一者的資料內容保留於該暫存空間中。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
當電腦存取非揮發性儲存裝置(如:快閃記憶儲存裝置、磁碟裝置)所提供的儲存空間內的資料時,其存取速度較存取揮發性儲存裝置(如:靜態隨機存取記憶體(Static Random Access Memory,簡稱為SRAM)、動態隨機存取記憶體(Dynamic Random Access Memory,簡稱為DRAM))所提供的暫存空間慢。也就是說,系統程式在透過作業系統存取暫存空間時,其速度會較存取儲存空間時更快。
需注意的是,使用揮發性儲存裝置作為系統內之快取記憶體,進而輔助對目的檔案之存取速度時,目的檔案之提供來源可以分為兩種情形:第一種情形是目的檔案之資料副本並不存在於快取記憶體中,由於此種情形並非本發明之探討對象,此處便略過不提;而第二種情形則是檔案之資料副本存在於快取記憶體內。本發明係針第二種情形中,檔案較大而具有連續性之情形來討論。
承上,在存取快取記憶體內的目的檔案之副本時,可以概括的區分為兩個階段:第一個階段是判斷目的檔案之副本是否存在於快取記憶體中,第二個階段則是判斷目的檔案之副本係以何種方式存在於快取記憶體內。以下在討論所欲存取之目的檔案時,係以第一個階段之判斷已經通過為要件,而著重於在第二階段中,如何加速取得快取記憶體內的目的檔案之副本的資料內容。
請參見第一圖,其係將暫存空間內的資料暫存單位劃分為提供可延伸性檔案系統(extended file allocation table file system,簡稱為exFAT)之資料的第一部份,以及提供快取檔案之資料的第二部份之示意圖。
資料暫存單位中的第一部份被用來提供可延伸性檔案系統之資料,也就是將可延伸性檔案系統內關於各該檔案在儲存空間內的使用配置等資訊,儲存相對應的一份副本於暫存空間內的第一部份11。
由於存取揮發性儲存裝置的存取速度,相較於存取快閃記憶體、硬碟等非揮發性儲存裝置的存取速度來得快。代表對暫存空間進行存取時所對應的第一存取速度,較對儲存空間進行存取時所對應的第二存取速度快。因此,系統程式在利用資料暫存單位第一部份11來存取可延伸性檔案系統的副本時,會比利用儲存空間內之原始的可延伸性檔案系統更快。
另一方面,資料暫存單位中的第二部份13則被用來存放存取可能性較高之檔案資料的副本。例如:判斷第一檔案、第二檔案具有較高之存取可能性,便將第一檔案、第二檔案之資料內容複製至資料暫存單位的第二部份13中。
本發明對於非揮發性儲存裝置之儲存空間之使用進行較佳的存取配置,因此可以利用內嵌於儲存裝置之作業系統作為應用手段。假設第一檔案具有連續標記,而第二檔案不具有連續標記,則複製第一檔案與第二檔案於資料暫存單位時,會將具有連續標記之第一檔案的資料副本複製到相連續之資料暫存單位內,因此後續在取得快取資料時,便可以根據連續標記之存在與否,得知由暫存空間之資料的連續性,對於有連續標記的檔案,代表檔案之內容較多,而可以一次讀取多個連續單位,而不需要分別讀取,進而讓檔案的讀取速度獲得改善。
選擇以第一檔案與第二檔案之資料副本存放於資料暫存單位的作法,可以根據檔案存取頻率而判斷的各種類型之快取演算法而決定。簡單來說,在比較儲存空間內的檔案先前使用歷程中,所對應之存取頻率後,判斷第一檔案與第二檔案具有較高之存取可能性,便將儲存空間所儲存第一檔案之資料與第二檔案之資料,複製一份副本,並將第一檔案與第二檔案的副本存放於暫存空間中。當然,在暫存空間的第二部份中,不一定只存放第一檔案與第二檔案的資料副本,根據暫存空間的大小,也可能存放更多檔案的資料副本。
附帶一提的是,快取演算法的使用只是用來決定要將哪些檔案之資料副本存放於快取記憶體所提供之暫存空間內,因此無論快取演算法的判斷依據為何,均可搭配本發明而使用。
請參見第二圖,其係本發明利用暫存空間之第一部份與第二部份分別儲存在儲存空間之延伸性檔案系統與所預測之快取檔案之資料副本,並搭配連續標記的使用而對快取檔案之資料副本進行資料存取加速之示意圖。
就暫存空間1而言,其配置與第一圖所示相同,也就是區分為第一部份11與第二部份13,其中第一部份11被用來存放延伸性檔案系統對於儲存空間內的檔案之配置的相關資訊,而第二部份則是根據快取演算法的判斷結果,提供了三個檔案的資料副本作為快取資料使用,此處假設快取演算法的判斷結果為,第一檔案、第二檔案與第三檔案具有較高之存取可能性。
為了便於說明,假設第二部份包含了五個資料暫存單位,其中第一個資料暫存單位被用來存放第二檔案之資料副本、第二~四個資料暫存單位被用來存放第一檔案之資料副本、第五個資料暫存單位被用來存放第三檔案之資料副本。當然,在應用時,資料暫存單位的個數與大小等配置,均可以彈性的依據資料之特性而予以變化。
此外,就非揮發性儲存裝置所提供的儲存空間3而言,也可以簡單區分為存放延伸性檔案系統的第一儲存空間配置31,與存放檔案資料的第二儲存空間配置32。根據第二圖,第二儲存空間配置32被區分為複數個儲存區塊,為了便於舉例,此處僅以對應於第一檔案之儲存區塊301、對應於第二檔案之儲存區塊302,以及對應於第三檔案之儲存區塊303作為舉例。
根據第二圖可以看出,在儲存空間中,較大且連續儲存在儲存區塊的檔案,在提供快取使用的副本時,同樣以彼此連續之方式提供於暫存空間中,因此當上層之應用程式在讀取暫存空間時,便可以直接、連續讀取的方式取得檔案,而能加速大檔案之存取速度。
實作上,當延伸性檔案系統在存放檔案於儲存空間時,便可以將具有連續標記的檔案使用情形存放於快取記憶體中,因此,參酌暫存空間的第一部份11時,便可以得知檔案是否連續,並將連續的檔案之資料副本儲存於第二部份13中相連續的空間中。
請參見第三圖,其係本發明所提出用以加速大檔案存取時之存取方法之流程圖。透過暫存空間而讀取使用可延伸性檔案系統之儲存空間內的複數個檔案,其中可延伸性檔案系統係以連續標記來對應於在儲存空間中,由複數個儲存區塊所構成之第一檔案。
根據第三圖,本發明所提出之存取方法主要包含以下步驟:將第一檔案之資料內容由該等儲存區塊複製至暫存空間中的複數個資料暫存單位(步驟S31);根據讀取指令而得出所欲讀取之目的檔案(步驟S33);以及於目的檔案符合預設條件時,判斷目的檔案係指第一檔案,並根據該連續標記而自該等資料暫存單位讀取第一檔案之資料(步驟S35)。
步驟S35所描述的目的檔案符合預設條件,並判斷目的檔案即為第一檔案之方式,可以根據應用的不同而彈性的進行設定,舉例來說,目的檔案是否為第一檔案之判斷可以根據目的檔案之檔名與第一檔案之檔名相同來判斷,也就是可以利用檔名比對的方式來判斷,也可以利用檔案大小、建立時間等資訊來進行目的檔案與第一檔案的比對,或是將目的檔案的內容與第一檔案的內容進行比較之各種方式可選用。
在可延伸性檔案系統中,可以利用連續旗標(continuous flag)來標示檔案資料在儲存空間之連續與否。因此,本發明可以利用此類型之連續標記,預先獲知在檔案在儲存空間的分佈類型,也就是說,當構成第一檔案之儲存區塊在儲存空間為彼此連續時,連續標記將維持為一預設值,至於檔案較小時,該連續標記的值則為另一個設定值。
舉例來說,假設以一個位元的連續旗標來代表在延伸性檔案系統中的連續標記,並以二進位的”1”代表檔案具有連續性,以二進位的”0”代表檔案不具有連續性。因此當儲存區塊所對應的連續標記為1時,便判斷下一個相連續的儲存區塊同樣對應於檔案,也就是檔案的部份資料內容被儲存於這兩個在儲存空間中,彼此相連續的儲存區塊內。
當然,在暫存空間的容量足夠時,儲存空間內所包含的其他檔案也可根據存取可能性等因素,複製其資料內容到暫存空間中。另一方面,若暫存空間的容量不足時,為了讓暫存空間的快取效果得以發揮,便需要考量這些複製於暫存空間的檔案之存取可能性,保留其中存取可能性較高的檔案。
假設儲存空間中的第二檔案之資料內容亦由儲存空間複製至暫存空間中,一旦需要將第三檔案之資料內容複製於暫存空間而使暫存空間的容量趨於不足時,則需比較在暫存空間內的第一檔案、第二檔案所分別對應之存取可能性,藉由存取可能性的比較而得出一比較結果後,再根據比較結果而選擇所保留的檔案。
在實作上,這些儲存於暫存空間的檔案可以透過暫存變數來紀錄這些檔案最近的存取時間與次數等資訊,作為判斷存取可能性的基礎。在前述舉例中,若第二檔案前一次存取時間較第一檔案更早,或是存取次數較少時,則選擇將第三檔案的資料內容複製並覆蓋在暫存空間中。在此情況下,原先用以儲存第二檔案之資料內容的資料暫存單位,便被更新而用來儲存第三檔案的資料內容。
請參見第四圖,其係本發明在判斷出目的檔案存在於暫存空間之第二部份時,進一步根據目的檔案之連續性與否而進行不同存取作法之流程圖。
承上,第四圖之較佳實施例係以確認目的檔案為暫存空間中的某一個檔案後,系統程式應如何自暫存空間內的資料暫存單位讀取目的檔案之資料進行討論。
一旦依據檔案內容、檔名、檔案大小、建立時間等預設的判斷條件而確認目的檔案屬於暫存空間中的檔案後,接著要判斷檔案資料是否連續(步驟S41),若檔案資料連續時,便讀取在快取記憶體所提供之暫存空間中的複數個資料暫存單位所儲存的資料內容(步驟S42);否則,僅讀取在快取記憶體所提供之暫存空間中的單一個資料暫存單位所儲存的資料內容(步驟S43);最後再將由資料暫存單位讀取而得之資料內容提供給作業系統等上層程式來使用(步驟S44)。
綜上所述,本發明討論的是儲存裝置之存取速度的改善,至於儲存裝置的應用與所搭配適用的資料介面等,並不需要受到限制,因此,此處的儲存裝置可以是具有獨立操作功能的個人電腦、可攜式電子裝置、也可以是網路附加儲存(Network Attached Storage,簡稱為NAS)等不同類型之系統架構所搭配使用的各種類型之儲存裝置。
再者,儲存裝置所使用的資料傳輸介面可能有序列進階技術附加裝置(advanced technology attachment,簡稱為SATA)的資料傳輸埠、區域網路(Local Area Network,簡稱為LAN)的資料傳輸埠、通用序列匯流排(Universal Serial Bus,簡稱為USB)的資料傳輸埠等。
本發明提供了對於儲存裝置之存取速度較慢時,以具有較快之存取速度的他種儲存裝置作為輔助,將存取可能性較高,且具有連續性之檔案,複製一份副本至存取速度較快的他種儲存裝置中。當作業系統透過檔案系統所欲存取的目的檔案之檔案較大時,若目的檔案被判斷得出與快取記憶體所存放的檔案相同時,代表快取記憶體中存在目的檔案的副本。藉由存取快取記憶體的資料來取代原本需要對速度較慢之儲存裝置來存取,進而提升檔案系統的快取功能,也就是在目的檔案之檔案較大時,可以加快檔案較大時的存取速度。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1...暫存空間
11...第一部份
13...第二部份
3...儲存空間
301...對應於第一檔案之儲存區塊
302...對應於第二檔案之儲存區塊
303...對應於第三檔案之儲存區塊
31...第一儲存空間配置
32...第二儲存空間配置
33...第三儲存空間配置
第一圖,其係將暫存空間內的資料暫存單位劃分為提供可延伸性檔案系統之資料的第一部份,以及提供快取檔案之資料的第二部份之示意圖。
第二圖,其係本發明利用暫存空間之第一部份與第二部份,分別儲存在儲存空間之延伸性檔案系統的相關資訊,與所預測之快取檔案之資料副本,並搭配連續標記的使用而對快取檔案之資料副本進行資料存取加速之示意圖。
第三圖,其係本發明所提出用以加速大檔案存取時之存取方法之流程圖。
第四圖,其係本發明在判斷出目的檔案存在於暫存空間之第二部份時,進一步根據目的檔案之連續性與否而進行不同存取作法之流程圖。
Claims (9)
- 一種存取方法,透過一暫存空間而讀取使用一可延伸性檔案系統之一儲存空間內的複數個檔案,其中該可延伸性檔案系統係以一連續標記來對應於在該儲存空間中,由複數個儲存區塊所構成之一第一檔案,而該存取方法包含以下步驟:將該第一檔案之資料內容由該等儲存區塊複製至該暫存空間中的複數個資料暫存單位;根據一讀取指令而得出所欲讀取之一目的檔案;以及於該目的檔案符合一預設條件時,判斷該目的檔案係指該第一檔案,並根據該連續標記而決定自該等資料暫存單位讀取該第一檔案之資料的該等儲存區塊的一數量;其中該儲存空間更包含一第二檔案,且該存取方法更包含以下步驟:將該第二檔案之資料內容由該儲存空間複製至該暫存空間中;依據該第一檔案及該第二檔案被存取的頻率比較該等檔案之存取可能性而得一比較結果;以及根據該比較結果而選擇將該等檔案之一者的資料內容保留於該暫存空間中。
- 如申請專利範圍第1項所述之存取方法,其中該暫存空間係由一揮發性儲存裝置所提供。
- 如申請專利範圍第1項所述之存取方法,其中該儲存空間係由一非揮發性儲存裝置所提供。
- 如申請專利範圍第3項所述之存取方法,其中該非揮發性儲存裝置係可為一快閃記憶體儲存裝置或一磁碟裝置。
- 如申請專利範圍第1項所述之存取方法,其中該預設條件係指該目的檔案之檔名與該第一檔案之內容相同。
- 如申請專利範圍第1項所述之存取方法,其中存取該暫存空間時之一第一存取速度較存取該儲存空間時之一第二存取速度快。
- 如申請專利範圍第1項所述之存取方法,其係透過內嵌於一儲存裝置之一作業系統來實現,而該儲存裝置係用以提供該儲存空間。
- 如申請專利範圍第1項所述之存取方法,其中在構成該第一檔案之該等儲存區塊在該儲存空間為彼此連續時,該連續標記係維持為一預設值。
- 如申請專利範圍第1項所述之存取方法,其中該等資料暫存單位中的一第一部份係提供該可延伸性檔案系統之資料,而該等資料暫存單位中的一第二部份係提供該第一檔案之資料。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100125695A TWI581097B (zh) | 2011-07-20 | 2011-07-20 | 存取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100125695A TWI581097B (zh) | 2011-07-20 | 2011-07-20 | 存取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201305815A TW201305815A (zh) | 2013-02-01 |
TWI581097B true TWI581097B (zh) | 2017-05-01 |
Family
ID=48169166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100125695A TWI581097B (zh) | 2011-07-20 | 2011-07-20 | 存取方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI581097B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200839768A (en) * | 2007-03-19 | 2008-10-01 | A Data Technology Co Ltd | Hybrid density memory storage device |
TW200919181A (en) * | 2007-10-26 | 2009-05-01 | Sunplus Technology Co Ltd | Memory module and control method of serial peripheral interface using address catching |
TW200921385A (en) * | 2007-11-15 | 2009-05-16 | Genesys Logic Inc | Storage system for improving efficiency in accessing flash memory and method for the same |
US20100228799A1 (en) * | 2009-03-05 | 2010-09-09 | Henry Hutton | System for optimizing the transfer of stored content in response to a triggering event |
-
2011
- 2011-07-20 TW TW100125695A patent/TWI581097B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200839768A (en) * | 2007-03-19 | 2008-10-01 | A Data Technology Co Ltd | Hybrid density memory storage device |
TW200919181A (en) * | 2007-10-26 | 2009-05-01 | Sunplus Technology Co Ltd | Memory module and control method of serial peripheral interface using address catching |
TW200921385A (en) * | 2007-11-15 | 2009-05-16 | Genesys Logic Inc | Storage system for improving efficiency in accessing flash memory and method for the same |
US20100228799A1 (en) * | 2009-03-05 | 2010-09-09 | Henry Hutton | System for optimizing the transfer of stored content in response to a triggering event |
Also Published As
Publication number | Publication date |
---|---|
TW201305815A (zh) | 2013-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928167B2 (en) | Information processing system and nonvolatile storage unit | |
EP2631916B1 (en) | Data deletion method and apparatus | |
US9256542B1 (en) | Adaptive intelligent storage controller and associated methods | |
US8996799B2 (en) | Content storage system with modified cache write policies | |
US20100293337A1 (en) | Systems and methods of tiered caching | |
US8214581B2 (en) | System and method for cache synchronization | |
US20130227198A1 (en) | Flash memory device and electronic device employing thereof | |
US20120117328A1 (en) | Managing a Storage Cache Utilizing Externally Assigned Cache Priority Tags | |
US10083085B2 (en) | Indirection data structures to manage file system metadata | |
JP2009048613A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
JP2010027026A (ja) | メモリストレージ装置及びその制御方法 | |
JP2009276853A (ja) | フラッシュメモリ装置 | |
US9558124B2 (en) | Data storage system with passive partitioning in a secondary memory | |
CN107562367B (zh) | 基于软件化存储系统读写数据的方法以及装置 | |
JP2005302233A (ja) | 情報記憶装置、情報格納方法及び情報記憶処理プログラム | |
US20140219041A1 (en) | Storage device and data processing method thereof | |
KR20080098104A (ko) | 메타 데이터 저장 방법 및 메타 데이터 저장 시스템 | |
KR101191650B1 (ko) | 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법 | |
CN102160038A (zh) | 管理非易失性磁盘高速缓存的方法和设备 | |
TWI581097B (zh) | 存取方法 | |
JP6243884B2 (ja) | 情報処理装置、プロセッサ、および情報処理方法 | |
JP2008262452A (ja) | 記録デバイスのキャッシュ方法および記録装置 | |
JP6254986B2 (ja) | 情報処理装置、アクセスコントローラ、および情報処理方法 | |
US20100115529A1 (en) | Memory management apparatus and method | |
CN109213692B (zh) | 存储装置管理系统以及存储装置管理方法 |