KR20010007006A - 버스 접속 유닛 id에 대해 메모리로의 액세스를선택적으로 제한하는 시스템 및 방법 - Google Patents

버스 접속 유닛 id에 대해 메모리로의 액세스를선택적으로 제한하는 시스템 및 방법 Download PDF

Info

Publication number
KR20010007006A
KR20010007006A KR1020000021223A KR20000021223A KR20010007006A KR 20010007006 A KR20010007006 A KR 20010007006A KR 1020000021223 A KR1020000021223 A KR 1020000021223A KR 20000021223 A KR20000021223 A KR 20000021223A KR 20010007006 A KR20010007006 A KR 20010007006A
Authority
KR
South Korea
Prior art keywords
bus
address
adapter
memory
register
Prior art date
Application number
KR1020000021223A
Other languages
English (en)
Other versions
KR100327652B1 (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 KR20010007006A publication Critical patent/KR20010007006A/ko
Application granted granted Critical
Publication of KR100327652B1 publication Critical patent/KR100327652B1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Storage Device Security (AREA)

Abstract

공유 메모리에 대한 액세스를 선택적으로 제한하는 방법 및 장치가 공유 메모리에 복수개의 유닛을 접속할 수 있는 적어도 하나의 버스를 갖는 컴퓨터 네트워크 시스템에 제공된다. 제1 어댑터 유닛은 공유 메모리에 액세스하기 위해 버스상의 제1 어드레스를 초기화하며, 이 어댑터 유닛은 이 버스를 제어한다. 어댑터 어드레스를 유닛 ID와 연관시키기 위해 어댑터 및 버스와의 통신을 처리하는 ID 회로가 추가로 제공되며, 이 회로 ID는 제1 ID가 상기 버스를 제어하는 제1 어댑터에 속해 있을 때를 검출할 수 있다. 메모리 제어 유닛은 상기 공유 메모리에 액세스하는 데에 제1 어드레스를 사용하도록 버스에 접속된다. 어드레스 체커 회로는 버스와의 통신을 처리하기 위해 제공된다. 이 어드레스 체커 회로는 제2 어드레스를 제2 어댑터 ID에 연관시킬 수 있다. 에러 발생기는 제1 어드레스 및 제1 어댑터 ID의 값을 제2 어드레스 및 제2 어댑터 ID의 값과 상호 비교하여 그 값들이 일치할 때 에러 표시기를 동작시키기 위해 제공된다.

Description

버스 접속 유닛 ID에 대해 메모리로의 액세스를 선택적으로 제한하는 시스템 및 방법{SYSTEM AND METHOD FOR SELECTIVELY RESTRICTING ACCESS TO MEMORY FOR BUS ATTACHED UNIT IDs}
본 발명은 일반적으로 공유 메모리를 갖는 컴퓨터 시스템에 관한 것으로, 특히 공통 물리적 메모리를 사용하는 2개 이상의 버스 어댑터에 대해 시큐어리티(security), 신뢰성, 복구성 및 데이터 무결성을 요구하는 컴퓨터 시스템에 관한 것이다.
통상적인 서버 시스템은 데이타에 대한 연결성 및 고속 액세스를 제공하기 위해 다양한 어댑터에 접속될 필요가 있다. 이러한 접속을 위한 하나의 일반적인 수단은 PCI(Peripheral Component Interconnect) 버스와 같은 로컬 버스를 통해 접속하는 것이다. PCI 버스는 단일 버스상의 다중 어댑터를 지원하고 고속 데이터 전송 능력을 갖는다. 데이터에 대한 네트워크 연결성 또는 고속 액세스를 위해 예시적인 어댑터가 제공된다. 하나의 어댑터는 피브리 채널(Fibre Channel)과 연결되고, 다른 어댑터는 (IBM) ESCON과 연결된다. 또한, 이 어댑터는 관련 기술 분야에서 공지되어 있는 DASD 기억 장치, 네트워크 스위치 또는 다른 장치에도 연결된다. 다양한 어댑터 기능이 시스템 요구 조건을 최대한 충족시키도록 선택될 수 있기 때문에, 이러한 어댑터의 로컬 버스(이 예에서 PCI) 접속은 시스템 구성에서 유연성을 제공한다. 이러한 어댑터는 정상적으로는 플러그 에이블 모듈(plug able modules) 또는 카드이지만, 어떤 어댑터는 시스템에 "하드와이어드"될 수도 있고 관련 기술 분야에서 공지된 바와 같이 접속된 케이블일 수도 있다.
데이타에 대한 네트워크 연결성 또는 고속 액세스를 제공하는 다중 어댑터(피브리 채널, ESCON 등과 같은 기억 장치 연결부)가 PCI 버스를 통해 로컬 메모리와 함께 프로세서에 접속되어 있는 구성을 생각해 보자. 이러한 PCI 기준 어댑터는 컴퓨터 판매 회사에서 대량 제조된 오프 더 셀프 펌웨어(off-the-shelf firmware)이거나, 또는 펌웨어 구성을 위해 설계된 주문형일 수도 있다. 통상적인 서버 시스템은 데이터에 대한 연결성 및 고속 액세스를 제공하기 위해 다양한 어댑터에 접속될 필요가 있다. 이러한 접속을 위한 하나의 일반적인 수단은 PCI 버스와 같은 로컬 버스를 사용하는 것이다. PCI 버스는 단일 버스상의 다중 어댑터를 지원하고, 고속 데이터 전송 능력을 갖는다.
PCI 기준 소자가 표준에 부합하도록 설계되었더라도, 시스템내의 다른 소자들 또는 코드내의 버그들 사이의 비호환성 때문에 PCI 버스가 행(hang)되는 경우가 자주 발생한다. 그러한 경우가 발생하면, 버스가 현재 모든 에이전트에 액세스할 수 없기 때문에, 버스를 통과하는 데이터 전송이 정지되게 된다. 또한, 동작을 재개시키는 한가지 신뢰성있는 방법은 PCI RST# (리셋) 신호를 표명(assert)하는 것인데, 이 방법은 PCI 에이전트 내의 모든 트랩된 에러 정보를 리셋시키는 바람직하지 않은 결과를 낳는다. 그러므로, 디버그를 돕기 위한 정보는 거의 없으며, 그러한 상황에서도 적당한 복구성이 없으므로 신뢰성은 거의 없다.
통상적으로, 프로세서 프로그램(소프트웨어)은 PCI 시스템의 메모리 맵을 분할하고 메모리를 버스상의 각각의 유닛에 또는 어댑터에 할당한다. 그러므로, 프로세서 복합 유닛의 로컬 데이터 기억 장치(LDS)는 다른 영역을 가질 수 있다. 제1 영역은 모든 유닛에 액세스가능한 사용자 영역이다. 제2 영역은 제1 유닛의 배타적 사용을 위한 것이다. 메모리 맵은 이러한 영역의 임의의 결합을 포함한다. 이 LDS 내의 하나의 중요한 배타적 사용 영역은 프로세서 복합 유닛의 배타적 사용을 위해 예약된 메모리일 것이다. 이것은 프로세서가 에러 상황으로부터의 복구를 위해 사용되는 코드를 가능한 포함하여 실행될 코드를 저장하는 영역이다.
보호되는 영역에 대한 액세스가 허가되도록 규정되어 있는 버스상의 어댑터/유닛만이 메모리 영역에 기록할 수 있도록 어떤 메모리 영역을 보호할 필요가 있다. 이러한 보호가 없다면, (마이크로코드 또는 하드웨어 고장에 의한) 잘못된 어댑터가 메모리의 키(key) 영역을 폐기하고 그 키 영역을 손상시켜 시스템에 예측할 수 없는 영향을 줄 수 있다. 예를 들면, 버스상의 잘못된 LAN 어댑터는 메모리 영역에 어떤 복구 경로를 겹쳐 쓸수 있는데, 프로세서 복합 유닛이 이 경로를 저장하고 있다. 시스템내의 연속적인 복구 동작은 실패할 수 있으며 예측하지 못한 결과를 초래할 수도 있다.
상기 예에서 설명된 바와 같이, 다른 예에서도, PCI 어드레스 맵의 구성은 액세스가 프로세서에만 제한되도록 보호되는 메모리의 영역을 포함한다. 하드웨어 또는 코드 문제에 기인하여 메모리의 이러한 보호되는 영역에 대한 잘못된 액세스는 PCI 버스에서 액세스 중단을 초래하여 PCI 타깃 중단 또는 PCI 마스터 중단으로 귀결될 수 있다. PCI 버스상에 유사한 응답을 생성하는 몇가지 다른 시나리오가 있으므로, 이것은 하나의 시나리오와 다른 시나리오를 구분하는 것을 매우 어렵게 한다. 그러한 상황하에서 고장 포착(fault isolation)은 상당히 어려우며, 시간을 소비하고 비용을 상승시키며 고객 만족도에 영향을 줄 것이다. 이러한 문제점은 PCI 또는 다른 버스일 수 있는 셀프(shelf) 소자에서 사용될 때 훨씬 더 심각해 진다. 그 주요한 이유는 대다수의 제조자들이 일반적으로 사용하는 많은 오프-더-셀프(off-the-shelf) 형 하드웨어가 상당한 크기의 에러를 포착하는 데에 충분한 유연성을 갖지 못하기 때문이다. 이러한 결과는 에러에 대한 상세한 정보가 사용가능하지 않기 때문에 완전한 I/O 보조시스템의 교체를 포함하여, 일반적인 에러 또는 FRU 호출로 귀결된다.
그러므로, 에러를 포착하고 메모리 보호를 제공할 수 있는 새로운 시스템이 필요하다. 이 새로운 시스템은 에러 소스의 위치를 정확하게 나타냄으로써 FRU 호출을 더 쉽게 처리하는 것 뿐만 아니라 에러의 종류를 정확하게 나타냄으로써 디버그 시간을 없애거나 충분히 감소시킬 필요가 있다.
본 출원은 동일자로 출원되는 대리인 서류 번호 P09-99-003 호의 발명의 명칭이 "트랩된 에러 정보에 대한 고장 보호 액세스를 위한 잘못된 에이전트의 버스 행(hang) 검출 및 식별을 위한 방법 및 장치(Method and Apparatus for Bus Hang Detection and IDentification of Errant Agent for Fail Safe Access to Trapped Error Information)"인 출원과 관련되어 있다.
본 발명의 제1 목적은 로컬 버스상의 로컬 메모리의 영역이 버스 상의 각각의 에이전트의 배타적 사용을 위해 보호되도록 하는 것이다.
본 발명의 제2 목적은 로컬 버스상의 어댑터에 의해 보호되는 메모리에 대한 위법 액세스를 검사하는 것이다.
본 발명의 제3 목적은 잘못된 액세스에 의해 타깃이 되는 메모리 세그먼트를 사용하는 것이 허가되지 않은 어댑터가 보호되는 메모리에 위법 액세스하는 것을 종료시키는 것이다.
본 발명의 제4 목적은 버스상의 잘못된 에이전트를 식별하기 위해 위법 액세스에 의해 발생된 상태 정보를 저장하는 것이다.
본 발명의 제5 목적은 이러한 상태 정보에 대해 프로세서에 고장 보호 액세스를 제공하는 것으로, 교정을 위해 조작자에게 잘못된 하드웨어를 식별하는 FRU(Field Replacement Unit) 호출을 포함할 수 있지만 그에 한정되는 것은 아니다.
본 발명의 제6 목적은 버스 중재 프로토콜을 사용하여 메모리 액세스와 관련된 어댑터를 특정적으로 식별하는 것이다.
공유 메모리에 대한 액세스를 선택적으로 제한하기 위한 방법 및 장치는 복수 개의 유닛을 공유 메모리에 접속시킬 수 있는 적어도 하나의 버스를 갖는 컴퓨터 네트워크 시스템에 제공된다. 제1 어댑터 유닛은 버스에 접속되어 그 버스상의 제1 어드레스를 초기화시켜 공유 메모리에 액세스하고, 이 어댑터 유닛은 버스를 제어한다. ID 회로는 어댑터 어드레스를 유닛 ID와 관련시키도록 어댑터 및 버스와의 통신을 처리하기 위해 제공되며, 여기서, 회로 ID는 제1 ID가 상기 버스를 제어하는 제1 어댑터에 속해 있는 시점을 검출할 수 있다. 메모리 제어 유닛은 상기 공유 메모리에 액세스하기 위해 제1 어드레스를 사용하는 버스에 접속된다. 어드레스 체커 회로(address checker circuit)는 버스와의 통신을 처리하기 위해 제공된다. 이 체커 회로는 제2 어드레스를 제2 어댑터 ID와 연관시킬 수 있다. 에러 발생기는 또한 제1 어드레스 및 제1 어댑터 ID의 값을 제2 어드레스 및 제2 어댑터 ID의 값과 상호 비교하여 그 값들이 일치할 때 에러 표시기를 동작시키기 위해 제공된다.
본 발명의 대상 범위는 명세서의 결론 부분에 특정적으로 지적되어 있고 명백하게 청구되어 있다. 그러나, 본 발명의 목적과 이점을 성취하기 위한 본 발명의 구성과 실시 방법은 첨부된 도면을 참조한 이하의 상세한 설명을 통해 더욱 잘 이해될 것이다.
도 1은 본 발명의 제1 실시예로서 PCI 버스를 사용하여 접속된 시스템의 하이 레벨 개략도.
도 2는 본 발명의 제1 실시예로서 PCI 버스의 타이밍도.
도 3은 도 1의 실시예에 도시되어 있는 메모리 제어기 "주문형 지능망 PCI 에이전트(CIPA)"의 주요 소자의 개략도.
도 4는 도 3의 실시예에 도시되어 있는 에러 교정 아일랜드(error collection island)의 주요 소자의 개략도.
도 5는 본 발명의 일 실시예로서 선택적 보호 설계의 실시도.
도 6a 및 6b는 본 발명의 일 실시예로서 직렬 연결 버스 프로토콜에서 ID를 검출하기 위한 방법을 도시한 도면.
도 7a 및 7b는 본 발명의 일 실시예로서 버스 중재(arbitration)를 성취한 어댑터 ID를 검출할 때 변화하는 교류 다중 어댑터 버스 시스템의 하이 레벨 개략도.
<도면의 주요 부분에 대한 부호의 설명>
101: CIPA
102, 302, 502: LDS 메모리
103, 203: 프로세서 복합 유닛
104, 201: PCI 버스
105, 106, 107: PCI 어댑터
110, 301: 호스트 시스템
232: 마이크로프로세서
233: 프로세서 메모리
230: PLD 로직
300: 메모리 콘트롤러
301: IIC 인터페이스
403: 에러 교정 아일랜드
도 1은 105, 106 및 107로 표시된 다중 어댑터 유닛을 접속하는 104로 표시된 PCI 버스를 갖는 본 발명의 일 실시예를 도시한다. 다른 예에서는, 다른 형태의 버스가 PCI 버스 대신에 사용될 수 있으며, 이 예에서 사용한 PCI 버스는 예시적인 것이다. PCI 어댑터(1)는 제1 유닛으로 기재된다. 103으로 표시된 프로세서 복합 유닛은 제3 유닛으로 기재되며 어댑터 시스템의 동작을 제어하기 위해 사용된다. "주문형 지능망 PCI 에이전트" 유닛(이후로는 CIPA로 언급됨) "브릿지" 어댑터가 제2 유닛으로 기재되어 있고 101로 표시되어 있다. 이 어댑터는 PCI 버스상에서 요구를 중재(arbitrate)하고, 102로 표시된 LDS 메모리에 메모리 제어 기능을 제공하며 또한 110으로 표시된 "호스트 컴퓨터"에 고속 인터페이스를 제공하고 에러 처리 및 복원을 위한 지원 로직을 제공하는 데에 사용된다. 프로세서 복합 유닛을 2개의 전선 IIC 버스를 경유하여 CIPA에 제공하기 위해 별도의 경로가 제공된다. 이 경로는 PCI 버스가 사용될 수 없거나 동작될 수 없을 때 프로세서가 상태 및 복원 동작을 행하도록 하기 위해 사용된다.
각각의 어댑터는 PCI 프로토콜과 관련된 특정 쌍의 요구(Rx) 및 허가(Gx) 신호를 갖는다. 도 1에서, 프로세서 복합 유닛(R1, G1) 전선은 중재기(arbitor)에 접속되어 있는 것으로 도시되어 있다. 이 예에서 중재기는 CIPA 로직내에 포함되고 CIPA 어댑터도 또한 버스를 중재해야 한다. 그러므로, CIPA는 CIPA 로직에 대해 내부적으로 R0, G0 상에서 중재한다.
정상 동작에서, 유닛(101, 103, 105, 106, 107) 중 하나는 그의 특정 요구(Rx) 신호를 표명함으로써 PCI 버스의 배타적 사용을 요구할 것이다. 중재/아중재기(109) 로직 회로는 그 요구 중 하나를 선택할 것이고 적당한 허가(Gx) 신호를 표명한다. 어댑터가 허가(Gx) 신호를 수신하면, 이 어댑터는 PCI 버스에 대한 배타적 제어를 행한다.
이러한 설계의 중재기는 그의 어댑터가 PCI 버스의 제어하에 있음을 항상 알고 있는 것이 분명하다. 그러므로, CIPA 로직은 상태 레지스터를 각각의 어댑터 ID에 할당함으로써 각각의 어댑터에 대해 개별적인 상태 리코드(record)를 유지할 수 있다. 중재기는 어댑터가 활성화되는 시점을 판정할 수 있기 때문에, 중재기는 ID를 각 어댑터에 할당할 수 있다. 대체적으로, CIPA는 복원의 목적으로 가장 최근의 이벤트를 복사할 수 있다.
도 7a는 중재기 로직 회로가 CIPA 어댑터로부터 분리되어 있는 다른 PCI 실시예를 도시한다. 이 경우에, 각각의 요구/허가 라인 쌍은 상기 실시예에서와 마찬가지로 어댑터와 중재기 사이에 배선되지만, 각각의 허가 라인이 추가적으로 CIPA 로직에 배선된다. 그러므로, CIPA는 모든 Gx 라인을 감지하고 어댑터가 제어되는 시점을 판정할 수 있다. 도 7b는 다른 PCI 구성을 도시한다. 이 경우에, 중재기는 CIPA 로직 회로로부터 분리되어 있으며 인코딩된 ID#를 CIPA에 공급하여 어댑터가 활성화되는 시점을 CIPA 로직 회로에 알려준다.
도 7a 및 7b에서, 설명의 편의상 하나의 RxGx 라인 쌍만이 배선되어 있는 것으로 도시되어 있다. 그러나 모든 어댑터가 중재기가 접속된 RxGx 라인을 포함하여 공통 PCI 버스에 연결되어야 한다는 것을 이해할 수 있을 것이다.
도 2는 본 발명의 다른 실시예로서, CIPA 어댑터의 세부 구조 중 일부를 도시한다. PowerPC 또는 X86과 같은 232로 표시된 마이크로프로세서가 231로 표시된 "브릿지"를 경유하여 233으로 표시된 로컬 메모리와 PCI 버스에 접속된다. 230으로 표시된 프로그램가능 로직 장치(PLD)는 다중 비트 직렬 인터페이스, 바람직하게는 2 비트 직렬 인터페이스를 프로세서와 CIPA 어댑터 사이에 (PCI 버스가 사용가능하지 않은 경우에 사용하기 위해) 제공한다.
도 3은 본 발명의 일 실시예로서 CIPA 어댑터의 세부 구조를 도시한다. 302로 표시된 데이터 스위치는 각각의 기능 엔트리 사이에 경로를 제공한다. 301로 표시된 IIC 인터페이스는 IIC 직렬 인터페이스를 내부 버스폭으로 전환한다. 300으로 표시된 메모리 제어기는 CIPA와 LDS 사이의 통신을 제어한다. 고속 호스트 버스 인터페이스(304)는 호스트 시스템에 고속 통신 포트를 제공한다. PCI 버스는 306으로 표시된 PCI 인터페이스 로직 회로와 307로 도시된 PCI 중재기에 의해 지원된다. 버스 상태, 제어 및 구조는 305로 표시된 PCI 서비스에 의해 지원된다. 에러 상태 및 처리는 303으로 표시된 에러 교정 아일랜드에 의해 지원된다. CIPA는 에러 교정 아일랜드 레지스터의 상태에 기초하여 프로세서 체크스탑 신호(processor checkstop signal)를 표명함으로써 프로세서에 에러 조건을 신호로 알릴 수 있다.
도 4는 에러 교정 아일랜드(본 발명의 다른 실시예로서 403으로 표시되어 있음)를 도시한다. 409로 표시된 어드레스 레지스터는 PCI 버스 트랜잭션으로부터의 현재 (LDS) 어드레스를 유지한다. 또한, 어드레스와 관련된 어댑터의 ID를 유지한다. 407 및 408로 표시된 어드레스 체커는 LDS 메모리의 보호되는 범위를 유지한다. 419로 표시된 로우 어드레스와 418로 표시된 하이 어드레스는 둘다 레지스터에 로드된다. 이러한 어드레스(제2 어드레스)는 420으로 표시된 ID(제2 ID) 레지스터내에 설정된 대응하는 ID를 포함한 어댑터만을 사용하기 위해 보호되는 LDS 메모리의 범위를 규정한다. 어드레스 레지스터는 407 및 408로 표시된 어드레스 체커내의 범위와 비교된다. 어드레스가 체커의 범위내에 있으면, ID 레지스터는 체커내의 ID 레지스터 중 하나와 비교되어야 하거나 404로 표시된 합산 에러 리포터에 신호가 전송된다. 여기서, 프로세서 복합 유닛에 에러가 신호로 알려질 수 있으며, 위법 ID와 어드레스가 복원의 목적으로 분석될 수 있다.
이러한 비교는 도 5에 더욱 명백하게 도시되어 있다. LDS 보호 범위(a::b)는 508로 표시된 어드레스 체커 #2내에 설정된다. 이 범위로 액세스를 시도하는 어댑터는 그의 ID가 ID 레지스터(520)에 설정되어 있거나, 그렇지 않으면 에러가 표시될 것이다.
메모리 보호:
메모리 보호 범위를 규정하고 어댑터(ID)로의 액세스를 할당하는 것은 보조시스템의 메모리 맵이 프로세서에 의해 생성되고 있을 때 통상적으로 초기화 시간에서 행해질 수 있지만, 임의의 시간에 보호가 생성되거나/변경될 수도 있다. 일반적으로, 프로세서는 메모리 맵을 생성하고, 적당한 정보를 사용하여 메모리의 영역을 잘라내거나 PCI 구성 레지스터를 구성하여 도 5에 도시된 바와 같이 메모리의 어떤 영역을 각각의 에이전트에 할당한다.
프로세스의 다음 단계는 프로세서가 CIPA(1)를 구성하는 것인데, 이 CIPA는 보호되는 메모리 스페이스 세그먼트와 연관된 관련 정보를 사용하여 보호를 제공할 것이다. 이러한 목적을 위해, CIPA는 하위 경계 어드레스 명세 레지스터 체커(518)와 상위 경계 어드레스 명세 레지스터 체커(519)를 포함하여 몇몇의 어드레스 레지스터 체커를 포함할 것이다. 각각의 레지스터 쌍에 대해, CIPA는 하위 및 상위 경계 어드레스 레지스터 체커에 의해 식별되는 메모리의 부분에 대한 배타적 액세스(그룹으로서)를 갖는 모든 에이전트를 식별하기 위해 버스 에이전트의 모든 3 비트 ID를 기억할 15 비트 레지스터(120)를 유지할 것이다. 이러한 3 비트 ID는 실질적으로 에이전트에 대한 REQ#/GNT# 쌍의 식별에 대응한다. 이러한 3개의 레지스터의 세트는 CIPA가 허용하는 보호되는 메모리의 구획 수에 따라 필요하다.
보호되는 메모리의 각 세그먼트에 대한 이러한 3개의 레지스터 세트는 PCI 명세에 기입된 바와 같은 모든 요구되는 PCI 구성 레지스터에 부가하는 것임을 주지해야 한다. 규정되어 구성된 이러한 레지스터에서, CIPA는 이제 메모리 보호를 제공할 수 있다. 도 4는 현재 PCI 버스 트랜잭션의 활성 어드레스와 유닛 ID인 상태 레지스터를 도시한다. 이러한 레지스터는 모두 잠재적으로 메모리 매핑되어 에러 분석 및 복원 소프트웨어 루틴에서 사용되는 상태 정보의 부분으로서 판독되고 기록될 수 있다.
보호되는 메모리에 대한 위법 액세스 체크:
버스 상의 각각의 어드레스 사이클에 대해, CIPA는 로컬 버스 상의 각각의 슬레이브 유닛에 의한 정상 디코드 기능에 부가하여 연산을 행한다. 이 연산은 CIPA에 액세스가능한 GNT# 신호를 사용하여 마스터 유닛 (에이전트)의 ID를 변환(capture)하고, 그 액세스의 어드레스를 그의 레지스터내에 규정된 메모리의 보호되는 영역과 비교하는 것이다. 메모리의 다른 영역과의 모든 비교는 병렬로 행해지므로, 정기적으로 디코드 프로세스가 행해질 때 분실되는 버스 사이클은 없다. CIPA가 액세스의 타깃이 아니면, 상기 설명된 부가적인 연산의 결과가 동작된다. 타깃이 되는 메모리의 영역이 보호되면(상위/하위 어드레스 레지스터 쌍으로 기재되어 있는 바와 같이), CIPA는 마스터의 ID가 보호되는 메모리 규정 레지스터와 링크된 대응하는 ID 레지스터내의 ID와 일치하는 지를 판정한다. 이 ID들이 일치하면, 액세스가 허용되고 전송이 정상적으로 완료된다.
상기 연산 결과가 메모리의 세그먼트를 사용하도록 허가된 에이전트 이외의 에이전트가 메모리의 세그먼트에 액세스하려고 시도하고 있다는 것을 나타내면, 에러 조건 "보호되는 메모리 액세스 에러"가 내부적으로 CIPA에 신호로 알려진다. 그러한 에러의 직접적인 결과 중 하나는 "타깃 중단"을 통해 버스 상의 액세스를 종료시키는 것이며, 이것을 통해 메모리의 보호되는 영역으로의 액세스가 방지된다.
PCI 버스상의 액세스의 마스터가 PCI 규정으로서 그의 구성 스페이스내에서 "수신된 타깃 중단" 비트를 설정하는 동안, CIPA는 이러한 조건에 응답하여 더 선행의 에러(more advanced error)를 취한다.
"신호화된 타깃 중단" 비트는 PCI 스펙으로 규정된 바와 같이 구성 스페이스에서 설정된다.
마스터의 ID는 CIPA내의 "마스터 식별 레지스터" 내에 트랩된다.
액세스되는 어드레스는 CIPA 내의 "보호되는 어드레스 에러" 내에 트랩된다.
에러 조건은 에러 표시기를 사용하여 에러 레지스터내에 설정된 "보호되는 메모리 액세스 에러" 비트로 설정된다.
저장된 에러 정보에 대한 액세스 제공:
CIPA는 프로세서가 에러 정보에 확실히 액세스하는 고장 보호 매커니즘을 제공하기 위해 이하에 설명되는 더 정교한 설계를 갖는다.
PCI 구성 스페이스내의 "신호화된 타깃 중단" 비트를 제외하고, 상기 설명된 모든 에러 표시는 PCI RST# (리셋) 신호에 의해 리셋되지 않는다.
이것은 에러 표시가 PCI RST# 신호로부터 분리되는 프로세서로부터의 특정 하드 리셋 신호를 통해 CIPA에 표명된 칩 리셋을 통해서 분실되는 것을 제외하면 분실되지 않는다는 것을 보장한다.
상기 언급된 모든 레지스터는 프로세서가 PCI 버스로부터 레지스터에 액세스하고 필요하면 이들을 리셋시킬 수 있도록 PCI 버스에 매핑된 메모리이다.
특정 IIC 인터페이스는 프로세서에 제공되어, 상기 언급된 모든 레지스터를 포함하여, CIPA 내부 레지스터에 액세스한다.
이 특정 IIC 인터페이스는 PCI 버스가 사용가능하지 않더라도, 프로세서가 CIPA 내부의 내부 에러 레지스터에 액세스할 수 있고 에러의 원인에 대한 판정을 할 수 있음을 보장한다.
"보호되는 메모리 액세스 에러"의 표시에 이어서, 프로세서는 잘못된 마스터의 ID와 액세스하려고 하는 어드레스를 기록할 수 있다. 이것은 마지막 몇몇 액세스에 대해 그 자신의 어드레스 포인터를 리트레이스(retrace)할 수 있고 이하의 문제가 발생했는지를 판정할 수 있다.
- 프로세서 상에서 동작하는 코드내 배드(bad) 어드레스 포인터 또는,
- 상기 마스터로서 식별된 PCI 어댑터 카드의 펌웨어의 문제점.
판정이 일단 행해졌으면, 프로세서상의 마이크로 코드에 대한 FRU(필드 교체 유닛)의 호출, 또는 시스템에 플러그로 접속된 몇몇의 카드로부터 정확한 PCI 어댑터 카드를 호출하는 것 등의 필요한 동작을 조작자에게 알릴 수 있다.
그러므로 이러한 매커니즘은 이하의 중요한 이점을 갖는다.
메모리의 키 영역이 손상되는 것을 방지한다.
고장이 발생했을 때 고비용의 시간을 소비하는 디버그의 필요성을 없앤다.
프롬프트 기능을 위해 고장 성분을 즉시 식별한다.
본 발명의 특정한 메모리 보호 설계는 예시적으로 기재된 것이다. 사용되는 각각의 어댑터에서 리소스(resource)는 주문에 따라 제조될 수 있으며, 본 발명의 상태 리코딩(recording)은 한가지 예일 뿐이다. 당업자들에게 자명한 바와 같이, 관련 기술 분야에서 공지되어 있는 메모리 보호 방법은 다수이다. 이들 방법 중 임의의 방법이 본 발명에 의해 설명되는 바와 같이 종래 기술과 관련하여 용이하게 사용되거나 대체될 수 있다. 예를 들면, 메모리 범위는 보호되는 범위의 시작 어드레스를 식별하는 단일 어드레스 레지스터와 보호되는 블록 사이즈를 기록한 길이 레지스터를 사용하여 식별될 수 있다. 대체적인 설계에서, 메모리는 동일한 사이즈의 세그먼트로 나뉘어 질 수 있으며 각각의 세그먼트는 그 세그먼트에 할당된 ID를 가질 수 있다. 그러므로, 예를 들면 64Kbyte 메모리의 경우, 이 메모리는 8K 세그먼트와 같이 8개로 나뉘어질 수 있으며, 어드레스의 상위 3개 비트만이 비교를 위해 필요하다. 다른 대체적인 실시예에서, ID 필드는 ID가 상기 범위에 액세스가 허용됨을 나타내는 것보다 상기 범위가 ID가 일치하는 어댑터에 액세스가능하지 않음을 나타낼 것이다. ID가 범위에 대한 액세스만을 판독하는 것이 허용되는 것 또는 ID가 범위에 기록하는 것이 허용되는 것을 나타내는 것도 본 발명에 추가되는 다른 제어 기능이다.
또한, 전술한 바와 같이, 본 발명의 PCI 버스 실시예는 단지 예시적으로 기재된 것이다. 그러나 다른 버스 아키텍쳐도 마찬가지로 이러한 설계의 이점을 취할 수 있다. 예를 들면, 폴링(polling) 설계로 구현된 버스는 폴링된 어드레스를 ID에 연관시킬 것이다. 토큰 통과 설계(token passing scheme)는 어댑터를 식별하기 위해 사용될 수 있는 프레임 헤더(Frame Header)의 일부로서 소스 ID 필드를 갖는다. 이 발명은 메모리의 보호되는 범위를 어댑터와 연관시킨다는 개념을 나타내고자 하는 것이다. 어댑터가 메모리에 대한 어드레스와 관련되어 있음을 식별하는 수단이 이 발명을 사용할 수 있다. 사실, 이 발명은 하나 또는 그 이상의 특정된 어댑터를 제외한 모든 어댑터로부터 메모리 범위를 보호함으로써 실시될 수 있다. 도 7a를 참조로, 프로세서 복합 유닛만이 CIPA(G1으로 도시됨)에 신호를 발생시키면, 프로세서 복합 유닛만이 보호되는 범위에 액세스가 허용될 것이다(어떤 다른 ID도 충족되지 않기 때문에).
도 6a는 직렬 연결 버스를 사용하는 본 발명의 대체적인 실시예를 도시한다. 여기서 어댑터(1, 2...n)는 공통 버스에 접속된다. 공통 응답 버스 신호를 발생시키는 어댑터를 검출하고, 버스를 소유한 어댑터의 ID를 식별하도록 신호(A1, A2, An)를 회로에 공급하는 로직 회로가 부가(재구동)된다. 물론, 이러한 로직 회로는 어댑터내에 포함될 수 있지만 분명히 하기 위해 별도로 도시되어 있다. 유사하게, 도 6a는 직렬 연결 허가 신호 프로토콜을 도시하며, 여기서 특정 로직(재구동) 회로는 버스의 소유자를 식별하도록 신호(A1, A2 ... )를 발생시키기 위해 각각의 어댑터에서 직렬 연결되어 있다.
행(hang)된 버스의 식별:
카운터를 사용하는 다수의 간단한 절차가 임의의 버스, PCI 등이 행(hang)되어 있는 지를 판정하는 데에 사용될 수 있다. 그러나, 여기서 사용되는 매커니즘은 버스가 행되어 있는 지를 판정하는 방식에서만 사용되는 것이다. 32 비트 카운터가 CIPA 내에 포함되어 있다. 이것은 초기화 시간에서 큰 초기값(애플리케이션을 바탕으로 함)으로 설정된다. 새로운 액세스가 버스상에서 시작하는 각각의 시간에서, 카운터 값이 "행 검출 카운터(hang detection counter)"에 로드된다. 이 카운터는 상기 사전 규정된 값에서 카운트를 시작하여, 그 값으로부터 아래로 카운트한다. 이 카운터는 버스가 아이들(IDle)이 아닐 때 버스상의 데이터 전송 없이 연속적인 사이클을 단지 카운트한다. 버스상에서 데이터 전송이 발생하자마자, 카운터는 그의 초기화된 (하이) 값으로 리셋되고, 아래로의 카운트가 다시 시작된다. 버스가 아이들일 때, 카운터는 아래로 카운트하는 것을 중지한다.
그러므로, 이 카운터는 마스터와 타깃이 버스를 채우고 있을 때에만 아래로의 카운트를 계속하고 연속되는 사이클 후에는 마스터와 타깃 사이에서 전송되어지는 데이터는 더이상 존재하지 않을 것이다. 카운터는 대용량의 사이클(카운터의 초기화된 값과 같은 사이클)을 위해 활성 마스터 및 슬레이브 접속 사이의 버스 상에 데이터 전송이 없다면 결국 0까지 아래로 카운트할 것이다. 이 지점에서, PCI 버스는 행(hang)된 것으로 간주된다.
이 매커니즘은 버스 상의 데이터 전송의 가장 큰 예상 길이보다 훨씬 더 큰 카운터 값을 얻기 위한 목적으로, 전체 액세스의 길이를 아래로 카운트하기 위해 큰 카운터를 설계하는 통상적인 매커니즘보다 바람직하다. 이러한 방법은 단일 에이전트로부터 슬레이브까지 데이터의 매우 긴 버스트를 잠재적으로 허용하지 않는다는 단점을 갖는데, 왜냐 하면 카운터가 러닝오버(running over)하지 않도록 전송이 종료되고 다시 시작되어야 하기 때문이다. 상술된 새로운 카운터 설계에 의해 더 결정적인 방식으로 "행(hang)된" 버스를 실제로 식별할 수 있다.
트랩 관련 에러 정보:
카운터가 0까지 카운트하면, CIPA에서 하기의 동작이 행해진다.
에러 조건 "PCI 버스 행(hang) 검출"이 설정된다.
프로세서에는 SERR# 표시 수단 또는 다른 수단(존재한다면)을 통해 직접 인터럽트를 표명하는 것이 통지된다. 프로세서가 행 버스를 발견하도록 하는 다른 가능한 수단은 그의 내부 코드 타이머에 의존하여 PCI 액세스의 종료를 방지하고 있는 중대한 에러를 "검출"하는 것이다.
중요에러 정보 트랩: CIPA 트랩 관련 버스 행(hang) 정보 내의 레지스터
CIPA 내의 어드레스 레지스터는 버스 상의 모든 단일 액세스의 어드레스를 트랩하는 데에 사용된다. 이 레지스터에는 현재 액세스가 정상적으로 종료된 후에만 플래시 어드레스 사이클의 새로운 어드레스가 겹쳐 쓰기된다.
버스 상의 마스터의 ID는 "마스터 식별 레지스터"로 트랩된다. 이 레지스터는 정상 동작 하에서 버스 상의 그의 액세스의 전체 범위에 대해 각각의 버스 마스터의 식별을 추적한다.
복원:
버스가 행(hang)될 때, 정상 버스 동작을 통해 상기 레지스터내의 정보에 액세스하는 방법은 없다. PCI 버스를 통해 레지스터내의 정보에 액세스하는 유일한 방법은 버스 행(hang) 조건이 없어지도록 PCI RST#(리셋)을 먼저 표명하는 것이다. 상기 언급된 모든 레지스터는 PCI 버스상에 메모리가 매핑되고 PCI RST# 신호에 의해 영향을 받지 않도록 설계된다. 이러한 레지스터는 PCI RST# 신호로부터 분리되는 프로세서로부터의 배타적 리셋 신호에 의해서 리셋된다. 그러므로, 이 프로세서는 PCI 버스를 리셋하고 CIPA 내측의 이들 레지스터에 액세스하여 버스 상의 잘못된 에이전트를 식별할 수 있다.
대체적인 실시예에서, 프로세서에 대한 이들 레지스터의 고장 보호 액세스를 허가하기 위한 다른 방법이 제공된다. 이 매커니즘은 IIC 인터페이스를 지나 프로세서로부터 CIPA까지의 경로를 갖는다. 상기 레지스터는 IIC 인터페이스를 통해 완전히 액세스가능하다. 그러므로, PCI 버스에 대한 액세스 상의 타임아웃 조건은 프로세서가 IIC 인터페이스를 통해 CIPA 내측의 주요 에러 레지스터에 직접 액세스하도록 할 수 있다. 이 주요 에러 레지스터는 "PCI 버스 행(hang) 검출"에러가 되는 조건을 식별하고, 프로세서는 상기 다른 레지스터를 판독하고 전송할 에이전트를 식별하는 절차를 진행한다.
프로세서는 어떤 에이전트가 오프 라인을 취하거나 FRU(필드 교체 유닛)를 호출하는 지를 알고리즘적으로 판정할 수 있다. 필요하면, 2개의 에이전트 오프라인을 취하는 것과 이들 2개의 에이전트에 대해 FRU를 요구하는 것을 선택할 수 있다.
본 발명은 본 명세서에서 바람직한 실시예에 의해 상세히 설명되었지만, 관련 기술 분야의 당업자들에 의해 변경되거나 수정될 수 있는 것이다. 따라서, 본 발명의 실질적인 이론과 범위가 기재되어 있는 이하에 첨부된 청구항의 범위내에서 이러한 변경 및 수정이 행해질 수 있는 것으로 이해해야 한다.
상기 설명된 바와 같이, 본 발명에 따른 프로세스는 어려운 디버그를 행하는 수고를 필요없게 하며 고장 부분을 효율적으로 정상으로 교체할 수 있다.

Claims (30)

  1. 복수 개의 유닛을 공유 메모리에 접속할 수 있는 적어도 하나의 버스를 갖는 컴퓨터 네트워크 시스템에서, 상기 공유 메모리로의 액세스를 선택적으로 제한하는 장치에 있어서,
    상기 버스에 접속되어 상기 공유 메모리에 액세스하도록 상기 버스 상의 제1 어드레스를 초기화시키고, 상기 버스를 제어하는 제1 어댑터 유닛과,
    어댑터 어드레스를 유닛 ID에 연관시키도록 상기 어댑터 및 상기 버스와의 통신을 처리하며, 제1 ID가 상기 버스를 제어하는 상기 제1 어댑터에 속해 있는 시점을 검출할 수 있는 ID 회로와,
    상기 버스에 접속되어 상기 공유 메모리에 액세스하기 위해 상기 제1 어드레스를 사용하는 메모리 제어 유닛과,
    상기 버스와의 통신을 처리하고 제2 어드레스를 제2 어댑터 ID와 연관시키는 어드레스 체커 회로와,
    상기 제1 어드레스와 제2 어드레스가 일치하는 지와, 상기 제1 어드레스 및 제1 어댑터 ID의 값이 상기 제2 어드레스 및 제2 어댑터 ID의 값과 일치하는 지를 상호 비교하는 에러 발생기를 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서, 상기 ID 회로는 버스 중재 로직을 사용하여 ID 값을 판정하는 것인 장치.
  3. 제1항에 있어서, 상기 ID 회로는 제1 어댑터에 의해 제공되는 소스 필드를 사용하여 ID 값을 판정하는 것인 장치.
  4. 제2항에 있어서, 상기 중재 회로는 상기 제1 어댑터로부터의 특정 허가 신호를 갖는 것인 장치.
  5. 제1항에 있어서, 상기 어드레스 체커 회로는 로우 어드레스 레지스터와 하이 어드레스 레지스터를 포함하는 것인 장치.
  6. 제1항에 있어서, 상기 어드레스 체커 회로는 로우 어드레스 레지스터와 길이 레지스터를 포함하는 것인 장치.
  7. 제1항에 있어서, 상기 어드레스 체커 회로는 레지스터를 식별하는 세그먼트를 포함하는 것인 장치.
  8. 제1항에 있어서, 상기 어드레스 체커 회로는 비트 유효 ID 필드를 포함하는 것인 장치.
  9. 제1항에 있어서, 상기 어드레스 체커 회로는 기록이 허용되는 지를 표시하는 수단을 갖는 것인 장치.
  10. 제1항에 있어서, 상기 제1 어드레스는 예외 분석을 위해 상태 레지스터내에 저장되는 것인 장치.
  11. 제1항에 있어서, 상기 제1 어댑터 ID는 예외 분석을 위해 상태 레지스터내에 저장되는 것인 장치.
  12. 제1항에 있어서, 상기 제1 어댑터의 가장 최근의 동작과 관련된 시스템 상태는 상태 레지스터내에 저장되는 것인 장치.
  13. 제1항에 있어서, 상태 정보는 메모리 매핑형인 것인 장치.
  14. 제1항에 있어서, 상태 정보는 일반적인 버스 리셋이 수행될 때 유지되는 것인 장치.
  15. 제1항에 있어서, 상기 버스는 상기 제1 유닛을 상기 제2 유닛에 접속하는 제2 버스를 포함하는 것인 장치.
  16. 제15항에 있어서, 상기 제2 버스는 직렬 버스인 것인 장치.
  17. 제15항에 있어서, 상기 제2 버스는 상기 제1 버스가 사용가능하지 않을 때 사용되는 것인 장치.
  18. 제1항에 있어서, 상기 ID 회로는 트랜잭션 동안 제공되는 소스 정보를 사용하는 것인 장치.
  19. 제1항에 있어서, 상기 ID 회로는 버스 허가 신호 배선 접속을 사용하는 것인 장치.
  20. 제1항에 있어서, 상기 ID 회로는 버스 폴링을 사용하는 것인 장치.
  21. 다중 유닛을 공유 메모리에 버스를 통해 접속하는 방법에 있어서,
    제1 어댑터로부터 제1 어드레스와 제1 ID를 수신하는 단계와,
    상기 제1 어드레스 및 ID 필드를 제2 어드레스 및 ID 필드와 비교하여 관련된 메모리 범위가 허가되는 지를 판정하는 단계와,
    상기 메모리 범위가 보호되고 상기 제2 ID가 허가되지 않은 경우에 상태를 유지하고 예외를 신호로 알리는 단계를 포함하는 것을 특징으로 하는 방법.
  22. 제21항에 있어서, 상기 유지 상태는 상기 제1 어드레스를 유지하는 단계를 포함하는 것인 방법.
  23. 제21항에 있어서, 상기 유지 상태는 상기 제1 ID를 유지하는 단계를 포함하는 것인 방법.
  24. 제21항에 있어서, 버스 리셋 커맨드가 발행된 경우에도 상태가 유지되는 것인 방법.
  25. 다중 유닛을 공유 메모리에 버스를 통해 접속하는 방법에 있어서,
    제1 어댑터로부터 제1 어드레스와 제1 ID를 수신하는 단계와,
    연속적인 데이터 전송을 위해 상기 제1 어드레스를 증가시키는 단계와,
    상기 제1 어드레스 및 ID 필드를 제2 어드레스 및 ID 필드와 비교하여 관련된 메모리 범위가 허가되는 지를 판정하는 단계와,
    상기 범위가 보호되고 상기 ID가 허가되지 않으면 상태를 유지하고 예외를 신호로 알리는 단계와,
    상기 제1 버스가 사용가능하지 않을 때 사용하기 위해 제2 버스를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  26. 다중 유닛에 버스를 통해 접속하는 방법에 있어서,
    제1 어댑터에 의해 버스 트랜잭션을 초기화시키는 단계와,
    상기 제1 어댑터에 상기 버스를 상기 버스를 허가한 상기 매커니즘을 바탕으로 상기 제1 어댑터용의 특정 ID 코드를 생성하는 단계와,
    제2 트랜잭션이 초기화될 때까지 상기 ID 코드를 제2 어댑터 내에 유지하는 단계를 포함하는 것을 특징으로 하는 방법.
  27. 제26항에 있어서, 상기 버스가 사용가능하지 않을 때 사용하기 위해 상기 제2 어댑터에 제2 버스를 제공하는 단계를 더 포함하는 것인 방법.
  28. 제26항에 있어서, ID를 생성하기 위해 버스 중재가 사용되는 것인 방법.
  29. 제26항에 있어서, ID를 생성하기 위해 버스 폴링이 사용되는 것인 방법.
  30. 제26항에 있어서, 상기 트랜잭션은 ID를 제공하는 것인 방법.
KR1020000021223A 1999-04-29 2000-04-21 버스 접속 유닛 id에 대해 메모리로의 액세스를선택적으로 제한하는 시스템 및 방법 KR100327652B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/302,029 1999-04-29
US09/302,029 US6311255B1 (en) 1999-04-29 1999-04-29 System and method for selectively restricting access to memory for bus attached unit IDs

Publications (2)

Publication Number Publication Date
KR20010007006A true KR20010007006A (ko) 2001-01-26
KR100327652B1 KR100327652B1 (ko) 2002-03-08

Family

ID=23165954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000021223A KR100327652B1 (ko) 1999-04-29 2000-04-21 버스 접속 유닛 id에 대해 메모리로의 액세스를선택적으로 제한하는 시스템 및 방법

Country Status (3)

Country Link
US (1) US6311255B1 (ko)
JP (1) JP2000353128A (ko)
KR (1) KR100327652B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866739B1 (ko) * 2001-03-22 2008-11-03 가부시키가이샤 소니 컴퓨터 엔터테인먼트 광대역 네트워크용 컴퓨터 구조에 있어서 데이터 동기를위한 시스템 및 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165152B2 (en) * 1998-06-30 2007-01-16 Emc Corporation Method and apparatus for managing access to storage devices in a storage system with access control
JP3853540B2 (ja) * 1999-06-30 2006-12-06 日本電気株式会社 ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置
US6633962B1 (en) * 2000-03-21 2003-10-14 International Business Machines Corporation Method, system, program, and data structures for restricting host access to a storage space
US6745369B1 (en) 2000-06-12 2004-06-01 Altera Corporation Bus architecture for system on a chip
US6715053B1 (en) * 2000-10-30 2004-03-30 Ati International Srl Method and apparatus for controlling memory client access to address ranges in a memory pool
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US6851056B2 (en) 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
JP2004302922A (ja) * 2003-03-31 2004-10-28 Toshiba Corp 情報機器およびトランザクション制御方法
JP2004334410A (ja) 2003-05-06 2004-11-25 Hitachi Ltd 情報処理装置及びプロセッサ
US7062589B1 (en) * 2003-06-19 2006-06-13 Altera Corporation Bus communication apparatus for programmable logic devices and associated methods
US7100002B2 (en) * 2003-09-16 2006-08-29 Denali Software, Inc. Port independent data transaction interface for multi-port devices
US7284158B2 (en) * 2004-02-10 2007-10-16 International Business Machines Corporation Processor bus for performance monitoring with digests
JP2007264679A (ja) * 2004-06-14 2007-10-11 Matsushita Electric Ind Co Ltd アクセス制御装置及びアクセス制御方法
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US20070124554A1 (en) * 2005-10-28 2007-05-31 Honeywell International Inc. Global memory for a rapidio network
US7660912B2 (en) * 2006-10-18 2010-02-09 International Business Machines Corporation I/O adapter LPAR isolation in a hypertransport environment
US20080168207A1 (en) * 2007-01-09 2008-07-10 International Business Machines Corporation I/O Adapter LPAR Isolation In A Hypertransport Envikronment Employing A Content Addressable Memory
US7617340B2 (en) * 2007-01-09 2009-11-10 International Business Machines Corporation I/O adapter LPAR isolation with assigned memory space
US20080168208A1 (en) * 2007-01-09 2008-07-10 International Business Machines Corporation I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs
JP2010049718A (ja) * 2009-12-03 2010-03-04 Hitachi Ltd 半導体装置
US9063836B2 (en) * 2010-07-26 2015-06-23 Intel Corporation Methods and apparatus to protect segments of memory
US8667197B2 (en) * 2010-09-08 2014-03-04 Intel Corporation Providing a fine-grained arbitration system
US12019774B2 (en) * 2018-04-19 2024-06-25 Murata Machinery, Ltd. Exclusive control system and exclusive control method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2642246B1 (fr) 1988-12-30 1991-04-05 Cit Alcatel Procede de deblocage d'un systeme multiprocesseurs multibus
JPH04361340A (ja) * 1991-06-07 1992-12-14 Fujitsu Ltd メモリ排他制御方式
JPH05210640A (ja) * 1992-01-31 1993-08-20 Hitachi Ltd マルチプロセッサシステム
JP2677454B2 (ja) * 1992-03-25 1997-11-17 エンコアー コンピューター ユーエス インコーポレイテッド リアルタイム処理システム
US5388254A (en) 1992-03-27 1995-02-07 International Business Machines Corporation Method and means for limiting duration of input/output (I/O) requests
JPH064469A (ja) * 1992-06-18 1994-01-14 Hitachi Ltd 入出力装置制御方式
US5428766A (en) 1992-12-01 1995-06-27 Digital Equipment Corporation Error detection scheme in a multiprocessor environment
US5581794A (en) 1992-12-18 1996-12-03 Amdahl Corporation Apparatus for generating a channel time-out signal after 16.38 milliseconds
JPH06202907A (ja) * 1993-01-06 1994-07-22 Hitachi Ltd デバッグ支援装置
US5499346A (en) 1993-05-28 1996-03-12 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5513319A (en) 1993-07-02 1996-04-30 Dell Usa, L.P. Watchdog timer for computer system reset
US5983303A (en) * 1997-05-27 1999-11-09 Fusion Micromedia Corporation Bus arrangements for interconnection of discrete and/or integrated modules in a digital system and associated method
US6026464A (en) * 1997-06-24 2000-02-15 Cisco Technology, Inc. Memory control system and method utilizing distributed memory controllers for multibank memory
KR19990066122A (ko) * 1998-01-21 1999-08-16 이해규 공유메모리구현장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866739B1 (ko) * 2001-03-22 2008-11-03 가부시키가이샤 소니 컴퓨터 엔터테인먼트 광대역 네트워크용 컴퓨터 구조에 있어서 데이터 동기를위한 시스템 및 방법

Also Published As

Publication number Publication date
US6311255B1 (en) 2001-10-30
KR100327652B1 (ko) 2002-03-08
JP2000353128A (ja) 2000-12-19

Similar Documents

Publication Publication Date Title
KR100327652B1 (ko) 버스 접속 유닛 id에 대해 메모리로의 액세스를선택적으로 제한하는 시스템 및 방법
US6996750B2 (en) Methods and apparatus for computer bus error termination
US7715450B2 (en) Sideband bus setting system and method thereof
US7996733B2 (en) Identify indicators in a data processing system
US7543191B2 (en) Method and apparatus for isolating bus failure
US20070101016A1 (en) Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment
US6453429B1 (en) Method and apparatus for bus hang detection and identification of errant agent for fail safe access to trapped error information
US5005172A (en) Diagnostic system in a data processing system
JPH0519180B2 (ko)
EP0887739B1 (en) Detection of SCSI devices at illegal locations
US7281163B2 (en) Management device configured to perform a data dump
US11137935B2 (en) Storage system with plurality of storage controllers communicatively coupled for determination of storage controller indentifiers
US5229999A (en) Method and apparatus for integrity testing of fault monitoring logic
CN113568777B (zh) 一种故障处理方法、装置、网络芯片、设备及存储介质
KR100377244B1 (ko) 밀착결합된이중제어기모듈을이용하는오류내성형기억제어기
US5210757A (en) Method and apparatus for performing health tests of units of a data processing system
US11238948B2 (en) Testing memory cells by allocating an access value to a memory access and granting an access credit
US20060117226A1 (en) Data communication system and data communication method
US20100122150A1 (en) Cpu instruction ram parity error procedure
US5652837A (en) Mechanism for screening commands issued over a communications bus for selective execution by a processor
US11797373B2 (en) System and method for managing faults in integrated circuits
JP4424169B2 (ja) ディスク記憶システム、そのケーブル誤接続検出方法、ディスクアダプタ
US7237082B1 (en) Spatially distributed parity protection
JPH03119448A (ja) データ処理装置
JPH05298193A (ja) メモリアクセス障害検出回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090129

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee