KR101114011B1 - 가상 주변 장치 상호연결 다기능 장치 - Google Patents

가상 주변 장치 상호연결 다기능 장치 Download PDF

Info

Publication number
KR101114011B1
KR101114011B1 KR1020057018859A KR20057018859A KR101114011B1 KR 101114011 B1 KR101114011 B1 KR 101114011B1 KR 1020057018859 A KR1020057018859 A KR 1020057018859A KR 20057018859 A KR20057018859 A KR 20057018859A KR 101114011 B1 KR101114011 B1 KR 101114011B1
Authority
KR
South Korea
Prior art keywords
pci
functions
multifunction
logic
multifunction device
Prior art date
Application number
KR1020057018859A
Other languages
English (en)
Other versions
KR20060017584A (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 KR20060017584A publication Critical patent/KR20060017584A/ko
Application granted granted Critical
Publication of KR101114011B1 publication Critical patent/KR101114011B1/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/10Program control for 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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bus Control (AREA)

Abstract

주변 장치 상호연결(PCI) 장치(200)는 장치 상호연결 버스(102)에 연결된 버스 인터페이스(216), 복수의 구성 공간 레지스터 세트(206A-206N) 및 가상 다기능 로직(204)을 포함한다. 각 구성 공간 레지스터 세트(206A-206N)는 어느 한 기능과 관련되어 있다. 가상 다기능 로직(204)는 버스 인터페이스(102)와 구성 공간 레지스터 세트(206A-206N)에 연결되어 있다. 가상 다기능 로직(204)은 복수의 기능에 복수의 구성 공간 레지스터(206A-206N)에 대한 액세스를 제공한다. 가상 다기능 로직(204)은 또한 복수의 기능이 버스 인터페이스(216)와 다른 내부 로직을 공유할 수 있도록 한다.

Description

가상 주변 장치 상호연결 다기능 장치{VIRTUAL PERIPHERAL COMPONENT INTERCONNECT MULTIPLE-FUNCTION DEVICE}
주변 장치 상호연결(Peripheral Component Interconnect : PCI) 로컬 버스 규격은 마이크로프로세서 또는 중앙 처리 장치(CPU)와 하나 이상의 주변 장치 간의 데이터 전송을 위한 32 비트 또는 64 비트 버스에 관한 것이다. 디스크 드라이브와 같은 주변 장치는 마더보드에 직접 통합할 수 있다. 다른 주변 장치들은 멀티미디어 카드, 그래픽 카드, 비디오 카드, 오디오 카드, 로컬 에어리어 네트워크(LAN) 카드 등의 PCI 확장 카드를 통해 부가할 수 있다.
PCI "장치"는 PCI 버스 환경에서 동작하는 PCI 규격에 준거한 전기 장치이다. PCI 규격에 준거한 모든 PCI "장치"(호스트 버스 브리지는 제외)는 "구성 어드레스 공간"("구성 공간"이라고도 함)을 구현해야 한다. 구성 공간은 구성, 초기화 및 오류 처리를 위한 특정한 레지스터 세트이다.
각 PCI "장치"는 하나 이상의 "기능"을 가질 수 있다. 예컨대, 단일 장치는 2개의 "기능"을 가질 수 있는데, 그 중 한 "기능"은 SCSI 버스 제어기에 관한 것이고, 다른 "기능"은 이더넷 제어기에 관한 것이다. 또한, 각각이 단일 "장치"의 별도의 "기능"인 복수의 이더넷 제어기와 같이, 다수의 "기능들"이 동일한 작업을 행할 수도 있다. PCI 규격은 "기능"을 "단일 구성 공간으로 표현되는 로직 세트"로 정의한다. PCI 규격은 각 "기능"을 별도의 구성 레지스터 공간, 예컨대 유일한 256 바이트 공간과 그 기능과 관련된 로직을 갖는 것으로 정의한다. 각 기능의 유일한 구성 공간은 입력/출력(I/O) 또는 메모리 어드레스 공간과는 다르게 액세스할 수 있다.
단일 PCI 장치는 다수의 "기능"을 가질 수 있다. "다기능 장치"는 각 기능마다 구성 공간을 제공해야 하기 때문에, 다수의 구성 공간을 갖는다. "다기능 장치"의 각 "기능"은 PCI 기능을 위한 완전한 별도의 장치로 간주할 수 있는데, 예컨대 각 기능은 자신의 구성 공간 레지스터 세트를 갖는다.
종래의 PCI 장치에 있어서, 그 장치의 로직은 통상 각 기능의 구성 공간과 1 대 1로 관련되어 있다. 종래의 다기능 PCI 장치의 경우는, 각 기능이 그 기능과 관련된 로직의 동작을 제어하는 레지스터 세트를 갖는다.
PCI 로컬 버스 규격에 대한 PCI 확장(PCI-X) 어덴덤(addendum)은 PCI 버스의 속도와 효율을 향상시키는 개선책을 가지고 있다. PCI/X 어덴덤에 따른 "기능"은 PCI/X 준수에 필요한 동작 세트와 레지스터 세트를 지정한다.
본 발명은 가상 주변 장치 상호 접속(PCI) 다기능 장치 및 그 이용 방법에 관한 것이다. PCI 다기능 장치는 많은 이점을 가지고 있다. 예컨대, PCI 장치는 각 기능마다 별도의 내부 리소스를 구현하지 않고 다기능을 구현할 수 있다. 호스트와 PCI 장치 사이의 한 기능의 데이터 전송과 그 호스트와 그 PCI 장치 사이의 다른 기능의 데이터 전송 간에는 사실상 하드웨어적으로 구별할 수 없다. 펌웨어의 제어 하에서 하드웨어와 다른 레벨에서는 명백하게 구별할 수 있다. PCI 장치의 다기능은 내부 리소스를 공유할 수 있는데, 이로써 PCI 장치의 로직 감축이 가능하다. 이와 같이 로직을 감축함으로써 그 PCI 장치를 각 기능마다 전용 리소스를 갖는 PCI 장치보다 더 작고 저렴하게 제조할 수 있다. 이것은 특히 일부 기능이 거의 사용되지 않거나 전혀 동작하지 않는 다수의 기능을 구현하는 장치 설계에 있어서 유효하다.
또한, 가상 PCI 다기능 장치는 단일 전체 장치의 동작을 제어하는 복수의 상이한 PCI 구성 값 세트를 갖는 문제를 해결할 수 있다.
본원의 제1 발명은 가상 PCI 다기능 장치를 포함하는 시스템에 관한 것이다.
본원의 제2 발명은 PCI 기능 요건을 충족시키면서도 PCI 장치의 복수의 기능 간에 다수의 내부 리소스를 공유하는 방법에 관한 것이다.
이하 첨부하는 도면과 설명에 하나 이상의 실시예를 상세히 기술한다. 다른 특징 및 이점은 그 설명, 도면 및 청구 범위로부터 명백히 알 수 있을 것이다.
도 1은 주변 장치 상호연결(PCI) 시스템의 일례를 도시한다.
도 2는 장치 로직, 가상 다기능 로직 및 복수의 기능 레지스터를 포함하는 PCI 장치를 도시한다.
도 3은 기능과 관련된 레지스터 세트를 도시한다.
도 4는 기능 번호를 선택하는 방법을 도시한다.
도 1은 주변 장치 상호연결(PCI) 시스템(100)의 일례를 도시한다. PCI 시스템(100)은 PCI(또는 PCI-X) 로컬 버스(102), 프로세서(104) 및 복수의 PCI 장치(106-116)를 포함할 수 있다.
도 2는 도 1의 PCI/PCI-X 버스(102)에 연결된 PCI 로직 장치(200)를 도시한다. PCI 로직 장치(200)는 주문형 반도체(application specific integrated circuit : ASIC)일 수 있다. 도 2의 PCI 로직 장치(200)는 PCI-X 버스 인터페이스("PCI-X 코어"라고도 함)(216), PCI-X 버스 마스터 인터페이스 로직(218), 가상 다기능 로직(204), PCI-X 버스 슬레이브 인터페이스 로직(222), 추가의 장치 로직(202) 및 복수의 구성 공간 기능 레지스터(206A-206N)를 포함할 수 있다. 추가의 장치 로직(202)은 하나 이상의 제어 레지스터(214), CPU(208), 메모리(212) 및 직접 메모리 액세스(direct memory access : DMA) 제어기(210)를 포함할 수 있다. 도 2의 일부 구성 요소는 중복 가능하며, 하드웨어, 소프트웨어 및/또는 펌웨어를 포함할 수 있다. 예컨대, 가상 다기능 로직(204)은 다른 장치 로직(216, 218, 222, 202) 및 각 "기능"의 구성 공간과 통합 가능하며, 도 2에 도시한 별도의 블록이 아니다.
PCI-X 버스 인터페이스/PCI-X 코어(216)는 호스트 시스템과 PCI 장치(200) 간의 데이터 통신을 처리하는 하드웨어 블록일 수 있다. 예컨대, PCI-X 코어(216)는 PCI-X 버스 프로토콜을 구현할 수 있다. PCI-X 코어(216)는 내부 로직(218, 204, 202, 222)과 PCI 버스(102) 간의 인터페이스를 제공한다.
DMA 제어기(210)는 호스트 시스템 메모리(105)와 온칩 메모리(212) 간의 데이터 전송을 처리할 수 있다.
버스 마스터 인터페이스 로직(218)은 PCI 장치(200)의 버스 동작을 처리할 수 있다.
가상 다기능 로직(204)은 PCI-X 코어(216), PCI-X 버스 마스터 인터페이스 로직(218), PCI-X 버스 슬레이브 인터페이스 로직(222) 및 추가의 장치 로직(202)을 기능 레지스터(206A-206N)에 액세스시키는 로직 회로를 포함한다. 가상 다기능 로직(204)은 다기능 레지스터(206A-206N)를 관련 공유 로직(216, 218, 202) 제어에 이용하는 방법을 처리하는 로직 회로를 포함한다.
다기능 레지스터(206A-206N)는 PCI 장치의 "구성 공간"(220)을 구성할 수 있다. PCI 장치(200)는 PCI 장치(200)가 구현할 수 있는 로직과 5개의 구성 공간 레지스터 세트(206A-206N)를 포함하는 5개의 "기능"을 가질 수 있다. 호스트 소프트웨어 드라이버(예컨대, 도 1의 프로세서(104))는 PCI 장치(200)의 "기능들" 중 하나를 통해 PCI 장치(200)와 통신한다. "다기능 장치"의 경우, 기능마다 다른 호스트 드라이버, 즉 각 "기능"마다 하나의 호스트 드라이버를 가질 수 있다. 다수의 "기능들"은 모두 동일한 "피처(feature)"를 제공하거나, 상이한 피처를 제공할 수 있다. 예컨대, 하나의 "기능"은 SCSI 버스 제어기에 관한 것이고, 다른 "기능"은 이더넷 제어기에 관한 것일 수 있다. 또한, 각각이 단일 "장치"의 별도의 "기능"인 복수의 이더넷 제어기와 같이, 다수의 "기능들"이 동일한 작업을 행할 수도 있다. 하나의 기능이 제공하는 실제 피처는 본원에서는 그다지 중요하지 않을 수 있다.
5개의 "기능"의 각각은 PCI 기능을 위한 완전한 별도의 "장치"로 간주할 수 있는데, 예컨대 각 기능은 자신의 구성 공간 레지스터 세트(206)를 갖는다. PCI 규 격은 각 "기능"이 자신의 구성 공간 레지스터 세트(206)를 가질 것을 요구한다. 그러나 5개의 기능은 동일한 PCI "장치"(200)로 구현된다.
가상 다기능 로직(204)의 "가상" 특성은 다수의 기능들이 PCI 요건(예컨대, 각 기능이 구성 공간 레지스터 세트(206)를 가짐)에 따라 정확하게 동작할 수 있게 하고 또한 다수의 기능들이 다수의 내부 리소스("로직"이라고도 함)의 단일 인스턴스를 공유할 수 있게 한다. 내부 리소스는 PCI-X 버스 인터페이스 또는 PCI-X 코어(216), 버스 마스터 인터페이스 로직(218), 버스 슬레이브 인터페이스 로직(222) 및 추가의 로직(202)일 수 있다.
가상 다기능 로직(204)은 모든 기능의 레지스터(206A-206N)의 값들을 고려하여, 레지스터(206A-206N)로 하여금 다수의 기능과 관련된 공유 로직(내부 리소스)(216, 218, 222, 202)을 제어하게 한다. 기능들은 각 기능과 관련된 실제 (전용) 로직이 없기 때문에 "가상적"이라고 할 수 있다. 각 "기능"은 구성 레지스터 공간에 의해 형성될 수 있다. PCI 장치(200)의 로직, CPU 및 펌웨어는 "기능들"에 의해 공유될 수 있으나, 일부 로직만은 직접 연결되어 구성 공간 레지스터(206A-206N)에 의해 제어될 수 있다.
PCI-X 버스 인터페이스(216)의 허용 가능한 동작을 제어하는 다수의 파라미터가 있다. 이들 파라미터는 각 기능의 구성 공간에 프로그래밍될 수 있다. 가상 다기능 로직(204)의 유일한 측면은 공유 하드웨어, 예컨대 PCI-X 코어(216) 및 DMA 제어기(210)에 대한 단일의 일관된 제어 세트를 제공할 수 있도록 상이한 기능들 간의 상이한 또는 충돌하는 설정을 처리할 수 있는 능력이다. 예컨대, 2개의 상이한 기능이 캐시 라인 사이즈 레지스터에 대해 상이한 값으로 프로그래밍된 경우에, 가상 다기능 로직(204)은 캐시 라인 사이즈에 대해 단일 값을 선택할 수 있다. 가상 다기능 로직(204)은 또한 전체 장치(200)에 있어서 이용 가능한 리소스를 최대화하도록 상이한 기능들에 대한 리소스 설정, 예컨대 최대로 허용 가능한 미처리 분할 트랜잭션의 수를 최적화할 수 있다.
다음은 가상 다기능 로직(204)에 대한 특수 처리를 필요로 할 수 있는 PCI 구성 공간의 상이한 값들에 대해서 기술한다. 각 기능으로부터의 별도의 값들을 하나의 값으로 결합하여, 전체 장치의 동작을 제어하는 작업에 관한 것이다.
도 3은 기능과 관련된 레지스터 세트(206)를 도시하는데, 그 레지스터 세트(206)는 커맨드 레지스터(302), 상태 레지스터(304), 캐시 라인 사이즈 레지스터(306), 레이턴시 타이머 레지스터(308), PCI-X 커맨드 레지스터(310) 및 PCI-X 상태 레지스터(312)를 포함할 수 있다.
커맨드 레지스터
커맨드 레지스터(302)는 PCI 규격에 의해 규정되며, 기능의 동작을 제어하는 복수의 비트를 포함할 수 있다. "버스 마스터" 커맨드 비트 2는 해당 기능에게 PCI-X 버스(102)를 마스터하는 것을 허용할 것인지 여부를 결정한다. 버스 마스터 커맨드 비트가 클리어되면, 그 기능에게는 PCI-X 버스(102)에 대한 어떠한 트랜잭션의 개시도 허용되지 않는다. 버스 마스터 커맨드 비트가 세트되면, 그 기능에게는 PCI-X 버스(102)에 대한 트랜잭션의 개시가 허용된다. PCI 장치(200)의 전체 동작은 모든 활성 기능의 버스 마스터 인에이블 비트들의 논리 "OR"과 동일할 수 있 다. 따라서, 그 기능의 버스 마스터 인에이블 비트들 중 어느 하나가 세트되면, PCI 장치(200)에게는 PCI-X 버스(102)에 대한 트랜잭션의 개시가 허용된다.
"MWI" 커맨드 비트 4는 해당 기능에게 메모리 기록 및 무효화(memory write and invalidate : MWI) 커맨드를 이용하는 것을 허용할 것인지 여부를 결정한다. MWI 비트가 클리어되면, MWI 커맨드를 이용할 수 없다. MWI 비트가 세트되면, MWI 커맨드를 이용할 수 있다. 전체 장치 동작은 모든 버스 마스터 인에이블 기능의 MWI 비트들의 논리 "AND"와 동일할 수 있다. 따라서, 그 버스 마스터 인에이블 기능의 MWI 비트들 모두가 세트되면, 전체 장치(200)에게는 메모리 기록 및 무효화(MWI) 커맨드의 이용이 허용된다.
"패리티 오류 응답" 커맨드 비트 6은 해당 기능이 패리티를 체크하여 그 기능이 마스터하는 트랜잭션에 대한 "PERR" 신호(PCI 규격에 의해 규정됨)를 구동해야 하는지 여부를 결정한다. 패리티 오류 응답 비트가 클리어되면, 그 기능은 패리티를 체크해서는 안되고 또한 "PERR"을 어서트해서도 안된다. 패리티 오류 응답 비트가 세트되면, 그 기능은 패리티를 체크하여 패리티 오류가 검출되면 "PERR"을 어서트해야 한다. 전체 장치 동작은 모든 활성 기능의 패리티 오류 응답 비트들의 논리 "OR"과 동일할 수 있다. 따라서, 그 활성 기능의 패리티 오류 응답 비트들 중 어느 하나가 세트되면, PCI 장치(200)는 패리티를 체크하여 패리티 오류가 검출되면 PERR을 구동하게 된다.
"SERR 인에이블" 커맨드 비트 8은 해당 기능에게 SERR 드라이버(PCI 규격에 의해 규정됨)를 인에이블하는 것을 허용할 것인지 여부를 결정한다. SERR 인에이블 커맨드 비트가 클리어되면, 그 기능에게는 SERR 드라이버의 인에이블이 허용되지 않는다. SERR 인에이블 커맨드 비트가 세트되면, 그 기능은 SERR 드라이버를 인에이블할 수 있다. 전체 장치 동작은 모든 활성 기능의 SERR 인에이블 커맨드 비트들의 논리 "OR"과 동일할 수 있다. 따라서, 그 활성 기능의 SERR 인에이블 커맨드 비트들 중 어느 하나가 세트되면, PCI 장치(200)는 SERR을 어서트할 수 있다.
"패스트 백 투 백 인에이블(Fast Back-to-Back Enable)" 커맨드 비트 9는 해당 기능에게 패스트 백 투 백 트랜잭션을 실행하는 것을 허용할 것인지 여부를 결정한다. 패스트 백 투 백 인에이블 커맨드 비트가 클리어되면, 그 기능에게는 패스트 백 투 백 트랜잭션의 실행이 허용되지 않는다. 패스트 백 투 백 인에이블 커맨드 비트가 세트되면, 그 기능은 패스트 백 투 백 트랜잭션을 실행할 수 있다. 전체 장치 동작은 모든 버스 마스터 인에이블 기능의 패스트 백 투 백 인에이블 커맨드 비트들의 논리 "AND"와 동일할 수 있다. 따라서, 그 버스 마스터 인에이블 기능의 패스트 백 투 백 인에이블 커맨드 비트들 모두가 세트되면, 장치(200)는 패스트 백 투 백 트랜잭션을 실행할 수 있다.
상태 레지스터
상태 레지스터(304)는 PCI 규격에 의해 규정되며, 기능의 상태를 나타내는 복수의 비트를 포함할 수 있다. 수개의 비트는 가상 다기능 장치(200)에 대한 특수 처리를 가질 수 있다.
"마스터 데이터 패리티 오류" 상태 비트 24는 마스터된 트랜잭션에 대한 패리티 오류가 검출되었음을 나타낼 수 있다. 이 비트는 대응하는 커맨드 비트 6이 소정 기능에 세트되어 있고 전체 장치(200)가 마스터된 트랜잭션(PCI 규격에 의해 규정됨)에 대한 패리티 오류를 검출한 경우에 그 기능에 세트될 수 있다.
"시그널링된 시스템 오류" 상태 비트 30은 장치(200)가 SERR 드라이버를 구동했음을 나타낼 수 있다. 이 비트는 대응하는 커맨드 비트 8이 소정 기능에 세트되어 있고 전체 장치(200)가 SERR 드라이버를 구동한 경우에 그 기능에 세트될 수 있다.
"시그널링된 타겟 어보트" 상태 비트 27, "수신된 타겟 어보트" 상태 비트 28, "수신된 마스터 어보트" 상태 비트 29 및 "검출된 패리티 오류" 상태 비트 31은 각종 PCI 오류를 나타낼 수 있다. 이들 오류 비트는 전체 장치(200)가 대응하는 오류를 만나는 경우에 모든 기능에 세트될 수 있다.
캐시 라인 사이즈 레지스터
캐시 라인 사이즈 레지스터(306)는 PCI 규격에 의해 규정되며, 호스트, 예컨대 도 1의 프로세서(104)의 캐시 라인 사이즈를 해당 기능에게 통보할 수 있다. 캐시 라인 사이즈 레지스터가 0 이외의 값으로 프로그래밍되면, 해당 기능에게는 그 캐시 라인 사이즈에 기초한 최적화가 허용된다. 이러한 최적화에는 PCI 규격에 의해 규정되는 블록 판독 및 기록 커맨드 : 메모리 판독 라인(Memory Read Line), 메모리 판독 다중화(Memory Read Multiple) 및 메모리 기록 무효화(Memory Write Invalidate)를 이용하는 것이 포함될 수 있다.
전체 장치 동작은 다음과 같다. 모든 버스 마스터 인에이블 기능의 캐시 라인 사이즈 레지스터가 동일한 값으로 프로그래밍되면, 전체 장치(200)는 그 값을 이용할 수 있다. 그렇지 않다면, 전체 장치(200)는 "0"(무효 값)의 캐시 라인 사이즈를 이용할 수 있다.
레이턴시 타이머 레지스터
레이턴시 타이머 레지스터(308)는 PCI 규격에 의해 규정되며, 허가가 철회된 경우에 해당 기능이 버스(102)를 이용할 수 있는 최대 시간을 나타낼 수 있다. 전체 장치(200)가 트랜잭션을 마스터하면, 전체 장치(200)는 모든 레이턴시 타이머 레지스터(308)의 버스 마스터 인에이블 기능의 값들 중 최소값과 같은 값을 이용한다.
PCI-X 커맨드 레지스터
PCI-X 커맨드 레지스터(310)는 PCI-X 규격에 의해 규정되며, 장치(200)의 PCI-X 동작을 제어하는 복수의 비트를 포함할 수 있다. "데이터 패리티 오류 복원" 커맨드 비트 16은 해당 기능의 패리티 오류 복원 능력을 제어할 수 있다. 데이터 패리티 오류 복원 커맨드 비트가 세트되면, 그 기능은 데이터 패리티 오류 복원을 시도할 수 있다. 이 비트가 클리어되면, 그 기능은 데이터 패리티 오류 복원을 시도해서는 안된다. 전체 장치 동작은 모든 버스 마스터 인에이블 기능의 데이터 패리티 오류 복원 커맨드 비트들의 논리 "AND"와 동일할 수 있다. 따라서, 그 버스 마스터 인에이블 기능의 데이터 패리티 오류 복원 커맨드 비트들 모두가 세트되면, 전체 장치(200)는 데이터 패리티 오류 복원을 시도할 수 있다.
"인에이블 릴랙스 오더링" 커맨드 비트 17은 해당 기능이 마스터 트랜잭션(PCI 및/또는 PCI-X 규격에 의해 규정됨)에서 릴랙스 오더링("RO") 비트를 세트하 는 능력을 제어할 수 있다. 인에이블 릴랙스 오더링 비트가 세트되면, 그 기능은 인에이블 릴랙스 오더링 "RO" 비트를 세트할 수 있다. 이 인에이블 릴랙스 오더링 비트가 클리어되면, 그 기능은 인에이블 릴랙스 오더링 "RO" 비트를 세트해서는 안된다. 전체 장치 동작은 모든 버스 마스터 인에이블 기능의 인에이블 릴랙스 오더링 비트들의 논리 "AND"와 동일할 수 있다. 따라서, 그 버스 마스터 인에이블 기능의 인에이블 릴랙스 오더링 비트들 모두가 세트되면, 전체 장치(200)는 마스터 트랜잭션에서 인에이블 릴랙스 오더링 "RO" 비트를 세트할 수 있다.
"최대 메모리 판독 바이트 카운트" 커맨드 비트 18-19는 해당 기능이 실행할 수 있는 최대 사이즈 판독을 제한할 수 있다. 마스터 판독(PCI 및/또는 PCI-X 규격에 의해 규정됨)은 그 마스터 판독이 최대 메모리 판독 바이트 카운트 비트들보다 큰 경우에는 요청할 수 없다. 전체 장치 동작은 모든 버스 마스터 인에이블 기능의 최대 메모리 판독 바이트 카운트 필드들 중 최소값일 수 있다. 따라서, 전체 장치(200)가 요청할 수 있는 최대 사이즈 판독은 모든 버스 마스터 인에이블 기능들에 프로그래밍된 최대 메모리 판독 바이트 카운트 필드들 중 최소값일 수 있다.
"최대 미처리 분할 트랜잭션" 커맨드 비트 20-22는 해당 기능에게 허용된 최대 미처리 분할 트랜잭션(PCI 및/또는 PCI-X 규격에 의해 규정됨)의 수를 제어할 수 있다. 지시된 미처리 분할 트랜잭션의 수에 도달되면, 그 기능은 더 이상의 분할 트랜잭션을 요청해서는 안된다. 전체 장치 동작은 모든 버스 마스터 인에이블 기능의 최대 미처리 분할 트랜잭션 커맨드 필드들의 합과 같은 값을 이용할 수 있다. 이로써 전체 장치(200)는 모든 기능들에 할당된 모든 분할 트랜잭션을 이용할 수 있게 된다.
PCI-X 상태
PCI-X 상태 레지스터(312)는 PCI-X 규격에 의해 규정되며, PCI-X 동작에 대한 각종 상태 정보를 보고할 수 있다. 일부 비트는 가상 다기능 동작에 의한 영향을 받을 수 있다. 상태 비트 29, "수신 분할 완성 오류" 상태 비트 19, "예기치 않은 분할 완성" 상태 비트 18 및 "분할 완성 폐기" 비트는 전체 장치(200)가 대응하는 조건을 검출한 경우에 모든 활성 기능들에 세트될 수 있다.
PCI-X 기능 이용
PCI/PCI-X 프로토콜 준수 상태를 유지하고 소정의 기능에 대한 최대 미처리 분할수를 위반하지 않으면서 최대로 가능한 미처리 분할수에 도달하기 위해서 상이한 기능 번호들을 이용할 수 있다.
전체 장치(200)가 PCI-X 버스(102)에 대한 트랜잭션을 마스터하면, 그 기능 번호는 그 PCI-X 버스(102)에 전달되는 정보의 일부일 수 있다. 전체 장치(200)는 다수의 조건에 기초하여 각 트랜잭션에 유효한 기능 번호를 선택해야 한다.
도 4는 기능 번호를 선택하는 방법을 도시한다. 이 방법은 단계 400에서, 요청된 트랜잭션이 판독인지 아니면 기록인지를 판정할 수 있다. 요청된 버스 트랜잭션이 기록인 경우, 장치(200)는 최저 번호의 버스 마스터 인에이블 기능의 번호를 선택할 수 있다(단계 402).
요청된 트랜잭션이 판독인 경우에는, 장치(200)(예컨대, 가상 다기능 로직 (204))는 인에이블 및 버스 마스터 인에이블된 기능들에 대한 다음의 처리를 이용할 수 있다.
- 최저 번호의 기능을 시작으로 해서 최고 번호의 기능에 대해서, "최대 미처리 분할 트랜잭션" PCI-X 커맨드 레지스터 비트 22:20에 대한 각 기능의 값을 그 기능에 대한 현재의 미처리 분할 트랜잭션의 카운트와 비교한다(단계 404).
- 현재의 미처리 분할 카운트(그 기능에 대해 발행된 분할)가 그 요청에 이용하기 위한 "최대 미처리 분할 트랜잭션" PCI-X 커맨드 레지스터 비트 22:20가 허용한 카운트보다 작은 최저 번호의 기능을 선택하고, 선택한 기능 번호에 판독을 발행한다(단계 406).
- 새로운 판독 요청이 분할되면, 그 기능에 대한 미처리 분할 요청 카운트를 증가시킨다(단계 410).
- 기능에 대한 분할 판독이 나중에 완료되면, 그 판독이 발행된 기능에 대한 미처리 분할 카운트를 감소시킨다(단계 412).
다수의 실시예를 설명하였으나, 본 발명의 요지를 벗어나지 않는 범위 내에서 다양하게 변형 가능하다는 것을 알아야 한다. 따라서 다음의 청구 범위의 요지 내에는 다른 실시예들이 포함되어 있다.

Claims (27)

  1. 주변 장치 상호연결(Peripheral Component Interconnect : 'PCI') 다기능 장치 - 상기 다기능 장치의 복수의 기능들 간에는 내부 리소스들이 공유됨 - 로서,
    장치 상호연결 버스에 연결된 버스 인터페이스와;
    복수의 구성 공간 레지스터 세트들(configuration space register sets) - 각각의 구성 공간 레지스터 세트는 상기 다기능 장치의 기능과 연관됨 - 과;
    상기 버스 인터페이스와 상기 구성 공간 레지스터 세트들에 연결되고, 통신 표준에 따라 상기 장치 상호연결 버스 상에서 상기 다기능 장치의 복수의 기능들 - 각각의 기능은 상기 통신 표준에 의해 별도의 엔티티로서 다루어지는 한 세트의 동작(behavior)들에 대응함 - 의 통신을 조정하도록 구성된 다기능 로직(mutiple-function logic)을 포함하는 PCI 다기능 장치
  2. 제1항에 있어서, 상기 버스 인터페이스는 주변 장치 상호연결(PCI) 버스에 연결된 주변 장치 상호연결 버스 인터페이스인 것인 PCI 다기능 장치.
  3. 제1항에 있어서, 상기 다기능 로직은 복수의 주변 장치 상호연결 기능들을 처리(handle)하도록 구성된 것인 PCI 다기능 장치.
  4. 제1항에 있어서, 상기 버스 인터페이스는 주변 장치 상호연결 확장 버스(Peripheral Component Interconnect Extended(PCI-X) bus)에 연결된 주변 장치 상호연결 확장(PCI-X) 버스 인터페이스인 것인 PCI 다기능 장치.
  5. 제1항에 있어서, 상기 장치는 주문형 반도체(application specific integrated circuit : ASIC)인 것인 PCI 다기능 장치.
  6. 제1항에 있어서, 각각의 구성 공간 레지스터 세트는 커맨드 레지스터를 포함하며, 상기 다기능 로직은 복수의 기능들과 관련된 복수의 커맨드 레지스터들로부터의 비트들을 이용하여 상기 장치를 제어하는 것인 PCI 다기능 장치.
  7. 제1항에 있어서, 각각의 구성 공간 레지스터 세트는 상태(status) 레지스터를 포함하며, 상기 다기능 로직은 복수의 기능들과 관련된 복수의 상태 레지스터들로부터의 비트들을 이용하여 상기 장치를 제어하는 것인 PCI 다기능 장치.
  8. 제1항에 있어서, 각각의 구성 공간 레지스터 세트는 캐시 라인 사이즈 레지스터를 포함하며, 상기 다기능 로직은 복수의 기능들과 관련된 복수의 캐시 라인 사이즈 레지스터들로부터의 비트들을 이용하여 상기 장치를 제어하는 것인 PCI 다기능 장치.
  9. 제1항에 있어서, 각각의 구성 공간 레지스터 세트는 레이턴시(latency) 타이머 레지스터를 포함하며, 상기 다기능 로직은 복수의 기능들과 관련된 복수의 레이턴시 타이머 레지스터들로부터의 비트들을 이용하여 상기 장치를 제어하는 것인 PCI 다기능 장치.
  10. 제1항에 있어서, 각각의 구성 공간 레지스터 세트는 주변 장치 상호연결 확장(PCI-X) 커맨드 레지스터를 포함하며, 상기 다기능 로직은 복수의 기능들과 관련된 복수의 주변 장치 상호연결 확장(PCI-X) 커맨드 레지스터들로부터의 비트들을 이용하여 상기 장치를 제어하는 것인 PCI 다기능 장치.
  11. 제1항에 있어서, 각각의 구성 공간 레지스터 세트는 주변 장치 상호연결 확장(PCI-X) 상태 레지스터를 포함하며, 상기 다기능 로직은 복수의 기능들과 관련된 복수의 주변 장치 상호연결 확장(PCI-X) 상태 레지스터들로부터의 비트들을 이용하여 상기 장치를 제어하는 것인 PCI 다기능 장치.
  12. 제1항에 있어서, 상기 다기능 로직은 복수의 기능들에 대한 복수의 구성 공간 레지스터들을 조정하는 것인 PCI 다기능 장치.
  13. 제1항에 있어서, 상기 다기능 로직은 복수의 기능들이 상기 버스 인터페이스를 공유할 수 있도록 하는 것인 PCI 다기능 장치.
  14. 제1항에 있어서, 상기 다기능 로직은 복수의 기능들이 내부 장치 로직을 공유할 수 있도록 하는 것인 PCI 다기능 장치.
  15. 제1항에 있어서, 상기 다기능 로직은 복수의 기능들이 상기 장치의 내부 리소스를 공유할 수 있도록 하는 것인 PCI 다기능 장치.
  16. 제1항에 있어서, 복수의 기능들이 공유하는 주변 장치 상호연결 확장(PCI-X) 마스터 인터페이스 로직을 더 포함하는 PCI 다기능 장치.
  17. 제1항에 있어서, 복수의 기능들이 공유하는 주변 장치 상호연결 확장(PCI-X) 슬레이브(slave) 인터페이스 로직을 더 포함하는 PCI 다기능 장치.
  18. 제1항에 있어서, 복수의 기능들이 공유하는 제어 레지스터들을 더 포함하는 PCI 다기능 장치.
  19. 제1항에 있어서, 복수의 기능들이 공유하는 처리부(processing unit)를 더 포함하는 PCI 다기능 장치.
  20. 제1항에 있어서, 복수의 기능들이 공유하는 메모리를 더 포함하는 PCI 다기능 장치.
  21. 제1항에 있어서, 복수의 기능들이 공유하는 직접 메모리 액세스 제어기를 더 포함하는 PCI 다기능 장치.
  22. 장치의 복수의 기능들 간에 내부 리소스들을 공유하는 시스템으로서,
    호스트 프로세서와;
    상기 호스트 프로세서에 연결된 로컬 버스와;
    상기 로컬 버스에 연결된 다기능 장치
    를 포함하며, 상기 다기능 장치는,
    버스 인터페이스와;
    각각의 구성 공간 레지스터 세트가 상기 다기능 장치의 기능과 관련되어 있는 복수의 구성 공간 레지스터 세트들과;
    상기 버스 인터페이스와 상기 구성 공간 레지스터 세트들에 연결되고, 통신 표준에 따라 상기 장치 상호연결 버스 상에서 상기 다기능 장치의 복수의 기능들 - 각각의 기능은 상기 통신 표준에 의해 별도의 엔티티로서 다루어지는 한 세트의 동작(behavior)들에 대응함 - 의 통신을 조정하도록 구성된 다기능 로직을 포함하는 것인, 장치의 복수의 기능들 간에 내부 리소스들을 공유하는 시스템.
  23. 장치의 복수의 기능들 간에 내부 리소스들을 공유하는 방법으로서,
    복수의 레지스터 세트들에 장치의 복수의 기능들 - 각각의 레지스터 세트는 상기 복수의 기능들 중 하나와 연관됨 - 에 대한 구성 비트들을 저장하는 단계와;
    통신 표준에 따라 상기 장치의 복수의 기능들 - 각각의 기능은 상기 통신 표준에 의해 별도의 엔티티로서 다루어지는 한 세트의 동작(behavior)들에 대응함 - 의 통신을 조정하기 위한 다기능 로직을 제공함으로써, 상기 복수의 기능들이 장치 로직을 공유하도록 하는 단계
    를 포함하는, 장치의 복수의 기능들 간에 내부 리소스들을 공유하는 방법.
  24. 제23항에 있어서, 상기 복수의 기능들은 주변 장치 상호연결 기능들인 것인, 장치의 복수의 기능들 간에 내부 리소스들을 공유하는 방법.
  25. 삭제
  26. 삭제
  27. 삭제
KR1020057018859A 2003-04-03 2004-03-31 가상 주변 장치 상호연결 다기능 장치 KR101114011B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/407,031 US7107382B2 (en) 2003-04-03 2003-04-03 Virtual peripheral component interconnect multiple-function device
US10/407,031 2003-04-03
PCT/US2004/009802 WO2004091053A2 (en) 2003-04-03 2004-03-31 Virtual peripheral component interconnect multiple-function device

Publications (2)

Publication Number Publication Date
KR20060017584A KR20060017584A (ko) 2006-02-24
KR101114011B1 true KR101114011B1 (ko) 2012-02-21

Family

ID=33097456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057018859A KR101114011B1 (ko) 2003-04-03 2004-03-31 가상 주변 장치 상호연결 다기능 장치

Country Status (6)

Country Link
US (1) US7107382B2 (ko)
EP (1) EP1611501A4 (ko)
JP (1) JP4869065B2 (ko)
KR (1) KR101114011B1 (ko)
CA (1) CA2521025A1 (ko)
WO (1) WO2004091053A2 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003221040A1 (en) * 2002-10-29 2004-05-25 Workbit Corporation Device controller
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
US7644194B2 (en) * 2003-07-14 2010-01-05 Broadcom Corporation Method and system for addressing a plurality of Ethernet controllers integrated into a single chip which utilizes a single bus interface
US7003591B2 (en) * 2003-08-20 2006-02-21 Hewlett-Packard Development Company, L.P. Configurable mapping of devices to bus functions
US7484210B2 (en) * 2004-02-17 2009-01-27 Intel Corporation Apparatus and method for a generic, extensible and efficient data manager for virtual peripheral component interconnect devices (VPCIDs)
US20050228926A1 (en) * 2004-04-05 2005-10-13 Smith Zachary S Virtual-bus interface and associated system and method
US20060236016A1 (en) * 2005-04-19 2006-10-19 Tetrick R S Method, system, and apparatus to support device configuration
US20070073955A1 (en) * 2005-09-29 2007-03-29 Joseph Murray Multi-function PCI device
US20070240018A1 (en) * 2005-12-29 2007-10-11 Intel Corporation Functional level reset on a per device/function basis
US7945721B1 (en) * 2006-08-11 2011-05-17 Oracle America, Inc. Flexible control and/or status register configuration
US7752376B1 (en) * 2006-08-11 2010-07-06 Oracle America, Inc. Flexible configuration space
JP5079342B2 (ja) 2007-01-22 2012-11-21 ルネサスエレクトロニクス株式会社 マルチプロセッサ装置
JP5058615B2 (ja) * 2007-01-25 2012-10-24 エヌイーシーコンピュータテクノ株式会社 ノード制御装置および情報処理装置
US8117346B2 (en) 2008-10-03 2012-02-14 Microsoft Corporation Configuration space virtualization
US8225005B2 (en) * 2008-12-09 2012-07-17 International Business Machines Corporation Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect
US8346997B2 (en) * 2008-12-11 2013-01-01 International Business Machines Corporation Use of peripheral component interconnect input/output virtualization devices to create redundant configurations
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
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
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
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
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
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
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
WO2014041395A1 (en) * 2012-09-12 2014-03-20 Freescale Semiconductor, Inc. System-on-chip device, method of peripheral access and integrated circuit
WO2014080248A1 (en) 2012-11-23 2014-05-30 Freescale Semiconductor, Inc. System on chip
US9781120B2 (en) 2013-07-18 2017-10-03 Nxp Usa, Inc. System on chip and method therefor
US9690719B2 (en) 2014-09-11 2017-06-27 Nxp Usa, Inc. Mechanism for managing access to at least one shared integrated peripheral of a processing unit and a method of operating thereof
US10180908B2 (en) * 2015-05-13 2019-01-15 Qualcomm Incorporated Method and apparatus for virtualized control of a shared system cache
US9928207B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Generating transactions with a configurable port
US10353833B2 (en) * 2017-07-11 2019-07-16 International Business Machines Corporation Configurable ordering controller for coupling transactions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023736A1 (en) * 2002-06-14 2006-02-02 Norbert Boll Method, communication system and communication device for transmitting information

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636368A (en) * 1994-12-23 1997-06-03 Xilinx, Inc. Method for programming complex PLD having more than one function block type
EP0834135B1 (en) * 1995-06-15 2003-01-02 Intel Corporation Architecture for an i/o processor that integrates a pci to pci bridge
US5764924A (en) * 1995-08-24 1998-06-09 Ncr Corporation Method and apparatus for extending a local PCI bus to a remote I/O backplane
US5610601A (en) * 1995-09-19 1997-03-11 Vlsi Technology, Inc. Multi-purposes keyboard interface
US5793997A (en) * 1996-01-11 1998-08-11 Hewlett-Packard Company Interface architecture for connection to a peripheral component interconnect bus
US5768619A (en) 1996-02-16 1998-06-16 Advanced Micro Devices, Inc. Method and system for enabling and disabling functions in a peripheral device for a processor system
US5857083A (en) * 1996-06-07 1999-01-05 Yamaha Corporation Bus interfacing device for interfacing a secondary peripheral bus with a system having a host CPU and a primary peripheral bus
US6275888B1 (en) 1997-11-19 2001-08-14 Micron Technology, Inc. Method for configuring peer-to-peer bus bridges in a computer system using shadow configuration registers
US6073253A (en) * 1997-12-19 2000-06-06 International Business Machines Corporation Enhanced reset and built-in self-test mechanisms for single function and multifunction input/output devices
US6023736A (en) 1997-12-19 2000-02-08 International Business Machines Corporation System for dynamically configuring I/O device adapters where a function configuration register contains ready/not ready flags corresponding to each I/O device adapter
JPH11288400A (ja) * 1998-04-03 1999-10-19 Nec Shizuoka Ltd Pciブリッジデバイス
US6629001B1 (en) * 1999-09-15 2003-09-30 Intel Corporation Configurable controller for audio channels
US6647434B1 (en) * 1999-12-28 2003-11-11 Dell Usa, L.P. Multifunction device with register space for individually enabling or disabling a function of plurality of functions in response to function configuration
JP2002024161A (ja) * 2000-07-06 2002-01-25 Nec Eng Ltd Pciエージェント集積回路及びその通信方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023736A1 (en) * 2002-06-14 2006-02-02 Norbert Boll Method, communication system and communication device for transmitting information

Also Published As

Publication number Publication date
EP1611501A4 (en) 2007-03-28
WO2004091053A2 (en) 2004-10-21
CA2521025A1 (en) 2004-10-21
WO2004091053A3 (en) 2005-01-13
EP1611501A2 (en) 2006-01-04
JP4869065B2 (ja) 2012-02-01
JP2006522414A (ja) 2006-09-28
US7107382B2 (en) 2006-09-12
US20040199700A1 (en) 2004-10-07
KR20060017584A (ko) 2006-02-24

Similar Documents

Publication Publication Date Title
KR101114011B1 (ko) 가상 주변 장치 상호연결 다기능 장치
US6813688B2 (en) System and method for efficient data mirroring in a pair of storage devices
US7206875B2 (en) Expander device capable of persistent reservations and persistent affiliations
KR970000842B1 (ko) 정보 처리 시스템 및 컴퓨터 시스템
US7620747B1 (en) Software based native command queuing
US5255376A (en) Method and apparatus for supporting a dual bit length protocol for data transfers
KR20070024670A (ko) 집적 dma 엔진을 사용하는 고성능 휘발성 디스크드라이브 메모리 액세스 장치 및 방법
US10078568B1 (en) Debugging a computing device
US7089339B2 (en) Sharing of functions between an embedded controller and a host processor
US11928070B2 (en) PCIe device
CZ9701560A3 (cs) Můstek mezi dvěma sběrnicemi
US20220327228A1 (en) PCIe FUNCTION AND OPERATING METHOD THEREOF
US5550990A (en) Physical partitioning of logically continuous bus
JPH07182277A (ja) コンピュータシステム、およびその中での直接メモリアクセス動作を制御するための方法
JPH09198341A (ja) データ処理システム
US7389376B2 (en) HDD controller and system equipped with the same
KR100684553B1 (ko) 듀얼 포트 메모리와 결합되는 마이크로 프로세서
JP4359618B2 (ja) コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品
US20050188145A1 (en) Method and apparatus for handling data transfers
US20040010644A1 (en) System and method for providing improved bus utilization via target directed completion
US20030200358A1 (en) Method, apparatus, and system for maintaining conflict-free memory address space for input/output memory subsystems
TW200836071A (en) Access control device and access control method
CN114281726B (zh) 用于soc芯片的系统架构及外设通信方法
JP7391154B2 (ja) デイジーチェーンspi集積回路およびその動作方法
JP3511407B2 (ja) インタフェースボード及び命令処理装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141110

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160201

Year of fee payment: 5