KR101463342B1 - 중계 장치, 접속 관리 방법, 및 정보 통신 시스템 - Google Patents

중계 장치, 접속 관리 방법, 및 정보 통신 시스템 Download PDF

Info

Publication number
KR101463342B1
KR101463342B1 KR1020130057181A KR20130057181A KR101463342B1 KR 101463342 B1 KR101463342 B1 KR 101463342B1 KR 1020130057181 A KR1020130057181 A KR 1020130057181A KR 20130057181 A KR20130057181 A KR 20130057181A KR 101463342 B1 KR101463342 B1 KR 101463342B1
Authority
KR
South Korea
Prior art keywords
relay device
sas
communication state
path
expander
Prior art date
Application number
KR1020130057181A
Other languages
English (en)
Other versions
KR20130133131A (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 KR20130133131A publication Critical patent/KR20130133131A/ko
Application granted granted Critical
Publication of KR101463342B1 publication Critical patent/KR101463342B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2005Error 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 interconnections or communication control functionality are redundant using redundant communication controllers
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2007Error 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 interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error 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 interconnections or communication control functionality are redundant using redundant communication media between storage system components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 경로 장해가 발생한 경우, 장해 경로를 우회하도록 경로의 구성을 재구축하는 정보 통신 시스템에 있어서, 제어부에 가해지는 부하의 경감을 도모하기 위한 것으로, 정보 통신 장치간의 통신을 중계하는 중계 장치는, 자장치와, 자장치의 전단 또는 후단에 배치되어 자장치와 논리적 경로로 접속되는 제1 중계 장치 사이의 제1 통신 상태의 변화를 검출하는 검출부와, 자장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제2 중계 장치로부터, 제2 중계 장치와, 제2 중계 장치의 전단 또는 후단에 배치되어 제2 중계 장치와 논리적 경로로 접속되는 제3 중계 장치 사이의 제2 통신 상태를 취득하는 통신 상태 취득부와, 검출부가 제1 통신 상태의 변화를 검출한 경우, 제1 및 제2 통신 상태의 조합에 따라, 자장치와 제2 중계 장치 사이의 논리적 경로를 유효하게 하는 경로 접속부를 구비한다.

Description

중계 장치, 접속 관리 방법, 및 정보 통신 시스템{RELAY DEVICE, CONNECTION MANAGEMENT METHOD, AND INFORMATION COMMUNICATION SYSTEM}
본 발명은 정보 통신 장치간에 있어서의 기기의 접속에 관한 것이다.
백 엔드 인터페이스에 SAS(Serial Attached SCSI) 익스팬더(Expander)를 다단으로 접속하고, 그 SAS 익스팬더를 통해 복수의 기억 장치와 접속하는 스토리지 시스템이 알려져 있다.
스토리지 시스템은, 데이터를 기억하는 복수의 기억 장치와, 기억 장치에 관한 액세스의 제어를 행하는 컨트롤러를 포함한다.
컨트롤러는, 스토리지 시스템에 접속되는 호스트 컴퓨터로부터 송신된 처리 요구나 데이터의 입출력 요구에 따라, 기억 장치에 관한 액세스를 제어한다. 또한, 컨트롤러는, 다단으로 배치된 SAS 익스팬더를 통해 기억 장치에 접속된다. 접속 경로는 이중화되고, 어떠한 경로에 장해가 발생해도, 다른 쪽의 경로를 사용하여, 시스템을 계속적으로 운용할 수 있다.
이러한 스토리지 시스템에 있어서, 백 엔드 접속의 토폴로지 변화 시에, 컨피규레이션을 재구축하는 방법으로서, BROADCAST(CHANGE)(이하, BC(CHG)라고 기재함)라고 불리는 정보 프레임을 발행하는 방법이 알려져 있다.
이 방법에 있어서, SAS 경로 절단이 발생했을 때의 처리의 흐름은 예를 들어 이하와 같이 된다.
SAS 익스팬더는, 커맨드 송신 중에 에러가 발생한 것 등으로부터, SAS 경로 절단을 검출하면, 상위 익스팬더 또는 컨트롤러에 대하여, BC(CHG)를 발행한다. BC(CHG)를 수신한 SAS 익스팬더는, 또한 그 상위의 SAS 익스팬더 또는 컨트롤러에 대하여 BC(CHG)를 전송한다. BC(CHG)를 수신한 SAS 익스팬더는, 관리 하의 디바이스의 접속 상태를 알기 위해서 행해지는 디스커버리 처리(Self-Discovery)를 실시하고, 그 후, 컨트롤러가 디스커버리 처리(Discovery)를 실시한다. 컨트롤러는, 디스커버리 처리에 의해 SAS 경로의 절단을 인식하면, 정상인 SAS 경로가 접속되어 있는 포트를 사용하여, 커맨드를 재시도한다.
한편, 그 밖의 컨피규레이션 재구축 방법으로서, SAS 경로에 이상이 발생한 경우에, 장해 경로를 우회하도록, SAS 익스팬더의 접속 구성을 변경하는 방법이 알려져 있다. 이 방법에서는, 컨트롤러가 각각의 스위치 디바이스의 상태를 관리하고 익스팬더간 SAS 경로의 접속 판단을 행하고 있다.
특허문헌 1 : 일본 특허 공개 제2009-187483호 공보 특허문헌 2 : 일본 특허 공개 제2010-61664호 공보
그러나, 제어부가 중계 장치의 접속 상태를 관리하고, 경로 장해 발생 시에 장해 경로를 우회하도록 중계 장치의 접속 구성을 변경하는 것은, 제어부에 가해지는 부하가 크다.
1개의 측면에서는, 본 발명은 경로 장해가 발생한 경우, 장해 경로를 우회하도록 경로의 구성을 재구축하는 정보 통신 시스템에 있어서, 제어부에 가해지는 부하의 경감을 도모하는 것을 목적으로 한다.
중계 장치는, 정보 통신 장치간의 통신을 중계하는 것이며, 검출부, 통신 상태 취득부 및 경로 접속부를 포함한다. 검출부는, 자장치의 전단 또는 후단에 배치되어 자장치와 논리적 경로로 접속되는 제1 중계 장치와, 자장치와의 사이의 제1 통신 상태의 변화를 검출한다. 통신 상태 취득부는, 자장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제2 중계 장치로부터, 제2 중계 장치와, 제2 중계 장치의 전단 또는 후단에 배치되어 제2 중계 장치와 논리적 경로로 접속되는 제3 중계 장치 사이의 제2 통신 상태를 취득한다. 경로 접속부는, 검출부가 제1 통신 상태의 변화를 검출한 경우, 제1 및 제2 통신 상태의 조합에 따라, 자장치와 제2 중계 장치 사이의 논리적 경로를 유효하게 한다.
본 실시 형태에 따른 정보 통신 시스템에 의하면, 경로 장해가 발생한 경우, 장해 경로를 우회하도록 경로의 구성을 재구축하는 정보 통신 시스템에 있어서, 제어부에 가해지는 부하의 경감을 도모할 수 있다.
도 1은 본 실시 형태에 따른 중계 장치의 일례를 도시하는 도면.
도 2는 본 실시 형태에 따른 스토리지 시스템의 구성의 일례를 도시하는 도면.
도 3은 본 실시 형태에 따른 스토리지 시스템의 상세한 구성의 일례를 도시하는 도면.
도 4는 본 실시 형태에 따른 스토리지 시스템의 익스펜더 칩의 구성의 일례를 도시하는 도면.
도 5는 본 실시 형태에 따른 스토리지 시스템의 디바이스 인클로저의 구성의 일례를 도시하는 도면.
도 6은 계간(系間) SAS 경로를 접속하지 않는 경우에, SAS 경로에 이상이 발생한 경우의 스토리지 시스템의 상태를 설명하기 위한 도면.
도 7은 본 실시 형태에 따른, DE간의 SAS 경로 절단 발생시의 동작을 설명하기 위한 도면을 도시하는 도면.
도 8은 DE간의 편계(片系) 1경로 절단의 설명도를 도시하는 도면.
도 9는 컨트롤러 DE간의 편계 1경로 절단의 설명도를 도시하는 도면.
도 10은 DE간의 편계 2경로 절단의 설명도(그 1)를 도시하는 도면.
도 11은 DE간의 편계 2경로 절단의 설명도(그 2)를 도시하는 도면.
도 12는 편계 익스팬더 고장의 설명도를 도시하는 도면.
도 13은 동일한 DE간의 양계 2경로 절단의 설명도를 도시하는 도면.
도 14는 상이한 DE간의 양계 2경로 절단의 설명도(그 1)를 도시하는 도면.
도 15는 상이한 DE간의 양계 2경로 절단의 설명도(그 2)를 도시하는 도면.
도 16은 본 실시 형태에 따른 익스팬더 접속 관리 테이블의 데이터 구조의 일례를 도시하는 도면.
도 17은 본 실시 형태에 따른 접속 익스팬더 SAS 어드레스 관리 테이블의 데이터 구조의 일례를 도시하는 도면.
도 18은 본 실시 형태에 따른 익스팬더 접속 통지 정보의 일례를 도시하는 도면.
도 19는 본 실시 형태에 따른 익스팬더 접속 응답 정보의 일례를 도시하는 도면.
도 20은 본 실시 형태에 따른 계간 접속 매트릭스의 일례를 도시하는 도면.
도 21은 본 실시 형태의 일례로서의, 루프 체크에 있어서의 익스팬더의 동작 플로우도를 도시하는 도면.
도 22는 본 실시 형태의 일례로서의, SAS 입출력 포트의 변화시의 스토리지 시스템 전체의 동작 플로우도를 도시하는 도면.
도 23은 본 실시 형태의 일례로서의, SAS 입출력 포트의 변화를 검출했을 때의 익스팬더의 처리 플로우도를 도시하는 도면.
도 24는 본 실시 형태의 일례로서의, BC(CHG) 발행 체크의 동작 플로우도를 도시하는 도면.
도 25는 본 실시 형태의 일례로서의, 익스팬더 접속 통지 정보 수신시의 익스팬더의 동작 플로우도를 도시하는 도면.
도 1은, 본 실시 형태에 따른 중계 장치의 일례를 나타낸다.
중계 장치(1)는 정보 통신 장치간의 통신을 중계한다. 중계 장치(1)는 검출부(2), 통신 상태 취득부(3), 경로 접속부(4), 처리부(5) 및 정보 수집 요구 발행부(6)를 포함한다.
검출부(2)는 자장치(1)의 전단 또는 후단에 배치되어 자장치(1)와 논리적 경로로 접속되는 제1 중계 장치(1)와, 자장치(1) 사이의 제1 통신 상태의 변화를 검출한다.
통신 상태 취득부(3)는 자장치(1)가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제2 중계 장치(1)로부터, 제2 중계 장치(1)와, 제2 중계 장치(1)의 전단 또는 후단에 배치되어 제2 중계 장치(1)와 논리적 경로로 접속되는 제3 중계 장치(1) 사이의 제2 통신 상태를 취득한다.
경로 접속부(4)는 검출부(2)가 제1 통신 상태의 변화를 검출한 경우, 제1 및 제2 통신 상태의 조합에 따라, 자장치(1)와 제2 중계 장치(1) 사이의 논리적 경로를 유효하게 한다. 또한, 경로 접속부(4)는 제1 중계 장치(1)와, 제1 중계 장치(1)가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제4 중계 장치(1) 사이의 제3 통신 상태에 따라, 자장치(1)와 제2 중계 장치(1) 사이의 논리적 경로를 유효하게 한다.
처리부(5)는 정보 통신 장치간에 있어서 배치되는 제5 중계 장치(1)에 대하여 자장치(1)와 제2 중계 장치(1) 사이의 논리적 경로를 유효하게 한다는 취지의 통지를 발행하는 처리를 행한다. 또한, 제5 중계 장치의 처리부(5)는 다른 중계 장치(1)로부터, 통지를 수신한 경우, 제5 중계 장치(1)와, 제5 중계 장치(1)가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제6 중계 장치(1) 사이의 논리적 경로를 유효하게 한다.
정보 수집 요구 발행부(6)는 제1 통신 상태의 변화가 검출된 경우, 제1 통신 상태의 변화에 따라, 정보 통신 장치간에 있어서 배치되는 제7 중계 장치(1)에 대하여 제7 중계 장치(1)의 전단 또는 후단에 배치되어 제7 중계 장치(1)와 논리적 경로로 접속되는 제8 중계 장치(1)와, 제7 중계 장치(1) 사이의 제4 통신 상태를 수집시키는 정보 수집 요구를 발행한다.
통신 상태의 변화에 따라, 정보 수집 요구 발행부(6)가 정보 수집을 행하여 BC(CHG)의 발행을 억제함으로써, 다른 중계 장치(1)와 컨트롤러의 디스커버리 처리의 실시를 최저한으로 억제할 수 있다. 그것에 따라, SAS 경로의 부하를 경감할 수 있다.
도 2는, 본 실시 형태에 따른, 백 엔드 접속에 SAS 익스팬더를 사용한 스토리지 시스템의 구성의 일례를 나타낸다.
스토리지 시스템(100)은 예를 들어 복수의 HDD(Hard Disk Drive)를 포함하고, 이들을 하나의 논리 볼륨으로서 취급할 수 있는 RAID(Redundant Arrays of Inexpensive Disks) 시스템이다.
스토리지 시스템(100)은 컨트롤러(Controller)(105)와, 1 이상의 디바이스 인크로저(Device Enclosure)(이하, DE라고 기재함)(106)를 포함한다. 컨트롤러(105)는 스토리지 시스템에 접속되는 호스트 컴퓨터(도시하지 않음)로부터 송신된 처리 요구나 데이터의 입출력 요구에 따라, 기억 장치(109)에 관한 제어를 행한다. DE#00(101-0)은 SAS 익스팬더(106a, 106b)를 갖고, SAS 익스팬더(106a 및 106b)에는, 1 이상의 기억 장치(109)가 접속된다. 마찬가지로, DE#01(101-1)은 SAS 익스팬더(107a, 107b)를 갖고, SAS 익스팬더(107a 및 107b)에는, 1 이상의 기억 장치(109)가 접속된다. 또한, DE#02(101-2)는 SAS 익스팬더(108a, 108b)를 갖고, SAS 익스팬더(108a 및 108b)에는, 1 이상의 기억 장치(109)가 접속된다.
컨트롤러(105)는 2개의 포트를 갖는다. 즉, Port#0과 Port#1이다. Port#0은, SAS 케이블을 통하여 DE#00의 익스팬더(106a)에 접속되고, Port#1은, SAS 케이블을 통하여 DE#00의 익스팬더(106b)에 접속된다.
SAS 익스팬더끼리는, 직렬로 다단 접속된다. 즉, DE#00의 익스팬더(106a)는 DE#01의 익스팬더(107a)에 접속되고, DE#00의 익스팬더(106b)는 DE#01의 익스팬더(107b)에 접속된다. 마찬가지로, DE#01의 익스팬더(107a)는 DE#02의 익스팬더(108a)에 접속되고, DE#01의 익스팬더(107b)는 DE#02의 익스팬더(108b)에 접속된다.
컨트롤러(105)에 접속되는 한쪽의 SAS 익스팬더와, 그 SAS 익스팬더에 직렬로 다단 접속되는 SAS 익스팬더군을 EXP#0계라고 기재한다. 또한, 컨트롤러(105)에 접속되는 다른 쪽의 SAS 익스팬더와, 그 SAS 익스팬더에 직렬로 다단 접속되는 SAS 익스팬더군을 EXP#1계라고 기재한다.
컨트롤러(105)는 제어부의 일례로서 들 수 있다. 또한, SAS 익스팬더는, 중계 장치(1)의 일례로서 들 수 있다. 또한, 기억 장치(109)는 기억부의 일례로서 들 수 있다.
도 2의 예에서는, SAS 익스팬더(106a, 107a 및 108a)는 EXP#0계이며, SAS 익스팬더(106b, 107b 및 108b)는 EXP#1계이다.
도 3은, 본 실시 형태에 따른 스토리지 시스템의 상세한 구성의 일례를 나타낸다.
스토리지 시스템(100)은, 컨트롤러 인크로저(Controller Enclosure)(이하, CE라고 기재함)(102)와, 1 이상의 DE(101-1)(101-2…)를 포함한다. CE(102)에는, 1 이상의 DE(101)이 직렬로 다단 접속된다. 즉, CE(102)에 DE(101-1)가 접속되고, DE(101-1)에 DE(101-2)가 접속된다. 또한, 스토리지 시스템(100)은 상위 장치로서의 호스트 컴퓨터(도시하지 않음)에 접속되어 있고, 호스트 컴퓨터는 스토리지 시스템에 대하여 처리 요구나 데이터의 입출력 명령을 행한다.
CE(102)는 복수의 컨트롤러 모듈(Controller Module)(이하, CM이라고 기재함)(104)을 갖는다. CM(104)은, 스토리지 시스템에 있어서의 다양한 제어를 행하는 것이며, 호스트 컴퓨터로부터 송신된 I/O 커맨드에 기초하여, 기억 장치(109)에 대한 액세스 제어를 행한다.
CM(104a)는 컨트롤러(105a) 및 SAS 익스팬더(106a)를 포함하고, CM(104b)은, 컨트롤러(105b) 및 SAS 익스팬더(106b)를 포함한다. 컨트롤러(105a, 105b)는, 각각 CM(104a, 104b)에 있어서의 각종 제어를 행하는 것이다. SAS 익스팬더(106a, 106b), 및 후술하는 도면 부호 107a, 107b, 108a, 108b은, 컨트롤러(105a, 105b)로부터 송신되는 액세스 커맨드에 기초하여, 접속되어 있는 기억 장치(109)에 대하여 액세스 제어를 행한다.
컨트롤러(105a)는 SAS 케이블(111)을 통해 SAS 익스팬더(106a 및 106b)에 접속된다. 마찬가지로, 컨트롤러(105b)는 SAS 케이블(111)을 통해 SAS 익스팬더(106a 및 106b)에 접속된다. SAS 익스팬더(106a 및 106b)에는, 1 이상의 기억 장치(109)가 접속된다. 또한, 컨트롤러(105a)와 컨트롤러(105b)는 PCI Express(110) 등의 버스를 통해서 접속된다.
DE(101-1)는, SAS 익스팬더(107a, 107b)를 갖고, SAS 익스팬더(107a 및 107b)에는, 1 이상의 기억 장치(109)가 접속된다. 기억 장치(109)는, SAS 익스팬더(107a, 107b)의 각각에 접속되어 있고, CM(104)으로부터 기억 장치(109)에의 액세스 경로는 이중화된다.
또한, DE(101-2)는, DE(101-1)와 마찬가지로, SAS 익스팬더(108a, 108b)를 갖고, SAS 익스팬더(108a 및 108b)에는, 1 이상의 기억 장치(109)가 접속된다. 각 기억 장치(109)는 SAS 익스팬더(108a, 108b)의 각각에 접속되어 있고, CM(104)으로부터 기억 장치(109)에의 액세스 경로는 이중화된다.
컨트롤러(105a)에는, SAS 익스팬더(106a, 107a, 108a)가 직렬로 다단 접속된다. 즉, 도 3에 도시하는 바와 같이, 컨트롤러(105a)에 SAS 익스팬더(106a)가 접속되고, 이 SAS 익스팬더(106a)에 SAS 익스팬더(107a)가 접속된다. 또한, SAS 익스팬더(107a)에 SAS 익스팬더(108a)가 접속된다. 마찬가지로, 컨트롤러(105b)에 SAS 익스팬더(106b)가 접속되고, 이 SAS 익스팬더(106b)에 SAS 익스팬더(107b)가 접속된다. 또한, SAS 익스팬더(107b)에 SAS 익스팬더(108b)가 접속된다.
이하의 설명에 있어서는, 컨트롤러(105)로부터 SAS 익스팬더(108)까지의 데이터 경로에 있어서, 컨트롤러(105) 측을 상위측이라고 기재하는 경우가 있다.
도 4는, SAS 익스팬더에 탑재되는 익스펜더 칩의 구성을 나타낸다. 익스펜더 칩은, 메모리(302), 프로세서(301) 및 Phy(PHYsica1)(303)를 포함한다.
메모리(302)는 각종 데이터나 프로그램을 저장하는 것이며, 프로세서(301)가 각종 연산이나 제어를 행할 때에, 일시적으로 데이터나 프로그램을 저장(전개)한다.
여기서, 메모리(302)는 예를 들어 반도체 메모리이며, RAM(Random Access Memory) 영역 및 ROM(Read Only Memory) 영역을 포함하여 구성된다.
프로세서(301)는 프로그램을 실행함으로써 여러 가지의 연산 및 제어를 행하는 연산 장치이며, 메모리(302)나 도시하지 않은 ROM에 저장된 프로그램을 실행함으로써 각종 기능을 실현한다. 이 프로세서(301)는 도 4에 도시하는 바와 같이, SMP(304) 및 SSP(305)를 포함한다. SMP(304)는, SMP(Serial Management Protocol)에 기초하는 논리 디바이스이며, SSP(305)는, SSP(Serial SCSI Protocol)에 기초한 논리 디바이스이다.
SMP(304)는 익스팬더의 포인트 투 포인트 토폴로지와 인크로저 서비스의 관리에 사용된다. 구체적으로는, SMP(304)는, 디스커버리 처리 등을 행한다.
SSP(305)는, 컨트롤러(105)가 SAS 디바이스 및 기존의 SCSI 소프트웨어와 통신하는 것을 가능하게 한다. 구체적으로는, SSP(305)는, DE의 상태의 채취나 제어 등을 행한다.
여기서, 이 프로세서(301)는, 메모리(302) 또는, 도시하지 않은 ROM이나 기억 장치에 저장된 프로그램을 실행함으로써, 검출부(2), 통신 상태 취득부(3), 경로 접속부(4), 처리부(5), 정보 수집 요구 발행부(6)의 예로서 기능한다.
Phy(303)는, 물리 링크 포트이며, 도 4에 도시하는 예에 있어서는, Phy0 내지 23의 24개의 Phy가 포함된다. 또한, 이 도 4에 도시하는 예에 있어서는, Phy0 내지 3이 상위의 SAS 익스팬더나 컨트롤러(105)와의 접속에 사용된다. 또한, Phy4 내지 7은 하위측의 SAS 익스팬더와의 접속에 사용되고, Phy8 내지 10, 15 내지 23이 기억 장치(109)와의 접속에 사용된다. 또한, 각 Phy(303)의 접속처는, 임의로 변경해도 된다.
도 5는, 본 실시 형태에 따른 스토리지 시스템의 DE(101)의 구성의 일례를 나타낸다.
도 5에 도시하는 바와 같이, 본 실시 형태에 있어서, 동일 DE 내의 EXP#0계와 EXP#1계의 익스팬더간은, SAS 경로 및 통신 경로로 물리적으로 접속된다. 이하의 설명에서는, 동일 DE 내의 EXP#0계와 EXP#1계의 익스팬더간을 접속하는 SAS 경로를 계간 SAS 경로(702)라고 칭하고, 동일 DE 내의 EXP#0계와 EXP#1계의 익스팬더간을 접속하는 통신 경로를 계간 통신 경로(701)라고 칭한다.
계간 통신 경로(701)는 컨트롤러(105)로부터 송신된 지시를, 동일 DE 내의 다른 한쪽의 익스팬더에 전송하는 경우 등에 사용된다. 또한, LED 제어나 FAN의 회전수 제어, 온도 감시 등은 통상 EXP#0계 측에서 행하지만, EXP#0계의 익스팬더가 교환되거나 이상하게 되거나 한 경우를 고려하여, 계간 통신 경로(701)를 사용하여 이들의 정보 동기를 행한다. 계간 통신 경로(701)는 예를 들어 I2C(Inter-Integrated Circuit)(상표)나 Ethernet(등록 상표) 등으로 접속된다.
이와 같이, 본 실시 형태에 따른 스토리지 시스템에 있어서, 계간 SAS 경로(702)를 접속하는 이유를, 도 6을 참조하여 설명한다.
도 6은, 계간 SAS 경로(702)를 접속하지 않는 경우에, SAS 경로에 이상이 발생한 경우의 스토리지 시스템의 상태를 설명하기 위한 도면이다. 도 6에서는, EXP#0계와 EXP#1계의 SAS 경로는 각각 독립되어 있다. 이 경우, EXP#1계의, DE#00과 DE#01 사이의 SAS 경로가 이상에 의해 절단되면, 컨트롤러(105)는 Port#1로부터 EXP#1계의 SAS 경로를 통해서, DE#01보다 하위측의 EXP#1계의 SAS 익스팬더에 액세스할 수 없게 된다. 따라서, 컨트롤러(105)는 SAS 익스팬더로부터의 BC(CHG)에 기초하여, EXP#1계의, DE#00과 DE#01 사이의 SAS 경로가 절단된 것을 인식하면, DE#01 및 DE#02 관리 하의 기억 장치에 대한 액세스는 Port#0로부터 EXP#0계의 SAS 경로를 통해서 행하게 된다. 이 경우, 가령, 또한 EXP#0계의 SAS 경로에 장해가 발생한 경우에는, 시스템 다운을 야기하게 되어 버린다. 또한, EXP#0계의 경로에 액세스 부하가 집중하기 때문에, 스루풋 성능이 저하된다. 이상으로부터, 본 실시 형태에서는, 계간 SAS 경로(702)의 접속을 행한다.
그러나, 경로 장해의 발생에 대비하여, 계간 SAS 경로(702)를 항상 접속하면, 각각 독립되어 있던 2개의 EXP#0계와 EXP#1계의 경로가 접속되기 때문에, SAS 경로에 루프 접속이 발생해 버린다. 루프가 발생된 경우, 컨트롤러(105) 및 익스팬더는, SAS 경로 인식을 할 수 없기 때문에, 디스커버리 처리가 완료되지 않는다. 따라서, 계간 SAS 경로(702)의 상시 접속은 할 수 없다. 그래서, SAS 익스팬더는, SAS 경로가 정상인 상태에 있어서는, 계간 SAS 경로(702)는 무효로 해 두고, SAS 경로의 절단이 발생된 경우에, 계간 SAS 경로(702)를 유효하게 하여, 논리적으로 접속을 제어한다.
본 실시 형태에 있어서, 계간 SAS 경로(702)가 접속되는 Phy(303)는, enable과 disable을 전환함으로써, 유효·무효의 전환이 가능하다. 계간 SAS 경로(702)는 물리적으로는, 항상 SAS 케이블로 접속되어 있지만, 통상 시에는, Phy(303)가 disable인 상태이기 때문에, 논리적으로는 절단되어 있다. 그리고, SAS 경로 절단이 발생된 경우, 프로세서(301)가 Phy(303)의 상태를 disable로부터 enable로 전환함으로써, 계간 SAS 경로(702)가 접속된 상태로 된다.
이하의 설명에 있어서, 계간 SAS 경로(702)를 접속하는 동작은, 프로세서(301)가 계간 SAS 경로(702)의 Phy(303)를 enable(유효)로 하는 동작을 가리킨다. 또한, 계간 SAS 경로(702)를 절단하는 동작은, 프로세서(301)가 계간 SAS 경로(702)의 Phy(303)를 disable(무효)로 하는 동작을 가리킨다. 또한, 계간 SAS 경로(702)에 접속되어 있는 Phy를 유효/무효로 하는 것을, 계간 SAS 경로(702)를 유효/무효로 한다고 기재하는 경우가 있다.
또한, 기억 장치의 포트의 SAS 어드레스는, EXP#0계와 EXP#1계에서 상이하기 때문에, 경로의 재구축을 행하는 경우에는, 원래의 계로부터 액세스할 수 있도록 구성을 행한다.
도 7은, 본 실시 형태에 있어서의 DE와 DE 사이의 SAS 경로 절단 발생시의 동작을 설명하기 위한 도면이다. 도 7의 (a)는 정상 시에 컨트롤러(105)가 디스크에 액세스하는 모습을 나타내고 있다. 도 7의 (b)는 경로 절단 발생 시에, 컨트롤러(105)가 계간 SAS 경로(702)를 통하여 디스크에 액세스하는 모습을 나타내고 있다.
도 7의 (a)에 도시하는 바와 같이, 정상 시에는, 어느 DE에 있어서도 계간 SAS 경로(702)는 논리적으로 접속되어 있지 않다. 이때, DE#00과 DE#01의, EXP#1계의 DE간에서 경로 절단이 발생된 경우, 도 7의 (b)에 도시하는 바와 같이, 절단한 경로에 직접 접속되어 있는 DE인 DE#00 및 DE#01에 있어서, 계간 SAS 경로(702)가 논리적으로 접속된다.
경로 절단 발생 시에, 계간 SAS 경로(702)를 접속하면, 도 7의 (b)에 도시하는 바와 같이, 컨트롤러(105)는 절단전과 동일한 포트를 사용하여, 기억 장치(109)에 액세스할 수 있다. 또한, 장해를 검출한 SAS 익스팬더가 BC(CHG)를 발행하는 것을 억제할 수 있다.
그런데, 절단이 발생된 경로에 직접 접속하고 있는 SAS 익스팬더가 계간 SAS 경로(702)를 유효하게 하는 방법으로는, 절단이 발생된 개소나 수에 따라서는, 루프가 발생되는 케이스가 존재한다. 이러한, 계간 SAS 경로(702)가 유효하게 됨으로써 루프가 발생되는 경우를, 도 8 내지 도 15를 이용하여 설명한다.
절단이 발생되었을 때의 SAS 경로의 상황을, 절단이 발생된 경로와 수에 의해 분류하면, 이하의 케이스가 상정된다. 즉, DE간의 편계 1경로 절단, 컨트롤러 DE간의 편계 1경로 절단, DE간의 편계 2경로 절단, 편계 익스팬더 고장, 동일한 DE간의 양계 2경로 절단, 및 상이한 DE간의 양계 2경로 절단이다. DE간의 편계 2경로 절단 및 상이한 DE간의 양계 2경로 절단은, 장해가 발생한 2개의 경로의 위치 관계에 따라, 다시 2개의 케이스로 분류된다.
우선, DE간의 편계 1경로 절단에 대해서, 도 8을 참조하여 설명한다. DE간의 편계 1경로 절단의 일례로서, 도 8에서는, EXP#1계의, DE#00과 DE#01 사이의 SAS 경로가 절단되어 있다. 이때, SAS 경로의 절단을 검출한 DE#00과 DE#01의 익스팬더는, 논리적으로 각각 계간 SAS 경로(702)의 접속을 행한다. 이 경우, 도 8에 도시하는 바와 같이, 각각의 계간 SAS 경로(702)가 접속되었다고 해도, SAS 경로에 루프가 발생하는 일은 없다.
이어서, 컨트롤러 DE간의 편계 1경로 절단에 대해서, 도 9를 참조하여 설명한다. 컨트롤러 DE간의 편계 1경로 절단의 예로서, 도 9에서는, 컨트롤러(105)의 Port#1과 DE#00의 EXP#1계의 익스팬더 사이의 SAS 경로에 절단이 발생된 경우의 예를 나타내고 있다. 이때, SAS 경로의 절단을 검출한 DE#00의 익스팬더는 계간 SAS 경로(702)의 접속을 행한다. 이 경우, 도 9에 도시하는 바와 같이, 계간 SAS 경로(702)가 접속되었다고 해도, SAS 경로에 루프가 발생하는 일은 없다. 단, 컨트롤러-DE간의 SAS 경로가 절단된 것은, 컨트롤러(105)에 의해 즉시 인식된다.
이어서, DE간의 편계 2경로 절단에 대해서, 도 10 및 도 11을 참조하여 설명한다. 도 10에서는, DE간의 편계 2경로 절단의 일례로서, EXP#1계의, DE#00과 DE#01 사이의 SAS 경로 및 DE#01과 DE#02 사이의 SAS 경로가 절단되어 있다. 이때, SAS 경로의 절단을 검출한 DE#00, DE#01 및 DE#02의 익스팬더는, 각각 계간 SAS 경로(702)의 접속을 행한다. 이 경우, 도 10에 도시하는 바와 같이, 각각의 계간 SAS 경로(702)가 접속되었다고 해도, SAS 경로에 루프가 발생하는 일은 없다.
도 11에서는, DE간의 편계 2경로 절단의 일례로서, EXP#1계의, DE#00과 DE#01 사이의 SAS 경로 및 DE#02와 DE#03 사이의 SAS 경로가 절단되어 있다. 이때, SAS 경로의 절단을 검출한 DE#00, DE#01, DE#02 및 DE#03의 익스팬더는, 각각계간 SAS 경로(702)의 접속을 행한다. 이 경우에는, 도 11의 (a)에 도시하는 바와 같이 SAS 경로에 루프가 발생한다. 그래서, 본 실시 형태에서는, 루프의 발생을 방지하기 위해서, 도 11의 (b)에 도시하는 바와 같이, DE#02의 계간 SAS 경로(702)의 접속은 행하지 않도록 한다.
이어서, 편계 익스팬더 고장에 대해서, 도 12를 참조하여 설명한다. 편계 익스팬더 고장의 일례로서, 도 12에서는, DE#01의 EXP#1계의 익스팬더에 고장이 발생하고 있다. DE#01의 EXP#0계의 익스팬더는, 다른계의 익스팬더가 고장나 있으므로, DE의 입력 포트의 한쪽이 절단 상태라고 통지한다. 통지를 수취하거나 혹은 SAS 경로의 절단을 검출한 DE#00과 DE#02의 익스팬더는, 각각 계간 SAS 경로(702)의 접속을 행한다. 이 경우, 도 12에 도시하는 바와 같이, 각각의 계간 SAS 경로(702)가 접속되었다고 해도, SAS 경로에 루프가 발생하는 일은 없다.
이어서, 동일한 DE간의 양계 2경로 절단에 대해서, 도 13을 참조하여 설명한다. 동일한 DE간의 양계 2경로 절단의 일례로서, 도 13에서는, EXP#0계와 EXP#1계의 양계의, DE#00과 DE#01 사이의 SAS 경로가 절단되어 있다. 이 경우, 도 13에 도시하는 바와 같이, DE#01보다 하위의 SAS 익스팬더에 대해서는, 액세스 불가능으로 된다. 따라서, 이 경우에는, SAS 익스팬더는, BC(CHG)를 발행하고, 컨트롤러(105)에 통지를 행함으로써 대처한다.
이어서, 상이한 DE간의 양계 2경로 절단에 대해서, 도 14 및 도 15를 참조하여 설명한다. 도 14에서는, 상이한 DE간의 양계 2경로 절단의 일례로서, EXP#1계의, DE#00과 DE#01 사이의 SAS 경로 및 EXP#0계의, DE#01과 DE#02 사이의 SAS 경로가 절단되어 있다. 이때, SAS 경로의 절단을 검출한 DE#00, DE#01 및 DE#02의 익스팬더는, 각각 계간 SAS 경로(702)의 접속을 행한다. 이 경우, 도 14에 도시하는 바와 같이, 각각의 계간 SAS 경로(702)가 접속되었다고 해도, SAS 경로에 루프가 발생하는 일은 없다.
도 15에서는, 상이한 DE간의 양계 2경로 절단의 일례로서, EXP#1계의, DE#00과 DE#01 사이의 SAS 경로 및 EXP#0계의, DE#02와 DE#03 사이의 SAS 경로가 절단되어 있다. 이때, SAS 경로의 절단을 검출한 DE#00, DE#01, DE#02 및 DE#03의 익스팬더는, 각각 계간 SAS 경로(702)의 접속을 행한다. 이 경우에는, 도 15의 (a)에 도시하는 바와 같이 SAS 경로에 루프가 발생한다. 따라서, 루프의 발생을 방지하기 위해서, 본 실시 형태에서는, 도 15(b)에 도시하는 바와 같이, DE#02의 계간 SAS 경로(702)의 접속은 행하지 않도록 한다.
이상과 같이 SAS 경로의 절단이 발생된 장소·개수에 따라, SAS 익스팬더가 계간 SAS 경로(702)의 접속을 행해야 하는지, 그렇지 않은지가 상이하다. 또한, 컨트롤러(105)에 대하여 SAS 경로 절단이 발생된 것을 통지해야 하는지 여부도 상이하다. 본 실시 형태에서는, 계간 SAS 경로(702)의 접속을 행할지 여부, 컨트롤러(105)에 대하여 SAS 경로 절단이 발생된 것을 통지할지 여부는, DE간에서 통지를 행하여 SAS 경로의 접속 상태를 파악함으로써, 컨트롤러(105)의 관여 없이 DE만으로 판단한다.
컨트롤러(105)에 대하여 SAS 경로 절단이 발생된 것을 통지할지 여부는, 이하와 같이 판정한다.
도 9에 도시한 케이스와 같이, 최상위 DE(컨트롤러(105)와 직결되는 DE)가 상위측 SAS 경로의 접속 상태의 변화를 검출한 경우, 최상위 DE는 계간 SAS 경로(702)의 접속은 행하지만, BC(CHG)에 의한 통지는 행하지 않는다. 왜냐하면, 컨트롤러(105)는 SAS 경로의 접속 상태의 변화를 바로 인식할 수 있기 때문이다.
또한, 기억 장치에 접속하는 Phy(303)에서 경로의 변화를 검출한 경우에는, SAS 익스팬더는 BC(CHG)를 발행한다. 그것에 대하여, 상위 또는 하위의 SAS 익스팬더에 접속하는 Phy(303)에서 경로 변화를 검출한 경우에는, 익스팬더는 BC(CHG)의 발행을 행하지 않는다. 단, 이하의 경우에는, 컨트롤러(105)도 포함하여 디스커버리를 다시 하고, 접속의 컨피규레이션의 재구축이 필요로 되기 때문에, BC(CHG)가 발행된다. 즉, SAS 경로가 복구된 경우에, 이전 접속되었던 익스팬더의 SAS 어드레스와 상이한 SAS 어드레스의 익스팬더가 접속된 경우 및 도 13에 도시하는 바와 같은, 양쪽 익스팬더의 SAS 출력 포트가 절단된 경우이다.
SAS 경로의 접속 상태의 변화를 검출한 SAS 익스팬더가, 계간 SAS 경로(702)의 접속을 행할지 여부는, 이하와 같이 판정한다.
도 10이나 도 14에 도시하는 바와 같이, 어떤 DE에 직접 접속되는 상위측의 SAS 경로 중 어느 하나, 및 그 DE에 직접 접속되는 하위측의 SAS 경로 중 어느 하나가 절단한 경우에는, 계간 SAS 경로(702)를 접속했다고 해도 루프는 발생하지 않는다.
그러나, 도 11이나 도 15에 도시하는 바와 같이, 절단이 발생한 한쪽의 SAS 경로에 대하여 2개 이상의 DE를 사이에 두고, 절단이 발생된 다른 쪽의 SAS 경로가 존재하는 경우에는, 루프가 발생한다. 이 경우, 상위측에 계간 SAS 경로(702)의 접속이 있는 경우에는, 절단을 검출한 하위측의 DE의 계간 SAS 경로(702)를 접속하지 않음으로써 루프의 발생을 방지한다.
루프의 발생을 방지하기 위해서, 구체적으로는, SAS 익스팬더는 이하의 수순으로 계간 SAS 경로(702)의 논리적 접속을 행한다. 즉, 계간 SAS 경로(702)를 접속하는 경우에는, SAS 익스팬더는, 전체 DE의 익스팬더에 대하여 계간 SAS 경로(702)의 접속을 행하는 것을 통지한다. 통지 타이밍에 대해서는, 계간 SAS 경로(702)를 접속한 후에 통지를 하는 것에서는, 루프가 발생되어 버리므로, 접속 전에 접속 후보의 SAS 익스팬더가 통지를 행한다. 그리고, 통지에 관한 전체 DE의 익스팬더로부터의 응답을 대기하여, 접속 후보의 SAS 익스팬더는, 실제의 계간 SAS 경로(702)의 논리적인 접속을 행한다.
본 실시 형태에서는, 상기와 같이 루프 접속의 고려를 행하지만, 절단된 경로가 돌연히 복구되는 경우도 생각된다. 그로 인해, SAS 익스팬더는, 루프를 검출해도 내부 테이블(라우팅 테이블)에는 변경을 가하지 않고, 루프로서 취급하지 않음으로써, 컨트롤러(105)로부터의 커맨드를 정상적으로 전송할 수 있게 한다.
이어서, 루프 회피를 위한 처리에서 사용하는 데이터 구조와 통지 정보에 대하여 설명한다. 즉, 도 16 내지 도 20을 참조하여, 익스팬더 접속 관리 테이블, 접속 익스팬더 SAS 어드레스 관리 테이블, 익스팬더 접속 통지 정보, 익스팬더 접속 응답 정보 및 계간 접속 매트릭스에 대하여 설명한다. 또한, 이하의 설명에서는, 상위측의 장치에 접속되는 SAS 익스팬더의 포트를 입력 포트, 하위측의 장치에접속되는 SAS 익스팬더의 포트를 출력 포트라고 기재하는 경우가 있다. 또한, 어떤 익스팬더가 소속되는 DE를 자 DE라고 기재하는 경우가 있다
도 16은, 본 실시 형태에 따른 익스팬더 접속 관리 테이블의 데이터 구조를 나타낸다. SAS 익스팬더 접속 관리 테이블은, 익스팬더의 메모리(302)에 기억된다.
익스팬더 접속 관리 테이블은, 스토리지 시스템에 접속되는 각 익스팬더의 입력 포트의 상태와 계간 SAS 경로(702)의 접속 상태를 나타내는 테이블이다. 구체적으로는, 익스팬더 접속 관리 테이블은, DE-ID(61), EXP#0 SAS 어드레스(62), EXP#1 SAS 어드레스(63), EXP#0 입력 포트 상황(64), EXP#1 입력 포트 상황(65) 및 계간 SAS 경로 상황(66)의 데이터 항목을 포함한다.
DE-ID(61)은, DE에 컨트롤러(105)에 의해 일의적으로 할당되는 식별 번호이다. EXP#0 SAS 어드레스(62)는 DE-ID(61)의 EXP#0계의 SAS 익스팬더의 SAS 어드레스이다. EXP#1 SAS 어드레스(63)는 DE-ID(61)의 EXP#1계의 SAS 익스팬더의 SAS 어드레스이다. EXP#0 입력 포트 상황(64)은 DE-ID(61)의 EXP#0계의 SAS 익스팬더의 입력 포트에 접속되는 SAS 경로가 접속 상태인지 절단 상태인지를 나타낸다. EXP#1 입력 포트 상황(65)은 DE-ID(61)의 EXP#1계의 SAS 익스팬더의 입력 포트에 접속되는 SAS 경로가 접속 상태인지 절단 상태인지를 나타낸다. 계간 SAS 경로 상황(66)은 DE-ID(61)의 계간 SAS 경로(702)가 접속 상태인지 절단 상태인지를 나타낸다.
예를 들어, 도 16에서는, DE-ID「0x00」으로 표시되는 DE는, SAS 어드레스가 「ADR000」인 EXP#0계의 SAS 익스팬더와, SAS 어드레스가 「ADR001」인 EXP#1계의 SAS 익스팬더를 갖는다. 그리고, EXP#0계 및 EXP#1계의 SAS 익스팬더의 입력 포트의 상태는 「접속」 상태이며, 계간 SAS 경로(702)의 상태는 「절단」 상태로 되어 있다.
또한, 최하단의 DE는 출력 포트가 절단 상태인 것이 정상 상태이므로, 익스팬더 접속 관리 테이블에서는, 입력 포트의 접속 상황을 관리한다.
도 17은, 본 실시 형태에 따른, 접속 익스팬더 SAS 어드레스 관리 테이블의 데이터 구조의 일례를 도시하는 도면이다. 접속 익스팬더 SAS 어드레스 관리 테이블은, SAS 익스팬더의 메모리(302)에 저장된다.
접속 익스팬더 SAS 어드레스 관리 테이블은, DE 내의 SAS 익스팬더의 입력 포트 및 출력 포트에 접속되는 SAS 익스팬더의 SAS 어드레스를 나타내는 테이블이다. 접속 익스팬더 SAS 어드레스 관리 테이블은, EXP#0 입력 포트 접속 SAS 어드레스(71), EXP#0 출력 포트 접속 SAS 어드레스(72), EXP#1 입력 포트 접속 SAS 어드레스(73), EXP#1 출력 포트 접속 SAS 어드레스(74)의 데이터 항목을 포함한다.
EXP#0 입력 포트 접속 SAS 어드레스(71)는 익스팬더가 소속되는 DE의 EXP#0계의 입력 포트에 접속되는 SAS 익스팬더의 어드레스이다. EXP#0 출력 포트 접속 SAS 어드레스(72)는 익스팬더가 소속되는 DE의 EXP#0계의 출력 포트에 접속되는 SAS 익스팬더의 어드레스이다. EXP#1 입력 포트 접속 SAS 어드레스(73)는 익스팬더가 소속되는 DE의 EXP#1계의 입력 포트에 접속되는 SAS 익스팬더의 어드레스이다. EXP#1 출력 포트 접속 SAS 어드레스(74)는 익스팬더가 소속되는 DE의 EXP#1계의 출력 포트에 접속되는 SAS 익스팬더의 어드레스이다.
예를 들어, 도 17에서는, 익스팬더가 소속되는 DE의 EXP#0계의 입력 포트에 접속되는 SAS 익스팬더의 어드레스가, 「INADR0」이다. 익스팬더가 소속되는 DE의 EXP#0계의 출력 포트에 접속되는 SAS 익스팬더의 어드레스가, 「OUTADR0」이다. 익스팬더가 소속되는 DE의 EXP#1계의 입력 포트에 접속되는 SAS 익스팬더의 어드레스가 「INADR1」이다. 익스팬더가 소속되는 DE의 EXP#1계의 출력 포트에 접속되는 SAS 익스팬더의 어드레스가, 「OUTADR1」이다.
도 18은, 익스팬더 접속 통지 정보의 일례를 도시하는 도면이다.
익스팬더 접속 통지 정보는, 자 DE의 접속 상태를 상이한 DE에 통지하기 위해서 사용된다. 익스팬더 접속 통지 정보는, DE-ID(81), EXP#0 SAS 어드레스(82), EXP#1 SAS 어드레스(83), EXP#0 입력 포트 상황(84), EXP#1 입력 포트 상황(85) 및 계간 SAS 경로 동작(86)의 데이터 항목을 포함한다.
DE-ID(81)는, DE에 일의적으로 할당된 식별 번호이다. EXP#0 SAS 어드레스(82)는 DE-ID(81)의 EXP#0계의 SAS 익스팬더의 SAS 어드레스이다. EXP#1 SAS 어드레스(83)는 DE-ID(81)의 EXP#1계의 SAS 익스팬더의 SAS 어드레스이다. EXP#0 입력 포트 상황(84)은 DE-ID(81)의 EXP#0계의 SAS 익스팬더의 입력 포트에 접속되어 있는 SAS 경로가 접속 상태인지 절단 상태인지를 나타낸다. EXP#1 입력 포트 상황(85)은 DE-ID(81)의 EXP#1계의 SAS 익스팬더의 입력 포트에 접속되어 있는 SAS 경로가 접속 상태인지 절단 상태인지를 나타낸다. 계간 SAS 경로 동작(86)은 DE-ID(81)의 계간 SAS 경로(702)를 접속 상태로 할지 여부를 나타낸다.
예를 들어, 도 18은, DE#01이, 상이한 DE에 대하여 자 DE의 접속 상태를 통지하는 경우에 발행되는 익스팬더 접속 통지 정보의 예를 나타낸다. DE-ID 「0x01」로 표시되는 DE는, SAS 어드레스가 「ADR010」인 EXP#0계의 SAS 익스팬더와, SAS 어드레스가 「ADR011」인 EXP#1계의 SAS 익스팬더를 갖는다. 그리고, EXP#0계 및 EXP#1계의 SAS 익스팬더의 입력 포트의 상태는 「접속」 상태이며, 계간 SAS 경로(702)의 상태는 「절단」 상태로 하는 것을 나타낸다.
도 19는, 익스팬더 접속 응답 정보의 일례를 도시하는 도면이다.
익스팬더 접속 응답 정보는, 접속 통지 정보에 대한 응답으로서 발행되는 정보이며, 자 DE의 접속 상태를 통지하기 위해서 사용된다. 익스팬더 접속 통지 정보는, DE-ID(91), EXP#0 SAS 어드레스(92), EXP#1 SAS 어드레스(93), EXP#0 입력 포트 상황(94), EXP#1 입력 포트 상황(95) 및 계간 SAS 경로 상황(96)의 데이터 항목을 포함한다.
DE-ID(91)는, DE에 일의적으로 할당된 식별 번호이다. EXP#0 SAS 어드레스(92)는 DE-ID(91)의 EXP#0계의 SAS 익스팬더의 SAS 어드레스이다. EXP#1 SAS 어드레스(93)는 DE-ID(91)의 EXP#1계의 SAS 익스팬더의 SAS 어드레스이다. EXP#0 입력 포트 상황(94)은 DE-ID(91)의 EXP#0계의 SAS 익스팬더의 입력 포트에 접속되어 있는 SAS 경로가 접속 상태인지 절단 상태인지를 나타낸다. EXP#1 입력 포트 상황(95)은 DE-ID(91)의 EXP#1계의 SAS 익스팬더의 입력 포트에 접속되어 있는 SAS 경로가 접속 상태인지 절단 상태인지를 나타낸다. 계간 SAS 경로 상황(96)은 DE-ID(91)의 계간 SAS 경로(702)가 접속 상태인지 여부를 나타낸다.
예를 들어, 도 19는, DE#02가 자 DE의 접속 상태를 응답할 경우에 발행되는 익스팬더 접속 응답 정보의 일례를 나타낸다. DE-ID 「0x01」로 표시되는 DE는, SAS 어드레스가 「ADR010」인 EXP#0계의 SAS 익스팬더와, SAS 어드레스가 「ADR011」인 EXP#1계의 SAS 익스팬더를 갖는다. 그리고, EXP#0계 및 EXP#1계의 SAS 익스팬더의 입력 포트의 상태는 「접속」 상태이며, 계간 SAS 경로(702)의 상태는 「절단」 상태인 것을 나타낸다.
도 20은, 계간 접속 매트릭스의 일례를 도시하는 도면이다. 또한, 이하의 설명에 있어서, 계간 SAS 경로(702)를 유효하게 하는 동작을, 계간 접속한다고 기재하는 경우가 있다. 또한, 계간 SAS 경로(702)를 무효로 하는 동작을, 계간 절단한다고 기재하는 경우가 있다.
계간 접속 매트릭스는, 입력 포트 또는 출력 포트의 접속 상태에 있어서 변화가 검출된 경우, 익스팬더가 계간 SAS 경로(702)를 유효하게 할지 여부를 결정하기 위해서 사용된다. 계간 SAS 경로(702)를 유효하게 할지 여부의 결정 결과는, 자 DE의 양쪽 익스팬더의 입력 포트와 출력 포트의 접속 상태 및 다른 DE의 계간 SAS 경로(702)의 접속 상태에 따라서 상이하다.
계간 접속 매트릭스는, DE의 입력 포트(251)의 접속 상태를 나타내는 열 항목, 즉, 양쪽 접속, 한쪽 절단, 양쪽 절단의 항목과, DE의 출력 포트(252)의 접속 상태를 나타내는 행 항목, 즉, 양쪽 접속, 한쪽 절단, 양쪽 절단의 항목으로 구성된다. 그리고, 각각의 입력 포트와 출력 포트의 상태의 조합에 있어서, 익스팬더가 계간 SAS 경로(702)를 유효하게 할지 여부의 판정 결과가 나타난다.
여기서, 입력 포트의 상태가 양쪽 접속의 상태라는 것은, 자 DE의 양쪽의 익스팬더의 입력 포트가 접속되어 있는 상태를 가리킨다. 또한, 입력 포트의 상태가 한쪽 절단의 상태라는 것은, 자 DE의 한쪽의 익스팬더의 입력 포트가 절단되어 있는 상태를 가리킨다. 또한, 입력 포트의 상태가 양쪽 절단의 상태라는 것은, 자 DE의 양쪽의 익스팬더의 입력 포트가 절단되어 있는 상태를 가리킨다. 출력 포트에 있어서의 양쪽 접속, 한쪽 절단, 양쪽 절단의 상태도, 입력 포트와 마찬가지의 뜻이다.
입력 포트의 상태가 양쪽 접속이며, 출력 포트의 상태가 양쪽 접속인 경우, 익스팬더는, 계간 SAS 경로(702)를 무효로 한다(계간 절단)고 결정한다. 입력 포트의 상태가 양쪽 접속이며, 출력 포트의 상태가 한쪽 절단인 경우, 익스팬더는, 루프 체크를 행하고, 그 결과에 따라서 계간 SAS 경로(702)를 유효하게 할지 여부를 결정한다. 루프 체크에 대해서는, 나중에 설명한다. 입력 포트의 상태가 양쪽 접속이며, 출력 포트의 상태가 양쪽 절단인 경우도, 익스팬더는, 루프 체크를 행하고, 그 결과에 따라서 계간 SAS 경로(702)를 유효하게 할지 여부를 결정한다. 입력 포트의 상태가 한쪽 절단인 경우에는, 출력 포트의 상태의 여하에 관계없이, 익스팬더는, 계간 SAS 경로(702)를 유효하게 한다(계간 접속)고 결정한다. 입력 포트의 상태가 양쪽 절단인 경우에는, 출력 포트의 상태의 여하에 관계없이, 익스팬더는, 계간 SAS 경로(702)를 무효로 한다(계간 절단)고 결정한다.
이어서, 계간 접속 매트릭스의 판정에 있어서, 익스팬더가 행하는 루프 체크에 대해 설명한다.
도 21은, 루프 체크에 있어서의 익스팬더의 동작 플로우도를 나타낸다.
루프 체크에서는, 확인 DE-ID라고 하는 변수가 일시 변수로서 사용된다. 또한, 루프 체크에서는, DE에 일의적으로 할당된 식별 번호인 DE-ID가 사용된다. 본 실시 형태에서는, DE-ID는 이하와 같이 할당된다. 즉, 컨트롤러(105)에 직접 접속되어 있는 DE(최상위 DE)의 DE-ID는 0이라고 하고, 최상위 DE에 접속되어 있는 DE의 DE-ID를 1이라고 한다. 이하, 하위의 DE의 DE-ID는, 직접 접속되어 있는 상위 DE의 DE-ID에 1 더한 값으로 되도록 ID가 할당된다.
루프 체크에서는, 우선, 확인 DE-ID에, 자 DE의 DE-ID로부터 1을 뺀 값이 대입된다(S1). 이어서, 확인 DE-ID가 0 미만인지 여부가 판정된다(S2). 확인 DE-ID가 0 미만인 경우(S2에서 예), 자 DE의 계간 SAS 경로(702)는 유효하게 하도록(계간 접속) 결정된다(S3). 확인 DE-ID가 0 이상인 경우(S2에서 아니오), 확인 DE-ID의 DE의 계간 SAS 경로(702)가 접속중인지 여부가 판정된다(S4). 구체적으로는, 익스팬더 접속 관리 테이블에 있어서, 확인 DE-ID와 일치하는 DE-ID(61)에 대응하는 계간 SAS 경로 상황(67)의 정보가 참조되고, DE의 계간 SAS 경로(702)가 접속중인지 여부가 판정된다. 판정의 결과, 접속중이면(S4에서 예), 자 DE의 계간 SAS 경로(702)는 무효로 하도록(계간 절단) 결정된다(S5). 반대로 판정의 결과가 접속중이 아니면(S4에서 아니오), 확인 DE-ID의 값에서 1을 뺀다(S6). 그리고, S2 내지 S6의 처리를 반복한다.
이어서, SAS 경로의 접속 상태의 변화가 발생되고, 익스팬더가 SAS 경로의 접속 상태의 변화를 검출한 경우의, 스토리지 시스템 전체의 동작의 흐름에 대하여 설명한다.
도 22는, 본 실시 형태의 일례로서의 SAS 입출력 포트의 상태 변화시의 스토리지 시스템 전체의 동작 플로우도를 나타낸다. 도 22에서는, SAS 입출력 포트의 상태의 변화를 검출한 DE의 익스팬더(이하, 「변화 검출 익스팬더」라고 기재함)의 동작과, 그 밖의 DE의 익스팬더(이하, 「기타 익스팬더」라고 기재함)의 동작의 관계성도 나타내고 있다. 또한, 도 22의 플로우도는, 최상위 DE 이외의 DE에 대한 동작 플로우를 나타낸다.
스토리지 시스템(100)의 익스팬더가, SAS 입력 포트 또는 SAS 출력 포트의 변화를 검출하면(S11), 계간 접속 매트릭스에 따라, 계간 SAS 경로(702)를 유효하게 할지 여부를 결정한다(S12). 또한, S12에서는, 계간 SAS 경로(702)를 유효하게 할지 여부를 「결정」할 뿐이며, 실제의 동작은 나중에 행한다. 이어서, 변화 검출 익스팬더는, 스토리지 시스템(100)에 접속되어 있는 모든 익스팬더에 대하여 자 DE의 SAS 포트의 상태와 S12에서 결정한 동작을, 익스팬더 접속 통지 정보를 사용하여 통지한다(S13).
그 밖에 DE의 익스팬더는, 익스팬더 접속 통지 정보에 의한 통지를 수신하면(S14), 계간 접속 매트릭스에 따라, 계간 SAS 경로(702)를 유효하게 할지 여부를 결정한다(S15). 그리고, 기타 DE의 익스팬더는, 익스팬더 접속 통지 정보의 발행원에 대하여 익스팬더 접속 응답 정보를 사용하여, 자 DE의 접속 상태를 통지한다(S16).
스토리지 시스템(100)에 접속되어 있는 모든 익스팬더로부터의 응답을 수신하면, 변화 검출 익스팬더는, 익스팬더 접속 관리 테이블을 갱신하여, S12에서 결정한 동작을 실행한다(S17). 또한, S17에 있어서 익스팬더로부터 응답을 수신하는 동작은, 통신 상태 취득부(3)가 통신 상태를 취득하는 동작의 일례로서 들 수 있다.
이어서, 도 22에 도시한, SAS 입력 포트 또는 SAS 출력 포트의 변화를 검출했을 때의 변화 검출 익스팬더의 처리의 상세를, 도 23에 도시하는 플로우도에 따라서 설명한다.
우선, 스토리지 시스템(100)의 익스팬더가, SAS 입력 포트 또는 SAS 출력 포트의 변화를 검출하면( ), 변화 검출 익스팬더는, 자 DE에 DE-ID가 설정되어 있는지 여부를 판정한다(S102).
자 DE에 DE-ID가 설정되어 있지 않은 경우(S102에서 예), 변화 검출 익스팬더는, 익스팬더 접속 관리 테이블의 변화를 검출한 필드를 갱신하고(S103), BC(CHG)의 발행을 행한다(S104). 이 경우, 변화 검출 익스팬더는, 계간 SAS 경로(702)의 접속은 행하지 않는다. 자 DE에 DE-ID가 설정되어 있지 않으면 DE의 위치를 모르기 때문에, 익스팬더는 SAS 루프의 판단을 할 수 없기 때문이다.
자 DE에 DE-ID가 설정되어 있는 경우(S102에서 아니오)에는, 변화 검출 익스팬더는, 계간 접속 매트릭스에 따라, 계간 SAS 경로(702)의 접속을 행할지 여부를 결정한다(S105).
이어서, 변화 검출 익스팬더는, S101에서 검출한 변화는, 입력 포트에서 검출한 상태의 변화인지, 출력 포트에서 검출한 상태의 변화인지를 판정한다(S106).
S101에서 검출한 변화가, 입력 포트에서 검출한 변화의 경우(S106에서 예), 변화 검출 익스팬더는, 스토리지 시스템(100)에 접속되어 있는 모든 익스팬더에 대하여 SAS 포트의 상태와 동작을 통지한다(S110). 통지는, 변화 검출 익스팬더가 익스팬더 접속 통지 정보를 발행함으로써 행해진다. 여기서, 익스팬더 접속 통지 정보의 계간 SAS 경로 동작(86)에는, S105에서 결정된 동작이 저장된다. 또한, 접속 통지 정보는, 상이한 DE의 익스팬더간은, SAS 경로를 통해서 전달되고, DE 내의 SAS 익스팬더간은, 계간 통신 경로(701)를 통해서 전달된다. 통지 정보를 수신한 익스팬더의 동작은, 나중에 설명한다.
통지한 모든 익스팬더로부터 응답이 돌아오면, 변화 검출 익스팬더는, 자 DE의 상태 및 응답의 결과를, 익스팬더 접속 관리 테이블에 반영하고, S105에서 결정한 계간 SAS 경로(702)의 접속 동작을 실행한다(S111). 응답의 결과를 익스팬더 접속 관리 테이블에 반영하는 동작은, 구체적으로는 이하와 같이 된다. 수신한 익스팬더 접속 응답 정보의 DE-ID(91)로 표시되는 번호와 일치하는, 익스팬더 접속 관리 테이블의 DE-ID(61)의 행으로, 수신한 익스팬더 접속 응답 정보의 내용을 갱신한다. 즉, 변화 검출 익스팬더는, EXP#0 SAS 어드레스(92)의 정보를 EXP#0 SAS 어드레스(62)에, EXP#1 SAS 어드레스(93)의 정보를 EXP#1 SAS 어드레스(63)에 반영한다. 또한, 변화 검출 익스팬더는, EXP#0 입력 포트 상황(94)의 정보를 EXP#0 입력 포트 상황(64)에, EXP#1 입력 포트 상황(95)의 정보를 EXP#1 입력 포트 상황(65)에, 계간 SAS 경로 상황(96)의 정보를 계간 SAS 경로 상황(66)에 반영한다.
이어서, BC(CHG) 발행 체크의 결과에 따라, 변화 검출 익스팬더는, BC(CHG)의 발행을 행한다(S112). BC(CHG) 발행 체크에 대해서는, 나중에 설명한다.
S101에서 검출한 변화가, 출력 포트에서 일어난 변화인 경우(S106에서 아니오), 변화 검출 익스팬더는, 출력 포트의 변화가, 「한쪽 절단」 또는 「양쪽 접속」 상태로부터, 「양쪽 절단」의 상태로 된 변화인지 여부를 판정한다(S107). 「한쪽 절단」으로부터 「양쪽 절단」의 상태로 된 변화, 혹은, 「양쪽 접속」으로부터 「양쪽 절단」의 상태로 된 변화인 경우에는(S107로 예), S110으로 처리가 이행된다. 이 분기에 의해, 변화를 검출한 포트가 출력 포트인 경우, 필요할 때(하위의 DE가 없어지고, 통지를 행하는 익스팬더가 없어진 경우)만 다른 DE에의 통지를 행하도록 함으로써, 경로 절단을 검출한 상하의 DE가 서로 통지하는 것을 방지한다.
한편, S101에서 검출한 출력 포트의 변화가, 「한쪽 절단」으로부터 「양쪽 절단」의 상태로 된 변화, 「양쪽 접속」으로부터 「양쪽 절단」의 상태로 된 변화 중 어느 쪽의 변화도 아닌 경우에는(S107에서 아니오), 변화 검출 익스팬더는, 이하의 동작을 실행한다. 즉, 변화 검출 익스팬더는, 자 DE의 상태를 익스팬더 접속 관리 테이블에 반영하여, S105에서 결정한 동작을 실행한다(S108).
이어서, S101에서 검출한 출력 포트의 변화가, 「양쪽 절단」으로부터 「한쪽 절단」으로 된 변화, 혹은, 「양쪽 절단」으로부터 「양쪽 접속」으로 된 변화인지 여부를 판정한다(S109). 「양쪽 절단」으로부터 「한쪽 절단」, 혹은, 「양쪽 절단」으로부터 「양쪽 접속」으로 된 변화인 경우(S109에서 예), 처리는, S113로 천이된다. 이 분기에 의해, 하위의 DE가 접속되게 된 경우, 변화 검출 익스팬더는 양쪽 절단과 마찬가지로 BC(CHG) 발행을 행할 필요가 있지만, 통지를 행하는 익스팬더는 존재하기 때문에, BC(CHG)의 발행만을 행한다.
한편, S101에서 검출한 출력 포트의 변화가, 「양쪽 절단」으로부터 「한쪽 절단」으로 된 변화, 「양쪽 절단」으로부터 「양쪽 접속」으로 된 변화 중 어느 쪽의 변화도 아닌 경우에는(S109에서 아니오), 처리가 종료된다.
이어서, BC(CHG) 발행 체크의 동작에 대해서, 도 24를 참조하여 설명한다. BC(CHG) 발행 체크에서는, 변화 검출 익스팬더가, BC(CHG) 커맨드를 발행할지 여부를 결정하기 위한 처리이다. 도 23의 S112에 있어서, 처리가 실시되고, BC(CHG) 발행 체크의 결과에 기초하여, 변화 검출 익스팬더는, BC(CHG)를 발행한다.
도 24는, 본 실시 형태의 일례로서의, BC(CHG) 발행 체크의 동작 플로우도를 나타낸다. 변화 검출 익스팬더는, S101에서 검출한 포트의 변화가, 출력 포트의 「접속」 상태가 「절단」 상태로 된 변화이며, 또한, 자 DE의 양계 익스팬더의 출력 포트가 절단 상태로 된 변화인지 여부를 판정한다(S201). S101에서 검출한 포트의 변화가, 출력 포트의 「접속」 상태가 「절단」 상태로 된 변화이며, 또한, 자 DE의 양계 익스팬더의 출력 포트가 절단 상태로 된 변화인 경우, 변화 검출 익스팬더는, BC(CHG)를 발행한다고 결정한다(S202). 그렇지 않은 경우, 변화 검출 익스팬더는, S101에서 검출한 포트의 변화가, 「절단」으로부터 「접속」으로의 변화인지 여부를 판정한다(S203).
「절단」으로부터 「접속」으로의 변화가 아닌 경우, 변화 검출 익스팬더는, BC(CHG)를 발행하지 않는다고 결정한다(S204). 한편, 「절단」으로부터 「접속」으로의 변화인 경우, 변화 검출 익스팬더는, 접속된 익스팬더의 SAS 어드레스가 이전과 상이한지 여부를 판정한다(S205). 구체적으로는, 변화 검출 익스팬더는, 접속 익스팬더 SAS 어드레스 관리 테이블에 등록되어 있는 SAS 어드레스(71 내지 74))와, 접속된 익스팬더의 SAS 어드레스를 비교하여, 비교 결과가 일치하지 않으면 SAS 어드레스가 이전과 상이하다고 판정한다.
SAS 어드레스가 이전과 상이한 경우에는, 변화 검출 익스팬더는, BC(CHG)를 발행한다고 결정한다(S206). SAS 어드레스가 이전과 동일한 경우에는, 변화 검출 익스팬더는, BC(CHG)를 발행하지 않는다고 결정한다(S207).
이어서, 익스팬더 접속 통지 정보 수신시의 동작에 대해서, 도 25를 참조하여 설명한다.
도 25는, 본 실시 형태의 일례로서, 익스팬더 접속 통지 정보 수신시의 동작 플로우를 나타낸다. 또한, 설명의 편의상, 이하에서는, 익스팬더 접속 통지 정보를 수신한 익스팬더를 수신 익스팬더라고 기재한다.
우선, 익스팬더 접속 통지 정보를 수신하면(S301), 수신 익스팬더는, 자 DE에 DE-ID가 설정되어 있는지 여부를 판정한다(S302).
자 DE에 DE-ID가 설정되어 있는 경우(S302에서 아니오), 수신 익스팬더는, 계간 접속 매트릭스에 따라, 계간 SAS 경로(702)를 유효하게 할지 여부를 결정한다(S303). 또한, S303에 있어서의 결정은, 수신한 접속 통지 정보의 내용을 반영한 후에 행해진다. 그리고, 수신 익스팬더는, 수신한 익스팬더 접속 통지 정보의 내용 및 S303의 결정에 기초하여, 익스팬더 접속 관리 테이블을 갱신하고, 또한, S303의 결정 결과를 실행한다(S304). 수신한 익스팬더 접속 통지 정보의 내용에 기초한 익스팬더 접속 관리 테이블의 갱신은, 구체적으로는 이하와 같이 된다. 즉, 수신 익스팬더는, 수신한 익스팬더 접속 통지 정보의 DE-ID(81)로 표시되는 번호와 일치하는, 익스팬더 접속 관리 테이블의 DE-ID(61)의 행으로, 수신한 익스팬더 접속 통지 정보의 내용을 갱신한다. 수신 익스팬더는, EXP#0 SAS 어드레스(82)의 정보를 EXP#0 SAS 어드레스(62)에, EXP#1 SAS 어드레스(83)의 정보를 EXP#1 SAS 어드레스(63)에 반영한다. 또한, 수신 익스팬더는, EXP#0 입력 포트 상황(84)의 정보를 EXP#0 입력 포트 상황(64)에, EXP#1 입력 포트 상황(85)의 정보를 EXP#1 입력 포트 상황(65)에, 계간 SAS 경로 동작(86)의 정보를 계간 SAS 경로 상황(66)에 반영한다.
그 후, 수신 익스팬더는, 자 DE의 접속 상태를 익스팬더 접속 응답 정보로, 익스팬더 접속 통지 정보의 송신원에 대하여 응답한다(S305). 또한, 익스팬더 접속 응답 정보는, 상이한 DE의 익스팬더간은, SAS 경로를 통해서 전달되고, 동일 DE 내의 SAS 익스팬더간은, 계간 통신 경로(701)를 통해서 전달된다.
자 DE에 DE-ID가 설정되어 있지 않은 경우(S302에서 예), 수신 익스팬더는, 계간 SAS 경로(702)는 절단한 상태로, 수신한 익스팬더 접속 통지 정보의 내용을 익스팬더 접속 관리 테이블에 반영한다(S306). 구체적으로는, 수신 익스팬더는, 수신한 익스팬더 접속 통지 정보의 DE-ID(81)로 표시되는 번호와 일치하는, 익스팬더 접속 관리 테이블의 DE-ID(61)의 행으로, 수신한 익스팬더 접속 통지 정보의 내용을 갱신한다. 계간 SAS 경로(702)는 접속하지 않는 이유는, DE-ID가 설정되어 있지 않으면 DE의 위치를 모르기 때문에, SAS 루프의 판단을 할 수 없기 때문이다. 그 후, S305로 처리가 천이된다.
이어서, 수신 익스팬더는, S304에 있어서 자 DE의 계간 SAS 경로(702)의 상태가 변화되었는지 여부를 판정한다(S307). 계간 SAS 경로(702)의 상태가 변화되지 않은 경우, 처리는 종료된다.
한편, 계간 SAS 경로(702)의 상태가 변화된 경우, 수신 익스팬더는, 스토리지 시스템(100)에 접속되어 있는 모든 익스팬더에 대하여 SAS 포트의 상태와 동작을 통지한다(S308). 통지는, 수신 익스팬더가 익스팬더 접속 통지 정보를 발행함으로써 행해진다. 여기서, 익스팬더 접속 통지 정보의 계간 SAS 경로 동작(86)에는, S303에서 결정된 동작이 저장된다. 또한, 익스팬더 접속 통지 정보는, 상이한 DE의 익스팬더간은, SAS 경로를 통해서 전달되고, DE 내의 SAS 익스팬더간은, 계간 통신 경로(701)를 통해서 전달된다. 여기서 발행된 통지 정보를 수신한 익스팬더의 동작도, 도 25에 도시하는 동작 플로우에 따른다.
통지한 모든 익스팬더로부터 응답이 돌아오면, 수신 익스팬더는, 자 DE의 상태 및 응답의 결과를, 익스팬더 접속 관리 테이블에 반영한다(S309).
또한, 본 실시 형태는, 이상에서 설명한 실시 형태에 한정되는 것은 아니고, 본 실시 형태의 요지를 일탈하지 않는 범위 내에서 다양한 구성 또는 실시 형태를 취할 수 있다.
상기 실시 형태에 관하여, 또한 이하의 부기를 개시한다.
(부기 1)
정보 통신 장치간의 통신을 중계하는 중계 장치로서,
자장치와, 그 자장치의 전단 또는 후단에 배치되어 그 자장치와 논리적 경로로 접속되는 제1 중계 장치 사이의 제1 통신 상태의 변화를 검출하는 검출부와,
상기 자장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제2 중계 장치로부터, 그 제2 중계 장치와, 그 제2 중계 장치의 전단 또는 후단에 배치되어 그 제2 중계 장치와 논리적 경로로 접속되는 제3 중계 장치 사이의 제2 통신 상태를 취득하는 통신 상태 취득부와,
상기 검출부가 상기 제1 통신 상태의 변화를 검출한 경우, 상기 제1 및 제2 통신 상태의 조합에 따라, 상기 자장치와 상기 제2 중계 장치 사이의 논리적 경로를 유효하게 하는 경로 접속부를 구비하는 것을 특징으로 하는 중계 장치.
(부기 2)
상기 경로 접속부는,
상기 제1 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제4 중계 장치와, 상기 제1 중계 장치 사이의 제3 통신 상태에 따라, 상기 자장치와 상기 제2 중계 장치 사이의 논리적 경로를 유효하게 하는 것을 특징으로 하는 부기 1에 기재된 중계 장치.
(부기 3)
상기 정보 통신 장치간에 있어서 배치되는 제5 중계 장치에 대하여, 상기 자장치와 상기 제2 중계 장치 사이의 논리적 경로를 유효하게 한다는 취지의 통지를 발행하는 처리를 행하는 처리부를 더 구비하는 것을 특징으로 하는 부기 2에 기재된 중계 장치.
(부기 4)
상기 제5 중계 장치의 처리부는, 상기 자장치로부터, 상기 통지를 수신한 경우, 그 제5 중계 장치와, 그 제5 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제6 중계 장치 사이의 논리적 경로를 유효하게 하는 것을 특징으로 하는 부기 3에 기재된 중계 장치.
(부기 5)
상기 제1 통신 상태의 변화가 검출된 경우, 상기 제1 통신 상태의 변화에 따라, 상기 정보 통신 장치간에 있어서 배치되는 제7 중계 장치에 대하여, 그 제7 중계 장치의 전단 또는 후단에 배치되어 그 제7 중계 장치와 논리적 경로로 접속되는 제8 중계 장치와, 그 제7 중계 장치 사이의 제4 통신 상태를 수집시키는 정보 수집 요구를 발행하는 정보 수집 요구 발행부를 더 구비하는 것을 특징으로 하는 부기 1에 기재된 중계 장치.
(부기 6)
정보 통신 장치간의 통신을 중계하는 중계 장치에 있어서의 접속 관리 방법으로서,
자장치와, 그 자장치의 전단 또는 후단에 배치되어 그 자장치와 논리적 경로로 접속되는 제1 중계 장치 사이의 제1 통신 상태의 변화를 검출하고,
상기 자장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제2 중계 장치로부터, 그 제2 중계 장치와, 그 제2 중계 장치의 전단 또는 후단에 배치되어 그 제2 중계 장치와 논리적 경로로 접속되는 제3 중계 장치 사이의 제2 통신 상태를 취득하고,
상기 제1 통신 상태의 변화를 검출한 경우, 상기 제1 및 제2 통신 상태의 조합에 따라, 상기 자장치와 상기 제2 중계 장치 사이의 논리적 경로를 유효하게 하는 처리를 컴퓨터가 실행하는 것을 특징으로 하는 접속 관리 방법.
(부기 7)
상기 제1 중계 장치와, 그 제1 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제4 중계 장치 사이의 통신 상태에 따라, 상기 자장치와 상기 제2 중계 장치 사이의 논리적 경로를 유효하게 하는 처리를 컴퓨터가 실행하는 것을 특징으로 하는 부기 6에 기재된 접속 관리 방법.
(부기 8)
상기 정보 통신 장치간에 있어서 배치되는 제5 중계 장치에 대하여, 상기 자장치와 상기 제2 중계 장치 사이의 논리적 경로를 유효하게 한다는 취지의 통지를 발행하는 처리를 컴퓨터가 실행하는 것을 특징으로 하는 부기 7에 기재된 접속 관리 방법.
(부기 9)
상기 자장치로부터, 상기 통지를 수신한 경우, 상기 제5 중계 장치와, 그 제5 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제6 중계 장치 사이의 논리적 경로를 유효하게 하는 처리를 컴퓨터가 실행하는 것을 특징으로 하는 부기 8에 기재된 접속 관리 방법.
(부기 10)
상기 제1 통신 상태의 변화가 검출된 경우, 상기 제1 통신 상태의 변화에 따라, 상기 정보 통신 장치간에 있어서 배치되는 제7 중계 장치에 대하여, 그 제7 중계 장치의 전단 또는 후단에 배치되어 그 제7 중계 장치와 논리적 경로로 접속되는 제8 중계 장치와, 그 제7 중계 장치 사이의 제4 통신 상태를 수집시키는 정보 수집 요구를 발행하는 처리를 컴퓨터가 실행하는 것을 특징으로 하는 부기 6에 기재된 접속 관리 방법.
(부기 11)
정보 통신 장치간의 통신을 중계하는 복수의 중계 장치를 구비한 정보 통신 시스템으로서,
상기 복수의 중계 장치 중 제1 중계 장치는,
상기 제1 중계 장치의 전단 또는 후단에 배치되어 그 제1 중계 장치와 논리적 경로로 접속되는 제2 중계 장치와의 사이의 제1 통신 상태의 변화를 검출하는 검출부와,
상기 제1 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제3 중계 장치로부터, 상기 제3 중계 장치와, 상기 제3 중계 장치의 전단 또는 후단에 배치되어 그 제3 중계 장치와 논리적 경로로 접속되는 제4 중계 장치 사이의 제2 통신 상태를 취득하는 통신 상태 취득부와,
상기 검출부가 상기 제1 통신 상태의 변화를 검출한 경우, 상기 제1 및 제2 통신 상태의 조합에 따라, 상기 제1 중계 장치와 상기 제3 중계 장치 사이의 논리적 경로를 유효하게 하는 경로 접속부를 구비하는 것을 특징으로 하는 정보 통신 시스템.
(부기 12)
상기 경로 접속부는,
상기 제2 중계 장치와, 그 제2 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제5 중계 장치 사이의 제3 통신 상태에 따라, 상기 제1 중계 장치와 상기 제3 중계 장치 사이의 논리적 경로를 유효하게 하는 것을 특징으로 하는 부기 11에 기재된 정보 통신 시스템.
(부기 13)
상기 제1 중계 장치는,
상기 정보 통신 시스템에 있어서 배치되는 제6 중계 장치에 대하여, 그 제1 중계 장치와 상기 제3 중계 장치 사이의 논리적 경로를 유효하게 한다는 취지의 통지를 발행하는 처리를 행하는 처리부를 더 구비하는 것을 특징으로 하는 부기 12에 기재된 정보 통신 시스템.
(부기 14)
상기 제6 중계 장치의 처리부는, 상기 제1 중계 장치로부터, 상기 통지를 수신한 경우, 상기 제6 중계 장치와, 상기 제6 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제7 중계 장치 사이의 논리적 경로를 유효하게 하는 것을 특징으로 하는 부기 13에 기재된 정보 통신 시스템.
(부기 15)
상기 제1 중계 장치는,
상기 제1 통신 상태의 변화가 검출된 경우, 상기 제1 통신 상태의 변화에 따라, 상기 정보 통신 시스템에 있어서 배치되는 제8 중계 장치에 대하여, 그 제8 중계 장치의 전단 또는 후단에 배치되어 그 제8 중계 장치와 논리적 경로로 접속되는 제9 중계 장치와, 상기 제8 중계 장치 사이의 제4 통신 상태를 수집시키는 정보 수집 요구를 발행하는 정보 수집 요구 발행부를 더 구비하는 것을 특징으로 하는 부기 11에 기재된 정보 통신 시스템.
1 : 중계 장치
2 : 검출부
3 : 통신 상태 취득부
4 : 경로 접속부
5 : 처리부
6 : 정보 수집 요구 발행부

Claims (7)

  1. 정보 통신 장치간의 통신을 중계하는 중계 장치로서,
    상기 중계 장치를 나타내는 제1 중계 장치와, 상기 제1 중계 장치의 전단에 배치되어 상기 제1 중계 장치와 논리적 경로로 접속되는 제2 중계 장치 사이의 제1 통신 상태 및 상기 제1 중계 장치와, 상기 제1 중계 장치의 후단에 배치되어 상기 제1 중계 장치와 논리적 경로로 접속되는 제3 중계 장치 사이의 제2 통신 상태의 변화를 검출하는 검출부와,
    상기 제1 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제4 중계 장치로부터, 상기 제4 중계 장치와, 상기 제4 중계 장치의 전단에 배치되어 상기 제4 중계 장치와 논리적 경로로 접속되는 제5 중계 장치 사이의 제3 통신 상태 및 상기 제4 중계 장치와, 상기 제4 중계 장치의 후단에 배치되어 상기 제4 중계 장치와 논리적 경로로 접속되는 제6 중계 장치 사이의 제4 통신 상태를 취득하는 통신 상태 취득부와,
    상기 검출부가 상기 제1 통신 상태 또는 상기 제2 통신 상태의 변화를 검출한 경우에 있어서,
    (i) 상기 제1 통신 상태와 상기 제3 통신 상태의 어느 한 쪽이 이상인 경우, 또는,
    (ii) 상기 제1 통신 상태와 상기 제3 통신 상태의 양방이 정상이고 상기 제2 통신 상태와 상기 제4 통신 상태의 어느 하나 또는 양방이 이상인 경우,
    상기 제1 중계 장치와 상기 제4 중계 장치 사이의 논리적 경로를 유효하게 하는 경로 접속부
    를 구비하는 것을 특징으로 하는 중계 장치.
  2. 제1항에 있어서,
    상기 경로 접속부는,
    상기 제2 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제5 중계 장치와, 상기 제2 중계 장치 사이의 제5 통신 상태에 따라, 상기 제1 중계 장치와 상기 제4 중계 장치 사이의 논리적 경로를 유효하게 하는 것을 특징으로 하는 중계 장치.
  3. 제2항에 있어서,
    상기 정보 통신 장치간에 있어서 배치되는 제7 중계 장치에 대하여, 상기 제1 중계 장치와 상기 제4 중계 장치 사이의 논리적 경로를 유효하게 한다는 취지의 통지를 발행하는 처리를 행하는 처리부를 더 구비하는 것을 특징으로 하는 중계 장치.
  4. 제3항에 있어서,
    상기 제7 중계 장치의 처리부는, 상기 제1 중계 장치로부터, 상기 통지를 수신한 경우, 상기 제7 중계 장치와, 상기 제7 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제8 중계 장치 사이의 논리적 경로를 유효하게 하는 것을 특징으로 하는 중계 장치.
  5. 제1항에 있어서,
    상기 제1 통신 상태 또는 상기 제2 통신 상태의 변화가 검출된 경우, 상기 제1 통신 상태 또는 상기 제2 통신 상태의 변화에 따라, 상기 정보 통신 장치간에 있어서 배치되는 제9 중계 장치에 대하여, 상기 제9 중계 장치의 전단 또는 후단에 배치되어 상기 제9 중계 장치와 논리적 경로로 접속되는 제10 중계 장치와, 상기 제9 중계 장치 사이의 제6 통신 상태를 수집시키는 정보 수집 요구를 발행하는 정보 수집 요구 발행부를 더 구비하는 것을 특징으로 하는 중계 장치.
  6. 정보 통신 장치간의 통신을 중계하는 중계 장치에 있어서의 접속 관리 방법으로서,
    상기 중계 장치를 나타내는 제1 중계 장치와, 상기 제1 중계 장치의 전단에 배치되어 상기 제1 중계 장치와 논리적 경로로 접속되는 제2 중계 장치 사이의 제1 통신 상태 및 상기 제1 중계 장치와, 상기 제1 중계 장치의 후단에 배치되어 상기 제1 중계 장치와 논리적 경로로 접속되는 제3 중계 장치 사이의 제2 통신 상태의 변화를 검출하고,
    상기 제1 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제4 중계 장치로부터, 상기 제4 중계 장치와, 상기 제4 중계 장치의 전단에 배치되어 상기 제4 중계 장치와 논리적 경로로 접속되는 제5 중계 장치 사이의 제3 통신 상태 및 상기 제4 중계 장치와, 상기 제4 중계 장치의 후단에 배치되어 상기 제4 중계 장치와 논리적 경로로 접속되는 제6 중계 장치 사이의 제4 통신 상태를 취득하고,
    상기 제1 통신 상태 또는 상기 제2 통신 상태의 변화를 검출한 경우에 있어서,
    (i) 상기 제1 통신 상태와 상기 제3 통신 상태의 어느 한 쪽이 이상인 경우, 또는,
    (ii) 상기 제1 통신 상태와 상기 제3 통신 상태의 양방이 정상이고 상기 제2 통신 상태와 상기 제4 통신 상태의 어느 하나 또는 양방이 이상인 경우,
    상기 제1 중계 장치와 상기 제4 중계 장치 사이의 논리적 경로를 유효하게 하는
    처리를 컴퓨터가 실행하는 것을 특징으로 하는 접속 관리 방법.
  7. 정보 통신 장치간의 통신을 중계하는 복수의 중계 장치를 구비한 정보 통신 시스템으로서,
    상기 복수의 중계 장치 중 제1 중계 장치는,
    상기 제1 중계 장치와, 상기 제1 중계 장치의 전단에 배치되어 상기 제1 중계 장치와 논리적 경로로 접속되는 제2 중계 장치 사이의 제1 통신 상태 및 상기 제1 중계 장치와, 상기 제1 중계 장치의 후단에 배치되어 상기 제1 중계 장치와 논리적 경로로 접속되는 제3 중계 장치 사이의 제2 통신 상태의 변화를 검출하는 검출부와,
    상기 제1 중계 장치가 중계하는 논리적 경로와는 상이한 다른 논리적 경로를 중계하는 제4 중계 장치로부터, 상기 제4 중계 장치와, 상기 제4 중계 장치의 전단에 배치되어 상기 제4 중계 장치와 논리적 경로로 접속되는 제5 중계 장치 사이의 제3 통신 상태 및 상기 제4 중계 장치와, 상기 제4 중계 장치의 후단에 배치되어 상기 제4 중계 장치와 논리적 경로로 접속되는 제6 중계 장치 사이의 제4 통신 상태를 취득하는 통신 상태 취득부와,
    상기 검출부가 상기 제1 통신 상태 또는 상기 제2 통신 상태의 변화를 검출한 경우에 있어서,
    (i) 상기 제1 통신 상태와 상기 제3 통신 상태의 어느 한 쪽이 이상인 경우, 또는,
    (ii) 상기 제1 통신 상태와 상기 제3 통신 상태의 양방이 정상이고 상기 제2 통신 상태와 상기 제4 통신 상태의 어느 하나 또는 양방이 이상인 경우,
    상기 제1 중계 장치와 상기 제4 중계 장치 사이의 논리적 경로를 유효하게 하는 경로 접속부
    를 구비하는 것을 특징으로 하는 정보 통신 시스템.
KR1020130057181A 2012-05-28 2013-05-21 중계 장치, 접속 관리 방법, 및 정보 통신 시스템 KR101463342B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012121049A JP5962215B2 (ja) 2012-05-28 2012-05-28 中継装置、及び情報通信システム
JPJP-P-2012-121049 2012-05-28

Publications (2)

Publication Number Publication Date
KR20130133131A KR20130133131A (ko) 2013-12-06
KR101463342B1 true KR101463342B1 (ko) 2014-11-19

Family

ID=48576201

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130057181A KR101463342B1 (ko) 2012-05-28 2013-05-21 중계 장치, 접속 관리 방법, 및 정보 통신 시스템

Country Status (5)

Country Link
US (1) US20130315058A1 (ko)
EP (1) EP2677430B1 (ko)
JP (1) JP5962215B2 (ko)
KR (1) KR101463342B1 (ko)
CN (1) CN103455464A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6414834B2 (ja) * 2014-11-11 2018-10-31 華為技術有限公司Huawei Technologies Co.,Ltd. Sasシステム、sasシステムトラバーサル方法および装置
JP6380040B2 (ja) * 2014-11-21 2018-08-29 富士通株式会社 ストレージ装置、中継装置、および中継制御プログラム
US9645872B1 (en) * 2015-03-27 2017-05-09 EMC IP Holding Company LLC Method to use multipath to reduce IO error handle duration
WO2017183148A1 (ja) * 2016-04-21 2017-10-26 株式会社日立製作所 ストレージ装置及び記憶媒体
CN108123845A (zh) * 2016-11-30 2018-06-05 中兴通讯股份有限公司 一种实现sas域环路监控的方法及sas扩展器
US11003394B2 (en) * 2019-06-28 2021-05-11 Seagate Technology Llc Multi-domain data storage system with illegal loop prevention
CN111538690A (zh) * 2020-07-09 2020-08-14 深圳君略科技有限公司 一种双向信号传输系统及其传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245379A (ja) * 2008-03-31 2009-10-22 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法
KR20100029015A (ko) * 2008-09-05 2010-03-15 엘에스아이 코포레이션 경로 장애 복구 제공 방법, 시스템 및 컴퓨터 판독가능한 매체

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5068023B2 (ja) * 2006-03-29 2012-11-07 株式会社日立製作所 計算機システム及び論理パス切替方法
WO2007146515A2 (en) * 2006-06-08 2007-12-21 Dot Hill Systems Corporation Fault-isolating sas expander
US7536584B2 (en) * 2006-06-08 2009-05-19 Dot Hill Systems Corporation Fault-isolating SAS expander
JP4869123B2 (ja) * 2007-03-28 2012-02-08 株式会社日立製作所 ストレージシステム
JP5149556B2 (ja) * 2007-07-30 2013-02-20 株式会社日立製作所 システム情報要素を移行するストレージシステム
JP4982304B2 (ja) * 2007-09-04 2012-07-25 株式会社日立製作所 電源障害の発生を把握するストレージシステム
US7912995B1 (en) * 2007-12-20 2011-03-22 Emc Corporation Managing SAS topology
JP5127491B2 (ja) 2008-02-08 2013-01-23 株式会社日立製作所 ストレージサブシステム及びこれの制御方法
JP2009211140A (ja) * 2008-02-29 2009-09-17 Hitachi Ltd ストレージシステム及びその記憶媒体管理方法
US8321596B2 (en) * 2008-09-05 2012-11-27 Lsi Corporation SAS paired subtractive routing
WO2012032607A1 (ja) * 2010-09-07 2012-03-15 富士通株式会社 ストレージシステム、ストレージ装置、および、コントローラ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245379A (ja) * 2008-03-31 2009-10-22 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法
KR20100029015A (ko) * 2008-09-05 2010-03-15 엘에스아이 코포레이션 경로 장애 복구 제공 방법, 시스템 및 컴퓨터 판독가능한 매체

Also Published As

Publication number Publication date
CN103455464A (zh) 2013-12-18
KR20130133131A (ko) 2013-12-06
JP2013246713A (ja) 2013-12-09
EP2677430B1 (en) 2015-01-07
US20130315058A1 (en) 2013-11-28
EP2677430A1 (en) 2013-12-25
JP5962215B2 (ja) 2016-08-03

Similar Documents

Publication Publication Date Title
KR101463342B1 (ko) 중계 장치, 접속 관리 방법, 및 정보 통신 시스템
CN103634150B (zh) 一种冗余的高安全性can总线通信方法
CN104798349B (zh) 响应于端口故障的故障转移
JP5796139B2 (ja) Pcieスイッチベースのサーバ・システム、スイッチング方法、及びデバイス
JP4107083B2 (ja) 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
US7650446B2 (en) Storage system for back-end communications with other storage system
US8032793B2 (en) Method of controlling information processing system, information processing system, direct memory access control device and program
US20070088978A1 (en) Internal failover path for SAS disk drive enclosure
CN104977907A (zh) 直接连接算法
US10298520B2 (en) Relay apparatus
TW201640243A (zh) 控制系統、及中繼裝置
CN110985426B (zh) 一种PCIE Switch产品的风扇控制系统及方法
EP1890439B1 (en) Data processing management apparatus, mode management apparatus and mode management method
KR20130071346A (ko) 정보 처리 장치 및 동작 상태 감시 방법
US9755892B2 (en) Integrated device managment over Ethernet network
US9686195B2 (en) Relaying apparatus and storage apparatus
WO2012032607A1 (ja) ストレージシステム、ストレージ装置、および、コントローラ
CN104933001A (zh) 一种基于RapidIO技术的双控制器数据通信方法
CN104182307A (zh) 一种基于自主冗余服务器的串口冗余切换方法
EP2648101B1 (en) Storage system and device and connection configuration method thereof
CN103532728A (zh) 一种对故障dsp芯片复位的方法及装置
US8775695B2 (en) Specific identification information management device, information processing device, and specific identification information setting method
US8601224B2 (en) Control unit for storage apparatus and method for controlling storage apparatus
US20190079838A1 (en) Information processing system and control apparatus
JP5609272B2 (ja) サーバ装置、サーバシステム及びサーバ装置の制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee