TWI401566B - Raid information update method - Google Patents

Raid information update method Download PDF

Info

Publication number
TWI401566B
TWI401566B TW98110936A TW98110936A TWI401566B TW I401566 B TWI401566 B TW I401566B TW 98110936 A TW98110936 A TW 98110936A TW 98110936 A TW98110936 A TW 98110936A TW I401566 B TWI401566 B TW I401566B
Authority
TW
Taiwan
Prior art keywords
profile
original
disk array
updated
mini
Prior art date
Application number
TW98110936A
Other languages
Chinese (zh)
Other versions
TW201037509A (en
Inventor
Chungchiang Chen
Original Assignee
Inventec 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 Inventec Corp filed Critical Inventec Corp
Priority to TW98110936A priority Critical patent/TWI401566B/en
Publication of TW201037509A publication Critical patent/TW201037509A/en
Application granted granted Critical
Publication of TWI401566B publication Critical patent/TWI401566B/en

Links

Landscapes

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

Description

磁碟陣列設定檔更新方法Disk array configuration file update method

本發明是有關於一種磁碟陣列設定檔處理方法,且特別是有關於一種磁碟陣列設定檔更新方法。The present invention relates to a disk array profile processing method, and more particularly to a disk array profile update method.

隨著電腦的日漸普及,民眾儲存於電腦之資料量也隨之日益龐大。因此,使得電腦廠商開發出不斷開發出更大容量之儲存媒體。然而,一般具有大容量之儲存媒體,如硬碟,傳輸速率受限於本身讀取頭之存取速率以及其所連接之匯流排傳輸速率,因而造成此類儲存媒體在資料傳輸速率上的瓶頸。此外,此類儲存媒體一般不具有容錯功能,因而在儲存媒體損壞時,其所儲存之資料也隨之損毀。因此,發展出磁碟陣列(Redundant Array of Inexpensive Disks,RAID),用以同時自數個實體硬碟存取資料,而使得所模擬出之邏輯硬碟具有較快之資料傳輸速率,且具有容錯之功能。With the increasing popularity of computers, the amount of information stored by people on computers has also grown. As a result, computer manufacturers have developed storage media that are constantly developing larger capacities. However, generally a large-capacity storage medium, such as a hard disk, has a transmission rate limited by the access rate of the read head itself and the bus transfer rate to which it is connected, thereby causing a bottleneck in the data transfer rate of such a storage medium. . In addition, such storage media generally do not have fault tolerance, so when the storage media is damaged, the stored data is also destroyed. Therefore, the Redundant Array of Inexpensive Disks (RAID) is developed to access data from several physical hard disks at the same time, so that the simulated logical hard disk has a faster data transmission rate and is fault tolerant. The function.

在存取磁碟陣列所模擬之邏輯硬碟前,系統需先自磁碟陣列之數個實體硬碟的磁碟陣列資訊磁區(RAID Information Sector,RIS)取得磁碟陣列設定檔(其大小約為160k bytes)。然後,便可根據RIS上所儲存之磁碟陣列設定檔,初始化並存取磁碟陣列所模擬之邏輯硬碟。Before accessing the logical hard disk simulated by the disk array, the system needs to obtain the disk array profile from the RAID information sector (RIS) of several physical hard disks of the disk array. About 160k bytes). The logical array emulated by the disk array can then be initialized and accessed based on the disk array profile stored on the RIS.

在執行開機自我檢測(Power-On Self Test,POST)時,系統所能利用的記憶體空間較小(約為1MB)。因此,在開機自我檢測對磁碟陣列做檢測時,僅會自磁碟陣列設定檔擷取部份重要的欄位作成mini RIS(其大小約為670bytes),以初始化並檢測磁碟陣列。其中,在檢測到磁碟陣列之狀態有改變(如有實體硬碟新增至磁碟陣列或自磁碟陣列拔除)時,便根據磁碟陣列之目前狀態更新上述之mini RIS。在開機自我檢測完成對磁碟陣列之檢測後,便需將原先磁碟陣列設定檔與完成檢測後之mini RIS比對,以判斷是否需根據mini RIS更新磁碟陣列設定檔。然而,在做比對時,需另外配置一塊記憶體空間儲存原先磁碟陣列設定檔,因而容易造成記憶體空間不足。此外,即使僅更新磁碟陣列設定檔之部份欄位,仍需將更新後之磁碟陣列設定檔全部寫回磁碟陣列,無形中浪費了很多資料傳輸以及存取的時間。When performing Power-On Self Test (POST), the memory space available to the system is small (approximately 1MB). Therefore, when the boot self-detection detects the disk array, only some important fields are taken from the disk array profile to create a mini RIS (which is about 670 bytes) to initialize and detect the disk array. Wherein, when it is detected that the state of the disk array has changed (if a physical hard disk is added to the disk array or removed from the disk array), the mini RIS is updated according to the current state of the disk array. After the boot self-test completes the detection of the disk array, the original disk array profile is compared with the mini RIS after the completion of the test to determine whether the disk array profile needs to be updated according to the mini RIS. However, when doing the comparison, it is necessary to additionally configure a memory space to store the original disk array profile, which is likely to cause insufficient memory space. In addition, even if only some of the fields of the disk array profile are updated, it is still necessary to write all the updated disk array profiles back to the disk array, which wastes a lot of data transmission and access time.

因此,本發明之一目的是在提供一種磁碟陣列設定檔更新方法,用以在開機自我檢測完成對磁碟陣列之檢測後,將原始磁碟陣列設定檔分為數個區塊,並將各區塊逐一與完成檢測後之mini RIS比對。僅在各區塊上,mini RIS所對應之欄位有更新時,根據mini RIS更新上述區塊並寫回磁碟陣列。Accordingly, it is an object of the present invention to provide a disk array profile update method for dividing an original disk array profile into a plurality of blocks after the boot self-test completes the detection of the disk array, and The blocks are compared one by one with the mini RIS after the completion of the test. Only on the various blocks, when the field corresponding to the mini RIS is updated, the above block is updated according to the mini RIS and written back to the disk array.

依據本發明一實施例,一種磁碟陣列設定檔更新方法包含以下步驟:在一開機自我檢測開始檢測一磁碟陣列時,自磁碟陣列之一原始設定檔擷取一迷你設定檔。根據迷你設定檔初始化磁碟陣列,並偵測磁碟陣列之一目前狀態。根據磁碟陣列之目前狀態,更新迷你設定檔。將更新後之迷你設定檔與原始設定檔之數個原始區塊逐一比對,以判斷原始設定檔是否有至少一更新區塊需更新。在原始設定檔有至少一更新區塊需更新時,根據更新後之迷你設定檔,更新至少一更新區塊。僅將更新後之至少一更新區塊寫回磁碟陣列,以更新磁碟陣列之原始設定檔。According to an embodiment of the invention, a disk array profile update method includes the steps of: capturing a mini profile from one of the original profiles of the disk array when a boot self-detection begins to detect a disk array. Initializes the disk array based on the mini profile and detects the current state of one of the disk arrays. The mini profile is updated based on the current state of the disk array. The updated mini profile is compared with the original blocks of the original profile one by one to determine whether the original profile has at least one update block to be updated. When at least one update block needs to be updated in the original profile, at least one update block is updated according to the updated mini profile. Only the updated at least one update block is written back to the disk array to update the original profile of the disk array.

請參照第1圖,其繪示依照本發明一實施方式的一種磁碟陣列(Redundant Array of Inexpensive Disks,RAID)設定檔更新方法之流程圖。磁碟陣列設定檔更新方法用以在開機自我檢測(Power-On Self Test,POST)完成對磁碟陣列之檢測後,將原始磁碟陣列設定檔分為數個區塊,並將各區塊逐一與完成檢測後之mini RIS(RAID Information Sector)比對。其中,僅在各區塊上,mini RIS所對應之欄位有更新時,根據mini RIS更新上述區塊並寫回磁碟陣列。磁碟陣列設定檔更新方法100包含以下步驟:在一開機自我檢測開始檢測一磁碟陣列(步驟110)時,自磁碟陣列之一原始設定檔擷取一迷你設定檔(步驟120)。其中,原始設定檔係儲存於磁碟陣列之數個實體硬碟之RIS,而迷你設定檔係應用mini RIS之格式。Please refer to FIG. 1 , which is a flowchart of a method for updating a Redundant Array of Inexpensive Disks (RAID) profile according to an embodiment of the invention. The disk array configuration file updating method is used to divide the original disk array configuration file into several blocks after the power-on self test (POST) completes the detection of the disk array, and each block is changed one by one. Compare with the mini RIS (RAID Information Sector) after the completion of the test. Among them, only in the block, when the field corresponding to the mini RIS is updated, the above block is updated according to the mini RIS and written back to the disk array. The disk array profile update method 100 includes the steps of: capturing a mini profile from one of the original profiles of the disk array upon initial detection of a disk array (step 110) (step 120). Among them, the original setting file is stored in the RIS of several physical hard disks of the disk array, and the mini setting file is applied in the format of mini RIS.

在步驟130中,根據迷你設定檔初始化磁碟陣列,並偵測磁碟陣列之一目前狀態,如是否有實體硬碟新增至磁碟陣列或自磁碟陣列移除。接下來,在步驟140中,根據磁碟陣列之目前狀態,更新迷你設定檔。In step 130, the disk array is initialized according to the mini profile, and the current state of one of the disk arrays is detected, such as whether a physical hard disk is added to the disk array or removed from the disk array. Next, in step 140, the mini profile is updated based on the current state of the disk array.

在步驟150中,取得原始設定檔之數個原始區塊的其中之一。其中,各原始區塊之大小可依據實際需求而做調整。舉例來說,由於一般磁碟陣列上所使用之實體硬碟之讀寫單位為block(512bytes),因此可將原始設定檔分成多個大小為512bytes之原始區塊。In step 150, one of a plurality of original blocks of the original profile is obtained. Among them, the size of each original block can be adjusted according to actual needs. For example, since the physical hard disk used in the general disk array has a block read/write unit of 512 bytes, the original profile can be divided into a plurality of original blocks of 512 bytes.

在步驟160中,判斷所取得之原始區塊是否為需更新之一更新區塊。其中,步驟160係藉由將所取得之原始區塊與更新後之迷你設定檔做比對而判斷。在所取得之原始區塊中,更新後之迷你設定檔所對應之欄位有更新時,則判定所取得之原始區塊為需更新之更新區塊。In step 160, it is determined whether the obtained original block is one of the update blocks to be updated. The step 160 is determined by comparing the obtained original block with the updated mini profile. In the original block obtained, when the field corresponding to the updated mini profile is updated, it is determined that the obtained original block is an update block to be updated.

在步驟170中,當所取得之原始區塊為需更新之更新區塊時,根據更新後之迷你設定檔更新上述原始區塊,並將更新後之原始區塊寫回原始設定檔。在步驟180中,根據更新後之原始區塊與一暫存偵錯碼,產生一目前偵錯碼。然而,當所取得之原始區塊非需更新之更新區塊時,根據所取得之原始區塊與暫存偵錯碼,產生目前偵錯碼(步驟190)。其中,在開始執行磁碟陣列設定檔更新方法100時,暫存偵錯碼係預設為空(Null)。此外,步驟180以及步驟190中之目前偵錯碼,可藉由核對和(checksum)或其他偵錯碼產生方式產生。In step 170, when the original block obtained is an update block to be updated, the original block is updated according to the updated mini profile, and the updated original block is written back to the original profile. In step 180, a current debug code is generated based on the updated original block and a temporary debug error code. However, when the obtained original block does not need to be updated, the current error detection code is generated according to the obtained original block and the temporary error detection code (step 190). Wherein, when the disk array profile update method 100 is started, the temporary error detection code system is preset to be null (Null). In addition, the current error detection code in step 180 and step 190 can be generated by checksum or other error detection code generation.

接下來,令目前偵錯碼為暫存偵錯碼(步驟200),並判斷所取得之原始區塊是否為原始設定檔中最後一個區塊(步驟210)。在所取得之原始區塊非原始設定檔中最後一個區塊時,則取得原始設定檔中下一個原始區塊(步驟150)。如此一來,便可藉由步驟150~步驟210,逐一更新磁碟陣列之原始設定檔中需更新之原始區塊,並逐一產生更新後之原始設定檔之偵錯碼。然而,在所取得之原始區塊為原始設定檔中最後一個區塊時,將暫存偵錯碼寫回磁碟陣列之原始設定檔(步驟220),作為更新後之原始設定檔的偵錯碼。如此一來,即可利用更新後之原始設定檔存取磁碟陣列。Next, the current debug code is the temporary debug code (step 200), and it is determined whether the obtained original block is the last block in the original profile (step 210). When the last block in the original block non-original profile is obtained, the next original block in the original profile is obtained (step 150). In this way, the original blocks to be updated in the original configuration file of the disk array can be updated one by one by steps 150 to 210, and the error detection code of the updated original configuration file is generated one by one. However, when the original block obtained is the last block in the original profile, the temporary error detection code is written back to the original profile of the disk array (step 220), as the debug of the updated original profile. code. In this way, the updated original profile can be used to access the disk array.

由上述本發明實施方式可知,應用本發明具有下列優點。由於每次僅將原始設定檔的其中一個區塊與迷你設定檔比對,因而僅需多配置一個區塊之記憶體大小作為比對時使用。如此一來,便不會在開機自我檢測對磁碟陣列做檢測時,造成記憶體空間不足。此外,先前技術在將原始設定檔更新後,便將更新後之原始設定檔整個寫回磁碟陣列。然而,應用本發明僅需在原始設定檔之區塊中,迷你設定檔所對應之欄位有更新時,將上述區塊更新並寫回原始設定檔,因而節省了資料傳輸以及存取之時間。另外,更新後之原始設定檔的偵錯碼係隨著各區塊比對而產生。換言之,不需在原始設定檔更新完成後,重新運算整個更新後之原始設定檔以產生偵錯碼,因而節省重新運算以產生偵錯碼之時間。It will be apparent from the above-described embodiments of the present invention that the application of the present invention has the following advantages. Since only one of the original profiles is compared with the mini profile at a time, it is only necessary to configure the memory size of one block as a comparison. As a result, there is no memory space shortage when the boot self-detection detects the disk array. In addition, the prior art writes the updated original profile back to the disk array after updating the original profile. However, the application of the present invention only needs to update and write the above-mentioned block back to the original profile when the field corresponding to the mini profile is updated in the block of the original profile, thereby saving data transmission and access time. . In addition, the error detection code of the updated original profile is generated as each block is aligned. In other words, it is not necessary to recalculate the entire updated original profile after the original profile update is completed to generate an error detection code, thereby saving time for recalculation to generate the error detection code.

雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed in the above embodiments, it is not intended to limit the present invention, and the present invention can be modified and modified without departing from the spirit and scope of the present invention. The scope is subject to the definition of the scope of the patent application attached.

100...磁碟陣列設定檔更新方法100. . . Disk array configuration file update method

110~220...步驟110~220. . . step

為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:The above and other objects, features, advantages and embodiments of the present invention will become more apparent and understood.

第1圖繪示依照本發明一實施方式的一種磁碟陣列設定檔更新方法之流程圖。FIG. 1 is a flow chart of a method for updating a disk array profile according to an embodiment of the invention.

100...磁碟陣列設定檔更新方法100. . . Disk array configuration file update method

110~220...步驟110~220. . . step

Claims (4)

一種磁碟陣列設定檔更新方法,包含:在一開機自我檢測開始檢測一磁碟陣列時,自該磁碟陣列之一原始設定檔擷取一迷你設定檔,其中該磁碟陣列之該原始設定檔係儲存於該磁碟陣列之複數個實體硬碟之RIS(RAID Information Sector),其中該迷你設定檔係應用mini RIS之格式;根據該迷你設定檔初始化該磁碟陣列,並偵測該磁碟陣列之一目前狀態;根據該磁碟陣列之該目前狀態,更新該迷你設定檔;將更新後之該迷你設定檔與該原始設定檔之複數個原始區塊逐一比對,以判斷該原始設定檔之該些原始區塊中是否有至少一更新區塊需更新;以及在該些原始區塊中有該至少一更新區塊需更新時,根據更新後之該迷你設定檔,更新該至少一更新區塊,並僅將更新後之該至少一更新區塊寫回該磁碟陣列,以更新該磁碟陣列之該原始設定檔。 A disk array profile updating method, comprising: capturing a mini profile from an original profile of the disk array when a boot self-detection starts detecting a disk array, wherein the original setting of the disk array The file is stored in a RIS (RAID Information Sector) of the plurality of physical hard disks of the disk array, wherein the mini profile is in the format of a mini RIS; the disk array is initialized according to the mini profile, and the magnetic is detected a current state of one of the disk arrays; updating the mini profile according to the current state of the disk array; comparing the updated mini profile with a plurality of original blocks of the original profile to determine the original Whether at least one update block in the original block of the profile needs to be updated; and when the at least one update block needs to be updated in the original block, updating the at least the updated mini profile An update block is updated, and only the updated at least one update block is written back to the disk array to update the original profile of the disk array. 如請求項1所述之磁碟陣列設定檔更新方法,其中在將更新後之該迷你設定檔與該原始設定檔之該些原始區塊逐一比對時,更包含:根據非該至少一更新區塊之該些原始區塊以及該至少一更新區塊,產生更新後之該原始設定檔之一偵錯碼;將該偵錯碼寫回更新後之該原始設定檔。 The disk array profile update method of claim 1, wherein when the updated mini profile is compared with the original blocks of the original profile, the method further comprises: updating according to the at least one The original blocks of the block and the at least one updated block generate an updated one of the original configuration file error detection codes; the error detection code is written back to the updated original configuration file. 如請求項1所述之磁碟陣列設定檔更新方法,其中該原始設定檔之該偵錯碼係利用核對和(checksum)產生。 The disk array profile update method of claim 1, wherein the error detection code of the original profile is generated using a checksum. 如請求項1所述之磁碟陣列設定檔更新方法,其中每一該些原始區塊之大小為512 bytes。The disk array profile update method of claim 1, wherein each of the original blocks has a size of 512 bytes.
TW98110936A 2009-04-01 2009-04-01 Raid information update method TWI401566B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW98110936A TWI401566B (en) 2009-04-01 2009-04-01 Raid information update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW98110936A TWI401566B (en) 2009-04-01 2009-04-01 Raid information update method

Publications (2)

Publication Number Publication Date
TW201037509A TW201037509A (en) 2010-10-16
TWI401566B true TWI401566B (en) 2013-07-11

Family

ID=44856702

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98110936A TWI401566B (en) 2009-04-01 2009-04-01 Raid information update method

Country Status (1)

Country Link
TW (1) TWI401566B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672270A (en) * 2021-08-19 2021-11-19 讯牧信息科技(上海)有限公司 Upgrading method, computer system and remote upgrading device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084734A (en) * 1997-12-08 2000-07-04 Maxtor Corporation Data recovery using targeted ECC correction
US20030028772A1 (en) * 2001-07-31 2003-02-06 Allison Michael S. Method for generating a read only memory image
TW200513847A (en) * 2003-10-07 2005-04-16 Infortrend Technology Inc Raid consistency initialization method
TW200601147A (en) * 2004-06-21 2006-01-01 Inventec Corp Method for upgrading part of BIOS

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084734A (en) * 1997-12-08 2000-07-04 Maxtor Corporation Data recovery using targeted ECC correction
US20030028772A1 (en) * 2001-07-31 2003-02-06 Allison Michael S. Method for generating a read only memory image
TW200513847A (en) * 2003-10-07 2005-04-16 Infortrend Technology Inc Raid consistency initialization method
TW200601147A (en) * 2004-06-21 2006-01-01 Inventec Corp Method for upgrading part of BIOS

Also Published As

Publication number Publication date
TW201037509A (en) 2010-10-16

Similar Documents

Publication Publication Date Title
TWI599946B (en) Stripe mapping in memory
US7689890B2 (en) System and method for handling write commands to prevent corrupted parity information in a storage array
US8489946B2 (en) Managing logically bad blocks in storage devices
CN101427323A (en) System and method for reading non-volatile computer memory
JP2008539474A (en) Power safe disk storage device, system and method
US10942678B2 (en) Method of accessing data in storage device, method of managing data in storage device and storage device performing the same
JP2008033874A (en) Data salvation method for redundant array derogation of independent disk and its system
WO2017143843A1 (en) Metadata recovery method and device
US20230004320A1 (en) Method of managing debugging log in storage device
CN111816239B (en) Disk detection method and device, electronic equipment and machine-readable storage medium
CN107885620A (en) A kind of method and system for improving Solid-state disc array Performance And Reliability
US11380418B2 (en) Memory controllers, storage devices, and operating methods of the storage devices
US7577804B2 (en) Detecting data integrity
JP2003330629A (en) Disk array controller and disk array control method and disk array control program
TWI594253B (en) Non-volatile memory apparatus and empty page detection method thereof
TWI401566B (en) Raid information update method
CN106909484B (en) System and method for simulating bad disk test in storage environment
JP5908106B2 (en) Device and method for storing validity mask and operating device
TWI620116B (en) Redundant array of independent disks and re-build method thereof
US20060174166A1 (en) Proactive driver response to an operating system if a drive is removed from a raid configuration
JP5824087B2 (en) Method and system for error correction code seeding and storage medium
TWI633434B (en) Method, system, and computer readable medium for managing solid state drive
CN109407972A (en) The storage device of correcting data error is carried out using temperature difference equalization methods
CN109460316A (en) Data reconstruction method and system, storage medium based on temperature difference equilibrium
TWI447712B (en) System and method for testing hard disks under extensible firmware interface

Legal Events

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