KR20110068916A - 관리 엔진을 사용하는 가상 버스 디바이스 - Google Patents

관리 엔진을 사용하는 가상 버스 디바이스 Download PDF

Info

Publication number
KR20110068916A
KR20110068916A KR1020100127845A KR20100127845A KR20110068916A KR 20110068916 A KR20110068916 A KR 20110068916A KR 1020100127845 A KR1020100127845 A KR 1020100127845A KR 20100127845 A KR20100127845 A KR 20100127845A KR 20110068916 A KR20110068916 A KR 20110068916A
Authority
KR
South Korea
Prior art keywords
management engine
bus
platform
virtual
configuration
Prior art date
Application number
KR1020100127845A
Other languages
English (en)
Other versions
KR101292858B1 (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 KR20110068916A publication Critical patent/KR20110068916A/ko
Application granted granted Critical
Publication of KR101292858B1 publication Critical patent/KR101292858B1/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
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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
    • 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/4416Network booting; Remote initial program loading [RIPL]
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

부팅 프로세스 중에 구성 사이클을 트래핑하기 위해 관리 엔진이 사용될 수 있으며, 이 후 운영 시스템 열거(enumeration)에 응답하여 관리 엔진이 사용될 수 있다. 결과적으로 가상 버스 디바이스가 형성될 수 있다. 버스 디바이스는, 운영 시스템에 오류가 발생되거나(corrupted) 작동하지 않는 경우(non-functional)에도 플랫폼에 소프트웨어를 공급하는데 사용될 수 있다.

Description

관리 엔진을 사용하는 가상 버스 디바이스{VIRTUAL BUS DEVICE USING MANAGEMENT ENGINE}
본 발명은 전반적으로 관리 엔진에 관한 것이다.
관리 엔진 또는 서비스 프로세서는 분리되어 보호되는 컴퓨팅 자원이다. 관리 엔진은 코포레이트 에셋(corporate assets)의 개선된 관리 및 표준화된 코포레이트 에셋 관리 기술을 포함하는, 임의의 설치된 운영 시스템(operating system)에 관계없는 정보 기술 관리 특징을 제공한다. 관리 엔진은 클라이언트에 관리 특성을 제공하는 펌웨어를 포함한다. 관리 엔진은 또한 그 위에 관리 엔진을 갖는 플랫폼을 시스템 관리자가 원격에서 관리할 수 있게 한다.
관리 엔진은 호스트 운영 시스템(host operating system)이, 이벤트 시에 시스템 관리 정보를 교환하는 방식으로, 관리 엔진과 직접 통신할 수 있게 하는 양방향 버스인 호스트 실장 제어기 인터페이스(a host embedded controller interface(HECI))를 포함할 수 있다. HECI는 호스트 운영 시스템이, 예컨대 아웃-오브-밴드 제어기(out-of-band controllers), 근거리 통신망 상에서의 웨이크업(wakeup on local area network) 및 전력 공급 디바이스와 같은 다른 디바이스를 제어할 수 있게 한다.
관리 엔진은 관리 서비스에 대한 저전력, 아웃-오브-밴드 실행 엔진을 제공하는 경량의 마이크로커널 운영 시스템(lightweight microkernel operating system)을 구동하는 실장형 제어기이다. 시스템 초기화 시에, 관리 엔진은 시스템 플래시 메모리로부터 관리 엔진의 코드를 로딩한다. 이는 주 운영 시스템이 개시되기 전에 관리 엔진이 기동하여 동작하게(to be up and running) 한다.
런 타임 데이터 저장(run time data storage)을 위해서, 관리 엔진은 런 타임 시에 보호 메모리에 액세스할 수 있으며, 또한 보다 고속으로 또는 보다 효율적인 프로세싱을 위해 소용량의 온-칩 캐시 메모리(on-chip cache memory)에 액세스할 수 있다. 몇몇 경우에, 보호 메모리는 시스템 메모리의 보호 영역일 수 있다. 관리 엔진의 일 특징은 관리 엔진의 전력 상태가 호스트 운영 시스템 전력 상태와 관계없다는 것이다. 이것은 중앙 프로세싱 유닛 및 시스템의 다른 구성 요소(components)가 깊은 슬립(sleep) 상태에 있을 때에 관리 엔진이 기동하여 동작하게 한다.
결과적으로, 관리 엔진은 전력이 시스템에 공급되자 마자 완전히 작동할 수 있는 구성 요소일 수 있다. 이는 시스템의 나머지를 깨울 필요 없이 정보 기술 관리 콘솔(information technology management consoles)로부터의 아웃-오브-밴드 명령에 관리 엔진이 응답할 수 있게 하며, 이에 의해 전력 소비를 감축한다.
호스트 운영 시스템의 부재 중에 관리 엔진이 네트워크에 액세스하기 위해, 관리 엔진은 네트워크 인터페이스로의 직접 액세스(direct access)를 사용한다. 관리 엔진 조정 서비스(management engine manageability services)는 호스트 운영 시스템의 인터넷 프로토콜 어드레스(Internet Protocol address)를 공유하며, 특정의 그리고 전용 전송 레벨(레벨 4) 포트를 사용함으로써 정규의 호스트 트래픽으로부터 조정 트래픽을 식별한다.
많은 경우에, 플랫폼에 소프트웨어를 제공하는 것이 바람직하다. 플랫폼은 소프트웨어를 사용하는 간단한 임의의 컴퓨터 기반 디바이스이다. 몇몇 경우에, 플랫폼이 이미 최종 사용자(end users)에게 분배된 이후에 플랫폼을 업데이트를 하는 것이 바람직하다. 다른 경우에, 새로운 소프트웨어가 이들 사용자들에게 배포될 수 있다. 부가적으로, 드라이버가 또한 공급될 수 있다.
몇몇 실시예에 따르면, 플랫폼은 자동 펌웨어 및 소프트웨어 업데이트 및 다른 웹 서비스를 가능하게 하는, 설정가능한 가상 버스 디바이스(configurable virtual bus device)를 구비할 수 있다. 이 일반적인 메커니즘은 하드웨어로 실행될 수 있으며, 또한 설정가능한 가상 버스 디바이스를 제공하는 데에 이용될 수 있고, 이 가변 가상 버스 디바이스는, 결과적으로(in turn) 소프트웨어 배송에 도움을 줄 수 있다. 다른 사용 방법으로는 펌웨어 및 드라이버 업데이트, 그리고 사전-실리콘 하드웨어 디자인(pre-silicon hardware design) 및 디버깅(debugging) 제공을 포함한다. 가상 버스 디바이스는, 관리 엔진이 플랫폼 운영 시스템과 관계없는 경우에, 관리 엔진에 의해 안전하게 실행될 수 있다. 따라서, 운영 시스템이 오류를 일으키는 경우에도 업데이트가 제공될 수 있다.
가상 버스 디바이스는, 관리 엔진이 플랫폼 운영 시스템과 관계없는 경우에, 관리 엔진에 의해 안전하게 실행될 수 있다. 따라서, 운영 시스템이 오류를 일으키는 경우에도 업데이트가 제공될 수 있다.
도 1은 본 발명의 일 실시예의 개략도이다.
도 2는 본 발명의 일 실시예에 대한 흐름도이다.
도 3은 일 실시예에 대한 프로세서 어드레스 공간 및 메모리 맵의 도면이다.
도 4는 일 실시예에 따라 입/출력 공간이 맴핑된 메모리의 맵이다.
도 5는 일 실시예에 따른 일반 PCI 디바이스 ID에 대한 관리 엔진의 안전한 제공을 도시하는 개략도이다.
도 6은 일 실시예에 따른 소프트웨어 제공에 대한 흐름도이다.
도 1을 참조하면, 일 실시예에 따른, 플랫폼(10)은 그래픽 프로세서(graphics processor(GFX))(14) 및 다이나믹 랜덤 액세스 메모리(dynamic random access memory(DRAM))(16)에 연결된 중앙 프로세싱 유닛(CPU)(12)을 포함할 수 있다. 프로세서(12)는 버스(18)에 연결될 수 있으며, 버스(14)는, 일 실시예에서 주변 장치 인터코넥트(Peripheral Component Interconnect) 또는 PCI 버스를 구비하며, 특히 일 실시예에 따르면, PCI 익스프레스 버스(Express bus)일 수 있다. PCI-SIG, Beaverton, OR 97006.에서 입수 가능한 PCI 익스프레스(PCI Express (PCIe) 2.0 베이스 설명서(Base Specification(01-15-2007))를 참조하라.
버스 디바이스(20)가 버스(18)에 접속될 수 있다. 또한, 관리 엔진 코어(22)가 역시 버스(18)에 연결될 수 있다. 관리 엔진 코어(22)는 관리 엔진 펌웨어(26) 및 가변 버스 타겟(24)을 포함할 수 있다. 버스 타겟(24)은 실제 버스 디바이스 처럼 보여지며 따라서, 관리 엔진 코어(22)가 부팅 업(boot up) 중에 기본 입/출력 시스템(the basic input/output system(BIOS))으로부터 및 이후 열거(enumeration) 중에 운영 시스템으로부터 구성 사이클(configuration cycles)을 트래핑(trap)할 수 있게 한다.
도 2를 참조하면, 플랫폼은 일 실시예의 관리 엔진에 관계없이, 먼저 기본 입/출력 시스템의 제어 하에서 부팅 업 기간(30) 내에서 작동하며, 이후 부팅 업 후에, 운영 시스템의 제어 하에 작동한다. 몇몇 실시예에서, 도 2의 절차는 펌웨어, 소프트웨어 또는 하드웨어로 수행될 수 있다. 소프트웨어의 실시예에서, 도 2의 절차는 예컨대, 관리 엔진 코어(22) 내에 위치하는 제어기 또는 컴퓨터에 의해 수행되는 명령어를 사용할 수 있다. 이 명령어는 임의의 제어기 또는 프로세서에 의해 실행되며, 반도체 메모리, 광학 메모리 또는 마그네틱 메모리와 같은 컴퓨터 판독 가능한 매체를 포함하는 임의의 적절한 저장소에 저장될 수 있다.
시스템 부팅 프로세스 중에, 기본 입/출력 시스템의 제어 하에, (32)에 표시된 바와 같이 디바이스 열거가 개시된다. 플랫폼은 (34)에 표시된 바와 같이, 구성 버스 타겟 내의 구성 사이클을 트래핑한다. 플랫폼은, 일 실시예의 관리 엔진에 관계없이, 이후 기본 입/출력 시스템에 응답을 전송한다. 기본 입/출력 시스템은 (36)에 표시된 바와 같이, 관리 엔진 유니폼 메모리 액세스(uniform memory access(UMA)) 영역에 대한 기본 어드레스 레지스터를 갖는 프로세서의 메모리 맵핑된 입/출력(memory mapped input/output(MMIO)) 공간을 프로그램한다. 이후, 시스템은 (38)에 표시된 바와 같이, 부팅한다. 이후, 운영 시스템은, (40)에 표시된 바와 같이, 그 자신의 버스 디바이스 열거를 개시한다. 다시, 플랫폼은 구성 버스 타겟 내 구성 사이클을 트래핑한다(42). 결과적으로, 구성 버스 타겟은, 실질적으로 다른 버스 디바이스가 있음을 구성 시스템이 믿게 한다. 이 버스 디바이스는 이것이 열거되는 형태로 존재하지 않기 때문에 가상 디바이스라 칭해질 수 있다. 이는 관리 엔진이, 이것이 관리 엔진의 제어 하의 가변가능한 안전한 방식의 버스 디바이스인 것처럼 서비스를 공급하게 한다.
관리 엔진 펌웨어는 가상 버스 식별자를 안전하게 제공하고 버스 구성 요청을 트래핑하기 위한 위한 로직을 구비한다. 가상 버스 디바이스의 안전한 제공은, 관리 엔진 펌웨어가 이미 몇몇 실시예에서 지원하고 있는, 클라이언트 개시 원격 액세스(Client Initiated Remote Access (CIRA))와 같은 프로토콜을 사용할 수 있다. 따라서, 관리 엔진 펌웨어는 버스 하드웨어를 통하여 관리 엔진 펌웨어로 전송된 버스 구성 요청에 응답할 것이다.
버스 구성 타겟 디바이스 하드웨어는 관리 엔진에 대한 버스 디바이스 식별자의 제공을 담당한다. 이것은 버스 타겟 디바이스로 동작하여, 버스에 의해 전송된 버스 구성 요청에 대해 트래핑하고 그 정보를 관리 엔진 펌웨어로 전송한다.
몇몇 실시예에서, 도 3에 도시된, 프로세서 어드레스 공간 또는 메모리는 표시된 바와 같이, 메모리 맵 입/출력(MMIO) 메모리 공간을 포함하며, 또한 표시된 바와 같이, 종래의 메모리 내의 그래픽 시스템 메모리, 부트 리드 온리 메모리(boot read only memory) 및 디스크 운영 시스템을 포함한다.
도 4에 도시된, 디바이스 메모리 맵핑된 입/출력(memory mapped input/output (MMIO)) 공간은, 가상 디바이스에 대한 버스 구성 레지스터가 호스트 메모리 내에 맵핑된 영역이다. 버스 구성 공간은 어드레스 00h에서 비트 0에서 15까지의 벤더 식별자(46), 04h에서 비트 16에서 31까지의 디바이스 식별자(44), 명령(50) 및 상태(48)를 포함한다. 08h에서, 클래스 코드(52)를 포함하며, 24h에서 10h까지 베이스 어드레스 레지스터(54)를 포함한다.
도 5를 참조하면, 소프트웨어, 소프트웨어 업데이트, 드라이버 등의 안전한 공급을 위해, 관리 엔진 내 가상 버스 디바이스 ID에 관한 공급 APP(62)는 인터넷을 통하여 공급 서버(60)의 전체 주소 도메인 이름(fully qualified domain name (FQDN))이 관리 엔진 펌웨어에 미리 제공되는 것으로 시작한다. 관리 엔진 펌웨어(20)가 부팅업하면, 제 1 시스템 부팅 동안, 관리 엔진 펌웨어는 일 실시예의 가상 PCI 디바이스 ID가 공급되었는지를 알아내기 위해 관리 엔진 펌웨어를 체킹할 수 있다.
따라서, 도 6을 참조하면, 사전-공급이 70에 표시되어 있으며, 부팅 후 절차는 블럭(72)에서 디바이스 식별자(ID)를 체킹한다. 디바이스 ID가 이미 존재하면, 이후 흐름은 종료한다. 그렇지 않으면, (74)에 도시된 바와 같이, 인터넷을 통해 원격 공급 서버로의 연결이 개시된다. 블록(76)에 도시된 바와 같이, 관리 엔진에 가상 버스 디바이스 ID, 벤더 ID 및/또는 시뮬레이트되는 칩세트의 디바이스에 대한 기능 ID를 공급하는데 임의의 안전 메커니즘이 사용될 수 있다. 공급이 종료된 후에, (78)에 표시된 바와 같이, 서버는 관리 엔진과 연결을 해제한다. 관리 엔진 내의 PCI 타겟 펌웨어 및 관리 엔진 펌웨어는 이제 하드웨어의 새로운 일부가 플랫폼에 연결된 것처럼 PCI 디바이스를 시뮬레이트한다.
결과적으로, 하드웨어는 버스 디바이스 ID 뿐 아니라 소프트웨어 업데이트, 소프트웨어 및 드라이버를 플랫폼에 원격으로 공급하는데 사용될 수 있다. 이는 관리 엔진을 통하여 수행되므로, 이것은 호스트 운영 시스템 독립적이다. 이는 호스트 운영 시스템의 상태와 관계없이 이것이 작동할 수 있음을 의미한다. 많은 구성 요소가 관리 엔진 내에 이미 존재하므로, 소비자에게는 상당한 가치가 공급된다.
본 명세서를 통하여 "일 실시예" 또는 "실시예"에 대한 참조는 실시예에 관련하여 설명된 특정 특징, 구조 또는 특성이 본 발명 내에 포함되는 적어도 하나의 수행에 포함됨을 의미한다. 따라서, 어구 "일 실시예" 또는 "실시예 내"의 출현은 동일한 실시예를 반드시 의미하지는 않는다, 또한, 특정 특징, 구조 또는 특성은 설명된 특정 실시예가 아닌 다른 적절한 형태로 설립될 수 있으며, 모든 이러한 형태는 본 출원의 청구범위 내에 포함될 수 있다.
본 발명은 한정된 개수의 실시예를 관련하여 설명되었으나, 당업자는 이로부로 다양한 변형 및 변경을 인식하게 될 것이다. 첨부된 청구범위는 본 발명의 진정한 사상 및 범위 내에 포함되는 이러한 변형 및 변경을 포괄하도록 의도되었다.

Claims (29)

  1. 플랫폼의 관리 엔진 내 타겟 디바이스의 구성 사이클을 트래핑하는 단계와,
    상기 플랫폼 상에 가상 버스 디바이스를 형성하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 플랫폼 상에 소프트웨어를 공급하도록 상기 가상 버스 디바이스를 사용하는 단계를 포함하는 방법.
  3. 제 2 항에 있어서,
    공급 서버로부터 상기 플랫폼 상에 소프트웨어를 공급하는 단계를 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 플랫폼의 부팅 중에 구성 사이클을 트래핑하는 단계를 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 플랫폼이 부팅한 이후에 구성 사이클을 트래핑하는 단계를 포함하는 방법.
  6. 제 1 항에 있어서,
    상기 관리 엔진을 통해 상기 가상 버스 디바이스에 대한 기본 어드레스 레지스터를 갖는 시스템 메모리 맵핑된 입/출력 공간을 프로그래밍하는 단계를 포함하는 방법.
  7. 제 1 항에 있어서,
    공급 서버의 도메인 이름을 관리 엔진 펌웨어에 사전-공급하는 단계를 포함하는 방법.
  8. 제 7 항에 있어서,
    관리 엔진 펌웨어에 가상 디바이스 식별자가 공급되었는지를 부팅시에 체킹하는 단계를 포함하는 방법.
  9. 제 8 항에 있어서,
    인터넷을 통해 상기 공급 서버로의 연결을 개시하는 단계를 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 가상 디바이스 식별자, 벤더 식별자 또는 기능 식별자를 공급하는 데 안전 메커니즘을 사용하는 단계를 포함하는 방법.
  11. 플랫폼의 관리 엔진 내의 타겟 디바이스 내 구성 사이클을 트래핑하고,
    상기 플랫폼 상에 가상 버스 디바이스를 형성하도록
    컴퓨터에 의해 수행되는 명령어를 저장하는 컴퓨터 판독가능한 매체.
  12. 제 11 항에 있어서,
    상기 플랫폼 상에 소프트웨어를 공급하기 위해 상기 가상 버스 디바이스를 사용하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.

  13. 제 12 항에 있어서,
    공급 서버로부터 상기 플랫폼 상에 소프트웨어를 공급하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.
  14. 제 11 항에 있어서,
    상기 플랫폼의 부팅 중에 구성 사이클을 트래핑하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.
  15. 제 11 항에 있어서,
    상기 플랫폼이 부팅한 이후에 구성 사이클을 트래핑하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.
  16. 제 11 항에 있어서,
    상기 관리 엔진을 통해 상기 가상 버스 디바이스에 대한 기본 어드레스 레지스터를 갖는 시스템 메모리 맵핑된 입/출력 공간을 프로그래밍하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.
  17. 제 11 항에 있어서,
    공급 서버의 도메인 이름을 관리 엔진 펌웨어에 공급하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.
  18. 제 17 항에 있어서,
    관리 엔진 펌웨어에 가상 디바이스 식별자가 공급되었는지를 부팅시에 체킹하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.
  19. 제 18 항에 있어서,
    인터넷을 통해 상기 공급 서버로의 연결을 개시하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.
  20. 제 19 항에 있어서,
    가상 디바이스 식별자, 벤더 식별자 또는 기능 식별자를 공급하는 데 안전 메커니즘을 사용하는 명령어를 더 저장하는 컴퓨터 판독가능한 매체.
  21. 프로세서와,
    상기 프로세서에 연결된 버스와,
    상기 버스에 연결된 관리 엔진과,
    상기 관리 엔진 내의 구성 버스 타겟을 포함하되,
    상기 버스 타겟은 구성 사이클을 트래핑하고 상기 버스 상에 가상 버스 디바이스를 형성하는
    장치.
  22. 제 21 항에 있어서,
    상기 가상 버스 디바이스는 상기 장치 상에 소프트웨어를 제공하는 장치.
  23. 제 22 항에 있어서,
    상기 구성 버스 타겟은 부팅 중에 구성 사이클을 트래핑하는 장치.
  24. 제 21 항에 있어서,
    상기 구성 버스 타겟은 부팅 후에 구성 사이클을 트래핑하는 장치.
  25. 제 21 항에 있어서,
    상기 프로세서는 상기 관리 엔진을 통해 상기 가상 버스 디바이스에 대한 기본 어드레스 레지스터를 갖는 메모리 맵핑된 입/출력 공간을 포함하는 장치.
  26. 제 21 항에 있어서,
    상기 관리 엔진은 공급 서버의 도메인 이름이 사전 공급된 펌웨어를 포함하는 장치.
  27. 제 26 항에 있어서,
    상기 관리 엔진은 상기 관리 엔진 펌웨어에 가상 디바이스 식별자가 제공되었는지를 부팅시에 체킹하는 장치.
  28. 제 27 항에 있어서,
    상기 관리 엔진은 인터넷을 통하여 상기 공급 서버로의 연결을 개시하는 장치.
  29. 제 28 항에 있어서,
    상기 관리 엔진은 가상 디바이스 식별자, 벤더 식별자 또는 기능 식별자를 공급하기 위해 안전 메커니즘을 사용하는 장치.
KR1020100127845A 2009-12-14 2010-12-14 관리 엔진을 사용하는 가상 버스 디바이스 KR101292858B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/636,884 2009-12-14
US12/636,884 US8762698B2 (en) 2009-12-14 2009-12-14 Virtual bus device using management engine

Publications (2)

Publication Number Publication Date
KR20110068916A true KR20110068916A (ko) 2011-06-22
KR101292858B1 KR101292858B1 (ko) 2013-08-02

Family

ID=44129704

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100127845A KR101292858B1 (ko) 2009-12-14 2010-12-14 관리 엔진을 사용하는 가상 버스 디바이스

Country Status (5)

Country Link
US (2) US8762698B2 (ko)
EP (1) EP2363803B1 (ko)
JP (1) JP5229673B2 (ko)
KR (1) KR101292858B1 (ko)
CN (1) CN102096597B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762698B2 (en) * 2009-12-14 2014-06-24 Intel Corporation Virtual bus device using management engine
US9367327B2 (en) 2010-09-24 2016-06-14 Intel Corporation Method to ensure platform silicon configuration integrity
CN102438007B (zh) * 2011-10-11 2015-02-04 武汉滨湖电子有限责任公司 一种雷达终端虚拟总线模块组织方法
US9172583B1 (en) * 2011-11-22 2015-10-27 Crimson Corporation Actively provisioning a managed node
US10021170B2 (en) * 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
KR101782852B1 (ko) * 2015-06-14 2017-10-23 아던트 시스템즈 아이엔씨 엔드포인트 에뮬레이션을 이용한 빈 엔드포인트 슬롯의 초기 열거법
US10534732B2 (en) * 2015-06-29 2020-01-14 Vmware, Inc. Exposing memory-mapped IO devices to drivers by emulating PCI bus and PCI device configuration space
US10157074B2 (en) * 2015-10-16 2018-12-18 Dell Products L.P. Systems and methods for multi-root input/output virtualization-based management by single service processor
US11106616B1 (en) 2019-11-21 2021-08-31 Xilinx, Inc. Virtualized peripheral component interconnect express (PCIe) device
US11256648B1 (en) 2020-09-29 2022-02-22 Xilinx, Inc. Virtual hot plug system and method for PCIe devices
US20230325198A1 (en) * 2022-04-06 2023-10-12 Dell Products L.P. Coordinated boot synchronization and startup of information handling system subsystems

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898861A (en) * 1996-10-18 1999-04-27 Compaq Computer Corporation Transparent keyboard hot plug
US6629157B1 (en) * 2000-01-04 2003-09-30 National Semiconductor Corporation System and method for virtualizing the configuration space of PCI devices in a processing system
JP2002108484A (ja) * 2000-09-27 2002-04-10 I-O Data Device Inc 外部記憶装置およびコントローラ
JP2002229798A (ja) * 2001-02-06 2002-08-16 Nec Corp コンピュータシステムとそのバイオス管理方法、及びバイオス管理プログラム
US6823418B2 (en) 2001-06-29 2004-11-23 Intel Corporation Virtual PCI device apparatus and method
JP2005193414A (ja) 2003-12-26 2005-07-21 Murata Mach Ltd 複合機
JP4052265B2 (ja) * 2004-03-05 2008-02-27 日本電気株式会社 情報処理装置とデバイスドライバのロード方法並びにプログラム
JP4141409B2 (ja) 2004-06-08 2008-08-27 株式会社アイ・オー・データ機器 外付周辺機器
US7506343B2 (en) * 2004-08-19 2009-03-17 International Business Machines Corporation System and method for passing information from one device driver to another
US7353377B2 (en) 2004-09-10 2008-04-01 Intel Corporation Remotely providing basic input/output system to a client system
US20060212870A1 (en) * 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US7376770B2 (en) * 2005-02-25 2008-05-20 International Business Machines Corporation System and method for virtual adapter resource allocation matrix that defines the amount of resources of a physical I/O adapter
US20060245533A1 (en) * 2005-04-28 2006-11-02 Arad Rostampour Virtualizing UART interfaces
TWI291654B (en) 2005-05-13 2007-12-21 Etrovision Technology Independent update device and method for embedded system
US20070011491A1 (en) * 2005-06-30 2007-01-11 Priya Govindarajan Method for platform independent management of devices using option ROMs
CN100454283C (zh) * 2006-04-21 2009-01-21 英业达股份有限公司 虚拟通用串行总线设备系统及其数据传输方法
US7945721B1 (en) * 2006-08-11 2011-05-17 Oracle America, Inc. Flexible control and/or status register configuration
US8060874B2 (en) * 2007-01-29 2011-11-15 Symbol Technologies, Inc. Efficient provisioning of software packages to mobile handheld devices
JP2008269210A (ja) * 2007-04-19 2008-11-06 Oyo Denshi:Kk リムーバブルメモリユニットおよびコンピュータ装置
US8060760B2 (en) * 2007-07-13 2011-11-15 Dell Products L.P. System and method for dynamic information handling system prioritization
US8645965B2 (en) * 2007-12-31 2014-02-04 Intel Corporation Supporting metered clients with manycore through time-limited partitioning
US8117346B2 (en) * 2008-10-03 2012-02-14 Microsoft Corporation Configuration space virtualization
US8762698B2 (en) * 2009-12-14 2014-06-24 Intel Corporation Virtual bus device using management engine

Also Published As

Publication number Publication date
EP2363803B1 (en) 2018-07-11
US8762698B2 (en) 2014-06-24
US9740502B2 (en) 2017-08-22
EP2363803A1 (en) 2011-09-07
JP2011123875A (ja) 2011-06-23
CN102096597A (zh) 2011-06-15
CN102096597B (zh) 2015-08-19
US20140281468A1 (en) 2014-09-18
KR101292858B1 (ko) 2013-08-02
JP5229673B2 (ja) 2013-07-03
US20110145558A1 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
KR101292858B1 (ko) 관리 엔진을 사용하는 가상 버스 디바이스
JP5368947B2 (ja) プラットフォームの高速リスタートを可能にする方法およびシステム
CN105718760B (zh) 在云中进行许可
US20200012492A1 (en) Secure iot device update
US8281303B2 (en) Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine
US9880859B2 (en) Boot image discovery and delivery
US11194588B2 (en) Information handling systems and method to provide secure shared memory access at OS runtime
US8032883B2 (en) Controlling access from the virtual machine to a file
US10496388B2 (en) Technologies for securing a firmware update
US9223596B1 (en) Virtual machine fast provisioning based on dynamic criterion
US20140059368A1 (en) Computing platform interface with memory management
US20080228971A1 (en) Device modeling in a multi-core environment
US9417886B2 (en) System and method for dynamically changing system behavior by modifying boot configuration data and registry entries
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
US20120042307A1 (en) System and method for creating memory interface of computing device
US8250354B2 (en) Method and apparatus for making a processor sideband interface adhere to secure mode restrictions
US11222119B2 (en) Technologies for secure and efficient native code invocation for firmware services
CN105556461B (zh) 用于预os镜像重写以提供跨架构支持、安全性自省和性能优化的技术
CN103677745A (zh) 一种在龙芯主板中写入和读取设备标识的方法
US8489686B2 (en) Method and apparatus allowing scan of data storage device from remote server
US20130007768A1 (en) Atomic operations on multi-socket platforms
US9858085B2 (en) Information processing including BIOS apparatus, information processing method thereof, and storage medium
JP2016025656A (ja) Ipアドレスの帯域外設定
WO2022036670A1 (en) Methods and apparatus to perform an enhanced s3 protocol to update firmware with a boot script update
US11640312B2 (en) System reset using a controller

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20170704

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 6