TWI704567B - 磁碟陣列系統的資料還原方法 - Google Patents
磁碟陣列系統的資料還原方法 Download PDFInfo
- Publication number
- TWI704567B TWI704567B TW108113680A TW108113680A TWI704567B TW I704567 B TWI704567 B TW I704567B TW 108113680 A TW108113680 A TW 108113680A TW 108113680 A TW108113680 A TW 108113680A TW I704567 B TWI704567 B TW I704567B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- disk
- disk array
- pages
- valid
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種磁碟陣列系統的資料還原方法。磁碟陣列系統包含複數磁碟及處理器。每一磁碟包含複數資料頁面,該些磁碟經條帶化處理而形成橫跨該些磁碟的複數資料條帶,每一資料條帶包含每一磁碟中的一個資料頁面。處理器以日誌方式寫入資料至該些資料條帶中,並記錄每一資料條帶中的每一資料頁面為有效或無效。當對於該些磁碟中的一損壞磁碟還原資料時,是還原對應為有效或已寫入的資料頁面,不還原對應為無效或空白的資料頁面。
Description
本案是有關於一種儲存技術,特別是有關於一種磁碟陣列系統的資料還原方法。
現有磁碟陣列(Redundant Array of Independent Disks,RAID)在發生磁碟損壞後,需耗費時間來讀取資料以計算同位元來將損壞磁碟中的資料還原,在將還原後的資料寫入替換磁碟,且因磁碟容量巨大,將需要耗費相當多的時間進行磁碟讀寫。即使,現在已有固態硬碟(SSD),提昇資料讀寫的時間,最快讀寫速度可達500MB/s。但以單顆磁碟容量為2TB為例,讀寫花費時間仍需約1小時。
本案一實施例提出一種磁碟陣列系統的資料還原方法。磁碟陣列系統包含複數磁碟,每一磁碟包含複數資料頁面。此些磁碟經條帶化處理而形成橫跨此些磁碟的複數資料條帶。每一資料條帶包含每一磁碟中的一個資料頁面。資料條帶經由日誌方式寫入有資料。資料還原方法是對於磁碟中的一損壞磁碟還原資料,包含:識別損壞磁碟的資料頁面是否為空資料;依據同位元校正計算還原損壞磁碟的資料頁面;及還原已寫入的資料頁面,不還原為空資料的資料頁面。
本案另一實施例提出一種磁碟陣列系統的資料還原方法。磁碟陣列系統包含第一磁碟陣列及第二磁碟陣列,第一磁碟陣列及第二磁碟陣列分別包含複數磁碟,每一磁碟包含複數資料頁面。此些磁碟經條帶化處理而形成橫跨此些磁碟的複數資料條帶。每一資料條帶包含每一磁碟中的一個資料頁面。資料條帶經由日誌方式寫入有資料。資料還原方法是對於第一磁碟陣列中的一損壞磁碟還原資料,包含:識別損壞磁碟的資料頁面是否為有效資料;依據同位元校正計算還原損壞磁碟的資料頁面;及還原有效的資料頁面,不還原無效的資料頁面及為空資料的資料頁面。
本案又一實施例提出一種磁碟陣列系統的資料還原方法。磁碟陣列系統包含互為鏡像的一第一磁碟陣列及一第二磁碟陣列,第一磁碟陣列及第二磁碟陣列分別包含複數磁碟,每一磁碟包含複數資料頁面。此些磁碟經條帶化處理而形成橫跨此些磁碟的複數資料條帶。每一資料條帶包含每一磁碟中的一個資料頁面。資料條帶經由日誌方式寫入有資料。資料還原方法是對於第一磁碟陣列中的複數損壞磁碟還原資料,包含:識別對應損壞磁碟的資料頁面是否為有效資料;讀取在第二磁碟陣列中對應損壞磁碟的磁碟;及還原有效的資料頁面,不還原無效的資料頁面及為空資料的資料頁面。
綜上所述,根據本案實施例提出的磁碟陣列系統及其資料還原方法,可縮短資料復原時間。
請參照圖1,係本案第一實施例之磁碟陣列系統100之架構示意圖。磁碟陣列系統100包含複數磁碟110及連接此些磁碟110的處理器120,此外還包含存取介面、記憶體等,在此不多贅述。磁碟110可以是傳統硬碟(HDD)或固態硬碟(SSD)。處理器120係為可執行電腦指令與進行運算的處理單元。
參照表1,以八個磁碟110(D1~D8)所組成的磁碟陣列來說明。在此,磁碟陣列是以RAID level 4為例,但本發明不以此為限,磁碟110亦可應用RAID level 5甚至是RAID level 6以上。在此,磁碟D8為同位元磁碟。磁碟D1~D8經條帶化處理而形成橫跨磁碟D1~D8的複數資料條帶。在此,以六個資料條帶為例說明,其中資料條帶S1、S2具有資料,資料條帶S3~S6為空白。每一磁碟110包含複數資料頁面,一個資料頁面在表1中表示為一個欄位。此些資料條帶S1、S2經由日誌方式寫入資料(d1~d14)。在寫入過程中,若對應的每一個資料條帶S1、S2包含每一磁碟110中的一個資料頁面。非同位元磁碟的磁碟110(即磁碟D1~D7)中的每一個資料頁面對應一個有效值(有效值為有效以v表示,無效以i表示)。資料條帶S1包含:磁碟D1的一個資料頁面(儲存資料d1,有效值為有效)、磁碟D2的一個資料頁面(儲存資料d2,有效值為有效)、磁碟D3的一個資料頁面(儲存資料d3,有效值為無效)、磁碟D4的一個資料頁面(儲存資料d4,有效值為無效)、磁碟D5的一個資料頁面(儲存資料d5,有效值為無效)、磁碟D6的一個資料頁面(儲存資料d6,有效值為無效)、磁碟D7的一個資料頁面(儲存資料d7,有效值為無效)、及磁碟D8的一個資料頁面(儲存同位元p1)。資料條帶S2包含:磁碟D1的一個資料頁面(儲存資料d8,有效值為有效)、磁碟D2的一個資料頁面(儲存資料d9,有效值為無效)、磁碟D3的一個資料頁面(儲存資料d10,有效值為無效)、磁碟D4的一個資料頁面(儲存資料d11,有效值為無效)、磁碟D5的一個資料頁面(儲存資料d12,有效值為無效)、磁碟D6的一個資料頁面(儲存資料d13,有效值為無效)、磁碟D7的一個資料頁面(儲存資料d14,有效值為無效)、及磁碟D8的一個資料頁面(儲存同位元p2)。須說明的是,有效值不是儲存在磁碟110中,而是儲存在其他儲存媒體,如連接處理器120的記憶體。於一實施例中,是以映射表的形式儲存,映射表記錄對應每一資料頁面的有效值為有效或無效。若映射表中未有對應某一或某些資料頁面的有效值,表示該資料頁面或該些資料頁面尚未被寫入資料,即為空白頁面。在此,僅是為了方便閱讀,而在表1及後續的表中一併標註有效值,並非表示有效值是儲存在資料頁面中。
[表1]
| D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | |
| S1 | d1/v | d2/v | d3/i | d4/i | d5/i | d6/i | d7/i | p1 |
| S2 | d8/v | d9/i | d10/i | d11/i | d12/i | d13/i | d14/i | p2 |
| S3 | ||||||||
| S4 | ||||||||
| S5 | ||||||||
| S6 |
圖4為本案第一實施例之應用於磁碟陣列系統100的資料還原方法的流程圖。首先,在步驟S401中,識別還原出的損壞磁碟D2的資料頁面是否為空資料,具體係從上述映射表中查找是否有未記錄有效值的資料頁面。參照表2,以磁碟D2損壞為例,在將損壞磁碟D2移除,而替換上一替換磁碟D2’之後,處理器120可透過同位元p1以同位元校正計算而還原出原本D2’的資料頁面中儲存的資料d2(步驟S402)。在步驟S403中,是還原已寫入的資料頁面,包含有效及無效的資料頁面;不還原為空資料的資料頁面。因此,磁碟D2在資料條帶S2上的資料d9也會被還原。在一實施例中,步驟S402是僅對包含有需要還原的資料頁面的資料條帶進行同位元校正計算;在另一實施例中,也可以對全部資料條帶進行同位元校正計算。
[表2]
| D1 | D2’ | D3 | D4 | D5 | D6 | D7 | D8 | |
| S1 | d1/v | d2/v | d3/i | d4/i | d5/i | d6/i | d7/i | p1 |
| S2 | d8v | d9/i | d10/i | d11/i | d12/i | d13/i | d14/i | p2 |
| S3 | ||||||||
| S4 | ||||||||
| S5 | ||||||||
| S6 |
在此例中,所花費的資料復原時間為資料讀取時間與資料寫入時間的總和(若不考慮更換磁碟時間與同位元計算時間)。資料讀取時間為(W*D/D)T
R。W為損壞磁碟D2上已寫入的資料頁面數量,D為非同位元磁碟的磁碟110數量,T
R為磁碟讀取一個資料頁面所需時間。因為此些磁碟110可以同時被讀取,故除以D。在此,資料讀取時間為2T
R。資料寫入時間為W*T
W,T
W為磁碟寫入一個資料頁面所需時間。在此,資料寫入時間為2T
W。假設T
R與T
W相同(以T表示),則所花費的資料復原時間為4T。相較於傳統復原方式是將損壞磁碟D2的所有資料頁面(以六個資料頁面為例)均復原,其花費時間是6T
R+6T
W(即12T),節省了66.67%的時間。
參照表6,在一些實施例中,磁碟陣列系統100還包含至少一熱備援(Hot Spare)碟,於此以二個熱備援碟DS1、DS2為例。
[表6]
| D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | DS1 | DS2 | |
| S1 | d1/v | d2/v | d3/i | d4/i | d5/i | d6/i | d7/i | p1 | ||
| S2 | d8/v | d9/i | d10/i | d11/i | d12/i | d13/i | d14/i | p2 | ||
| S3 | ||||||||||
| S4 | ||||||||||
| S5 | ||||||||||
| S6 |
請參照表7,以磁碟D2損壞為例,在此無需替換損壞磁碟D2。在本實施例中,待還原的資料d2、d9是還原至熱備援碟DS1、DS2中。在此,是將待還原的資料頁面平均寫入熱備援碟DS1、DS2。因此,在資料條帶S1上,熱備援碟DS1儲存資料d2,熱備援碟DS2儲存資料d9。在此例中,所花費的資料復原時間為資料讀取時間與資料寫入時間的總和(若不考慮同位元計算時間)。資料讀取時間為(W*D/D)T
R。在此,資料讀取時間為2T
R。資料寫入時間為(W/Ds)T
W,Ds為熱備援碟數量。在此,資料寫入時間為一個T
W。假設T
R與T
W相同(以T表示),則所花費的資料復原時間為3T。相較於第一實施例,又再節省25%的時間。在一些實施例中,同一損壞磁碟中的待還原的資料d2、d9也可以是寫入其中一個熱備援碟。
[表7]
| D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | DS1 | DS2 | |
| S1 | d1/v | d3/i | d4/i | d5/i | d6/i | d7/i | p1’ | d2/v | d9/i | |
| S2 | d8/v | d10/i | d11/i | d12/i | d13/i | d14/i | p2 | |||
| S3 | ||||||||||
| S4 | ||||||||||
| S5 | ||||||||||
| S6 |
參照圖2,係本案第二實施例之磁碟陣列系統200之架構示意圖。磁碟陣列系統200包含複數磁碟210及連接此些磁碟210的處理器220,此外還包含存取介面、記憶體等,再此不多贅述。磁碟210可以是傳統硬碟(HDD)或固態硬碟(SSD)。處理器220係為可執行電腦指令與進行運算的處理單元。在此,磁碟210分為兩部分,一部分的磁碟210組成第一磁碟陣列A,另一部分的磁碟210組成第二磁碟陣列B。
參照表3,分別以八個磁碟210(D1~D8;D9~D16)組成一個磁碟陣列來說明。在此,磁碟陣列之條帶化與日誌式寫入請參照前述第一實施例之說明,於此不重複贅述。第一磁碟陣列A的資料條帶S1、S2儲存有資料;第二磁碟陣列B的資料條帶S7儲存有資料。
[表3]
| 第一磁碟陣列A | ||||||||
| D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | |
| S1 | d1/v | d2/v | d3/i | d4/i | d5/i | d6/i | d7/i | p1 |
| S2 | d8/v | d9/i | d10/i | d11/i | d12/i | d13/i | d14/i | p2 |
| S3 | ||||||||
| S4 | ||||||||
| S5 | ||||||||
| S6 | ||||||||
| 第二磁碟陣列B | ||||||||
| D9 | D10 | D11 | D12 | D13 | D14 | D15 | D16 | |
| S7 | d15/i | d16/i | d17/v | d18/i | d19/v | D20/i | D21/v | p7 |
| S8 | ||||||||
| S9 | ||||||||
| S10 | ||||||||
| S11 | ||||||||
| S12 |
圖5為本案第二實施例之應用於磁碟陣列系統200的資料還原方法的流程圖。如前述實施例,有關資料頁面對應的有效值是儲存在有別於磁碟210的其他區域(如以映射表形式儲存於連接處理器220的記憶體)。於步驟S501中,查看映射表中對應於損壞磁碟D2中的資料頁面的有效值,可識別損壞磁碟D2的哪些資料頁面為有效資料。請參照表4,以磁碟D2損壞為例,在將損壞磁碟D2移除,而替換上一替換磁碟D2’之後。在步驟S502中,透過同位元p1、p2以同位元校正計算還原損壞磁碟D2的資料頁面。在步驟S503中,是還原有效的資料頁面,不還原為無效或為空資料的資料頁面。在此,損壞磁碟D2中的有效資料頁面為資料d2。在一實施例中,步驟S502是僅對包含有需要還原的有效資料頁面的資料條帶進行同位元校正計算;在另一實施例中,也可以對全部資料條帶進行同位元校正計算。
在第二實施例中,還原的資料d2不儲存至替換磁碟D2’,而是還原有效的資料頁面至第二磁碟陣列B中。例如,將資料d2寫至磁碟D9在資料條帶S8上的資料頁面。於此,第一磁碟陣列A中的其餘為有效的資料頁面也被複製至第二磁碟陣列B中。在此,此些有效的資料頁面仍是按照日誌式的寫入方式依順序寫入,其中損壞磁碟D2中的有效資料頁面優先寫入,再寫入其餘磁碟210的有效資料頁面。此些資料頁面的資料被寫入之後,處理器220同樣會計算對應的同位元p8。並且,在將第一磁碟陣列A中所有的有效資料頁面都寫入至第二磁碟陣列B之後,處理器220會將第一磁碟陣列A抹除(即清除第一磁碟陣列A的所有資料頁面)。
[表4]
| 第一磁碟陣列A | ||||||||
| D1 | D2’ | D3 | D4 | D5 | D6 | D7 | D8 | |
| S1 | ||||||||
| S2 | ||||||||
| S3 | ||||||||
| S4 | ||||||||
| S5 | ||||||||
| S6 | ||||||||
| 第二磁碟陣列B | ||||||||
| D9 | D10 | D11 | D12 | D13 | D14 | D15 | D16 | |
| S7 | d15/i | d16/i | d17/v | d18/i | d19/v | D20/i | D21/v | p7 |
| S8 | d2/v | d1/v | d8/v | p8 | ||||
| S9 | ||||||||
| S10 | ||||||||
| S11 | ||||||||
| S12 |
在此例中,所花費的資料復原時間為資料讀取時間與資料寫入時間的總和(若不考慮更換磁碟時間、抹除頁面的時間與同位元計算時間)。資料讀取時間為(N*D/D)T
R+(M/D)T
R,N為損壞磁碟D2上有效的資料頁面數量,D為非同位元磁碟的磁碟210數量,M為第一磁碟陣列A的其餘有效的資料頁面數量。在此,資料讀取時間為(1+2/7)T
R。資料寫入時間為((N+M)/D)T
W,因為此些磁碟110可以同時被讀取與寫入,故除以D。在此,資料寫入時間為(3/7)T
W。假設T
R與T
W相同(以T表示),則所花費的資料復原時間為1.71T,相較於第一實施例花費4T的時間,更加節省時間。在此,是因為有效的資料頁面數量較少的關係,使得第二實施例花費的時間較第一實施例少。
在一些實施例中,若有較多的待還原資料頁面數量,則採取花費時間較少的第一實施例作法(即將待還原資料頁面還原至替換磁碟)。換言之,在執行還原動作之前,可評估利用哪一個實施例的作法花費的時間較少,而採用其還原作法。具體來說,按照第一實施例的作法,是將待還原的資料頁面的資料寫回替換磁碟中,資料讀取時間為(N*D/D)T
R,資料寫入時間為N*T
W,假設T
R與T
W相同(以T表示),按照第一實施例作法所花費的資料復原時間為2NT,按照前述第二實施例作法所花費的資料復原時間為(N+(N+2M)/D)T。也就是說,當(N+2M)/D>N則採用第一實施例作法,反之則採用第二實施例作法。
參照圖3,係本案第三實施例之磁碟陣列系統300之架構示意圖。磁碟陣列系統300是高可用度(High Availability,HA)叢集。也就是說,磁碟陣列系統300包含互為鏡像的第一磁碟陣列310及第二磁碟陣列320。第一磁碟陣列310包含第一資料池312及連接第一資料池312的處理器311。第一資料池312包含如前述的第一磁碟陣列A及第二磁碟陣列B,因此,儲存的資料同表3所列。第二磁碟陣列320包含第二資料池322及連接第二資料池322的處理器321。第二資料池322包含儲存與第一磁碟陣列A相同資料的第一磁碟陣列A’,及儲存與第二磁碟陣列B相同資料的第二磁碟陣列B’,故不另行列出。在一些實施例中,第一資料池312與第二資料池322也可以是分別僅包含一磁碟陣列。在一些實施例中,第一資料池312與第二資料池322也可以是分別包含超過二個磁碟陣列。
圖6為本案第三實施例之應用於磁碟陣列系統300的資料還原方法的流程圖。請參照表5,以磁碟D1、D2損壞為例,損壞磁碟D1、D2將被移除,而替換上一替換磁碟D1’、D2’。如同前述實施例,有關資料頁面對應的有效值是儲存在有別於磁碟的其他區域(如第一資料池312的有效值是儲存在連接處理器311的記憶體上的映射表;第二資料池322的有效值是儲存在連接處理器321的記憶體上的映射表)。於步驟S601中,識別損壞磁碟D1、D2中的資料頁面是否為有效資料,具體可查看映射表中記錄相應資料頁面的有效值,以識別損壞磁碟D1、D2的哪些資料頁面的有效值為有效。有別於第二實施例透過同位元計算的方式還原資料,在步驟S602中,是讀取第二磁碟陣列320中對應損壞磁碟D1、D2的磁碟,以取得損壞磁碟D1、D2中的資料頁面。在步驟S603中,是還原(即寫入)有效的資料頁面至對應第一磁碟陣列310中。在此,如前述第二實施例,同樣不還原為無效的資料頁面及為空資料的資料頁面。如前述實施例,在還原資料之後,同樣計算對應的同位元p1’。並且,在還原資料頁面之前,會先將第一磁碟陣列A抹除(即清除第一磁碟陣列A的所有資料頁面)。
[表5]
| 第一磁碟陣列A | ||||||||
| D1’ | D2’ | D3 | D4 | D5 | D6 | D7 | D8 | |
| S1 | d1/v | d2/v | d8/v | p1’ | ||||
| S2 | ||||||||
| S3 | ||||||||
| S4 | ||||||||
| S5 | ||||||||
| S6 | ||||||||
| 第二磁碟陣列B | ||||||||
| D9 | D10 | D11 | D12 | D13 | D14 | D15 | D16 | |
| S7 | d15/i | d16/i | d17/v | d18/i | d19/v | D20/i | D21/v | p7 |
| S8 | ||||||||
| S9 | ||||||||
| S10 | ||||||||
| S11 | ||||||||
| S12 |
在此例中,所花費的資料復原時間為資料讀取時間與資料寫入時間的總和(若不考慮更換磁碟時間與抹除頁面的時間)。資料讀取時間為(N/B)T
R+(M/(D-B))T
R,N為損壞磁碟D1、D2上有效的資料頁面數量,M為第一磁碟陣列A的其餘磁碟上的有效資料頁面數量,B為損壞磁碟數量,D為非同位元磁碟的數量。在此,資料讀取時間為(2/2)T
R+(1/5)T
R,即1.2T
R。資料寫入時間為(N/B)T
W+(M/(D-B))T
W。在此,資料讀取時間為1.2T
W。假設T
R與T
W相同(以T表示),則所花費的資料復原時間為2.4T。在第三實施例中,不需花費同位元計算還原的時間,且可在多個損壞磁碟的狀態下運行。
綜上所述,根據本案實施例提出的磁碟陣列系統及其資料還原方法,可縮短資料復原時間。
100、200、300:磁碟陣列系統
110、210:磁碟
120、220、311、321:處理器
310:第一磁碟陣列
320:第二磁碟陣列
312:第一資料池
322:第二資料池
A、A’:第一磁碟陣列
B、B’:第二磁碟陣列
S401:步驟
S402:步驟
S403:步驟
S501:步驟
S502:步驟
S503:步驟
S601:步驟
S602:步驟
S603:步驟
[圖1]是本案第一實施例之磁碟陣列系統之架構示意圖。
[圖2]是本案第二實施例之磁碟陣列系統之架構示意圖。
[圖3]是本案第三實施例之磁碟陣列系統之架構示意圖。
[圖4]是本案第一實施例之磁碟陣列系統的資料還原方法的流程圖。
[圖5]是本案第二實施例之磁碟陣列系統的資料還原方法的流程圖。
[圖6]是本案第三實施例之磁碟陣列系統的資料還原方法的流程圖。
S401:步驟
S402:步驟
S403:步驟
Claims (6)
- 一種磁碟陣列系統的資料還原方法,該磁碟陣列系統包含一第一磁碟陣列及一第二磁碟陣列,該第一磁碟陣列及該第二磁碟陣列分別包含複數磁碟,每一該磁碟包含複數資料頁面,該些磁碟經條帶化處理而形成橫跨該些磁碟的複數資料條帶,每一該資料條帶包含每一該些磁碟中的一個該資料頁面,該些資料條帶經由日誌方式寫入有資料,該資料還原方法是對於該第一磁碟陣列中的一損壞磁碟還原資料,包含:識別該損壞磁碟的該些資料頁面是否為有效資料;依據同位元校正計算還原該損壞磁碟的該些資料頁面;及還原有效的該資料頁面,不還原無效的該資料頁面及為空資料的該資料頁面;其中,若(N+2M)/D>N,則該還原有效的該資料頁面是還原至該第一磁碟陣列的一替換磁碟中,反之,則還原至該第二磁碟陣列中並將該第一磁碟陣列中的其餘為有效的該資料頁面複製至該第二磁碟陣列中,其中N為該損壞磁碟上有效的該資料頁面的數量,M為該第一磁碟陣列的其餘有效的該資料頁面的數量,D為該第一磁碟陣列及該第二磁碟陣列中分別包含的非同位元磁碟的數量。
- 如請求項1所述之磁碟陣列系統的資料還原方法,其中該識別該損壞磁碟的該些資料頁面是否為有效資料之步驟是依據分別對應於該損壞磁碟的該些資料頁面的一有效值來識別。
- 如請求項2所述之磁碟陣列系統的資料還原方法,其中該有效值是儲存於該些磁碟以外的一儲存媒體。
- 如請求項1所述之磁碟陣列系統的資料還原方法,其中該還原至該第二磁碟陣列中並將該第一磁碟陣列中的其餘為有效的該資料頁面複製至該第二磁碟陣列中之步驟是依照日誌式寫入方式依序寫入。
- 如請求項1所述之磁碟陣列系統的資料還原方法,其中該還原至該第二磁碟陣列中並將該第一磁碟陣列中的其餘為有效的該資料頁面複製至該第二磁碟陣列中之步驟是先寫入該損壞磁碟的有效的該資料頁面,後寫入該第一磁碟陣列中的其餘為有效的該資料頁面。
- 如請求項1所述之磁碟陣列系統的資料還原方法,更包含:當該第一磁碟陣列中的所有有效的該資料頁面均寫入至該第二磁碟陣列之後,抹除該第一磁碟陣列。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108113680A TWI704567B (zh) | 2019-04-18 | 2019-04-18 | 磁碟陣列系統的資料還原方法 |
| US16/852,195 US11126515B2 (en) | 2019-04-18 | 2020-04-17 | Data recovery method for RAID system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108113680A TWI704567B (zh) | 2019-04-18 | 2019-04-18 | 磁碟陣列系統的資料還原方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI704567B true TWI704567B (zh) | 2020-09-11 |
| TW202040584A TW202040584A (zh) | 2020-11-01 |
Family
ID=72829417
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108113680A TWI704567B (zh) | 2019-04-18 | 2019-04-18 | 磁碟陣列系統的資料還原方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11126515B2 (zh) |
| TW (1) | TWI704567B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100565467C (zh) * | 2006-05-11 | 2009-12-02 | 梁国恩 | 用于储存装置的同步备份装置与方法 |
| US20130124791A1 (en) * | 2006-12-06 | 2013-05-16 | Fusion-io, Inc | Apparatus, system, and method for storage space recovery in solid-state storage |
| US20130173955A1 (en) * | 2012-01-04 | 2013-07-04 | Xtremlo Ltd | Data protection in a random access disk array |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7146524B2 (en) * | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
| US7711897B1 (en) * | 2005-06-10 | 2010-05-04 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for improving disk array performance |
| US8751862B2 (en) * | 2007-08-10 | 2014-06-10 | Dell Products L.P. | System and method to support background initialization for controller that supports fast rebuild using in block data |
| US20150286531A1 (en) * | 2012-12-20 | 2015-10-08 | Hewlett-Packard Development Company, L.P. | Raid storage processing |
| US10496482B1 (en) * | 2016-09-30 | 2019-12-03 | EMC IP Holding Company LLC | Selective raid repair based on content mapping |
| CN108733314B (zh) * | 2017-04-17 | 2021-06-29 | 伊姆西Ip控股有限责任公司 | 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质 |
| US10649867B2 (en) * | 2017-12-15 | 2020-05-12 | Western Digital Technologies, Inc. | RAID array rebuild assist from external array copy |
-
2019
- 2019-04-18 TW TW108113680A patent/TWI704567B/zh active
-
2020
- 2020-04-17 US US16/852,195 patent/US11126515B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100565467C (zh) * | 2006-05-11 | 2009-12-02 | 梁国恩 | 用于储存装置的同步备份装置与方法 |
| US20130124791A1 (en) * | 2006-12-06 | 2013-05-16 | Fusion-io, Inc | Apparatus, system, and method for storage space recovery in solid-state storage |
| US20130173955A1 (en) * | 2012-01-04 | 2013-07-04 | Xtremlo Ltd | Data protection in a random access disk array |
Also Published As
| Publication number | Publication date |
|---|---|
| US11126515B2 (en) | 2021-09-21 |
| US20200334116A1 (en) | 2020-10-22 |
| TW202040584A (zh) | 2020-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5948110A (en) | Method for providing parity in a raid sub-system using non-volatile memory | |
| US7386758B2 (en) | Method and apparatus for reconstructing data in object-based storage arrays | |
| US5875457A (en) | Fault-tolerant preservation of data integrity during dynamic raid set expansion | |
| CN102662790B (zh) | 维持固态存储系统中的数据冗余的系统和方法 | |
| CN103984587B (zh) | 储存虚拟化系统中更新实体储存装置的控制程序的方法 | |
| JPWO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
| US20090204846A1 (en) | Automated Full Stripe Operations in a Redundant Array of Disk Drives | |
| US20100306466A1 (en) | Method for improving disk availability and disk array controller | |
| CN118779146A (zh) | 数据存储方法、设备、介质及产品 | |
| CN100483323C (zh) | 用于写入数据的方法、装置和系统 | |
| US8402213B2 (en) | Data redundancy using two distributed mirror sets | |
| JP2010267037A (ja) | ディスクアレイ装置 | |
| TWI704567B (zh) | 磁碟陣列系統的資料還原方法 | |
| CN104572374A (zh) | 存储的处理方法、装置和存储设备 | |
| CN102385544B (zh) | 一种磁盘重建方法和装置 | |
| JPH0916343A (ja) | ディスクドライブシステム | |
| US8140752B2 (en) | Method of executing a background task and an array controller | |
| US8667218B2 (en) | Storage apparatus comprising RAID groups of RAID 1 series and control method of writing to RAID group of RAID 1 series | |
| CN111831470B (zh) | 磁盘阵列系统的数据还原方法 | |
| US11544005B2 (en) | Storage system and processing method | |
| CN107066351A (zh) | 一种磁盘阵列数据备份方法及装置 | |
| JP2570614B2 (ja) | デイスクアレイ装置 | |
| JP2002175157A (ja) | ディスクアレイ装置 | |
| JP6175771B2 (ja) | ディスクアレイ装置、バッドセクタ修復方法および修復プログラム | |
| JP7056874B2 (ja) | 制御装置、ディスクアレイ装置、制御方法、及びプログラム |