KR100434932B1 - Raid시스템의결함데이터를관리하는방법및장치 - Google Patents

Raid시스템의결함데이터를관리하는방법및장치 Download PDF

Info

Publication number
KR100434932B1
KR100434932B1 KR10-1998-0704500A KR19980704500A KR100434932B1 KR 100434932 B1 KR100434932 B1 KR 100434932B1 KR 19980704500 A KR19980704500 A KR 19980704500A KR 100434932 B1 KR100434932 B1 KR 100434932B1
Authority
KR
South Korea
Prior art keywords
memory
block
data
bdt
memory module
Prior art date
Application number
KR10-1998-0704500A
Other languages
English (en)
Other versions
KR20000064410A (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 KR20000064410A publication Critical patent/KR20000064410A/ko
Application granted granted Critical
Publication of KR100434932B1 publication Critical patent/KR100434932B1/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
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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/1088Scrubbing in RAID systems with parity

Abstract

결함 디스크 데이터의 재구성동안 판독 에러가 발생할 때, 에러 블록에 따른 블록은 대응하는 결함 디스크 블록의 재구성을 가능하게 하지 않는다. 2개의 데이터 블록의 오용을 방지하기 위해, 배드 데이터 테이블[BDT](23)이 구성되며 블록의 어드레스 목록은 판독하며 그 블록은 재구성될 것이다. 표준 필러 블록(106)은 2개의 결함 블록으로 기록되며 새로운 패리티 블록이 생성된다. 메모리 어레이(200)에 대한 모든 액세스 요구의 어드레스는 BDT(109)와 비교되며, 리스트되지 않는다면, 그 액세스는 진행된다(200). 어드레스가 리스트되면, 에러 신호(204)는 복귀된다. 리스트된 기록 요구(203)에 있어서, 결함 블록 어드레스는 BDT(205)에서 삭제되고, 새로운 데이터가 블록으로 기록(206)되며 새로운 패리티 블록이 계산되어 저장된다.

Description

RAID 시스템의 결함 데이터를 관리하는 방법 및 장치{METHOD AND APPARATUS FOR MANAGEMENT OF FAULTY DATA IN A RAID SYSTEM}
본 발명은 값싼 디스크의 리던던트 어레이(RAID; Redundant Arrays of Inexpensive Disks)라고 불리는 하드 디스크의 결함 허용 한계 어레이에 관한 것이다. 좀더 상세하게는, 본 발명은 디스크 결함으로 인해 미검출된 판독 에러를 포함하는 디스크 이외의 디스크의 교체 및 구축이 필요할 때 발견되는 RAID 시스템에서 미검출된 판독 에러의 관리 및 수정에 관한 것이다.
발명의 요약
본 발명은, 어레이의 한 채널에서 디스크 기록 매체 에러, 및 다른 채널에서 디스크 드라이브의 결함, 교체 및 구축 때문에 동일한 RAID 데이터 그룹내에 2개의 결함 데이터 블록이 존재할 때, 의사 데이터의 잠재적 생성을 회피하는 결함 데이터 관리 서브시스템을 제공한다. 본 발명의 결함 데이터 관리 서브시스템은:
a) 결함 디스크에서 데이터를 재구성하기 위해 사용되는 채널 중 배드 데이터 블록을 검사하는 결함 드라이브를 재구축하고, 결함이 발생하면, 그 블록 및 재구축되고 있는 대응하는 디스크의 블록에 필러(filler) 코드를 기록함으로써 배드 데이터 블록을 스크럽(scrub)하기 위한 디스크 구축 루틴;
b) 필러 코드를 갖춘 채널을 포함하는 모든 채널을 사용함으로써 배드 데이터 블록에 대응하는 새로운 패리티 블록을 계산하는 것;
c) 모든 배드 데이터 블록을 리스트하는 배드 데이터 테이블을 갱신하는 것; 및
d) 디스크 어레이 액세스 요구의 데이터 어드레스가 배드 데이터 테이블에 리스트되어 있는지를 결정하기 위해 각 디스크 어레이 액세스 요구를 검사하고, 리스트되어 있지 않다면 액세스가 진행될 수 있게 하고, 그렇지 않다면 액세스 요구가 기록을 위한 것인지를 검사하며, 기록을 위한 것이라면 기록을 가능하게 하며 배드 데이터 테이블의 블록 어드레스를 삭제하고 새로운 패리티 블록을 생성하며, 기록을 위한 것이 아니라면 에러 신호를 생성하는 것을 포함한다.
본 발명은 상기 설명된 잠재적인 문제를 초래하지 않고 RAID 시스템에서 결함 데이터를 관리하는 수단을 제공한다.
바이트 스트라이프가 단일 어드레스 블록이기에, RAID-3 및 RAID-4 시스템이 블록 길이를 제외하고 동일하다고 볼 수 있다. 이에 따라, 이하에서 블록을 참조하는 것은 다른 지시 사항이 없다면 모두 RAID-3 바이트 스트라이프를 포함하는 것으로 이해될 것이다.
또한, "RAID 시스템"은 다른 지시 사항이 없다면 RAID-3, 4, 5 시스템을 나타내는 데 사용될 것이다.
개인용 컴퓨터를 위해 개발된 자기 디스크 기술에 기초한 RAID 시스템은 개선된 성능, 신뢰성, 전력 소비를 제공함으로써 단일 대형의 고가의 디스크 메모리에 대하여 주목할 만한 대안을 제시한다. 소형 디스크의 제조자는 ANSI X3.131-1986 소형 컴퓨터 동기 인터페이스(SCSI)와 같은 더 높은 수준의 주변기기 인터페이스를 나타내는 표준화 노력으로 그런 성능을 제시할 수 있다. 이것은 데이터의 대규모 블록 전송을 위해 인터리브된 방식으로 구성된, 또는 소규모 트랜잭션 프로세싱을 위해 독립 병렬 액세스로 정렬된 값싼 디스크의 어레이의 발전을 초래했다.
대규모 디스크 어레이의 형성은 전기 기계 디바이스의 대규모 중복 사용으로 인해 발생되는 신뢰성 문제를 초래한다. 어레이의 평균 고장 시간(MTTF)은 어레이에 있어서 디스크 수와 함께 증가되는 것으로 판단되어 왔다(Patterson, D.A., Gibson, G. 및 Katz, R.H., "A Case for Redundant Arrays of Inexpensive Disks(RAID)", 보고서 번호 UCB/CSD 87/391, 1987년 12월, 캘리포니아주 94720 버클리에 있는 캘리포니아 대학 컴퓨터과학과(EECS)).
본 발명은 아래 주어진 상세한 설명 및 발명의 바람직한 실시예의 첨부된 도면으로부터 완전히 이해될 수 있으나, 특정 실시예에 따른 발명을 제한하도록 취급되선 안되며 설명 및 이해하기 위해서이다.
도 1은 디스크 어레이 컨트롤러를 포함하여 종래 기술 MxN 디스크 어레이의 블록도이다.
도 2는 도 1의 어레이에 기초한 종래 기술 논리 디스크 영역 구성을 도시한다.
도 3a는 종래 기술 RAID-1 시스템의 메모리 맵을 도시한다.
도 3b는 종래 기술 RAID-3 시스템의 메모리 맵을 도시한다.
도 3c는 종래 기술 RAID-4 시스템의 메모리 맵을 도시한다.
도 3d는 종래 기술 RAID-5 시스템의 메모리 맵을 도시한다.
도 4a, 4b 및 4c는 종래 기술에 따라, 각각 초기 RAID-1 메모리 맵, 이중 결함 메모리 RAID-1 메모리 맵 및 구축된 이중 결함 RAID-1 메모리 맵을 도시한다.
도 5a, 5b 및 5c는 종래 기술에 따라, 각각 초기 RAID-5 메모리 맵, 이중 결함 RAID-5 메모리 맵 및 구축된 이중 결함 RAID-5 메모리 맵을 도시한다.
도 6은 본 발명의 디스크 구축 및 재구성 방법의 흐름도이다.
도 7은 어레이를 액세스하는 본 발명의 방법의 흐름도이다.
도 8은 RAID 결함 데이터 관리 시스템을 위한 본 발명의 하드웨어 구성을 도시한다.
도 6은, 다른 채널에서 대응하는 데이터 블록을 재구성하는 동안 디스크 판독 결함이 RAID 시스템의 채널에서 발생하였기 때문에 의사(spurious) 데이터가 생성되는 문제를 회피하는 데 사용되는 디스크 구축 및 재구성 방법(100)을 도시하는 흐름도이다. 데이터 블록의 재구성 또는 디스크 드라이브의 구축은 공통 패리티 블록을 공유하는 같은 그룹에 속하는 나머지 블록의 대응하는 비트를 비트 대 비트로 EXOR 논리비교함으로써 완성된다.
디스크 구축 및 재구성 방법(100)은 재구성의 EXOR 방법으로 시작하는 단계(101)에서 시작된다. 재구성동안, 단계(104)는 재구성을 위해 필요한 블록 중 하나가 배드 블록이라는 표시를 검사한다. 배드 블록이 검출되지 않고 재구성이 완료되면, 프로세스는 단계(111)에서 종료된다. 그렇지 않다면, 단계(105)는 재구성을 위해 필요한 배드 데이터 블록이 패리티 블록인지를 검사한다. 패리티 블록이라면, 단계(107)는 재구성되는 블록에 필러 블록을 기록하고 단계(109)는 그 데이터 블록이 복구 불능(배드)이라고 기록함으로써 배드 데이터 테이블(BDT)을 갱신한다. (필러 블록은 임의의 편리한 영문자, 숫자 코드를 포함할 수 있다) 단계(104)의 배드 데이터 블록이 패리티 블록이 아니라면, 단계(106)는 이 배드 데이터 블록을 교체하기 위해 필러 블록을 기록함으로써 배드 데이터 블록을 스크럽(scrub)하며, 단계(107)에서, 재구성되었을 대응하는 블록에 필러 블록을 또한 기록한다. 단계(109)는 단계(104)의 블록 및 재구성되고 있는 채널의 대응하는 블록 모두 배드 블록임을 기록함으로써 BDT를 갱신한다. BDT의 각 엔트리는 인공(artificial) 데이터 및 복구 불능 데이터를 포함하는 블록을 식별한다. 단계(108)는 필러 블록을 포함하여 모든 데이터 채널 블록을 EXOR 논리비교함으로써 새로운 패리티 데이터를 계산하고, 새로운 패리티 블록을 기록하며 단계(110)는 단계(104)로 복귀하여 재구성 프로세스를 재개한다.
도 6의 프로시저는
(1) 데이터 블록중 하나에서 재구성동안 판독 에러가 발생한다면, 모든 잔류하는 "양호한" 데이터 블록은 회복가능하고,
(2) 필러 블록의 인공 데이터는 실제 데이터와 혼돈될 수 없다는 것을 보장할 수 있게 해준다.
단계(109)는 배드 데이터 테이블, 즉 BDT를 갱신하는데, BDT는 디스크 컨트롤러(12)에 위치하고, 각 디스크의 예약 구간에도 위치할 수 있다. BDT는 모든 배드 데이터 블록(필러 블록)의 리스트를 포함하고, 디스크 어레이에 대한 어떠한 판독 요구라도 먼저 목적지 어드레스를 BDT에 리스트된 어드레스와 비교하고, 어드레스가 리스트되어 있다면 적절한 에러 신호를 요구 에이전트에 보내준다. BDT가 갱신된 후, 재구성 프로세스는 단계(110)에서 계속되며, 단계(104)에서의 모니터링은 완료될 때까지 계속된다. 추가적인 배드 데이터 블록이 단계(104)에서 발견된다면, 단계(105-110)는 필요한 만큼 반복된다.
도 7의 흐름도에 도시된 바와 같이, 어레이 액세스(200)를 검사하는 비교기를 동작시키기 위한 방법은 RAID 메모리 시스템과 함께 BDT 사용을 관리하는데 이용된다. 이 방법은 액세스가 요구될 때마다 호출되며, 액세스 요구가 어드레스가 BDT에 어드레스가 리스트되어 있는 배드 데이터 블록에 대한 것인지를 검사함으로써 단계(201)에서 시작되고, 그렇지 않다면 정상 동작 모드로 액세스를 진행한다. 만일 어드레스가 BDT에 리스트되어 있다면, 단계(203)는 액세스가 기록 동작을 위한 것인지를 결정하고, 그렇지 않다면, 단계(204)에서 에러 플래그가 생성된다. 에러 플래그는 판독 요구가 복구 불가능한 데이터 블록에 대한 것임을 호스트 시스템에게 알려준다. 만일 요구가 기록 액세스를 위한 것이라면, 단계(205)는 BDT로부터 이 블록 어드레스를 삭제하고 단계(206)에서 기록 회로가 새로운 데이터를 이 블록 어드레스에 기록하도록 허용하며, 이렇게 해서 배드 데이터 블록 상태를 스크럽한다. 단계(207)는 새로운 블록 패리티를 계산하고, 액세스된 데이터 그룹과 연관된 대응하는 패리티 블록에 새로운 블록 패리티를 기록하기 위한 것이다.
도 8은 도 6 및 7에 개시된 방법을 이용하는 본 발명의 RAID 시스템의 아키텍쳐를 도시하는 블록도이다. 일반적으로, 상기 설명된 종류의 결함 데이터 관리를 갖춘 RAID 시스템(20)은 그 컨트롤러(22)를 통해 SCSI 버스(21)로부터 인터페이스된다. (SCSI는 미국 규격 X3T9.2/86-109 "소형 컴퓨터 시스템 인터페이스-2"에 설명된 것처럼 잘 알려진 업계 표준의 버스를 나타낸다.) 버스(21)는 RAID 시스템(20)을 호스트 컴퓨터에 연결한다. 디스크 어레이 컨트롤러(22)는, 메모리 액세스와 연관된 임의의 논리 어드레스를 대응하는 물리적 어드레스로 매핑하고, 데이터 트래픽을 관리하고, 각 디스크 드라이브의 동작을 제어하고, 상태 정보를 호스트에 제공하기 위해 필요한 논리를 제공한다. BDT(23)는 컨트롤러(22)에 결합되어 도시되지만 집적 칩 디스크 어레이 컨트롤러와 일체적 부분이 될 수 있다. 또한, 액세스 어드레스가 디스크 컨트롤러(22)의 어레이 레벨보다는 디스크 레벨에서 검사될 수 있도록 각 디스크의 배드 데이터 정보가 선택적으로 저장되는, 로컬 BDT(24)를 갖는 어레이의 각 디스크(11)가 도시된다.
당업자들이 이해하는 바와 같이, 상기 설명한 방법 및 장치의 많은 변화는 본 발명의 정신 및 범위를 벗어나지 않고 당업자에 인해 행해질 수 있으며, 다음에 따르는 청구항으로만 제한되어야 한다.

Claims (16)

  1. 메모리 어레이 컨트롤러를 구비하고, 적어도 세 개의 메모리 채널을 구비하며, 상기 메모리 어레이 컨트롤러를 액세스할 수 있는 다중 채널 메모리 시스템에 있어 결함 있는 데이터를 관리하는 장치로서,
    상기 메모리 어레이 컨트롤러는 상기 메모리 시스템에 대한 액세스를 제어하고 메모리 결함을 검출하고 메모리 에러를 검출하며 결함 있는 메모리 채널을 재구성하고,
    상기 메모리 채널 각각은 하나 이상의 모듈을 포함하고, 각 모듈은 결함 및 판독 에러 검출 수단을 포함하고 결함시 독립적으로 대체될 수 있는 것인,
    상기 결함 데이터 관리 장치에 있어서,
    a) 교체 메모리 모듈 내의 복구 불가능한 데이터 블록들의 어드레스를 저장하고, 상기 메모리 시스템의 다른 메모리 모듈들과 관련된 다른 복구 불가능한 데이터 블록들의 어드레스를 저장하는 배드 데이터 테이블(BDT)로서,
    상기 교체 메모리 모듈은 상기 메모리 시스템의 결함 있는 제1 메모리 모듈로부터 재구성되는 데이터를 저장하고,
    상기 복구 불가능한 데이터 블록들은 상기 교체 메모리 모듈에 데이터를 재구성하여 저장하는 것을 완료하기 전에, 상기 메모리 시스템의 제2 메모리 모듈에 결함이 발생할 때 생기는 것인, 상기 BDT;
    b) 상기 제1 메모리 모듈 내에 저장된 데이터를 재구성하는 동안 상기 제2메모리 모듈내에서 결함이 검출될 때, 상기 제2 메모리 모듈 내의 배드 블록 위치에 필러 데이터를 기록하고,
    상기 교체 메모리 모듈 내의 관련된 위치에 필러 데이터를 기록하며,
    복구 불가능한 데이터를 나타내는 배드 데이터 블록들의 어드레스를 상기 BDT에 기록하며,
    결함 있는 제1 메모리 모듈의 재구성의 개시 후에 작동가능한 기록 회로; 및
    c) 상기 BDT에 저장된 어드레스에 대한 메모리 액세스 요구를 검출하고,
    상기 액세스 요구가 판독 요구라면 복구 불가능한 데이터 에러 신호를 호스트 시스템에 되돌려주고,
    상기 액세스 요구가 기록 요구라면 상기 BDT에 리스트된 어드레스에 대한 기록을 허용하고 상기 BDT로부터 상기 리스트된 어드레스를 삭제할 수 있게 하는 검출 회로를 포함하는 결함 데이터 관리 장치.
  2. 제 1 항에 있어서, 상기 다중 채널 메모리 시스템이 RAID-3 메모리 어레이인 것을 특징으로 하는 결함 데이터 관리 장치.
  3. 제 1 항에 있어서, 상기 다중 채널 메모리 시스템이 RAID-4 메모리 어레이인 것을 특징으로 하는 결함 데이터 관리 장치.
  4. 제 1 항에 있어서, 상기 다중 채널 메모리 시스템이 RAID-5 메모리 어레이인것을 특징으로 하는 결함 데이터 관리 장치.
  5. 제 1 항에 있어서, 상기 BDT가 상기 메모리 어레이 컨트롤러의 일부인 것을 특징으로 하는 결함 데이터 관리 장치.
  6. 제 1 항에 있어서, 상기 BDT가 각 메모리 모듈의 예약 부분(reserved section)에 저장되는 것을 특징으로 하는 결함 데이터 관리 장치.
  7. 제 1 항에 있어서, 상기 BDT가 상기 메모리 어레이 컨트롤러의 메모리 및 각 메모리 모듈의 예약 부분에 저장되는 것을 특징으로 하는 결함 데이터 관리 장치.
  8. 메모리 에러 검출 및 단일 메모리 모듈 정정 수단을 구비하고, 결함 및 판독 에러를 검출할 수 있는 적어도 세 개의 메모리 모듈-각 메모리 모듈은 결함시 독립적으로 교체가능함-을 구비하는 메모리 시스템에서, 결함 데이터를 관리하는 방법에 있어서,
    a) 메모리 모듈의 제1 판독 에러를 검출하는 단계;
    b) 상기 제1 판독 에러가 상기 메모리 모듈의 결함으로 인한 것인지를 결정하고, 만약 그렇다면, 상기 결함 있는 메모리 모들을 교체하고, 상기 단일 메모리 모듈 정정 수단을 사용하여 데이터를 재구성하고, 상기 재구성된 데이터를 교체 메모리 모듈에 저장하는 단계;
    c) 상기 재구성 과정 동안 상기 교체 메모리 모듈에서 제1 블록에 대하여 데이터를 재구성하는 것을 못하게 할 제2 판독 에러-제2 메모리 모듈의 제2 블록과 관련되어 있음-가 있는지 다른 모든 메모리 모듈을 모니터링하고,
    만일 상기 교체 메모리 모듈에서 제1 블록을 재구성하는 동안 상기 메모리 시스템의 제2 메모리 모듈의 제2 블록에서 이러한 제2 판독 에러가 검출된다면, 그리고, 상기 제1 블록과 상기 제2 블록 모두 패리티 블록이 아니라면,
    i) 상기 제1 블록의 어드레스와 상기 제2 블록의 어드레스를 배드 데이터 테이블(BDT)로 입력하고,
    ii) 상기 제1 블록과 상기 제2 블록 모두에 필러(filler) 블록을 기록하며,
    iii) 상기 메모리 시스템의 관련된 스트라이프내의 대응하는 모든 데이터 블록과 함께 상기 제1 블록 및 상기 제2 블록을 사용하여, 상기 메모리 시스템의 관련된 스트라이프내의 대응하는 패리티 블록을 계산하고 교체하며,
    그렇지 않으면,
    1) 상기 제1 블록과 상기 제2 블록 중 데이터 블록인 것에 필러 블록을 기록하고,
    ii) 대응하는 모든 데이터 블록과 함께 필러 블록을 사용하여, 패리티 정보를 포함하도록 지정된 상기 제1 블록과 상기 제2 블록 중 나머지 블록에, 대응하는 패리티 블록을 계산하여 기록하며,
    그 후, 종료될 때까지 상기 교체 메모리 모듈에서 데이터를 재구성하는 것을 계속하는 단계; 및
    d) 요구된 어드레스를 상기 BDT에 리스트된 어드레스와 비교함으로써 상기 메모리 시스템에 대한 모든 메모리 액세스 요구를 모니터링하고,
    만일 상기 어드레스가 상기 BDT에 리스트되어 있지 않다면 상기 액세스 요구가 처리되도록 하며, 그렇지 않으면, 상기 요구가 기록 요구인지 검사하고,
    만일 기록 요구가 아니라면, 복구 불가능한 데이터 에러 신호를 되돌려주며, 만일 기록 요구라면, 어드레스가 지정된 필러 블록이 유효한 데이터 블록에 의해 교체되도록 상기 기록 요구가 처리되도록 하고,
    그 후, 새로운 대응하는 패리티 데이터 블록을 계산하여 입력하는 단계를 포함하고,
    이에 따라, 만일 상기 메모리 시스템의 임의의 모듈에 후속적으로 하나의 결함이 발생한다면, 상기 계산된 패리티 정보, 필러 데이터, 나머지 그룹 데이터를 사용하여 상기 제1 블록 및 상기 제2 블록과 동일한 그룹의 블록들에 저장된 데이터가 복구될 수 있는 것을 특징으로 하는 결함 데이터 관리 방법.
  9. 제 8 항에 있어서, 상기 메모리 시스템이 RAID-3 메모리인 것을 특징으로 하는 결함 데이터 관리 방법.
  10. 제 8 항에 있어서, 상기 메모리 시스템이 RAID-4 메모리 어레이인 것을 특징으로 하는 결함 데이터 관리 방법.
  11. 제 8 항에 있어서, 상기 메모리 시스템이 RAID-5 메모리 어레이인 것을 특징으로 하는 결함 데이터 관리 방법.
  12. 다수개의 결함을 처리하는 결함 데이터 관리 시스템을 갖춘 메모리 어레이 시스템에 있어서,
    a) 적어도 세 개의 메모리 모듈을 포함하는 메모리 어레이로서, 상기 각 메모리 모듈은 결함시에 독립적으로 교체될 수 있고 결함 및 판독 에러 검출기를 갖는, 상기 메모리 어레이; 및
    b) 상기 메모리 어레이를 메모리 버스에 연결하고, 상기 메모리 어레이에 대한 액세스를 제어하고, 메모리 어레이 결함을 검출하고, 단일 메모리 모듈을 정정하며, 상기 메모리 버스를 통해 메모리 상태에 대하여 알리는, 메모리 어레이 컨트롤러를 포함하고,
    상기 메모리 어레이 컨트롤러는,
    i) 제1 메모리 모듈의 재구성 동안 검출되는 복구 불가능한 데이터 블록들의 어드레스를 저장하고, 상기 제1 메모리 모듈에 저장된 데이터를 재구성하는 것을 완료하기 전에 제2 메모리 모듈에서 후속적인 결함이 검출된 이후에 발생하는 복구 불가능한 데이터 블록들의 어드레스를 저장하는 배드 데이터 테이블(BDT)로서, 상기 재구성은 제1 메모리 모듈에 결함이 발생하여 제1 메모리 모듈의 교체를 필요로 하기 때문인 것인, 상기 BDT;
    ii) 교체된 제1 메모리 모듈 및 제2 메모리 모듈내의 복구 불가능한 데이터블록들에 대응하는 블록들에 필러 데이터 블록들을 기록하고, 복구불가능한 데이터 블록 어드레스를 상기 BDT에 기록하는 기록 회로; 및
    iii) 상기 BDT에 저장된 어드레스와 메모리 액세스 요구 어드레스를 비교함으로써, 배드 데이터 블록들에 대한 메모리 액세스 요구를 검출하고,
    만일 상기 액세스 요구가 판독 요구이고 상기 어드레스가 상기 BDT 내에 저장되어 있다면, 요구하는 에이전트에게 복구 불가능 에러 신호를 되돌려주고,
    만일 상기 액세스 요구가 기록 액세스에 대한 것이라면 상기 액세스 요구가 진행되도록 하는, 비교기를 더 포함하는 것을 특징으로 하는 메모리 어레이 시스템.
  13. 제 12 항에 있어서, 각 메모리 모듈이 상기 BDT를 저장하기 위한 예약된 메모리 영역을 갖는 것을 특징으로 하는 메모리 어레이 시스템.
  14. 제 12 항에 있어서, 상기 메모리 어레이 시스템이 RAID-3 메모리 시스템인 것을 특징으로 하는 메모리 어레이 시스템.
  15. 제 12 항에 있어서, 상기 메모리 어레이 시스템이 RAID-4 메모리 시스템인 것을 특징으로 하는 메모리 어레이 시스템.
  16. 제 12 항에 있어서, 상기 메모리 어레이 시스템이 RAID-5 메모리 시스템인것을 특징으로 하는 메모리 어레이 시스템.
KR10-1998-0704500A 1995-12-15 1996-12-11 Raid시스템의결함데이터를관리하는방법및장치 KR100434932B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/573,127 US5913927A (en) 1995-12-15 1995-12-15 Method and apparatus for management of faulty data in a raid system
US8/573,127 1995-12-15
US08/573,127 1995-12-15

Publications (2)

Publication Number Publication Date
KR20000064410A KR20000064410A (ko) 2000-11-06
KR100434932B1 true KR100434932B1 (ko) 2004-08-27

Family

ID=24290758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0704500A KR100434932B1 (ko) 1995-12-15 1996-12-11 Raid시스템의결함데이터를관리하는방법및장치

Country Status (8)

Country Link
US (1) US5913927A (ko)
EP (1) EP0954786A4 (ko)
JP (1) JPH11510292A (ko)
KR (1) KR100434932B1 (ko)
AU (1) AU713181B2 (ko)
MX (1) MX9804792A (ko)
TW (1) TW469368B (ko)
WO (1) WO1997022931A1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288888A (ja) * 1996-04-22 1997-11-04 Mitsubishi Electric Corp 半導体記憶装置
JP3290365B2 (ja) * 1996-11-19 2002-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーション エラー回復プロシージャを実行する方法
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
JP3196726B2 (ja) * 1998-06-10 2001-08-06 日本電気株式会社 ディスクアレイ接続システム及びその障害発生装置検出方法並びにその制御プログラムを記録した記録媒体
US6775791B2 (en) * 2001-01-26 2004-08-10 Dell Products L.P. Replaceable memory modules with parity-based data recovery
US6766491B2 (en) * 2001-05-09 2004-07-20 Dot Hill Systems Corp. Parity mirroring between controllers in an active-active controller pair
US6854071B2 (en) 2001-05-14 2005-02-08 International Business Machines Corporation Method and apparatus for providing write recovery of faulty data in a non-redundant raid system
US6718435B2 (en) 2001-08-14 2004-04-06 International Business Machines Corporation Method and system for migrating data in a raid logical drive migration
US6959399B2 (en) * 2001-09-24 2005-10-25 International Business Machines Corporation Selective automated power cycling of faulty disk in intelligent disk array enclosure for error recovery
KR20030073982A (ko) * 2002-03-14 2003-09-19 한국전자통신연구원 레이드 서브 시스템에서 중복 데이터의 일관성 유지 방법
US6959413B2 (en) * 2002-06-18 2005-10-25 Lsi Logic Corporation Method of handling unreadable blocks during rebuilding of a RAID device
US6944791B2 (en) * 2002-07-18 2005-09-13 Lsi Logic Corporation Method of handling unreadable blocks during write of a RAID device
US7210004B2 (en) * 2003-06-26 2007-04-24 Copan Systems Method and system for background processing of data in a storage system
US7210005B2 (en) * 2002-09-03 2007-04-24 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system
US6957301B2 (en) * 2002-09-18 2005-10-18 International Business Machines Corporation System and method for detecting data integrity problems on a data storage device
US20040128582A1 (en) * 2002-11-06 2004-07-01 Ching-Hai Chou Method and apparatus for dynamic bad disk sector recovery
KR20040066638A (ko) 2003-01-20 2004-07-27 삼성전자주식회사 외부 저장 서브 시스템에서의 패리티 저장 방법 및에러블록 복구 방법
US7278053B2 (en) * 2003-05-06 2007-10-02 International Business Machines Corporation Self healing storage system
US7434097B2 (en) * 2003-06-05 2008-10-07 Copan System, Inc. Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems
US20050210304A1 (en) * 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
US20060090098A1 (en) * 2003-09-11 2006-04-27 Copan Systems, Inc. Proactive data reliability in a power-managed storage system
US7373559B2 (en) * 2003-09-11 2008-05-13 Copan Systems, Inc. Method and system for proactive drive replacement for high availability storage systems
JP2005107676A (ja) * 2003-09-29 2005-04-21 Toshiba Corp アレイコントローラ及びディスクアレイ再構築方法
US20050091449A1 (en) * 2003-10-23 2005-04-28 Dell Products L.P. System, method and software for faster parity based raid creation
US7200770B2 (en) * 2003-12-31 2007-04-03 Hewlett-Packard Development Company, L.P. Restoring access to a failed data storage device in a redundant memory system
US7434090B2 (en) * 2004-09-30 2008-10-07 Copan System, Inc. Method and apparatus for just in time RAID spare drive pool management
US7454686B2 (en) * 2004-11-23 2008-11-18 International Business Machines Corporation Apparatus and method to check data integrity when handling data
TWI295021B (en) * 2004-12-10 2008-03-21 Infortrend Technology Inc Storage system and method for handling bad storage device data therefor
US7490263B2 (en) * 2006-01-17 2009-02-10 Allen King Apparatus, system, and method for a storage device's enforcing write recovery of erroneous data
US7721146B2 (en) * 2006-05-04 2010-05-18 Dell Products L.P. Method and system for bad block management in RAID arrays
US7506201B2 (en) * 2006-08-28 2009-03-17 International Business Machines Corporation System and method of repair management for RAID arrays
US7814361B2 (en) * 2007-10-12 2010-10-12 Dell Products L.P. System and method for synchronizing redundant data in a storage array
US20100037091A1 (en) * 2008-08-06 2010-02-11 Anant Baderdinni Logical drive bad block management of redundant array of independent disks
US8301942B2 (en) * 2009-04-10 2012-10-30 International Business Machines Corporation Managing possibly logically bad blocks in storage devices
JP4740354B2 (ja) 2009-06-19 2011-08-03 富士通株式会社 ディスク制御装置およびディスク制御方法
US8229901B2 (en) * 2010-09-04 2012-07-24 International Business Machines Corporation Disk scrubbing
US8578208B2 (en) 2011-01-13 2013-11-05 Micron Technology, Inc. Determining location of error detection data
US8954670B1 (en) * 2011-04-18 2015-02-10 American Megatrends, Inc. Systems and methods for improved fault tolerance in RAID configurations
CN102207895B (zh) * 2011-05-27 2012-11-14 杭州华三通信技术有限公司 一种独立磁盘冗余阵列数据重建方法和装置
WO2013145617A1 (ja) * 2012-03-29 2013-10-03 パナソニック株式会社 情報処理装置、情報処理方法及び情報記憶媒体
CN103064803B (zh) * 2012-12-10 2015-11-25 华为技术有限公司 一种NAND Flash存储设备的数据读写方法和装置
US9104604B2 (en) * 2013-02-26 2015-08-11 International Business Machines Corporation Preventing unrecoverable errors during a disk regeneration in a disk array
CN103530069A (zh) * 2013-11-05 2014-01-22 浪潮(北京)电子信息产业有限公司 一种raid5磁盘阵列坏扇区处理方法
CN103647804B (zh) 2013-11-22 2017-04-26 华为技术有限公司 一种存储单元的数据处理方法、设备及系统
US9268640B1 (en) * 2013-12-20 2016-02-23 Emc Corporation Limiting data loss on parity RAID groups
CN104007936B (zh) * 2014-01-07 2017-09-29 华为技术有限公司 访问数据的方法及装置
CN104035840B (zh) * 2014-06-12 2017-10-31 浙江宇视科技有限公司 一种恢复条带读错误的方法和装置
CN106294357B (zh) * 2015-05-14 2019-07-09 阿里巴巴集团控股有限公司 数据处理方法和流计算系统
US9952927B2 (en) 2016-01-27 2018-04-24 Futurewei Technologies, Inc. Data protection for cold storage system
US10120769B2 (en) 2016-04-13 2018-11-06 Dell Products L.P. Raid rebuild algorithm with low I/O impact
KR20180087494A (ko) * 2017-01-23 2018-08-02 에스케이하이닉스 주식회사 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
CN111381997B (zh) * 2018-12-28 2024-03-01 杭州宏杉科技股份有限公司 一种raid重建方法及装置
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457791A (en) * 1992-05-07 1995-10-10 Hitachi, Ltd. Storage system and method of control
US5463643A (en) * 1994-03-07 1995-10-31 Dell Usa, L.P. Redundant memory channel array configuration with data striping and error correction capabilities

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083264A (en) * 1989-04-24 1992-01-21 Xerox Corporation Process and apparatus for saving and restoring critical files on the disk memory of an electrostatographic reproduction machine
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
US5522065A (en) * 1991-08-30 1996-05-28 Compaq Computer Corporation Method for performing write operations in a parity fault tolerant disk array
US5313626A (en) * 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
JP3058743B2 (ja) * 1992-01-21 2000-07-04 株式会社日立製作所 ディスクアレイ制御装置
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US5572660A (en) * 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
US5572661A (en) * 1994-10-05 1996-11-05 Hewlett-Packard Company Methods and system for detecting data loss in a hierarchic data storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457791A (en) * 1992-05-07 1995-10-10 Hitachi, Ltd. Storage system and method of control
US5463643A (en) * 1994-03-07 1995-10-31 Dell Usa, L.P. Redundant memory channel array configuration with data striping and error correction capabilities

Also Published As

Publication number Publication date
WO1997022931A1 (en) 1997-06-26
US5913927A (en) 1999-06-22
MX9804792A (es) 1998-11-30
AU1417097A (en) 1997-07-14
KR20000064410A (ko) 2000-11-06
TW469368B (en) 2001-12-21
AU713181B2 (en) 1999-11-25
EP0954786A1 (en) 1999-11-10
JPH11510292A (ja) 1999-09-07
EP0954786A4 (en) 2009-09-16

Similar Documents

Publication Publication Date Title
KR100434932B1 (ko) Raid시스템의결함데이터를관리하는방법및장치
US7328392B2 (en) Disk array system
US6282670B1 (en) Managing defective media in a RAID system
US6467023B1 (en) Method for logical unit creation with immediate availability in a raid storage environment
US5566316A (en) Method and apparatus for hierarchical management of data storage elements in an array storage device
US7984328B1 (en) System and method for reducing unrecoverable media errors
US5950230A (en) RAID array configuration synchronization at power on
US7788541B2 (en) Apparatus and method for identifying disk drives with unreported data corruption
US5504858A (en) Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
JP3269552B2 (ja) ディスクドライブメモリ
US5790773A (en) Method and apparatus for generating snapshot copies for data backup in a raid subsystem
US5233618A (en) Data correcting applicable to redundant arrays of independent disks
JP2981245B2 (ja) アレイ型ディスク駆動機構システム及び方法
US6243827B1 (en) Multiple-channel failure detection in raid systems
US5951691A (en) Method and system for detection and reconstruction of corrupted data in a data storage subsystem
US7523257B2 (en) Method of managing raid level bad blocks in a networked storage system
JP2942079B2 (ja) 記憶システム
EP1895414A1 (en) Storage control apparatus and failure recovery method for storage control apparatus
JP2000207136A (ja) 複数ドライブ故障トレラントraidアルゴリズム
US20100131706A1 (en) Data reliability bit storage qualifier and logical unit metadata
EP0517816A1 (en) Non-volatile memory storage of write operation identifier in data storage device
JPH09305328A (ja) ディスクアレイ装置
US10896088B2 (en) Metadata recovery mechanism for page storage
US7730370B2 (en) Apparatus and method for disk read checking
US20030229820A1 (en) Method, apparatus, and program for data mirroring with striped hotspare

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080324

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee