KR100195856B1 - 양방향 동기 다중 드롭 데이터 버스를 갖는 데이터처리시스템 - Google Patents

양방향 동기 다중 드롭 데이터 버스를 갖는 데이터처리시스템 Download PDF

Info

Publication number
KR100195856B1
KR100195856B1 KR1019960020204A KR19960020204A KR100195856B1 KR 100195856 B1 KR100195856 B1 KR 100195856B1 KR 1019960020204 A KR1019960020204 A KR 1019960020204A KR 19960020204 A KR19960020204 A KR 19960020204A KR 100195856 B1 KR100195856 B1 KR 100195856B1
Authority
KR
South Korea
Prior art keywords
data
slave
master
bus
processing system
Prior art date
Application number
KR1019960020204A
Other languages
English (en)
Other versions
KR970002617A (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 KR970002617A publication Critical patent/KR970002617A/ko
Application granted granted Critical
Publication of KR100195856B1 publication Critical patent/KR100195856B1/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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

데이터 처리 시스템은 공통 버스에 연결돈 하나의 또는 그 이상의 프로세서들과, 공통 버스와 하나 또는 그 이상의 저장 서브시스템(storage subsystem)들과 연결된 하나 또는 그 이상 I/O 콘트롤러들과 ,그리고 데이터 처리 시스템에서 사용되는 데이터를 저장하기 위한 하나 또는 그 이상의 저장서브시스템들을 포함한다. 하나 또는 그 이상의 마스터 콘트롤러들은 메모리 서브시스템으로의 데이터 흐름 과 메모리 서브시스템으로부터의 데이터 흐름을 제어하는 슬레이브(a slave)로서 간주되는 메모리 콘트롤러와 통신하기 위해 각각의 I/O 콘트롤러에 포함된다. I/O 마스터 콘트롤러들과 메모리 콘트롤러들 사이의 데이터 버스는 2 × 2 바이트 병렬 인터페이스를 동기적으로 동작시키는 다중 드롭 버스 이다.

Description

양방향 동기 다중 드롭 데이터 버스를 갖는 데이터 처리 시스템
제1도는 본 발명을 포함한 데이터 처리 시스템을 나타낸 블록도.
제2도는 본 발명에 따른 양방향 동기 다중 드롭 데이터 전송 메커니즘을 나타낸 블록도.
제3도는 승인 동작을 보여주는 제2도의 버스 제어 로직을 나타낸 블록도.
제4도는 요청 동작과 샘플 동작을 보여주는 제2도의 버스 데이터 전송 제어 로직을 나타낸 블록도.
제5도는 데이터 판독 요청을
제6도는 데이터 기록 요청을 나타낸 타이밍 차트.
제7도는 하나의 데이터 버스에서 다중 요청을 그리고 또 다른 데이터 버스에서 샘플 동작을 타이밍 차트.
제8도는 마스터가 슬레이브 동작을 하고 뒤이어 하나의 버스에서 슬레이브가 마스터 동작과 두 번째 버스에서 샘플 동작을 나타낸 타이밍 차트.
제9도는 슬레이브로부터 마스터까지의 기록 동작에 대한 성공 응답을 나타낸 타이밍 차트.
제10도는 본 발명에 따른 마스터 제어 프레임을 나타낸 개략도.
제11도는 본 발명에 따른 슬레이브 응답 프레임을 나타낸 개략도.
제12도는 본 발명에 따른 데이터 버스와 클럭 시그널을 나타낸 타이밍 차트.
제13도는 패리트 기능을 사용한 배타적 오아 기능을 설명하는 블록도.
본 발명은 데이터 처리 시스템에 관한 것으로 , 특히 고속 파이프라인 데이터 전송 (high speed pipeline data transfers)을 사용하는 장치 및 방법에 의해 저장 서브시스템에 데이터를 기록하거나 저장 서브시스템으로부터 데이터를 판독하는 데이터 처리시스템에 관한 것이다.
대기 시간(latency)을 Wkfarp 하기 위하여 짧은 패킷으로 데이터를 전송되는 다중 드럽 데이터 버스(multi-drap data buses)에 있어서는 칩들 또는 모듈들 간에 데이터를 빠르게 전송하는 것이 목표이다.
종래에는 상기 목표를 성취하기 위한 다양한 방법들이 있다.
데이터 처리시스템에서 칩들과 모듈들 간의 빠른 데이터 전송을 해결하기 위한 이러한 종래기술의 예는 미합중국 특허 공보 제 5,313,594 호 준비 시그널(ready signal)을 사용한 소스(source)와 목적지 모듈둘 간의 데이터 전송을 위한 방법 및 장치이다.
상기 특허는 모듈들 사이에 빠릉 블록 전송을 수행하기 위한 최적화된 컴퓨토 시스템을 알려주며, 이컴퓨터 시스템은 멀티마스터 전역 동기 버스(multimaster global synchronousbus)상에서 통신하는 지역 메모리들 (local memories)을 포함한다. 기록 동작 (write operation)들을 목적지모듈이 각각의기록 요청을 받기 전에 데이터 시그널을 받도록 준비 시그널을 전송함으로써 (speedup)된다. 소스 모듈이 데이터 워드를 버스에 전달하는 클럭주기 동안, 목적지 모듈은 소스 모듈을 지적하기 위해 준비시그널을 지정(assert)하고, 또 다른 연속되는 클럭 동안 소스 모듈이 또 다른 워드를 목적지 모듈로 전달하도록 목적지 모듈이 준비하고 있다.
상기 특허가 동기 버스 상에서 빠른 데이터 전송의 문제를 해결하려고 했음에도 불구하고,목적지 모듈이 준비시그널을 지정 (assert)해야 한다는 필요성으로 데이터 전송의 속도와 효율이 제한된다.
더욱이, 상기 특허가 동기 버스를 사용함에도 불구하고, 상기 특허는 대기 시간을 줄이기위해 데이터 스트림에 응답 문자들을 삽입하는 기술과 버퍼링 기술을 알려 주지도 제안하지도 않았다.
그러므로, 본 발명의 주요목적은 데이터 처리 시스템에서 모듈 사이에 파이프라인 데이터 전송을 사용한 양방향 동기 다중 드롭 시스텝에서 모듈 사이에 파이프라인 데이터 잔송을 사용항 양방향 동기 다중 드롭 데이터 버스 (bidreectional synchronous multi-drop datd bus)를 갖는 데이터 처리 시스템에서 효율적인 데이터 전송을 하는 것이다. 여기서 데이터 성공적인 전송완료를 쉽게 지적하기 위해 쪼개(break-in)지어 짧은 대기 시간을 제공하기 위해 패킷들로 전송된다.
본 발명에 따른 데이터 처리 시스템은 공통 버스에 연결된 하나 또는 그 이상의 프로세서들과, 공통 버스와 하나 또는 그 이상의 저장 서브시스템(storage subsystem)들과 연결된 하나 또는 그 이상 I/O 콘트롤러들과, 그리고 데이터처리 시스템에서 사용되는 데이터를 저장하기위한 하나 또는 그 이상의 저장 서브시스템들을 포함한다. 하나 또는 그 이상의 마스터 콘트롤러들은 메모리 서브시스템으로의 데이터 흐름과 메모리 서브시스템으로 부터의 데이터 흐름을 제어하는 슬레이브 (a slave)로서 간주되는 메모리 콘트롤러와 텅신하기 위해 각각의 I/O 콘트롤러에 포함한다. I/O 마스터 콘트롤러들과 메모리 콘트롤러 사이의 데이터 버스는 2× 2 바이트 병렬 인터페이스를 동기적으로 동작시키는 다중 드롭 버스이다.
본 발명의 장점은 파이프라인 패킷 데이터 전송을 가지고 양방향 동기 다중 드럽 버스를 사용함에 따라 I/O 콘트롤러 와 메모리 서브시스템 사이에 고속 고대역폭(high speed high bandwidth)데이터 전송이 가능하다는 것이다.
앞으로 순서에 따라서 다소 폭 넓게 본 발명의 특징과 기술적 장점을 설명하며. 이어지는 본 발명의 상세한 설명은 잘 이해될 수 있다.
본 발명은 폐쇄 반송 응답 (closed loop response)을 이용하는 데이터 전송들을 위한버스 라인들을 고 대역 성능 (high bandwidt performance)으 로 최적화하는 것이다 .데이터 버스는 메모리콘트롤러를 가지고 마스터 칩들로부터 슬레이브 칩까지 메모리 동작들을 조정하도록 하는 다중 드롭 버스 (multi-drop bus)이다. 상기버스를 위한 프로토콜은 2× 2 바이트 병렬 인터페이스이고,이것은 50MHZ (각각의 버스는 100 MB임)으로 운영되고, 그리고 이것은 완전 동기 버스 이다.
제1도를 참조 하여, 본 발명에 포함된 데이터 처리 시스템을 설명한다. 다수의 병렬 프로세서(12),(14),(16),그리고 (18)는 각각 버스(20)에 연결되고, 상기버스 하나 또는 그 이상의 저장 콘트롤러들(22),(24) 이 또 한 연결된다. 저장 콘트롤러들(22)과(24)는 프로세서들 (12),(13),(16), 그리고 (18)과 하나 또는 그 이상의 저장 장치 어레이들(26)간의 데이터 판독과 데이터 기록을 제어한다 제어 장치 어레이(26)는 축소 어레이독립 드라이브 (reduced array of independent drives;RAID)또는 몇몇 저장 디바이스들의 어레이들로 구현될 수 있다.
제2도를 참조하여, 슬레이브 콘트롤러(206)를 다수의 I/O 마스터들(202)과(204)사이에 연결한 것을 설명한다. 각각의 저장 콘트롤러(22)는 다수의 I/O 마스터들을 포함하는데,이 I/O 마스터들은 프로세서들 (12),(14),(16),그리고 (18)과 통신하기 위해 버스 (20)와 연결되고 마스터들(202)과 (204)그리고 슬레이브(206)간의 데이터 통신을 위해 내부 데이터 버스 (A:242)와 (A:244)에 연결된다. 슬레이브(206)는 저장 장치 어레이(26)를 판독하고 기록하는 것을 제어하기 위한 콘트롤러이다.
표 I 은 이름,소스 그리고 목적지에 의해 데이터 버스 시그널들을 나타 내고 있다.
여기서 :SLAVE는 유니트 (slave unit)로서 동작하는 버퍼 인터페이스 콘트롤러이다.
MASTER는 디바이스 부착 콘트롤러(Device Attach Controller)혹은 시스템 부착 콘트롤러(System Attach Controller)를 위한 지역 인터페이스로써 이들 콘트롤러는 마스터 유니트(master unite)로서 동작한다;그리고
샘플(A:B)이 시그널들은 언제(슬레이브에 의해) 데이터 버스를 (Sample(A:B))샘플하지를 지적하기 위해 마스터에 전달 된다. 상기샘플은 내부 슬레이브가 데이터 슬레이브가 데이터 버스를 중 어느 하나를 요청할 때 생성된다. 이시그널은 마스터 상의 데이터 버스 수신 로직(datd bus receiving logic )을 비준 (validate)한다.
모든 제어 분자들이 중목 바이트들을 갖고모든 데이터가 CRC로 보호 도기 때문에 패리트(parity)는 제공되지 않는다.
제어 문자(control character)들은 각각 두 바이트 길이이고 두 번째 바이트는 예비를 위해 첫 번째 바이트의 복제이다. 유효 문자들이 표 II에 서 보인다.
주 : TTTT는 대응하는 마스터 요청 명려의 일부로 전송되는 태그 (Tag)이다 TTTT= XXYZ의 값은 다음 정보를 반영한다; ·XX -0/1 모듈ID - 버스 상에판독 데이터를 전송할 때 슬레이브 에 의해 사용된다.
-00 - 사용되지 않음.
-01 - 모듈1
-10 - 모듈2
-11 - 모듈3
·Y - 0/1 판독 =0/기록 =1
·Z - 0/1 요청 ID
판독/기록 당 두 개의 아웃스탠팅 요청(outstanding request)들로 제한.
제3도 참조하여, 승인 동작을 설명한다.
슬레이브 모듈(206)은 마스터 모듈둘(334),(336),그리고(338) 의 A 입력들에 대한 라인(242)을 통해 버스(A)에 대한 승인 시그널 (grant signal)을 생성한다 버스(B)에 대한 승인은 마스터 모듈둘(334),(336),그리고(338)로 버스(224)를 통해 전송된다.
제4도는 참조 요청(reques)과 샘플 시그널(sample signal)을 설명한다,다시, 앞에서와같이 ,슬레이브 모듈(206)은 마스터 모듈(334)로부터 라인(402)을 통해 요청들을 받을 수 있고, 모듈(336)으로부터 라인(404)을 통해 요청들을 받을 수 있고, 그리고 모듈(338)로부터 라인(406)을 요청들을 받을 수 있다. 요청을 받은 다음에, 슬레이브 모듈(206)은 각각의 마스터 모듈들(334),(336), 그리고 라인(408)을 통해 샘플 시그널 (샘플A:B)을 전송한다 요청 시그널 ,승인 시그널, 그리고 샘플 시그널들은 표I 과 관련하여 보다 상세하게 위에서 모두 설명되었다.
제5도를 참조하여, 판독 동작(read operation)에대한 데이터 요청을 보다 상세히설명한다. 제5도는 다수의 클럭 사이클들의 지배하에 마스터 모듈(334)에 대한 시그널들을 나타내는 타이밍 차트이다. 여기서 마스터 모듈에 대한 시그널들은 하나의 사이클 요청 시그널이 상승( raising)하고,이어서 요청 시그널이 하강(dropping)하고, 이어서 몇 클럭 사이클 동안 다시요청 시그널이상승하는 것은 판독 요청을 지시 한다.
판독 요청에 뒤이어 승인 시그널의 액티브된 후 몇 사이클 후 데이터 버스(A)에 적당한 데이터를 싣고 슬레이브 모듈(206)로부터 승인이 뒤따르고, 뒤이어 판독되도록 요청된 데이터가 데이터 버스(A)에서 사용가능하다는 것을 액티브된 라인(408)을 통해 마스터(334)에 지시하는 샘플 시그널이 뒤따른다.
제6도를 참조하여, 기록 동작(write operation)에 대한 데이터 요청을 설명한다. 마스터 모듈(334)은 사이클 0에서 요청 라인을 상승시키고 요청라인을 상승시키고 요청라인은 사이클 7이끝날때까 지 업(up)상태를 유지하는 것을 유념해라. 이것은 기록 요청을 지시한다.이러서 승인 시그널(A)과 승인 시그널 (1)이 상승되고 몇 사이클 후 요청된 기록 데이터 버스에서 액티브하게 된다.
상술한 바와 같이 판독가 기록을 위한 데이터 요청은 단일 마스터(334)로부터 개별적으로 발생하는 단일 요청들이다.
제7도를 참조하여, 동일 데이터에 대한 두 개의 요청들ㅇ늘 설명한다 마스터 모듈(334)은 기록 요청을 지시하는 요청 라인을 상승시킨다. 동시에, 마스터 모듈(336)은 기록 요청을 지시하는 요청 라인을 상승시킨다. 마스터 모듈(334)로부터이 요청은 사이클 5에서 요청 라인의 한 사이클 하강이 존재하기 때문에 요청(multiple request)이라고 인지된다. 버스 A라인에대한 승인_0은 사이클 2가 시작될 때 상승되고, 버스A라인에 대한 승인_1은 사이클 8이 시작할 때 상승된다 마스터 모듈(334)로부터 요청에 응답하는 데이터는 사이클 4가 시작할 때 데이터 버스A(242)상에서 액티브 하고 사이클 8 이 끝날 때까지 계속된다. 데이터 마스터 모듈(334)로부터의 두번째 요청에 응답하여 데이터 버스A(242)상에서 액티브되고 뒤이어 주기적으로1_사이클 하강이 존재한다.
데이터 버스B(244)에 관하여 살펴보면, 데이터 버스B(244)에 대한 승인(0)과(1)은 액티부하지않고, 이에 반해 샘플(B)은 사이클 2가 시작 될 때 액티브되고 그 후에 많은 사이클 동안 액티브가 계속된다. 이어서, 데이터는 마스터 모듈(336)로부터 요청에 응답하여 데이터 버스B(244)상에서 가능하게 된다.
제8도를 참조하여, 마스터가 슬레이브 동작을 하고 뒤이어 슬레이부가 하나의 버스에서 마스터 동작을 또 다른 버스에서 샘플 동작을 하는 타이밍을 설명한다.
제7도와 관련하여 상기한 바와 같이, 마스터 모듈(334)은 다중 요청 시그널 슬레이브 모듈(206)에 주고 동시에, 마스터 모듈(336)은 단일 요청을 슬레이브 모듈(206)에 준다. 슬레이브 모듈 (206)은 마스터 모듈(334)에 대한 요청의 승이을 지시하는 승인(0)라인을 상승시키고 마스터 모듈(336)에 승인을 주지 않는다. 이어서, 데이터 버스A(242)에서 액티브 되고 , 그 다음에 라인(408)의 샘플 시그널 버스A에 대해 상승된다. 따라서, 마스터 모듈(334)나 (336) 중 어느 하나를 승인하지않는 것은 단지 버스B를 승인하기 위함이고, 버스B 상의 샘플은 사이클 2의 시작 시점에 상승되고 데이터는 버스B에서 그 후의 사이클 사용가능하게된다.
제9도를 참조하여, 슬레이브 모듈(206)이 기록 덩작의 결과에따라 성공 응답 시그널 (sussess response signal)의 전성을 지시하는 것을 나타낸 타이밍 차트이다. 슬레이브 모듈(206)은 사이클 2동안 버스A(242)를 통해 샘플 시그널을 상승시키고 , 다시 사이클 4동안 버스A(242)를 통해 샘플 시그널 상승시킨다 . 사이클 4와6 동안, 슬레이브 모듈 (206)은 데이터 버스A(242)가 표 II 에 많은 제어 문자가 기술된 바와 같이 어떤 제어 문자를 포함하는 것을 나타낸 제어(A)를 상승 시킨다. 그러므로, 사이클에서 데이터 버스(A)에서 보이는 문자 N 은 제어 문자를 나타내고 데이터를 나타내지않는다. 마찬가지로, 제어 _A는 사이클 6에서 액티브이고, 사이클 6에서 데이터 버스A(242) 상의 문자 P가 제어 문자를 표현한다는 것을 알려 준다. 유사하게, 데이터 버스 B(244)에 대하여, 사이클0 과 4에서 샘플(B)이 발생되고, 뒤이어 사이클 2 와 6 에서 제어_B가발생한다. 사이클 2 와 6에서 신호로 알려진 제어_B는 데이터 버스(244)가 사이클 2 와 6 동안에 각각 제어 문자를 포함한다는 것을 알려 준다.
[데이터 버스 프로토콜]
모든 메모리 동작(memory operation)들은 마스터 의해 전송되고 슬레이브 응답 프레임(Slave Response Frame)에 뒤따르는 마스터 제어 프레임 (Master Control Frame)이나 슬레이브 의해 전송된 성공 응답 제어 문자 (Sussess_Response Control character)로 구성된다 제어 프레임( Control Frame )과 응답 프레임(Respons Frame)은 상기 메모리 동작이 판독 (Read)과 기록 XOR(Write XOR)중 어느 거이냐 에 따라 두 가지 형태(form)들을 갖는다.
RAID 아키텍쳐의 패트리 기능은 하나의 패트리 디스크 상의 하나의 슬롯에의해 n 데이터 디스크들로부터 n 슬롯들을 포함한다. 이 n 데이터 슬롯들과 패리티 슬롯 모두는 하나의 패리티 그룹으로 명명된다 하나의 디스크가 고장나면, 손실 데이터나 패리트 는 남은n 디스크로부터 패리티 그룹에 의해 항상 복구될 수 있다. 하드웨어 배타적 오아 (Exclusive OR :XOR)에 의해 고속 패리티 슬롯이 생성될 수 있다 XOR 은 두 개의 입력스트림을 가지며 , 이 이력 스트림은 하나의 출력 데이터 스트림을 생성 하기 위해 동기화된 바이트 이다.
하나의 패리티 슬롯을 계산하기 위해서는 XOR 기능이 n 회 호출되어 야 하는데 이때 n 은 하나의 페리티 그룹 내의 데이터 디스크들의 수이다. 매번 노드의 출력 포트는 패리티 그룹 안의 n 데이터 슬롯들 중 하나를 명기한다. 동시에 입력 포트는 이 패리티 그룹의 동일 패리티 슬롯을 명기한다.
제13도를 참조하여, 하드웨어 배타적 오아(XOR)의 단일 소스 이중 노드의 예를 더욱 상세히 설명한다.
각각의 노드(1302)와(1322)는 스위치(1312)와 (1314)를 통해 버스(1316)에 각각 연결 된다. 첫 번째 노드 (1302)는 데이터 스트림 생성기(1306)를 통해 버퍼(1304)로부터 데이터를 출려하는 출력 포트를 포함한다. 입력 포트 는 배타적 오아 (XOR)회로 (1310)의 하나이 입력 포트에연결 되며, 이 배타적 오아(XOR) 회로는 입력 버퍼(1308)에 연결된 출력 포트를 갖는다.
일반적으로, 상기한 바와 같이 노드 (1302)는 슬레이브 모듈(206)일 수 있다 배타적 오아(XOR;1310)의 입력 데이터 스트림I 는 입력 데이터 스트림I 에 포한된 주소에 버퍼(1308)로부터 출력 데이터를 가지고 배타적 오아(XOR) 된다. 배타적 오아(XOR) 회로 (1310)에서의 배타적 오아(XOR) 동작 결과는 새로운 데이터이고, 이 데이터는 명기된 주소 위치 내에 저장된다 성공 응답 제어 문자 (Sussess_Response Control character)는 단일 두 바이트 제어 문자 이고, 이 제어 문자는 성공적 기록(Write)또는 XOR 동작에 대한 빠른 응답을 위해 사용된다 (정상인 경우)
노드 (1322)는 버퍼(1324)와 데이터 스트림 생성기(1326)를 포함하고, 데이터 스트림 생성기 버퍼 (1324)에 저장된 데이터로부터 노드(1322)의 테이터 스트림 출력을 생성한다.성공 응답 제어 문자는 단일 두 바이트 제어 문자 이고, 이제어 문자는 성공적 기록(Write) 또는XOR 동작에 대한 빠른 응답을 위해 사용된다 (정상인 경우)]
모든 제어 문자들(널(Null)들을 포함)은 하나의 프레임의 중간에 전송 될 수 있다. 유효 제어 문자나 유효 데이터 문자는 데이터 버스의 소유자가 승인/샘플(grant/sample)을 가질 때 메 사이클 전송된다.
만약 에러가 기록이나 판독 동안에 감지 되면, 슬레이브는 에러 응답 제어문자(errorResponse Control character)를 리턴한다.
각각의 마스터는 어느 시점에 (마스터 프레임이 전송되었으나 응답 플레임이 수신되지 않은 경우) 두 개의 기록 동작 아웃스탠딩과 두 개의 판독 동작 아웃스탠딩을 가질 수 있다.이것은 이전의 명령 프레임이 메모리에 저장 (queue)되어 있는 동안 버스가 추가적 명령들이나 응답 플레임들을 전송하기 위해 사용되도록 한다.
[미스터프레임 정의]
제10도를 참조하여, 마스터 제어 프레임들(1000)을 설명한다. 두 가지 타입의 마스터 제어 플레임들(1000)이 존재 한다. 첫 번째는 판독 동작에 대한 것으로 2-바이트 명령(1002),4-바이트 주소(1004),그리고 2-바이트 순환중복 문자(cyclical redundancy character;1006)로 구성된다. 마스트 제어 프레임(1000)의 두 번째 타입은 기록 또는XOR 동작을 위한 것으로 2-바이트명령 (1008),4바이트 주소(1010)와, 명령(1008)의 카운트 필드에 명기된 데이터 바이트(1012),(1014)와 그리고 2-바이트CRC(1016)로 구성된다. 명령 (1002),(1008)는 동작 형태를 나타내는 3비트를 포함하는 첫 번째 바이트를 갖으며 ,이때 3비트는 판독을 지시하는 하나의 비트와, 기록을 지시하는 하나의 비트와, 그리고 XOR을 지시하는 하나의 비트들을 나타낸다. 명령 (1002),(1008)의 첫 번째 바이트 네 번째 비트는 항상 0이다. 첫 번째 바이트의 나머지 응답이 관련되는 응답 프레임에 복사된 4-비트 태그(tag)를 포함한다. 명령 (1002),(1008)의 두 번째 바이트는 메모리 동작을 수행하기 위한 바이트 카운트를 나타내는 8-비트 카운트 필드이다.
[슬레이브 프레임 정의]
제11도를 참조하여. 슬레이브 응답 프레임(1000)을 설명한다. 판독 동작들을 위한 슬레이브 응답 프레임(1100)은 2-바이트 명령(1102)과 4-바이트 주소 (1104)와 명령 (1106),(1108)의 카운트 필드에 명기된 다수 의 데이터 바이트들과, 그리고 2-바티으 CRC(1110)으로 구성된다.
슬레이브 모듈 (206)애서 판독 응답 프레임들의 경우, 2- 바이트 명령(1102)은 제 10도르  참조 하여 상술한 바와 같이 마스트 제어 프레임 (1000)의 명령 (1002),(1008)과 동일하다. 그러나 명령(1102)의 에러비트는 버스 동작이나 메모리 동작 중에 동작 완료를 방해 하는 하드웨어 에러들을 보고 하는 데 사용된다.제어 문자들 , CRC 테이터 카운트,메모리 내의 조소 범위 검사 (addressrange checking)와 ECC 가 에러들에 대해 테스트된다.
만약 마스터(336)나 슬레이브(206)중 어느 하나가 하나의 프레임을 전송 중에 어떤 에레를 감지하면 ,프레임은 전송 된 데이터에 대한 CRC 를 뒤이어 취소 제어 문자 (cancel Control character)를 즉시 전송함으로써 중단될 수 있다. 취소 제어 문자 는 또 다른 검사들이 카운트 불일치나 CRC 에러 들같이 보고되지 않도록 해야 한다. 만약 어떤 비제어 문자(noncontrol character)들이 취소 제어 문자를 전송 한 후 전송 되면 ,에러조건은 불법 취서 문자( Illegal control character)를 세팅한다.
만약 마스터 모듈(334)전송 할 어떤 데이터도 갖지 않으면 ,데이터 프레임(1012),(1014)을 널 (null)제어 문자 로 대체할 수 있다.
브레이크 시작 제어 문자 (break start control character)는 짧은 판독 프레임이 기록/XOR 제어 프레임의 중간에 삽입되는 것을 나타내기 위해 사용될 수 있다. 이것은 기록/XOR 동작에 단지 적은 시간 응보(penalty)를 갖게하여 판독 동작의 지연 시간을 줄이는 데 사용된다. 브레이크 시작 제어문자들은 마스터 제어 기록/XOR 동작에 단지 제어 프레임(1000)내의 명령/주소 필드 뒤에만 전송되어야 한다. 기록 데이터 대한 CRC 프레임이 전송된 후 브레이크 제어 문자 다음에 항상 명령 /주소/ CRC가 뒤따른다.
[취소 제어문자]
만약 마스터나 슬레이브 중 어느 하나가 하나의 프레임을 전송 중 어떤 에러를 감지하면, 이것들은 (전송된 데이터에 대한)CRC를 뒤이어 취소제어 문자 (cancel Control character)를 즉시 전송함으로써 프레임을 중단시킬 수 있다. 취소 제어 문자는 또 다른 검사들이 카운트 볼일치나 CRC에러들 같이 보고되지 않도록 해야 한다. 만액 어떤 비제어 문자 (noncontrol character)들이 취서 제어 문자를 전송한 후 전송되면 , 검사는 어떤 예기치 않은 취소문자들을 검출한다.
[널 제어문자]
만약 마스터가 전송할 어떤 데이터도 갖지 않으면 ,데이터 프레임을 널(null)제어 문자로 대체할 수 있다. 명령 프레임과 주소 프레임은 널 제어 문자로대체될 수 어뵤다는 것에 유념하라.
[브레이크 제어문자]
널 문자는 주소 프레임 후와 CRC 프레임 정 삽입 될 수 있다.
브레이크 시작 제어 문자 (Break Start Control characte)는 짧은 판독 제어 프레임이 판독/XOR 제어 프레이미의 중앙에 삽입되고 있다는 것을 지적하는데 사용된다. 이것을 기독/XOR 동작에 단지 적은 시간 응보(penalty)를 갖게 하여 판독 동작의 지연 시간을 줄이는 데 사용된다. 브레이크 _시작 제어 문자들은 마스터 제어 기록/XOR 동 작 제어 프레임(1000)내의 명령/주소 필드 뒤에만 전송되어야 한다. 기록 데이터에 대한 CRC 프레임이 전송된 후 브레이크 제어 문자 다음에 항상 명령/주소/CRC가 뒤따른다 주목할 것은 널 제어 문자들은 (브레이크 제어 문자 후에)판독 요청 부분으로서 전송될 수 없다는 것이다 브레이크 문자는 단지 두 번째 주소 플레임 후 와 CRC 프레임 전에만 삽입 될 수 있다.
[에러응답]
기록에 대해 마스터가 슬레이브로 데이터를 전송할 때, 만액 슬레이브가 어떤 에러를 감지하면,
에러 응답 제어문자(error ResponseControl characte)를 갖고 응답한다. 에러응답 제어 문자 는 에러 발생을 간단히 나타낸다. 실제 특별하 형태의 에러를 결정하기위해 슬레이브 에러 검사 레지스터(slave error checker register)를 판독할 필요가 있다 주목할 것은 슬레이브는 에러에 기인하여 인터럽트를 보고한다는 것이다. 다음은 슬레이브가 보고한다는 에러들의 리스트이다.
·무효 제어 문자 (invalid control characte)
-불법 제어 문자 ( Illegal control character)
-불법 취소 믄자 ( Illegal canael character)
·CRC 에러
·카운트 블일치(count mismatch)
·주서 에러 (Address Error)
- CMI 상의 불법 주소 응답 ( Illegal Addres Response)
주목할 것은 기록들에 대한 슬레리브로주터 CRC에러 응답은 전송 되는 태그 정보를 무효화한다는 것이다. 마스터는 기록들의 요청이 무효인 것을 마크하느 태그정보에 의존할 수 없다.
기록에 대해 마스터가 에러를 감지라면 마스터는 취소 문자를 갖고 동작을 중지 시킨다. 슬레이브는 에러들이 검출됨에도 불구하고 취소문자 때문에 응답을 생성할 수 없다. 슬레이브는 판독 동안 만약 에러가 감지 되면 취소 제어문자를 전송한다. 이러한 것을 일으킬 수 있는 하나의 검사가 마스터에 전송되는데 데이터 대한 내부 슬레이브 데이터 패리티 검사 (internal slave data parity check)d이다.
만약 슬레이브가 판독 동작 동안 메모리부터 데이터를 판독할 때 에어를 검출하면. 슬레이브는 상기 검사가 데이터 버스 인터페이스에서 판독동작을 시작하기 전에 검출 되었기 때문에 에러 응답 제어 문자를 단지 전송할 뿐이다.
[최대 데이터 크기]
하나의 프레임에서 허락된 최대 데이터 크기는 128바이트 (명령,주소,또는CRC 를 포함하지않음.) 이다. 이것은 긴 전송 때문에 요구된 버퍼링 양을 제한하고 지연 시간을 제한하기 위해 임의로 부과된 제한이다.
[최대 아웃스탠딩 요청들]
어떤 마스터로부터 최대 판독 요청들과 동작들은 두 개이다 . 슬레이브는 버퍼링을 통해 네 개가 판독 요청들과 네 개 의 기록 동작들 모두를 지원한다. 마스터는 그들의 아웃스탠팅 판독 요청들과 기록 동작들의 트랙(track)을 유지하여 단지 압축된 데이터를 판독 하거나 기록할 때 전송 링크당 그것들의 제한을 초과하지 않게 하여야 한다.
초기 전원 공급(Power-on)(자가 검사 후) 때 마스터는 어떤 응답 프레임들로 수신하지 않고 두 개의 기록 명령 플레임들과 판독 명령 프레임들을 전송 할 수 있다.
[데이터 버스 CRC 정의]
다음에 데이터 버스 인터페이스 CRC 의 XOR 구조를 설명한다. CRC는 두바이트 길이를 갖고 초반에 두 바이트로 리셋된다. 생성기 다항식은:
[데이터 버스]
제12도에 도시한 바와 같이, 모든 제어 문자와 데이터 문자는 동일 사이클 안에 전송되고 수신된다. 모든 데이터 버스 시그널들은 매 20ns 사 이클마다 두 바이트 문자 하나를 전송하는데 필요한 타이밍 조건을 만족 시키기 위하여 제한 래치에 있어야 한다.
본 발명과 이것의 장점을 상세히 설명 하였지만 ,본 발명의 사상과범 위를 벗어나지 않고 다양한 변환, 대체, 그리고 변경이 가해질 수 있다.

Claims (11)

  1. 공동 버스에 연결된 하나 또는 그 이상의 프로세서들과, 상기공통 버스와 하나 또는 그 이상의 저장 서브 시스템에 연결된 하나 또는 그 이상의 I/O 콘트롤러들을 포함하고 상기 각각의 I/O 콘트롤러는 슬레이브 메모리 콘트롤러와 통신하기 위한 한 또는 그 이상의 마스터 콘트롤러들과 데이터를 저장하기 위해 하나 또는 그 이상의 저장 서브 시스템들을 포함하며, 여기서 상기 슬레이브 메모리 콘트롤러는 상기 하나 또는 그 이상의 마스터 콘트롤러에 접근하는 것을 승인함으로써 메모리 서브 시스템으로의 데이터 흐름과 상기 메모리 서브 시스템 으로부터 의 데이터 흐름을 제어 하는 것을 특징으로 하는 데이터 처리 시스템
  2. 제1항에 있어서, 상기 I/O 마스터 콘트롤러들과 상시 슬레이브 메모리 콘트롤러를 연결하고 미리 정해진 병렬 인더페이수 상에서 동기적 으로 동작하는 데이터 버스를 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  3. 제1항에 있어서, 상기 하나 또는 그 이상의 마스터 콘트롤러들의 동작을 제어하기 위한 마스터 제어 프레임을 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  4. 제3항에 있어서,상기 마스터 제어 프레임은 판독 동작을 위한 제 1제어 프레임과;기록 동작이나 배타적 오아 동작 (Exclusive Or operation)들을 위한 제2제어 프레임을 더 포함하는 것을 특징으로 하는 데니터 처리 시스템.
  5. 제1항에 있어서, 슬레이브 응답 프레임을 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  6. 제 5항에 있어서, 상기 슬레이브 응답 프레임은 판독 동작에 응답하는 제1슬레이브 응답 프레임과;기록 동작이나 배타적 오아 동작에 응답하는 제2응답 프레임과;기록 동작이나 배타적 오아 동작의 성공을 신호로 알리는 제3응답 프레임을 더 포함하는 것을 특징으로 하는 테이터 처리 시스템.
  7. 제1항에 있어서 ,상기 동기적인 양방향 공통 버스는 대기 시간을 줄이고 시스템 성능을 향상 시키기 위해 복수 개의 마스터 콘트롤러들이 나 복수 개의 슬레이브 콘트롤러들 사이에 수위칭되는 능력을 갖는 복수개의 버스들을 더 포함하는 것을 특징으로 하는 데이터 처리 시스템
  8. 제1항에 있어서, 상기 동기 양방향 공통 버스 상에서 데이터 전송을 제어하기 복수 개의 제어 문자들을 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  9. 제 8항에 있어서, 상기 제어 문자들을은 데이터가 지연될 때 동기를 유지하기 위해 데이터 스트림 내에 삽입될 수 있는 널 문자 (null character)들을 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  10. 제8항에 있어서, 상기 젱어 문자들은 상기 데이터 스트림 즉 각적의 종료를 위해 데이터 스트림 내에 삽입될 수 있는 취소 문자(cancel characte)들을 더 포함하는 것을 특징으로 하는 데이터 치리 시스템.
  11. 제8항에 있어서, 상기 제어 문자들은 이전 전송의 성공이나 혹 은 실패를 지적하여 즉각적인 응답을 허락하기 위해 데이터 스트림 내에 삽입될 수 있는 브레이크 문자(break characte)를 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
KR1019960020204A 1995-06-07 1996-06-07 양방향 동기 다중 드롭 데이터 버스를 갖는 데이터처리시스템 KR100195856B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/480,010 US5687393A (en) 1995-06-07 1995-06-07 System for controlling responses to requests over a data bus between a plurality of master controllers and a slave storage controller by inserting control characters
US8/480,010 1995-06-07
US08/480,010 1995-06-07

Publications (2)

Publication Number Publication Date
KR970002617A KR970002617A (ko) 1997-01-28
KR100195856B1 true KR100195856B1 (ko) 1999-06-15

Family

ID=23906306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960020204A KR100195856B1 (ko) 1995-06-07 1996-06-07 양방향 동기 다중 드롭 데이터 버스를 갖는 데이터처리시스템

Country Status (3)

Country Link
US (1) US5687393A (ko)
JP (1) JPH08335204A (ko)
KR (1) KR100195856B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203728B2 (en) * 1993-01-26 2007-04-10 Logic Controls, Inc. Point-of-sale system and distributed computer network for same
US6272529B1 (en) 1993-01-26 2001-08-07 Logic Controls, Inc. Point-of-sale system and distributed computer network for same
US6047002A (en) * 1997-01-16 2000-04-04 Advanced Micro Devices, Inc. Communication traffic circle system and method for performing packet conversion and routing between different packet formats including an instruction field
US6425020B1 (en) * 1997-04-18 2002-07-23 Cirrus Logic, Inc. Systems and methods for passively transferring data across a selected single bus line independent of a control circuitry
US5896383A (en) * 1997-05-01 1999-04-20 Advanced Micro Devices, Inc. System and method for encoding instruction fields within data packets
AU7575098A (en) * 1997-05-16 1998-12-08 Logic Controls, Inc. Point-of-sale system and distributed computer network for same
JP3419334B2 (ja) 1999-01-14 2003-06-23 日本電気株式会社 データ処理装置および方法
US7213061B1 (en) 1999-04-29 2007-05-01 Amx Llc Internet control system and method
US6801529B1 (en) * 1999-06-08 2004-10-05 Amx Corporation Method and system for sending messages to multiple locations in a control system
US6657646B2 (en) 1999-06-08 2003-12-02 Amx Corporation System and method for multimedia display
KR20010018338A (ko) * 1999-08-19 2001-03-05 권상문 전자선 폐수 처리장치
US6745268B1 (en) * 2000-08-11 2004-06-01 Micron Technology, Lnc. Capacitive multidrop bus compensation
US7224366B2 (en) 2002-10-17 2007-05-29 Amx, Llc Method and system for control system software
US7984195B2 (en) * 2006-07-07 2011-07-19 Logic Controls, Inc. Hybrid industrial networked computer system
WO2007030421A2 (en) 2005-09-07 2007-03-15 Amx Llc Method and computer program for device configuration
JP2008078768A (ja) * 2006-09-19 2008-04-03 Denso Corp ネットワークシステム,ネットワークデバイスおよびプログラム
US11126372B2 (en) 2013-04-01 2021-09-21 Hewlett Packard Enterprise Development Lp External memory controller
EP2981900B1 (en) * 2013-04-01 2022-02-09 Hewlett Packard Enterprise Development LP External memory controller

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
US4183089A (en) * 1977-08-30 1980-01-08 Xerox Corporation Data communications system for a reproduction machine having a master and secondary controllers
US5093804A (en) * 1984-06-04 1992-03-03 Ge Fanuc Automation North America, Inc. Programmable controller input/output communications system
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
EP0387464B1 (en) * 1989-03-14 1994-06-22 International Business Machines Corporation Switching system for simultaneously transferring data between data processing units
EP0435344B1 (en) * 1989-12-28 1995-10-25 Canon Kabushiki Kaisha Multi-media terminal apparatus
US5353417A (en) * 1991-05-28 1994-10-04 International Business Machines Corp. Personal computer with bus interface controller coupled directly with local processor and input/output data buses and for anticipating memory control changes on arbitration for bus access
US5191656A (en) * 1991-08-29 1993-03-02 Digital Equipment Corporation Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters
US5265211A (en) * 1992-01-02 1993-11-23 International Business Machines Corporation Arbitration control logic for computer system having dual bus architecture
US5465340A (en) * 1992-01-30 1995-11-07 Digital Equipment Corporation Direct memory access controller handling exceptions during transferring multiple bytes in parallel
US5418924A (en) * 1992-08-31 1995-05-23 Hewlett-Packard Company Memory controller with programmable timing
US5499384A (en) * 1992-12-31 1996-03-12 Seiko Epson Corporation Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device
US5394526A (en) * 1993-02-01 1995-02-28 Lsc, Inc. Data server for transferring selected blocks of remote file to a distributed computer network involving only single data transfer operation
US5463643A (en) * 1994-03-07 1995-10-31 Dell Usa, L.P. Redundant memory channel array configuration with data striping and error correction capabilities

Also Published As

Publication number Publication date
US5687393A (en) 1997-11-11
KR970002617A (ko) 1997-01-28
JPH08335204A (ja) 1996-12-17

Similar Documents

Publication Publication Date Title
KR100195856B1 (ko) 양방향 동기 다중 드롭 데이터 버스를 갖는 데이터처리시스템
US6370611B1 (en) Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data
EP0185609B1 (en) Coherent interface with wraparound receive and transmit memories
US6434720B1 (en) Method of checking data integrity for a RAID 1 system
US5313627A (en) Parity error detection and recovery
US5255374A (en) Bus interface logic for computer system having dual bus architecture
JP7543348B2 (ja) パーシステントメモリシステム等のデータ完全性
US8086915B2 (en) Memory controller with loopback test interface
US5659696A (en) Method and apparatus for determining address location and taking one of two actions depending on the type of read/write data transfer required
CN100444131C (zh) 具有仲裁分组协议的存储器仲裁系统及方法
US6978397B2 (en) Memory controller supporting redundant synchronous memories
JP2846837B2 (ja) 障害を早期検出するためのソフトウェア制御方式のデータ処理方法
US20080244121A1 (en) Method and apparatus for memory compression
US8612684B2 (en) Memory controller connection to RAM using buffer interface
US6182267B1 (en) Ensuring accurate data checksum
CN113495862B (zh) 一种具有ecc功能的总线桥装置
US6678768B1 (en) Method and apparatus for configuring redundant array of independent disks (RAID)
US5581790A (en) Data feeder control system for performing data integrity check while transferring predetermined number of blocks with variable bytes through a selected one of many channels
EP0188990B1 (en) Coherent interface with wraparound receive memory
US6370616B1 (en) Memory interface controller for datum raid operations with a datum multiplier
US5838892A (en) Method and apparatus for calculating an error detecting code block in a disk drive controller
US7213180B2 (en) Bus bridge circuit, bus connection system, and data error notification method for bus bridge circuit
US20240004583A1 (en) Protocol for data poisoning
JPH0731641B2 (ja) 非同期データ転送システムおよび方法
US20020174282A1 (en) Multiprocessor system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee