KR20100129673A - 파이버 채널 저장 디바이스를 파이버 채널 중재 루프 통신 매체에 결합하는 개선된 브리지 디바이스에 대한 장치 및 방법 - Google Patents

파이버 채널 저장 디바이스를 파이버 채널 중재 루프 통신 매체에 결합하는 개선된 브리지 디바이스에 대한 장치 및 방법 Download PDF

Info

Publication number
KR20100129673A
KR20100129673A KR1020090126623A KR20090126623A KR20100129673A KR 20100129673 A KR20100129673 A KR 20100129673A KR 1020090126623 A KR1020090126623 A KR 1020090126623A KR 20090126623 A KR20090126623 A KR 20090126623A KR 20100129673 A KR20100129673 A KR 20100129673A
Authority
KR
South Korea
Prior art keywords
bypass
bit
valid
fiber channel
bridge device
Prior art date
Application number
KR1020090126623A
Other languages
English (en)
Other versions
KR101169513B1 (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 KR20100129673A publication Critical patent/KR20100129673A/ko
Application granted granted Critical
Publication of KR101169513B1 publication Critical patent/KR101169513B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Abstract

파이버 채널 저장 디바이스를 파이버 채널 중재 루프(FC-AL) 통신 매체에 결합하는 향상된 브리지 디바이스에 대한 장치 및 방법이 제공된다. 본 발명의 특정 및 측면은 브리지 디바이스에 의해 프로세스되고 브리지 디바이스와 결합된 다른 저장 디바이스와 연관되는 다른 타겟 중재 루프 물리적 어드레스(target arbitrated loop physical addresses : T-ALPA)의 현재의 바이패스/비바이패스 상태에 관계없이, 브리지와 결합된 저장 디바이스와 연관된 임의의 T-ALPA로 어드레싱되는 루프 포트 바이패스(loop port bypass : LPB) 및 루프 포트 인에이블(loop port enable : LPE) 프리미티브 시퀀스를 프로세스하는 FC-AL 개선 회로(104, 202...210)를 제공한다.

Description

파이버 채널 저장 디바이스를 파이버 채널 중재 루프 통신 매체에 결합하는 개선된 브리지 디바이스에 대한 장치 및 방법{BRIDGE APPARATUS AND METHODS FOR COUPLING MULTIPLE NON-FIBRE CHANNEL DEVICES TO A FIBRE CHANNEL ARBITRATED LOOP}
저장 시스템은 고속 직렬 통신 구조 및 프로토콜에 접속하는 호스트 병렬 버스를 이용하는 것으로부터 발전되어 왔다. 이러한 통신 구조 및 프로토콜은 유용하게 보다 적은 비용 케이블링 및 보다 긴 거리 케이블링 제한과 결합된 고속을 제공하는 한편 고가의 병렬 버스 구조 케이블링에 비해 향상된 노이즈 제거를 더 제공한다. 특히, 광 파이버 통신 매체를 이용하는 파이버 채널 매체 및 프로토콜이 얼마 동안 대중적으로 보급되어 왔다. 광 파이버 통신 매체는 임의의 전기 결합(병렬 또는 직렬)에 비해 고속 및 실질적인 노이즈 제거를 제공한다. 파이버 채널 표준은 당 분야에서 통상의 지식을 가진 자에게 잘 알려져 있으며 파이버 채널 아키텍처의 각종 측면에 대한 문서 표준은 www.t11.org와 같은 사이트에서 용이하게 입수 가능하다.
다수의 직렬 부착(serial attached) SCSI(SAS) 저장 디바이스 및 다수의 직렬 진전 기술 부착(serial advanced technology attachment : SATA) 통신 프로토콜이 고 성능 저장 영역 네트워크에서 저장 디바이스에 컴퓨팅 시스템을 결합하는 바람직한 매체 및 프로토콜로서 파이버 채널을 주로 대체하여 왔다. SAS 및 SATA는 유사한 성능 레벨을 유지하면서 보다 오래된 파이버 채널 기법보다 실질적으로 저 비용의 대안을 제공한다. SAS 및 SATA 저장 디바이스는 파이버 채널 저장 디바이스에 비해 훨씬 보편적이고 비용 효과적이다.
고 성능 저장 네트워크를 위한 바람직한 결합으로서 보다 오래된 레가시(legacy) 저장 네트워크가 파이버 채널을 이용하는 몇몇 저장 애플리케이션에서, 사용자는 호스트 시스템을 파이버 채널 저장 네트워크에 결합하는데 사용된 호스트 버스 어댑터 및 다른 관련된 저장 네트워크 애플리케이션에 있어 상당한 투자를 가하고 있다. SAS 및 SATA 저장 디바이스가 상대적으로 저가이지만, 이러한 레가시 환경에서 저가의 저장 디바이스의 비용 절약을 위해 전체 파이버 채널 통신 인프라스트럭쳐(즉, 호스트 버스 어댑터, 광 파이버 케이블링, 파이버 채널 네트워크 기기 등)를 대체하는 비용을 정당화하는 것은 곤란하다. 따라서 몇몇 종래의 개발에 의해 SAS 및 SATA 저장 디바이스를 파이버 채널 네트워크에 결합하기 위한 브리지 디바이스를 제공하여 왔다.
파이버 채널 접속도에 있어서, 하나의 보편적인 구조/토폴로지는 파이버 채널 중재 루프(Fibre Channel arbitrated loop : FC-AL)로 지칭된다. 이러한 토폴 로지에서, 트랜잭션에 의해 특히 어드레싱된 디바이스가 트랜잭션을 수신하여 이를 프로세스할 때까지 디바이스들 간에 정보가 전송되도록 링 또는 루프 구성으로 모든 디바이스가 결합된다. 전형적으로 이러한 토폴로지에서 파이버 채널(FC) 호스트는 중재 루프 상에서 정적 예비 어드레스(전형적으로 0의 어드레스)가 할당된다. 이러한 FC 호스트는 루프 포트 인에이블(loop port enable : LPE) 및 루프 포트 바이패스(loop port bypass : LPB) 프리미티브 시퀀스를 이용하는 개별적인 디바이스를 인에이블하거나 또는 바이패스하기 위한 시스템 에이전트로서 작용한다. 루프 토폴로지에서 바이패스된 디바이스는 루프 토폴로지 상에서 교화된 트랜잭션에 참가하지 않는다. 그 대신에, 이러한 토폴로지는 루프 토폴로지에 물리적으로 상주하지만, 논리적으로 비활성이며, 대부분의 파이버 채널 트랜잭션을 무시한다.
전형적인 FC-AL 토폴로지에서, 루프 상의 각각의 디바이스는 단일의 타겟 중재 루프 물리적 어드레스(target arbitrated loop physical addresses : T-ALPA)를 나타낸다. LPE 또는 LPB FC 프리미티브 시퀀스를 이용하는 루프 포트의 인에이블링(디바이스를 비바이패스 상태로 설정) 또는 바이패싱은 프리미티브 시퀀스에서 T-ALPA 어드레스에 대응하는 단일의 디바이스를 인에이블하거나 또는 바이패스한다. 비용 효율 및 간략화를 위해, SAS 및 SATA 저장 디바이스를 현재의 FC-AL 포톨로지에 결합하도록 하는 현재의 브리징 디바이스는 브리지 디바이스와 결합된 물리적 SAS 및 SATA 저장 디바이스의 수와 관계없이 루프 토폴로지에서 단일의 T-ALPA를 이용한다. 브리지 디바이스를 통해 특정의 SAS 및 SATA 저장 디바이스를 선택하기 위해 다른 상위 계층의 어드레싱 메커니즘들이 사용되지만 LPE 또는 LPB FC 프리미티브 시퀀스의 최하위 계층에서는, 단일의 T-ALPA를 갖는 브리지 디바이스와 결합된 모든 디바이스가 인에이블되거나 또는 바이패스된다.
브리지와 결합된 각각의 개별적인 저장 디바이스가 인에이블되거나 또는 바이패스되도록 하기 위해, 몇몇 종래의 해결책은 루프 포트 엔이이블 및 루프 포트 바이패스 프리미티브 시퀀스를 수신하도록 브리지 디바이스 내의 프로세서 상에 실행하고 보다 복잡한 소프트웨어 분석을 통해 브리지와 결합된 개별적인 저장 디바이스를 인에이블 및 바이패스하도록 프로그래밍된 소프트웨어/펌웨어 기능을 제공했다. 그러나, 이러한 최저 레벨에서 교환된 FC 프리미티브 시퀀스("배열된 세트"로서 또한 알려진)는 FC 사양(예를 들어, FC-AL 사양은 수신자가 수신된 프리미티브 시퀀스 상에 작용하기 이전에 적어도 3개의 LPE/LPB 프리미티브 시퀀스가 전송될 것을 요구함)에 따라 신속하게 연속적으로 반복된다. 이러한 소프트웨어/펌웨어 해결책은 일반적으로 FC-AL 사양에 따라 이와 같이 신속하게 연속적으로 수신된 프리미티브 시퀀스를 적절하게 프로세스하고 응답하도록 요구되는 기능을 수행하지 못했다. 따라서, 종래의 소프트웨어 해결책은 FC-AL 사양을 전적으로 따르지 못했다. 브리지 디바이스를 제공하도록 적용된 각종 테스트 및 실제의 애플리케이션은 FC-AL 사양을 따를 수 없으며, 여기서, 예를 들어, 브리지 디바이스는 소프트웨어/펌웨어를 이용하여 루프 포트 바이패스/인에이블 시퀀스를 프로세스하도록 시도하지만 적절한 성능으로 그와 같이 수행하지 못한다.
일례로서, 하나의 예시적인 종래 기술의 소프트웨어/펌웨어로 구현된 브리지 방법에 있어서, 브리지의 FC 회로는 LPB 프리미티브 시퀀스의 수신을 검출하고 브 리지 디바이스의 범용 프로세서의 인터럽트를 야기하여 LPB 프리미티브 시퀀스를 분석하고 프로세스한다. 프로세서가 수신된 프리미티브 시퀀스를 분석하고 프로세스하는 동안, 브리디 디바이스의 FC 회로는 DC-AL 매체 상에서 유휴 구간 상에서 표시하는 "충진" 워드를 밀어넣는 한편, 브리지 디바이스는 수신된 프리미티브 시퀀스를 프로세스한다. 예시적인 일 테스트에서, LPB 프리미티브 시퀀스는 테스트 하에서 FC-AL 디바이스로 전송되며 바이패스된 동일한 디바이스를 어드레싱하는 프리미티브 시퀀스가 바로 후속하여 전송된다. 예를 들어, OPEN 프리미티브 시퀀스가 전송하고 후속하여 LPB 프리미티브 시퀀스가 전송될 수 있다. FC-AL 표준에 따르면 디바이스는 FC 호스트가 (성공적으로 어드레싱됨으로 인해) 어드레싱된 디바이스에 의해 프로세스되지 않는 바와 같이 FC-AL 토폴로지로부터 OPEN 프리미티브 시퀀스를 수신하도록 LPB 및 OPN 모두를 처리해야 한다. 현재의 브리지 디바이스의 소프트웨어/펌웨어 인터럽트 처리가 (적절하게 바이패스되는 경우 디바이스가 수신하고 전송하는 바와 같이) OPEN 프리미티브 시퀀스를 수신하고 전송하는 시기에 그 루프 포트 상태 머신(loop port state machine : LPSM)을 업데이트하도록 충분히 시기 적절한 방식으로 LPB를 프로세스할 수 없는 경우, 브리지 디바이스는 OPEN 프리미티브 시퀀스를 적절하게 프로세스할 수 없으므로 명백한 에러 조건을 생성할 수 있다. 이러한 테스트 상황이 실제로는 극단적이고 드문 상황일 수 있으나, FC-AL 아키텍처의 사양 내에 있다. 따라서, 현재의 FC 내의 SAS/SATA 브리지 디바이스에 있거나 브리지 디바이스와 결합된 개별적인 SAS/SATA 디바이스를 인네이블링하거나 바이패싱하도록 하기 위한 유용한 기능이 존재하지 않는다.
따라서, 브리지 디바이스를 통해 FC-AL 통신 매체와 결합된 다수의 비FC 저장 디바이스의 각각을 인에이블링하고 바이패스하는 유연성을 증대시키기 위한 과제가 존재한다.
본 발명은 상기 및 다른 문제점을 해결하는 것으로서, 브리지 디바이스를 통해 FC-AL 루프와 결합된 다른 저장 디바이스의 상태에 관계없이 다수의 저장 디바이스 중 개별적인 디바이스를 바이패스 또는 비바이패스 상태로 배치하는 방식으로 FC-AL 루프와 다수의 저장 디바이스를 결합하는 브리지 디바이스에 대한 장치 및 방법을 제공함으로써 기술 분야의 상태를 유용하게 개선하는 것이다.
본 발명의 일 측면에서, 파이버 채널 브리지 디바이스가 제공된다. 브리지 디바이스는 파이버 채널 중재 루프(Fibre Channel arbitrated loop : FC-AL)와 결합하는 파이버 채널 인터페이스 회로를 포함한다. 인터페이스는 다수의 타겟 중재 루프 물리적 어드레스(target arbitrated loop physical addresses : T-ALPA)에 응답한다. 브리지 디바이스는 다수의 저장 디바이스와 결합하는 백엔드(back-end) 인터페이스 회로를 또한 포함한다. 다수의 저장 디바이스는 비FC-AL 저장 디바이스이다. 브리지 디바이스는 파이버 채널 인터페이스 회로에 결합되고 백엔드 인터페이스 회로에 결합된 바이패스 제어 논리 회로를 더 포함한다. 바이패스 제어 논 리 회로는 다수의 T-ALPA 중 하나를 다수의 저장 디바이스의 각각에 매핑한다. 바이패스 제어 논리 회로는 다수의 저장 디바이스의 상태에 관계없이 다수의 저장 디바이스의 개별적인 디바이스를 바이패스하고 인에이블하기 위해 다수의 T-ALPA의 각각에 대해 루프 포트 인에이블(loop port enable : LPE) 및 루프 포트 바이패스(loop port bypass : LPB) 파이버 채널 프리미티브 시퀀스를 프로세스한다.
본 발명의 다른 측면에서, 파이버 채널 중재 루프(FC-AL) 통신 매체에 다수의 비FC-AL 저장 디바이스를 결합하기 위한 FC-AL 브리지 디바이스의 FC-AL 인터페이스 회로에서 작동 가능한 방법을 제공한다. 방법은 브리지 디바이스와 결합된 특정의 저장 디바이스를, 특정의 저장 디바이스를 식별하는 FC-AL 통신 매체로부터 수신된 루프 포트 인에이블(LPE) 프리미티브 시퀀스의 브리지 디바이스에 의한 수신에 응답하여 비바이패스(non-bypassed) 상태로 배치하는 단계를 포함한다. 특정의 저장 디바이스는 브리지 디바이스와 결합된 다른 저장 디바이스의 바이패스/비바이패스 상태에 관계없이 비바이패스 상태로 진입한다. 방법은 브리지 디바이스와 결합된 특정의 저장 디바이스를, 특정의 저장 디바이스를 식별하는 FC-AL 통신 매체로부터 수신된 루프 포트 바이패스(LPB) 프리미티브 시퀀스의 브리지 디바이스에 의한 수신에 응답하여 바이패스 상태로 배치하는 단계를 또한 포함한다. 특정의 저장 디바이스는 브리지 디바이스와 결합된 다른 저장 디바이스의 바이패스/비바이패스 상태에 관계없이 바이패스 상태로 진입한다.
본 발명의 또 다른 측면에서, 다수의 직렬 부착(serial attached) SCSI(SAS) 저장 디바이스 및 다수의 직렬 진전 기술 부착(serial advanced technology attachment : SATA) 저장 디바이스를 파이버 채널 중재 루프(FC-AL) 통신 매체에 결합하는 브리지 디바이스를 제공한다. 브리지 디바이스는 다수의 SAS/SATA 저장 디바이스에 결합하는 백엔드 인터페이스 회로를 포함한다. 브리지 디바이스는 백엔드 인터페이스 회로와 결합되고 FC-AL 통신 매체에 결합되는 파이버 채널 인터페이스 회로를 또한 포함한다. 파이버 채널 인터페이스 회로는 파이버 채널 프로토콜의 FC0, FC1, FC2, SCSI-FCP 및 FC-AL 계층을 구현하는 논리 회로를 포함한다. FC-AL 계층 논리 회로는 다수의 저장 디바이스의 대응하는 저장 디바이스에 다수의 타겟 중재 루프 물리적 어드레스(T-ALPA)를 매핑하는 바이패스 제어 논리 회로를 포함한다. 바이패스 제어 논리 회로는 다수의 저장 디바이스의 상태에 관계없이 다수의 저장 디바이스의 개별적인 디바이스를 바이패스하고 인에이블하기 위해 다수의 T-ALPA의 각각에 대해 루프 포트 인에이블(LPE) 및 루프 포트 바이패스(LPB) 파이버 채널 프리미티브 시퀀스를 프로세스한다.
상기한 바와 같은 본 발명에 의하면, 브리지 디바이스를 통해 FC-AL 루프와 결합된 다른 저장 디바이스의 상태에 관계없이 다수의 저장 디바이스 중 개별적인 디바이스를 바이패스 또는 비바이패스 상태로 배치하는 방식으로 FC-AL 루프와 다수의 저장 디바이스를 결합함으로써, 다수의 비FC 저장 디바이스의 각각을 인에이블링하고 바이패스하는 유연성을 증대시킬 수 있게 된다.
도 1은 바이패스 제어 논리 회로(104)를 포함하는 본 발명의 특징 및 측면에 따른 브리지 디바이스 회로(100)의 블록도이다. 앞서 언급한 바와 같이, 종래의 기법은 브리지와 결합된 개별적인 디바이스가 다수의 저장 디바이스를 FC-AL 루프에 결합할 때 루프 포트 상태 머신(LPSM) 바이패스 로직를 처리하도록 브리지 디바이스 내에 구현된 소프트웨어 상에서 독립적으로 바이패스되거나 이에 전적으로 의존하도록 하지 않는다. 이와 달리, 바이패스 제어 논리 회로(104)는 브리지 디바이스 회로(100)를 통해 FC-AL 루프(150)와 결합된 저장 디바이스(110-1 내지 110-n)의 각각에 대해 루프 포트 바이패스 특징 및 프리미티브 시퀀스를 프로세스하는 주문형 논리 회로를 제공한다.
바이패스 제어 논리 회로(104)는 가장 상업적으로 입수 가능한 FC-AL 인터페이스 회로(102) 내에서 LPSM 회로 표준과의 바이패스 제어 논리 회로(104)의 프로세싱의 통합을 허용하도록 FC-AL 인터페이스 회로(102)과 결합된다. 예시적인 일 실시예에서, 본 명세서에서 이하 더 기술되는 바와 같이, 바이패스 제어 논리 회로(104)는 FC-AL 인터페이스 회로(102)와 개별적인 구성요소로서 구현될 수 있으나 향상된 브리지 디바이스 회로(100)의 LPSM 프로세싱의 회로 내에서 바이패스 제어 논리 회로의 논리적 통합을 허용하도록 이들 사이의 인터페이스 신호의 강력한 결합을 필요로 할 수 있다.
본 발명의 바이패스 제어 특징은 주문형 논리 회로(104)로서 구현되지만, 향상된 브리지 디바이스 회로(100)는 브리지 디바이스 회로(100)의 전체 구성 및 관 리를 제어하기 위해 프로세서 및 메모리(108)를 또한 포함할 수 있다. 백엔드 인터페이스 회로(106)는 비파이버(non-Fiber) 채널 저장 디바이스(110-1 내지 110-n)에 원하는 인터페이스를 제공한다. 예시적인 일 실시예에서, 백엔드 인터페이스 회로(106)는 SAS/SATA 저장 디바이스를 향상된 브리지 디바이스 회로(100)에 결합하기 위해 SAS 및/또는 SATA 인터페이스 로직을 제공할 수 있다.
이하 보다 상세하게 기술되는 봐와 같이, (FC-AL 인터페이스 회로(102)와 결합하는) 바이패스 제어 논리 회로(104)는 브리지(100)와 결합된 다른 저장 디바이스의 상태에 관계없이 개별적인 저장 디바이스가 FC-AL 루프(150) 상에서 바이패스되도록 한다. 즉, 향상된 브리지 디바이스 회로(100)는 FC-AL 루프(150) 상에서 T-ALPA를 포함하는 프리미티브 시퀀스에 의해 어드레싱된 다수의 T-ALPA에 응답하며 브리지 디바이스(100)에 의해 관리되는 모든 다른 T-ALPA의 바이패스/비바이패스 상태에 관계없이 각각의 T-ALPA가 개별적으로 바이패스되도록 한다.
도 2는 도 1의 바이패스 제어 논리 회로(104)에 의해 수행된 기능의 예시적인 추가 세부 사항을 제공하는 블록도이다. 바이패스 제어 논리 회로(104)는 (FC-AL 프리미티브 시퀀스를 수신하고 프로세스하는 LPSM(200)과 병렬로 수신된) FC-AL 통신 매체로부터 루프 포트 바이패스(LPB) 및 루프 포트 인에이블(LPE) 프리미티브 시퀀스를 수신하도록 FC 프리미티브 시퀀스 바이패스/인에이블 프로세싱 기능(204)을 포함한다. 즉, LPSM(200)은 표준 파이버 채널 중재 루프에 따라 파이버 채널 프리미티브 시퀀스를 프로세스하되 요소(204)의 기능을 포함함으로써 루프 포트 바이패스 및 루프 포트 인에이블에 대한 향상된 프로세싱을 포함한다.
앞서 기술된 바와 같이, (파이버 채널 인터페이스 회로 내에서 통상 구현되는) LPSM(200)은 바이패스 제어 논리 회로(104)와 강력하게 결합될 수 있다. 본 명세서에서 이하 더 상세하게 기술되는 바와 같이, FC-AL 인터페이스 회로 및 바이패스 제어 논리 회로는 잘 알려진 설계 선택에 따라 단일의 ASIC(application specific integrated circuit) 또는 주문형 설계 회로로서 통합될 수 있다. 바이패스 제어 논리 회로(104)는 이력 비트(202)(예를 들어, 파이버 채널 표준 사양에 따라 LPSM(200) 내에서 전형적으로 통합되고 이에 의해 이용되는 BYPASS 및 PARTICIPATE 이력 비트)를 포함한다. LPSM(200)에 의해 이용되는 BYPASS 및 PARTICIPATE 이력 비트는 바이패스 제어 논리 회로(104)의 유효 비트 벡터(208) 및 바이패스 비트 벡터(210)의 이용에 의해 향상된 FC-AL 사양 비트에 의해 제공된 PLSM 표준 프로세싱 특징에 따라 설정되고 재설정될 수 있다. 예시적인 일 실시예에서 유효 비트 벡터(208) 및 바이패스 비트 벡터(210)는 각각의 비트가 다수의 타겟 중재 루프 물리적 어드레스(T-ALPA) 중 하나에 대응하는 비트 어레이를 각각 포함한다.
매핑 요소(206)는 LPSM(200)과 결합하여 루프 포트 바이패스 및 루프 포트 인에이블을 프로세스할 때 적절한 비트를 식별하기 위해 유효 비트 벡터(208) 내의 대응하는 비트 및 바이패스 비트 벡터(210) 내의 대응하는 비트에 T-ALPA를 매핑하기 위한 기능을 제공한다. 예시적인 일 실시예에서, 유효 비트 벡터(208) 및 바이패스 비트 벡터(210) 내의 대응하는 비트로의 T-ALPA 매핑은 각각의 비트 벡터 내로의 인덱스로서 T-ALPA 값을 간단히 이용하도록 제공한다. 당 분야에서 통상의 지식을 가진 자라면 T-ALPA가 현재 유효인지(즉, 대응하는 저장 디바이스와 연관되는지) 및 대응하는 T-ALPA가 현재 바이패스 상태에 있는지를 표시하는 대응하는 정보에 다수의 T-ALPA의 각각을 매핑하기 위해 다수의 다른 데이터 구조 및 매핑 기법을 용이하게 인지할 것이다.
유효 비트 벡터(208) 및 바이패스 비트 벡터(210)는 바이패스 제어 논리 회로(104) 내에서 임의의 적절한 메모리 구조를 이용하여 구현될 수 있다. 예를 들어, 바이패스 제어 논리 회로(104)에 의해 프로세스된 127개의 가능한 T-ALPA의 각각에 대응하는 저장 비트를 나타내도록 간단한 레지스터 구성이 이용될 수 있다. 다른 적절한 메모리 구조는, 예를 들어, DRAM, 스태틱 RAM, 비디오 RAM, 비휘발성 RAM, SDRAM 등을 포함하여, 각종 유형의 RAM(Random access memory)를 포함할 수 있다. FC 프리미티브 시퀀스 바이패스/인에이블 프로세싱 요소(204) 및 T-ALPA 매핑 요소(206)에 의해 제공된 임의의 요구되는 매핑 프로세싱은 본 명세서에서 이하 보다 상세하게 기술되는 바와 같은 원하는 논리 기능을 제공하는 주문형 ASIC으로서 구현될 수 있다.
도 3은 다수의 비파이버 채널 저장 디바이스(110-1 내지 110-n)를 FC-AL 루프 통신 매체(150)에 결합하기 위한 향상된 브리지 디바이스(300)의 예시적인 실시예를 제공하는 블록도이다. 도 1에 대해 도시된 바와 같이, 도 3의 향상된 브리지 디바이스(300)는 프로세서 및 메모리(108)와 백엔드 인터페이스 회로(106)(예를 들어, SAS/SATA 인터페이스 회로)를 포함할 수 있다. 향상된 브리지 디바이스(300)는 바이패스 제어 논리 회로(104)를 포함하는 본 발명의 특징 및 측면에 따른 향상 된 파이버 채널 인터페이스 회로(302)를 또한 포함할 수 있다. 특히, 파이버 채널 인터페이스 회로(302)는 바이패스 제어 논리 회로(104)를 포함할 수 있는 FC-AL 논리 회로(306) 뿐만 아니라 FC2/SCSI-FCP(304), FC1(308), FC1(310) 를 포함하는 파이버 채널 층을 구현하기 위한 논리 회로를 포함할 수 있다.
도 4는 도 3에 대해 앞서 기술된 바와 같이 FC-AL 계층 논리 회로(306)의 예시적인 추가 세부 사항을 제공하는 블록도이다. FC-AL 계층 논리 회로(306)는 전술한 바와 같이 바이패스 제어 로직을 포함할 수 있다. FC-AL 계층 논리 회로(306)는 보다 낮은 레벨의 FC1 및 FC0 계층 회로(308 및 310) 각각과 결합하고, FC2 계층 회로(304)와 결합한다. 도 4에 도시된 바와 같이, FC2 계층 회로(304)는 SCSI-FCP 계층 프로토콜을 포함할 수 있다. 이러한 설명의 간략화를 위해 계층은 별도의 개별적인 구분되는 논리 구성요소로서 구현될 수 있으나 이들은 단일의 보다 높은 계층 논리 요소로서 도시된다. 따라서 본 명세서에서 사용된 바와 같이, "FC2"(요소 304)는 FC2 계층 로직, SCSI-FCP 층 로직 및 임의의 다른 보다 높은 계층 파이버 채널 프로토콜 및 애플리케이션 회로와 프로세스를 나타낸다. 보다 낮은 레벨의 FC1 및 FC0 계층 회로(308 및 310)로부터 수신된 파이버 채널 데이터는 FC2 계층 회로(304)에 대해 결합된 FC-AL 계층 논리 회로(306)를 통과하는 경로(420)에 인가된다. 이러한 프로세스에서, 배열된 세트 디코드 로직(408)은 FC-AL 계층 논리 회로(306)에 의해 프로세스될 관련 배열 세트(파이버 채널 중재 루프 프리미티브 시퀀스)를 주시하는 경로(420)에 인가된 파이버 채널 수신 데이터를 모니터링하거나 스누핑한다. 당 분양에서 통상의 지식을 가진 자에 의해 잘 알려져 있는 바와 같이, 특정의 배열된 세트(프리미티브 시퀀스)만이 루프 포트 상태 머신(도 4의 PLSM 프로세싱 회로(400))에서 향상된 특징 및 측면에 관련된다. 특히, 예를 들어, 루프 포트 바이패스(LPB), 루프 포트 인에이블(LPE), 루프 개시 프로토콜(loop initialization protocol : LIP) 프로토콜 시퀀스와 오픈(OPN) 프리미티브는 그 향상된 특징 및 측면에 관해 FC-AL 회로(400) 내에서의 LPSM 프로세싱에 대해 중요하다. 당 분야에서 통상의 지식을 가진 자는 FC-AL 표준에 따른 LPSM에 의해 프로세스되는 다양한 다른 프리미티브 시퀀스를 인지할 것이다.
배열된 세트 디코드(408)가 이러한 관련 프리미티브 시퀀스를 검출하는 경우, T-ALPA 디코드 논리 회로(406)는 향상된 브리지 회로에 의해 관리된 다수의 T-ALPA와 연관된 상태 프로세싱에서 인덱스로서 사용될 T-ALPA 값을 결정하도록 수신된 배열 세트 내에서 T-ALPA 어드레스를 디코딩한다. 디코딩된 T-ALPA는 향상된 브리지 디바이스에 의해 관리된 다수의 T-ALPA의 각각에 관한 정보를 저장하는데 사용된 각종 상태 테이블 또는 맵(예를 들어, 비트 벡터)내로의 인덱스로서 사용하기 위해 FC-AL LPSM 회로(400)와 디바이스 상태 및 이력 비트 파라미터(402)에 인가될 수 있다. 디바이스 상태 및 이력 비트 파라미터(402)는 유효 및 바이패스 맵(404)(예를 들어, 비트 벡터)으로부터 적절한 유효 및 바이패스 정보를 수신하기 위한 회로를 나타낸다. 예를 들어, 디코딩된 T-ALPA 인덱스 값은 T-ALPA가 현재 유효인 것으로 알려져 있는지(즉, 비FC 저장 디바이스 중 하나와 현재 연관되는지) 및 유효이면, 특정의 T-ALPA가 현재 바이패스 상태에 있는지를 표시하는 정보의 적절한 비트를 선택하도록 사용될 수 있다. 디코딩된 T-ALPA 어드레스 인덱스의 현 재 상태를 나타내는 유효 및 바이패스 비트는 또 다른 프로세싱을 위해 FC-AL LPSM(400)에 인가된다. 또한, 이력 비트 파라미터(402) 내의 디바이스 상태는 FC-AL LPSM(400)의 LPSM(410) 내에 유지된 각종 이력 비트를 조정하기 위해(예를 들어, 적절한 것으로서 설정하거나 클리어하기 위해) 맵(404)으로부터 검색된 유효 및 바이패스 정보를 사용할 수 있다. LPSM 이력 비트의 저장을 위한 실질적인 물리적 위치는 FC-AL LPSM(400)에 대한 회로 내에서 구현될 수 있거나 또는 이력 비트 파라미터(402)의 디바이스 상태 내에서와 같이 LPSM 회로에 대해 외부적으로 저장될 수 있고 LPSM(400)에 대해 이용 가능하다는 점에서 설계 선택의 문제이다. 이러한 설계 선택은 표준 LPSM 회로와 바이패스 제어 로직의 원하는 통합 레벨에 기초하여 당 분야에서 통상의 지식을 가진 자에게 용이하게 명백할 것이다.
LPSM 이력 비트(410)를 이용하여, FC-AL LPSM(400)은 파이버 채널 송신 데이터 경로(430)에 인가될 데이터에 대해 2개의 소스 중 하나로부터 선택하기 위해 REPEAT 이력 비트의 현재 상태를 결정하고 이를 멀티플렉서(412)("A"로 표시됨)에 인가한다. 멀티플렉서(412)는 파이버 채널 수신 데이터 경로(420)로부터의 제 1 입력 및 경로(432)를 통해 보다 높은 레벨의 FC2 계층 회로(304)로부터의 제 2 입력을 수신한다. 선택 로직("A")은 수신 데이터 신호 경로(420) 상에 수신된 파이버 채널 전송이 반복되고 파이버 채널 송신 데이터 경로(430)에 인가되는 것을 표시하는 REPEAT 이력 비트의 연산을 나타낸다. REPEAT 이력 비트가 현재 설정되지 않는 경우, 멀티플렉서(412)에 대한 입력으로서 경로(432)에 인가된 FC2 계층 회로(304)으로부터의 송신은 보다 낮은 레벨의 FC1(308) 및 FC0(310) 계층으로의 인 가를 위해 파이버 채널 송신 데이터 경로(430)에 인가된다. 요소(402)에 의해 결정된 디바이스 상태 및 이력 비트는 FC-AL LPSM을 제어하도록 사용된다. 그러나 LPSM이 단일의 T-ALPA만을 처리하는 종래 기법 또는 바이패스 로직을 제어하기 위한 소프트웨어에 의존하는 브리지 디바이스에 의한 다른 종래의 기법과의 대조에 의해, 바이패스 제어를 갖는 향상된 FC-AL 회로(306)는 단일의 브리지 디바이스의 제어 하에 다수의 T-ALPA에 대해 필수적인 바이패스 로직을 구현하기 위해 논리 회로(400 내지 412)를 이용한다.
특히, 향상된 FC-AL 계층 회로(306)에 의해 프로세스된 다수의 T-ALPA의 각각은 각각의 T-ALP에 대응하는 유효 비트 및 바이패스 비트에 기초하여 다음과 같이 4개의 상태 중 하나가 될 수 있다. 즉,
유효 비트 바이패스 비트 유효 또는 바이패스 상태 반복 설명
0 0 1 참가 . 대응하는 T-ALPA가 루프 상에서 참가하지 않고 임의의 수신된 프리미티브 시퀀스에 응답하지 않으며 이에 관한 요청을 송신
1 0 0 참가. 대응하는 T-ALPA가 루프 상에서 인에이블되고 모든 수신된 프리미티브 시퀀스에 응답하며 이에 관한 요청을 "프레임" 송신
1 1 1 바이패스 참가. 대응하는 T-ALPA가 논리 바이패스 모드에 있으며 이에 관한 수신된 LPEyx 또는 LPEfx에만 응답함. 이 T-ALPA를 이용하여 임의의 송신 요청이 무시됨. LIP가 수신되고 모든 유효 T-ALPA가 바이패스 상태에 있으면 LPSM이 LIP를 무시함
0 1 1 바이패스 비참가 . 대응하는 T-ALPA가 루프 상에서 참가하고 있지 않으며 모슨 수신된 프리미티브 시퀀스에 응답하지 않거나 이에 관한 요청을 송신
본 발명의 특징 및 측면에 다른 각각의 T-ALP의 진전을 위한 유효 및 바이패스 비트에 의해 나타내어진 상태에 부가하여 FC-AL 계층 회로의 바이패스 로직을 제어하기 위해 각종 이력 비트가 LPSM에 의해 사용된다. 구체적으로, 예시적인 일 실시예에서, FC-AL LPSM 표준에 의해 지정된 바와 같이 PARTIPATE, REPEAT 및 REPLICATE 이력 비트가 다음과 같이 결정될 수 있다. 즉,
이력 비트 설명
BYPASS 이력 비트는 유효 T-ALPA에 대해 어드레싱된 LPB가 수신되고 모든 다른 T-ALPA가 이미 논리 바이패스 상태에 있을 때 설정됨.
이력 비트는
a. LPE가 현재 논리 바이패스 상태에 있는 유효 T-ALPA에 대해 수신되거나 또는
b. 요청이 개시되고 (FC-AL 표준에서 지정된 바와 같이) LPSM이 개시 상태로 천이하거나 또는
c. 요청이 비참가에 대해 행해지고, (FC-AL 표준에서 지정된 바와 같이) LPSM이 개시 상태로 천이하거나 또는
d. 요청이 오래된 포트로 진행되고 (FC-AL 표준에서 지정된 바와 같이) LPSM이 오래된 포트 상태로 천이할 때 클리어됨
PARTICIPATE 이 이력 비트는 적어도 하나의 T-ALPA가 유효(즉, 유효 비트 벡터에 의해 명시된 바와 같이 저장 디바이스와 연관)일 때 설정됨
유효 T-ALPA가 결정되고 대응하는 유효 비트가 브리지 디바이스의 개시 프로세스 동안 설정됨
이력 비트는
a. LPSM이 모니터링 상태에 있고 LIP가 수신되는 동안 (FC-AL 표준에서 지징된 바와 같이) BYPASS 이력 비트가 설정되거나 또는
b. LPSM이 모니터링 또는 개시 상태에 있고 (FC-AL 표준에서 지징된 바와 같이) 비참가에 대한 요청이 보다 높은 층 제어 소프트웨어/펌웨어에 의해 행해지거나 또는
c. LPSM이 모니터링 상태에 있고 (FC-AL 표준에서 지징된 바와 같이) 오래된 포트로의 진행에 대한 요청이 보다 높은 층 제어 소프트웨어/펌웨어에 의해 행해지거나 또는
d. LPSM이 모니터링 상태에 있고 (FC-AL 표준에서 지징된 바와 같이) 바이패스에 대한 요청이 보다 높은 층 제어 소프트웨어/펌웨어에 의해 행해질 때 클리어됨
REPEAT !PARTICIPATE 또는 BYPASS
REPLICATE 이 이력 비트는 임의의 유효 비바이패스 T-ALPA로 어드레싱된 임의의 OPNyr 또는 OPNfr이 수신되는 경우 설정됨
이 이력 비트는 FC-AL-2 사양에서 지정된 모든 조건 하에서 클리어됨
브리지 디바이스의 PLSM의 바이패스 상태에 대해 관련되는 또 다른 개별적인 프리미티브 시퀀스가 다음과 같이 프로세스될 수 있다. 즉,
프리미티브/프리미티브 시퀀스 T-ALPA=유효(참가) T-ALPA=!유효(비참가) T-ALPA=바이패스
OPNyx y=T-ALPA
a. y가 개방된 풀 듀플렉스
무효 상태에 있는 임의의 T-ALPA가 특정의 ALPA에 관한 임의의 수신된 프리미티브 시퀀스에 응답하지 않음






y=T-ALPA
a. OPNyx가 무시됨
OPNyy y=T-ALPA
a. y가 개방된 하프 듀플렉스
y=T-ALPA
a. OPNyx가 무시됨
OPNyr y=T-ALPA
a. y 개방(복제)
y=T-ALPA
a. OPNyx가 무시됨
OPNfr f=전부
a. 임의의 ALPA가 비트 맵 내의 유효이면 개방 복제 모드로 진행
y-fr
a. 바이패스의 T-ALPA에 대한 영향이 없음
LPByx y=T-ALPA
a.T-ALPA가 설정된 그 대응하는 바이패스 맵 비트를 가짐
b. 인터럽트가 설정되고, yx가 포착됨
c. LPSM 바이패스 이력 변수가 설정됨
y=T-ALPA
a.T-ALPA의 대응하는 바이패스 맵 비트가 설정됨
b. 인터럽트가 설정되고, yx가 포착됨
c. LPSM 바이패스 이력 비트가 설정으로 유지됨
LPBfx y=전부
a.모든 유효 T-ALPA가 설정된 그 대응하는 바이패스 맵 비트를 가짐
b. 인터럽트가 설정되고, yx가 포착됨
c. 유효 맵에서 임의의 유효 T-ALPA가 설정되면 LPSM 바이패스 이력 변수가 설정됨
f=전부
a.모든 T-ALPAd의 대응하는 바이패스 비트가 설정으로 유지됨
b. 인터럽트가 설정되고, yx가 포착됨
c. LPSM 이력 비트가 설정으로 유지됨
LPEyx y=T-ALPA
a. 인터럽트가 설정되고, yx가 포착됨
b. LPSM 바이패스 이력 변수가 클리어됨
y=T-ALPA
a. 대응하는 T-ALPA 바이패스 비트 맵이 클리어됨
b. 인터럽트가 설정되고, yx가 포착됨
LPEfx f=전부
a. 인터럽트가 설정되고, yx가 포착됨. LPSM 바이패스 이력 비트가 무조건적으로 클리어됨
f=전부
a. 인터럽트가 설정되고, yx가 포착됨
b. 전체 바이패스 비트 맵이 클리어됨
c. LPSM 바이패스 이력 변수가 무조건적으로 클리어됨
LIP(F7,F7)
LIP 수신 인터럽트 설정. 전체 유효 비트 맵이 소 프트웨어에 의해무효로 클리어됨
LPSM 바이패스 이력 변수 비트가 설정되면 LPSM에 의해 LIP가 무시됨
LIP(F7,x)
LIP(F8,F7)
LIP(F8,x)
LIPyx y=ALPA이면 LIP 수신 인터럽트 설정 리셋. 전체 유효 비트 맵dl 소프트웨어에 의해 의해무효로 클리어됨 LPSM 바이패스 이력 변수 비트가 설정되면 LPSM에 의해 LIP가 무시됨
LIPfx LIP 수신 인터럽트 설정. 전체 유효 비트 맵이 소 프트웨어에 의해무효로 클리어됨
LPSM 바이패스 이력 변수 비트가 설정되면 LPSM에 의해 LIP가 무시됨
도 5는 다수의 저장 디바이스를 FC-AL 통신 매체에 결합하기 위해 FC-AL 내에 향상된 바이패스 제어 회로를 제공하기 위한 본 발명의 특징 및 측면에 따른 예시적인 방법을 기술하는 플로우차트이다. 도 5의 방법은, 예를 들어, 전술한 바와 같은 FC-AL 계층 회로의 LPSM 프로세싱과 통합된 주문형 회로에서 동작할 수 있다.
단계(500)는 FC-AL 수신 데이터 경로로부터 다음의 프리미티브 시퀀스의 수신을 대기한다. 이러한 프리미티브 시퀀스의 수신 시에, 단계(502)는 수신된 프리미티브 시퀀스가 루프 포트 바이패스(LPB) 프리미티브 시퀀스인지를 판정한다. 수신된 프리미티브 시퀀스가 루프 포트 바이패스(LPB) 프리미티브 시퀀스인 경우, 단계(504)는 브리지 디바이스와 결합된 다른 저장 디바이스의 상태에 관계없이 LPB에 의해 식별된 하나 이상의 T-ALPA에 대응하는 하나 이상의 저장 디바이스를 바이패스 상태로 배치한다. 보다 구체적으로, 유효 비트 벡터에 따라 유효인 것으로 식별되는 수신 LPB 내의 지정된 T-ALPA 중 임의의 하나 이상의 T-ALPA은 바이패스 비트 벡터 내의 대응하는 비트를 설정함으로써 바이패스 상태로 배치된다. 그 다음에 프로세싱은 단계(500)에서 다음 FC-AL 프리미티브 시퀀스의 수신을 계속 대기한다.
단계(502)에서 수신된 프리미티브 시퀀스가 LPB가 아닌 경우에, 단계(506)는 수신된 프리미티브 시퀀스가 루프 포트 인에이블(LPE) 프리미티브 시퀀스인지를 판 정한다. 프리미티브 시퀀스가 루프 포트 인에이블(LPE) 프리미티브 시퀀스인 경우, 단계(508)는 브리지 디바이스와 결합된 대응하는 T-ALPA 및 다른 저장 디바이스의 상태에 관계없이 LPE에 의해 식별된 하나 이상의 T-ALPA에 대응하는 하나 이상의 저장 디바이스를 비바이패스 상태로 배치한다. 보다 구체적으로, 유효 비트 벡터에 따라 현재 유효 상태에 있는 수신 LPB 내의 식별된 각각의 T-ALPA에 대해, 바이패스 비트 벡터 내의 대응하는 비트는 디바이스가 바이패스 상태에 있지 않음을 표시하도록 클리어된다. 그 다음에 프로세싱은 단계(500)에서 다음 FC-AL 프리미티브 시퀀스의 수신을 계속 대기한다.
단계(506)에서 수신된 프리미티브 시퀀스가 LPB가 아닌 경우, 단계(510)는 수신된 프리미티브 시퀀스가 루프 개시 프로토콜(LIP) 프리미티브 시퀀스인지를 판정한다. 수신된 프리미티브 시퀀스가 루프 개시 프로토콜(LIP) 프리미티브 시퀀스인 경우, 단계(512)는 무효 상태(즉, 재개될 때까지 임의의 저장 디바이스와 더 이상 연관되지 않는 T-ALPA)를 표시하도록 유효 비트 벡터 내의 모든 비트를 조건적으로 클리어한다. 상기 표에서 도시된 바와 같이, LIP의 프로세싱은 바이패스 이력 비트가 현재 설정된 경우, (FC-AL 사양에서 표준인 바와 같이) LIP 프리미티브 시퀀스는 LPSM에 의해 간단히 무시된다.
단계(510)에서 수신된 프리미티브 시퀀스가 LIP가 아닌 경우, 단계(514)는 수신된 프리미티브 시퀀스가 오픈(OPEN) 프리미티브 시퀀스인지를 판정한다. 수신된 프리미티브 시퀀스가 오픈(OPEN) 프리미티브 시퀀스인 경우, 단계(516)는 오픈(OPEN) 프리미티브를 조건적으로 프로세스한다. 특히, (유효 비트 벡터 내의 대 응하는 비트에 의해 표시된 바와 같이) 식별된 T-ALPA가 유효이고, (바이패스 비트 벡터 내의 대응하는 비트에 의해 표시된 바와 같이) 현재 바이패스되지 않는 경우, OPN은 프로세스된다. 그렇지 않은 경우, OPN 프리미티브가 무시된다. 그 다음에 프로세싱은 단계(500)에서 다음 FC-AL 프리미티브 시퀀스의 수신을 계속 대기한다.
단계(514)에서 수신된 프리미티브 시퀀스가 OPN 프리미티브가 아닌 경우, 단계(518)에서 FC-AL 표준에서 지정된 바와 같은 표준 LPSM 프로세싱에 따라 모든 다른 프리미티브 시퀀스가 프로세스된다. 그 다음에 프로세싱은 단계(500)에서 다음 FC-AL 프리미티브 시퀀스의 수신을 계속 대기한다.
따라서 도 5의 예시적인 방법은 향상된 브리지 디바이스에 의해 프로세스된 다수의 T-ALPA에 대한 유효 비트 벡터 및 바이패스 비트 벡터의 정보에 기초하여 FC-AL 프리미티브 시퀀스(특히 LPB 및 KOE 프리미티브 시퀀스)를 프로세스한다. 또한, 도 5의 예시적인 방법은 향상된 브리지 디바이스에 의해 프로세스된 다수의 T-ALPA에 대응하는 다수의 저장 디바이스 각각의 상태를 업데이트하고 LPSM의 프로세싱을 제어하도록 유효 및 바이패스 맵(예를 들어, 유효 및 바이패스 비트 벡터)의 정보를 유지/업데이트한다. 또한, 도 5의 방법은 향상된 브리지 디바이스에 의해 관리된 다수의 T-ALPA의 각각에 대한 유효 및 바이패스 정보에 기초하여 LPSM 이력 비트를 유지한다. 앞서 기술된 바와 같이, LPSM 이력 비트는 BYPASS, PARTICIPATE, REPEAT 및 REPLICATE 이력 비트를 포함할 수 있다.
도 6은 도 5의 단계(504)의 프로세싱의 예시적인 추가 세부 사항을 제공하는 플로우차트이다. 단계(504)는 LPB 프리미티브 시퀀스에서 식별된 하나 이상의 T- ALPA를 바이패스 상태로 배치하는 LPB 프리미티브 시퀀스의 프로세싱을 나타낸다. 단계(600)는 먼저 수신된 LPB에 의해 식별된 임의의 T-ALPA가 유효인지를 판정한다. 유효 비트 벡터에 의해 표시된 바와 같이 식별된 T-ALPA 중 어느 것도 유효가 아닌 경우, 단계(504)의 프로세싱이 완료한다. LPB에서 식별된 하나 이상의 T-ALPA가 유효인 경우, 단계(602)는 대응하는 유효 T-ALPA가 현재 바이패스된다는 것을 표시하도록 바이패스 비트 벡터 내의 대응하는 비트를 설정한다.
단계(604)는 그 다음에 브리지 디바이스에 의해 프로세스된 모든 유효 T-ALPA가 현재 바이패스 상태에 있는지를 판정한다. 단계는 해당 판정을 행하도록 유효 및 바이패스 비트 벡터를 조사한다. 적어도 하나의 유효 T-ALPA가 바이패스 상태에 있지 않는 경우, 단계(504)의 프로세싱이 완료된다. 모든 유효 T-ALPA가 현재 바이패스 상태에 있는 경우, 단계(606)는 FC-AL LPSM 논리 회로가 임의의 수신된 FC 데이터를 바이패스하고 송신 데이터 경로 상에서 수신된 데이터를 간단히 전송하도록 하기 위해 BYPASS 이력 비트를 설정한다. 단계(606)에 이어서, 단계(504)의 프로세싱이 완료한다.
도 7은 도 5의 단계(508)의 프로세싱의 예시적인 추가 세부 사항을 제공하는 플로우차트이다. 단계(508)는 LPE 프리미티브 시퀀스에서 식별된 하나 이상의 T-ALPA를 비바이패스 상태로 배치하는 LPE 프리미티브 시퀀스의 프로세싱을 나타낸다. 단계(700)는 먼저 수신된 LPE에 의해 식별된 임의의 T-ALPA가 유효인지를 판정한다. 유효 비트 벡터에 의해 표시된 바와 같이 식별된 T-ALPA 중 어느 것도 유효가 아닌 경우, 단계(508)의 프로세싱이 완료한다. LPE에서 식별된 하나 이상의 T-ALPA가 유효인 경우, 단계(702)는 대응하는 유효 T-ALPA가 현재 바이패스 상태에 있다는 것을 표시하도록 바이패스 비트 벡터 내의 대응하는 비트를 클리어한다. 단계(704)는 그 다음에 브리지 디바이스에 의해 프로세스된 적어도 하나의 유효 T-ALPA가 현재 바이패스 상태에 있지 않으므로, BYPASS 이력 비트를 클리어한다. BYPASS 이력 비트를 클리어하는 것에 의해 FC-AL LPSM 논리 회로가 각각의 수신된 프리미티브 시퀀스 내의 특정의 식별된 T-ALPA가 현재 바이패스 상태에 있는지 여부를 판정하기 위해 FC-AL 루푸의 수신 경로로부터 각각의 수신된 데이터를 분석하고, 그 다음에 FC-AL 루프 송신 경로 상에서 데이터를 반복하거나 수신된 프리미티브 시퀀스를 프로세스하도록 한다.
도 8은 본 발명의 특징 및 측면에 따른 향상된 브리지 디바이스에서 동작하는 다른 예시적인 방법을 기술한다. 표준 FC-AL 프로토콜에 따라 브리지 디바이스가 개시(또는 재개)될 때, 모든 T-ALPA가 무효로 간주된다. 즉, 벡터 내의 유효 및 바이패스 비트가 클리어된다. 단계(800)는 FC-AL 프로토콜에 따른 표준 프로세싱을 나타내며 FC-AL 루프 상의 에이전트는 T-ALPA를 루프에 대해 알려진 각각의 디바이스와 연관시킨다. 향상된 브리지 디바이스는, 예를 들어, SAS/SATA 인터페이스 표준에 대해 잘 알려져 있는 바와 같은 탐색 프로세스에 의해 그 백엔드 인터페이스를 통해 결합된 모든 저장 디바이스를 인지할 것이다. 브리지 디바이스에 대해(및 FC-AL 루프에 대해) 알려진 각각의 저장 디바이스가 대응하는 T-ALPA와 연관됨에 따라, 단계(800)는 T-ALPA (및 그 대응하는 저장 디바이스)가 현재 유효인지(즉, 참가하고 있는지)를 표시하도록 유효 비트 벡터 내의 대응하는 유효 비트를 또한 설정한다.
당 분야에서 통상의 지식을 가진 자라면 전체적으로 기능 향상된 브리지 디바이스에서의 각종 추가적인 및 균등한 회로와 단계 및 그 연관된 동작 방법을 인지할 것이다. 이러한 추가적인 및 균등한 요소는 본 발명의 간략화 및 명료화를 위해 본 명세서에서 생략되어 있다. 또한, 당 분야에서 통상의 지식을 가진 자라면 브리지 디바이스에 의해 프로세스된 각각의 T-ALPA에 대한 유효 및 바이패스 정보를 저장하도록 사용될 수 있는 각종 메모리 구조를 용이하게 인지할 것이다. 현재의 FC-AL 표준은 임의의 FC-AL 루프 상의 최대 127개의 이러한 T-ALPA를 제공하므로, 선택된 메모리 구조는 현재 기껏해야 127개의 T-ALPA에 대한 유효 및 바이패스 정보를 저장한다. 따라서, 원하는 기능을 제공함에 있어 간단한 레지스터 메모리 구조가 적합하지만 임의의 적절한 메모리 구조는 설계 선택의 문제로서 사용될 수 있다.
본 발명은 도면 및 상술한 설명으로 도시되고 기술되었으나, 이러한 도시 및 기술은 예시적인 것이며 제한적이지 않은 것으로 간주된다. 본 발명의 일 실시예 및 그 일부 변형예가 도시되고 기술되었다. 본 발명의 사상 내에 존재하는 모든 변경예 및 수정예 대한 보호가 요구된다. 당 분야에서 통상의 지식을 가진 자라면 본 발명의 범위 내에 해당하는 상술한 실시예의 변형예를 이해할 것이다. 따라서, 본 발명은 상술한 특정의 예 및 예시로 제한되지 않으며, 후술하는 특허 청구 범위 및 그 균등물에 의해서만 제한된다.
도 1은 다수의 저장 디바이스를 FC-AL 루프에 결합하기 위한 본 발명의 특징 및 측면에 따른 향상된 브리지 디바이스의 예시적인 실시예를 포함하는 시스템의 블록도이고,
도 2는 본 발명의 특징 및 측면에 따른 도 1의 바이패스 제어 논리 회로의 예시적인 기능 세부 사항을 제공하는 블록도이며,
도 3은 다수의 저장 디바이스를 FC-AL 루프에 결합하기 위한 본 발명의 특징 및 측면에 따른 향상된 브리지 디바이스의 예시적인 실시예를 포함하는 다른 시스템의 블록도이고,
도 4는 본 발명의 특징 및 측면에 따른 FC-AL 계층 논리 회로와 통합된 예시적인 바이패스 제어 논리 회로의 블록도이며,
도 5 내지 도 8은 다수의 저장 디바이스를 FC-AL 루프에 결합하기 위한 본 발명의 특징 및 측면에 따른 향상된 브리지 디바이스를 작동시키는 예시적인 방법을 기술하는 플로우차트이다.
도면의 주요 부분에 대한 부호의 설명
100 : 브리지 디바이스 회로 102 : FC-AL 인터페이스 회로
104 : 바이패스 제어 논리 회로 105 : FC-AL 루프
106 : 백엔드 인터페이스 회로 108 : 프로세서 및 메모리
110 : 파이버 채널 저장 디바이스

Claims (14)

  1. 파이버 채널 브리지 디바이스로서,
    파이버 채널 중재 루프(150)(Fibre Channel arbitrated loop : FC-AL)와 결합하는 파이버 채널 인터페이스 회로(102)-인터페이스가 다수의 타겟 중재 루프 물리적 어드레스(target arbitrated loop physical addresses : T-ALPA)에 응답함-와,
    다수의 저장 디바이스와 결합하는 백엔드(back-end) 인터페이스 회로(106)-상기 다수의 저장 디바이스는 FC-AL 저장 디바이스가 아님 -와,
    상기 파이버 채널 인터페이스 회로에 결합되고 상기 백엔드 인터페이스 회로에 결합된 바이패스 제어 논리 회로(104)-상기 바이패스 제어 논리 회로는 다수의 T-ALPA 중 하나를 다수의 저장 디바이스의 각각에 매핑하고 상기 바이패스 제어 논리 회로는 상기 다수의 저장 디바이스 중 다른 디바이스의 상태에 관계없이 상기 다수의 저장 디바이스의 개별적인 디바이스를 바이패스(bupass)하고 인에이블(enable)하기 위해 상기 다수의 T-ALPA의 각각에 대해 루프 포트 인에이블(loop port enable : LPE) 및 루프 포트 바이패스(loop port bypass : LPB) 파이버 채널 프리미티브 시퀀스를 또한 프로세스함-를 포함하는
    파이버 채널 브리지 디바이스.
  2. 제 1 항에 있어서,
    상기 백엔드 인터페이스 회로는 다수의 직렬 부착(serial attached) SCSI(SAS) 저장 디바이스에 결합하기 위한 SAS 인터페이스 회로인
    파이버 채널 브리지 디바이스.
  3. 제 1 항에 있어서,
    상기 백엔드 인터페이스 회로는 다수의 직렬 진전 기술 부착(serial advanced technology attachment : SATA) 저장 디바이스에 결합하기 위한 SATA 인터페이스 회로인
    파이버 채널 브리지 디바이스.
  4. 제 1 항에 있어서,
    상기 바이패스 제어 논리 회로는
    다수의 바이패스 비트를 포함하는 바이패스 비트 벡터(210)-각각의 바이패스 비트는 다수의 T-ALPA 중 하나에 대응하고 상기 각각의 바이패스 비트의 값은 대응하는 T-ALPA와 현재 연관된 저장 디바이스가 현재 바이패스된 상태에 있는지를 나타냄와,
    다수의 유효 비트를 포함하는 유효 비트 벡터(208)-각각의 유효 비트는 상기 다수의 T-ALPA 중 하나에 대응하고 상기 각각의 유효 비트의 값은 대응하는 T-ALPA와 현재 연관된 저장 디바이스가 현재 참가 상태에 있는지를 나타냄-를 더 포함하는
    파이버 채널 브리지 디바이스.
  5. 제 4 항에 있어서,
    상기 바이패스 제어 논리 회로는 대응하는 저장 디바이스에 대해 유효 T-ALPA를 획득하는 것에 응답하여 상기 유효 비트 벡터 내의 유효 비트를 또한 설정하는
    파이버 채널 브리지 디바이스.
  6. 제 4 항에 있어서,
    상기 바이패스 제어 논리 회로는 상기 바이패스 비트 벡터 및 상기 유효 비트 벡터에 기초하여 상기 다수의 T-ALPA의 각각에 대해 LPB 및 LPE 프리미티브 시퀀스를 프로세스하기 위한 루프 포트 상태 머신(loop port state machine : LPSM) 회로(200)을 더 포함하는
    파이버 채널 브리지 디바이스.
  7. 제 6 항에 있어서,
    상기 LPSM는 상기 바이패스 비트 벡터 및 상기 유효 비트 벡터에 기초하여 이력 비트(202)를 유지하며, 상기 이력 비트는 BYPASS 이력 비트 및 PARTICIPATE 이력 비트를 포함하는
    파이버 채널 브리지 디바이스.
  8. 제 7 항에 있어서,
    상기 LPSM는 모든 다른 저장 디바이스가 바이패스될 때 상기 유효 비트 벡터에 따라 유효인 것으로 결정되는 저장 디바이스에 대해 LPB 프리미티브 시퀀스가 프로세스될 때 상기 BYPASS 이력 비트를 상기 바이패스 비트 벡터 및 상기 유효 비트 벡터에 의해 결정되는 것으로서 설정하는
    파이버 채널 브리지 디바이스.
  9. 제 7 항에 있어서,
    상기 LPSM는 상기 브리지 디바이스와 결합된 임의의 저장 디바이스가 현재 상기 참가 상태에 있을 때 상기 PARTICIPATE 이력 비트를 상기 유효 비트 벡터에 의해 결정되는 것으로서 설정하는
    파이버 채널 브리지 디바이스.
  10. 파이버 채널 중재 루프(FC-AL) 통신 매체에 다수의 비FC-AL 저장 디바이스를 결합하기 위한 FC-AL 브리지 디바이스의 FC-AL 인터페이스 회로에서 작동 가능한 방법으로서,
    상기 브리지 디바이스와 결합된 특정의 저장 디바이스를, 상기 특정의 저장 디바이스를 식별하는 상기 FC-AL 통신 매체로부터 수신된 루프 포트 인에이블(LPE) 프리미티브 시퀀스의 상기 브리지 디바이스에 의한 수신에 응답하여 비바이패스(non-bypassed) 상태로 배치하는 단계-상기 특정의 저장 디바이스는 상기 브리지 디바이스와 결합된 다른 저장 디바이스의 바이패스/비바이패스 상태에 관계없이 비바이패스 상태로 진입함-와,
    상기 브리지 디바이스와 결합된 특정의 저장 디바이스를, 상기 특정의 저장 디바이스를 식별하는 상기 FC-AL 통신 매체로부터 수신된 루프 포트 바이패스(LPB) 프리미티브 시퀀스의 상기 브리지 디바이스에 의한 수신에 응답하여 바이패스 상태로 배치하는 단계-상기 특정의 저장 디바이스는 상기 브리지 디바이스와 결합된 다른 저장 디바이스의 바이패스/비바이패스 상태에 관계없이 바이패스 상태로 진입함-를 포함하는
    방법.
  11. 제 10 항에 있어서,
    유효 비트 벡터를 유지하는 단계-상기 유효 비트 벡터의 각각의 유효 비트가 대응하는 타겟 중재 루프 물리적 어드레스(T-ALPA)가 상기 브리지 디바이스와 결합된 저장 디바이스와 연관되는지 여부를 표시함-와,
    바이패스 비트 벡터를 유지하는 단계-상기 바이패스 비트 벡터의 각각의 바이패스 비트가 대응하는 T-ALPA와 연관된 상기 저장 디바이스가 바이패스 상태 또는 비바이패스 상태에 있는지를 표시함-를 더 포함하는
    방법.
  12. 제 11 항에 있어서,
    상기 유효 비트 벡터 및 상기 바이패스 비트 벡터에 기초하여 이력 비트를 유지하는 단계-상기 이력 비트는 BYPASS 이력 비트 및 PARTICIPATE 이력 비트를 포함함-를 더 포함하는
    방법.
  13. 제 12 항에 있어서,
    상기 이력 비트를 유지하는 단계는,
    모든 다른 저장 디바이스가 바이패스 상태에 있을 때 상기 유효 비트 벡터에 따라 유효인 것으로 결정되는 저장 디바이스에 대해 LPB 프리미티브 시퀀스가 프로세스될 때 상기 BYPASS 이력 비트를 상기 바이패스 비트 벡터 및 상기 유효 비트 벡터에 의해 결정되는 것으로서 설정하는 단계를 더 포함하는
    방법.
  14. 제 12 항에 있어서,
    상기 이력 비트를 유지하는 단계는,
    상기 브리지 디바이스와 결합된 임의의 저장 디바이스가 현재 상기 참가 상태에 있을 때 상기 PARTICIPATE 이력 비트를, 대응하는 T-ALPA가 저장 디바이스와 연관되는 것을 표시하는 상기 유효 비트 벡터 내의 유효 비트에 의해 결정되는 것으로서 설정하는 단계를 더 포함하는
    방법.
KR1020090126623A 2009-06-01 2009-12-18 파이버 채널 브리지 디바이스, 파이버 채널 중재 루프(fc-al) 통신 매체에 복수의 비fc-al 저장 디바이스를 결합하는 방법 및 브리지 디바이스 KR101169513B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/475,838 2009-06-01
US12/475,838 US8116330B2 (en) 2009-06-01 2009-06-01 Bridge apparatus and methods for coupling multiple non-fibre channel devices to a fibre channel arbitrated loop

Publications (2)

Publication Number Publication Date
KR20100129673A true KR20100129673A (ko) 2010-12-09
KR101169513B1 KR101169513B1 (ko) 2012-07-27

Family

ID=42111875

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090126623A KR101169513B1 (ko) 2009-06-01 2009-12-18 파이버 채널 브리지 디바이스, 파이버 채널 중재 루프(fc-al) 통신 매체에 복수의 비fc-al 저장 디바이스를 결합하는 방법 및 브리지 디바이스

Country Status (6)

Country Link
US (1) US8116330B2 (ko)
EP (1) EP2207102B1 (ko)
JP (1) JP4970563B2 (ko)
KR (1) KR101169513B1 (ko)
CN (1) CN101902454B (ko)
TW (1) TWI388989B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972614B2 (en) 2011-12-26 2015-03-03 Apple Inc. Half-duplex SATA link with controlled idle gap insertion
US9626318B2 (en) * 2012-01-26 2017-04-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for storage protocol compliance testing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978379A (en) 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
US6430645B1 (en) 1999-06-09 2002-08-06 International Business Machines Corporation Fibre channel and SCSI address mapping for multiple initiator support
US6895453B2 (en) 2001-03-15 2005-05-17 International Business Machines Corporation System and method for improved handling of fiber channel remote devices
US20020144046A1 (en) 2001-03-30 2002-10-03 Hooper William Gordon Parallel SCSI-to-fibre channel gateway
US7630300B2 (en) 2002-07-02 2009-12-08 Emulex Design & Manufacturing Corporation Methods and apparatus for trunking in fibre channel arbitrated loop systems
US7382790B2 (en) 2002-07-02 2008-06-03 Emulex Design & Manufacturing Corporation Methods and apparatus for switching fibre channel arbitrated loop systems
US7660316B2 (en) 2002-07-02 2010-02-09 Emulex Design & Manufacturing Corporation Methods and apparatus for device access fairness in fibre channel arbitrated loop systems
US7397788B2 (en) 2002-07-02 2008-07-08 Emulex Design & Manufacturing Corporation Methods and apparatus for device zoning in fibre channel arbitrated loop systems
US7343524B2 (en) 2002-09-16 2008-03-11 Finisar Corporation Network analysis omniscent loop state machine
US7352706B2 (en) 2002-09-16 2008-04-01 Finisar Corporation Network analysis scalable analysis tool for multiple protocols
US8289984B2 (en) * 2003-01-13 2012-10-16 Emlilex Design & Manufacturing Corporation Allocation-unit-based virtual formatting methods and devices employing allocation-unit-based virtual formatting methods
CN1285993C (zh) * 2003-06-30 2006-11-22 华为技术有限公司 存储设备的输入输出处理装置
US7441154B2 (en) * 2003-09-12 2008-10-21 Finisar Corporation Network analysis tool
US7594075B2 (en) * 2004-10-20 2009-09-22 Seagate Technology Llc Metadata for a grid based data storage system
US7353318B2 (en) * 2005-08-26 2008-04-01 International Business Machines Corporation Apparatus and method to assign addresses to plurality of information storage devices
CN101106427B (zh) * 2006-07-11 2011-08-03 上海科泰信息技术有限公司 适用于欧洲标准数据传输的单网桥光纤接入系统

Also Published As

Publication number Publication date
JP4970563B2 (ja) 2012-07-11
EP2207102A1 (en) 2010-07-14
TW201044178A (en) 2010-12-16
CN101902454B (zh) 2014-10-15
EP2207102B1 (en) 2013-05-01
US20100303085A1 (en) 2010-12-02
KR101169513B1 (ko) 2012-07-27
TWI388989B (zh) 2013-03-11
CN101902454A (zh) 2010-12-01
US8116330B2 (en) 2012-02-14
JP2010277573A (ja) 2010-12-09

Similar Documents

Publication Publication Date Title
US7768906B2 (en) Method and apparatus for managing a loop network
CN103152397B (zh) 一种多协议存储系统设计方法
US7124234B2 (en) Managing transmissions between devices
US7411958B2 (en) Method and system for transferring data directly between storage devices in a storage area network
US6396832B1 (en) Method and apparatus for optimizing a switched arbitrated loop for maximum access fairness
JP2002503914A (ja) ファイバ・チャネル・フレームからダイナミックescon接続を確立する方法及び装置
US20080155096A1 (en) Method and Apparatus for Relating Device Name to Physical Location of Device on a Network
KR101169513B1 (ko) 파이버 채널 브리지 디바이스, 파이버 채널 중재 루프(fc-al) 통신 매체에 복수의 비fc-al 저장 디바이스를 결합하는 방법 및 브리지 디바이스
US7054312B2 (en) Multi-rate shared memory architecture for frame storage and switching
US7274673B2 (en) Method and apparatus for detection of port name in a loop network
US20030018761A1 (en) Enhanced configuration of infiniband links
US7583597B2 (en) Method and system for improving bandwidth and reducing idles in fibre channel switches
US7233996B2 (en) Mechanism to support multiple port configurations
US7443788B2 (en) Method and apparatus for improving performance of a loop network
CN106027423A (zh) PCIe设备共享网络及其数据传输方法
CN106464456B (zh) 128千兆比特光纤通道速度协商
US10437759B2 (en) Networked device connection management
US10523457B2 (en) Network communication method, system and controller of PCIe and Ethernet hybrid networks
CN114675891B (zh) 一种PCIe交换芯片初始化的方法、装置、设备及介质
US20050018603A1 (en) Method and system for reducing latency and congestion in fibre channel switches
US7518995B1 (en) Method and system for managing frame flow in fibre channel systems
US20050018671A1 (en) Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US20100303084A1 (en) Apparatus and methods for access fairness for a multiple target bridge/router in a fibre channel arbitrated loop system
US7545817B1 (en) Data loop port acceleration circuit

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee