KR20040068368A - 가상 인클로저를 통한 스토리지 영역 네트워크 내의스토리지 가상화 구현 방법 및 장치 - Google Patents

가상 인클로저를 통한 스토리지 영역 네트워크 내의스토리지 가상화 구현 방법 및 장치 Download PDF

Info

Publication number
KR20040068368A
KR20040068368A KR10-2004-7010745A KR20047010745A KR20040068368A KR 20040068368 A KR20040068368 A KR 20040068368A KR 20047010745 A KR20047010745 A KR 20047010745A KR 20040068368 A KR20040068368 A KR 20040068368A
Authority
KR
South Korea
Prior art keywords
virtual
port
storage
virtualization
area network
Prior art date
Application number
KR10-2004-7010745A
Other languages
English (en)
Other versions
KR100927748B1 (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 KR20040068368A publication Critical patent/KR20040068368A/ko
Application granted granted Critical
Publication of KR100927748B1 publication Critical patent/KR100927748B1/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
    • 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
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

스토리지 영역 네트워크의 네트워크 장치에서 스토리지 가상화를 구현하기 위한 방법 및 장치가 공개된다. 한 개 이상의 가상 인클로저 포트들을 가진 가상 인클로저가 생성되어, 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성된다. 각각의 가상 스토리지 유닛들은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치들을 표현한다. 가상 인클로저의 각각의 가상 인클로저 포트는 스토리지 영역 네트워크 내의 네트워크 장치의 한 포트에 연계된다. 가상 인클로저 포트들 각각에 대해 한 개씩 어드레스나 식별자가 할당된다.

Description

가상 인클로저를 통한 스토리지 영역 네트워크 내의 스토리지 가상화 구현 방법 및 장치{METHODS AND APPARATUS FOR IMPLEMENTING VIRTUALIZATION OF STORAGE WITHIN A STORAGE AREA NETWORK THROUGH A VIRTUAL ENCLOSURE}
최근에, 기억 장치의 용량이 스토리지 수요만큼 빠르게 성장하지 못하고 있다. 따라서, 주어진 서버나 그외 다른 호스트는 여러개의 물리적으로 구분된 스토리지 노드(통상적으로 디스크)에 액세스하여야 한다. 이 스토리지 측면에서의 제약사항을 극복하기 위해, 스토리지 영역 네트워크(SAN)가 개발되었다. 일반적으로, 스토리지 영역 네트워크는 더 큰 사용자 네트워크 대신에, 여러 다른 데이터 기억 장치들과 관련 데이터 호스트들을 상호연결하는 고속 전용 네트워크이다. 그러나, SAN이 네트워크 내에서 여러 네트워크 장치나 실체들에 의해 이용되도록 기억 장치를 구성할 수 있음에도 불구하고, 데이터 스토리지 수요는 정적이라기보다는 동적이다.
도 1A는 일례의 기존 스토리지 영역 네트워크를 도시한다. 보다 구체적으로, 스토리지 영역 네트워크(102) 내에서는, 기억 장치들의 풀(pool)(가령, 디스크들)에 한 세트의 호스트들(가령, 서버나 워크스테이션)(104, 106, 108)을 연결할 수 있다. SCSI 팔런스에서, 호스트들은 "이니시에이터"로, 기억 장치들은 "타겟"으로 비춰질 수 있다. 스토리지 풀은 한 세트의 스토리지 어레이나 디스크 어레이들(110, 112, 114)를 통해 구현될 수 있다. 본 예에서, 제 1 디스크 어레이(110)는 디스크(116, 118)에 대응하고, 제 2 디스크 어레이(112)는 디스크(120)에 대응하며, 제 3 디스크 어레이(114)는 디스크(122, 124)에 대응한다. 모든 호스트(104-108)가 모든 디스크(116-124)에 액세스하는 것보다는, 디스크 어레이(110, 112, 114)를 통해 호스트(104-108) 각각에 대한 기억 장치의 동적이고 비가시적인 할당을 구현하는 것이 바람직하다. 다시 말해서, 물리적 메모리(가령, 물리적 디스크)가 가상 메모리 개념(가령, 가상 디스크)을 통해 할당될 수 있다. 이로 인해, 동적이면서 투명한 스토리지 할당을 구현하는 방식으로 이종의 이니시에이터를 분배형의 이종 타겟 세트에 연결할 수 있다.
가상 메모리 개념은 물리적 메모리의 물리적 주소들과 가상 메모리의 가상 주소들간 변환을 통해 물리적 메모리를 가상화시키는 데 사용되어 왔다. 최근에는, 가상화의 개념이 여러 다양한 메커니즘을 통해 스토리지 영역 네트워크에서 구현되고 있다. 가상화는 물리적 스토리지와 가상 스토리지를 스토리지 네트워크 상에서 상호변환한다. 호스트(이니시에이터)는 가상 디스크를 타겟으로 취급한다. 가상 디스크는 가용 물리적 스토리지를 규정된 방식으로, 그러나 일면 탄력적인 방식으로 표현한다. 가상화는 스토리지의 일부 물리적 배열/할당에 의해 제약받지 않는 가용 물리적 스토리지의 표현을 호스트에 제공한다.
한가지 공지 기술인 RAID(Redundant Array of Independent Disks)는 일부 제한된 특징들의 가상화를 제공한다. 여러 다양한 RAID 서브타입들이 구현되고 있다. RAID1의 경우에, 한 개의 가상 디스크가 두 개의 물리적 디스크(116, 118)에 대응할 수 있고, 둘 모두는 동일한 데이터를 저장하여(또는 동일 데이터의 복원을 지원하여), 스토리지 영역 네트워크 내에서 리던던시를 지원할 수 있게 한다. RAID0의 경우에, 단일 가상 디스크가 여러개의 물리적 디스크 사이에서 벗겨진다. 일부 다른 종류의 가상화는 연쇄화(concatenation), 예비화(sparing), 등을 포함한다. 가상화의 일부 다른 태양들은, 최근에, 스토리지 영역 네트워크 내 여러 위치에서 가상화 기능을 구현함으로서 달성되고 있다. 이러한 세 개의 위치들이 일부 수용 레벨을 얻는다. 호스트(가령, 104-108)의 가상화, 디스크 어레이나 스토리지 어레이의 가상화(110-114), 그리고 호스트 및 스토리지 풀로부터 분리된 스토리지 기구(126)의 가상화를 얻는다. 불행하게도, 이러한 각각의 구현 기법은 만족스럽지 못한 성능 측면의 제약점을 보인다.
스토리지 어레이의 가상화는 오늘날 사용되는 가장 대중적인 스토리지 가상화 해법 중 하나이다. 이 접근법을 통해, 가상 볼륨들이 특정 스토리지 서브시스템(가령, 디스크 어레이)의 스토리지 공간 상에 생성된다. 스토리지 서브시스템 레벨에서 가상 볼륨을 생성함으로서, 호스트 독립성을 제공할 수 있다. 왜냐하면, 스토리지 풀의 가상화가 호스트에 가시적이지 않기 때문이다. 추가적으로, 스토리지 시스템 레벨에서의 가상화는 메모리 액세스의 최적화를 구현하고, 따라서 최고 성능을 유도할 수 있다. 그러나, 이러한 가상화 기법은 동종의 스토리지 환경에서만 균일한 관리 구조를 가능하게 할 것이며, 탄력적 유연성이 제한된다. 더욱이, 스토리지 서브시스템 레벨에서 물리적-가상 제한은 스토리지 영역 네트워크의 모든 호스트에 부과된다. 더욱이, 각각의 스토리지 서브시스템(또는 디스크 어레이)은 독립적으로 관리된다. 따라서 스토리지 레벨에서의 가상화는 여러 스토리지 서브시스템에 한 개의 가상 볼륨이 걸칠 수 있도록 기회를 부여하지 않으며, 따라서, 스토리지-기반 접근법의 융통성을 제약한다.
가상화가 각각의 호스트 상에서 구현될 때, 여러개의 스토리지 서브시스템들(가령, 디스크 어레이들)에 걸칠 수 있다. 호스트-기반 접근법은 추가적인 장점을 가진다. 즉, 한 호스트에 대한 제한이 스토리지 영역 네트워크 내 다른 호스트의 동작에 영향을 미치지 않는다. 그러나, 호스트 레벨에서의 가상화는 가상화 기능을 구현하는 각각의 호스트 상에서 실행되는 소프트웨어 층의 존재를 요한다. 따라서 이 소프트웨어를 실행하는 것은 이 소프트웨어를 실행하는 호스트들의 성능에 영향을 미친다. 이 방법에 있어서의 또다른 중요한 문제점은 여러 호스트에 대해 가용 스토리지를 사전 분할함을 가정한다는 것이다. 이러한 분할(partitioning)이 호스트 레벨에서 지원되고 각각의 호스트의 가상화 기능이 스토리지 영역 네트워크 내 나머지 호스트들에 대해 독립적으로 실행되기 때문에, 호스트 간에서 스토리지 액세스를 조율하는 것이 어렵다. 따라서 호스트-기반 접근법은 적절한 레벨의 보안성을 제공하지 못한다. 이 보안성 문제점으로 인해, 쓰기 및 읽기 동작 중 메모리의 "잠김(locking)"을 요하는 RAID같은 다양한 리던던시 기법을 구현하기가 어렵다. 추가적으로, 미러링(mirroring)이 실행될 때, 호스트는 데이터를 여러번 복제할 수있어서, 그 입/출력 및 CPU 부하를 증가시키고, SAN 상에서의 트래픽을 증가시킨다.
호스트와 스토리지 사이에 위치하는 스토리지 영역 네트워크 기구에서의 가상화는 호스트-기반 접근법 및 스토리지-기반 접근법의 어려움 중 일부분을 해결한다. 스토리지 기구는 가상 볼륨에 대한 물리적 메모리의 매핑 및 할당을 포괄적으로 관리한다. 통상적으로, 스토리지 기구는 가상 스토리지에 대한 물리적 스토리지의 현 매핑을 제공하는 중앙 표를 관리한다. 따라서, 스토리지 기구-기반 접근법에 의하면, 스토리지 영역 상에서 스토리지 서브시스템과 호스트 모두로부터 독립적으로 가상 볼륨이 구현될 수 있고, 이에 따라 높은 수준의 보안성을 제공할 수 있다. 더욱이, 이 접근법은 여러 스토리지 서브시스템 간의 가상화를 지원한다. 이 구조의 여러 실시예들의 중대한 결함은 모든 호스트의 모든 입/출력이 스토리지 영역 네트워크 기구를 통해 이루어져야 한다는 데 있고, 이에 따라, 상당한 성능 저하와 스토리지 영역 네트워크 병목을 야기한다는 데 있다. 이는 RAID같은 리던던시 기법을 지원하는 시스템에서 특히 문제가 된다. 왜냐하면, 데이터가 여러 디스크 사이에서 미러링되어야 하기 때문이다. 또다른 스토리지 기구-기반 접근법에서, 이 기구는 모든 호스트가 표의 현 버전을 수용함을 보증한다. 따라서, 호스트가 상기 기구로부터 표를 수용할 수 있도록 하기 위해, 상기 기구로부터 호스트에게로 소프트웨어 연결이 요구되며, 이는 시스템의 복잡성을 증가시킨다. 더욱이, 소프트웨어층이 호스트 상에 구현되기 때문에, 호스트 기반 접근법의 여러 단점들이 역시 나타난다.
상기 관점에서 볼 때, 여러 기억 장치나 기억 장치의 일부분들이 네트워크 내 여러 장치나 실체에 논리적으로 그리고 동적으로 할당될 수 있다면 바람직할 것이다. 더욱이, 전통적인 가상화 접근법에서의 단점없이 SAN 내에서 스토리지의 가상화를 지원할 수 있는 메커니즘이 구현될 수 있다면 바람직할 것이다.
본 발명은 네트워크 기술에 관한 것이다. 특히, 본 발명은 스토리지 영역 네트워크 내에 스토리지의 가상화를 지원하는 방법 및 장치에 관한 것이다.
도 1A는 공지 기술에 따른 가상화 기능의 여러 실시예를 구현할 수 있는 일례의 전형적인 스토리지 영역 네트워크를 도시하는 블록도표이다.
도 1B는 발명의 여러 실시예를 구현할 수 있는 일례의 스토리지 영역 네트워크를 도시하는 블록도표.
도 2는 발명의 여러 실시예들에 따라 구현될 수 있는 가상화 모델의 블록도표.
도 3A는 본 발명의 여러 실시예들에서 구현될 수 있는 일례의 가상화 스위치의 블록도표.
도 3B는 본 발명의 여러 실시예들에서 구현될 수 있는 일례의 표준 스위치의 블록도표.
도 4는 각각의 SCSI 타겟 포트에 대한 NWWN 및 PWWN을 구현하는 기존 방법의 순서도.
도 5는 발명의 한 실시예에 따른 일례의 가상 인클로저를 도시하는 블록도표.
도 6은 발명의 여러 실시예들에 따라 여러 가상화 포트들에 가상 인클로저 포트를 묶음으로서 가상 인클로저를 구현하는 일례의 시스템의 블록도표.
도 7은 발명의 여러 실시예들에 따라 가상 인클로저를 생성하는 방법의 순서도.
도 8은 발명의 여러 실시예들에 따라 가상 인클로저 포트에 연계될 수 있는 기존의 FCID의 도면.
도 9는 발명의 여러 실시예들에 따라 가상화 포트의 가상 인클로저 바인딩 및 트래핑 기능들을 조율하는 한가지 방법의 순서도.
도 10은 발명의 여러 실시예들에 따라 가상화 포트에 의해 취급되어야할 FCID를 표시하는 가상화 포트에 의해 유지될 수 있는 일례의 표의 도면.
도 11은 발명의 여러 실시예들에 따라 호스트가 한 개 이상의 LUN에 액세스할 수 있도록, 호스트와 한 개 이사의 가상화 포트들 간의 통신을 구축하는 한가지 방법의 순서도.
도 12는 LUN 매핑을 실행하기 위해 도 11의 단계 1128에서 사용될 수 있는 일례의 LUN 매핑의 도면.
도 13은 도 12의 LUN 매핑 표에 대응하는 가상 인클로저를 표현하는 도면.
스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 방법 및 장치가 공개된다. 이는 호스트와 기억 장치들간 데이터 경로에 위치할 수 있는 한 개 이상의 네트워크 장치들을 이용하여 구현된다. 그 결과, 스토리지 가상화를 지원하기 위해 기억 장치나 호스트들이 어떤 추가적인 소프트웨어나 하드웨어도 요구하지 않는다. 따라서, 본 발명은 호스트 기반 접근법에 비해 우수하다. 호스트 기반 접근법에서는 가상화 기능 구현을 위한 추가적인 소프트웨어로 인해 각각의 호스트가 그만큼 부담을 지게 된다. 더욱이, 본 발명에 따르면, 여러 네트워크 장치들이 여러 기억 장치들의 가상화를 동시에 관리할 수 있다. 중요한 점은 스위치-기반 가상화가 포트 단위로 구현될 수 있다는 점이다. 한 스위치에 대한 어떤 숫자의 포트들도 그 고유 트래픽의 가상화를 관리할 수 있다. 이로 인해, 네트워크의 가상화 용량이 포트 수로 스케일링된다. 네트워크 시스템에는 다수의 포트들이 존재하기 때문에, 가상화를 위한 대역폭이 항상 충분할 것이다. 따라서, 스토리지 가상화는 기존 가상화 기법에 존재하는 여러 단점들 없이 구현될 수 있다.
발명의 한 태양에 따르면, 한 개 이상의 가상 인클로저 포트를 가진 가상 인클로저가 생성되어, 한 개 이상의 가상 스토리지 유닛을 나타내도록 구성된다. 다시 말해서, 가상 인클로저는 선택된 가상 스토리지 유닛을 "감싸는, 즉, 인클로즈(enclose)" 기능을 하며, 이는 가상 인클로저 포트를 통해 액세스될 수 있다. 각각의 가상 스토리지 유닛들은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛에서의 한 개 이상의 물리적 스토리지 위치들을 표현한다. 추가적으로, 가상 인클로저의 각각의 가상 인클로저 포트들은 스토리지 영역 네트워크 내의 한 네트워크 장치의 포트에 연계된다. 각각의 가상 인클로저 포트에 한 개의 어드레스나 식별자가 할당된다. 예를 들어, 어드레스나 식별자는 FCID(Fiber Channel IDentifier)일 수 있다. 따라서, 가상 인클로저 포트로 향하는 메시지(가령, 패킷이나 프레임)가 가상 인클로저 포트에 연계된 포트에 의해 취급될 수 있다.
발명의 여러 실시예들에 따르면, 가상 인클로저는 섬유 채널 네트워크(Fiber channel network) 내에서 구현된다. 따라서, NWWN(Node World Wide Name)이 가상 인클로저에 연계된다. 추가적으로, PWWN(Port World Wide Name)이 각각이 가상 인클로저 포트에 연계된다.
발명의 또다른 태양에 따르면, 스토리지 영역 네트워크 내 네트워크 장치의 한 포트가 가상 인클로저 포트 대신에 메시지를 처리할 것을 지시받는다. 이는 두 방식으로 달성될 수 있다. 첫 번째로, 포트가 가상 인클로저 포트에 자체적으로 "묶이도록(bind)" 지시받을 수 있다. 다시 말해서, 포트가 가상 인클로저 포트로 기능하며, 가상 인클로저 포트를 향해 진행하여 상기 포트에 의해 수신되는 모든 메시지들은 상기 포트에 의해 취급된다. 두 번째로, 이 포트는 "트래핑 포트(trapping port)"로 기능하도록 지시받을 수 있다. 특히, 가상 인클로저 포트에 묶인 포트에 추가하여, 한 개 이상의 추가적 포트들이 가상 인클로저 포트를 향하는 수신한 메시지들을 취급할 수도 있다. 트래핑 포트는 호스트에 직접 연결되는 포트인 것이 바람직하고, 따라서, 이에 의해 수신되는 요청들을 트래킹할 수 있고 이 요청에 관련된 응답들을 트래킹할 수 있다. 단일 가상 인클로저 포트 대신에 여러 포트들 간에서의 바인딩과 트래핑은 가상 인클로저 서버같은 중앙 위치에서 조율되는 것이 바람직하다.
여러 네트워크 장치들이 상기 공개된 가상화 처리를 실행하도록 구성될 수 있다. 이 네트워크 장치들은 서버, 루터, 스위치 등을 포함할 수 있다. 더욱이, 상술한 가상화 처리에 대한 기능은 소프트웨어 방식 뿐 아니라 하드웨어 방식으로도 구현될 수 있다.
발명의 또한가지 태양에 따르면, 상술한 방법 및 기술들을 구현하기 위한 프로그램 명령들이 제공되는 기계-판독형 매체를 포함하는 컴퓨터 프로그램 프로덕트가 제시된다. 본 발명의 방법은 이러한 기계-판독형 매체에 제공될 수 있는 프로그램 명령들로 표현될 수 있다. 추가적으로, 본 발명은 여기서 기술된 바와 같이 사용되고 발생된 데이터의 여러 조합 및 배열들에 관한 것이다. 예를 들어, 적절한 매체 상에서 제공되며 여기서 기재된 포맷을 가지는 패킷 및 프레임들이 본 발명의 일부분이다.
발명의 여러 실시예들에 따르면, 스토리지 영역 네트워크 내의 스토리지의 가상화가, 한 개 이상의 가상 인클로저 포트들을 가진 한 개의 가상 인클로저를 생성함으로서 구현될 수 있다. 가상 인클로저는 가상화 스위치라고 불리는 한 개 이상의 네트워크 장치에 의해 (부분적으로) 구현된다. 보다 구체적으로, 가상화 스위치, 또는 가상화 스위치 내의 가상화 포트는 가상 인클로저 포트들 중 하나 대신에 패킷이나 프레임같은 메시지들을 취급할 수 있다. 따라서, 발명의 실시예들은 가상 인클로저 포트로 향하는 패킷이나 프레임에 적용될 수 있다. 편의를 위해, 차후의 설명은 프레임에 대하여 발명의 실시예들을 기술할 것이다. 스위치들은 프레임에 대하여 동작하며, 스위칭 결정을 행하기 위해 SAN에 관한 정보를 이용한다.
가상화 스위치에 의해 송신되고 수신되는 프레임들은 이더넷이나 섬유 채널같은 표준 프로토콜에 대하여 규정된 프레임 포맷을 가진다. 따라서, 이러한 프레임들을 발생시키는 데 통상적으로 사용되는 소프트웨어 및 하드웨어가 본 발명에 따라 표준 프로토콜과 호환되는 프레임들을 수정하고 발생시키도록 사용된다. 당 분야의 통상의 지식을 가진 자는 아래 기재되는 바와 같이 필요한 하드웨어 및 소프트웨어가 가상화를 실현하는 방식을 이해할 수 있을 것이다.
적절한 네트워크 장치는 가상화 기능을 실행하기 위해 적절한 소프트웨어나 하드웨어로 구성되어야 할 것이다. 물론, 스토리지 영역 네트워크 내 모든 네트워크 장치들이 가상화 기능을 가지도록 구성될 필요는 없다. 차라리, 선택된 스위치나 포트들이 가상화 기능을 가지도록 구성될 수 있다. 마찬가지로, 여러 실시예에서, 이러한 가상화 기능은 여러 모드들을 선택함으로서 동작하거나 동작정지될 수 있다. 더욱이, 가상화 가능 상태에서만, 또는 연속적으로, 가상화를 실행할 수 있는 가상화-가능 포트들로, 기선택된 네트워크 장치들의 포트들을 설정하는 것이 바람직할 수 있다.
스토리지 영역 네트워크에 이용되는 표준 프로토콜은 네트워크에 의해 운반되는 "트래픽 종류"와 동종인 것이 통상적이다. 하지만 반드시 그런 것은 아니다. 아래 설명되는 바와 같이, 트래픽 종류는 일부 캡슐화 포맷(encapsulation formats)으로 규정된다. 트래픽 종류의 예로는 이더넷, 섬유 포맷, 인피니밴드(InfiniBand)같은 층 2 또는 대응층 포맷들이다.
상술한 바와 같이, 스토리지 영역 네트워크(SAN)는 대형 사용자 네트워크 대신에 관련 네트워크 호스트들에 여러 다른 데이터 기억 장치들을 연결하는 고속 전용 네트워크이다. SAN은 시스템의 물리적 구성에 의해 규정된다. 다시 말해서, SAN의 상기 장치들은 물리적으로 상호연결되어야 한다.
도 1B에 도시되는 바와 같은 스토리지 영역 네트워크(131) 내에는 여러 기억 장치들(132, 134, 136, 138, 140, 142)이 구현될 수 있고, 이들이 동종(동일한 장치 종류, 크기, 구성)일 수도 있고 이종(서로 다른 장치 종류, 크기, 구성)일 수도 있다. 데이터는 호스트(144, 146)에 의해 전달된 명령들에 따라 기억 장치들(132-142)의 여러 부분으로부터 독출되거나 상기 여러 부분에 기입될 수 있다. 기억 장치들과 호스트들간의 통신은 기억 장치들과 호스트들을 함께 한 개 이상의 스위치, 루터, 또는 스위칭 기능을 실행하도록 구성된 그 외 다른 네트워크 노드들을 통해 연결함으로서 달성된다. 본 예에서, 스위치(148, 150, 152)는 인터스위치 링크(154, 156)를 통해 서로 통신할 수 있다.
상술한 바와 같이, 본 발명은 스토리지 네트워크에서의 가상화에 관한 것이다. 공지의 방법들과는 달리 본 발명의 가상화는 가상 인클로저의 생성 및 구현을 통해 구현된다. 이는 가상 인클로저 구현을 위해 스토리지 영역 네트워크의 스위치나 그 외 다른 "내부" 네트워크 노드들을 이용함으로서, 부분적으로, 구현된다. 더욱이, 본 발명의 가상화는 포트 단위로 구현되는 것이 일반적이다. 다시 말해서, 다중 포트 스위치는 그 포트들 중 한 개 이상에서 개별적으로 구현되는 가상화를 가질 것이다. 개별 포트들은 개별 포트들에 의해 취급되는 패킷이나 프레임들에 대한 가상화 기능들을 취급하기 위한 전용 로직을 가진다. 이로 인해, 가상화 처리가 포트 수로 스케일링될 수 있고, 호스트 기반 기법이나 스토리지 기반 가상화 기법에 제공될 수 있는 가상화에 비하여 더 큰 대역폭을 제공한다. 이러한 공지 기술의접근법에서는 호스트나 네트워크 조직, 또는 스토리지 노드와 네트워크 조직간의 연결 숫자가 제한된다(적어도 네트워크 조직의 포트 수에 비교하여).
발명의 특정한 선호 실시예에서, 가상화 로직은, 한 스위치의 모든 포트들에 대한 중앙식 처리를 가지는 것보다는, 주어진 스위치의 개별 포트들에서 개별적으로 구현된다. 이로 인해, 가상화 처리 용량이 포트 단위로 스위치의 정확한 수요와 밀접하게 부합할 수 있다. 중앙 프로세서가 전체 스위치에 대하여 사용될 경우, 프로세서는 최대 트래픽을 모든 포트에서 취급하도록 설계되고 선택되어야 한다. 여러 애플리케이션의 경우에, 이는 매우 높은 수준이 처리 요건을 나타내며, 매우 크고 비싼 프로세서를 나타낸다. 중앙 프로세서가 너무 작을 경우, 스위치는 네트워크의 스위칭/가상화 수요에 뒤처질 수 없을 것이다.
가상화는 여러 형태를 취할 수 있다. 일반적으로, 스토리지 네트워크 상에서 물리적 스토리지와 가상 스토리지를 상호연관시키는 로직이나 과정으로 규정될 수 있다. 호스트들은 상기 스토리지에 내재적인 물리적 배열이나 할당에 의해 제약받지 않는 가용 물리적 스토리지의 한 표현을 나타낸다. 가상화가 벗어날 물리적 제약의 예를 들자면, 구성요소인 물리적 스토리지 블록의 크기 및 위치가 있다. 예를 들어, SCSI(Small Computer System Interface) 표준에 의해 규정된 로직 유닛들은 정확한 물리적 크기(36GB 및 72GB)로 나타난다. 가상화는 물리적 로직 유닛의 정해진 크기보다 작거나 큰 가상 로직 유닛의 스토리지를 나타낼 수 있다. 더욱이, 가상화는 가끔씩 여러 다른 벤더로부터 장치들에 제공되는 두 개 이상의 서로 다른 물리적 로직 유닛들로부터의 영역들로 구성되는 가상 로직 유닛을 제시할 수 있다.가상화 동작이 네트워크 실체들(가령, 호스트)에 대해 투명한 것이 바람직하다.
일반적 방식에 따르면, 스토리지 영역 네트워크에서의 가상화는 전형적인 컴퓨터 시스템에서의 가상 메모리와 유사하다. 그러나 네트워크에서의 가상화는 더 복잡하고 유연성이 더 크다. 복잡성은 개별적으로 상호연결된 네트워크 노드들의 수가 많다는 사실에 직접적 사유가 있다. 가상화는 이들 노드들 사이에 걸쳐야 한다. 노드들은 호스트, 스토리지 서브시스템, 그리고 스위치들(또는 네트워크 트래픽 제어 장치, 가령, 루터)을 포함한다. 호스트와 스토리지 서브시스템들이 여러 다른 벤더에 의해 제공되는 호스트와 스토리지 서브시스템들이 동종인 경우가 자주 있다. 벤더들은 서로 다른 프로토콜(표준 프로토콜이나 전용 프로토콜)을 이용할 수 있다. 따라서, 여러 경우에, 가상화는 동종의 이니시에이터(가령, 호스트나 서버)를 분배형의 이종 타겟 세트(가령, 스토리지 서브시스템)에 연결하는 능력을 제공하며, 이에 따라 스토리지의 동적이면서 투명한 할당을 구현할 수 있다.
네트워크 전용 가상화 동작의 예로는 다음을 들 수 있다. 즉, RAID 0 - RAID 5, 물리적 메모리의 두 개 이상의 구분된 로직 유닛들로부터의 메모리 연쇄화(concatenation), 예비화(sparing)(가령, 실패한 물리적 매체의 자동 대체), 물리적 메모리의 원격 미러링(가령, 에러나 통계), 여러 물리적 메모리 시스템간의 부하 균형, 스트리핑(가령, RAID 0), 물리적 메모리에 액세스하기 위한 액세스 제어 알고리즘같은 보안 척도, 가상 메모리 블록의 크기조정, 임의 LUN(Logical UNit)을 부트 장치로 기능하게 하는 LUN 매핑, 물리적 메모리의 백업, 등등을 예로 들 수 있다. 이들은 가상화 기능들의 예에 불과하다. 본 발명은 이 풀 세트에 제한되지않으며, 어떤 특정 서브세트에 구속되지 않는다.
본 명세서 일부분에서 본 발명의 가상화 스위치의 기능들이 SCSI 프로토콜을 들어 설명되고 있다. 이는 상용화된 여러 스토리지 영역 네트워크들이 스토리지 사이트에 액세스하는 데 SCSI 프로토콜을 사용하기 때문이다. 스토리지 영역 네트워크는 섬유 채널(FC-PH(ANSI X3.230-1994, 섬유 채널 - 물리적 및 시그널링 인터페이스)을 로우 레벨 프로토콜로 이용하며, 섬유 채널 위에 IP및 SCSI를 실행한다. 본 발명이 이들 프로토콜에 제약되지 않는다. 예를 들어, 섬유 채널은 이더넷, Infiniband, 등으로 대체될 수 있다. 더욱이, 하이 레벨 프로토콜은 SCSI를 포함하지 않는다. 예를 들어, 이는 SCSI 오버 FC, iSCSI(SCSI over IP), 패럴렐 SCSI(SCSI over a parallel cable), 시리얼 SCSI(SCSI over serial cable), 그리고 그 외 다른 모든 SCSI의 실현형태를 포함할 수 있다.
SCSI가 스토리지 영역 네트워크에 폭넓게 사용되고 있기 때문에, 대부분의 용어가 SCSI 용어일 것이다. SCSI 용어(가령, 이니시에이터, 타겟)를 이용한다고 해서, 설명 과정이나 장치가 SCSI를 반드시 이용하여야 함을 의미하는 것은 아니다. 더 진행하기 전에, 본 명세서에서 사용될 SCSI 용어들을 몇가지 소개하는 것이 좋을 것이다. 먼저, 이니시에이터(initiator)는 한 장치에 의해 실행될 동작을 요청하는 또다른 장치(통상적으로 호스트 시스템)이다. 일반적으로, 본 문서 내용에서, 호스트 이니시에이터는 가상 메모리나 물리적 메모리의 한 영역에서 쓰기나 읽기 동작의 실행을 요청할 것이다. 그다음, "타겟(target)"은 이니시에이터에 의해 요청된 동작을 실행하는 장치이다. 예를 들어, 호스트 이니시에이터가 최초 요청한데이터를 타겟 물리적 메모리 디스크가 얻거나 기입할 것이다. 호스트 이니시에이터가 가상 어드레스를 가진 가상 타겟에 읽기 또는 쓰기 명령을 제공할 수 있을 때, 본 발명의 가상화 스위치는 타겟에 명령하기 전에 상기 명령들을 물리적 타겟 어드레스로 먼저 변환하여야 한다.
타겟들은 물리적 로직 유닛이나 가상 로직 유닛으로 분할될 수 있다. 이들은 타겟을 통해 어드레싱가능한 전용 장치들이다. 예를 들어, 물리적 스토리지 서브시스템은 다수의 구분된 로직 유닛들로 조직될 수 있다. 본 명세서에서, 호스트들은 가상 메모리를 별개의 가상 로직 유닛들로 판단한다. 로직 유닛들은 LUN이라고도 불린다. SCSI 표준에서, LUN은 로직 유닛 번호를 의미한다. 그러나 공통적인 기준에서는 LUN이 로직 유닛, 그 자체를 의미한다.
중앙형 가상화는 "가상화 모델"의 개념이다. 이는 스토리지 서브시스템에 제공되는 물리적 스토리지가 한 네트워크 상의 호스트나 그 외 다른 이니시에이터에 의해 판별되는 가상 스토리지에 관련되는 방식이다. 이 관계가 여러 형태를 취할 수 있고 여러 용어로 특징화될 수 있지만, SCSI-기반 용어가 사용될 것이다. 따라서, 스토리지 영역 네트워크의 물리적 측면은 물리적 LUN으로 기재될 것이다.
마찬가지로 호스트 측은 물리적 LUN의 가상 표현인 한 개 이상의 가상 LUN을 판별한다. 물리적 LUN을 가상 LUN에 매핑하는 것은 한 개나 두 개, 또는 세 개 이상의 레벨로 논리적으로 나타날 수 있다. 결국, 물리적 LUN 어드레스와 가상 LUN 어드레스들 간을 상호변환하기 위해 본 발명의 스위치에 의해 사용될 수 있는 매핑 기능이 존재한다.
도 2는 본 발명의 여러 실시예들에 따라 스토리지 영역 네트워크 내에서 구현될 수 있는 가상화 모델의 한 예를 나타내는 블록도표이다. 도시되는 바와 같이, 스토리지 영역 네트워크의 물리적 스토리지는 한 개 이상의 물리적 LUN(물리적 디스크(202))으로 구성된다. 각각의 물리적 LUN은 개별적이면서도 직접적으로 액세스가능한 한 개 이상의 연속 블록들에 저장되는 데이터를 지닐 수 있는 장치이다. 예를 들어, 물리적 LUN 내의 메모리의 각각의 블록은 블록(204)으로 표현될 수 있고, 이는 디스크 유닛(DUnit)으로 불릴 수도 있다.
매핑 기능(206)을 통해, 물리적 LUN(202)에 연계된 물리적 LUN어드레스를 가상 LUN 어드레스로 변환하는 것이 가능하고, 그 역변환도 물론 가능하다. 보다 구체적으로, 가상화 및 이에 따른 매핑 기능은 한 개 이상의 레벨로 발생할 수 있다. 예를 들어, 도시되는 바와 같이, 제 1 가상화 레벨에는 한 개 이상의 가상 LUN(208) 각각이 한 개 이상의 물리적 LUN(202) 또는 그 일부분들을 표현한다. 단일 가상 LUN(208)을 구성하는 물리적 LUN(202)들은 연속적일 필요가 없다. 마찬가지로, 가상 LUN(208)로 매핑된 물리적 LUN(202)들은 단일 타겟 내에 위치할 필요가 없다. 따라서, 가상화를 통해, 구분된 물리적 타겟들에 위치하는 물리적 메모리를 나타내는 가상 LUN(208)들이 생성될 수 있고, 이는 여러 다른 벤더로부터 취할 수 있고, 따라서 여러 다른 프로토콜 및 트래픽 종류를 지원할 수 있다.
가상화가 단일 레벨로 구현될 수 있지만, 어떤 레벨 수의 수직형 배열도 발명의 여러 실시예들에 의해 뒷받침될 수 있다. 예를 들어, 도시되는 바와 같이, 도 2의 가상화 모델 내의 제 2 가상화 레벨은 하이 레벨 VLUN이나 볼륨(210)으로 불린다. 일반적으로, 이니시에이터 장치는 데이터에 액세스할 때 VLUN(210)만을 판별한다. 발명의 여러 실시예들에 따르면, 한 개의 가상 인클로저 내에 여러 VLUN이 "인클로즈"되어, 상기 가상 인클로저만이 이니시에이터에 의해 판별될 수 있다. 다시 말해서, 가상 인클로저에 의해 인클로즈된 VLUN이 이니시에이터에게 보이지 않는다.
본 예에서, VLUN(210)은 가상 LUN(208)의 "로직" RAID 어레이로 구현된다. 더욱이, 이러한 가상화 레벨은 스트리핑이나 미러링 등을 이용하여 추가적으로 구현될 수 있다. 게다가, 매핑 기능(206)을 지원하는 가상화 레벨의 수를 명시하는 것이 불필요하다는 점에 주목하여야 한다. 차라리, 가상화 레벨의 임의적 수치는 반복적 매핑 기능을 통해 뒷받침될 수 있다. 예를 들어, 트리 데이터 구조, 링크된 리스트, 또는 그 외 다른 데이터 구조에서 여러 노드 레벨들이 구축되고 유지될 수 있다.
따라서 각각의 이니시에이터는 수직형 가상화 모델의 레벨들에 위치하는 노드들을 통해 물리적 LUN에 액세스할 수 있다. 주어진 스토리지 영역 네트워크 내에서 구현되는 수직형 모델의 주어진 가상화 레벨 내의 노드들은 허용된 이니시에이터 세트들에 보일 수 있고 이 세트들에 대해 액세스도 가능하다. 그러나, 발명의 여러 실시예에 따르면, 이들 노드들은 가상 인클로저에 인클로즈되며, 따라서 허용된 이니시에이터 세트에 더 이상 보이지 않게 된다. 특정 가상화 레벨 내의 노드들은 이 기능들(가령, 읽기, 쓰기)이 실행되기 전에 생성될 필요가 있다. 이는 특정 이니시에이터의 마스터 부트 레코드를 통해 달성될 수 있다(일례에 해당). 추가적으로, 여러 이니시에이터들이 특정 가상화 레벨 내에서 특정 노드들에 대해 읽기나 쓰기 우선권을 할당받을 수 있다. 이 방식으로, 특정 가상화 레벨 내의 노드가, 선택된 이니시에이터에 의해 액세스될 수 있다.
상술한 바와 같이, 스토리지 영역 네트워크 내 여러 스위치들이 가상화 기능을 지원하는 가상화 스위치들일 수 있다. 도 3A는 여러 실시예들에 구현될 수 있는 일례의 가상화 스위치에 대한 블록도표이다. 도시되는 바와 같이, 데이터나 메시지가 양방향 커넥터(302)를 통해 지능형 가상화 포트에 의해 수신된다. 추가적으로, 가상화 포트는 가상 인클로저 포트 대신에 메시지를 취급하도록 만들어진다. 유입 포트와 관련하여, MAC(Media Access Control) 블록(304)이 제공되어, 이더넷이나 섬유 채널같은 여러 프로토콜들의 프레임들을 수신할 수 있다. 추가적으로, 가상화 인터셉트 스위치(306)는 유입 프레임에 명시된 어드레스가, 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에서의 한 개 이상의 물리적 스토리지 위치들을 표현하는 가상 스토리지 유닛의 가상 스토리지 위치의 액세스에 관한 것인지를 결정한다. 예를 들어, 가상 스토리지 유닛은 가상 인클로저 내에 인클로즈된 가상 스토리지 유닛(가령, VLUN)일 수 있다.
유입 프레임에 명시된 어드레스가 물리적 스토리지 위치보다 가상 스토리지 위치에 엑세스하는 것임을 가상화 인터셉트 스위치(306)가 결정하면, 프레임은 상술한 바와 같이 매핑 기능을 실행할 수 있는 가상화 프로세서(308)에 의해 처리된다. 특히, 가상화 프로세서(308)는 한 개 이상의 물리적 스토리지 위치와 가상 스토리지 위치 간의 가상-물리적 매핑을 획득한다. 이 방식으로, 가상화 프로세서(308)는 물리적 어드레스나 가상 어드레스를 적절하게 탐색할 수 있다. 예를 들어, 물리적 어드레스로부터 가상 어드레스로, 또는 한 개의 가상 어드레스로부터 한 개 이상의 물리적 어드레스로 매핑을 실행할 필요가 있을 수 있다.
가상-물리적 매핑을 획득하면, 가상화 프로세서(308)는 이 획득한 매핑을 이용하여, 새 프레임을 발생시키거나, 기존 프레임을 수정하여, 가상-물리적 매핑에 의해 명시된 이니시에이터나 타겟에 상기 프레임을 전송할 수 있다. 매핑 기능은 미러형 기입의 경우에서처럼, 프레임이 여러번 반복될 필요가 있음을 또한 명시할 수 있다. 특히, 소스 어드레스나 수신지 어드레스가 편의에 따라 수정된다. 예를 들어, 타겟으로부터의 데이터의 경우에, 가상화 프로세서는 물리적 LUN 어드레스였던 소스 어드레스를 대응하는 가상 LUN 및 어드레스로 대체한다. 수신지 어드레스에서, 포트는 이니시에이터의 어드레스로 그 고유 어드레스를 대체한다. 이니시에이터로부터의 데이터의 경우에, 포트는 이니시에이터의 어드레스로부터 포트 자신의 어드레스로 소스 어드레스를 변경한다. 이는 가상 LUN/어드레스로부터 대응하는 물리적 LUN/어드레스로 수신지 어드레스를 변경시킨다. 그후 새 프레임, 또는 수정된 프레임은 가상화 인터셉트 스위치(306)에 제공될 수 있어서, 프레임을 의도한 수신지에 전송할 수 있다.
가상화 프로세서(308)가 가상-물리적 매핑을 획득하고 적용할 때, 프레임이나 관련 데이터는 임시 메모리 위치(가령, 버퍼)(310)에 저장될 수 있다. 게다가, 요망하는 읽기나 쓰기 동작이 성공적으로 완료되었음을 확인받기 전까지는 송신이나 수신되는 데이터를 저장하는 것이 필요하거나 바람직할 수 있다. 한 예로, 여러개의 프레임으로 개별적으로 전송되어야 하는 다량의 데이터를 가상 LUN에 기입하는 것이 바람직할 수 있다. 따라서, 데이터의 수신 확인이 이루어질 때까지 데이터를 임시로 버퍼링하는 것이 바람직할 수 있다. 또다른 예로서, 여러 프레임으로 개별적으로 수신될 수 있는 다량의 데이터를 가상 LUN으로부터 읽어들이는 것이 바람직할 수 있다. 더욱이, 이 데이터는 읽기 명령의 이니시에이터에 데이터가 송신되어야 하는 순서와는 다른 순서로 수신될 수 있다. 본 예에서, 데이터를 전송 이전에 재정렬시킬 수 있도록, 이니시에이터에 데이터를 송신하기 전에 데이터를 버퍼링하는 것이 바람직할 수 있다. 마찬가지로, 이니시에이터에 전송된 데이터의 일체성을 확인하는 것이 필요한 경우에, 데이터를 버퍼링하는 것이 바람직할 수 있다.
새 프레임이나 수정된 프레임이 포워드 엔진(312)에 의해 수신된다. 이는 소스 어드레스와 수신지 어드레스같이 프레임의 여러 필드로부터 정보를 획득한다. 포워드 엔진(312)은 포워드 표(314)에 액세스하여, 소스 어드레스가, 명시된 수신지 어드레스에 대한 액세스를 가지는 지를 결정한다. 구체적으로, 포워드 표(314)는 물리적 LUN 어드레스와 가상 LUN 어드레스를 포함한다. 포워드 엔진(312)은 프레임을 전송할 적절한 스위치 경로를 또한 결정하며, 프레임에 대한 적절한 루팅 태그를 발생시킨다.
프레임이 송신을 위해 적절히 포매팅되면, 프레임은 전송 이전에 버퍼 큐 블록(316)에 의해 수신될 것이다. 수신되는 대로 프레임을 송신하는 것보다는, 프레임을 버퍼나 큐(318)에 일시적으로 저장하는 것이 바람직할 수 있다. 예를 들어, 각각이 여러 다른 우선순위 레벨에 대응하는 큐들의 세트 중 하나에서 서비스 품질을 바탕으로 패킷을 일시적으로 저장하는 것이 바람직할 수 있다. 프레임은 스위치 조직(320)을 통해 적절한 포트로 전송된다. 도시되는 바와 같이, 출력 포트는 그 고유 MAC 블록(332)과 양방향 커넥터(324)를 프레임 통신 경로로 가진다.
상술한 바와 같이, 스토리지 영역 네트워크의 모든 스위치들이 가상화 스위치일 필요는 없다. 다시 말해서, 한 개의 스위치가, 어떤 포트도 지능형의 가상화 기능을 구현하지 않는 표준 스위치일 수 있다. 도 3B는 본 발명의 여러 실시예들에서 구현될 수 있는 일례의 표준 스위치를 도시하는 블록도표이다. 도시되는 바와 같이, 표준 포트(326)는 MAC 블록(304)을 가진다. 그러나, 가상화 인터셉트 스위치와 가상화 프로세서(도 3A)는 구현되지 않는다. 입력 포트에서 수신되는 프레임은 포워드 엔진(312) 및 그 관련 포워드 표(318)에 의해 처리될 뿐이다. 전송 이전에, 프레임이 버퍼나 큐(318)에 대기할 수 있다(316). 프레임들은 스위치 조직(320)을 통해 출력 포트로 포워드된다. 도시되는 바와 같이, 출력 포트는 iSCSI 포트일 수 있고, 이는 가상화를 지원하고 패럴렐 SCSI 및 시리얼 SCSI도 지원한다.
도 3A 및 3B를 참고하여 상술한 네트워크 장치들이 스위치로 기재되었지만, 이 네트워크 장치들은 단지 일례에 불과할 뿐이다. 따라서, 루터같은 다른 네트워크 장치들이 스토리지 영역 네트워크에서의 전송을 위해 상술한 바와 같은 기능으로 패킷이나 프레임을 수신하고, 처리하며, 수정하고, 또는 발생시킬 수 있다. 더욱이, 상술한 네트워크 장치들은 설명을 위한 것임에 불과하고, 따라서, 소개된 가상화 기능을 실행하는 그 외 다른 네트워크 장치들이 구현될 수 있다.
일반적으로, SCSI 타겟들은 SCSI 이니시에이터(가령, 호스트)에 의해 직접액세스가능하다. 다시 말해서, PLUN같은 SCSI 타겟들은 SCSI 타겟들에 액세스하는 호스트에 대해 투명하게 노출된다. 마찬가지로, VLUN이 구현되는 경우에도, VLUN은 SCSI 이니시에이터에 대해 투명하게 노출되고 액세스가능하다. 따라서, 각각의 호스트는 가용한 VLUN들을 통상적으로 식별할 수 있어야 한다. 특히, 호스트는 어떤 SCSI 타겟 포트들이 가용한 지를 결정한다. 호스트는 SCSI 타겟 포트들을 통해 어느 VLUN들이 가용한 지를 상기 SCSI 타겟 포트들에게 물어볼 수 있다.
섬유 채널 네트워크 내에서, 모든 섬유 채널 장치들은 WWN(World Wide Name)을 가진다. 특히, 노드 WWN(NWWN)은 특정 포트에 연결된 노드의 WWN이다. 다시 말해서, NWWN은 시스템, 스토리지 장치, 스위치 포트에 연결된 서브시스템의 WWN이다. 노드 WWN에 추가하여, 포트 WWN(PWWN)은 특정 포트에 대한 주어진 명칭으로 기능한다. 특정 스위치 포트에 대한 섬유 채널 네트워크 ID(FCID)는 한 포트의 물리적 위치를 식별하는 데 사용된다. 각각의 섬유 채널 장치는 NWWN과 PWWN에 의해 독자적으로 식별되는 각각의 포트들로 구성되는 여러개의 포트들을 가질 수 있다.
불행하게도, 섬유 채널 WWN을 이용하는 기존 기구들에 관련된 장점들이 여러 가지 있다. 예를 들어, NWWN과 PWWN은 섬유 채널 장치의 각각의 포트에 대하여 할당될 수 있다. 그러나, 각 포트의 NWWN과 PWWN을 호스트같은 이니시에이터에 대해 노출시키는 것이 바람직하지 못할 수 있다. 더욱이, 가용 포트의 수는 특정 스토리지 장치, 서브시스템, 또는 스위치의 포트들의 수에 제한된다. 마찬가지로, 스토리지 장치, 서브시스템, 또는 스위치가 특정 기억 가상화 기법에 필요한 것보다 많은 수의 포트를 가질 수 있다. 그러나, 가상화 포트의 구현 비용은 비싸고, 이러한 지능형 포트들을 낭비하는 것은 바람직하지 못하다. 따라서, 본 발명에 따르면, 가상화 포트들이 필요에 따라 사용될 수 있다. 다시 말해서, 이 포트들을 가상 인클로저 포트로 묶음으로서, 또는 이 포트들을 트래핑 포트로 구현함으로서, 한 개 이상의 가상 인클로저를 구현하도록 포트들을 선택할 수 있다. 그 결과, 제작 비용이 가장 많이 드는 포트들이 최대 용량에 사용될 수 있다.
발명의 한 실시예에서는, 섬유 채널 네트워크같은 한 네트워크에서의 가상화가 스토리지 서브시스템의 액세스가능 포트의 수에 제한없이 구현된다. 더욱이, SAN 내의 포트들은 특정 스토리지 가상화 기법에 대해 필요한 대로 선택되고 할당될 수 있다. 발명의 여러 실시예들이 아래에 제시된다.
본 발명이 섬유 채널 네트워크에서 어떻게 적용될 수 있는 지를 이해하기 위해, 섬유 채널 네트워크에 WWN 용어를 통상적으로 적용하는 바를 설명하는 것이 도움이 될 것이다. 도 4는 각각의 SCSI 타겟 포트에 대한 NWWN(node world wide name)과 PWWN(port world wide name)을 구현하는 기존의 방법을 설명하는 순서도이다. 도시되는 바와 같이, 호스트(402), 스위치(404), DNS 서버(406), SCSI 타겟 포트(408)간의 상호작용이 해당하는 라벨의 수직선들로 표현된다. 도시되는 바와 같이, 호스트(402)같은 섬유 채널 노드가 조직 스위치(404)에 대한 로직 연결을 구축하도록 하기 위해, 조직 로그인(FLOGI)(410)을 실행한다. 고정 MAC(Media Access Control) 어드레스를 이용하는 여러 LAN 기술들과는 달리, 섬유 채널은 FCID라 불리는 어드레스 식별자를 이용한다. 이는 로그인 중 동적으로 할당된다. 따라서, 스위치(404)는 FCID를 호스트(402)에 제공한다(412). 호스트가 호스트 FCID를 할당받으면, 호스트는 SCSI REPORT 명령을 통해 DNS 서버(406)의 DNS 질의를 실행할 수 있다. 이 REPORT 명령은 호스트에 가용하며 호스트에 노출된 SCSI 타겟을 요청한다(414). 구체적으로, DNS 질의는 호스트 FCID에 노출된 SCSI 타겟들을 결정한다. SCSI 타겟 포트의 FCID는 그후 DNS 서버(406)에 의해 호스트(402)에 제공된다(416).
가용한 SCSI 타겟 포트들의 FCID를 호스트가 가지면, 호스트는 가용 SCSI 타겟 포트들 중 하나에 섬유 채널 프로세스 로그인 명령을 전송한다(418). 이 프로세스 로그인은 섬유 채널을 SCSI로 매핑하는 매핑 층을 구현한다. 이 과정이 완료되면, SCSI 타겟 포트(408)는 섬유 채널 수용 메시지를 전송한다(420). 섬유 채널이 SCSI로 매핑되기 때문에, 호스트는 SCSI 명령을 SCSI 타겟에 전송할 수 있다.
호스트(402)가 SCSI 명령을 SCSI 타겟 포트(408)에 전송할 수 있으면, 호스트(402)는 SCSI 프로세스 로그인 명령을 SCSI 타겟 포트(408)에 전송함으로서 SCSI 프로세스 로그인을 실행한다(422). SCSI 타겟 포트(408)는 SCSI 수용 명령을 전송한다(424). 호스트와 SCSI간의 SCSI 프로토콜을 통한 통신이 이에 따라 구축된다. 예를 들어, 호스트는 어떤 LUN이 가용한 지를 결정할 수 있고, 가용한 LUN에 대한 기입 및 독출을 행할 수 있다.
어느 SCSI 타겟 포트들이 가용한 지, 그리고 이 포트들 각각과 통신할 수 있는 지를 호스트(402)가 알기 때문에, 호스트는 호스트 FCID에 가용한, 즉, 노출된 LUN들을 결정하기 위해 SCSI 타겟 포트(408)에 SCSI REPORT LUN 명령을 전송할 수 있다(426). SCSI 타겟 포트(408)는 어느 LUN이 호스트 FCID에 노출되어 있는 지를결정하고, LUN들의 리스트(가령,PLUN, 또는 VLUN)를 전송한다(428). 호스트(402)는 SCSI 타겟 포트(408)를 통해 특정 PLUN이나 VLUN에 SCSI READ 및 WRITE 명령을 전송할 수 있다(430).
발명의 여러 실시예들에 따르면, 스토리지 가상화는 "가상 인클로저"를 생성함으로서 스토리지 영역 네트워크에서 구현된다. 도 5는 발명의 한 실시예에 따른 일례의 가상 인클로저의 블록도표이다. 가상 인클로저(502)는 한 개 이상의 가상 스토리지 유닛을 표현하거나 "인클로즈"하도록 구성된 가상 실체이다. 예를 들어, 가상 스토리지 유닛 한 개씩이 SAN에서 한 개의 VLUN이나 그 외 다른 스토리지 가상 표현을 포함한다. 상술한 바와 같이, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들(504) 상의 한 개 이상의 물리적 스토리지 위치를 표현한다. 가상 인클로저를 생성함으로서, 상술한 바와 같은 다양한 가상화 포트들이 특정 스토리지 영역 네트워크 내에서 가상화를 지원하기 위해 필요에 따라 구현될 수 있다. 구체적으로, 가상 인클로저는 한 개 이상의 "가상 인클로저 포트"를 가지며, 각각의 가상 인클로저 포트는 스토리지 영역 네트워크 내 한 네트워크 장치의 포트(가령, 가상화 포트)에 연결된다. 예를 들어, 네트워크 장치의 상기 포트는 가상 인클로저 포트에 어드레싱된 메시지들을 취급하도록 정적으로, 또는 동적으로 지시받을 수 있다. 어드레스나 식별자가 각각의 가상 인클로저 포트에 또한 할당된다. 따라서, 가상 인클로저 포트로 어드레싱된 메시지(가령, 패킷이나 프레임)은 이 어드레스나 식별자에 의해 식별될 수 있어서, 한 포트가 특정 가상 인클로저 포트 대신에 메시지들을 인터셉트하고 취급할 수 있다.예를 들어, FCID는 SAN같은 네트워크 내의 다양한 섬유 채널 장치로, 또는 섬유 채널 네트워크에 사용하기 위해 가상 인클로저 포트들 각각에 할당될 수 있다. 이 방식으로, 가상 인클로저는 한 개 이상의 가상 스토리지 유닛들을 나타내도록 생성된다.
SAN 내에서는 여러 다른 가상 SAN(VSAN)을 생성할 수 있다. 단일 스토리지 영역 네트워크 내에 가상 스토리지 영역 네트워크(VSAN)을 구현하는 한가지 방법이 2001년 12월 26일자 미국특허출원(발명의 명칭: Methods and Apparatus for Encapsulating a Frame for Transmission in a Storage Area Network)에 상세하게 기재되어 있다. 그 내용은 본원에서 참고로 전체인용된다. 다시 말해서, 여러 다른 VSAN 사이에 물리적 스토리지 유닛들을 분배하는 것이 바람직하거나 필요할 수 있다. 따라서, 가상 인클로저 포트가 가상화 포트에 묶일 때, 이 선택된 가상화 포트들이 여러 VSAN 사이에 분배될 수 있다.
각각의 가상 인클로저는 어떤 수의 가상 인클로저 포트도 가질 수 있다. 다시 말해서, 가상 인클로저 포트들의 수를 선택가능하게 하는 것이 바람직할 수 있다. 예를 들어, 가상 인클로저를 생성하고 관리하는 데 책임이 있는 시스템 관리자가 가상 인클로저 포트들의 적절한 수를 선택할 수 있다. 중요한 점은, 한 개의 가상 인클로저 내에서의 가상 인클로저 포트들의 수가 스토리지 영역 네트워크 내 특정 네트워크 장치 내 포트들의 수에 의해 제한받지 않는다는 점이다. 구체적으로, 각각의 가상 인클로저 포트는 스토리지 영역 네트워크 내 네트워크 장치의 한 포트에 연계된다. 다시 말해서, 단일 가상 인클로저의 가상 인클로저 포트들은 단일 네트워크 장치보다는, 스토리지 영역 네트워크 내 여러개의 서로 다른 네트워크 장치들의 포트들(가령, 가상화 포트들)에 동시에 연계될 수 있다. 추가적으로, 가상화 포트같은 네트워크 장치의 단일 포트는 여러개의 가상 인클로저 포트들에 동시에 연계되거나 묶일 수 있다. 따라서, 가상 스토리지 유닛들의 가상화에 가용한 포트들의 수가 거의 제한받지 않는다.
상술한 바와 같이, 어드레스나 식별자가 한 개씩 각각의 가상 인클로저 포트에 할당된다. 이론적으로는, 이 어드레스나 식별자가, 가상 인클로저 포트에 차후에 연계되는 스토리지 영역 네트워크의 포트들에 앞서 할당된 어드레스나 식별자일 수 있다. 그러나, 단일 가상화 포트가 여러 가상 인클로저 포트들에 묶일 수 있기 때문에, 상기 포트(가령, 가상화 포트)에 앞서 할당된 어드레스나 식별자가 가상 인클로저 포트를 독자적으로 식별하지 않을 것이다. 따라서, 가상 인클로저 포트를 독자적으로 식별하기 위해 가상 인클로저 포트에 상기 어드레스나 식별자가 할당된다. 이때, 가상 인클로저 포트에 연계된 가상화 포트에 상기 어드레스나 식별자가 할당된다. 한 실시예에 따르면, 가상 인클로저가 섬유 채널 네트워크에 사용되어, 각각의 섬유 채널 장치가 NWWN을 가진다. 이 용어는 가상 인클로저를 구현하기 위한 발명의 여러 실시예들에 따라 이용된다. 따라서, NWWN과 PWWN은 가상 인클로저 포트를 독자적으로 식별하기 위한 어드레스나 식별자로 함께 사용될 수 있다. 특히, NWWN은 가상 인클로저에 연계되어 있다. 추가적으로, PWWN은 각각의 가상 인클로저 포트에 할당된다. NWWN과 PWWN은 FCID같은 어드레스나 식별자를 할당받을 때까지 가상 인클로저 포트를 함께 식별한다.
가상 인클로저가 생성되면, 한 개 이상의 가상 스토리지 유닛들이 가상 인클로저에 할당될 수 있다. 상술한 바와 같이, 각각의 가상 스토리지 유닛들은 스토리지 영역 네트워크의 VLUN이나 그 외 다른 스토리지 표현일 수 있다. 이 방식으로, 가상 인클로저는 상기 가상 스토리지 유닛들을 "인클로즈"하여, 호스트가 가상 인클로저를 통하여 가상 스토리지 유닛들에 액세스하는 것을 요건으로 한다. 이 방식으로, VLUN은 호스트로부터 노출을 막을 수 있다. 다시 말해서, PWWN에 액세스함으로서, 호스트는 특정 장치나 VLUN보다는 가상 인클로저에 단지 액세스할 뿐이다. 구체적으로, VLUN은 가상 인클로저 포트 세트 뒤의 로직 유닛으로 나타난다. 따라서, VLUN을 생성하는 데 사용되는 PLUN들은 호스트로부터 노출되지 않는다.
상술한 바와 같이, 가상화 기능을 구현하도록 구성된 가상화 스위치뿐 아니라 표준 스위치와 함께 스토리지 영역 네트워크가 구현될 수 있다. 각각의 가상화 스위치는 한 개 이상의 "지능형" 가상화 포트와 한 개 이상의 표준 포트를 포함할 수 있다. 도 6은 발명의 여러 실시예에 따라 여러 가상화 포트에 가상 인클로저 포트들을 묶음(binding)으로서 가상 인클로저가 구현되는 일례의 시스템을 설명하는 블록도표이다. 도시되는 바와 같이, 가상 인클로저(602)는 두 개의 가상 스토리지 유닛, VLUN1(604)와 VlUN2(606)을 "인클로즈"한다. 본 예에서, 가상 인클로저(602)는 세 개의 가상 인클로저 포트, VE1(608), VE2(610), VE3(612)를 포함한다. 추가적으로, 스토리지 영역 네트워크 내 네 개의 네트워크 장치들이 도시된다. 즉, 네 개의 가상화 스위치(614, 616, 618, 620)들이 도시된다. 각각의 가상화 스위치는 도 3A에 관련하여 설명한 바와 같이 한 개 이상의 가상화 포트를 가진다. 그러나,설명을 단순화하기 위해, 각각의 가상화 스위치는 한 개씩 가상화 포트(각각 v1, v2, v3, v4)를 가지는 것으로 도시되었다. 각각의 가상화 포트는 관련 PWWN을 가진다. 스위치들간의 통신은 두 스위치(또는 두 포트) 간의 인터스위치 링크(도시되지 않음)에 의해 달성될 수 있다.
각각의 가상 인클로저 포트는 독자적으로 식별된다. 구체적으로, 한 개의 섬유 채널 네트워크 내에서, 가상 인클로저(602)가 NWWN(621)에 의해 식별된다. 추가적으로, 각각의 가상 인클로저 포트가 가상화 포트에 연계되기 때문에, 각각의 가상 인클로저 포트(VE1(608), VE2(610), VE3(612))가 PWWN과 그 FCID(PWWN1(622), PWWN2(624), PWWN3(626))에 의해 추가적으로 식별된다. 특히, 가상 인클로저 포트는 FCID가 가상 인클로저 포트에 할당될 때까지 NWWN과 PWWN에 의해 식별될 수 있다. FCID가 도 8과 관련하여 아래에서 추가적으로 설명될 것이다. 도시되는 바와 같이, 할당되는 FCID는 대응하는 가상 인클로저 포트에 연계된 가상 스위치를 또한 식별한다. 이는 섬유 채널에서, 스위치가 "도메인"으로 나타나기 때문이다. 따라서, 상기 스위치 내 어떤 포트의 FCID의 제 1 바이트는 도메인 ID와 같다. 예를 들어, 제 1 가상 인클로저 포트 VE1(608)에 할당된 FCID의 첫 번째 바이트는 스위치(50)로 도시되는 가상화 스위치(616)를 식별한다. 마찬가지로, 제 2 가상 인클로저 포트 VE2(610)에 할당된 FCID의 첫 번째 바이트는 스위치(55)로 도시되는 가상화 스위치(614)를 식별한다. 제 3 가상 인클로저 포트 VE3(612)에 할당된 FCID의 첫 번째 바이트는 스위치(45)로 도시되는 가상화 스위치(618)를 식별한다.
가상 인클로저(602)같은 가상 인클로저 생성은 가상 인클로저 서버(627)같은네트워크 장치에 의해 실행될 수 있다. 가상 인클로저(602)는 시스템 관리자 등에 의해 생성될 수 있다. 생성되면, VLUN(604, 606)같은 다양한 VLUN들이 가상 인클로저(602)에 할당될 수 있다. 이러한 할당은 추가적인 VLUN을 포함하도록, 가상 인클로저로부터 VLUN을 제거하도록, 그렇지 않으면, 가상 인클로저(602)에 대한 VLUN의 할당을 수정하도록 필요에 따라 수정될 수 있다. 가상 인클로저의 생성, 수정, 유지에 추가하여, 가상 인클로저 서버(627)는 대응하는 가상 인클로저 포트와의 연계성을 가상화 스위치들의 가상화 포트에 알릴 수도 있다. 이 방식으로, 가상화 포트들은 대응하는 가상 인클로저 포트들로 향하는 패킷(또는 프레임)을 인터셉트하거나 취급해야할 책임을 통지받을 수 있다.
가상 인클로저가 생성되면, 한 개 이상의 호스트(628, 630)가 가상 인클로저(602)를 통해 스토리지 영역 네트워크의 데이터에 액세스할 수 있다. 구체적으로, 호스트(628, 630)는 VLUN1(604)과 VLUN2(606)으로 도시되는, 가상 스토리지 유닛에 대응하는, 물리적 스토리지 유닛으로 불리는 다양한 물리적 기억 장치들에 액세스할 수 있다. 예를 들어, 호스트는 가상 인클로저에 의해 인클로즈된 VLUN내의 가상 어드레스에 패킷, 프레임, 또는 메시지를 전송함으로서 스토리지 영역 네트워크 내의 여러 PLUN(632, 634, 636, 638)에 데이터를 독출하거나 기입할 수 있다.
상술한 바와 같이, 가상 인클로저는 다양한 네트워크 환경에서 이용하기 위해 생성될 수 있다. 도 7은 발명의 여러 실시예들에 따라 가상 인클로저를 새성하는 방법을 설명하는 순서도이다. 본 예에서, 가상 인클로저는 섬유 채널 네트워크에 사용하기 위한 것이다. 따라서 블록(702)에 도시되는 바와 같이, 한 개의 NWWN이 가상 인클로저에 연계된다. 추가적으로, 가상 인클로저의 가상 인클로저 포트 수가 선택된다(704). 각각의 가상 인클로저 포트는 가상화 포트로 묶여(706) FCID를 할당(708)받을 때까지 PWWN에 의해 식별될 수 있다. 가상 인클로저가 발생되면, 한 개 이상의 VLUN들이 가상 인클로저에 할당된다(710). 따라서, 호스트가 SAN에 로그인하며(712), 호스트는 SCSI 읽기 및 쓰기 명령을 전송함으로서 가상 인클로저를 통해 물리적 스토리지 유닛에 액세스할 수 있다.
섬유 채널 네트워크 내에서는 각각의 SCSI 타겟 장치가 NWWN을 할당받는다. 더욱이, 각각의 SCSI 타겟 포트에는 PWWN이 할당된다. 추가적으로, 섬유 채널 식별자(FCID)는 각각의 SCSI 타겟 포트의 물리적 위치를 식별하고, 따라서 PWWN에 연계된다. 도 8은 본 발명의 여러 실시예들에 따라 가상 인클로저 포트에 연계될 수 있는 기존 FCID를 설명하는 블록도표이다. FCID는 3바이트 어드레스 식별자로서, 가상화 스위치같은 스위치(802), 네트워크 내 한 영역(804), 그리고 가상화 포트같은 스위치(802)의 포트(806)를 식별한다.
상술한 바와 같이, 가상 인클로저를 생성하기 위해, 각각의 가상 인클로저 포트는 한 개의 가상화 포트에 묶인다. 발명의 다양한 실시예에 따르면, 가상 인클로저 포트들을 가상화 포트에 묶는 것을 조절하는 것은 별도의 네트워크 장치에 의해 실행된다. 예를 들어, 이 네트워크 장치는 한 개의 가상 인클로저를 발생시킬 책임을 가진 가상 인클로저 서버일 수 있다. 다시 말해서, 가상 인클로저 서버는 가상 인클로저 포트에 묶이도록 가상화 포트에게 지시할 수 있고, 따라서, 가상화 포트에 의해 수신한, 가상 인클로저 포트에게로 어드레싱된 모든 메시지들을 취급하여야 한다.
가상 인클로저 포트에 단일 가상화 포트를 묶는 것에 추가하여, 가상 인클로저 포트에게로 어드레싱되는 메시지들을 추가적인 포트들로 하여금 트래핑하는 것이 바람직할 수 있다. 예를 들어, 가상 인클로저 포트에게로 어드레싱되는 메시지를 수신하는 가상화 포트가 상기 가상 인클로저 포트에 묶인 가상화 포트보다 호스트에 가까울 수 있다. 따라서, 적시에 효율적닌 서비스를 제공하기 더 좋을 수 있다. 추가적으로, 가상 인클로저 포트에 묶인 단일 가상 포트에 모든 메시지들을 전달하는 것이 바람직하지 못할 수 있다. 왜냐하면, 이는 제한된 수의 포트에 과부하를 걸어, 효과적이지 못한 서비스를 야기할 수 있기 때문이다. 따라서, 발명의 여러 실시예들에 따르면, 가상 인클로저 서버는 한 개 이상의 가상 인클로저 포트들에 어드레싱되는 메시지들을 "트래핑"하도록 여러 가상화 포트들에 지시한다. 이 방식으로, 메시지를 취급하기 위한 SAN 내 추가적인 가상화 포트들의 출력이 조정된다. 따라서, 한 개의 가상화 포트가 한 개의 가상 인클로저 포트에 묶이지 않더라도, 상기 가상화 포트가 가상 인클로저를 서비스할 수 있다.
"트래핑" 가상화 노드는 SAN에서의 내부 노드라기보다는 외부 노드인 것인 바람직하다. 다시 말해서, 가상화 포트는 한 개 이상의 다른 포트(가령, 표준 포트나 가상화 포트)를 통해 간접적으로 연결되는 것보다 호스트에 직접 연결되어야 한다. 이 직접 연결은 호스트로부터 요청이나 메시지를 내부 노드가 수신할 수 있기 때문에 특히 중요하다. 하지만, 내부 노드가 호스트로 안내되는 타겟으로부터의 메시지를 수신할 수 없다. 왜냐하면 동일 역방향 경로가 보장되지 않기 때문이다. 그결과, 가상화 포트는 "통신 루프"를 완료할 수 없을 것이며, 따라서 호스트 요청이 서비스되는 지 여부에 관한 지식을 가지지 못할 것이다.
발명의 여러 실시예들에 따라 가상 인클로저 바인딩 및 트래핑 기능을 조율하는 한가지 방법이 도 9에 도시된다. 가상 인클로저 서버에서 실행되는 단계들이 수직선(902)로 표현된다. 가상화 포트 1-3에서 실행되는 단계들은 각각 수직선(904, 906, 908)로 표시된다. DNS 서버(912)가 스위치(910)에 자주 포함된다. 가상 인클로저 서버(902)는 SAN 내 스토리지의 가상화를 구현하기 위해 SAN 내에서 다양한 포트에 다양한 가상화 메시지를 전송할 수 있다. 예를 들어, 상술한 바와 같이, 가상화 메시지는 바인드 메시지나 트랩 메시지일 수 있고, 이는 가상 인클로저 포트의 PWWN을 식별한다. 바인드 메시지와 트랩 메시지간의 중요한 차이점은 바인드 메시지는 FCID가 가상 인클로저 포트에 동적으로 할당되어야 함을 표시하며, 반면, 트랩 메시지는 앞서 또다른 가상 인클로저 포트에 할당된 FCID가, 상기 FCID로 향한 메시지들이 수신 포트에 의해 트래핑될 수 있도록 확보되어야 함을 표시하는 데 있다. (914)에 도시되는 바와 같이, 가상 인클로저 서버는 바인드 메시지(914)를 보낸다. 바인드 메시지(914)는 제 1 가상화 포트인 가상화 포트1(904)에게, 가상화 포트1(904)에 의해 수신하는 제 1 가상 인클로저 포트 VEP1으로 향하는 모든 메시지들을 취급하도록 지시한다. 각각의 가상 인클로저 포트(가령, VEP1)은 PWWN에 의해 독자적으로 식별될 수 있다. 가상화 메시지(가령, 바인드 메시지나 트래핑 메시지)는 수신 가상화 포트가 가상 인클로저 포트에 할당된 어드레스나 식별자를 확보하여야 함을 추가적으로 표시할 수 있다. 예를 들어, 가상화 메시지는 어드레스나식별자가 DNS 서버로부터 확보되어야 함을 표시할 수 있다.
바인드 메시지가 수신되면, 가상화 포트1(904)은 FLOGI메시지를 스위치(910)에 보내서(916), 스위치(910)와의 연결을 구축한다. 상술한 바와 같이, FCID는 로그인 중 동적으로 할당된다. 따라서, 스위치(910)가 제 1 가상화 포트 VEP1에 FCID, FCID1을 할당한다. 이는 DNS 서버(912)에 제공되고(918), 이에 따라 가상 인클로저 포트1인 VEP1을 FCID FCID1에 연계시킨다. 스위치(910)는 그후 ACCEPT메시지를 보내서(912), FCID1이 DNS 서버(912)에 의해 제 1 가상 인클로저 포트 VEP1에 연계되어 있음을 표시한다. 추가적으로, 도시되는 바와 같이, ACCEPT메시지는 가상화 포트(904)에 할당된 FCID를 제공한다. 가상화 포트는 가상화 포트가 바인딩되는 가상 인클로저 포트를 기억하고, 메시지 트래핑에 책임이 있는 가상화 포트에 대한 가상 인클로저 포트들을 기억한다. 이 가상 인클로저 포트 정보를 관리하기 위해, 가상화 포트는 도 10을 참고하여 아래에 설명되는 바처럼, 가상화 포트 표에서 FCID, FCID1을 저장할 수 있다. DNS REGISTRY 가 실행되어(922), VEP1이 SCSI 프로토콜을 이해함을 DNS 서버(912)에 알린다. DNS 서버는 ACCEPT 메시지를 전송한다(924). 가상화 응답은 가상화 포트로부터 가상 인클로저 서버에게로 전송된다(926). 이 응답은 가상화 포트가 가상 인클로저의 가상 인클로저 포트에게로 어드레싱되는 메시지들을 취급하도록 지금 설정되어 있다는 점을 표시한다. 본 예에서, 가상화 응답은 가상화 포트가 가상 인클로저 포트에 지금 묶여있다(바인딩되어 있다)는 점을 표시한다. 추가적으로, 가상 인클로저 포트 VEP1에 할당된 FCID는 가상 인클로저 서버에 또한 제공될 수 있어서, 가상 인클로저 서버가 가상 인클로저 포트에 FCID를 할당할 수 있다. 구체적으로, FCID가 가상화 응답으로 제공될 수 있다. 이 방식으로, 가상화 인클로저 서버가 가용한 SCSI 타겟 포트들의 FCID를 획득한다.
SAN 내에서 가상 인클로저 포트들을 가상화 포트들에 바인딩함에 추가하여, 가상 인클로저 서버(902)는 SAN 내의 여러 추가적 가상화 포트에 의한 트래핑을 구축할 수도 있다. 예를 들어, 단계 928에 도시되는 바와 같이, 특정 가상 인클로저 포트에 할당된 어드레스나 식별자에게로 어드레싱되는 메시지들을 가상화 포트2(906)가 취급하여야 함을 표시하는 트래핑 메시지가 전송된다. 가상 인클로저 서버(902)가 가상 인클로저 포트 VEP1에 할당된 FCID를 확보하였기 때문에, 트래핑 메시지에 제공될 수 있다. 대안으로, FCID가 DNS 서버로부터 확보될 수도 있다. 이는 본 예에서 설명될 것이다. 본 예에서, 가상화 포트(906)는 수신되는 특정 가상 인클로저 포트(가령, VEP1)에게로 어드레싱된 메시지들을 취급하도록 지시받는다. 다시 말해서, 가상화 포트(906)는 가상 인클로저 포트에 할당된 어드레스나 식별자에게로 어드레싱된 메시지를 취급하도록 지시받는다. 마찬가지로, 제 2 트랩메시지가 가상화 포트3(908)에 전송되며(930), 제 1 가상 인클로저 포트에게로 어드레싱된 메시지들을 가상화 포트가 취급하여야 함을 표시한다.
가상화 포트2(906)가 트래핑 메시지를 수신할 때(928), 가상화 포트는 DNS 서버(912)에 GET_FCID 메시지를 전송하여(932), 제 1 가상 인클로저 포트 VEP1에 할당된 어드레스나 식별자를 확보한다. 어드레스나 식별자를 수신하면(934), 어드레스나 식별자를 저장한다(936). 구체적으로, 도 10을 참고하여 아래에서 설명되는것처럼 표를 업데이트할 수 있다. 가상화 포트는 가상화 메시지에 따라 호스트에 가상화 응답을 전송한다(938). 예를 들어, 가상 인클로저 포트에게로 어드레싱된 메시지들을 취급하도록 가상화 포트가 성공적으로 구성되었음을 상기 가상화 응답이 표시할 수 있다. 가상화 포트는 단계 940에 도시되는 바와 같이 수신한, 가상 인클로저 포트에게로 어드레싱되는 메시지들을 이제 트래핑할 수 있다.
마찬가지로, 가상화 포트(908)가 트랩 메시지를 수신하면(930), 가상화 포트는 DNS 서버(912)에 GET_FCID 메시지를 전송하여(942), 제 1 가상 인클로저 포트 VEP1에 할당된 어드레스나 식별자를 확보한다. 어드레스나 식별자를 수신하면(944), 이를 저장한다(946). 가상화 포트가 성공적으로 트래핑 포트로 구성되었음을 표시하는 가상화 응답을 가상화 포트가 전송하고(948), 가상화 포트에게로 향하는 메시지들을 트래핑하기 시작한다(950).
상술한 바와 같이, 가상화 포트같은 SAN 내의 포트는 여러개의 가상 인클로저 포트 대신에 메시지들을 취급하도록 설정될 수 있다. 구체적으로, 한 개의 가상화 포트가 여러개의 가상 인클로저 포트에 바인딩될 수 있고, 또한, 여러개의 가상 인클로저 포트에 대한 한 개의 트래핑 포트로 구성될 수 있다. 도 10은 발명의 여러 실시예들에 따라 가상화 포트에 의해 취급될 FCID를 표시하는 가상화 포트에 의해 관리될 수 있는 일례의 표를 표시하는 블록도표이다. 도시되는 바와 같이, 가상화 포트 표(1000)는 메시지를 트래핑하도록 설정되거나 바인딩되는 가상 인클로저 포트들(1002)를 기억하기 위해 가상화 포트에 의해 관리될 수 있다. 각각의 가상 인클로저 포트(1002)의 경우에, 연계된 FCID를 관리한다. 이 방식으로, 가상화 포트는 책임질 대상인 FCID들을 식별할 수 있다. 한 패킷이 가상화 포트가 책임질 대상이 아닌 FCID로 향할 경우, 단순히 패킷을 전달할 뿐이다.
한 개 이상의 가상화 포트가 가상 인클로저 포트 대신에 패킷을 취급하도록 설정되면, 이 포트들이 호스트같은 이니시에이터를 위한 SCSI 타겟으로 기능할 수 있다. 도 11은 발명의 여러 실시예들에 따라 호스트가 한 개 이상의 LUN에 액세스할 수 있도록, 한 개 이상의 가상 인클로저 포트나 트래핑 포트에 바인딩되는 등의 한 개 이상의 가상화 포트와 호스트간의 통신을 구축하는 한가지 방법을 설명하는 순서도이다. 도시되는 바와 같이, 호스트(1102), 스위치(1104), DNS 서버(1106), 그리고 가상화 포트(1108)간의 상호작용이 대응하는 수직선으로 표현된다. 도시되는 바와 같이, 호스트(1102)같은 섬유 채널 노드가 조직 스위치(1104)에 대한 로직 연결을 구축하기 위해, 조직 로그인(FLOGI)(1110)을 실행한다. 상술한 바와 같이, 섬유 채널은 FCID로 불리는 어드레스 식별자를 이용하며, 이는 로그인 중 동적으로 할당된다. 따라서, 스위치(1104)는 호스트(1102)에 FCID를 제공한다(1112). 호스트에 호스트 FCID가 할당되면, 호스트는 SCSI REPORT명령을 통해 DNS 서버(1106)의 DNS 질의를 실행할 수 있고, 이는 호스트에 가용한, 즉, 호스트에 노출된 SCSI 타겟을 요청한다(1114). 구체적으로, DNS 질의는 호스트 FCID에 노출된 SCSI 타겟들을 결정한다. 잠재적 타겟 포트로 한 개 이상의 가상 인클로저 포트들의 FCID가 DNS 서버(1106)에 의해 호스트(1102)에 제공된다(1116).
호스트가 가용한 SCSI 타겟 포트들의 FCID를 가지면, 가용한 가상 인클로저 SCSI 타겟 포트들 중 한 개 이상에 대해 섬유 채널 프로세스 로그인 명령을 전송한다(1118). 상술한 바와 같이, 패킷이 가상 인클로저 폴트에 할당된 FCID에게로 어드레싱되지만, 가상 인클로저 포트 대신에 트래핑되거나 가상 인클로저 포트에 바인딩된 가상화 포트는 이 패킷들을 실제로 취급할 수 있다. 이 프로세스 로그인은 매핑층을 구현하며, 이 매핑층은 섬유 채널을 SCSI로 매핑한다. 완료될 경우, SCSI 가상 인클로저 포트(1108)가 섬유 채널 ACCEPT 메시지를 전송한다(1120). 섬유 채널이 SCSI로 매핑되기 때문에, 호스트는 SCSI 타겟 가상 인클로저 포트에 SCSI 명령을 전송할 수 있다.
호스트(1102)가 가상 인클로저 포트(1108)에 SCSI 명령을 전송할 수 있게 되면, 호스트(1102)는 SCSI 프로세스 로그인 명령을 SCSI 타겟 가상 인클로저 포트(1108)에게로 전송함으로서 SCSI 프로세스 로그인을 실행한다(1122). SCSI 가상 인클로저 포트(1108)는 SCSI ACCEPT 명령(1124)을 전송한다. SCSI 프로토콜을 통한 호스트와 SCSI 타겟 가상 인클로저 포트간의 통신이 이에 따라 구축된다. 예를 들어, 호스트는 어느 LUN이 가용한 지를 결정할 수 있고, 이에 가용한 LUN들에 대한 기입 및 독출을 행할 수 있다.
호스트(1102)가 가용한 SCSI 타겟들(그리고 가상 인클로저 포트들)을 알고 있고 이 포트들 각각과 통신할 수 있기 때문에, 호스트 FCID에 노출된 LUN들을 결정하기 위해 SCSI 타겟 가상 인클로저 포트에 SCSI REPORT LUN 명령을 전송할 수 있다(1126). 예를 들어, 이 LUN들은 가상 인클로저 내의 VLUN들일 수도 있고, 또는 VLUN들의 서브세트일 수도 있다. 구체적으로, 이 REPORT 메시지는 가상 인클로저 포트에 할당된 FCID들에게 전송될 수 있다. 수신 SCSI 타겟 가상 인클로저 포트(1108)는 호스트 FCID에 노출된 LUN들을 결정하며(1128), 한 개 이상의 가용 LUN들을 표시하는 응답 메시지를 전송한다(1130). 수신 가상 인클로저 포트가 실제로, 가상 인클로저 포트 대신에 바운딩되거나 트래핑되는 가상화 포트일 수 있음을 주목하여야 한다. 따라서, 이 가상화 포트들은 LUN 매핑을 실행할 책임도 있다(1128). 한가지 LUN 매핑 방법은 도 12를 참고하여 아래에서 추가적으로 설명될 것이다. 호스트(1102)는 가상 인클로저 포트(1108)를 통해 특정 VLUN에 SCSI READ 및 WRITE 명령을 전송할 수 있다(1132).
트래핑 및 바인딩 메시지같은 가상화 메시지들은 어떤 통신 프로토콜로도 구현될 수 있다. 구현되는 프로토콜은 TCP 소켓이나 DIP(Dynamic Instantiation Protocol)(TCP/IP 상에서 실행됨)같은 신뢰할만한 통신 프로토콜인 것이 바람직하다.
도 12는 LUN 매핑을 실행하기 위해 도 11의 단계 1128에서 사용될 수 있는 일례의 LUN 매핑 표를 도시하는 도표이다. 도시되는 바와 같이, LUN 매핑 표(1200)는 가상 인클로저의 한 개 이상의 가상 인클로저 포트(1206)(가령, FCID)를 통해 노출된 가상 인클로저의 VLUN(1204)을 각각의 이니시에이터(가령, 호스트)(1202)에 대하여 식별하는 데 사용될 수 있다. 예를 들어, LUN0같은 구체적 로직 유닛(1208)은 부트 디스크를 표현하는 데 사용될 수 있다. 각각의 호스트에 대해 서로 다른 부트 디스크를 제공하는 것이 바람직할 수 있기 때문에, 상기 구체적인 가상 인클로저 포트(1206)를 통해 호스트(1202)에 가용하도록 만들어진 한 개 이상의 VLUN(1204)에 상기 구체적인 로직 유닛(1208)이 연계된다. 특정 호스트(1202)에 가용한 가상 인클로저 포트(1206)들이 명시될 수도 있고, 또는, 모든 가상 인클로저 포트들이 호스트에 가용함을 표시하는 데 와일드카드(*)가 사용될 수도 있다. 따라서, 구체적인 로직 유닛(1208)에 대한 요청이 가상 인클로저 포트들 중 하나를 통해 로스트로부터 수신되면, 구체적 로직 유닛(1208)에 연계된 VLUN들이 이 요청을 서비스하는 데 이용된다.
도 13은 도 12의 LUN 매핑 표에 대응하는 가상 인클로저를 표현한다. 도시되는 바와 같이, 가상 인클로저(1302)는 네 개의 VLUN, 즉, A(1304), B(1306), C(1308), 그리고 D(1310)를 표현한다. 가상 인클로저(1302)는 두 개의 가상 인클로저 포트 VEP1(1312)와 VEP2(1314)를 가진다. 도 12에 도시되는 바와 같이, 호스트 H1은 LUN0을 가상 인클로저 포트 상의 VLUN A로 판별하고, 호스트 H2는 LUN0을 가상 인클로저 포트 상의 VLUN B로 판별하며, 호스트 H3는 LUN0을 가상 인클로저 포트 상의 VLUN C로 판별하고, 호스트 H4는 LUN0을 가상 인클로저 포트 0에서의 VLUN D로 판별하며, 호스트 H5는 LUN0을 가상 인클로저 포트 1에서의 VLUN C로 판별한다. 이 방식으로, VLUN의 신원이 호스트에 노출되지 않는다. 따라서, 본 발명은 스토리지 가상화의 추가적 수준을 제공한다.
LUN 매핑 표는 가상 인클로저 서버와 같은 중앙 위치에서 관리되는 것이 바람직하다. 그러나, 한 실시예에 따르면, LUN 매핑 표가 스토리지 영역 네트워크 내 적절한 네트워크 장치들(가령, 가상화 포트들)에 제공되고 또한 주기적으로 분배된다. 예를 들어, LUN 매핑 표는 가상 인클로저 포트에 대한 호스트 로그인에서 분배될 수 있다. 다시 말해서, 가상화 포트에는 가상 인클로저 서버를 통해 로그인 된호스트에 대응하는 LUN 맵이 제공된다.
추가적으로 본 발명은 상술한 실시예에 한정되지 아니한다. 예를 들어, 본 발명은 프레임에 적용되는 것으로 설명된다. 그러나, 본 발명이 이러한 실시예에 제한되는 것이 아니라, 패킷에도 마찬가지로 적용됨을 이해하여야 한다. 더욱이, 본 발명은 구현되는 시스템 및 범위에 상관없이 적용될 수 있다. 따라서, 여러개의 포트들에 의한 바인딩 및 트래핑의 조율은 상술한 바와 같이 가상 인클로저 서버를 이용하여 실행되어야 하는 것이 아니라, 대안의 방식으로 실행될 수도 있다.
추가적으로, 일례의 스위치가 기술되었지만, 상술한 실시예들은 다양한 네트워크 장치(가령, 서버)와 다양한 매체로 구현될 수 있다. 예를 들어, 상술한 발명을 구현하기 위한 명령 및 데이터가 디스크 드라이브, 하드 드라이브, 플라피디스크, 서버 컴퓨터, 또는 원격 네트워크 컴퓨터에 저장될 수 있다.

Claims (52)

  1. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법으로서, 이 방법은,
    - 한 개 이상의 가상 인클로저 포트를 구비한 한 개의 가상 인클로저를 생성하고, 이때, 상기 가상 인클로저는 한 개 이상의 가상 스토리지 유닛을 나타내도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크 내 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치를 표현하고,
    - 가상 인클로저의 가상 인클로저 포트들 각각을, 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트와 연계시키며, 그리고
    - 가상 인클로저 포트 각각에 대해 한 개의 어드레스나 식별자를 할당하는
    단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  2. 제 1 항에 있어서, 가상 인클로저의 가상 인클로저 포트들 각각을, 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트와 연계시키는 상기 단계는, 연계된 가상 인클로저 포트에 할당된 어드레스나 식별자에게로 어드레싱되는 메시지들을 취급하도록, 상기 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에 지시하는 단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  3. 제 1 항에 있어서, 가상 인클로저의 가상 인클로저 포트들 각각을, 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트와 연계시키는 상기 단계는, 연계된 가상 인클로저 포트에 할당된 어드레스나 식별자에게로 어드레싱되는 메시지들을 취급하도록, 가상 SAN(Storage Area Network) 내 한 네트워크 장치의 한 포트에 지시하는 단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  4. 제 1 항에 있어서,
    - NWWN(Node World Wide Name)을 가상 인클로저에 연계시키는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  5. 제 4 항에 있어서,
    - PWWN(Port World Wide Name)을 각각의 가상 인클로저 포트에 할당하여, PWWN이 스토리지 영역 네트워크 내 한 네트워크 장치의 연계된 한 포트에 연계되도록 하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  6. 제 1 항에 있어서, 스토리지 영역 네트워크 내 네트워크 장치의 상기 포트가 섬유 채널 장치의 포트인 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  7. 제 1 항에 있어서, 각각의 가상 인클로저 포트에 한 개의 어드레스나 식별자를 할당하는 상기 단계는, 각각의 가상 인클로저 포트에 FCID(Fiber Channel IDentifier)를 할당하는 단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  8. 제 1 항에 있어서,
    - 가상 인클로저의 다수의 가상 인클로저 포트들을 선택하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  9. 제 8 항에 있어서, 가상 인클로저의 가상 인클로저 포트들의 수가 스토리지 영역 네트워크 내 각각의 네트워크 장치의 포트 수보다 큰 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  10. 제 1 항에 있어서, 가상 인클로저의 가상 인클로저 포트들 각각을 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트와 연계시키는 상기 단계는, 가상 인클로저 포트들을 스토리지 영역 네트워크 내 한 개 이상의 네트워크 장치들의 포트들과 연계시키는 단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  11. 제 1 항에 있어서, 가상 인클로저의 가상 인클로저 포트들 각각을 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트와 연계시키는 상기 단계는, 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트를 가상 인클로저 포트들 중 한 개 이상에 바인딩(binding)하는 단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  12. 제 11 항에 있어서,
    - 가상 인클로저 포트들 중 하나로 향하는 메시지들을 트래핑하도록, 스토리지 영역 네트워크 내 한 개 이상의 네트워크 장치의 한 개 이상의 추가적인 포트들에 지시하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  13. 제 1 항에 있어서, 상기 가상 스토리지 유닛 중 한 개 이상들 각각은 스토리지 영역 네트워크 상의 스토리지의 VLUN(Virtual Logical UNit)이나 그 외 다른 가상 표현을 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  14. 제 1 항에 있어서,
    - 한 개 이상의 가상 스토리지 유닛들을 상기 가상 인클로저에 연계시키는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  15. 제 14 항에 있어서, 한 개 이상의 가상 스토리지 유닛 각각은 스토리지 영역 네트워크 상의 VLUN이나 그 외 다른 가상 표현을 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  16. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 컴퓨터-판독형 명령들을 저장하는 컴퓨터-판독형 매체로서,
    - 한 개 이상의 가상 인클로저 포트를 구비한 한 개의 가상 인클로저를 생성하는 명령으로서, 이때, 상기 가상 인클로저는 한 개 이상의 가상 스토리지 유닛을 나타내도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크 내 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치를 표현하는, 이러한 생성 명령,
    - 가상 인클로저의 가상 인클로저 포트들 각각을, 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트와 연계시키는 명령, 그리고
    - 가상 인클로저 포트 각각에 대해 한 개의 어드레스나 식별자를 할당하는 명령
    을 포함하는 것을 특징으로 하는, 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 컴퓨터-판독형 명령들을 저장하는 컴퓨터-판독형 매체.
  17. 스트로지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 장치로서, 상기 장치는,
    - 한 개 이상의 가상 인클로저 포트를 구비한 한 개의 가상 인클로저를 생성하는 수단으로서, 이때, 상기 가상 인클로저는 한 개 이상의 가상 스토리지 유닛을 나타내도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크 내 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치를 표현하는, 이러한 생성 수단,
    - 가상 인클로저의 가상 인클로저 포트들 각각을, 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트와 연계시키는 수단, 그리고
    - 가상 인클로저 포트 각각에 대해 한 개의 어드레스나 식별자를 할당하는 수단
    을 포함하는 것을 특징으로 하는 스트로지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 장치.
  18. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 네트워크 장치로서,
    상기 네트워크 장치는 한 개의 프로세서와 한 개의 메모리를 포함하고, 이때, 상기 프로세서와 상기 메모리 중 한 개 이상은,
    - 한 개 이상의 가상 인클로저 포트를 구비한 한 개의 가상 인클로저를 생성하고, 이때, 상기 가상 인클로저는 한 개 이상의 가상 스토리지 유닛을 나타내도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크 내 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치를 표현하고,
    - 가상 인클로저의 가상 인클로저 포트들 각각을, 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트와 연계시키며, 그리고
    - 가상 인클로저 포트 각각에 대해 한 개의 어드레스나 식별자를 할당하는
    단계를 실행하도록 구성되는 것을 특징으로 하는 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 네트워크 장치.
  19. 스토리지 영역 네트워크에서 LUN(Logical UNit) 매핑을 실행하는 방법으로서, 상기 방법은,
    - 한 개 이상의 엔트리를 가진 LUN 매핑 표에 액세스하고, 이때, 각각의 엔트리는 가상 인클로저의 한 개 이상의 가상 인클로저 포트들을 통해 스토리지 영역 네트워크 내의 이니시에이터를 식별하고, 그리고, 명시된 한 개의 로직 유닛을 한 개 이상의 가상 스토리지 유닛에 연계시키며, 이때, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛에 대한 한 개 이상의 물리적 스토리지 위치들을 표현하고, 상기 가상 인클로저는 한 개 이상의 가상 스토리지 유닛들의 세트를 표현하도록 구성되고, 각각의 가상 인클로저 포트는 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에 연계되며, 그리고
    - 명시된 로직 유닛에 대한 요청을, 연계된 가상 인클로저 포트들 중 하나를 통해 이니시에이터로부터 수신할 때, LUN 매핑 표에서 엔트리 중 하나를 식별하고 상기 엔트리에 명시된 상기 한 개 이상의 가상 스토리지 유닛들을 이용하여 상기 요청에 대하여 서비스하도록 하는
    단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 LUN(Logical UNit) 매핑을 실행하는 방법.
  20. 스토리지 영역 네트워크에서 LUN 매핑을 실행하기 위한 명령들을 저장하는 컴퓨터-판독형 매체로서,
    - 한 개 이상의 엔트리를 가진 LUN 매핑 표에 액세스하고, 이때, 각각의 엔트리는 가상 인클로저의 한 개 이상의 가상 인클로저 포트들을 통해 스토리지 영역 네트워크 내의 이니시에이터를 식별하고, 그리고, 명시된 한 개의 로직 유닛을 한 개 이상의 가상 스토리지 유닛에 연계시키는 액세스 및 연계 명령으로서, 이때, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛에 대한 한 개 이상의 물리적 스토리지 위치들을 표현하고, 상기 가상 인클로저는 한 개 이상의 가상 스토리지 유닛들의 세트를 표현하도록 구성되고, 각각의 가상 인클로저 포트는 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에연계되는, 이러한 액세스 및 연계 명령, 그리고
    - 명시된 로직 유닛에 대한 요청을, 연계된 가상 인클로저 포트들 중 하나를 통해 이니시에이터로부터 수신할 때, LUN 매핑 표에서 엔트리 중 하나를 식별하고 상기 엔트리에 명시된 상기 한 개 이상의 가상 스토리지 유닛들을 이용하여 상기 요청에 대하여 서비스하도록 하는 명령
    을 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 LUN 매핑을 실행하기 위한 명령들을 저장하는 컴퓨터-판독형 매체.
  21. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법으로서, 이 방법은,
    - 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에 한 개의 가상화 메시지를 전송하고, 이때, 상기 가상화 메시지는 가상 인클로저의 가상 인클로저 포트에게로 어드레싱되는 메시지를 취급하도록 상기 포트에 지시하며, 상기 가상 인클로저는 한 개 이상의 가상 인클로저 포트들을 구비하고 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에서의 한 개 이상의 물리적 스토리지 위치들을 표현하며, 그리고
    - 상기 가상화 메시지에 따라 네트워크 장치의 상기 포트로부터 가상화 응답을 수신하는
    단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지가상화를 구현하는 방법.
  22. 제 21 항에 있어서, 가상 인클로저 포트가 NWWN과 PWWN에 의해 식별되는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  23. 제 21 항에 있어서, 상기 포트가 가상 인클로저의 가상 인클로저 포트에게로 어드레싱되는 메시지들을 취급하도록 구성됨을 상기 가상화 응답이 표시하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  24. 제 21 항에 있어서, 상기 포트가 상기 가상 인클로저 포트에 할당된 어드레스나 식별자를 확보하여야 함을 상기 가상화 메시지가 표시하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  25. 제 24 항에 있어서, 상기 가상화 메시지가 바인딩(binding) 메시지나 트래핑(trapping) 메시지인 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  26. 제 24 항에 있어서, 상기 가상화 응답이 가상 인클로저 포트에 할당된 상기 어드레스나 식별자를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  27. 제 21 항에 있어서, 상기 포트가 DNS 서버로부터 상기 가상 인클로저 포트에 할당된 어드레스나 식별자를 확보하여야 함을 상기 가상화 메시지가 표시하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  28. 제 24 항에 있어서,
    - 가상 인클로저 포트에 할당된 상기 어드레스나 식별자를 수신하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  29. 제 24 항에 있어서, 상기 어드레스나 식별자가 FCID(Fiber Channel IDentifier)인 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  30. 제 21 항에 있어서, 상기 포트가 가상 인클로저 포트에 할당된 어드레스나 식별자로 어드레싱되는 메시지들을 취급하여야 함을 상기 가상화 메시지가 표시하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  31. 제 30 항에 있어서, 상기 어드레스나 식별자가 FCID인 것을 특징으로 하는스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  32. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 컴퓨터-판독형 명령들을 저장하는 컴퓨터-판독형 매체로서,
    - 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에 한 개의 가상화 메시지를 전송하는 명령으로서, 이때, 상기 가상화 메시지는 가상 인클로저의 가상 인클로저 포트에게로 어드레싱되는 메시지를 취급하도록 상기 포트에 지시하며, 상기 가상 인클로저는 한 개 이상의 가상 인클로저 포트들을 구비하고 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에서의 한 개 이상의 물리적 스토리지 위치들을 표현하는, 이러한 전송 명령, 그리고
    - 상기 가상화 메시지에 따라 네트워크 장치의 상기 포트로부터 가상화 응답을 수신하는 명령
    을 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 컴퓨터-판독형 명령들을 저장하는 컴퓨터-판독형 매체.
  33. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 장치로서, 이 장치는,
    - 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에 한 개의 가상화 메시지를 전송하는 수단으로서, 이때, 상기 가상화 메시지는 가상 인클로저의 가상인클로저 포트에게로 어드레싱되는 메시지를 취급하도록 상기 포트에 지시하며, 상기 가상 인클로저는 한 개 이상의 가상 인클로저 포트들을 구비하고 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에서의 한 개 이상의 물리적 스토리지 위치들을 표현하는, 이러한 전송 수단, 그리고
    - 상기 가상화 메시지에 따라 네트워크 장치의 상기 포트로부터 가상화 응답을 수신하는 수단
    을 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 장치.
  34. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 장치로서,
    상기 장치는 한 개의 프로세서와 한 개의 메모리를 포함하고,
    상기 프로세서와 상기 메모리 중 한 개 이상은,
    - 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에 한 개의 가상화 메시지를 전송하고, 이때, 상기 가상화 메시지는 가상 인클로저의 가상 인클로저 포트에게로 어드레싱되는 메시지를 취급하도록 상기 포트에 지시하며, 상기 가상 인클로저는 한 개 이상의 가상 인클로저 포트들을 구비하고 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에서의 한 개 이상의 물리적 스토리지 위치들을 표현하며, 그리고
    - 상기 가상화 메시지에 따라 네트워크 장치의 상기 포트로부터 가상화 응답을 수신하는
    단계들을 실행하도록 구성되는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 장치.
  35. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법으로서, 이 방법은,
    - 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에서 가상화 메시지를 수신하고, 이때, 상기 가상화 메시지는 가상 인클로저의 한 개의 가상 인클로저 포트에게로 어드레싱되는 메시지들을 취급하도록 상기 포트에 지시하며, 상기 가상 인클로저는 한 개 이상의 가상 인클로저 포트를 구비하고 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치를 표현하고, 그리고
    - 상기 가상화 메시지에 따라 네트워크 장치의 상기 포트로부터 가상화 응답을 전송하는
    단계를 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  36. 제 35 항에 있어서, 상기 포트가 가상 인클로저 포트에 할당된 어드레스나식별자를 확보하여야 함을 표시하며, 이때, 상기 방법은,
    - 가상 인클로저 포트에 할당된 상기 어드레스나 식별자를 확보하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  37. 제 36 항에 있어서,
    - 상기 어드레스나 식별자를 저장하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  38. 제 35 항에 있어서, 상기 포트가 DNS 서버로부터 가상 인클로저 포트에 할당된 어드레스나 식별자를 확보하여야 함을 표시하고, 이때, 상기 방법은,
    - 가상 인클로저 포트에 할당된 상기 어드레스나 식별자를 확보하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  39. 제 36 항에 있어서,
    - 상기 가상 인클로저 포트에 할당된 상기 어드레스나 식별자를 전송하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  40. 제 36 항에 있어서, 상기 어드레스나 식별자가 FCID인 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  41. 제 35 항에 있어서, 상기 포트가 상기 가상 인클로저 포트에 할당된 어드레스나 식별자에게로 어드레싱되는 메시지들을 취급하여야 함을 표시하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  42. 제 41 항에 있어서, 상기 어드레스나 식별자가 FCID인 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  43. 제 41 항에 있어서,
    - 상기 가상 인클로저 포트에 할당된 상기 어드레스나 식별자에게로 어드레싱되는 메시지들을 취급하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  44. 제 35 항에 있어서,
    - 상기 가상 인클로저의 상기 가상 인클로저 포트에게로 어드레싱되는 메시지들을 취급하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  45. 제 36 항에 있어서, 상기 가상 인클로저 포트에 할당된 상기 어드레스나 식별자에게로 어드레싱되는 메시지들을 취급하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  46. 제 35 항에 있어서,
    - 가상 인클로저 포트들 중 하나에 할당된 어드레스나 식별자에 의해 뒷받침되는 가상 스토리지 유닛들 중 한 개 이상에 대한 신원을 요청하는 리포트 메시지를 수신하고,
    - 가상 스토리지 유닛들 중 한 개 이상을 식별하는 응답 메시지를 전송하는
    단계를 추가로 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  47. 제 46 항에 있어서, 상기 어드레스나 식별자가 FCID인 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  48. 제 46 항에 있어서, 가상 스토리지 유닛들 중 한 개 이상이 스토리지 영역네트워크 상의 VLUN이나 그외 다른 스토리지 가상 표현을 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  49. 제 46 항에 있어서, 응답 메시지에서 식별된 가상 스토리지 유닛 중 한 개 이상이 리포트 메시지를 전송하는 이니시에이터에게 노출되는 가상 스토리지 유닛인 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하는 방법.
  50. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 컴퓨터 판독형 명령들을 저장하는 컴퓨터 판독형 매체로서,
    - 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에서 가상화 메시지를 수신하는 수신 명령으로서, 이때, 상기 가상화 메시지는 가상 인클로저의 한 개의 가상 인클로저 포트에게로 어드레싱되는 메시지들을 취급하도록 상기 포트에 지시하며, 상기 가상 인클로저는 한 개 이상의 가상 인클로저 포트를 구비하고 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치를 표현하는, 이러한 수신 명령, 그리고
    - 상기 가상화 메시지에 따라 네트워크 장치의 상기 포트로부터 가상화 응답을 전송하는 전송 명령
    을 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 컴퓨터 판독형 명령들을 저장하는 컴퓨터 판독형 매체.
  51. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 네트워크 장치로서, 상기 네트워크 장치는,
    - 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에서 가상화 메시지를 수신하는 수신 수단으로서, 이때, 상기 가상화 메시지는 가상 인클로저의 한 개의 가상 인클로저 포트에게로 어드레싱되는 메시지들을 취급하도록 상기 포트에 지시하며, 상기 가상 인클로저는 한 개 이상의 가상 인클로저 포트를 구비하고 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치를 표현하는, 이러한 수신 수단, 그리고
    - 상기 가상화 메시지에 따라 네트워크 장치의 상기 포트로부터 가상화 응답을 전송하는 전송 수단
    을 포함하는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 네트워크 장치.
  52. 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 네트워크 장치로서,
    상기 네트워크 장치는 한 개의 프로세서와 한 개의 메모리를 포함하고,
    상기 프로세서와 상기 메모리 중 한 개 이상은,
    - 스토리지 영역 네트워크 내 한 네트워크 장치의 한 포트에서 가상화 메시지를 수신하고, 이때, 상기 가상화 메시지는 가상 인클로저의 한 개의 가상 인클로저 포트에게로 어드레싱되는 메시지들을 취급하도록 상기 포트에 지시하며, 상기 가상 인클로저는 한 개 이상의 가상 인클로저 포트를 구비하고 한 개 이상의 가상 스토리지 유닛들을 표현하도록 구성되며, 각각의 가상 스토리지 유닛은 스토리지 영역 네트워크의 한 개 이상의 물리적 스토리지 유닛들에 대한 한 개 이상의 물리적 스토리지 위치를 표현하고, 그리고
    - 상기 가상화 메시지에 따라 네트워크 장치의 상기 포트로부터 가상화 응답을 전송하는
    단계들을 실행하도록 구성되는 것을 특징으로 하는 스토리지 영역 네트워크에서 스토리지 가상화를 구현하기 위한 네트워크 장치.
KR1020047010745A 2002-01-09 2002-12-23 가상 인클로저를 통한 스토리지 영역 네트워크 내의스토리지 가상화 구현 방법 및 장치 KR100927748B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/045,883 2002-01-09
US10/045,883 US7548975B2 (en) 2002-01-09 2002-01-09 Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure
PCT/US2002/041079 WO2003060688A2 (en) 2002-01-09 2002-12-23 Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure

Publications (2)

Publication Number Publication Date
KR20040068368A true KR20040068368A (ko) 2004-07-30
KR100927748B1 KR100927748B1 (ko) 2009-11-20

Family

ID=21940363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047010745A KR100927748B1 (ko) 2002-01-09 2002-12-23 가상 인클로저를 통한 스토리지 영역 네트워크 내의스토리지 가상화 구현 방법 및 장치

Country Status (8)

Country Link
US (1) US7548975B2 (ko)
EP (1) EP1502179A2 (ko)
JP (1) JP4372553B2 (ko)
KR (1) KR100927748B1 (ko)
CN (1) CN1311326C (ko)
AU (1) AU2002361837B2 (ko)
CA (1) CA2472992C (ko)
WO (1) WO2003060688A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007011164A1 (en) * 2005-07-21 2007-01-25 Kyungpook National University Industry-Academic Cooperation Foundation Virtual storage system and method for managementing virtual storage based on ad-hoc network
KR100786895B1 (ko) * 2004-11-09 2007-12-17 후지쯔 가부시끼가이샤 스토리지 가상화 장치

Families Citing this family (175)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171453B2 (en) * 2001-04-19 2007-01-30 Hitachi, Ltd. Virtual private volume method and system
JP4484396B2 (ja) * 2001-05-18 2010-06-16 株式会社日立製作所 タービン動翼
US7472231B1 (en) 2001-09-07 2008-12-30 Netapp, Inc. Storage area network data cache
US7171434B2 (en) * 2001-09-07 2007-01-30 Network Appliance, Inc. Detecting unavailability of primary central processing element, each backup central processing element associated with a group of virtual logic units and quiescing I/O operations of the primary central processing element in a storage virtualization system
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US20090259816A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Techniques for Improving Mirroring Operations Implemented In Storage Area Networks and Network Based Virtualization
US20090259817A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
US20070094466A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
US9009427B2 (en) 2001-12-26 2015-04-14 Cisco Technology, Inc. Mirroring mechanisms for storage area networks and network based virtualization
US6934799B2 (en) * 2002-01-18 2005-08-23 International Business Machines Corporation Virtualization of iSCSI storage
US6954839B2 (en) * 2002-03-13 2005-10-11 Hitachi, Ltd. Computer system
US6880052B2 (en) * 2002-03-26 2005-04-12 Hewlett-Packard Development Company, Lp Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes
JP2003296037A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 計算機システム
US9344235B1 (en) * 2002-06-07 2016-05-17 Datacore Software Corporation Network managed volumes
US8200871B2 (en) * 2002-06-28 2012-06-12 Brocade Communications Systems, Inc. Systems and methods for scalable distributed storage processing
US7237045B2 (en) * 2002-06-28 2007-06-26 Brocade Communications Systems, Inc. Apparatus and method for storage processing through scalable port processors
US7353305B2 (en) * 2002-06-28 2008-04-01 Brocade Communications Systems, Inc. Apparatus and method for data virtualization in a storage processing device
US7752361B2 (en) * 2002-06-28 2010-07-06 Brocade Communications Systems, Inc. Apparatus and method for data migration in a storage processing device
US9787524B1 (en) * 2002-07-23 2017-10-10 Brocade Communications Systems, Inc. Fibre channel virtual host bus adapter
US7120728B2 (en) * 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7269168B2 (en) * 2002-07-31 2007-09-11 Brocade Communications Systems, Inc. Host bus adaptor-based virtualization switch
US7616631B2 (en) * 2002-08-14 2009-11-10 Lsi Corporation Method and apparatus for debugging protocol traffic between devices in integrated subsystems
US7725568B2 (en) * 2002-09-09 2010-05-25 Netapp, Inc. Method and apparatus for network storage flow control
US8805918B1 (en) 2002-09-11 2014-08-12 Cisco Technology, Inc. Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network
US7774444B1 (en) * 2002-10-16 2010-08-10 Symantec Operating Corporation SAN simulator
JP4139675B2 (ja) * 2002-11-14 2008-08-27 株式会社日立製作所 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
US7263593B2 (en) 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP2004192105A (ja) * 2002-12-09 2004-07-08 Hitachi Ltd 記憶装置の接続装置およびそれを含むコンピュータシステム
US7782784B2 (en) 2003-01-10 2010-08-24 Cisco Technology, Inc. Port analyzer adapter
US7899048B1 (en) 2003-01-15 2011-03-01 Cisco Technology, Inc. Method and apparatus for remotely monitoring network traffic through a generic network
US7606239B2 (en) * 2003-01-31 2009-10-20 Brocade Communications Systems, Inc. Method and apparatus for providing virtual ports with attached virtual devices in a storage area network
JP4237515B2 (ja) * 2003-02-07 2009-03-11 株式会社日立グローバルストレージテクノロジーズ ネットワークストレージ仮想化方法およびネットワークストレージシステム
US7382776B1 (en) 2003-04-15 2008-06-03 Brocade Communication Systems, Inc. Performing block storage virtualization at a switch
US7460528B1 (en) 2003-04-15 2008-12-02 Brocade Communications Systems, Inc. Processing data packets at a storage service module of a switch
US7739543B1 (en) * 2003-04-23 2010-06-15 Netapp, Inc. System and method for transport-level failover for loosely coupled iSCSI target devices
JP4278444B2 (ja) * 2003-06-17 2009-06-17 株式会社日立製作所 仮想ポート名の管理装置
US7523201B2 (en) * 2003-07-14 2009-04-21 Network Appliance, Inc. System and method for optimized lun masking
US8239552B2 (en) * 2003-08-21 2012-08-07 Microsoft Corporation Providing client access to devices over a network
US7474666B2 (en) 2003-09-03 2009-01-06 Cisco Technology, Inc. Switch port analyzers
US8165136B1 (en) 2003-09-03 2012-04-24 Cisco Technology, Inc. Virtual port based SPAN
US20050071560A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corp. Autonomic block-level hierarchical storage management for storage networks
US7359993B1 (en) * 2003-10-03 2008-04-15 Nortel Networks Ltd. Method and apparatus for interfacing external resources with a network element
US7734748B1 (en) * 2003-10-03 2010-06-08 Nortel Networks Limited Method and apparatus for intelligent management of a network element
JP4257783B2 (ja) * 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
US20050091426A1 (en) * 2003-10-23 2005-04-28 Horn Robert L. Optimized port selection for command completion in a multi-ported storage controller system
US20050114464A1 (en) * 2003-10-27 2005-05-26 Shai Amir Virtualization switch and method for performing virtualization in the data-path
US7669032B2 (en) * 2003-11-26 2010-02-23 Symantec Operating Corporation Host-based virtualization optimizations in storage environments employing off-host storage virtualization
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US7934023B2 (en) * 2003-12-01 2011-04-26 Cisco Technology, Inc. Apparatus and method for performing fast fibre channel write operations over relatively high latency networks
US20050138184A1 (en) * 2003-12-19 2005-06-23 Sanrad Ltd. Efficient method for sharing data between independent clusters of virtualization switches
JP2005190036A (ja) * 2003-12-25 2005-07-14 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
JP4463042B2 (ja) * 2003-12-26 2010-05-12 株式会社日立製作所 ボリュームの動的割り付け機能を有する記憶装置システム
JP4227035B2 (ja) 2004-02-03 2009-02-18 株式会社日立製作所 計算機システム、管理装置、ストレージ装置及びコンピュータ装置
JP2005267008A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
US20050223180A1 (en) * 2004-03-31 2005-10-06 Philip Derbeko Accelerating the execution of I/O operations in a storage system
US7437506B1 (en) * 2004-04-26 2008-10-14 Symantec Operating Corporation Method and system for virtual storage element placement within a storage area network
JP2005316548A (ja) * 2004-04-27 2005-11-10 Hitachi Ltd 複数種のストレージネットワークを有する計算機システムおよび情報設定方法
JP4230410B2 (ja) * 2004-05-11 2009-02-25 株式会社日立製作所 仮想ストレージの通信品質制御装置
JP2006024024A (ja) * 2004-07-08 2006-01-26 Toshiba Corp 論理ディスク管理方法及び装置
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US20060101204A1 (en) * 2004-08-25 2006-05-11 Bao Bill Q Storage virtualization
US20060161810A1 (en) * 2004-08-25 2006-07-20 Bao Bill Q Remote replication
JP4646574B2 (ja) * 2004-08-30 2011-03-09 株式会社日立製作所 データ処理システム
US20060047850A1 (en) * 2004-08-31 2006-03-02 Singh Bhasin Harinder P Multi-chassis, multi-path storage solutions in storage area networks
US7062624B2 (en) * 2004-09-29 2006-06-13 Hitachi, Ltd. Method for managing volume groups considering storage tiers
US7571274B2 (en) * 2004-12-30 2009-08-04 Intel Corporation Method and system for virtual enclosure management
US20060271706A1 (en) * 2005-05-24 2006-11-30 Dugan Robert J Method, apparatus, and computer program product for requesting deterministic virtual address identifiers for nodes in a fibre channel network
US8037026B1 (en) * 2005-07-01 2011-10-11 Hewlett-Packard Development Company, L.P. Protected user-controllable volume snapshots
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US8127059B1 (en) * 2005-09-02 2012-02-28 Pmc-Sierra Us, Inc. Apparatus for interconnecting hosts with storage devices
US8107467B1 (en) * 2005-09-30 2012-01-31 Emc Corporation Full array non-disruptive failover
US8072987B1 (en) 2005-09-30 2011-12-06 Emc Corporation Full array non-disruptive data migration
US20070088917A1 (en) * 2005-10-14 2007-04-19 Ranaweera Samantha L System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems
US7644179B1 (en) 2005-12-01 2010-01-05 Cisco Technology, Inc. Inter-VSAN routing with NAT
US7882562B2 (en) * 2005-12-15 2011-02-01 International Business Machines Corporation Apparatus, system, and method for deploying iSCSI parameters to a diskless computing device
US8001267B2 (en) * 2005-12-15 2011-08-16 International Business Machines Corporation Apparatus, system, and method for automatically verifying access to a multipathed target at boot time
US8166166B2 (en) * 2005-12-15 2012-04-24 International Business Machines Corporation Apparatus system and method for distributing configuration parameter
US7769023B2 (en) * 2005-12-21 2010-08-03 Cisco Technology, Inc. Fibre channel traffic redirect scheme using access control lists
US7697515B2 (en) * 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array
US7697554B1 (en) * 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array by replacing virtual names
US7500134B2 (en) * 2005-12-27 2009-03-03 Emc Corporation Virtual array failover
US9348530B2 (en) * 2005-12-27 2016-05-24 Emc Corporation Presentation of virtual arrays using n-port ID virtualization
US7685395B1 (en) 2005-12-27 2010-03-23 Emc Corporation Spanning virtual arrays across multiple physical storage arrays
US7631143B1 (en) * 2006-01-03 2009-12-08 Emc Corporation Data storage system employing virtual disk enclosure
US7549017B2 (en) * 2006-03-07 2009-06-16 Cisco Technology, Inc. Methods and apparatus for selecting a virtualization engine
CN100423491C (zh) * 2006-03-08 2008-10-01 杭州华三通信技术有限公司 虚拟化网络存储系统及其网络存储设备
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US8274993B2 (en) * 2006-06-16 2012-09-25 Cisco Technology, Inc. Fibre channel dynamic zoning
US8539177B1 (en) * 2006-06-29 2013-09-17 Emc Corporation Partitioning of a storage array into N-storage arrays using virtual array non-disruptive data migration
US8583861B1 (en) * 2006-06-29 2013-11-12 Emc Corporation Presentation of management functionality of virtual arrays
US8533408B1 (en) * 2006-06-29 2013-09-10 Emc Corporation Consolidating N-storage arrays into one storage array using virtual array non-disruptive data migration
US8452928B1 (en) * 2006-06-29 2013-05-28 Emc Corporation Virtual array non-disruptive migration of extended storage functionality
US7757059B1 (en) 2006-06-29 2010-07-13 Emc Corporation Virtual array non-disruptive management data migration
US8589504B1 (en) 2006-06-29 2013-11-19 Emc Corporation Full array non-disruptive management data migration
JP5087249B2 (ja) * 2006-09-06 2012-12-05 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法
US7761738B2 (en) * 2006-09-07 2010-07-20 International Business Machines Corporation Establishing communications across virtual enclosure boundaries
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
JP5081441B2 (ja) * 2006-12-13 2012-11-28 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
US8489811B1 (en) * 2006-12-29 2013-07-16 Netapp, Inc. System and method for addressing data containers using data set identifiers
US7711979B2 (en) * 2007-02-16 2010-05-04 Symantec Corporation Method and apparatus for flexible access to storage facilities
US7958263B2 (en) * 2007-02-20 2011-06-07 International Business Machines Corporation Address reduction for data storage enclosures
US8312046B1 (en) 2007-02-28 2012-11-13 Netapp, Inc. System and method for enabling a data container to appear in a plurality of locations in a super-namespace
US8661518B2 (en) * 2007-06-13 2014-02-25 Cisco Technology, Inc. N-port ID virtualization (NPIV) proxy module, NPIV proxy switching system and methods
US7856022B1 (en) * 2007-06-28 2010-12-21 Emc Corporation Non-disruptive data migration with external virtualization engine
US9063896B1 (en) 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between virtual arrays of heterogeneous storage arrays
US9063895B1 (en) 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between heterogeneous storage arrays
US9098211B1 (en) * 2007-06-29 2015-08-04 Emc Corporation System and method of non-disruptive data migration between a full storage array and one or more virtual arrays
US8131857B2 (en) * 2007-07-11 2012-03-06 Cisco Technology, Inc. Fibre channel intelligent target management system
US8209365B2 (en) * 2007-07-23 2012-06-26 Hewlett-Packard Development Company, L.P. Technique for virtualizing storage using stateless servers
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8028062B1 (en) * 2007-12-26 2011-09-27 Emc Corporation Non-disruptive data mobility using virtual storage area networks with split-path virtualization
US8380674B1 (en) * 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US10108460B2 (en) * 2008-02-28 2018-10-23 International Business Machines Corporation Method and system for integrated deployment planning for virtual appliances
US8914540B1 (en) * 2008-07-01 2014-12-16 Cisco Technology, Inc. Multi-fabric SAN based data migration
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
CN102045603B (zh) * 2009-10-19 2013-09-11 杭州华三通信技术有限公司 光纤通道端口协商方法以及光纤通道交换机系统
US20110153905A1 (en) * 2009-12-23 2011-06-23 Hitachi, Ltd. Method and apparatus for i/o path switching
JP5444464B2 (ja) * 2010-01-14 2014-03-19 株式会社日立製作所 ストレージシステム
US8473947B2 (en) * 2010-01-18 2013-06-25 Vmware, Inc. Method for configuring a physical adapter with virtual function (VF) and physical function (PF) for controlling address translation between virtual disks and physical storage regions
US8402196B2 (en) * 2010-03-04 2013-03-19 Xyratex Technology Limited Storage assembly, a physical expander and a method
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
CN102412978B (zh) * 2010-09-21 2014-04-16 杭州华三通信技术有限公司 一种针对虚拟主机进行网络配置的方法和系统
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US8719253B2 (en) * 2010-12-01 2014-05-06 Cisco Technology, Inc. Method and apparatus for efficiently organizing hierarchical QoS policies
US8725691B1 (en) * 2010-12-16 2014-05-13 Emc Corporation Dynamic LUN resizing in a replication environment
US20120155461A1 (en) * 2010-12-16 2012-06-21 Electronics And Telecommunications Research Institute Apparatus for managing virtual network
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US8712962B1 (en) * 2011-12-01 2014-04-29 Emc Corporation Snapshots in de-duplication
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
CN102662610B (zh) * 2012-04-20 2016-05-11 中国科学院遥感应用研究所 一种遥感影像数据管理系统及方法
US9064216B2 (en) * 2012-06-06 2015-06-23 Juniper Networks, Inc. Identifying likely faulty components in a distributed system
US9819737B2 (en) 2012-08-23 2017-11-14 Cisco Technology, Inc. System and method for policy based fibre channel zoning for virtualized and stateless computing in a network environment
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
US9304875B2 (en) * 2012-11-30 2016-04-05 International Business Machines Corporation Dynamically tracking logical units moving between input/output ports of a storage area network target
US10013185B2 (en) * 2013-03-15 2018-07-03 Srinivasan Viswanathan Mapping systems and methods of an accelerated application-oriented middleware layer
US9503523B2 (en) * 2013-09-20 2016-11-22 Cisco Technology, Inc. Hybrid fibre channel storage with end-to-end storage provisioning and external connectivity in a storage area network environment
CN104636076B (zh) * 2013-11-15 2017-12-05 中国电信股份有限公司 一种用于云存储的分布式块设备驱动方法和系统
CN104750427B (zh) * 2013-12-27 2019-05-17 伊姆西公司 存储设备及其方法
US9933946B2 (en) 2014-09-15 2018-04-03 Hewlett Packard Enterprise Development Lp Fibre channel storage array methods for port management
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US20160277498A1 (en) * 2015-03-20 2016-09-22 Intel Corporation Location and boundary controls for storage volumes
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
JP6734058B2 (ja) 2016-01-27 2020-08-05 株式会社バイオス 制御装置
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US11070512B2 (en) * 2017-02-10 2021-07-20 International Business Machines Corporation Server port virtualization for guest logical unit number (LUN) masking in a host direct attach configuration
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US10560525B2 (en) 2017-06-21 2020-02-11 Juniper Networks, Inc. Synchronization between virtual network functions and host systems
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
CN110502184B (zh) * 2018-05-17 2021-01-05 杭州海康威视系统技术有限公司 一种存储数据的方法、读取数据的方法、装置及系统
CN108920101B (zh) * 2018-06-27 2021-03-30 河北工业大学 一种软硬协同动态负载存储方法
US11137913B2 (en) 2019-10-04 2021-10-05 Hewlett Packard Enterprise Development Lp Generation of a packaged version of an IO request
CN113297116A (zh) * 2020-04-08 2021-08-24 阿里巴巴集团控股有限公司 信息配置方法、端口访问方法、设备及存储介质
US11119965B1 (en) 2020-04-20 2021-09-14 International Business Machines Corporation Virtualized fabric controller for a storage area network
US11709699B2 (en) 2020-11-24 2023-07-25 International Business Machines Corporation Virtualized fabric name server for storage area network
US11683372B2 (en) 2020-11-24 2023-06-20 International Business Machines Corporation Virtualized fabric management server for storage area network
US11522814B2 (en) 2020-11-24 2022-12-06 International Business Machines Corporation Virtualized fabric login server for storage area network

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617421A (en) * 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US5809285A (en) * 1995-12-21 1998-09-15 Compaq Computer Corporation Computer system having a virtual drive array controller
US6035105A (en) * 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
US5740171A (en) * 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US5764636A (en) * 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
US5742604A (en) * 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
ATE262196T1 (de) * 1996-08-02 2004-04-15 Hewlett Packard Co Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
US6202135B1 (en) * 1996-12-23 2001-03-13 Emc Corporation System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility
US6209059B1 (en) * 1997-09-25 2001-03-27 Emc Corporation Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system
US6188694B1 (en) * 1997-12-23 2001-02-13 Cisco Technology, Inc. Shared spanning tree protocol
US6208649B1 (en) * 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6148414A (en) 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
US6266705B1 (en) * 1998-09-29 2001-07-24 Cisco Systems, Inc. Look up mechanism and associated hash table for a network switch
US6226771B1 (en) * 1998-12-14 2001-05-01 Cisco Technology, Inc. Method and apparatus for generating error detection data for encapsulated frames
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
JP2000242434A (ja) 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
US6400730B1 (en) * 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6877044B2 (en) * 2000-02-10 2005-04-05 Vicom Systems, Inc. Distributed storage management platform architecture
US20020103889A1 (en) * 2000-02-11 2002-08-01 Thomas Markson Virtual storage layer approach for dynamically associating computer storage with processing hosts
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
US6898670B2 (en) * 2000-04-18 2005-05-24 Storeage Networking Technologies Storage virtualization in a storage area network
US6772231B2 (en) * 2000-06-02 2004-08-03 Hewlett-Packard Development Company, L.P. Structure and process for distributing SCSI LUN semantics across parallel distributed components
US6779094B2 (en) * 2000-06-19 2004-08-17 Storage Technology Corporation Apparatus and method for instant copy of data by writing new data to an additional physical storage area
US6952734B1 (en) * 2000-08-21 2005-10-04 Hewlett-Packard Development Company, L.P. Method for recovery of paths between storage area network nodes with probationary period and desperation repair
US6847647B1 (en) * 2000-09-26 2005-01-25 Hewlett-Packard Development Company, L.P. Method and apparatus for distributing traffic over multiple switched fiber channel routes
US6978300B1 (en) * 2000-10-19 2005-12-20 International Business Machines Corporation Method and apparatus to perform fabric management
US7165096B2 (en) * 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
US6857059B2 (en) * 2001-01-11 2005-02-15 Yottayotta, Inc. Storage virtualization system and methods
US6748502B2 (en) * 2001-01-12 2004-06-08 Hitachi, Ltd. Virtual volume storage
US6880062B1 (en) * 2001-02-13 2005-04-12 Candera, Inc. Data mover mechanism to achieve SAN RAID at wire speed
US7200144B2 (en) * 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
US6986015B2 (en) * 2001-12-10 2006-01-10 Incipient, Inc. Fast path caching
US7155494B2 (en) * 2002-01-09 2006-12-26 Sancastle Technologies Ltd. Mapping between virtual local area networks and fibre channel zones
US6983303B2 (en) * 2002-01-31 2006-01-03 Hewlett-Packard Development Company, Lp. Storage aggregator for enhancing virtualization in data storage networks
JP3993773B2 (ja) * 2002-02-20 2007-10-17 株式会社日立製作所 ストレージサブシステム、記憶制御装置及びデータコピー方法
US6907419B1 (en) * 2002-02-27 2005-06-14 Storage Technology Corporation Method, system, and product for maintaining within a virtualization system a historical performance database for physical devices
US8051197B2 (en) * 2002-03-29 2011-11-01 Brocade Communications Systems, Inc. Network congestion management systems and methods
US6683883B1 (en) * 2002-04-09 2004-01-27 Sancastle Technologies Ltd. ISCSI-FCP gateway
US7237045B2 (en) 2002-06-28 2007-06-26 Brocade Communications Systems, Inc. Apparatus and method for storage processing through scalable port processors
US7353305B2 (en) 2002-06-28 2008-04-01 Brocade Communications Systems, Inc. Apparatus and method for data virtualization in a storage processing device
US7269168B2 (en) 2002-07-31 2007-09-11 Brocade Communications Systems, Inc. Host bus adaptor-based virtualization switch
US7120728B2 (en) * 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7467406B2 (en) 2002-08-23 2008-12-16 Nxp B.V. Embedded data set processing
US7352706B2 (en) * 2002-09-16 2008-04-01 Finisar Corporation Network analysis scalable analysis tool for multiple protocols
US7277431B2 (en) * 2002-10-31 2007-10-02 Brocade Communications Systems, Inc. Method and apparatus for encryption or compression devices inside a storage area network fabric
US20050050211A1 (en) 2003-08-29 2005-03-03 Kaul Bharat B. Method and apparatus to manage network addresses
US20050076113A1 (en) * 2003-09-12 2005-04-07 Finisar Corporation Network analysis sample management process
US20050091426A1 (en) * 2003-10-23 2005-04-28 Horn Robert L. Optimized port selection for command completion in a multi-ported storage controller system
US7934023B2 (en) * 2003-12-01 2011-04-26 Cisco Technology, Inc. Apparatus and method for performing fast fibre channel write operations over relatively high latency networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100786895B1 (ko) * 2004-11-09 2007-12-17 후지쯔 가부시끼가이샤 스토리지 가상화 장치
WO2007011164A1 (en) * 2005-07-21 2007-01-25 Kyungpook National University Industry-Academic Cooperation Foundation Virtual storage system and method for managementing virtual storage based on ad-hoc network

Also Published As

Publication number Publication date
US7548975B2 (en) 2009-06-16
AU2002361837A1 (en) 2003-07-30
AU2002361837B2 (en) 2009-06-04
CN1623136A (zh) 2005-06-01
CA2472992A1 (en) 2003-07-24
JP2006505831A (ja) 2006-02-16
KR100927748B1 (ko) 2009-11-20
WO2003060688A2 (en) 2003-07-24
CA2472992C (en) 2013-02-19
WO2003060688A3 (en) 2004-12-09
US20030131182A1 (en) 2003-07-10
EP1502179A2 (en) 2005-02-02
JP4372553B2 (ja) 2009-11-25
CN1311326C (zh) 2007-04-18

Similar Documents

Publication Publication Date Title
KR100927748B1 (ko) 가상 인클로저를 통한 스토리지 영역 네트워크 내의스토리지 가상화 구현 방법 및 장치
US7447197B2 (en) System and method of providing network node services
US7437507B2 (en) Online restriping technique for distributed network based virtualization
US8046515B2 (en) Storage router and method for providing virtual local storage
CA2473832C (en) Methods and apparatus for implementing virtualization of storage within a storage area network
JP5026283B2 (ja) 協調的共用ストレージアーキテクチャ
US9733868B2 (en) Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network
US7609649B1 (en) Methods and apparatus for improving network based virtualization performance
AU2003238219A1 (en) Methods and apparatus for implementing virtualization of storage within a storage area network
JP2004523831A (ja) シリコンベースのストレージ仮想化サーバ
WO2005099201A2 (en) System and method of providing network node services
US7581056B2 (en) Load balancing using distributed front end and back end virtualization engines
US10229085B2 (en) Fibre channel hardware card port assignment and management method for port names

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141027

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151026

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161025

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171025

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191030

Year of fee payment: 11