KR100442757B1 - 논리 분할 환경에서의 제어 비트 보호 수단 - Google Patents

논리 분할 환경에서의 제어 비트 보호 수단 Download PDF

Info

Publication number
KR100442757B1
KR100442757B1 KR10-2001-0068169A KR20010068169A KR100442757B1 KR 100442757 B1 KR100442757 B1 KR 100442757B1 KR 20010068169 A KR20010068169 A KR 20010068169A KR 100442757 B1 KR100442757 B1 KR 100442757B1
Authority
KR
South Korea
Prior art keywords
multifunction device
operating system
address
functions
remapping
Prior art date
Application number
KR10-2001-0068169A
Other languages
English (en)
Other versions
KR20020038479A (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 KR20020038479A publication Critical patent/KR20020038479A/ko
Application granted granted Critical
Publication of KR100442757B1 publication Critical patent/KR100442757B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 다기능 칩 내의 펑션들이 다수의 논리 분할 영역에 걸쳐서 분배되도록 재배치시키고, 이러한 분배 매커니즘의 안전성을 유지시킴으로써 안전한 프로그램가능 어드레싱을 위한 방법, 시스템 및 장치를 제공한다. 일 실시예에서, 본 발명은 개별적인 시스템 펑션들이 할당되는 다수의 오퍼레이팅 시스템 인스턴스(instance)에 연결된 시스템 프로세서를 포함하는 데이터 프로세싱 시스템에 의해 사용된다. 논리 분할법(logic partitioning)을 사용하여, 각각의 오퍼레이팅 시스템 인스턴스의 액세스는 그 자신의 분할 영역으로 제한된다. 시스템 펑션에 대한 어드레스 버스는 오퍼레이팅 시스템 인스턴스에 의해 예측되는 적당한 메모리 위치에서 그 펑션들이 나타나도록 조작된다. 따라서, 오퍼레이팅 시스템 액세스가능성으로부터 안전한 메모리내의 주어진 위치로, 예를 들면 페이지 경계를 벗어난 위치로, 어드레스를 변경하기 위해 이동시키기 위하여 인버터가 어드레스 버스 상에 삽입될 수 있다. 펑션의 제어 영역은 메모리의 안전 영역으로 이동되고, 그 펑션들은 각각의 논리 분할 영역에서 오퍼레이팅 시스템 인스턴스에 의해 예측되는 정상 어드레스 범위로 재매핑(remap)된다.

Description

논리 분할 환경에서의 제어 비트 보호 수단{A means of control bit protection in a logical partition environment}
본 발명은 일반적으로 컴퓨터 아키텍쳐 분야에 관한 것으로, 특히 분배 매커니즘 어드레싱(distribution mechanism addressing)을 보호(safekeeping)하기 위한 방법 및 시스템에 관한 것이다.
본 발명은 모든 PC와 RS6000에서 사용되고 있는 칩과 유사한 슈퍼 I/O 칩을 사용한다. 이러한 컴퓨터 칩은 현재, 메모리 내의 다른 위치로 매핑하는 다수의 디바이스 펑션들을 내부에 가지고 있거나 이 펑션들을 제어하는 다기능(multifunctional) 시스템이다. 이러한 칩들은 다수의 오퍼레이팅 시스템 인스턴스가 예를 들면 논리 분할 옵션(logical partitioning option: LPAR)을 사용하여 동일한 하드웨어 상에서 실행되도록 할 수 있다.
데이터 프로세싱 시스템(플랫폼)내의 논리 분할 옵션(LPAR)은 하나의 오퍼레이팅 시스템(OS)의 다수 사본 또는 복수의 이질 오퍼레이팅 시스템들이 하나의 데이터 프로세싱 시스템 플랫폼상에서 동시에 실행되도록 한다. 오퍼레이팅 시스템 이미지가 실행되는 분할 영역에는 중복되지 않는 플랫폼 자원의 서브셋이 할당된다. 이러한 플랫폼 할당가능(allocable) 자원은 인터럽트(interrupt) 관리 영역, 시스템 메모리 영역 및 입력/출력(I/O) 어댑터 버스 슬롯을 구비하는 하나 이상의 구조적으로 다른 프로세서들을 포함한다. 분할 영역의 자원은 그의 오픈 펌웨어 디바이스 트리에 의해 OS 이미지에 제공된다.
플랫폼 내에서 실행되는 각각의 다른 OS는 하나의 논리 분할 영역 상의 소프트웨어 에러가 임의의 다른 분할 영역의 정상 동작에 영향을 주지 않도록 서로 보호된다. 이는 분리된 플랫폼 자원 세트를 각각의 OS 이미지에 의해 직접 관리되도록 할당하고, 할당되지 않은 임의의 자원들을 다양한 이미지들이 제어할 수 없도록 하는 매커니즘을 제공함으로써 이루어진다. 또한, OS 이미지에 할당된 각각의 자원들은 그 자체로는 임의의 다른 이미지의 자원들에 영향을 주지 않는다.
LPAR은 통상적으로 하나 이상의 오퍼레이팅 시스템 인스턴스가 동일한 하드웨어 부분을 사용하지 못하도록 한다. 그러나, 어떤 시스템에서는, 다기능 디바이스내의 디바이스 자원들이 다수의 논리 분할 영역들 사이에서 분할되어 있어야 한다. 각각의 하드웨어 부분에 액세스하기 위하여, 제어 비트가 사용된다. 이러한 제어 비트들은 일반적으로 그 어드레스가 디바이스에 근접되어 있다. 잘못된 프로세스는 제어 비트에 기록을 행하고, 주어진 위치에서 하드웨어를 찾으려고 하는 다른 오퍼레이팅 시스템에 부정적인 영향을 미칠 수 있다. 그 OS의 하드웨어와 펑션들을 사용할 수 있는 OS의 임의의 이미지는 그 하드웨어 또는 펑션들의 위치 식별에 관여하는 능력을 갖는다. 그러므로, 오퍼레이팅 시스템의 하나의 이미지로부터의 잘못된 동작은 사용가능한 펑션들이 다른 이미지에 액세스되지 못하도록 함으로써 사용가능한 펑션들을 무력화시킬 수 있다. 그러므로, OS (또는 각각의 다른 OS)의 각각의 이미지는 다기능 시스템의 펑션을 위한 분배 매커니즘에 직접 액세스할 수 있다.
현재, LPAR 시스템과 비분할 시스템 모두에서, 펑션의 위치를 찾지 못하면, 그 펑션은 오퍼레이팅 시스템의 모든 이미지에 사용불가능하게 되었다. 하나의 오퍼레이팅 시스템 인스턴스에서의 에러가 다른 오퍼레이팅 시스템 인스턴스에 에러를 발생시키는 것은 바람직하지 않다.
한가지 해결책으로 오퍼레이팅 시스템이 시스템의 완전한 셧다운을 수행하고, 펑션들의 어드레스를 초기화하여 각각의 오퍼레이팅 시스템에 재할당하기 위해 서비스 프로세서에 의존하는 방법이 있었다. 사용자는 임의의 펑션 어드레싱이 무력화될 때마다 시스템을 재부팅하기 위해 대기할 수밖에 없었다. 이러한 방법은, 재부팅이 비교적 빠른 간단한 구조를 가진 사용자 또는 시스템이 항상 사용중일 필요가 없는 사용자에게는 심각한 문제를 발생시키지 않는다. 그러나, 예를 들면, 직렬 기억장치 아키텍쳐(Serial Storage Architecture:SSA)의 다수의 랙(racks) 또는 네크워크된 시스템과 같은 복잡한 구조를 가진 다른 사용자들에게, 펑션 어드레싱을 재할당하고 다시 초기화하는 시스템 재부팅은 상당한 시간을 소비할 것이다. 이러한 시간 경비는 그러한 사용자들에게는 매우 큰 손실이다. 예를 들면, 그 시스템이 책 또는 콤팩트 디스크(CD) 등과 같은 제품의 인터넷 판매 주문을 받는 데에 중요한 웹 서버라면, 불량 I/O 어댑터를 교체하기 위하여 시스템이 차단되는 시간의 각 분(minute)조차 매출에서 수천 달러의 손실로 귀결될 것이다.
그러므로, 본 발명의 목적은 시스템의 전원 차단 또는 재부팅없이 각각의 오퍼레이팅 시스템에 할당된 펑션들의 어드레싱을 보호하기 위한 방법 및 시스템을 제공하는 데 있다.
도 1은 본 발명이 실시되는 데이터 프로세싱 시스템의 블럭도.
도 2는 본 발명에 따른 데이터 프로세싱 시스템에서 서비스 프로세서와 다수의 오퍼레이팅 시스템들 사이의 상호작용(interaction)을 도시한 블럭도.
도 3은 본 발명에 따라, 데이터 프로세싱 시스템 서비스 프로세서와 오퍼레이팅 시스템의 연결을 도시한 블럭도.
도 4는 종래 기술에 따른, 가시(visible) 메모리 공간의 예시적인 메모리 맵을 도시한 도면.
도 5는 종래 기술에 따른, 다기능 디바이스에 대한 어드레스 버스의 통상적인 경로를 도시한 도면.
도 6은 본 발명에 따른 어드레싱 방법을 사용하는 시스템에 대한 가시 메모리 공간의 예시적인 메모리 맵을 도시한 도면.
도 7은 본 발명에 따른, 다기능 디바이스로의 어드레스 버스 경로를 나타내는 블럭도.
<도면의 주요 부분에 대한 부호의 설명>
101,102,103,104: 프로세서 191: 메모리
135,201: 서비스 프로세서 160,161,162,163: 로컬 메모리
114,122,130,140,302: 호스트 브리지
116,117,124,125,132,142,143: PCI-TO-PCI 브리지
120,121,128,129,136: PCI I/O 어댑터
202,203,204,205: 오퍼레이팅 시스템 인스턴스
219,220,221,222,223,224,225,226,227,228,229,230: 디바이스
407: 제어 비트 408: 가시 메모리
501,701: 어드레스 버스 502,702: 다기능 디바이스
본 발명은 다기능 칩 내의 펑션들이 다수의 논리 분할 영역에 걸쳐서 분배되도록 재배치시키고, 이러한 분배 매커니즘의 안전성을 유지시킴으로써 안전한 프로그램가능 어드레싱을 위한 방법, 시스템 및 장치를 제공한다. 일 실시예에서, 본 발명은 개별적인 시스템 펑션들이 할당되는 다수의 오퍼레이팅 시스템 인스턴스에 연결된 시스템 프로세서를 포함하는 데이터 프로세싱 시스템에 의해 사용된다. 논리 분할법(logic partitioning)을 사용하여, 각각의 오퍼레이팅 시스템 인스턴스의 액세스는 그 자신의 분할 영역으로 제한된다. 시스템 펑션에 대한 어드레스 버스는 오퍼레이팅 시스템 인스턴스에 의해 예측되는 적당한 메모리 위치에서 그 펑션들이 나타나도록 조작된다. 따라서, 오퍼레이팅 시스템 액세스가능성으로부터 안전한 메모리내의 주어진 위치로, 예를 들면 페이지 경계를 벗어난 위치로, 어드레스를 변경하기 위해 이동시키기 위하여 인버터가 어드레스 버스상에 삽입될 수 있다. 펑션의 제어 영역은 메모리의 안전 영역으로 이동되고, 그 펑션들은 각각의 논리 분할 영역에서 오퍼레이팅 시스템 인스턴스에 의해 예측되는 정상 어드레스 범위로 재매핑된다.
본 발명의 새로운 특징은 첨부된 청구항에 개시되어 있다. 그러나, 본 발명의 바람직한 실시 모드, 다른 목적 및 이점들은 물론 본 발명 그 자체는 하기의 첨부된 도면을 참조한 예시적인 실시예의 하기의 상세한 설명에 의해 가장 잘 이해될 수 있을 것이다.
이제 도면을 참조하면, 특히 도 1을 참조하면, 본 발명이 실시되는 데이터 프로세싱 시스템의 블럭도가 도시된다. 데이터 프로세싱 시스템(100)은 시스템 버스(106)에 연결된 다수의 프로세서들(101,102,103,104)을 포함하는 SMP(symmetric multiprocessor) 시스템이다. 예를 들면, 데이터 프로세싱 시스템(100)은 뉴욕주 알몽크에 소재한 IBM 주식회사(International Business Machines Corporation)의 제품인 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 어댑터들(즉, 애드-인 커넥터용의 확장 슬롯) 간을 지원한다. 각각의 I/O 어댑터(120-121)는 예를 들면 데이터 프로세싱 시스템(100)의 클라이언트인 다른 네트워크 컴퓨터와 같은 입력/출력 디바이스와 데이터 프로세싱 시스템(100) 사이에 인터페이스를 제공한다.
부가적인 PCI 호스트 브리지(122)는 부가적인 PCI 버스(123)에 대한 인터페이스를 제공한다. PCI 버스(123)는 PCI 버스들(126-127) 각각에 의해 PCI I/O 어댑터들(128-129)에 각각 차례로 연결된 다수의 PCI-to-PCI 브리지(124-125)에 연결된다. 그러므로, 예를 들면 모뎀 또는 네트워크 어댑터와 같은 부가적인 I/O 디바이스가 각각의 PCI I/O 어댑터(128-129)를 통해 지원된다. 이러한 방식으로, 데이터 프로세싱 시스템(100)이 다수의 네트워크 컴퓨터에 접속한다. PCI-to-PCI 브리지(116-117,124-125,142-143,132)는 각각 하나의 I/O 어댑터에 연결된다.
메모리 매핑형 그래픽 어댑터(148)는 도시된 바와 같이 PCI 호스트 브리지(140)와 PCI-to-PCI 브리지(142)를 통해 PCI 버스(141,144)를 경유하여 I/O 버스(112)에 연결된다. 하드 디스크(150)도 또한 도시된 바와 같이 PCI 호스트 브리지(140)와 PCI-to-PCI 브리지(142)를 통해 PCI 버스(141,145)를 경유하여 I/O 버스(112)에 연결된다.
PCI 호스트 브리지(130)는 PCI 버스(131)를 I/O 버스(112)에 연결시키기 위한 인터페이스를 제공한다. PCI 버스(131)는 PCI 호스트 브리지(130)를 서비스 프로세서 메일박스 인터페이스 및 ISA 버스 액세스 경로 논리 회로(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/스캔 버스(IEEE 1149.1 참조)와 필립스 I2C 버스의 결합물이다. 그러나, 대안적으로, JTAG/I2C 버스(134)는 하나의 필립스 I2C 버스 또는 하나의 JTAG/스캔 버스로 교체될 수도 있다. 호스트 프로세서(101,102,103,104)의 모든 SP-ATTN 신호는 서비스 프로세서의 인터럽트 입력 신호에 함께 연결된다. 서비스 프로세서(135)는 그 자신의 로컬 메모리(191)를 가지며, 하드웨어 op-패널(190)에 액세스한다. 서비스 프로세서(135)는 데이터 프로세싱 시스템(100)내의 모든 감시 아이템에 관한 에러 정보를 저장하고 보고할 책임이 있다. 서비스 프로세서(135)는 또한 에러 타입과 규정된 임계값에 따라 동작을 취한다.
관련 기술분야의 당업자들은 도 1에 도시된 하드웨어가 변경될 수 있다는 것을 이해할 수 있을 것이다. 예를 들면, 광학 디스크 드라이브 등과 같은 다른 주변 디바이스들도 또한 도 1에 도시된 하드웨어에 부가하여 또는 그 대신에 사용될 수 있다. 상기 제시된 예는 본 발명의 구조를 제한하려는 의도는 아니다.
이제 도 2를 참조하면, 본 발명에 따라, 데이터 프로세싱 시스템내의 서비스 프로세서와 다수의 오퍼레이팅 시스템 사이의 상호작용을 나타내는 블럭도가 도시되어 있다. 데이터 프로세싱 시스템(200)은 예를 들면 도 1의 데이터 프로세싱 시스템(100)과 동일하게 동작된다. 서비스 프로세서(102)는 예를 들면 도 1의 서비스 프로세서(135)와 동일하게 동작된다. 서비스 프로세서(201)는 다수의 오퍼레이팅 시스템 인스턴스(202-205)를 포함하는 데이터 프로세싱 시스템(200)을 초기화한다. 서비스 프로세서(201)는 각각의 오퍼레이팅 시스템 인스턴스(202-205)를 초기화하여 메모리에 로드한 후, 그 시스템을 감시한다. 어떤 프로세서가 정지하면, 서비스 프로세서(201)는 그것을 질문한다. 서비스 프로세스(201)는 또한 데이터 프로세싱 시스템(200)의 온도를 유지하기 위하여 팬(fan)을 관리한다. 서비스 프로세서(201)는 디바이스(219-230)에 액세스하지 않는다. 서비스 프로세서(201)는 데이터 프로세싱 시스템(200)에 반드시 필요하지는 않으며, 서비스 프로세서(201) 대신에 스위치, 오퍼레이팅 시스템의 정상 동작(well-behaved) 또는 특권적(privileged) 사본 또는 외부 제어 시스템이 사용될 수도 있다. 이 실시예에서는, 서비스 프로세서가 시스템(200)을 초기화한 후, 디바이스(219-230)로부터 그들 각각의 집합(collection)에 액세스하는 각각의 오퍼레이팅 시스템인스턴스(202-205)에 제어 신호를 전달한다. 오퍼레이팅 시스템 인스턴스(202-205)의 개수는 0으로부터, 데이터 프로세싱 시스템(200)의 특정한 요구에 의해서만 제한되는 상위 제한값까지 변화될 수 있다.
이 실시예는 논리 분할법을 사용하여 오퍼레이팅 시스템 인스턴스(202-205)를 배열한다. LPAR 시스템내에서, 오퍼레이팅 시스템 인스턴스(202)와 같은 오퍼레이팅 시스템 인스턴스는 어떤 펑션에는 액세스하지만 나머지 오퍼레이팅 시스템 인스턴스들(203-205)과 그 펑션들을 공유하지는 못한다. 이 실시예에서, 오퍼레이팅 시스템 인스턴스(202-205)가 액세스하는 펑션의 일 예는 디바이스(219-205)와 같은 디바이스이다. 각각의 단일 디바이스(219-230)는 그의 할당된 다수의 오퍼레이팅 시스템 인스턴스들(202-205) 사이에서 배타적으로 배분된다. 오퍼레이팅 시스템 인스턴스(202)는 디바이스(219-222)에 대한 배타적 액세스를 가지며, 오퍼레이팅 시스템(203)은 디바이스(223,224)에 대한 배타적 액세스를 가지고, 오퍼레이팅 시스템 인스턴스(204)는 디바이스(225-227)에 대한 배타적 액세스를 가지며, 오퍼레이팅 시스템 인스턴스(205)는 디바이스(228-230)에 대한 배타적 액세스를 갖는다.
이제 도 3을 참조하면, 본 발명에 따라, 데이터 프로세싱 시스템 서비스 프로세서와 오퍼레이팅 시스템을 연결한 블럭도가 도시되어 있다. 시스템 서비스 프로세서(301)는 예를 들면 도 2의 서비스 프로세서(201)로 실시될 수 있다. 이 실시예에서, PCI 호스트 브리지(302)는 예를 들면 도 2의 오퍼레이팅 시스템 인스턴스(202-205)와 같은 어떤 오퍼레이팅 시스템 인스턴스의 기억장치에 서비스 프로세서 시스템(301)을 연결하기 위하여 사용된다. PCI 호스트 브리지는 브리지(303)에 연결된다. 브리지(303)의 접속부(304,305)는 둘다, 도 4에 도시된 바와 같이, 디바이스(219-222)의 어드레스가 존재하는 장소를 지시하는 베이스 어드레스 레지스터를 포함한다. 베이스 어드레스 레지스터는 메모리내의 디바이스의 시작 어드레스 위치와, 메모리내에서 그 위치에 사용가능한 오퍼레이팅 시스템 인스턴스의 공간의 전체 사이즈를 저장한다. 이러한 값들은 제어 비트가 적어도 주어진 사이즈만큼 그 시작 위치를 지나서 이동되도록 하는 데에 중요하다.
이제 도 4를 참조하면, 종래 기술에 따른, 가시 메모리 공간의 예시적인 메모리 맵이 도시되어 있다. 접속부(304,305)에 포함된 베이스 어드레스 레지스터에 의해 경계지어진 영역은 이를 가시 메모리 공간으로 규정한 오퍼레이팅 시스템 인스턴스에게 모두 가시적이다. 메모리 맵(400)은 각각의 오퍼레이팅 시스템 인스턴스(202)의 디바이스(219-222)에 대한 어드레스 영역(401-404)을 포함한다. 어드레스 영역(405)은 디바이스(219-222)의 어드레스 영역(401-404)을 포함하고 지정하는 기억장치 영역이며, 분배 매커니즘으로 명명한다. 이 실시예에서, 이러한 기억장치 영역 또는 분배 매커니즘은 디바이스(219-222)의 제어 비트(407)를 사용한다. 각각의 오퍼레이팅 시스템 인스턴스(202-205)는 예를 들면, 오퍼레이팅 시스템 인스턴스(202)의 경우에 제어 비트(407)와 같이, 저장된 어드레스들의 집합에 액세스한다.
그러므로, 서비스 프로세서(201)가 디바이스(222)의 어드레스를 다시 초기화하고 그 어드레싱 지식을 오퍼레이팅 시스템 인스턴스(202)에 복원할 때까지 예를들면 하나의 오퍼레이팅 시스템 인스턴스(202)는 디바이스(222)의 액세스가능성을 차단하고 모든 오퍼레이팅 시스템 인스턴스(202-205)가 디바이스(222)를 사용하는 것을 막을 수 있다. 종래 기술에서는, 서비스 프로세서(201)가 제어 비트(407)의 어떤 오류 영역에 디바이스(222)의 어드레스를 기록함으로써 어드레스 지식을 복원하였다.
도 5는 종래 기술에 따른, 다기능 디바이스에 대한 어드레스 버스의 통상적인 경로를 도시한다. 제어 비트(407)내에 저장된 어드레스는 변경없이 도 5에 도시된 바와 같이 어드레스 버스(501)를 통해 다기능 디바이스(502)로 보내진다. 어드레스 버스는 그 어드레스를 변경하지 않고 디바이스 어드레스를 다기능 디바이스에 전달한다. 다수의 오퍼레이팅 시스템은 하나의 엔티티(entity)에 액세스할 수 있으며 다기능 디바이스는 오퍼레이팅 시스템들 사이에서 분할되어 있다. 그러므로, 모든 오퍼레이팅 시스템 인스턴스는 각각의 디바이스의 제어 비트를 변경하기 위하여 직접 액세스하므로 서비스 프로세서(201)가 시스템을 재부팅할 때까지 어떤 시스템 인스턴스도 그 디바이스를 사용할 수 없다.
이제 도 6을 참조하면, 본 발명의 어드레싱 방법을 사용하는 시스템에 대한 가시 메모리 공간의 예시적인 메모리 맵이 도시되어 있다. 도 6에 도시된 바와 같이, 본 발명은 도 4의 가시 메모리(408)를 도 6의 가시 메모리(608)로 교체하였다. 차이점은 오퍼레이팅 시스템 인스턴스(202)가 그의 디바이스(219-222)에 대한 어드레스를 저장하는 제어 비트(607)에 더이상 액세스할 수 없다는 것이다. 각각의 다른 오퍼레이팅 시스템 인스턴스(203-205)는 도 6에 도시된 것과 유사한 가시 메모리(608)를 공유한다. 다기능 환경에서 오퍼레이팅 시스템 인스턴스(202-205)에 의해 디바이스들이 손실되는 것을 방지하기 위하여, 제어 비트(407)는 그 밖의 다른 시스템 인스턴스(203-205)의 가시 범위 외부로 이동된다. 제어 비트 및 디바이스는 초기화하는 경우에만 동일한 메모리 맵에 액세스가능한데, 이 때 초기화는 선택된 어드레스 비트를 반전시키는 서비스 프로세서에 의한 초기화이다.
종래 기술에서, 오퍼레이팅 시스템 인스턴스(202)는 도 3의 접속부(304,305)에 포함된 그의 베이스 어드레스 레지스터내에 저장된 할당된 사이즈를 갖는 어드레스 영역(401-404)내의 각각의 메모리 위치에 액세스하였다. 일 실시예에 따르면, 각각의 오퍼레이팅 시스템 인스턴스의 할당된 사이즈는 한 페이지(page) 또는 4096 비트로 가정되지만, 각각의 오퍼레이팅 시스템 인스턴스의 할당 메모리는 반드시 4096 비트일 필요는 없으며 심지어 동일한 사이즈일 필요도 없다.
이제 도 7을 참조하면, 본 발명에 따른, 다기능 디바이스(702)로의 어드레스 버스(701) 경로를 나타내는 블럭도가 도시되어 있다. Ax는 반전되도록 선택되었던 다수의 어드레스 비트를 나타낸다. B는 exclusive-or 게이트(705)에 대한 인에이블러(enabler)를 나타낸다. 신호 B를 포함한 어드레스 비트 또는 비트들 Ax를 반전시키면 모든 오퍼레이팅 시스템 인스턴스가 제어 비트에 액세스하는 것이 불가능하게 된다. Axbar는 반전된 Ax를 나타내고 라인(704)은 다기능 디바이스로의 어드레스 버스 상에서 어드레스 비트로 역으로 정렬된 Axbar를 나타낸다. 제어 비트(407)는 반전된 어드레스 비트 또는 비트들 Ax와 일치하도록 수정되고, 오퍼레이팅 시스템 인스턴스는 디바이스들을 탐색하기 위해 처음에 예측된 것과 동일한어드레스를 보낼 것이다.
이 실시예에서, 오퍼레이팅 시스템 인스턴스(202)의 디바이스(219) 어드레스는 어드레스 버스(701)를 통해 전송되고 있다. 하나의 비트 Ax는 인버터(705)를 통해 전송되어 Axbar가 된다. 예를 들면 인버터(705)와 같은 인버터는 칩 그 자체에 대해 3 또는 4 비트인 칩 선택 전에 어드레스 버스(701) 상에 있다. 인버터(705)는 exclusive-or 게이트이다. 이 exclusive-or 게이트는 상기 비트를 not 게이트와 유사한 방식으로 동작하는 인에이블 신호 B, '1'와 비교한다. 인버터(705)에서 나온 후에, Axbar는 어드레스 버스(701)를 지나 전송된 다른 어드레스 비트와 재결합되어 다기능 디바이스(702)내에서의 디바이스(219)의 위치를 식별한다.
예를 들면, 인버터(705)와 같은 다른 인버터들은, 다른 오퍼레이팅 시스템 인스턴스의 오류로부터 디바이스의 제어 비트를 보호하기 위해, 반전된 비트를 가진 마지막 어드레스가 오퍼레이팅 시스템 인스턴스의 가시 영역을 벗어나는 한 필요하면, 다른 비트들을 반전시키기 위해 어드레스 버스(701)를 분기시킬 수 있다. 예를 들면, 페이지 사이즈가 4096 비트이며, 이는 12개의 어드레스 비트를 필요로 한다고 가정한다. 도 4에서와 같은 디바이스의 매핑은 오퍼레이팅 시스템 인스턴스가 그 디바이스를 발견할 것으로 예상하는 장소이다. 예를 들면, 각각의 오퍼레이팅 시스템 인스턴스의 범위가 한 페이지 사이즈이면, 그 페이지 사이즈를 벗어나도록 제어 비트를 반전시키는 것은 오퍼레이팅 시스템 인스턴스가 디바이스가 현재 존재한다고 추정되는 영역에 액세스할 수 없게 한다.
오퍼레이팅 시스템의 인스턴스와 관련된 모든 것들은 직렬 포트, USB 적외선 포트, 이더넷, 산업 표준 구조 버스, 비휘발성 메모리와 같은 인터페이스를 통해 제어가능하며, 임의의 다른 I/O 펑션도 시스템 콘솔과 같은 오퍼레이팅 시스템과 통신한다. 본 실시예에서는 직렬 포트가 오퍼레이팅 시스템 인스턴스와 기본적인 통신을 행한다. 개시된 실시예에서는, 4개의 ASYNC 비동기 통신 포트가 사용된다.
본 발명이 상기 설명에서는 완전히 기능하는 데이터 프로세싱 시스템으로 기재되었지만, 관련 기술 분야의 당업자들은, 본 발명의 프로세스가 컴퓨터 판독가능 매체의 명령 형태와 다양한 형태들에 사용될 수 있으며, 본 발명은 그 실행을 위해 실제적으로 사용되는 특정한 타입의 신호 유지 미디어와 관계없이 동등하게 적용된다는 것을 이해할 수 있을 것이다. 컴퓨터 판독가능 미디어의 예는 플로피 디스크, 하드 디스크 드라이브, RAM 및 CD-ROM과 같은 기록가능형 미디어와, 디지탈 및 아날로그 통신 링크와 같은 전송형 미디어를 포함한다.
본 발명의 설명은 예시와 설명을 목적으로 제공되었으며 본 발명을 개시된 형태로 제한하려는 의도는 아니다. 관련 기술 분야의 당업자들에 의해 다양한 수정 및 변경이 가능하다. 본 실시예는 본 발명의 이론을 실제로 적용할때 최적으로 설명하기 위해 선택되어 설명된 것이며, 관련 기술분야의 당업자들은 특정한 응용을 위해 본 발명을 다양하게 변경한 다양한 실시예를 사용할 수 있음을 이해할 수 있을 것이다.
상기 설명된 바와 같이, 본 발명에 따르면, 시스템의 전원 차단 또는 재부팅없이 각각의 오퍼레이팅 시스템에 할당된 펑션들의 어드레싱을 보호할 수 있다.

Claims (16)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 다기능 디바이스의 제어 영역의 변경을 감소시키기 위한 방법에 있어서,
    다기능 디바이스의 상기 제어 영역을 다른 컴퓨터 프로그램에 의해 액세스되지 않는 안전한 영역으로 이동시키는 단계와,
    상기 다기능 디바이스의 내부 펑션들을 각각의 논리 분할 영역들에서 상기 컴퓨터 프로그램에 의해 예측되는 정상 어드레스 범위로 재매핑시키는(remapping)단계
    를 포함하는 방법.
  5. 제 4 항에 있어서, 상기 다기능 디바이스의 어드레스 버스상에 인버터를 삽입시킴으로써 상기 다기능 디바이스의 상기 내부 펑션들을 재매핑시키는 단계를 더 포함하는 방법.
  6. 제 5 항에 있어서, 프로그램가능 인버터가 임의의 오퍼레이팅 환경 및 초기화 주파수에 따라 변경될 수 있도록 상기 프로그램가능 인버터를 상기 다기능 디바이스의 어드레스 버스 상에 삽입시킴으로써 상기 다기능 디바이스의 내부 펑션들을 재매핑하는 단계를 더 포함하는 방법.
  7. 삭제
  8. 삭제
  9. 다기능 디바이스의 제어영역의 변경을 감소시키기 위하여 데이터 프로그세싱 시스템에 사용하기 위한 프로그램 명령어가 저장된 컴퓨터 판독가능한 기록매체에 있어서,
    다기능 디바이스의 상기 제어 영역을 다른 컴퓨터 프로그램에 의해 액세스되지 않는 영역으로 이동시키기 위한 제 1 명령과,
    상기 다기능 디바이스의 내부 펑션들을 각각의 논리 분할 영역들에서 상기 컴퓨터 프로그램에 의해 예측되는 정상 어드레스 범위로 재매핑시키기 위한 제 2 명령
    을 포함하는 컴퓨터 판독가능한 기록매체.
  10. 제 9 항에 있어서,
    상기 다기능 디바이스의 어드레스 버스상에 인버터를 삽입시킴으로써 상기 다기능 디바이스의 상기 내부 펑션들을 재매핑시키기 위한 제 3 명령을 더 포함하는 컴퓨터 판독가능한 기록매체.
  11. 제 10 항에 있어서,
    상기 프로그램가능 인버터가 임의의 오퍼레이팅 환경 및 초기화 주파수에 따라 변화될 수 있도록 상기 프로그램가능 인버터를 상기 다기능 디바이스의 어드레스 버스 상에 삽입시킴으로써 상기 다기능 디바이스의 내부 펑션들을 재매핑하기 위한 제 4 명령을 더 포함하는 컴퓨터 판독가능한 기록매체.
  12. 삭제
  13. 삭제
  14. 다기능 디바이스의 제어 영역의 변경을 감소시키기 위한 시스템에 있어서,
    다기능 디바이스의 상기 제어 영역을 다른 컴퓨터 프로그램에 의해 액세스되지 않는 영역으로 이동시키기 위한 제 1 수단과,
    상기 다기능 디바이스의 내부 펑션들을 각각의 논리 분할 영역들에서 상기 컴퓨터 프로그램에 의해 예측되는 정상 어드레스 범위로 재매핑시키기 위한 제 2 수단
    을 포함하는 시스템.
  15. 제 14 항에 있어서,
    상기 다기능 디바이스의 어드레스 버스 상에 인버터를 삽입함으로써 상기 다기능 디바이스의 내부 펑션들을 재매핑시키기 위한 제 3 수단을 더 포함하는 시스템.
  16. 제 15 항에 있어서, 프로그램가능 인버터가 임의의 오퍼레이팅 환경 및 초기화 주파수에 따라 변경될 수 있도록 상기 프로그램가능 인버터를 상기 다기능 디바이스의 어드레스 버스 상에 삽입시킴으로써 상기 다기능 디바이스의 내부 펑션들을 재매핑하기 위한 제 4 수단을 더 포함하는 시스템.
KR10-2001-0068169A 2000-11-16 2001-11-02 논리 분할 환경에서의 제어 비트 보호 수단 KR100442757B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/714,732 2000-11-16
US09/714,732 US6751679B1 (en) 2000-11-16 2000-11-16 Means of control bit protection in a logical partition environment

Publications (2)

Publication Number Publication Date
KR20020038479A KR20020038479A (ko) 2002-05-23
KR100442757B1 true KR100442757B1 (ko) 2004-08-02

Family

ID=32393843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0068169A KR100442757B1 (ko) 2000-11-16 2001-11-02 논리 분할 환경에서의 제어 비트 보호 수단

Country Status (2)

Country Link
US (2) US6751679B1 (ko)
KR (1) KR100442757B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103745B2 (en) * 2002-10-17 2006-09-05 Wind River Systems, Inc. Two-level operating system architecture
US20080147931A1 (en) * 2006-10-17 2008-06-19 Smart Modular Technologies, Inc. Data striping to flash memory
US7424601B2 (en) * 2004-07-07 2008-09-09 Yongyong Xu Methods and systems for running multiple operating systems in a single mobile device
JP4788124B2 (ja) 2004-09-16 2011-10-05 株式会社日立製作所 データ処理システム
US7437546B2 (en) 2005-08-03 2008-10-14 Intel Corporation Multiple, cooperating operating systems (OS) platform system and method
US7845005B2 (en) * 2006-02-07 2010-11-30 International Business Machines Corporation Method for preventing malicious software installation on an internet-connected computer
US8661265B1 (en) 2006-06-29 2014-02-25 David Dunn Processor modifications to increase computer system security
US7925815B1 (en) * 2006-06-29 2011-04-12 David Dunn Modifications to increase computer system security
US8856781B2 (en) * 2006-09-14 2014-10-07 Intel Corporation Method and apparatus for supporting assignment of devices of virtual machines
WO2014177905A1 (en) * 2013-04-30 2014-11-06 Freescale Semiconductor, Inc. Device having a security module
US9639478B2 (en) 2014-01-17 2017-05-02 International Business Machines Corporation Controlling direct memory access page mappings
US10049216B2 (en) 2014-02-06 2018-08-14 Intel Corporation Media protection policy enforcement for multiple-operating-system environments
US11579925B2 (en) 2019-09-05 2023-02-14 Nvidia Corporation Techniques for reconfiguring partitions in a parallel processing system
US11249905B2 (en) 2019-09-05 2022-02-15 Nvidia Corporation Techniques for configuring a processor to function as multiple, separate processors
US11893423B2 (en) 2019-09-05 2024-02-06 Nvidia Corporation Techniques for configuring a processor to function as multiple, separate processors
US11663036B2 (en) * 2019-09-05 2023-05-30 Nvidia Corporation Techniques for configuring a processor to function as multiple, separate processors

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69113181T2 (de) * 1990-08-31 1996-05-02 Ibm Verfahren und Gerät zur Querteilungssteuerung in einer verteilten Verarbeitungsumgebung.
US5987581A (en) * 1997-04-02 1999-11-16 Intel Corporation Configurable address line inverter for remapping memory
US6542926B2 (en) * 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US20020016891A1 (en) * 1998-06-10 2002-02-07 Karen L. Noel Method and apparatus for reconfiguring memory in a multiprcessor system with shared memory
US6684343B1 (en) * 2000-04-29 2004-01-27 Hewlett-Packard Development Company, Lp. Managing operations of a computer system having a plurality of partitions
US6973517B1 (en) * 2000-08-31 2005-12-06 Hewlett-Packard Development Company, L.P. Partition formation using microprocessors in a multiprocessor computer system

Also Published As

Publication number Publication date
US7272671B2 (en) 2007-09-18
US6751679B1 (en) 2004-06-15
US20050177650A1 (en) 2005-08-11
KR20020038479A (ko) 2002-05-23

Similar Documents

Publication Publication Date Title
KR100442757B1 (ko) 논리 분할 환경에서의 제어 비트 보호 수단
JP4157710B2 (ja) Pci入出力スロットの論理分割を実施する方法および装置
CN101236529B (zh) 用于访问分区系统中的存储器的方法和设备
CN102016800B (zh) 将多逻辑分区对接到自虚拟输入/输出设备的方法和系统
CN101165676B (zh) 隔离数据处理系统的多个输入/输出适配器单元的方法和系统
CN100410912C (zh) 从一个设备驱动程序向另一个传送信息的系统和方法
US6877158B1 (en) Logical partitioning via hypervisor mediated address translation
KR100992034B1 (ko) 동적 논리적 파티션 기능을 갖는 컴퓨팅 환경에서의 컴퓨터메모리 관리
US7549090B2 (en) Autonomic recovery from hardware errors in an input/output fabric
US8850098B2 (en) Direct memory access (DMA) address translation between peer input/output (I/O) devices
US7526578B2 (en) Option ROM characterization
US20070097949A1 (en) Method using a master node to control I/O fabric configuration in a multi-host environment
EP1769348A1 (en) Accessing a memory in a logical partition
US7873754B2 (en) Structure for option ROM characterization
US8255639B2 (en) Partition transparent correctable error handling in a logically partitioned computer system
US20180059974A1 (en) Safe physical function passthrough using virtual machine functions
JP4366336B2 (ja) 論理パーティション・データ処理システムにおいてトレース・データを管理するための方法、トレース・データを管理するための論理パーティション・データ処理システム、コンピュータにトレース・データを管理させるためのコンピュータ・プログラム、論理パーティション・データ処理システム
US20060010276A1 (en) Isolation of input/output adapter direct memory access addressing domains
KR100264636B1 (ko) 컴퓨터시스템내에서버스어드레스를동적으로변환하기위한방법및시스템
US6802063B1 (en) 64-bit open firmware implementation and associated api
KR100445772B1 (ko) 많은 메모리를 필요로 하는 어댑터의 요구를 지원하는메모리 맵 조정
US20050223127A1 (en) Logical memory tags for redirected DMA operations
JP2007299400A (ja) ランタイム・メモリー実行可能分離のための方法、コンピュータ・プログラム、及びデータ処理システム(ランタイム・メモリー実行可能分離のための方法及び装置)
US20080168207A1 (en) I/O Adapter LPAR Isolation In A Hypertransport Envikronment Employing A Content Addressable Memory
US20060010277A1 (en) Isolation of input/output adapter interrupt domains

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

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee