KR20110095126A - Raid 정보의 메모리 효율 검사 - Google Patents

Raid 정보의 메모리 효율 검사 Download PDF

Info

Publication number
KR20110095126A
KR20110095126A KR1020107013560A KR20107013560A KR20110095126A KR 20110095126 A KR20110095126 A KR 20110095126A KR 1020107013560 A KR1020107013560 A KR 1020107013560A KR 20107013560 A KR20107013560 A KR 20107013560A KR 20110095126 A KR20110095126 A KR 20110095126A
Authority
KR
South Korea
Prior art keywords
data
raid
address
accumulator
system bus
Prior art date
Application number
KR1020107013560A
Other languages
English (en)
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 엘에스아이 코포레이션
Publication of KR20110095126A publication Critical patent/KR20110095126A/ko

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/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)

Abstract

RAID 데이터 검사 시스템이 개시된다. I/O 제어기들은 저장 디바이스들로부터의 데이터 RAID 데이터를 판독하고 상기 데이터를 가상 메모리 어드레스 범위들로 전송한다. P+Q 검사 기능은 가상 메모리 어드레스 범위들로 송신되는 데이터를 수신한다. 그러나, 인입하는 데이터를 저장하는 대신에, P+Q 검사 기능은 인입하는 데이터와 관련된 P 및 Q 리던던트 데이터 계산들의 중간값들을 갱신한다. 모든 스트립들이 수신되었다면, P+Q 검사 기능은 P 및 Q 리던던트 데이터의 계산을 완료할 것이다. 이 경우에, 모든 스트립들 및 P 또는 Q 데이터가 수신된 이후에, 모든 데이터 및 P 및 Q 데이터가 정확하였다면 P+Q 검사 기능은 영을 유지할 것이고 에러가 있었다면 영이 아닌 값들을 유지할 것이다.

Description

RAID 정보의 메모리 효율 검사{MEMORY EFFICIENT CHECK OF RAID INFORMATION}
본 출원은 William Patrick Delaney에 의해 2008년 11월 19일에 출원된, "Memory Efficient Check of RAID Information"이라는 명칭의 미국 가 특허 출원 일련 번호 61/116,265의 이점을 주장한다. 상기 언급된 출원의 전체 내용은 자체가 개시되고 교시하는 모든 것에 대하여 참조로서 본원에 명확하게 참조되어 있다.
대용량 저장 시스템들은 사용자 요구들을 만족시키기 위해 계속해서 증가된 저장 능력들을 제공한다. 사진 및 영화 저장, 및 사진 및 영화 공유는 점점 더 커지는 저장 시스템들에 대한 요구의 성장을 부추기는 애플리케이션(application)들의 예들이다.
이 증가하는 요구들에 대한 해법은 다수의 비싸지 않은 디스크들의 어레이(array)들을 사용하는 것이다. 이 어레이들은 데이터를 손실하지 않고 리던던시(redundancy) 및 에러 복원을 제공하는 방식들로 구성될 수 있다. 이 어레이들은 또한, 데이터가 다수의 디스크 드라이브(disk drive)들에 동시에 판독되고 기록되도록 함으로써, 판독 및 기록 성능을 강화시키도록 구성될 수 있다. 이 어레이들은 또한 실패 디스크가 어레이의 저장 서비스들을 중단하지 않고 대체되도록 하는 "핫 스왑핑(hot swapping)"을 가능하게 하도록 구성될 수 있다. 임의의 리던던시가 제공되거나 제공되지 않든 간에, 이들 어레이들은 통상적으로 독립 디스크들의 리던던트 어레이들(redundant arrays of independent disks)로서(또는 보다 통상적으로 두문자어 RAID로서) 칭해진다. University of California at Berkeley에서 David A. Patterson 등에 의한 "A Case for Redundant Arrays of Inexpensive Disks(RAID)"라는 명칭의 1987 간행물은 기본 개념들 및 RAID 기술의 레벨들을 논한다.
RAID 저장 시스템들은 전형적으로, 저장 어레이를 관리하는 세부사항들로부터 사용자 또는 호스트 시스템(host system)을 보호하는 제어기를 사용한다. 제어기는 저장 어레이를 하나 이상의 디스크 드라이브들(또는 볼륨(volume)들)처럼 보이게 한다. 이는 특정 볼륨에 대한 데이터(또는 리던던트 데이터)가 다수의 디스크 드라이브들에 걸쳐 확산될 수 있다는 사실에도 불구하고 달성될 수 있다.
그러므로 본 발명의 실시예는 RAID 정보를 검사하기 위한 시스템을 포함할 수 있고, 상기 시스템은: 시스템 버스 상의 제 1 어드레스(address)가 RAID 검사 범위에 대응함을 결정하는 어드레스 비교기; 자체 내에 저장되어 있는 데이터 및 상기 시스템 버스로부터 수신되는 데이터의 배타적 OR의 제 1 결과를 저장하는 RAID P-데이터 누산기로서, 상기 시스템 버스로부터 수신되는 상기 데이터는 상기 시스템 버스 상의 상기 제 1 어드레스로 송신되는 데이터에 대응하고, 상기 시스템 버스 상의 상기 제 1 어드레스는 상기 RAID 검사 범위에 대응하는, 상기 RAID P-데이터 누산기; 상기 시스템 버스 상의 상기 제 1 어드레스에 기초하여, 상기 시스템 버스로부터 수신되는 상기 데이터에 대응하는 상수들의 세트 중 하나를 선택하는 상수 선택기; 및 자체 내에 저장되어 있는 데이터의 배타적-OR의 제 2 결과 및 상기 상수들의 세트 중 하나 및 상기 시스템 버스로부터 수신되는 상기 데이터의 갈로아 필드(Galois field) 승산의 제 3 결과를 저장하는 RAID Q-데이터 누산기를 포함한다.
그러므로, 본 발명의 실시예는 RAID 정보를 검사하는 방법을 추가로 포함하고, 상기 방법은: 복수의 RAID 스트립(strip)들을 제공하기 위한 복수의 저장 디바이스들을 제어하는 단계로서, 상기 복수의 RAID 스트립들은 복수의 가상 버퍼(buffer)들로 송신되는, 상기 복수의 저장 디바이스들을 제어하는 단계; 상기 복수의 RAID 스트립들을 수신하는 단계; 및 상기 복수의 가상 버퍼들 각각에 대응하는 복수의 P-데이터 값들 및 복수의 Q-데이터 값들을 누산하는 단계로서, 상기 복수의 P-데이터 값들 및 상기 복수의 Q-데이터 값들은 상기 복수의 가상 버퍼들 각각에 대하여 수신되는 상기 복수의 RAID 스트립들에 대응하는, 상기 복수의 P-데이터 값들 및 복수의 Q-데이터 값들을 누산하는 단계를 포함한다.
그러므로, 본 발명의 실시예는 RAID 정보를 검사하기 위한 시스템을 추가로 포함할 수 있고, 상기 시스템은: 시스템 버스 상에 제공되는 어드레스를 복수의 가상 어드레스 버퍼 범위들과 비교하는 가상 버퍼 비교기; 상기 복수의 가상 어드레스 버퍼 범위들 중 하나에 대응하는 상기 시스템 버스 상에 제공되는 상기 어드레스에 응답하여, 갈로아 필드 상수 및 누산기 버퍼 어드레스를 선택하는 선택기; 상기 갈로아 필드 상수 및 상기 시스템 버스 상에 존재하는 데이터의 블록에 대한 갈로아 필드 승산을 수행하는 갈로아 필드 승산기(Galois Field multiplier); 상기 데이터의 블록에 대한 배타적 OR 연산의 P-데이터 결과 및 상기 누산기 버퍼 어드레스에 대응하는 저장된 P-데이터 값을 저장하는 P-데이터 배타적 OR 누산기; 및 갈로아 필드 승산 결과에 대한 배타적 OR 연산의 Q-데이터 결과 및 상기 누산기 버퍼 어드레스에 대응하는 저장된 Q-데이터 값을 저장하는 Q-데이터 배타적-OR 누산기를 포함한다.
상술한 바와 같은 본 발명으로 인해서, RAID 정보의 메모리를 효율적으로 검사할 수 있다.
도 1은 RAID 정보를 검사하기 위한 시스템의 블록도.
도 2는 RAID 정보의 블록들을 검사하기 위한 시스템의 블록도.
도 3은 RAID 정보를 검사하는 방법의 흐름도.
도 4는 컴퓨터 시스템의 블록도.
도 1은 RAID 정보를 검사하기 위한 시스템의 블록도이다. P+Q 검사 시스템(100)은: 어드레스 버스(101), 데이터 버스(102), 어드레스 비교기(110), 상수 선택기(120), 갈로이 필드(GF) 승산기(130), P-데이터 누산기(140), Q-데이터 누산기(150), 배타적-OR(XOR)(160), 및 배타적-OR(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를 발생시킨다. 이 미리 규정된 데이터 범위는 시스템 버스(103)에 결합되는 저장 디바이스들로부터 송신된 RAID 데이터를 수신하기 위해서 P+Q 검사 시스템(100)이 에뮬레이팅(emulating)하는 가상 메모리의 블록을 규정한다. 어드레스 비교기(110)는 미리 규정된 P-데이터 범위 내에 있는 어드레스 버스(101) 상의 메모리 어드레스에 응답하여 HITP를 발생시킨다. 이 미리 규정된 P-데이터 범위는 시스템 버스(103)에 결합된 저장 디바이스들로부터 송신된 RAID P-데이터를 수신하기 위해 P+Q 검사 시스템(100)이 에뮬레이팅하는 가상 메모리의 블록을 규정한다. 어드레스 비교기(110)는 미리 규정된 Q-데이터 범위 내에 있는 어드레스 버스(101) 상의 메모리 어드레스에 대응하여 HITQ를 발생시킨다. 이 미리 규정된 Q-데이터 범위는 시스템 버스(103)에 결합된 저장 디바이스들로부터 송신된 RAID Q-데이터를 수신하기 위해 P-Q 검사 시스템(100)이 에뮬레이팅하는 가상 메모리의 블록을 규정한다. HITD 및 HITQ는 또한 상수 선택기(120)에 동작적으로 결합된다.
RAID 시스템들은 통상적으로, 다수의 저장 디바이스들에 걸쳐 데이터 및 리던던트 데이터를 분배한다. 서로 모두 관련되는 데이터 및 리던던트 데이터의 블록들은 스트라이프(stripe)들로 칭해진다. 특정한 디스크 상의 스트라이프를 포함하는 데이터의 블록들은 스트립으로 칭해질 수 있다. RAID-5의 경우 단지 리던던트 블록만이 존재한다. 이 리던던트 블록은 스트라이프에 대한 패리티(parity)를 저장한다. 그러므로, 이는 P-블록 또는 P-데이터로서 칭해진다. P-데이터 내의 각각의 비트는 간단하게 데이터 스트립들 내의 대응하는 비트들의 비트 방식의 배타적-OR(XOR)이다. 그러므로, P-데이터 계산은 다음과 같이 나타낼 수 있다:
Figure pct00001
여기서 D1[i]는 제 1 데이터 스트립 내의 i번째 바이트, D2[i]는 제 2 데이터 스트립 내의 i번째 바이트, 등등이다.
RAID-6의 경우, 적어도 두 리던던트 블록들이 존재한다. 하나는 P-블록이고 하나는 Q-블록(또는 Q-데이터)으로 칭해진다. Q-데이터는 공식에 따라 계산된다:
Figure pct00002
여기서 D1[i]은 제 1 데이터 스트립 내의 i번째 바이트, D2[i]는 제 2 데이터 스트립 내의 i번째 바이트, 등등이다. C1, C2 등은 값이 Q-데이터를 발생시키기 위해서 사용되는 리던던시 방법(예를 들어, Reed-Solomon)에 의해 조절되는 고정된 일정한 바이트들이다. 이 상수들은 Q-데이터 상수들로서 칭해질 수 있다. "·" 심볼은 GF에서의 갈로아 필드 승산(28)을 표시하도록 의도된다. Q-데이터 상수들 C1에서 CN에 대한 적절한 값들을 선택함으로써, Q-데이터의 추가 블록들이 발생될 수 있음이 이해되어야 한다. Q-데이터의 이 추가 블록들로 인해 RAID 시스템이 더 많은 에러를 검출하고 더 많은 에러로부터 복구되는 것이 가능하다.
실시예에서, RAID 어레이로부터의 데이터는 메모리에 먼저 저장되지 않고 저장 디바이스들로부터 P+Q 검사 시스템(100)으로 직접적으로 송신된다. P+Q 검사 시스템(100)은 RAID 어레이의 저장 디바이스들을 제어하는 I/O 제어기들로의 메모리 공간으로 보이는 시스템 버스(103)와 결합된다. 그러므로, 기존 I/O 제어기들은 변경 없이 기능하거나 제어될 수 있다.
RAID 제어 소프트웨어는 저장 디바이스들로부터 RAID 데이터를 판독하고 상기 데이터를 가상 메모리 어드레스 범위들로 전송하기 위해서 I/O 제어기들을 프로그래밍한다. 이 가상 메모리 어드레스 범위들은 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)은 영(0)을 유지할 것이다. P+Q 검사 시스템(100)은 에러기 있었을 경우, 영이 아닌 값들을 유지할 것이다.
P+Q 검사 시스템(100)은 RAID-5 및/또는 RAID-6 유효 연산들에 대한 메모리의 이용을 감소시킨다. 이 유효 연산들은 RAID 시스템들에 대한 데이터 무결성을 보장하는데 중요한 요소이다. 이는 소비자 등급 저장 디바이스들이 기업 등급 디바이스들보다 덜 신뢰되기 때문에 소비자 등급 저장 디바이스들이 사용될 때 특히 중요하다. 유효 연산들을 수행하기 위해 메모리 기반 기술을 사용하면 메모리 및 시스템 버스 로딩(loading)이 증가한다. 이는 RAID 시스템의 성능을 저하시킨다. P+Q 검사 시스템(100)은 P+Q 리던던트 데이터의 계산 및/또는 검사에 대한 메모리 액세스들을 제거한다.
HITD 또는 HITQ 신호에 대한 응답으로, 상수 선택기(120)는 Q-데이터 상수들을 발생시킨다. 발생된 Q-데이터 상수는 어드레스 버스(101)에 존재하는 어드레스에 기초한다. 어드레스 버스(101) 상의 특정한 비트들을 조사함으로써, 상수 선택기(120)는 어떤 데이터 스트립(즉, D1, D2 등)이 데이터 버스(102) 상에 있는지를 결정할 수 있다. 그러므로, 상수 선택기(120)는 데이터 버스(102) 상에 있는 스트립에 대한 대응하는 상수를 출력한다. 상수 선택기(120) 및 데이터 버스(102) 상에 있는 스트립에 대한 데이터에 의한 상수 출력은 GF 승산기(130)에 의해 GF 승산된다. 이 연산을 Q-데이터의 계산에서
Figure pct00003
항을 형성한다.
데이터 버스(102) 상의 데이터는 또한 XOR(160)으로 입력된다. XOR(160)으로의 다른 입력은 P-데이터 누산기(140)로부터 기인한다. HITD 또는 HITP 신호에 응답하여, P-데이터 누산기는 XOR(160)의 출력을 XOR(160)에 입력될 다음 값으로 저장한다. 그러므로, P-데이터 누산기(140) 및 XOR(160)에 의한 이 연산은
Figure pct00004
연산을 형성하고, 여기서 Dx[i]는 데이터 버스(102)에 대한 현재 값이고
Figure pct00005
는 이전 XOR 연산들의 결과이다. 일단 모든 1 내지 N 데이터 값들은 XOR(160)에 의한 XOR되었고 그 결과들이 P-데이터 누산기(140)에 의해 누산되었다면, P-데이터 누산기(140)는 결과 P[i]를 유지할 것임이 이해되어야 한다. 게다가, P-데이터에 대하여 저장된 값이 수신되고 XOR(160)에 의해 XOR되는 경우(예를 들어, 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)에 의한 이 연산은
Figure pct00006
연산을 형성하고 여기서 Dx[i]는 데이터 버스(102) 상의 현재 값이고
Figure pct00007
는 이전 XOR 연산들의 결과이다. 일단 모든 1 내지 N 데이터 값들이 GF 승산기(130)에 의하여 GF 승산되었고 그 결과가 XOR(160)에 의해 XOR되었고, XOR의 결과가 Q-데이터 누산기(150)에 의해 누산되었다면, Q-데이터 누산기(150)는 결과 Q[i]를 유지할 것임이 이해되어야 한다. 게다가, Q-데이터에 대하여 저장된 값이 수신되고, Q-데이터 값을 변경시키지 않는 상수값에 의해서 GF 승산되고, XOR(161)에 의해 XOR되는 경우(예를 들어, 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), 배타적-OR(XOR)(260), 및 배타적 OR(261)을 포함한다. 어드레스 비교기(210)는 상수 선택기(211), 완료 검출기(212), 및 버퍼 관리자(buffer management)(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를 발생시킨다. 이 미리 규정된 범위는, 시스템 버스(203)에 결합된 저장 디바이스들로부터 송신되는 RAID 데이터를 수신하기 위해서, P+Q 검사 시스템(200)이 에뮬레이팅하는 가상 메모리의 블록을 규정한다. 어드레스 비교기(210)는 미리 규정된 P-데이터 범위 내에 있는 어드레스 버스(201) 상의 메모리 어드레스에 응답하여 HITP를 발생시킨다. 이 미리 규정된 P-데이터 범위는, 시스템 버스(203)에 결합된 저장 디바이스들로부터 송신된 RAID P-데이터를 수신하기 위해서 P+Q 검사 시스템(200)이 에뮬레이팅하는 가상 메모리의 블록을 규정한다. 어드레스 비교기(210)는 미리 규정된 Q-데이터 범위 내에 있는 어드레스 버스(201) 상의 메모리 어드레스에 응답하여 HITQ를 발생시킨다. 이 미리 규정된 Q-데이터 범위는, 시스템 버스(203)에 결합된 저장 디바이스들로부터 송신되는 RAID Q-데이터를 수신하기 위해서, P+Q 검사 시스템(200)이 에뮬레이팅하는 가상 메모리의 블록들을 규정한다.
완료 검출기(212)는 블록에 대하여 저장된 모든 데이터가 Q-데이터 누산기 버퍼(250) 또는 P-데이터 누산기 버퍼(240)에 의해 수신되고 누산될 때를 결정하기 위해서 어드레스 버스(201) 상의 어드레스들을 추적할 수 있다. 버퍼 관리자(213)는 P+Q 검사 시스템(200)과 관련된 가상 버퍼들을 관리할 수 있다. 예를 들어, 버퍼 관리자(213)는 가상 버퍼들의 어드레스 범위들을 결정할 수 있다. 버퍼 관리자는 또한 특정한 가상 버퍼 어드레스 범위들과 관련되는 Q-데이터 누산기 버퍼(250) 및 P-데이터 누산기 버퍼(240)에서의 위치들을 결정할 수 있다.
상수 선택기(211)는 Q-데이터 상수들을 발생시킨다. 발생된 Q-데이터 상수는 어드레스 버스(201)에 존재하는 어드레스에 기초한다. 어드레스 버스(201) 상의 특정 비트들을 조사함으로써, 상수 선택기(211)는 어떤 데이터 스트립(즉, D1, D2 등)이 데이터 버스(202) 상에 있는지를 결정할 수 있다. 그러므로, 상수 선택기(211)는 데이터 버스(202) 상에 있는 스트립에 대하여 대응하는 상수를 출력한다. 상수 선택기(211) 및 데이터 버스(202) 상에 있는 스트립에 대한 데이터에 의해 출력되는 상수는 GF 승산기(230)에 의해 GF 승산된다. 이 연산은 블록(j)에 대한 Q-데이터의 계산에서
Figure pct00008
항들을 형성한다. 어느 블록(j)이 데이터 버스(202) 상에 있는지는 어드레스 버스(201) 상의 특정 비트들로부터 결정된다.
데이터 버스(202) 상의 데이터는 또한 XOR(260)로 입력된다. XOR(260)로의 다른 입력은 P-데이터 누산기 버퍼(240)로부터 기인한다. 어드레스 비교기(210)로부터의 신호에 응답하여, P-데이터 누산기 버퍼(240)는 XOR(260)의 출력을 XOR(160)로 입력될 블록(j)에 대한 다음 값으로 저장한다. P-데이터 누산기 버퍼(240)는 어떤 누산된 P-데이터가 검색되고 저장되는지를 결정하기 위해 어드레스 버스(201)로부터 특정한 비트들을 사용한다. 그러므로, P-데이터 누산기 버퍼(240) 및 XOR(260)에 의한 이 연산은
Figure pct00009
연산을 형성하고, 여기서 Dx[i][j]는 데이터 버스(202) 상의 현재 값이고
Figure pct00010
는 블록 j와 관련되는 P-데이터 누산기 버퍼(240) 위치에서의 이전 XOR 연산들의 결과이다. 일단 블록(j)에 대한 모든 1 내지 N 데이터 값들이 XOR(260)에 의해 XOR되었고, 그 결과들이 P-데이터 누산기 버퍼(240)에 의해 누산되었다면, 블록(j)과 관련되는 P-데이터 누산기 버퍼(240)에서의 위치는 결과 P[i][j]를 유지할 것임이 이해되어야 한다. 게다가, 블록(j)과 관련되는 P-데이터에 대한 저장된 값이 수신되고 XOR(260)에 의해 XOR되는 경우(예를 들어, HITP 신호에 응답하여), 모든 데이터 및 블록(j)과 관련되는 저장된 P-데이터가 정확하다면, 블록(j)과 관련되는 P-데이터 누산기 버퍼(240)에 저장된 결과는 영일 것이다. 그렇지 않으면, 블록(j)과 관련되는 P-데이터 누산기 버퍼(240)에 저장된 결과는 영이 아니고 에러를 표시할 것이다.
GF 승산기(230)에 의해 출력되는 데이터는 XOR(261)로 입력된다. XOR(261)로의 다른 입력은 Q-데이터 누산기 버퍼(250)로부터 기인한다. HITD 또는 HITQ 신호에 응답하여, Q-데이터 누산기 버퍼(250)는 XOR(261)의 출력을 XOR(261)로 입력될 블록(j)에 대한 다음 값으로 저장한다. 그러므로, Q-데이터 누산기 버퍼(250) 및 XOR(261)에 의한 이 연산은
Figure pct00011
연산을 형성하고, 여기서 Dx[i][j]는 데이터 버스(202) 상의 현재 값이고,
Figure pct00012
는 블록(j)과 관련되는 Q-데이터 누산기 버퍼(250) 위치에서의 이전 XOR 연산들의 결과이다. 일단 블록(j)과 관련되는 모든 1 내지 N 데이터 값들은 GF 승산기(230)에 의해 GF 승산되었고, 그 결과들이 XOR(260)에 의해 XOR되었고, XOR의 결과가 Q-데이터 누산기 버퍼(250)에 의해 누산되었다면, 블록(j)과 관련되는 Q-데이터 누산기 버퍼(240)에서의 위치는 결과 Q[i][j]를 유지할 것임이 이해되어야 한다. 게다가, 블록(j)과 관련되는 Q-데이터에 대한 저장된 값이 수신되고, Q-데이터 값을 변경하지 않는 상수 값에 의해 GF 승산되고, XOR(261)에 의해 XOR되는 경우(예를 들어 HITQ 신호에 응답하여), 모든 데이터 및 블록(j)과 관련되는 저장된 Q-데이터가 정확하다면, 블록(j)과 관련되는 Q-데이터 누산기 버퍼(250)에 저장된 결과는 영일 것이다. 그렇지 않으면, 블록(j)과 관련되는 Q-데이터 누산기 버퍼(250)에 저장된 결과는 영이 아니어서 에러를 표시할 것이다. 추가의 GF 승산기들, XOR들, 및 Q-데이터 누산기들이 추가의 Q-데이터 블록들을 검사하는데 사용될 수 있음이 또한 이해되어야 한다.
도 3은 RAID 정보를 검사하는 방법의 흐름도이다. 도 3에 도시된 단계들은 P+Q 검사 시스템(100) 및 P+Q 검사 시스템(200) 중 하나 이상의 요소들에 의해서 수행될 수 있다.
복수의 저장 디바이스들은 복수의 가상 버퍼들(302)에 복수의 RAID 스트립들을 제공하도록 제어된다(302). 예를 들어, RAID 어레이에서의 복수의 저장 디바이스들은 자신의 RAID 스트립들을 P+Q 검사 시스템(200)에 의해 에뮬레이팅되는 어드레스 범위로 제공하기 위해 제어될 수 있다. 복수의 RAID 스트립들이 수신된다(304). 예를 들어, XOR(260) 및 GF 승산기(230)는 블록(302)에 제공된 RAID 스트립들을 수신할 것이다.
복수의 P-데이터 값들은 상기 복수의 RAID 스트립들에 기초하여 누산된다(306). 예를 들어, P-데이터 누산기 버퍼(240)는 블록(304)에서 수신된 RAID 스트립들에 기초하여 다수의 P-데이터 값들을 누산할 수 있다. 복수의 Q-데이터 값들은 상기 복수의 RAID 스트립들 및 복수의 상수들에 기초하여 누산된다(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), 배타적-OR(XOR)(160), 배타적-OR(160), 어드레스 비교기(210), 갈로아 필드(GF) 승산기(230), P-데이터 누산기 버퍼(240), Q-데이터 누산기 버퍼(250), 배타적-OR(XOR)(260), 및 배타적-OR(261), 상수 선택기(211), 완료 검출기(212), 및 버퍼 관리자(213)를 포함한다.
도 4는 컴퓨터 시스템의 블록도를 도시한다. 컴퓨터 시스템(400)은 통신 인터페이스(420), 프로세싱 시스템(processing system)(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) 및 원격으로 저장된 소프트웨어는 운영 시스템, 유틸리티(utility)들, 드라이버(driver)들, 네트워킹 소프트웨어, 및 컴퓨터 시스템에 의해 전형적으로 실행되는 다른 소프트웨어를 포함할 수 있다. 소프트웨어(450)는 애플리케이션 프로그램, 애플릿(applet), 펌웨어(firmware), 또는 컴퓨터 시스템에 의해 전형적으로 실행되는 다른 형태의 기계 판독 가능 프로세싱 명령들을 포함할 수 있다. 프로세싱 시스템(430)에 의해서 실행될 때, 소프트웨어(450) 또는 원격으로 저장된 소프트웨어는, 컴퓨터 시스템(400)에 본원에 기술된 대로 동작하라고 명령할 수 있다.
본 발명의 상술한 설명은 설명 및 기술의 목적들을 위해 제공되었다. 그것은 철저하다거나 본 발명을 개시된 정확한 형태로 제한하고자 의도된 것은 아니며, 상술한 내용들의 관점에서 다른 수정들 및 변형들이 가능할 것이다. 실시예는 본 발명의 원리들 및 그의 실제적 응용을 가장 양호하게 설명함으로써 당업자들이 고려된 특정한 사용에 적합한 다양한 실시예들 및 다양한 수정들로 본 발명을 가장 잘 이용할 수 있도록 하기 위해서 선택되었고 기술되었다. 부가된 청구항들은 종래 기술에 의해 제한되는 범위를 제외하고 본 발명의 다른 대안 실시예들을 포함하는 것으로 해석되도록 의도된다.
100 : P+Q 검사 시스템 101 : 어드레스 버스
102 : 데이터 버스 103 : 시스템 버스
110 : 어드레스 비교기 120 : 상수 선택기
130 : 갈로이 필드(GF) 승산기 140 : P-데이터 누산기
150 : Q-데이터 누산기 160 : 배타적-OR(XOR)
161 : 배타적-OR

Claims (12)

  1. RAID 정보를 검사하기 위한 시스템에 있어서:
    시스템 버스 상의 제 1 어드레스가 RAID 검사 범위에 대응함을 결정하는 어드레스 비교기;
    RAID P-데이터 누산기 내에 저장되어 있는 데이터 및 상기 시스템 버스로부터 수신되는 데이터의 배타적 OR의 제 1 결과를 저장하는 상기 RAID P-데이터 누산기로서, 상기 시스템으로부터 수신되는 상기 데이터는 상기 시스템 버스 상의 상기 제 1 어드레스로 송신되는 데이터에 대응하고, 상기 시스템 버스 상의 상기 제 1 어드레스는 상기 RAID 검사 범위에 대응하는, 상기 RAID P-데이터 누산기;
    상기 시스템 버스 상의 상기 제 1 어드레스에 기초하여, 상기 시스템 버스로부터 수신되는 상기 데이터에 대응하는 상수들의 세트 중 하나를 선택하는 상수 선택기; 및
    RAID Q-데이터 누산기 내에 저장되어 있는 데이터의 배타적-OR의 제 2 결과 및 상기 상수들의 세트 중 하나 및 상기 시스템 버스로부터 수신되는 상기 데이터의 갈로아 필드(Galois field) 승산의 제 3 결과를 저장하는 상기 RAID Q-데이터 누산기를 포함하는, RAID 정보를 검사하기 위한 시스템.
  2. 제 1 항에 있어서,
    데이터의 세트가 상기 시스템 버스로부터 언제 수신되었는지를 결정하는 완료 검출기를 추가로 포함하는, RAID 정보를 검사하기 위한 시스템.
  3. 제 2 항에 있어서,
    상기 데이터의 세트는 RAID P-데이터 및 RAID Q-데이터를 포함하는 RAID 데이터 스트라이프를 포함하는 복수의 데이터 블록들을 포함하는, RAID 정보를 검사하기 위한 시스템.
  4. 제 1 항에 있어서,
    상기 시스템 버스 상의 제 2 어드레스가 RAID P-데이터 검사 범위에 대응하는지를 결정하는 P-어드레스 비교기를 추가로 포함하고,
    상기 RAID Q-데이터 누산기는 상기 RAID P-데이터 검사 범위에 대응하는 상기 시스템 버스 상의 상기 제 2 어드레스에 응답하여 상기 제 2 결과를 저장하지 않는, RAID 정보를 검사하기 위한 시스템.
  5. 제 1 항에 있어서,
    RAID Q-데이터 검사 범위에 대응하는 상기 시스템 버스 상의 제 2 어드레스를 결정하는 Q-어드레스 비교기를 추가로 포함하고,
    상기 RAID P-데이터 누산기는 상기 RAID Q-데이터 검사 범위에 대응하는 상기 시스템 버스 상의 상기 제 2 어드레스에 응답하여 상기 제 1 결과를 저장하지 않는, RAID 정보를 검사하기 위한 시스템.
  6. 제 4 항에 있어서,
    RAID Q-데이터 검사 범위에 대응하는 상기 시스템 버스 상의 제 3 어드레스를 결정하는 Q-어드레스 비교기를 추가로 포함하고,
    상기 RAID P-데이터 누산기는 상기 RAID Q-데이터 검사 범위에 대응하는 상기 시스템 버스 상의 상기 제 3 어드레스에 응답하여 상기 제 1 결과를 저장하지 않는, RAID 정보를 검사하기 위한 시스템.
  7. RAID 정보를 검사하는 방법에 있어서:
    복수의 RAID 스트립들을 제공하기 위한 복수의 저장 디바이스들을 제어하는 단계로서, 상기 복수의 RAID 스트립들은 복수의 가상 버퍼들로 송신되는, 상기 제어 단계;
    상기 복수의 RAID 스트립들을 수신하는 단계; 및
    상기 복수의 가상 버퍼들 각각에 대응하는 복수의 P-데이터 값들 및 복수의 Q-데이터 값들을 누산하는 단계로서, 상기 복수의 P-데이터 값들 및 상기 복수의 Q-데이터 값들은 상기 복수의 가상 버퍼들의 각각에 대하여 수신되는 상기 복수의 RAID 스트립들에 대응하는, 상기 누산 단계를 포함하는, RAID 정보를 검사하는 방법.
  8. 제 7 항에 있어서,
    상기 복수의 Q-데이터 값들은 상기 복수의 RAID 스트립들의 각각이 송신되었던 상기 복수의 가상 버퍼들 중 대응하는 하나에 기초하여 선택되는 복수의 상수들에 기초하는, RAID 정보를 검사하는 방법.
  9. 제 7 항에 있어서,
    P-데이터 가상 버퍼로 송신되는 RAID P-데이터 스트립을 제공하기 위해 저장 디바이스를 제어하는 단계;
    상기 RAID P-데이터 스트립을 수신하는 단계; 및
    상기 RAID P-데이터 스트립을 상기 복수의 P-데이터 값들 중 적어도 하나로 누산한 결과에 기초하여, 에러 상태를 결정하는 단계를 추가로 포함하는, RAID 정보를 검사하는 방법.
  10. 제 7 항에 있어서,
    Q-데이터 가상 버퍼로 송신되는 RAID Q-데이터 스트립을 제공하기 위해 저장 디바이스를 제어하는 단계;
    상기 RAID Q-데이터 스트립을 수신하는 단계; 및
    상기 RAID Q-데이터 스트립을 상기 복수의 Q-데이터 값들 중 적어도 하나로 누산한 결과에 기초하여, 에러 상태를 결정하는 단계를 추가로 포함하는, RAID 정보를 검사하는 방법.
  11. 제 7 항에 있어서,
    P-데이터 가상 버퍼로 송신되는 RAID P-데이터 스트립을 제공하기 위해 제 1 저장 디바이스를 제어하는 단계;
    상기 RAID P-데이터 스트립을 수신하는 단계; 및
    Q-데이터 가상 버퍼로 송신되는 RAID Q-데이터 스트립을 제공하기 위해 제 2 저장 디바이스를 제어하는 단계;
    상기 RAID Q-데이터 스트립을 수신하는 단계; 및
    상기 RAID Q-데이터 스트립을 상기 복수의 Q-데이터 값들 중 적어도 하나로 누산한 상기 결과에 기초하고, 상기 RAID P-데이터 스트립을 상기 복수의 P-데이터 값들 중 적어도 하나로 누산한 상기 결과에 기초하여, 에러 상태를 결정하는 단계를 추가로 포함하는, RAID 정보를 검사하는 방법.
  12. RAID 정보를 검사하기 위한 시스템에 있어서:
    시스템 버스 상에 제공되는 어드레스를 복수의 가상 어드레스 버퍼 범위들과 비교하는 가상 버퍼 비교기;
    상기 복수의 가상 어드레스 버퍼 범위들 중 하나에 대응하는 상기 시스템 버스 상에 제공되는 상기 어드레스에 응답하여, 갈로아 필드 상수 및 누산기 버퍼 어드레스를 선택하는 선택기;
    상기 갈로아 필드 상수 및 상기 시스템 버스 상에 존재하는 상기 어드레스에 대응하는 데이터의 블록에 대한 갈로아 필드 승산을 수행하는 갈로아 필드 승산기;
    상기 데이터의 블록에 대한 배타적 OR 연산의 P-데이터 결과 및 상기 누산기 버퍼 어드레스에 대응하는 저장된 P-데이터 값을 저장하는 P-데이터 배타적 OR 누산기; 및
    갈로아 필드 승산 결과에 대한 배타적 OR 연산의 Q-데이터 결과 및 상기 누산기 버퍼 어드레스에 대응하는 저장되는 Q-데이터 값을 저장하는 Q-데이터 배타적-OR 누산기를 포함하는, RAID 정보를 검사하기 위한 시스템.
KR1020107013560A 2008-11-19 2009-01-09 Raid 정보의 메모리 효율 검사 KR20110095126A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11626508P 2008-11-19 2008-11-19
US61/116,265 2008-11-19

Publications (1)

Publication Number Publication Date
KR20110095126A true KR20110095126A (ko) 2011-08-24

Family

ID=42198425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107013560A KR20110095126A (ko) 2008-11-19 2009-01-09 Raid 정보의 메모리 효율 검사

Country Status (7)

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

Families Citing this family (13)

* 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乘法器、校验位生成装置、主控芯片及固态硬盘
US11361839B2 (en) * 2018-03-26 2022-06-14 Rambus Inc. Command/address channel error detection
CN111625181B (zh) * 2019-02-28 2022-03-29 华为技术有限公司 数据处理方法、独立硬盘冗余阵列控制器和数据存储系统
US11023321B2 (en) * 2019-09-27 2021-06-01 Dell Products L.P. Raid storage-device-assisted deferred parity data update system
US11023322B2 (en) * 2019-09-27 2021-06-01 Dell Products L.P. Raid storage-device-assisted parity update data storage 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阵列巡检方法、巡检装置和电子设备

Family Cites Families (12)

* 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
US5526503A (en) * 1993-10-06 1996-06-11 Ast Research, Inc. Virtual addressing buffer circuit
JP3600334B2 (ja) * 1995-02-17 2004-12-15 株式会社東芝 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置
US6687872B2 (en) 2001-03-14 2004-02-03 Hewlett-Packard Development Company, L.P. Methods and systems of using result buffers in parity operations
US7139873B1 (en) * 2001-06-08 2006-11-21 Maxtor Corporation System and method for caching data streams on a storage media
US7370248B2 (en) 2003-11-07 2008-05-06 Hewlett-Packard Development Company, L.P. In-service raid mirror reconfiguring
JP4288486B2 (ja) 2003-11-17 2009-07-01 日本電気株式会社 ディスクアレイ装置,raid用パリティデータ生成回路およびガロア体乗算回路
US20060123271A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR
JP4435705B2 (ja) * 2005-03-14 2010-03-24 富士通株式会社 記憶装置、その制御方法及びプログラム
US8291161B2 (en) * 2005-10-07 2012-10-16 Agere Systems Llc Parity rotation in storage-device array
US7664915B2 (en) * 2006-12-19 2010-02-16 Intel Corporation High performance raid-6 system architecture with pattern matching
JP4358869B2 (ja) * 2007-02-21 2009-11-04 富士通株式会社 ストレージ制御装置、ストレージ制御方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5502883B2 (ja) Raid情報のメモリ効率検査
US8473816B2 (en) Data verification using checksum sidefile
US11023150B2 (en) Block mode toggling using hybrid controllers
US7036066B2 (en) Error detection using data block mapping
US10528272B2 (en) RAID array systems and operations using mapping information
US7647526B1 (en) Reducing reconstruct input/output operations in storage systems
US9652408B2 (en) System and method for providing data integrity
US8583984B2 (en) Method and apparatus for increasing data reliability for raid operations
US7774643B2 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US7752389B1 (en) Techniques for determining physical data layout of RAID devices
US9778986B2 (en) Storage system
US9543988B2 (en) Adaptively strengthening ECC for solid state cache
US8438429B2 (en) Storage control apparatus and storage control method
US8595397B2 (en) Storage array assist architecture
US20090307420A1 (en) Storage apparatus and failure recovery method
US8489976B2 (en) Storage controlling device and storage controlling method
US8418029B2 (en) Storage control device and storage control method
US9134926B2 (en) Protection information initialization
JP2011227859A (ja) 破損データまたはシンドローム・ブロックの突止めおよび訂正

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal