KR20090065135A - 스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법 - Google Patents

스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법 Download PDF

Info

Publication number
KR20090065135A
KR20090065135A KR1020070132587A KR20070132587A KR20090065135A KR 20090065135 A KR20090065135 A KR 20090065135A KR 1020070132587 A KR1020070132587 A KR 1020070132587A KR 20070132587 A KR20070132587 A KR 20070132587A KR 20090065135 A KR20090065135 A KR 20090065135A
Authority
KR
South Korea
Prior art keywords
disk
virtual
streaming
pmem
card
Prior art date
Application number
KR1020070132587A
Other languages
English (en)
Other versions
KR100938470B1 (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 KR1020070132587A priority Critical patent/KR100938470B1/ko
Publication of KR20090065135A publication Critical patent/KR20090065135A/ko
Application granted granted Critical
Publication of KR100938470B1 publication Critical patent/KR100938470B1/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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/25Arrangements specific to fibre transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 스트리밍 데이터 공유를 위한 광채널(Fiber Channel: FC) 기반의 네트워크 스토리지 스트리밍 가속 장치 및 방법에 관한 것이다. 이와 같은 본 발명은, 호스트 프로세서로부터의 버스 트랜잭션을 FC-NS 카드 내부 주변장치 버스로 전달하고, FC-NS 카드 내부에서 진행되는 호스트 프로세서에 대한 버스 트랜잭션을 버스 브릿지로 전달하는 주변장치 버스 브릿지와; FC-NS 카드 외부의 주변장치 버스와 분리되고, FC-NS 카드 내부 각 장치간의 데이터 전송을 위한 내부 주변장치 버스와; FC-NS 카드에 연결되는 FC 디스크 스토리지를 제어하여 FC 디스크 스토리지에 대한 데이터 입출력을 관리하는 디스크 제어기와; 디스크 스토리지와 네트워크간의 전송 데이터가 저장되는 주변메모리와; 상기 주변메모리를 제어하여 디스크 스토리지와 네트워크간의 전송 데이터를 저장시키거나 출력시키는 주변메모리 제어기와; 네트워크로 전송될 데이터를 상기 주변 메모리에서 읽어 와서 패킷형태로 가공하여 네트워크로 전송하는 TOE(TCP/IP Offload Engine)를 포함하여 구성되어, 무복사 스트리밍 전송을 지원하며, 특정 FC-NS 카드나 FC 연결의 오류 상황을 다른 FC-NS 카드나 다른 FC 경로를 이용하여 오류 극복을 수행할 수 있도록 한다.
광채널, FC, 네트워크 스토리지, NS, FC-NS 카드, PMEM

Description

스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치 및 방법{APPARATUS AND METHOD FOR ACCELERATING STREAMING OF NETWORK STORAGE BASED ON FIBER CHANNEL FOR STREAMING DATA SHARING}
본 발명은 광채널 인터페이스가 적용된 스토리지 네트워크 가속 기술에 관한 것으로, 특히 오류나 장애 상황에 강인한 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치 및 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-01, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].
현재 네트워크의 고속화와 IPTV(Internet Protocol Television), VoD(Video on Demand) 등 네트워크 기반의 스트리밍 서비스가 보급됨에 따라 스트리밍 서비스를 제공하기 위해 스트리밍 서버에 요구되는 성능도 높아지고 있다. 또한, 스트리밍 서버에서 제공하는 스트리밍 데이터의 양이 급증하고, 제공되는 스트리밍 데이터의 고품질화에 따라 스트리밍 서버에 요구되는 저장용량이 급증하고 있다.
멀티미디어 스트리밍의 성능을 향상시키기 위하여 하드웨어 및 소프트웨어 측면에서 여러 가지 연구가 진행되고 있는데, 하드웨어 부문에서는 멀티미디어 데이터를 저장하는 디스크 저장 장치의 입출력 속도를 향상시키기 위하여 다양한 방법의 디스크 어레이 및 캐시 장치, 그리고 입출력 장치가 연구되고 있다.
종래의 네트워크 스토리지 카드(Network Storage Card: 이하 'NS 카드'로 칭함)는 디스크 입출력 속도 및 네트워크 전송 속도를 향상시키기 위한 노력의 하나로써, 하나의 PCI(Peripheral Component Interconnect) 카드에 디스크 입출력 장치, 네트워크 컨트롤러 및 메모리를 집적하여, 디스크의 데이터를 네트워크로 전송하는 경우에 무복사 전송이 수행되도록 고안되었다.
종래의 네트워크 스토리지 연결 장치는 2채널의 울트라320 SCSI(Small Computer System Interface) 인터페이스를 제공하는 SCSI 디스크 컨트롤러를 사용하여 채널당 최대 15개의 SCSI 하드디스크, 카드 당 최대 30개의 하드디스크를 직접 카드에 연결하여 제어하는 구조를 채택하고 있다.
이와 같은 구조에서는 디스크의 입출력을 직접 제어함으로써 성능 향상을 얻을 수 있지만, 각 카드가 독립된 디스크 스토리지를 가짐으로써 카드 간 데이터 공유가 불가능하다. 또한, SCSI 인터페이스를 채택하고 있기 때문에 새로운 디스크를 추가하거나 디스크의 구성을 변경할 경우 서버의 실행을 종료하여야만 하는 문제가 있다.
종래 기술과 같이 SCSI 디스크를 직접 제어하는 구조에서는 최대 장착 디스크 개수의 제한이 있고, 서버의 실행 중에 디스크의 구성을 변경할 수 없다. 또한, NS 카드마다 디스크가 독립적으로 장착되기 때문에 NS 카드 간에 디스크의 데이터 를 공유할 수 없어서, 같은 스트리밍 데이터라도 다른 NS 카드로 서비스하기 위해서는 해당 NS 카드에 연결된 SCSI 디스크에 복사하여야만 한다. 이에 따라 디스크 공간의 낭비가 발생하게 된다.
또한, NS 카드의 네트워크 연결에 오류가 발생하거나 NS 카드에 오류가 발생할 경우, 해당 카드에 연결된 디스크가 정상이더라도 그 안에 저장된 데이터는 더 이상 서비스 할 수 없는 문제점이 있다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로, 본 발명의 목적은 스트리밍 데이터의 중복 저장이 필요 없는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 다양한 발생 가능한 오류 상황에 대해 내구도가 높은 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치 및 방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치는, 호스트 프로세서로부터의 버스 트랜잭션을 FC-NS 카드 내부 주변장치 버스로 전달하고, FC-NS 카드 내부에서 진행되는 호스트 프로세서에 대한 버스 트랜잭션을 버스 브릿지로 전달하는 주변장치 버스 브릿지와; FC-NS 카드 외부의 주변장치 버스와 분리 되고, FC-NS 카드 내부 각 장치간의 데이터 전송을 위한 내부 주변장치 버스와; FC-NS 카드에 연결되는 FC 디스크 스토리지를 제어하여 FC 디스크 스토리지에 대한 데이터 입출력을 관리하는 디스크 제어기와; 디스크 스토리지와 네트워크간의 전송 데이터가 저장되는 주변메모리와; 상기 주변메모리를 제어하여 디스크 스토리지와 네트워크간의 전송 데이터를 저장시키거나 출력시키는 주변메모리 제어기와; 네트워크로 전송될 데이터를 상기 주변 메모리에서 읽어 와서 패킷형태로 가공하여 네트워크로 전송하는 TOE(TCP/IP Offload Engine)를 포함하여 구성될 수 있다.
바람직하게, 상기 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치는, FC 인터페이스의 다중 연결 경로에 의해 발생하는 하나의 물리적 디스크가 복수개의 가상 장치명으로 검색된 것을 분석하여 실제 물리적 디스크를 파악하고 번호를 부여하는 물리 디스크 검색부와; 물리 디스크를 사용하여 인터넷 서버에서 사용하는 가상 디스크인 SDA(Stream Disk Array)를 생성하는 SDA 생성부와; FC-NS 카드에 장착된 PMEM을 검색하고 관리를 위하여 일정한 크기로 나누어 관리할 수 있도록 관리 구조를 생성하는 PMEM 생성부와; 무복사 스트리밍을 위한 버퍼로 PMEM을 할당, 해제하는 PMEM 관리부와; SDA에서 할당된 PMEM으로 데이터를 읽어들이거나 PMEM의 데이터를 SDA에 저장하는 SDA 입출력 처리부와; SDA 입출력 단계에서 물리 디스크의 여러 가상 장치 이름 중에서 PMEM에 해당하는 FC-NS 카드에서 검색된 이름들을 균등하게 라운드-로빈(round robin) 방식으로 사용하는 부하 분산부와; 디스크 입출력 과정에서 오류가 발생할 경우, 하나의 물리 디스크에 할당된 가상 장치 이름 중에서 다음으로 가용한 가상 장치를 선택하여 재시도함 으로써 오류발생을 극복하는 오류 극복부를 포함하여 구성되는 FC-NS 디바이스 드라이버를 더 포함할 수 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법은, 사용자 프로그램에서 특정 물리디스크에 입출력을 요청하면, 해당 물리디스크의 상태가 정상인지를 판단하여 정상 상태인 경우, 주어진 PMEM 주소를 사용하여 PMEM이 소속된 FC-NS 카드를 판별하는 제 1 단계와; 상기 판별된 FC-NS 카드에서 해당 물리 디스크에 입출력을 수행할 수 있는 FC 경로에 해당하는 가상 디스크의 목록에서 가장 최근에 사용된 가상 디스크의 다음 디스크들 중 상태가 정상이며 순위가 가장 빠른 디스크를 선택하는 제 2 단계와; 상기 선택된 가상 디스크를 사용하여 입출력을 요청하고 해당 가상 디스크를 가장 최근에 사용된 가상 디스크로 표시하는 제 3 단계와; 상기 가상 디스크에 대한 입출력 성공 여부에 따라 성공한 경우 상기 사용자 프로그램에 입출력 성공을 리턴하고 처리를 종료하고, 입출력이 실패한 경우 해당 가상 디스크의 상태를 오류로 표시하고, 상기 제 2 단계로 귀환하는 제 4 단계를 포함하여 이루어질 수 있다.
본 발명에 따른 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치 및 방법은, FC-NS 카드의 PMEM을 사용하여 무복사 스트리밍 전송을 지원하면서 복수의 FC-NS 카드들이 디스크 저장 장치를 공유할 수 있도록 한다. 따라서 특정 FC-NS 카드의 네트워크 오류나 기타 장애가 발생하여도 다른 FC- NS 카드를 통하여 해당 디스크 저장 장치의 데이터에 접근하여 스트리밍이나 기타 다른 작업을 수행할 수 있도록 하는 효과가 있다.
또한 본 발명은 FC 연결의 다중 경로 입출력을 활용하여 입출력 부하 분산을 수행하여 성능을 극대화하며, 일부 FC 연결에 오류나 장애가 발생하더라도 다른 FC 경로를 통해 입출력을 수행하도록 함으로써 FC 연결 오류에 대한 극복이 가능하다는 효과가 있다.
이하, 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명이 적용되는 인터넷 서버 컴퓨팅 시스템에 대한 개략적인 구성을 나타낸다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 인터넷 서버 컴퓨팅 시스템에서는 각 FC-NS(Fiber Channel-Network Storage, 광채널 네트워크 스토리지) 카드(110, 120)는 각 FC-NS 카드의 FC(Fiber Channel) 디스크 제어기를 통해 FC 스위치(130)에 연결되고, 디스크(140) 역시 FC 스위치(130)에 연결되어 FC-NS 카드(110, 120) 모두 디스크(140)에 접근할 수 있다.
이러한 구조에서는 FC-NS 카드(110)에서 네트워크 오류나 기타 오류가 발생하더라도 FC-NS 카드(120)는 계속 디스크에 접근이 가능하기 때문에 FC-NS 카 드(110)에서 제공하던 스트리밍 데이터에 FC-NS 카드(120)가 접근하여 스트리밍을 수행함으로써 오류 극복을 수행할 수 있다. 이에 따라 오류 극복을 위하여 데이터를 복사할 필요가 없기 때문에 디스크 공간을 낭비하지 않고 효율적으로 사용함으로써 더 많은 스트리밍 데이터를 저장하고 제공할 수 있다.
도 2는 본 발명의 실시 예에 따른 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치의 구성을 나타낸다.
도 2에 도시된 바와 같이, 본 발명의 실시 예에 따른 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치(200)는 크게 하드웨어적으로 구성될 수 있는 다수의 FC-NS 카드(210)와 소프트웨어적으로 구성될 수 있는 FC-NS 디바이스 드라이버(230)를 포함하여 구성될 수 있다. 즉, 본 발명의 장치(200)의 하드웨어적 구성은 FC-NS 카드(210)의 구성과 동일하며, FC-NS 디바이스 드라이버(230)는 본 발명의 장치인 FC-NS 카드(200)를 제어하여 본 발명의 방법을 수행할 수 있다.
FC-NS 카드(210)는 주변장치 버스 브릿지(212), 내부 주변장치 버스(214), 디스크 제어기(216), 주변메모리(218), 주변메모리 제어기(220), TOE(TCP/IP Offload Engine)(222)를 포함하여 구성될 수 있다.
주변장치 버스 브릿지(212)는 호스트 프로세서(또는 메인 메모리)로부터의 버스 트랜잭션을 FC-NS 카드(210)의 내부 주변장치 버스(214)로 전달하고, FC-NS 카드(210) 내부에서 진행되는 호스트 프로세서에 대한 버스 트랜잭션을 버스 브릿지로 전달한다.
내부 주변장치 버스(214)는 FC-NS 카드(210) 외부의 주변장치 버스와 분리되고, FC-NS 카드(210) 내부 각 장치간의 데이터 전송을 담당한다.
디스크 제어기(216)는 FC-NS 카드(210)에 연결되는 FC 디스크 스토리지를 제어하여 FC 디스크 스토리지에 대한 데이터 입출력, 즉, 읽기 또는 쓰기를 관리한다.
주변메모리(218)는 디스크 스토리지와 네트워크간의 전송 데이터를 저장한다.
주변메모리 제어기(220)는 상기 주변메모리(218)를 제어하여 디스크 스토리지와 네트워크간의 전송 데이터를 저장시키거나 출력시킨다.
TOE(222)는 네트워크로 전송될 데이터를 상기 주변메모리(218)에서 읽어 와서 패킷형태로 가공하여 네트워크로 전송한다.
상기 주변장치 버스는 PCI일 수 있으며, 주변장치 버스가 PCI인 경우 주변장치 버스 브릿지(212)는 PCI 브릿지 역할을 수행하게 된다. 또한 이 경우 주변메모리(218)는 PCI 메모리(이하 PMEM)일 수 있다.
FC-NS 디바이스 드라이버(230)는 물리 디스크 검색부(232), SDA 생성부(234), PMEM 생성부(236), PMEM 관리부(238), SDA 입출력 처리부(240), 부하 분산부(242), 오류 극복부(244)를 포함하여 구성될 수 있다.
물리 디스크 검색부(232)는 FC 인터페이스의 다중 연결 경로에 의해 발생하는 하나의 물리적 디스크가 복수개의 가상 장치명으로 검색된 것을 분석하여 실제 물리적 디스크를 파악하고 번호를 부여한다.
SDA 생성부(234)는 물리 디스크를 사용하여 인터넷 서버에서 사용하는 가상 디스크인 SDA(Stream Disk Array)를 생성한다.
PMEM 생성부(236)는 FC-NS 카드에 장착된 주변메모리(218)(이하 PMEM)를 검색하고 관리를 위하여 일정한 크기로 나누어 관리할 수 있도록 관리 구조를 생성한다.
PMEM 관리부(238)는 무복사 스트리밍을 위한 버퍼로 PMEM(218)을 할당, 해제한다.
SDA 입출력 처리부(240)는 SDA로부터 PMEM 관리부(238)에 의해 할당된 PMEM(218)으로 데이터를 읽어들이거나 PMEM(218)의 데이터를 SDA에 저장한다.
부하 분산부(242)는 SDA 입출력 단계에서 물리 디스크의 여러 가상 장치 이름 중에서 PMEM(218)에 해당하는 FC-NS 카드(210)에서 검색된 이름들을 균등하게 라운드 로빈(round-robin) 방식으로 사용한다.
오류 극복부(244)는 디스크 입출력 과정에서 오류가 발생할 경우, 하나의 물리 디스크에 할당된 가상 장치 이름 중에서 다음으로 가용한 가상 장치를 선택하여 재시도함으로써 오류발생을 극복한다.
상기와 같이 구성되는 본 발명의 장치(200)는 FC 인터페이스를 채용함으로써 저장장치의 공유를 위한 저장장치 영역 네트워크(Storage Area Network: SAN)을 구성할 수 있다. 이에 따라 FC-NS 디바이스 드라이버(230)는 SAN의 특성에 의해 물리적 디스크의 다중 가상 장치 인식 현상을 인지하여 실제 디스크를 인식하고, SAN의 다중 경로를 통한 입출력(Multi-path I/O)을 이용하여 입출력 부하 분산 및 오류 극복 기능을 지원할 수 있다.
도 3은 본 발명에 따라 광채널 연결의 다중 경로에 의해 하나의 물리적 디스크 장치에 복수개의 장치 이름이 할당되는 것을 나타낸다. 여기에서 FC-NS 카드의 FC 디스크 제어기(310, 320)는 복수개의 FC 연결을 가질 수 있다.
도 3을 참조하면, FC 디스크 제어기(310, 320)를 가진 FC-NS 카드 두 개는 각각 두 개의 FC 연결(330과 340, 350과 360)을 통해 하나의 FC 스위치에 연결된다. 또한 디스크 저장장치(390) 역시 두 개의 FC 연결(370, 380)을 통해 FC 스위치에 연결된다.
상기와 같은 구조에서는 하나의 물리적 디스크 저장장치(390)가 모두 8개의 가상 디스크로 인식될 수 있다. 아래 [표 1]은 각 가상 디스크의 인식 경로를 나타낸다.
가상 디스크 인식 경로
가상 디스크 sdb FC 연결 (330) - FC 연결 (370)
가상 디스크 sdj FC 연결 (330) - FC 연결 (380)
가상 디스크 sdr FC 연결 (340) - FC 연결 (370)
가상 디스크 sdz FC 연결 (340) - FC 연결 (380)
가상 디스크 sdah FC 연결 (350) - FC 연결 (370)
가상 디스크 sdap FC 연결 (350) - FC 연결 (380)
가상 디스크 sdax FC 연결 (360) - FC 연결 (370)
가상 디스크 sdbf FC 연결 (360) - FC 연결 (380)
본 발명의 소프트웨어적 구성인 FC-NS 디바이스 드라이버(230)는 여러 가상 디스크를 검사하여 실제 물리적 디스크의 정보를 파악하고, 각 물리적 디스크에 할당된 가상 디스크의 이름과 연결경로를 검색하여 해당 정보를 정보저장소에 저장한다.
모든 물리적 디스크들은 고유의 일련번호를 가지고 있다. FC-NS 디바이스 드라이버(230)는 각 가상 디스크의 일련번호를 사용하여 물리적 디스크를 구분한다. 즉, 같은 일련번호를 가지는 가상 디스크는 하나의 물리적 디스크를 가리키는 것으로 파악될 수 있다.
또한 각 가상 디스크 제어기의 PCI 버스 번호 정보를 사용하여 각 FC-NS 카드를 구분할 수 있다.
도 4는 본 발명의 실시 예에 따른 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법의 절차를 나타내는데, 여기에서는 라운드 로빈 방식으로 부하분산을 하면서 디스크 입출력을 수행할 수 있다.
인터넷 서버 컴퓨팅 시스템에서는 기본적으로 FC-NS 카드(210) 내의 주변메모리(PMEM)(218)를 사용하여 스트리밍을 수행한다. PMEM(218)을 사용하여 스트리밍하게 되면 무복사 스트리밍을 수행할 수 있게 되어 호스트 프로세서의 부하를 줄이면서 고속으로 스트리밍을 수행할 수 있다.
스트리밍을 수행할 FC-NS 카드를 선택하면 해당 FC-NS 카드의 PMEM을 할당하여 스트리밍을 수행하여야 한다. 도 3에서 FC-NS 카드 0번의 PMEM을 사용하여 스트리밍을 수행한다면 FC-NS 카드 0번의 FC 디스크 제어기(310)을 통하여 디스크를 읽어야 한다.
FC-NS 카드 0번의 PMEM을 사용하여 스트리밍을 수행할 경우에는 반드시 FC연결(330)과 FC연결(340)을 포함하는 연결만을 사용하여 디스크를 읽어야 함을 알 수 있다. 따라서, 물리적 디스크(390)를 가리키는 8개의 가상 디스크 중에서 4개의 가상 디스크만을 사용하여야 한다. 아래 [표 2]는 그 리스트를 나타낸다.
가상디스크 경로
가상디스크 sdb FC 연결 (330) - FC 연결 (370)
가상디스크 sdj FC 연결 (330) - FC 연결 (380)
가상디스크 sdr FC 연결 (340) - FC 연결 (370)
가상디스크 sdz FC 연결 (340) - FC 연결 (380)
상기 4개의 가상 디스크 중에서 어떤 연결을 사용하여도 FC-NS 카드 0번의 PMEM으로 데이터를 읽어 들일 수 있다.
본 발명에서는 상기 4개의 가상 디스크를 라운드 로빈 방식으로 사용하여 부하 분산을 수행할 수 있다. 즉, FC-NS카드 0번의 PMEM을 사용하여 물리디스크(390)에 대한 입출력을 수행할 때, 가상 디스크 sdb, sdj, sdr, sdz를 순서대로 번갈아 가며 사용함으로써 모든 가용한 FC 연결의 대역폭을 활용하여 성능을 극대화한다.
또한, 한 가상 디스크를 사용한 입출력이 실패할 경우, 곧바로 실패를 리턴하지 않고, 라운드 로빈의 다음 가상 디스크를 사용하여 재시도하여 성공하면 정상으로 처리함으로써 사용자 응용프로그램에서는 오류를 감지하지 못하도록 하면서 오류 극복을 수행한다.
입출력이 실패한 가상 디스크는 오류 발생을 표시하여 다음 입출력 시 라운드 로빈의 대상이 되지 않도록 한다.
상기의 오류 극복 과정에서 모든 가용한 가상 디스크에 대해 재시도에서 오류가 발생하면 해당 FC-NS카드로는 상기 물리적 디스크에 접근할 수 없다고 판정하고 사용자 응용프로그램에 오류를 리턴한다.
상기 입출력이 스트리밍 서비스였다면 가용한 다른 FC-NS카드의 PMEM을 할당하여 재시도를 수행할 수 있다. 이러한 경우에는 스트리밍 서비스를 다른 FC-NS 카드로 넘겨서 처리함으로써 스트리밍 서비스의 사용자가 오류를 느끼지 못하도록 하면서 서비스를 지속할 수 있다.
모든 FC-NS 카드에서 해당 물리적 디스크에 입출력을 실패하면, 해당 물리 디스크의 모든 가상 디스크가 오류로 판정되고 해당 물리적 디스크는 오류로 판정하여 오류 처리를 수행한다.
이하 도 4를 참조하면, S405 단계에서 사용자 프로그램에서 특정 FC-NS 카드의 PMEM을 할당하고 해당 PMEM을 사용하여 특정 물리디스크의 데이터를 읽거나, 해당 PMEM의 데이터를 물리디스크에 쓰기를 요청하면, 즉 물리디스크에 입출력을 요청하면, S410 단계에서 FC-NS 디바이스 드라이버는 먼저 해당 물리 디스크의 상태가 정상인지 확인한다.
물리디스크의 상태가 오류라면 S475 단계에서 입출력 요청의 실패를 사용자 프로그램에 리턴하고, 물리디스크의 상태가 정상이라면 S415 단계에서 주어진 PMEM 주소를 사용하여 PMEM이 소속된 FC-NS 카드를 판별한다.
이어서 S420 단계에서 상기 판별된 FC-NS 카드에서 해당 물리 디스크에 입출력을 수행할 수 있는 FC경로에 해당하는 가상 디스크의 목록을 검색한다. 검색이 완료되면, S425 단계에서 상기 검색된 가상 디스크의 목록에서 가장 최근에 사용되었다고 표시된 가상 디스크를 찾는다.
이어서 S430 단계에서 가상 디스크의 목록에서 가장 최근에 사용된 가상 디스크의 다음 디스크를 선택한다. 만약 가상 디스크의 목록의 마지막 디스크가 가장 최근에 사용되었다면 첫 번째 디스크를 선택한다.
또한 S435 단계에서 상기 선택된 가상 디스크의 상태가 정상인지 확인하여, 정상이라면 S440 단계에서 해당 가상 디스크를 사용하여 입출력을 요청하고 해당 가상 디스크를 가장 최근에 사용된 가상 디스크로 표시한다. 만약 선택된 가상 디스크의 상태가 정상이 아니라면 S460 단계에서 리스트의 모든 가상 디스크의 상태가 오류인지를 판단하고, 아닌 경우 S430 단계에서 가상 디스크 목록에서 다음 디스크를 새로 선택한다.
만약 가상 디스크 목록에서 모든 디스크가 정상이 아니라면 주어진 PMEM을 사용하여 입출력을 수행할 수 없으므로 오류 처리 과정을 수행한다.
먼저 S465 단계에서 해당 물리 디스크의 모든 가상 디스크들의 상태를 확인하여, 모든 가상 디스크가 오류라면 S470 단계에서 해당 물리 디스크의 상태를 오류로 표시한다. 상태가 정상인 가상 디스크가 한 개라도 존재한다면 물리 디스크의 상태는 변경하지 않는다. 위의 과정이 끝나면 S475 단계에서 사용자 프로그램에 입출력 실패를 리턴하고 처리를 종료한다.
한편 상기 S440 단계에서 해당 가상 디스크를 사용하여 입출력을 요청하고 해당 가상 디스크를 가장 최근에 사용된 가상 디스크로 표시한 후에는, S445 단계에서 해당 가상 디스크에 대해 입출력을 성공했는지를 판단하고, 성공한 경우 S450 단계에서 사용자 프로그램에 입출력 성공을 리턴하고 처리를 종료한다. 만약, 입출력이 실패했다면 S455 단계에서 해당 가상 디스크의 상태를 오류로 표시하고, S430 단계에서 가상 디스크 목록의 다음 디스크를 선택하여 입출력 과정을 다시 진행한다.
이상에서는 본 발명에서 특정의 바람직한 실시 예에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시 예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.
도 1은 본 발명이 적용되는 인터넷 서버 컴퓨팅 시스템에 대한 개략적인 구성을 나타내는 구성도.
도 2는 본 발명의 실시 예에 따른 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치의 구성을 나타내는 구성도.
도 3은 본 발명에 따라 광채널 연결의 다중 경로에 의해 하나의 물리적 디스크 장치에 복수개의 장치 이름이 할당되는 것을 나타내는 구조도.
도 4는 본 발명의 실시 예에 따른 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법의 절차를 나타내는 흐름도.

Claims (10)

  1. 스트리밍 데이터 공유를 위한 광채널(Fiber Channel: FC) 기반의 네트워크 스토리지(Network Storage: NS) 스트리밍 가속 장치에 있어서,
    호스트 프로세서로부터의 버스 트랜잭션을 FC-NS 카드 내부 주변장치 버스로 전달하고, FC-NS 카드 내부에서 진행되는 호스트 프로세서에 대한 버스 트랜잭션을 버스 브릿지로 전달하는 주변장치 버스 브릿지와;
    FC-NS 카드 외부의 주변장치 버스와 분리되고, FC-NS 카드 내부 각 장치간의 데이터 전송을 위한 내부 주변장치 버스와;
    FC-NS 카드에 연결되는 FC 디스크 스토리지를 제어하여 FC 디스크 스토리지에 대한 데이터 입출력을 관리하는 디스크 제어기와;
    디스크 스토리지와 네트워크간의 전송 데이터가 저장되는 주변메모리와;
    상기 주변메모리를 제어하여 디스크 스토리지와 네트워크간의 전송 데이터를 저장시키거나 출력시키는 주변메모리 제어기와;
    네트워크로 전송될 데이터를 상기 주변 메모리에서 읽어 와서 패킷형태로 가공하여 네트워크로 전송하는 TOE(TCP/IP Offload Engine)를 포함하여 구성되는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치.
  2. 제 1항에 있어서, 상기 주변장치 버스는
    PCI 버스이고, 상기 주변장치 버스 브릿지는 PCI 브릿지 역할을 수행하며, 상기 주변메모리는 PCI 메모리(PMEM)인 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치.
  3. 제 2항에 있어서,
    저장장치 영역 네트워크(Storage Area Network: SAN)의 특성에 의해 물리적 디스크의 다중 가상 장치 인식 현상을 인지하여 실제 디스크를 인식하고, SAN의 다중 경로를 통한 입출력을 이용하여 입출력 부하 분산 및 오류 극복 기능을 지원하는 FC-NS 디바이스 드라이버를 더 포함하여 구성되는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치.
  4. 제 3항에 있어서, 상기 FC-NS 디바이스 드라이버는
    FC 인터페이스의 다중 연결 경로에 의해 발생하는 하나의 물리적 디스크가 복수개의 가상 장치명으로 검색된 것을 분석하여 실제 물리적 디스크를 파악하고 번호를 부여하는 물리 디스크 검색부와;
    물리 디스크를 사용하여 인터넷 서버에서 사용하는 가상 디스크인 SDA(Stream Disk Array)를 생성하는 SDA 생성부와;
    FC-NS 카드에 장착된 PMEM을 검색하고 관리를 위하여 일정한 크기로 나누어 관리할 수 있도록 관리 구조를 생성하는 PMEM 생성부와;
    무복사 스트리밍을 위한 버퍼로 PMEM을 할당, 해제하는 PMEM 관리부와;
    SDA에서 할당된 PMEM으로 데이터를 읽어들이거나 PMEM의 데이터를 SDA에 저장하는 SDA 입출력 처리부와;
    SDA 입출력 단계에서 물리 디스크의 여러 가상 장치 이름 중에서 PMEM에 해당하는 FC-NS 카드에서 검색된 이름들을 균등하게 라운드-로빈(round robin) 방식으로 사용하는 부하 분산부와;
    디스크 입출력 과정에서 오류가 발생할 경우, 하나의 물리 디스크에 할당된 가상 장치 이름 중에서 다음으로 가용한 가상 장치를 선택하여 재시도함으로써 오류발생을 극복하는 오류 극복부를 포함하는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 장치.
  5. 사용자 프로그램에서 특정 물리디스크에 입출력을 요청하면, 해당 물리디스크의 상태가 정상인지를 판단하여 정상 상태인 경우, 주어진 PMEM 주소를 사용하여 PMEM이 소속된 FC-NS 카드를 판별하는 제 1 단계와;
    상기 판별된 FC-NS 카드에서 해당 물리 디스크에 입출력을 수행할 수 있는 FC 경로에 해당하는 가상 디스크의 목록에서 가장 최근에 사용된 가상 디스크의 다음 디스크들 중 상태가 정상이며 순위가 가장 빠른 디스크를 선택하는 제 2 단계와;
    상기 선택된 가상 디스크를 사용하여 입출력을 요청하고 해당 가상 디스크를 가장 최근에 사용된 가상 디스크로 표시하는 제 3 단계와;
    상기 가상 디스크에 대한 입출력 성공 여부에 따라 성공한 경우 상기 사용자 프로그램에 입출력 성공을 리턴하고 처리를 종료하고, 입출력이 실패한 경우 해당 가상 디스크의 상태를 오류로 표시하고, 상기 제 2 단계로 귀환하는 제 4 단계를 포함하여 이루어지는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법.
  6. 제 5항에 있어서, 상기 제 1 단계에서
    해당 물리 디스크의 상태가 비정상인 경우, 상기 사용자 프로그램에 입출력 요청의 실패를 알리는 단계를 더 포함하는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법.
  7. 제 5항에 있어서, 상기 제 2 단계는
    상기 판별된 FC-NS 카드에서 해당 물리 디스크에 입출력을 수행할 수 있는 FC경로에 해당하는 가상 디스크의 목록에서 가장 최근에 사용되었다고 표시된 가상 디스크를 검색하는 단계와;
    상기 가상 디스크의 목록에서 상기 검색된 가장 최근에 사용된 가상 디스크의 다음 디스크의 상태가 정상인지 판단하여, 정상인 경우 해당 가상 디스크를 선택하는 단계를 포함하는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법.
  8. 제 7항에 있어서, 상기 가상 디스크 선택 단계에서
    상기 판단 결과 가상 디스크의 상태가 비정상인 경우, 상기 가상 디스크의 목록의 모든 가상 디스크의 상태가 오류인지를 판단하고, 아닌 경우 가상 디스크 목록에서 다음 디스크들 중 정상 상태이며 상기 검색된 가장 최근에 사용된 가상 디스크와 가장 가까운 순위를 갖는 가상 디스크를 새로 선택하는 단계를 포함하는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법.
  9. 제 8항에 있어서,
    가상 디스크 목록에서 모든 디스크가 정상이 아닌 경우, 해당 물리 디스크의 모든 가상 디스크들의 상태를 확인하여, 모든 가상 디스크가 오류라면 해당 물리 디스크의 상태를 오류로 표시하고, 사용자 프로그램에 입출력 실패를 리턴하고 처리를 종료하는 단계를 더 포함하는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법.
  10. 제 9항에 있어서,
    상기 물리 디스크의 모든 가상 디스크들 중 상태가 정상인 가상 디스크가 한 개라도 존재한다면 물리 디스크의 상태는 변경하지 않고, 사용자 프로그램에 입출력 실패를 리턴하고 처리를 종료하는 단계를 더 포함하는 것을 특징으로 하는 스트리밍 데이터 공유를 위한 FC 기반의 네트워크 스토리지 스트리밍 가속 방법.
KR1020070132587A 2007-12-17 2007-12-17 스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법 KR100938470B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070132587A KR100938470B1 (ko) 2007-12-17 2007-12-17 스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070132587A KR100938470B1 (ko) 2007-12-17 2007-12-17 스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090065135A true KR20090065135A (ko) 2009-06-22
KR100938470B1 KR100938470B1 (ko) 2010-01-25

Family

ID=40993572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132587A KR100938470B1 (ko) 2007-12-17 2007-12-17 스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100938470B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180044181A (ko) * 2016-10-21 2018-05-02 주식회사 가야데이터 San 네트워크 환경에서의 데이터 이동 서비스 제공 시스템 및 그 방법
CN110212983A (zh) * 2018-02-28 2019-09-06 中航光电科技股份有限公司 一种fc信号和以太网信号的转换方法及装置
KR102241188B1 (ko) * 2019-11-21 2021-04-19 주식회사 가야데이터 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0716370A3 (en) * 1994-12-06 2005-02-16 International Business Machines Corporation A disk access method for delivering multimedia and video information on demand over wide area networks
US5931925A (en) * 1996-12-02 1999-08-03 International Business Machines Corporation System and method for efficiently transferring datastreams in a multimedia system
KR20020021415A (ko) * 2000-09-14 2002-03-21 문홍주 오디오/비디오 스트리밍 가속 장치의 구성방법 및 그 시스템
KR100449806B1 (ko) * 2002-12-23 2004-09-22 한국전자통신연구원 네트워크를 통해 스트리밍 데이터를 고속으로 송수신하기위한 네트워크-스토리지 연결 장치

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180044181A (ko) * 2016-10-21 2018-05-02 주식회사 가야데이터 San 네트워크 환경에서의 데이터 이동 서비스 제공 시스템 및 그 방법
KR20180066012A (ko) * 2016-10-21 2018-06-18 주식회사 가야데이터 San 네트워크 환경에서의 데이터 이동 서비스 제공 방법
KR20180066010A (ko) * 2016-10-21 2018-06-18 주식회사 가야데이터 San 네트워크 환경에서 볼륨을 이용하여 데이터 이동 서비스를 제공하는 시스템
KR20180066014A (ko) * 2016-10-21 2018-06-18 주식회사 가야데이터 식별자 정보를 기반으로 데이터를 제공하는 san 네트워크 환경에서의 데이터 이동 서비스 제공방법
CN110212983A (zh) * 2018-02-28 2019-09-06 中航光电科技股份有限公司 一种fc信号和以太网信号的转换方法及装置
CN110212983B (zh) * 2018-02-28 2022-03-08 中航光电科技股份有限公司 一种fc信号和以太网信号的转换方法及装置
KR102241188B1 (ko) * 2019-11-21 2021-04-19 주식회사 가야데이터 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치

Also Published As

Publication number Publication date
KR100938470B1 (ko) 2010-01-25

Similar Documents

Publication Publication Date Title
US8706986B2 (en) Load equalizing storage controller and control method for the same
JP4188602B2 (ja) クラスタ型ディスク制御装置及びその制御方法
JP3659342B2 (ja) 非並行クラスタリング環境においてscsi−3持続予約を使用しマルチパスi/oを提供する方法及び装置
US7134040B2 (en) Method, system, and program for selecting a path to a device to use when sending data requests to the device
US8176211B2 (en) Computer system, control apparatus, storage system and computer device
US7596637B2 (en) Storage apparatus and control method for the same, and computer program product
US7886114B2 (en) Storage controller for cache slot management
US7757055B2 (en) Storage system and data migration method for the same
US20030131193A1 (en) Multiple processor data processing system with mirrored data for distributed access
US7839788B2 (en) Systems and methods for load balancing storage system requests in a multi-path environment based on transfer speed of the multiple paths
US20020083270A1 (en) Data storage systems and methods which utilize an on-board cache
US10466935B2 (en) Methods for sharing NVM SSD across a cluster group and devices thereof
US7925829B1 (en) I/O operations for a storage array
US8578073B2 (en) Storage system and control method of storage system
US7970992B1 (en) Asymetrical device distribution for a partitioned storage subsystem
US20050050273A1 (en) RAID controller architecture with integrated map-and-forward function, virtualization, scalability, and mirror consistency
JP2003345631A (ja) 計算機システム及び記憶領域の割当方法
US7702879B2 (en) Assigning alias addresses to base addresses
US7945758B1 (en) Storage array partitioning
US7882283B2 (en) Virtualization support in a multiprocessor storage area network
US8677014B2 (en) Fine granularity exchange level load balancing in a multiprocessor storage area network
US7441009B2 (en) Computer system and storage virtualizer
KR100938470B1 (ko) 스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법
JP2006221371A (ja) デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置
US7162579B2 (en) Asymmetrical load balancing for mirrored storage volumes

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: 20121206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141229

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160108

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170110

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190110

Year of fee payment: 10