KR100674460B1 - 라이브러리 장치 - Google Patents

라이브러리 장치 Download PDF

Info

Publication number
KR100674460B1
KR100674460B1 KR1020050095386A KR20050095386A KR100674460B1 KR 100674460 B1 KR100674460 B1 KR 100674460B1 KR 1020050095386 A KR1020050095386 A KR 1020050095386A KR 20050095386 A KR20050095386 A KR 20050095386A KR 100674460 B1 KR100674460 B1 KR 100674460B1
Authority
KR
South Korea
Prior art keywords
drive
library
controller
command path
port
Prior art date
Application number
KR1020050095386A
Other languages
English (en)
Other versions
KR20060127726A (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 KR20060127726A publication Critical patent/KR20060127726A/ko
Application granted granted Critical
Publication of KR100674460B1 publication Critical patent/KR100674460B1/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/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/2089Redundant storage control functionality
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

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)
  • Software Systems (AREA)
  • Automatic Tape Cassette Changers (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Automatic Disk Changers (AREA)

Abstract

본 발명은 라이브러리 장치를 구성하는 요소의 일부에 고장이 발생한 경우에, 라이브러리 장치 전체의 동작을 계속할 수 있는 동시에 고장 개소를 특정할 수 있는 라이브러리 장치를 제공하는 것을 목적으로 한다.
라이브러리 장치(1)를 이중화된 라이브러리 컨트롤러(Lct1 및 Lct2) 및 이중화된 드라이브 커맨드 패스(P1 및 P2)를 구비하여 구성하고, 또한 라이브러리 컨트롤러(Lct1)의 라이브러리 컨트롤러측 포트를 포트(14 및 15)에 의해 이중화하여 각각을 이중화된 드라이브 커맨드 패스(P1 및 P2)에 접속하며, 라이브러리 컨트롤러(Lct2)의 라이브러리 컨트롤러측 포트를 포트(24 및 25)에 의해 이중화하여 각각을 이중화된 드라이브 커맨드 패스(P1 및 P2)에 접속한다.

Description

라이브러리 장치{LIBRARY APPARATUS}
도 1은 본 발명에 의한 라이브러리 장치의 제1 기본 구성도.
도 2는 본 발명에 의한 라이브러리 장치의 제2 기본 구성도.
도 3은 본 발명에 의한 라이브러리 장치의 제1 실시예의 구성도.
도 4는 도 3에 도시하는 라이브러리 장치의 전체 동작 플로우 차트.
도 5는 도 4에 도시하는 서브 루틴 S13의 플로우 차트.
도 6은 도 4에 도시하는 서브 루틴 S14의 플로우 차트.
도 7은 본 발명에 의한 라이브러리 장치의 제2 실시예의 구성도.
도 8은 도 7에 도시하는 라이브러리 장치의 전체 동작 플로우 차트.
도 9는 도 8에 도시하는 서브 루틴 S42의 플로우 차트.
도 10은 도 9에 도시하는 서브 루틴 S52의 플로우 차트.
도 11은 도 9에 도시하는 서브 루틴 S53의 플로우 차트.
도 12는 종래의 라이브러리 장치의 기본 구성도.
<도면의 주요 부분에 대한 부호의 설명>
1: 라이브러리 장치
Lct, Lct1, Lct2: 라이브러리 컨트롤러
Dct, Dct1, Dct2, Dctn: 드라이브 컨트롤러
P, P1, P2: 드라이브 커맨드 패스
PL1, PL2: Lct간 접속 드라이브 커맨드 패스
PD1, PD2: Dct간 접속 드라이브 커맨드 패스
14, 15, 24, 25: 라이브러리 컨트롤러측 포트
31, 32, 41, 42, 51, 52: 드라이브 컨트롤러측 포트
본 발명은 자기 테이프, 자기 디스크나 광자기 디스크 등의 기록매체에 기록된 데이터의 판독이나 기록을 행하는 라이브러리 장치에 관한 것이다.
데이터 베이스 시스템이나 전자 파일링 시스템에는 방대한 양의 데이터를 보존해야 하기 때문에 최근 이들 시스템에는 다수의 전자 데이터의 기록매체를 수용하여 이들에 기록된 데이터의 판독이나 기록을 행하는 라이브러리 장치가 마련되는 일이 많아지고 있다. 도 12에 종래의 라이브러리 장치의 기본 구성도를 도시한다.
라이브러리 장치(1)는 호스트(2)로부터의 제어 명령에 따라 라이브러리 장치(1) 전체를 제어하는 라이브러리 컨트롤러(Lct)와, 라이브러리 컨트롤러(Lct)로부터의 제어 명령에 따라, 종속된 기억매체 드라이브 장치(D11, D12, D21, D22∼Dn1, Dn2)를 제어하는 복수의 드라이브 컨트롤러(Dct1, Dct2∼Dctn)와, 상기 라이브러리 컨트롤러(Lct)와 상기 드라이브 컨트롤러(Dct1, Dct2∼Dctn)를 접속하는 드라이브 커맨드 패스(P)를 구비하여 구성된다.
그리고 라이브러리 컨트롤러(Lct)에는 드라이브 커맨드 패스(P)와 접속되어 라이브러리 컨트롤러(Lct)에서부터 드라이브 컨트롤러(Dct1∼Dctn)로의 제어 명령의 송신이나 드라이브 컨트롤러(Dct1∼Dctn)로부터의 스테이터스 정보의 수신을 행하는 라이브러리 컨트롤러측 포트(14)가 마련되고, 드라이브 컨트롤러(Dct1, Dct2∼Dctn)에는 드라이브 커맨드 패스(P)와 접속되어 드라이브 컨트롤러에서부터 라이브러리 컨트롤러(Lct)로의 스테이터스 정보의 송신이나 라이브러리 컨트롤러(Lct)로부터의 제어 명령의 수신을 행하는 드라이브 컨트롤러측 포트(31, 41∼51)가 각각 마련된다.
호스트(2)로부터 전자 데이터의 독출/기록 명령을 수신한 라이브러리 컨트롤러(Lct)는 전자 데이터의 독출/기록 개소를 특정하고 그 데이터를 독출/기록하는 드라이브 장치를 드라이브 장치(D11∼Dn2) 중 어느 하나로부터 결정한다. 그리고 결정된 드라이브 장치를 제어하는 드라이브 컨트롤러에 대하여 드라이브 커맨드 패스(P)를 통해 전자 데이터의 독출/기록 명령을 송신한다.
전자 데이터의 독출/기록 명령을 수신한 드라이브 컨트롤러는 라이브러리 컨트롤러(Lct)에 의해 결정된 드라이브 장치에 대하여 전자 데이터의 독출/기록 제어를 행한다.
이 때, 드라이브 커맨드 패스(P)를 통해 수신된 명령이 기록 명령인 경우에는, 기록 대상이 되는 전자 데이터는 호스트와 각 드라이브 장치를 접속하는 드라이브 패스(도시하지 않음)를 통해 그 드라이브 장치에 송신되어 기록된다. 한편으로 드라이브 커맨드 패스(P)를 통해 수신된 명령이 판독 명령인 경우에는, 드라이 브 장치로부터 판독된 전자 데이터는 상기 드라이브 패스(도시하지 않음)를 통해 호스트(2)에 송신된다.
[특허문헌 1] 일본 특허 공개 평성 제9-115229호 공보
[특허문헌 2] 일본 특허 공개 평성 제6-251475호 공보
종래의 라이브러리 장치(1)에서는 도시하는 바와 같이 라이브러리 컨트롤러(Lct), 드라이브 컨트롤러(Dct1, Dct2∼Dctn), 드라이브 커맨드 패스(P) 및 각 포트(14, 31, 41∼51)가 용장화(冗長化)되어 있지 않았다. 이 때문에 라이브러리 컨트롤러(Lct)와 드라이브 장치(D11∼Dn2)와의 통신을 할 수 없게 된 경우에 그 경로 상에 존재하는 기기들 중 어느 것이 고장인지를 특정할 수 없다는 문제가 있었다.
특히, 라이브러리 컨트롤러(Lct), 드라이브 커맨드 패스(P) 및 라이브러리 컨트롤러측 포트(14)는 단일한 기기로 구성되어 있기 때문에, 이들 개소에 고장이 발생한 경우에는 고장 개소를 특정할 수 없을 뿐만 아니라 라이브러리 장치(1) 전체의 동작을 계속할 수 없게 되는 문제가 있었다.
또한 이와 같이 용장화되어 있지 않은 라이브러리 장치(1)에서는 고장 개소를 특정할 수 없기 때문에 조기 복구를 행할 때에 비고장 개소도 포함하여 교환해야 하므로 비경제적이라는 문제가 있었다.
본 발명은 상기 문제점을 감안하여 고안된 것으로, 라이브러리 장치를 구성하는 요소의 일부에 고장이 발생한 경우에 라이브러리 장치 전체의 동작을 계속하는 것이 가능한 라이브러리 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 그 일부에 발생한 고장 개소를 특정하는 것이 가능한 라이브러리 장치를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해서 본 발명에 의한 라이브러리 장치는 라이브러리 컨트롤러, 드라이브 커맨드 패스 및 드라이브 커맨드 패스에 접속되는 라이브러리 컨트롤러측 포트를 이중화하여 구성한다.
또한, 이 때 드라이브 커맨드 패스는 제1 드라이브 커맨드 패스 및 제2 드라이브 커맨드 패스로 구성됨으로써 이중화되어도 좋고, 라이브러리 컨트롤러측 포트는 이중화된 라이브러리 컨트롤러마다 마련된 라이브러리 컨트롤러측 제1 포트 및 라이브러리 컨트롤러측 제2 포트로 구성됨으로써 이중화되어도 좋으며, 라이브러리 컨트롤러측 제1 포트 및 라이브러리 컨트롤러측 제2 포트가 각각 제1 드라이브 커맨드 패스 및 제2 드라이브 커맨드 패스에 접속되는 것으로 해도 좋다.
또한, 본 발명에 의한 라이브러리 장치는 라이브러리 컨트롤러, 드라이브 커맨드 패스 및 라이브러리 컨트롤러측 포트들 중 어느 한 포트에 발생한 고장 개소를 판단하는 고장 개소 판단부를 구비하는 것으로 해도 좋다.
게다가, 본 발명에 의한 라이브러리 장치는, 드라이브 커맨드 패스에 접속되는 드라이브 컨트롤러측 포트는 적어도 1대의 드라이브 컨트롤러마다 마련된 드라이브 컨트롤러측 제1 포트 및 라이브러리 컨트롤러측 제2 포트로 구성됨으로써 이중화되고 각 드라이브 컨트롤러의 드라이브 컨트롤러측 제1 포트는 제1 드라이브 커맨드 패스에 병렬로 접속되며 드라이브 컨트롤러측 제2 포트는 제2 드라이브 커 맨드 패스에 병렬로 접속된다.
이 때 본 발명에 의한 라이브러리 장치는 라이브러리 컨트롤러, 드라이브 컨트롤러, 드라이브 커맨드 패스, 라이브러리 컨트롤러측 포트 및 드라이브 컨트롤러측 포트들 중 어느 한 포트에 발생한 고장 개소를 판단하는 고장 개소 판단부를 구비하는 것으로 해도 좋다.
상기, 본 발명에 의한 라이브러리 장치에서, 라이브러리 컨트롤러 및 드라이브 컨트롤러는 드라이브 커맨드 패스를 통해 서로 교신을 주고 받는 통신부를 각각 구비하는 것으로 해도 좋고, 고장 개소 판단부는 통신부에 의한 교신의 이상이 발생했을 때, 고장의 발생을 검출하는 것으로 해도 좋다.
이하, 본 발명에 의한 라이브러리 장치의 기본 구성을 도 1을 참조하여 설명한다.
라이브러리 장치(1)는 호스트(2)로부터의 제어 명령에 따라 라이브러리 장치(1) 전체를 제어하는 라이브러리 컨트롤러(Lct1 및 Lct2)와, 라이브러리 컨트롤러(Lct1 및 Lct2)로부터의 제어 명령에 따라, 종속된 기억매체 드라이브 장치(D1 및 D2)를 제어하는 드라이브 컨트롤러(Dct)와, 상기 라이브러리 컨트롤러(Lct1 및 Lct2)와 상기 드라이브 컨트롤러(Dct)를 접속하는 드라이브 커맨드 패스(P1 및 P2)를 구비하여 구성된다.
라이브러리 컨트롤러(Lct1 및 Lct2)는 용장화를 위해 동일한 기능을 갖는 제1 라이브러리 컨트롤러(Lct1)와 제2 라이브러리 컨트롤러(Lct2)가 병설되어 구성되고, 그 한쪽이 동작 상태(액티브 상태)에 있을 때 다른 쪽이 대기 상태(스탠바이 상태)에 있도록 이중화되어 구성된다. 먼저 동작 상태에 있는 한쪽의 컨트롤러에 고장이 발생한 경우에는, 대기 상태에 있는 다른 쪽의 컨트롤러가 동작 상태로 이행하고 고장난 한쪽의 컨트롤러가 대기 상태로 이행함으로써 라이브러리 장치(1) 전체의 동작을 계속하는 것이 가능하다.
드라이브 커맨드 패스(P1 및 P2)도 또한, 동일한 신호 회선 등에 의해 실현되는 제1 드라이브 커맨드 패스(P1) 및 제2 드라이브 커맨드 패스(P2)에 의해 구성됨으로써 이중화되고, 그 한쪽이 동작 상태(액티브 상태)에 있을 때 다른 쪽이 대기 상태(스탠바이 상태)가 된다.
또한, 제1 및 제2 라이브러리 컨트롤러(Lct1 및 Lct2)와 드라이브 커맨드 패스(P1 및 P2)를 접속하기 위해서 이들 컨트롤러에 각각 마련된 라이브러리 컨트롤러측 포트도 또한 이중화되어 구성되고 제1 라이브러리 컨트롤러(Lct1)에는 라이브러리 컨트롤러측 제1 포트(14) 및 라이브러리 컨트롤러측 제2 포트(15)가 마련되며, 제2 라이브러리 컨트롤러(Lct2)에는 라이브러리 컨트롤러측 제1 포트(24) 및 라이브러리 컨트롤러측 제2 포트(25)가 마련된다.
그리고 라이브러리 컨트롤러측 제1 포트(14 및 24)는 제1 드라이브 커맨드 패스(P1)에 제1 Lct간 접속 드라이브 커맨드 패스(PL1)에 의해 병렬로 접속되고, 라이브러리 컨트롤러측 제2 포트(15 및 25)는 제2 드라이브 커맨드 패스(P2)에 제2 Lct간 접속 드라이브 커맨드 패스(PL2)에 의해 병렬로 접속된다.
또한 드라이브 커맨드 패스(P1 및 P2)와 접속하기 위해서 드라이브 컨트롤러(Dct)에 마련된 드라이브 컨트롤러측 포트도 드라이브 컨트롤러측 제1 포트(31)와 드라이브 컨트롤러측 제2 포트(32)로 구성됨으로써 이중화되어, 드라이브 컨트롤러측 제1 포트(31)는 제1 드라이브 커맨드 패스(P1)에 접속되고 드라이브 컨트롤러측 제2 포트(32)는 제2 드라이브 커맨드 패스(P2)에 접속된다.
제1 및 제2 라이브러리 컨트롤러(Lct1 및 Lct2) 중 동작 상태(액티브)에 있는 쪽의 라이브러리 컨트롤러는[이하, 설명을 위해 제1 라이브러리 컨트롤러(Lct1)가 동작 상태에 있는 것으로 함] 드라이브 장치(D1 및 D2)와의 통신의 응답이 소정 시간 내에 되돌아오지 않은 경우에, 제1 라이브러리 컨트롤러(Lct1)로부터 드라이브 장치(D1 및 D2)까지의 경로 도중에 어느 한 개소에 고장이 발생한 것을 검출하는 것이 가능하다.
또는, 라이브러리 컨트롤러(Lct1) 및 드라이브 컨트롤러(Dct)에 드라이브 커맨드 패스(P1 또는 P2)를 통해 서로 교신을 주고 받는 통신부를 각각 마련하여 이들 사이의 교신에 이상이 발생했을 때, 라이브러리 컨트롤러(Lct1)는 제1 라이브러리 컨트롤러(Lct1)로부터 드라이브 컨트롤러(Dct)까지의 경로 도중에 어느 한 개소에 고장이 발생한 것을 검출하는 것으로 해도 좋다.
그리고 라이브러리 컨트롤러(Lct1)는 현재 사용중인 라이브러리 컨트롤러측 포트[제1 포트(14)로 함]를 사용하더라도 드라이브 장치(D1 및 D2)와 교신할 수 없고[또는 라이브러리 컨트롤러(Lct1) 및 드라이브 컨트롤러(Dct)에 마련된 통신부가 서로 교신할 수 없고], 또한 동일한 라이브러리 컨트롤러(Lct1)의 대기중인 라이브러리 컨트롤러측 포트[제2 포트(15)라고 함] 및 현재 사용중인 라이브러리 컨트롤러측 포트(14)와 동일한 드라이브 커맨드 패스[제1 드라이브 커맨드 패스(P1)]에 접속되어 대기중인 라이브러리 컨트롤러(Lct2)에 마련된 라이브러리 컨트롤러측 포트들(24) 중 어느 한 포트를 이용하더라도 상기 교신이 가능한 경우, 현재 사용중인 라이브러리 컨트롤러측 포트(14)를 고장 개소라고 판단하고 사용하는 드라이브 커맨드 패스를 제2 드라이브 커맨드 패스(P2)로 전환함으로써 라이브러리 장치(1)의 동작을 계속한다.
또한, 라이브러리 컨트롤러(Lct1)는 현재 사용중인 라이브러리 컨트롤러측 포트(14)를 사용하더라도 드라이브 장치(D1 및 D2)와 교신할 수 없고[또는 라이브러리 컨트롤러(Lct1) 및 드라이브 컨트롤러(Dct)에 마련된 통신부가 서로 교신할 수 없고], 또한 그 라이브러리 컨트롤러측 포트(14)와 동일한 드라이브 커맨드 패스[제1 드라이브 커맨드 패스(P1)]에 접속되어 대기중인 라이브러리 컨트롤러(Lct2)에 마련된 라이브러리 컨트롤러측 포트(24)를 사용하더라도 상기 교신이 불능인 경우, 현재 사용중인 드라이브 커맨드 패스(P1)를 고장 개소라고 판단하고 사용하는 드라이브 커맨드 패스를 제2 드라이브 커맨드 패스(P2)로 전환함으로써 라이브러리 장치(1)의 동작을 계속한다.
또한, 라이브러리 컨트롤러(Lct1)는 자기의 제1 및 제2 라이브러리 컨트롤러측 포트들(14 및 15) 중 어느 한 포트를 사용하더라도 드라이브 장치(D1 및 D2)와 교신할 수 없지만[또는 라이브러리 컨트롤러(Lct1) 및 드라이브 컨트롤러(Dct)에 마련된 통신부가 서로 교신할 수 없지만] 대기 상태에 있는 라이브러리 컨트롤러(Lct2)를 사용하면 상기 교신이 가능해지는 경우에는, 라이브러리 컨트롤러(Lct1) 자신이 고장 개소라고 판단하고 사용하는 라이브러리 컨트롤러를 라이브러리 컨트 롤러(Lct2)로 전환함으로써 라이브러리 장치(1)의 동작을 계속한다.
이와 같이 라이브러리 장치(1)의 라이브러리 컨트롤러, 드라이브 커맨드 패스 및 드라이브 커맨드 패스에 접속되는 라이브러리 컨트롤러측 포트를 이중화하여 구성함으로써 라이브러리 컨트롤러∼드라이브 커맨드 패스 사이에 발생한 고장 개소를 특정하고, 또한 고장이 발생한 경우에도 라이브러리 장치(1)의 동작을 계속하는 것이 가능해진다.
도 2는 본 발명에 의한 라이브러리 장치의 다른 기본 구성이다.
도 2에 도시하는 라이브러리 장치는 기억매체 드라이브 장치(D11, D12, D21, D22∼Dn1, Dn2)를 제어하기 위한 복수의 드라이브 컨트롤러(Dct1, Dct2∼Dctn)를 구비하고 있다.
여기서 드라이브 컨트롤러 및 기억매체 드라이브 장치를 각각 복수의 드라이브 컨트롤러(Dct1∼Dctn) 및 복수의 기억매체 드라이브 장치(D11∼Dn2)로 다중화하더라도 좋고, 혹은 드라이브 장치(D11∼Dn2)에 다른 기억 영역이 할당되어 복수의 드라이브 컨트롤러(Dct1∼Dctn)와 복수의 기억매체 드라이브 장치(D11∼Dn2)를 비용장화 구성으로 해도 좋다.
여기서 드라이브 컨트롤러(Dct1∼Dctn)와 기억매체 드라이브 장치(D11∼Dn2)를 비용장화 구성으로 해서 사용하는 경우라도 이들은 동종인 복수의 기기가 병렬로 접속된 구성을 갖기 때문에, 그 어느 일부에 고장이 발생하더라도(예컨대 Dct1이 고장났다고 함) 다른 부분은(예컨대 Dct2∼Dctn) 사용 가능하여 라이브러리 장치(1) 전체의 동작을 계속하는 것이 가능하며, 또한 사용 가능한 나머지 부분을 특 정함으로써 고장 개소를 특정하는 것도 가능하다.
또, 각 드라이브 컨트롤러(Dct1∼Dctn)의 드라이브 컨트롤러측 제1 포트(31, 41∼51)는 제1 Dct간 접속 드라이브 커맨드 패스(PD1)에 의해 제1 드라이브 커맨드 패스(P1)에 병렬로 접속되고, 드라이브 컨트롤러측 제2 포트(32, 42∼52)는 제2 Dct간 접속 드라이브 커맨드 패스(PD2)에 의해 상기 제2 드라이브 커맨드 패스(P2)에 병렬로 접속된다.
따라서 본 발명에 의한 라이브러리 장치(1)에서는 종래의 라이브러리 장치에서 단일한 기기로 구성되어 있던 라이브러리 컨트롤러, 드라이브 커맨드 패스, 라이브러리 컨트롤러측 포트 및 드라이브 컨트롤러측 포트를 이중계로 구성한다.
이에 따라 라이브러리 장치(1)에 포함되는 모든 구성 요소(라이브러리 컨트롤러, 드라이브 커맨드 패스 및 라이브러리 컨트롤러측 포트, 드라이브 컨트롤러, 드라이브 컨트롤러측 포트, 기억매체 드라이브 장치)를 병렬 접속되는 복수의 요소로 구성하는 것이 가능해지고 이들 모든 구성 요소 중 어느 하나에서 발생한 고장 개소를 특정하는 것이 가능해진다.
즉, 라이브러리 컨트롤러∼드라이브 커맨드 패스 사이에 고장이 발생한 경우에는 상기 도 1을 참조하여 설명한 방법에 의해 고장 개소를 특정하는 것이 가능하다.
예컨대, 드라이브 컨트롤러(Dct1)가 동작 상태에 있는 드라이브 컨트롤러측 포트[예컨대 포트(31)로 함]에 고장이 발생한 경우에는, 라이브러리 컨트롤러(Lct1)는 현재 사용하고 있는 드라이브 커맨드 패스(P1)를 사용하여 다른 Dct2∼ Dctn으로 제어되고 있는 기억매체 드라이브 장치와 교신할 수 있고(또는 다른 Dct2∼Dctn과 교신할 수 있고), 또한 드라이브 커맨드 패스를 P2로 전환함으로써 드라이브 컨트롤러(Dct1)에 종속되어 있는 드라이브(11) 및 드라이브(12)와 교신 가능(또는 Dct1과 교신 가능)하게 되는 경우에는, 드라이브 컨트롤러측 포트(31)가 고장이라고 판단할 수 있다. 이 경우에는 사용하는 드라이브 커맨드 패스를 제2 드라이브 커맨드 패스(P2)로 전환함으로써 라이브러리 장치(1)의 동작을 계속한다.
또한, 드라이브 컨트롤러(예컨대 Dct1로 함)에 고장이 발생한 경우에는, 라이브러리 컨트롤러(Lct1)는 현재 사용하고 있는 드라이브 커맨드 패스(P1)를 사용하여 다른 Dct2∼Dctn으로 제어되고 있는 기억매체 드라이브 장치와 교신할 수 있고(또는 다른 Dct2∼Dctn과 교신할 수 있고), 또한 드라이브 커맨드 패스를 P2로 전환하더라도 드라이브 컨트롤러(Dct1)에 종속되어 있는 드라이브(11) 및 드라이브(12)와 교신할 수 없는 경우(또는 Dct1과 교신할 수 없는 경우)에는 드라이브 컨트롤러(Dct1)의 고장이라고 판단한다.
이 때 드라이브 컨트롤러를 용장화 구성하고 있지 않는 경우에는, 라이브러리 컨트롤러(Lct1)는 드라이브 컨트롤러(Dct1)에 종속되어 있는 기억매체 드라이브 장치(11 및 12)에 대한 액세스를 금지한다.
게다가, 기억매체 드라이브 장치(예컨대 D11로 함)에 고장이 발생한 경우에는, 라이브러리 컨트롤러(Lct1)는 현재 사용하고 있는 드라이브 커맨드 패스(P1)를 사용하여 다른 Dct2∼Dctn으로 제어되고 있는 기억매체 드라이브 장치와 교신할 수 있고(또는 다른 Dct2∼Dctn과 교신할 수 있고), 또한 동일한 드라이브 컨트롤러 (Dct1)에 종속되어 있는 다른 쪽의 기억매체 드라이브 장치(D12)와 교신할 수 있는 경우에는 기억매체 드라이브 장치(D11)의 고장이라고 판단한다.
이하, 첨부 도면에 따라 본 발명에 따른 라이브러리 장치의 바람직한 실시 형태에 대해서 상세히 설명한다. 도 3은 본 발명에 의한 라이브러리 장치의 제1 실시예의 구성도이다.
라이브러리 장치(1)는 호스트(2)로부터의 제어 명령에 따라 라이브러리 장치(1) 전체를 제어하는 제1 라이브러리 컨트롤러(Lct1) 및 제2 라이브러리 컨트롤러(Lct2)와, 라이브러리 컨트롤러(Lct1 및 Lct2)로부터의 제어 명령에 따라, 종속된 기억매체 드라이브 장치(D11, D12, D21, D22∼ 및 Dn1, Dn2)를 각각 제어하는 복수의 드라이브 컨트롤러(Dct1, Dct2∼ 및 Dctn)와, 상기 라이브러리 컨트롤러(Lct1 및 Lct2)와 상기 드라이브 컨트롤러(Dct1∼Dctn)를 접속하는 제1 드라이브 커맨드 패스(P1) 및 제2 드라이브 커맨드 패스(P2)를 구비하여 구성된다.
제1 라이브러리 컨트롤러(Lct1)는 라이브러리 장치(1) 전체를 제어하기 위한 여러가지 처리를 실행하기 위한 MPU(10)와, MPU(10)에 의해 실행되는 처리를 규정한 각 프로그램이나 이 프로그램의 실행을 위해 필요한 작업용 데이터 등을 기억하기 위한 메모리 장치 등으로 실현되는 기억부(11)와, MPU(10)의 데이터 버스(12)에 접속되고 라이브러리 컨트롤러(Lct1)에서부터 드라이브 컨트롤러(Dct1∼Dctn)로의 제어 명령의 송신이나 드라이브 컨트롤러로부터의 스테이터스 정보의 수신을 행하는 제1 및 제2 라이브러리 컨트롤러측 포트(14 및 15)를 구비하여 구성된다.
그리고 기억부(11)에는 제1 라이브러리 컨트롤러(Lct1)의 MPU(10)가 후술하 는 플로우 차트에 따라 라이브러리 장치(1) 내의 고장 개소를 결정하기 위한 고장 개소 판단 소프트웨어(13)가 기억되어 있다.
제2 라이브러리 컨트롤러(Lct2)는 제1 라이브러리 컨트롤러(Lct1)와 동일한 구성을 구비하고 있으며, 이들 Lct1 및 Lct2는 그 한쪽이 동작 상태(액티브 상태)에 있을 때에 다른 쪽이 대기 상태(스탠바이 상태)에 있어 먼저 동작 상태에 있는 한쪽의 컨트롤러에 고장이 발생한 경우에는 대기 상태에 있는 다른 쪽의 컨트롤러가 동작 상태로 이행하고 고장난 한쪽의 컨트롤러가 대기 상태로 이행함으로써 이중계를 구성한다.
제1 라이브러리 컨트롤러(Lct1)와 제2 라이브러리 컨트롤러(Lct2) 사이에는 라이브러리 컨트롤러간 통신 회선(3)이 마련된다. 이 라이브러리 컨트롤러간 통신 회선(3)은 후술하는 바와 같이 이들 라이브러리 컨트롤러(Lct1 및 Lct2)의 한쪽이 동작 상태에 있는지 대기 상태에 있는지를 다른 쪽의 라이브러리 컨트롤러에 통지하기 위해서 사용되거나, 한쪽의 라이브러리 컨트롤러가 기억매체 드라이브 장치(D11∼Dn2)에 대하여 명령의 송수신이 가능한지, 혹은 한쪽의 라이브러리 컨트롤러가 드라이브 컨트롤러(Dct1∼Dctn)와 교신 가능한지를 다른 쪽의 라이브러리 컨트롤러로부터 조회하기 위해서 사용된다.
드라이브 커맨드 패스(P1 및 P2)도 또한, 동일한 신호 회선 등에 의해 실현되는 제1 드라이브 커맨드 패스(P1) 및 제2 드라이브 커맨드 패스(P2)에 의해 구성됨으로써 이중화되어 있다. 또한, 제1 라이브러리 컨트롤러(Lct1)에 마련된 라이브러리 컨트롤러측 포트도 또한, 동일한 통신 인터페이스 회로에 의해 실현된 제1 및 제2 라이브러리 컨트롤러측 포트(14 및 15)에 의해 이중화되고, 마찬가지로 제2 라이브러리 컨트롤러(Lct2)에 마련된 라이브러리 컨트롤러측 포트도 또한, 제1 및 제2 라이브러리 컨트롤러측 포트(24 및 25)에 의해 이중화되어 있다.
그리고 라이브러리 컨트롤러측 제1 포트(14 및 24)는 제1 드라이브 커맨드 패스(P1)에 병렬로 접속되고, 라이브러리 컨트롤러측 제2 포트(15 및 25)는 제2 드라이브 커맨드 패스(P2)에 병렬로 접속된다. 이 때 제2 라이브러리 컨트롤러의 라이브러리 컨트롤러측 제1 포트(24)는 제1 Lct간 접속 드라이브 커맨드 패스(PL1)를 통해 제1 드라이브 커맨드 패스(P1)에 라이브러리 컨트롤러측 제1 포트(14)와 병렬로 접속되고, 제2 라이브러리 컨트롤러의 라이브러리 컨트롤러측 제2 포트(25)는 제2 Lct간 접속 드라이브 커맨드 패스(PL2)를 통해 제2 드라이브 커맨드 패스(P2)에 라이브러리 컨트롤러측 제2 포트(15)와 병렬로 접속되어 있다.
드라이브 컨트롤러(Dct1∼Dctn)에 마련된 드라이브 컨트롤러측 포트도 이중화되어 구성된다.
즉, 드라이브 컨트롤러(Dct1)의 포트는 드라이브 컨트롤러측 제1 포트(31) 및 드라이브 컨트롤러측 제2 포트(32)로 구성됨으로써 이중화되고, 드라이브 컨트롤러(Dct2)의 포트는 드라이브 컨트롤러측 제1 포트(41) 및 드라이브 컨트롤러측 제2 포트(42)로 구성됨으로써 이중화되며, 드라이브 컨트롤러(Dctn)의 포트는 드라이브 컨트롤러측 제1 포트(51) 및 드라이브 컨트롤러측 제2 포트(52)로 구성됨으로써 이중화된다.
그리고 드라이브 컨트롤러측 제1 포트(31∼51)는 제1 드라이브 커맨드 패스 (P1)에 병렬로 접속되고 드라이브 컨트롤러측 제2 포트(32∼52)는 제2 드라이브 커맨드 패스(P2)에 병렬로 접속된다.
이 때, 드라이브 컨트롤러(Dct2∼Dctn)의 제1 포트(41∼51)는 제1 Dct간 접속 드라이브 커맨드 패스(PD1)를 통해 제1 드라이브 커맨드 패스(P1)에 접속되고 드라이브 컨트롤러(Dct2∼Dctn)의 제2 포트(42∼52)는 제2 Dct간 접속 드라이브 커맨드 패스(PD2)를 통해 제2 드라이브 커맨드 패스(P2)에 접속되어 있다.
도 4∼도 6은 본 발명에 의한 라이브러리 장치(1)에 의한 고장 개소 검출 동작의 플로우 차트이다. 이 고장 개소 검출 동작은 제1 라이브러리 컨트롤러(Lct1) 내의 MPU(10)[또는 제2 라이브러리 컨트롤러(Lct2) 내의 MPU(20)]가 기억부(11)[(21)]에 기억된 상기 고장 개소 판단 소프트웨어(13)[(23)]에 따라 동작함으로써 실행된다.
또, 이하의 설명에서, 이중계를 갖는 라이브러리 컨트롤러, 드라이브 커맨드 패스, 라이브러리 컨트롤러측 포트, 드라이브 컨트롤러측 포트는 각각 제1 라이브러리 컨트롤러(Lct1), 제1 드라이브 커맨드 패스(P1), 라이브러리 컨트롤러측 제1 포트(14), 드라이브 컨트롤러측 제1 포트(31)가 동작 상태에 있고, 제2 라이브러리 컨트롤러(Lct2), 제2 드라이브 커맨드 패스(P2), 라이브러리 컨트롤러측 제2 포트(15, 25), 라이브러리 컨트롤러측 제1 포트(24), 드라이브 컨트롤러측 제2 포트(32)는 대기 상태에 있는 것으로 한다.
도 4에 도시하는 단계 S11에서, 라이브러리 컨트롤러(Lct1)는 특정한 기억매체 드라이브(예컨대 D11로 함)와의 사이에서 소정의 간격(예컨대 1회/sec)으로 명 령의 송수신을 행하여, 소정 시간 내에 응답이 돌아오지 않은 경우에 라이브러리 컨트롤러(Lct1)∼기억매체 드라이브(D11) 사이의 고장의 발생을 검출한다.
다음에 단계 S12에서, 라이브러리 컨트롤러(Lct1)는 현재 사용중의 드라이브 커맨드 패스인 제1 드라이브 커맨드 패스(P1)를 경유하여 다른 드라이브 컨트롤러(Dct2∼Dctn) 중 어느 하나에 속하는 기억매체 드라이브(D21∼Dn1)와의 명령의 송수신을 시도한다.
이 결과, 이들 드라이브(D21∼Dn1)와의 명령의 송수신이 가능하면, 라이브러리 컨트롤러(Lct1)는 드라이브(D11), 드라이브 컨트롤러(Dct1) 또는 드라이브 컨트롤러측 제1 포트(31) 중 어느 하나에 고장이 발생했다고 판단하여 처리를 도 5에 도시하는 루틴 S13으로 이행한다.
반대로 이들 드라이브(D21∼Dn1) 모두와 명령의 송수신을 할 수 없으면, 라이브러리 컨트롤러(Lct1)는 Lct1 자신, 라이브러리 컨트롤러측 제1 포트(14), 제1 드라이브 커맨드 패스(P1) 중 어느 하나에 고장이 발생했다고 판단하여 처리를 도 6에 도시하는 루틴 S14로 이행한다.
단계 S12에 의한 판단의 결과, 도 5에 도시하는 루틴 S13으로 처리가 이동하면, 단계 S21에서 라이브러리 컨트롤러(Lct1)는 드라이브(D11)를 제어하는 드라이브 컨트롤러(Dct1)의 다른 드라이브(D12)와의 명령의 송수신을 행한다. 이 때, 다른 드라이브(D12)와의 명령의 송수신이 가능하면, 라이브러리 컨트롤러(Lct1)는 단계 S22에서 고장 개소가 드라이브(D11)라고 특정하고, 단계 S23에서, 이후 교환 보수가 행해질 때까지 그 드라이브(D11)의 사용을 금지하여 처리를 종료한다.
한편, 다른 드라이브(D12)와도 명령의 송수신을 할 수 없으면, 라이브러리 컨트롤러(Lct1)는 단계 S24에서 대기중인 제2 드라이브 커맨드 패스(P2)를 통해 그 드라이브(D11)와의 명령의 송수신을 시도한다.
제2 드라이브 커맨드 패스(P2)를 통해 그 드라이브(D11)와의 명령의 송수신이 가능하면, 라이브러리 컨트롤러(Lct1)는 단계 S25에서 드라이브 컨트롤러측 제1 포트(31)가 고장이라고 판단하고, 단계 S26에서, 제2 드라이브 커맨드 패스(P2)를 동작 상태로, 제1 드라이브 커맨드 패스(P1)를 대기 상태로 전환함으로써 라이브러리 장치(1)의 동작을 계속한다.
제2 드라이브 커맨드 패스(P2)를 통해서 그 드라이브(D11)와의 명령의 송수신을 할 수 없으면, 라이브러리 컨트롤러(Lct1)는 단계 S27에서 제1 드라이브 컨트롤러(Dct1)가 고장이라고 판단하고, 단계 S28에서 제1 드라이브 컨트롤러(Dct1)에 종속되어 있는 드라이브(D11 및 D12)의 사용을 제1 드라이브 컨트롤러(Dct1)의 교환 보수가 행해질 때까지 이후 금지한다.
도 4의 단계 S12에 의한 판단의 결과, 도 6에 도시하는 루틴 S14로 처리가 이동하면, 단계 S31에서 라이브러리 컨트롤러(Lct1)는 라이브러리 컨트롤러(Lct1)측의 현재 대기 상태에 있는 제2 포트(15)에 대해서, 이미 고장 상태로 있는 것이 기록되어(단계 S37에 후술함) 있는지의 여부를 판단한다.
이미 제2 포트(15)가 고장 상태에 있는 경우에는, 제1 포트(14) 및 제2 포트(15) 중 어느 하나를 사용하더라도 라이브러리 컨트롤러(Lct1)에서는 드라이브 장치(D11∼Dn2)에 액세스할 수 없기 때문에 라이브러리 컨트롤러(Lct1)는 단계 S32에 서 자신이 고장이라고 판단하고 단계 S33에서 라이브러리 컨트롤러(Lct1)를 대기 상태로, 라이브러리 컨트롤러(Lct2)를 동작 상태로 전환하며 이후 라이브러리 컨트롤러(Lct2)를 사용하여 라이브러리 장치(1)의 동작을 계속한다.
또한 사용하는 계를 라이브러리 컨트롤러(Lct1)에서부터 라이브러리 컨트롤러(Lct2)로 전환하는 방법은, 예컨대 단계 S31에서 제1 및 제2 양 포트가 사용 불능이라고 판단한 제1 라이브러리 컨트롤러(Lct1)가 자발적으로 대기 상태로 이행하는 동시에 라이브러리 컨트롤러간 통신 회선(3)을 통해 제2 라이브러리 컨트롤러(Lct2)를 동작 상태로 이행시키는 명령을 송신하도록 구성하는 것으로 해도 좋다.
또는, 라이브러리 컨트롤러(Lct1 및 Lct2) 사이에서 사용하는 계를 전환하기 위한 사용 Lct 전환 수단을 라이브러리 장치(1) 내에 마련하여 (도시하지 않음), 제1 및 제2 양 포트가 사용 불능이라고 판단한 제1 라이브러리 컨트롤러(Lct1)가 그 취지를 사용 Lct 전환 수단에 통지하고, 이 사용 Lct 전환 수단이 라이브러리 컨트롤러(Lct1)에서부터 라이브러리 컨트롤러(Lct2)로 사용하는 계를 전환하도록 구성하더라도 좋다.
단계 S31에서 제1 라이브러리 컨트롤러(Lct1)의 제2 포트(15)가 고장이 아니라고 판단된 경우에는, 제1 라이브러리 컨트롤러(Lct1)는 단계 S34에서 다른 쪽의 제2 라이브러리 컨트롤러(Lct2)에 대하여 드라이브 커맨드 패스(P1)를 통해 드라이브 장치(D11∼Dn2) 중 어느 하나와의 명령의 송수신이 가능한지의 여부를 라이브러리 컨트롤러간 통신 회선(3)을 통해 조회한다.
그 결과, 다른 쪽의 제2 라이브러리 컨트롤러(Lct2)에 의해서도 드라이브 장 치(D11∼Dn2) 모두와 명령의 송수신을 할 수 없는 경우에는, 단계 S35에서 제1 드라이브 커맨드 패스(P1)의 고장이라고 판단하고 단계 S38에서 사용하는 드라이브 커맨드 패스를 현재의 제1 드라이브 커맨드 패스(P1)로부터 대기중인 제2 드라이브 커맨드 패스(P2)로 전환하여 처리를 종료한다.
이 때, 예컨대 드라이브 컨트롤러(Dct1)에 종속되어 있는 드라이브(D11 또는 D12)와의 명령의 송수신은 가능하지만 드라이브 컨트롤러(Dct2∼Dctn)에 종속되어 있는 드라이브(D21∼Dn2)와의 명령의 송수신을 행할 수 없는 경우에는, 드라이브 컨트롤러(Dct1)와 드라이브 컨트롤러(Dct2) 사이를 접속하는 Dct간 접속 드라이브 커맨드 패스(PD1 또는 PD2)가 고장일 가능성이 있다. 이 경우, 드라이브 커맨드 패스를 대기중인 드라이브 커맨드 패스로 전환함으로써 Dct2∼Dctn에 종속되어 있는 드라이브(D21∼Dn2)와의 명령의 송수신이 행해지는 것을 확인하는 것에 의해 Dct간 접속 드라이브 커맨드 패스(PD1 또는 PD2)의 고장을 검출하는 것으로 해도 좋다.
한편, 단계 S34에서, 다른 쪽의 제2 라이브러리 컨트롤러(Lct2)에 의해 드라이브 장치(D11∼Dn2) 중 어느 하나와의 명령의 송수신을 할 수 있는 경우에는, 단계 S36에서 제1 라이브러리 컨트롤러(Lct1)의 제1 포트(14)의 고장이라고 판단하고, 단계 S37에서 기억부(11)에 제1 포트(14)가 고장이라는 취지를 기록한 후, 사용하는 드라이브 커맨드 패스를 현재의 제1 드라이브 커맨드 패스(P1)에서부터 대기중인 제2 드라이브 커맨드 패스(P2)로 전환하여 처리를 종료한다.
상기 도 3에 도시하는 라이브러리 장치(1)의 구성에 의하면, 라이브러리 컨트롤러(Lct1)는 기억매체 드라이브(D11∼Dn2)와의 사이에서 명령의 송수신을 행하 여, 소정 시간 내에 응답이 돌아오지 않은 경우에 라이브러리 컨트롤러(Lct1)∼기억매체 드라이브(D11) 사이의 고장의 발생을 검출한다.
그러나 이 방법에 의하면, 상기 고장 개소의 판단 플로우의 각처에서(예컨대 도 4의 단계 S12, 도 5의 S21, S24, 도 6의 S34에서) 드라이브(D11∼Dn2)와 명령의 송수신을 행할 때마다 기억매체 드라이브로부터의 응답을 기다리는 시간이 발생하기 때문에 호스트(2)에 대한 허용 응답 시간 내에 고장 개소의 판단 플로우를 종료하지 못할 우려가 발생한다.
그래서 이하에 제안하는 라이브러리 장치(1)의 제2 실시예에서는 라이브러리 컨트롤러와 드라이브 컨트롤러에 서로 교신을 주고 받는 통신부를 각각 마련하여 이 통신부에 의한 교신의 이상이 발생했을 때 고장의 발생을 검출한다. 이러한 통신부는 기억매체 드라이브로부터의 응답에 비해서 기다리는 시간을 짧게 설정하는 것이 가능하기 때문에 라이브러리 컨트롤러∼드라이브 컨트롤러 사이의 고장 개소의 유무를 상기 통신부에 의한 교신 이상의 유무에 의해 검출함으로써 고장 개소의 판단 플로우를 조기에 종료하는 것이 가능해진다.
도 7에 본 발명에 의한 라이브러리 장치의 제2 실시예의 구성도를 도시한다.
도시하는 바와 같이 제1 라이브러리 컨트롤러(Lct1)는 드라이브 컨트롤러(Dct1, Dct2∼Dctn)에 각각 마련된 드라이브 컨트롤러측 통신부(33, 43∼53)와 각각 교신 가능한 라이브러리 컨트롤러측 통신부(16)를 구비하고 있다.
라이브러리 컨트롤러측 통신부(16)와 드라이브 컨트롤러측 통신부(33)와의 교신은 라이브러리 컨트롤러측 제1 포트(14), 제1 드라이브 커맨드 패스(P1) 및 드 라이브 컨트롤러측 제1 포트(31)를 통해, 또는 라이브러리 컨트롤러측 제2 포트(15), 제2 드라이브 커맨드 패스(P2) 및 드라이브 컨트롤러측 제2 포트(32)를 통해 행해져, 예컨대, 드라이브 컨트롤러(Dct1, Dct2∼Dctn) 각각의 종속된 드라이브에 관한 접속이나 전원 투입의 유무 등의 정보의 조회 및 회답을 소정의 시간 간격(예컨대 1회/11 msec)마다 송수신한다.
마찬가지로 제2 라이브러리 컨트롤러(Lct2)는 드라이브 컨트롤러(Dct1, Dct2∼Dctn)에 각각 마련된 드라이브 컨트롤러측 통신부(33, 43∼53)와 각각 교신 가능한 라이브러리 컨트롤러측 통신부(26)를 구비하고 있다.
도 8∼도 11은 도 7에 도시하는 라이브러리 장치(1)에 의한 고장 개소 검출 동작의 플로우 차트이다.
도 8의 단계 S41에서, 라이브러리 컨트롤러(Lct1)는 그 통신부(16)와 특정한 기억매체 드라이브(예컨대 D11로 함)를 제어하고 있는 드라이브 컨트롤러(Dct1)의 통신부(33)가 교신 가능한지의 여부를 판단한다.
그 결과, 통신부(16)와 통신부(33)의 교신을 할 수 없는 경우에는 라이브러리 컨트롤러(Lct1)는 Lct1 자신, 라이브러리 컨트롤러측 제1 포트(14), 제1 드라이브 커맨드 패스(P1), 드라이브 컨트롤러(Dct1) 또는 드라이브 컨트롤러측 제1 포트(31) 중 어느 하나에 고장이 발생했다고 판단하고 처리를 도 9에 도시하는 루틴 S42로 이행한다.
한편, 단계 S41에 의한 판단의 결과, 통신부(16)와 통신부(33)가 교신 가능하면, 단계 S43에서 라이브러리 컨트롤러(Lct1)는 드라이브(D11)와의 사이에서 명 령의 송수신을 행하여 소정 시간 내에 응답이 돌아온 경우에는 단계 S44에서 이상이 없다고 판단하고 처리를 종료한다.
반대로 응답이 돌아오지 않은 경우에는, 단계 S45에서 드라이브(D11)에 고장이 발생했다고 판단하여 단계 S46에서 이후 교환 보수가 행해질 때까지 그 드라이브(D11)의 사용을 금지하고 처리를 종료한다.
단계 S41에서, 통신부(16)와 통신부(33)의 교신을 할 수 없는 경우에는 도 9에 도시하는 루틴 S42로 처리가 이행한다. 도 9의 단계 S51에서 라이브러리 컨트롤러(Lct1)는 그 통신부(16)와 현재 사용중의 드라이브 커맨드 패스인 제1 드라이브 커맨드 패스(P1)를 경유하여 다른 드라이브 컨트롤러(Dct2∼Dctn) 각각의 통신부(43∼53) 중 어느 하나와의 교신을 시도한다.
이 결과, 통신부(16)와 통신부(43∼53)의 교신이 가능하면, 라이브러리 컨트롤러(Lct1)는 드라이브 컨트롤러(Dct1) 또는 드라이브 컨트롤러측 제1 포트(31) 중 어느 하나에 고장이 발생했다고 판단하여 처리를 도 10에 도시하는 루틴 S52로 이행한다.
반대로, 통신부(16)가 통신부(43∼53) 모두와 교신할 수 없으면, 라이브러리 컨트롤러(Lct1)는 Lct1 자신, 라이브러리 컨트롤러측 제1 포트(14), 제1 드라이브 커맨드 패스(P1) 중 어느 하나에 고장이 발생했다고 판단하여 처리를 도 11에 도시하는 루틴 S53으로 이행한다.
단계 S51에 의한 판단의 결과, 도 10에 도시하는 루틴 S52로 처리가 이동하면, 단계 S61에서 라이브러리 컨트롤러(Lct1)는 대기중인 제2 드라이브 커맨드 패 스(P2)를 통해 그 통신부(16)와 그 드라이브(D11)를 제어하고 있는 드라이브 컨트롤러(Dct1)의 통신부(33)와의 교신을 시도한다.
제2 드라이브 커맨드 패스(P2)를 통해 통신부(16)와 통신부(33)의 교신이 가능하면, 라이브러리 컨트롤러(Lct1)는 단계 S62에서 드라이브 컨트롤러측 제1 포트(31)가 고장이라고 판단하고 단계 S63에서 제2 드라이브 커맨드 패스(P2)를 동작 상태로, 제1 드라이브 커맨드 패스(P1)를 대기 상태로 전환함으로써 라이브러리 장치(1)의 동작을 계속한다.
제2 드라이브 커맨드 패스(P2)를 통해 통신부(16)와 통신부(33)의 교신을 할 수 없으면, 라이브러리 컨트롤러(Lct1)는 단계 S64에서 제1 드라이브 컨트롤러(Dct1)가 고장이라고 판단하여 단계 S65에서 제1 드라이브 컨트롤러(Dct1)에 종속되어 있는 드라이브(D11 및 D12)의 사용을 제1 드라이브 컨트롤러(Dct1)의 교환 보수가 행해질 때까지 이후 금지한다.
도 9의 단계 S51에 의한 판단의 결과, 도 11에 도시하는 루틴 S53으로 처리가 이동하면, 단계 S71에서 라이브러리 컨트롤러(Lct1)는 라이브러리 컨트롤러(Lct1)측의 현재 대기 상태에 있는 제2 포트(15)에 대해서 이미 고장 상태에 있는 것이 기록되어 있는지의 여부를 판단한다.
이미 제2 포트(15)가 고장 상태에 있는 경우에는 라이브러리 컨트롤러(Lct1)는 단계 S72에서 자신이 고장이라고 판단하여 단계 S73에서 라이브러리 컨트롤러(Lct1)를 대기 상태로, 라이브러리 컨트롤러(Lct2)를 동작 상태로 전환하고 이후 라이브러리 컨트롤러(Lct2)를 사용하여 라이브러리 장치(1)의 동작을 계속한다. 또 한 사용하는 계를 라이브러리 컨트롤러(Lct1)에서부터 라이브러리 컨트롤러(Lct2)로 전환하는 방법은 도 3에 도시한 라이브러리 장치(1)의 제1 실시예와 동일하게 하여도 좋다.
단계 S71에서 제1 라이브러리 컨트롤러(Lct1)의 제2 포트(15)가 고장이 아니라고 판단된 경우에는, 제1 라이브러리 컨트롤러(Lct1)는 단계 S74에서 다른 쪽의 제2 라이브러리 컨트롤러(Lct2)에 대하여 그 통신부(26)가 제1 드라이브 커맨드 패스(P1)를 통해 드라이브 컨트롤러(Dct1∼Dctn)의 통신부(33∼53) 중 어느 하나와 라이브러리 컨트롤러간 통신 회선(3)을 통해 교신 가능한지의 여부를 조회한다.
그 결과, 다른 쪽의 제2 라이브러리 컨트롤러(Lct2)의 통신부(26)에 의해서도 드라이브 컨트롤러(Dct1∼Dctn)의 통신부(33∼53) 모두와 명령의 송수신을 할 수 없는 경우에는, 단계 S75에서 제1 드라이브 커맨드 패스(P1)의 고장이라고 판단하고 단계 S78에서 사용하는 드라이브 커맨드 패스를 현재의 제1 드라이브 커맨드 패스(P1)에서부터 대기중인 제2 드라이브 커맨드 패스(P2)로 전환하여 처리를 종료한다.
이 때, 예컨대 드라이브 컨트롤러(Dct1)의 통신부(33)와의 교신은 가능하지만, 드라이브 컨트롤러(Dct2∼Dctn)의 통신부(43∼53)와의 교신을 행할 수 없는 경우에는, 드라이브 컨트롤러(Dct1)와 드라이브 컨트롤러(Dct2) 사이를 접속하는 Dct간 접속 드라이브 커맨드 패스(PD1이나 PD2)가 고장일 가능성이 있다. 이 경우, 드라이브 커맨드 패스를 대기중인 드라이브 커맨드 패스로 전환함으로써 드라이브 컨트롤러(Dct2∼Dctn)의 통신부(43∼53)와의 교신이 회복되는 것을 확인하는 것에 의 해 Dct간 접속 드라이브 커맨드 패스(PD1 또는 PD2)의 고장을 검출하는 것으로 해도 좋다.
한편, 단계 S74에서, 다른 쪽의 제2 라이브러리 컨트롤러(Lct2)의 통신부(26)에 의해 드라이브 컨트롤러(Dct1~Dctn)의 통신부(33~53) 중 어느 하나와의 명령의 송수신이 가능한 경우에는 단계 S76에서 제1 라이브러리 컨트롤러(Lct1)의 제1 포트(14)의 고장이라고 판단하고 단계 S77에서 기억부(11)에 제1 포트(14)가 고장인 취지를 기록한 후, 사용하는 드라이브 커맨드 패스를 현재의 제1 드라이브 커맨드 패스(P1)에서부터 대기중인 제2 드라이브 커맨드 패스(P2)로 전환하여 처리를 종료한다.
이상, 본 발명을 특히 그 바람직한 실시 형태를 참조하여 상세히 설명했지만, 본 발명의 용이한 이해를 위해 본 발명의 구체적인 형태를 이하에 부기한다.
(부기 1)
호스트로부터의 제어 명령에 따라 전체를 제어하는 라이브러리 컨트롤러와, 상기 라이브러리 컨트롤러로부터의 제어 명령에 따라, 종속된 기억매체 드라이브 장치를 제어하는 적어도 1대의 드라이브 컨트롤러와, 상기 라이브러리 컨트롤러와 상기 드라이브 컨트롤러를 접속하는 드라이브 커맨드 패스를 갖는 라이브러리 장치에서,
상기 라이브러리 컨트롤러, 상기 드라이브 커맨드 패스 및 그 드라이브 커맨드 패스에 접속되는 라이브러리 컨트롤러측 포트를 이중화하여 구성하는 것을 특징으로 하는 라이브러리 장치.
(부기 2)
상기 드라이브 커맨드 패스는 제1 드라이브 커맨드 패스 및 제2 드라이브 커맨드 패스로 구성됨으로써 이중화되고,
상기 라이브러리 컨트롤러측 포트는 이중화된 상기 라이브러리 컨트롤러마다 마련된 라이브러리 컨트롤러측 제1 포트 및 라이브러리 컨트롤러측 제2 포트로 구성됨으로써 이중화되며,
상기 라이브러리 컨트롤러측 제1 포트 및 상기 라이브러리 컨트롤러측 제2 포트가 각각 상기 제1 드라이브 커맨드 패스 및 상기 제2 드라이브 커맨드 패스에 접속되는 것을 특징으로 하는 부기 1에 기재한 라이브러리 장치.
(부기 3)
적어도 상기 라이브러리 컨트롤러, 상기 드라이브 커맨드 패스 및 상기 라이브러리 컨트롤러측 포트들 중 어느 하나에 발생한 고장 개소를 판단하는 고장 개소 판단부를 구비하는 것을 특징으로 하는 부기 2에 기재한 라이브러리 장치.
(부기 4)
상기 드라이브 커맨드 패스에 접속되는 드라이브 컨트롤러측 포트는 상기 적어도 1대의 드라이브 컨트롤러마다 마련된 드라이브 컨트롤러측 제1 포트 및 라이브러리 컨트롤러측 제2 포트로 구성됨으로써 이중화되고,
각 상기 드라이브 컨트롤러의 상기 드라이브 컨트롤러측 제1 포트는 상기 제1 드라이브 커맨드 패스에 병렬로 접속되고, 상기 드라이브 컨트롤러측 제2 포트는 상기 제2 드라이브 커맨드 패스에 병렬로 접속되는 것을 특징으로 하는 부기 2에 기재한 라이브러리 장치.
(부기 5)
적어도 상기 라이브러리 컨트롤러, 상기 드라이브 컨트롤러, 상기 드라이브 커맨드 패스, 상기 라이브러리 컨트롤러측 포트 및 상기 드라이브 컨트롤러측 포트들 중 어느 하나에 발생한 고장 개소를 판단하는 고장 개소 판단부를 구비하는 것을 특징으로 하는 부기 4에 기재한 라이브러리 장치.
(부기 6)
상기 라이브러리 컨트롤러 및 상기 드라이브 컨트롤러는 상기 드라이브 커맨드 패스를 통해 서로 교신을 주고 받는 통신부를 각각 구비하고,
상기 고장 개소 판단부는 상기 통신부에 의한 교신의 이상이 발생했을 때, 상기 고장의 발생을 검출하는 것을 특징으로 하는 부기 3 또는 부기 5에 기재한 라이브러리 장치.
(산업상 이용 가능성)
본 발명은 자기 테이프, 자기 디스크나 광자기 디스크 등의 기록매체에 기록된 데이터의 판독이나 기록을 행하는 라이브러리 장치에 이용 가능하다.
본 발명에 의한 라이브러리 장치에 따르면, 라이브러리 장치를 구성하는 요소의 일부에 고장이 발생한 경우에 라이브러리 장치 전체의 동작을 계속하는 것이 가능해진다.
또한, 그 일부에 발생한 고장 개소를 특정하는 것이 가능해진다. 이에 따라 종래 발생하던 비고장 개소의 부품 교환을 방지하는 것이 가능해진다.

Claims (5)

  1. 호스트로부터의 제어 명령에 따라 전체를 제어하는 라이브러리 컨트롤러와, 상기 라이브러리 컨트롤러로부터의 제어 명령에 따라, 종속된 기억매체 드라이브 장치를 제어하는 적어도 1대의 드라이브 컨트롤러와, 상기 라이브러리 컨트롤러와 상기 드라이브 컨트롤러를 접속하는 드라이브 커맨드 패스를 포함하는 라이브러리 장치에 있어서,
    상기 라이브러리 컨트롤러, 상기 드라이브 커맨드 패스 및 그 드라이브 커맨드 패스에 접속되는 라이브러리 컨트롤러측 포트를 이중화하여 구성하는 것을 특징으로 하는 라이브러리 장치.
  2. 제1항에 있어서, 상기 드라이브 커맨드 패스는 제1 드라이브 커맨드 패스 및 제2 드라이브 커맨드 패스로 구성됨으로써 이중화되고,
    상기 라이브러리 컨트롤러측 포트는 이중화된 상기 라이브러리 컨트롤러마다 마련된 라이브러리 컨트롤러측 제1 포트 및 라이브러리 컨트롤러측 제2 포트로 구성됨으로써 이중화되며,
    상기 라이브러리 컨트롤러측 제1 포트 및 상기 라이브러리 컨트롤러측 제2 포트가 각각 상기 제1 드라이브 커맨드 패스 및 상기 제2 드라이브 커맨드 패스에 접속되는 것을 특징으로 하는 라이브러리 장치.
  3. 제2항에 있어서, 적어도 상기 라이브러리 컨트롤러, 상기 드라이브 커맨드 패스 및 상기 라이브러리 컨트롤러측 포트들 중 어느 하나에 발생한 고장 개소를 판단하는 고장 개소 판단부를 포함하는 것을 특징으로 하는 라이브러리 장치.
  4. 제2항에 있어서, 상기 드라이브 커맨드 패스에 접속되는 드라이브 컨트롤러측 포트는 상기 적어도 1대의 드라이브 컨트롤러마다 마련된 드라이브 컨트롤러측 제1 포트 및 라이브러리 컨트롤러측 제2 포트로 구성됨으로써 이중화되고,
    각 상기 드라이브 컨트롤러의 상기 드라이브 컨트롤러측 제1 포트는 상기 제1 드라이브 커맨드 패스에 병렬로 접속되고 상기 드라이브 컨트롤러측 제2 포트는 상기 제2 드라이브 커맨드 패스에 병렬로 접속되는 것을 특징으로 하는 라이브러리 장치.
  5. 제3항 또는 제5항에 있어서, 상기 라이브러리 컨트롤러 및 상기 드라이브 컨트롤러는 상기 드라이브 커맨드 패스를 통해 서로 교신을 주고 받는 통신부를 각각 포함하고,
    상기 고장 개소 판단부는 상기 통신부에 의한 교신의 이상이 발생했을 때, 상기 고장의 발생을 검출하는 것을 특징으로 하는 라이브러리 장치.
KR1020050095386A 2005-06-07 2005-10-11 라이브러리 장치 KR100674460B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005166812A JP2006343822A (ja) 2005-06-07 2005-06-07 ライブラリ装置
JPJP-P-2005-00166812 2005-06-07

Publications (2)

Publication Number Publication Date
KR20060127726A KR20060127726A (ko) 2006-12-13
KR100674460B1 true KR100674460B1 (ko) 2007-01-30

Family

ID=37495468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050095386A KR100674460B1 (ko) 2005-06-07 2005-10-11 라이브러리 장치

Country Status (4)

Country Link
US (1) US20060277354A1 (ko)
JP (1) JP2006343822A (ko)
KR (1) KR100674460B1 (ko)
CN (1) CN100403248C (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4816142B2 (ja) * 2006-03-01 2011-11-16 日本電気株式会社 パス切替制御システム、コンピュータシステム及びパス切替制御方法
EP2204804B1 (en) * 2007-09-28 2014-04-16 NEC Embedded Products, Ltd. Library device
CN101674171B (zh) * 2008-09-10 2013-04-24 华为技术有限公司 一种端口配置管理方法、单板及端口配置管理系统
US9330709B2 (en) * 2012-07-12 2016-05-03 Oracle International Corporation Tape library string request management
US9575855B2 (en) 2013-09-06 2017-02-21 Hitachi, Ltd. Storage apparatus and failure location identifying method
JP6303405B2 (ja) * 2013-11-01 2018-04-04 富士通株式会社 情報処理装置、管理装置、監視装置、監視プログラム、及び管理装置の監視方法
JP6828558B2 (ja) * 2017-03-30 2021-02-10 富士通株式会社 管理装置、管理方法及び管理プログラム
JP2019046389A (ja) 2017-09-06 2019-03-22 東芝メモリ株式会社 ストレージデバイス、ホストシステム、および情報処理システム
FR3094807B1 (fr) * 2019-04-05 2021-03-12 Safran Aircraft Engines Dispositif de commande d'un moteur d'un aéronef comprenant deux voies de commande redondées

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494150A (en) * 1982-07-13 1985-01-15 International Business Machines Corporation Word autocorrelation redundancy match facsimile compression for text processing systems
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5289589A (en) * 1990-09-10 1994-02-22 International Business Machines Corporation Automated storage library having redundant SCSI bus system
JP3387954B2 (ja) * 1993-03-01 2003-03-17 富士通株式会社 ライブラリ装置
US5511183A (en) * 1992-05-12 1996-04-23 Fujitsu Limited Non-volatile memory controlling apparatus and applications of the same to electronic computer peripheral equipments
JPH09115229A (ja) * 1995-10-20 1997-05-02 Pfu Ltd ライブラリ装置
US6636779B2 (en) * 2001-10-26 2003-10-21 Storage Technology Corporation Tape library mirrored redundant controllers
US6996741B1 (en) * 2001-11-15 2006-02-07 Xiotech Corporation System and method for redundant communication between redundant controllers
US7111084B2 (en) * 2001-12-28 2006-09-19 Hewlett-Packard Development Company, L.P. Data storage network with host transparent failover controlled by host bus adapter
US7134040B2 (en) * 2002-04-17 2006-11-07 International Business Machines Corporation Method, system, and program for selecting a path to a device to use when sending data requests to the device
AU2003226784A1 (en) * 2002-04-18 2003-10-27 International Business Machines Corporation A method for providing redundancy for channel adapter failure
US7318116B2 (en) * 2002-11-08 2008-01-08 International Business Machines Corporation Control path failover in an automated data storage library
US7178057B1 (en) * 2003-01-17 2007-02-13 Unisys Corporation Method for allowing a clustered computer systems manager to use disparate hardware on each of the separate servers utilized for redundancy
DE10345978A1 (de) * 2003-10-02 2005-04-28 Infineon Technologies Ag Speichervorrichtung mit Redundanz und Verfahren zur Datenspeicherung
DE10345981B4 (de) * 2003-10-02 2007-10-18 Qimonda Ag Schaltungsvorrichtung zur Datenverarbeitung und Verfahren zum Verbinden eines Schaltungskernmoduls mit einem externen Schaltungsmodul
JP2006107151A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd ストレージシステム及びストレージシステムの通信パス制御方法
US7975061B1 (en) * 2004-11-05 2011-07-05 Commvault Systems, Inc. System and method for performing multistream storage operations

Also Published As

Publication number Publication date
US20060277354A1 (en) 2006-12-07
KR20060127726A (ko) 2006-12-13
JP2006343822A (ja) 2006-12-21
CN100403248C (zh) 2008-07-16
CN1877511A (zh) 2006-12-13

Similar Documents

Publication Publication Date Title
KR100674460B1 (ko) 라이브러리 장치
US9182918B2 (en) Network storage systems having clustered raids for improved redundancy and load balancing
US6795934B2 (en) Storage subsystem and information processing system
JP3732869B2 (ja) 外部記憶装置
JP4794068B2 (ja) ストレージエリア・ネットワーク管理システム
US20070294564A1 (en) High availability storage system
US20080005614A1 (en) Failover and failback of write cache data in dual active controllers
US20070002847A1 (en) Storage control device and storage control device path switching method
JP2008112399A (ja) ストレージ仮想化スイッチおよびコンピュータシステム
JP2005196490A (ja) データ多重化のためのシステム及び方法
JP4635941B2 (ja) ディスクアレイサブシステム
JP2001216204A (ja) 記憶制御装置
JP4395766B2 (ja) 障害解析システム及び方法並びにプログラム
JP3776438B2 (ja) 記憶装置
JP2019125075A (ja) ストレージ装置、ストレージシステムおよびプログラム
JP2006260008A (ja) 冗長化ディスクシステム
JP2007334764A (ja) Nasシステムおよびnasシステムの情報処理方法
JP4511455B2 (ja) ファイバーチャネルスイッチおよびそれを用いたコンピュータシステム
JP2006260392A (ja) 高可用性仮想テープライブラリシステム
JP2008197886A (ja) ストレージ装置及びその制御方法
JPH04155673A (ja) ミラードデイスク装置
KR19980067077A (ko) 이중화 제어 시스템 및 그 제어방법
KR19990020331A (ko) 에이티엠 교환기의 이중화 장치 및 방법
JP2946541B2 (ja) 二重化制御システム
KR100319799B1 (ko) 이중화보드에서상태정보관리시스템및방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100111

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee