KR101397377B1 - 호스트 열거 프로세스 수행 방법 및 장치 - Google Patents

호스트 열거 프로세스 수행 방법 및 장치 Download PDF

Info

Publication number
KR101397377B1
KR101397377B1 KR1020107018700A KR20107018700A KR101397377B1 KR 101397377 B1 KR101397377 B1 KR 101397377B1 KR 1020107018700 A KR1020107018700 A KR 1020107018700A KR 20107018700 A KR20107018700 A KR 20107018700A KR 101397377 B1 KR101397377 B1 KR 101397377B1
Authority
KR
South Korea
Prior art keywords
host
resource allocation
shared resource
bit
enumeration process
Prior art date
Application number
KR1020107018700A
Other languages
English (en)
Other versions
KR20100126319A (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 KR20100126319A publication Critical patent/KR20100126319A/ko
Application granted granted Critical
Publication of KR101397377B1 publication Critical patent/KR101397377B1/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/0052Assignment of addresses or identifiers to the modules of a bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Abstract

호스트 열거 프로세스를 위한 방법 및 장치가 개시된다. 본 방법의 일실시예는, 열거 프로세스가 개시 또는 계속될 것인지 여부를 표시하는 비트를 호스트에 제공한다. 비트는, 공유된 리소스 프로세스가 성공적으로 완료될 때, 또는 공유된 리소스 할당 프로세스가 시작된 후에 너무 많은 시간이 경과되면, 또는, 공유된 리소스 할당 프로세스가 개시되기 전에 너무 많은 시간이 경과되면, 또는 공유된 리소스 할당 프로세스가 성공적으로 수행되지 않았다면, 또는, 포트가 개방 상태이고 공유 리소스 할당 프로세스를 수행할 필요가 없다면, 세팅될 수 있다.

Description

호스트 열거 프로세스 수행 방법 및 장치{METHOD AND APPARATUS FOR PERFORMING A HOST ENUMERATION PROCESS}
본 발명은 호스트 열거 프로세스(host enumeration process)를 수행하는 방법 및 장치에 관한 것이다.
최근 컴퓨터 네트워크가 점점 더 복잡하고 정교해짐에 따라, 원격 엔드 디바바이스(remote end devices)의 사용을 용이하게 하기 위해 가상 스위치가 일반적으로 사용된다. 통상, 가상 스위치에는 호스트가 연결된다. 가상 스위치는 호스트로부터 물리적으로 분해되는 입출력("I/O") 장치의 공유를 용이하게 한다. 가상 스위치는 가상 피어 투 피어("P2P") 브리지 장치일 수 있거나, 혹은 가상 스위치와 동일한 기능을 수행하는 다른 하드웨어 또는 소프트웨어일 수 있다.
시스템이 파워 온되고 있을 때, 그 시스템 내의 모든 장치는 그들의 부트업 프로세스를 개시할 것이다. 호스트가 소정의 I/O 장치를 알기 위해서, 중간 관리자는 공유된 리소스 할당 프로세스를 수행한다. 이러한 프로세스의 목적은 하나 이상의 엔드 디바이스들(end devices)이 올바르게 동작하도록 이들 장치에 대해 리소스를 할당하는 것이다.
부트업 프로세스 동안에, 호스트는 부트업 프로세스의 일부로서 그 버스 계층 구조의 열거 프로세스를 수행한다. 그러나, 공유된 리소스 할당 프로세스가 중간 관리자에 의해 완료되기 전에 호스트가 그 계층 구조를 열거하면, 가상 스위치의 배후에 있는 I/O 장치를 호스트가 알 수 없을 것이다.
호스트 열거 프로세스를 수행하는 방법 및 장치에 대해서 이하의 첨부 도면을 참조하여 더 설명한다.
도 1은 예시적인 호스트 도메인을 나타내는 블록도,
도 2는 예시적인 네트워크 도메인을 나타내는 블록도,
도 3은 예시적인 가상 루트 도메인을 나타내는 블록도,
도 4는 예시적인 호스트, 가상 스위치 및 엔드 디바이스 시스템의 하이 레벨 뷰를 나타내는 블록도,
도 5는 본 발명의 실시예의 멀티 포트의 사용에 관한 논리도.
본 명세서에서 설명되는 본 발명의 실시예는 호스트 열거 프로세스를 수행하는 방법 및 장치를 제공한다. 본 실시예는, BIOS 내의 비트 또는 그 BIOS에 의해 판독될 수 있는 메모리 또는 하드웨어 내의 비트를 이용하여, 공유된 리소스 할당 프로세스가 중간 관리자에 의해 실질적으로 완료된 후에 호스트에게 호스트 열거 프로세스를 수행할 것을 지시함으로써, 가상 스위치의 배후에 있는 I/O 장치를 호스트가 확실히 알 수 있다. 이러한 특징이 없으면, 공유된 리소스 할당 프로세스가 중간 관리자에 의해 완료되었는지 여부와 관계없이, 호스트는 열거 프로세스를 계속하여, 일부 I/O 장치를 호스트가 알지 못하게 된다. 따라서, 이러한 특징이 없으면, 이들 장치를 호스트가 알 수 있게 하기 위해서는, 이들 장치는 다시 인스톨되거나 다시 부트되어야 하거나, 혹은 이와 달리, 호스트는 다시 부트되어야 한다.
호스트 열거 프로세스를 수행하는 방법 및 장치는 하나 이상의 가상 스위치를 포함한 소정의 시스템에서 사용될 수 있다. 일실시예에서, 상기 시스템은 하나 이상의 호스트, 하나 이상의 가상 스위치, 및 하나 이상의 엔드 디바이스를 포함한다. 이러한 측면의 실시예를 도 1, 도 2 및 도 3의 블록도로 설명할 수 있다.
도 1, 도 2 및 도 3은 예시적인 컴퓨터 시스템(100)을 나타낸다. 도면에 도시된 바와 같이, 컴퓨터 시스템(100)은 하나 이상의 호스트(도시되지 않음), 하나 이상의 가상 스위치(105), 하나 이상의 주변 장치 상호 연결("PCI") 스위치(110), 및 하나 이상의 엔드 디바이스(115)를 포함한다. 각 엔드 디바이스(115)는, 반드시는 아니지만, e노드(enode)(116), 네트워크 구성부(117), 가상 루트(118), 및 기능부(119, 122)를 포함할 수 있다. 이러한 예시적인 컴퓨터 시스템에서, 가상 스위치(105)는 가상 P2P 브리지 장치일 수 있고, 중간 관리자(120)는 공유된 I/O 패브릭을 소유하고, 공유된 리소스 할당 프로세스를 처리할 수 있다. 각 가상 스위치(105)는, 반드시는 아니지만, 호스트 머신에 접속된 업스트림 P2P(106), PCI 스위치에 연결된(예를 들어, 전기적으로, 물리적으로, 또는 이와는 다르게 접속된) 하나 이상의 다운스트림 가상 P2P, 및 I/O 패브릭에 속하거나 속할 수 있는 네트워크 종단점 구성 공간(network endpoint configuration space)을 포함할 수 있다. 가상 스위치(105)는 PCI 스위치(110)에 접속될 수 있다. PCI 스위치(110)는, 반드시는 아니지만, 하나 이상의 다운스트림 P2P(111, 112)에 접속된 업스트림 P2P(113)를 포함할 수 있다. 다운스트림 P2P(111)는 가상 스위치(105)에 접속될 수 있고, 다운스트림 P2P(112)는 엔드 디바이스(115)에 접속될 수 있다. 예시적인 컴퓨터 시스템(100)에서, 125는 예시적인 호스트 PCI 도메인을 나타내고, 130은 예시적인 관리 PCI 도메인을 나타내고, 140은 예시적인 엔드 디바이스 PCI 도메인을 나타낸다.
시스템이 파워 온되고 있으면, 부트업 프로세스가 개시한다. 이때, 호스트는 자신의 부트업 열거 프로세스를 개시하고, 중간 관리자(120)는 가상 스위치(105)의 배후에 있는 엔드 디바이스(115)에 대해 리소스를 할당하는 공유된 리소스 할당 프로세스를 개시할 수 있다. 중간 관리자(120)는 하드웨어 또는 소프트웨어일 수 있고, 또한 호스트 또는 가상 스위치, 혹은 컴퓨터 시스템 내의 소정의 다른 구성요소 내에 존재할 수 있다.
공유된 리소스 할당 프로세스가 중간 관리자(120)에 의해 완료되면, 즉 리소스가 엔드 디바이스에 할당되었으면, 이제 호스트는 엔드 디바이스를 알 수 있다. 그러나, 공유된 리소스 할당 프로세스가 호스트 열거 프로세스의 개시 전에 완료되지 않으면, 호스트가 엔드 디바이스를 알 수 있도록 적시에 엔드 디바이스에 리소스가 할당되지 않았을 것이다.
호스트의 조기 열거(early euneration)를 방지하기 위해서, 호스트를 중지(stall)시키기 위한 "BIOS Go" 비트가 제공된다. 즉, 공유된 리소스 할당 프로세스가 완료됨을 호스트에게 표시하는 "BIOS Go" 비트가 세팅될 때까지 호스트는 열거 프로세스를 수행하지 않는다. 호스트 열거 프로세스를 중지시킬 수 있는 다양한 방법이 있다. 예컨대, 호스트를 인터럽트하거나 호스트에 의한 활동을 폴링함으로써, 또는, 호스트를 리셋 상태 또는 파워 오프 상태로 유지함으로써, 이 방법이 수행될 수 있다. 이러한 예시에서, BIOS에 의해 액세스가능한 가상 P2P 장치 구성 공간의 내부에 "BIOS Go" 비트를 제공함으로써, 호스트 BIOS 버스 열거 프로세스가 중지된다. 또한, "BIOS Go" 비트는 컴퓨터 시스템에 따라 다른 곳에도 제공될 수도 있다. 예컨대, "BIOS Go" 비트는 중간 관리자 및 호스트 양쪽에 의해 액세스가능한 공유된 메모리 위치 내에서 또는 전용 하드웨어 레지스터에서 실행될 수 있다.
이러한 예시적인 실시예에서, "BIOS Go" 비트는 파워 온 시에 디어서트(deassert)된다. 그 후, 공유된 리소스 할당 프로세스가 중간 관리자에 의해 수행되고 있는 동안에 호스트에서의 BIOS는 "BIOS Go" 비트를 폴링한다. 공유된 리소스 할당 프로세스가 완료되면, 즉, 공유된 리소스가 엔드 디바이스에 할당되었다면, 중간 관리자는, 공유된 리소스 할당 프로세스가 완료되었음을 호스트에게 표시하도록 "BIOS Go" 비트를 세팅할 수 있다. 호스트가 "BIOS Go" 비트를 폴링하는 경우에, 호스트는 열거 프로세스를 개시 및/또는 계속할 수 있음을 이제 인지하고 있을 것이다. 이러한 예시에서, 호스트의 BIOS는 "BIOS Go" 비트를 폴링하여 열거 프로세스를 계속할 것이다. 열거 프로세스가 완료될 때, 엔드 디바이스가 호스트 머신 상에 물리적으로 위치하거나 위치할 수 없을지라도, 중간 관리자에 의해 호스트에 할당되었기 때문에, 호스트는 엔드 디바이스를 현재 알고 있을 것이다. 호스트는 "BIOS Go" 비트를 계속해서 또는 주기적으로 폴링하거나, 컴퓨터 시스템에 따른 특정 변형 시퀀스로 "BIOS Go" 비트를 폴링할 수 있다. 또한, 여러 다른 가능한 실시예가 있다. 예를 들어, "BIOS Go" 비트가 세팅될 때, 호스트는 인터럽트, 파워 온, 또는 리셋 상태로 될 수 있다.
도 4는 본 발명의 실시예에 대한 계층도이다. 도 4에 예시된 컴퓨터 시스템은 호스트 컴퓨터(405), 가상(virtual) 스위치(410), 및 하나 이상의 엔드 디바이스(415)를 포함한다. 도 4에 도시된 바와 같이, 가상 스위치(410)는 호스트 P2P 및 하나 이상의 가상 P2P를 포함할 수 있다. 이러한 예시에서, 중간 관리자는 가상 스위치 내에 배치되어 공유 리소스 할당 프로세스를 수행할 수 있다. 이러한 실시예에서, 호스트 컴퓨터(405), 가상 스위치(410), 및 하나 이상의 엔드 디바이스(415)는, 반드시는 아니지만, 도 1 내지 도 3에 도시된 호스트, 가상 스위치(105) 및 엔드 디바이스(115)와 유사한 구성 및 기능을 가질 수 있다.
시스템이 파워 온될 때, "BIOS Go" 비트는 디어서트되며, 중간 관리자는 공유된 리소스 할당 프로세스를 개시한다. 중간 관리자는 공유된 리소스 할당 프로세스를 수행하고 있기 때문에, 호스트는 "BIOS Go" 비트를 폴링하고, 열거는 중지(stall)되어야 함을 인지할 것이다.
공유된 리소스 할당 프로세스가 완료되면, "BIOS Go" 비트가 세팅될 수 있다. 그 후, 호스트는 "BIOS Go" 비트를 폴링하여, 열거가 이제 계속할 수 있음을 인지할 수 있다. 엔드 디바이스가 호스트 머신에 물리적으로 접속될 수 있거나 접속될 수 없을지라도, 리소스가 엔드 디바이스에 할당되었기 때문에, 열거 프로세스를 행한 후에 가상 스위치의 배후에 있는 엔드 디바이스를 호스트 컴퓨터가 알 수 있다.
본 발명의 다른 실시예에서, 공유된 리소스 할당 프로세스의 완료 이외의 하나 이상의 요인에 의해 "BIOS Go" 비트가 세팅될 수 있다. 예를 들어, 가상 스위치의 배후에 엔드 디바이스가 없다면, 불필요한 중지없이 호스트가 열거 프로세스를 계속 행할 수 있도록, "BIOS Go" 비트를 세팅할 수 있다. 다른 예에서, 공유된 리소스 할당 프로세스가 개시된 후 너무 많은 시간이 경과된 경우에는, "BIOS Go" 비트를 세팅할 수 있다. 이로써, 공유된 리소스 할당 프로세스가 중지되거나 어떤 이유로 성공적이지 않을지라도, 또는 공유된 리소스 할당 프로세스가 예상보다 더 오래 걸린다면, 호스트가 계속해서 자신의 열거 프로세스를 행할 수 있다. 이러한 "타임 아웃" 세팅에 대한 시간은 컴퓨터 시스템에 따라 다를 수 있다. 다른 예에서, 공유된 리소스 할당 프로세스가 개시되기 전에 너무 많은 시간이 경과된 경우에 "BIOS Go" 비트를 세팅할 수 있다. 이로써, 공유된 리소스 할당 프로세스가 어떤 이유로 전혀 개시되지 않거나, 어떤 이유로 성공적이지 않을지라도, 호스트는 계속해서 자신의 열거 프로세스를 행할 수 있다. 이러한 타임 아웃 세팅에 대한 시간은 컴퓨터 시스템에 따라 다를 수 있다. 또한, 호스트 열거 프로세스가 계속될 수 있도록 이들 요인 중 어느 하나가 "BIOS Go" 비트를 세팅하도록 이들 요인 모두가 논리적인 설정값으로 결합될 수 있다.
본 발명의 다른 실시예에서, "BIOS Go" 비트는 복수의 포트에 의해 제어될 수 있다. 이러한 실시예는 복수의 호스트, 복수의 가상 스위치, 또는 복수의 중간 관리자에 대해 사용될 수 있다. 복수의 호스트, 복수의 가상 스위치, 또는 복수의 중간 관리자 각각은 하나의 포트로 나타낼 수 있다. 이러한 실시예에서, 모든 포트가 "BIOS Go" 비트는 세팅되어야 함을 나타냈을 때, "BIOS Go" 비트가 세팅될 수 있다. 도 5는 2개의 포트, 즉, 포트 A 및 포트 B에 의해 제어되고 있는 "BIOS Go" 비트의 예시에 대한 논리도이다. 이러한 예에서, 복수의 입력은 포트 A에 관한 OR 게이트(510)를 제어하고, 복수의 입력은 포트 B에 관한 OR 게이트(515)를 제어한다. OR 게이트(510, 515)의 입력은 AND 게이트(520)의 입력으로 된다. 도 5에 도시된 바와 같이, OR 게이트(510)에 대해 4개의 입력, "Port A Open", "Port A Go", "Port A Binding T/O", 및 "Port A start Binding T/O"가 있다. 따라서, 이러한 예에서, 접속되는 장치가 없는 경우과 같이, 포트 A가 어떤 이유로 개방(open) 상태이면, 또는, 몇몇 경우에, 시스템에 중간 관리자가 없다면, "Port A Open" 입력에 의해 OR 게이트(510)의 출력이 세팅될 수 있다. 마찬가지로, 포트 A에 대한 공유된 리소스 할당 프로세스가 완료되면, "Port A Go" 입력에 의해 OR 게이트(510)의 출력이 세팅될 수 있다. 공유된 리소스 할당 프로세스가 적절한 시간에 완료하는지 여부를 추적하는 타이머를 사용할 수 있다. 예를 들어, "바인딩" 타이머는 공유된 리소스 할당 프로세스가 개시할 때 시작할 수 있다. 공유된 리소스 할당 프로세스가 개시된 이후로 너무 많은 시간이 경과되고 공유된 리소스 할당 프로세스가 아직 완료되지 않은 경우에는, 즉, "바인딩" 타이머의 지속 시간이 특정 타임 아웃 임계값을 초과하면, "Port A Binding T/O" 입력에 의해 OR 게이트(510)의 출력이 세팅될 수 있다. 또한, 공유된 리소스 할당 프로세스가 적절한 시간에 개시하는지 여부를 추적하는 타이머를 사용할 수 있다. 예를 들어, "바인딩 개시" 타이머는 파워 온 시에 개시할 수 있으며, 공유된 리소스 할당 프로세스가 개시할 때 리셋 또는 중지될 수 있다. 너무 많은 시간이 경과되고, 공유된 리소스 할당 프로세스가 여전히 개시되지 않았다면, 즉, "바인딩 개시" 타이머의 지속 시간이 특정 타임 아웃 임계값을 초과하면, "Port A Start Binding T/O" 입력에 의해 OR 게이트(510)의 출력이 세팅될 수 있다.
도 5의 동일한 예시에 후속하여, OR 게이트(515)에 대해 4개의 입력, "Port B Open", "Port B Go", "Port B Binding T/O", 및 "Port B start Binding T/O"가 있다. 따라서, 이러한 예에서, 접속되는 장치가 없는 것과 같이, 포트 B가 어떤 이유로 개방 상태이면, 또는, 몇몇 경우에, 시스템에 중간 관리자가 없다면, "Port B Open" 입력에 의해 OR 게이트(515)의 출력이 세팅될 수 있다. 마찬가지로, 포트 B에 대한 공유된 리소스 할당 프로세스가 완료되면, "Port B Go" 입력에 의해 OR 게이트(515)의 출력이 세팅될 수 있다. 공유된 리소스 할당 프로세스가 적절한 시간에 완료하는지 여부를 추적하는 타이머를 사용할 수 있다. 예를 들어, "바인딩" 타이머는 공유된 리소스 할당 프로세스가 시작될 때 개시할 수 있다. 공유된 리소스 할당 프로세스가 개시되고 나서 많은 시간이 경과되고 공유된 리소스 할당 프로세스가 아직 완료되지 않으면, 즉, "바인딩" 타이머의 지속 시간이 특정 타임 아웃 임계값을 초과하면, "Port B Binding T/O" 입력에 의해 OR 게이트(515)의 출력이 세팅될 수 있다. 또한, 공유된 리소스 할당 프로세스가 적절한 시간에 개시하는지 여부를 추적하는 타이머를 사용할 수 있다. 예를 들어, "바인딩 개시" 타이머는 파워 온 시에 개시할 수 있으며, 공유된 리소스 할당 프로세스가 개시할 때 리셋 또는 중지될 수 있다. 너무 많은 시간이 경과되고, 공유된 리소스 할당 프로세스가 여전히 개시되지 않았다면, 즉, "바인딩 개시" 타이머의 지속 시간이 특정 타임 아웃 임계값을 초과하면, "Port B Start Binding T/O" 입력에 의해 OR 게이트(515)의 출력이 세팅될 수 있다.
도 5의 동일한 예시를 계속하면, OR 게이트(510, 515)의 출력이 AND 게이트(520)의 입력으로서 공급될 때, "BIOS Go" 비트는 디어서트되거나 세팅된다. OR 게이트(510, 515) 양쪽의 출력이 "BIOS Go" 비트는 세팅되어야 함을 표시하면, "BIOS Go" 비트가 세팅될 수 있다. 한편, OR 게이트(510, 515)의 출력 중 하나 또는 양쪽이 "BIOS Go" 비트는 세팅되지 않아야 함을 표시하면, "BIOS Go" 비트는 세팅되지 않을 것이다. 환언하면, OR 게이트(510)의 출력이 "BIOS Go" 비트는 세팅되지 않아야 함을 표시하면, "BIOS Go" 비트는 세팅되지 않을 것이다. OR 게이트(515)의 출력이 "BIOS Go" 비트는 세팅되지 않아야 함을 표시하면, "BIOS Go" 비트는 세팅되지 않을 것이다. OR 게이트(510, 515)의 출력 양쪽이 "BIOS Go" 비트는 세팅되지 않아야 함을 표시하면, "BIOS Go" 비트는 세팅되지 않을 것이다.
도 5의 예시는 2개의 포트를 포함하지만, 동일한 논리에 따라 더 많은 포트가 사용될 수 있다. 또한, 각 포트는 "BIOS Go" 비트가 세팅되어야 하는지 여부를 제어하는 상이한 입력을 포함할 수 있다. 예를 들어, 포트 A는 2개의 입력, "Port A Open" 및 "Port A Go" 만을 포함할 수 있으며, 포트 B는 4개의 입력, "Port B Open", "Port B Go", "Port B Binding T/O", 및 "Port B Start Binding T/O"를 가질 수 있다. 따라서, 후속되는 포트는 상이한 입력을 가질 수 있다.
본 명세서에서 설명되는 장치 및 방법은 여러 변경 및 대체 구조에 대해 허용할 수 있음을 이해해야 한다. 본 명세서에서 설명되는 특정 구조로 본 발명을 한정하고자 하는 것은 아니다. 대조적으로, 본 발명은 본 발명의 사상과 범위 내에 있는 모든 변경, 대체 구조, 및 등가물을 커버하고자 한다.
본 발명의 실시예가 상세하게 설명되었지만, 당업자라면, 본 발명의 신규한 교시 및 장점으로부터 실질적으로 벗어나지 않고, 실시예에서 다수의 추가적인 변경이 가능하다는 것을 쉽게 알 수 있다. 따라서, 이들 변경 및 모든 이러한 변경은 본 발명의 범위 내에 포함되는 것으로 한다.
100 : 컴퓨터 시스템 105 : 가상 스위치
110 : PCI 스위치 115 : 엔드 디바이스
120 : 중간 관리자 125 : 호스트 PCI 도메인
130 : 관리 PCI 도메인 140 : 엔드 디바이스 PCI 도메인
405 : 호스트 컴퓨터 410 : 가상 스위치
415 : 엔드 디바이스 510, 515 : OR 게이트
520 : AND 게이트

Claims (19)

  1. 호스트 열거 프로세스(host enumeration process)를 수행하는 방법으로서,
    상기 호스트 열거 프로세스가 진행할 것인지 여부를 표시하는 비트를 제공하는 단계와,
    호스트에 접속된 가상 스위치 배후에 있는 엔드 디바이스(end device)에 대해, 중간 관리자에 의해, 공유된 리소스 할당 프로세스를 수행하는 단계와,
    상기 공유된 리소스 할당 프로세스가 성공적으로 완료되면, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계와,
    상기 공유된 리소스 할당 프로세스가 완료될 때까지 상기 호스트 열거 프로세스를 중지하고 상기 완료 후에 상기 호스트 열거 프로세스를 계속하는 단계를 포함하는
    호스트 열거 프로세스 수행 방법.
  2. 제 1 항에 있어서,
    상기 호스트 열거 프로세스가 진행할 것인지 여부를 판정하도록 상기 비트를 폴링(polling)하는 단계와,
    상기 호스트 열거 프로세스가 진행할 것임을 상기 비트가 표시하는 경우, 상기 호스트 열거 프로세스를 진행하는 단계와,
    상기 호스트 열거 프로세스가 진행하지 않을 것임을 상기 비트가 표시하는 경우, 상기 호스트 열거 프로세스를 중지(stall)시키는 단계를 더 포함하는
    호스트 열거 프로세스 수행 방법.
  3. 제 1 항에 있어서,
    상기 공유된 리소스 할당 프로세스가 개시된 이후의 경과된 시간을 추적하는 타이머를 제공하는 단계와,
    상기 공유된 리소스 할당 프로세스가 개시된 이후의 상기 경과된 시간이 임계값을 초과하는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
    호스트 열거 프로세스 수행 방법.
  4. 제 1 항에 있어서,
    상기 공유된 리소스 할당 프로세스가 개시되기 이전의 경과된 시간을 추적하는 타이머를 제공하는 단계와,
    상기 공유된 리소스 할당 프로세스가 개시되기 이전의 상기 경과된 시간이 임계값을 초과하는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
    호스트 열거 프로세스 수행 방법.
  5. 제 1 항에 있어서,
    상기 공유된 리소스 할당 프로세스가 실패하는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
    호스트 열거 프로세스 수행 방법.
  6. 제 1 항에 있어서,
    복수의 공유된 리소스 할당 프로세스를 수행하는 단계와,
    상기 복수의 공유된 리소스 할당 프로세스 모두가 성공적으로 완료되는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
    호스트 열거 프로세스 수행 방법.
  7. 제 1 항에 있어서,
    상기 공유된 리소스 할당 프로세스를 수행하는 것이 필요한지 여부를 판정하는 단계와,
    상기 공유된 리소스 할당 프로세스를 수행할 필요가 없다고 판정되면, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
    호스트 열거 프로세스 수행 방법.
  8. 제 1 항에 있어서,
    상기 공유된 리소스 할당 프로세스가 개시된 이후의 경과된 시간을 추적하는 바인딩 타이머를 제공하는 단계와,
    상기 공유된 리소스 할당 프로세스가 개시되기 이전의 경과된 시간을 추적하는 바인딩 개시 타이머를 제공하는 단계와,
    상기 공유된 리소스 할당 프로세스를 수행할 필요가 있는지 여부를 판정하는 단계와,
    상기 공유된 리소스 할당 프로세스가 성공적으로 완료되는 경우, 또는, 상기 공유된 리소스 할당 프로세스가 개시된 이후의 상기 경과된 시간이 임계값을 초과하는 경우, 또는, 상기 공유된 리소스 할당 프로세스가 개시되기 이전의 상기 경과된 시간이 임계값을 초과하는 경우, 또는 공유된 리소스 할당 프로세스를 수행할 필요가 없다고 판정되는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
    호스트 열거 프로세스 수행 방법.
  9. 제 2 항에 있어서,
    상기 호스트 열거 프로세스를 중지시키는 단계는
    호스트를 인터럽트하는 단계와,
    상기 호스트에 의한 활동(activity)을 폴링하는 단계와,
    상기 호스트를 리셋 상태로 유지하는 단계와,
    상기 호스트를 파워 오프 상태로 유지하는 단계 중 적어도 하나의 단계를 포함하는
    호스트 열거 프로세스 수행 방법.
  10. 컴퓨터 네트워크로서,
    적어도 하나의 호스트와,
    상기 호스트에 접속되는 적어도 하나의 가상 스위치와,
    상기 가상 스위치의 배후에 접속된 적어도 하나의 엔드 디바이스와,
    상기 적어도 하나의 엔드 디바이스에 대해 공유된 리소스 할당 프로세스를 수행하는 적어도 하나의 중간 관리자와,
    호스트 열거 프로세스가 진행할 것인지 여부를 표시하는 적어도 하나의 비트를 포함하되,
    상기 공유된 리소스 할당 프로세스가 성공적으로 완료되는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하고, 상기 호스트는 상기 공유된 리소스 할당 프로세스가 완료될 때까지 상기 호스트 열거 프로세스를 중지하고 상기 완료 후에 상기 호스트 열거 프로세스를 계속하는
    컴퓨터 네트워크.
  11. 제 10 항에 있어서,
    상기 호스트는 상기 호스트 열거 프로세스가 진행될 것인지 여부를 판정하도록 상기 비트를 폴링하고,
    상기 호스트 열거 프로세스가 진행할 것임을 상기 비트가 표시하는 경우, 상기 호스트는 상기 호스트 열거 프로세스를 개시 또는 계속하고,
    상기 호스트 열거 프로세스가 진행하지 않을 것임을 상기 비트가 표시하는 경우, 상기 호스트는 상기 호스트 열거 프로세스를 중지시키는
    컴퓨터 네트워크.
  12. 제 10 항에 있어서,
    공유된 리소스 할당 프로세스가 개시된 이후의 경과된 시간을 추적하는 바인딩 타이머를 더 포함하되,
    공유된 리소스 할당 프로세스가 개시된 이후의 상기 경과된 시간이 임계값을 초과하는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
    컴퓨터 네트워크.
  13. 제 10 항에 있어서,
    상기 공유된 리소스 할당 프로세스가 개시되기 이전의 경과된 시간을 추적하는 바인딩 개시 타이머를 더 포함하되,
    상기 공유된 리소스 할당 프로세스가 개시되기 이전의 상기 경과된 시간이 임계값을 초과하는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 개시 진행할 것임을 표시하도록 상기 비트를 세팅하는
    컴퓨터 네트워크.
  14. 제 10 항에 있어서,
    상기 공유된 리소스 할당 프로세스가 실패하는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
    컴퓨터 네트워크.
  15. 제 10 항에 있어서,
    상기 중간 관리자는 둘 이상의 공유된 리소스 할당 프로세스를 수행하고,
    상기 공유된 리소스 할당 프로세스 모두가 성공적으로 완료되는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
    컴퓨터 네트워크.
  16. 제 10 항에 있어서,
    상기 중간 관리자는 상기 공유된 리소스 할당 프로세스를 수행할 필요가 있는지 여부를 판정하고,
    상기 공유된 리소스 할당 프로세스를 수행할 필요가 없다고 판정되면, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
    컴퓨터 네트워크.
  17. 제 10 항에 있어서,
    공유된 리소스 할당 프로세스가 개시된 이후의 경과된 시간을 추적하는 바인딩 타이머와,
    상기 공유된 리소스 할당 프로세스가 개시되기 이전의 경과된 시간을 추적하는 바인딩 개시 타이머를 더 포함하되,
    상기 중간 관리자는 상기 공유된 리소스 할당 프로세스를 수행할 필요가 있는지 여부를 판정하고,
    상기 공유된 리소스 할당 프로세스가 성공적으로 완료되는 경우, 또는, 상기 공유된 리소스 할당 프로세스가 개시된 이후의 상기 경과된 시간이 임계값을 초과하는 경우, 또는, 상기 공유된 리소스 할당 프로세스가 개시되기 이전의 상기 경과된 시간이 임계값을 초과하는 경우, 또는, 상기 공유된 리소스 할당 프로세스를 수행할 필요가 없다고 판정되는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
    컴퓨터 네트워크.
  18. 제 11 항에 있어서,
    상기 호스트를 인터럽트하거나, 상기 호스트에 의한 활동을 폴링하거나, 상기 호스트를 리셋 상태로 유지하거나, 상기 호스트를 파워 오프 상태로 유지함으로써, 상기 호스트는 호스트 열거 프로세스를 중지시키는
    컴퓨터 네트워크.
  19. 삭제
KR1020107018700A 2008-02-26 2008-02-26 호스트 열거 프로세스 수행 방법 및 장치 KR101397377B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/002526 WO2009108146A1 (en) 2008-02-26 2008-02-26 Method and apparatus for performing a host enumeration process

Publications (2)

Publication Number Publication Date
KR20100126319A KR20100126319A (ko) 2010-12-01
KR101397377B1 true KR101397377B1 (ko) 2014-05-19

Family

ID=41016364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107018700A KR101397377B1 (ko) 2008-02-26 2008-02-26 호스트 열거 프로세스 수행 방법 및 장치

Country Status (6)

Country Link
US (1) US8626976B2 (ko)
EP (1) EP2248029B1 (ko)
JP (1) JP5042372B2 (ko)
KR (1) KR101397377B1 (ko)
CN (1) CN101960435B (ko)
WO (1) WO2009108146A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101400597B1 (ko) * 2008-02-18 2014-05-27 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 통신 결합 방법 및 시스템
JP5180729B2 (ja) * 2008-08-05 2013-04-10 株式会社日立製作所 計算機システム及びバス割当方法
JP5272265B2 (ja) * 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
JP5401679B2 (ja) * 2009-02-19 2014-01-29 株式会社日立製作所 計算機システム、管理方法及び管理サーバ
JP5074457B2 (ja) * 2009-06-04 2012-11-14 株式会社日立製作所 計算機システム、スイッチ切り替え方法及びpciスイッチ
WO2012119406A1 (zh) * 2011-08-22 2012-09-13 华为技术有限公司 枚举输入输出设备的方法和设备
US8843688B2 (en) * 2012-09-11 2014-09-23 International Business Machines Corporation Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279060B1 (en) * 1998-12-04 2001-08-21 In-System Design, Inc. Universal serial bus peripheral bridge simulates a device disconnect condition to a host when the device is in a not-ready condition to avoid wasting bus resources
US20030093510A1 (en) * 2001-11-14 2003-05-15 Ling Cen Method and apparatus for enumeration of a multi-node computer system
US20040073912A1 (en) * 2000-10-27 2004-04-15 Meza Joseph R. Automatic embedded host configuration system and method
US20050246460A1 (en) * 2004-04-28 2005-11-03 Microsoft Corporation Configurable PCI express switch

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655148A (en) * 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
US6134616A (en) 1996-10-28 2000-10-17 International Business Machines Corporation Method and apparatus for dynamic re-enumeration and reconfiguration of computer devices after system hibernation
JP4045009B2 (ja) * 1998-04-02 2008-02-13 セイコーエプソン株式会社 Usbコントローラ及びこれを搭載したデバイス
EP1279095A2 (en) * 1999-08-16 2003-01-29 Z-Force Corporation System of reusable software parts and methods of use
US6732264B1 (en) * 1999-12-14 2004-05-04 Intel Corporation Multi-tasking boot firmware
EP1139226A1 (en) * 2000-01-14 2001-10-04 Microchip Technology Inc. Method of emulating an attachment and detachment of a USB device
US6754817B2 (en) * 2001-01-25 2004-06-22 Dell Products L.P. Apparatus and method for detecting a change in system hardware configuration to reduce the amount of time to execute a post routine
US20020178316A1 (en) * 2001-05-23 2002-11-28 Schmisseur Mark A. System and method for defining private functions of a multi-function peripheral device
US7110413B2 (en) * 2001-12-31 2006-09-19 Hewlett-Packard Development Company Downstream broadcast PCI switch
US7251704B2 (en) * 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
US7216211B2 (en) * 2003-05-22 2007-05-08 Intel Corporation Variable sized flash memory in PCI
US7243167B2 (en) * 2003-09-19 2007-07-10 Intel Corporation Managing peripheral device address space resources using a tunable bin-packing/knapsack algorithm
US7620741B2 (en) * 2005-04-22 2009-11-17 Sun Microsystems, Inc. Proxy-based device sharing
US7500094B2 (en) * 2005-10-18 2009-03-03 American Megatrends, Inc. BIOS identification, initialization and management
JP4799222B2 (ja) * 2006-03-07 2011-10-26 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理システムおよび初期化方法
US7873821B2 (en) * 2007-04-11 2011-01-18 American Megatrends, Inc. BIOS configuration and management
KR101400597B1 (ko) * 2008-02-18 2014-05-27 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 통신 결합 방법 및 시스템
WO2009151447A1 (en) * 2008-06-10 2009-12-17 Hewlett-Packard Development Company, L.P. Presenting multi-function devices behind a switch hierarchy as a single function device
US8719483B2 (en) * 2008-10-15 2014-05-06 Nec Corporation Multi-root PCI express switch, boot method thereof, and multi-root PCI manager program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279060B1 (en) * 1998-12-04 2001-08-21 In-System Design, Inc. Universal serial bus peripheral bridge simulates a device disconnect condition to a host when the device is in a not-ready condition to avoid wasting bus resources
US20040073912A1 (en) * 2000-10-27 2004-04-15 Meza Joseph R. Automatic embedded host configuration system and method
US20030093510A1 (en) * 2001-11-14 2003-05-15 Ling Cen Method and apparatus for enumeration of a multi-node computer system
US20050246460A1 (en) * 2004-04-28 2005-11-03 Microsoft Corporation Configurable PCI express switch

Also Published As

Publication number Publication date
JP5042372B2 (ja) 2012-10-03
US20110004688A1 (en) 2011-01-06
CN101960435A (zh) 2011-01-26
EP2248029A1 (en) 2010-11-10
EP2248029B1 (en) 2015-04-08
KR20100126319A (ko) 2010-12-01
US8626976B2 (en) 2014-01-07
JP2011514590A (ja) 2011-05-06
EP2248029A4 (en) 2012-01-11
CN101960435B (zh) 2015-01-14
WO2009108146A1 (en) 2009-09-03

Similar Documents

Publication Publication Date Title
KR101397377B1 (ko) 호스트 열거 프로세스 수행 방법 및 장치
US11789619B2 (en) Node interconnection apparatus, resource control node, and server system
JP5497923B2 (ja) システム管理モードにおけるプロセッサ間割り込みの再方向付け
US10333865B2 (en) Transformation of peripheral component interconnect express compliant virtual devices in a network environment
TWI610167B (zh) 改善平台管理的計算裝置建置方法、保持電腦可執行指令之非暫存媒體及配置為提供強化管理資訊之計算裝置
EP3073373A1 (en) Method for interruption affinity binding of virtual network interface card, and computer device
US8910169B2 (en) Methods and systems to perform a computer task in a reduced power consumption state
KR101408524B1 (ko) 신뢰 플랫폼 모듈(tpm) 공유 방법 및 신뢰 플랫폼 모듈(tpm) 공유 시스템
JP6387581B2 (ja) データスイッチにて学習するサーバデータポート
AU2013215466B2 (en) Method for reducing platform boot times by providing lazy input/output abstractions
US8321617B1 (en) Method and apparatus of server I/O migration management
WO2014026374A1 (zh) 服务器***、管理方法及设备
EP1855182A2 (en) Method and apparatus for managing power in a processing system with multiple partitions
JP2019050023A (ja) 装置、方法およびコンピュータ可読記憶媒体
US20110209148A1 (en) Information processing device, virtual machine connection method, program, and recording medium
TWI739127B (zh) 提供系統資料之方法、系統及伺服器
WO2023056744A1 (zh) 一种带宽降速修复方法、装置、电子设备及存储介质
WO2020114292A1 (zh) 一种虚拟交换机切换方法、装置、宿主机及存储介质
EP2817755B1 (en) Directed wakeup into a secured system environment
US10684904B2 (en) Information handling systems and methods to selectively control ownership of a hardware based watchdog timer (WDT)
US8996734B2 (en) I/O virtualization and switching system
US8412919B2 (en) Method for controlling multi-port network interface card
US10198270B2 (en) Dynamic hardware configuration via firmware interface at computing device boot
WO2011114394A1 (ja) 仮想マルチプロセッサシステム
US11366673B1 (en) Managing transitioning of computing system to power-on state from standby-power state

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 6