TWI498725B - 檢查獨立磁碟冗餘陣列(raid)資訊之方法及系統 - Google Patents

檢查獨立磁碟冗餘陣列(raid)資訊之方法及系統 Download PDF

Info

Publication number
TWI498725B
TWI498725B TW098104085A TW98104085A TWI498725B TW I498725 B TWI498725 B TW I498725B TW 098104085 A TW098104085 A TW 098104085A TW 98104085 A TW98104085 A TW 98104085A TW I498725 B TWI498725 B TW I498725B
Authority
TW
Taiwan
Prior art keywords
data
raid
address
system bus
accumulator
Prior art date
Application number
TW098104085A
Other languages
English (en)
Other versions
TW201020758A (en
Inventor
William Patrick Delaney
Original Assignee
Lsi 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 Lsi Corp filed Critical Lsi Corp
Publication of TW201020758A publication Critical patent/TW201020758A/zh
Application granted granted Critical
Publication of TWI498725B publication Critical patent/TWI498725B/zh

Links

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/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
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1057Parity-multiple bits-RAID6, i.e. RAID 6 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Description

檢查獨立磁碟冗餘陣列(RAID)資訊之方法及系統
本申請案主張由William Patrick Delaney在2008年11月19日申請的題為「RAID資訊的記憶體效率檢查」的美國臨時專利申請案第61/116,265號以及由LSI公司在2009年1月9日在美國收件處申請的PCT申請案第PCT/US09/30656號的權利。上述該等申請案揭示與教示的所有內容以引用的方式明確併入本文中。
大容量儲存系統不斷提供增加的儲存容量以滿足使用者之需求。照片與電影儲存以及照片與電影分享是應用的實例,此對越來越大的儲存系統需求的增長造成刺激。
這些日益增加的需求的一個解決方法是使用多重廉價獨立磁碟冗餘陣列。這些陣列可按提供冗餘及錯誤恢復而沒有任何資料損失的方式組態。這些陣列也可被組態成經由允許資料同時被讀或寫到多個磁碟機而增加讀寫效能。這些陣列還可被組態成允許「熱插拔」,這允許一故障磁碟被替代而不中斷該陣列的儲存服務。不論是否提供任何冗餘,這些陣列通常被稱為獨立磁碟冗餘陣列(或更常見縮寫為RAID)。由加州大學伯克利分校的David A. Patterson等人1987年公開的題為「一種獨立磁碟容錯陣列(RAID)方案」討論了RAID技術的基本概念與層級。
RAID儲存系統通常利用一控制器,該控制器代替使用者或主機系統管理該儲存陣列的細節。該控制器使該儲存陣列顯示為一或多個磁碟機(或磁碟區)。這是不顧以下事實而實現的,即一特定磁碟區的資料(或冗餘資料)可跨多個磁碟機分佈。
本發明的一實施例可因此包括一檢查RAID資訊的系統,其包括:一位址比較器,其決定在一系統匯流排上的一第一位址對應於一RAID檢查範圍;一RAID P資料累加器,其儲存對該RAID P資料累加器中儲存之資料與從該系統匯流排接收之資料的互斥「或」之一第一結果,從該系統匯流排接收的該資料對應於發送至該系統匯流排上的該第一位址的資料,在該系統匯流排上的該第一位址對應於該RAID檢查範圍;一常數選擇器,其基於該系統匯流排上的該第一位址選擇一組常數中之一常數,該所選常數對應於從該系統匯流排接收的該資料;以及一RAID Q資料累加器,其儲存該RAID Q資料累加器中儲存的資料與一第三結果互斥「或」的一第二結果,該第三結果係該組常數中之該所選常數與從該系統匯流排接收的該資料伽羅瓦代數體相乘之結果。
本發明的一實施例可因此進一步包括一種檢查RAID資訊的方法,其包括:控制複數個儲存器件以提供複數個RAID等量磁碟區,該複數個RAID等量磁碟區被發送至複數個虛擬緩衝器;接收該複數個RAID等量磁碟區;以及將對應於該複數個虛擬緩衝器之各者的複數個P資料值與複數個Q資料值累加,該複數個P資料值與該複數個Q資料值對應於接收用於該複數個虛擬緩衝器之各者的該複數個RAID等量磁碟區。
本發明的一實施例可因此進一步包括一種檢查RAID資訊的系統,其包括:一虛擬緩衝器比較器,其比較在一系統匯流排上提出的一位址與複數個虛擬位址緩衝器範圍;一選擇器,其回應於對應於該複數個虛擬位址緩衝器範圍中之一者的在該系統匯流排上提出的該位址,其選擇一伽羅瓦代數體(Galois Field)常數與一累加器緩衝器位址;一伽羅瓦代數體乘法器,其對該伽羅瓦代數體常數與一對應於在該系統匯流排上提出的該位址的資料區塊實施伽羅瓦代數體相乘;一P資料互斥「或」累加器,其儲存對該資料區塊與對應於該累加器緩衝器位址的一儲存P資料值的互斥「或」運算的一P資料結果;以及一Q資料互斥「或」累加器,其儲存對一伽羅瓦代數體相乘結果與對應於該累加器緩衝器位址的一儲存Q資料值的互斥「或」運算的一Q資料結果。
圖1是一種檢查RAID資訊的系統的方塊圖。P+Q檢查系統100包括:位址匯流排101、資料匯流排102、位址比較器110、常數選擇器120、伽羅瓦代數體(GF)乘法器130、P資料累加器140、Q資料累加器150、互斥「或」邏輯器(XOR)160與互斥「或」邏輯器161。共同地,位址匯流排101與資料匯流排102包括系統匯流排103。位址匯流排101被有效地耦合到位址比較器110與常數選擇器120。資料匯流排102被有效地耦合到GF乘法器130與XOR 160。
位址比較器110產生三個信號:HITP、HITD與HITQ。HITD被有效地耦合到Q資料累加器150與P資料累加器140。HITP被有效地耦合到P資料累加器140。HITQ被有效地耦合到Q資料累加器150。位址比較器110回應於在位址匯流排101上在一預定資料範圍內的一記憶體位址而產生HITD。該預定資料範圍定義P+Q檢查系統100模擬的一虛擬記憶體區塊以便接收從耦合到系統匯流排103的儲存器件發送的RAID資料。位址比較器110回應於在位址匯流排101上在一預定P資料範圍內的一記憶體位址而產生HITP。該預定P資料範圍定義P+Q檢查系統100模擬的一虛擬記憶體區塊以便接收從耦合到系統匯流排103的儲存器件發送的RAID P資料。位址比較器110回應於在位址匯流排101上在一預定Q資料範圍內的一記憶體位址而產生HITQ。該預定Q資料範圍定義P+Q檢查系統100模擬的一虛擬記憶體區塊以便接收從耦合到系統匯流排103的儲存器件發送的RAID Q資料。HITD與HITQ還被有效地耦合到常數選擇器120。
RAID系統通常經由多個儲存器件分佈資料與冗餘資料。彼此皆相關聯的該等資料與冗餘資料區塊被稱為「等量磁碟區」。在一特定磁碟上包括一個等量磁碟區的該等資料區塊可稱為一個等量磁碟區。對於RAID-5,只有一個單一的冗餘區塊。該冗餘區塊儲存該等量磁碟區之同位(parity)。因此,其被稱為P區塊或P資料。在該P資料中的每個位元僅是該等資料等量磁碟區中相應位元的按位元互斥「或」(XOR)。因此,該P資料計算可表示為:
其中D1 [i]是第一資料等量磁碟區內的第i個位元組,D2 [i]是第二資料等量磁碟區內的第i個位元組,依次類推。
對於RAID-6,有至少兩個冗餘區塊。一區塊是P區塊以及一區塊被稱為Q區塊(或Q資料)。該Q資料係根據以下公式計算:
其中D1 [i]是第一資料等量磁碟區內的第i個位元組,D2 [i]是第二資料等量磁碟區內的第i個位元組,依次類推。C1 、C2 等是固定常數位元組,該等常數位元組的值是由產生該Q資料所用的冗餘方法(例如,裏德-所羅門(Reed-Solomon))所管控。這些常數可被稱為Q資料常數。「‧」符號意為表示在GF(28 )中的伽羅瓦代數體相乘。應明白經由對該等Q資料常數C1 到CN 選擇適當的值,可產生額外的Q資料區塊。這些額外的Q資料區塊允許RAID系統偵測並恢復更多錯誤。
在一實施例中,來自一RAID陣列的資料直接從該等儲存器件發送到該P+Q檢查系統100,而不是首先被儲存在記憶體中。該P+Q檢查系統100被耦合到該系統匯流排103以顯示為I/O控制器的記憶體空間,該等I/O控制器控制該RAID陣列的該等儲存器件。因此,現有的I/O控制器可不作修飾就可發揮作用且可被控制。
RAID控制軟體程式化I/O控制器以從該等儲存器件讀取RAID資料並且將該資料傳輸到虛擬記憶體位址範圍。此等虛擬記憶體位址範圍是由該P+Q檢查系統100辨識。該P+Q檢查系統100接收被發送至虛擬記憶體位址範圍的資料。然而,取代儲存將傳入之資料,該P+Q檢查系統100更新與該傳入資料相關聯的該等P與Q冗餘資料計算的中間值。當已接收所有該等等量磁碟區時,該P+Q檢查系統100將完成P與Q冗餘資料的計算。該P+Q檢查系統100亦可接受來自該等儲存器件的P或Q資料。在這種情況下,在所有該等等量磁碟區以及該P或Q資料已經被接收之後,如果所有資料以及該P與Q資料是正確的,則該P+Q檢查系統100將保持零。如果有一錯誤,則該P+Q檢查系統100將保持非零值。
該P+Q檢查系統100減少RAID-5及/或RAID-6驗證操作對記憶體的利用。這些驗證操作是確保RAID系統的資料完整性的一個重要因素。這在使用消費者類別儲存器件時尤其重要,因為消費者類別儲存器件比企業類別器件更加不可靠。使用基於記憶體的技術實施驗證操作增加了記憶體與系統匯流排的負擔。這降低RAID系統的效能。該P+Q檢查系統100消除計算及/或檢查P+Q冗餘資料的記憶體存取。
回應於一HITD或HITQ信號,常數選擇器120產生Q資料常數。產生的該Q資料常數是基於位址匯流排101出現的位址。經由檢查在位址匯流排101上的某些位元,常數選擇器120能夠決定在資料匯流排102上是哪個資料等量磁碟區(即,D1 、D2 等)。因此,常數選擇器120輸出在資料匯流排102上的該等量磁碟區的對應常數。由常數選擇器120輸出的該常數與在資料匯流排102上的該等量磁碟區的該資料由GF乘法器130伽羅瓦代數體相乘。該運算形成該Q資料的計算中的D x [i ]‧C x 項。
在資料匯流排102上的該資料還被輸入到XOR 160。XOR 160的另一輸入是來自P資料累加器140。回應於一HITD或HITP信號,P資料累加器儲存XOR 160的輸出作為輸入到XOR 160的下個值。因此,由P資料累加器140與XOR 160的該運算形成了一運算,其中Dx [i]是在資料匯流排102上的當前值且是先前XOR運算的結果。應明白一旦1到N資料值全部由XOR 160互斥「或」且該等結果由P資料累加器140累加,P資料累加器140就將保持該結果P[i]。此外,如果該P資料的一儲存值被接收且由XOR 160互斥「或」(例如,回應於該HITP信號),如果所有資料與該儲存P資料是正確的,則儲存在P資料累加器140中的結果將是零。否則,儲存在P資料累加器140中的結果將是非零,從而指示一錯誤。
由GF乘法器130輸出的資料被輸入到XOR 161。XOR 161的另一輸入是來自Q資料累加器150。回應於一HITD或HITQ信號,Q資料累加器儲存XOR 161的輸出作為輸入到XOR 161的下個值。因此,由Q資料累加器150與XOR 161的該運算形成一運算,其中Dx [i]是在資料匯流排102上的當前值且是先前XOR運算的結果。應明白一旦1到N資料值全部由GF乘法器130伽羅瓦代數體相乘,該結果由XOR 161互斥「或」,並且該互斥「或」結果係由Q資料累加器150累加,Q資料累加器150就將保持該結果Q[i]。此外,如果該Q資料的一儲存值被接收,則與一不會改變該Q資料值的常數值GF相乘,且由XOR 161互斥「或」(例如,回應於該HITQ信號),如果所有該資料與該儲存Q資料是正確的,則儲存在Q資料累加器150中的結果將是零。否則,儲存在Q資料累加器150中的結果將是非零,從而指示一錯誤。還應明白額外的GF乘法器、XOR與Q資料累加器可被用於檢查額外的Q資料區塊。
圖2是一種檢查RAID資訊區塊的系統的方塊圖。圖2中說明的系統作用類似於圖1中說明的該系統。然而,圖2中說明的該系統經調適用以計算與累加多個P與Q資料區塊。P+Q檢查系統200包括:位址匯流排201、資料匯流排202、位址比較器210、伽羅瓦代數體(GF)乘法器230、P資料累加器緩衝器240、Q資料累加器緩衝器250、互斥「或」邏輯器(XOR)260與互斥「或」邏輯器261。位址比較器210包含常數選擇器211、完成偵測器212與緩衝器管理213。共同地,位址匯流排201與資料匯流排202包括系統匯流排203。位址匯流排201被有效地耦合到位址比較器210且因此耦合到常數選擇器211。位址匯流排201被有效地耦合到Q資料累加器緩衝器250與P資料累加器緩衝器240。資料匯流排202被有效地耦合到GF乘法器230與XOR 260。
位址比較器210可產生三個信號:HITP、HITD與HITQ。HITD被有效地耦合到Q資料累加器緩衝器250與P資料累加器緩衝器240。HITP被有效地耦合到P資料累加器緩衝器240。HITQ被有效地耦合到Q資料累加器緩衝器250。位址比較器210回應於在位址匯流排201上在一預定資料範圍內的一記憶體位址而產生HITD。該預定資料範圍定義P+Q檢查系統200模擬的一虛擬記憶體區塊以便接收從耦合到系統匯流排203的儲存器件發送的RAID資料。位址比較器210回應於在位址匯流排201上在一預定P資料範圍內的一記憶體位址而產生HITP。該預定P資料範圍定義P+Q檢查系統200模擬的一虛擬記憶體區塊以便接收從耦合到系統匯流排203的儲存器件發送的RAID P資料。位址比較器210回應在位址匯流排201上在一預定Q資料範圍內的一記憶體位址而產生HITQ。該預定Q資料範圍定義P+Q檢查系統200模擬的一虛擬記憶體區塊以便接收從耦合到系統匯流排203的儲存器件發送的RAID Q資料。
完成偵測器212可追蹤位址匯流排201上的位址以決定何時一區塊的儲存資料全部被接收並且由Q資料累加器緩衝器250或P資料累加器緩衝器240累加。緩衝器管理213可管理與P+Q檢查系統200相關聯的虛擬緩衝器。例如,緩衝器管理213可決定該等虛擬緩衝器的位址範圍。緩衝器管理還可決定在Q資料累加器緩衝器250與P資料累加器緩衝器240中與某些虛擬緩衝器位址範圍相關聯的位置。
常數選擇器211產生Q資料常數。產生的該Q資料常數是基於位址匯流排201出現的位址。經由檢查在位址匯流排201上的某些位元,常數選擇器211能夠決定在資料匯流排202上是哪個資料等量磁碟區(即,D1 、D2 等)。因此,常數選擇器211輸出在資料匯流排202上的該等量磁碟區的對應常數。由常數選擇器211輸出的常數與在資料匯流排202上的該等量磁碟區的資料係由GF乘法器230伽羅瓦代數體相乘。該運算形成在區塊j的Q資料的計算中的D x [i ][j ]‧C x 項。哪個區塊j在資料匯流排202上是從位址匯流排201上的某些位元決定。
在資料匯流排202上的資料還被輸入到XOR 260。XOR 260的另一輸入是來自P資料累加器緩衝器240。回應於一來自位址比較器210的信號,P資料累加器緩衝器240儲存XOR 260的輸出作為輸入到XOR 260的區塊j的下個值。P資料累加器緩衝器240使用來自位址匯流排201的某些位元以決定擷取與儲存哪個累加P資料。因此,由P資料累加器緩衝器240與XOR 260的該運算形成一運算,其中Dx [i][j]是在資料匯流排202上的當前值且是先前在與區塊j相關聯的該P資料累加器緩衝器240位置上XOR運算的結果。應明白一旦區塊j的1到N資料值全部由XOR 260互斥「或」且該等結果由P資料累加器緩衝器240累加,P資料累加器緩衝器240中與區塊j相關聯的位置就將保持該結果P[i][j]。此外,如果與區塊j相關聯的P資料的一儲存值被接收並且由XOR 260互斥「或」(例如,回應於該HITP信號),如果所有該資料及與區塊j相關聯的該儲存P資料是正確的,則儲存在P資料累加器緩衝器240中與區塊j相關聯的結果將是零。否則,儲存在P資料累加器緩衝器240中與區塊j相關聯的結果將是非零,從而指示一錯誤。
由GF乘法器230輸出的資料被輸入到XOR 261。XOR 261的另一輸入是來自Q資料累加器緩衝器250。回應於一HITD或HITQ信號,Q資料累加器緩衝器250儲存XOR 261的輸出作為輸入到XOR 261的區塊j的下個值。因此,由Q資料累加器緩衝器250與XOR 261的該運算形成一]運算,其中Dx [i][j]是資料匯流排202上的當前值,且是先前在與區塊j相關聯的該Q資料累加器緩衝器250位置上XOR運算的結果。應明白,一旦藉由GF乘法器230伽羅瓦代數體相乘與區塊j相關聯的所有1到N資料值,隨即由XOR 260對結果互斥「或」,並且由Q資料累加器緩衝器250累加該互斥「或」之結果,在Q資料累加器緩衝器250中與區塊j相關聯的位置將保持該結果Q[i][j]。此外,如果接收與區塊j相關聯的Q資料的一儲存值,則與不會改變該Q資料值的一常數值進行伽羅瓦代數體相乘,並且由XOR 261互斥「或」(例如,回應於該HITQ信號),如果所有該資料及與區塊j相關聯的該儲存Q資料是正確的,則儲存在Q資料累加器緩衝器250中與區塊j相關聯的該結果將是零。否則,儲存在Q資料累加器緩衝器250中與區塊j相關聯的該結果將是非零,從而指示一錯誤。還應了解,可使用額外的GF乘法器、XOR與Q資料累加器以檢查額外的Q資料區塊。
圖3是一種檢查RAID資訊的方法的流程圖。圖3中說明的步驟可由P+Q檢查系統100與P+Q檢查系統200的一或多個元件實施。
複數個儲存器件經控制以提供複數個RAID等量磁碟區至複數個虛擬緩衝器(302)。例如,在一RAID陣列中的複數個儲存器件可經控制以提供其等的RAID等量磁碟區至由P+Q檢查系統200模擬的一位址範圍。接收該複數個RAID等量磁碟區(304)。例如,XOR 260與GF乘法器230可接收在方塊302中提供的該等RAID等量磁碟區。
基於該複數個RAID等量磁碟區累加複數個P資料值(306)。例如,P資料累加器緩衝器204可基於在方塊304中接收的該等RAID等量磁碟區累加多個P資料值。基於該複數個RAID等量磁碟區與複數個常數累加複數個Q資料值(308)。例如,Q資料累加器緩衝器250可累加從GF乘法器230接收到的多個Q資料值。從GF乘法器230接收到的該等結果可能是基於在方塊304接收的該等RAID等量磁碟區與從常數選擇器211接收的常數。
上述的方法、系統以及功能可用一或多個電腦系統實施或由一或多個電腦系統執行。上述的該等方法還可被儲存在一電腦可讀媒體上。P+Q檢查系統100與P+Q檢查系統200的該等元件的很多可以是包括或包含電腦系統。這包含但不限於位址比較器110、常數選擇器120、伽羅瓦代數體(GF)乘法器130、P資料累加器140、Q資料累加器150、互斥「或」(XOR)160、互斥「或」161、位址比較器210、伽羅瓦代數體(GF)乘法器230、P資料累加器緩衝器240、Q資料累加器緩衝器250、互斥「或」(XOR)260與互斥「或」261、常數選擇器211、完成偵測器212以及緩衝器管理213。
圖4是一電腦系統的方塊圖。電腦系統400包含通信介面420、處理系統430、儲存系統440與使用者介面460。處理系統430被有效地耦合到儲存系統440。儲存系統440儲存軟體450與資料470。處理系統430被有效地耦合到通信介面420與使用者介面460。電腦系統400可包括一程式化通用電腦。電腦系統400可包含一微處理器。電腦系統400可包括可程式化或專用電路。電腦系統400可被分佈在多個器件、處理器、儲存器及/或介面之間,其等共同包括元件420-470。
通信介面420可包括一網路介面、數據機、埠、匯流排、鏈路、收發器或其他通信器件。通信介面420可被分佈在多個通信器件之間。處理系統430可包括一微處理器、微控制器、邏輯電路或其他處理器件。處理系統430可被分佈在多個處理器件之間。使用者介面460可包括一鍵盤、滑鼠、語音辨識介面、麥克風與揚聲器、圖形顯示器、觸控螢幕或其他類型的使用者介面器件。使用者介面460可被分佈在多個介面器件之間。儲存系統440可包括一磁碟、磁等量磁碟區、積體電路、RAM、ROM、網路儲存器、伺服器或其他記憶體器件。儲存系統440可以是一電腦可讀媒體。儲存系統440可被分佈在多個記憶體器件之間。
處理系統430從儲存系統440擷取與執行軟體450。處理系統可擷取並儲存資料470。處理系統還可經由通信介面420擷取並儲存資料。處理系統450可建立或修改軟體450或資料470以實現一具體結果。處理系統可控制通信介面420或使用者介面470以實現一具體結果。處理系統可經由通信介面420擷取並執行遠端儲存的軟體。
軟體450與遠端儲存的軟體可包括一作業系統、處理程式、驅動程式、網路軟體以及其他通常由電腦系統執行的軟體。軟體450可包括一應用程式、小型應用程式、韌體或其他形式的通常由電腦系統執行的機器可讀處理指令。當由處理系統430執行時,軟體450或遠端儲存的軟體可引導電腦系統400如此處所描述的作業。
本發明的以上描述為了說明與描述的目的已經被提出。這並不意味是詳盡的或將本發明限制於揭示的確切形式,且鑒於以上教示,其他修飾與改變是可行的。選擇並描述該實施例以便最好地解釋本發明的原理及其實際應用,從而使熟習此項技術者在適合預期之特定用途的各種實施例與各種修飾中能夠最好地利用本發明。所附請求項應視為包含除先前技術限制的以外的本發明的其他替代性實施例。
100...P+Q檢查系統
101...位址匯流排
102...資料匯流排
103...系統匯流排
110...位址比較器
120...常數選擇器
130...伽羅瓦代數體乘法器
140...P資料累加器
150...Q資料累加器
160...互斥「或」邏輯器
161...互斥「或」邏輯器
200...P+Q檢查系統
201...位址匯流排
202...資料匯流排
203...系統匯流排
210...位址比較器
211...常數選擇器
212...完成偵測器
213...緩衝器管理
230...伽羅瓦代數體乘法器
240...P資料累加器緩衝器
250...Q資料累加器緩衝器
260...互斥「或」邏輯器
261...互斥「或」邏輯器
400...電腦系統
420...通信介面
430...處理系統
440...儲存系統
450...軟體
460...使用者介面
470...資料
圖1是一種檢查RAID資訊的系統的方塊圖。
圖2是一種檢查RAID資訊區塊的系統的方塊圖。
圖3是一種檢查RAID資訊的方法的流程圖。
圖4是一電腦系統的方塊圖。
100...P+Q檢查系統
101...位址匯流排
102...資料匯流排
103...系統匯流排
110...位址比較器
120...常數選擇器
130...伽羅瓦代數體乘法器
140...P資料累加器
150...Q資料累加器
160...互斥「或」邏輯器
161...互斥「或」邏輯器

Claims (12)

  1. 一種檢查RAID資訊之系統,其包括:一位址比較器,其決定在一系統匯流排上的一第一記憶體位址是否對應於一RAID檢查範圍;一RAID P資料累加器,其儲存對該RAID P資料累加器中儲存之資料與從該系統匯流排接收之資料的互斥「或」之一第一結果,從該系統匯流排接收的該資料被發送至該系統匯流排上的該第一記憶體位址,在該系統匯流排上的該第一記憶體位址係在該RAID檢查範圍內;一常數選擇器,其基於在該系統匯流排上的該第一記憶體位址選擇一組常數中之一常數,該所選常數對應於從該系統匯流排接收的該資料;及一RAID Q資料累加器,其儲存該RAID Q資料累加器中儲存之資料的互斥「或」之一第二結果、及對該組常數中之該所選常數與從該系統匯流排接收之該資料的伽羅瓦代數體相乘之一第三結果。
  2. 根據請求項1之系統,其進一步包括一完成偵測器,其決定何時己接收來自該系統匯流排的一組資料。
  3. 根據請求項2之系統,其中該組資料包括複數個資料區塊,該等資料區塊包括一RAID資料等量磁碟區,該RAID資料等量磁碟區包括RAID P資料與RAID Q資料。
  4. 根據請求項1之系統,其進一步包括一P位址比較器,該P位址比較器決定在該系統匯流排上的一第二位址對應於一RAID P資料檢查範圍,回應於在該系統匯流排上的 該第二位址對應於該RAID P資料檢查範圍,該RAID Q資料累加器不儲存該第二結果。
  5. 根據請求項1之系統,其進一步包括一Q位址比較器,其決定在該系統匯流排上的一第二位址對應於一RAID Q資料檢查範圍,回應於在該系統匯流排上的該第二位址對應於該RAID Q資料檢查範圍,該RAID P資料累加器不儲存該第一結果。
  6. 根據請求項4之系統,其進一步包括一Q位址比較器,其決定在該系統匯流排上的一第三位址對應於一RAID Q資料檢查範圍,回應於在該系統匯流排上的該第三位址對應於該RAID Q資料檢查範圍,該RAID P資料累加器不儲存該第一結果。
  7. 一種檢查RAID資訊之方法,其包括:由一電腦系統控制複數個儲存器件,以提供複數個RAID等量磁碟區,由該複數個儲存器件發送該複數個RAID等量磁碟區至一P+Q檢查系統之複數個虛擬記憶體緩衝器;由該P+Q檢查系統接收該複數個RAID等量磁碟區;及由該P+Q檢查系統累加經定址至該複數個虛擬記憶體緩衝器之各者的複數個P資料值與複數個Q資料值,使用來自接收用於該複數個虛擬記憶體緩衝器之各者的該複數個RAID等量磁碟區之資料來累加該複數個P資料值與該複數個Q資料值,其中該複數個Q資料值係進一步基於複數個常數,該複數個常數係基於該複數個RAID等量磁 碟區之各者藉由該複數個儲存器件被發送至該複數個虛擬記憶體緩衝器之一對應者而被選擇,一RAID等量磁碟區被發送至之該複數個虛擬記憶體緩衝器中之一者係由在一系統匯流排上提出之一位址來指定。
  8. 根據請求項7之方法,其中該複數個Q資料值是基於複數個常數,該複數個常數是基於該複數個虛擬緩衝器之一對應者而選擇,該複數個RAID等量磁碟區之各者被發送至該等虛擬緩衝器。
  9. 根據請求項7之方法,其進一步包括:控制一儲存器件以提供一RAID P資料等量磁碟區,該RAID P資料等量磁碟區被發送至一P資料虛擬緩衝器;接收該RAID P資料等量磁碟區;及基於累加該RAID P資料等量磁碟區與該複數個P資料值中之至少一者的結果,決定一錯誤條件。
  10. 根據請求項7之方法,其進一步包括:控制一儲存器件以提供一RAID Q資料等量磁碟區,該RAID Q資料等量磁碟區被發送至一Q資料虛擬緩衝器;接收該RAID Q資料等量磁碟區;及基於累加該RAID Q資料等量磁碟區與該複數個Q資料值中之至少一者的結果,決定一錯誤條件。
  11. 根據請求項7之方法,其進一步包括:控制一第一儲存器件以提供一RAID P資料等量磁碟區,該RAID P資料等量磁碟區被發送至一P資料虛擬緩衝器;接收該RAID P資料等量磁碟區;及 控制一第二儲存器件以提供一RAID Q資料等量磁碟區,該RAID Q資料等量磁碟區被發送至一Q資料虛擬緩衝器;接收該RAID Q資料等量磁碟區;及基於累加該RAID Q資料等量磁碟區與該複數個Q資料值中之至少一者的結果,以及基於累加該RAID P資料等量磁碟區與該複數個P資料值中之至少一者的結果,決定一錯誤條件。
  12. 一種檢查RAID資訊之系統,其包括:一虛擬記憶體緩衝器比較器,其比較在一系統匯流排上提出的一記憶體位址與複數個虛擬位址緩衝器範圍;一選擇器,其回應於在該系統匯流排上提出的該記憶體位址落入該複數個虛擬位址緩衝器範圍中之一者,基於在該系統匯流排上提出的該記憶體位址選擇一伽羅瓦代數體常數及一累加器緩衝器位址;一伽羅瓦代數體乘法器,其對該伽羅瓦代數體常數與透過該系統匯流排且對應於在該系統匯流排上出現的該記憶體位址的一資料區塊實施伽羅瓦代數體相乘;一P資料互斥「或」累加器,其儲存對該資料區塊與對應於該累加器緩衝器位址之一儲存P資料值的互斥「或」運算之一P資料結果;及一Q資料互斥「或」累加器,其儲存對一伽羅瓦代數體相乘結果與對應於該累加器緩衝器位址之一儲存Q資料值的互斥「或」運算之一Q資料結果。
TW098104085A 2008-11-19 2009-02-09 檢查獨立磁碟冗餘陣列(raid)資訊之方法及系統 TWI498725B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11626508P 2008-11-19 2008-11-19
PCT/US2009/030656 WO2010059255A1 (en) 2008-11-19 2009-01-09 Memory efficient check of raid information

Publications (2)

Publication Number Publication Date
TW201020758A TW201020758A (en) 2010-06-01
TWI498725B true TWI498725B (zh) 2015-09-01

Family

ID=42198425

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098104085A TWI498725B (zh) 2008-11-19 2009-02-09 檢查獨立磁碟冗餘陣列(raid)資訊之方法及系統

Country Status (7)

Country Link
US (1) US8898380B2 (zh)
EP (1) EP2297741A1 (zh)
JP (2) JP5502883B2 (zh)
KR (1) KR20110095126A (zh)
CN (1) CN101868834A (zh)
TW (1) TWI498725B (zh)
WO (1) WO2010059255A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081559B (zh) * 2011-01-11 2013-06-05 华为数字技术(成都)有限公司 一种独立磁盘冗余阵列的数据恢复方法和装置
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
USD827654S1 (en) * 2013-12-20 2018-09-04 Sony Corporation Wearable player with graphical user interface
CN105487938A (zh) * 2015-11-30 2016-04-13 浪潮(北京)电子信息产业有限公司 一种gf乘法器、校验位生成装置、主控芯片及固态硬盘
CN111625181B (zh) * 2019-02-28 2022-03-29 华为技术有限公司 数据处理方法、独立硬盘冗余阵列控制器和数据存储系统
US11023322B2 (en) * 2019-09-27 2021-06-01 Dell Products L.P. Raid storage-device-assisted parity update data storage system
US11023321B2 (en) * 2019-09-27 2021-06-01 Dell Products L.P. Raid storage-device-assisted deferred parity data update system
US10936420B1 (en) * 2019-09-27 2021-03-02 Dell Products L.P. RAID storage-device-assisted deferred Q data determination system
CN115878052B (zh) * 2023-03-08 2023-05-23 苏州浪潮智能科技有限公司 Raid阵列巡检方法、巡检装置和电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5123092A (en) * 1988-10-21 1992-06-16 Zenith Data Systems Corporation External expansion bus interface
JP2002323991A (ja) * 2001-03-14 2002-11-08 Hewlett Packard Co <Hp> パリティセグメント計算方法
JP2005149224A (ja) * 2003-11-17 2005-06-09 Nec Corp ディスクアレイ装置,raid用パリティデータ生成回路およびガロア体乗算回路
US20060206752A1 (en) * 2005-03-14 2006-09-14 Fujitsu Limited Storage system, control method thereof, and program
US7139873B1 (en) * 2001-06-08 2006-11-21 Maxtor Corporation System and method for caching data streams on a storage media
US20070180298A1 (en) * 2005-10-07 2007-08-02 Byrne Richard J Parity rotation in storage-device array
US20080040646A1 (en) * 2004-11-19 2008-02-14 International Business Machines Corporation Raid environment incorporating hardware-based finite field multiplier for on-the-fly xor
US20080148025A1 (en) * 2006-12-19 2008-06-19 Vinodh Gopal High performance raid-6 system architecture with pattern matching
US20080201630A1 (en) * 2007-02-21 2008-08-21 Fujitsu Limited Storage controlling device and storage controlling method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526503A (en) 1993-10-06 1996-06-11 Ast Research, Inc. Virtual addressing buffer circuit
JP3600334B2 (ja) * 1995-02-17 2004-12-15 株式会社東芝 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置
US7370248B2 (en) * 2003-11-07 2008-05-06 Hewlett-Packard Development Company, L.P. In-service raid mirror reconfiguring

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5123092A (en) * 1988-10-21 1992-06-16 Zenith Data Systems Corporation External expansion bus interface
JP2002323991A (ja) * 2001-03-14 2002-11-08 Hewlett Packard Co <Hp> パリティセグメント計算方法
US7139873B1 (en) * 2001-06-08 2006-11-21 Maxtor Corporation System and method for caching data streams on a storage media
JP2005149224A (ja) * 2003-11-17 2005-06-09 Nec Corp ディスクアレイ装置,raid用パリティデータ生成回路およびガロア体乗算回路
US7437658B2 (en) * 2003-11-17 2008-10-14 Nec Corporation Disk array device, parity data generating circuit for RAID and Galois field multiplying circuit
US20080040646A1 (en) * 2004-11-19 2008-02-14 International Business Machines Corporation Raid environment incorporating hardware-based finite field multiplier for on-the-fly xor
US20060206752A1 (en) * 2005-03-14 2006-09-14 Fujitsu Limited Storage system, control method thereof, and program
US20070180298A1 (en) * 2005-10-07 2007-08-02 Byrne Richard J Parity rotation in storage-device array
US20080148025A1 (en) * 2006-12-19 2008-06-19 Vinodh Gopal High performance raid-6 system architecture with pattern matching
US20080201630A1 (en) * 2007-02-21 2008-08-21 Fujitsu Limited Storage controlling device and storage controlling method

Also Published As

Publication number Publication date
EP2297741A1 (en) 2011-03-23
US8898380B2 (en) 2014-11-25
WO2010059255A1 (en) 2010-05-27
JP2012509523A (ja) 2012-04-19
JP5502883B2 (ja) 2014-05-28
TW201020758A (en) 2010-06-01
KR20110095126A (ko) 2011-08-24
JP2014041664A (ja) 2014-03-06
CN101868834A (zh) 2010-10-20
US20110264857A1 (en) 2011-10-27

Similar Documents

Publication Publication Date Title
TWI498725B (zh) 檢查獨立磁碟冗餘陣列(raid)資訊之方法及系統
CN100385405C (zh) 利用磁盘阵列奇偶校验的增强错误标识系统和方法
US10725853B2 (en) Systems and methods for memory failure prevention, management, and mitigation
CN102483686B (zh) 数据存储系统和用于操作数据存储系统的方法
US8473816B2 (en) Data verification using checksum sidefile
US9104790B2 (en) Arranging data handling in a computer-implemented system in accordance with reliability ratings based on reverse predictive failure analysis in response to changes
US9483404B2 (en) Write admittance policy for a memory cache
KR101732030B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US8583984B2 (en) Method and apparatus for increasing data reliability for raid operations
US20060080505A1 (en) Disk array device and control method for same
JP5399345B2 (ja) 外部ストレージシステムに結合されたストレージシステムのエラーコード管理方法及び装置
US7434012B1 (en) Techniques for media scrubbing
US7831767B2 (en) Storage control system, control method for storage control system, port selector, and controller
US8583853B1 (en) Error-handling for write-distribute command in raid mirroring
US20070028145A1 (en) Raid-6 multiple-input, multiple-output finite-field sum-of-products accelerator
US8880980B1 (en) System and method for expeditious transfer of data from source to destination in error corrected manner
JP2010508604A (ja) ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法
US7155634B1 (en) Process for generating and reconstructing variable number of parity for byte streams independent of host block size
CN102609221A (zh) 一种硬件raid5/6存储系统的架构及数据处理方法
US8489976B2 (en) Storage controlling device and storage controlling method
US8418029B2 (en) Storage control device and storage control method
US7340672B2 (en) Providing data integrity for data streams
TWI547801B (zh) 資料儲存系統及方法
US20190196910A1 (en) Accelerated rebuilding of storage arrays
US11816046B2 (en) Increased read performance for implementations having multiple interface links

Legal Events

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