KR20150035473A - 메모리 컨트롤러 및 메모리 제어 방법 - Google Patents

메모리 컨트롤러 및 메모리 제어 방법 Download PDF

Info

Publication number
KR20150035473A
KR20150035473A KR1020147009061A KR20147009061A KR20150035473A KR 20150035473 A KR20150035473 A KR 20150035473A KR 1020147009061 A KR1020147009061 A KR 1020147009061A KR 20147009061 A KR20147009061 A KR 20147009061A KR 20150035473 A KR20150035473 A KR 20150035473A
Authority
KR
South Korea
Prior art keywords
dqs
delay
data
control means
control unit
Prior art date
Application number
KR1020147009061A
Other languages
English (en)
Other versions
KR101597063B1 (ko
Inventor
미노루 오다
Original Assignee
엔이씨 플랫폼즈 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔이씨 플랫폼즈 가부시키가이샤 filed Critical 엔이씨 플랫폼즈 가부시키가이샤
Publication of KR20150035473A publication Critical patent/KR20150035473A/ko
Application granted granted Critical
Publication of KR101597063B1 publication Critical patent/KR101597063B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • 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/1066Output synchronization
    • 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
    • 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
    • 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/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

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

Abstract

본 발명에서, 기입 레벨링을 수행할 시, 초기화 시간이 길어지는 것을 피하기 위해서, 기입 레벨링 제어부(250)는, DQS 제어부(242)와 DQ 제어부(244)의 지연량을, 우선, 1 클럭 사이클 미만의 범위 내에서 조정한다. 그 다음, 각각의 SDRAM(282)에 대하여, 기대값 데이터 시퀀스의 기입 후에 판독을 함으로써 획득된 판독 데이터 시퀀스가 기대값 데이터 시퀀스와 비교되고, 그 비교 결과에 따라, DQS 제어부(242)와 DQ 제어부(244)의 지연량이 클럭 사이클 단위로 조정한다. 상기 기입 시에, DQS 제어부(242)가 사양에 따라 정의된 버스트 길이보다 2×M 클럭 사이클(M: 1 이상의 정수)만큼 긴 데이터 스트로브 신호(DQS)를 출력하고, DQ 제어부(244)가 상기 버스트 길이에 합치하는 개수의 기대값 데이터 시퀀스의 전후에 M개씩 데이터를 부가해서 데이터를 출력하도록 제어를 행한다.

Description

메모리 컨트롤러 및 메모리 제어 방법{MEMORY CONTROLLER AND MEMORY CONTROL METHOD}
본 발명은, 메모리 제어, 특히, DDR3 메모리 인터페이스에 대하여 행해지는 기입 레벨링에 관한 것이다.
여러 가지 반도체 장치에 있어서, 신호의 지연 시간이 조정된다(특허문헌 1 내지 3). DRAM(Dynamic Random Access Memory)의 표준으로서 JEDEC(Joint Electron Device Engineering Council)에 의해 표준화된 DDR3 메모리 인터페이스(DDR: Double Data Rate)에서는, 메모리 컨트롤러와 DIMM(Dual Inline Memory Module) 간의 연결에 플라이-바이 토폴로지(fly-by topology)가 채용되어 있다. 따라서, 메모리 컨트롤러로부터, DIMM에 포함된 복수의 메모리 소자 각각에 출력되는 데이터 스트로브 신호 DQS의 지연 시간을 조정하기 위한 소위, 기입 레벨링이 정의되어 있다(특허문헌 4).
도 11은, 특허문헌 4의 도 19와 동일하고, DDR3 메모리 인터페이스에 따르는 메모리 컨트롤러(90)와 DIMM(91) 간의 연결 예를 모식적으로 도시하고 있다. 도면에 도시한 바와 같이, 메모리 컨트롤러(90)와 DIMM(91) 간을 연결하는 신호선 중에서, 클럭 신호 CK, 어드레스 신호 Add 및 커맨드 신호 CMD의 신호선은, 메모리 컨트롤러(90)와 DIMM(91) 내의 n개(n: 2 이상의 자연수)의 메모리 소자(SDRAM: Synchronous Dynamic Random Access Memory)(92-1 내지 92-n)와의 사이에서 데이지 체인 배선(daisy chain wiring)에 의해 연결된다. 또한, 데이터 신호 DQ 및 데이터 스트로브 신호 DQS의 신호선은, 메모리 컨트롤러(90)와 DIMM(91) 내의 각각의 SDRAM(92-1 내지 92-n)과의 사이에 연결된다.
이하의 설명에서, SDRAM을 나타내는 코드로서, 복수의 SDRAM 중 특정한 하나를 식별할 필요가 있을 때는 코드 92-1 내지 92-n을 사용하고, 임의의 SDRAM을 특정할 때에는 코드 92를 사용한다.
또한, 데이터 신호를 나타내는 코드로서, 복수의 데이터 신호 중 특정한 하나를 식별할 필요가 있을 때는 코드 DQ-1 내지 DQ-n을 사용하고, 임의의 데이터 신호를 특정할 때에는 코드 DQ를 사용한다.
마찬가지로, 데이터 스트로브 신호를 나타내는 코드로서, 복수의 데이터 스트로브 신호 중 특정한 하나를 식별할 필요가 있을 때는 코드 DQS-1 내지 DQS-n을 사용하고, 임의의 데이터 스트로브 신호를 특정할 때에는 코드 DQS를 사용한다.
클럭 신호 CK의 신호선의 데이지 체인 배선에 기인하는 전파 지연에 의해, 메모리 컨트롤러(90)로부터 출력되는 클럭 신호 CK는, 모든 SDRAM(92-1 내지 92-n)에 동시에 도달할 수 없다. 예를 들어, JEDEC의 표준에서는, DIMM(91)의 외형 치수에 대해서, 길이 L1이 133 mm로 정의된다. 따라서, DIMM(91)의 길이 방향의 한 단부에 배치된 SDRAM(92-1)과 DIMM(91)의 길이 방향의 다른 단부에 배치된 SDRAM(92-n)의 사이에는, 약 1 ns의 도달 시각차가 있게 된다(7 ps/mm × 133 mm = 931 ps).
따라서, JEDEC의 표준에서는, DDR3 메모리 인터페이스에 사용될 기입 레벨링을 정의하고 있다. 도 12(특허문헌 4의 도 20)를 참조하여, 기입 레벨링을 간단하게 설명한다.
용어 "기입 레벨링"은, 메모리 컨트롤러(90)로부터 출력된 데이터 스트로브 신호 DQS를 사용해서 클럭 신호 CK를 샘플링하고, 데이터 스트로브 신호 DQS와 클럭 신호 CK 간의 위상 관계를 검출하고, 데이터 스트로브 신호 DQS의 지연 시간을 조정하는 기능을 말한다. 이 기입 레벨링 기능은, 도 12에 도시한 바와 같이, 데이터 스트로브 신호 DQS-1 내지 DQS-n의 각각의 지연 시간을 변경할 수 있는 가변 지연 회로(93-1 내지 93-n)를, 복수의 SDRAM(92-1 내지 92-n)에 대응하는 메모리 컨트롤러(90) 내에 각각 내장함으로써 실현된다.
이하, 지연 회로를 나타내는 코드로서, 복수의 지연 회로 중 특정한 하나를 식별할 필요가 있을 때에는 코드 93-1 내지 93-n을 사용하고, 임의의 지연 회로를 특정할 때에는 코드 93을 사용한다.
구체적으로는, 도면에 도시하지 않은 CPU(Central Processing Unit)는, 각각의 SDRAM(92)에 출력되는 데이터 스트로브 신호 DQS-1 내지 DQS-n에 대하여, 이들 SDRAM(92-1 내지 92-n)으로부터 출력되는 데이터 신호 DQ-1 내지 DQ-n에 기초해서 각각 지연 시간 t1-1 내지 t1-n을 설정한다. 이런 방식으로, 데이터 스트로브 신호 DQS-1 내지 DQS-n는 SDRAM(92-1 내지 92-n)에, 각각, 클럭 신호 CK와 거의 동일한 시간에 입력되도록 조정된다.
즉, 예를 들어, 기입 레벨링이 완료된 시점에서는, 지연 회로(93-1 내지 93-n)는, 각각, 지연 시간 t1-1 내지 t1-n만큼만 데이터 스트로브 신호 DQS를 지연시키고, 데이터 스트로브 신호 DQS와 클럭 신호 CK는 이들 위상이 정렬되어 SDRAM(92-1 내지 92-n)에 입력된다.
기입 레벨링은, DDR3 메모리 인터페이스를 포함하는 메모리 장치의 초기화시에 행해진다는 점에 유의해야 한다. 즉, 기입 레벨링을 포함하는 초기화가 완료되면, 지연 시간 t1-1 내지 t1-n이 결정되고, 클럭 신호 CK와 데이터 스트로브 신호 DQS는 위상이 정렬되어 각각의 SDRAM에 입력된다.
일본 특허 공개 제2000-206212호 공보 일본 특허 공개 제2001-217694호 공보 일본 특허 공개 제2009-284266호 공보 일본 특허 공개 제2009-075682호 공보
데이터 스트로브 신호 DQS의 지연을 조정할 때에는, DQS의 지연 시간(상술한 지연 시간 t1-1 내지 t1-n에 해당)은, 통상의 환경하에서 DLL(Delay Locked Loop) 회로에 의해 제어된다. 이 경우, 필요한 지연 시간이 커지면, 조정 폭이 커지기 때문에, 조정의 오차가 커져 버리는 문제가 있다. 따라서, 데이터 스트로브 신호 DQS의 지연 시간의 조정 폭이 1 클럭 사이클 이하가 되도록, 프린트 기판의 설계에 있어서는, 신호선 배선에 대한 제약이 있었다.
그런데, 근래에 메모리 소자의 고속화에 의해, 상기 제약 하에서의 구현이 곤란해지고 있다. 따라서, 실제로, 1 클럭 사이클 이상의 조정 폭을 필요로 하는 메모리 장치가 많아졌다. 1 클럭 사이클 이상의 지연 시간이 필요해지면, 이하에 설명하는 초기화 시간이 길어져 버린다.
기입 레벨링 시에 클럭 신호 CK와 데이터 스트로브 신호 DQS 간의 위상 관계의 검출은, 표준에서 정의된 버스트 길이를 갖는 데이터 스트로브 신호 DQS에 동기하여, 각 메모리 소자에 대하여, 상기 버스트 길이에 합치하는 개수의 알려진 데이터로 이루어진 기대값 데이터 시퀀스를 기입한 후 판독하여 판독 데이터 시퀀스를 얻고, 이 판독 데이터 시퀀스와 기대값 데이터 시퀀스 간의 비교 결과에 기초해서 행해진다.
그런데, 클럭 신호 CK와 데이터 스트로브 신호 DQS가 위상이 크게 어긋난 상태에서 상기 기입을 행하면, 기대값 데이터 시퀀스의 선두의 1개 이상의 데이터 또는 말미의 1개 이상의 데이터가 기입되지 않을 가능성이 있다. 상기 상황은, JEDEC의 사양에 정의되어 있지 않기 때문에, SDRAM 내의 상태가 보장되지 않고, 확정된 상태로 SDRAM을 복귀시키기 위해서는 리셋 동작을 실시하는 것 이외에는 방법이 없다. 그로 인해, 초기화 시간이 길어져 버린다는 문제가 있다.
본 발명은, 상기 사정을 감안하여 이루어진 것이며, 기입 레벨링 시에 있어서, 초기화 시간이 길어지는 것을 피할 수 있는 기술을 제공한다.
본 발명의 예시적 양태는, 메모리 제어 방법이다. 상기 방법은, 하기의 수순에 의해 기입 레벨링을 행한다.
우선, DDR3 메모리 인터페이스에 따르는 메모리 모듈에 포함되는 메모리 소자마다 제공되어, 상기 메모리 소자에 데이터 스트로브 신호 DQS를 출력하는 DQS 제어부와, 상기 메모리 소자마다 제공되어, 상기 메모리 소자에 출력되는 상기 데이터 스트로브 신호 DQS에 동기하여 기입 데이터를 출력하며, 판독 데이터를 수신하는 DQ 제어부에 대하여, 상기 데이터 스트로브 신호 DQS의 출력 타이밍의 지연량과, 기입 데이터의 출력 타이밍 및 판독 데이터의 수신 타이밍의 지연량을, 1 클럭 사이클 미만의 범위 내에서 조정한다.
그 다음, 각각의 상기 메모리 소자에 대하여, 기대값 데이터 시퀀스를 기입하고 판독 데이터 시퀀스를 판독함으로써 획득된 판독 데이터 시퀀스가 상기 기대값 데이터 시퀀스와 비교되고, 비교 결과에 따라, 상기 DQS 제어부와 상기 DQ 제어부 각각에서, 기입 데이터의 출력 타이밍 및 판독 데이터의 수신 타이밍의 지연량에 대해, 클럭 사이클 단위로 조정을 행한다.
상기 기입 시에, 표준에서 정의된 버스트 길이보다 "2×M"(M: 1 이상의 정수) 클럭 사이클만큼 긴 데이터 스트로브 신호 DQS를 출력하도록, 상기 DQS 제어부에 대해 제어가 수행되고, 상기 버스트 길이에 합치하는 개수의 데이터를 포함하는 상기 기대값 데이터 시퀀스의 시작과 끝에 M개의 데이터를 부가하며, 상기 부가된 데이터를 갖는 상기 기대값 데이터 시퀀스를 출력하도록, 상기 DQ 제어부에 대해 제어가 수행된다는 점에 유의해야 한다.
장치 및 방법의 형태로 상기 양태에 따른 방법의 구현, 및 상기 방법을 컴퓨터에 실행하게 하는 프로그램 등도, 본 발명의 양태로서 유효할 수 있다는 점에 유의해야 한다.
본 발명의 기술에 따르면, 기입 레벨링 시에, 데이터 스트로브 신호 DQS의 지연 시간의 조정 정밀도를 높이고 또한 초기화 시간이 길어지는 것을 피할 수 있다.
도 1은 본 발명의 실시 형태에 따른 컴퓨터를 도시하는 도면이다.
도 2는 도 1에 도시한 컴퓨터에 있어서의 제2 제어부(240)를 도시하는 도면이다.
도 3은 도 1에 도시한 컴퓨터에 있어서의 기입 레벨링 제어부를 도시하는 도면이다.
도 4는 도 3에 도시한 기입 레벨링 제어부에 있어서의 테스트 동작 제어부를 도시하는 도면이다.
도 5는 도 3에 도시한 기입 레벨링 제어부에 의한 기입 레벨링의 흐름을 나타내는 흐름도이다.
도 6은 도 5에 도시한 기입 레벨링에 있어서의 테스트 동작의 흐름을 나타내는 흐름도이다.
도 7은 제2 지연 시간의 조정을 설명하기 위한 도면이다.
도 8은 기입 레벨링 시에 데이터 스트로브 신호와 데이터 신호의 신장(decompression)의 의의를 설명하기 위한 예를 나타내는 도면이다(1).
도 9는 기입 레벨링 시에 데이터 스트로브 신호와 데이터 신호의 신장의 의의를 설명하기 위한 예를 나타내는 도면이다(2).
도 10은 도 9에 나타낸 예의 경우에 얻어진 판독 데이터 시퀀스를 도시하는 도면이다.
도 11은 DDR3 메모리 인터페이스에 따르는 연결의 예를 모식적으로 도시하는 도면이다.
도 12는 기입 레벨링을 설명하기 위한 도면이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대해서 설명한다. 설명을 명확히 하기 위해서, 이하의 설명 및 도면은, 적절히 생략 및 간략화된다. 또한, 여러 가지 처리를 행하는 기능 블록으로서 도면에 기재되는 요소는, 하드웨어적으로는, CPU, 메모리 및 그 밖의 회로에 의해 구현될 수 있고, 소프트웨어적으로는, 메모리에 로드된 프로그램 등에 의해 구현될 수 있다. 따라서, 이들 기능 블록이 하드웨어 단독, 소프트웨어 단독, 및 하드웨어와 소프트웨어의 조합을 포함하는, 그러나 이에 한정되지는 않는, 다양한 형태로 구현될 수 있다는 것은 당업자에게 이해될 수 있다. 도면에 있어서, 동일한 요소에는 동일한 코드가 붙여지고, 필요에 따라 중복 설명은 생략된다는 점에 유의해야 한다.
도 1은, 본 발명의 실시 형태에 따른 반도체 장치, 예를 들어 컴퓨터(200)를 나타낸다. 컴퓨터(200)는, CPU(210), 메모리 컨트롤러(220) 및 DIMM(280)을 포함한다.
DIMM(280)은, n개(n: 2 이상의 정수)의 SDRAM(282)(SDRAM(282-1 내지 282-n))을 포함한다.
이하에 있어서, 동일한 기능을 갖는 복수의 기능 블록을 나타내는 코드로서, 상기 복수의 기능 블록 중 임의의 1개를 특정할 때에는, "K"(K: 숫자)만을 사용하고, 반면에 상기 복수의 기능 블록 중 특정한 하나를 식별할 필요가 있을 때에는, 숫자 K 뒤에 "-N"(N: 숫자)을 붙인다.
DIMM(280)에 포함된 SDRAM을 나타내는 코드로서, 복수의 SDRAM(282-1 내지 282-n) 중 특정한 하나를 식별할 필요가 있을 때에는, 코드 "282-1" 내지 "282-n"을 사용하고, 반면에 임의의 SDRAM을 특정할 때에는, 코드 "282"만을 사용한다.
신호에 관해서도 마찬가지로, 동일한 형태의 복수의 신호를 나타내는 코드로서, 임의의 신호를 특정할 때에는 W(W: 문자)만을 사용하고, 반면에 상기 복수의 신호 중 특정한 하나를 식별할 필요가 있을 때에는, 문자 W 뒤에 "-N"(N: 숫자)을 붙인다.
예를 들어, 후술하는 데이터 스트로브 신호를 나타내는 코드로서, DQS-1 내지 DQS-n 중 특정한 하나를 식별할 필요가 있을 때에는, 코드 "DQS-1" 내지 "DQS-n"을 사용하고, 반면에 임의의 데이터 스트로브 신호를 특정할 때에는 코드 "DQS"만을 사용한다.
메모리 컨트롤러(220)는 제1 제어부(230), 다수의 SDRAM(282)에 대한 제2 제어부(240)(제2 제어부(240-1 내지 240-n)), 및 기입 레벨링 제어부(250)를 포함한다. 제2 제어부(240)의 각각은 DQS 제어부(242)와 DQ 제어부(244)를 포함한다.
본 실시 형태의 컴퓨터(200)는 DDR3 형식의 메모리 인터페이스를 채용하고 있다. 그로 인해, 메모리 컨트롤러(220)와 DIMM(28)과의 사이를 연결하는 신호선 중에서, 클럭 신호 CK, 어드레스 신호 Add 및 커맨드 신호 CMD의 신호선은 메모리 컨트롤러(220)와 DIMM(280) 내의 n개의 SDRAM(282)의 사이에 데이지 체인 배선에 의해 연결된다. 또한, 데이터 신호 DQ 및 데이터 스트로브 신호 DQS의 신호선은 메모리 컨트롤러(220)와 DIMM(280) 내의 n개의 각각의 SDRAM(282)의 사이에 연결되어 있다.
메모리 컨트롤러(220)는 CPU(210)에 연결되어 있고, 초기화 시에, CPU(210)로부터의 기입 레벨링 동작 지시에 따라, DIMM(280)에 대하여 기입 레벨링을 실시한다.
메모리 컨트롤러(220)에 있어서의 제1 제어부(230)는, 클럭 신호 CK, 어드레스 신호 Add 및 커맨드 신호 CMD를 DIMM(280)에 출력한다. 이들의 신호는, 데이지 체인에 의해 배선되는 상기 신호선을 통해, SDRAM(282-1), SDRAM(282-2), ..., 및 SDRAM(282-n)의 순서대로 각각의 SDRAM(282)에 제공된다.
기입 레벨링 제어부(250)로부터의 기입 지시에 따라, 제2 제어부(240)에 있어서의 DQS 제어부(242)는 대응하는 SDRAM(282)에 데이터 스트로브 신호 DQS를 출력하고, DQ 제어부(244)는 SDRAM(282)에 데이터(DQ[0001], ...DQ[n])을 전송한다.
도 2를 참조하여, 제2 제어부(240)를 상세하게 설명한다. 도면에 도시된 바와 같이, 제2 제어부(240)에 있어서의 DQS 제어부(242)는 DQS 신장 제어부(2420), 제1 지연 제어부(2422) 및 제2 지연 제어부(2424)를 포함한다. 또한, 제2 제어부(240)에 있어서의 DQ 제어부(244)는 DQ 신장 제어부(2440), 제1 지연 제어부(2442) 및 제2 지연 제어부(2444)를 포함한다. 제1 지연 제어부(2422)와 제2 지연 제어부(2424)는 DQS 지연부를 구성하고, 반면에 제1 지연 제어부(2442)와 제2 지연 제어부(2444)는 DQ 지연부를 구성한다.
우선, DQS 제어부(242)의 각 기능 블록을 설명한다. DQS 신장 제어부(2420)는, 기입 레벨링 제어부(250)로부터의 지시에 따라 발행되는 DQS의 개수를 증가시키도록 제어를 행한다.
제1 지연 제어부(2422)는 레지스터와 셀렉터의 조합으로 구성되고, DQS를 클럭 사이클 단위로 지연시키는 것이 가능하다.
제2 지연 제어부(2424)는 DLL로 구성되고, 1 클럭 사이클 미만의 범위 내에서, 필요한 입도(granularity)(예를 들어, 1/16 클럭 사이클)로 DQS의 지연 시간을 조정할 수 있다.
제1 지연 제어부(2422)와 제2 지연 제어부(2424)에 의한 지연 시간의 총합은 DQS의 지연 시간이 된다.
다음에, DQ 제어부(244)의 각 기능 블록을 설명한다. DQ 신장 제어부(2440)는 기입 레벨링 제어부(250)로부터의 지시에 따라 발행되는 DQ의 개수를 증가시키도록 제어를 행한다.
제1 지연 제어부(2442)는 레지스터와 셀렉터의 조합으로 구성되고, DQ를 클럭 사이클 단위로 지연시키는 것이 가능하다.
제2 지연 제어부(2444)는 DLL로 구성되고, 1 클럭 사이클 미만의 범위 내에서, 필요한 입도(예를 들어, 1/16 클럭 사이클)로 DQ의 지연 시간을 조정할 수 있다.
제1 지연 제어부(2442)와 제2 지연 제어부(2444)에 의한 지연 시간의 총합은 DQ의 지연 시간이 된다.
도 3을 참조하여, 기입 레벨링 제어부(250)를 설명한다. 기입 레벨링 제어부(250)는 시퀀스 제어부(252), 신장 지시부(254) 및 테스트 동작 제어부(256)를 포함한다.
시퀀스 제어부(252)는, CPU(210)로부터의 기입 레벨링 동작 지시에 따라, 기입 레벨링을 개시하고, 기입 레벨링에 있어서의 DQS, 및 DQ[0002], ...DQ[n]의 지연 시간의 조정을 제어한다. 이러한 DQS의 조정은 제1 지연 제어부(2422)와 제2 지연 제어부(2424)에 의해 2 단계로 수행된다. 마찬가지로, DQ에 대한 이러한 조정은, 제1 지연 제어부(2442)와 제2 지연 제어부(2444)에 의해 2 단계로 수행된다.
상기 제어는 다음과 같은 방식으로 구현됨을 주지해야 한다: 시퀀스 제어부(252)는 제1 제어부(230)에 기입 레벨링 지시를 출력하고, 제2 제어부(240) 내의 DQS 제어부(242)에 있어서의 제1 지연 제어부(2422) 및 제2 지연 제어부(2424)에, 그리고 제2 제어부(240) 내의 DQ 제어부(244)에 있어서의 제1 지연 제어부(2442) 및 제2 지연 제어부(2444)에 지연량 지시를 출력하고; 또한, 시퀀스 제어부(252)는 DQS 제어부(242)에 있어서의 DQS 신장 제어부(2420) 및 DQ 제어부(244)에 있어서의 DQ 신장 제어부(2440)에 신장 지시를 출력하도록 신장 지시부(254)를 제어하고, 테스트 동작 제어부(256)에 테스트 동작 지시를 출력한다.
시퀀스 제어부(252)에 의한 제어에 따라, 신장 지시부(254)는, 데이터 스트로브 신호 DQS와 데이터 신호 DQ를 신장하기 위한 지시(신장 지시)를, 제2 제어부(240) 내의 DQS 제어부(242)에 있어서의 DQS 신장 제어부(2420), 및 제2 제어부(240) 내의 DQ 제어부(244)에 있어서의 DQ 신장 제어부(2440)에 출력한다.
시퀀스 제어부(252)로부터의 테스트 동작 지시에 따라, 테스트 동작 제어부(256)는 제1 제어부(230)와 제2 제어부(240)에 기입 리퀘스트를 출력하는 처리와, 제1 제어부(230)에 판독 리퀘스트를 출력하는 처리와, 응답 데이터(후술함)를 기대값과 비교하는 처리를 행한다. 도 4를 참조하여, 테스트 동작 제어부(256)를 상세하게 설명한다.
테스트 동작 제어부(256)는 테스트 시퀀스 제어부(262), 기입 지시 발행 제어부(264), 판독 지시 발행 제어부(266) 및 비교부(268)를 포함한다.
기입 레벨링 제어부(250)로부터의 테스트 동작 지시에 따라, 테스트 시퀀스 제어부(262)는, 기입 지시 발행 제어부(264), 판독 지시 발행 제어부(266) 및 비교부(268)를 제어하여, DIMM(280)으로부터/에 데이터를 판독/기입하게 하고, 응답 데이터를 기대값과 비교하게 한다.
테스트 시퀀스 제어부(262)로부터의 지시에 따라, 기입 지시 발행 제어부(264)는 DIMM(280)에 기입 리퀘스트를 발행한다.
테스트 시퀀스 제어부(262)로부터의 지시에 따라, 판독 지시 발행 제어부(266)는 DIMM(280)에 판독 리퀘스트를 발행한다.
비교부(268)는 상기 판독 리퀘스트에 따라서 DIMM(280)으로부터 출력된 데이터(응답 데이터)를 수신하고, 상기 응답 데이터를 기대값과 비교하며, 또한 비교 결과를 테스트 시퀀스 제어부(262)에 통지한다.
이어서, 도 1에 도시한 컴퓨터(200)에 의한 기입 레벨링의 흐름을 설명한다. CPU(210)에 의해 발행된 기입 레벨링 동작 지시는 메모리 컨트롤러(220) 내의 기입 레벨링 제어부(250) 내부의 시퀀스 제어부(252)에 의해 수신된다.
기입 시퀀스 제어부(252)가 기입 레벨링 동작 지시를 수신하면, 기입 시퀀스 제어부(252)는 기입 레벨링 동작을 개시한다. 기입 레벨링 동작에 있어서의 지연 시간의 조정은 2 단계로 실시된다. 이러한 조정에 대해서는, 도 5 및 도 6의 흐름도를 참조하여 설명한다.
도 5에 도시한 바와 같이, 우선, 단계 S100에 있어서, DQS 제어부(242)에 있어서의 제2 지연 제어부(2424)와, DQ 제어부(244)에 있어서의 제2 지연 제어부(2444)는, 1 클럭 사이클 미만의 범위 내에서, 지연 시간을 조정한다. 이하, 제2 지연 제어부(2424)와 제2 지연 제어부(2444)의 지연 시간을 "제2 지연 시간"이라고 한다. 이러한 단계적 조정에 의해, 각각의 SDRAM(282)에 있어서, 상기 각각의 SDRAM(282) 및 DQS/DQ[0003], ...DQ[n]에 분배되어 있는 클럭은 조정된 것으로 간주된다.
이러한 단계적 조정은, 클럭 신호 CLK을 기준으로 한 DQS의 조정이며, DIMM의 사양에서 정의된 기입 레벨링 동작이라는 점에 유의해야 한다.
그러나, 상기 단계에 있어서의 조정 시간은, 최대에서도 1 클럭 사이클 미만이기 때문에, 조정된 클럭 에지는 SDRAM(282) 사이에 어긋날 수 있다.
이어서, SDRAM(282)의 클럭 에지에서의 어긋남을 검출하기 위한 테스트 동작이 개시된다(S102). 구체적으로는, 단계 S100의 처리의 완료 후, 기입 레벨링 제어부(250)는 테스트 동작 제어부(256)에 테스트 동작 지시를 발행한다. 시퀀스 제어부(252)로부터의 테스트 동작 지시에 따라, 테스트 동작 제어부(256)는 테스트 동작을 실시한다.
도 6은 테스트 동작의 흐름도를 나타낸다. 우선, 테스트 동작 제어부(256)는 기입 리퀘스트를 DIMM(280)에 발행하고, 복수 개의 알려진 데이터로 이루어지는 기대값 데이터 시퀀스를 기입한다(S110).
기입 리퀘스트는 테스트 시퀀스 제어부(262)로부터 기입 지시 발행 제어부(264)에 기입 지시 발행 지시를 전송함으로써 발행된다. 그러나, 이 시점에서 기입 리퀘스트가 발행되면, SDRAM(282)의 클럭 에지에서의 어긋남에 의해, SDRAM(282)에 따라서는, 기대값 데이터 시퀀스에서의 선두의 1개 이상의 데이터 또는 말미의 1개 이상의 데이터가 기입되지 않을 수 있다. 따라서, SDRAM(282)가 리셋을 필요로 할 가능성이 있을 수 있다.
이러한 상황을 피하기 위해서, 기입 레벨링 제어부(250)는 상기 단계에 있어서 제2 제어부(240-1, ...240-n)에 신장 지시를 더 전송한다.
신장 지시에 응답하여, 제2 제어부(240-1, ..., 및 240-n) 내의 DQS 제어부(242) 내부의 DQS 신장 제어부(2420)는 특정된 버스트 길이보다 "2×M"(M: 1 이상의 정수)만큼 긴 클럭 사이클을 갖는 데이터 스트로브 신호 DQS를 DIMM(280)에 발행한다.
또한, 신장 지시에 응답하여, DQ 제어부(244) 내부의 DQ 신장 제어부(2440)는 특정된 버스트 길이에 합치하는 개수의 데이터를 포함하는 상기 기대값 데이터 시퀀스의 시작과 끝에 M개의 데이터를 부가하고, 신장된 데이터를 DIMM(280)에 발행한다.
이어서, 테스트 시퀀스 제어부(262)는 단계 S110에서 기입한 데이터를 판독하기 위한 판독 리퀘스트를 DIMM(280)에 발행한다(S112).
판독 리퀘스트는 테스트 시퀀스 제어부(262)로부터 판독 지시 발행 제어부(266)에 판독 지시 발행 지시를 전송함으로써 발행된다.
판독 리퀘스트에 응답하여, 응답 데이터(판독 데이터 시퀀스)는 DIMM(280)로부터 출력된다. 비교부(268)는 응답 데이터를 수신하고, 응답 데이터를 기대값 데이터 시퀀스와 비교하며, 또한 그 비교 결과를 테스트 시퀀스 제어부(262)에 전송한다(S114). 또한, 비교의 결과는 테스트 시퀀스 제어부(262)로부터 시퀀스 제어부(252)에 출력된다.
도 5를 다시 참조하여, 설명을 계속한다. 비교부(268)로부터 얻어진 비교 결과에 기초하여, 시퀀스 제어부(252)는 DQS 제어부(242)에 있어서의 제1 지연 제어부(2422)와, DQ 제어부(244)에 있어서의 제1 지연 제어부(2442)의 지연량을 설정하고, 상기 지연량을 나타내는 지연량 지시를 제2 제어부(240-1, 240-2, ..., 240-n)에 전송한다. 이 단계에서 시퀀스 제어부(252)에 의해 설정된 지연 값을 이하, "제1 지연 시간"이라고 한다는 점에 유의해야 한다. 또한, 이 제1 지연 시간은 클럭 사이클의 정수배(0배를 포함)이다.
제1 지연 제어부(2422)와 제1 지연 제어부(2442) 각각은 테스트 시퀀스 제어부(262)에 의해 설정된 제1 지연 시간만큼 지연 시간을 조정한다. 이런 방식으로, 기입 레벨링이 완료된다.
구체예를 참조하여, 컴퓨터(200)에 있어서의 기입 레벨링을 더 상세하게 설명한다.
전술한 바와 같이, 본 실시 형태의 컴퓨터(200)에 있어서, 기입 레벨링에 있어서의 지연 시간의 조정은 2 단계로 실시된다. 우선, 도 5의 흐름도에 있어서의 단계 S100에서 나타낸 제1 단계의 조정에 있어서, 제2 지연 제어부(2424)와 제2 지연 제어부(2444) 각각은 1 클럭 사이클 이내의 지연 시간(제2 지연 시간)을 조정한다.
예를 들어, 도 7에 나타내는 예에서와 같이, SDRAM(282-1)에 대해서는, 클럭 에지를 클럭 신호의 T1 에지와 정렬하기 위해서 제2 지연 시간의 조정은 조정량 A2-1만큼 이루어진다. 또한, SDRAM(282-2)에 대해서는, 클럭 에지를 클럭 신호의 T1 에지와 정렬하기 위해서 제2 지연 시간의 조정은 조정량 A2-2만큼 이루어진다. 또한, SDRAM(282-n)에 대해서는, 클럭 에지를 클럭 신호의 T0 에지와 정렬하기 위해서 제2 지연 시간의 조정은 조정량 A2-n만큼 이루어진다. ADD/CMD에 대해서는, 클럭 신호의 T1 에지와 정렬되어 있다고 가정한다는 점에 유의해야 한다.
이어서, 도 6에 나타내는 테스트 동작이 실시된다. 전술한 바와 같이, 테스트 동작에 있어서, 우선, 기입 리퀘스트에 의해 DIMM(280) 내에 기대값이 기입된다. 상술한 제2 지연 시간의 조정 후에도, SDRAM(282) 사이에 CLK 에지가 어긋나 있고, 통상의 사양에 따른 기입 리퀘스트가 발행되면, SDRAM(282-n)에 대해서는, ADD/CMD가 동기하고 있는 T1 에지보다 1 사이클(1T) 이른 T0 에지에 기대값이 도착하므로, 도 8에 나타내는 사양 위반의 상태에 이르게 된다. 도 8을 참조하여, 구체적으로 설명한다. 도 8 및 이후의 도면에 있어서, "ACT"와 "WRA"는, DDR3의 JEDEC 사양에서 정의된 것과 같은 의미이며, 이들은 각각, "Activate" 지시와 "Write+AutoPrecharge" 지시의 니모닉 표현(mnemonic expressions)이다. 또한, "WL"(Write Latency)은, DDR3의 JEDEC 사양에서 정의된 것과 같은 의미이며, 기입 지시의 데이터 출력 타이밍을 나타낸다.
도 8에 도시한 바와 같이, SDRAM(282-1)과 SDRAM(282-2)에 대해서는, ADD/CMD와 기입 데이터 간의 관계가 합치하고 있기 때문에, 통상의 버스트 길이에 합치하는 개수의 데이터를 포함하는 기대값 데이터 시퀀스가 발행되어도, SDRAM(282)을 리셋할 필요는 없다.
그러나, SDRAM(282-n)에 대해서는, DQS/DQ[0004], ...DQ[n]은, CLK의 T0 에지에 동기하고 있기 때문에, DQS/DQ[0005], ...DQ[n]는 ADD/CMD보다 1T 이르게 SDRAM(282-n)에 도착하게 된다. 따라서, 데이터의 말단이 소실됨으로써, 포스트앰블(postamble)이 무효가 되어, 리셋을 실시하는 것 이외에는, 복귀할 다른 방법이 없게 된다.
DQS와 DQ의 신장은, 이러한 상태를 피하기 위한 처리이다. 전술한 바와 같이, 기입 레벨링 제어부(250)로부터의 신장 지시에 따라, 제2 제어부(240-1, ..., 및 240-n) 내의 DQS 제어부(242)에 있어서의 DQS 신장 제어부(2420)는 DQS를 "2×M" 사이클만큼 확장해서 DQS를 신장하고 이 신장된 DQS를 DIMM(280)에 발행한다. 마찬가지로, DQ 제어부(244) 내부의 DQ 신장 제어부(2440)는 DQ의 시작과 끝에서 M 사이클만큼 DQ를 확장해서 DQ를 신장하고, 이 신장된 DQ를 DIMM(280)에 발행한다.
예를 들어, DQS/DQ[0006], ..., 및 DQ[n]는 2 사이클만큼 확장됨으로써 신장되어 발행된다(M=2). 구체적으로는, DQS의 시작과 끝에서 2T 여분으로 DQS가 전송되고, 16 버스트(8 연속 블록)의 데이터가 DIMM(280)에 전송된다.
이 경우, 도 9에 도시한 바와 같이, DQS/DQ[0007], ..., 및 DQ[n]는 본래의 출력 위치(버스트 8)에 비해 시작과 끝에서 2T만큼 확장되어 신장되어 있다. 그로 인해, SDRAM(282-n)은 사양 위반의 상태에 있지 않게 된다. 따라서, SDRAM이 불안정한 상태가 되지 않아, SDRAM의 리셋 동작이 불필요하게 된다. 이 경우, SDRAM(282-1 및 282-2)에는, 4, 5, 6, 7, 8, 9, A 및 B인 데이터들이 기입되는 반면, SDRAM(282-n)에는, 6, 7, 8, 9, A, B, C 및 D인 데이터들이 기입된다는 점에 유의해야 한다.
그 후, 판독 리퀘스트에 응답하여, 각각의 SDRAM(282)로부터 응답 데이터가 비교부(268)에 전송되고, 이 응답 데이터는 기대값(4, 5, 6, 7, 8, 9, A 및 B)과 비교된다. 도 9에 나타내는 예에서는, 도 10에 도시한 바와 같이 응답 데이터가 반송되기 때문에, SDRAM(282-1 및 282-2)에 대해서는, 응답 데이터는 기대값과 일치하고, SDRAM(282-n)에 대해서는, 응답 데이터는 기대값에 대하여 2개의 데이터만큼 앞서 어긋나게 된다. 그 다음, 비교부(268)는, SDRAM(282-1 및 282-2)에는, 예를 들어, "0"(일치)를 나타내는 비교 결과를 반환하고, SDRAM(282-n)에는, "-1"(1T 이전)을 나타내는 비교 결과를 반환한다. 또한, 테스트 시퀀스 제어부(262)는 각 비교 결과를 시퀀스 제어부(252)에 출력한다.
시퀀스 제어부(252)는 제1 지연 시간 각각의 조정량을 결정하고, 각각의 지연량을 나타내는 지연량 지시를 제1 지연 제어부(2422)와 제1 지연 제어부(2442)에 출력한다. 도 10에 도시하는 비교 결과의 경우, SDRAM(282-1 및 282-2)에 대응하는 제1 지연 제어부(2422)와 제1 지연 제어부(2442)에 대하여, "지연 시간 없음"을 나타내는 "0"의 지연량 지시가 출력된다. 또한, SDRAM(282-n)에 대응하는 제1 지연 제어부(2422)와 제1 지연 제어부(2442)에 대하여, "지연 시간을 -1 클럭 사이클만큼 조정"을 나타내는 "-1"의 지연량 지시가 출력된다.
제1 지연 제어부(2422)와 제1 지연 제어부(2442) 각각은 수신한 지연량 지시에 의해 나타나는 지연 시간을 설정한다. 따라서, SDRAM(282-n)에 대해서도, ADD/CMD와 DQS/DQ 간의 어긋남이 해소된다.
이상과 같이, 본 실시 형태의 컴퓨터(200)에 있어서, 초기화 시에 행해진 기입 레벨링 시에, 기대값 데이터 시퀀스가 기입되면, 데이터 스트로브 신호 DQS는 표준에서 정의된 버스트 길이에 대해 "2×M" 사이클만큼 확장됨으로써 신장되고, 또한 상기 기대값 데이터 시퀀스의 시작과 끝에 M개의 데이터가 부가되어, 부가된 데이터를 갖는 기대값 데이터 시퀀스가 출력된다. 따라서, 데이터 스트로브 신호 DQS와 클럭 신호 CK의 에지가 어긋나 있는 SDRAM(282)의 경우에도, 기입될 데이터의 부족으로 인해 상기 SDRAM(282)의 재설정이 불가피하게 되는 상황을 피함으로써, 초기화 시간이 길어지는 것을 피할 수 있게 된다.
또한, 컴퓨터(200)에 있어서, 우선, DLL 회로인 제2 지연 제어부(2424)와 제2 지연 제어부(2444)는 데이터 스트로브 신호 DQS와 데이터 신호 DQ를 1 사이클 미만의 범위 내에서 미세 조정하는데 사용된다. 그 후, 레지스터와 셀렉터의 조합으로 이루어지는 제1 지연 제어부(2422)와 제1 지연 제어부(2442)는 사이클 단위로 데이터 스트로브 신호 DQS와 데이터 신호 DQ를 대략적으로 조정하는데 사용된다. 이런 방식으로, 클럭 신호 CK와 데이터 스트로브 신호 DQS가 서로 크게 어긋나는 메모리 장치의 경우에 있어서도, 데이터 스트로브 신호 DQS의 지연 시간을 정밀하게 조정할 수 있다.
실시 형태를 참조하여 본원 발명을 설명했지만, 본원 발명은 상기에 의해 한정되는 것은 아니다. 본원 발명의 구성 및 상세에 대해서는, 발명의 범위 내에서 당업자에는 명백한 여러 변형이 행해질 수 있다.
예를 들어, 상술한 실시 형태의 컴퓨터(200)에서는, 조정 정밀도를 높이기 위해서는, 조정 입도가 상이한 2개의 지연 회로가 데이터 스트로브 신호 DQS와 데이터 신호 DQ 각각의 지연을 구현하는데 사용된다. 그러나, 1개의 지연 회로가 2 단계의 지연을 실현하는데 사용될 수도 있다. 이 경우, 컴퓨터(200)보다 조정의 정밀도가 떨어지지만, 컴퓨터(200)에 의한 것과 유사한 방식으로, 초기화 시간이 길어지는 것을 피할 수 있는 효과를 달성할 수 있다.
이 출원은, 2011년 9월 6일에 일본 특허청에 출원된 일본 특허 출원 제2011-194242호를 기초로 하는 우선권을 주장하고, 그 개시의 모두를 여기에 도입한다.
90: 메모리 컨트롤러
91: DIMM
92: SDRAM
93: 지연 회로
200: 컴퓨터
210: CPU
220: 메모리 컨트롤러
230: 제1 제어부
240: 제2 제어부
242: DQS 제어부
2420: DQS 신장 제어부
2422: 제1 지연 제어부
2424: 제2 지연 제어부
244: DQ 제어부
2440: DQ 신장 제어부
2442: 제1 지연 제어부
2444: 제2 지연 제어부
250: 기입 레벨링 제어부
252: 시퀀스 제어부
254: 신장 지시부
256: 테스트 동작 제어부
262: 테스트 시퀀스 제어부
264: 기입 지시 발행 제어부
266: 판독 지시 발행 제어부
268: 비교부
280: DIMM
282: SDRAM
Add: 어드레스 신호
CK: 클럭 신호
CMD: 커맨드 신호
DQ: 데이터 신호
DQS: 데이터 스트로브 신호

Claims (4)

  1. DDR3 메모리 인터페이스에 따르는 메모리 모듈에 접속된 메모리 컨트롤러로서,
    상기 메모리 모듈에 포함되는 메모리 소자마다 제공되어, 상기 메모리 소자에 데이터 스트로브 신호 DQS를 출력하는 DQS 제어 수단;
    상기 메모리 모듈에 포함되는 메모리 소자마다 제공되어, 상기 메모리 소자에 출력되는 상기 데이터 스트로브 신호 DQS에 동기하여 기입 데이터를 출력하며 판독 데이터를 수신하는 DQ 제어 수단; 및
    초기화 시에 행해지는 기입 레벨링을 제어하는 기입 레벨링 제어 수단
    을 포함하고,
    상기 DQS 제어 수단은, 상기 데이터 스트로브 신호 DQS의 출력 타이밍을, 상기 기입 레벨링 제어 수단에 의해 설정된 지연량만큼 지연시키는 DQS 지연 수단을 포함하고,
    상기 DQ 제어 수단은, 상기 기입 데이터의 출력 타이밍과 상기 판독 데이터의 수신 타이밍을, 상기 기입 레벨링 제어 수단에 의해 설정된 지연량만큼 지연시키는 DQ 지연 수단을 포함하고,
    기입 레벨링 시에, 상기 DQS 지연 수단과 상기 DQ 지연 수단에 대하여 1 클럭 사이클 미만의 지연량의 조정을 행한 후에, 상기 기입 레벨링 제어 수단은, 각각의 상기 메모리 소자에 대하여, 기대값 데이터 시퀀스의 기입 후에 판독 데이터 시퀀스를 판독함으로써 획득된 판독 데이터 시퀀스와 상기 기대값 데이터 시퀀스를 비교하고, 비교 결과에 따라, 상기 DQS 지연 수단과 상기 DQ 지연 수단 각각에 대하여, 클럭 사이클 단위로 지연량을 조정하며,
    상기 기입 시에, 상기 기입 레벨링 제어 수단은, 표준에서 정의된 버스트 길이보다 "2×M"(M: 1 이상의 정수) 클럭 사이클만큼 긴 데이터 스트로브 신호 DQS를 출력하도록 상기 DQS 제어 수단을 제어하고, 상기 버스트 길이에 합치하는 개수의 데이터를 포함하는 상기 기대값 데이터 시퀀스의 시작과 끝에 M개의 데이터를 부가하며, 상기 부가된 데이터를 갖는 상기 기대값 데이터 시퀀스를 출력하도록 상기 DQ 제어 수단을 제어하는 메모리 컨트롤러.
  2. 제1항에 있어서,
    상기 DQS 지연 수단은,
    1 클럭 사이클 이상의 지연량만큼 지연을 행할 수 있는 제1 DQS 지연 수단; 및
    1 클럭 사이클 미만의 지연량만큼 지연을 행할 수 있는 제2 DQS 지연 수단
    을 포함하고,
    상기 DQ 지연 수단은,
    1 클럭 사이클 이상의 지연량만큼 지연을 행할 수 있는 제1 DQ 지연 수단; 및
    1 클럭 사이클 미만의 지연량만큼 지연을 행할 수 있는 제2 DQ 지연 수단
    을 포함하며,
    상기 기입 레벨링 제어 수단은, 상기 제2 DQS 지연 수단과 상기 제2 DQ 지연 수단의 지연량을 설정함으로써, 1 클럭 사이클 미만의 지연량을 조정하고,
    상기 기입 레벨링 제어 수단은, 상기 제1 DQS 지연 수단과 상기 제1 DQ 지연 수단의 지연량을 설정함으로써, 상기 클럭 사이클 단위로 지연량을 조정하는 메모리 컨트롤러.
  3. 제2항에 있어서, 상기 제1 DQS 지연 수단과 상기 제1 DQ 지연 수단은 레지스터와 셀렉터의 조합이며, 상기 제2 DQS 지연 수단과 상기 제2 DQ 지연 수단은 DLL 회로인 메모리 컨트롤러.
  4. 메모리 제어 방법으로서,
    DDR3 메모리 인터페이스에 따르는 메모리 모듈에 포함되는 메모리 소자마다 제공되어, 상기 메모리 소자에 데이터 스트로브 신호 DQS를 출력하는 DQS 제어 수단에 대하여, 그리고 상기 메모리 소자마다 제공되어, 상기 메모리 소자에 출력되는 상기 데이터 스트로브 신호 DQS에 동기하여 기입 데이터를 출력하며 판독 데이터를 수신하는 DQ 제어 수단에 대하여, 상기 데이터 스트로브 신호 DQS의 출력 타이밍의 지연량과, 상기 기입 데이터의 출력 타이밍 및 상기 판독 데이터의 수신 타이밍의 지연량을, 1 클럭 사이클 미만의 범위 내에서 조정하는 단계;
    각각의 상기 메모리 소자에 대하여, 기대값 데이터 시퀀스의 기입 후에 판독 데이터 시퀀스를 판독함으로써 획득된 판독 데이터 시퀀스와 상기 기대값 데이터 시퀀스를 비교하고, 비교 결과에 따라, 상기 DQS 제어 수단과 상기 DQ 제어 수단 각각에 있어서 상기 기입 데이터의 출력 타이밍 및 상기 판독 데이터의 수신 타이밍의 지연량을 클럭 사이클 단위로 조정하는 단계; 및
    상기 기입 시에, 표준에서 정의된 버스트 길이보다 "2×M"(M: 1 이상의 정수) 클럭 사이클만큼 긴 데이터 스트로브 신호 DQS를 출력하도록 상기 DQS 제어 수단을 제어하고, 상기 버스트 길이에 합치하는 개수의 데이터를 포함하는 상기 기대값 데이터 시퀀스의 시작과 끝에 M개의 데이터를 부가하며, 상기 부가된 데이터를 갖는 상기 기대값 데이터 시퀀스를 출력하도록 상기 DQ 제어 수단을 제어하는 단계
    를 포함하는 메모리 제어 방법.
KR1020147009061A 2011-09-06 2012-05-28 메모리 컨트롤러 및 메모리 제어 방법 KR101597063B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011194242A JP5807952B2 (ja) 2011-09-06 2011-09-06 メモリコントローラ及びメモリ制御方法
JPJP-P-2011-194242 2011-09-06
PCT/JP2012/003478 WO2013035223A1 (ja) 2011-09-06 2012-05-28 メモリコントローラ及びメモリ制御方法

Publications (2)

Publication Number Publication Date
KR20150035473A true KR20150035473A (ko) 2015-04-06
KR101597063B1 KR101597063B1 (ko) 2016-02-23

Family

ID=47831705

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147009061A KR101597063B1 (ko) 2011-09-06 2012-05-28 메모리 컨트롤러 및 메모리 제어 방법

Country Status (5)

Country Link
US (1) US9305617B2 (ko)
EP (1) EP2755140B1 (ko)
JP (1) JP5807952B2 (ko)
KR (1) KR101597063B1 (ko)
WO (1) WO2013035223A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117483B2 (en) * 2009-05-13 2012-02-14 Freescale Semiconductor, Inc. Method to calibrate start values for write leveling in a memory system
KR102147228B1 (ko) 2014-01-23 2020-08-24 삼성전자주식회사 타겟 모듈의 라이트 레벨링을 제어하는 라이트 레벨링 제어 회로 및 그에 따른 라이트 레벨링 제어방법
US9478268B2 (en) * 2014-06-12 2016-10-25 Qualcomm Incorporated Distributed clock synchronization
TWI632554B (zh) * 2017-02-16 2018-08-11 瑞昱半導體股份有限公司 記憶體測試方法
US10418090B1 (en) * 2018-06-21 2019-09-17 Micron Technology, Inc. Write signal launch circuitry for memory drive
KR102538706B1 (ko) 2019-01-08 2023-06-02 에스케이하이닉스 주식회사 반도체장치
US11145343B1 (en) * 2020-11-20 2021-10-12 Faraday Technology Corporation Method for controlling multi-cycle write leveling process in memory system
CN114518837B (zh) * 2020-11-20 2024-05-14 智原科技股份有限公司 运用于存储器系统的多循环写入均衡程序的处理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000206212A (ja) 1999-01-11 2000-07-28 Asia Electronics Inc 半導体試験方法および半導体試験装置
JP2001217694A (ja) 2000-02-04 2001-08-10 Nec Corp 遅延調整回路及びこれを用いたクロック生成回路
KR20090029667A (ko) * 2007-09-18 2009-03-23 후지쯔 가부시끼가이샤 메모리 제어 회로, 지연 시간 제어 장치, 지연 시간 제어 방법 및 지연 시간 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
KR20090052268A (ko) * 2007-11-20 2009-05-25 후지쯔 가부시끼가이샤 가변 지연 회로, 메모리 제어 회로, 지연량 설정 장치, 지연량 설정 방법 및 지연량 설정 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
JP2009284266A (ja) 2008-05-22 2009-12-03 Elpida Memory Inc Dll回路
KR20100097680A (ko) * 2007-12-21 2010-09-03 램버스 인코포레이티드 메모리 시스템 내 기록 타이밍을 측정하기 위한 방법 및 장치
WO2011077573A1 (ja) * 2009-12-25 2011-06-30 富士通株式会社 信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7969799B2 (en) 2007-10-09 2011-06-28 Lsi Corporation Multiple memory standard physical layer macro function
US8098535B2 (en) * 2009-03-30 2012-01-17 Cadence Design Systems, Inc. Method and apparatus for gate training in memory interfaces
JP5331902B2 (ja) * 2009-12-25 2013-10-30 富士通株式会社 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000206212A (ja) 1999-01-11 2000-07-28 Asia Electronics Inc 半導体試験方法および半導体試験装置
JP2001217694A (ja) 2000-02-04 2001-08-10 Nec Corp 遅延調整回路及びこれを用いたクロック生成回路
KR20090029667A (ko) * 2007-09-18 2009-03-23 후지쯔 가부시끼가이샤 메모리 제어 회로, 지연 시간 제어 장치, 지연 시간 제어 방법 및 지연 시간 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
JP2009075682A (ja) 2007-09-18 2009-04-09 Fujitsu Ltd メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム
KR20090052268A (ko) * 2007-11-20 2009-05-25 후지쯔 가부시끼가이샤 가변 지연 회로, 메모리 제어 회로, 지연량 설정 장치, 지연량 설정 방법 및 지연량 설정 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
KR20100097680A (ko) * 2007-12-21 2010-09-03 램버스 인코포레이티드 메모리 시스템 내 기록 타이밍을 측정하기 위한 방법 및 장치
JP2009284266A (ja) 2008-05-22 2009-12-03 Elpida Memory Inc Dll回路
WO2011077573A1 (ja) * 2009-12-25 2011-06-30 富士通株式会社 信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法

Also Published As

Publication number Publication date
EP2755140A4 (en) 2015-04-29
US9305617B2 (en) 2016-04-05
US20140229668A1 (en) 2014-08-14
WO2013035223A1 (ja) 2013-03-14
JP2013054692A (ja) 2013-03-21
EP2755140A1 (en) 2014-07-16
EP2755140B1 (en) 2017-12-13
JP5807952B2 (ja) 2015-11-10
KR101597063B1 (ko) 2016-02-23

Similar Documents

Publication Publication Date Title
KR101597063B1 (ko) 메모리 컨트롤러 및 메모리 제어 방법
JP6199424B2 (ja) メモリシステムの書き込みタイミングを較正する方法および装置
US9306584B2 (en) Multi-function delay locked loop
US8271824B2 (en) Memory interface and operating method of memory interface
JP6434161B2 (ja) ソースシンクロナスインターフェースから受信する制御デバイスのキャリブレーション
KR100930401B1 (ko) 반도체 메모리 장치
JP5653177B2 (ja) メモリインターフェース回路及び半導体装置
US8788780B2 (en) Signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method
US8982650B2 (en) Memory interface circuit and timing adjusting method
CN108009372B (zh) 一种ddr内存虚拟写电平校准响应的方法
US10297310B2 (en) System and method for multi-cycle write leveling
US8050374B2 (en) Semiconductor memory device capable of controlling tAC timing and method for operating the same
US20150146477A1 (en) Semiconductor device
KR100929834B1 (ko) 반도체 메모리 소자와 그의 구동 방법
JP2012203515A (ja) 半導体装置
JP2014102741A (ja) メモリコントローラ及びメモリコントローラのライトレベリング制御方法
CN114627918B (zh) 使用写入dll电路系统对存储器装置进行写入调平
JP2010079520A (ja) メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法
KR101018689B1 (ko) 반도체 메모리 장치와 시스템 구동 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200205

Year of fee payment: 5