KR0176096B1 - Data transfer apparatus between synchronous buses - Google Patents

Data transfer apparatus between synchronous buses Download PDF

Info

Publication number
KR0176096B1
KR0176096B1 KR1019960047124A KR19960047124A KR0176096B1 KR 0176096 B1 KR0176096 B1 KR 0176096B1 KR 1019960047124 A KR1019960047124 A KR 1019960047124A KR 19960047124 A KR19960047124 A KR 19960047124A KR 0176096 B1 KR0176096 B1 KR 0176096B1
Authority
KR
South Korea
Prior art keywords
bus
standby
active
transaction
fifo
Prior art date
Application number
KR1019960047124A
Other languages
Korean (ko)
Other versions
KR19980028132A (en
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 양승택
Priority to KR1019960047124A priority Critical patent/KR0176096B1/en
Publication of KR19980028132A publication Critical patent/KR19980028132A/en
Application granted granted Critical
Publication of KR0176096B1 publication Critical patent/KR0176096B1/en

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/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication

Abstract

고장 감내형을 구성하는 이중화 CPU 시스템에서 액티브측 CPU 시스템과 스탠바이측 CPU 시스템간의 메모리 맵을 일치시키는 동기 버스간의 고속 데이터 전송장치가 개시된다.A high speed data transfer apparatus between a synchronous bus that matches a memory map between an active CPU system and a standby CPU system in a redundant CPU system constituting a fault tolerant type is disclosed.

본 발명은 동기 로칼 버스에서 일어나는 여러 가지 CPU 트랜잭션 동작 가운데 쓰기(write) 동작에 한해서, 특정 영역 또는 전 메모리 영역을 감시하다가 라이팅이 일어나면 이를 데이터 저장 FIFO에 저장하였다가 백 플레인 버스를 통하여 스탠바이쪽 로칼 버스에 동일한 라이트 트랜잭션을 발생시킴으로써 액티브, 스탠바이 블록의 메모리 맵을 일치시키는 것이다.According to the present invention, only a write operation among a variety of CPU transaction operations occurring in a synchronous local bus may monitor a specific area or an entire memory area, and when writing occurs, store the data in a data storage FIFO and then use a standby side local through a backplane bus. By creating the same write transaction on the bus, the memory maps of the active and standby blocks are matched.

본 발명에 의하면 별도의 소프트웨어적인 추가 액션 없이, 또한 데이터 저장을 위한 FIFO 용량의 증가없이 하드웨어적으로 라이트 트랜잭션 트래픽을 감소시킴으로써, FIFO 넘침을 방지할 수 있다.According to the present invention, FIFO overflow can be prevented by reducing the write transaction traffic in hardware without any additional software additional action and without increasing the FIFO capacity for data storage.

Description

동기 버스간의 고속 데이터 전송장치High speed data transfer device between synchronous buses

제1도는 본 발명에 의한 고속 데이터 전송장치의 적용예를 설명하기 위한 고장 감내형 이중화 CPU 시스템의 블록도.1 is a block diagram of a fault tolerant redundant CPU system for explaining an application example of a high-speed data transmission apparatus according to the present invention.

제2도는 본 발명에 의한 고속 데이터 전송장치의 기능별 블록도.2 is a functional block diagram of a high speed data transmission apparatus according to the present invention.

제3도는 제2도에서의 액티브 블록을 상세 도시한 블록도.FIG. 3 is a block diagram showing details of an active block in FIG.

제4도는 제2도에서의 스탠바이 블록을 상세 도시한 블록도이다.FIG. 4 is a detailed block diagram of the standby block in FIG.

본 발명은 한 CPU 시스템의 메모리를 백 플레인 버스를 통해서 반대편의 CPU 시스템의 메모리에 전송하는 두 CPU 시스템간의 메모리 전송 장치에 관한 것으로서, 특히 고장 감내형을 구성하는 이중화 CPU 시스템에서 액티브측 CPU 시스템과 스탠바이측 CPU 시스템간의 메모리 맵을 일치시키는 동기 버스간의 고속 데이터 전송장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory transfer device between two CPU systems that transfers memory of one CPU system to a memory of an opposite CPU system through a backplane bus. In particular, the present invention relates to an active CPU system in a redundant CPU system constituting a fault tolerance type. A high speed data transfer device between synchronous buses that matches a memory map between standby side CPU systems.

기존에 사용된 고속 데이터 전송장치의 문제점은, 액티브 영역과 스탠바이 영역의 특정 메모리 구간의 데이터를 일치시키기 위해서 액티브측의 메모리 쓰기 작업 이외에도 별도로 확장된 개념의 어드레스 맵으로 스탠바이측 메모리 쓰기를 소프트웨어에서 수행해야 하기 때문에 성능이 떨어지는 문제점이 있다.The problem with the conventional high speed data transfer apparatus is that in addition to the memory write operation on the active side in order to match the data in a specific memory section of the active area and the standby area, the standby side memory write is performed in software using an address map of an extended concept. There is a problem of poor performance.

더욱이, 동시 쓰기를 하더라도 스탠바이쪽의 메모리가 완전히 write 되어야 응답 신호를 받을 수 있으므로 전체적으로 시스템 성능을 저하시킨다. 또한, 이러한 기존의 방식은 비동기 로칼 버스에는 구현이 가능하지만, 동기 로칼 버스간의 데이터 전송에는 적합치 않다는 문제점을 갖는다.In addition, even with simultaneous writes, the standby side memory must be completely written to receive a response signal, thereby reducing overall system performance. In addition, this conventional scheme can be implemented in an asynchronous local bus, but has a problem in that it is not suitable for data transmission between synchronous local buses.

전술한 문제점 외에도 고속 데이터 전송장치에는 순간적으로 발생하는 많은 양의 라이트(write) 트랜잭션에 기인하여 데이터 저장 FIFO(First In First Out)의 넘침(full) 현상이 발생하는 문제점을 갖는다. 이러한 현상은 이동될 데이터가 액티브 버스의 메모리에 라이트되는 것을 바로 데이터 FIFO에 저장하고, 이를 스탠바이 블록의 이중 포트 메모리에 이동시킨 후 다시 스탠바이 버스권을 잡고 스탠바이 블록의 로칼 메모리에 저장하기까지 많은 시간이 소요되기 때문이다. 이러한 FIFO 넘침은 버퍼링을 위한 데이터 저장 FIFO 사이즈를 크게 함으로써 어느 정도 방지될 수 있지만 근본적인 해결책은 되지 못하고 있다.In addition to the above-described problems, the high-speed data transmission apparatus has a problem in that a full storage of data in First Out First Out (FIFO) occurs due to a large amount of write transactions occurring instantaneously. This phenomenon saves a lot of time before the data to be moved is written to the memory of the active bus directly to the data FIFO, moved it to the dual-port memory of the standby block, and then again takes the standby bus right and stores it in the local memory of the standby block. Because it takes. This FIFO overflow can be somewhat prevented by increasing the data storage FIFO size for buffering, but it is not a fundamental solution.

따라서, 본 발명은 전술한 문제점들을 해소하기 위해 안출된 것으로서, 그 목적은 별도의 소프트웨어적인 추가 액션 없이, 그리고 FIFO 용량의 증가없이 하드웨어적으로 라이트 트랜잭션 트래픽을 감소시킴으로써, FIFO 넘침을 방지할 수 있는 동기 버스간의 고속 데이터 전송장치를 제공하는데 있다.Accordingly, the present invention has been made to solve the above-described problems, and its object is to reduce the write transaction traffic in hardware without additional software additional action and without increasing the FIFO capacity, thereby preventing FIFO overflow. It is to provide a high speed data transmission device between synchronous buses.

상기 목적을 달성하기 위한 본 발명은 액티브 블록과 스탠바이 블록으로 구별된 두 CPU 시스템의 동기 버스간의 고속 데이터 전송장치에 있어서, 데이터 저장 FIFO에 저장된 각각의 트랜잭션의 크기 및 에러 정보를 저장하는 정보 저장 FIFO, 액티브 로칼 버스의 정합 기능을 수행하고 해당 라이트(write) 트랜잭션을 감지하여 이를 상기 데이터 저장 FIFO에 저장하는 액티브 로칼 버스 정합수단, 상기 데이터 저장 FIFO의 프로그래머블 풀(programable full) 신호를 이용하여 일정 이상의 데이터가 데이터 저장 FIFO에 차면 액티브 로칼버스의 버스권을 획득하여 강제로 버스권을 잡아 액티브 로칼 버스상의 라이트 트랜잭션 트래픽을 감소시키기 위한 FIFO를 감시 및 액티브 버스권 획득수단, 상기 액티브 버스에서 일어나는 라이트 트랜잭션 한 개분의 데이터를 데이터 저장 FIFO로부터 읽어 스탠바이 블록의 이중 포트 메모리에 이동시켜 스탠바이 버스의 로칼 메모리에 라이트 트랜잭션 수행 시 에러가 나더라도 정보 유실없이 다시 이중 포트 메모리에 재 전송하는 트랜잭션 이동수단, 및 상기 이중 포트 메모리에 저장된 한 개분의 트랜잭션을 스탠바이 로칼 버스로 정합하기 위한 스탠바이 로칼버스 정합부를 포함하여 구성됨을 특징으로 한다.The present invention for achieving the above object is a high-speed data transfer device between the synchronous bus of two CPU system divided into active block and standby block, information storage FIFO for storing the size and error information of each transaction stored in the data storage FIFO Active local bus matching means for performing a matching function of an active local bus, detecting a corresponding write transaction, and storing the same in the data storage FIFO, using a programmable full signal of the data storage FIFO. When data is loaded into the data storage FIFO, a bus ticket of the active local bus is acquired to force the bus ticket to monitor the FIFO for reducing traffic of light transactions on the active local bus. A single piece of data Transaction transfer means for reading from the chapter FIFO and moving to the dual port memory of the standby block and retransmitting back to the dual port memory without losing information even if an error occurs when performing a write transaction to the local memory of the standby bus. And a standby local bus matching unit for matching individual transactions to the standby local bus.

본 발명은 스탠바이 로칼 버스의 메모리 라이트(write)를 위해서 별도의 소프트웨어 동작 없이 단순히 액티브 버스의 로칼 메모리에 라이팅하는 것만으로 스탠바이 로칼 메모리에 똑같은 메모리 영역으로 복사되는 전송장치로서, 특히 동기 버스간의 메모리 전송에 적합하다.The present invention is a transfer device which is copied to the same memory area in the standby local memory by simply writing to the local memory of the active bus without a separate software operation for memory write of the standby local bus. Suitable for

본 발명에서는, 스탠바이 블록 로칼 메모리에 미처 전송도 하기 전에 순간적으로 데이터 저장 FIFO가 넘칠 정도로 라이트 트랜잭션이 발생하는 경우, 소프트웨어 동작에 무관하게 액티브 로칼 버스에 버스권을 요청하여 데이터 저장 FIFO가 일정 수준으로 비워질 때까지 실제로 하는 일은 없지만 가짜로 버스를 잡아줌으로써, FIFO 넘침을 소프트웨어 동작에 무관하게 동적으로 제어하는 것이다.According to the present invention, when a write transaction occurs such that the data storage FIFO overflows instantaneously even before being transferred to the standby block local memory, the bus storage is requested to the active local bus regardless of the software operation so that the data storage FIFO reaches a certain level. You don't actually do anything until it's empty, but by catching the bus fakely, you dynamically control the FIFO overflow regardless of software behavior.

이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 보다 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings.

제1도는 본 발명에 의한 고속 데이터 전송장치의 적용예를 설명하기 위한 도면으로서, 고장 감내형 이중화 CPU 시스템의 블록도를 나타낸다. 먼저, CPU A 모듈(101)을 액티브 프로세서라 하고 CPU B 모듈(103)을 스탠바이 프로세서라 가정하면, 상기 CPU A 모듈(101)이 자기 자신의 로칼 메모리(102)에 라이트 트랜잭션을 수행하면 고속 데이터 전송장치(200)에서 이를 모니터링하고 있다가 실시간으로 CPU B 모듈(103)의 로칼 메모리(104)로 고속 이동시킨다. 상기 고속 데이터 전송장치(200)의 데이터 이동 방향은 액티브에서 스탠바이로 이동이 되며, 설정에 따라 데이터 패스를 끊거나, 방향을 전환시킬 수 있다.FIG. 1 is a diagram for explaining an application example of a high speed data transfer apparatus according to the present invention, and shows a block diagram of a fault tolerant redundant CPU system. First, assuming that the CPU A module 101 is an active processor and the CPU B module 103 is a standby processor, when the CPU A module 101 performs a write transaction to its own local memory 102, high-speed data The monitoring apparatus 200 monitors this and moves to the local memory 104 of the CPU B module 103 at high speed in real time. The data movement direction of the high speed data transmission apparatus 200 is moved from active to standby, and the data path may be interrupted or changed according to a setting.

제2도는 본 발명에 따른 고속 데이터 전송장치를 기능별로 나타낸 블록도로서, 자기쪽이 액티브 또는 스탠바이에 따라 동작하는 별도의 블록으로 구별되어 크게 액티브 블록과 스탠바이 블록으로 나누어진다.2 is a block diagram illustrating a high-speed data transmission apparatus according to the present invention by function, and is divided into an active block and a standby block, which are divided into separate blocks that operate according to active or standby.

상기 액티브 블록은 액티브 로칼버스 정합부(201), 정보 저장 FIFO(203), 데이터 저장 FIFO(204), 및 데이터 저장 FIFO(204)에 데이터가 넘치기 직전 가짜로 버스권을 잡는 액티브 버스권 획득부(202)로 구성되며, 상기 스탠바이 블록은 이중 포트 메모리(207), 트랜잭션 이동부(206), 및 스탠바이 로컬버스 정합부(205)로 구성된다.The active block is an active bus ticket acquiring unit that catches a bus ticket immediately before data overflows to the active local bus matching unit 201, the information storage FIFO 203, the data storage FIFO 204, and the data storage FIFO 204. 202, the standby block includes a dual port memory 207, a transaction moving unit 206, and a standby local bus matching unit 205.

상술한 구성을 갖는 데이터 전송장치의 동작을 블록별로 살펴보면 다음과 같다.Looking at the operation of the data transmission device having the above configuration for each block as follows.

먼저, 액티브 로칼 버스(버스 A)에서 자기가 원하능 영역의 메모리 영역에 라이트 동작이 일어나면, 액티브 로칼버스 정합부(201)에서 그 라이트 트랜잭션 정보를 그대로 데이터 저장 FIFO(204)에 래치하여 저장한다. 그리고, 그 해당 트랜잭션의 사이즈 및 에러 정보 유무를 정보 저장 FIFO(203)에 저장한다.First, when a write operation occurs in the memory area of the original local area on the active local bus (bus A), the active local bus matching unit 201 latches and stores the write transaction information in the data storage FIFO 204 as it is. . The size and error information of the corresponding transaction are stored in the information storage FIFO 203.

이때, 스탠바이 블록에서 데이터 저장 FIFO(204)에 있는 라이트 트랜잭션 데이터를 빨리 못 가져가 발생하는 FIFO 넘침(full)을 방지하기 위해, 상기 액티브 버스권 획득부(202)는 데이터 저장 FIFO(204)의 프로그램 가능 넘침(programmable full) 신호를 입력받아 이 신호가 검출이 되면 강제로 액티브 버스에 버스권을 요청하여 액티브 로칼 버스에서 발생하는 라이트 트랜잭션 부하를 줄인다. 이 기간 동안 스탠바이 블록에서 데이터 저장 FIFO(204)에 저장된 데이터를 가져감으로 넘침을 막을 수 있다. 그리고, 데이터 저장 FIFO(204)에 일정 수준 이하의 데이터가 남으면 버스권을 풀고 다시 라이트 트랜잭션이 생기도록 한다.At this time, in order to prevent the FIFO from being full due to a failure to quickly get the write transaction data in the data storage FIFO 204 in the standby block, the active bus ticket acquisition unit 202 may be configured to execute the data storage FIFO 204. When it receives a programmable full signal and detects this signal, it forcibly requests the bus ticket from the active bus to reduce the load of the write transaction on the active local bus. During this period, the overflow block may be prevented by taking data stored in the data storage FIFO 204 in the standby block. If data below a certain level remains in the data storage FIFO 204, the bus ticket is released and a write transaction is generated again.

한편, 스탠바이 블록에서는 정보 저장 FIFO(203)에 한 개 이상의 트랜잭션이 들어 있으면, 트랜잭션 이동부(206)에서 그 트랜잭션의 정보를 액티브 블록의 정보 저장 FIFO(203)에 해당 트랜잭션이 몇 개의 사이즈로 데이터 저장 FIFO(204)에 들어 있는지, 또한 그 해당 트랜잭션이 에러는 없는지를 읽어 온다. 이 정보를 가지고 한 개분의 라이트 트랜잭션을 데이터 저장 FIFO(204)로 부터 읽어서 이중 포트 메모리(207)에 저장한 다음, 이중 포트 메모리(207)에 한 개분의 트랜잭션이 준비되었음을 스탠바이 로칼버스 정합부(205)에 알려준다. 스탠바이 로칼버스 정합부(205)는 버스권을 획득한 후, 이중 포트 메모리(207)에 저장된 한 개분의 트랜잭션을 읽어서 스탠바이 시스템의 로칼 메모리에 저장한다. 스탠바이 버스(버스 B)에서 라이트 동작 수행시 에러 사이클이 발생하면, 다시 이중 포트 메모리(207)에서 그 값을 읽은 후, 다시 라이트 트랜잭션을 수행한다. 정상적으로 스탠바이 버스(버스 B)에 라이트 트랜잭션을 종료하면, 트랜잭션 이동부(206)에게 종료가 되었음을 알려준다. 트랜잭션 이동부(206)는 다시 정보 저장 FIFO(203)에 트랜잭션이 남아 있는 지를 확인하여 남아 있으면, 한 개분의 트랜잭션분의 정보를 읽은 후 그 트랜잭션의 데이터를 데이터 저장 FIFO(204)로부터 읽어서 이중 포트 메모리(207)에 저장하고, 스탠바이 로칼버스 정합부(205)에 시작 신호를 알려주며, 스탠바이 로칼버스 정합부(205)는 다시 버스권을 잡은 후 데이터 이동을 시작한다. 이러한 작업을 계속해서 반복한다.On the other hand, in the standby block, if one or more transactions are contained in the information storage FIFO 203, the transaction moving unit 206 sends the information of the transaction to the information storage FIFO 203 of the active block in several sizes. It reads whether it is in the storage FIFO 204 and if the transaction is in error. With this information, one write transaction is read from the data storage FIFO 204 and stored in the dual port memory 207, and then one standby transaction is prepared in the dual port memory 207. 205). After obtaining the bus ticket, the standby local bus matching unit 205 reads one transaction stored in the dual port memory 207 and stores it in the local memory of the standby system. If an error cycle occurs when a write operation is performed on the standby bus (Bus B), the value is read from the dual port memory 207 again, and then the write transaction is performed again. When the write transaction is normally terminated on the standby bus (bus B), the transaction moving unit 206 is informed that the termination has been completed. The transaction moving unit 206 checks again whether there is a transaction remaining in the information storage FIFO 203, and if so, reads the information for one transaction and then reads the data of the transaction from the data storage FIFO 204 to double-port. It stores in the memory 207, notifies the standby local bus matching unit 205 of the start signal, and the standby local bus matching unit 205 takes the bus right again and starts data movement. Repeat this operation over and over.

제3도는 상술한 고속 데이터 전송장치의 액티브 블록을 확대도시한 도면으로서, 이를 참조하여 액티브 블록의 동작 특히, 액티브 버스 획득부의 동작을 보다 상세히 설명한다. 액티브 로칼버스 정합부(201)에서는 자기가 원하는 메모리 영역의 라이트 트랜잭션이 발생하면 이를 데이터 저장 FIFO(203)에 저장한다. 이때, 해당 트랜잭션의 에러 유무, 및 해당 트랜잭션이 몇 개로 구성되어 있는지의 정보를 정보 저장 FIFO(204)에 저장한다. 데이터 저장 FIFO(203)에 라이트 데이터를 저장시 각 트랜잭션의 구분을 위해서 별도로 비트를 확장하여 시작 비트를 설정한다. 이 시작 비트는 나중에 스탠바이 버스에서 트랜잭션 정렬 에러로서 사용된다. 이러한 동작은 스탠바이 블록과는 무관하게 계속 수행된다.FIG. 3 is an enlarged view of the active block of the above-described high speed data transmission apparatus, and the operation of the active block, in particular, the operation of the active bus acquirer, will be described in detail with reference to the drawing. The active local bus matching unit 201 stores the write transaction in the memory area desired by the active local bus matching unit 201 in the data storage FIFO 203. At this time, information on whether there is an error of the corresponding transaction and how many the corresponding transaction is configured is stored in the information storage FIFO 204. When storing the write data in the data storage FIFO 203, the start bit is set by extending the bits separately for distinguishing each transaction. This start bit is later used as a transaction alignment error on the standby bus. This operation is continued regardless of the standby block.

만약, 스탠바이 블록에서 전송 속도 차이로 인해 데이터 저장 FIFO(203)에 저장된 데이터를 빨리 가져가지 못해 FIFO 넘침(full)이 발생할 가능성이 있다면, 넘침이 생기기 바로 전에 넘침 정보를 알려주는 프로그램 가능 넘침 신호를 액티브 버스권 획득부(202)를 통하여 감지한다. 이 신호를 받은 액티브 버스권 획득부(202)는 액티브 로칼 버스에 버스권을 요청하고, 버스권 허락을 받으면 그 즉시 버스권을 잡아 버스를 바쁜(busy) 상태로 만들어 액티브 로칼 버스에 더 이상의 라이트 동작이 일어나지 않도록 한다. 이때, 데이터 저장 FIFO(203)에 저장된 데이터의 양이 일정수준 이하로 떨어지면, 버스 비지(busy)를 놓고 다시 액티브 쪽에서 라이트 동작이 계속되도록 한다. 그 결과, 액티브 블록과 스탠바이 블록과의 메모리 전송 속도가 일치하지 않는 경우에도 FIFO 넘침을 방지할 수 있다.If there is a possibility that the data stored in the data storage FIFO 203 may not be taken quickly due to the transmission rate difference in the standby block, and a FIFO full may occur, a programmable overflow signal indicating the overflow information immediately before overflow occurs. It detects through the active bus ticket acquisition unit 202. Upon receiving this signal, the active bus ticket acquiring unit 202 requests a bus ticket from the active local bus, and upon receiving the bus ticket permission, immediately grabs the bus ticket and makes the bus busy so that no further writes are made to the active local bus. Do not let the action take place. At this time, if the amount of data stored in the data storage FIFO 203 falls below a certain level, the bus busy (busy) is released and the write operation is continued on the active side again. As a result, the FIFO overflow can be prevented even when the memory transfer rates of the active block and the standby block do not match.

제4도는 고속 데이터 전송장치의 스탠바이 블록을 확대 도시한 도면으로서, 한 개분의 트랜잭션이 저장되는 이중 포트 메모리(207)와, 액티브 블록의 정보 저장 FIFO(204)에서 한 개 이상의 트랜잭션이 있으면 데이터 정보 FIFO(203)로부터 데이터를 읽어서 이중 포트 메모리(207)에 한 개분의 트랜잭션을 옮기는 트랜잭션 이동부(206)와, 이중 포트 메모리(207)에 이동된 한 개분으 트랜잭션을 스탠바이 로칼 시스템 버스의 로칼 메모리에 저장하는 스탠바이 로칼버스 정합부(205)로 구성된다.4 is an enlarged view of a standby block of a high-speed data transmission apparatus, in which a dual port memory 207 in which one transaction is stored and one or more transactions in the active block information storage FIFO 204 are provided. The transaction moving unit 206 reads data from the FIFO 203 and transfers one transaction to the dual port memory 207, and the one transaction moved to the dual port memory 207 stores the local memory of the standby local system bus. It consists of a standby local bus matching unit 205 to be stored in.

이러한 구성을 갖는 제4도를 참조하여, 그 동작을 살펴본다. 먼저, 트랜잭션 이동부(206)에서는 항상 정보 저장 FIFO(204)를 감시하여 한 개 이상의 데이터가 들어 있으면 그 트랜잭션의 에러 유무, 트랜잭션의 사이즈를 읽어서 그 정보를 트랜잭션의 개수만큼 이중 포트 메모리(207)로 이동시킨다. 이때, 해당 트랜잭션이 에러가 난 트랜잭션이면 단순히 그 사이즈 정보만큼 데이터 저장 FIFO(203)에서 읽기 동작만을 수행하여 버려 버린다. 한 개분의 트랜잭션을 이중 포트 메모리(207)에 옮기면 이중 포트 메모리(207)에 유효 데이터가 준비도었다는 시작 신호를 스탠바이 로칼버스 정합부(205)에 알려준다. 스탠바이 로칼버스 정합부(205)에서는 트랜잭션 이동부(206)로부터 시작 신호를 받으면 그 즉시 스탠바이 버스에 버스권을 요청하여 버스를 잡고, 이중 포트 메모리(207)에서 데이터를 읽어 라이트 트랜잭션을 수행한다. 이중 포트 메모리(207)에서 데이터를 읽을 때, 트랜잭션 시작 비트가 맞지 않으면 전송 에러가 생겼음을 액티브 로칼버스 정합부에 알려준다. 액티브 로칼버스 정합부(201)는 이 정보를 인터럽트 처리하여 상위 액티브 CPU 블록에 알려준다. 한편, 이중 포트 메모리(207)에서 데이터를 읽어서 스탠바이 로칼버스에 국부적인 라이팅 에러가 발생하면, 다시 이중 포트 메모리(207)에서 처음부터 시작을 하고 정상적으로 트랜잭션을 종료하면 트랜잭션 이동부(206)에 종료신호를 준다.Referring to FIG. 4 having such a configuration, the operation thereof will be described. First, the transaction moving unit 206 always monitors the information storage FIFO 204, if there is more than one data, reads whether there is an error in the transaction, the size of the transaction, and stores the information as many as the number of transactions. Move to. At this time, if the transaction is an errored transaction, the data storage FIFO 203 simply performs a read operation as much as the size information. Transferring a transaction to the dual port memory 207 informs the standby local bus matching unit 205 that the dual port memory 207 has a valid data ready. When the standby local bus matching unit 205 receives the start signal from the transaction moving unit 206, the standby local bus matching unit 205 immediately requests the standby bus to hold the bus, reads data from the dual port memory 207, and performs a write transaction. When reading data from the dual port memory 207, if the transaction start bit is not correct, it informs the active locale matching that a transmission error has occurred. The active local bus matching unit 201 interrupts this information and notifies the upper active CPU block. On the other hand, if a local writing error occurs in the standby local bus by reading data from the dual port memory 207, starting from the beginning in the dual port memory 207 again and ending the transaction normally, the transaction moving unit 206 ends. Give a signal.

이와 같이, 본 발명은 동기 로칼 버스에서 일어나는 여러 가지 CPU 트랜잭션 동작 가운데 쓰기(write) 동작에 한해서, 특정 영역 또는 전 메모리 영역을 감시하다가 라이팅이 일어나면 이를 데이터 저장 FIFO에 저장하였다가 백 플레인 버스를 통하여 스탠바이쪽 로칼 버스에 동일한 라이트 트랜잭션을 발생시킴으로써 액티브, 스탠바이 블록의 메모리 맵을 일치시키는 것이다.As described above, in the present invention, only a write operation among various CPU transaction operations occurring in a synchronous local bus, while monitoring a specific area or an entire memory area and storing the data in a data storage FIFO after writing, Matching the memory maps of active and standby blocks by generating the same write transaction on the standby local bus.

이상 설명한 바와 같이, 본 발명에 의하면 별도의 소프트웨어적인 추가 액션 없이, 또한 데이터 저장을 위한 FIFO 용량의 증가없이 하드웨어적으로 라이트 트랜잭션 트래픽을 감소시킴으로써, FIFO 넘침을 방지할 수 있다.As described above, according to the present invention, the FIFO overflow can be prevented by reducing the write transaction traffic in hardware without a separate software additional action and without increasing the FIFO capacity for data storage.

Claims (1)

액티브 블록과 스탠바이 블록으로 구별된 두 CPU 시스템의 동기 버스간의 고속 데이터 전송장치에 있어서, 데이터 저장 FIFO에 저장된 각각의 트랜잭션의 크기 및 에러 정보를 저장하는 정보 저장 FIFO; 액티브 로칼 버스의 정합 기능을 수행하고 해당 라이트(write) 트랜잭션을 감지하여 이를 상기 데이터 저장 FIFO에 저장하는 액티브 로칼 버스 정합수단; 상기 데이터 저장 FIFO의 프로그래머블 풀(programable full) 신호를 이용하여 일정 이상의 데이터가 데이터 저장 FIFO에 차면 액티브 로칼버스의 버스권을 획득하여 강제로 버스권을 잡아 액티브 로칼 버스상의 라이트 트랜잭션 트래픽을 감소시키기 위한 FIFO 풀 감시 및 액티브 버스권 획득수단; 상기 액티브 버스에서 일어나는 라이트 트랜잭션 한 개분의 데이터를 데이터 저장 FIFO로부터 읽어 스탠바이 블록의 이중 포트 메모리에 이동시켜 스탠바이 버스의 로칼 메모리에 라이트 트랜잭션 수행 시 에러가 나더라도 정보 유실없이 다시 이중 포트 메모리에 재 전송하는 트랜잭션 이동수단; 및 상기 이중 포트 메모리에 저장된 한 개분의 트랜잭션을 스탠바이 로칼 버스로 정합하기 위한 스탠바이 로칼버스 정합부를 포함하는 것을 특징으로 하는 데이터 전송장치.A high speed data transfer device between a synchronous bus of two CPU systems divided into an active block and a standby block, comprising: an information storage FIFO for storing size and error information of each transaction stored in a data storage FIFO; Active local bus matching means for performing a matching function of an active local bus, detecting a corresponding write transaction, and storing the write transaction in the data storage FIFO; By using a programmable full signal of the data storage FIFO, when more than a certain amount of data is filled into the data storage FIFO, the bus ticket of the active local bus is acquired to force the bus ticket to reduce the write transaction traffic on the active local bus. FIFO full monitoring and active bus ticket acquisition means; The data of one write transaction occurring in the active bus is read from the data storage FIFO and moved to the dual port memory of the standby block, and the data is retransmitted back to the dual port memory without losing information even if an error occurs when the write transaction is performed in the local memory of the standby bus. Transaction moving means; And a standby local bus matching unit for matching one transaction stored in the dual port memory to a standby local bus.
KR1019960047124A 1996-10-21 1996-10-21 Data transfer apparatus between synchronous buses KR0176096B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960047124A KR0176096B1 (en) 1996-10-21 1996-10-21 Data transfer apparatus between synchronous buses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960047124A KR0176096B1 (en) 1996-10-21 1996-10-21 Data transfer apparatus between synchronous buses

Publications (2)

Publication Number Publication Date
KR19980028132A KR19980028132A (en) 1998-07-15
KR0176096B1 true KR0176096B1 (en) 1999-05-15

Family

ID=19478216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960047124A KR0176096B1 (en) 1996-10-21 1996-10-21 Data transfer apparatus between synchronous buses

Country Status (1)

Country Link
KR (1) KR0176096B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020033254A (en) * 2000-10-30 2002-05-06 구자홍 Apparatus and method for flow control in dual processor system
KR100474704B1 (en) * 2002-04-29 2005-03-08 삼성전자주식회사 Dual processor apparatus capable of burst concurrent writing of data

Also Published As

Publication number Publication date
KR19980028132A (en) 1998-07-15

Similar Documents

Publication Publication Date Title
CA2307816C (en) Buffering data that flows between buses operating at different frequencies
US5133062A (en) RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
US4949301A (en) Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
US5594877A (en) System for transferring data onto buses having different widths
US5732238A (en) Non-volatile cache for providing data integrity in operation with a volatile demand paging cache in a data storage system
EP0130349B1 (en) A method for the replacement of blocks of information and its use in a data processing system
US6493773B1 (en) Data validity measure for efficient implementation of first-in-first-out memories for multi-processor systems
EP0022829B1 (en) Data processing system
US7383290B2 (en) Transaction processing systems and methods utilizing non-disk persistent memory
US20030200394A1 (en) Cache memory arrangement and methods for use in a cache memory system
EP0466339A2 (en) A method of passing task messages in a data processing system
US4521850A (en) Instruction buffer associated with a cache memory unit
US6029233A (en) Circuit for moving data between remote memories and computer comprising such a circuit
CN100470524C (en) Small-capacity FIFO storage device data-moving trigger and method
US20010047439A1 (en) Efficient implementation of first-in-first-out memories for multi-processor systems
KR0176096B1 (en) Data transfer apparatus between synchronous buses
US6996640B1 (en) Method and system for asynchronously transferring data
US6434592B1 (en) Method for accessing a network using programmed I/O in a paged, multi-tasking computer
JP2005267148A (en) Memory controller
JPH06149485A (en) Data completion guarantee processing method
JP3162459B2 (en) Data processing device
JPS6027976A (en) First-in first-out memory device
JP2713528B2 (en) Uninterrupted expansion of storage capacity
KR0150068B1 (en) Data que module and its control method
JPH0324634A (en) Double system device

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

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee