KR20100029015A - 경로 장애 복구 제공 방법, 시스템 및 컴퓨터 판독가능한 매체 - Google Patents
경로 장애 복구 제공 방법, 시스템 및 컴퓨터 판독가능한 매체 Download PDFInfo
- Publication number
- KR20100029015A KR20100029015A KR1020090065728A KR20090065728A KR20100029015A KR 20100029015 A KR20100029015 A KR 20100029015A KR 1020090065728 A KR1020090065728 A KR 1020090065728A KR 20090065728 A KR20090065728 A KR 20090065728A KR 20100029015 A KR20100029015 A KR 20100029015A
- Authority
- KR
- South Korea
- Prior art keywords
- sas expander
- sas
- link
- expander
- physical layer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
제 1 SAS 확장기(expander)와 디바이스 사이에서 실패한 링크가 검출된다. 실패한 링크를 통해 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송은 기능적 링크를 통해 디바이스에 접속된 제 2 SAS 확장기로 재라우팅된다. 제 1 SAS 확장기는 확장기간 통신을 위한 제 1 SAS 확장기의 물리계층(phy) 및 제 2 SAS 확장기의 물리계층을 통해 제 2 SAS 확장기에 접속된다.
Description
관련 출원에 대한 교차 참조
본 출원은 2008년 9월 5일 출원된 미국 가출원 제61/191,037호를 우선권 주장하며, 상기 가출원은 참조로서 본 명세서에 포함된다. 본 출원은 발명자 Stephen B. Johnson, Timothy E. Hoglund 및 Louis H. Odenwald에 의해 본 출원과 동일 날짜에 출원되어 계류중인 발명의 명칭이 "COMBINING MULTIPLE SAS EXPANDERS TO PROVIDE SINGLE SAS EXPANDER FUNCTIONALITY"(대리인 문서번호 08-1075; 속달 우편번호 EM 260723514 US)인 출원과, 발명자 Stephen B. Johnson 및 Christopher McCarty에 의해 본 출원과 동일 날짜에 출원되어 계류중인 발명의 명칭이 "SPECIFYING LANES FOR SAS WIDE PORT CONNECTIONS"(대리인 문서번호 08-1461; 속달 우편번호 EM 260723505 US)인 출원과, 발명자 Stephen B. Johnson, William Petty 및 Owen Parry에 의해 본 출원과 동일 날짜에 출원되어 계류중인 발명의 명칭이 "SAS PAIRED SUBTRACTIVE ROUTING"(대리인 문서번호 08-1513; 속달 우편번호 EM 260723528 US)인 출원과 관련이 있다. 이들 출원 모두는 참조로서 본 명세서에 포함된다.
본 발명은 일반적으로 직렬 부착 SCSI(serial attached SCSI)에 관한 것으로, 보다 구체적으로는 복수의 SAS 확장기(expander)가 단일의 비차단 SAS 확장기로서 동작할 때 경로 장애 복구(path failover)를 제공하는 방법에 관한 것이다.
직렬 부착(serial attached) SCSI(SAS)는 컴퓨터 디바이스들 사이에서 데이터 전송을 수행하도록 설계된 다양한 기술을 지칭하는 용어이다. SAS 프로토콜은 병렬 소형 컴퓨터 시스템 인터페이스(Small Computer Systems Interface)에 대한 직렬 후속기술(serial successor)이다. SAS 프로토콜에서, 모든 SAS 디바이스는 이니시에이터(initiator) 디바이스이거나 또는 타겟 디바이스이거나 또는 확장기 디바이스이다. 이니시에이터 디바이스는 SAS 데이터 전송을 시작하는 디바이스이고, 타겟 디바이스는 이니시에이터 디바이스가 전송한 데이터를 받는 디바이스이다. 이니시에이터 디바이스와 타겟 디바이스는 엔드 디바이스(end device)로 알려져 있다.
SAS 확장기는 복수의 이니시에이터 디바이스와 복수의 타겟 디바이스 사이의 데이터 전송을 용이하게 하는 디바이스이다. SAS 프로토콜은 점대점(point-to-point) 버스 토폴로지를 이용한다. 따라서, 이니시에이터 디바이스가 복수의 타겟 디바이스에 접속할 것을 요구받으면, 이니시에이터 디바이스와 각각의 개별 타겟 디바이스 사이의 각각의 개별 데이터 전송을 용이하게 하기 위해 이니시에이터 디 바이스와 각각의 개별 타겟 디바이스 사이에 직접 접속이 이루어져야 한다. SAS 확장기는 복수의 이니시에이터 디바이스와 복수의 타겟 디바이스 사이의 접속 및 데이터 전송을 관리한다. SAS 확장기는 SAS 디바이스를 포함할 수도 있다.
복수의 SAS(Serial Attached Small Computer System Interface) 확장기를 단일의 결속형 SAS 확장기로서 동작하도록 결합하는 동안 경로 장애 복구(path failover)를 제공하는 방법은 제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 단계와, 실패한 링크를 통해 디바이스에 접속된 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계 -제 1 SAS 확장기는 확장기간 통신을 위한 제 1 SAS 확장기의 물리계층(phy) 및 제 2 SAS 확장기의 물리계층을 통해 제 2 SAS 확장기에 접속됨- 를 포함할 수 있으며, 이에 한정되지는 않는다.
시스템은 복수의 SAS 확장기를 단일의 결속형 SAS로서 동작하도록 결합하는 수단과, 제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 수단과, 실패한 링크를 통해 디바이스에 접속된 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 수단 -제 1 SAS 확장기는 확장기간 통신을 위한 제 1 SAS 확장기의 물리계층 및 제 2 SAS 확장기의 물리계층을 통해 제 2 SAS 확장기에 접속됨- 를 포함하며, 이에 한정되지는 않는다.
컴퓨터 판독가능한 매체는 복수의 SAS 확장기를 단일의 결속형 SAS 확장기에 결합하는 동안 경로 장애 복구(path failover)를 제공하는 방법을 수행하는 컴퓨터 실행가능한 인스트럭션을 가지며, 상기 방법은 제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 단계와, 실패한 링크를 통해 디바이스에 접속된 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 제 1 SAS 확장기의 물리계층 및 제 2 SAS 확장기의 물리계층을 통해 제 2 SAS 확장기에 접속됨- 를 포함하지만, 이에 한정되지는 않는다.
전술한 설명 및 후술하는 상세한 설명은 예시적이며 설명을 위한 것일 뿐이며 본 발명을 한정하는 것은 아니다. 명세서의 일부를 구성하는 첨부한 도면은 본 발명의 요지를 예시한 것이다. 또한, 상세한 설명 및 도면은 본 발명의 원리를 설명하기 위한 것이다.
본 발명의 다양한 이점들은 첨부 도면을 참고하면 당업자에게 보다 잘 이해될 것이다.
이하에서는, 첨부 도면을 참조하여 본 발명을 상세히 설명한다.
도 1에는 본 발명의 일실시예에 따른 단일의(single) 결속형(cohesive) SAS 확장기의 특징을 이루는 SAS 토폴로지가 도시되어 있다. 토폴로지(100)는 내로우 포트(narrow port)(115a...d)를 통해 확장기(120)에 접속된 이니시에이 터(initiator)(110)를 포함할 수 있다. 확장기(120)는 내로우 포트(125a...d)를 통해 단일의 결속형 SAS 확장기(200)에 결속될 수 있다. 단일의 결속형 SAS 확장기(200)는 복수의 개별 SAS 확장기(202a...d)를 포함할 수 있다. SAS 확장기(202a...d)는 동일한 SAS 어드레스를 공유하도록 구성되어, 단일의 공통 와이드 포트(150)로서 동작하도록 내로우 포트(125a...d)를 결합할 수 있다. SAS 토폴로지(100)에서 볼 수 있듯이, 내로우 포트(215a...d)는 결합되어 x4 와이드 포트(150)를 형성할 수 있다. SAS 확장기(202a...d)는 내로우 포트(135a..d)를 통해 확장기(130)에 접속될 수 있다. 확장기(130)는 내로우 포트(145a...d)를 통해 타겟(140)에 접속될 수 있다. SAS 규격(SAS specification)은 모든 접속이 점대점(point-to point)일 것을 요구한다. 그러나, 와이드 포트(150)가 진정한 SAS 와이드 포트이기 때문에 SAS 토폴로지(100)는 SAS 규격을 따른다.
도 2a 내지 2e를 참조하면, 결속형 SAS 확장기(200)는 복수의 물리적으로 분리된 SAS 확장기(202a...h)를 포함할 수 있다. SAS 확장기(202a...h)는 링크(255a...h-294a...h)를 통해 출력 포트(205-244)에 접속될 수 있다. 폭넓게 변화하는 단일의 결속형 SAS 확장기(200)의 구성은, SAS 확장기(202a...h)의 수, SAS 확장기(202a...h)의 포트 수, 출력 포트(205-244)의 수, 출력 포트(205-244)의 폭 및 링크(255a...h-294a...h)에 사용된 SAS 확장기 포트의 수를 감안하여, 본 발명에 의해 고려된다.
출력 포트(205-244)는 와이드 포트일 수 있다. 출력 포트(205-244)는 동일한 SAS 어드레스를 공유하도록 구성될 수 있다. SAS 규격 하에서, 이것은 출력 포 트(205-244)를 동일한 확장기의 단일의 와이드 포트로 정의한다. 각각의 출력 포트(205-244)는 모든 SAS 확장기(202a...h)(도시되어 있지 않음)에 접속될 수 있다. 출력 포트(205-244)의 폭은 각각의 출력 포트(205-244)에 접속하기 위해 얼마나 많은 SAS 확장기 포트가 링크(255a...h-294a...h)에 사용되는 지에 의존할 수 있다. 각각의 SAS 확장기(202a...h)는 각각의 출력 포트(205-244)에 접속된 복수의 SAS 확장기 포트를 가질 수 있다. 예를 들어, 단일의 결속형 SAS 확장기(200)가 하나의 SAS 확장기 포트를 사용하여 링크(255a...h-294a...h)를 통해 각각의 출력 포트(205-244)에 접속된 2개의 SAS 확장기(202a-h)를 포함하면, 출력 포트(205-244)는 x2 와이드 포트가 될 것이다. 또한, 단일의 결속형 SAS 확장기(200)가 2개의 SAS 확장기 포트를 사용하여 링크(255a...h-294a...h)를 통해 각각의 출력 포트(205-244)에 접속된 2개의 SAS 확장기(202a-h)를 포함하면, 출력 포트(205-244)는 x4 와이드 포트가 될 것이다. 이들 구성은 전체 포트 대역폭에서(at full port bandwidth) 단일의 결속형 SAS 확장기(200)의 어느 한 포트에서 임의의 다른 포트로의 동시 액세스를 가능하게 한다.
단일의 결속형 SAS 확장기(300)의 블레이드 센터 스위치 구성(301)이 제공된다. 도 3을 참조하면, 복수의 CPU 블레이드(302)가 입력 포트(305-320)에 접속될 수 있다. 입력 포트(305-320)는 와이드 포트일 수 있다. 입력 포트(305-320)는 동일한 SAS 어드레스를 공유하도록 구성될 수 있다. SAS 규격 하에서, 이것은 입력 포트(305-320)를 동일한 확장기의 단일의 와이드 포트로 정의한다. 각각의 입력 포트(305-320)는 링크(355a...b-375a...b)(도시되어 있지 않음)를 통해 각각의 SAS 확장기(202a...b)에 접속될 수 있다. 블레이드 센터 스위치 구성(301)에서 볼 수 있듯이, 입력 포트(305-320)는 하나의 SAS 확장기 포트를 사용하여 링크(355a...b-375a...b)를 통해 2개의 SAS 확장기(202a...b)에 접속된 x2 와이드 포트이지만, 다른 구성들을 충분히 고려해 볼 수도 있다. 각각의 SAS 확장기(202a...b)는 링크(255a...b-268a...b)(도시되어 있지 않음)를 통해 각각의 출력 포트(205-218)에 접속될 수도 있다. 블레이드 센터 스위치 구성(301)에서 볼 수 있듯이, 출력 포트(205-218)는 2개의 SAS 확장기 포트를 사용하여 링크(255a...b-268a...b)를 통해 2개의 SAS 확장기(202a...b)에 접속된 x4 와이드 포트이지만, 다른 구성을 충분히 고려해 볼 수 있다. 출력 포트(205-218)는 복수의 데이터 저장 장치(303)에 접속될 수 있다.
SAS 확장기(202a...h)는 동일한 SAS 어드레스를 공유하도록 구성될 수도 있다. SAS 규격 하에서, 이것은 SAS 확장기(202a...h)를 단일 확장기로 정의한다. SAS 확장기(202a...h)가 단일 확장기로서 동작하고 반응하도록 펌웨어가 각각의 SAS 확장기(202a...h) 상에서 실행될 수도 있다. 도 4에 도시된 바와 같이, 각각의 SAS 확장기(202a...h)는 확장기간 링크(IEL;inter-expander link)(430-435)를 통해 각각의 202a...h에 접속될 수 있다. IEL(430-435)은 SAS 확장기(202a...h)가 통신하게 할 수 있으며 단일 확장기로서 동작하고 반응하도록 조정할 수 있게 한다. IEL(430-435)은 SMP(SAS Management Protocol) 또는 I2C(Inter-Integrated Circuit Bus Protocol), EPP(Enhanced Parallel Port), 이더넷, 공유 메모리 등과 같은 기타 통신 방법을 통해 통신할 수 있다. IEL(430-435)은 IEL 도메인(420)이 1차 스위치 도메인(primary switched domain)(410)으로부터 구획되게 할 수 있다. 임의의 SAS 규격을 지원하지 않는 루프 문제를 제거하기 위해 IEL(430-435)에서 브로드캐스트가 디스에이블될 수 있다. IEL(430-435)은 복수의 SAS 확장기 포트를 사용할 수 있다. IEL(430-435)에 사용된 물리계층은 1차 스위치 도메인으로부터 완전히 감추어질 수 있다. SAS 확장기(202a...h)의 1차 스위치 도메인에 사용된 물리계층의 넘버링은 단일의 논리 넘버링으로 리맵핑될 수 있다. IEL(430-435)은 임의의 기능적 SAS 확장기들(202a...h) 사이에서 접속이 유지되는 동안에 SAS 확장기(202a...h)의 임의의 결합이 실패하는 것을 허용할 수도 있다. 또한, 모든 입력 포트(305-320) 및 출력 포트(205-244)는 모든 SAS 확장기(202a...h)보다 적은 수의 실패가 발생한 경우에 감소된 대역폭에서 접속을 유지할 수 있다. SMP 타겟 프로세싱은 단일의 결속형 SAS 확장기(200)의 단일의 마스터 SAS 확장기에 의해 행해질 수 있다. 단일의 결속형 SAS 확장기(200)에 대한 접속 요구는 IEL(430-435)을 통해 단일의 마스터 SAS 확장기로 라우팅될 수 있다. SAS 확장기(202a...h)는 SMP 타겟 프로세싱을 공유할 수 있다.
도 6에는 복수의 SAS 확장기를 결합하는 방법이 도시되어 있다. 예를 들어, 이 방법은 후술하는 바와 같이(그리고 도 1, 2a 내지 2e, 3 및 4에 도시된 바와 같이) SAS 확장기를 접속하고 결합하는 기법을 구현할 수 있다. 방법(600)은 제 1 SAS 확장기의 적어도 하나의 제 1 물리계층을 제 1 SAS 확장기로부터 물리적으로 분리된 제 2 SAS 확장기의 적어도 하나의 제 2 물리계층과 함께 적어도 하나의 공통 SAS 와이드 포트로 그룹화하는 단계(602)를 포함할 수 있다. 예를 들면, 적어 도 하나의 공통 SAS 와이드 포트(205-244)로 그룹화하는 단계는 동일한 SAS 어드레스를 적어도 하나의 공통 와이드 포트(205-244)에 할당하는 단계를 포함할 수 있다.
방법(600)은 동일한 SAS 어드레스를 제 1 SAS 확장기 및 제 2 SAS 확장기에 할당하는 단계(604)를 더 포함할 수 있다. 동일한 SAS 어드레스를 제 1 SAS 확장기 및 제 2 SAS 확장기에 할당하는 것은 제 1 SAS 확장기 및 제 2 SAS 확장기가 단일의 결속형 SAS 확장기(200)로서 동작하고 반응할 수 있게 한다. 이 할당은 제 1 SAS 확장기 및 제 2 SAS 확장기 상에서 실행되는 펌웨어를 통해 수행될 수 있다. 또한, 제 1 SAS 확장기 및 제 2 SAS 확장기의 물리계층 넘버링(numbering)은 단일의 결속형 SAS 확장기의 단일의 논리적으로 정렬된 물리계층 넘버링으로서 나타나도록 리맵핑될 수 있다. 예를 들어, 제 1 SAS 확장기의 제 1 물리계층은 단일의 논리적으로 정렬된 넘버링의 제 1 범위 내에 있도록 리맵핑되고, 제 2 SAS 확장기의 제 2 물리계층은 단일의 논리적으로 정렬된 넘버링의 제 2 범위 내에 있도록 리맵핑될 수 있다.
방법(600)은 제 1 SAS 확장기를 확장기간 통신을 위해 제 2 SAS 확장기에 직접 접속하는 단계(606)를 더 포함할 수 있다. 확장기간 통신은 SMP 통신 또는 I2C(Inter-Integrated Circuit Bus Protocol), EPP(Enhanced Parallel Port), 이더넷, 공유 메모리 등과 같은 기타 통신 방법을 이용할 수 있다. 다른 실시예에서는, 확장기간 통신(430-435)을 위한 제 1 SAS 확장기와 제 2 SAS 확장기 사이의 접속이 제 1 SAS 확장기의 물리계층과 제 2 SAS 확장기의 물리계층을 통해 이루어질 수도 있다. 또한, 확장기간 통신을 위한 제 1 SAS 확장기의 물리계층과 확장기간 통신을 위한 제 2 SAS 확장기의 물리계층은 단일의 결속형 SAS 확장기의 1차 스위치 도메인(410)으로부터 감추어질 수도 있다. 제 1 SAS 확장기의 적어도 2개의 물리계층과 제 2 SAS 확장기의 적어도 2개의 물리계층이 제 1 SAS 확장기와 제 2 SAS 확장기 사이에서 확장기간 통신을 하는데 사용될 수 있다. 또한, (예를 들어, 소정의 SAS 확장기의 실패 동안)단일의 결속형 SAS 확장기 내의 적어도 하나의 SAS 확장기가 동작중이면, 모든 공통의 SAS 와이드 포트는 동작중으로 남게 되고, 모든 공통 SAS 와이드 포트는 감소된 대역폭에서 동작한다.
단일의 결속형 SAS 확장기(500)는, 내부 링크가 단일의 결속형 SAS 확장기 내에서 실패할 때 경로 장애 복구(path failover)를 제공하도록 구성될 수 있다. 도 5를 참조하면, 전술한 바와 같이 입력 포트(502-508)는 링크(552a...d-558a...d)를 통해 각각의 SAS 확장기(202a...d)에 접속될 수 있다. 또한, 입력 포트(502-508)는 SAS 와이드 포트일 수 있다. 출력 포트(510-516)는 링크(560a...d-566a...d)를 통해 각각의 SAS 확장기(202a...d)에 접속될 수 있다. 또한, 출력 포트(510-516)는 SAS 와이드 포트일 수 있다. 각각의 SAS 확장기(202a...d)는 확장기간 통신을 위해 SAS 확장기 포트를 통해 서로에게 접속될 수 있다. 단일의 결속형 SAS 확장기(500)에서 볼 수 있듯이, SAS 확장기(202c) 및 출력 포트(516) 사이의 링크(566b)가 실패할 수도 있다. 예를 들면, 물리적 결함으로 인해 링크(566b)가 실패할 수도 있다. 다른 예로서, 링크(566b)는 논리적 문제로 실패할 수도 있다.
실패한 링크(566b)를 통해 전송하고자 한 데이터 전송은 출력 포트(516)에 접속된 다른 SAS 확장기로 재라우팅될 수 있다. 이 데이터 전송은 SAS 확장기들 사이의 확장기간 통신에 사용된 물리계층을 통해 다른 SAS 확장기로 재라우팅될 수 있다. 단일의 결속형 SAS 확장기(500)에서 볼 수 있듯이, 실패한 링크(566b)를 통한 SAS 확장기(202c)와 출력 포트(516) 사이의 데이터 전송은 확장기간 통신 링크(434)를 통해 SAS 확장기(202d)를 통해 재라우팅될 수 있다. SAS 확장기(202d)로부터, 데이터 전송은 링크(566c)를 통해 출력 포트(516)로 재라우팅될 수 있다. 따라서, 출력 포트(516)는 원래 의도한 대로 데이터 전송을 수신할 수도 있지만, 다른 물리계층 상의 데이터 전송을 수신할 수도 있다. 또한, SAS 익스팬드(202d)가 이미 출력 포트(516)로의 활성 링크를 갖고 있다면, SAS 확장기(202c)는 SMP를 통해 제공된 AIP(arbitration in progress)를 갖는 SAS 이니시에이터에 응답할 수 있다. SAS 이니시에이터는 SAS 확장기(202c)로부터 AIP 또는 오픈 리젝트(재시도)(OPEN REJECT(RETRY)) SMP 응답을 수신한 후에 나중에 데이터 전송을 시도할 수 있다.
본 발명의 다른 측면에서, SAS 확장기 상에서 실행되는 펌웨어는 SAS 확장기 루트 테이블을 재프로그램하여 실패한 링크 대신에 확장기간 통신 링크(430-435)를 통해 접속을 재라우팅할 수 있다. 또한, 단일의 결속형 SAS 확장기에 접속된 SAS 이니시에이터는 변경(CHANGE) 프리미티브(primitive)를 수신함으로써 링크(566b)가 실패했음을 알 수 있다. 예를 들면, SMP가 변경(CHANGE) 프리미티브를 제공한다. 그 다음에 SAS 이니시에이터는 예를 들어 SMP를 통해 제공된 SAS 발견(Discovery) 을 수행할 수 있다. 또한, SAS 이니시에이터는 잔여 활성 접속 수를 타겟에게 통지할 수 있으며, 타겟에 대한 잔여 활성 접속의 수와 동일한 수의 동시 데이터 전송만 개시할 수 있다.
도 7에는 단일의 결속형 SAS 확장기로서 작용하도록 복수의 SAS 확장기를 결합하는 동안 경로 장애 복구를 제공하는 방법이 도시되어 있다. 예를 들면, 이 방법은 도 5에 도시된 기법들을 구현할 수 있다. 본 발명의 일실시예에서, 방법(700)은 제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 단계(702)를 포함한다. 예를 들면, 검출된 실패한 링크는 물리적 문제로 인해 실패할 수도 있다. 검출된 실패한 링크는 논리적 문제로 인해 실패할 수도 있다.
방법(700)은 실패한 링크를 통해 디바이스에 접속된 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 디바이스에 접속된 제 2 SAS 확장기에게로 재라우팅하는 단계(704)를 더 포함할 수 있다. 예를 들어, 단일의 결속형 SAS 확장기의 실패한 링크는 실패한 링크 내에서의 물리적인 문제점으로 인해 실패할 수 있다. 다른 예에서는, 실패한 링크가 논리적인 문제로 인해 실패할 수도 있다. 제 1 SAS 확장기는 확장기간 통신을 위한 제 1 SAS 확장기의 물리계층 및 제 2 SAS 확장기의 물리계층을 통해 제 2 SAS 확장기에 접속될 수 있다. 다른 실시예에서는, 실패한 링크를 통해 디바이스에 접속된 SAS 확장기의 데이터 전송을 기능적 링크를 통해 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계가 확장기간 통신을 위한 제 1 확장기의 물리계층 및 확장기간 통신을 위한 제 2 SAS 확장기의 물리계층을 통해 발생할 수 있다. 예시적인 실시예에서, 데이터 전송을 재라우팅하는 단계는 실패한 내부 링크로부터 확장기간 통신을 위한 제 1 확장기의 물리계층 및 확장기간 통신을 위한 제 2 SAS 확장기의 물리계층 사이의 링크로 데이터 전송을 재라우팅하도록 제 1 SAS 확장기의 루트 테이블을 재프로그램하는 단계를 포함한다. 예를 들어, 제 1 SAS 확장기의 루트 테이블의 재프로그래밍은 제 1 SAS 확장기 상에서 실행되는 펌웨어를 통해 수행될 수 있다.
단일의 결속형 SAS 확장기 내의 실패한 링크로부터의 데이터 전송을 확장기간 통신을 위한 링크를 통해 제 2 SAS 익스팬드로 재라우팅하는 단계는 단일의 결속형 SAS 확장기에 결합된 SAS 타겟 및 SAS 이니시에이터에게 그러한 라우팅이 발생하고 있다는 것을 통지하지 않을 수도 있다. 그러나, 제 2 SAS 확장기가 현재 디바이스에 대한 활성 링크를 가지며 데이터가 실패한 링크로부터 제 2 SAS 확장기로 재라우팅되면, 실패한 링크를 통해 디바이스에 접속된 제 1 SAS 확장기가 AIP 응답으로 응답할 수도 있다. 그러한 경우에, AIP 응답을 수신하는 SAS 이니시에이터는 나중에 데이터 전송을 시도할 수도 있다. 단일의 결속형 SAS 확장기에 접속된 SAS 이니시에이터는 변경(CHANGE) 프리미티브를 수신함으로써 실패한 링크를 통지받을 수 있다. 변경(CHANGE) 프리미티브를 수신하면, SAS 이니시에이터는 SAS 발견(Discovery)을 수행할 수 있다. 예를 들어, SMP는 SAS 발견(Discover) 및 SAS 발견(Discover) 응답을 포함하는 SAS 발견(Discovery)을 제공한다.
SAS 이니시에이터 지정 데이터 접속 구성(800)이 제공된다. 도 8을 참조하면, SAS 이니시에이터(810)는 SAS 와이드 포트(880)를 통해 SAS 확장기(820)에 접속될 수 있다. SAS 확장기(830)의 적어도 하나의 물리계층 및 SAS(840)의 적어도 하나의 물리계층은 공통 SAS 와이드 포트(890)에 결합될 수 있다. SAS 확장기(830) 및 SAS 확장기(840)가 단일의 결속형 SAS 확장기로서 동작하도록 하기 위해, SAS 확장기(830)는 동일한 SAS 어드레스를 SAS 확장기(840)와 공유할 수 있다. SAS 확장기(820)는 공통 SAS 와이드 포트(890)를 통해 SAS 확장기(830) 및 SAS 확장기(840)에 접속될 수 있다. SAS 확장기(830)는 또한 SAS 확장기(830)의 물리계층 및 SAS 확장기(840)의 물리계층을 통한 확장기간 통신을 통해 SAS 확장기(840)에 직접 접속될 수도 있다. SAS 확장기(830) 및 SAS 확장기(840)는 단일의 결속형 SAS 확장기로서 동작하지 않고, 캐스캐이드 구성으로 될 수도 있다. 복수의 SAS 타겟(850-875)이 SAS 내로우 포트를 통해 SAS 확장기(830) 및 SAS 확장기(840)에 접속될 수도 있다. SAS 타겟(850-875)의 수는 SAS 확장기(830) 또는 SAS 확장기(840) 상의 물리계층의 수보다 더 많을 수도 있다. 예를 들어, SAS 타겟(850-875)은 JBOD(Just a Bunch Of Disks) SAS 어레이와 같은 하드디스크 어레이일 수도 있다.
SAS 이니시에이터(810)는 SAS 이니시에이터(810)로부터 SAS 타겟(850-875) 중 하나로의 데이터 접속을 생성하는데 사용되는 와이드 포트(880, 890)의 레인을 지정할 수 있다. 와이드 포트(880, 890)의 레인을 지정하는 단계는 공정성 제어(fairness control)에 사용될 수 있는데, 여기서 와이드 포트(880, 890)의 일부 레인은 SAS 타겟(850-875)에 액세스하는데 사용되고 와이드 포트(880, 890)의 다른 레인이 SAS 구성의 다른 부분으로 통과하는데 사용될 수 있다. SAS 이니시에이터(810)는 접속 요구의 OPEN 프레임 내의 레인들을 추가로 지정할 수 있다. 그러 한 OPEN 프레임은 SMP 접속 요구를 통해 제공될 수 있다. SAS 이니시에이터(810)는 SAS 이니시에이터(810)로부터 표준 SAS 발견 프로세스를 수행함으로써 SAS 타겟들(850-875) 중 하나로의 데이터 접속에 대한 최적의 레인을 학습했을 수 있다. SAS 타겟(850-875)과 함께 SAS 확장기(830) 및 SAS 확장기(840)는 SAS 이니시에이터(810)로부터 SAS 타겟(850-875) 중 하나로의 데이터 접속을 위한 최적의 레인으로 SMP 발견 응답을 통해 응답하도록 구성될 수 있다. SAS 이니시에이터(810)와 SAS 타겟들(850-875) 중 하나 사이의 데이터 접속에서의 각각의 SAS 확장기는 데이터 접속을 위해 허용된 레인들에 대해 SAS 이니시에이터(810)로부터의 접속 요구의 OPEN 프레임을 검사하고 이들 지정된 레인에 대해서만 데이터 접속을 형성할 수 있다.
도 9에는 본 발명의 예시적인 실시예에 따른 SAS 도메인 내의 SAS 이니시에이터와 SAS 타겟 사이의 데이터 접속에 대한 SAS 와이드 포트의 가용 레인을 지정하는 방법이 도시되어 있다. 본 발명의 실시예에서, 방법(900)은 데이터 접속을 위한 적어도 하나의 SAS 와이드 포트의 최적의 레인을 발견하는 단계(902)를 포함한다. 예를 들어, SAS 이니시에이터(810)는 표준 SAS 발견 프로세스를 수행함으로써, 데이터 접속을 위한 최적의 레인을 발견할 수 있다. 또한, SAS 이니시에이터(810)에 대한 데이터 접속을 위한 최적의 레인과 통신하기 위해 SMP 발견 응답이 사용될 수도 있다.
방법(900)은 SAS 도메인의 각 레벨의 SAS 와이드 포트 내에서의 데이터 접속을 위한 가용 레인을 지정하는 단계(904)를 더 포함할 수 있다. 예를 들어, 데이 터 접속을 위해 가용 레인은 SAS 이니시에이터 접속 요구를 통해 지정될 수 있다. 데이터 접속을 위해 가용 레인은 또한 SAS 이니시에이터 접속 요구의 OPEN 프레임 내에서 지정될 수 있다.
방법(900)은 데이터 접속을 위해 지정된 가용 레인에 대해 검사하는 단계(906)를 더 포함할 수 있다. 예를 들어, SAS 확장기(820-840)가 SAS 이니시에이터 접속 요구의 OPEN 프레임을 수신할 때, SAS 확장기는 데이터 접속을 위해 지정된 가용 레인에 대한 OPEN 프레임을 검사할 수 있다.
방법(900)은 지정된 가용 레인의 데이터 접속을 생성하는 단계(908)를 더 포함할 수 있다. 예를 들어, SAS 확장기는 지정된 가용 레인에 대한 데이터 접속을 생성할 수 있다. 또한, SAS 확장기는 지정된 가용 레인에 대한 SAS 이니시에이터 접속 요구의 OPEN 프레임을 검사한 후에 데이터 접속을 생성할 수 있다.
짝을 이루는 서브트랙티브 라우팅(paired subtractive routing)을 이용하는 SAS 캐스캐이드 토폴로지가 제공된다. 짝을 이루는 서브트랙티브 라우팅을 이용하기 위해, SAS 토폴로지(1000) 내의 SAS 디바이스는 벤더 고유 SMP 함수(vendor unique SMP Function)를 참조할 수 있다. SAS 이니시에이터(1002-1004)는 벤더 고유 SMP 함수가 지원되는 지를 알기 위해, SMP를 통해 제공된 SMP 리포트 제조업자 정보(SMP REPORT MANUFACTURER INFORMATION) 응답을 검사할 수 있다. 만약 지원된다면, SAS 이니시에이터(1002-1004)는 벤더 고유 SMP 함수를 사용하여 짝을 이루는 서브트랙티브 라우팅에 대한 수정된 라우팅 속성을 갖는 SAS 확장기(1010-1024)의 물리계층의 리스트를 요구할 것이다. 예를 들어, SAS 이니시에이터(1002-1004)가 SMP 리포트 수정 물리계층 라우팅 속성 리스트 요구(SMP REPORT MODIFIED PHY ROUTING ATTRIBUTE LIST Request)(1100)을 SAS 토폴로지(100)의 각각의 SAS 확장기(1010-1024)에 발행할 수 있다. SMP 리포트 수정 물리계층 라우팅 속성 리스트 요구(1100)를 수신하면, 각각의 SAS 확장기(1010-1024)는 SMP 리포트 수정 물리계층 라우팅 속성 리스트 응답(1120)을 통해 수정되 라우팅 속성을 갖는 물리계층의 리스트로 응답할 수 있다. 동작시에, SMP 리포트 수정 물리계층 라우팅 속성 리스트 응답(1120)은 몇몇 수정된 라우팅 기술자(Modified Routing Descriptor)(1140)를 포함할 수 있다. 각각의 수정된 라우팅 기술자(1140)는 SAS 확장기(1010-1024)의 단일 물리계층 및 단일 물리계층에 대한 수정된 라우팅 속성(1160)을 나타낼 수 있다. 예를 들어, 수정된 라우팅 속성(1160)은 물리계층을 SC(Self Configured), TIOI(Table Initiator Only IN) 또는 TIOO(Table Initiator Only OUT) 중 하나로 식별할 수 있다. TIOI는 입력 물리계층을 물리계층에 대한 라우팅 테이블에 리스트된 SAS 이니시에이터로만 식별할 수 있다. TIOO는 출력 물리계층을 그 물리계층에 대한 라우팅 테이블에 리스트된 SAS 이니시에이터로만 식별할 수 있다.
SAS 이니시에이터(1002-1004)는, SMP 리포트 수정 물리계층 라우팅 속성 리스트 응답(1120)이 물리계층에 대한 수정된 라우팅 속성(1160)을 식별하면 SMP 발견 응답에 의해 제공된 물리계층에 대한 라우팅 속성을 무시할 수도 있다. 본 발명의 일실시예에서, 벤더 고유 SMP 함수는 수정된 라우팅 속성 TIOI, TIOO 및 SC만 보고할 수도 있다. SAS 확장기(1010-1024)는 일부는 표준 라우팅 속성(D, S, T)을 갖고 일부는 수정된 라우팅 속성(TIOI, TIOO, SC)을 갖는 복수의 포트를 가질 수 있다.
SAS 확장기(1010-1024)는 IN 및 OUT 쌍이 되도록 정의된 1차 서브트랙티브 포트를 갖도록 구성될 수 있다. 서브트랙티브 포트의 입력 포트와 출력 포트 모두 그 포트에 대한 루트 테이블에 SAS 이니시에이터(1002-1004)의 어드레스를 요구할 수 있다. 또한, SAS 확장기는 직접 부착된 디바이스를 위한 2차 서브트랙티브 포트를 추가할 수도 있다. 예를 들어, 입력 포트에서 수신된 OPEN은, SMP를 통해 제공된 OPEN의 DEST가 직접 부착된 디바이스(예를 들어 D 라우팅 속성을 갖는 포트에 부착된 디바이스)가 아니거나 OPEN의 DEST가 입력 포트에 대한 루트 테이블에 없으면, 그 서브트랙티브 포트에 대한 출력 포트로부터 송신될 수도 있다. 예를 들어, 출력 포트에서 수신된 OPEN은, OPEN의 DEST가 직접 부착된 디바이스(예컨대, D 라우팅 속성을 갖는 포트에 부착된 디바이스)가 아니거나 또는 OPEN의 DEST가 출력 포트에 대한 루트 테이블에 없으면, 그 서브트랙티브 포트에 대한 입력 포트에서 송신될 수 있다. 수정된 라우팅 속성(TIOI)은 서브트랙티브 포트의 입력 포트를 나타낼 수 있다. 수정된 라우팅 속성(TIOO)은 서브트랙티브 포트의 출력 포트를 나타낼 수 있다. OPEN은 일반적으로 1차 서브트랙티브 포트에 대해 디폴트일 수 있다.
SAS 이니시에이터(1002-1004)는 캐스캐이드 SAS 토폴로지(1000)의 상부 또는 하부에 위치할 수 있다. SAS 이니시에이터(1002-1004)는 이들 자신의 SAS 어드레스만을 캐스캐이드 SAS 토폴로지(1000)의 SAS 확장기(1010-1024)의 TIOI 포트(1060) 및 TIOO 포트(1050)의 루트 테이블로 프로그램할 수 있다. 또한, SAS 이 니시에이터(1002-1004)는 이들 자신의 SAS 어드레스만을 캐스캐이드 SAS 토폴로지(100) 내의 SAS 이니시에이터(1002-1004)의 위치에 따라서, 캐스캐이드 SAS 토폴로지(1000)의 SAS 확장기(1010-1024)의 TIOI 포트(1060)의 루트 테이블 또는 TIOO 포트(1050)의 루트 테이블로 프로그램할 수 있다. SAS 확장기(1010-1024)는 어드레스를 SAS 확장기 루트 테이블(예컨대, 루트 테이블 프로그래밍과 독립적인 위치)로 프로그래할될 때 SAS 이니시에이터(1002-1004)가 서로에 대해 스텝핑하지 않도록 하는 펌웨어를 실행할 수 있다.
SAS 타겟(1070)은 OPEN을 SAS 확장기(1010-1024) 중 하나에게 발행할 수 있다. SAS 확장기(1010-1024) 중 하나에 대한 루트 테이블에서 OPEN의 DEST 어드레스를 찾을 수 있다. OPEN은 DEST 어드레스에 의해 표시된 SAS 이니시에이터에게 송신될 수 있다. 다른 실시예에서는, SAS 이니시에이터(1002-1004) 중 하나가 OPEN을 SAS 확장기(1010-1024) 중 하나에게 발행할 수 있다. SAS 확장기(1010-1024) 중 하나는 먼저 임의의 직접 부착된 디바이스에서 OPEN의 DEST 어드레스를 탐색할 수 있다. 만약, 이 어드레스가 발견되면, OPEN은 적절한 직접 부착된 디바이스로 송신된다. OPEN의 DEST 어드레스가 임의의 직접 부착된 디바이스에서 발견되지 않으면, SAS 익스팬드(1010-1024) 중 하나가 SAS 확장기 루트 테이블에서 OPEN의 DEST 어드레스를 탐색할 수도 있다. 만약, OPEN의 DEST 어드레스가 발견되면, OPEN은 적절한 SAS 이니시에이터로 라우팅된다. OPEN의 DEST 어드레스가 SAS 확장기 루트 테이블에서 발견되지 않으면, SAS 확장기(1010-1024) 중 하나는 OPEN을 그 짝을 이루는 서브트랙티브 포트에서 송신한다.
또한, SAS 캐스캐이드 토폴로지(1000)에서 SAS 구획을 수행하기 위해, 토폴로지 내의 엔드(end) 확장기만이, 엔드 확장기가 직접 부착된 디바이스에 대한 물리계층의 DEST를 OPEN 커맨드 내의 소스 구역 그룹과 비교할 수 있는 지를 검사하는 것을 요구할 수 있다. 이 비교는 구역의 엔드 디바이스 확장기에 도달할 때까지 서브트랙티브로서 작용한다.
도 12에는 SAS 캐스캐이드 토폴로지에서 짝을 이루는 서브트랙티브 라우팅을 수행하는 방법이 도시되어 있다. 방법(1200)은 SAS 확장기 디바이스에 입력 포트를 할당하는 단계(1210)를 포함한다. 방법(1200)은 출력 포트를 SAS 확장기 디바이스에 할당하는 단계(1220)를 더 포함할 수도 있다. 예시적인 실시예에서, 방법(1200)은 출력 포트 및 입력 포트를 짝을 이루는 서브트랙티브 포트로서 동작하도록 서로 짝지우도록 정의하는 단계(1230)를 더 포함할 수 있다. 또한, 방법(1200)은 제 2 입력 포트 및 제 2 출력 포트를 SAS 확장기 디바이스에 추가하는 단계를 포함할 수 있다. 제 2 입력 포트 및 제 2 출력 포트는 2차 서브트랙티브 포트로서 서로 짝지워질 수 있다.
예시적인 실시예에서, 방법(1200)은 OPEN 커맨드의 DEST가 SAS 확장기 디바이스의 직접 부착된 디바이스가 아니고 DEST가 SAS 확장기 디바이스의 루트 테이블에 없으면, OPEN 커맨드를 입력 포트에 수신한 경우 출력 포트로부터 OPEN 커맨드를 송신하는 단계(1250)를 더 포함할 수 있다. 방법(1200)은, OPEN 커맨드의 DEST가 SAS 확장기 디바이스의 직접 부착된 디바이스가 아니고 DEST가 SAS 확장기 디바이스의 루트 테이블에 없으면, OPEN 커맨드를 출력 포트에 수신한 경우에 OPEN 커 맨드를 입력 포트로부터 송신하는 단계(1260)를 더 포함할 수 있다. 또한, 방법(1200)은 OPEN 커맨드의 DEST가 SAS 확장기 디바이스의 직접 부착된 디바이스가 아니고 DEST가 SAS 확장기 디바이스의 루트 테이블에 없으면, OPEN 커맨드를 입력 포트에 수신한 경우 출력 포트로부터 OPEN 커맨드를 송신하는 단계(1250)를 더 포함할 수 있다. 방법(1200)은, OPEN 커맨드의 DEST가 SAS 확장기 디바이스의 직접 부착된 디바이스가 아니고 DEST가 SAS 확장기 디바이스의 루트 테이블에 없으면, OPEN 커맨드를 제 2 출력 포트에 수신한 경우에 OPEN 커맨드를 제 2 입력 포트로부터 송신하는 단계를 더 포함할 수 있다. 방법(1200)은, OPEN 커맨드의 DEST가 SAS 확장기 디바이스의 직접 부착된 디바이스가 아니고 DEST가 SAS 확장기 디바이스(1260)의 루트 테이블에 없으면, OPEN 커맨드를 제 2 출력 포트에 수신한 경우에 OPEN 커맨드를 제 2 입력 포트로부터 송신하는 단계를 더 포함할 수 있다. 또한, 2차 서브트랙티브 포트는 SAS 확장기 디바이스의 직접 부착된 디바이스와 통신하도록 동작할 수도 있다. 또한, OPEN 커맨드는 1차 서브트랙티브 포트에 대해 디폴트일 수 있다.
예시적인 실시예에서, 방법(1200)은 벤더 고유 SMP 함수의 수정된 라우팅 속성을 통해 SAS 확장기의 서브트랙티브 포트를 지정하는 단계를 더 포함할 수 있다. 또한, SAS 이니시에이터는 서브트랙티브 포트에 대한 SMP 발견 응답 속성을 무시할 수도 있으며, 수정된 라우팅 속성이 서브트랙티브 포트에 대해 존재하면 벤더 고유 SMP의 수정된 라우팅 속성을 사용할 수도 있다.
예시적인 실시예에서, 방법(1200)은 SAS 확장기의 루트 테이블 내의 SAS 이 니시에이터 어드레스만 프로그래밍하는 단계(1240)를 더 포함할 수 있다. 예를 들어, SAS 확장기의 루트 테이블 내의 SAS 이니시에이터 어드레스만 프로그래밍하는 단계(1240)는 SAS 확장기에 의해 수행될 수 있다. 또한, SAS 확장기에 의해 프로그램된 SAS 확장기의 루트 테이블은 자체 구성 지정 포트(self-configuration specified port)에 대한 루트 테이블일 수 있다. SAS 확장기의 루트 테이블 내의 SAS 이니시에이터 어드레스만 프로그래밍하는 단계(1240)는 SAS 라우팅 토폴로지 내의 모든 SAS 이니시에이터에 의해 수행될 수 있으며, 각각의 SAS 이니시에이터는 SAS 확장기의 루트 테이블 내의 그 SAS 이니시에이터에 대한 SAS 어드레스만 프로그래밍한다. 또한, 각각의 이니시에이터는 SAS 확장기의 한 유형의 수정된 라우팅 속성 포트의 루트 테이블 내의 그 SAS 이니시에이터에 대한 SAS 어드레스만 프로그래밍할 수 있다. SAS 확장기의 수정된 라우팅 속성 포트의 유형은 SAS 라우팅 토폴로지 내의 SAS 이니시에이터의 위치에 의해 결정될 수 있다. SAS 이니시에이터는 SAS 라우팅 토폴로지의 상부 또는 하부에 위치할 수도 있다.
본 발명에서, 전술한 방법들은 디바이스에 의해 판독가능한 인스트럭션의 세트 또는 소프트웨어로서 구현될 수 있다. 그러한 소프트웨어는 본 발명의 전술한 기능 및 프로세스를 수행하도록 컴퓨터를 프로그램하는데 사용되는 저장된 컴퓨터 코드를 포함하는 컴퓨터 판독가능한 저장 매체를 이용하는 컴퓨터 프로그램 제품일 수 있다. 컴퓨터 판독가능한 매체는 종래의 플로피 디스크, 광 디스크, CD-ROM, 자기 디스크, 하드 디스크 드라이브, 자기광(magneto-optical) 디스크, ROM, RAM, EPROM, EEPROM, 자기 또는 광학 카드, 또는 전자 인스트럭션을 저장하기 위한 다른 적합한 매체를 포함할 수 있지만, 이들에 한정되지는 않는다. 또한, 개시된 방법의 단계들의 특정 순서 또는 체계는 예시적인 방법들의 예들로서 이해해야 한다. 설계의 선호에 따라서, 방법의 단계들의 특정 순서 또는 체계는 개시된 요지 내에서 재배치될 수 있다. 첨부한 방법 청구항들은 샘플 순서로 다양한 단계들의 요소들을 제시하지만, 반드시 제시된 특정 순서 또는 체계로 한정되는 것을 의미하지는 않는다.
이상의 설명으로부터 본 발명 및 많은 부가적인 이점들을 이해할 수 있을 것이며, 본 발명으로부터 벗어나지 않고 또는 그 모든 이점들을 희생하지 않고 구성요소들의 형태, 구성 및 배치에 있어 다양한 변형이 이루어질 수 있음은 명백하다. 전술한 형태는 단지 예시적일 뿐이며, 첨부한 청구범위는 그러한 변형들을 포함한다.
도 1은 단일의 결속(cohesive) SAS 확장기를 나타내는 SAS 토폴로지를 도시한 블록도.
도 2a 내지 도 2e는 단일의 결속형 SAS 확장기의 다양한 구성을 도시한 블록도.
도 3은 단일의 결속형 SAS 확장기의 블레이드 센터 스위치 구성(blade center switch configuration)을 도시한 블록도.
도 4는 단일의 결속형 SAS 확장기의 확장기간 링크를 도시한 블록도.
도 5는 단일의 결속형 SAS 확장기 내에서의 실패한 내부 링크를 도시한 블록도.
도 6은 단일의 결속형 SAS 확장기로서 동작하도록 복수의 SAS 확장기를 결합하는 방법을 도시한 순서도.
도 7은 단일의 결속형 SAS 확장기 내에서 링크가 실패할 때 경로 장애 복구를 제공하는 방법을 도시한 순서도.
도 8은 단일의 결속형 SAS 확장기와의 데이터 접속을 위해 SAS 와이드 포트(wide port)의 선택 레인을 도시한 블록도.
도 9는 단일의 결속형 SAS 확장기와의 데이터 접속을 위한 SAS 와이드 포트의 레인을 지정하는 방법을 도시한 순서도.
도 10은 짝을 이루는 서브트랙티브 라우팅(paired subtractive routing)을 수행하도록 구성된 캐스캐이드 SAS 토폴로지를 도시한 블록도.
도 11a 내지 11d는 짝을 이루는 서브트랙티브 포트에 대한 벤더 고유 함수(vendor unique function), 커맨드 및 기술자(descriptor)를 도시한 도표.
도 12는 캐스캐이드 SAS 토폴로지에서 짝을 이루는 서브트랙티브 라우팅을 수행하는 방법을 도시한 순서도.
Claims (20)
- 복수의 SAS(Serial Attached Small Computer System Interface) 확장기(expander)를 단일의 결속형 SAS 확장기로서 동작하도록 결합하는 동안 경로 장애 복구(path failover)를 제공하는 방법에 있어서,제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 단계와,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층(phy) 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 를 포함하는경로 장애 복구 제공 방법.
- 제 1 항에 있어서,상기 제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 단계는물리적 문제 또는 논리적 문제 중 적어도 하나로 인한 상기 제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 단계를 더 포함하는경로 장애 복구 제공 방법.
- 제 1 항에 있어서,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 는상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 확장기간 통신을 위한 상기 제 2 SAS 확장기의 물리계층을 통해 기능적 링크를 통해 상기 디바이스에 접속된 상기 제 2 SAS 확장기로 재라우팅하는 단계를 더 포함하는경로 장애 복구 제공 방법.
- 제 1 항에 있어서,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 는상기 실패한 내부 링크로부터의 상기 데이터 전송을 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층과 확장기간 통신을 위한 상기 제 2 SAS 확장기의 물리계층 사이의 링크로 재라우팅하도록 상기 제 1 SAS 확장기의 루트 테이블을 재프로그래밍하는 단계를 더 포함하는경로 장애 복구 제공 방법.
- 제 4 항에 있어서,상기 실패한 내부 링크로부터의 상기 데이터 전송을 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층과 확장기간 통신을 위한 상기 제 2 SAS 확장기의 물리계층 사이의 링크로 재라우팅하도록 상기 제 1 SAS 확장기의 루트 테이블을 재프로그래밍하는 단계는상기 실패한 내부 링크로부터의 상기 데이터 전송을 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층과 확장기간 통신을 위한 상기 제 2 SAS 확장기의 물리계층 사이의 링크로 재라우팅하도록 상기 제 1 SAS 확장기의 루트 테이블을 재프로그래밍하는 단계를 더 포함하되,상기 재프로그래밍은 상기 제 1 SAS 확장기 상의 펌웨어를 통해 수행되는경로 장애 복구 제공 방법.
- 제 1 항에 있어서,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 는 상기 단일의 결속형 SAS 확장기에 접속된 SAS 이니시에이터 및 SAS 타겟에게 상기 재라우팅이 발생하고 있음을 통지하지 않는경로 장애 복구 제공 방법.
- 제 1 항에 있어서,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 는기능적 내부 링크를 통해 상기 디바이스에 접속된 상기 제 2 SAS 확장기가 이미 상기 디바이스에 대한 활성 링크를 갖고 있으면, 상기 실패한 내부 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기로부터의 진행 응답 내의 아비트 레이션(arbitration)으로 응답하는 단계를 더 포함하는경로 장애 복구 제공 방법.
- 제 7 항에 있어서,상기 기능적 내부 링크를 통해 상기 디바이스에 접속된 상기 제 2 SAS 확장기가 이미 상기 디바이스에 대한 활성 링크를 갖고 있으면, 상기 실패한 내부 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기로부터의 진행 응답 내의 아비트레이션(arbitration)으로 응답하는 단계는상기 재라우팅된 데이터 전송을 요구하여 진행 응답 내의 아비트레이션을 수신하는 SAS 이니시에이터에 의해 조만간에 상기 재라우팅된 데이터 전송을 재시도하는 단계를 더 포함하는경로 장애 복구 제공 방법.
- 제 1 항에 있어서,상기 단일의 결속형 SAS 확장기에 접속된 SAS 이니시에이터가 변경(CHANGE) 프리미티브(primitive) 수신을 통해 상기 실패한 링크가 존재한다는 통지를 수신하는 단계를 더 포함하는경로 장애 복구 제공 방법.
- 제 9 항에 있어서,상기 단일의 결속형 SAS 확장기에 접속된 SAS 이니시에이터는 상기 변경(CHANGE) 프리미티브 수신 시에 SAS 발견(Discovery)을 수행하는경로 장애 복구 제공 방법.
- 복수의 SAS 확장기를 단일의 결속형 SAS로서 동작하도록 결합하는 수단과,제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 수단과,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 수단 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 를 포함하는시스템.
- 제 11 항에 있어서,상기 제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 수단은물리적 문제 또는 논리적 문제 중 적어도 하나로 인한 상기 제 1 SAS 확장기 와 디바이스 사이의 실패한 링크를 검출하는 수단을 더 포함하는시스템.
- 제 11 항에 있어서,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 수단 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 은상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 확장기간 통신을 위한 상기 제 2 SAS 확장기의 물리계층을 통해 기능적 링크를 통해 상기 디바이스에 접속된 상기 제 2 SAS 확장기로 재라우팅하는 수단을 더 포함하는시스템.
- 제 11 항에 있어서,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재 라우팅하는 수단 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 은상기 실패한 내부 링크로부터의 상기 데이터 전송을 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층과 확장기간 통신을 위한 상기 제 2 SAS 확장기의 물리계층 사이의 링크로 재라우팅하도록 상기 제 1 SAS 확장기의 루트 테이블을 재프로그래밍하는 수단을 더 포함하는시스템.
- 제 11 항에 있어서,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 수단 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 은 상기 단일의 결속형 SAS 확장기에 접속된 SAS 이니시에이터 및 SAS 타겟에게 상기 재라우팅이 발생하고 있음을 통지하지 않는시스템.
- 제 11 항에 있어서,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 수단 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 은기능적 내부 링크를 통해 상기 디바이스에 접속된 상기 제 2 SAS 확장기가 이미 상기 디바이스에 대한 활성 링크를 갖고 있으면, 상기 실패한 내부 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기로부터의 진행 응답 내의 아비트레이션(arbitration)으로 응답하는 수단을 더 포함하는시스템.
- 제 16 항에 있어서,상기 기능적 내부 링크를 통해 상기 디바이스에 접속된 상기 제 2 SAS 확장기가 이미 상기 디바이스에 대한 활성 링크를 갖고 있으면, 상기 실패한 내부 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기로부터의 진행 응답 내의 아비트레이션(arbitration)으로 응답하는 수단은상기 재라우팅된 데이터 전송을 요구하여 진행 응답 내의 아비트레이션을 수 신하는 SAS 이니시에이터에 의해 조만간에 상기 재라우팅된 데이터 전송을 재시도하는 수단을 더 포함하는시스템.
- 제 11 항에 있어서,상기 단일의 결속형 SAS 확장기에 접속된 SAS 이니시에이터가 변경(CHANGE) 프리미티브(primitive) 수신을 통해 상기 실패한 링크가 존재한다는 통지를 수신하는 수단을 더 포함하는시스템.
- 제 18 항에 있어서,상기 변경(CHANGE) 프리미티브를 수신하는 상기 단일의 결속형 SAS 확장기에 접속된 SAS 이니시에이터 상에서 SAS 발견(Discovery)을 수행하는 수단을 더 포함하는시스템.
- 복수의 SAS 확장기를 단일의 결속형 SAS 확장기에 결합하는 동안 경로 장애 복구(path failover)를 제공하는 방법을 수행하는 컴퓨터 실행가능한 인스트럭션을 갖는 컴퓨터 판독가능한 매체에 있어서,상기 방법은제 1 SAS 확장기와 디바이스 사이의 실패한 링크를 검출하는 단계와,상기 실패한 링크를 통해 상기 디바이스에 접속된 상기 제 1 SAS 확장기의 데이터 전송을 기능적 링크를 통해 상기 디바이스에 접속된 제 2 SAS 확장기로 재라우팅하는 단계 -상기 제 1 SAS 확장기는 확장기간 통신을 위한 상기 제 1 SAS 확장기의 물리계층 및 상기 제 2 SAS 확장기의 물리계층을 통해 상기 제 2 SAS 확장기에 접속됨- 를 포함하는컴퓨터 판독가능한 매체.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US19103708P | 2008-09-05 | 2008-09-05 | |
US61/191,037 | 2008-09-05 | ||
US12/384,291 | 2009-04-02 | ||
US12/384,291 US8077605B2 (en) | 2008-09-05 | 2009-04-02 | Method for providing path failover for multiple SAS expanders operating as a single SAS expander |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100029015A true KR20100029015A (ko) | 2010-03-15 |
KR101043548B1 KR101043548B1 (ko) | 2011-06-21 |
Family
ID=41404155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090065728A KR101043548B1 (ko) | 2008-09-05 | 2009-07-20 | 경로 장애 복구 제공 방법, 시스템 및 컴퓨터 판독가능한 매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8077605B2 (ko) |
EP (1) | EP2163996A1 (ko) |
JP (1) | JP5297310B2 (ko) |
KR (1) | KR101043548B1 (ko) |
CN (1) | CN101719049A (ko) |
TW (1) | TWI439865B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101463342B1 (ko) * | 2012-05-28 | 2014-11-19 | 후지쯔 가부시끼가이샤 | 중계 장치, 접속 관리 방법, 및 정보 통신 시스템 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656058B2 (en) * | 2008-09-05 | 2014-02-18 | Lsi Corporation | Back-off retry with priority routing |
US8270290B2 (en) * | 2008-12-19 | 2012-09-18 | Rockstar Bidco, LP | Resilient attachment to provider link state bridging (PLSB) networks |
JP5327036B2 (ja) * | 2009-12-21 | 2013-10-30 | 富士通株式会社 | 記憶装置接続装置,ストレージ装置,情報管理方法及び情報管理プログラム |
JP5528243B2 (ja) * | 2010-07-23 | 2014-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチパスを制御するシステム及び方法 |
US9286253B2 (en) | 2011-01-21 | 2016-03-15 | Hewlett Packard Enterprise Development Lp | System and method for presenting devices through an SAS initiator-connected device |
US8782318B2 (en) * | 2011-03-02 | 2014-07-15 | Intel Corporation | Increasing Input Output Hubs in constrained link based multi-processor systems |
CN102508793A (zh) * | 2011-10-11 | 2012-06-20 | 浪潮电子信息产业股份有限公司 | 一种防止磁盘存储系统扩配磁盘的方法 |
US8843666B2 (en) * | 2012-03-02 | 2014-09-23 | Lsi Corporation | Method for optimizing wide port power management in a SAS topology |
US8918557B2 (en) * | 2012-03-16 | 2014-12-23 | Lsi Corporation | SAS expander and method to arbitrate traffic in a redundant expander system |
WO2013183084A1 (en) * | 2012-06-06 | 2013-12-12 | Hitachi, Ltd. | Storage system, storage control apparatus and method |
US9135198B2 (en) * | 2012-10-31 | 2015-09-15 | Avago Technologies General Ip (Singapore) Pte Ltd | Methods and structure for serial attached SCSI expanders that self-configure by setting routing attributes of their ports based on SMP requests |
US8793406B2 (en) | 2012-11-16 | 2014-07-29 | Hewlett-Packard Development Company, L.P. | SAS switch that supports bulk discovery wherein the bulk discovery is either on a push basis or pull basis |
US9026706B2 (en) | 2012-12-14 | 2015-05-05 | Lsi Corporation | Method and system for detecting multiple expanders in an SAS topology having the same address |
US9092398B2 (en) * | 2013-02-14 | 2015-07-28 | Avago Technologies General Ip (Singapore) Pte Ltd | Restoring expander operations in a data storage switch |
US8990448B2 (en) | 2013-03-08 | 2015-03-24 | Lsi Corporation | Smart discovery model in a serial attached small computer system topology |
US9411764B2 (en) * | 2013-07-23 | 2016-08-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Optimized redundant high availability SAS topology |
CN104969204B (zh) | 2013-09-05 | 2018-02-09 | 株式会社日立制作所 | 存储系统以及存储控制方法 |
US10582634B2 (en) | 2016-06-20 | 2020-03-03 | International Business Machines Corporation | Cabling a set of enclosures |
CN107315542B (zh) * | 2017-06-29 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种jbod级联系统 |
CN107844440A (zh) * | 2017-10-26 | 2018-03-27 | 郑州云海信息技术有限公司 | 单端口NVMe SSD的访问方法、装置及可读存储介质 |
US12063273B2 (en) | 2018-02-05 | 2024-08-13 | Microsoft Technology Licensing, Llc. | Server system |
US10809926B2 (en) | 2018-02-05 | 2020-10-20 | Microsoft Technology Licensing, Llc | Server system |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6598106B1 (en) * | 1999-12-23 | 2003-07-22 | Lsi Logic Corporation | Dual-port SCSI sub-system with fail-over capabilities |
US7363382B1 (en) * | 2003-03-31 | 2008-04-22 | Cisco Technology, Inc. | Apparatus, methods, and articles incorporating multiple path failover driver mechanism |
US7035952B2 (en) * | 2003-09-24 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | System having storage subsystems and a link coupling the storage subsystems |
US7039741B2 (en) * | 2003-09-25 | 2006-05-02 | International Business Machines Corporation | Method and apparatus for implementing resilient connectivity in a serial attached SCSI (SAS) domain |
US7058749B2 (en) * | 2003-11-13 | 2006-06-06 | Dell Products L.P. | System and method for communications in serial attached SCSI storage network |
JP4220887B2 (ja) * | 2003-11-17 | 2009-02-04 | 株式会社日立製作所 | ディスク装置及びその制御方法 |
US20050138221A1 (en) * | 2003-12-23 | 2005-06-23 | Intel Corporation | Handling redundant paths among devices |
US20050193178A1 (en) * | 2004-02-27 | 2005-09-01 | William Voorhees | Systems and methods for flexible extension of SAS expander ports |
US9264384B1 (en) * | 2004-07-22 | 2016-02-16 | Oracle International Corporation | Resource virtualization mechanism including virtual host bus adapters |
US7676613B2 (en) * | 2004-08-03 | 2010-03-09 | Lsi Corporation | Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port |
US7171500B2 (en) * | 2004-08-18 | 2007-01-30 | Lsi Logic Corporation | Systems and methods for target mode connection management in SAS connections |
JP4555029B2 (ja) | 2004-09-01 | 2010-09-29 | 株式会社日立製作所 | ディスクアレイ装置 |
US7644168B2 (en) * | 2004-11-05 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | SAS expander |
US7308534B2 (en) * | 2005-01-13 | 2007-12-11 | Hitachi, Ltd. | Apparatus and method for managing a plurality of kinds of storage devices |
US7668925B1 (en) * | 2005-01-28 | 2010-02-23 | Pmc-Sierra, Inc. | Method and apparatus for routing in SAS using logical zones |
US20060194386A1 (en) * | 2005-02-25 | 2006-08-31 | Dell Products L.P. | Method and apparatus for supporting port aggregation of serial attached SCSI wide ports via virtual ports |
US7769831B2 (en) * | 2005-03-22 | 2010-08-03 | Lsi Corporation | System and method for SAS PHY dynamic configuration |
WO2007001728A1 (en) | 2005-06-27 | 2007-01-04 | Emc Corporation | Raid data storage system with sas expansion |
US7953917B2 (en) * | 2005-06-30 | 2011-05-31 | Intel Corporation | Communications protocol expander |
WO2007012919A2 (en) * | 2005-07-27 | 2007-02-01 | Adaptec, Inc. | Ripple queuing algorithm for a sas wide-port raid controller |
US7738366B2 (en) * | 2005-09-13 | 2010-06-15 | Lsi Corporation | Methods and structure for detecting SAS link errors with minimal impact on SAS initiator and link bandwidth |
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 |
US7519854B2 (en) * | 2005-10-14 | 2009-04-14 | International Business Machines Corporation | Internal failover path for SAS disk drive enclosure |
TWI307034B (en) * | 2005-11-23 | 2009-03-01 | Infortrend Technology Inc | Storage virtualization subsystem and system with host-side redundancy via sas connectivity |
US20070198761A1 (en) * | 2005-12-28 | 2007-08-23 | Duerk Vicky P | Connection management mechanism |
US7437462B2 (en) * | 2006-01-06 | 2008-10-14 | Dell Products L.P. | Method for zoning data storage network using SAS addressing |
US7529877B2 (en) * | 2006-03-13 | 2009-05-05 | Lsi Corporation | Apparatus and methods for simplified SSP link layer processing |
JP4775846B2 (ja) * | 2006-03-20 | 2011-09-21 | 株式会社日立製作所 | 物理リンクの割当てを制御するコンピュータシステム及び方法 |
US7707338B1 (en) * | 2006-04-06 | 2010-04-27 | Marvell International Ltd. | WWN table management system and method |
US7480757B2 (en) * | 2006-05-24 | 2009-01-20 | International Business Machines Corporation | Method for dynamically allocating lanes to a plurality of PCI Express connectors |
US7536584B2 (en) * | 2006-06-08 | 2009-05-19 | Dot Hill Systems Corporation | Fault-isolating SAS expander |
WO2007146515A2 (en) | 2006-06-08 | 2007-12-21 | Dot Hill Systems Corporation | Fault-isolating sas expander |
US7673185B2 (en) * | 2006-06-08 | 2010-03-02 | Dot Hill Systems Corporation | Adaptive SAS PHY configuration |
US7958273B2 (en) * | 2006-10-10 | 2011-06-07 | Lsi Corporation | System and method for connecting SAS RAID controller device channels across redundant storage subsystems |
US8447872B2 (en) * | 2006-11-01 | 2013-05-21 | Intel Corporation | Load balancing in a storage system |
US7721021B2 (en) * | 2006-11-21 | 2010-05-18 | Lsi Corporation | SAS zone group permission table version identifiers |
US7624223B2 (en) * | 2006-12-29 | 2009-11-24 | Lsi Corporation | Apparatus and methods for multiple unidirectional virtual connections among SAS devices |
US20080183937A1 (en) * | 2007-01-31 | 2008-07-31 | Brian James Cagno | Method and Apparatus to Reduce EMI Emissions Over Wide Port SAS Buses |
JP4354495B2 (ja) * | 2007-02-09 | 2009-10-28 | 富士通株式会社 | ディスクドライブの自動認識設定装置 |
US20080244620A1 (en) * | 2007-03-27 | 2008-10-02 | Brian James Cagno | Dynamic Communication Fabric Zoning |
US7936767B2 (en) * | 2007-04-30 | 2011-05-03 | International Business Machines Corporation | Systems and methods for monitoring high speed network traffic via sequentially multiplexed data streams |
US8051436B2 (en) * | 2007-06-29 | 2011-11-01 | Emulex Design & Manufacturing Corporation | SAS expander-side optimization for the re-discovery process |
US7876713B2 (en) * | 2007-06-29 | 2011-01-25 | Emulex Design & Manufacturing Corporation | Label switched routing in SAS expanders |
US8074105B2 (en) * | 2007-10-08 | 2011-12-06 | Dot Hill Systems Corporation | High data availability SAS-based RAID system |
JP4685118B2 (ja) | 2008-01-30 | 2011-05-18 | 富士通株式会社 | ストレージシステムおよびケーブル誤接続判定方法 |
JP4521038B2 (ja) | 2008-02-07 | 2010-08-11 | 富士通株式会社 | ストレージ装置、中継装置および動作状態制御方法 |
US8930537B2 (en) * | 2008-02-28 | 2015-01-06 | International Business Machines Corporation | Zoning of devices in a storage area network with LUN masking/mapping |
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 |
-
2009
- 2009-04-02 US US12/384,291 patent/US8077605B2/en not_active Expired - Fee Related
- 2009-06-30 TW TW098121993A patent/TWI439865B/zh not_active IP Right Cessation
- 2009-07-03 EP EP09251725A patent/EP2163996A1/en not_active Withdrawn
- 2009-07-20 KR KR1020090065728A patent/KR101043548B1/ko not_active IP Right Cessation
- 2009-07-30 CN CN200910162232A patent/CN101719049A/zh active Pending
- 2009-09-04 JP JP2009204928A patent/JP5297310B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101463342B1 (ko) * | 2012-05-28 | 2014-11-19 | 후지쯔 가부시끼가이샤 | 중계 장치, 접속 관리 방법, 및 정보 통신 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR101043548B1 (ko) | 2011-06-21 |
JP5297310B2 (ja) | 2013-09-25 |
TW201013411A (en) | 2010-04-01 |
US20100064086A1 (en) | 2010-03-11 |
EP2163996A1 (en) | 2010-03-17 |
TWI439865B (zh) | 2014-06-01 |
JP2010061664A (ja) | 2010-03-18 |
US8077605B2 (en) | 2011-12-13 |
CN101719049A (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101043548B1 (ko) | 경로 장애 복구 제공 방법, 시스템 및 컴퓨터 판독가능한 매체 | |
KR101121344B1 (ko) | 복수의 sas 확장기 결합 방법 및 단일의 결속형 sas 확장기 | |
KR101121285B1 (ko) | 짝을 이루는 서브트랙티브 라우팅을 수행하는 방법, 시스템 및 컴퓨터 판독가능한 매체 | |
KR101121298B1 (ko) | 가용 레인 지정 방법, 시스템 및 회로 | |
US8244948B2 (en) | Method and system for combining multiple SAS expanders into a SAS switch | |
US6055228A (en) | Methods and apparatus for dynamic topology configuration in a daisy-chained communication environment | |
US8255676B2 (en) | Non-disruptive methods for updating a controller of a storage system | |
US20140095754A1 (en) | Back-Off Retry with Priority Routing | |
EP3750059A1 (en) | Server system | |
CN116661688B (zh) | 一种sas存储系统的业务响应方法和装置 | |
JP4404493B2 (ja) | 計算機システム | |
JP2004030254A (ja) | リモートsi制御方式 | |
JP2008171327A (ja) | パケット通信デバイス、パケット通信方法、およびパケット通信プログラム | |
TW201242271A (en) | Keeping a communication path smooth in a storage area network |
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: 20140521 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |