KR20030054109A - 분산 레이드 제어기 환경에서의 부하 분산 방법 - Google Patents

분산 레이드 제어기 환경에서의 부하 분산 방법 Download PDF

Info

Publication number
KR20030054109A
KR20030054109A KR1020010084215A KR20010084215A KR20030054109A KR 20030054109 A KR20030054109 A KR 20030054109A KR 1020010084215 A KR1020010084215 A KR 1020010084215A KR 20010084215 A KR20010084215 A KR 20010084215A KR 20030054109 A KR20030054109 A KR 20030054109A
Authority
KR
South Korea
Prior art keywords
raid controller
load
raid
token
controller
Prior art date
Application number
KR1020010084215A
Other languages
English (en)
Other versions
KR100445425B1 (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 한국전자통신연구원
Priority to KR10-2001-0084215A priority Critical patent/KR100445425B1/ko
Publication of KR20030054109A publication Critical patent/KR20030054109A/ko
Application granted granted Critical
Publication of KR100445425B1 publication Critical patent/KR100445425B1/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/0626Reducing size or complexity of storage systems
    • 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/0653Monitoring storage devices or systems
    • 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/0658Controller construction arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 복수개의 RAID제어기가 하나 혹은 복수개의 디스크 저장장치를 공유하고 있는 상황에서 복수개의 호스트가 RAID 제어기들을 액세스할 때, 각 RAID 제어기간의 부하를 균등하게 분산하기 위한 것으로, 특히 복수개의 RAID 제어기의 현재 부하 상태를 상호 교환하여 최저의 부하를 가지는 RAID 제어기를 결정하고 해당 RAID 제어기가 차후에 발생하는 호스트의 요청을 처리하도록 함으로써 호스트의 부하를 각 RAID 제어기에 균등하게 분산할 수 있는 것에 관한 것이다.
본 발명은 각 RAID 제어기들이 현재 부하량을 상호 통보함으로써 최저의 부하량을 가지는 RAID 제어기를 결정하고, 호스트가 각 RAID제어기의 부하량을 사전에 인지할 필요 없이 모든 RAID제어기에 멀티캐스트로 데이터 액세스 요청을 송신하면 사전에 결정된 RAID 제어기만이 응답하도록 하여, 호스트의 요청을 각각의 RAID 제어기에 균등하게 분산시킴으로써 병목현상의 발생을 방지하고 호스트와 RAID제어기간의 대역폭을 최대로 사용할 수 있도록 하고, 호스트와 RAID제어기간의 부하분산을 위한 추가적인 통신과정을 제거하거나 최소화함으로써 전체 데이터 저장시스템의 응답시간을 향상시킬 수 있다.

Description

분산 레이드 제어기 환경에서의 부하 분산 방법 {Method for balancing loads on a storage subsystem with distributed RAID controllers}
본 발명은 복수개의 RAID제어기가 하나 혹은 복수개의 디스크저장장치를 공유하고 있는 상황에서 복수개의 호스트가 RAID 제어기들을 액세스할 때, 각 RAID 제어기간의 부하를 균등하게 분산하기 위한 것으로, 특히 복수개의 RAID 제어기의 현재 부하 상태를 상호 교환하여 최저의 부하를 가지는 RAID 제어기를 결정하고 해당 RAID 제어기가 차후에 발생하는 호스트의 요청을 처리하도록 함으로써 호스트의 부하를 각 RAID 제어기에 균등하게 분산할 수 있는 분산 RAID제어기 환경에서의 부하 분산 방법에 관한 것이다.
일반적으로, 다수의 호스트가 대용량의 데이터를 고속으로 접근하는 환경에서 대역폭을 확장하기 위한 방법으로 복수개의 RAID 제어기를 사용해서 호스트의 부하를 분산하는 방법이 사용되고 있다.
이러한 환경에서 최대한의 성능을 제공하려면 각 RAID 제어기에 할당되는 부하 분산이 균등하게 이루어지고, 호스트는 부하분산을 위한 추가적인 통신 없이 가장 부하가 적은 RAID 제어기에 연결할 수 있어야 한다.
대한민국특허청에 1998년11월7일자로 출원하여 2000년10월16일자로 발행된 대한민국 특허 제10-0268838호 "부하 분산기 및 그 부하 분산기에 의한 내용기반 정책라우팅 방법"이 개시되어 있다.
선행 대한민국특허 제10-0268838호에서 제시하는 바와 같이 부하 분산기를 사용하는 부하 분산 방법은 요청을 처리하기 위해서는 항상 부하 분산기의 처리를거쳐야 한다. 부하분산기를 사용하는 부하분산 방법은 RAID제어기의 처리능력이 충분하더라도 부하 분산기에서 병목현상이 발생할 가능성이 있다. 또한, RAID 제어기에 접근하기 위해서는 반드시 부하 분산기를 접근하는 과정이 필요하므로 응답시간의 저하가 발생하게 된다.
Rodney A. DeKoning외 2인이 발명하고 LSI로직사(LSI Logic.Inc.)에서 미합중국특허청에 1996년 12월 23일자로 출원하여 2000년8월22일자로 발행된 미합중국특허 제6,108,684호에는 "다수의 제어기를 가지는 스토리지 서브시스템에서의 부하분산을 위한 방법 및 장치"(Methods and apparatus for balancing loads on a storage subsystem among a plurality of controllers)에 관한 기술이 개시되어 있다.
선행 미합중국특허 제6,108,684호에 따르면, 부하 분산을 위해서 복수개의 RAID 제어기를 사용하면서 호스트 시스템은 하나의 RAID 제어기에 연결되거나 다수의 RAID 제어기에 연결될 수 있고, 호스트의 요청을 받은 RAID 제어기가 자신보다 부하가 적은 RAID 제어기에 요청과 데이터를 넘겨서 처리한 후, 그 결과를 호스트에 응답하는 방법, 혹은 다른 RAID 제어기의 부하가 과중한 경우, 상대적으로 부하가 적은 RAID 제어기가 ID를 속여서 호스트의 요청을 대신 처리함으로써 부하를 분산하는 방법을 보여주고 있다.
미합중국특허 제6,108,684호는 복수개의 RAID제어기를 사용하여 피어투피어(peer to peer)방식으로 부하를 분산함으로써 부하분산기를 사용하는 방법에 비해 응답속도가 빠르고 병목현상의 발생이 적다는 장점이 있지만, 부하의 전달을 RAID제어기에서 RAID제어기로 하면서 저장장치와의 연결망을 사용함으로써 데이터전송 대역폭을 낭비하게 되고 가짜 ID를 사용하는 방법은 요청처리의 안정성에 문제가 발생할 가능성이 있다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위해 안출된 것으로, 다수의 호스트가 복수개의 RAID 제어기를 통해 동일한 저장 장치를 접근하는 환경에서, 부하분산기가 없이 복수개의 RAID 제어기 중에서 하나의 RAID 제어기가 보유하도록 되어 있는 토큰과 부하량 테이블을 사용하여 모든 RAID 제어기의 부하량을 분산 조절하여 병목현상을 일으키지 않고 응답시간의 지연을 방지하면서 균등한 부하분산을 제공하는 것이다.
또한, 부하 분산을 위한 데이터전송 대역폭의 낭비를 방지하면서 부하를 효과적으로 분산하여 처리할 수 있는 것이다.
본 발명은 부하 분산기 없이 RAID 제어기간의 피어투피어 통신으로 최저의 부하량을 가지는 RAID 제어기를 검색하여 부하가 적은 RAID 제어기로 부하를 분산시키는 것으로, 호스트가 사전의 정보없이 그 RAID 제어기에 직접 접근할 수 있도록 하는 분산 레이드 제어기 환경에서의 부하 분산 방법을 제공하는 것을 그 목적으로 한다.
도 1은 분산 RAID 제어기로 구성된 데이터 저장시스템의 예.
도 2는 RAID 제어기의 초기화 및 새로운 RAID 제어기의 등록 순서도.
도 3은 토큰을 가지지 않은 RAID 제어기 동작 과정을 나타낸 순서도.
도 4는 토큰을 가진 RAID 제어기 동작 과정을 나타낸 순서도.
도 5a는 네트워크에서 멀티캐스트 요청이 가능할 때의 호스트의 요청 처리순서도
도 5b는 네트워크에서 멀티캐스트 요청이 불가능할 때의 호스트의 요청 처리 순서도.
<도면의 주요 부호에 대한 설명>
호스트 1a, 1b, 1c, 1d : 10, 12, 14, 16, 120
RAID 제어기 2a, 2b, 2c : 20, 22, 24
저장장치 3a, 3b, 3c, 3d : 30, 32, 34, 36
상술한 바와 같은 목적을 달성하기 위한 본 발명은, RAID 제어기가 초기화되면 다른 RAID 제어기를 검색하고, 초기화된 것을 다른 RAID 제어기에게 알리기 위해 신호를 송신하는 단계, 다른 RAID 제어기가 초기화되지 않았으면 초기화된 RAID 제어기가 토큰을 생성시키는 단계, 토큰을 생성한 RAID 제어기는 새로 초기화된 다른 RAID 제어기에게 자신에게 토큰이 있음을 알려주는 단계로 RAID 제어기를 초기 구동하는 것을 포함한다.
또한, 본 발명은 다수 개의 호스트가 네트워크로 다수 개의 RAID 제어기로 연결되어 부하를 처리하는 데에 있어서, RAID 제어기가 초기화되면 RAID 제어기는 토큰을 보유한 다른 RAID 제어기로 현재의 부하량을 송신하는 단계, 토큰을 보유한 RAID 제어기는 현재의 부하량을 수신하는 단계, 토큰을 보유한 RAID 제어기는 현재의 부하량 테이블을 기록 관리하는 단계로 이루어져 RAID 제어기의 부하를 검사하는 것을 포함한다.
또한, 본 발명은 토큰을 보유한 RAID 제어기는 현재의 부하량을 나타내는 부하량 테이블을 검색하는 단계, 토큰을 보유한 RAID 제어기는 자신의 부하량보다 적은 부하를 보유한 RAID 제어기를 검색하는 단계, 적은 부하를 나타내는 RAID 제어기로 토큰과 부하량 테이블을 송신하는 단계로 이루어져 분산 RAID 환경하에서의 RAID 제어기의 부하를 분산하는 것을 포함한다.
또한, 적은 부하를 나타내는 RAID 제어기로 토큰과 부하량 테이블을 송신하는 단계는, 네트워크에 연결된 전체의 RAID 제어기 중에서 가장 적은 부하를 보유한 RAID 제어기가 호스트로부터 입력되는 요청을 수신하도록 부하를 분산시키는 것을 특징으로 한다.
또한, 다수의 호스트로부터 입력되는 요청신호를 다수의 RAID 제어기로 분산처리하는데 있어서, 호스트가 모든 RAID 제어기로 요청신호를 멀티캐스트로 보내는 단계, 모든 RAID 제어기 중에서 토큰과 부하량 테이블을 보유한 RAID 제어기에서 호스트의 요청신호를 수신하는 단계, 토큰과 부하량 테이블을 보유한 RAID 제어기에서 다른 RAID 제어기로부터 현재의 부하량을 수신하는 단계, 토큰과 부하량 테이블을 보유한 RAID 제어기에서 부하량을 수신하여 가장 적은 부하량을 나타내는 RAID 제어기를 검색하는 단계, 가장 적은 부하량을 나타내는 RAID 제어기로 토큰과 부하량 테이블을 송신하는 단계, 토큰과 부하량 테이블을 수신한 RAID 제어기에서 호스트로부터 수신되는 요청신호를 처리하는 단계를 포함한다.
또한, 본 발명은 호스트와 RAID 제어기간의 네트워크가 유니캐스트로 이루어 진 경우, 호스트가 RAID 제어기로 요청신호를 유니캐스트 방식으로 송신하는 단계, 최저의 부하를 나타내는 RAID 제어기를 검색하는 단계, 최저의 부하를 나타내는 RAID 제어기가 요청신호를 수신하는 단계, 최저의 부하를 나타내는 RAID 제어기가 요청신호를 처리하는 단계를 포함한다.
이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 구성요소는 크게 두 가지로 나누어진다. RAID제어기간의 상호 데이터 교환을 통해 최저의 부하를 가지는 RAID제어기를 검출하는 방법과 과정에서 검출된 RAID제어기를 응답시간의 지연 없이 접근하는 방법이다.
토큰은 협력하여 일하는 행위자들간에 공유자원 접근에 대한 동기화 보장을위해 전달되는 추상적인 개념이다. 토큰은 절대로 복사하거나 손상될 수 없다. 토큰은 네트워크를 돌아다니는 일련의 특별한 비트열이다.
본 발명에서의 토큰(Token)은 전체 RAID제어기들 중에서 유일하게 존재하는 데이터구조체이다. 하트비트(Heartbeat)는 각 RAID 제어기가 현재 작동하고 있음을 다른 RAID 제어기에 알리기 위해 주기적으로 전송하는 데이터구조체이다. 하트비트는, 토큰을 가지지 않은 RAID 제어기의 경우에는 현재의 부하량 정보를 포함하고, 토큰을 가진 RAID 제어기의 경우에는 토큰을 가졌음을 나타내는 특별한 비트열을 포함하게 된다.
도 1은 다수의 호스트가 복수의 RAID제어기를 사용해서 저장장치를 접근하는 구성의 한 예이다.
호스트1a, 1b, 1c, 1d(10~16)는 네트워크(40)를 통해서 RAID제어기 2a, 2b, 2c(20~24)와 연결되어 있고, RAID제어기 2a, 2b, 2c(20~24)는 네트워크(60)를 통해서 저장장치 3a, 3b, 3c, 3d(30~36)를 공유하고 있다. 또한, RAID 제어기들간(20~24)에는 네트워크(50)을 통해 데이터를 주고 받는다.
도 2는 RAID 제어기의 초기화 및 RAID 제어기를 등록하는 순서도를 도시한 것이다.
RAID 제어기가 초기화가 시작되면, RAID 제어기는 다른 RAID 제어기가 동작 중인지를 검색을 한다(스텝 S62, S64).
만약 다른 RAID 제어기가 동작 중이 아니면 RAID 제어기에서는 자신이 토큰을 생성한다(스텝 S66, S68).
다른 RAID 제어기가 동작 중이면 자신의 ID를 다른 RAID 제어기로 전송하여 자신이 동작을 시작하였음을 알려준다(스텝 S70).
다음에 RAID 제어기가 하트비트(Heartbeat) 신호로 토큰을 보유한 RAID 제어기로 신호를 송신하며 토큰을 보유한 RAID 제어기는 부하량 테이블에 RAID 제어기를 기록관리 하는 것으로 초기화를 실시한다(스텝 S72, S74, S76).
한편, 다른 RAID 제어기가 등록을 시작하면, 새로운 RAID 제어기의 하트비트(Heartbeat) 신호를 수신을 한다(스텝 S78, S80).
토큰을 보유한 RAID 제어기는 부하량 테이블에 새로운 RAID 제어기를 기록을 하며, 새로운 RAID 제어기에 하트비트 신호를 송신한다(스텝 S82, S84).
이로써 RAID 제어기의 등록을 종료하는 것이다(스텝 S86).
상술한 바와 같이, RAID 제어기는 초기화 과정에서 현재 네트워크에 연결된 RAID 제어기를 검색하고, 다른 RAID 제어기들에게 자신의 존재를 알린다. 만약 다른 RAID제어기가 존재하지 않는다면 토큰을 생성한다. 토큰을 가진 RAID제어기는 새로 초기화된 RAID제어기에게 자신의 주소를 알려주는 것이다.
한편, 도 3은 토큰을 가지지 않은 RAID 제어기의 동작 순서도이다.
토큰을 가지지 않은 RAID 제어기는 주기적으로 토큰을 보유한 RAID 제어기로 하트비트 신호를 송신을 하여 자신의 부하량을 알려준다.
토큰을 가진 RAID 제어기는 다른 RAID 제어기로부터 하트비트 신호를 수신하면, 하트비트 신호로부터 부하량 정보를 읽어서 부하량 테이블에 기록하고, 하트비트 신호를 송신한 RAID 제어기가 최저의 부하를 보유하였는지 부하량 테이블로부터 판단한다(스텝 S90, S92).
최저의 부하량을 보유한 RAID 제어기의 부하량이, 토큰을 가진 RAID 제어기의 부하량보다 적으면 토큰과 부하량 테이블을 해당 RAID 제어기로 송신한다(스텝 S94).
토큰을 가지지 않은 RAID제어기는 부하량을 기록한 하트비트 신호를 생성한다(스텝 S96). 그리고 토큰을 가진 RAID 제어기에게 하트비트 신호를 주기적으로 송신한다(스텝 S98).
다시 스텝 S90으로 돌아가서 토큰을 가진 RAID 제어기의 하트비트 신호를 주기적으로 수신하며, 자신의 부하량보다 부하량이 적은 RAID 제어기가 존재하면 해당 RAID 제어기로 토큰과 부하량 테이블을 송신하여, 항상 최저의 부하량을 가진 RAID 제어기가 토큰과 부하량 테이블을 가지도록 하는 것이다.
도 4는 토큰을 가진 RAID 제어기의 동작 순서도이다.
토큰을 가진 RAID 제어기는 주기적으로 다른 RAID 제어기에게 하트비트 신호를 송신한다(스텝 S100)
토큰을 가진 RAID 제어기는 다른 RAID 제어기로부터 하트비트 신호를 수신하며, 하트비트 신호를 송신한 RAID 제어기의 부하를 부하량 테이블에 기록한다(스텝 S102, S104).
토큰을 가진 RAID 제어기는 최저의 부하를 보유한 RAID 제어기를 부하량 테이블로부터 판단한다(스텝 S106).
토큰을 보유한 RAID 제어기의 부하가 최소인지 여부를 판단한다.
토큰을 보유한 RAID 제어기의 부하가 최소이면 상술한 동작을 계속 실시한다(스텝 S108, S110).
토큰을 보유한 RAID 제어기의 부하가 최소가 아니고 다른 RAID 제어기가 최소의 부하를 가지고 있으면, 해당 RAID 제어기로 토큰과 부하량 테이블을 송신한다(스텝 S112).
토큰과 부하량 테이블을 수신한 RAID 제어기는 최소의 부하를 보유한 것이므로, 호스트로부터의 요청신호를 수신하여 처리함으로써 부하를 분산시키는 것이다(스텝 S114).
도 3과 도 4에서 부하를 검사하는 것은, 토큰을 가지지 않은 RAID 제어기들은 토큰을 가진 RAID 제어기에게 일정 시간마다 현재의 부하량을 전송한다. 이 데이터는 RAID 제어기의 하트비트 신호에 같이 실어서 보낸다. 토큰을 가진 RAID 제어기는 수신된 하트비트 신호에서 현재의 부하량 정보를 추출해서 테이블로 관리한다.
또한, 도 3과 도 4에서 토큰을 전달하는 것은, 토큰을 가진 RAID 제어기는 현재의 부하량 테이블에서 최소의 부하량을 가지는 제어기를 검색해서 자신의 부하량보다 적다면 해당 RAID 제어기로 토큰 전달을 수행한다. 토큰 전달에서는 토큰 및 현재의 부하량 테이블을 같이 전달한다. 토큰을 수신한 RAID제어기는 다른 모든 RAID 제어기들에게 하트비트 신호에 특정한 데이터열을 포함해서 송신함으로써 토큰을 전달 받았음을 다른 RAID 제어기에게 알리는 것이다.
도 2, 3, 4는 RAID제어기간의 부하상태 교환 및 최저 부하를 가지는 RAID제어기를 결정하는 과정을 보여주고 있다. 이 과정에서의 데이터 교환은 네트워크(50)를 통하여 이루어진다.
도 5는 호스트(120)의 요청을 부하가 가장 적은 RAID 제어기가 처리하는 순서도를 도시한 것이다.
도 5a는 네트워크에서 멀티캐스트 요청이 가능할 때의 호스트의 요청 처리순서도를 도시한 것이다.
아래는 호스트(120)와 RAID 제어기간의 부하 분산 과정을 순서대로 설명하였다.
먼저, 호스트(120)는 모든 RAID제어기에 요청을 멀티캐스트로 보낸다.
RAID 제어기중에서 현재 토큰을 가진 RAID 제어기(130)만 호스트(120)의 요청을 받아들이고 다른 RAID제어기(140)들은 요청을 받아들이지 않는다(스텝 S145).
따라서 가장 작은 부하량을 가지는 RAID 제어기의 부하량이 호스트의 새로운 요청으로 인해 증가하게 되고, 그 동안 다른 RAID제어기들은 현재 요청된 작업을 처리함에 따라 부하량은 감소하게 되는 것이다(스텝 S150).
토큰을 가진 RAID 제어기(130)가 아닌 다른 RAID제어기(140)가 최저의 부하량을 가지게 되면 토큰을 가진 RAID제어기(130)가 토큰을 해당 RAID제어기(140)에 전달하게 되고 상술한 동작을 반복하여 실시하는 것이다.
이러한 방법을 사용함에 따라 호스트가 최소의 부하량을 가지는 RAID제어기를 선택하는데 추가적인 통신을 사용하지 않아도 되므로 응답시간의 지연이 발생하지 않게 되는 것이다.
한편, 도 5b는 네트워크에서 멀티캐스트 요청이 불가능할 때의 호스트의 요청 처리 순서도를 도시한 것이다.
호스트(120)는 모든 RAID 제어기에 상태정보 요청을 멀티캐스트로 보낸다.
RAID 제어기 중에서 현재 토큰을 가진 RAID 제어기(130)만 호스트(130)의 요청에 대해 상태정보를 송신하고 다른 RAID제어기(140)들은 상태정보를 송신하지 않는다(스텝 S160).
호스트(120)는 상태정보를 송신한 RAID 제어기에 대해 요청을 전송한다. 따라서 가장 작은 부하량을 가지는 RAID 제어기의 부하량이 호스트의 새로운 요청처리로 인해 증가하게 되고, 그 동안 다른 RAID 제어기의 부하량은 감소하게 된다(스텝 S162, S164, S166).
토큰을 가진 RAID 제어기가 아닌 다른 RAID 제어기가 최저의 부하량을 가지게 되면 토큰을 가진 RAID 제어기가 토큰을 해당 RAID 제어기에 전달하게 되고 다시 상술한 과정을 반복하는 것이다.
멀티캐스트를 통한 요청전달이 불가능할 경우, 최저부하의 RAID제어기를 검색하기 위한 과정이 필요하기 때문에 응답시간의 지연이 발생하지만 부하 분산기를 사용하는 방법에 비해 그 응답시간의 지연은 작다.
이와 같은 과정으로 응답시간의 지연 없이, 혹은 매우 짧은 지연시간만으로 호스트의 부하가 전체 RAID 제어기들에 분산되게 된다.
이상과 같이, 본 발명은 부하 분산기를 사용하지 않고 피어투피어(peer to peer) 방식으로 최저의 부하량을 가지는 RAID 제어기를 검출함으로써 부하분산기를 두는 방식의 문제점인 부하분산기에서 발생하는 병목현상을 방지하는 효과와 호스트의 요청에 응답하는 과정에서 최소 부하를 가지는 RAID 제어기에 관한 정보를 호스트에 전송하는 과정을 제거함으로써 응답시간의 지연을 방지하는 효과를 동시에 얻을 수 있다.

Claims (8)

  1. RAID 제어기가 초기화되면 다른 RAID 제어기를 검색하고, 초기화된 것을 다른 RAID 제어기에게 알리기 위해 신호를 송신하는 단계;
    다른 RAID 제어기가 초기화되지 않았으면 상기 RAID 제어기가 토큰을 생성시키는 단계;
    토큰을 생성한 상기 RAID 제어기는 새로 초기화된 다른 RAID 제어기에게 자신에게 상기 토큰이 있음을 알려주는 단계; 를 포함하는 것을 특징으로 하는 분산 레이드 환경하에서의 레이드 제어기 초기 구동방법.
  2. 다수 개의 호스트가 네트워크로 다수 개의 RAID 제어기로 연결되어 부하를 처리하는 데에 있어서,
    RAID 제어기가 초기화되면 상기 RAID 제어기는 토큰을 보유한 다른 RAID 제어기로 현재의 부하량을 송신하는 단계;
    토큰을 보유한 상기 RAID 제어기는 상기 현재의 부하량을 수신하는 단계;
    토큰을 보유한 상기 RAID 제어기는 현재의 부하량 테이블을 기록 관리하는 단계; 를 포함하는 것을 특징으로 하는 분산 레이드 환경하에서의 레이드 제어기 부하검사 방법.
  3. 제 2항에 있어서,
    상기 부하량 테이블은, 상기 토큰을 보유한 RAID 제어기에서 전체의 RAID 제어기의 부하량 정보를 관리하는 것을 특징으로 하는 분산 RAID 환경하에서의 레이드 제어기 부하검사 방법.
  4. 토큰을 보유한 RAID 제어기는 현재의 부하량을 나타내는 부하량 테이블을 검색하는 단계;
    상기 토큰을 보유한 RAID 제어기는 자신의 부하량보다 적은 부하를 보유한 RAID 제어기를 검색하는 단계;
    상기 적은 부하를 나타내는 RAID 제어기로 상기 토큰과 상기 부하량 테이블을 송신하는 단계; 를 포함하는 것을 특징으로 하는 분산 RAID 환경하에서의 레이드 제어기 부하 분산 방법.
  5. 제 4항에 있어서,
    상기 토큰을 보유한 RAID 제어기는, 현재 가장 적은 부하를 보유한 것을 특징으로 하는 분산 레이드 환경하에서의 레이드 제어기 부하 분산 방법.
  6. 제 4항에 있어서,
    상기 적은 부하를 나타내는 RAID 제어기로 상기 토큰과 상기 부하량 테이블을 송신하는 단계는,
    네트워크에 연결된 전체의 RAID 제어기 중에서 가장 적은 부하를 보유한 RAID 제어기가 호스트로부터 입력되는 요청을 수신하도록 부하를 분산시키는 것을 특징으로 하는 분산 레이드 환경하에서의 레이드 제어기 부하 분산 방법.
  7. 다수의 호스트로부터 입력되는 요청신호를 다수의 RAID 제어기로 분산처리하는데 있어서,
    호스트가 모든 RAID 제어기로 요청신호를 멀티캐스트로 보내는 단계;
    상기 모든 RAID 제어기 중에서 토큰과 부하량 테이블을 보유한 RAID 제어기에서 상기 호스트의 요청신호를 수신하는 단계;
    상기 토큰과 부하량 테이블을 보유한 RAID 제어기에서 다른 RAID 제어기로부터 현재의 부하량을 수신하는 단계;
    상기 토큰과 부하량 테이블을 보유한 RAID 제어기에서 상기 부하량을 수신하여 가장 적은 부하량을 나타내는 RAID 제어기를 검색하는 단계;
    상기 가장 적은 부하량을 나타내는 RAID 제어기로 상기 토큰과 부하량 테이블을 송신하는 단계;
    상기 토큰과 부하량 테이블을 수신한 RAID 제어기에서 호스트로부터 수신되는 요청신호를 처리하는 단계; 를 포함하는 것을 특징으로 하는 분산 레이드 환경하에서의 레이드 제어기 부하 분산 방법.
  8. 호스트와 RAID 제어기간의 네트워크가 유니캐스트로 이루어 진 경우,
    호스트가 RAID 제어기로 요청신호를 유니캐스트 방식으로 송신하는 단계;
    최저의 부하를 나타내는 RAID 제어기를 검색하는 단계;
    상기 최저의 부하를 나타내는 RAID 제어기가 요청신호를 수신하는 단계;
    상기 최저의 부하를 나타내는 RAID 제어기가 요청신호를 처리하는 단계; 를 포함하는 것을 특징으로 하는 분산 레이드 환경하에서의 레이드 제어기 부하 분산 방법.
KR10-2001-0084215A 2001-12-24 2001-12-24 분산 레이드 제어기 환경에서의 부하 분산 방법 KR100445425B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0084215A KR100445425B1 (ko) 2001-12-24 2001-12-24 분산 레이드 제어기 환경에서의 부하 분산 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0084215A KR100445425B1 (ko) 2001-12-24 2001-12-24 분산 레이드 제어기 환경에서의 부하 분산 방법

Publications (2)

Publication Number Publication Date
KR20030054109A true KR20030054109A (ko) 2003-07-02
KR100445425B1 KR100445425B1 (ko) 2004-08-25

Family

ID=32212769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0084215A KR100445425B1 (ko) 2001-12-24 2001-12-24 분산 레이드 제어기 환경에서의 부하 분산 방법

Country Status (1)

Country Link
KR (1) KR100445425B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984208B2 (en) 2011-04-26 2015-03-17 Samsung Electronics Co., Ltd. Method and apparatus for I/O scheduling in data storage device
CN110221775A (zh) * 2019-05-05 2019-09-10 华为技术有限公司 存储系统中令牌的分配方法和装置
CN110663019A (zh) * 2017-05-26 2020-01-07 微软技术许可有限责任公司 用于叠瓦式磁记录(smr)的文件系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768623A (en) * 1995-09-19 1998-06-16 International Business Machines Corporation System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers
KR19990051729A (ko) * 1997-12-19 1999-07-05 정선종 이중 어레이 제어기를 갖는 래이드 시스템의 구조
JP2000187559A (ja) * 1998-12-24 2000-07-04 Hitachi Ltd ディスクシステム
JP2000207135A (ja) * 1999-01-11 2000-07-28 Matsushita Electric Ind Co Ltd デ―タ分散記録システム、デ―タ分散記録方法およびプログラム記録媒体
JP2001318766A (ja) * 2000-05-08 2001-11-16 Nec Software Shikoku Ltd ディスクアレイ装置およびキャッシュメモリ制御方法
JP2001337790A (ja) * 2000-05-24 2001-12-07 Hitachi Ltd 記憶システム及びその階層管理制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984208B2 (en) 2011-04-26 2015-03-17 Samsung Electronics Co., Ltd. Method and apparatus for I/O scheduling in data storage device
CN110663019A (zh) * 2017-05-26 2020-01-07 微软技术许可有限责任公司 用于叠瓦式磁记录(smr)的文件系统
CN110663019B (zh) * 2017-05-26 2023-11-14 微软技术许可有限责任公司 用于叠瓦式磁记录(smr)的文件系统
CN110221775A (zh) * 2019-05-05 2019-09-10 华为技术有限公司 存储系统中令牌的分配方法和装置

Also Published As

Publication number Publication date
KR100445425B1 (ko) 2004-08-25

Similar Documents

Publication Publication Date Title
US6747984B1 (en) Method and apparatus for transmitting Data
US6529963B1 (en) Methods and apparatus for interconnecting independent fibre channel fabrics
US6421723B1 (en) Method and system for establishing a storage area network configuration
US8447860B2 (en) Storage area network with target side recognition and routing table upload
US7818408B1 (en) Automated virtual interface failover in a mass storage cluster
US7444405B2 (en) Method and apparatus for implementing a MAC address pool for assignment to a virtual interface aggregate
US6757753B1 (en) Uniform routing of storage access requests through redundant array controllers
US7640364B2 (en) Port aggregation for network connections that are offloaded to network interface devices
US8214529B2 (en) Automatic network cluster path management
US6055228A (en) Methods and apparatus for dynamic topology configuration in a daisy-chained communication environment
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
US6941350B1 (en) Method and apparatus for reliably choosing a master network manager during initialization of a network computing system
US8560631B2 (en) Storage system
CN100389392C (zh) 一种集群系统中实现负载均衡的方法、系统和存储控制器
US20060126619A1 (en) Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network
US20050091426A1 (en) Optimized port selection for command completion in a multi-ported storage controller system
US7143176B2 (en) Data communication with a protocol that supports a given logical address range
US20210311800A1 (en) Connecting accelerator resources using a switch
US10855538B2 (en) Single management connection automatic device stack configuration system
US7768905B2 (en) Program and method for controlling communication
US20140095754A1 (en) Back-Off Retry with Priority Routing
EP3750059B1 (en) Server system
JP3790717B2 (ja) クラスタ化コンピュータ・システムでの入出力ブリッジ・デバイスのアトミック所有権変更動作
EP3631639B1 (en) Communications for field programmable gate array device
KR100445425B1 (ko) 분산 레이드 제어기 환경에서의 부하 분산 방법

Legal Events

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

Payment date: 20080805

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee