KR101397377B1 - 호스트 열거 프로세스 수행 방법 및 장치 - Google Patents
호스트 열거 프로세스 수행 방법 및 장치 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0052—Assignment of addresses or identifiers to the modules of a bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols 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
본 발명은 호스트 열거 프로세스(host enumeration process)를 수행하는 방법 및 장치에 관한 것이다.
최근 컴퓨터 네트워크가 점점 더 복잡하고 정교해짐에 따라, 원격 엔드 디바바이스(remote end devices)의 사용을 용이하게 하기 위해 가상 스위치가 일반적으로 사용된다. 통상, 가상 스위치에는 호스트가 연결된다. 가상 스위치는 호스트로부터 물리적으로 분해되는 입출력("I/O") 장치의 공유를 용이하게 한다. 가상 스위치는 가상 피어 투 피어("P2P") 브리지 장치일 수 있거나, 혹은 가상 스위치와 동일한 기능을 수행하는 다른 하드웨어 또는 소프트웨어일 수 있다.
시스템이 파워 온되고 있을 때, 그 시스템 내의 모든 장치는 그들의 부트업 프로세스를 개시할 것이다. 호스트가 소정의 I/O 장치를 알기 위해서, 중간 관리자는 공유된 리소스 할당 프로세스를 수행한다. 이러한 프로세스의 목적은 하나 이상의 엔드 디바이스들(end devices)이 올바르게 동작하도록 이들 장치에 대해 리소스를 할당하는 것이다.
부트업 프로세스 동안에, 호스트는 부트업 프로세스의 일부로서 그 버스 계층 구조의 열거 프로세스를 수행한다. 그러나, 공유된 리소스 할당 프로세스가 중간 관리자에 의해 완료되기 전에 호스트가 그 계층 구조를 열거하면, 가상 스위치의 배후에 있는 I/O 장치를 호스트가 알 수 없을 것이다.
호스트 열거 프로세스를 수행하는 방법 및 장치에 대해서 이하의 첨부 도면을 참조하여 더 설명한다.
도 1은 예시적인 호스트 도메인을 나타내는 블록도,
도 2는 예시적인 네트워크 도메인을 나타내는 블록도,
도 3은 예시적인 가상 루트 도메인을 나타내는 블록도,
도 4는 예시적인 호스트, 가상 스위치 및 엔드 디바이스 시스템의 하이 레벨 뷰를 나타내는 블록도,
도 5는 본 발명의 실시예의 멀티 포트의 사용에 관한 논리도.
도 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 게이트
110 : PCI 스위치 115 : 엔드 디바이스
120 : 중간 관리자 125 : 호스트 PCI 도메인
130 : 관리 PCI 도메인 140 : 엔드 디바이스 PCI 도메인
405 : 호스트 컴퓨터 410 : 가상 스위치
415 : 엔드 디바이스 510, 515 : OR 게이트
520 : AND 게이트
Claims (19)
- 호스트 열거 프로세스(host enumeration process)를 수행하는 방법으로서,
상기 호스트 열거 프로세스가 진행할 것인지 여부를 표시하는 비트를 제공하는 단계와,
호스트에 접속된 가상 스위치 배후에 있는 엔드 디바이스(end device)에 대해, 중간 관리자에 의해, 공유된 리소스 할당 프로세스를 수행하는 단계와,
상기 공유된 리소스 할당 프로세스가 성공적으로 완료되면, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계와,
상기 공유된 리소스 할당 프로세스가 완료될 때까지 상기 호스트 열거 프로세스를 중지하고 상기 완료 후에 상기 호스트 열거 프로세스를 계속하는 단계를 포함하는
호스트 열거 프로세스 수행 방법.
- 제 1 항에 있어서,
상기 호스트 열거 프로세스가 진행할 것인지 여부를 판정하도록 상기 비트를 폴링(polling)하는 단계와,
상기 호스트 열거 프로세스가 진행할 것임을 상기 비트가 표시하는 경우, 상기 호스트 열거 프로세스를 진행하는 단계와,
상기 호스트 열거 프로세스가 진행하지 않을 것임을 상기 비트가 표시하는 경우, 상기 호스트 열거 프로세스를 중지(stall)시키는 단계를 더 포함하는
호스트 열거 프로세스 수행 방법.
- 제 1 항에 있어서,
상기 공유된 리소스 할당 프로세스가 개시된 이후의 경과된 시간을 추적하는 타이머를 제공하는 단계와,
상기 공유된 리소스 할당 프로세스가 개시된 이후의 상기 경과된 시간이 임계값을 초과하는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
호스트 열거 프로세스 수행 방법.
- 제 1 항에 있어서,
상기 공유된 리소스 할당 프로세스가 개시되기 이전의 경과된 시간을 추적하는 타이머를 제공하는 단계와,
상기 공유된 리소스 할당 프로세스가 개시되기 이전의 상기 경과된 시간이 임계값을 초과하는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
호스트 열거 프로세스 수행 방법.
- 제 1 항에 있어서,
상기 공유된 리소스 할당 프로세스가 실패하는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
호스트 열거 프로세스 수행 방법.
- 제 1 항에 있어서,
복수의 공유된 리소스 할당 프로세스를 수행하는 단계와,
상기 복수의 공유된 리소스 할당 프로세스 모두가 성공적으로 완료되는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
호스트 열거 프로세스 수행 방법.
- 제 1 항에 있어서,
상기 공유된 리소스 할당 프로세스를 수행하는 것이 필요한지 여부를 판정하는 단계와,
상기 공유된 리소스 할당 프로세스를 수행할 필요가 없다고 판정되면, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
호스트 열거 프로세스 수행 방법.
- 제 1 항에 있어서,
상기 공유된 리소스 할당 프로세스가 개시된 이후의 경과된 시간을 추적하는 바인딩 타이머를 제공하는 단계와,
상기 공유된 리소스 할당 프로세스가 개시되기 이전의 경과된 시간을 추적하는 바인딩 개시 타이머를 제공하는 단계와,
상기 공유된 리소스 할당 프로세스를 수행할 필요가 있는지 여부를 판정하는 단계와,
상기 공유된 리소스 할당 프로세스가 성공적으로 완료되는 경우, 또는, 상기 공유된 리소스 할당 프로세스가 개시된 이후의 상기 경과된 시간이 임계값을 초과하는 경우, 또는, 상기 공유된 리소스 할당 프로세스가 개시되기 이전의 상기 경과된 시간이 임계값을 초과하는 경우, 또는 공유된 리소스 할당 프로세스를 수행할 필요가 없다고 판정되는 경우, 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는 단계를 더 포함하는
호스트 열거 프로세스 수행 방법.
- 제 2 항에 있어서,
상기 호스트 열거 프로세스를 중지시키는 단계는
호스트를 인터럽트하는 단계와,
상기 호스트에 의한 활동(activity)을 폴링하는 단계와,
상기 호스트를 리셋 상태로 유지하는 단계와,
상기 호스트를 파워 오프 상태로 유지하는 단계 중 적어도 하나의 단계를 포함하는
호스트 열거 프로세스 수행 방법.
- 컴퓨터 네트워크로서,
적어도 하나의 호스트와,
상기 호스트에 접속되는 적어도 하나의 가상 스위치와,
상기 가상 스위치의 배후에 접속된 적어도 하나의 엔드 디바이스와,
상기 적어도 하나의 엔드 디바이스에 대해 공유된 리소스 할당 프로세스를 수행하는 적어도 하나의 중간 관리자와,
호스트 열거 프로세스가 진행할 것인지 여부를 표시하는 적어도 하나의 비트를 포함하되,
상기 공유된 리소스 할당 프로세스가 성공적으로 완료되는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하고, 상기 호스트는 상기 공유된 리소스 할당 프로세스가 완료될 때까지 상기 호스트 열거 프로세스를 중지하고 상기 완료 후에 상기 호스트 열거 프로세스를 계속하는
컴퓨터 네트워크.
- 제 10 항에 있어서,
상기 호스트는 상기 호스트 열거 프로세스가 진행될 것인지 여부를 판정하도록 상기 비트를 폴링하고,
상기 호스트 열거 프로세스가 진행할 것임을 상기 비트가 표시하는 경우, 상기 호스트는 상기 호스트 열거 프로세스를 개시 또는 계속하고,
상기 호스트 열거 프로세스가 진행하지 않을 것임을 상기 비트가 표시하는 경우, 상기 호스트는 상기 호스트 열거 프로세스를 중지시키는
컴퓨터 네트워크.
- 제 10 항에 있어서,
공유된 리소스 할당 프로세스가 개시된 이후의 경과된 시간을 추적하는 바인딩 타이머를 더 포함하되,
공유된 리소스 할당 프로세스가 개시된 이후의 상기 경과된 시간이 임계값을 초과하는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
컴퓨터 네트워크.
- 제 10 항에 있어서,
상기 공유된 리소스 할당 프로세스가 개시되기 이전의 경과된 시간을 추적하는 바인딩 개시 타이머를 더 포함하되,
상기 공유된 리소스 할당 프로세스가 개시되기 이전의 상기 경과된 시간이 임계값을 초과하는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 개시 진행할 것임을 표시하도록 상기 비트를 세팅하는
컴퓨터 네트워크.
- 제 10 항에 있어서,
상기 공유된 리소스 할당 프로세스가 실패하는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
컴퓨터 네트워크.
- 제 10 항에 있어서,
상기 중간 관리자는 둘 이상의 공유된 리소스 할당 프로세스를 수행하고,
상기 공유된 리소스 할당 프로세스 모두가 성공적으로 완료되는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
컴퓨터 네트워크.
- 제 10 항에 있어서,
상기 중간 관리자는 상기 공유된 리소스 할당 프로세스를 수행할 필요가 있는지 여부를 판정하고,
상기 공유된 리소스 할당 프로세스를 수행할 필요가 없다고 판정되면, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
컴퓨터 네트워크.
- 제 10 항에 있어서,
공유된 리소스 할당 프로세스가 개시된 이후의 경과된 시간을 추적하는 바인딩 타이머와,
상기 공유된 리소스 할당 프로세스가 개시되기 이전의 경과된 시간을 추적하는 바인딩 개시 타이머를 더 포함하되,
상기 중간 관리자는 상기 공유된 리소스 할당 프로세스를 수행할 필요가 있는지 여부를 판정하고,
상기 공유된 리소스 할당 프로세스가 성공적으로 완료되는 경우, 또는, 상기 공유된 리소스 할당 프로세스가 개시된 이후의 상기 경과된 시간이 임계값을 초과하는 경우, 또는, 상기 공유된 리소스 할당 프로세스가 개시되기 이전의 상기 경과된 시간이 임계값을 초과하는 경우, 또는, 상기 공유된 리소스 할당 프로세스를 수행할 필요가 없다고 판정되는 경우, 상기 중간 관리자는 상기 호스트 열거 프로세스가 진행할 것임을 표시하도록 상기 비트를 세팅하는
컴퓨터 네트워크.
- 제 11 항에 있어서,
상기 호스트를 인터럽트하거나, 상기 호스트에 의한 활동을 폴링하거나, 상기 호스트를 리셋 상태로 유지하거나, 상기 호스트를 파워 오프 상태로 유지함으로써, 상기 호스트는 호스트 열거 프로세스를 중지시키는
컴퓨터 네트워크.
- 삭제
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)
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)
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)
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 |
-
2008
- 2008-02-26 JP JP2010547598A patent/JP5042372B2/ja not_active Expired - Fee Related
- 2008-02-26 KR KR1020107018700A patent/KR101397377B1/ko active IP Right Grant
- 2008-02-26 CN CN200880127526.9A patent/CN101960435B/zh not_active Expired - Fee Related
- 2008-02-26 WO PCT/US2008/002526 patent/WO2009108146A1/en active Application Filing
- 2008-02-26 EP EP08726109.5A patent/EP2248029B1/en not_active Not-in-force
- 2008-02-26 US US12/919,050 patent/US8626976B2/en active Active
Patent Citations (4)
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 |