KR101065585B1 - Dynamic memory controller, multi-media application processorMAP apparatus comprising the same controller, and method of accessing the same dynamic memory - Google Patents
Dynamic memory controller, multi-media application processorMAP apparatus comprising the same controller, and method of accessing the same dynamic memory Download PDFInfo
- Publication number
- KR101065585B1 KR101065585B1 KR1020080022143A KR20080022143A KR101065585B1 KR 101065585 B1 KR101065585 B1 KR 101065585B1 KR 1020080022143 A KR1020080022143 A KR 1020080022143A KR 20080022143 A KR20080022143 A KR 20080022143A KR 101065585 B1 KR101065585 B1 KR 101065585B1
- Authority
- KR
- South Korea
- Prior art keywords
- port
- dynamic memory
- command
- output
- access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
Abstract
본 발명은 멀티 포트를 통한 동적 메모리로 액세스를 효율적으로 이루어지도록 제어하는 동적 메모리 컨트롤러 및 그 컨트롤러를 포함하는 멀티미디어 어플리케이션 프로세서(MAP) 장치, 및 그 동적 메모리 액세스 방법을 제공한다. 그 동적 메모리 컨트롤러는 데이터 버스에 멀티 포트를 통해 연결된 적어도 2개 이상의 데이터 슬레이브 인터페이스(data slave I/F)를 구비한 인터페이스부(date I/F unit); 및 상기 멀티 포트의 각 포트가 상기 동적 메모리의 각각 다른 뱅크(bank)로 액세스할 수 있도록 상기 인터페이스부 및 동적 메모리(Dynamic RAM: DRAM) 사이에 연결되어 액트(act), 데이터 입출력, 및 프리-차지(pre) 명령을 통해 상기 동적 메모리로의 데이터 입출력을 제어하는 입출력 제어부;를 포함하고, 상기 입출력 제어부는 상기 멀티 포트 중 제1 포트가 액세스 중에 다른 포트들에 대한 액트(act) 명령을 상기 동적 메모리에 인가함으로써, 상기 제1 포트의 액세스 종료 전에도 상기 다른 포트들이 상기 동적 메모리로 액세스할 수 있도록 한다.
The present invention provides a dynamic memory controller and a multimedia application processor (MAP) device including the controller, and a dynamic memory access method for controlling access to dynamic memory through a multi-port efficiently. The dynamic memory controller includes an interface unit (date I / F unit) having at least two or more data slave I / Fs connected to the data bus through multiple ports; And connected between the interface unit and dynamic RAM (DRAM) so that each port of the multi-port can access a different bank of the dynamic memory. And an input / output controller configured to control data input / output to the dynamic memory through a pre command, wherein the input / output controller is configured to issue an act command to other ports while a first port of the multi-port is being accessed. Applying to dynamic memory allows the other ports to access the dynamic memory even before the access of the first port is terminated.
Description
본 발명의 컴퓨터 프로세서 장치에 관한 것으로, 특히 멀티 포트가 동적 메모리로 액세스할 수 있도록 제어하는 동적 메모리 컨트롤러 및 그 컨트롤러를 포함한 멀티미디어 어플리케이션 프로세서(MAP) 장치에 관한 것이다.The present invention relates to a computer processor device of the present invention, and more particularly, to a dynamic memory controller for controlling access to a dynamic memory and a multimedia application processor (MAP) device including the controller.
일반적으로 동적 메모리, 즉 DRAM(Dydamic Random Access Memory)은 컴퓨터의 주기억장치로 사용되며, 그 고속동작의 성능에 관한 개발이 꾸준히 이루어지고 있다. 그러나 DRAM의 동작속도는 최근 그 성능이 더욱 개선되고 있는 프로세서의 동작속도를 따라가지 못하고 있는 실정이다. 이 때문에 DRAM의 액세스 시간과 사이클 타임이 컴퓨터 시스템의 성능을 가로막고 있다.In general, dynamic memory, that is, DRAM (Dydamic Random Access Memory) is used as a main memory of the computer, the development of the performance of its high-speed operation is steadily made. However, the operation speed of the DRAM does not keep up with the operation speed of the processor, the performance of which is being improved further. For this reason, DRAM access and cycle times are hindering the performance of computer systems.
최근에는 이 DRAM을 고속으로 동작하는 프로세서에 사용할 수 있도록, 클록신호에 동기하여 동작하는 동기식 DRAM, 즉 SDRAM(Synchronous DRAM)을 컴퓨터에 사용하는 경향이 주류를 이루고 있다. 또한, 이러한 SDRAM의 사용과 함께 멀티미디 어 어플리케이션 프로세서(MAP) 장치나 복잡한 SoC(System on Chip)에서는 싱글 포트(single-port)보다는 멀티 포트(multi-port)를 사용하고 있다. 이는 마스터 블록에서 SDRAM를 억세스할 때 데이터 버스의 활용성(bus utilization)을 높이기 위함이다.Recently, the trend is to use synchronous DRAMs, ie, synchronous DRAMs (SDRAMs), which operate in synchronization with clock signals, for computers so that the DRAMs can be used in processors operating at high speeds. In addition, with the use of SDRAM, multimedia application processor (MAP) devices or complex System on Chip (SoC) devices are using multi-port rather than single-port. This is to increase the bus utilization of the data bus when accessing the SDRAM from the master block.
한편, SDRAM은 뱅크 단위로 이루어지고 이러한 SDRAM의 각각의 뱅크로 멀티 포트의 각 포트가 액세스하여 데이터를 입출력하게 된다. 각 포트의 SDRAM로의 액세스는 SDRAM 컨트롤러가 제어하게 한다. 현재 하나의 뱅크로 임의의 어떤 포트가 액세스 중인 경우에는 다른 포트가 액세스를 할 수 없고, 액세스 중인 포트에 대한 입출력 작업이 모두 수행되어야 다음 포트가 액세스할 수 있었다. On the other hand, the SDRAM is formed in banks, and each bank of the multi-port accesses each bank of the SDRAM to input and output data. Each port's access to SDRAM is controlled by the SDRAM controller. If any port is currently being accessed by one bank, no other port can access it, and all the I / O operations for the port being accessed must be performed before the next port can be accessed.
일반적으로 SDRAM 컨트롤러에 의한 SDRAM으로의 데이터 입출력은 클록 신호에 동기된 데이터 입출력 신호들에 의해 이루어진다. 즉, 액트(act), 데이터 입출력 명령, 및 프리-차지(pre) 명령을 통해 이루어진다. 종래에는 현재 액세스 중인 포트에 대하여 프리-차지 명령이 수행되어야 다음 포트에 대한 액트 명령이 이루어지는 식으로 동작하였다. 여기서, 액트 명령은 해당 포트로 액세스의 시작을 알리는 신호에 해당하고, 데이터 입출력 명령은 해당 포트의 데이터가 동적 메모리로 읽기나 쓰기 등을 통해 실제로 입출력되도록 하는 신호에 해당하며, 프리-차지 명령은 해당 포트에 대한 입출력 동작이 완료되었음을 알리는 신호에 해당한다.In general, data input / output to the SDRAM by the SDRAM controller is performed by data input / output signals synchronized with a clock signal. That is, through an act, a data input / output instruction, and a pre-charge instruction. In the related art, a pre-charge command must be performed on a port currently being accessed to perform an act command on the next port. Here, the act command corresponds to a signal indicating the start of access to the corresponding port, and the data input / output command corresponds to a signal for actually inputting / outputting the data of the corresponding port by reading or writing to the dynamic memory, and the pre-charge command Corresponds to the signal indicating that the input / output operation for the port has been completed.
그에 따라, 현재, 실질적으로 데이터가 입출력되는 데이터 입출력 명령 이후의 액트 명령을 기다리는 시간이 낭비되는 측면이 있다. 그에 따라, SDRAM로의 멀티 포트를 통한 액세스를 최대한으로 활용하지 못하고 있는 실정이고, 또한 그 결 과로 프로세서와의 원활한 소통도 여전히 미진한 실정이다.Accordingly, there is a current aspect in which time for waiting for an act instruction after a data input / output instruction to which data is actually input / output is wasted. As a result, access to SDRAM is not fully utilized, and as a result, communication with the processor is still insufficient.
따라서, 본 발명이 이루고자 하는 과제는 멀티 포트를 통한 동적 메모리로 액세스를 효율적으로 이루어지도록 제어하는 동적 메모리 컨트롤러 및 그 컨트롤러를 포함하는 멀티미디어 어플리케이션 프로세서(MAP) 장치, 및 그 동적 메모리 액세스 방법을 제공하는 데에 있다.Accordingly, an object of the present invention is to provide a dynamic memory controller and a multimedia application processor (MAP) device including the controller, and a dynamic memory access method for controlling access to dynamic memory through a multi-port efficiently. There is.
상기 과제를 달성하기 위하여, 본 발명은 데이터 버스에 멀티 포트를 통해 연결된 적어도 2개 이상의 데이터 슬레이브 인터페이스(data slave I/F)를 구비한 인터페이스부(date I/F unit); 및 상기 멀티 포트의 각 포트가 상기 동적 메모리의 각각 다른 뱅크(bank)로 액세스할 수 있도록 상기 인터페이스부 및 동적 메모리(Dynamic RAM: DRAM) 사이에 연결되어 액트(act), 데이터 입출력, 및 프리-차지(pre) 명령을 통해 상기 동적 메모리로의 데이터 입출력을 제어하는 입출력 제어부;를 포함하고, 상기 입출력 제어부는 상기 멀티 포트 중 제1 포트가 액세스 중에 다른 포트들에 대한 액트(act) 명령을 상기 동적 메모리에 인가함으로써, 상기 제1 포트의 액세스 종료 전에도 상기 다른 포트들이 상기 동적 메모리로 액세스할 수 있도록 하는 것을 특징으로 하는 동적 메모리 컨트롤러를 제공한다.In order to achieve the above object, the present invention provides an interface unit having at least two or more data slave I / F (data slave I / F) connected to the data bus via a multi-port (date I / F unit); And connected between the interface unit and dynamic RAM (DRAM) so that each port of the multi-port can access a different bank of the dynamic memory. And an input / output controller configured to control data input / output to the dynamic memory through a pre command, wherein the input / output controller is configured to issue an act command to other ports while a first port of the multi-port is being accessed. And applying to dynamic memory to allow the other ports to access the dynamic memory even before access of the first port is terminated.
본 발명에 있어서, 상기 동적 메모리에는 동기식 동적 메모리(Synchronous DRAM: SDRAM), 2배속 동기식 동적 메모리(Double Date Rate-SDRAM: DDR-SDRAM), 2배속 동기식 동적 메모리2(Double Date Rate2-SDRAM: DDR2-SDRAM), 2배속 동기식 동적 메모리3(Double Date Rate3-SDRAM: DDR3-SDRAM) 등의 모든 동적 메모리가 해당 될 수 있다.In the present invention, the dynamic memory includes a synchronous dynamic memory (SDRAM), a double speed synchronous dynamic memory (Double Date Rate-SDRAM: DDR-SDRAM), a double speed synchronous dynamic memory (Double Date Rate 2-SDRAM: DDR2). SDRAM), and double dynamic synchronous dynamic memory 3 (Double Date Rate 3 -SDRAM: DDR3-SDRAM) can be any of these.
또한, 동적 메모리 컨트롤러는, 상기 인터페이스부 및 입출력 제어부 사이에 연결되어 상기 데이터 슬레이브 인터페이스를 상기 입출력 제어부로 선택적으로 연결시키는 중재(Arbitration) 장치를 포함할 수도 있다.In addition, the dynamic memory controller may include an arbitration device connected between the interface unit and the input / output controller to selectively connect the data slave interface to the input / output controller.
본 발명에 있어서, 상기 데이터 버스는 AHB(Advanced High performance Bus)일 수 있고, 상기 입출력 제어부는 상기 AHB로부터 명령에 따라 동적 메모리의 시작 어드레스 및 어드레스 증가분을 결정하는 매핑 컨트롤부(address mapping controll unit), 상기 매핑 컨트롤부에서 결정된 어드레스와 어드레스 증가분을 상기 동적 메모리 명령 형식에 맞도록 변환하는 어드레스 매핑부(row/column address mapping unit), 및 상기 멀티 포트를 상기 동적 메모리로 액세스시키기 위한 상기 액트(act), 데이터 입출력 및 프리-차지(pre) 명령 신호를 구비한 데이터 입출력 신호를 생성시키는 스테이트 머신부(state machine unit)을 포함할 수 있다.In an embodiment of the present invention, the data bus may be an advanced high performance bus (AHB), and the input / output controller may determine an address mapping control unit for determining a start address and an address increment of a dynamic memory according to a command from the AHB. A row / column address mapping unit for converting the address and the address increment determined by the mapping controller to match the dynamic memory command format, and the act for accessing the multiport to the dynamic memory. And a state machine unit for generating a data input / output signal having a data input / output signal and a pre-charge command signal.
본 발명에 있어서, 상기 멀티 포트 중 2개의 포트가 상기 동적 메모리로 액세스를 시도 중인 경우에, 액세스 중인 상기 제1 포트에 대한 프리-차지 명령 수행 전에 제2 포트에 대한 액트 명령을 상기 동적 메모리로 인가될 수 있다. 예컨대, 데이터 입출력을 위한 제어 신호는 상기 제1 포트에 대한 액트 명령, 상기 제1 포트에 대한 데이터 입출력 명령, 제2 포트에 대한 액트 명령, 상기 제2 포트에 대한 데이터 입출력 명령, 상기 제1 포트에 대한 프리-차지 명령 및 상기 제2 포트에 대한 프리-차지 명령 순으로 인가될 수 있다.In the present invention, when two of the multi-ports are attempting to access the dynamic memory, the act instruction for the second port to the dynamic memory before performing the pre-charge command for the first port being accessed. Can be applied. For example, a control signal for data input / output may include an act command for the first port, a data input / output command for the first port, an act command for the second port, a data input / output command for the second port, and the first port. The pre-charge command for the second port and the pre-charge command for the second port.
본 발명에 있어서, 상기 멀티 포트 중 3개 이상의 포트가 상기 동적 메모리로 액세스를 시도 중인 경우에, 데이터 입출력을 위한 제어 신호는 액세스 중인 상기 제1 포트에 대한 프리-차지 명령 수행 전에 제2 포트에 대한 액트 명령, 상기 제2 포트에 대한 프리-차지 명령 수행 전에 제3 포트에 대한 액트 명령, 및 제n 포트에 대한 프리-차지 명령 수행 전에 제n+1 포트에 대한 액트 명령 순으로 인가될 수도 있다. 한편, 상기 데이터 입출력 명령은 데이터의 크기에 따라 상기 프리-차지 명령들 사이에 선택적으로 인가될 수 있다.In the present invention, when three or more ports of the multi-ports are attempting to access the dynamic memory, the control signal for data input / output is transmitted to the second port before performing the pre-charge command for the first port being accessed. May be applied in the order of the act command for the second port, the act command for the third port before performing the pre-charge command for the second port, and the act instruction for the n + 1 port before performing the pre-charge command for the n-th port. have. Meanwhile, the data input / output command may be selectively applied between the pre-charge commands according to the size of data.
본 발명은 또한 상기 과제를 달성하기 위하여, 코어 프로세서를 구비한 프로세서부; 동적 메모리를 구비한 메모리부; 제1 항의 동적 메모리 컨트롤러를 구비한 컨트롤러부; 및 상기 컨트롤러부의 각 구성요소들과 상기 프로세서부의 각 구성요소들을 연결시키는 데이터 버스;를 포함하는 하는 멀티미디어 어플리케이션 프로세서(MAP) 장치를 제공한다.The present invention also provides a processor unit having a core processor to achieve the above object; A memory unit having a dynamic memory; A controller unit having a dynamic memory controller of
본 발명에 있어서, 상기 멀티 포트 중 2개의 포트가 상기 동적 메모리로 액세스를 시도 중인 경우에, 액세스 중인 상기 제1 포트에 대한 프리-차지 명령 수행 전에 제2 포트에 대한 액트 명령이 인가될 수 있으며, 또한, 상기 멀티 포트 중 3개 이상의 포트가 상기 동적 메모리로 액세스를 시도 중인 경우에는, 데이터 입출력을 위한 제어 신호는 액세스 중인 상기 제1 포트에 대한 프리-차지 명령 수행 전에 상기 제2 포트에 대하여 액트 명령, 상기 제2 포트에 대한 프리-차지 명령 수행 전에 제3 포트에 대한 액트 명령, 및 제n 포트에 대한 프리-차지 명령 수행 전에 제n+1 포트에 대한 액트 명령 순으로 인가될 수 있다. In the present invention, when two of the multi-ports are attempting to access the dynamic memory, an act command for the second port may be authorized before performing the pre-charge command for the first port being accessed. In addition, when three or more ports of the multi-ports are attempting to access the dynamic memory, a control signal for data input / output may be applied to the second port before performing a pre-charge command on the first port being accessed. It may be applied in order of an act command, an act command for a third port before performing a pre-charge command for the second port, and an act command for an n + 1 port before performing a pre-charge command for the n-th port. .
더 나아가 본 발명은 상기 과제를 달성하기 위하여, 데이터 버스에 연결된 멀티 포트의 각 포트가 동적 메모리의 각각 다른 뱅크로 데이터를 입출력시키는 방법에 있어서, 상기 동적 메모리로 상기 멀티 포트 중 제1 포트에 대해 액트(act) 명령을 인가하는 단계; 상기 액트 명령 후에 상기 동적 메모리로 상기 제1 포트에 대한 데이터 입출력 명령을 인가하는 단계; 및 데이터 입출력이 종료되면 상기 동적 메모리로 상기 제1 포트에 대한 프리-차지 명령을 인가하는 단계;를 포함하고, 상기 프리-차지 명령 전에 다른 포트에 대하여 상기 동적 메모리로 다른 포트에 대한 액트 명령을 인가함으로써, 상기 제1 포트의 액세스 중에 상기 다른 포트가 상기 동적 메모리로 액세스할 수 있도록 하는 것을 특징으로 하는 데이터 입출력 방법을 제공한다.Furthermore, in order to achieve the above object, the present invention provides a method for inputting / outputting data into different banks of dynamic memory in which each port of a multi-port connected to a data bus is provided. Applying an act command; Applying a data input / output command for the first port to the dynamic memory after the act command; And applying a pre-charge command for the first port to the dynamic memory when data input / output is terminated, and before the pre-charge command, execute an act command for another port to the dynamic memory for the other port. The data input / output method according to
본 발명에 있어서, 데이터 입출력 방법은 상기 멀티 포트 중 2개의 포트가 상기 동적 메모리로 액세스를 시도 중인 경우에, 상기 제1 포트에 대한 데이터 입출력 명령 및 프리-차지 명령 단계 사이에 제2 포트에 대한 액트 명령을 인가하는 단계, 및 상기 제2 포트에 대한 데이터 입출력 명령을 인가하는 단계를 포함하고, 상기 제1 포트에 대한 프리-차지 명령 후에 제2 포트에 대한 프리-차지 명령을 인가하는 단계를 포함할 수 있다.According to the present invention, the data input / output method includes a method for a second port between a data input / output command and a pre-charge command step for the first port when two ports of the multi ports are attempting to access the dynamic memory. Applying an act command, and applying a data input / output command for the second port, and applying a pre-charge command for the second port after the pre-charge command for the first port. It may include.
또한, 데이터 입출력 방법은, 상기 멀티 포트 중 3개 이상의 포트가 상기 동적 메모리로 액세스를 시도 중인 경우에, 상기 제1 포트에 대한 프리-차지 명령을 인가하는 단계 전에 제2 포트에 대하여 액트 명령을 인가하는 단계, 상기 제2 포트에 대한 프리-차지 명령을 인가하는 단계 전에 제3 포트에 대한 액트 명령을 인가 하는 단계, 및 제n 포트에 대한 프리-차지 명령 수행 전에 제n+1 포트에 대한 액트 명령을 인가하는 단계를 포함할 수 있다.In addition, the data input / output method may, when three or more of the multi-ports are attempting to access the dynamic memory, issue an act command to the second port before applying the pre-charge command to the first port. Authorizing, acting on a third port prior to issuing a pre-charge command for the second port, and performing a pre-charge command on the nth port before performing an n + 1 port. And may apply the act command.
본 발명에 따른 동적 메모리 컨트롤러 및 그 동적 메모리 액세스 방법은 어떤 임의의 포트가 동적 메모리를 액세스하는 중에도 다른 포트로 미리 액트 명령을 인가함으로써, 종래 액세스 중인 포트에 대한 프리 차지 명령 때까지 기다림으로써 발생했던 시간 낭비를 현저히 감소시킬 수 있다.The dynamic memory controller and its dynamic memory access method according to the present invention have been generated by waiting for a precharge command for a port being accessed by issuing an Act command to another port in advance even while any arbitrary port is accessing the dynamic memory. The waste of time can be significantly reduced.
그에 따라, 본 발명의 동적 메모리 컨트롤러 및 그 동적 메모리 액세스 방법은 동적 메모리 활용, 액세스 시간 단축 및 프로세서와의 원활한 소통을 가능하게 함으로써, 멀티미디어 어플리케이션 프로세서를 비롯한 동적 메모리를 이용하는 여러 어플리케이션 프로세서에 유용하게 활용될 수 있다.Accordingly, the dynamic memory controller and the dynamic memory access method of the present invention can be utilized in various application processors using dynamic memory, including multimedia application processor, by enabling dynamic memory utilization, shortening the access time, and smooth communication with the processor. Can be.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이하의 설명에서 어떤 구성 요소가 다른 구성 요소에 연결된다고 기술될 때, 이는 다른 구성 요소와 바로 연결될 수도 있지만, 그 사이에 제3의 구성 요소가 개재될 수도 있다. 또한, 도면에서 각 구성 요소의 구조나 크기는 설명의 편의 및 명확성을 위하여 과장되었고, 설명과 관계없는 부분은 생략되었다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. 한편, 사용되는 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, when a component is described as being connected to another component, it may be directly connected to another component, but a third component may be interposed therebetween. In addition, in the drawings, the structure or size of each component is exaggerated for convenience and clarity of explanation, and parts irrelevant to the description are omitted. Like numbers refer to like elements in the figures. It is to be understood that the terminology used is for the purpose of describing the present invention only and is not used to limit the scope of the present invention.
도 1은 본 발명의 일 실시예에 따른 동적 메모리 컨트롤러 구조에 대한 개략적인 블럭도이다.1 is a schematic block diagram of a dynamic memory controller structure according to an embodiment of the present invention.
도 1을 참조하면, 본 실시예에 따른 동적 메모리 컨트롤러(100)는 인터페이스부(date I/F unit, 110) 및 입출력 제어부(130), 및 중재(Arbitration) 장치(120)를 포함한다. 여기서, 인터페이스부(110)는 적어도 2개 이상의 데이터 슬레이브 인터페이스(data slave I/F)를 구비하고, 입출력 제어부(130)는 동적 메모리(300)로의 데이터 입출력을 제어하며, 중재 장치는 입출력 제어부(130)와 인터페이스부(110) 사이를 연결한다.Referring to FIG. 1, the
좀더 상세히 설명하면, 인터페이스부(110)는 2개 이상의 슬레이브 인터페이스(112)로 구성되어 데이터 버스(200), 예컨대 AHB(Advanced High performance Bus)에 멀티 포트를 통해 연결된다. 즉, 인터페이스부(110)는 멀티 포트 인터페이스이다. 한편, 인터페이스부(110)에는 레지스터로 연결된 레지스트 슬레이브 인터페이스(114)도 포함한다. 이러한 레지스트 슬레이브 인터페이스(114)는 AHB(200)에서 오는 레지스터 액세스 명령을 수신한다. 여기서, 데이터 버스로 AHB를 예로 들었으나, 데이터 버스가 AHB에만 한정되는 것은 아니다. 즉, 멀티 포트를 통해 연결될 수 있는 모든 종류의 데이터 버스가 본 실시예에 사용될 수 있다.In more detail, the
인터페이스부(110)의 각 슬레이브 인터페이스(112)는 AHB(200)에서 오는 데이터 액세스 명령을 수신하여 동적 메모리, 예컨대 SDRAM(300)으로 액세스한다. 한편, SDRAM(300)으로 액세스는 동시적인 액세스가 아니라, 선택적인 액세스이다. 이러한 선택적 액세스를 위한 장치가 중재 장치(120)이다. 중재 장치(120)는 다중 포 트, 즉 다수의 슬레이브 인터페이스를 통해 입력된 데이터 액세스 명령 중 하나의 슬레이브 인터페이스의 액세스 명령만을 선택하여 다음 처리부, 즉 입출력 제어부(130)로 전달한다.Each slave interface 112 of the
입출력 제어부(130)는 어드레스 매핑 컨트롤부(address mapping controll unit, 132), 어드레스 매핑부(address mapping unit, 134) 및 스테이트 머신(state machine, 136)을 포함한다. 이러한 입출력 제어부(130)는 슬레이브 인터페이스(112)으로부터 데이터 액세스 명령을 전달받아 SDRAM(300)으로의 실제적인 데이터 입출력을 제어하게 된다.The input /
입출력 제어부(130)의 각 구성부분의 기능을 간단히 설명하면,Briefly explaining the functions of the respective components of the input and
어드레스 매핑 컨트롤부(132)는 전달된 데이터 액세스 명령에 따라 적절하게 메모리, 즉 SDRAM의 시작 어드레스 및 어드레스 증가분을 결정한다. 또한, 어드레스 매핑부(134)는 어드레스 매핑 컨트롤부(132)에서 결정된 어드레스와 어드레스 증가분을 SDRAM(300) 데이터 입출력 명령 형식에 맞도록 변환한다. 한편, 스테이트 머신(136)은 입출력 제어부(130)의 최종 출력단으로서, 실제적인 SDRAM 데이터 입출력 명령어를 생성하여, SDRAM으로 데이터 입출력을 제어하게 된다. 예컨대, 데이터 입출력 명령어는 액트 명령, 읽기나 쓰기 등의 데이터 입출력 명령,및 프리-차지 명령이 있다.The
한편, 동적 메모리 컨트롤러(100) 내부에 배치된 플레쉬 카운터(reflesh counter, 140)는 동적 메모리를 계속적 리플레쉬하는 기능을 한다. 리드 버퍼(read buffer, 150)는 SDRAM으로부터 출력된 데이터를 임시적으로 저장하여 어드레스 매 핑 컨트롤부(132)로 전달하는 기능을 한다.Meanwhile, the
본 실시예의 동적 메모리 컨트롤러(1000)는 종래와 다르게 데이터 입출력 명령을 SDRAM(300)으로 인가함으로써, 멀티 포트가 빠르게 SDRAM(300)으로 액세스할 수 있도록 한다. 즉, SDRAM의 경우, 멀티 포트가 서로 다른 뱅크로 액세스를 시도하는 경우, 액트 명령은 현재 액세스 중인 포트에 대한 프리-차지 명령에 제한받지 않는다. 따라서, 액세스 중인 포트, 예컨대 제1 포트에 대한 프리-차지 명령을 받기 전에 다른 포트, 예컨대 제2 포트에 대한 액트 명령을 SDRAM으로 인가할 수 있다. 그에 따라, 제1 포트가 SDRAM에 액세스 중인 경우에도 제2 포트가 SDRAM으로 액세스하도록 할 수 있다. 물론, 제2 포트에 의한 데이터의 입출력은 액세스 중인 제1 포트에 의한 실질적인 데이터 입출력이 수행된 이후에 가능하다. 그러나, 제1 포트의 프리-차지 명령 전에 제2 포트에 대한 액트 명령이 인가되고 제1 포트의 데이터 입출력 후에 바로 제2 포트에 대한 데이터 입출력이 수행됨으로써, 종래에 비해 멀티 포트, 즉 슬레이브 인터페이스들이 매우 빠르게 SDRAM으로의 액세스할 수 있다.Unlike the conventional method, the
멀티 포트가 SDRAM으로 액세스하는 과정에 대한 설명은 도 2 및 3에 대한 설명부분에서 타이밍도를 통해 좀더 자세히 설명한다.A description of the process of accessing the SDRAM to the SDRAM will be described in more detail through a timing diagram in the description of FIGS. 2 and 3.
본 실시예에서는 SDRAM을 예를 들어 설명하였지만, 동적 메모리, 즉 2배속 동기식 동적 메모리(Double Date Rate-SDRAM: DDR-SDRAM), 2배속 동기식 동적 메모리2(Double Date Rate2-SDRAM: DDR2-SDRAM), 2배속 동기식 동적 메모리3(Double Date Rate3-SDRAM: DDR3-SDRAM) 등의 모든 동적 메모리에 본 실시예의 동적 메모리 컨트롤러가 적용될 수 있음은 물론이다.In the present embodiment, the SDRAM has been described as an example, but dynamic memory, that is, double date synchronous dynamic memory (Double Date Rate-SDRAM: DDR-SDRAM), double speed synchronous dynamic memory 2 (Double Date Rate 2-SDRAM: DDR2-SDRAM) Of course, the dynamic memory controller of the present embodiment can be applied to all dynamic memories such as double speed synchronous dynamic memory 3 (Double Date Rate 3-SDRAM).
도 2는 도 1의 동적 메모리 컨트롤러를 통해 2개의 포트가 동적 메모리로 액세스하는 타이밍도이다.FIG. 2 is a timing diagram in which two ports access dynamic memory through the dynamic memory controller of FIG. 1.
도 2를 참조하면, 포트 0, 즉 제1 포트가 동적 메모리로 액세스하여 데이터를 쓰고 있는 중에, 포트 1, 즉 제2 포트에 대한 액트 명령(ACT B1)이 인가된다. 또한, 제1 포트에 대한 실질적인 데이터 쓰기가 끝난 뒤에 바로 제2 포트에 대한 쓰기 명령(WR_CMD B1)이 인가되어 데이터 쓰기가 진행된다. 그 다음 제1 포트에 대한 프리-차지 명령(PRE B0)가 인가되고, 제2 포트에 대한 데이터 쓰기가 끝나면 제2 포트에 대한 프리-차지 명령(PRE B1)이 인가되어 제2 포트에 대한 SDRAM으로의 데이터 입출력이 종료된다.Referring to FIG. 2, while the
종래에는 제2 포트에 대한 액트 명령이 제1 포트에 대한 프리-차지 명령 후에 인가되었기 때문에 클록 타이밍 T8 이후에나 제2 포트에 대한 액세스가 가능하고, 실질적이 데이터 쓰기는 그 후에 이루어졌다. 그러나, 본 실시예의 동적 메모리 컨트롤러를 이용하여 액세스하는 경우, 클록 타이밍 T3 이후부터 제2 포트에 대한 액트 명령이 인가됨으로써, 제1 포트에 대한 실질적인 데이터 쓰기가 종료된 뒤 바로 제2 포트에 대한 데이터 쓰기가 진행될 수 있다. 따라서, 제1 포트에 대한 데이터 쓰기 이후의 프리-차지에 대한 명령까지의 시간 및 그 후 제2 포트에 대한 액트 명령까지의 시간이 단축될 수 있다.Conventionally, since the act command for the second port was issued after the pre-charge command for the first port, access is possible after the clock timing T8 or the second port, and the data write was subsequently made. However, when accessing using the dynamic memory controller of the present embodiment, the act command for the second port is applied after the clock timing T3, so that the data for the second port immediately after the write of the actual data to the first port is finished. Writing can proceed. Thus, the time until the command for pre-charge after writing data to the first port and then the time until the act command for the second port can be shortened.
도면상, 제2 포트에 대한 액트 명령이 제1 포트 데이터 쓰기 명령(WR_CMD B0) 바로 다음 클록에 되시되었지만, 제1 포트의 데이터 쓰기 진행 중이면 어떤 클 록에 와도 상관없다. 또한, 제2 포트에 대한 데이터 쓰기 명령(WR_CMD B1)도 제1 포트에 대한 쓰기 종료 후의 어느 클록에 와도 상관없다. 다만, 제2 포트에 대한 액세스가 되도록 빨리 이루어지기 위해서, 제1 포트에 대한 데이터 쓰기 종료 후의 바로 다다음 클록에 제2 포트에 대한 데이터 쓰기 명령이 인가되는 것이 바람직하다. 결론적으로, 액세스 중인 포트에 대한 프리-차지 명령 전에 어느 클록에서도 다른 포트에 대한 액트 명령 및 데이터 쓰기 명령이 인가될 수 있다. 다만, 데이터 쓰기 명령은 전술한 바와 같이 액세스 중 포트에 대한 실질적인 데이터 쓰기가 종료된 후에만 인가될 수 있다. 지금까지 데이터 쓰기에 대한 것만 설명하였지만, 데이터 읽기도 동일한 원리가 적용될 수 있음은 물론이다.In the figure, the act command for the second port is written to the clock immediately after the first port data write command WR_CMD B0, but it may be in any clock if data write in progress of the first port is in progress. Further, the data write command WR_CMD B1 for the second port may also be at any clock after the end of writing to the first port. However, in order to make access to the second port as fast as possible, it is preferable that a data write command for the second port is applied to the next clock immediately after the end of the data write for the first port. In conclusion, an Act command and a Data Write command for another port may be authorized at any clock before the pre-charge command for the port being accessed. However, as described above, the data write command may be applied only after the actual data write to the port is terminated during the access. Although only the data writing is described so far, the same principle can be applied to data reading.
도 3은 도 1의 동적 메모리 컨트롤러를 통해 3개의 포트가 동적 메모리로 액세스하는 타이밍도이다.3 is a timing diagram in which three ports access dynamic memory through the dynamic memory controller of FIG. 1.
도 3을 참조하면, 포트 0, 즉 제1 포트에 대한 데이터 쓰기 명령 후에 포트 1, 즉 제2 포트에 대한 액트 명령이 인가되고, 제1 포트에 대한 데이터 쓰기 종료 후 바로 제2 포트에 대한 데이터 쓰기 명령이 인가되며, 그 다음에 제1 포트에 대한 프리-차지 명령이 인가된다. 한편, 제1 포트에 대한 프리-차지 명령 후에 바로 포트 2, 즉 제3 포트에 대한 액트 명령이 인가되며, 제2 포트에 대한 데이터 쓰기가 종료되면, 제3 포트에 대한 데이터 쓰기 명령이 인가되고 그 다음에 제2 포트에 대한 프리-차지 명령이 인가된다. 최종적으로 제3 포트에 대한 데이터 쓰기가 종료되면 제3 포트에 대한 프리-차지 명령이 인가된다.Referring to FIG. 3, after a data write command for
도면상의 타이밍도는 3개의 포트가 동적 메모리로 액세스를 하는 경우를 예 를 들었지만, 그 이상의 포트가 액세스를 시도하는 경우에도 동일한 순서로 데이터 입출력 명령이 인가될 수 있다. 즉, 제2 포트에 대한 프리-차지 명령(PRE B1) 후에 제4 포트에 대한 액트 명령이 인가되고, 제3 포트에 대한 데이터 쓰기가 종료되면 제4 포트에 대한 데이터 쓰기 명령이 인가되는 식으로 계속적인 동적 메모리 액세스가 가능하다.Although the timing diagram in the figure illustrates a case where three ports access dynamic memory, data input / output commands may be applied in the same order even when more ports attempt access. That is, an act command for the fourth port is applied after the pre-charge command PRE B1 for the second port, and a data write command for the fourth port is applied when data writing to the third port is terminated. Continuous dynamic memory access is possible.
한편, 이러한 3개 이상의 멀티 포트의 액세스 동작이 도시된 타이밍도에 한정되는 것은 아니다. 즉, 현재 액세스 중인 포트에 대한 프리-차지 명령 전에 다음 액세스할 포트에 대한 액트 명령 및 데이터 쓰기 명령이 어떤 클록에도 위치할 수 있음은 물론이다. 다만, 전술한 대로 데이터 쓰기 명령은 액세스 중인 포트의 실질적인 데이터 쓰기가 종료된 후에 가능함으로, 차기 액세스 포트에 대한 데이터 쓰기 명령은 액세스 중인 포트의 데이터 쓰기가 종료된 바로 다다음 클록에 위치하는 것이 바람직하다.Meanwhile, such three or more multi-port access operations are not limited to the illustrated timing diagram. That is, the act command and the data write command for the next port to be accessed may be located at any clock before the pre-charge command for the port currently being accessed. However, as described above, the data write command is possible after the actual data write of the accessing port is finished. Therefore, the data write command for the next access port is preferably located at the next clock immediately after the data write of the accessing port is finished. Do.
지금까지, 클록 타이밍도를 통해 설명한 바와 같이, 본 실시예의 동적 메모리 컨트롤러는 액세스 중인 포트에 대한 프리-차지 명령 전에 다른 포트에 대한 액트 명령 또는 데이터 쓰기 명령을 인가함으로써, 멀티 포트의 각각의 슬레이브 인터페이스들이 빠르게 동적 메모리로 액세스할 수 있도록 한다. 따라서, 멀티 포트를 통해 SDRAM으로 액세스하는 멀티미디어 어플리케이션 프로세서(MAP) 장치나 복잡한 SoC(System on Chip) 시스템 등의 모든 컴퓨터 프로세서 장치 또는 시스템에서, 본 실시예의 동적 메모리 컨트롤러는 데이터 버스의 활용성(bus utilization)을 높일 수 있고, 또한 고속의 프로세서와의 원활한 소통을 가능케 한다.Up to now, as explained through the clock timing diagram, the dynamic memory controller of this embodiment applies each of the slave interfaces of the multi-port by applying an Act command or a data write command to another port before the pre-charge command to the port being accessed. To allow them to access dynamic memory quickly. Thus, in any computer processor device or system, such as a multimedia application processor (MAP) device or a complex System on Chip (SoC) system, that accesses SDRAM through multiple ports, the dynamic memory controller of the present embodiment may utilize the data bus. utilization, and also enables smooth communication with high speed processors.
도 4는 본 발명의 다른 실시예에 따른 도 1의 동적 메모리 컨트롤러를 포함한 멀티미디어 어플리케이션 프로세서 장치에 대한 블럭도이다.4 is a block diagram of a multimedia application processor device including the dynamic memory controller of FIG. 1 according to another embodiment of the present invention.
도 4를 참조하면, 본 실시예의 멀티미디어 어플리케이션 프로세서(Multi-media Application Processor: MAP) 장치는 코어 프로세서(CPU, 4100), DMA(Direct Memory Access: 4200) 등을 구비한 프로세서부(4000), 동적 메모리(2100), 낸드 플래시(2200) 등을 구비한 메모리부(2000) 및 동적 메모리 컨트롤러(100), 낸드 플래드 메모리 컨트롤러(200) 등을 구비한 컨트롤러부(1000) 및 컨트롤러부(1000)의 각 구성요소들과 프로세서부(4000)의 각 구성요소들을 연결시키는 데이터 버스(3000)를 포함한다.Referring to FIG. 4, the multimedia application processor (MAP) device of the present embodiment may include a
데이터 버스(3000), 예컨대 AHB는 멀티 포트를 통해 컨트롤러부(1000)의 각 구성요소들과 연결되며, 또한 컨트롤러부(1000) 내의 각 구성요소들 각각으로도 멀티 포트를 통해 연결된다. 예컨대, 동적 메모리 컨트롤러(100) 내의 다수의 슬레이브 인터페이스와 멀티 포트를 통해 연결된다. 한편, 데이터 버스(3000)가 전술한 바와 같이 AHB에 한정되는 것은 아니다.The
본 실시예의 멀티미디어 어플리케이션 프로세서 장치의 동적 메모리 컨트롤러(100)는 도 1에서 설명한 구조를 가지고 동적 메모리(2100), 예컨대 SDRAM으로 슬레이브 인터페이스의 각 포트를 액세스시킨다. 동적 메모리 컨트롤러(100)가 각 포트를 SDRAM으로 액세스시키는 방법은 도 2 및 도 3에서 설명한 바와 같다. 한편, 여기서의 동적 메모리도 SDRAM에 한정되는 것이 아니라, 2배속 동기식 동적 메모리(Double Date Rate-SDRAM: DDR-SDRAM), 2배속 동기식 동적 메모리2(Double Date Rate2-SDRAM: DDR2-SDRAM), 2배속 동기식 동적 메모리3(Double Date Rate3-SDRAM: DDR3-SDRAM) 등의 멀티 포트를 사용하는 모든 동적 메모리가 해당된다.The
따라서, 본 실시예의 멀티미디어 어플리케이션 프로세서 장치는 SDRAM과 같은 동적 메모리를 주메모리로 이용하고 또한, 전술한 동적 메모리 컨트롤러(100)를 통해 그 동적 메모리로 액세스를 제어한다. 그에 따라, 본 실시예의 멀티미디어 어플리케이션 프로세서 장치는 코어 프로세서(4100) 또는 멀티 미디어에 관계된 각종 주변 장치 등과 동적 메모리 사이에 데이터 전송을 멀티 포트를 통해 고속으로 원활하게 수행할 수 있다.Therefore, the multimedia application processor device of the present embodiment uses a dynamic memory such as SDRAM as the main memory and controls access to the dynamic memory through the
도 5a는 본 발명의 또 다른 실시예에 따른 2개 포트가 동적 메모리로 액세스하는 과정을 보여주는 흐름도이다.5A is a flowchart illustrating a process in which two ports access dynamic memory according to another embodiment of the present invention.
도 5a를 참조하면, 본 실시예는 먼저, 제1 포트에 대한 액트 명령을 동적 메모리로 인가하고(S100), 다음 제1 포트에 대한 데이터 입출력 명령, 예컨대 쓰기 또는 읽기 명령을 동적 메모리로 인가한다(S110). 다음, 제1 포트에 대한 프리-차지 명령 전에 제2 포트에 대한 액트 명령을 인가하고(S120), 제1 포트에 대한 데이터 입출력이 끝나면 제2 포트에 대한 데이터 입출력 명령을 동적 메모리로 인가한다(S130).Referring to FIG. 5A, the present embodiment first applies an act command for a first port to a dynamic memory (S100), and then applies a data input / output command, for example, a write or read command, for a next port to a dynamic memory. (S110). Next, an act command for the second port is applied before the pre-charge command for the first port (S120), and when data input / output for the first port is completed, the data input / output command for the second port is applied to the dynamic memory ( S130).
그 후, 제1 포트에 대한 프리-차지 명령을 인가하고(S140), 계속해서 제2 포트에 대한 데이터 입출력이 종료되면, 제2 포트에 대한 프리-차지 명령을 최종적으로 동적 메모리로 인가함으로써(S150), 제1 및 제2 포트에 대한 동적 메모리 액세스가 종료된다.Thereafter, a pre-charge command for the first port is applied (S140), and when data input / output for the second port is terminated, the pre-charge command for the second port is finally applied to the dynamic memory ( S150), dynamic memory access to the first and second ports is terminated.
본 실시예의 2개의 포트를 통한 동적 메모리 액세스 방법은 액세스 중인 제1 포트에 대한 프리-차지 명령이 인가되기 전에 제2 포트에 대한 액트 명령이 미리 동적 메모리로 인가됨으로써, 종래의 제1 포트에 대한 프리-차지 명령을 기다리면서 낭비했던 액세스 시간을 획기적으로 감소시킬 수 있다.In the dynamic memory access method through the two ports of the present embodiment, the act command for the second port is previously applied to the dynamic memory before the pre-charge command for the first port being accessed is applied, so that The waste of access time wasted while waiting for the pre-charge command.
도 5b는 도 5a의 2개의 포트를 N개로 확장한 경우에 N개의 포트가 동적 메모리로 액세스하는 과정을 보여주는 흐름도이다.FIG. 5B is a flowchart illustrating a process in which N ports access dynamic memory when two ports of FIG. 5A are expanded to N ports.
도 5b를 참조하면, 본 실시예의 액세스 방법은 포트를 3개 이상으로 확대한 경우로, 기본 원리는 도 5a와 유사하다. 좀더 상세히 설명하면, N이 1인 경우, 제1 포트에 대한 프리-차지 명령을 동적 메모리로 인가하는 과정(S240)까지는 앞서, 도 5a의 과정과 동일하다. 그러나 액세스를 시도하는 포트가 더 늘어난 경우, N+1 포트, 즉 제2 포트가 최종 액세스를 시도하는 포트인가를 판단한 후(S250), 만약 액세스를 시도하는 다음 포트, 즉 제3 포트가 있는 경우, 즉 제1 포트에 대한 프리-차지 명령 후에 제3 포트에 대한 액트 명령이 수행된다(S220). Referring to FIG. 5B, the access method of the present embodiment is a case where the port is expanded to three or more, and the basic principle is similar to that of FIG. 5A. In more detail, when N is 1, the process of applying a pre-charge command for the first port to the dynamic memory (S240) is the same as the process of FIG. 5A. However, if more ports are attempted to access, after determining whether the N + 1 port, that is, the second port is the port to which the last access is attempted (S250), and if there is a next port to access, that is, a third port That is, the act command for the third port is performed after the pre-charge command for the first port (S220).
이러한 과정은 최종 포트가 나타날 때까지 계속되고, 만약 N+1 포트가 최종 포트인 경우, N+1에 대한 프리-차지 명령이 동적 메모리로 인가됨으로써(S260), 모든 포트에 대한 액세스 과정은 종료된다.This process continues until the last port appears, and if the N + 1 port is the last port, the pre-charge command for N + 1 is applied to the dynamic memory (S260), thereby completing the access process for all ports. do.
본 실시예의 동적 메모리 액세스 방법은 3개 이상의 멀티 포트가 동적 메모리 컨트롤러를 통해 동적 메모리로 액세스하는 하나의 예시를 보여주고 있는 것이다. 따라서, 액세스 중인 포트에 대한 프리-차지 명령이 인가되기 전에 다른 포트에 대한 액트 명령이 동적 메모리로 인가되기만 한다면, 본 실시예와 다른 순서를 통해 여러 포트가 동적 메모리로 액세스할 수 있음은 물론이다.The dynamic memory access method of this embodiment shows an example in which three or more multi-ports access dynamic memory through a dynamic memory controller. Therefore, as long as the act instruction for the other port is applied to the dynamic memory before the pre-charge instruction for the port being accessed is granted, the various ports can access the dynamic memory through a different order from the present embodiment. .
본 실시예의 동적 메모리 액세스 방법은 액세스를 시도하는 멀티 포트가 3개 이상인 경우에도 포트가 2개일 때 동일한 방법으로 동적 메모리에 고속으로 액세스할 수 있음을 보여주며, 또한 3개 이상일 때, 동적 메모리로의 액세스 시간을 더욱 감축시킬 수 있음을 알 수 있다.The dynamic memory access method of this embodiment shows that even when there are three or more multi-ports attempting to access, the dynamic memory can be accessed at high speed in the same manner when two ports are used. It can be seen that it is possible to further reduce the access time of.
지금까지, 본 발명을 도면에 표시된 실시예를 참고로 설명하였으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.So far, the present invention has been described with reference to the embodiments shown in the drawings, which are merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. . Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
도 1은 본 발명의 일 실시예에 따른 동적 메모리 컨트롤러 구조에 대한 개략적인 블럭도이다.1 is a schematic block diagram of a dynamic memory controller structure according to an embodiment of the present invention.
도 2는 도 1의 동적 메모리 컨트롤러를 통해 2개의 포트가 동적 메모리로 액세스하는 타이밍도이다.FIG. 2 is a timing diagram in which two ports access dynamic memory through the dynamic memory controller of FIG. 1.
도 3은 도 1의 동적 메모리 컨트롤러를 통해 3개의 포트가 동적 메모리로 액세스하는 타이밍도이다.3 is a timing diagram in which three ports access dynamic memory through the dynamic memory controller of FIG. 1.
도 4는 본 발명의 다른 실시예에 따른 도 1의 동적 메모리 컨트롤러를 포함한 멀티미디어 어플리케이션 프로세서 장치에 대한 블럭도이다.4 is a block diagram of a multimedia application processor device including the dynamic memory controller of FIG. 1 according to another embodiment of the present invention.
도 5a는 본 발명의 또 다른 실시예에 따른 2개 포트가 동적 메모리로 액세스하는 과정을 보여주는 흐름도이다.5A is a flowchart illustrating a process in which two ports access dynamic memory according to another embodiment of the present invention.
도 5b는 도 5a의 2개의 포트를 N개로 확장한 경우에 N개의 포트가 동적 메모리로 액세스하는 과정을 보여주는 흐름도이다.FIG. 5B is a flowchart illustrating a process in which N ports access dynamic memory when two ports of FIG. 5A are expanded to N ports.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080022143A KR101065585B1 (en) | 2008-03-10 | 2008-03-10 | Dynamic memory controller, multi-media application processorMAP apparatus comprising the same controller, and method of accessing the same dynamic memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080022143A KR101065585B1 (en) | 2008-03-10 | 2008-03-10 | Dynamic memory controller, multi-media application processorMAP apparatus comprising the same controller, and method of accessing the same dynamic memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090097004A KR20090097004A (en) | 2009-09-15 |
KR101065585B1 true KR101065585B1 (en) | 2011-09-19 |
Family
ID=41356522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080022143A KR101065585B1 (en) | 2008-03-10 | 2008-03-10 | Dynamic memory controller, multi-media application processorMAP apparatus comprising the same controller, and method of accessing the same dynamic memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101065585B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040008909A (en) * | 2002-07-19 | 2004-01-31 | 주식회사 하이닉스반도체 | Data processing unit and method with multi-request channel DMA |
-
2008
- 2008-03-10 KR KR1020080022143A patent/KR101065585B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040008909A (en) * | 2002-07-19 | 2004-01-31 | 주식회사 하이닉스반도체 | Data processing unit and method with multi-request channel DMA |
Also Published As
Publication number | Publication date |
---|---|
KR20090097004A (en) | 2009-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1488323B1 (en) | Memory system with burst length shorter than prefetch length | |
US5893136A (en) | Memory controller for independently supporting Synchronous and Asynchronous DRAM memories | |
EP3467832B1 (en) | Memory controller and method for interleaving dram and mram accesses | |
JP2909592B2 (en) | Computer memory system | |
US20070055813A1 (en) | Accessing external memory from an integrated circuit | |
US20020013880A1 (en) | Integrated circuit with flash bridge and autoload | |
US20060193189A1 (en) | Multi-memory chip and data transfer method capable of directly transferring data between internal memory devices | |
JPH05274859A (en) | Integrated circuit storage device | |
CN108139994B (en) | Memory access method and memory controller | |
CN107257964B (en) | DRAM circuit, computer system and method for accessing DRAM circuit | |
US5822768A (en) | Dual ported memory for a unified memory architecture | |
JP2002288037A (en) | Memory control device and method | |
US7962670B2 (en) | Pin multiplexing | |
CN112005226A (en) | Accessing DRAM through reuse of pins | |
JP4229958B2 (en) | Memory control system and memory control circuit | |
US20050182908A1 (en) | Method and apparatus of interleaving memory bank in multi-layer bus system | |
US20150177816A1 (en) | Semiconductor integrated circuit apparatus | |
US5926828A (en) | Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus | |
JP2001035158A (en) | Method and system for accessing memory | |
US6775718B2 (en) | DMA control system enabling flyby transfer to synchronous memory | |
KR101065585B1 (en) | Dynamic memory controller, multi-media application processorMAP apparatus comprising the same controller, and method of accessing the same dynamic memory | |
US20060143330A1 (en) | Method for data transmit burst length control | |
US7747832B2 (en) | Method for controlling a memory access | |
JP3942074B2 (en) | Data input / output device, memory system, data input / output circuit, and data input / output method | |
TW515949B (en) | Method for scheduling run sequence of read and write requests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140703 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150825 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160725 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170825 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180725 Year of fee payment: 8 |