TWI704451B - 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統 - Google Patents

用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統 Download PDF

Info

Publication number
TWI704451B
TWI704451B TW108100004A TW108100004A TWI704451B TW I704451 B TWI704451 B TW I704451B TW 108100004 A TW108100004 A TW 108100004A TW 108100004 A TW108100004 A TW 108100004A TW I704451 B TWI704451 B TW I704451B
Authority
TW
Taiwan
Prior art keywords
data
group
protected
storage devices
protection
Prior art date
Application number
TW108100004A
Other languages
English (en)
Other versions
TW202026874A (zh
Inventor
張安男
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW108100004A priority Critical patent/TWI704451B/zh
Priority to CN201910112651.2A priority patent/CN111400084B/zh
Priority to US16/513,675 priority patent/US10860423B2/en
Publication of TW202026874A publication Critical patent/TW202026874A/zh
Application granted granted Critical
Publication of TWI704451B publication Critical patent/TWI704451B/zh
Priority to US17/084,650 priority patent/US11301326B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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/0653Monitoring storage devices or systems

Abstract

本發明提供一種用來進行關於容錯式磁碟陣列(或稱為RAID)的動態復原管理之方法與裝置。該方法包含:將一第一組保護資料寫入RAID的多個保護存取單元中之一第一保護存取單元,且記錄對應於該第一組保護資料之一第一組管理資訊,以供該第一組保護資料的資料復原之使用;以及當RAID的多個儲存裝置中的任何一個儲存裝置故障,將一第二組保護資料寫入該多個保護存取單元中之一第二保護存取單元,且記錄對應於該第二組保護資料之一第二組管理資訊,以供該第二組保護資料的資料復原之使用。該第一組與該第二組保護資料中之任一組包含資料與多個校驗碼。

Description

用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置 以及依據該方法來運作之儲存系統
本發明係有關於儲存系統,尤指一種用來進行關於一容錯式磁碟陣列(Redundant Array of Independent Disks,可簡稱RAID)的動態復原管理之方法與裝置。
依據相關技術,一容錯式磁碟陣列(Redundant Array of Independent Disks,可簡稱RAID)可實施於一伺服器中。尤其是,透過各種類型的RAID方案,資料可獲對應等級的保護。例如,為了資料備份之目的,該伺服器可被設計成具備寫入複製(Copy-on-Write,COW)架構。由於COW架構的特性,該伺服器的效能可能隨著時間流逝而降低。又例如,該伺服器可被設計成具備寫入重定向(Redirect-on-Write,ROW)架構,以避免效能隨著時間流逝而降低的問題。然而,某些其它問題可能發生。當RAID中的任何一個磁碟機故障(malfunction)時,最好不要有第二個磁碟機故障,這是因為該伺服器的資料無法復原的機率將會大幅地增加。因此,需要一種新穎的方法及相關架構,以保證儲存系統能分別在各種情況下正確操作。
本發明的一目的是提供一種用來進行關於一容錯式磁碟陣列(Redundant Array of Independent Disks,可簡稱RAID)的動態復原管理之方法與裝置,以解決上述問題。
本發明的另一個目的是提供一種用來進行關於一RAID的動態復原管理之方法與裝置,以確保儲存系統能分別在各種情況下正確操作。
本發明的又一個目的是提供一種用來進行關於一RAID的動態復原管理之方法與裝置,以在沒有任何副作用或不太可能引入副作用的狀況下解決相關技術問題。
本發明的至少一實施例提供一種用來進行關於一RAID的動態復原管理之方法。該方法可包含:將一第一組保護資料寫入該RAID的多個保護存取單元(protected access unit)中之一第一保護存取單元,且記錄對應於該第一組保護資料之一第一組管理資訊,以供該第一組保護資料的資料復原之使用,其中該RAID包含多個儲存裝置,該第一組保護資料包含資料與多個校驗碼(parity-check code),該第一組管理資訊中的RAID資訊指出該第一組保護資料儲存於該多個儲存裝置中的一第一組儲存裝置,且該第一組管理資訊中的有效性資訊(validity information)指出該第一組保護資料之各自的有效性;以及當該多個儲存裝置中的任何一個儲存裝置故障(malfunction)時,將一第二組保護資料寫入該多個保護存取單元中之一第二保護存取單元,且記錄對應於該第二組保護資料之一第二組管理資訊,以供該第二組保護資料的資料復原之使用,其中該第二組保護資料包含資料與多個校驗碼,該第二組管理資訊中的RAID資訊指出該第二組保護資料儲存於該多個儲存裝置中的一第二組儲存裝置,且該第二組管理資訊中的有效性資訊指出該第二組保護資料之各自的有效性。尤其,該第二組儲存裝置異於該第一組儲存裝置。
依據某些實施例,本發明另提供一種依據上述方法來運作之儲存系統,其中該儲存系統包含該RAID。
本發明的至少一實施例提供一種用來進行關於一RAID的動態復原管理之裝置。該裝置可包含一處理電路,其中該處理電路位於一儲存系統中,且用來控制該儲存系統之運作。例如,該儲存系統之該些運作可包含:將一第一組保護資料寫入該RAID的多個保護存取單元中之一第一保護存取單元,且記錄對應於該第一組保護資料之一第一組管理資訊,以供該第一組保護資料的資料復原之使用,其中該RAID包含多個儲存裝置,該第一組保護資料包含資料與多個校驗碼,該第一組管理資訊中的RAID資訊指出該第一組保護資料儲存於該多個儲存裝置中的一第一組儲存裝置,且該第一組管理資訊中的有效性資訊指出該第一組保護資料之各自的有效性;以及當該多個儲存裝置中的任何一個儲存裝置故障時,將一第二組保護資料寫入該多個保護存取單元中之一第二保護存取單元,且記錄對應於該第二組保護資料之一第二組管理資訊,以供該第二組保護資料的資料復原之使用,其中該第二組保護資料包含資料與多個校驗碼,該第二組管理資訊中的RAID資訊指出該第二組保護資料儲存於該多個儲存裝置中的一第二組儲存裝置,且該第二組管理資訊中的有效性資訊指出該第二組保護資料之各自的有效性。尤其,該第二組儲存裝置異於該第一組儲存裝置。
本發明的方法和裝置能保證該儲存系統可分別在各種情況下正常運作。例如,當RAID中的任何一個磁碟機故障(malfunction)時,系統管理員不需要擔心第二個磁碟機故障使該伺服器的資料無法復原的機率大幅地增加。另外,本發明的方法和裝置提供了一種強大的動態復原管理機制。因此,可以實現各種目標,如效能優化、高安全性、預算控制等。此外,本發明的方法和裝置可以在不引入任何副作用或以不太可能引入副作用的方式解決相關技術問題。
10:使用者裝置
11,111:處理電路
12,112,122:介面電路
100:儲存系統
110:匯流排
111P:程式碼
121:隨機存取記憶體
121T:管理表
130,131,132,...,144,145,146:儲存裝置
200:工作流程
210,220,230:步驟
310,320:保護區塊
410:L2p表
510,520,530,540:群
RAID:容錯式磁碟陣列
DR:資料區
TR:表區
D:資料
P,Q:校驗碼
第1圖係根據本發明一實施例之一儲存系統和一使用者裝置的示意圖。
第2圖係根據本發明一實施例之用來進行關於一RAID(諸如第1圖所示者)的動態復原管理之方法的工作流程。
第3圖繪示該方法於一實施例中所涉及的複數個保護存取單元,其中該複數個保護存取單元的例子可包含保護區塊。
第4圖繪示該方法於一實施例中所涉及的寫入重定向(Redirect-on-Write,可簡稱ROW)方案。
第5圖繪示該方法於一實施例中所涉及的控制方案。
第6圖繪示該方法於另一實施例中所涉及的控制方案。
第7圖繪示該方法於另一實施例中所涉及的控制方案。
第8圖繪示該方法於另一實施例中所涉及的控制方案。
第9圖繪示該方法於另一實施例中所涉及的控制方案。
第10圖繪示該方法於另一實施例中所涉及的控制方案。
第1圖係根據本發明一實施例之一儲存系統100和一使用者裝置10的示意圖。使用者裝置10可包含處理電路11(例如至少一處理器及相關電路),並且可另包含耦接至處理電路11的一介面電路12與儲存裝置。儲存系統100可包含處理電路111(例如至少一處理器及相關電路),並且可另包含透過匯流排110耦接至處理電路111的一介面電路112與122以及隨機存取記憶體(Random Access Memory,可簡稱RAM)121,而儲存裝置{130,131,132,...,146}(諸如硬式磁 碟機、及/或固態硬碟)可透過介面電路122安裝於儲存系統100,尤其,儲存裝置{131,132,...,146}可形成一RAID,其中執行於處理電路111上之程式碼111P可讀取自儲存裝置130(例如系統碟),且可維護(例如建立、儲存、及/或更新)RAM 121中之管理表121T以進行本發明之方法之相關運作,以管理資料區DR。另外,管理表121T可包含多組管理資訊,以供進行動態復原管理,而該多組管理資訊中的每一組管理資訊(例如管理表121T中的一列(row)資訊)可包含RAID資訊諸如RAID位元映射資訊,且可包含有效性資訊(validity information)諸如有效性位元映射資訊。當需要時,管理表121T可備份於表區TR,但本發明不限於此。此外,介面電路12與112可實施成有線網路介面、及/或無線網路介面,以容許儲存系統100和使用者裝置10交換資訊。使用者可透過使用者裝置10存取(讀取或寫入)使用者資料於儲存系統100。使用者裝置10的例子可包含(但不限於):一多功能行動電話、一平板電腦、一穿戴式裝置以及個人電腦(諸如桌上型電腦和筆記型電腦)。儲存系統100的例子可包含(但不限於):一伺服器諸如儲存伺服器。依據某些實施例,儲存系統100的架構可予以變化。例如,程式碼111P可透過設置於介面電路122中之專用的硬體來實施,以進行本發明之方法之相關運作。依據某些實施例,RAID中的儲存裝置{131,132,...,146}的數量可予以變化,例如可增加或減少。
第2圖係根據本發明一實施例之一種用來進行關於一RAID(諸如第1圖所示之RAID)的動態復原管理之方法的工作流程200,其中該RAID可包含多個儲存裝置諸如儲存裝置{131,132,...,146}。該方法可應用於第1圖所示之儲存系統100、執行程式碼111P之處理電路111、及相關元件。舉例來說,儲存系統100(例如處理電路111)可依據該RAID的健康狀態來維護(例如建立、儲存、及/或更新)管理表121T中之該多組管理資訊之各自的有效性資訊,以產生該多組管理資訊之最新版本。該RAID的健康狀態的例子可包含(但不限於):該RAID 中的一或多個儲存裝置的正常狀態、故障狀態、已復原狀態等。
在步驟210中,儲存系統100(例如處理電路111)將一第一組保護資料寫入該RAID的多個保護存取單元(protected access unit)中之一第一保護存取單元,且記錄對應於該第一組保護資料之一第一組管理資訊,諸如管理表121T中的某一列資訊,以供該第一組保護資料的資料復原之使用,其中該第一組保護資料包含資料與多個校驗碼,該第一組管理資訊中的RAID資訊指出該第一組保護資料儲存於該多個儲存裝置中的一第一組儲存裝置,且該第一組管理資訊中的有效性資訊指出該第一組保護資料之各自的有效性。
依據本實施例,該第一組管理資訊中的該RAID資訊可包含第一RAID位元映射資訊(RAID bitmap information),而該第一RAID位元映射資訊可包含一第一組第一位元,其中該第一組第一位元指出該第一組保護資料分別儲存於該第一組儲存裝置。為了便於理解,假設該多個儲存裝置包含儲存裝置{131,132,...,146}之全部,且這些儲存裝置目前都正常運作。此狀況下,該第一組儲存裝置可包含該多個儲存裝置之全部,但本發明不限於此。該第一組第一位元可為1111111111111111(其可記為0xFFFF),以指出該第一組保護資料(諸如其內的上述資料與多個校驗碼)分別儲存於儲存裝置{131,132,...,146}。另外,該第一組管理資訊中的該有效性資訊可包含第一有效性位元映射資訊(validity bitmap information),而該第一有效性位元映射資訊可包含一第一組第二位元,其中該第一組第二位元分別指出該第一組保護資料之各自的有效性。在儲存裝置{131,132,...,146}目前都正常運作的狀況下,該第一組第二位元可為1111111111111111(其可記為0xFFFF),以指出該第一組保護資料都是有效的。
在步驟220中,當該多個儲存裝置中的任何一個儲存裝置故障(malfunction)時,儲存系統100(例如處理電路111)將一第二組保護資料寫入該多個保護存取單元中之一第二保護存取單元,且記錄對應於該第二組保護資 料之一第二組管理資訊,諸如管理表121T中的另一列資訊,以供該第二組保護資料的資料復原之使用,其中該第二組保護資料包含資料與多個校驗碼,該第二組管理資訊中的RAID資訊指出該第二組保護資料儲存於該多個儲存裝置中的一第二組儲存裝置,且該第二組管理資訊中的有效性資訊指出該第二組保護資料之各自的有效性。尤其,該第二組儲存裝置異於該第一組儲存裝置。例如,該第二組儲存裝置不包含上述之該任何一個儲存裝置。
依據本實施例,該第二組管理資訊中的該RAID資訊可包含第二RAID位元映射資訊,而該第二RAID位元映射資訊可包含一第二組第一位元,其中該第二組第一位元指出該第二組保護資料分別儲存於該第二組儲存裝置。為了便於理解,假設該多個儲存裝置包含儲存裝置{131,132,...,146}之全部,且這些儲存裝置之大部分目前都正常運作,其中儲存裝置131故障。此狀況下,該第二組儲存裝置可包含儲存裝置{132,...,146},但本發明不限於此。該第二組第一位元可為0111111111111111(其可記為0x8FFF),以指出該第二組保護資料(諸如其內的上述資料與多個校驗碼)分別儲存於儲存裝置{132,...,146}。另外,該第二組管理資訊中的該有效性資訊可包含第二有效性位元映射資訊,而該第二有效性位元映射資訊可包含一第二組第二位元,其中該第二組第二位元分別指出該第二組保護資料之各自的有效性。在儲存裝置{132,...,146}目前都正常運作、且儲存裝置131故障的狀況下,該第二組第二位元可為0111111111111111(其可記為0x8FFF),以指出該第二組保護資料都是有效的。請注意,由於該第二組第一位元0111111111111111指出該第二組保護資料分別儲存於儲存裝置{132,...,146},故在該第二組第二位元0111111111111111當中,只有後面15個位元111111111111111是有意義的,而第1個位元0可以視為「不予理會」(Don’t care),但本發明不限於此。當需要時,尤其,當該RAID(例如其內的一或多個儲存裝置)的健康狀態改變,儲存系統100(例如處理電路111)可 更新該多組管理資訊之各自的有效性資訊,諸如多組第二位元,以產生該多組管理資訊之最新版本,其中該多組第二位元中之每一組第二位元分別指出一對應組保護資料之各自的有效性。
在步驟230中,依據至少一組管理資訊之最新版本,儲存系統100(例如處理電路111)進行至少一組保護資料的資料復原,其中上述至少一組管理資訊對應於上述至少一組保護資料。例如,上述至少一組管理資訊可包含該第一組管理資訊,而上述至少一組保護資料可包含該第一組保護資料。又例如,上述至少一組管理資訊可包含該第二組管理資訊,而上述至少一組保護資料可包含該第二組保護資料。又例如,上述至少一組管理資訊可包含該第一組管理資訊與該第二組管理資訊,而上述至少一組保護資料可包含該第一組保護資料與該第二組保護資料。
為了更好地理解,該方法可用第2圖所示工作流程200來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於工作流程200中增加、刪除或修改。
例如,當步驟220中所述之該任何一個儲存裝置故障時,儲存系統100(例如處理電路111)可更新該第一組管理資訊中的該有效性資訊,以指出該第一組保護資料當中儲存於上述之該任何一個儲存裝置中的保護資料是無效的,以供該第一組保護資料的資料復原之使用。在步驟230中,依據該第一組管理資訊中的最新的有效性資訊,儲存系統100(例如處理電路111)可讀取該第一組保護資料中的有效保護資料,以依據該些有效保護資料進行該第一組保護資料的資料復原,其中該些有效保護資料包含該第一組保護資料中的該些資料的至少一部分資料(諸如這些資料的一部分或全部),且包含該第一組保護資料中的該多個校驗碼的至少一校驗碼(諸如這些校驗碼中的一或多個)。
又例如,當該多個儲存裝置中的一第二個儲存裝置故障時,儲存系 統100(例如處理電路111)可更新該第一組管理資訊中的該有效性資訊,以指出該第一組保護資料當中儲存於該第二個儲存裝置中的保護資料是無效的,以供該第一組保護資料的資料復原之使用。在步驟230中,依據該第一組管理資訊中的最新的有效性資訊,儲存系統100(例如處理電路111)可讀取該第一組保護資料中的有效保護資料,以依據該些有效保護資料進行該第一組保護資料的資料復原,其中該些有效保護資料包含該第一組保護資料中的該些資料的至少一部分資料(諸如這些資料的一部分或全部),但本發明不限於此。在某些狀況下(例如該些有效保護資料包含這些資料的一部分),該些有效保護資料可包含該第一組保護資料中的該多個校驗碼的至少一校驗碼(諸如這些校驗碼中的一或多個)。
再例如,當該第二個儲存裝置故障時,儲存系統100(例如處理電路111)可更新該第二組管理資訊中的該有效性資訊,以指出該第二組保護資料當中儲存於該第二個儲存裝置中的保護資料是無效的,以供該第二組保護資料的資料復原之使用。在步驟230中,依據該第二組管理資訊中的最新的有效性資訊,儲存系統100(例如處理電路111)可讀取該第二組保護資料中的有效保護資料,以依據該些有效保護資料進行該第二組保護資料的資料復原,其中該些有效保護資料包含該第二組保護資料中的該些資料的至少一部分資料(諸如這些資料的一部分或全部),且包含該第二組保護資料中的該多個校驗碼的至少一校驗碼(諸如這些校驗碼中的一或多個)。
第3圖繪示該方法於一實施例中所涉及的複數個保護存取單元,其中該複數個保護存取單元的例子可包含保護區塊310與320,但本發明不限於此。例如,針對保護區塊310與320之任一者中之任何一個保護區塊,符號「D」可代表該保護區塊中之資料,諸如分別儲存於某些儲存裝置的使用者資料,而符號「P」與「Q」可分別代表該保護區塊中之多個校驗碼。透過校驗碼P與Q,資料 D可獲得保護。例如,校驗碼P與Q可彼此相同或彼此相異,尤其,在它們彼此相異的狀況下,儲存系統100(例如處理電路111)可分別採用不同的編碼規則對資料D進行錯誤更正碼編碼以產生對應之校驗碼P與Q。為了便於理解,該RAID中的該多個儲存裝置可包含儲存裝置{131,132,...,144,145,146},但本發明不限於此。例如,針對保護區塊310與320之任一者中之任何一個保護區塊,儲存裝置{131,132,...,144,145,146}可儲存一組保護資料(例如該第一組保護資料),且儲存裝置{131,132,...,144,145,146}中之每一者可儲存這一組保護資料中的對應的保護資料,諸如資料D、校驗碼P或校驗碼Q。依據某些實施例,該RAID的類型及/或保護等級可予以變化,其中使用者資料可獲對應類型及/或等級的保護。例如,資料D、校驗碼P、及/或校驗碼Q的排列方式可予以變化。又例如,該RAID中用來儲存資料D的儲存裝置的數量、及/或該RAID中用來儲存校驗碼(諸如校驗碼P與Q)的儲存裝置的數量可予以變化。再例如,針對保護區塊310與320之任一者中之任何一個保護區塊,該RAID中用來儲存資料D以及校驗碼P與Q的儲存裝置的總數可予以變化。
第4圖繪示該方法於一實施例中所涉及的寫入重定向(Redirect-on-Write,可簡稱ROW)方案。儲存系統100(例如處理電路111)能以ROW方式分別將多組保護資料寫入該RAID的多個保護區塊,且分別記錄對應於該多組保護資料之該多組管理資訊,以供該多組保護資料的資料復原之使用,其中該多組保護資料中的任何一組保護資料可包含資料(諸如資料D)與多個校驗碼(諸如校驗碼P與Q)。針對步驟210中所述之該多個保護存取單元中之任何一個保護存取單元(例如資料區DR中之某一保護區塊),儲存系統100(例如處理電路111)可記錄或更新資料D之邏輯位址以及這個保護存取單元的保護存取單元位址(protected-access-unit address(p-address),可簡稱p-位址)之間的映射資訊於表區TR中的一邏輯位址對保護存取單元位址表 (logical-address-to-p-address(L2p)table,可簡稱L2p表)410。L2p表410可包含多個L2p子表(sub-table),其中第一列L2p子表可分別將頁0-511(尤其,邏輯位址0-511)映射至其各自的儲存位置(例如:某些保護存取單元諸如保護區塊),第二列L2p子表可分別將頁512-1023(尤其,邏輯位址512-1023)映射至其各自的儲存位置(例如:某些保護存取單元諸如保護區塊),依此類推,但本發明不限於此。依據某些實施例,該些儲存位置可視為ROW位置。
依據某些實施例,該RAID中的儲存裝置的總數可予以變化,且用來儲存資料D以及校驗碼P與Q的儲存裝置的總數可對應地變化。例如,該RAID可包含十個儲存裝置,諸如第1圖所示之儲存裝置{131,132,...,146}中的前十個儲存裝置{131,132,...}。為了便於理解,於第5至10圖所示實施例中,假設該十個儲存裝置{131,132,...}可分別用{SD0,SD1,...,SD9}表示。
第5圖繪示該方法於一實施例中所涉及的控制方案,其中該複數個保護存取單元可包含多群的保護存取單元,諸如首先被寫入的一群510與後續被寫入的一群520,但本發明不限於此。為了簡明起見,一列小框可代表一保護存取單元,而該列小框中的十個小框(由左至右)可分別對應於該十個儲存裝置{131,132,...}諸如儲存裝置{SD0,SD1,...,SD9},尤其,可代表這個保護存取單元的子集合,其分別位於儲存裝置{SD0,SD1,...,SD9}上。標示了符號「D」、「P」與「Q」的任何一列小框可代表曾經被寫入資料D以及校驗碼P與Q的一個保護存取單元。
如第5圖左上角所示,在群510內的任何一個保護存取單元中之保護資料中,資料D以及校驗碼P與Q可分別儲存於儲存裝置{SD0,SD1,...,SD9}。針對群510內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可將對應的RAID位元映射資訊與有效性位元映射資訊分別記錄為一組第一位元1111111111000000與一組第二位元1111111111000000,這表示這些保 護資料分別儲存於儲存裝置{SD0,SD1,...,SD9}、且都是有效的。之後,當某一個儲存裝置諸如儲存裝置SD7故障(標示「碟失敗」(Disk Fail),以便於理解),儲存裝置SD7中的保護資料變成不可取得(標示「F」,以便於理解)、且因此可視為無效的。針對群510內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可將對應的有效性位元映射資訊更新為一組第二位元1111111011000000,這表示這些保護資料大部分是有效的、但儲存裝置SD7中的保護資料可視為無效的。之後,儲存系統100(例如處理電路111)可繼續寫入,尤其,將使用者資料寫入群520內的保護存取單元。針對群520內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可將對應的RAID位元映射資訊與有效性位元映射資訊分別記錄為一組第一位元1111111011000000與一組第二位元1111111011000000,這表示這些保護資料分別儲存於儲存裝置{SD0,SD1,...,SD9}中之九個正常的儲存裝置{SD0,SD1,...,SD6,SD8,SD9}、且都是有效的(在儲存裝置{SD0,SD1,...,SD6,SD8,SD9}中)。
請注意,群510內的該些保護存取單元中之每一者的保護資料可視為(8+2)保護資料,其中8代表資料D分佈於八個儲存裝置{SD0,SD1,...,SD7}(而儲存裝置SD7故障),且2代表校驗碼P與Q分佈於兩個儲存裝置{SD8,SD9}。另外,群520內的該些保護存取單元中之每一者的保護資料可視為(7+2)保護資料,其中7代表資料D分佈於七個儲存裝置{SD0,SD1,...,SD6},而2代表校驗碼P與Q分佈於兩個儲存裝置{SD8,SD9}。
第6圖繪示該方法於另一實施例中所涉及的控制方案,其中該多群的保護存取單元可包含先前被寫入的兩群510與520、後續被寫入的一群530以及尚未被寫入的一群540,但本發明不限於此。第6圖最左側部分類似第5圖最右側部分。之後,當另一個儲存裝置諸如儲存裝置SD9故障(標示「碟失敗」,以便於理解),儲存裝置SD9中的保護資料變成不可取得(標示「F」,以便於理解)、且 因此可視為無效的。針對群510內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可將對應的有效性位元映射資訊更新為一組第二位元1111111010000000,這表示這些保護資料大部分是有效的、但儲存裝置SD7與SD9所儲存的保護資料可視為無效的。針對群520內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可將對應的有效性位元映射資訊更新為一組第二位元1111111010000000,這表示這些保護資料大部分是有效的、但儲存裝置SD9所儲存的保護資料可視為無效的。之後,儲存系統100(例如處理電路111)可繼續寫入,尤其,將使用者資料寫入群530內的保護存取單元。針對群530內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可將對應的RAID位元映射資訊與有效性位元映射資訊分別記錄為一組第一位元1111111010000000與一組第二位元1111111010000000,這表示這些保護資料分別儲存於儲存裝置{SD0,SD1,...,SD9}中之八個正常的儲存裝置{SD0,SD1,...,SD6,SD8}、且都是有效的(在儲存裝置{SD0,SD1,...,SD6,SD8}中)。
請注意,群530內的該些保護存取單元中之每一者的保護資料可視為(6+2)保護資料,其中6代表資料D分佈於六個儲存裝置{SD0,SD1,...,SD5},而2代表校驗碼P與Q分佈於兩個儲存裝置{SD6,SD8}。如第6圖最右側部分所示,群510所採用的RAID碟{SD0,SD1,...,SD9}的數量RAID_DISK(510)等於10,其中故障碟{SD7,SD9}的數量FAIL_DISK(510)等於2。另外,群520所採用的RAID碟{SD0,SD1,...,SD6,SD8,SD9}的數量RAID_DISK(520)等於9,其中故障碟{SD9}的數量FAIL_DISK(520)等於1。此外,群530所採用的RAID碟{SD0,SD1,...,SD6,SD8}的數量RAID_DISK(530)等於8,其中故障碟的數量FAIL_DISK(530)等於0。
第7圖繪示該方法於另一實施例中所涉及的控制方案。第7圖最左側 部分等同於第6圖最右側部分。之後,當新的儲存裝置被耦接至介面電路122以替換某一個故障的儲存裝置(標示「新碟插入」,以便於理解),例如被安裝於儲存系統100作為最新的儲存裝置SD9,此刻儲存系統100中需復原之保護存取單元可包含群510與520各自的保護存取單元。針對群510內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可依據分別儲存於儲存裝置{SD0,SD1,...,SD6}之資料D以及儲存裝置SD8中之校驗碼P來復原校驗碼Q,尤其,依據分別對應於儲存裝置{SD0,SD1,...,SD6}之資料D以及對應於儲存裝置SD8之校驗碼P進行錯誤更正碼解碼以產生對應於儲存裝置SD7之資料D、且依據分別對應於儲存裝置{SD0,SD1,...,SD7}之資料D進行錯誤更正碼編碼以產生對應於儲存裝置SD9之校驗碼Q,並且可將對應的有效性位元映射資訊更新為一組第二位元1111111011000000,這表示這些保護資料大部分是有效的、但儲存裝置SD7所儲存的保護資料可視為無效的。另外,針對群520內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可依據分別儲存於儲存裝置{SD0,SD1,...,SD6}之資料D來復原校驗碼Q,尤其,依據分別對應於儲存裝置{SD0,SD1,...,SD6}之資料D進行錯誤更正碼編碼以產生對應於儲存裝置SD9之校驗碼Q,並且可將對應的有效性位元映射資訊更新為一組第二位元1111111011000000,這表示這些保護資料都是有效的。於是,群520內的保護資料已完全復原。
第8圖繪示該方法於另一實施例中所涉及的控制方案。第8圖最左側部分等同於第7圖最右側部分。之後,當新的儲存裝置被耦接至介面電路122以替換另一個故障的儲存裝置(標示「新碟插入」,以便於理解),例如被安裝於儲存系統100作為最新的儲存裝置SD7,此刻儲存系統100中需復原之保護存取單元可包含群510內的該些保護存取單元。針對群510內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可依據分別儲存於儲存 裝置{SD0,SD1,...,SD6}之資料D以及儲存裝置SD8中之校驗碼P來復原對應於儲存裝置SD7之資料D,尤其,依據分別對應於儲存裝置{SD0,SD1,...,SD6}之資料D以及對應於儲存裝置SD8之校驗碼P進行錯誤更正碼解碼以產生對應於儲存裝置SD7之資料D,並且可將對應的有效性位元映射資訊更新為一組第二位元1111111111000000,這表示這些保護資料都是有效的。於是,群510內的保護資料已完全復原。
第9圖繪示該方法於另一實施例中所涉及的控制方案。第9圖最左側部分等同於第6圖最右側部分。之後,當新的儲存裝置被耦接至介面電路122以替換某一個故障的儲存裝置(標示「新碟插入」,以便於理解),例如被安裝於儲存系統100作為最新的儲存裝置SD7,此刻儲存系統100中需復原之保護存取單元可包含群510內的該些保護存取單元。針對群510內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可依據分別儲存於儲存裝置{SD0,SD1,...,SD6}之資料D以及儲存裝置SD8中之校驗碼P來復原對應於儲存裝置SD7之資料D,尤其,依據分別對應於儲存裝置{SD0,SD1,...,SD6}之資料D以及對應於儲存裝置SD8之校驗碼P進行錯誤更正碼解碼以產生對應於儲存裝置SD7之資料D,並且可將對應的有效性位元映射資訊更新為一組第二位元1111111110000000,這表示這些保護資料大部分是有效的、但儲存裝置SD9所儲存的保護資料可視為無效的。
第10圖繪示該方法於另一實施例中所涉及的控制方案。第10圖最左側部分等同於第9圖最右側部分。之後,當新的儲存裝置被耦接至介面電路122以替換另一個故障的儲存裝置(標示「新碟插入」,以便於理解),例如被安裝於儲存系統100作為最新的儲存裝置SD9,此刻儲存系統100中需復原之保護存取單元可包含群510與520各自的保護存取單元。針對群510內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可依據分別儲存於 儲存裝置{SD0,SD1,...,SD7}之資料D來復原校驗碼Q,尤其,依據分別對應於儲存裝置{SD0,SD1,...,SD7}之資料D進行錯誤更正碼編碼以產生對應於儲存裝置SD9之校驗碼Q,並且可將對應的有效性位元映射資訊更新為一組第二位元1111111111000000,這表示這些保護資料都是有效的。於是,群510內的保護資料已完全復原。另外,針對群520內的該些保護存取單元中之每一者的保護資料,儲存系統100(例如處理電路111)可依據分別儲存於儲存裝置{SD0,SD1,...,SD6}之資料D來復原校驗碼Q,尤其,依據分別對應於儲存裝置{SD0,SD1,...,SD6}之資料D進行錯誤更正碼編碼以產生對應於儲存裝置SD9之校驗碼Q,並且可將對應的有效性位元映射資訊更新為一組第二位元1111111011000000,這表示這些保護資料都是有效的。於是,群520內的保護資料已完全復原。
依據某些實施例,該多組管理資訊可予以變化。例如,針對該多組管理資訊中之任一組(尤其,每一組),該RAID位元映射資訊(諸如該第一RAID位元映射資訊、該第二RAID位元映射資訊等)中之第一位元的位元數(bit count)及/或該有效性位元映射資訊(諸如該第一有效性位元映射資訊、該第二有效性位元映射資訊等)中之第二位元的位元數可改變(例如增加或減少)。為了簡潔,這些實施例與前述實施例相仿的內容在此不重複贅述。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:使用者裝置
11,111:處理電路
12,112,122:介面電路
100:儲存系統
110:匯流排
111P:程式碼
121:隨機存取記憶體
121T:管理表
130,131,132,...,146:儲存裝置
RAID:容錯式磁碟陣列
DR:資料區
TR:表區

Claims (14)

  1. 一種用來進行關於一容錯式磁碟陣列(Redundant Array of Independent Disks,RAID)的動態復原管理之方法,該方法包含:將一第一組保護資料寫入該容錯式磁碟陣列的多個保護存取單元(protected access unit)中之一第一保護存取單元,且記錄對應於該第一組保護資料之一第一組管理資訊,以供該第一組保護資料的資料復原之使用,其中該容錯式磁碟陣列包含多個儲存裝置,該第一組保護資料包含資料與多個校驗碼,該第一組管理資訊中的容錯式磁碟陣列資訊指出該第一組保護資料儲存於該多個儲存裝置中的一第一組儲存裝置,以在已知該第一組保護資料被寫入該第一保護存取單元的情況下指出該第一組保護資料被儲存在該第一保護存取單元中的位置是位於該第一組儲存裝置,且該第一組管理資訊中的有效性資訊(validity information)指出該第一組保護資料之各自的有效性;以及當該多個儲存裝置中的任何一個儲存裝置故障(malfunction)時,將一第二組保護資料寫入該多個保護存取單元中之一第二保護存取單元,且記錄對應於該第二組保護資料之一第二組管理資訊,以供該第二組保護資料的資料復原之使用,其中該第二組保護資料包含資料與多個校驗碼,該第二組管理資訊中的容錯式磁碟陣列資訊指出該第二組保護資料儲存於該多個儲存裝置中的一第二組儲存裝置,以在已知該第二組保護資料被寫入該第二保護存取單元的情況下指出該第二組保護資料被儲存在該第二保護存取單元中的位置是位於該第二組儲存裝置,且該第二組管理資訊中的有效性資訊指出該第二組保護資料之各自的有效性; 其中該第二組儲存裝置異於該第一組儲存裝置。
  2. 如申請專利範圍第1項所述的方法,其中該第一組管理資訊中的該容錯式磁碟陣列資訊包含第一容錯式磁碟陣列位元映射資訊,該第一容錯式磁碟陣列位元映射資訊包含一第一組第一位元,且該第一組第一位元指出該第一組保護資料分別儲存於該第一組儲存裝置。
  3. 如申請專利範圍第2項所述的方法,其中該第二組管理資訊中的該容錯式磁碟陣列資訊包含第二容錯式磁碟陣列位元映射資訊,該第二容錯式磁碟陣列位元映射資訊包含一第二組第一位元,且該第二組第一位元指出該第二組保護資料分別儲存於該第二組儲存裝置。
  4. 如申請專利範圍第1項所述的方法,其中該第一組管理資訊中的該有效性資訊包含第一有效性位元映射資訊,該第一有效性位元映射資訊包含一第一組第二位元,且該第一組第二位元分別指出該第一組保護資料之各自的有效性。
  5. 如申請專利範圍第4項所述的方法,其中該第二組管理資訊中的該有效性資訊包含第二有效性位元映射資訊,該第二有效性位元映射資訊包含一第二組第二位元,且該第二組第二位元分別指出該第二組保護資料之各自的有效性。
  6. 如申請專利範圍第1項所述的方法,其中該第二組儲存裝置不包含所述任何一個儲存裝置。
  7. 如申請專利範圍第1項所述的方法,其另包含:當所述任何一個儲存裝置故障時,更新該第一組管理資訊中的該有效性資訊,以指出該第一組保護資料當中儲存於所述任何一個儲存裝置中的保護資料是無效的,以供該第一組保護資料的資料復原之使用。
  8. 如申請專利範圍第7項所述的方法,其另包含:依據該第一組管理資訊中的最新的有效性資訊,讀取該第一組保護資料中的有效保護資料,以依據該些有效保護資料進行該第一組保護資料的資料復原,其中該些有效保護資料包含該第一組保護資料中的該些資料的至少一部分資料,且包含該第一組保護資料中的該多個校驗碼的至少一校驗碼。
  9. 如申請專利範圍第7項所述的方法,其另包含:當該多個儲存裝置中的一第二個儲存裝置故障時,更新該第一組管理資訊中的該有效性資訊,以指出該第一組保護資料當中儲存於該第二個儲存裝置中的保護資料是無效的,以供該第一組保護資料的資料復原之使用。
  10. 如申請專利範圍第9項所述的方法,其另包含:依據該第一組管理資訊中的最新的有效性資訊,讀取該第一組保護資料中的有效保護資料,以依據該些有效保護資料進行該第一組保護資料的資料復原,其中該些有效保護資料包含該第一組保護資料中的該些資料的至少一部分資料。
  11. 如申請專利範圍第7項所述的方法,其另包含:當該多個儲存裝置中的一第二個儲存裝置故障時,更新該第二組管理資訊中的該有效性資訊,以指出該第二組保護資料當中儲存於該第二個儲存裝置中的保護資料是無效的,以供該第二組保護資料的資料復原之使用。
  12. 如申請專利範圍第11項所述的方法,其另包含:依據該第二組管理資訊中的最新的有效性資訊,讀取該第二組保護資料中的有效保護資料,以依據該些有效保護資料進行該第二組保護資料的資料復原,其中該些有效保護資料包含該第二組保護資料中的該些資料的至少一部分資料,且包含該第二組保護資料中的該多個校驗碼的至少一校驗碼。
  13. 一種依據如申請專利範圍第1項所述的方法來運作之儲存系統,其中該儲存系統包含該容錯式磁碟陣列。
  14. 一種用來進行關於一容錯式磁碟陣列(Redundant Array of Independent Disks,RAID)的動態復原管理之裝置,該裝置包含:一處理電路,位於一儲存系統中,用來控制該儲存系統之運作,其中該儲存系統之該些運作包含:將一第一組保護資料寫入該容錯式磁碟陣列的多個保護存取單元(protected access unit)中之一第一保護存取單元,且記錄對應於該第一組保護資料之一第一組管理資訊,以供該第一組保 護資料的資料復原之使用,其中該容錯式磁碟陣列包含多個儲存裝置,該第一組保護資料包含資料與多個校驗碼,該第一組管理資訊中的容錯式磁碟陣列資訊指出該第一組保護資料儲存於該多個儲存裝置中的一第一組儲存裝置,以在已知該第一組保護資料被寫入該第一保護存取單元的情況下指出該第一組保護資料被儲存在該第一保護存取單元中的位置是位於該第一組儲存裝置,且該第一組管理資訊中的有效性資訊(validity information)指出該第一組保護資料之各自的有效性;以及當該多個儲存裝置中的任何一個儲存裝置故障(malfunction)時,將一第二組保護資料寫入該多個保護存取單元中之一第二保護存取單元,且記錄對應於該第二組保護資料之一第二組管理資訊,以供該第二組保護資料的資料復原之使用,其中該第二組保護資料包含資料與多個校驗碼,該第二組管理資訊中的容錯式磁碟陣列資訊指出該第二組保護資料儲存於該多個儲存裝置中的一第二組儲存裝置,以在已知該第二組保護資料被寫入該第二保護存取單元的情況下指出該第二組保護資料被儲存在該第二保護存取單元中的位置是位於該第二組儲存裝置,且該第二組管理資訊中的有效性資訊指出該第二組保護資料之各自的有效性;其中該第二組儲存裝置異於該第一組儲存裝置。
TW108100004A 2019-01-02 2019-01-02 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統 TWI704451B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW108100004A TWI704451B (zh) 2019-01-02 2019-01-02 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統
CN201910112651.2A CN111400084B (zh) 2019-01-02 2019-02-13 进行关于容错式磁盘阵列的动态复原管理的方法与装置
US16/513,675 US10860423B2 (en) 2019-01-02 2019-07-16 Method and apparatus for performing dynamic recovery management regarding redundant array of independent disks
US17/084,650 US11301326B2 (en) 2019-01-02 2020-10-30 Method and apparatus for performing dynamic recovery management regarding redundant array of independent disks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108100004A TWI704451B (zh) 2019-01-02 2019-01-02 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統

Publications (2)

Publication Number Publication Date
TW202026874A TW202026874A (zh) 2020-07-16
TWI704451B true TWI704451B (zh) 2020-09-11

Family

ID=71124273

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108100004A TWI704451B (zh) 2019-01-02 2019-01-02 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統

Country Status (3)

Country Link
US (2) US10860423B2 (zh)
CN (1) CN111400084B (zh)
TW (1) TWI704451B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI704451B (zh) * 2019-01-02 2020-09-11 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統
CN111949434B (zh) * 2019-05-17 2022-06-14 华为技术有限公司 磁盘冗余阵列raid管理方法、raid控制器和系统
US11507319B2 (en) * 2021-02-04 2022-11-22 Silicon Motion, Inc. Memory controller having a plurality of control modules and associated server
CN112905387B (zh) * 2021-03-04 2022-05-24 河北工业大学 一种raid6编码及基于该编码的数据恢复方法
CN114080596A (zh) * 2021-09-29 2022-02-22 长江存储科技有限责任公司 用于存储器的数据保护方法及其存储装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826001A (en) * 1995-10-13 1998-10-20 Digital Equipment Corporation Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
US20050108594A1 (en) * 2003-11-18 2005-05-19 International Business Machines Corporation Method to protect data on a disk drive from uncorrectable media errors
US6950901B2 (en) * 2001-01-05 2005-09-27 International Business Machines Corporation Method and apparatus for supporting parity protection in a RAID clustered environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904187B2 (en) * 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
JP2001075741A (ja) * 1999-09-02 2001-03-23 Toshiba Corp ディスク制御システムおよびデータ保全方法
US7434097B2 (en) * 2003-06-05 2008-10-07 Copan System, Inc. Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems
JP2007502470A (ja) * 2003-08-14 2007-02-08 コンペレント・テクノロジーズ 仮想ディスク・ドライブのシステムおよび方法
US7386758B2 (en) * 2005-01-13 2008-06-10 Hitachi, Ltd. Method and apparatus for reconstructing data in object-based storage arrays
US7603529B1 (en) * 2006-03-22 2009-10-13 Emc Corporation Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment
JP4862847B2 (ja) * 2008-03-07 2012-01-25 日本電気株式会社 ディスクアレイのデータ復旧方法、ディスクアレイシステム及び制御プログラム
JP5996098B2 (ja) * 2012-12-13 2016-09-21 株式会社日立製作所 ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びi/o要求処理方法
CN105068896B (zh) * 2015-09-25 2019-03-12 浙江宇视科技有限公司 基于raid备份的数据处理方法及装置
KR102573301B1 (ko) * 2016-07-15 2023-08-31 삼성전자 주식회사 Raid 리커버리를 수행하는 메모리 시스템 및 그 동작방법
CN109726033B (zh) * 2017-10-31 2022-05-06 伊姆西Ip控股有限责任公司 提供raid数据保护的方法、数据存储系统和计算机可读介质
TWI709042B (zh) * 2018-11-08 2020-11-01 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
TWI704451B (zh) * 2019-01-02 2020-09-11 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826001A (en) * 1995-10-13 1998-10-20 Digital Equipment Corporation Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
US6950901B2 (en) * 2001-01-05 2005-09-27 International Business Machines Corporation Method and apparatus for supporting parity protection in a RAID clustered environment
US20050108594A1 (en) * 2003-11-18 2005-05-19 International Business Machines Corporation Method to protect data on a disk drive from uncorrectable media errors

Also Published As

Publication number Publication date
US20200210290A1 (en) 2020-07-02
US11301326B2 (en) 2022-04-12
TW202026874A (zh) 2020-07-16
US10860423B2 (en) 2020-12-08
CN111400084B (zh) 2023-06-20
CN111400084A (zh) 2020-07-10
US20210073074A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
US11941257B2 (en) Method and apparatus for flexible RAID in SSD
TWI704451B (zh) 用來進行關於容錯式磁碟陣列的動態復原管理之方法與裝置以及依據該方法來運作之儲存系統
JP6422600B2 (ja) メモリにおけるストライプマッピング
JP5341896B2 (ja) 自己回復形不揮発性メモリ
US9613656B2 (en) Scalable storage protection
US8438455B2 (en) Error correction in a solid state disk
US11531590B2 (en) Method and system for host-assisted data recovery assurance for data center storage device architectures
JP2015512110A (ja) Nandフラッシュメモリ上のデータの記憶のためのアーキテクチャ
US11874741B2 (en) Data recovery method in storage medium, data recovery system, and related device
US10467074B2 (en) Conditional journal for storage class memory devices
CN112068778B (zh) 用于保持从存储阵列中读取的数据的完整性的方法和设备
US20220091936A1 (en) Systems and methods for encoding metadata
CN111158580B (zh) 关于容错式磁盘阵列的映像信息管理的方法与装置
TWI768476B (zh) 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
CN114625563B (zh) Ssd的数据保护方法、装置、可读存储介质及电子设备
US9400716B2 (en) Method for handling interrupted writes using multiple cores
WO2013023564A9 (en) Method and apparatus for flexible raid in ssd