TWI397060B - 物件導向儲存裝置之磁碟配置方法 - Google Patents

物件導向儲存裝置之磁碟配置方法 Download PDF

Info

Publication number
TWI397060B
TWI397060B TW097145449A TW97145449A TWI397060B TW I397060 B TWI397060 B TW I397060B TW 097145449 A TW097145449 A TW 097145449A TW 97145449 A TW97145449 A TW 97145449A TW I397060 B TWI397060 B TW I397060B
Authority
TW
Taiwan
Prior art keywords
index table
user
partition
collection
disk
Prior art date
Application number
TW097145449A
Other languages
English (en)
Other versions
TW201021027A (en
Inventor
Hsu Cheng Lin
Original Assignee
Ind Tech Res Inst
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW097145449A priority Critical patent/TWI397060B/zh
Priority to US12/437,309 priority patent/US8239427B2/en
Publication of TW201021027A publication Critical patent/TW201021027A/zh
Application granted granted Critical
Publication of TWI397060B publication Critical patent/TWI397060B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1252Formatting, e.g. arrangement of data block or words on the record carriers on discs for discontinuous data, e.g. digital information signals, computer programme data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

物件導向儲存裝置之磁碟配置方法
本發明係關於一種物件導向儲存裝置(Object-Based Storage Device,OSD)之磁碟配置(Disk Layout)方法。
現行使用的網路儲存架構之下有網路磁碟機(Network-attached Storage,NAS)及儲存區域網路(Storage Area Network,SAN),NAS的問題在於元資料(metadata)都放在檔案伺服器上,當大量的使用者存取時,會造成伺服器本身的效能低落,因此在SAN所提供了比NAS更多的優點的同時,卻又產生了網路安全性上的問題。因此OSD被提出來做為網路儲存上效能及安全性的一個解決方案。
OSD係為一種在網路儲存架構下能夠提供自我管理、分享及安全性儲存的一種儲存方法,其將部份較低階的功能如空間管理由檔案系統移至磁碟裝置本身,裝置的存取則為標準物件介面。此外,在此OSD架構下,又定義了物件存取的內容及方法,其特殊的架構及規格也必須要有相對應的磁碟輸出方法搭配。目前針對OSD架構的實作方式有兩類,第一類為利用傳統檔案系統模擬,如Linux下的第二延伸檔案系統(Second Extended File System,Ext2);第二類為相關於OSD的磁碟配置新方法之研究,例如,物件導向檔案系統(Object-Based File System,OBFS)及其衍生之物件導向儲存裝置檔案系統(Object-based Storage Device File System,OSDFS),其架構Ext2大致相同,不 同的部份只在其設計為可變區塊的大小及索引方式,然而其設計有其限制所在。以下針對此二類方法作說明。
該磁碟配置非針對OSD的物件特性而設計。
OSD是以物件為基礎並以唯一的識別碼(ID)做為識別物件的根據。物件又分成根(Root)、分區(Partition)、收集(Collection)及使用者(User)四種類型,而這四種物件類型又分別有不同的屬性配置。因f此,為了要針對其特殊規格而設計,必須要有特別的物件描述方式儲存在實體裝置中。
第1圖係顯示Ext2之磁碟配置的示意圖。如第1圖所示,在一磁碟分割(Partition)中,除了記錄檔案系統資訊的超級區塊(Superblock)之外,依照分割區的大小劃分多個區塊群組(Block Group)。在Superblock中記錄了區塊的總數量、已經使用及未使用的區塊、inode數量...等等。每一區塊群組包括一群組資訊,其記錄對應區塊群組之已使用區塊、未使用區塊、inode以及真正存放資料的資料區塊。檔案與目錄的相關資訊皆存放在inode中,其中目錄係被視為一種特殊形式的檔案,可據以建立階層關係。
第2圖係顯示OBFS之磁碟配置的示意圖。參考第2圖,OSDFS(以OBFS為基礎)之整體架構與Ext2大致相同,其將整個磁碟分割成同樣大小的大範圍的區域(Region),例如,256MB。區域的大小係視需要來分配,此外,可以依檔案大小需求,再將每一區域劃分成全部都是大區塊或小區塊。每一區域中會有記錄已使用或未使用 的區塊資訊,以及真正存放資料的資料區塊。每一區域的元資料(Metadata)存放在onode中,其中元資料係用來存放每一個物件的狀態,其利用區域識別碼(Region ID)及物件識別碼來進行索引。
目前大部份的OSD檔案系統技術是利用現行傳統的檔案系統(例如,ext2、ext3...等)來模擬。傳統上Linux作業系統之磁碟配置是以內節點(inode)為基礎,因為其metadata(如建立時間等)沒辦法完整的描述一個物件,只能以模擬物件的方式進行,與OSD所欲表達的精神與特性實有不同。此外,一些新的OSD的磁碟配置方法(例如,OBFS或OSDFS)是結合現行的檔案系統及OSD的部份特性而設計,並非完全專門針對OSD之規格中的特性而開發,其未提供完整的屬性的儲存,所以其描述物件之能力也相對不足。
此外,在網路儲存架構下的物件可攜性問題、硬碟空間使用無彈性且無法充份利用、無法配合現行作業系統架構、無法有效索引物件以及無整體性等問題。因此,現今檔案系統的存取方式無法完整有效的將OSD的特性顯露出來,此外,尚需透過其它的輔助的方式才能展現物件的附屬關係。
本發明實施例揭露了一種物件導向儲存裝置之磁碟配置方法,其適用於一磁碟。該方法包括下列步驟:初始化該磁碟,並且新增一個Root物件。當新增該Root物件時, 在該磁碟中第一個可使用的區塊開始配置一組區塊,其分別儲存該Root物件屬性(此後物件屬性包括規格書上定義的屬性(attributes)加上前述的metadata)、一未使用區塊索引表以及一Partition物件索引表,其中該Root根據該Partition物件索引表來索引一Partition物件的位置。當新增一Partition物件時,在該磁碟中配置一組區塊,其分別儲存該Partition物件之屬性、一Collection物件索引表以及一User物件索引表,其中該Partition物件根據該Collection物件索引表來索引Collection物件的位置以集根據該User物件索引表來索引一User物件的位置。當新增一Collection物件時,在該磁碟中配置一組區塊,其分別儲存該Collection物件之屬性以及一User物件識別碼索引表,其中該Collection物件根據該User物件識別碼索引表來索引一User物件識別碼。當新增一User物件時,在該磁碟中配置一組區塊,其分別儲存該User物件之屬性以及該User物件的資料。
本發明實施例更揭露了一種物件導向儲存裝置之磁碟配置方法,其對一磁碟進行磁碟配置,使得該磁碟具有一Root物件、至少一Partition物件以及至少一User物件。該Root物件更提供Root物件屬性、一未使用區塊索引表以及該Root物件用來索引一Partition物件位置之一Partition物件索引表。該Partition物件更提供Partition物件屬性、該Partition物件用來索引一Collection物件位置之一Collection物件索引表以及該Partition物件用來索引 一User物件位置之一User物件索引表。該User物件更提供User物件屬性以及ser物件資料。
為了讓本發明之目的、特徵、及優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式第3圖至第14圖,做詳細之說明。本發明說明書提供不同的實施例來說明本發明不同實施方式的技術特徵。其中,實施例中的各元件之配置係為說明之用,並非用以限制本發明。且實施例中圖式標號之部分重複,係為了簡化說明,並非意指不同實施例之間的關聯性。
本發明實施例揭露了一種物件導向儲存裝置之磁碟配置方法。
磁碟配置是儲存永久資料的基本方式。若傳統檔案系統要快速、穩定的存取硬碟,並呈現相關內容給終端使用者(end-user),通常使用階層形式來儲存檔案系統(例如,Ex2、Ext3、NTFS...等等),這些檔案系統都有其特定的磁碟配置方式。然而,以物件形式存在的資料儲存方式有其特殊需求,包括特定的物件類別及每一物件類別的屬性,必須根據識別碼來進行存取。目前僅有OBFS及OSDFS制定出其磁碟配置方式,但是在資料存取上仍被受到限制。
基於OSD規格書的定義,物件的使用數量是沒有限制的。本發明支援OSD規格書的定義,且提供非必要性的支援。第3圖係顯示本發明實施例之磁碟配置的示意圖。參考第3圖,本實施例之磁碟配置包含Root物件屬性, Partition物件的屬性,User物件的屬性,以及User物件的資料區。磁碟的使用上不預設任何的分割,而以磁碟能支援的為極限,其中Root物件(即,相等於Ext2的Superblock)包含屬性以及可使用區塊或已使用Partition的物件索引。此外,本發明可以無限制切割Root物件成為多個Partition物件。除了屬性區塊外,Partition物件更包含可使用區塊、已使用Collection物件索引及User物件索引。另外,Collection物件也記錄了其下之User物件識別碼(User Object ID)。每一種物件都有索引可供直接存取到物件屬性及資料所在的區塊。
以下先說明物件導向儲存裝置(OSD)所要表達的儲存概念。
OSD是一個經標準實作後用來儲存成為物件之資料的裝置,其中每一個物件係依照資料的順序來儲存,且並賦予每一物件一識別碼,使得存取資料都要透過物件識別碼。對外而言,資料係指一個物件,而非區塊組成的檔案,並且利用一安全機制將物件存放在儲存媒體中。物件種類包括Root物件、Partition物件、Collection物件以及User物件。每一物件包括各自的屬性,分別說明如下:Root物件係用來描述邏輯單元(Logic Unit)的儲存空間以及用來管理Partition物件。Partition物件用來描述給Collection物件及User物件使用的儲存空間,以及描述Collection物件及User物件的安全性、空間限制...等原則。Collection物件為用來分類與索引User物件的管理性物 件。User物件係用來存放使用者資料。
下文將分為數個部分來說明本發明之OSD之磁碟配置。
磁碟配置概念
在建立了磁碟邏輯單元(Logic Unit)之後,請參考第3圖之實施例說明以本發明進行磁碟配置的儲存結構。假設預設存放的基本單位是以一個區塊(Block)大小為4K位元組,或者使用者可以自訂區塊大小。但基於屬性資料存放的便利性、空間使用上的完整性、以及配合作業系統記憶體管理機制,以4K大小的區塊最適合。
Root物件即為描述OSD本身,亦即當使用者欲以OSD存放物件,即可將OSD視為唯一的Root物件。Root物件有其屬性,因此第一個區塊即存放Root物件的屬性資料,第一個區塊是在位移1024位元組之處。如果整個硬碟是給OSD使用,則必須保留磁區給開機管理程式(Boot Loader),而接在屬性區塊之後的是未使用區塊索引表。在未使用區塊索引表之後是存放Partition物件索引表。因為Partition物件可以無限制的產生,因此需要可以存放大量Partition物件的表格,表格的配置及使用方式會在之後說明。
Partition物件是一個用來儲存Collection物件與User物件的容器(Container)。當建立一個新的Partition物件時,會建立Partition物件的屬性區塊,接在之後的是已使用的Collection物件索引表及User物件索引表。
基本屬性資料
除了規格書定義的屬性及metadata之外,本發明仍可自訂多個屬性以搭配作業系統及磁碟配置的需求。因此,除規格書定義的屬性,以下每一物件種類說明可能產生的額外屬性,但並非用以限定本發明。
「Root物件可能的額外屬性」:其類似Ext2之Superblock的功能,其記錄所有區塊使用的資訊、屬性使用的區塊數量、與各物件之索引表相關的記錄、定位區塊的長度(32或64位元)、物件識別碼的長度(32或64位元)、物件識別碼的計數器等,或其它所需的屬性。
「Partition物件的可能額外屬性」:其記錄與Collection物件及User物件之索引表相關的記錄,包括起始位置及每次配置表格的大小等,或其它所需的屬性。
「Collection物件可能的額外屬性」:其記錄User物件索引表的大小及位置等。因為User物件和Collection物件是多對多的關係,所以必須要相互索引以快速尋找。
「User物件可能的額外屬性」:由於User物件負責存放資料,因此若資料量很小,也就是屬性加資料小於一個區塊(如:4K bytes)大小時,可以將該資料當成屬性儲存,就是在屬性表內會有一個為屬性內資料(In-property Data)的欄位,資料存放在此欄位中。或其它所需的屬性。
如果User物件的資料不是以In-property Data的形式存在,則代表該資料是存在於額外的區塊中,因此User物件必須要記錄使用的區塊,在其屬性表中有一個屬性,其 稱為區塊串列(Block List)。
區塊串列由多個連續記錄組成,每一個記錄存放資料區塊的位置及其長度,即先定義1或2個位元組記載後面銜接之資料區塊所記錄的數量,接下來以位置及長度為一組記載資料區塊的記錄,其中每一記錄的格式為記錄內容是分區配置(Extent-based)的方式存在,也就是以位置(Location)+連續區塊長度(Length),以32位元的配置來說,其每一記錄的使用空間為位置(32位元)+連續區塊長度(32位元)=8位元組。定位用的位置是指第n個區塊的位置,而非實際位址,其中實際位址必須利用公式計算而得,該公式表示為n×區塊大小(例如,4K、8K、...)。以一個4K的區塊為例,當位置(Location)為100時,其實際位址為100×4K。以下說明公式中的變數。
第四圖係說明User物件區塊串列屬性之資料區塊的排列方式,其中第1個欄位為1個位元組,用來記錄已儲存資料區塊的數量,因此最多可存放255個不連續區塊。
位置(例如,長度為32位元):可以使用232 個區塊,定址到232 ×4K=17592G位元組=16T位元組的位址空間。
長度(例如,長度為32位元):使用連續區塊的數量,單一個連續區塊可以使用232 ×4K=17592G位元組=16T位元組的硬碟空間。
舉例來說,若屬性只用一個區塊,一個區塊大小為4K,假設基本屬性的部份佔了3K的空間,剩於1K的空間給區塊串列使用,則最多可以記錄(1024-2)/8=127個 不連續的資料空間;或者給屬性內資料存放1K的資料。若從未使用區塊索引表取得可以存放的空間,但是記錄的數量超過該可以存放的空間,表示空間使用將近完畢而造成磁區使用過於分散,故需要進行磁碟重組。
索引及表格的使用
由於索引表在磁碟配置扮演重要的資料定位及尋找的功能,以下將細部說明各種索引表分類及其使用方式。每一種索引表將從其最基本的表格結構說明起,之後會以例子說明其用法。為了因應無限制物件使用的需求,在本發明實施例中設計幾種特殊的表格,包括物件索引表、未使用區塊索引表以及Collection物件之User物件識別碼索引表。
物件索引表
在OSD中是以物件為存取為核心,如何快速尋找及大量儲存物件變成此磁碟配置的核心工作,因此必須設計符合需求的物件索引。
Table結構及其連結
物件索引表使用預設一次配置所需數量的區塊,其預設數量會記載在Root物件的屬性中。假設一組區塊包括數個區塊不夠使用時,亦即超過上限臨界值(Upper Threshold),可以再動態分配一組新的未使用的區塊,其係根據未使用區塊索引表來取得分配。當將多組區塊連結使用時,假設有m組區塊,如果記錄因刪除導致降低到第m-1組的下限臨界值(Lower Threshold),則將第m組區 塊釋放移除。
區塊組之間彼此有連結的關係,假設區塊定位使用32位元=8位元組,每一組區塊之第一個區塊的前面保留16位元組,前8個位元組為前一組區塊之起始位置(Start location of previous set of blocks(SP)),其記錄前一組區塊的位置,而後8個位元組為下一組區塊的起始位置(Start location of next set of blocks(SN)),其記錄下一組區塊的位置。如果只有一組區塊,則SP及SN都表示為NULL。如果有多組區塊,則第一組區塊的SP表示為NULL,而最後一組區塊的SN表示為NULL。如果其中一組區塊的資料將近額滿,亦即超過臨界值(其中該臨界值屬於Root的額外屬性),則必須再增加一組新的區塊,如第5圖所示。
存放於物件索引表的記錄
物件索引表可包括屬於Root物件的Partition物件索引表(Partition Object Table)、屬於Partition物件的Collection物件索引表(Collection Object Table)以及User物件索引表(User Object Table),每一物件索引表內部所存放的每一筆記錄代表一個物件索引,而物件索引的格式為物件識別碼(Object ID)加上位置(Location),則一物件索引表可以記載的索引數量公式為:
如果物件識別碼(包括Partition識別碼(Partition ID)、收集識別碼(Collection ID)以及使用者識別碼(User Object ID))的長度為32位元(4位元組),區塊位置(Block Location)固定為32位元時,則一筆記錄的長度為Object ID+Location=8位元組。因此,1個4K大小的區塊如果以8位元組做為記錄單位,則可儲存4096-8-8/8=510個記錄。
又,如果物件識別碼的長度為64位元(8位元組),區塊位置(Block Location)固定為32位元時,則一筆記錄的長度為Object ID+Location=12位元組。因此,1個4K大小的區塊如果以12位元組為記錄單位,扣除SP及SN各佔8位元組,則可存放(4096-8-8)/12=340個記錄。
由於整個物件索引表是以連結多組區塊所形成,以一次一組16個區塊來看,共佔用16×4K=64K的資料空間。若物件識別碼的長度為32位元,則可存放(16×4096-8-8)/8=8190個物件索引。若物件識別碼的長度為64位元,則以單一組區塊可存放(16×4096-8-8)/12=5460個物件索引。
未使用區塊索引表(Free Block Table)
未使用區塊索引表可定義在Root物件中。若要取得空間,必須要跟Root物件中的未使用區塊請求適合的大小。未使用區塊索引表內部所存放的每一筆記錄代表一個連續的未使用的空間,未使用的區塊記錄如果是多組分散的,則形成一個多筆記錄,而每一筆記錄的格式也是利用分區配置的方式記錄,位置(Location)+區塊長度(Length)。
以一次一組8個區塊來看,共佔用8×4K=32K的資料空間,可記錄510×8=4080筆不連續未使用的儲存空間。
記錄內容會因執行新增、尋找、刪除及修改(因釋放區塊所產生的合併,需要修改大小)等操作而變動。在對磁碟進行格式化時,會忽略損毀的區塊,只在未使用區塊索引表中記錄正常的區塊。因此,格式化磁碟時如果沒有損壞的區塊,則在格式化完成後僅會在未使用區塊索引表中產生一筆記錄。相對的,格式化磁碟時如果有損壞的區塊,則在格式化完成後會在未使用區塊索引表中產生對應損壞區塊之多筆記錄。
Collection物件的User物件識別碼索引表
在Collection物件中,除了屬性本身之外,也包括儲存User物件識別碼的記錄,該等記錄係存放在User物件識別碼索引表中。User物件識別碼索引表(User Object ID Table)可視為Collection物件的資料,且其記錄了User物件識別碼。識別碼索引表的增加及減少也是利用上述門檻值規則。以一次一組4個區塊來看,共佔用4×4K=16K的資料空間。
若物件識別碼的長度為32位元,則可存放(4096/4)×4=4096個User物件識別碼。若物件識別碼的長度為64位元,則可存放(4096/8)×4=2048個User物件識別碼。
各種物件存取方法的說明
Root物件
一開始先存放Root物件之屬性區塊,接下來利用一組 區塊存放整個磁碟邏輯單元的未使用區塊索引表,再利用一組區塊存放Partition物件索引表,以下說明Partition物件存取的一些動作。
以新增Partition物件為例,從未使用區塊索引表取得一筆記錄可以有適當數量的區塊給Partition物件,其中這些區塊包括Partition物件的屬性、預設使用區塊數量的Collection物件索引表以及預設使用區塊數量的User物件索引表,再加入一筆Partition物件索引到Partition物件索引表中,並且修改Root物件的相關屬性值。完成Partition物件配置後便可將此記錄的位置往後移,移到已使用的區塊位置之後。
以移除Partition物件為例,移除Partition物件包括強制性移除與非強制性移除。強制性移除必須將Partition物件裡所有的Collection物件與User物件移除,才能移除Partition物件。非強制性移除則與移除一個清空的Partition物件一樣,將Partition物件及其以下的Collection物件及User物件使用的區塊記錄歸還未使用區塊索引表,然後從Partition物件索引表將該Partition物件的索引移除,並且修改Root物件的相關屬性值。
就改變Partition大小來說,只需修改Partition物件的相關屬性值。
Partition物件
先存放Partition物件的屬性區塊,利用一組區塊存放Collection物件索引表與User物件索引表。Collection物件 索引表為選擇性的,如果系統選擇不支援使用Collection物件,則不放置Collection物件索引表。有關Partition物件及其內容之存取如第6圖所示。
改變Partition大小
只須修改Partition物件的相關屬性值。
Collection物件存取
Collection物件存取是選擇性的,在格式化時決定要不要支援Collection物件,其存取方式包括新增與移除Collection物件。新增Collection物件係從未使用區塊索引表取得適當大小的區塊,以存放Collection物件屬性及User物件識別碼索引表(User Object ID Table),之後加入一筆Collection物件索引到Partition物件的Collection物件索引表中,並修改Partition物件的相關屬性值。
移除Collection物件係將Collection物件索引從Collection物件索引表中移除,再將Collection物件屬性及User物件識別碼索引表使用的區塊釋放回Root物件的未使用區塊索引表中,並修改Partition物件的相關屬性值。
User物件的存取
User物件的存取包括新增User物件、移除User物件以及改變User物件的資料區塊。
新增User物件係先從Root物件的未使用區塊索引表取得區塊,包括給予屬性及資料使用的區塊,再加入一筆User物件索引到Partition物件的User物件索引表中,並修改Partition物件的相關屬性值。
移除User物件係將User物件屬性及資料的區塊釋放回Root物件的未使用區塊索引表中,再從Partition物件的User物件索引表中將User物件索引移除,並修改Partition物件的相關屬性值。
User物件的資料區塊係將資料使用的區塊記錄在屬性值中,因此當資料大小有改變時會連帶牽動屬性及未使用區塊索引表的記錄。
需注意到,Partition物件不是根據Partition物件索引表產生而是程式建立產生。在產生Partition物件之後,會產生一個Partition的ID索引,這個ID索引會放到Partition物件索引表裡。
Collection物件(選擇性(Optional))
Collection物件為選擇性的支援,因此在磁碟格式化過程中可以選擇要不要加入此物件。當有支援此物件時,可以新增及刪除User物件的ID索引。因為User物件的ID索引是放在Collection物件的User物件識別碼索引表中,所以索引表的增減也適用上述門檻值規則。
需注意到,Collection物件不是根據Collection物件索引表產生而是程式建立產生。在產生Collection物件之後,會產生一個Collection的ID索引,這個ID索引會放到Collection物件索引表裡。
User物件
User物件為真正存放資料的物件類別,如第7圖所示,當前一組存放物件索引的表格不足時,就會用到一組 新的表格。
存取User物件的操作包括新增User物件、刪除User物件以及改變物件資料。
新增User物件係先從Root物件的未使用區塊索引表中取得適當大小足夠的空間,以取得一次性的足夠儲存空間為主。如果不能從單一筆記錄取得的足夠的連續空間,則必須使用多筆記錄的不連續的空間,計算取得不連續空間的大小到足夠寫入此物件資料。接著,修改User物件屬性,然後加入一筆資料到Partition物件的User物件索引表中。
刪除User物件係將ID索引從Partition物件的User物件索引表中移除,並將屬性中使用到的區塊歸還到Root物件的未使用區塊索引表。從User物件的屬性中可以得知,如果物件屬於某些Collection物件,則必須從Partition物件的Collection物件索引表中去找到對映的Collection物件,並從這些Collection物件的User物件識別碼索引表裡移除裡面的User物件的ID記錄。
資料會因存取而造成空間使用上的改變。如果預先配置的儲存空間足夠,則直接修改User物件的資料長度的屬性即可。如果儲存空間不足,則必須從Root物件的未使用區塊索引表中請求區塊來使用。如果因為刪除資料而產生多餘的區塊,則歸還到Root物件的未使用區塊索引表中。
使用In-property data時,如果是資料縮減,只會修改User物件的資料長度屬性內容。如果資料長度增加而不足 以存放在屬性區塊中時,則必須向Root物件的未使用區塊索引表中要求分配未使用的區塊,並將原有的In-property data資料移至被分配的區塊中。是否支援此屬性可以由格式化時預設,或者當設定屬性時改變。
以上簡單說明了本發明實施例之磁碟配置與各物件的功能與使用方式,下文將說明物件導向儲存裝置之磁碟配置方法的實施流程。
需注意到,User物件不是根據User物件索引表產生而是程式建立產生。在產生User物件之後,會產生一個User的ID索引,這個ID索引會放到User物件索引表裡。
第8A圖係顯示本發明實施例之物件導向儲存裝置之磁碟配置方法的步驟流程圖。
首先,在初始執行磁碟配置時,新增一個Root物件(步驟S801),即在一磁碟中配置一組區塊,其分別儲存Root物件之屬性、未使用區塊索引表(Free Block Table)以及Root物件用來索引Partition物件之位置的Partition物件索引表(步驟S802),如第9圖所示。
需注意到,在配置給該Root物件之該組區塊中,包括給Partition物件屬性使用之一個區塊,給未使用區塊索引表之一或一個以上的區塊,給Partition物件索引表使用之一或一個以上的區塊。上述區塊是根據Root物件屬性值而定,而Root物件的屬性係在磁碟初始格式化之後就決定,也就是利用格式化參數或者預設值來決定上述區塊。
當新增一個Partition物件時(步驟S803),在該磁碟 中另外配置一組區塊,其分別儲存第1 Partition物件之屬性、Partition物件用來索引Collection物件位置的Collection物件索引表以及Partition物件用來索引User物件位置的User物件索引表(步驟S804),例如第10圖所示。此時,Partition物件索引表的內容如第11圖所示,其中第1分割區在第10個區塊位置。
需注意到,在配置給該Partition物件之該組區塊中,包括給Partition物件屬性使用之一個區塊,給Collection物件索引表使用之一或一個以上的區塊,給User物件索引表使用之一或一個以上的區塊。上述區塊是根據Root物件屬性值而定,而Root物件的屬性係在磁碟初始格式化之後就決定,也就是利用格式化參數或者預設值來決定上述區塊。
當新增一個Collection物件時(步驟S805),在該磁碟中另外配置一組區塊,其分別儲存第1 Collection物件之屬性以及Collection物件用來索引User ID的User物件識別碼索引表(步驟S806),如第12圖所示,其中User物件識別碼索引表係用以得知Collection物件包括哪些User物件。
需注意到,Collection物件存取是選擇性的。在配置給該Collection物件之該組區塊中,包括給Collection物件屬性使用之一個區塊,區塊給User物件識別碼索引表使用之一或一個以上的區塊。上述區塊是根據Root物件屬性值而定,而Root物件的屬性係在磁碟初始格式化之後就決定, 也就是利用格式化參數或者預設值來決定上述區塊。
若再新增一個Collection物件,即在該磁碟中另外配置一組區塊,其分別儲存第2 Collection物件之屬性以及Collection物件用來索引User ID的User物件識別碼索引表,如第13圖所示,其中User物件識別碼索引表係用以得知Collection物件包括哪些User物件。
當新增一個User物件時(步驟S807),在該磁碟中另外配置一組區塊,其分別儲存User物件之屬性以及User物件的資料(Data)(步驟S808),如第14圖所示。需注意到,在配置給該User物件之該組區塊中,包括給User物件屬性使用之一個區塊,以及給User物件之資料區塊使用之零或零個以上的區塊。屬性區塊是固定配置,資料區塊則根據應用程式的需要可事先配置(可不必儲存資料)或者動態延伸。資料區塊的位置記錄在User物件屬性中。
需注意到,Root物件可以產生不限數量的Partition物件,Partition物件可以產生不限數量的Collection物件及User物件。
以下進一步說明Partition物件、Collection物件與User物件之新增與刪除操作流程實施例。
第8B圖係顯示本發明實施例之新增與刪除Partition物件的步驟流程圖。
首先,判斷新增或刪除Partition物件(步驟S811)。若欲新增Partition物件,則在一磁碟中的配置一組區塊,其分別儲存Partition物件之屬性、Partition物件用來索引 Collection物件位置的Collection物件索引表以及Partition物件用來索引User物件之位置的User物件索引表,並且修改Root物件屬性以及修改Root物件的未使用區塊索引表(步驟S812)。若欲刪除Partition物件,則判斷Partition物件是否含有Collection或User物件(步驟S813)。若Partition物件含有Collection或User物件,則刪除所有Collection物件及User物件(步驟S814)。若Partition物件未含有Collection或User物件,則修改Root物件屬性以及修改Root物件的未使用區塊索引表(步驟S815)。
第8C圖係顯示本發明實施例之新增與刪除Collection物件的步驟流程圖。
首先,判斷新增或刪除Collection物件(步驟S821)。若欲新增Collection物件,則在一磁碟中的配置一組區塊,其分別儲存Collection物件之屬性以及Collection物件用來索引User物件識別碼的User物件識別碼索引表,並且修改Partition物件屬性及Partition物件的Collection物件索引表,以及修改Root物件屬性及Root物件的未使用區塊索引表(步驟S822)。若欲刪除Collection物件,則刪除Collection物件及User識別碼索引表(步驟S823),並且修改Partition物件屬性及Partition物件的Collection物件索引表,修改Root物件屬性,以及修改Root物件的未使用區塊索引表(步驟S824)。
第8D圖係顯示本發明實施例之新增與刪除User物件的步驟流程圖。
首先,判斷新增或刪除User物件(步驟S831)。若欲新增User物件,則在一磁碟中的配置一組區塊,其分別儲存User物件之屬性、User物件儲存資料的空間,並且修改Partition物件屬性及Partition物件的User物件索引表,修改Root物件屬性,以及修改Root物件的未使用區塊索引表(步驟S832)。若欲刪除User物件,則判斷User物件是否屬於Collection物件(步驟S833)。若User物件屬於Collection物件,則刪除所有Collection物件中含有User物件識別碼的索引(步驟S834)。若User物件不屬於Collection物件,則修改Partition物件屬性與Partition物件的User物件索引表,修改Root物件屬性,以及修改Root物件的未使用區塊索引表(步驟S835)。
如上所述,藉由本發明實施例之物件導向儲存裝置之磁碟配置方法,當物件管理裝置無法使用或找不到物件時,可以從儲存裝置中直接存取,而當儲存裝置無法隨著物件管理裝置移植時,可以不需要物件管理裝置,而可以從儲存裝置中直接索引與存取資料。
由於索引表是用於存取物件,因此可以利用資料快取的方式來存取藉由本發明之磁碟配置所實作而成的系統。索引表所佔的記體空間不大,當讀取索引表中的資料時,以一次讀取一整組區塊到記憶體中,並預先掃描並分析這組區塊,在掃描時同時記錄在索引表中未使用記錄的位置。在索引表中產生未使用記錄的位置的原因在於索引表在存取記錄時,會有刪除記錄的動作,因而在索引表中產 生記錄缺口(Record Holes)(即,未使用的記錄)。
若發現在快取的索引表中有未使用記錄的位置,則先以填入這些記錄缺口為優先(即,新增操作),若沒有時就附加在索引表中之最後記錄的後面。當找到欲刪除的記錄時,將記錄的內容全設為0(表示為NULL),則該記錄即被刪除。在索引表中尋找記錄的速度是影響磁碟配置的關鍵,可利用循序搜尋(Sequential Search)或其它搜尋方式來實現。
排序的資料可加快記錄的尋找,而記錄排序的方式係依照各個索引表的功能性,並且根據不同的關鍵(Key)值來排序。。
以從頭開始分配連續的區塊為主,如遇到檔案變更而需要額外的儲存區塊,但是無法分配後面的連續區塊,則新分配的區塊以最接近的區塊為原則,並且以不連續空間方式儲存。當遇到大型的新檔案時,則以分配連續的空間為優先,或者以能取得之最多的連續空間為主。對未使用區塊可執行新增、列表及刪除操作。
尋找索引表的動作可利用相關的演算法來執行。每一索引表所分配的一組區塊數量皆可以參數化方式來訂定。可以提供工具將表格最佳化處理,以縮短尋找時間,例如將表格排序,並且以不產生更多不連續空間為原則。
綜上所述,本發明之實施例提供:在硬碟起始規畫方面,包括Root物件的metadata,傳統檔案系統配置稱為超級區塊(Superblock)、Partition物 件索引表以及未使用區塊索引表。在連續空間取得方面,由單一的未使用區塊索引表取得,其係為extent-based。在物件屬性存取方面,只要取得物件位置,即可直接存取屬性與物件索引表,直接索引分類各物件。在資料存取方面,由屬性內取得資料或由區塊串列的記錄讀取。在現有實作的支援方面,實作完成Linux上OSD模擬檔案系統的核心層模組。
在物件索引方面,以集中的記錄形成的表格,可一次性的讀取所有的索引資料形成快取。並輔以搜尋演算法。在物件屬性方面,metadata合併物件屬性連同資料部份可形成一連續記錄。另可自訂屬性。在物件的階層關係方面,清楚的階層式配置。支援所有的物件。在作業系統的支援方面,完全搭配系統緩衝管理的需求做成核心模組(Kernel Module),以檔案方式展現或另成一獨立存取模式。在硬體整合方面,利用簡單的配置設計,可單獨設計IC晶片存取物件,以達成OSD所要求的空間管理等功能一併整合至儲存裝置中。因表格皆可快取,資料直接定位。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可以透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執 行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
SN‧‧‧下一組區塊的起始位置
SP‧‧‧前一組區塊之起始位置
S801..S808‧‧‧流程步驟
第1圖係顯示Ext2之磁碟配置的示意圖。
第2圖係顯示OBFS之磁碟配置的示意圖。
第3圖係顯示本發明實施例之磁碟配置的示意圖。
第4圖係顯示本發明實施例之User物件之資料區塊的排列方式的示意圖。
第5圖係顯示本發明實施例之物件索引表中之區塊組關聯的示意圖。
第6圖係顯示本發明實施例之Partition物件中的配置示意圖。
第7圖係顯示本發明實施例之User物件索引表之內容存取的示意圖
第8A~8D圖係顯示本發明實施例之物件導向儲存裝置之磁碟配置方法的步驟流程圖。
第9~14圖係顯示本發明實施例之物件導向儲存裝置之磁碟配置的流程圖。
S801..S808‧‧‧流程步驟

Claims (46)

  1. 一種物件導向儲存裝置之磁碟配置方法,其適用於一磁碟,包括下列步驟:初始化該磁碟,且新增一根(Root)物件;當新增該Root物件時,在該磁碟中配置一或多組區塊,其分別儲存該Root物件之屬性、一未使用區塊索引表以及一分割區(Partition)物件索引表,其中該Root物件根據該Partition物件索引表來索引一Partition物件的位置;新增一Partition物件;當新增該Partition物件時,在該磁碟中配置一或多組區塊,其分別儲存該Partition物件之屬性、一收集(Collection)物件索引表以及一使用者(User)物件索引表,其中該Partition物件根據該Collection物件索引表來索引Collection物件的位置以及根據該User物件索引表來索引一User物件的位置;新增一User物件;以及當新增該User物件時,在該磁碟中配置一或多組區塊,其分別儲存該User物件之屬性以及該User物件的資料。
  2. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其更包括新增一Collection物件,並且在該磁碟中配置一或多組區塊,其分別儲存該Collection物件之屬性以及一User物件識別碼索引表,其中該Collection 物件根據該User物件識別碼索引表來索引一User識別碼。
  3. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,根據該Root物件之該Partition物件索引表取得上述Partition物件。
  4. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,根據該Partition物件之該Collection物件索引表取得上述Collection物件。
  5. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,根據該Partition物件之該User物件索引表取得上述User物件。
  6. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,該Partition物件索引表、該Collection物件索引表以及該User物件索引表為一或多組區塊所組成並且用以分別存放Partition物件識別碼、Collection物件識別碼與User物件識別碼,以及分別存放上述Partition物件、Collection物件、與User物件之起始位置。
  7. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,該未使用區塊索引表內所存放的每一筆記錄代表一個連續的未使用的空間,而該每一筆記錄的格式表示為位置加上連續區塊長度。
  8. 如申請專利範圍第2項所述的物件導向儲存裝置之磁碟配置方法,其中,該Collection物件之該User物件識別碼索引表可直接索引該User物件的識別碼。
  9. 如申請專利範圍第8項所述的物件導向儲存裝置之 磁碟配置方法,其中,當該User物件識別碼在該User物件寫入該磁碟且該User物件屬於該Collection物件時,則將該User物件識別碼加入該Collection物件之該User物件識別碼索引表。
  10. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,該Root物件的屬性可包括記錄該磁碟中之所有區塊使用的資訊、該屬性使用的區塊數量、與各物件之索引表相關的記錄、一定位區塊的長度、一物件識別碼的長度以及相關於該物件識別碼的計數器。
  11. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,該Partition物件的屬性可包括記錄與該Collection物件索引表以及該User物件索引表相關的記錄,包括起始位置及每次配置表格的大小。
  12. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,該Collection物件的屬性可包括記錄該User物件索引表的大小及位置。
  13. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,該User物件的資料可當成屬性內資料(In-property Data)來儲存。
  14. 如申請專利範圍第13項所述的物件導向儲存裝置之磁碟配置方法,其中,若該資料不是以In-property Data的形式存在,則該User物件記錄該資料是存在於一額外的區塊串列中,其中該區塊串列由多個連續記錄組成,每一個記錄存放資料區塊的位置及其長度。
  15. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,每一該些物件索引表使用預設數量的區塊,該預設數量記載在Root物件的屬性中。
  16. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,當該或該些區塊之定位使用一定量位元組,則每一組區塊之第一區塊的前面保留兩個定量的位元組,其中第一個定量位元組為前一組區塊之起始位置(SP),用以記錄前一組區塊的位置,而第二個定量位元組為下一組區塊的起始位置(SN),用以記錄下一組區塊的位置。
  17. 如申請專利範圍第16項所述的物件導向儲存裝置之磁碟配置方法,其中,當只有一組區塊時,則該組區塊的SP及SN都表示為NULL,而當有多組區塊,則第一組區塊的SP表示為NULL,而最後一組區塊的SN表示為NULL。
  18. 如申請專利範圍第16項所述的物件導向儲存裝置之磁碟配置方法,其中,每一該些物件索引表內部所存放的每一筆記錄代表一個物件索引,而該物件索引的格式為物件識別碼加上位置,則一組區塊的物件索引表可以記載的索引數量表示為:
  19. 如申請專利範圍第1項所述的物件導向儲存裝置之磁碟配置方法,其中,可對上述每一物件執行新增、移除與改變等操作。
  20. 如申請專利範圍第19項所述的物件導向儲存裝置之磁碟配置方法,其中,新增任一Partition物件,其更包括下列步驟:在該磁碟中的配置一組區塊,其分別儲存該Partition物件之屬性、該Partition物件用來索引一Collection物件位置之一Collection物件索引表以及該Partition物件用來索引一User物件位置之一User物件索引表;以及修改該Root物件屬性以及該Root物件之該未使用區塊索引表。
  21. 如申請專利範圍第20項所述的物件導向儲存裝置之磁碟配置方法,刪除任一Partition物件,其更包括下列步驟:判斷該Partition物件是否含有至少一Collection物件或一User物件;若該Partition物件含有至少一Collection物件或一User物件,則刪除所有Collection物件及User物件;以及若該Partition物件未含有任何Collection物件或User物件,則修改該Root物件屬性以及該Root物件之該未使用區塊索引表。
  22. 如申請專利範圍第21項所述的物件導向儲存裝置之磁碟配置方法,其中,新增任一Collection物件,其更包括下列步驟:在該磁碟中的配置一組區塊,其分別儲存該Collection物件之屬性以及該Collection物件用來索引一User物件識 別碼之一User物件識別碼索引表;以及修改該Partition物件之屬性、該Partition物件之Collection物件索引表、該Root物件屬性以及該Root物件之該未使用區塊索引表。
  23. 如申請專利範圍第22項所述的物件導向儲存裝置之磁碟配置方法,其中,刪除任一Collection物件,其更包括下列步驟:刪除該Collection物件以及該User識別碼索引表;以及修改該Partition物件屬性、該Partition物件之該Collection物件索引表、修改Root物件屬性以及該Root物件之該未使用區塊索引表。
  24. 如申請專利範圍第20項所述的物件導向儲存裝置之磁碟配置方法,其中,新增任一User物件,其更包括下列步驟:在該磁碟中的配置一組區塊,其分別儲存該User物件之屬性與該User物件儲存資料的空間;以及修改該Partition物件屬性、該Partition物件之該User物件索引表、該Root物件屬性以及該Root物件之該未使用區塊索引表。
  25. 如申請專利範圍第24項所述的物件導向儲存裝置之磁碟配置方法,其中,刪除任一User物件,其更包括下列步驟:判斷該User物件是否屬於該Collection物件; 若該User物件屬於該Collection物件,則刪除所有Collection物件中含有User物件識別碼的索引;若該User物件不屬於該Collection物件,則修改該Partition物件屬性與該Partition物件之該User物件索引表、該Root物件屬性以及該Root物件之該未使用區塊索引表。
  26. 一種電腦可記錄媒體,用以儲存一電腦程式,上述電腦程式包括複數程式碼片段,其用以載入至一電腦系統中並且使得上述電腦系統執行一種物件導向儲存裝置之磁碟配置方法,包括:初始化該磁碟,並且新增一個根(Root)物件;當新增該Root物件時,在該磁碟中配置第一組區塊,其分別儲存該Root物件之屬性、一未使用區塊索引表以及一分割區(Partition)物件索引表,其中該Root根據該Partition物件索引表來索引一Partition物件的位置;新增一Partition物件;當新增該Partition物件時,在該磁碟中配置第二組區塊,其分別儲存該Partition物件之屬性、一收集(Collection)物件索引表以及一使用者(User)物件索引表,其中該Partition物件根據該Collection物件索引表來索引Collection物件的位置以集根據該User物件索引表來索引一User物件的位置;新增一User物件;以及當新增該User物件時,在該磁碟中配置第四組區塊, 其分別儲存該User物件之屬性以及該User物件的資料。
  27. 如申請專利範圍第26項所述的電腦可記錄媒體,其更包括新增一Collection物件,並且在該磁碟中配置第三組區塊,其分別儲存該Collection物件之屬性以及一User物件識別碼索引表,其中該Collection物件根據該User物件識別碼索引表來索引一User識別碼。
  28. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,根據該Root物件之該Partition物件索引表可得知包括哪些Partition物件。
  29. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,根據該Partition物件之該Collection物件索引表可得知包括哪些Collection物件。
  30. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,根據該Partition物件之該User物件索引表可得知包括哪些User物件。
  31. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,該等物件索引表為一或多組區塊所組成並且用以存放物件識別碼,其中各組區塊記錄其前後區塊的位置以供該Partition物件索引表、Collection物件索引表以及User物件索引表參照使用。
  32. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,該未使用區塊索引表內所存放的每一筆記錄代表一個連續的未使用的空間,而該每一筆記錄的格式表示為位置加上連續區塊長度。
  33. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,該Collection物件之該User物件索引表可直接索引該User物件的識別碼。
  34. 如申請專利範圍第33項所述的電腦可記錄媒體,其中,當該User物件識別碼在該User物件寫入該磁碟且該User物件屬於該Collection物件時,則將該User物件識別碼加入該Collection物件之該User物件索引表。
  35. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,該Root物件的屬性記錄該磁碟中之所有區塊使用的資訊、該屬性使用的區塊數量、與各物件之索引表相關的記錄、一定位區塊的長度、一物件識別碼的長度以及相關於該物件識別碼的計數器。
  36. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,該Partition物件的屬性記錄與該Collection物件索引表以及該User物件索引表相關的記錄,包括起始位置及每次配置表格的大小。
  37. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,該Collection物件的屬性記錄該User物件索引表的大小及位置。
  38. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,該User物件的資料係當成屬性來儲存。
  39. 如申請專利範圍第38項所述的電腦可記錄媒體,其中,若該資料不是以屬性內資料(In-property Data)的形式存在,則該User物件記錄該資料是存在於一額外的區塊串 列中,其中該區塊串列由多個連續記錄組成,每一個記錄存放資料區塊的位置及其長度。
  40. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,每一物件索引表使用預設數量的區塊,該預設數量記載在Root物件的屬性中。
  41. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,當一區塊定位使用一定量位元組,則每一組區塊之第一區塊的前面保留兩個定量的位元組,其中第一個定量位元組為前一組區塊之起始位置(SP),用以記錄前一組區塊的位置,而第二個定量位元組為下一組區塊的起始位置(SN),用以記錄下一組區塊的位置。
  42. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,當只有一組區塊時,則該組區塊的SP及SN都表示為NULL,而當有多組區塊,則第一組區塊的SP表示為NULL,而最後一組區塊的SN表示為NULL。
  43. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,每一物件索引表內部所存放的每一筆記錄代表一個物件索引,而該物件索引的格式為物件識別碼加上位置,則一組區塊的物件索引表可以記載的索引數量表示為:
  44. 如申請專利範圍第26項所述的電腦可記錄媒體,其中,可對上述每一物件執行新增、移除與改變等操作。
  45. 一種物件導向儲存裝置之磁碟配置方法,包括下列步驟: 對一磁碟進行磁碟配置,使得該磁碟具有:一根(Root)物件,其更提供Root物件屬性、一未使用區塊索引表以及該Root物件用來索引一分割區(Partition)物件位置之一Partition物件索引表;至少一Partition物件,其更提供Partition物件屬性、該Partition物件用來索引一收集(Collection)物件位置之一Collection物件索引表以及該Partition物件用來索引一使用者(User)物件位置之一User物件索引表;以及至少一User物件,其中該至少一User物件更提供User物件屬性以及User物件資料。
  46. 如申請專利範圍第45項所述的磁碟配置方法,其中該磁碟更包括具有至少一Collection物件,其中該Collection物件更提供Collection物件屬性以及該Collection物件用來索引一User識別碼之一User物件識別碼索引表。
TW097145449A 2008-11-25 2008-11-25 物件導向儲存裝置之磁碟配置方法 TWI397060B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW097145449A TWI397060B (zh) 2008-11-25 2008-11-25 物件導向儲存裝置之磁碟配置方法
US12/437,309 US8239427B2 (en) 2008-11-25 2009-05-07 Disk layout method for object-based storage devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097145449A TWI397060B (zh) 2008-11-25 2008-11-25 物件導向儲存裝置之磁碟配置方法

Publications (2)

Publication Number Publication Date
TW201021027A TW201021027A (en) 2010-06-01
TWI397060B true TWI397060B (zh) 2013-05-21

Family

ID=42197323

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097145449A TWI397060B (zh) 2008-11-25 2008-11-25 物件導向儲存裝置之磁碟配置方法

Country Status (2)

Country Link
US (1) US8239427B2 (zh)
TW (1) TWI397060B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775433B2 (en) * 2009-10-16 2014-07-08 Oracle International Corporation Self-indexing data structure
US9396514B2 (en) * 2012-08-23 2016-07-19 Pixia Corp. Method and system for storing and retrieving wide-area motion imagery frames as objects on an object storage device
US10467197B2 (en) * 2013-04-22 2019-11-05 Bacula Systems Sa Creating a universally deduplicatable archive volume
US10896207B2 (en) 2015-08-20 2021-01-19 International Business Machines Corporation Optimization of object-based storage
US10482128B2 (en) 2017-05-15 2019-11-19 Oracle International Corporation Scalable approach to information-theoretic string similarity using a guaranteed rank threshold
IT201700057287A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti
CN114048106B (zh) * 2021-11-26 2022-10-25 北京志凌海纳科技有限公司 磁盘状态检测方法、系统、介质和存储设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0201797B1 (en) * 1985-05-06 1993-02-17 Ncube Corporation High-performance computer system
TWI220945B (en) * 2003-05-19 2004-09-11 Inventec Corp Backup method and system for embedded program in storage server
TWI244586B (en) * 2003-05-26 2005-12-01 Inventec Corp Multi-volume disk array management method and system
WO2005121950A2 (en) * 2004-06-08 2005-12-22 Dartdevices Corporation Architecture apparatus and method for seamless universal device interoperability platform
TW200829934A (en) * 2007-01-10 2008-07-16 Z Com Inc Test system of configurable test process and method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060129614A1 (en) * 2004-12-14 2006-06-15 Kim Hong Y Crash recovery system and method for distributed file server using object based storage
US8229985B2 (en) * 2005-02-07 2012-07-24 Cisco Technology, Inc. Arrangement for a distributed file system having data objects mapped independent of any data object attribute
US9002795B2 (en) * 2006-01-26 2015-04-07 Seagate Technology Llc Object-based data storage device
US8285757B2 (en) * 2007-01-31 2012-10-09 Agency For Science, Technology And Research File system for a storage device, methods of allocating storage, searching data and optimising performance of a storage device file system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0201797B1 (en) * 1985-05-06 1993-02-17 Ncube Corporation High-performance computer system
TWI220945B (en) * 2003-05-19 2004-09-11 Inventec Corp Backup method and system for embedded program in storage server
TWI244586B (en) * 2003-05-26 2005-12-01 Inventec Corp Multi-volume disk array management method and system
WO2005121950A2 (en) * 2004-06-08 2005-12-22 Dartdevices Corporation Architecture apparatus and method for seamless universal device interoperability platform
TW200829934A (en) * 2007-01-10 2008-07-16 Z Com Inc Test system of configurable test process and method thereof

Also Published As

Publication number Publication date
US8239427B2 (en) 2012-08-07
TW201021027A (en) 2010-06-01
US20100131561A1 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
TWI397060B (zh) 物件導向儲存裝置之磁碟配置方法
JP5996088B2 (ja) 暗号ハッシュ・データベース
EP3103025B1 (en) Content based organization of file systems
CN108255408B (zh) 数据存储方法以及系统
WO2018064962A1 (zh) 数据存储方法、电子设备和计算机非易失性存储介质
CN100578505C (zh) 文件系统管理装置
KR100856245B1 (ko) 파일 시스템 장치 및 그 파일 시스템의 파일 저장 및 파일 탐색 방법
JP6598996B2 (ja) データ準備のためのシグニチャベースのキャッシュ最適化
US8271456B2 (en) Efficient backup data retrieval
CN109558084B (zh) 一种数据处理方法以及相关设备
CN111143285A (zh) 一种小文件存储文件系统以及小文件处理方法
JP2003030025A (ja) 動的に生成されるウエブページのための仮想ファイルシステム
CN101464901A (zh) 一种对象存储设备中的对象查找方法
CN109407985B (zh) 一种数据管理的方法以及相关装置
JP6598997B2 (ja) データ準備のためのキャッシュ最適化
CN114327290B (zh) 一种磁盘分区的结构、格式化方法和访问方法
JP4825719B2 (ja) 高速ファイル属性検索
JP2010225024A (ja) ストレージ装置とそのファイル制御方法およびストレージシステム
KR100907477B1 (ko) 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법
US20080016106A1 (en) Data processing
WO2023249753A1 (en) File system metadata layout for append-only storage
CN112597102B (zh) 一种高效的镜像文件系统实现方法
CN115904255A (zh) 一种数据请求方法、装置、设备及存储介质
CN101751390B (zh) 物件导向储存装置的磁盘配置方法
CN115480692A (zh) 一种数据压缩方法及装置