[go: up one dir, main page]

TWI288870B - Method and system of data pool allocation and management using one or more data storage drives - Google Patents

Method and system of data pool allocation and management using one or more data storage drives Download PDF

Info

Publication number
TWI288870B
TWI288870B TW94111913A TW94111913A TWI288870B TW I288870 B TWI288870 B TW I288870B TW 94111913 A TW94111913 A TW 94111913A TW 94111913 A TW94111913 A TW 94111913A TW I288870 B TWI288870 B TW I288870B
Authority
TW
Taiwan
Prior art keywords
partition
database
data
block
information block
Prior art date
Application number
TW94111913A
Other languages
English (en)
Other versions
TW200627139A (en
Inventor
Christopher S Wilson
Viresh Rustagi
Original Assignee
Broadcom Corp
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 Broadcom Corp filed Critical Broadcom Corp
Publication of TW200627139A publication Critical patent/TW200627139A/zh
Application granted granted Critical
Publication of TWI288870B publication Critical patent/TWI288870B/zh

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

Ϊ288870 可被ί於創建#料庫。例如,用第一硬碟驅動器 座。名纽補驅動11的-個分區相結合_成—個資料 哭以辩加ϊ:ΐ:個代表性的實施例中,可集合所有的硬碟驅動 的實二列中睹ί里和/或提供鏡射或資料分割空間。在一個代表性 一他r-想Μ少破组合或被連接的多個硬碟驅動器可物理地包含於 地^網ΤίΓ存儲設備中。所述資料存儲設備還可·接入本 備’為任何數量的資料處理或計算設備提供存儲設 於明的理或計算裝置可以包括一台或多台電子電腦。本 二夕彻次=111特徵提供了由—個或多細戶對存儲雜内的-個 的共用訪問。以下所說的資料存儲設備均可以稱為 田。附加存儲設備(NAS)。一個資料庫可通過創建一個或多個乒 =區被-個或多細戶訪問。在一個代表性的實施例中,一個:賣 料庫可以包括一個或多個共用區。每個共用區佔用所述資料庫的 一個分區。 、 紝圖1是本發明一實施例中使用網路存儲設備100的典型系統 二才冓圖。所述網路存儲設備1⑻為一個或多個資料存儲裝置提供 資料存儲。如圖1所示,一開關裝置連接所述網路存儲設備1〇〇 及一個或多個資料處理裝置。所述開關裝置可提供無線或有線連 接’例如,一無線路由器利用以下無線或有線資料通訊協議中的任 2一種:10/100乙太網協定、十億位元乙太網協定、8〇2.11χ協 疋、藍芽協定等。所述一個或多個資料存儲設備包括數碼攝像$、 數碼相機、MP3播放器、PDA、一個或多個個人錄影機。如圖1所 示’所述個人錄影機可配置一硬碟驅動器,也可以沒有硬碟驅動 器。在一代表性的實施例中,所述個人錄影機可以是具有個人錄 衫機功能的機頂盒(set-top-box),下文所提到的個人錄影機亦 包括具有錄影機功能的機頂盒。如圖1所示,所述個人攝影機連 接能顯示多媒體内容的電視機或顯示器。所述網路存儲設備_ 的使用為一個或多個個人錄影機接收的多媒體内容提供一集中存 儲設備,任何不帶存儲設備如硬碟驅動器的個人錄影機可將其收 1288870 。而且,包括個人錄影機在内 職置訪問和流覽。:可其他任何資料處 硬磾的铮㈣M不更碟的個人錄影機可以訪問由帶 κ剛爾叹備⑽的这種配置 斤:蝴設備議可以接入一個或多 儲存儲設備100可以設計得更容易接入額外的資料存 硬ΐ驅動器。可以用相匹配的電纜和/或連接器來連接 ^的硬碟驅動器和網路存儲設備刚。因此網路存儲設備⑽ ^出j-種符合未來資料存儲的增長趨勢的易調整大小及靈活的 機制。此外,網路存儲設備100還可實現資料鏡射和資 才"I*刀割$貝寫。
、、圖2是本發明一實施例中網路存儲設備2〇〇的結構方框圖。 所述網路存儲設備200包括印刷電路板(NAS pcB) go?,包括一 個或多個元件。所述一個或多個元件通過所述印刷電路板(pcB) 202相互電連接。所述一個或多個元件包括··網路存儲設備晶片 2(M、隨機存取記憶體細、閃速記憶體212、交流電源 介面216、電源220、介面模組224、無線收發器/天線模組228、 一個或多個硬碟驅動器232及控制器236。所述介面模組224可 能包括下列的一個或多個介面:IEEE1394、USB、10/100乙太網、 十億位元乙太網、PCI、SATA、ΑΤΑ、IDE、SCSI、GPIO等等。所 述無線收發器/天模組228可以是附加模組或者是迷你pci卡,可 與NAS的印刷電路板202連接,也可以裝配於所述印刷電路板2〇2 上。所述一個或多個硬碟驅動器232依賴於MS 200的設計而包 括任何數量的硬碟驅動器。所述印刷電路板202可設計為能夠接 納適當數量的石更碟驅動器。需要用到的硬碟驅動器的數量取決於 11 1288870 NAS 200提供的鏡射或資料分段(即RAID)的類型。本發明還提 出了分配一個或多個硬碟驅動器的一個或多個部分形成資料庫的 方法。例如,為了產生一個資料庫,某一石更碟驅動器上的一部分 與另一個硬碟驅動器上的一部分相鏈結。本發明的進一步的特徵 通過給NAS增加額外的硬碟驅動器來擴充存儲量。本發明的另二 個特徵包括使用一個或多個不同大小或速度的一個或多個資料存 儲驅動器以實現一個或多個資料庫的資料鏡射和資料分段S即各 種raid層功能的執行)。在一個實施例中,控制器236為連接到 NfoC 204的任何一個設備(如硬碟驅動器)提供控制,所述控制 器可以是IDE控制器或者SATA控制器。所述NASoC 204可以是含 有一個處理器或者一個中央處理單元(CPU)204的積體電路晶片。 圖3是根據本發明的一實施例的晶片(NAS〇c) 3〇〇的結 構方框圖。所述NASoC 300是一安裝於前述的ms PCB上的積體 電路。該NASoC 300提供了一個或多個允許NAS正確運行的功能。 所述NASoC 300包括:中央處理單元(CPU) 304,片上隨機存取 記憶體308、乙太網/MAC控制器312、加密加速器316、安全/驗 證、密鑰交換、資料權限管理(匪)電路32〇及一組介面324, 328,332,336,340。所述介面 324,328,332,336,340 包括 如下的類型的介面,例如:USB設備介面324、PCI主機介面332、 GPI0/LCD/快閃記憶體介質介面328、ΑΤΑ介面336、USB主機介面 340。所述NAS晶片300可與圖2所述的一個或多個部件相通信和 /或連接。 ’ 如圖2所示,NAS可與不同數量的硬碟驅動器相連接,其取 決於其資料存儲量及RAID (資料鏡射和/或資料分割)的要求。 所述NAS 200的底座可根據使用的類型配置卜2、4個或更多的 硬碟驅動器。例如,所述腿可以利用四個硬碟驅動器來實現腿j) 1+0 (同時資料鏡射及資料分割),適合用於小型辦公室或商業環 境中。本發明的特徵提供了在執行MID功能時,可以使用不同容 里、類型或速度的硬碟驅動器。在家庭用戶環境裏,所述财$可 12 !28887〇 碟驅動器,_要的存儲容量通常要小於 &===需求。同樣地,NAS所__憶體部件也 二口=__不_獨。由於資料存儲需求增加了 貝料存儲頻率也增大了,需要通過增加NAS 古^
的性能,以、、装ΐ搞/Mr ΛΑ雨上、 NAS 容量而改I MS 齡,可增加_記鐘或_的 要進行相應的調整。 娜及,、匕耕都需 在-個實施例中,當NAS啟動或上電時 ⑽處理麵咖絲___2G8 3 J的軟體姻件。所述軟體或固件峨行會赴-個一固用戶 ==利用一個或多個硬碟驅動器内的部分= 個或夕個貝料庫。所述用戶介面可進一步結合 配置-個或多個_層。 ^夕個貝枓庫 在一個實施例中,所述軟體的執行可使用戶 端工=站)中的http伺服器顯示預先設置的用戶介面。= 施例中’處理器204所執行的軟體包括有作業系 =
Windows作業系統)能夠識別的配置權,因而可以通,人、 流覽=程式執行及流覽。在用戶完成對廳的初始化 所巧設置文檔是可訪_。初始化過程中會產生—用 己置程式的驗證密碼。崎微軟作 f':iS ITrf;2000^ 抓見為顯不出來的所述配置問檔的檔案名執行所述配 戶的資料處理設備巾會顯示一用戶介面。然後用户可以^供 或多個輸入來初始化或配置NAS。所述輸入包括以下 1、 稱、管理S名稱、管理員密碼、一個或多個交替安全執、日^ 間、時區、網路時間伺服器、網際網路協定位址:了 raid指示符、資料庫共用區名稱以及共用區訪問口令。次^ 稱、RAID指示符、資料庫共用區名稱和共用區訪問口 ^於 内硬碟驅動器管理的主要參數。在一個實施例中,前述的磁碟機 13 1288870 管理參彰:存儲於NAS的快閃記憶體内,如圖2所示。所述快閃記 憶體可以是非揮發性隨機存取記憶體(NVRAM)。 圖4是根據本發明的一個實施例的網路存儲設備内的一個或 多個硬碟驅動器的資料庫分配及管理流程圖。在4〇4步驟中,用 戶訪問相應的磁片管理用戶介面。在一個實施例中,需要用戶將 一個授權密碼輸入用戶介面後,產生該磁片管理用戶介面。在一 個代表性的實施例中,為了產生包括所述磁片管理用戶介面在内 ^-個或多細戶介面,需要執行_個配倾。圖5所示為流覽 器的截屏圖’如Wind〇ws流覽器或Netscape,其提供了一個允許 用戶輸入一個或多個磁片庫參數的示例性的磁片管理介面。在^ 驟408中,用戶確定要被創建的資料庫的數量及類型。如圖5所 可^新㈣料庫名稱,對一個或多個磁碟機提供的磁 f :間進仃減。® 5中顯示了兩個磁碟機,分別命名為Surya a anasi’均具有i3.5Gb的可用容量。該用戶介面中提 碟ίΖ配大小的攔位’其還允許用戶選擇枝需要對 =或割。在步驟412中,用戶需要確定所述一個 ^個驅動中用於組成料庫的空 在^ 〇層:刪卜咖1、和以麵。 共用‘是根據—個或多個 料的細建錢4f⑽共用資 細謝吨括一個或 内的存儲空間。當管理員個或多細戶訪問資料庫 共用訪問許可權。如圖6 碼時’ _戶就獲得 每個共腿所佔用的料=晨有起過一個共用區時, 系二間相對於由該資料庫所提供的總空間 14 1288870 被累加地應用。在一個代表性的實施例中,共用區或其共用目錄 將佔據資料庫的一部分空間,一個或多個共用區所佔據的空間不 重:£。圖7疋根據本發明的一個實施例所提供的流覽器截屏圖, ^顯示了一個或多個共用區及其對應的一個或多個餅庫,其還 提供了一個或多個共用區的創建或刪除。前述的一個或多個用戶 f只是不例,可以健,其他各細戶介面的實酬可被應 於本發明。 本發種特徵還提供了-種對一個或多個資料存儲驅動的 各個部分存儲檔的機構。所述機構包括動態地 二=雜時,恢復資料存儲驅動器:失 時無效的純。所述改變包括修改餘統的大小和配置。 所述_的料介面可岐通職械細,且有 ^業糸、冼上的;f示準檔系統介面類似 L職、Unix和Windows檔系統。 包括 述標系統可以是含有檔的樹形目錄在所實所 時間、所ί;、貝4°^:°貧料包括播或目錄名、最近-次訪問 嗔取和寫入一個或多個目錄操作。此 了舰刪除 =和元資料。所述檔存儲機制在兩個主斤=鱗讀= ”式出現的檔系統資料二立元組的平面 陣列。在—個代紐 21千鱗顺稱為中層資料 、恥、ext3fsp=fsm==準媽統’如 =上述槽系統和中層資料陣列片或磁片分區 發生改變。 彳隹便用吩不發生改變或幾乎不 15 1288870 所述檔存儲機制的整個部分都可以是底層資料部分。所述底 層資料部分可以訪問用於存儲資料的一個或多個原始磁片。每個 ^始磁片可以是一個資料存儲驅動器,完全由槽存儲機制的底層 負才^部分使用。在一個代表性的實施例中,只有擋存儲機制的底 層貧料部分才可以讀寫所述一個或多個原始磁片。所述一個或多 巧原始磁片或資料存儲驅動器中的每一個都可用于向一個或多個 貝料庫提存儲細,目而不存在僅被單獨—個資料庫使用的磁 片。幾個資料庫可以通過檔存儲機制的底層資料部分來共用一個 磁片。 =述的底層資料部分的特點在於其具有兩種狀態類型。第一 種狀態是暫0輸n,存在雜何介㈣,包括機性記憶體如 麵三然所述暫時狀態可能不會出現在原始磁#·料存儲 驅動器中’在-個代紐的實施例巾,所述—個或多個原始磁片 會f現一,多侧戈資料狀態。當使用磁片_制的資料處理 或貧料計算裝置重啟時’暫時狀態將被破壞。這種情況只會在有 重大錯誤時發生’如資料處理或資料計算裝置關機或者斷i。底 層貧,部分使用的穩定資料狀態的穩定資料可進一步分為兩類 料,和元資料塊。元資料說0膽原始資料如何鏈結在一起 八、、隹*層貝料陣列。每個原始資料塊應與中層資料陣列的她鄰部 °在一個代表性的實施例中’原始資料塊中有一個尚 ί疋S數值,其可作為“待用,,塊使用’可用于形成鏡射資料 中層貝僻列。所述兀資料可以包括鏡射資訊及分割資味。 虽=或多個磁片不可用時,最好有至少一些元資料是有效 料庫以使用鏡射,其通常被建立以使若任何個 =物’母個中層資料陣列的至少—份備份存儲在餘下 個或夕個磁片中。例如,一個或多個磁片丢失時 於 ΐΓί的結構更有利於整個_料陣列的有效性。在1代i …貝施例中,*失磁片表示並非所有的中層資料陣列資料^ 1288870 的出錯况下,底層部分將提供足夠的診斷資訊來發出可能 佈‘Γίϋ磁片的原始㈣塊散_蝴巾。元資料的分 使系統在當一個或多個磁片丟失時使資訊可獲得及 如,上生魄日权麵㈣說料重要的。例 資料執行其他始=的大小和/姐置,或者對元 , 如修改了貧料庫的檔案名。 驅自儲機—的—m多姆料存儲 就不會產仃辟的備份,發生刻丟失的情況時 在-個磁片或—個^料b出現問題。如果所有元資料都 容易解味。S科存儲驅動為上,斷電所帶來的問題將比較 法運行’。、α疋’如果含有元資料的磁片丢失,檔存儲機制將無 資料:lit, 一實施例中使用本發明的檔存儲機制的磁片或 塊,被稱為磁片頭檔謝。_ φ片5始』疋一個大小固疋的 矣-二# 圖8 中,塊_、812、816、820、824 ^ = t __输姆,第η個分區824表示 8G4。磁片的剩下的部分 ^^ 區的起始點和大小。在給二頭稽804描述了各分 給磁片頭檔804或分區_ n2 =會有一些空間未分配 建新的分區(創建新資料庫或擴 多個分區表來確定,許多分區表格式在不同系统固, LLWindows和DOS系統。不同於現有系統的是 ’本發明還可 1288870 t見蝴制底層部分使用的分區表的格式化。與現有系統相 料户X明檔存儲機制中使用的一個或多個分區表位於磁片或資 =儲驅動H起始端的—侧定大小的塊巾。本發明還可在資料 動器的磁片頭財使用雙重分區表。所述分區表互為鏡 ㈣ΐίϊ餘。當執行—個或多個操作時,所述雙重分區表用於 ΐίΐί個或多個資料存儲驅動器中的資料的完整性。所述 2夕侧喿作可以是更新與資料庫和磁片名稱有關的資訊。所 迷磁片頭包含無存織織層部料_赌料資訊。 糾^9疋本發明一實施例巾磁片或資料存儲驅動器的一個分區 、'、、。雜圖。根據該實施例,軸分區包含三個元件_、刪、 兩ί、兀件t別為第一和第二資料庫資訊塊(胸)904、 ;固為料庫資訊塊包括512個位元組。第個這些資料庫資訊 Π:,括有貧料庫元資料。*三個亦即最後一個部件為 f 以是任何數量的位元組(或者塊),由磁片頭檔的分 二表中所疋義。所述分區表也可以定義分區_—個或多個塊, 包含512個位π組。在本發明的其他實施例中,前述的資 料庫感塊和分區有效載荷塊還可以使用的不用的位元組數量。、 圖1〇是本發明實施例中一磁片頭檔的結構框圖。所述 播包括2560個位元組,可由以下欄位組成·· 、 第-攔位:從偏移的0位元組開始,被使用的“魔術 攔位腿佔用JM個位元組。根據本發明的各種特徵,所述搁二 腦,含特殊資料’將相應的磁以票識為磁牌機制底層部 用的資料庫纽的-部分。不含有所述的34位元轉殊資料 片不會翻Λ本發賴細__财雜料 八 第增立:從偏移的第34位元組開始,NAS識別字搁=〇8 被使用’ 6個位兀組被用於這個欄位1〇〇8。該6個位元組 標識格式倾述则並產生磁#頭獅裝置,在—具體 、 中,所述6位元組識別字表示一網路存儲設備。 、歹 18 1288870 第三欄位··從偏移的第40位元組開始,41個位元組磁片名 稱欄位1012被使用。所述41位元組磁片名稱襴位1〇12可以存儲 用戶可讀的ASCII或Unicode字串,作為磁片的識別名稱。在一 具體實施例中,所述欄位1012可以以0結束,第一 〇位元組後的 每個位元組也均為〇,因而最後一個位元組必然總是〇。 第四欄位··從偏移的第81位元組開始,用3個位元組的零位 元填充符被用於零位填充符欄位1016。 第五欄位:從偏移的第84位元組開始,16個位元組識別字 通過磁片識別字欄位1020被用於標識所述磁片。所述Μ位元組 識別字在創建磁片頭檔時隨機或者半隨機產生。 第六攔位:從偏移的1〇〇位元組開始,用於標諸攔位1024的 一個位元組的才示遠、位元被用於指不磁片頭槽内兩個分區表中哪一 個處於啟動狀態。例如,數值“〇”可以表示第一分區表處於啟動 狀態,任何其他數值則表示第二分區表處於啟動狀態。 第七襴位:從偏移的第101位元組開始,未411個未使用位 元組被用於位元組欄位1028。 第八欄位:從偏移的第512位元組開始,第一分區表被存儲 於第一分區欄位1032,該第一分區欄位1032包括1〇24個位元組。 第九攔位··從偏移的第1536位元組開始,第二分區表被存儲 於第二分區攔位1036,其也包括1024個位元組。 所述磁片頭檔的第二、第三和第五攔位(如NAS識別字、磁 片名稱和磁片唯一識別字)用於定義一獨特的磁片,避免任何兩 個不同磁片之間的混淆。 、在一個代表性的實施例中,在任何彳段定的情況下,所述兩個 ^區表中僅有一個分區表通過使用一位元組標諸'欄位1〇24内的 標言^位元被啟動。當分區表改變時,所有新資訊均寫入未被啟動 的分區表中。進行更新時,—個❹姆料存儲驅動器内的所有 t啟動的分區表均被更新。因為啟動的區分表未被修改,當一寫 操作g]斷電耐晴,;^會出現不__狀態。在本發明的一個 19 1288870 种,個分區表包括聰位元組,並被分為每 個人σ。所述分區表的64個人口中的每一個都 二_。當―贿料元巾的16她元元組全部 為0時’所述存儲單元視為空存儲單元。若該存儲單元並非空單 二貝二Ϊ氕的前,位尬指定起始塊編號,餘下的8個位元 刀區的貧料塊的大小。所述起始塊編號和所述大小依 資料塊結構進行表述。所述起始塊編號與磁片的起 旨向分_有效储。所述大小可指定該分區的分 :有=載何的大小。在這個代紐的實施例中,所述大小不包括 母固为區的有效載荷前隱含的兩個資料庫資訊塊。如果分區表顯 二起始塊為塊81卜大小為13個資料塊,則該分區的第一資料庫 為塊809 ’第二資料庫資訊塊為塊81〇,分區的有效載荷為 塊811至塊82j :因為磁片頭檔佔用了第一個8個塊,因而一個 为區表中存儲單元的起始塊號碼的最低有效值是1〇。 每個分區對應兩姆料庫資訊塊,用於確定—個或多個資料 庫。每個分區有_資料庫t訊塊以使當一個資料賴訊塊被修 改時丄可以訪問另-個。所述兩姆料庫資訊塊(p⑹可以分別 對應貧料庫資輯A和雜庫冑峨B。更綱膽料庫資訊塊 的過程包括以下方法。當改變資料庫内所有分區的所有資料庫資 訊塊A時,資料庫胃訊塊b均不發生改變,以使當資料庫資訊塊 A變化時資料庫資訊塊b將總是處於穩定狀態。相似地,當更新 資料庫資訊塊B時,所有的資料庫#訊塊八均不發生改變,以使 ^資料庫f訊塊B不穩定時資料庫#訊塊A總是處於穩定狀態。 前述磁片頭檔攔位的偏移量、位元組長度和欄位大小都不相同, 及根據本發明的各種特徵,其他實施可被採用。 少圖11是根據本發明的一個實施例的資料庫資訊塊結構的關 係框圖。在一個代表性的實施例中,每個資料庫資訊塊包括512 個位元組,及可包含以下示例性的欄位: 第一欄位:從偏移的〇位元組開始,81個位元組被用於資料 20 1288870 庫名稱攔位1104,。在一個代表性的實施例中,資料庫名稱攔位 1104由用戶可讀的SACII或者Unicode字串組成,用於表示與該 資料庫資訊塊對應的資料庫的名稱。所述資料庫名稱欄位可以以 〇位元組結束,第一 〇位元組後的每個位元組也均為〇,因而在此 實施例中攔位的最後一個位元組必然總是〇。 第二攔位:從偏移的第81位元組開始,零位元填充符的3個 位元組由第一零位元填充符欄位1108所提供。 第二欄位:從偏移的第84位元組開始,16個位元組被用於 定義資料庫識別字欄位1112内的資料庫識別字。所述ι6個位元
組可以在資料庫創建時隨機或半隨機產生。 第四攔位:從偏移的第1〇〇位元組開始,6個位元組被用於 識別欄位(id) 1116,以用於識別創建該資料庫的網路存儲 设備。這一特值與圖1〇所示的從第34位元組開始的廳識別字 攔位1008内的特值相對應。這樣,利用唯一的資料庫識別字、nas 識別f和創建時戳便可以唯一地標識一個資料庫。實質上這三個 識別^的組合已不可能再被其他任何資料庫所使用。如果兩個不 同的資料賴相同的資料賴辭、識別字和創建時戮,將 對那個形成該-個或多個資料庫的分區造成混淆。在同一網路 儲ax備中創建的任意兩個資料庫應該有不同的時戳,在兩個 ,_存儲設備中創_任意兩個雜庫應該有不同的NAS識別 =所述唯-的資料庫識別字通過隨機產生,從而減少了使用相 可能性。某些情況下,腿識別^ _料庫_路存儲設備的實際廳識別字不 二k疋因為-個或多個資料存儲器 ί 人了軸。如果—《料她轉 用’而—個資料庫隨後由另= 路存儲设備創建或產生,那麼該資料 、 NAS識別字。由於頭檔内的⑽識別字應該與第一次在== 1288870 建該=槽的網路存儲設備相對應,因而更新分區表時,頭檔的NAS 識^字不會發生改變。這樣頭檔内的NAS識別字可以不同的磁片 或貧料存儲驅動器相互區別,同樣的,資料庫資訊塊MNAS識別字 也使得不同得資料庫相互區別。 弟五攔位:從偏移的106位元組開始,零位元填充符的2個 位儿組被加入第二零位元填充符欄位1120。 第六攔位:從偏移的第108位元組開始,在創建時間/日期印 戳攔位1124中,9個位元組用於記錄一資料庫的創建時間/日期 戳。記錄的時間和日期結合NAS識別字欄位1216可唯一地標識一 _ ,具體的資料庫並使其區別於其他資料庫。所述9個位元組中的 前4個位元組為年度,接著的一個位元組是月份(1-12),然後一 個位元組是小時(0—23),再接下來的一個位元組是分(〇—59), 最後一個位元組是秒(0-59)。具體實施例中,所述時間/日期戳 依照世界標準時間表示。 ’ 第七攔位:從偏移的第117位元組開始,零位元填充符的3 個位元組被加入一第三零位填充符欄位1128。 第八攔位:從偏移的第120位元組開始,有4個位元組用於 表示資料庫中資料分段或被分段的分區的數量。該4個位元組位 _ 於分段攔位1132中。在一個代表性的實施例中,數值“丨,,表示 用,料分段,數值“〇”為無效數值。對單獨一個分段進行資 料刀#又4同於未分段,必須有至少兩個分段的情況下對資料分段 才有意義。 、 一第九欄位··從偏移的第124位元組開始,有4個位元組表示 資料庫中叙射或被I兄射的分區的數量。有4個位元組位於鏡射搁 位1136。在一個代表性的實施例中,數值“丨,,表示未使用 而數值“0”表示無效。 第十欄位:從偏移的第128位元組開始,4個位元組表示備 用區欄位1140中所使用的資料庫中的個區數量。在一個代表性 的實施例中,婁文值“〇”表示無備用區可用。 22 1288870 示加tit ===132位元組開始,有4個位元組表 U44内。窗一勺數量。4個位元組被用於該窗格攔位 形成整彳_ίί 、鞠卩及個細^ ’騰創建或 其中NST ί從g 19,料庫的窗格總數包括(NST>KNPNSP)), 量,_旨從址開始的資料條或被分割的窗格的數
指備用區或備用窗^$始的鏡射或被鏡射的窗格的數量,NSP 著认第弟一個鏡射的資料條編號,並依此類推;接 編條魏’然麟二編區的資 佔用偏移的第136位元組開始,位元組片攔位⑽ 數量。格搁位1144中所指的窗格中位元組片的 磁>5 十個或夕個位凡組#,一個窗格可以分佈在一個 片的多爾==個分區内’也可以分佈在多個磁 中,,心多少位元邮。在—具體實施例 坎J Γ 包含一位元組片識別字用於表示其代 23=位元組片。在—具體實施例中,窗格中的= 、特分區觀該編魏序_形成窗格。 位元組片大小是^體用/:^位^的大小。所述_ ΐ 有的聽庫信刪位元組片大小為同一 位元組至^位3&的^^,,”不同於前面所述的從㈣ 23 1288870 第十五攔位:從偏移的第148位元組開始,窗格分區明細 字段1160佔用108個位元組的窗格分區明細表,·確定使^ -個分區作為該資料庫的下-鋪格。所述分區明細表的1〇8個 位兀組依次是:81她元組絲分區所在_#名稱,丨個位元 組,f:位it填充符,6個位元組為·識別字,16個位元組為包 含該指定分區的磁片的磁片唯—識別字,4個位元組為所指定 區的數量,總共是81+1瓶6+4=108位元組。如果與該窗格分區 ,細表相_分區正好對絲後—鋪格,所述雜分區明細表 字段指向下-個資料庫的第—個g格,因而所述窗格分區明細表 字段記錄了分區之間的賴。若龍庫巾僅存在—㈣格,且分 區為該窗格㈣唯--個分區,所職格分區明細料段腦將 指回該窗格。 ^ 第十六欄位:從偏移的第256位元_始,位元組片分區明 =表子段1164佔用108個位元組的位元組片分區明細表,用於確 疋哪-個分區是該窗格的下-個位元組片。若這個分區是該窗格 的,後一個,所述攔位指回對應窗格的第一個位元組片,因而若 该窗格僅由一個分區組成,所述攔位將指出該窗格本身。 苐十七攔位·從偏移的第364位元組開始,大小調整標諸攔 • 位1168佔用4個位元組,標示資料庫當前是否正在進行大小調整 操作^在具體實施例中,可用數值“〇,,表示處於非調整狀態,數 值1表示其處理大小調整狀態,其他數值均視為無效。在進行 大小調整操作時,所述網路存儲設備會存儲相應的資訊,當大小 調f操作中斷時,網路存儲設備可用該資訊自我恢復至大小調整 之剞的狀態,這樣網路存儲設備内的資料便不會被丟失或破壞。 本發明還可以在對應資料庫的大小調整操作執行完後在資料庫資 Λ塊中保留所述標諸欄位。具體實施例中,大小調整操作過程中 不使用用於資料庫資訊塊最後一個欄位的有效性標誌。 第十八欄位··從偏移的第368位元組開始,反向變化量欄位 1Π2佔用8個位元組,表示大小調整操作的反向進行程度。調整 24 1288870 、 倾庫大小時,每個分區的大小會增加或者縮小(包括 -個分區而縮小至零,或因為增加一個分區從而大小從零開^ - 加),因而資料需要在窗格内前後移動。為了避免資料被覆蓋,: 料移動的順序非常重要。資料的遷移或轉換按以下步驟進行··弁 通過窗格正向移動,再反向複㈣料,然後通補格反向移 再正向複難料。若大小調鶴作帽,反料 所述反向變化量攔位恢復到正確的位置。 第十九攔位:從偏移的第376位元組開始,正向變化量搁位 11=佔用8個位元組,用來表示大小調整操作的正向進行程度, • 與前述反向變化量攔位相對應,依據正向變化的位元組數測^。 第二十攔位:從偏移的第384位元組開始,調整前大小棚位 1180佔用8個位元組,用於示出執行大小調整操作前分區的大小 (以千位元組為單位)。需要注意的是,若相應的分區是新拗加 的,則所述攔位為零; 曰 第二十一攔位:從偏移的第392位元組開始,調整後大小攔 位佔用8個位元組,用於示出進行大小調整操作後相應分區的大 小(以千位元組為單位)。所述攔位可以是零,表示該分區正通過 大小調整操作被移除。 _ 第一十二欄位··從偏移的第棚位元組開始,第四零位元填 充符攔位1188佔用96個位元組的零位元填充符。 第'一十二搁位·從偏移的第496位元組開始,有效資料庫資 訊攔位1192佔用16個位元組,表示該塊為一有效的資料庫資訊 塊。在一個代表性的實施例中,該欄位1192用一個二進位數字值 與被視為有效的資料庫資訊塊相匹配。若這個資料庫資訊塊不含 有有效的資料庫資訊塊資料,則不會如此解釋。例如,如果缺少 所述欄位1192,檔管理系統將會忽略該資料庫資訊塊。在不同的 實施例中’前述資料庫資訊塊欄位中的偏移量、位元組長度和欄 位大小都可以進行改變。 圖12是根據本發明的一個實施例的允許NAS利用一個或多個 25 1288870 貧料存儲驅動器實現一個或多個資料庫的啟動程式的操作性流程 圖。當然,在一個代表性的實施例中,所述一個或多個資料存儲 驅動器可以是一個或多個硬碟驅動器。如圖12所示,所述網路存 儲設備通it啟動程式將所述至少一個資料存儲驅動器中的一個或 多個分區進行鏈結或串接,進而構成一個或多個資料庫。所述網 路存儲設備讀取所述資料存儲驅動器的磁片頭檔以及資料庫資訊 塊,以便所述網路存儲設備實現一個或多個資料庫。在步驟12以 中,所述網路存儲设備啟動,識別並檢測其資料存儲驅動器。步 驟1208中,執行所述網路存儲設備内記憶體中固化的軟體(參考 前面關於附圖2的描述),對所述資料存儲驅動器進行掃描和分 析。在所述啟動程式中,一個或多個增加的資料存儲驅動器將被 所述網路存儲設備發現並識別。步驟1212中,所述軟體通過讀取 與所述資料存儲驅動器相關的磁片頭檔來識別資料存儲驅動器内 的分區。然後,步驟1216中,所述軟體進一步讀取所述一個或多 個資料存儲驅動器内每個分區的資料庫資訊塊。步驟1220中,刪 除戶斤有被視為無效的資料庫資訊塊。如有必要的話,一個或多個 被刪除的資料庫資訊塊可以通過利用其對應的(或副本的)資料 庫資訊塊來恢復。然後步驟1224中,所述網路存儲設備判斷是否 有分區丟失。例如,若段(chunk) or板(pane)分區明細表顯 示某個分區無法定位,所述網路存儲設備將認定所述分區已丢 失,轉至步驟1228。步驟1228中,所述網路存儲設備將提醒用 戶安裝一個或多個資料存儲驅動器,所述資料存儲驅動器之前可 能已被移除。步驟1236中,用戶可通過插入所述一個或多個含有 已丟失的分區的資料存儲驅動器來校正前述問題。然後步驟124〇 中,所述一個或多個資料存儲驅動器中的一個或多個段(比迎让) 和板(pane)將根據段(chunk) or板(pane)分區明細表進行 排序,然後整理流程結束。如無分區丟失,轉至步驟1224,對所 述一個或多個資料存儲驅動器内的一個或多個段和板進行排序, 以構成一個或多個合適的資料庫,然後流程結束。 26 1288870 圖13是本發明一個實施例中的資料存儲設備中資料存儲驅 動态的分區大小調整操作流程圖。所述資料存儲設備可以是網路 存儲設備。在一個代表性的實施例中,大小調整操作還包括給所 述網路存儲設備增加或刪除一資料庫。在步驟13〇4中,用戶給戶斤 述網路存儲設備一個輸入,如一個請求,從而啟動大小調整操作。 所述用戶輸入可以通過用戶介面產生,如對圖5的描述所述。用 戶可以輸入新資料庫名稱”,指明鏡射或分段,並判斷增加新 資料庫後可用的容量。步驟13〇8中,通過一處理器(參考對圖2 的描述)的控制執行所述網路存儲設備中記憶體内固化的軟體。 所述軟體將掃描並分析所述網路存儲設備的一個或多個資料存儲 •,動器提供的一個或多個磁片頭檔資訊。步驟1312中,所述軟體 讀取所述一個或多個資料存儲驅動器的磁片頭擋並進行分析。磁 片頭檔内的兩個分區表涉及所述一個或多個資料存儲驅動器内的 一個或多個分區。步驟1316中,查找並讀取每對資料庫資=塊中 的至少一個資訊塊的大小調整攔位。掃描過程中,所述軟體可以 查找到用於大小調整操作的資料庫資訊塊中的一個或多個攔位。 如前面_ 11的描述所述,掃描程式中將查找大小調整標調 t反向變化懿恤、正向變化量嫌、破前大小攔位和調整 L搁位。步驟1320中’根據調整前大小攔位和調整後大小欄 :周,和轉換所述資料存儲驅動器分區的大小。所述反向變化量 脈監控A小縱猶敝向或正向 =4。步驟丨324中’繼續轉換步驟直至分區達到新的大小。 ^如1分驗過刪除、增加細整達到—定的大小時,程式結 人員來,勺Π定的實施例對本發_描述’對本領域的技術 公發曰月的保護範圍。本發明的範圍並非僅祕前述已 開的具體貫施例’所有落入從屬權利要求範保護範 27 1288870 實施例都屬於本發明的内容。 本申請參姐主顯_畴榊請“觸輯^容 及官理的方法及系統’,(代理案號15675_)的優先權, =號為60/562847,申請日為2004年4月15日 2 部而將其完整的主題結合於此處。 号/、王 本申請參考及主張美_時專卿請“資料存 15675US02) 將其完整的主戦合紐處。 ^辦其全部而 丨式簡單說明】 設備⑽)的典型系 I I 士;3&口口 A> I / iL 一 .. . 【圖式簡單說明】 圖1是本 統結構圖, ▼ /、“ 月一實施例的網路附加存儲設備的結構方框圖; ^ 明一實施例的_晶片⑽⑹的結構方 囡4疋本發明一實施例的網路存儲附加 器的資料庫分配及管理流糊; 冑内至/ —個硬碟驅動 圖5^本發明一實施例的有效容量均為13.碰 和Manasi,,的兩磁碟機的示意圖; 4 Surya =是本發明-實施例的建立共龍的流覽_ __ _ 圖7疋本發明一實施例的創建或刪除與至 至少:個共聰的流覽器截屏圖; 個貝料庫相關聯的 ,8是本發明一實施例的使用本發明的檔 存儲驅動器的結構框圖; 、1勺片或資料 =是本發明—實施例的磁姆料存儲驅動器的—分區的結構 圖10是本發明一實施例的一磁片頭檔的結構樞圖; 28 1288870 圖11是本發明一實施例的資料庫資訊塊的結構框圖; 圖12是本發明一實施例的允許網路存儲設備利用至少一個資料 存儲驅動器實現至少一個資料庫的啟動程式流程圖; 圖13是本發明一實施例的資料存儲設備中一資料存儲驅動器的 分區大小調整操作流程圖。 【主要元件符號說明】 網路附加記憶體1〇〇、200 一個或多個元件的印刷電路板(NASPCB) 202 NAS晶片(NASoC) 204 隨機存取記憶體208 快閃記憶體212 AC電源介面216 電源220 介面塊224 無線收發信機/天線模組228 —個或多個硬碟驅動器232 控制器236 中央處理單元(CPU) 240 NAS晶片(NASoC) 300 中央處理單元(CPU) 304 晶片内隨機存取記憶體308乙太網/MAC控制器312 流型AES加密加速器316 一個安全/鑒定、密钥的交換、DRM晶片320 USB 設備 I/F 324 PCI 主機 I/F 332 GPIO/LCD/快閃記憶體媒體i/f 328 ΑΤΑ 介面 336 USB 主機 I/F 340 磁片頭文件804 第一分區808 第二分區812 第三分區816 29 1288870 第四分區820 第N分區824 網路附加記憶體900 第一 PIB 904 第二 PIB908 分區有效負荷(以塊爲單位)912 “魔術”頭文件欄位1004 NAS識別字欄位1〇〇8 磁片名稱攔位1012 零位元填充符欄位1016 磁片識別字攔位1020 標諸欄位1024
未使用位元組欄位1028 第一分區欄位1032 第二分區攔位1036 資料庫名稱欄位1104 第一零位元填充符欄位1108唯一資料池識別字攔位1112 NAS識別攔位(Π3) 1116第二零位填充符欄位1120 時間/日期印戳欄位1124第三零位填充符攔位1128 資料條攔位1132 鏡射欄位1136 備用區攔位1140 窗格欄位1144 位元組片攔位1148 位元組片識別字攔位1152 RAID位元組片欄位1156窗格分區明細表字段1160 位元組片分區明細表字段1164大小調整標諸搁位1168 反向變化量攔位1172 正向變化量攔位1176 調整前大小攔位1180 調整後大小攔位1184 第四零位元填充符攔位1188有效資料庫資訊攔位1192

Claims (1)

  1. 广 1288870 申請專利範圍 卜一種利用至少一個資料存儲驅動器實現資料庫分配及管理之方 法,該方法包括: 建立一第一分區表和一第二分區表,上述第_分區表是所述第二 分區表的鏡射,上述第一和/或第二分區表規定了資料存儲驅動器中一 個或多個分區的位置和大小,上述資料存儲驅動器是資料存儲設備的 上述至少一個資料記憶體中的一個;及 其次,生成一第一資料庫資訊塊和一第二資料庫資訊塊,上述第 一資料庫資訊塊是上述第二資料庫資訊塊的鏡射,上述第一或第二資 料庫資訊塊用於識別及鏈結一個或多個分區,上述第一和/或第二資料 庫資訊塊存儲於上述至少一個資料存儲驅動器的每個上述分區内。 2、如申請專利麵第1項所述的方法,其中該方法進一步包括: 識別上述-個或多個分區内至少一個或多個位尬片和窗格,並鍵結 上述一個或多個程式塊和窗格以形成上述資料庫。 3如申睛專利範圍第!項所述的方法,其十上述資料存儲驅動器 包括硬碟驅動器。 、4種利用至少一個資祠存儲驅動器調整資料庫分區大小的方 法’該方法包括:首先生成—第—資料庫資訊塊和—第二資料庫資訊 塊:上述第—和第二資料庫資訊塊位於每個分區的起始端,第一和第 二資料庫資訊塊用於識別上述分區。 種利用至少-個資料存儲驅動器為資料庫增加分區的方法, 31 τ' 〆 ” Ο. - U ·爿曰修臧)正替換頁 !288870 該方法包括: 首先,產生一第—資料庫資訊塊和一第二資料庫資訊塊,上述第 •—和第二資辦資訊塊位於細分區的起始端,驗識別上述分區; . 其次’在上述第—和第二資料庫資訊塊内生成一存儲第一值的第 一攔位; 再次,生成一存儲第二值的第L上述第二值指示上述分區 增加前的大小;及 _ 取後,生成—存儲第三值的第三攔位,上述第三值指示上述分區 增加後的大小。 6種利用至少一個資料存儲驅動器實現資料庫分配及管理之系 統,該系統包括: 一記憶體; 一常駐於上述記憶體内的軟體; 々—執仃上述軟體的處理器,上述處理器通過執行上述軟體建立一 第y分區表和-第二分區表,上述第—分區表是上述第二分區表的鏡 射上述第-和/或第二分區表提供上述至少一個資料記憶體的至少一 j區的位置和大小資訊;上述處理器通過執行上述軟體還生成一第 -貧料庫資訊塊和一第二資料庫資訊塊,上述第一資料庫資訊塊是上 述弟二貧料庫資訊塊的鏡射,上述第—或第二資料庫資訊塊用於識別 及鏈結-崎彳咖,上料—#/絲:雜雜輯雜於上述 至少-個資料存儲驅動器的每個上述分區内。 7、如申請專利範圍第6項所述的系統,其中上述第-和第二資料 32 1288870 擎,1¾修正替換I 庫資訊塊位於每個分區的起始端。 , 8、如申請專利範圍第6項所述的系統,其中上述至少一個資料存 儲驅動器是硬碟驅動器。
    33
TW94111913A 2004-04-15 2005-04-14 Method and system of data pool allocation and management using one or more data storage drives TWI288870B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56284704P 2004-04-15 2004-04-15
US64863405P 2005-01-31 2005-01-31

Publications (2)

Publication Number Publication Date
TW200627139A TW200627139A (en) 2006-08-01
TWI288870B true TWI288870B (en) 2007-10-21

Family

ID=39228478

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94111913A TWI288870B (en) 2004-04-15 2005-04-14 Method and system of data pool allocation and management using one or more data storage drives

Country Status (1)

Country Link
TW (1) TWI288870B (zh)

Also Published As

Publication number Publication date
TW200627139A (en) 2006-08-01

Similar Documents

Publication Publication Date Title
US8533256B2 (en) Object interface to a dispersed data storage network
US8095726B1 (en) Associating an identifier with a content unit
TWI312112B (en) Data managing method, method and apparatus to snapshot data for multiple volumes to a single snapshot volume in a data processing system
KR101247083B1 (ko) 세대별 파일로서 파일을 자동으로 백업하는 파일 시스템을사용하기 위한 방법 및 시스템
US8234317B1 (en) Auto-committing files to immutable status based on a change log of file system activity
US7395402B2 (en) Method and system of data storage capacity allocation and management using one or more data storage drives
US20130073819A1 (en) Efficient file system metadata scanning using scoped snapshots
EP3989052B1 (en) Method of operating storage device and method of operating storage system using the same
TWI327282B (en) Retention of functionality and operational configuration for a portable data storage dirve
WO2012065005A1 (en) Method and apparatus of accessing data of virtual machine
CN101120305A (zh) 新型即时复制操作
US7681007B2 (en) Automatic expansion of hard disk drive capacity in a storage device
TW201017405A (en) Improved hybrid drive
TWI291629B (en) Method, system, and computer readable storage medium storing instructions for switching folder to be accessed based on confidential mode
US20080282355A1 (en) Document container data structure and methods thereof
CN102227729A (zh) 仅向主机呈现与定义的主机性能相兼容的文件的存储器件
US20130227209A1 (en) Method and apparatus for content derived data placement in memory
JP2007012056A (ja) データ保全の先送りされた認証を有するファイルシステム
US20010047454A1 (en) I/O method and apparatus for optical storage media
TW201243599A (en) Secure and scalable solid state disk system
TW200837576A (en) Data file management and search method and system based on file attributes
US20070061540A1 (en) Data storage system using segmentable virtual volumes
JP5956971B2 (ja) LTFS(LinearTapeFileSystem)によって実現するWORMカートリッジのサポート
US8170991B1 (en) Method and apparatus for managing image data on a sequential storage device
CA2581555C (en) Method and system for arbitrating computer access to a shared storage medium

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees