KR20080047907A - 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법 - Google Patents

다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법 Download PDF

Info

Publication number
KR20080047907A
KR20080047907A KR1020060117910A KR20060117910A KR20080047907A KR 20080047907 A KR20080047907 A KR 20080047907A KR 1020060117910 A KR1020060117910 A KR 1020060117910A KR 20060117910 A KR20060117910 A KR 20060117910A KR 20080047907 A KR20080047907 A KR 20080047907A
Authority
KR
South Korea
Prior art keywords
dynamic random
random access
memory
data
access memory
Prior art date
Application number
KR1020060117910A
Other languages
English (en)
Other versions
KR101086417B1 (ko
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 KR1020060117910A priority Critical patent/KR101086417B1/ko
Priority to US11/783,516 priority patent/US7996601B2/en
Publication of KR20080047907A publication Critical patent/KR20080047907A/ko
Application granted granted Critical
Publication of KR101086417B1 publication Critical patent/KR101086417B1/ko

Links

Images

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/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

본 발명은 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법에 관한 것이다. 본 발명은 다이내믹 랜덤 액세스 메모리를 제어하기 위한 메모리 컨트롤러를 포함하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치에 있어서, 메모리 컨트롤러는 제1 서브 컨트롤러 및 제2 서브 컨트롤러를 포함하고, 제1 서브 컨트롤러는 제1 다이내믹 랜덤 액세스 메모리를 제어하며, 제2 서브 컨트롤러는 제2 다이내믹 랜덤 액세스 메모리를 제어함으로써, 종래의 다이내믹 랜덤 액세스 메모리를 사용할 경우 발생할 수 있는 가비지 사이클을 제거하는 효과가 있다.
컨트롤러, 메모리, 부분 액세스, DDR, DRAM

Description

다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법{Apparatus and method for partial access of dynamic random access memory}
도 1은 종래 기술에 따른 다이내믹 랜덤 액세스 메모리의 액세스 장치를 도시한 블록도이다.
도 2는 종래 기술에 따른 DDR에서의 데이터 판독시 가비지 사이클이 발생하는 예를 도시한 타이밍도이다.
도 3은 본 발명의 일 실시예에 따른 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치를 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치의 메모리 컨트롤러를 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 DDR에서 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치를 사용할 때의 타이밍도이다.
도 6은 본 발명의 일 실시예에 따라 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법을 도시한 흐름도이다.
도 7은 본 발명의 다른 실시예에 따라 비디오 코덱으로부터의 액세스 요청이 있는 경우에 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법을 도시한 흐름도이다.
도 8은 도 7에 따라 가비지 사이클이 감소되는 예를 나타내는 타이밍도이다.
본 발명은 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법에 관한 것으로, 더욱 상세하게는 다이내믹 랜덤 액세스 메모리에서 메모리 액세스의 처리를 보다 효율적으로 하기 위한 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법에 관한 것이다.
근래에는 디지털 장치의 주기억 장치로서 다이내믹 랜덤 액세스 메모리(DRAM: Dynamic Random Access Memory)가 사용되는 경우가 많다. 특히, 여러 가지 기능들을 처리하기 위해서 시스템의 대역폭에 대한 요구가 계속적으로 증가하면서, 주기억 장치인 DRAM의 사용 주파수도 점차 증가하게 되었다.
일반적으로, 메모리의 사용 주파수가 높아지면, 시스템 대역폭 문제는 해결이 가능하다. 그러나, 메모리의 사용 주파수를 높여 데이터 전송률을 끌어올리기 위해서는 시스템 버스에 연결되어 있는 수많은 마스터 모듈들의 동작 주파수도 또한 따라 올려야 하므로 설계가 매우 어렵거나 불가능한 경우가 발생한다.
특히, 최근 DDR, DDR2, DDR3 및 RAMBUS 등 고속 메모리가 나타나면서 전체적인 시스템의 성능을 끌어올릴 수 있는 기반은 마련되었으나, 더 높은 주파수로 메모리를 사용하기 위해서는 일반적으로 시스템 버스의 동작 주파수도 함께 올려야 한다. 따라서, 칩 사이즈에 대한 과다한 오버헤드와 전력 소모의 부담, 및 제조 비 용의 상승이 발생할 수 있다는 문제가 있다.
도 1은 종래 기술에 따른 다이내믹 랜덤 액세스 메모리(DRAM)의 액세스 장치를 도시한 블록도이다.
도 1을 참조하면, 종래의 다이내믹 랜덤 액세스 메모리의 액세스 장치는 메모리 컨트롤러(102)를 포함한다.
메모리 컨트롤러(102)는, 단일의 메모리 인터페이스(103)를 포함하며, 그를 통해 복수 개의 DRAM(104, 105)에 연결된다.
메모리 인터페이스(103)는, 메모리 컨트롤러(102)의 제어 신호를 복수 개의 DRAM(104, 105)에 모두 동일한 신호로써 전송한다.
DRAM들(104, 105)은 단일의 메모리 컨트롤러(102)의 단일의 메모리 인터페이스(103)를 통해서 병렬로 연결된다. 따라서, 메모리 컨트롤러(102)로부터 전송되는 제어 신호를 공유하며, 다만 각 DRAM(104, 105)에 입출력되는 데이터만이 각각 분리되어 기록 또는 판독된다.
도 2는 종래 기술에 따른 DDR(Double Data Rate)에서의 데이터 판독시 가비지 사이클이 발생하는 예를 도시한 타이밍도이다.
도 2를 참조하면, 종래 시스템에서, 요청되는 데이터 길이가 DRAM들(104, 105)의 버스트 길이보다 작다고 가정한 것이다(도 4의 B 데이터 부분 참조).
시스템 버스(101)를 통해 판독하도록 요청된 데이터 B는 B0, B1, B2, B3(예를 들어, B0, B1, B2, B3는 각각 16 비트)로 구성된다. DRAM들(104, 105)로부터 판독된 데이터(즉, B0, B1, B2, B3)는 메모리 컨트롤러(102)에서 B(3210)(즉, 64 비 트로 이루어진 데이터)와 같이 재배열되어 시스템 버스(101)로 출력된다.
그런데, 메모리 컨트롤러(102)는 동일한 제어 신호를 사용하여 DRAM의 데이터(DQ)를 판독하게 되므로, 각 DRAM(104, 105)으로부터의 데이터 판독은 DQ1(B0 판독), DQ2(B1 판독), DQ1(B2 판독), DQ2(B3 판독)의 순서로 이루어져야만 한다. 따라서, DRAM(104, 105)의 버스트 길이 만큼의 불필요한 영역(도 2의 B4 내지 B7 부분)도 그대로 판독되어야 한다.
이와 같이, 종래의 다이내믹 랜덤 액세스 메모리의 액세스 장치는, 복수 개의 DRAM들(104, 105)을 하나의 제어 신호로 제어하여야 하기 때문에, DRAM들(104, 105)에 대한 액세스 요청의 데이터 길이가 DRAM의 버스트 길이(BL: Burst Length)보다 짧은 경우에는 데이터 전송 대역폭을 낭비하게 하는 가비지 사이클(garbage)이 발생된다는 문제점이 있다.
또한, 예를 들어, 비디오 코덱으로부터의 요청을 처리하는 경우에는, 프레임의 블록 단위로 데이터를 처리하게 되는데, 이 과정에서 DRAM이 지원하는 버스트 길이보다 짧은 요청을 연속적으로 요구하는 경우가 빈번하게 발생하게 된다. 따라서, 데이터 요청 시 대역폭의 낭비를 줄일 수 있는 해결책이 필요하게 되었다.
본 발명은 상술한 문제점을 해결하기 위해 창출된 것으로, DRAM에 대한 액세스 요청시 가비지 사이클을 감소시킴으로써, 메모리 액세스 처리를 보다 효율적으로 수행하게 하고 기존의 시스템 제작 비용과 노력으로 더 높은 데이터 전송률을 얻어낼 수 있도록 하는데 그 목적이 있다.
상술한 목적을 달성하기 위해서 본 발명의 일 실시예에 따른 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치는, 다이내믹 랜덤 액세스 메모리를 제어하기 위한 메모리 컨트롤러를 포함하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치에 있어, 상기 메모리 컨트롤러는 제1 서브 컨트롤러 및 제2 서브 컨트롤러를 포함하고, 상기 제1 서브 컨트롤러는 제1 다이내믹 랜덤 액세스 메모리를 제어하며, 상기 제2 서브 컨트롤러는 제2 다이내믹 랜덤 액세스 메모리를 제어하는 것을 특징으로 한다.
상기 제1 서브 컨트롤러는, 액세스 요청된 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)-1)인 하위 어드레스 영역에 대하여, 2n 비트의 데이터폭을 가지는 제1 다이내믹 랜덤 액세스 메모리에 액세스하는 것을 특징으로 한다.
상기 제1 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 제1 데이터를 상기 제1 다이내믹 랜덤 액세스 메모리에 할당하는 것을 특징으로 한다.
상기 제2 서브 컨트롤러는, 액세스 요청된 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)인 상위 어드레스 영역에 대하여, 2n 비트의 데이터폭을 가지는 제2 다이내믹 랜덤 액세스 메모리에 액세스하는 것을 특징으로 한다.
상기 제2 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 제2 데이터를 상기 제2 다이내믹 랜덤 액세스 메모리에 할당하고, 상기 제2 데이터는 상기 제1 데이터에 연속되는 데이터이고, 상기 제1 데이터와 서로 겹치지 않는 것을 특징으로 한다.
상기 메모리 컨트롤러는 시스템 버스로부터 입력받은 기록 데이터를 버퍼링하고, 상기 서브 컨트롤러들을 거쳐서 상기 다이내믹 랜덤 액세스 메모리에 기록하기 위한 기록 데이터 큐를 포함하는 것을 특징으로 한다.
상기 메모리 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들로부터 판독되는 판독 데이터를 버퍼링하여 시스템 버스로 출력하는 판독 데이터 큐를 포함하는 것을 특징으로 한다.
상기 메모리 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들 중에서 어떤 다이내믹 랜덤 액세스 메모리에 액세스할지를 결정하는 트랜잭션 큐를 포함하는 것을 특징으로 한다.
상기 트랜잭션 큐는 어드레스 영역의 하위 n번째 비트 및 스트라이트 비트를 비교하여, 액세스할 상기 다이내믹 랜덤 액세스 메모리를 변경하는 것을 특징으로 한다.
상기 트랜잭션 큐는, 비디오 데이터가 입력되면 제1 라인의 시작 데이터를 상기 제1 다이내믹 랜덤 액세스 메모리에 할당하고, 제2 라인의 시작 데이터를 상기 제2 다이내믹 랜덤 액세스 메모리에 할당하는 것을 특징으로 한다.
상기 n은 4 또는 5인 것을 특징으로 한다.
상기 다이내믹 랜덤 액세스 메모리는 SDR, DDR, DDR2, DDR3, 또는 램버스 DRAM 중 어느 하나인 것을 특징으로 한다.
상기 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치는 상기 다이내믹 랜덤 액세스 메모리들에서 생길 수 있는 가비지(garbage) 사이클을 제거하는 것을 특징으로 한다.
상기 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치는 메모리 스케줄러에 내장되거나 외장되는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 따른 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치는, 다이내믹 랜덤 액세스 메모리를 제어하기 위한 메모리 컨트롤러를 포함하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치로서, 상기 메모리 컨트롤러는 복수 개의 서브 컨트롤러들을 포함하고, 상기 복수 개의 서브 컨트롤러들은 서로 상이한 메모리 인터페이스들을 통해서 복수 개의 다이내믹 랜덤 액세스 메모리들을 각각 제어하는 것을 특징으로 한다.
상기 복수 개의 서브 컨트롤러들은 서로 중복되지 않는 어드레스 영역에 대하여 상기 복수 개의 다이내믹 랜덤 액세스 메모리들에 액세스하는 것을 특징으로 한다.
상기 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 데이터를 상기 다이내믹 랜덤 액세스 메모리에 할당하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법은, 시스템 버스로부터 다이내믹 랜덤 액세스 메모리에 대한 액세스 요청을 수신하는 단계; 상기 수신된 액세스 요청에 포함되는 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)-1)인 경우, 2n 비트의 데이터폭을 가지는 제1 다이내믹 랜덤 액세스 메모리에 액세스하는 단계; 상기 수신된 액세스 요청에 포함되는 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)인 경우, 2n 비트의 데이터폭을 가지는 제2 다이내믹 랜덤 액세스 메모리에 액세스하는 단계를 포함하는 것을 특징으로 한다.
상기 제1 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 제1 데이터를 상기 제1 다이내믹 랜덤 액세스 메모리에 할당하는 것을 특징으로 한다.
상기 제2 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 제2 데이터를 상기 제2 다이내믹 랜덤 액세스 메모리에 할당하고, 상기 제2 데이터는 상기 제1 데이터에 연속되는 데이터이고, 상기 제1 데이터와 서로 겹치지 않는 것을 특징으로 한다.
상기 액세스 요청을 수신하는 단계 후에, 수신된 상기 액세스 요청이 코덱으로부터 전송된 것인지를 판단하는 단계; 상기 액세스 요청이 코덱으로부터 전송된 경우, 스트라이드 비트가 0이고 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)-1), 또는 스트라이드 비트가 1이고 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)이면 상기 제1 다이내믹 랜덤 액세스 메모리에 액세스하는 단계를 포함하는 것을 특징으로 한다.
상기 액세스 요청이 코덱으로부터 전송된 경우, 스트라이드 비트가 1이고 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)-1), 또는 스트라이드 비트가 0이고 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)이면 상기 제1 다이내믹 랜덤 액세스 메모리에 액세스하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치를 도시한 블록도이다.
도 3을 참조하면, 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치는 메모리 컨트롤러(302)를 포함한다. 또한, 도 3에서의 제1 DRAM(103)과 제2 DRAM(104)는 각각 도 1에서의 제 1 DRAM(103)과 제2 DRAM(104)에 대응하는 것이다.
메모리 컨트롤러(302)는, 제1 DRAM(104)를 제어하기 위한 제1 서브 컨트롤러(303) 및 제2 DRAM(105)를 제어하기 위한 제2 서브 컨트롤러(304)를 포함한다.
상기 실시예에서는 메모리 컨트롤러(302)는 2개의 서브 컨트롤러를 포함하는 것을 설명하고 있으나, 반드시 이에 한정되는 것은 아니며, 2 이상의 복수 개의 서브 컨트롤러를 포함하는 것도 가능하다.
메모리 컨트롤러(302)는 제1 서브 컨트롤러(303) 및 제2 서브 컨트롤러(304)로 하여금 별개의 서로 상이한 제어 신호가 입력되도록 제어한다. 예를 들어, 메모리 컨트롤러(302)로부터 DRAM들(104, 105)로 전송되는 데이터 폭이 32 비트이면, 이를 상위 16 비트 및 하위 16 비트로 구분하고, 하위 16 비트는 제1 서브 컨트롤러(303)를 통해 제1 DRAM(104)에 전송되고 상위 16 비트는 제2 서브 컨트롤러(304)를 통해 제2 DRAM(105)에 전송되도록 구성하는 것이 가능하다.
한편, 메모리 컨트롤러(302)는 메모리 스케줄러(도시되지 않음)에 내장되거나 또는 외장되는 형태로 구성될 수 있다. 메모리 컨트롤러(302)의 구체적인 구성 및 동작에 대해서는 도 4에서 더욱 상세하게 설명될 것이다.
제1 서브 컨트롤러(303)는, 제1 DRAM(104)에 액세스하기 위한 제1 메모리 인터페이스(305)를 포함한다. 또한, 제1 서브 컨트롤러(303)는 메모리 컨트롤러(302) 내부에 위치하고 있으며, 제1 DRAM(104)으로의 액세스를 제어한다.
또한, 제1 서브 컨트롤러(303)는 제2 서브 컨트롤러(304)와는 메모리 인터페이스를 달리하고 있으므로, 제2 서브 컨트롤러(304)의 제어 신호를 공유하지 않는다.
제2 서브 컨트롤러(304)는, 제2 DRAM(105)에 액세스하기 위한 제2 메모리 인터페이스(306)을 포함한다. 그 동작은 제1 서브 컨트롤러(303)와 동일하나, 상술한 바와 같이 제1 서브 컨트롤러(303)의 제어 신호를 공유하지 않는다.
제1 DRAM(104)은 메모리 컨트롤러(302)의 제1 메모리 인터페이스(305)를 통해서 제1 서브 컨트롤러(303)에 연결된다. 제1 DRAM(104)은 메모리 컨트롤러(302)로부터 제1 서브 컨트롤러(303)를 통해 전송된 제어 신호를 수신하여, 요청된 데이터를 입출력한다.
마찬가지로, 제2 DRAM(105)은 제2 서브 컨트롤러(304)에서 전송된 제어 신호 를 수신하여, 요청된 데이터를 입출력한다. 제2 DRAM(105)는 제1 DRAM(104)과는 상이한 제어 신호를 입력받는다.
본 실시예에서는, 시스템 버스(101)가 64 비트이고 2개의 16 비트 DRAM이 사용된 예를 설명하고 있다. 그러나, 메모리 컨트롤러(302)에 연결되는 DRAM이 반드시 2개일 필요는 없으며, 필요에 따라 2개 이상의 DRAM이 메모리 컨트롤러(302)에 연결될 수도 있다. 복수 개의 DRAM이 메모리 컨트롤러에 연결되기 위해서는, 그 메모리 컨트롤러 내부에 복수 개의 서브 컨트롤러를 구비하는 것이 바람직할 것이다.
상술한 DRAM은 SDR(single data rate), DDR(double data rate), DDR2, DDR3, 또는 램버스 DRAM 등으로 구성될 수 있다.
도 4는 본 발명의 일 실시예에 따른 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치의 메모리 컨트롤러를 도시한 블록도이다.
도 4를 참조하면, 메모리 컨트롤러(402)는 제1 서브 컨트롤러(303), 제2 서브 컨트롤러(304), 판독 데이터 큐(405), 기록 데이터 큐(406), 및 트랜잭션 큐(407)를 포함한다.
상술된 바와 같이, 제1 서브 컨트롤러(303)는 제1 DRAM(104)에 액세스하기 위한 제1 메모리 인터페이스(305)를 포함하고, 제2 서브 컨트롤러(304)는 제2 DRAM(105)에 액세스하기 위한 제2 메모리 인터페이스(306)를 포함한다.
제1 서브 컨트롤러(303)는, 예를 들어, 제1 DRAM(104)이 2n 비트의 데이터폭을 가진다면, 액세스가 요청된 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)- 1)인 하위 어드레스 영역에 대하여 제1 DRAM(104)에 액세스한다.
여기서, 접두사 "Ox"는 16진수로 표시되는 숫자임을 나타낸다(예를 들어, "OxC"는 이진수 1100를 나타낸다). 따라서, 예를 들어, 제1 DRAM(104)이 16 비트의 데이터폭을 가지면, 액세스 요청된 어드레스 영역의 하위 4 비트가 0x0 내지 0x7인 하위 어드레스 영역에 대하여 제1 DRAM(104)에 액세스한다.
또한, 제2 서브 컨트롤러(304)는, 예를 들어, 제2 DRAM(105)이 2n 비트의 데이터폭을 가진다면, 액세스가 요청된 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)인 상위 어드레스 영역에 대하여 제2 DRAM(105)에 액세스한다.
바람직하게는 상술한 n은 4 또는 5가 된다.
이와 같은 액세스는 트랜잭션 큐(407)에 의해 제어됨으로써 수행되며, 이에 대해서는 이하에서 상세히 설명될 것이다.
판독 데이터 큐(405)는, DRAM들(104, 105)로부터 판독되는 판독 데이터를 버퍼링하고, 액세스 요청된 길이와 동일한 길이의 데이터가 채워지면 데이터 패스를 통해서 시스템 버스(101)로 출력한다.
기록 데이터 큐(406)는, 시스템 버스(101)로부터 데이터 패스를 통해 입력받은 기록 데이터를 버퍼링하고, 트랜잭션 큐(407)의 제어에 의해 제1 서브 컨트롤러(303) 또는 제2 서브 컨트롤러(304)로 출력한다.
트랜잭션 큐(407)는, 액세스 요청된 데이터에 대해 DRAM들(104, 105) 중에서 어떤 DRAM에 액세스할지를 결정한다.
예를 들어, 트랜잭션 큐(407)는 제1 DRAM(104)의 버스트 길이보다 작거나 같은 길이를 가지는 임의의 연속적인 데이터를 제1 DRAM(104)에 연속적으로 할당한다.
따라서, 예를 들어, DRAM에 액세스 요청된 데이터가 A0, A1, A2, A3로 구성되는 A(3210)이고 DRAM의 버스트 길이가 4라고 가정하면, 트랜잭션 큐(407)는 A0, A1, A2, A3를 제1 DRAM(104)에만 할당하고, 제2 DRAM(105)에는 할당하지 않는다.
즉, 트랜잭션 큐(407)는, 상술한 바와 같이, 제1 DRAM(104)이 16 비트의 데이터폭을 가진다면, 하위 4 비트가 0x0 내지 0x7인 하위 어드레스 영역만으로 제1 DRAM(104)에 액세스한다.
그러나, DRAM에 액세스 요청된 데이터가 A0 내지 A7로 구성되는 A(3210) 및 A(7654)이고 DRAM의 버스트 길이가 4라고 가정하면, 트랜잭션 큐(407)는 A0, A1, A2, A3를 제1 DRAM(104)에 할당하고, A4, A5, A6, A7를 제2 DRAM(105)에 연속적으로 할당할 것이다.
메모리 컨트롤러(402)는 DRAM들(104, 105)로부터 판독된 데이터(즉, A0, A1과 같은)를 A(3210)와 같이 재배열하여 시스템 버스(101)로 출력한다.
결국, DRAM에 액세스 요청된 데이터 길이가 버스트 길이보다 작을 경우에, 메모리 컨트롤러(402)는 제2 DRAM(105)의 버스트 길이 만큼의 불필요한 영역을 그대로 판독하거나 기록할 필요가 없어 지게 되어, 가비지 사이클을 감소시킨다.
도 5는 본 발명의 일 실시예에 따른 DDR에서 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치를 사용할 때의 타이밍도이다.
도 5를 참조하면, 요청되는 데이터 길이가 DRAM들(104, 105)의 버스트 길이와 같다고 가정한 것이다(도 4의 A 데이터 부분 참조). 시스템 버스(101)를 통해 액세스 요청된 데이터 A는 A0 내지 A7(예를 들어, A0 내지 A7은 각각 16 비트)로 구성된다. 제1 DRAM(104)로부터 판독된 데이터(즉, A0 내지 A3) 및 제2 DRAM(105)로부터 판독된 데이터(즉, A4 내지 A7)는 메모리 컨트롤러(402)에서 A(3210) 및 A(7654)(즉, 64 비트로 이루어진 데이터들)로 재배열되어 시스템 버스(101)로 출력된다.
한편, 예를 들어 디지털 TV 시스템과 같은 경우에서 메모리 컨트롤러(402)가 비디오 코덱으로부터의 액세스 요청을 처리할 때는, 일정한 크기의 스트라이드로써 데이터를 처리하여야 한다. 여기서, 스트라이드는 픽셀 데이타의 한 행의 폭으로 바이트 수를 나타낸다.
이 경우, 본 발명의 다른 실시예로서, DRAM에 액세스 요청된 데이터가 B0 내지 B3로 구성되는 B(3210), 및 C1 내지 C7로 구성되는 C(3210) 및 C(7654)이고, DRAM의 버스트 길이가 4라고 가정하면, 트랜잭션 큐(407)는 B0, B1, B2, B3를 제1 DRAM(104)에 할당하고, C1, C2, C3, C4를 제2 DRAM(105)에 할당하며, C4, C5, C6, C7를 제1 DRAM(104)에 할당할 수 있다(도 8 참조).
도 6은 본 발명의 일 실시예에 따라 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법을 도시한 흐름도이다.
도 6을 참조하면, 우선 메모리 컨트롤러(402)는 마스터 모듈로부터 시스템 버스(101)를 통해서 DRAM에 대한 액세스 요청을 수신한다(단계 601).
액세스 요청을 수신한 메모리 컨트롤러(402)는 어드레스 영역의 하위 n 번째 비트가 1인지 여부를 판단한다(단계 602). 여기서 DRAM의 데이터폭은 2n이라고 가정된 것이다.
만일, 수신된 액세스 요청의 어드레스 영역의 하위 n 번째 비트가 0이라면 어드레스 영역의 하위 n 비트는 0x0 내지 0x(2(n-1)-1)인 하위 어드레스 영역이 되므로, 메모리 컨트롤러(402)는 제1 DRAM(104)에 액세스한다(단계 603).
만일, 수신된 액세스 요청의 어드레스 영역의 하위 n 번째 비트가 1이라면 어드레스 영역의 하위 n 비트는 0x2(n-1) 내지 0x(2n-1)인 상위 어드레스 영역이 되므로, 메모리 컨트롤러(402)는 제2 DRAM(105)에 액세스한다(단계 604).
도 7은 본 발명의 다른 실시예에 따라 비디오 코덱으로부터의 액세스 요청이 있는 경우에 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법을 도시한 흐름도이다.
도 7을 참조하면, 우선 메모리 컨트롤러(402)는 마스터 모듈로부터 시스템 버스(101)를 통해서 DRAM에 대한 액세스 요청을 수신한다(단계 701).
메모리 컨트롤러(402)는 수신된 액세스 요청이 비디오 코덱으로부터 요청된 것인지 여부를 판단한다(단계 702).
만일, 수신된 액세스 요청이 비디오 코덱으로부터의 액세스 요청이 아니라면, 위의 도 6에서 설명한 것과 같은 단계로 진행된다(단계 602, 603, 604). 이에 대해서는 위에서 상세히 설명하였으므로 여기서는 설명을 생략하기로 한다.
만일, 수신된 액세스 요청이 비디오 코덱으로부터의 액세스 요청이라면, 메모리 컨트롤러(402)는 스트라이트 비트와 어드레스 영역의 하위 n번째 비트를 비교함으로써 적절한 DRAM에 요청을 할 수 있도록 구성될 수 있다(단계 705).
즉, 2n 비트 DRAM의 경우, 스트라이드 비트가 0이고 어드레스 영역의 하위 n 번째 비트가 0이거나, 또는 스트라이드 비트가 1이고 어드레스 영역의 하위 n 번째 비트가 1이라면, 메모리 컨트롤러(402)는 제1 DRAM(104)에 액세스한다(단계 706).
그러나, 스트라이드 비트가 0이고 어드레스 영역의 하위 n 번째 비트가 1이거나, 또는 스트라이드 비트가 1이고 어드레스 영역의 하위 n 번째 비트가 0이라면, 메모리 컨트롤러(402)는 제2 DRAM(105)에 액세스한다(단계 707).
예를 들어, 스트라이드의 크기가 0x800이라 가정하면, 스트라이드 비트는 어드레스 영역의 하위 11번째 비트가 될 것이므로(즉, 이진수로 1000/0000/0000이므로), 상술한 바와 같이 16비트 DRAM의 경우 어드레스 영역의 하위 4번째 비트가 상기 스트라이드 비트와 비교된다.
상기 예에서, 비교 결과, 스트라이드 비트가 0이고 어드레스 영역의 하위 4번째 비트가 0인 경우, 또는 스트라이드 비트가 1이고 어드레스 영역의 하위 4번째 비트가 1인 경우에, 메모리 컨트롤러(402)는 최초의 데이터를 제1 DRAM(104)에 기록 또는 판독되도록 제어한다. 또한, 액세스 요청되는 데이터의 길이가 제1 DRAM(104)의 버스트 길이를 넘는 부분에 대해서는 제2 DRAM(105)에 기록 또는 판독 되고, 다시 제2 DRAM(105)의 버스트 길이를 넘는 부분이 있으면 제1 DRAM(104)에 기록 또는 판독된다.
도 8은 도 7에 따라 가비지 사이클이 감소되는 예를 나타내는 타이밍도이다.
도 8을 참조하면, 예를 들어, A 데이터의 A0 내지 A3의 경우, 스트라이드 비트는 0이고 어드레스 영역의 하위 4번째 비트는 0으로 되고, 따라서 제1 메모리(104)에서 판독 또는 기록된다. 또한, 제1 메모리(104)의 버스트 길이를 넘는 데이터(즉, A4 내지 A7)는 제2 메모리(105)에서 판독 또는 기록된다.
C 데이터의 C0 내지 C3의 경우, 스트라이드 비트는 1이고 어드레스 영역의 하위 4번째 비트는 0으로 되고, 따라서 제2 메모리(105)에서 판독 또는 기록된다. 또한, 제2 메모리(105)의 버스트 길이를 넘는 데이터(즉, C4 내지 C7)는 제1 메모리(104)에서 판독 또는 기록된다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상술한 바와 같이, 본 발명에 따르면 메모리 컨트롤러에 DRAM을 개별적으로 제어하는 서브 컨트롤러들을 구비하도록 함으로써, DRAM에 대한 액세스 요청시 발생될 수 있는 가비지 사이클을 감소시키는 효과가 있다.
또한, DRAM에 대한 액세스 처리를 보다 효율적으로 수행하게 하도록 하여, 기존의 시스템 제작 비용과 노력으로 더 높은 데이터 전송률을 얻어낼 수 있게 하는 효과가 있다.
또한, 시스템의 동작 주파수 만을 올리는 것이 아니라 DRAM에 대한 개선된 액세스 방식을 사용함으로써, 시스템 성능을 극대화시키고, 칩 사이즈에 대한 과다한 오버헤드와 전력 소모의 부담, 및 제조 비용의 상승을 방지할 수 있는 효과가 있다.

Claims (26)

  1. 다이내믹 랜덤 액세스 메모리를 제어하기 위한 메모리 컨트롤러를 포함하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치에 있어서,
    상기 메모리 컨트롤러는 제1 서브 컨트롤러 및 제2 서브 컨트롤러를 포함하고, 상기 제1 서브 컨트롤러는 제1 다이내믹 랜덤 액세스 메모리를 제어하며, 상기 제2 서브 컨트롤러는 제2 다이내믹 랜덤 액세스 메모리를 제어하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  2. 제1항에 있어서,
    상기 제1 서브 컨트롤러는, 액세스 요청된 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)-1)인 하위 어드레스 영역에 대하여, 2n 비트의 데이터폭을 가지는 제1 다이내믹 랜덤 액세스 메모리에 액세스하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  3. 제1항에 있어서,
    상기 제1 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 제1 데이터를 상기 제1 다이내믹 랜덤 액세스 메모리에 할당하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부 분 액세스 장치.
  4. 제1항에 있어서,
    상기 제2 서브 컨트롤러는, 액세스 요청된 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)인 상위 어드레스 영역에 대하여, 2n 비트의 데이터폭을 가지는 제2 다이내믹 랜덤 액세스 메모리에 액세스하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  5. 제3항에 있어서,
    상기 제2 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 제2 데이터를 상기 제2 다이내믹 랜덤 액세스 메모리에 할당하고,
    상기 제2 데이터는 상기 제1 데이터에 연속되는 데이터이고, 상기 제1 데이터와 서로 겹치지 않는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  6. 제1항에 있어서,
    상기 메모리 컨트롤러는 시스템 버스로부터 입력받은 기록 데이터를 버퍼링하고, 상기 서브 컨트롤러들을 거쳐서 상기 다이내믹 랜덤 액세스 메모리에 기록하 기 위한 기록 데이터 큐를 포함하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  7. 제1항에 있어서,
    상기 메모리 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들로부터 판독되는 판독 데이터를 버퍼링하여 시스템 버스로 출력하는 판독 데이터 큐를 포함하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  8. 제1항에 있어서,
    상기 메모리 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들 중에서 어떤 다이내믹 랜덤 액세스 메모리에 액세스할지를 결정하는 트랜잭션 큐를 포함하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  9. 제8항에 있어서,
    상기 트랜잭션 큐는 어드레스 영역의 하위 n번째 비트 및 스트라이트 비트를 비교하여, 액세스할 상기 다이내믹 랜덤 액세스 메모리를 변경하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  10. 제8항에 있어서,
    상기 트랜잭션 큐는, 비디오 데이터가 입력되면 제1 라인의 시작 데이터를 상기 제1 다이내믹 랜덤 액세스 메모리에 할당하고, 제2 라인의 시작 데이터를 상기 제2 다이내믹 랜덤 액세스 메모리에 할당하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  11. 제2항 또는 제4항에 있어서,
    상기 n은 4 또는 5인 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  12. 제1항에 있어서,
    상기 다이내믹 랜덤 액세스 메모리는 SDR, DDR, DDR2, DDR3, 또는 램버스 DRAM 중 어느 하나인 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  13. 제1항에 있어서,
    상기 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치는 상기 다이내믹 랜덤 액세스 메모리들에서 생길 수 있는 가비지(garbage) 사이클을 제거하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  14. 제1항에 있어서,
    상기 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치는 메모리 스케줄러에 내장되거나 외장되는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  15. 다이내믹 랜덤 액세스 메모리를 제어하기 위한 메모리 컨트롤러를 포함하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치로서,
    상기 메모리 컨트롤러는 복수 개의 서브 컨트롤러들을 포함하고, 상기 복수 개의 서브 컨트롤러들은 복수 개의 다이내믹 랜덤 액세스 메모리들을 각각 제어하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  16. 제15항에 있어서,
    상기 복수 개의 서브 컨트롤러들은 서로 중복되지 않는 어드레스 영역에 대하여 상기 복수 개의 다이내믹 랜덤 액세스 메모리들에 액세스하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  17. 제15항에 있어서,
    상기 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 데이터를 상기 다이내믹 랜덤 액세스 메모리에 할당하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치.
  18. 시스템 버스로부터 다이내믹 랜덤 액세스 메모리에 대한 액세스 요청을 수신하는 단계;
    상기 수신된 액세스 요청에 포함되는 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)-1)인 경우, 2n 비트의 데이터폭을 가지는 제1 다이내믹 랜덤 액세스 메모리에 액세스하는 단계;
    상기 수신된 액세스 요청에 포함되는 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)인 경우, 2n 비트의 데이터폭을 가지는 제2 다이내믹 랜덤 액세스 메모리에 액세스하는 단계를 포함하는 것을 특징으로 하는 메모리 컨트롤러에서 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법.
  19. 제18항에 있어서,
    상기 제1 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 제1 데이터를 상기 제1 다이내믹 랜덤 액세스 메모리에 할당하는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법.
  20. 제19항에 있어서,
    상기 제2 서브 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들의 버스트 길이보다 작거나 같은 길이를 가지는 연속적인 제2 데이터를 상기 제2 다이내믹 랜덤 액세스 메모리에 할당하고,
    상기 제2 데이터는 상기 제1 데이터에 연속되는 데이터이고, 상기 제1 데이터와 서로 겹치지 않는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법.
  21. 제18항에 있어서,
    상기 액세스 요청을 수신하는 단계 후에, 수신된 상기 액세스 요청이 코덱으로부터 전송된 것인지를 판단하는 단계;
    상기 액세스 요청이 코덱으로부터 전송된 경우, 스트라이드 비트가 0이고 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)-1), 또는 스트라이드 비트가 1이고 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)이면 상기 제1 다이내믹 랜덤 액세스 메모리에 액세스하는 단계를 포함하는 것을 특징으로 하는 메모리 컨트롤러에서 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법.
  22. 제21항에 있어서,
    상기 액세스 요청이 코덱으로부터 전송된 경우, 스트라이드 비트가 1이고 어드레스 영역의 하위 n 비트가 0x0 내지 0x(2(n-1)-1), 또는 스트라이드 비트가 0이고 어드레스 영역의 하위 n 비트가 0x2(n-1) 내지 0x(2n-1)이면 상기 제1 다이내믹 랜덤 액세스 메모리에 액세스하는 단계를 포함하는 것을 특징으로 하는 메모리 컨트롤러에서 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법.
  23. 제18항에 있어서,
    상기 다이내믹 랜덤 액세스 메모리는 SDR, DDR, DDR2, DDR3, 또는 램버스 DRAM 중 어느 하나인 것을 특징으로 하는 메모리 컨트롤러에서 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법.
  24. 제18항에 있어서,
    상기 메모리 컨트롤러는 상기 다이내믹 랜덤 액세스 메모리들에서 생길 수 있는 가비지(garbage) 사이클을 제거하는 것을 특징으로 하는 메모리 컨트롤러에서 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법.
  25. 제18항에 있어서,
    상기 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치는 메모리 스케줄러에 내장되거나 외장되는 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부분 액세스 방법.
  26. 제18항, 제21항, 및 제22항 중 어느 한 항에 있어서,
    상기 n은 4 또는 5인 것을 특징으로 하는 다이내믹 랜덤 액세스 메모리의 부 분 액세스 방법.
KR1020060117910A 2006-11-27 2006-11-27 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법 KR101086417B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060117910A KR101086417B1 (ko) 2006-11-27 2006-11-27 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법
US11/783,516 US7996601B2 (en) 2006-11-27 2007-04-10 Apparatus and method of partially accessing dynamic random access memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060117910A KR101086417B1 (ko) 2006-11-27 2006-11-27 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080047907A true KR20080047907A (ko) 2008-05-30
KR101086417B1 KR101086417B1 (ko) 2011-11-25

Family

ID=39465136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060117910A KR101086417B1 (ko) 2006-11-27 2006-11-27 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법

Country Status (2)

Country Link
US (1) US7996601B2 (ko)
KR (1) KR101086417B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349899B1 (ko) * 2012-03-16 2014-01-14 한국과학기술원 메모리 제어기 및 이의 메모리 접근 스케줄링 방법
US9104526B2 (en) 2010-05-11 2015-08-11 Samsung Electronics Co., Ltd. Transaction splitting apparatus and method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8564603B2 (en) * 2010-10-24 2013-10-22 Himax Technologies Limited Apparatus for controlling memory device and related method
US10020036B2 (en) * 2012-12-12 2018-07-10 Nvidia Corporation Address bit remapping scheme to reduce access granularity of DRAM accesses
US20170177225A1 (en) * 2015-12-21 2017-06-22 Nimble Storage, Inc. Mid-level controllers for performing flash management on solid state drives
US11693790B2 (en) 2019-05-24 2023-07-04 Texas Instmments Incorporated Methods and apparatus to facilitate write miss caching in cache system
US11960735B2 (en) * 2021-09-01 2024-04-16 Micron Technology, Inc. Memory channel controller operation based on data types

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930004901B1 (ko) 1990-12-31 1993-06-10 재단법인 한국전자통신연구소 디램을 사용한 컴퓨터 시스템의 메모리 제어장치
US5765182A (en) * 1995-04-13 1998-06-09 Lsi Logic Corporation Interleaving memory on separate boards
DE69615278T2 (de) * 1995-06-06 2002-06-27 Hewlett Packard Co SDRAM-Datenzuweisungsanordnung und -verfahren
US5987574A (en) * 1997-04-30 1999-11-16 Sony Corporation Bank arbitration for SDRAM memory control
US6026466A (en) * 1997-06-16 2000-02-15 Integrated Silicon Solution, Inc. Multiple row address strobe DRAM architecture to improve bandwidth
US6138214A (en) * 1997-12-19 2000-10-24 Siemens Aktiengesellschaft Synchronous dynamic random access memory architecture for sequential burst mode
US6625685B1 (en) * 2000-09-20 2003-09-23 Broadcom Corporation Memory controller with programmable configuration
US6791557B2 (en) * 2001-02-15 2004-09-14 Sony Corporation Two-dimensional buffer pages using bit-field addressing
US6675270B2 (en) * 2001-04-26 2004-01-06 International Business Machines Corporation Dram with memory independent burst lengths for reads versus writes
KR100467102B1 (ko) 2002-05-28 2005-01-24 (주) 그레이프테크놀로지 데이터 저장 시스템
US7296112B1 (en) * 2002-12-10 2007-11-13 Greenfield Networks, Inc. High bandwidth memory management using multi-bank DRAM devices
US8533430B2 (en) * 2005-04-14 2013-09-10 International Business Machines Corporation Memory hashing for stride access
US7463267B2 (en) * 2006-10-26 2008-12-09 Lsi Corporation System for interleaved storage of video data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104526B2 (en) 2010-05-11 2015-08-11 Samsung Electronics Co., Ltd. Transaction splitting apparatus and method
KR101349899B1 (ko) * 2012-03-16 2014-01-14 한국과학기술원 메모리 제어기 및 이의 메모리 접근 스케줄링 방법

Also Published As

Publication number Publication date
KR101086417B1 (ko) 2011-11-25
US20080126691A1 (en) 2008-05-29
US7996601B2 (en) 2011-08-09

Similar Documents

Publication Publication Date Title
JP5351145B2 (ja) メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法
KR101086417B1 (ko) 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법
KR100588599B1 (ko) 메모리 모듈 및 메모리 시스템
JP5365336B2 (ja) メモリ制御装置およびメモリ制御方法
US20120272013A1 (en) Data access system with at least multiple configurable chip select signals transmitted to different memory ranks and related data access method thereof
JP2011530735A (ja) メモリモジュール内の独立制御式仮想メモリ装置
US8006026B2 (en) Multi-port memory and computer system provided with the same
US20210280226A1 (en) Memory component with adjustable core-to-interface data rate ratio
US6622224B1 (en) Internal buffered bus for a drum
US9696941B1 (en) Memory system including memory buffer
JP5706060B2 (ja) 半導体記憶装置と品種展開方法
JP4318422B2 (ja) 集積回路メモリを含むシステム
JP2011013835A (ja) メモリシステム、メモリアクセス方法、及びプログラム
US8244929B2 (en) Data processing apparatus
JP5204777B2 (ja) メモリ装置及びその制御方法
JP3618249B2 (ja) データ転送装置
EP0921468B1 (en) Memory control using memory state information for reducing access latency
JP6186381B2 (ja) 半導体記憶装置と品種展開方法
KR100469286B1 (ko) 디지털 tv의 메모리 제어 장치
JP4529474B2 (ja) Sdramを備えたメモリ装置
JP2008112485A (ja) 同期型メモリ回路
JP2002175215A (ja) メモリ制御装置および情報処理システム
JP2006107021A (ja) メモリコントローラ
KR20010076664A (ko) 이중모드 직접메모리접근을 지원하는 중앙처리장치를이용한 단일모드 직접메모리접근 구현 방법
KR20020055156A (ko) 디지털 방송 수신 시스템의 메모리 제어 장치

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171030

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee