KR100445772B1 - 많은 메모리를 필요로 하는 어댑터의 요구를 지원하는메모리 맵 조정 - Google Patents

많은 메모리를 필요로 하는 어댑터의 요구를 지원하는메모리 맵 조정 Download PDF

Info

Publication number
KR100445772B1
KR100445772B1 KR10-2001-0049628A KR20010049628A KR100445772B1 KR 100445772 B1 KR100445772 B1 KR 100445772B1 KR 20010049628 A KR20010049628 A KR 20010049628A KR 100445772 B1 KR100445772 B1 KR 100445772B1
Authority
KR
South Korea
Prior art keywords
memory
slots
expansion
input
expansion slots
Prior art date
Application number
KR10-2001-0049628A
Other languages
English (en)
Other versions
KR20020016516A (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 KR20020016516A publication Critical patent/KR20020016516A/ko
Application granted granted Critical
Publication of KR100445772B1 publication Critical patent/KR100445772B1/ko

Links

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/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터처리 시스템에서 복수의 확장슬롯에 메모리를 할당하는 방법, 시스템, 및 장치가 제공된다. 일실시예에서, 상기 데이터처리 시스템의 초기화동안, 펌웨어는 복수의 확장슬롯 사이에서 메모리를 고정 방식으로 할당한다. 상기 복수의 확장슬롯 중 하나에 기능적으로 접속된 입/출력 어댑터가 이전에 할당된 것보다 더 많은 메모리 할당을 필요로 한다는 결정에 응답하여, 펌웨어는 상기 입/출력 어댑터에 의해 점유된 확장슬롯 중 상기 하나에 충분한 메모리가 할당되도록 상기 복수의 확장슬롯 사이에서 메모리를 재할당한다. 실행시간동안, 입/출력(I/O) 어댑터가 상기 시스템으로 핫플러그되어, 이 I/O가 삽입된 슬롯에 할당된 것보다 더 많은 메모리를 필요로 하면, 펌웨어는 우선 점유되지 않은 확장슬롯들로부터 메모리를 재할당하고나서, 필요하다면 점유된 확장슬롯 중 선택된 슬롯으로부터 메모리를 재할당하여, 상기 시스템 내의 모든 I/O 어댑터가 올바르고 최적으로 기능하도록 충분한 메모리를 할당한다.

Description

많은 메모리를 필요로 하는 어댑터의 요구를 지원하는 메모리 맵 조정{MEMORY MAP ADJUSTMENT TO SUPPORT THE NEED OF ADAPTERS WITH LARGE MEMORY REQUIREMENTS}
본 발명은 개선된 데이터처리 시스템에 관한 것으로, 특히 I/O 장치에 대한 메모리 매핑(mapping) 방법에 관한 것이다.
PCI I/O 장치는 시스템 메모리로 매핑될 필요가 있는 카드 메모리 및 레지스터 공간을 포함한다. 메모리 공간을 할당하는 데에는 두가지 접근법이 있다. 첫번째 접근법은 동적 할당이라 하는 것으로서, 시스템이 모든 PCI 버스를"워크(walk)"하며, 장치가 어느 정도의 공간을 필요로 하는지를 결정하기 위해 각 장치에 문의한 후, 이 요구에 기초하여 각 장치에 메모리를 할당하는 방식이다. 두번째 접근법은 고정(rigid) 접근법으로서, 데이터처리 시스템이 슬롯당 또는 PCI 호스트 브리지당 사용가능한 소정량의 메모리공간을 갖는 방식이다.
동적할당에서의 문제점은, 예컨대 RS/6000 서버라인과 같이 상이한 드로어(drawer)에 위치한 다수의 PCI 호스트 브리지 및 PHB(PCI Host Bridges)가 존재하는 시스템에서 동적할당이 시도될 때에 발생한다. RS/6000 서버라인은 뉴욕 암몽크의 IBM사(International Business Machines Corporation of Armonk, New York)로부터 입수가능한 제품중의 하나이다. RS/6000 서버라인에서는, 각 드로어가 3 내지 6개의 PHB를 구비할 수 있는 32개 이상의 드로어가 가능하다. 어댑터가 추가되거나, 어댑터가 추가적인 공간을 필요로 하는 다른 어댑터로 교체되면 핫플러그(hotplugging) 동작이 수행될 때에 이 접근법에 문제가 또 발생한다.
확정된 공간에서의 문제점은 그것이 너무 고정적이라는 점이다. 이것은 현재의 장치 및 계획된 장치에는 유효하다. 그러나, 미래는 언제나 예측불허이고, 이 설계를 무용지물로 만들 미래의 예측불허의 장치가 개발될 가능성이 높다. 따라서, 다수의 PCI 호스트 브리지를 구비한 시스템과 연관된 문제를 극복할 뿐만 아니라, 고정된 공간 설계와 연관된 장애를 극복하는 메모리 매핑에 대한 유연성있는 접근법이 필요하다.
본 발명은 데이터처리 시스템에서 메모리를 복수의 확장슬롯에 할당하는 방법, 시스템, 및 장치를 제공한다. 일실시예에서, 데이터처리 시스템의 초기화 동안, 펌웨어는 복수의 확장슬롯 사이에서 메모리를 고정적으로(on a rigid basis) 할당한다. 복수의 확장슬롯 중 하나에 기능적으로 접속된 입/출력 어댑터가 이전에 할당된 것보다 더 많은 메모리할당을 필요로 한다는 결정에 응답하여, 펌웨어는 입/출력 어댑터에 의해 점유된 확장슬롯 중 하나에 충분한 메모리가 할당되도록 복수의 확장슬롯 사이에서 메모리를 재할당한다. 실행시간동안, 입/출력(I/O) 어댑터가 시스템으로 핫플러그되어 I/O가 삽입된 슬롯에 할당된 메모리보다 더 많은 메모리를 필요로 하면, 펌웨어는 우선 점유되지 않은 확장슬롯으로부터 그리고 필요하다면 점유된 확장슬롯 중의 선택된 것으로부터 메모리를 재할당하여, 시스템 내의 모든 I/O 어댑터가 올바르고 최적으로 기능하도록 충분한 메모리를 할당한다.
본 발명을 특징짓는 신규한 특징은 첨부한 청구범위에 설명되어 있다. 그러나, 바람직한 사용방식 뿐만 아니라 본 발명 그 자체, 및 그 목적과 장점은 첨부도면과 관련하여 다음의 예시적인 실시예의 상세한 설명을 참조함으로써 가장 잘 이해될 것이다.
도 1은 본 발명이 구현될 수 있는 데이터처리 시스템의 블록도.
도 2는 본 발명에 따라 PHB 하위의 슬롯의 메모리 맵을 조정하는 시스템을 도시한 블록도.
도 3은 본 발명에 따라 부트시간(boottime)에 데이터처리 시스템 내의 I/O 확장슬롯에 메모리를 할당하는 예시적인 방법을 도시한 플로우챠트.
도 4는 본 발명에 따라 어댑터가 실행시간동안 데이터처리 시스템으로 핫플러그(hotplug)된 후에 메모리를 확장슬롯에 재할당하는 예시적인 방법을 도시한 플로우챠트.
<도면의 주요부분에 대한 부호의 설명>
100 : 데이터처리 시스템 101, 102, 103, 104 : 프로세서
106 : 시스템 버스 108 : 메모리 제어기/캐시
110 : I/O 브리지 112 : I/O 버스
114, 122, 130, 140, 206, 207, 208, 209 : PCI 호스트 브리지
115, 118, 119, 123, 126, 127, 131, 133, 141, 144, 145, 195 : PCI 버스
116, 117, 124, 125, 132, 142, 143, 230 ~ 242 : PCI-to-PCI 브리지
120, 121, 128, 129, 136 : PCI I/O 어댑터
134 : JTAG/I2C 버스 135 : 서비스 프로세서
148 : 그래픽 어댑터 149 : 하드디스크 어댑터
150 : 하드디스크 160 ~ 163 : 로컬 메모리
190 : OP 패널 191 : 메모리
192 : NVRAM 193 : PCI/ISA 브리지
194 : 서비스 프로세서 메일박스 인터페이스 및 ISA 버스 액세스 패스쓰루
196 : ISA 버스 201 : 어드레스 테이블
202 : 펌웨어 203, 204 : 드로어(drawer)
210 ~ 221 : 슬롯
도면, 특히 도 1을 참조하면, 본 발명이 구현될 수 있는 데이터처리 시스템의 블록도가 도시되어 있다. 데이터처리 시스템(100)은 시스템 버스(106)에 접속된 복수의 프로세서(101, 102, 103, 104)를 포함한 SMP(symmetric multiprocessor) 시스템일 수 있다. 예를 들면, 데이터처리 시스템(100)은 네트워크 내의 서버로서 구현된 IBM사 제품인 IBM RS/6000일 수 있다. 선택적으로, 단일 프로세서 시스템이 사용될 수 있다. 또한 복수의 로컬 메모리(160-163)로의 인터페이스를 제공하는 메모리 제어기/캐시(108)가 시스템 버스(106)에 접속된다. I/O 버스 브리지(110)는 시스템 버스(106)에 접속되고 I/O 버스(112)로의 인터페이스를 제공한다. 메모리 제어기/캐시(108) 및 I/O 버스 브리지(110)는 도시된 바와 같이 일체형일 수도 있다. 예컨대 IBM사 제품인 AIX(Advanced Interactive Executive) 운영 시스템과 같은 운영 시스템이 데이터처리 시스템(100) 상에서 실행될 수 있다.
I/O 버스(112)에 접속된 PCI(peripheral component interconnect) 호스트 브리지(114)는 PCI 로컬버스(115)로의 인터페이스를 제공한다. 다수의 입/출력 어댑터(120-121)는 PCI 버스(118-119)의 각각을 거쳐 PCI-to-PCI 브리지(116-117)의 각각을 통해 PCI 버스(115)에 접속될 수 있다. 전형적인 PCI 버스구현은 4 내지 8개의 I/O 어댑터(즉, 애드-인(add-in) 커넥터를 위한 확장슬롯)를 지원할 것이다. 각 I/O 어댑터(120-121)는 예컨대 데이터처리 시스템(100)에 대해 클라이언트인 다른 네트워크 컴퓨터와 같은 입/출력장치와 데이터처리 시스템(100) 사이에 인터페이스를 제공한다.
추가의 PCI 호스트 브리지(122)는 추가의 PCI 버스(123)에 대해 인터페이스를 제공한다. PCI 버스(123)는 복수의 PCI-to-PCI 브리지(124-125)에 접속되고, 이들은 각각 PCI 버스(126-127)의 각각에 의해 PCI I/O 어댑터(128-129)의 각각에 차례로 접속된다. 따라서, 예컨대 모뎀 또는 네트워크 어댑터와 같은 추가의 I/O 장치는 PCI I/O 어댑터(128-129)의 각각을 통해 지원될 수 있다. 이와 같이, 데이터처리 시스템(100)은 다수의 네트워크 컴퓨터에 대한 접속을 제공한다. PCI-to-PCI 브리지(116-117, 124-125, 142-143, 132)의 각각은 단일의 I/O 어댑터에 접속된다.
메모리 맵 그래픽 어댑터(148)는 도시된 바와 같이 PCI 버스(141, 144)를 거쳐 PCI 호스트 브리지(140) 및 PCI-to-PCI 브리지(142)를 통해 I/O 버스(112)에 접속될 수 있다. 하드디스크(150)는 도시된 바와 같이 PCI 버스(141, 145)를 거쳐 PCI 호스트 브리지(140) 및 PCI-to-PCI 브리지(143)를 통해 I/O 버스(112)에 접속될 수 있다.
PCI 호스트 브리지(130)는 PCI 버스(131)에 대해 인터페이스를 제공하여 I/O 버스(112)에 접속한다. PCI 버스(131)는 PCI 호스트 브리지(130)를 서비스 프로세서 메일박스 인터페이스 및 ISA 버스 액세스 패스쓰루(passthrough) 로직(194)과 PCI-to-PCI 브리지(132)에 접속한다. ISA 버스 액세스 패스쓰루 로직(194)은 PCI/ISA 브리지(193)로 예정된 PCI 액세스를 전송한다. NV-RAM 기억장치는 ISA 버스(196)에 접속된다. 서비스 프로세서(135)는 그 로컬 PCI 버스(195)를 통해 서비스 프로세서 메일박스 인터페이스(194)에 접속된다.
서비스 프로세서(135)는 또한 복수의 JTAG/I2C 버스(134)를 통해 프로세서(101-104)에 접속된다. JTAG/I2C 버스(134)는 JTAG/scan 버스(IEEE 1149.1 참조)와 필립스 I2C 버스의 조합이다. 그러나, 선택적으로, JTAG/I2C 버스(134)는 필립스 I2C 버스만으로 또는 JTAG/scan 버스만으로 대체될 수도 있다. 호스트 프로세서(101, 102, 103, 104)의 모든 SP-ATTN 신호는 서비스 프로세서의 인터럽트 입력신호에 함께 접속된다. 서비스 프로세서(135)는 그 자신의 로컬 메모리(191)를 갖고, 하드웨어 OP-패널(190)로의 액세스를 갖는다. 서비스 프로세서(135)는 데이터처리 시스템(100)에서 모니터된 모든 아이템에 관련된 오류정보를 저장하고 보고할 책임이 있다. 서비스 프로세서(135)는 또한 오류의 종류 및 정의된 임계값에 기초하여 조치를 취한다.
본 기술분야의 통상의 지식을 가진 자는 도 1에 도시된 하드웨어가 가변적임을 이해할 것이다. 예를 들면, 광 디스크 드리이브 등과 같은 다른 주변장치가 도시된 하드웨어에 추가하여 또는 그 대신에 사용될 수도 있다. 도시된 예는 본 발명에 대한 구성상의 제한을 의미하려는 것이 아니다.
도 2를 참조하면, PHB 하위의 슬롯의 메모리맵을 조정하는 시스템을 도시한 블록도가 본 발명에 따라 도시되어 있다. 시스템(200)은 도 1의 데이터처리 시스템(100)과 같은 데이터처리 시스템 내에서 구현될 수 있다. 시스템(200)은 PCI-PCI 브리지(230-242)를 통해 접속된 복수의 PHB(206-209) 하위의 복수의 슬롯(210-221)에 대하여 어드레스 테이블(201)에서 메모리 할당을 조정하는 펌웨어(firmware)를 포함한다.
펌웨어(202)는 예컨대 도 1의 NVRAM(192)에 저장된 명령어 집합으로서 구현될 수 있고 서비스 프로세서(135)에서 실행될 수 있다. 어드레스 테이블은 예컨대 도 1에 도시된 메모리(191), NVRAM(192)와 같은 비휘발성 메모리에 저장될 수 있다. PHB(206-209)는 도 1의 PCI 호스트 브리지(114, 122, 130, 140)로서 구현될수 있다. PCI-PCI 브리지(230-242)는 예컨대 도 1의 PCI-to-PCI 브리지(116-117, 124-125, 132, 142-143) 중 임의의 하나로서 구현될 수 있다. 슬롯(210-221)은 예컨대 그래픽 어댑터(148) 및 하드디스크 어댑터(149) 뿐만 아니라 PCI I/O 어댑터(120-121, 128-129, 136)와 같은 I/O 어댑터가 데이터처리 시스템으로의 접속을 위해 플러그를 꽂을 수 있는 확장슬롯이다.
시스템(100)은 구성의 제 1 패스(pass)에서 메모리 공간을 각 슬롯(210-221)에 고정 방식으로 할당하는 하이브리드 접근법을 사용한다. 따라서, 데이터처리 시스템을 부트업(bootup)하는 동안, 펌웨어(202)는 각 드로어(203, 204)에 할당된 소정의 메모리양을 갖는 고정 방식으로 사용가능한 메모리를 각 드로어(203, 204)에 할당한다. 각 드로어(203, 204)에 할당된 메모리양은 특정한 구현을 위한 개발자의 요구에 따라 동일하거나 동일하지 않을 수 있다. 그 후 각 드로어(203, 204)에 할당된 메모리는 펌웨어(202)에 의해 각 드로어(203, 204) 내의 PHB(206-209) 사이에서 추가로 할당된다. 그 후, 펌웨어(202)는 PHB(206-209)의 각각에 할당된 메모리를 PHB(206-209)의 각각에 배정되고 접속된 슬롯(210-221)의 각각에 추가로 할당한다.
사용가능한 메모리가 다양한 슬롯(210-221) 사이에서 할당된 후, 펌웨어(202)는 I/O 어댑터가 접속된 슬롯에 할당된 것보다 더 많은 메모리를 필요로 하는지를 여부를 결정하기 위해 각 슬롯(210-221)에 접속된 I/O 어댑터를 체크한다. 특정한 I/O 어댑터가 더 많은 메모리를 필요로 하면, 펌웨어(202)는 더 많은 메모리를 필요로 하는 I/O 어댑터가 접속된 특정 PHB(206-209)에 할당된 메모리를 재할당하여, 더 많은 메모리를 필요로 하는 I/O 어댑터가 접속된 슬롯에 I/O 어댑터를 충족시키기에 충분한 메모리가 할당되도록 한다. 더 많은 메모리를 필요로 하는 I/O 어댑터가 접속된 특정 PHB 하위의 다른 슬롯들은, 이들 슬롯의 각각에 상이한 양의 메모리가 할당되어, 각 I/O 어댑터가 적절히 수행하기에 충분한 메모리를 할당하는 방식으로 PHB에 할당된 모든 메모리가 각 슬롯에 할당되도록 조정된다. 슬롯(210-221) 중 적당한 것을 조정하기 위하여, 펌웨어(202)는 슬롯(210-221) 중 영향받은 슬롯과 연관된 PCI-PCI 브리지(230-242)를 재프로그램한다.
다른 슬롯 및 조정된 슬롯을 재할당할 때, 펌웨어(202)는 슬롯들 사이에서 임의의 사용되지 않는 메모리의 사용가능한 양을 균등하게 분배하도록 할 필요가 있다. 이는 핫플러그에 대한 최소한의 문제를 예방하기 위해 수행된다. 예컨대 펌웨어(202)가 7개의 슬롯 사이에서 분할할 512MB를 갖고 하나의 어댑터는 128MB를 필요로 하고 다른 어댑터들은 8MB 이하의 메모리를 필요로 한다면, 펌웨어(202)는 상기 슬롯중 소정의 것에 단지 8MB만 할당하는 것과 비교하여 제1 슬롯에 128MB를 할당하고 다른 7개의 슬롯에 64MB를 할당할 필요가 있다. 이것은, 미래에 카드가 핫플러그 아웃되어(hotplugged out) 32MB를 필요로 하는 카드로 대체될 수도 있기 때문이다. 따라서, 기본적으로, 펌웨어(202)는 이 요구를 충족할 필요가 있고 동시에 최대의 유연성을 제공할 필요가 있다.
그후 펌웨어(202)는 펌웨어(202)가 각 드로어(203-204), 각 PHB(206-209), 및 각 슬롯(210-221)에 할당한 메모리의 할당을 반영하기 위해 어드레스 테이블(201)을 재설정한다. 따라서, 부트업의 완료시, 펌웨어(202)는 드로어(203)와 드로어(204) 사이에 모든 사용가능한 메모리를 할당하였다. 그 후 각 드로어(203, 204)에 할당된 메모리는 각 드로어(203, 204) 내의 다양한 PHB(206-209) 사이에서 더 할당되고 각 PHB(206-209)에 할당된 메모리는 각 PHB(206-209) 하위의 각 슬롯(210-221)에 추가로 할당되어, 슬롯(210-221)에 접속된 각 I/O 어댑터가 올바로 수행하기에 충분한 메모리가 할당되도록 한다.
그 후 실행시간 동안, 슬롯(210-221) 중 하나에 있는 I/O 어댑터가, 핫플러그 동작시, 이전에 슬롯(210-221) 중의 상기 하나에 할당된 것보다 더 많은 메모리들이 할당될 필요가 있는 새로운 I/O 어댑터로 교체되면, 펌웨어(202)는 점유되지 않은 슬롯에 할당된 메모리를 취하여 상기 새로운 I/O 어댑터의 슬롯에 할당하는 알고리즘을 사용한다. 이에 의해서도 I/O 어댑터에 충분한 메모리가 제공되지 않으면, 펌웨어(202)는, 어드레스 재할당을 수행하기 위해 어느 I/O 어댑터가 일시적으로 "기능해제상태(brought down)"로 될 수 있는가를 결정하기 위하여, 핫플러그 동작에 의해 영향받은 PHB(206-209) 중 특정한 하나에 접속된 어댑터 중 어느 것을 결정할 것인지를 사용자에게 문의한다. 펌웨어(202)는 또한 대안으로서 사용자에게 재구성을 위해 리부트(reboot)하는 선택권을 제공할 것이다. 사용자는 이 두가지를 모두 해서는 안된다. 사용자는 리부트하여 펌웨어가 모든 것을 재설정하게 하거나 또는 사용자는 펌웨어가 특정 어댑터를 다운(down)시켜 재조정하도록 하여야 한다. 일부 I/O 어댑터를 다운시키기 보다는 리부트하는 한가지 이유는, 재조정은 너무 많은 애플리케이션이 개별적으로 정지되어야 할 필요가 있을 수 있어서, 일부의 카드만이 재조정을 위해 다운될 것이기 때문에 정지된 후 나중에 재시작될 필요가 있는 모든 종속 애플리케이션을 결정하려 하는 관리자 때문에 리부트하는 것보다 더 오랜 시간이 걸릴 수 있다는 점이다. 그 후 펌웨어(202)는 PCI-PCI 브리지 설정을 조정함으로써 슬롯을 재프로그램하고 어드레스 테이블(201)은 어드레스 할당을 위해 사용되어, 재프로그램된 다른 I/O 어댑터 뿐만 아니라 새로운 I/O 어댑터는 I/O 어댑터가 올바르고 적정하게 수행하기에 충분한 메모리를 할당받는다. 그 후 일시적으로 "다운"된 어댑터는 다시 인에이블(enable) 상태로 된다.
본 기술분야의 통상의 지식을 가진 자는 도 2에 도시된 하드웨어는 가변적임을 이해할 것이다. 예를 들면, 도 2에 도시된 것보다 더 많은 드로어 및 PHB가 사용될 수 있다. 많은 구현에서, 데이터처리 시스템은 각 드로어가 3-6개의 PHB를 구비한 32개 이상의 드로어를 포함할 수 있다. 따라서, 도시된 예는 본 발명에 대한 구성상의 제한을 의미하려는 것이 아니다.
본 발명의 이해를 돕기 위해, 다음의 예를 참고한다. 데이터처리 시스템이 PHB에 대한 메모리의 고정 할당에 기초하여 사용가능한 1GB(즉, 1024MB)를 갖는 시스템 내의 PHB 중 하나의 하위에 10개의 슬롯을 포함한다고 가정한다. 각 슬롯이 그 자신의 PCI-PCI 브리지의 하위에 그 자신의 버스를 갖기 때문에 메모리공간은 슬롯단위로 분할된다. 따라서, 이 접근법에서, 펌웨어는 128MB를 6개의 슬롯에 할당하고 64MB를 다른 4개의 슬롯에 할당한다. 펌웨어가 128MB 이상을 필요로 하는 어댑터와 마주친다면, 펌웨어는 PHB 하위의 다른 9개의 슬롯을 조정하는 알고리즘을 따를 필요가 있다. 펌웨어는 PCI-PCI 브리지를 재프로그램하고 어드레스를 할당하기 위해 사용하는 어드레스 테이블을 재설정함으로써 이를 수행한다.
나중에 256MB를 필요로 하는 어댑터가 128MB 또는 64MB가 할당된 슬롯 중 하나로 핫플러그되면, 임의의 사용되지 않은 슬롯에 할당된 메모리가 새로운 어댑터를 포함하는 슬롯에 할당되고, 이것이 충분하지 않으면, 상기 새로운 어댑터가 올바르고 최적으로 수행하기에 충분한 사용가능한 메모리를 갖도록, 사용자에 의해 선택된 다른 슬롯들이 재프로그램되고 어드레스 테이블이 재설정된다.
도 3을 참조하면, 부트시간에 데이터처리 시스템 내의 I/O 확장슬롯에 메모리를 할당하는 예시적인 방법을 도시한 플로우챠트가 본 발명에 따라 도시되어 있다. 우선, 펌웨어는 소정의 고정 방식으로 데이터처리 시스템 내의 각 드로어 사이에 사용가능한 메모리를 할당한다(단계 302). 그후 펌웨어는 소정의 고정 방식으로 드로어내의 각 PHB 사이에 각 드로어의 할당된 메모리를 할당한다(단계 304). 다음에, 펌웨어는 고정 방식으로 PHB의 각 어댑터 슬롯 사이에 PHB의 각각의 할당된 메모리를 할당한다(단계 306).
그후 펌웨어는 각 드로어에 대해 각 PHB에 대한 각 어댑터에 필요한 메모리의 양을 결정하고(단계 308), 그 다음, 하나 이상의 어댑터가 그 어댑터의 슬롯에 할당된 것보다 더 많은 메모리를 필요로 하는지 여부를 결정한다(단계 310). 어댑터에 대한 대응 슬롯에 할당된 것보다 많은 메모리를 필요로 하는 어댑터가 없으면, 프로세스는 종료한다. 그러나, 하나 이상의 어댑터가 할당된 것보다 더 많은 메모리를 필요로 하면, 펌웨어는, 각 어댑터에 충분한 메모리가 할당되도록, 상기 영향받은 어댑터가 접속된 PHB 하위의 모든 어댑터 슬롯에 대한 메모리 할당을 재산출한다(단계 312). 따라서, 초기화 프로세스의 완료후, 각 어댑터 슬롯은 적절하고 최적으로 기능하기에 충분한 메모리를 할당받는다.
도 4를 참조하면, 어댑터가 실행시간 동안에 데이터처리 시스템으로 핫플러그된 후에 확장슬롯으로 메모리를 재할당하는 예시적인 방법을 나타낸 플로우챠트가 본 발명에 따라 도시되어 있다. I/O 어댑터를 대체하거나 이전에 점유되지 않은 슬롯으로 I/O 어댑터를 추가함으로써, 새로운 I/O 어댑터가 확장슬롯으로 핫플러그된 후, 펌웨어는 상기 핫플러그된 새로운 어댑터에 의해 요구되는 메모리의 양을 결정한다(단계 402). 그후 펌웨어는 상기 핫플러그된 새로운 어댑터에 의해 필요한 메모리의 양이 이전에 상기 핫플러그된 어댑터가 위치한 슬롯에 할당된 메모리양보다 더 많은지를 결정한다(단계 404). 메모리 요구량이 슬롯에 할당된 메모리양 이하이면, 프로세스는 종료한다. 상기 핫플러그된 어댑터의 메모리 요구량이 슬롯에 할당된 것보다 더 많으면, 펌웨어는, 존재한다면, 점유되지 않은 슬롯에 할당된 메모리공간을 취하여 이 메모리를 상기 핫플러그된 새로운 어댑터를 포함하는 슬롯에 할당하고(단계 406) 어드레스 테이블을 갱신하여 새로운 할당을 반영한다.
그후 펌웨어는 상기 새롭게 핫플러그된 어댑터를 포함하는 슬롯에 새로운 어댑터를 서비스하기에 충분한 메모리가 할당되었는지 여부를 결정한다(단계 408). 충분한 메모리가 상기 새로운 어댑터에 할당되었으면, 프로세스는 종료한다. 점유되지 않은 슬롯으로부터 메모리를 취한 후에 어댑터가 할당된 것보다 더 많은 메모리를 여전히 필요로 하면, 펌웨어는 시스템이 리부트되어야 하는지 또는 일부 어댑터가 디스에이블(disable)되어야 하는지 여부에 대해 사용자에게 문의한다(단계 410). 일부 어댑터가 디스에이블되어야 하면, 데이터처리 시스템이 어드레스 재할당 완료시 리부트되어야 하는지 여부를 사용자에게 문의할 뿐만 아니라, 어드레스 재할당을 위해 일시적으로 디스에이블될 수 있는 어댑터의 실체(identity)에 대해 사용자에게 문의한다. 그후 펌웨어는 사용자에 의해 지시된 슬롯에 대한 PCI-PCI 브리지를 디스에이블하고 재프로그램하여, 지시된 슬롯이 새로운 어댑터를 위해 충분한 메모리를 제한하지 않으면서 충분한 메모리를 할당받도록 하고, 그후 상기 새롭게 할당된 메모리를 반영하기 위해 새로운 어댑터를 재프로그램한다(단계 412). 그후 어드레스 테이블은 메모리의 새로운 할당을 반영하기 위해 펌웨어에 의해 재설정된다.
다운시킬 필요가 있는 어댑터가 너무 많거나, 어댑터 중 일부를 다운시킴으로써 실행중인 너무 많은 애플리케이션이 방해받는다면, 사용자는 어느 어댑터를 일시적으로 다운시킬 것인지를 결정하기 보다는 간단히 전체 시스템을 리부트하기를 원할지도 모른다. 따라서, 사용자가 리부트를 선택한다면, 데이터처리 시스템은 리부트되고(단계 414) 메모리의 재할당이 부트 프로세스 동안 수행된다.
본 발명은 데이터처리 시스템을 충분히 기능시키는 것에 관련하여 설명되었지만, 본 발명의 프로세스는 명령어의 컴퓨터 판독가능 기록 매체의 형태 및 다양한 형태로 배포될 수 있고 본 발명은 이 배포를 수행하기 위해 실제로 사용된 특정형태의 신호 보유 매체에 무관하게 동일하게 적용된다는 것을 본 기술분야의 통상의 지식을 가진 자는 이해할 것이라는 것을 주목하는 것이 중요하다. 컴퓨터 판독가능 기록 매체의 예는 플로피 디스크, 하드디스크 드라이브, RAM, 및 CD-ROM과 같은 기록가능형 매체와 디지털 및 아날로그 통신링크와 같은 전송형 매체를 포함한다.
본 발명의 설명은 예시 및 설명의 목적으로 제시되었지만, 개시된 형태로 본 발명을 한정시키고자 함이 아니다. 많은 수정과 변경이 가능함이 본 기술 분야의 통상의 지식을 가진 자에게 명백할 것이다. 본 발명의 원리, 실제적인 응용을 가장 잘 설명하고 의도한 특정용도에 적합한 다양한 수정을 갖는 다양한 실시예에 대해 다른 본 기술 분야의 통상의 지식을 가진 자들이 본 발명을 이해할 수 있도록 하기 위해 실시예가 선택되고 설명되었다.
본 발명에 따르면, 다수의 PCI 호스트 브리지가 존재하는 데이터처리 시스템에서, 어댑터가 추가되거나 어댑터가 추가의 공간을 필요로 하는 다른 어댑터로 교체되면 핫플러그 동작이 수행될 때에 소정양의 메모리를 고정적으로 할당하는 시스템에서의 문제점을 극복하는 메모리 매핑에 대한 유연성있는 접근법을 제공할 수 있다.
즉, 실행시간동안, 입/출력(I/O) 어댑터가 상기 시스템으로 핫플러그되어, 이 I/O가 삽입된 슬롯에 할당된 것보다 더 많은 메모리를 필요로 하면, 펌웨어는 우선 점유되지 않은 확장슬롯들로부터 메모리를 재할당하고나서, 필요하다면 점유된 확장슬롯 중 선택된 슬롯으로부터 메모리를 재할당하여, 상기 시스템 내의 모든 I/O 어댑터가 올바르고 최적으로 기능하도록 충분한 메모리를 할당할 수 있다.

Claims (21)

  1. 데이터처리 시스템에서 복수의 확장슬롯에 메모리를 할당하는 방법에 있어서,
    상기 데이터처리 시스템의 초기화 동안,
    상기 복수의 확장슬롯 사이에서 고정 방식(rigid basis)으로 메모리를 할당하는 단계; 및
    상기 복수의 확장슬롯 중 하나에 기능적으로 접속된 입/출력 어댑터가 상기 복수의 확장슬롯 중 상기 하나에 할당된 것보다 더 많은 메모리 할당을 필요로 한다는 결정에 응답하여, 상기 입/출력 어댑터에 의해 점유된 상기 확장슬롯 중 상기 하나에 충분한 메모리가 할당되도록 상기 복수의 확장슬롯 사이에서 상기 메모리를 재할당하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    실행시간동안, 상기 복수의 확장슬롯 중 선택된 하나에 할당된 것보다 더 많은 메모리를 필요로 하는 상기 복수의 확장슬롯 중 상기 선택된 하나로 핫플러그(hotplug)되는 새로운 입/출력 어댑터에 응답하여, 상기 복수의 확장슬롯 중 점유되지 않은 슬롯들로부터 상기 복수의 확장슬롯 중 상기 선택된 하나로 메모리를 재할당하는 단계를 더 포함하는 방법.
  3. 실행시간동안 데이터처리 시스템에서 복수의 확장슬롯에 메모리를 할당하는 방법에 있어서,
    핫플러그된 입/출력 어댑터에 의해 요구되는 메모리의 양을 결정하는 단계; 및
    상기 핫플러그된 입/출력 어댑터에 의해 점유된 확장슬롯에 할당된 것보다 더 많은 메모리가 필요하다는 결정에 응답하여, 점유되지 않은 확장슬롯에 할당된 메모리를 상기 핫플러그된 입/출력 어댑터에 의해 점유된 상기 확장슬롯에 재할당하는 단계
    를 포함하는 방법.
  4. 제3항에 있어서,
    상기 핫플러그된 입/출력 어댑터가 상기 점유되지 않은 확장슬롯으로부터 재할당될 수 있는 것보다 더 많은 메모리 할당을 필요로 한다는 결정에 응답하여, 점유된 확장슬롯에서 이전의 입/출력 어댑터 중 적절한 어댑터를 일시적으로 구성해제(deconfigure)하는 단계; 및
    이전의 입/출력 어댑터 중 상기 적절한 어댑터에 대응하는 상기 점유된 확장슬롯으로부터 상기 핫플러그된 입/출력 어댑터에 의해 점유된 상기 확장슬롯으로 메모리를 재할당하는 단계를 더 포함하는 방법.
  5. 데이터처리 시스템내의 복수의 확장슬롯에 메모리를 할당하기 위하여 상기 데이터처리 시스템에서 사용되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체에 있어서, 상기 컴퓨터 프로그램은,
    상기 데이터처리 시스템의 초기화 동안에,
    상기 복수의 확장슬롯 사이에서 고정 방식으로 메모리를 할당하기 위한 제1 명령어; 및
    상기 복수의 확장슬롯 중 하나에 기능적으로 접속된 입/출력 어댑터가 상기 복수의 확장슬롯 중 상기 하나에 할당된 것보다 더 많은 메모리 할당을 필요로 한다는 결정에 응답하여, 상기 입/출력 어댑터에 의해 점유된 상기 확장슬롯 중 상기 하나에 충분한 메모리가 할당되도록 상기 복수의 확장슬롯 사이에서 상기 메모리를 재할당하기 위한 제2 명령어
    를 포함하는 컴퓨터 판독 가능 기록 매체.
  6. 제5항에 있어서, 상기 컴퓨터 프로그램은,
    실행시간 동안, 상기 복수의 확장슬롯 중 선택된 하나에 할당된 것보다 더 많은 메모리를 필요로 하는 상기 복수의 확장슬롯 중 상기 선택된 하나로 핫플러그되는 새로운 입/출력 어댑터에 응답하여, 상기 복수의 확장슬롯 중 점유되지 않은 슬롯들로부터 상기 복수의 확장슬롯 중 상기 선택된 하나로 메모리를 재할당하기 위한 제3 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 기록 매체.
  7. 제6항에 있어서, 상기 컴퓨터 프로그램은,
    상기 새로운 입/출력 어댑터가 상기 복수의 확장슬롯 중 상기 점유되지 않은 슬롯들로부터 재할당될 수 있는 것보다 더 많은 메모리 할당을 필요로 한다는 결정에 응답하여, 상기 복수의 확장슬롯 중 다른 슬롯들을 점유하는 이전의 복수의 입/출력 어댑터 중 적절한 어댑터를 일시적으로 구성해제하기 위한 제4 명령어; 및
    상기 복수의 확장슬롯 중 상기 다른 슬롯들로부터 상기 새로운 입/출력 어댑터에 의해 점유된 상기 복수의 확장슬롯 중 상기 하나로 메모리를 재할당하기 위한 제5 명령어를 더 포함하는 컴퓨터 판독 가능 기록 매체.
  8. 실행시간동안 데이터처리 시스템내의 복수의 확장슬롯에 메모리를 할당하기 위하여 상기 데이터처리 시스템에서 사용되는 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체에 있어서, 상기 컴퓨터 프로그램은,
    핫플러그된 입/출력 어댑터에 의해 요구되는 메모리의 양을 결정하기 위한 제1 명령어; 및
    상기 핫플러그된 입/출력 어댑터에 의해 점유된 확장슬롯에 할당된 것보다 더 많은 메모리가 필요하다는 결정에 응답하여, 점유되지 않은 확장슬롯에 할당된 메모리를 상기 핫플러그된 입/출력 어댑터에 의해 점유된 상기 확장슬롯에 재할당하기 위한 제2 명령어
    를 포함하는 컴퓨터 판독 가능 기록 매체.
  9. 제8항에 있어서, 상기 컴퓨터 프로그램은,
    상기 핫플러그된 입/출력 어댑터가 상기 점유되지 않은 확장슬롯으로부터 재할당될 수 있는 것보다 더 많은 메모리할당을 필요로 한다는 결정에 응답하여, 점유된 확장슬롯에서 이전의 입/출력 어댑터 중 적절한 어댑터를 일시적으로 구성해제하기 위한 제3 명령어; 및
    이전의 입/출력 어댑터 중 상기 적절한 어댑터에 대응하는 상기 점유된 확장슬롯으로부터 상기 핫플러그된 입/출력 어댑터에 의해 점유된 상기 확장슬롯으로 메모리를 재할당하기 위한 제4 명령어를 더 포함하는 컴퓨터 판독 가능 기록 매체.
  10. 데이터처리 시스템에서 복수의 확장슬롯에 메모리를 할당하는 시스템에 있어서,
    상기 데이터처리 시스템의 초기화동안,
    상기 복수의 확장슬롯 사이에서 메모리를 고정 방식으로 할당하는 제 1 수단; 및
    상기 복수의 확장슬롯 중 하나에 기능적으로 접속된 입/출력 어댑터가 상기 복수의 확장슬롯 중 상기 하나에 할당된 것보다 더 많은 메모리 할당을 필요로 한다는 결정에 응답하여, 상기 입/출력 어댑터에 의해 점유된 상기 확장슬롯 중 상기 하나에 충분한 메모리가 할당되도록 상기 복수의 확장슬롯 사이에서 상기 메모리를 재할당하는 제2 수단
    을 포함하는 시스템.
  11. 제10항에 있어서,
    실행시간동안, 상기 복수의 확장슬롯 중 선택된 하나에 할당된 것보다 더 많은 메모리를 필요로 하는 상기 복수의 확장슬롯 중 선택된 하나로 핫플러그되는 새로운 입/출력 어댑터에 응답하여, 상기 복수의 확장슬롯 중 점유되지 않은 슬롯들로부터 상기 복수의 확장슬롯 중 상기 선택된 하나로 메모리를 재할당하는 제3 수단을 더 포함하는 시스템.
  12. 제11항에 있어서,
    상기 메모리 재할당은 어드레스 테이블을 갱신하는 단계를 포함하는 시스템.
  13. 제11항에 있어서,
    상기 새로운 입/출력 어댑터가 상기 복수의 확장슬롯 중 상기 점유되지 않은 슬롯들로부터 재할당될 수 있는 것보다 더 많은 메모리 할당을 필요로 한다는 결정에 응답하여, 상기 복수의 확장슬롯 중 다른 슬롯들을 점유하는 이전의 복수의 입/출력 어댑터 중 적절한 어댑터를 일시적으로 구성해제하는 제4 수단; 및
    상기 복수의 확장슬롯 중 상기 다른 슬롯들로부터 상기 새로운 입/출력 어댑터에 의해 점유된 상기 복수의 확장슬롯 중 상기 하나로 메모리를 재할당하는 제5 수단을 더 포함하는 시스템.
  14. 제13항에 있어서,
    상기 적절한 어댑터는 사용자에 의해 결정되는 시스템.
  15. 제13항에 있어서,
    상기 데이터처리 시스템을 리부트(reboot)하는 제6 수단을 더 포함하는 하는 시스템.
  16. 실행시간동안 데이터처리 시스템내의 복수의 확장슬롯에 메모리를 할당하는 시스템에 있어서,
    핫플러그된 입/출력 어댑터에 의해 요구되는 메모리의 양을 결정하는 제1 수단; 및
    상기 핫플러그된 입/출력 어댑터에 의해 점유된 확장슬롯에 할당된 것보다 더 많은 메모리가 필요하다는 결정에 응답하여, 점유되지 않은 확장슬롯에 할당된 메모리를 상기 핫플러그된 입/출력 어댑터에 의해 점유된 상기 확장슬롯에 재할당하는 제2 수단
    을 포함하는 시스템.
  17. 제16항에 있어서,
    상기 핫플러그된 입/출력 어댑터가 상기 점유되지 않은 확장슬롯으로부터 재할당될 수 있는 것보다 더 많은 메모리 할당을 필요로 한다는 결정에 응답하여, 점유된 확장슬롯에서 이전의 입/출력 어댑터 중 적절한 어댑터를 일시적으로 구성해제하는 제3 수단; 및
    이전의 입/출력 어댑터 중 상기 적절한 어댑터에 대응하는 상기 점유된 확장슬롯으로부터 상기 핫플러그된 입/출력 어댑터에 의해 점유된 상기 확장슬롯으로 메모리를 재할당하는 제4 수단을 더 포함하는 시스템.
  18. 제17항에 있어서,
    상기 데이터처리 시스템을 리부트하는 제5 수단을 더 포함하는 시스템.
  19. 데이터처리 시스템에서 확장슬롯에 메모리를 할당하는 방법에 있어서,
    상기 데이터처리 시스템의 초기화동안,
    복수의 확장슬롯 사이에서 호스트 브리지에 할당된 메모리를 소정의 방식으로 할당하는 단계; 및
    상기 복수의 확장슬롯 중 하나에 접속된 입/출력 어댑터가 상기 복수의 확장슬롯 중 상기 하나에 할당된 것보다 더 많은 메모리를 필요로 한다는 결정에 응답하여, 상기 입/출력 어댑터의 상기 메모리 요구가 충족되도록 상기 복수의 확장슬롯 사이에서 상기 메모리를 재할당하는 단계를 포함하는 방법.
  20. 제19항에 있어서,
    실행시간동안, 새로운 입/출력 어댑터가 상기 복수의 확장슬롯 중 하나로 핫플러그되었다는 결정에 응답하여,
    상기 새로운 입/출력 어댑터의 상기 메모리 요구를 결정하는 단계; 및
    상기 메모리 요구가 상기 새로운 입/출력 어댑터에 의해 점유된 상기 복수의 확장슬롯 중 상기 하나에 할당된 상기 메모리를 초과한다는 결정에 응답하여, 상기 복수의 확장슬롯 중 점유되지 않은 슬롯에 할당된 상기 메모리의 일부를 상기 새로운 입/출력 어댑터에 의해 점유된 상기 복수의 확장슬롯 중 상기 하나로 재할당하는 단계를 더 포함하는 방법.
  21. 제20항에 있어서,
    상기 복수의 확장슬롯 중 점유되지 않은 슬롯들로부터의 메모리 재할당 후에 상기 새로운 입/출력 어댑터에 의해 더 많은 메모리가 필요하다는 결정에 응답하여, 상기 복수의 확장슬롯 중 다른 슬롯들에 접속된 이전의 복수의 어댑터 중 어느 어댑터가 디스에이블(disable)될 수 있는지를 결정하는 단계;
    상기 이전의 복수의 어댑터 중 결정된 어댑터를 디스에이블하는 단계; 및
    상기 이전의 복수의 어댑터 중 상기 결정된 어댑터에 의해 점유된 상기 복수의 확장슬롯 중의 상기 슬롯들로부터 일부 메모리를 상기 새로운 입/출력 어댑터에 의해 점유된 상기 복수의 확장슬롯 중의 상기 하나로 재할당하여, 상기 새로운 입/출력 어댑터에 의해 점유된 상기 복수의 확장슬롯 중 상기 하나에 충분한 메모리가 할당되고 상기 이전의 복수의 입/출력 어댑터 중 상기 결정된 어댑터에 의해 점유된 상기 복수의 확장슬롯 중의 상기 슬롯들에 충분한 메모리가 할당되도록 하는 단계를 더 포함하는 방법.
KR10-2001-0049628A 2000-08-24 2001-08-17 많은 메모리를 필요로 하는 어댑터의 요구를 지원하는메모리 맵 조정 KR100445772B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/645,175 2000-08-24
US09/645,175 US6898686B1 (en) 2000-08-24 2000-08-24 Memory map adjustment to support the need of adapters with large memory requirements

Publications (2)

Publication Number Publication Date
KR20020016516A KR20020016516A (ko) 2002-03-04
KR100445772B1 true KR100445772B1 (ko) 2004-08-25

Family

ID=24587916

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0049628A KR100445772B1 (ko) 2000-08-24 2001-08-17 많은 메모리를 필요로 하는 어댑터의 요구를 지원하는메모리 맵 조정

Country Status (5)

Country Link
US (1) US6898686B1 (ko)
JP (1) JP4272368B2 (ko)
KR (1) KR100445772B1 (ko)
CN (1) CN1190736C (ko)
TW (1) TW541462B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060680B2 (en) * 2002-09-16 2011-11-15 Hewlett-Packard Development Company, L.P. Method of allocating memory
WO2005008497A2 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. Method and system for monitoring a computer system for dynamic reconfiguration
JP4523639B2 (ja) * 2005-03-24 2010-08-11 富士通株式会社 ファームウェアによるメモリエラーアドレス管理
JP2007233534A (ja) * 2006-02-28 2007-09-13 Toshiba Corp 情報処理装置およびメモリアドレス空間割り当て方法
JP5119686B2 (ja) * 2007-03-06 2013-01-16 日本電気株式会社 情報処理装置および設定方法
US9389921B2 (en) * 2008-01-14 2016-07-12 Hewlett Packard Enterprise Development Lp System and method for flexible device driver resource allocation
US8271751B2 (en) 2008-04-24 2012-09-18 Echostar Technologies L.L.C. Systems and methods for reliably managing files in a computer system
US8738621B2 (en) 2009-01-27 2014-05-27 EchoStar Technologies, L.L.C. Systems and methods for managing files on a storage device
JP5540207B2 (ja) * 2011-08-04 2014-07-02 株式会社 日立産業制御ソリューションズ 制御装置
US8769159B2 (en) * 2011-12-14 2014-07-01 National Instruments Corporation Resource reservation for an external device that is not available at startup of a host computer
WO2014020716A1 (ja) * 2012-08-01 2014-02-06 富士通株式会社 情報処理装置、制御方法、制御プログラム、及び同プログラムを記録したコンピュータ読取可能な記録媒体
TWI561986B (en) * 2015-12-21 2016-12-11 Mitac Computing Technology Corp Method for allocating memory resource

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139182A (ja) * 1992-10-27 1994-05-20 Sony Corp 情報処理装置、拡張基板、および拡張筐体システム
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US6094699A (en) 1998-02-13 2000-07-25 Mylex Corporation Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller
JP2000029818A (ja) 1998-07-15 2000-01-28 Canon Inc 情報処理装置及びその制御方法並びに記憶媒体
US6205503B1 (en) * 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6311242B1 (en) * 1998-08-27 2001-10-30 Apple Computer, Inc. Method and apparatus for supporting dynamic insertion and removal of PCI devices

Also Published As

Publication number Publication date
JP4272368B2 (ja) 2009-06-03
TW541462B (en) 2003-07-11
CN1340763A (zh) 2002-03-20
KR20020016516A (ko) 2002-03-04
CN1190736C (zh) 2005-02-23
US6898686B1 (en) 2005-05-24
JP2002140283A (ja) 2002-05-17

Similar Documents

Publication Publication Date Title
US6877158B1 (en) Logical partitioning via hypervisor mediated address translation
US6941436B2 (en) Method and apparatus for managing memory blocks in a logical partitioned data processing system
US7644252B2 (en) Multi-processor system and memory accessing method
JP4123942B2 (ja) 情報処理装置
US6665759B2 (en) Method and apparatus to implement logical partitioning of PCI I/O slots
US6944847B2 (en) Virtualization of input/output devices in a logically partitioned data processing system
US7366798B2 (en) Allocation of differently sized memory address ranges to input/output endpoints in memory mapped input/output fabric based upon determined locations of input/output endpoints
US7134052B2 (en) Autonomic recovery from hardware errors in an input/output fabric
CN100399300C (zh) 用于数据处理的系统和方法和用于分配资源的系统和方法
US7526578B2 (en) Option ROM characterization
KR100445772B1 (ko) 많은 메모리를 필요로 하는 어댑터의 요구를 지원하는메모리 맵 조정
MXPA04011088A (es) Metodo y aparato para asignar y desasignar dinamicamente procesadores en un sistema de procesamiento particionado logico de datos.
US20020124166A1 (en) Mechanism to safely perform system firmware update in logically partitioned (LPAR) machines
US20080276011A1 (en) Structure for option rom characterization
CN112955880B (zh) 用于处理片上系统中的地址解码的装置和方法
CN116382913A (zh) 资源分配装置、方法、电子设备和存储介质
KR100442757B1 (ko) 논리 분할 환경에서의 제어 비트 보호 수단
US20060010276A1 (en) Isolation of input/output adapter direct memory access addressing domains
JP5195756B2 (ja) Pciデバイスのi/o空間要求抑止方法
US7089411B2 (en) Method and apparatus for providing device information during runtime operation of a data processing system
US20030212883A1 (en) Method and apparatus for dynamically managing input/output slots in a logical partitioned data processing system
CN113485789B (zh) 资源配置方法、装置及计算机架构
JP3808058B2 (ja) 複数のホストが圧縮データを記憶するメモリ・セクタの集合を共用できるようにするための装置
US6823375B2 (en) Simultaneous configuration of remote input/output hubs utilizing slave processors in a multi-processor, multi-RIO hub data processing system
US8041851B2 (en) Generic DMA memory space mapping

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
LAPS Lapse due to unpaid annual fee