KR20000015042A - 전전자교환기의 대용량 저장장치의 제어방법 - Google Patents

전전자교환기의 대용량 저장장치의 제어방법 Download PDF

Info

Publication number
KR20000015042A
KR20000015042A KR1019980034730A KR19980034730A KR20000015042A KR 20000015042 A KR20000015042 A KR 20000015042A KR 1019980034730 A KR1019980034730 A KR 1019980034730A KR 19980034730 A KR19980034730 A KR 19980034730A KR 20000015042 A KR20000015042 A KR 20000015042A
Authority
KR
South Korea
Prior art keywords
command
block
scsi
bus
designated
Prior art date
Application number
KR1019980034730A
Other languages
English (en)
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 김영환
Priority to KR1019980034730A priority Critical patent/KR20000015042A/ko
Publication of KR20000015042A publication Critical patent/KR20000015042A/ko

Links

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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0036Small computer system interface [SCSI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 시스템 차원의 운용과 유지 보수 관련 기능을 수행하기 위해 대용량 기억매체를 제공하는 자기 테이프 및 디스크로 구성되는 OMP에서 운용도중 발생한 SCSI 타임-아웃으로 인한 과금 데이터 및 시스템 데이터 유실을 방지하기 위한 것으로, 이러한 본 발명은 장착된 디바이스들의 상태값을 점검한 다음 RCB를 감시하여 RCB가 지정하는 CPB를 수행하고, 그 수행결과가 정상이 아니면 에러 인터럽트를 발생시키고 카운트를 증가시켜, 카운트가 임의의 값 이하이면 이전 상태 값을 유지하면서 SCSI 버스를 초기화하고 이전 지정된 명령어 블록이 지정했던 명령어 매개변수 블록을 재실행하고, 카운트가 임의의 값 이상이면 SCSI 버스의 리셋과 펌웨어 초기화를 수행함으로써, SCSI 타임-아웃 발생시 시스템이 슬립 상태로 빠지는 것을 막을 수 있고 버스 초기화시 상태 변화를 방지하여 각 디바이스의 작업 모드가 해제되는 것을 방지할 수 있고, 작업의 연속성을 살려 시스템의 성능을 향상시키며, 에러 처리 소요시간을 절약할 수 있게 되는 것이다.

Description

전전자교환기의 대용량 저장장치의 제어방법
본 발명은 전전자교환기(Full Electronic Exchange)에 관한 것으로, 특히 시스템 차원의 운용과 유지 보수 관련 기능을 수행하기 위해 대용량 기억매체를 제공하는 자기 테이프 및 디스크로 구성되는 OMP(Operation Maintenance Processor, 운용관리 프로세서)에서 운용도중 발생한 SCSI(Small Computer System Interface, 소형 컴퓨터 시스템 인터페이스) 타임-아웃(Time-Out)으로 인한 과금 데이터 및 시스템 데이터 유실을 방지하기 위한 방법에 관한 것이다.
따라서 본 발명은 전전자 교환기 유지 보수계 블록(OMPH, Operation & Maintenance Processor Hardware block) 내의 대용량 저장 장치 회로팩(MSIA, Mass Storage Interface Assembly; 또는 DMIA, Disk & Magnetic-tape Interface board Assembly)과 보조 기억 장치(디스크, 자기 테이프 등)와의 SCSI 버스 동작시 발생하는 문제점을 개선하고자 한다.
그리고 본 발명이 사용되는 기술분야로는 음성용 전전자교환기를 비롯하여 코드분할 다중접속(CDMA, Code Division Multiple Access)용 전전자교환기 및 개인휴대통신(PCS, Personal Communication System)용 전전자교환기의 저장 장치 운용에 사용될 수 있다.
여기서 일반적인 전전자 교환기는 교환기를 구성하고 있는 계전기, 상승회전 스위치, 크로스바 스위치 등의 전기 기계적 장치를 대부분 전자부품으로 바꿔 놓은 것을 말한다.
도1은 전전자교환기에서 유지 보수계 블록 내의 일반적인 대용량 저장장치의 블록구성도이다.
이에 도시된 바와 같이, 어드레스 버스와 데이터 버스를 통해 시스템의 전반적인 동작을 제어하는 중앙처리장치(CPU, Central Processing Unit)(1)와; 어드레스 버스를 통해 상기 중앙처리장치(1)의 제어를 받고, 인터럽트 기능을 제공하며, 타이머를 제공하는 다중기능 주변장치(MFP, Multi-Function Perpheral)(2)와; 상기 중앙처리장치(1)의 제어에 따라 이중화되어 범용 입출력 정합 기능을 수행하는 제1 및 제2 SCSI 버스 제어부(3)(4)와; 상기 중앙처리장치(1)에서 동작할 펌웨어 프로그램을 내장한 롬(ROM, Read Only Memory)(5)와; 상기 중앙처리장치(1)에서 처리된 데이터를 저장하는 램(RAM, Random Access Memory)(6) 및 이중포트램(DPRAM, Dual Port RAM)(7)으로 구성되었다.
도2는 종래 대용량 저장장치의 제어방법을 보인 흐름도이다.
이에 도시된 바와 같이, 장착된 디바이스들의 상태값을 점검한 다음 16개의 지정된 명령어 블록(RCB, Request Command Block)을 감시하여 RCB가 지정하는 명령어 매개 변수 블록(CPB, Command Parameter Block)을 수행하는 단계(ST1 - ST3)와; 상기 CPB의 수행결과가 정상이 아니면 에러 인터럽트를 발생시키는 단계(ST4)(ST5)와; 상기 에러 인터럽트를 발생시킨 다음 32초 후 SCSI 타임-아웃을 발생시키고 SCSI 버스의 리셋과 펌웨어를 초기화시키는 단계(ST6)(ST7)로 구성된다.
이와 같이 구성된 일반적인 대용량 저장장치에서 종래의 대용량 저장장치의 제어방법의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
먼저 전전자교환기의 저장 장치 제어 보드인 DMIA는 보조기억장치인 HDMA(Hard Disk Mount Assembly)와 MTU(Magnetic Tape Unit)와의 연결로 이중화된 범용 입출력 정합 버스인 SCSI 버스를 사용한다. SCSI 버스는 ANSI(American National Standard & Interface, ANSI X3,131,X3T9.2) 버스를 비동기식 차등(differential) 방식으로 구성하여 데이터의 최대 전송 속도를 5M~10Mbyte/sec까지 가능하게 하며, Multiple Initiate/Multiple Target 방식으로 운용한다.
여기서 대용량 저장장치인 DMIA의 펌웨어(Firmware)는 CROS(Concurrent Real-time Operating System, 병렬 실시간 운영 체계)의 파일 시스템(File System)과 DMIA를 구성하고 있는 각종 하드웨어 사이에 존재하는 소프트웨어 프로그램이다. 기본적인 역할은 CORS의 파일 시스템으로부터 요청받은 디스크나 자기 테이프 관련 작업들을 분석한 다음 그 작업에 맞게 하드웨어 칩들을 제어하여 SCSI 버스에 연결되어 있는 디스크나 테이프 제어 장치에 명령어 수행을 요구하고, 해당 작업의 결과를 받아 CROS의 파일 시스템에게 전달하여 디스크나 테이프 관련 작업들이 원활히 수행되도록 한다. 파일 시스템은 운영체제인 CROS 커널의 한 부분으로 응용 프로그래머가 디스크나 테이프 등 보조 기억 장치를 편리하고 효율적으로 사용할 수 있도록 매개변수(Primitives)들을 제공함으로써 OMP 프로세서에 들어갈 응용 프로그램을 쉽게 작성할 수 있도록 한다.
그리고 각각의 디바이스에 하나의 명령을 수행하기 위한 SCSI 명령어 및 관련 변수로 구성되는 기본적인 명령어 매개 변수 블록을 명령어 매개 변수 블록(CPB, Command Parameter Block)이라고 하며, CROS의 파일 시스템은 처리하고자하는 작업(Job)에 해당하는 명령어 매개 변수 블록을 구성하여 DMIA의 공유 메모리인 이중포트램(7)에 기록한다. CROS의 파일 시스템은 명령어 매개 변수 블록의 시작 번지 지시자(Start Address Pointer)를 DMIA의 공유 메모리의 지정된 영역(RCB, Request Command Block)에 기록하고, 명령어 이슈 비트(Command Issued Bit)를 세트(Set)한다. DMIA의 임의 프로세서(Local Processor)는 16개의 지정된 영역내의 명령어 이슈 비트를 주기적으로 감시하다가 세트된 지정된 명령어 블록을 만나면 그 지정된 명령어 블록에 기록된 명령어 매개 변수 블록의 내용에 따라 적절한 기능을 수행한다. CROS의 파일 시스템에 의하여 구성되는 명령어 매개 변수 블록의 첫 항목은 SCSI 명령어 블록(Command Block)이다. 명령어 블록은 6, 10, 12 바이트(Byte)로 구성되어 있으며, 첫 번째 바이트는 읽기, 쓰기, 복사, 되돌리기 등과 같은 디바이스에 내려지는 명령어로 구성되고, 두 번째 바이트부터는 명령어에 따라 조금씩 구성이 달라져 읽거나 쓰려는 데이터의 길이와 어드레스(Address), 전송하려는 타겟(Target)의 SCSI 식별자(Identification) 등으로 구성된다. 이 SCSI 명령어에 기록된 SCSI 명령어와 관련된 변수들은 어떤 보조 기억장치(디스크 드라이브 또는 테이프 드라이브)를 구동하기 위한 것인가에 따라 상당히 달라진다. SCSI 명령어 블록의 나머지 항목들은 MPS(Main Processor System, 주프로세서 시스템) 버스와 SCSI 버스간의 통신을 위한 것이다.
그래서 디바이스와 디바이스들의 상태값을 초기화한 다음 OS(Operating System, 운영체제)의 파일 시스템에서 명령어 매개 변수 블록(CPB)을 공유메모리인 이중포트램(7)에 쌓는다. 즉, 수행하고자 하는 작업(Job)에 대한 명령어 매개 변수 블록을 구성하여 공유 메모리에 쓰고 지정된 영역의 해당 비트를 세트한다(ST1). 그리고 세트된 지정된 명령어 블록(RCB)이 있는 지를 검색하여(ST2), 지정된 명령어 블록(RCB)이 있으면 DMIA는 지정된 명령어 블록(RBC)이 지정하는 명령어 매개변수 블록(CPB)의 내용에 따라 작업 수행 요청을 받아 이를 디바이스들에게 전달한다(ST3).
그러면 디바이스들은 명령어 매개변수 블록(CPB)의 명령어를 분석하고 처리하여 그 결과를 DMIA에 인터럽트 형식으로 보고한다. 그래서 DMIA의 펌웨어는 이 인터럽트를 분석하여 정상적으로 작업이 수행되면 "GOOD"으로 처리하여 상위 프로세서(CROS)에 정상 상태를 보고하고 다음 작업 수행을 위해 지정된 영역의 명령 비트가 세트되어 있는 지를 조사하게 된다(ST4).
그리고 수행결과가 정상이 아니면 에러 인터럽트를 발생시킨다(ST5). 그래서 32초 후 SCSI 타임-아웃이 발생하고 SCSI 버스의 리셋과 제1 및 제2 SCSI 버스 제어부(3)(4)의 초기화와 펌웨어의 재시작(Restart)이 수행되게 된다(ST6)(ST7).
여기서 SCSI 타임-아웃 자체는 작업 수행에 대한 일정시간 동안의 무응답 내지는 무처리를(현재 32초) 지칭하는 것으로 SCSI 타임-아웃을 일으키는 원인은 다양하다.
그러나 DMIA 보드내에 디바이스 구동 칩으로 하는 제1 및 제2 SCSI 버스 제어부(3)(4)는 SCSI 버스 상에서 디바이스와의 인터페이스 도중에 발생하는 에러나 상위 프로세서인 MCDA(Main Control & Duplication board Assembly)와의 MPS 버스 도중에 발생하는 여러 에러들을 표시해준다. 여기서 타임-아웃이란 테이프나 디스크에 작업수행을 요청한 프로세서(CROS)에게 주어진 시간(현재 32초) 내에 수행 결과를 주지 못하는 현상을 지칭하며, 이때의 증상으로는 명령을 받은 디바이스가 응답을 주지 못하기 때문에 SCSI 버스가 정지(Holding)되어 있어 프로세서는 어떤 일도 하지 못하게 된다. DMIA 펌웨어는 슬립(Sleep) 상태에 빠져있는 각 디바이스들을 깨우기 위해 버스 초기화를 한다. 이때 디바이스들의 상태가 변하거나 이로인해 과금 데이터의 유실같은 현상이 발생하는 문제점이 있었다.
이처럼 전전자교환기 시스템에 나타나는 SCSI 타임-아웃 현상은 SCSI 버스나 MPS 버스 사용중에 발생할 수 있는 에러이나, 종래의 DMIA 회로 팩에는 하드웨어적인 오류 메시지 표시만 있는 단점이 있었다. 그래서 처리기준인 재시도나 재처리에 대한 정확한 해결책이 없기 때문에, 단순하게 DMIA 펌웨어는 SCSI 버스 초기화(Bus Reset)로 디바이스들을 초기화하고 펌웨어 자신도 초기화하여 새로운 작업을 수행해야 하기 때문에 CROS의 에러 재처리나 하드웨어적인 에러처리에 소요되는 시간이 증가하는 문제점도 있었다.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 시스템 차원의 운용과 유지 보수 관련 기능을 수행하기 위해 대용량 기억매체를 제공하는 자기 테이프 및 디스크로 구성되는 OMP에서 운용도중 발생한 SCSI 타임-아웃으로 인한 과금 데이터 및 시스템 데이터 유실을 방지하기 위한 전전자교환기의 대용량 저장장치의 제어방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명에 의한 전전자교환기의 대용량 저장장치의 제어방법은,
장착된 디바이스들의 상태값을 점검한 다음 지정된 명령어 블록을 감시하여 지정된 명령어 블록이 지정하는 명령어 매개변수 블록을 수행하는 단계와; 상기 명령어 매개변수 블록의 수행결과가 정상이 아니면 에러 인터럽트를 발생시키고 카운트를 증가시키는 단계와; 상기 카운트가 임의의 값 이하이면 이전 상태 값을 유지하면서 SCSI 버스를 초기화하고 이전 지정된 명령어 블록이 지정했던 명령어 매개변수 블록을 재실행하는 단계와; 상기 카운트가 임의의 값 이상이면 SCSI 버스의 리셋과 펌웨어 초기화를 수행하는 단계로 이루어짐을 그 기술적 구성상의 특징으로 한다.
도 1은 일반적인 대용량 저장장치의 블록구성도,
도 2는 종래 대용량 저장장치의 제어방법을 보인 흐름도,
도 3은 본 발명에 의한 대용량 저장장치의 제어방법을 보인 흐름도,
도 4는 본 발명이 적용되는 대용량 저장장치의 명령어 수행을 보인 흐름도,
도 5는 본 발명을 이용한 대용량 저장장치의 상태관리를 보인 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
1: 중앙처리장치 2: 다중기능 주변장치
3: 제1 SCSI 버스 제어부 4: 제2 SCSI 버스 제어부
5: 롬 6: 램
7: 이중포트램
이하, 상기와 같이 구성된 본 발명 전전자교환기의 대용량 저장장치의 제어방법의 기술적 사상에 따른 일실시예를 상세히 설명하면 다음과 같다.
도3은 본 발명에 의한 대용량 저장장치의 제어방법을 보인 흐름도이다.
이에 도시된 바와 같이, 장착된 디바이스들의 상태값을 점검한 다음 지정된 명령어 블록을 감시하여 지정된 명령어 블록이 지정하는 명령어 매개변수 블록을 수행하는 단계(ST11 - ST14)와; 상기 명령어 매개변수 블록의 수행결과가 정상이 아니면 에러 인터럽트를 발생시키고 카운트를 증가시키는 단계(ST15)와; 상기 카운트가 임의의 값 이하이면 이전 상태 값을 유지하면서 SCSI 버스를 초기화하고 이전 지정된 명령어 블록이 지정했던 명령어 매개변수 블록을 재실행하는 단계(ST16 - ST18)와; 상기 카운트가 임의의 값 이상이면 SCSI 버스의 리셋과 펌웨어 초기화를 수행하는 단계(ST19)로 구성된다.
상기에서 카운트가 임의의 값 이하이면 이전 상태 값을 유지하면서 SCSI 버스를 초기화하고 이전 지정된 명령어 블록이 지정했던 명령어 매개변수 블록을 재실행하는 단계(ST16 - ST18)는, 이전 상태를 유지하기 위해 이중포트램(7)에 상태 값을 보관하는 것을 특징으로 한다.
이와 같이 구성된 본 발명에 의한 전전자 교환기의 대용량 저장장치의 제어방법의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
먼저 종래 기술의 문제점을 해결하기 위하여 본 발명에서는 SCSI 타임-아웃시 정지되는 디바이스(디스크 또는 테이프 장치)들을 상태 변화없이 초기화시키고, DMIA 펌웨어에서 SCSI 타임-아웃 발생시 잃어버리는 이전 작업을 재수행할 수 있도록 하는 부분을 첨가하여 SCSI 타임-아웃 발생시 생길 수 있는 상태 천이와 수행하던 작업을 잃어버리는 문제점을 해결하였다.
SCSI 타임-아웃 현상 자체는 하드웨어나 소프트웨어의 오류로 나타나는 에러의 한 종류로 볼 수 있다. 문제는 이 에러를 처리해주는 방법인데, SCSI 타임-아웃이 발생한 후 슬립(Sleep) 상태에 있던 디바이스는 버스 초기화 작업으로 디바이스들을 초기화할 수 있다. 그러나 버스 초기화 후 각 디바이스에 선언되었던 작업 수행 방법(Job Mode)이 풀려 다시 선언해 주어야 하며, 이 동안에는 과금 데이터가 수록되지 못하게 된다. 또한, 에러가 발생했을 때 수행했던 이전 작업이 소실되어 버스 초기화 후에는 다시 처음부터 작업을 진행하여야 하는 번거러움이 있었다.
이러한 일련의 일들이 발생하지 않도록 하드웨어의 성능을 개선하는 것도 중요하지만 에러가 발생하여 시스템이 정지되었을 때 시스템을 복구하는 방법도 중요하다. 하드웨어적인 복구 방법은 각 회로 팩의 칩들의 수명과 시스템의 외부 요인(불안정한 전압, 전자기장, 전기 쇼크 등)과 같은 상황에 좌우되기 때문에 완벽한 복구 방법을 설계한다는 것은 거의 불가능하다. 그래서, 본 발명에서는 DMIA 펌웨어에 복구 방법을 이식하여 이러한 문제를 해결하고자 한다.
그래서 디바이스와 디바이스들의 상태값을 초기화한 다음 OS의 파일 시스템에서 명령어 매개 변수 블록(CPB)을 공유메모리인 이중포트램(7)에 쌓는다. 즉, 수행하고자 하는 작업(Job)에 대한 명령어 매개 변수 블록을 구성하여 공유 메모리에 쓰고 지정된 영역의 해당 비트를 세트하고, 카운트를 설정한다(ST11). 그리고 세트된 지정된 명령어 블록(RCB)이 있는 지를 검색하여(ST12), 지정된 명령어 블록(RCB)이 있으면 DMIA는 지정된 명령어 블록(RBC)이 지정하는 명령어 매개변수 블록(CPB)의 내용에 따라 작업 수행 요청을 받아 이를 디바이스들에게 전달한다(ST13).
그러면 디바이스들은 명령어 매개변수 블록(CPB)의 명령어를 분석하고 처리하여 그 결과를 DMIA에 인터럽트 형식으로 보고한다. 그래서 DMIA의 펌웨어는 이 인터럽트를 분석하여 정상적으로 작업이 수행되면 "GOOD"으로 처리하여 상위 프로세서(CROS)에 정상 상태를 보고하고 다음 작업 수행을 위해 지정된 영역의 명령 비트가 세트되어 있는 지를 조사하게 된다(ST14).
그리고 수행결과가 정상이 아니면 에러 인터럽트를 발생시키고 카운트를 증가시킨다(ST15). 그래서 카운트가 임의의 값 이하이면 이전 상태를 유지하기 위해 이중포트램(7)에 상태 값을 보관한다(ST16)(ST17). 이렇게 이전 상태 값을 유지하면서 SCSI 버스를 초기화하고 이전 지정된 명령어 블록이 지정했던 명령어 매개변수 블록을 재실행하게 된다(ST18). 그리고 카운트가 임의의 값 이상이면 SCSI 버스의 리셋과 제1 및 제2 SCSI 버스 제어부(3)(4)의 초기화와 펌웨어의 재시작(Restart)이 수행되게 된다(ST19).
도4는 본 발명이 적용되는 대용량 저장장치의 명령어 수행을 보인 흐름도로써, 버스 초기화 후 소실되는 작업을 복구하는 방법을 보인 것이다. 여기서 작업 수행은 CROS에 의해 구성된 명령어 매개변수 블록을 디바이스에 넘겨주기만 하면 알아서 디바이스들이 처리하므로, 디바이스에서 올라오는 에러 인터럽트를 DMIA 펌웨어에서 조사하여 발생에러를 상위 CROS에 보고하지 않고 이전 작업의 CPB가 구성되어 있는 공유메모리인 이중포트램(7)을 액세스하여 디바이스에 해당 명령어 매개변수 블록을 재실행시키게 된다(ST21)(ST22).
그래서 종래의 DMIA 펌웨어는 작업 실행 도중 에러가 발생하면 디바이스로부터 받은 인터럽트를 상위 프로세서에 보고만 하고, 에러를 처리해주는 루틴이 없어 32초 후에 버스 초기화 과정을 시행했다. 상위 프로세서인 CROS는 DMIA 펌웨어로부터 지시한 작업이 끝났다는 "GOOD" 신호가 있을 때만 다음 작업을 위한 지정된 명령어 블록(RCB)의 비트(Bit)를 세트하므로 작업이 끝났다는 메시지가 오기 전까지는 DMIA와 디바이스 간에 일어난 일은 모르게 된다. 이점을 이용하여 본 발명은 에러 인터럽트가 발생하면 상위 프로세서에 보고를 하지 않고, 바로 버스를 초기화하여 디바이스와 디바이스 드라이버인 제1 및 제2 SCSI 버스 제어부(3)(4) 칩을 잡 수행상태로 만들고, 공유메모리인 이중포트램(7)에 있는 이전 작업 명령을 수행하게 된다.
그리고 연속적으로 에러가 발생하면 연속된 버스 초기화로 시스템에 과부하가 걸릴 수 있다. 디스크의 헤더가 깨졌거나 자기 테이프의 불량 또는 디스크 드라이브나 자기 테이프 드라이브 장치 자체 불량인 경우 이러한 현상이 나타나게 된다. 이러한 현상에 대한 에러가 발생하면 DMIA 펌웨어는 계속 버스 초기화와 명령어 재수행을 반복하게 된다. 그러면 시스템이 무한 루프를 돌게 되는데, 이것을 막기 위하여 에러가 발생하면 DMIA 펌웨어에서 카운트를 1증가시켜 카운트가 2인 경우는 작업(Job)을 종료하고 모든 수행을 정지하게 한다. 또한 카운트는 조정이 가능하여 유연성을 갖도록 하였다(ST23).
도5는 본 발명을 이용한 대용량 저장장치의 상태관리를 보인 흐름도이다. 여기서는 디바이스에 선언되었던 작업 수행 모드를 버스 초기화 동안에도 유지시키기 위해서 다음과 같이 수행한다.
먼저 작업 수행 모드를 유지하려면 디바이스의 상태값이 변하지 않게 해야 한다. DMIA 펌웨어는 디스크나 테이프 드라이버 장치 같은 디바이스를 4초 간격으로 체크한 상태 값과 전원 온/오프(On/Off)시에 발생하는 상태를 파일 시스템에 보고한다(ST31 - ST34). 보고된 상태 값은 다시 응용 소프트웨어의 OMDST_OMP 블록에 보고되어 OMID(Operation Management Interface Device, 운용보전 인터페이스 장치) 또는 개인용 컴퓨터(PC, Personal Computer) 등 다른 터미널에 디스플레이된다. 상태 값은 현재 상태 값에 변화가 생겼을 때 상태 변화가 감지된 부분 값(cstate)과 상태 변화 후의 상태 값(dstate)과 버스 상태 값(bstate)으로 분류하여 파일 시스템이나 응용 소프트웨어에 전송한다. 에러가 발생하여 32초 후 버스 초기화가 시작되면 디바이스들의 상태 값이 클리어되는데, 본 발명은 버스 초기화가 끝나고 이전 작업 수행시 전 상태(cstate, dstate, bstate) 값을 임의의 메모리에 저장했다가 작업 수행 전 디바이스들에게 준다(ST35). 에러에 의해 SCSI 타임-아웃이 걸려 버스 초기화가 진행될 때 DMIA 펌웨어는 초기화를 수행하면서 디바이스에 수행되었던 작업과 그 때의 상태 값을 유지하고 있다가 초기화가 완료되었을 때 이전 작업을 수행하게 함으로써 작업의 흐름이 끊어지는 것을 방지하게 된다.
이처럼 본 발명은 시스템 차원의 운용과 유지 보수 관련 기능을 수행하기 위해 대용량 기억매체를 제공하는 자기 테이프 및 디스크로 구성되는 OMP에서 운용도중 발생한 SCSI 타임-아웃으로 인한 과금 데이터 및 시스템 데이터 유실을 방지하게 되는 것이다.
이상에서 살펴본 바와 같이, 본 발명에 의한 전전자교환기의 대용량 저장장치의 제어방법은 SCSI 타임-아웃 발생시 시스템이 슬립 상태로 빠지는 것을 막을 수 있고, 버스 초기화시 상태 변화를 방지함으로써 각 디바이스의 작업 모드가 해제되는 것을 방지할 수 있는 효과가 있게 된다.
또한 본 발명은 에러 발생시 시스템의 초기화 후 재작업에 걸리는 시간을 줄일 수 있을 뿐만 아니라, 이전 작업을 재수행하게 함으로써 작업의 연속성을 살릴 수 있어 시스템의 성능을 향상시킬 수 있고, CROS의 에러 재처리나 하드웨어적인 에러 처리 부분에 소요되는 시간을 절약할 수 있는 효과도 있게 된다.
더불어 본 발명은 에러시 카운트를 구동하여 디스크 또는 자기 테이프 드라이브 자체 불량이나, 자기 데이프 불량과 같은 연속적으로 에러를 일으키는 요인에 대해 카운트 값 조정으로 유연성을 구비할 수 있게 되는 효과도 있게 된다.

Claims (2)

  1. 전전자교환기의 대용량 저장장치에 있어서,
    장착된 디바이스들의 상태값을 점검한 다음 지정된 명령어 블록을 감시하여 지정된 명령어 블록이 지정하는 명령어 매개변수 블록을 수행하는 단계와;
    상기 명령어 매개변수 블록의 수행결과가 정상이 아니면 에러 인터럽트를 발생시키고 카운트를 증가시키는 단계와;
    상기 카운트가 임의의 값 이하이면 이전 상태 값을 유지하면서 SCSI 버스를 초기화하고 이전 지정된 명령어 블록이 지정했던 명령어 매개변수 블록을 재실행하는 단계와;
    상기 카운트가 임의의 값 이상이면 SCSI 버스의 리셋과 펌웨어 초기화를 수행하는 단계로 구성된 것을 특징으로 하는 전전자교환기의 대용량 저장장치의 제어방법.
  2. 제 1항에 있어서, 상기 카운트가 임의의 값 이하이면 이전 상태 값을 유지하면서 SCSI 버스를 초기화하고 이전 지정된 명령어 블록이 지정했던 명령어 매개변수 블록을 재실행하는 단계는, 이전 상태를 유지하기 위해 이중포트램에 상태 값을 보관하는 것을 특징으로 하는 전전자교환기의 대용량 저장장치의 제어방법.
KR1019980034730A 1998-08-26 1998-08-26 전전자교환기의 대용량 저장장치의 제어방법 KR20000015042A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980034730A KR20000015042A (ko) 1998-08-26 1998-08-26 전전자교환기의 대용량 저장장치의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980034730A KR20000015042A (ko) 1998-08-26 1998-08-26 전전자교환기의 대용량 저장장치의 제어방법

Publications (1)

Publication Number Publication Date
KR20000015042A true KR20000015042A (ko) 2000-03-15

Family

ID=19548408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980034730A KR20000015042A (ko) 1998-08-26 1998-08-26 전전자교환기의 대용량 저장장치의 제어방법

Country Status (1)

Country Link
KR (1) KR20000015042A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100393982B1 (ko) * 1998-12-10 2003-09-19 엘지전자 주식회사 원격데이터집중장치와데이터전송방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950009429A (ko) * 1993-09-24 1995-04-24 프레데릭 얀 스미트 사용자 대화 후 컴퓨터내 계층적 오브젝트 구조의 일관성을 자동으로 회복하는 방법과, 그러한 일관성 자동 회복 시스템을 구비한 컴퓨터
KR960028032A (ko) * 1994-12-12 1996-07-22 양승택 전전자교환기의 화일정보 감시 및 복구방법
KR960039815A (ko) * 1995-04-25 1996-11-25 유기범 전전자 교환기에 있어서 과금데이타 관리방법
KR980013232A (ko) * 1996-07-23 1998-04-30 이준 교환기내 범용 과금 데이터 기록 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950009429A (ko) * 1993-09-24 1995-04-24 프레데릭 얀 스미트 사용자 대화 후 컴퓨터내 계층적 오브젝트 구조의 일관성을 자동으로 회복하는 방법과, 그러한 일관성 자동 회복 시스템을 구비한 컴퓨터
KR960028032A (ko) * 1994-12-12 1996-07-22 양승택 전전자교환기의 화일정보 감시 및 복구방법
KR960039815A (ko) * 1995-04-25 1996-11-25 유기범 전전자 교환기에 있어서 과금데이타 관리방법
KR980013232A (ko) * 1996-07-23 1998-04-30 이준 교환기내 범용 과금 데이터 기록 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100393982B1 (ko) * 1998-12-10 2003-09-19 엘지전자 주식회사 원격데이터집중장치와데이터전송방법

Similar Documents

Publication Publication Date Title
US5546533A (en) Dynamic device reconfiguration having restricted main storage access for subsystem employing magnetic units
US5889933A (en) Adaptive power failure recovery
JP2565632B2 (ja) 入出力システム
US7437585B2 (en) Storage system and power control method therefor, adapter and power control method therefor, and storage controller and control method therefor
JP2002318666A (ja) ディスクアレイ装置に実装されたハードディスクユニットのファームウエアの更新方法およびこの更新方法を実行する機能を備えたディスクアレイ装置
JP2004287648A (ja) 外部記憶装置及び外部記憶装置のデータ回復方法並びにプログラム
CN101937376A (zh) 一种数据管理方法及数据存储装置
US5239646A (en) Data transmission method and data processing system using the same
EP1901167B1 (en) Storage system performing remote copying
JPH03194774A (ja) 外部記憶装置の不良ブロック交替処理方式
JPH09330277A (ja) ディスクキャッシュシステムにおける停電処理方式及び停電処理方法
KR20000015042A (ko) 전전자교환기의 대용량 저장장치의 제어방법
KR100303328B1 (ko) 이중화 제어방식 교환시스템의 운영유지프로세서에서 메인프로세서 절체시 데이터 유실방지방법
KR20030082779A (ko) 네트워크 저장 장치의 듀얼 플레쉬 디스크 에러복구 방법
JPH06259172A (ja) バッテリ動作型の情報処理装置
JPS61112254A (ja) 半導体電子デイスクシステム
JP2562834B2 (ja) 二重化制御方法
JP2002091632A (ja) コンピュータ装置
JP3271698B2 (ja) 周辺装置電源切断システム
JP2524673B2 (ja) 直接メモリアクセス装置
JPH0264815A (ja) ディスクキャッシュ制御方式
JPS63131213A (ja) 電源制御装置
JP2773042B2 (ja) インサーキットエミュレータのバス切替方法
JPH0267615A (ja) 周辺制御装置
JPH02109139A (ja) 電子機器の異常解除装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application