KR940011039B1 - Dasd 배열내에서의 분배 스페어링 방법 및 장치 - Google Patents

Dasd 배열내에서의 분배 스페어링 방법 및 장치 Download PDF

Info

Publication number
KR940011039B1
KR940011039B1 KR1019920008032A KR920008032A KR940011039B1 KR 940011039 B1 KR940011039 B1 KR 940011039B1 KR 1019920008032 A KR1019920008032 A KR 1019920008032A KR 920008032 A KR920008032 A KR 920008032A KR 940011039 B1 KR940011039 B1 KR 940011039B1
Authority
KR
South Korea
Prior art keywords
dasd
blocks
parity
array
spare
Prior art date
Application number
KR1019920008032A
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 인터내셔널 비지네스 머신즈 코포레이션
Application granted granted Critical
Publication of KR940011039B1 publication Critical patent/KR940011039B1/ko

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2094Redundant storage or storage space
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • 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/1028Distributed, i.e. distributed RAID systems with parity

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)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

내용 없음.

Description

DASD 배열내에서의 분배 스페어링 방법 및 장치
제 1 도는 종래 기술에 의한 전용 패리티 및 스페어 DASD를 사용하는 기억 경계와 동면인 패리티군과, 스페어 DASD상에 부재 데이타 또는 패리티의 재구축을 보여주는 것임.
제 2 도는 동일군 또는 공간의 8개의 요소가 동일한 DASD 상에 위치되지 않는 본 발명에 의한 분배 방법으로서, 단일 DASD 고장으로부터 복구를 허용하는 K 블록 또는 공간/DASD 용량의 N+2SDASD 배열에 걸쳐서 K 패리티군{(4+P)<(N+2)} 및 K 스페어 공간을 분배시키는 것을 도시한 것임.
제 3 도 또한 동일군 또는 공간의 2개의 요소가 동일한 DASD 상에 위치되지 않는 본 발명에 의한 분배 방법으로서, 2개까지의 DASD 고장의 복귀를 허용하는 K 블록/DASD 용량의 N+2DASD 배열에 걸쳐서 K 패리티군{(3+P)<(N+2)} 및 2K 스페어 공간의 분배를 보여주는 것임.
제 4 도는 분배 스페어링을 가진 2개의 DASD 배열을 도시한 것임.
제 5 도는 및 제 6 도는 2개의 배열중 제 1의 하나에 있어서 1개 이상의 DASD의 고장 및 배열에 걸쳐서 분배된 스페어 공간상에 부재 데이타의 재구축을 보여주는 것임.
제 7 도는 부분 분배 스페어링을 도시한 것임.
제 8 도는 배열 제어 유니트를 경유하여 CPU에 부착된 N+2DASD의 동기 배열을 도시한 것임.
* 도면의 주요부분에 대한 부호의 설명
1 : CPU 2 : 배열 제어 유니트
3 : 채널 7 : 제어 경로
9 : 데이타 경로 13 : 캐쉬
본 발명은 DASD 기억 서브 시스템에 관한 것으로서, 더욱 구체적으로는 결함 허용적이고 성능 저하된 데이타 재구축 모드에서 배열 작용을 최적화하도록 스페어 DASD 배열 용량을 관리하기 위한 방법 및 장치에 관한 것이다.
배열, 중복성의 효과, 판독 및 기록
종래 기술에 있어서, N 데이타+P 패리티 DASD의동기 배열로부터 및 그에 대하여 데이타+(데이타상에서 정의된 바와 같은) 패리티를 판독하고 기록하는 것이 공지되어 있다. DASD 배열 관리는 데이타 속도를 단일 DASD의 N*속도까지 증가시키고 논리적 트랙 사이즈를 N*단일 DASD 트랙 길이까지 증가시킨다. 이에 관하여서는 버클리의 캘리포니아 대학교, 컴퓨터 과학 디비젼에서 1987년 12월에 발행한 보고서 UCB/CSD 87/391호에 개재된 Patterson등의 "저가 디스크의 중복 배열(RAID)에 대한 소고"를 참조할 수 있다.
데이타 문자열(data string)을 DASD에 기록하는 것이 데이타를 N블록으로 세그먼팅하고(termed striping), 블록상에서 패리티를 결정하고, 대융 고장 독립, DASD 상의 동기 어드레스에서 N 데이타+P패리티 블록들을 기억시키는 것을 포함하는 것도 또한 공지되어 있다. 마찬가지로, 한 배열로부터 데이타 문자열을 판독하는 것은 대응 DASD들상의 동기 어드레스로부터 N+P 어드레스 블록들은 버퍼내에 복제하고, 그것들을 접합하고(concatenating), 패리티를 검사하여, 버퍼로부터의 접합된 블록들(문자열)을 억세스 CPU에 순차 이동시키는 것을 수반한다.
[DASD 고장 및 MTBF]
DASD를 배열로 집단화하는 것이 평균 DASD 고장 간격을 개선시키지 못한다는 사실은 잘 알려져 있다. 이는 오히려 그것을 감고시킨다. 그러나, 중복 정보(패리티), 고장난 것에 대한 형식화된 스페어 DASD들의 동적 치환, 및 치환된 스페어상에 부재 데이타의 재구축을 결합 사용하는 것은 실질적으로 평균 데이타 사용 불능 간격을 최소 정도의 크기까지 증가시킨다. 이는 1986년 11월에 발행된 Princeton 대학교의 보고서 CS-TR-057-86중에 Park등의 "병렬 보조 기억 시스템에 있어서 결함 허용의 제공"과 1990. 4. 3.자 발행된 Dunphy 등의 미합중국 특허 제 4,914,656 호, "디스크 드라이브 기억 장치"에 기재되어 있다.
[패리티군(Parity Group)의 2가지 용도]
용어 "패리티군"은 데이타 배향 및 기억 배향 용도를 갖는다. 데이타 용도에 있어서, "패리티군"은 미리 정해진 수의 논리적으로 연관된 데이타 블록+이 데이타 블록상에 정의되거나 그로부터 유도된 하나의 패리티 또는 동등한 중복 정보를 의미한다. 기억 용도에 있어서, "패리티군"은 그 데이타 내용이 중복 정보의 값을 정하는 미리 정해진 수의 논리적으로 연관된 물리적 기억 위치를 의미한다.
[패리티 전계(Parity Spreading) 및 DASD 배열]
1990. 8. 3.자 출원된 Mattson과 Ng의 동시 출원 미합중국 특허출원 제 07/562,188 호, "성능 저하 모드에서의 작동시 DASD 배열 억세스 관리 방법 및 장치"는 패리티군을 Patterson의 RA1D5형 DASD 배열에 사용하는 것과 같이 데이타 블록의 논리적 연관으로서 사용한다. Natterson의 특허에 있어서, 패리티군의 데이타 및 기억 경계는 반드시 동연(eoextensive)인 것은 아니었다. 유일한 제한은 같은 데이타 패리티군으로부터의 2개의 세그먼티드 블록이 같은 DASD 상에 기록되지 않는다는 것이었다.
이에 비하여, 1990. 4. 3. 발행된 Dunphy등의 미합중국 특허 제 4,914,656 호, "디스크 드라이브 기억 장치"는 데이타상의 패리티를 Mattson의 특허에서와 같이 정의한다. 그러나, Dunphy의 특허에 있어서, 기억 경계들은 데이타 패리티군의 것과 동일하다. 이들은 스페어 DASD가 고장 DASD에 치환되고 부재 데이타가 치환된 스페어상에 재구축 및 기록되기 때문에 고장이 있더라고 유지된다.
1988. 8. 2. 자 발행된 Clark등의 미합중국 특허 제 4,761,785 호, "패리티 전개 향상 기억 억세스"는 비동기 DASD 기억 서브 시스템을 개시하고 잇는데, 여기서 패리티군은 기억 범위에 걸쳐서 정의되고 데이타 경계는 반드시 기억 경계와 동연인 것은 아니다.
Clark등의 특허에서, 각 데이타 문자열은 "기억" 패리티군의 연속 위치내에 기록된다. 데이타 문자열 크기가 패리티군의 용량을 초과하면, 데이타 문자열의 나머지는 다른 "기억"패리티군내에 기록된다. 데이타 문자열이 패리티군보다 작으면, 나머지 공간은 다른 데이타 문자열에 의해 차지될 수 있다. 패리티는 군을 형성하는 DASD들의 논리적 연관 범위(어드레스 위치의 범위)를 차지하는 정보에 걸쳐서 취하여진다.
[분배 패리티 및 가상(virtual) 또는 분배 스페어링]
Clark등은 또한 대응 기억 패리티군에 대한 패리티 블록의 위치가 서브 시스템내의 DASD에 걸쳐서 분배될 수 있고 그때의 유일한 제한은 블록의 전부가 단일 DASD 상에 기록되지 않는다는 것임을 교시하고 있다. 이는 1978. 5. 30.자 발행된 Ouchi의 미합중국 특허 제 4,092,732 호, "고장난 기억 장치내에 기억된 데이타의 복구 장치" 및 패리티가 전용 DASD에 기록되는 Dunphy등의 특허와는 대조적이다.
Bond등의 동시 출원, 1990. 6. 21.자 미합중국 특허출원 제 07/542,216 호, "패리티 보호 데이타 복구 방법 및 장치"는 비동기 DASD들중에서 가상 스페어(virtual spare)의 사용을 교시하고 있는데, 여기서 패리티군은 기억 장치 전체에 걸쳐서 정해지고, 데이타와 기억 경계는 반드시 동연인 것은 아니다.
Bond등의 출원에서, CPU는 논리적 스페어 DASD에 대하여 판독 및 기록할 수 있다. 논리적 어드레스는 1개 이상의 진정 DASD에 걸쳐서 블특정한 방법으로 분배된다. 더욱 구체적으로 말하자면, Bond등의 출원은 Clark의 특허에서와 같이 분배된 패리티 블록의 위치가 마치 하나의 DASD가 고장난 후에 억세스 되는 데이타의 재구축시의 스페어 위치였던 것처럼 중복 기재(overwritten)될 수 있음을 교시하고 있다. 통상, 이는 부재 데이타를 포함하는 패리티군의 패리티 블록을 의미한다. Bond의 출원은 이 개념을 DASD중에서 다른 스페어 또는 중요하지 않는 위치의 사용에까지 확장한다.
Bond식 분배 스페어링을 사용하는 배열 성능의 한계
군 패리티 위치내에 재구축된 데이타를 기록하는 것에 의한 Bond식의 분배 스페어링에서, 일단 복구 작업이 완료되면, 시스템은 패리티없이 동작한다. 이는 고도의 유용한 결함 허용 시스템에 대하여 유해한 것이다.
대안으로서, Bond 등의 출원은 상이한 DASD 상에 스페어 블록을 예비시킨다. 하나의 DASD가 고장나면, 데이타는 잔존하는 DASD 상의 스페어 블록상에 재발생되어 기록된다. Bond 가 생각하지 못한 점은 다음과 같다.
a. 동일한 기억 패리티군으로부터의 2개 이상의 데이타 블록이 동일한 DASD 상에 기록된다. 하나의 DASD가 이제 고장났다면, DASD 배열 서브 시스템은 데이타를 잃게 되는데, 이는 바람직하지 못하다.
b. 전에는 상이한 DASD 상에 위치하다가 이제는 동일한 DASD 상에 존재하는 동일군의 데이타 블록은 병렬로 판독될 수 없다.
c. 어떠한 부재 데이타 또는 패리티 블록을 계산하도록 잔존 데이타 블록을 판독하는 것과 재구축된 데이타 또는 패리티 블록을 기록하는 것 사이의 DASD 암 스틸링(arm stealing)에 의하여 발생된 경쟁적 처리중의 자원 공유(resource sharing)로 인한 처리물의 저하.
본 발명의 한 목적은 부재 데이타와 패리티 블록의 재구축을 촉진하고 이들을 다시 스페어 블록 DASD 위치내에 복제하기 위한 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 스페어 블록과 함께 패리티군(각 군은 N 데이타 및 P 패리티 블록을 가짐)을 형성하는 데이타 및 패리티 블록이 적어도 하나의 콤비네이토리알 설계(combinatorial design)에 따라서 배열 블록 위치상에 분배되는 방법 및 장치를 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 전술한 콤비네이토리알 설계가 부재 데이타 및 패리티 블록을 재구축하기 위한 억세스 횟수 및 스페어 블록 위치내로의 복제 횟수를 최소화시키는 것이다.
본 발명의 또다른 목적은 부재 데이타 또는 패리티 블록의 재구축 및 복제, 그리고 그에 대한 후속 조회시에 처리율을 최대화시키는 것이다.
또한, 상기 방법 및 장치는 2개 이상의 고장 독립 DASD 배열을 어드레싱하는 기억 서브 시스템에까지 용이하게 확장 가능한 것이어야 한다. 또한, 상기 방법 및 장치는 콤비네이토리알 설계가 다중 고장 독립 배열에 걸쳐서, 그리고 상이한 스페어링 비율 또는 프랙션(fraction)에 관하여 분배 가능하게 되도록 확장가능한 것이어야 한다.
전술한 목적들은 복수의 DASD를 가지며 각 DASD는 K 블록을 기억하는 기억 서브 시스템내에서 고장된 DASD 상에 존재하는 패리티군 부분을 재구축하는 방법 및 장치에 의하여 충족된다. 또한, 각 패리티군은 N 데이타, P 패리티 및 S 스테어 블록을 포함한다.
본 발명의 방법 및 장치는 N+P+S DASD의 배열로 배치하는 것을 포함한다. 다음에, 동일한 패리티군으로부터의 2개의 블록이 동일한 DASD 상에 존재하지 않도록 K 패리티군이 N+P+S DASD의 부분 집합에 걸쳐서 동기 배열 어드레스내에 분배된다. 스페어 기억을 구성하는 K*S 블록은 각 DASD가 그 위에 K*S/(N+P+S)의 스페어 블록을 포함하도록 배열에 걸쳐서 분배된다. 또한, S 이상의 스페어 기억 블록과 P 이상의 패리티 블록은 동일한 동기 배열 어드레서 또는 동일한 DASD 상에 기록되지 않는다.
단일 DASD 고장의 경우, (K-(K*S/(N+P+S))의 영향받은 패리티군의 각각에 대하여, 군에 속하는 N+P+S-2의 블록들이 다른 N+P+S-2의 다른 DASD로부터 단일 블록으로 논리적으로 결합된다(XOR된다). 각각의 단일 블록은 동일한 패리티군의 2개의 블록이 동일한 DASD 상에 분배되지 않도록 나머지 K*S*(N+P+S-1)/(N+P+S)의 스페어 블록중 대응하는 하나에 기록된다.
제 1 실시예(P=1,S=1)에 있어서, 본 발명의 방법과 장치는 N+2DASD의 배열을 배치하는 것을 포함한다. 다음 단계는 동일한 패리티군으로부터의 2개의 블록이 동일한 DASD 상에 존재하지 않도록 N+1 DASD의 배열의 부분 집합에 걸쳐서 동기 배열 어드레스내에 K-K/(N+2)의 패리티군을 분배하는 것임을 포함한다. 이와 동시에, 스페어 기억으로서의 K 블록은 각 DASD가 그위에 K/(N+2)의 스페어 블록을 포함하도록 배열에 걸쳐서 분배된다. 일반적인 경우에서와 같이, 1개 이상의 스페어 기억 블록과 1개 이상의 패리티 블록은 동일한 동기 배열 어드레스 또는 동일한 DASD 상에 기록되지 않는다.
단일 DASD 고장의 경우, K-K(N+2)의 패리티군 각각에 대하여, 군에 속하는 N 블록이 N개의 다른 DASD로부터 단일 블록으로 논리적으로 결합된다. 각각의 단일 블록은 동일한 패리티군의 2개의 블록이 동일한 DASD 상에 분배되지 않도록 나머지 K*(N+1)/(N+2)의 스페어 블록중 대응하는 하나에 기록된다.
다른 실시예(P=1,S=2)에 있어서, 2*K의 스페어 기억 블록 및 (K-2*K/(N+3))의 패리티 블록은, 2개 이상의 스페어 기억 블록이나 1개 이상의 패리 블록이 동일한 동기 배열 어드레스 또는 동일한 DASD상에 기억되지 않도록 분배된다. 이는 제 1의 DASD가 고장난 후에 부재 데이타를 제 1 시리즈의 스페어 블록에 재구축하여 기록하고, 제 2의 DASD가 고장나는 드문 경우에 같은 공정을 반복할 수 있게 한다.
본 발명의 방법 및 장치는 다중 고장 독립 DASD 배열을 갖는 기억 서브 시스템에까지 확장 가능하다. 다중 DASD 고장이 동일한 배열에서 발생하면, 부재 데이타가 제 1 배열의 스페어 공간에 우선 재구축되고 나머지 부재 데이타는 제 2 배열의 스페어 공간에 재구축된다.
기억 서브 시스템 확장이 분배 스페어 용량을 가진 하나의 배열과 스페어가 없는 배열을 포함한다면, 그러한 용량은 간편하게 공유될 수 있을 것이다. 또한, 1개 이상의 스페어 DASD의 용량을 나타내는 블록은, 동기 어드레스 또는 DASD가 1개 이상의 그러한 스페어 블록 증분을 갖지 않도록 다중 배열에 걸쳐서 분배될 수 있다. 다음에, 패리티군은 회전 방법 또는 블록 오프셋(offset) 방법으로 그들 각각의 배열에 걸쳐서 기록될 수 있다. 이는 균일한 공유를 가능하게 한다.
스페어링 프랙션 또는 비율 목적을 유지하면서 기억 서브 시스템에의 DASD 배열 확장을 가능하게 하는 패리티군 및 스페어링의 다른 분배 방법이 개시된다.
[DASD 배열 구성]
제 8 도를 참조하면, 채널(3), 배열 콘트롤러(5), 및 캐시(cache)(13)을 포함하는 경로를 거쳐서 DASD1 내지 N+2를 억세스하는 CPU(1)이 도시되어 있다. 콘트롤러(5)는 동작시에 동기를 확실히 유지시키고 제어 경로(7)을 거쳐서 N+2의 DASD중, 즉 DASD1 내지 DASD N+2중 임의 의 N+1을 동시에 억세스한다.
소정수의 연속 바이트를 정의하는 N+1 흐름(stream)의 데이타가 데이타 경로(15)를 거쳐서 캐시(13)에 병렬로 교환될 수 있다. N+1 흐름의 데이타는 모두 단일 억세스(동기 연산)에 응답될 수있다. 또한, 본 발명은 N+1 흐름의 각각이 상이한 억세스(비동기 연산)에 응답될 수 있는 경우에도 동작된다. 마찬가지로, 콘트롤러(5)에서 판독 방향으로 병렬-직렬 변환 및 기록 방향으로 직렬-병렬 변환후에 데이타는 CPU(1)과 콘트롤러(5) 사이에서 경로(3)에 따라서 순차적으로 바이트로 교환될 수 있다.
판독 방향으로, 데이타는 캐시(13)으로부터 데이타 경로(9)와 (11)을 겨쳐서 콘트롤러(5)에 공급된다. 기록 방향으로, 데이타는 콘트롤러(5)로부터 경로(9)와 (11)을 거쳐서 캐시(3)으로 이동된다.
[피래티, DASD 고장 및 스페어링, 견고성]
DASD 배열은 단일 DASD 고장을 보호하기 위하여 패리티를 사용한다. 하나의 DASD가 고장나면, 그 DASD상에서 사용된 데이타는 필요에 따라서 잔존 DASD 상의 데이타와 패리티를 사용하여 재구축될 수 있다. 이는 표 1에서 5개의 DASD로 된 DASD배열로 도시되어 있다. 이 표에서, Pi는 4개의 데이타 블록 Di를 보호하는 패리티이다. DASD 배열은 4개의 데이타 블록에 대하여 1개의 패리티가 있기 때문에 4+P 배열이라고 부른다.
[표 1]
(5개의 블록으로 구성된)하나의 트랙만 각각의 DASD로부터 도시되어 있다. P1은 모든 데이타 DASD상에서 블록 D1의 패리티 또는 배타적 논리합(exclusive OR)을 포함한다. 마찬가지로, P2는 모든 DASD상에서 블록 D2의 배타적 논리합이며, P3 이하 마찬가지이다. 패리티 블록들은 작업량의 균형을 유지하도록 모든 드라이브에 걸쳐서 분배됨은 물론이다.
이러한 DASD 배열은 단일 DASD 고장에 대하에시는 견고한다. DASD1이 고장났다면, 그 위의 데이타는 나머지 4개의 DASD로부터 데이타와 패리티를 판독하고 적절한 배타적 논리합 연산을 수행함으로써 재생될 수 있다.
배열중의 하나의 DASD가 고장나면, 그 배열의 성능과 신뢰도가 저하되기 때문에, "성능 저하 모드"로 들어갔다고 말한다. 더 이상 억세스가 불가능한 블록을 재구축하는 동안에, 고장난 DASD상의 블록에 대한 모든 DASD 억세스는 배열내의 다른 DASD들에 대한 DASD 억세스로 되어야 하기 때문에, 성능이 저하된다. 고장된 DASD가 교체되고, 그위에 데이타가 재구축되기 전에 제 2의 DASD가 고장나면, 그 배열은 데이타를 잃게 되기 때문에 신뢰도가 저하된다.
본 발명의 명세서에 있어서, 용어 "신뢰도"는 그것이 보유하고 있는 데이타의 손실로부터의 면역 정도를 의미한다. 데이타 손실로부터의 면역이 높을수록, 또는 데이타 손실까지의 평균시간(MTTDL)이 클수록, 배열의 신뢰도가 높아진다. 데이타 손실의 가능성을 최소화하고 배열이 저하된 성능으로 동작하는 시간의 길이를 최소화하기 위하여, 배열들은 때때로 배열의 정수부(integral part)인 "핫 스페어(hot spare)" DASD를 사용한다. 스페어 DASD(들)은 정상 동작시에는 사용되지 않는다. DASD 고장시에, 고장된 DASD 상에 있도록 사용된 데이타는 스페어 DASD에 재구축된다. 배열은 고장된 DASD가 스페어 DASD에 재구축되면 즉시 저하된 모드로부터 벗어나서 정상 모드의 동작으로 다시 들어갔다고 말하여진다(때로는 "결함 허용 모드"라고도 한다).
[종래의 스페어링]
이제 제 1 도를 참조하면, 패리티군이 기억 경계와 동연인 배열이 도시되어 있다. 이 배열은 종래의 기술에 따라서 스페어 DASD 상에 부재 데이타 또는 패리티를 재구축하는 것을 돕기 위하여 전용 패리티 및 스페어 DASD를 사용한다.
제 1 도의 배열은 N+2의 DASD(N=4)를 포함한다. DASD들중 하나가 정상 동작시에 사용되지 않는 스페어 DASD이며 나머지 5개의 DASD가 4+P 배열로서 동작한다. 이는 용어 "전용 스페어링(dedicated sparing)"로 정의된다. 나머지 N+1개(5개)의 DASD들은 각각 어떤 수 K의 블록들 또는 블록위치들로 나누어진다. 이는 "패리티군"이라고 불리우며, N개의 데이타와 하나의 패리티 블록, 즉 N+1개의 DASD 각각으로부터의 하나의 블록으로 구성된다. 이 배열은 각각 N+1개의 블록들 또는 블록 위치들을 가진 K개의 패리티군을 기억할 수 있다.
본 발명 및 Dunphy등의 특허와 같은 종래의 기술에 있어서, 데이타 및 패리티의 논리적으로 관련된 모든 N+1 블록들은 어드레스 가능한 기억의 N+1 블록들내에 1대 1로 배치된다. 그 결과, 데이타와 기억 배향 패리티군 사이의 구별이 없어진다.
어떤 블록 위치내의 데이타가 손실되면, 그 패리티군의 나머지 N 블록 위치들로부터 재구축될 수 있다. 하나의 DASD가 고장나면, K개의 다른 패리티군으로부터의 K개의 블록 위치들이 손실된다. 각각의 손실된 블록 위치는 잔존 DASD로부터의 대응 블록 위치들을 사용하게 재구축될 수 있다. 재구축된 데이타는 스페어 DASD에 기록된다.
다시 제 1 도를 참조하면, 고장난 DASD가 삭제된 것으로 도시되어 있다. 데이타 내용의 재구축은 N개의 다른 DASD로부터의 연산 내용을 XOR(배타적 논리합)하는 것으로서 도시되어 있다. 제 1 도의 배열에 있어서, 하나의 DASD의 고장은 배열로 하여금 4개의 DASD 각각으로부터 6개의 블록 위치들을 판독하고, 고장된 DASD를 대신할 스페어 DASD에 6개의 블록을 기록할 것을 요한다. 즉, 재구축을 완성하는데 총 30개의 DASD I/O가 필요하다.
종래의 스페어링은 두가지 단점을 갖는다. 첫째로, 그것은 스페어 DASD를 정상 동작으로 사용하지 못하다는 것이다. 둘째로, 불사용 스페어 DASD가 고장된 DASD 대용으로 사용될 때에 그 동작 가능성이 불확실하다는 것이다.
두 번째의 단점은 스페어 DASD의 정확한 동작을 확인하기 위하여 스페어 DASD의 여러 트랙을 배열 콘트롤러로 주기적으로 판독 및 기록하게 되면 극복될 수도 있다.
[분배 스페어링]
이제 제 2 도를 참조하면, 분배 스페어링과 분배 패리티가 전과 같이 N+2개의 DASD(N+4)를 포함하는 배열로 도시되어 있다. 어떤 수의 블록 위치들(S1 내지 S6로 표시)이, 모든 DASD상의 총 스페어 공간이 단일 DASD의 용량과 같도록, 각 DASD내에 미사용 상태로 남겨진다. 따라서, 이 방법은 전용 스페어 DASD를 사용하는 현행 방법들에서와 동일한 양의 스페어 공간을 남겨두지만, 그 스페어 공간은 단일의 DASD내에 농축되기 보다는 모든 DASD중에 분배된다. 각 패리티군은 어떤 N 데이타 블록, 하나의 패리티 블록 및 하나의 스페어 블록에까지 연장된다. 데이타 및 패리티 블록은 또한 그들을 다른 스페어 블록과 구분하도록 "정보 블록"이라고도 불리운다.
제 2 도로부터 알 수 있는 바와 같이, 한 패리티군으로부터의 2개의 블록은 동일한 DASD 상에 있지 않다. 따라서, 하나의 DASD가 고장나면, 어떤 패리티군으로부터 최대 1개의 정보 블록이 손실되고 이 손실된 블록은 다른 DASD상의 패리티군의 나머지 정보 블록들로부터 재구축될 수 있다. 한 패리티군으로부터의 손실된 블록은 다른 DASD 상에 있는 그 패리티군을 위한 스페어 블록에 재구축된다.
예를들면, 제 2 도에서, DASD3이 고장났다면, 블록 d1은 DASD6에 , 블록 d2는 DASD5에, 블록 p3은 DASD4에, 블록 d5는 DASD2에, 블록 d6은 DASD1에 재구축될 것이다. 여기서, 정보 블록 d4와 p4는 모두 DASD3의 고장시에도 남아 있으므로 재구축될 필요가 없다. 모두 4개의 블록이 5개의 DASD 각각으로부터 판독되어야 하고 하나의 블록이 5개의 DASD 각각에 기록되어야 하므로, 복구 공정을 완성하기 위하여 총 25개의 DASD I/O가 필요하다. 이는 종래의 스페어링 방법에서 재구축 완성에 필요한 30개의 DASD I/O보다 양호한 것이다.
그 결과, 하나의 패리티군으로부터의 2개의 정보 블록이 재구축 후에 동일한 DASD 상에 있지 않으므로, 또다른 DASD의 고장을 허용할 수 있게 된다.
[분배 스페어링 성능의 중요성]
N+2개의 DASD가 정상 모드(DASD가 고장나지 않았을때)에서 사용되는데, 이는 N+1개의 DASD를 사용하는 현행 방법들과 반대이다. 대표적인 N의 값은 4 내지 10이다. N=4일 때, 분배 스페어링은 5개의 DASD 대신에 6개를 병렬로 사용하고 성능을 정상 모드에서 20%까지 잠재적으로 향상시킨다. N=10일 때, 분배 스페어링은 성능을 정상 모드에서 9%까지 향상시킨다.
하나의 DASD가 고장나면, 배열은 성능 저하 모드로 동작하게 된다. 분배 스페어링은 성능 저하 모드에서 2가지 이유로 종래의 스페어링보다 성능이 우수하다. 첫째로, 더 많은 병렬성(parallelism)(형행 방법의 N개의 DASD 대신에 N+1개를 사용함)이 수반된다. 둘째로, 분배 스페어링에서는 하나의 DASD가 고장날때에 K-(K/(N+2))개의 블록들만 손실된다(이에 비하여 현행 방법에서는 K개의 블록들이 손실됨). 앞서의 예에 있어서, 하나의 DASD가 고장났을 때 5개의 블록들이 손실되었음에 비하여, 종래의 스페어링 방법에서는 6개의 블록들이 손실되었다. 손실된 블록들에 대한 억세스는 추가의 억세스를 필요로 하기 때문에, 블록의 손실이 적을수록 전체 성능은 향상된다.
마지막으로, 분배 스페어링은 손실된 데이타와 재구축시에 우수한 성능을 갖는다. 종래의 스페어링에 있어서, 손실된 데이타는 단일의 DASD에 복구되므로 병목 현상이 될 수도 있다. 분배 스페어링에 있어서, 데이타는 다중 DASD에 병렬로 복구되므로 단일 DASD에서와 같이 병목 현상이 없다. 또한, 본 발명의 방법에서는, 손실 데이타가 적기 때문에, 적은 수의 데이타만 복구하면 된다. 이는, 앞의 예에 있어서, 분배 스페어링은 왜 종래의 스페어링에서 필요한 30개의 I/O 대신에 25개의 I/O만을 필요로 하는가를 설명해준다.
분배 스페어링은 종래의 스페어링에 있어서의 (N+1)*K개의 I/O에 비하여 (N+1)*(K-(K/(N+2))에 의하여 감소되었다.
종래의 스페어링에서와 같이, 부재 데이타 및 패리티 블록의 재구축은 모든 DASD의 실린더 0에서 시작하여 최종 실린더까지 스위프(sweep)하는 것이 적합하다. 스위프의 개시시에, 제 1 패리티군으로부터 손실된 블록은 DASD N+2에 재구축될 것이다. 그 결과, DASD N+2 는 기록되고 다른 DASD들은 판독될 것이다. 다음에, 제 2 패리티군에 대하여, DASD N+1이 기록되고 다른 DASD들이 판독될 것이며, 이와 같이 하여 최종 패리티 그룹까지 재구축될 것이다. 따라서, 제 2 도에서, DASD1, 2, 4 및 5는 블록 1을 판독할 것이고, DASD6은 블록 1을 기록할 것이다. 다음에, DASD1, 2, 4 및 6이 블록 2를 판독할 것이고, DASD5가 블록 2를 기록하는 식으로 될 것이다.
[스페어 분포, 재구축 및 암 스틸링(Arm Stealing)]
분배 스페어 공간이 각 DASD의 마지막 몇 개의 실린더상에 위치한다면, 재구축시에 DASD에 대한 판독 및 기록(동작) 사이에 암 스틸링이 발생할 수 있다. 이는 기록 동작이 암을 제 1 실린더로부터 상하로 스위피하도록 하고, 한편 기록 동작은 암을 최종 실린더에 있도록 한다는 사실로부터 기인한다.
적합하기로는, 재구축시의 암 스틸링을 최소화하기 위하여 스페어 공간이 상이한 DASD 상의 몇 개의 상이한 물리적 위치에 분배되어야 한다. 그러나, 물리적인 어드레스 배치는 다른 억세스 성능 요인들을 갖는 트레이드 오프(trade off)에 관련된다. 예를들면, 모든 스페어 공간이 말단에 있다면, 각 드라이브의 정상 동작시에 암의 운동은 적게 될 것이다.
[다중 DASD의 용량을 사용하는 분배 스페어링]
이제 제 3 도를 참조하면, 2개까지의 DASD의 스페어 용량이 N+3의 DASD에 걸쳐서 균일한 패턴으로 분배된 배열이 도시되어 있다. 즉, 각각 K 블록/DASD의 용량을 갖는 N+3 DASD 배열에 있어서, 2개 이상의 스페어 블록들이 같은 줄 또는 같은 DASD 상에 위치하지 않도록 2*K 블록이 분배된다. 또한, 제 3 도는 1개 이상의 패리티 블록이 같은 줄의 같은 DASD 상에 위치하지 않도록 K*P 패리티 블록의 분배를 도시한다.
다시 제 3 도를 보면, 고정 규격으로 된 N+2(N=4)의 DASD 배열은, 단일 DASD 고장을 허용하는 4+P 규격의 패리티군이 재형식화되어 3+P 블록 기초상에 나열될 것을 필요로 한다는 것을 알 수 있다. 이는 2*K스페어 용량을 제공할 것이며, 이는 다음에 균일하게 분배될 수 있다.
본 발명의 범위내에서 더 많은 수의고장 허용에까지 사상을 연장할 수 있음을 알 수 있을 것이다.
[다중 배열을 가진 시스템상의 분배 스페어링]
이제 제 4 도 내지 제 8 도를 참조하면, 2개 이상의 고장 독립 배열의 DASD에 걸친 분배 스페어링이 도시되어 있다. 다중 배열 구성은 기억 서브 시스템 용량이 점차로 확장되는 곳에서 중요하다. 즉, 성능과 비용상의 문제를 모두 최소화하도록 고장 독립 어드레스 가능 DASD 배열에 걸쳐서 스페어 용량을 분배하고 사용하는 것은 본 발명의 범위내에서 잘 알 수 있을 것이다.
각 배열이 하나의 DASD 분배 스페어 용량을 포함하는 곳에서의 기억 서브 시스템 확장
이제 제 4 도를 참조하면, 각각 독립 배열에 의해서 또는 그 안에 균일하게 분배된 하나의 DASD 스페어 용량을 갖는 2개의 4+P 배열이 도시되어 있다. 한 배열내의 하나의 DASD가 고장나면, 그 DASD는 갖은 배열내에 분배된 스페어 공간에 재구축될 것이다. 즉, 각 배열내에 분배된 스페어 공간이 통상적으로 사용가능하다. 전용 스페어 DASD가 패리티군에 걸쳐서 통상 예비되는 Dunphy 등의 특허가 참조될 수 있으나, 이는 스페어 DASD가 고장난 DASD를 대신하도록 동적으로 및 자동으로 전환될 것을 필요로 하였다. 본 발명에서는 이러한 전환이 전혀 필요없다.
다시 제 4 도를 참조하면, 배열 1로부터 DASD1이 고장나고, 계속하여 배열 2로부터 DASD3이 고장났다면, DASD1은 배열 1의 스페어 공간에 재구축될 것이고, DASD3은 배열 2의 스페어 공간에 재구축될 것이다. 그러나, 배열 1로부터 DASD1이 처음에 고장나면, 이는 배열 1의 스페어 공간에 재구축될 것이다. 다음에, 역시 배열 1로부터 DASD4가 고장나면, 배열 1에서는 사용 가능한 스페어 공간이 없다. 본 발명에 있어서, 고장난 DASD4의 내용, 즉 제 2의 고장은 배열 2의 스페어 공간에 재구축되어야 한다.
이제 제 5 도를 참조하면, DASD1의 고장이 도시되어 있다. DASD1은 처음에 4개의 패리티군(d1-d4)각각으로부터 하나의 데이타 블록, 제 5 패리티군으로부터 하나의 패리티 블록(p5), 그리고 하나의 스페어 또는 할당되지 않은 블록(S6)은 기억하였다. 스페어(S1-S6)은 동기 어드레스(배열내의 각 DASD에 걸친 동일 어드레스 위치)가 1개 이상의 스페어 블록을 갖지 않도록 할당된다. 이는 각 DASD에도 마찬가지로 적용된다. 이러한 본 발명의 특징에 있어서, 블록 d1-d4와 p5가 패리티군의 대응하는 N개의 다른 블록들을 단일 블록으로 논리적으로 결합(XOR)시키고 이 단일 블록을 다른 블록들과 동일한 동기 어드레스를 가진 스페어 S(i)내에 기록함으로써 정하여지도록 DASD1이 재구축된다. 따라서, DASD2,3,6상의 동일 어드레스내의 d2 블록들과 DASD4상의 패리티 p2를 XOR함으로서 블록 d2가 형성된다. 재구축된 블록 d2는 다음에 DASD5 상의 스페어 위치에 기록된다. 이는 최종 블록 S6을 제외한 전부에 대하여 반복된다. S6은 스페어 블록이기 때문에, 논리적 결합 및 기록 작용이 불필요하다.
이제 제 6 도를 참조하면, 제 1 고장에서와 동일한 배열(배열 1)에서 발생하는 제 2 의 DASD 고장(DASD4)이 도시되어 있다. 양 배열내의 스페어링은, 각 DASD가 K/(N+2)의 스페어 블록을 갖고 하나의 스페어 블록만 같은 동기 어드레스와 DASD에 나타나도록 분배된다. 이는 배열 1로부터의 DASD4가 그 군내의 나머지 N개의 DASD를 단일 블록으로 논리적으로 결합시키고 그 블록을 배열 2내의 대응하는 스페어 블록내의 기록함으로써 재구축될 수 있음을 의미한다.
기억 서브 시스템은 각 배열이 그 자체의 분배 스페어 공간을 갖는 곳에 일시에 하나의 배열을 추가함으로써 확장될 수 있다. 구성된 바와 같이 이러한 확장의 제한은 다중 배열에 의하여 공유되는 단일의 스페어를 갖는 것이 불가능하다는 것이다. 따라서, 스페어링의 비용은 시스템에 의해서 제공될 수 있는 것 또는 시스템에 대하여 적합한 것보다 더 높아질 수가 있다.
다시 제 6 도를 참조하면, 제 2의 고장후에, 배열 1의 블록들이 최초의 6개의 DASD 대신에 10개의 DASD(배열 1로부터의 4개의 잔존 DASD와 배열 2로부터의 6개)에 걸쳐서 흩어진다는 것이다. 따라서, 이 10개의 군으로부터 어떠한 2개의 DASD의 동시 고장은 데이타 손실을 초래할 수 있다. 환언하면, DASD가 고장나서 다른 배열에 재구축되면, 시스템의 데이타 손실까지의 평균 시간(MTTDL)이 더욱 악화된다.
MTTDL은 제 1의 DASD가 고장난 직후 그것이 재구축되기 전에 제 2의 DASD가 고장날 확률로서 산출된다.
배열이 DASD 분배 스페어 용량을 공유하는 곳에서의 기억 서브 시스템 확장
이제, 제 7 도를 참조하면, 배열 1은 본 발명의 사상에 따른 분배 스페어링을 가진 4+P 배열이다. 그러나, 배열 2도 4+P 배열이며, 스페어링만 제외되어 있다.
배열 '1의 하나의 DASD가 고장나면, 5개의 블록이 손실되고(블록중 하나는 스페어 블록임), 그 배열의 다른 5개의 DASD 상의 5개의 스페어 블록이 손실된 5개의 블록을 복구할 것이다. 배열 2의 하나의 DASD가 고장나면 6개의 블록이 손실될 것이고, 배열 1의 6개의 DASD 상의 6개의 스페어 블록이 6개의 손실된 블록을 재구축할 것이다. 이러한 방법으로, 배열 1의 분배 스페어 블록들은 어떠한 배열에서도 발생하는 단일 고장의 블록들을 재구축하는데 사용될 수 있다.
[부분 분배 스페어링의 장점 및 한계]
이러한 방법은 다중 배열에 걸쳐서 단일의 스페어를 공유할 수 있게 하고 각 배열에 대하여 스페어를 갖도록 하지 않는다는 장점외에도, 스페어가 있는 배열이나 스페어가 없는 배열중 하나를 선택하여 추가할 수 있으므로 시스템 확장에 따른 스페어 공간 요건을 조정할 수 있다는 추가의 장점을 갖는다.
본 발명의 이러한 특징은 DASD가 고장나서 다른 배열로 교체되면, 손상된 DASD가 복원되고 분산된 데이타가 다시 복제될때까지 시스템의 MTTDL이 저하된다는 한계를 갖는다.
[다중 배열에 걸쳐서 분배된 스페어 DASD]
이제, 표 2를 참조하면, 단일 스페어 DASD의 스페어 블록들이 다중 배열에 걸쳐서 공유된다. 이와 관련하여, 스페어는 2개의 2+P 배열에 걸쳐서 공유된다. 다음의 실시예에 있어서, 분배 단계 및 수단은 2개의 배열에 걸친 스페어 공간의 패리티군 및 단일 DASD의 레이 아웃에 속하는 것처럼 보이고 있다.
[표 2]
배열 1의 데이타 및 패리티 블록은 대문자 Ds 및 Ps로 표시되고, 배열 2의 데이타 및 패리티 블록은 소문자 ds 및 ps로 표시된다. 배열 1로부터의 모든 데이타 및 패리티는 DASD1,2,3,4상에 있고 배열 2로부터의 모든 데이타 및 패리티는 DASD4,5,6,7상에 있음을 알 수 있다. 따라서, 어느 배열이든지의 MTTDL은 분배 스페어링을 가진 어떠한 2+P 배열과 동일하다.
분배 단계는 다음과 같이 동작한다.
표 2와 3을 참조하면, S1은 DASD7의 블록 1상에, S2는 DASD6의 블록 2상에 위치하고, 나머지도 마찬가지 방식으로 위치한다. 즉, 스페어들은 균일하게 도시된 7개의 DASD에 걸쳐서 회전한다. 다음에 배열 1의 블록들은 다음과 같이 DASD1,2,3상에 기억된다.
[표 3]
그러나, 이들 블록중 하나가 상기 스페어 회전에 의해 전해진 스페어이어야만 한다면, 스페어에 우선권을 주게 되고 그 스페어를 수용하도록 어떤 데이타 및 패리티 블록을 오른쪽으로 이동시키게 된다. 따라서, 표 4에 나타낸 바와 같이, 배열 1의 제 1의 4개 열의 배치는 스페어에 의하여 영향을 받지 않으나, 다른 3개열은 스페어 배치에 의하여 영향을 받는다. 그 결과, 배열 1의 배치는 다음과 같이 된다.
[표 4]
마찬가지로, 배열 2의 데이타 및 패리티 블록들은 스페어 또는 배열 1의 배치를 충족시키도록 오른쪽으로 이동될 필요가 있을 때를 제외하고는 DASD4,5,6상에 위치된다.
그 결과, 각 DASD는 4개의 데이타 블록, 2개의 패리티 블록 및 하나의 스페어 블록을 갖게 되며, 배열 내의 모든 DASD에 걸쳐서 스페어 및 패리티의 분배가 균일하게 된다.
[배열의 군]
전술한 실시예에 있어서, 기억 서브 시스템은 2개의 2+P 배열을 일시에 추가함으로써 확장될 수 있다. 이에 관하여, 2개의 배열 유니트는 각각 그들 사이에 스페어 블록들을 공유할 가치가 있는 하나의 스페어 DASD를 가질 것이다.
이 실시예에 있어서, 기억 서브 시스템이 14개의 DASD(7개의 DASD의 2개 배열군)까지 확장되었다고 가정한다. 7개의 DASD의 각 배열군은 2개의 2+P 배열과 분배된 스페어 블록과 동등한 1개의 DASD를 갖는다. 1군의 배열들을 배열 1 및 배열 2라고 하고, 2군의 배열들을 배열 3 및 배열 4라고 하자. 배열 1의 DASD가 고장났다고 하면, 그것은 1군의 스페어 공간에 재구축될 것이다.
배열 2의 DASD가 고장났다고 가정한다. 배열 2가 1군의 일부라고 할지라도, 1군에는 스페어 공간이 남아 있지 않기 때문에 2군의 스페어 공간에 재구축될 수 있다. 이처럼 제 1군의 DASD로부터의 데이타를 다른 군의 DASD로 분산시키는 것은 고장난 DASD가 교체되어 다시 복제될 때까지 기억 서브 시스템의 MTTDL을 감소시키는 결과를 가져온다.
[배열 다중화에 의한 기억 시스템 확장]
배열 다중화에 의한 기억 서브 시스템의 확장은 전술한 군 및 스페어 블록의 분배와 유사성을 갖는다. 예를들어, 2개의 2+P 배열이 단일 스페어를 공유한다고 가정한다. 서브 시스템은 단일의 2+P+S 배열을 지지하도록 최초에 구성될 것이다. 시스템은 다른 2+P 배열에 확장되고, 그 결과 시스템은 2개의 2+P 배열과 그 사이에 분배된 하나의 스페어를 가질 것이다. 단일의 2+P 시스템이 있을 때의 데이타 및 스페어의 레이 아웃의 표 5에 나타나 있다.
[표 5]
다음 2+P 배열이 동일 군에 추가될 때, 어떠한 데이타의 이동없이 그 군에서 2개의 2+P 배열 사이의 스페어를 공유하는 분배를 표 6에 나타내었다.
[표 6]
유리하게, 이 분배는 단일 스페어 DASD의 K블록 용량이 다중 배열 사이에 공유될 수 있게 하지만, 확장이 다중 배열의 조건으로될 것을 요하지는 않는다. 이는 궁극적인 스페어링 프랙션 목적에 대한 오버 스페어링을 피하게 한다.
[확장성]
본 발명은 패리티 블록과 스페어 DASD 용량 모두가 분배된 것에 관하여 기술하였다. 한가지 확장성은 패리티 블록을 정용 DASD 상에 유지시키고 스페어 용량만을 분배시키는 것이다.
전술한 패리티군 및 스페어링 분배의 조합을 사용할 수도 있다. 분배 패턴을 다중-군 배열로 혼합하는 것도 가능하다. 즉, 기억 서브 시스템은 스페어를 가진 배열, 스페어가 없는 배열 또는 그 사이에 공유된 스페어가 있는 다중 배열을 시차를 두고 추가함으로써 확장될 수 있다. 사용된 특정 패턴은 시스템의 규격, 스페어 배치 방법, 그리고 수용 가능한 것으로 생각되는 스페어링 비율의 함수가 된다.
기타, 본 발명에 대한 여러 가지 확장이 청구의 범위에서와 같이 본 발명의 사상과 범위로부터 벗어나지 않고 만들어질 수 있을 것이다.

Claims (17)

  1. 각 패리티군이 N 데이타, P 패리티 및 S 스페어 블록을 포함하여 각 DASD는 K 블록을 기억하는 복수개의 DASD를 가진 기억 서브 시스템에서, (a) N+P+S DASD의 배열을 배치하는 단계, (b) 상기 패리티군으로부터의 2개의 블록이 동일한 DASD 상에 존재하지 않도록, 각 DASD가 (K-K*S/(N+P+S))의 패리티군으로부터의 데이타 또는 패리티 블록을 기억하는 배열의 N+P DASD의 부분 집합에 걸쳐서 K 패리티군을 동기 배열 어드레스내에 분배하고(distributing K parity groups in synchronous array address), 각 DASD가 K*S/(N+P+S)의 스페어 블록을 포함하도록 배열에 걸쳐서 K*S 블록을 스페어 기억으로서는 분배하는(distributing K*S block as spare storage) 단계, 및(c) 만일 DASD의 고장의 경우, 고장된 DASD 상의 K-K*S(N+P+S)의 패리티군 각각에 대하여, N+P+S-2의 다른 DASD로부터의 군에 속하는 N+P+S-2 블록을 다일 블록으로 결합시키고, 동일한 패리티군의 2개의 블록이 동일한 DASD 상에 분배되지 않도록 상기 단일 블록을 나머지 K*S(N+P+S-1)/(N+P+S)의 스페어 블록중 대응하는 하나에 기록하는 단계를 포함하는 것을 특징으로 하는 상기 DASD중 고장난 하나에 존재하는 패리티군의 부분을 재구축하는 방법.
  2. 각 패리티군이 N 데이타 및 1 패리티 블록을 포함하고, 각 DASD는 K 블록을 기억하는 복수개의 DASD를 가진 기억 서브 시스템에서, (a) N+2DASD의 배열을 배치하는 단계, (b) 상기 패리티군으로부터의 2개의 블록이 동일한 DASD 상에 존재하지 않도록, 각 DASD가 K-K/(N+2) 데이타 또는 패리티군을 기억하는 배열의 N+1DASD의 부분 집합에 걸쳐서 K 패리티군을 동기 배열 어드레스내에 분배하고, 각 DASD가 K/(N+2)의 스페어 블록을 포함하도록 배열에 걸쳐서 K 블록을 스페어 기억으로서 분배하는 단계, 및 (c) 단일 DASD의 고장의 경우, K-K/(N+2) 패리티군 각각에 대하여 N개의 다른 DASD로부터의 군에 속하는 N 블록을 단일 블록으로 결합시키고, 동일한 패리티군의 2개의 블록이 동일한 DASD 상에 분배되지 않도록 상기 단일 블록을 나머지 K*(N+1)/(N+2)의 스페어 블록중 대응하는 하나에 기록하는 단계를 포함하는 것을 특징으로 하는 상기 DASD중 고장난 하나에 존재하는 패리티군의 부분을 재구축하는 방법.
  3. 제 2 항에 있어서, 각 패리티군이 N+1 기억 위치내에 기록되고, 단일 DASD의 고장 및 상기 패리티군의 재구축시에 K-(K/(N+2))의 기억 위치만 사용 불가능하게 되는 것을 특징으로 하는 방법.
  4. 제 2 항에 있어서, K 패리티군 및 K 스페어 기억 블록에까지 분배하는 단계가, 1개 이상의 스페어 기억 블록 또는 1개 이상의 패리티 블록이 동일한 동기 배열 어드레스 또는 동일한 DASD상에 기억되지 않도록 상기 패리티군 및 스페어 블록을 N+2의 DASD에 걸쳐서 분배시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 2 항에 있어서, 단계(b) 및 (c)가 2개 이상의 스페어 기억 블록 또는 P 이상의 패리티 블록이 동일한 동기 배열 어드레스 또는 동일한 DASD상에 기억되지 않도록 2*K 블록의 스페어 기억 및 K*P 페리티 블록을 분배하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. N 데이타 블록 및 1 패리티 블록의 패리티 군을 각각을 억세스하는 기억 서브 시스템에 있어서, 각 DASD가 K 블록을 갖는 N+2의 DASD로부터 형성된 배열과, 동일한 패리티군으로부터의 2개의 블록이 동일한 DASD 상에 기억되지 않도록 배열로부터 선택된 N+1의 DASD의 대응하는 부분 집합에 걸쳐서 K 패리티 그룹 각각의 N+1 블록을 분배하기 위한 제 1 장치와, 각 배열의 DASD가 그 위에 K/(N+2)의 블록을 예비하도록 K 기억 블록을 스페어 블록으로서 분배하기 위한 장치와, 어떠한 단일 DASD의 고장이라도 확인하기 이한 제 2 장치와, N개의 다른 DASD로부터의 군에 속하는 N 블록을 단일 블록으로 결합시키고, 동일한 패리티군중 2개의 블록이 동일한 DASD 상에 분배되지 않도록 나머지 K*(N+1)/(N+2)까지의 스페어 블록중 대응하는 하나에 상기 단일 블록을 기록함으로써 K-K/(N+2)까지의 패리티군 각각을 처리하기 위하여 제 2 장치에 의하여 확인된 어떠한 단일 DASD의 고장에 대하여서도 응답하는 장치를 구비한 것을 특징으로 하는 기억 서브 시스템.
  7. 제 6 항에 있어서, 2개의 블록이 동일한 배열의 어드레스 및 동일한 DASD를 차지하지 않도록 K 스페어 블록이 분배되는 것을 특징으로 하는 기억 서브 시스템.
  8. 제 6 항에 있어서, 단일 DASD의 고장 및 상기 패리티군의 재구축시에 K-(K/(N+2)) 블록의 기억위치만 배열용으로 사용 불가능하게 되는 것을 특징으로 하는 기억 서브 시스템.
  9. 제 6 항에 있어서, 각 DASD가 m 트랙의 순환 트랙 기억 장치와 트랙으로부터 트랙으로 이동하고 1개 이상의 트랙을 따라서 선택적으로 데이타 또는 패리티 블록을 판독 또는 기록하기 위한 장치를 구비하고, K 패리티군을 논리적으로 결합 및 기록하기 위한 장치가, 이동 장치를 나머지 N+1DASD 각각의 순환 트랙 기억 장치상의 미리 정해진 위치에 위치시키고 정해진 위치로부터 시작하여 모든 m 트랙을 횡단하기 위한 장치와, 횡단의 개시시에, 나머지 N개의 다른 DASD에 수행되는 판독 동작과 동시에 (N+2)번째의 DASD의 스페어 블록상에 제 1 패리티군으로부터의 손실된 블록을 논리적으로 결합 및 기록하기 위한 제 3 장치와, 나머지 N개의 DASD에 의해 수행되는 판독 동작과 동시에 (N+1)번째의 DASD의 스페어 블록상에 제 2 패리티군으로부터의 손실된 블록을 계속해서 논리적으로 결합 및 기록하고, K 패리티군으로부터 고장된 DASD 상에 기억된 각 블록이 나머지 DASD에 DASD에 걸쳐서 대응 스페어 블록에 재생되고 재기록될 때까지 결합 및 기록을 반복하기 위한 제 3 장치를 포함하는 제 4 장치를 구비한 것을 특징으로 하는 장치.
  10. 각 DASD가 K 블록을 기억하는 용량을 가진 최소한 N+P+2의 DASD로부터 형성된 배열과, 동일한 패리티군으로부터의 2개의 블록이 동일한 DASD 상에 기억되지 않도록 각 패리티군이 N 데이타 블록+P 패리티 블록으로 구성되는 N+P+2DASD의 어떠한 N+P DASD의 부분 집합에 걸쳐서 K 패리티군을 동기 어드레스에 분배하기 위한 제 1 장치와, 2개 이상의 스페어 기억 위치 또는 1개 이상의 패리티 블록이 동일한 동기 어드레스 또는 동일한 DASD상에 기억되지 않도록 N+P+2DASD의 배열에 걸쳐서 2*K 이상의 기억 블록과 대등한 용량을 스페어 블록으로서 예비하고 분배하기 위한 장치와, 사기 배열내에서 2개까지의 어떠한 DASD 고장이라도 확인하기 위한 제 2 장치와, N개의 나머지 DASD로부터의 K-2*K/(N+P+2)의 패리티군을 단일 블록으로 논리적으로 결합시키고, 동일한 패리티군의 2개의 위치가 동일한 DASD 상에 분배되지 않도록 나머지 예비된 스페어 기억의 2*(K-1) 블록에 단일 블록을 기록하기 위하여, 상기 제 2 장치에 의한 2개까지의 어떠한 DASD 고장의 확인에 응답하는 장치를 구비한 것을 특징으로 하는 기억 서브 시스템.
  11. 제 10 항에 있어서, 상기 시스템이, 1개 이상의 패리티 블록이 동일한 동기 어드레스 또는 동일한 DASD 상에 위치되지 않도록 K*P 패리티 블록을 분배하기 위한 장치를 더 구비하는 것을 특징으로 하는 기억 서브 시스템.
  12. 제 10 항에 있어서, 각 패리티군이 N+2DASD의 선택적인 N개의 DASD 부분 집합으로부터 동시에 억세스되는 것을 특징으로 하는 기억 서브 시스템.
  13. 각 DASD가 K 블록을 저장하는 용량을 갖는 최소한 N+P+1의 DASD로부터 각각 형성된 제 1 및 제 2 고장 독립 배열과, 동일한 패리티군으로부터의 2개의 블록이 동일한 DASD 상에 기억되지 않도록 각 패리티군이 N 데이타 블록+P 패리티 블록으로 구성되는 제 1 또는 제 2 배열의 N+P+1의 DASD에 걸쳐서 K 패리티군을 상호 독립적으로 분배하기 위한 제 1 장치와, 각 배열내에서 하나의 기억 블록만 각 동기 어드레스 및 각 DASD 상에 존재하도록 제 1 배열의 N+P+1의 DASD에 결쳐서 K 기억 블록을 스페어 블록으로서 분배하고 제 2 배열의 N+P+1의 DASD에 걸쳐서 K 기억 블록을 스페어블록으로서 분배하기 위한 장치와, 제 1 또는 제 2 배열중 어느 것에서 발생하는 제 1 또는 제 2DASD 고장을 확인하기 위한 제 2 장치와, N+P-1의 다른 DASD로부터의 군에 속하는 N+P-1 블록을 단일 블록으로 논리적으로 결합시키고, 동일한 패리티군중 2개의 블록이 동일한 DASD 상에 분배되지 않도록 나머지 K*(N+P)/(N+P+1) 스페어 블록중 대응하는 하나에 상기 단일 블록을 기록함으로써, 고장이 발생된 배열내에서 K-K/(N+P+1)패리티군 각각을 처리하기 위하여 제 2 장치에 의하여 확인된 어떠한 단일 DASD 고장에 대하여 응답하는 장치와, 제 2 고장이 발생된 배열에서 N+P-1의 다른 DASD로부터의 군에 속하는 N+P-1 블록을 단일 블록으로 논리적으로 결합시키고, 동일한 패리티군중 2개의 블록이 동일한 DASD 상에 분배되지 않도록 나머지 K*(N+P)/(N+P+1) 스페어 블록중 대응하는 하나에 상기 단일 블록을 기록함으로써, 사용 가능한 스페어 블록을 가진 배열내에서 K-K/(N+P+1) 패리티군 각각을 처리하기 위하여 제 2 장치에 의하여 확인된 제 2의 어떠한 단일 DASD 고장에 대하여 응답하는 장치를 구비한 것을 특징으로 하는 기억 서브 시스템.
  14. 각 DASD가 K 블록을 기억하는 용량을 가지며, 각 패리티군은 N 데이타 및 P 패리티를 포함하는 제 1 및 제 2의 고장 독립 배열의 DASD를 구비한 기억 서브 시스템에서, (a) N+P+1DASD의 제 1 배열과 N+P DASD 제 2 배열을 배치하는 단계, (b) 동일한 패리티군으로부터의 2개의 블록이 동일한 DASD 상에 있지 않도록 각 동기 어드레스와 DASD가 하나의 스페어 블록만 갖는 제 1 배열의 N+P-1DASD중에서 N+P DASD의 부분 집합에 걸쳐서 K까지의 패리티군을 동기 배열 어드레스내에 분배함과 동시에 제 2 배열의 N+P DASD에 걸쳐서 K 패리티군을 분배하고, 각 DASD가 K/(N+P+1)의 스페어 블록을 포함하도록 제 1 배열에 걸쳐서 K 블록을 스페어 기억으로서 분배하는 단계, (c) 단일 DASD 고장이 제 1 배열에서 발생할 경우에, K-K/(N+P+1) 패리티군 각각에 대하여, N+P-1의 다른 DASD로부터의 군에 속하는 N+P-1 블록을 단일 블록으로 논리적으로 결합시키고, 동일한 패리티군의 2개의 블록이 동일한 DASD 강에 분배되지 않도록 나머지 K*(N+P)/(N+P+1) 스페어 블럭중 대응하는 하나에 상기 단일 블록을 기록하는 단계, 및 (d) 단일 DASD 고장이 제 2 배열에서 발생할 경우에, K 패리티군 각각에 대하여, N+P-1의 다른 DASD로부터의 군에 속하는 N+P-1 블록을 단일 블록으로 논리적으로 결합시키고, 제 1 배열상에 위치된 K 스페어 블록중 대응하는 하나에 상기 단일 블록을 기록하는 단계를 포함하는 것을 특징으로 하는 고장된 DASD 상에 존재하는 패리티군의 부분을 재구축하기 위한 방법.
  15. 각 패리티군이 N 데이타 및 P 패리티 블록을 포함하고, 각 DASD는 K 블록을 기억하는 복수개의 DASD를 가진 기억 서브 시스템에서, (a) 각각 하나의 DASD가 양 배열에 의하여 공유되는 N+P DASD의 제 1 및 제 2 어드레스 가능 배열을 형성하도록 복수개의 2*(N+P)+1)를 배치하는 단계, (b) 그에 걸친 각 동기 어드레스와 각 DASD가 K/(2*(N+P)+1) 블록만 포함하도록 2*(N+P)+1DASD에 걸쳐서 K 스페어 블록을 분배하고, (1) 동기적인 제 1 배열 어드레스가 단일 이상의 패리티 블록을 갖지 않도록, 그리고 각 패리티군이 어드레스로부터 어드레스로 블록 오프셋 또는 회전을 수행하기 위하여 대응 제 1 배열 동기 어드레스내에 기록되도록 제 1배열의 DASD에 걸쳐서 K 패리티군을 분배하고, (2) 동기적인 제 2 배열 어드레스가 단일 이상의 패리티 블록을 갖지 않도록, 그리고 K개의 다른 패리티 그룹이 어드레스로부터 어드레스로 블록 오프셋 또는 회전을 수행하기 위하여 대응 제 2 배열 동기 어드레스내에 기록되도록 어드레스 가능하게 제 2 배열의 일부를 이루는 N+P+1DASD의 N+P DASD의 부분 집합에 K개의 다른 패리티군을 분배하는 단계, 및 (c) 단일 DASD 고장이 제 1 또는 제 2 배열에서 발생할 경우에, 그 배열내에 패리티군을 각각에 대하여, 그 배열내의 다른 DASD로부터의 군에 속하는 나머지 블록들은 단일 블록내에 논리적으로 겹합시키고, 동일한 패리티군의 2개의 블록이 동일한 DASD 상에 분배되지 않도록 양 배열에 걸쳐서 분배된 나머지 스페어 블록중 대응하는 하나내에 상기 단일 블록을 기록하는 단계를 포함하는 것을 특징으로 하는 상기 DASD중 고장난 하나상에 존재하는 패리티군의 부분을 재구축하기 위한 방법.
  16. 제 6,10 또는 13항중 어느 하나에 있어서, 패리티군을 분배하기 위한 상기 제 1 장치가 DASD중 전용 DASD에만 패리티 블록을 선택적으로 분배하는 장치를 포함하는 것을 특징으로 하는 기억 서브 시스템.
  17. 제 1, 2 또는 14항중 어느 하나에 있어서, 패리티군을 분배하는 단계가 DASD중 전용 DASD에 패리티블록을 선택적으로 분배하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1019920008032A 1991-06-13 1992-05-13 Dasd 배열내에서의 분배 스페어링 방법 및 장치 KR940011039B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US714,969 1991-06-13
US07/714,969 US5258984A (en) 1991-06-13 1991-06-13 Method and means for distributed sparing in DASD arrays

Publications (1)

Publication Number Publication Date
KR940011039B1 true KR940011039B1 (ko) 1994-11-22

Family

ID=24872213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920008032A KR940011039B1 (ko) 1991-06-13 1992-05-13 Dasd 배열내에서의 분배 스페어링 방법 및 장치

Country Status (9)

Country Link
US (1) US5258984A (ko)
EP (1) EP0518603B1 (ko)
JP (1) JPH0724039B2 (ko)
KR (1) KR940011039B1 (ko)
BR (1) BR9202160A (ko)
CA (1) CA2063897C (ko)
DE (1) DE69219208T2 (ko)
HK (1) HK1000076A1 (ko)
TW (1) TW210386B (ko)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5537566A (en) * 1991-12-17 1996-07-16 Fujitsu Limited Apparatus and method for controlling background processing in disk array device
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
JPH05341918A (ja) * 1992-05-12 1993-12-24 Internatl Business Mach Corp <Ibm> 二重化デイスク記憶装置システムを構成するための接続装置
US5487160A (en) * 1992-12-04 1996-01-23 At&T Global Information Solutions Company Concurrent image backup for disk storage system
US5519849A (en) * 1992-12-07 1996-05-21 Digital Equipment Corporation Method of reducing the complexity of an I/O request to a RAID-4 or RAID-5 array
US5579474A (en) 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
GB2278228B (en) * 1993-05-21 1997-01-29 Mitsubishi Electric Corp An arrayed recording apparatus
DE69408498D1 (de) * 1993-06-30 1998-03-19 Ibm Kodierung und Rekonstruktion des Dateninhaltes von bis zu zwei nichtverfügbaren DASDs in einer DASD-Anordnung
US5564011A (en) * 1993-10-05 1996-10-08 International Business Machines Corporation System and method for maintaining file data access in case of dynamic critical sector failure
JP2912802B2 (ja) * 1993-10-14 1999-06-28 富士通株式会社 ディスクアレイ装置の故障対処方法および装置
US5632012A (en) * 1993-11-24 1997-05-20 Storage Technology Corporation Disk scrubbing system
US5987622A (en) * 1993-12-10 1999-11-16 Tm Patents, Lp Parallel computer system including parallel storage subsystem including facility for correction of data in the event of failure of a storage device in parallel storage subsystem
US5485571A (en) * 1993-12-23 1996-01-16 International Business Machines Corporation Method and apparatus for providing distributed sparing with uniform workload distribution in failures
US5537567A (en) * 1994-03-14 1996-07-16 International Business Machines Corporation Parity block configuration in an array of storage devices
JP2894676B2 (ja) * 1994-03-21 1999-05-24 インターナショナル・ビジネス・マシーンズ・コーポレイション 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法
US5657439A (en) * 1994-08-23 1997-08-12 International Business Machines Corporation Distributed subsystem sparing
US5623595A (en) * 1994-09-26 1997-04-22 Oracle Corporation Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system
US5615352A (en) * 1994-10-05 1997-03-25 Hewlett-Packard Company Methods for adding storage disks to a hierarchic disk array while maintaining data availability
US5488701A (en) * 1994-11-17 1996-01-30 International Business Machines Corporation In log sparing for log structured arrays
US5613085A (en) * 1994-12-27 1997-03-18 International Business Machines Corporation System for parallel striping of multiple ordered data strings onto a multi-unit DASD array for improved read and write parallelism
US5666512A (en) * 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
US5745915A (en) * 1995-03-17 1998-04-28 Unisys Corporation System for parallel reading and processing of a file
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5941994A (en) * 1995-12-22 1999-08-24 Lsi Logic Corporation Technique for sharing hot spare drives among multiple subsystems
US5805785A (en) * 1996-02-27 1998-09-08 International Business Machines Corporation Method for monitoring and recovery of subsystems in a distributed/clustered system
US6055577A (en) * 1996-05-06 2000-04-25 Oracle Corporation System for granting bandwidth for real time processes and assigning bandwidth for non-real time processes while being forced to periodically re-arbitrate for new assigned bandwidth
US5862313A (en) * 1996-05-20 1999-01-19 Cray Research, Inc. Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network
US5764880A (en) * 1996-09-10 1998-06-09 International Business Machines Corporation Method and system for rebuilding log-structured arrays
KR100275900B1 (ko) * 1996-09-21 2000-12-15 윤종용 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US5933840A (en) * 1997-05-19 1999-08-03 International Business Machines Corporation Garbage collection in log-structured information storage systems using age threshold selection of segments
US6247157B1 (en) 1998-05-13 2001-06-12 Intel Corporation Method of encoding data signals for storage
US6453428B1 (en) * 1998-07-17 2002-09-17 Adaptec, Inc. Dual-drive fault tolerant method and system for assigning data chunks to column parity sets
US6530035B1 (en) * 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
JP2000163223A (ja) * 1998-11-30 2000-06-16 Hitachi Electronics Eng Co Ltd 記録媒体raidライブラリ装置
US6532548B1 (en) * 1999-09-21 2003-03-11 Storage Technology Corporation System and method for handling temporary errors on a redundant array of independent tapes (RAIT)
US6425052B1 (en) * 1999-10-28 2002-07-23 Sun Microsystems, Inc. Load balancing configuration for storage arrays employing mirroring and striping
US6775792B2 (en) * 2001-01-29 2004-08-10 Snap Appliance, Inc. Discrete mapping of parity blocks
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
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
US6954824B2 (en) * 2001-10-15 2005-10-11 International Business Machines Corporation Method, system, and program for determining a configuration of a logical array including a plurality of storage devices
US7080278B1 (en) * 2002-03-08 2006-07-18 Network Appliance, Inc. Technique for correcting multiple storage device failures in a storage array
US7120826B2 (en) * 2002-03-29 2006-10-10 International Business Machines Corporation Partial mirroring during expansion thereby eliminating the need to track the progress of stripes updated during expansion
US6934804B2 (en) * 2002-05-28 2005-08-23 Sun Microsystems, Inc. Method and system for striping spares in a data storage system including an array of disk drives
US7085953B1 (en) 2002-11-01 2006-08-01 International Business Machines Corporation Method and means for tolerating multiple dependent or arbitrary double disk failures in a disk array
JP4464279B2 (ja) 2002-11-14 2010-05-19 アイシロン・システムズ・インコーポレーテッド 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法
US7062673B2 (en) * 2003-05-19 2006-06-13 Hitachi Global Technologies System and method for sparing in RAID-1 system
US7143305B2 (en) * 2003-06-25 2006-11-28 International Business Machines Corporation Using redundant spares to reduce storage device array rebuild time
US7281177B2 (en) * 2003-07-14 2007-10-09 International Business Machines Corporation Autonomic parity exchange
US7533325B2 (en) 2003-07-14 2009-05-12 International Business Machines Corporation Anamorphic codes
US7254754B2 (en) 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
US7328305B2 (en) 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
US20050193273A1 (en) * 2004-02-18 2005-09-01 Xiotech Corporation Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system
US7237062B2 (en) * 2004-04-02 2007-06-26 Seagate Technology Llc Storage media data structure system and method
GB2418769B (en) * 2004-10-02 2009-06-17 Hewlett Packard Development Co Method and system for storing data
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US20070067665A1 (en) * 2005-09-19 2007-03-22 Ebrahim Hashemi Apparatus and method for providing redundant arrays storage devices
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7551572B2 (en) 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7346720B2 (en) * 2005-10-21 2008-03-18 Isilon Systems, Inc. Systems and methods for managing concurrent access requests to a shared resource
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7386675B2 (en) * 2005-10-21 2008-06-10 Isilon Systems, Inc. Systems and methods for using excitement values to predict future access to resources
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
JP2008009767A (ja) * 2006-06-29 2008-01-17 Hitachi Ltd データ処理システム及びその方法並びにストレージ装置
US8539056B2 (en) 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680842B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7676691B2 (en) 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7953704B2 (en) 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7752402B2 (en) 2006-08-18 2010-07-06 Isilon Systems, Inc. Systems and methods for allowing incremental journaling
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7949692B2 (en) 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US8020032B2 (en) * 2007-12-27 2011-09-13 International Business Machines Corporation Method for providing deferred maintenance on storage subsystems
US7984324B2 (en) 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7953709B2 (en) 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US8019728B2 (en) * 2008-04-17 2011-09-13 Nec Laboratories America, Inc. Dynamically quantifying and improving the reliability of distributed data storage systems
US8099623B1 (en) * 2008-10-08 2012-01-17 Netapp, Inc. Efficient distributed hot sparing scheme in a parity declustered RAID organization
US8799743B2 (en) * 2008-10-28 2014-08-05 Micron Technology, Inc. Error correction in multiple semiconductor memory units
US8065558B2 (en) * 2009-03-24 2011-11-22 Lsi Corporation Data volume rebuilder and methods for arranging data volumes for improved RAID reconstruction performance
JP5169993B2 (ja) * 2009-05-27 2013-03-27 日本電気株式会社 データストレージシステム、データ領域管理方法
JP5391993B2 (ja) * 2009-10-19 2014-01-15 富士通株式会社 ディスクアレイ装置
US20120010942A1 (en) * 2010-07-07 2012-01-12 Yahoo! Inc. Online advertising marketplace data provider assessment and recommendation
US8775733B2 (en) * 2011-08-30 2014-07-08 Hitachi, Ltd. Distribution design for fast raid rebuild architecture based on load to limit number of redundant storage devices
US9563509B2 (en) 2014-07-15 2017-02-07 Nimble Storage, Inc. Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system
JP6515458B2 (ja) * 2014-08-08 2019-05-22 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
US10372538B2 (en) 2015-03-06 2019-08-06 Hitachi, Ltd. Computer system
US9875052B2 (en) 2016-03-15 2018-01-23 International Business Machines Corporation Storage capacity allocation using distributed spare space
US20170337103A1 (en) * 2016-05-19 2017-11-23 Intel Corporation Method and apparatus to provide data redundancy in a solid-state drive
US10133630B2 (en) 2016-09-06 2018-11-20 International Business Machines Corporation Disposable subset parities for use in a distributed RAID
US10459807B2 (en) * 2017-05-23 2019-10-29 International Business Machines Corporation Determining modified portions of a RAID storage array
US11340789B2 (en) * 2020-10-13 2022-05-24 Dell Products L.P. Predictive redistribution of capacity in a flexible RAID system
US11327668B1 (en) * 2021-01-14 2022-05-10 Dell Products L.P. Predictable member assignment for expanding flexible raid system
US11144396B1 (en) * 2021-01-27 2021-10-12 Dell Products L.P. Raid reliability with a provisional spare disk
US11829269B2 (en) * 2021-01-28 2023-11-28 EMC IP Holding Company LLC Storage array disk recovery
EP4388408A1 (en) * 2021-08-20 2024-06-26 Pure Storage, Inc. Efficient partitioning for storage system resiliency groups
CN113986149B (zh) * 2021-12-27 2022-04-22 苏州浪潮智能科技有限公司 一种系统故障处理方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system

Also Published As

Publication number Publication date
EP0518603A3 (en) 1993-10-06
TW210386B (ko) 1993-08-01
CA2063897C (en) 1998-05-05
DE69219208T2 (de) 1997-10-16
BR9202160A (pt) 1993-02-02
JPH0724039B2 (ja) 1995-03-15
EP0518603B1 (en) 1997-04-23
DE69219208D1 (de) 1997-05-28
CA2063897A1 (en) 1992-12-14
EP0518603A2 (en) 1992-12-16
JPH05100960A (ja) 1993-04-23
US5258984A (en) 1993-11-02
HK1000076A1 (en) 1997-11-14

Similar Documents

Publication Publication Date Title
KR940011039B1 (ko) Dasd 배열내에서의 분배 스페어링 방법 및 장치
JP2769443B2 (ja) 記憶サブシステム及び関連する装置/方法
US5301297A (en) Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
US5124987A (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
AU645064B2 (en) Disk drive memory
US5657439A (en) Distributed subsystem sparing
US5303244A (en) Fault tolerant disk drive matrix
US4989205A (en) Disk drive memory
US4989206A (en) Disk drive memory
US4914656A (en) Disk drive memory
US5007053A (en) Method and apparatus for checksum address generation in a fail-safe modular memory
JP2912802B2 (ja) ディスクアレイ装置の故障対処方法および装置
JPH0642193B2 (ja) Dasdアレイのための更新記録方法及び装置
US5636356A (en) Disk array with original data stored in one disk drive and duplexed data distributed and stored in different disk drives
JPH05197498A (ja) 構成可能な冗長アレイ記憶装置
JPH0727439B2 (ja) 機能低下モードでの動作時における直接アクセス記憶装置アレイのアクセスを管理するための方法
JPH05505481A (ja) データ記憶装置および方法
JPH0863298A (ja) ディスクアレイ装置
AU692287B2 (en) Disk array for data storage
JPH06119121A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111122

Year of fee payment: 18

EXPY Expiration of term