KR100564560B1 - High bandwidth memory controller using synchronous dynamic random access memory - Google Patents
High bandwidth memory controller using synchronous dynamic random access memory Download PDFInfo
- Publication number
- KR100564560B1 KR100564560B1 KR1020000000967A KR20000000967A KR100564560B1 KR 100564560 B1 KR100564560 B1 KR 100564560B1 KR 1020000000967 A KR1020000000967 A KR 1020000000967A KR 20000000967 A KR20000000967 A KR 20000000967A KR 100564560 B1 KR100564560 B1 KR 100564560B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- data
- bank
- memory
- ras
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R24/00—Two-part coupling devices, or either of their cooperating parts, characterised by their overall structure
- H01R24/76—Two-part coupling devices, or either of their cooperating parts, characterised by their overall structure with sockets, clips or analogous contacts and secured to apparatus or structure, e.g. to a wall
- H01R24/78—Two-part coupling devices, or either of their cooperating parts, characterised by their overall structure with sockets, clips or analogous contacts and secured to apparatus or structure, e.g. to a wall with additional earth or shield contacts
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R13/00—Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
- H01R13/02—Contact members
- H01R13/10—Sockets for co-operation with pins or blades
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R24/00—Two-part coupling devices, or either of their cooperating parts, characterised by their overall structure
- H01R24/28—Coupling parts carrying pins, blades or analogous contacts and secured only to wire or cable
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R2103/00—Two poles
Abstract
동기식 디램을 이용한 고속 메모리 컨트롤러가 개시된다. 본 발명에 따른 동기식 디램을 이용한 고속 메모리 컨트롤러는, 다수의 마스터 장치들이 소정의 메모리 장치를 액세스하여 원하는 데이타를 기입 또는 독출하는 것을 제어하는 메모리 액세스 시스템의 메모리 컨트롤러에 있어서, 마스터 장치들로부터 인가되는 메모리 액세스 어드레스와 최근에 액세스된 어드레스를 비교하여 서로 동일한가를 판단하고, 판단된 결과에 응답하여 데이타 액세스를 제어하는 제어 경로 및 내부에 소정의 버퍼를 포함하며, 제어 경로에서 판단된 결과에 응답하여 버퍼에 저장된 데이타를 다수의 마스터 장치로 출력하거나, 메모리 장치를 액세스하여 새로운 데이타를 로드하는 데이타 경로를 구비하고, 본 발명에 따르면 SDRAM을 액세스하는 마스터 장치들이 버스트 길이 단위로 액세스하기 때문에 액세스 시간을 줄일 수 있고, 메모리 컨트롤러 내부에 버스트 길이 단위의 데이타를 버퍼링하고 있으므로 버스트 리드 외의 싱글 리드인 경우에도 데이타 액세스 속도를 빠르게 할 수 있다는 효과가 있다. 또한, 메모리 컨트롤러 내부에 구비된 뱅크 오픈 레지스터를 이용함으로써 데이타 액세스 속도를 향상시킬 수 있다는 효과가 있다. A high speed memory controller using a synchronous DRAM is disclosed. A high speed memory controller using a synchronous DRAM according to the present invention is a memory controller of a memory access system that controls a plurality of master devices to access a predetermined memory device to write or read desired data, and is applied from the master devices. The memory access address is compared with the recently accessed address to determine whether they are the same, and includes a control path for controlling data access and a predetermined buffer in response to the determined result, and responds to the result determined in the control path. A data path for outputting data stored in a buffer to a plurality of master devices, or for accessing a memory device to load new data, and according to the present invention, because the master devices accessing the SDRAM are accessed in burst length units. Can reduce Since the data of the burst length unit is buffered inside the memory controller, the data access speed can be increased even in the case of a single read other than the burst read. In addition, the data access speed can be improved by using the bank open register provided in the memory controller.
Description
도 1은 메모리 액세스 시스템을 나타내는 개략적인 블럭도로서, 본 발명의 실시예에 따른 메모리 컨트롤러가 적용된다.1 is a schematic block diagram illustrating a memory access system, in which a memory controller according to an embodiment of the present invention is applied.
도 2는 본 발명의 실시예에 따른 고속 메모리 컨트롤러를 나타내는 블럭도이다.2 is a block diagram illustrating a high speed memory controller according to an exemplary embodiment of the present invention.
도 3은 도 2에 도시된 장치의 제어 경로에 구비되는 뱅크 히트/미스 판별부를 설명하기 위한 상세한 회로도이다.FIG. 3 is a detailed circuit diagram illustrating a bank hit / miss determination unit included in the control path of the apparatus illustrated in FIG. 2.
도 4는 도 2에 도시된 장치의 데이타 경로를 설명하기 위한 상세한 블럭도 이다.4 is a detailed block diagram illustrating a data path of the apparatus shown in FIG. 2.
본 발명은 메모리 액세스 시스템에 관한 것으로서, 특히, 동기식 디램을 이용한 고속 메모리 컨트롤러에 관한 것이다. The present invention relates to a memory access system, and more particularly, to a high speed memory controller using a synchronous DRAM.
현재에는 프로세서의 속도가 메모리의 속도보다 빨라지는 추세에 있다. 따라서, 메모리를 액세스하는 시스템의 성능은 프로세서의 속도에 의해서 결정된다기 보다는 오히려 메모리의 속도에 의해서 결정된다. 그러나, 고속 메모리를 사용한다는 것은 가격 면에서 많은 부담이 된다. 따라서, 이러한 속도 문제를 해결하기 위해, 시스템 측면에서는 고가의 멀티 레벨의 고속 캐쉬 메모리를 두고, 상대적으로 가격이 저렴한 메모리를 메인 메모리로 사용한다. 즉, 이와 같이, 가격 대비 시스템의 성능을 높이기 위한 노력이 이루어지고 있다. 또한, 메모리 측면에서는 가격이 저렴하면서 높은 속도(bandwidth)를 낼 수 있는 다양한 메모리를 제공하는 추세이다. 여기에서, 다양한 메모리라는 것은 예를 들어 동기식 디램(SDRAM), 램버스 디램(RDRAM), 그래픽 데이타 램(GDRAM) 또는 이중 속도 디램(Double Rate DRAM) 등을 들 수 있다. 즉, 시스템 측면과 메모리 측면이 모두 고려되어야만, 가격 대비 성능 비가 우수한 시스템을 구현할 수 있다. Currently, the speed of the processor is faster than the speed of memory. Thus, the performance of a system that accesses memory is determined by the speed of the memory rather than by the speed of the processor. However, the use of high speed memory is very costly. Therefore, in order to solve this speed problem, the system side uses expensive multi-level fast cache memory and uses relatively low cost memory as main memory. In other words, efforts have been made to increase the performance of the system compared to the price. In addition, in terms of memory, there is a trend to provide a variety of memory that can be cheap and high bandwidth (bandwidth). Here, the various memories may be, for example, synchronous DRAM (SDRAM), Rambus DRAM (RDRAM), graphics data RAM (GDRAM), or double rate DRAM. In other words, both the system side and the memory side must be considered, so that a system having excellent cost-performance ratio can be implemented.
또한, 현재의 시스템 설계 기술은 마이크로프로세서, 메모리 및 메모리 컨트롤러등이 하나의 칩으로 내장되거나, 그 일부의 구성 요소들이 점차 하나의 칩으로 내장되는 추세에 있다. 이러한 경우에, 마이크로프로세서 측면에서는 메모리의 데이타를 처리하는 메모리 컨트롤러를 어떻게 구현하는지가 시스템 성능에 많은 영향을 줄 수 있다. 따라서, 가격에 따른 성능 비가 우수한 시스템을 설계하기 위해서는 보다 효율적인 방식으로 메모리 컨트롤러를 구현하는 것이 요구된다.In addition, current system design technology tends to include a microprocessor, a memory, a memory controller, and the like on one chip, or some components thereof on a single chip. In this case, on the microprocessor side, how to implement a memory controller that processes data in memory can greatly affect system performance. Therefore, in order to design a system having a good performance ratio based on price, it is required to implement a memory controller in a more efficient manner.
본 발명이 이루고자하는 기술적 과제는, 메모리 액세스 시스템에서 동기식 디램을 이용하여 메모리 액세스 속도를 빠르게 할 수 있는, 동기식 디램을 이용한 고속 메모리 컨트롤러를 제공하는데 있다. An object of the present invention is to provide a high speed memory controller using a synchronous DRAM, which can speed up a memory access using a synchronous DRAM in a memory access system.
상기 과제를 이루기위해, 본 발명에 따른 동기식 디램을 이용한 고속 메모리 컨트롤러는, 다수의 마스터 장치들이 소정의 메모리 장치를 액세스하여 원하는 데이타를 기입 또는 독출하는 것을 제어하는 메모리 액세스 시스템의 메모리 컨트롤러에 있어서, 마스터 장치들로부터 인가되는 메모리 액세스 어드레스와 최근에 액세스된 어드레스를 비교하여 서로 동일한가를 판단하고, 판단된 결과에 응답하여 데이타 액세스를 제어하는 제어 경로 및 내부에 소정의 버퍼를 포함하며, 제어 경로에서 판단된 결과에 응답하여 버퍼에 저장된 데이타를 다수의 마스터 장치로 출력하거나, 메모리 장치를 액세스하여 새로운 데이타를 로드하는 데이타 경로로 구성되고, 메모리 장치는 동기식 디램으로 구현되는 것이 바람직하다. In order to achieve the above object, a high-speed memory controller using a synchronous DRAM according to the present invention is a memory controller of a memory access system that controls a plurality of master devices to access a predetermined memory device to write or read desired data And comparing a memory access address applied from master devices with a recently accessed address to determine whether they are identical to each other, and including a control path for controlling data access in response to the determined result, and a predetermined buffer therein. In response to the result determined by the output data stored in the buffer to a plurality of master devices, or a data path for loading the new data by accessing the memory device, the memory device is preferably implemented as a synchronous DRAM.
이하, 본 발명에 따른 동기식 디램을 이용한 고속 메모리 컨트롤러에 관하여 첨부된 도면을 참조하여 다음과 같이 설명한다. Hereinafter, a high speed memory controller using a synchronous DRAM according to the present invention will be described with reference to the accompanying drawings.
도 1은 메모리 액세스 시스템을 나타내는 개략적인 블럭도로서, 본 발명의 실시예에 따른 메모리 컨트롤러가 적용된다. 도 1을 참조하면, 메모리 액세스 시스템은 중앙 처리 장치(CPU)(10), 직접 메모리 액세스 장치(DMA)(14), 캐쉬 메모리(12)들과 같은 마스터 장치, 그 밖의 다른 마스터 장치(16), 메모리 컨트롤러(18) 및 동기식 디램(Synchronous Dynamic Random Access Memory:이하, SDRAM이라 함)(19)을 포함한다. 1 is a schematic block diagram illustrating a memory access system, in which a memory controller according to an embodiment of the present invention is applied. Referring to FIG. 1, a memory access system includes a central processing unit (CPU) 10, a direct memory access unit (DMA) 14, a master device such as
도 1에 도시된 메모리 액세스 시스템에서 CPU(10), 캐쉬 메모리(12), DMA(14) 및 다른 마스터 장치(16)는 메모리 컨트롤러(18)를 통하여 SDRAM(19)을 액 세스하는 마스터 장치로서의 역할을 한다. 도 1의 참조 부호 15는 각각의 마스터 장치들과 메모리 컨트롤러(18) 사이에서 처리되는 데이타들의 전송 라인이다. 본 발명에서 각각의 마스터 장치들은 SDRAM(19)을 액세스할 때, 메모리 컨트롤러 (18)를 통하여 버스트 길이 단위로 데이타를 처리한다. In the memory access system shown in FIG. 1, the
본 발명에 따른 메모리 컨트롤러(18)는 내부에 제어 경로와, 데이타 경로를 구비한다. 여기에서, 데이타 경로 내부에는 버퍼가 구비되어 각각의 마스터 장치들에 의해 SDRAM(29)으로부터 버스트 길이 단위로 전송되는 데이타들을 버퍼링한다. 따라서, 메모리 컨트롤러(18)는 각각의 마스터 장치들이 버스트 길이 단위로 SDRAM(19)을 액세스함으로써 버스트 리드(BURST READ) 뿐 만 아니라, 하나의 데이타를 액세스하는 싱글 리드(SINGLE READ)도 효과적으로 수행할 수 있다. 구체적인 메모리 컨트롤러(18)의 구성 및 동작에 관해서는 도 2~도 4를 참조하여 상세히 기술된다. The
또한, 도 1의 캐쉬 메모리(12)는 캐쉬 미스가 발생되면, 캐쉬 라인은 버스트 길이 만큼 라인 필(LINE FILL)이 이루어진다. 따라서, 캐쉬 메모리(12)의 설계 시에 미리 캐쉬 라인 사이즈가 결정된다. DMA(14)는 내부에 FIFO 메모리를 버스트 길이만큼 두어 데이타를 한번에 버스트 길이 단위로 처리한다. In addition, in the
그밖의 다른 마스터 장치들도 모두 버스트 길이 단위로 데이타를 처리할 수 있도록 설계되어야 한다. 즉, 버스트 길이 단위로 데이타를 처리되면, 데이타 처리 속도 면에서 향상될 수 있다. 그러나, CPU(10)는 캐쉬 미스 시에 버스트 길이 단위로 데이타를 처리할 수 없으므로, 메모리 컨트롤러(18) 내부에 구비된 버퍼들(미도 시)을 이용하여 버스트 길이만큼 버퍼링된 데이타들 중 해당 데이타를 독출하여 싱글 리드(single read)를 수행한다. All other master devices must also be designed to handle data in burst lengths. That is, when data is processed in burst length units, the data processing speed can be improved. However, since the
도 2는 본 발명의 실시예에 따른 메모리 컨트롤러(18)를 설명하기 위한 블럭도이다. 도 2를 참조하면, 메모리 컨트롤러(18)는 제어 경로(20)와 데이타 경로(27)로 구성된다. 2 is a block diagram illustrating a
제어 경로(20)는 데이타 액세스 속도를 향상시키기 위해, 각 마스터 장치들로부터 인가되는 메모리 액세스 어드레스와 최근에 액세스된 어드레스를 비교하여 서로 동일한가를 판단하고, 판단된 결과에 응답하여 데이타 액세스를 제어한다. 이를 위해, 제어 경로(20)는 뱅크 히트/미스 판별부(22)와 유한 상태 머신(Finite State Machine:이하, FSM이라 함)을 구비한다. 구체적으로, 뱅크 히트/미스 판별부(22)는 현재 액세스된 메모리 액세스 어드레스의 RAS 어드레스와, 최근에 액세스된 어드레스의 RAS어드레스를 비교하여, 메모리 액세스 어드레스의 RAS어드레스가 오픈된 뱅크의 RAS 어드레스와 동일한가를 판단한다. 이 때, 최근에 액세스된 어드레스의 RAS어드레스는 뱅크 히트/미스 판별부(22) 내부의 뱅크 오픈 레지스터부(미도시)에 저장된다. 따라서, 두 RAS어드레스를 비교하여 일치하는 경우에, 뱅크 오픈 히트(HIT)인 것으로 판별되고, 일치하지 않는 경우에는 뱅크 오픈 미스(MISS)인 것으로 판별된다. 또한, FSM(24)은 뱅크 히트/미스 판별부 (22)에서 판별된 결과에 의해 RAS의 프리차아지를 제어한다. 즉, 뱅크 히트/미스 판별부(22)에서의 판별 결과가 뱅크 오픈 히트인 것으로 판별되면, FSM(24)는 RAS 의 프리차아지 사이클을 생략하고 CAS어드레스에 의해서만 데이타를 액세스한다. 따라서, 메 모리 액세스 속도가 종래의 메모리 액세스 속도에 비해 줄어들 수 있다. 즉, 일반적인 메모리 액세스 사이클은 RAS액티브, CAS액티브, RAS프리차아지 사이클로 구성되므로, 본 발명에서는 메모리 액세스 속도가 1/3로 줄어들 수 있다. The
데이타 경로(27)는 내부에 버퍼(28)를 구비하여 도 1에 도시된 각 마스터 장치들에 의해 버스트 길이 단위로 처리되는 데이타들을 버퍼링하고, 버퍼링된 데이타를 액세스하여 버스트 리드 또는 싱글 리드 동작을 수행한다. The
이와 같은 구성을 갖는 메모리 컨트롤러에 의해서, 도 1에 도시된 다수의 마스터 장치들은 데이타 경로(27) 내부의 버퍼(28)에 원하는 데이타가 있는 경우에, 상기 버퍼(28) 내부에 저장된 데이타를 로드한다. 또한, 버퍼(28) 내부에 원하는 데이타가 존재하지 않는 경우에는 외부의 SDRAM(19)를 액세스하여 원하는 데이타를 로드한다. By the memory controller having such a configuration, the plurality of master devices shown in FIG. 1 load data stored in the
도 3은 도 2에 도시된 제어 경로(20)의 뱅크 히트/미스 판별부(22)를 설명하기 위한 상세한 회로도이다. 도 3을 참조하면, 뱅크 히트/미스 판별부(22)는 뱅크 오픈 레지스터부(32), 멀티플렉서(34) 및 비교기(36)를 포함한다. FIG. 3 is a detailed circuit diagram illustrating the bank hit /
뱅크 오픈 레지스터부(32)는 다수의 뱅크 오픈 레지스터들(32a~32n)을 구비한다. 여기에서, 레지스터의 수는 SDRAM(19)를 구성하는 뱅크의 수와 동일하다. 각각의 뱅크 오픈 레지스터들(32a~32n)은 SDRAM(19)(도 1참조)을 구성하는 각 n개의 뱅크들 중 최근에 오픈된 뱅크에 대한 RAS어드레스를 저장한다. 여기에서, 최근에 오픈된 뱅크에 대한 RAS어드레스라는 것은, 해당 뱅크에 의해서 최근에 액세스된 어드레스의 마지막 RAS어드레스를 나타낸다. The bank
멀티플렉서(34)는 각 뱅크 오픈 레지스터들(32a~32n)의 출력 신호를 입력으로 하고, 마스터 장치들로부터 인가되는 메모리 액세스 어드레스의 뱅크 어드레스(30a)를 선택 신호(SEL)로 입력한다. 따라서, 멀티플렉서(34)는 상기 뱅크 어드레스(30a)에 응답하여 뱅크 오픈 레지스터들 중 선택된 뱅크 오픈 레지스터의 출력 신호를 비교기(36)의 제2입력으로 인가한다. The
비교기(36)는 상기 메모리 액세스 어드레스(30)의 RAS어드레스(30b)와 멀티플렉서(34)에서 출력되는 해당 뱅크의 RAS어드레스를 비교하고, 비교된 결과에 의해 뱅크 오픈 히트/미스를 판별한 판별 신호(H/M_DET)를 출력한다. 여기에서, 뱅크 오픈 히트/미스 판별 신호(H/M_DET)라는 것은 오픈된 소정의 뱅크에 대해서 동일한 RAS어드레스를 갖는지 또는 갖지 않는지를 판별하기 위한 신호이다. 따라서, 동일한 RAS어드레스를 갖는 경우에는 뱅크 오픈 히트인 것으로 설정되고, 동일한 RAS어드레스를 갖지 않는 경우에는 뱅크 오픈 미스인 것으로 설정된다. The
이하에서, 도 3을 참조하여 뱅크 히트/미스 판별부(22)의 동작에 관하여 구체적으로 기술된다. 먼저, 외부의 마스터 장치들 중 하나로부터 인가되는 메모리 액세스 어드레스(30)는 뱅크 어드레스(30a)와, RAS어드레스(30b) 및 CAS 어드레스 (30c)로 구성된다. 여기에서, 뱅크 어드레스(30a)는 상기 SDRAM 액세스 어드레스(30) 중에서 상위 비트에 해당되며, CAS 어드레스(30c)는 하위 비트에 해당된다. 또한, RAS어드레스(30b)는 메모리의 워드 어드레스에 해당되고, CAS어드레스(30c)는 메모리의 칼럼 어드레스에 해당된다. 이 때, 외부에서 액세스 되는 메모리 액세스 어드레스(30)의 뱅크 어드레스(30a)에 의해 멀티플렉서(34)를 통하여 선 택된 뱅크 오픈 레지스터의 RAS어드레스가 비교기(36)에서 비교된다. 만일, 비교기(36)에서의 비교 결과에 의해 현재 액세스된 메모리 액세스 어드레스의 RAS어드레스와, 멀티플렉서(34)에서 출력된 RAS어드레스가 일치하는 것으로 판단되면, 히트/미스 판별 신호(H/M_DET)는 소정 레벨 예를 들어, 하이 레벨로 설정된다. 히트/미스 판별 신호(H/M_DET)를 입력으로 받은 도 2의 유한 상태 머신(FSM)(24)은 상기 오픈된 뱅크에 대해서 RAS어드레스가 변화되지 않으므로 CAS 신호만을 액티브하여 메모리를 액세스한다. 즉, RAS어드레스에 의해 오픈된 뱅크에 대해서는 CAS 액티브 사이클 만으로 데이타 액세스가 이루어질 수 있다. 이 때, RAS프리차아지는 생략되므로 RAS 프리차아지에 소요되는 시간만큼 액세스 속도가 빨라진다. Hereinafter, the operation of the bank hit /
만일, 현재 액세스되는 메모리 어드레스(30)의 RAS어드레스(30b)와, 멀티플렉서(34)를 통해서 출력되는 RAS어드레스가 일치하지 않는다면, 비교기(36) 에서 출력되는 히트/미스 판별 신호(H/M_DET)는 제2레벨 예를 들어, 로우 레벨로 설정될 수 있다. 따라서, 뱅크 오픈 히트/미스 판별 신호(H/M_DET)에 의해 뱅크 오픈 미스인 것으로 판단되면, 현재 액세스된 메모리 어드레스의 RAS 어드레스가 해당 뱅크 오픈 레지스터에 업데이트(update)되도록 제어된다. If the
도 4는 도 2에 도시된 데이타 경로(27)를 설명하기 위한 상세한 블럭도 이다. 도 4를 참조하면, 데이타 경로(27) 내부의 버퍼(28)는 각 버스트 길이 데이타1~버스트 길이 데이타 M을 저장하는 저장 블럭들(28a~28m)로 구성된다. FIG. 4 is a detailed block diagram for explaining the
도 4의 버퍼(28)에 있어서 그 깊이(depth)에 해당하는 각각의 저장 블럭들 (28a~28m)은 버스트 길이(m)와 그 수가 같다. 따라서, 버스트 길이가 4라면, 각 저 장 블럭도 4개가 된다. 또한, 도 4의 버퍼(28)에서 각 저장 블럭들(28a~28m)에 저장된 데이타들은, 도 3의 CAS 어드레스 구간(30c)에 포함된 일부 어드레스, 바람직하게는 버스트 길이 어드레스에 의해 액세스된다. 즉, 도 4에 나타난 메모리 액세스 어드레스(30) 중에서 상위 어드레스는 도 3에 도시된 어드레스의 뱅크 어드레스(30a)와 RAS어드레스(30b) 및 CAS어드레스(30c)의 일부 어드레스로 설정된다. 따라서, 버스트 길이 어드레스는 CAS어드레스(30c)의 나머지 일부 구간을 나타낸다. In the
이하에서, 도 4의 데이타 경로(27)의 동작에 관하여 구체적으로 기술된다. 전술한 바와 같이, 본 발명에 따른 메모리 컨트롤러(18)는 항상 버스트 길이 단위로 데이타를 버퍼링할 수 있는 버퍼(27)를 구비한다. 따라서, SDRAM(19)(도 1 참조)을 액세스하는 각각의 마스터 장치들은 버스트 길이 단위로 데이타를 액세스할 수 있다. 그러나, CPU(10)와 같은 소정의 마스터 장치는 항상 버스트 액세스를 요구하지는 않는다. 따라서, 버스트 리드가 아닌 싱글 리드가 요구되는 경우에 데이타 경로(27)는 메모리 액세스 어드레스(30)의 상위 어드레스와 버퍼(28)에 현재 버퍼링된 데이타의 상위 어드레스가 동일한지가 판단된다. 이 때, 버퍼링된 데이타의 상위 어드레스와 동일하다면, 하위 어드레스를 나타내는 버스트 길이 어드레스를 이용하여 버퍼(27)에 버퍼링되어 있는 데이타를 액세스함으로써 싱글 리드가 수행된다. 따라서, 버퍼(28)에서 출력되는 데이타는 데이타 버스 (15)를 통하여 데이타를 요구한 마스터 장치로 로드된다. 즉, 마스터가 싱글 리드를 요구하더라도 메모리 컨트롤러(18)는 항상 버스트 길이 단위의 데이타를 버퍼링하고 있다. 따라서, 이후에 마스터가 요구하는 싱글 데이타가 버퍼링되어 있다면 한 사이클 안에 데이타를 액세스할 수 있다. 이는 로컬리티(locality) 측면에서 버퍼링된 데이타가 히트될 확률이 높기 때문에, 액세스 시간이 현저히 줄어들 수 있다. In the following, the operation of the
본 발명에 따르면, SDRAM을 액세스하는 마스터 장치들이 버스트 길이 단위로 액세스하기 때문에 액세스 시간을 줄일 수 있고, 메모리 컨트롤러 내부에 버스트 길이 단위의 데이타를 버퍼링하고 있으므로 버스트 리드 외의 싱글 리드인 경우에도 데이타 액세스 속도를 빠르게 할 수 있다는 효과가 있다. 또한, 메모리 컨트롤러 내부에 구비된 뱅크 오픈 레지스터를 이용함으로써 데이타 액세스 속도를 향상시킬 수 있다는 효과가 있다. According to the present invention, the access time can be reduced because the master devices accessing the SDRAM are accessed in units of burst length, and the data access speed is achieved even in the case of a single read other than the burst read because the data in the burst length unit is buffered inside the memory controller. This has the effect of speeding up the process. In addition, the data access speed can be improved by using the bank open register provided in the memory controller.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000000967A KR100564560B1 (en) | 2000-01-10 | 2000-01-10 | High bandwidth memory controller using synchronous dynamic random access memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000000967A KR100564560B1 (en) | 2000-01-10 | 2000-01-10 | High bandwidth memory controller using synchronous dynamic random access memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010068848A KR20010068848A (en) | 2001-07-23 |
KR100564560B1 true KR100564560B1 (en) | 2006-03-28 |
Family
ID=19637481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000000967A KR100564560B1 (en) | 2000-01-10 | 2000-01-10 | High bandwidth memory controller using synchronous dynamic random access memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100564560B1 (en) |
-
2000
- 2000-01-10 KR KR1020000000967A patent/KR100564560B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20010068848A (en) | 2001-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6389514B1 (en) | Method and computer system for speculatively closing pages in memory | |
TWI457753B (en) | Memory controller and method for managing access to memory | |
US9836416B2 (en) | Memory devices and systems including multi-speed access of memory modules | |
US6438062B1 (en) | Multiple memory bank command for synchronous DRAMs | |
US20070055813A1 (en) | Accessing external memory from an integrated circuit | |
US5587964A (en) | Page mode and nibble mode DRAM | |
JP2003501747A (en) | Programmable SRAM and DRAM cache interface | |
JPH0955081A (en) | Memory controller for control of dynamic random-access memory system and control method of access to dynamic random-access memory system | |
US20080098176A1 (en) | Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching | |
JP5428687B2 (en) | Memory control device | |
JPS62194563A (en) | Buffer storage device | |
US6976122B1 (en) | Dynamic idle counter threshold value for use in memory paging policy | |
US5860117A (en) | Apparatus and method to improve primary memory latencies using an eviction buffer to store write requests | |
US20040190362A1 (en) | Dram and access method | |
US5835947A (en) | Central processing unit and method for improving instruction cache miss latencies using an instruction buffer which conditionally stores additional addresses | |
US20050182868A1 (en) | Apparatus and method for controlling memory | |
US5963481A (en) | Embedded enhanced DRAM, and associated method | |
KR100564560B1 (en) | High bandwidth memory controller using synchronous dynamic random access memory | |
JPH08328949A (en) | Storage device | |
JPH1139857A (en) | Memory system and information processing system | |
US6433786B1 (en) | Memory architecture for video graphics environment | |
US6385687B2 (en) | Method and apparatus for simultaneously accessing the tag and data arrays of a memory device | |
US10768859B1 (en) | History-based memory control system and method | |
KR940001590B1 (en) | Method and device for shortening memory access time in reading and writing | |
US20060129762A1 (en) | Accessible buffer for use in parallel with a filling cacheline |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |