KR101414017B1 - Sas 구역 구분 허용 테이블 관리 방법, sas 구역 구분 익스팬더 - Google Patents

Sas 구역 구분 허용 테이블 관리 방법, sas 구역 구분 익스팬더 Download PDF

Info

Publication number
KR101414017B1
KR101414017B1 KR1020087019981A KR20087019981A KR101414017B1 KR 101414017 B1 KR101414017 B1 KR 101414017B1 KR 1020087019981 A KR1020087019981 A KR 1020087019981A KR 20087019981 A KR20087019981 A KR 20087019981A KR 101414017 B1 KR101414017 B1 KR 101414017B1
Authority
KR
South Korea
Prior art keywords
zone
sas
expander
version identifier
zone group
Prior art date
Application number
KR1020087019981A
Other languages
English (en)
Other versions
KR20090082853A (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 KR20090082853A publication Critical patent/KR20090082853A/ko
Application granted granted Critical
Publication of KR101414017B1 publication Critical patent/KR101414017B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 관련 버전 식별자를 사용하여 SAS 구역 그룹 허용 테이블 관리 장치 및 방법에 관한 것이다. SAS 도메인의 구역 그룹 허용 테이블은 구역 그룹 허용 테이블의 버전을 표시하는 관련 버전 식별자를 가질 수 있다. 버전 식별자는 구역 그룹 허용 테이블의 콘텐츠와 현재 버전의 콘텐츠를 비교하지 않고 구역 그룹 허용 테이블이 SAS 도메인에 대한 현재 버전과 동일한지를 판단하도록 사용될 수 있다. 또한, 버전 식별자는 2개 이상의 SAS 구역 구분 익스팬더가 상이한 구역 그룹 허용 테이블을 저장하는 경우에 SAS 도메인의 복수의 구역 그룹 허용 테이블 중 어느 것이 현재 버전인지를 판단하기 위해 사용될 수 있다.

Description

SAS 구역 구분 허용 테이블 관리 방법, SAS 구역 구분 익스팬더{SAS ZONE GROUP PERMISSION TABLE VERSION IDENTIFIERS}
본 발명은 전반적으로 직렬 연결 SCSI("SAS") 도메인에 관한 것으로, 더 구체적으로 SAS 도메인의 구역 그룹 허용 테이블을 관리하기 위해 구역 그룹 허용 테이블 버전 식별자를 사용하는 장치 및 방법에 관한 것이다.
소형 컴퓨터 시스템 인터페이스("SCSI")는, 예를 들어 컴퓨터가 주변 하드웨어와 통신하게 하는, 미국 국제 표준 협회("ANSI") 표준 전자 인터페이스 사양이다. 공통 SCSI 호환 가능한 주변 장치는 디스크 드라이브, 테이프 드라이브, CD 드라이브("CD-ROM", "CD-RW" 등), DVD 드라이브, 저장 서브시스템, 프린터 및 스캐너와 같은 저장 장치를 포함할 수 있다. 최초로 생성된 SCSI는 장치 부착을 위한 병렬 버스 구조를 위한 명령/응답 데이터 구조 사양 및 인터페이스 프로토콜 표준을 포함하였다. SCSI는 병렬 인터페이스 전용으로부터 병렬 및 직렬 인터페이스 모두를 포함하도록 진화하였다. 이제 일반적으로 "SCSI"는, 통신 전송 매체(병렬 버스 구조 및 다양한 직렬 전송) 또는 대부분의 장치에 공통인 명령 서브세트 및 다양한 인터페이스 표준 및 프로토콜뿐만 아니라 특정 장치 유형의 필요를 만족하는 명령 세트를 지칭하는 것으로 이해된다.
SCSI 인터페이스 전송 및 명령은 또한 프로세싱 장치를 갖는 저장 장치의 네트워크를 상호 접속하는 데에 사용된다. 예를 들어, 직렬 향상 기술 부착("SATA") 프로토콜 교환뿐만 아니라 SAS와 같은 직렬 SCSI 전송 매체 및 프로토콜이 이러한 네트워크에서 사용될 수 있다. 이들 애플리케이션은 종종 저장 네트워크로 지칭된다. 당업자는 SAS 및 SATA 표준 외에도 기타 SCSI 관련 사양 및 표준에 친숙할 것이다. 이러한 인터페이스 및 명령에 관한 정보는 일반적으로 www.t10.org 및 www.t13.org에서 입수 가능하다.
이러한 SCSI 저장 네트워크는 조직 및/또는 사업을 위해 데이터를 저장하는 복수의 디스크 드라이브를 갖는 큰 저장 시스템에서 사용된다. 이 네트워크 아키텍처는 저장 장치들이 SCSI 명령을 계속 직접적으로 지원하면서 기업에서 물리적으로 분산되게 한다. 이 아키텍처는 SCSI 명령으로부터의 저장 요청을 다른 네트워크 명령으로 변환한 후 다시 하위 레벨 SCSI 저장 관련 명령으로 변환하는 오버헤드를 추가할 필요 없이 기업의 저장 구성요소의 분배를 허용한다.
통상적으로 SAS 네트워크는 흔히 하나 이상의 SAS 익스팬더(expander)를 통해 하나 이상의 SAS 타겟에 결합되는 하나 이상의 SAS 개시자를 포함한다. 일반적으로, 모든 SCSI 통신에서 공통인 바와 같이, SAS 개시자가 SAS 타겟과의 통신을 개시한다. 익스팬더는 SAS 개시자 및 SAS 타겟(집합적으로 SAS 장치들 또는 SAS 장치 제어기들이라 지칭함)을 상호 접속하는 데 사용되는 SAS 네트워크 도메인의 포트 수를 확장시킨다.
일반적으로, SAS 개시자는 SAS 도메인의 하나 이상의 SAS 익스팬더의 포트를 통해 정보를 SAS 타겟 장치로 유도한다. SAS 용어에서 "포트"는 논리적인 개념이다. 포트는 SAS 도메인에서 하나 이상의 물리적 링크를 포함할 수 있다. 이러한 물리적 링크는 흔히 SAS 도메인의 용어에서 PHY이라 지칭된다. 포트는 단일 PHY를 사용하거나, 포트가 넓은 포트로 구성되는 경우, 더 상위의 대역폭을 제공하기 위해 논리적으로 그룹화되는 복수의 PHY를 사용할 수 있다.
다양한 프로토콜이 SAS 표준에서 정의되며, 각각 특정 종류의 장치와의 통신 및/또는 특정 애플리케이션에 대해 유용하다. 직렬 SCSI 프로토콜("SSP")은 복수의 개시자 및 타겟을 지원하는 SCSI 교환의 맵핑(mapping)을 제공한다. SATA 터널링된 프로토콜("STP")은 복수의 개시자 및 타겟을 지원하기 위해 확장되는 SATA의 맵핑을 제공한다. 직렬 관리 프로토콜("SMP")은 관리 프로토콜을 제공한다. 각 프로토콜은, 예를 들어, 애플리케이션 계층 프로세싱, 전송 계층 프로세싱 및 링크 계층 프로세싱을 포함하는 교환 계층을 정의한다. 예를 들어, 일반적으로, STP는 SAS 도메인에 결합되는 SATA 장치와 통신하는 데에 사용된다. STP 개시자(가령, 호스트 시스템 또는 SAS 익스팬더)는 STP 링크 계층을 사용하여 STP 타겟(가령, SATA 저장 장치)과 정보를 교환한다. 일반적으로, STP 링크 계층은 SATA 관련 교환을 캡슐화하고(encapsulates) SAS 도메인 교환으로의 흐름을 제어한다. 예를 들어, SSP는 SAS 도메인에 결합되는 SCSI 장치와 통신하는 데에 사용된다. SSP 개시자는 SSP 링크 계층, 전송 계층 등을 사용하여 SSP 타겟과 정보를 교환한다.
SAS 사양은 현재 SAS 도메인 내의 구역 구분 기능(zoning capabilities)을 지원한다. SAS 구역 구분 익스팬더(가령, 구역 구분 기능을 갖는 SAS 익스팬더)는 특정 PHY가 다른 특정 PHY와의 접속에 참가하도록 허용할지를 제어할 수 있다. 이는 PHY를 통해 SAS 구역 구분 익스팬더에 부착되는 2개의 SAS 장치가 통신 가능한지를 제어한다. 이는, 복수의 서버들 사이에서 저장 리소스를 공유하면서, 서버의 각각이 다른 서버 및 다른 서버의 관련 저장 장치에 접속하는 것으로부터 차단되는 것을 보장하기 위해 중요하다. SAS 구역 구분 익스팬더 및 PHY는 구역 그룹을 할당받는다. 따라서, SAS 교환이 SAS 구역 익스팬더를 통해 라우팅되면, SAS 구역 익스팬더는 PHY(가령, PHY에 결합되는 SAS 장치)가 접속에 참가하도록 허용된다 것을 증명할 수 있다. 또한, SAS 구역 구분 익스팬더는 PHY가 접속에 참가하도록 허용되지 않는 경우에 접속을 거부할 수 있다.
SAS 도메인은 구역 관리자를 추가적으로 포함할 수 있는데, 이는 구역 그룹을 SAS 도메인 내의 접속에 참가할 수 있는 PHY에 할당한다. 구역 관리자는 SAS 도메인의 허용 설정을 관리하기 위해 SAS 도메인의 구성요소와 상호 작용하는 애플리케이션일 수 있다. 한 SAS 도메인의 모든 PHY 및 이 PHY에 결합되는 관련 SAS 장치들이 하나의 구역 그룹에 할당될 수 있다. SAS 사양에 따라 실시되는 바와 같이, 128개에 이르는 가능한 구역 그룹이 존재한다.
구역 구분을 쉽게 하기 위해, 각 SAS 구역 구분 익스팬더는 그들의 구역 그룹에 기초하여 PHY들 사이에 접속이 허용되는지를 제어하는 구역 그룹 허용 테이블을 저장한다. 구역 그룹 허용 테이블의 목적은 각 SAS 구역 구분 익스팬더가 소스 및 목적지 SAS 어드레스와 연관되는 구역 그룹을 참조하여 이들이 서로 접속하도록 허용되는지를 파악하는 것이다. 2개의 PHY 사이의 요청되는 접속은, 구역 그룹 허용 테이블이 소스 포트의 구역 그룹과 목적지 포트의 구역 그룹 사이의 액세스가 허용된다고 표시하는 경우에 허용된다. 그렇지 않은 경우에는 접속이 에러와 함께 거부된다.
올바르게 기능하도록 구역 구분하기 위해, SAS 도메인 내의 모든 SAS 구역 구분 익스팬더는 동일한 구역 그룹 허용 테이블을 가져야 한다. 그렇지 않은 경우에는 하나의 SAS 구역 구분 익스팬더가 SAS 도메인의 구역 구분 허용에 기초하면 거부되어야 하는 접속을 허용할 수 있다. 따라서, SAS 구역 구분 구성 및 관리를 위해 SAS 도메인 내에 SMP 명령을 발생시킬 수 있는 구역 구분 슈퍼바이저가 제공된다. 구역 구분 슈퍼바이저는 SAS 구역 구분 익스팬더 중 하나이거나 SAS 도메인에 부착되는 장치일 수 있다. SAS 구역 구분 익스팬더 중 하나가 토폴로지에서의 최대 SAS 어드레스를 갖는 것에 기초하여 SAS 구역 구분 익스팬더 슈퍼바이저로서 선택될 수 있다. SAS 구역 구분 익스팬더 슈퍼바이저는 구역 허용 테이블 변동을 SAS 도메인의 모든 SAS 구역 구분 익스팬더에 전파하는 역할을 한다. 슈퍼바이저의 목적은 다른 SAS 구역 구분 익스팬더 모두가 동일한 구역 그룹 허용 테이블을 사용하고 SAS 도메인 내의 구역 그룹 허용 테이블의 업데이트를 조정하는 것을 보장한다.
모든 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 사용하는 것을 보장하기 위해, 슈퍼바이저는 (가령, SMP 보고 구역 허용 요청을 사용하여) 각 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블을 검색하고 검색된 구역 그룹 허용 테이블을 슈퍼바이저 내의 현재 버전과 비교하여 각 SAS 구역 구분 익스팬더가 동일한 현재 구역 그룹 허용 테이블을 사용하는지를 결정해야 한다. 구역 테이블은 128개의 구역 × 128개의 구역 행렬로서 논리적으로 구성되는데, 여기서 각 성분은 그 행의 대응 구역 그룹이 그 열의 대응 구역 그룹과 접속할 수 있는지를 식별한다. 슈퍼바이저가 각 다른 SAS 구역 구분 익스팬더로부터 구역 허용 테이블을 판독하는 프로세스는 SAS 구역 구분 익스팬더의 각각으로부터 슈퍼바이저로 (적어도 하나의) 128×128 비트 구역 그룹 허용 테이블을 전송할 것을 요구한다. 또한, 슈퍼바이저는 모든 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 사용하는지를 판단하기 위해 검색된 구역 그룹 허용 테이블 모두와 슈퍼바이저 내의 현재 버전을 비교하는 시간을 소비하여야 한다. 구역 그룹 허용 테이블 중 하나가 상이한 경우, 슈퍼바이저는 (가령, SMP 구역 구성 허용 요청(SMP configuration zone permission request)을 사용하여) 상이한 SAS 구역 구분 익스팬더에 구역 그룹 허용 테이블을 업데이트할 필요가 있다.
이 프로세스는 적어도, 새로운 SAS 구역 구분 익스팬더가 슈퍼바이저로 선정되거나 SAS 구역 구분 익스팬더가 테스트 상황 동안 재설정할 때마다 수행되어야 한다는 문제점이 있다. 또한, 이 프로세스는 발견 동안과 SAS 도메인의 구역 그룹 허용 테이블에 변동이 생길 때 수행될 수 있다. 이 프로세스는 느리며 리소스 집약적이다(resource intensive). 또한, 어느 구역 그룹 허용 테이블이 더 최신인지를 판단하기 위한 메커니즘이 현재 SAS 구역 관리에는 존재하지 않는다. SAS 도메인 내에 복수의 충돌하는 구역 그룹 허용 테이블이 존재하는 경우에 충돌을 해결하기 위해 어느 구역 그룹 허용 테이블을 선택할 지에 관한 정보가 존재하지 않는다. 이는 부정확한 구역 구분 및 서버 보안 문제를 야기할 수 있다. SAS 구역 구분 익스팬더는 구역 그룹 허용 테이블이 현행 테이블이라고 보장할 수 없다. 최종적으로, 구역 그룹 허용 테이블이 각 SAS 구역 구분 익스팬더에서 동일할 때까지 I/O는 현재 SAS 도메인을 통해 흐르도록 허용될 수 없으므로, 구역 구분 구성 및 동기화 프로세스는 전체 SAS 도메인 발견 및 테이블 라우팅 구성 프로세스를 느리게 한다.
전술한 바로부터 SAS 도메인의 구역 그룹 허용 테이블을 관리하기 위한 향상된 구조 및 방법을 위한 필요성이 존재한다는 것이 명백하다.
본 발명은 버전 식별자를 사용하는 구역 그룹 허용 테이블 관리 장치 및 방법을 제공함으로써 전술한 문제점과 기타 문제점을 해결하고 이 기술 분야의 수준을 향상시킨다. 본 명세서의 특징 및 양태에 따르면, SAS 도메인의 구역 그룹 허용 테이블은 구역 그룹 허용 테이블의 버전을 표시하는 버전 식별자와 연관된다. SAS 구역 구분 익스팬더 슈퍼바이저는 더 이상 다른 SAS 구역 구분 익스팬더로부터 구역 그룹 허용 테이블을 검색하고 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블이 현행의 것인지를 판단하기 위한 비교 동작을 실행할 필요가 없다. 오히려, 버전 식별자는 구역 그룹 허용 테이블이 현행의 것인지를 판단하는 데 사용될 수 있다.
버전 식별자는 전체 구역 그룹 허용 테이블보다 간결하므로 계산하는 데 리소스 소비가 적다. 간결한 버전 식별자는 기존 통신의 파라미터(즉, SMP 응답 프레임의 필드)로서 2개의 SAS 구역 구분 익스팬더 사이에서 교환될 수 있다. 또한, 버전 식별자는 체크썸과 같은, 특정 구역 그룹 허용 테이블이 오염되었는지를 판단하기 위한 수단을 제공한다. 추후에, SAS 사양에 의해 지원되는 구역 그룹의 수가 변하면(가령, 256 또는 512로 증가하면), 현재 전송 및 비교 프로세스는 더 리소스 집약적으로 될 것이며 더 많은 대역폭과 프로세싱 시간을 요구할 것이다. 대역폭 및 계산 리소스의 관점에서, 추후에 SAS 사양에 의해 지원되는 구역 그룹의 수가 늘어나면 버전 식별자는 더 많은 이점을 지닐 것이다. 또한, 버전 식별자는 복수의 구역 그룹 허용 테이블 중 어느 것이 더 최신인지를 표시함으로써 SAS 도메인 내에 저장되는 구역 그룹 허용 테이블들이 충돌하는 경우에 충돌 문제를 해결하는 메커니즘을 제공한다.
본 명세서의 한 양태는 직렬 연결 SCSI(SAS) 도메인의 구역 그룹 허용 테이블을 관리하는 방법을 제공한다. 이 방법은 버전 식별자를 SAS 도메인의 구역 그룹 허용 테이블과 연관짓는 단계를 포함한다. 또한, 이 방법은 구역 그룹 허용 테이블과 연관되는 버전 식별자에 기초하여, 구역 그룹 허용 테이블이 현행의 것인지를 판단하는 단계를 포함한다.
본 명세서의 다른 양태는 SAS 도메인의 구역 그룹 허용 테이블을 관리하는 방법을 제공한다. 이 방법은 제 1 SAS 구역 구분 익스팬더에 SAS 도메인의 구역 그룹 허용 테이블에 대한 버전 식별자를 저장하는 단계를 포함한다. 또한, 이 방법은 제 1 SAS 구역 구분 익스팬더와 제 2 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 저장하는지를 판단하기 위해 버전 식별자를 제 2 SAS 구역 구분 익스팬더와 교환하는 단계를 더 포함한다.
본 명세서의 다른 양태는 개선된 구역 그룹 허용 테이블 관리를 위해 향상된 SAS 구역 구분 익스팬더를 제공한다. SAS 구역 구분 익스팬더는 SAS 도메인에 대한 구역 그룹 허용 테이블을 포함한다. 또한, SAS 구역 구분 익스팬더는 구역 그룹 허용 테이블과 연관되는 버전 식별자를 포함한다. 버전 식별자는 구역 그룹 허용 테이블의 버전을 식별한다. 또한, SAS 구역 구분 익스팬더는, 구역 그룹 허용 테이블과 연관되는 버전 식별자에 기초하여 구역 그룹 허용 테이블이 현행의 것인지를 판단하도록 구성되는 제어기를 포함한다.
모든 도면에서 동일한 참조번호는 동일하거나 유사한 요소를 나타낸다.
도 1은 버전 식별자를 사용하여 구역 그룹 허용 테이블의 관리를 제공하기 위해 본 명세서의 특징 및 양태를 채택하는 예시적 SAS 도메인의 블록도이다.
도 2는 SAS 도메인의 구역 그룹 허용 테이블의 관리를 제공하기 위해 본 명세서의 특징 및 양태에 따른 예시적 방법을 설명하는 흐름도이다.
도 3은 도 2의 방법의 예시적 추가 세부 사항을 설명하는 흐름도이다.
도 4는 SAS 도메인의 구역 그룹 허용 테이블의 관리를 제공하기 위해 본 명세서의 특징 및 양태에 따른 다른 예시적인 방법을 설명하는 흐름도이다.
도 5는 SAS 도메인의 구역 그룹 허용 테이블의 관리를 제공하기 위해 특징 및 양태에 따른 다른 예시적인 방법을 설명하는 흐름도이다.
도 6 내지 8은 도 2의 방법의 양태의 예시적인 추가적인 세부 사항을 설명하는 흐름도이다.
도 9는 SAS 도메인의 구역 그룹 허용 테이블의 관리를 제공하기 위해 본 명세서의 특징 및 양태에 따른 다른 예시적인 방법을 설명하는 흐름도이다.
도 10은 도 9의 방법의 양태의 예시적인 추가 세부 사항을 설명하는 흐름도이다.
도 1은 본 명세서의 특징 및 양태를 채택하는 예시적인 SAS 도메인(100)을 도시하는 블록도이다. SAS 도메인(100)은 복수의 SAS 구역 구분 익스팬더(105, 140 및 150)을 포함한다. 각 SAS 구역 구분 익스팬더(105, 140 및 150)는 다른 SAS 구역 구분 익스팬더 중 하나 이상에 결합되어 SAS 개시자 장치와 SAS 타겟 장치 사이의 SAS 교환을 라우팅한다. 각 SAS 구역 구분 익스팬더(105, 140 및 150)는 또한 하나 이상의 SAS 장치(132, 134, 136, 142, 144, 152 및 154)에 결합된다. SAS 장치는 SAS 개시자, SAS 타겟 및 SAS 개시자/타겟을 포함할 수 있다. 각 SAS 장치 및 SAS 도메인의 SAS 구역 구분 익스팬더는 PHY로 알려진 하나 이상의 물리적 링크 계층을 가진다. SAS 장치의 관련 PHY를 통해 2개 이상의 SAS 장치들 사이에 접속이 구성된다. 접속은 하나 이상의 SAS 구역 구분 익스팬더를 통해 SAS 장치들 사이에서 라우팅될 수 있다.
SAS 구역 구분 익스팬더(105, 140 및 150)는 SAS 사양에 따라 가동되며 본 명세서의 특징 및 양태를 사용하여 향상되는 구역 구분 기능을 갖는 SAS 익스팬더를 포함할 수 있다. SAS 구역 구분 익스팬더의 PHY는 대응 구역 그룹에 할당될 수 있으며, SAS 구역 구분 익스팬더의 PHY에 결합되는 임의의 SAS 장치가 동일한 SAS 구역 그룹에 할당될 수 있다.
SAS 구역 구분 익스팬더(105)는 관련 버전 식별자(115)를 갖는 구역 그룹 허용 테이블(110)을 포함하며 도시되어 있다. 구역 그룹 허용 테이블(110)은 다른 구역 그룹과 통신하기 위해 SAS 도메인(100)의 구역 그룹의 허용에 관한 정보를 저장한다. 구역 그룹은 구역 구분 익스팬더(가령, 구역 구분 익스팬더(105))의 하나 이상의 PHY에 할당된다. 따라서, SAS 장치(132)에 결합되는 SAS 구역 구분 익스팬더(105)의 PHY는 구역 그룹을 포함할 수 있으며, SAS 장치(134)에 접속되는 PHY는 다른 구역 그룹을 포함할 수 있다. 유사하게, SAS 장치(132 및 134)에 결합되는 SAS 구역 구분 익스팬더(105)의 PHY 모두가 하나의 구역 그룹을 포함할 수 있다.
SAS 구역 구분 익스팬더(105)는 구역 그룹 허용 테이블(110)을 사용하여 하나의 구역 그룹의 특정 PHY가 다른 구역 그룹의 PHY와의 통신에 대해 허용되는지를 판단한다. 버전 식별자(115)는 구역 그룹 허용 테이블(110)의 버전을 식별한다. 버전 식별자(115)는, 예를 들어, 타임 스팸프, 순서적 특징을 갖는 식별자(가령, 숫자, 문자 또는 다른 순서 값), 체크썸(checksum), 구역 그룹 허용 테이블(110)이 생성된 구역 관리자의 어드레스, 전역에서 고유한 식별 번호 또는 구역 그룹 허용 테이블(110)의 2개의 상이한 버전 사이를 구분하는 데 사용될 수 있는 임의의 다른 종류의 식별자를 포함할 수 있다. 또한, SAS 구역 구분 익스팬더(105)는 버전 식 별자(115)를 사용하여 구역 그룹 허용 테이블(11)의 관리를 제공하기 위해 본 명에서의 특징 및 양태에 따라 향상된 제어기(120)를 포함한다. SAS 구역 구분 익스팬더(140 및 150)는 SAS 구역 구분 익스팬더(105)와 유사하게 구성될 수 있는데, 각 SAS 구역 구분 익스팬더가 제어기, SAS 구역 그룹 허용 테이블 및 버전 식별자를 포함할 수 있다. SAS 구역 구분 익스팬더(105, 140 및 150)는 당업자에게 잘 알려진 다른 요소를 포함할 수 있으며 간단히 하기 위해 생략되었다.
SAS 사양은, 올바르게 기능하도록 구역 구분하기 위해, SAS 도메인의 모든 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 사용할 필요가 있다. 따라서, 적어도 하나의 SAS 구역 구분 익스팬더가 다른 SAS 구역 구분 익스팬더와 상이한 구역 그룹 허용 테이블을 사용하는 경우, 각 SAS 구역 구분 익스팬더의 PHY들 사이에서 SAS 교환이 계속될 수 있기 전에, SAS 구역 구분 익스팬더 모두가 그들의 구역 그룹 허용 테이블을 동기화할 필요가 있다. 모든 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블이 동기화되면, 모든 SAS 구역 구분 익스팬더는 SAS 도메인에 대한 구역 그룹 허용 테이블의 현재 버전을 저장하고 있어야 한다. 따라서, SAS 구역 구분 익스팬더는 그 저장된 구역 그룹 허용 테이블이 SAS 도메인에 대해 현행인지를 항상 판단할 수 있어야 한다.
도 2는 SAS 도메인의 구역 그룹 허용 테이블을 관리하기 위해 동작 가능한 본 명세서의 특징 및 양태에 따른 예시적인 방법을 도시하는 흐름도이다. 요소(202)는 버전 식별자와 SAS 도메인의 구역 그룹 허용 테이블을 연관시키도록 동작할 수 있다. 예를 들어, SAS 도메인의 구역 그룹 허용 테이블은 SAS 구역 구분 익스팬더에 저장될 수 있다. 구역 그룹 허용 테이블이 우선 SAS 도메인의 SAS 구역 구분 익스팬더로 저장될 때 버전 식별자는 구역 그룹 허용 테이블과 연관될 수 있다. 구역 그룹 허용 테이블은 SMP 구역 구성 허용 요청의 일부로서 SAS 구역 구분 익스팬더에 저장될 수 있다. 이 요청은 SAS 구역 구분 익스팬더에 구성되는 구역 그룹 허용 테이블에 대한 관련 버전 식별자를 포함할 수 있다. 일단 SAS 구역 구분 익스팬더가 요청을 수신하면, SAS 구역 구분 익스팬더는 SAS 도메인 내의 동작 동안 추후 사용을 위해 구역 그룹 허용 테이블 및 관련 버전 식별자를 저장할 수 있다.
요소(204)는 구역 그룹 허용 테이블이 구역 그룹 허용 테이블과 연관되는 버전 식별자에 기초하여 현행인지를 판단하도록 동작할 수 있다. 예를 들어, SAS 도메인에 대한 구역 그룹 허용 테이블의 현재 버전의 현재 버전 식별자는 제 2 SAS 구역 구분 익스팬더로부터 제 1 SAS 구역 구분 익스팬더에 의해 수신될 수 있다. 제 2 SAS 구역 구분 익스팬더의 현재 버전 식별자는 제 1 SAS 구역 구분 익스팬더의 버전 식별자와 비교되어 제 1 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블이 현행의 것인지를 판단할 수 있다.
SAS 도메인에 대한 구역 그룹 허용 테이블이 요소(204)에 의해 현행의 것으로 판단되는 경우, 요소(206)는 원래 프로세싱을 재개하도록 동작할 수 있다.
그렇지 않고 구역 그룹 허용 테이블이 요소(204)에 의해 현행의 것이 아니라고 판단되는 경우, 요소(208)는 구역 그룹 허용 테이블을 현행의 것으로 업데이트하도록 동작할 수 있다. 예를 들어, SAS 도메인에 대해 현행이 아닌 구역 그룹 허용 테이블을 저장하는 SAS 구역 구분 익스팬더는 SAS 도메인에 대한 구역 그룹 허용 테이블의 현재 버전을 저장하는 것으로 알려진 다른 장치(가령, SAS 구역 구분 익스팬더 슈퍼바이저)에 질의할 수 있다. 그 후, SAS 구역 구분 익스팬더는 SAS 구역 구분 익스팬더 슈퍼바이저로부터 수신된 현재 버전에 대응하도록 구역 그룹 허용 테이블을 업데이트할 수 있다.
본 명세서의 특징 및 양태를 사용하면, SAS 장치(가령, SAS 구역 구분 익스팬더)는, 2개의 구역 그룹 허용 테이블의 각 값이 동일한지를 판단하기 위해 2개의 구역 그룹 허용 테이블의 콘텐츠를 비교하는 대신에, 2개의 버전 식별자만 비교하여 구역 그룹 허용 테이블이 현행의 것인지를 판단할 수 있다. 이는 SAS 구역 구분 익스팬더로부터 SAS 구역 구분 익스팬더 슈퍼바이저로 전체 구역 그룹 허용 테이블을 전송하는 단계를 제거하는데, 이는 SAS 도메인의 대역폭을 소비하는 것이다. 또한, 이는 SAS 구역 구분 익스팬더가 현재 구역 그룹 허용 테이블을 사용하고 있는지를 판단하기 위해 SAS 구역 구분 익스팬더 슈퍼바이저가 실행될 필요가 있는 중앙형 비교를 제거한다. 오히려, 본 명세서의 특징 및 양태에 따르면, SAS 구역 구분 익스팬더 또는 임의의 다른 SAS 장치 또는 구성요소(가령, SAS 구역 관리자)는 SAS 구역 구분 익스팬더 관리자의 지원 없이 그 구역 그룹 허용 테이블이 현행인지를 판단할 수 있다.
도 3은 SAS 구역 구분 익스팬더가 그 구역 그룹 허용 테이블이 다른 SAS 장치(가령, 다른 SAS 구역 구분 익스팬더)의 구역 그룹 허용 테이블과 동일한지를 판단하게 허용하기 위해 본 명세서의 특징 및 양태의 실시예의 추가적인 세부사항을 제공하는 흐름도이다. 도 3은 도 2의 요소(204)의 프로세싱의 추가적인 예시적 세부사항을 제공한다. 전술한 바와 같이, 요소(204)는 일반적으로 구역 그룹 허용 테이블이 현행의 것인지를 판단하도록 동작할 수 있다. 2개의 SAS 구역 구분 익스팬더가 상이한 구역 그룹 허용 테이블을 사용하는 경우, 구역 그룹 허용 테이블 중 적어도 하나가 SAS 도메인에 대해 현행이 아니다. 2개의 SAS 구역 구분 익스팬더의 버전 식별자의 특성을 사용하여, SAS 구역 구분 익스팬더 중 하나 또는 둘 모두가 2개의 상이한 구역 그룹 허용 테이블 중 어느 것이 구역 그룹 허용 테이블의 더 최근 버전 또는 현행인지를 판단할 수 있다.
요소(302)는 제 2 SAS 구역 구분 익스팬더로부터 수신된 버전 식별자를 수신하기 위해 구역 그룹 허용 테이블을 저장하는 SAS 구역 구분 익스팬더 내에서 동작할 수 있다. 제 2 SAS 구역 구분 익스팬더는 저장된 구역 그룹 허용 테이블을 저장할 수 있고, 수신된 버전 식별자는 제 2 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블의 버전을 식별할 수 있다. 수신된 버전 식별자는 그 고유의 구역 그룹 허용 테이블과 동일한지를 판단하기 위해 SAS 구역 구분 익스팬더에 의해 사용된다.
요소(304)는 제 2 SAS 구역 구분 익스팬더로부터 수신된 버전 식별자와 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블과 연관되는 버전 식별자를 비교하도록 동작할 수 있다. 버전 식별자와 수신된 버전 식별자를 비교함으로써, SAS 구역 구분 익스팬더는 자신의 구역 그룹 허용 테이블의 버전 식별자가 SAS 장치의 수신된 버전 식별자와 동일한지를 판단할 수 있다. 버전 식별자가 상이한 경우, SAS 장치 및 SAS 구역 구분 익스팬더는 상이한 구역 그룹 허용 테이블을 사용하며, 구역 그룹 허용 테이블 중 적어도 하나가 현행의 것이 아니다.
버전 식별자 및 수신된 버전 식별자는 SAS 도메인의 2개의 장치(가령, SAS 구역 구분 익스팬더) 사이에서 교환되는 체크썸을 추가적으로 포함할 수 있다. 체크썸은 2개의 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블이 동일한지를 판단하기 위해 2개의 SAS 구역 구분 익스팬더 사이에서 교환될 수 있다. 또한, 체크썸 비교는 구역 그룹 허용 테이블 중 하나 또는 둘 모두가 오염되거나 불완전한지를 판단하기 위해 사용될 수 있다.
도 3에 설명된 방법은 기존 리소스 및 SAS 도메인의 통신을 사용할 수 있다. 예를 들어, SAS 구역 구분 익스팬더는 SMP 보고 일반(SMP report general) 및 SMP 발견 요청 및 응답 내에서 버전 식별자를 교환할 수 있다. SMP 보고 일반과 SMP 발견 요청 및 응답은 SAS 사양에 의해 정의되며, 하나의 SAS 구성요소(가령, SAS 구역 구분 익스팬더)에 의해 사용되어 다른 SAS 구성요소(가령, 다른 SAS 구역 구분 익스팬더)에 관한 정보를 판단한다. 예를 들어, 버전 식별자는 SAS 장치 또는 SAS 구역 구분 익스팬더 사이의 임의의 요청 및 응답 통신의 판매자 고유 필드에서 교환될 수 있다. 따라서, SAS 구역 구분 익스팬더는 발견 동안뿐만 아니라 정상적 관리 동작 동안에도 그 구역 그룹 허용 테이블이 다른 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블과 동일한지를 판단할 수 있다. 이러한 비교 프로세스는 SAS 구역 구분 익스팬더 모두의 구역 그룹 허용 테이블이 현재 버전임을 보장하는데, 그 이유는 임의의 2개의 SAS 구역 구분 익스팬더가 상이한 구역 그룹 허용 테이블을 갖는 경우, 적어도 하나는 현행 버전이 아닐 것이고, 정정된 동작을 통해 현행 버전이 아닌 구역 그룹 허용 테이블이 업데이트될 수 있다.
도 4는 SAS 구역 구분 익스팬더가 다른 SAS 장치(가령, SAS 구역 구분 익스팬더)의 구역 그룹 허용 테이블과 비교하여 그 구역 그룹 허용 테이블이 현재의 것인지를 판단하게 하는 다른 예시적 방법의 흐름도이다.
요소(402)는 전송 SAS 구역 구분 익스팬더로부터 수신되는 버전 식별자를 수신하도록 동작할 수 있다. 전송 SAS 구역 구분 익스팬더는 저장된 구역 그룹 허용 테이블을 저장할 수 있으며, 수신된 버전 식별자는 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블의 버전을 식별할 수 있다. 수신된 버전 식별자는 수신 SAS 구역 구분 익스팬더에 의해 그 자신의 구역 그룹 허용 테이블이 동일한지를 판단하는데 사용된다.
요소(404)는 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블이 현행의 것인지를 판단하기 위해 수신 SAS 구역 구분 익스팬더에 의해 동작 가능하다. 요소(404)는 전송 SAS 구역 구분 익스팬더로부터 수신된 버전 식별자를 수신 SAS 구역 구분 익스팬더의 버전 식별자와 비교하여 버전 식별자 및 수신된 버전 식별 자의 특성이 주어진 때에, 어느 것이 더 최신인지를 판단하도록 동작한다.
버전 식별자 및 수신된 버전 식별자가 타임스탬프 또는 버전 번호와 같은 순서적인 특징을 소유하는 경우, 수신 SAS 구역 구분 익스팬더는 구역 그룹 허용 테이블 - 가령, 수신 익스팬더의 버전 식별자에 대응하는 테이블 또는 전송 익스팬더로부터 수신된 버전 식별자에 대응하는 테이블 중 어느 것이 현행의 것인지를 판단할 수 있다.
예를 들어, 전송 SAS 구역 구분 익스팬더로부터 수신된 버전 식별자가 수신 SAS 구역 구분 익스팬더의 버전 식별자보다 늦은 타임 스탬프를 갖는 경우, 수신 SAS 구역 구분 익스팬더는 그 구역 그룹 허용 테이블이 현행의 것이 아니라고 판단할 수 있다. 유사하게, 수신된 버전 식별자가 그 버전 식별자보다 이른 타임 스탬프를 갖는 경우, 수신 SAS 구역 구분 익스팬더는 그 구역 그룹 허용 테이블이 현행의 것이라고 판단할 수 있는데, 이와 연관되는 더 늦은 버전을 갖기 때문이다. 그 후, 전송 SAS 구역 구분 익스팬더 및 수신 SAS 구역 구분 익스팬더는 그들의 개별 구역 그룹 허용 테이블을 동기화하여 양자가 동일하고 모두 현행일 수 있다.
전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블이 현행의 것인 경우, 요소(406)가 수신 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블을 업데이트한다. 예를 들어, 수신 SAS 구역 구분 익스팬더는 전송 SAS 구역 구분 익스팬더에 구역 그룹 허용 테이블의 불일치를 통보할 수 있으며, 전송 SAS 구역 구분 익스팬더로부터 저장된 구역 그룹 허용 테이블의 카피를 추가로 요청할 수 있다. 그 후, 수신 SAS 구역 구분 익스팬더는 그 구역 그룹 허용 테이블을 업데이트하기 위해 저장된 구역 그룹 허용 테이블의 카피를 사용할 수 있다. 일단 요소(406)의 동작이 완료되면, 두 개의 SAS 구역 구분 익스팬더는 동기화된 구역 그룹 허용 테이블 및 버전 식별자를 가질 것이다
저장된 구역 그룹 허용 테이블이 현행의 것이 아닌 경우, 요소(408)가 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블을 업데이트하도록 동작할 수 있다. 예를 들어, 수신 SAS 구역 구분 익스팬더는 전송 SAS 구역 구분 익스팬더에 구역 그룹 허용 테이블들 사이의 불일치를 통보할 수 있으며, 전송 SAS 구역 구분 익스팬더에 구역 그룹 허용 테이블의 카피를 추가로 전송할 수 있다. 다른 실시예에서, 전송 SAS 구역 구분 익스팬더는 구역 그룹 허용 테이블의 불일치가 통보되면 수신 SAS 구역 구분 익스팬더로부터 구역 구분 그룹 허용 테이블의 카피를 요청할 수 있다. 그 후, 전송 SAS 구역 구분 익스팬더는 그 저장된 구역 그룹 허용 테이블을 업데이트하기 위해 구역 그룹 허용 테이블의 카피를 사용할 수 있다. 일단 요소(408)의 동작이 완료되면, SAS 구역 구분 익스팬더는 동기화된 구역 그룹 허용 테이블 및 버전 식별자를 가질 수 있다.
버전 식별자가 2개의 SAS 구역 구분 익스팬더로 하여금 구역 그룹 허용 테이블의 2개의 상이한 버전 중 어느 것이 현행의 것인지를 판단하게 하는 순서적 또는 다른 특성을 포함하지 않는 경우, 2개의 SAS 구역 구분 익스팬더는 그들의 상이한 구역 그룹 허용 테이블을 동기화할 수 없을 것이다. 여기서, 통신이 한 SAS 구역 구분 익스팬더의 PHY들 사이에서 다른 SAS 구역 구분 익스팬더의 PHY로 통과하게 하는 것은 바람직하지 않을 수 있다. 보안 이유로, 구역 그룹 허용 테이블이 동기화되고 현행의 것이 될 때까지 SAS 교환(가령, SSP 또는 STP 프로토콜과 같은 비-관리 통신)을 2개의 SAS 구역 구분 익스팬더 사이에 보류하는 것이 유리할 수 있다. 그렇지 않은 경우, PHY들(가령, SAS 장치들) 사이의 허용되지 않은 액세스가 발생할 수 있다.
도 5는 SAS 구역 구분 익스팬더(가령, 차단하는 SAS 구역 구분 익스팬더)가 차단하는 SAS 구역 구분 익스팬더와는 다른 구역 그룹 허용 테이블을 갖는 다른 SAS 구역 구분 익스팬더(가령, 차단되는 SAS 구역 구분 익스팬더)와의 SAS 교환을 차단할 수 있도록 하는 다른 예시적인 방법의 흐름도이다.
요소(502)는, 차단된 SAS 구역 구분 익스팬더 및 차단하는 SAS 구역 구분 익스팬더가 SAS 도메인에 대해 구역 그룹 허용 테이블의 상이한 버전을 사용한다는 결정에 응답하여, 차단되는 SAS 구역 구분 익스팬더로부터 차단하는 SAS 구역 구분 익스팬더로의 SAS 교환을 차단할 수 있다. SAS 교환은 차단하는 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블이 차단되는 SAS 구역 구분 익스팬더의 저장되는 구역 그룹 허용 테이블에 대응할 때까지 차단될 수 있다. (가령, SMP 프로토콜을 이용하는) SAS 구역 구분 익스팬더들 사이의 관리 교환이 허용되어, 예를 들어, 2개의 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 사용하는 시점을 결정할 수 있다. 그러나, SAS 구역 구분 익스팬더에 부착되는 SAS 장치들 사이의 SAS 교환은 불일치 구역 그룹 허용 테이블이 해결될 때까지 차단될 수 있다. 차단하는 SAS 구역 구분 익스팬더는 차단되는 SAS 구역 구분 익스팬더에 구역 그룹 허용 테이블들 사이의 불일치를 추가적으로 통보할 수 있다. 유사하게, 차단된 SAS 구역 구분 익스팬더는 구역 그룹 허용 테이블이 동기화될 때까지 2개의 SAS 구역 구분 익스팬더들 사이의 SAS 교환을 차단할 수 있다.
요소(504)는 차단하는 SAS 구역 구분 익스팬더 및 차단되는 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 사용하는지를 판단하도록 동작할 수 있다. 이는, 예를 들어, 차단된 SAS 구역 구분 익스팬더의 수신된 버전을 포함하 는 SMP 보고 일반 요청 및 응답에 의해 결정될 수 있다. 차단된 SAS 구역 구분 익스팬더의 수신된 버전 식별자와 차단하는 SAS 구역 구분 익스팬더의 버전 식별자를 비교함으로써, 차단하는 SAS 구역 구분 익스팬더는 두 개의 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 사용하는지를 판단할 수 있다. 유사하게, SMP 보고 일반 교환은 차단된 SAS 구역 구분 익스팬더가 동일한 2개의 값, 즉, 버전 식별자 및 수신된 버전 식별자를 비교함으로써 동일한 결정을 내릴 수 있게 한다.
일 실시예에서, 차단하는 SAS 구역 구분 익스팬더는 SAS 도메인에 대한 구역 그룹 허용 테이블의 현행의 것인지를 판단하기 위해 SAS 구역 구분 익스팬더 슈퍼바이저에 SMP 보고 일반 요청을 전송할 수 있다. SAS 구역 구분 익스팬더 슈퍼바이저는 구역 구분 관리 기능(가령, 모든 구역 그룹 허용 테이블이 SAS 도메인 내에서 동기화되는 기능)을 수행하기 위해 다른 SAS 구역 구분 익스팬더에 의해 "선택된" SAS 구역 구분 익스팬더이다. SAS 구역 구분 익스팬더 슈퍼바이저는 SMP 보고 일반 요청에 SAS 도메인에 대해 구역 그룹 허용 테이블의 현재 버전에 대한 현재 버전 식별자를 식별하는 SMP 보고 일반 응답과 함께 응답할 수 있다. 차단하는 SAS 구역 구분 익스팬더가 그 구역 그룹 허용 테이블이 현행의 것이 아니라고 판단하는 경우, 차단하는 SAS 구역 구분 익스팬더는 자신의 구역 그룹 허용 테이블과 SAS 구역 구분 익스팬더 슈퍼바이저를 동기화할 수 있고, 요소(504)의 프로세싱을 반복하여 차단된 SAS 구역 구분 익스팬더 및 차단하는 SAS 구역 구분 익스팬더가 이제 동일한 구역 그룹 허용 테이블을 사용하는지를 판단할 수 있다.
차단하는 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블이 현행의 것인 경우, 차단하는 SAS 구역 구분 익스팬더는, 2개의 SAS 구역 구분 익스팬더들 사이에서 SAS 교환이 진행하도록 허용하기 전에, 차단된 SAS 구역 구분 익스팬더가 구역 그룹 허용 테이블의 현재 버전의 사용을 개시하기를 기다릴 수 있다. 그동안, 차단하는 SAS 구역 구분 익스팬더는 다른 SAS 구역 구분 익스팬더들로부터의 교환을 처리할 수 있다.
다른 실시예에서, 차단하는 SAS 구역 구분 익스팬더는 차단된 SAS 구역 구분 익스팬더에 주기적인 요청을 계속 전송하여, 차단된 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블이 현행의 것이 되었는지를 판단할 수 있다. 예를 들어, 이는 차단하는 SAS 구역 구분 익스팬더에 의해 차단되는 SAS 구역 구분 익스팬더로 전송되는, 버전 식별자를 포함하는 SMP 보고 일반 요청을 사용하여 수행될 수 있다. 차단된 SAS 구역 구분 익스팬더는, 그 저장된 구역 그룹 허용 테이블에 대한 저장된 버전 식별자를 포함하는 SMP 보고 일반 응답을 사용하여 응답할 수 있다. 그 후, 차단하는 SAS 구역 구분 익스팬더는, 차단된 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블과 그 자신 소유의 구역 그룹 허용 테이블이 동일한지, 그래서 이들이 모두 현행의 것들인지를 판단할 수 있다.
일단 차단하는 SAS 구역 구분 익스팬더가 차단되는 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블 및 자신의 고유 구역 그룹 허용 테이블이 동일하다고 판단하면, 요소(506)는 2개의 SAS 구역 구분 익스팬더들 사이에 SAS 교환을 허용하는 단계를 재개하도록 동작할 수 있다. 그렇지 않은 경우, 요소(504)는 주 기적으로 검사를 계속하여 저장된 구역 그룹 허용 테이블 및 구역 그룹 허용 테이블이 동일한지를 판단하도록 동작할 수 있다. 다른 실시예에서, 요소(504)의 처리는 차단하는 SAS 구역 구분 익스팬더에 결합되는 SAS 장치와 차단된 SAS 구역 구분 익스팬더에 결합되는 SAS 장치 사이의 통신을 위한 요청과 같은 이벤트에 따라 동작할 수 있다.
당업자는 도 5와 관련하여 설명되는 다양한 실시예가 어느 SAS 구역 구분 익스팬더에 의해서도 실시될 수 있다는 것을 인식할 것이다. 2개의 SAS 구역 구분 익스팬더 사이의 통신은 저장된 구역 그룹 허용 테이블과 구역 그룹 허용 테이블 사이의 불일치를 수립할 수 있다. SAS 구역 구분 익스팬더 중 하나 또는 모두가 불일치가 해소될 때까지 SAS 교환을 차단하도록 결정할 수 있다. 유사하게, 둘 중 한 장치가 그 구역 그룹 허용 테이블이 더 최신인지, 그리고 불일치가 해소되었는지를 판단하도록 동작할 수도 있다.
도 6은 SAS 구역 구분 익스팬더로 하여금 구역 그룹 허용 테이블의 현재 버전을 얻기 위해 SAS 구역 구분 익스팬더 슈퍼바이저와 통신하도록 하는 다른 예시적 방법의 흐름도이다.
전술한 바와 같이, 요소(304)는 전송 SAS 구역 구분 익스팬더로부터의 수신된 버전 식별자와 버전 식별자를 비교하여 2개의 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 사용하는지를 판단하도록 동작할 수 있다. 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블이 수신 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블과 상이한 경우, 장치들 중 하나 또는 모두가 자신의 구역 그룹 허용 테이블과 SAS 구역 구분 익스팬더 슈퍼바이저를 동기화하는 것이 유리할 수 있다. 예를 들어, 순서적인 특성이 구역 그룹 허용 테이블과 저장된 구역 그룹 허용 테이블 중 어느 것이 현행인지를 판단하더라도, 둘 중 하나의 SAS 구역 구분 익스팬더가 SAS 도메인의 현재 구역 그룹 허용 테이블을 사용한다는 것을 확실히 하는 것이 여전히 바람직할 것이다.
요소(602)는 SAS 구역 구분 익스팬더 슈퍼바이저로부터 SAS 도메인의 구역 그룹 허용 테이블의 현재 버전을 요청하도록 동작할 수 있다.
요소(602)의 실시예에서, 수신 SAS 구역 구분 익스팬더는 SAS 도메인의 현재 구역 그룹 허용 테이블의 현재 버전 식별자에 대해 SAS 구역 구분 익스팬더 슈퍼바이저에게 질의할 수 있다. 이는, 예를 들어, SAS 구역 구분 익스팬더 슈퍼바이저에 대한 SMP 보고 일반 요청을 사용하여 수행될 수 있다. 이에 응답하여, SAS 구역 구분 익스팬더 슈퍼바이저는 SAS 도메인의 현재 구역 그룹 허용 테이블에 대한 현재 버전 식별자를 포함하는 SMP 보고 일반 응답을 전송할 수 있다. 그 후, 수신 SAS 구역 구분 익스팬더는 구역 그룹 허용 테이블로의 업데이트가 필요한지를 판단할 수 있다.
수신 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블의 업데이트가 필요한 경우, 요소(604)는 현재 버전에 대응하는 구역 그룹 허용 테이블을 업데이트하도록 동작할 수 있다. 일 실시예에서, 이는 SAS 구역 구분 익스팬더에 대한 SAS 구역 구분 익스팬더 슈퍼바이저로부터의 SMP 구역 구성 요청을 사용하여 수행될 수 있다. 도 6을 참조하여 설명한 프로세스는 전송 SAS 지역 구분 익스팬더에 의해, 저장된 구역 그룹 허용 테이블이 수신 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블과 상이하다는 통보에 따라 추가적으로 실행될 수 있다.
도 7은 SAS 구역 구분 익스팬더가 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블이 업데이트를 필요로 한다는 것을 SAS 구역 구분 익스팬더 슈퍼바이저와 통신할 수 있게 하는 다른 예시적 방법의 흐름도이다.
전술한 바와 같이, 요소(304)는 2개의 SAS 구역 구분 익스팬더들이 동일한 구역 그룹 허용 테이블을 사용하는지를 판단하기 위해 전송 SAS 구역 구분 익스팬더로부터 수신된 버전 식별자와 버전 식별자를 비교하도록 동작할 수 있다. 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블이 수신 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블과 상이한 경우, 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블을 업데이트할 필요가 있다. 예를 들어, 수신 SAS 구역 구분 익스팬더는 그 구역 그룹 허용 테이블이 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블보다 현재인지와, 이에 대응하여 저장된 구역 그룹 허용 테이블이 업데이트를 필요로 하는지를 판단할 수 있다.
요소(702)는 SAS 구역 구분 익스팬더 슈퍼바이저가 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블을 업데이트하도록 요청하도록 동작할 수 있다.
요소(704)는 SAS 구역 구분 익스팬더 슈퍼바이저 내에 저장되는 구역 그룹 허용 테이블의 현재 버전에 대응하도록 전송 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블을 업데이트하도록 동작할 수 있다. 일 실시예에서, 이는 SAS 구역 구분 익스팬더 슈퍼바이저로부터 전송 SAS 구역 구분 익스팬더로의 SMP 구역 구성 요청을 사용하여 수행될 수 있다. 따라서, SAS 구역 구분 익스팬더 모두가 SAS 구역 구분 익스팬더 슈퍼바이저와 동일한 버전의 구역 그룹 허용 테이블을 저장할 수 있다.
일부 상황에서, SAS 구역 구분 익스팬더는 복수의 구역 그룹 허용 테이블을 저장할 수 있는데, 각각은 고유의 버전 식별자를 갖는다. 그 후, SAS 구역 구분 익스팬더에 의한 사용을 위해 복수의 구역 그룹 허용 테이블 중 하나를 선택하는 것이 필요해질 것이다. 예를 들어, SAS 구역 구분 익스팬더 슈퍼바이저 또는 다른 SAS 장치는 추후 사용을 위해 SAS 구역 구분 익스팬더에 구역 그룹 허용 테이블을 전송할 수 있다. 다른 실시예에서, SAS 구역 구분 익스팬더는, SAS 구역 구분 익스팬더가 전환하는 상이한 SAS 도메인과 함께 사용하기 위한 복수의 구역 그룹 허용 테이블을 저장할 수 있다. 다른 실시예에서, SAS 도메인은 종종 구역 그룹 허용 테이블의 복수의 버전 사이를 변경할 수 있으며, SAS 구역 구분 익스팬더는 변경이 이루어질 때마다 새로운 버전의 카피를 수신하는 대신에 추후 사용을 위해 복수의 버전을 저장할 수 있다. 버전 식별자는 복수의 구역 그룹 허용 테이블 사이에서 선택하는 수단을 제공한다.
도 8은 SAS 구역 구분 익스팬더가 복수의 구역 그룹 허용 테이블로부터 하나의 구역 그룹 허용 테이블을 선택하게 하는 본 명세서의 특징 및 양태의 실시예의 추가적인 세부 사항을 제공하는 흐름도이다. 도 8은 도 2의 요소(204)의 프로세싱의 추가적인 세부 사항을 제공한다. 전술한 바와 같이, 일반적으로 요소(204)는 구역 그룹 허용 테이블과 연관되는 버전 식별자에 기초하여 구역 그룹 허용 테이블이 현행의 것인지를 판단하도록 동작할 수 있다.
요소(802)는 수신된 버전 식별자를 수신하도록 동작할 수 있다. 수신된 버전 식별자는 SAS 도메인의 현재 구역 그룹 허용 테이블을 식별한다. 예를 들어, SAS 구역 구분 익스팬더 슈퍼바이저는 SAS 구역 구분 익스팬더에 수신된 버전 식별자를 전송할 수 있다. 유사하게, 수신된 버전 식별자는 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블을 구성하는 다른 SAS 장치로부터 유래될 수 있다.
요소(804)는 수신된 식별자와 복수의 구역 그룹 허용 테이블 중 하나의 대응 버전 식별자를 매칭시킴으로써 SAS 구역 구분 익스팬더 내의 현재 구역 그룹 허용 테이블을 선택하도록 동작할 수 있다. 일단 원하는 구역 그룹 허용 테이블이 선택되면, SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블은 현행일 것이다. 원하는 구역 그룹 허용 테이블을 찾지 못한 경우, SAS 구역 구분 익스팬더는 다른 SAS 장치, 가령, SAS 구역 구분 익스팬더 슈퍼바이저에 그 문제를 통보하고 원하는 구역 그룹 허용 테이블(가령, 현재 버전)의 카피를 얻을 수 있다.
도 9는 SAS 도메인의 구역 그룹 허용 테이블을 관리하기 위해 동작 가능한 본 명세서의 특징 및 양태에 따른 다른 예시적 장법을 도시하는 흐름도이다. 요소(902)는 제 1 SAS 구역 구분 익스팬더에 SAS 도메인의 구역 그룹 허용 테이블을 위한 버전 식별자를 저장하도록 동작할 수 있다.
요소(904)는 제 1 SAS 구역 구분 익스팬더와 제 2 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 저장하는지를 판단하기 위해 제 1 SAS 구역 구분 익스팬더와 제 2 SAS 구역 구분 익스팬더의 버전 식별자를 교환하도록 동작할 수 있다.
요소(906)는 제 2 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블 과 제 1 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블이 동일한지를 판단하도록 동작할 수 있다. 이는 제 1 SAS 구역 구분 익스팬더의 버전 식별자와 제 2 SAS 구역 구분 익스팬더의 다른 버전 식별자를 비교함으로써 달성될 수 있다. 버전 식별자가 상이한 경우, 관련 구역 그룹 허용 테이블이 상이하다. 제 2 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블 및 제 1 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블이 동일하지 않는 경우, SAS 구역 구분 익스팬더 중 적어도 하나는 SAS 도메인의 구역 그룹 허용 테이블의 현재 버전을 저장하지 않는다.
요소(906)의 동작이 구역 그룹 허용 테이블이 동일하다고 판단하면, 본래 프로세싱은 요소(908)에서 재개된다.
그렇지 않은 경우, 요소(906)의 동작이 구역 그룹 허용 테이블이 상이하다고 판단하는 경우, 요소(910)는 구역 그룹 허용 테이블들을 동기화하도록 동작할 수 있다. 일실시예에서, 제 1 및 제 2 SAS 구역 구분 익스팬더는 버전 식별자의 순서적 특성을 사용하여 구역 그룹 허용 테이블들 중 어느 것이 현행인지를 판단할 수 있다. 예를 들어, 버전 식별자는 타임스탬프를 포함할 수 있다. 일단 현행 버전이 식별되면, 제 1 및 제 2 SAS 구역 구분 익스팬더는 현재 구역 그룹 허용 테이블을 교환하여 두 개의 SAS 구역 구분 익스팬더의 구역 그룹 허용 테이블을 동기화할 수 있다.
다른 실시예에서, 제 1 또는 제 2 SAS 구역 구분 익스팬더는 SAS 구역 구분 익스팬더 슈퍼바이저에 구역 그룹 허용 테이블이 제 2 SAS 구역 구분 익스팬더 내의 저장된 구역 그룹 허용 테이블과 동일하지 않다고 통보할 수 있다. 그 후, SAS 구역 구분 익스팬더 슈퍼바이저는 SAS 구역 구분 익스팬더 슈퍼바이저 내에 저장되는 현재 구역 그룹 허용 테이블에 대응하도록 구역 그룹 허용 테이블 및 저장된 구역 그룹 허용 테이블을 동기화하도록 동작할 수 있다. SAS 구역 구분 익스팬더는 또한 불일치 문제를 해결하도록 오퍼레이터 개입을 기다릴 수 있다.
도면 및 전술한 설명으로 본 발명을 설명하였지만, 이러한 설명은 예시적인 것이며 한정적인 것으로 고려되어서는 안 된다. 본 발명의 실시예 및 미세한 변형을 설명하였다. 본 발명의 사상 내에 해당하는 모든 변형 및 수정이 보호되기 원한다. 당업자는 본 발명의 사상의 범위에 해당하는 전술한 실시예의 변형을 인식할 것이다. 특히, 당업자는 본 발명의 특징 및 양태가 전자 회로 또는 범용 프로세서 또는 특수 목적 프로세서의 적합하게 프로그래밍된 인스트럭션으로서 균등하게 구현될 있다는 것을 인식할 것이다. 이러한 회로 및 프로그래밍 설계의 균등물은 설계 선택 사항으로서 당업자에게 잘 알려져 있다. 결과적으로, 본 발명은 전술한 특정 예와 설명에 한정되지 않으며, 다음의 청구범위와 그 균등물에 의해서만 정해진다.

Claims (22)

  1. 직렬 연결 SCSI(Serial Attached SCSI;SAS) 도메인의 SAS 익스팬더에서 동작가능한, SAS 도메인의 구역 그룹 허용 테이블(zone group permission tables)을 관리하는 방법으로서,
    버전 식별자를 상기 SAS 도메인의 구역 그룹 허용 테이블과 연관짓는 단계 - 상기 버전 식별자는 전체 구역 그룹 허용 테이블에 대한 버전을 나타냄 - 와,
    상기 구역 그룹 허용 테이블과 연관된 상기 버전 식별자에 기초하여, 상기 구역 그룹 허용 테이블이 현재 버전인지를 판단하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 버전 식별자 및 상기 구역 그룹 허용 테이블은 상기 SAS 도메인의 SAS 구역 구분 익스팬더(zoning expander)에 저장되며,
    상기 판단하는 단계는,
    전송 SAS 구역 구분 익스팬더의 버전 식별자를 수신하는 단계와,
    상기 구역 그룹 허용 테이블이 현재 버전인지를 판단하기 위해, 상기 수신된 버전 식별자를 상기 SAS 구역 구분 익스팬더의 상기 버전 식별자와 비교하는 단계를 더 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 버전 식별자 및 상기 구역 그룹 허용 테이블은 상기 SAS 도메인의 SAS 구역 구분 익스팬더에 저장되며,
    상기 판단하는 단계는,
    상기 SAS 도메인의 전송 SAS 구역 구분 익스팬더로부터 버전 식별자를 수신하는 단계―상기 수신된 버전 식별자는 상기 전송 SAS 구역 구분 익스팬더 내부의 저장된 구역 그룹 허용 테이블과 연관됨―와,
    상기 SAS 구역 구분 익스팬더의 상기 버전 식별자가 상기 전송 SAS 구역 구분 익스팬더의 상기 수신된 버전 식별자와 동일한지를 판단하기 위해, 상기 SAS 구역 구분 익스팬더의 상기 버전 식별자를 상기 전송 SAS 구역 구분 익스팬더의 상기 수신된 버전 식별자와 비교하는 단계를 더 포함하는
    방법.
  4. 제 3 항에 있어서,
    상기 비교하는 단계는 상기 버전 식별자가 상기 수신된 버전 식별자와 동일하지 않다고 판단하고, 상기 비교하는 단계는,
    상기 수신된 버전 식별자 및 상기 버전 식별자의 순서적 특징에 기초하여, 상기 전송 SAS 구역 구분 익스팬더의 상기 저장된 구역 그룹 허용 테이블과 상기 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블 중 어느 것이 현재 버전인지를 판단하는 단계를 더 포함하는
    방법.
  5. 제 4 항에 있어서,
    상기 전송 SAS 구역 구분 익스팬더의 상기 저장된 구역 그룹 허용 테이블과 상기 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블을 둘 다 현재 버전으로 동기화하는 단계를 더 포함하는
    방법.
  6. 제 3 항에 있어서,
    상기 비교하는 단계는 상기 버전 식별자가 상기 수신된 버전 식별자와 동일하지 않다고 판단하고, 상기 방법은,
    상기 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블이 상기 전송 SAS 구역 구분 익스팬더의 상기 저장된 구역 그룹 허용 테이블에 대응할 때까지, 상기 전송 SAS 구역 구분 익스팬더로부터 상기 SAS 구역 구분 익스팬더로의 SAS 교환을 차단하는 단계를 더 포함하는
    방법.
  7. 제 3 항에 있어서,
    상기 비교하는 단계는 상기 버전 식별자가 상기 수신된 버전 식별자와 동일하지 않다고 판단하고, 상기 방법은,
    상기 SAS 도메인에 대한 상기 구역 그룹 허용 테이블의 현재 버전을 SAS 구역 구분 익스팬더 슈퍼바이저(supervisor)에게 요청하는 단계와,
    상기 SAS 구역 구분 익스팬더 슈퍼바이저로부터 수신된 상기 구역 그룹 허용 테이블의 상기 현재 버전에 대응하도록 상기 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블을 업데이트하는 단계를 더 포함하는
    방법.
  8. 제 3 항에 있어서,
    상기 비교하는 단계는 상기 버전 식별자가 상기 수신된 버전 식별자와 동일하지 않다고 판단하고, 상기 방법은,
    상기 전송 SAS 구역 구분 익스팬더의 상기 저장된 구역 그룹 허용 테이블을 업데이트할 것을 SAS 구역 구분 익스팬더 슈퍼바이저에게 요청하는 단계와,
    상기 저장된 구역 그룹 허용 테이블을 업데이트하는 단계를 더 포함하는
    방법.
  9. 청구항 9은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서,
    상기 버전 식별자는 타임 스탬프를 포함하는
    방법.
  10. 청구항 10은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서,
    상기 버전 식별자는 체크썸(a check sum)을 포함하는
    방법.
  11. 제 1 항에 있어서,
    상기 SAS 도메인의 SAS 구역 구분 익스팬더는 복수의 구역 그룹 허용 테이블을 저장하고,
    상기 판단하는 단계는,
    상기 SAS 구역 구분 익스팬더 내에 버전 식별자를 수신하는 단계―상기 수신된 버전 식별자는 상기 SAS 도메인의 현재의 구역 그룹 허용 테이블을 식별함―와,
    상기 수신된 버전 식별자와 상기 복수의 구역 그룹 허용 테이블 중 하나의 대응하는 버전 식별자를 매칭시킴으로써, 상기 SAS 구역 구분 익스팬더가 사용하기 위한 상기 복수의 구역 그룹 허용 테이블 중 하나를 선택하는 단계―상기 복수의 구역 그룹 허용 테이블 중 선택된 하나는 상기 SAS 도메인에 대해 현재 버전임―를 포함하는
    방법.
  12. 직렬 연결 SCSI(Serial Attached SCSI;SAS) 도메인의 SAS 익스팬더에서 동작가능한, SAS 도메인의 구역 그룹 허용 테이블을 관리하는 방법으로서,
    제 1 SAS 구역 구분 익스팬더에 상기 SAS 도메인의 구역 그룹 허용 테이블에 대한 버전 식별자를 저장하는 단계 - 상기 버전 식별자는 전체 구역 그룹 허용 테이블에 대한 버전을 나타냄 - 와,
    상기 제 1 SAS 구역 구분 익스팬더와 제 2 SAS 구역 구분 익스팬더가 동일한 구역 그룹 허용 테이블을 저장하는지를 판단하기 위해, 상기 제 2 SAS 구역 구분 익스팬더와 상기 버전 식별자를 교환하는 단계를 포함하는
    방법.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제 12 항에 있어서,
    상기 버전 식별자는 타임 스탬프를 포함하는
    방법.
  14. 청구항 14은(는) 설정등록료 납부시 포기되었습니다.
    제 12 항에 있어서,
    상기 버전 식별자는 체크썸을 포함하는
    방법.
  15. 제 12 항에 있어서,
    상기 제 1 SAS 구역 구분 익스팬더 및 상기 제 2 구역 구분 익스팬더는 상이한 구역 그룹 허용 테이블을 저장하고, 상기 방법은,
    상기 제 1 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블이 상기 제 2 SAS 구역 구분 익스팬더의 저장된 구역 그룹 허용 테이블과 동일하지 않다는 것을 SAS 구역 구분 익스팬더 슈퍼바이저에 통보하는 단계와,
    상기 SAS 구역 구분 익스팬더 슈퍼바이저 내에 저장된 현재 구역 그룹 허용 테이블에 대응하도록, 상기 제 1 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블과 상기 제 2 SAS 구역 구분 익스팬더의 상기 저장된 구역 그룹 허용 테이블을 동기화하는 단계를 더 포함하는
    방법.
  16. 직렬 연결 SCSI(Serial Attached SCSI;SAS) 도메인에 대한 구역 그룹 허용 테이블과,
    상기 구역 그룹 허용 테이블과 연관되는 버전 식별자―상기 버전 식별자는 전체 구역 그룹 허용 테이블의 버전을 나타냄―와,
    상기 구역 그룹 허용 테이블과 연관된 상기 버전 식별자에 기초하여, 상기 구역 그룹 허용 테이블이 현재 버전인지를 판단하도록 구성되는 제어기를 포함하는
    SAS 구역 구분 익스팬더.
  17. 제 16 항에 있어서,
    상기 제어기는 또한, 전송 SAS 구역 구분 익스팬더의 버전 식별자를 수신하고 상기 수신된 버전 식별자를 상기 SAS 구역 구분 익스팬더의 버전 식별자와 비교하여 상기 구역 그룹 허용 테이블이 현재 버전인지를 판단하도록 구성되는
    SAS 구역 구분 익스팬더.
  18. 제 16 항에 있어서,
    상기 제어기는 또한, 상기 SAS 도메인의 전송 SAS 구역 구분 익스팬더로부터 버전 식별자를 수신하도록 구성되며―상기 수신된 버전 식별자는 상기 전송 SAS 구역 구분 익스팬더 내의 저장된 구역 그룹 허용 테이블과 연관됨―,
    상기 제어기는 또한, 상기 SAS 구역 구분 익스팬더의 상기 버전 식별자와 상기 전송 SAS 구역 구분 익스팬더의 상기 수신된 버전 식별자를 비교하여 상기 버전 식별자가 상기 수신된 버전 식별자와 동일한지를 판단하도록 구성되는
    SAS 구역 구분 익스팬더.
  19. 제 18 항에 있어서,
    상기 제어기는 또한, 상기 버전 식별자가 상기 수신된 버전 식별자와 동일하지 않은 경우에, 상기 수신된 버전 식별자 및 상기 버전 식별자의 순서적 특성에 기초하여, 상기 전송 SAS 구역 구분 익스팬더의 상기 저장된 구역 그룹 허용 테이블과 상기 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블 중 어느 것이 현재 버전인지를 판단하도록 구성되는
    SAS 구역 구분 익스팬더.
  20. 제 18 항에 있어서,
    상기 제어기는 또한, 상기 전송 SAS 구역 구분 익스팬더의 상기 저장된 구역 그룹 허용 테이블과 상기 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블을 둘다 현재 버전으로 동기화하도록 구성되는
    SAS 구역 구분 익스팬더.
  21. 제 18 항에 있어서,
    상기 제어기는 또한, 상기 버전 식별자가 상기 수신된 버전 식별자와 동일하지 않은 경우, 상기 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블이 상기 전송 SAS 구역 구분 익스팬더의 상기 저장된 구역 그룹 허용 테이블에 대응할 때까지 상기 전송 SAS 구역 구분 익스팬더로부터 상기 SAS 구역 구분 익스팬더로의 SAS 교환을 차단하도록 구성되는
    SAS 구역 구분 익스팬더.
  22. 제 18 항에 있어서,
    상기 제어기는 또한, 상기 SAS 구역 구분 익스팬더의 상기 버전 식별자가 상기 전송 SAS 구역 구분 익스팬더의 상기 수신된 버전 식별자와 동일하지 않은 경우에, 상기 SAS 도메인에 대한 상기 구역 그룹 허용 테이블의 현재 버전을 SAS 구역 구분 익스팬더 슈퍼바이저로부터 요청하도록 구성되며,
    상기 제어기는 또한, 상기 구역 그룹 허용 테이블의 상기 현재 버전에 대응하도록 상기 SAS 구역 구분 익스팬더의 상기 구역 그룹 허용 테이블을 업데이트하도록 구성되는
    SAS 구역 구분 익스팬더.
KR1020087019981A 2006-11-21 2007-09-21 Sas 구역 구분 허용 테이블 관리 방법, sas 구역 구분 익스팬더 KR101414017B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/562,189 2006-11-21
US11/562,189 US7721021B2 (en) 2006-11-21 2006-11-21 SAS zone group permission table version identifiers
PCT/US2007/079224 WO2008063737A1 (en) 2006-11-21 2007-09-21 Sas zone group permission table version identifiers

Publications (2)

Publication Number Publication Date
KR20090082853A KR20090082853A (ko) 2009-07-31
KR101414017B1 true KR101414017B1 (ko) 2014-07-04

Family

ID=39418409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087019981A KR101414017B1 (ko) 2006-11-21 2007-09-21 Sas 구역 구분 허용 테이블 관리 방법, sas 구역 구분 익스팬더

Country Status (6)

Country Link
US (1) US7721021B2 (ko)
EP (1) EP2084594A1 (ko)
JP (1) JP5055376B2 (ko)
KR (1) KR101414017B1 (ko)
CN (1) CN101384985B (ko)
WO (1) WO2008063737A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499308B2 (en) * 2006-12-22 2013-07-30 Lsi Corporation Initiator notification method and apparatus
US8234714B2 (en) * 2007-07-18 2012-07-31 Victor Company Of Japan, Ltd. Method and system for registering domain
US7996509B2 (en) * 2007-09-26 2011-08-09 International Business Machines Corporation Zoning of devices in a storage area network
US8224944B2 (en) * 2008-06-24 2012-07-17 Lsi Corporation Method, apparatus and system for serial attached SCSI (SAS) domain management
US20100036948A1 (en) * 2008-08-06 2010-02-11 Sun Microsystems, Inc. Zoning scheme for allocating sas storage within a blade server chassis
US8244948B2 (en) * 2008-09-05 2012-08-14 Lsi Corporation Method and system for combining multiple SAS expanders into a SAS switch
US8656058B2 (en) * 2008-09-05 2014-02-18 Lsi Corporation Back-off retry with priority routing
US8077605B2 (en) * 2008-09-05 2011-12-13 Lsi Corporation Method for providing path failover for multiple SAS expanders operating as a single SAS expander
US7913023B2 (en) * 2008-09-05 2011-03-22 Lsi Corporation Specifying lanes for SAS wide port connections
US7849248B2 (en) * 2008-09-05 2010-12-07 Lsi Corporation Method and system for combining multiple serial attached small computer system interface (SAS) expanders
US8321596B2 (en) * 2008-09-05 2012-11-27 Lsi Corporation SAS paired subtractive routing
US7730252B2 (en) * 2008-10-30 2010-06-01 Lsi Corporation Method, apparatus and system for serial attached SCSI (SAS) zoning management of a domain using connector grouping
US9079562B2 (en) * 2008-11-13 2015-07-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Active-active failover for a direct-attached storage system
US7990961B2 (en) * 2009-02-25 2011-08-02 Lsi Corporation Apparatus and methods for improved dual device lookup in a zoning SAS expander
JP5535322B2 (ja) * 2010-06-02 2014-07-02 株式会社日立製作所 バックエンドでの通信の規格がsasであるストレージシステム
US8275925B2 (en) * 2010-08-25 2012-09-25 Lsi Corporation Methods and apparatus for improved serial advanced technology attachment performance
US8667511B2 (en) * 2010-09-17 2014-03-04 Lsi Corporation SAS SMP tunneling using SCSI commands
US8938574B2 (en) 2010-10-26 2015-01-20 Lsi Corporation Methods and systems using solid-state drives as storage controller cache memory
US9329790B2 (en) * 2010-12-27 2016-05-03 International Business Machines Corporation Method and system for managing a storage network to reduce power consumption
US20120284435A1 (en) * 2011-05-03 2012-11-08 Myrah Michael G Zone group manager virtual phy
US9128631B2 (en) 2011-06-29 2015-09-08 Hewlett-Packard Development Company, L.P. Storage enclosure bridge detection
US9143432B2 (en) * 2012-04-10 2015-09-22 Hewlett-Packard Development Company, L.P. Expander-targeted zoned broadcast
US9009311B2 (en) * 2012-07-24 2015-04-14 Hewlett-Packard Development Company, L.P. Initiator zoning in progress command
US20140029467A1 (en) * 2012-07-25 2014-01-30 Balaji Natrajan Zoning record update
US20160203089A1 (en) * 2013-08-27 2016-07-14 Hewlett Packard Enterprise Development Lp Expander data routing
US10075476B2 (en) 2013-09-27 2018-09-11 Hewlett Packard Enterprise Development Lp Reusable zone
WO2015126420A1 (en) * 2014-02-24 2015-08-27 Hewlett-Packard Development Company, L.P. Sas zone configuration management
US10019405B2 (en) * 2015-06-19 2018-07-10 Microsemi Solutions (U.S.), Inc. Apparatus and method for transmitting serial ATA information
US9965197B2 (en) * 2015-12-15 2018-05-08 Quanta Computer Inc. System and method for storage area network management using serial attached SCSI expander
CN107403105B (zh) * 2017-06-30 2020-09-04 华为技术有限公司 一种文件系统的权限设置方法及装置
CN108595127B (zh) * 2018-05-09 2021-07-30 杭州宏杉科技股份有限公司 一种划分sas端口分区的方法及装置
US11226751B2 (en) 2019-06-17 2022-01-18 Hewlett Packard Enterprise Development Lp Storage enclosure reconfiguration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050186832A1 (en) 2004-02-09 2005-08-25 Sam Nemazie Dual port serial advanced technology attachment (SATA) disk drive
US20060101171A1 (en) 2004-11-05 2006-05-11 Grieff Thomas W SAS expander
US20060155946A1 (en) 2005-01-10 2006-07-13 Minwen Ji Method for taking snapshots of data

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141296A (ja) * 1993-11-15 1995-06-02 Hitachi Ltd オープンな分散環境におけるセキュリティ管理装置
JP2002041347A (ja) * 2000-05-17 2002-02-08 Hitachi Software Eng Co Ltd 情報提供システムおよび装置
JP4622082B2 (ja) * 2000-10-20 2011-02-02 ソニー株式会社 データ再生装置、データ記録装置、およびデータ再生方法、データ記録方法、リスト更新方法、並びにプログラム提供媒体
JP4398685B2 (ja) * 2003-06-23 2010-01-13 株式会社リコー アクセス制御判断システム、アクセス制御判断方法、アクセス制御判断プログラム、及びそのプログラムを記憶したコンピュータ読み取り可能な記憶媒体
US8239552B2 (en) * 2003-08-21 2012-08-07 Microsoft Corporation Providing client access to devices over a network
US7028106B2 (en) 2003-12-05 2006-04-11 Hewlett-Packard Development Company, L.P. Remapping routing information entries in an expander
US7308534B2 (en) * 2005-01-13 2007-12-11 Hitachi, Ltd. Apparatus and method for managing a plurality of kinds of storage devices
JP2006215954A (ja) 2005-02-07 2006-08-17 Hitachi Ltd ストレージシステム及びストレージ装置のアーカイブ管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050186832A1 (en) 2004-02-09 2005-08-25 Sam Nemazie Dual port serial advanced technology attachment (SATA) disk drive
US20060101171A1 (en) 2004-11-05 2006-05-11 Grieff Thomas W SAS expander
US20060155946A1 (en) 2005-01-10 2006-07-13 Minwen Ji Method for taking snapshots of data

Also Published As

Publication number Publication date
JP2010510578A (ja) 2010-04-02
WO2008063737A1 (en) 2008-05-29
CN101384985A (zh) 2009-03-11
US20080120687A1 (en) 2008-05-22
EP2084594A1 (en) 2009-08-05
JP5055376B2 (ja) 2012-10-24
CN101384985B (zh) 2013-04-03
KR20090082853A (ko) 2009-07-31
US7721021B2 (en) 2010-05-18

Similar Documents

Publication Publication Date Title
KR101414017B1 (ko) Sas 구역 구분 허용 테이블 관리 방법, sas 구역 구분 익스팬더
US7272674B1 (en) System and method for storage device active path coordination among hosts
US7103626B1 (en) Partitioning in distributed computer system
US6502162B2 (en) Configuring vectors of logical storage units for data storage partitioning and sharing
US7548924B2 (en) Managing method for storage subsystem
US7529816B2 (en) System for providing multi-path input/output in a clustered data storage network
US6421711B1 (en) Virtual ports for data transferring of a data storage system
USRE47289E1 (en) Server system and operation method thereof
US7577134B2 (en) Port expander for fibre channel fabrics in storage area networks
US6112263A (en) Method for multiple independent processes controlling access to I/O devices in a computer system
US7103712B2 (en) iSCSI storage management method and management system
WO2012131756A1 (en) Computer system and computer system management method
US20040068561A1 (en) Method for managing a network including a storage system
US8683001B2 (en) Address management device
US7136907B1 (en) Method and system for informing an operating system in a system area network when a new device is connected
US7523176B2 (en) Method, apparatus, and computer program product for reconfiguring a storage area network to support the execution of an application automatically upon execution of the application
JP2012073983A (ja) マルチパスを使用するシステム及び方法
US7885283B2 (en) Apparatus and method for connecting storage devices
US10303635B2 (en) Remote host management using socket-direct network interface controllers
US6810396B1 (en) Managed access of a backup storage system coupled to a network
KR100532339B1 (ko) 클러스터형 컴퓨터 시스템에서 그룹을 액세스하는 방법 및 장치와 컴퓨터 판독 가능한 기록 매체
JP4580195B2 (ja) ファイバーチャネルスイッチを含むコンピュータシステムの管理方法、管理プログラム及びそのコンピュータシステム
US20050262268A1 (en) Computer system having a plurality of storage networks and method for setting information
JP2003030167A (ja) クラスタ化コンピュータ・システムでの入出力ブリッジ・デバイスのアトミック所有権変更動作
US11210254B2 (en) Methods, electronic devices, storage systems, and computer program products for storage management

Legal Events

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

Payment date: 20180601

Year of fee payment: 5