KR101913549B1 - 반도체 장치 및 데이터 처리 시스템 - Google Patents

반도체 장치 및 데이터 처리 시스템 Download PDF

Info

Publication number
KR101913549B1
KR101913549B1 KR1020187000694A KR20187000694A KR101913549B1 KR 101913549 B1 KR101913549 B1 KR 101913549B1 KR 1020187000694 A KR1020187000694 A KR 1020187000694A KR 20187000694 A KR20187000694 A KR 20187000694A KR 101913549 B1 KR101913549 B1 KR 101913549B1
Authority
KR
South Korea
Prior art keywords
calibration
command
refresh
issuance
register
Prior art date
Application number
KR1020187000694A
Other languages
English (en)
Other versions
KR20180006506A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=45529823&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101913549(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 르네사스 일렉트로닉스 가부시키가이샤 filed Critical 르네사스 일렉트로닉스 가부시키가이샤
Publication of KR20180006506A publication Critical patent/KR20180006506A/ko
Application granted granted Critical
Publication of KR101913549B1 publication Critical patent/KR101913549B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • 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/1689Synchronisation and timing concerns
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • 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
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4061Calibration or ate or cycle tuning

Abstract

본 발명의 과제는, 리프레시 커맨드의 발행과 캘리브레이션 커맨드의 발행을 연속시키지 않는 메모리 제어 기술을 제공하는 것이다.
설정된 리프레시 사이클을 기준으로 리프레시 동작을 요구하기 위한 리프레시 커맨드를 발행하고, 설정된 캘리브레이션 사이클을 기준으로 캘리브레이션 동작을 요구하기 위한 캘리브레이션 커맨드를 발행하는 메모리 제어 회로(30)에, 리프레시 커맨드의 발행 후 소정 시간만큼 캘리브레이션 커맨드의 발행을 억제하고, 캘리브레이션 커맨드의 발행 후 소정 시간만큼 리프레시 커맨드의 발행을 억제하는 제어 기능을 채용한다.

Description

반도체 장치 및 데이터 처리 시스템{SEMICONDUCTOR DEVICE AND DATA PROCESSING SYSTEM}
본 발명은 DDR(Double Data Rate)형의 SDRAM(Synchronous Dynamic Random Access Memory)인 DDR-SDRAM을 제어하는 메모리 제어 기술, 특히 리프레시 커맨드와 캘리브레이션 커맨드의 발행 제어 기술에 관한 것으로, 예를 들어 DDR-SDRA의 메모리 제어 회로를 구비한 마이크로컴퓨터에 적용해서 유효한 기술에 관한 것이다.
DDR-SDRAM에는, 축적 용량의 전하 정보가 누설되어 데이터 반전을 일으키기 전에 기억 정보를 재생하는 리프레시 동작이 필요해지고, 또한, 데이터계의 외부 인터페이스 회로에 종단부 저항을 설치함으로써 용이하게 디바이스 단부로의 신호 반사를 억제해서 고속 데이터 전송에 필요한 파형 품질을 확보한다는 다이나믹 온 다이 터미네이션(Dynamic On Die Termination)이 채용되어 있다. 그것에 의한 저항값은 선택 가능하게 된다. 다이나믹 온 다이 터미네이션(간단히 다이나믹 ODT라고도 칭한다)에 의해 선택 가능한 저항값은 저항의 온도 특성이나 전원 전압을 고려해서 결정해야 하므로, 다이나믹 ODT에 의한 저항값을 보정하기 위한 캘리브레이션 동작이 가능하게 된다.
특허 문헌 1에는 다이나믹 ODT에 의한 저항값을 보정하기 위한 캘리브레이션 동작을 지시하는 커맨드를 발행하는 메모리 컨트롤러에 대해서 기재되어 있다.
특허 문헌 2에는 DDR-SDRAM에 있어서의 다이나믹 ODT에 의한 캘리브레이션 회로나 보정 회로에 대해서 기재되어 있다.
일본 특허 공개 제2008-48384호 공보 일본 특허 공개 제2009-284265호 공보
다이나믹 ODT에 의한 저항값을 보정하기 위한 캘리브레이션 동작중에는 DDR-SDRSAM은 액세스 커맨드를 접수할 수 없다. 리프레시 동작중에 액세스 커맨드를 접수할 수 없다는 것과 마찬가지이다. 리프레시 동작은 소정 시간 내에 메모리 셀 어레이 내의 모든 메모리 셀을 한바퀴 돌도록 행해져야 한다. 또한, 신호 품질을 유지하기 위해서는 캘리브레이션 동작도 소정 시간마다 반복하여 행해지는 것이 필요해진다. 메모리 제어 회로는, 소정의 리프레시 인터벌마다 DDR-SDRAM에 리프레시 동작을 지시하기 위한 리프레시 커맨드를 발행하고, 또한, 소정의 캘리브레이션 인터벌마다 DDR-SDRAM에 캘리브레이션 동작을 지시하기 위한 캘리브레이션 커맨드를 발행한다.
캘리브레이션 동작 및 리프레시 동작에는 비교적 오랜 시간을 필요로 하므로, 양쪽이 연속하면 액세스 커맨드의 발행 대기 시간이 길어진다. 종래의 DDR-SDSRAM에 대한 메모리 제어 기술에 있어서는, 리프레시 커맨드의 발행과 캘리브레이션 커맨드의 발행이 연속하지 않도록 타이밍 제어하는 고안이 이루어지고 있지 않다.
본 발명의 목적은, 리프레시 커맨드의 발행과 캘리브레이션 커맨드의 발행을 연속시키지 않는 메모리 제어 기술을 제공하는 것에 있다.
본 발명의 상기 및 그 밖의 목적과 신규의 특징은 본 명세서의 기술 및 첨부 도면으로부터 밝혀질 것이다.
본원에 있어서 개시되는 발명 중 대표적이지만 개요를 간단하게 설명하면 하기와 같다.
즉, 설정된 리프레시 사이클을 기준으로 리프레시 동작을 요구하기 위한 리프레시 커맨드를 발행하고, 설정된 캘리브레이션 사이클을 기준으로 캘리브레이션 동작을 요구하기 위한 캘리브레이션 커맨드를 발행하는 메모리 제어 회로에, 리프레시 커맨드의 발행 후 소정 시간만큼 캘리브레이션 커맨드의 발행을 억제하고, 캘리브레이션 커맨드의 발행 후 소정 시간만큼 리프레시 커맨드의 발행을 억제하는 제어 기능을 채용한다.
본원에 있어서 개시되는 발명 중 대표적인 것에 의해 얻어지는 효과를 간단하게 설명하면 하기와 같다.
즉, 리프레시 커맨드의 발행과 캘리브레이션 커맨드의 발행을 연속시키지 않도록 메모리 제어를 행할 수 있다.
도 1은 본 발명의 일실시 형태에 관한 데이터 처리 시스템의 블록도이다.
도 2는 캘리브레이션 커맨드(ZQCS 커맨드)의 설명도이다.
도 3은 리프레시 커맨드(REF 커맨드)의 설명도이다.
도 4는 SDRAM 컨트롤러와 SDRAM의 접속 형태로서 2개의 SDRAM의 데이터 입출력 단자를 SDRAM 컨트롤러가 대응하는 데이터 입출력 단자에 공통 접속한 구성을 채용한 데이터 처리 시스템의 블록도이다.
도 5는 2개의 SDRAM의 데이터 입출력 단자를 SDRAM 컨트롤러의 상위측 데이터 입출력 단자와 하위측 데이터 입출력 단자로 나누고, 동일하게 데이터 스트로브 신호에 대해서도 2개의 SDRAM에 대하여 상위측과 하위측에서 개별로 접속해서 2개의 SDRAM을 병렬 동작시키는 바와 같은 접속 형태를 채용한 데이터 처리 시스템의 블록도이다.
도 6은 SDRAM 컨트롤러의 구체예를 나타내는 블록도이다.
도 7은 SDRAM 컨트롤러에 의한 리프레시 커맨드 및 캘리브레이션 커맨드의 발행 타이밍을 예시하는 타이밍 차트이다.
도 8은 도 7에 대하여 상기 억제 기간의 제어를 행하지 않는 경우의 비교예에 관한 타이밍 차트이다.
도 9는 리프레시 커맨드를 사용하는 오토 리프레시의 전체적인 제어 흐름도이다.
도 10은 선행 리프레시 동작의 제어 흐름도이다.
도 11은 강제 리프레시 동작의 제어 흐름도이다.
도 12는 긴급 리프레시 동작의 제어 흐름도이다.
도 13은 캘리브레이션 커맨드를 사용하는 오토 캘리브레이션의 전체적인 제어 흐름도이다.
도 14는 통상 캘리브레이션 동작의 제어 흐름도이다.
도 15는 긴급 캘리브레이션 동작의 제어 흐름도이다.
도 16은 통상 캘리브레이션 동작을 행하는 경우의 동작 타이밍 차트이다.
도 17은 긴급 캘리브레이션을 행하는 경우의 동작 타이밍 차트이다.
도 18은 SDRAM 컨트롤러가 선택적으로 칩 선택을 행하는 복수개의 SDRAM에 대하여 병렬로 캘리브레이션 동작을 행하는 경우의 동작 타이밍 차트이다.
도 19는 SDRAM 컨트롤러가 선택적으로 칩 선택을 행하는 복수개의 SDRAM에 대하여 캘리브레이션 동작을 순차 연속 실행하는 경우의 동작 타이밍 차트이다.
도 20은 SDRAM 컨트롤러가 선택적으로 칩 선택을 행하는 복수개의 SDRAM에 대하여 캘리브레이션 동작을 라운드 로빈 알고리즘에 의해 순차적으로 행하는 경우의 동작 타이밍 차트이다.
1. 실시 형태의 개요
우선, 본원에 있어서 개시되는 발명의 대표적인 실시 형태에 대해서 개요를 설명한다. 대표적인 실시 형태에 관한 개요 설명에서 괄호를 붙여서 참조하는 도면 중의 참조 부호는 그것이 붙여진 구성 요소의 개념에 포함되는 것을 예시하는 것에 지나지 않는다.
〔1〕<리프레시 커맨드와 캘리브레이션 커맨드의 연속 발행을 억제>
본 발명의 대표적인 실시 형태에 관한 반도체 장치(1)는, DDR형의 SDRAM(2(2_a, 2_b))을 제어하는 메모리 제어 회로(20)와, 상기 메모리 제어 회로에 상기 SDRAM의 액세스를 요구하는 액세스 요구 회로(10 내지 14)를 갖는다. 상기 메모리 제어 회로는, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하기 위한 액세스 커맨드(ACT, READ)와, 설정된 리프레시 사이클을 기준으로 상기 SDRAM의 기억 정보를 재생하는 리프레시 동작을 요구하기 위한 리프레시 커맨드(REF)와, 설정된 캘리브레이션 사이클을 기준으로 상기 SDRAM의 내부 상태를 보정하기 위한 캘리브레이션 동작을 요구하기 위한 캘리브레이션 커맨드(ZQCS)를 발행하고, 상기 리프레시 커맨드의 발행 후 소정 시간만큼 상기 캘리브레이션 커맨드의 발행을 억제하고, 상기 캘리브레이션 커맨드의 발행 후 소정 시간만큼 상기 리프레시 커맨드의 발행을 억제한다.
이에 의해, 리프레시 커맨드의 발행과 캘리브레이션 커맨드의 발행을 연속시키지 않도록 할 수 있고, 양쪽의 커맨드가 연속하는 것에 의한 액세스 속도의 저하를 방지할 수 있다.
〔2〕<rzcnt, zrcnt, TCALRZ, TCALZR>
1항의 반도체 장치에 있어서, 상기 메모리 제어 회로는, 상기 리프레시 커맨드의 발행 후, 상기 캘리브레이션 커맨드의 발행을 억제하는 기간을 지정하는 제1 억제 기간 레지스터(TCALRZ)와, 상기 제1 억제 기간 레지스터에 설정된 기간을 계수하는 제1 억제 기간 카운터(rzcnt)와, 상기 캘리브레이션 커맨드의 발행 후 상기 리프레시 커맨드의 발행을 억제하는 기간을 지정하는 제2 억제 기간 레지스터(TCALZR)와, 상기 제2 억제 기간 레지스터에 설정된 기간을 계수하는 제2 억제 기간 카운터(zrcnt)를 구비한다. 메모리 제어 회로는, 상기 리프레시 커맨드의 발행 후에 제1 억제 기간 카운터의 계수값이 제1 억제 기간 레지스터의 설정된 기간을 초과할 때까지 캘리브레이션 커맨드의 발행을 억지하고, 상기 캘리브레이션 커맨드의 발행 후에 제2 억제 기간 카운터의 계수값이 제2 억제 기간 레지스터가 설정된 기간을 초과할 때까지 리프레시 커맨드의 발행을 억지한다.
억제 기간을 억제 기간 레지스터에 프로그래머블하게 설정하는 것이 가능하다.
〔3〕<리프레시 사이클 카운트값에 응한 긴급 리프레시>
2항의 반도체 장치에 있어서, 상기 메모리 제어 회로는, 리프레시 사이클이 설정되는 리프레시 사이클 레지스터(REFINT)와, 상기 리프레시 사이클 레지스터에 설정된 리프레시 사이클의 기간을 계수하는 리프레시 사이클 카운터(intcnt)를 갖는다. 메모리 제어 회로는, 상기 리프레시 사이클 카운터에 의한 계수값이 제1 임계값(REFTH0)에 도달한 이후는 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있지 않아도 상기 리프레시 커맨드를 발행한다.
리프레시 휴지 기간이 길어진 긴급 시에 대처할 수 있다. 긴급하게 리프레시 커맨드를 발행했을 때, 메모리 제어 회로는 그 리프레시 커맨드의 발행에 의해 중단된 기간을 메모리 액세스의 웨이트 사이클로 하여 제어하면 된다.
〔4〕<리프레시 사이클 카운트값에 응한 강제 리프레시>
3항의 반도체 장치에 있어서, 상기 메모리 제어 회로는, 상기 리프레시 사이클 카운터에 의한 계수값이 상기 제1 임계값의 바로 앞의 제2 임계값(REFTH)에 도달한 이후는 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있을 때에 상기 리프레시 커맨드를 발행한다.
리프레시 동작의 긴급도가 낮은 경우에는, 상기 액세스 요구 회로로부터의 액세스 요구에 대한 SDRAM 액세스의 연속성이 보증되어 액세스 성능이 저하되지 않게 된다.
〔5〕<잉여 횟수 카운트값에 응한 선행 리프레시의 유무>
4항의 반도체 장치에 있어서, 상기 메모리 제어 회로는, 리프레시 커맨드 잉여 발행 횟수가 설정되는 최대 잉여 횟수 레지스터(REFPMAX)와, 상기 리프레시 커맨드의 발행마다 1을 인크리먼트하고, 상기 리프레시 사이클 카운터에 의한 리프레시 사이클 기간의 카운트 만료마다 1을 디크리먼트하는 잉여 횟수 카운터(pcnt)를 갖는다. 이 때 메모리 제어 회로는, 상기 리프레시 사이클 카운터에 의한 계수값이 상기 제2 임계값에 도달할 때까지는, 상기 잉여 횟수 카운터에 의한 계수값이 상기 최대 잉여 횟수 레지스터의 설정값에 도달되어 있지 않은 것을 조건으로, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있을 때에 상기 리프레시 커맨드를 발행한다.
SDRAM에 대한 액세스가 없을 때에 언제나 리프레시 동작을 행하면, 동작을 헛되게 할뿐만 아니라 액세스 요구 회로에 의한 SDRAM에의 액세스의 기회를 감하는 결과로도 된다. 잉여 횟수 카운트값을 고려함으로써 그러한 결점을 현재화시키지 않는다. 요컨대, 리프레시 동작의 긴급도가 더욱 낮은 경우에는 SDRAM에 대한 상기 액세스 요구 회로로부터의 액세스를 리프레시 동작에 대하여 최우선으로 할 수 있다.
〔6〕<캘리브레이션 사이클 카운트값에 응한 긴급 캘리브레이션>
3항의 반도체 장치에 있어서, 상기 메모리 제어 회로는, 캘리브레이션 사이클이 설정되는 캘리브레이션 사이클 레지스터(CALINT)와, 상기 캘리브레이션 사이클 레지스터에 설정된 캘리브레이션 사이클의 기간을 계수하는 캘리브레이션 사이클 카운터(calcnt)를 갖는다. 이 때, 상기 메모리 제어 회로는, 상기 캘리브레이션 사이클 카운터에 의한 계수값이 상기 캘리브레이션 사이클 레지스터에서 지정된 값에 도달하고, 또한 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값(CALTH0)에 도달되어 있는 경우에는 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있지 않아도 상기 캘리브레이션 커맨드를 발행한다.
캘리브레이션 휴지 기간이 길어진 긴급 시에 대처할 수 있다. 긴급하게 캘리브레이션 커맨드를 발행했을 때, 메모리 제어 회로는 그 캘리브레이션 커맨드의 발행에 의해 중단된 기간을 메모리 액세스의 웨이트 사이클로서 제어하면 된다.
〔7〕<캘리브레이션 사이클 카운트값에 응한 통상 캘리브레이션>
6항의 반도체 장치에 있어서, 상기 메모리 제어 회로는, 상기 캘리브레이션 사이클 카운터에 의한 계수값이 상기 캘리브레이션 사이클 레지스터에서 지정된 값에 도달하고, 또한 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값에 도달되어 있지 않은 경우에는, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있는 경우에 상기 캘리브레이션 커맨드를 발행한다.
캘리브레이션 동작의 긴급도가 낮은 경우에는 상기 액세스 요구 회로로부터의 액세스 요구에 대한 SDRAM 액세스의 연속성이 보증되어 액세스 성능이 저하되지 않게 된다.
〔8〕<캘리브레이션 사이클 카운터의 제어>
7항의 반도체 장치에 있어서, 상기 캘리브레이션 사이클 카운터는, 리프레시 커맨드의 발행마다 계수 동작을 행하고, 계수값이 캘리브레이션 사이클 레지스터의 설정값에 도달했을 때에 초기값으로 복귀된다.
리프레시 동작을 행해야 할 간격에 대하여 캘리브레이션 동작을 행해야 할 간격이 길 때, 캘리브레이션 사이클 카운터의 계수 동작의 제어가 용이해진다. 특히, 상술한 긴급하게 캘리브레이션 커맨드를 발행해야 할지를 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값(CALTH0)에 도달되어 있는지의 여부에 따라 판별하는 동작과의 정합성이 우수하다.
〔9〕<리프레시 커맨드와 캘리브레이션 커맨드의 연속 발행을 억제>
본 발명이 다른 실시 형태에 관한 데이터 처리 시스템은, DDR형의 SDRAM(2(2_a, 2_b))과, 상기 SDRAM에 접속되는 마이크로컴퓨터(1)를 갖는다. 상기 마이크로컴퓨터는, 상기 SDRAM을 제어하는 메모리 제어 회로(20)와, 상기 메모리 제어 회로에 상기 SDRAM의 액세스를 요구하는 액세스 요구 회로(10 내지 14)를 갖는다. 상기 메모리 제어 회로는, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하기 위한 액세스 커맨드와, 설정된 리프레시 사이클을 기준으로 상기 SDRAM의 기억 정보를 재생하는 리프레시 동작을 요구하기 위한 리프레시 커맨드와, 설정된 캘리브레이션 사이클을 기준으로 상기 SDRAM의 내부 상태를 보정하기 위한 캘리브레이션 동작을 요구하기 위한 캘리브레이션 커맨드를 발행하고, 상기 리프레시 커맨드의 발행 후, 소정 시간만큼 상기 캘리브레이션 커맨드의 발행을 억제하고, 상기 캘리브레이션 커맨드의 발행 후, 소정 시간만큼 상기 리프레시 커맨드의 발행을 억제한다.
이에 의해, 리프레시 커맨드의 발행과 캘리브레이션 커맨드의 발행을 연속시키지 않도록 할 수 있고, 양쪽의 커맨드가 연속하는 것에 의한 SDRAM에 대한 액세스 속도의 저하를 방지할 수 있다.
〔10〕<온칩 CPU>
9항의 데이터 처리 시스템은 상기 액세스 요구 회로의 하나로서 CPU(중앙 처리 장치)를 갖는다.
〔11〕<rzcnt, zrcnt>
9항의 데이터 처리 시스템에 있어서, 상기 메모리 제어 회로는, 상기 CPU에 의해 지정된 제1 억제 기간을 계수하는 제1 억제 기간 카운터와, 상기 CPU에 의해 지정된 제2 억제 기간을 계수하는 제2 억제 기간 카운터를 구비한다. 이 때, 메모리 제어 회로는, 상기 리프레시 커맨드의 발행 후에 제1 억제 기간 카운터의 계수값이 제1 억제 기간을 초과할 때까지 캘리브레이션 커맨드의 발행을 억지하고, 상기 캘리브레이션 커맨드의 발행 후에 제2 억제 기간 카운터의 계수값이 제2 억제 기간을 초과할 때까지 리프레시 커맨드의 발행을 억지한다.
CPU를 사용해서 억제 기간을 프로그래머블하게 지정하는 것이 가능하다.
〔12〕<리프레시 사이클 카운트값에 응한 긴급 리프레시>
11항의 데이터 처리 시스템에 있어서, 상기 메모리 제어 회로는, 상기 CPU에 의해 지정된 리프레시 사이클의 기간을 계수하는 리프레시 사이클 카운터를 갖는다. 이 때 메모리 제어 회로는, 상기 리프레시 사이클 카운터에 의한 계수값이 제1 임계값에 도달한 이후는 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있지 않아도 상기 리프레시 커맨드를 발행한다.
리프레시 휴지 기간이 길어진 긴급 시에 대처할 수 있다. 긴급하게 리프레시 커맨드를 발행했을 때, 메모리 제어 회로는 그 리프레시 커맨드의 발행에 의해 중단된 기간을 메모리 액세스의 웨이트 사이클로서 제어하면 된다.
〔13〕<리프레시 사이클 카운트값에 응한 강제 리프레시>
12항의 데이터 처리 시스템에 있어서, 상기 메모리 제어 회로는, 상기 리프레시 사이클 카운터에 의한 계수값이 상기 제1 임계값의 바로 앞의 제2 임계값에 도달한 이후는, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있을 때 상기 리프레시 커맨드를 발행한다.
리프레시 동작의 긴급도가 낮은 경우에는, 상기 액세스 요구 회로로부터의 액세스 요구에 대한 SDRAM 액세스의 연속성이 보증되어 액세스 성능이 저하되지 않게 된다.
〔14〕<잉여 횟수 카운트값에 응한 선행 리프레시의 유무>
13항의 데이터 처리 시스템에 있어서, 상기 메모리 제어 회로는, 리프레시 커맨드 잉여 발행 횟수가 설정되는 최대 잉여 횟수 레지스터와, 상기 리프레시 커맨드의 발행마다 1을 인크리먼트하고, 상기 리프레시 사이클 카운터에 의한 리프레시 사이클 기간의 카운트 만료마다 1을 디크리먼트하는 잉여 횟수 카운터를 갖는다. 이 때, 상기 메모리 제어 회로는, 상기 리프레시 사이클 카운터에 의한 계수값이 상기 제2 임계값에 도달할 때까지는, 상기 잉여 횟수 카운터에 의한 계수값이 상기 최대 잉여 횟수 레지스터의 설정값에 도달되어 있지 않은 것을 조건으로, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있을 때에 상기 리프레시 커맨드를 발행한다.
SDRAM에 대한 액세스가 없을 때에 언제나 리프레시 동작을 행하면, 동작을 헛되게 할뿐만 아니라 액세스 요구 회로에 의한 SDRAM에의 액세스의 기회를 감하는 결과로도 된다. 잉여 횟수 카운트값을 고려함으로써 그러한 결점을 현재화시키지 않는다. 요컨대, 리프레시 동작의 긴급도가 더욱 낮은 경우에는 SDRAM에 대한 상기 액세스 요구 회로로부터의 액세스를 리프레시 동작에 대하여 최우선으로 할 수 있다.
〔15〕<캘리브레이션 사이클 카운트값에 응한 긴급 캘리브레이션>
12항의 데이터 처리 시스템에 있어서, 상기 메모리 제어 회로는, 상기 CPU에 의해 지정된 캘리브레이션 사이클의 기간을 계수하는 캘리브레이션 사이클 카운터를 갖는다. 이 때 상기 메모리 제어 회로는, 상기 캘리브레이션 사이클 카운터에 의한 계수값이 상기 캘리브레이션 사이클의 기간에 도달하고, 또한 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값에 도달되어 있는 경우에는, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있지 않아도 상기 캘리브레이션 커맨드를 발행한다.
이에 의해, 캘리브레이션 휴지 기간이 길어진 긴급 시에 대처할 수 있다. 긴급하게 캘리브레이션 커맨드를 발행했을 때, 메모리 제어 회로는 그 캘리브레이션 커맨드의 발행에 의해 중단된 기간을 메모리 액세스의 웨이트 사이클로서 제어하면 된다.
〔16〕<캘리브레이션 사이클 카운트값에 응한 통상 캘리브레이션>
15항의 데이터 처리 시스템에 있어서, 상기 메모리 제어 회로는, 상기 캘리브레이션 사이클 카운터에 의한 계수값이 상기 캘리브레이션 사이클의 기간에 도달하고, 또한 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값에 도달되어 있지 않은 경우에는, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있는 경우에 상기 캘리브레이션 커맨드를 발행한다.
캘리브레이션 동작의 긴급도가 낮은 경우에는 상기 액세스 요구 회로로부터의 액세스 요구에 대한 SDRAM 액세스의 연속성이 보증되어 액세스 성능이 저하되지 않게 된다.
〔17〕<캘리브레이션 사이클 카운터의 제어>
16항의 데이터 처리 시스템에 있어서, 상기 캘리브레이션 사이클 카운터는, 리프레시 커맨드의 발행마다 계수 동작을 행하고, 계수값이 캘리브레이션 사이클의 기간에 도달했을 때에 초기값으로 복귀된다.
리프레시 동작을 행해야 할 간격에 대하여 캘리브레이션 동작을 행해야 할 간격이 길 때, 캘리브레이션 사이클 카운터의 계수 동작의 제어가 용이해진다. 특히, 상술한 긴급하게 캘리브레이션 커맨드를 발행해야 할지를 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값(CALTH0)에 도달되어 있는지의 여부에 따라 판별하는 동작과의 정합성이 우수하다.
2. 실시 형태의 상세
실시 형태에 대해서 더욱 상세하게 설명한다.
《데이터 처리 시스템》
도 1에는 본 발명의 일실시 형태에 관한 데이터 처리 시스템이 도시되어 있다. 데이터 처리 시스템은 마이크로컴퓨터(MCU)(1)에 1개의 DDR3 형태의 SDRAM(2)이 접속되어 구성된다. MCU(1) 및 SDRAM(2)은 각각 따로 따로인 반도체 장치가 되고, 특별히 제한되지 않지만, 단결정 실리콘과 같은 1개의 반도체 기판에 CMOS 집적 회로 제조 기술에 의해 형성된다.
마이크로컴퓨터(1)는, 특별히 제한되지 않지만, CPU(10), DMAC(11), 묘화 컨트롤러(DRWC)(12), 표시 컨트롤러(DISPC)(13), 네트워크 컨트롤러(NETC)(14), 클럭펄스 제네레이터(CPG)(15), 화상 코덱(VCODEC)(16), 음성 코덱(SCODEC)(17), 타이머(TMR)(18), 시리얼 인터페이스(SRLIF)(19), 메모리 제어 회로로서의 SDRAM 컨트롤러(SDRAMC)(20)를 갖고, 그들 회로 모듈은 내부 버스(IBUS)(21)를 거쳐서 데이터 등의 입출력을 행한다.
CPU(10)는 SDRAM(2)의 프로그램 영역에 저장되어 있는 프로그램을 실행한다. DMAC(11)는 CPU에 의해 설정된 데이터 전송 조건에 따라서 SDRAM(2) 등과의 사이의 데이터 전송 제어를 행한다. 묘화 컨트롤러(12)는 SDRAM(2)의 프레임 버퍼 영역에 화상 데이터의 묘화 제어를 행한다. 표시 컨트롤러(13)는 SDRAM(2)의 프레임 버퍼 영역에 묘화된 화상 데이터에 표시 제어를 행한다. 네트워크 컨트롤러(14)는, CPU(10)에 의해 지정된 네트워크 프로토콜에 따라서 SDRAM(2)의 통신 버퍼 영역의 송신 데이터를 송신하고 또는 수신 데이터를 통신 버퍼 영역에 저장하는 통신 제어를 행한다. SDRAM 컨트롤러(20)는 액세스 요구 회로로서의 CPU(10), DMAC(11), 묘화 컨트롤러(12), 표시 컨트롤러(13) 및 네트워크 컨트롤러(14)로부터의 액세스 요구에 응답해서 SDRAM(2)에 대한 인터페이스 제어를 행한다.
내부 버스(21)는, 특별히 제한되지 않지만, 스플릿 트랜잭션 버스로 구성되고, 액세스를 요구하는 CPU(10) 등의 회로 모듈(이니시에이터)은 리퀘스트 패킷을 출력함으로써 액세스를 요구하고, 액세스되는 SDRAM(2)에 접속된 SDRAM 컨트롤러(20) 등의 회로 모듈(타깃)은 액세스 요구에 대한 응답 결과를 리스펀스 패킷에 의해 이니시에이터로 되돌린다. 이니시에이터와 타깃의 사이의 리퀘스트 패킷과 리스펀스 패킷에 대한 라우팅과 경합하는 패킷간의 조정은 도시를 생략하는 라우터가 행한다.
SDRAM(2)은 상보 클럭 신호(CK, CK#)(기호 #는 위상 반전 신호 또는 로우 인에이블 신호인 것을 의미한다)의 상승과 하강의 양쪽에 동기해서 기입 데이터의 입력과 판독 데이터의 출력을 행한다. 상기 클럭 신호(CK, CK#)는 클럭 인에이블 신호(CKE)가 활성화되어 있는 것을 조건으로 유효해진다. 복수 비트의 입출력 데이터는 DQ로 대표되고, 판독 및 기입의 데이터(DQ)의 확정은 데이터 스트로브 신호(DQS, DQS#)가 나타내고, 기입, 판독, 리프레시, 다이나믹 온 다이 터미네이션 등의 동작은 칩 선택 신호(CS#), 로우 어드레스 스트로브 신호(RAS#), 칼럼 어드레스 스트로브 신호(CAS#) 및 라이트 인에이블 신호(WE#) 등의 레벨 신호의 조합에 의해 결정되는 커맨드에 의해 지시된다. BA0-BA2는 다수의 다이나믹형 메모리 셀이 매트릭스 배치된 메모리 어레이를 구성하는 메모리 뱅크의 뱅크 선택 신호, A0-A15는 뱅크 내의 어드레스 신호를 의미한다. DM은 병렬 데이터의 일부를 마스크하기 위한 데이터 마스크 신호, RESET#은 SDRAM(2)에 대한 리셋 신호, ODT는 온 다이 터미네이션에 의한 종단부 저항을 데이터계 회로에 접속할지의 여부를 지시하는 지시 신호이다. 데이터계 회로는, 특별히 제한되지 않지만, 데이터(DQ) 및 데이터 스트로브 신호(DQS, DQS#)의 입출력 인터페이스 회로를 의미한다. 접지(GND)와의 사이에 접속된 ZQ는 다이나믹 온 다이 터미네이션에 의한 종단부 저항의 저항값을 보정하는 보정 회로에 의한 보정이 기준으로서 사용되는 저항 소자이다.
SDRAM(2)과의 사이의 상기 신호 CK, CK#, CKE, CS#, RAS#, CAS#, WE#, DM, BA0-BA2, A0-A15, RESET#, DQ, DQS, DQS#, ODT의 입출력은 SDRAM 컨트롤러(20)가 행한다.
SDRAM(2)의 상세한 구성에 대해서는 본 발명에 직접 관계 없으므로 여기에서는 상세한 설명은 생략한다. 본 발명은 SDRAM(2)에 있어서의 리프레시 동작과 다이나믹 온 다이 터미네이션에 의한 종단부 저항의 저항값을 보정하는 캘리브레이션 동작에 관계하므로, 양쪽의 동작을 지시하는 커맨드에 대해서 구체적으로 설명한다.
캘리브레이션 커맨드(ZQCS 커맨드)는 도 2에 예시되는 바와 같이, CS#=L(로우 레벨), RAS#=H, CAS#=H(하이 레벨), WE#=L, A10=L에 의해 지시되고, 그 밖의 신호값은 임의이면 된다. SDRAM 컨트롤러(20)로부터 SDRAM(2)에 캘리브레이션 커맨드가 발행되면, SDRAM(2)은 외부 저항(ZQ)의 저항값을 기준으로 온도 및 전원 전압에 대하여 데이터 출력계의 종단부 저항값을 보정한다.
소위 오토 리프레시로서의 리프레시 커맨드(REF 커맨드)는 도 3에 예시되는 바와 같이, CS#=L, RAS#=L, CAS#=L, WE#=H에 의해 지시된다. SDRAM 컨트롤러(20)로부터 SDRAM(2)에 리프레시 커맨드가 발행되면, SDRAM(2)은 워드선 선택 동작과 그것에 의해서 상보 비트선에 판독된 전하 정보의 감지 증폭 동작을 행하여 다이나믹형의 메모리 셀이 보유 지지하는 기억 정보의 재생을 행한다.
SDRAM 컨트롤러(20)와 SDRAM(2)의 접속 형태는 도 1의 1개의 SDRAM(2)을 사용하는 구성에 한정되지 않고, 도 4에 예시되는 바와 같이 예를 들어 2개의 SDRAM(2_a, 2_b)의 데이터 입출력 단자를 SDRAM 컨트롤러(20)가 대응하는 데이터 입출력 단자에 공통 접속하고, 별도의 칩 선택 신호(CS0#, CS1#), 별도의 클럭 인에이블 신호(CKE#0, CKE#1)와, 별도의 온 다이 터미네이션 신호(ODT#0, ODT#1)로 2개의 SDRAM(2_a, 2_b)을 개별적으로 동작을 선택하는 바와 같은 접속 형태를 채용해도 된다. 이 경우에는 그 밖의 신호(CK, CK#, RAS#, CAS#, WE#, DM, RESET#, DQS, DQS#)는 양쪽의 SDRAM(2_a, 2_b)에 공통으로 사용하면 된다. 또한, 도 5에 예시되는 바와 같이, 예를 들어 2개의 SDRAM(2_a, 2_b)의 데이터 입출력 단자를 SDRAM 컨트롤러(20)의 상위측 데이터 입출력 단자와 하위측 데이터 입출력 단자로 나누고, 동일하게 데이터 스트로브 신호에 대해서도 2개의 SDRAM(2_a, 2_b)에 대하여 상위측과 하위측에서 개별적으로 접속해서 2개의 SDRAM(2_a, 2_b)을 병렬 동작시키는 바와 같은 접속 형태를 채용해도 된다. 이 경우에는 그 밖의 신호(CS#), 클럭 인에이블 신호(CKE#, ODT#, CK, CK#, RAS#, CAS#, WE#, DM, RESET#)는 양쪽의 SDRAM(2_a, 2_b)에 공통으로 사용된다.
SDRAM 컨트롤러(20)에 대한 SDRAM(2)의 접속 형태가 도 1, 도 4 또는 도 5 중 어느 것이어도 SDRAM 컨트롤러(20)가 발행하는 상기 프레시 커맨드 및 캘리브레이션 커맨드에 틀림이 없다. SDRAM 컨트롤러(20)는 이것에 접속되는 모든 SDRAM에 대하여 소정의 인터벌마다 리프레시를 완료시키지 않으면 안되고, 또한, 소정의 인터벌마다 다이나믹 온 다이 터미네이션에 의한 종단부 저항에 대한 온도나 전원 전압의 변동에 의한 영향을 보정해야만 하기 때문이다.
도 6에는 SDRAM 컨트롤러(20)의 구체예가 나타나 있다. SDRAM 컨트롤러(20)는 DDR 인터페이스 제어부(DDRC)(30)와 DDR 인터페이스부(DDRIF)(31)로 이루어진다. DDR 인터페이스 제어부(30)는 리퀘스트 제어부(32), 리스펀스 제어부(33), 레지스터부(34) 및 디바이스 제어부(35)로 이루어진다. 리퀘스트 제어부(32)는 내부 버스(21)로부터 부여되는 리퀘스트 패킷을 분해하여 메모리 리드, 메모리 라이트, 레지스터 리드 및 레지스터 라이트 등의 인스트럭션과 라이트 데이터 등을 얻는다. 레지스터(34)에는 SDRAM의 제어에 필요한 후술하는 제어 데이터가 CPU(10)에 의해 초기 설정되는 복수의 레지스터를 갖는다. 디바이스 제어 회로(35)는, 상세를 후술하는 카운터 등의 연산 회로나 제어 로직(36)을 갖고, 리퀘스트 제어부(32)로부터 부여된 인스트럭션에 따른 제어 커맨드를 생성하고, 제어 커맨드의 생성에는 필요에 따라서 레지스터부(34)가 보유하는 제어 데이터 등을 참조한다. 레지스터 액세스를 위한 제어 커맨드는 레지스터부(34)에 부여되고, 메모리 액세스를 위한 제어 커맨드는 DDR 인터페이스부(31)에 부여된다.
DDR 인터페이스부(31)는 부여된 제어 커맨드에 따라서 SDRAM(2)을 제어하기 위해서 RAS#, CAS#, WE#, DQS, DQS#, CKE# 등의 제어 신호를 클럭 신호(CK, CK#)에 동기하는 타이밍으로 생성하고, 리드 동작의 경우에는 SDRAM(2)으로부터 출력된 리드 데이터(DQ)를 수취해서 디바이스 제어 회로(35)에 되돌린다. 라이트 동작의 경우에는 SDRAM(2)에 라이트 데이터를 공급한다. 리프레시 동작의 경우에는 리프레시 커맨드를 SDRAM(2)에 부여하고, 캘리브레이션 동작의 경우에는 캘리브레이션 커맨드를 SDRAM(2)에 부여한다.
리스펀스 제어부(33)는 레지스터 액세스 및 메모리 액세스의 액세스 결과로부터 리스펀스 패킷을 생성하고, 액세스 요구원(CPU 등이 포함되는 액세스 요구 회로 중 어느 하나)의 이니시에이터를 지정해서 리스펀스 패킷을 내부 버스(21)에 출력한다. 리드 동작에 응답하는 리스펀스 패킷에는 리드 데이터가 포함되고, 라이트 동작에 응답하는 리스펀스 패킷에는 라이트 완료 통지가 포함된다.
디바이스 제어부(35)는 리퀘스트 패킷에 포함되는 인스트럭션 단위로 제어 커맨드를 발행한다. 예를 들어, 디바이스 제어부(35)는 SDRAM(2)에 대한 64바이트의 연속 데이터의 액세스를 요구하는 리퀘스트 패킷를 수취했을 때, 64바이트의 버스트 액세스를 위한 제어 커맨드를 생성한다. 이 제어 커맨드에 응답하는 SDRAM 액세스의 도중에 우선도가 높은 SDRAM 동작이 개재되는 경우에는, 중단되는 SDRAM 액세스의 액세스 경과를 디바이스 제어부(35)가 관리하고, 우선도가 높은 SDRAM 동작이 종료된 후에 중단된 SDRAM 액세스 동작을 재개시키는 것이 가능하게 되어 있다. 이러한 웨이트 제어는 종래부터 이미 행해지고 있었기 때문에 더욱더 상세한 설명은 생략한다.
《리프레시 및 캘리브레이션 제어 기능》
이하에 있어서는, SDRAM 컨트롤러(20)에 의한 SDRAM에 대한 리프레시 커맨드 발행 제어 기능과 캘리브레이션 커맨드 발행 제어 기능에 대해서 상세하게 설명한다.
레지스터부(34)는 리프레시 커맨드 및 캘리브레이션 커맨드의 발행 제어를 위한 제어 데이터가 설정되는 레지스터로서, 리프레시 사이클 레지스터(REFINT), 최대 잉여 횟수 레지스터(REFPMAX), 캘리브레이션 사이클 레지스터(CALINT), 제1 억제 기간 레지스터(TCALRZ), 제2 억제 기간 레지스터(TCALZR), 제2 임계값으로서의 강제 임계값 레지스터(REFTH)를 갖고, 그들 레지스터는 CPU(10)에 의해 필요한 값이 프로그래머블하게 설정 가능해진다.
디바이스 제어부(35)는 리프레시 커맨드 및 캘리브레이션 커맨드의 발행 제어를 위한 연산 회로로서, 리프레시 사이클 카운터(intcnt), 잉여 횟수 카운터(pcnt), 캘리브레이션 사이클 카운터(calcnt), 제1 억제 기간 카운터(rzcnt), 제2 억제 기간 카운터(zrcnt), 제1 임계값으로서의 긴급 임계값 레지스터(REFTH0), 캘리브레이션 임계값 레지스터(CALTH0)를 갖는다.
리프레시 사이클 레지스터(REFINT)는 리프레시 동작의 평균 간격인 리프레시 사이클이 설정된다. 리프레시 사이클 카운터(intcnt)는 상기 리프레시 사이클 레지스터(REFINT)에 설정된 리프레시 사이클의 기간을 계수한다. 즉, 이 리프레시 사이클 카운터(intcnt)는 매 클럭마다 다운 카운트를 실행하고, 계수값이 0이 되면 리프레시 사이클 레지스터(REFINT)의 값을 리로드 해서 다운 카운트를 계속한다.
최대 잉여 횟수 레지스터(REFPMAX)는 선행 리프레시수로서의 리프레시 커맨드 잉여 발행 횟수가 설정된다. 잉여 횟수 카운터(pcnt)는, 상기 리프레시 커맨드의 발행마다 1을 인크리먼트하고, 상기 리프레시 사이클 카운터(intcnt)에 의한 리프레시 사이클 기간의 카운트 만료마다 1을 디크리먼트한다. 즉, 잉여 횟수 카운터(pcnt)는, 리프레시 커맨드의 발행으로 1을 인크리먼트하고, 리프레시 사이클 카운터(intcnt)가 0이 되면 1을 디크리먼트한다. 리프레시 사이클 카운터(intcnt)를 하위측 카운터로서 위치시키면, 잉여 횟수 카운터(pcnt)는 그 상위측 카운터로서 위치시킬 수 있다. 리프레시 동작은 기본적으로 메모리 액세스가 요구되어 있지 않은 비어있는 다음 시간을 이용해서 행하므로, SDRAM(2)의 모든 메모리 셀에 대한 리프레시 동작을 완료시키지 않으면 안되는 시간을 세분화해서 리프레시 사이클 카운터의 카운트값으로 관리하고, 그 전체의 시간을 상측의 잉여 횟수 카운터(pcnt)로 관리하려고 하는 것이다. 동작 상세에 대해서는 후술한다.
캘리브레이션 사이클 레지스터(CALINT)는 캘리브레이션 간격으로서의 캘리브레이션 사이클이 설정된다. 캘리브레이션 사이클 카운터(calcnt)는 상기 캘리브레이션 사이클 레지스터(CALINT)에 설정된 캘리브레이션 사이클의 기간을 계수한다. 즉, 캘리브레이션 사이클 카운터(calcnt)는 리프레시 커맨드가 발행될 때마다 1을 인크리먼트하고, 그 계수값이 캘리브레이션 사이클 레지스터(CALINT)의 설정값에 도달했을 때에 0으로 클리어된다. 캘리브레이션 사이클은 리프레시 사이클보다도 길어진다.
제1 억제 기간 레지스터(TCALRZ)는, 상기 리프레시 커맨드의 발행 후에 상기 캘리브레이션 커맨드의 발행을 억제하는 기간을 지정한다. 제1 억제 기간 카운터(rzcnt)는 상기 제1 억제 기간 레지스터(TCALRZ)에 설정된 기간을 계수한다. 즉, 리프레시 커맨드가 발행되었을 때, 제1 억제 기간 레지스터(TCALRZ)의 설정값이 로드되어 클럭 단위로 디크리먼트 동작을 개시하고, 계수값이 0이 되면 카운트 동작을 정지한다.
제2 억제 기간 레지스터(TCALZR)는 상기 캘리브레이션 커맨드의 발행 후, 상기 리프레시 커맨드의 발행을 억제하는 기간을 지정한다. 제2 억제 기간 카운터(zrcnt)는 상기 제2 억제 기간 레지스터(TCALZR)에 설정된 기간을 계수한다. 즉, 캘리브레이션 커맨드가 발행되었을 때, 제2 억제 기간 레지스터(TCALZR)의 설정값이 로드되어 클럭 단위로 디크리먼트 동작을 개시하고, 계수값이 0이 되면 카운트 동작을 정지한다.
강제 임계값 레지스터(REFTH)는 상기 리프레시 사이클 카운터(intcnt)에 의한 계수값과 비교됨으로써 리프레시 커맨드를 강제 발행해야 할지의 여부의 판별에 사용되는 제2 임계값으로서의 강제 임계값이 설정된다.
리프레시 커맨드의 강제 발행보다도 더욱 우선도가 높은 긴급 발행해야 할지의 여부의 판별에 사용되는 제1 임계값으로서의 긴급 임계값을, 제어 로직(36)이 레지스터 REFINT, REFPMAX, TCALZR의 설정값에 따라서 내부 연산에 의해 생성하여 레지스터 REFTH0으로 세트한다. 캘리브레이션 커맨드의 발행에 관해서도 상기 캘리브레이션 사이클 카운터(calcnt)에 의한 계수값에 대하여 긴급하게 캘리브레이션 커맨드를 발행해야 할지의 여부의 판별에 사용되는 캘리브레이션 임계값을, 제어 로직(36)이 레지스터 CALINT, TCALZR의 설정값에 따라서 내부 연산에 의해 생성하여 레지스터 CALTH0으로 세트한다.
도 7에는 SDRAM 컨트롤러(20)에 의한 리프레시 커맨드 및 캘리브레이션 커맨드의 발행 타이밍이 예시된다. 리프레시 커맨드(REF)를 발행했을 때는 그 후, 제1 억제 기간 카운터(rzcnt)에 의해 상기 제1 억제 기간 레지스터(TCALRZ)의 설정값에서 지정되는 제1 억제 기간(tIZQCS)의 동안, 캘리브레이션 커맨드의 발행을 억제하고, 리프레시 동작의 다음에 SDRAM(2)에 대한 메모리 액세스가 보증된다. 마찬가지로, 캘리브레이션 커맨드(ZQCS)를 발행했을 때는 그 후, 제2 억제 기간 카운터(zrcnt)에 의해 상기 제2 억제 기간 레지스터(TCALZR)의 설정값에서 지정되는 제2 억제 기간(tIREF)의 동안, 리프레시 커맨드의 발행을 억제하고, 캘리브레이션 동작의 다음에 SDRAM(2)에 대한 메모리 액세스가 보증된다. 이에 대해 상기 억제 기간의 제어를 행하지 않는 경우에는 도 8에 예시되는 바와 같이, 리프레시 커맨드(FRE)에 계속해서 캘리브레이션 커맨드(ZQCS)가 발행되면, 리프레시 동작 기간(tREF)과 캘리브레이션 동작 기간(tZQCS)을 맞춘 기간에 있어서 SDRAM 액세스를 행할 수 없게 된다.
《오토 리프레시 제어 플로우》
도 9에는 리프레시 커맨드를 사용하는 오토 리프레시의 제어 플로우가 예시되어 있다. 오토 리프레시가 인에이블하게 되어 오토 리프레시 동작 모드가 선택되어 있을 때(S1), 제2 억제 기간 카운터(zrcnt)의 값이 0이 되어 있지 않으면 도 7의 금지 기간(tIREF)이므로 그 기간 경과를 기다린다(S2). 금지 기간(tIREF)이 경과했을 때는 잉여 횟수 카운터(pcnt)가 0이 되어 있는지의 여부를 판별하고(S3), 0이 아니면 선행 리프레시 동작(S6)으로 진행한다. 잉여 횟수 카운터(pcnt)가 0이 되어 있는 경우에도, 리프레시 사이클 카운터(intcnt)의 값이 강제 임계값 레지스터(REFTH)의 강제 임계값의 값보다도 작아져 있지 않으면 상당히 여유가 있으므로 동일하게 선행 리프레시 동작(S6)으로 진행한다(S4). 리프레시 사이클 카운터(intcnt)의 값이 강제 임계값 레지스터(REFTH)의 강제 임계값보다도 작아져 있는 경우에는(S4), 또한 리프레시 사이클 카운터(intcnt)의 값이 긴급 임계값 레지스터(REFTH0)의 긴급 임계값보다도 작아져 있는지의 여부를 판별하고, 작지 않으면 아직 여유가 있으므로 강제 리프레시 동작(S7)으로 진행하고, 작으면 이미 여유가 없으므로 긴급 리프레시 동작(S8)으로 진행한다.
도 10에는 선행 리프레시 동작의 제어 플로우가 예시되어 있다. 선행 리프레시 동작에서는 우선 잉여 횟수 카운터(pcnt)의 값이 최대 잉여 횟수 레지스터(REFPMAX)의 값보다도 작은지의 여부를 판별하고(S10), 크면 현 시점에서 필요한 리프레시 동작은 충분하므로 처리를 종료한다. 잉여 횟수 카운터(pcnt)의 값이 최대 잉여 횟수 레지스터(REFPMAX)의 값보다도 작은 경우에는, 내부 버스(21)로부터의 리퀘스트 패킷에 의한 액세스 요구에 대한 SDRAM 액세스가 완료되어 있는지를 판별하고(S11), 완료되어 있지 않으면 처리를 종료한다. 완료되어 있지 않으면 리프레시 커맨드를 발행하고(S12), 계속해서, 잉여 횟수 카운터(pcnt)의 값을 1 인크리먼트해서(S13) 처리를 종료한다.
도 11에는 강제 리프레시 동작의 제어 플로우가 예시되어 있다. 강제 리프레시 동작에서는 우선 내부 버스(21)로부터의 리퀘스트 패킷에 의한 액세스 요구에 대한 SDRAM 액세스가 완료되어 있는지를 판별하고(S20), 완료되어 있지 않으면 처리를 종료하고, 완료되어 있으면 리프레시 커맨드를 발행하고(S21), 계속해서, 잉여 횟수 카운터(pcnt)의 값을 1 인크리먼트해서(S22) 처리를 종료한다.
도 12에는 긴급 리프레시 동작의 제어 플로우가 예시되어 있다. 긴급 리프레시 동작에서는, 내부 버스(21)로부터의 리퀘스트 패킷에 의한 액세스 요구에 대한 SDRAM 액세스가 완료되어 있지 않아도 리프레시 커맨드를 발행하고(S30), 계속해서, 잉여 횟수 카운터(pcnt)의 값을 1 인크리먼트해서(S31) 처리를 종료한다. SDRAM 액세스의 도중에 이것을 중단해서 리프레시 커맨드를 강제적으로 발행했을 때, 상술한 바와 같이 SDRAM 컨트롤러(20)는 리프레시 완료 후에 중단한 SDRAM 액세스를 재개하는 제어를 행한다.
《오토 캘리브레이션 제어 플로우》
도 13에는 캘리브레이션 커맨드를 사용하는 오토 캘리브레이션의 제어 플로우가 예시되어 있다. 오토 캘리브레이션이 인에이블하게 되어 오토 캘리브레이션 동작 모드가 선택되어 있을 때(S40), 제1 억제 기간 카운터(rzcnt)의 값이 0이 되어 있지 않으면 도 7의 금지 기간(tIZQCS)이므로 그 기간 경과를 기다린다(S41). 금지 기간(tIZQCS)이 경과했을 때는, 캘리브레이션 사이클 카운터(calcnt)가 캘리브레이션 사이클 레지스터(CALINT)의 설정값에 도달했는지의 여부를 판별하고(S42), 도달되어 있지 않으면 도달할 때까지 기다리고, 도달되어 있으면 리프레시 사이클 카운터(intcnt)의 값이 캘리브레이션 임계값(CALTH0) 이하인지의 여부가 판별된다(S43). 다운 카운트되는 리프레시 사이클 카운터(intcnt)의 값이 캘리브레이션 임계값(CALTH0) 이하가 되어 있지 않으면 아직 여유가 있으므로 통상 캘리브레이션 동작으로 진행한다(S44). S43의 판별에서 리프레시 사이클 카운터(intcnt)의 값이 캘리브레이션 임계값(CALTH0) 이하가 되어 있는 경우에는, 이미 여유가 없으므로 긴급 캘리브레이션 동작(S45)으로 진행한다.
도 14에는 통상 캘리브레이션 동작의 제어 플로우가 예시되어 있다. 통상 캘리브레이션 동작에서는, 우선 내부 버스(21)로부터의 리퀘스트 패킷에 의한 액세스 요구에 대한 SDRAM 액세스가 완료되어 있는지의 여부를 판별하고(S50), 완료되어 있지 않으면 처리를 종료하고, 완료되어 있으면 캘리브레이션 커맨드를 발행하여(S51), 처리를 종료한다.
도 15에는 긴급 캘리브레이션 동작의 제어 플로우가 예시되어 있다. 긴급 리프레시 동작에서는, 내부 버스(21)로부터의 리퀘스트 패킷에 의한 액세스 요구에 대한 SDRAM 액세스가 완료되어 있지 않아도 캘리브레이션 커맨드를 발행해서(S60), 처리를 종료한다. SDRAM 액세스의 도중에 이것을 중단해서 캘리브레이션 커맨드를 강제적으로 발행했을 때, 상술한 바와 같이 SDRAM 컨트롤러(20)는 캘리브레이션 동작의 완료 후에 중단한 SDRAM 액세스를 재개하는 제어를 행한다.
《동작 타이밍》
도 16에는 통상 캘리브레이션을 행하는 경우의 동작 타이밍이 예시되어 있다. 시각 t1에 있어서 리프레시 사이클 카운터(intcnt)의 값이 N일 때에 리프레시 커맨드(REF)가 발행되면, 이것에 동기하여 잉여 횟수 카운터(pcnt)의 값이 M에서 M+1로 인크리먼트되고, 캘리브레이션 사이클 카운터(calcnt)의 값이 0으로 초기화된다. 또한, 제1 억제 기간 카운터(rzcnt)에 제1 억제 기간 레지스터(TCALRZ)의 값이 로드되어 클럭의 계수를 개시한다. 제1 억제 기간 카운터(rzcnt)의 값이 초기값에서 0이 될 때까지의, 시각 t1(리프레시 커맨드 발행 후)에서 t2까지의 기간이 새로운 캘리브레이션 커맨드의 발행 억제 기간(tIZQCS)이 된다. 이 기간에서는, 예를 들어 로우 어드레스계의 액티브 커맨드(ACT)나 리드 커맨드(READ)가 발행된다. 시각 t2 이후는 캘리브레이션 커맨드의 발행이 가능하게 되어, 예를 들어 시각 t3에서 캘리브레이션 커맨드(ZQCS)가 발행된다. 캘리브레이션 커맨드(ZQCS)가 발행되면, 제2 억제 기간 카운터(zrcnt)에 제2 억제 기간 레지스터(TCALZR)의 값이 로드되어 클럭의 계수를 개시한다. 제2 억제 기간 카운터(zrcnt)의 값이 초기값에서 0이 될 때까지의, 시각 t3(캘리브레이션 커맨드 발행 후)에서 t4까지의 기간이 새로운 리프레시 커맨드(REF)의 발행 억제 기간(tIREF)이 된다. 이 기간에서는, 예를 들어 로우 어드레스계의 액티브 커맨드(ACT)나 리드 커맨드(READ)가 발행된다.
도 17에는 긴급 캘리브레이션을 행하는 경우의 동작 타이밍이 예시되어 있다. 시각 t1에 있어서 리프레시 사이클 카운터(intcnt)의 값이 1일 때에 리프레시 커맨드(REF)가 발행되면, 이것에 동기하여 잉여 횟수 카운터(pcnt)의 값이 0에서 1로 인크리먼트되고, 캘리브레이션 사이클 카운터(calcnt)의 값이 0으로 초기화된다. 또한, 제1 억제 기간 카운터(rzcnt)에 제1 억제 기간 레지스터(TCALRZ)의 값이 로드되어 클럭의 계수를 개시한다. 제1 억제 기간 카운터(rzcnt)의 값이 초기값에서 0이 될 때까지의, 시각 t1에서 t2까지의 기간이 새로운 캘리브레이션 커맨드의 발행 억제 기간(tIZQCS)이 된다. 이 기간에서는, 예를 들어 로우 어드레스계의 액티브 커맨드(ACT)나 리드 커맨드(READ)가 발행된다. 여기에서는 시각 t2에 있어서, 캘리브레이션 사이클 카운터(calcnt)의 값이 레지스터(CALINT)의 초기값까지 인크리먼트되어 리프레시 사이클 카운터(intcnt)의 값이 임계값(CALTH0)보다도 작아져 있으므로, 긴급 캘리브레이션 동작이 선택된다. 이에 의해 프리차지 올 커맨드(즉, 전 뱅크를 대상으로 하여 프리차지 동작을 지시하는 커맨드)(PREA)의 발행을 거쳐서 시각 t4에 캘리브레이션 커맨드(ZQCS)를 발행한다. 캘리브레이션 커맨드(ZQCS)가 발행되면, 제2 억제 기간 카운터(zrcnt)에 제2 억제 기간 레지스터(TCALZR)의 값이 로드되어 클럭의 계수를 개시한다. 제2 억제 기간 카운터(zrcnt)의 값이 초기값에서 0이 될 때까지의, 시각 t3에서 t4까지의 기간이 새로운 리프레시 커맨드(REF)의 발행 억제 기간(tIREF)이 된다. 이 기간에서는, 예를 들어 로우 어드레스계의 액티브 커맨드(ACT)나 리드 커맨드(READ)가 발행된다. 여기에서는 시각 t4에 있어서, 잉여 횟수 카운터(pcnt)의 값이 0까지 디크리먼트되어 있고, 게다가, 리프레시 사이클 카운터(intcnt)의 값이 임계값(REFTH0)보다도 작아져 있으므로, 긴급 리프레시 동작이 선택된다. 이에 의해 프리차지 올 커맨드(즉, 전 뱅크를 대상으로 해서 프리차지 동작을 지시하는 커맨드)(PREA)의 발행을 거쳐서 시각 t5에 리프레시 커맨드(REF)를 발행한다.
도 17의 경우에는 시각 t3이나 t5의 타이밍으로 SDRAM 컨트롤러(20)에 버스 액세스가 요구되어 있어도 SDRAM 컨트롤러(20)는 도시한 바와 같이 강제적으로 캘리브레이션 커맨드(ZQCS)나 리프레시 커맨드(REF)를 발행한다. 이에 대해 도 16의 경우에는 시각 t3이나 t5의 타이밍으로 SDRAM 컨트롤러(20)에 버스 액세스가 요구되어 있으면, 도시하는 타이밍과는 달라지고, SDRAM 컨트롤러(20)는 캘리브레이션 커맨드(ZQCS)나 리프레시 커맨드(REF)를 발행하지 않고 버스 액세스에 응답하는 SDRAM 액세스가 끝나는 것을 기다리게 된다.
도 18 내지 도 20에는 SDRAM 컨트롤러(20)가 선택적으로 칩 선택을 행하는 복수개의 SDRAM을 제어하는 경우에 있어서의 캘리브레이션 동작의 실행 형태가 예시되어 있다. 도 18은 복수개의 SDRAM에 대하여 병렬로 캘리브레이션 동작을 행하는 경우의 동작 타이밍을 나타내고, 도 19는 순차 연속 실행, 도 20은 라운드 로빈 알고리즘에 의한 순차적인 사항을 나타낸다.
도 18의 병렬 실행인 경우에는 전체 실행 시간은 짧아지지만 최대 소비 전력이 지나치게 커지는 경우가 있다. 도 19의 경우에는 최대 소비 전력은 작지만 전 체 실행 시간은 길어진다. 도 20의 경우에는 도 19의 경우와 마찬가지이지만 복수회의 캘리브레이션 동작의 직렬적인 연속에 의해 메모리 액세스가 연속해서 지나치게 길어지는 것이 해소된다.
상기 실시 형태에 의하면 이하의 작용 효과를 얻는다.
〔1〕리프레시 커맨드의 발행과 캘리브레이션 커맨드의 발행을 연속시키지 않도록 할 수 있고, 양쪽의 커맨드가 연속함으로 인한 액세스 속도의 저하를 방지할 수 있다.
〔2〕리프레시 커맨드의 발행 후 상기 캘리브레이션 커맨드의 발행을 억제하는 기간, 캘리브레이션 커맨드의 발행 후의 상기 리프레시 커맨드의 발행을 억제하는 기간의 각각을 레지스터에 프로그래머블하게 설정하는 것이 가능하다.
〔3〕긴급 리프레시 동작을 채용함으로써, 리프레시 휴지 기간이 길어진 긴급 시에 대처할 수 있다.
〔4〕강제 리프레시 동작을 채용함으로써, 리프레시 동작의 긴급도가 낮은 경우에는 상기 액세스 요구 회로로부터의 액세스 요구에 대한 SDRAM 액세스의 연속성을 보증하여 액세스 성능이 저하되지 않도록 할 수 있다.
〔5〕SDRAM에 대한 액세스가 없을 때에 언제나 리프레시 동작을 행하면, 동작을 헛되게 할뿐만 아니라 액세스 요구 회로에 의한 SDRAM에의 액세스의 기회를 감하는 결과로도 된다. 잉여 횟수 카운트값을 고려 함으로써 그러한 결점을 현재화시키지 않는다. 요컨대, 리프레시 동작의 긴급도가 더욱 낮은 경우에는 SDRAM에 대한 상기 액세스 요구 회로로부터의 액세스를 리프레시 동작에 대하여 최우선으로 할 수 있다.
〔6〕긴급 캘리브레이션 동작을 채용함으로써, 캘리브레이션 휴지 기간이 길어진 긴급 시에 대처할 수 있다.
〔7〕통상 캘리브레이션 동작을 채용함으로써, 캘리브레이션 동작의 긴급도가 낮은 경우에는 상기 액세스 요구 회로로부터의 액세스 요구에 대한 SDRAM 액세스의 연속성을 보증하여 액세스 성능이 저하되지 않도록 할 수 있다.
〔8〕캘리브레이션 사이클 카운터는, 리프레시 커맨드의 발행마다 계수 동작을 행하고, 계수값이 캘리브레이션 사이클 레지스터의 설정값에 도달했을 때에 초기값으로 복귀시키는 제어를 채용함으로써, 리프레시 동작을 행해야 할 간격에 대하여 캘리브레이션 동작을 행해야 할 간격이 길 때, 캘리브레이션 사이클 카운터의 계수 동작의 제어가 용이해진다. 특히, 그와 같은 제어는, 상술한 긴급에 캘리브레이션 커맨드를 발행해야 할지를 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값(CALTH0)에 도달되어 있는지의 여부에 따라 판별하는 동작과의 정합성이 우수하다.
이상 본 발명자에 의해 이루어진 발명을 실시 형태에 기초하여 구체적으로 설명했지만, 본 발명은 그것에 한정되지 않고, 그 요지를 일탈하지 않는 범위에서 여러가지 변경 가능한 것은 말할 필요도 없다.
예를 들어, SDRAM이 DDR3에 한정되지 않는다. SDRAM 컨트롤러에 접속되는 SDRAM의 수는 한정되지 않는다. 레지스터 설정은 CPU에 의한 설정에 한정되지 않는다. 또한, 레지스터 대신에 다른 회로를 사용해도 된다. 마이크로컴퓨터의 온 칩 회로 모듈은 상기 설명에 한정되지 않지만, 내부 버스는 상기에 한정되지 않고, 복수 계층 버스이어도 되고, 또한, 스플릿 트랜잭션 버스에 한정되지 않는다. 또한, SDRAM에 대한 액세스 커맨드는 액티브 커맨드(ACT), 리드 커맨드(READ), 라이트 커맨드 등에 한정되지 않고, 그 밖의 커맨드를 포함하거나, 다른 커맨드이어도 된다.
본 발명은, DDR-SDRAM을 제어하는 메모리 제어 기술, 특히 리프레시 커맨드와 캘리브레이션 커맨드의 발행 제어 기술에 널리 적용할 수 있다.
1 : 마이크로컴퓨터(MCU)
2 : SDRAM
10 : CPU
11 : DMAC
12 : 묘화 컨트롤러(DRWC)
13 : 표시 컨트롤러(DISPC)
14 : 네트워크 컨트롤러(NETC)
15 : 클럭 펄스 제네레이터(CPG)
16 : 화상 코덱(VCODEC)
17 : 음성 코덱(SCODEC)
18 : 타이머(TMR)
19 : 시리얼 인터페이스(SRLIF)
20 : 메모리 제어 회로로서의 SDRAM 컨트롤러(SDRAMC)
21 : 내부 버스(IBUS)
CK, CK# : 상보 클럭 신호
CKE : 클럭 인에이블 신호
DQ : 입출력 데이터
DQS, DQS# : 데이터 스트로브 신호
CS# : 칩 선택 신호
RAS# : 로우 어드레스 스트로브 신호
CAS# : 칼럼 어드레스 스트로브 신호
WE# : 라이트 인에이블 신호
30 : DDR 인터페이스 제어부(DDRC)
31 : DDR 인터페이스부(DDRIF)
32 : 리퀘스트 제어부
33 : 리스펀스 제어부
34 : 레지스터부
35 : 디바이스 제어부
REFINT : 리프레시 사이클 레지스터
REFPMAX : 최대 잉여 횟수 레지스터
CALINT : 캘리브레이션 사이클 레지스터
TCALRZ : 제1 억제 기간 레지스터
TCALZR : 제2 억제 기간 레지스터
REFTH : 제2 임계값으로서의 강제 임계값 레지스터
intcnt : 리프레시 사이클 카운터
pcnt : 잉여 횟수 카운터
calcnt : 캘리브레이션 사이클 카운터
rzcnt : 제1 억제 기간 카운터
zrcnt : 제2 억제 기간 카운터
레지스터 REFTH0 : 제1 임계값으로서의 긴급 임계값
CALTH0 : 캘리브레이션 임계값 레지스터

Claims (12)

  1. DDR형의 SDRAM을 제어하는 메모리 제어 회로와,
    상기 메모리 제어 회로에 상기 SDRAM의 액세스를 요구하는 액세스 요구 회로를 갖고,
    상기 메모리 제어 회로는,
    상기 액세스 요구 회로로부터의 액세스 요구에 응답하기 위한 액세스 커맨드와,
    설정된 리프레시 사이클을 기준으로 상기 SDRAM의 기억 정보를 재생하는 리프레시 동작을 요구하기 위한 리프레시 커맨드와,
    설정된 캘리브레이션 사이클을 기준으로 상기 SDRAM의 종단 저항값을 보정하기 위한 캘리브레이션 동작을 요구하기 위한 캘리브레이션 커맨드를 발행 가능하게 되고,
    상기 메모리 제어 회로는,
    상기 리프레시 커맨드의 발행 후 상기 캘리브레이션 커맨드의 발행을 제한하는 기간을 지정하는 제1 레지스터와,
    상기 캘리브레이션 커맨드의 발행 후 상기 리프레시 커맨드의 발행을 제한하는 기간을 지정하는 제2 레지스터를 더 갖는, 반도체 장치.
  2. 제1항에 있어서,
    상기 메모리 제어 회로는,
    상기 제1 레지스터에 설정된 기간을 계수하는 제1 카운터와,
    상기 제2 레지스터에 설정된 기간을 계수하는 제2 카운터를 더 구비하고,
    상기 리프레시 커맨드의 발행 후, 상기 제1 카운터의 계수 값이 상기 제1 레지스터의 설정된 기간을 초과할 때까지, 상기 캘리브레이션 커맨드의 발행을 제한하고,
    상기 캘리브레이션 커맨드의 발행 후, 상기 제2 카운터의 계수값이 상기 제2 레지스터의 설정된 기간을 초과할 때까지 상기 리프레시 커맨드의 발행을 제한하는 반도체 장치.
  3. 제2항에 있어서,
    상기 메모리 제어 회로는, 리프레시 사이클이 설정되는 리프레시 사이클 레지스터와,
    상기 리프레시 사이클 레지스터에 설정된 리프레시 사이클의 기간을 계수하는 리프레시 사이클 카운터를 갖고,
    상기 리프레시 사이클 카운터에 의한 계수값이 제1 임계값에 도달한 이후는, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있지 않아도 상기 리프레시 커맨드를 발행하는 반도체 장치.
  4. 제3항에 있어서,
    상기 메모리 제어 회로는, 상기 리프레시 사이클 카운터에 의한 계수값이 상기 제1 임계값의 바로 앞의 제2 임계값에 도달한 이후는 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있을 때에 상기 리프레시 커맨드를 발행하는 반도체 장치.
  5. 제4항에 있어서,
    상기 메모리 제어 회로는, 리프레시 커맨드 잉여 발행 횟수가 설정되는 최대 잉여 횟수 레지스터와,
    상기 리프레시 커맨드의 발행마다 1을 인크리먼트하고, 상기 리프레시 사이클 카운터에 의한 리프레시 사이클 기간의 카운트 만료마다 1을 디크리먼트하는 잉여 횟수 카운터를 더 갖고,
    상기 리프레시 사이클 카운터에 의한 계수값이 상기 제2 임계값에 도달할 때까지는, 상기 잉여 횟수 카운터에 의한 계수값이 상기 최대 잉여 횟수 레지스터의 설정값에 도달되어 있지 않은 것을 조건으로, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있을 때에 상기 리프레시 커맨드를 발행하는 반도체 장치.
  6. 제3항에 있어서,
    상기 메모리 제어 회로는, 캘리브레이션 사이클이 설정되는 캘리브레이션 사이클 레지스터와,
    상기 캘리브레이션 사이클 레지스터에 설정된 캘리브레이션 사이클의 기간을 계수하는 캘리브레이션 사이클 카운터를 더 갖고,
    상기 캘리브레이션 사이클 카운터에 의한 계수값이 상기 캘리브레이션 사이클 레지스터에서 지정된 값에 도달하고 또한 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값에 도달되어 있는 경우, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있지 않아도 상기 캘리브레이션 커맨드를 발행하는 반도체 장치.
  7. 제6항에 있어서,
    상기 메모리 제어 회로는, 상기 캘리브레이션 사이클 카운터에 의한 계수값이 상기 캘리브레이션 사이클 레지스터에서 지정된 값에 도달하고 또한 상기 리프레시 사이클 카운터의 값이 캘리브레이션 임계값에 도달되어 있지 않은 경우, 상기 액세스 요구 회로로부터의 액세스 요구에 응답하는 액세스가 완료되어 있는 경우에 상기 캘리브레이션 커맨드를 발행하는 반도체 장치.
  8. 제7항에 있어서,
    상기 캘리브레이션 사이클 카운터는, 상기 리프레시 커맨드의 발행마다 계수 동작을 행하고, 계수값이 상기 캘리브레이션 사이클 레지스터의 설정값에 도달했을 때에 초기값으로 복귀되는 반도체 장치.
  9. CPU와,
    상기 CPU에 결합된 버스와,
    상기 버스에 결합되고, DDR형의 SDRAM을 제어하는 메모리 제어 회로를 갖고,
    상기 메모리 제어 회로는,
    상기 CPU로부터의 액세스 요구에 응답하기 위한 액세스 커맨드와,
    설정된 리프레시 사이클을 기준으로 상기 SDRAM의 기억 정보를 재생하는 리프레시 동작을 요구하기 위한 리프레시 커맨드와,
    설정된 캘리브레이션 사이클을 기준으로 상기 SDRAM의 종단 저항값을 보정하기 위한 캘리브레이션 동작을 요구하기 위한 캘리브레이션 커맨드를 발행 가능하고,
    상기 메모리 제어 회로는, 또한,
    상기 리프레시 커맨드의 발행 후에 있어서의 상기 캘리브레이션 커맨드의 발행을 제한하는 기간을 지정하는 제1 레지스터와,
    상기 캘리브레이션 커맨드의 발행 후에 있어서의 상기 리프레시 커맨드의 발행을 제한하는 기간을 지정하는 제2 레지스터를 더 갖는, 1개의 반도체 기판에 형성된 마이크로컴퓨터.
  10. 제9항에 있어서,
    상기 메모리 제어 회로는,
    상기 제1 레지스터에 설정된 기간을 계수하는 제1 카운터와,
    상기 제2 레지스터에 설정된 기간을 계수하는 제2 카운터를 더 구비하고,
    상기 리프레시 커맨드의 발행 후, 상기 제1 카운터의 계수 값이 상기 제2 레지스터의 설정된 기간을 초과할 때까지, 상기 캘리브레이션 커맨드의 발행을 제한하고,
    상기 캘리브레이션 커맨드의 발행 후, 상기 제2 카운터의 계수값이 상기 제1 레지스터의 설정된 기간을 초과할 때까지 상기 리프레시 커맨드의 발행을 제한하는 마이크로컴퓨터.
  11. 제1항에 있어서,
    상기 캘리브레이션 커맨드의 발행과 상기 리프레시 커맨드의 발행은 연속하지 않는, 반도체 장치.
  12. 제9항에 있어서,
    상기 캘리브레이션 커맨드의 발행과 상기 리프레시 커맨드의 발행은 연속하지 않는, 마이크로컴퓨터.
KR1020187000694A 2010-07-29 2011-06-21 반도체 장치 및 데이터 처리 시스템 KR101913549B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010170225 2010-07-29
JPJP-P-2010-170225 2010-07-29
PCT/JP2011/064113 WO2012014603A1 (ja) 2010-07-29 2011-06-21 半導体装置及びデータ処理システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020137002198A Division KR101818968B1 (ko) 2010-07-29 2011-06-21 반도체 장치 및 데이터 처리 시스템

Publications (2)

Publication Number Publication Date
KR20180006506A KR20180006506A (ko) 2018-01-17
KR101913549B1 true KR101913549B1 (ko) 2018-10-30

Family

ID=45529823

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187000694A KR101913549B1 (ko) 2010-07-29 2011-06-21 반도체 장치 및 데이터 처리 시스템
KR1020137002198A KR101818968B1 (ko) 2010-07-29 2011-06-21 반도체 장치 및 데이터 처리 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020137002198A KR101818968B1 (ko) 2010-07-29 2011-06-21 반도체 장치 및 데이터 처리 시스템

Country Status (6)

Country Link
US (3) US9111632B2 (ko)
EP (2) EP2600253B1 (ko)
JP (3) JP5490239B2 (ko)
KR (2) KR101913549B1 (ko)
CN (2) CN103038754B (ko)
WO (1) WO2012014603A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014603A1 (ja) * 2010-07-29 2012-02-02 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
US8972818B2 (en) * 2012-10-05 2015-03-03 Qualcomm Incorporated Algorithm for optimal usage of external memory tuning sequence
JP6274774B2 (ja) * 2013-08-06 2018-02-07 キヤノン株式会社 メモリインターフェース装置及びその制御方法
JP2016018430A (ja) * 2014-07-09 2016-02-01 ソニー株式会社 メモリ管理装置
JP6180450B2 (ja) * 2015-02-02 2017-08-16 キヤノン株式会社 制御装置、制御装置の制御方法及びプログラム
US10192607B2 (en) * 2016-05-31 2019-01-29 Qualcomm Incorporated Periodic ZQ calibration with traffic-based self-refresh in a multi-rank DDR system
US10348270B2 (en) * 2016-12-09 2019-07-09 Micron Technology, Inc. Apparatuses and methods for calibrating adjustable impedances of a semiconductor device
SG11201908904TA (en) * 2017-04-14 2019-10-30 Huawei Tech Co Ltd Memory refresh technology and computer system
JP6890055B2 (ja) * 2017-06-30 2021-06-18 ルネサスエレクトロニクス株式会社 半導体装置
KR102480017B1 (ko) 2017-08-11 2022-12-21 삼성전자 주식회사 입출력 장치의 성능 및 전력소모를 조절하는 메모리 컨트롤러, 어플리케이션 프로세서 및 메모리 컨트롤러의 동작방법
CN107463459B (zh) * 2017-08-14 2021-02-26 海信视像科技股份有限公司 系统异常内存数据的保存方法、装置、系统及终端设备
CN110058793B (zh) 2018-01-19 2020-04-28 华为技术有限公司 一种刷新处理方法、装置、系统及内存控制器
US11226752B2 (en) * 2019-03-05 2022-01-18 Apple Inc. Filtering memory calibration
US11449439B1 (en) 2019-07-25 2022-09-20 Rambus Inc. Fragmented periodic timing calibration
US11527269B2 (en) * 2019-12-17 2022-12-13 Apple Inc. Memory channels calibration during boot wherein channels are calibrated in parallel based on identifers
CN114546910A (zh) * 2020-11-20 2022-05-27 Oppo广东移动通信有限公司 访问控制方法、装置、存储介质及电子装置
TWI779444B (zh) * 2020-12-28 2022-10-01 瑞昱半導體股份有限公司 用於同步動態隨機存取記憶體之控制模組及其控制方法
TWI755291B (zh) * 2021-02-26 2022-02-11 華邦電子股份有限公司 半導體記憶裝置
CN115033519B (zh) * 2022-06-30 2023-07-25 中国科学院长春光学精密机械与物理研究所 长时间工作的探测器spi寄存器的预防打翻方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204669A1 (en) 2002-04-25 2003-10-30 Vasanth Ranganathan Method and apparatus for handling memory refresh and maintenance operations
US20070007992A1 (en) 2005-06-30 2007-01-11 Bains Kuljit S Method to calibrate DRAM Ron and ODT values over PVT
JP2008048384A (ja) * 2006-06-21 2008-02-28 Intel Corp トグル制御を有するサーマルセンサ
US20080140923A1 (en) * 2004-11-12 2008-06-12 Mark David Bellows Deferring Refreshes During Calibrations in Memory Systems

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5486864A (en) * 1993-05-13 1996-01-23 Rca Thomson Licensing Corporation Differential time code method and apparatus as for a compressed video signal
WO1999046775A2 (en) * 1998-03-10 1999-09-16 Rambus, Inc. Performing concurrent refresh and current control operations in a memory subsystem
US6754784B1 (en) * 2000-02-01 2004-06-22 Cirrus Logic, Inc. Methods and circuits for securing encached information
JP2002108693A (ja) 2000-10-03 2002-04-12 Fujitsu Ltd データ読み出し方法、メモリコントローラ及び半導体集積回路装置
JP4443067B2 (ja) * 2001-04-26 2010-03-31 富士通マイクロエレクトロニクス株式会社 プロセッサおよびそのリセット制御方法
GB2380035B (en) * 2001-09-19 2003-08-20 3Com Corp DRAM refresh command operation
US20040174570A1 (en) * 2002-12-02 2004-09-09 Plunkett Richard Thomas Variable size dither matrix usage
JP4450586B2 (ja) * 2003-09-03 2010-04-14 株式会社ルネサステクノロジ 半導体集積回路
JP4478974B2 (ja) * 2004-01-30 2010-06-09 エルピーダメモリ株式会社 半導体記憶装置及びそのリフレッシュ制御方法
JP2005310245A (ja) * 2004-04-20 2005-11-04 Seiko Epson Corp メモリコントローラ、半導体集積回路装置、マイクロコンピュータ及び電子機器
US20060100806A1 (en) * 2004-11-10 2006-05-11 Matsushita Electric Industrial Co., Ltd. Enhanced system for electronic storage device calibrations
JP2006293889A (ja) * 2005-04-14 2006-10-26 Oki Electric Ind Co Ltd チップイネーブル制御回路、メモリ制御回路、及びデータ処理システム
JP4816911B2 (ja) * 2006-02-07 2011-11-16 日本電気株式会社 メモリの同期化方法及びリフレッシュ制御回路
JP5103663B2 (ja) * 2007-09-27 2012-12-19 ルネサスエレクトロニクス株式会社 メモリ制御装置
JP5082727B2 (ja) * 2007-09-28 2012-11-28 ソニー株式会社 記憶制御装置、記憶制御方法およびコンピュータプログラム
JP5675035B2 (ja) 2008-05-22 2015-02-25 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. Zqキャリブレーション回路
JP2010086415A (ja) * 2008-10-01 2010-04-15 Panasonic Corp メモリインターフェース
US8549217B2 (en) * 2009-11-17 2013-10-01 International Business Machines Corporation Spacing periodic commands to a volatile memory for increased performance and decreased collision
WO2012014603A1 (ja) * 2010-07-29 2012-02-02 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204669A1 (en) 2002-04-25 2003-10-30 Vasanth Ranganathan Method and apparatus for handling memory refresh and maintenance operations
US20080140923A1 (en) * 2004-11-12 2008-06-12 Mark David Bellows Deferring Refreshes During Calibrations in Memory Systems
US20070007992A1 (en) 2005-06-30 2007-01-11 Bains Kuljit S Method to calibrate DRAM Ron and ODT values over PVT
JP2008048384A (ja) * 2006-06-21 2008-02-28 Intel Corp トグル制御を有するサーマルセンサ

Also Published As

Publication number Publication date
KR101818968B1 (ko) 2018-01-16
US20130124795A1 (en) 2013-05-16
US9111632B2 (en) 2015-08-18
EP2600253A1 (en) 2013-06-05
JP2016012362A (ja) 2016-01-21
JP2014135067A (ja) 2014-07-24
US20170236569A1 (en) 2017-08-17
JPWO2012014603A1 (ja) 2013-09-12
CN103038754B (zh) 2016-04-06
US9691449B2 (en) 2017-06-27
US20150310899A1 (en) 2015-10-29
KR20180006506A (ko) 2018-01-17
JP6055884B2 (ja) 2016-12-27
EP2600253B1 (en) 2018-09-12
JP5802291B2 (ja) 2015-10-28
US10090028B2 (en) 2018-10-02
EP3422191A1 (en) 2019-01-02
EP2600253A4 (en) 2014-01-01
JP5490239B2 (ja) 2014-05-14
EP3422191B1 (en) 2023-05-10
CN105512059B (zh) 2018-08-07
CN103038754A (zh) 2013-04-10
WO2012014603A1 (ja) 2012-02-02
KR20130132387A (ko) 2013-12-04
CN105512059A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
KR101913549B1 (ko) 반도체 장치 및 데이터 처리 시스템
US10067890B2 (en) Apparatuses and methods for variable latency memory operations
US10185618B2 (en) Method and apparatus for selecting one of a plurality of bus interface configurations to use
US8151065B2 (en) Memory control device and semiconductor processing apparatus
US7483331B2 (en) Semiconductor memory, memory system, and operation method of memory system
US8438358B1 (en) System-on-chip with memory speed control core
US7103707B2 (en) Access control unit and method for use with synchronous dynamic random access memory device
US20130097388A1 (en) Device and data processing system
JP2002132711A (ja) メモリコントローラ

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant