一種文件的讀取方法,用以讀取硬盤的文件,其中文件對應硬盤中的多個物理區塊。文件的讀取方法包括:檢測硬盤的文件系統類型;依據文件系統類型,讀取文件的地址信息;依據地址信息,得到與物理區塊對應的多個物理區塊地址;將物理區塊地址排序得到物理地址表,其中物理地址表中的物理區塊地址以遞增或遞減的順序排列;以及依照物理地址表,以第一讀取手段讀取文件的物理區塊。
【技術實現步驟摘要】
本專利技術涉及一種,特別涉及一種能提高讀取速率的。
技術介紹
隨著計算機的普及與網絡技術的快速發展,硬盤的技術也隨之發展。一般硬盤中具有至少一磁盤(disk)以儲存大量的文件,硬盤并可通過以機械動作移動一讀寫臂(readwrite arm)以及讀寫頭(read write head)的方式讀取遍布于磁盤上的數據。硬盤中常采用各種文件系統(file system)以管理硬盤中保存的大量文件。例如文件系統能夠將磁盤的多個磁軌(track)分割為多個扇區(sector),并以扇區為單位進行數據的讀寫。讀取文件時,需要依序確定文件的所有邏輯區塊地址,并將邏輯區塊地址映像成多個物理區塊地址,才能確定欲讀取的文件的每一物理區塊所在的磁盤、磁軌以及扇區。讀取文件時,最花費時間之處在于移動讀寫臂以將讀寫頭固定在特定磁軌上的機械動作。硬盤廠商為了改進讀寫效率,主要靠提高硬盤的轉速;轉速越快,用戶存取數據時間也就越短。但由此做法確會衍生出磨損加劇、溫度升高或是噪聲增大等負面問題。
技術實現思路
本專利技術的目的在于提供一種,減少讀取時所需進行的移動讀寫臂的機械動作,而大幅提升讀取速率。為了達到上述目的,本專利技術提供一種,其用以讀取一硬盤的至少一文件,其中文件對應硬盤中的多個物理區塊(physical block)。包括:檢測硬盤的一文件系統類型;依據文件系統類型,讀取文件的一地址信息;依據地址信息,得到與物理區塊對應的多個物理區塊地址;將物理區塊地址排序得到一物理地址表,其中物理地址表中的物理區塊地址以遞增或遞減的順序排列;以及依照物理地址表,以一第一讀取手段讀取文件的物理區塊。其中第一讀取手段可包括:開啟一暫存區(buffer);依照物理地址表,依序讀取文件的物理區塊,并依序將讀取的每一個物理區塊所對應的一邏輯區塊填入暫存區;以及將填滿的暫存區做為文件的一數據源(data source)。第一讀取手段還可包括:累計一讀取計時器(timer);以及當讀取計時器到達一讀取時限時,將目前的暫存區做為文件的一數據源,并重置(reset)讀取計時器。文件系統類型可以是分層文件系統(Hierarchical File System, HFS)或分層文件系統加(Hierarchical File System Plus, HFS+),且地址信息為延伸紀錄(ExtRec)所指向的延伸數據紀錄(extent data record)。文件系統類型也可以是文件配置表32 (FileAllocation Table 32,FAT32),且地址信息為文件配置表。文件系統類型還可以是新技術文件系統(New Technology File System, NTFS),且地址信息為運轉表(runlist)。此外,還可包括:檢測文件的一文件大??;以及當文件大小大于一讀取上限時,以一第二讀取手段讀取文件的物理區塊。綜上所述,能夠減少讀取時所需進行的移動讀寫臂的機械動作,而大幅提升讀取速率。以下結合附圖和具體實施例對本專利技術進行詳細描述,但不作為對本專利技術的限定。附圖說明圖1為一實施范例的的流程圖;圖2為一實施范例的邏輯區塊與物理區塊的方框示意圖;圖3為一實施范例的第一讀取手段的流程圖;圖4A-圖 4D為一實施范例的暫存區的方框示意圖;圖5A-圖為還一實施范例的暫存區的方框不意圖;圖6為還一實施范例的第一讀取手段的流程圖;圖7為還一實施范例的的流程圖。其中,附圖標記20文件201-205 邏輯區塊30硬盤3001-3030 物理區塊40暫存區(第一暫存區)401-405 暫存區塊41第二暫存區411-415 暫存區塊具體實施例方式以下在實施方式中詳細敘述本專利技術的詳細特征以及優點,其內容足以使任何本領域技術人員了解本專利技術的
技術實現思路
并據以實施,且根據本說明書所揭露的內容、權利要求范圍及附圖,任何本領域技術人員可輕易地理解本專利技術相關的目的及優點。本專利技術提供一種,其用以讀取一硬盤的至少一文件。其中文件包括多個邏輯區塊(logic block),這些邏輯區塊與硬盤中的多個物理區塊(physicalblock) 一對一對應。且每一個物理區塊都對應到一個硬盤中的物理區塊地址。請先參照圖1以及圖2,其分別為一實施范例的的流程圖,以及邏輯區塊與物理區塊的方框示意圖。其中硬盤30可據有一讀寫頭(readwrite head)、連接讀寫頭的一讀寫臂(read write arm),以讀取硬盤30內的至少一磁盤(disk);且硬盤30可能采用各種不同類型的文件系統(filesystem)。的于本實施范例中,假設文件20包括5個邏輯區塊201-205,而硬盤30包括多個物理區塊3001-3030。其中假設邏輯區塊201、202、203,204以及205分別對應到物理區塊3006、3030、3007、3024以及3013。由于不同的文件系統各自采用不同的方法在硬盤30中配置文件20,因此首先需要檢測硬盤30的一文件系統類型(步驟S110)。文件系統類型例如可以是分層文件系統(Hierarchical File System, HFS)、分層文件系統加(Hierarchical File SystemPlus,HFS+)、文件配置表 32 (File AllocationTable 32,FAT32)或是新技術文件系統(NewTechnology File System, NTFS)。接下來為了提高讀取效率,先設法取得文件20所應的所有物理區塊3006、3030、3007、3024以及3013的物理區塊地址;并在考慮所有的物理區塊地址之后才開始讀取文件20的內容。依據文件系統類型,讀取文件20的一地址信息(步驟S120);再依據地址信息,得到與物理區塊3006、3030、3007、3024以及3013對應的多個物理區塊地址(步驟S130)。但是不同的文件系統使用的地址信息都不同;換言之,不同的文件系統存放每個文件20對應的物理區塊地址的地方都不一樣。例如當文件系統類型是HFS或HFS+時,其地址信息是為延伸紀錄(ExtRec)所指向的延伸數據紀錄(extent data record)。更詳細地說,為了得到文件20所對應的所有物理區塊地址,先依據文件20的一文件識別碼(file ID)查找出硬盤30中的一目錄文件紀錄(catalog file record),再讀取目錄文件紀錄中的ExRec的字段(field)。HFS/HFS+的文件系統可將多個物理區塊視為一數據段(data segment)進行處理。而ExRec中紀錄文件20的最初三個數據段分別的起始物理區塊地址和物理區塊個數,其中各個起始物理區塊位置就是上述的延伸數據紀錄。讀取ExRec,并以一個大幅度的機械動作移動讀寫臂之后,硬盤30的讀寫頭便可依據延伸數據紀錄連續讀取得到文件20對應的所有物理區塊地址。而當文件系統類別為FAT32時,其地址信息是為一文件配置表(fileallocationtable)。FAT32的文件系統為每個文件20分別維護一鏈接(link),并將所有的鏈接集中存放在文件配置表之中。其中鏈接上的每個節點(node)都代表一個物理區塊,文件20的結尾則以一文件結束(end of file, EOF)表示。因此本文檔來自技高網...
【技術保護點】
一種文件的讀取方法,用以讀取一硬盤的至少一文件,其中該文件對應該硬盤中的多個物理區塊,其特征在于,該文件的讀取方法包括:檢測該硬盤的一文件系統類型;依據該文件系統類型,讀取該文件的一地址信息;依據該地址信息,得到與該些物理區塊對應的多個物理區塊地址;將該些物理區塊地址排序得到一物理地址表,其中該物理地址表中的該些物理區塊地址以遞增或遞減的順序排列;以及依照該物理地址表,以一第一讀取手段讀取該文件的該些物理區塊。
【技術特征摘要】
1.一種文件的讀取方法,用以讀取一硬盤的至少一文件,其中該文件對應該硬盤中的多個物理區塊,其特征在于,該文件的讀取方法包括: 檢測該硬盤的一文件系統類型; 依據該文件系統類型,讀取該文件的一地址信息; 依據該地址信息,得到與該些物理區塊對應的多個物理區塊地址; 將該些物理區塊地址排序得到一物理地址表,其中該物理地址表中的該些物理區塊地址以遞增或遞減的順序排列;以及 依照該物理地址表,以一第一讀取手段讀取該文件的該些物理區塊。2.根據權利要求1所述的文件的讀取方法,其特征在于,該第一讀取手段包括: 開啟一暫存區; 依照該物理地址表,依序讀取該文件的該些物理區塊,并依序將讀取的每一該物理區塊所對應的一邏輯區塊填入該暫存區;以及將填滿的該暫存區做為該文件的一數據源。3.根據權利要求1...
【專利技術屬性】
技術研發人員:焦旭東,陳志豐,
申請(專利權)人:英業達股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。