KR20130075631A - Sas 도메인을 통해 sata 호스트와 sata 타겟 디바이스 사이에서 통신하기 위한 방법 및 아키텍쳐 - Google Patents

Sas 도메인을 통해 sata 호스트와 sata 타겟 디바이스 사이에서 통신하기 위한 방법 및 아키텍쳐 Download PDF

Info

Publication number
KR20130075631A
KR20130075631A KR1020120068879A KR20120068879A KR20130075631A KR 20130075631 A KR20130075631 A KR 20130075631A KR 1020120068879 A KR1020120068879 A KR 1020120068879A KR 20120068879 A KR20120068879 A KR 20120068879A KR 20130075631 A KR20130075631 A KR 20130075631A
Authority
KR
South Korea
Prior art keywords
sata
sas
target device
host
connection
Prior art date
Application number
KR1020120068879A
Other languages
English (en)
Other versions
KR101362571B1 (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 KR20130075631A publication Critical patent/KR20130075631A/ko
Application granted granted Critical
Publication of KR101362571B1 publication Critical patent/KR101362571B1/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/38Information transfer, e.g. on bus
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

SAS 패브릭 및 개량된 SAS 확장기를 통해 SATA 호스트(SATA 이니시에이터)와 SATA 타겟 디바이스를 직접 연결하기 위한 방법 및 아키텍쳐는 이러한 직접 연결을 지원한다. 현존하는 개방된 접속이 없는 동안 호스트 또는 타겟으로부터의 FIS의 수신에 응답하여 직접 부착된 SATA 호스트와 SATA 타겟 디바이스 사이의 SAS(STP) 접속을 개방하기 위해 개량된 SAS 확장기는 SATA/STP 접속 로직을 포함한다. 개방된 접속은 접속된 호스트와 타겟 사이의 비활성의 사전결정된 타임아웃 기간의 만료 이후에 폐쇄된다. 따라서, 구성면에서 SAS 아키텍쳐 유연성 및 확장성에 대한 이점을 획득하는 반면, 더 간단하고 보다 낮은 비용의 SATA 호스트 및 SATA 타겟 디바이스가 활용될 수 있다. SATA 호스트는 많은 수의 SATA 타겟 디바이스를 갖는 SAS 패브릭을 통해 연결될 수 있고 다수의 SATA 호스트는 SAS 패브릭과 연결될 수 있다.

Description

SAS 도메인을 통해 SATA 호스트와 SATA 타겟 디바이스 사이에서 통신하기 위한 방법 및 아키텍쳐{METHODS AND STRUCTURE FOR COMMUNICATING BETWEEN A SATA HOST AND A SATA TARGET DEVICE THROUGH A SAS DOMAIN}
본 발명은 일반적으로 SATA(Serial Advanced Technology Attachment) 저장 시스템에 관한 것이고 더 구체적으로는 SAS 스위치 패브릭 도메인(Serial Attached SCSI switched fabric domain)을 통해 SATA 호스트/이니시에이터(host/initiator)를 SATA 타겟 디바이스에 연결(coupling)하는 방법 및 아키텍쳐에 관한 것이다.
저장 시스템은 보다 긴 상호접속 케이블링 및 더 양호한 신뢰성(더 양호한 전기 잡음 내성(electrical noise immunity))을 달성하도록 호스트 시스템과 저장 디바이스를 상호접속(interconnect)시키기 위해 종종 고속 직렬 통신을 사용한다. SATA는 이러한 상호접속을 위한 통상적인 통신 프로토콜 및 매체―특히 보다 저 비용의, 제한된 수의 호스트(SATA 이니시에이터)를 갖는 더 작은 저장 시스템 및 저장 디바이스(SATA 타겟 디바이스)―이다. 일반적으로, SATA 호스트는 단일 SATA 타겟 디바이스(예를 들어, 단일 SATA 디스크 드라이브 또는 단일 SATA 저장 시스템)에 직접 연결된다. SATA 포트 멀티플라이어(port multiplier)는 단일 SATA 호스트가 소수의 SATA 타겟 디바이스(즉, 최대 16개의 디바이스)와 연결되는 것을 허용하도록 이 아키텍쳐의 일부 확장을 가능하게 한다. SATA 포트 멀티플라이어는 다수의 SATA 호스트가 단일 SATA 타겟 디바이스와 연결되는 것이 가능하도록 이 아키텍쳐를 더 확장한다. SATA 프로토콜은 SATA 저장 아키텍쳐의 이러한 확장을 본질적으로 제공하지 않으며 포트 멀티플라이어/다중화기(multiplexor)는 기본적인 SATA 아키텍쳐에 오직 제한된 확장만을 제공한다.
SAS 통신 매체 및 프로토콜은 호스트(SAS 이니시에이터) 및 저장 디바이스(SAS 타겟 디바이스)의 토폴로지를 구성하는 것에 있어서 더 높은 유연성(flexisity)을 본질적으로 허용한다. SAS 아키텍쳐는 동적 스위칭(스위치 패브릭)이 여러 SAS 이니시에이터 중 임의의 SAS 이니시에이터를 여러 SAS 타겟 디바이스 중 임의의 SAS 타겟 디바이스와 연결하는 것을 가능하게 하는 SAS 확장기를 제공한다. 따라서, SAS는 더 큰 저장 시스템을 위한 향상된 유연성 및 확장성(scalability)을 제공한다.
SAS는 또한 SAS 스위치 패브릭으로의 SATA 타겟 디바이스의 접속을 허용하도록 특정 프로토콜(SATA 터널링 프로토콜(SATA Tunneling Protocol)-STP)을 제공한다. STP를 지원하는 SAS 이니시에이터(또한 여기서 STP 이니시에이터로서 지칭됨)는 또한 SAS 패브릭을 통해(즉, 하나 이상의 SAS 확장기를 통해) SATA 타겟 디바이스에 접속할 수 있다. 본질적으로, STP는 STP 이니시에이터가 SAS 패브릭을 통해 식별된 SATA 타겟에 접속하는 것을 허용한다. STP 이니시에이터에 직접 연결된 확장기는 식별된 SATA 타겟 디바이스로의 접속(즉, 라우트)을 설정하도록 STP를 사용하여 SAS 프로토콜을 준수한다. SAS 패브릭을 통한 라우트를 설정하고 나서, SATA 정보가 표준 SATA 프로토콜을 사용하여 STP 이니시에이터와 어드레싱된 SATA 타겟 디바이스 사이에서 교환된다. 이는 SAS 아키텍쳐 저장 시스템에서 보다 낮은 비용의 SATA 저장 디바이스의 사용을 허용한다. 하지만, STP 이니시에이터(예를 들어, 저장 제어기)는 SATA 이니시에이터보다 더 복잡하고 비쌀 수 있다. 하지만 본 SAS 아키텍쳐는 SATA 이니시에이터(SATA 호스트)가 SAS 패브릭과 직접 연결하는 것을 허용하지 않는다―SATA 타겟 디바이스와 정보를 교환하기 위해 오직 STP 이니시에이터만 SAS 패브릭에 연결될 수 있다.
따라서, 전체 SAS 아키텍쳐의 구성에 대한 유연성 및 확장성을 포함하는 고성능의 그리고 저비용의 저장 시스템을 제공하기 위한 노력이 계속되고 이TEk.
본 발명은 이러한 직접 연결(coupling)을 지원하는 개량된 SAS 확장기를 통해 SATA 호스트(SATA 이니시에이터)와 SAS 패브릭을 직접 연결하기 위한 방법 및 아키텍쳐를 제공하여 상기 및 다른 문제를 해결함으로써, 유용한 기술의 상태를 진보시킨다. 개량된 SAS 확장기는, SATA 호스트와 직접 연결되어 SAS 패브릭을 통해 SATA 호스트와 SATA 타겟 디바이스 사이에서 SATA 프로토콜 교환을 허용하기 위한 SATA/STP 로직을 포함한다. 따라서, 구성 면에서의 SAS 아키텍쳐 유연성 및 확장성에 대한 이점을 얻으면서도 더 단순하고, 보다 낮은 비용의 SATA 호스트 및 SATA 타겟 디바이스가 활용될 수 있다. 또한, SATA 호스트는 SAS 패브릭을 통해 더 많은 수의 SATA 타겟 디바이스와 연결될 수 있고 다수의 SATA 호스트가 SAS 패브릭과 연결될 수 있다(포트 멀티플라이어 및 포트 다중화기를 포함하는 SATA 표준에 비하여).
본원의 일 양상에서, SAS 확장기를 SATA 호스트와 연결하기 위한 제 1 물리적 링크(physical link)를 포함하여 개량된 SAS 확장기가 제공된다. SATA 호스트는 SATA 프로토콜을 사용하여 확장기와 정보를 교환한다. 확장기는 SATA 호스트와 SATA 타겟 디바이스 사이의 STP 접속을 설정(establish)하고 관리하도록 동작가능한 STP 접속 회로를 더 포함한다.
본원의 다른 양상은 SATA 호스트, 하나 이상의 SATA 타겟 디바이스, 및 SATA 호스트를 하나 이상의 SATA 타겟 디바이스와 연결하는 SAS 스위치 패브릭을 포함하는 시스템을 제공한다. SAS 스위치 패브릭은 SATA 호스트에 연결된 제 1 물리적 링크(PHY)를 갖는 제 1 SAS 확장기를 적어도 포함한다. 제 1 SAS 확장기는 SATA 호스트와 하나 이상의 SATA 타겟 디바이스 각각의 사이에서의 STP 접속을 설정하고 관리하도록 동작가능한 STP 접속 회로를 포함한다.
본원의 또 다른 양상은 개량된 SAS 확장기에서 동작가능한 방법을 제공한다. 확장기는 개량된 SAS 확장기의 제 1 물리적 링크(PHY)를 통해 SATA 호스트와 연결된다. 개량된 SAS 확장기는 물리적 링크(PHY)를 통해(또한 0개 이상의 다른 확장기의 PHY를 가로질러) SATA 타겟 디바이스와 연결된다. 상기 방법은 SATA 호스트로부터 제 1 프레임 정보 아키텍쳐(Frame Information Structure;FIS)를 수신하는 단계를 포함한다. FIS는 SATA 타겟 디바이스로 지향된다. 상기 방법은 제 1 FIS의 수신에 응답하여 SATA 터널링 프로토콜(STP)를 사용하여 SATA 타겟 디바이스로의 SAS 접속을 개방하는 단계와 개방된 SAS 접속을 통해 SATA 타겟 디바이스로 제 1 FIS를 전송하는 단계를 더 포함한다.
도 1은 본원의 특징 및 양상에 따라 SATA 호스트와 직접 연결하기 위하여 개량된 SAS 확장기를 포함하는 예시적인 저장 시스템의 블록도이다.
도 2는 본원의 특징 및 양상에 따른 청구항 제 1 항의 개량된 SAS 확장기의 SATA/STP 접속 회로의 예시적인 추가 상세를 제공하는 블록도이다.
도 3 내지 도 5는 본원의 특징 및 양상에 따라 개량된 SAS 확장기를 통해 SATA 호스트를 SAS 패브릭에 직접 연결하는 예시적인 방법을 설명하는 흐름도이다.
도 1은 적어도 개량된 SAS 확장기(108)를 포함하는 SAS 스위치 패브릭을 포함하는 예시적인 시스템(100)의 블록도이다. 확장기(108)는 하나 이상의 SATA 호스트(102.1 및 102.2, 즉, SATA 프로토콜을 사용하여 작동하는 SATA 이니시에이터)와 연결된다. 각각의 SATA 호스트(102.1 및 102.2)는, SATA 통신 경로(150.1 및 150.2)를 각각 통하여, 대응하는 물리적 링크(PHY)(110.1 및 110.2)로 확장기(108)와 각각 직접 연결된다. 확장기(108)는 하나 이상의 SATA 타겟 디바이스(104.1 및 104.2)와 연결된다. 하나 이상의 SATA 타겟 디바이스(104.1 및 104.2)는 각각 확장기(108)의 하나 이상의 PHY(114.1 및 114.2) 및 통신 경로(156.1 및 158.2)를 통해 확장기(108)와 각각 연결될 수 있다. 패브릭(160)은 0개 이상의 다른 확장기(106)를 포함할 수 있다. 패브릭의 일부 SAS 확장기(예를 들어, 108 또는 106)는 각각의 SATA 타겟 디바이스(104.1 및 104.2)와 직접 연결된다. 예를 들어, SATA 타겟 디바이스(104.1)는 SATA 통신 경로(158.1)를 통해 패브릭(160)의 다른 확장기(106)와 연결되고 타겟 디바이스(104.2)는 SATA 통신 경로(158.2)를 통해 패브릭(160)의 향상된 확장기(108)와 직접 연결된다.
임의의 수의 SATA 타겟 디바이스가 개량된 확장기(108)와 연결될 수 있고 패브릭(160)은 (적어도 향상된 확장기(108)를 포함하는) 임의의 적절한 수의 SAS 확장기를 포함할 수 있음을 당업자는 용이하게 인식할 수 있을 것이다. 또한, 임의의 수의 SATA 호스트는 확장기(108)와 직접 연결―각각은 확장기(108)의 대응하는 PHY를 통함―될 수 있다.
확장기(108)는 SATA 터널링 프로토콜(STP)을 활용하여 SATA 타겟 디바이스(104.1 및 104.2)와의 접속을 설정하고, 이러한 STP 접속을 설정한 이후에, SATA 호스트(102)와 SATA 타겟 디바이스(104) 사이의 SAS 패브릭(160)을 통해 SATA 정보를 교환한다. 패브릭(160)의 개량된 확장기(108) 및 다른 확장기(106)는 SAS/STP 접속을 설정하기 위해 STP 프로토콜을 사용하여 원하는 접속을 설정한다. 개량된 SAS 확장기(108)가 SATA 타겟 디바이스(예를 들어, 104.2)와 직접 연결된 경우에, 확장기(108)가 원하는 개방 접속(open connection)을 설정하기 위해 자신의 내부 STP 프로토콜 로직을 유사하게 활용할 수 있거나 로직의 일부 SAS 레이어를 바이패스(bypass)하고 이 접속이 개량된 확장기 내의 커스터마이징된 로직(customized logic)에 의해 설정될 수 있음을 판정할 수 있음을 당업자가 인식할 수 있을 것이다.
본원의 특징 및 양상에 따라, SATA 호스트(102.1 및 102.2)는 개량된 SAS 확장기(108)와 직접 연결된다. SATA/STP 접속 회로(112)는 SATA에 대한 접속을 설정하도록 동작가능하다. 이러한 접속이 설정되면, SAS 스위치 패브릭(160)을 통해 SATA 호스트(102)와 SATA 타겟 디바이스(104) 사이의 정보를 교환하는데 표준 SATA프로토콜이 사용된다. SAS 프로토콜과는 달리, SATA 프로토콜은 SAS 패브릭(160)을 통해 SATA 호스트와 SATA 타겟 사이의 논리적 접속을 개방 및 폐쇄하기 위한 프로토콜 교환을 특별히 정의하지 않는다. 따라서, 동작 중에, 접속 회로(112)는 직접 연결된 SATA 호스트(102.1 또는 102.2)로부터의 제 1 프레인 정보 아키텍쳐(FIS)의 수신에 응답하여 확장기(108)와 임의의 하나 이상의 SATA 타겟 디바이스(104.1 및 104.2) 사이의 패브릭(160)을 통한 SAS(STP) 접속을 개방한다. SAS(STP) 접속이 접속 회로(112)의 작동에 의해 한번 개방되면, 수신된 제 1 FIS는 식별된 SATA 타겟 디바이스(제 1 수신된 FIS의 필드에 의해 식별됨)로 전달될 것이다. 직접 연결된 SATA 호스트(102.1 또는 102.2)로부터 수신된 후속 SATA FIS 또는 SATA 프리미티브(primitive) 또한 회로(112)에 의해 표준 SATA 프로토콜을 사용하여 패브릭(160)을 통해 식별된 SATA 타겟 디바이스로 전송/전달된다.
SATA 프로토콜은 접속의 명시적 폐쇄(closing)를 제공하지 않기 때문에, 접속 회로(112)는 사전에 개방된 SAS 접속을 통해 SATA 호스트와 SATA 타겟 디바이스 사이에서 더 이상의 정보가 교환되지 않는 유휴 기간(idle period)의 시간을 측정하는 타이머를 유지할 수 있다. 타이머의 사전결정된 타임아웃의 만료시에, 접속 회로(112)는 SAS(STP) 접속을 폐쇄하도록 하여, 개방될 다른 접속에 대해 확장기(108)(및 패브릭(160))의 리소스를 해제(freeing)한다.
일부 교환 프로세싱에서 SATA 호스트가 식별된 SATA 타겟 디바이스에 대해 (판독 요청과 같은)요청을 개시하고 또한 식별된 SATA 타겟 디바이스로부터 요청된 데이터의 수신을 대기할 수 있다. 이러한 경우에, 사전결정된 타임아웃 기간의 만료 이후에, 접속 회로(112)는 사전에 개방된 SAS(STP) 접속을 폐쇄한다. 요청된 데이터를 제공하는 SATA 타겟 디바이스가 이러한 데이터를 리턴시킬 준비가 될 때, 접속 회로(112)는 이 타겟 디바이스로부터 SATA 정보를 수신할 것이고 개량된 확장기(108)와 직접 연결된 요청 SATA 호스트로 이전에 폐쇄되었던 SAS(STP) 접속을 재개방할 것이다. SAS(STP) 접속을 재개방하기 위해, 개량된 확장기(108)는 필요한 SAS OPEN_ACCEPT 프리미티브를 SAS 패브릭(160)으로 리턴한다(SATA 호스트는 이러한 SAS 프로토콜 로직을 제공하기 않기 때문이다). 폐쇄된 SAS 접속이 한번 재개방되면, SATA 타겟 디바이스로부터 리턴된 데이터는 또한 하나 이상의 대응 FIS로서 패브릭(160)을 통해 SATA 호스트로 리턴될 것이다.
개량된 SAS 확장기(108)의 동작에 대한 추가 상세는 다른 도면을 참조하여 이하에서 논의된다. 당업자는 확장기(108)의 개량된 특징이 각 SATA 호스트(102)와 SAS 패브릭(160) 사이에 연결된 개별 디바이스(a separate device)로서 구현될 수 있음을 인식할 수 있을 것이다. 이러한 개별 디바이스는, 예를 들어, 개량된 특징을 제공하기 위해 각각의 SATA 호스트(102)와 연결된 "도터 보드(daughter board)"로서 디자인될 수 있다. 이러한 개별 디바이스는, 사실상, 오직 2개의 포트―SATA 호스트와의 직접 연결을 위한 제 1 포트/PHY 및 SAS 패브릭의 나머지와의 연결을 위한 제 2 포트/PHY―만을 가진 특수한 SAS 확장기로서 구현될 수 있다. 또한, SATA/STP 접속 회로(112)가 개량된 SAS 확장기의 다른 기능적 회로와 함께 집적된 로직 회로로서 구현될 수 있거나, 확장기를 갖는 개별 회로로서 구현될 수 있음을 당업자는 인식할 수 있을 것이다. 이들 및 다른 디자인 선택은 당업자에게 명백할 것이다. 많은 추가 및 균등 요소가 개량된 SAS 확장기(108)와 같이 완전히 기능적인 확장기에서 제시될 수 있다. 이러한 추가 및 균등 요소는 당업자에게 잘 알려져 있어 논의를 명료하고 간결하게 하기 위해 본원에서는 생략되었다.
도 2는 일 실시예에 따른 접속 회로(112)의 아키텍쳐의 예시적인 추가 상세를 제공하는 블록도이다. 회로(112)는 링크 레이어 접속(및/또는 SAS 및 SATA 프로토콜의 다른 더 높은 레이어 프로토콜)을 구현하기 위한 개량된 확장기의 로직 회로와 단단하게 또는 느슨하게 집적된(tightly of loosely integrated) 로직 회로를 포함할 수 있다. 접속 회로(112)는 SAS 확장기의 적절한 PHY(즉, 도 1의 확장기(108)의 PHY(110))를 통해 SATA 호스트 디바이스와 직접 인터페이싱하기 위한 임의의 적절한 로직/회로를 나타내는 SATA 프로토콜 로직(200)을 포함할 수 있다. 다른 실시예에서, 로직(200)은 대응하는 PHY의 로직과 통합될 수 있다. 일반적으로, 로직(200)은 SATA 프로토콜을 사용하여 경로(152)를 통해 부착된 SATA 이니시에이터와 상호작용(interact)하기 위한 임의의프로세싱을 수행할 수 있다. STP 로직(210)은 직접 부착된 SATA 타겟 디바이스 또는 SAS 스위치 패브릭의 하나 이상의 다른 SAS 확장기와의 접속을 설정하기 위한 임의의 적절한 로직/회로를 나타낸다. 일부 예시적인 실시예에서, 로직(210)은 대응 PHY의 로직과 집적될 수 있다. 일반적으로, 로직(210)은 SAS/STP 프로토콜을 사용하여 (경로(154)를 통해 SATA 타겟 디바이스와 직접 연결되거나 SAS 패브릭의 하나 이상의 다른 SAS 확장기를 통해 연결된 SATA 타겟 디바이스로 경로(154)를 통함) 개방 접속을 설정하도록 작동가능하다. SATA/STP 접속 로직(206)은 개량된 확장기와 직접 연결된 SATA 호스트 대신, 로직(210)과 협업하여, SAS(STP) 접속을 개방 및 폐쇄하기 위한 임의의 적절한 로직/회로를 나타낸다. SAS(STP) 접속이 설정되면, SATA 프로토콜 로직(200)을 통해 SATA 호스트로부터 수신된 SATA 정보는 자신에 연결된 SAS 스위치 패브릭을 통해 식별된 SATA 타겟 디바이스로 전달된다(점선 화살표로 표시됨). SAS 스위치 패브릭을 통해 SATA 타겟 디바이스로부터 수신된 정보는, 유사한 방식으로, SATA 프로토콜을 사용하여 로직(200)을 통해 SATA 호스트로 전달된다(점선 화살표로 또한 표시됨). 사전에 개방된 접속이 폐쇄될 때(즉, 유휴 기간 타임아웃에 의해), SATA 정보는 더 이상 전달되지 않지만 폐쇄된 접속의 재개방을 초래할 수 있다.
로직(200)을 통한 SATA 호스트로부터의 제 1 SATA FIS의 수신에 응답하여, 식별된 SATA 타겟 목적지에 도달하도록 SAS 패브릭을 통한 적절한 라우트를 결정하기 위해 라우팅 정보 로직(202)은 맵핑 메모리(208)의 정보에 액세스한다. 로직(202)은 또한 요청하는 SATA 호스트가 식별된 SATA 타겟 디바이스에 액세스하도록 승인받았음을 맵핑 메모리(208)에 위치된 승인 정보(permission information)가 나타내는지 여부를 판정할 수 있다. 로직(202)이 액세스가 거부된다고 판정하면, FIS에 대한 적절한 거절이 로직(200)을 통해 요청 SATA 호스트로 리턴된다. 로직(202)이 요청된 액세스가 허용된다고 판정하면, 맵핑 메모리(208)의 라우팅 정보는 STP를 사용하여 SATA 호스트로부터 SAS 패브릭을 통해(적어도 향상된 확장기를 포함함), 식별된 SATA 타겟 디바이스로 정보를 보내기 위한 적절한 SAS 라우트를 식별한다. SATA 호스트와 SATA 타겟 디바이스 사이에서 SATA 정보의 교환을 허용하도록 적절한 접속을 개방하는 것에 있어서 라우팅 정보가 접속 로직(206)에 의해 활용될 수 있다.
당업자는 다수의 추가 및 균등 요소가 충분히 동작적인 접속 회로(112)에서 제시될 수 있음을 용이하게 인식할 것이다. 이러한 추가 및 균등 요소는 명료하고 간결한 논의를 위해 생략된다. 또한, 회로(112)가 로직 회로로서 도시되고 설명되지만, 회로(112)의 기능의 일부 또는 전부는 개량된 SAS 확장기(108)의 범용 또는 특수 목적 컴퓨터에 의해 실행되는 적절하게 프로그래밍된 명령어로서 동등하게 구현될 수 있다.
도 3은 본원의 특징 및 양상에 따른 개량된 SAS 확장기 내에서 동작가능한 예시적인 방법을 설명하는 흐름도이다. 도 3의 방법은, 예를 들어, 도 1 및 도 2를 참조하여 상술된 개량된 SAS 확장기에서 동작가능할 수 있다. 당업자는 도 3의 방법의 단계가 개량된 SAS 확장기 내에서 임의의 적절한 로직 회로에 의해 수행될 수 있음을 인식할 것이다. 따라서, 이하에서 설명한 도 3의 단계는 도 1 또는 도 2의 특정 로직 컴포넌트 상에서 또는 내부에서 동작가능한 것으로서 하나의 가능한, 예시적인 실시예를 단지 교시하기 위한 것이다. 도 3의 단계는 개량된 SAS 확장기의 다른 로직 회로 및/또는 프로그래밍된 명령어에 의해 수행될 수 있고, 다른 디자인 선택으로 다양한 기능을 또 다른 방식으로 분석할 수 있을 것이다.
단계(300)에서, 개량된 확장기는 직접 부착된 SATA 호스트로부터 제 1 FIS를 수신한다. 예를 들어, 도 1 및 도 2의 SATA/STP 접속 회로(112), 또는 더 구체적으로 회로(112)의 SATA 프로토콜 로직(200)은, 직접 부착된 SATA 호스트로부터 FIS를 수신할 수 있다. FIS가 현재 존재하지 않는 접속에 대한 제 1 수신된 FIS임을 인식하면, 다음으로 단계(302)는 식별된 SATA 타겟 디바이스로의 SAS(STP)접속을 개방한다. 예를 들어, 도 1 및 도 2의 회로(112), 또는, 더 구체적으로, 도 2의 로직/메모리 회로(200 내지 210)는 개량된 확장기를 통한 원하는 접속에 대한 적합한 라우트를 결정하고 적절한 개방 어드레스 프레임(Open Address Frame;OAF)을 송신함으로써 결정된 라우트의 개방을 요청하도록 협업한다. 상기 접속은 SATA 호스트와 SATA 타겟 디바이스 양자가 직접 연결되는 구성으로 개량된 SAS 확장기 내에서 전적으로 설정될 수 있고 여기서 SAS 패브릭을 또한 구성하는 다른 SAS 확장기를 임의의 횟수로 중개(intervening)하는 것을 통해 설정될 수 있다. SATA 호스트와 SATA 타겟 디바이스 양자가 개량된 SAS 확장기와 직접 연결되면, 임의의 전송 매체를 통해 SAS OAF를 보내기(direct to) 위한 시도 없이 동일 기능을 수행하는 내부 로직으로 OAF의 생성 및 전송이 바이패스될 수 있다. 원하는 SAS 개방 접속의 성공적인 완료를 기다리는 동안, 개량된 SAS 확장기는 상기 접속이 설정될 때까지 SATA 호스트로부터 추가 전송을 지연시키기 위해 SATA HOLD 프리미티브를 SATA 호스트로 리턴시킬 수 있다. 예를 들어, 로직(206) 및 로직(210)이 요청된 개방 접속의 수락을 대기하도록 협업하는 동안(예를 들어, SAS 도메인으로부터 OPEN_ACCEPT의 리턴 또는 SATA 호스트 및 타겟은 이 확장기와 직접 연결되어 있는 경우 개량된 확장기의 내부 로직으로부터의 동등한 수락) 로직(206)은 SATA HOLD 프리미티브를 생성하여 로직(200) 및 경로(152)를 통해 SATA 호스트로 다시 전송할 수 있다. 개방 접속이 설정될 SAS 타겟 디바이스는 FIS 내의 정보에 의해 식별될 수 있고, 이 정보는 SAS 접속의 개방을 승인하기 위하여 적절한 SAS 라우팅/어드레싱 정보를 결정하는데 사용된다. 또한 단계(304)는 개방된 SAS(STP) 접속을 통해 (예를 들어, SAS 패브릭이 있다면, 그것의 다른 SAS 확장기를 통해) SATA 제 1 FIS를 SATA 타겟 디바이스로 전송한다. 예를 들어, 로직(206)이 요청된 개방 접속(STP 접속)이 설정되었다고 한번 판정하면, 로직(200)은 점선 라인에 의해 표시된 바와 같이 표준 SAS 전송을 사용하여 (즉, SAS 패브릭을 통해 설정되거나 그렇지 않으면 개량된 SAS 확장기 내에서 설정된 "터널" STP 접속을 사용함) SATA 호스트로부터 수신된 제 1 FIS를 식별된 SATA 타겟 디바이스로 전달할 수 있다.
도 4는 본원의 특징 및 양상에 따른 SATA 호스트와 개량된 SAS 확장기 사이의 직접 통신을 위한 다른 예시적인 방법을 설명하는 흐름도이다. 도 4의 방법은, 예를 들어, 도 1 및 도 2에서 도시된 것과 같은 개량된 SAS 확장기에서 동작가능할 수 있다. 당업자는 도 4의 방법의 단계(도 3의 단계와 유사)가 개량된 SAS 확장기 내의 임의의 적절한 로직 회로에 의해 수행될 수 있음을 인지할 수 있을 것이다. 따라서, 이하에서 설명한 도 4의 단계는 도 1 또는 또 2의 특정 로직 컴포넌트 상에서 또는 내부에서 동작가능한 것으로서 단지 하나의 가능한 예시적인 실시예를 교시하기 위한 것이다. 도 4의 단계는 개량된 SAS 확장기의 다른 로직 회로 및/또는 프로그래밍된 명령어에 의해 수행될 수 있고, 다른 디자인 선택으로 다양한 기능을 또 다른 방식으로 분석할 수도 있을 것이다.
도 4의 방법은 도 3에서 설명된 방법과 유사하지만 방법의 특정 실시예에 대한 예시적인 추가 상세를 제공한다. 단계(400)에서, 개량된 SAS 확장기는 SATA 호스트와 개량된 SAS 확장기의 대응 PHY 사이에서 직접적인 SATA 접속을 초기에 설정한다. 예를 들어, 도 2의 로직(206 및 200)은 통신 등에 대해 적절한 속도를 결정하도록 협업할 수 있다. 이러한 SATA 접속의 설정은, SATA 호스트의 존재를 초기에 발견하고 (예를 들어, SAS "디스커버리" 프로세스를 통해) 표준 SATA 통신 기술을 사용하여 SAS 확장기의 PHY와 직접 연결하기 위해, 이들 사이의 통신에 대해 적합한, 상호 지원되는 속도를 협상하기 위한 SAS 및 SATA 프로토콜 양자 모두의 널리 알려진 특징을 포함할 수 있다. 특히, SATA 터널링 프로토콜 프로세싱의 부분으로서, 개량된 SAS 확장기는 SAS 패브릭에 연결된 SATA 타겟 디바이스로부터 "초기 FIS"를 수신한다. 직접 연결된 SATA 호스트는 개량된 SAS 확장기로부터 일부 초기 FIS를 수신해야만 한다. 따라서, 개량된 SAS 확장기(예를 들어, 개량된 SAS 확장기 내에서 다른 표준 로직과 연계한 도 2의 로직(206) 및 로직(210))는 초기 FIS(예를 들어, SATA 포트 멀티플라이어의 존재를 나타냄)를 생성할 수 있고 생성된 초기 FIS를 직접 연결된 SATA 호스트로 전송할 수 있다. 다른 실시예에서, 개량된 SAS 확장기는 SATA 타겟 디바이스 중 하나로부터 수신된 초기 FIS 중 하나를 SATA 호스트로 단순히 전달할 수 있다. 단계(400)의 프로세싱은 개량된 SAS 확장기(또는 기반 시스템)에 대한 "하루의 시작" 초기화의 양상으로서, 또는 확장기를 리셋하기 위한 다양한 경우에서, 또는 전체 SAS 도메인을 재구성하기 위해 수행될 수 있다.
단계(402)에서, 개량된 SAS 확장기는 식별된 SATA 타겟 디바이스로 목적지가 예정된(destined) 직접 부착된 SATA 호스트로부터 또는 SATA 타겟 디바이스로부터 타겟에 이전에 접속된 SATA 호스트로 리턴될 FIS를 수신한다. 예를 들어, 도 2의 로직(200)은 경로(152)를 통해 부착된 SATA 호스트로부터 이러한 제 1 FIS를 수신할 수 있다. SATA 호스트와 타겟 디바이스 사이의 SAS 패브릭을 통해 접속 개방이 존재하지 않는 동안 이 FIS가 수신된다. FIS가 SATA 호스트로부터 수신될 때, FIS는 FIS가 보내지는 특정 SATA 타겟 디바이스를 식별하는 SATA 프로토콜에 따른 어드레싱 정보를 포함한다. SATA 타겟 디바이스로부터 수신될 때(예를 들어, 타겟에 이전에 접속되었던 SATA 호스트로 리턴될 판독 데이터), 개량된 확장기 내에 저장된 정보는 타겟이 정보를 리턴하도록 이전에 요청하였었던 SATA 호스트를 나타낼 수 있다. 단계(404)(예를 들어, 도 2의 로직(202) 및 사용하는 메모리(208))는 개량된 SAS 확장기의 메모리에 저장된 맵핑/승인 테이블에 대응하는 엔트리를 배치한다. 배치된 엔트리는 직접 부착된 SATA 호스트 및 SATA 타겟 디바이스와 관련된다. FIS가 SATA 호스트로부터 수신되면, 배치된 엔트리는 직접 부착된 SATA 호스트가 식별된 SATA 타겟 디바이스로 액세스하는 것이 승인되는지를 나타내는 승인 정보를 포함한다. 배치된 엔트리는 또한 특정 SAS 어드레스를 식별하기 위한 라우팅 정보 및 식별된 SATA 타겟 디바이스로의 SATA 정보의 전송을 위한 관련 라우트를 (STP를 사용하여 SAS 패브릭을 통과하는 대응 STP 정보로서) 포함한다. 수신된 FIS가 SATA 타겟 디바이스로부터 리턴된 데이터이면, 배치된 엔트리는 타겟 디바이스로부터 정보의 리턴을 요청하도록 이전에 서로 접속되었던 SATA 타겟 디바이스 및 SATA 호스트를 식별하는 엔트리가 될 수 있다.
FIS가 SATA 호스트로부터 온 경우, 단계(406)는 식별된 SATA 타겟 디바이스(예를 들어, 메모리(208)의 정보를 사용하여 도 2의 로직(202)에 의해 판정됨)로의 액세스가 이 SATA 호스트에 의해 승인된 것임을 배치된 엔트리가 나타내는지 여부를 판정한다. FIS가 SATA 타겟 디바이스로부터 수신되는 경우, SATA 호스트가 이전에 요청하였고 타겟 디바이스에 액세스하도록 허가를 받았기 때문에 승인이 추정될 수 있다(즉, 타겟 디바이스와의 통신을 시작하는 SATA 호스트로부터의 초기/제 1 FIS의 수신에 의해 유추됨). 승인이 허용되지 않은 경우, 단계(408)는 적절한 상태 지시자를 SATA 요청하는 호스트로 리턴함으로써 수신된 SATA FIS를 (예를 들어, 도 2의 로직(200, 202, 및 206)의 동작에 의해) 거부한다.
식별된 SATA 타겟 디바이스로의 SATA 호스트에 의한 액세스가 승인되는 경우, 단계(410)는 배치된 맵핑 테이블 엔트리에 의해 결정되는 SAS 라우트를 통해 SATA 호스트와 식별된 SATA 타겟 디바이스 사이의 SAS(STP) 접속을 개방(또는 재개방)한다. 예를 들어, 로직(206 및 210)은 식별된 SATA 타겟 디바이스로의 STP 접속을 개방(또는 재개방)하도록 협업할 수 있다. SAS 패브릭의 하나 이상의 SAS 확장기로 통하는 표준 SAS(STP) 프로토콜(예를 들어, 개방 어드레스 프레임 - OAF)을 이용하여 개방 접속이 설정된다. 상술된 바와 같이, 디자인 선택으로서, 개량된 확장기가 SATA 호스트와 SATA 타겟 양자 모두와 직접 연결되면, SAS 접속의 개방은, SAS(STP) 개방 접속 교환을 생성하고 프로세싱하는 것을 완전하게 준수하기보다는, 확장기 내의 주문제작 로직(custom logic)(예를 들어, 도 2의 로직(206))에 의해 수행될 수도 있다. SATA 호스트로부터의 제 1 FIS의 수신에 의해 개시되는 원하는 SAS 개방 접속의 성공적 완료를 기다리는 동안, 개량된 SAS 확장기(예를 들어, 도 2의 로직(206)이 로직(200)을 통하여)는 접속이 설정될 때까지 SATA 호스트로부터 추가 전송을 지연시키도록 SATA HOLD 프리미티브를 SATA 호스트로 리턴할 수 있다. 단계(414)에서, 수신된 FIS는 SAS 패브릭을 통해 SATA 타겟 디바이스로 전달된다(타겟 디바이스로부터 수신되는 경우에는 SATA 호스트로 전달됨). 예를 들어, SATA 호스트를 대신하여, 로직(200)은, 점선 화살표로 표시된 바와 같이 경로(154)를 통하여 식별된 SATA 타겟과 직접 통신할 수 있다.
단계(416 및 418)는 또한 SAS 스위치 패브릭을 통한 개방된 SAS(STP) 접속으로 SATA 호스트와 SATA 타겟 디바이스 사이에서의 정보 교환을 계속하도록 동작가능(예를 들어, 도 2의 로직(200 및 206)에 의해 실질적 병렬로)하다. 단계(418)는 개방된 SAS(STP) 접속을 통해 SATA 호스트와 식별된 SATA 타겟 디바이스 사이에서 정보를 교환하는 액티비티(activity)가 발생하지 않는 동안 사전결정된 타임아웃 문턱값이 초과되는지를 판정한다. SATA 프로토콜은 접속을 명시적으로 개방하고/하거나 명시적으로 폐쇄하기 위한 매커니즘을 제공하지 않기 때문에, 다른 접속을 승인하도록 개량된 SAS 확장기 내에서 리소스(더 구체적으로는 SAS 패브릭의 리소스)를 해제함으로써 유휴상태일 때 개방 접속의 폐쇄를 시행하도록 사전결정된 타임아웃 기간이 활용될 수 있다. 단계(418)가 사전결정된 문턱값 기간이 만료되는지를 판정할 때, 단계(420)는 개량된 SAS 확장기 및 SAS 패브릭을 통해 SATA 타겟 디바이스와 SATA 호스트 사이에서 이전에 개방된 접속을 폐쇄한다. 또 다른 FIS가 식별된 SATA 타겟 디바이스(동일하거나 또 다른 타겟 디바이스)로 어드레싱된 SATA 호스트로부터 수신될 때, 또는 요청하는 SATA 호스트로 요청된 정보를 리턴하도록 SATA 타겟 디바이스가 준비될 때에는 단계(402)(레벨 "A")에서 다시 시작하여 반복될 수 있다.
도 5는 개방 접속으로 접속의 교환을 계속하는 도 4의 단계(416)의 프로세싱의 예시적인 추가 상세를 설명하는 흐름도이다. 단계(500)에서, SATA FIS 또는 프리미티브는 타겟에 대한 호스트 바운드 또는 호스트에 대한 SATA 타겟 바운드로부터 수신된다. 단계(502)에서, 접속이 이전에 폐쇄되었다면 재개방된다(예를 들어, 타임아웃 또는 다른 조건에 기인하여). 단계(504)는 또한 여전히 개방된 접속(또는 현재 재개방된 접속)으로 의도된 목적지로 수신된 정보를 전달한다. 단계(520)는 또한 SATA 디바이스 사이의 비활성(inactivity)에 기인하여 개방/재개방된 접속을 자동으로 폐쇄하는데 사용되는 "노 액티비티" 타이머(상술됨)를 리셋한다. 타임아웃이 발생할 때까지(도 4에서 논의된 바와 같이) 단계(416)의 프로세싱은 기본적으로 접속의 폐쇄를 계속 시행하도록 한다.
당업자는 도 3 내지 도 5의 방법과 같이 완전하게 기능적인 방법 내에서 다수의 추가 및 균등의 단계를 용이하게 인지할 수 있을 것이다. 이러한 추가 및 균등의 단계는 논의를 단순하고 간결하게 하기 위해 본원에서 생략된다.
본 발명이 도면 및 상기 설명에서 도시되고 설명되었지만, 이러한 도시 및 설명은 예시로서 간주되며 이에 제한되어 해석되는 것이 아니다. 본 발명 및 이의 몇몇 변형된 일 실시예가 도시되고 설명되었다. 특히, 예시적인 소프트웨어 또는 펌웨어 실시예로서 도시되고 설명된 특징은 주문제작된 로직 회로로서 동일하게 구현될 수 있고 그 반대도 마찬가지이다. 본 발명의 사상의 범위 내에 존재하는 모든 변경 및 수정은 본 발명의 범위에 속한다 할 것이다. 당업자는 본 발명의 범위 내에 상술된 실시예의 변형이 속함을 이해할 수 있을 것이다. 결론적으로, 본 발명은 상기 논의된 특정 예시 및 도시에 제한되는 것이 아니라, 첨부된 청구항 및 이들의 균등물에 의해서만 규정될 것이다.
106, 108 : SAS 확장기
102.1, 102.2 : SATA 호스트
104.1, 104.2 : SATA 타겟 디바이스
112 : 접속 회로
110.1, 110.2, 114.1, 114.2 : 물리적 링크
150.1, 150.2, 156.1, 156.2, 158.1 : SATA 통신 경로
160 : SAS 패브릭
200, 202, 206 : 로직
208 : 맵핑 메모리

Claims (13)

  1. 개량된 직렬 연결형 SCSI(Serial Attached SCSI; 이하, SAS) 확장기(108)에 있어서,
    SAS 확장기와 직렬 ATA(Serial Advanced Technology Attachment; 이하, SATA) 호스트(102.1)―상기 SATA 호스트는 SATA 프로토콜을 사용하여 상기 확장기와 정보를 교환함―를 연결(coupling)하기 위한 제 1 물리적 링크(a first physical link; 이하, PHY)(110.1)와,
    상기 확장기를 통해 상기 SATA 호스트와 SATA 타겟 디바이스(104.1) 사이의 SATA 터널링 프로토콜(SATA Tunneling protocol; 이하, STP) 접속을 개방(open) 및 폐쇄(close)하도록 동작가능한 접속 회로(112)를 포함하는
    개량된 SAS 확장기.
  2. 제 1 항에 있어서,
    상기 접속 회로는 상기 SATA 타겟 디바이스로 지향된 상기 SATA 호스트로부터의 제 1 프레임 정보 아키텍쳐(Frame Information Structure; 이하, FIS)의 수신에 응답하여 상기 SATA 타겟 디바이스와의 STP 접속의 개방을 개시하도록 더 동작가능한
    개량된 SAS 확장기.
  3. 제 2 항에 있어서,
    상기 접속 회로는 상기 STP 접속의 개방의 완료를 기다리는 동안 하나 이상의 SATA HOLD 프리미티브를 상기 SATA 호스트로 전송하도록 더 동작가능하고,
    상기 접속 회로는 상기 STP 접속의 개방의 완료에 응답하여 상기 제 1 FIS를 상기 SATA 타겟 디바이스로 전송하도록 더 동작가능한
    개량된 SAS 확장기.
  4. 제 2 항에 있어서,
    상기 접속 회로는 상기 SATA 호스트와 상기 SATA 타겟 디바이스 사이에서 교환되는 정보가 없는 사전결정된 타임아웃의 만료에 응답하여 상기 SATA 호스트와 상기 SATA 타겟 디바이스 사이의 개방 STP 접속을 폐쇄하도록 더 동작가능한
    개량된 SAS 확장기.
  5. 제 4 항에 있어서,
    상기 접속 회로는 상기 SATA 호스트로 리턴될 상기 SATA 타겟 디바이스로부터의 정보의 수신에 응답하여 상기 SATA 호스트와 상기 SATA 타겟 디바이스 사이에서 이전에 폐쇄된 STP 접속을 재개방하도록 더 동작가능한
    개량된 SAS 확장기.
  6. 제 2 항에 있어서,
    상기 개량된 SAS 확장기는 하나 이상의 엔트리를 갖는 맵핑 테이블을 저장하는 메모리(208)를 더 포함하되, 각 엔트리는 대응하는 SATA 타겟 디바이스에 대한 SAS 식별자를 포함하고,
    상기 접속 회로는, 상기 제 1 FIS의 수신에 응답하여, 상기 제 1 FIS의 목적지로서 식별된 상기 SATA 타겟 디바이스에 대한 SAS 식별자를 결정하기 위해 상기 맵핑 테이블의 엔트리를 액세스하도록 더 동작가능한
    개량된 SAS 확장기.
  7. 제 6 항에 있어서,
    상기 맵핑 테이블의 각 엔트리는 상기 SATA 호스트가 상기 제 1 FIS에서 식별된 상기 SATA 타겟 디바이스로의 액세스가 승인되는지를 나타내는 승인 정보를 포함하는
    개량된 SAS 확장기.

  8. 개량된 SAS 확장기에서 동작가능한 방법에 있어서,
    상기 개량된 SAS 확장기는 제 1 물리적 링크(110.1)를 통해 SATA 호스트와 연결되고, 상기 개량된 SAS 확장기는 SATA 타겟 디바이스와 연결되고,
    상기 방법은,
    상기 SATA 호스트로부터 제 1 FIS를 수신하는 단계―상기 FIS는 상기 SATA 타겟 디바이스로 지향됨―와,
    상기 제 1 FIS의 수신에 응답하여 STP를 사용하여 상기 SATA 타겟 디바이스에 대한 SAS 접속을 개방하는 단계와,
    상기 개방된 SAS 접속을 통해 상기 제 1 FIS를 전송하는 단계를 포함하는
    방법.
  9. 제 8 항에 있어서,
    상기 SATA 호스트로부터 추가 SATA 정보를 수신하는 단계와,
    상기 개방된 SAS 접속을 통해 상기 SATA 타겟 디바이스로 상기 추가 SATA 정보를 전송하는 단계를 더 포함하는
    방법.

  10. 제 8 항에 있어서,
    상기 개방된 SAS 접속을 통해 상기 SATA 타겟 디바이스로부터 추가 SATA 정보를 수신하는 단계와,
    상기 개방된 SAS 접속을 통해 상기 SATA 호스트로 상기 추가 SATA 정보를 전송하는 단계를 더 포함하는
    방법.
  11. 제 8 항에 있어서,
    상기 개량된 SAS 확장기의 메모리에 저장된 테이블에 엔트리를 배치시키는 단계―상기 엔트리는 상기 SATA 호스트에 대응하고 상기 SATA 타겟 디바이스에 대응함―와,
    STP를 사용하여 하나 이상의 다른 SAS 확장기를 통해 상기 SATA 타겟 디바이스에 액세스하기 위한 라우팅 정보를 배치된 엔트리로부터 결정하는 단계를 더 포함하는
    방법.
  12. 제 11 항에 있어서,
    상기 SATA 호스트가 상기 SATA 타겟 디바이스에 액세스하기 위한 승인을 나타내는 승인 정보를 상기 배치된 엔트리로부터 결정하는 단계와,
    상기 SATA 호스트는 상기 SATA 타겟 디바이스로의 액세스가 거부되었다는 판정에 응답하여 제 1 SATA FIS를 거부하는 단계를 더 포함하는
    방법.
  13. 제 8 항에 있어서,
    상기 SATA 호스트와 상기 SATA 타겟 디바이스 사이에서 정보가 교환되지 않는 사전결정된 타임아웃의 만료에 응답하여 상기 SATA 호스트와 상기 SATA 타겟 디바이스 사이의 상기 개방 접속을 폐쇄하는 단계를 더 포함하는
    방법.
KR1020120068879A 2011-12-27 2012-06-27 Sas 도메인을 통해 sata 호스트와 sata 타겟 디바이스 사이에서 통신하기 위한 방법 및 아키텍쳐 KR101362571B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/337,648 2011-12-27
US13/337,648 US8788736B2 (en) 2011-12-27 2011-12-27 Methods and structure for communicating between a SATA host and a SATA target device through a SAS domain

Publications (2)

Publication Number Publication Date
KR20130075631A true KR20130075631A (ko) 2013-07-05
KR101362571B1 KR101362571B1 (ko) 2014-02-13

Family

ID=47681534

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120068879A KR101362571B1 (ko) 2011-12-27 2012-06-27 Sas 도메인을 통해 sata 호스트와 sata 타겟 디바이스 사이에서 통신하기 위한 방법 및 아키텍쳐

Country Status (6)

Country Link
US (1) US8788736B2 (ko)
EP (1) EP2610757B1 (ko)
JP (1) JP5661701B2 (ko)
KR (1) KR101362571B1 (ko)
CN (1) CN103186498B (ko)
TW (1) TWI471729B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026702B2 (en) * 2012-11-12 2015-05-05 Avago Technologies General Ip (Singapore) Pte Ltd Methods and apparatus for fast context switching of serial advanced technology attachment in enhanced serial attached SCSI expanders
US9122806B2 (en) * 2012-11-28 2015-09-01 Avago Technologies General Ip (Singapore) Pte. Ltd. SATA data appliance for providing SATA hosts with access to a configurable number of SATA drives residing in a SAS topology
US9952945B2 (en) 2013-03-22 2018-04-24 Toshiba Memory Corporation Electronic equipment including storage device
WO2014163627A1 (en) * 2013-04-02 2014-10-09 Hewlett-Packard Development Company, L.P. Sata initiator addressing and storage device slicing
CN104601711A (zh) * 2015-01-27 2015-05-06 曙光云计算技术有限公司 用于云服务器的基于fpga的数据存储方法和系统
US10809926B2 (en) 2018-02-05 2020-10-20 Microsoft Technology Licensing, Llc Server system
CN109445696B (zh) * 2018-10-21 2021-10-08 山西达鑫核科技有限公司 网络聚合存储的信息存储装备
CN113220231B (zh) * 2021-05-11 2022-07-22 无锡众星微系统技术有限公司 一种支持stp应用的自适应流控方法与装置
CN114020677B (zh) * 2021-11-08 2022-10-11 无锡众星微系统技术有限公司 一种stp连接管理方法和装置
CN114153781A (zh) * 2021-11-25 2022-03-08 无锡众星微系统技术有限公司 一种ssp连接管理方法和装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010711B2 (en) * 2003-06-25 2006-03-07 Lsi Logic Corporation Method and apparatus of automatic power management control for native command queuing Serial ATA device
US7496700B1 (en) 2005-01-12 2009-02-24 Pmc-Sierra, Inc. Serial tunneling protocol (STP) flow control in SAS expanders without SATA link state machine
US7584319B1 (en) 2005-03-31 2009-09-01 Pmc-Sierra, Inc. Connection management in serial attached SCSI (SAS) expanders
US7774424B1 (en) * 2005-09-02 2010-08-10 Pmc-Sierra, Inc. Method of rate snooping in a SAS/SATA environment
US7739432B1 (en) * 2005-09-02 2010-06-15 Pmc-Sierra, Inc. Command switching for multiple initiator access to a SATA drive
US8127059B1 (en) * 2005-09-02 2012-02-28 Pmc-Sierra Us, Inc. Apparatus for interconnecting hosts with storage devices
US7673184B2 (en) * 2006-02-14 2010-03-02 Jds Uniphase Corporation Flow control methodology for digital retiming devices
US8751718B2 (en) 2006-03-13 2014-06-10 Lsi Corporation Apparatus and methods for a simplified, multi-client SAS port for management of other devices in an enhanced SAS device
US7643410B2 (en) * 2006-03-29 2010-01-05 Intel Corporation Method and apparatus for managing a connection in a connection orientated environment
US7536584B2 (en) * 2006-06-08 2009-05-19 Dot Hill Systems Corporation Fault-isolating SAS expander
US7536508B2 (en) * 2006-06-30 2009-05-19 Dot Hill Systems Corporation System and method for sharing SATA drives in active-active RAID controller system
JP4897387B2 (ja) * 2006-08-10 2012-03-14 株式会社日立製作所 ストレージ装置およびこれを用いたデータの管理方法
US7814245B2 (en) * 2006-10-05 2010-10-12 Lsi Corporation Apparatus and methods for improved SATA device interaction without a SAS expander
US7761642B2 (en) * 2006-12-22 2010-07-20 Lsi Corporation Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging
US8499308B2 (en) * 2006-12-22 2013-07-30 Lsi Corporation Initiator notification method and apparatus
US7653775B2 (en) * 2007-04-09 2010-01-26 Lsi Logic Corporation Enhancing performance of SATA disk drives in SAS domains
US7818483B2 (en) 2008-12-10 2010-10-19 Lsi Corporation Methods and apparatuses for improving SATA target device detection
US20110022736A1 (en) * 2009-07-21 2011-01-27 Lsi Corporation Methods and apparatus dynamic management of multiplexed phys in a serial attached scsi domain
US8255607B2 (en) 2009-11-05 2012-08-28 Emulex Design & Manufacturing Corporation SAS expander-based SAS/SATA bridging

Also Published As

Publication number Publication date
CN103186498B (zh) 2016-03-16
CN103186498A (zh) 2013-07-03
EP2610757B1 (en) 2016-04-06
KR101362571B1 (ko) 2014-02-13
US20130166811A1 (en) 2013-06-27
EP2610757A1 (en) 2013-07-03
TWI471729B (zh) 2015-02-01
JP2013137737A (ja) 2013-07-11
TW201327182A (zh) 2013-07-01
US8788736B2 (en) 2014-07-22
JP5661701B2 (ja) 2015-01-28

Similar Documents

Publication Publication Date Title
KR101362571B1 (ko) Sas 도메인을 통해 sata 호스트와 sata 타겟 디바이스 사이에서 통신하기 위한 방법 및 아키텍쳐
US7624223B2 (en) Apparatus and methods for multiple unidirectional virtual connections among SAS devices
US7124234B2 (en) Managing transmissions between devices
US7290066B2 (en) Methods and structure for improved transfer rate performance in a SAS wide port environment
US8751718B2 (en) Apparatus and methods for a simplified, multi-client SAS port for management of other devices in an enhanced SAS device
WO2006110845A2 (en) Method and apparatus for sata tunneling over fibre channel
US10810036B1 (en) Traffic management on an interconnect
WO2006110844A2 (en) Tunneling sata targets through fibre channel
US10261935B1 (en) Monitoring excessive use of a peripheral device
US9081910B2 (en) Methods and structure for fast context switching among a plurality of expanders in a serial attached SCSI domain
CN107861893B (zh) I3c验证从设备、主从设备的通信验证系统及方法
KR20160037114A (ko) 직렬 주변장치 인터페이스
KR20120019407A (ko) 직렬 연결 scsi 확장자 및 이를 통한 데이터 전송 방법
US20160041942A1 (en) Reducing write i/o latency using asynchronous fibre channel exchange
US9436412B2 (en) Preemptive connection switching for serial attached small computer system interface systems
US8862794B2 (en) Non-disruptive selective traffic blocking in a SAS domain
US10027678B1 (en) Location-aware security configuration of peripheral devices
US11003618B1 (en) Out-of-band interconnect control and isolation
US10614012B2 (en) System and method for controlling the performance of serial attached SCSI (SAS) target devices
CN107911372A (zh) 一种基于逻辑器件实现串口设备接入以太网的方法和装置
US20150039796A1 (en) Acquiring resources from low priority connection requests in sas
US8116330B2 (en) Bridge apparatus and methods for coupling multiple non-fibre channel devices to a fibre channel arbitrated loop
KR101061187B1 (ko) 버스 시스템 및 그 제어 장치

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

Year of fee payment: 6