KR100380601B1 - Address management system and method of FFC for IPC - Google Patents

Address management system and method of FFC for IPC Download PDF

Info

Publication number
KR100380601B1
KR100380601B1 KR10-1998-0057931A KR19980057931A KR100380601B1 KR 100380601 B1 KR100380601 B1 KR 100380601B1 KR 19980057931 A KR19980057931 A KR 19980057931A KR 100380601 B1 KR100380601 B1 KR 100380601B1
Authority
KR
South Korea
Prior art keywords
byte
address
block
read
cell
Prior art date
Application number
KR10-1998-0057931A
Other languages
Korean (ko)
Other versions
KR20000041914A (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 KR10-1998-0057931A priority Critical patent/KR100380601B1/en
Publication of KR20000041914A publication Critical patent/KR20000041914A/en
Application granted granted Critical
Publication of KR100380601B1 publication Critical patent/KR100380601B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

Abstract

본 발명은 IPC(Inter Process Communication)용 FIFO(First In First Out Memory)의 번지(Address) 관리 시스템 및 방법에 관한 것으로, 특히 해당 FIFO의 기록 번지와 판독 반지를 셀(Cell) 단위로 관리하고 해당 각 셀 별로 잉여 바이트(Byte)를 덧붙여서 동작하도록 한 IPC용 FIFO의 번지 관리 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for managing address of First In First Out Memory (FIFO) for Inter Process Communication (IPC), and in particular, to manage the recording address and read ring of the FIFO in units of cells and It relates to the address management system and method of the FIFO for the IPC to operate by adding a surplus byte for each cell.

본 발명의 시스템은 인가받은 셀 동기 신호에 맞추어 기록 번지와 판독 반지를 셀 단위로 관리하며, 기록 동작 싸이클을 계수하여 잉여 바이트에 저장해 해당 셀 판독 시에 해당 각 셀 별로 해당 잉여 바이트를 참조하여 셀의 오류 여부를 판단하는 것을 특징으로 한다.The system of the present invention manages the write address and the read ring in units of cells in accordance with the authorized cell sync signal, counts the write operation cycles, stores them in the redundant bytes, and references the corresponding spare bytes for each cell when the corresponding cell is read. It is characterized by determining whether the error.

Description

아이피씨용 에프아이에프오의 번지 관리 시스템 및 방법Address management system and method of FFC for IPC

본 발명은 IPC(Inter Process Communication)용 FIFO(First In First Out Memory)의 번지(Address) 관리 시스템 및 방법에 관한 것으로, 특히 해당 FIFO의 기록 번지와 판독 반지를 셀(Cell) 단위로 관리하고 해당 각 셀 별로 잉여 바이트(Byte)를 덧붙여서 동작하도록 한 IPC용 FIFO의 번지 관리 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for managing address of First In First Out Memory (FIFO) for Inter Process Communication (IPC), and in particular, to manage the recording address and read ring of the FIFO in units of cells and It relates to the address management system and method of the FIFO for the IPC to operate by adding a surplus byte for each cell.

종래의 IPC용 FIFO에서 기록 번지(Write Address) 및 판독 번지(Read Address)를 관리하기 위한 시스템(System)은 도 1에 도시된 바와 같이, 메모리부(Memory; 11)와, 기록 번지 제어부(12)와, FIFO 상태 제어부(13)와, 판독 번지 제어부(14)를 포함하여 이루어져 있다.In the conventional IPC FIFO, a system for managing a write address and a read address includes a memory 11 and a write address controller 12 as shown in FIG. ), A FIFO state control unit 13 and a read address control unit 14.

여기서, 상기 메모리부(11)는 보통 SRAM(Static Random Access Memory)로 구성되는데, 여러 셀의 크기에 해당하는 크기로 선택한다.In this case, the memory unit 11 is usually composed of static random access memory (SRAM), and is selected as the size corresponding to the size of several cells.

상기 기록 번지 제어부(12)는 데이터가 상기 메모리부(11)에 기록되는 기록 번지를 생성하는 기능을 수행한다. 그리고, 외부로부터 칩 선택 신호(Chip Select Signal; cs)와, 기록 인에이블 신호(Write Enable Signal; wen)와, 클럭(Clock; clk)과, 리셋 신호(Reset; rst)를 인가받는다.The recording address control unit 12 performs a function of generating a recording address where data is recorded in the memory unit 11. The chip select signal cs, the write enable signal wen, the clock clk, and the reset signal rst are received from the outside.

상기 FIFO 상태 제어부(13)는 데이터가 상기 메모리부(11)에 어느 정도로 기록되었는지를 나타내는 공백 상태 신호(Empty Signal) 또는 충만 상태 신호(Full Signal)를 생성한다. 그리고, FIFO의 상태로는 해당 공백 상태 신호와 충만 상태 신호 외에도 대부분 공백 상태 신호(Almost Empty Signal), 대부분 충만 상태 신호(Almost Full Signal) 등을 사용하기도 한다.The FIFO state control unit 13 generates an empty signal or a full signal indicating how much data has been written to the memory unit 11. In addition, the state of the FIFO may use an almost empty signal, an almost full signal, in addition to the corresponding empty state signal and the full state signal.

상기 판독 번지 제어부(14)는 데이터가 판독될 경우에 사용되는 판독 번지를 생성한다. 그리고, 외부로부터 칩 선택 신호(cs)와, 판독 인에이블 신호(Read Enable Signal; ren)와, 클럭(clk)과, 리셋 신호(rst)를 인가받는다.The read address controller 14 generates a read address used when data is read. The chip select signal cs, the read enable signal ren, the clock clk, and the reset signal rst are received from the outside.

상술한 바와 같이 구성된 종래 기술의 동작을 살펴보면 다음과 같다.Looking at the operation of the prior art configured as described above are as follows.

상기 메모리부(11), 즉 FIFO 내의 기록 번지는 초기에 '0'으로 초기화되며, 판독 번지도 역시 '0'으로 초기화된다.The write address in the memory unit 11, i.e., the FIFO, is initially initialized to '0', and the read address is also initialized to '0'.

그리고, 상기 메모리부(11)에 하나의 셀의 데이터를 기록하면, 각 바이트(Byte)를 기록할 때마다 기록 번지의 값을 '1' 씩 증가하게 된다.When data of one cell is recorded in the memory unit 11, the value of the recording address is increased by '1' each time each byte is written.

그런 후에, 상기 메모리부(11)의 용량만큼의 데이터가 기록되어지면, 상기 FIFO 상태 제어부(13)에서 해당 상태를 감지하여 충만 상태 신호를 출력시켜 준다.After that, when data equal to the capacity of the memory unit 11 is recorded, the FIFO state control unit 13 detects the state and outputs a full state signal.

반면에, 상기 메모리부(11)에서 셀을 판독할 경우, 각 바이트를 판독할 때마다 판독 번지의 값도 '1' 씩 증가하는데, 해당 판독 번지의 값은 상기 기록 번지의 값을 초과할 수 없다.On the other hand, when a cell is read from the memory unit 11, the value of the read address also increases by '1' for each byte read, and the value of the read address may exceed the value of the write address. none.

그런 후에, 상기 메모리부(11)에 기록되어 있는 데이터를 다 판독하게 되면, 상기 FIFO 상태 제어부(13)에서 해당 상태를 감지하여 공백 상태 신호를 출력시켜 준다.After that, when the data recorded in the memory unit 11 is completely read, the FIFO state control unit 13 detects the state and outputs a blank state signal.

예를 들어, 64(Byte)의 셀을 상기 메모리부(11)에 기록할 경우에 외부에서는 각 바이트를 64 번에 걸쳐 기록하게 되며, 64(Byte)의 셀을 상기 메모리부(11)로부터 판독할 경우에 외부에서는 각 바이트를 64 번에 걸쳐 연속적으로 판독하게 된다. 여기서, 해당 각 바이트는 인접 번지에 기록되어지고 판독할 경우에도 해당 인접 번지에서 판독하게 된다.For example, when 64 (Byte) cells are written to the memory unit 11, each byte is written 64 times from the outside, and 64 (Byte) cells are read from the memory unit 11. In this case, each byte is read consecutively 64 times. Here, each of the bytes is recorded at the adjacent address and read from the adjacent address even when read.

상술한 바와 같이, 한 개의 셀을 FIFO에 기록할 경우에 외부에서는 한 개의 셀을 각 바이트 별로 연속적으로 기록하고 판독할 경우에도 각 바이트 별로 연속적으로 판독하여야 한다.As described above, when one cell is written to the FIFO, an external cell must be continuously read out for each byte even when continuously reading and reading one cell for each byte.

그런데, 이때 정상적으로 판독하고 기록하는 과정에서는 문제가 없는데, 비정상적인 경우에, 예로 클럭이 흔들려서 한 바이트의 데이터가 덜 기록된 경우에는 해당 데이터를 판독하는 경우에 깨진 오류 데이터를 보게 될 것이다. 이런 경우에 한 번 어긋난 이후에 기록되는 셀들은 한 바이트 씩 어긋난 채로 기록되어지기 때문에, 판독한 셀들은 계속해서 오류 데이터가 될 것이다. 따라서, 한 번의 오동작에 의해 지속적인 오류를 만들 소지가 많았었다.However, at this time, there is no problem in the process of reading and writing normally. In case of abnormality, for example, when the clock is shaken and less one byte of data is recorded, the error data will be broken when the corresponding data is read. In this case, since the cells that are written after one shift are written out by one byte, the read cells will continue to be error data. Therefore, there was a lot of possibility to make continuous error by one malfunction.

전술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명은 셀 단위로 통신하는 시스템 내에서 사용되는 IPC용 FIFO를 ASIC(Application Specific Integrated Circuit) 내에서 구현하는 것에 관한 것으로, 특히 FIFO의 기록 번지와 판독 번지를 셀 단위로 관리하여 FIFO의 동작 도중에 발생하는 오류를 검출하며 해당 각 셀별로 잉여 바이트를 덧붙여서 동작하여 해당 셀의 기록과 판독 동작 중의 오류를 검출함으로써, FIFO의 기록 및 판독 동작 시에 제어 신호 또는 클럭의 불안정한 동작으로 인한 데이터의 오류를 검출하여 복구 불가능한 상태로 빠지는 것을 미연에 방지할 수 있도록 하는데, 그 목적이 있다.In order to solve the above problems, the present invention relates to the implementation of the IPC FIFO used in the system that communicates on a cell-by-cell basis within an application specific integrated circuit (ASIC), in particular the write address and readout of the FIFO By managing the address in units of cells, it detects errors occurring during the operation of the FIFO, and operates by adding extra bytes for each cell to detect errors during the writing and reading operations of the corresponding cells. Alternatively, it is possible to detect an error in data due to an unstable operation of a clock and prevent the data from falling into an unrecoverable state.

도 1은 종래 IPC용 FIFO의 번지 관리 시스템을 나타낸 구성 블록도.1 is a block diagram showing a conventional address management system of the FIFO for IPC.

도 2는 본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 시스템을 나타낸 구성 블록도.2 is a configuration block diagram showing a address management system of the FIFO for IPC according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 방법을 나타낸 플로우챠트.3 is a flowchart illustrating a method for managing an address of an FIFO for IPC according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

21 : FIFO 22 : 기록 번지 제어부21: FIFO 22: record address control

23 : FIFO 상태 제어부 24 : 판독 번지 제어부23: FIFO state control unit 24: reading address control unit

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 시스템은 인가받은 셀 동기 신호에 맞추어 기록 번지와 판독 번지를 셀 단위로 관리하며, 기록 동작 싸이클을 계수하여 잉여 바이트에 저장해 해당 셀 판독 시에 해당 각 셀별로 해당 잉여 바이트를 참조하여 셀의 오류 여부를 판단하는 것을 특징으로 한다.The address management system of the FIFO for the IPC according to the embodiment of the present invention for achieving the above object manages the write address and read address in units of cells in accordance with the authorized cell synchronization signal, and counts the write operation cycles, thereby surplusing them. It is characterized in that the error of the cell is determined by referring to the corresponding excess byte for each cell when the cell is stored in the byte.

또한, 상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 방법은 기록 블록 번지, 기록 바이트 번지, 판독 블록 번지 및 판독 바이트 번지를 할당하여 초기화하는 과정과; 셀의 바이트 데이터를 FIFO 내 블록에 기록시킬 때마다 상기 기록 바이트 번지의 값을 하나씩 증가시키는 과정과; 상기 바이트의 데이터 기록 동작을 계수하고 셀 동기 신호의 수신을 확인하여 해당 기록 동작 계수값을 잉여 바이트에 기록하는 과정과; 상기 바이트 데이터가 상기 블록에 충만 기록될 때마다 상기 기록 블록 번지의 값을 하나씩 증가시키는 과정을 포함하여 이루어진 것을 특징으로 한다. 그리고, 상기 바이트 데이터의 기록이 상기 블록의 첫 바이트임을 확인하여 공백 상태 신호를 출력하는 과정과; 상기 바이트 데이터의 기록이 상기 FIFO 내 마지막 블록의 첫 바이트임을 확인하여 충만 상태 신호를 출력하는 과정을 더 포함하여 이루어진 것을 특징으로 한다. 그리고 또한, 상기 블록에서 상기 바이트 데이터를 판독할 때마다 상기 판독 바이트 번지의 값을 하나씩 증가시키는 과정과; 상기 바이트 데이터가 상기 블록에서 전부 판독될 때마다 상기 판독 블록 번지의 값을 하나씩 증가시키는 과정과; 상기 기록 동작 계수값을 판독하여 상기 바이트 데이터의 정상 기록 여부를 확인해 상기 셀의 폐기 여부를 결정하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.In addition, the address management method of the FIFO for IPC according to an embodiment of the present invention for achieving the above object comprises the steps of: assigning and initializing a write block address, write byte address, read block address and read byte address; Incrementing the value of the write byte address by one each time byte data of a cell is written to a block in a FIFO; Counting the data write operation of the byte, acknowledging reception of a cell synchronization signal, and recording the corresponding write operation count value in the redundant byte; And increasing the value of the write block address by one each time the byte data is written to the block. And checking that the recording of the byte data is the first byte of the block and outputting a blank state signal; And confirming that the recording of the byte data is the first byte of the last block in the FIFO, and outputting a full state signal. And incrementing the value of the read byte address by one each time the byte data is read in the block; Incrementing the value of the read block address by one each time the byte data is read out from the block; And determining whether to discard the cell by reading the write operation count value and confirming whether the byte data is normally recorded.

이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다. 도 2는 본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 시스템을 나타낸 구성 블록도이며, 도 3은 본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 방법을 나타낸 플로우챠트이다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. FIG. 2 is a block diagram illustrating an address management system of an FIFO for an IPC according to an embodiment of the present invention, and FIG. 3 is a flowchart illustrating a address management method of an FIFO for an IPC according to an embodiment of the present invention.

본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 시스템은 도 2에 도시한 바와 같이, FIFO(21)와, 기록 번지 제어부(22)와, FIFO 상태 제어부(23)와, 판독 번지 제어부(24)를 포함하여 이루어져 있다.The address management system of the FIFO for IPC according to the embodiment of the present invention, as shown in FIG. 2, has a FIFO 21, a write address controller 22, a FIFO state controller 23, and a read address controller 24. It consists of).

상기 구성은 종래의 기술과 동일하나, 종래 기술과 다른 점은 상기 기록 번지 제어부(22)와, FIFO 상태 제어부(23)와, 판독 번지 제어부(24)에서 셀 동기 신호(Cell Synchronization Signal; cell_synch)를 인가받아 해당 인가받은 셀 동기 신호(cell_synch)의 동기에 맞추어 상기 FIFO(21)의 기록 번지와 판독 번지를 셀(Cell) 단위로 관리하고 해당 각 셀별로 기록 동작 싸이클을 계수하여 잉여 바이트에 저장해 판독 동작을 수행할 시에 해당 값을 참조하여 셀의 오류 여부를 판단한다.The configuration is the same as that of the related art, but is different from the related art in that the cell address synchronization signal (cell_synch) is performed by the write address controller 22, the FIFO state controller 23, and the read address controller 24. In accordance with the synchronization of the authorized cell sync signal (cell_synch), the write address and read address of the FIFO 21 are managed in units of cells, and the write operation cycles are counted for each corresponding cell and stored in redundant bytes. When performing a read operation, the corresponding value is determined to determine whether an error occurs in the cell.

그리고, 상기 FIFO(21) 내의 기록 번지와 판독 번지는 각 블록을 나타내는 블록 번지와 해당 하나의 블록 내의 각 바이트를 나타내는 바이트 번지로 나누어 각각 이루어진다. 또한, 상기 잉여 바이트는 상기 FIFO(21)의 기록 싸이클(Write Cycle)에서 셀의 각 바이트가 제대로 기록되었는지를 표시하는 바이트이다.The write address and read address in the FIFO 21 are each divided into a block address indicating each block and a byte address indicating each byte in the corresponding block. In addition, the excess byte is a byte indicating whether each byte of the cell is properly written in the write cycle of the FIFO 21.

상술한 바와 같이 구성된 본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 시스템의 동작을 설명하면 다음과 같다.The operation of the address management system of the FIFO for IPC according to the embodiment of the present invention configured as described above is as follows.

본 발명은 외부에서 한 셀을 기록할 경우에 해당 셀과 해당 셀에 대한 잉여 바이트를 동시에 기록하는데, 해당 잉여 바이트는 기록 싸이클에서 셀의 각 바이트가 제대로 기록되었는지를 표시하는 바이트이다. 예로, 64(Byte)의 셀을 기록할 경우에 64(Byte)의 셀과 해당 셀에 대한 1(Byte)의 잉여 바이트를 같이 기록함으로써 총 65(Byte)를 하나의 블록으로 칭하게 된다.In the present invention, when one cell is recorded from the outside, the cell and the spare byte for the cell are simultaneously recorded. The excess byte is a byte indicating whether each byte of the cell is correctly recorded in the recording cycle. For example, when 64 (Byte) cells are recorded, a total of 65 (Byte) is referred to as one block by recording 64 (Byte) cells and 1 (Byte) surplus bytes for the corresponding cell together.

그리고, FIFO(21) 내의 기록 번지는 각 블록을 나타내는 기록 블록 번지와 해당 하나의 블록 내의 각 바이트를 나타내는 기록 바이트 번지로 나누어 이루어지며, 이에 초기에 해당 FIFO(21) 내의 기록 블록 번지와 기록 바이트 번지를 '0'으로 초기화시켜 준다.In addition, the write address in the FIFO 21 is divided into a write block address indicating each block and a write byte address indicating each byte in the corresponding block, so that the write block address and the write byte in the corresponding FIFO 21 are initially included. Initialize the address to '0'.

그런 후에, 외부에서 한 셀을 기록할 경우에 해당 셀의 각 바이트가 상기 FIFO(21)에 기록될 때마다 상기 기록 바이트 번지의 값을 '1' 씩 증가시켜 주며, 하나의 블록이 다 기록되었는지를 확인하여 상기 기록 블록 번지의 값을 '1' 증가시켜 준다.Then, when recording one cell from the outside, the value of the write byte address is increased by '1' each time each byte of the corresponding cell is written to the FIFO 21, and one block is written. The value of the write block address is increased by '1'.

따라서, 상기 FIFO(21) 내에 셀을 기록할 경우에는 항상 각 블록의 바이트 번지 중 영 번지부터 기록되어진다.Therefore, when a cell is recorded in the FIFO 21, it is always written from the zero address among the byte addresses of each block.

또한, 상기 FIFO(21) 내의 판독 번지도 각 블록을 나타내는 판독 블록 번지와 해당 하나의 블록 내의 각 바이트를 나타내는 판독 바이트 번지로 나누어 이루어지며, 이에 초기에 해당 FIFO(21) 내의 판독 블록 번지와 판독 바이트 번지를 '0'으로 초기화시켜 준다.Further, the read address in the FIFO 21 is divided into a read block address indicating each block and a read byte address indicating each byte in the corresponding block, so that the read block address and read in the corresponding FIFO 21 are initially included. Initialize the byte address to '0'.

그런 후에, 외부에서 한 셀을 판독할 경우에 해당 셀의 각 바이트가 판독될 때마다 상기 판독 바이트 번지의 값을 '1' 씩 증가시켜 주며, 하나의 블록이 다 판독되었는지를 확인하여 상기 판독 블록 번지의 값을 '1' 증가시켜 준다.Then, when reading a cell from the outside, the value of the read byte address is increased by '1' each time each byte of the cell is read, and the read block is checked by checking whether one block has been read. Increase the value of address '1'.

따라서, 상기 FIFO(21) 내에 저장된 셀을 판독할 경우에도 항상 각 블록의 바이트 번지 중 영 번지부터 판독되어진다.Therefore, even when a cell stored in the FIFO 21 is read, it is always read from the zero address among the byte addresses of each block.

물론, 상기 기록 번지와 판독 번지는 링처럼 운영되는데, 즉 해당 번지의 값이 FIFO(21)의 용량보다 커지는 경우에 영 번지에 남아 있는, 즉 판독되지 않은 셀이 없는 경우에 다시 '0'으로 초기화되어지는 것을 말한다.Of course, the write address and read address operate as rings, i.e., if the value of the address becomes larger than the capacity of the FIFO 21, it remains at zero address, i.e., if there are no unread cells, it goes back to '0'. It means to be initialized.

그리고, 상기 FIFO(21)에 대한 충만 상태 신호와 공백 상태 신호도 바이트 단위로 운영되는 것이 아니라 블록 단위로 운영되어지는데, 하나의 블록의 첫 바이트가 기록되어지면 공백 상태 신호는 공백 상태가 아님을 나타내는 값을 가지게 되며, 상기 FIFO(21)의 마지막 블록의 첫 바이트가 기록되어지면 충만 상태 신호는 충만 상태임을 나타내는 값을 가지게 된다.In addition, the full state signal and the empty state signal for the FIFO 21 are also operated in units of blocks instead of units of bytes. When the first byte of one block is recorded, the states of the states of the FIFO 21 are not empty. When the first byte of the last block of the FIFO 21 is written, the full state signal has a value indicating the full state.

또한, 외부에서 셀을 판독한 후에 하나의 셀의 각 바이트, 예로 64(Byte)가 제대로 기록되었는지를 잉여 바이트의 값으로 판단하여 해당 셀의 폐기 여부를 결정하는데, 제대로 기록되어진 셀이라면 예로, 64(Byte)를 유효한 셀로 사용하도록 한다.In addition, after reading the cell from the outside, it is determined whether the corresponding cell is discarded by determining whether each byte of one cell, for example, 64 (Byte) is correctly written, as a value of the spare byte. Use (Byte) as a valid cell.

반대로, 예로 64(Byte)가 제대로 기록되지 않았던 셀이라면, 오류가 있는 셀로 판단하여 해당 오류 셀을 폐기하도록 한다.On the contrary, for example, if 64 (Byte) is not properly recorded, the cell is determined to be an error cell, and the corresponding error cell is discarded.

이와 같은 동작을 수행하기 위하여, 기록 번지 제어부(22)에서는 셀 동기 신호(cell_synch)에 맞추어 기록 블록 번지의 값을 정한다. 초기에는 '0'을 가지고, 한 블록의 데이터에서 한 바이트라도 제대로 기록되어지면 기록 블록 번지를 증가시킨다. 바이트 데이터의 기록 동작은 계수기로 계수하며, 새로운 셀 동기 신호(cell_synch)가 인가되면 해당 계수값을 잉여 바이트에 써 둔다. 이 것은 클럭이 흔들려 셀이 다 기록되지 않거나 더 많이 기록되는 경우를 대비하기 위한 것이다.In order to perform such an operation, the recording address controller 22 determines the value of the recording block address in accordance with the cell synchronization signal cell_synch. Initially, it has '0', and if any byte is correctly written in one block of data, the write block address is increased. The write operation of the byte data is counted by a counter, and when a new cell sync signal cell_synch is applied, the corresponding count value is written in the redundant byte. This is to prepare for the case that the clock is shaken so that the cells are not all written or more are written.

또한, 판독 번지 제어부(24)에서도 셀 동기 신호(cell_synch)에 맞추어 판독 블록 번지를 정한다. 초기에는 '0'을 가지고, 한 블록의 데이터에서 64(Byte)의 데이터를 판독하며, 잉여 바이트를 분석하여 한 바이트라도 제대로 기록되어 있지 않거나 중첩되게 기록되었는지를 판단하여 셀의 폐기 여부를 판단한다.The read address controller 24 also determines the read block address in accordance with the cell synchronization signal cell_synch. Initially, it has '0', reads 64 (Byte) data from one block of data, and analyzes the surplus bytes to determine whether one cell is not recorded properly or overlapped, and discards the cell. .

그러면, 본 발명의 실시예에 따른 IPC용 FIFO의 번지 관리 방법을 도 3의 플로우챠트를 참고하여 설명하면 다음과 같다.The address management method of the IPC FIFO according to the embodiment of the present invention will now be described with reference to the flowchart of FIG. 3.

먼저, FIFO(21) 내의 기록 블록 번지, 기록 바이트 번지, 판독 블록 번지 및 판독 바이트 번지를 할당하여 '0'으로 초기화시켜 준다(단계 S1).First, the write block address, write byte address, read block address and read byte address in the FIFO 21 are allocated and initialized to '0' (step S1).

이에, 상기 FIFO(21)에 하나의 셀을 기록하기 위하여 해당 셀의 바이트와 셀 동기 신호를 인가하면(단계 S2), 해당 바이트의 데이터를 상기 FIFO(21) 내의 하나의 블록에 기록시킬 때에 상기 기록 바이트 번지의 값을 '1' 증가시켜 줌과 동시에(단계 S3) 해당 바이트의 데이터 기록 동작을 계수하여 해당 기록 동작 계수값을 잉여 바이트에 기록한다(단계 S4).Accordingly, when a byte of the cell and a cell synchronization signal are applied to record one cell in the FIFO 21 (step S2), the data of the byte is written in one block in the FIFO 21. The value of the recording byte address is increased by '1' (step S3) and the data recording operation of the byte is counted, and the recording operation count value is recorded in the redundant byte (step S4).

이 때, 상기 FIFO(21) 내의 첫 번째 블록의 첫 바이트에 상기 바이트의 데이터가 기록되었는지를 확인하는데(단계 S5), 만약 해당 제5단계(S5)에서 상기 FIFO(21) 내의 하나의 블록의 첫 바이트에 상기 바이트의 데이터가 기록되었다면 공백 상태가 아님을 나타내는 값을 가지는 공백 상태 신호를 출력한다(단계 S6).At this time, it is checked whether the data of the byte is recorded in the first byte of the first block in the FIFO 21 (step S5). If, in the fifth step S5, one block in the FIFO 21 If the data of the byte is written in the first byte, an empty state signal having a value indicating that it is not empty is output (step S6).

그리고, 상기 FIFO(21) 내의 마지막의 블록의 첫 바이트에 상기 바이트의 데이터가 기록되었는지를 확인하는데(단계 S7), 만약 해당 제7단계(S7)에서 상기 FIFO(21) 내의 마지막의 블록의 첫 바이트에 상기 바이트의 데이터가 기록되었다면 충만 상태임을 나타내는 값을 가지는 충만 상태 신호를 출력한다(단계 S8).Then, it is checked whether the data of the byte is recorded in the first byte of the last block in the FIFO 21 (step S7), if the first of the last block in the FIFO 21 in the seventh step (S7) If the data of the byte is written in the byte, a full state signal having a value indicating the full state is output (step S8).

그런 후에, 상기 FIFO(21) 내의 하나의 블록에 상기 각 바이트의 데이터가 다 기록되었는지를 확인하는데(단계 S9), 만약 해당 제9단계(S9)에서 상기 FIFO(21) 내의 하나의 블록에 상기 각 바이트의 데이터가 다 기록되었다면 상기 기록 블록 번지의 값을 '1' 증가시켜 준다(단계 S10). 그리고, 상기 FIFO(21) 내의 마지막 블록인지를 확인하여 더 이상 기록되지 않도록 해 주며(단계 S11), 더 기록할 블록 공간이 생기면 다시 상기 제2단계(S2)부터 다시 동작을 시작한다(단계 S12).Then, it is checked whether the data of each byte is written in one block in the FIFO 21 (step S9), if the block in the FIFO 21 in the ninth step (S9) If the data of each byte is written, the value of the recording block address is increased by '1' (step S10). Then, it is checked whether it is the last block in the FIFO 21 so that it is not recorded any more (step S11), and if there is a block space to be recorded further, the operation starts again from the second step (S2) (step S12). ).

한편, 상기 FIFO(21)에서 하나의 셀을 판독하기 위하여 상기 FIFO(21) 내의 하나의 블록에서 바이트의 데이터를 판독하는 경우(단계 S13), 상기 판독 바이트 번지의 값을 '1' 증가시켜 줌과 동시에(단계 S14) 상기 잉여 바이트에 기록된 기록 동작 계수값을 판독한다(단계 S15).On the other hand, when reading a byte of data in one block in the FIFO 21 in order to read one cell in the FIFO 21 (step S13), the value of the read byte address is increased by '1'. At the same time (step S14), the recording operation count value recorded in the excess byte is read (step S15).

이 때, 상기 제15단계(S15)에서 상기 잉여 바이트를 통해 각 바이트 데이터가 제대로 기록되었는지를 확인하는데(단계 S16), 해당 제16단계(S16)에서 제대로 기록되어진 바이트 데이터인 경우에는 유효한 셀로 사용하도록 하며(단계 S17), 제대로 기록되어 있지 않았던 바이트 데이터인 경우에는 폐기하고(단계 S18) 판독 바이트 번지는 '0'으로 초기화한 후(단계 S19) 판독 블록 번지를 '1' 증가시키도록 한다.At this time, in the fifteenth step S15, it is checked whether each byte data is properly recorded through the surplus bytes (step S16). If the byte data is correctly recorded in the sixteenth step S16, it is used as a valid cell. (Step S17), if the byte data was not recorded properly (step S18), the read byte address is initialized to '0' (step S19), and the read block address is increased to '1'.

그리고, 상기 FIFO(21) 내의 하나의 블록에서 바이트의 데이터를 전부 판독하였는지를 확인하는데(단계 S20), 해당 제20단계(S20)에서 상기 FIFO(21) 내의 하나의 블록에서 바이트의 데이터를 전부 판독하였다면 상기 판독 블록 번지의 값을 '1' 증가시켜 준다(단계 S21). 그리고, 상기 FIFO(21) 내의 마지막 블록인지를 확인하여 더 이상 판독하지 않도록 하며(단계 S22), 더 판독할 데이터가 생기면 제13단계(S13)로부터 동작을 다시 시작한다(단계 S23).Then, it is checked whether all the data of the byte is read in one block in the FIFO 21 (step S20). In the 20th step (S20), all the data of the byte is read in one block in the FIFO 21. If so, the value of the read block address is increased by '1' (step S21). Then, it is checked whether it is the last block in the FIFO 21 so as not to read any more (step S22), and when data to be read is further generated, the operation is restarted from the thirteenth step (S13) (step S23).

상술한 바와 같이, 본 발명은 상기 FIFO(21)의 기록 및 판독 단위를 블록으로 정하며, 기록 번지와 판독 번지를 블록 번지와 바이트 번지로 각각 운영하며, 기록 동작 싸이클을 계수하여 잉여 바이트에 저장한 후에 판독 동작을 수행할 시에 해당 값을 참조하여 셀의 오류 여부를 판단할 수 있다.As described above, according to the present invention, the write and read units of the FIFO 21 are designated as blocks, the write address and read address are operated as block addresses and byte addresses, respectively, and the write operation cycle is counted and stored in redundant bytes. When the read operation is performed later, the corresponding value may be determined to determine whether the cell is in error.

이상과 같이, 본 발명에 의해 FIFO의 기록 번지와 판독 번지를 셀 단위로 관리하여 FIFO의 동작 도중에 발생하는 오류를 검출하며 해당 각 셀별로 잉여 바이트를 덧붙여서 동작하여 해당 셀의 기록과 판독 동작 중의 오류를 검출함으로써, 해당 FIFO의 기록 및 판독 동작 시에 제어 신호 또는 클럭의 불안정한 동작으로 인한 데이터의 오류를 검출하여 복구 불가능한 상태로 빠지는 것을 미연에 방지할 수 있다.As described above, according to the present invention, the write address and read address of the FIFO are managed on a cell-by-cell basis to detect errors occurring during the operation of the FIFO, and by adding an extra byte for each cell, the error during write and read operation of the corresponding cell. By detecting the error, data errors due to unstable operation of the control signal or clock during the write and read operations of the FIFO can be detected and prevented from falling into an unrecoverable state.

Claims (6)

인가받은 셀 동기 신호에 맞추어 기록 번지와 판독 번지를 셀 단위로 관리하며, 기록 동작 싸이클을 계수하여 잉여 바이트에 저장해 해당 셀 판독 시에 해당 각 셀 별로 해당 잉여 바이트를 참조하여 셀의 오류 여부를 판단하는 것을 특징으로 하는 IPC용 FIFO의 번지 관리 시스템.The write address and read address are managed in units of cells in accordance with the authorized cell synchronization signal, and the write operation cycle is counted and stored in the spare byte to determine whether the cell is error by referring to the corresponding spare byte for each cell when the corresponding cell is read. Address management system of the FIFO for IPC, characterized in that. 제1항에 있어서,The method of claim 1, 상기 기록 번지와 판독 번지는 각 블록을 나타내는 블록 번지와 해당 블록 내의 각 바이트를 나타내는 바이트 번지로 나누어 각각 이루어진 것을 특징으로 하는 IPC용 FIFO의 번지 관리 시스템.And the write address and the read address are respectively divided into a block address representing each block and a byte address representing each byte in the corresponding block. 제1항에 있어서,The method of claim 1, 상기 잉여 바이트는 상기 기록 동작 싸이클에서 상기 셀의 각 바이트가 제대로 기록되었는지를 표시하는 것을 특징으로 하는 IPC용 FIFO의 번지 관리 시스템.And the surplus bytes indicate whether each byte of the cell has been properly recorded in the write operation cycle. 기록 블록 번지, 기록 바이트 번지, 판독 블록 번지 및 판독 바이트 번지를 할당하여 초기화하는 과정과;Assigning and initializing a write block address, a write byte address, a read block address and a read byte address; 셀의 바이트 데이터를 FIFO 내 블록에 기록시킬 때마다 상기 기록 바이트 번지의 값을 하나씩 증가시키는 과정과;Incrementing the value of the write byte address by one each time byte data of a cell is written to a block in a FIFO; 상기 바이트의 데이터 기록 동작을 계수하고 셀 동기 신호의 수신을 확인하여 해당 기록 동작 계수값을 잉여 바이트에 기록하는 과정과;Counting the data write operation of the byte, acknowledging reception of a cell synchronization signal, and recording the corresponding write operation count value in the redundant byte; 상기 바이트 데이터가 상기 블록에 충만 기록될 때마다 상기 기록 블록 번지의 값을 하나씩 증가시키는 과정을 포함하여 이루어진 것을 특징으로 하는 IPC용 FIFO의 번지 관리 방법.And increasing the value of the write block address by one each time the byte data is filled in the block. 제4항에 있어서,The method of claim 4, wherein 상기 바이트 데이터의 기록이 상기 블록의 첫 바이트임을 확인하여 공백 상태 신호를 출력하는 과정과;Outputting a blank state signal by confirming that the recording of the byte data is the first byte of the block; 상기 바이트 데이터의 기록이 상기 FIFO 내 마지막 블록의 첫 바이트임을 확인하여 충만 상태 신호를 출력하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 IPC용 FIFO의 번지 관리 방법.Verifying that the recording of the byte data is the first byte of the last block in the FIFO, and outputting a full state signal. 제4항에 있어서,The method of claim 4, wherein 상기 블록에서 상기 바이트 데이터를 판독할 때마다 상기 판독 바이트 번지의 값을 하나씩 증가시키는 과정과;Incrementing the value of the read byte address by one each time the byte data is read in the block; 상기 바이트 데이터가 상기 블록에서 전부 판독될 때마다 상기 판독 블록 번지의 값을 하나씩 증가시키는 과정과;Incrementing the value of the read block address by one each time the byte data is read out from the block; 상기 기록 동작 계수값을 판독하여 상기 바이트 데이터의 정상 기록 여부를 확인해 상기 셀의 폐기 여부를 결정하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 IPC용 FIFO의 번지 관리 방법.And determining whether to discard the cell by reading the write operation count value and checking whether the byte data is normally recorded.
KR10-1998-0057931A 1998-12-24 1998-12-24 Address management system and method of FFC for IPC KR100380601B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1998-0057931A KR100380601B1 (en) 1998-12-24 1998-12-24 Address management system and method of FFC for IPC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1998-0057931A KR100380601B1 (en) 1998-12-24 1998-12-24 Address management system and method of FFC for IPC

Publications (2)

Publication Number Publication Date
KR20000041914A KR20000041914A (en) 2000-07-15
KR100380601B1 true KR100380601B1 (en) 2003-07-16

Family

ID=19565156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0057931A KR100380601B1 (en) 1998-12-24 1998-12-24 Address management system and method of FFC for IPC

Country Status (1)

Country Link
KR (1) KR100380601B1 (en)

Also Published As

Publication number Publication date
KR20000041914A (en) 2000-07-15

Similar Documents

Publication Publication Date Title
EP0468454B1 (en) Interrupt controller
US5745912A (en) Memory card apparatus including a link table for managing the correspondency between the recorded contents in the memory card and that in the link table
KR0121800B1 (en) Memory card device
EP0112622A2 (en) Error correction in buffer storage units
JP3122222B2 (en) Memory card device
US6112268A (en) System for indicating status of a buffer based on a write address of the buffer and generating an abort signal before buffer overflows
EP0327115B1 (en) Serial access memory system provided with improved cascade buffer circuit
JP3222083B2 (en) Shared memory controller
KR100380601B1 (en) Address management system and method of FFC for IPC
US5838895A (en) Fault detection and automatic recovery apparatus or write-read pointers in First-In First-Out
JPS6216294A (en) Memory device
US5497376A (en) Method and device for detecting and correcting errors in memory modules
EP1174790A1 (en) Method and apparatus for determining the number of empty memory locations in a FIFO memory device
JPS6129024B2 (en)
KR860002027B1 (en) Key memory error processing system
JP2873229B2 (en) Buffer memory controller
JP3130796B2 (en) Control storage device
JP2949984B2 (en) Memory monitoring circuit
JPH09274599A (en) Buffer memory device
KR0137408B1 (en) Fifo data i/o method
JPH0395653A (en) Address error detecting method for data storage device
SU1453445A1 (en) Domain storage with localization of failed registers
JP2904030B2 (en) Random access memory monitoring method
JP2546183B2 (en) Method and apparatus for checking RAM of ATM communication device
JPH05236578A (en) Memory switch

Legal Events

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