KR20120085824A - 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법 - Google Patents

신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법 Download PDF

Info

Publication number
KR20120085824A
KR20120085824A KR1020127013046A KR20127013046A KR20120085824A KR 20120085824 A KR20120085824 A KR 20120085824A KR 1020127013046 A KR1020127013046 A KR 1020127013046A KR 20127013046 A KR20127013046 A KR 20127013046A KR 20120085824 A KR20120085824 A KR 20120085824A
Authority
KR
South Korea
Prior art keywords
signal
delay
input
data
input signal
Prior art date
Application number
KR1020127013046A
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 KR20120085824A publication Critical patent/KR20120085824A/ko

Links

Images

Classifications

    • 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 
    • 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 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/131Digitally controlled
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2272Latency related aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Dram (AREA)
  • Information Transfer Systems (AREA)
  • Networks Using Active Elements (AREA)

Abstract

기억부(4)와 기억 제어부(6)가 포함된다. 기억부(4)는 입력 신호를 입력 순으로 배열시켜 기억하고, 배열 순으로 상기 입력 신호의 판독이 가능한 수단이다. 상기 기억 제어부(6)는 상기 입력 신호의 지연 정보에 따라, 기억부(4)에 있어서의 상기 입력 신호의 입력부터 출력까지의 지연 시간을 제어한다. 그리고, 이 제어에서는, 상기 입력 신호의 지연량이 큰 경우에는, 상기 지연 시간을 감소시키고, 상기 입력 신호의 지연량이 작은 경우에는, 상기 지연 시간을 증가시킨다.

Description

신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법{SIGNAL DECODING CIRCUIT, LATENCY ADJUSTMENT CIRCUIT, MEMORY CONTROLLER, PROCESSOR, COMPUTER, SIGNAL DECODING METHOD, AND LATENCY ADJUSTMENT METHOD}
본 발명은 신호를 복원하는 회로에 관한 것으로, 예컨대 위상 변동이 있는 수신 신호로부터 송신측 신호의 복원, 펄스 신호의 펄스 폭의 복원 등의 신호 처리에 이용되는 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법에 관한 것이다.
위상 변동을 수반하는 신호를 수신한 경우, 이 수신 신호로부터 송신측의 신호를 복원할 때에 신호 복원 회로가 이용된다. 예컨대, DDR 메모리 인터페이스 회로가 있다. DDR(Double Data Rate) 메모리는, 클록(CK) 신호의 포지티브 엣지와 네가티브 엣지 쌍방에서 데이터 입출력을 하여, 클록 주파수의 2배의 데이터 전송 레이트로 데이터 전송을 하는 메모리이다.
이러한 메모리에서는, 메모리 컨트롤러로부터 내부 CK 신호를 DIMM(Dual Inline Memory Module)에 송신한다. DIMM은 그 CK 신호로부터 데이터 스트로브(DQS) 신호를 생성하여, 이 DQS 신호를 데이터(DQ) 신호와 함께 메모리 컨트롤러에 송출한다. 메모리 컨트롤러측에서는, 이들 DQS 신호 및 DQ 신호를 수신하고, DQS 신호를 사용하여 DQ 신호를 리타이밍하고, 또한 내부 클록으로 바꾼다. 이때, 수신점의 래치 회로로 확실하게 데이터 신호를 수신하기 위해서는, 내부 CK 신호와 수신 데이터 신호의 타이밍 관계가 일정 범위 내에 있을 필요가 있다.
이 메모리 컨트롤러의 신호 복원에 관하여, 메모리 컨트롤러 내에서 참조 클록과 상이한 클록 위상을 생성하여, 데이터 스트로브 신호를 지연시키는 것이 알려져 있다(특허문헌 1).
데이터 스트로브 신호를 지연시킨 제1 및 제2 타이밍 신호를 생성시켜, 이들 2개의 타이밍 신호를 선택적으로 이용함으로써, 신호 부정(不定) 상태를 회피하는 것이 알려져 있다(특허문헌 2).
메모리 컨트롤러에 있어서, 데이터 스트로브 신호의 변화 엣지에서 판독 데이터를 받아들이는 것이 알려져 있다(특허문헌 3).
데이터 스트로브 신호와 리드 클록의 위상차를 측정하여, 그 위상차에 따라서 클록 신호의 지연 시간을 가감하고, 그 클록 신호에 동기하여 데이터 신호를 받아들이는 것이 알려져 있다(특허문헌 4).
메모리로부터 데이터를 판독하는 경우에, 데이터를 래치하는 클록의 위상을 시프트하는 것이 알려져 있다(특허문헌 5).
메모리의 판독 데이터와 기록 데이터를 비교하여, 양자가 일치하도록 판독 클록의 위상을 결정하는 것(특허문헌 6), 데이터 스트로브 신호의 위상량을 결정하는 것(특허문헌 7), 일치하도록 기록 타이밍을 결정하는 것이 알려져 있다(특허문헌 8).
데이터 재생에 관해서, 데이터의 상승 엣지, 하강 엣지의 검출 펄스로부터 펄스 폭을 재생할 때에 FIFO(First-In First-Out)을 이용하는 것이 알려져 있다(특허문헌 9).
일본 특허공표 2007-536773호 공보 일본 특허 출원 공개 2006-107352호 공보 일본 특허 출원 공개 평11-25029호 공보 일본 특허 출원 공개 2008-71018호 공보 일본 특허 출원 공개 2007-164697호 공보 일본 특허 출원 공개 2003-50739호 공보 일본 특허 출원 공개 2003-99321호 공보 일본 특허 공개 평11-167515호 공보 일본 특허 출원 공개 평7-169058호 공보
그런데, 신호 전송에는 온도 변화나 경로의 상위(相違) 등에 의해 여러 가지 지연이 생긴다. 이러한 신호 지연을 수복한 경우, 시기적인 수정이 원 신호와 수신 신호를 상위하게 하는 경우가 있다. 이러한 신호의 상위가 동작의 신뢰성을 손상하는 원인이 되는 경우가 있으며, 예컨대 메모리로부터 수신된 데이터가 원 데이터와 상이한 경우에는 데이터 처리의 신뢰성을 손상하는 경우가 있다.
그래서, 본 발명의 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법은 신호 복원 등의 신호 처리를 목적으로 한다.
상기 목적을 달성하기 위해서, 본 발명의 신호 복원 회로는 기억부와, 기억 제어부를 구비한다. 상기 기억부는 입력 신호를 입력 순으로 배열시켜 기억하고, 배열 순으로 상기 입력 신호의 판독이 가능하다. 상기 기억 제어부는 상기 입력 신호의 지연 정보에 따라, 상기 기억부에서의 상기 입력 신호의 입력부터 출력까지의 지연 시간을 제어한다.
상기 목적을 달성하기 위해서, 본 발명의 레이턴시 조정 회로 또는 메모리 컨트롤러는 전술한 신호 복원 회로를 구비한다. 본 발명의 프로세서는 전술한 신호 복원 회로 또는 메모리 컨트롤러를 구비한다. 또한, 본 발명의 컴퓨터는 전술한 신호 복원 회로, 메모리 컨트롤러 또는 프로세서를 구비한다.
상기 목적을 달성하기 위해서, 본 발명의 신호 복원 방법은, 제1 단계, 제2 단계를 포함한다. 상기 제1 단계에서는, 입력 신호를 입력 순으로 배열시켜 기억하고, 배열 순으로 상기 입력 신호의 판독이 가능한 기억부에, 상기 입력 신호를 상기 입력 순으로 기억한다. 상기 제2 단계에서는, 상기 입력 신호의 지연 정보에 따라, 상기 기억부에서의 상기 입력 신호의 입력부터 출력까지의 지연 시간을 제어한다.
또한, 상기 목적을 달성하기 위해서, 본 발명의 레이턴시 조정 방법은 전술한 신호 복원 방법을 포함한다.
본 발명의 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법에 따르면, 다음과 같은 효과를 얻을 수 있다.
(1) 입력 신호에 부수되는 지연 정보에 기초하여, 입력 신호를 입력 순으로 기억하여, 판독하는 기억부에서의 입력부터 출력까지의 지연 시간을 제어하기 때문에, 입력 신호와 지연 정보를 이용하여 신호 복원 등의 신호 처리를 할 수 있다.
(2) 입력 신호가 데이터 펄스 신호인 경우, 복원한 신호의 펄스 폭을 일정하게 할 수 있는 등의 신호 복원이나 레이턴시 조정을 할 수 있다.
그리고, 본 발명의 다른 목적, 특징 및 이점은 첨부 도면 및 각 실시형태를 참조함으로써, 한층 더 명확하게 될 것이다.
도 1은 제1 실시형태에 따른 신호 복원 회로의 일례를 도시하는 도면이다.
도 2는 신호 복원 동작을 나타내는 타이밍 차트이다.
도 3은 신호 복원의 처리 순서의 일례를 도시하는 흐름도이다.
도 4는 제2 실시형태에 따른 신호 복원 회로의 일례를 도시하는 도면이다.
도 5는 신호 복원 처리의 일례를 도시하는 도면이다.
도 6은 제3 실시형태에 따른 신호 복원 회로를 구비하는 메모리 컨트롤러 및 메모리의 일례를 도시하는 도면이다.
도 7은 제4 실시형태에 따른 신호 복원 회로의 일례를 도시하는 도면이다.
도 8은 신호 복원 회로의 구성예를 도시하는 도면이다.
도 9는 신호 복원 처리의 일례를 도시하는 도면이다.
도 10은 신호 복원 처리의 일례를 도시하는 도면이다.
도 11은 신호 복원 처리의 일례를 도시하는 도면이다.
도 12는 제5 실시형태에 따른 레이턴시 조정 회로의 일례를 도시하는 도면이다.
도 13은 DIMM 인터페이스부의 일례를 도시하는 도면이다.
도 14는 레이턴시 조정의 처리 순서의 일례를 도시하는 흐름도이다.
도 15는 리드 레이턴시 조정 전의 상태를 도시하는 도면이다.
도 16은 리드 레이턴시 조정 후의 상태를 도시하는 도면이다.
도 17은 리드 레이턴시 조정 전의 다른 상태를 도시하는 도면이다.
도 18은 리드 레이턴시 조정 후의 다른 상태를 도시하는 도면이다.
도 19는 리드값과 설정값의 대응표를 도시하는 도면이다.
도 20은 리드값과 설정값의 대응표를 도시하는 도면이다.
도 21은 제6 실시형태에 따른 레이턴시 조정 회로의 일례를 도시하는 도면이다.
도 22는 제7 실시형태에 따른 레이턴시 조정 회로의 일례를 도시하는 도면이다.
도 23은 다른 실시형태에 따른 프로세서 및 메모리의 일례를 도시하는 도면이다.
도 24는 다른 실시형태에 따른 컴퓨터의 일례를 도시하는 도면이다.
도 25는 클록 트리부, 신호 수신부를 포함하는 메모리 컨트롤러 및 DIMM의 비교예를 도시하는 도면이다.
도 26은 회로의 지연 변동(variability)의 시산예(試算例)를 도시하는 도면이다.
도 27은 DIMM의 클록 배선 형태를 도시하는 도면이다.
도 28은 DIMM의 다른 클록 배선 형태를 도시하는 도면이다.
[제1 실시형태]
제1 실시형태는 본 발명의 신호 복원 회로의 기본 구성이다. 즉, 이 신호 복원 회로에서는 기본 구성으로서 기억부와 기억 제어부를 구비한다.
이 제1 실시형태에 관해서 도 1 및 도 2를 참조한다. 도 1은 제1 실시형태에 따른 신호 복원 회로의 일례를 도시하는 도면, 도 2는 신호 복원 동작의 일례를 도시하는 타이밍 차트이다. 도 1에 도시하는 구성은 일례이며, 본 발명은 이러한 구성에 한정되는 것은 아니다.
이 신호 복원 회로(2A)는 본 발명의 신호 복원 회로의 일례이며, 위상 변동이 있는 신호로부터 원 신호의 펄스 폭 등의 신호 양태를 복원하는 수단이다. 그래서, 이 신호 복원 회로(2A)에는, 도 1에 도시하는 바와 같이, 기억부(4)와 기억 제어부(6)가 구비된다.
기억부(4)는 입력 신호(IN)의 기억 수단이며, 입력 신호(IN)를 입력 순으로 배열시켜 기억하고, 배열 순으로 입력 신호(IN)의 판독이 가능하다. 이 기억부(4)에는, 배열된 복수의 기억 소자(41, 42, 43 … 4N)를 구비하며, 예컨대 맨 처음에 입력된 신호(데이터)를 맨 처음에 출력된 방식 즉, FIFO(First-In First-Out)로 구성된다.
기억 제어부(6)는 기억부(4)의 제어 수단이며, 입력 신호(IN)의 지연 정보(Dinfo)에 따라, 기억부(4)에 있어서의 입력 신호(IN)의 입력부터 출력까지의 지연 시간을 제어한다. 지연 정보(Dinfo)는 입력 신호(IN)에 부수되는 정보이며, 입력 신호(IN)의 지연량을 정량적으로 나타내는 정보이다.
그리고, 입력 신호(IN)는 도 2의 A에 도시하는 바와 같이, 펄스 폭에 변동이 생기는 경우를 상정한다. 지연 정보(Dinfo)는 도 2의 B에 도시하는 바와 같이, 각 클록 사이클(도 2의 파선의 시점)에서의 입력 신호(IN)의 지연량을 갖는 신호이다.
이러한 입력 신호(IN) 및 지연 정보(Dinfo)는 기억 제어부(6)에 입력된다. 입력 신호(IN)는 기억 제어부(6)에 의해 클록(CLK) 신호(도 2의 D)에 동기하여, 기억부(4)의 기억 소자(41, 42, 43, … 4N)에 입력 순으로 기록된다.
CLK 신호에 동기한 입력 신호(IN)는 동시에 취입된 지연 정보(Dinfo)에 따른 지연 시간을 지나 출력 신호(OUT)로서 출력된다. 예컨대, 도 2에 있어서, CLK 신호의 (2)의 시점에서 취입된 입력 신호 A1은 지연 정보(Dinfo)의 지연량(D1)이 지정하는 시간의 경과 후(이 예에서는 3 클록)에 출력된다.
CLK 신호의 (6)의 시점에서 입력된 입력 신호 A3과 같이, 후속 신호가 빠르게 도달했기 때문에, 펄스 폭이 작아진 경우에는, 다음 CLK 신호의 (7)에서 지연 정보(Dinfo)의 값을 감소시킨다. 또한, CLK 신호의 (11)의 시점과 같이 후속 신호가 늦었기 때문에, 펄스 폭이 커진 경우에는, 지연 정보(Dinfo)의 값을 증가시킨다.
그래서, 기억 제어부(6)에서는, 전술한 바와 같은 제어 동작으로서, 기억부(4)에 있어서의 입력 신호(IN)의 입력부터 출력까지의 지연 시간(Td)을 제어한다. 이 경우, 입력 신호(IN)의 지연량(D)이 큰 경우에는, 지연 시간(Td)을 감소시키고, 입력 신호(IN)의 지연량(D)이 작은 경우에는, 지연 시간(Td)을 증가시킨다. 이 결과, 도 2의 C에 도시하는 바와 같이, 출력 신호(OUT)가 기억부(4)로부터 생성되고, 출력 신호(OUT)는 입력 신호(IN)로부터의 일정한 신호 폭 즉, 펄스 폭을 갖는 원 신호로 복원된다.
이어서, 이 신호 복원 처리에 관해서 도 3을 참조한다. 도 3은 신호 복원 처리의 처리 순서의 일례를 도시하는 흐름도이다.
이 처리 순서는 본 발명의 신호 복원 방법의 일례이다. 이 처리 순서에는 기록 처리(단계 S11), 지연 판독 처리(단계 S12), 출력 처리(단계 S13)가 포함된다.
기록 처리(단계 S11)에서는, 기억부(4)에 입력 신호(IN)가 입력 순으로 배열되어 기억된다. 즉, 기억부(4)는 배열 순으로 입력 신호(IN)의 판독이 가능하다.
지연 판독 처리(단계 S12)에서는, 입력 신호(IN)의 지연 정보(Dinfo)에 따라, 기억부(4)에 있어서의 입력 신호(IN)의 입력부터 출력까지의 지연 시간(Td)을 제어한다.
그리고, 출력 처리(단계 S13)에서는, 기억부(4)로부터 배열 순으로 입력 신호(IN)가 판독되고, 순차 판독된 입력 신호(IN)가 기억부(4)로부터 출력 신호(OUT)로서 생성된다.
이러한 처리 순서에 의해, 입력 신호(IN)에 부수되는 지연 정보(Dinfo)에 기초하여, 입력 신호(IN)를 입력 순으로 기억하고, 기억부(4)에 있어서의 입력부터 출력까지의 지연 시간(Td)을 제어하기 때문에, 입력 신호(IN)와 지연 정보(Dinfo)를 이용하여 신호 복원을 할 수 있다.
[제2 실시형태]
제2 실시형태는 기억부 및 기억 제어부를 구체화한 구성예이다.
이 제2 실시형태에 관해서 도 4 및 도 5를 참조한다. 도 4는 제2 실시형태에 따른 신호 복원 회로의 구성예를 도시하는 도면, 도 5는 신호 복원 처리를 도시하는 도면이다. 도 4에 있어서, 도 1과 동일 부분에는 동일 부호를 붙여 놓는다.
이 신호 복원 회로(2B)에서는, 기억부(4)에 16조(組)의 플립플롭(FF)(401, 402, 403 … 416)이 설치되고, 기억 제어부(6)에는 셀렉터부(8)가 설치되어 있다. 이 셀렉터부(8)에는 FF(401, 402, 403 … 416)에 대응하여, 15조의 셀렉터(801, 802, 803 … 815)가 설치되어 있다.
이 경우, 각 셀렉터(801, 802, 803 … 815)의 한쪽 입력에는, 입력 신호(IN)이 인가되고, 각 셀렉터(801, 802, 803 … 815)의 다른쪽 입력에는 대응하는 FF(401, 402, 403 … 416)의 출력이 인가되고 있다. FF(401)의 데이터 입력에는, 이 실시형태의 경우, "0"이 인가되고 있다. 그리고, FF(402)의 데이터 입력에는 셀렉터(801)의 출력, FF(403)의 데이터 입력에는 셀렉터(802)의 출력, FF(404)의 데이터 입력에는 셀렉터(803)의 출력이 인가되고 있다. FF(405)의 데이터 입력에는 셀렉터(804)의 출력, FF(406)의 데이터 입력에는 셀렉터(805)의 출력, FF(407)의 데이터 입력에는 셀렉터(806)의 출력이 인가되고 있다. FF(408)의 데이터 입력에는 셀렉터(807)의 출력, FF(409)의 데이터 입력에는 셀렉터(808)의 출력, FF(410)의 데이터 입력에는 셀렉터(809)의 출력이 인가되고 있다. FF(411)의 데이터 입력에는 셀렉터(810)의 출력, FF(412)의 데이터 입력에는 셀렉터(811)의 출력, FF(413)의 데이터 입력에는 셀렉터(812)의 출력이 인가되고 있다. 마찬가지로, FF(414)의 데이터 입력에는 셀렉터(813)의 출력, FF(415)의 데이터 입력에는 셀렉터(814)의 출력, FF(416)의 데이터 입력에는 셀렉터(815)의 출력이 인가되고 있다.
각 셀렉터(801, 802, 803 … 815)의 제어 입력에는, 대응하는 지연 신호(Di)가 인가되고 있다. 각 FF(401, 402, 403 … 416)의 클록 입력부에는, 공통으로 클록(CLK) 신호가 인가되어 FF 동작이 CLK 신호에 의해 동기된다. FF(416)로부터 출력 신호(OUT)가 취출된다.
이 신호 복원 회로(2B)에 있어서, 각 셀렉터(801, 802, 803 … 815)는 제어가 참(true)인 경우, 입력 신호(IN)를 선택한다. 이 선택 출력이 기억부(4)측의 FF(401, 402, 403 … 416)에 입력된다. 지연 신호(Di)가 일정값이라면, 입력 신호(IN)를 입력 순으로 취입하고, 그 입력 신호(IN)를 지연시켜, 출력 신호(OUT)로서 출력하는 FIFO를 구성한다. 지연 신호(Di)에 천이가 있는 경우, 입력 신호(IN)를 입력한 입력 위치의 FF(401, 402, 403 … 416)가 선택되어, 그 위치를 전후(前後) 시프트시킨다. 이 실시형태에서는, 16조의 FF(401, 402, 403 … 416)로 구성되며, 입력 신호(IN) 및 출력 신호(OUT)는 16 [bit]이고, 입력 신호(IN)는 인접하는 2 [bit]의 FF에 입력된다.
기억부(4)는, 입력 신호(IN)가 기억되고, 출력 신호(OUT)가 얻어지는 처리 테이블(10A)(도 5)을 저장한다. 처리 테이블(10A)에는, 도 5에 도시하는 바와 같이, 처리 번호란(12), 입력 신호란(14), 지연 신호란(16), 기억부(4)의 기록 위치(FIFO 내 신호 기록 위치)란(18), 출력 신호란(20)이 제시되어 있다. 처리 번호란(12)은, 처리 순서를 나타내는 번호로서 0 내지 45가 예시되어 있다. 입력 신호란(14)에는 입력 신호(IN)=X, A, B …가 예시되어 있다. 기억부(4)의 기록 위치란(18)에는 FF(401)=-8, FF(402)=-7, FF(403)=-6, FF(404)=-5, FF(405)=-4, FF(406)=-3, FF(407)=-2, FF(408)=-1, FF(409)=0, FF(410)=1, FF(411)=2, FF(412)=3, FF(413)=4, FF(414)=5, FF(415)=6, FF(416)=7의 위치가 설정되어 있다. 각 위치에는 입력 신호(IN)=0, X, A, B …가 저장되며, 0은 입력 없는 상태이다. 그리고, 출력 신호란(20)에는 출력 신호(OUT)=X, A, B …가 예시되어 있다. 처리 테이블(10A)에 있어서, 처리 번호 0?45는 시간의 경과와 함께 추이한다.
입력 신호(IN)는 처리 테이블(10A)의 각 셀의 1행마다 1 클록분만큼 진행한다. 이 경우, 기억부(4)에 대한 입력 신호(IN)는 동일 신호를 2회씩 반복하면서 입력된다. 이 동일 신호란, 2 [bit]분의 「A,A」, 「B,B」, 「C,C」 …를 나타낸다. 그래서, 입력 신호(IN)가 지연된 경우에는, 입력 신호(IN)가 1 클록분만큼 늘어나고, 지연 신호(Di)의 값이 3 [bit]째에서 1만큼 증가한다(예컨대, 처리 번호 15, 18의 경우). 또한, 입력 신호(IN)가 진행한 경우에는, 입력 신호(IN)가 1 클록분만큼 줄어들고, 지연 신호(Di)의 값이 다음 입력 신호에서 1만큼 줄어든다(예컨대, 처리 번호 25, 26, 35, 40의 경우).
이러한 입출력 형태에서는, 기억부(4)의 기록 및 판독에 있어서의 FIFO 동작에서는, 상단측의 입력 신호(IN)를 우측으로 시프트하여, 「지연 신호 Di」와 「지연 신호 Di-1」의 위치에 입력 신호(IN)가 입력된다. 도 5에서는, 굵은 선으로 프레임 포위부(22)의 셀 부분이 그 입력 신호(IN)를 나타내고, 그 위치가 지연 신호(Di)에 따라서 변화한다. 즉, 지연 신호(Di)에 의해서 입력 신호(IN)의 배열의 상이한 위치에 입력되어, 입력 신호(IN)의 배열이 변경된다.
그리고, 이 실시형태에서는, 출력 신호(OUT)가 기억부(4)에 구성되는 FIFO 7단째의 FF(416)로부터 취출된다. 따라서, 지연 신호(Di)에 따라서 시간 제어된 출력 신호(OUT)가 복원 신호로서 생성된다.
또한, 입력 신호(IN)를 FF의 인접하는 2 [bit]에 동시에 입력하기 때문에, 입력 신호(IN)의 폭이나 데이터 폭이 좁은 경우, 예컨대, 처리 번호 25, 28(도 5)의 경우에도 신호의 복원 정밀도가 높아진다. 이 경우, 1 [bit]에밖에 입력되지 않는 경우에 출력 파형을 복원할 수 없다고 하는 문제점은 상기 처리에 의해 확실하게 해소되게 된다.
[제3 실시형태]
제3 실시형태는 전술한 신호 복원 회로가 메모리 컨트롤러에 설치된 구성예이다.
이 제3 실시형태에 관해서 도 6을 참조한다. 도 6은 신호 복원 회로를 구비하는 메모리 컨트롤러와 메모리를 도시하는 도면이다. 도 6에 있어서, 도 1 및 도 4와 동일 부분에는 동일 부호를 붙여 놓는다.
이 신호 복원 회로(2C)는 본 발명의 신호 복원 회로의 일례이며, DIMM(Dual Inline Memory Module)(26)의 데이터 신호를 복원하는 신호 복원 수단이다. 이 신호 복원 회로(2C)는 메모리 컨트롤러(24A)에 설치되어 있다. 메모리 컨트롤러(24A)는 DIMM(26)에 대한 데이터의 기록, 판독을 제어하는 수단이다. DIMM(26)는 데이터원인 동시에 신호원의 일례이다.
이 신호 복원 회로(2C)에서는, 데이터 신호의 수신 기능과 신호 복원 기능을 구비하며, 도 6에 도시하는 바와 같이, 기억부(4)와, 기억 제어부(6)와, 신호 수신부(28)를 구비하고 있다. 기억부(4) 및 기억 제어부(6)는 제1 실시형태에서 설명한 바와 같으며, 그 구성은 예컨대 제2 실시형태와 같다.
신호 수신부(28)는 CLK 신호로부터 CK 신호를 생성하여 DIMM(26)에 송신하고, DIMM(26)가 CK 신호로부터 생성한 위상 기준 신호인 데이터 스트로브(DQS) 신호나 데이터(DQ) 신호를 수신한다. DIMM(26)는 메모리 디바이스의 일례이다. 또한, 신호 수신부(28)에서는, DQS 신호를 사용하여 DQ 신호를 리타이밍하고, 또한 내부 클록으로 바꾼다. 그래서, 신호 수신부(28)는 클록 생성부(30)와, 클록 출력부(32)와, 위상 설정부(34)와, 제1 위상 지연부(36)와, 위상 검출부(38)와, 제2 위상 지연부(50)와, 셀렉터(52)와, 데이터 유지부(54)를 구비한다. 위상 검출부(38)로 지연 정보의 검출 및 발생 수단이 구성되고, 클록 생성부(30)와, 제1 위상 지연부(36)와, 제2 위상 지연부(50)로 지연 제어부가 구성된다.
클록 생성부(30)는 LSI 내부 클록 회로부[예컨대, 도 25의 클록 트리부(306)]에서 생성된 CLK 신호를 분주하여, 복수상(相)의 CLK 신호를 생성한다. 이 실시형태에서는, 예컨대, 2 [GHz]의 CLK 신호를 4 분주하여 500 [MHz]의 CLK 신호를 얻어, 0도, 90도, 180도, 270도의 4상 CLK 신호를 생성한다.
클록 출력부(32)는 클록 생성부(30)로부터 270도의 CLK 신호를 수신해서, CK 신호를 생성하여 DIMM(26)에 출력한다. DIMM(26)로부터 데이터를 판독하는 경우, DIMM(26)는 신호 수신부(28)로부터 수신된 CK 신호에 의해 DQS 신호를 생성하고, 이 DQS 신호에 동기한 DQ 신호를 생성한다. DQS 신호 및 DQ 신호는 동상(同相)이다.
위상 설정부(34)는 DQS 신호 및 DQ 신호에 정해진 위상(90도)의 위상 시프트를 설정하는 수단이다. 그래서, 이 위상 설정부(34)는 DQS 신호측에, 예컨대 입력 버퍼, 지연 회로, 인버터 등을 구비하고, DQ 신호측에, 예컨대 입력 버퍼, 지연 회로, FF 등을 구비한다.
제1 위상 지연부(36)는, 정해진 위상차를 단위로 하는 지연량으로서, 예컨대 90도 미만의 범위에서 DQS 신호의 위상을 지연시키는 수단이고, DQ 신호에 위상 지연을 실시하는 수단이다. 그래서, 이 위상 지연부(36)는 가변 지연 회로를 구비하며, 지연 신호(DQPHASE)를 수신하여, 지연 능력의 한계값인, 90도 미만의 지연량을 DQS 신호에 설정한다.
위상 검출부(38)는 클록 생성부(30)에서 생성된 CLK 신호와, 위상 지연부(36)로부터의 DQS 신호를 비교해서 위상차를 검출하고, 이 위상차를 나타내는 정보로서 DQPHASE 신호를 출력한다. DQPHASE 신호는 DQS 신호의 지연량을 나타내는 정보 신호로서, 신호 수신부(28)로부터 지연 정보로서 출력되고, 위상 지연부(36) 및 클록 생성부(30)에 인가된다. 클록 생성부(30)에서는, DQPHASE 신호가 CLK 신호의 선택 정보이다.
제2 위상 지연부(50)는 정해진 위상차를 단위로 하는 지연량으로서 예컨대, 90도를 단위로 하여 DQS 신호의 위상을 지연시키는 수단이다. 그래서, 이 위상 지연부(50)는 클록 생성부(30)로부터 CLK 신호를 받아, 정해진 위상차를 단위로 하는 지연량만큼 위상이 지연된 DQ 신호를 얻을 수 있다.
셀렉터(52)는 위상 지연부(50)의 복수 출력을 선택하는 수단이다. 이 셀렉터(52)는, 클록 생성부(30)에서 생성된 CLK 신호를 받아, 이것을 선택 정보에 이용하여 DQ 신호와, 반전 DQ 신호를 교대로 선택한다.
데이터 유지부(54)는 셀렉터(52)에서 선택된 DQ 신호 또는 반전 DQ 신호의 유지 수단이며, 클록 변경 수단이다. 그래서, 이 데이터 유지부(54)에는, LSI 내부 클록 회로부로부터 인가된 기준 CLK 신호가 클록 생성부(30)의 입력측으로부터 인가된다. 데이터 유지부(54)에서는, 이 기준 CLK 신호에 동기하여 DQ 신호 또는 반전 DQ 신호를 유지하고, 클록을 기준 CLK 신호로 바꿔서, DQ 신호 또는 반전 DQ 신호(이하, 단순히 「DQ 신호」라고 부름)를 출력한다.
그리고, 데이터 유지부(54)로부터의 DQ 신호는 기억 제어부(6)에 인가되어, 기억부(4)의 입력 신호(IN)가 된다. 또한, 위상 검출부(38)에서 얻어진 DQPHASE 신호가 기억 제어 정보로서 기억 제어부(6)에 인가된다.
그래서, 이러한 신호 복원 회로(2C)에 의한 DQ 신호로부터 수신 데이터 펄스 폭의 재생은 다음과 같다.
DQ 신호에 있어서의 수신 데이터의 위상은 전원 전압, 장치 온도 등의 환경 요인에 의해 변동한다. 이 때문에, 내부 클록으로 바꾼 후, 수신 데이터도 마찬가지로 변동한다. 신호 수신부(28)에서는, 내부 클록 신호로 DQ 신호가 정규화된 것처럼 보인다. 그러나, 내부 클록 위상으로 바꾼 수신 데이터는 그 취입 클록을 적시에 진행시키거나 늦출 수 있으며, 이 영향으로 펄스 폭은 클록을 전환하면서 동시에 1 클록 폭분[=tCK/4=4상 클록의 상간(相間) 지연 차분]만큼 좁아지거나, 넓어질 수 있다.
그래서, 이 신호 복원 회로(2C)에서는, 기억부(4) 및 기억 제어부(6)로 DQ 신호[입력 신호(IN)]의 지연 제어부를 구성하여, 데이터의 펄스 폭을 재생하는 처리를 실현한다. 기억부(4)는 데이터의 지연 변동을 흡수하기에 충분한 FIFO 기능을 구비하며, DQPHASE 신호가 갖는 지연량에 따라, 기억부(4)로 구성되는 FIFO를 통과하는 지연 시간을 증가 또는 감소시킨다. 이에 따라, 신호 수신부(28)로부터 출력되는 수신 신호, 즉 DQ 신호의 지연을 일정하게 유지하고, 데이터 펄스 폭을 재생한다.
이 신호 복원 처리에 관해서 보다 구체적으로 설명한다. DQPHASE 신호가 갖는 지연량이 커진 경우(=클록 변경을 위한 지연이 큰 경우)에는, 그만큼 FIFO를 빠르게 통과하도록 하면 좋다. 또한, DQPHASE 신호가 갖는 지연량이 작아지면, FIFO를 늦게 통과하도록 하면 좋다. 이러한 지연의 증가 또는 감소에 의해, 출력 데이터 위상이 일정하게 유지된다.
또한, 펄스 폭의 재생은 다음과 같다. 데이터의 펄스 폭이 좁아지는 경우란, 수신 데이터의 위상이 빨라진 경우이며, 이것을 FIFO를 구성하는 기억부(4)에서는, 통과하는 지연 시간을 증가시킬 필요가 있다. 또한, 데이터의 펄스 폭이 넓어지는 경우란, 수신 데이터의 위상이 늦어진 경우이며, FIFO를 구성하는 기억부(4)에서는, 통과하는 지연 시간을 감소시킬 필요가 있다.
그리고, 좁아진 데이터의 펄스 폭을 넓히는 데에 대응하기 위한 FIFO에의 데이터 입력 방법은 제1 및 제2 실시형태에 상세히 설명한 바와 같다. 즉, 인접하는 2 [bit]의 래치 수단, 즉 FF(도 4, 도 5)에 대하여, 동시에 입력 신호(IN)를 입력하면 되며, 이에 따라, FIFO의 단수(段數)를 변경한 경우의 데이터 부정(데이터 소실)을 없앨 수 있다.
이러한 실시형태에 따르면, 데이터 펄스 폭이 항상 일정하게 되어, 신호 복원 회로(2C)의 출력 신호(OUT)가 생성되고, 이것이 안정된 수신 신호로 된다. 즉, 원 데이터 신호를 충실히 복원할 수 있다.
[제4 실시형태]
제4 실시형태는 지연 정보에 오프셋 정보를 부가하여 기억 제어를 행하는 구성, 즉 제1, 제2 또는 제3 실시형태에 오프셋 정보를 부가하여 제어하는 구성이다.
이 제4 실시형태에 관해서 도 7, 도 8, 도 9, 도 10 및 도 11을 참조한다. 도 7은 제4 실시형태에 따른 신호 복원 회로의 일례를 도시하는 도면, 도 8은 그 구체예인 신호 복원 회로를 도시하는 도면, 도 9, 도 10 및 도 11은 오프셋 신호가 부가된 경우의 신호 복원 처리를 도시하는 도면이다. 도 7, 도 8에 있어서, 도 1, 도 4 또는 도 6과 동일 부분에는 동일 부호를 붙여 놓는다.
이 신호 복원 회로(2D)에서는, 도 7에 도시하는 바와 같이, 기억 제어부(6)에 가산기(56)가 설치되어 있다. 이 가산기(56)는 전술한 지연 신호(DQPHASE)에 오프셋 신호(Offset)를 가산하는 연산 수단의 일례이다. 이 실시형태에서는, 셀렉터부(8)에는, 오프셋 신호(Offset)가 가산된 오프셋 부가된 지연 신호(DQPHASE+ Offset)가 지연 정보로서 인가된다. 그 밖의 구성은 제1 실시형태(도 1)와 마찬가지이다.
그래서, 이 신호 복원 회로(2D)는 도 8에 도시하는 바와 같이 구성되며, 가산기(56)의 각 출력은 셀렉터부(8)의 각 셀렉터(801 ,802, 803 … 815)의 선택 입력이 된다. 또한, 기억부(4)의 FF(401, 402, 403 … 416)에 의한 FIFO의 구성은 제2 실시형태와 마찬가지다(도 4).
이 신호 복원 회로(2D)에 있어서, 가산기(56)는 지연 신호(DQPHASE)와 오프셋 신호(Offset)의 합을 출력한다. 이에 따라, 입력 신호(DQ)가 FIFO를 통과하는 데 걸리는 시간(클록수)을 증가 또는 감소시킬 수 있다.
이 입력 신호(DQ)의 지연 제어에 관해서, 오프셋이 Offset=0(처리 테이블 10B: 도 9), Offset=1(처리 테이블 10C: 도 10), 및 Offset=5(처리 테이블 10D: 도 11)을 예시한다. 도 9, 도 10, 도 11의 각 테이블에 있어서, 처리 번호는 시간의 추이를 나타내고 있다.
각 처리 테이블(10B, 10C 및 10D)에 있어서는, 처리 번호란(12), 입력 신호란(14), 지연 신호란(16), 기억부(4)의 기록 위치(FIFO 내 신호 기록 위치)란(18), 출력 신호란(20)이 제시되어 있다. 각 처리 테이블(10B, 10C 및 10D)에 있어서, 처리 테이블(10A)(도 5)과 다른 점은, 오프셋 신호란(58), 오프셋 부가된 지연 신호란(60)을 구비하고 있는 것이다.
처리 번호란(12)은 처리 순서를 나타내는 번호로서 0 내지 45가 예시되어 있다. 입력 신호란(14)에는 전술한 입력 신호(DQ)=X, A, B …가 저장되어 있다. 이 경우, 지연 신호란(16)에는 전술한 신호 수신부(28)(도 6)로부터의 지연 신호(DQPHASE)가 저장된다.
기억부(4)의 기록 위치란(18)에는 FF(401)=-8 … FF(416)=7의 위치가 설정되며, 신호의 천이를 나타내고 있다. 각 위치에는 입력 신호(DQ)=X, A, B …, 출력 신호란(20)에는 출력 신호(OUT)=X, A, B …가 예시되어 있는 것은 전술한 바와 같다.
그리고, 오프셋 신호란(58)에는, 지연 신호(DQPHASE)에 가산하기 위한 오프셋 정보로서 오프셋 신호(Offset)가 저장된다. 또한, 오프셋 부가된 지연 신호란(60)에는, 지연 신호란(16)에 있는 지연 신호(DQPHASE)와, 오프셋 신호란(58)에 있는 오프셋 신호(Offset)의 가산값인 오프셋 부가된 지연 신호(DQPHASE+Offset)가 저장된다.
각 경우에 관해서, 전술한 바와 같이, FIFO에서는, 상단측의 입력 신호(DQ)를 우측으로 시프트하고, 입력 신호(DQ)를 「지연 신호」와 「지연 신호-1」의 위치에 입력하여, 출력 신호(OUT)를 FF(416)로부터 취출한다. 또한, 도 9, 도 10 및 도 11의 셀 1행마다 회로의 1 클록 진행하는 것으로 한다. 또한, 입력 신호(DQ)의 입력에서는, 동일 신호가 2회씩 반복하면서 입력되고, 입력 신호(DQ)가 지연된 경우에는, 입력 신호가 1 클록분만큼 늘어나, 오프셋 부가된 지연 신호(DQPHASE+Offset)의 값이 3 [bit]째에서 1만큼 늘어난다(예컨대, 처리 번호 15, 18). 입력 신호(DQ)가 진행한 경우에는, 입력 신호가 1 클록분만큼 줄어들어, 오프셋 부가된 지연 신호(DQPHASE+Offset)의 값이 다음 신호에서 1만큼 줄어든다(예컨대, 처리 번호 25, 26).
그래서, Offset=0에서는, 도 9에 도시하는 바와 같이, 전술한 지연 제어(도 5)와 마찬가지다. 또한, Offset=1에서는, 도 10에 도시하는 바와 같이, Offset=0의 경우와 비교하여, 출력 신호(OUT)가 1 클록분만큼 빠르게 출력된다. 또한, Offset=5에서는, 도 11에 도시하는 바와 같이, Offset=0의 경우와 비교하여, 출력 신호(OUT)가 5 클록분만큼 빠르게 출력되고, Offset=1의 경우와 비교하여, 출력 신호(OUT)가 4 클록분만큼 빠르게 출력된다.
[제5 실시형태]
제5 실시형태는 DIMM의 메모리 컨트롤러에 전술한 신호 복원 회로와, 오프셋 신호 설정부를 구비함으로써, 수신 신호의 레이턴시(Latency) 조정 회로를 구성한다.
이 제5 실시형태에 관해서 도 12를 참조한다. 도 12는 제5 실시형태에 따른 레이턴시 조정 회로의 일례를 도시하는 도면이다. 도 12에 있어서, 도 6 및 도 7과 동일 부분에는 동일 부호를 붙여 놓는다.
이 레이턴시 조정 회로(64)는 본 발명의 신호 복원 회로 및 레이턴시 조정 회로의 일례이며, DIMM(26)의 데이터 신호를 복원하는 신호 복원 수단, 수신 데이터의 레이턴시를 조정하는 수단이다. DIMM(26)는 전술한 바와 같이, 데이터원과 아울러 신호원의 일례이다.
그래서, 레이턴시 조정 회로(64)는 신호 수신부(28)의 수신 신호의 레이턴시를 조정하는 수단의 일례이며, 도 12에 도시하는 바와 같이, 신호 복원 회로(2E)에 있는 기억부(4)와, 기억 제어부(6)와, 메모리 컨트롤러(24B)측에 오프셋 설정부(62A)를 구비하고 있다. 이 경우, 신호 복원 회로(2E)는 메모리 컨트롤러(24B)의 인터페이스부를 구성한다. 기억부(4), 기억 제어부(6), 신호 수신부(28) 및 메모리 컨트롤러(24B)는 전술한 바와 같으므로, 그 설명을 생략한다.
오프셋 설정부(62A)는, 기억 제어부(6)에 설정하는 전술한 오프셋 신호(Offset)를 생성하여, 이 오프셋 신호에 따라 오프셋을 설정하는 수단의 일례이다. 이 오프셋 설정부(62A)는 컨트롤 레지스터(66)와, 데이터 저장용 레지스터(68)와, 연산 장치(70)를 구비한다.
컨트롤 레지스터(66)는 DIMM(26)에 데이터의 기록 타이밍이나 데이터의 취입득 타이밍을 설정하는 수단의 일례이며, 메모리 컨트롤러(24B)에 구비되고, 연산 장치(70)에 의해 제어된다.
데이터 저장용 레지스터(68)는 레이턴시 제어를 위한 각종 데이터의 저장 수단의 일례이며, 메모리 컨트롤러(24B)에 구비되고, 오프셋 데이터를 유지하는 수단을 겸용하고 있다. 즉, 이 데이터 저장용 레지스터(68)는 FIFO의 설정 레지스터를 겸하고 있으며, 기억부(4)로부터 DQ 신호를 받아, 오프셋 신호(Offset)를 출력하고, 이 오프셋 신호(Offset)를 기억 제어부(6)의 가산기(56)에 인가한다.
연산 장치(70)는 지연 정보 검출 수단의 일례이며, 이 실시형태에서는, 메모리 컨트롤러(24B)의 외측에 설치된 프로세서의 일례로, 연산 처리부(72)와, 기억부(74)를 구비한다. 연산 처리부(72)는 기억부(74)에 있는 펌웨어 프로그램을 실행하는 수단의 일례이다. 기억부(74)는 펌웨어 프로그램의 저장 수단이고, 데이터 저장 수단을 구성한다. 이 기억부(74)에는 펌웨어 프로그램부(75), 데이터 테이블(76)(도 19), 데이터 테이블(78)(도 20)이 저장되어 있다. 이 실시형태에서는, 기억부(74)가 연산 장치(70)의 내부에 설치되어 있지만, 연산 장치(70)의 외부에 설치되더라도 좋다.
이러한 레이턴시 조정의 필요성에 관해서 도 13을 참조한다. 도 13은 DIMM 및 메모리 컨트롤러를 구비하는 회로를 도시하는 도면이다.
이 실시형태의 DIMM(26)에는, 도 13에 도시하는 바와 같이, 복수의 메모리 디바이스의 일례로서 DRAM(0), DRAM(1), DRAM(2) … DRAM(8) 및 레지스터(R)가 구비되고, 메모리 컨트롤러(24B)에는 전술한 신호 수신부(28)인 복수의 신호 수신부(280, 281, 282 … 288)가 구비되어 있다.
각 신호 수신부(280, 281, 282 … 288)에서는 전술한 FIFO의 역할을 하기 때문에, DQS 그룹에 관해서, DRAM(0), DRAM(1), DRAM(2) … DRAM(8)로부터 각 신호 복원 회로(2E)를 통해서 얻어지는 메모리 컨트롤러(24B)의 수신 신호의 지연이 일정하게 유지되어, 데이터 펄스 폭의 복원이 가능하게 된다.
그런데, 각 신호 수신부(280, 281, 282 … 288)의 신호 수신이 DRAM(0)?DRAM(8)마다 개별로 이루어지는 결과, 지연량은 인터페이스의 회로 구성 등에 의해 가지각색이 된다. 이들을 균일화하기 위해서, 레이턴시 제어가 필요하다. 그래서, 이 실시형태의 메모리 컨트롤러(24B)에서는, 각 신호 수신부(280?288)에서의 DQS 그룹 사이의 데이터 차이를 클록 사이클 단위마다 해소한다.
이 실시형태에서는, FIFO에 메모리 컨트롤러(24B)로부터 오프셋 정보를 송신하는 인터페이스로서 오프셋 설정부(62A)를 가지며, FIFO를 구성하는 기억부(4)를, 오프셋 부가된 지연 정보를 제어하는 기억 제어부(6)로 실현한다. 즉, 메모리 컨트롤러(24B)측으로부터 지연 신호에 오프셋을 부가하는 것을 가능하게 한다.
그래서, 상이한 DQS 그룹의 복수의 DRAM(0)?DRAM(8)의 데이터들 간의 레이턴시를 맞추기 위해서, 연산 장치(70)(도 12)의 지시에 따라, DIMM(26)의 정해진 연속 어드레스에 정해진 연속 데이터를 기록하고, 각 연속 어드레스로부터 데이터를 연속해서 판독한다. 연산 장치(70)는 연속해서 판독된 데이터 내용으로부터 오프셋값을 결정하여, 이 오프셋값을 지연 신호에 더한다.
연산 장치(70)에서는, 연속해서 판독된 데이터 내용으로부터, 판독 시의 레이턴시, 즉 판독 커맨드의 발행부터 판독 데이터의 수신까지의 시간(지연 시간)을 알 수 있다. 이 지연 시간에 따라, 정해진 레이턴시에 맞추는 것이 가능하다. 더욱이, 레이턴시의 변동 범위를 한정할 수 있으면, FIFO를 구성하는 기억부(4)에서 소비되는 쓸데없는 레이턴시 분량을 절약할 수 있다.
그래서, 이 레이턴시 조정을 위해, 메모리 컨트롤러(24B)에서는 FIFO의 데이터 저장용 레지스터(68)에 설정되는 오프셋값을 결정한다(도 14).
이 레이턴시 조정의 처리 순서에 관해서 도 14를 참조한다. 도 14는 레이턴시 조정의 처리 순서의 일례를 도시하는 흐름도이다.
이 레이턴시 조정의 처리 순서는 본 발명의 레이턴시 조정 방법의 일례이며, 컴퓨터에 의해서 실행되는 프로그램으로 구성되어, 레이턴시의 검출 기능과, 레이턴시 검출에 기초한 레이턴시의 조정 기능을 포함한다.
그래서, 이 처리 순서에서는, 도 14에 나타내는 바와 같이, 펌웨어를 실행하는 연산 장치(70)의 지시에 따라, 메모리 컨트롤러(24B)는 DIMM(26)에 데이터를 기록한다(단계 S21). 이 경우, 기록하는 데이터는 0 내지 f(도 15)의 값이 연속된 데이터이다.
연산 장치(70)는 컨트롤 레지스터(66)에 대하여 데이터의 취득 타이밍(도 15, 도 16에서의 Get의 타이밍)을 지정한다(단계 S22). 주파수가 상이한 경우의 2회째의 데이터 취입에서는, 1회째의 데이터 취입보다 Get의 타이밍(도 17, 도 18에서의 Get의 타이밍)을 클록의 1 사이클만큼 늦춘다.
연산 장치(70)는 데이터 저장용 레지스터(68)에 "0"을 기록한다(단계 S23). 데이터 저장용 레지스터(68)는 기억부(4)로 구성되는 FIFO의 설정 레지스터를 겸하고 있는 것은 전술한 바와 같다.
연산 장치(70)는 판독 지시를 발행하고, 메모리 컨트롤러(24B)는 연산 장치(70)가 단계 S22에서 지시한 타이밍에서 데이터 저장용 레지스터(68)에 값을 취입한다(단계 S24).
연산 장치(70)는 데이터 저장용 레지스터(68)로부터 데이터를 판독한다(단계 S25).
그리고, 연산 장치(70)는 데이터 저장용 레지스터(68)로부터 판독한 값으로부터, 기억부(74)의 데이터 테이블(76)(도 19), 데이터 테이블(78)(도 20)을 참조하여 FIFO의 값을 결정하고, 데이터 저장용 레지스터(68)에 FIFO의 오프셋값(지연값)을 설정한다(단계 S26). 이 처리는 주파수가 다른 경우에는, 2회째의 데이터 취입에서 행한다.
이 레이턴시 조정에 관해서 도 15, 도 16, 도 17 및 도 18을 참조한다. 도 15 및 도 17은 레이턴시 조정 전의 데이터를 도시하는 도면, 도 16 및 도 18은 레이턴시 조정 후의 데이터를 도시하는 도면이다. 도 15?도 18에 있어서, 세로선(80)은 시스템 클록의 엣지이다.
시스템 클록과 DIMM(26)의 데이터의 주파수의 관계가, 도 15에 도시하는 바와 같이, 1:1이라면, 전술한 흐름도(도 14)를 1회만 실행한다. 시스템 클록과 DIMM(26)의 데이터의 주파수의 관계가 도 17에 도시하는 바와 같이, 1:2이라면, 전술한 흐름도(도 14)를 2회 실행한다. 또한, 시스템 클록의 주파수와 DIMM(26)의 주파수의 관계가 1:N이라면, 전술한 흐름도(도 14)를 N회 실행함으로써, 레이턴시를 조정할 수 있다(도 16, 도 18).
(1) 레이턴시 조정 전의 데이터
시스템 클록과 DIMM(26)의 데이터의 주파수의 관계가 1:1이라면, 예컨대 DRAM(0), DRAM(1), DRAM(2), DRAM(3)의 판독 데이터는 도 15에 도시하는 바와 같이 연속해서 취출된다. 각 데이터에 대해서, 취득 타이밍을 Get 위치로 하면, 각 데이터는 DRAM(0)=9, DRAM(1)=8, DRAM(2)=8, DRAM(3)=7이 된다. 레이턴시 조정 전에는, DRAM(1)=DRAM(2)=8인 데 대하여, DRAM(0)=9, DRAM(3)=7이 되어, 데이터가 맞춰져 있지 않다.
또한, 시스템 클록과 DIMM(26)의 데이터의 주파수의 관계가 1:2이라면, 예컨대, DRAM(0), DRAM(1), DRAM(2), DRAM(3)의 판독 데이터는 도 17에 도시하는 바와 같이, 연속해서 취출되는데, 데이터가 맞춰져 있지 않다.
(2) 레이턴시 조정 후의 데이터
시스템 클록과 DIMM(26)의 데이터의 주파수의 관계가 1:1이라면, 전술한 DRAM(0), DRAM(1), DRAM(2), DRAM(3)의 판독 데이터는 레이턴시 조정 후에는, 도 16에 도시하는 바와 같이, DRAM(0)=DRAM(1)=DRAM(2)=DRAM(3)=5가 되어, 레이턴시 조정 후, 각 데이터가 맞춰지게 된다.
또한, 시스템 클록과 DIMM(26)의 데이터의 주파수의 관계가 1:2이라면, 전술한 DRAM(0), DRAM(1), DRAM(2), DRAM(3)의 판독 데이터는 레이턴시 조정 후에는, 도 18에 도시하는 바와 같이, 연속해서 취출되는데, 데이터가 맞춰지게 된다. 이 경우, 취득 타이밍은 Get1, Get2의 각 위치이다.
전술한 데이터 테이블(76, 78)에 관해서 도 19 및 도 20을 참조한다. 도 19 및 도 20은 데이터 테이블의 일례를 도시하는 도면이다.
데이터 테이블(76)은 도 19에 도시하는 바와 같이, 리드값(read value)(82)이 설정되고, 이 리드값(82)에 대응하는 설정값(84)이 설정되어 있다. 리드값(82)은 DIMM(26)의 DRAM(0), DRAM(1), DRAM(2) …로부터 일정한 타이밍에서 판독된 데이터값이다. 또한, 설정값(84)은, 예컨대 데이터값을 정해진 값 「5」에 맞출 때에, 각 DRAM(0), DRAM(1), DRAM(2) …마다 리드값의 취입(Get) 타이밍을 설정하는 값이다. 예컨대, DRAM(0)에서는, 도 15에 도시하는 바와 같이, Get 타이밍에서 "9"가 얻어진다. 그래서, 데이터 테이블(76)(도 19)의 리드값(82)의 "9"에서 설정값(84)의 "4"가 선택된다. 이에 따라, 4 클록만큼 DRAM(0)의 Get 타이밍을 시프트시키는 것을 알 수 있다. 이 처리는 일례이며, 기준이 되는 리드값이 다르면, 다른 설정값이 이용된다.
리드값(82)은 펌웨어 프로그램에 의해서 기억부(74)에 저장되고, 그 리드값(82)에 대응하는 설정값(84)이 저장된다. 이 경우, 시스템 클록과 DIMM(26)의 클록이 동일한 경우이다.
또한, 데이터 테이블(78)에서는, 도 20에 도시하는 바와 같이, 1회째의 리드값(86), 2회째의 리드값(88)에 대응하는 설정값(90)이 설정되어 있다.
그래서, 컨트롤 레지스터(66)에 지정하는 값, 즉 전술한 Get 타이밍(도 15, 도 16)을 연산 장치(70)가 변경하면, 데이터 맞춤 타이밍을 변경할 수 있다. 이 경우, 데이터 테이블(76)(도 19)의 리드값(82)에 대한 설정값(84)을 이용하면, 도 16에 도시하는 바와 같이, Get 타이밍을 데이터값 "5"로 맞출 수 있다. 또한, 데이터 테이블(78)(도 20)의 리드값(86)에 대한 설정값(90)을 이용하면, 도 18에 도시하는 바와 같이, Get1의 타이밍이 데이터값 "2"의 후반이 된다.
그리고, 신호 수신부(28)측에서 에러가 발생한 경우에는, 이 에러 정보를 메모리 컨트롤러(24B)에 보낸다. 이 신호가 메모리 컨트롤러(24B)에 수신되면, 메모리 컨트롤러(24B)가 에러 정보에 따라서, 데이터를 다시 판독한다(리드 리트라이). 이에 따라, 오프셋값의 정밀도가 높아진다.
이상의 실시형태에 있어서, 특징 사항이나 이점 등을 열거한다.
(1) 메모리 컨트롤러(24B)의 인터페이스에 신호 수신부(28)와 함께 FIFO의 오프셋 정보를 갖게 함으로써, 메모리 컨트롤러(24B)에 레이턴시 조정을 위한 지연 소자의 설치를 생략할 수 있다. 시스템 클록 단위의 데이터의 차이를 맞출 수 있다. 또한, 레이턴시 조정과 함께 오프셋값을 알 수 있다.
(2) 상기 실시형태에서는, 신호 복원 회로로서 수신 데이터와 기준 신호(DQS)를 수신하여, 내부 기준 클록에 대한 상대 지연량(DQPHASE)과 취득 데이터를 출력하는 수신 회로를 구성한다. 수신 회로로부터 내부 기준 클록에 대한 상대 지연량(DQPHASE)과 취입 데이터를 입력으로 하여, 상대 지연량에 따라서 내부 지연량을 가변하는 레이턴시 제어를 행할 수 있다.
(3) 내부 기준 클록에 대한 상대 지연량(DQPHASE)은 디지털량으로 취급될 수 있다.
(4) 레이턴시 조정을 FIFO로 구성할 수 있다.
(5) FIFO를 구성하는 연속된 2개의 FF에 동일 데이터를 입력하여, 데이터의 방호(防護)를 도모하고 있다.
(6) 데이터 전송 레이트가 1 [Gbps]를 넘는 DIMM에서는, 데이터 전송에 관한 지연 변동이 데이터 폭을 넘는 경우가 있다. 또한, DIMM에서는, 내부 레지스터로부터 각 DRAM까지의 배선이 같은 길이가 아닌 Fly-by 토폴로지가 채용되고, DQS 그룹 사이에서 지연 시간이 불일치하게 되며, 클록 지연의 변동은 1000 [ps]이 된다. 이러한 클록의 사이클을 넘는 변동을 흡수하는 구조로 하여, 신호 수신부(28)를 구성하면 좋다. 이 신호 수신부(28)를 이용하면, 이러한 변동을 흡수하여, 안정된 데이터 판독 동작을 할 수 있다.
(7) DIMM(26)의 DQS 그룹 사이의 데이터를 병렬로 사용하는 경우에는, 신호 수신부(28)의 통과 후에, DQS 그룹 사이의 데이터를 시스템 클록 단위로 맞출 필요가 있다. 이것을 실현하기 위해서는, 신호 수신부(28)의 외측 회로 내에서 지연 조정을 하기 위한 데이터 대기용 시프트 레지스트 등의 지연 소자가 필요하게 된다. 또한, 시스템으로서의 레이턴시의 악화를 피할 수 없다. 지연 소자를 설치하면, 그만큼 물량이 증가하게 된다. 이러한 과제에 더하여, 수신한 데이터 간의 지연 변동은 데이터 처리의 성능 저하를 초래하고, 또한 신호 수신부(28)에서의 리드 에러를 일으킨 경우에는, 리트라이 동작이 필요하게 되는데, 그 처리는 용이하지 않다. 이러한 과제는 상기 실시형태의 구성에 의해 해결되고 있다.
(8) 상기 실시형태에서는, 신호 수신부(28)를 사용하는 경우이다. DQS 그룹 간의 데이터의 차이를 맞출 필요가 있는 시스템에서는, 신호 수신부(28)의 출력단에 FIFO의 단수를 제어하는 신호를 가지며, 메모리 컨트롤러(24B)의 인터페이스 내에서 데이터의 차이를 맞추고 있다.
(9) 메모리 컨트롤러(24B)는 신호 수신부(28)에서 에러가 발생했음을 나타내는 신호를 갖는 것에 의해, 에러 발생 시에 리드 리트라이 기능을 갖기 때문에, 레이턴시 조정의 신뢰성이 높아진다.
(10) 신호 수신부(28)를 사용하는 데이터 전송 장치를 구성할 수 있다. 이 데이터 전송 장치에 있어서, 메모리 컨트롤러(24B)의 인터페이스에 FIFO의 단수를 제어하는 신호(오프셋값)를 갖는다.
(11) 데이터 전송 장치에 있어서, DIMM에 내림차순 또는 올림차순의 연속되는 데이터를 기록하고, 그 데이터를 판독하여, 판독할 수 있었던 값의 패턴에 따라 메모리 컨트롤러(24B)가 FIFO의 단수를 제어한다.
(12) 데이터 전송 장치에 있어서, 메모리 컨트롤러(24B)의 인터페이스부에 신호 수신부(28)의 에러 정보를 전달하는 신호를 가져도 좋다.
(13) 신호 수신부(28)로부터의 에러 정보를 메모리 컨트롤러(24B)에서 수신함으로써, 메모리 컨트롤러(24B)가 DIMM 액세스 정보를 저장하는 레지스터를 참조하여 리드 리트라이를 요구하는 기구를 구비하여도 좋다.
[제6 실시형태]
제6 실시형태는 신호 복원 회로와 메모리 컨트롤러를 별개로 구성한 것이다.
이 제6 실시형태에 관해서 도 21을 참조한다. 도 21은 메모리 컨트롤러, 연산 장치, 신호 복원 회로 및 DIMM을 도시하는 회로도이다.
이 실시형태에서는, 신호 복원 회로(2E)와 메모리 컨트롤러(24C)를 별개로 구성한 것으로, 메모리 컨트롤러(24C)에는, 전술한 오프셋 설정부(62A)가 구비되어 있다. 이러한 구성에 의해서도 제5 실시형태와 같은 기능이나 효과를 얻을 수 있다. 도 21에 있어서 도 12와 동일 부분에는 동일 부호를 붙이고, 그 설명을 생략한다.
[제7 실시형태]
제7 실시형태는 메모리 컨트롤러에, 전술한 레이턴시 조정을 위해 지연량 계측부를 구비한 구성이다.
이 제7 실시형태에 관해서 도 22를 참조한다. 도 22는 제7 실시형태에 따른 레이턴시 조정 회로의 일례를 도시하는 회로도이다. 도 22에 있어서 도 12와 동일 부분에는 동일 부호를 붙여 놓는다.
이 실시형태에서는, 도 22에 도시하는 바와 같이, DIMM(26)와 함께 메모리 컨트롤러(24D)를 구비하고, 이 메모리 컨트롤러(24D)에 연산 장치(70)가 병설되어 있다.
이 실시형태의 메모리 컨트롤러(24D)에는, 전술한 컨트롤 레지스터(66), 데이터 저장용 레지스터(68)와 함께, 지연량 계측부(94)가 구비되어 있다.
이 지연량 계측부(94)는 오프셋 지연량을 계측하기 위한 수단의 일례이며, DIMM(26)에 지연 계측 신호를 송신하여, 그 지연량 계측 신호와 DIMM(26)로부터의 수신 신호를 비교하여, 지연 계측 신호의 송신 시점부터 수신 신호의 수신 시점까지의 지연 시간을 계측하는 수단이다. 이 지연 시간이 지연량이며, 이 지연량이 오프셋 지연량이고, 전술한 오프셋 신호(Offset)이기도 하다.
그래서, 이 지연량 계측부(94)에는, 지연 계측 신호 생성부(96)와, 비교부(98)가 구비되어 있다. 지연 계측 신호 생성부(96)는 전술한 지연 계측 신호의 생성 수단의 일례이며, DIMM(26)에 지연 계측 신호를 송신하고, 비교부(98)에 전송한다. 비교부(98)는 지연 계측 신호의 송신 시점부터 수신 신호의 수신 시점까지의 지연 시간을 계측하는 수단의 일례이며, 지연 계측 신호와 DIMM(26)로부터의 수신 신호를 비교하여, 지연 계측 신호의 송신 시점에서부터 수신 신호의 수신 시점까지의 시간을 지연 시간으로서 계측한다. 이 지연 시간은 연산 장치(70)에 취입되어, 지연 정보로서 데이터 저장용 레지스터(68)에 저장된다.
그리고, 연산 장치(70)는 기억부(74)의 펌웨어 프로그램부(75)에 있는 펌웨어 프로그램을 실행하여, 지연량 계측부(94)에 지연량 계측을 하게 한다.
이러한 구성에 의해서 오프셋 신호를 생성시켜, 오프셋값을 전술한 가산기(56)(도 7)에 인가함으로써, 오프셋 부가된 지연 신호를 생성하여, 수신 신호의 레이턴시를 조정하더라도 좋다.
이 실시형태에서는, 지연량 계측부(94)를 메모리 컨트롤러(24D)에 설치하고 있지만, 신호 복원 회로(2A)(또는 2B?2E)에 설치하여서, 전술한 레이턴시 조정을 할 수 있다. 기억부(74)는 연산 장치(70)의 외부에 설치하더라도 좋다.
[다른 실시형태]
(1) 제1 실시형태에서는, 도 3에 도시하는 흐름도에 처리 순서의 일례를 기재하고 있지만, 신호 복원 방법 또는 신호 복원 프로그램으로서, 예컨대 상기 시간을 제어하는 단계(또는 기능)가, 입력 신호를 입력 순으로 기억하고, 상기 입력 신호의 지연 정보를 받아, 그 입력 신호를 입력 배열 순으로 판독이 가능한 기억부로부터 상기 입력 신호를 지연 정보에 따라서 배열 순으로 판독하는 단계(또는 기능)와, 상기 지연 정보가 일정한 경우에는 상기 입력 신호를 상기 입력 순으로 기억시키고, 상기 지연 정보가 천이된 경우에는 그 천이에 따라서 상기 배열 중의 위치를 선택하여, 그 위치에 상기 입력 신호를 기억시키는 단계(또는 기능)를 포함하더라도 좋다.
(2) 상기 신호 복원 처리의 처리 순서로서, 입력 신호와 기준 클록 신호를 비교하여, 상기 기준 클록 신호에 대한 상기 수신 신호의 지연 정보를 검출하는 단계(또는 기능)를 더 포함하더라도 좋다.
(3) 상기 신호 복원 처리의 처리 순서로서, 송신된 지연 계측 신호에 대한 수신 신호의 오프셋 지연량을 계측하는 단계(또는 기능)와, 상기 오프셋 지연량과, 상기 지연량 검출부에서 검출된 지연량으로부터 상기 지연 정보를 생성하여, 그 지연 정보에 따라서 상기 기억 배열의 위치를 변경하는 단계(또는 기능)를 더 포함하더라도 좋다.
(4) 상기 실시형태에서는, 신호 복원 회로로서, 메모리 컨트롤러(24)에 설치되는 신호 복원 회로(2E)(도 12) 또는 메모리 컨트롤러(24) 밖에 설치되는 신호 복원 회로(2E)(도 21)를 예시했지만, 본 발명의 신호 복원 회로는 상기 실시형태에 한정되지 않는다. 예컨대, 본 발명의 신호 복원 회로는 메모리 컨트롤러(24) 등의 메모리 인터페이스 회로 이외에 사용되어, 신호 복원에 이용된다.
(5) 상기 실시형태에서는 메모리 컨트롤러(24)에 관해서 설명했지만, 본 발명의 메모리 컨트롤러는 상기 실시형태에 한정되지 않는다. 예컨대, 본 발명의 메모리 컨트롤러를 이용하여 프로세서(100)(도 23)를 구성하더라도 좋고, 컴퓨터(200)(도 24)를 구성하더라도 좋다.
(6) 프로세서(100)는, 예컨대 CPU(Central Processing Unit)나, MPU(Micro Processor Unit)에 구성된다. 도 23에 도시하는 바와 같이, 이 프로세서(100)에는, DIMM(26)의 데이터 전송을 제어하는 메모리 컨트롤러(24)와, 펌웨어 프로그램부(75)의 실행 수단이나, 연산 처리 등을 실행하는 수단으로서 연산 처리 장치(70)를 병설하더라도 좋다. 이 경우, 메모리 컨트롤러(24)에는 신호 복원 회로(2A)(또는 2B?2E)를 구성하더라도 좋다. 이러한 구성에 의해서도, 상기 실시형태에 있어서의 효과를 얻을 수 있어, 신호(데이터) 복원, 데이터 전송의 고속화나 신뢰성을 향상시킬 수 있다.
(7) 컴퓨터(200)는 도 24에 도시하는 바와 같이, CPU(202)와, DIMM(26)와의 사이에 설치되는 칩셋(204)의 내부에 메모리 컨트롤러(24)를 구비하여도 좋다. 이 경우, 메모리 컨트롤러(24)에는 신호 복원 회로(2A)(또는 2B?2E)를 구성하더라도 좋다. 이러한 구성에 의해서도, 상기 실시형태의 효과를 얻을 수 있어, 신호(데이터) 복원, 데이터 전송의 고속화나 신뢰성을 향상시킬 수 있다.
(8) CPU(202)의 내부에 메모리 컨트롤러(24)를 구비하고, 이 메모리 컨트롤러(24)의 내부에 전술한 신호 복원 회로(2A)(또는 2B?2E)를 구성하더라도 좋다. 이러한 구성에 의해서도 상기 실시형태의 효과를 얻을 수 있어, 신호(데이터) 복원, 데이터 전송의 고속화나 신뢰성을 향상시킬 수 있다.
(9) 상기 실시형태에 있어서, 기준이 되는 내부 클록 신호에는, 예컨대 주파수를 2 [GHz]로 설정하더라도 좋지만, 이것에 한정되지 않는다. 설정하는 클록 신호의 주파수는 임의이며, 상기 실시형태에 기재한 수치는 일례에 지나지 않는다.
(10) 상기 실시형태에서는, 신호 복원 회로나 레이턴시 조정 회로 등을 예시했지만, 본 발명은 이들에 한정되지 않는다. 정보 처리 장치에 있어서, 복수의 메모리 디바이스로부터의 리드 데이터를 병렬로 사용하는 경우, 각 메모리 디바이스로부터의 레이턴시를 각종 장치의 클록을 기준으로 동일 레이턴시로 조정할 수 있어, 복수의 메모리 디바이스를 이용하는 장치나 처리에 이용할 수 있다.
[비교예]
비교예는 위상 변동을 수반하는 신호의 신호 수신 회로로서, 메모리 컨트롤러의 신호 수신부의 일례이다.
이 비교예에 관해서 도 25, 도 26, 도 27 및 도 28을 참조한다. 도 25는 메모리 컨트롤러의 비교예를 도시하는 도면, 도 26은 회로의 지연 변동의 시산예를 도시하는 도면, 도 27은 DIMM 상의 클록 배선 형태를 도시하는 도면, 도 28은 DIMM 상의 다른 클록 배선 형태를 도시하는 도면이다.
DIMM으로부터 DDR 신호를 가장 단순히 수신하기 위해서는, 도 25에 도시하는 바와 같이, 메모리 컨트롤러(300)를 구성하면 좋다. 메모리 컨트롤러(300)에는, DIMM(302)로부터 신호를 수신하는 수단으로서 신호 수신부(304)가 설치되고, 이 신호 수신부(304)에 클록 신호를 부여하는 수단으로서 클록 트리부(306)가 설치되어 있다. 클록 트리부(306) 및 신호 수신부(304)는 LSI로 구성되어 있다.
이 경우, 신호 수신부(304)는 입력 데이터의 위상이 변동하는 신호를 수신하여, DDR 메모리 인터페이스 회로의 신호 수신 회로를 구성한다. 이 신호 수신부(304)에는, FF 회로(308, 310, 312, 314, 316), DL(318, 320), 출력 버퍼(322), 입력 버퍼(324, 326)가 구비되어 있다. 클록 트리부(306)는 LSI 내부 클록 회로부를 구성하고, 인버터(328, 330, 332, 334, 336, 338, 340)를 구비하고 있다. DIMM(302)에는 입력 버퍼(342), 출력 버퍼(344)가 구비되어 있다.
그래서, 신호 수신부(304)는 클록 트리부(306)에서 생성된 CLK 신호를 받아, CK 신호(CK0)를 생성해서 DIMM(302)에 송신한다. DIMM(302)는 CK 신호로부터 DQS 신호를 생성하여, DQ 신호와 함께 신호 수신부(304)에 돌려보낸다. 신호 수신부(304)에서는, DQS 신호를 사용해서 DQ 신호를 리타이밍하고, 또한 내부 클록으로 바꾼다. 이때, 수신점의 래치에서 확실하게 데이터를 수신하기 위해서는, 내부 클록과 수신 데이터와의 타이밍 관계가 일정한 범위 내에 있을 것이 요구된다.
신호 수신부(304)에서 고려되는 지연 변동의 요인에는 도 26에 도시하는 바와 같이 여러 가지 것이 포함된다. 이들 요인을 전부 고려한 경우를 상정한다. 이 경우, 신호 수신점은 DL(318)의 출력측에 있는 FF(310)의 입력부를 상정하고 있다(도 25). 전송로 길이가 0 [㎜]였다고 해도, 신호 수신부(304)를 구성하는 LSI 내의 수신점 래치의 클록 기준에서 본다면, 수신 데이터는 982 [ps]?4,156 [ps]의 지연 변동을 갖게 된다. 이 폭(3,174 [ps])은 클록 주기보다 길고, 또한 데이터 폭보다 길다(1 [GT/s] 전송인 경우, 데이터 폭은 1,000 [ps]). 지연 변동은 제조 요인만이 아니라, 환경 요인(전원 전압이나 장치 온도)을 포함하기 때문에, 가동 중에도 수신 데이터 위상은 변동하는(=지터) 것이다.
그런데, DDR 인터페이스에서는, 도 27에 도시하는 바와 같이, DIMM(302)를 구성하는 DRAM(351, 352, 353, 354)에 대하여 같은 길이의 스타 배선을 통해 CK 신호가 부여된다. 이에 대하여, DDR3 인터페이스에서는, 새롭게 Fly by 배선(도 28)이라는 클록 배선 수법이 채용되었다. 이 Fly by 배선은 도 28에 도시하는 바와 같이, DIMM(302)의 DRAM(351, 352, 353, 354)에 대하여 순차 CK 신호를 부여한다. 이 Fly by 배선에서는, 신호의 파형 품질이라는 면에서는 개선이 도모되게 된다. 그러나, 데이터 송수신 타이밍이 DQS 그룹 사이에서 일치하지 않는다. Fly by 배선에 의한 클록 지연의 변동은 최대로 1000 [ps] 정도가 예상되며, 이 지연은 신호 전송 속도와 비교하여, 무시할 수 없는 크기이다.
데이터 송신 시의 CK 신호와 DQS 신호와의 타이밍 불일치에 대해서, JEDEC(Joint Electron Devices Engineering Council) 규격에는 Write Leveling으로서, 그 변동 흡수 수단이 규정되어 있다. 그러나, 신호 수신 시의 타이밍 불일치에 관한 규정은 없다.
본 발명의 신호 복원 회로, 메모리 컨트롤러, 프로세서, 컴퓨터 또는 신호 복원 방법은, DDR3 인터페이스 등의 전술한 지연 변동 흡수와 함께 DRAM 사이의 데이터 레이턴시의 조정에 의해, 데이터 타이밍을 일치시키는 구조를 제안하고 있다. 상기 실시형태에서는 전술한 과제를 해결하고 있다.
이상 설명한 바와 같이, 본 발명의 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법은 상기 기재에 한정되는 것이 아니다. 특허청구범위에 기재되거나 또는 발명을 실시하기 위한 형태에 개시된 요지에 기초하여, 당업자에게 있어서 여러 가지 변형이나 변경이 가능한 것은 물론이다. 이러한 변형이나 변경이 본 발명의 범위에 포함되는 것은 당연하다.
본 발명의 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법은, 신호 수신에 관해서, 회로 상의 지연 변동을 억제하고, 수신 데이터의 레이턴시를 조정할 수 있어, 실용성이 높은 메모리 컨트롤러 등을 제공하는 것에 있어서 유용하다.
2A, 2B, 2C, 2D, 2E: 신호 복원 회로 4: 기억부
6: 기억 제어부 28: 신호 수신부
64: 레이턴시 조정 회로 70: 연산 장치

Claims (16)

  1. 입력 신호를 입력 순으로 배열시켜 기억하고, 배열 순으로 상기 입력 신호의 판독이 가능한 기억부와,
    상기 입력 신호의 지연 정보에 따라, 상기 기억부에서의 상기 입력 신호의 입력부터 출력까지의 지연 시간을 제어하는 기억 제어부
    를 구비하는 것을 특징으로 하는 신호 복원 회로.
  2. 제1항에 있어서, 상기 기억 제어부는, 상기 입력 신호의 지연량이 큰 경우에는, 상기 지연 시간을 감소시키고, 상기 입력 신호의 지연량이 작은 경우에는, 상기 지연 시간을 증가시키는 것을 특징으로 하는 신호 복원 회로.
  3. 제1항에 있어서, 상기 기억 제어부는, 상기 입력 신호의 지연 정보를 받아, 상기 기억부로부터 상기 지연 정보에 따라서 상기 입력 신호를 배열 순으로 판독하고, 이 지연 정보가 일정한 경우에는 상기 입력 신호를 상기 입력 순으로 기억시키고, 상기 지연 정보가 천이된 경우에는 그 천이에 따라서 상기 배열 중의 위치를 선택하여, 그 위치에 상기 입력 신호를 기억시키는 것을 특징으로 하는 신호 복원 회로.
  4. 제1항에 있어서, 상기 입력 신호와 기준 클록 신호를 비교하여, 상기 기준 클록 신호에 대한 상기 입력 신호의 상기 지연 정보를 출력하는 지연 정보 검출부를 더 구비하는 것을 특징으로 하는 신호 복원 회로.
  5. 제1항에 있어서, 상기 입력 신호는 메모리로부터 수신된 데이터 신호인 것을 특징으로 하는 신호 복원 회로.
  6. 제1항에 있어서, 상기 기억부는 선입선출(FIFO)이 가능한 회로이며, 이 회로는 2 이상의 플립플롭으로 구성되고, 인접하는 2개의 플립플롭에 동일 데이터를 입력하는 것을 특징으로 하는 신호 복원 회로.
  7. 제4항에 있어서, 송신된 지연 계측 신호에 대한 수신 신호의 오프셋 지연량을 계측하는 오프셋 지연량 계측부를 더 구비하고,
    상기 기억 제어부는 상기 오프셋 지연량과, 상기 지연 정보 검출부에서 얻은 지연량을 포함하는 상기 지연 정보를 생성하는 것을 특징으로 하는 신호 복원 회로.
  8. 제1항 내지 제7항 중 어느 한 항에 기재한 신호 복원 회로를 메모리 디바이스마다 구비하고, 각 메모리 디바이스 리드 데이터의 레이턴시를 상기 신호 복원 회로를 이용하여 조정하는 것을 특징으로 하는 레이턴시 조정 회로.
  9. 제1항 내지 제7항 중 어느 한 항에 기재한 신호 복원 회로, 또는 제8항에 기재한 레이턴시 조정 회로를 구비하는 것을 특징으로 하는 메모리 컨트롤러.
  10. 제1항 내지 제7항 중 어느 한 항에 기재한 신호 복원 회로, 제8항에 기재한 레이턴시 조정 회로, 또는 제9항에 기재한 메모리 컨트롤러를 구비하는 것을 특징으로 하는 프로세서.
  11. 제1항 내지 제7항 중 어느 한 항에 기재한 신호 복원 회로, 제8항에 기재한 레이턴시 조정 회로, 제9항에 기재한 메모리 컨트롤러, 또는 제10항에 기재한 프로세서를 구비하는 것을 특징으로 하는 컴퓨터.
  12. 입력 신호를 입력 순으로 배열시켜 기억하고, 배열 순으로 상기 입력 신호의 판독이 가능한 기억부에, 상기 입력 신호를 상기 입력 순으로 기억하는 단계와,
    상기 입력 신호의 지연 정보에 따라, 상기 기억부에서의 상기 입력 신호의 입력부터 출력까지의 지연 시간을 제어하는 단계
    를 포함하는 것을 특징으로 하는 신호 복원 방법.
  13. 제12항에 있어서, 상기 입력 신호의 상기 지연 정보를 받아, 상기 기억부로부터 상기 입력 신호를 상기 지연 정보에 따라서 배열 순으로 판독하는 단계와,
    상기 지연 정보가 일정한 경우에는 상기 입력 신호를 상기 입력 순으로 기억시키고, 상기 지연 정보가 천이된 경우에는 그 천이에 따라서 상기 배열 중의 위치를 선택하여, 그 위치에 상기 입력 신호를 기억시키는 단계
    를 더 포함하는 것을 특징으로 하는 신호 복원 방법.
  14. 제12항에 있어서, 입력 신호와 기준 클록 신호를 비교하여, 상기 기준 클록 신호에 대한 상기 입력 신호의 지연 정보를 검출하는 단계를 더 포함하는 것을 특징으로 하는 신호 복원 방법.
  15. 제13항에 있어서, 송신된 지연 계측 신호에 대한 수신 신호의 오프셋 지연량을 계측하는 단계와,
    상기 오프셋 지연량과, 지연량 검출부에서 검출된 지연량으로부터 상기 지연 정보를 생성하여, 그 지연 정보에 따라서 기억 배열의 위치를 변경하는 단계
    를 더 포함하는 것을 특징으로 하는 신호 복원 방법.
  16. 제12항 내지 제15항 중 어느 한 항에 기재한 신호 복원 방법을 포함하고, 각 메모리 디바이스 리드 데이터의 레이턴시를 조정하는 것을 특징으로 하는 레이턴시 조정 방법.
KR1020127013046A 2009-12-25 2009-12-25 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법 KR20120085824A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/071686 WO2011077574A1 (ja) 2009-12-25 2009-12-25 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法

Publications (1)

Publication Number Publication Date
KR20120085824A true KR20120085824A (ko) 2012-08-01

Family

ID=44195134

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127013046A KR20120085824A (ko) 2009-12-25 2009-12-25 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법

Country Status (6)

Country Link
US (1) US8788780B2 (ko)
EP (1) EP2518630A4 (ko)
JP (1) JP5331902B2 (ko)
KR (1) KR20120085824A (ko)
CN (1) CN102667731A (ko)
WO (1) WO2011077574A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5807952B2 (ja) 2011-09-06 2015-11-10 Necプラットフォームズ株式会社 メモリコントローラ及びメモリ制御方法
WO2013042233A1 (ja) 2011-09-21 2013-03-28 富士通株式会社 半導体装置
US8971471B2 (en) * 2011-12-07 2015-03-03 Imagine Communications Corp. Predictable coding delay over communications networks
KR101519719B1 (ko) 2013-08-14 2015-05-12 현대자동차주식회사 게이트웨이의 메시지 처리 방법
WO2015065426A1 (en) 2013-10-31 2015-05-07 Hewlett-Packard Development Company, L.P. Memory access for busy memory
JP6273856B2 (ja) * 2014-01-24 2018-02-07 富士通株式会社 メモリコントローラ及び情報処理装置
CN106897234B (zh) * 2016-09-23 2019-07-30 常州新智源电子科技有限公司 一种处理器以及处理器内置存储器的控制方法
US10592442B2 (en) * 2017-12-11 2020-03-17 Advanced Micro Devices, Inc. Asynchronous buffer with pointer offsets
CN108665922B (zh) * 2018-04-24 2021-09-24 电子科技大学 一种应用于雷达模拟的可变双向数字延迟方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5084839A (en) * 1990-02-05 1992-01-28 Harris Corporation Variable length shift register
JPH05258589A (ja) * 1992-03-10 1993-10-08 Fujitsu General Ltd 可変長シフトレジスタ
JP3184688B2 (ja) 1993-12-10 2001-07-09 キヤノン株式会社 光学的情報再生装置
JPH10190639A (ja) * 1996-12-20 1998-07-21 Matsushita Electric Ind Co Ltd クロック乗せ替え回路
US6243797B1 (en) 1997-02-18 2001-06-05 Micron Technlogy, Inc. Multiplexed semiconductor data transfer arrangement with timing signal generator
JP3758285B2 (ja) * 1997-03-17 2006-03-22 ソニー株式会社 遅延回路およびそれを用いた発振回路
JP3929116B2 (ja) 1997-07-04 2007-06-13 富士通株式会社 メモリサブシステム
JPH11167515A (ja) 1997-10-03 1999-06-22 Matsushita Electric Ind Co Ltd データ伝送装置及びデータ伝送方法
US6356485B1 (en) * 1999-02-13 2002-03-12 Integrated Device Technology, Inc. Merging write cycles by comparing at least a portion of the respective write cycle addresses
JP2003050739A (ja) 2001-08-06 2003-02-21 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2003099321A (ja) 2001-09-21 2003-04-04 Ricoh Co Ltd メモリ制御装置
DE10345236B3 (de) * 2003-09-29 2005-03-10 Infineon Technologies Ag Verzögerungsregelkreis
WO2005106888A1 (en) 2004-04-29 2005-11-10 Koninklijke Philips Electronics N.V. Multiple data rate ram memory controller
US7298188B2 (en) 2004-04-30 2007-11-20 Fujitsu Limited Timing adjustment circuit and memory controller
JP4099470B2 (ja) 2004-10-08 2008-06-11 富士通株式会社 メモリコントローラ
JP2007164697A (ja) 2005-12-16 2007-06-28 Shinko Electric Ind Co Ltd 半導体集積回路およびメモリシステム並びにクロック信号設定方法
WO2007086500A1 (ja) * 2006-01-26 2007-08-02 Nec Corporation 入力回路及び該入力回路を備える半導体集積回路
JP2008071018A (ja) 2006-09-13 2008-03-27 Matsushita Electric Ind Co Ltd メモリインターフェース回路
JP4551431B2 (ja) * 2007-09-18 2010-09-29 富士通株式会社 可変遅延回路,遅延時間制御方法および単位回路

Also Published As

Publication number Publication date
WO2011077574A1 (ja) 2011-06-30
JPWO2011077574A1 (ja) 2013-05-02
US20120226884A1 (en) 2012-09-06
US8788780B2 (en) 2014-07-22
EP2518630A4 (en) 2013-01-23
CN102667731A (zh) 2012-09-12
EP2518630A1 (en) 2012-10-31
JP5331902B2 (ja) 2013-10-30

Similar Documents

Publication Publication Date Title
KR20120085824A (ko) 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법
JP5537568B2 (ja) 信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法
US7027336B2 (en) Semiconductor memory device for controlling output timing of data depending on frequency variation
US7590008B1 (en) PVT compensated auto-calibration scheme for DDR3
US7672191B2 (en) Data output control circuit
US10354701B2 (en) DQS-offset and read-RTT-disable edge control
KR101009335B1 (ko) 반도체 메모리 장치 및 그 구동방법
KR100910852B1 (ko) 반도체 메모리 소자
US10606512B2 (en) On-die termination architecture
US8837239B2 (en) Latency control circuit and semiconductor device including the circuit
US8209560B2 (en) Transmission system where a first device generates information for controlling transmission and latch timing for a second device
KR100883140B1 (ko) 데이터 출력 제어회로, 반도체 메모리 장치 및 그의 동작방법
JP2012098996A (ja) メモリインターフェース回路及び半導体装置
JP5005928B2 (ja) インタフェース回路及びそのインタフェース回路を備えた記憶制御装置
US7178048B2 (en) System and method for signal synchronization based on plural clock signals
US8976619B2 (en) Semiconductor apparatus
US7995406B2 (en) Data writing apparatus and method for semiconductor integrated circuit
JP5113433B2 (ja) メモリコントローラ
JP2010079520A (ja) メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法
US11417374B1 (en) Reset speed modulation circuitry for a decision feedback equalizer of a memory device

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