KR100359811B1 - Apparatus for controlling memory - Google Patents

Apparatus for controlling memory Download PDF

Info

Publication number
KR100359811B1
KR100359811B1 KR1020000011519A KR20000011519A KR100359811B1 KR 100359811 B1 KR100359811 B1 KR 100359811B1 KR 1020000011519 A KR1020000011519 A KR 1020000011519A KR 20000011519 A KR20000011519 A KR 20000011519A KR 100359811 B1 KR100359811 B1 KR 100359811B1
Authority
KR
South Korea
Prior art keywords
memory
data
host
write
read
Prior art date
Application number
KR1020000011519A
Other languages
Korean (ko)
Other versions
KR20010087646A (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 KR1020000011519A priority Critical patent/KR100359811B1/en
Publication of KR20010087646A publication Critical patent/KR20010087646A/en
Application granted granted Critical
Publication of KR100359811B1 publication Critical patent/KR100359811B1/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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing

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)
  • Bus Control (AREA)

Abstract

디지털 TV에서 메모리에 데이터를 읽고 쓰는 메모리 제어 장치에 관한 것으로서, 특히 외부 호스트가 메모리에 데이터를 쓰고자 할 때 외부 호스트로부터 출력되는 데이터를 일시 저장한 후 메모리 아비터를 통해 상기 메모리에 쓰는 쓰기 버퍼와, 상기 외부 호스트가 메모리로부터 데이터를 읽고자 할 때 상기 메모리의 데이터를 메모리 아비터를 통해 읽어 와 일시 저장한 후 상기 외부 호스트로 출력하는 읽기 버퍼와, 상기 쓰기 버퍼와 읽기 버퍼의 쓰기 동작과 읽기 동작을 제어하기 위한 정보들을 저장하는 제어 레지스터를 호스트 인터페이스부에 더 포함시켜, 외부 메모리를 억세스하게 되면, 외부에 어떤 호스트를 적용하더라도 모두 인터페이스가 가능하다.In particular, the present invention relates to a memory control device that reads and writes data in a memory in a digital TV, and more particularly, a write buffer for temporarily storing data output from an external host when the external host wants to write data to the memory, A read buffer for reading and temporarily storing data of the memory through a memory arbiter and outputting the data to the external host when the external host wants to read data from the memory, and write and read operations of the write buffer and the read buffer. By including a control register for storing the information for controlling the host interface unit to further access the external memory, any host can be applied to any external interface.

Description

메모리 제어 장치{Apparatus for controlling memory}Apparatus for controlling memory

본 발명은 디지털 TV(DTV)에 관한 것으로서, 특히 메모리에서 데이터를 읽고 쓰는 메모리 제어 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to digital televisions (DTVs), and more particularly to a memory control device that reads and writes data in a memory.

일반적인 경우에 호스트(예, CPU)는 도 1과 같은 형태의 타이밍도를 가지면서 외부에 붙는 주변 기기(Peripheral)들을 억세스(access)한다.In a general case, a host (eg, a CPU) has a timing diagram as shown in FIG. 1 and accesses peripheral peripherals.

또는, 도 1에서 사이클 준비(Cycle Ready) 신호가 빠지고 고정 길이 사이클타임(Fixed Length Cycle Time)만을 지원하는 호스트도 존재한다.Alternatively, in FIG. 1, there is a host in which a cycle ready signal is missing and supports only fixed length cycle time.

즉, 외부의 호스트는 자신이 억세스하고자 하는 주변기기(이하, peri라 칭함.)에게 도 1의 (a),(b)와 같이 칩 선택 신호(Chip Select)(이하, CS라 칭함)와 함께 어드레스, 리드/라이트(Read/Write) 신호, 데이터(쓰고자 할 경우는 쓰는 데이터, 읽고자 하는 경우는 물론 peri가 내주는 데이터)를 함께 준다. 그러면, 선택된 외부 peri는 자신이 준비가 되어 있다는 것을 호스트에 알리는데, 그 방법중 하나가 도 1의 (c)와 같이 사이클 준비 신호를 인에이블시킴에 의해 호스트에게 알려 준다. 그러면, 호스트는 CS를 풀어 줌으로써 싸이클을 끝내게 된다.That is, the external host addresses the peripheral device (hereinafter referred to as peri) to which the external host wants to access along with the chip select signal (hereinafter referred to as CS) as shown in FIGS. 1A and 1B. , Read / write signal, data (data to write if you want to write, data to be read if you want to read as well as peri). The selected external peri then informs the host that it is ready, one of the methods informing the host by enabling the cycle ready signal as shown in FIG. The host then ends the cycle by releasing CS.

여기서, 상기 도 1의 (c)의 사이클 준비 신호는 CS가 비액티브(Inactive)상태이면 하이 임피던스 상태로 된다. 또한, 준비 신호의 극성(Polarity)은 도 1에서 액티브 하이(Active High)로 되어 있지만, 이것은 액티브 로우(Active Low)로 조정이 가능하다.Here, the cycle preparation signal of FIG. 1C becomes a high impedance state when CS is in an inactive state. In addition, although the polarity of the ready signal is set to Active High in FIG. 1, this can be adjusted to Active Low.

이때, 어떤 호스트의 경우는 사이클 준비 신호를 인지하는 시점을 마음대로 조정할 수 있지만 어떤 것들은 이것이 정해져 있거나 아주 짧은 길이(예를 들면 호스트 클럭으로 128개정도)를 갖는 것도 있다.At this time, some hosts can adjust the timing of recognizing the cycle ready signal, but some are fixed or have a very short length (for example, about 128 host clocks).

만일, 준비 신호의 길이를 마음대로 조절할 수 있는 호스트들은 아주 느린 Peri들을 억세스하는데 아무런 문제가 없지만 이것이 정해진 경우는 느린 peri들을 억세스하는 데에는 문제가 발생한다.Hosts that can arbitrarily adjust the length of the ready signal have no problem accessing very slow Peri, but if this is specified, there is a problem accessing the Slow peri.

특히, 도 2와 같이 다수개의 peri들(202-1,202-2,202-3)들이 병렬로 메모리아비터(memory arbitor)(205-5)를 통해 메모리(203)에 연결되고, 외부 호스트(201)가 호스트 인터페이스부(202-4)와 상기 메모리 아비터(202-5)를 통해 메모리(203)에 연결되는 구조를 갖는 칩(202)의 경우에 호스트(201)가 메모리(203)를 억세스하는 데에 많은 문제가 발생하여 메모리(203)를 억세스하지 못하는 경우가 발생할 수 있다.In particular, as shown in FIG. 2, a plurality of peri 202-1, 202-2, 202-3 are connected to the memory 203 through a memory arbitor 205-5 in parallel, and the external host 201 is connected to the host. In the case of the chip 202 having the structure connected to the memory 203 through the interface unit 202-4 and the memory arbiter 202-5, the host 201 has a large amount of access to the memory 203. Problems may occur such that the memory 203 may not be accessed.

즉, 도 2와 같은 구조에서 각각의 주변 peri들(202-1,202-2,202-3)과 호스트 인터페이스부(202-4)는 동시에 또는, 따로따로 외부에 있는 메모리(203)를 억세스하게 된다. 이때 각각의 블록(202-1∼202-4)에서는 메모리 아비터(Arbiter)(202-5)에게 메모리(203)를 억세스하고자 한다는 요청(Request)을 보내고, 메모리 아비터(202-5)는 각각의 블록에서 들어온 요청을 확인한 후 어떤 블록에서 들어온 요청을 먼저 처리해 줄 것인가를 결정한다. 그리고, 결정된 블록에게 메모리(203)의 억세스를 허락해 준다.That is, in the structure of FIG. 2, each of the peripheral peri 202-1, 202-2, and 202-3 and the host interface unit 202-4 access the memory 203 which is at the same time or separately. In each of the blocks 202-1 to 202-4, a request is sent to the memory arbiter 202-5 to access the memory 203, and the memory arbiter 202-5 After checking the request from the block, it decides which block to process first. Then, the determined block is allowed to access the memory 203.

이때, 상기 메모리 아비터(202-5)는 각각의 블록에서 들어온 요청을 우선 순위를 두어서 처리를 해 줄 수도 있고, 아니면 먼저 들어온 요청부터 처리할 수도 있으며, 두 가지 방법을 혼합해서 처리를 해 줄 수도 있다.In this case, the memory arbiter 202-5 may process the request from each block with priority, or may process the request from the first one, or a mixture of the two methods. It may be.

어떤 방법을 사용하던지 분명한 것은 어떤 블록이 메모리(203)를 억세스하는 시간이 일정치 않다는 점이다.Whatever method is used, it is clear that the time for which a block accesses the memory 203 is not constant.

따라서, 외부에 있는 호스트(201)가 메모리(203)를 억세스하고자 할 때에도 기존의 방법을 사용하면 제대로 된 억세스(쓰거나 읽기 동작)를 할 수 없는 경우가 발생할 수 있다.Therefore, even when the external host 201 attempts to access the memory 203, it may occur that a proper access (write or read operation) cannot be performed using an existing method.

왜냐하면, 도 2와 같은 구조에서 외부의 호스트(201)가 메모리(203)를 억세스하고자 하는 경우에는 우선 외부의 호스트(201)가 CS를 띄운다. 그러면, 호스트 인터페이스부(202-4)가 메모리(203)를 억세스하고 다시 외부의 호스트(201)에 준비 신호를 주게 되어서 하나의 사이클이 끝나게 되는데, 문제는 호스트 인터페이스부(202-4)가 메모리(203)를 억세스하는 시간이 일정하지 않다는 것이다. 이 시간은 다른 블록의 영향으로 아주 길어질 수도 있고, 반대로 짧아질 수도 있기 때문이다.This is because, in the structure shown in FIG. 2, when the external host 201 wants to access the memory 203, the external host 201 first floats a CS. Then, the host interface unit 202-4 accesses the memory 203 and gives a ready signal to the external host 201 again, thereby ending one cycle. The problem is that the host interface unit 202-4 performs the memory. The time for accessing 203 is not constant. This time can be very long due to the influence of other blocks and vice versa.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 외부의 호스트가 외부 메모리를 안정적으로 억세스할 수 있게 하는 메모리 제어 장치를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a memory control apparatus that allows an external host to stably access an external memory.

도 1의 (a) 내지 (c)는 일반적인 호스트 인터페이스 타이밍도1A to 1C are general host interface timing diagrams

도 2는 종래의 메모리 제어 장치의 구성 블록도2 is a block diagram of a conventional memory control apparatus;

도 3은 본 발명에 따른 메모리 제어 장치의 구성 블록도3 is a configuration block diagram of a memory control apparatus according to the present invention;

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

301 : 호스트 400 : 칩301: host 400: chip

401 : 호스트 인터페이스부 401-1 : 쓰기 버퍼401: host interface 401-1: write buffer

401-2 : 읽기 버퍼 401-3 : 제어 레지스터401-2: read buffer 401-3: control register

402 : 메모리 아비터 500 : 메모리402: memory arbiter 500: memory

상기와 같은 목적을 달성하기 위한 본 발명에 따른 메모리 제어 장치는, 외부 호스트가 메모리에 데이터를 쓰고자 할 때 외부 호스트로부터 출력되는 데이터를 일시 저장한 후 메모리 아비터를 통해 상기 메모리에 쓰는 쓰기 버퍼와, 상기 외부 호스트가 메모리로부터 데이터를 읽고자 할 때 상기 메모리의 데이터를 메모리 아비터를 통해 읽어 와 일시 저장한 후 상기 외부 호스트로 출력하는 읽기 버퍼와, 상기 쓰기 버퍼와 읽기 버퍼의 쓰기 동작과 읽기 동작을 제어하기 위한 정보들을 저장하는 제어 레지스터가 상기 호스트 인터페이스부에 더 포함되는 것을 특징으로 한다.The memory control apparatus according to the present invention for achieving the above object comprises a write buffer for temporarily storing data output from the external host when the external host is to write data to the memory and then writing to the memory through the memory arbiter; A read buffer for reading and temporarily storing data of the memory through a memory arbiter and outputting the data to the external host when the external host wants to read data from the memory, and write and read operations of the write buffer and the read buffer. And a control register to store information for controlling the host interface.

본 발명은 외부의 호스트가 어떤 정해진 길이의 쓰기, 읽기 동작 시간을 가지고 있거나 또는, 정해져 있지 않고 데이터 준비 신호를 받는 경우에 상기 준비 신호 길이가 아주 짧을 경우에도 이것에 구애받지 않고 메모리로부터 데이터를 읽거나 메모리에 데이터를 쓸수있게 하는데 있다.The present invention reads data from a memory regardless of whether the ready signal length is very short when an external host has a predetermined length of write and read operation time or receives a data ready signal. Or write data to memory.

본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.

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

도 3은 본 발명에 따른 메모리 제어 장치의 구성 블록도로서, 칩(400) 내의 호스트 인터페이스부(401)에 쓰기 버퍼(401-1)와 읽기 버퍼(401-2), 그리고 제어 레지스터(401-3)를 더 구비하여 구성된다.3 is a block diagram illustrating the configuration of a memory control apparatus according to the present invention, which includes a write buffer 401-1, a read buffer 401-2, and a control register 401-in the host interface 401 in the chip 400. 3) is further provided.

이때, 상기 제어 레지스터(401-3)에는 다음과 같은 정보가 저장된다.At this time, the following information is stored in the control register 401-3.

. 쓰고자 하는 메모리 어드레스. Memory address to write

. 쓰고자 하는 데이터 개수. Number of data to write

. 쓰는 것을 시작하라는 명령. Command to start writing

. 쓰기 동작 중을 표시하는 비트. Bit indicating write operation

. 읽고자 하는 메모리 어드레스. Memory address to read

. 읽고자 하는 데이터 개수. Number of data to read

. 읽기 버퍼에 남아 있는 유효한 데이터 개수. The number of valid data remaining in the read buffer

. 읽기 버퍼에 남아 있는 데이터가 유효한가 아닌가 하는 것을 지시해 주는 비트 인트럽트 인에이블 비트. Bit interrupt enable bit indicating whether data remaining in the read buffer is valid

여기서, 상기 제어 레지스터(401-3)에 저장되는 정보들은 일 예이며, 이는설계자에 의해 달라질 수 있다.Here, the information stored in the control register 401-3 is an example, which may be changed by a designer.

본 발명은 다음과 같은 정보가 제어 레지스터(401-3)에 저장될 때를 실시예로 하며, 이때 호스트(301)는 다음과 같은 과정으로 메모리(500)에 데이터를 쓴다.According to the present invention, when the following information is stored in the control register 401-3, the host 301 writes data to the memory 500 in the following process.

우선, 제어 레지스터(401-3)에 쓰고자 하는 메모리 어드레스, 쓰고자 하는 데이터 개수, 그리고 지금 시작한다는 명령을 써넣는다.First, a memory address to be written, the number of data to be written, and an instruction to start now are written to the control register 401-3.

이렇게 하면 호스트 인터페이스부(401)에서는 다음부터 들어오는 메모리(500)에 대한 쓰기 동작에 관한 데이터를 곧바로 메모리(500)로 보내지 않고 내부의 쓰기 버퍼(401-1)에 저장한다.In this case, the host interface unit 401 stores data related to a write operation to the memory 500 coming from the next time in the internal write buffer 401-1 without directly sending the data to the memory 500.

그리고, 외부 호스트(301)가 쓰기 동작을 다 마치면 호스트 인터페이스부(401)는 호스트(301)가 미리 설정해 놓은 데이터 개수와 호스트가 실제 쓴 데이터 개수를 비교하여 같으면 호스트가 데이터를 다 썼다고 판단하여 메모리 아비터(402)에게 요청을 한다.When the external host 301 finishes the write operation, the host interface 401 compares the number of data pre-set by the host 301 with the number of data actually written by the host, and determines that the host has run out of data. A request is made to the arbiter 402.

이때, 상기 호스트 인터페이스부(401)는 상기 제어 레지스터(401-3)에 지금은 메모리(500)로 쓰기 동작을 하고 있다고 표시를 해 놓는다.At this time, the host interface unit 401 marks the control register 401-3 as writing to the memory 500 at this time.

그리고 나서, 상기 호스트 인터페이스부(401)는 메모리 아비터(402)의 인터페이스를 통하여 쓰기 버퍼(401-1)에 저장된 모든 데이터를 메모리(500)에 쓴다. 그리고, 모든 쓰기 동작이 끝나면 호스트 인터페이스부(402)는 제어 레지스터(401-3)의 쓰기 동작 중을 표시하는 비트를 클리어(Clear)하고 호스트(301)에게 인터럽트를 발생시키거나(인터럽트 인에이블 비트가 ‘1’이면) 또는, 대기하고 있다.The host interface 401 then writes all data stored in the write buffer 401-1 to the memory 500 through the interface of the memory arbiter 402. When all the write operations are completed, the host interface unit 402 clears a bit indicating that the write operation of the control register 401-3 is in progress and generates an interrupt to the host 301 (interrupt enable bit). Is '1') or is waiting.

이때, 외부의 호스트(301)는 상기 제어 레지스터(401-3)를 항상폴링(Polling)하고 있거나 또는, 인터럽트가 들어오기를 기다리고 있다가 쓰기 동작이 끝났음이 판단되면 다음번의 쓰기 동작을 시작할 수 있게 된다.At this time, the external host 301 always polls the control register 401-3 or waits for an interrupt to be input, and when it is determined that the write operation is completed, the next write operation can be started. do.

이렇게 하면 하나의 사이클은 일정한 시간 내에 끝나게 되어서 호스트(301)가 무사히 쓰기 동작을 할 수 있게 된다.This will end one cycle within a certain time, allowing the host 301 to write safely.

한편, 호스트(301)가 메모리(500)로부터 어떤 데이터를 읽고자 할 때는 다음과 같은 과정을 거친다.On the other hand, when the host 301 wants to read some data from the memory 500, it goes through the following process.

우선, 상기 제어 레지스터(401-3)에 읽고자 하는 메모리 어드레스, 읽고자 하는 데이터 개수 등을 써 넣고 읽으라는 명령 비트를 세팅한다.First, a memory address to be read, the number of data to be read, and the like are written into the control register 401-3, and a command bit to read is set.

그리고 나서, 호스트 인터페이스부(401)에서는 제어 레지스터(401-3)에 읽기 버퍼(401-2)에 있는 데이터가 유효한가 아닌가 하는 것을 지시해 주는 비트를 '0'으로 세팅한다.The host interface 401 then sets a bit in the control register 401-3 indicating '0' that the data in the read buffer 401-2 is valid.

그리고, 상기 호스트 인터페이스부(401)는 메모리 아비터(402)와 인터페이스를 하여서 메모리(500)로부터 원하는 어드레스의 데이터를 읽어와서 내부에 있는 읽기 버퍼(401-2)에 써 넣는다.The host interface 401 interfaces with the memory arbiter 402 to read data of a desired address from the memory 500 and write the data of the desired address into the internal read buffer 401-2.

그런 다음 상기 제어 레지스터(401-3) 내의 읽기 버퍼에 있는 데이터가 유효한가 아닌가 하는 것을 지시해 주는 비트를 '1'로 만들고, 외부의 호스트(301)에게 인터럽트를 발생시킨다(인터럽트 인에이블 비트가 ‘1’이면).Then, a bit indicating that data in the read buffer in the control register 401-3 is valid is set to '1', and an interrupt is generated to an external host 301 (the interrupt enable bit is' 1 ').

이때, 외부의 호스트(301)는 계속해서 제어 레지스터(401-3)를 폴링하거나 또는, 인터럽트를 기다리고 있으며, 인터럽트등이 발생하면 현재 읽기 버퍼(401-2)에 데이터가 들어 왔다는 것을 알 수 있다. 따라서, 외부 호스트(301)는 읽기버퍼(401-2)를 억세스하여 메모리(500)로부터 데이터를 읽어올수 있게 된다. 이때, 외부의 호스트(301)는 읽기 버퍼(401-2)에 있는 데이터가 유효한가 아닌가를 검사 할 수 있으며, 또한 유효한 데이터의 개수도 검사 할 수 있게 된다.At this time, the external host 301 continuously polls the control register 401-3 or waits for an interrupt, and when an interrupt occurs, it can be known that data has entered the current read buffer 401-2. . Accordingly, the external host 301 can read data from the memory 500 by accessing the read buffer 401-2. At this time, the external host 301 may check whether the data in the read buffer 401-2 is valid, and also check the number of valid data.

상기와 같은 쓰기, 읽기 방법을 사용하게 되면 모든 메모리 쓰기, 읽기 동작을 같은 시간 내에 처리할 수 있게 되며, 또한 처리하는 시간도 호스트가 메모리를 억세스할 때마다 매번 호스트 인터페이스부가 메모리를 억세스하는 것에 비해서 상당히 절약 할 수 있는 장점이 있다.By using the above write and read method, all the memory write and read operations can be processed within the same time. Also, the processing time can be compared with the host interface accessing the memory each time the host accesses the memory. There is a significant savings.

특히, 본 발명은 칩 내부에 있는 여러 개의 블록이 메모리 아비터를 통하여 하나의 공용 메모리를 사용하고 있으며, 외부의 호스트(예, CPU)가 단지 고정 길이 사이클 타임의 억세스만을 허용할 경우에 효과적으로 외부의 호스트가 메모리를 억세스할 수 있게 한다.In particular, in the present invention, when multiple blocks inside the chip use one common memory through a memory arbiter, an external host (e.g., a CPU) can effectively access a fixed length cycle time only. Allow the host to access memory.

이상에서와 같이 본 발명에 따른 메모리 제어 장치에 의하면, 외부 메모리를 억세스하게 되면, 외부에 어떤 호스트를 적용하더라도 모두 인터페이스가 가능하다는 장점이 있다. 특히, 본 발명은 고화질(HD) 1칩과 같이 칩 안에 있는 각각의 블록들이 메모리를 공유하여 쓸 때, 외부의 호스트가 메모리를 억세스하는 것을 원할하게 함으로써, 셋트의 개발이나 프로그램의 개발에 상당한 도움을 줄 수 있다.As described above, according to the memory control apparatus according to the present invention, when the external memory is accessed, there is an advantage that all the interfaces can be applied to any host. In particular, the present invention provides a significant help in the development of a set or a program by allowing an external host to access the memory when each block in the chip, such as a high-definition (HD) chip, shares and writes a memory. Can give

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.

따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

Claims (5)

메모리 아비터를 통해 외부 메모리를 억세스하는 다수개의 주변 기기들과 호스트 인터페이스부, 상기 호스트 인터페이스부를 통해 상기 외부 메모리를 억세스하는 외부 호스트가 구비된 메모리 제어 장치에 있어서,A memory control apparatus including a plurality of peripheral devices accessing an external memory through a memory arbiter, a host interface unit, and an external host accessing the external memory through the host interface unit. 상기 외부 호스트가 메모리에 데이터를 쓰고자 할 경우에는 데이터를 쓰는데 필요한 정보를 저장하고, 상기 외부 호스트가 메모리로부터 데이터를 읽고자 할 경우에는 데이터를 읽는데 필요한 정보를 저장하는 제어 레지스터;A control register for storing information necessary for writing data when the external host wants to write data to the memory, and for storing information necessary for reading data when the external host wants to read data from the memory; 상기 외부 호스트가 메모리에 데이터를 쓰고자 할 때는 상기 제어 레지스터에 저장된 쓰기 정보에 따라 외부 호스트로부터 출력되는 데이터를 저장한 후 메모리 아비터를 통해 상기 메모리로 출력하는 쓰기 버퍼;A write buffer storing data output from an external host according to write information stored in the control register and outputting the data to the memory through a memory arbiter when the external host wants to write data to the memory; 상기 외부 호스트가 메모리로부터 데이터를 읽고자 할 때는 상기 제어 레지스터에 저장된 읽기 정보에 따라 상기 메모리의 데이터를 메모리 아비터를 통해 읽어 와 저장한 후 상기 외부 호스트로 출력하는 읽기 버퍼가 상기 호스트 인터페이스부에 더 포함되는 것을 특징으로 하는 메모리 제어 장치.When the external host wants to read data from the memory, a read buffer which reads and stores the data of the memory through a memory arbiter according to the read information stored in the control register and outputs the data to the external host further includes a read buffer. Memory control device, characterized in that it is included. 제 1 항에 있어서, 상기 호스트 인터페이스부는The method of claim 1, wherein the host interface unit 상기 외부 호스트가 메모리에 데이터를 쓰고자 할 때 상기 제어 레지스터에 쓰고자 하는 메모리 어드레스, 쓰고자 하는 데이터 개수, 그리고 지금 시작한다는 명령을 저장한 후 호스트로부터 출력되는 데이터를 쓰기 버퍼에 저장하며, 쓰기 동작을 마치면 호스트가 미리 설정해 놓은 데이터 개수와 호스트가 실제 쓴 데이터 개수를 비교하여 같은 경우에만 상기 메모리 아비터에게 메모리에 데이터를 쓰라는 요청을 하는 것을 특징으로 하는 메모리 제어 장치.When the external host wants to write data to the memory, it stores a memory address to write to the control register, the number of data to write, and a command to start now, and then stores the data output from the host in a write buffer. When the operation is completed, the memory control device comprising requesting the memory arbiter to write data to the memory only when the number of data previously set by the host and the number of data actually written by the host are the same. 제 2 항에 있어서, 상기 호스트 인터페이스부는The method of claim 2, wherein the host interface unit 상기 메모리 아비터가 쓰기 버퍼에 저장된 데이터를 메모리에 쓰고자 할 때 상기 제어 레지스터에 지금은 메모리로 쓰기 동작을 하고 있다고 표시를 해 놓은 후, 메모리 아비터의 인터페이스를 통하여 쓰기 버퍼에 저장된 모든 데이터를 메모리에 쓰고, 모든 쓰기 동작이 끝나면 상기 제어 레지스터의 쓰기 동작 중을 표시하는 비트를 클리어하는 것을 특징으로 하는 메모리 제어 장치.When the memory arbiter wants to write data stored in the write buffer to the memory, the control register is marked as writing to the memory, and then all data stored in the write buffer through the interface of the memory arbiter are stored in the memory. Writing and clearing a bit indicating that a write operation of the control register is completed after all write operations are completed. 제 1 항에 있어서, 상기 호스트 인터페이스부는The method of claim 1, wherein the host interface unit 상기 외부 호스트가 메모리로부터 데이터를 읽고자 할 때 상기 제어 레지스터에 읽고자 하는 메모리 어드레스, 읽고자 하는 데이터 개수를 저장하고 읽으라는 명령 비트를 세팅한 후 상기 메모리 아비터와 인터페이스를 하여서 메모리로부터 원하는 어드레스의 데이터를 읽어와 읽기 버퍼에 저장하는 것을 특징으로 하는 메모리 제어 장치.When the external host wants to read data from the memory, it sets the memory address to read in the control register, the command bit to store and read the number of data to read, and then interfaces with the memory arbiter to set the desired address from the memory. A memory control device which reads data and stores it in a read buffer. 제 4 항에 있어서, 상기 호스트 인터페이스부는The method of claim 4, wherein the host interface unit 상기 읽기 버퍼에 데이터를 저장하기 전에 제어 레지스터에 읽기 버퍼에 있는 데이터가 유효한가 아닌가를 지시해 주는 비트를 리셋시키고, 상기 읽기 버퍼에 데이터의 저장이 완료되면 상기 읽기 버퍼에 있는 데이터가 유효한가 아닌가를 지시해 주는 비트를 셋트시키는 것을 특징으로 하는 메모리 제어 장치.Before storing the data in the read buffer, the control register resets a bit indicating whether the data in the read buffer is valid or not, and indicates that the data in the read buffer is valid when the data is stored in the read buffer. A memory control device, characterized in that for setting the bit.
KR1020000011519A 2000-03-08 2000-03-08 Apparatus for controlling memory KR100359811B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000011519A KR100359811B1 (en) 2000-03-08 2000-03-08 Apparatus for controlling memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000011519A KR100359811B1 (en) 2000-03-08 2000-03-08 Apparatus for controlling memory

Publications (2)

Publication Number Publication Date
KR20010087646A KR20010087646A (en) 2001-09-21
KR100359811B1 true KR100359811B1 (en) 2002-11-07

Family

ID=19653225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000011519A KR100359811B1 (en) 2000-03-08 2000-03-08 Apparatus for controlling memory

Country Status (1)

Country Link
KR (1) KR100359811B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672573B2 (en) * 2004-05-13 2010-03-02 Sunplus Technology Co., Ltd. Shared memory architecture and method in an optical storage and recording system
KR100551480B1 (en) * 2004-10-25 2006-02-13 삼성전자주식회사 Memory device configured between processor and non-volatile memory, data transmitting and receiving method among memory device, processor and non-volatile memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980026521A (en) * 1996-10-10 1998-07-15 조진영 Multi-port Memory Asynchronous Arbitration Method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980026521A (en) * 1996-10-10 1998-07-15 조진영 Multi-port Memory Asynchronous Arbitration Method

Also Published As

Publication number Publication date
KR20010087646A (en) 2001-09-21

Similar Documents

Publication Publication Date Title
US10020033B2 (en) Indirect register access method and system
US9176740B2 (en) System and method of indirect register access via directly accessible registers
US8725961B2 (en) Systems, methods, and devices for configuring a device
US7640375B2 (en) DMA controller, method, information processing system, and program for transferring information blocks comprising data and descriptors
US7725621B2 (en) Semiconductor device and data transfer method
US6763448B1 (en) Microcomputer and microcomputer system
US9990315B2 (en) System and method for direct memory access in a flash storage
TWI534615B (en) Serial peripheral interface (spi) controller, serial peripheral interface flash memory and access method and access control method thereof
US20100306421A1 (en) Dma transfer device
US8184110B2 (en) Method and apparatus for indirect interface with enhanced programmable direct port
CN111782027B (en) DDR memory operation frequency adjusting method and device
JP2004252960A (en) Memory controller
KR920010951B1 (en) Data controller and its system
KR100288177B1 (en) Memory access control circuit
US7409486B2 (en) Storage system, and storage control method
KR100359811B1 (en) Apparatus for controlling memory
KR100354933B1 (en) Slave Storage Device Access Method and Data Processing System
CN102027424B (en) Method for controlling access to regions of a storage comprising a plurality of processes and communication module having a message storage for implementing the method
US7352372B2 (en) Indirect addressing mode for display controller
JPH0540698A (en) Main storage page managing system
KR100690597B1 (en) Single mode direct memory access application method using cpu applying dual mode direct memory access
KR20040063404A (en) Apparatus and Method for Controlling Refresh Operation of Data Processing System
JPH02188856A (en) Memory access circuit
KR20050004997A (en) Data transmission handling apparatus
JP2003316721A (en) Data transfer control device, data transfer device, and data transfer control method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060911

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee