專利名稱:磁盤陣列設定文件更新方法
技術領域:
本發(fā)明是有關于一種磁盤陣列設定文件處理方法,且特別是有關于一種磁盤陣列 設定文件更新方法。
背景技術:
隨著計算機的日漸普及,民眾儲存于計算機的數(shù)據(jù)量也隨之日益龐大。因此,使得 計算機廠商開發(fā)出不斷開發(fā)出更大容量的儲存媒體。然而,一般具有大容量的儲存媒體,如 硬盤,傳輸速率受限于本身讀取頭的存取速率以及其所連接的總線傳輸速率,因而造成此 類儲存媒體在數(shù)據(jù)傳輸速率上的瓶頸。此外,此類儲存媒體一般不具有容錯功能,因而在儲 存媒體損壞時,其所儲存的數(shù)據(jù)也隨之損毀。因此,發(fā)展出磁盤陣列(Redundant Array of Inexpensive Disks, RAID),用以同時自數(shù)個實體硬盤存取數(shù)據(jù),而使得所仿真出的邏輯硬 盤具有較快的數(shù)據(jù)傳輸速率,且具有容錯的功能。在存取磁盤陣列所仿真的邏輯硬盤前,系統(tǒng)需先自磁盤陣列的數(shù)個實體硬盤的磁 盤陣列信息扇區(qū)(RAID Information Sector, RIS)取得磁盤陣列設定文件(其大小約為 160k bytes) 0然后,便可根據(jù)RIS上所儲存的磁盤陣列設定文件,初始化并存取磁盤陣列 所仿真的邏輯硬盤。在執(zhí)行開機自我檢測(Power-On Self Test, POST)時,系統(tǒng)所能利用的內存空間 較小(約為1MB)。因此,在開機自我檢測對磁盤陣列做檢測時,僅會自磁盤陣列設定文件擷 取部份重要的字段作成mini RIS (迷你磁盤陣列信息扇區(qū),其大小約為670bytes),以初始 化并檢測磁盤陣列。其中,在檢測到磁盤陣列的狀態(tài)有改變(如有實體硬盤新增至磁盤陣 列或自磁盤陣列拔除)時,便根據(jù)磁盤陣列的目前狀態(tài)更新上述的mini RIS。在開機自我 檢測完成對磁盤陣列的檢測后,便需將原先磁盤陣列設定文件與完成檢測后的mini RIS比 對,以判斷是否需根據(jù)mini RIS更新磁盤陣列設定文件。然而,在做比對時,需另外配置一 塊內存空間儲存原先磁盤陣列設定文件,因而容易造成內存空間不足。此外,即使僅更新磁 盤陣列設定文件的部份字段,仍需將更新后的磁盤陣列設定文件全部寫回磁盤陣列,無形 中浪費了很多數(shù)據(jù)傳輸以及存取的時間。
發(fā)明內容
因此,本發(fā)明的一目的在于提供一種磁盤陣列設定文件更新方法,用以在開機自 我檢測完成對磁盤陣列的檢測后,將原始磁盤陣列設定文件分為數(shù)個區(qū)塊,并將各區(qū)塊逐 一與完成檢測后的mini RIS比對。僅在各區(qū)塊上,mini RIS所對應的字段有更新時,根據(jù) mini RIS更新上述區(qū)塊并寫回磁盤陣列。依據(jù)本發(fā)明一實施例,一種磁盤陣列設定文件更新方法包含以下步驟在一開機 自我檢測開始檢測一磁盤陣列時,自磁盤陣列的一原始設定文件擷取一迷你設定文件。根 據(jù)迷你設定文件初始化磁盤陣列,并偵測磁盤陣列的一目前狀態(tài)。根據(jù)磁盤陣列的目前狀 態(tài),更新迷你設定文件。將更新后的迷你設定文件與原始設定文件的數(shù)個原始區(qū)塊逐一比對,以判斷原始設定文件是否有至少一更新區(qū)塊需更新。在原始設定文件有至少一更新區(qū) 塊需更新時,根據(jù)更新后的迷你設定文件,更新至少一更新區(qū)塊。僅將更新后的至少一更新 區(qū)塊寫回磁盤陣列,以更新磁盤陣列的原始設定文件。由上述本發(fā)明實施方式可知,應用本發(fā)明具有下列優(yōu)點。由于每次僅將原始設定 文件的其中一個區(qū)塊與迷你設定文件比對,因而僅需多配置一個區(qū)塊的內存大小作為比對 時使用。如此一來,便不會在開機自我檢測對磁盤陣列做檢測時,造成內存空間不足。此 外,先前技術在將原始設定文件更新后,便將更新后的原始設定文件整個寫回磁盤陣列。然 而,應用本發(fā)明僅需在原始設定文件的區(qū)塊中,迷你設定文件所對應的字段有更新時,將上 述區(qū)塊更新并寫回原始設定文件,因而節(jié)省了數(shù)據(jù)傳輸以及存取的時間。另外,更新后的原 始設定文件的偵錯碼是隨著各區(qū)塊比對而產生。換言之,不需在原始設定文件更新完成后, 重新運算整個更新后的原始設定文件以產生偵錯碼,因而節(jié)省重新運算以產生偵錯碼的時 間。
為讓本發(fā)明的上述和其它目的、特征、優(yōu)點與實施例能更明顯易懂,所附附圖的說 明如下圖1繪示依照本發(fā)明一實施方式的一種磁盤陣列設定文件更新方法的流程圖。主要組件符號說明100 磁盤陣列設定文件更新方法110 220:步驟
具體實施例方式請參照圖1,其繪示依照本發(fā)明一實施方式的一種磁盤陣列(RedimdantArray of Inexpensive Disks, RAID)設定文件更新方法的流程圖。磁盤陣列設定文件更新方法用 以在開機自我檢測(Power-On Self Test, POST)完成對磁盤陣列的檢測后,將原始磁盤陣 列設定文件分為數(shù)個區(qū)塊,并將各區(qū)塊逐一與完成檢測后的mini RIS(RAID Information Sector)比對。其中,僅在各區(qū)塊上,mini RIS所對應的字段有更新時,根據(jù)mini RIS更新 上述區(qū)塊并寫回磁盤陣列。磁盤陣列設定文件更新方法100包含以下步驟在一開機自我檢測開始檢測一磁盤陣列(步驟110)時,自磁盤陣列的一原始設定 文件擷取一迷你設定文件(步驟120)。其中,原始設定文件是儲存于磁盤陣列的數(shù)個實體 硬盤的RIS,而迷你設定文件是應用mini RIS(迷你磁盤陣列信息扇區(qū))的格式。在步驟130中,根據(jù)迷你設定文件初始化磁盤陣列,并偵測磁盤陣列的一目前狀 態(tài),如是否有實體硬盤新增至磁盤陣列或自磁盤陣列移除。接下來,在步驟140中,根據(jù)磁 盤陣列的目前狀態(tài),更新迷你設定文件。在步驟150中,取得原始設定文件的數(shù)個原始區(qū)塊的其中之一。其中,各原始區(qū)塊 的大小可依據(jù)實際需求而做調整。舉例來說,由于一般磁盤陣列上所使用的實體硬盤的讀 寫單位為block(512byteS),因此可將原始設定文件分成多個大小為512bytes (字節(jié))的原 始區(qū)塊。在步驟160中,判斷所取得的原始區(qū)塊是否為需更新的一更新區(qū)塊。其中,步驟160是通過將所取得的原始區(qū)塊與更新后的迷你設定文件做比對而判斷。在所取得的原始 區(qū)塊中,更新后的迷你設定文件所對應的字段有更新時,則判定所取得的原始區(qū)塊為需更 新的更新區(qū)塊。在步驟170中,當所取得的原始區(qū)塊為需更新的更新區(qū)塊時,根據(jù)更新后的迷你 設定文件更新上述原始區(qū)塊,并將更新后的原始區(qū)塊寫回原始設定文件。在步驟180中,根 據(jù)更新后的原始區(qū)塊與一暫存?zhèn)慑e碼,產生一目前偵錯碼。然而,當所取得的原始區(qū)塊非需 更新的更新區(qū)塊時,根據(jù)所取得的原始區(qū)塊與暫存?zhèn)慑e碼,產生目前偵錯碼(步驟190)。其 中,在開始執(zhí)行磁盤陣列設定文件更新方法100時,暫存?zhèn)慑e碼是預設為空(Null)。此外, 步驟180以及步驟190中的目前偵錯碼,可通過核對和(checksum)或其它偵錯碼產生方式 產生。接下來,令目前偵錯碼為暫存?zhèn)慑e碼(步驟200),并判斷所取得的原始區(qū)塊是否 為原始設定文件中最后一個區(qū)塊(步驟210)。在所取得的原始區(qū)塊非原始設定文件中最后 一個區(qū)塊時,則取得原始設定文件中下一個原始區(qū)塊(步驟150)。如此一來,便可通過步驟 150 步驟210,逐一更新磁盤陣列的原始設定文件中需更新的原始區(qū)塊,并逐一產生更新 后的原始設定文件的偵錯碼。然而,在所取得的原始區(qū)塊為原始設定文件中最后一個區(qū)塊 時,將暫存?zhèn)慑e碼寫回磁盤陣列的原始設定文件(步驟220),作為更新后的原始設定文件 的偵錯碼。如此一來,即可利用更新后的原始設定文件存取磁盤陣列。由上述本發(fā)明實施方式可知,應用本發(fā)明具有下列優(yōu)點。由于每次僅將原始設定 文件的其中一個區(qū)塊與迷你設定文件比對,因而僅需多配置一個區(qū)塊的內存大小作為比對 時使用。如此一來,便不會在開機自我檢測對磁盤陣列做檢測時,造成內存空間不足。此 外,先前技術在將原始設定文件更新后,便將更新后的原始設定文件整個寫回磁盤陣列。然 而,應用本發(fā)明僅需在原始設定文件的區(qū)塊中,迷你設定文件所對應的字段有更新時,將上 述區(qū)塊更新并寫回原始設定文件,因而節(jié)省了數(shù)據(jù)傳輸以及存取的時間。另外,更新后的原 始設定文件的偵錯碼是隨著各區(qū)塊比對而產生。換言之,不需在原始設定文件更新完成后, 重新運算整個更新后的原始設定文件以產生偵錯碼,因而節(jié)省重新運算以產生偵錯碼的時 間。雖然本發(fā)明已以一較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何熟悉此 技術的人員,在不脫離本發(fā)明的精神和范圍內,當可作各種的更動與潤飾,因此本發(fā)明的保 護范圍當以權利要求書所界定的范圍為準。
權利要求
一種磁盤陣列設定文件更新方法,其特征在于,包含在一開機自我檢測開始檢測一磁盤陣列時,自該磁盤陣列的一原始設定文件擷取一迷你設定文件;根據(jù)該迷你設定文件初始化該磁盤陣列,并偵測該磁盤陣列的一目前狀態(tài);根據(jù)該磁盤陣列的該目前狀態(tài),更新該迷你設定文件;將更新后的該迷你設定文件與該原始設定文件的多個原始區(qū)塊逐一比對,以判斷該原始設定文件的該些原始區(qū)塊中是否有至少一更新區(qū)塊需更新;以及在該些原始區(qū)塊中有該至少一更新區(qū)塊需更新時,根據(jù)更新后的該迷你設定文件,更新該至少一更新區(qū)塊,并僅將更新后的該至少一更新區(qū)塊寫回該磁盤陣列,以更新該磁盤陣列的該原始設定文件。
2.根據(jù)權利要求1所述的磁盤陣列設定文件更新方法,其特征在于,在將更新后的該 迷你設定文件與該原始設定文件的該些原始區(qū)塊逐一比對時,還包含根據(jù)非該至少一更新區(qū)塊的該些原始區(qū)塊以及該至少一更新區(qū)塊,產生更新后的該原 始設定文件的一偵錯碼;將該偵錯碼寫回更新后的該原始設定文件。
3.根據(jù)權利要求2所述的磁盤陣列設定文件更新方法,其特征在于,該原始設定文件 的該偵錯碼是利用核對和產生。
4.根據(jù)權利要求1所述的磁盤陣列設定文件更新方法,其特征在于,該磁盤陣列的該 原始設定文件是儲存于該磁盤陣列的多個實體硬盤的磁盤陣列信息扇區(qū)。
5.根據(jù)權利要求1所述的磁盤陣列設定文件更新方法,其特征在于,該迷你設定文件 是應用迷你磁盤陣列信息扇區(qū)的格式。
6.根據(jù)權利要求1所述的磁盤陣列設定文件更新方法,其特征在于,每一該些原始區(qū) 塊的大小為512字節(jié)。
全文摘要
本發(fā)明涉及一種磁盤陣列設定文件更新方法,包含以下步驟在一開機自我檢測開始檢測一磁盤陣列時,自磁盤陣列的一原始設定文件擷取一迷你設定文件;根據(jù)迷你設定文件初始化磁盤陣列,并偵測磁盤陣列的一目前狀態(tài);根據(jù)磁盤陣列的目前狀態(tài),更新迷你設定文件;將更新后的迷你設定文件與原始設定文件的數(shù)個原始區(qū)塊逐一比對,以判斷原始設定文件的原始區(qū)塊中是否有至少一更新區(qū)塊需更新;在原始區(qū)塊有至少一更新區(qū)塊需更新時,根據(jù)更新后的迷你設定文件,更新至少一更新區(qū)塊,并僅將更新后的至少一更新區(qū)塊寫回磁盤陣列,以更新磁盤陣列的原始設定文件。
文檔編號G06F11/10GK101859264SQ200910131240
公開日2010年10月13日 申請日期2009年4月10日 優(yōu)先權日2009年4月10日
發(fā)明者陳重江 申請人:英業(yè)達股份有限公司