KR960001748B1 - 컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치 - Google Patents

컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치 Download PDF

Info

Publication number
KR960001748B1
KR960001748B1 KR1019910009793A KR910009793A KR960001748B1 KR 960001748 B1 KR960001748 B1 KR 960001748B1 KR 1019910009793 A KR1019910009793 A KR 1019910009793A KR 910009793 A KR910009793 A KR 910009793A KR 960001748 B1 KR960001748 B1 KR 960001748B1
Authority
KR
South Korea
Prior art keywords
data
storage
data storage
block
parity
Prior art date
Application number
KR1019910009793A
Other languages
English (en)
Other versions
KR920005782A (ko
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 KR920005782A publication Critical patent/KR920005782A/ko
Application granted granted Critical
Publication of KR960001748B1 publication Critical patent/KR960001748B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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
    • 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/104Metadata, i.e. metadata associated with 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)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

내용 없음.

Description

컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치
제1도는 본 발명의 바람직한 실시예에 관한 구성요소를 내장한 시스템의 구성도.
제2도는 상태 맵을 도시한 도면.
제3도는 정상동작 모드중의 판독동작에 관계되는 모든 스텝의 흐름도.
제4도는 기록될 데이터를 호스트로부터 기억제어장치로 전송할 때에 관계되는 스텝의 흐름도.
제5도는 정상동작 모드로 기억장치에 데이터를 기록할 때에 관계되는 모든 스텝의 흐름도.
제6도는 기억장치가 고장난 후의 판독동작에 관계되는 모든 스텝의 흐름도.
제7도는 어떤 기억장치가 고장났을 때, 기억장치에 데이터를 기록하는 데에 관계되는 모든 스텝의 흐름도.
제8도는 본 발명의 대체 실시예에 따른 구성요소를 내장한 시스템의 구성도.
* 도면의 주요부분에 대한 부호의 설명
100 : 컴퓨터 시스템 101 : 호스트 컴퓨터
103 : 기억제어장치 104 : 프로그램식 프로세서
105 : 불휘발성 RAM 106 : 상태 맵
107 : 내용테이블 108 : 배타적 OR 하드웨어
109 : 캐쉬 메모리
본 발명은 컴퓨터의 데이터 기억장치(computer data storage devices)에 관한 패리티 정보(parity information)를 유지하기 위한 것에 관한 것으로서, 특히 고장난(failed) 기억장치로부터의 데이터를 재구축할(reconstructing)때에 컴퓨터 시스템의 사용가능성(availabilty)을 유지하는 것에 관한 것이다.
현대 컴퓨터 시스템에서의 광대한 데이터 기억의 필요에 따라, 대용량의 데이터 기억장치가 요구되고 있다. 통상 사용되고 있는 기억장치는 자기 디스크장치로서, 고장나기 쉬운 다수의 부품을 포함하는 복잡한 기계이다. 통상의 컴퓨터 시스템은 이러한 자기 디스크장치를 여러개 포함하고 있다. 사용자의 데이터 기억요구가 증가함에 따라 보다 많은 기억장치로 시스템이 구성된다. 이 같은 시스템에 있어서는, 1대의 기억장치가 고장이 나면 상당히 파괴적인 상황이 발생할 우려가 있다. 대부분의 시스템은, 결합이 있는 장치가 수리 또는 교환되어 상실된 데이터가 복원될 때까지 동작이 불가능하게 된다. 기억 장치의 수가 증가함에 따라서, 그들 중 어느 장치가 고장나서, 시스템의 장애가 발생될 확률도 증가된다. 동시에, 컴퓨터 사용자는 시스템의 일관된 사용가능성에 대해 더욱 더 의존한다. 따라서, 고장난 기억장치에 포함되어 있던 데이터를 재구축하고, 기억장치의 고장이 존재하는 상태에서 시스템의 동작을 지속시키는 개량된 방법을 연구하는 것이 필수적인 과제로 되어 왔다.
이들 문제를 해결하는 하나의 방법은 [미러(대칭)구성(mirroring)]으로서 알려져 있다. 이 미러구성방법은 원래의 데이터와 동일한 데이터를 포함하는 중복 세트의 기억장치(a duplicate set of storage devices)를 유지하는 것이다. 원래의 세트중에서 어느 장치가 고장난 경우, 이 중복세트가 시스템에 데이터를 공급할 수 있다. 이 방법은 그 문제를 해결하기 위해 상당히 유효한 방법이기는 하나, 고객이 2배의 기억장치에 따른 대금을 지불해야만 하므로, 상당히 값비싼 방법이다.
이 보다 값 싼 다른 방법은 패리티 블록(parity blocks)을 사용하는 것이다. 이 패리티 블록은 여러 다른 기억장치상의 특정한 위치에 기억된 모든 데이터 레코드(records)의 배타적 OR(Exclusive-OR)에 의해서 형성되는 레코드이다. 달리 말해서, 한 기억장치의 특정한 위치에 있는 데이터 위치에 있는 데이터 블록중의 각 비트가 기억장치 그룹중의 각 기억장치의 동일 위치에 있는 다른 모든 비트와 배타적 OR되어, 패리티 비트의 블록이 생성되고, 이 패리티 블록은 다른 기억장치의 동일 위치에 기억된다. 이 그룹중의 어느 기억장치가 고장난 경우, 그 고장난 장치의 어느 위치에 포함된 데이터는, 나머지 기억장치의 동일 위치에 있는 데이터 블록과 그것에 대응하는 패리티 블록의 배타적 OR를 취함으로써, 재생될 수 있다.
미합중국 특허 제 4092732호는 패리티 블록방법을 기재하고 있다. 이 특허의 장치에서는, 1대의 기억장치를 사용하여, 1그룹의 기억장치에 대한 패리티 정보를 기억한다. 이 패리티 레코드로 망라되는 그룹중의 어느 기억장치 상에서 레코드가 변경될 때마다, 패리티 블록을 포함하는 기억장치에서의 판독과 기록이 행해진다. 따라서, 패리티 레코드를 포함하는 기억장치가 기억동작의 결정적 요소로 된다. 미합중국 특허 제 4761785호에서는, 패리티 블록을 기억장치 세트에 거의 균동하게 분배함으로써, 패리티 정보의 기억을 개선시킨다. 이 특허는 본 명세서에 인용된다. 세트중의 N개의 기억장치는 각각 복수의 레코드를 포함하는 사이즈가 동등한 다수의 어드레스 블록(a multiple of equally sized address blocks)으로 분할된다. 동일 어드레스 범위를 갖는 각 기억장치로부터의 블록들은 블록 스트라이프(stripe of blocks)를 형성한다. 각 스트라이프는 1대의 기억장치상에, 그 스트라이프의 나머지 블록에 대한 패리티를 포함하는 블록을 가진다. 여러 다른 스트라이프의 패리티 블록들은 여러다른 기억장치들에 라운드 로빈방식(a round robin manner)으로 분배된다.
상기한 미합중국 특허 제 4092732호 및 미합중국 특허 제 4761685호 명세서에 기재되어 있는 바와 같이 패리티 레코드를 사용하면, 미러구성에 비하여 데이터 보호의 비용이 크게 감소된다. 그러나, 상기한 두 개의 특허가 데이터 회복 또는 보호수단(a data recovery of protection means)을 개시하고 있기는 하지만, 데이터의 재구축중에 사용자에 대해 시스템을 동작상태로 유지하는 수단은 제공하고 있지 않다. 고장난 기억장치를 수리 또는 교환하고 뒤이어 데이터를 재구축하기 위해 메모리 제어장치를 정지하는 동안, 정상적인 동작은 중단된다.
이 종래의 기술은 전적으로 데이터의 재구축을 위한 소프트웨어에 의거하고 있으므로, 시스템이 상당한 시간동안 동작불능상태로 될 수 있다.
종래기술은 중복 또는 대기(duplicate or standby) 기억장치를 사용하지 않은 동적 시스템의 회복 및 계속동작을 개시하지 않는다.
미러구성에서는 기억장치의 수를 배로 할 필요가 있다. 그 정도로 극단적이지 않은 방법은 1대 이상의 대기장치, 즉 원래의 세트중에서 어느 장치가 고장난 경우에 온라인(on-line)상태로 될 수 있는 추가적인 예비(spare) 디스크 드라이브를 사용하는 것이다. 이 방법은 완전한 미러구성의 시스템 만큼 비용은 들지 않지만, 여전히 추가의 기억장치가 필요하다. 이 추가의 기억장치가 없을 경우에는 유용한 기능이 제공될 수 없다.
따라서, 본 발명의 목적은, 다수의 데이터 기억장치를 가지는 컴퓨터 시스템에서, 데이터 상실로부터의 회복을 위한 개량된 방법 및 장치를 제공하는 데에 있다.
본 발명의 다른 목적은, 다수의 기억장치를 가지는 컴퓨터 시스템이 1대의 데이터 기억장치가 고장나도 계속해서 동작할 수 있게 하는 개량된 방법 및 장치를 제공하는 데에 있다.
본 발명의 또 다른 목적은, 다수의 보호형(protected) 기억장치를 가지는 데이터 처리 시스템에서 데이터 보호 비용을 절감하는 데에 있다.
본 발명의 또 다른 목적은, 1대의 데이터 기억장치가 고장나서 그 고장난 장치에 포함된 데이터를 시스템이 재구축해야만 할 때, 다수의 데이터 기억장치를 가지는 컴퓨터 시스템의 성능을 향상시키는 데에 있다.
기억제어장치(storage controller)는 복수의 데이터 기억장치에 대한 서비스를 행한다(service). 제어장치상에 있는 기억관리 메카니즘(storage management mechanism)은 서비스를 받는 기억장치상의 패리티 레코드(parity recods)를 유지한다.데이터와 패리티 블록은 상기한 미합중국특허제 4761785호에 기재되어 있는 바와 같이 편성된다.
어느 한 기억장치가 고장난 경우에도, 시스템은 계속동작한다. 기억관리 메카니즘은 고장난 장치에 대한 엑세스가 시도되었을 때, 그 고장난 장치상에 있었던 데이터를 재구축하고, 이것을 남은 기억장치상의 패리티 블록 영역(parity block areas)에 기억한다.
기억관리 메카니즘은, 각 데이터 블록마다, 대응하는 패리티 블록의 위치와 데이터 블록의 상태를 나타내는 상태 맵(status map)을 포함한다. 어떤 기억장치가 고장난 경우, 기억관리 메카니즘은 고장동작 모드로 된다. 이 고장동작모드 동안, 기억관리 메카니즘은 고장난 기억 장치상의 데이터에 대한 엑세스 전에 상태 맵을 검사한다. 데이터가 아직 재구축되어 있지 않은 경우, 기억관리 메카니즘은, 우선, 패리티 블록을 포함하는 패리티 그룹 내의 모든 기억장치상의 동일 블록들의 배타적 OX(XOR)를 순서적으로 판독하여 누계함으로써, 그 기억블럭내의 데이터를 재구축해야 한다. 이 배타적 OR의 결과로 얻어지는 데이터 블록이 재구축된 데이터로서, 이것은 패리티 블록의 위치에 기억된다.
그 다음, 상태 맵이 블록이 재구축되었음을 나타내도록 갱신된다. 데이터가 재구축된 후에는, 이전(the former) 패리티 블록으로부터의 직접적인 판독 또는 이전의 패리티 블록에 대한 직접적인 기록만이 필요하다. 마찬가지로, 기억관리 메카니즘은(고장나지 않은 장치상의) 동일 스트라이프 상의 다른 어떤 블록에 대한 기록 전에 고장난 장치상의 기억 블록으로부터 데이터를 재구축한다. 이것은 스트라이프 상의 어느 블록에 대한 기록 동작으로 패리티가 변경되어, 고장난 장치 상의 데이터 블록에 대한 이후의 재구축을 불가능하게 만들기 때문에 필요하다.
따라서, 어떤 기억장치가 고장나면, 판독 동작 및 기록동작시에 기억관리 메카니즘이 데이터를 재구축하므로 처음에는 시스템 성능이 저하된다. 데이터가 재구축된 후에는 성능이 빠른 속도로 향상된다.
바람직한 실시예에서, 기억장치의 편성 및 패리티 정보의 생성과 기억은 상기 미국특허 제4761785호 명세서에 기재된 바와 같다. 재구축된 데이터는 상실된 데이터가 존재한 스트라이프에 대한 패리티 데이터가 통상적으로 기억되는 장소에 기억된다. 기억제어장치 또는 시스템의 어느 다른 부분을 정지하고, 고장난 기억장치를 수리하고, 그 다음에 상실된 데이터를 재구축할 필요가 없다. 이 바람직한 실시예에서는, 이 기억관리 메카니즘을 사용하는 컴퓨터 시스템이 사용자에 대해 완전히 이용가능한 상태에서 데이터가 회복되고 기억된다. 기억장치는 고장난 장치가 수리 또는 교환되기까지, 패리티 보호없이 동작한다. 이 실시예는 거의 추가적 비용없이 연속운전과 단일 레벨의 장애보호를 실현한다.
제1의 다른 실시예에서는, 재구축된 데이터에 고장나지 않은 각 기억장치의 예비기억영역(spare areas of storage)이 할당된다. 이들 예비기억영역 전체가 가상 예비기억장치를 구성한다. 데이터가 재구축되는 때, 그것은 가상 예비기억장치에 놓여지고, 패리티는 통상의 방식으로 유지된다. 이 대체 실시예는 단일기억장치가 고장난 후에도 패리티 데이터가 계속해서 유지되므로, 추가의 장애 보호레벨을 실현한다. 그러나, 예비기억레벨을 위한 추가의 기억공간이 필요하게 될 수도 있거나, 그러한 예비기억영역이 일시 데이터기억등의 다른 목적에 통상 사용되는 경우에는 성능의 저하가 초래될 수도 있다.
제2도의 또 다른 실시예에서는, 기억관리 메카니즘이 호스트시스템(host system)의 운영 소프트 웨어에 상주하지만, 그 외의 점에서는 기억제어장치에 상주하는 기억관리 메카니즘과 동일한 기능을 한다. 이 실시예는 일반적인 바람직한 실시예보다도 속도가 느리나, 기억제어장치의 간격을 감소시킬 수 있다.
이하, 도면을 참조하여 본 발명을 상세히 설명하겠다.
제1도에는 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템(100)의 주요 구성요소가 도시되어 있다. 호스트 시스템(101)은 버스(102)를 경유하여 기억제어장치(103)와 연결된다. 이 기억제어장치(103)는 프로그램식(programmed) 프로세서(104), 불휘발성 RAM(NVRAM)(105), 배타적 OR 하드웨어(XOR)(108), 캐쉬 메모리(RAM)(109)를 포함한다. 불휘발성 RAM(105)은 상태 맵(106)과 내용테이블(table of cotens : TOC)(107)을 포함한다. 제어장치(103)는 기억장치(121∼124)의 동작을 제어한다. 바람직한 실시예에서, 기억장치(121∼124)는 회전식 자기디스크 기억장치(rotating magnetic disk storage units)이다. 제1도에는 4대의 기억장치가 도시되어 있는데, 기억제어장치(103)에 접속되는 실제 장치의 수는 달리 할 수도 있다는 것을 염두에 두어야한다. 또한, 둘 이상의 기억제어장치(103)를 호스트 시스템(101)에 접속할 수 있음도 주목해야 한다. 바람직한 실시예에서는, 컴퓨터 시스템(100)을 IBM AS/400 컴퓨터 시스템으로 하고 있으나, 어떠한 컴퓨터 시스템도 사용될 수 있다.
각 기억장치의 기억영역은 블록(131-138)으로 분할되어 있다. 바람직한 실시예에서는, 모든 기억장치의 기억용량이 동일하고, 모든 패리티 보호 블록(all parity protected blocks)의 사이즈가 동일하다. 본 발명은 다양한 사이즈의 기억장치 또는 다양한 사이즈의 블록 구성으로 사용될 수 있지만, 이 바람직한 실시예에서는 제어 메카니즘이 간단해진다.
여러 기억장치상의 동일위치에 있는 모든 블록의 세트가 스트라이프(stripe)를 구성한다. 제1도에서, 기억블럭(131-134)이 제1스트라이프를 구성하고, 블록(135-138)이 제2스트라이프를 구성한다. 각 스트라이프의 블록들 중의 하나가 패리티 블록(parity block)으로 지정된다. 제1도에서는, 사선을 그어 패리티블럭(131, 136)을 나타내고 있다. 사선을 긋지 않은 나머지 블록(132-135), (137-138)은 데이터를 기억하기 위한 데이터 기억 블록이다. 블록(131-134)으로 이루어진 제1스트라이프의 패리티 블록은 그 스트라이프의 나머지 블록내에 있는 데이터의 배타적 OR(Exclusive-OR)을 포함한다.
바람직한 실시예에서는, 제1도에 도시한 바와 같이, 패리티 블록을 여러 다른 기억장치에 라운드 로빈 방식(a round robin manner)으로 분배한다. 기록동작 마다 시스템이 동일 스트라이프에 기록되는 데이터를 포함하는 블록뿐만 아니라 그 동일 스트라이프의 패리티 블록을 갱신해야 하므로, 통상은 패리티 블럭 쪽이 데이터 블록 보다도 빈번하게 수정된다. 패리티 블록을 여러다른 기억장치에 분배하면, 대부분의 경우, 엑세스 작업부하의 분배에 의해 성능이 향상된다. 단, 본 발명을 실시하는데 이와 같은 분배가 반드시 필요한 것은 아니며, 대체 실시예에서는 단일의 기억장치상에 모든 패리티 블록을 위치시키는 것도 가능하다.
바람직한 실시예에서는, 각 스트라이프의 1블럭을 패리티 정보전용으로 충당한다. 어떤 대체 실시예에서는, 스트라이프중의 하나가 패리티 보호를 포함하지 않는다. 이 스트라이프는 보호를 필요로 하지 않은 일시(temporary) 데이터용으로 유보된다. 제8도는, 블록(811-814)으로 이루어지는 스트라이프의 그 대체 실시예를 도시한다.
이 블록은 이 패리티 데이터 보호구성의 일 부분이 아닌 여분의(extra)기억공간이므로, 임의의 사이즈이어도 무방하다.
각각이 데이터 블록과 패리티 블록을 포함하는 스트라이프에 기억영역에 할당하는 상기의 방식의 상기한 미합중국 특허제 4761785호 명세서에 기재되어 있는 것과 동일하다.
기억제어장치(103)는 기억관리 프로그램을 실행하는 프로그램식 프로세서(104)를 포함한다. 기억관리 프로그램의 동작에 대해서는 이후에 설명한다. 기억제어장치(103)는 또한 불휘발성 RAM(105) 또는 캐쉬 RAM(109)내의 데이터의 배타적 OR를 계산하는 배타적 OR 하드웨어(108)를 포함한다. 어떤 대체 실시예에서는, 프로세서(104)로 배타적 OR 연산을 실행할 수도 있지만, 이 같은 목적용의 특별한 하드웨어를 사용하면 성능이 향상된다.
불휘발성 RAM(105)는 기억장치에 물리적으로 기록될 대기상태의 데이터에 대한 일시 대기영역(temporary queueing area)으로서 기억 제어장치(103)에 의해 사용된다. 불휘발성 RAM(105)에는 이 실시 데이터에 부가하여, 상태 맵(106)과 내용테이블(TOC)(107)이 기억된다. 내용테이블(107)은 기록될 대기상태의 데이터와 그것이 기억되는 기억장치내의 위치와의 맵핑을 포함하고 있다.
상태 맵(106)은 각 데이터 블록의 대응(correspomding) 피리티 블록의 위치 및 고장 회복 모드(failurs rrecovery mode)중의 각 데이터 블록의 상태를 식별하기 위해 사용된다. 상태 맵(106)은 제2도에 상세하게 도시되어 있다. 상태 맵(106)은 각 기억장치마다 상태 맵 기입항목(status map entries)의 테이블을 포함하고 있다. 각 상태 맵 기입항목은(201)은 각 기억장치상의 데이터 블록의 위치(202), 고장모드로 동작하는때에 그 데이터를 회복할 필요가 있는 지의 여부를 나타내는 상태 비트(203) 및 그에 대응하는 패리티 블록의 위치(204)를 포함한다.
다시, 제1도를 참조하면, 캐쉬 메모리(109)는 휘발성 RAM으로서, 기억장치로부터 판독된 데이터를 기억하는데에 사용된다. 캐쉬메모리(109)는 판독동작시에 기억장치로부터 호스트 시스템(101)에 데이터를 전송할 때에 버퍼로서 작용한다. 그리고, 이 데이터의 수정 및 재기록 확률이 높다는, 호스트 시스템(101)으로부터의 표시(indications)에 응답하여, 데이터가 캐쉬 메모리(109)에 저장된다. 아직 수정되지 않는 데이터는 대응하는 패리티 데이터의 갱신을 위해, 수정된 데이터와 배타적 OR 되어야 하므로, 판독된 데이터를 캐쉬 메모리(109)에 저장하면, 기록동작 직전에 그것을 다시 판독할 필요가 없게 될 수 있다. 캐쉬 메모리(109)는 단지 성능 향상을 위해 존재한다. 어떤 대체 실시예에서는, 그것 없이도 본 발명을 실시하는 것이 가능하다. 기억장치로부터 판독된 데이터를 불휘발성 RAM에 보존하는 것이 시스템의 완전성(integrity)을 위해 반드시 필요한 것은 아니므로, 캐쉬 메모리(109)는 휘발성 RAM으로서 특정되고 있다. 그러나, 그 캐쉬는 불휘발성 RAM(105)의 일부로서 구현될 수도 있다. 메모리 모듈의 상대적인 비용과 사이즈에 따라서, 그와 같은 방법이 바람직할 수도 있다.
본 발명에 필요한 하드웨어 및 소프트 웨어에 관한 시스템의 기능에 대해서 이후에 서술한다. 시스템은 정상모드와 고정모드의 두 개의 동작모드를 가진다. 모든 디스크 기억장치가 적절하게 기능하고 있을때에, 시스템은 정상모드로 동작한다. 1대의 기억장치가 고장났을 때, 동작모드는 고장모드로 변하지만, 시스템은 계속동작한다.
정상모드에서의 판독 동작을 제3도에 도시한다. 스텝(301)에서 호스트로부터의 판독(READ) 명령을 수신하여, 스텝(302)에서 요구된 데이터 불휘발성 RAM(105) 또는 캐쉬 메모리(109)내에 존재하는 지의 여부를 판정한다. 존재하는 경우, 스텝(304)에서 불휘발성 RAM(105) 또는 캐쉬 메모리(109)내의 데이터를 호스트에 직접 전송한다. 그렇지 않은 경우, 스텝(303)에서 우선 적당한 기억장치로부터 캐쉬 메모리(109)로 데이터를 판독해내고, 그 다음 스텝(304)에서 캐쉬메모리 부터 호스트 시스템으로 전송한다. 캐쉬 메모리(109)는 기록(WRITE)동작 중에도 성능의 개선을 가져온다. 기록동작이 처리될 때에, 갱신될 데이터의 원래의 버전(original version)이 이미 캐쉬 메모리(109)내에 있는 경우, 패리티를 갱신하기 위해 다시 데이터를 판독할 필요 없고, 따라서 시스템 성능이 개선된다. 캐쉬 메모리(109)의 내용은 당 기술분야에 잘 알려진 다양한 캐쉬 관리기술의 어떤 것을 이용하여 관리한다.
기록동작은 기억제어장치의 프로세서(104)내에서 수행하는 2개의 비동기 태스크(two asynchronous tasks)에 의해 실행된다. 1개의 태스크는 버스(102)를 경유하여 호스트와 통신하는 것으로, 이것을 제4도에 나타낸다. 스텝(401)에서 호스트로부터 기록(WRITE) 명령을 수신하였을 때, 기록동작이 개시된다. 다음, 스텝(402)에서 내용테이블(107)을 조사하여 기억장치에 기록될 데이터를 기억하는데에 충분한 공간이 불휘발성 RAM(105)내에 이용가능한지의 여부를 판정한다(이용가능한 공간에는 기록될 데이터의 백 레벨버젼(back-level versions)에 의해 사용되는 공간과 사용되지 않은 공간이 포함된다.) 공간이 이용 가능하지 않은 경우, 제어장치(103)는 호스트로부터 데이터를 수신할 수 없어, 스텝(403)에서 공간이 이용가능하게 될 때까지 대기해야만 한다(즉, 불휘발성 RAM(105)내에 이미 존재하는 데이터가 기억영역(121-124)에 기록될 때까지 대기해야만 한다.). 불휘발성 RAM(105)내에서 공간이 이용가능하게 되었을 때, 스텝(404)에서 호스트(101)로 부터 불휘발성 RAM(105)으로 데이터가 복사되어, 내용테이블(107)이 갱신된다. 다음, 스텝(405)에서 프로세서(104)가 호스트에 동작완료 메시지를 발생한다. 동작완료 메시지를 수신한 후, 호스트는 마치 기억영역(121-124)에 실제로 데이터가 기록된 것처럼, 자유롭게 처리를 계속할 수 있지만, 실제로는 데이터가 불휘발성 RAM(105)중에서 잠시 대기할 수도 있다. 호스트로부터 보면, 이 동작은 완료되어 있는 것처럼 보인다.
제2의 비동기 태스크는 불휘발성 RAM(105)로부터 기억장치에 데이터를 기록하는 것이다. 정상모드에서의 이 태스크의 흐름도를 제5도에 도시한다. 이 태스크는 스텝(501)에서 불휘발성 RAM(NVRM)(105)내에서 대기하고 있는 기록동작들중의 어느 기록동작을 선택한다. 이 선택기준은 본 발명의 일부가 아니고, 예를 들면 선입선출(First-in-first-out), 후입선출(Lask나-in-first-out) 혹은 시스템 성능 및 기타 고려사항에 의거한 다른 어떠한 기준이어도 무방하다. 기록 동작이 실행될 때, 패리티를 갱신해야만 한다. 신(new) 기록 데이터와 구(old) 데이터와의 배타적 OR을 취함으로써, 그 기록동작에 의해서 변경되는 비트들의 비트 맵을 얻는 것이 가능하다. 이 비트 맵을 기존의 패리티 데이터와 배타적 OR하면, 갱신된 패리티 데이터가 얻어진다. 따라서, 기억장치로의 기록전에, 우선 스텝(502)에서 구 데이터가 수정되지 않는 형태로 캐쉬 메모리(109)내에 존재하는지의 여부를 검사한다. 존재하지 않는 경우, 스텝(503)에서 그 데이터를 캐쉬 메모리(109)로 판독한다. 다음, 캐쉬 메모리(109)내의 구 데이터를 스텝(504)에서 불휘발성 RAM(105)내의 신 데이터와 배타적 OR(XOR)하여 변경된 데이터의 비트 맵을 생성한다. 이 비트 맵은 불휘발성 RAM(105)에 일시적으로 저장되고, 신 데이터는 기억장치(121-124)중의 1개에 기록된다(스텝(505)). 다음, 스텝(507)에서 구 패리티 데이터를 캐쉬 메모리(109)로 판독해내고(스텝(506)에서 수정되지 않은 데이터가 캐쉬 메모리내에 있는 경우), 스텝(508)에서 그것을 비트맵과 배타적 OR하여 신 패리티 데이터를 생성한다. 스텝(509)에서 이신 패리티 데이터를 기억장치(121-124)중의 1개에 기록하고, 내용테이블(107)을 갱신하여 기록동작을 종료한다.
기억장치의 고장이 검출되면, 시스템은 고장모드로 동작하기 시작한다. 기억장치의 고장이라는 것은 그것이 가능할 수 없다는 즉, 데이터 엑세스를 행할 수 없다는 의미이다. 이와 같은 고장은 반드시 장치 자체의 파괴에 의해서 발생하는 것에 한정되지 않는다. 예를 들면, 장치의 전원이 끊어지는 것도 있고, 데이터 케이블이 절단되는 것도 있을 수 있다. 시스템으로 보면, 원인이 무엇이던간에, 그와 같은 고장도 기억장치의 고장이다. 그와 같은 고장을 검출하는 검출 메카니즘은 당 기술분야에 잘 알려져 있다. 일반적인 메카니즘의 예로서는, 응답을 수신하기 전의 타임-아웃(time-out)이나 수신된 데이터에서의 지속적인 높은 에러율(high error rates)을 검출하는 것이 있다.
제6도에, 시스템이 고장모드로 동작하고 있는 때의 판독동작을 나타낸다. 정상모드의 판독동작과 마찬가지로, 스텝(601)에서 호스트로부터의 판독동작이 수신되었을때에, 스텝(602)에서 제어장치는, 우선 불휘발성 RAM(105) 및 휘발성 캐쉬 메모리(109)를 검사하여 원하는 데이터가 있는지의 여부를 판단한다. 불휘발성 RAM 또는 캐쉬내에 데이터가 존재하는 경우, 데이터를 시스템 버스(102)를 경유하여 호스트에 전송한다. 데이터가 불휘발성 RAM 또는 캐쉬내에 없고, 고장나지 않은 기억장치상에 있는 경우에는 (스텝(603)), 스텝(604)에서 기억장치로부터 캐쉬 메모리로 통상의 방식으로 데이터를 판독해 낸다. 데이터가 고장난 기억장치상에 있는 경우에는(스텝(603)), 스텝(605)에서, 제어장치는 상태 맵(106)내의 상태맵 기입항목(201)을 검사하여 원하는 데이터의 기억장치내의 위치를 조사한다. 상태맵 기입항목은 데이터가 회복되었는지의 여부, 즉 데이터가 배타적 OR에 의해서 재구축되어 어느 대체위치에 기억되었는지의 여부를 나타낸다. 상태 맵이 데이터가 회복되어 있지 않은 것을 나타내는 경우(스텝(605)), 스텝(608)에서 제어장치는 고장난 장치 이외의 모든 기억장치상의 대응하는 위치를 순차적으로 판독한다. 판독된 각 데이터블록은 XOR 하드웨어(108)에 의해서 이전에 판독된 블록의 XOR결과의 누계와 XOR 된다. 최종적인 XOR결과가 고장난 장치의 재구축된 데이터로 된다. 스텝(609)에서 이 재구축 데이터가 이 데이터 블록에 대응하는 패리티 블록에 기록된다. 이 패리티 블록의 위치에 기록된 후, 스텝(610)에서, 동일 스트라이프중의 각 블록의 상태 비트(203)를 데이터가 회복된 것을 나타내는 "1"로 변경하는 것에 의해 상태 맵(108)을 갱신한다.
스텝(611)에서, 재구축 데이터를 호스트로 전송한다. 상태 비트(203)가 데이터가 회복되었다는 것을 나타내는 "1"을 원래부터 포함하는 경우(스텝(605)), 스텝(606)에서, 제어장치는 상태 맵으로부터 이전의(the fomer) 패리티 블록(여기에 회복된 데이터가 저장된)의 위치를 얻고, 스텝(607)에서, 이 위치로부터 데이터를 캐쉬 메모리(109)에 직접 판독해 낸다. 이 장치에 의해, 특정한 데이터 블록을 회복하는데에 있어 모든 디스크 기억장치를 1회만 판독하면 된다. 데이터가 회복되면, 그 데이터의 물리적인 기억위치가 패리티 기억을 위해 이전에 사용되었던 위치에 유효하게 재배치되고, 그 후는 그 블록을 판독하는데에 있어 1대의 기억장치를 판독하는 것만으로도 충분하게 된다.
제7도는, 시스템이 고장모드로 동작하고 있을 때 기억장치로의 기록동작을 나타낸다. 정상모드 기록의 경우와 마찬가지로, 제4도에 도시한 호스트 통신 태스크가 기록될 데이터를 호스트로부터 버스(102)를 경유하여 수신한다. 기억장치에 대한 기록에 대한 기록 태스크는 스텝(701)에서, 불휘발성 RAM(105)내의 대기중의 것들로부터 어떤 기록동작을 선택한다. 제어장치가 고장난 장치에 데이터를 기록할 것인지의 여부를 판정하여(스텝(702)), 상태 맵을 검사한다(스텝(703), (709)). 고장난 장치에 데이터를 기록하려고 하지만, 블록내의 데이터가 아직 회복되지 않은 경우에는, 그 블록을 회복하고 나서가 아니면, 기록동작은 가능하게 되지 않는다. 회복은 판독동작에 대해서 상술한 것과 동일한 스텝을 따른다. 스텝(704)에서, (패리티 블록을 포함하는)동일 블록 스트라이프중의 각 블록이 판독되고, 그 내용이 이전에 판독된 블록의 배타적 OR의 누계와 배타적 OR(XOR)된다. 그 결과는 재구축된 데이터로서, 스텝(705)에서, 그것은 패리티 블록용으로 사용되는 위치에 기록된다. 블록전체의 회복이 완료되면, 스텝(706)에서 신데이터(통상은 그 블록의 일부분을 포함함)가 이전의 패리티 위치에서 회복된 데이터 상에 기록되고, 스텝(707)에서 블록이 회복된 것을 나타내도록 상태 맵이 갱신된다. 고장난 장치에 데이터를 기록하려고 하지만, 데이터가 이미 회복되어 있는 경우에는 (703), 스텝(708)에서 회복된 데이터를 기억하는데에 현재 사용되고 있는 이전의 패리티 위치에 직접 기록된다.
고장모드로 동작하고 있을 때 고장나지 않은 장치에 데이터를 기록하려는 경우(702), 스텝(709)에서 제어장치는 상태 맵을 검사한다. 상태가 "1"로서, 고장난 장치상의 동일 스트라이프중의 데이터 블록이 이미 회복되어 있는 것을 나타내는 경우, 스텝(710)에서 기록 데이터를 고장나지 않은 기억장치에 직접 기록한다. 상태가 "0"인 경우에는, 고장나지 않은 장치에 직접 데이터를 기록하는 것은 불가능한데, 그 이유는 그와 같은 동작이 패리티를 변경시켜, 고장난 기억장치내의 대응하는 데이터를 후에 재구축하게 만들기 때문이다. 따라서, 바람직한 실시예에서는, 제어장치가, 우선, 고장난 장치상의 동일 스트라이프중의 데이터 블록을 회복한다. 제7도에 도시한 바와 같이, 스텝(711)에서 우선 고장난 유니트내의 데이터 블록을 배타적 OR(XOR)에 의해 재구축하여, 스텝(712)에서, 상기한 스텝에 따라서 패리티 블록 위치에 저장한다.
다음, 스텝(713)에서 기록 데이터를 그의 기억장치에 기록하고, 스텝(714)에서 상태 맵을 갱신한다. 기록될 데이터를 포함하는 스트라이프의 패리티 블록이 고장난 장치상에 있는 경우에는, 패리티가 어떠한 형태로던 상실케 될 것이므로, 재구축은 불필요하다. 따라서, 기억장치의 고장이 검출되었을 때, 이 스트라이프상의 모든 블록의 상태가 "1"로 세트된다. 그 결과, 이 스트라이프상의 데이터는 고장난 장치상의 대응하는 블록이 이미 회복되어 있는 것처럼, 기억장치에 직접 기록될 것이다. 예를 들어, 제1도를 참조하면, 기억장치(131)가 고장난 경우, 제어장치는 즉시, 블록(132-134)의 상태를 "1"로 세트시켜, 이들 블록에 대한 기록동작이 직접 진행될 수 있도록 한다. 어떤 대체 실시예에서는, 기록동작이 고장나지 않은 장치에 대한 것이고, 고장난 장치상의 대응하는 블록이 회복되지 않은 경우, 정상모드의 기록동작에 사용하는 것과 동일한 스텝에 따라서 패리티 블록을 갱신함으로써, 고장난 장치상의 데이터의 판독 또는 기록이 요구되는 경우에 고장난 장치의 데이터를 이후에 재구축할 능력을 보존하는 것이 가능하게 된다.
바람직한 실시예에서는, 패리티 블록을 사용하여 재구축된 데이터를 기억함으로써, 그 결과, 시스템은 1대의 기억장치가 고장난 후에 패리티 보호없이 수행된다. 제8도에 도시한 바와 같이, 기억장치상에 충분히 큰 예비기억 스트라이프를 유보해두는, 대체실시예도 가능하다. 이 예비기억 스트라이프, 패리티 보호를 필요로 하지 않으며, 필요한 경우에 중복기록될 수 있는 일시 데이터를 포함할 수도 있거나, 또는 전혀 데이터를 포함하지 않을 수도 있다. 이 대체 실시예에서는, 재구축된 패리티 블록 대신에 예비기억 스트라이프(811-814)의 블록에 재배치 된다. 이 대체 실시예는, 고장난 장치의 비예비내용(non-spare contents)을 수용하는데에 충분한 예비기억영역이 존재하는 경우에만 가능하다. 이것도 또한, 시스템에 이용될 수 있는 일시기억영역의 양을 감소시키는 결과를 초래하여, 성능이 저하되거나, 시스템이 서비스할 수 있는 사용자의 수가 감소되게 할 가능성이 있다.
이 대체실시예에서는, 정상모드의 판독동작과 기록동작은 바람직한 실시예에서와 완전히 동일한 방식으로 행해진다. 고장모드로 동작하고 있을 때, 상태 맵이 검사되고, 필요에 따라서 상기와 같이 데이터가 재구축된다. 그러나, 재구축된 데이터는 패리티 블록에는 기록되지 않고, 예비기억영역중의 블록에 기록된다. 상태 맵(106)에는, 고장난 장치에 포함되어 있던 데이터의 새로운 위치를 기억하고 별도의 필드가 필요하다.
또한, 기록동작시에, 정상모드 기록동작의 경우와 동일한 방식으로 패리티가 갱신된다. 이것은 고장난 장치상의 데이터가 재구축된 후에 행해진다.
또 다른 대체실시예에서는, 패리티 보호와 미러구성이 동일 시스템에서 조합된다. 기억장치상에 포함되는 어떤 데이터는 본 명세서에 기술된 패리티 보호 메카니즘에 의해서 보호되고, 다른 데이터는 미러구성을 갖는다. 기억장치가 고장난 경우, 패리티 보호된 데이터는 상술한 바와 같이 재구축되어 기억되고, 미러구성의 데이터는 미러 구성의 카피(copy)를 포함하는 기억장치로부터 엑세스된다.
이상에서는 본 발명의 특정 실시예 및 몇가지 변형실시예를 개시하고 있으나, 당업자라면, 특허청구범위의 범주내에서 형태 및 세부사항을 추가적으로 변경할 수도 있음을 알 것이다. 특히, 개시된 양호한 실시예에서는 자기 디스크 기억 장치를 사용하고 있으나, 본 발명은 삭제가능한 판독/기록 특성을 가진 다른 기억장치 기술에도 적용가능하다.

Claims (26)

  1. 데어터를 포함하기 위한 다수의 데이터 기억 블록(a plurality of data storage blocks)과 상기 데이터 기억 블록들에 기억된 데이터의 패리티(Parity)를 포함하기 위한 패리티 기억 블록을 포함한 기억블록 스트라이프(a stripe of storage blocks)를 포함하되, 상기 기억 블록들의 각각을 제각기의 데이터 기억장치(data storage unit)상에 포함하는, 컴퓨터 시스템을 동작시키는 방법에 있어서, 어떤 데이터 기억 블록을 포함하는 데이터 기억장치가 고장났을 때, 그 데이터 기억 블록내에 포함된 데이터를 상기 스트라이프내의 나머지 기억 블록들로부터 재구축하는(reconstructing) 단계와; 상기 재구축단계에서 재구축된 데이터를, 상기 데이터 기억장치들 중에서 상기 고장난 데이터 기억장치가 아닌 나머지 고장나지 않은 데이터 기억장치들 중의 하나에 기억하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 시스템 동작 방법.
  2. 제1항에 있어서, 상기 재구축단계는 상기 데이터에 대한 엑세스가 시도될 때 데이터의 재구축하는 것을 특징으로 하는 컴퓨터 시스템 동작 방법.
  3. 제1항에 있어서, 상기 기억단계는 상기 재구축된 데이터를 상기 패리티 기억블록내에 기억하는 것을 특징으로 하는 컴퓨터 시스템 동작 방법.
  4. 제3항에 있어서, 상기 재구축단계는 상기 데이터에 대한 엑세스가 시도될 때 데이터를 재구축하는 것을 특징으로 하는 컴퓨터 시스템 동작 방법.
  5. 제1항에 있어서, 상기 데이터 기억장치들은 예비기억블록(a spare storage block)을 포함하며, 상기 기억 단계는 상기 재구축된 데이터를 상기 예비 기억 블록내에 기억하는 것을 특징으로 하는 컴퓨터 시스템 동작 방법.
  6. 제5항에 있어서, 상기 재구축단계는 상기 데이터에 대한 엑세스가 시도될 때 데이터를 재구축하는 것을 특징으로 하는 컴퓨터 시스템 동작 방법.
  7. 컴퓨터 시스템용의 기억장치에 있어서, 적어도 3개의 데이터 기억장치와; 데이터를 포함하기 위한 다수의 데이터 기억 블록과 상기 데이터 기억 블록들내에 기억된 데이터의 패리티를 포함하기 위한 패리티 기억 블록을 제각기 포함하는 적어도 하나의 기억 블록 스트라이프(at least one stripe of storage blocks)로서, 상기 기억블록들의 각각을 제각기의 데이터 기억 장치상에 포함하는, 상기 적어도 하나의 기억블록 스트라이프와; 상기 데이터 기억 블록들중의 어떤 것들 포함하는 데이터 기억 장치가 고장났을 때, 그 데이터가 기억 블록내에 포함된 데이터를 상기 스트라이프내의 나머지 기억 블록들로부터 재구축하는 수단과; 상기 재구축된 데이터를, 상기 데이터 기억장치들 중에서 상기 고장난 데이터 기억장치가 아닌 나머지 고장나지 않은 데이터 기억 장치들 중의 하나에 기억하는 수단을 포함하며; 상기 재구축된 데이터가 기억되는 상기 데이터 기억장치는 상기 재구축수단은 데이터를 재구축해내는 상기 스트라이프의 상기 나머지 기억블록들중의 하나를 포함하는 데이터 기억 장치인 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  8. 제7항에 있어서, 상기 기억수단은 상기 재구축된 데이터를 상기 패리티 기억 블록내에 기억하는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  9. 제8항에 있어서, 상기 재구축수단은 기억제어장치(Storage controller)를 포함하고, 상기 기억제어장치는: 기억 관리 프로그램(storage management program)을 실행하는 프로그램 가능 프로세서(programmabk processor)와; 불휘발성 RAM(mon-volatile random access memory)을 포함하는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  10. 제8항에 있어서, 상기 데이터 처리 시스템은 적어도 두 개의 상기 기억 블록 스트라이프를 포함하며; 상기 패리티 기억 블록들은 상기 데이터 기억 장치들에 라운드 로빈 방식(round robin manner)으로 분배되는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  11. 제8항에 있어서, 상기 데이터 기억 장치들의 각각은 회전 자기 디스크 드라이브 기억 유니트(arotating magnetic disk drive storage unit)인 것을 특징으로 하는 컴퓨터 시스템용 기억장치.
  12. 제7항에 있어서, 상기 데이터 기억 유니트들의 각각은 예비기억 블록을 포함하며; 상기 기억수단은 상기 재구축된 데이터를 상기 예비 기억블록들중의 하나에 기억하는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  13. 제12항에 있어서, 상기 데이터 기억 장치들의 각각은 회전 자기 디스크 드라이브 기억장치인 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  14. 제12항에 있어서, 상기 데이터 기억 장치들에 포함된 상기 예비 기억 블록들의 총기억 용량(total storage capacity)은 상기 고장난 기억장치로부터 재구축된 모든 데이터를 포함하기에 충분한 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  15. 컴퓨터 시스템용의 기억제어장치에 있어서, 프로세서와; 메모리와; 데이터를 포함하기 위한 다수의 데이터 기억블록과 상기 데이터 기억 블록들내에 기억된 데이터의 패리티를 포함하기 위한 패리티 기억 블록을 제각기 포함하는 적어도 하나의 기억 블록 스트라이프를 포함하되, 상기 기억 블록들의 각각을 제각기의 데이터 기억 장치에 포함하는, 다수 데이터 기억 장치의 동작을 제어하기 위한 수단; 상기 패리티 기억 블록을 유지하기 위한 수단과; 상기 데이터 기억 블록들중의 어떤 것을 포함하는 데이터 기억 장치가 고장났을 때, 그 데이터 기억 블록내에 포함된 데이터를 상기 스트라이프의 나머지 기억 블록들로부터 재구축하기 위한 수단과; 상기 재구축된 데이터를, 상기 데이터 기억장치들 중에서 상기 고장난 데이터 기억장치가 아닌 나머지 고장나지 않은 데이터 기억 장치들중의 하나에 기억하기 위한 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템용의 기억제어장치.
  16. 제15항에 있어서, 상기 기억수단은 상기 재구축된 데이터를 상기 패리티 기억 블록내에 기억하는 것을 특징으로 하는 컴퓨터 시스템용의 기억제어장치.
  17. 제15항에 있어서, 상기 다수의 데이터 기억장치는 적어도 두 개의 상기 기억 블록 스트라이프를 포함하며; 상기 패리티 기억 블록들은 상기 데이터 기억 장치들에 라운드 로빈 방식으로 분배되는 것을 특징으로 하는 컴퓨터 시스템용의 기억제어장치.
  18. 제15항에 있어서, 상기 데이터 기억 장치들의 각각은 예비 기억 블록을 포함하며; 상기 기억 수단은 상기 재구축된 데이터를 상기 예비 기억 블록들중의 하나에 기억하는 것을 특징으로 하는 컴퓨터 시스템용의 기억제어장치.
  19. 제18항에 있어서, 상기 데이터 기억 장치들에 포함된 상기 예비 기억 블록들의 총 기억 용량은 상기 고장난 기억장치들로부터 재구축된 모든 데이터를 포함하기에 충분한 것을 특징으로 하는 컴퓨터 시스템용의 기억제어장치.
  20. 컴퓨터 시스템용의 기억장치에 있어서, 데이터를 기억하기 위한 적어도 하나의 기억 블록과 예비 기억 영역을 제각기 포함하는 적어도 3개의 데이터 기억장치와; 상기 데이터 기억장치들 중의 어떤 것이 고장난 것을 검출하는 수단과; 상기 고장난 데이터 기억 장치내에 기억된 데이터를 재구축하는 수단과; 상기 재구축된 데이터를 상기 고장난 데이터 기억 장치가 아닌 나머지 고장나지 않은 데이터 기억 장치들의 상기 다수 예비기억영역에 기억하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  21. 제20항에 있어서, 상기 다수의 데이터 기억장치내에 기억된 데이터의 패리티를 결정하는 수단과; 상기 패리티를 상기 데이터 기억장치들중의 하나에 기억하는 수단을 더 포함하고; 상기 고장난 데이터 기억 장치에 기억된 데이터를 재구축하는 수단은 상기 고장난 데이터 기억장치가 아닌 상기 나머지 고장나지 않은 데이터 기억장치들에 기억된 데이터와 패리티와의 배타적 OR(exclusive-OR)를 행하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  22. 제20항에 있어서, 상기 고장난 데이터 기억 장치가 아닌 상기 나머지 고장나지 않은 데이터 기억 장치들의 상기 다수 예비 기억영역의 총 기억용량은 상기 고장난 데이터 기억 장치로부터 재구성된 모든 데이터를 포함하기에 충분한 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  23. 적어도 3개의 데이터 기억장치와; 패리티 블록들을 데이터 블록 세트들의 함수(a funciton of sets of data blocks)로서 발생하되, 상기 패리티 블록들의 각각을 대응하는 데이터 블록세트의 함수로서 발생하는 패리티 발생수단과; 상기 데이터 기억 장치들상의 데이터 블록 및 패리티 블록의 기억을 관리하는 기억 관리수단과; 상기 데이터 기억장치들중의 어떤 것이 고장난 경우에 그 데이터 기억장치상의 엑세스 불가능한 기억 블록내에 기억된 데이터를 재구축하는 데이터 재구축수단으로서, 상기 기억 관리 수단에 의한 상기 데이터 블록 및 상기 패리티블록의 기억 관리에 따라 상기 엑세스 불가능한 기억블록내에 포함된 데이터를 상기 데이터 기억블록세트들중의 나머지 기억 블록 및 상기 엑세스 불가능한 기억블록이 속하는 대응 패리티 기억블록으로부터 재구축할 수 있는 상기 데이터 재구축수단과; 상기 재구축된 데이터를 상기 데이터 기억장치들중에서 상기 고장난 데이터 기억 장치가 아닌 나머지 고장나지 않은 데이터 기억장치들중의 하나에 기억하는 수단으로서, 상기 재구축된 데이터가 기억되는 상기 데이터 기억장치는 상기 데이터 기억 블록세트의 상기 나머지 기억블록들중의 적어도 하나와 상기 엑세스 불가능한 기억 블록이 속하는 대응 패리티 기억 블록을 포함하는 데이터 기억장치인, 상기 기억수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  24. 제23항에 있어서, 상기 기억 관리수단은 데이터 기억 블록세트의 각각의 기억블록과 상기 데이터 기억장치들의 제각기의 대응 패리티 기억 블록을 분배하기 위한 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  25. 제24항에 있어서, 상기 데이터 기억 장치들의 각각은 예비 기억영역을 포함하고, 상기 기억 수단은 상기 예비기억 영역에 상기 재구축된 데이터를 기억하는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
  26. 제24항에 있어서, 상기 패리티 발생수단, 상기 기억 관리 수단 및 상기 데이터 재구축수단을 포함하는 기억 제어 장치를 더 포함하며; 상기 기억 제어 장치는 기억 관리 프로그램을 실행하는 프로그램가능 프로세서 및 RAM(random access memory)를 갖는 것을 특징으로 하는 컴퓨터 시스템용의 기억장치.
KR1019910009793A 1990-06-21 1991-06-14 컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치 KR960001748B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US54221690A 1990-06-21 1990-06-21
US542,216 1990-06-21
US542216 1990-06-21

Publications (2)

Publication Number Publication Date
KR920005782A KR920005782A (ko) 1992-04-03
KR960001748B1 true KR960001748B1 (ko) 1996-02-05

Family

ID=24162823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910009793A KR960001748B1 (ko) 1990-06-21 1991-06-14 컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치

Country Status (7)

Country Link
US (1) US5596709A (ko)
EP (1) EP0462917B1 (ko)
JP (1) JPH0731582B2 (ko)
KR (1) KR960001748B1 (ko)
CN (2) CN1038710C (ko)
CA (1) CA2044521C (ko)
DE (1) DE69131562T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100893342B1 (ko) * 2005-12-20 2009-04-15 후지쯔 가부시끼가이샤 컴퓨터 장치 및 집합 서버 장치

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
JP3409859B2 (ja) 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US6874101B2 (en) 1991-01-31 2005-03-29 Hitachi, Ltd. Storage unit subsystem
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US5305326A (en) * 1992-03-06 1994-04-19 Data General Corporation High availability disk arrays
AU653670B2 (en) * 1992-03-10 1994-10-06 Data General Corporation Improvements for high availability disk arrays
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
GB2273798A (en) * 1992-12-22 1994-06-29 Ibm Cache system for disk array.
JPH06324815A (ja) * 1993-05-13 1994-11-25 Nec Corp ディスクアレイ装置
WO1994029796A1 (en) * 1993-06-03 1994-12-22 Network Appliance Corporation A method for allocating files in a file system integrated with a raid disk sub-system
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
DE69434381T2 (de) * 1993-06-04 2006-01-19 Network Appliance, Inc., Sunnyvale Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
JPH0736633A (ja) * 1993-07-21 1995-02-07 Nec Corp 磁気ディスクアレイ
US5634109A (en) * 1994-06-20 1997-05-27 International Business Machines Corporation Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache
JP3687111B2 (ja) * 1994-08-18 2005-08-24 株式会社日立製作所 記憶装置システムおよび記憶装置の制御方法
US5659704A (en) * 1994-12-02 1997-08-19 Hewlett-Packard Company Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
US5651133A (en) * 1995-02-01 1997-07-22 Hewlett-Packard Company Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system
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
JP3856855B2 (ja) * 1995-10-06 2006-12-13 三菱電機株式会社 差分バックアップ方式
US5790773A (en) * 1995-12-29 1998-08-04 Symbios, Inc. Method and apparatus for generating snapshot copies for data backup in a raid subsystem
US5734814A (en) * 1996-04-15 1998-03-31 Sun Microsystems, Inc. Host-based RAID-5 and NV-RAM integration
US5917998A (en) * 1996-07-26 1999-06-29 International Business Machines Corporation Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging
US5764880A (en) * 1996-09-10 1998-06-09 International Business Machines Corporation Method and system for rebuilding log-structured arrays
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
JP3702923B2 (ja) * 1997-02-28 2005-10-05 ソニー株式会社 情報処理方法および情報処理装置
JP2790134B1 (ja) 1997-03-11 1998-08-27 日本電気株式会社 ディスクアレイシステム
EP0910086A4 (en) * 1997-04-07 2002-10-28 Sony Corp CUTTING SYSTEM AND METHOD
US6021463A (en) * 1997-09-02 2000-02-01 International Business Machines Corporation Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6161191A (en) * 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
JP2000003255A (ja) * 1998-06-12 2000-01-07 Nec Corp ディスクアレイ装置
GB2343265A (en) * 1998-10-28 2000-05-03 Ibm Data storage array rebuild
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6327672B1 (en) * 1998-12-31 2001-12-04 Lsi Logic Corporation Multiple drive failure tolerant raid system
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)
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6636879B1 (en) 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US6654912B1 (en) 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
US6952797B1 (en) 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US6775791B2 (en) 2001-01-26 2004-08-10 Dell Products L.P. Replaceable memory modules with parity-based data recovery
US6799284B1 (en) 2001-02-28 2004-09-28 Network Appliance, Inc. Reparity bitmap RAID failure recovery
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
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
US6904556B2 (en) * 2001-08-09 2005-06-07 Emc Corporation Systems and methods which utilize parity sets
US7640484B2 (en) * 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US7024585B2 (en) * 2002-06-10 2006-04-04 Lsi Logic Corporation Method, apparatus, and program for data mirroring with striped hotspare
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US6904498B2 (en) * 2002-10-08 2005-06-07 Netcell Corp. Raid controller disk write mask
US7130229B2 (en) 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US7017017B2 (en) 2002-11-08 2006-03-21 Intel Corporation Memory controllers with interleaved mirrored memory modes
AU2003291014A1 (en) 2002-11-14 2004-06-15 Isilon Systems, Inc. Systems and methods for restriping files in a distributed file system
JP2004171206A (ja) 2002-11-19 2004-06-17 Hitachi Ltd ストレージシステム
US7308599B2 (en) * 2003-06-09 2007-12-11 Hewlett-Packard Development Company, L.P. Method and apparatus for data reconstruction after failure of a storage device in a storage array
US7058762B2 (en) * 2003-06-09 2006-06-06 Hewlett-Packard Development Company, L.P. Method and apparatus for selecting among multiple data reconstruction techniques
WO2005017734A1 (ja) * 2003-08-14 2005-02-24 Fujitsu Limited コンピュータ装置および集合サーバ装置
US7428691B2 (en) * 2003-11-12 2008-09-23 Norman Ken Ouchi Data recovery from multiple failed data blocks and storage units
US7188303B2 (en) * 2003-12-29 2007-03-06 Intel Corporation Method, system, and program for generating parity data
CN100433195C (zh) * 2003-12-31 2008-11-12 深圳市朗科科技股份有限公司 闪存介质数据写入方法
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
US8726129B1 (en) * 2004-07-23 2014-05-13 Hewlett-Packard Development Company, L.P. Methods of writing and recovering erasure coded 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
US7401253B2 (en) * 2005-05-09 2008-07-15 International Business Machines Corporation Convolution-encoded data storage on a redundant array of independent devices
US7370261B2 (en) * 2005-05-09 2008-05-06 International Business Machines Corporation Convolution-encoded raid with trellis-decode-rebuild
US7551572B2 (en) * 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7797283B2 (en) * 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7346720B2 (en) * 2005-10-21 2008-03-18 Isilon Systems, Inc. Systems and methods for managing concurrent access requests to a shared resource
US7788303B2 (en) * 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7386675B2 (en) * 2005-10-21 2008-06-10 Isilon Systems, Inc. Systems and methods for using excitement values to predict future access to resources
US7917474B2 (en) * 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
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
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
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
US7953704B2 (en) 2006-08-18 2011-05-31 Emc Corporation 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
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7680842B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. 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
JP4953753B2 (ja) * 2006-10-17 2012-06-13 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP5028074B2 (ja) * 2006-12-04 2012-09-19 キヤノン株式会社 画像形成装置
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
CN100454265C (zh) * 2007-06-07 2009-01-21 华为技术有限公司 镜像恢复方法、存储设备及网络系统
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7966289B2 (en) * 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7949692B2 (en) 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
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
US7984324B2 (en) 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
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
US20090300282A1 (en) * 2008-05-30 2009-12-03 Promise Technology, Inc. Redundant array of independent disks write recovery system
JP5637552B2 (ja) * 2009-02-17 2014-12-10 日本電気株式会社 ストレージシステム
WO2010096519A1 (en) * 2009-02-18 2010-08-26 Marvell World Trade Ltd. Method and system for performing i/o operations on disk arrays
US8560879B1 (en) * 2009-04-22 2013-10-15 Netapp Inc. Data recovery for failed memory device of memory device array
US8417987B1 (en) 2009-12-01 2013-04-09 Netapp, Inc. Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system
US8386834B1 (en) * 2010-04-30 2013-02-26 Network Appliance, Inc. Raid storage configuration for cached data storage
US8386841B1 (en) * 2010-07-21 2013-02-26 Symantec Corporation Systems and methods for improving redundant storage fault tolerance
US8694866B2 (en) * 2011-03-15 2014-04-08 California Institute Of Technology MDS array codes with optimal building
CN102541466A (zh) * 2011-10-27 2012-07-04 忆正存储技术(武汉)有限公司 一种混合存储控制系统和方法
CN103389920B (zh) * 2012-05-09 2016-06-15 深圳市腾讯计算机系统有限公司 一种磁盘坏块的自检测方法和装置
CN103971750B (zh) * 2013-01-29 2017-02-08 中国航空工业集团公司西安飞机设计研究所 一种ram的9相邻单元敏感故障检测方法
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
WO2016053189A1 (en) * 2014-10-03 2016-04-07 Agency For Science, Technology And Research Method for optimizing reconstruction of data for a hybrid object storage device
US20170337103A1 (en) * 2016-05-19 2017-11-23 Intel Corporation Method and apparatus to provide data redundancy in a solid-state drive
KR102573301B1 (ko) * 2016-07-15 2023-08-31 삼성전자 주식회사 Raid 리커버리를 수행하는 메모리 시스템 및 그 동작방법
KR20180012009A (ko) * 2016-07-26 2018-02-05 에스케이하이닉스 주식회사 데이터 맵핑을 수행하는 반도체 장치 및 시스템
US10133630B2 (en) * 2016-09-06 2018-11-20 International Business Machines Corporation Disposable subset parities for use in a distributed RAID
US10152378B2 (en) * 2016-10-04 2018-12-11 Futurewei Technologies, Inc. Data protection for a cold storage system
CN108073364A (zh) * 2018-01-12 2018-05-25 江苏华存电子科技有限公司 一种数据数组保护和修复闪存内数据方法
US10585767B2 (en) 2018-02-07 2020-03-10 International Business Machines Corporation Automatic data healing using a storage controller
US10579285B2 (en) * 2018-02-07 2020-03-03 International Business Machines Corporation Automatic data healing by I/O
KR102490191B1 (ko) * 2018-03-05 2023-01-18 삼성전자주식회사 데이터 스토리지 장치 및 이를 포함하는 raid 시스템
CN109412600A (zh) * 2018-09-03 2019-03-01 何祥果 一种基于磁性特征的标识号编码方法
CN111124264B (zh) * 2018-10-31 2023-10-27 伊姆西Ip控股有限责任公司 用于重建数据的方法、设备和计算机程序产品
US11966608B2 (en) * 2021-11-15 2024-04-23 Samsung Electronics Co., Ltd. Memory controller with improved data reliability and memory system including the same

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3893178A (en) * 1973-12-19 1975-07-01 Information Storage Systems Synchronization of multiple disc drives
US4092732A (en) * 1977-05-31 1978-05-30 International Business Machines Corporation System for recovering data stored in failed memory unit
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
JPS583113A (ja) * 1981-06-30 1983-01-08 Fujitsu Ltd デイスク制御方式
US4562576A (en) * 1982-08-14 1985-12-31 International Computers Limited Data storage apparatus
FR2561428B1 (fr) * 1984-03-16 1986-09-12 Bull Sa Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques
US4667326A (en) * 1984-12-20 1987-05-19 Advanced Micro Devices, Inc. Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives
US4754397A (en) * 1985-02-15 1988-06-28 Tandem Computers Incorporated Fault tolerant modular subsystems for computers
JPS61264599A (ja) * 1985-05-16 1986-11-22 Fujitsu Ltd 半導体記憶装置
US4722085A (en) * 1986-02-03 1988-01-26 Unisys Corp. High capacity disk storage system having unusually high fault tolerance level and bandpass
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4775978A (en) * 1987-01-12 1988-10-04 Magnetic Peripherals Inc. Data error correction system
US4942579A (en) * 1987-06-02 1990-07-17 Cab-Tek, Inc. High-speed, high-capacity, fault-tolerant error-correcting storage system
US4870643A (en) * 1987-11-06 1989-09-26 Micropolis Corporation Parallel drive array storage system
US4899342A (en) * 1988-02-01 1990-02-06 Thinking Machines Corporation Method and apparatus for operating multi-unit array of memories
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US4989206A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
JPH0290254A (ja) * 1988-09-27 1990-03-29 Nec Corp データ入出力システム
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology Corporation Arrayed disk drive system and method
US5101492A (en) * 1989-11-03 1992-03-31 Compaq Computer Corporation Data redundancy and recovery protection
US5072378A (en) * 1989-12-18 1991-12-10 Storage Technology Corporation Direct access storage device with independently stored parity
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
US5130992A (en) * 1990-04-16 1992-07-14 International Business Machines Corporaiton File-based redundant parity protection in a parallel computing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100893342B1 (ko) * 2005-12-20 2009-04-15 후지쯔 가부시끼가이샤 컴퓨터 장치 및 집합 서버 장치

Also Published As

Publication number Publication date
EP0462917A2 (en) 1991-12-27
JPH0731582B2 (ja) 1995-04-10
KR920005782A (ko) 1992-04-03
EP0462917B1 (en) 1999-09-01
CA2044521C (en) 1998-03-31
CN1182913A (zh) 1998-05-27
DE69131562D1 (de) 1999-10-07
DE69131562T2 (de) 2000-04-27
CN1057533A (zh) 1992-01-01
US5596709A (en) 1997-01-21
CN1109973C (zh) 2003-05-28
CN1038710C (zh) 1998-06-10
JPH04233025A (ja) 1992-08-21
CA2044521A1 (en) 1991-12-22
EP0462917A3 (en) 1992-01-22

Similar Documents

Publication Publication Date Title
KR960001748B1 (ko) 컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치
US7111134B2 (en) Subsystem and subsystem processing method
JP3505093B2 (ja) ファイル管理システム
US5790773A (en) Method and apparatus for generating snapshot copies for data backup in a raid subsystem
CA2063897C (en) Method and means for distributed sparing in dasd arrays
US6434666B1 (en) Memory control apparatus and method for storing data in a selected cache memory based on whether a group or slot number is odd or even
US7111117B2 (en) Expansion of RAID subsystems using spare space with immediate access to new space
US5819109A (en) System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete
US6886068B2 (en) Disk array apparatus and data update method for storing tag blocks
EP0871120A2 (en) Method of storing data in a redundant group of disks and redundant array of disks
US7228381B2 (en) Storage system using fast storage device for storing redundant data
EP0569212A1 (en) Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
US5634109A (en) Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache
US5583876A (en) Disk array device and method of updating error correction codes by collectively writing new error correction code at sequentially accessible locations
JP3204143B2 (ja) ディスクキャッシュの制御方法
JPH06274409A (ja) 一括消去型不揮発性メモリ
JPH0619632A (ja) コンピユータ・システムのストレージ装置及びデータのストア方法
US6079000A (en) XPC backup for in-process audit
US20040133741A1 (en) Disk array apparatus and data writing method used in the disk array apparatus
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
EP0351109A2 (en) Reducing resources in a high reliability data storage subsystem
JPH0877074A (ja) フラッシュメモリを用いた記憶装置システム
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법
JPH06119125A (ja) ディスクアレイ装置
JP3067558B2 (ja) ディスクアレイ装置の拡張構成方法およびディスクアレイ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20110110

Year of fee payment: 16

EXPY Expiration of term