KR20110046552A - PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션 - Google Patents

PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션 Download PDF

Info

Publication number
KR20110046552A
KR20110046552A KR1020117006597A KR20117006597A KR20110046552A KR 20110046552 A KR20110046552 A KR 20110046552A KR 1020117006597 A KR1020117006597 A KR 1020117006597A KR 20117006597 A KR20117006597 A KR 20117006597A KR 20110046552 A KR20110046552 A KR 20110046552A
Authority
KR
South Korea
Prior art keywords
pcie
mass storage
sata
storage device
host
Prior art date
Application number
KR1020117006597A
Other languages
English (en)
Other versions
KR101181150B1 (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 KR20110046552A publication Critical patent/KR20110046552A/ko
Application granted granted Critical
Publication of KR101181150B1 publication Critical patent/KR101181150B1/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
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3802Harddisk connected to a computer port

Abstract

대량 저장 장치, 시스템, 및 대량 저장 장치 동작 방법이 개시된다. 한 이러한 대량 저장 장치에서, 호스트 버스 어댑터는 호스트 시스템과의 PCIe 인터페이스를 통해 SATA 대량 저장 장치를 에뮬레이트한다. 호스트 시스템은 마치 SATA 대량 저장 장치와 통신하는 것처럼한다면 동일한 포맷으로 PCIe 대량 저장 장치에 명령들을 발생한다. PCIe 대량 저장 장치는 동일한 SATA 포맷으로 응답한다.

Description

PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션{SATA MASS STORAGE DEVICE EMULATION ON A PCIE INTERFACE}
본 발명은 일반적으로 메모리 장치들에 관한 것으로, 특정 실시예에서 본 발명은 SATA 대량 저장 장치들에 관계된 것이다.
주변 성분 상호연결(PCI) 표준은 주변장치들을 컴퓨터 머더보드에 연결하기 위한 컴퓨터 버스를 기술한다. 이들 주변 장치들은 전형적으로 확장 카드 또는 이외 이러한 장치의 형태를 취한다. PCI 표준은 버스의 물리적 크기, 전기적 특징들, 버스 타이밍, 및 버스를 통해 통신하는데 필요한 프로토콜들을 다루고 있다.
기본 PCI 표준은 현 세대 및 차세대의 I/O 및 저장 장치들이 필요로 하는 대역폭 및 특징들을 제공하지 못하는 몇가지 단점들이 있다. 한 이러한 문제는 버스 속도 및 확장성(scalability)를 제한시키는 대개는 병렬 공유-버스 아키텍처이다. 또한, 단순, 로드-스토어, 플랫 메모리-기반 통신 모델은 라우팅되는 패킷-기반 모델보다는 신뢰성이 덜하고 덜 확장가능하다.
기본 PCI 표준의 일부 문제들을 해결하기 위해 컴퓨터 확장 카드 인터페이스 포맷인 PCI 익스프레스(PCIe)가 설계되었다. PCI 인터페이스와는 달리, 버스라기보다는, PCIe 인터페이스는 레인(lane)이라고도 하는 직렬(1 비트)의 일방향 링크들의 점 대 점 쌍들을 중심으로 구성된다. 이것은 모든 장치들이 동일 양방향 32-비트(또는 64-비트) 병렬 신호 경로를 공유하는 버스-기반 시스템인 PCI 표준과는 대조적이다.
PCIe의 점 대 점 버스 토폴로지에서, 공유 스위치가 단 하나의 공유 자원으로서 PCI의 공유 버스를 대신하고 있고 이 자원에 의해 모든 장치들이 통신한다. 버스를 사용하기 위해 장치들 전부가 자기들끼리 중재해야 하는 공유 버스 토폴로지에서와는 달리, PCIe 시스템 내 각각의 장치는 자기만이 스위치에 곧바로 액세스할 수 있다. 즉, 각각의 PCIe 장치는 자기 자신의 전용 레인에 연결된다.
PCIe는 두 장치들 간에 통신을 위해서 점 대 점 유형의 직렬 상호연결을 구현한다. 복수의 PCIe 장치들은 스위치들을 사용하여 상호연결되는데 이는 시스템에서 실제로 많은 수의 장치들을 함께 연결할 수 있음을 의미한다. 점 대 점 상호연결은 링크 상에 제한된 전기적 부하를 의미하므로 송신 및 수신 주파수들의 수를 훨씬 더 많이 확장할 수 있게 한다. 현재 PCIe 송신 및 수신 데이터 레이트 2.5 Gbits/sec이다. 두 장치들 간 직렬 상호연결에 따라 장치 패키지당 몇개의 핀들만 사용되므로 PCIe 칩 및 보드 설계 비용을 감소시키며 보드 설계 복잡성을 감소시킨다. PCIe 수행 또한 매우 확장가능하다. 이것은 이 상호연결에 대한 통신 수행 요건들에 기초하여 상호연결당 핀들의 확장가능한 수 및 신호 레인들을 구현함으로써 달성된다.
PCIe는 상당 수의 장치들을 상호연결하는 스위치 기반 기술을 구현한다. 직렬 상호연결을 통한 통신은 패킷-기반 통신 프로토콜을 사용하여 달성된다. 서비스질(QoS) 특징들은 응용들마다 차별화된 송신 수행을 제공한다. 핫 플러그/핫 스왑 지원으로 시스템들을 "항시-온" 상태에 있을 수 있게 한다. 어드밴스드 전력 관리 특징들은 저 전역 모바일 응용들을 위해 설계할 수 있게 한다. RAS(신뢰성, 이용가능성, 및 보수가능성) 오류 처리 특징들은 PCI 익스프레스를 고신뢰 하이-엔드 서버 응용들에 적합하게 한다. 핫 플러그, 전력 관리, 오류 처리 및 인터럽트 시그널링은 측대벽 신호들이 아니라 패킷 기반 메시징을 사용하여 대역내에서 달성된다. 이것은 장치 핀 수를 적게 유지하며 시스템 비용을 감소시킨다.
대량 저장 장치들(즉, 고체상태 플래시 메모리, 광학 드라이브들, 자기 디스크 드라이브들)은 전형적으로 호스트 컴퓨터와 통신하기 위해 SATA(직렬 어드밴스드 기술 탈부착, Serial Advanced Technology Attachment) 표준을 사용한다. 실제로, SATA 표준은 주로 1.5 ~ 3.0 Gbps의 데이터 레이트로 호스트 컴퓨터와 대량 저장 장치 간에 데이터 전송을 위해 설계되었다. 이전의 병렬 ATA 인터페이스에 비해 SATA의 주된 잇점들은 더 빠른 데이터 전송, 동작중에 장치들을 제거 또는 추가하는 능력(핫 스와핑), 및 더 엄격한 데이터 무결성 체크에 따른 더 신뢰성 있는 동작이다.
SATA 대량 저장 장치가 호스트 컴퓨터의 PCIe 연결부에 연결되기 위해서 PCIe-SATA 브리지 제어기가 사용된다. 브리지 제어기는 SATA 호스트 버스 어댑터(HBA)를 에뮬레이트한다. 도 1은 PCIe-SATA 브리지(100)를 사용하여 SATA 대량 저장 장치(102)에 연결되는 전형적인 종래 기술의 컴퓨터 호스트 시스템(101)의 블록도이다. 브리지(100)는 소프트웨어를 SATA 장치(102)와 통신할 수 있게 하는 하드웨어 메커니즘인 어드밴스드 호스트 제어기 인터페이스(AHCI)를 탑재한다. AHCI는 호스트 컴퓨터의 시스템 메모리와 SATA 장치(102) 간에 데이터 이동 엔진으로서 동작하는 PCIe 부류의 장치이다.
도 2 전형적인 종래 기술의 PCIe-SATA 브리지 제어기(100)의 블록도이다. 브리지 제어기(100)는 PCIe 링크의 아날로그 본질을 브리지 제어기(100)의 디지털 환경으로 전환시킬 수 있는 PCIe PHY 블록(201)으로 구성된다. 또한, PHY 블록(201)은 대략 2.5 Gbps 데이터 레이트를 Mbps 범위로 낮게 전환한다.
PCIe 코어(202)는 패킷 처리 및 디코딩을 제공한다. PCIe-SATA 코어 브리지(203)는 PCIe 코어(202)로부터 데이터를 취하여 이를 SATA 표준 포맷으로 바꾼다. 애플리케이션 블록(204)은 코어 브리지(203)로부터 SATA 정보를 처리한다. SATA 수송 블록(205)은 호스트와 장치 애플리케이션층 간에 정보를 전송하기 위한 메커니즘인 프레임 정보 구조(FIS)를 관리한다. SATA 링크층(206)은 SATA 표준 엔코딩을 제공한다. SATA PHY층(207)은 브리지 제어기(100)의 디지털 환경으로부터 SATA 인터페이스의 아날로그 환경으로의 전환을 수행한다. SATA PHY 블록(208)은 SATA 버스를 통해 1.5 ~ 3.0 Gbps 데이터 레이트를 제공하는 송신 회로들로 구성된다.
도 3은 전형적인 종래 기술의 SATA 대량 저장 장치(102)의 블록도이다. 저장 매체(306)는 위에 기술된 브리지 제어기(100)와 동일하지만 역순서로 층들(301 ~ 305)을 사용하여 SATA 버스에 인터페이스된다. 이들 중복성(redundant) 기능들은 구현하기 위해 SATA 대량 저장 장치(102) 상에 추가적으로 구역을 필요로 할뿐만 아니라, PCIe에서 SATA로 그리고 저장 매체(306)로 가는데 필요한 중복성 변환들에 기인하여 호스트에서 대량 저장 장치로 통신하는데 요구되는 시간이 증가된다.
위에 언급된 이유로, 그리고 본 명세서를 읽고 이해했을 때 당업자들에게 명백하게 될 이하 언급되는 다른 이유들로, 이 기술에서는 PCIe로 통신하는 대량 저장 장치가 HBA 및 SATA 저장 장치를 사용하는 것에 연관된 레이턴시와 비용을 감소시킬 필요성이 있다.
도 1은 전형적인 종래 기술에 따른 호스트 시스템에 SATA 장치 연결의 블록도이다.
도 2는 전형적인 종래 기술의 PCIe-SATA 브리지 제어기의 블록도이다.
도 3은 전형적인 종래 기술의 SATA 저장 장치의 블록도이다.
도 4는 PCIe 대량 저장 장치 시스템의 일실시예의 블록도이다.
도 5는 도 4의 시스템에 따른 PCIe 대량 저장 장치의 일실시예의 블록도이다.
도 6은 도 4의 시스템에 따른 AHCI 엔진의 일실시예의 블록도이다.
도 7은 도 6의 실시예에서 사용되는 프레임 정보 구조의 일실시예도이다.
도 8은 호스트와 PCIe 대량 저장 장치 간에 통신을 위한 방법의 일실시예의 흐름도이다.
발명의 다음 상세한 설명에서, 이의 일부를 이루며 예시로서 발명이 실시될 수 있는 특정 실시예들이 도시된 동반된 도면들을 참조한다. 도면들에서, 몇몇 도면에서 동일 구성요소에 동일 참조부호를 사용한다. 이들 실시예들은 당업자들이 발명을 실시할 수 있게 할만큼 충분히 상세히 기술된다. 다른 실시예들이 이용될 수 있고, 본 발명의 범위 내에서 구조적, 논리적, 및 전기적 변경들이 행해질 수 있다. 따라서, 다음 상세한 설명은 제한적 의미로 취해지지 않아야 하며 본 발명의 범위는 첨부된 청구항들 및 이의 등가물들에 의해서만 정의된다.
도 4는 PCIe 대량 저장 시스템의 일실시예의 블록도이다. 시스템은 호스트 시스템(401)과, AHCI 호스트 버스 어댑터 기능들(404) 및 SATA 대량 저장 장치 기능들(406)을 PCIe 장치에 일체화하는 PCIe 대량 저장 장치(402)로 구성된다.
호스트 시스템(401)은 PCIe 링크 및 SATA 장치와 통신하는 능력을 포함하는 임의의 유형의 시스템일 수 있다. 이러한 호스트 시스템들은 컴퓨터들 또는 제어기들을 포함할 수 있다. 예를 들어, 호스트 시스템(401)은 SATA 대량 저장 장치와 통신하는 능력을 가진 MICROSOFT WINDOWS 운영 시스템을 실행하는 개인용 컴퓨터일 수 있다.
호스트 버스 어댑터(HBA) 기능(404)은 호스트와 SATA 대량 저장 장치(406) 간에 통신을 할 수 있게 하는 인터페이스이다. 일실시예에서, HBA 기능(404)은 호스트로부터의 명령들을 SATA 대량 저장 장치(406)가 이해할 수 있게 하는 하드웨어 및/또는 소프트웨어로 구성된 어드밴스드 호스트 제어 인터페이스(AHCI)이다.
SATA 대량 저장 장치(406)는 고체상태 드라이브(예를 들면, 플래시 메모리 셀들), 광학 디스크 드라이브와 같은 광학 메모리 장치, 컴퓨터 하드 드라이브와 같은 자기 디스크 드라이브, MRAM, 3D 메모리, 혹은 이외 어떤 다른 대량 저장 장치를 포함할 수 있다. 일실시예에서, SATA 대량 저장 장치(406)는 호스트 시스템(401) 내부에 있고 이에 의해 전력을 공급받으며 백본 콘넥터를 통해 컴퓨터 머더보드에 결합된다. 다른 실시예에서, SATA 대량 저장 장치(406)는 호스트 시스템(401) 외부에 있으며 PCIe 칩-칩 상호연결 및 보드간 상호연결 바이어스 카드(cads) 및 콘넥터로 호스트(401)에 결합된다.
PCIe 대량 저장 장치(402)가 호스트 시스템(401)에 연결되었을 때, 장치(402)는 자신을 호스트 시스템(401)에 대량 저장 제어기로서 확인시키며, 부착된 SATA 저장장치와 함께 HBA가 자신을 확인시키는 방법과 유사하게 자신이 AHCI와 맞는 장치임을 확인시킨다. 일단 호스트 시스템(401)이 SATA 장치와 함께 AHCI에 맞는 HBA가 부착된 것으로 판단하면, 호스트 시스템(401)는 PCIe 링크로 PCIe 대량 저장 장치(402)와 통신한다.
도 5는 도 4의 PCIe 대량 저장 장치(402)의 일실시예의 더 상세한 블록도이다. 이 장치(402)는 PCIe-SATA 브리지를 사용하는 중복성(redundancy) 없이 AHCI HBA 및 SATA 대량 저장 장치 기능들을 에뮬레이트한다. 또한, 도 5의 실시예는 물리층들, 데이터 링크층들, 및 전형적으로 중간 데이터의 저장 및 송신 오류들에 기인한 패킷 재시도들을 위해 HBA에서 요구되는 버퍼들뿐만 아니라, 종래 기술의 SATA 직렬화 및 역직렬화를 제거한다.
도 5의 실시예는 PCIe 물리층(PHY)(501)으로 구성된다. PCIe 대량 저장 장치(402)가 디지털 영역에서 동작하는 반면 PCIe 링크가 아날로그 영역에서 동작하기 때문에, PCIe PHY(501)는 2개의 영역간을 변환한다. 즉, PCIe PHY(501)은 PCIe 대량 저장 장치(402)로부터 송신된 데이터에 대해 디지털 신호에서 아날로그 신호로의 변환뿐만 아니라, 수신된 데이터에 대해 아날로그 신호에서 디지털 신호로의 변환을 수행한다.
PCIe PHY(501)은 저장 매체(506)로부터 나가는 데이터의 일시적 저장뿐만 아니라 들어오는 데이터의 일시적 저장을 위한 버퍼들을 포함할 수 있다. PCIe PHY(501)은 송신을 위한 송신기 차동 드라이버와 더불어 병렬-직렬 변환기와, 수신을 위한 차동 수신기 및 직렬-병렬 변환기를 포함한다.
일실시예에서, PCIe PHY(501)는 하드웨어 기능이다. PCIe PHY(501)의 대안적 실시예들은 하드웨어와 소프트웨어를 겸비한다.
PCIe 코어(502)는 패킷 처리를 수행한다. 수송된 데이터를 헤더, 시작/중지 비트들, 및 오류 검출/정정 비트들(예를 들면, CRC)과 같은 패킷의 나머지로부터 제거하기 위해 PCIe 링크로 수신된 데이터 패킷들을 디코딩한다. 또한, PCIe 코어(502)는 저장 매체(506)로부터 데이터가 PCIe 링크를 통해 송신을 위해 PCIe 패킷으로 형성되게 패킷 엔코딩을 수행한다.
PCIe-AHCI 브리지(503)는 PCIe 데이터를 PCIe 코어(502)에서 저장 매체(506)에서 사용하기 위한 SATA 포맷으로 전환한다. 또한, PCIe-AHCI 브리지(503)는 PCIe 코어(502)가 데이터를 송신하기 위해 PCIe 패킷들로 엔코딩할 수 있게 PCIe 코어(502)에서 나중에 사용하기 위해 SATA 포맷으로부터 데이터를 제거한다.
도 6의 블록도에 상세히 도시된 AHCI 엔진(500)은 소프트웨어를 SATA 장치와 통신할 수 있게 하는 하드웨어 메커니즘이다. 이것은 PCIe 대량 저장 장치(402)와 호스트 시스템 메모리 간에 데이터를 전송하기 위해 버스 마스터로서 작용한다. AHCI 엔진(500)과 시스템 메모리 간에 데이터 전송들은 시스템 메모리에 대한 버스 마스터로서 작용하는 AHCI 엔진(500)을 통해 다이렉트 메모리 액세스(DMA)를 사용하여 수행된다.
AHCI HBA 에뮬레이터(510)는 수신된 프레임 정보 구조들로 정보를 통신하기 위해 시스템 메모리의 영역을 이용한다. 시스템 메모리에 위치된 명령 FIS는 매체(520)와 시스템 소프트웨어 간에 통신할 수 있게 AHCI HBA 에뮬레이터(510)에 의해 페치(fetch) 된다.
SATA 장치(504)는 PCIe 대량 저장 장치(402)를 위한 SATA 에뮬레이션을 제공한다. SATA 장치(504)는 PCIe 대량 저장 장치(402)가 시스템 호스트에, PCIe 링크를 통해 호스트에 결합되는 AHCI 대량 저장 제어기로서 보이게 한다. SATA 장치(504)는 매체(520)로부터/에 FIS 트랜잭션들로부터 데이터를 처리하며 AHCI 엔진(500)을 통해 호스트로부터 다른 FIS들을 처리한다. 매체(520)로부터 데이터를 SATA 표준으로 엔코딩하며 SATA 패킷들을 디코딩하며 이를 매체(520)에 의해 사용될 수 있는 포맷으로 변경한다.
AHCI 장치 제어기는 PCIe-AHCI 브리지(503), AHCI 엔진(500), 및 SATA 장치(504)로 구성된다. 이들 층들(500, 503, 504)의 전체 기능은 시스템 메모리와 매체(520) 간에 데이터 이동 엔진으로서 작용하는 것이다. AHCI 장치 제어기는 호스트 CPU 오버헤드를 감소시키며 핫 플러깅, 전력 관리, 및 마스터/슬레이브 에뮬레이션을 수행함이 없이 많은 SATA 장치들에의 액세스와 같은 SATA 특징들을 지원할 수 있다.
매체(520)는 매체 관리자(505) 및 저장 매체 자체(506)로 구성된다. 매체 관리자(505)는 서로 다른 유형들의 저장 매체(506)(예를 들면, 플래시, 광학, 자기)에 의해 요구되는 제어 기능들 및 데이터 관리를 제공한다. 예를 들어, 저장 매체(506)가 고체상태 드라이브(예를 들면, 플래시 메모리 셀들)이었다면, 매체 관리자(505)는 플래시 메모리 셀들을 판독, 기입 및 소거하는데 필요한 각종 제어신호들을 제공할 것이다. 유사하게, 저장 매체(506)가 하드디스크 드라이브이었다면, 매체 관리자(505)는 드라이브 디렉토리 및 드라이브 동작을 위한 다른 오버헤드 타스크들을 유지할 뿐만 아니라 드라이브를 동작시키기 위한 제어신호들을 발생할 것이다.
도 6은 도 5의 AHCI 엔진(500)의 일실시예의 블록도이다. AHCI 엔진(500)은 DMA 기입 엔진(601), DMA 판독 엔진(602), 및 AHCI 레지스터들(603)로 구성된다. AHCI 엔진(500)과의 통신은 시스템 메모리에 및 이로부터 제어 신호 및 데이터 신호들뿐만 아니라 도 5의 PCIe-AHCI 브리지(503)의 PCIe-AHCI 인터페이스 부분에의/로부터의 통신이다.
DMA 기입 엔진(601)은 호스트 판독 요청들에 응하여 DMA 기입 동작을 수행하기 위해 시스템 메모리에 액세스하기 위해 요구되는 DMA 신호들을 발생한다. DMA 기입 엔진(601)은 PCIe 메모리 기입 제어신호들을 브리지(503)에 발생하며 매체 관리자(505) 및 SATA 장치 에뮬레이터(504)를 통해 PCIe 대량 저장 장치의 저장 매체(506)로부터 판독된 데이터를 출력한다.
DMA 판독 엔진(602)은 호스트 기입 기입 요청들에 응하여 DMA 판독 동작을 수행하기 위해 시스템 메모리에 액세스하기 위해 요구되는 DMA 신호들을 발생한다. DMA 판독 엔진(602)은 메모리 판독 제어신호들을 브리지(503)에 발생하며 판독 동작의 결과로서 판독 데이터를 메모리로부터 입력한다. 이어서, DMA 판독 엔진(602)은 SATA 장치 에뮬레이터를 통해 이 데이터를 저장매체에 출력한다.
AHCI 레지스터들(603)은 호스트 레지스터들 및 포트 레지스터들로 구성된다. 호스트 및 포트 레지스터들은 입력된 메모리 기입 제어신호들에 응하여 제어 및 구성 명령 데이터를 저장하기 위해 호스트에 의해 사용된다. 제어 및 구성 명령 데이터는 PCIe 대량 저장 장치의 동작을 구성하고 제어하기 위해 사용된다. 호스트 레지스터들은 PCI 버스 아키텍처에 정의된 표준 PCIe 레지스터들일 수 있다. 포트 레지스터들은 장치의 호스트 제어를 위해 사용될 수 있다. 두 레지스터들은 PCI 구성 공간 레지스터의 AHCI 베이스 어드레스 레지스터(BAR5)에 의해 링크된다.
호스트는 PCIe 대량 저장 장치 포트 어드레스에 메모리 판독/기입 신호들 를 발생함으로써 레지스터들에 액세스한다. 유사하게, 레지스터들(603)로부터의 PCIe 대량 저장 장치 상태 데이터는 판독 신호들의 발생에 의해 호스트 시스템 메모리에 의해 액세스될 수 있다.
AHCI HBA 에뮬레이터(510)는 수신된 프레임 정보 구조들(FIS의)로 정보를 통신하기 위해 시스템 메모리의 영역을 이용한다. FIS를 위한 이 메모리 시스템 레이아웃이 도 7에 도시되었다.
도 7은 DMA 셋업 FIS가 매체로부터 수신되었을 때 AHCI HBA 에뮬레이터(510)가 이를 이 레이아웃의 DFIS 영역(701)에 카피함을 도시한 것이다. PIO 셋업 FIS가 매체로부터 도착하였을 때, AHCI HBA 에뮬레이터(510)는 이를 레이아웃의 PSFIS 영역(702)에 카피한다. D2H(장치 대 HBA) 레지스터 FIS가 매체로부터 수신되었을 때, AHCI HBA 에뮬레이터(510)는 이를 레이아웃의 RFIS 영역(703)에 카피한다. 장치 셋 FIS가 매체로부터 수신되었을 때, AHCI HBA 에뮬레이터(510)는 이를 레이아웃의 SDBFIS 영역(704)에 카피한다. 또한, 도 7의 메모리 레이아웃은 미지의 FIS를 위한 메모리의 영역을 포함한다. 미지의 FIS가 매체로부터 수신되었을 때, AHCI HBA 에뮬레이터(510)는 이를 레이아웃의 UFIS 영역(705)에 카피한다.
도 7의 메모리 레이아웃의 일측을 따라 있는 16진수 어드레스들은 단지 예시 목적을 위한 것이다. FIS 구조의 각각의 영역은 임의의 어떤 크기이어야 할 것이 요구되지 않으며, 따라서 임의의 소정의 어드레스 공간이 할당될 것이 요구되지 않는다.
PCIe 대량 저장 장치는 이 정보를 호스트 시스템에 통신할 수 있게 HBA의 도 7의 메모리 레이아웃을 에뮬레이트한다. 도 5의 SATA 장치 에뮬레이터는 도 5의 AHCI HBA 에뮬레이터 블록을 위한 이들 데이터 구조들을 생성할 수 있다. 또한, 에뮬레이터 블록은 호스트 시스템 FIFO, 호스트 어드레스 포인터들, 및 호스트 데이터 흐름 제어 로직을 포함한다.
도 8은 PCIe 대량 저장 장치와 호스트 간에 통신을 위한 방법의 일실시예 의 흐름도이다. PCIe 대량 저장 장치가 PCIe 링크를 통해 호스트에 연결되었을 때, 전력이 대량 저장 장치에 인가되고 초기화된다. 초기화 동안에, 대량 저장 장치는 장치를 일반 대량 저장 장치로서 취급할 것을 호스트에 지시하는 명령을 호스트에 보낸다(801).
이어서, 호스트는 PCIe 포맷 명령들 및 AHCI 프로토콜을 사용하여, PCIe 링크를 통해, 대량 저장 장치에 명령들을 보낸다(803). 앞에서 기술된 바와 같이, 호스트는 PCIe 대량 저장 장치를 동작을 위해 셋업하고 대량 저장 장치의 동작상태에 관해 레지스터들로부터 상태 데이터를 가져오기 위해서 PCIe 대량 저장 장치의 구성 레지스터들에 구성 명령들을 보낼 수 있다. AHCI HBA 에뮬레이터는 PCIe 포맷의 AHCI 프로토콜을 SATA 포맷으로 그리고 그 역으로도 변환한다(804). PCIe 대량 저장 장치는 PCIe 포맷 명령들 및 데이터에 응답한다(805).
결론
요약하여, PCIe 대량 저장 장치의 하나 이상의 실시예들은 SATA 대량 저장 장치 표준들을 사용하여 PCIe 링크를 통해 대량 저장 장치와 통신하기 위해 대부분의 운영 시스템들(예를 들면, WINDOWS 및 MACINTOSH OSX)에서 가용한 현존의 소프트웨어 스택을 이용한다. PCIe 대량 저장 장치는 SATA HBA를 에뮬레이트하고 호스트가 마치 실제 SATA 대량 저장 장치인양 호스트와 통신할 수 있다. 본 실시예들은 다른 인터페이스 기술들뿐만 아니라 SATA III, PCIe II을 사용할 수 있다.
특정 실시예들이 여기에 예시되고 기술되었을지라도, 동일 목적을 달성하기 위해 계산되는 어떠한 배열이든 도시된 특정 실시예들을 대신할 수 있음을 당업자들은 알 것이다. 발명의 많은 적응들이 당업자들에게 명백할 것이다. 따라서, 이 출원은 발명의 임의의 적응들 또는 변형들도 포함한다. 이 발명은 분명히 다음의 청구항들 및 이들의 등가물들에 의해서만 제한되는 것이다.

Claims (19)

  1. 대량 저장 장치에 있어서,
    PCIe 링크로 SATA 장치를 에뮬레이트하게 구성된 호스트 버스 어댑터; 및
    상기 호스트 버스 어댑터에 결합된 것으로, 상기 호스트 버스 어댑터로부터 SATA 명령들에 응답하게 구성된 SATA 저장 장치를 포함하는, 대량 저장 장치.
  2. 청구항 1에 있어서, 상기 SATA 저장 장치는 고체상태 드라이브, 광학 드라이브 또는 자기 디스크 드라이브 중 하나이며, 상기 고체상태 드라이브는 플래시 메모리, MRAM, 혹은 3D 메모리 중 하나로 구성되는, 대량 저장 장치.
  3. 청구항 1에 있어서, 상기 호스트 버스 어댑터는 어드밴스드 호스트 제어 인터페이스(AHCI) 호스트 버스 어댑터(HBA) 에뮬레이터를 포함하는, 대량 저장 장치.
  4. 청구항 3에 있어서, 상기 AHCI HBA 에뮬레이터는 호스트 시스템 소프트웨어를 상기 SATA 저장 장치와 인터페이스하게 구성된 하드웨어 인터페이스를 포함하는, 대량 저장 장치.
  5. 청구항 1에 있어서, 상기 호스트 버스 어댑터는
    상기 대량 저장 장치를 상기 PCIe 링크에 인터페이스하게 구성된 PCIe;
    상기 PCIe 물리층에 결합되고 PCIe 패킷들을 엔코딩/디코딩하게 구성된 PCIe 코어;
    상기 PCIe 코어에 결합되고, PCIe 데이터를 SATA 포맷 데이터로 그리고 SATA 포맷 데이터를 PCIe 데이터로 전환하게 구성된, PCIe-AHCI 브리지;
    PCIe-AHCI 브리지에 결합되고, 호스트 메모리와 상기 PCIe 대량 저장 장치간에 버스 마스터로서 작용하게 구성된 AHCI 엔진; 및
    상기 AHCI 엔진에 결합되고, 상기 PCIe 대량 저장 장치를 위해 SATA 에뮬레이션을 제공하게 구성된 SATA 장치를 포함하는, 대량 저장 장치.
  6. 청구항 5에 있어서, 상기 PCIe 물리층은 PCIe 데이터를 PCIe 링크 데이터 레이트에서 상기 PCIe 대량 저장 장치를 위한 낮은 데이터 레이트로 낮게 변환하고 SATA 데이터를 상기 낮은 데이터 레이트에서 상기 PCIe 링크 데이터 레이트로 높게 변환하게 구성된, 대량 저장 장치.
  7. 청구항 5에 있어서, 상기 AHCI 엔진은 상기 호스트 메모리와 상기 PCIe 대량 저장 장치 간에 다이렉트 메모리 액세스 동작들을 수행하는, 대량 저장 장치.
  8. 청구항 5에 있어서, 상기 PCIe 물리층은 아날로그 PCIe 신호들을 디지털 SATA 신호들로 변환하게 구성되고, 상기 PCIe 물리층은 디지털 SATA 신호들을 아날로그 PCIe 신호들로 변환하게 더욱 구성된, 대량 저장 장치.
  9. 청구항 5에 있어서, 상기 PCIe 물리층은 수신 및 출력 데이터의 일시적 저장을 위한 버퍼들을 더 포함하는, 대량 저장 장치.
  10. 청구항 5에 있어서, 상기 AHCI 엔진은
    호스트 메모리에 다이렉트 메모리 액세스 기입 동작들을 수행하게 수행된 다이렉트 메모리 액세스 기입 엔진;
    상기 호스트 메모리로부터 다이렉트 메모리 액세스 판독 동작들을 수행하게 구성된 다이렉트 메모리 액세스 판독 엔진; 및
    상기 PCIe 대량 저장 장치를 구성하고 제어하는 AHCI 레지스터들을 포함하는, 대량 저장 장치.
  11. 청구항 5에 있어서, 상기 PCIe-AHCI 브리지, 상기 AHCI 엔진, 및 상기 SATA 장치는 호스트 메모리와 상기 저장 매체 간에 데이터 이동을 제공하는 AHCI 장치 제어기를 포함하는, 대량 저장 장치.
  12. PCIe 대량 저장 장치가 SATA 호스트 버스 어댑터임을 호스트에 통고하는 단계; SATA 포맷으로 통신을 수신하는 단계; 상기 SATA 포맷을 에뮬레이트하는 단계를 포함하는, PCIe 대량 저장 장치를 동작시키는 방법.
  13. 청구항 12에 있어서, PCIe 대량 저장 장치가 SATA 호스트 버스 어댑터임을 호스트에 통고하는 상기 단계는 PCIe 인터페이스를 통해 상기 호스트에 결합된 PCIe 대량 저장 장치가 SATA 호스트 버스 어댑터임을 통고하는 단계를 포함하는, 방법.
  14. 청구항 12에 있어서, SATA 포맷으로 된 구성 데이터를 상기 PCIe 대량 저장 장치 내 구성 레지스터들에 수신하는 단계를 더 포함하는, 방법.
  15. 청구항 12에 있어서, 상기 PCIe 대량 저장 장치의 동작 상태에 관한 상태 데이터를 SATA 포맷으로 송신하는 단계를 더 포함하는, 방법.
  16. PCIe 대량 저장 시스템에 있어서,
    상기 대량 저장 시스템의 동작들을 제어하게 구성된 호스트 시스템; 및
    PCIe 인터페이스를 통해 상기 호스트 시스템에 결합된 PCIe 대량 저장 장치를 포함하고,
    상기 대량 저장 장치는,
    상기 호스트 시스템으로 SATA 장치를 에뮬레이트하게 구성된 호스트 버스 어댑터; 및
    상기 호스트 버스 어댑터에 결합되고 상기 호스트 시스템으로부터 SATA 명령들에 응답하게 구성된 SATA 대량 저장 장치, PCIe 대량 저장 시스템.
  17. 청구항 16에 있어서, 상기 호스트 시스템은 SATA 포맷으로 통신하게 구성된 소프트웨어를 포함하는, PCIe 대량 저장 시스템.
  18. 청구항 16에 있어서, 상기 호스트 시스템은 PCIe 링크 회로를 구비한 컴퓨터이며, 상기 컴퓨터는 상기 PCIe 인터페이스로 SATA 대량 저장 장치와 통신하는 능력을 가진 운영 시스템을 포함하는, PCIe 대량 저장 시스템.
  19. 청구항 16에 있어서, 상기 PCIe 대량 저장 장치는 PCIe-SATA 브리지 없이 상기 호스트 시스템에 결합되는, PCIe 대량 저장 시스템.
KR1020117006597A 2008-09-22 2009-09-02 PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션 KR101181150B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/235,180 2008-09-22
US12/235,180 US8225019B2 (en) 2008-09-22 2008-09-22 SATA mass storage device emulation on a PCIe interface
PCT/US2009/055652 WO2010033375A2 (en) 2008-09-22 2009-09-02 Sata mass storage device emulation on a pcie interface

Publications (2)

Publication Number Publication Date
KR20110046552A true KR20110046552A (ko) 2011-05-04
KR101181150B1 KR101181150B1 (ko) 2012-09-17

Family

ID=42038761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117006597A KR101181150B1 (ko) 2008-09-22 2009-09-02 PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션

Country Status (6)

Country Link
US (2) US8225019B2 (ko)
EP (1) EP2329386A4 (ko)
KR (1) KR101181150B1 (ko)
CN (1) CN102160044B (ko)
TW (1) TWI452469B (ko)
WO (1) WO2010033375A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140067403A (ko) * 2012-11-26 2014-06-05 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
KR20160147373A (ko) * 2015-06-15 2016-12-23 한국전자통신연구원 광 신호를 이용한 sata 호스트 버스 어댑터 및 sata 저장소 연결 방법

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201030526A (en) * 2009-02-09 2010-08-16 Prolific Technology Inc Bridge, data compressing mthod thereof and computer system applying the same
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8615586B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Discovery of logical images at storage area network endpoints
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8745292B2 (en) * 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
JP5966243B2 (ja) * 2010-12-20 2016-08-10 富士通株式会社 ストレージ装置及びストレージ装置の制御方法
US8874820B2 (en) * 2010-12-28 2014-10-28 Silicon Image, Inc. Mechanism for facilitating a configurable port-type peripheral component interconnect express/serial advanced technology attachment host controller architecture
US20120254501A1 (en) * 2011-03-28 2012-10-04 Byungcheol Cho System architecture based on flash memory
US8621113B2 (en) * 2011-05-31 2013-12-31 Micron Technology, Inc. Apparatus including host bus adapter and serial attachment programming compliant device and related methods
US8601198B2 (en) * 2011-06-30 2013-12-03 Intel Corporation Controllable transaction synchronization for merging peripheral devices
CN102393838B (zh) * 2011-07-04 2015-03-11 华为技术有限公司 数据处理方法及装置、pci-e总线系统、服务器
US8930602B2 (en) 2011-08-31 2015-01-06 Intel Corporation Providing adaptive bandwidth allocation for a fixed priority arbiter
US9021156B2 (en) 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor
US8929373B2 (en) 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
US8775700B2 (en) 2011-09-29 2014-07-08 Intel Corporation Issuing requests to a fabric
US8713234B2 (en) * 2011-09-29 2014-04-29 Intel Corporation Supporting multiple channels of a single interface
US8713240B2 (en) 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US8805926B2 (en) 2011-09-29 2014-08-12 Intel Corporation Common idle state, active state and credit management for an interface
US8711875B2 (en) 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
US8874976B2 (en) 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
KR101925870B1 (ko) 2012-03-21 2018-12-06 삼성전자주식회사 Ssd 콘트롤러 및 그의 제어 방법
US9141152B2 (en) 2012-05-04 2015-09-22 Hewlett-Packard Devlopment Company, L.P. Interface card mount
US20130346532A1 (en) * 2012-06-21 2013-12-26 Microsoft Corporation Virtual shared storage in a cluster
US8745296B2 (en) 2012-10-02 2014-06-03 Intel Corporation Serial storage protocol compatible frame conversion, at least in part being compatible with SATA and one packet being compatible with PCIe protocol
KR101988287B1 (ko) * 2012-11-26 2019-06-12 삼성전자주식회사 저장 장치 및 그것을 포함하는 컴퓨팅 시스템, 및 그것의 데이터 전송 방법
KR101934519B1 (ko) 2012-11-26 2019-01-02 삼성전자주식회사 저장 장치 및 그것의 데이터 전송 방법
KR102107723B1 (ko) 2012-12-03 2020-05-07 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
CN103150129B (zh) * 2013-04-02 2015-09-16 哈尔滨工业大学 PXIe接口Nand Flash数据流盘存取加速方法
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US9641614B2 (en) 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
US9141563B2 (en) * 2013-09-11 2015-09-22 Kabushiki Kaisha Toshiba Memory system
US9069486B2 (en) 2013-09-11 2015-06-30 Kabushiki Kaisha Toshiba Data transfer control device and data storage device
KR101547317B1 (ko) * 2013-09-30 2015-08-26 주식회사 유니테스트 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템
US10353633B2 (en) * 2013-12-19 2019-07-16 Sony Interactive Entertainment LLC Mass storage virtualization for cloud computing
WO2015126383A1 (en) * 2014-02-19 2015-08-27 Hewlett-Packard Development Company, L.P. Adapter for transmitting signals
CN106030552A (zh) * 2014-04-21 2016-10-12 株式会社日立制作所 计算机系统
TWI579762B (zh) * 2014-05-06 2017-04-21 瑞昱半導體股份有限公司 固態硬碟控制電路及相關的固態硬碟裝置與固態硬碟存取系統
CN105094687B (zh) * 2014-05-13 2018-10-26 瑞昱半导体股份有限公司 固态硬盘控制电路及固态硬盘装置与固态硬盘存取系统
US20150347324A1 (en) * 2014-05-30 2015-12-03 S2C Inc. System and Method for Shared Memory for FPGA Based Applications
US9990313B2 (en) 2014-06-19 2018-06-05 Hitachi, Ltd. Storage apparatus and interface apparatus
US9804989B2 (en) 2014-07-25 2017-10-31 Micron Technology, Inc. Systems, devices, and methods for selective communication through an electrical connector
KR102255216B1 (ko) 2014-11-20 2021-05-24 삼성전자주식회사 Pci 장치와 이를 포함하는 pci 시스템
CN107408090B (zh) * 2015-03-27 2021-03-26 英特尔公司 输入/输出控制器访问通道的动态配置
US9792048B2 (en) 2015-06-22 2017-10-17 Western Digital Technologies, Inc. Identifying disk drives and processing data access requests
EP3334197B1 (en) * 2015-08-31 2020-01-15 Huawei Technologies Co., Ltd. Method and system for acquiring identification code of terminal
US9760513B2 (en) 2015-09-22 2017-09-12 Cisco Technology, Inc. Low latency efficient sharing of resources in multi-server ecosystems
TWI566103B (zh) * 2015-11-16 2017-01-11 宇瞻科技股份有限公司 PCIe橋接器之轉換裝置及其方法
TWI582597B (zh) * 2016-12-07 2017-05-11 英業達股份有限公司 硬體資源共用系統及連線橋接平台的操作方法
US10911261B2 (en) 2016-12-19 2021-02-02 Intel Corporation Method, apparatus and system for hierarchical network on chip routing
US10846126B2 (en) 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US10338838B2 (en) 2017-03-24 2019-07-02 Samsung Electronics Co., Ltd. Multi-mode NVMe over fabrics device for supporting CAN (controller area network) bus or SMBus interface
US10534738B2 (en) * 2018-01-17 2020-01-14 Western Digital Technologies, Inc. Host bus adaptor with configurable interface
US20200081628A1 (en) * 2018-09-12 2020-03-12 Dell Products, Lp Apparatus and Method for Monitoring Insertion and Removal of Devices
CN109446015B (zh) * 2018-10-26 2022-05-27 北京计算机技术及应用研究所 一种NVMe原型仿真验证结构
CN109753459A (zh) * 2018-12-07 2019-05-14 天津津航计算技术研究所 一种大容量数据记录器
CN111258504B (zh) * 2020-01-15 2023-05-30 西安电子科技大学 一种基于sata接口固态硬盘的存储控制系统
US11150842B1 (en) 2020-04-20 2021-10-19 Western Digital Technologies, Inc. Dynamic memory controller and method for use therewith
US11281399B2 (en) 2020-06-24 2022-03-22 Western Digital Technologies, Inc. Dual-interface storage system and method for use therewith
US11442665B2 (en) 2020-12-04 2022-09-13 Western Digital Technologies, Inc. Storage system and method for dynamic selection of a host interface
CN113051196B (zh) * 2021-03-26 2021-11-02 武汉理工大学 一种基于固态硬盘层差异特征的请求调度算法
US20230244613A1 (en) * 2022-01-28 2023-08-03 Seagate Technology Llc Scalable storage using nvme communication
CN114138702B (zh) * 2022-01-29 2022-06-14 阿里云计算有限公司 计算系统、pci设备管理器及其初始化方法
CN116700604B (zh) * 2023-02-20 2023-11-14 无锡众星微系统技术有限公司 一种基于sas hba的数据传输方法
CN117407348B (zh) * 2023-12-15 2024-03-22 成都电科星拓科技有限公司 PCIe自适应转接方法、装置、存储介质及电子设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US7517231B2 (en) * 2004-11-16 2009-04-14 Super Talent Electronics, Inc. Solid state drive (SSD) with open top and bottom covers
US6889380B1 (en) * 2000-06-30 2005-05-03 Intel Corporation Delaying loading of host-side drivers for cluster resources to avoid communication failures
US7308521B1 (en) * 2001-11-16 2007-12-11 Marvell International Ltd. Multi-port communications integrated circuit and method for facilitating communication between a central processing chipset and multiple communication ports
JP4351071B2 (ja) * 2002-04-03 2009-10-28 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Ata/sata複合コントローラ
US6931457B2 (en) * 2002-07-24 2005-08-16 Intel Corporation Method, system, and program for controlling multiple storage devices
US6781826B1 (en) * 2002-12-24 2004-08-24 Western Digital Technologies, Inc. External disk drive compatible with a serial advanced technology attachment (SATA) standard including a SATA compatible shielded cable capable of receiving power signals from a host
US7246192B1 (en) * 2003-01-10 2007-07-17 Marvell International Ltd. Serial/parallel ATA controller and converter
US7085859B2 (en) * 2003-05-14 2006-08-01 International Business Machines Corporation Method, apparatus and program storage device for automatically presenting status from a host bus adapter until an error is detected
US8301809B2 (en) * 2003-07-02 2012-10-30 Infortrend Technology, Inc. Storage virtualization computer system and external controller thereof
US20060161733A1 (en) * 2005-01-19 2006-07-20 Emulex Design & Manufacturing Corporation Host buffer queues
US7376782B2 (en) * 2005-06-29 2008-05-20 Intel Corporation Index/data register pair for indirect register access
US8149854B2 (en) * 2005-06-30 2012-04-03 Intel Corporation Multi-threaded transmit transport engine for storage devices
US7970953B2 (en) * 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
US7929486B2 (en) * 2005-11-22 2011-04-19 Broadcom Corporation Programmable wireless access point supporting configuration profile updating
US20070214277A1 (en) * 2006-03-07 2007-09-13 Ahmed Ali U Peer-to-peer network communications using SATA/SAS technology
US7464228B2 (en) * 2006-05-31 2008-12-09 Dell Products L.P. System and method to conserve conventional memory required to implement serial ATA advanced host controller interface
CA2672100A1 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage
US20080294421A1 (en) * 2007-05-23 2008-11-27 Kwok-Yan Leung Hard Disk Drive Adapter For Emulating Hard Disk Drive Interface
US7925802B2 (en) * 2007-06-21 2011-04-12 Seamicro Corp. Hardware-based virtualization of BIOS, disks, network-interfaces, and consoles using a direct interconnect fabric
US20090055157A1 (en) * 2007-08-23 2009-02-26 Beyond Blades Ltd. Server Having Remotely Manageable Emulated Functions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140067403A (ko) * 2012-11-26 2014-06-05 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
KR20160147373A (ko) * 2015-06-15 2016-12-23 한국전자통신연구원 광 신호를 이용한 sata 호스트 버스 어댑터 및 sata 저장소 연결 방법

Also Published As

Publication number Publication date
CN102160044A (zh) 2011-08-17
EP2329386A2 (en) 2011-06-08
US8478916B2 (en) 2013-07-02
US20100077117A1 (en) 2010-03-25
US8225019B2 (en) 2012-07-17
WO2010033375A3 (en) 2010-05-27
KR101181150B1 (ko) 2012-09-17
TW201017426A (en) 2010-05-01
TWI452469B (zh) 2014-09-11
EP2329386A4 (en) 2012-08-08
WO2010033375A2 (en) 2010-03-25
CN102160044B (zh) 2015-04-29
US20120271974A1 (en) 2012-10-25

Similar Documents

Publication Publication Date Title
KR101181150B1 (ko) PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션
JP6243469B2 (ja) 低電力物理ユニットのロード/ストア通信プロトコルへの提供
US9830292B2 (en) Architected protocol for changing link operating mode
US9390046B2 (en) Controlling a physical link of a first protocol using an extended capability structure of a second protocol
US9430432B2 (en) Optimized multi-root input output virtualization aware switch
US8924620B2 (en) Providing a consolidated sideband communication channel between devices
US9141577B2 (en) Optimized link training and management mechanism
US7755791B2 (en) Image processing apparatus and image forming apparatus
US20180210857A1 (en) Method, apparatus and system for configuring a protocol stack of an integrated circuit chip
US9910814B2 (en) Method, apparatus and system for single-ended communication of transaction layer packets
US9280508B1 (en) Apparatus and method for interoperability between SAS and PCI express
JP4824422B2 (ja) 制御装置、画像処理システムおよびデータ転送経路切替方法
CN117435538A (zh) 一种PCIe转SRIO的桥接系统
US20080057775A1 (en) Sata-interfaced host bridge device

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee