KR100793224B1 - Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법 - Google Patents

Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법 Download PDF

Info

Publication number
KR100793224B1
KR100793224B1 KR1020060023801A KR20060023801A KR100793224B1 KR 100793224 B1 KR100793224 B1 KR 100793224B1 KR 1020060023801 A KR1020060023801 A KR 1020060023801A KR 20060023801 A KR20060023801 A KR 20060023801A KR 100793224 B1 KR100793224 B1 KR 100793224B1
Authority
KR
South Korea
Prior art keywords
request
recopy
reconstruction
processing
raid
Prior art date
Application number
KR1020060023801A
Other languages
English (en)
Other versions
KR20070045891A (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 KR20070045891A publication Critical patent/KR20070045891A/ko
Application granted granted Critical
Publication of KR100793224B1 publication Critical patent/KR100793224B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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
    • 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/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/1088Reconstruction on already foreseen single or plurality of spare disks
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 호스트 I/O 요구에 따라서 물리 디스크를 액세스하는 동시에, 재구성(rebuild)/재복사(copyback) 처리하는 RAID 시스템에 있어서, 통상 I/O 처리를 저해하지 않고, 재구성/재복사 처리의 고속화를 실현하는 것을 목적으로 한다.
RAID 구성의 복수의 디스크 장치(200) 내, 1 디스크 장치(200)가 고장났을 때에 컨트롤러(4-0)가 RAID를 재구성하는 재구성/재복사 처리한다. 이 컨트롤러(4-0)는 재구성/재복사에서는 1 디스크로부터 판독하고, 다른 디스크에 기록하기 때문에, 통상 I/O의 유무를 판정하고, 통상 I/O가 없는 것에 따라서 이들 각각의 디스크 드라이브(200)f로의 판독과 기록을 각각 동시에 행한다. 이에 따라, 재구성/재복사 시간의 단축을 도모한다.

Description

RAID 시스템, RAID 컨트롤러 및 그 재구성/재복사 처리 방법{RAID SYSTEM, RAID CONTROLLER AND REBUILT/COPY BACK PROCESSING METHOD THEREOF}
도 1은 본 발명의 일 실시예의 디스크 어레이 장치의 구성도.
도 2는 도 1의 제어 모듈의 구성도.
도 3은 도 1 및 도 2의 제어 모듈의 펌웨어의 기능 블록도.
도 4는 도 3의 펌웨어의 상세 구성도.
도 5는 본 발명의 일 실시예의 재구성/재복사 처리 흐름도.
도 6은 도 5의 처리의 타임 차트도.
도 7은 도 5의 처리의 동작 설명도.
도 8은 본 발명의 일 실시예의 재구성/재복사의 병렬 처리의 타임 차트도.
도 9는 도 4의 RAID 제어 모듈의 처리 흐름도.
도 10은 도 4의 RAID 제어 모듈의 다른 처리 흐름도.
도 11은 본 발명의 일 실시예의 동적·정적 상태 천이도.
도 12는 본 발명의 일 실시예의 재구성/재복사 모듈의 요구 처리 흐름도.
도 13은 본 발명의 일 실시예의 재구성/재복사 모듈의 응답 처리 흐름도.
도 14는 종래의 재구성 처리의 설명도.
도 15는 종래의 재복사 처리의 설명도.
도 16은 종래의 재복사 처리의 타임 차트도.
<도면의 주요 부분에 대한 부호의 설명>
4-0 내지 4-1 : 제어 모듈
40 : 제어 유닛(캐시 및 컨트롤러)
41 : 채널 어댑터
42a, 42b : 디스크 어댑터
400, 410 : CPU
40b : 메모리
200 : 디스크 드라이브
632 : RAID 제어 모듈
634-1 : 재구성/재복사 모듈
2-O 내지 2-3 : 디스크 인클로저
본 발명은 복수의 디스크 장치에 용장성을 갖는 데이터를 저장하는 RAID 시스템에 있어서, 일부 디스크 장치의 장해시에 다른 디스크 장치로부터의 데이터로 용장 구성을 재구축하는 재구성 및 재복사하는 RAID 시스템, RAID 컨트롤러 및 그 재구성/재복사 처리 방법에 관한 것이며, 특히 재구성 및 재복사의 처리 시간을 단축하기 위한 RAID 시스템, RAID 컨트롤러 및 그 재구성/재복사 처리 방법에 관한 것이다.
최근, 여러 가지 데이터가 전자화되어 컴퓨터상에서 다루어짐에 따라서, 데이터의 처리를 실행하는 호스트 컴퓨터와는 독립하여 대량의 데이터를 효율적으로 높은 신뢰성으로 저장할 수 있는 데이터 스토리지 장치(외부 기억 장치)의 중요성이 증가하고 있다.
이 데이터 스토리지 장치로서, 대량의 디스크 디바이스(예컨대, 자기 디스크 장치나 광 디스크 장치)와, 이들 대량의 디스크 디바이스를 제어하는 디스크 컨트롤로 구성되는 디스크 어레이 장치가 이용되고 있다. 이 디스크 어레이 장치는 RAID(Redundant Array of Inexpensive Disk) 구성을 채용함으로써, 데이터의 용장화를 실현하고, 신뢰성을 향상시키고 있다.
이러한 디스크 어레이 장치에 있어서, RAID 그룹을 구성하는 디스크 디바이스가 고장나 용장성을 잃은 경우에 용장성 회복이 필요해진다. 도 14는 이러한 용장성 회복을 위한 RAID 5의 재구성 기능의 설명도이다. 활성 보수를 행하기 위해 RAID 5를 구성하는 4 대의 디스크 디바이스(#0, #1, #2, #3)에 예비 디스크 디바이스 HS(Hot Spare Disk)를 설치한다.
이 디스크 디바이스군(160)은 한 쌍의 디스크 컨트롤러(110, 120)에 접속되어 있다. 각 디스크 컨트롤러(110, 120)는 디스크 디바이스군(160)과의 인터페이스를 제어하는 디스크 어댑터(140)와, 제어 유닛(120)과, 호스트(도시 생략)의 인터페이스를 제어하는 채널 어댑터(100)를 구비한다.
여기서, RAID 5를 구성하는 4 대의 디스크 디바이스 내, 디스크 디바이스 (#0)가 고장난 경우에는 이 고장난 디스크 디바이스(#0) 이외의 디스크 디바이스(#1, #2, #3)의 데이터를 디스크 어댑터(140)를 통해 제어 유닛(120)의 캐시 메모리 또는 데이터 버퍼(도시 생략)에 판독하고, 이들의 XOR 연산을 행하여 용장 데이터를 작성한다.
그리고, 디스크 어댑터(140)를 통해 작성한 용장 데이터를 예비 디스크 디바이스(HS)에 기록하고, 용장성을 회복한다. 이를 재구성(Rebuild) 기능이라고 한다. 또한, RAID 1의 경우에는 판독한 데이터를 그대로 예비 디스크 디바이스(HS)에 기록한다.
한편, 도 15는 재복사(Copyback) 기능의 설명도이다. 도 14의 재구성이 완료된 상태로부터, 고장난 디스크 디바이스(#0)가 새로운 디스크 디바이스(New)로 교환된 경우에 재복사 처리를 행한다. 즉, 예비 디스크 디바이스(HS)에 쓰여진 용장 데이터를 본래의 디스크 디바이스(New)에 복원하는 처리이다.
이러한 재구성/재복사 처리를 호스트로부터의 I/O 요구를 처리하면서, 실행하기 위해 이들 요구 수의 밸런스를 맞추는 방법이 제안되어 있다(예컨대, 특허 문헌 1).
도 16에 도시한 바와 같이, 이 재구성/재복사 처리에서는 임시로, 통상 I/O(호스트 I/O, 내부 I/O)가 없는 상태에서도, 원래의 디스크 드라이브(#1)로부터의 판독 처리가 완료된 후, 기록 목적지의 디스크 드라이브(#2)로의 기록 처리를 실행하고 있었다.
즉, 재구성/재복사 처리를 관리하는 OVSM 모듈은 RAID 액세스를 실행하는 RAID 제어 모듈에, 예컨대 1 회분의 재복사를 의뢰하면 RAID 제어 모듈은 디스크(#1)의 판독 완료 후, 계속해서, 디스크(#2)로의 기록을 실행한다. 그리고, RAID 제어 모듈은 디스크(#2)로부터의 기록 완료를 받고, OVSM 모듈에 의뢰된 재복사 완료를 보고하며, OVSM 모듈은 다음 재복사 의뢰 처리를 실행하고 있었다.
[특허 문헌 1] 일본 특허 공개 2004-295860호 공보(도 14)
이와 같이, 통상 I/O 처리를 접수하면서, 재구성/재복사 처리를 하기 위해서는 디스크 디바이스 1 대 분의 처리를 한번에 행할 수는 없다. 이 때문에, 복수회로 나눠, 정상적인 디스크 디바이스로부터 데이터를 판독하고, 기록 목적지 디스크 디바이스에 기록하는 동작을 디스크 디바이스의 데이터량 분의 횟수를 실행하고 있었다.
예컨대, 재구성에서는 정상 디스크 디바이스로부터 데이터를 판독하고, RAID 1(미러링) 이외에는 용장 데이터를 작성하여 예비 디스크 디바이스(HS)나 신규 디스크 디바이스(New)에 기록하는 동작을 행하고, 재복사에서는 예비 디스크(HS)로부터 데이터를 판독하여 신규 디스크 디바이스(New)에 기록하는 동작을 행한다.
종래에는, 이들의 동작에 관해서, 판독과 기록은 일체로 생각하고, 판독과 기록을 일단위로서, 1 회분의 판독 및 기록의 처리가 종료하지 않으면 다음 판독 및 기록 처리에 진행할 수 없었다.
이 때문에, 통상 I/O가 없는 경우에 상식적으로 생각되는 디스크 디바이스의 성능과 비교하여 재구성/재복사의 완료까지의 시간이 길어진다. 최근, 데이터 베이 스 용량의 증대나 디스크 디바이스의 저장 용량의 증대에 의해 재구성/재복사의 완료까지의 시간도 장기화되고 있다.
또한, 경우에 따라서는 재구성/재복사의 조작을 시스템 메이커의 CE(Customer Engineer)에 의뢰하는 경우가 있고, CE가 이들의 처리가 완료될 때까지 기기의 설치 장소에 있어야 하며, CE의 처리 대기 시간이 증대하고 있어 이들 처리의 시간 단축이 요청된다.
따라서, 본 발명의 목적은 통상 I/O 요구를 처리하면서, 재구성/재복사를 처리할 때에 재구성/재복사 처리의 성능을 향상시키기 위한 RAID 시스템, RAID 컨트롤러 및 그 재구성/재복사 처리 방법을 제공하는 것에 있다.
또한, 본 발명의 다른 목적은 통상 I/O 요구와, 재구성/재복사를 밸런스 처리할 때에 재구성/재복사의 완료 시간을 단축하기 위한 RAID 시스템, RAID 컨트롤러 및 그 재구성/재복사 처리 방법을 제공하는 것에 있다.
또한, 본 발명의 다른 목적은 통상 I/O 요구의 유무를 판정하고, 재구성/재복사 처리를 고속으로 실행하기 위한 RAID 시스템, RAID 컨트롤러 및 그 재구성/재복사 처리 방법을 제공하는 것에 있다.
이 목적의 달성을 위해, 본 발명은 호스트로부터 의뢰된 I/O 요구에 따라서 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 시스템에서, RAID를 구성하는 복수의 상기 디스크 장치와, 상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 컨트롤러를 구비하며, 상기 컨트롤러는 상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하고, 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 재구성 또는 재복사의 판독 및 기록 처리를 병렬로 실행한다.
또한, 본 발명은 호스트로부터 의뢰된 I/O 요구에 따라서 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 컨트롤러에서, 상기 호스트와의 인터페이스를 제어하는 제1 인터페이스 회로와, RAID를 구성하는 복수의 상기 디스크 장치의 인터페이스를 제어하는 제2 인터페이스 회로와, 상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 컨트롤러를 구비하며, 상기 컨트롤러는 상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하여 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 재구성 또는 재복사의 판독 및 기록 처리를 병렬로 실행한다.
또한, 본 발명은 호스트로부터 의뢰된 I/O 요구에 따라서 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 시스템의 재구성/재복사 처리 방법에서, RAID를 구성하는 복수의 상기 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새 디 스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 재구성/재복사 처리 단계와, 상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하는 단계와, 상기 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 재구성 또는 재복사의 판독 및 기록 처리를 병렬로 실행하는 단계를 포함한다.
또한, 본 발명에서 바람직하게는 상기 컨트롤러는 통상 I/O 요구의 처리 완료 시각을 상기 통상 I/O 요구의 처리 완료 때마다 기록하고, 상기 처리 완료 시각과 현재 시각을 비교하여 통상 I/O 요구가 소정 시간 오지 않는지를 판정한다.
또한, 본 발명에서 바람직하게는 상기 컨트롤러는 상기 통상 I/O 요구와 상기 재구성/재복사의 1 회의 요구를 밸런스를 맞춰 실행하는 동시에 상기 재구성/재복사의 병렬의 기록 및 판독 완료에 따라서 다음 재구성/재복사의 기록 및 판독 요구를 발행한다.
또한, 본 발명에서 바람직하게는 상기 컨트롤러는 상기 재구성/재복사 처리의 진척 상황을 관리하는 진척 테이블을 가지며, 상기 진척 테이블에 따라 재구성 또는 재복사 처리의 1 회의 판독 요구를 작성하고, 또한 상기 재구성/재복사의 병렬 기록 및 판독 완료에 따라서, 상기 진척 테이블을 갱신한다.
또한, 본 발명에서 바람직하게는 상기 컨트롤러는 상기 재구성/재복사의 요구를 판독까지의 처리와 기록에서의 처리로 분할하여 실행하는 RAID 제어 모듈과, 상기 재구성/재복사 처리의 판독 요구와 기록 요구를 개별적으로 상기 RAID 제어 모듈에 발행하는 재구성/재복사 모듈을 구비한다.
또한, 본 발명에서 바람직하게는 상기 재구성/재복사 모듈은 통상 I/O 요구가 소정 시간 도래하지 않는 경우와, 상기 통상 I/O 요구가 소정 시간 내에 도래한 경우 사이의 천이를 판정하고, 상기 판정 결과에 따라서, 상기 재구성 또는 재복사의 판독 및 기록 요구를 병렬로 발행한다.
또한, 본 발명에서 바람직하게는 상기 컨트롤러는 상기 통상 I/O 요구가 소정 시간 내에 도래한 경우로부터 상기 통상 I/O 요구가 소정 시간 도래하지 않는 경우에 천이함에 따라서, 상기 재구성 또는 재복사 처리의 1 회의 판독 요구를 발행하고, 상기 판독 요구의 처리 완료에 따라서 상기 재구성 또는 재복사의 판독 및 기록 요구를 병렬로 발행한다.
또한, 본 발명에서 바람직하게는 상기 컨트롤러는 상기 RAID를 구성하는 상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 처리를 실행한 후, 상기 예비 디스크 장치의 데이터를 판독하고, 상기 고장난 디스크 장치 대신에 설치된 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 재복사 처리를 실행한다.
(실시예)
이하, 본 발명의 실시예를 디스크 어레이 장치(RAID 시스템), 스레드 구성, 재구성/재복사 처리, 재구성/재복사의 병렬 처리, 다른 실시예 순으로 설명한다.
** 디스크 어레이 장치**
도 1은 본 발명의 일 실시예의 디스크 어레이 장치의 구성도, 도 2는 도 1의 컨트롤 모듈의 구성도이다.
도 1은 2 대의 컨트롤 모듈을 구비하는 소규모인 디스크 어레이 장치를 예로서 도시하지만, 4 대의 중간 규모의 디스크 어레이 장치, 8 대의 대규모의 디스크 어레이 장치도 마찬가지이다.
도 1에 도시하는 바와 같이, 디스크 어레이 장치는 데이터를 유지하는 복수의 디스크 디바이스를 탑재하는 복수의 디스크 인클로저(2-0 내지 2-3)와, 도시하지 않은 호스트 컴퓨터(데이터 처리 장치)와, 복수의 디스크 인클로저(2-0 내지 2-3) 사이에 배치된 복수(여기서는 2 개)의 제어 모듈(RAID 컨트롤러)(4-0 내지 4-1)을 구비한다.
제어 모듈(4-0 내지 4-1)의 각각은 컨트롤러(40)와, 채널 어댑터(제1 인터페이스부; 도면 중 CA로 표기)(41)와, 디스크 어댑터(제2 인터페이스부; 도면 중 DA로 표기)(42a, 42b)와, DMA(Direct Memory Access) 엔진(통신부; 도면 중 DMA로 표기)(43)을 갖는다.
도 1 및 도 2에 의해 제어 모듈(4-0 내지 4-1)을 설명한다. 컨트롤러(40)는 호스트 컴퓨터로부터의 처리 요구(판독 요구 또는 기록 요구)에 기초하여, 판독/기록 처리를 행하는 것이며, 메모리(40b)와 제어부(40a)를 구비한다.
메모리(40b)는 디스크 인클로저(2-0 내지 2-3)의 복수의 디스크에 유지된 데이터의 일부를 유지하는 소위 복수의 디스크에 대한 캐시가 역할을 다 하는 캐시 영역과, 그 외의 워크 영역을 갖는다.
제어부(40a)는 메모리(40b), 채널 어댑터(41), 디스크 어댑터(42; 42a, 42b), DMA(43)를 제어한다. 이 때문에, 하나 또는 복수(도면에서는 2 개)의 CPU(400, 410)와, 메모리 컨트롤러(420)를 갖는다. 메모리 컨트롤러(420)는 메모리의 판독/기록을 제어하고, 또한 경로의 전환을 행한다.
메모리 컨트롤러(420)는 메모리 버스(434)를 통해 메모리(40b)와 접속하고, CPU 버스(430, 432)를 통해 CPU(400, 410)와 접속하며, 또한 메모리 컨트롤러(420)는 4 레인의 고속 직렬 버스(예컨대, PCI-Express)(440, 442)를 통해 디스크 어댑터(42a, 42b)에 접속한다.
마찬가지로, 메모리 컨트롤러(420)는 4 레인의 고속 직렬 버스(예컨대, PCI-Express)(443, 444, 445, 446)를 통해 채널 어댑터(41)(여기서는, 4 개의 채널 어댑터(41a, 41b, 41c, 41d)에 접속하고, 4 레인의 고속 직렬 버스(예컨대, PCI-Express)(447, 448)를 통해 DMA(43)[여기서는, 2 개의 DMA(43-a, 43-b)]에 접속한다.
이 PCI-Express 등의 고속 직렬 버스는 패킷으로 통신하고, 또한 직렬 버스를 복수 레인 설치함으로써, 신호선 본선을 줄이더라도 지연이 적은 빠른 응답 속도로 소위 저 레이턴시로 통신할 수 있다.
채널 어댑터(41a 내지 41d)는 호스트 컴퓨터에 대한 인터페이스이며, 채널 어댑터(41a 내지 41d)는 각각 다른 호스트 컴퓨터와 접속된다. 또한, 채널 어댑터(41a 내지 41d)는 각각 대응하는 호스트 컴퓨터의 인터페이스부에 버스, 예컨대 파이버 채널(Fiber Channel)이나 Ethernet(등록상표)에 의해 접속되는 것이 바람직하 고, 이 경우, 버스로서는 광 파이버나 동축 케이블이 이용된다.
또한, 이들 채널 어댑터(41a 내지 41d) 각각은 각 제어 모듈(4-0 내지 4-1)의 일부로서 구성되어 있다. 이 채널 어댑터(41a 내지 41d)가 대응하는 호스트 컴퓨터와 제어 모듈(4-0 내지 4-1)의 인터페이스부로서, 복수의 프로토콜을 지원한다.
여기서는 대응하는 호스트 컴퓨터에 의해 실장해야 하는 프로토콜이 동일하지 않기 때문에, 각 채널 어댑터(41a 내지 41d)를 필요에 따라 용이하게 교환할 수 있도록 제어 모듈(4-0 내지 4-1)의 주요 유닛인 컨트롤러(40)와는 다른 프린트 기판에 실장되어 있다.
예컨대, 채널 어댑터(41a 내지 41d)가 지원해야 하는 호스트 컴퓨터와의 사이의 프로토콜로서는 전술한 바와 같이, 파이버 채널이나 Ethernet(등록 상표)에 대응하는 ISCSI(Internet Small Computer System Interface) 등이 있다.
또한, 각 채널 어댑터(41a 내지 41d)는 전술한 바와 같이, PCI-Express 버스와 같이, LSI(Large Scale Integration)나 프린트 기판 사이를 접속하기 위해 설계된 버스에 의해 컨트롤러(40)와 직접 결합되어 있다. 이에 따라, 각 채널 어댑터(41a 내지 41d)와 컨트롤러(40) 사이에 요구되는 높은 작업 처리량을 실현할 수 있다.
디스크 어댑터(42a, 42b)는 디스크 인클로저(2-0 내지 2-3)의 각 디스크 드라이브에 대한 인터페이스이고, 디스크 인클로저(2-0 내지 2-3)에 접속되며, 여기서는 4 개의 FC(Fiber Channel) 포트를 구비한다.
또한, 각 디스크 어댑터(42a, 42b)는 전술한 바와 같이, PCI-Express 버스와 같이, LSI(Large Scale Integration)나 프린트 기판 사이를 접속하기 위해 설계된 버스에 의해, 컨트롤러(40)와 직접 결합되어 있다. 이에 따라, 각 디스크 어댑터(42a, 42b)와 컨트롤러(40) 사이에 요구되는 높은 작업 처리량을 실현할 수 있다.
도 1에 도시하는 바와 같이, 디스크 인클로저(2-0 내지 2-3)의 각각은 각각 2 개의 포트를 갖는 복수 대(예컨대, 15 대)의 디스크 드라이브(200)를 탑재한다. 그리고, 디스크 인클로저(2-0 내지 2-3) 내에서는 2 개의 포트로부터의 한 쌍의 FC 케이블에 의해 각 디스크 드라이브(200)의 각 포트가 2 개의 포트에 접속된다.
이 2 개의 포트는 각 제어 모듈(4-0 내지 4-1)의 디스크 어댑터(42a, 42b)의 각각을 모든 디스크 인클로저(2-0 내지 2-3)에 접속한다. 즉, 각 제어 모듈(4-0 내지 4-1)의 디스크 어댑터(42a)는 디스크 인클로저(2-0 내지 2-3)에 접속된다. 또한, 마찬가지로 각 제어 모듈(4-0 내지 4-1)의 디스크 어댑터(42b)는 디스크 인클로저(2-0 내지 2-3)에 접속된다.
이러한 구성에 의해, 각 제어 모듈(4-0 내지 4-1)이 어느 하나의 디스크 어댑터(42a, 42b)를 통하고, 또한 어느 하나의 경로를 통해서도 모든 디스크 인클로저(디스크 드라이브)(2-0 내지 2-3)에 액세스할 수 있다.
또한, 각 디스크 어댑터(42a, 42b)와 대응하는 디스크 인클로저(2-0 내지 2-3) 사이는 예컨대, 파이버 채널에 의해 접속되고, 이 경우에는 모듈이 다르기 때문에, 광 케이블로 접속된다.
도 1에 도시하는 바와 같이, DMA 엔진(43)은 각 제어 모듈(4-0 내지 4-1)과 상호 통신을 행하는 것이며, 다른 제어 모듈간의 통신과 데이터 전송 처리를 담당한다. 각 제어 모듈(4-0 내지 4-1)의 DMA 엔진(43)의 각각은 제어 모듈(4-0 내지 4-1)의 일부로서 구성되어 있고, 제어 모듈(4-0 내지 4-1)의 주요 유닛인 컨트롤러(40)의 기판상에 실장된다. 그리고, 전술한 고속 직렬 버스에 의해 컨트롤러(40)와 직접 결합되는 동시에, 다른 제어 모듈(4-0 내지 4-1)의 DMA 엔진(43)과 서로 통신한다.
이러한 구성에 의해 각 제어 모듈(4-0 내지 4-1)의 DMA 엔진(43)의 각각은 자신에게 접속된 컨트롤러(40)와 다른 제어 모듈(4-0 내지 4-1)의 컨트롤러(40) 사이에서 호스트 컴퓨터로부터의 액세스 요구 등에 따라서 발생하는 통신이나 데이터 전송 처리(예컨대, 미러링 처리)를 실행한다.
또한, 도 2에 도시하는 바와 같이, 각 제어 모듈(4-0 내지 4-1)의 DMA 엔진(43)이 복수(여기서는 2 개)의 DMA 엔진(43-a, 43-b)으로 구성되고, 이들 2 개의 DMA 엔진(43-a, 43-b)의 각각은 도 2에 도시한 바와 같이, 예컨대 PCI-Express 버스에 의해 컨트롤러(40)에 접속되어 있다. 즉, 각 제어 모듈(4-0 내지 4-1)간 [즉, 각 제어 모듈(4-0 내지 4-1)의 컨트롤러(40)간]의 통신이나 데이터 전송(DMA) 처리에서는 데이터 전송량이 많고, 통신 제어에 관한 시간을 짧게 하는 것이 바람직하며, 높은 작업 처리량과 동시에 낮은 레이턴시(빠른 응답 속도)가 요구된다. 이 때문에, 도 1 및 도 2에 도시하는 바와 같이, 각 제어 모듈(4-0 내지 4-1)의 DMA 엔진(43)은 높은 작업 처리량과 낮은 레이턴시의 양쪽의 요구를 만족시키기 위해 설계된 고속 직렬 전송을 이용한 버스(PCI-Express나 Rapid-IO)에 의해 접속된다.
이들 PCI-Express나 Rapid-IO는 2.5 Gbps의 고속 직렬 전송을 이용한 것이며, 이들 버스 인터페이스에는 LVDS(Low Voltage Differential Signaling)라고 하는 소진폭 차동 인터페이스가 채용된다.
** 스레드 구성(Thread configuration)**
다음에, CPU[400(410)]가 실행하는 소프트웨어의 프로그램 모듈(스레드라고 함)을 설명한다. 도 3은 CPU[400(410)]가 실행하는 소프트웨어의 스레드의 구성도, 도 4는 그 부분 상세도이다. 도 3에 도시하는 바와 같이, 소프트웨어 모듈은 커널/스케쥴러(600)와, IO 제어 모듈(602)과, CM간 통신 드라이버(604), CPU간 통신 드라이버(606)와, 시스템 제어 모듈(608)과, 네트워크 드라이버(610)를 구비한다.
커널/스케쥴러(600)는 MS-DOS(등록 상표) 등의 운영 체제이다. IO 제어 모듈(602)은 CM-CA 드라이버(620)와, 베이직 모듈(640)과, CM-DA 드라이버(630)를 갖는다. CM-CA 드라이버(620)는 CA(채널 어댑터)(41)를 구동하는 드라이버이다.
베이직 모듈(640)은 자원 관리를 행하는 리소스 스레드(리소스 제어 모듈)(642), 카피 처리를 행하는 카피 스레드(카피 제어 모듈)(646), 메모리(40b)의 캐시 메모리를 제어하는 캐시 스레드(캐시 메모리 제어 모듈)(648)를 갖는 프론트 엔드와, RAID 구성을 제어하는 RAID 스레드(RAID 제어 모듈)(632), OVSM 스레드(OVSM 제어 모듈)(634)를 갖는 백 엔드로 이루어진다.
OVSM 스레드(634)는 후술하는 재구성/재복사 처리를 행한다. 보수 에이전트(612)는 OVSM 스레드(634)로의 각종 통지를 행한다. CM-DA 드라이버(630)는 DA(디스크 어댑터)(42; 42a, 42b)를 구동하는 드라이버이다. CM간 통신 드라이버(604)는 다른 CM과, CPU간 통신 드라이버(606)는 다른 CPU(410)와 통신을 행한다.
시스템 제어 모듈(608)은 구성 관리 모듈(652)을 갖는다. 구성 관리 모듈(652)은 서비스 컨트롤러(46)로부터의 네트워크 드라이버(610)를 통하는 지정에 따라서 구성 정의를 위한 RLU(Raid Logical Unit) 테이블을 포함하는 구성 정의 테이블을 메모리(40b)에 작성한다. 또한, 서비스 컨트롤러(46)는 도 1에서는 도시되어 있지 않고, 각 CM(제어 모듈)에 공통이다.
또한, DA(42)에 접속된 디스크 인클로저(2-0 내지 2-3) 내에 설치된 디스크 드라이브(200)는 시스템 디스크(200-1)와 사용자 디스크(200-2)로 나뉘어지고, 시스템 디스크(200-1)에 구성 정의 테이블도 저장된다.
리소스 모듈(642), RAID 모듈(632)이 구성 정의 테이블을 참조하여 호스트로부터의 LUN(논리 유닛 번호)을 물리 디스크의 PLBA(물리 블록 어드레스)로 변환하고, 물리 디스크(200)를 액세스한다.
도 4에 도시하는 바와 같이, OVSM 스레드(634)는 재구성/재복사의 진척을 관리하는 재구성/재복사 모듈(634-1)을 갖는다. 재구성/재복사 모듈(634-1)은 재구성/재복사의 1 회 1 회의 처리를 후술하는 RAID 제어 모듈(632)에 의뢰하고, 그 응답을 얻어 재구성/재복사의 진척을 기록한다.
이에 대하여, RAID 제어 모듈(632)은 데이터를 일시 대피하는 버퍼(이후에는 데이터 버퍼로 기술한다)를 획득하여 디스크 디바이스에 대하여 판독이나 기록을 지시한다. 특히, 재구성/재복사에서는 디스크 디바이스로부터 판독하고, 데이터 버퍼에 저장하는 판독 처리(632-3)와, 데이터 버퍼의 내용을 디스크 디바이스에 기록 하는 처리(632-4)를 담당한다.
이 RAID 제어 모듈(632)은 최후의 통상 I/O가 완료된 시각을 기록하는 통상 I/O 완료 시각 기록부(632-1)와, 통상 I/O 완료 시각 기록부(632-1)의 시각과 현재 시각을 비교하여 예컨대, 5 초의 차가 있는지의 여부를 판정하는 통상 I/O 유무 판정 모듈(632-2)을 갖는다.
또한, OVSM 모듈(634)은 RAID 제어 모듈(632)에 재구성/재복사 실제 처리를 의뢰하는 재구성/재복사 모듈(634-2, 634-3)과, 실제 처리 의뢰시에 통상 I/O 유무 판정 모듈(632-2)의 판정 결과를 호출하고, 그 결과에 의해 1 회의 실제 처리의 처리 사이즈를 변경하는 처리 사이즈 변경 모듈(634-4)과, 후술하는 재구성/재복사의 병렬 처리를 실행하는 상태 천이 판정 처리 모듈(634-5)을 구비한다.
이 재구성/재복사 모듈(634-1)은 메모리(40b)에 마련된 시작 LBA를 저장하는 진척 테이블(410)과, 처리 사이즈의 디폴트치를 저장하는 디폴트 저장부(414)를 참조하고, 1 회의 실제 처리 사이즈를 결정하여 실제 처리를 의뢰한다.
이러한 구성에 의해, OVSM 모듈(634)은 재구성/재복사의 실제 처리를 RAID 제어 모듈(632)에 의뢰할 때마다, OVSM 모듈(634)은 RAID 제어 모듈(632)에 대하여, 통상 I/O의 유무(통상 I/O 없음이 된 후 5 초 이상이 경과하고 있는지의 여부)에 관해서 확인을 행하고, 그 결과를 받아 OVSM 모듈(634)은 상태 천이를 판정하며, RAID 제어 모듈(632)에 보내는 재구성/재복사 실제 처리의 판독 처리와 기록 처리의 다중 요구와 파라미터(1 회의 처리 사이즈) 등을 변경한다.
여기서, 통상 I/O의 유무의 판정으로서, 5 초 이상으로 한 것은 I/O가 있는 타이밍과 없는 타이밍이 교대로 반복되는 경우에 오인을 막기 위해서이다. 즉, 드문드문 통상 I/O가 와 있는 상태이면 우연히, 재구성/재복사의 타이밍에서 통상 I/O가 없어 보이더라도, 재구성/재복사를 시작한 직후, 통상 I/O가 발생할 가능성이 있다. 이러한 케이스는 통상 I/O 있음의 상태로 분류하고, 통상 I/O를 기다리게 하지 않는다는 의미이다.
** 재구성/재복사 처리**
도 5는 본 발명의 일 실시예의 재구성/재복사 처리 흐름도, 도 6은 그 타임 차트도, 도 7은 그 동작 설명도이다.
이하, 도 6 및 도 7을 참조하여 도 5의 재구성/재복사 처리를 설명한다.
(S10) 우선, OVSM 모듈(634)은 재구성/재복사를 시작함에 있어서, RAID 제어 모듈(632)로부터 완료 응답이 있는 것을 확인한다.
(S12) 다음에, OVSM 모듈(634)의 재구성/재복사 모듈(634-1)은 메모리(40b)의 재구성/재복사 진척 테이블(410)의 시작 RLBA를 참조한다. 도 7에 도시하는 바와 같이, 재구성/재복사 처리의 대상이 RAID 구성에서의 LBA(Logical Block Address)(000 내지 nnn)로 하면 시작 RLBA에는 다음 재구성/재복사 처리의 대상 데이터의 시작 RLBA가 기록되어 있다.
(S14) 재구성/재복사 모듈(634-1)은 진척 테이블(410)의 시작 RLBA로부터 대상이 되는 모든 RLU(Raid Logical Unit)의 처리가 완료되었는지를 판정한다. 재구성/재복사 모듈(634-1)은 모든 RLU의 처리를 완료하였다고 판정하면 종료한다.
(S16) 반대로, 재구성/재복사 모듈(634-1)은 모든 RLU 처리를 완료되어 있지 않다고 판정하면 RAID 제어 모듈(632)에 통상 I/O의 유무를 조회한다. 도 4에서 설명한 바와 같이, RAID 제어 모듈(632)은 통상 I/O 없음이 된 후 5 초 이상 경과하고 있는지의 여부를 판정하고 있다.
(S18) 재구성/재복사 모듈(634-1)은 RAID 제어 모듈(632)로부터의 응답으로부터 통상 I/O의 유무를 확인하고, 통상 I/O가 있는 경우에는 도 6의 재복사 1에 도시하는 바와 같이, 1 회의 처리 사이즈를 메모리(40b)의 디폴트치로 설정하고, 또한 후술하는 바와 같이 통상 처리한다. 한편, 통상 I/O가 없는 경우에는 도 6의 재복사 2에 도시하는 바와 같이 1 회의 처리 사이즈를 메모리(40b)의 디폴트치의 2 배로 설정하고, 후술하는 바와 같이 병렬 처리한다.
(S20) 그리고, 재구성/재복사 모듈(634-1)은 RAID 제어 모듈(632)에 시작 RLBA로 설정한 처리 사이즈를 갖는 실제 처리를 판독과 기록을 개별적으로 요구한다. 또한, 재구성/재복사 모듈(634-1)은 시작 RLBA에 처리 사이즈를 추가하여 다음 시작 RLBA를 계산하고, 진척 테이블(410)을 계산한 시작 RLBA로 갱신한다. 그리고, 단계 S10에 복귀한다.
이와 같이, 도 7에 도시하는 바와 같이, 통상 I/O 있음의 상태(이후, 동적 상태로 기술한다)와 없음 상태(이후, 정적 상태로 기술한다)에서, 정적인 경우에는 1 회의 처리 사이즈를 크게 하고, 또한 후술하는 바와 같이, 판독/기록을 병렬 처리한다. 1 회의 사이즈가 크면 재구성/재복사 처리는 빨라지지만, 대신에 통상 I/O로의 영향이 커진다.
이 때문에, 동적인 경우에서는 통상 I/O의 처리의 저해가 되지 않는 처리 사 이즈를 지정하고, 정적에서는 그 보다 큰 처리 사이즈(예컨대, 물리 디스크 드라이브의 1 트랙 이상의 사이즈인 것이 디스크 성능적으로 바람직하다)를 지정한다. 이 사이즈의 지정 방법은 OVSM(634)으로부터 RAID 제어(632)에의 재구성/재복사 실제 처리 요구시의 파라미터를 변경하는 것만으로 좋다.
또한, 도 3의 호스트로부터의 액세스 처리를 설명하면 CA(41)가 호스트로부터의 판독 요구를 받으면 CA(41)는 CM-CA 드라이버(620)를 통해 리소스 모듈(642)에 통지하고, 리소스 모듈(642)은 이 판독 요구를 접수한다.
리소스 모듈(642)은 캐시 모듈(648)에 캐시 히트인지의 여부의 판정을 의뢰한다. 캐시 모듈(648)은 대상이 되는 호스트 LUN의 LBA(OLBA)의 데이터가 메모리(40b)의 캐시 영역에 존재하는지를 조사하고, 존재하면(히트), 메모리(40b)의 OLBA(호스트 논리 블록 어드레스)의 데이터를 판독하고, CM-CA 드라이버(620)를 통해 CA(41)로부터 호스트에 데이터를 전송한다.
한편, 캐시 모듈(648)은 대상이 되는 호스트 LUN의 LBA(OLBA)의 데이터가 메모리(40b)의 캐시 영역에 존재하지 않는다고(미스 히트) 판정하면 백 엔드의 RAID 제어 모듈(632)에 물리 디스크로부터의 데이터 판독 요구를 행한다. RAID 모듈(632)은 주지와 같이, 처리 요구된 호스트 LUN의 LBA(OLBA)를 RAID 그룹의 LBA(RLBA)로 변환한다.
다음에, RAID 제어 모듈(632)은 RAID 그룹의 LBA(RLBA)를 가상 디스크의 LBA(DLBA)로 변환한다. 다음에, RAID 모듈(632)은 처리 요구된 가상 디스크의 LBA(DLBA)를 물리 디스크의 LBA(PLBA)로 변환한다. 이 처리는 RAID 구성[예컨대, RAID 1, RAID 5]에 의해 다르다.
다음에, RAID 모듈(632)은 처리 요구된 물리 디스크의 LBA(PLBA)로부터, 디스크 인클로저 RAID, 슬롯을 구하고, 물리 디스크(200)의 LBA(PLBA)에 판독 요구를 행한다. 즉, CM-DA 드라이버(630)를 통해 대응하는 DA(42)에 상기 물리 디스크의 판독 요구를 발행하고, BRT(5-0)를 통해 상기 물리 디스크를 액세스한다.
물리 디스크로부터 데이터가 판독되고, 캐시 모듈(648)이 DA(42)를 통해 메모리(40b)의 캐시 영역에 저장되며, 판독이 완료되면 리소스 모듈(642)은 CM-CA 드라이버(620)를 통해 CA(41)로부터 호스트에 이 판독 데이터를 전송하여 종료한다.
또한, 호스트로부터의 기록 처리는 일단 기록 데이터를 메모리(40b)의 캐시 영역에 저장한 후, 내부의 라이트백 스케줄에 따라 해당 물리 디스크에 라이트백한다. 이 라이드백 시간도 마찬가지로, 미스 히트 이후의 처리는 구성 정의 테이블을 사용한 어드레스 변환 처리를 행한다.
또한, RAID 제어 모듈(632)은 접수한 호스트 I/O, 라이트백 등의 내부 I/O 등의 통상 I/O와, 접수한 재구성/재복사 요구를 소정의 I/O 비율로 우선도를 두고, 우선순으로 하위층의 CM-DA 드라이버(630)에 요구한다.
이와 같이 하여, 도 7에 도시하는 바와 같이, 재구성/재복사의 1 회의 처리 사이즈를 RAID 제어가 관리하는 통상 I/O의 유무에 따라서 변경하기 때문에, 통상 I/O가 있는 경우에는 통상 I/O 처리의 저해가 되지 않고, 재구성/재복사를 실행할 수 있으며, 정적인 상태에서는 그 보다 큰 처리 사이즈를 지정하여 재구성/재복사 처리를 고속으로 실현할 수 있다.
또한, RAID 제어 모듈(632)은 최후의 통상 I/O가 완료한 시각을 기록하고, 이 시각과 현재의 시각을 비교하여 예컨대, 5 초의 차가 있는지의 여부를 판정하는 통상 I/O 유무 판정 처리를 행하기 때문에, 재구성/재복사 모듈(634-1)은 조회에 의해 용이하게 처리 사이즈를 변경하여 재구성/재복사 처리를 진행할 수 있다.
** 재구성/재복사의 병렬 처리**
다음에, 전술한 통상 I/O 없음의 경우(정적 상태라고 한다)의 재구성/재복사의 병렬 처리를 설명한다. 도 8은 본 발명의 일 실시예의 재구성/재복사의 병렬 처리의 타임 차트도, 도 9 및 도 10은 그 RAID 제어 모듈의 처리 흐름도이다.
도 8에 도시하는 바와 같이, 재구성/재복사에서는 하나의 디스크로부터 판독하고, 다른 디스크에 기록한다. 그래서, 이들의 각각의 디스크 드라이브로의 판독과 기록을 각각 동시에 행한다. 이에 따라, 재구성/재복사 시간의 단축을 도모한다. 이 기능을 병렬 처리라고 부른다.
도 4 및 도 8에 도시하는 바와 같이, RAID 제어 모듈(632)은 재구성/재복사 실제 처리에 관해서, 「판독까지」만의 처리(632-3)와, 「기록부터」만의 처리(632-4)로 분할한다. OVSM 모듈(634)은 판독까지의 처리 의뢰와, 기록만의 처리 의뢰를 개별적으로 작성한다. 동적인 경우(I/O 있음의 경우)에는 판독과 기록을 계속하여 행한다.
이에 대하여, 도 8에 도시하는 바와 같이, 정적인 경우(I/O 없음의 경우)에는 OVSM 모듈(634)이 각각 상기 「판독까지」의 처리(632-3)와, 「기록부터」의 처리(632-4)를 호출한다. RAID 제어 모듈(632-3)은 「판독까지」 처리(632-3)에서는 데이터 버퍼의 획득과 배타권이 설정되어 있는 상태인 채로 처리를 마치고, OVSM 모듈(634)에 응답한다.
재복사 처리를 예로 도 8에서 구체적으로 설명한다. 도 8에 도시하는 바와 같이, OVSM 모듈(634)은 최초 1 회의 재복사(1)만은 최초의 영역에 관해서 「판독까지」를 RAID 제어 모듈(632)에 요구한다.
OVSM 모듈(634)은 2 회째 이후의 재복사(2, 3, 4 …)는 RAID 제어 모듈(632)로부터의 판독 완료에 따라, 직전에 판독한 영역에 관한 「기록부터」의 처리 요구와, 다음 영역의「판독까지」의 처리 요구를 순차 RAID 제어 모듈(632)에 요구한다.
마찬가지로, RAID 제어 모듈(632)로부터의 기록 완료 및 판독 완료를 받고, OVSM 모듈(634)은 직전에 판독한 영역에 관한 「기록부터」의 처리 요구와, 다음 영역의 「판독까지」의 처리 요구를 순차 RAID 제어 모듈(632)에 요구한다.
OVSM 모듈(634)은 RAID 제어 모듈(632)로부터의 기록 완료 및 판독 완료를 받고, 재복사의 마지막 1 회만은 「기록부터」의 처리만을 의뢰한다.
이와 같이 하면, 2 회째 이후는 디스크(#1)로부터의 판독 동작과, 디스크(#2)로의 기록 동작이 병열로 실행되고, 재복사 처리의 시간 단축에 유효하다. 또한, 재구성 처리도 마찬가지이다.
도 9 및 도 10은 RAID 제어 모듈(632)의 「판독까지」의 처리(632-3)와, 「기록부터」의 처리(632-4)의 처리 흐름도이다. 또한, 도 9는 RAID 1의 재구성, RAID 1 및 RAID 5의 재복사의 예이며, 도 10은 RAID 5의 재구성 처리의 예이다.
도 9에 도시하는 바와 같이, RAID 제어 모듈(632)의 판독까지의 처리(632-3)는 배타권을 설정하고(S21), 다음에 메모리(40b)에 데이터 버퍼를 획득한다(S22). 그리고, 디스크의 ACB(Access Control Block)를 획득하고(S23), FC 루프의 FC 세그멘트를 획득한다(S24). 이에 따라, 드라이버(630), 디스크 어댑터(42)를 통해 상기 디스크 드라이브를 판독 액세스하고, 판독 데이터를 획득한 데이터 버퍼에 저장한다(S25).
그리고, FC 세그멘트를 해방하고(S26), 디스크의 ACB를 해방한다(S27). 그 후, RAID 제어 모듈의 판독 처리(632-3)는 OVSM 모듈(634)에 판독 완료를 보고한다.
한편, RAID 제어 모듈(632)의 기록부터의 처리(632-4)는 디스크의 ACB(Access Control Block)를 획득하고(S30), FC 루프의 FC 세그멘트를 획득한다(S31). 이에 따라, 드라이버(630), 디스크 어댑터(42)를 통해 상기 디스크 드라이브를 기록 액세스하고, 메모리(40b)의 데이터 버퍼를 판독 데이터한 데이터를 디스크에 기록한다(S32).
그리고, FC 세그멘트를 해방하고(S33), 디스크의 ACB를 해방한다(S34). 그 후, 데이터 버퍼를 해방하고(S35), 배타권을 해제하며(S36), OVSM 모듈(634)에 기록 완료를 보고한다.
또한, 도 10의 RAID 5의 재구성 처리의 경우에는 도 14에서 설명한 바와 같이, 판독 처리(632-3)에서, XOR에 의한 데이터의 Regeneration이 필요해지기 때문에, S25의 디스크 판독은 도 14의 복수(3 개) 디스크 드라이브(#1, #2, #3)로 행하 고, 또한 디스크의 ACB 해방 후, 3 개의 데이터로부터 용장 데이터를 작성하는 XOR 처리(S28)를 행하며, OVSM 모듈(634)에 판독 완료를 보고한다. 기록 처리(632-4)는 도 9와 마찬가지이다.
또한, 데이터 버퍼의 획득, 해방은 상기 Regeneration을 위한 판독용과, Regeneration의 결과인 기록해야 하는 것의 양쪽을 동시에 획득하고, 또한 해방한다. 「기록부터」의 처리(632-4)에서는 Regeneration을 위해 판독한 데이터는 불필요해지지만, 계속 유지할 수 있다. 이에 따라, 해방 처리를 생략하고, 처리를 고속화한다.
이에 대하여, OVSM 모듈(634)이 도 5의 단계 S20의 재구성/재복사 처리의 진척을 갱신하는 것은 「기록부터」의 처리가 완료되었을 때가 된다.
또한, 구체적으로 재구성/재복사의 병렬 처리를 설명한다. 이 병렬 처리를 이용한 경우, 동적과 정적의 변화시에 재구성/재복사의 동작이 전환하게 된다. 이 때문에, OVSM 모듈(634)은 RAID 제어 모듈(632)로부터의 응답시에 다음 처리를 어떻게 할지를 결정한다.
도 11은 판독과 기록을 분리한 정적 상태와 동적 상태의 상태 천이도, 도 12는 RAID 제어 모듈로의 OVSM 모듈의 요구 처리 흐름도, 도 13은 OVSM 모듈의 RAID 제어 모듈로부터의 응답시의 처리 흐름도이다.
우선, 재구성/재복사 처리를 판독까지의 처리와, 기록부터의 처리로 분할하였기 때문에, 상태 천이로 생각하면 OVSM 모듈(634)이 결정해야 하는 동적 상태와 정적 상태는 도 11과 같이, 5 개 존재한다.
즉, 전번 동적 상태에서 판독부터와 기록까지의 양쪽을 행한 동적 통상 상태(A), 전번 동적 상태에서 기록부터를 행한 동적 「기록부터」의 상태(B), 전번 정적 상태에서 「판독까지」를 행한 정적 「판독까지」의 상태(C), 전번 정적 상태에서 판독과 기록의 양쪽을 행한 정적 「판독까지」, 「기록부터」의 상태(D), 전번 정적 상태에서 기록까지를 행한 정적 「기록부터」의 상태(E)이다.
우선, 디폴트 상태[도 3의 시스템 제어 모듈(608)의 RAID Recovery 모듈(도시 생략)부터 OVSM 모듈이 기동된 상태)]는 동적 상태(A)이다. 이하, ACB는 처리를 제어하는 것이며, 병렬로 처리를 행하기 위해서는 병열수 만큼 ACB를 준비하는 것으로 한다. 또한, OVSM 모듈이 재구성/재복사를 행하려고 하는 시점에서, 이미 ACB를 하나 획득하고, 동작하는 상태에 있다.
(1) 전번 동적 상태(재구성/재복사은 통상)(A)로부터 이번 동적 상태(A)로 천이하는 케이스에서는 전번과 마찬가지로, 다음의 처리 범위(동적시 사이즈)를 설정하고, RAID 제어 모듈(632)에 통상의 요구(판독에 이어 기록을 요구)를 행한다. 다만, 재구성/재복사의 다음의 처리 범위가 없는 경우에는 해당 LU(Logical Unit)의 재구성/재복사 완료가 된다.
(2) 전번 동적 상태(재구성/재복사의「기록부터」만)(B)로부터 이번 동적 상태(A)로 천이한 케이스에서는 만약에 ACB를 획득하고 있는 상태이면 이를 해방한다. 그리고, (1)과 마찬가지로, 다음의 처리 범위(동적시 사이즈)를 설정하고, RAID 제어 모듈(632)에 통상의 요구를 행한다. 마찬가지로, 다음의 처리 범위가 없는 경우에는 상기한 ACB 해방 후에 해당 LU의 재구성/재복사 완료가 된다.
(3) 전번 동적 상태(재구성/재복사은 통상)(A)로부터 이번 정적 상태(C)로 천이하는 케이스에서는 다음의 처리 범위(정적시 사이즈)를 설정하고, RAID 제어 모듈(632)에 「판독까지」의 요구를 행한다. 도 8의 첫 회 처리에 해당한다. 다만, 다음의 처리 범위가 없는 경우에는 해당 LU의 재구성/재복사 완료가 된다.
(4) 전번 동적 상태(재구성/재복사은 「기록만」)(B)로부터 이번 정적 상태(C)로 천이하는 케이스에서는 만약에 ACB를 획득하고 있는 상태이면 이를 해방한다. 그리고, 다음의 처리 범위(정적시 사이즈)를 설정하고, RAID 제어 모듈(632)에 「판독까지」의 요구를 행한다. 도 8의 첫 회의 처리에 해당한다. 다만, 다음의 처리 범위가 없는 경우에는 해당 LU의 재구성/재복사 완료가 된다.
(5) 전번 정적 상태(재구성/재복사은 「판독까지」만)(C)로부터 이번 동적 상태(B)로 천이하는 케이스에서는 동일한 처리 범위에 관해서, RAID 제어 모듈(632)에「기록부터」의 요구를 한다.
(6) 전번 정적 상태(재구성/재복사은 「기록부터」와 「판독까지」의 양쪽)(D)로부터 이번 동적 상태(B)의 케이스에서는 기록 및 판독의 양 ACB가 돌아 올 때까지 기다리고, 「판독까지」인 ACB에 관해서는, 동일한 처리 범위에 관해서 RAID 제어 모듈(632)에 「기록부터」의 요구를 행한다. 또한, 「기록부터」인 ACB에 관해서는 보류로 한다.
(7) 전번 정적 상태(재구성/재복사은 「기록부터」만)(E)로부터 이번 동적 상태(B)의 케이스에서는 기본적으로 재구성/재복사의 다음 처리가 없는 경우만으로, ACB 해방 후에 해당 LU의 재구성/재복사 완료가 된다. 도 8의 최종 처리에 상 당한다.
(8) 전번 정적 상태(재구성/재복사은 「판독까지」만)(C)로부터 이번 정적 상태(D)로 천이하는 케이스에서는 내부 ACB를 하나 획득하고, 획득한 ACB와 원래 있던 ACB를 링크시켜 둔다. 내부 ACB 획득 실패시에는 동적 상태(A, B)와 같은 동작으로 한다. 그리고, 우선 「판독까지」였던 ACB(원래 있던 ACB)에 관해서는 동일한 처리 범위에 관해서, RAID 제어 모듈(632)에 「기록부터」의 요구를 행한다. 다음에 획득한 ACB에 관해서는 다음의 처리 범위(정적시 사이즈)를 설정하고, RAID 제어 모듈(632)에 「판독까지」의 요구를 행한다. 다만, 다음의 처리 범위가 없는 경우에는 ACB의 획득은 행하지 않고, RAID 제어 모듈(632)에 「기록부터」의 요구만을 행한다. 도 8의 2 회 째 이후의 병렬 처리에 상당한다.
(9) 전번 정적 상태(재구성/재복사은 「기록부터」와 「판독까지」의 양쪽)(D)로부터 이번 정적 상태(D)로 천이하는 케이스에서는 판독 및 기록의 양 ACB가 돌아올 때까지 기다리고, 전번과 마찬가지로, 「판독까지」였던 ACB에 관해서는 동일한 처리 범위에 관해서, RAID 제어 모듈(632)에 「기록부터」의 요구를 행한다. 다음에, 「기록부터」였던 ACB에 관해서는 다음의 처리 범위(정적시간 사이즈)를 설정하고, RAID 제어 모듈(632)에 「판독까지」의 요구를 행한다. 다만, 다음의 처리 범위가 없는 경우에는 RAID 제어에 「기록부터」의 요구만을 행한다.
(10) 전번 정적 상태(재구성/재복사이 「기록부터」만)(E)로부터 이번 정적 상태(D)의 케이스는 기본적으로 다음 처리가 없는 경우만 이다. 다음의 처리 범위가 없는 경우에는 ACB 해방 후에 해당 LU의 재구성/재복사 완료가 된다.
또한, RAID 제어 모듈(632)은 도 9 및 도 10에 도시한 바와 같이, 각종 에러 리커버리를 위해 「판독까지」와 「기록부터」는 따로, 「판독까지」로 획득한 자원(배타 제어/데이터 버퍼)을 해방하는 것뿐인 처리로서, 「자원 해방만」을 준비한다.
이와 같이, 재구성/재복사 처리를 판독까지의 처리와, 기록부터의 처리로 분할하더라도, 동적 상태와 정적 상태 사이에 천이가 생기더라도, 기록, 판독의 병렬 처리를 계속할 수 있다.
다음에, 이들을 실현하기 위한 RAID 제어 모듈로의 OVSM 모듈의 요구 처리를 도 12에 의해 설명한다.
(S40) OVSM 모듈(634)은 RAID 제어 모듈(632)로부터의 I/O 유무 확인 응답으로부터 동적 상태, 정적 상태를 확인하고 있다. 우선, 전번 동적 통상 상태인지를 판정한다.
(S42) OVSM 모듈(634)은 전번 동적 통상 상태이면 이번(현시점)에는 동적 상태인지 정적 상태인지를 판정한다. 이번 동적 상태이면 (1)과 마찬가지로, 다음의 처리 범위(동적시 사이즈)를 설정하고, RAID 제어 모듈(632)에 통상의 요구(판독에 이어 기록을 요구)를 행한다. 다만, 재구성/재복사의 다음의 처리 범위가 없는 경우에는 해당 LU(Logical Unit)의 재구성/재복사 완료가 된다. 한편, 이번 정적 상태로 천이한 경우에는 (3)과 마찬가지로, 다음의 처리 범위(정적시간 사이즈)를 설정하고, RAID 제어 모듈(632)에 「판독까지」의 요구를 행한다. 도 8의 첫 회 처리에 해당한다. 다만, 다음의 처리 범위가 없는 경우에는 해당 LU의 재구성/재복사 완료가 된다. 그리고, 요구 처리를 종료한다.
(S44) OVSM 모듈(634)은 동적 통상 상태가 아니면, 동적 「기록까지」의 상태인지를 판정한다.
(S46) OVSM 모듈(634)은 전번 동적 「기록부터」의 상태이면 ACB가 2 개 있는지를 판정하고, 2 개이면 한쪽을 해방한다. 다음에, 이번(현시점)은 동적 상태인지 정적 상태인지를 판정한다. 이번 동적 상태이면 (2)와 마찬가지로, 동적 통상 상태로 천이하고, 다음의 처리 범위(동적시 사이즈)를 설정하며, RAID 제어 모듈(632)에 통상의 요구(판독에 이어 기록을 요구)를 행한다. 한편, 이번 정적 상태로 천이한 경우에는 (4)와 마찬가지로, 다음의 처리 범위(정적시 사이즈)를 설정하고, RAID 제어 모듈(632)에 「판독까지」의 요구를 행한다. 그리고, 요구 처리를 종료한다.
(S48) OVSM 모듈(634)은 동적 「기록부터」의 상태가 아니면 정적 「판독까지」의 상태(C)인지를 판정한다.
(S50) OVSM 모듈(634)은 전번 정적 「판독까지」의 상태이면 이번(현시점)에는 동적 상태인지 정적 상태인지를 판정한다. 이번 동적 상태이면 (5)와 마찬가지로, 동적 「기록부터」의 상태로 천이하고, RAID 제어 모듈(632)에 「기록부터」의 요구를 행한다. 그리고, 요구 처리를 종료한다.
(S52) 한편, 이번 정적 상태로 천이한 경우에는 최종 처리 범위인지를 판정한다. 최종 처리 범위이면 정적 「기록부터」의 상태로부터 정적 상태(D)로 천이하고, RAID 제어 모듈(632)에 「기록부터」의 요구를 행한다. 반대로, 최종 처리 범 위가 아니면 OVSM 모듈(634)은 ACB를 1 개 획득하고, 정적 「판독까지」의 상태로부터 정적 상태(D)로 천이하고, RAID 제어 모듈(632)에 판독을 마친 범위의 「기록부터」의 요구를 행하며, 다음의 처리 범위(동적시 사이즈)를 설정하여 RAID 제어 모듈(632)에 판독까지의 요구를 행한다. 그리고, 요구 처리를 종료한다.
(S54) OVSM 모듈(634)은 정적 「판독까지」의 상태가 아니면 정적 「판독까지」, 「기록부터」의 상태(D)인지를 판정한다.
(S56) OVSM 모듈(634)은 전번 정적 「판독까지」, 「기록부터」의 상태(D)이면, 이번(현시점)에는 동적 상태인지 정적 상태인지를 판정한다. 이번 동적 상태이면 (5)와 마찬가지로, 동적 「기록부터」의 상태로 천이하고, RAID 제어 모듈(632)에 「기록부터」의 요구를 행한다. 또한, 미사용 ACB는 일시 보류한다. 그리고, 요구 처리를 종료한다.
(S58) 한편, 이번 정적 상태이면, 최종 처리 범위인지를 판정한다. 최종 처리 범위이면 정적 「기록부터」의 상태로 천이하고, RAID 제어 모듈(632)에 「기록부터」의 요구를 행한다. 또한, 미사용 ACB는 일시 보류한다. 반대로, 최종 처리 범위가 아니면 OVSM 모듈(634)은 정적 상태(D)인 채로 하고, RAID 제어 모듈(632)에 판독을 마친 범위의 「기록부터」의 요구를 행하며, 다음의 처리 범위(동적시 사이즈)를 설정하여 RAID 제어 모듈(632)에 판독까지의 요구를 행한다. 그리고, 요구 처리를 종료한다.
(S60) OVSM 모듈(634)은 정적 「판독까지」, 「기록부터」의 상태(D)가 아니면 에러 처리한다. 즉, 정적「기록부터」의 상태(D)로부터의 천이는 있을 수 없다. 그리고, 요구 처리를 종료한다.
다음에, 도 13에 의해 OVSM 모듈의 RAID 제어 모듈로부터의 응답시의 처리를 설명한다.
(S70) RAID 제어 모듈(632)로부터 응답을 받았을 때에 OVSM 모듈(634)은 정적 「판독까지」, 「기록부터」의 상태(D)였는지를 판정한다.
(S72) OVSM 모듈(634)은 정적「판독까지」, 「기록부터」의 상태(D)였으면 RAID 제어 모듈(632)로부터 「판독까지」와 「기록부터」의 양쪽의 완료 응답이 있었는지를 판정한다. 양쪽의 응답이 없으면 양쪽의 응답이 있을 때까지 기다린다. 한편, 양쪽의 응답이 있다고 판정되면 진척 정보(410)를 갱신한다.
(S74) 그리고, 다음 RAID 제어 모듈(634)로의 요구를 실시한다(도 12 참조).
(S76) OVSM 모듈(634)은 정적 「판독까지」, 「기록부터」의 상태(D)가 아니었다고 판정되면 OVSM 모듈(634)은 정적 「판독까지」의 상태(C)였는지를 판정한다. OVSM 모듈(634)은 정적 「판독까지」의 상태(C)였다고 판정되면 단계 S74로 진행한다.
(S78) OVSM 모듈(634)은 정적 「판독까지」의 상태(C)가 아니었다고 판정되면 OVSM 모듈(634)은 동적 「기록부터」의 상태(B)였는지를 판정한다. OVSM 모듈(634)은 동적 「기록부터」의 상태(B)가 아니었다고 판정되면 OVSM 모듈(634)은 동적 통상 상태(A)였는지를 판정한다.
(S80) OVSM 모듈(634)은 동적 「기록부터」의 상태(B), 동적 통상 상태(A) 중 어느 하나라도 없다고 판정되면 진척 정보(410)를 갱신하고, 최종 처리 범위인 지를 판정한다. 최종 처리 범위가 아니면 단계 S74로 진행한다.
(S82) 한편, 최종 처리 범위이면, ACB가 2 개 있으면 한쪽을 해방하고, 해당 RLU의 처리를 완료한다.
(S84) OVSM 모듈(634)은 동적 통상 상태(A)가 아니었다고 판정하면 OVSM 모듈(634)은 정적 「기록부터」의 상태(E)였는지를 판정한다. OVSM 모듈(634)은 정적 「기록부터」의 상태(E)였다고 판정하면 진척 정보(410)를 갱신하고, 단계 S82로 진행한다. 한편, OVSM 모듈(634)은 정적「기록부터」의 상태가 아니면 종료한다.
이와 같이, OVSM 모듈(634)에 전술한 처리를 행하는 상태 천이 판정 모듈(634-5)을 설치하는 것에 의해 RAID 제어 모듈(632)의 변경을 최소로 할 수 있다. 즉, 도 9 및 도 10에서 설명한 바와 같이, 판독까지의 처리와 기록부터의 처리를 분할하는 것만으로 좋다.
또한, 재구성/재복사 처리를 판독까지의 처리와, 기록부터의 처리로 분할하고, 동적 상태와 정적 상태 사이에 천이가 발생하더라도, 기록, 판독의 병렬 처리를 계속할 수 있다.
** 다른 실시예**
전술한 실시예에서는 도 1과 같은 구성의 디스크 어레이 장치로 설명하였지만, 이외의 구성의 디스크 어레이 장치에 적용할 수 있다. 또한, 물리 디스크는 자기 디스크, 광 디스크, 광 자기 디스크, 각종 스토리지 장치를 적용할 수 있다.
또한, 통상 I/O의 유무 감시 시간을 5 초로 하였지만, 다른 감시 시간이더라도 좋고, I/O 유무의 판정을 OVSM 모듈로 실행할 수도 있다. 또한, 처리 사이즈의 변경을 디폴트치의 2 배로 하였지만, 1.5 배 등 다른 배수를 이용할 수 있고, 또한 통상 I/O의 유무에 의해 처리 사이즈를 각각 설치하더라도 좋다.
또한, 상태를 5 개로 나누고, 천이를 설명하였지만, 예컨대 동적 「기록부터」의 상태를 생략하여 상태를 간략화할 수도 있다.
이상, 본 발명을 실시예에 의해 설명하였지만, 본 발명의 취지의 범위 내에서, 본 발명은 여러 가지 변형이 가능하고, 본 발명의 범위로부터 이들을 배제할만한 것이 아니다.
(부기 1)
호스트로부터 의뢰된 I/O 요구에 따라서, 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 시스템에 있어서, RAID를 구성하는 복수의 상기 디스크 장치와, 상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 컨트롤러를 구비하며, 상기 컨트롤러는 상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하고, 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 또는 재복사의 판독 및 기록 처리를 병렬로 실행하는 것을 특징으로 하는 RAID 시스템.
(부기 2)
상기 컨트롤러는 통상 I/O 요구의 처리 완료 시각을 상기 통상 I/O 요구의 처리 완료 때마다 기록하고, 상기 처리 완료 시각과 현재 시각을 비교하여 통상 I/O 요구가 소정 시간 오지 않는지를 판정하는 것을 특징으로 하는 부기 1의 RAID 시스템.
(부기 3)
상기 컨트롤러는 상기 통상 I/O 요구와 상기 재구성/재복사의 1 회의 요구를 밸런스를 맞춰 실행하는 동시에, 상기 재구성/재복사의 병렬의 기록 및 판독 완료에 따라서 다음 재구성/재복사의 기록 및 판독 요구를 발행하는 것을 특징으로 하는 부기 1의 RAID 시스템.
(부기 4)
상기 컨트롤러는 상기 재구성/재복사 처리의 진척 상황을 관리하는 진척 테이블을 구비하며, 상기 진척 테이블에 따라 재구성 또는 재복사 처리의 1 회의 판독 요구를 작성하고, 또한 상기 재구성/재복사의 병렬의 기록 및 판독 완료에 따라서 상기 진척 테이블을 갱신하는 것을 특징으로 하는 부기 1의 RAID 시스템.
(부기 5)
상기 컨트롤러는 상기 재구성/재복사의 요구를 판독까지의 처리와 기록부터의 처리로 분할하고, 실행하는 RAID 제어 모듈과, 상기 재구성/재복사 처리의 판독 요구와 기록 요구를 개별적으로 상기 RAID 제어 모듈에 발행하는 재구성/재복사를 갖는 것을 특징으로 하는 부기 3의 RAID 시스템.
(부기 6)
상기 재구성/재복사 모듈은 통상 I/O 요구가 소정 시간 도래하지 않는 경우와 상기 통상 I/O 요구가 소정 시간 내에 도래한 경우 사이의 천이를 판정하고, 상 기 판정 결과에 따라서 상기 재구성 또는 재복사의 판독 및 기록 요구를 병렬로 발행하는 것을 특징으로 하는 부기 5의 RAID 시스템.
(부기 7)
상기 컨트롤러는 상기 통상 I/O 요구가 소정 시간 내에 도래한 경우로부터 상기 통상 I/O 요구가 소정 시간 도래하지 않는 경우에 천이한 것에 따라서, 상기 재구성 또는 재복사 처리의 1 회의 판독 요구를 발행하고, 상기 판독 요구의 처리 완료에 따라서 상기 재구성 또는 재복사의 판독 및 기록 요구를 병렬로 발행하는 것을 특징으로 하는 부기 1의 RAID 시스템.
(부기 8)
상기 컨트롤러는 상기 RAID를 구성하는 상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 처리를 실행한 후, 상기 예비 디스크 장치의 데이터를 판독하고, 상기 고장난 디스크 장치 대신에 설치된 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 재복사 처리를 실행하는 것을 특징으로 하는 부기 1의 RAID 시스템.
(부기 9)
호스트로부터 의뢰된 I/O 요구에 따라서 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 컨트롤러에 있어서, 상기 호스트와의 인터페이스를 제어하는 제1 인터페이스 회로와, RAID를 구성하는 복수의 상기 디스크 장치와의 인터 페이스를 제어하는 제2 인터페이스 회로와, 상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 컨트롤러를 구비하며, 상기 컨트롤러는 상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하고, 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 재구성 또는 재복사의 판독 및 기록 처리를 병렬로 실행하는 것을 특징으로 하는 RAID 컨트롤러.
(부기 10)
상기 컨트롤러는 통상 I/O 요구의 처리 완료 시각을 상기 통상 I/O 요구의 처리 완료마다 기록하고, 상기 처리 완료 시각과 현재 시각을 비교하여 통상 I/O 요구가 소정 시간 오지 않는지를 판정하는 것을 특징으로 하는 부기 9의 RAID 컨트롤러.
(부기 11)
상기 컨트롤러는 상기 통상 I/O 요구와 상기 재구성/재복사의 1 회의 요구를 밸런스를 맞춰 실행하는 동시에, 상기 재구성/재복사의 병렬의 기록 및 판독 완료에 따라서 다음 재구성/재복사의 기록 및 판독 요구를 발행하는 것을 특징으로 하는 부기 9의 RAID 컨트롤러.
(부기 12)
상기 컨트롤러는 상기 재구성/재복사 처리의 진척 상황을 관리하는 진척 테 이블을 구비하며, 상기 진척 테이블에 따라서 재구성 또는 재복사 처리의 1 회의 판독 요구를 작성하고, 또한 상기 재구성/재복사의 병렬의 기록 및 판독 완료에 따라서 상기 진척 테이블을 갱신하는 것을 특징으로 하는 부기 9의 RAID 컨트롤러.
(부기 13)
상기 컨트롤러는 상기 재구성/재복사의 요구를 판독까지의 처리와, 기록부터의 처리로 분할하여 실행하는 RAID 제어 모듈과, 상기 재구성/재복사 처리의 판독 요구와 기록 요구를 개별적으로 상기 RAID 제어 모듈에 발행하는 재구성/재복사 모듈을 구비하는 것을 특징으로 하는 부기 11의 RAID 컨트롤러.
(부기 14)
상기 재구성/재복사 모듈은 통상 I/O 요구가 소정 시간 도래하지 않는 경우와, 상기 통상 I/O 요구가 소정 시간 내에 도래한 경우 사이의 천이를 판정하고, 상기 판정 결과에 따라서 상기 재구성 또는 재복사의 판독 및 기록 요구를 병렬로 발행하는 것을 특징으로 하는 부기 13의 RAID 컨트롤러.
(부기 15)
상기 컨트롤러는 상기 통상 I/O 요구가 소정 시간 내에 도래한 경우로부터 상기 통상 I/O 요구가 소정 시간 도래하지 않는 경우에 천이한 것에 따라서, 상기 재구성 또는 재복사 처리의 1 회의 판독 요구를 발행하고, 상기 판독 요구의 처리 완료에 따라서 상기 재구성 또는 재복사의 판독 및 기록 요구를 병렬로 발행하는 것을 특징으로 하는 부기 9의 RAID 컨트롤러.
(부기 16)
상기 컨트롤러는 상기 RAID를 구성하는 상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 처리를 실행한 후, 상기 예비 디스크 장치의 데이터를 판독하고, 상기 고장난 디스크 장치 대신에 설치된 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 재복사 처리를 실행하는 것을 특징으로 하는 부기 9의 RAID 컨트롤러.
(부기 17)
호스트로부터 의뢰된 I/O 요구에 따라서, 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 시스템의 재구성/재복사 처리 방법에 있어서, RAID를 구성하는 복수의 상기 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 재구성/재복사 처리 단계와, 상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하는 단계와, 상기 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 재구성 또는 재복사의 판독 및 기록 처리를 병렬로 실행하는 단계를 포함하는 것을 특징으로 하는 RAID 시스템의 재구성/재복사 처리 방법.
(부기 18)
상기 판정 단계는 통상 I/O 요구의 처리 완료 시각을 상기 통상 I/O 요구의 처리 완료마다 기록하고, 상기 처리 완료 시각과 현재 시각을 비교하여 통상 I/O 요구가 소정 시간 오지 않는지를 판정하는 단계로 이루어지는 것을 특징으로 하는 부기 17의 RAID 시스템의 재구성/재복사 처리 방법.
(부기 19)
상기 통상 I/O 요구와 상기 재구성/재복사의 1 회의 요구를 밸런스를 맞춰 실행하는 단계를 더 포함하며, 상기 병렬 처리 단계는 상기 재구성/재복사의 병렬의 기록 및 판독 완료에 따라서 다음 재구성/재복사의 기록 및 판독 요구를 발행하는 단계로 이루어지는 것을 특징으로 하는 부기 18의 RAID 시스템의 재구성/재복사 처리 방법.
(부기 20)
상기 재구성/재복사 처리의 진척 상황을 관리하는 진척 테이블에 따라 재구성 또는 재복사 처리의 1 회의 판독 요구를 작성하고, 또한 상기 재구성/재복사의 병렬의 기록 및 판독 완료에 따라서 상기 진척 테이블을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 부기 18의 RAID 시스템의 재구성/재복사 처리 방법.
이상, 설명한 바와 같이, 재구성/재복사에서는 하나의 디스크로부터 판독하고, 다른 디스크에 기록하기 위해 통상 I/O의 유무를 판정하고, 통상 I/O가 없는 것에 따라서 이들의 각각의 디스크 드라이브로의 판독과 기록을 각각 동시에 행한다. 이에 따라, 재구성/재복사 시간의 단축을 도모한다.
본 발명에서는 재구성/재복사에서는 하나의 디스크로부터 판독하고, 다른 디 스크에 기록하기 위해 통상 I/O의 유무를 판정하며, 통상 I/O가 없는 것에 따라서 이들 각각의 디스크 드라이브로의 판독과 기록을 각각 동시에 행한다. 이에 따라, 재구성/재복사 시간의 단축을 도모한다.

Claims (5)

  1. 호스트로부터 의뢰된 I/O 요구에 따라 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 시스템에 있어서,
    RAID를 구성하는 복수의 상기 디스크 장치와,
    상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 컨트롤러
    를 포함하고,
    상기 컨트롤러는 상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하여, 통상 I/O 요구가 소정 시간 내에 도래한 경우에는 통상 I/O 요구와, 판독 및 기록의 어느 쪽이든 한편의 재구성/재복사 요구를 밸런스 제어하고, 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 재구성 또는 재복사의 판독 및 기록 처리를 병렬로 실행하는 것을 특징으로 하는 RAID 시스템.
  2. 제1항에 있어서, 상기 컨트롤러는 통상 I/O 요구의 처리 완료 시각을 상기 통상 I/O 요구의 처리 완료 때마다 기록하고, 상기 처리 완료 시각과 현재 시각을 비교하여 통상 I/O 요구가 소정 시간 오지 않는지를 판정하는 것을 특징으로 하는 RAID 시스템.
  3. 제1항에 있어서, 상기 컨트롤러는 상기 통상 I/O 요구와 상기 재구성/재복사의 1 회의 요구를 밸런스를 맞춰 실행하는 동시에, 상기 재구성/재복사의 병렬 기록 및 판독 완료에 따라서 다음 재구성/재복사의 기록 및 판독 요구를 발행하는 것을 특징으로 하는 RAID 시스템.
  4. 호스트로부터 의뢰된 I/O 요구에 따라서 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 컨트롤러에 있어서,
    상기 호스트와의 인터페이스 제어를 행하는 제1 인터페이스 회로와,
    RAID를 구성하는 복수의 상기 디스크 장치와의 인터페이스 제어를 행하는 제2 인터페이스 회로와,
    상기 복수의 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새로운 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 컨트롤러
    를 포함하고,
    상기 컨트롤러는 상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하여, 통상 I/O 요구가 소정 시간 내에 도래한 경우에는 통상 I/O 요구와 판독 및 기록의 어느 쪽이든 한편의 재구성/재복사 요구를 밸런스 제어하고, 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 재구성 또는 재복사의 판독 및 기록 처리를 병렬로 실행하는 것을 특징으로 하는 RAID 컨트롤러.
  5. 호스트로부터 의뢰된 I/O 요구에 따라서 접속된 디스크 장치를 액세스하고, I/O 요구를 실행하는 RAID 시스템의 재구성/재복사 처리 방법에 있어서,
    RAID를 구성하는 복수의 상기 디스크 장치 중 하나가 고장난 경우에 고장난 디스크 장치 이외의 디스크 장치의 데이터를 판독하고, 예비 디스크 장치 또는 새로운 디스크 장치에 데이터를 기록하는 동작을 복수회에 걸쳐 실행하여 RAID 구성을 재구축하는 재구성 또는 재복사 처리를 실행하는 재구성/재복사 처리 단계와,
    상기 호스트로부터의 I/O 요구를 포함하는 통상 I/O 요구가 소정 시간 오지 않는지를 판정하는 단계와,
    통상 I/O 요구가 소정 시간 내에 도래한 경우에는 통상 I/O 요구와 판독 및 기록 중 어느 한편의 재구성/재복사 요구를 밸런스 제어하는 단계와,
    상기 통상 I/O 요구가 소정 시간 도래하지 않는 경우에는 상기 재구성 또는 재복사의 판독 및 기록 처리를 병렬로 실행하는 단계
    를 포함하는 것을 특징으로 하는 RAID 시스템의 재구성/재복사 처리 방법.
KR1020060023801A 2005-10-28 2006-03-15 Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법 KR100793224B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00314695 2005-10-28
JP2005314695A JP4472617B2 (ja) 2005-10-28 2005-10-28 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法

Publications (2)

Publication Number Publication Date
KR20070045891A KR20070045891A (ko) 2007-05-02
KR100793224B1 true KR100793224B1 (ko) 2008-01-10

Family

ID=37998030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060023801A KR100793224B1 (ko) 2005-10-28 2006-03-15 Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법

Country Status (4)

Country Link
US (1) US7562249B2 (ko)
JP (1) JP4472617B2 (ko)
KR (1) KR100793224B1 (ko)
CN (1) CN1955940B (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4815825B2 (ja) * 2005-03-10 2011-11-16 日本電気株式会社 ディスクアレイ装置及びその再構築方法
JP2008046986A (ja) * 2006-08-18 2008-02-28 Hitachi Ltd ストレージシステム
WO2008090620A1 (ja) * 2007-01-25 2008-07-31 Fujitsu Limited 記憶装置、記録復旧方法、記録復旧プログラム
JP2009026240A (ja) * 2007-07-23 2009-02-05 Hitachi Ltd 記憶制御システムおよび記憶制御方法
JP4579998B2 (ja) * 2008-03-31 2010-11-10 富士通株式会社 リストア管理プログラム、リストア管理方法およびリストア管理装置
JP4988653B2 (ja) * 2008-06-13 2012-08-01 株式会社日立製作所 ディスクアレイ記録装置及びその記録制御方法
EP2401679A1 (en) * 2009-02-26 2012-01-04 Hitachi, Ltd. Storage system comprising raid group
JP5218147B2 (ja) * 2009-02-26 2013-06-26 富士通株式会社 ストレージ制御装置,ストレージ制御方法およびストレージ制御プログラム
JP5409159B2 (ja) * 2009-07-23 2014-02-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP2011070395A (ja) * 2009-09-25 2011-04-07 Canon Inc メモリ制御装置、メモリ制御方法、及びプログラム
JP2012018481A (ja) * 2010-07-06 2012-01-26 Fujitsu Ltd ディスクアレイ装置およびディスクアレイ制御方法
US8726070B2 (en) 2010-09-27 2014-05-13 Dell Products L.P. System and method for information handling system redundant storage rebuild
US8417989B2 (en) * 2010-10-15 2013-04-09 Lsi Corporation Method and system for extra redundancy in a raid system
US20120151232A1 (en) * 2010-12-12 2012-06-14 Fish Iii Russell Hamilton CPU in Memory Cache Architecture
JP5807458B2 (ja) 2011-08-31 2015-11-10 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US9569312B2 (en) * 2011-09-27 2017-02-14 Xcube Research And Development, Inc. System and method for high-speed data recording
US8707090B2 (en) * 2011-10-19 2014-04-22 Hitachi, Ltd. Storage system
CN102419697B (zh) * 2011-11-02 2013-12-18 华中科技大学 垂直raid-6编码中单盘重构的方法
CN102520880B (zh) * 2011-12-01 2014-11-05 浪潮电子信息产业股份有限公司 一种系统raid管理模块设计方法
US8751861B2 (en) * 2012-02-08 2014-06-10 Lsi Corporation System and method for improved rebuild in RAID
JP5472947B2 (ja) * 2012-03-08 2014-04-16 株式会社東芝 ビデオサーバ装置及びそのリビルド処理制御方法
US8930749B2 (en) 2012-04-02 2015-01-06 International Business Machines Corporation Systems and methods for preventing data loss
JP2014096072A (ja) 2012-11-09 2014-05-22 International Business Maschines Corporation ミラー構成を有するディスクアレイ及びそのリビルド方法
US20140149787A1 (en) * 2012-11-29 2014-05-29 Lsi Corporation Method and system for copyback completion with a failed drive
CN103970481B (zh) * 2013-01-29 2017-03-01 国际商业机器公司 重建存储器阵列的方法和装置
US9760293B2 (en) * 2013-03-07 2017-09-12 Seagate Technology Llc Mirrored data storage with improved data reliability
US9122405B1 (en) 2013-03-15 2015-09-01 Western Digital Technologies, Inc. Fast initialization of storage device
CN103488544B (zh) * 2013-09-26 2016-08-17 华为技术有限公司 检测慢盘的处理方法和装置
JP6213130B2 (ja) * 2013-10-09 2017-10-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法
JP5734469B2 (ja) * 2014-01-15 2015-06-17 キヤノン株式会社 メモリ制御装置、メモリ制御方法、及びプログラム
US9396068B2 (en) * 2014-04-17 2016-07-19 International Business Machines Corporation Adaptive rebuild scheduling scheme
CN104461733A (zh) * 2014-11-24 2015-03-25 浪潮电子信息产业股份有限公司 一种高端磁盘阵列多控制器间的并行io调度方法
CN106407051B (zh) * 2015-07-31 2019-01-11 华为技术有限公司 一种检测慢盘的方法及装置
CN106557389B (zh) * 2015-09-29 2019-03-08 成都华为技术有限公司 一种慢盘检测方法和装置
US10437691B1 (en) * 2017-03-29 2019-10-08 Veritas Technologies Llc Systems and methods for caching in an erasure-coded system
CN109725822B (zh) * 2017-10-27 2022-03-11 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN109725826B (zh) * 2017-10-27 2022-05-24 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机可读介质
US10983885B2 (en) 2018-11-29 2021-04-20 International Business Machines Corporation Recovering storage devices in a storage array having errors
CN112748856A (zh) * 2019-10-30 2021-05-04 伊姆西Ip控股有限责任公司 管理盘的方法、电子设备和计算机程序产品
CN111240903A (zh) * 2019-11-04 2020-06-05 华为技术有限公司 数据恢复方法及相关设备
US11593237B2 (en) 2021-05-28 2023-02-28 International Business Machines Corporation Fast recovery with enhanced raid protection
US11567673B1 (en) 2021-08-18 2023-01-31 International Business Machines Corporation Adaptive, proactive raid rebuild

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0131554B1 (ko) * 1993-08-23 1998-04-24 윌리엄 티. 엘리스 고장 허용 디스크 저장 서브시스템 및 그 서브시스템의 컴퓨터시스템으로부터 수신된 디지탈 정보의 데이타 블럭 저장방법
KR100303217B1 (ko) * 1996-08-28 2001-09-28 박종섭 피드백루프를이용하여기록캐시환경에서캐시플러시입출력속도를제어하기위한방법및장치
KR20010111544A (ko) 2000-06-12 2001-12-19 정자춘 데이터 액세스 제어 방법 및 시스템
JP2004295860A (ja) * 2003-03-07 2004-10-21 Fujitsu Ltd ストレージシステム及びそのデイスク負荷バランス制御方法
KR20040092424A (ko) * 2003-04-26 2004-11-03 인터내셔널 비지네스 머신즈 코포레이션 Raid 기억 시스템의 메모리를 구성하는 장치 및 방법
KR100496872B1 (ko) * 2002-12-23 2005-06-22 한국전자통신연구원 다중 레이드제어기 오류 복구 기능을 구비한 분산 공유레이드 시스템 및 그 오류 복구 방법

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US695096A (en) * 1901-08-19 1902-03-11 Jacques P Faivre Broiler.
US5179557A (en) * 1989-07-04 1993-01-12 Kabushiki Kaisha Toshiba Data packet communication system in which data packet transmittal is prioritized with queues having respective assigned priorities and frequency weighted counting of queue wait time
JP2923702B2 (ja) * 1991-04-01 1999-07-26 株式会社日立製作所 記憶装置及びそのデータ修復方法
JPH06250795A (ja) 1993-02-24 1994-09-09 Hitachi Ltd ディスクアレイシステム
US5455934A (en) * 1993-03-23 1995-10-03 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
US5446855A (en) * 1994-02-07 1995-08-29 Buslogic, Inc. System and method for disk array data transfer
US5680509A (en) * 1994-09-27 1997-10-21 International Business Machines Corporation Method and apparatus for estimating phone class probabilities a-posteriori using a decision tree
US5680539A (en) * 1995-07-11 1997-10-21 Dell Usa, L.P. Disk array system which performs data reconstruction with dynamic load balancing and user-specified disk array bandwidth for reconstruction operation to maintain predictable degradation
US5812753A (en) * 1995-10-13 1998-09-22 Eccs, Inc. Method for initializing or reconstructing data consistency within an array of storage elements
CA2201691C (en) * 1996-04-15 2001-07-17 Raju C. Bopardikar Data storage
US6185368B1 (en) * 1996-07-29 2001-02-06 Sony Corporation Redundant disk array with real-time lost data reconstruction
JPH11102261A (ja) 1997-09-25 1999-04-13 Mitsubishi Electric Corp 記憶制御システム
US6032217A (en) * 1997-11-04 2000-02-29 Adaptec, Inc. Method for reconfiguring containers without shutting down the system and with minimal interruption to on-line processing
US6336193B1 (en) * 1998-08-21 2002-01-01 International Business Machines Corporation Input/output recovery method which is based upon an error rate and a current state of the computer environment
JP4294142B2 (ja) * 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
US6321345B1 (en) * 1999-03-01 2001-11-20 Seachange Systems, Inc. Slow response in redundant arrays of inexpensive disks
JP2000276305A (ja) 1999-03-23 2000-10-06 Nec Corp ディスクアレイ装置
JP3440219B2 (ja) * 1999-08-02 2003-08-25 富士通株式会社 入出力装置及びディスク・タイムシェアリング方法
US6516425B1 (en) * 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first
US6233967B1 (en) * 1999-12-03 2001-05-22 American Standard International Inc. Refrigeration chiller oil recovery employing high pressure oil as eductor motive fluid
JP3734662B2 (ja) * 2000-02-16 2006-01-11 太陽誘電株式会社 積層セラミックコンデンサとその製造方法
US6647514B1 (en) * 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US6886108B2 (en) * 2001-04-30 2005-04-26 Sun Microsystems, Inc. Threshold adjustment following forced failure of storage device
US7480909B2 (en) * 2002-02-25 2009-01-20 International Business Machines Corporation Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking
US6820172B2 (en) * 2002-03-25 2004-11-16 International Business Machines Corporation Method, system, and program for processing input/output (I/O) requests to a storage space having a plurality of storage devices
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
JP4318914B2 (ja) * 2002-12-26 2009-08-26 富士通株式会社 ストレージシステム及びその動的負荷管理方法
US7313721B2 (en) * 2004-06-21 2007-12-25 Dot Hill Systems Corporation Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0131554B1 (ko) * 1993-08-23 1998-04-24 윌리엄 티. 엘리스 고장 허용 디스크 저장 서브시스템 및 그 서브시스템의 컴퓨터시스템으로부터 수신된 디지탈 정보의 데이타 블럭 저장방법
KR100303217B1 (ko) * 1996-08-28 2001-09-28 박종섭 피드백루프를이용하여기록캐시환경에서캐시플러시입출력속도를제어하기위한방법및장치
KR20010111544A (ko) 2000-06-12 2001-12-19 정자춘 데이터 액세스 제어 방법 및 시스템
KR100496872B1 (ko) * 2002-12-23 2005-06-22 한국전자통신연구원 다중 레이드제어기 오류 복구 기능을 구비한 분산 공유레이드 시스템 및 그 오류 복구 방법
JP2004295860A (ja) * 2003-03-07 2004-10-21 Fujitsu Ltd ストレージシステム及びそのデイスク負荷バランス制御方法
KR20040092424A (ko) * 2003-04-26 2004-11-03 인터내셔널 비지네스 머신즈 코포레이션 Raid 기억 시스템의 메모리를 구성하는 장치 및 방법

Also Published As

Publication number Publication date
US20070101187A1 (en) 2007-05-03
US7562249B2 (en) 2009-07-14
JP2007122477A (ja) 2007-05-17
CN1955940A (zh) 2007-05-02
KR20070045891A (ko) 2007-05-02
CN1955940B (zh) 2010-09-08
JP4472617B2 (ja) 2010-06-02

Similar Documents

Publication Publication Date Title
KR100793224B1 (ko) Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법
KR100793531B1 (ko) Raid 시스템 및 그 리빌드/카피백 처리 방법
US7133967B2 (en) Storage system, controller, control method and program product therefor
US6957303B2 (en) System and managing method for cluster-type storage
JP6074056B2 (ja) 計算機システムおよびデータ制御方法
US6601138B2 (en) Apparatus system and method for N-way RAID controller having improved performance and fault tolerance
US7269667B2 (en) Disk array system and method for migrating from one storage system to another
JP5523468B2 (ja) 直接接続ストレージ・システムのためのアクティブ−アクティブ・フェイルオーバー
JP5635621B2 (ja) ストレージシステム及びストレージシステムのデータ転送方法
JP2001331355A (ja) 計算機システム
JP2007122476A (ja) データストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法
JP4401305B2 (ja) デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置
JP2002049511A (ja) アドレスの割付変更方法及びこれを用いた外部記憶サブシステム
US20110252176A1 (en) Storage system mounted with plurality of processors
US20110154165A1 (en) Storage apparatus and data transfer method
JP2003006135A (ja) 入出力制御装置及び入出力制御方法並びに情報記憶システム
JP2006268403A (ja) データストレージシステム及びストレージ制御装置のログデータの等価制御方法
JP3250859B2 (ja) ディスクアレイ装置、コンピュータシステム及びデータ記憶装置
JP5729043B2 (ja) ストレージ装置および制御装置
JP4708669B2 (ja) パス冗長化装置及び方法
JP2005346426A (ja) データ共有ディスク装置
JP4452697B2 (ja) ディスクアレイ制御装置
JP4571963B2 (ja) ディスクアレイ制御装置
JP2003263278A (ja) ディスクアレイ制御装置

Legal Events

Date Code Title Description
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: 20121227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 13