KR20090065504A - 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법 - Google Patents

메모리 제어 장치, 메모리 장치 및 메모리 제어 방법 Download PDF

Info

Publication number
KR20090065504A
KR20090065504A KR1020097000182A KR20097000182A KR20090065504A KR 20090065504 A KR20090065504 A KR 20090065504A KR 1020097000182 A KR1020097000182 A KR 1020097000182A KR 20097000182 A KR20097000182 A KR 20097000182A KR 20090065504 A KR20090065504 A KR 20090065504A
Authority
KR
South Korea
Prior art keywords
memory
unit
command
access
address
Prior art date
Application number
KR1020097000182A
Other languages
English (en)
Inventor
다카시 야마다
다이스케 이모토
고지 아사이
노부유키 이치구치
데츠지 모치다
Original Assignee
파나소닉 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 파나소닉 주식회사 filed Critical 파나소닉 주식회사
Publication of KR20090065504A publication Critical patent/KR20090065504A/ko

Links

Images

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Dram (AREA)
  • Image Input (AREA)
  • Memory System (AREA)

Abstract

본 발명의 메모리 제어 장치는, 마스터로부터 발행된 상기 메모리 액세스 요구를, 메모리 디바이스마다의 액세스 커맨드로 분할하는 커맨드 생성부(102)와, 상기 복수의 메모리 디바이스에 액세스 커맨드를 발행하는 커맨드 발행부(104), (105)와, 마스터(200)와 메모리(0), (1) 사이에서 데이터를 필요에 따라 교체하는 데이터 제어부(106)를 구비하고, 커맨드 생성부(102)는, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 디바이스의 물리 어드레스가 동일한 경우와 상이한 경우에서, 복수의 메모리 디바이스로 동일한 물리 어드레스를 출력하는 제어와, 상이한 물리 어드레스를 출력하는 제어를 전환한다.

Description

메모리 제어 장치, 메모리 장치 및 메모리 제어 방법{MEMORY CONTROL DEVICE, MEMORY DEVICE, AND MEMORY CONTROL METHOD}
본 발명은, 사용 메모리 대역을 늘리기 위해, 메모리 데이터 버스폭을 확장한 시스템에 있어서, 마스터로부터의 임의 어드레스로의 액세스에 대해, 실효 전송 효율의 향상을 도모하는 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법에 관한 것이다.
일반적으로, 화상 처리 장치를 포함하는 정보 처리 장치에서는, 방대한 데이터를 기억하기 위해, 대용량이고 저비용인 DRAM이 이용된다. 특히, 최근의 화상 처리 장치는, MPEG2나 H.264 등의 HD(High Definition) 화상 처리로의 대응이나, 동시 복수 채널 처리, 고화질인 3D 그래픽스 처리 등에 의해, 메모리 용량뿐만 아니라, 높은 데이터 전송 능력(이하, 메모리 대역이라고 기재한다)을 갖는 DRAM을 필요로 하고 있다.
일반적으로, 높은 메모리 대역을 실현하기 위해서는, (1) 버스의 동작 주파수를 올리는 방법, (2) 메모리의 버스폭을 넓게 취하는 방법, 또는 이들 방법 (1), (2)를 병용하는 방법 등이 알려져 있다.
한편, 일반적으로 DRAM은, 액세스를 행할 때, 사전에 액세스하는 Bank·Row 를 지정하여, 액티베이트 처리를 행할 필요가 있다. 또, 동일 Bank에 있어서, 액세스하는 Row를 변경하는 경우는, 일단 액세스하고 있었던 Row를 프리차지 처리하고, 새롭게 액세스하는 Row에 대해 액티베이트 처리를 행할 필요가 있다. 이들 액티베이트 처리 기간, 프리차지 처리 기간은, 해당 뱅크에 대한 액세스를 할 수 없게 되므로, 동일 Bank 내에서 Row를 전환할 때에, 액세스 불가 기간이 발생하여, 데이터 버스에 빈 공간이 발생해 버린다. 그래서, 그 결점을 보충하기 위해, 통상 DRAM 액세스 제어에 있어서는, 어느 특정한 뱅크로의 데이터 전송 실행 중에, 다른 뱅크의 액티베이트 처리, 프리차지 처리를 실행함으로써, 상기 액세스 불가 기간을 은폐하여, 외관상, 데이터 버스 상에서, 항상 데이터 전송을 가능하게 하는, 뱅크 인터리브 제어로 불리는 제어가 행해진다. 이 뱅크 인터리브가 유효하게 기능하기 위해서는, 다른 뱅크의 데이터 전송 시간이 상기 액세스 불가 기간을 상회할 필요가 있다.
그러나, 높은 메모리 대역을 실현하기 위해, 상기 (1), (2) 중 어느 대응을 취한 경우에 있어서나, 단위 시간당의 데이터 전송량이 증가하는 것에 반해, 상기 액세스 불가 기간의 절대 시간이 변화하지 않으므로, 상기 액세스 불가 기간을 은폐하는데 필요한 데이터 전송량이 증가하게 된다. 그 결과, 다른 뱅크의 데이터 전송량을 증가시키지 않는 한, 즉, 1액세스당의 전송 사이즈를 늘리지 않는 한, 상기 뱅크 인터리브 제어를 행하고 있었다고 해도, 상기 액세스 불가 기간의 은폐를 충분히 실현할 수 없으므로, 데이터 버스에 빈 공간이 발생하게 되어, 액세스 효율의 저하가 발생한다. 이것은, 전송 사이즈가 작은 액세스가 빈발하는 시스템에 있 어서는, 대폭적인 액세스 효율의 저하를 초래하는 것을 의미한다.
이 문제에 대한 종래의 수법으로서, 특허 문헌 1에 기재된 것이 있다. 도 31에, 이 종래 수법의 회로 구성을 나타낸다. 이 수법에서는, 카운터 0, 1의 신호를 기초로, 커맨드 생성 수단에 있어서, 메모리 디바이스(0, 1)를 특정한 타이밍으로 교대로 시분할 액세스함으로써, 단일 디바이스에서 발생하는 액세스 불가 기간을, 다른 쪽의 디바이스의 데이터 전송 시간으로 은폐함으로써, 버스의 액세스 효율의 향상을 실현하고 있다. 이 제어에서는, 높은 메모리 대역을 실현하기 위해, 상기 (1), (2)의 어느 대응을 취한 경우에 있어서나, 동일 디바이스 내에서의 뱅크 인터리브 제어로 완전히 은폐할 수 없었던 액세스 불가 기간을, 다른 쪽의 디바이스의 액세스에 의해 은폐할 수 있으므로, 1액세스당의 전송 사이즈를 늘리지 않고, 액세스 효율의 저하를 방지할 수 있다. 이것은, 전송 사이즈가 작은 액세스가 빈발하는 시스템에 있어서도, 액세스 효율의 저하를 억제할 수 있는 것을 의미한다.
특허 문헌 1 : 일본국 특허공개 평9-190376호 공보
[발명이 해결하고자 하는 과제]
그러나, 상기 종래 기술에서는, 복수의 디바이스를 이용하고 있음에도 불구하고, 동시에 액세스할 수 있는 디바이스는 1개이므로, 시스템을 사용할 수 있는 최대 메모리 대역은, 1개의 디바이스가 갖는 메모리 대역으로 한정된다. 그러므로, 상기 종래 기술에 있어서, 사용 메모리 대역을 크게 하기 위해서는, 1디바이스당의 버스폭을 넓히거나, 동작 주파수를 올리는, 즉, 보다 고속인 DRAM(DDR, DDR2, DDR3 외)을 사용할 수밖에 없다.
버스폭을 확장하여 데이터 전송 대역을 증가시키는 구성으로서, 도 32와 같은 구성도 생각할 수 있다. 이 메모리 제어 장치에서는, 도 31보다 최대 메모리 대역을 확대하고, 또한, 8바이트 액세스와 4바이트 액세스가 가능하게 되어 있다. 그러나, 전송량이 작은 액세스나, 화상 처리에 자주 사용되는 임의로 비연속인 액세스에 대해, 쓸모없는 전송을 많이 행한다는 문제가 있다.
그런데, DRAM의 최소 액세스 단위는, 「버스폭×최소 버스트 수」로 정해진다. 전술한 고속인 DRAM은, 최소 버스트 수가, SDRAM이 1인 것에 반해, DDR은 2, DDR2은 4, DDR3은 8로 규정되어 있으므로, 버스폭을 넓히는 대응을 한 경우와 동일하게, 고속인 DRAM을 사용하는 것에 의해서도, 최소 액세스 단위가 증가한다는 과제를 갖고 있었다. 이 최소 액세스 단위란, 1회의 액세스에 대해, 반드시 전송되는 최소 데이터 전송량을 나타내고, 모든 액세스 요구는, 이 최소 액세스 단위의 정수배로 전송되게 된다. 따라서, 이 최소 액세스 단위가 증대한다는 것은, 전송량이 작은 액세스나, 화상 처리에 자주 사용되는 임의로, 비연속인 액세스에 대해, 쓸모없는 전송을 많이 행하게 되어, 결과적으로, 실효 전송 효율의 저하를 유도한다.
구체적인 예를 도 33에 나타낸다. 도 33에서는, 100MHz로 동작하는 4Byte 버스의 SDRAM을 사용하고 있는 시스템을, 메모리 대역을 2배로 하기 위해, 버스폭을 배인 8Byte로 한 예를 나타내고 있다. 여기에서, 당연하지만, 이용 메모리 대역은 배가 되고 있지만, 도 33에 나타낸 바와 같이, 4Byte 전송과 같은 작은 액세스나, 8n+4Byte 어드레스로부터의 8Byte 전송과 같은, 어드레스 경계가 맞추어져 있지 않은 위치로부터의 전송 등은, 유효 데이터와 무효 데이터가 동일 사이즈로 되어 버려, 액세스 효율은 반감되어 버린다. 그 결과, 이용할 수 있는 메모리 대역이 2배가 되어도, 액세스 효율이 반감되어 있으므로, 실질 사용하고 있는 메모리 대역은 버스폭 확장 전과 동일한 400MB/s가 되어 버려, 버스를 확장한 효과가 완전히 없어지는 경우가 존재한다.
본 발명은, 상기 과제를 해결하기 위해, 메모리 버스폭의 확장을 행하거나, 고속 DRAM을 사용하는 것에 의한 사용 메모리 대역의 확대를 행했을 때의 무효 데이터의 전송량의 증가를 억제하여, 높은 액세스 효율을 실현하는 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법을 제공하는 것을 목적으로 한다.
[과제를 해결하기 위한 수단]
상기 종래의 과제를 해결하기 위해, 본 발명의 메모리 제어 장치는, 메모리 액세스 요구를 발행하는 마스터와 복수의 메모리 유닛에 접속되어, 메모리 유닛의 액세스를 제어하는 메모리 제어 장치로서, 상기 마스터로부터 발행된 상기 메모리 액세스 요구를, 메모리 유닛마다의 액세스 커맨드로 분할하고, 상기 복수의 메모리 유닛에 액세스 커맨드를 발행하는 커맨드 제어 수단과, 상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 유닛마다의 데이터로 분할하여 각 메모리 유닛으로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 상기 복수의 메모리 유닛으로부터의 독출 데이터를 조합하여, 상기 마스터로 출력하는 데이터 제어 수단을 가지며, 상기 커맨드 제어 수단은, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 동일한 경우와 상이한 경우에서, 복수의 메모리 유닛으로 동일한 물리 어드레스를 출력하는 제어와, 상이한 물리 어드레스를 출력하는 제어를 전환한다.
이 구성에 의하면, 메모리 대역을 넓히고, 또한, 최소 액세스 단위를 증가시키지 않으며, 무효한 데이터 전송의 증가를 억제한다는 효과가 있다. 즉, 메모리 대역은 (1개의 메모리 유닛의 버스폭)×(메모리 유닛의 개수)로 확대되고, 또한, 마스터로부터 액세스 가능한 최소 액세스 단위는 1개의 메모리 유닛의 버스폭으로 할 수 있다.
여기에서, 상기 커맨드 제어 수단은, 상기 복수의 메모리 유닛에 공통인 어드레스 버스와, 상기 복수의 메모리 유닛에 개별인 칩 셀렉트 신호를 통해 상기 복수의 메모리 유닛에 접속되고, 상기 커맨드 제어 수단은, 분할한 복수의 액세스 커맨드가 동일한 물리 어드레스를 나타내는 경우에, 상기 개별인 칩 셀렉트 신호를 동시에 유효하게 함으로써, 상기 복수의 메모리 유닛으로 동일한 물리 어드레스를 출력하고, 분할한 복수의 액세스 커맨드가 상이한 물리 어드레스를 나타내는 경우에, 상기 개별인 칩 셀렉트 신호를 타이밍을 어긋나게 하여 유효하게 함으로써, 상기 복수의 메모리 유닛으로 상이한 물리 어드레스를 출력하며, 상기 데이터 제어 수단은, 상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 유닛마다의 데이터로 분할하여, 상기 액세스 커맨드의 타이밍에 따라 각 메모리 유닛으로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 전술한 액세스 커맨드의 타이밍에 따라 상기 복수의 메모리 유닛으로부터 독출된 데이터를 조합하여, 상기 마스터로 출력하도록 해도 된다.
이 구성에 의하면, 상기 복수의 메모리 유닛에 독립적인 어드레스 버스를 배선할 필요가 없으므로, 어드레스 버스의 배선 면적을 삭감할 수 있어, 회로 면적을 소형화할 수 있다.
여기에서, 상기 커맨드 제어 수단은, 커맨드 생성부와, 메모리 유닛마다 설치된 커맨드 발행부를 구비하고, 상기 커맨드 생성부는, 상기 메모리 액세스 요구에 포함되는 논리 어드레스를 메모리 유닛마다의 물리 어드레스로 변환하여, 메모리 유닛마다의 액세스 커맨드로 분할하고, 상기 각 커맨드 발행부는, 대응하는 메모리 유닛에, 상기 커맨드 생성부로부터의 액세스 커맨드를 발행하며, 상기 커맨드 생성부는, 복수의 액세스 커맨드를 복수의 커맨드 발행부에 동시에 출력하도록 해도 된다.
여기에서, 상기 커맨드 제어 수단은, 커맨드 생성부와, 메모리 유닛마다 설치된 커맨드 발행부를 구비하고, 상기 커맨드 생성부는, 상기 메모리 액세스 요구에 포함되는 논리 어드레스를 메모리 유닛마다의 물리 어드레스로 변환하여, 메모리 유닛마다의 액세스 커맨드로 분할하고, 상기 각 커맨드 발행부는, 대응하는 메모리 유닛에, 상기 커맨드 생성부로부터의 액세스 커맨드를 발행하며, 상기 커맨드 생성부는, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 동일한 경우에, 복수의 액세스 커맨드를 복수의 커맨드 발행부에 동일한 타이밍으로 출력하고, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 상이한 경우에, 복수의 액세스 커맨드를 복수의 커맨드 발행부에 상이한 타이밍으로 출력하도록 해도 된다.
여기에서, 상기 복수의 메모리 유닛은, 2개의 제1, 제2 메모리 유닛이고, 상기 커맨드 제어 수단은, 상기 액세스 요구를 제1 액세스 커맨드와 제2 액세스 커맨드로 변환하고, 제1 및 제2 메모리 유닛은, 상기 액세스 요구가 제1 메모리 유닛의 데이터를 선두로 하여, 당해 데이터의 선두가 제1 및 제2 메모리 유닛의 데이터를 포함하는 데이터 버스의 얼라인먼트에 일치하는 경우에, 상기 제1 액세스 커맨드에 대응하는 물리 어드레스와 상기 제2 액세스 커맨드에 대응하는 액세스 커맨드의 물리 어드레스가 동일해지도록 데이터를 저장하며, 상기 액세스 요구가 제2 메모리 유닛의 데이터를 선두로 하여, 당해 데이터의 선두가 제1 및 제2 메모리 유닛의 데이터를 포함하는 데이터 버스의 얼라인먼트에 일치하지 않는 경우에, 상기 제1 액세스 커맨드에 대응하는 물리 어드레스와 상기 제2 액세스 커맨드에 대응하는 액세스 커맨드의 물리 어드레스가 상이하도록 데이터를 저장하도록 해도 된다.
여기에서, 상기 커맨드 제어 수단은, 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 상이한 경우에, 어드레스 및 칩 셀렉트 신호의 출력 타이밍을 메모리 유닛마다 지연시킴으로써, 복수 메모리 유닛의 동일한 어드레스와 상이한 어드레스를 전환하도록 해도 된다.
여기에서, 상기 복수의 메모리 유닛은 제1∼제m 메모리 유닛이고, 상기 복수의 메모리 유닛의 각각은, N바이트의 최소 액세스 단위를 갖고, 상기 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 가지며, 각 단위 영역은, 제1∼제m 메모리 유닛의 서로 대응하는 m개의 (N×정수)바이트 영역이 순서대로 배치되도록 해도 된다.
여기에서, 각 단위 영역에 있어서 제1∼제m 메모리 유닛의 물리 어드레스는 공통이고, 상기 커맨드 제어 수단은, 상기 액세스 요구가 상기 단위 영역을 넘지 않는 데이터 사이즈의 액세스 요구인 경우, 상기 제1∼제m 메모리 유닛 중, 당해 액세스 요구에 대응하는 메모리 유닛에 동시에 액세스 커맨드를 발행하도록 해도 된다.
여기에서, 상기 제1∼제m 메모리 유닛의 각각은 i개의 뱅크를 갖고, 상기 논리 어드레스 공간은, p개의 제1∼제p 상기 단위 영역이 반복 배치되고, 상기 제1∼제p 단위 영역은, 공통인 로우 어드레스를 갖고, 상이한 컬럼 어드레스를 가지며, 상기 제1∼제p 단위 영역의 각각에 있어서 상기 m개의 (N×정수)바이트 영역은 뱅크 어드레스가 공통이고, 상기 제1∼제p 단위 영역은 서로 뱅크 어드레스가 상이하도록 해도 된다.
이 구성에 의하면, 상기 m개의 어드레스가 공통인 복수의 메모리 유닛에 대해 동일 사이클로의 액세스를 실현하고, 또한 논리적으로 연속인 어드레스 공간에 배치된 인접하는 상기 p개의 로우 어드레스가 공통인 m개의 어드레스가 공통인 복수의 메모리 유닛의 단위 사이에서, 메모리 액세스 타이밍 제약에 기인하는 로우 어드레스의 전환 시간의 최단화를 실현할 수 있다.
여기에서, 상기 복수의 메모리 유닛은 화상을 기억하는 프레임 버퍼로서 이용되고, 상기 복수의 메모리 유닛의 각각은, N바이트의 최소 액세스 단위를 갖고, 상기 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 가지며, 각 단위 영역에는, 상기 복수의 메모리 유닛의 서로 대응하는 복수의 (N×정수)바이트 영역이 순서대로 배치되고, 상기 화상의 수평 어드레스에 대응해 A개의 단위 영역이 인접하여 배치되고, 수직 어드레스에 대응해 B개의 단위 영역이 배치되도록 해도 된다.
이 구성에 의하면, 상기 프레임 버퍼에 대해 액세스를 행하는 경우에는, 상기 프레임 버퍼의 수평방향으로 상기 메모리 유닛 단위의 액세스 얼라인먼트로 액세스하고, 상기 프레임 버퍼의 수직방향으로 라인 단위의 액세스 얼라인먼트로 액세스할 수 있다.
여기에서, 상기 각 단위 영역 내에 있어서의 복수의 (N×정수)바이트 영역은, 뱅크 어드레스, 로우 어드레스 및 컬럼 어드레스가 공통이도록 해도 된다.
이 구성에 의하면, 상기 단위 영역 내에 대응하는 상이한 메모리 유닛에 대해 동시에 동일한 어드레스로 액세스를 행할 수 있다.
여기에서, 상기 프레임 버퍼의 수평방향 또는 수직방향에 인접하는 상기 단위 영역은 상이한 뱅크 어드레스를 갖고, 상기 커맨드 제어 수단은, 뱅크 인터리브에 의해 인접하는 상기 단위 영역에 액세스하도록 상기 액세스 커맨드를 발행하도록 해도 된다.
여기에서, 상기 m은 2여도 된다.
여기에서, 상기 2개의 메모리 유닛은 화상을 기억하는 프레임 버퍼로서 이용되고, 상기 2개의 메모리 유닛의 각각은, N바이트의 최소 액세스 단위를 가지며, 각 단위 영역에는, 상기 2개의 메모리 유닛의 서로 대응하는 2개의 (N×정수)바이트 영역이 교대로 배치되고, 상기 화상의 수평 어드레스에 대응해 A개의 단위 영역이 인접하여 배치되고, 수직 어드레스에 대응해 B개의 단위 영역이 배치되며, 상기 마스터로부터의 액세스 요구는, 수평 어드레스와, 행 단위의 수직 어드레스를 포함하도록 해도 된다.
이 구성에 의하면, 상기 프레임 버퍼에 대해 액세스를 행하는 경우에는, 상기 프레임 버퍼의 수평방향으로 상기 메모리 유닛 단위의 액세스 얼라인먼트로 액세스하고, 상기 프레임 버퍼의 수직방향으로 라인 단위의 액세스 얼라인먼트로 액세스할 수 있다.
여기에서, 상기 커맨드 제어 수단은, 상기 복수의 메모리 유닛에 공통인 제1 어드레스 버스와, 상기 복수의 메모리 유닛에 개별인 제2 어드레스 버스와, 상기 복수의 메모리 유닛에 개별인 칩 셀렉트 신호를 통해 상기 복수의 메모리 유닛에 접속되고, 상기 제1 어드레스 버스와 제2 어드레스 버스는, 어드레스 버스를 구성하는 일부의 어드레스 신호선과 타부의 어드레스 신호선이도록 해도 된다.
여기에서, 상기 커맨드 제어 수단은, 분할한 복수의 액세스 커맨드가 동일한 물리 어드레스를 나타내는 경우에, 상기 개별인 칩 셀렉트 신호와 제1 및 제2 어드레스 버스를 동시에 유효하게 함으로써, 상기 복수의 메모리 유닛으로 동일한 물리 어드레스를 출력하고, 분할한 복수의 액세스 커맨드가 상이한 물리 어드레스를 나타내는 경우이고 또한 제1 어드레스 버스가 상이한 물리 어드레스를 나타내는 경우, 상기 개별인 칩 셀렉트 신호 및 제1, 제2 어드레스 버스를 모두 출력하는 타이밍을 어긋나게 하여 유효하게 함으로써, 상기 복수의 메모리 유닛으로 상이한 물리 어드레스를 출력하며, 분할한 복수의 액세스 커맨드가 상이한 물리 어드레스를 나타내는 경우이고 또한 제2 어드레스 버스가 상이한 물리 어드레스를 나타내는 경우, 상기 개별인 칩 셀렉트 신호 및 제1 및 제2 어드레스 버스를 동시에 유효하게 함으로써, 상기 복수의 메모리 유닛으로 상이한 물리 어드레스를 출력하도록 해도 된다.
여기에서, 상기 복수의 메모리 유닛은 화상을 기억하는 프레임 버퍼로서 이용되고, 상기 복수의 메모리 유닛의 각각은, N바이트의 최소 액세스 단위를 갖고, 상기 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 가지며, 각 단위 영역에는, 상기 복수의 메모리 유닛의 서로 대응하는 복수의 (N×정수)바이트 영역이 순서대로 배치되고, 상기 프레임 버퍼는 복수의 직사각형 영역으로 구성되며, 상기 직사각형 영역은, 수평 어드레스에 대응해 E개의 단위 영역이 인접하여 배치되고, 수직 어드레스에 대응해 F개의 단위 영역이 배치되도록 해도 된다.
여기에서, 상기 각 직사각형 영역 내의 복수의 상기 단위 영역은, 공통인 뱅크 어드레스 및 공통인 로우 어드레스를 갖고, 좌우로 인접하는 2개의 상기 직사각형 영역은, 상이한 뱅크 어드레스를 가지며, 상하로 인접하는 2개의 상기 직사각형 영역은, 임의의 뱅크 어드레스 및 상이한 로우 어드레스를 갖도록 해도 된다.
이 구성에 의하면, 직사각형 영역 내에서 컬럼 어드레스 수직방향으로 연속되고, 상기 프레임 버퍼에 대해 액세스를 행하는 경우에는, 상기 프레임 버퍼의 수평방향으로 상기 메모리 유닛 단위의 액세스 얼라인먼트로 액세스하고, 상기 프레임 버퍼의 수직방향으로 라인 단위의 액세스 얼라인먼트로 액세스할 수 있다.
여기에서, 각 단위 영역에는, 상기 복수의 메모리 유닛의 서로 대응하는 복수의 (N×정수)바이트 영역이, 상기 복수의 메모리 유닛의 배열에 대응하는 순서대로 배치되도록 해도 된다.
여기에서, 상기 각 직사각형 영역 내의 복수의 상기 단위 영역은, 임의의 단일한 상기 메모리 유닛으로 구성되고, 공통인 뱅크 어드레스를 가지며, 좌우로 인접하는 2개의 상기 직사각형 영역은, 상이한 컬럼 어드레스를 갖고, 상하로 인접하는 2개의 상기 직사각형 영역은, 상이한 메모리 유닛의 단위 영역으로 구성되고, 임의의 뱅크 어드레스 및 컬럼 어드레스가 상이하도록 해도 된다.
여기에서, 각 단위 영역에는, 상기 복수의 메모리 유닛의 서로 대응하는 복수의 (N×정수)바이트 영역이, 상기 복수의 메모리 유닛의 배열에 대응하는 순서대로 배치되도록 해도 된다.
여기에서, 1행 이상 연속되는 G행으로 이루어지는 제1 작은 직사각형 영역에 있어서의 각 단위 영역은, 상기 복수의 (N×정수)바이트 영역이, 상기 복수의 메모리 유닛의 배열에 대응하는 순서대로 배치되고, 인접하는 1행 이상 연속되는 H행으로 이루어지는 제2 작은 직사각형 영역에 있어서의 각 단위 영역에는, 상기 복수의 (N×정수)바이트 영역이, 상기 제1 작은 직사각형 영역과 상이한 순서로 배치되며, 상기 제1 작은 직사각형 영역과 상기 제2 작은 직사각형 영역의 관계가 상기 직사각형 영역 내에 있어서 반복되도록 해도 된다.
또, 본 발명의 메모리 장치는, 1패키지화된 메모리 장치로서, 복수의 메모리 유닛과, 외부로부터 액세스 커맨드를 수신하여, 상기 복수의 메모리 유닛에 공급하는 커맨드 인터페이스와, 상기 복수의 메모리 유닛과 동수의 부분적인 버스로 비트 분할된 데이터 버스와, 외부로부터 공급되는 동기 신호에 따라, 외부와 상기 복수의 메모리 유닛의 각각의 사이에서 상기 데이터 버스를 통해 독립적으로 데이터를 입출력하는 데이터 인터페이스를 구비한다.
이 구성에 의하면, 복수의 메모리 유닛이 1패키지화되어 있는 경우여도, 상기 메모리 제어 장치와 함께, 높은 액세스 효율을 실현 가능하다.
여기에서, 상기 커맨드 인터페이스는, 시분할 다중화된 복수의 액세스 커맨드를 상기 동기 신호의 1사이클 기간에 수신하고, 상기 메모리 장치는, 상기 커맨드 인터페이스에 의해 수신된, 시분할 다중된 액세스 커맨드를 역다중화하여, 액세스 커맨드를 대응하는 메모리 유닛에 분배하는 역다중화부를 더 구비하도록 해도 된다.
이 구성에 의하면, 패키지화에 의해 패키지로의 액세스 커맨드 공급을 고속화하는 것이 가능해지고, 그 결과, 패키지의 핀 수 및 패키지로의 배선 수를 저감할 수 있다.
여기에서, 상기 커맨드 인터페이스는, 상기 복수의 메모리 유닛 개별적으로 유효 또는 무효로 하는 복수의 셀렉트 신호를 수신하고, 수신한 셀렉트 신호를 대응하는 메모리 유닛에 공급하도록 해도 된다.
이 구성에 의하면, 패키지 내의 복수의 메모리 유닛에 개별적으로 셀렉트 신호를 공급하여, 개별인 액세스를 용이하게 할 수 있다.
여기에서, 상기 커맨드 인터페이스는, 상기 복수의 메모리 유닛마다 유효한지 무효한지를 나타내는 유닛 정보를 수신하고, 상기 메모리 장치는, 상기 유닛 정보를 상기 복수의 메모리 유닛 개별인 셀렉트 신호로 변환하여, 변환한 셀렉트 신호를 각 메모리 유닛에 공급하는 변환 수단을 더 갖도록 해도 된다.
이 구성에 의하면, 패키지 내의 복수의 메모리 유닛에 개별적으로 셀렉트 신호를 패키지에 공급하는 대신에 유닛 정보를 공급하므로, 패키지의 핀 수 및 패키지로의 배선 수를 저감할 수 있다.
또, 본 발명의 메모리 제어 장치는, 메모리 액세스 요구를 발행하는 마스터와, 복수의 메모리 유닛에 접속되어, 메모리 유닛의 액세스를 제어하는 메모리 제어 장치로서, 상기 마스터로부터 발행된 상기 메모리 액세스 요구를, 메모리 유닛마다의 액세스 커맨드로 분할하는 커맨드 제어 수단과, 상기 복수의 메모리 유닛에 공급되는 동기 신호의 1사이클 기간 내에 복수의 액세스 커맨드를 시분할 다중화하고, 시분할 다중된 액세스 커맨드를 발행하는 다중화 수단과, 상기 복수의 메모리 유닛과 동수의 부분적인 버스로 비트 분할된 데이터 버스와, 상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 유닛마다의 데이터로 분할하여 각 메모리 유닛으로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 상기 복수의 메모리 유닛으로부터의 독출 데이터를 조합하여, 상기 마스터로 출력하는 데이터 제어 수단을 갖는 구성으로 해도 된다.
이 구성에 의하면, 메모리 제어 장치로부터 복수의 메모리 유닛으로의 배선 수를 저감할 수 있다.
또, 본 발명의 메모리 제어 방법, 반도체 장치는, 상기와 동일한 구성을 갖는다.
본 구성에 의해, 메모리 버스폭의 확장을 행하거나, 고속 DRAM을 사용하는 것에 의한 사용 메모리 대역의 확대를 행했을 때의 무효 데이터의 전송량의 증가를 억제하여, 높은 액세스 효율을 실현할 수 있다.
[발명의 효과]
본 발명의 메모리 제어 장치에 의하면, 이용 메모리 대역의 확대를 위해, 버스폭을 확장한 경우나, DDR, DDR2, DDR3과 같은 고속인 DRAM을 사용한 경우에 있어서도, 메모리의 최소 액세스 단위의 증가를 억제하는 것이 가능해지므로, 전송량이 작은 액세스나, 화상 처리 시에 빈번하게 발생하는 임의의 비연속인 액세스가 존재하는 시스템에 있어서도, 무효 데이터 전송의 증가를 억제할 수 있기 때문에, 높은 메모리 액세스 효율을 실현할 수 있다. 또, 쓸모없는 전송을 삭감하여 실효 전송 효율을 개선함과 더불어, 메모리 유닛 특유(특히 DRAM)에 발생하는 액세스 오버헤드를 개선하여, 메모리 시스템의 토탈 밴드폭을 삭감함과 동시에, 시스템 LSI의 단자 수와 LSI와 메모리 유닛간의 배선 수를 삭감할 수 있다. 또 이에 의해 비용의 대폭적인 삭감도 실현할 수 있다.
본 발명 중 복수 칩의 메모리 유닛을 1개의 메모리 패키지로 치환함으로써, 본 발명의 상기 쓸모없는 전송을 삭감하여 실효 전송 효율을 개선함과 더불어, 메모리 유닛 특유(특히 DRAM)에 발생하는 액세스 오버헤드를 개선하여, 메모리 시스템의 토탈 밴드폭을 삭감함과 동시에, 또한 시스템 내의 실장 칩 수를 삭감하여 시스템의 실장 면적을 대폭으로 삭감하는 것도 실현할 수 있다.
도 1A는, 본 발명의 실시 형태 1에 있어서의 메모리 제어 장치를 포함하는 시스템 구성을 도시한 블록도이다.
도 1B는, 도 1A의 메모리 제어 장치의 변형예를 포함하는 시스템 구성을 도시한 블록도이다.
도 2는, 메모리 맵 예를 도시한 도면이다.
도 3은, 커맨드 생성부의 흐름도를 도시한 도면이다.
도 4는, 메모리 제어 장치의 동작을 도시한 타이밍도이다.
도 5는, 종래예의 동작을 설명하는 타이밍도이다.
도 6A는, 메모리 제어 장치의 변형예를 포함하는 시스템 구성을 도시한 블록도이다.
도 6B는, 도 6A의 메모리 제어 장치의 변형예를 포함하는 시스템 구성을 도시한 블록도이다.
도 7은, 본 발명의 실시 형태 2에 있어서의 메모리 제어 장치를 포함하는 시스템 구성을 도시한 블록도이다.
도 8은, 메모리 제어 장치의 동작을 도시한 타이밍도이다.
도 9는, 종래예의 동작을 도시한 타이밍도이다.
도 10은, 메모리 제어 장치의 변형예를 포함하는 시스템 구성을 도시한 블록도이다.
도 11A는, 본 발명의 실시 형태 3에 있어서 기본 단위가 되는 단위 영역을 도시한 도면이다.
도 11B는, 단위 영역의 설명도이다.
도 12는, 단위 영역의 설명도이다.
도 13A는, 복수의 메모리 디바이스(DRAM)와 단위 영역의 관계를 도시한 도면이다.
도 13B는, 복수의 메모리 디바이스(DRAM)와 단위 영역의 관계를 도시한 도면이다.
도 14는, DRAM의 물리 어드레스 메모리((N×정수)바이트 영역)를 논리 어드레스 방향으로 배치한 단위 영역을 도시한 도면이다.
도 15는, 프레임 버퍼로서 단위 영역을 배치하는 일례를 도시한 도면이다.
도 16은, 단위 영역 내에 있어서의 (N×정수)바이트 영역의 배치예를 도시한 도면이다.
도 17은, 프레임 버퍼 내에 있어서의 (N×정수)바이트 영역의 배치예를 도시한 도면이다.
도 18은, 본 발명의 실시 형태 4에 있어서의 메모리 제어 방법을 도시한 흐름도이다.
도 19는, 프레임 버퍼에 있어서의, 메모리 뱅크의 논리 어드레스 배치의 일례를 도시한 도면이다.
도 20은, 도 19에서 나타낸 블록 내에 있어서의 메모리의 컬럼 어드레스 배 치의 일례를 도시한 도면이다.
도 21은, 동일한 메모리 디바이스의 (N×정수)바이트 영역이 세로로 나열되는 배치예를 도시한 도면이다.
도 22는, 도 21의 프레임 버퍼로부터 전송되는 직사각형 데이터의 배치예를 도시한 도면이다.
도 23은, 도 22에 대응하는 각종 신호를 도시한 타이밍 차트도이다.
도 24는, 도 21의 프레임 버퍼로부터 전송되는 직사각형 데이터의 배치예를 도시한 도면이다.
도 25는, 도 24의 직사각형 데이터 액세스에 대응하는 타이밍 차트도이다.
도 26은, 바둑판무늬의 논리 어드레스 배치도이다.
도 27은, 도 21의 예에 있어서의 논리 어드레스 메모리 배치에 있어서, 직사각형 액세스 요구에 대해 필요한 데이터와 실제로 전송되는 데이터를 도시한 도면이다.
도 28은, 직사각형 데이터의 액세스 시에 실제로 전송되는 데이터를 도시한 도면이다.
도 29는, 도 21의 예에 있어서의 상기 논리 어드레스 배치에 있어서, 도 27의 직사각형 데이터를 취득하는 동작을 도시한 타이밍 차트도이다.
도 30은, 도 26의 예에 있어서의 논리 어드레스 배치에 있어서, 도 28의 직사각형 데이터를 취득하는 동작을 도시한 타이밍 차트도이다.
도 31은, 종래의 메모리 제어 장치의 구성을 도시한 도면이다.
도 32는, 고속, 대용량 전송을 가능하게 하는 종래의 메모리 장치예이다.
도 33은, 종래의 메모리 장치에서의 과제를 설명하는 비교도이다.
도 34A는, 본 실시 형태에 있어서의 메모리 장치의 변형예를 도시한 도면이다.
도 34B는, 메모리 장치의 보다 구체적인 구성예를 도시한 도면이다.
도 35A는, 본 실시 형태에 있어서의 메모리 장치의 다른 변형예를 도시한 도면이다.
도 35B는, 본 실시 형태에 있어서의 메모리 장치의 또 다른 변형예를 도시한 도면이다.
도 36은, 실시 형태 5에 있어서의 메모리 제어 장치의 구성을 도시한 블록도이다.
도 37은, 메모리 제어 장치와 메모리 장치의 동작 타이밍의 일례를 도시한 타이밍 차트이다.
[부호의 설명]
0, 1 : 메모리
101 : 메모리 제어 장치
102 : 커맨드 생성부
103 : 변환부
104 : 커맨드 발행부
105 : 커맨드 발행부
106 : 데이터 제어부
108 : 커맨드 변환부(다중화 수단)
200 : 마스터
400, 400a, 400b, 400c : 메모리 장치
411, 411b, 412, 412b : 메모리 유닛
421 : 커맨드 인터페이스
422 : 데이터 인터페이스
441 : 커맨드 변환부(역다중화 수단)
이하 본 발명의 실시 형태에 대해, 도면을 참조하면서 설명한다.
(실시 형태 1)
본 실시 형태에 있어서의 메모리 제어 장치는, 마스터로부터 발행된 상기 메모리 액세스 요구를, 메모리 디바이스마다의 액세스 커맨드로 분할하여, 상기 복수의 메모리 디바이스에 액세스 커맨드를 발행하는 커맨드 제어 수단과, 상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 디바이스마다의 데이터로 분할하여 각 메모리 디바이스로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 상기 복수의 메모리 디바이스로부터의 독출 데이터를 조합하여, 상기 마스터로 출력하는 데이터 제어 수단을 갖고 있다. 여기에서, 커맨드 제어 수단은, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 디바이스의 물리 어드레스가 동일한 경우와 상이한 경우에서, 복수의 메모리 디바이스로 동일한 물리 어드레스를 출력하는 제어와, 상이한 물리 어드레스를 출력하는 제어를 전환한다.
이에 의해, 메모리 대역을 넓히고, 또한, 최소 액세스 단위를 증가시키지 않으며, 무효한 데이터 전송의 증가를 억제한다는 효과가 있다. 즉, 메모리 대역은 (1개의 메모리 디바이스의 버스폭)×(메모리 디바이스의 개수)로 확대되고, 또한, 마스터로부터 액세스 가능한 최소 액세스 단위는 1개의 메모리 디바이스의 최소 액세스 단위로 할 수 있다. 여기에서, 최소 액세스 단위란, 1개의 메모리 디바이스의 버스폭×최소 버스트 길이로 구해지는 값을 가리킨다. 도 1A에서는, 1개의 메모리 디바이스의 버스폭이 4Byte, 최소 버스트 길이가 1인 것으로 한다.
또한, 상기 복수의 메모리 디바이스의 각각은, 반도체 장치에 1칩화되어 있어도 된다. 혹은, 상기 복수의 메모리 디바이스가 1패키지화되어 있어도 된다.
도 1A는, 본 발명의 메모리 제어 장치의 한 실시 형태를 도시한 블록도이다. 여기에서는, 마스터(200)가, 메모리 제어 장치를 통해 2개의 4Byte 버스의 메모리 디바이스(SDRAM)에 접속되어 있는 시스템 형태를 나타내고 있다. 상기 도면에서는, 마스터(200)는 1개밖에 도시하고 있지 않지만, 복수의 마스터가 접속되어 있어도 물론 된다.
상기 도면과 같이 메모리 제어 장치(101)는, 커맨드 생성부(102)와, 데이터 제어부(106) 및, 각각의 메모리 디바이스(0, 1)에 개별적으로 접속되어 있는 커맨드 발행부(104, 105)로 구성되어 있다. 커맨드 생성부(102)는, 마스터(200)로부터의 메모리 액세스 커맨드(메모리 액세스 요구)에 포함되는 논리 어드레스를 메모리 디바이스(0, 1)마다의 물리 어드레스로 변환하는 변환부(103)를 구비한다. 커맨드 생성부(102), 커맨드 발행부(104 및 105)의 3개는, 상기의 커맨드 제어 수단으로서 기능한다.
마스터(200)로부터의 메모리 액세스 커맨드는, 커맨드 버스를 통해 커맨드 생성부(102)에 입력된다. 여기에서, 메모리 액세스 커맨드란, 데이터 전송의 방향, 전송 사이즈, 메모리의 액세스 개시 어드레스(논리 어드레스)를 나타내는 데이터를 포함한다.
마스터(200)로부터 메모리 액세스 커맨드를 수취한 커맨드 생성부(102)는, 우선, 수취한 커맨드를, 변환부(103)에 있어서 논리 어드레스로부터 메모리 디바이스(0, 1)마다의 물리 리어드레스로 변환한다. 또한, 커맨드 생성부(102)는, 접속되어 있는 메모리 디바이스의 최소 액세스 단위(본 실시예에서는 4Byte)의 커맨드로 분할한다. 그 후, 후술하는 메모리 디바이스의 어드레스 매핑에 의거하여, 개개의 디바이스에 대응한 디바이스별 액세스 커맨드를 생성하여, 각각의 커맨드 발행부에, 상기 디바이스별 액세스 커맨드를 발행한다.
각 커맨드 발행부와 각 메모리 디바이스는, 각각 1대 1로, 메모리를 제어하는 칩 셀렉트 신호(CS)와, 커맨드 신호가 접속되어 있고, 커맨드 생성부(102)로부터의 상기 디바이스 고유 액세스 커맨드를 수취한 커맨드 발행부는, 접속되어 있는 메모리 디바이스의 타이밍 사양에 따라, 발행 가능한 커맨드를 메모리 디바이스로 출력한다. 또, 커맨드 발행부는, 상기 타이밍 사양에 의거하여 메모리 디바이스에 발행한 커맨드의 발행순을 나타내는 커맨드 발행순 정보를 데이터 제어부(106)에 통지한다.
한편, 마스터(200)와 메모리 디바이스간의 데이터 전송은, 마스터(200)-데이터 제어부(106)간의 8Byte의 데이터 버스를 통해 전송된다. 여기에서, 데이터 버스는, 쌍방향 버스로 해도 되고, 기록 데이터 전용과 독출 데이터 전용의 2계통의 버스로 해도 된다.
데이터 제어부(106)와 각 메모리 디바이스는, 각각 전용의 4Byte의 데이터 버스가 접속되어 있다. 데이터 제어부(106)에서는, 마스터(200)로부터의 메모리 디바이스로의 데이터 기록 처리 시에는, 마스터(200)로부터의 8Byte 데이터를, 상기 커맨드 발행부로부터 수취한 상기 커맨드 발행순 정보에 의거하여, 각 메모리 디바이스에 접속되는 4Byte의 데이터 버스로 분할하여, 전송을 행한다. 또, 메모리 디바이스로부터의 데이터 독출 처리 시에는, 각 메모리 디바이스로부터의 4Byte 출력 데이터를, 상기 커맨드 발행부로부터 수취한 상기 커맨드 발행순 정보에 의거하여, 8Byte의 데이터로 올린 후, 마스터(200)에 접속되는 8Byte 데이터 버스에 전송을 행한다. 이 제어에 의해, 메모리 디바이스에 발행한 커맨드와, 전송되는 데이터의 정합성을 취하는 제어를 행한다.
도 2에, 본 실시 형태 1에 있어서의, 메모리 디바이스의 어드레스 매핑을 나타낸다. 도 2가 나타낸 바와 같이, 마스터(200)가 지정하는 연속 어드레스에 대해, 접속하는 메모리 디바이스의 최소 액세스 단위(본 실시예에서는 4Byte)마다, 디바이스가 전환되는 매핑을 행하고 있다. 여기에서, 마스터(200)가 지정하는 연속 어드레스를, 각 디바이스의 물리 어드레스(Bank·Row·Column)에 어떻게 매핑할 지는 특정할 필요는 없다. 단, 동일한 디바이스 내에 있어서, 액세스 효율의 저하를 초래하는 동일 Bank의 Row의 전환을 빈번하게 발생시키지 않는다는 관점에서, 도 2에 나타낸 바와 같이, 마스터(200)가 지정하는 연속 어드레스에 대해, 동일 디바이스 내에서는, 동일 Bank의 동일 Row를 순서대로 할당해 가서, 1개 Row의 전체 영역을 액세스한 시점에서, 상이한 Bank의 Row로 전환되는 매핑으로 하는 것이 바람직하다.
지금까지 서술한 본 발명의 메모리 제어 장치(101)에 접속되는 마스터(200)는 메모리 디바이스로 논리 어드레스 및 화상 이미지 어드레스의 양쪽에서 액세스가 가능하고, 커맨드 생성부(102)에서는, 수취한 논리 어드레스 및 화상 이미지 어드레스를 포함하는 커맨드를 메모리 디바이스의 최소 액세스 단위(본 실시예에서는 4Byte)의 커맨드로 분할하여, 도 2에 나타낸 메모리 디바이스의 어드레스 매핑에 의거해, 각각의 디바이스에 대응한 디바이스별 액세스 커맨드를 생성하는 기능을 구비하고 있다.
또 커맨드 생성부(102)는, 전술한 마스터(200)로부터 수취한 커맨드를 분할, 변환하였을 때에, 메모리 디바이스가 상이하고, 또한 어드레스도 상이한 경우일 때, 메모리 디바이스마다의 커맨드 발행부로 발행하고, 메모리 디바이스마다 동시에 상이한 어드레스를 발행하여 액세스할 수 있다. 또한, 메모리 디바이스가 상이하지만, 어드레스가 동일한 경우일 때, 메모리 디바이스마다의 커맨드 발행부로 발행하고, 메모리 디바이스마다 동시에 동일한 어드레스를 발행하여 액세스할 수도 있다.
다음에, 커맨드 생성부(102)에 있어서의 동작을 설명한다. 도 3은, 커맨드 생성부(102)에 있어서의 흐름도를 도시한 도면이다. 도 3에 나타낸 바와 같이, 커맨드 생성부(102)에서는, 마스터(200)로부터 접수한 커맨드의 개시 어드레스가 8Byte 경계인지, 그렇지 않은지에 따라 처리가 상이하다. 개시 어드레스가 8Byte 경계인 경우(개시 어드레스가 8n Byte(n은 정수)인 경우)는, 커맨드 발행부(104, 105) 각각에 어드레스 n으로의 액세스 커맨드를 발행한다. 그 후, n을 1씩 인크리먼트해 가서, 마스터(200)로부터의 요구 전송 사이즈를 만족할 때까지 상기 처리를 반복한다.
한편, 개시 어드레스가 8Byte 경계가 아닌 경우(개시 어드레스가 8n+4Byte(n은 정수)인 경우)는, 커맨드 발행부(104)에 어드레스 n+1로의 액세스 커맨드를, 커맨드 발행부(105)에 어드레스 n으로의 액세스 커맨드를 각각 발행한다. 그 후, n을 1씩 인크리먼트해 가서, 마스터(200)로부터의 요구 전송 사이즈를 만족할 때까지 상기 처리를 반복한다.
여기에서 4Byte 경계 단위로 메모리 디바이스를 메모리 디바이스(0)와 메모리 디바이스(1)로 특정하는 경우에 있어서, 본 발명의 메모리 제어 장치(101)를 통해 메모리 디바이스로 논리 어드레스 및 화상 이미지 어드레스의 양쪽에서 액세스를 할 수 있는 마스터(200)가 발행하는 커맨드는, 도 2가 나타낸 어드레스 맵에 따라, 커맨드 생성부(102)에서 분할, 변환되고, 1) 메모리 디바이스(0)로부터 메모리 디바이스(1)로 걸쳐지는 경우는 메모리 디바이스간에서 동일한 어드레스이고, 2) 메모리 디바이스(1)로부터 메모리 디바이스(0)로 걸쳐지는 경우는 메모리 디바이스 간에서 상이한 어드레스가 된다. 본 실시 형태 1의 발명에서는, 이와 같이 메모리 디바이스에 데이터를 저장하고, 독출 가능한 배치로 함으로써 2)의 경우는 동시에 상이한 어드레스를 상이한 메모리 디바이스(0 및 1)에 발행할 수 있고, 또한 1)의 경우에는 동시에 동일한 어드레스를 상이한 메모리 디바이스(0 및 1)에 발행할 수 있다.
도 4는, 본 실시 형태 1에 있어서의 메모리 제어 장치(101)의 동작 타이밍의 일례를 도시한 타이밍 차트이다. 여기에서는, tRCD=3사이클, CL=3사이클의 SDRAM을 사용하여, 마스터(200)로부터, [1]0Byte 어드레스로부터의 16Byte 데이터의 독출 커맨드와, [2]28Byte 어드레스로부터의 16Byte 데이터의 독출 커맨드가 연속하여 발행된 경우의 메모리 디바이스로의 제어 신호와, 마스터(200)로의 독출 데이터 버스의 동작 타이밍을 나타내고 있다.
최초의 0Byte 어드레스로부터의 16Byte 데이터의 독출 커맨드에 관해서는, 커맨드 생성부(102)에 있어서, 개시 어드레스가 8Byte 경계인 것(8n Byte 어드레스 또한 n=0)으로부터, 양 커맨드 발행부에 대해, 어드레스 "0"으로의 액세스 커맨드를 발행한다. 그 후, 요구 전송 사이즈를 만족하고 있지 않으므로, 다음 사이클에는, 양 커맨드 발행부에 대해, 어드레스 "1"로의 액세스 커맨드를 발행하여, 최초의 커맨드 처리를 종료한다. 상기 커맨드를 수취한, 커맨드 발행부(104) 및 커맨드 발행부(105)는, 지정된 어드레스로 액세스하기 위해, 모두 도 4에 나타낸 바와 같이, t1에 있어서, Bank0/Row0으로의 액티베이트 커맨드를 발행한다. 그 후, tRCD를 만족하도록 t4에 있어서, 컬럼 0으로의 Read 커맨드를, t5에 있어서, 컬럼 1로의 Read 커맨드를 각각 발행함과 동시에, 데이터 제어부(106)에 대해, 발행한 커맨드가 마스터(200)의 액세스 커맨드의 몇 번째의 데이터에 대한 커맨드인지를 나타내는 커맨드 발행순 정보 0, 1을 각각 출력한다. 메모리 디바이스는, Read 커맨드 발행 후, CL=3 후의 t7로부터 각각 원하는 리드 데이터를 출력한다. 데이터 제어부(106)에서는, 이 데이터를 받아, t4의 사이클에서 수취한 커맨드 발행순 정보를 기초로, t8의 사이클에서, 메모리 디바이스(0)로부터의 출력 데이터 4Byte를 상위에, 메모리 디바이스(1)로부터의 출력 데이터 4Byte를 하위에 할당한 8Byte 데이터를 마스터(200)로 전송한다. 동일한 처리를, t9에 있어서도 행함으로써, 최초의 16Byte 리드 처리를 완료한다.
한편, 후발의 28Byte 어드레스로부터의 16Byte 데이터의 독출 커맨드에 관해서는, 커맨드 생성부(102)에 있어서, 개시 어드레스가 8Byte 경계가 아닌 것(8n+4Byte 어드레스 또한 n=3)으로부터, 커맨드 발행부(104)에 대해 어드레스 "4"로의 액세스 커맨드를, 커맨드 발행부(105)에 대해 어드레스 "3"으로의 액세스 커맨드를, 각각 발행한다. 그 후, 요구 전송 사이즈를 만족하고 있지 않으므로, 다음 사이클에는, 커맨드 발행부(104)에 대해 어드레스 "5"로의 액세스 커맨드를, 커맨드 발행부(105)에 대해 어드레스 "4로의 액세스 커맨드를, 각각 발행하여, 후발의 커맨드 처리를 종료한다. 상기 커맨드를 수취한, 커맨드 발행부(104) 및 커맨드 발행부(105)는, 모두 t1에 있어서, 이미 Bank0/Row0으로의 액티베이트 커맨드가 발행되어 있으므로, 최초의 커맨드 발행이 완료한 다음의 사이클인 t6에 있어서, 커맨드 발행부(104)는 컬럼 4로의 Read 커맨드를, 커맨드 발행부(105)는 컬럼 3으로의 Read 커맨드를, 또 t7에 있어서, 커맨드 발행부(104)는 컬럼 5로의 Read 커맨드를, 커맨드 발행부(105)는 컬럼 4로의 Read 커맨드를 각각 발행함과 동시에, 데이터 제어부(106)에 대해, 발행한 커맨드가 마스터(200)의 액세스 커맨드의 몇 번째의 데이터에 대한 커맨드인지를 나타내는 커맨드 발행순 정보 0, 1을 각각 출력한다. 메모리 디바이스는, 상기 Read 커맨드 발행(t6) 후, CL=3 후의 t9로부터 각각 원하는 리드 데이터를 출력한다. 데이터 제어부(106)에서는, 이 데이터를 받아, t6의 사이클에서 수취한 커맨드 발행순 정보를 기초로, t10의 사이클에서, 메모리 디바이스(0)로부터의 출력 데이터 4Byte를 하위에, 메모리 디바이스(1)로부터의 출력 데이터 4Byte를 상위에 할당한 8Byte 데이터를 마스터(200)로 전송한다. 동일한 처리를, t7의 사이클에서 수취한 커맨드 정보를 기초로 t11의 사이클에 있어서도 행함으로써, 후발의 16Byte 리드 처리를 완료한다.
상기 제어를 행함으로써, 마스터(200)로부터의 액세스 요구에 있어서, 액세스 개시 어드레스가 접속되는 토탈 데이터 버스폭의 경계가 아니고, 요구 전송 사이즈가 토탈 데이터 버스폭을 넘는 액세스인 경우(본 실시예에서는, 데이터 버스폭 8Byte, 액세스 개시 어드레스 24Byte째, 요구 전송 사이즈 16Byte)에, 메모리 디바이스(0)와 메모리 디바이스(1)에 상이한 어드레스로 동시에 독립적으로 액세스할 수 있으므로, 하기에 나타내는 종래 시스템에 비해 액세스 효율을 향상할 수 있다.
상기까지의 본 실시예 1의 효과를 명확하게 하기 위해, 도 32에 나타낸 바와 같은 4Byte 버스의 메모리 디바이스(SDRAM)를 단순히 병렬 접속하여, 논리상, 8Byte 버스의 SDRAM으로서 접속한 종래의 시스템 구성에 있어서, 동일한 전송을 행 한 경우의 타이밍도를 도 5에 나타낸다. 여기에서는, 메모리 디바이스에 대한 최소 액세스 단위가 버스와 등가인 8Byte 단위가 되므로, 최초의 8Byte 경계로부터의 16Byte 전송은, 도 5의 t7, t8의 2사이클에서 메모리 디바이스로부터 데이터 취득 가능하지만, 후발의 8Byte 경계가 아닌 어드레스로부터의 16Byte 전송은, 도 5의 t9∼t12의 3사이클에서 전송되고 있는 것처럼, 24Byte 어드레스로부터 48Byte 어드레스까지의 토탈 24Byte 전송이 필요해지므로, 액세스 효율이 저하한다.
이와 같이, 본 실시예에 있어서는, 시스템적으로 8Byte의 SDRAM을 접속한 것과 등가인 메모리 대역을 이용할 수 있음과 동시에, 액세스 어드레스 경계를, 사용하는 1개의 메모리 디바이스의 최소 액세스 단위(본 실시예에서는 4Byte 단위)로까지 떨어뜨려, 데이터 전송 제어를 행하는 것이 가능해지므로, 액세스 개시 어드레스의 입도(粒度)가 작은 시스템에 있어서, 보다 효과적인 메모리 대역의 이용이 가능해진다.
또한, 본 실시 형태에 있어서의 메모리 제어 장치(101)는, 도 6에 나타낸 바와 같이 구성해도 된다. 즉, 도 6의 커맨드 제어부(107)는, 도 1A에 나타낸 커맨드 생성부(102), 커맨드 발행부(104, 105)를 합친 기능과 동일하다.
또한, 본 실시예에서는, 사용하는 메모리 디바이스로서, 4Byte 버스의 SDRAM 2개를 접속한 경우를 예로서 설명하였지만, 사용하는 메모리 디바이스의 버스폭은 임의의 버스폭으로 실시 가능하고, 디바이스의 수도 임의의 수로 실시 가능하다. 또, 디바이스의 종류도 SDRAM에 한정되지 않고, DDR, DDR2, Direct-Rambus(등록 상표) DRAM, XDR과 같은 다른 DRAM이어도, SRAM, 플래시 메모리와 같은 DRAM이 아닌 메모리여도, 기억 매체로서 사용할 수 있는 메모리 디바이스이면 동일하게 실시 가능하다. 그 때, 전술한 최소 액세스 단위란, 1개의 메모리 디바이스의 버스폭×최소 버스트 길이로 구해지는 값을 가리킨다.
또, 도 1A에서 나타낸 커맨드 생성부(102) 및 도 6에서 나타낸 커맨드 제어부(107)는 최소 액세스 단위에 의거한 메모리 매핑에 따라, 마스터(200)로부터의 액세스 커맨드를 최소 액세스 단위로 분할하고, 디바이스로 커맨드를 발행하여 액세스하는 커맨드 발행부로 결과를 분배하는 기능을 갖고 있다.
또한, 본 실시예에서는, 커맨드 발행부가 데이터 제어부(106)에 발행하는 커맨드 발행순 정보를, 마스터(200)의 액세스 커맨드 중, 몇 번째의 데이터에 대한 커맨드인지를 나타내는 번호 정보로 하고 있지만, 접속되는 메모리 디바이스의 어느 쪽이 상위인지를 나타내는 1비트의 정보로 하여 제어하는 것도 가능하다.
메모리 디바이스가 DRAM이 아닌 경우, 커맨드 발행부는 거의 필요로 하지 않는 구성을 채용할 수 있다. 또, 커맨드 생성부(102)로부터 직접 데이터 제어부(106)로, 커맨드 발행순 제어 정보를 통지하는 것도 가능하다.
또, 도 1A의 메모리 제어 장치(101)는 2개의 메모리 디바이스(0, 1)를 접속하고 있지만, 도 1B에 나타낸 바와 같이 m개의 메모리를 접속하는 구성으로 해도 된다. 도 1B에 나타낸 메모리 제어 장치는, 도 1A와 비교하여, 2개의 메모리를 접속하는 대신에 m개의 제1∼제m 메모리를 접속하고, 2개의 커맨드 발행부(104, 105) 대신에 m개의 제1∼제m 커맨드 발행부를 구비하고 있다. 제1∼제m 커맨드 발행부는, 제1∼제m 메모리에 대응하여 설치된다.
동일하게, 도 6A에 나타낸 메모리 제어 장치도, 도 6B에 나타낸 바와 같이, m개의 메모리를 접속하는 구성으로 해도 된다.
(실시 형태 2)
본 실시 형태에서는, 실시 형태 1에 비해 어드레스 버스의 배선 면적을 대폭으로 삭감함으로써 회로의 소형화를 가능하게 하고, 또한, 그다지 성능을 열화시키지 않는 메모리 제어 장치의 구성에 대해 설명한다.
본 실시 형태에 있어서의 커맨드 제어부는, 상기 복수의 메모리 디바이스에 공통인 어드레스 버스와, 상기 복수의 메모리 디바이스에 개별인 칩 셀렉트 신호를 통해 상기 복수의 메모리 디바이스에 접속된다. 이 커맨드 제어부는, 분할한 복수의 액세스 커맨드가 동일한 물리 어드레스를 나타내는 경우, 상기 개별인 칩 셀렉트 신호를 동시에 유효하게 함으로써, 상기 복수의 메모리 디바이스로 동일한 물리 어드레스를 출력하고, 분할한 복수의 액세스 커맨드가 상이한 물리 어드레스를 나타내는 경우, 상기 개별인 칩 셀렉트 신호를 타이밍을 어긋나게 하여 유효하게 함으로써, 상기 복수의 메모리 디바이스로 상이한 물리 어드레스를 출력한다. 이와 같이, 타이밍(예를 들면 1사이클)을 어긋나게 함으로써, 1사이클 지연이 발생하지만, 독립적인 어드레스 버스를 배선할 필요가 없으므로, 어드레스 버스의 배선 면적을 대폭으로 삭감할 수 있다.
도 7은, 본 실시 형태에 있어서의 메모리 제어 장치(101a)의 한 실시 형태를 도시한 블록도이다. 여기에서는, 1개의 마스터(200)가, 메모리 제어 장치(101a)를 통해 2개의 4Byte 버스의 메모리 디바이스(SDRAM)에 접속되어 있는 시스템 형태를 나타내고 있다. 메모리 제어 장치(101a)는, 커맨드 생성부(102)와, 데이터 제어부(106) 및, 메모리 디바이스의 CS 신호만이 개별적으로 접속되고, 그 밖의 커맨드 신호를 공통으로 각 메모리 디바이스에 접속하고 있는 커맨드 발행부(104a)로 구성되어 있다. 마스터(200)로부터의 메모리 액세스 커맨드는, 커맨드 버스를 통해 커맨드 생성부(102)에 입력된다. 여기에서, 메모리 액세스 커맨드란, 데이터 전송의 방향, 전송 사이즈, 메모리의 액세스 개시 어드레스를 나타내는 데이터를 포함한다.
마스터(200)로부터 메모리 액세스 커맨드를 수취한 커맨드 생성부(102)는, 우선, 수취한 커맨드를, 접속되어 있는 메모리 디바이스의 최소 액세스 단위(본 실시예에서는 4Byte)의 커맨드로 분할한다. 그 후, 후술하는 메모리 디바이스의 어드레스 매핑에 의거하여, 각각의 디바이스에 대응한 디바이스별 액세스 커맨드를 생성하고, 커맨드 발행부(104a)에, 상기 디바이스별 액세스 커맨드를 발행한다.
커맨드 발행부(104a)와 각 메모리 디바이스는, 메모리를 제어하는 칩 셀렉트 신호(CS)가 1대 1로 접속되고, 커맨드 신호는 공통으로 접속되어 있다.
커맨드 생성부(102)로부터의 상기 디바이스 고유 액세스 커맨드를 수취한 커맨드 발행부(104a)는, (상태 1) 수취한 커맨드가 각 메모리 디바이스에서 동일한 어드레스(Bank, Row, Col)인 경우에 개별적으로 접속되어 있는 칩 셀렉트 신호(CS)를 동시에 유효하게 하여 메모리 디바이스의 타이밍 사양에 따라, 발행 가능한 커맨드를 메모리 디바이스로 출력한다. (상태 2) 수취한 커맨드가 각 메모리 디바이스에서 상이한 어드레스(Bank, Row, Col)인 경우에는 개별적으로 접속되어 있는 CS 를 유효하게 하는 타이밍을 어긋나게 하여 각 메모리 디바이스에 따른 커맨드를 각 메모리 디바이스로 출력한다. 또, 커맨드 발행부(104a)는, 상기 타이밍 사양에 의거하여 메모리 디바이스에 발행한 커맨드의 발행순을 나타내는 커맨드 발행순 정보를, 데이터 제어부(106)에 통지한다.
한편, 마스터(200)와 메모리 디바이스간의 데이터 전송은, 마스터(200)-데이터 제어부(106)간의 8Byte의 데이터 버스를 통해 전송된다. 여기에서, 데이터 버스는, 쌍방향 버스로 해도 되고, 기록 데이터 전용과 독출 데이터 전용의 2계통의 버스로 해도 된다.
데이터 제어부(106)와 각 메모리 디바이스는, 각각 전용의 4Byte의 데이터 버스가 접속되어 있다. 데이터 제어부(106)에서는, 마스터(200)로부터의 메모리 디바이스로의 데이터 기록 처리 시에는, 마스터(200)로부터의 8Byte 데이터를, 전술한 (상태 1) 및 (2)의 경우에 따라 상기 커맨드 발행부로부터 수취한 상기 커맨드 발행순 정보에 의거하여, 각 메모리 디바이스에 접속되는 4Byte의 데이터 버스로 분할하여, 전송을 행한다. 또, 메모리 디바이스로부터의 데이터 독출 처리 시에는, 각 메모리 디바이스로부터의 4Byte 출력 데이터를, 전술한 (상태 1) 및 (2)의 경우에 따라 상기 커맨드 발행부로부터 수취한 상기 커맨드 발행순 정보에 의거하여, 8Byte의 데이터로 올린 후, 마스터(200)에 접속되는 8Byte 데이터 버스에 전송을 행한다. 이 제어에 의해, 메모리 디바이스에 발행한 커맨드와, 전송되는 데이터의 정합성을 취하는 제어를 행한다.
본 실시 형태에 있어서의, 메모리 디바이스의 어드레스 매핑은 실시 형태 1 에 나타낸 도 2와 공통이고, 도 2가 나타낸 바와 같이, 마스터(200)가 지정하는 연속 어드레스에 대해, 접속하는 메모리 디바이스의 최소 액세스 단위(본 실시예에서는 4Byte)마다, 디바이스가 전환되는 매핑을 행하고 있다. 여기에서, 마스터(200)가 지정하는 연속 어드레스를, 각 디바이스의 물리 어드레스(Bank·Row·Column)에 어떻게 매핑할지는 특정할 필요는 없다. 단, 동일한 디바이스 내에 있어서, 액세스 효율의 저하를 초래하는 동일 Bank의 Row의 전환을 빈번하게 발생시키지 않는다는 관점에서, 도 2에 나타낸 바와 같이, 마스터(200)가 지정하는 연속 어드레스에 대해, 동일 디바이스 내에서는, 동일 Bank의 동일 Row를 순서대로 할당해 가서, 1개 Row의 전체 영역을 액세스한 시점에서, 상이한 Bank의 Row로 전환되는 매핑으로 하는 것이 바람직하다.
다음에, 커맨드 생성부(102)에 있어서의 동작을 설명한다. 도 3은, 커맨드 생성부(102)에 있어서의, 흐름도를 도시한 도면이다. 도 3에 나타낸 바와 같이, 커맨드 생성부(102)에서는, 마스터(200)로부터 접수한 커맨드의 개시 어드레스가, 8Byte 경계인지, 그렇지 않은지에 따라 처리가 상이하다. 개시 어드레스가 8Byte 경계인 경우(개시 어드레스가 8n Byte(n은 정수)인 경우)는, 메모리 디바이스(0) 및 메모리 디바이스(1)를 관리하는 커맨드 발행부(104a) 내의 메모리 디바이스(0), 메모리 디바이스(1)를 제어하는 부분 각각이, 어드레스 n으로의 액세스 커맨드를 발행한다. 그 후, n을 1씩 인크리먼트해 가서, 마스터(200)로부터의 요구 전송 사이즈를 만족할 때까지 상기 처리를 반복한다.
한편, 개시 어드레스가 8Byte 경계가 아닌 경우(개시 어드레스가 8n+4Byte(n 은 정수)인 경우)는, 커맨드 발행부(104a) 내의 메모리 디바이스(0)를 제어하는 부분에 어드레스 n+1로의 액세스 커맨드를, 커맨드 발행부(104a) 내의 메모리 디바이스(1)를 제어하는 부분에 어드레스 n으로의 액세스 커맨드를 각각 발행한다. 그 후, n을 1씩 인크리먼트해 가서, 마스터(200)로부터의 요구 전송 사이즈를 만족할 때까지 상기 처리를 반복한다.
여기에서, 8Byte 경계 단위로 메모리 디바이스를 메모리 디바이스(0)와 메모리 디바이스(1)로 특정하는 경우에 있어서, 본 발명의 메모리 제어 장치(101a)를 통해 메모리 디바이스로 논리 어드레스 및 화상 이미지 어드레스의 양쪽에서 액세스할 수 있는 마스터(200)가 발행하는 커맨드는, 도 2가 나타낸 어드레스 맵에 따라, 커맨드 생성부(102)에서 분할, 변환되고, 1) 메모리 디바이스(0)로부터 메모리 디바이스(1)로 걸쳐지는 경우는 메모리 디바이스간에서 동일한 어드레스이고, 2)메모리 디바이스(1)로부터 메모리 디바이스(0)로 걸쳐지는 경우는 메모리 디바이스 상에서 상이한 어드레스가 된다. 본 실시 형태 2의 발명에서는, 이와 같이 메모리 디바이스에 데이터를 저장하고, 독출 가능한 배치로 함으로써 2)의 경우는 메모리 디바이스(0)와 메모리 디바이스(1)에 상이한 어드레스를 타이밍을 어긋나게 하여 발행할 수 있고, 1)의 경우에는 동시에 동일한 어드레스를 상이한 메모리 디바이스(0 및 1)에 발행할 수 있다.
도 8은, 본 실시 형태에 있어서의 메모리 제어 장치(101a)의 동작 타이밍의 일례를 도시한 타이밍 차트이다. 여기에서는, tRCD=3사이클, CL=3사이클의 SDRAM을 버스트 길이 2(BL=2)인 상태로 사용하여, 마스터(200)로부터, [1]0Byte 어드레 스로부터의 16Byte 데이터의 독출 커맨드와, [2]28Byte 어드레스로부터의 16Byte 데이터의 독출 커맨드가 연속하여 발행된 경우의 메모리 디바이스로의 제어 신호와, 마스터(200)로의 독출 데이터 버스의 동작 타이밍을 나타내고 있다. 또한, 실시 형태 2의 동작을 명확하게 설명하기 위해, 공통인 커맨드 버스를 실시 형태 1과 동일한 형태로 개별인 커맨드 버스로서 도시하고 있다.
최초의 0Byte 어드레스로부터의 16Byte 데이터의 독출 커맨드에 관해서는, 커맨드 생성부(102)에 있어서, 개시 어드레스가 8Byte 경계인 것(8n Byte 어드레스 또한 n=0)으로부터, 양 커맨드 발행부에 대해, 어드레스 "0"으로의 액세스 커맨드를 발행한다. 버스트 길이가 2이므로 이 커맨드에서 16Byte를 전송하기 위해 처리를 종료한다. 상기 커맨드를 수취한 커맨드 발행부(104a)는, 지정된 어드레스로 액세스하기 위해, 도 8에 나타낸 바와 같이, t1에 있어서, Bank0/Row0으로의 액티베이트 커맨드를 발행한다. 그 후, tRCD를 만족하도록 t4에 있어서, 컬럼 0으로의 Read 커맨드를 발행함과 동시에, 데이터 제어부(106)에 대해, 발행한 커맨드가 마스터(200)의 액세스 커맨드의 몇 번째의 데이터에 대한 커맨드인지를 나타내는 커맨드 발행순 정보 0, 1을 출력한다. 메모리 디바이스는, Read 커맨드 발행 후, CL=3 후의 t7로부터 버스트 수 2인 기간에 각각 원하는 리드 데이터를 출력한다. 데이터 제어부(106)에서는, 이 데이터를 받아, t4의 사이클에서 수취한 커맨드 발행순 정보를 기초로, t8의 사이클에서, 메모리 디바이스(0)로부터의 출력 데이터 4Byte를 상위에, 메모리 디바이스(1)로부터의 출력 데이터 4Byte를 하위에 할당한 8Byte 데이터를 마스터(200)로 전송한다. 또한 버스트의 후반의 데이터로 동일한 처리를 t9에 있어서도 행함으로써, 최초의 16Byte 리드 처리를 완료한다.
한편, 후발의 28Byte 어드레스로부터의 16Byte 데이터의 독출 커맨드에 관해서는, 커맨드 생성부(102)에 있어서, 개시 어드레스가 8Byte 경계가 아닌 것(8n+4Byte 어드레스 또한 n=3)으로부터, 커맨드 발행부(104a) 내의 메모리 디바이스(0)를 제어하는 부분에 대해, 어드레스 "4"이고 버스트 길이 2인 액세스 커맨드를, 커맨드 발행부(104a) 내의 메모리 디바이스(1)를 제어하는 부분에 대해, 어드레스 "3"이고 버스트 길이 2인 액세스 커맨드를, 각각 발행하여 후발의 커맨드의 처리를 종료한다. 상기 커맨드를 수취한 커맨드 발행부(104a)는, t1에 있어서, 이미 Bank0/Row0으로의 액티베이트 커맨드가 발행되어 있으므로, 최초의 커맨드 발행이 완료한 다음의 사이클인 t6에 있어서, 커맨드 발행부(104a) 내의 메모리 디바이스(0)를 제어하는 부분에서는 컬럼 4로의 버스트 길이 2로 Read 커맨드를 발행한다. 커맨드 발행부(104a) 내의 메모리 디바이스(1)를 제어하는 부분은 t6에서는 커맨드를 발행하지 않고, t7에 있어서 컬럼 3으로의 버스트 길이 2로 Read 커맨드를 발행한다. t6, t7의 커맨드 발행부(104a)의 커맨드 발행과 동시에, 데이터 제어부(106)에 대해, 발행한 커맨드가 마스터(200)의 액세스 커맨드의 몇 번째의 데이터에 대한 커맨드인지를 나타내는 커맨드 발행순 정보 0, 1을 각각 출력한다. 메모리 디바이스(0)는, 상기 Read 커맨드 발행(t6) 후, CL=3 후의 t9로부터 버스트 길이 2의 리드 데이터를 출력한다. 메모리 디바이스(1)는, 상기 Read 커맨드 발행(t7) 후, CL=3 후의 t10으로부터 버스트 길이 2의 리드 데이터를 출력한다. 데이터 제어부(106)에서는, 이 데이터를 받아, t6의 사이클에서 수취한 커맨드 발행 순 정보를 기초로, t10의 사이클에서, 메모리 디바이스(0)로부터의 출력 데이터 4Byte를 하위에, t11의 사이클에서 출력되는 메모리 디바이스(1)로부터의 데이터 4Byte를 직접 상위에 할당한 8Byte 데이터를 마스터(200)로 전송한다. 버스트 후반의 데이터에 있어서도 동일하게 행함으로써, 후발의 16Byte 리드 처리를 완료한다.
상기 제어를 행함으로써, 마스터(200)로부터의 액세스 요구에 있어서, 액세스 개시 어드레스가, 접속되는 토탈 데이터 버스폭의 경계가 아니고, 요구 전송 사이즈가 토탈 데이터 버스폭을 넘는 액세스인 경우(본 실시예에서는, 데이터 버스폭 8Byte, 액세스 개시 어드레스 24Byte째, 요구 전송 사이즈 16Byte)에, 공통인 커맨드선의 접속이면서, 메모리 디바이스(0)와 메모리 디바이스(1)에 상이한 어드레스를 CS의 타이밍을 어긋나게 하여 독립적으로 액세스할 수 있으므로, 하기에 나타내는 종래 시스템에 비해 시스템 LSI의 Pin수를 증가시키지 않고 액세스 효율을 향상할 수 있다.
상기까지의 본 실시예 2의 효과를 명확하게 하기 위해, 도 33에 나타낸 바와 같은 4Byte 버스의 메모리 디바이스(SDRAM)를 단순히 병렬 접속하여, 논리상, 8Byte 버스의 SDRAM으로서 접속한 종래의 시스템 구성에 있어서, 버스트 길이 2로 동일한 전송을 행한 경우의 타이밍도를 도 9에 나타낸다. 여기에서는, 메모리 디바이스에 대한 최소 액세스 단위가 버스트와 등가인 8Byte 단위가 되므로, 최초의 8Byte 경계로부터의 16Byte 전송은, 도 9의 t7, t8의 2사이클에서 메모리 디바이스로부터 데이터 취득 가능하지만, 후발의 8Byte 경계가 아닌 어드레스로부터의 16Byte 전송은, 1커맨드당 2버스트의 데이터(16Byte)를 전송하기 위해 도 9의 t9∼t13의 4사이클에서 전송되고 있는 것처럼, 24Byte 어드레스로부터 56Byte 어드레스까지의 토탈 32Byte 전송이 필요해지므로, 액세스 효율이 대폭으로 저하한다.
이와 같이, 본 실시예 2에 있어서는, 버스트 길이가 2 이상이고 8Byte인 SDRAM을 접속한 시스템에 있어서, 커맨드 신호(어드레스선, row, col, we 등)를 각 메모리 디바이스에서 공통으로 하고, CS 신호만 개별적으로 각 메모리 디바이스와 접속할 수 있으므로, 시스템 LSI의 외부 단자를 대폭으로 늘리지 않고, 8Byte 버스와 등가인 메모리 대역을 이용할 수 있음과 동시에, 액세스 어드레스 경계를, 사용하는 1개의 메모리 디바이스의 최소 액세스 단위(본 실시예에서는 8Byte 단위)로까지 떨어뜨려, 데이터 전송 제어를 행하는 것이 가능해지므로, 액세스 개시 어드레스의 입도가 작은 시스템에 있어서, 보다 효과적인 메모리 대역의 이용이 가능해진다.
이상 설명해 온 바와 같이, 본 실시 형태에 있어서의 메모리 제어 장치에 있어서, 커맨드 제어부는, 복수의 메모리 디바이스에 공통인 어드레스 버스와, 복수의 메모리 디바이스에 개별인 칩 셀렉트 신호를 통해 복수의 메모리 디바이스에 접속된다. 이 커맨드 제어부는, 분할한 복수의 액세스 커맨드가 동일한 물리 어드레스를 나타내는 경우에, 개별인 칩 셀렉트 신호를 동시에 유효하게 함으로써, 복수의 메모리 디바이스로 동일한 물리 어드레스를 출력하고, 분할한 복수의 액세스 커맨드가 상이한 물리 어드레스를 나타내는 경우에, 개별인 칩 셀렉트 신호를 타이밍을 어긋나게 하여 유효하게 함으로써, 상기 복수의 메모리 디바이스로 상이한 물리 어드레스를 출력한다. 데이터 제어부는, 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를 복수의 메모리 디바이스마다의 데이터로 분할하여, 액세스 커맨드의 타이밍에 따라 각 메모리 디바이스로 출력하고, 메모리 액세스 요구가 독출 요구인 경우에, 상기 액세스 커맨드의 타이밍에 따라 복수의 메모리 디바이스로부터 독출된 데이터를 조합하여 마스터로 출력한다.
또, 커맨드 제어부는, 커맨드 생성부와, 메모리 디바이스마다 설치된 커맨드 발행부를 구비한다. 커맨드 생성부는, 메모리 액세스 요구에 포함되는 논리 어드레스를 메모리 디바이스마다의 물리 어드레스로 변환하여, 메모리 디바이스마다의 액세스 커맨드로 분할한다. 각 커맨드 발행부는, 대응하는 메모리 디바이스에, 커맨드 생성부로부터의 액세스 커맨드를 발행한다. 그 때, 커맨드 생성부는, 분할한 복수의 액세스 커맨드에 대응하는 복수의 메모리 디바이스의 물리 어드레스가 동일한 경우에, 복수의 액세스 커맨드를 복수의 커맨드 발행부에 동일한 타이밍으로 출력하고, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 디바이스의 물리 어드레스가 상이한 경우에, 복수의 액세스 커맨드를 복수의 커맨드 발행부에 상이한 타이밍으로 출력한다.
여기에서, 복수의 메모리 디바이스는, 2개의 제1, 제2 메모리 디바이스인 경우, 커맨드 제어부는, 액세스 요구를 제1 액세스 커맨드와 제2 액세스 커맨드로 변환한다. 제1 및 제2 메모리 디바이스는, 액세스 요구가 제1 메모리 디바이스의 데이터를 선두로 하여, 당해 데이터의 선두가 제1 및 제2 메모리 디바이스의 데이터를 포함하는 데이터 버스의 얼라인먼트에 일치하는 경우에, 상기 제1 액세스 커맨 드에 대응하는 물리 어드레스와 상기 제2 액세스 커맨드에 대응하는 액세스 커맨드의 물리 어드레스가 동일해지도록 데이터를 저장하고, 상기 액세스 요구가 제2 메모리 디바이스의 데이터를 선두로 하여, 당해 데이터의 선두가 제1 및 제2 메모리 디바이스의 데이터를 포함하는 데이터 버스의 얼라인먼트에 일치하지 않는 경우에, 상기 제1 액세스 커맨드에 대응하는 물리 어드레스와 상기 제2 액세스 커맨드에 대응하는 액세스 커맨드의 물리 어드레스가 상이하도록 데이터를 저장한다.
여기에서, 커맨드 제어부는, 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 디바이스의 물리 어드레스가 상이한 경우에, 어드레스 및 칩 셀렉트 신호의 출력 타이밍을 메모리 디바이스마다 지연시킴으로써, 복수 메모리 디바이스의 동일한 어드레스와 상이한 어드레스를 전환한다.
이에 의해, 메모리 대역을 넓히고, 또한, 최소 액세스 단위를 증가시키지 않으며, 무효한 데이터 전송의 증가를 억제할 수 있다.
또한, 도 10은, 본 실시 형태에 있어서의 메모리 제어 장치의 변형예를 도시한 도면이다. 상기 도면의 메모리 제어 장치(101c)에 있어서, 상기 커맨드 제어 수단은, 상기 복수의 메모리 디바이스에 공통인 제1 어드레스 버스와, 상기 복수의 메모리 디바이스에 개별인 제2 어드레스 버스와, 상기 복수의 메모리 디바이스에 개별인 칩 셀렉트 신호를 통해 상기 복수의 메모리 디바이스에 접속되고, 상기 제1 어드레스 버스와 제2 어드레스 버스는, 어드레스 버스를 구성하는 일부의 어드레스 신호선과 타부의 어드레스 신호선이다.
이에 의해, 어드레스 버스는 공통 부분과 독립 부분으로 이루어지므로, 전부 를 독립 배선하는 경우와 비교하여, 어드레스 버스의 배선 면적을 대폭으로 삭감할 수 있다.
또, 도 34A는 본 실시 형태에 있어서의 메모리 장치의 변형예를 도시한 도면이다. 상기 도면은 도 7과 비교하여 메모리 디바이스(0) 및 메모리 디바이스(1) 대신에 메모리 장치(400)를 구비하는 점이 상이하다. 메모리 장치(400)는, 1칩 LSI에 패키지화되어 있다.
도 34B는, 메모리 장치(400)의 보다 구체적인 구성예를 도시한 도면이다. 상기 도면의 메모리(400)는, 메모리 유닛(411, 412)과, 커맨드 인터페이스(412)와, 데이터 인터페이스(422)를 구비한다.
메모리 유닛(411)은, 예를 들면, 메모리 모듈 0∼3으로 구성되고, 로우 어드레스 및 컬럼 어드레스에 의해 어드레싱되는 통상의 DRAM으로서 액세스 제어되는 메모리 단위를 나타내고 있다. 메모리 모듈 0∼3은, 통상의 뱅크 0∼3, 또는, 페이지군 0∼3 등이다. 메모리 유닛(412)도 동일하다.
커맨드 인터페이스(421)는, 외부의 메모리 제어 장치(101a)로부터 액세스 커맨드를 수신하여, 메모리 유닛(411, 412)에 공급한다.
데이터 버스는, 2개의 메모리 유닛(411, 412)과 동수의 부분적인 버스로 비트 분할되어 있다.
데이터 인터페이스(422)는, 외부로부터 공급되는 동기 신호에 따라, 외부와 상기 메모리 유닛(411, 412)의 각각의 사이에서 데이터 버스를 통해 독립적으로 데이터를 입출력한다.
전술한 본 발명의 실시 형태에 있어서는 최소 액세스 단위를 작게 하기 위해, 동일한 물리 어드레스에 의한 제어와 상이한 물리 어드레스에 의한 제어를 전환하면서 복수의 메모리 디바이스에 액세스하고 있다. 이에 대해, 도 34A에서는, 복수의 메모리 디바이스 대신에, 1패키지화된 메모리 장치(400)가 구비되어 있다. 도 34A의 메모리 장치(400)는, 통상의 DRAM(DDR, DDR2 등도 포함한다)과 같이 제어 가능한 메모리 유닛을 기본 단위로 하여, 기본 단위를 복수개(도 34A에서는 2개) 탑재하고, 1개 혹은 복수(도 34A에서는 1개)로 패키지한 것이어도 된다. 또한, 이러한 메모리 장치(400)는 전술한 바와 같이 메모리 유닛을 복수개 탑재하고, 상기 메모리 유닛의 수와 동수의 CS 신호(상기 도면에서는, US 신호) 및 데이터 버스와 1개의 공통화된 커맨드 버스를 입출력으로 갖는 구성으로 해도 된다.
또, 도 35A는 본 실시 형태에 있어서의 메모리 장치의 다른 변형예를 도시한 도면이다. 도 34A와 동일하게 메모리 장치(400a)는 메모리 유닛을 복수개(도 35A에서는 2개)와, 커맨드 인터페이스와, 데이터 인터페이스를 탑재하고, 1개 혹은 복수(도 35A에서는 1개)로 패키지되어 있다. 또한, 입력되는 커맨드가 각각의 메모리 유닛에 대해 유효한지 무효한지를 나타내는 유닛 정보(이하, 유닛 번호라고 부른다)가 입력되면, 대응하는 각각의 메모리 유닛을 선택하는 신호(본 도면에서는 US 0, 1)를 출력하는 커맨드 변환부(401)를 갖고 있다. 요컨대, 커맨드 변환부(401)는, 유닛 정보를 상기 복수의 메모리 유닛 개별인 셀렉트 신호로 변환하여, 변환한 셀렉트 신호를 각 메모리 유닛에 공급한다. 이 구성을 채용하는 경우에는, 도 34A에서 나타낸 메모리 디바이스의 입출력의 신호선 수가 메모리 유닛의 수만큼 필요한 US 신호 대신에, 유닛 번호를 나타내는 신호로 함으로써 더욱 삭감할 수 있다는 효과가 있고, 메모리 제어 장치(101a)와 메모리 장치(400a)를 접속하기 위한 배선 면적은 더욱 삭감되어 회로의 소형화가 가능해진다.
또한, 유닛 번호는 종래의 DRAM 뱅크 어드레스와 같은 신호로 대용해도 된다.
이러한 메모리 장치(400a)는 전술한 바와 같이 메모리 유닛을 복수개와 1개의 커맨드 변환부를 탑재하고, 상기 메모리 유닛의 수와 동수의 데이터 버스와 1개의 공통화된 유닛 번호 지시 버스 및 커맨드 버스를 입출력으로 갖는 구성이 된다.
전술한 방법에 의해, 사용하는 메모리 디바이스의 수를 1개로 삭감할 수 있고, 실제의 세트 기판에 있어서의 배선 수 및 기판의 설계 난이도를 낮게 억제하여, 세트 비용을 대폭으로 저감할 수 있다는 효과가 있다.
도 35B는, 본 실시 형태에 있어서의 메모리 장치의 또 다른 변형예를 도시한 도면이다. 상기 도면은, 도 35A와 비교하여, 1패키지화된 메모리 장치(400a) 대신에 2패키지의 메모리 장치(400b)를 구비한다. 기억 용량에 관한 제1 예에서는, 2개의 메모리 장치(400b)의 기억 용량은, 1개의 메모리 장치(400a)의 기억 용량에 상당하고, 2개의 메모리 유닛(411b)의 용량은, 1개의 메모리 유닛(411)의 용량에 상당한다. 이 경우, 1개 메모리 장치(400a)와, 2개의 메모리 장치(400b)는 동일한 기억 용량을 갖는다. 기억 용량에 관한 제2 예에서는, 각 메모리 장치(400b)의 기억 용량은, 1개의 메모리 장치(400a)의 기억 용량에 상당하고, 각 메모리 유닛(411b)의 용량은, 1개의 메모리 유닛(411)의 용량에 상당한다. 이 경우, 2개의 메모리 장치(400b)의 기억 용량은, 1개의 메모리 장치(400a)의 기억 용량의 2배가 된다. 이와 같이, 메모리 제어 장치(101a)는, 복수 패키지의 복수의 메모리 장치(400b)를 접속해도 된다.
(실시 형태 3)
실시 형태 1 및 2의 메모리 제어 장치에 있어서의 효과를 최대한으로 살리기 위한 논리 어드레스 배치를 이하에 서술한다.
도 11A는, 물리 어드레스를 논리 어드레스 공간에 매핑하는 기본 단위가 되는 단위 영역을 도시한 도면이다. 상기 도면에서는, 도 1B, 도 6B와 같은, m개의 메모리 디바이스(여기에서는, DRAM)를 액세스하는 메모리 제어 장치를 전제로 하고 있다. 도 11A는 DRAM 상에 배치되는 메모리 어드레스 배치에서, N바이트의 최소 액세스 단위를 갖는 DRAM의 물리 어드레스 영역을 논리 어드레스 방향으로 배치한 도면이다.
도 11A에서는 제1 메모리 디바이스 상에 있는 데이터를 (N×정수)바이트 배치하고, 제2 메모리 디바이스 상에 있는 데이터를 (N×정수)바이트 배치한다. 이것을 반복하여, 제m 메모리 디바이스 상에 있는 데이터의 (N×정수)바이트를 인접하여 배치한다. 이와 같이, 상기 인접한 (N×정수)×m바이트의 데이터 영역을 1개의 단위(단위 영역)로 한다. 여기에서, () 내의 정수는 임의이면 된다. 상기 도면에서는, (N×정수)가 (N×1), N이 4인 경우를 도시하고 있다.
도 11B는 상기 단위 영역을 논리 어드레스 방향으로 나열한 도면이다. 각 단위 영역에는, 제1∼제m 메모리 디바이스의 서로 대응하는 m개의 (N×정수)바이트 영역이 순서대로 배치된다.
이러한 배치로 함으로써, 논리 어드레스 방향의 데이터 요구에 대해, N바이트의 어드레스 얼라인먼트로 액세스할 수 있어, 효율이 좋은 액세스가 가능해진다.
도 12에서는, 상기 단위 영역 내의 각각의 메모리 디바이스((N×정수)바이트 영역)가 동일한 뱅크 어드레스, 로우 어드레스, 컬럼 어드레스를 갖도록 배치되어 있다.
이 경우, 복수의 메모리 디바이스의 각각은, N바이트의 최소 액세스 단위를 갖고, 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 가지며, 각 단위 영역은, 제1∼제m 메모리 디바이스의 서로 대응하는 m개의 (N×정수)바이트 영역이 순서대로 배치된다. 또, 각 단위 영역에 있어서 제1∼제m 메모리 디바이스의 물리 어드레스는 공통이면 된다.
커맨드 제어부는, 액세스 요구가 단위 영역을 넘지 않는 데이터 사이즈의 액세스 요구인 경우, 제1∼제m 메모리 디바이스 중, 당해 액세스 요구에 대응하는 메모리 디바이스에 동시에 액세스 커맨드를 발행한다.
이에 의해, 단위 영역 내로의 액세스에서는, 동일한 물리 어드레스가 되고, 특히 실시 형태 2에 있어서는, 동일 사이클로 액세스를 하는 것이 가능해져, 전송 효율이 더욱 개선된다.
도 13A에서는, 인접하는 상기 단위 영역간에서 사용하는 뱅크 어드레스를 각각 상이하도록 배치한다. 도 13B는 도 13A와 같이 인접하는 상기 단위 영역의 뱅크 어드레스를 각각 상이하도록 j개의 뱅크 어드레스를 배치하고, j+1개째부터는 상기 단위 영역과는 상이한 컬럼 어드레스를 할당하여 상기와 동일하게 j개의 상기 단위 영역을 나열한다. 이상을 1회 이상 반복하여 동일 로우 어드레스 구성의 논리 어드레스 공간을 구성한다. 상기와 같이 동일 로우 어드레스로 구성된 유한의 논리 어드레스 공간을 단일 로우 영역으로 하고, 로우 어드레스를 변경한 상기 단일 로우 영역을 반복하여 나열함으로써 논리 어드레스 공간을 구축한다.
이 경우, 제1∼제m 메모리 디바이스의 각각은 i개의 뱅크를 갖는다. 논리 어드레스 공간에는, p개의 제1∼제p 상기 단위 영역이 반복 배치된다. 제1∼제p 단위 영역은, 공통인 로우 어드레스를 갖고, 또 상이한 컬럼 어드레스를 갖는다. 제1∼제p 단위 영역의 각각에 있어서 상기 m개의 (N×정수)바이트 영역은, 뱅크 어드레스가 공통이고, 상기 제1∼제p 단위 영역은, 서로 뱅크 어드레스가 상이하다.
제1∼제p 단위 영역이 반복 배치되는 논리 어드레스 공간에 있어서, 인접하는 상기 단위 영역은 상이한 뱅크 어드레스를 갖는다. 커맨드 제어부는, 뱅크 인터리브에 의해 인접하는 상기 단위 영역에 액세스하도록 상기 액세스 커맨드를 발행한다.
이에 의해, 인접하는 단위 영역으로 연속하여 액세스하는 경우에 있어서, 메모리 디바이스로의 액세스에 있어서 뱅크 인터리브가 가능해진다.
이상과 같이, 논리 어드레스 방향으로 상기 단위 영역을 배치함으로써, 실시 형태 1 및 2에 있어서, 1개의 메모리 디바이스의 액세스 최소 단위인 N바이트의 얼라인에서의 액세스가 가능해지고, 단위 영역 내로의 액세스에서는, 동일한 물리 어드레스이므로, 동일 사이클로 액세스를 할 수 있으며, 또한 인접하는 단위 영역으 로 연속하여 액세스하는 경우에 있어서, 뱅크 인터리브가 가능해져 전송 효율을 개선할 수 있다. 또한, 실시 형태 2의 메모리 제어 장치의 경우에는, 메모리 디바이스(0)와 메모리 디바이스(1)로의 어드레스를 공통화하는 것이 가능해진다.
구체적으로 상기 메모리 디바이스가 2개인 경우를 이용하여 그 효과를 설명한다.
도 14에서는, 실시 형태 1 및 2의 메모리 제어 장치에 있어서의 DRAM의 물리 어드레스 메모리((N×정수)바이트 영역)를 논리 어드레스 방향으로 배치한 도면이다.
여기에서는 제1 메모리 디바이스 상에 있는 데이터를 (N×정수)바이트 배치하고, 제2 메모리 디바이스 상에 있는 데이터를 (N×정수)바이트 배치한 데이터열을 인접하여 배치한다. 이와 같이, 상기 인접한 (N+N)×정수 바이트의 데이터 영역을 1개의 단위(단위 영역)로 한다.
도 15에서는, DRAM 상에 프레임 버퍼 영역을 설치한 경우에, 상기 단위 영역을, 수평방향으로 A1개 및 수직방향으로 A2개 인접하여 배치한다.
이 경우, 복수의 메모리 디바이스의 각각은, N바이트의 최소 액세스 단위를 갖고, 상기 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 갖는다.
각 단위 영역에는, 상기 복수의 메모리 디바이스의 서로 대응하는 복수의 (N×정수)바이트 영역이 순서대로 배치된다. 상기 화상의 수평 어드레스에 대응하여 A개(상기 도면에서는 A1개)의 단위 영역이 인접하여 배치되고, 수직 어드레스에 대 응하여 B개(상기 도면에서는 A2개)의 단위 영역이 배치된다.
도 16에서는, 단위 영역 내에 있어서의 상이한 메모리 디바이스에서, 동일한 뱅크 어드레스, 로우 어드레스, 컬럼 어드레스를 갖는다.
도 17에서는, 단위 영역 내에 있어서 상이한 메모리 디바이스 (N×정수)바이트 영역이 동일한 뱅크 어드레스 B, 로우 어드레스 R, 컬럼 어드레스 C를 갖도록 배치하고 있다. 즉, 각 단위 영역 내에 있어서의 복수의 (N×정수)바이트 영역은, 뱅크 어드레스, 로우 어드레스 및 컬럼 어드레스가 공통이다.
도 17에서는, 프레임 버퍼에 있어서의 수평방향에 인접하는 단위 영역간에서 사용하는 뱅크를 각각 상이한 뱅크 어드레스 B1, B2가 되도록 배치한다. 즉, 상기 프레임 버퍼의 수평방향 또는 수직방향에 인접하는 상기 단위 영역은 상이한 뱅크 어드레스를 갖는다. 커맨드 제어부는, 뱅크 인터리브에 의해 인접하는 상기 단위 영역에 액세스하도록 상기 액세스 커맨드를 발행한다.
이상과 같이, 프레임 버퍼에 있어서의 수평방향 및 수직방향으로 상기 단위 영역을 배치함으로써, 실시 형태 1 및 2에 있어서, 1개의 메모리 디바이스의 액세스 최소 단위인 N바이트의 얼라인에서의 액세스가 가능해지고, 단위 영역 내로의 액세스에서는, 동일한 물리 어드레스이므로, 동일 사이클로 액세스를 할 수 있으며, 또한 인접하는 단위 영역으로 연속하여 액세스하는 경우에 있어서, 뱅크 인터리브가 가능해져 전송 효율을 개선할 수 있다. 또한, 실시 형태 2의 메모리 제어 장치의 경우에는, 메모리 디바이스(0)와 메모리 디바이스(1)로의 어드레스를 공통화하는 것이 가능해진다.
예를 들면, 제1 메모리 디바이스로의 액세스와, 제2 메모리 디바이스로의 액세스를 행할 때, 동일 단위 영역의 데이터가 필요한 경우에는, 동일한 뱅크 어드레스, 로우 어드레스, 컬럼 어드레스에 의해 액세스할 수 있다. 또, 상이한 단위 영역의 데이터로 액세스하는 경우여도, 뱅크 어드레스 B1과 뱅크 어드레스 B2가 상이한 경우에는 뱅크 어드레스만 다른 어드레스로 하고, 로우 어드레스 및 컬럼 어드레스는 동일한 어드레스로 하여 액세스하는 것도 가능하다. 이 경우, 실시 형태 1의 메모리 제어 장치에서는, 단일 사이클로의 액세스가 가능하고, 실시 형태 2의 메모리 제어 장치에서는, 메모리 디바이스간에서 커맨드를 지연시켜 액세스함으로써, 전송 효율을 개선할 수 있다.
상기에 설명한 논리 어드레스 배치를 실시 형태 1 및 실시 형태 2의 메모리 제어 장치에 채용함으로써, 실효 전송 효율을 개선함과 더불어, 메모리 디바이스 특유(특히 DRAM)에 발생하는 액세스 오버헤드를 개선할 수도 있고, 메모리 시스템에서 사용하는 토탈 밴드폭을 삭감할 수 있다.
(실시 형태 4)
본 실시 형태에서는, 실시 형태 1 및 실시 형태 2에 있어서 설명한 메모리 제어 장치(101 및 101a)가, 2개의 메모리 디바이스(0) 및 메모리 디바이스(1)를 프레임 버퍼로서 사용하는 경우에, 화상 중의 직사각형 데이터를 액세스하는 방법에 대해 설명한다.
본 실시 형태에 있어서의 메모리 제어 장치(101 및 101a)에 있는 변환부(103)는, 논리 어드레스로서 화상의 화소 위치를 나타내는 2차원 어드레스(X, Y) 를, 메모리 디바이스(0) 및 메모리 디바이스(1)의 물리 어드레스로 변환하는 것으로 해도 된다. 또 변환부(103)로 요구하는 데이터는, 2차원의 직사각형 데이터 사이즈(V바이트, W바이트)를 갖는 직사각형 액세스로 해도 된다.
이하에서는, 2×N바이트의 액세스를 예로서 설명한다.
도 18은, 본 실시 형태에 있어서의 메모리 제어 방법의 흐름도이다. 도 1A, 도 1B, 도 6 및 도 7에 나타낸 메모리 제어 장치(101 및 101a)에 있어서, 제1 단계 01에서는, 메모리 제어 장치(101 및 101a)에 대해 메모리 상에 배치된 프레임 버퍼로 직사각형 액세스 요구를 행하고, 제2 단계 02에서는, 상기 요구된 직사각형 액세스가 동일 단위 영역 내의 액세스인지를 식별하며, 제3 단계 03에서는, 상기 직사각형 액세스가 동일 단위 영역 내의 액세스인 경우에는 커맨드 발행부(104, 105 및 107, 104a)로부터 메모리 디바이스(0)용 CS와 메모리 디바이스(1)용 CS와 액세스하는 어드레스를 동시에 출력한다. 그에 반해 상이한 단위 영역으로 걸쳐지는 액세스의 경우에는, 제4 단계 04가 되어, 커맨드 발행부(104 및 107, 104a)로부터 메모리 디바이스(0)용 CS와 메모리 디바이스(0)에 대응한 어드레스를 출력하고, 제5 단계 05에서는, 커맨드 발행부(105 및 107, 104a)로부터 메모리 디바이스(1)용 CS와 메모리 디바이스(1)에 대응한 어드레스를 출력한다. 제6 단계 06에서는, 메모리에 대한 기록인지 독출인지를 식별하고, 제7 단계 07에서는, 메모리로의 기록인 경우에는 메모리 디바이스(0) 및 메모리 디바이스(1)에 대해 데이터 전송을 행하며, 제8 단계 08에서는, 메모리로부터의 독출인 경우에는 메모리 디바이스(0) 및 메모리 디바이스(1)로부터 데이터를 취득한다.
도 19는, 메모리 상에 프레임 버퍼를 배치한 경우에 있어서의, 메모리 뱅크의 논리 어드레스 배치의 일례를 나타내고 있다. 일반적으로는, 프레임 버퍼는 복수의 직사각형 영역(블록)의 집합체로서 구성된다. 각 블록은 동일 뱅크 어드레스의 동일 로우 어드레스로 구성한다. 좌우 및 상하로 서로 이웃하는 블록은, 상이한 뱅크 어드레스로 구성된 블록으로 배치를 행한다. 이에 의해, 가로방향 및 세로방향에 대해 연속하여 액세스하는 경우에, 뱅크 인터리브 제어를 행하여 액세스 오버헤드의 은폐가 가능해진다.
도 20은, 도 19에서 나타낸 상기 블록 내에 있어서의 메모리의 컬럼 어드레스의 배치의 일례를 나타내고 있고, 상기 단위 영역을 수평방향으로 1개, 수직방향으로 12개 나열한 블록을 나타내고 있다.
도 21은, 도 20의 구성에 더하여 동일한 메모리 디바이스의 (N×정수)바이트 영역이 세로로 나열되도록 배치하고 있는 블록을 나타내고 있다. 이 배치는 다음의 구성에 의해 실현된다. 즉, 복수의 메모리 디바이스는 화상을 기억하는 프레임 버퍼로서 이용되고, 복수의 메모리 디바이스의 각각은, N바이트의 최소 액세스 단위를 갖는다. 복수의 메모리 디바이스의 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 갖는다. 각 단위 영역에는, 복수의 메모리 디바이스의 서로 대응하는 복수의 (N×정수)바이트 영역이 순서대로 배치된다.
또, 상기 프레임 버퍼는 복수의 직사각형 영역으로 구성된다. 직사각형 영역은, 수평 어드레스에 대응하여 E개(상기 도면에서는 2개)의 단위 영역이 인접하 여 배치되고, 수직 어드레스에 대응하여 F개(상기 도면에서는 12개)의 단위 영역이 배치된다.
여기에서, 각 직사각형 영역 내의 복수의 단위 영역은, 공통인 뱅크 어드레스 및 공통인 로우 어드레스를 갖고, 좌우로 인접하는 2개의 상기 직사각형 영역은, 상이한 뱅크 어드레스를 갖고 있다.
또, 상하로 인접하는 2개의 직사각형 영역은, 임의의 뱅크 어드레스 및 상이한 로우 어드레스를 갖고 있으면 된다. 각 단위 영역에는, 복수의 메모리 디바이스의 서로 대응하는 복수의 (N×정수)바이트 영역이, 복수의 메모리 디바이스의 배열에 대응하는 순서대로 배치된다.
이 구성에 의해, 도 21에 나타낸 바와 같이, 동일 메모리 디바이스의 (N×정수)바이트 영역이 세로방향으로 나열되도록 배치된다.
도 22는, 도 21에서 구성된 프레임 버퍼로의 직사각형 액세스 요구에 대응하는 직사각형 데이터예를 나타낸다.
도 23은, 실시 형태 2의 메모리 제어 장치의 경우에 있어서의, 도 22의 직사각형 액세스 요구에 의한 동작을 도시한 타이밍 차트도이다.
도 22의 직사각형 데이터에서는, 메모리 디바이스(0)로의 물리 어드레스와, 메모리 디바이스(1)로의 물리 어드레스가 상이하므로(뱅크 어드레스가 상이하다), 도 23과 같이 개별인 칩 셀렉트 신호 타이밍을 어긋나게 하고 있다. 메모리 디바이스로 상이한 물리 어드레스를 출력한다. 메모리 디바이스(0)와 메모리 디바이스(1)는 1사이클 어긋나 액세스되게 된다.
도 24는, 도 21에서 구성된 프레임 버퍼로의 다른 직사각형 액세스 요구에 대응하는 직사각형 데이터예를 나타낸다.
도 25는, 실시 형태 2의 메모리 제어 장치의 경우에 있어서의, 도 24의 직사각형 액세스 요구에 의한 동작을 도시한 타이밍 차트도이다.
도 24에서는, 커맨드 제어부는 직사각형 액세스 요구를 단위 영역과 메모리 디바이스 경계를 이용해 판별하여, 전송 방법을 결정하고 있다. 이 경우, 우선 블록 8∼블록 11, 블록 4∼블록 7을 전송하고, 다음에, 직사각형 데이터가 뱅크 경계로부터 밀려나온 부분(블록 0∼블록 3, 블록 12∼블록 15)을 전송한다. 이에 의해, 단위 영역마다 전송하고 있었던 종래에 비해 효율적으로 전송할 수 있다.
또한, 도 21에서는, 상기 블록 내는 동일한 뱅크 어드레스 내의 연속되는 컬럼 어드레스를 세로방향으로 나열하는 배치를 나타내었지만, 동일한 뱅크 어드레스 내의 컬럼 어드레스의 연속성은 불문한다. 또한, 블록 내에 있어서 세로방향으로 연속되는 컬럼 어드레스를 배치, 또는 프레임 영역 내의 수평방향에 있는 동일 뱅크의 블록에 연속된 컬럼 어드레스를 배치함으로써, 액세스 어드레스의 계산이 용이해지는 메리트가 발생한다.
다음에, 다른 논리 어드레스 배치로서 메모리 디바이스(0)와 메모리 디바이스(1)의 (N×정수)바이트 영역을 바둑판무늬로 배치하는 예에 대해 설명한다. 이 경우, 다음과 같이 구성하면 된다. 즉, 1행 이상 연속되는 G행으로 이루어지는 제1 작은 직사각형 영역에 있어서의 각 단위 영역은, 상기 복수의 (N×정수)바이트 영역이, 상기 복수의 메모리 디바이스의 배열에 대응하는 순서대로 배치된다. 또, 인접하는 1행 이상 연속되는 H행으로 이루어지는 제2 작은 직사각형 영역에 있어서의 각 단위 영역에는, 복수의 (N×정수)바이트 영역이, 제1 작은 직사각형 영역과 상이한 순서로 배치된다.
이 제1 작은 직사각형 영역과 제2 작은 직사각형 영역의 관계가 직사각형 영역 내에 있어서 반복되도록 하면 된다.
본 발명에 있어서는, 2개의 메모리에 상이한 칩 셀렉트 신호(CS)를 접속함으로써 독립적으로 어드레스 제어를 행할 수 있으므로, 도 26과 같이, 단위 영역으로의 액세스에서는 메모리 디바이스(0)와 메모리 디바이스(1)로 나누어 개별적으로 취득할 수 있도록 배치할 수 있다. 1행마다 메모리 디바이스(0)와 메모리 디바이스(1)의 배치 위치를 교대로 분배함으로써, 단위 영역을 세로방향에 걸쳐지는 액세스를 한 경우에도, 메모리 디바이스(0)와 메모리 디바이스(1)를 개별적으로 취득할 수 있도록 배치할 수 있다.
도 27은, 도 21의 예에 있어서의 논리 어드레스 배치에 있어서, 가로방향은 2개의 뱅크에 걸쳐지고, 또한 세로방향으로 4행분의 직사각형 데이터를 취득하는 경우에, 필요한 데이터 부분과 메모리에 대해 실제로 전송되는 데이터를 나타낸 것이다. 그 경우에, 실제로 전송되는 데이터는 필요한 데이터에 더하여 쓸모없는 전송이 발생하여, 결과적으로 전송 효율이 나빠진다. 그래서 본 발명에 있어서는, 도 28과 같이, 필요한 데이터에 대해 실제로 전송되는 데이터를 적게 할 수 있다.
도 29는, 도 21의 예에 있어서의 논리 어드레스 배치에 있어서, 도 27의 직사각형 데이터를 취득하는 경우의 타이밍 차트이다.
도 30은, 도 26의 예에 있어서의 논리 어드레스 배치에 있어서, 도 28의 직사각형 데이터를 취득하는 경우의 타이밍 차트이다.
도 28에서는, 커맨드 제어부는 직사각형 액세스 요구를 단위 영역과 메모리 디바이스 경계를 이용해 판별하여, 전송 방법을 결정하고 있다. 이 경우, 우선 블록 0∼블록 3, 블록 8∼블록 11을 전송하고, 다음에, 직사각형 데이터가 뱅크 경계로부터 밀려나온 부분(블록 4∼블록 7)을 전송한다. 이에 의해, 단위 영역마다 전송하고 있었던 종래에 비해 효율적으로 전송할 수 있다.
또한, 상기 프레임 버퍼에 대해 액세스를 행하는 경우에는, 상기 프레임 버퍼의 수평방향으로 상기 메모리 디바이스 단위의 액세스 얼라인먼트로 액세스하고, 상기 프레임 버퍼의 수직방향으로 라인 단위의 액세스 얼라인먼트로 액세스할 수 있다.
또한, 본 발명에 있어서는, 프레임 버퍼 상의 메모리 디바이스의 배치가 메모리 디바이스(0)와 메모리 디바이스(1)로 교대로 되어 있으므로, 데이터 제어부에 있어서 배치를 교체하는 것도 가능하다. 또한, CS를 사용하여 독립적으로 액세스한 경우에는, 데이터의 전송 타이밍 메모리 디바이스(0)와 메모리 디바이스(1)에서 상이하므로, 데이터 제어부에 있어서 메모리 디바이스(0)와 메모리 디바이스(1)의 타이밍의 어긋남을 조정하여, 마스터가 요구한 데이터 배열, 예를 들면 동시 타이밍의 데이터 배열로 정렬하거나, 시리얼라이즈한 데이터로 정렬하는 것도 가능하다. 그에 의해, 메모리 디바이스에 대해 직사각형 액세스를 요구해 오는 측에 대해, 종래와 동일한 데이터 액세스를 실현하는 것도 가능하다.
또한, 여기에서는 2개의 메모리를 사용한 경우에 대해 기술하고 있지만, 2개 이상의 메모리를 사용한 경우여도 동일한 제어를 행해도 된다. 또, 공통인 어드레스 버스를 사용하고 있지만, 전체 비트를 공통으로 할 필요는 없고 일부의 어드레스 버스여도 되며, 어드레스 신호뿐만 아니라 다른 제어 신호도 공통으로 사용해도 된다.
또한, 상이한 뱅크 어드레스에서, 동일 로우 어드레스를 갖는 복수의 상기 블록을 조합한 단일 로우 직사각형 영역을 구성하여 배치하고, 단일 로우 직사각형 영역 내에서 동일 뱅크 어드레스를 갖는 복수의 상기 직사각형 영역에 걸쳐지는 액세스에 있어서, 동일 뱅크 어드레스로 동일 로우 어드레스를 연속하여 액세스해도 되며, 버스트적으로 액세스해도 된다. 이러한 액세스를 함으로써, 전송 효율을 향상시키는 것도 가능하다.
또한, 이 구성에 의하면, 상기 프레임 버퍼에 대해 액세스를 행하는 경우에는, 상기 프레임 버퍼의 수평방향으로 상기 메모리 디바이스 단위의 액세스 얼라인먼트로 액세스하고, 상기 프레임 버퍼의 수직방향으로 라인 단위의 액세스 얼라인먼트로 액세스할 수 있다.
또한, 도 19에 있어서 메모리 뱅크의 배치를 2개의 뱅크로 구성하고 있지만, 2개 이상의 뱅크를 사용한 경우여도 동일하다. 또, 도 26에 있어서 컬럼 어드레스를 위에서부터 아래로 연속 어드레스로 하고 있지만, 연속 어드레스일 필요는 없고, 아래에서부터 위로의 연속이어도 되며, 일정한 주기적인 어드레스여도 되고, 임의의 어드레스 순서여도 된다. 또, 뱅크 내에 있어서의 각 메모리의 데이터 배 치도 1행마다 교체하고 있지만, 2행마다 교체해도 되고, 2행 이상이어도 된다. 또 가로방향으로 동일한 컬럼 어드레스를 배치하고 있지만, 세로방향으로 동일한 컬럼 어드레스를 배치해도 된다. 또, 도 28에 있어서의 필요한 데이터는 일례이고, 요구에 따라 임의의 위치로부터 임의의 크기에 대해 액세스가 가능하다. 따라서 동일 뱅크 내의 직사각형 데이터이거나, 2개 이상의 뱅크에 걸쳐지는 직사각형 데이터여도 된다.
또, 도 30에 있어서 액세스 순서를 기술하고 있지만, 이것에 한정된 것은 아니고, 임의의 순서여도 된다. 예를 들면, 뱅크 1로부터 액세스를 해도 되고, 직사각형 데이터의 아래쪽에서부터 취득을 행해도 된다.
또한, 도 21에서는, 동일한 메모리 디바이스의 (N×정수)바이트 영역이 세로방향으로 나열되도록 배치하는 예를 나타내었지만, 가로방향으로 나열되도록 배치해도 된다. 이 경우, 다음과 같이 구성하면 된다. 즉, 각 직사각형 영역 내의 복수의 단위 영역은, 임의의 단일한 상기 메모리 디바이스로 구성되고, 공통인 뱅크 어드레스를 갖는다. 여기에서, 좌우로 인접하는 2개의 직사각형 영역은, 상이한 컬럼 어드레스를 갖는다. 상하로 인접하는 2개의 상기 직사각형 영역은, 상이한 메모리 디바이스의 단위 영역으로 구성되고, 임의의 뱅크 어드레스 및 컬럼 어드레스가 상이하다.
각 단위 영역에는, 복수의 메모리 디바이스의 서로 대응하는 복수의 (N×정수)바이트 영역이, 복수의 메모리 디바이스의 배열에 대응하는 순서대로 배치된다.
이상과 같이, 본 실시 형태 4에서는, 복수의 메모리를 공통 버스로 제어하는 경우에, 칩 셀렉트 신호(CS)를 독립적으로 제어하고, 또한 프레임 버퍼 상에 있어서의 데이터의 배치를 각 메모리에 할당하여, 가로방향의 데이터를 동일 어드레스의 상이한 메모리에 배치하고, 세로방향도 상이한 메모리에 배치함으로써, 작은 직사각형 데이터로의 액세스에 있어서 실제로 전송되는 데이터량을 삭감할 수 있어, 전송 효율의 향상을 실현할 수 있다.
(실시 형태 5)
도 36은, 본 실시 형태에 있어서의 메모리 제어 장치 및 메모리 장치의 구성을 도시한 블록도이다. 도 36의 메모리 제어 장치는, 도 1의 메모리 제어 장치와 비교하여, 커맨드 발행부가 2개로부터 m개로 확장되어 있는 점과, 커맨드 변환부(108)가 추가되어 있는 점이 상이하다. 도 36의 메모리 장치(400c)는, 도 34A의 메모리 장치(400)와 비교하여, 메모리 유닛이 2개로부터 m개로 확장되어 있는 점과, 커맨드 변환부(441)가 추가되어 있는 점이 상이하다.
커맨드 변환부(108)는, 다중화 수단으로서 기능한다. 즉, 커맨드 변환부(108)는, 메모리 장치(400c)에 공급되는 동기 신호의 1사이클 기간 내에, m개의 커맨드 발행부로부터 발행되는 커맨드 1로부터 커맨드 m까지의 m개의 액세스 커맨드를 시분할 다중화하여, 시분할 다중된 액세스 커맨드를 메모리 장치(400c)에 출력한다. 여기에서, 다중화의 대상이 되는 액세스 커맨드(커맨드 1로부터 커맨드 m)는, 구체적으로는, 로우 어드레스를 포함하는 m개의 활성화 커맨드, 및 컬럼 어드레스를 포함하는 m개의 독출 또는 기록 커맨드이다.
커맨드 변환부(441)는, 역다중화 수단으로서 기능한다. 즉, 메모리 제어 장 치로부터 커맨드 인터페이스를 통해 수신한, 시분할 다중된 액세스 커맨드를 m개의 액세스 커맨드에 역다중화하여(요컨대 분리하여), 액세스 커맨드 1 내지 m을 대응하는 메모리 유닛 1 내지 m에 출력한다.
여기에서는, 마스터(200)가, 메모리 제어 장치(101)를 통해 V Byte폭의 데이터 버스를 갖는 메모리 디바이스에 접속되어 있는 시스템 형태를 나타내고 있다. 상기 도면에서는, 마스터(200)는 1개밖에 도시하고 있지 않지만, 복수의 마스터가 접속되어 있어도 물론 된다. 여기에서 상기 V Byte폭의 데이터 버스를 갖는 메모리 장치(400c)는 메모리 유닛이라고 불리는 모듈을 m개 갖고, 또한 그 각각의 메모리 유닛에 대해 인터페이스 사양에 따른 커맨드를 동시에 출력할 수 있는 기능을 가진 커맨드 변환부(441)를 포함한다. 커맨드 변환부(441)는 메모리 장치(400c)에 부여되는 외부 클럭의 규정 사이클 내에 m개의 커맨드를 수취하고, 상기 m개의 메모리 유닛에 대해 동시에 커맨드 발행할 수 있는 커맨드 변환 기능도 갖고 있다. 이에 의하면, 패키지화된 메모리 장치로의 액세스 커맨드 공급을 고속화하는 것이 가능해져, 그 결과, 패키지의 핀 수 및 패키지로의 배선수를 저감할 수 있다. 상기 m개의 유닛 메모리의 데이터 버스는 상기 V Byte폭의 데이터 버스를 m분할한 각각과 접속되어 있다. 또한, 메모리 유닛은 통상의 DRAM의 뱅크가 1개 이상 복수로 집합된 것이어도 되고, 메모리의 종별은 불문하며, 넓게 기억 소자로 한다.
본 실시 형태에 있어서의 메모리 제어 장치는, 마스터로부터 발행된 상기 메모리 액세스 요구를, 후술하는 메모리 유닛마다의 액세스 커맨드로 분할하여, 상기 복수의 메모리 유닛에 액세스 커맨드를 발행하는 커맨드 제어 수단(커맨드 생성부 및 제1∼제m 커맨드 발행부)과, 상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 디바이스마다의 데이터로 분할하여 각 메모리 디바이스로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 상기 복수의 메모리 디바이스로부터의 독출 데이터를 조합하여, 상기 마스터로 출력하는 데이터 제어 수단을 갖고 있다. 여기에서, 커맨드 제어 수단은, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 동일한 경우와 상이한 경우에서, 복수의 메모리 유닛으로 동일한 물리 어드레스를 출력하는 제어와, 상이한 물리 어드레스를 출력하는 제어를 전환한다.
이에 의해, 메모리 대역을 넓히고, 또한, 최소 액세스 단위를 증가시키지 않으며, 무효한 데이터 전송의 증가를 억제한다는 효과가 있다. 즉, 메모리 대역은 (1개의 메모리 유닛의 버스폭)×(메모리 유닛의 개수)로 확대되고, 또한, 마스터로부터 액세스 가능한 최소 액세스 단위는 1개의 메모리 유닛의 최소 액세스 단위로 할 수 있다. 여기에서, 최소 액세스 단위란, 1개의 메모리 유닛의 버스폭×최소 버스트 길이로 구해지는 값을 가리킨다. 도 36에서는, 1개의 메모리 디바이스의 버스폭이 VByte, 최소 버스트 길이가 1인 것으로 한다.
또 도 36에 있어서 메모리 제어 장치(101)는, 커맨드 생성부(102)와, 데이터 제어부(106)와 커맨드 변환부(108), 및 메모리 장치(400c)에 커맨드 변환부(441)를 통해 접속되어 있는 m개의 커맨드 발행부로 구성되어 있다. 여기에서 m개의 커맨드 발행부와 커맨드 변환부(108)는 일체여도 된다. 커맨드 생성부(102)는, 마스터(200)로부터의 메모리 액세스 커맨드(메모리 액세스 요구)에 포함되는 논리 어드 레스를 메모리 유닛(1)으로부터 m마다의 물리 어드레스로 변환하는 변환부(103)를 구비한다. 커맨드 생성부(102), m개의 커맨드 발행부 및 커맨드 변환부(108)는, 상기의 커맨드 제어 수단으로서 기능한다.
마스터(200)로부터의 메모리 액세스 커맨드는, 커맨드 버스를 통해 커맨드 생성부(102)에 입력된다. 여기에서, 메모리 액세스 커맨드란, 데이터 전송의 방향, 전송 사이즈, 메모리의 액세스 개시 어드레스(논리 어드레스)를 나타내는 데이터를 포함한다.
마스터(200)로부터 메모리 액세스 커맨드를 수취한 커맨드 생성부(102)는, 우선, 수취한 커맨드를, 변환부(103)에 있어서 논리 어드레스로부터 메모리 유닛 0으로부터 m마다의 물리 어드레스로 변환한다. 또한, 커맨드 생성부(102)는, 접속되어 있는 메모리 유닛의 최소 액세스 단위의 커맨드로 분할한다. 그 후, 각각의 메모리 유닛에 대응한 유닛별 액세스 커맨드를 생성하고, 각각의 커맨드 발행부에, 상기 유닛별 액세스 커맨드를 발행한다.
각 커맨드 발행부와 각 메모리 유닛은, 각각 1대 1로, 메모리를 제어하는 칩 셀렉트 신호(CS)와, 커맨드 신호가 대응지어지지만, 그 때, 메모리 제어 장치 내의 커맨드 변환부(108)에서 시간 다중되어, 규정 사이클 내(여기에서는 1외부 클럭 사이클)에, 메모리 장치(400c)의 타이밍 사양에 따라, 발행 가능한 커맨드를 메모리 디바이스로 출력한다. 이 상기 다중화된 커맨드를 메모리 장치(400c) 내의 커맨드 변환부(441)에서 역다중화하여, 각각 대응하는 커맨드를 각 메모리 유닛으로 출력한다. 또, 커맨드 발행부는, 상기 타이밍 사양에 의거하여 메모리 디바이스에 발 행한 커맨드의 발행순을 나타내는 커맨드 발행순 정보를 데이터 제어부(106)에 통지한다.
한편, 마스터(200)와 메모리 장치(400c)간의 데이터 전송은, 마스터(200)와 데이터 제어부(106)간의 VByte의 데이터 버스를 통해 전송된다. 여기에서, 데이터 버스는, 쌍방향 버스로 해도 되고, 기록 데이터 전용과 독출 데이터 전용의 2계통의 버스로 해도 된다.
데이터 제어부(106)와 각 메모리 디바이스는 VByte의 데이터 버스가 접속되어 있다. 데이터 제어부(106)에서는, 마스터(200)로부터의 메모리 디바이스로의 데이터 기록 처리 시에는, 마스터(200)로부터의 VByte 데이터를, 상기 커맨드 발행부로부터 수취한 상기 커맨드 발행순 정보에 의거해, 각 메모리 유닛에 접속되는 V/mByte의 데이터 버스로 분할하여, 전송을 행한다. 또, 메모리 디바이스로부터의 데이터 독출 처리 시에는, 각 메모리 유닛으로부터의 V/mByte 출력 데이터를, 상기 커맨드 발행부로부터 수취한 상기 커맨드 발행순 정보에 의거하여, VByte의 데이터로 올린 후, 마스터(200)에 접속되는 VByte 데이터 버스에 전송을 행한다. 이 제어에 의해, 메모리 디바이스에 발행한 커맨드와, 전송되는 데이터의 정합성을 취하는 제어를 행한다.
여기에서 마스터(200)와 데이터 제어부를 연결하는 데이터 버스의 폭은 VByte에 한정되지 않고 시스템 성립의 요건에 따라 정해지는 폭이면 된다.
지금까지 서술한 본 발명의 메모리 제어 장치(101)에 접속되는 마스터(200) 및 커맨드 생성부(102)는 실시 형태 1과 동일한 기능을 갖고 있다. 또 커맨드 생 성부(102)는, 전술한 마스터(200)로부터 수취한 커맨드를 분할, 변환했을 때에, 메모리 유닛이 상이하고, 또한 어드레스도 상이한 경우일 때, 메모리 유닛마다의 커맨드 발행부로 발행하고, 메모리 유닛마다 동시에 상이한 어드레스를 발행하여 액세스할 수 있다. 또한, 메모리 유닛이 상이하지만, 어드레스가 동일한 경우일 때, 메모리 유닛마다의 커맨드 발행부로 발행하고, 메모리 유닛마다 동시에 동일한 어드레스를 발행하여 액세스할 수도 있다.
다음에, 커맨드 생성부(102)에 있어서의 동작을 설명한다. 도 3은, 커맨드 생성부(102)에 있어서의, 흐름도를 도시한 도면이다. 도 3에 나타낸 바와 같이, 커맨드 생성부(102)에서는, 마스터(200)로부터 접수한 커맨드의 개시 어드레스가, 8Byte 경계인지, 그렇지 않은지에 따라 처리가 상이하다. 개시 어드레스가 8Byte 경계인 경우(개시 어드레스가 8n Byte(n은 정수)인 경우)는, 커맨드 발행부 0, 1 각각에, 어드레스 n으로의 액세스 커맨드를 발행한다. 그 후, n을 1씩 인크리먼트해 가서, 마스터(200)로부터의 요구 전송 사이즈를 만족할 때까지 상기 처리를 반복한다.
한편, 개시 어드레스가 8Byte 경계가 아닌 경우(개시 어드레스가 8n+4Byte(n은 정수)인 경우)는, 커맨드 발행부 0에 어드레스 n+1로의 액세스 커맨드를, 커맨드 발행부 1에 어드레스 n으로의 액세스 커맨드를 각각 발행한다. 그 후, n을 1씩 인크리먼트해 가서, 마스터(200)로부터의 요구 전송 사이즈를 만족할 때까지 상기 처리를 반복한다.
여기에서 4Byte 경계 단위로 메모리 디바이스를 메모리 유닛(1)과 메모리 유 닛(2)으로 특정하는 경우에 있어서, 본 발명의 메모리 제어 장치(101)를 통해 메모리 디바이스로 논리 어드레스 및 화상 이미지 어드레스의 양쪽에서 액세스할 수 있는 마스터(200)가 발행하는 커맨드는, 도 2가 나타낸 어드레스 맵에 따라, 커맨드 생성부(102)에서 분할, 변환되고, 1) 메모리 디바이스(0)로부터 메모리 디바이스(1)로 걸쳐지는 경우는 메모리 디바이스간에서 동일한 어드레스이고, 2) 메모리 유닛(1)으로부터 메모리 유닛(2)으로 걸쳐지는 경우는 메모리 유닛간에서 상이한 어드레스가 된다. 본 실시 형태 1의 발명에서는, 이와 같이 메모리 유닛에 데이터를 저장하고, 독출 가능한 배치로 함으로써 2)의 경우는 동시에 상이한 어드레스를 상이한 메모리 유닛(1 및 2)에 발행할 수 있고, 또한 1)의 경우에는 동시에 동일한 어드레스를 상이한 메모리 유닛(1 및 2)에 발행할 수 있다.
도 37은, 본 실시 형태 5에 있어서의 메모리 제어 장치(101)와 메모리 장치(400c)의 동작 타이밍의 일례를 도시한 타이밍 차트이다. 여기에서는, tRCD=3사이클, CL=3사이클의 SDRAM과 동등한 동작을 하는 메모리 유닛 m개를 사용하여, 마스터(200)로부터, V×4Byte 데이터의 독출 커맨드가 발행된 경우의 메모리 디바이스로의 제어 신호와, 마스터(200)로의 독출 데이터 버스의 동작 타이밍을 나타내고 있다.
커맨드 생성부(102)에 있어서 생성된 액세스 커맨드는 m개의 커맨드 발행부의 각각에 있어서 각 메모리 유닛의 커맨드로 분해된 후, 메모리 제어 장치(101) 내의 커맨드 변환부(108)에서 시간 다중되어 1클럭 사이클 중에 m개의 커맨드로서 메모리 장치(400c)에 발행된다. 다중화된 m개의 커맨드는 메모리 장치(400c) 내의 커맨드 변환부(441)에서 각각 해당하는 메모리 유닛으로의 커맨드와 CS 신호로 분해되어 각 메모리 유닛으로 발행된다. 이상과 같은 커맨드 전송을 메모리 제어 장치(101)와 메모리 장치(400c)의 인터페이스로 도시한 도면이 도 37이다. 최초로 메모리 유닛 1로부터 m의 각각 독립된 액티베이트 커맨드를 시간 다중하여, 메모리 장치(400c)에 대해 1사이클의 사이에 발행한다. 그 후, tRCD를 만족하도록 3클럭 사이클에 있어서, 유닛 메모리 1로부터 m의 각각 독립된 Read 커맨드를 시간 다중하여 발행한다. 메모리 장치(400c) 내의 1로부터 m의 메모리 유닛의 각각은, Read 커맨드 수신 후, CL=3 후로부터 각각 원하는 리드 데이터를 자신의 데이터 버스에 출력한다.
상기 제어를 행함으로써, 마스터(200)로부터의 액세스 요구에 있어서, 액세스 개시 어드레스가 접속되는 토탈 데이터 버스폭의 경계가 아니고, 요구 전송 사이즈가 토탈 데이터 버스폭을 넘는 액세스인 경우에, 메모리 유닛마다 상이한 어드레스로 동시에 독립적으로 액세스할 수 있으므로, 하기에 나타내는 종래 시스템에 비해 액세스 효율을 향상할 수 있다.
이와 같이, 본 실시예에 있어서는, 시스템적으로 동일한 VByte의 SDRAM을 접속한 것과 등가인 메모리 대역을 이용할 수 있음과 동시에, 액세스 어드레스 경계를, 사용하는 1개의 메모리 디바이스의 최소 액세스 단위(본 실시예에서는 4Byte 단위)로까지 떨어뜨려 데이터 전송 제어를 행하는 것이 가능해지므로, 액세스 개시 어드레스의 입도가 작은 시스템에 있어서, 보다 효과적인 메모리 대역의 이용이 가능해진다.
또한, 1개의 메모리 디바이스에 대해 m개의 커맨드를 시간 다중하여 전송하는 구성이므로, CS 신호선 및 커맨드(어드레스도 포함한다) 버스가 1개의 메모리 유닛 만큼이면 되므로, 전부를 독립 배선하는 경우와 비교하여, 커맨드 버스의 배선 면적을 대폭으로 삭감할 수 있다.
또한, 본 실시예에서는, 사용하는 메모리 디바이스로서, V Byte 버스의 SDRAM의 기능과 동등한 메모리 유닛 m개를 접속한 경우를 예로서 설명하였지만 디바이스의 종류도 SDRAM에 한정되지 않고, DDR, DDR2, Direct-Rumbus DRAM, XDR과 같은 다른 DRAM이어도, SRAM, 플래시 메모리와 같은 DRAM이 아닌 메모리여도, 기억 매체로서 사용할 수 있는 메모리 디바이스이면 동일하게 실시 가능하다. 그 때, 전술한 최소 액세스 단위란, 1개의 메모리 디바이스의 버스폭×최소 버스트 길이로 구해지는 값을 가리킨다.
또, 도 36에서 가리킨 커맨드 생성부(102) 및 커맨드 제어부(107)는 최소 액세스 단위에 의거한 메모리 매핑에 따라, 마스터(200)로부터의 액세스 커맨드를 최소 액세스 단위로 분할하고, 디바이스로 커맨드를 발행하여 액세스하는 커맨드 발행부로 결과를 분배하는 기능을 갖고 있다.
또한, 본 실시예에서는, 커맨드 발행부가 데이터 제어부(106)에 발행하는 커맨드 발행순 정보를, 마스터(200)의 액세스 커맨드 중, 몇 번째의 데이터에 대한 커맨드인지를 나타내는 번호 정보로 하고 있지만, 접속되는 메모리 디바이스의 어느 쪽이 상위인지를 나타내는 1비트의 정보로서 제어하는 것도 가능하다.
메모리 디바이스가 DRAM이 아닌 경우, 커맨드 발행부는 거의 필요로 하지 않 는 구성을 채용할 수 있다. 또, 커맨드 생성부(102)로부터 직접 데이터 제어부(106)로 커맨드 발행순 제어 정보를 통지하는 것도 가능하다.
또한, 도 36에 있어서, 커맨드뿐만 아니라 데이터도 다중화하도록 메모리 제어 장치 및 메모리 장치를 구성해도 된다. 그 경우, 메모리 제어 장치는, 메모리 장치에 송신해야 할 데이터 1로부터 데이터 m을 1사이클 기간에 시분할 다중화하는 데이터 다중화부와, 메모리 장치로부터 수신되는 다중화된 데이터를 데이터 1로부터 데이터 m으로 역다중화하는 데이터 역다중화부를 구비하고, 또한, 메모리 장치는, 메모리 제어 장치에 송신해야 할 데이터 1로부터 데이터 m을 1사이클 기간에 시분할 다중화하는 데이터 다중화부와, 메모리 제어 장치로부터 수신되는 다중화된 데이터를 데이터 1로부터 데이터 m으로 역다중화하는 데이터 역다중화부를 구비하도록 하면 된다.
또, 상기 다중화부는, 메모리 유닛에 공급되는 동기 신호의 1사이클 기간 내에 m개의 액세스 커맨드를 시분할 다중화하고 있지만, 이 대신에, 1사이클 기간 내에 적어도 2개의 액세스 커맨드를 시분할 다중화함으로써, 복수 사이클 기간에서 m개의 액세스 커맨드를 다중화하도록 해도 된다. 데이터가 다중화되는 경우도 동일하게 하면 된다.
또한, 상기 각 실시 형태에 나타낸 블록도의 각 기능 블록 및 흐름도의 각 모듈은 전형적으로는 집적 회로 장치인 LSI로서 실현된다. 이 LSI는 1칩화되어도 되고, 복수 칩화되어도 된다. 예를 들면, 메모리 이외의 기능 블록이 1칩화되어 있어도 된다. 여기에서는, LSI로 하였지만, 집적도의 차이에 따라, IC, 시스템 LSI, 슈퍼 LSI, 울트라 LSI로 호칭되는 경우도 있다.
집적 회로화의 수법은 LSI에 한정되는 것은 아니라, 전용 회로 또는 범용 프로세서로 실현해도 된다. LSI 제조 후에, 프로그램하는 것이 가능한 FPGA(Field Programmable Gate Array)나, LSI 내부의 회로 셀의 접속이나 설정을 재구성 가능한 리컨피규러블·프로세서를 이용해도 된다.
또한, 반도체 기술의 진보 또는 파생되는 다른 기술에 의해 LSI로 치환되는 집적 회로화의 기술이 등장하면, 당연히, 그 기술을 이용하여 기능 블록의 집적화를 행해도 된다. 바이오 기술의 적응 등이 가능성으로서 있을 수 있다.
또, 각 기능 블록 중, 데이터를 저장하는 유닛만 1칩화하지 않고, 기록 매체나 DRAM 등 다른 구성으로 해도 된다.
본 발명에 따른, 실효 전송 효율 향상을 도모하는 메모리 제어 장치 및 제어 방식은, 화상이나 Audio로 대표되는 코덱 및 CPU 등과 같은 마스터 디바이스와, DRAM 등과 같은 메모리의 사이에 있어서 발행하는 데이터 전송을 중개하는 메모리 제어 장치(101)에 이용할 수 있다. 구체적으로는, 화상 처리 제어를 행하는 시스템에 있어서의 메모리 제어 회로로서 유용하다. 또, 이들은 텔레비전이나 비디오, 레코더, 카메라 등의 화상 처리 시스템이나, 퍼스널 컴퓨터 등에 있어서의 화상 처리 시스템에 적합하다.

Claims (30)

  1. 메모리 액세스 요구를 발행하는 마스터와 복수의 메모리 유닛에 접속되어, 메모리 유닛의 액세스를 제어하는 메모리 제어 장치로서,
    상기 마스터로부터 발행된 상기 메모리 액세스 요구를, 메모리 유닛마다의 액세스 커맨드로 분할하고, 상기 복수의 메모리 유닛에 액세스 커맨드를 발행하는 커맨드 제어 수단과,
    상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 유닛마다의 데이터로 분할하여 각 메모리 유닛으로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 상기 복수의 메모리 유닛으로부터의 독출 데이터를 조합하여, 상기 마스터로 출력하는 데이터 제어 수단을 가지며,
    상기 커맨드 제어 수단은, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 동일한 경우와 상이한 경우에서, 복수의 메모리 유닛으로 동일한 물리 어드레스를 출력하는 제어와, 상이한 물리 어드레스를 출력하는 제어를 전환하는 것을 특징으로 하는 메모리 제어 장치.
  2. 청구항 1에 있어서,
    상기 커맨드 제어 수단은, 상기 복수의 메모리 유닛에 공통인 어드레스 버스와, 상기 복수의 메모리 유닛에 개별인 칩 셀렉트 신호를 통해 상기 복수의 메모리 유닛에 접속되고,
    상기 커맨드 제어 수단은,
    분할한 복수의 액세스 커맨드가 동일한 물리 어드레스를 나타내는 경우에, 상기 개별인 칩 셀렉트 신호를 동시에 유효하게 함으로써, 상기 복수의 메모리 유닛으로 동일한 물리 어드레스를 출력하고,
    분할한 복수의 액세스 커맨드가 상이한 물리 어드레스를 나타내는 경우에, 상기 개별인 칩 셀렉트 신호를 타이밍을 어긋나게 하여 유효하게 함으로써, 상기 복수의 메모리 유닛으로 상이한 물리 어드레스를 출력하며,
    상기 데이터 제어 수단은, 상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 유닛마다의 데이터로 분할하여, 상기 액세스 커맨드의 타이밍에 따라 각 메모리 유닛으로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 상기 액세스 커맨드의 타이밍에 따라 상기 복수의 메모리 유닛으로부터 독출된 데이터를 조합하여, 상기 마스터로 출력하는 것을 특징으로 하는 메모리 제어 장치.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 커맨드 제어 수단은, 커맨드 생성부와, 메모리 유닛마다 설치된 커맨드 발행부를 구비하고,
    상기 커맨드 생성부는, 상기 메모리 액세스 요구에 포함되는 논리 어드레스를 메모리 유닛마다의 물리 어드레스로 변환하여, 메모리 유닛마다의 액세스 커맨 드로 분할하고,
    상기 각 커맨드 발행부는, 대응하는 메모리 유닛에, 상기 커맨드 생성부로부터의 액세스 커맨드를 발행하며,
    상기 커맨드 생성부는, 복수의 액세스 커맨드를 복수의 커맨드 발행부에 동시에 출력하는 것을 특징으로 하는 메모리 제어 장치.
  4. 청구항 1 또는 청구항 2에 있어서,
    상기 커맨드 제어 수단은, 커맨드 생성부와, 메모리 유닛마다 설치된 커맨드 발행부를 구비하고,
    상기 커맨드 생성부는, 상기 메모리 액세스 요구에 포함되는 논리 어드레스를 메모리 유닛마다의 물리 어드레스로 변환하여, 메모리 유닛마다의 액세스 커맨드로 분할하고,
    상기 각 커맨드 발행부는, 대응하는 메모리 유닛에, 상기 커맨드 생성부로부터의 액세스 커맨드를 발행하며,
    상기 커맨드 생성부는, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 동일한 경우에, 복수의 액세스 커맨드를 복수의 커맨드 발행부에 동일한 타이밍으로 출력하고,
    분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 상이한 경우에, 복수의 액세스 커맨드를 복수의 커맨드 발행부에 상이한 타이밍으로 출력하는 것을 특징으로 하는 메모리 제어 장치.
  5. 청구항 3 또는 청구항 4에 있어서,
    상기 복수의 메모리 유닛은, 2개의 제1, 제2 메모리 유닛이고,
    상기 커맨드 제어 수단은, 상기 액세스 요구를 제1 액세스 커맨드와 제2 액세스 커맨드로 변환하고,
    제1 및 제2 메모리 유닛은,
    상기 액세스 요구가 제1 메모리 유닛의 데이터를 선두로 하여, 당해 데이터의 선두가 제1 및 제2 메모리 유닛의 데이터를 포함하는 데이터 버스의 얼라인먼트에 일치하는 경우에, 상기 제1 액세스 커맨드에 대응하는 물리 어드레스와 상기 제2 액세스 커맨드에 대응하는 액세스 커맨드의 물리 어드레스가 동일해지도록 데이터를 저장하며,
    상기 액세스 요구가 제2 메모리 유닛의 데이터를 선두로 하여, 당해 데이터의 선두가 제1 및 제2 메모리 유닛의 데이터를 포함하는 데이터 버스의 얼라인먼트에 일치하지 않는 경우에, 상기 제1 액세스 커맨드에 대응하는 물리 어드레스와 상기 제2 액세스 커맨드에 대응하는 액세스 커맨드의 물리 어드레스가 상이하도록 데이터를 저장하는 것을 특징으로 하는 메모리 제어 장치.
  6. 청구항 2에 있어서,
    상기 커맨드 제어 수단은, 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 상이한 경우에, 어드레스 및 칩 셀렉트 신호의 출력 타이밍을 메모리 유닛마다 지연시킴으로써, 복수 메모리 유닛의 동일한 어드레스와 상이한 어드레스를 전환하는 것을 특징으로 하는 메모리 제어 장치.
  7. 청구항 1 또는 청구항 2에 있어서,
    상기 복수의 메모리 유닛은 제1∼제m 메모리 유닛이고,
    상기 복수의 메모리 유닛의 각각은, N바이트의 최소 액세스 단위를 갖고,
    상기 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 가지며,
    각 단위 영역은, 제1∼제m 메모리 유닛의 서로 대응하는 m개의 (N×정수)바이트 영역이 순서대로 배치되는 것을 특징으로 하는 메모리 제어 장치.
  8. 청구항 7에 있어서,
    각 단위 영역에 있어서 제1∼제m 메모리 유닛의 물리 어드레스는 공통이고,
    상기 커맨드 제어 수단은,
    상기 액세스 요구가 상기 단위 영역을 넘지 않는 데이터 사이즈의 액세스 요구인 경우, 상기 제1∼제m 메모리 유닛 중, 당해 액세스 요구에 대응하는 메모리 유닛에 동시에 액세스 커맨드를 발행하는 것을 특징으로 하는 메모리 제어 장치.
  9. 청구항 8에 있어서,
    상기 제1∼제m 메모리 유닛의 각각은 i개의 뱅크를 갖고,
    상기 논리 어드레스 공간은, p개의 제1∼제p 상기 단위 영역이 반복 배치되고,
    상기 제1∼제p 단위 영역은, 공통인 로우 어드레스를 갖고, 상이한 컬럼 어드레스를 가지며,
    상기 제1∼제p 단위 영역의 각각에 있어서 상기 m개의 (N×정수)바이트 영역은 뱅크 어드레스가 공통이고,
    상기 제1∼제p 단위 영역은 서로 뱅크 어드레스가 상이한 것을 특징으로 하는 메모리 제어 장치.
  10. 청구항 9에 있어서,
    상기 p개의 제1∼제p 상기 단위 영역이 반복 배치되는 논리 어드레스 공간에 있어서, 인접하는 상기 단위 영역은 상이한 뱅크 어드레스를 갖고,
    상기 커맨드 제어 수단은, 뱅크 인터리브에 의해 인접하는 상기 단위 영역에 액세스하도록 상기 액세스 커맨드를 발행하는 것을 특징으로 하는 메모리 제어 장치.
  11. 청구항 1 또는 청구항 2에 있어서,
    상기 복수의 메모리 유닛은 화상을 기억하는 프레임 버퍼로서 이용되고,
    상기 복수의 메모리 유닛의 각각은, N바이트의 최소 액세스 단위를 갖고,
    상기 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 가지며,
    각 단위 영역에는, 상기 복수의 메모리 유닛의 서로 대응하는 복수의 (N×정수)바이트 영역이 순서대로 배치되고,
    상기 화상의 수평 어드레스에 대응해 A개의 단위 영역이 인접하여 배치되고, 수직 어드레스에 대응해 B개의 단위 영역이 배치되는 것을 특징으로 하는 메모리 제어 장치.
  12. 청구항 11에 있어서,
    상기 각 단위 영역 내에 있어서의 복수의 (N×정수)바이트 영역은, 뱅크 어드레스, 로우 어드레스 및 컬럼 어드레스가 공통인 것을 특징으로 하는 메모리 제어 장치.
  13. 청구항 10에 있어서,
    상기 프레임 버퍼의 수평방향 또는 수직방향에 인접하는 상기 단위 영역은 상이한 뱅크 어드레스를 갖고,
    상기 커맨드 제어 수단은, 뱅크 인터리브에 의해 인접하는 상기 단위 영역에 액세스하도록 상기 액세스 커맨드를 발행하는 것을 특징으로 하는 메모리 제어 장치.
  14. 청구항 7 내지 청구항 10 중 어느 한 항에 있어서,
    상기 m은 2인 것을 특징으로 하는 메모리 제어 장치.
  15. 청구항 7 내지 청구항 10 중 어느 한 항에 있어서,
    상기 m은 2이고,
    상기 2개의 메모리 유닛은 화상을 기억하는 프레임 버퍼로서 이용되고,
    상기 2개의 메모리 유닛의 각각은, N바이트의 최소 액세스 단위를 가지며,
    각 단위 영역에는, 상기 2개의 메모리 유닛의 서로 대응하는 2개의 (N×정수)바이트 영역이 교대로 배치되고,
    상기 화상의 수평 어드레스에 대응해 A개의 단위 영역이 인접하여 배치되고, 수직 어드레스에 대응해 B개의 단위 영역이 배치되며,
    상기 마스터로부터의 액세스 요구는, 수평 어드레스와, 행 단위의 수직 어드레스를 포함하는 것을 특징으로 하는 메모리 제어 장치.
  16. 청구항 1에 있어서,
    상기 커맨드 제어 수단은, 상기 복수의 메모리 유닛에 공통인 제1 어드레스 버스와, 상기 복수의 메모리 유닛에 개별인 제2 어드레스 버스와, 상기 복수의 메모리 유닛에 개별인 칩 셀렉트 신호를 통해 상기 복수의 메모리 유닛에 접속되고,
    상기 제1 어드레스 버스와 제2 어드레스 버스는, 어드레스 버스를 구성하는 일부의 어드레스 신호선과 타부의 어드레스 신호선인 것을 특징으로 하는 메모리 제어 장치.
  17. 청구항 16에 있어서,
    상기 커맨드 제어 수단은,
    분할한 복수의 액세스 커맨드가 동일한 물리 어드레스를 나타내는 경우에, 상기 개별인 칩 셀렉트 신호와 제1 및 제2 어드레스 버스를 동시에 유효하게 함으로써, 상기 복수의 메모리 유닛으로 동일한 물리 어드레스를 출력하고,
    분할한 복수의 액세스 커맨드가 상이한 물리 어드레스를 나타내는 경우이고 또한 제1 어드레스 버스가 상이한 물리 어드레스를 나타내는 경우, 상기 개별인 칩 셀렉트 신호 및 제1, 제2 어드레스 버스를 모두 출력하는 타이밍을 어긋나게 하여 유효하게 함으로써, 상기 복수의 메모리 유닛으로 상이한 물리 어드레스를 출력하며,
    분할한 복수의 액세스 커맨드가 상이한 물리 어드레스를 나타내는 경우이고 또한 제2 어드레스 버스가 상이한 물리 어드레스를 나타내는 경우, 상기 개별인 칩 셀렉트 신호 및 제1 및 제2 어드레스 버스를 동시에 유효하게 함으로써, 상기 복수의 메모리 유닛으로 상이한 물리 어드레스를 출력하는 것을 특징으로 하는 메모리 제어 장치.
  18. 청구항 1 또는 청구항 2에 있어서,
    상기 복수의 메모리 유닛은 화상을 기억하는 프레임 버퍼로서 이용되고,
    상기 복수의 메모리 유닛의 각각은, N바이트의 최소 액세스 단위를 갖고,
    상기 논리 어드레스 공간은, 반복 배치되는 단위 영역을 따라 연속되는 논리 어드레스를 가지며,
    각 단위 영역에는, 상기 복수의 메모리 유닛의 서로 대응하는 복수의 (N×정수)바이트 영역이 순서대로 배치되고,
    상기 프레임 버퍼는 복수의 직사각형 영역으로 구성되며,
    상기 직사각형 영역은, 수평 어드레스에 대응해 E개의 단위 영역이 인접하여 배치되고, 수직 어드레스에 대응해 F개의 단위 영역이 배치되는 것을 특징으로 하는 메모리 제어 장치.
  19. 청구항 18에 있어서,
    상기 각 직사각형 영역 내의 복수의 상기 단위 영역은, 공통인 뱅크 어드레스 및 공통인 로우 어드레스를 갖고,
    좌우로 인접하는 2개의 상기 직사각형 영역은, 상이한 뱅크 어드레스를 가지며,
    상하로 인접하는 2개의 상기 직사각형 영역은, 임의의 뱅크 어드레스 및 상이한 로우 어드레스를 갖는 것을 특징으로 하는 메모리 제어 장치.
  20. 청구항 19에 있어서,
    각 단위 영역에는, 상기 복수의 메모리 유닛의 서로 대응하는 복수의 (N×정수)바이트 영역이, 상기 복수의 메모리 유닛의 배열에 대응하는 순서대로 배치되는 것을 특징으로 하는 메모리 제어 장치.
  21. 청구항 18에 있어서,
    상기 각 직사각형 영역 내의 복수의 상기 단위 영역은, 임의의 단일한 상기 메모리 유닛으로 구성되고, 공통인 뱅크 어드레스를 가지며,
    좌우로 인접하는 2개의 상기 직사각형 영역은, 상이한 컬럼 어드레스를 갖고,
    상하로 인접하는 2개의 상기 직사각형 영역은, 상이한 메모리 유닛의 단위 영역으로 구성되고, 임의의 뱅크 어드레스 및 컬럼 어드레스가 상이한 것을 특징으로 하는 메모리 제어 장치.
  22. 청구항 21에 있어서,
    각 단위 영역에는, 상기 복수의 메모리 유닛의 서로 대응하는 복수의 (N×정수)바이트 영역이, 상기 복수의 메모리 유닛의 배열에 대응하는 순서대로 배치되는 것을 특징으로 하는 메모리 제어 장치.
  23. 청구항 19 또는 청구항 21에 있어서,
    1행 이상 연속되는 G행으로 이루어지는 제1 작은 직사각형 영역에 있어서의 각 단위 영역은, 상기 복수의 (N×정수)바이트 영역이, 상기 복수의 메모리 유닛의 배열에 대응하는 순서대로 배치되고,
    인접하는 1행 이상 연속되는 H행으로 이루어지는 제2 작은 직사각형 영역에 있어서의 각 단위 영역에는, 상기 복수의 (N×정수)바이트 영역이, 상기 제1 작은 직사각형 영역과 상이한 순서대로 배치되며,
    상기 제1 작은 직사각형 영역과 상기 제2 작은 직사각형 영역의 관계가 상기 직사각형 영역 내에 있어서 반복되는 것을 특징으로 하는 메모리 제어 장치.
  24. 메모리 액세스 요구를 발행하는 마스터와 복수의 메모리 유닛에 접속되어, 메모리 유닛의 액세스를 제어하는 메모리 제어 방법으로서,
    상기 마스터로부터 발행된 상기 메모리 액세스 요구를, 메모리 유닛마다의 액세스 커맨드로 분할하여, 상기 복수의 메모리 유닛에 액세스 커맨드를 발행하는 단계와,
    상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 유닛마다의 데이터로 분할하여 각 메모리 유닛으로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 상기 복수의 메모리 유닛으로부터의 독출 데이터를 조합하여, 상기 마스터로 출력하는 단계를 가지며,
    상기 액세스 커맨드를 발행하는 단계에 있어서, 분할한 복수의 액세스 커맨드에 대응하는 상기 복수의 메모리 유닛의 물리 어드레스가 동일한 경우와 상이한 경우에서, 복수의 메모리 유닛으로 동일한 물리 어드레스를 출력하는 제어와, 상이한 물리 어드레스를 출력하는 제어를 전환하는 것을 특징으로 하는 메모리 제어 방법.
  25. 청구항 1에 기재된 메모리 제어 장치를 구비하는 것을 특징으로 하는 반도체 장치.
  26. 1패키지화된 메모리 장치로서,
    복수의 메모리 유닛과,
    외부로부터, 액세스 커맨드를 수신하여, 상기 복수의 메모리 유닛에 공급하는 커맨드 인터페이스와,
    상기 복수의 메모리 유닛과 동수의 부분적인 버스로 비트 분할된 데이터 버스와,
    외부로부터 공급되는 동기 신호에 따라, 외부와 상기 복수의 메모리 유닛의 각각의 사이에서 상기 데이터 버스를 통해 독립적으로 데이터를 입출력하는 데이터 인터페이스를 구비하는 것을 특징으로 하는 메모리 장치.
  27. 청구항 26에 있어서,
    상기 커맨드 인터페이스는, 시분할 다중화된 복수의 액세스 커맨드를 상기 동기 신호의 1사이클 기간에 수신하고,
    상기 메모리 장치는,
    상기 커맨드 인터페이스에 의해 수신된, 시분할 다중된 액세스 커맨드를 역다중화하여, 액세스 커맨드를 대응하는 메모리 유닛에 분배하는 역다중화부를 더 구비하는 것을 특징으로 하는 메모리 장치.
  28. 청구항 26에 있어서,
    상기 커맨드 인터페이스는, 상기 복수의 메모리 유닛 개별적으로 유효 또는 무효로 하는 복수의 셀렉트 신호를 수신하고, 수신한 셀렉트 신호를 대응하는 메모리 유닛에 공급하는 것을 특징으로 하는 메모리 장치.
  29. 청구항 26에 있어서,
    상기 커맨드 인터페이스는, 상기 복수의 메모리 유닛마다 유효한지 무효한지를 나타내는 유닛 정보를 수신하고,
    상기 메모리 장치는,
    상기 유닛 정보를 상기 복수의 메모리 유닛 개별인 셀렉트 신호로 변환하여, 변환한 셀렉트 신호를 각 메모리 유닛에 공급하는 변환 수단을 더 갖는 것을 특징으로 하는 메모리 장치.
  30. 메모리 액세스 요구를 발행하는 마스터와, 복수의 메모리 유닛에 접속되어, 메모리 유닛의 액세스를 제어하는 메모리 제어 장치로서,
    상기 마스터로부터 발행된 상기 메모리 액세스 요구를, 메모리 유닛마다의 액세스 커맨드로 분할하는 커맨드 제어 수단과,
    상기 복수의 메모리 유닛에 공급되는 동기 신호의 1사이클 기간 내에 복수의 액세스 커맨드를 시분할 다중화하고, 시분할 다중된 액세스 커맨드를 발행하는 다중화 수단과,
    상기 복수의 메모리 유닛과 동수의 부분적인 버스로 비트 분할된 데이터 버스와,
    상기 메모리 액세스 요구가 기록 요구인 경우에, 마스터로부터의 기록 데이터를, 상기 복수의 메모리 유닛마다의 데이터로 분할하여 각 메모리 유닛으로 출력하고, 상기 메모리 액세스 요구가 독출 요구인 경우에, 상기 복수의 메모리 유닛으로부터의 독출 데이터를 조합하여, 상기 마스터로 출력하는 데이터 제어 수단을 갖는 것을 특징으로 하는 메모리 제어 장치.
KR1020097000182A 2006-12-25 2007-12-25 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법 KR20090065504A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006347132 2006-12-25
JPJP-P-2006-347132 2006-12-25
JP2007123987 2007-05-08
JPJP-P-2007-123987 2007-05-08

Publications (1)

Publication Number Publication Date
KR20090065504A true KR20090065504A (ko) 2009-06-22

Family

ID=39608577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000182A KR20090065504A (ko) 2006-12-25 2007-12-25 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법

Country Status (6)

Country Link
US (2) US8307190B2 (ko)
EP (1) EP2071468A4 (ko)
JP (1) JP4996626B2 (ko)
KR (1) KR20090065504A (ko)
CN (1) CN101495975B (ko)
WO (1) WO2008084681A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140142530A (ko) * 2013-06-04 2014-12-12 삼성전자주식회사 데이터 저장 장치 및 그것의 명령어 스케줄링 방법
KR20170076106A (ko) * 2015-12-24 2017-07-04 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
WO2018199646A1 (ko) * 2017-04-27 2018-11-01 공재섭 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템
USRE49496E1 (en) 2015-07-30 2023-04-18 SK Hynix Inc. Semiconductor device
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595459B2 (en) * 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
KR20100117554A (ko) * 2007-11-20 2010-11-03 샌드브리지 테크놀로지스, 인코포레이티드 단일 기준을 이용하여 주기적 동작을 구현하는 방법
JPWO2009139109A1 (ja) * 2008-05-13 2011-09-15 パナソニック株式会社 メモリ制御装置、およびこれを備えた情報処理装置
US8660193B2 (en) * 2009-01-12 2014-02-25 Maxim Integrated Products, Inc. Parallel, pipelined, integrated-circuit implementation of a computational engine
US20110307672A1 (en) * 2009-03-06 2011-12-15 Rambus Inc. Memory interface with interleaved control information
JP2011003161A (ja) * 2009-06-22 2011-01-06 Olympus Imaging Corp データ伝送制御装置およびデータ伝送制御方法
JP5396169B2 (ja) * 2009-06-22 2014-01-22 オリンパス株式会社 データアクセス制御装置
JP2011013909A (ja) * 2009-07-01 2011-01-20 Canon Inc メモリ制御回路
US8098539B2 (en) * 2009-08-26 2012-01-17 Qualcomm Incorporated Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation
US8539309B2 (en) * 2009-09-17 2013-09-17 International Business Machines Corporation System and method for responding to error detection
JP2012113597A (ja) * 2010-11-26 2012-06-14 Panasonic Corp メモリ装置、メモリ制御回路及びメモリ制御システム
KR101854251B1 (ko) 2010-11-30 2018-05-03 삼성전자주식회사 멀티 채널 반도체 메모리 장치 및 그를 구비하는 반도체 장치
CN102231141B (zh) * 2011-06-21 2017-04-05 深圳市中兴微电子技术有限公司 一种数据读、写方法及系统
US9268719B2 (en) * 2011-08-05 2016-02-23 Rambus Inc. Memory signal buffers and modules supporting variable access granularity
JP2013089030A (ja) * 2011-10-18 2013-05-13 Elpida Memory Inc 情報処理システム、制御システム及び半導体装置
US10216625B2 (en) * 2012-09-24 2019-02-26 Sk Hynix Memory Solutions Inc. Hardware integrity verification
JP6062714B2 (ja) * 2012-10-31 2017-01-18 キヤノン株式会社 メモリ制御装置、メモリ制御方法およびプログラム
US9448941B1 (en) * 2012-12-31 2016-09-20 Emc Corporation System and method for cache management
US9053815B2 (en) * 2013-05-28 2015-06-09 Nanya Technology Corporation Circuit in dynamic random access memory devices
KR102220749B1 (ko) * 2014-03-14 2021-03-02 에스케이하이닉스 주식회사 반도체 장치
US9335934B2 (en) * 2014-04-29 2016-05-10 Futurewei Technologies, Inc. Shared memory controller and method of using same
CN106155577B (zh) 2015-04-23 2019-03-26 华为技术有限公司 扩展内存的访问方法、设备以及系统
US10353747B2 (en) 2015-07-13 2019-07-16 Futurewei Technologies, Inc. Shared memory controller and method of using same
US9940984B1 (en) * 2016-09-28 2018-04-10 Intel Corporation Shared command address (C/A) bus for multiple memory channels
JP6370953B1 (ja) * 2017-03-23 2018-08-08 ファナック株式会社 マルチランクsdram制御方法及びsdramコントローラ
CN107146245B (zh) * 2017-05-05 2020-06-05 天津京东深拓机器人科技有限公司 图像匹配方法和装置
CN108984312B (zh) * 2017-06-02 2022-03-25 伊姆西Ip控股有限责任公司 数据读写的方法和设备
JP7074626B2 (ja) * 2018-09-11 2022-05-24 株式会社東芝 画像描画装置
CN109347957A (zh) * 2018-10-22 2019-02-15 北京广利核系统工程有限公司 基于fpga的通信数据存储管理方法、装置及环网板卡
US10929949B2 (en) * 2019-03-28 2021-02-23 Infineon Technologies Ag Accessing a memory configured to store an image data cube
JP7273176B2 (ja) * 2019-05-05 2023-05-12 長江存儲科技有限責任公司 シーケンス処理ユニットを備えたメモリ制御システム
JP2021039447A (ja) 2019-08-30 2021-03-11 キヤノン株式会社 メモリコントローラおよびメモリコントローラで実施される方法
TWI762852B (zh) * 2020-01-03 2022-05-01 瑞昱半導體股份有限公司 記憶體裝置及其操作方法
CN112802518B (zh) * 2021-03-25 2021-07-02 深圳市汇顶科技股份有限公司 数据写入方法、片上系统芯片及计算机可读存储介质
EP4273702A1 (en) * 2022-05-06 2023-11-08 Samsung Electronics Co., Ltd. Operating method of memory device for managing map data of each of plurality of storage devices, computing system including memory device, and operating method of computing system
CN114896182B (zh) * 2022-05-11 2023-10-20 地平线(上海)人工智能技术有限公司 存储装置、方法、电子设备和存储介质
CN116594922B (zh) * 2023-07-14 2023-10-31 深圳砺驰半导体科技有限公司 一种数据访问电路、方法及系统级芯片

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US486603A (en) * 1892-11-22 Time-lock
JPS618785A (ja) 1984-06-21 1986-01-16 Fujitsu Ltd 記憶装置アクセス制御方式
US5182192A (en) * 1987-03-27 1993-01-26 The Wistar Institute Monoclonal antibodies against glycolipid antigens, methods of producing these antibodies, and use therefor
JPH04167160A (ja) 1990-10-31 1992-06-15 Matsushita Electric Ind Co Ltd 情報処理装置
JP3057934B2 (ja) * 1992-10-30 2000-07-04 日本電気株式会社 共有バス調停機構
US5748551A (en) 1995-12-29 1998-05-05 Micron Technology, Inc. Memory device with multiple internal banks and staggered command execution
JPH09190376A (ja) 1996-01-12 1997-07-22 Oki Electric Ind Co Ltd メモリ制御装置
US6104417A (en) * 1996-09-13 2000-08-15 Silicon Graphics, Inc. Unified memory computer architecture with dynamic graphics memory allocation
JP3732593B2 (ja) * 1996-09-30 2006-01-05 株式会社東芝 画像処理装置
JPH1198462A (ja) 1997-09-19 1999-04-09 Hitachi Ltd データ再生装置
JPH11203197A (ja) 1998-01-07 1999-07-30 Oki Data Corp メモリシステム
US7024518B2 (en) * 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6681319B1 (en) * 1998-10-06 2004-01-20 Texas Instruments Incorporated Dual access instruction and compound memory access instruction with compatible address fields
DE69939152D1 (de) 1999-01-11 2008-09-04 Sgs Thomson Microelectronics Speicherschnittstellenvorrichtung und Verfahren zum Speicherzugriff
AU5774200A (en) * 1999-06-28 2001-01-31 Sangate Systems Inc. Intelligent splitter, system, and methods of use
JP2001092771A (ja) * 1999-09-24 2001-04-06 Toshiba Corp 記憶装置、記憶装置用の制御装置及びこれらを用いた記憶システム
JP4834362B2 (ja) 2005-09-16 2011-12-14 パナソニック株式会社 メモリ制御装置。
US6828977B2 (en) 2001-02-15 2004-12-07 Sony Corporation Dynamic buffer pages
US7313658B2 (en) * 2001-10-23 2007-12-25 Via Technologies, Inc. Microprocessor and method for utilizing disparity between bus clock and core clock frequencies to prioritize cache line fill bus access requests
JP2003178527A (ja) * 2001-12-12 2003-06-27 Fujitsu Ltd 情報記録装置及びバッファコントローラ並びに情報記憶方法
JP4061272B2 (ja) 2002-01-09 2008-03-12 株式会社ルネサステクノロジ メモリシステム及びメモリカード
AU2003201113A1 (en) 2002-02-06 2003-09-02 Koninklijke Philips Electronics N.V. Address space, bus system, memory controller and device system
KR101049747B1 (ko) * 2003-03-17 2011-07-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 실시간 디지털 정보신호 스트림을 저장하는 장치 및 방법
US7203798B2 (en) * 2003-03-20 2007-04-10 Matsushita Electric Industrial Co., Ltd. Data memory cache unit and data memory cache system
JP4345445B2 (ja) 2003-11-12 2009-10-14 セイコーエプソン株式会社 画像処理装置、画像表示装置および画像処理装置における演算パラメータの設定方法
KR20060123632A (ko) 2004-04-15 2006-12-01 마쯔시다덴기산교 가부시키가이샤 직사각형 영역에 대한 버스트 메모리 액세스 방법
JP4722839B2 (ja) 2004-05-19 2011-07-13 パナソニック株式会社 メモリ制御回路、不揮発性記憶装置及びメモリ制御方法
JP2006293663A (ja) * 2005-04-11 2006-10-26 Sanyo Electric Co Ltd メモリアドレス生成装置及びそれを有したプロセッサ、メモリアドレス生成方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140142530A (ko) * 2013-06-04 2014-12-12 삼성전자주식회사 데이터 저장 장치 및 그것의 명령어 스케줄링 방법
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
USRE49496E1 (en) 2015-07-30 2023-04-18 SK Hynix Inc. Semiconductor device
KR20170076106A (ko) * 2015-12-24 2017-07-04 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
US11347444B2 (en) 2015-12-24 2022-05-31 SK Hynix Inc. Memory device for controlling operations according to different access units of memory
WO2018199646A1 (ko) * 2017-04-27 2018-11-01 공재섭 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템

Also Published As

Publication number Publication date
JPWO2008084681A1 (ja) 2010-04-30
WO2008084681A1 (ja) 2008-07-17
US20100030980A1 (en) 2010-02-04
CN101495975A (zh) 2009-07-29
EP2071468A1 (en) 2009-06-17
JP4996626B2 (ja) 2012-08-08
CN101495975B (zh) 2011-10-05
US20130013879A1 (en) 2013-01-10
US8738888B2 (en) 2014-05-27
EP2071468A4 (en) 2010-11-03
US8307190B2 (en) 2012-11-06

Similar Documents

Publication Publication Date Title
KR20090065504A (ko) 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법
US9905303B2 (en) Front/back control of integrated circuits for flash dual inline memory modules
KR101504393B1 (ko) 다중-직렬 인터페이스 적층-다이 메모리 아키텍처
US7493467B2 (en) Address scrambling to simplify memory controller's address output multiplexer
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
JP2012533793A (ja) メモリモジュール上の分散バイト型バッファを利用するシステムおよび方法
CN101702947A (zh) 具有点对点请求互连的存储器系统
JP2013182635A (ja) 半導体装置及びこれを備える情報処理システム並びに半導体装置の制御方法
KR20070029545A (ko) 반도체 기억 장치와 이것을 이용한 반도체 집적 회로시스템 및 반도체 기억 장치의 제어 방법
KR20100066849A (ko) 개선된 데이터 버스 구조를 갖는 스택 구조의 반도체 패키지, 반도체 메모리 모듈 및 반도체 메모리 시스템
JP4318422B2 (ja) 集積回路メモリを含むシステム
US8347026B2 (en) Memory device and memory device control method
JP2002109886A (ja) 半導体記憶装置
JP4890807B2 (ja) メモリアクセス装置およびメモリアクセス方法
CA2802666A1 (en) Image processing device
JP5449287B2 (ja) メモリアクセス装置
US20100053184A1 (en) Apparatus and method for processing image data
KR20060028887A (ko) 뱅크 어드레스를 미리 디코딩하는 멀티뱅크 어드레스디코딩 방법 및 이를 적용한 멀티뱅크 반도체 메모리 장치
JPH07230410A (ja) メモリアクセス制御方式
JPH0944396A (ja) メモリ内の記憶場所の集合にアクセスする方法
KR20170077605A (ko) 메모리 모듈 및 이를 포함하는 메모리 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application