KR100383501B1 - 인터페이스 회로 - Google Patents

인터페이스 회로 Download PDF

Info

Publication number
KR100383501B1
KR100383501B1 KR10-2001-0006932A KR20010006932A KR100383501B1 KR 100383501 B1 KR100383501 B1 KR 100383501B1 KR 20010006932 A KR20010006932 A KR 20010006932A KR 100383501 B1 KR100383501 B1 KR 100383501B1
Authority
KR
South Korea
Prior art keywords
data
circuit
strobe
signal
window
Prior art date
Application number
KR10-2001-0006932A
Other languages
English (en)
Other versions
KR20010082149A (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 KR20010082149A publication Critical patent/KR20010082149A/ko
Application granted granted Critical
Publication of KR100383501B1 publication Critical patent/KR100383501B1/ko

Links

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/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
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • 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/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

시스템 구성에 상관없이 정확하게 데이터 전송을 시스템 구성 디바이스의 소비 전력 및 칩 면적을 증대시키지 않고 실현할 수 있는 인터페이스 회로를 제공한다.
메모리 컨트롤 유닛(2)의 인터페이스 회로 내에 전송 데이터(Dc)의 변화점을 검출하여 유효 데이터 윈도우를 추출하고, 추출한 유효 윈도우에 따라 데이터의 취입을 행하는 스트로브 타이밍을 결정하는 타이밍 제어 회로(5)와 타이밍 제어 회로(5)의 제어 하에 데이터 취입용 스트로브 클럭 신호를 발생하는 스트로브 클럭 발생 회로(6)를 설치한다.

Description

인터페이스 회로{INTERFACE CIRCUIT}
본 발명은 메모리 디바이스의 액세스를 제어하기 위한 메모리 컨트롤 장치에 관한 것으로, 특히 클럭 신호에 동기하여 고속으로 데이터를 취입하는 버스 인터페이스 회로를 구비하는 메모리 컨트롤 장치에 관한 것이다.
도 78은 종래의 데이터 처리 시스템의 구성의 일례를 나타내는 도면이다. 도 78에서, 종래의 처리 시스템은 시스템 클럭 신호 CLK를 발생하는 클럭 발생기 CG와, 공통 버스 CB에 병렬로 접속되며, 시스템 클럭 신호 CLK에 동기하여 동작하는 메모리 유닛 MU0-MUn과, 메모리 유닛 MU0-MUn의 기억 데이터를 처리하는, 예를 들면 CPU(중앙 연산 처리 장치)인 프로세서 PC와, 프로세서 PC에서의 액세스 요구에 따라 메모리 유닛 MU0-MUn을 액세스하고, 프로세서 PC의 액세스 요구하는 데이터를 메모리 유닛 MU0-MUn과 프로세서 PC 간에서 전송하는 메모리 컨트롤러 MCR을 포함한다. 메모리 컨트롤러 MCR은 또한 시스템 클럭 신호 CLK에 동기하여 동작한다.
이러한 처리 시스템에 있어서, 데이터 처리를 고속으로 행하기 위해서, 시스템 클럭은 고속화되고 있고 또한 메모리 컨트롤러 MCR과 메모리 유닛 MU0-MUn 간에서 공통 버스 CB를 통하여 고속으로 데이터를 전송하기 위해서, 고속 버스 인터페이스가 정해져 있다. 이러한 고속 인터페이스의 대표로서 시스템 클럭 신호 CLK의 상승 엣지와 하강 엣지 모두 동기하여 데이터 전송을 행하는 DDR 사양의 인터페이스와, 클럭 신호와 데이터를 동일 방향을 따라 전송하는 램버스 사양의 인터페이스가 있다. 이러한 고속 인터페이스를 이용함으로써, 공통 버스 CB 상의 데이터 전송 효율을 개선하고 프로세서 PC의 대기 시간을 단축하고 시스템 성능을 개선하는 것을 도모한다.
도 79는, DDR 모드 시에서의 데이터와 클럭 신호와의 타이밍 관계를 나타낸 도면이다. DDR 모드에서는 데이터는 클럭 신호 CLK의 상승 엣지 및 하강 엣지에 동기하여 샘플링된다. 클럭 신호 CLK의 상승 엣지로 샘플링되는 데이터 D0은 이 클럭 신호 CLK에 대하여 셋업 시간 tsu 및 홀드 시간 th를 갖는다. 클럭 신호 CLK의 하강 엣지로 샘플링되는 데이터 D1도 마찬가지로, 이 클럭 신호 CLK의 하강 엣지에 대하여 셋업 시간 tsu 및 홀드 시간 th를 갖는다. 여기서, 샘플링은 메모리 컨트롤러 MCR이 데이터를 취입하는 경우의 타이밍 또는 메모리 유닛으로 데이터를 취입하는 동작을 나타낸다.
통상, 메모리 유닛 MU0-MUn에서의 판독 데이터는 클럭 신호 CLK에 동기하여 전송된다. 이 클럭 신호 CLK가 고속이 되며 그 사이클 시간 T가 짧아진 경우, 데이터 D의 셋업 시간 tsu 및 홀드 시간 th도 짧아진다. 클럭 신호 CLK의 듀티비가 50일 때, 이 셋업 시간 tsu와 홀드 시간 th의 합은 최대 T/2가 값을 취할 수 있다. 예를 들면 클럭 신호 CLK가 100㎒인 경우, 이 클럭 신호 CLK의 주기 T는 10㎱가 되기 때문에, 셋업 시간 tsu 및 홀드 th는 최대 5㎱의 값을 취할 수 있다. 그러나, 통상, 이들의 사양치는 피코초의 오더이고 이러한 짧은 셋업 시간 및 홀드 시간의 사양치를 보증하기 위해서, 이러한 사양치가 정확하게 만족하는지의 여부를 판정하기 위한 테스터가 고가가 되어 결과적으로 이 메모리 유닛의 비용이 증대한다는 문제가 생긴다.
또한, 램버스 사양의 인터페이스에서는 데이터 버스의 폭 및 데이터 전송율이 고정적으로 정해지고 있어 시스템 설계자가 전송율 및 데이터 버스폭을 자유롭게 설정할 수 없고 설계의 자유도가 꽤 낮다는 문제가 있었다.
또한, 도 78에 도시한 바와 같은 메모리 컨트롤러 MCR 및 메모리 유닛 MU0-MUn을 보드 상에 실장한 경우, 공통 버스 CB의 임피던스는 실장되는 메모리 유닛의 수에 따라 변화하고 또한 보드 상의 배선의 배치의 변동 등에 의해, 이 공통 버스(데이터 버스)의 임피던스가 변화한다. 이와 같이, 데이터 버스의 임피던스가 변화한 경우, 가령 메모리 유닛 MU0-MUn에서 사양치대로 셋업 시간 및 홀드 시간을 만족하여도 메모리 컨트롤러 MCR이 데이터를 수취하는 경우의 타이밍 마진이 없고, 정확한 데이터의 취입을 행할 수 없는 경우가 많이 존재한다. 클럭 신호 CLK가 고속화하면 데이터 D의 아이 패턴(유효 데이터 기간)이 짧아진다.
따라서, 도 79에 도시한 바와 같이 데이터 버스의 임피던스의 변동에 의해, 메모리 유닛 간에서 데이터 전송 시의 전파 지연이 변동된 경우, 도 79에 도시한 바와 같이, 데이터에 대하여 셋업 마진 불량 및 홀드 마진 불량이 생긴다. 이러한 보드 상 배선의 임피던스를 일치시키기 위해서, 각 메모리 유닛과 메모리 컨트롤러 간의 배선 길이를 동일하게 배선을 행하는 경우, 이 보드를 다층 구조로 하고 각 배선을 삼차원적으로 배선할 필요가 있어, 이 때문에 회로 기판의 비용이 증대한다고 하는 문제가 생긴다.
도 80은 도 78에 도시하는 메모리 시스템에서의 메모리 컨트롤러 MCR과 메모리 유닛 MU 간의 데이터 전송의 타이밍 관계를 모식적으로 나타내는 도면이다. 도 80에서, 메모리 컨트롤러 MCR 및 메모리 유닛 MU는 각각, 클럭 발생기 CG에서의 클럭 신호에 따라서 내부 클럭 신호를 발생하는 딜레이 로크 루프(DLL)를 포함한다. 클럭 발생기 CG에서의 클럭 신호가 클럭 신호 Cy로서 메모리 컨트롤러 MCR에 전달된다. 메모리 유닛 MU에는 클럭 신호는 클럭 신호선의 전파 지연에 의해, 기간 Tskew만큼 지연하여 클럭 신호 Ct로서 주어진다.
메모리 유닛 MU에서는 DLL에서의 내부 클럭 신호에 따라 출력 회로가 데이터 Dt를 출력한다. 메모리 유닛 MU에서 DLL에서의 내부 클럭 신호의 상승에 대하여 시간 Tt의 지연으로써 출력 회로가 데이터 Dt를 출력한다. 이 메모리 유닛 MU에서의 데이터 Dt는 전파 시간 Tf 경과 후, 메모리 컨트롤러 MCR에 전달된다. 메모리 컨트롤러 MCR에서는 내부의 DLL에서의 내부 클럭 신호에 따라 레지스터가 도달한 데이터 Dr을 취입한다. 따라서, 이 메모리 유닛 MU에서 송출되어 메모리 컨트롤러 MCR에 도달한 데이터 Dr은 레지스터에 취입할 때 셋업 시간 Ts 경과 후에 레지스터에 샘플링된다.
도 81은 이 도 80에 도시하는 시스템의 동작을 나타내는 신호 파형도이다. 클럭 발생기 CG에서의 클럭 신호는 주기 Tcycle을 갖는다. 메모리 유닛 MU는 클럭 신호 Ct에 따라, 시간 Tt의 지연으로써 유효 데이터를 출력한다. 이 메모리 유닛 MU에서의 데이터 Dt는 데이터 버스를 통하여 시간 Tf 후에 메모리 컨트롤러 MCR에 도달한다. 이 메모리 컨트롤러 MCR에 도달한 데이터 Dr은 셋업 시간 Ts 경과 후, 클럭 신호 Cr에 따라 레지스터 내에 샘플링된다.
따라서, 전파 시간 Tf는 메모리 유닛 MU와 메모리 컨트롤러 MCR의 배선 길이에 따라 변화한다. 또한, 이 클럭 신호의 전파 지연 Tskew도, 클럭 발생기 CG와 메모리 유닛 MU의 거리에 따라 변화한다. 따라서, DLL을 이용하여 메모리 유닛 MU에서 클럭 신호에 동기하여 데이터 Dt를 출력하여도 메모리 유닛 MU에서의 출력 회로에서 메모리 컨트롤러 MCR의 레지스터까지의 경로의 길이가 다르면, 셋업 시간 Ts가 다르고, 데이터 취입의 타이밍 마진이 불충분하여 정확하게 데이터 전송을 행하는 메모리 시스템을 구축할 수 없다.
또한, 보드 상 실장 시에서는 이 실장되는 메모리 모듈의 수에 따라 데이터 버스의 임피던스가 국소적으로 변화하기 때문에 클럭 발생기로부터 메모리 모듈, 데이터선, 컨트롤러의 입력 패드 및 레지스터(리시버)까지의 신호 전파 경로의 지연을 모든 메모리 모듈(메모리칩)에 대하여 동일하다는 것은 매우 곤란하다. 따라서, 고속 동작 환경 하에서 고속으로 또한 정확하게 데이터 전송을 행하는 메모리 시스템을 보드 상에서 실현하는 것은 곤란하다는 문제가 있었다.
또한, 도 80에 도시한 바와 같이 메모리 유닛 MU에서는 주어진 클럭 신호에 대한 지연을 작게 하기 위해서 DLL을 이용하고, 가능한 한 클럭 신호 CLK에 위상 동기하여 데이터를 출력하도록 구성하고 있다. 그러나, 이러한 DLL을 메모리 유닛 MU에 설치함으로써 메모리 유닛 MU의 칩 면적이 증대하고 또한 소비 전력도 증대함과 함께, 칩 면적 증가에 의해 메모리 유닛의 비용이 증가한다는 문제가 있었다.
또한, 보드 실장 장치에서 칩 또는 모듈의 위치/수에 따라 메모리 컨트롤러에서의 데이터의 취입 타이밍에 대한 마진이 다른 경우, 이하와 같은 문제가 생긴다. 즉 메모리 컨트롤러로 취입한 데이터에 에러가 생긴 경우, 이 에러 원인은 데이터 전송로 자체에 존재하는지 또는 메모리 유닛(또는 칩)에 불량 원인이 있는 것인지를 식별하는 것이 곤란하고, 따라서 보드 레벨에서의 불량 원인 검출 및 불량 원인 제거가 곤란해진다는 문제가 있었다.
또한, 복수의 프로세서(CPU)가 병렬로 데이터 버스에 접속되며 메모리 컨트롤러를 통하여, 메모리 디바이스에 액세스하는 멀티 프로세서 시스템인 경우에서도 이 시스템은 온 보드로 구성되기 때문에, 예를 들면 1기가헬츠에 가까운 고속 클럭 신호를 이용하여 데이터 전송하는 경우, 마찬가지로, 데이터의 취입(샘플링)을 위한 셋업 시간 및 홀드 시간의 마진이 매우 작고 정확하게 데이터를 고속으로 전송할 수 없어져서 상술한 메모리 시스템과 마찬가지의 문제가 생긴다.
또한, 메모리 컨트롤러를 통하지 않고 복수의 프로세서가 병렬로 공통 데이터 버스에 결합되며, 공통 메모리에 이들의 프로세서를 액세스하는 멀티프로세서 시스템에서도 마찬가지의 문제가 생긴다. 특히 시스템을 확장하여 프로세서의 수가 증대하거나 또는 데이터 버스의 임피던스가 증대하는 경우, 데이터의 클럭 신호에 대한 스큐우가 변화하여 시스템의 신뢰성이 손상되며 시스템의 확장성이 낮다는 문제가 생긴다.
그렇기 때문에, 본 발명의 목적은, 시스템 내 중 어느쪽의 반도체 장치에 대해서도 정확하게 데이터를 전송할 수 있는 인터페이스 회로를 제공하는 것이다.
본 발명의 다른 목적은, 고속으로 또한 정확하게 데이터를 전송할 수 있는보드 실장 시스템을 실현할 수 있는 인터페이스 회로를 제공하는 것이다.
본 발명의 또 다른 목적은, 보드 실장 시 중 어느 한쪽의 유닛에 대해서도 충분히 데이터의 셋업 시간 및 홀드 시간을 확보할 수 있는 인터페이스 회로를 제공하는 것이다.
본 발명의 다른 목적은, 시스템 내의 유닛의 비용을 증대시키지 않고 고속으로 또한 정확하게 데이터를 전송할 수 있는 인터페이스 회로를 제공하는 것이다.
본 발명의 또 다른 목적은, 보드 실장 레벨이라도 정확한 불량 원인의 검출을 가능하게 하는 인터페이스 회로를 제공하는 것이다.
본 발명의 또 다른 목적은, 보드 상에서의 시스템의 구성에 상관없이 고속으로 또한 정확하게 데이터를 전송할 수 있는 염가인 시스템을 구축할 수 있는 인터페이스 회로를 제공하는 것이다.
본 발명의 특정적인 목적은, 염가로 또한 고속으로 데이터를 정확하게 전송할 수 있는 메모리 컨트롤 장치를 제공하는 것이다.
본 발명에 따른 인터페이스 회로는, 데이터선의 데이터의 변화점을 검출하고, 상기 검출 결과에 따라 데이터의 유효 기간을 나타내는 유효 윈도우 정보를 생성하여 기억하는 생성/기억 수단과, 이 생성/기억 수단에 기억된 유효 윈도우 정보에 따라 데이터선의 데이터의 취입 타이밍을 결정하는 스트로브 타이밍 결정 수단과, 스트로브 타이밍 결정 수단으로 결정한 스트로브 타이밍에 따라서 데이터 취입용 클럭 신호를 생성하는 클럭 생성 수단을 포함한다.
다른 관점에 따른 인터페이스 회로는, 데이터선의 데이터의 변화점을 검출하기 위한 변화점 검출 수단과, 이 변화점 검출 수단으로부터의 검출 변화점에 따라 데이터의 유효 기간을 나타내는 유효 윈도우를 생성하는 수단과, 이 유효 윈도우의 폭이 제1 조건을 만족하는지의 여부를 판정하는 수단과, 이 판정 수단이 제1 조건을 만족한다고 판정했을 때 데이터의 어드레스 및 데이터 패턴을 기억하는 수단을 포함한다.
본 발명의 또 다른 관점에 따른 인터페이스 회로는, 데이터선의 데이터의 변화점을 검출하고, 상기 검출 결과에 따라 데이터의 유효 기간을 나타내는 유효 윈도우 신호를 생성하는 유효 윈도우 추출 수단과, 이 유효 윈도우 신호의 유효 기간 폭을 기준 클럭 신호를 이용하여 검출하고, 상기 검출 결과를 기억하는 유효 윈도우 폭 검출 수단과, 유효 윈도우 폭 검출 수단에서의 검출 유효 윈도우 폭 정보로부터 데이터선 상의 데이터에 대한 스트로브 타이밍을 결정하고, 상기 결정한 스트로브 타이밍을 기억하는 스트로브 타이밍 기억 수단과, 이 스트로브 타이밍 기억 수단을 기억하는 스트로브 타이밍에 따라 데이터선의 데이터에 대한 스트로브 신호를 생성하여 출력하는 스트로브 신호 발생 회로를 구비한다.
인터페이스 회로에서 데이터선 상의 데이터의 유효 윈도우 폭을 검출하고, 상기 검출된 유효 윈도우에 따라 데이터의 스트로브 타이밍을 결정함으로써, 데이터선 상의 데이터에 대하여 최적의 타이밍으로 데이터 스트로브(샘플링)를 행할 수 있어, 메모리 디바이스 등의 시스템 구성 유닛의 보드 상 실장 시에서 데이터 전송로의 임피던스가 시스템 구성에 따라 변동하여도 정확하게 데이터의 취입을 행할 수 있다.
또한, 이 유효 윈도우 폭을 검출하고, 이 유효 윈도우 폭이 소정의 조건을 만족하지 못하는 경우에는 셋업/홀드 마진이 악화하는 상태를 검출할 수 있어 시스템의 안정화를 도모할 수 있다. 또한, 마진 열화 시의 데이터의 패턴 및 어드레스를 기억함으로써, 불량 원인이 데이터 전송 장치에 존재하는지 데이터 전송로에 존재하는지를 판정할 수 있다. 즉, 특정한 유닛의 어드레스에 불량의 원인이 집중하는 경우에는 불량 원인이 해당 유닛이라고 식별할 수 있다.
도 1은 본 발명의 실시 형태 1에 따른 메모리 시스템의 구성을 개략적으로 나타내는 도면.
도 2는 본 발명의 실시 형태 1의 동작 원리를 나타내는 도면.
도 3은 본 발명의 실시 형태 1에서의 유효 데이터 윈도우 검출 동작을 나타내는 신호 파형도.
도 4는 도 1에 도시하는 타이밍 제어 회로의 구성을 개략적으로 나타내는 도면.
도 5는 도 4에 도시하는 유효 윈도우 검출 회로의 구성을 개략적으로 나타내는 도면.
도 6은 도 5에 도시하는 프리미티브 윈도우 검출 회로 및 로컬 윈도우 검출 회로의 구성의 일례를 나타내는 도면.
도 7은 도 6에 도시하는 회로의 동작을 나타내는 신호 파형도.
도 8은 도 5에 도시하는 최종 윈도우 검출 회로의 구성을 나타내는 도면.
도 9는 도 4에 도시하는 스트로브 타이밍 검출 회로의 구성을 개략적으로 나타내는 도면.
도 10은 도 9에 도시하는 지연선의 클럭 선택 회로, 및 래치 회로의 1단의구성을 나타내는 도면.
도 11은 도 10에 도시하는 회로의 동작을 나타내는 타이밍차트도.
도 12의 (a) 및 도 12의 (b)는 도 9에 도시하는 스트로브 타이밍 검출 회로의 동작을 나타내는 신호 파형도.
도 13의 (a) 및 도 13의 (b)는 도 9에 도시하는 스트로브 타이밍 검출 회로의 동작을 나타내는 신호 파형도.
도 14는 도 10에 도시하는 래치 타이밍 신호 발생부의 구성을 개략적으로 나타내는 도면.
도 15는 도 9에 도시하는 결과 레지스터 및 스트로브 타이밍 기억 회로의 기억 내용의 일례를 나타내는 도면.
도 16은 유효 데이터 윈도우와 스트로브 클럭 신호와의 타이밍 관계를 나타내는 도면.
도 17은 스트로브 타이밍 결정 동작 원리를 나타내는 도면.
도 18의 (a)는 레지스터 A의 기억 제어부의 구성의 일례를 나타내고, 도 18의 (b)는 레지스터 B에의 기억 제어부의 구성의 일례를 나타내는 도면.
도 19는 도 9에 도시하는 스트로브 타이밍 기억 회로의 구성을 개략적으로 나타내는 도면.
도 20은 도 9에 도시하는 스트로브 타이밍의 다른 구성을 나타내는 도면.
도 21은 도 1에 도시하는 타이밍 제어 회로 및 스트로브 클럭 발생 회로의 구성을 보다 구체적으로 나타내는 도면.
도 22는 도 1에 도시하는 입력 회로의 구성을 개략적으로 나타내는 도면.
도 23은 도 9에 도시하는 지연선 및 결과 레지스터의 다른 구성을 개략적으로 나타내는 도면.
도 24의 (a) 및 도 24의 (b)는 도 23에 도시하는 회로의 동작을 나타내는 타이밍차트도.
도 25의 (a) 및 도 25의 (b)는 도 23에 도시하는 회로의 동작을 나타내는 타이밍차트도.
도 26은 본 발명의 실시 형태 1의 변경예의 구성을 개략적으로 나타내는 도면.
도 27은 본 발명의 실시 형태 2에서의 SSO 푸시아웃 동작을 나타내는 도면.
도 28은 본 발명의 실시 형태 2의 동작 원리를 나타내는 도면이다.
도 29는 본 발명의 실시 형태 2에서의 변화점 검출 회로의 구성의 일례를 나타내는 도면.
도 30은 도 29에 도시하는 회로의 동작을 나타내는 신호 파형도.
도 31은 본 발명의 실시 형태 2의 스트로브 타이밍 산출 회로의 구성을 개략적으로 나타내는 도면.
도 32는 본 발명의 실시 형태 3에 따른 신호 품질을 나타내는 도면.
도 33은 본 발명의 실시 형태 3에서의 스트로브 타이밍 기억 회로의 구성을 개략적으로 나타내는 도면.
도 34는 본 발명의 실시 형태 3에서의 에러 레지스터의 구성을 개략적으로나타내는 도면.
도 35는 본 발명의 실시 형태 3의 주요부의 구성을 개략적으로 나타내는 도면.
도 36은 본 발명의 실시 형태 3의 변경예를 개략적으로 나타내는 도면.
도 37은 도 36에 도시하는 비트 변화 검출 회로의 구성을 개략적으로 나타내는 도면.
도 38은 도 36에 도시하는 전송 회로의 구성을 개략적으로 나타내는 도면.
도 39는 도 36에 도시하는 래치 회로의 구성을 개략적으로 나타내는 도면.
도 40은 도 37 내지 도 39에 도시하는 회로의 동작을 나타내는 타이밍차트도.
도 41은 도 36에 도시하는 가장 느린 변화 검출 회로의 구성을 개략적으로 나타내는 도면.
도 42는 도 36에 도시하는 전송 회로의 구성을 개략적으로 나타내는 도면.
도 43은 도 36에 도시하는 래치 회로의 구성을 개략적으로 나타내는 도면.
도 44는 도 36에 도시하는 가장 빠른 변화 검출 회로의 구성을 개략적으로 나타내는 도면.
도 45는 도 36에 도시하는 회로의 동작을 나타내는 신호 파형도.
도 46은 도 36에 도시하는 하강 엣지 데이터 윈도우 검출 회로의 구성을 개략적으로 나타내는 도면.
도 47은 본 발명의 실시 형태 3의 변경예의 데이터 윈도우 검출 동작을 나타내는 신호 파형도.
도 48은 도 36에 도시하는 상승 엣지 데이터 윈도우 검출 회로의 입력부의 구성을 보다 상세히 나타내는 도면.
도 49는 본 발명의 실시 형태 3의 변경예 2의 신호 품질의 일례를 나타내는 도면.
도 50은 도 49에 도시하는 신호 품질에서의 신호 파형의 일례를 나타내는 도면.
도 51은 도 49에 도시하는 신호 품질 시에서의 메모리 구성 및 데이터 전송율을 나타내는 도면.
도 52는 본 발명의 실시 형태 4에 따른 메모리 컨트롤 장치를 이용한 시스템의 구성을 개략적으로 나타내는 도면.
도 53은 도 52에 도시하는 메모리 컨트롤 유닛의 주요부의 구성을 개략적으로 나타내는 도면.
도 54는 본 발명의 실시 형태 4에서의 유효 데이터 윈도우 검출 동작을 설명하기 위한 도면.
도 55는 도 53에 도시하는 유효 데이터 윈도우 검출부의 구성을 나타내는 도면.
도 56은 도 55에 도시하는 회로의 동작을 나타내는 신호 파형도.
도 57은 도 53에 도시하는 유효 데이터 윈도우 검출부의 변경예를 나타내는 도면.
도 58은 메모리 디바이스의 출력 회로의 구성을 개략적으로 나타내는 도면.
도 59는 본 발명의 실시 형태 4에 따른 메모리 컨트롤 유닛의 주요부의 구성을 보다 상세히 나타내는 도면.
도 60은 도 59에 도시하는 회로의 동작을 나타내는 신호 파형도.
도 61은 도 59에 도시하는 모니터 마스크 지시 신호 발생부의 구성을 개략적으로 나타내는 도면.
도 62는 도 59에 도시하는 전송 지시 신호 발생부의 구성을 개략적으로 나타내는 도면.
도 63은 도 59에 도시하는 스트로브 레지스터의 레지스터 회로의 구성을 개략적으로 나타내는 도면.
도 64는 도 59에 도시하는 스트로브 레지스터의 동작을 나타내는 타이밍도.
도 65는 도 59에 도시하는 일시 레지스터의 구성을 개략적으로 나타내는 도면.
도 66은 도 65에 도시하는 스트로브 타이밍 검출 회로의 구성을 개략적으로 나타내는 도면.
도 67은 도 65에 도시하는 스트로브 타이밍 검출 회로의 동작을 설명하기 위한 도면.
도 68은 도 59에 도시하는 합성 회로 및 드라이브 회로의 1단의 구성을 개략적으로 나타내는 도면.
도 69는 도 68에 도시하는 회로의 동작을 나타내는 신호 파형도.
도 70은 도 59에 도시하는 시프트 클럭 신호 발생부의 변경예 1의 구성을 나타내는 도면.
도 71은 도 59에 도시하는 시프트 클럭 신호 발생부의 변경예 2의 구성을 나타내는 도면.
도 72는 본 발명의 실시 형태 5에 따른 처리 시스템의 구성을 개략적으로 나타내는 도면.
도 73은 실시 형태 5의 변경예 1의 구성을 개략적으로 나타내는 도면.
도 74는 실시 형태 5의 변경예 2의 처리 시스템의 구성을 개략적으로 나타내는 도면.
도 75는 실시 형태 5의 변경예 3의 처리 시스템의 구성을 개략적으로 나타내는 도면.
도 76은 실시 형태 5의 변경예 4의 처리 시스템의 구성을 개략적으로 나타내는 도면.
도 77은 실시 형태 5의 변경예 5의 구성을 개략적으로 나타내는 도면.
도 78은 종래의 데이터 처리 시스템의 구성을 개략적으로 나타내는 도면.
도 79는 도 78에 도시하는 데이터 처리 시스템의 동작을 나타내는 타이밍차트도.
도 80은 종래의 메모리 시스템의 신호 전파 시간을 나타내는 도면.
도 81은 도 80에 도시하는 메모리 시스템의 동작을 나타내는 타이밍차트도.
<도면의 주요 부분에 대한 부호의 설명>
1, 1a-1n : 메모리 디바이스
2 : 메모리 컨트롤 유닛
3 : 클럭 발생기
4 : 공통 데이터 버스
5 : 타이밍 제어 회로
6 : 스트로브 클럭 발생 회로
7 : 입력 회로
8a-8n : 내부 회로
9a-9n :출력 회로
5a : 유효 윈도우 검출 회로
5b : 스트로브 타이밍 검출 회로
5c : 스트로브 타이밍 기억 회로
10-0 ∼ 10-31 : 프리미티브 윈도우 검출 회로
11-0 ∼ 11-15 : 로컬 윈도우 검출 회로
12 : 최종 윈도우 검출 회로
20 : 타이밍 조정 회로
22 : 지연선
22a : 지연단
24 : 결과 레지스터
24a : 래치
26 : 스트로브 타이밍 산출 회로
6a : 선택 회로
40 : 레지스터 회로
41 : 제어 회로
42 : 선택 회로
45 : 레지스터 회로
46 : 제어 회로
47 : 디코더
48 : 선택 신호 발생 회로
5R : 상승 조정계
5F : 하강 조정계
6R : 상승 클럭 발생 회로
6F : 하강 클럭 발생 회로
7R, 7F : 입력 회로
5-0 ∼ 5-15 : 타이밍 조정 회로
6-0 ∼ 6-15 : 스트로브 클럭 발생 회로
50 : 에러 레지스터
52 : 유효 윈도우 폭 산출 회로
54, 56 : 비교 회로
57, 58 : 레지스터
60 : 비트 변화 검출 회로
65 : 상승 엣지 데이터 윈도우 검출 회로
70 : 하강 엣지 데이터 윈도우 검출 회로
65a, 65D: 전송 회로
65b, 65e : 래치 회로
65c : 가장 느린 변화 검출 회로
65f : 가장 빠른 변화 검출 회로
65g, 72 : 세트/리세트 플립플롭
4a-4D: 서브 데이터 버스
100 : 프로세스 유닛
102 : PLL
104 : 논리
110 : 스트로브 타이밍 조정 회로
105 : 스트로브 신호선
107a : 증폭기
107b : 데이터 래치
112 : 윈도우 검출 회로
114 : 스트로브 트리거 신호 발생 회로
116 : 스트로브 타이밍 검출 회로
112a, 112b : EXOR 회로
112c, 112e, 112g-112j : AND 회로
112d, 112f : 게이트 회로
130 : 스트로브 레지스터
132 : 일시 레지스터
134 : 결과 레지스터
136 : 합성 회로
138 : 드라이브 회로
30a : 레지스터 회로
130aa, 130ab : 래치 회로
150 : 스트로브 타이밍 검출 회로
136a : 합성단
138a : 3상태 버퍼
210a-210n, 220a-220n, 240a-240n, 250a-250n, 300a-300m : 프로세서
200, 230, 245, 310 : 메모리 컨트롤 장치
215, 225 : 주기억
200a, 200d, 221, 225 : 스트로브 타이밍 조정 회로
260 : 공유 메모리
301, 311, 312 : 스트로브 조정 기능부 인터페이스 회로
320a-320n : 메모리 디바이스
[실시 형태 1]
도 1은 본 발명에 따른 메모리 컨트롤 장치를 포함하는 메모리 시스템의 구성을 개략적으로 나타내는 도면이다. 도 1에서 메모리 시스템은 공통 데이터 버스(4)에 병렬로 접속되는 메모리 디바이스(칩 또는 모듈이어도 된다 ; 1a-1n)와, 이들의 메모리 디바이스(1a-1n)에 대한 액세스를 행하기 위한 메모리 컨트롤 유닛(2)과, 메모리 디바이스(1a-1n) 및 메모리 컨트롤 유닛(2)에 대한 기본 타이밍 신호(시스템 클럭 ; 이하 클럭 신호라고 칭한다) CLK를 제공하는 클럭 발생기(3)를 포함한다.
메모리 디바이스(1a-1n)는 칩 단체인 경우, 메모리셀 어레이 및 메모리셀 선택 회로를 포함하는 내부 회로(8a-8n)와, 내부 클럭 신호에 동기하여 데이터를 공통 데이터선(4) 상에 출력하는 출력 회로(9a-9n)를 포함한다. 이들의 메모리 디바이스(1a-1n)는 출력용 DLL은 포함하지 않는다. 클럭 발생기(3)에서 주어지는 클럭 신호 CLK에 동기하여 출력 회로(9a-9n)가 데이터의 출력을 행한다. 메모리 디바이스(1a-1n)가 모듈인 경우, 내부 회로는 복수의 메모리칩을 포함하고, 출력 회로는 이들의 칩에 공통인 버스 인터페이스 회로에 포함된다.
메모리 디바이스(1a-1n)에 출력용 클럭 신호를 생성하기 위한 DLL이 불필요함으로써, 이들의 메모리 디바이스(1a-1n)에서의 소비 전력 및 칩점유 면적을 저감하고 또한 메모리 디바이스(1a-1n)의 비용을 저감한다. 내부 회로(8a-8n)는 그 내부 구성에 대해서는 후에 설명하지만 복수의 뱅크를 포함한다. 여기서, 뱅크는 서로 독립적으로 활성 상태(메모리셀의 선택 상태)로 구동할 수 있는 메모리 회로를 나타낸다. 메모리 회로는 메모리 디바이스(1a-1n) 각각이 칩인 경우에는 메모리 어레이 또는 매트이고, 메모리 디바이스(1a-1n)가 메모리 모듈인 경우, 소정수의 메모리칩을 포함한다.
메모리 컨트롤 유닛(2)은 메모리 디바이스(1a-1n) 각각에 대한 데이터 취입 타이밍 정보를 내부의 레지스터 회로에 기억하고, 기억한 타이밍 정보에 따라서 데이터 취입 타이밍을 제어하는 타이밍 제어 회로(5)와, 이 타이밍 제어 회로(5)의 제어 하에, 데이터 취입용 스트로브 클럭 신호를 발생하는 스트로브 클럭 발생 회로(6)와, 스트로브 클럭 발생 회로(6)에서의 스트로브 클럭 신호에 따라 공통 데이터 버스(4) 상에 주어진 데이터를 취입 내부 회로에 전달하는 입력 회로(7)를 포함한다.
메모리 컨트롤 유닛(2)은 메모리 디바이스(1a-1n)에 대하여 각각 데이터의 유효 윈도우를 검출하고, 검출한 유효 윈도우 정보에 기초하여 셋업 시간 및 홀드 시간이 최적이 되도록 스트로브 클럭 신호를 발생한다.
도 2는, 도 1에 도시하는 타이밍 제어 회로(5)의 동작을 개념적으로 나타내는 도면이다. 도 2에서는 메모리 디바이스(1a-1n)가 DDR(더블·데이터·레이트) 모드로 동작하는 경우의 파형을 일례로서 나타낸다. 메모리 디바이스는 SDR(싱글·데이터·레이트) 모드로 동작하여 클럭 신호 CLK의 상승에 동기하여 데이터를 출력해도 되며 또한 EDO(익스텐디드·데이터·아웃풋) 모드로 또는 버스트 EDO 모드로 데이터를 출력해도 된다. EDO 모드 DRAM인 경우, 내부 회로는 클럭 신호와 비동기에서 동작한다. 그러나, 그 내부 회로의 동작 모드를 지정하는 제어 신호, 즉 로우 어드레스 스트로브 신호/RAS 및 컬럼 어드레스 스트로브 신호/CAS는 메모리 컨트롤 유닛(2)으로부터 클럭 신호 CLK에 동기하여 메모리 디바이스(1a-1n)에 주어지고 있고 또한 메모리 컨트롤 유닛(2)에서는 클럭 신호에 동기하여 데이터의 샘플링이 행해지기 때문에, 마찬가지로 이 클럭 신호에 대한 셋업/홀드 시간을 최적화할 필요가 있다. 이하, 도 2를 참조하여 본 발명의 실시 형태 1에 따른 메모리 컨트롤 유닛의 동작에 대하여 개념적으로 설명한다.
메모리 디바이스(1a-1n) 중 메모리 컨트롤 유닛(2)에 의해 지정된 메모리 디바이스로부터, 데이터가 클럭 신호 CLK에 동기하여 출력된다. 이 데이터는 공통 데이터 버스(4)를 통하여 메모리 컨트롤 유닛(2)에 전달된다. 메모리 컨트롤 유닛(2)에 도달한 데이터 Dc는 데이터 비트의 논리 레벨에 따라 H 레벨 및 L 레벨의 패턴을 구비하고, 클럭 신호의 상승 및 하강에 동기하여 변화하는 일련의 아이 패턴을 형성한다. 메모리 컨트롤 유닛(2)에서는 타이밍 제어 회로(5)가 클럭 신호 CLK의 상승에 동기하여 전달되는 데이터 Dc에 대한 윈도우 기간을 규정하는 신호EDW_R 및 클럭 신호 CLK의 하강에 동기하여 전달된 데이터의 유효 기간을 나타내는 신호 EDW_F를 생성한다. 이들의 유효 윈도우 규정 신호 EDW_R 및 EDW_F를 이용하여 셋업 시간 및 홀드 시간이 최적이 되도록 클럭 신호 CLK의 상승 타이밍 및 하강 타이밍을 각각 시간 Tar 및 Taf만큼 조정하여 스트로브용 클럭 신호를 생성한다.
유효 데이터 윈도우는 (1) 데이터 비트 간의 스큐우, (2) H 레벨 및 L 레벨의 데이터 비트 천이 시간의 차, (3) 데이터선 간의 간섭 노이즈 및 (4) 출력용 클럭 신호의 지터에 의해서 변동한다. 그러나, DLL을 사용하지 않기 때문에, 상기 항목 (4)의 영향은 존재하지 않고, 클럭 신호의 지터에 의한 유효 윈도우 폭의 변동은 생기지 않는다.
유효 윈도우를 용이하게 검출하기 위해서, 데이터 핀 번호 0, 1, 2, 3, …에 데이터 비트 1, 0, 1, 0 …을 각각 출력한다. 이것은, 테스트 모드로, 메모리 디바이스(1a-1n)의 출력 데이터 패턴을 설정하여도 되며 또한 메모리 디바이스 내에 미리 이러한 데이터 패턴을 기입한 후에 판독해도 된다. 데이터 패턴의 변화점을 검출하여 유효 윈도우 지시 신호 EDW_R 및 EDW F를 생성하고 이들의 유효 윈도우에 대하여, 최적의 셋업/홀드 시간을 제공하는 타이밍을 설정하여 레지스터에 기억하고 이후, 이 레지스터에 기억된 스트로브 타이밍에 따라 스트로브 클럭 신호를 생성한다. 다음에 구체적 구성에 대하여 설명한다.
도 3은 유효 데이터 윈도우 신호를 추출하는 동작을 개념적으로 나타내는 도면이다. 도 3에 도시한 바와 같이, 클럭 신호 CLK에 동기하여 출력되는 데이터 패턴 중 짝수 번호의 핀 단자로부터 출력되는 데이터 D0, D2, …는 클럭 신호 CLK와동일 논리 레벨이고, 한편 홀수 번호의 핀 단자로부터 출력되는 데이터 D1, D3 …은 클럭 신호 CLK의 논리 레벨과 반대인 논리 레벨의 데이터로 설정한다. DDR 모드에 있어서, 클럭 신호의 상승 엣지를 리딩 엣지로서, 데이터의 판독이 행해진다. 따라서, 테스트 모드 시에서 메모리 내에서 미리 이러한 데이터 패턴을 기입하고 계속해서 이 데이터 패턴을 순차 판독한다. 또한, 이 대신에 메모리의 출력단에 레지스터 회로 등을 설치하고, 테스트 모드 시에 이 레지스터 회로에 「0101 …」또는 「1010 …」의 데이터를 기억하고, 테스트 모드 시에 이 레지스터 회로의 기억 데이터를 메모리셀 데이터 대신에 판독하도록 구성되어도 된다. 단순히, 테스트 모드 시에 테스트 모드 지시 신호에 응답하여 레지스터 회로의 데이터를 출력 회로(9)를 통해 판독할 뿐이다. 또한, 각 데이터 출력 단자에 대하여 「01」 또는 「10」을 기억하는 레지스터를 설치하고, 그 내용을 테스트 모드 시에 순차 교대로 판독하도록 해도 된다. 도 3에서는 4 비트의 데이터 D0-D3을 대표적으로 나타낸다. 64 비트의 데이터가 공통 데이터 버스(4)를 통하여 전송되는 경우에는 이 4 비트 단위로 검출되는 유효 데이터 윈도우 신호를 순차 압축하여 64 비트 데이터에 대한 유효 데이터 윈도우 신호를 생성한다.
도 3에서, 클럭 신호 CLK가 H 레벨로 상승했을 때 전송되는 데이터의 패턴은 미리 알고 있다. 이 데이터 패턴을 받아서, 우선 데이터 비트 D0-D3 중 가장 느린 변화 시점을 우선 검출하고, 계속해서 데이터 비트 D0-D3의 가장 빠른 변화점을 검출한다. 클럭 신호 CLK의 상승 시에 전달되는 데이터 패턴에 따라 가장 느린 변화점과 다음의 가장 빠른 변화점 간을 클럭 신호 CLK의 상승에 동기하여 전달되는 데이터 신호의 유효 데이터 윈도우로 하고 그 동안 신호 EDW_R을 활성화한다.
클럭 신호 CLK의 하강 시에서는 또한 마찬가지로 전달되는 데이터 패턴은 미리 알 수 있다. 이 경우에서도, 가장 느린 데이터 비트의 변화점과 다음의 가장 빠른 데이터 비트의 변화점을 추출하고, 그 동안을 클럭 신호 CLK의 하강에 동기하여 전달되는 데이터의 유효 데이터 윈도우로서 추출하고, 그 동안 활성 상태가 되는 유효 데이터 윈도우 신호 EDW_F를 생성한다. 클럭 신호 CLK의 상승 엣지 및 하강 엣지에 동기하여 전달되는 데이터 비트 패턴을 미리 정해둠으로써 용이하게 클럭 신호 CLK의 상승 엣지에 동기하여 전달되는 데이터에 대한 유효 윈도우 신호 EDW_R 및 클럭 신호 CLK의 하강에 동기하여 전달되는 데이터에 대한 유효 윈도우 신호 EDW_F를 생성할 수 있다.
도 4는 도 1에 도시하는 제어 유닛(2)에 포함되는 타이밍 제어 회로(5)의 구성을 개략적으로 나타내는 도면이다. 도 4에서, 타이밍 제어 회로(5)는 공통 데이터 버스(4)를 통하여 주어지는 데이터 비트 D0-Dm을 받아, 클럭 신호 CLK의 상승 및 하강 각각에 대한 유효 윈도우를 검출하고, 상기 검출한 유효 윈도우를 나타내는 일치 검출 신호(최종 유효 데이터 윈도우 검출 신호) MDC_R 및 MDC_F를 생성하는 유효 윈도우 검출 회로(5a)와, 이 유효 윈도우 검출 회로(5a)에서의 일치 검출 신호 MDC_R 및 MDC_F와 클럭 신호 CLK에 따라 클럭 신호 CLK의 상승 엣지 및 하강 엣지 각각에 동기하여 전송되는 데이터에 대한 스트로브 타이밍을 검출하는 스트로브 타이밍 검출 회로(5b)와, 이 스트로브 타이밍 검출 회로(5b)가 검출한 스트로브 타이밍을 기억하여 데이터 스트로브 트리거 신호 TRSEL을 생성하여 도 1에 도시하는 스트로브 클럭 발생 회로(6)에 제공하는 스트로브 타이밍 기억 회로(5c)를 포함한다.
이 스트로브 타이밍 기억 회로(5c)는, 메모리 디바이스(1a-1n) 각각에 대하여, 상승 엣지 및 하강 엣지의 스트로브 타이밍을 기억한다. 메모리 디바이스(1a-1n)가 뱅크 구성을 갖는 경우, 이 각 뱅크마다 스트로브 타이밍을 이 스트로브 타이밍 기억 회로(5c)는 기억한다. 데이터 스트로브 타이밍 기억 회로(5c)는 예를 들면 레지스터 파일로 구성되며, 그 내용은 어드레스 신호에 의해 판독 또는 기입할 수 있다.
도 5는 도 4에 도시하는 유효 윈도우 검출 회로(5a)의 구성을 개략적으로 나타내는 도면이다. 도 5에서는 데이터 비트 D0-Dm으로서, 64 비트의 데이터 D0-D64를 일례로서 나타낸다. 도 5에서, 유효 윈도우 검출 회로(5a)는 2 비트의 데이터의 조 각각에 대응하여 설치되며, 대응하는 데이터 비트의 유효 윈도우를 검출하는 프리미티브 윈도우 검출 회로(10-0 ∼ 10-31)와, 인접하는 2개의 프리미티브 윈도우 검출 회로의 쌍 각각에 대응하여 설치되고, 대응하는 프리미티브 윈도우 검출 회로에서의 프리미티브 윈도우가 일치하는 기간을 검출하여 로컬 윈도우를 추출하는 로컬 윈도우 검출 회로(11-0 ∼ 11-15)와, 로컬 윈도우 검출 회로(11-0 ∼ 11-15) 각각에서의 로컬 윈도우 추출 신호에 따라 64 비트의 데이터에 대한 최종 유효 윈도우 검출 신호(일치 신호)MDC_R 및 MDC_F를 생성하는 최종 윈도우 검출 회로(12)를 포함한다.
프리미티브 윈도우 검출 회로(10-0)는 데이터 비트 D0 및 D1를 받아서, 프리미티브 윈도우 검출 회로(10-1)는 데이터 비트 D2 및 D3을 받는다. 프리미티브 윈도우 검출 회로(10-30)는 데이터 비트 D60 및 D61을 받아, 프리미티브 윈도우 검출 회로(10-31)는 데이터 비트 D62 및 D63을 받는다. 이들의 프리미티브 윈도우 검출 회로(10-0 ∼ 10-31) 각각에 주어지는 데이터 비트의 조는 서로 상보인 데이터 비트의 조이다. 짝수 번호의 데이터 비트는 클럭 신호와 동일한 논리 레벨을 가지며 한편 홀수 번호의 데이터 비트는 클럭 신호의 논리 레벨과 반대인 논리 레벨을 갖는다.
이들의 상보 데이터 비트쌍을 이용함으로써, 이하에 상세히 나타낸 바와 같이, 유효 윈도우를 검출하는 것이 용이해진다. 또한, 통상 동작 시에서 데이터 비트는 랜덤한 방향으로 변화하기 때문에 상보 데이터 비트쌍을 이용하여 유효 윈도우를 검출함으로써, 평균치로서 최적의 스트로브 타이밍을 제공하기 위한 윈도우를 검출할 수 있다.
이들의 프리미티브 윈도우 검출 회로(10-0 ∼ 10-31) 각각은 클럭 신호의 상승 엣지에 동기하여 전송되는 데이터의 유효 윈도우 및 클럭 신호 CLK의 하강 엣지에 동기하여 전송되는 데이터의 유효 윈도우를 함께 검출한다.
로컬 윈도우 검출 회로(11-0 ∼ 11-15) 각각은 4 비트의 데이터에 대한 유효 윈도우를 검출한다. 즉 2 비트 데이터에 대하여 검출된 프리미티브 윈도우의 일치 영역을 검출함으로써, 4 비트의 데이터에 대한 유효 윈도우를 검출한다. 이들의 로컬 윈도우 검출 회로(11-0 ∼ 11-15) 각각에도 클럭 신호 CLK의 상승 엣지 및 하강 엣지 각각에 동기하여 전송되는 데이터의 유효 윈도우를 검출한다.
최종 윈도우 검출 회로(12)는 이들의 로컬 윈도우 검출 회로(11-0 ∼ 11-15)로부터의 로컬 윈도우 검출 신호에 따라 클럭 신호 CLK의 상승 엣지에 대하여 전송된 데이터에 대한 유효 윈도우 검출 신호(일치 검출 신호) MDC_R 및 클럭 신호 CLK의 하강 엣지에 동기하여 전송되는 데이터의 유효 윈도우 검출 신호 MDC_F를 생성한다.
도 6은 도 5에 도시하는 프리미티브 윈도우 검출 회로 및 로컬 윈도우 검출 회로의 구성의 일례를 나타내는 도면이다. 도 5에서는, 데이터 비트 D0 및 D1에 대하여 설치되는 프리미티브 윈도우 검출 회로(10-0)와, 로컬 윈도우 검출 회로(11-0)의 구성을 대표적으로 나타낸다.
도 6에서, 프리미티브 윈도우 검출 회로(10-0)는 클럭 신호 CLK의 하강에 동기하여 전송되는 데이터의 비트의 유효 윈도우를 검출하는 전류 미러형 회로(10a)와, 클럭 신호 CLK의 상승 엣지에 동기하여 전송되는 데이터의 비트의 유효 윈도우를 검출하기 위한 전류 미러형 회로(10b)를 포함한다.
전류 미러형 회로(10a)는 전원 노드에 소스가 결합되고 또한 게이트에 데이터 비트 D0을 받는 P 채널 MOS 트랜지스터 Q1과, MOS 트랜지스터 Q1에서 전류를 공급되며, 동일 크기의 전류를 공급하는 전류 미러단을 구성하는 P 채널 MOS 트랜지스터 Q2 및 Q3과, 데이터 비트 D1과 기준 전압 Vref를 비교하는 차동단을 구성하는 N 채널 MOS 트랜지스터 Q4 및 Q5을 포함한다. MOS 트랜지스터 Q4의 드레인이 P 채널 MOS 트랜지스터 Q2의 드레인 및 게이트에 접속된다. MOS 트랜지스터 Q3 및 Q5의 접속 노드로부터, 클럭 신호 CLK의 하강에 동기하여 전송되는 데이터 비트 D0및 D1의 유효 윈도우 영역을 지정하는 프리미티브 윈도우 신호 ZN01이 출력된다.
전류 미러형 회로(10b)는 전원 노드에 소스가 접속되며 또한 게이트에 데이터 비트 D1을 받는 P 채널 MOS 트랜지스터 Q6과, MOS 트랜지스터 Q6에서 전류가 공급되어 전류 미러단으로서 동작하는 P 채널 MOS 트랜지스터 Q7 및 Q8과, MOS 트랜지스터 Q7 및 Q8과 접지 노드 간에 결합되고 또한 데이터 비트 D1과 기준 전압 Vref를 비교하는 차동단을 구성하는 N 채널 MOS 트랜지스터 Q9 및 Q10을 포함한다. MOS 트랜지스터 Q9는 그 드레인이 MOS 트랜지스터 Q7의 드레인 및 게이트에 접속되고 또한 그 게이트에 데이터 비트 D0을 받는다. MOS 트랜지스터 Q10이 게이트에 기준 전압 Vref를 받는다. MOS 트랜지스터 Q8 및 Q10의 접속 노드에서 클럭 신호 CLK의 상승 엣지에 동기하여 전송되는 데이터 비트의 유효 윈도우 영역을 지정하는 프리미티브 윈도우 신호 N01이 출력된다.
로컬 윈도우 검출 회로(11-0)는 전류 미러형 회로(10a)에서의 프리미티브 윈도우 신호 ZN01과, 도 5에 도시하는 프리미티브 윈도우 검출 회로(10-1)에서의 프리미티브 윈도우 신호 ZN23을 받아 로컬 윈도우 검출 신호 ZEDW_F03을 생성하는 NAND 회로(11a)와, 전류 미러형 회로(10b)에서의 프리미티브 윈도우 신호 N01과 도 5에 도시하는 프리미티브 윈도우 검출 회로(10-1)에서의 프리미티브 윈도우 신호 N23을 받아서 로컬 윈도우 검출 신호 ZEDW_R03을 생성하는 NAND 회로(11b)를 포함한다. 로컬 윈도우 검출 신호 ZEDW_F03은 클럭 신호 CLK의 하강 엣지에 동기하여 전송되는 데이터 비트 D0-D3의 유효 윈도우 영역을 나타낸다. 로컬 윈도우 검출 신호 ZEDW_R03은 클럭 신호 CLK의 상승 엣지에 동기하여 전송되는 유효 윈도우를나타낸다. 도 5에 도시하는 다른 프리미티브 윈도우 검출 회로(10-1 ∼ 10-31) 및 로컬 윈도우 검출 회로(11-1 ∼ 11-15)도, 이 도 6에 도시하는 구성과 마찬가지의 구성을 구비한다. 주어지는 데이터 비트 및 프리미티브 윈도우 검출 신호가 다를 뿐이다. 다음에, 이 도 6에 도시하는 프리미티브 윈도우 검출 회로(10-0) 및 로컬 윈도우 검출 회로(11-0)의 동작을 도 7에 도시하는 신호 파형도를 참조하여 설명한다.
현재, 클럭 신호 CLK의 상승에 동기하여 데이터 비트 D0-D3이 전달된 경우를 고려한다. 데이터 전송 시, 데이터 비트 D0 및 D2는 클럭 신호와 동일 논리 레벨이 되고 또한 데이터 비트 D1 및 D3은 클럭 신호 CLK와 논리 레벨이 반대이다. 이 데이터 패턴에 의해, 클럭 신호 CLK의 상승 엣지 및 하강 엣지 중 어느 하나에 전송된 데이터 비트인지를 식별한다.
현재, 데이터 비트 D0이 상승하면 전류 미러 회로(10a)는 비활성화되고 비트 D1의 전압 레벨에 상관없이, 프리미티브 윈도우 검출 신호 ZN01은 L 레벨을 유지한다. 한편, 데이터 비트 D1이 H 레벨 간에 전류 미러형 회로(10b)에서는 전류원 트랜지스터 Q6이 오프 상태이고, 따라서, 이 동안 프리미티브 윈도우 검출 신호 N01은 L 레벨이다. 데이터 비트 D0이 H 레벨로 상승하고 또한 데이터 비트 D1이 L 레벨로 하강하면 전류 미러형 회로(10b)에서 전류원 트랜지스터 Q6이 온 상태가 되며, 데이터 비트 D0은 기준 전압 Vref보다도 그 전압 레벨이 높기 때문에, 프리미티브 윈도우 검출 신호 N01은 H 레벨로 상승한다.
데이터 비트 D2 및 D3에 대해서는, 도 6에 도시하는 프리미티브 윈도우 검출회로(10-0)에서 데이터 비트 D0 및 D1을 데이터 비트 D2 및 D3으로 치환함으로써 프리미티브 윈도우 검출 신호의 논리 레벨이 결정된다. 즉, 데이터 비트 D3이 L 레벨로 하면, 전류 미러형 회로(10b)의 전류원 트랜지스터 Q6이 온 상태가 되며, 데이터 비트 D2가 H 레벨로 상승하면, 프리미티브 윈도우 검출 신호 N23이 H 레벨로 상승한다. 한편, 프리미티브 윈도우 검출 신호 Z23에 대해서는 데이터 비트 D3이 L 레벨일 때에는, L 레벨이고 또한 데이터 비트 D2가 H 레벨로 상승하면, 전류원 트랜지스터 Q1이 오프 상태가 되며, 그 동안 프리미티브 윈도우 검출 신호 Z23은 L 레벨을 유지한다.
클럭 신호 CLK의 하강 엣지에 동기하여 데이터가 전송되어 비트 D0이 L 레벨로 하강하는 경우, 전류 미러형 회로(10a)에서는 그 출력 신호는 L 레벨이고, 비트 D1이 L 레벨에서 H 레벨로 상승하면, 프리미티브 윈도우 검출 신호 ZN01이 H 레벨로 상승한다. 한편, 데이터 비트 D1이 L 레벨일 때에 데이터 비트 D0이 L 레벨이 되며, 프리미티브 윈도우 검출 신호 N01이 L 레벨로 하강한다. 데이터 비트 D0이 L 레벨로 하강하고, 데이터 비트 D1이 H 레벨로 하면, 전류 미러형 회로(10b)는 전류원 트랜지스터 Q6이 오프 상태가 되며 프리미티브 윈도우 검출 신호 N01은 L 레벨을 유지한다.
마찬가지로, 데이터 비트 D2 및 D3에 대해서도 프리미티브 윈도우 검출 신호 N23은 데이터 비트 D3이 L 레벨로 하강하면 전류원 트랜지스터 Q6이 오프 상태가 되며 L 레벨로 하강한다. 한편, 전류 미러형 회로(10a)에서 데이터 비트 D3이 H 레벨로 상승하여도 데이터 비트 D2가 H 레벨일 때에는 여전히 전류원 트랜지스터Q1이 오프 상태이며, 프리미티브 윈도우 검출 신호 ZN23은 L 레벨을 유지한다. 데이터 비트 D2가 L 레벨로 하강하면, 전류원 트랜지스터 Q1이 온 상태가 되며 데이터 비트 D3가 H 레벨이기 때문에, 프리미티브 윈도우 검출 신호 ZN23이 H 레벨로 상승한다. 데이터 비트 D0이 H 레벨로 상승하면 전류원 트랜지스터 Q1이 오프 상태가 되며, 프리미티브 윈도우 검출 신호 ZN01은 L 레벨로 하강한다. 프리미티브 윈도우 검출 신호 Z23에 대해서도 데이터 비트 D3이 L 레벨이 되면, 전류 미러형 회로(10a)에서 차동 증폭 동작에 의해 프리미티브 윈도우 검출 신호 ZN23이 L 레벨로 하강한다.
로컬 윈도우 검출 신호 ZEDW_R3은 프리미티브 윈도우 검출 신호 N01 및 N23이 모두 H 레벨일 때 L 레벨이 되고 또한 로컬 윈도우 검출 신호 ZEDW_F03은 프리미티브 윈도우 검출 신호 ZN01 및 Z23이 모두 H 레벨일 때에 L 레벨이 된다.
프리미티브 윈도우 검출 신호는 가장 느린 데이터 비트의 변화에 응답하여 상승하고, 가장 빠른 데이터 비트의 변화에 응답하여 L 레벨로 하강한다. 마찬가지로, 프리미티브 윈도우 검출 신호 ZN01 및 ZN23도, 가장 느린 데이터 비트의 변화에 응답하여 H 레벨로 상승하고, 가장 빠른 데이터 비트의 변화에 응답하여 비활성 상태가 된다. 따라서, 이들의 프리미티브 윈도우 검출 신호를 NAND 회로(11a, 11b)를 이용하여 합성함으로써, 4 비트의 데이터 D0-D3의 모든 비트가 확정 상태에 있는 기간만, 윈도우 검출 신호 ZEDW_F03 및 ZEDW_R03을 활성 상태인 L 레벨로 유지할 수 있다.
상술한 로컬 윈도우 검출 동작이 나머지 데이터 비트에 대하여 4 비트를 단위로 하는 회로 부분에서 실행되며 각각의 로컬 유효 데이터 윈도우가 검출된다.
상술된 바와 같이, 상보 데이터 비트쌍을 이용하고 또한 클럭 신호의 트리거 엣지에 따라 데이터 비트의 논리 레벨을 미리 정해둠으로써 클럭 신호의 양 엣지에서 각각 전송되는 데이터 비트의 유효 윈도우를 용이하게 검출할 수 있다.
도 8은 도 5에 도시하는 최종 윈도우 검출 회로(12) 중 최종 유효 데이터 윈도우 검출 신호(일치 검출 신호) MDC_R을 발생하는 부분의 구성을 나타내는 도면이다. 도 8에서는 데이터 비트 D0-D63에 대한 유효 데이터 윈도우 검출 회로의 구성을 나타낸다. 데이터 비트가 64 비트이며, 16개의 로컬 유효 데이터 윈도우 검출 신호 ZEDW_R03 ∼ ZEDW_R6063이 생성된다. 4개의 로컬 유효 데이터 윈도우 검출 신호를 조로 하여, 각 조에 대하여 NOR 게이트 GR0-GR3을 설치한다. 즉, NOR 게이트 GR0은 데이터 비트 D0-D15에 대한 로컬 윈도우 검출 신호 ZEDW_R03 ∼ ZEDW_R15를 받는다. NOR 게이트 GR3은 데이터 비트(48-63)에 대한 로컬 윈도우 검출 신호 ZEDW_R4851 ∼ ZEDW_R6063을 받는다.
이 최종 윈도우 검출 회로(12)는 또한 이들의 NOR 게이트 GR0 ∼ GR3의 출력 신호를 받는 4 입력 NAND 게이트 GD를 포함한다. NAND 게이트 GD에서 최종 윈도우 검출 신호 ZMDC_R이 생성되고, 이 NAND 게이트 GD의 출력 신호를 받는 인버터 GI에서 최종 유효 데이터 윈도우 검출 신호(일치 검출 신호) MDC_R이 생성된다.
NOR 게이트 GR0 ∼ GR3 각각은 주어진 로컬 윈도우 검출 신호가 전부 L 레벨이 되면 H 레벨의 신호를 출력한다. 따라서, NOR 게이트 GR0에서는 데이터 비트 D0-D15의 유효 윈도우 영역을 나타내는 신호가 출력되며 NOR 게이트 GR3에서는 데이터 비트 D48 ∼ D63의 유효 윈도우 영역을 나타내는 신호가 출력된다.
NAND 게이트 GD는 주어진 신호가 전부 H 레벨일 때 L 레벨의 신호를 출력한다. 따라서, 이 NAND 게이트 GD에서 출력되는 최종 유효 데이터 윈도우 검출 신호 ZMDC_R은 데이터 비트 D0∼D63의 유효 데이터 윈도우 영역을 나타낸다.
이 도 8에 도시하는 구성에서 로컬 윈도우 검출 신호로서, ZEDW_F를 이용하면, 클럭 신호 CLK의 하강 엣지에 동기하여 전송되는 데이터에 대한 최종 유효 데이터 윈도우를 나타내는 신호 ZMDC_F 및 MDC_F가 생성된다. 이에 따라, 주어진 데이터 비트의 유효 데이터 윈도우 영역을 추출할 수 있다. 추출된 유효 데이터 윈도우 영역에 대하여, 클럭 신호 CLK의 위상을 조정하여 수신 데이터에 대하여 셋업/홀드 시간을 최적화하도록 스트로브용 클럭 신호를 생성한다.
도 9는 도 4에 도시하는 스트로브 타이밍 검출 회로(5b)의 구성을 개략적으로 나타내는 도면이다. 도 9에서 스트로브 타이밍 검출 회로(5b)는 클럭 신호 CLK의 타이밍을 유효 윈도우 검출 회로(5a)의 신호 전파 지연에 따라 조정하기 위한 타이밍 조정 회로(20)와, 각각이 예를 들면 200㎰의 지연 시간을 갖는 복수의 지연단(22a)이 캐스케이드 접속되며, 타이밍 조정 회로(20)로부터의 클럭 신호를 순차 전달하는 지연선(22)과, 지연선(22)의 각 지연단(22a) 각각에 대응하여 설치되는 래치 회로(24a)를 포함하고, 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)과 지연선(22)의 대응하는 지연단(22a)의 출력 신호에 따라 위상을 비교하고, 상기 비교 결과를 래치하는 결과 레지스터 회로(24)와, 래치 회로(24a) 각각에 저장된 신호에 따라, 스트로브 타이밍을 산출하는 스트로브 타이밍 산출 회로(26)를 포함한다. 이 스트로브 타이밍 산출 회로(26)에 의해 산출된 스트로브 타이밍은 스트로브 타이밍 기억 회로(5c)에 의해 기억된다.
도 1에 도시하는 스트로브 클럭 발생 회로(6)는 지연선(22)의 지연단(22a) 각각에 대응하여 설치되는 선택 회로(6a)를 포함하고, 스트로브 타이밍 기억 회로(5c)에 저장된 스트로브 타이밍 정보에 기초하여 생성되는 데이터 트리거 선택 신호 TRSEL에 따라, 지연선(22)의 대응하는 지연단(22a)의 입력 클럭 신호를 선택하여 스트로브 클럭 신호 CKST를 생성한다.
도 10은 도 9에 도시하는 지연선(22)의 지연단, 스트로브 클럭 발생 회로(6)의 선택 회로(6a) 및 래치 회로(24)의 래치단(24a)의 구성의 일례를 나타내는 도면이다. 도 10에서 지연단(22a)은 전단의 지연단에서 주어지는 클럭 신호를 지연하는 짝수단(도 10에서는 2단)의 지연 인버터 회로(22aa, 22ab)를 포함한다. 이 지연단(22a)은 예를 들면 200㎰의 지연 시간을 갖는다.
래치단(24a)은 최종 유효 데이터 윈도우 검출 신호 MDC0에 응답하여 대응하는 지연단(22a)의 입력 클럭 신호를 래치하는 래치(24aa)와, 래치(24aa)의 래치 출력을 전송 지시 신호 MDC1에 응답하여 래치하여 스트로브 타이밍 산출 회로(26)에 주어지는 래치(24ab)를 포함한다.
선택 회로(6a)는 스트로브 타이밍 기억 회로(5c)에서의 데이터 트리거 선택 신호 TRSEL에 응답하여, 대응하는 지연단(22a)의 입력 클럭 신호를 반전하여 스트로브 클럭 신호 CKST를 생성하는 3상태 인버터 회로(6aa)를 포함한다. 이 스트로브 클럭 신호 CKST를 3상태 인버터 버퍼 회로(6aa)에 의해 생성하고 있는 것은 대응하는 샘플링 회로(입력 회로)가 클럭 신호(스트로브 클럭 신호)의 하강에 동기하여 래치 상태가 되기 때문이다. 각 선택 회로(6a)의 출력은 와이어드 접속된다.
도 11은, 도 10에 도시하는 래치단(24a)의 래치 타이밍을 규정하는 신호 MDC0 및 MDC1의 발생 타이밍을 나타내는 도면이다. 도 11에 도시한 바와 같이, 일치 검출 신호 MDC0은 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)에 응답하여 생성된다. 전송 제어 신호 MDC1은 2개째의 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)에 따라 생성된다. 일치 검출 신호 MDC0에 의해, 유효 데이터 윈도우의 위치를 검출하고, 계속해서 전송 제어 신호 MDC1에 따라 래치(24aa)의 출력을 래치(24ab)로 전송함으로써, 스트로브 타이밍 산출 회로(26)에서 최적 스트로브 타이밍의 산출이 행해진다.
도 12의 (a)는 최종 유효 데이터 윈도우 검출 신호 MDC_F와 지연선 입력 클럭 신호의 타이밍 관계를 나타내는 파형도이다. 지연단의 입력 신호 CLKda ∼ CLKdw는 각각, 단위 시간(예를 들면 200㎰)씩 위상이 어긋나 있다. 현재, 최종 유효 데이터 윈도우 검출 신호 MDC_F가 지연 클럭 신호 CLKda 및 CLKdb의 하강 간에서 상승한 상태를 고려한다. 이 때, 도 10에 도시하는 래치단(24a)은 이 최종 유효 데이터 윈도우 검출 신호 MDC_F의 상승에 동기하여 래치 상태가 되어 대응하는 지연 클럭 신호를 취입 래치한다. 따라서, 이 지연 클럭 신호 CLKda에 대응하는 래치단(24a)은 "0"을 래치하고, 지연 클럭 신호 CLKdb ∼ CLKdv에 대응하는 래치단(24a)은 대응하는 지연 클럭 신호가 H 레벨이기 때문에 "1"을 기억한다. 지연 클럭 신호 CLKdw에 대응하는 래치단은 "0"을 저장한다. 이 "1"을 저장하는 래치단의 수는 도 12의 (b)에 도시한 바와 같이, 클럭 신호 CLK(CLKd)의 H 레벨의 기간에 상당한다. 유효 데이터 윈도우 개시와 클럭 신호 CLK와의 위상의 어긋남을 검출하고, 셋업 시간 tsu 및 홀드 시간 th가 최적이 되도록 스트로브 타이밍을 결정한다. 이 "1"을 저장하는 래치단의 수가 클럭 신호 CLK의 H 레벨 기간, 즉 L 레벨 기간에 대응하고 있어(클럭 신호 CLK의 듀티를 50%로 한다), 유효 데이터 윈도우 폭이 이 클럭 신호의 H 레벨 기간이라고 가정하고 "1"을 저장하는 래치단의 중심 위치의 래치단에 대응하는 선택 회로를 활성 상태로 하도록 스트로브 타이밍을 결정한다. 이 스트로브 타이밍 결정 동작에 대해서는 뒤에 상세하게 설명한다.
도 13의 (a)는 최종 유효 데이터 윈도우 검출 신호 MDC_R과 지연 클럭 신호와의 타이밍 관계를 나타낸 도면이다. 지연선(22)에서는 지연 클럭 신호 CLKd1 ∼ CLKd가 출력된다. 현재, 최종 유효 데이터 윈도우 검출 신호 MDC_R이 지연 클럭 신호 CLKd1과 지연 클럭 신호 CLKd2의 상승 간의 시점에서 H 레벨로 상승한 상태를 고려한다. 이 상태에서는 지연선(22)에 있어서 지연단을 진행함에 따라 이 지연 클럭 신호의 상승이 지연되고 있기 때문에, 지연 클럭 신호 CLKd1에 대응하여 설치되는 래치단(22a)에는 "1"이 저장되며, 지연 클럭 신호 CLKd2 ∼ CLKd에 대한 래치단(24a)에는 "0"이 저장된다. 지연 클럭 신호 CLKdz에 대응하여 설치되는 래치단(24a)에는 "1"이 저장된다. 따라서, 이 경우, "0"을 저장하는 래치단의 수는 도 13의 (b)에 도시한 바와 같이, 지연 클럭 신호 CLKd의 L 레벨의 기간에 대응한다. 이 경우에서, 클럭 신호 CLK의 L 레벨의 기간은 보드 실장 후의 메모리 시스템에서는 일의적으로 정해진다. 따라서, 이 기간을 고려하여 셋업 시간 tsu 및홀드 시간 th가 최적이 되도록 데이터 스트로브 타이밍을 결정한다.
도 14는 도 10에 도시하는 제어 신호 MDC0 및 MDC1을 발생하는 부분의 구성의 일례를 나타내는 도면이다. 도 14에서, 일치 검출 신호 발생부는 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)의 하강에 응답하여 그 출력 상태를 변경하는 T 플립플롭(30)과, T 플립플롭(30)의 출력 Q 및 /Q에서의 상보 신호에 따라 도통하여, 도통 시, 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)에서 일치 검출 신호 MDC0을 생성하는 트랜스미션 게이트(31)와, T 플립플롭(30)에서의 상보 출력 신호에 따라 트랜스미션 게이트(31)와 상보적으로 도통하고, 도통 시, 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)을 통과시켜서, 전송 제어 신호 MDC1을 생성하는 트랜스미션 게이트(32)를 포함한다.
T 플립플롭(30)은 초기 상태 시에서는 리세트 상태가 되며, 그 출력 Q에서의 신호는 L 레벨이다. 따라서, 처음은 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)에 따라 일치 검출 신호 MDC0이 생성되며, 이 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)이 하강하면, T 플립플롭(30)의 출력 신호의 상태가 변화하고, 전송 제어 신호 MDC1이 최종 유효 데이터 윈도우 검출 신호 MDC_R(또는 MDC_F)에 따라 생성된다. 이에 따라, 래치단에서 취입한 위상 정보를 순차 전송할 수 있다.
또, 트랜스미션 게이트(31, 32)는 비도통 시 출력 하이 임피던스 상태가 된다. 이 경우, 확실한 초기 설정을 위해 신호 MDC0 및 MDC1이 각각, 대응하는 트랜스미션 게이트(31, 32)의 비도통 시 접지 전압 레벨에 리세트되는 리세트용 MOS 트랜지스터가 설치된다.
도 15는 도 9에 도시하는 스트로브 타이밍 산출 회로(26)의 동작을 개념적으로 나타내는 도면이다. 도 15에서, 결과 레지스터 회로(24)에는 최종 유효 데이터 윈도우 검출 신호의 전연의 위치가 클럭 신호 CLK의 대응하는 엣지(상승 엣지 또는 하강 엣지)를 기준으로서 기억되어 있다. 즉, 결과 레지스터 회로(24)에서 "0"에서 "1"로 변화하는 위치가 유효 데이터 윈도우의 전연이다. 결과 레지스터 회로(24)에 저장된 데이터 중 "1"에서 "0"으로 변화하는 위치가 이 유효 데이터 윈도우에 대응하는 클럭 신호의 후연 위치를 나타낸다.
유효 데이터 윈도우가 거의 클럭 신호 CLK의 반 사이클과 동일한 경우(DDR 모드로 데이터 전송이 행해지는 경우), 이 "1"이 연속하는 영역은 확정 데이터 비트가 전송되어 있는 기간에 상당한다. 결과 레지스터 회로(24)의 값 "1"을 저장하는 래치단의 중앙 위치를 검출하여, 이것을 스트로브 타이밍 기억 회로(5c)에 기억한다. 유효 데이터 영역이 클럭 신호 CLK의 반 사이클에 실질적으로 동일한 경우, 이 중앙 영역을 구함으로써 셋업 시간 및 홀드 시간에 대한 마진을 최대로 할 수 있다(셋업 시간 및 홀드 시간을 같게 하게 때문). 이 스트로브 타이밍 기억 회로(5c)에 기억된 비트 위치의 레지스터에서 데이터 트리거 선택 신호 TRSEL을 출력한다. 도 10에 도시하는 대응하는 선택 회로(6a)가 도통 상태가 되고, 이 스트로브 타이밍 기억 회로(5c)에 기억되는 레지스터 위치에 대응하는 지연 클럭 신호가 선택되어 스트로브 클럭 신호 CKST가 생성된다. 따라서, 이 스트로브 클럭 신호 CKST는 유효 데이터의 거의 중앙 영역에서 그 엣지가 변화하고, 대응하는 유효데이터를 샘플링한다.
즉, 도 16에 도시한 바와 같이, 클럭 신호 CLK에 대하여 최종 유효 데이터 윈도우 검출 신호 MDC가 위치 어긋남이 생기는 경우, 이 최종 유효 데이터 윈도우 검출 신호 MDC의 전연과 동일[지연단이 갖는 지연 시간(예를 들면, 200㎰)의 오차는 존재한다] 위치에서 변화하는 클럭 신호의 위치가 검출된다. 이 클럭 신호의 윈도우를 CLKD로 한다. 이 클럭 신호 윈도우 CLKD의 위치는 결과 레지스터 회로(24)에 저장되어 있다. 이 클럭 신호 윈도우 CLKD의 중심 위치에 엣지가 존재하도록 스트로브 타이밍을 산출하여, 데이터 트리거 선택 신호 TRSEL을 생성한다. 스트로브 클럭 신호 CKST는 유효 데이터 윈도우 폭과 거의 실질적으로 동일한 활성화 기간(H 레벨)을 가지고 있고, 유효 데이터의 거의 중앙 영역에서 데이터의 스트로브를 행할 수 있어 셋업 시간 tsu 및 홀드 시간 th에 대한 마진을 최대로 취할 수 있다.
도 17에, 구체적인 스트로브 타이밍 산출 수법을 나타낸다. 현재, 결과 레지스터 회로(27)에 포함되는 각 래치단에 번호를 부여한다. 래치 LA에서 LB 간에 "1"이 저장되어 있는 경우를 고려한다. 이 경우, 레지스터 A에 래치 LA의 번호 LA를 기억하고 또는 레지스터 B에 "1"을 저장하는 최종 래치의 번호 LB를 기억한다. 스트로브 타이밍은 이 래치 번호 LA 및 LB에서 (LA+LB)/2에 의해 구해진다. 이 스트로브 타이밍을 나타내는 레지스터 번호(즉 선택 회로)가 기억 회로(5c)에 기억된다.
이 레지스터 A 및 레지스터 B에 대하여, "1"의 선두 위치 및 종단 위치의 저장은 이하에 도시한 바와 같이, 하드웨어적으로 행해져도 된다. 즉, 결과 레지스터(24)의 인접 래치의 출력 신호를 검출하고 "01"의 변화점을 검출함과 함께, "10" 변화점을 검출함으로써 이 레지스터 A 및 B에 저장하는 선두 위치 및 종단 위치를 검출할 수 있다. 이 경우, 레지스터 A 및 B는 결과 레지스터(24)의 래치단과 동수의 단수의 레지스터 회로를 구비할 필요가 있다. 또한, "01"의 조를 검출하기 위한 게이트 회로 및 "10"의 조를 검출하기 위한 게이트 회로가 필요해진다.
따라서, 이 경우, 단순히, 도시하지 않은 컨트롤러에 의해 결과 레지스터(24)의 "1"을 저장하는 래치 번호를 구하고, 이 검출된 래치 번호를 각각 레지스터 A 및 레지스터 B에 기억하여 스트로브 타이밍을 검출하는 구성이 이용되어도 된다. 스트로브 타이밍 기억 회로(5c)에 각 메모리 디바이스의 각 뱅크마다 스트로브 타이밍을 기억할 필요가 있고, 이 저장의 제어를 행하는 회로가 이 레지스터 A/B로의 저장치를 산출하는 동작을 더불어 실행하여도 된다.
도 18의 (a)는 레지스터 A에 대한 저장 제어부의 구성을 나타내고, 도 18의 (b)는 레지스터 B에 대한 데이터 저장 제어부의 구성을 개략적으로 나타내는 도면이다.
도 18의 (a)에서 결과 레지스터 회로(24)는 래치단(22ap, 22aq)을 포함한다. 이들의 래치단(22ap, 22aq) 각각에 대응하여 게이트 회로 GAp 및 GAq가 설치된다. 게이트 회로 GAp 및 GAq의 출력 신호는 레지스터 A의 대응하는 레지스터 회로 Aap 및 Aaq에 주어져 저장된다. 게이트 회로 GAp는 대응하는 래치단(22ap)의 래치 신호와 전단의 래치의 출력 신호의 반전 신호를 받아, 양자가 "1"일 때에 "1"의 신호를 출력한다. 게이트 회로 GAq는 래치단(22ap)의 출력 신호와 대응하는 래치단(22aq)의 출력 신호를 받는다. 따라서, 도 18의 (a)에 도시한 바와 같이 래치단(22ap, 22aq)에서 "0" 및 "1"이 각각 저장되어 있는 경우, 게이트 회로 GAp의 출력 신호는 L 레벨("0")이 되며 게이트 회로 GAq의 출력 신호만이 "1"이 되고 최종 유효 데이터 윈도우 영역의 전연을 검출하여 레지스터 A에 저장할 수 있다.
도 18의 (b)에서는 결과 레지스터 회로(24)의 래치단(22as, 22at)에 대하여 게이트 회로 GBs 및 GBt가 설치된다. 게이트 회로 GBs 및 GBt의 출력 신호를 각각 받도록 레지스터 B에서의 레지스터 회로 Bas 및 Bat가 설치된다. 게이트 회로 GBt는 대응하는 래치단(22at)의 출력 신호와 다음단의 래치단의 출력 신호의 반전 신호를 받는다. 게이트 회로 GBs는 대응하는 래치단(22as)의 출력 신호와 다음단의 래치단(22at)의 출력 신호의 반전 신호를 받는다. 따라서, 게이트 회로 GBs는 래치단(22as, 22at)에 각각 "1" 및 "0"이 저장되었을 때, "1"의 신호를 출력한다. 게이트 회로 GBt는 래치단(22at)의 출력 신호가 "0"이기 때문에 "0"의 신호를 출력한다. 따라서, 도 18의 (b)에 도시하는 구성을 이용함으로써 최종 유효 데이터 윈도우 영역의 후연을 검출하여 레지스터 B에 저장할 수 있다.
레지스터 A 및 레지스터 B에서 이 "1"이 저장된 레지스터 번호를 컨트롤 장치에 의해 검출하고, 그 레지스터 번호에서, 스트로브 타이밍을 결정하여 대응하는 레지스터[기억 회로(5c) 내]에 "1"을 기입한다.
도 19는 스트로브 타이밍 산출 회로(26) 및 스트로브 타이밍 기억 회로(5c)의 구성의 일례를 나타내는 도면이다. 도 19에서 스트로브 타이밍 산출 회로(26)는 레지스터 A에 저장된 전연 래치 번호와 레지스터 B에 저장된 후연 래치 번호를 가산하는 가산기(26a)와, 가산기(26a)의 가산치를 1/2배하는 승산기(26b)와, 승산기(26b)의 출력치를, 지연선의 지연 단수에 따라 비트 전개하는 비트 전개 회로(26c)를 포함한다. 이 레지스터 A 및 레지스터 B에는, 각각 최종 유효 데이터 윈도우 검출 신호의 전연에 일치하는 클럭 신호의 펄스 폭의 전연 위치 및 후연 위치에 대응하는 래치의 번호가 저장되어 있다. 가산기(26a)에서 이들의 래치의 번호를 가산하고, 승산기(26b)에서 계수 1/2을 승산함으로써, 중앙 위치에서 엣지를 갖는 클럭 신호에 대응하는 래치단의 번호를 검출한다. 비트 전개 회로(26c)는 이 승산기(26b)의 출력하는 래치 번호에 대응하는 레지스터 회로를 1로 세트하고, 나머지 레지스터 회로를 전부 0으로 설정한다. 이에 따라, 지연선(22)의 각 지연단에 대응하여 설치되는 클럭 선택 회로 각각에 대응한 선택 제어 신호를 생성할 수 있다.
스트로브 타이밍 기억 회로(5c)는 메모리 디바이스 및 뱅크 각각에 대응하여 설치되는 레지스터(40a-40m)를 포함하는 레지스터 회로(40)와, 이 레지스터 회로(40)로부터 레지스터를 선택하기 위한 선택 회로(42)와, 어드레스 신호 AD에 따라 선택 회로(42)의 선택 동작을 제어하는 제어 회로(41)를 포함한다. 레지스터(40a-40m) 각각은 스트로브 클럭 발생 회로(6)에 포함되는 클럭 선택 회로 각각에 대응하는 단위 레지스터를 포함한다. 레지스터(40a-40m) 각각의 비트 폭은 비트 전개 회로(26c)가 출력하는 데이터의 비트폭과 동일하다. 선택 회로(42)에 의해 1개의 레지스터를 선택하여, 비트 전개 회로(26c)에서 주어진 데이터를 기입한다. 이에 따라, 메모리 디바이스의 뱅크에 대한 지연 클럭 선택 위치를 나타내는 신호가 저장된다.
통상 동작 시에서는 제어 회로(41)는 메모리 디바이스 및 뱅크를 특정하는 어드레스 AD에 따라서, 레지스터 회로(40) 중 대응하는 레지스터를 선택 회로(42)에서 선택한다. 따라서, 이 선택 회로(42)에서 1 비트만이 "1"이고, 나머지 비트가 "0"이 되는 데이터 트리거 선택 신호 TRSEL이 생성되어, 도 9에 도시하는 스트로브 클럭 발생 회로(6)의 선택 회로(6a)에 병렬로 제공된다.
또, 레지스터 A 및 레지스터 B에는 각각, 앞의 도 17에 도시하는 레지스터 A 및 B에 저장된 "1"의 레지스터 회로의 위치에 따라 대응하는 래치단의 번호가 저장되어 있다.
[스트로브 타이밍 기억 회로의 변경예]
도 20은 스트로브 타이밍 기억 회로(5c)의 변경예를 나타내는 도면이다. 도 20에서, 스트로브 타이밍 기억 회로(5c)는 디바이스 및 뱅크에 대응하여 스트로브 타이밍을 기억하는 레지스터 회로(45)와, 이 레지스터 회로(45)에 대한 기입/판독을 제어하는 제어 회로(46)와, 레지스터 회로(45)에서 판독된 스트로브 타이밍 정보를 디코드하는 디코더(47)와, 디코더(47)로부터의 디코드 신호에 따라 데이터 트리거 선택 신호 TRSEL을 발생하는 선택 신호 발생 회로(48)를 포함한다.
이 레지스터 회로(45)는 디바이스명(45aa)과 뱅크명(45ab)과 스트로브 타이밍 정보(45b)를 링크하여 저장한다. 이 디바이스명(45aa)과 뱅크명(45ab)을 어드레스로서, 이 대응하는 스트로브 타이밍(래치단의 번호)을 저장해도 된다. 또한,레지스터 회로(45)는 내용 참조 메모리(CAM)로 하고, 디바이스명(45aa) 및 뱅크명(45ab)을 참조 어드레스로서 스트로브 타이밍 정보를 판독하도록 구성되어도 된다.
도 20에서는 디바이스(1a)의 뱅크 B0에 스트로브 타이밍 정보 #a가 저장되며, 디바이스(1n)의 뱅크 B0 및 B1 각각에 대하여, 스트로브 타이밍 정보 #b 및 #c가 저장되는 상태를 일례로서 나타낸다. 스트로브 타이밍 정보(45b)는 단순히, 래치단의 번호((LA+LB)/2)를 저장하고 있을 뿐이다. 이에 따라, 레지스터 회로(45)의 비트폭을 저감한다. 디코더(47)는 스트로브 타이밍 정보를 디코드하고, 복수의 클럭 선택 회로를 특정하는 신호를 생성한다. 선택 신호 발생 회로(48)는 이 디코더(47)의 출력 신호를 래치하고, 데이터 트리거 선택 신호 TRSEL을 생성한다.
이 도 20에 도시하는 구성인 경우, 레지스터 회로(45) 및 디코더(47)는 메모리 디바이스에의 액세스 시에 활성화된다. 연속하여 1개의 메모리 디바이스로 액세스되는 경우에는, 선택 신호 발생 회로(48)로부터 선택 신호 TRSEL이 자동적으로 발생된다. 레지스터(45) 및 디코더(47)는 다음의 액세스에 구비할 수 있어 메모리 디바이스 전환 시에도 고속으로 대응할 수 있다.
제어 회로(46)는 디바이스명 및 뱅크명을 특정하는 어드레스 신호 AD에 따라 레지스터 회로(45)로 액세스한다. 레지스터 회로(45)에의 스트로브 정보 저장 시에는 제어 회로(46)가 기입 모드가 되며, 이 레지스터 회로에 스트로브 타이밍을 나타내는 정보 (LA+LB)/2를 어드레스 신호 AD에 따라서 기입한다.
도 21은 클럭 발생부의 개략 구성을 나타내는 도면이다. 도 21에서, 클럭발생부는 클럭 신호 CLK의 상승 엣지에 동기하여 전송되는 데이터에 대한 스트로브 클럭 신호 CKSTR을 생성하는 상승 클럭 발생 회로(6R)와, 클럭 신호 CLK의 하강 엣지에 동기하여 전송되는 데이터에 대한 스트로브 클럭 신호 CKSTF를 생성하는 하강 클럭 발생 회로(6F)와, 이 상승 클럭 발생 회로(6R)에 대한 데이터 트리거 선택 신호 TRSELR을 생성하는 상승 조정계(5R)와, 하강 클럭 발생 회로(6F)에 대한 데이터트리거 선택 신호 TRSELF를 생성하는 하강 조정계(5F)를 포함한다.
상승 조정계(5R)는 앞의 도 9 이후에서 도시한 최종 유효 데이터 윈도우 검출 신호에 따라, 데이터 트리거 선택 신호 TRSELR을 생성하는 부분을 포함한다. 따라서, 이 상승 조정계(5R)는 클럭 신호 CLK를 지연하는 지연선(22R)과, 도시하지 않은 이 지연선(22R)에서의 일치 부분을 검출함과 함께 검출 위치를 기억하는 레지스터 회로를 포함한다. 하강 조정계(5F)도 마찬가지로, 스트로브 타이밍 검출 회로(5b) 및 스트로브 타이밍 기억 회로(5c)를 포함하고, 클럭 신호 CLK를 지연하는 지연선(22F)과, 이 지연선(22F)의 지연 클럭 신호에 따라서 스트로브 타이밍을 검출하여 기억하는 래치단 및 래치단 위치를 기억하는 레지스터 회로를 포함한다.
하강 클럭 발생 회로(6R)는 이 데이터 트리거 선택 신호 TRSELR에 따라서 지연선(22R)에서 전달되는 지연 클럭을 선택하여 스트로브 클럭 신호 CKSTR을 생성한다. 하강 클럭 발생 회로(6F)는 지연선(22F)의 지연 클럭 신호를 데이터 트리거 선택 신호 TRSELF에 따라서 선택하여 스트로브 클럭 신호 CKSTF를 생성한다.
도 22는 데이터를 취입하는 입력 회로의 구성을 나타내는 도면이다. 도 22에서 입력 회로(7)는 스트로브 클럭 신호 CKSTR의 상승 엣지로 선택 메모리 디바이스에서 전달되는 데이터 비트 D<all>을 취입하는(샘플링하는) 입력 회로(7R)와, 스트로브 클럭 신호 CKSTF의 상승 엣지에 동기하여 데이터 비트 D<all>을 취입하는 입력 회로(7F)를 포함한다. 입력 회로(7F)도 스트로브 클럭 신호 CKSTF의 상승 엣지에 동기하여 주어진 데이터 비트를 샘플링한다. 데이터가 64 비트 D<63 : 0>인 경우, 입력 회로(7R, 7F)에서는 각각 64 비트의 내부 데이터 Din<all> 및 Dil<all>이 생성된다. 이 입력 회로(7R, 7F)에서 생성되는 내부 데이터 비트는 컨트롤 유닛의 내부 구성에 맞춰서 병렬로 순차 내부 전송되어도 되며 또한 직렬로 동일한 내부 데이터 버스를 통하여 순차 전송되어도 된다.
이 입력 회로(7)에서 스트로브 클럭 신호 CKSTR 및 CKSTF 각각에 대하여 입력 회로(7R, 7F)를 설치함으로써 클럭 신호 CLK의 상승 엣지 및 하강 엣지에 동기하여 전송되는 데이터 비트를 저속으로 동작하는 입력 회로(7R, 7F)를 이용하여 샘플링할 수 있다[입력 회로(7R 및 7F)는 클럭 신호 CLK의 1 사이클마다 동작한다].
또, 스트로브 클럭 신호 CKSTR 및 CKSTF가 각각 상승 엣지로 샘플링 타이밍(스트로브 타이밍)을 결정하고 있지만, 이것은 도 12의 (b) 및 도 13의 (b)에 도시한 바와 같이, 스트로브용 클럭 신호의 위상에 따라서 클럭 선택 회로의 논리를 결정함으로써, 이 입력 회로(7R, 7F)가 모두 스트로브 클럭 신호의 상승 엣지에 동기하여 데이터를 샘플링(스트로브)할 수 있다. 예를 들면, 도 12의 (b)에 도시한 바와 같이, 지연선으로부터 선택하는 클럭 신호가 유효 데이터 윈도우 영역(클럭 사이클)의 중앙 영역에서, 하강하는 경우에는 도 10에 도시한 바와 같이, 3상태 인버터 버퍼 회로를 이용하여 스트로브 클럭 신호를 생성함으로써, 이 스트로브 클럭신호의 상승 엣지로 스트로브 타이밍을 제공하는 스트로브 클럭을 생성할 수 있다. 또한, 도 13의 (b)에 도시한 바와 같이, 상승 엣지로 동기하여 전송되는 데이터에 대한 스트로브 클럭 신호는 지연선에서 선택되는 대응하는 클럭 신호의 상승 엣지가 스트로브 타이밍을 제공하기 위해서 대응하는 선택 회로는 3상태 버퍼로 구성된다.
[변경예 1]
도 23은 본 발명의 실시 형태 1의 변경예 1의 구성을 나타내는 도면이다. 도 23에서는 스트로브 타이밍 검출 회로의 주요부의 구성을 나타낸다. 이 도 23에 도시하는 구성에서는 도 10에 도시하는 구성과 달리, 래치단(24a)에서 래치(24aa)는 대응하는 지연단(22a)의 입력 클럭 신호의 상승 엣지로, 주어진 유효 데이터 윈도우 검출 신호 MDC0(MDC_R)을 래치한다. 다른 구성은 앞의 도 10에 도시하는 구성과 동일하다. 이 도 23에 도시하는 구성은 클럭 신호 CLK의 상승 엣지에 동기하여 전송되는 데이터에 대한 윈도우를 검출한다. 클럭 신호 CLK의 하강 엣지에 동기하여 전송되는 데이터에 대해서는 래치(24aa)는 대응하는 지연단의 입력 클럭 신호의 하강에 응답하여 최종 유효 데이터 윈도우 검출 신호 MDC_F를 래치한다.
이 도 23에 도시하는 구성인 경우, 도 24의 (a)에 도시한 바와 같이, 대응하는 지연 클럭 신호 CLKda 등의 상승 엣지로, 최종 유효 데이터 윈도우 검출 신호 MDC_R이 래치된다. 따라서, 지연 클럭 신호 CLKda와 지연 클럭 신호 CLKdb 간에서 최종 유효 데이터 윈도우 검출 신호 MDC_R이 상승하고, 지연 클럭 신호 CLKdu와 지연 클럭 신호 CLKdv 간에서의 상승 간에서 이 최종 유효 데이터 윈도우 검출 신호MDC_R이 하강하는 경우, 이 유효 데이터 윈도우 검출 신호 MDC_R의 영역에 대응하는 래치에 "1"이 저장된다. 이 레지스터의 단수는 최종 유효 데이터 윈도우의 시간 폭에 상당한다. 따라서, 도 24의 (b)에 도시한 바와 같이, 클럭 신호 CLK를 유효 데이터 윈도우로 추출한 상태가 얻어진다. 따라서, 이 "1"을 저장하는 래치 중 중심 위치의 래치에 대응하는 지연단의 입력 클럭 신호를 스트로브 클럭 신호 CKSTR로서 선택함으로써, 유효 데이터 윈도우의 중심 영역에서 스트로브하는 스트로브 클럭 신호 CKSTR을 얻을 수 있다. 이 경우, 유효 데이터 윈도우의 폭이 메모리 디바이스마다 다르고, 클럭 신호 CLK의 반 사이클보다도 작은 경우에서도 정확하게, 셋업 시간 및 홀드 시간을 같게 하여, 이들의 셋업 시간 및 홀드 시간에 대한 마진을 최대로 하는 스트로브 타이밍을 얻을 수 있다.
도 25의 (a)는 클럭 신호 CLK의 하강 엣지에 동기하여 전송되는 데이터에 대한 스트로브 타이밍 검출 동작을 나타내는 도면이다. 이 도 25의 (a)에 도시한 바와 같이, 최종 유효 데이터 윈도우 검출 신호 MDC_F가 활성 상태로 되어 있는 구간에 대응하는 래치단이 "1"을 저장한다. 즉, 이 경우에서도 도 25의 (b)에 도시한 바와 같이, 지연 클럭 신호 CLKdb와 지연 클럭 신호 CLKdy 간의 래치단에는 "1"이 저장되며, 그 이외의 래치단에 "0"이 저장된다. 따라서, 이 클럭 신호 CLK의 하강에 동기하여 전송되는 데이터에 대해서도 유효 데이터 윈도우 폭의 중심 위치에서 스트로브 타이밍을 주어지는 스트로브 클럭 신호 CKSTF를 생성할 수 있다.
또, 이 지연선(22)에서의 지연 시간은 클럭 신호 CLK의 1 사이클 기간으로 된다. 복수의 부분에서 일치 검출 동작이 동시에 생기는 것을 방지할 수 있다.
이 변경예 1에서 다른 구성은 앞의 도 19 및 도 20에서 설명한 바와 같이 스트로브 타이밍 검출 회로 및 스트로브 타이밍 기억 회로의 구성을 그대로 이용할 수 있다. 유효 데이터 윈도우 폭에 따른 스트로브 타이밍을 설정할 수 있다.
[변경예 2]
도 26은 본 발명의 실시 형태 1의 변경예 2의 구성을 개략적으로 나타내는 도면이다. 도 26에서, 데이터 비트가 64 비트 D0-D63인 경우의 구성을 일례로서 나타낸다. 4 비트 데이터마다 스트로브 타이밍을 조정한다. 즉, 타이밍 제어 회로(5)에서 4 비트의 데이터마다 타이밍 조정 회로가 설치된다. 타이밍 조정 회로(5-0)가 로컬 유효 데이터 윈도우 검출 신호 ZEDWR0 및 ZEDWF0에 따라서, 데이터 비트 D0-D3에 대한 스트로브 타이밍을 조정한다. 타이밍 조정 회로(5-15)는 로컬 유효 데이터 윈도우 검출 신호 ZEDWR15 및 ZEDWF15에 따라서 데이터 비트 D60-D13에 대한 스트로브 타이밍을 조정한다. 일반적으로 타이밍 조정 회로(5-i)는 로컬 유효 데이터 검출 신호 ZEDWRi 및 ZEDWFi에 따라서 데이터 비트 D(4i)-D(4i+3)에 대한 스트로브 타이밍을 조정한다.
타이밍 조정 회로(5-0 ∼ 5-15) 각각에 대하여 스트로브 클럭 신호를 생성하는 스트로브 클럭 발생 회로(6-0 ∼ 6-15)가 설치된다. 스트로브 클럭 발생 회로(6-0)는 데이터 비트 D0-D3에 대한 스트로브 클럭 신호 CKSTF0 및 CKSTR0을 생성하고, 스트로브 클럭 발생 회로(6-15)는 데이터 비트 D60-D63에 대한 스트로브 클럭 신호 CKSTF15 및 CKSTR15를 생성한다. 타이밍 조정 회로(5-0 ∼ 5-15) 및 스트로브 클럭 발생 회로(6-0 ∼ 6-15)의 구성은 앞의 구성에서 최종 유효 데이터 윈도우 검출 신호 MDC_R 및 MDC_F 대신에 로컬 윈도우 검출 신호 ZEDW가 이용되면 된다.
도 26에 도시한 바와 같이, 4 비트의 데이터 단위로 스트로브 타이밍을 조정함으로써 보다 정확한 데이터의 취득을 행할 수 있다.
또, 데이터 비트는 바이트 단위로 스트로브 타이밍이 조정되어도 되며 또한 짝수 바이트 단위로 스트로브 타이밍이 조정되어도 된다. 다비트 데이터를 예를 들면 전원 핀이 공통으로 설치되는 복수 비트의 조로 분할하고, 각 조마다 스트로브 타이밍이 조정되면 된다.
이상과 같이, 본 발명의 실시 형태 1에 따르면 유효 데이터 윈도우를 검출하고, 그 유효 데이터 윈도우에 따라서 스트로브 클럭 신호의 타이밍을 조정하고 있고, 보드 실장 시에서 신호 전파 지연이 생겨도 정확하게 데이터를 취입할 수 있다. 또한, 메모리 디바이스에는 DLL은 설치되지 않고 단순히 메모리 컨트롤 유닛에서만 데이터 스트로브 타이밍을 조정하기 위한 회로가 설치될 뿐으로 메모리 디바이스의 가격 및 소비 전류가 저감된다.
[실시 형태 2]
도 27은 전송 데이터 파형의 다른 예를 나타내는 도면이다. 도 27에서는 클럭 신호 CLK의 상승에 동기하여, 데이터 비트 D0-D3이 전부 동시에 L 레벨에서 H 레벨로 상승하는 동시 전환 출력(SSO : simultaneous·swiching·output)에서는 데이터 비트의 상승이 지연된다. 메모리 디바이스의 전원(출력 회로 구동용 전원)이 충분한 전류 공급 능력을 가지고 있지 못한 경우, 데이터 비트를 출력하는 출력 버퍼의 동작 시 전원 전압이 저하하고, 데이터 비트를 고속으로 상승할 수 없게 된다. 따라서, 데이터 비트가 전부 동시에 L 레벨에서 H 레벨로 변화하는 경우, 유효 데이터 윈도우의 변화 시점이 지연되며 윈도우 폭이 좁아진다(유효 데이터 윈도우 폭은 상보 데이터쌍의 변화점에서 검출하고 있다).
도 28은 이 SSO 푸시아웃 검출 시에 인가되는 데이터 비트 패턴을 나타내는 도면이다. 도 28에서는 4 비트 데이터를 일례로서 나타낸다. SSO 푸시아웃을 검출하는 경우, 클럭 신호 CLK의 상승 엣지 RA에 대하여, 이 클럭 신호 CLK 전의 하강 엣지 FB에서, 데이터 D0-D3을 "0001"로 설정한다. 계속해서, 이 클럭 신호 CLK의 상승 엣지 RA에서 데이터 비트 D0-D3을 "1110"으로 설정한다. 다음의 클럭 신호의 하강에 있어서 데이터 비트 패턴은 임의이다. 이것은 SSO 푸시아웃을 검출하는 경우, 유효 윈도우의 선단부를 검출할 필요가 있어, 후연부의 검출은 필요없기 때문이다.
계속해서, 클럭 신호 CLK의 상승 엣지 RB에서 데이터 비트 D0-D3을 "0001"로 설정하고, 계속해서 클럭 신호 CLK의 하강 엣지 FA에서 데이터 비트 D0-D3을 "1110"으로 설정한다. 다음의 클럭 신호 CLK의 상승 엣지에서의 데이터 비트 패턴은 임의이다. 이 상승 엣지 RA 및 하강 엣지 FA에서 데이터의 비트의 변화 위치를 검출하여 SSO 푸시아웃을 검출한다. 여기서, 4 비트 데이터의 경우 1 비트만을 H 레벨("1")에서 L 레벨("0")로 변화하여 나머지 3 비트를 H 레벨("1")로 변화시키는 것은 L 레벨의 데이터 비트의 변화에 의해 가장 빠르게 데이터 비트를 변화시켜서, 이 상승의 지연을 확실하게 검출하기 때문이다.
도 29는 4 비트 데이터에 대한 SSO 푸시아웃 검출부의 구성의 일례를 나타내는 도면이다. 도 29에서, 데이터 비트 D3이 "1"에서 "0"으로 변화하고, 나머지 데이터 비트 D0-D2가 "0"에서 "1"로 변화하는 경우의 구성이 일례로서 나타낸다.
도 29에서, 푸시아웃 검출부는 전원 노드와 노드 NDA 간에 접속되는 고저항의 풀-업 저항 Z1과, 노드 NDA와 접지 노드 간에 직렬로 접속되며, 각각의 게이트에 데이터 비트 D0, D1 및 D2를 받는 N 채널 MOS 트랜지스터 Q20, Q21 및 Q22와, 전원 노드와 노드 NDB 간에 직렬로 접속되는 P 채널 MOS 트랜지스터 Q23 및 Q24와, 노드 NDB와 접지 노드 간에 접속되는 고저항의 풀-다운 저항 Z2를 포함한다. MOS 트랜지스터 Q23은 게이트에 데이터 비트 D3을 받아, MOS 트랜지스터 Q24는 게이트가 노드 NDA에 접속된다. 노드 NDB에서 푸시아웃 시의 변화 검출 신호 POD가 출력되며 도 9에 도시하는 래치 회로(24)에 주어진다.
도 30은 도 29에 도시하는 SSO 푸시아웃 검출부의 동작을 나타내는 신호 파형도이다. 이하, 도 29 및 도 30을 참조하여 SSO 푸시아웃 검출 동작에 대하여 설명한다.
시각 ta에서의 클럭 신호 CLK의 상승 엣지 이전에 데이터 비트 D0-D2를 L 레벨로 설정하고 데이터 비트 D3을 H 레벨로 설정한다. 계속해서, 클럭 신호 CLK의 상승으로, 데이터 비트 D0-D2가 H 레벨, 데이터 비트 D3이 L 레벨의 데이터를 메모리 디바이스로부터 판독한다. SSO 푸시아웃 동작 시에서 H 레벨에의 상승이 지연되며, 데이터 비트 D3가 먼저 L 레벨에 저하한 후에 데이터 비트 D0-D2가 H 레벨에 도달한다. SSO 푸시아웃 검출부에서는 시각 ta에서는 데이터 비트 D0-D2가 L 레벨이고, MOS 트랜지스터 Q20-Q22는 전부 오프 상태이며, 노드 NDA는 풀-업 저항 Z1에 의해 H 레벨에 프리차지되어 있다. 또한, 데이터 비트 D3이 H 레벨이며, MOS 트랜지스터 Q23이 오프 상태이고 또한 MOS 트랜지스터 Q24도 오프 상태이고, 노드 NDB는 풀-다운 저항 Z2에 의해 접지 전압 레벨로 유지된다.
시각 ta의 클럭 신호 CLK의 상승에 동기하여 전송 데이터 비트가 변화하면 우선 MOS 트랜지스터 Q23이 온 상태가 되고, 계속해서, MOS 트랜지스터 Q20-Q22가 데이터 비트 D0-D2에 따라서 온 상태가 되며 노드 NDA가 접지 전압 레벨에 방전된다. 이 노드 NDA가 L 레벨로 저하하면 MOS 트랜지스터 Q24가 온 상태가 되며, 노드 NDB가 MOS 트랜지스터 Q23 및 Q24를 통하여 충전되고, 푸시아웃 검출 신호 POD가 L 레벨에서 H 레벨로 상승한다. 이 푸시아웃 검출 신호 POD는 클럭 신호 CLK의 하강에 응답하여, 데이터 비트 D0-D3이 이 "1110"과 다른 패턴으로 변화했을 때 L 레벨로 하강한다.
푸시아웃 검출 신호 POD는 도 9에 도시하는 래치 회로(24)에 주어지며, 푸시아웃 검출 신호 POD의 전연과 클럭 신호 CLK의 상승 또는 하강의 타이밍 관계를 검출한다.
도 31은 유효 데이터 윈도우의 수정 동작을 개략적으로 나타내는 도면이다. 래치 회로(24)의 래치단에는 이 푸시아웃 검출 신호 POD와 클럭 신호 CLK의 타이밍 관계에 의해 "1" 또는 "0"이 래치된다. 레지스터 A에는 유효 데이터 윈도우 검출 신호 MDC(MDC_R 또는 MDC_F)에 따라서 래치단 LA에 "1"이 저장되며, 유효 데이터 윈도우의 선두 위치가 나타나고 있다. 레지스터 C에 이 푸시아웃 검출 신호 POD의전연에 대응하는 래치 LC에 "1"을 저장한다. 나머지 레지스터에는 "0"이 저장된다. 이 레지스터 A 및 레지스터 C에서 "1"을 저장하는 래치 LA 및 LC의 번호에 기초하여, 유효 데이터 윈도우의 수정 및 스트로브 타이밍의 수정이 행해진다. 유효 데이터 윈도우는 그 전연 위치가 (LC-LA)만큼 후퇴한다. 유효 데이터 윈도우 검출 신호에 기초하는 스트로브 타이밍은 (LA+ LB)/2로 나타난다. 따라서, 수정 스트로브 타이밍은 (LC+ LB)/2로 나타난다. 유효 데이터 윈도우의 후연의 위치가 수정되지 않지 않는 것은 이 푸시아웃에서는 전연의 변화 속도의 지연이 생기기 때문이다.
이 SSO 푸시아웃 검출 정보는 또한 각 메모리 디바이스마다 기억되며 메모리 디바이스가 미리 정해진 푸시아웃 조건을 만족하는지의 여부의 판정을 행해도 된다. 메모리 시스템의 신뢰성을 보증할 수 있다.
또, SSO 푸시아웃은 4 비트 단위로 검출하고 있다. 검출 신호는 최종 윈도우 검출 회로(12)에 주어지고 있다. 이 경우, 메모리 디바이스에서 공통의 전원선으로부터 전원 전압을 공급하는 출력 회로의 조 단위로 SSO 푸시아웃이 검출되어도 된다. 또한 전 비트에 대하여 동시에 SSO 푸시아웃(예를 들면, 64 비트의 경우, 63 비트를 "0"에서 "1"로 구동하고, 나머지의 1 비트를 "1"에서 "0"으로 구동한다)과 같이 구성되어도 된다.
이상과 같이, 본 발명의 실시 형태 2에 따르면 SSO 푸시아웃을 검출하도록 구성했기 때문에, 메모리 시스템의 신뢰성이 보증되며(푸시아웃의 시간이 크면, 고속 클럭에 동기하여 데이터 전송을 행할 수 없다) 또한 최적의 스트로브 타이밍을메모리 디바이스마다 설정할 수 있다.
[실시 형태 3]
도 32는 본 발명의 실시 형태 3에 따른 유효 데이터 윈도우의 분류를 나타내는 도면이다. 이 실시 형태 3에서는 유효 데이터 윈도우 정보는 3개의 단계 QoS1, QoS2 및 QoS3의 3단계로 분류한다. 레벨 QoS1은 셋업/홀드 시간이 모두 400㎰이다. 레벨 QoS2는 셋업 및 홀드 시간이 모두 600㎰이다. 레벨 QoS3은 셋업 및 홀드 시간이 모두 800㎰ 이상이다.
앞의 도 23에 도시하는 구성을 이용함으로써, 유효 데이터 윈도우의 영역을 추출할 수 있다. 이 유효 데이터 윈도우의 폭은 도 23에 도시하는 구성을 이용하는 경우, 래치 회로의 래치단 LB와 LA 간의 거리이다. 즉, 지연단의 지연 시간이 200㎰인 경우, 유효 데이터 윈도우의 폭은 200·(LB-LA+1)에 제공된다. 초기 설정 시의 레벨 QoS3에 대응하는 유효 데이터 윈도우 정보를 레지스터 회로에 스트로브 타이밍 정보와 함께 링크하여 저장한다. 시스템 상승 시에 초기 진단 모드로서 시스템 메모리 디바이스의 유효 데이터 윈도우를 검출한다. 시스템 동작 조건, 또는 메모리 디바이스의 열화 등에 의해 이 데이터 비트의 상승/하강 시간이 지연된 경우, 유효 데이터 윈도우의 폭이 작아진다. 이 유효 데이터 윈도우의 폭이 레벨 QoS2로 저하한 경우, 그 어드레스를 에러 레지스터에 저장한다. 레벨 QoS1의 상태가 된 경우, 정확한 데이터의 샘플링을 행할 수 없다고 판단하여, 메모리 컨트롤 유닛으로부터 시스템(CPU)에 통지하여 리세트를 행한다. 메인 메모리와 같은 프로그램 데이터를 저장하는 메모리 시스템에서의 프로그램 데이터의 파괴가 생기는 것을 방지한다.
도 33은 스트로브 타이밍 기억 회로(45)의 구성을 나타내는 도면이다. 이 스트로브 타이밍 기억 회로(45)는 앞의 실시 형태 1에서 도시한 바와 같이, 디바이스의 어드레스(번호)를 저장하는 영역(45aa)과, 뱅크명(어드레스)을 저장하는 영역(45ab)과 스트로브 타이밍을 저장하는 영역(45b)을 포함한다. 이 디바이스, 뱅크 및 스트로브 타이밍에 링크하여, 레벨 QoS3의 유효 데이터 윈도우 EDW 정보를 저장한다. 시스템 상승 시의 초기 진단 모드 시에 유효 데이터 윈도우가 검출된다. 레벨 QoS3의 값은 초기 설정되며 미리 고정적으로 정해진다. 이 메모리 디바이스의 각 어드레스에 대하여 미리 정해진 데이터 패턴(유효 윈도우 검출 회로는 상보 비트쌍에 의해 유효 윈도우 폭을 검출하고 있다)을 기입한 후에 이어서 판독하고, 각 어드레스의 유효 데이터 윈도우 폭을 검출한다(도 23의 구성을 이용). 각 유효 데이터 윈도우의 폭을, 초기 설정된 레벨 QoS3 또는 QoS2의 유효 데이터 윈도우의 폭과 비교하고, 그 비교 결과에 따라 도 34에 도시하는 에러 레지스터(50)에 억세스한다. 즉, 유효 데이터 윈도우가 레벨 QoS3이 규정하는 폭보다도 적은 레벨 QoS2의 경우에는 에러 레지스터(50)에 디바이스 및 뱅크를 특정하는 어드레스를 포함하는 어드레스 정보 #EAD를 저장한다. 각 디바이스에 대한 진단이 완료되면, 불량 즉 레벨 QoS2의 유효 윈도우 존재 시, 대응하는 메모리 디바이스를 예를 들면 보드로부터 추출하고 단체로 테스트한다. 즉 불량 어드레스로 억세스하여 데이터의 기입/판독을 행한다. 이 메모리 디바이스가 정상적으로, 동작하면 보드 상에서의 데이터 버스에 불량 원인이 존재한다고 판정한다.
도 35는 이 데이터 윈도우의 마진을 검출하기 위한 구성을 개략적으로 나타내는 도면이다. 도 35에서, 도 23에 도시하는 래치 회로(24)로부터의 래치 신호에 따라 유효 데이터 윈도우 폭을 산출하는 유효 윈도우 폭 산출 회로(52)와, 유효 윈도우 폭 산출 회로(52)에 의해 산출된 유효 윈도우 폭과 레지스터 회로(57)로부터 판독된 레벨 QoS2의 윈도우 폭을 비교하는 비교 회로(54)와, 유효 윈도우 폭 산출 회로(52)에 의해 산출된 유효 윈도우 폭과 레지스터 회로(58)에 설정된 레벨 QoS1에 상당하는 유효 윈도우 폭을 비교하는 비교 회로(56)를 포함한다.
유효 윈도우 폭 산출 회로(52)는 레지스터 A 및 B를 포함하고, 래치 회로(24)로부터 출력되는 "1"의 래치단의 위치의 선두 및 종단 래치 회로의 위치에서, 유효 데이터 윈도우 폭 (LB-LA+1)을 산출한다. 비교 회로(54)는 레벨 QoS2에 상당하는 윈도우 폭과 유효 윈도우 폭 산출 회로(52)에서의 유효 데이터 윈도우 폭을 비교한다. 이 비교 회로(54)가 유효 윈도우 폭 산출 회로(52)에서 산출된 유효 데이터 윈도우 폭이 레벨 QoS2보다도 낮은 것을 나타내는 경우에는 에러 레지스터(50)는 이 비교 회로(54)로부터의 에러 지시 신호에 따라 그 때의 어드레스 AD를 저장한다. 비교 회로(56)는 유효 윈도우 폭 산출 회로(50)에 의해 산출된 유효 데이터 윈도우 폭이 레벨 QoS1에 상당하는 유효 윈도우 폭보다도 작은 경우에는 윈도우의 마진이 적고 정확한 데이터 전송을 행할 수 없다고 판단하고, 리세트 신호 RST를 생성하고 시스템 리세트를 행한다.
또, 비교 회로(56)에 주어지는 레벨 QoS1에 상당하는 유효 데이터 윈도우 폭(래치 단수)은 레지스터(58)에 저장된다.
레벨 QoS2가 규정하는 셋업/홀드 시간의 600ps 이상이면, 정상적으로 동작한다고 판정된다. 레벨 QoS3에 따라, 유효 데이터 윈도우 폭을 초기 설정하고 앞의 스트로브 타이밍 검출 시, 유효 데이터 윈도우의 선단에서 그 레벨 QoS3이 규정하는 시간 폭의 유효 데이터 윈도우 영역을 검출하고, 이 영역의 중심점을 스트로브 타이밍으로서 결정하도록 구성되어도 된다. 유효 데이터 윈도우의 선두 위치에 대응하는 래치 LA의 번호와 레벨 QoS3이 지정하는 래치 단수를 가산하고, 그 평균치를 취함으로써 스트로브 타이밍을 제공하는 레지스터단의 번호를 특정할 수 있다.
또, 이 레벨의 셋업/홀드 시간은 다른 값이 이용되어도 된다. 데이터 전송율에 따라 적당하게 정해지면 된다. 이 L 레벨 검출 등 데이터 패턴은 상보 비트 패턴으로 설정하여 윈도우의 검출이 행해진다. 이것은 유효 데이터 윈도우 검출 회로가 상보 데이터 비트 패턴이 주어졌을 때만 유효 윈도우의 검출을 행할 수 있기 때문이다. 다음에, 일반적인 통상 동작 모드 시도 항상 이 셋업/홀드의 마진을 검출할 수 있는 구성에 대하여 설명한다.
[변경예 1]
도 36은 유효 데이터 윈도우 검출부의 변경예를 개략적으로 나타내는 도면이다. 도 36에서, 유효 데이터 윈도우 검출부는 데이터 비트 D0-D63 각각의 변화 시점을 검출하는 비트 변화 검출 회로(60)와, 비트 변화 검출 회로(60)의 출력 신호에 따라 클럭 신호의 상승 엣지에 동기하여 전송되는 데이터에 대한 유효 데이터 윈도우 검출 신호 DTD_R을 생성하는 상승 엣지 데이터 윈도우 검출 회로(65)와, 비트 변화 검출 회로(60)에서의 비트 변화 검출 신호에 따라, 하강 엣지에 동기하여전송되는 데이터의 유효 데이터 윈도우를 검출하는 하강 엣지 데이터 윈도우 검출 회로(70)를 포함한다.
상승 엣지 윈도우 검출 회로(65)는 상승 엣지에 동기하여 전송되는 데이터(상승 엣지 데이터)의 유효 데이터 윈도우 검출 신호 DTD_R이 L 레벨일 때 비트 변화 검출 회로(60)로부터의 변화 검출 신호를 전달하는 전송 회로(65a)와, 전송 회로(65a)의 출력 신호를 각각 래치하는 래치 회로(65b)와, 래치 회로(65b)에 의해 래치된 데이터에서 가장 느린 변화점을 검출하는 가장 느린 변화 검출 회로(65c)와, 상승 엣지 데이터의 유효 데이터 윈도우 검출 신호 DTD_R이 H 레벨일 때 비트 변화 검출 회로(60)의 출력 신호를 전송하는 전송 회로(65d)와, 전송 회로(65d)의 출력 신호를 래치하는 래치 회로(65e)와, 래치 회로(65e)의 출력 신호에 따라 이들의 데이터 비트 D0-D63의 가장 빠른 변화 시점을 검출하는 가장 빠른 변화 검출 회로(65f)와, 가장 느린 변화 검출 회로(65c)의 출력 신호의 상승에 응답하여 세트되며 또한 가장 빠른 변화 검출 회로(65f)의 출력 신호 상승에 응답하여 리세트되며 유효 데이터 윈도우 검출 신호 DTD_R을 출력하는 세트/리세트 플립플롭(65g)을 포함한다.
하강 엣지 데이터 윈도우 검출 회로(70)도 이 상승 엣지 데이터 윈도우 검출 회로(65)와 마찬가지의 구성을 구비한다. 가장 느린 변화 검출 회로 및 가장 빠른 변화 검출 회로에 대한 전송 회로의 활성화 타이밍이 다르다. 이 하강 엣지 데이터 윈도우 검출 회로(70)의 동작을 제어하기 위해, 유효 데이터 윈도우 검출 신호 DTD_R의 상승 엣지 응답하여 세트되며 또한 유효 데이터 윈도우 검출 신호 DTD_F의하강에 응답하여 리세트되는 세트/리세트 플립플롭(72)이 설치된다. 세트/리세트 플립플롭(72)의 출력 Q에서의 신호와 유효 데이터 윈도우 검출 신호 DTD_F에 의해 하강 엣지 데이터 윈도우 검출 회로(70)에 포함되는 전송 회로의 동작을 제어한다.
도 36에 도시하는 구성에서는 상승 엣지에 동기하여 데이터가 전송되며, 계속해서 하강 엣지에 동기하여 데이터가 전송된다. 또한 전송 회로(65a)가 비트 변화 검출 회로(60)로부터의 변화 검출 신호를 전송하여 래치 회로(65b)에 전달한다. 가장 느린 변화 검출 회로(65c)는 가장 느린 데이터 비트의 변화 시점을 검출하고 세트/리세트 플립플롭(65g)을 세트한다. 한편, 전송 회로(65d)는 이 유효 데이터 윈도우 검출 신호 DTD_R의 상승에 응답하여 활성화되며, 비트 변화 검출 회로(60)로부터의 출력 신호를 래치 회로(65e)에 전송한다. 가장 빠른 변화 검출 회로(65f)가 이 래치 회로(65e)에 래치된 데이터의 비트 중 가장 빠른 변화 시점을 검출하고, 세트/리세트 플립플롭(65g)을 리세트한다. 따라서, 클럭 신호의 상승 엣지에 동기하여 출력되는 데이터에 대하여 가장 느린 데이터 비트의 변화 시점에서 그 데이터 비트의 변화 시점 중 가장 빠른 변화 시점 간을 기간을 검출하고, 이 기간 유효 데이터 윈도우 검출 신호 DTD_R이 활성화된다.
하강 엣지 데이터 윈도우 검출 회로(70)에서는 이 상승 엣지에 동기하여 전송되는 데이터에 대한 유효 데이터 윈도우 검출 신호 DTD_R이 활성화되면 세트/리세트 플립플롭(72)이 세트되고, 그 출력 신호 DTR이 상승하여, 하강 엣지 데이터 윈도우 검출 회로(70)가, 비트 변화 검출 회로(60)의 출력 신호를 취입한다. 계속해서, 비트 변화 검출 신호에 따라서 가장 느린 변화 시점 및 가장 빠른 변화 시점을 각각 검출하고 신호 DTD_F를 활성화한다. 이에 따라, 클럭 신호의 하강 엣지에 동기하여 검출되는 데이터 비트에 대한 유효 윈도우를 검출할 수 있다.
도 37은 도 36에 도시하는 비트 변화 검출 회로(60)의 1 비트의 데이터 Di에 대한 비트 변화 검출기의 구성을 나타내는 도면이다. 도 37에서, 비트 변화 검출 회로(60)는 데이터 비트 Di를 소정 시간 지연하는 지연 회로(60a)와, 지연 회로(60a)의 출력 신호와 데이터 비트 Di를 받는 EXOR 게이트(60b)를 포함한다. EXOR 게이트(60b)에서 비트 변화 검출 신호 BTDi가 출력된다.
도 37에 도시하는 비트 변화 검출 회로에서는, 데이터 비트 Di가 변화하면 , 지연 회로(60a)가 갖는 지연 시간 동안, EXOR 게이트(60b)에 주어지는 신호의 논리 레벨이 다르고, 그 동안 비트 변화 검출 신호 BTDi가 H 레벨이 된다. 이에 따라, 데이터 비트 Di의 변화 시점을 검출할 수 있다.
도 38은 도 36에 도시하는 전송 회로(65a)의 구성을 나타내는 도면이다. 도 38에서, 전송 회로(65a)는 비트 변화 검출 신호 각각에 대응하여 설치되는 3상태 인버터 버퍼 회로를 포함한다. 도 38에서는 비트 변화 검출 신호 BTDi에 대하여 설치되는 3상태 인버터 회로(65aa)를 대표적으로 나타낸다. 이 3상태 인버터 버퍼 회로(65aa)는 유효 데이터 윈도우 검출 신호 DTD_R이 L 레벨일 때 활성화되며, 비트 변화 검출 신호 BTDi에 따라 내부 비트 변화 검출 신호 BTDii를 생성한다.
도 39는 도 36에 도시하는 래치 회로(65b)의 구성의 일례를 나타내는 도면이다. 도 39에서, 1 비트의 데이터에 대한 구성을 나타낸다. 도 39에서, 래치 회로(65b)는 대응하는 3상태 인버터 버퍼 회로(65aa)에서의 내부 비트 변화 검출신호 BTDii를 래치하는 인버터 래치(65ba)를 포함한다. 인버터 래치(65ba)는 내부 비트 변화 검출 신호 BTDii가 L 레벨일 때 비트 변화 검출 신호 BTDi를 전달하는 다이오드 접속된 P 채널 MOS 트랜지스터 TR0과, MOS 트랜지스터 TR0에서 주어진 신호를 반전하는 인버터 VG0과, 인버터 VG0의 출력 신호를 반전하여 인버터 VG0의 입력부에 전달하는 인버터 VG1을 포함한다. 인버터 VG0에서, 래치 비트 변화 검출 신호 LBTDi가 출력된다. 또, 이 인버터 래치(65ba)는 초기 상태에서는 이 래치 비트 변화 검출 신호 LBTDi가 H 레벨이 되도록 리세트된다(리세트 트랜지스터는 도시하지 않음). 다음에, 도 37 내지 도 39에 도시하는 회로의 동작을 도 40에 도시하는 신호 파형도를 참조하여 설명한다.
데이터 비트 Di가 변화하면, 도 37에 도시하는 비트 변화 검출 회로(60)에서 지연 회로(60a)가 갖는 시간 동안, 비트 변화 검출 신호 BTDi가 L 레벨에서 H 레벨로 상승한다. 이 비트 변화 검출 신호 BTDi가 상승하면, 3상태 인버터 버퍼 회로(65aa)에서의 내부 비트 변화 검출 신호 BTDii가 H 레벨에서 L 레벨로 하강한다. 이 내부 비트 변화 검출 신호 BTDii가 L 레벨로 하강하면, 인버터 래치(65ba)에서 MOS 트랜지스터 TR0이 도통하고, 인버터 VG0에서의 래치 비트 변화 검출 신호 LBTDi가 H 레벨로 상승한다. 내부 비트 변화 검출 신호 BTDii가 H 레벨로 하강하면, MOS 트랜지스터 TR0은 오프 상태를 유지하고, 래치 비트 변화 검출 신호 LBTDi가 H 레벨을 유지한다.
도 41은 도 36에 도시하는 가장 느린 변화 검출 회로(65c)의 구성을 개략적으로 나타내는 도면이다. 도 41에서, 가장 느린 변화 검출 회로(65c)는 4 비트의래치 비트 변화 검출 신호 LBTD 각각의 조에 대응하여 설치되는 NAND 회로 NG0-NG15와, 4개의 NAND 회로의 조 각각에 대응하여 설치되며, 대응하는 조의 4개의 NAND 회로의 출력 신호를 받는 4 입력 NOR 회로 NGR0-NGR3과, 이들의 NOR 회로 NGR0-NGR3의 출력 신호를 받는 4 입력 NAND 회로 NGA를 포함한다. NAND 회로 NGA에서 인버터를 통하여 선두 윈도우 변화 검출 신호 LEWR이 출력된다.
NAND 회로 NG0-NG15 각각은 4 입력이 전부 H 레벨이 되면 L 레벨의 신호를 출력한다. NOR 회로 NGR0-NGR3 각각은 대응하는 4 입력이 전부 L 레벨이 되면 H 레벨의 신호를 출력한다. 따라서, NAND 회로 NG0-NG15의 출력 신호는 대응하는 4 비트의 비트 변화 검출 신호의 가장 느린 변화에 응답하여 L 레벨로 하강한다. NOR 회로 NGR0-NGR3 각각은 대응하는 4개의 NAND 회로의 출력 신호 중 가장 느린 하강에 응답하여 그 출력 신호를 H 레벨로 상승한다. NAND 회로 NGA는 NOR 회로 NGR0-NGR3의 출력 신호의 가장 느린 상승에 응답하여 그 출력 신호를 L 레벨로 하강한다. 이 NAND 회로 NGA의 출력 신호를 반전함으로써, 가장 변화가 느린 비트 변화 검출 신호에 따라 선두 윈도우 변화 검출 신호 LEWR을 H 레벨로 상승한다.
도 42은 도 36에 도시하는 전송 회로(65d)의 구성을 나타내는 도면이다. 도 42에서 전송 회로(65d)는 데이터 윈도우 검출 신호 DTD_R의 H 레벨에 의해 활성화되며, 비트 변화 검출 신호 BTDi를 반전하여 내부 비트 변화 검출 신호 BTDit를 생성하는 3상태 인버터 버퍼 회로(65da)를 포함한다.
도 42에 도시하는 전송 회로(65d)의 구성은 앞의 도 38에 도시하는 전송 회로(65a)의 구성과 동일하고, 단순히, 전송 회로(65a)가 비활성화되면, 전송회로(65d)가 활성화되는 점이 다르다. 즉, 유효 데이터 윈도우의 선두가 검출된 시점에 이 전송 회로(65d)가 활성화되며 유효 데이터 윈도우의 후연부를 검출한다.
도 43은 도 36에 도시하는 래치 회로(65e)의 구성을 개략적으로 나타내는 도면이다. 도 43에서, 래치 회로(65e)는 대응하는 3상태 인버터 버퍼 회로(65da)에서의 내부 비트 변화 검출 신호 BTDit를 받는 다이오드 접속되는 P 채널 MOS 트랜지스터 TR1과, MOS 트랜지스터 TR1에서 주어지는 신호를 반전하여 래치 비트 변화 검출 신호 TBTDi를 생성하는 인버터 회로 VG2와, 인버터 회로 VG2의 출력 신호를 반전하여 인버터 회로 VG2의 입력부에 전달하는 인버터 회로 VG3을 포함한다. 이 전송 회로(65ea)는 데이터 비트 각각에 대응하여 설치한다.
도 44는 도 36에 도시하는 가장 빠른 변화 검출 회로(65f)의 구성을 나타내는 도면이다. 도 44에서, 가장 빠른 변화 검출 회로(65f)는 4 비트의 래치 비트 변화 검출 신호 TBTD의 조 각각에 대응하여 설치되는 회로 OGR0-OGR15와, OR 회로 OGR0-OGR15의 4개의 OR 회로의 조 각각에 대하여 설치되며, 대응하는 조의 OR 회로의 출력 신호를 받는 OR 회로 OGR16-OGR19와, OR 회로 OGR16-OGR19의 출력 신호를 받는 4입력 OR 회로 OGR20을 포함한다. OR 회로 OGR20에서 비트 변화 검출 신호 TEWR이 출력된다.
OR 회로 OGR0은 4 비트의 래치 비트 변화 검출 신호 TBTD0-TBTD3을 받아 OR 회로 OGR15는 4 비트의 래치 비트 변화 검출 신호 TBTD60-TBTD63을 받는다. 이 OR 회로는 H 레벨의 신호가 주어지면, 그 출력 신호를 H 레벨로 상승한다. 따라서, 가장 빠른 비트 변화가 OR 회로 OGR0-OGR15에 의해 각각 검출된다. OR 회로 OGR0-OGR19도 마찬가지로, 대응하는 4개의 OR 회로의 출력 신호의 가장 빠른 상승에 응답하여 그 출력 신호를 H 레벨로 상승한다. 최종단의 OR 회로 OGR20도 OR 회로 OGR16-OGR19의 출력 신호의 가장 빠른 상승에 응답하며 그 출력 신호 TEWR을 H 레벨로 상승한다. 그에 따라, 데이터 비트 D0-D63 중 가장 빠른 변화에 따라 윈도우 변화 검출 신호 TEWR이 H 레벨의 활성 상태로 구동된다.
도 45는 이 도 37 내지 도 44에 도시하는 상승 엣지 데이터 윈도우 검출 회로(65)의 동작을 나타내는 신호 파형도이다. 이하, 도 45를 참조하여, 도 37 내지 도 44에 도시하는 상승 엣지 데이터 윈도우 검출 회로(65)의 동작에 대하여 설명한다.
데이터 비트 D가 변화한 경우, 아직 유효 데이터 윈도우 검출 신호 DTD_R은 L 레벨이고, 전송 회로(65a)가 도통하여 비트 변화 검출 회로(60)로부터의 비트 변화 검출 신호를 래치 회로(65b)에 전달한다. 가장 느린 변화 검출 회로(65c)에서의 선두 윈도우 변화 검출 신호 LEWR이 래치 비트 변화 검출 신호 LBTD(LBTDi)의 가장 느린 변화에 응답하여 H 레벨로 상승한다. 이 선두 윈도우 변화 검출 신호 LEWR이 H 레벨로 상승하면, 도 36에 도시하는 세트/리세트 플립플롭(65g)이 세트되며, 유효 데이터 윈도우 검출 신호 DTD_R이 H 레벨로 상승한다. 이 유효 데이터 윈도우 검출 신호 DTD_R이 H 레벨로 상승하면, 전송 회로(65a)가 비활성화되며, 비트 변화 검출 신호는 모두 L 레벨로 하강하고 있어 데이터 비트는 가장 빠르게 변화하지 못한다. 계속해서, 데이터 비트가 변화하면, 비트 변화 검출 신호 TBTD(TBTDi)의 가장 빠른 변화에 응답하여 가장 빠른 변화 검출 회로(65f)에서의후연 윈도우 변화 검출 신호 TEWR이 H 레벨로 상승한다. 이 후연 윈도우 변화 검출 신호 TEWR의 활성화에 응답하여, 세트/리세트 플립플롭(65g)이 리세트되며, 유효 데이터 윈도우 검출 신호 DTD_R이 L 레벨로 상승한다. 클럭 엣지에 동기하여 전송되는 데이터 비트의 유효 데이터 윈도우를 검출할 수 있다.
도 46은 도 36에 도시하는 하강 엣지 데이터 윈도우 검출 회로(70)의 입력부의 구성을 나타내는 도면이다. 도 46에서, 하강 엣지 데이터 윈도우 검출 회로(70)는 세트/리세트 플립플롭(72)에서의 기간 검출 신호 DTR 및 보상 기간 검출 신호 ZDTR에 응답하여 비트 변화 검출 회로(60)에서의 비트 변화 검출 신호 BTDi를 전달하는 트랜스미션 게이트(70i)와, 유효 데이터 윈도우 검출 신호 DTD_F가 L 레벨일 때 활성화되어 트랜스미션 게이트(70i)에서의 신호를 반전하는 3상태 인버터 버퍼(70aa)를 포함하는 전송 회로(70a)와, 유효 데이터 윈도우 검출 신호 DTD_F가 H 레벨일 때에 활성화되고, 트랜스미션 게이트(70i)에서의 비트 변화 검출 신호를 반전하여 다음단의 래치 회로에 전송하는 전송 회로(70d)를 포함한다. 이 전송 회로(70d)는 데이터 비트 변화 검출 신호 BTDi에 대응하여 설치되며, 윈도우 검출 신호 DTD_F가 H 레벨일 때의 활성화되어 비트 변화 검출 신호를 반전하는 3상태 인버터 버퍼 회로(70da)를 포함한다.
이 하강 엣지 데이터 윈도우 검출 회로(70)의 전송 회로(70a, 70d)에서 이후의 회로 구성은 도 36에 도시하는 상승 엣지 윈도우 검출 회로(65)의 회로 구성과 동일하다.
도 47은 이 도 46에 도시하는 데이터 윈도우 검출 회로의 동작을 나타내는신호 파형도이다. 데이터 D의 비트가 변화하면 우선 처음에는 가장 느린 데이터 비트의 변화에 응답하여, 유효 데이터 윈도우 검출 신호 DTD_R이 H 레벨로 상승한다. 유효 데이터 윈도우 검출 신호 DTD_R이 H 레벨로 상승하면, 도 36에 도시하는 플립플롭(72)이 세트되며, 기간 검출 신호 DTR이 H 레벨로 상승한다. 이 기간 검출 신호 DTR가 H 레벨로 상승하면, 도 46에 도시하는 트랜스미션 게이트(70i)가 도통하고, 비트 변화 검출 신호 BTDi를 하강 엣지 데이터 윈도우 검출 회로(70) 내에 취입한다. 이 때, 비트 변화 검출 신호 BTDi는 전부 L 레벨로 변화하고 있고 하강 엣지 윈도우 검출 회로(70)의 출력 신호는 변화하지 못한다. 가장 빠른 데이터 비트의 변화에 응답하여 유효 데이터 윈도우 검출 신호 DTD_R이 L 레벨로 하강하고, 클럭 신호의 상승 엣지에 전송되는 데이터의 유효 윈도우가 검출된다. 이 때, 또한 트랜스미션 게이트(70i)가 도통하고 있고, 하강 엣지 데이터 윈도우 검출 회로(70)가 검출 동작을 행하고, 가장 느린 데이터 비트의 변화에 응답하여 유효 데이터 윈도우 검출 신호 DTD_F를 H 레벨로 상승한다.
유효 데이터 윈도우 검출 신호 DTD_F가 H 레벨로 상승하면, 전송 회로(70a)가 비활성화되며 한편, 전송 회로(70d)가 활성화되어, 다음의 데이터 비트의 변화를 기다린다. 다시 데이터 비트가 변화하면, 이 전송 회로(70d) 이후에 설치된 가장 빠른 변화 검출 회로에 의해 데이터 비트의 가장 빠른 변화가 추출되며, 이 데이터 비트의 변화에 응답하고, 유효 데이터 윈도우 검출 신호 DTD_F가 L 레벨로 하강한다. 또한 이 유효 데이터 윈도우 검출 신호 DTD_F가 L 레벨로 하강하면 세트/리세트 플립플롭(72 ; 도 36 참조)이 리세트되며, 트랜스미션 게이트(70i)가 비도통 상태가 되며, 하강 엣지 데이터 윈도우 검출 회로(70)가 비트 변화 검출 회로(60)로부터 분리된다.
상승 엣지 데이터 윈도우 검출 회로(70)의 검출 동작 시, 유효 데이터 윈도우 검출 신호 DTD_R이 L 레벨로, 전송 회로(65a)가 활성화되며, 다시, 이 유효 데이터 윈도우 검출 신호 DTD_R이 활성화하는 것이 고려된다. 이 때문에, 도 48에 도시한 바와 같이, 유효 데이터 윈도우 검출 신호 DTD_R의 하강으로 세트되며 또한 기간 검출 신호 DTR의 하강으로 리세트되는 플립플롭(75)을 설치하고, 이 플립플롭(75)의 출력 신호를 트랜스미션 게이트(76)의 제어 게이트에 주어진다. 트랜스미션 게이트(76)를, 전송 회로(65a, 66b)의 전단에 설치한다. 이에 따라, 하강 엣지 데이터 검출 회로(70)의 검출 동작 시, 상승 엣지 데이터 윈도우 검출 회로(65)의 검출 동작을 정지시킬 수 있다.
도 36에서 이후에 도시하는 구성을 이용함으로써, 임의의 데이터 비트의 변화에 따라서, 유효 데이터 윈도우를 검출할 수 있어 항상, 유효 데이터 윈도우 영역의 폭을 검출하여, 레벨 QoS1-QoS3의 레벨 판정을 항상 행할 수 있어 시스템의 안전성을 보증할 수 있다.
또, 이 검출 동작은 1 클럭 사이클 기간만 적당하게 추출하여 행하도록 구성되어도 된다. 즉, 유효 데이터 윈도우 검출 신호 DTD_R 및 DTD_F가 각각 1회씩 유효 윈도우 폭이 검출되는 기간만 활성화하도록 구성되어도 된다. 데이터 스트로브 타이밍은 통상 동작 모드 시 이미 조정되어 있어, 1 클럭 사이클 기간만 테스트 모드 신호에 의해 유효 데이터 윈도우를 검출하는 동작을 행하도록 구성하면 된다.
[변경예 2]
도 49는 본 발명의 실시 형태 3의 변경예 2를 나타내는 도면이다. 이 도 49에 도시한 바와 같이, 변경예 2에서는 셋업/홀드 시간의 마진으로서, 레벨 QoS0은 셋업 시간 및 홀드 시간이 모두 100㎰로 설정된다. 레벨 QoS1 및 레벨 QoS2는 앞의 실시 형태 3과 마찬가지로, 각각 셋업/홀드 시간이 200㎰ 및 400㎰이다.
레벨 QoS2에 따라, 유효 데이터 윈도우 폭을 설정한다. 유효 데이터 윈도우 폭이 레벨 QoS1에까지 저하하면, 그 때의 데이터 패턴 및 어드레스를 도 34에 도시하는 에러 레지스터에 저장한다. 이 때, 앞의 도 36 이후에서 도시한 회로를 이용함으로써, 임의의 데이터 패턴의 유효 데이터 윈도우를 검출할 수 있다. 유효 데이터 윈도우가 레벨 QoSO에까지 저하하면 메모리 컨트롤 유닛은 시스템(CPU)에 대하여 시스템 리세트를 행한다.
레벨 QoS1로 동작시킨 경우, 레벨 QoSO과 레벨 QoS1 간의 셋업/홀드 시간을 갖는 데이터도 전송된다. 이 경우, 데이터 "0" 및 "1"의 오판정이 생길 가능성이 있다. 그러나, 그래픽 데이터와 같이 대량의 데이터를 사용하고, 부분적으로 데이터 "0" 및 "1"이 잘못되어도 그 영향이 작은 경우에는 이 메모리 시스템은 사용할 수 있다.
이 도 32에 도시하는 클래스 및 도 49에 도시하는 클래스는 유효 데이터 윈도우의 사이즈를 설정하고 있고, 이 유효 데이터 윈도우의 사이즈에 의해 데이터 전송율을 설정할 수 있다.
도 50은 도 49에 도시하는 신호 품질을 이용했을 때의 신호 파형의 상한 전송 가능 파형을 나타내는 도면이다. 도 50에서, 이 신호의 상승 및 하강 시간 각각 250㎰이다. 레벨 QoS1까지는 신호 품질은 보증되어 있어 정확한 데이터 전송을 행할 수 있다. 따라서 셋업 시간 및 홀드 시간은 모두 200㎰이다. 따라서, 이 신호의 데이터 윈도우는 900㎰가 된다. 이 경우의 전송율은 1/900㎰=1.11G비트/sec가 된다.
이 도 50에 도시하는 신호 파형은 유효 데이터 윈도우의 파형으로, 핀 간의 신호 스큐우를 포함하고 있다. 따라서, 실제로는 이 파형보다도 각 핀에서 출력되는 신호의 셋업/홀드 시간은 길고, 실제의 전송율은 전술한 1.11G비트/sec보다도 낮아진다.
도 51은 본 발명의 실시 형태 3의 변경예 2에 따른 메모리 시스템의 구성예를 나타낸 도면이다. 도 51에서, 메모리 컨트롤 유닛(2)과 메모리 디바이스(1)는 공통 데이터 버스(4)를 통하여 결합된다. 공통 데이터 버스(4)는 각각이 64 비트인 데이터를 전송하는 서브 데이터 버스(4a-4d)를 갖는다. 메모리 디바이스(1)가 4개인 메모리칩을 포함하는 메모리 모듈로 구성되는 경우, 이 서브 데이터 버스(4a-4d)에 각각 대응하여 메모리칩이 설치되며, 각 메모리칩이 64 비트 단위의 데이터의 전송을 행한다.
이 메모리 시스템에 있어서, 도 50에 따른 신호 파형을 이용하는 경우, 데이터 전송율은 1, 11.256=284G비트/sec가 된다. 따라서, 이 신호 품질을 나타내는 레벨 QoS의 셋업/홀드 시간을 설계자가 적당하게 정함으로써, 전송 데이터의 유효 윈도우 폭이 결정되며, 따라서 메모리 시스템의 데이터 전송율을 결정할 수 있다.
이상과 같이, 본 발명의 실시 형태 3에 따르면, 신호 품질을 그 셋업/홀드 시간에 임의로 설정할 수 있도록 구성하고 있어 또한 이 신호 품질이 저하하면 시스템 리세트 또는 에러 어드레스를 기억한 바와 같이 구성하고 있기 때문에, 신호 품질을 저하시키지 않고 데이터 전송율을 높게 할 수 있다.
[실시 형태 4]
도 52는 본 발명의 실시 형태 4에 따른 데이터 처리 시스템의 전체의 구성을 개략적으로 나타내는 도면이다. 이 도 52에 도시하는 데이터 처리 시스템에서는 메모리 컨트롤 유닛(2)이 논리(또는 프로세서 ; 104)와 동일 칩 상에 집적화된다. 이 처리 장치(100)는 클럭 발생기(3)로부터의 클럭 신호(시스템 클럭) CLK를 받아서, 이 시스템 클럭 CLK를 주파수 체배한 내부 동작 클럭 신호 PCLK를 형성하는 PLL(위상 동기 회로 ; 102)을 포함한다. 이 PLL(102)로부터의 동작 클럭 신호 PCLK는 예를 들면 1㎓의 주파수를 가지며, 논리(104)의 처리 속도를 결정한다. 즉, 논리(104)는 이 동작 클럭 신호 PCLK에 의해 처리 사이클이 결정되며, 이 동작 클럭 신호 PCLK에 동기하여 처리를 실행한다. 이 PLL(102)로부터의 논리용 동작 클럭 신호 PCLK가 또한 스트로브 타이밍 조정 회로(110)에 주어진다. 스트로브 타이밍 조정 회로(110)는 메모리 디바이스(1a-1n)에서 판독되는 데이터 Dc를 받아, 논리용 동작 클럭 신호 PCLK에 따라서, 유효 데이터 기간을 검출한다. 스트로브 타이밍 조정 회로(110)는 또한 검출된 유효 데이터 기간에 따라 실시 형태 1과 마찬가지로, 스트로브 타이밍을 결정하고, 입력 회로(7)가 데이터를 취입하기 위한 스트로브 신호를 생성한다.
메모리 디바이스(1a-1n)의 출력 회로(9a-9n)에서는 또한 데이터 버스(4) 상에의 데이터 Dc의 송출과 동시에, 데이터 취입 타이밍을 나타내는 스트로브 신호 STROBE(또는 STROBE#)를 전달한다. 이 스트로브 신호 STROBE(또는 STROBE#)는 메모리 디바이스(1a-1n)에서의 데이터 출력 시, 대응하는 메모리 디바이스에서 출력 클럭 신호에 동기하여 생성되며, 메모리 디바이스(1a-1n)에서의 데이터의 취입 타이밍을 결정한다. 따라서, 스트로브 신호선(105) 상을 전달하는 스트로브 신호 STROBE(및 STROBE#)와 판독 데이터 Dc는 동일 방향을 따라 메모리 컨트롤 유닛(2)에 전달된다. 그러나, 이 메모리 디바이스(1a-1n)가 소켓에 삽입되는 경우, 소켓으로의 삽입의 방법으로, 신호선의 임피던스가 다르며 또한 보드 상 배선의 배치에 의해 각 신호선의 임피던스가 다르다. 따라서, 판독 데이터 Dc와 스트로브 신호 STROBE(및 STROBE#)에서도 스큐우가 존재한다. 여기서, 스트로브 신호 STROBE 및 STROBE#은 모두 상보인 신호이다.
도 53은, 도 52에 도시하는 스트로브 타이밍 조정 회로(110) 및 입력 회로의 구성을 개략적으로 나타내는 도면이다. 도 53에서는 4 비트의 판독 데이터 DQ에 대한 입력 회로 및 스트로브 타이밍 조정 회로의 구성을 나타낸다. 그러나, 메모리 디바이스로부터 64 비트의 데이터가 전송되는 경우, 앞의 실시 형태 1에서와 같이 4 비트 단위로 스트로브 타이밍이 조정되거나 또한 바이트 단위라도 상관없고 전원 핀이 공통인 데이터 비트 단위라도 좋고 또한 합계 64 비트의 데이터에 대하여 공통으로, 이 스트로브 타이밍 조정 회로(110)에 의해 그 타이밍이 조정되어도 좋다(실시 형태 1에서의 최종 윈도우 검출 신호를 사용하는 구성과 마찬가지임).이하에서는 설명을 간단히 하기 위하여 4 비트의 데이터에 대하여 설명한다.
입력 회로(7)는 메모리 디바이스로부터 전송된 데이터 DQ를 증폭하여, CMOS 레벨(디지털치)의 신호로 변환하는 증폭 회로(증폭기 ; 107a)와, 스트로브 타이밍 조정 회로(110)로부터 출력되는 수정 스트로브 트리거 신호 CPTR에 따라 증폭기(107a)의 출력 신호를 래치하여 내부 데이터 비트를 생성하는 데이터 래치(107b)를 포함한다. 메모리 디바이스에서 판독되는 데이터 DQ는 데이터 버스(4)를 통하여 전송되기 때문에, 그 파형의 왜곡 또는 소진폭에 의해 아날로그 신호가 된다. 증폭기(107a)를 이용하여, 이 아날로그 신호의 데이터 DQ를 증폭하여 디지털 신호로 변환한다.
스트로브 타이밍 조정 회로(110)는 증폭기(107a)의 출력 데이터 비트와 스트로브 신호 STROBE를 받아, 프로세서 내부 동작 클럭 신호 PCLK에 따라 시프트 동작을 행함과 함께, 통상 데이터 판독 모드 시에서는 수정 스트로브 트리거 신호 CPTR을 생성하는 시프터/클럭 발생 회로(114)와, 모니터 모드 시에서는 이 시프터/클럭 발생 회로(114)의 유효 윈도우 폭에 기초하여 최적 스트로브 타이밍을 결정하고, 통상 동작 모드 시(데이터 판독 시)에서는 이 검출한 스트로브 타이밍에 따라 시프터/클럭 발생 회로(114)에 스트로브 타이밍을 설정하는 스트로브 타이밍 산출 회로(116)를 포함한다. 이 스트로브 타이밍 산출 회로(116)는 스트로브 타이밍 결정을 위한 레지스터 회로를 포함한다. 다음에, 이 실시 형태 4에서의 유효 데이터 윈도우 검출 동작에 대하여 설명한다.
유효 데이터 윈도우 검출 시에서는 앞의 실시 형태 1과 마찬가지로, 데이터010101 …이 핀 번호 0123 …의 데이터 단자로부터 출력된다. 이들의 데이터 비트는 클럭 신호 CLK의 상승 엣지 및 하강 엣지로 전송되며, 각 엣지마다, 1개의 핀에 대한 데이터 비트의 논리 레벨이 반전한다. 즉 짝수 번호의 핀 단자와 홀수 번호의 핀 단자로부터 출력되는 데이터 비트는 항상 논리 레벨이 반대이다.
도 54는 유효 데이터 윈도우와 스트로브 신호와의 대응 관계를 개략적으로 나타내는 도면이다. 스트로브 신호 STROBE에 동기하여 메모리 디바이스로부터 데이터 비트군 D<gr>이 메모리 컨트롤 유닛에 주어진다. 이 스트로브 신호 STROBE와 데이터 비트군 D<gr> 간에는 신호선 임피던스의 변화 등에 의해 스큐우가 존재한다. 이 데이터 비트군 D<gr>은, 예를 들면 도 53에 도시하는 구성에서 4 비트의 데이터로, 실시 형태 1과 마찬가지의 아이 패턴을 가지고 있다. 스트로브 신호 STROBE는 메모리 디바이스로부터의 출력 시 클럭 신호 CLK와 위상 동기한 신호이다. 메모리 디바이스에서 출력 회로는 데이터 판독 시, 출력 인에이블 신호에 의해 활성화되며 클럭 신호를 데이터 비트와 함께 송출하기 때문이다.
따라서, 스트로브 신호 STROBE가 H 레벨일 때에 전송되는 데이터 비트는 클럭 신호 CLK의 상승에 동기하여 전송되는 데이터 비트이고, 한편 스트로브 신호 STROBE가 L 레벨일 때(스트로브 신호 STROBE#이 H 레벨일 때)에 전송되는 데이터 비트는 클럭 신호 CLK의 하강 엣지에 동기하여 전송되는 데이터 비트이다. 이들의 스트로브 신호 STROBE의 H 레벨 기간 및 L 레벨 기간에서 유효 데이터 윈도우 검출 신호 EDW_R 및 EDW_F를 검출한다. 이 유효 데이터 윈도우 검출 신호 EDW_R 및 EDW_F 각각의 중심점을 스트로브 타이밍으로서 결정한다. 이에 따라, 스트로브 신호 STROBE에 동기하여 전송되는 데이터 비트가 형성하는 아이 패턴 내의 중심점에서 데이터 비트의 스트로브를 행할 수 있어, 셋업 시간 Ts(tsu) 및 홀드 시간 Th(th)를 함께 같게 할 수 있어 충분한 여유를 가지고 정확하게 데이터의 취득을 행할 수 있다.
도 55는 도 53에 도시하는 윈도우 검출 회로(112)의 구성의 일례를 나타내는 도면이다. 도 55에서, 윈도우 검출 회로(112)는 데이터 비트 D0 및 D1을 받는 EXOR 회로(112a)와, 데이터 비트 D2 및 D3을 받는 EXOR 회로(112b)와, 스트로브 신호 STROBE와 EXOR 회로(112a)의 출력 신호를 받아서 프리미티브 윈도우 검출 신호 EDR01을 생성하는 AND 회로(112c)와, 스트로브 신호 STROBE와 EXOR 회로(112a)의 출력 신호를 받아서 프리미티브 윈도우 검출 신호 EDF01을 생성하는 게이트 회로(112d)와, 스트로브 신호 STROBE와 EXOR 회로(112b)의 출력 신호를 받아서 프리미티브 윈도우 검출 신호 EDR23을 생성하는 AND 회로(112e)와, 스트로브 신호 STROBE와 EXOR 회로(112b)의 출력 신호를 받아서 프리미티브 윈도우 검출 신호 EDF23을 생성하는 게이트 회로(112f)를 포함한다. 게이트 회로(112d, 112f)는 스트로브 신호 STROBE가 L 레벨일 때 인에이블되며, 대응하는 EXOR 회로(122a, 122b)의 출력 신호에 따라, 대응하는 프리미티브 윈도우 검출 신호 EDF01 및 EDF23을 H 레벨로 구동한다.
EXOR 회로(112a, 112b)는 불일치 검출 회로이고, 데이터 비트의 쌍 D0 및 D1 또는 D2 및 D3의 논리 레벨이 다를 때에 H 레벨의 신호를 출력한다.
윈도우 검출 회로(112)는 또한 AND 회로(112c, 112e)에서의 프리미티브 윈도우 검출 신호 EDR01 및 EDR23을 받아서 유효 윈도우 검출 신호 EDW_R을 생성하는 AND 회로(112g)와, 게이트 회로(112d, 112f)를 출력하는 프리미티브 윈도우 검출 신호 EDF01 및 EDF23을 받아서 유효 윈도우 검출 신호 EDW_F를 생성하는 AND 회로(112h)를 포함한다.
유효 윈도우 검출 신호 EDW_R은 클럭 신호 CLK의 상승에 동기하여 전송되는 데이터 비트에 대한 유효 윈도우 영역을 나타내고 유효 윈도우 검출 신호 EDW_F는 클럭 신호 CLK의 하강에 동기하여 전송되는 데이터 비트의 유효 윈도우 영역을 나타낸다. 다음에, 이 도 55에 도시하는 윈도우 검출 회로(112)의 동작을 도 56에 도시하는 신호 파형도를 참조하여 설명한다.
짝수 데이터 비트 D0 및 D2와 홀수 데이터 비트 D1 및 D3은 그 논리 레벨이 반대이고 또한 각 클럭 신호의 상승 및 하강 엣지로 이들의 논리 레벨이 변화한다. 이것은 앞의 실시 형태 1에서의 구성과 동일하다.
EXOR 회로(112a, 112b)는 주어지는 데이터 비트의 논리 레벨이 다를 때에 H 레벨의 신호를 출력한다. 클럭 신호 CLK의 상승에 동기하여 전송되는 데이터에 대하여 스트로브 신호 STROBE는 H 레벨이다. 따라서, AND 회로(112c, 112e)에서의 프리미티브 윈도우 검출 신호 EDR01 및 EDR23에 따라 유효 윈도우 검출 신호 EDW_R이 생성된다. 여기서, 도 56에서는 스트로브 신호 STROBE가 데이터 비트 D0과 거의 동일하게 변화하도록 나타낸다. 이 스트로브 신호 STROBE가 데이터 비트 전부 크게 위상이 어긋나 있는 경우에는 이들의 유효 윈도우의 폭이 따라 다르다. 어느 하나에서도 스트로브 신호 STROBE의 H 레벨 기간 내에서 전 데이터 비트가 확정되어 있는 영역을 검출할 수 있다.
한편, 스트로브 신호 STROBE가 L 레벨일 때에는 게이트 회로(112d, 112f)가 EXOR 회로(112a, 112b)의 출력 신호에 따라, 프리미티브 윈도우 검출 신호 EDF01 및 EDF23을 생성한다. 이 경우에는 AND 회로(112h)에서 유효 윈도우 검출 신호 EDW_F는 데이터 비트가 전부 확정 상태에 있는 기간 H 레벨이 된다. 따라서, 스트로브 타이밍을 결정하는 모니터 모드에서는 메모리 디바이스에서의 데이터 비트 패턴을 체커 보드형 패턴으로 설정함으로써, EXOR 회로를 이용하여, 유효 윈도우 검출 신호를 데이터 비트가 확정 상태에 있는 기간 활성 상태로 할 수 있다. 또한, 스트로브 신호 STROBE를 이용함으로써, 스트로브 신호 STROBE가 활성 상태(H 레벨 기간 또는 L 레벨 기간)의 기간에서 데이터 비트가 확정되고 있는 기간의 검출을 행할 수 있다. 통상의 데이터 판독 모드 시, 스트로브 신호를 기준으로서 최적 스트로브 타이밍을 설정할 수 있다.
[윈도우 검출 회로의 변경예]
도 57은 윈도우 검출 회로(112)의 변경예의 구성을 나타내는 도면이다. 도 57에 도시하는 윈도우 검출 회로(112)에서는 스트로브 신호 STROBE 및 그 반전 신호 STROBE#이 이용된다. 즉, 도 55에 도시하는 게이트 회로(112d, 112f) 대신에 보상 스트로브 신호 STROBE#을 제1 입력에 받는 AND 회로(112i , 112j)가 설치된다. 이들의 AND 회로(112i, 112j)의 제2 입력에는 각각 EXOR 회로(112a, 112b)의 출력 신호가 주어진다. 다른 구성은 도 55에 도시하는 구성과 동일하다.
도 57에 도시하는 구성의 경우, 상보인 스트로브 신호 STROBE 및 STROBE#을이용한다. 프리미티브 윈도우 검출 신호 EDF01 및 EDF23에 대하여, 스트로브 신호 STROBE 대신에, 보상 스트로브 신호 STROBE#을 이용함으로써, 모든 프리미티브 윈도우 검출 신호에 대하여 게이트 지연을 동일하다고 할 수 있어, 정확한 유효 윈도우 검출을 행할 수 있다[게이트 회로(112d, 112f)에서의 신호 반전을 위한 게이트 1단의 지연이 없어져 그 영향을 억제할 수 있다].
도 58은 메모리 디바이스의 출력 회로(9)의 구성을 개략적으로 나타내는 도면이다. 도 58에서, 메모리 디바이스는 클럭 신호 CLK의 상승 및 하강에 동기하여 변화하는 2상의 클럭 신호 CLKE 및 CLKO(CLKE/O)를 생성하는 클럭 회로(118)와, 클럭 회로(118)로부터의 클럭 신호 CLKE/O 및 출력 인에이블 신호 OE에 따라서 내부 판독 데이터 Din을 순차 전송하여 외부 판독 데이터 Q를 생성하는 출력 회로(120)와, 출력 인에이블 신호 OE의 활성화 시, 클럭 신호 CLK를 외부로 송출하여 스트로브 신호 STROBE를 생성하는 클럭 출력 회로(122)를 포함한다.
클럭 신호 CLKE/O는 클럭 신호 CLK의 상승 엣지 및 하강 엣지로 각각 H 레벨이 되는 신호이고, 출력 회로(120)는 내부에서 병렬로 판독된 2 비트 데이터를 상보적인 클럭 신호 CLKE 및 CLKO에 따라서 직렬로 출력한다. 이에 따라, 클럭 신호 CLK의 상승 엣지 및 하강 엣지에 동기하여 데이터 비트 Q가 출력된다.
클럭 출력 회로(122)는 이 클럭 신호 CLK를 출력 인에이블 신호 OE의 활성화 시 버퍼 처리하여 외부에 출력한다. 따라서, 스트로브 신호 STROBE는 데이터 비트 Q와 메모리 디바이스측에서는 동기한 신호이다. 도중 신호 배선의 임피던스의 차이 등에 의해 메모리 컨트롤 유닛에 도달한 경우에, 이 스트로브 신호 STROBE와 데이터 비트 Q 간에 스큐우가 생긴다.
이 스트로브 신호 STROBE를 이용하여, 유효 데이터 윈도우 영역을 검출함으로써 스트로브 신호가 규정하는 기간 안에서 유효 데이터가 존재하는 영역을 검출할 수 있어 보다 정확한 유효 데이터 윈도우 영역 및 스트로브 타이밍의 결정을 행할 수 있다. 또한, 통상의 데이터 판독 모드 시에 스트로브 신호를 기준으로 하여 스트로브 타이밍을 설정할 수 있다.
도 59는 스트로브 트리거 신호 발생부 및 스트로브 타이밍 산출부의 구성을 개략적으로 나타내는 도면이다. 도 59에서, 이 스트로브 타이밍 산출부는 테스트 모드 시 활성화되는 모니터 마스크 지시 신호 MMSK와, 유효 윈도우 검출 신호 EDW_R을 받는 AND 회로(125)와, 노멀 리드 지시 신호 NREAD와 스트로브 신호 STROBE를 받는 AND 회로(126)를 포함한다. 이들의 AND 회로(125, 126)의 출력은 와이어드 OR 접속된다. AND 회로(125)로부터, 최종 유효 윈도우 검출 신호 MDC가 생성된다.
스트로브 타이밍 산출부는 또한 프로세서 내부 동작 클럭 신호 PCLK와 AND 회로(125, 126)의 출력 신호를 받아서 시프트 클럭 신호 SFCK를 생성하는 AND 회로(127)와, 시프트 클럭 신호 SFCK의 상승 및 하강 엣지에 동기하여 시프트 동작을 행하는 스트로브 레지스터(130)를 포함한다. 이 스트로브 레지스터(130)는 시프트 클럭 신호 SFCK의 상승 및 하강 엣지로 시프트 동작하는 복수의 시프트 회로(130a)를 포함한다.
스트로브 타이밍 산출부는 또한 이 스트로브 레지스터(130)의 각 시프트 회로(130a)에 저장된 데이터 비트를 전송 지시 신호 XFR에 응답하여 받아 저장하는 일시 레지스터(132)를 포함한다. 이 일시 레지스터(132)에는 스트로브 레지스터(130)의 시프트 회로(130a) 각각에 대응하는 레지스터 회로(132a)가 설치된다. 일시 레지스터(132)에 저장된 데이터를 이용하여 스트로브 타이밍을 산출한다. 이 스트로브 타이밍의 산출에는 앞의 프로세서의 BIOS(베이식 입출력 시스템)에 포함되는 소프트웨어를 이용해도 되며 전용 하드웨어가 설치되어도 된다.
스트로브 타이밍 산출부는 또한 일시 레지스터(132)에 저장된 데이터에 의해 산출된 스트로브 타이밍을 나타내는 결과 데이터를 저장하는 결과 레지스터(134)와, 결과 레지스터(134)에 저장된 결과 데이터와 스트로브 레지스터(130)에 저장된 데이터를 합성하는 합성 회로(136)를 포함한다. 이 합성 회로(136)는 스트로브 레지스터(130)의 각 시프트 회로(130a)의 저장 비트와 결과 레지스터의 레지스터 회로(134a)에 저장된 데이터를 합성하여드라이브 회로(138)에 주어진다. 드라이브 회로(138)는 이 결과 레지스터(134)의 레지스터 회로(134a) 각각에 대응하는 3상태 드라이버(138a)를 포함한다.
3상태의 드라이버(138a)의 출력은 와이어드 접속되고, 1개의 드라이버(138a)만이 수정 스트로브 트리거 신호 CPTR을 생성한다. 나머지 드라이버는 출력 하이 임피던스 상태가 된다. 이 도 59에 도시하는 구성에서 스트로브 레지스터(130) 및 일시 레지스터(132)가 스트로브 타이밍 산출 회로(116)에 상당하고, 결과 레지스터(134), 합성 회로(136) 및 드라이브 회로(138)가 시프터/클럭 신호 발생 회로(114)에 대응한다.
도 60은 도 59에 도시하는 AND 회로(125, 126)의 동작을 나타내는 타이밍도이다. 이들의 AND 회로의 동작에 대하여 도 60을 참조하여 설명한다.
스트로브 타이밍을 유효 데이터 윈도우에 따라서 설정하는 경우, 테스트 모드로 들어 간다. 이 테스트 모드로 들어 가면 타이밍 세트 모드 지시 신호 TIMSM이 H 레벨의 활성 상태가 된다. 타이밍 세트 모드 지시 신호 TIMSM이 활성화되면 스트로브 신호 STROBE가 들어간 경우, 2개째의 스트로브 신호 STROBE의 상승에 응답하여, 모니터 마스크 지시 신호 MMSK가 활성 상태가 된다. 따라서 AND 회로(125)로부터, 최종 유효 윈도우 검출 신호 MDC가 유효 윈도우 검출 신호 EDW_R에 따라서 생성된다. 이 최종 유효 윈도우 검출 신호 MDC가 스트로브 레지스터(130)에 주어지고, AND 회로(127)로부터의 시프트 클럭 신호 SFCK에 따라 순차 시프트가 된다. 이 모니터 마스크 지시 신호 MMSK는 다음의 유효 윈도우 검출 신호 EDW_R의 상승에 응답하여 L 레벨로 하강한다. 따라서, 이 모니터 마스크 지시 신호 MMSK에 의해, 1개의 유효 윈도우 검출 신호 EDW_R만이 추출된다. 최종 유효 윈도우 검출 신호 MDC가 유효 윈도우 검출 신호 EDW_R에 따라서 생성되고 있는 기간만 시프트 클럭 신호 SFCK가 발생되고, 스트로브 레지스터(130)가 시프트 동작을 행한다. 최종 유효 윈도우 검출 신호 MDC가 H 레벨의 기간만 스트로브 레지스터(130)에서 시프트 동작이 행해지고, 따라서 시프트 클럭 신호 SFCK의 클럭 사이클수에 의해 유효 윈도우 영역의 시간폭이 검출된다.
유효 윈도우 검출 동작이 완료하면, 다음의 유효 윈도우 검출 신호 EDW_R에 따라 전송 지시 신호 XFR이 활성화되어, 스트로브 레지스터(130)에 저장된 유효 윈도우 영역 지시 비트가 일시 레지스터(132)에 전송된다. 이 일시 레지스터(132)에 저장된 데이터 비트를 이용하여, 스트로브 타이밍 산출 동작이 행해진다.
도 59에서는 클럭 신호 CLK의 상승 엣지에 동기하여 전송되는 데이터에 대한 유효 윈도우 검출이 행해지고 있다. 그러나, 클럭 신호의 하강에 응답하여 전송되는 데이터 비트에 대해서도 또한 마찬가지의 유효 윈도우 검출 및 스트로브 타이밍 검출이 행해진다. 이 하강 엣지로 전송되는 데이터 비트에 대해서는 유효 윈도우 검출 신호 EDW_R 대신에 유효 윈도우 검출 신호 EDW_F가 이용된다. 또한, 스트로브 신호 STROBE 대신에 보상 스트로브 신호 STROBE#이 이용된다.
우선, 테스트 모드에서 노멀 리드 지시 신호 NREAD를 H 레벨의 활성 상태로 하고 또한 모니터 마스크 지시 신호 MMSK를 L 레벨로 하여, 스트로브 신호 STROBE에 의해, 신호 Sin을 생성하여, 1개의 스트로브 신호 STROBE에 의해, 스트로브 타이밍을 결정한다. 이 상태에서 데이터의 판독을 행하고, 정확한 데이터의 판독이 행해진 경우에는 또한 유효 윈도우 검출은 행해지지 않아도 된다.
스트로브 신호 STROBE에 따라 유효하게 데이터의 취득을 행할 수 없는 경우, 또한 더 정확하게 데이터 윈도우의 중심 위치를 구하기 위해서, 타이밍 세트 모드 지시 신호 TIMSM을 H 레벨로 설정하여 유효 데이터 윈도우 검출 동작을 행하고, 스트로브 타이밍을 수정하여 최적 스트로브 타이밍을 검출한다. 따라서, 스트로브 타이밍을 스트로브 신호 STROBE에 따라서 설정한 경우에, 정상적인 데이터의 취입이 행해지지 않는 경우, 불량 원인은 메모리가 아니라, 보드 배선에 원인이 존재한다고 판정할 수 있다(데이터와 스트로브 신호가 동기하여 출력되기 때문).
도 61은 도 59에 도시하는 모니터 마스크 지시 신호 발생부의 구성의 일례를 나타내는 도면이다. 도 61에서, 모니터 마스크 지시 신호 발생부는 타이밍 세트 모드 지시 신호 TIMSM의 활성화 시 기동되며, 스트로브 신호 STROBE를 카운트하는 카운터(140)와, 카운터(140)로부터의 카운트 업 지시 신호 UP에 응답하여 세트되는 세트/리세트 플립플롭(141)과, 세트/리세트 플립플롭(141)에서의 모니터 마스크 지시 신호 MMSK를 유효 윈도우 검출 신호 EDW_R에 따라 전송하는 전송 회로(142)를 포함한다. 이 전송 회로(142)에서 세트/리세트 플립플롭(141)의 리세트 입력으로 신호가 주어진다. 이 전송 회로(142)는 1유효 윈도우 검출 신호 EDW_R의 기간, 마스크 모니터 지시 신호 MMSK를 지연한다.
카운터(140)는 스트로브 신호 STROBE의 상승을 카운트하고, 그 카운트치가 2가 되면 카운트 업지시 신호 UP를 활성화하고, 세트/리세트 플립플롭(141)을 세트한다. 따라서 모니터 지시 신호 MMSK가 활성화된다. 모니터 마스크 지시 신호 MMSK가 활성화되면 1개의 유효 윈도우 검출 신호 EDW_R이 추출되어 최종 유효 윈도우 검출 신호 MDC가 생성된다. 3개째인 유효 윈도우 검출 신호 EDW_R이 상승하면, 전송 회로(142)의 출력 신호가 H 레벨이 되며 세트/리세트 플립플롭(141)이 리세트된다. 이에 따라, 2번째의 유효 윈도우 검출 신호 EDW_R만을 추출할 수 있다.
여기서, 2개째의 유효 윈도우 검출 신호 EDW_R을 추출하는 것은 이하의 이유에 따른다. 데이터 판독 시에서, 스트로브 신호 STROBE와 동기하여 메모리 디바이스에서 판독 데이터가 전송된다. 이 판독 데이터가 전송되기 전은 데이터 버스는 출력 하이 임피던스 상태이다. 따라서, 최초의 데이터에 대해서는 스트로브 신호STROBE가 활성 상태가 되어, 하이 임피던스 상태에서 H 레벨 또는 L 레벨에 데이터 버스선이 변화한다. 이후의 데이터에서는 이 H 레벨 또는 L 레벨에 구동된 상태에서 스트로브 신호에 따라서, 데이터 비트의 값에 따라서 데이터 버스선이 H 레벨 또는 L 레벨로 구동된다. 즉, 최초의 데이터 비트에 대해서는 셋업 시간 Ts는 후속의 데이터 비트보다도 길어진다. 따라서, 최초의 데이터 비트에 대한 유효 윈도우 검출 신호 EDW_R은 셋업 시간이 길어지기 때문에, 이것을 버리고 2번째의 유효 윈도우 검출 신호 EDW_R을 추출하여 최종 유효 윈도우 검출 신호 MDC로서 이용한다.
또, 모니터 마스크 지시 신호 MMSK는 도 60에서 파선으로 나타낸 바와 같이, 최초의 스트로브 신호 STROBE의 하강으로 H 레벨이 되며 다음의 스트로브 신호 STROBE의 하강으로 L 레벨이 되는 신호라도 상관없다.
또한, 카운터(140)는 스트로브 신호 STROBE를 2 분주하는 분주 회로라도 된다.
도 62는 전송 지시 신호 발생부의 구성을 개략적으로 나타내는 도면이다. 도 62에서, 전송 지시 신호 발생부는 타이밍 세트 모드 지시 신호 TIMSM의 활성화에 응답하여 활성화되고, 유효 윈도우 검출 신호 EDW_R의 상승을 카운트하는 카운터(145)와, 카운터(145)에서의 카운트 업 지시 신호에 따라 단안정의 펄스 신호의 형태로 전송 지시 신호 XFR을 발생하는 단안정 펄스 발생 회로(146)를 포함한다. 이 카운터(145)는 타이밍 세트 모드 지시 신호 TIMSM의 활성화 시, 유효 윈도우 검출 신호 EDW_R의 상승을 4개 카운트하면 카운트 업 지시 신호를 발생한다. 따라서, 스트로브 레지스터(130)에서 최종 유효 윈도우 검출 신호 MDC의 시프트인 동작이 완료하고, 스트로브 레지스터(130)의 보유 내용이 확정된 상태에서 여유를 가지고 스트로브 레지스터(130)에서 일시 레지스터(132)에 유효 윈도우를 나타내는 정보를 전송할 수 있다.
도 63은 도 59에 도시하는 스트로브 레지스터(130)의 시프트 회로(130a)의 구성을 개략적으로 나타내는 도면이다. 도 63에서, 시프트 회로(130a)는 시프트 클럭 신호 SFCK의 상승에 응답하여 입력 신호 IN을 취입 래치하는 래치 회로(130aa)와, 시프트 클럭 신호 SFCK의 하강에 응답하여 래치 회로(130aa)의 출력 신호를 취입 래치하는 래치 회로(130ab)를 포함한다. 이들의 래치 회로(130aa, 130ab)의 출력 신호가 모두, 일시 레지스터(132) 및 합성 회로(136)에 주어진다.
도 64는, 도 63에 도시하는 시프트 회로(130a)를 포함하는 스트로브 레지스터(130)의 동작을 나타내는 신호 파형도이다. 이하, 도 64를 참조하여 도 59 및 도 63에 도시하는 스트로브 레지스터의 동작에 대하여 설명한다.
유효 윈도우 검출 신호 MDC가 H 레벨이 되면, 도 59에 도시하는 AND 회로(127)에서의 시프트 클럭 신호 SFCK가 프로세서 내부 동작 클럭 신호 PCLK에 동기하여 변화한다. 이 시프트 클럭 신호 SFCK의 상승 및 하강에 동기하여, 스트로브 레지스터(130)의 시프트 레지스터 회로(130aa, 130ab)가 최종 유효 윈도우 검출 신호 MDC를 순차 전송한다. 따라서, 현재 최종 유효 윈도우 검출 신호 MDC가 예를 들면, 도 64에 도시한 바와 같이, 내부 동작 클럭 신호 PCLK의 4.5 클럭 사이클 기간(4.5Tcy) H 레벨이 되면, 시프트 클럭 신호 SFCK가 동작 클럭 신호 PCLK의4.5 사이클 기간 변화한다. 따라서, 스트로브 레지스터(130)에서 래치 회로(130aa, 130ab)가 시프트 클럭 신호 SFCK의 상승 및 하강에 동기하여 시프트 동작을 행하고 있기 때문에, 합계 9개의 래치 회로의 출력 신호가 H 레벨이 된다. 유효 윈도우 검출 신호 MDC가 L 레벨로 하강하면, 시프트 클럭 신호 SFCK가 L 레벨이 되며, 스트로브 레지스터(130)의 시프트 동작은 행해지지 않는다. 따라서, 이 스트로브 레지스터(130)에 포함되는 시프트 회로(130a)의 출력 신호의 "1"의 수를 카운트함으로써 유효 윈도우 검출 신호 MDC의 시간폭을 검출할 수 있다. 노멀 리드 지시 신호 NREAD가 H 레벨일 때에는 이 유효 윈도우 검출 신호 MDC 대신에 스트로브 신호 STROBE의 유효 기간이 검출된다.
도 65는, 도 59에 도시하는 일시 레지스터(132)의 구성을 개략적으로 나타내는 도면이다. 이 일시 레지스터(132)는 스트로브 레지스터의 저장 데이터 비트를 받는 A 레지스터(132a)와, 결과 레지스터로 송출하는 스트로브 타이밍을 나타내는 정보를 저장하는 B 레지스터(132b)를 포함한다. 이들의 A 레지스터(132a) 및 B 레지스터(132b)에 스트로브 타이밍 검출 회로(150)가 결합된다. 스트로브 타이밍 검출 회로(150)는 A 레지스터(132a)에 저장된 데이터 비트치로부터 유효 윈도우의 중심치를 구하고, 그 중심치를 나타내는 정보를 B 레지스터(132b)에 저장한다.
도 66은, 도 65에 도시하는 스트로브 타이밍 검출 회로(150)의 구성을 개략적으로 나타내는 도면이다. 도 66에서, 스트로브 타이밍 검출 회로(150)는 A 레지스터(132a)에 저장된 데이터 비트의 10진/2진 변환을 행하는 10진/2진 변환기(150a)와, A 레지스터(132a)에 저장된 2진 유효 데이터 윈도우 정보를 제산하고, 제산 결과를 B 레지스터(132b)에 저장하는 제산기(150b)와, B 레지스터(132b)에 저장된 제산 결과를 디코드하고 유효 데이터 윈도우의 중심 위치를 나타내는 비트를 "1"로 설정하여 B 레지스터(132b)에 저장하는 디코더(150c)를 포함한다.
제산기(150b)는 계수 2로 제산하고, 유효 데이터 윈도우의 중심 위치를 검출한다. 이 스트로브 타이밍 검출 회로(150)는 메모리 컨트롤러와 동일 칩 상에 집적화되는 논리(프로세서)의 연산 기능(예를 들면 BIOS)을 이용하여 연산을 행하도록 구성되어도 된다.
도 67은, 도 66에 도시하는 스트로브 타이밍 검출 회로(150)의 동작 시퀀스를 나타내는 도면이다. 도 67에서는 스트로브 레지스터(130) 및 결과 레지스터(134)는 16 비트의 레지스터 회로를 각각 포함한다. 이들의 레지스터(130, 134)의 비트수는 프로세서의 동작 클럭 신호 PCLK의 주파수 및 유효 데이터 윈도우 폭에 따라 적당하게 정해지면 된다.
우선, 스트로브 레지스터(130)에는 유효 데이터 윈도우 영역에 따라 "1"이 저장된다. 도 67에서는 9개의 "1"이 저장된 상태를 나타낸다. 이것은 앞의 도 64에 도시하는 동작에 대응하고, 유효 데이터 윈도우 영역이 동작 클럭 신호 PCLK의 4.5 사이클에 상당한다.
이 스트로브 레지스터(130)에 저장된 데이터 비트는 전송 지시 신호 XFR에 따라 A 레지스터(132a)에 저장된다. 이 A 레지스터(132a)에 저장된 데이터 비트를10진/2진 변환기(150a)에 의해 인코드하고 2진 표시한다. 이 2진 표시 결과 (9)2를 다시 A 레지스터(132a)에 저장한다. 계속해서, 이 A 레지스터(132a)에 저장된 2진수 (9)2를 제산기(150b)에 의해 제산한다. 이 경우, 유효 데이터 윈도우 영역이 홀수인 경우에는 제산 결과는 단수(소수점 이하의 0.5)를 포함한다. 이 경우, 소수점 이하는 버리거나 또한 반올림한다. 또한, 단순하게 이 제산기(150b)가 시프트 동작을 행하여, 버리는 동작을 행하도록 구성해도 된다. 이 제산기(150b)에 의한 제산 결과(도 67에서는 "5")가 B 레지스터(132b)에 저장된다. 이에 따라, B 레지스터(132b)에는 유효 데이터 윈도우 영역의 중심치 근방을 나타내는 2진 데이터 (5)2가 저장된다. 이 B 레지스터(132b)에 저장된 데이터 (5)2를 디코더(150c)에서 디코드하고 대응하는 비트 위치를 "1"로 설정하고 나머지를 전부 "0"으로 설정한다. 이 디코드 결과 (5)10이 결과 레지스터(134)에 전송되어 저장된다. 따라서, 도 67에서는 결과 레지스터(134)에서 제5번째의 비트가 "1"이 되며, 나머지 비트는 전부 "0"이다. 결과 레지스터(134)에 저장된 "1"의 위치가 스트로브 타이밍을 나타낸다. 이 결과 레지스터(134)의 저장 데이터는 유효 데이터 윈도우 영역의 중심 위치를 나타내고 있다. 이것을 이용하여 스트로브 트리거 신호를 생성한다.
도 68은 도 59에 도시하는 합성 회로(136) 및 드라이브 회로(138)의 1단의 구성을 나타내는 도면이다. 도 68에서, 합성 회로(136)는 결과 레지스터(134) 및 스트로브 레지스터(130) 각각의 레지스터 회로(134a, 130a)에 대응하여 설치되는 합성단(136a)을 포함한다. 합성단(136a)은 결과 레지스터(134)의 대응하는 레지스터 회로에서의 기억 비트 DMMi를 반전하는 인버터(151)와, 스트로브 레지스터(130)의 대응하는 레지스터 회로의 출력 비트 SSBi와 결과 레지스터(134)의 대응하는 비트 DMMi를 받는 NAND 회로(152)와, 인버터 회로(151)의 출력 비트와 스트로브 레지스터(130)에서의 대응하는 데이터 비트 SSBi를 받는 NOR 회로(153)를 포함한다. 이 합성단(136a)에서는 비트 DMMi 및 SSBi가 모두 H 레벨일 때에는 NAND 회로(152)의 출력 신호가 L 레벨이 되고, NOR 회로(153)의 출력 신호가 L 레벨이 된다. 비트 DMMi가 H 레벨이고 또한 비트 SSBi가 L 레벨이 되면 NOR 회로(153)의 출력 신호가 H 레벨이 된다.
드라이브 회로(138)는 이 합성단(136a) 각각에 대응하여 설치되는 3상태 버퍼(드라이버 ; 138a)를 포함한다. 이 3상태 버퍼(138a)는 NAND 회로(152)의 출력 신호를 게이트에 받는 P 채널 MOS 트랜지스터(155)와, NOR 회로(153)의 출력 신호를 게이트에 받는 N 채널 MOS 트랜지스터(156)를 포함한다. 이들의 MOS 트랜지스터(155, 156)가 전원 노드와 접지 노드 간에 직렬로 접속된다. 3상태 버퍼(138a)의 출력은 와이어드 OR 접속되며, 이 출력으로부터 수정 스트로브 트리거 신호 CPTR이 출력된다. 다음에, 도 68에 도시하는 회로의 동작을 도 69에 도시하는 신호 파형도를 참조하여 설명한다.
통상 동작 모드 시에서 노멀 리드 지시 신호 NREAD가 H 레벨이고, 도 59에 도시하는 AND 회로(126)에서의 신호에 따라서 스트로브 레지스터(130)로의 입력 신호 Sin이 생성된다. 스트로브 신호 STROBE가 H 레벨로 상승하면, 이 스트로브 신호 STROBE가 도 59에 도시하는 스트로브 레지스터(130)에 순차 시프트인된다. 유효 데이터 윈도우 검출 신호 EDW_R은 이 스트로브 신호 STROBE의 상승으로 생성되어 있고, 그 폭은 스트로브 신호의 폭 이하이다(도 57 또는 도 55 참조). 통상 동작 모드 시에서는 유효 데이터 윈도우 검출 신호 EDW_R은 특히 생성할 필요는 없다. 테스트 모드 시에서 검출된 유효 데이터 윈도우의 중앙 영역을 나타내는 위치에 따라서, 대응하는 결과 레지스터(134)의 레지스터 회로에 "1"이 설정되어 있다. 이 결과 레지스터에 "1"을 설정하는 구성으로서는 앞의 실시 형태 1과 마찬가지의 구성을 이용할 수 있다.
현재, 비트 DMMi가 H 레벨로 설정되어 있는 상태를 고려한다. 스트로브 레지스터(130)에서는 클럭 신호 PCLK에 따라 스트로브 신호 STROBE의 시프트 동작이 행해지고 있다. 따라서, 이 스트로브 레지스터(130)에서, 시프트 동작이 행해지며 비트 DMMi에 대응하는 레지스터 회로(130a)에 스트로브 신호 STROBE가 시프트인되면, 이 대응하는 비트 SSBi가 H 레벨이 된다. 비트 SSBi가 L 레벨이며 또한 비트 DDMi가 H 레벨일 때는 3상태 버퍼(138a)는 출력 하이 임피던스 상태에 있다. 또한 마찬가지로 비트 DMMi가 L 레벨이면, 대응하는 3상태 버퍼(138a)도 출력 하이 임피던스 상태이다.
비트 SSBi가 H 레벨로 상승하면, 비트 DMMi도 H 레벨이기 때문에, NAND 회로(152)의 출력 신호가 L 레벨이 되며, 3상태 버퍼(138a)의 P 채널 MOS 트랜지스터(155)가 온 상태가 되며, 수정 스트로브 트리거 신호 CPTR이 H 레벨로 상승한다. 따라서, 이 수정 스트로브 트리거 신호 CPTR의 상승 타이밍은 유효 데이터 윈도우 검출 신호의 중심 위치 영역에서 최적 타이밍으로 스트로브 신호를 생성할 수 있다.
또, 클럭 신호 CLK의 하강에 동기하여 전송되는 데이터에 대해서는 스트로브 신호 STROBE# 및 유효 윈도우 검출 신호 EDW_F를 이용하여 마찬가지의 동작을 행하여, 스트로브 타이밍이 검출된다(이것은 실시 형태 1과 마찬가지이다. 또한, 실시 형태 1과 마찬가지의 구성에 의해 스트로브 타이밍이 각 메모리 디바이스의 뱅크에 따라서 결과 레지스터에 설정된다).
또, 이 스트로브 타이밍은 도 19 및 도 20에 도시한 바와 같이, 메모리 디바이스의 각 뱅크마다 스트로브 타이밍이 검출되어 저장된다. 메모리 디바이스로의 액세스 시, 이 도 19 또는 도 20에 도시하는 타이밍 저장 영역에서 스트로브 타이밍을 나타내는 신호가 판독되어 결과 레지스터에 저장된다. 이에 따라, 각 메모리 디바이스의 뱅크마다 최적 타이밍으로 데이터 취입을 행할 수 있다. 또한, 도 26에 도시한 바와 같이, 이 스트로브 타이밍은 4 비트마다 또는 바이트마다 또는 수 바이트마다 조정되어도 되며, 64 비트 전체로 일괄하여 타이밍이 조정되어도 된다.
[변경예 1]
도 59에 도시하는 구성에서는 시프트 클럭 신호 SFCK가 스트로브 신호 STROBE 또는 유효 윈도우 검출 신호 MDC가 L 레벨이 되면 발생이 정지되고, 스트로브 레지스터(130)가 시프트 동작을 정지한다. 통상 동작 모드 시에서 스트로브 레지스터(130)의 시프트 동작이 행해지지 않는 경우, 스트로브 신호 STROBE가 스트로브 레지스터(130)에 시프트인된 후, 비트 SSBi가 항상 H 레벨이 되며, 수정 스트로브 트리거 신호 CPTR이 H 레벨을 유지하는 것이 고려된다. 그래서, 통상 동작 모드 시, 이 수정 스트로브 트리거 신호 CPTR의 활성화 타이밍을 스트로브 신호 STROBE와 동일 기간으로 하기 위해서 도 70에 도시하는 구성을 이용한다.
도 70은 시프트 클럭 발생부의 변경예의 구성을 나타내는 도면이다. 도 70에서, 시프트 클럭 발생부는 내부 동작 클럭 신호 PCLK와 도 59에 도시하는 시프트인 신호 Sin을 받는 AND 회로(160a)와, 타이밍 세트 모드 지시 신호 TIMM과 AND 회로(160a)의 출력 신호를 받는 AND 회로(160d)와, 내부 동작 클럭 신호 PCLK와 노멀 리드 모드 지시 신호 NREAD를 받는 AND 회로(160b)와, 타이밍 세트 모드 지시 신호 TIMM을 반전하는 인버터(160c)와, 인버터(160c)의 출력 신호와 AND 회로(160b)의 출력 신호를 받는 AND 회로(160e)와, AND 회로(160d, 160e)의 출력 신호를 받아 시프트 클럭 신호 SFCK를 생성하는 OR 회로(160f)를 포함한다.
타이밍 세트 모드 지시 신호 TIMM이 H 레벨일 때에는 AND 회로(160d)가 인에이블되어, AND 회로(160a)의 출력 신호에 따라서 OR 회로(160f)를 통하여 시프트 클럭 신호 SFCK를 생성한다. 따라서, 이 경우, 신호 Sin이 스트로브 신호 STROBE 또는 유효 윈도우 검출 신호 EDW_R(및 EDW_F)이 H 레벨일 때에 스트로브 레지스터에 시프트인된 후에 시프트 클럭 신호 SFCK의 발생이 정지된다. 이 상태에서, 앞의 스트로브 타이밍 산출이 행해진다.
한편, 통상 동작 모드 시에서 메모리 디바이스에서 전송된 데이터의 취입을 행하는 경우, 타이밍 모드 설정 신호 TIMM이 L 레벨이고 또한 노멀 리드 모드 지시 신호 NREAD가 H 레벨이 된다. 따라서, AND 회로(160e)가 내부 동작 클럭 신호 PCLK에 따라서 OR 회로(160f)를 통하여 시프트 클럭 신호 SFCK를 생성한다. 통상의 데이터의 취입을 행하는 동작 모드 시에서는 스트로브 레지스터는 데이터의 판독 시에서 항상 시프트 동작을 행하고 있고, 비트 SSBi는 스트로브 신호 STROBE의 H 레벨 기간과 실질적으로 같은 기간 H 레벨이 되고, 따라서 이 수정 스트로브 트리거 신호 CPTR도 스트로브 신호 STROBE와 거의 동일한 정도의 펄스폭을 갖는다.
스트로브 신호 STROBE에 대한 중심 위치를 구하는 경우, 타이밍 세트 모드 지시 신호 TIMM 및 노멀 리드 지시 신호 NREAD를 모두 H 레벨로 설정하여, 유효 윈도우 검출 신호를 이용한 경우와 마찬가지로 하여 스트로브 타이밍의 검출이 행해진다.
[변경예 2]
도 71은 시프트 클럭 발생부의 변경예 2의 구성을 나타내는 도면이다. 도 71에서, 시프트 클럭 발생부는 도 59에 도시하는 구성과 마찬가지로, 신호 Sin과 동작 클럭 신호 PCLK를 받아 시프트 클럭 신호 SFCK를 생성하는 AND 회로(127)를 포함한다. 이 경우, 노멀 리드 지시 신호 NREAD의 활성화 시, 스트로브 신호 STROBE의 기간 시프트 클럭 신호 SFCK가 발생된다.
이 시프트 클럭 발생부는 또한 스트로브 신호 STROBE의 하강에 응답하여 단안정의 펄스 신호를 발생하는 단안정 펄스 발생 회로(162a)와, 단안정 펄스 발생 회로(162a)의 출력 신호와 노멀 리드 지시 신호 NREAD를 수취하는 NAND 회로(160b)와, 타이밍 세트 모드 지시 신호 TIMM과 NAND 회로(160c)의 출력 신호를 받는 NOR 회로(160c)를 포함한다. 이 NOR 회로(160c)에서 리세트 신호 RST가 생성되어, 스트로브 레지스터(130)에 주어진다.
타이밍 모드 설정 신호 TIMM이 H 레벨일 때에는 NOR 회로(160c)에서의 리세트 신호 RST는 L 레벨로 고정된다. 따라서, 스트로브 레지스터(130)는 타이밍 검출 동작 완료 후, 도시하지 않은 컨트롤러 또는 연산 장치에 의해 리세트된다. 한편, 타이밍 모드 설정 신호 TIMM이 L 레벨일 때에는 이 NOR 회로(160c)는 인버터로서 동작한다. 노멀 리드 지시 신호 NREAD가 H 레벨일 때에 스트로브 신호 STROBE가 L 레벨로 하강하면 단안정 펄스 발생 회로(160a)에서 단안정의 펄스 신호가 발생되고, NAND 회로(160b)의 출력 신호가 L 레벨이 된다. 따라서 NOR 회로(160c)에서의 리세트 신호 RST가 H 레벨이 되며, 스트로브 레지스터(130)의 저장 데이터가 전부 L 레벨로 리세트된다. 따라서, 시프트 클럭 신호 SFCK의 발생이 스트로브 신호 STROBE에 따라서 정지한 후, 리세트 신호 RST가 H 레벨이 된다. 따라서, 이 수정 스트로브 트리거 신호 CPTR의 H 레벨 기간은 설정된 스트로브 타이밍으로 스트로브 신호 STROBE의 H 레벨 기간이 되며 최대 스트로브 신호 STROBE의 H 레벨 기간의 1/2이 된다. 스트로브 신호 STROBE는 L 레벨로 하강할 때에는 유효 데이터 윈도우 검출 신호가 L 레벨이 되고 있으며 최대 유효 데이터 윈도우 영역의 기간 스트로브 트리거 신호 CPTR이 H 레벨이 된다. 따라서, 취득 데이터에 대한 셋업 시간 및 홀드 시간은 이러한 구성에서도 동일하게 할 수 있다.
또, 이 도 70 및 도 71에 도시하는 구성이 클럭 신호 CLK의 하강에 동기하여 전송되는 데이터에 대해서도 설치된다.
또한, 스트로브 신호 STROBE 대신에 클럭 신호 CLK를 이용하여 스트로브 타이밍이 결정되어도 된다. 스트로브 신호를 출력하지 않은 버스트 EDODRAM 등의 경우에서 클럭 신호를 기준으로 하여 데이터 스트로브 타이밍을 결정할 수 있다.
또한, 통상 모드 시에서 선택 메모리 디바이스 및 뱅크에 따라 스트로브 타이밍을 나타내는 데이터를 결과 레지스터에 저장하기 위한 구성으로서는 실시 형태 1과 마찬가지의 구성을 이용할 수 있다.
이상과 같이, 본 발명의 실시 형태 4에 따르면, 스트로브 신호를 이용하여, 이 스트로브 신호와 전송 데이터의 확정 기간을 검출하고 있으며, 디바이스에, DLL을 설치하지 않아도 메모리 컨트롤러측에서 정확한 타이밍으로 전송 데이터의 취입을 행할 수 있다. 따라서, 통상, 10㎃ 내지 100㎃의 전류를 소비하는 DLL을 메모리 디바이스에 설치할 필요가 없으며, 시스템의 소비 전류를 대폭 저감할 수 있다. 특히, 메모리 디바이스를 수1000개의 단위로 사용하는 서버 등의 시스템에서 소비 전류를 대폭 저감할 수 있다.
[실시 형태 5]
도 72는 본 발명의 실시 형태 5에 따른 처리 시스템의 구성을 개략적으로 나타내는 도면이다. 도 72에서, 처리 시스템은 공통 데이터 버스(202)에 병렬로 결합되는 복수의 프로세서(CPU ; 210a-210n)와, 이들의 프로세서(210a-210n)와 주기억(215) 간에서 데이터의 전송을 행하는 메모리 컨트롤 장치(200)를 포함한다. 프로세서(210a-210n) 및 메모리 컨트롤 장치(200)에 대하여 클럭 발생기(3)에서의 클럭 신호 CLK가 공통으로 주어진다.
이들의 프로세서(210a-210n) 및 메모리 컨트롤 장치(200)는 클럭 신호 CLK에 동기하여 동작하고, 따라서, 공통 데이터 버스(202)에는 클럭 신호 CLK에 동기하여데이터가 전송된다. 그러나, 데이터 버스(202)의 임피던스는 접속되는 프로세서의 수에 따라서 변화하고, 또한 프로세서(210a-210n)와 메모리 컨트롤 장치(200) 간의 거리도 프로세서의 위치에 따라서 다르다. 따라서, 프로세서(210a-210n)에서의 데이터를 메모리 컨트롤 장치(200)에서 취입하는 경우, 앞의 실시 형태에서 설명한 바와 같은 클럭 신호 CLK에 대하여 스큐우가 발생한다. 특히 시스템 확장 시에서는 프로세서의 수가 증대하고 또한 데이터 버스의 길이도 길어지는 경우가 많기 때문에, 데이터 버스(데이터 전송로)의 임피던스가 변화한다. 이 때문에, 시스템 확장 시에서 데이터의 스트로브 타이밍이 크게 어긋나서 시스템의 확장성이 낮다는 문제가 생긴다.
이 때문에, 메모리 컨트롤 장치(200)에서 공통 데이터선(202)으로부터의 데이터 Dc와 클럭 신호에 따라 입력 회로(200b)에서의 데이터 스트로브 타이밍을 조정하는 스트로브 타이밍 조정 회로(200a)가 설치된다. 이 스트로브 타이밍 조정 회로(200a)는 도 1에 도시하는 타이밍 제어 회로(5)와 스트로브 클럭 발생 회로(6)의 구성에 대응한다. 테스트 시 또는 초기 설정 시에 입력 데이터와 클럭 신호 CLK에 따라, 데이터 윈도우를 검출하고, 이 데이터 윈도우에서 스트로브 신호를 생성한다.
따라서, 우선 도 1에서 설명한 메모리 시스템과 마찬가지로 프로세서의 위치에 상관없이, 충분한 셋업 마진 및 홀드 마진을 확보할 수 있어 정확하게 프로세서에서의 데이터를 취입하여 주기억(215)에 기입할 수 있다.
입력 회로(210b)에 의해 취입한 데이터는 내부 회로(210c)에 제공되며, 그곳에서 데이터의 비트 폭의 변환 등이 행해진 후, 주기억(215)으로 전송된다.
이 스트로브 타이밍 조정 회로(200a)는 도 1 내지 도 50에 도시하는 실시 형태 1에서 실시 형태 3의 타이밍 조정 회로의 구성을 가지고 있고, 따라서 수신 데이터의 품질을 평가하는 기능도 갖는다. 메모리 디바이스를 특정하는 어드레스 대신에 프로세서를 특정하는 프로세서 어드레스가 이용된다.
[변경예 1]
도 73은 본 발명에 따른 실시 형태 5의 변경예 1의 처리 시스템의 구성을 개략적으로 나타내는 도면이다. 도 73에서, 처리 시스템은 공통 데이터 버스(202)에 병렬로 결합되는 복수의 프로세서(220a-220n)와, 이들의 프로세서(220a-220n)와 주기억(225) 간의 데이터 전송을 제어하는 메모리 컨트롤 장치(230)를 포함한다. 이들의 프로세서(220a-220n)와 메모리 컨트롤 장치(230)는 공통으로 클럭 발생기(3)에서의 클럭 신호 CLK를 받아 클럭 신호 CLK에 동기하여 동작한다.
도 73에 도시하는 구성에서는 프로세서(220a-220n) 각각에서, 입력 회로(222)의 데이터 스트로브 타이밍을 조정하기 위한 스트로브 타이밍 조정 회로(221)가 설치된다. 이 스트로브 타이밍 조정 회로(221)는 도 72에 도시하는 타이밍 조정 회로(200a)와 마찬가지의 구성을 갖고, 데이터 버스(202) 상을 통하여 메모리 컨트롤 장치(230)에서 전송되는 데이터를 최적 타이밍으로 스트로브한다. 따라서, 메모리 컨트롤 장치(230)와 프로세서(220a-220n)와의 거리가 다르고, 클럭 신호 CLK에 대한 데이터의 스큐우가 다른 경우라도 정확하게 데이터의 취입을 행할 수 있다. 또한, 데이터의 품질을 검출하는 경우, 프로세서(220)는 특히 어드레스를 기억할 필요는 없다. 데이터 품질의 불량을 검출한 경우, 단순히 시스템 리세트를 행한다.
따라서, 멀티 프로세서 시스템에서 프로세서에 스트로브 타이밍의 조정을 행하는 기능을 설치함으로써 시스템 확장 시에서도 증설 프로세서는 최적 타이밍 데이터를 취입할 수 있어 시스템의 확장을 용이하게 행할 수 있다.
[변경예 2]
도 74는 본 발명에 따른 실시 형태 5의 변경예의 처리 시스템의 구성을 개략적으로 나타내는 도면이다. 도 74에서, 처리 시스템은 공통 버스(202)에 병렬로 결합되는 복수의 프로세서(240a-240n)와, 이들의 프로세서(240a-240n)와 주기억(215) 간의 데이터 전송을 제어하는 메모리 컨트롤 장치(200)를 포함한다. 클럭 발생기(3)에서의 클럭 신호 CLK가 공통으로 이들의 프로세서(240a-240n)에 주어진다.
이 변경예 2의 구성에서는 또한 프로세서(240a-240n)에서 신호선(235)을 통하여 메모리 컨트롤 장치(200)에 스트로브 신호 STROBE(및 보상 스트로브 신호 STROBE#)가 제공된다. 따라서, 메모리 컨트롤 장치(200) 내에서 스트로브 타이밍 조정 회로(200d)는 이 스트로브 신호 STROBE와 클럭 신호 STROBE에 따라서, 유효 데이터 기간을 나타내는 데이터 윈도우를 생성한다. 이 스트로브 타이밍 조정 회로(200d)의 구성은 도 52에 도시하는 타이밍 조정 회로(110)의 구성과 동일하다.
이 도 74에 도시하는 구성에서도 프로세서와 메모리 컨트롤 장치의 거리가 달라도 스트로브 타이밍 조정 회로(220d)에 의해, 각 프로세서(240a-240n)와의 거리에 따른 타이밍으로 데이터의 스트로브를 할 수 있어 정확한 데이터 전송을 행할 수 있다.
다른 구성은 도 72에 도시하는 구성과 동일하여 대응하는 부분에는 동일 참조 번호를 붙이고 있다.
[변경예 3]
도 75는 본 발명에 실시 형태 5의 변경예 3의 처리 시스템의 구성을 개략적으로 나타내는 도면이다. 이 도 75에 도시하는 구성은 도 73에 도시하는 구성과 이하의 점이 다르다. 즉, 프로세서(250a-250n) 각각이 메모리 컨트롤 장치(245)에서 신호선(235)을 통하여 스트로브 신호 STROBE 및 STROBE#을 받는다. 프로세서(250a-250n)에서는 스트로브 타이밍 조정 회로(221)가, 이 스트로브 신호 STROBE 및 STROBE#과 클럭 발생기(3)에서의 클럭 신호 CLK에 따라서 메모리 컨트롤 장치(245)에서의 데이터에 대한 스트로브 타이밍을 조정한다.
따라서, 이 도 75에 도시하는 구성에서도 프로세서와 메모리 컨트롤 장치의 거리가 달라도 정확한 타이밍으로 데이터의 취입을 행할 수 있다.
또, 도 74 및 도 75에 도시하는 구성을 조합함으로써 메모리 컨트롤 장치와 프로세서 간에서의 양 방향에서의 데이터 전송을 정확하게 행할 수 있다.
[변경예 4]
도 76은 본 발명에 따른 실시 형태 5의 변경예 4의 구성을 개략적으로 나타내는 도면이다. 도 76에 도시하는 구성에서는 공통 데이터 버스(202)에 공유 메모리(260)가 접속된다. 이 공유 메모리(260)는 데이터 전송 시, 데이터와 함께 프로세서(250a-250n)에 대하여 신호선(252)을 통하여 스트로브 신호 STROBE 및 STROBE#을 전송한다. 이 공유 메모리(260)는 클럭 발생기(3)에서의 클럭 신호에 동기하여 동작한다.
도 76에 도시하는 구성은 도 75에 도시하는 구성에서 메모리 컨트롤 장치를 제거한 구성과 등가이다. 공유 메모리(260)에의 액세스 경합은 도시하지 않은 버스 아비터에 의해 회피된다.
따라서, 도 76에 도시하는 구성에서도 공유 메모리와 프로세서와의 거리가 달라도 프로세서(250a-250n) 각각의 스트로브 타이밍 조정 회로(221)에 의해 개개에 정확하게 타이밍의 어긋남을 보상하여 데이터의 취입을 행할 수 있다. 이에 따라, 시스템 확장 시에도 데이터 버스의 임피던스의 변화의 영향을 받지 않고 데이터를 각 프로세서에서 취입할 수 있어 고속 동작하는 시스템을 구축할 수 있다.
또, 도 76에 도시하는 구성에서 스트로브 타이밍 조정 회로가 도 72에 도시한 바와 같이, 데이터의 변화점을 검출하여 유효 데이터 기간을 나타내는 윈도우를 검출하는 구성이 되어도 된다.
[변경예 5]
도 77은 본 발명의 실시 형태 5의 변경예 5의 처리 시스템의 구성을 개략적으로 나타내는 도면이다. 도 77에서 처리 시스템은 프로세서 버스(305)에 병렬로 결합되는 복수의 프로세서(300a-300m)와, 프로세서 버스(305)를 통하여 프로세서(300a-300m)에 공통으로 결합되는 메모리 컨트롤 장치(310)와, 메모리 버스(315)에 병렬로 결합되며, 메모리 컨트롤 장치(310)와 데이터의 전송을 하는 복수의 메모리 디바이스(320a-320n)를 포함한다.
프로세서(300a-300m) 각각은 신호선(307)을 통하여 스트로브 신호 STROBE를 전송하고 또한 프로세서 버스(305)를 통하여 데이터를 전송하는 스트로브 조정 기능부의 인터페이스 회로(I/F ; 301)를 포함한다. 마찬가지로, 메모리 컨트롤 장치(310)는 신호선(307)을 통하여 스트로브 신호 STROBE를 전송하고 또한 프로세서 버스(305)를 통하여 데이터를 전송하는 스트로브 조정 기능부 인터페이스 회로(311)와, 신호선(317)을 통하여 메모리 디바이스(320a-320n) 중 어느 하나로부터 출력되는 스트로브 신호 STROBE를 받고 또한 메모리 데이터 버스(315)를 통하여 선택 메모리 디바이스와 데이터를 전송하는 스트로브 조정 기능부 인터페이스 회로(312)를 포함한다.
프로세서(300a-300m)에서는 스트로브 신호 STROBE는 양 방향으로 전송된다. 즉, 메모리 컨트롤 장치(310)에서 데이터를 받을 때는 메모리 컨트롤 장치(310)에서 신호선(307)을 통하여 스트로브 신호 STROBE가 프로세서(300a-300m)에 전송된다. 한편, 프로세서(300a-300m)가 데이터를 메모리 컨트롤 장치에 전송할 때에는 인터페이스 회로(301)는 신호선(307)을 통하여 스트로브 신호 STROBE를 메모리 컨트롤 장치(310)의 인터페이스 회로(311)에 전송한다. 따라서, 프로세서(300a-300m)는 데이터의 로드 및 스토어 모두 정확하게 행할 수 있다.
메모리 컨트롤 장치(310)에서는 내부 회로(313)에 의해 데이터의 전송 방향이 결정되며 결정된 방향으로 데이터를 전송한다. 메모리 버스(315)에 결합되는 인터페이스 회로(312)는 선택(액세스 요구된) 메모리 디바이스의 출력 회로(322)에서 신호선(317)을 통하여 스트로브 신호 STROBE를 받아 유효 데이터 윈도우를 생성하여 데이터의 취입(스트로브)을 행한다.
도 77에 도시하는 구성에 따르면, 메모리 디바이스와 메모리 컨트롤 장치 간 및 메모리 컨트롤 장치와 프로세서 간의 데이터 전송을 정확하게 행할 수 있다. 이에 따라, 확장성이 높은 고속 처리 시스템을 실현할 수 있다.
또, 프로세서와 메모리 컨트롤 장치 간의 데이터 전송은 클럭 신호 CLK의 상승 및 하강의 양 엣지에 동기하여 버스트 모드로 데이터가 전송되어도 된다. 이 경우에서도 각 인터페이스 회로에 의해 스트로브 타이밍이 조정되고 있으며, 고속 클럭 신호를 이용해도 정확하게 충분한 타이밍 마진을 가지고 데이터의 취입을 행할 수 있다.
또, 도 77에 도시하는 구성에서 도 1에 도시하는 구성과 마찬가지로, 전송 데이터(수신 데이터)의 변화 엣지를 검출하여 유효 데이터 윈도우를 검출/생성하는 구성이 이용되어도 된다.
이상과 같이, 실시 형태 5에 따르면 메모리 컨트롤 장치와 프로세서 간 또는 프로세서와 메모리 간에서도 전송 데이터에 대하여 스트로브 타이밍을 조정하도록 구성하고 있기 때문에, 프로세서 데이터에 대해서도 정확한 스트로브를 보증할 수 있어 고속 동작하는 확장성에 뛰어난 처리 시스템을 구축할 수 있다.
[다른 적용예]
전술한 메모리 디바이스의 설명에 있어서, 더블 데이터 레이트(DDR 모드)로 데이터 전송을 행하는 메모리 디바이스를 나타내고 있다. 그러나, 이 메모리 디바이스는 클럭 신호의 상승 또는 하강의 한쪽의 엣지에 동기하여 데이터의 전송을 행하는 메모리 디바이스나 또한 EDO 모드라도 상관없다. 또한, 메모리 디바이스로서는 플래시 메모리라도 상관없다.
또한, 메모리 디바이스로서는 DLL이 내장되고 있어도 된다. 내장 DLL 회로에서의 내부 클럭 신호에 따라 메모리의 내부 동작 타이밍 및 데이터 출력 타이밍이 결정된다. 데이터 전송로의 임피던스의 변동에 의해 메모리 컨트롤러에서 데이터의 취입에 스큐우가 생기기 때문에, 이러한 메모리에서도 본 발명은 적용 가능하다.
이상과 같이, 본 발명에 따르면, 데이터선의 데이터로부터 데이터 윈도우를 검출하여 데이터 스트로브 타이밍을 최적화하도록 구성하고 있고, 시스템 구성에 상관없이 정확하게 데이터 전송을 행할 수 있다. 또한, 메모리 시스템인 경우, 메모리 디바이스에서는 데이터 출력 클럭을 생성하기 위한 DLL이 불필요해지며, 칩면적 및 소비 전력을 저감할 수 있다. 또한, 데이터 수신측에서 데이터 윈도우폭을 모니터하도록 구성하고 있고, 오데이터의 전송을 방지할 수 있어 시스템의 신뢰성이 보증된다.

Claims (3)

  1. 데이터선 상의 데이터의 변화점을 검출하고 상기 검출 결과에 따라 상기 데이터의 유효 기간을 나타내는 유효 윈도우 정보를 생성하여 기억하는 생성/기억 수단,
    상기 생성/기억 수단에 기억된 유효 윈도우 정보에 따라, 상기 데이터선의 데이터의 취입 타이밍을 결정하는 스트로브 타이밍 결정 수단 및,
    상기 스트로브 타이밍 결정 수단이 결정한 스트로브 타이밍으로 상기 데이터선의 데이터를 취입하기 위한 클럭 신호를 생성하는 클럭 생성 수단
    을 포함하는 인터페이스 회로.
  2. 데이터선 상의 데이터의 변화점을 검출하기 위한 변화점 검출 수단과,
    상기 변화점 검출 수단에서의 검출 변화점에 따라 상기 데이터의 유효 기간을 나타내는 유효 윈도우 정보를 생성하는 수단과,
    상기 유효 윈도우의 폭이 제1 조건을 만족하는지의 여부를 판정하는 수단과,
    상기 판정 수단이 상기 제1 조건을 만족한다고 판정했을 때 상기 데이터의 어드레스 및 데이터 패턴을 기억하는 수단
    을 포함하는 인터페이스 회로.
  3. 데이터선 상의 데이터의 변화점을 검출하고, 상기 검출 결과에 따라 상기 데이터의 유효 기간을 나타내는 유효 윈도우 신호를 생성하는 유효 윈도우 추출 수단,
    상기 유효 윈도우 신호의 유효 기간 폭을 기준 클럭 신호를 이용하여 검출하고, 상기 검출 결과를 기억하는 유효 윈도우 폭 검출 수단,
    상기 유효 윈도우 폭 검출 수단을 검출한 유효 윈도우 폭 정보에서 상기 데이터에 대한 스트로브 타이밍을 결정하고, 상기 결정한 스트로브 타이밍을 기억하는 스트로브 타이밍 기억 수단 및,
    상기 스트로브 타이밍 기억 수단을 기억하는 스트로브 타이밍에 따라 상기 데이터선의 데이터에 대한 스트로브 신호를 생성하여 출력하는 스트로브 신호 발생 회로
    를 포함하는 인터페이스 회로.
KR10-2001-0006932A 2000-02-14 2001-02-13 인터페이스 회로 KR100383501B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2000034830 2000-02-14
JP2000-034830 2000-02-14
JP2000-192565 2000-06-27
JP2000192565 2000-06-27
JP2000-261152 2000-08-30
JP2000261152A JP2002082830A (ja) 2000-02-14 2000-08-30 インターフェイス回路

Publications (2)

Publication Number Publication Date
KR20010082149A KR20010082149A (ko) 2001-08-29
KR100383501B1 true KR100383501B1 (ko) 2003-05-12

Family

ID=27342343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0006932A KR100383501B1 (ko) 2000-02-14 2001-02-13 인터페이스 회로

Country Status (5)

Country Link
US (1) US6715096B2 (ko)
JP (1) JP2002082830A (ko)
KR (1) KR100383501B1 (ko)
DE (1) DE10101036A1 (ko)
TW (1) TW538363B (ko)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050738A (ja) 2001-08-03 2003-02-21 Elpida Memory Inc キャリブレーション方法及びメモリシステム
US6741497B2 (en) * 2001-08-30 2004-05-25 Micron Technology, Inc. Flash memory with RDRAM interface
US20030056128A1 (en) * 2001-09-20 2003-03-20 Leddige Michael W. Apparatus and method for a selectable Ron driver impedance
DE10153862B4 (de) * 2001-11-02 2004-01-29 Texas Instruments Deutschland Gmbh Verfahren zum Übertragen von Daten zwischen wenigstens zwei über einen seriellen Datenbus miteinander verbundenen Modulen und serielle Schnittstelle zur Durchführung des Verfahrens
US7076678B2 (en) * 2002-02-11 2006-07-11 Micron Technology, Inc. Method and apparatus for data transfer
US6941484B2 (en) * 2002-03-01 2005-09-06 Intel Corporation Synthesis of a synchronization clock
US6819599B2 (en) * 2002-08-01 2004-11-16 Micron Technology, Inc. Programmable DQS preamble
JP4136577B2 (ja) * 2002-09-30 2008-08-20 Necエレクトロニクス株式会社 メモリコントロール装置およびデータ処理装置
JP4109951B2 (ja) 2002-10-01 2008-07-02 株式会社アドバンテスト マルチストローブ装置、試験装置、及び調整方法
US7406646B2 (en) * 2002-10-01 2008-07-29 Advantest Corporation Multi-strobe apparatus, testing apparatus, and adjusting method
JP4002811B2 (ja) * 2002-10-04 2007-11-07 株式会社アドバンテスト マルチストローブ生成装置、試験装置、及び調整方法
DE10246790B4 (de) * 2002-10-08 2013-10-31 Qimonda Ag Integrierter Speicher
US7198197B2 (en) * 2002-11-05 2007-04-03 Rambus, Inc. Method and apparatus for data acquisition
US7036053B2 (en) * 2002-12-19 2006-04-25 Intel Corporation Two dimensional data eye centering for source synchronous data transfers
US7313210B2 (en) * 2003-02-28 2007-12-25 Hewlett-Packard Development Company, L.P. System and method for establishing a known timing relationship between two clock signals
US7496803B2 (en) * 2003-09-10 2009-02-24 Intel Corporation Method and apparatus for testing an integrated device's input/output (I/O)
US20050083095A1 (en) * 2003-10-16 2005-04-21 Tsvika Kurts Adaptive input/output buffer and methods thereof
US7127584B1 (en) * 2003-11-14 2006-10-24 Intel Corporation System and method for dynamic rank specific timing adjustments for double data rate (DDR) components
US7259606B2 (en) * 2004-01-27 2007-08-21 Nvidia Corporation Data sampling clock edge placement training for high speed GPU-memory interface
DE102004013929B3 (de) * 2004-03-22 2005-08-11 Infineon Technologies Ag Verfahren zum Steuern des Einlesens eines Datensignals sowie eine Eingangsschaltung für eine elektronische Schaltung
JP4291225B2 (ja) 2004-06-30 2009-07-08 富士通株式会社 パラレルデータを受信する装置および方法
JP4340889B2 (ja) * 2004-07-15 2009-10-07 横河電機株式会社 検査装置
KR100551475B1 (ko) * 2004-08-31 2006-02-14 삼성전자주식회사 비주기 클록옵션을 가지는 메모리 모듈과 모듈용 메모리칩 및 허브 칩
WO2006027026A1 (en) 2004-09-07 2006-03-16 Freescale Semiconductors, Inc Apparatus and control interface therefor
TWI253223B (en) * 2004-11-22 2006-04-11 Benq Corp Method of protecting an electronic device driven by dc motor and a testing circuit of the positioning signals thereof
US7543172B2 (en) * 2004-12-21 2009-06-02 Rambus Inc. Strobe masking in a signaling system having multiple clock domains
JP4662536B2 (ja) 2004-12-28 2011-03-30 パナソニック株式会社 タイミング調整方法及び装置
US7668274B2 (en) * 2005-04-06 2010-02-23 Freescale Semiconductor, Inc. Eye center retraining system and method
US7215584B2 (en) * 2005-07-01 2007-05-08 Lsi Logic Corporation Method and/or apparatus for training DQS strobe gating
US7587640B2 (en) * 2005-09-27 2009-09-08 Agere Systems Inc. Method and apparatus for monitoring and compensating for skew on a high speed parallel bus
JP5173216B2 (ja) * 2006-04-18 2013-04-03 パナソニック株式会社 半導体集積回路システム、半導体集積回路、オペレーティングシステム及び半導体集積回路の制御方法
US7804921B2 (en) * 2006-05-30 2010-09-28 Fujitsu Limited System and method for decoupling multiple control loops
US7752475B2 (en) * 2006-06-27 2010-07-06 International Business Machines Corporation Late data launch for a double data rate elastic interface
US7734944B2 (en) * 2006-06-27 2010-06-08 International Business Machines Corporation Mechanism for windaging of a double rate driver
US7783911B2 (en) * 2006-06-27 2010-08-24 International Business Machines Corporation Programmable bus driver launch delay/cycle delay to reduce elastic interface elasticity requirements
US7739538B2 (en) * 2006-06-27 2010-06-15 International Business Machines Corporation Double data rate chaining for synchronous DDR interfaces
US7882322B2 (en) * 2006-06-27 2011-02-01 International Business Machines Corporation Early directory access of a double data rate elastic interface
EP1873959A3 (en) * 2006-06-30 2012-07-25 Semiconductor Energy Laboratory Co., Ltd. Clock synchronization circuit and semiconductor device provided therewith
US20080043782A1 (en) * 2006-08-15 2008-02-21 Maurizio Skerlj Method and apparatus for checking the position of a receive window
US20080109672A1 (en) * 2006-11-08 2008-05-08 Sicortex, Inc Large scale computing system with multi-lane mesochronous data transfers among computer nodes
US20080112255A1 (en) * 2006-11-15 2008-05-15 Aaron John Nygren Training of signal transfer channels between memory controller and memory device
JP2008152409A (ja) * 2006-12-15 2008-07-03 Renesas Technology Corp 半導体集積回路
KR100834397B1 (ko) * 2007-01-10 2008-06-04 주식회사 하이닉스반도체 내부클럭을 테스트할 수 있는 반도체 메모리 장치
JP4753895B2 (ja) * 2007-02-20 2011-08-24 ルネサスエレクトロニクス株式会社 遅延調整回路を有するアレイ型プロセッサ
KR100859941B1 (ko) * 2007-04-10 2008-09-23 삼성에스디아이 주식회사 인터페이스 시스템 및 이를 이용한 평판 표시장치
US20080272817A1 (en) * 2007-05-04 2008-11-06 Niels Fricke Integrated Circuit on a Semiconductor Chip with a Phase Shift Circuit and a Method for Digital Phase Shifting
KR100907928B1 (ko) * 2007-06-13 2009-07-16 주식회사 하이닉스반도체 반도체 메모리 장치
WO2009001451A1 (ja) * 2007-06-27 2008-12-31 Advantest Corporation 検出装置及び試験装置
KR100898305B1 (ko) * 2007-10-08 2009-05-19 주식회사 티엘아이 3라인 차동 신호법을 위한 클락 임베디드 차동 데이터수신장치
US7636262B2 (en) * 2007-10-25 2009-12-22 International Business Machines Corporation Synchronous memory having shared CRC and strobe pin
JP2009141744A (ja) * 2007-12-07 2009-06-25 Hitachi Ulsi Systems Co Ltd 通信装置及び半導体装置
US8781053B2 (en) * 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
US8467486B2 (en) * 2007-12-14 2013-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
US20100312981A1 (en) * 2008-01-29 2010-12-09 Panasonic Corporation Memory access timing adjustment device and memory access timing adjustment method
JP2009284388A (ja) * 2008-05-26 2009-12-03 Olympus Corp A/d変換回路および固体撮像装置
TWI362834B (en) 2008-05-26 2012-04-21 Novatek Microelectronics Corp Differential transmitter and auto-adjustment method of data strobe thereof
US8094766B2 (en) * 2008-07-02 2012-01-10 Teradyne, Inc. Tracker circuit and method for automated test equipment systems
JP2010086246A (ja) * 2008-09-30 2010-04-15 Nec Electronics Corp メモリインターフェース及びメモリインターフェースの動作方法
JP5407551B2 (ja) * 2009-05-22 2014-02-05 富士通セミコンダクター株式会社 タイミング調整回路及びタイミング調整方法
JP5483172B2 (ja) * 2009-10-19 2014-05-07 横河電機株式会社 データ転送装置およびデータ転送方法
CN102129414B (zh) * 2010-01-15 2013-12-04 华为技术有限公司 一种变频总线适配器、适配方法及系统
US8300464B2 (en) 2010-04-13 2012-10-30 Freescale Semiconductor, Inc. Method and circuit for calibrating data capture in a memory controller
TWI451428B (zh) 2010-06-03 2014-09-01 Sunplus Technology Co Ltd 於完整記憶體系統中具有先進特徵的記憶體測試系統
KR101103252B1 (ko) * 2010-07-16 2012-01-11 주식회사 에이디텍 2개의 신호선을 사용하는 데이터 전송 장치
CN102339650A (zh) * 2011-10-20 2012-02-01 中兴通讯股份有限公司 一种内存条测试装置及测试方法
KR101919903B1 (ko) * 2012-09-14 2018-11-19 삼성전자 주식회사 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법
KR102013583B1 (ko) * 2012-11-13 2019-08-23 에스케이하이닉스 주식회사 반도체 시스템
US20150033062A1 (en) * 2013-07-26 2015-01-29 Mediatek Inc. Apparatus and method for controlling controllable clock source to generate clock signal with frequency transition
US8976596B1 (en) 2013-08-23 2015-03-10 Kabushiki Kaisha Toshiba Controller
US9021154B2 (en) 2013-09-27 2015-04-28 Intel Corporation Read training a memory controller
US9154130B2 (en) * 2014-01-14 2015-10-06 Analog Devices, Inc. Four-state input detection circuitry
JP6367591B2 (ja) * 2014-03-31 2018-08-01 株式会社メガチップス データストローブエッジ検出回路、データストローブ処理回路及びデータリード回路
US9535119B2 (en) * 2014-06-30 2017-01-03 Intel Corporation Duty cycle based timing margining for I/O AC timing
US9811273B1 (en) * 2014-12-23 2017-11-07 Cadence Design Systems, Inc. System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory
KR102390917B1 (ko) 2015-10-16 2022-04-27 삼성전자주식회사 리드 인터페이스 장치의 클린 데이터 스트로브 신호 생성회로
JP6763715B2 (ja) * 2016-07-11 2020-09-30 ローム株式会社 タイミングコントローラ、その制御方法、それを用いた電子機器
KR20180046428A (ko) * 2016-10-27 2018-05-09 삼성전자주식회사 메모리 장치 및 그것의 트레이닝 방법
US10312892B2 (en) * 2017-01-31 2019-06-04 International Business Machines Corporation On-chip waveform measurement
KR102353027B1 (ko) * 2017-07-03 2022-01-20 삼성전자주식회사 스토리지 장치의 데이터 트레이닝 방법
CN107369932A (zh) * 2017-08-08 2017-11-21 四川华丰企业集团有限公司 具有多层布线印制板的高速背板连接器
KR102340446B1 (ko) * 2017-09-08 2021-12-21 삼성전자주식회사 스토리지 장치 및 그것의 데이터 트레이닝 방법
KR102523101B1 (ko) 2018-01-10 2023-04-18 삼성전자주식회사 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치
KR102490577B1 (ko) * 2018-04-17 2023-01-25 에스케이하이닉스 주식회사 수신 회로, 이를 이용하는 반도체 장치 및 반도체 시스템
US10591538B2 (en) 2018-07-26 2020-03-17 Winbond Electronics Corp. Data reading device and data reading method for design-for-testing
KR20200048607A (ko) 2018-10-30 2020-05-08 삼성전자주식회사 모드 레지스터 쓰기 명령을 이용하여 쓰기 클럭의 듀티 사이클의 트레이닝을 수행하는 시스템 온 칩, 시스템 온 칩의 동작 방법, 및 시스템 온 칩을 포함하는 전자 장치
EP3661056B1 (en) * 2018-11-27 2022-05-25 STMicroelectronics Application GmbH Processing system, related integrated circuit, device and method
US10884969B2 (en) * 2019-02-04 2021-01-05 Intel Corporation Elastic eye widening circuit
CN109828879A (zh) * 2019-03-01 2019-05-31 晶晨半导体(上海)股份有限公司 硬件设备的调试方法、装置、计算机设备及存储介质
CN113342722A (zh) * 2021-06-24 2021-09-03 Oppo广东移动通信有限公司 眼图质量的优化方法、装置、电子设备和存储介质
CN114783499A (zh) * 2022-04-11 2022-07-22 长鑫存储技术有限公司 一种存储器的测试方法、装置及存储器系统
KR20230159767A (ko) * 2022-05-13 2023-11-22 삼성디스플레이 주식회사 표시 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0125699A3 (en) * 1983-05-17 1986-10-08 Kabushiki Kaisha Toshiba Data output circuit for dynamic memory device
US5235685A (en) * 1989-05-11 1993-08-10 Data General Corp. Interface bus with independent data, command and direct control sections for parallel transfer of information between host and intelligent storage
WO1994019747A1 (en) * 1993-02-17 1994-09-01 3Com Corporation System for reading dynamically changing data
AU703750B2 (en) * 1994-10-14 1999-04-01 Compaq Computer Corporation Easily programmable memory controller which can access different speed memory devices on different cycles
JPH08123717A (ja) 1994-10-25 1996-05-17 Oki Electric Ind Co Ltd 半導体記憶装置
US5577236A (en) 1994-12-30 1996-11-19 International Business Machines Corporation Memory controller for reading data from synchronous RAM
US6115318A (en) * 1996-12-03 2000-09-05 Micron Technology, Inc. Clock vernier adjustment
US6209072B1 (en) * 1997-05-06 2001-03-27 Intel Corporation Source synchronous interface between master and slave using a deskew latch
US5946712A (en) 1997-06-04 1999-08-31 Oak Technology, Inc. Apparatus and method for reading data from synchronous memory
JP2000031951A (ja) * 1998-07-15 2000-01-28 Fujitsu Ltd バースト同期回路
US6108795A (en) * 1998-10-30 2000-08-22 Micron Technology, Inc. Method for aligning clock and data signals received from a RAM

Also Published As

Publication number Publication date
US6715096B2 (en) 2004-03-30
TW538363B (en) 2003-06-21
KR20010082149A (ko) 2001-08-29
US20010014922A1 (en) 2001-08-16
JP2002082830A (ja) 2002-03-22
DE10101036A1 (de) 2001-08-30

Similar Documents

Publication Publication Date Title
KR100383501B1 (ko) 인터페이스 회로
US6430696B1 (en) Method and apparatus for high speed data capture utilizing bit-to-bit timing correction, and memory device using same
US6032274A (en) Method and apparatus for compressed data testing of more than one memory array
US5935263A (en) Method and apparatus for memory array compressed data testing
US6662304B2 (en) Method and apparatus for bit-to-bit timing correction of a high speed memory bus
US8065461B2 (en) Capturing read data
US6804743B2 (en) Two step memory device command buffer apparatus and method and memory devices and computer systems using same
JP4936746B2 (ja) 半導体装置
US8300482B2 (en) Data transfer circuit and semiconductor memory device including the same
US6412052B2 (en) Method and apparatus for detecting an initialization signal and a command packet error in packetized dynamic random access memories
US7634677B2 (en) Circuit and method for outputting aligned strobe signal and parallel data signal
US6301322B1 (en) Balanced dual-edge triggered data bit shifting circuit and method
US7522459B2 (en) Data input circuit of semiconductor memory device
US6415374B1 (en) System and method for supporting sequential burst counts in double data rate (DDR) synchronous dynamic random access memories (SDRAM)
US8209560B2 (en) Transmission system where a first device generates information for controlling transmission and latch timing for a second device
US8737145B2 (en) Semiconductor memory device for transferring data at high speed
US8248126B2 (en) Clock control circuit and data alignment circuit including the same
US20010021960A1 (en) Memory device command buffer apparatus and method and memory devices and computer systems using same
US8050135B2 (en) Semiconductor memory device
US7843761B2 (en) Semiconductor memory device
US6788589B2 (en) Programmable latch circuit inserted into write data path of an integrated circuit memory
US7143257B2 (en) Method and apparatus of a smart decoding scheme for fast synchronous read in a memory system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120418

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20130404

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee