KR20130075647A - 접속 장치, 스토리지 장치, 접속 장치에 있어서의 처리 방법, 및 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 - Google Patents

접속 장치, 스토리지 장치, 접속 장치에 있어서의 처리 방법, 및 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 Download PDF

Info

Publication number
KR20130075647A
KR20130075647A KR1020120113760A KR20120113760A KR20130075647A KR 20130075647 A KR20130075647 A KR 20130075647A KR 1020120113760 A KR1020120113760 A KR 1020120113760A KR 20120113760 A KR20120113760 A KR 20120113760A KR 20130075647 A KR20130075647 A KR 20130075647A
Authority
KR
South Korea
Prior art keywords
notification
unit
storage device
exp
control
Prior art date
Application number
KR1020120113760A
Other languages
English (en)
Other versions
KR101318004B1 (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 KR20130075647A publication Critical patent/KR20130075647A/ko
Application granted granted Critical
Publication of KR101318004B1 publication Critical patent/KR101318004B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/38Information transfer, e.g. on bus
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

기억부(7)의 상태 변화의 발생을 나타내는 통지가 접속 장치(4)를 통해서 복수의 제어부(3)에 대하여 발행될 경우에, 당해 통지에 따라 발생하는 접속 장치(4)의 처리 부하를 경감시킨다. 적어도 하나의 기억부(7)를 구비하는 기억 장치(5)와 상기 기억 장치(5)에 대한 제어를 행하는 복수의 제어부(3) 사이에 개재 설치되는 접속 장치(4)로서, 상기 기억부(7)에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치(5)로부터 받은 경우, 일부 제어부(3)에 대하여 상기 통지를 전송하는 통지부(40a)와, 상기 통지가 전송된 제어부(3)로부터 상기 접속 장치(4)를 통한 상기 기억 장치(5)에의 액세스를 감시하는 감시부(40b)와, 상기 감시부(40b)에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지부(40a)에 의한 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부(3) 중 1 이상의 제어부(3)로 전환하는 통지 제어부(40c)를 구비한다.

Description

접속 장치, 스토리지 장치, 접속 장치에 있어서의 처리 방법, 및 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체{CONNECTION DEVICE, STORAGE DEVICE, PROCESSING METHOD IN THE CONNECETION DEVICE, AND COMPUTER-READABLE RECORDING MEDIUM STORING PROCESSING PROGRAM}
본건은, 기억 장치와 그 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치 및 스토리지 장치, 접속 장치에 있어서의 처리 방법 및 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체에 관한 것이다.
스토리지 장치에 있어서, SCSI(Small Computer System Interface) 규격의 일종인 SAS(Serial Attached SCSI)에 대응한 HDD(Hard Disk Drive) 등의 디바이스를 다수 탑재할 경우, SAS Expander(SAS 엑스팬더; 이하, EXP라고 한다)가 사용되는 경우가 있다.
EXP는, SAS 접속의 확장을 행하기 위해서 사용되는 SAS 스위치이다.
도 7은, 복수의 SAS 디바이스(700) 및 EXP(400 및 600)를 구비하는 스토리지 시스템의 구성예를 도시하는 도면이며, 특히, 도 7에서는, 다수의 SAS 디바이스(700) 및 EXP(400 및 600)를 사용한 대규모 스토리지 시스템의 예를 나타낸다.
도 7에 도시한 바와 같이, 스토리지 시스템은, 컨트롤러 인크로저(Controller Enc1osure; 이하, CE라고 한다: 200)와 복수의 드라이브 인크로저(Drive Enclosure; 이하, DE라고 한다: 500)를 구비하는 스토리지 장치(100) 및 호스트(800)를 구비한다.
또한, 도 7에 있어서, 이중 라인은 호스트 인터페이스를 나타내고, 1개의 라인은 SAS 접속을 나타낸다.
CE(200)는, 호스트(800)로부터 SAS 디바이스(700)에 대한 데이터의 기입 및 판독 등의 데이터 액세스 요구의 제어를 행하는 것이며, 컨트롤러 모듈(Controller Module; 이하, CM이라 한다: 300) 및 EXP(400)를 구비한다.
CM(300)은 관리 하의 SAS 디바이스(700)를 관리하고, 서버 등의 호스트(800)로부터 SAS 디바이스(700)에의 데이터 액세스 요구에 대하여 적절한 SAS 디바이스(700)를 할당하는 모듈이다. 또한, CM(300)은 SAS 디바이스(700)나 EXP(400 및 600)의 이니시에이터로서 기능하고, 관리 하의 EXP(400 및 600)를 경유하여, 액세스 대상인 SAS 디바이스(700)에 대한 액세스를 행한다.
EXP(400)는 SAS 접속의 확장을 행하기 위한 모듈이며, SAS의 제어 디바이스인 엑스팬더 칩이나 SAS의 물리 포트인 Phy를 구비한다.
또한, EXP(400)는, Phy를 통해서 CM(300) 및 관리 하의 DE(500) 내의 EXP(600)와 접속되고, CM(300)으로부터의 데이터 액세스 요구를 액세스 대상인 EXP(600)로 전송한다.
또한, CE(200)는, 용장화를 목적으로 하고, 복수(도 7에 도시한 예에서는 8개)의 CM(300)을 구비하여, 멀티 이니시에이터 구성을 취하고 있다. 또한, CE(200)는 용장화 때문에, 복수(도 7에 도시한 예에서는 2개)의 EXP(400)를 구비한다.
DE(500)는, HDD 등의 복수의 SAS 디바이스(SAS 드라이브: 700)를 탑재함과 함께, 용장화를 목적으로 하여 복수(도 7에 도시한 예에서는 2개)의 EXP(600)를 구비한다. 또한, 도 7에 있어서는, 도면의 간략화를 위해, DE(500)에 있어서의 SAS 디바이스(700)의 도시 및 부호(600 및 700)의 도시를 일부 생략하고 있지만, DE(500)는 모두 같은 구성을 구비한다.
또한, 이하, CM(300)부터 DE(500)까지의 데이터 경로에 있어서, CM(300)측을 상위라고 하고, DE(500)측을 하위라고 한다.
EXP(600)는, CE(200) 내의 EXP(400)와 같은 구성이며, 도시하지 않은 Phy(물리 포트)를 통해서 CE(200) 내의 EXP(400) 및/또는 다른 DE(500) 내의 EXP(600)와 접속되고, 상위, 즉 CM(300)측으로부터의 데이터 액세스 요구에 따른 처리를 행한다.
또한, 이하, 복수의 CM(300) 중 1개를 특정할 필요가 있을 때에는, 도 7에 도시한 바와 같이 CM00 내지 CM07 중 어느 하나를 사용한다. 또한, 이하, 복수의 EXP(400 또는 600) 중 1개를 특정할 필요가 있을 때에는, 도 7에 도시한 바와 같이EXP00, 10 내지 17, 20 내지 27, 30 내지 37, 40 내지 47 중 어느 하나를 사용한다.
도 7에 도시한 바와 같이, 스토리지 장치(100)에 있어서는, EXP00 및 01의 상위에는, 각각 CM00 내지 CM07이 접속된다. 또한, EXP00의 하위에는, EXP10 내지 13이 각각 접속되고, EXP01의 하위에는, EXP14 내지 17이 각각 접속되어 있다.
또한, EXP10에는 EXP20, 30, 40이, EXP11에는 EXP21, 31, 41이, EXP12에는 EXP22, 32, 42가, EXP13에는 EXP23, 33, 43이, 각각 직렬로 캐스케이드 접속(다단 접속)되어 있다. 마찬가지로, EXP14에는 EXP24, 34, 44가, EXP15에는 EXP25, 35, 45가, EXP16에는 EXP26, 36, 46이, EXP17에는 EXP27, 37, 47이, 각각 직렬로 캐스케이드 접속(다단 접속)되어 있다.
또한, 각 DE(500)에 있어서의 2개의 EXP(600)는, 각각 자신의 DE(500)가 구비하는 적어도 1개의 SAS 디바이스(700)에 접속된다.
이상과 같이 구성된 스토리지 장치(100)는 EXP(400 및 600)를 사용함으로써, 다수의 SAS 디바이스(700)를 접속할 수 있다.
여기서, EXP(400 및 600)는, 용장화를 위해서 각 인크로저 내에 2개씩 설치되어 있다. 이하, 용장화된 EXP(400 및 600) 중, CE(200) 내의 EXP00과, 각 DE(500) 내의 EXP10 내지 13이 접속된 계열을 제1 계열이라고 하고, CE(200) 내의 EXP01과, 각 DE(500) 내의 EXP14 내지 17이 접속된 계열을 제2 계열이라고 한다.
또한, 이하, 제1 계열에 있어서의 각 계통의 EXP10 내지 13, 20 내지 23, 30 내지 33, 40 내지 43을 통합해서 EXP10 내지 43이라고 한다.
그런데, 도 7의 구성에 있어서, 제1 계열의 EXP10 내지 43 관리 하의 SAS 디바이스(700)에 어떠한 상태 변화가 발생한 경우, 그 SAS 디바이스(700)가 접속되어 있는 EXP(600)는, 상위에 대하여 브로드 캐스트 체인지(BroadCast(Change); 이하, BC(CHG)라고 한다)를 발행한다. 또한, SAS 디바이스(700)의 상태 변화로서는, 예를 들어 SAS 디바이스(700)의 삽입 인발이나 디바이스 이상을 들 수 있다.
BC(CHG)는 상태 변화의 발생을 나타내는 통지이며, 발행원인 EXP(600)로부터 상위 EXP(600 및 400)를 경유하여 모든 CM(300)에 전송된다.
이니시에이터인 CM(300)은, BC(CHG)를 수령 후, 관리 하의 SAS 디바이스(700)를 재인식하기 위한 디스커버리 프로세스를 행한다.
또한, BC(CHG)를 수취한 EXP(400 및 600)는, 모든 SAS 포트, 즉 Phy에 대하여 BC(CHG)를 전송하기 위해서, BC(CHG)가 상위로 전반되는 결과, 모든 CM(300)이 거의 동시에 디스커버리 프로세스를 개시하게 된다.
디스커버리 프로세스에서는, CM(300)은 하위측에 접속되는 모든 EXP(400 및 600)에 대하여, 각각 복수의 SMP(SAS Management Protocol) Function을 발행한다. SMP Function은 EXP를 관리하는 프로토콜인 SMP에 의해 규정되는 커맨드이며, EXP 관리 하의 SAS 디바이스(700) 정보의 취득, EXP의 루팅 정보의 구축, 토폴러지의 구축, Phy의 제어 및 SAS 접속의 링크 네고시에이션 등에 사용된다.
CM(300)은, 디스커버리 프로세스에 있어서 필요한 정보를 취득하기 위해서, 예를 들어 각 EXP(400 또는 600)에 대하여, 5 내지 10의 SMP Function(커맨드)을 발행한다.
SMP Function을 수령한 EXP(400 및 600)는, 커맨드 종류에 따른 정보, 예를 들어, 스스로가 갖고 있는 Phy의 수나 이들 Phy에 접속된 SAS 디바이스(700)의 정보 등을 맵 정보로 해서 CM(300)을 향해서 발행한다.
CM(300)은, 하위의 EXP(400 및 600)로부터 송신된 맵 정보를 사용하여, 하위의 SAS 디바이스(700)의 정보를 관리한다.
일본 특허 공개 제2006-279347호 공보 일본 특허 공표 제2009-540436호 공보
상술한 바와 같이, 디스커버리 프로세스에서는, CM(300)은 모든 EXP(400 및 600)에 대하여 복수의 SMP Function을 발행한다.
한편, 각 EXP(400 및 600)는 수취한 복수의 SMP Function에 대해서, 1개씩밖에 처리를 행할 수 없다.
따라서, 도 7에 예시하는 멀티 이니시에이터 환경에서는, 디스커버리 프로세스가 발생한 경우, 각 EXP(400 및 600)에 있어서, 복수의 CM(300)으로부터의 SMP Function에 의한 액세스가 경합하여, 각 EXP(400 및 600)에서의 부하가 커진다고 하는 과제가 있다.
하나의 측면에서는, 본 발명은, 기억부의 상태 변화의 발생을 나타내는 통지가 접속 장치를 통해서 복수의 제어부에 대하여 발행될 경우에, 당해 통지에 따라 발생하는 접속 장치의 처리 부하를 경감시키는 것을 목적으로 한다.
또한, 상기 목적에 한하지 않고, 후술하는 발명을 실시하기 위한 형태로 나타내는 각 구성에 의해 유도되는 작용 효과이며, 종래의 기술에 따라서는 얻어지지 않는 작용 효과를 발휘하는 것도 본 발명의 다른 목적의 하나로서 자리 매김할 수 있다.
본건의 접속 장치는, 적어도 하나의 기억부를 구비하는 기억 장치와 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치로서, 상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하는 통지부와, 상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하는 감시부와, 상기 감시부에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지부에 의한 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 1 이상의 제어부로 전환하는 통지 제어부를 구비하는 것이다.
또한, 본건의 스토리지 장치는, 적어도 하나의 기억부를 구비하는 기억 장치와, 상기 기억 장치에 대한 제어를 행하는 복수의 제어부와, 상기 접속 장치를 구비하는 것이다.
또한, 본건의 처리 방법은, 적어도 하나의 기억부를 구비하는 기억 장치와, 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치에 있어서의 처리 방법으로서, 상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하고, 상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하고, 상기 감시에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 1 이상의 제어부로 전환하는 것이다.
또한, 본건의 처리 프로그램은, 적어도 하나의 기억부를 구비하는 기억 장치와, 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치로서의 컴퓨터에, 상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하고, 상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하고, 상기 감시에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 1 이상의 제어부로 전환하는, 처리를 실행시키는 것이다.
일 실시예에 의하면, 기억부의 상태 변화의 발생을 나타내는 통지가 접속 장치를 통해서 복수의 제어부에 대하여 발행될 경우에, 당해 통지에 따라 발생하는 접속 장치의 처리 부하를 경감시킬 수 있다.
도 1은, 일 실시 형태로서의 스토리지 시스템의 구성예를 도시하는 도면이다.
도 2는, 본 실시 형태에 관한 컨트롤러 인크로저의 구성예를 도시하는 도면이다.
도 3은, 본 실시 형태에 관한 엑스팬더의 구성예를 도시하는 도면이다.
도 4는, 본 실시 형태에 관한 드라이브 인크로저의 구성예를 도시하는 도면이다.
도 5는, 도 1에 예시하는 스토리지 장치의 컨트롤러 모듈 및 제1 계열의 엑스팬더에 주목한 도면이다.
도 6은, 본 실시 형태에 관한 스토리지 장치의 동작예를 설명하는 흐름도이다.
도 7은, 복수의 SAS 드라이브 및 EXP를 구비하는 스토리지 시스템의 구성예를 도시하는 도면이다.
이하, 도면을 참조하여 실시 형태를 설명한다.
〔1〕 일 실시 형태
〔1-1〕스토리지 시스템의 구성예
도 1은, 일 실시 형태로서의 스토리지 시스템의 구성예를 도시하는 도면이며, 도 2는, 본 실시 형태에 관한 컨트롤러 인크로저(2)의 구성예를 도시하는 도면이다. 또한, 도 3은, 본 실시 형태에 관한 엑스팬더(4 및 6)의 구성예를 도시하는 도면이며, 도 4는, 드라이브 인크로저(5)의 구성예를 도시하는 도면이다.
도 1에 예시한 바와 같이, 본 실시 형태에 관한 스토리지 시스템은, CE(2)와 복수의 DE(5)를 구비하는 스토리지 장치(1) 및 호스트(8)를 구비한다.
또한, 도 1에 있어서, 이중 라인은 호스트 인터페이스를 나타내고, 1개의 라인은 SAS 접속을 나타낸다.
또한, 이하, CM(3)부터 DE(5)까지의 데이터 경로에 있어서, CM(3)측을 상위라고 하고, DE(5)측을 하위라고 하는 경우가 있다.
호스트(8)는, 스토리지 장치(1)가 구비하는 SAS 디바이스(7)에 대한 데이터의 기입 및 판독 등의 데이터 액세스 요구를 발행하는 장치이며, 호스트(8)로서는 서버 등의 정보 처리 장치를 들 수 있다.
CE(2)는, 호스트(8)로부터 발행된 데이터 액세스 요구에 관한 제어를 행하는 제어 장치이고, 용장화를 목적으로 하며, 복수(도 1에 도시하는 예에서는 8개)의 CM(3) 및 복수(도 1에 도시하는 예에서는 2개)의 EXP(4)를 구비한다.
CM(제어부: 3)은, DE(5)에 대한 제어를 행하는 것이며, 상술한 CM(300)과 마찬가지로, 관리 하의 SAS 디바이스(7)를 관리하고, 호스트(8)로부터 발행된 데이터 액세스 요구에 대하여 적절한 SAS 디바이스(7)를 할당하는 모듈이다.
CM(3)은, 구체적으로는, 도 2에 예시한 바와 같이, 호스트 어댑터(31), 프로세서(32), 메모리(33) 및 SAS IO(Input 0utput) 컨트롤러(34)를 구비한다.
호스트 어댑터(31)는, 호스트(8)로부터의 데이터 액세스 요구 등의 정보를 수신하거나, EXP(4) 또는 DE(5)로부터의 데이터나 커맨드 등의 정보를 호스트(8)에 송신하는 어댑터이며, 호스트(8)와 호스트 인터페이스를 통해서 접속된다.
프로세서(32)는, 다양한 제어나 연산을 행하는 CPU(Central Processing Unit)이나 MPU(Micro Processing Unit) 등의 처리 장치이며, 도시하지 않은 ROM(Read 0nly Memory) 등에 저장된 프로그램을 실행함으로써, CM(3)에 있어서의 다양한 기능을 실현한다. 실시 형태에 있어서는, 프로세서(32)는 호스트(8)로부터의 데이터 액세스 요구에 관한 처리나, 디스커버리 프로세스의 실행을 행한다.
메모리(33)는, 다양한 데이터나 프로그램을 일시적으로 저장하는 기억 장치이며, 프로세서(32)가 프로그램을 실행할 때, 데이터나 프로그램을 일시적으로 저장·전개해서 사용한다. 또한, 메모리(33)로서는, 예를 들어 RAM(Random Access Memory) 등의 휘발성 메모리를 들 수 있다.
SAS IO 컨트롤러(34)는, 관리 하의 EXP(4)에 대한 입출력을 담당하는 컨트롤러이며, EXP(4)의 후술하는 Phy(44)와 케이블 등에 의해 SAS 접속된다.
또한, CM(3)은, SAS 디바이스(7)나 EXP(4 및 6)의 이니시에이터로서 기능하고, 관리 하의 EXP(4 및 6)을 경유하여, 액세스 대상인 SAS 디바이스(7)에 대한 액세스를 행한다.
또한, CM(3)는 상술한 CM(300)과 마찬가지로, EXP(4)를 통해서 DE(5: EXP(6))로부터 발행된 BC(CHG), 즉 상태 변화의 발생을 나타내는 통지를 수령하면, 관리 하의 SAS 디바이스(7)를 재인식하기 위한 디스커버리 프로세스를 개시한다.
즉, CM(3)은, 디스커버리 프로세스에 있어서, SAS IO 컨트롤러(34)에 의해, 하위측에 접속되는 모든 EXP(4) 및 DE(5: EXP(6))에 대하여, EXP(4)를 통하여 SMP Function(제어 정보)을 발행한다.
또한, 상술한 바와 같이, SMP Function은 EXP를 관리하는 프로토콜이며, EXP 관리 하의 SAS 디바이스(7)의 정보의 취득, EXP의 루팅 정보의 구축, 토폴러지의 구축, Phy의 제어 및 SAS 접속의 링크 네고시에이션 등에 사용된다.
예를 들어, SMP Function은 EXP(4 또는 6)의 관리 하의 DE(5: EXP(6)), 즉 EXP(4 또는 6)의 하위측에 접속되는 EXP(6)나 SAS 디바이스(7) 등의 디바이스의 접속 상태 등을 나타내는 맵 정보(접속 정보)를 요구하는 제어 정보이다. 이와 같이, SMP Function은 상태 변화의 발생에 따라서 EXP(4)나 DE(5)를 제어하는 정보이다.
CM(3)은, 디스커버리 프로세스에 있어서 필요한, 상술한 바와 같은 정보를 취득하기 위해서, 예를 들어 각 EXP(4 또는 6)에 대하여, 복수(예를 들어 5 내지 10))의 SMP Function을 발행한다.
또한, CM(3)은 디스커버리 프로세스에 있어서, EXP(4)나 DE(5: EXP(6))로부터 수신한 리스펀스(응답 정보)를 메모리(33) 등의 기억 장치에 저장하고, 맵 정보를 사용하여, 하위의 SAS 디바이스(7)의 정보를 관리할 수 있다.
도 1에 도시하는 예에 있어서는, CM(3)은, EXP(4)에 대한 SMP Function의 리스펀스(응답 정보) 중의 맵 정보에 의해, SMP Function을 발행하는 DE(5: EXP(6))를 EXP(10 내지 13)로서 인식할 수 있다. 또한, CM(3)은 EXP(6)에 대한 SMP Function의 리스펀스(응답 정보) 중의 맵 정보에 의해, 예를 들어 EXP(10 내지 13)의 관리 하의 EXP(6)를 각각 EXP(20 내지 23)로서 인식할 수 있다.
즉, CM(3)은 맵 정보에 의해 SMP Function을 발행하는 DE(5: EXP(6))를 인식할 수 있다.
또한, EXP(4 및 6)가 송신하는 맵 정보에는, 송신원의 각 EXP(4 및 6)가 갖고 있는 Phy(44)의 수나 이들 Phy(44)에 접속된 SAS 디바이스(7)의 정보 등이 포함된다.
EXP(접속 장치: 4)는, DE(5)와 복수의 CM(3) 사이에 개재 설치되는, SAS 접속의 확장을 행하기 위한 모듈이며, CM(3)으로부터의 데이터 액세스 요구를 액세스 대상인 DE(5: EXP(6))로 전송한다.
EXP(4)는, 구체적으로는, 도 3에 예시한 바와 같이, 엑스팬더 칩(41), 전원(46), PLD(Programmable Logic Device: 47) 및 스위치(48)를 구비한다.
엑스팬더 칩(41)은 SAS의 제어 디바이스이며, 프로세서(42), 메모리(43), Phy(44), 및 시리얼 접속 및 이더넷(등록 상표) 접속의 인터페이스인 시리얼 포트(45a) 및 이 서포트(45b)를 구비한다.
프로세서(42)는, 다양한 제어나 연산을 행하는 CPU나 MPU 등의 처리 장치이며, 도시하지 않은 ROM 등에 저장된 프로그램을 실행함으로써, EXP(4)에 있어서의 다양한 기능을 실현한다. 본 실시 형태에 있어서는, 프로세서(42)는, SAS의 물리 포트인 Phy(44) 제어 외에, SMP 논리 디바이스로서 SMP Function에 관한 처리를 행함과 함께, SSP(Serial SCSI Protocol) 논리 디바이스로서 SCSI 커맨드에 관한 처리를 행한다.
또한, 본 실시 형태에 관한 EXP(4)는, 후술하는 통지부(40a), 감시부(40b), 통지 제어부(40c) 및 리셋부(40d)로서의 기능을 구비하고, 이들 기능은 프로세서(42)에 의해 실현된다.
메모리(유지부: 43)는, 다양한 데이터나 프로그램을 일시적으로 저장하는 기억 장치이며, 프로세서(42)가 프로그램을 실행할 때에, 데이터나 프로그램을 일시적으로 저장 전개해서 사용한다. 또한, 메모리(43)로서는, 예를 들어 RAM 등의 휘발성 메모리를 들 수 있다.
Phy(44)는, CM(3) 및 DE(5) 내의 EXP(6)와 케이블 등에 의해 SAS 접속되는 물리 포트이며, 도 3에 도시하는 예에 있어서는, 0 내지 35의 포트를 구비한다. 또한, 도시를 생략하고 있지만, CE(2)에도 SAS 디바이스(7)을 구비할 수 있고, 이 경우, EXP(4)는 Phy(44)를 통해서 CE(2) 내의 SAS 디바이스(7)와 접속된다.
전원(46)은, 도시하지 않은 외부 전원으로부터의 전력에 의해 엑스팬더(4) 내에 전력을 공급하는 것이며, PLD(47)은 전원(46) 등으로부터의 상주 전원으로 동작하여, 엑스팬더(4)의 전원 제어 등을 행한다. 구체적으로는, PLD(47)는 스위치(48)에 대한 전원 제어를 통해서, 엑스팬더 칩(41)에 대하여 전원(46)으로부터의 전력을 공급하는 제어를 행한다.
EXP(4)는, BC(CHG)를 DE(5: EXP(6))로부터 받은 경우, 관리 하의 SAS 디바이스(7)나 EXP(6)를 재인식하기 위해서, 디스커버리 프로세스를 실행하고, 하위측에 접속된 EXP(6)에 SMP Function을 발행한다. 이 SMP Function은, 예를 들어 하위측에 접속된 EXP(6)에 있어서의 갱신 후의 루트 테이블 등의 DE(5)의 상태 정보를 요구하는 커맨드이다.
그리고, 하위측에 접속된 EXP(6)로부터 SMP Function에 대한 리스펀스를 수신하면, EXP(4)는, 리스펀스 중 상태 정보에 기초하여 자신의 루트 테이블(상태 정보)을 갱신(작성)하여, 메모리(43) 등의 기억 장치에 저장한다.
또한, EXP(4)는, 디스커버리 프로세스의 실행에 의해 상태 정보를 취득하면, BC(CHG)를 CM(3)에 대하여 전송하지만, 본 실시 형태에 관한 EXP(4)는, CM(3)에 대한 BC(CHG)의 전송시에, 통지부(40a), 감시부(40b), 통지 제어부(40c) 및 리세스부(40d)에 의한 후술하는 처리를 행한다.
또한, EXP(4)는, BC(CHG)를 전송한 CM(3)으로부터 SMP Function을 수신한 경우에는, 수신한 커맨드에 따른 처리, 예를 들어 자신의 Phy(44)나 Phy(44)에 접속된 디바이스 정보를 취득하는 처리를 행하고, 이 정보를 맵 정보로 해서 리스펀스에 포함해서 CM(3)으로 되돌린다.
DE(기억 장치: 5)는, 도 4에 예시한 바와 같이, 적어도 하나의 SAS 디바이스(7)을 구비함과 함께, 용장화를 목적으로 하여, 복수(도 4에 도시하는 예에서는 2개)의 EXP(6)를 구비한다. 또한, 도 1에 있어서는, 도면의 간략화를 위해, DE(5)에 있어서의 SAS 디바이스(7)의 도시 및 부호(6 및 7)의 도시를 일부 생략하고 있지만, DE(5)는 모두 같은 구성을 구비한다.
SAS 디바이스(기억부: 7)는, SAS에 대응한 HDD 등의 자기 디스크 장치 등, 다양한 데이터나 프로그램 등을 저장하는 하드웨어이다. 또한, SAS 디바이스(7)는 SAS에 대응한 것 외의 디바이스라도 좋다.
EXP(6)는, 도 2에 예시하는 EXP(4)와 마찬가지 구성이며, 도 3에 도시하는 Phy(44)를 통해서 CE(2) 내의 EXP(4) 및/또는 다른 DE(5) 내의 EXP(6)와 케이블 등에 의해 SAS 접속되고, 상위, 즉 CM(3)측으로부터의 데이터 액세스 요구에 따른 처리를 행한다.
또한, EXP(6)는, DE(5) 내, 즉 EXP(6)에 직접 접속된 SAS 디바이스(7)에 관한 상태 변화가 발생한 경우, Phy(44)에 접속된 SAS 디바이스(7)를 재인식하기 위해서, 루트 테이블(상태 정보)을 갱신(작성)하고, 메모리(43) 등의 기억 장치에 저장한다. 또한, 상태 변화가 발생한 경우란, 예를 들어 Phy(44)의 링크 업/링크 다운이나, SAS 디바이스(7)의 삽발이 발생한 경우를 들 수 있다.
또한, EXP(6)는, BC(CHG)를 모든 Phy(44), 예를 들어 도 1에 도시하는 상위에 접속된 것 외의 EXP(4 또는 6)에 대하여 발행한다.
또한, 하위측에 접속된 EXP(6)로부터 BC(CHG)를 수취한 상위 EXP(6)는, 관리 하의 SAS 디바이스(7)나 EXP(6)를 재인식하기 위해서, 디스커버리 프로세스를 실행하고, 하위측에 접속된 EXP(6)에 SMP Function을 발행한다. 이 SMP Function은, 예를 들어 하위측에 접속된 EXP(6)에 있어서의 갱신 후의 루트 테이블의 정보를 요구하는 커맨드이다.
그리고, 하위측에 접속된 EXP(6)로부터 SMP Function에 대한 리스펀스를 수신하면, 상위 EXP(6)는, 리스펀스 중 상태 정보에 기초하여 자신의 루트 테이블(상태 정보)을 갱신(작성)하고, 메모리(43) 등의 기억 장치에 저장한다.
또한, 상위 EXP(6)는, BC(CHG)를 모든 Phy(44), 예를 들어 상위에 접속된 EXP(4) 또는 EXP(6)에 전송한다.
또한, EXP(6)는, CM(3)으로부터 발행된 SMP Function을 수신한 경우에는, 수신한 커맨드에 따른 처리, 예를 들어 자신의 Phy(44)나 Phy(44)에 접속된 디바이스 정보를 취득하는 처리를 행하여, 이 정보를 맵 정보로 해서 리스펀스에 포함해서 CM(3)으로 되돌린다.
또한, 이하, 복수의 CM(3) 중 1개를 특정할 필요가 있을 때에는, 도 1에 도시한 바와 같이 CM00 내지 CM07 중 어느 하나를 사용한다. 또한, 이하, 복수의 EXP(4 또는 6) 중 1개를 특정할 필요가 있을 때에는, 도 1에 도시한 바와 같이EXP00, 10 내지 17, 20 내지 27, 30 내지 37, 40 내지 47 중 어느 하나를 사용한다.
도 1에 도시한 바와 같이, 스토리지 장치(1)에 있어서는, EXP00 및 01의 상위에는, 각각, CM00 내지 CM07이 접속된다. 또한, EXP00의 하위에는, EXP10 내지 13이 각각 접속되고, EXP01의 하위에는, EXP14 내지 17이 각각 접속되어 있다.
또한, EXP10에는 EXP20, 30, 40이, EXP11에는 EXP21, 3l, 41이, EXP12에는 EXP22, 32, 42가, EXP13에는 EXP23, 33, 43이, 각각 직렬로 캐스케이드 접속(종속 접속, 다단 접속)되어 있다. 마찬가지로, EXP14에 EXP24, 34, 44가, EXP15에는 EXP25, 35, 45가, EXP16에는 EXP26, 36, 46이, EXP17에는 EXP27, 37, 47이, 각각 직렬로 캐스케이드 접속(종속 접속, 다단 접속)되어 있다.
또한, 각 DE(5)에 있어서의 2개의 EXP(6)는, 각각 자신의 DE(5)가 구비하는 적어도 1개의 SAS 디바이스(7)에 접속된다.
여기서, EXP(4 및 6)는, 용장화를 위해서 각 인크로저 내에 2개씩 설치되어 있다. 이하, 용장화된 EXP(4 및 6) 중, CE(2) 내의 EXP00과, 각 DE(5) 내의 EXP10 내지 13이 접속된 계열을 제1 계열이라고 하고, CE(2) 내의 EXP01과, 각 DE(5) 내의 EXP14 내지 17이 접속된 계열을 제2 계열이라고 한다.
이상과 같이, 도 1 및 도 5에 도시한 바와 같이, 스토리지 장치(1)는, 제1 계열에 있어서, 1개의 EXP(4)(EXP00)에 모든 CM(3)이 접속되고, EXP00 관리 하에 복수 계통마다 EXP00로부터 직렬로 캐스케이드 접속으로 복수의 EXP(6)가 배치된 구성으로 되어 있다. 즉, EXP(4)에는, 각각이 적어도 하나의 SAS 디바이스(7)를 구비하는 복수의 DE(5)가, 복수의 계통에서, 직접 접속, 또는, 직접 접속되는 DE(5)에 종속 접속된다. 또한, 복수의 계통이란, EXP10 이하 직렬로 접속된 계통, EXP11 이하 직렬로 접속된 계통, EXP12 이하 직렬로 접속된 계통 및 EXP13 이하 직렬로 접속된 계통을 말한다.
또한, 이하, 제l 계열에 있어서의 각 계통의 EXP10 내지 13, 20 내지 23, 30 내지 33, 40 내지 43을 통합해서 EXP10 내지 43이라고 한다.
〔1-2〕엑스팬더의 설명
이어서, EXP(4)에 있어서의 통지부(40a), 감시부(40b), 통지 제어부(40c) 및 리셋부(40d)로서의 기능에 대해서 도 5를 참조하면서 설명한다.
EXP(4)는, 상술한 바와 같이, 하위측에 접속된 EXP(6)로부터, SAS 디바이스(7)에 관한 상태 변화의 발생을 나타내는 통지인 BC(CHG)를 수취하면, 디스커버리 프로세스를 실행해서 상태 정보를 취득한다.
그리고, EXP(4)는, 디스커버리 프로세스에 의해 상태 정보를 모든 DE(5)로부터 취득하고, BC(CHG)를 CM(3)에 대하여 전송할 때에 통지부(40a), 감시부(40b), 통지 제어부(40c) 및 리셋부(40d)로서 기능한다.
통지부(40a)는, 전송처인 복수의 CM(3) 중 일부 CM(3)에 대하여 BC(CHG)를 전송하는 것이다. 또한, 일부 CM(3)이란, 1 이상 또한 CE(2) 내의 CM(3)의 수(도 5에 도시하는 예에서는 8개) 미만인 수의 CM(3)을 말하고, 이하에 나타내는 예에 있어서는 하나의 CM(3)이다.
구체적으로는, 통지부(40a)는 미리 설정된 접속 구성 정보에 기초하여, BC(CHG)를 전송하는 전송처인 CM(3)을 선택한다. 예를 들어, 도 5에 도시하는 예에 있어서는, EXP(4)는, CM00 내지 07 중 최소의 번호(제일 작은 번호)인 CM00을, BC(CHG)를 전송하는 CM(3)으로서 선택한다. 또한, 접속 구성 정보는, 스토리지 장치(1)에 있어서의 각 CM(3)이나 EXP(4 및 6)의 접속 관계를 나타내는 정보이다.
또한, 통지부(40a)는, 선택한 CM(3: 예를 들어 CM00) 이외의 CM(3)에 대하여 전송하는 상태 변화의 발생을 나타내는 정보, 즉 BC(CHG)의 정보에 대해서는, 메모리(43) 등의 버퍼에 큐잉한다.
또한, 상술한 바와 같이, BC(CHG)가 전송된 CM(3)은, 디스커버리 프로세스를 실행하고, EXP(4)에 대하여 SMP Function을 발행하며, EXP(4)는, 자신에 대한 SMP Function의 리스펀스에 맵 정보를 포함해서 CM(3)으로 되돌린다. 그리고, CM(3)은, EXP(4)로부터의 맵 정보에 기초하여, EXP(4)의 관리 하의 DE(5)에 대한 디스커버리 프로세스를 실행한다.
감시부(40b)는, 통지부(40a)에 의해 BC(CHG)가 전송된 CM(3: 예를 들어 CM00)으로부터 EXP(4) 또는 EXP(4)를 통한 DE(5)에의 디스커버리 프로세스에 기인하는 액세스를 감시하고, 이 액세스가 종료한 것을 검출하는 것이다.
구체적으로는, 감시부(40b)는, BC(CHG)가 전송된 CM(3)으로부터 EXP(4) 또는 DE(5)에 대하여 발행되는, 상태 변화의 발생에 따라서 EXP(4) 또는 DE(5)를 제어하는 SMP Function 및 EXP(4) 또는 DE(5)로부터 CM(3)에 대하여 발행되는 SMP Function에 대한 리스펀스 중 적어도 한쪽을 감시한다. 그리고, 감시부(40b)는, 감시하는 SMP Function 및 리스펀스 중 적어도 한쪽의 발행이 종료한 경우, BC(CHG)가 전송된 CM(3)에 의한 액세스가 종료한 것을 검출한다. 또한, 이하의 예에 있어서는, 감시부(40b)는, BC(CHG)가 전송된 CM(3)으로부터 EXP(4) 또는 DE(5)에 대하여 발행되는 SAS 프레임, 즉 SMP Function을 감시하는 것으로 한다.
또한, 감시부(40b)는, 예를 들어 BC(CHG)를 전송한 CM(3) 및/또는 EXP(6)에의 SAS 포트인 Phy(44)를 감시 상태로 하고, 당해 Phy(44)를 통과하는 정보(SAS 프레임)를 보는 것에 의해, 상술한 액세스의 감시를 행한다.
또한, 감시부(40b)는, 도 5에 도시한 바와 같이 EXP(4)의 관리 하에 복수의 DE(5: EXP(6))가 있을 때에는, BC(CHG)가 전송된 CM(3)으로부터 복수의 DE(5) 중 최종 DE(5: EXP(6))에의 액세스가 종료한 경우에, CM(3)으로부터의 액세스가 종료한 것을 검출한다. 예를 들어, 도 5에 도시하는 예에 있어서, CM(3)이 SMP Function을 EXP10부터 순서대로 EXP43까지 발행할 경우에는, 감시부(40b)는 CM(3)으로부터 EXP43에의 액세스가 종료한 경우에, CM(3)으로부터의 액세스가 종료한 것을 검출한다.
또한, 감시부(40b)는, 복수의 DE(5: EXP(6)) 중의 어느 DE(5)가 최종인지를, EXP(4)가 SMP Function에 따라서 취득한 맵 정보에 기초하여 판단(검출)할 수 있다. 즉, CM(3)이, EXP(4)에 대한 디스커버리 프로세스에 의해 취득한 맵 정보에 기초하여 EXP(4) 관리 하의 DE(5)를 인식해 DE(5)에의 SMP Function의 발행 순서를 결정하는 경우에는, 감시부(40b)는 당해 맵 정보에 기초하여, CM(3)이 마지막으로 SMP Function을 발행하는 DE(5)를 예측할 수 있다.
통지 제어부(40c)는, 감시부(40b)에 의해 액세스가 종료한 것이 검출된 경우, 통지부(40a)에 의한 BC(CHG)의 전송처를, BC(CHG)의 전송이 행하여지지 않은 CM(3) 중 1 이상인 CM(3)으로 전환하는 것이다. 또한, 1 이상인 CM(3)이란, 이하에 나타내는 예에 있어서는, 하나의 CM(3)이다.
통지 제어부(40c)는, 통지부(40a)에 의한 BC(CHG)의 전송이 모든 CM(3)에 대하여 행하여질 때까지, BC(CHG)의 전송처의 전환을 행한다.
구체적으로는, 통지 제어부(40c)는, 감시부(40b)에 의해 CM(3: 예를 들어 CM00)으로부터의 액세스가 종료한 것이 검출되면, 상술한 접속 구성 정보에 기초하여, 소정의 순서(예를 들어 CM(3)의 최소 번호부터 순서)로 다음 전송처의 CM(3: 예를 들어 CM01)을 선택한다. 그리고, 통지 제어부(40c)는, 선택한 전송처의 CM(3)에 대하여, 큐잉중인 BC(CHG)를 통지부(40a)에 전송시킨다.
또한, 이 소정의 순서는 상술한 것에 한정되지 않고, 예를 들어 CM00 내지 07 중 최대 번호부터 순서라도 좋고, CM(3)에 접속되는 EXP(4)의 Phy(44)의 포트 번호에 기초하는 순서라도 좋으며, 복수의 CM(3) 간에서 순서 매김이 가능하면 어떤 정보를 사용해도 좋다.
그리고, 통지부(40a)는, 통지 제어부(40c)에 의해 선택된 다음 전송처의 CM(3)에 대하여, 메모리(43) 등의 버퍼에 유지된 상태 변화의 발생을 나타내는 정보에 기초하는 BC(CHG)를 전송한다.
또한, EXP(4)는, 미리 설정된 접속 구성 정보에 있어서의 모든 CM(3)으로부터의 디스커버리 프로세스(맵 정보 요구)를 처리한 것을 계기로, BC(CHG)의 발행원인 EXP(6)에 BC(CHG)에 관한 처리가 종료한 것을 나타내는 응답을 되돌린다.
이와 같이, 통지부(40a), 감시부(40b) 및 통지 제어부(40c)에 의하면, 복수의 CM(3)으로부터의 디스커버리 프로세스가 EXP(4)에 집중되지 않기 때문에, EXP(4)의 성능 넥에 의한 처리 지연이나, CM(3)에 있어서의 맵 정보의 획득 지연, 타임 아웃 발생 등을 피할 수 있다.
리셋부(40d)는, SAS 디바이스(7)에 관한 상태 변화의 발생을 나타내는 것 외의 통지, 즉 다른 BC(CHG)를 DE(5)로부터 받은 경우, 통지부(40a), 감시부(40b) 및 통지 제어부(40c)에 있어서의 전의 BC(CHG)에 관한 처리를 리셋하는 것이다.
구체적으로는, 리셋부(40d)는 모든 CM(3)에 있어서의 디스커버리 프로세스가 종료되지 않는 상태에서, EXP(4)가 어느 하나의 DE(5)에서 발생한 다른 상태 변화에 의한 BC(CHG)를 수령한 경우, 통지부(40a)의 동작을 정지시킴과 함께, 큐잉중인 BC(CHG)를 파기시킨다. 또한, 감시부(40b)에 대하여, Phy(44)의 감시 상태를 해제함과 함께, 통지 제어부(40c)의 동작을 정지시킨다.
리셋부(40d)에 의해 리셋이 행하여지면, 통지부(40a)는, 상술한 동작과 마찬가지로, 복수의 CM(3) 중 일부 CM(3)에 대하여, 새롭게 발생한 다른 BC(CHG)를 전송한다.
〔1-3〕스토리지 장치의 동작예
이어서, 상술한 바와 같이 구성된 본 실시 형태에 관한 스토리지 장치(1)에 있어서의 BC(CHG) 발행시의 동작예를 도 5 및 도 6을 참조하면서 설명한다. 또한, 도 6은, 본 실시 형태에 관한 스토리지 장치(1)의 동작예를 설명하는 흐름도이다.
처음에, DE(5: EXP10 내지 43) 중 어느 하나에서 SAS의 변화(SAS 디바이스(7)에 관한 상태 변화)가 발생하면, 상태 변화의 발생을 검출한 EXP(6)에 의해, 상위 EXP(4 또는 6)에 대하여 BC(CHG)가 발행된다(스텝 S1).
예를 들어, 도 5에 도시한 EXP30에서 상태 변화의 발생이 검출되면, EXP30에 의해 상위 EXP20에 대하여 BC(CHG)가 발행된다. BC(CHG)를 수신한 EXP20은, 디스커버리 프로세스를 실행해서 자신에 접속되어 있는 SAS 디바이스(7)나 하위 EXP30에 관한 루트 테이블(상태 정보)을 갱신함과 함께, 상위 EXP10에 대하여 BC(CHG)를 전송한다. BC(CHG)가 전송된 EXP10도, 마찬가지로 디스커버리 프로세스의 실행에 의해 하위 SAS 디바이스(7)나 EXP20, 30, 40에 관한 루트 테이블(상태 정보)을 갱신함과 함께, 상위 EXP00에 대하여 BC(CHG)를 전송한다.
계속해서, 하위측 EXP(6)로부터 BC(CHG)를 수령한 EXP(4)에 의해, 하위측의 EXP(6)에 대하여 디스커버리 프로세스가 개시되고, 하위측의 EXP(6)로부터 상태 정보 등의 정보가 채취된다(스텝 S2).
예를 들어, 도 5에 도시하는 EXP30으로부터 발행된 BC(CHG)를 수령하면, EXP(4)는 하위에 접속된 EXP10 내지 13(및 SAS 디바이스(7))으로부터 상태 정보를 취득한다.
그리고, EXP(4: 통지부(40a))에 의해, CM 번호를 XX로 하여 초기값이 XX=00으로 설정되고(스텝 S3), 최소 번호인 CM(3)의 CM00에만 BC(CHG)가 전송된다. 또한, 그 밖의 CM01 내지 07에 대한 BC(CHG)는 전송되지 않고, 통지부(40a)에 의해 EXP(4) 내로 큐잉된다.
또한, EXP(4: 감시부(40b))에 의해, BC(CHG)를 전송한 CM00에의 SAS 포트인 Phy(44)가 감시 상태로 되고, CM00으로부터의 SAS 프레임이 감시된다(스텝 S4).
이어서, EXP(4)로부터 BC(CHG)를 수령한 CM00에 의해, 디스커버리 프로세스가 개시된다.
우선, CM00에 의해, 관리 하의 EXP(4)에 대하여 SMP Function이 발행되고, EXP(4)로부터의 리스펀스인 맵 정보가 수신된다. 그리고, CM00에 의해, EXP(4)의 관리 하에 EXP10 내지 13이 존재하는 것이 인식되면, 이들 EXP10 내지 13에 대하여 각각 SMP Function이 발행된다(스텝 S5).
계속해서, CM00에 의해, 예를 들어 EXP20 내지 23, EXP30 내지 33 및 EXP40 내지 43 순으로 SMP Function이 발행되고, 모든 EXP(6)가 인식되면, CM00에 있어서의 디스커버리 프로세스가 종료한다(스텝 S6).
또한, 감시부(40b)에 의한 CM00으로부터 발행되는 SMP Function의 감시에 의해, 최하단의 EXP40 내지 43에 대한 SMP Function이 종료한 것이 판단된 경우에, EXP(4)는 CM00에 의한 디스커버리 프로세스가 종료했다고 판단한다.
그리고, EXP(4: 통지 제어부(40c))에 의해, 모든 CM(3)에 의한 디스커버리 프로세스가 종료되었는지 여부가 판단되고(스텝 S7), 종료하고 있지 않은 경우에는(스텝 S7의 "아니오" 루트), CM 번호의 XX가 소정의 순서에 따라서 다음 CM 번호(예를 들어 다음으로 작은 번호인 XX=01)로 설정된다(스텝 S8). 이 경우, 통지부(40a)에 의해, 큐잉하고 있던 BC(CHG)가 CM01에 대하여 전송되고, 감시부(40b)에 의해, CM01에의 Phy(44)가 감시 상태로 되며(스텝 S4), 스텝 S5의 처리로 이행한다. 또한, 감시부(40b)에 의한 CM00에의 Phy(44)의 감시 상태는 해제된다.
상술한 스텝 S4 내지 S8의 처리가 전체 CM(3)에 대하여 행하여지면, 통지 제어부(40c)에 의해, 스텝 S7에 있어서 모든 CM(3)에 의한 디스커버리 프로세스가 종료했다고 판단된다(스텝 S7의 "예" 루트). 즉, 모든 CM(3)이 SAS의 변화를 인식하게 된다.
또한, 스텝 S4 내지 S8 처리 중에 EXP(4)가 다른 새로운 BC(CHG)를 수령한 경우에는, 상술한 바와 같이, 리셋부(40d)에 의해, 큐잉중인 전의 BC(CHG)가 파기되고, 새로운 BC(CHG)에 대해서 스텝 S2 이후의 처리가 행하여진다.
상술한 바와 같이, 본 실시 형태에 관한 EXP(4)에 의하면, 관리 하의 EXP(6)로부터 BC(CHG)를 수신했을 때에, 전체 CM(3)에 동시에 BC(CHG)를 전송하는 동작 대신, 최소 번호의 CM(3)부터 1개씩 순서대로 BC(CHG)를 전송하게 된다. 더욱 구체적으로는, EXP(4)가 관리 하의 EXP(6)로부터의 BC(CHG)를 수신하면, EXP(4)에 의해, 상위의 전체 CM(3)에 대하여 1CM씩 순차 디스커버리 프로세스가 개시되도록, BC(CHG)의 송신이 제어된다.
따라서, 각 CM(3)의 디스커버리 프로세스에 시간 차를 형성할 수 있고, 각CM(3)의 디스커버리 프로세스가 경합하지 않게 되기 때문에, EXP(4 및 6)에 대한 액세스 경합을 경감시킬 수 있다. 특히, 임의의 EXP(6)로부터 송신된 BC(CHG)에 대응하여, 각 CM(3)이 일제히 디스커버리 프로세스를 개시하는 것을 방지할 수 있기 때문에, 다수의 CM(3)으로부터 EXP(4)에의 디스커버리 프로세스의 집중을 피할 수 있다. 이에 의해, EXP(4)가 폭주 상태가 되는 것을 억제할 수 있고, 성능 넥에 의한 처리 지연이나 CM(3)에 있어서의 맵 정보의 획득 지연, 타임 아웃 발생 등을 억제할 수 있다. 특히, 각 EXP(4)에 대하여 복수의 이니시에이터가 접속되는, 도 1 및 도 5에 예시하는 대규모 스토리지 시스템의 구성에 있어서, 현저한 효과를 얻을 수 있다.
또한, 본 실시 형태에 관한 EXP(4)에 의하면, 감시부(40b)에 의해, BC(CHG)가 전송된 CM(3)으로부터 EXP(4)를 통한 DE(5)에의 액세스가 감시된다. 그리고, 감시부(40b)에 의해 액세스가 종료한 것이 검출된 경우에, 통지 제어부(40c)에 의해, BC(CHG)의 전송처가, 전송이 행하여지지 않은 CM(3) 중 1 이상의 CM(3)으로 전환된다. 이와 같이, CM(3)의 디스커버리 프로세스에 의한 액세스가 종료했을 때에 다음 CM(3)으로 BC(CHG)가 전송되기 때문에, EXP(4)는, 디스커버리 프로세스의 처리 상태에 추종해서, 유연하게 다음 CM(3)의 디스커버리 프로세스의 개시를 제어할 수 있어, 효율적으로 리소스를 이용할 수 있다.
또한, 본 실시 형태에 관한 감시부(40b)에 의하면, BC(CHG)가 전송된 CM(3)과 DE(5) 사이의 SMP Function(제어 정보) 및 리스펀스(응답 정보) 중 적어도 한쪽이 감시된다. 따라서, EXP(4)는 SMP Function 또는 리스펀스의 발행이 종료한 경우에, CM(3)에 의한 디스커버리 프로세스에 관한 액세스가 종료한 것을 확실하게 검출할 수 있다.
또한, 본 실시 형태에 관한 통지 제어부(40c)에 의하면, 통지부(40a)에 의한 BC(CHG)의 전송이 모든 CM(3)에 대하여 행하여질 때까지, 전송처의 전환이 행하여지기 때문에, 모든 CM(3)이, 디스커버리 프로세스의 처리 지연이나 타임 아웃 발생 등의 영향을 받지 않고 확실하게 맵 정보를 획득할 수 있다.
또한, 본 실시 형태에 관한 리셋부(40d)에 의하면, SAS 디바이스(7)에 관한 상태 변화의 발생을 나타내는 다른 통지, 즉 다른 BC(CHG)를 DE(5)로부터 받은 경우, 통지부(40a), 감시부(40b) 및 통지 제어부(40c)에 있어서의 전의 통지에 관한 처리가 리셋된다. 또한, 통지부(40a)에 의해, 리셋 후에, 복수의 CM(3) 중 일부 CM(3)에 대하여 다른 BC(CHG)가 전송된다. 이에 의해, 전의 BC(CHG)에 관한 처리 중에 다른 BC(CHG)가 발행된 경우에는, 스토리지 장치(1)의 최신 상태에 관한 정보를 취득하기 위한 당해 다른 BC(CHG)에 관한 디스커버리 프로세스를, 효율적으로(빠르게) 실행할 수 있다.
〔2〕기타
이상, 본 발명의 바람직한 실시 형태에 대해서 상세하게 설명했지만, 본 발명은 이러한 특정한 실시 형태에 한정되는 것이 아니라, 본 발명의 취지를 일탈하지 않는 범위 내에서, 다양하게 변형, 변경해서 실시할 수 있다.
예를 들어, 상술한 실시 형태에 있어서, 통지부(40a)는, BC(CHG)의 전송처의 CM(3)으로서, 복수의 CM(3) 중 1개의 CM(3)을 선택하고, 통지 제어부(40c)는 다음 전송처의 CM(3)으로서, 전송이 행해지고 있지 않은 CM(3) 중 1개의 CM(3)을 선택하고 있었지만, 이것에 한정되는 것은 아니다.
예를 들어, 통지부(40a) 및 통지 제어부(40c)는, 전송처로서, 2 이상의 CM(3)을 동시에 선택하고, 통지부(40a)는 2개 이상의 CM(3)에 대하여 BC(CHG)를 전송해도 좋다. 이 경우에도, 모든 CM(3)에 대하여 동시에 BC(CHG)가 전송되는 것보다도, EXP(4 및 6)에 대한 액세스 경합을 경감시킬 수 있기 때문에, 상술한 바와 같은 효과를 얻을 수 있다.
또한, 상술한 실시 형태에 있어서, 통지 제어부(40c)는 감시부(40b)에 의해 CM(3)과 최종 DE(5: EXP(6)) 사이의 액세스가 종료한 것이 검출된 경우에, BC(CHG)의 전송처를 전환하고 있었지만, 이것에 한정되는 것은 아니다.
예를 들어, 통지 제어부(40c)는, 감시부(40b)에 의한 감시에 의해, CM(3)과 소정의 DE(5: EXP(6)) 사이의 액세스가 종료한 경우에, 전송처를 전환해서 통지부(40a)에 BC(CHG)를 전송시켜도 좋다. 즉, BC(CHG)의 전송이, 전의 CM(3)에 의한 디스커버리 프로세스가 종료하기 전에 행하여져도 좋다. 이 경우, 먼저 BC(CHG)가 전송된 CM(3)에 의한 디스커버리 프로세스와, 후에 BC(CHG)가 전송된 CM(3)에 의한 디스커버리 프로세스는, 일부 시간에 병행해서 행하여지게 된다. 이 경우에도, 모든 CM(3)에 대하여 동시에 BC(CHG)가 전송되는 것보다도, EXP(4 및 6)에 대한 액세스 경합을 경감시킬 수 있기 때문에, 상술한 바와 같이 효과를 얻을 수 있다.
또한, 상술한 실시 형태에 있어서, BC(CHC)가 EXP(6)로부터 발행될 경우에 대해서 설명했지만, 이것에 한정되는 것은 아니다.
예를 들어, CE(2)가 SAS 디바이스(7)를 구비하는 기억 장치로서 기능하고, EXP(4)가 SAS 디바이스(7)의 상태 변화의 발생을 검출한 경우에는, EXP(4)가 디스커버리 프로세스를 실행해서 관리 하의 디바이스에 관한 상태 정보를 취득한다. 그리고, 통지부(40a)가 상술한 바와 같이 BC(CHG)를 발행하고, 도 6 등을 사용해서 상술한 처리를 행할 수 있다.
또한, 도 1에 예시하는 CE(2) 내의 EXP(4) 및 각 DE(5) 내의 EXP(6)는, 각각 용장화되어 있지만, 상술한 실시 형태에 있어서는, EXP(4)에 대해, 도 5에 예시한 바와 같이 제1 계열에 착안해서 설명했다. 그러나, 실제로는, 임의의 DE(5: 예를 들어 EXP30 및 34를 구비하는 DE(5))에 있어서 상태 변화의 발생이 검출된 경우, EXP30 및 34의 양쪽에서 BC(CHG)가 발행된다.
예를 들어 EXP30 및 34로부터 BC(CHG)가 발행될 경우, 제1 및 제2 계열 각각에 있어서, 상술한 BC(CHG)의 전반 및 디스커버리 프로세스가 병행해서 행하여진다. 이 경우, EXP00 및 01은, 접속 구성 정보에 기초하여, 서로 상이한 순서로, BC(CHG)의 전송처인 CM(3)을 선택해도 좋다. 이에 의해, 1개의 CM(3)이 동시에 제l 및 제2 계열에 대하여 디스커버리 프로세스를 행하는 것을 방지할 수 있어, CM(3)의 처리 지연 등을 억제할 수 있다.
또한, 통지부(40a), 감시부(40b), 통지 제어부(40c) 및 리셋부(40d)로서의 기능을 실현하기 위한 프로그램(처리 프로그램)은, 예를 들어 플렉시블 디스크, CD(CD-ROM, CD-R, CD-RW 등), DVD(DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, HD DVD 등), 블루레이 디스크, 자기 디스크, 광 디스크, 광자기 디스크 등의, 컴퓨터 판독 가능한 기록 매체에 기록된 형태에서 제공된다. 그리고, 컴퓨터는 그 기록 매체로부터 프로그램을 판독해서 내부 기억 장치 또는 외부 기억 장치에 전송하여 저장해서 사용한다. 또한, 그 프로그램을, 예를 들어 자기 디스크, 광 디스크, 광자기 디스크 등의 기억 장치(기록 매체)에 기록해 두고, 그 기억 장치로부터 통신 회선을 통해서 컴퓨터에 제공하도록 해도 좋다.
통지부(40a), 감시부(40b), 통지 제어부(40c) 및 리셋부(40d)로서의 기능을 실현할 때에는, 내부 기억 장치(본 실시 형태에서는 도시하지 않은 ROM 또는 메모리(43))에 저장된 프로그램이 컴퓨터의 마이크로프로세서(본 실시 형태에서는 프로세서(42))에 의해 실행된다. 이때, 기록 매체에 기록된 프로그램을 컴퓨터가 판독해서 실행하도록 해도 좋다.
또한, 본 실시 형태에 있어서, 컴퓨터란, 하드웨어와 오퍼레이팅 시스템을 포함하는 개념이며, 오퍼레이팅 시스템의 제어 하에서 동작하는 하드웨어를 의미하고 있다. 또한, 오퍼레이팅 시스템이 불필요해서 어플리케이션 프로그램 단독으로 하드웨어를 동작시키는 경우에는, 그 하드웨어 자체가 컴퓨터에 상당한다. 하드웨어는, 적어도 CPU 등의 마이크로프로세서와, 기록 매체에 기록된 컴퓨터 프로그램을 판독하기 위한 수단을 구비하고 있고, 본 실시 형태에 있어서는, EXP(4)가 컴퓨터로서의 기능을 갖고 있는 것이다.
〔3〕부기
이상의 실시 형태에 관하여, 다시 이하의 부기를 개시한다.
(부기 1)
적어도 하나의 기억부를 구비하는 기억 장치와 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치로서,
상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하는 통지부와,
상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하는 감시부와,
상기 감시부에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지부에 의한 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 1 이상의 제어부로 전환하는 통지 제어부를 구비하는 것을 특징으로 하는, 접속 장치.
(부기 2)
상기 감시부는, 상기 통지가 전송된 제어부로부터 상기 기억 장치에 대하여 발행되는, 상기 상태 변화의 발생에 따라서 상기 기억 장치를 제어하는 제어 정보 및 상기 기억 장치로부터 상기 제어부에 대하여 발행되는 상기 제어 정보에 대한 응답 정보 중 적어도 한쪽을 감시하고, 감시하는 상기 제어 정보 및 상기 응답 정보 중 적어도 한쪽의 발행이 종료한 경우, 상기 액세스가 종료한 것을 검출하는 것을 특징으로 하는, 부기 1 기재의 접속 장치.
(부기 3)
상기 통지 제어부는, 상기 통지부에 의한 상기 통지의 전송이 모든 상기 제어부에 대하여 행해질 때까지, 상기 전환을 행하는 것을 특징으로 하는, 부기 1 또는 부기 2 기재의 접속 장치.
(부기 4)
상기 기억 장치로부터 통지된 상기 상태 변화의 발생을 나타내는 정보를 유지하는 유지부를 더 구비하고,
상기 통지부는 상기 전송처의 제어부에 대하여, 상기 유지부에 유지된 상기 상태 변화의 발생을 나타내는 정보에 기초하는 상기 통지를 전송하고,
상기 통지 제어부는, 상기 통지부에 의한 상기 통지의 전송이 모든 상기 제어부에 대하여 행하여지면, 상기 유지부에 유지된 상기 상태 변화의 발생을 나타내는 정보를 하는 것을 특징으로 하는, 부기 3 기재의 접속 장치.
(부기 5)
상기 접속 장치에는, 각각이 적어도 하나의 기억부를 구비하는 복수의 기억 장치가, 직접 접속 또는 상기 직접 접속되는 기억 장치에 종속 접속되고,
상기 감시부는, 상기 통지가 전송된 제어부로부터 상기 복수의 기억 장치 중 최종의 기억 장치에의 액세스가 종료한 경우, 상기 액세스가 종료한 것을 검출하는 것을 특징으로 하는, 부기 1 내지 4 중 어느 한 항 기재의 접속 장치.
(부기 6)
상기 접속 장치는, 상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 접속 장치에 접속된 상기 기억 장치로부터, 상기 기억 장치의 상태 정보를 취득하고,
상기 통지부는, 상기 상태 정보를 모든 상기 기억 장치로부터 취득한 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하는 것을 특징으로 하는, 부기 5 기재의 접속 장치.
(부기 7)
상기 접속 장치는, 상기 통지가 전송된 제어부로부터, 상기 기억 장치에의 액세스에 앞서 상기 접속 장치에 대하여 접속 정보의 요구가 있는 경우에, 상기 제어부에 대하여 접속 정보를 송신하고,
상기 감시부는, 상기 송신한 접속 정보에 기초하여, 상기 최종 기억 장치를 검출하는 것을 특징으로 하는, 부기 5 또는 부기 6 기재의 접속 장치.
(부기 8)
상기 기억부에 관한 상태 변화의 발생을 나타내는 다른 통지를 상기 기억 장치로부터 받은 경우, 상기 통지부, 상기 감시부 및 상기 통지 제어부에 있어서의 전의 통지에 관한 처리를 리셋하는 리셋부를 더 구비하고,
상기 통지부는, 상기 리셋부에 의한 리셋 후에, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 다른 통지를 전송하는 것을 특징으로 하는, 부기 1 내지 7 중 어느 한 항 기재의 접속 장치.
(부기 9)
상기 통지부는, 미리 설정된 접속 구성 정보에 기초하여, 상기 통지를 전송하는 상기 복수의 제어부 중 일부 제어부를 선택하고,
상기 통지 제어부는, 상기 접속 구성 정보에 기초하여, 소정의 순서로 상기 전송처의 하나 이상의 제어부를 선택하는 것을 특징으로 하는, 부기 1 내지 8 중 어느 한 항 기재의 접속 장치.
(부기 10)
상기 통지부는, 상기 통지를 상기 복수의 제어부 중 하나의 제어부에 대하여 전송하고,
상기 통지 제어부는, 상기 감시부에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지부에 의한 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중의 다른 제어부로 전환하는 것을 특징으로 하는, 부기 l 내지 9 중 어느 한 항 기재의 접속 장치.
(부기 11)
적어도 하나의 기억부를 구비하는 기억 장치와,
상기 기억 장치에 대한 제어를 행하는 복수의 제어부와,
상기 기억 장치와 상기 복수의 제어부 사이에 개재 설치되는 접속 장치로서, 상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하는 통지부와, 상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하는 감시부와, 상기 감시부에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지부에 의한 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 하나 이상의 제어부로 전환하는 통지 제어부를 구비하는 접속 장치를 구비하는 것을 특징으로 하는, 스토리지 장치.
(부기 12)
상기 감시부는, 상기 통지가 전송된 제어부로부터 상기 기억 장치에 대하여 발행되는, 상기 상태 변화의 발생에 따라서 상기 기억 장치를 제어하는 제어 정보 및 상기 기억 장치로부터 상기 제어부에 대하여 발행되는 상기 제어 정보에 대한 응답 정보 중 적어도 한쪽을 감시하고, 감시하는 상기 제어 정보 및 상기 응답 정보 중 적어도 한쪽의 발행이 종료한 경우, 상기 액세스가 종료한 것을 검출하는 것을 특징으로 하는, 부기 11 기재의 스토리지 장치.
(부기 13)
상기 통지 제어부는, 상기 통지부에 의한 상기 통지의 전송이 모든 상기 제어부에 대하여 행하여질 때까지, 상기 전환을 행하는 것을 특징으로 하는, 부기 11 또는 부기 12 기재의 스토리지 장치.
(부기 14)
상기 접속 장치에는, 각각이 적어도 하나의 기억부를 구비하는 복수의 기억 장치가, 직접 접속 또는 상기 직접 접속되는 기억 장치에 종속 접속되고,
상기 감시부는, 상기 통지가 전송된 제어부로부터 상기 복수의 기억 장치 중 최종 기억 장치에의 액세스가 종료한 경우, 상기 액세스가 종료한 것을 검출하는 것을 특징으로 하는, 부기 11 내지 13 중 어느 한 항 기재의 스토리지 장치.
(부기 15)
적어도 하나의 기억부를 구비하는 기억 장치와, 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치에 있어서의 처리 방법으로서,
상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하고,
상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하고,
상기 감시에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 하나 이상의 제어부로 전환하는 것을 특징으로 하는, 처리 방법.
(부기 16)
상기 액세스의 감시는, 상기 통지가 전송된 제어부로부터 상기 기억 장치에 대하여 발행되는, 상기 상태 변화의 발생에 따라서 상기 기억 장치를 제어하는 제어 정보 및 상기 기억 장치로부터 상기 제어부에 대하여 발행되는 상기 제어 정보에 대한 응답 정보 중 적어도 한쪽을 감시함으로써 행해지고,
감시하는 상기 제어 정보 및 상기 응답 정보 중 적어도 한쪽의 발행이 종료한 경우, 상기 액세스가 종료한 것을 검출하는 것을 특징으로 하는, 부기 15 기재의 처리 방법.
(부기 17)
상기 통지의 전송처는, 상기 통지의 전송이 모든 상기 제어부에 대하여 행해질 때까지, 전환되는 것을 특징으로 하는, 부기 15 또는 부기 16 기재의 처리 방법.
(부기 18)
상기 접속 장치에는, 각각이 적어도 하나의 기억부를 구비하는 복수의 기억 장치가, 직접 접속 또는 상기 직접 접속되는 기억 장치에 종속 접속되고,
상기 통지가 전송된 제어부로부터 상기 복수의 기억 장치 중 최종 기억 장치에의 액세스가 종료한 경우, 상기 액세스가 종료한 것을 검출하는 것을 특징으로 하는, 부기 15 내지 17 중 어느 한 항 기재의 처리 방법.
(부기 19)
상기 기억부에 관한 상태 변화의 발생을 나타내는 다른 통지를 상기 기억 장치로부터 받은 경우, 전의 통지에 관한 상기 통지의 전송, 상기 액세스의 감시 및 상기 통지의 전송처의 전환의 처리를 리셋하고,
리셋 후에, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 다른 통지를 전송하는 것을 특징으로 하는, 부기 15 내지 18 중 어느 한 항 기재의 처리 방법.
(부기 20)
적어도 하나의 기억부를 구비하는 기억 장치와, 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치로서의 컴퓨터에,
상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하고,
상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하며,
상기 감시에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 하나 이상의 제어부로 전환하는,
처리를 실행시키는 것을 특징으로 하는, 처리 프로그램.
1, 100: 스토리지 장치
2, 2, 200: 컨트롤러 인크로저
3: 컨트롤러 모듈(제어부)
31: 호스트 어댑터
32, 42: 프로세서
33: 메모리(유지부)
34: SAS IO 컨트롤러
300: 컨트롤러 모듈
4: 엑스팬더(접속 장치)
40a: 통지부
40b: 감시부
40c: 통지 제어부
40d: 리셋부
41: 엑스팬더 칩
42a: SMP 논리 디바이스
42b: SSP 논리 디바이스
43: 메모리
44: Phy(포트)
45a: 시리얼 포트
45b: 이 서포트
46: 전원
47: PLD
48: 스위치
5: 드라이브 인크로저(기억 장치)
500: 드라이브 인크로저
6, 400, 600: 엑스팬더
7: SAS 드라이브(기억부)
700: SAS 드라이브
8, 800: 호스트

Claims (8)

  1. 적어도 하나의 기억부를 구비하는 기억 장치와 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치로서,
    상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하는 통지부와,
    상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하는 감시부와,
    상기 감시부에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지부에 의한 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 1 이상의 제어부로 전환하는 통지 제어부를 구비하는 것을 특징으로 하는, 접속 장치.
  2. 제1항에 있어서, 상기 감시부는, 상기 통지가 전송된 제어부로부터 상기 기억 장치에 대하여 발행되는, 상기 상태 변화의 발생에 따라서 상기 기억 장치를 제어하는 제어 정보 및 상기 기억 장치로부터 상기 제어부에 대하여 발행되는 상기 제어 정보에 대한 응답 정보 중 적어도 한쪽을 감시하고, 감시하는 상기 제어 정보 및 상기 응답 정보 중 적어도 한쪽의 발행이 종료한 경우, 상기 액세스가 종료한 것을 검출하는 것을 특징으로 하는, 접속 장치.
  3. 제1항 또는 제2항에 있어서, 상기 통지 제어부는, 상기 통지부에 의한 상기 통지의 전송이 모든 상기 제어부에 대하여 행하여질 때까지, 상기 전환을 행하는 것을 특징으로 하는, 접속 장치.
  4. 제1항 또는 제2항에 있어서, 상기 접속 장치에는, 각각이 적어도 하나의 기억부를 구비하는 복수의 기억 장치가, 직접 접속, 또는, 상기 직접 접속되는 기억 장치에 종속 접속되고,
    상기 감시부는, 상기 통지가 전송된 제어부로부터 상기 복수의 기억 장치 중 최종 기억 장치에의 액세스가 종료한 경우, 상기 액세스가 종료한 것을 검출하는 것을 특징으로 하는, 접속 장치.
  5. 제1항 또는 제2항에 있어서, 상기 기억부에 관한 상태 변화의 발생을 나타내는 다른 통지를 상기 기억 장치로부터 받은 경우, 상기 통지부, 상기 감시부 및 상기 통지 제어부에 있어서의 전의 통지에 관한 처리를 리셋하는 리셋부를 더 구비하고,
    상기 통지부는, 상기 리셋부에 의한 리셋 후에, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 다른 통지를 전송하는 것을 특징으로 하는, 접속 장치.
  6. 적어도 하나의 기억부를 구비하는 기억 장치와,
    상기 기억 장치에 대한 제어를 행하는 복수의 제어부와,
    상기 기억 장치와 상기 복수의 제어부 사이에 개재 설치되는 접속 장치로서, 상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하는 통지부와, 상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하는 감시부와, 상기 감시부에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지부에 의한 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 1 이상의 제어부로 전환하는 통지 제어부를 구비하는 접속 장치를 구비하는 것을 특징으로 하는, 스토리지 장치.
  7. 적어도 하나의 기억부를 구비하는 기억 장치와, 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치에 있어서의 처리 방법으로서,
    상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하고,
    상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하고,
    상기 감시에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 1 이상의 제어부로 전환하는 것을 특징으로 하는, 처리 방법.
  8. 적어도 하나의 기억부를 구비하는 기억 장치와, 상기 기억 장치에 대한 제어를 행하는 복수의 제어부 사이에 개재 설치되는 접속 장치로서의 컴퓨터에,
    상기 기억부에 관한 상태 변화의 발생을 나타내는 통지를 상기 기억 장치로부터 받은 경우, 상기 복수의 제어부 중 일부 제어부에 대하여 상기 통지를 전송하고,
    상기 통지가 전송된 제어부로부터 상기 접속 장치를 통한 상기 기억 장치에의 액세스를 감시하고,
    상기 감시에 의해 상기 액세스가 종료한 것이 검출된 경우, 상기 통지의 전송처를, 상기 통지의 전송이 행하여지지 않은 제어부 중 1 이상의 제어부로 전환하는, 처리를 실행시키는 것을 특징으로 하는, 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
KR1020120113760A 2011-12-27 2012-10-12 접속 장치, 스토리지 장치, 접속 장치에 있어서의 처리 방법, 및 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 KR101318004B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011285715A JP5923976B2 (ja) 2011-12-27 2011-12-27 接続装置、ストレージ装置、接続装置における処理方法、および処理プログラム
JPJP-P-2011-285715 2011-12-27

Publications (2)

Publication Number Publication Date
KR20130075647A true KR20130075647A (ko) 2013-07-05
KR101318004B1 KR101318004B1 (ko) 2013-10-14

Family

ID=47178490

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120113760A KR101318004B1 (ko) 2011-12-27 2012-10-12 접속 장치, 스토리지 장치, 접속 장치에 있어서의 처리 방법, 및 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체

Country Status (5)

Country Link
US (1) US8645587B2 (ko)
EP (1) EP2610729A3 (ko)
JP (1) JP5923976B2 (ko)
KR (1) KR101318004B1 (ko)
CN (1) CN103227808A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5377399B2 (ja) * 2010-04-09 2013-12-25 株式会社日立製作所 フレーム転送装置及びフレーム転送方法
TWI598739B (zh) * 2013-10-18 2017-09-11 美超微電腦股份有限公司 硬碟擴展裝置
US9542348B2 (en) * 2014-04-08 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Arbitration monitoring for serial attached small computer system interface systems during discovery
CN105988726B (zh) * 2014-10-31 2019-06-11 株式会社东芝 存储装置及用于利用电源无效信号的方法
CN104391548A (zh) * 2014-12-16 2015-03-04 浪潮电子信息产业股份有限公司 一种提高服务器Expander板卡芯片FW烧录效率的方法
CN104598275A (zh) * 2015-01-13 2015-05-06 浪潮电子信息产业股份有限公司 一种提高lsisas2x20芯片fw烧录效率的烧录方法
CN111209236A (zh) * 2020-01-03 2020-05-29 苏州浪潮智能科技有限公司 一种多级级联expander的通信方法
CN111240932A (zh) * 2020-01-09 2020-06-05 苏州浪潮智能科技有限公司 一种机箱管理方法、装置及电子设备和存储介质
CN114415957B (zh) * 2022-01-20 2022-11-29 无锡众星微系统技术有限公司 一种级联expander自动配置方法和装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764898A (ja) * 1993-08-26 1995-03-10 Hitachi Ltd 電子計算機の周辺装置接続システム
JPH08286989A (ja) * 1995-04-19 1996-11-01 Fuji Xerox Co Ltd ネットワーク管理システム
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP2006107080A (ja) * 2004-10-05 2006-04-20 Hitachi Ltd ストレージ装置システム
JP2006127217A (ja) * 2004-10-29 2006-05-18 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP4479564B2 (ja) 2005-03-28 2010-06-09 日本電気株式会社 ネットワークシステム初期化時のチャネル制御方法、プログラム、およびコンピュータシステム
JP4806557B2 (ja) 2005-10-18 2011-11-02 株式会社日立製作所 ログを管理するストレージ装置及び計算機システム
JP4775846B2 (ja) * 2006-03-20 2011-09-21 株式会社日立製作所 物理リンクの割当てを制御するコンピュータシステム及び方法
CN100458808C (zh) * 2006-04-26 2009-02-04 南京大学 一种对即插即用存储设备进行读写访问控制的方法
EP2052326B1 (en) 2006-06-08 2012-08-15 Dot Hill Systems Corporation Fault-isolating sas expander
US7536508B2 (en) * 2006-06-30 2009-05-19 Dot Hill Systems Corporation System and method for sharing SATA drives in active-active RAID controller system
KR101338595B1 (ko) * 2006-12-20 2013-12-06 후지쯔 가부시끼가이샤 통신 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 통신 처리 방법
JP4940967B2 (ja) * 2007-01-30 2012-05-30 富士通株式会社 ストレージシステム、ストレージ装置、ファームウェアの活性交換方法、ファームウェアの活性交換プログラム
JP4869123B2 (ja) * 2007-03-28 2012-02-08 株式会社日立製作所 ストレージシステム
JP4438010B2 (ja) * 2007-08-30 2010-03-24 富士通株式会社 中継装置、中継方法および中継制御プログラム
WO2010097933A1 (ja) * 2009-02-27 2010-09-02 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP5376221B2 (ja) * 2009-03-31 2013-12-25 富士通株式会社 状態通知システム、状態通知装置、状態監視装置、状態検知装置、状態通知プログラムおよび状態通知方法
US8095820B2 (en) * 2009-06-02 2012-01-10 Hitachi, Ltd. Storage system and control methods for the same
JP5391994B2 (ja) 2009-10-19 2014-01-15 富士通株式会社 ストレージシステム,制御装置および診断方法
JP5327036B2 (ja) 2009-12-21 2013-10-30 富士通株式会社 記憶装置接続装置,ストレージ装置,情報管理方法及び情報管理プログラム
JP5663950B2 (ja) * 2010-05-19 2015-02-04 富士通株式会社 接続拡張装置及びストレージシステム

Also Published As

Publication number Publication date
CN103227808A (zh) 2013-07-31
JP5923976B2 (ja) 2016-05-25
US20130166788A1 (en) 2013-06-27
JP2013134681A (ja) 2013-07-08
KR101318004B1 (ko) 2013-10-14
US8645587B2 (en) 2014-02-04
EP2610729A3 (en) 2016-08-03
EP2610729A2 (en) 2013-07-03

Similar Documents

Publication Publication Date Title
KR101318004B1 (ko) 접속 장치, 스토리지 장치, 접속 장치에 있어서의 처리 방법, 및 처리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
CN104202197A (zh) 设备管理的方法和装置
CN112368982B (zh) 用于操作节点集群的方法、装置及可读存储介质
JP4786255B2 (ja) ストレージシステム及び記憶制御方法
TW201339969A (zh) 資料中心伺服器開機管理方法及系統
JP5308602B1 (ja) Xfr_rdyの動的なイネーブリングおよびディセーブリングのための方法、コンピュータ・プログラム、およびシステム(xfr_rdyの動的なイネーブリングおよびディセーブリング)
US9606789B2 (en) Storage device and method of updating firmware
JP5514169B2 (ja) 情報処理装置および情報処理方法
US20130232281A1 (en) Method for optimizing wide port power management in a sas topology
JP2014093073A (ja) ポートのルーティング属性を自己設定する、シリアル接続scsiエキスパンダのための方法および構造
US20140244879A1 (en) SAS Latency Based Routing
WO2016000478A1 (zh) 一种存储控制器及其使用方法
JP2006018689A (ja) ストレージ制御装置、そのクラスタ間データ通信方法、及びそのクラスタ間通信制御プログラム
JP6380040B2 (ja) ストレージ装置、中継装置、および中継制御プログラム
JP6617461B2 (ja) 制御装置、制御プログラム、及び制御方法
JP2015161999A (ja) ストレージ装置,制御装置及び制御プログラム
JP2008186179A (ja) ストレージシステム
US20140156934A1 (en) Storage apparatus and module-to-module data transfer method
US20130031570A1 (en) Sas virtual tape drive
US20120023290A1 (en) Storage system configured from plurality of storage modules and method for switching coupling configuration of storage modules
US10795846B1 (en) Scalable NVMe storage management over system management bus
JP2007213411A (ja) バスブリッジ装置
JP6356736B2 (ja) コントローラシステムおよび制御方法
US20150015987A1 (en) Prioritized Spin-Up of Drives
JP2019159437A (ja) 情報処理装置、転送制御方法および転送制御プログラム

Legal Events

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