KR19990088104A - 데이타고속전송동기시스템및데이타고속전송동기방법 - Google Patents

데이타고속전송동기시스템및데이타고속전송동기방법 Download PDF

Info

Publication number
KR19990088104A
KR19990088104A KR1019990016302A KR19990016302A KR19990088104A KR 19990088104 A KR19990088104 A KR 19990088104A KR 1019990016302 A KR1019990016302 A KR 1019990016302A KR 19990016302 A KR19990016302 A KR 19990016302A KR 19990088104 A KR19990088104 A KR 19990088104A
Authority
KR
South Korea
Prior art keywords
delay
clock
output
data
unit
Prior art date
Application number
KR1019990016302A
Other languages
English (en)
Other versions
KR100425661B1 (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 KR19990088104A publication Critical patent/KR19990088104A/ko
Application granted granted Critical
Publication of KR100425661B1 publication Critical patent/KR100425661B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • 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/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

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

Abstract

메모리 보드 시스템에서 정상적인 데이타 전송이 행해지기 위해서는, 클럭 TCLK, RCLK와 데이타가 데이타 버스 상에서 항상 동기하고 있어야 한다. 그러나, 종래 이 조건을 완전히 만족시킬 수 없었다. 본 발명은, 메모리 모듈마다에 내부 클럭을 발생하고, 이 내부 클럭의 타이밍을 매 메모리 모듈에서 조정할 수 있도록 하고 있다.
복수의 메모리 모듈내에는, 클럭으로부터 이 클럭에 동기한 내부 클럭을 발생하고 동시에 이 내부 클럭의 타이밍의 편차를 보정하는 기능을 가지는 내부 클럭 발생 회로가 설치되어 있다.

Description

데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법{DATA SYNCHRONOUS TRANSMITTING SYSTEM AND METHOD OF SYNCHRONOUSLY TRANSMITTING DATA}
본 발명은 복수의 메모리 모듈과 이들 복수의 메모리 모듈를 제어하여 복수의 메모리 모듈사이에서 데이타의 교환을 행하는 메모리 컨트롤러가 실장된 메모리 보드 시스템에 관한 것으로, 특히 메모리 컨트롤러와 메모리 모듈로 이루어지는 환경이 달라도, 클럭에 동기한 데이타의 고속 전송을 확실하게 행할 수 있도록 한 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법에 관한 것이다.
정보 처리 장치의 분야에서는 MPU(마이크로 프로세서 유닛)의 성능이 향상되고, 사용되는 IC 메모리의 용량도 256M 비트, 1G 비트로 비약적으로 증대하고 있다. 이러한 상황에서, 여러개의 IC 메모리가 실장된 메모리 모듈과 MPU사이에서, 대량의 데이타를 어떻게 효율적으로 전송하는지에 대한 것이 점점 중요해지고 있다.
일반적으로 복수의 메모리 모듈은 메모리 컨트롤러와 조합되어 메모리 보드 시스템이 구성된다.
도 38은 일반적인 메모리 보드 시스템의 개략적인 구성을 나타내고 있다. 클럭은, 메모리 컨트롤러(이하, 단순히 컨트롤러라고 칭함) MEC 내에 설치된 클럭 발생기 CG에 의해 만들어진다. 클럭 발생기 CG에 의해 만들어진 클럭은, 복수의 메모리 모듈 MM1∼MMn의 열을 TCLK로서 차례로 통과하고, 컨트롤러 MEC로부터 가장 떨어진 메모리 모듈 MMn의 위치에서 반환되고, 또한 복수의 메모리 모듈의 열을 상기와는 역방향으로 RCLK로서 차례로 통과하여, 컨트롤러 MEC까지 전달된다.
한편, 컨트롤러 MEC로부터 출력되는 커맨드는, 커맨드 버스를 경유하여 상기 복수의 메모리 모듈 MM1∼MMn으로 전해진다. 각 메모리 모듈은, 클럭 TCLK에 동기하여 상기 커맨드 버스로부터 커맨드를 취득하고, 클럭 RCLK에 동기하여 데이타를 데이타 버스 상에 출력한다. 데이타 버스에 출력된 각 메모리 모듈로부터의 판독 데이타는 컨트롤러 MEC에 입력된다.
각 메모리 모듈에 기록하는 데이타는 컨트롤러로부터 데이타 버스 상에 출력된다. 각 메모리 모듈은, 클럭 TCLK에 동기하여 데이타 버스로부터 데이타를 취득하고, 그 후 데이타를 기록한다. 또, 메모리 보드 시스템에는 상기 클럭 TCLK, RCLK를 전송하는 클럭 버스, 커맨드 버스 및 데이타 버스 외에 어드레스 버스가 설치되지만, 도 38의 시스템에서는 이 어드레스 버스의 도시는 생략하고 있다.
그런데, 각 메모리 모듈은 각각 상기 클럭 TCLK, RCLK에 동기하여 내부 클럭을 발생하고, 이 내부 클럭에 동기하여 데이타의 판독/기록 동작을 제어하고 있다. 또한, 이러한 내부 클럭을 만드는 회로는, 본 발명자에 의한 특원평 9-100490호에 따른 출원으로 싱크로너스·어저스터블·딜레이(SAD: Synchronous Adjustable DeLay)로서 제안되고 있다.
도 38에 도시된 시스템으로 정상적인 데이타 전송이 행해지기 위한 조건은, 클럭 버스 상을 전파하는 클럭 TCLK, RCLK와, 데이타 버스 위를 전파하는 데이타가 항상 동기하는 것이다. 그러나, 이 조건을 완전히 만족시키는 것은 어렵다. 우선, 클럭을 전하는 클럭 버스와, 데이타를 전하는 데이타 버스 및 커맨드를 전하는 커맨드 버스의 물리적 조건 예를 들면, 저항치나 캐패시턴스등의 조건을 완전히 갖추는 것은 곤란하다.
이 때문에, 예를 들면 어느 한 메모리 모듈이 클럭 RCLK에 동기하여 데이타를 데이타 버스 상에 출력해도, 컨트롤러에는 클럭 RCLK와 데이타가 약간의 편차를 생기게 하여 도착한다. 이 편차는 당연히, 메모리 모듈이 놓여져 있는 위치마다 다르다. 클럭의 주기가 이 편차에 대해 클 때에는 컨트롤러측에서 데이타 윈도우, 즉 데이타의 취득 기간을 충분히 확보할 수 있으므로, 이 편차는 문제가 되지 않는다.
그러나, 클럭 주기가 작아지면, 이 편차는 클럭 버스등에서의 저항치등의 물리적 조건으로 결정되므로, 클럭 버스나 데이타 버스의 물리적 조건을 될 수 있는 한 동일하게 하고, 이 편차를 작게 하여 고속 데이타 전송에 대응할 수밖에 없다.
그런데, 이와 같이 하면 메모리 시스템의 자유도가 없어진다. 이하, 이 점에 대해 도 39를 이용하여 설명한다.
도 39의 (a)는 컨트롤러 MEC와 3개의 메모리 모듈 MM1∼MM3이 실장된 메모리 보드 시스템의 구성을 나타내고 있고, 도 39의 (b)은 컨트롤러 MEC와 4개의 메모리 모듈 MM1∼MM4가 실장된 메모리 보드 시스템의 구성을 나타내고 있다. 클럭 버스와 데이타 버스에 대한 메모리 모듈의 부하 조건은 반드시 동일하지 않으므로, 이 양 시스템 중 어느 한쪽에서 클럭 버스와 데이타 버스의 물리 조건을 일치시키면, 다른 쪽에서는 이 일치 조건으로부터 벗어나는 경우가 있다.
그래서 예를 들면 도 39의 (b)의 시스템으로 버스 조건을 일치시켰다고 가정하고, 메모리 모듈 MM3으로부터 컨트롤러 MEC로 신호가 전파하는 경우를 생각한다. 도 40의 (a)에는, 도 39의 (a) 및 (b)에 기재된 시스템에서의 메모리 모듈 MM3에서의 클럭 RCLK와 데이타의 타이밍이 나타내어져 있다. 또한, 도 40의 (b)에는, 도 39의 (a) 및 (b)에 기재된 시스템에서의 컨트롤러 MEC에서의 클럭 RCLK와 데이타의 타이밍이 나타내어져 있다.
도 40에 도시된 바와 같이, 도 39의 (b)의 시스템으로 버스 조건을 일치시키고 있으므로, 도 39의 (b)의 시스템에 대응하는 데이타와 컨트롤러 MEC의 위치에서 클럭 RCLK는 동기하고 있다. 이에 대해, 도 39의 (a)의 시스템에 대응하는 데이타는 클럭 RCLK에 대해 버스 지연 시간이 다르므로, 도시된 바와 같이 컨트롤러의 위치에서 동기를 취할 수 없게 된다. 예를 들면 굵은 선으로 나타낸 바와 같이 어긋나면, 컨트롤러는 클럭 RCLK의 상승의 타이밍으로는 더이상 데이타를 취득할 수 없게 된다.
여기서, 버스의 특성의 편차가 어느 정도 타이밍에 영향을 끼치는지를 예상해 둔다. 이상적인 경우에서 생각하면, 단위 길이(㎝)당의 용량 C와 인덕턴스 L의 신호선에서는, 신호는 단위 길이를 (CL)1/2의 시간으로 전한다. 일반적인 메모리 보드 시스템에서, C의 값이 5∼7pF, L의 값이 15∼20nH 정도라고 하면, 신호의 단위 길이당 지연 시간은 0.27 ∼ 0.37nS가 된다. 따라서, 단위 길이당 변동은 약 0.1nS가 되고, 메모리 모듈 전체의 크기를 10㎝로 하면, 타이밍의 변동은 1nS가 된다. 이것은 특정한 컨트롤러와 메모리 모듈로 이루어지는 시스템에서 타이밍을 최적화해도, 다른 시스템에서는 1nS정도 어긋나는 것을 의미한다.
변동과 같은 정도의 데이타 윈도우, 즉 데이타 취득 기간이 요구된다고 하면, 2nS의 주기 즉 500㎒ 정도까지는, 버스의 물리 조건을 완전히 갖추어야 한다는 조건을 엄격하게 하지 않아도, 데이타 전송을 행할 수 있다. 또, 커맨드는 클럭 TCLK에 대해 매사이클 들어가지 않고, 2 사이클마다 등과 같이 데이타보다 타이밍 규정을 느슨하게 할 수 있으므로, 데이타만큼 클럭과의 동기성은 필요하지 않다.
이와 같이 복수의 메모리 모듈과 메모리 컨트롤러로 이루어지는 종래의 메모리 보드 시스템에서는, 데이타의 전송 속도를 고속화하기 때문에 클럭의 주기가 보다 짧아지면, 메모리 모듈의 버스 상에서의 위치나 버스 시스템의 환경에 따라서는 정상적인 동작을 기대할 수 없게 된다는 문제가 있다.
본 발명은 상기된 바와 같은 사정을 고려하여 행해진 것으로, 그 목적은 메모리 모듈과 메모리 컨트롤러사이의 버스의 물리 조건을 그 정도로 엄격하게 제한하지 않아도, 고속의 동기형 데이타 전송을 실현할 수 있는 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법을 제공하는 것에 있다.
본 발명의 데이타 고속 전송 동기 시스템은, 클럭을 취득하고, 이 클럭에 동기하여 동작하는 복수의 메모리 모듈과, 상기 클럭을 발생시켜, 상기 복수의 메모리 모듈사이에서 데이타의 전송이 행해지는 메모리 컨트롤러와, 상기 복수의 메모리 모듈 내에 각각 설치되고, 상기 클럭으로부터 이 클럭에 동기한 내부 클럭을 발생시키고, 또한 이 내부 클럭의 타이밍을 변이시켜 보정하는 기능을 구비한 내부 클럭 발생 회로를 구비하고 있다.
본 발명의 데이타 고속 전송 동기 방법은, 클럭을 취득하고, 이 클럭에 동기하여 동작하는 복수의 메모리 모듈과, 상기 클럭을 발생시키고, 상기 복수의 메모리 모듈사이에서 데이타의 전송이 행해지는 메모리 컨트롤러와, 상기 복수의 메모리 모듈내에 각각 설치되고, 상기 클럭으로부터 이 클럭에 동기한 내부 클럭을 발생시키고, 또한 이 내부 클럭의 타이밍을 변이시켜 보정하는 기능을 구비한 내부 클럭 발생 회로를 구비하고, 상기 내부 클럭 발생 회로는, 상기 클럭을 취득하는 제1 버퍼와, 상기 제1 버퍼의 출력을 취득하고, 상기 제1 버퍼에서의 지연 시간과 동등한 지연 시간을 구비하고, 제1 버퍼의 출력을 지연하는 제1 지연 회로와, 상기 제1 지연 회로로부터의 출력을 취득하고, 이 제1 지연 회로로부터의 출력을 고정된 일정시간 지연되는 제2 지연 회로와, 상기 제2 지연 회로로부터의 출력을 취득하는 제2 버퍼와, 다단 종속 접속된 복수의 제1 지연 유닛을 구비하고, 상기 제2 버퍼의 출력을 취득하고, 이 제2 버퍼의 출력을 상기 클럭의 주기에 따른 기간 중, 상기 복수의 제1 지연 유닛으로 전달하여 지연하는 제3 지연 회로와, 다단 종속 접속된 복수의 제2 지연 유닛을 구비하고, 상기 제3 지연 회로에서 지연되는 신호가 공급되고, 이 신호를 상기 제2 버퍼의 출력이 전달한 상기 제1 지연 유닛과 동일한 수의 제2 지연 유닛으로 전달하여 지연하는 제4 지연 회로와, 상기 제4 지연 회로로부터의 출력을 취득하고, 이 제4 지연 회로로부터의 출력을 제어 신호에 따른 시간만큼 지연하여 출력하는 가변 지연 회로와, 상기 제2 버퍼에서의 지연 시간과 동등한 지연 시간을 구비하고, 상기 가변 지연 회로로부터의 출력을 취득하여 상기 내부 클럭을 발생시키는 제3 버퍼로 구성되는 데이타 고속 전송 동기 시스템을 구비하고, 상기 복수의 메모리 모듈에 대해 소정의 데이타 패턴을 저장시키고, 미리 각 메모리 모듈에 저장되는 데이타 패턴을 상기 복수의 메모리 모듈로부터 판독하여 상기 메모리 컨트롤러에 전송시키고, 상기 메모리 컨트롤러에서 상기 각 메모리 모듈로부터 전송된 데이타 패턴과 원래의 소정의 데이타 패턴과의 일치 비교를 행하고, 상기 양데이타 패턴이 일치하도록 상기 제어 신호를 설정하도록 하고 있다.
도 1은 본 발명의 원리를 설명하기 위해서 사용되는 일반적인 메모리 보드 시스템의 개략적인 구성을 나타내는 블럭도 및 그 타이밍차트.
도 2는 선원에 기재된 SAD(Synchronous Adjustable Delay)를 논리 게이트 레벨 및 심볼로 표현한 회로도.
도 3은 도 2와는 다른 종래의 SAD의 구성을 나타내는 블럭도.
도 4는 도 3에 도시한 SAD의 지연 회로의 상세한 구성을 나타내는 회로도.
도 5는 도 3에 도시한SAD의 동작의 일례를 나타내는 타이밍차트.
도 6은 본 발명의 제1 실시예에서 사용되는 SAD의 구성을 나타내는 회로도.
도 7은 도 6의 SAD 중 가변 지연부의 구체적인 회로 구성도.
도 8은 도 7의 가변 지연부에 설치되는 스위치 회로의 구체적인 구성을 나타내는 회로도.
도 9는 도 8에 도시하는 스위치 회로의 제어에 사용되는 제어 신호를 발생하는 제어 신호 발생 회로의 구성을 나타내는 블럭도.
도 10은 도 9에서의 1개의 회로 유닛의 상세한 회로 구성을 나타내는 도면.
도 11은 본 발명의 제1 실시예에 따른 시스템으로 사용되는 메모리 모듈의 내부 구성을 나타내는 블럭도.
도 12는 본 발명의 제1 실시예에서 4비트의 버스트 데이타를 전송하여 저장하는 경우의 동작을 나타내는 타이밍차트.
도 13은 본 발명의 제2 실시예에 따른 메모리 보드 시스템의 개략적인 블럭 구성을 나타내는 도면.
도 14는 제2 실시예에서의 복수의 클럭 간의 위상 관계를 나타내는 타이밍차트.
도 15는 제2 실시예에서 메모리 모듈이 데이타 버스 상에서 데이타의 충돌을 일으키지 않고서 또한 데이타 전송의 갭이 없이 데이타의 전송을 행하기 위한 타이밍 tM을 만드는 방법을 설명하기 위한 타이밍차트.
도 16은 제2 실시예에서의 복수의 내부 클럭 관계를 나타내는 타이밍차트.
도 17은 제2 실시예에서 SAD를 이용하여 타이밍 tM을 만드는 구체적인 방법을 설명하기 위한 타이밍차트.
도 18은 도 16, 도 17 중 각 종 내부 클럭을 발생하는 내부 클럭 발생 회로의 구체적인 구성을 나타내는 회로도 및 그 동작을 설명하기 위한 타이밍차트.
도 19는 도 17에 도시한 내부 타이밍 클럭을 발생하는 회로의 구체적인 구성을 나타내는 도면.
도 20은 제2 실시예에서 타이밍 tM을 발생하는 회로의 회로도.
도 21은 제2 실시예에서 클럭 TCLK에서 데이타를 출력하는 경우의 내부 타이밍의 발생의 방법을 설명하기 위한 타이밍차트.
도 22는 제2 실시예에서 클럭의 상승에 동기한 내부 클럭과 180도 위상이 어긋난 클럭을 발생하는 회로의 구성을 나타내는 도면.
도 23은 제2 실시예에서 내부 클럭 Tou, Teu, Rou, Reu에 가변 지연 기능을 갖게 하도록 한 내부 클럭 발생 회로의 회로도.
도 24는 외부 클럭과 이외에 부 클럭이 갖는 지터와의 관계를 나타내는 타이밍차트.
도 25는 본 발명의 제3 실시예의 원리를 설명하기 위한 타이밍차트.
도 26은 도 3에 도시한 SAD를 재기록하여 나타내는 블럭도.
도 27은 제3 실시예에서 외부 클럭에 포함되는 지터를 2사이클로 평균화하는 경우의 SAD의 구성을 나타내는 블럭도.
도 28은 제3 실시예에서 외부 클럭에 포함되는 지터를 2사이클로 평균화하는 경우의 BD의 구성을 나타내는 블럭도.
도 29는 제3 실시예에서 외부 클럭에 포함되는 지터를 4사이클로 평균화하는 경우의 BD의 구성을 나타내는 블럭도.
도 30은 제3 실시예에서 외부 클럭에 포함되는 지터를 2사이클로 평균화할 때에 BD의 소블럭을 1 지연 유닛으로 한 경우의 BD의 구체적인 회로 구성을 나타내는 도면.
도 31은 제3 실시예에서 외부 클럭에 포함되는 지터를 2사이클로 평균화할 때에 FD의 소블럭을 1지연 유닛으로 한 경우의 FD가 구체적인 회로 구성을 나타내는 도면.
도 32는 제3 실시예에서 외부 클럭에 포함되는 지터를 2사이클로 평균화할때의 상태 유지부를 그 클럭 사이클마다 셋트/ 리셋의 그룹 선택을 행하기 위한 제어부와 같이 나타내는 회로도.
도 33은 도 32의 회로에서 사용되는 제어 신호 Fo, Fe를 발생하는 제어 신호 발생 회로의 회로도.
도 34는 제3 실시예에 있어서, 외부 클럭에 포함되는 지터를 4사이클로 평균화할 때에 FD의 소블럭을 1지연 유닛으로 한 경우의 FD의 구체적인 회로 구성을 나타내는 도면.
도 35는 제3 실시예에서 외부 클럭에 포함되는 지터를 4사이클로 평균화할 때에 FD의 소블럭을 1지연 유닛으로 한 경우의 FD의 구체적인 회로 구성을 나타내는 도면.
도 36은 제3 실시예에서 외부 클럭에 포함되는 지터를 4사이클로 평균화할 때의 상태 유지부를 그 클럭 사이클마다 셋트/ 리셋의 그룹 선택을 행하기 위한 제어부와 함께 나타내는 회로도.
도 37은 도 36의 회로에서 사용되는 제어 신호 Fa, Fb, Fc, Fd를 발생하는 제어 신호 발생 회로의 회로도.
도 38은 일반적인 메모리 보드 시스템의 개략적인 구성을 나타내는 블럭도.
도 39는 메모리 컨트롤러와 다른 수의 메모리 모듈이 실장된 여러가지의 메모리 보드 시스템의 구성을 나타내는 블럭도.
도 40은 도 39에 도시한 여러가지의 메모리 보드 시스템에서의 동작 타이밍의 차이를 설명하기 위한 타이밍차트.
<도면의 주요 부분에 대한 부호의 설명>
11 : 입력 버퍼
13 : SAD(Synchronous Adjustable Delay)
26, 27 : 지연 회로
51, 53, 54, 56, 57 : 버퍼
52, 55 : 가변 지연부
61 : 단위 지연 소자
62-1, 62-2 : 스위치 회로
63, 64, 68 : P 채널 MOS 트랜지스터
65, 66, 69, 74 ∼ 85 : N 채널 MOS 트랜지스터
67 : CMOS형 클럭드 인버터
70 : CMOS형의 인버터
71 : 회로 유닛
72, 73 : 레지스터
86 : NAND 게이트
87 : 인버터
91, 92 : SAD
93 : 커맨드 디코더
94, 95 : 제어 회로
96 : 데이타 입력 제어 회로
97 : 데이타 출력 제어 회로
101, 102, 111, 113, 115, 117, 121, 123 : 버퍼
103 ∼ 106 : NAND 게이트
114 : AND 게이트
116, 122, 124, 125 : SAD
126, 127, 128 : OR 게이트
130 : 지연 유닛의 블럭
131 : AND 게이트
141, 142, 151, 152 : 클럭드 인버터
143, 144, 153, 154 : NOR 게이트
161, 162, 191, 192 : P 채널 MOS 트랜지스터
163, 164, 193, 194 : N 채널 MOS 트랜지스터
165, 166, 195, 196 : 인버터
167, 197 : NOR 게이트
168, 198 : NAND 게이트
169, 170, 199, 200, 201, 204, 225 : 인버터
171, 224 : AND 게이트
172, 173, 206, 207 : 지연 회로
174 ∼ 177, 203, 208 ∼ 211 : NAND 게이트
181, 182, 221, 222 : 클럭드 인버터
183, 223 : 정귀환 회로
202 : 지연 회로
205 : 에지 펄스 발생 회로
MEC : 메모리 컨트롤러
MM : 메모리 모듈
우선, 본 발명에 따른 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법의 원리에 대해 설명한다.
본 발명에서는, 앞의 도 38에 도시된 일반적인 메모리 보드 시스템에서, 컨트롤러와 복수의 메모리 모듈사이의 버스의 물리 조건을 엄격하게 제한하지 않아도, 예를 들면 500㎒ 이상의 클럭으로 데이타의 동기형 전송 제어가 가능한 방식으로서, 각 메모리 모듈 내에서 외부 클럭에 동기한 내부 클럭을 발생시킨다. 그리고, 이 내부 클럭에 일정한 지연을 부가 또는 감하여, 데이타의 입출력 타이밍을 조절하는 방식을 채용한다. 이러한 방식을 이용하면, 앞의 도 40에 도시된 바와 같은 메모리 모듈의 갯수의 차이에 따른 데이타와 클럭 RCLK의 타이밍의 편차에 따른 영향을, 메모리 컨트롤러가 취득하지 않도록 할 수 있다.
본 발명의 방식의 원리를 더욱 자세히 설명한다.
도 1의 (a)는 상기 도 38에 도시된 것과 마찬가지로, 컨트롤러 MEC와 3개의 메모리 모듈 MM1∼MM3이 실장되고, 이들이 클럭 버스, 데이타 버스 및 커맨드 버스로 접속된 메모리 보드 시스템의 구성을 도시하고 있고, 도 1의 (b)는 이 메모리 보드 시스템에서의 일부의 신호를 추출한 타이밍차트를 나타내고 있다.
앞의 도 40중에 굵은 선으로 나타낸 바와 같이, 컨트롤러에 도착한 데이타가 클럭 RCLK에 대해 지연되는 경우에는, 도 1에 도시된 바와 같이 데이타를 이송하는 측의 메모리 모듈, 예를 들면 메모리 모듈 MM3에서는 클럭 RCLK보다도 빠른 타이밍(도 1의 (b)의 t1)으로 데이타를 출력한다. 또한, 앞의 도 40중에 실선으로 나타낸 바와 같이, 컨트롤러에 데이타가 빠른 타이밍으로 도착하는 경우에는, 도 1에 도시된 바와 같이 데이타를 이송하는 측의 메모리 모듈에서는 클럭 RCLK보다도 느린 타이밍(도 1의 (b)의 t2)으로 데이타를 출력한다.
이와 같이, 컨트롤러에 데이타가 도착하는 타이밍에 따라, 메모리 모듈측으로부터 데이타를 출력하는 타이밍을 조절함으로써, 컨트롤러에는 항상 클럭 RCLK에 동기하여 데이타가 도착하고, 이에 따라 메모리 모듈과 컨트롤러사이의 고속 데이타 전송을 확실하게 행할 수 있다.
본 발명에서는 이러한 타이밍의 조절을 각 메모리 모듈마다 행하는 것으로, 또한 이러한 타이밍의 조절을 앞의 SAD를 이용하여 행한다.
여기서, 앞의 출원(특원평 9-100490호)에 따른 명세서 및 도면에 기재되어 있는 SAD에 대해 설명해 둔다.
도 2는, SAD를, 이 SAD에 대해 신호의 입출력을 행하는 입출력 버퍼와 함께 도시하고 있고, 도 2의 (a)는 회로를 논리 게이트 레벨로 표현한 것으로, 도 2의 (b)는 심볼로 표현한 것이다. 또, 도 2의 (a), (b)에서 대응하는 곳에는 동일한 부호를 붙여 설명을 행한다.
도 2에 도시된 SAD는, 외부 클럭 RCLK로부터 내부 클럭 intRC를 발생시키는 경우의 것을 예시하고 있지만, 다른 외부 클럭 TCLK로부터 내부 클럭 intTC를 발생시키는 SAD도 이와 마찬가지로 구성되어 있으므로, 그 설명은 생략한다.
도 2 중, 11은 외부 클럭 RCLK가 입력되고, 지연 D1을 구비한 입력 버퍼이다. 또한, 12는 상기 입력 버퍼(11)의 출력 신호 A를 취득하여 그 출력을 SAD(13)으로 공급하고, D(= D1 + D2)의 지연을 구비한 지연 회로이다. 14는 SAD(13)의 출력 신호를 취득하여 내부 클럭 intRC를 발생시키고, D2의 지연을 구비한 출력 버퍼이다. 또, 상기 입력 버퍼(11)의 출력 신호 A는 SAD(13)에 신호 B로서도 공급되고 있다.
상기 SAD(13) 내에는, 직렬 접속된 2개의 인버터(15, 16)와, 각각 NAND 게이트(17) 및 이 NAND 게이트(17)의 출력이 한쪽 입력단에 공급되는 NOR 게이트(18)로 이루어지고, 다단 종속 접속되는 여러개의 지연 유닛 DU1과, 각각 NAND 게이트(19) 및 이 NAND 게이트(19)의 출력이 한쪽 입력단에 공급되는 NOR 게이트(20)로 이루어지고, 다단 종속 접속되어 상기 지연 유닛 DU1과 동수의 지연 유닛 DU2와, 상기 인버터(15)의 출력 C와 상기 입력 버퍼(11)에서의 신호 B가 공급되는 NAND 게이트(21)와, 이 NAND 게이트(21)의 출력을 반전시켜 제어 신호 S를 출력하는 인버터(22)와, 상기 인버터(22)로부터 출력되는 신호 S와 타이밍을 맞추기 위해 상기 입력 B로부터의 지연이 동등해지도록 지연을 행하는 패스 게이트(23)와, 상기된 한쪽 지연 유닛 DU1과 다른쪽의 지연 유닛 DU2 사이에 각각 삽입된 각 NOR 게이트(24) 및 NAND 게이트(25)가 설치된다.
여기서, 다단 종속 접속된 여러개의 한쪽 지연 유닛 DU1로 전진 펄스 지연 회로(Forward Delay, 이하 FD라고 약칭함)로 구성되고, 마찬가지로 다단 종속 접속된 여러개의 다른쪽의 지연 유닛 DU2로 후진 펄스 지연 회로(Backward Delay, 이하 BD라고 약칭함)가 구성되어 있다.
상기 각 NOR 게이트(24) 및 NAND 게이트(25)는, 상기 FD로 지연된 신호를, 신호 B의 상승 타이밍에서 BD로 전달하는 제어를 행하는 것이고, 각 NOR 게이트(24)에는 상기 제어 신호/S 및 대응하는 한쪽 지연 유닛 DU1 내의 NAND 게이트(17)의 출력이 공급되고, 그 출력은 대응하는 다른쪽의 지연 유닛 DU2 내의 NOR 게이트(20)로 공급된다. 상기 각 NAND 게이트(25)에는 제어 신호 S 및 대응하는 한쪽 지연 유닛 DU1 내의 NOR 게이트(18)의 출력이 공급되고, 그 출력은 대응하는 다른 지연 유닛 DU2 내의 NAND 게이트(19)로 공급되고 있다.
이어서 도 2에 도시된 SAD의 동작을 간단히 설명한다. 외부 클럭 RCLK가 상승하면, 이 양의 펄스가 지연 회로(12)에서 지연량 D(= D1 + D2)만큼 지연된다. 그 후, 양의 펄스는 SAD(13)에 입력되고, FD의 NAND 게이트(17)와 NOR 게이트(18)를 교대로 전파해간다.
한편, SAD(13)에는, FD를 전파하는 펄스를 후진 펄스 지연 회로 BD에 음의 펄스로서 전송하는 타이밍을 설정하기 위한 신호 B가 입력된다. 그리고, 신호 A와 신호 B의 펄스이 상승하여 상호간에 상당하는 지연량 △가, FD를 진행시키는 양의 펄스의 상승 위치(NOR 게이트(18)의 출력의 상승 위치 또는 NAND 게이트(17)의 출력의 하강 위치)에서 검출되고, BD에 음의 펄스의 상승 위치에서 이동된다. 이 펄스를 이동시킬 때의 이동용 게이트가 되는 것이 FD와 BD 사이에 설치되는 NOR 게이트(24)와 NAND 게이트(25)이다. 신호 A와 신호 B는 같은 것이므로, 전사이클에 FD로 들어간 펄스를 우선 BD로 이동시키고, 지연량 D(= D1 + D2)를 거쳐 FD에 들어가는 펄스에는 BD로의 이동이 생기지 않도록, 신호 B로부터 신호 S로의 경로에 신호 A로부터의 펄스와의 NAND 게이트(21)가 삽입되어 있고, 신호 S의 출력이 금지되도록 되어 있다.
이러한 구성의 SAD에서는, 외부 클럭 RCLK의 주기 T에 따라 지연량△이 변화하고, 외부 클럭 RCLK의 일발째와 이발째에서 지연량△이 결정되고, 이발째 이후로부터 이 지연량△을 사용하여 내부 클럭 intRC가 만들어진다. 따라서, 내부 클럭 intRC는 세발째의 RCLK로부터 위상이 일치하도록 이루어진다.
여기서 외부 클럭 RCLK의 주기를 T라고 하면, D+△=T이기 때문에, RCLK 입력으로부터 T 후에 내부 클럭 intRC가 출력되고, 이것이 외부 클럭 RCLK에 동기하게 된다.
이러한 SAD를 각 메모리 모듈마다 설치함에 따라, 그 메모리 모듈이 취득하는 외부 클럭 RCLK에 동기한 타이밍을 만들 수 있다.
또, FD에서 지연되는 펄스는 각 NAND 게이트(17), NOR 게이트(18)의 어디에서도 BD 측으로 옮길 수 있으므로, 얻을 수 있는 내부 클럭 intRC의 타이밍의 정밀도는 논리 게이트 1개분이 된다.
이러한 방식으로 도 2에 도시된 회로에서는, 내부 클럭 intRC를 외부 클럭 RCLK에 대해 위상차 제로로 동기하여 발생시킬 수가 있다.
도 3은, 상기와는 다른 SAD의 구성을, 이 SAD에 대해 신호의 입출력을 행하는 입출력 버퍼와 함께 나타내는 블럭도이다. 또, 이 SAD에서도, 외부 클럭 RCLK로부터 내부 클럭 intRC를 발생시키는 경우의 것을 예시하고 있지만, 다른 외부 클럭 TCLK로부터 내부 클럭 intTC를 발생시키는 SAD도 이것과 마찬가지로 구성되어 있으므로, 그 설명은 생략한다.
외부 클럭 RCLK는, 지연량 D1을 구비한 입력 버퍼(31)에 입력된다. 이 입력 버퍼(31)는, 외부 클럭 RCLK에 대해 D1의 스큐(지연량)를 구비한 클럭 CLK를 출력한다. 이 클럭 CLK는, 지연량 D(= D1 + D2)를 구비한 지연 회로(32)에 입력되고, 이 지연 회로(32)는 전진 펄스 FCL1을 출력한다.
상기 클럭 CLK 및 이 클럭 CLK를 인버터(33)에 의해 반전한 클럭 /CLK는, 각각 n 개의 지연 회로(34-1 ∼ 34-n)에 입력된다. 이들 n 개의 지연 회로(34-l ∼ 34-n)는 다단으로 세로 접속 접속되어 있고, 초단의 지연 회로(34-1)에는 전진 펄스 FCL1이 입력되고, 이 지연 회로(34-1)로부터 후진 펄스 RCL1이 출력된다. 초단의 지연 회로(34-1)로부터 출력되는 후진 펄스 RCL1은 지연량 D2를 구비한 출력 버퍼(35)를 경유하여, 내부 클럭 intRC로서 출력된다.
또, 상기 각 지연 회로(34-i) (i=1∼n)의 동작은, 상기 클럭 CLK, /CLK가 입력되는 제어 펄스 발생 회로(36)로부터 출력되는 제어 펄스 P, /P에 기초하여 제어된다.
도 4는, 상기 도3에 도시된 SAD에서의 각 지연 회로(34-i)의 상세한 구성을 나타내고 있다. 각 지연 회로(34-i)는, FD, BD 및 상태 유지 회로(Sample Hold, 이하 SH라고 약칭함)의 3개의 부분으로 구성되어 있다.
FD는, 2개의 클럭드 인버터(41, 42)와 하나의 인버터(43)로 구성된 지연 유닛을 구비한다. 한쪽 클럭드 인버터(41)에는 전단의 지연 회로(34)로부터의 전진 펄스 FCLi가 입력되고, 다른쪽의 클럭드 인버터(42)에는 접지 전위("L")가 입력된다. 상기 한쪽 클럭드 인버터(41)는, 제어 펄스 /P가 "H"일 때에 동작하고, 입력되는 전진 펄스 FCLi를 반전하여 출력한다. 또한, 상기 다른쪽의 클럭드 인버터(42)는, 제어 펄스 P가 "H"일 때에 동작하고, 입력되어 있는 "L"의 신호 전위를 반전하여 "H"의 신호 전위를 출력한다. 상기 양클럭드 인버터(41, 42)의 출력 노드는 공통으로 접속되어 있고, 이 공통 접속 노드에 상기 인버터(43)의 입력 노드가 접속되어 있다. 그리고, 이 인버터(43)의 출력 신호가 후단의 지연 회로(34)에 FCLi+1로서 출력된다.
BD는, 2개의 클럭드 인버터(44, 45)와 하나의 인버터(46)로 구성된 지연 유닛을 구비한다. 한쪽 클럭드 인버터(44)에는 후단 지연 회로(34)의 후진 펄스 RCLi+1 또는 클럭 CLK가 입력되고, 다른 클럭드 인버터(45)에는 클럭 CLK가 입력된다. 상기 한쪽 클럭드 인버터(44)는, SH로부터 출력되는 제어 펄스 Q가 "H"일 때에 동작하고, 입력되는 후진 펄스 RCLi+1 또는 클럭 CLK를 반전하여 출력한다. 또한, 상기 다른 클럭드 인버터(42)는, SH로부터 출력되는 제어 펄스 /Q가 "H"일 때에 동작하고, 입력되는 클럭 CLK를 반전하여 출력한다. 상기 양클럭드 인버터(44, 45)의 출력 노드는 공통으로 접속되어 있고, 이 공통 접속 노드에는 상기 인버터(45)의 입력 노드가 접속되어 있다. 그리고, 이 인버터(45)의 출력 신호가 전단의 지연 회로(34)에 RCLi로서 출력된다.
SH는, 상태 유지부(47)와 2개의 NAND 게이트(48, 49)로 구성되어 있다. 상기 한쪽 NAND 게이트(48)에는, 전단의 지연 회로(34)로부터의 전진 펄스 FCLi와 반전 클럭 /CLK가 입력되고, 상기 다른 NAND 게이트(49)에는, 대응하는 단의 인버터(46)의 출력인 전단으로의 후진 펄스 RCLi와 클럭 CLK가 입력된다.
상기 NAND 게이트(48)의 출력은 상태 유지부(47)에 셋트 신호 /S로서 입력되고, 상기 NAND 게이트(49)의 출력은 상태 유지부(47)에 리셋 신호 /R로서 입력된다.
상태 유지부(47)는, 셋트/리셋 상태에 대응하여 상기 제어펄스 Q, /Q를 발생시킨다. 즉, 제어 펄스 Q는 상태 유지부(47)가 셋트 상태일 때에 "H"가 되고, 제어 펄스 /Q는 상태 유지부(47)가 리셋 상태일 때에 "H"가 된다. 또, 이 상태 유지부(47)의 상세한 구성에 대해서는 나중에 상술하겠다.
이어서, 도 3에 도시된 바와 같은 구성의 SAD의 동작에 대해, 도 5의 타이밍차트를 참조하여 설명한다. 우선, 클럭 CLK의 1개째의 펄스가 발생한 시점(클럭 CLK가 상승한 시점)으로부터 시간 D(= D1 + D2)가 경과한 후에 전진 펄스 FCL1이 발생한다. 또한, 이 전진 펄스 FCL1이 발생한 시점으로부터, 클럭 CLK의 2개째의 펄스가 발생하는 시점까지의 시간은 △f가 된다.
또한, 이 시간 △f를 복사하여 △b를 제조하고, 펄스 FCL1이 발생한 시점으로부터, 시간 2*△(단, △f=△b=△)가 경과한 시점에서 펄스 RCL1이 발생한다. 그렇게 하면, 펄스 RCL1이 발생한 시점으로부터 지연량 D가 경과한 시점은, 클럭 CLK의 3개째의 펄스가 상승하는 시점과 일치한다. 단, (A+W) < T로 한다. 또, W는 펄스 FCL1, 펄스 RCL1 각각의 펄스폭이다.
펄스 RCL1이 발생한 시점으로부터 외부 클럭 RCLK의 3개째의 펄스가 발생하는 시점까지의 시간을 D2로 하면, 펄스 FCL1을 D + 2*△ + D2만 늦추면, 외부 클럭 RCLK의 타이밍에서 일치한 내부 클럭 intRC를 얻을 수 있게 된다.
또, D= D1 + D2라는 관계가 성립하기 때문에, 지연량 D2는 D 및 D1로부터 구할 수 있다. 또한, 제어 펄스 P, /P는 펄스 FCLi가 초단의 지연 회로에 입력되기 전에, 모든 지연 회로의 BD를 초기화해 두기 때문에, 즉 클럭드 인버터(42)를 동작시켜 인버터(43)의 입력 노드의 신호를 "H"로 설정하기 때문에 사용되는 것이다.
본 발명에 따른 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법으로는, 각 메모리 모듈 내에서 외부 클럭에 동기한 내부 클럭을 발생시키고, 이 내부 클럭을 이용하여 데이타의 입출력을 행할 때에, 내부 클럭에 일정한 지연을 부가 또는 감하여, 데이타의 입출력 타이밍을 조절하기 위해 SAD로서 도 6에 도시된 바와 같은 구성의 것이 사용된다.
또한, 이 도 6에 도시된 SAD는, 도 2에 도시된 SAD에 대해 데이타의 입출력 타이밍을 조절하는 기능을 부가한 것이지만, 도 3에 도시된 SAD에 대해 데이타의 입출력 타이밍을 조절하는 기능을 부가하여 사용하도록 해도 좋다. 또한, 도 6의 SAD에서는 외부 클럭 RCLK로부터 내부 클럭 intRC를 발생시키는 경우의 것을 예시하고 있지만, 다른 외부 클럭 TCLK로부터 내부 클럭 intTC를 발생시키는 SAD도 이와 같이 구성되어 있으므로, 그 설명은 생략한다.
도 6에 도시된 본 발명의 제1 실시예의 시스템에서 사용되는 SAD가 앞의 도 2의 것과 다른 점은, 내부 클럭의 타이밍을 조절하기 위해 도 2중의 지연 D(= D1+D2)를 구비한 지연 회로(12)를 대신하여, 새로운 지연 회로(26)가 설치된 점과, 도 2중의 출력 버퍼(14)를 대신하여 지연 회로(27)가 설치된다는 점이다. 그 밖의 구성은 도 2의 것과 동일하므로, 이하 도 2와 다른 점에 대해서만 설명한다.
상기 지연 회로(26)는, 지연 D1을 구비한 버퍼(51)와, 이 버퍼(51)의 출력이 공급되고, 이 버퍼(51)의 출력을 고정된 일정 시간 d0만큼 지연시켜 제1 지연 출력을 얻음과 동시에 이 고정된 지연 시간 d0와 동등한 시간 d0만큼 버퍼(51)의 출력을 지연시켜 제2 지연 출력을 얻는 가변 지연부(52)와, 이 가변 지연부(52)로 얻을 수 있는 제2 지연 출력을 취득하여 지연 D2를 구비한 버퍼(53)와, 상기 가변 지연부(52)로 얻을 수 있는 제1 지연 출력을 취득하여 지연 D2를 구비한 버퍼(54)로 구성되어 있다. 그리고, 상기 버퍼(53)의 출력이 SAD(13)의 FD로 공급된다.
상기 지연 회로(27)는, 상기 SAD(13)의 출력을 고정된 일정 시간 d0만큼 지연하여 제1 지연 출력을 얻음과 동시에 이 고정된 지연 시간 d0에 대해, 외부로부터의 제어에 의해 지연 시간이 d0에 대해 d만큼 증감되는 제2 지연 출력을 얻는 가변 지연부(55)와, 이 가변 지연부(55)에서 얻을 수 있는 제2 지연 출력을 취득하여 지연 D2를 구비한 버퍼(56)와, 상기 가변 지연부(55)에서 얻을 수 있는 제1 지연 출력을 취득하여 지연 D2를 구비한 버퍼(57)로 구성되어 있다. 그리고, 상기 버퍼(56, 57)의 출력이, 외부 클럭 RCLK에 동기한 내부 클럭 intRC', intRC로서 출력된다.
또, 지연 회로(26)에 설치되는 가변 지연부(52)는, 제1 지연 출력과 제2 지연 출력의 지연 시간이 모두 고정된 일정시간 d0이므로, 특히 지연 시간을 가변시키는 구성으로 할 필요는 없지만, 지연 회로(27)에도 가변 지연부(55)가 설치되어 있고, 이 가변 지연부(55)와 동등한 회로 조건을 갖게 하기 위해 가변 지연부(52)가 이용되고 있다. 이와 동일한 이유에 따라, 지연 회로(26)에 설치되어 있는 버퍼(54)는, 그 출력이 다른 회로부에 공급되지 않으므로, 이 버퍼(54)를 생략하는 것도 가능하다. 그러나, 내부 클럭 intRC를 얻기 위해 가변 지연부(55)에 버퍼(56)를 접속하고, 가변 지연부(55)에 대한 부하 조건과 동일한 부하 조건을 갖게 하기 위해 가변 지연부(52)에도 버퍼(54)를 접속하고 있다.
이러한 구성의 SAD의 기본적인 동작은 도 2에 도시된 것과 동일하고, T = D+△ = D1+d0+D2이기 때문에, 외부 클럭 RCLK로부터 내부 클럭 intRC'까지의 경로에서는 D1 + △ + d0 ± d + D2 = T±d가 되어, 외부 클럭 RCLK에 대해 d만큼 어긋난 타이밍을 구비한 내부 클럭 intRC'를 발생시킬 수 있다. 또, 버퍼(57)로부터 출력되는 내부 클럭 intRC는, 지연 시간이 d0의 패스를 거쳐 출력되므로, 외부 클럭 RCLK와 위상이 일치하게 된다.
상기 가변 지연부(52, 55)는, 외부로부터의 제어에 의해 지연 시간을 가변할 수 있는 것이지만, 그 구체적인 회로 구성을 도 7에 도시한다.
이 회로는, 단위 지연 소자(61)를 n 단 직렬로 접속하고, 이들 각 직렬 접속점으로부터 신호를 추출하도록 하고 있다. 신호의 추출에는 복수의 스위치 회로(62)가 이용된다. 이 스위치 회로(62)에는, 고정된 일정 시간 d0만큼 지연된 앞의 제1 지연출력을 얻기 위한 하나의 스위치 회로(62-1)와, 지연 시간이 d0에 대해 d만큼 증감되는 앞의 제2 지연 출력을 얻기 위한 여러개의 스위치 회로(62-2)로 이루어진다. 이들 스위치 회로(62-1, 62-2)는 각각, 도 8에 도시된 바와 같이 전원 전위와 접지 전위사이에 직렬로 접속된 각각 2개의 P 채널 MOS 트랜지스터(63, 64) 및 N 채널 MOS 트랜지스터(65, 66)로 이루어지고, 트랜지스터(64와 65)의 게이트에 상기 단위지연 소자(61)의 대응하는 직렬 접속점의 신호가 공급되고, 트랜지스터(63)의 게이트에 제어 신호 /Tapi(i=0∼n)가 공급되고, 트랜지스터(66)의 게이트에 제어 신호 Tapi가 공급되는 CMOS 형의 클럭드 인버터(67)와, P 채널 MOS 트랜지스터(68)와 N 채널 MOS 트랜지스터(69)로 이루어지고, 상기 클럭드 인버터(67)의 출력을 반전하여 출력하는 CMOS 형의 인버터(70)로 구성되어 있다.
상기 제1 지연 출력을 얻기 위한 스위치 회로(62-1)는, 전체의 최대 지연량의 거의 중간의 지연량 d0를 얻을 수 있는 단위 지연 소자(61)의 직렬 접속점에 접속되어 있고, 이 스위치 회로(62-1)에는 제어 신호 /Tapi에 상당하는 신호로서 "L"이, 제어 신호 Tapi에 상당하는 신호로서 "H"가 항상 공급되어 있다. 따라서, 이 스위치 회로(62-1)는 항상 동작하고, 이 스위치 회로(62-1)가 접속되어 있는 단위 지연 소자(61)의 신호가 항상 선택된다. 그리고, n 단 직렬 접속된 단위 지연 소자(61)의 일단측에 입력되는 신호 in으로부터 이 스위치 회로(62-1)의 출력 노드(fixed out)까지의 지연 시간이, 도 6중의 d0에 상당한다.
또한, 상기 제2 지연 출력을 얻기 위한 복수의 스위치 회로(62-2) 중 단 하나에, 제어 신호 /Tapi로서 "L"이, 제어 신호 Tapi로서 "H"가 공급되고, 이 제어 신호가 공급된 스위치 회로(62-2)가 접속되어 있는 단위 지연 소자(61)의 직렬 접속점의 신호가 선택되고, 제2 지연 출력(out)으로서 출력된다. 그리고, 입력 in으로부터 이 단 하나의 스위치 회로(62-2)의 출력 노드까지의 지연 시간이, 도 6중의 d0±d에 상당하고 있다.
상기된 바와 같이 복수의 스위치 회로(62-2)는, 제어 신호 /Tapi, Tapi에 기초하여 어느 하나가 동작하고, 단위 지연 소자(61)로 지연된 신호를 선택한다.
도 9는, 상기 여러개의 스위치 회로(62-2)의 제어에 사용되는 제어 신호/Tapi, Tapi를 발생시키는 제어 신호 발생 회로의 구성을 나타내고 있다.
도 9에 도시된 회로에서는, 각각 2개의 레지스터를 포함하는 회로 유닛(71)을 여러개 나열하고, 각 회로 유닛(71)으로부터 각각 연속하는 2개의 제어 신호 Tapi (/Tapi에 대해서는 도시를 생략하고 있음)를 출력시키고 있다. 이들 여러개의 회로 유닛(71)에 대해, 2종류의 동기 신호 Φ1, Φ2와 우측 시프트 신호 Rsft 및 좌측 시프트 신호 Lsft가 공급된다.
여러개의 회로 유닛(71)의 하부에 기재된 「"1"」이나 「"0"」은, 각 회로 유닛(71)에 설치되어 있는 각각 2개의 레지스터의 기억 상태를 나타내고 있고, 「"1"」과 「"0"」의 경계선의 위치에 대응한 제어 신호 Tapi만이 "H"가 된다. 예를 들면, 도 9에서는 좌측으로부터 4번째의 회로 유닛(71) 내의 2개의 레지스터의 기억 상태가 「"1"」과 「"0"」이므로, 그 경계선의 위치에 대응한 제어 신호 Tap6이 "H"로 되어 있다.
또한, 초기 상태에서는 도 7중의 「m」의 위치의 스위치 회로(62-2)로 공급되는 제어 신호 Tap이 "H"가 되도록, 각 회로 유닛(71) 내의 각각 2개의 레지스터가 셋트된다. 셋트 후에는 각 레지스터의 「"1"」, 「"0"」의 상태가, 앞의 동기 신호 Φ1, Φ2와 우측 시프트 신호 Rsft 또는 좌측 시프트 신호 Lsft에 기초하여 레지스터 1개씩 좌우로 이동한다.
상기 동기 신호 Φ1, Φ2는 교대로 상승하는 펄스이고, 우측 시프트 신호 Rsft 및 좌측 시프트 신호 Lsft는 이들 신호가 "H"일 때에 동기 신호 Φ1 또는 Φ2에 따라 레지스터의 「"l"」 또는 「"0"」의 상태를 각각 우측 또는 좌측 방향으로 하나의 레지스터만큼 이동시키는 신호이다.
도 10은, 도 9에서의 하나의 회로 유닛(71)의 상세한 회로 구성을 나타내고 있다. 도면에서, 72, 73은 각각 2개의 인버터의 입출력단사이를 역병렬 접속하여 구성된 레지스터이고, 한쪽의 레지스터(72)의 출력을 /i, i, 다른 레지스터(73)의 출력을 /i+1, i+1로 하면, 한쪽 레지스터(72)의 출력 /i와 접지 전위사이에는 3개의 N 채널 MOS 트랜지스터(74 ∼ 76)가 직렬로 접속되고, 한쪽 레지스터(72)의 출력 i와 접지 전위사이에는 3개의 N 채널 MOS 트랜지스터(77 ∼ 79)가 직렬로 접속되고, 다른 레지스터(73)의 출력 /i+1과 접지 전위사이에는 3개의 N 채널 MOS 트랜지스터(80 ∼ 82)가 직렬로 접속되고, 다른 레지스터(73)의 출력 i+1과 접지 전위사이에는 3개의 N 채널 MOS 트랜지스터(83 ∼ 85)가 직렬로 접속되어 있다.
상기 트랜지스터(74 ∼ 76)의 게이트에는, 인접하는 전단의 회로 유닛(71) 내의 레지스터(73)의 출력 i-1, 동기 신호 Φ1 및 우측 시프트 신호 Rsft가 각각 공급된다. 상기 트랜지스터(77 ∼ 79)의 게이트에는, 동일한 회로 유닛(71) 내의 레지스터(73)의 출력 /i+1, 동기 신호 Φ2 및 좌측 시프트 신호 Lsft가 각각 공급된다. 상기 트랜지스터(80 ∼ 82)의 게이트에는, 동일한 회로 유닛(71) 내의 레지스터(72)의 출력 i, 동기 신호 Φ2 및 우측 시프트 신호 Rsft가 각각 공급된다. 마찬가지로, 상기 트랜지스터(83 ∼ 85)의 게이트에는, 인접하는 후단의 회로 유닛(71) 내의 레지스터(72)의 출력 /i+2, 동기 신호 Φ1 및 좌측 시프트 신호 Lsft가 각각 공급된다.
그리고, 상기 레지스터(72)의 출력 i와 레지스터(73)의 출력 /i+1이 NAND 게이트(86)로 공급되고, 이 NAND 게이트(86)로부터 앞의 제어 신호 /Tapi가 출력된다. 또한 이 제어 신호 /Tapi가 인버터(87)로 공급되고, 이 인버터(87)로부터 앞의 제어 신호 Tapi가 출력된다.
또, 이 도 10에 도시된 회로 유닛(71)에 인접하는 전단의 회로 유닛(71)에서는, 레지스터(72)의 출력 /i와 그 회로 유닛(71) 내의 레지스터(73)의 출력 i-1을 이용하여 제어 신호 Tapi-1, /Tapi-1이 생성되고, 이 도 10에 도시된 회로 유닛(71)에 인접하는 후단의 회로 유닛(71)에서는, 레지스터(73)의 출력 i+1과 그 회로 유닛(71) 내의 레지스터(72)의 출력 /i+2를 이용하여 제어 신호 Tapi+1, /Tapi+1이 생성된다.
이어서 도 10에 도시된 회로 유닛(71)의 동작을 설명한다. 지금, 레지스터 출력 i까지 "1"이고, 레지스터 출력 i+1이 "0"이라고 가정한다. 이 때, NAND 게이트(86)의 입력은 양쪽 모두 "1"이므로, 그 출력인 제어 신호 /Tapi는 "0", 인버터(87)의 출력인 제어 신호 Tap1은 "1"이 된다. 이 때, 그 밖의 제어 신호 Tap는 "0"이다. 동기 신호 Φ1, Φ2는 교대로 상승하고, 지금 i가 「"1"」과 「"0"」의 경계선이므로, 도 10의 회로에서 마지막으로 상승한 동기 신호는 Φ1이다. 다음에 Φ2가 상승할 때에 우측 시프트 신호 Rsft를 "H"로 하면, 트랜지스터(81, 82)가 모두 온된다. 그리고, 이들 트랜지스터(81, 82)에 대해 직렬 접속되어 있는 트랜지스터(80)가 레지스터(72)의 출력 i("1")에 따라 온상태가 되고, 레지스터(73)의 출력 /i+1이 이들 3개의 트랜지스터(80 ∼ 82)를 통해 접지 전위에 의해 "0"으로 설정된다. 이에 따라, 레지스터(73)의 출력 i+1이 "1"로 반전하고, 「"1"」의 상태가 우측 방향으로 시프트되게 된다.
상기된 바와는 반대로, Φ2가 상승할 때에 좌측 시프트 신호 Lsft를 "H"로 하면, 트랜지스터(78, 79)가 모두 온된다. 그리고, 이들 트랜지스터(78, 79)에 대해 직렬 접속되어 있는 트랜지스터(77)가 레지스터(73)의 출력 /i+1("1")에 따라 온상태가 되고, 레지스터(72)의 출력 i가 이들 3개의 트랜지스터(77 ∼ 79)를 통해 접지 전위에 의해 "0"에 설정된다. 이에 따라, 레지스터(72)의 출력 i가 "0"으로 반전하고, 「"0"」의 상태가 좌측 방향으로 시프트되게 된다.
시프트 후에는 동기 신호 Φ1, Φ2를 멈추던지, 우측 시프트 신호 Rsft나 좌측 시프트 신호 Lsft를 입력하지 않으면, 각 레지스터의 기억 상태가 그대로 유지되므로, 설정된 제어 신호 Tapi가 그대로 유지된다. 이에 따라, 앞의 도 4의 회로에서 설정된 가변의 지연 시간이 고정되고, 그대로 유지된다.
도 11은 상기 실시예에 따른 시스템에서 사용되는 하나의 메모리 모듈의 내부 구성을 나타내는 블럭도이다. 또, 여기서는 메모리 셀 어레이등의 코어부나 그 주변 회로등은 도시를 생략하였다.
SAD(91)은, 클럭 버스 상을 전달되는 외부 클럭 TCLK를 취득하여 내부 클럭 intTC'를 출력한다. 마찬가지로, SAD(92)는 클럭 버스 상을 전달되는 외부 클럭 RCLK를 취득하여 내부 클럭 intRC'를 출력한다. 커맨드 디코더(93)는, 외부 클럭 TCLK 및 커맨드 버스에서 전달되는 커맨드를 취득하고, 이 커맨드를 디코드하여, 상기 양 SAD(91), 92의 동작을 제어하는 제어 회로(94, 95)에 그 디코드 출력을 공급한다.
상기 양제어 회로(94, 95)는, 상기 각 SAD(91, 92)에서의 타이밍 조정 동작을 포함하는 동작을 제어하는 것으로, 앞의 도 9에 도시된 제어 신호 발생 회로등을 포함하고 있다.
데이타 입력 제어 회로(96)는, 메모리 컨트롤러로부터 대응하는 메모리 모듈에 대해 데이타의 기록을 행할 때에, 상기 SAD(91)로부터 출력되는 내부 클럭 intTC'에 기초하여 데이타 스트로브 신호를 제조하고, 이 데이타 스트로브 신호에 동기하여 데이타 버스위의 데이타를 취득하고, 도시하지 않은 메모리 회로로 공급한다. 데이타 출력 제어 회로(97)는, 대응하는 메모리 모듈로부터 데이타를 판독하여 메모리 컨트롤러로 전송할 때에, 상기 SAD(92)로부터 출력되는 내부 클럭 intRC'에 동기하여 도시하지 않은 메모리 회로로부터의 데이타를 데이타 버스 상으로 출력한다.
이러한 구성의 메모리 모듈에 따르면, SAD(91), 92 각각에서, 외부 클럭 TCLK, RCLK로부터 내부 클럭 intTC', intRC'를 발생할 때에, 개개의 SAD에서 내부 클럭 intTC', intRC'의 타이밍 조정을 꾀할 수 있으므로, 환경의 차등에 따른 전송 데이타의 타이밍의 편차를, 메모리 컨트롤러측에서 보이지 않도록 할 수 있고, 고속 동기형 데이타 전송을 실현할 수가 있다.
이어서, 도 7에 도시된 가변 지연부에서 지연량을 어떻게 하여 설정할지에 대해 설명한다. 이것은 앞의 도 38에 도시된 시스템에서, 통상의 동작 주파수보다도 낮은 주파수의 클럭 CLK(TCLK 및 RCLK에 상당)에 동기하여 소정의 버스트 데이타를 전송하고, 메모리 모듈대로 컨트롤러대로 저장시키는 것등에 의해 행해진다.
도 12는, 상기 클럭 CLK에 동기하여 예를 들면 「1001」이라는 4비트의 버스트 데이타를 전송하고, 이것을 저장하는 경우의 동작을 나타내는 타이밍차트이다.
클럭에 동기하여 데이타를 출력하는 것이 컨트롤러이면, 데이타는 메모리 모듈의 데이타 버스 위의 위치에는 무관하게 클럭 CLK에 동기하여 일정한 타이밍으로 출력된다. 이 때, 데이타를 취득하는 것은 메모리 모듈이고, 메모리 모듈은 클럭 CLK에 동기한 타이밍에 기초하여 만들어지는 내부 클럭으로부터 데이타 스트로브 신호를 제조하고, 이 데이타 스트로브 신호에 기초하여 데이타 버스위의 데이타를 취득한다.
한편, 클럭에 동기하여 데이타를 출력하는 것이 메모리 모듈이면, 데이타를 취득하는 측은 컨트롤러이고, 컨트롤러는 클럭 CLK에 동기한 내부 신호로부터 만들어지는 스트로브 신호를 이용하여, 메모리 모듈의 데이타 버스 상의 위치에 관계없이, 데이타를 일정한 타이밍으로 취득한다.
도 12에서는, 데이타 스트로브의 타이밍이 상향의 화살표 위치에서 나타내고 있다. 클럭 CLK와 데이타와의 위상 편차가 없으면, 「1001」의 파형으로 도시된 바와 같이 정확하게 데이타가 취해진다.
클럭 CLK에 대해 데이타의 위상이 지연되면, 취득된 데이타는「X100」의 파형과 같이 되고, 판독된 데이타는 「X100」이 된다. 또, 「X」는 부정을 의미한다. 이 때, 가변 지연량의 설정은, 데이타 판독에 대해서는 클럭 CLK에 동기한 내부 클럭으로부터 데이타 스트로브의 타이밍을 늦추도록, 앞의 제어 신호 Tap1의 설정을 컨트롤러측으로부터의 커맨드로 행하고, 정확하게 「1001」로 데이타가 판독할 수 있도록 한다.
제어 신호 Tapi의 설정은 커맨드에 의해, 앞의 동기 신호 Φ1, Φ2 및 우측/좌측 시프트 신호 Rsft/Lsft의 출력 동작을 제어하면 된다.
데이타 출력에 대해서는, 클럭 CLK보다 더욱 위상을 진행시켜 데이타를 출력할 필요가 있고, 클럭 CLK에 동기한 내부 클럭으로부터 데이타 출력의 타이밍을 빠르게 하도록 제어 신호 Tapi의 설정을 컨트롤러로부터의 커맨드로 행하고, 메모리 컨트롤러가 정확하게「1001」로 판독할 수 있도록 한다.
클럭 CLK에 대해 데이타의 위상이 진행하면, 취득된 데이타는「001X」의 파형과 같이 되고, 판독된 데이타는「001X」가 된다. 이 때, 메모리 모듈에서의 가변 지연량의 설정은, 데이타 판독에 대해서는 클럭 CLK에 동기한 내부 클럭으로부터 데이타 스트로브의 타이밍을 진행시키도록, 앞의 제어 신호 Tapi의 설정을 컨트롤러측으로부터의 커맨드를 행하고, 정확하게 「1001」로 판독할 수 있도록 한다.
데이타 출력에 대해서는, 클럭 CLK보다 더욱 위상을 늦춰 데이타를 출력할 필요가 있고, 클럭 CLK에 동기한 내부 클럭으로부터 데이타 출력의 타이밍을 늦추도록 제어 신호 Tapi의 설정을 컨트롤러로부터의 커맨드로 행하고, 컨트롤러가 정확하게「1001」이라고 판독할 수 있도록 한다.
이어서, 컨트롤러와 각 메모리 모듈사이에서의, 시스템으로서의 상기 지연량의 설정의 순서에 대해 설명한다.
컨트롤러로부터 메모리 모듈이 최초로 액세스됐을 때에는 가변 지연량은 설정되지 않으므로, 데이타의 전송 타이밍은 최적화되지 않고, 바른 데이타의 기록 및 판독은 보증되지 않는다. 그래서, 앞의 제어 신호 Tapi의 설정의 순서가 중요해진다.
앞의 「1001」로 이루어지는 4비트의 데이타 패턴을 이용하면, 제어 신호 Tapi를 어떻게 시프트할지의 정보를 얻을 수 있는 것은 먼저 설명한 바와 같지만, 이 순서를 통합하면 아래와 같다.
(1)「1001」과 같은 데이타 패턴을 메모리 모듈에 데이타로서 셋트한다. 이 경우, 메모리 모듈에 대해 통상의 동작시에 비교하여 느린 타이밍으로 데이타를 부여하여 1비트씩 데이타를 입력한다. 또, 미리 메모리 모듈 내에 상기 데이타 패턴을 고정 데이타로서 갖게 하도록 해도 좋다.
(2) 메모리 모듈의 데이타 출력 타이밍을 조절한다. 메모리 모듈이, 상기 데이타 패턴을 컨트롤러로부터의 커맨드로 정규의 클럭에 기초하여 버스트 데이타로서 출력한다. 또한, 컨트롤러는 버스트 데이타를 판독하고, 설정한 데이타 패턴을 얻을 수 있는 알맞은 위치에, 커맨드에 의해 메모리 모듈의 제어 신호 Tapi를 변이시켜 설정한다.
이상과 같은 순서를 모든 메모리 모듈에 대해 행한다. 이에 따라, 메모리 모듈의 데이타 버스 위의 위치마다의 타이밍의 조절이 완료하고, 어떤 메모리 모듈로부터의 데이타도 컨트롤러는 클럭으로부터 일정한 타이밍의 스트로브로 정확하게 판독할 수 있게 된다.
(3) 메모리 모듈에서의 데이타 판독 타이밍의 조절은 아래와 같이 행해진다. 우선, 컨트롤러는 메모리 모듈이 판독하는 데이타 패턴을 버스트 데이타로서 정규의 타이밍(통상 동작시의 타이밍)으로 메모리 모듈에 출력한다. 이어서, 메모리 모듈은 이것을 판독하고, 판독한 데이타를 컨트롤러로부터의 커맨드로 출력한다. 컨트롤러는 메모리 모듈로부터 판독된 데이타를 판독하고(이미 순서 2에서, 출력에 대해서는 타이밍 조정이 완료하고 있음), 출력한 데이타와 비교한다. 컨트롤러는, 커맨드에 의해, 데이타 패턴이 일치하는 알맞은 위치에 메모리 모듈의 데이타 취득 타이밍의 제어 신호 Tapi를 변이시켜 설정한다.
이상과 같은 순서를 데이타 버스 상의 모든 메모리 모듈에 대해 행하고, 이 다음 컨트롤러가 클럭 TCLK에 동기하여 데이타를 출력하면, 어떤 메모리 모듈라도 정확하게 데이타를 판독할 수 있다.
이에 따라, 메모리 모듈에서의 가변 지연의 설정이 끝나고, 컨트롤러는 메모리 모듈의 버스 상의 위치나 버스 시스템의 환경에 따른 차이를 우려하지 않고, 일정한 타이밍으로 데이타의 전송을 행할 수 있다.
이어서 본 발명의 제2 실시예에 대해 도 13을 참조하여 설명한다.
도 13은 본 발명의 제2 실시예에 따른 메모리 보드 시스템의 개략적인 블럭 구성을 나타낸다. 컨트롤러 MEC가 클럭 CLK (TCLK, RCLK)를 출력하고, 이 클럭을 복수의 메모리 모듈 MM(도면에서는 하나만 나타내고 있음)을 수취하고, 이 클럭의 타이밍으로 커맨드나 데이타를 메모리 모듈 MM을 취득하고, 루프백하여 복귀해 가는 클럭에 동기하여 메모리 모듈 MM이 컨트롤러 MEC에 데이타를 출력하는 시스템에서, 컨트롤러 MEC는 클럭 CLK로서 앞의 클럭 TCLK, RCLK와 함께 이들 클럭 TCLK, RCLK의 2배의 주기를 구비한 클럭 TSIGN, RSIGN을 동시에 출력한다.
그리고, 메모리 모듈 MM의 데이타 버스 위에서의 위치에 따른 데이타 전송시간의 차를, 2배 주기의 클럭 TSIGN, RSIGN을 사용하여, 클럭 TCLK, RCLK의 짝수번째와 홀수번째를 식별함으로써 바꿔, 데이타 버스를 유효하게 이용하도록 하고 있다. 또, 어떤 클럭과 그 클럭에 대해 2배의 주기를 구비한 클럭을 이용함에 따라, 데이타 버스를 유효하게 이용하도록 한 시스템의 기본에 대해서는, 본 발명자에 따른 특원평10-8297호의 출원으로 자세히 설명되어 있다.
상기 클럭 TCLK, RCLK 및 클럭 TSIGN, RSIGN의 위상 관계를 도 14의 타이밍차트에 나타낸다. 도시된 바와 같이 예를 들면 상향의 화살표의 사이클이 클럭의 반환점 전과 후의 대응하는 사이클이 된다. 2배 주기의 클럭을 이용하고 있으므로, 메모리 모듈이라도 컨트롤러가 수취하는 클럭 TCLK, RCLK를 짝수 클럭과 홀수 클럭으로 나눌 수 있다. 이 후, 짝수 클럭에 관계한 것에는 「e」, 홀수 클럭에 관계한 것에는 「o」, 또한 클럭 TCLK, RCLK의 상승에 동기한 것에는 「u」, 상승 주기에 180도 위상이 어긋난 타이밍으로 동기한 것에는 「d」라는 첨자를 붙여 나타내기로 한다.
이러한 구성의 시스템에서, TCLK와 RCLK의 위상이 360도*2까지의 임의의 값이 어긋난 경우에, 그 중간의 타이밍 M을 설정함으로써, 어떠한 방법으로, 대응하는 TCLK와 RCLK를 관련되게 만들어 데이타 버스 위의 위치가 다른 메모리 모듈이, 데이타 버스 상에서 데이타의 충돌을 일으키지 않고 또한 데이타 전송의 갭이 없이 데이타의 전송을 행할 수 있는지를 설명한다. 또한, 중간의 타이밍 M을 만드는 구체적인 방법에 대해서는 나중에 상술하겠다.
도 15에 클럭 버스 상의 다른 두개의 장소에서의 TCLK와 RCLK의 위상 관계를 나타낸다. TCLK의 타이밍 tA가 반환점에서 복귀하고, RCLK의 타이밍 tB가 된다. 반환점에 가까운 장소와 먼 장소에서 각각의 장소의 TCLK를 기준으로 하여 보면, 타이밍 tA와 tM과 tB의 관계는 도 15에 도시된 바와 같다.
컨트롤러 MEC로부터의 클럭은 TCLK, 컨트롤러 MEC 에의 클럭은 RCLK이기 때문에, 메모리 모듈 MM은 타이밍 tA에서 취득한 커맨드에 대해 타이밍 tB를 기점으로 하여 데이타를 RCLK에 동기하여 데이타 버스에 탑재하면 데이타의 버스 상에서의 충돌은 일어나지 않고, 컨트롤러 MEC가 수취하는 데이타에 빈 사이클이 생기는 일도 없다.
각 메모리 모듈 MM은 타이밍 tA에서 커맨드를 취득하여 타이밍 tB로부터 일정한 사이클 후 소위 레이턴시(latency) 후에 데이타를 데이타 버스에 출력하지만, 일련의 데이타를 출력하는 것을 종료하고 새로운 데이타 출력 사이클을 시작할 때, 그 레이턴시의 RCLK에서의 세는 방법의 순서는 이하와 같다.
(1) TCLK에 동기하여 취득한 커맨드가 새로운 사이클수 카운트 커맨드이면, 이 직후의 tM의 타이밍으로 사이클수 카운트를 가능 상태로 한다. 물론, TCLK에 동기하여 취득한 커맨드가 커맨드가 없는 상태도 포함시켜 새로운 사이클수 카운트 커맨드가 아니면 카운트 가능 상태로 하는 일은 없다.
(2) 타이밍 tM의 직후의 RCLK로부터 RCLK에 동기하여 사이클수를 카운트하여 필요한 사이클수 계속한다.
상기된 순서로 RCLK의 사이클을 TCLK에 동기한 커맨드를 취득하여 세면, 도 15 중에서 RCLK에 붙인 원숫자(즉, ①∼⑥)와 같이, 반환점의 근처에 배치된 메모리 모듈의 경우나, 컨트롤러의 근처에 배치된 메모리 모듈의 경우에도, 타이밍 tA의 커맨드에 대응하는 타이밍 tB로부터 동일한 레이턴시로 데이타를 RCLK에 동기하여 데이타 버스에 탑재할 수 있다.
이에 따라 컨트롤러도 TCLK의 타이밍 tA와 RCLK의 타이밍 tB가 컨트롤러에서의 중간 타이밍 tM을 통해 마찬가지로 대응시키고 있으므로, 컨트롤러에서 커맨드를 내어 대응하는 데이타를 수취한다고 하는 동작의 메모리의 데이타 버스 위에서의 위치의 차는 완전히 없어진다.
또, 배주기의 클럭 TSIGN, RSIGN에 의해서 도 15 중 굵은 선으로 나타낸 사이클과 가는 선으로 나타낸 사이클을 식별할 수 있으므로, 클럭 TCLK, RCLK의 위상이 1사이클 이상 2사이클 미만까지 어긋나도 중간 타이밍 tM을 확정할 수 있다. 즉, 클럭 버스의 루프가 클럭(TCLK, RCLK)의 주기에 비교하여 길고, TCLK가 RCLK로서 복귀할 때 2사이클까지 전송 시간이 걸려도 양호하게 된다.
다음에 메모리 모듈 MM이나 컨트롤러 MEC에서 상기 중간 타이밍 tM을 설정하는 구체적인 방법에 대해서 설명한다.
도 16은 TCLK 또는 RCLK에 동기하여 만들어진 짝수 내부 클럭 Teu 또는 Reu, 홀수 내부 클럭 Tou 또는 Rou의 변화를 나타낸다. 이들의 내부 클럭이 메모리 모듈 또는 컨트롤러 내에서 만들어지면, 이들을 이용하여 앞의 타이밍 tM을 메모리 모듈 또는 컨트롤러에서 만들 수 있다.
이 타이밍 tM은 Tou 또는 TCLK 중 어느 하나의 사이클(이것을 예를 들면 CLK1로 칭한다)에 대하여 δ만큼 지연된 Rou 또는 RCLK 중 어느 하나의 사이클(이것을 예를 들면 CLK2라고 칭한다)이 있을 때, CLK1로부터 δ/2만큼 지연된 타이밍에 상당하고 있으며 이하와 같은 방법으로 만들어진다.
즉, CLK2의 CLK1에 대한 지연(δ)을 CLK1의 CLK2에 대한 지연 (2τ-δ)(단, τ는 CLK1 또는 CLK2의 주기)으로서 취하고, 이 지연의 반 정도의 지연 (τ-δ/2)가 지연된 타이밍을 CLK1로부터 만들어지며, 이 타이밍부터 어느 CLK1 사이클까지의 지연 (τ+δ/2)를 취하고, 이 지연만큼 상기한 어느 CLK1 사이클로부터 지연된 타이밍을 만들고, 이 타이밍을 CLK1에 대하여 δ/2 지연된 타이밍으로 한다.
다음에, 앞의 SAD를 이용하여 상기 타이밍 tM을 만든 구체적인 방법을 도 17의 타이밍차트를 이용하여 설명한다. TCLK와 RCLK는 반환점에서 되돌아옴으로써, TCLK와 RCLK 간에 δ가 되는 위상차가 생겼다고 한다. 이 위상차 δ는 0 내지 (360*2)도이다. 클럭에 e와 o의 구별을 나타내고 있었지만, 도 17에서는 상향 화살표가 붙은 e 클럭으로부터 대응하는 tM의 타이밍 tMe가 만들어지는 모습을 나타내고 있다. o 클럭으로부터의 경우도 마찬가지로 생각할 수 있으므로 이 경우는 생략하였다.
우선 Rou의 「1」의 타이밍부터 시작된다. SAD를 이용하여 Rou와 직후의 Tou의 지연량을 Tou의 「2」의 타이밍으로 검출하고, 이 지연량의 반 정도의 지연의 후에 내부 클럭 Φe를 「3」의 타이밍으로 발생한다. 클럭 TCLK, RCLK의 주기를 τ라고 하면, Rou와 Tou 간의 지연량은 2τ-δ이므로 「2」와 「3」 사이 즉 Tou와 Φe의 지연량은 τ-δ/2가 된다. 또한, SAD를 이용하여 Φe의 타이밍과 직후의 Tou와의 지연량을 Tou의 「4」의 타이밍으로 검출하고, 이 지연량과 동일한 지연 후에 tMe를 「5」의 타이밍으로 발생한다.
「2」 내지 「4」까지의 지연은 Tou의 주기와 동일하게 2τ이기 때문에, 「3」 내지 「4」까지의 즉 Φe와 Tou의 지연량은 「2」 내지 「4」까지의 지연량으로부터, 「2」 내지 「3」까지의 지연량을 빼서 τ+δ/2가 되며, 「4」 내지 「5」까지의 지연량도 이것과 동일하게 τ+δ/2가 된다. 따라서 Tou에서부터 τ+δ/2의 tMe의 타이밍은 Teu에서부터 δ/2의 타이밍이며, Teu와 Reu가 요구하는 중간의 타이밍이 된다.
이와 같이 클럭 TCLK, RCLK의 5사이클로 필요한 타이밍 신호가 얻어진다. 도 17 중 및 상기 설명에서의 첨자 e와 o를 교환하면, Tou에서부터 δ/2의 타이밍인 Mo가 얻어지며, tMe와 tMo를 합하면 도 12에서의 타이밍 tM이 얻어진다.
다음에 상기 도 16, 도 17에서 설명한 내부 클럭 Tou, Rou, Teu, Reu를 발생하는 내부 클럭 발생 회로가 구체적인 구성 및 그 동작을 도 18을 참조하여 설명한다.
도 18의 (a)는 클럭 TCLK, RCLK의 짝수 e와 홀수 o를 나누기 위한 신호 T2 또는 R2를 만드는 회로를 나타내고 있으며, TCLK 혹은 RCLK가 입력되는 버퍼 101과, TSIGN 혹은 RSIGN이 입력되는 홀수단(본 예에서는 3단) 세로 접속된 버퍼(102)와, 4개의 NAND 게이트(103 ∼ 106)로 구성되고 있다.
즉, 버퍼(101)의 출력은 NAND 게이트(103)의 한쪽 입력단에 반전하여 입력됨과 함께 NAND 게이트(104)의 한쪽 입력단에 반전하여 입력된다. 3단 세로 접속된 버퍼(102)의 후단의 버퍼(102)의 출력은 NAND 게이트(103)의 다른쪽 입력단과 NAND 게이트(104)의 다른쪽의 반전 입력단에 각각 공급된다. 상기 NAND 게이트(103)의 출력은 NAND 게이트(105)의 한쪽 입력단에 공급된다. 상기 NAND 게이트(104)의 출력은 NAND 게이트(106)의 한쪽 입력단에 공급된다. 상기 NAND 게이트(105, 106)의 다른쪽 입력단은 서로 다른 NAND 게이트의 출력단에 접속되고 있다.
즉, 도 18의 (a)에 도시한 회로는 2개의 NAND 게이트(105, 106)로 이루어지는 플립플롭에 의해서 클럭의 짝수 e와 홀수 o를 나누기 위한 신호 T2 또는 R2를 만들고 있으며, T2(R2)는 받아들인 클럭 TSIGN(RSIGN)이 "H"일 때의 클럭 TCLK(RCLK)의 "L"로의 천이로 "H"가 되며, 받아들인 클럭 TSIGN(RSIGN)이 "L"일 때의 클럭 TCLK(RCLK)의 "L"로의 천이로 "L"이 된다. 또, 클럭 TCLK(RCLK), TSIGN(RSIGN)과 T2(R2)의 관계를 도 18의 (d)의 타이밍차트에 나타낸다.
도 18의 (b)는 Tou 또는 Rou를 만드는 회로의 구성을 도 18의 (c)는 Teu 또는 Reu를 만드는 회로의 구성을 각각 나타내고 있다. 각 회로의 기본적인 구성은 동일하며, 입력 신호만이 다르므로 도 18의 (b)에서 대표하여 설명한다.
도 18의 (b)에 도시한 회로는 이하와 같이 구성되고 있다. 클럭 TCLK 혹은 RCLK은 버퍼(111)를 통해 AND 게이트(112)의 한쪽 입력단에 공급된다. 이 AND 게이트(112)의 다른쪽 입력단에는 도 18의 (a)의 회로에서 만들어지는 신호 T2 또는 R2가 공급된다. 상기 AND 게이트(112)의 출력은 버퍼(113)를 통하여 AND 게이트(114)의 한쪽 입력단에 공급된다. 이 AND 게이트(114)의 다른쪽 입력단에는 "H"가 항상 공급되고 있다. 상기 AND 게이트(114)의 출력은 버퍼(115)를 통해 SAD(116)의 FD에 공급된다. 또한, AND 게이트(112)의 출력은 제어 클럭으로서 상기 SAD(116)에 공급된다. 상기 SAD(116)에는 상기 FD 외에 BD가 설치되고 있다.
SAD(116)의 FD 내에는 복수의 지연 유닛이 설치되고 있으며, 입력된 신호는 이 복수의 지연 유닛을 전달함으로써 지연된다. 그리고, SAD(116)에서는 FD에 버퍼(115)로부터의 신호가 공급되며, 다음의 사이클 AND 게이트(112)의 출력이 상승하는 시점까지의 지연 시간 △가 FD로의 입력 신호가 전달한 지연 유닛의 수에 대응하여 검출된다. 또한, 이 검출된 신호의 지연 시간 △에 상당하는 지연량이 유지된다.
BD는 FD에서 유지된 지연 시간 △에 상당하는 지연량만큼 신호를 지연한다. 그리고, BD의 출력은 버퍼(117)를 통하여 상기 Tou 또는 Rou로서 출력된다.
여기서, 클럭 TCLK 혹은 RCLK에 대한 상기 버퍼(111) 및 AND 게이트(112)로 이루어지는 회로에서의 지연을 D1, BD의 출력에 대한 상기 버퍼(117)에서의 지연을 D2로 하면, AND 게이트(112)의 출력에 대한 상기 버퍼(113), AND 게이트(114) 및 버퍼(115)로 이루어지는 지연 회로에서의 지연 D는 D1+D2가 되도록 설정되어 있다.
이 SAD를 이용한 회로의 기본적인 동작은 먼저 설명 그대로이지만, 이것을 간단하게 설명하면, 도시한 바와 같이 D= D1 + D2라고 하면, Tou 또는 Rou의 수직 상승은 클럭 TCLK 또는 RCLK의 홀수 클럭의 상승에 일치한다. 이것은 D+△의 지연량이 정확하게 홀수의 클럭 TCLK 또는 RCLK의 주기 2τ와 동일해지기 때문에 알 수 있다. △는 주기 τ나 D1, D2의 지연의 시간의 변화를 검출하여 보상하고 있다.
도 18의 (c)의 회로가 도 18의 (b)와 다른 점은, AND 게이트(114)의 다른쪽 입력단에 "L"을 항상 공급함으로써 짝수의 클럭 TCLK 또는 RCLK에서 동작하도록 하는 것뿐이다.
도 19의 (a), 도 19의 (b)는 도 17에 도시한 내부 타이밍 클럭 Φe(Φo)를 발생하는 회로의 구체적인 구성을 나타내고 있으며, 도 19의 (a)는 Φe의 도 19의 (b)는 Φo의 발생 회로이다. 양 회로의 기본적인 구성은 동일하므로 도 19의 (a)에서 대표하여 설명한다.
Rou는 세로 접속된 2단의 버퍼(121)로 이루어지는 지연 회로에 의한 지연 D(= 2*D2)를 거친 후에 SAD(122)의 FD에 공급된다. 이 SAD(122)에는 Tou가 공급되어 있으며, SAD(122)에서 Tou까지의 지연량 △가 FD에서 검출된다. HBD(Half BD)는 지연량이 항상 FD의 반 정도가 되도록 지연 유닛의 수가 FD(혹은 BD)의 반 정도로 추출되어 있으며, Tou의 타이밍으로부터 △/2의 지연을 거쳐서 SAD(122)를 나온 신호는 버퍼(123)에 의한 지연D2를 거친 후에 Φe가 된다.
즉, Rou로부터 Tou의 지연량이 2*D2+△에서 Tou로부터 Φe까지의 지연량이 그 반인 D2 + △/2가 된다.
도 19의 (b)의 회로에서도 상기와 마찬가지로 하여 Reu와 Teu에 대하여 Φo가 얻어진다.
도 17에 도시한 바와 같이, Φe로부터 Tou까지의 지연량을 Tou로부터 검출함으로써 타이밍 tMe가 얻어진다. 또한 Φo로부터 Teu까지의 지연량을 Teu로부터 검출함으로써 타이밍 tMo가 얻어진다. 또한, 타이밍 tMe와 tMo를 합하여 타이밍 tM이 되지만 이것을 발생하는 회로의 구성을 도 20에 도시한다.
도 20의 회로의 기능은 도 18의 (b), 도 18의 (c)의 회로와 기본적으로 동일하다. 여기에서는 각각 FD 및 BD가 설치된 두개의 SAD(124, 125)의 출력의 OR 논리를 OR 게이트(126)로 취함으로써 tM(tMe 또는 tMo)을 얻도록 하고 있다. 이 때문에, 입출력단에서의 지연량을 맞추기 위해서, 양 SAD(124, 125)의 전단에도 OR 게이트(127, 128)가 설치되고 있다. 상기 한쪽의 OR 게이트(127)에는 Φe와 "L"이 공급되며 다른쪽의 OR 게이트(128)에는 Φo와 "L"이 공급되어 있다. 또한, 한쪽의 SAD(124)에는 Tou가, 다른쪽의 SAD(125)에는 Teu가 각각 공급되어 있다.
데이타의 입출력은 클럭 TCLK 또는 RCLK의 1 주기에 2개의 데이타를 전송하는 소위 DDR(Doub1e Data Rate)로 한다. 또한, 기준 타이밍은 TCLK나 RCLK의 상승으로 규정되게 하여, 클럭의 듀티비에 의존하지 않도록 한다. 그 이유는, 클럭 버스의 위치에 의존하지 않고, 클럭의 정밀도 좋은 듀티를 보증하는 것이 곤란하다고 생각되기 때문이다. 그래서, 클럭의 상승 사이클의 정확하게 중간의 타이밍을 발생시켜서 데이타의 DDR 전송에 대응한다.
또한, 도 21의 타이밍차트에 도시한 바와 같이 Reu(Teu), Rou(Tou), Red(Ted), Rod(Tod)를 발생시키고, 이들의 신호에 동기시켜서 데이타의 전송을 행한다.
클럭의 상승에 동기한 내부 클럭의 발생 방법에 대해서는 도 18에서 이미 설명하였으므로, 이들과 180도 위상이 어긋난 클럭의 발생 방법에 대해서 도 22의 (a), 도 22의 (b)를 참조하여 설명한다.
도 22의 (a), 도 22의 (b)에 도시한 회로의 구성은 도 19의 (a), 도 19의 (b)와 동일하며 입출력 신호가 다를 뿐이므로, 도 19의 (a), 도 19의 (b)와 대응하는 개소에는 동일한 부호를 붙여서 그 설명은 생략한다.
도 22의 (a)는 짝수번째의 클럭으로 180도 위상이 어긋난 클럭을 만드는 회로이며, 도 22의 (b)는 홀수번째의 클럭으로 180도 위상이 어긋난 클럭을 만드는 회로이다.
우선, 도 22의 (a)의 회로에서의 Tod의 발생 방법에 대해서 간단하게 설명한다. Teu와 Tou의 위상차는 이것은 클럭 TCLK(RCLK) 그 자체이므로 360도이며, SAD(122)의 FD에서는 이 지연량에 상당하는 △를 검출한다. HBD는 지연량 △/2를 만든 것이며 Tou로부터 HBD를 거쳐서 발생된 타이밍 Tod는 Tou로부터 180도 위상이 지연되고 있게 된다. 데이타의 입력은 클럭 TCLK(RCLK)의 상승의 타이밍과, 또한 이와 180도 위상이 어긋난 타이밍에 대해서, 어느 데이타 윈도우를 갖고서 전송된다. 이 때문에, 도 22의 회로에서 발생된 신호의 타이밍으로 데이타를 받아들일 수 있다.
RCLK에서 데이타를 출력하는 경우의 내부 타이밍의 발생의 방법이 앞의 도 21의 타이밍차트에 나타내고 있다. Reu, Rou, Red, Rod는 이미 발생되어 있는 것을 사용한다. Q(D)는 데이타 출력의 상태를 나타내고 있지만 데이타의 변환이 이들의 타이밍에 있는 경우를 나타내고 있다.
그런데, 상기한 제2 실시예에서는 SAD를 이용하여 발생하는 내부 클럭의 타이밍을 실제의 편차에 맞춰서 조절하는 가변 지연 기능에 대해서는 특히 설명하지 않고 있지만, 회로 규모를 크게하지 않기 때문에 Teu, Tou, Reu, Rou의 발생 회로에 앞의 가변 지연 기능을 갖게 하도록 한다.
도 23은 Tou, Teu, Rou, Reu의 발생 회로에 가변 지연 기능을 갖게 하기 위해서 앞의 도 18의 (b), 도 18의 (c)의 회로로 바꿔서 사용되는 회로의 구성을 나타내고 있다. 즉, 도 18의 (b)의 회로 대신에 도 23의 (a)의 회로가 사용되며 도 18의 (c)의 회로 대신에 도 23의 (b)의 회로가 사용된다.
이 도 23의 (a), 도 23의 (b)에 도시한 회로가 도 18의 (b), 도 18의 (c)와 다른 곳은 내부 클럭의 타이밍을 조절하기 위해서 도 6에 도시한 회로에 설치되어 있는 가변 지연부(52, 55)와 마찬가지의 회로가 추가되어 있는 것이다. 도면 중, Tou', Teu', Rou', Reu'가 지연 시간의 조절을 받은 신호이며, Tou, Teu, Rou, Reu는 TCLK, RCLK와 위상이 일치한 신호이다.
또, 이 경우에도 가변 지연부(52)에서의 부하 조건을 가변 지연부(55)와 일치시키기 위해서 앞의 버퍼(54)와 동일한 버퍼(54)가 설치되고 있다.
그런데, 도 2나 도 3 등에 도시한 SAD에 공급되는 클럭에는 본래의 주기의 주위에 어떤 분포로 진동하는 지터가 존재하고 있다. 이것은 클럭 발생기에서의 신호의 진동이 일정 주기이어야 할 클럭에 미치는 영향이며 당연히 평균적인 주기는 일정하다.
지금, 외부 클럭에 대해서 도 24에 도시한 바와 같이 「0」 내지 「5」의 번호를 붙여서, 각각의 사이클이 갖는 지터에 대해서는 δ와 함께 외부 클럭에 첨부된 번호와 동일한 번호를 붙인다. 지터의 통계적인 최대치는 δ로 한다.
지터의 정의는 일정한 주기의 클럭이 원래 있어야 할 시각으로부터 실제의 클럭이 얼마만큼 지연되었는지를 나타내는 량으로 하고 있다. 따라서, 실제의 클럭이 빨라지면 값으로서는 음이 되는 경우도 있다.
도 24에서 클럭 1에서부터 내부 신호를 발생하는 경우를 생각하면 SAD에서는 클럭 2와 클럭 1 간의 지연을 검출하여, 클럭 1로부터의 지연으로 하기 위해서, 클럭 2에서의 지터가 +δ로 클럭 1에서의 지터가 -δ의 경우와, 클럭 2에서의 지터가 -δ로 클럭 1에서의 지터가 +δ의 경우가 클럭 2와 클럭 1 간의 지연의 양 극단이 되므로, 도시한 바와 같이 클럭 0에 대한 내부 신호의 지터는 절대치로 3δ가 된다.
이와 같이 SAD를 이용한 방식으로는 외부 클럭의 지터의 상황에 의해서는 이 지터가 크게 증폭되며, 외부 클럭과 동기한 내부 신호의 지터가 되어 버린다.
그래서, 앞의 도 2나 도 3 등에 도시한 SAD에서는 외부 클럭의 지터에 의한 영향을 가능한 한 작게 할 필요가 있으며, 이것을 실현하는 본 발명의 제3 실시예에 대해서 이하에 설명한다.
우선, SAD를 이용한 회로에서의 외부 클럭의 지터 증폭을 억제하는 원리에 대해서 우선 설명을 행하고, 다음에 이것을 실현하기 위한 구체적인 회로 구성에 대해서 설명을 행한다.
도 25에 도시한 바와 같이, 외부 클럭에 대하여 도 24와 마찬가지로 「0」 내지 「5」의 번호를 붙여서, 각각의 사이클이 갖는 지터에 대해서는 δ와 함께 외부 클럭에 첨부된 번호와 동일한 번호를 붙인다. 클럭 1의 타이밍으로부터 발생되는 클럭 0에 대응하는 내부 신호를 발생할 때에 이용하는 지연량을 도 24의 경우와 같이 클럭 2와 클럭 1 간에서 검출하지 않고서 클럭 3과 클럭 1 간, 클럭 5와 클럭 1 간에서 검출하여 1 사이클분의 평균치를 지연량으로서 이용하도록 한다. 클럭 3과 클럭 1 간의 지연량을 이용하면 평균된 지터는 ±δ가 되므로, 이에 클럭 1에서의 지터가 부가되어 내부 신호의 지터는 ±2δ이 되며, 도 24의 경우보다는 경감된다.
또한, 클럭 5와 클럭 1 간의 지연량을 이용하면 1/4로 평균화되므로, 평균된 지터는 ±0.5δ가 되며, 내부 신호의 지터는 ±1.5δ가 된다. 이와 같이 SAD에서 이용하는 지연량을 몇사이클의 사이에서 평균하면, 지터는 평균화되어 작아진다.
다음에, 예를 들면 앞의 도 3에 도시한 SAD에서 이러한 평균화를 어떻게 하여 행하는지를 생각한다.
도 26은 도 3에 도시한 SAD를 재기록한 것이다. 또, 설명을 간략화로 하기 위해서 내부 클럭의 타이밍을 조절하기 위한 앞의 가변 지연부(52, 55) 등은 도시를 생략하고 있다. 또한, 입력 클럭은 CK로 하였다. 이 CK는 앞의 TCLK나 RCLK에 상당하는 것이다.
이 SAD는 FD 및 BD 외에 SH를 갖는다. FD 및 BD는 각각 복수의 지연 유닛에 의해서 구성되어 있다. SH는 FD와 BD의 지연 유닛에 각각 대응한 복수의 상태 유지부에서 구성되고 있다. FD 내를 전진 펄스 FCLi가 전달하면 전달한 지연 유닛에 대응한 상태 유지부가 리셋 상태로부터 셋트 상태가 되며, 셋트 상태가 된 상태 유지부에 대응하는 BD 내의 지연 유닛이 내부의 클럭 CLK을 직접 전단에 전달한다. 이와 같이 하여, 전진 펄스가 전달한 지연 유닛수에 상당하는 지연량 △를 후진 펄스가 전달하는 지연 유닛의 수로서 지연량 △를 셋트할 수 있다.
또한, 후진 펄스는 전달하면서 전달한 지연 유닛에 대응하는 SH의 상태 유지부를 리셋 상태로 복귀한다. 이와 같이 하여, 클럭의 매 사이클에서 SH는 클럭의 1 사이클분의 지연량 △를 검출할 수 있다.
도 3의 SAD에서는 SH가 클럭의 1 사이클마다 셋트되어 있지만, 이것을 복수 사이클에 걸쳐서 부분적으로 행하면, 매사이클의 지연량 △를 이들 복수의 사이클로 평균화할 수 있다.
2사이클로 평균화하는 경우의 SAD의 구성예를 도 27에 도시한다. 이 예에서는 SH를 두개의 부분으로 나누어서, 이들을 클럭의 교대의 사이클로 셋트/리셋 동작을 행하게 하는 것이다.
예를 들면, 도 25 중의 클럭 3과 클럭 2 간은 △1로서, 클럭 2와 클럭 1 간은 △2로서 측정된다. SH를 구성하는 복수의 상태 유지부는 두개로 구분되어 있으며, 각각의 사이클로 △1과 △2의 반 정도에 상당하는 상태 유지부가 셋트되며, 클럭 1에서 내부 신호를 만드는 시점에서는 셋트된 상태 유지부의 수는 △1과 △2의 평균치에 대응하게 된다. 또한, SH 내의 복수의 상태 유지부를 4개로 구분하여 4클럭 사이클로 순서대로 셋트하도록 하면 도 25의 4사이클 평균의 경우가 얻어진다.
다음에, 이 셋트된 상태 유지부를 BD의 펄스 지연으로 변환하는 방식에 대해서 설명한다. 도 26에서 설명한 바와 같이 SH의 상태 유지부의 셋트부와 리셋부의 경계선으로부터 CLK가 BD로 들어가, 이것이 BD를 전달해간다. 따라서, 도 27에 도시한 바와 같이, △1과 △2가 모두 두개로 구분된 SH를 구성하는 소블럭의 도중까지의 상태 유지부가 셋트되어 있으면, 도 27의 「1」과 「2」에 보이는 것과 같은 2개소로부터 동시에 CLK가 BD로 진입한다. 따라서, 「1」로부터 진입한 부분이 셋트된 유닛 중 몇몇은 BD에서의 지연에 기여하지 않는다. 이 무시되는 유닛의 수를 가능한 한 적게 하는 방법을 도 28에 도시한다.
도 28의 (a), 도 28의 (b)는 도 27의 SAD의 BD만을 모식적으로 나타내고 있다.
도면에서 두개로 구분된 SH가 대응하는 지연 유닛의 블럭을 부호(130) 나타내고 있다. 각 지연 유닛의 블럭(130)의 각각에는 「e」와 「o」를 붙여서 클럭의 교대의 사이클로 각각의 블럭이 지연선으로서 셋트되는 것을 나타내고 있다.
또한, 각 지연 유닛의 블럭(130)에서 사선을 실시한 부분은 셋트된 지연 유닛에 상당하고 있다. BD의 소블럭이 전달한 후진 펄스는 직접 다음 소블럭에 전달되는 것은 아니고 AND 게이트(131)에 의해, 하나 전의 블럭(130)의 출력과의 AND 논리를 취한 후에 전달된다. 이와 같이 함으로서, 예를 들면 도 28의 (a)에 도시한 바와 같이, 도중까지 셋트된 소블럭(130)이 인접하고 있는 경우는 셋트되어 있는 영역이 많은 쪽이 지연으로서 활동하고, 적은 쪽은 무시된다. 즉, 도 28의 (a) 중, 굵은 테로 둘러싼 소블럭(130)에 의한 지연은 무시되어 오차가 된다. 또한, 도 28의 (b)에 도시한 바와 같이 클럭의 진동이 크고 「e」의 소블럭(130)과 「o」의 소블럭(130) 간에서 1소블럭 이상의 차가 생긴 경우는 부분적으로 셋트된 소블럭 중 보다 펄스가 진행하는 방향 앞에 있는 도면 중 굵은 테로 둘러싼 소블럭(130)에 의한 지연이 무시된다.
만약, AND 게이트(131)에 의해서 논리를 취하지 않으면, 부분적으로 셋트된 소블럭(130)에 끼워진 모든 소블럭(130)의 지연이 무시되게 된다. 이상에 의해, 소블럭의 셋트 상태가 어떻게 되어도 소블럭 중 하나가 무시되게 된다.
도 29a, 도 29b는 SH를 4개의 부분에 구분하여 4사이클의 평균치를 취하는 경우의 예를 나타내고 있다. 이 경우, 소블럭(130)의 종류는 4종이 되고 이들에 「a」, 「b」, 「c」, 「d」를 붙여서 구별하고 있다. 또한, 각 소블럭(130)은 연속한 4개의 소블럭의 출력의 AND 논리를 취하는 AND 게이트(131)의 출력을 입력으로 하고 있다. 도 29a에서는, 인접하는 소블럭이 부분적으로 셋트된 상태를 나타내고 있으며, 이 때는 셋트 부분이 최대의 소블럭을 제외하고 부분적으로 셋트된 다른 소블럭의 지연은 무시된다. 도면에서는 굵은 테가 둘러싼 소블럭의 지연이 무시된다.
도 29b에서는, 부분적으로 셋트된 상태의 소블럭이 인접하지 않은 경우이며, 이 때 풀로 셋트된 소블럭보다도 펄스 진행 방향 앞에 있는 부분 셋트 상태의 소블럭이 무시되며, 풀로 셋트된 소블럭보다 펄스 진행 앞에 있는 부분 셋트 상태의 소블럭 중 가장 셋트부분이 많은 부분 셋트의 소블럭과 풀 셋트 소블럭 이외도 무시된다.
즉, 도면 중 굵은 테로 둘러싸인 소블럭이 무시되어 지연에 기여하지 않는다. AND 게이트(131)가 설치되지 않으면, 부분 셋트의 소블럭에 둘러싸인 풀셋트의 소블럭도 무시되게 된다. 이상에 의해, 무시되는 소블럭의 수는 3개를 넘는 일은 없다.
이러한 소블럭으로 나눈 구성에서의 지터의 영향을 이론적으로 취급하여 소블럭의 규모 등을 이하에 고찰한다.
외부 클럭의 주기를 τ로 하고, 도 25에 도시한 바와 같이 사이클 1을 기점으로 생각한다. 각 사이클에서의 지터를 고려하면 각 사이클에서의 주기는 하기의 표 1에 나타낸 바와 같은 관계가 된다.
[표 1]
1 사이클 전 2와 1의 사이 τ+δ1-δ2
2 사이클 전 3과 2의 사이 τ+δ2-δ3
· · ·
· · ·
n-1 사이클 전 n과 n-1의 사이 τ+δn-δn-1
n 사이클 전 n+1과 n의 사이 τ+δn+1-δn
SH를 복수의 상태 유지부에서 구성하고, 이들의 상태 유지부를 α개씩의 소블럭으로 나누어서, 도 29의 「a」, 「b」, 「c」, 「d」 … 와 같이 n종으로 나누어서, 각 사이클에서의 주기를 이용하여 셋트를 행하면 각 사이클마다 셋트되어 있는 상태 유지부의 수는 각각의 종별마다 1/n의 갯수밖에 없으므로, 상기 각 사이클에서의 주기가 1/n 되게 된다. 소블럭은 α유닛으로 이루어지므로, 각 종별마다 부분적으로 셋트된 소블럭은 하나 있으며, 그 소블럭에서의 셋트된 유닛의 수는 i 사이클 전의 종류이며,
가 된다. △i는 α를 법으로 하고 있기 때문에 0≤△i<α를 만족한다.
이들의 미충족 소블럭 중 하나를 예를 들면 j를 제외하여 무시되는 것이 도 28이나 도 29의 방식이기 때문에, 사이클 1에서 발생되어 사이클 0에 일치하여야 할 내부 신호의 타이밍은,
따라서, 내부 신호의 지터 J는,
로 나타난다. 또, -δ≤δi≤δ, 0≤△i<α이다.
따라서,
가 된다.
도 3의 종래의 SAD는 n=1인 경우에 ±3δ가 지터의 최대가 된다. 소블럭을 어느 정도의 크기로 하는지를 생각하면, α=1이라고 하면, △i=0이 되므로,
이 되며, 지터를 가장 작게 할 수 있는 것을 알 수 있다.
즉, 도 28이나 도 29에 도시하는 소블럭은 하나씩의 지연 유닛으로부터 구성하도록 하는 것이 좋다. 이 구성의 구체적인 방법에 대해서는 후에 설명하지만 우선, 이와 같이 한 경우의 효과를 이론적으로 추측한다.
그런데, 각 사이클의 지터는 완전히 랜덤은 아니고 상관을 갖고 있다. 다음에 이 점에 대해서 고려한다. 즉,
로서, 상관의 강도 β를 도입한다. 0≤β≤1이며, r은 랜덤인 변수로 -δ≤r≤δ이다. c는 다른 사이클과 상관한 변수로 역시 -δ≤c≤δ이며 사이클 간의 상관 계수를 이용하여 다음과 같이 나타낸다.
상기 수학식 7에서 ζ는 상관 거리에 상당하는 사이클수로, c(1, 1)는 사이클 1과 i와의 상관 계수로, c(1, i)>0이 되는 조건을 만족한다.
또한, δ1=δ일 때, c가 최대가 되므로,
가 된다.
이상을 고려하면, 내부 신호의 지터 J는,
를 Σ로 약기하여, 이하의 식으로 나타낸다.
다음에 이 J의 범위를 평가한다.
ζ<n+1인 경우, 즉 상관의 거리를 넘은 사이클에서의 평균을 취하면, 최대는 r=δ, δi=δ, δn+1=-δ인 경우이며, 최소는 r=-δ, δ1=-δ, δn+1=-δ인 경우이기 때문에, 이들을 대입하여 계산하면 다음식이 얻어진다.
상기 수학식 10에서 나타낸 바와 같이, 도 25에 도시한 경우와 동일해지며 평균을 취하는 사이클수를 많게하면, 지터 증폭의 효과는 그만큼 작아진다. 또, 도 25는 상관 거리가 극단적으로 짧은 경우 또는 상관이 없는 경우에 상당하고 있다.
ζ≥n+1인 경우 즉, 상관의 거리 내에서의 평균을 취하는 경우는 δn+1의 계수의 정부에 의해서 J의 최대 최소의 조건이 달라진다.
이므로 수학식 11의 우측 제2항의 중괄호 내의 값이 양의 값인 경우, 즉 βc{1, n+1}을 An으로 나타내고,
인 경우, 최대는 r=δ, δi=δ, δn+1=δ인 경우이며, 최소는 r=-δ, δi=-δ, δn+1=-δ이며, 수학식 8로부터,
인 것을 사용하면, -δ≤J≤δ가 되며, 지터는 증폭되지 않는다.
인 경우는 수학식 11의 우측 제2항의 중괄호 내의 값은 음의 값이 되며, 최대는 r=δ, δi=δ, δn+1=-δ인 경우이며, 최소는 r=-δ, δ1=-δ, δn+1=δ이 되며,
가 된다.
이상에서부터, 상관 거리 내에서 평균을 취하면 더 지터의 증폭은 작아지며 상관량 An에 따라서는 지터의 증폭이 완전히 없어진다. 예를 들면 2사이클의 평균을 취하는 경우는 An=1/3이 조건의 경계이므로 2사이클 전과 약 33% 이상 상관이 있으면, 지터는 외부 클럭대로 변화없고, 33% 이하라도 수학식 15에서 n=2로서 알 수 있듯이 최대 δ(1-3An)의 지터의 증가가 있을 뿐이다.
또한, 4사이클의 평균을 취하는 경우는 An=1/5이 조건의 경계이므로 4사이클 전과 20% 이상의 상관이 있으면, 지터는 외부 클럭 그대로 변화없고, 20% 이하라도 수학식 15에서 n=4로서 알 수 있듯이 최대 δ(1-5An)/2의 지터의 증가가 있을 뿐이다.
몇 사이클의 평균을 취하면 최적인지는 상관 계수의 사이클 의존성에 따르지만 2사이클 이상의 평균화를 행함으로써, 지터의 증가가 대폭으로 억제된다는 것은 변화가 없다. 무상관의 경우인 An = 0이라고 하면, 도 25의 경우와 동일한 효과가 얻어지는 것은 물론이다.
다음에 상기한 바와 같은 소블럭이 1지연 유닛으로 이루어지는 경우의 SAD의 구체적인 회로 구성을 도 30에 도시한다.
도 30은 앞의 도 28에 도시한 BD를 구체적으로 나타낸 것이다. 여기서, 각 지연 유닛은 2개의 클럭드 인버터(141, 142)와 1개의 NOR 게이트(143)로 구성되고 있다. 상기 2개의 클럭드 인버터(141, 142)는 앞의 도 4에 도시한 2개의 클럭드 인버터(44, 45)에 대응하는 것이며, 각각의 동작은 대응하는 지연 유닛 내의 상태 유지부에서 발생되는 제어 펄스 Q, /Q로 제어된다. 상기 NOR 게이트(143)는 앞의 도 4에 도시한 인버터(46)와, 도 28 중의 AND 게이트(131)와의 기능을 겸비한 것이며, 이 NOR 게이트(143)에는 상기 2개의 클럭드 인버터(141, 142)의 출력이 공급된다.
이러한 구성의 BD에서 각 지연 유닛 내의 2개의 클럭드 인버터(141, 142)는 대응하는 지연 유닛 내의 상태 유지부에서 발생되는 제어 펄스 Q, /Q에 기초하여 후단으로부터의 펄스 RCL을 받아서 전단에 전하는 지연 소자로서 작동하거나, 클럭 CLK를 후진 펄스의 지연 경로에 도입하는 입구로서 작동한다. 또한, 각 지연 유닛은 자기 자신의 상태와 후단으로부터의 상태를 받아 출력 RCLio 또는 RCLie를 대응하는 상태유지부로 보낸다.
이 경우의 FD의 기본적인 구성은 도 31에 도시한 바와 같이 BD와 동일하며, 2개의 클럭드 인버터(151, 152)는 앞의 도 4에 도시한 2개의 클럭드 인버터(41, 42)에 대응하고 있다. 또한, NOR 게이트(153)는 앞의 도 4에 도시한 인버터(43)와 AND 게이트(131)와의 기능을 겸비한 것이며, 이 NOR 게이트(153)에는 상기 2개의 클럭드 인버터(151, 152)의 출력이 공급된다.
도 32는 상기 각 지연 유닛 내에 설치되는 상태 유지부를 그 클럭 사이클마다 셋트/ 리셋의 그룹 선택을 행하기 위한 제어부와 함께 나타낸 것이다. 도면 중, 파선으로 둘러싼 부분이 상태 유지부이며, 이 상태 유지부는 전진 펄스를 전달하는 FD의 각 지연 유닛마다 설치되고 있다.
이 상태 유지부에서 전원 전위의 노드와 접지 전위의 노드 간에는 각각 2개의 P 채널 및 N 채널 MOS 트랜지스터(161 ∼ 164)가 직렬로 삽입되어 있다.
P 채널 MOS 트랜지스터(161)의 게이트에는 펄스 RCLio 혹은 RCLie가 인버터(165)를 통하여 공급된다. P 채널 MOS 트랜지스터(162)의 게이트에는 후술하는 제어부로부터 출력되는 신호/Ro 혹은 /Re가 공급된다. N 채널 MOS 트랜지스터(163)의 게이트에는 후술하는 제어부로부터 출력되는 신호 So 혹은 Se가 공급된다. N 채널 MOS 트랜지스터(164)의 게이트에는 펄스 FCLio 혹은 FCLie가 공급된다.
그리고, P 채널 MOS 트랜지스터(162)와 N 채널 MOS 트랜지스터(163)의 직렬 접속 노드로부터 제어 펄스/Qk 혹은 /Qk+1이 출력되며, 더욱 이 제어 펄스/Qk 혹은 /Qk+1을 인버터(166)로 반전함으로써 제어 펄스 Qk 혹은 Qk+1이 출력된다.
상태 유지부의 제어부는 각각 1개의 NOR 게이트(167), NAND 게이트(168)와, 2개의 인버터(169, 170)로 구성되고 있다. NOR 게이트(167)에는 제어 신호/Fo 혹은 /Fe와 제어 신호 BPM이 공급된다. NAND 게이트(168)에는 제어 신호 Fo 혹은 Fe와 제어 신호 BPM이 공급된다. 그리고, NOR 게이트(167)의 출력이 인버터(169)로 반전됨으로써 앞의 신호 /Ro 혹은 /Re가 발생되며 NAND 게이트(168)의 출력이 인버터(170)로 반전됨으로써 앞의 신호 So 혹은 Se가 발생된다.
도 32에 도시한 상태 유지부는 트랜지스터(162, 163)의 직렬 접속 노드가 셋트/ 리셋 상태에 따른 신호를 출력하는 신호 노드가 되며, 트랜지스터(161, 162)는 이 신호 노드에 전하를 공급하기 위한 것이며, 트랜지스터(163, 164)는 이 신호 노드로부터 전하를 방출하는 것이다. 그리고, 트랜지스터(163, 164)가 모두 도통 상태가 되었을 때에 상기 신호 노드에 셋트 출력(/Q= "L", Q= "H")이 얻어지며, 트랜지스터(161, 162)가 모두 도통 상태가 되었을 때 상기 신호 노드에 리셋 출력(/Q= "H", Q= "L")이 얻어진다.
즉, 전진 펄스 FCLio 혹은 FCLie에 의해서 제어 펄스 Qk 혹은 Qk+1이 상승함으로써 셋트 상태가 된다. 그러나, 이 셋트 동작을 행하는 것은 FCLio이면 So, FCLie이면 Se가 각각 "H"인 경우이다.
또한, 상태 유지부는 FD를 구성하는 지연 유닛으로부터의 펄스 RCLio 혹은 RCLie를 받아 리셋 상태가 되며 제어 펄스 Qk 혹은 Qk+1이 하강한다. 그러나, 이 리셋 동작을 행하는 것은 RCLio이면 /Ro, RCLie /Re가 각각 "L"인 경우이다.
신호 /Ro, So의 레벨은 /Fo, Fo에 의해서 제어되며, Fo가 "L"인 경우에는 각각"H", "L"이 되며, 이 때는 상태 유지부의 셋트/ 리셋가 행해지지 않고, 이전의 Qk의 상태가 다이내믹적으로 유지된다. 신호/Re, Se와 /Fe, Fe에 대해서도 마찬가지이다. 또, 제어 신호 BPM은 상태 유지부가 셋트/ 리셋의 취득 가능 사이클이면, 그 레벨이 "L"이 되는 타이밍에 상태 유지부를 리셋하기 위한 신호이다.
이와 같이, 제어 신호 Fo나 Fe를 제어함으로서 상태 유지부가 유효한 사이클을 결정할 수 있다. 다음에 이 제어 신호 Fo, Fe를 발생하는 제어 신호 발생 회로에 대해서 도 33을 참조하여 설명한다.
상기한 바와 같이 2사이클로 평균을 취하는 경우는, 외부 클럭의 1사이클마다 Fo와 Fe를 교대로 세우도록 하며, 지연 유닛 중 하나 걸러서 교대로 상태 유지부의 셋트/ 리셋 동작을 행하도록 하면 좋다.
도 33a에 도시하는 회로는 클럭 CLK와 전진 펄스 FCL0의 반전 신호가 공급되는 AND 게이트(171)와, 제어 신호 Fe를 소정 시간 지연하는 지연 회로(172)와, 제어 신호 Fo를 소정 시간 지연하는 지연 회로(173)와, 상기 AND 게이트(171)의 출력 a와 상기 지연 회로(172)의 지연 출력이 공급되는 NAND 게이트(174)와, 상기 AND 게이트(171)의 출력 a와 상기 지연 회로(173)의 지연 출력이 공급되는 NAND 게이트(175)와, 각각 한쪽의 출력 신호가 다른 쪽의 하나째의 입력 신호로서 공급되는 바와 같이 소위 비스듬히 교차 접속되어 플립플롭 회로를 구성하는 2개의 NAND 게이트(176, 177)를 갖고 있다.
NAND 게이트(176, 177) 각각의 두번째의 입력 신호로서 NAND 게이트(174, 175)의 출력 신호가 공급된다. 그리고, 제어 신호 Fo, Fe는 상기 NAND 게이트(176, 177)의 출력 신호로서 얻어진다. 여기서 얻어진 제어 신호 Fo, Fe는 지연 회로(172, 173)에 피드백된다.
도 33b는 도 33a 중의 지연 회로(172, 173) 각각의 구체적 회로 구성을 나타내고 있다. 양 지연 회로는 마찬가지로 구성되고 있으며, 상기 AND 게이트(171)의 출력 신호 a의 반전 신호/a가 "H"인 경우 동작하여 신호 Fe 혹은 Fo를 반전하는 클럭드 인버터(181)와, 상기 신호 a가 "H"인 경우에 동작하여 상기 클럭드 인버터(181)의 출력 노드의 신호를 반전하는 클럭드 인버터(182)와, 직렬 접속된 2개의 인버터로 이루어지며 상기 클럭드 인버터(181)의 출력 노드의 신호를 동일한 노드로 정귀환하는 정귀환 회로(183)로 구성되어 있다.
도 33a에 도시된 제어 신호 발생 회로는 2개의 NAND 게이트(176, 177)로 이루어지는 플립플롭 회로에서 신호 Fo, Fe의 양 쪽이 동시에 동일한 상태가 되지 않는 것을 이용하고 있다. 그리고, 신호 Fo, Fe의 상태는 클럭 CLK가 상승하며, 전진 펄스가 FD에 입력되기 전으로 후진 펄스가 BD 중을 한창 전달하고 있는 동안에 매사이클 교대로 변환하게 되고 있다. 이에 따라, 상태 유지부가 셋트된 총수에 매사이클로 2사이클분의 평균이 되며, 도 30에 도시하는 BD에 의해서 이 총수분의 BD의 지연 유닛을 후진 펄스가 전달되게 된다.
다음에, 도 29에 대응한 4사이클로 평균하는 경우에 소블럭이 1 지연 유닛으로 이루어지는 경우의 구체적인 회로 구성에 대해서 설명한다.
도 34는 도 29의 경우의 BD를 구체적으로 나타내고 있다. 이 경우, 각 지연 유닛은 2개의 클럭드 인버터(141, 142)와 1개의 NOR 게이트(144)로 구성되고 있다. 이 NOR 게이트(144)는 앞의 도 30 중의 NOR 게이트(143)와는 달리, 4개의 지연 유닛으로부터의 출력 신호가 공급되도록 4입력으로 되어 있다. 그 밖의 구성 및 기본적인 동작은 도 30의 것과 동일하므로 이들의 설명은 생략한다.
도 35는 도 29의 경우의 FD를 구체적으로 나타내고 있다. 이 경우, 각 지연 유닛은 2개의 클럭드 인버터(151, 152)와 1개의 NOR 게이트(154)로 구성되어 있다. 이 NOR 게이트(154)는 앞의 도 31 중의 NOR 게이트(153)와는 달리, 4개의 지연 유닛으로부터의 출력 신호가 공급되도록 4입력으로 되어 있다. 그 밖의 구성 및 기본적인 동작은 도 31의 것과 마찬가지이므로 이들의 설명은 생략한다.
도 36은 상기한 바와 같이 4사이클로 평균하는 경우의 상기 각 지연 유닛 내에 설치되는 상태 유지부를 그 클럭 사이클마다 셋트/ 리셋의 그룹 선택을 행하기 위한 제어부와 함께 나타낸 것이다. 도면 중, 파선으로 둘러싼 부분이 상태 유지부이다. 이 상태 유지부는 각각 2개의 P 채널, N 채널 MOS 트랜지스터(191 ∼ 194)와, 2개의 인버터(195, 196)로 구성되어 있다. P 채널 MOS 트랜지스터(191)의 게이트에는, 펄스 RCLia, RCLib, RCLic, RCLid 중 어느 하나의 신호가 인버터(195)를 통해 공급된다.
P 채널 MOS 트랜지스터(192)의 게이트에는 후술하는 제어부로부터 출력되는 신호/Ra, /Rb, /Rc, /Rd 중 어느 하나의 신호가 공급된다. N 채널 MOS 트랜지스터(193)의 게이트에는 후술하는 제어부로부터 출력되는 신호 Sa, Sb, Sc, Sd 중 어느 하나의 신호가 공급된다. N 채널 MOS 트랜지스터(194)의 게이트에는 펄스 FCLia, FCLib, FCLic, FCLid 중 어느 하나의 펄스가 공급된다.
그리고, P 채널 MOS 트랜지스터(192)와 N 채널 MOS 트랜지스터(193)의 직렬 접속 노드로부터 제어 펄스 /Qk, /Qk+1, /Qk+2, /Qk+3 중 어느 하나가 출력되며 또한 이 제어 펄스/Qk, /Qk+1, /Qk+2, /Qk+3을 인버터(196)로 반전함으로써 제어 펄스 Qk, Qk+1, Qk+2, Qk+3 중 어느 하나가 출력된다.
상태 유지부의 제어부는 각각 1개의 NOR 게이트(197), NAND 게이트(198)와, 2개의 인버터(199, 200)로 구성되어 있다. NOR 게이트(197)에는 제어 신호/Fa, /Fb, /Fc, /Fd 중 어느 하나와 앞의 제어 신호 BPM이 공급된다. NAND 게이트(198)에는 제어 신호 Fa, Fb, Fc, Fd 중 어느 하나와 앞의 제어 신호 BPM이 공급된다. 그리고, NOR 게이트(197)의 출력이 인버터(199)로 반전됨으로써 앞의 신호/Ra, /Rb, /Rc, /Rd 중 어느 하나가 발생되며, NAND 게이트(198)의 출력이 인버터(200)로 반전됨으로써 앞의 신호 Sa, Sb, Sc, Sd 중 어느 하나가 발생된다.
도 36에 도시한 상태 유지부는 전진 펄스 FCLia, FCLib, FCLic, FCLid 중 어느 하나에 의해서 제어 펄스 Qk, Qk+1, Qk+2, Qk+3 중 어느 하나가 상승함으로써 셋트 상태가 된다. 그러나, 이 셋트 동작을 행하는 것은 FCLia이면 Sa, FCLib이면 Sb, FCLic이면 Sc, FCLid이면 Sd가 각각 "H"인 경우이다.
또한, 상태 유지부는 FD를 구성하는 지연 유닛으로부터의 펄스 RCLia, RCLib, RCLic, RCLid 중 어느 하나를 받아서 리셋 상태가 되며, 제어 펄스 Qk, Qk+1, Qk+2, Qk+3 중 어느 하나가 하강한다. 그러나, 이 리셋 동작을 행하는 것은 RCLia이면 /Ra, RCLib이면/Rb, RCLic이면 /Rc, RCLid이면 /Rd가 각각 "L"인 경우이다.
예를 들면, 신호/Ra, Sa의 레벨은 /Fa, Fa에 의해서 제어되며 Fa가 "L"인 경우 각각 "H", "L"이 되며, 이 때는 상태 유지부의 셋트/ 리셋가 행해지지 않으며, 이전의 Qk의 상태가 다이내믹적으로 유지된다. 신호/Rb, Sb와 /Fb, Fb, 신호/Rc, Sc와 /Fc, Fc, 신호/Rd, Sd와 /Fd, Fd에 대해서도 마찬가지이다.
이와 같이, 제어 신호 Fa, Fb, Fc, Fd를 제어함으로서 상태 유지부가 유효한 사이클을 결정할 수 있다.
다음에, 이들의 제어 신호 Fa, Fb, Fc, Fd를 발생하는 제어 신호 발생 회로에 대해서 도 37을 참조하여 설명한다.
상기한 바와 같이 4사이클로 평균을 취하는 경우는 외부 클럭의 4사이클로 Fa, Fb, Fc, Fd를 순차 세우도록 한다.
도 37a에 도시하는 회로는 도 33a의 회로에서 얻어지는 신호 Fo를 입력으로 하고 있다. 즉, 이 회로는 인버터(201), 이 인버터(201)의 출력을 소정 시간 지연하는 지연 회로(202), 이 지연 회로(202)의 출력과 상기 신호 Fo가 공급되는 NAND 게이트(203), 이 NAND 게이트(203)의 출력을 반전하는 인버터(204)로 이루어지며, 신호 Fo의 상승 에지에 동기한 펄스를 발생하는 에지 펄스 발생 회로(205)와, 제어 신호 Fee를 소정 시간 지연하는 지연 회로(206)와, 제어 신호 Foo를 소정 시간 지연하는 지연 회로(207)와, 상기 에지 펄스 발생 회로(205)의 출력 신호 b와 상기 지연 회로(206)의 지연 출력이 공급되는 NAND 게이트(208)와, 상기 에지 펄스 발생 회로(205)의 출력 신호 b와 상기 지연 회로(207)의 지연 출력이 공급되는 NAND 게이트(209)와, 각각 한쪽의 출력 신호가 다른쪽의 하나째의 입력 신호로서 공급되는 바와 같이 소위 비스듬히 교차 접속되어 플립플롭 회로를 구성하는 2개의 NAND 게이트(210, 211)를 갖고 있다.
상기 NAND 게이트(210, 211) 각각의 두번째의 입력 신호로서, 상기 NAND 게이트(208, 209)의 출력 신호가 공급된다. 그리고, 제어 신호 Foo, Fee는 상기 NAND 게이트(210, 211)의 출력 신호로서 얻어진다. 여기서 얻어진 제어 신호 Foo, Fee는 지연 회로(206, 207)에 피드백된다.
도 37b는 도 37a 중의 지연 회로(206, 207) 각각의 구체적 회로 구성을 나타내고 있다. 양 지연 회로는 마찬가지로 구성되어 있으며 상기 에지 펄스 발생 회로(205)의 출력 신호 b의 반전 신호 /b가 "H"인 경우 동작하여 신호 Fee 혹은 Foo를 반전하는 클럭드 인버터(221)와, 상기 신호 b가 "H"인 경우 동작하여 상기 클럭드 인버터(221)의 출력 노드의 신호를 반전하는 클럭드 인버터(222)와, 직렬 접속된 2개의 인버터로 이루어지며 상기 클럭드 인버터(221)의 출력 노드의 신호를 동일한 노드에 정귀환하는 정귀환 회로(223)로 구성되어 있다.
도 37c는 전번의 제어 신호 Fo 및 Fe와 도 37a의 회로에 의해서 얻어지는 제어 신호 Foo, Fee로부터 제어 신호 Fa, Fb, Fc, Fd 및 이들의 반전 신호 /Fa, /Fb, /Fc, /Fd를 발생하는 회로의 구성을 나타내고 있다. 이 도 37c에 도시한 회로는 Fa와 /Fa, Fb와 /Fb, Fc와 /Fc, Fd와 /Fd의 4종의 신호를 발생하기 위해서 4개 설치되고 있다.
이 회로는 AND 게이트(224)와 인버터(225)로 구성되고 있다. AND 게이트(224)에는 제어 신호 Fo와 Foo, Fe와 Foo, Fo와 Fee, Fe와 Fee가 공급되며, 이 AND 게이트(224)로부터는 제어 신호 Fa, Fb, Fc, Fd가 출력된다. 그리고, 이 제어 신호 Fa, Fb, Fc, Fd가 인버터(225)에 의해서 반전됨으로써 의해 제어 신호/Fa, /Fb, /Fc, /Fd가 출력된다.
도 36a에 도시된 제어 신호 발생 회로에서도 2개의 NAND 게이트(210, 211)로 이루어지는 플립플롭 회로에서 신호 Foo, Fee의 양쪽이 동시에 동일한 상태가 되지 않은 것을 이용하고 있다. 그리고, 신호 Foo, Fee의 상태를 바꾸기 위해서 신호 Fo의 상승을 이용하고 있는 점이 도 33a와는 다르다. 즉, 1사이클 걸러서 신호 Fo가 상승하기 때문에, 신호 Foo와 Fee는 2사이클 계속하여 동일한 상태를 유지하고 2사이클 걸러서 상태가 변화한다. 이들의 신호 Foo, Fee를 이용하여, 1 사이클마다 상태를 변화시켜서, 4사이클로 일주하는 제어 신호 Fa, Fb, Fc, Fd와 그 반전 신호를 발생할 수 있다.
이와 같이, 제3 실시예에 따르면, 외부 클럭의 지터에 의한 영향을 외부 클럭 복수 사이클로 평균하도록 하였으므로, 내부 클럭의 타이밍 조절에 의해 데이타 전송을 확실하게 행할 수 있다고 하는 효과 외에, 외부 클럭의 지터에 의한 악영향을 삭감할 수 있으며 보다 확실한 데이타 전송을 행할 수 있다고 하는 효과를 얻을 수 있다.
이상 설명한 바와 같이 본 발명에 따르면, 메모리 모듈과 메모리 컨트롤러 간의 버스의 물리 조건을 그 만큼 엄하게 제한하지 않아도, 고속인 동기형 데이타 전송을 실현할 수 있는 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법을 제공할 수 있다.

Claims (16)

  1. 데이타 고속 전송 동기 시스템에 있어서,
    클럭을 수신하고, 상기 클럭에 동기하여 동작하는 복수의 메모리 모듈;
    상기 클럭을 발생시키고, 상기 복수의 메모리 모듈 사이에서 데이타 전송이 행해지는 메모리 컨트롤러; 및
    상기 복수의 메모리 모듈 내에 각각 설치되고, 상기 클럭으로부터 이 클럭에 동기한 내부 클럭을 발생시키며, 또한 상기 내부 클럭의 타이밍으로 프로그램 가능한 편차를 도입하여 타이밍을 보정하는 기능을 갖는 내부 클럭 발생 회로
    를 구비한 것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  2. 제1항에 있어서,
    상기 내부 클럭 발생 회로는,
    데이타 입력용 제1 내부 클럭을 발생시키는 제1 내부 클럭 발생 회로부와,
    데이타 출력용 제2 내부 클럭을 발생시키는 제2 내부 클럭 발생 회로부를 구비하는 것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  3. 제2항에 있어서,
    상기 제1, 제2 내부 클럭 발생 회로부의 각각은,
    상기 클럭을 수신하는 제1 버퍼와,
    상기 제1 버퍼의 출력을 수신하고, 상기 제1 버퍼에 있어서의 지연 시간과 동일한 지연 시간을 갖고, 상기 제1 버퍼의 출력을 지연하는 제1 지연 회로와,
    상기 제1 지연 회로로부터의 출력을 수신하고, 상기 제1 지연 회로로부터의 출력을 고정된 일정시간 지연시키는 제2 지연 회로와,
    상기 제2 지연 회로로부터의 출력을 수신하는 제2 버퍼와,
    다단 종속 접속된 복수의 제1 지연 유닛을 구비하고, 상기 제2 버퍼의 출력을 수신하고, 상기 제2 버퍼의 출력을 상기 클럭 주기에 따른 기간 중, 상기 복수의 제1 지연 유닛으로 전달하여 지연하는 제3 지연 회로와,
    다단 종속 접속된 복수의 제2 지연 유닛을 구비하고, 상기 제3 지연 회로에서 지연되는 신호가 공급되고, 상기 신호를 상기 제2 버퍼의 출력이 전달한 상기 제1 지연 유닛과 동일한 수의 제2 지연 유닛으로 전달하여 지연하는 제4 지연 회로와,
    상기 제4 지연 회로로부터의 출력을 수신하고, 상기 제4 지연 회로로부터의 출력을 제어 신호에 따른 시간만큼 지연하여 출력하는 가변 지연 회로와,
    상기 제2 버퍼에 있어서의 지연 시간과 동일한 지연 시간을 구비하고, 상기 가변 지연 회로로부터의 출력을 수신하여 상기 내부 클럭을 발생시키는 제3 버퍼
    를 구비하는 것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  4. 제3항에 있어서, 상기 가변 지연 회로는,
    직렬 접속되고, 일단에 상기 제4 지연 회로의 출력이 공급되는 복수의 단위지연 소자; 및 상기 복수의 단위 지연 소자의 각 직렬 접속 노드의 신호를 상기 제어 신호에 기초하여 선택하는 복수의 스위치 회로를
    포함하는 것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  5. 제3항에 있어서, 상기 제어 신호는 상기 메모리 컨트롤러로부터 제공되는 커맨드에 기초하여 발생되는 것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  6. 제1항에 있어서,
    상기 내부 클럭 발생 회로는,
    일정한 지연 시간을 갖는 복수의 제1 지연 유닛이 종속 접속되고, 전진 펄스를 전달하는 전진 펄스 지연 회로와,
    일정한 지연 시간을 갖는 복수의 제2 지연 유닛이 종속 접속되고, 후진 펄스를 전달하는 후진 펄스 지연 회로와,
    상기 전진 펄스 지연 회로의 제1 지연 유닛과 상기 후진 펄스 지연 회로의 제2 지연 유닛에 대응하여 설치되고, 리셋 상태와 셋트 상태를 갖는 복수의 상태 유지부
    를 구비하고,
    상기 전진 펄스가 전달한 상기 제1 지연 유닛에 대응하는 상기 상태 유지부가 셋트 상태가 되고, 상기 셋트 상태의 상태 유지부에 대응하는 후진 펄스 지연 회로의 제2 지연 유닛은 후단의 제2 지연 유닛으로부터의 후진 펄스를 그것보다도 전단인 제2 지연 유닛으로 전달하고, 상기 리셋 상태의 상태 유지부에 대응하는 후진 펄스 지연 회로의 제2 지연 유닛은 내부 클럭을 전단의 제2 지연 유닛으로 직접 전달하고,
    상기 상태 유지부는 복수의 그룹으로 구분되고, 각각의 그룹에 속하는 상태 유지부를 하나씩 순서대로 나열하는 상태 유지부를 상기 제1, 제2 지연 유닛에 순서대로 대응시켜, 각 그룹마다 상태 유지부를 셋트하는 외부 클럭의 사이클을 차례로 편차시켜 동작시키도록 한
    것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  7. 데이타 고속 전송 동기 시스템에 있어서,
    클럭을 취득하고, 상기 클럭에 동기하여 동작하는 복수의 메모리 모듈;
    상기 클럭을 발생시키고, 상기 복수의 메모리 모듈 사이에서 데이타의 전송이 행해지는 메모리 컨트롤러; 및
    상기 복수의 메모리 모듈 내에 각각 설치되고, 상기 클럭으로부터 이 클럭에 동기한 내부 클럭을 발생시키는 내부 클럭 발생 회로
    를 구비하고,
    상기 내부 클럭 발생 회로는, 일정한 지연 시간을 갖는 복수의 제1 지연 유닛이 종속 접속되고, 전진 펄스를 전달하는 전진 펄스 지연 회로; 일정한 지연 시간을 갖는 복수의 제2 지연 유닛이 종속 접속되고, 후진 펄스를 전달하는 후진 펄스 지연 회로; 및 상기 전진 펄스 지연 회로의 제1 지연 유닛과 상기 후진 펄스 지연 회로의 제2 지연 유닛에 대응하여 설치되고, 리셋 상태와 셋트 상태를 갖는 복수의 상태 유지부를 구비하며,
    상기 전진 펄스가 전달한 상기 제1 지연 유닛에 대응하는 상기 상태 유지부가 셋트 상태가 되고, 상기 셋트 상태의 상태 유지부에 대응하는 후진 펄스 지연 회로의 제2 지연 유닛은 후단의 제2 지연 유닛으로부터의 후진 펄스를 그것보다도 전단인 제2 지연 유닛으로 전달하고,
    상기 리셋 상태의 상태 유지부에 대응하는 후진 펄스 지연 회로의 제2 지연 유닛은 내부 클럭을 전단의 제2 지연 유닛으로 직접 전달하고,
    상기 상태 유지부는 복수의 그룹으로 구분되고, 각각의 그룹에 속하는 상태 유지부를 하나씩 순서대로 나열한 상태 유지부를 상기 제1, 제2 지연 유닛에 순서대로 대응시켜, 각 그룹마다 상태 유지부를 셋트하는 외부 클럭의 사이클을 차례로 편차시켜 동작시키도록 구성한
    것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  8. 제6항 또는 제7항에 있어서,
    상기 제1, 제2 지연 유닛은 각각 제1 및 제2 클럭드 인버터와 NOR 게이트로 구성되고,
    상기 제1 클럭드 인버터에는 다른 지연 유닛으로부터의 출력이 입력으로서 공급되며,
    상기 제2 클럭드 인버터에는 상기 전진 펄스 지연 회로 또는 후진 펄스 지연 회로를 구성하는 모든 지연 유닛에 공통의 신호가 입력으로서 공급되고,
    상기 NOR 게이트에는 상기 제1 및 제2 클럭드 인버터의 출력이 입력으로서 공급되고,
    상기 제1 클럭드 인버터는 셋트 상태의 상기 상태 유지부의 출력으로 인버터로서 동작하고,
    상기 제2 클럭드 인버터는 리셋 상태의 상기 상태 유지부의 출력으로 인버터로서 동작하는
    것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  9. 제8항에 있어서,
    상기 상태 유지부는,
    셋트/리셋 상태에 따른 신호를 출력하는 신호 노드;
    상기 후진 펄스 지연 회로의 제2 지연 유닛의 출력에 의해 도통 제어되고, 상기 신호 노드에 전하를 공급하는 제1 채널의 트랜지스터; 및
    상기 전진 펄스 지연 회로의 제1 지연 유닛의 출력에 의해 도통 제어되고, 상기 신호 노드로부터 전하를 방출하는 제2 채널의 트랜지스터
    를 구비하고,
    상기 제2 채널의 트랜지스터가 도통 상태가 됐을 때, 상기 신호 노드에 셋트 출력을 얻을 수 있고, 상기 제1 채널의 트랜지스터가 도통 상태가 됐을 때, 상기 신호 노드에 리셋 출력을 얻을 수 있으며,
    상기 제1, 제2 채널의 트랜지스터는 동시에 도통 상태가 되지 않도록 제어되는
    것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  10. 제9항에 있어서,
    상기 상태 유지부는 2개의 그룹으로 구분되고, 각 그룹에 속하는 상태 유지부가 교대로 나열되어, 대응하는 상기 전진 펄스 지연 회로의 제1 지연 유닛 및 후진 펄스 지연 회로의 제2 지연 유닛과 대응시켜, 한쪽 그룹에 속하는 상태 유지부 내의 상기 제1, 제2 채널의 트랜지스터의 기능을 전부 무효로 하는 상기 클럭의 사이클과, 다른 그룹에 속하는 상태 유지부 내의 상기 제1, 제2 채널의 트랜지스터의 기능을 전부 무효로 하는 상기 클럭의 사이클이 교대로 되도록 제어되는 것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  11. 제9항에 있어서,
    상기 상태 유지부는 제1 내지 제4로 이루어지는 4개의 그룹으로 구분되고, 각 그룹에 속하는 상태 유지부가 순서대로 또한 교대로 나열되어, 대응하는 상기 전진 펄스 지연 회로의 제1 지연 유닛 및 후진 펄스 지연 회로의 제2 지연 유닛과 대응시켜, 제1 그룹에 속하는 상태 유지부 내의 상기 제1, 제2 채널의 트랜지스터의 기능을 전부 무효로 하는 상기 클럭의 사이클과, 제2 그룹에 속하는 상태 유지부 내의 상기 제1, 제2 채널의 트랜지스터의 기능을 전부 무효로 하는 상기 클럭의 사이클과, 제3 그룹에 속하는 상태 유지부 내의 상기 제1, 제2 채널의 트랜지스터의 기능을 전부 무효로 하는 상기 클럭의 사이클과, 제4 그룹에 속하는 상태 유지부 내의 상기 제1, 제2 채널의 트랜지스터의 기능을 전부 무효로 하는 상기 클럭의 사이클이 순서대로 또한 교대로 이루어지도록 제어되는 것을 특징으로 하는 데이타 고속 전송 동기 시스템.
  12. 데이타 고속 전송 동기 방법에 있어서,
    클럭을 수신하고, 상기 클럭에 동기하여 동작하는 복수의 메모리 모듈;
    상기 클럭을 발생시키고, 상기 복수의 메모리 모듈 사이에서 데이타의 전송이 행해지는 메모리 컨트롤러; 및
    상기 복수의 메모리 모듈 내에 각각 설치되고, 상기 클럭으로부터 이 클럭에 동기한 내부 클럭을 발생시키며, 또한 상기 내부 클럭의 타이밍으로 프로그램 가능한 편차를 도입하여 타이밍을 보정하는 기능을 갖는 내부 클럭 발생 회로
    를 구비하고,
    상기 내부 클럭 발생 회로는,
    상기 클럭을 수신하는 제1 버퍼;
    상기 제1 버퍼의 출력을 수신하고, 상기 제1 버퍼에 있어서의 지연 시간과 동일한 지연 시간을 갖고, 제1 버퍼의 출력을 지연하는 제1 지연 회로;
    상기 제1 지연 회로로부터의 출력을 수신하고, 상기 제1 지연 회로로부터의 출력을 고정된 일정시간 지연하는 제2 지연 회로;
    상기 제2 지연 회로로부터의 출력을 수신하는 제2 버퍼;
    다단 종속 접속된 복수의 제1 지연 유닛을 구비하고, 상기 제2 버퍼의 출력을 수신하며, 상기 제2 버퍼의 출력을 상기 클럭의 주기에 따른 기간 중, 상기 복수의 제1 지연 유닛으로 전달하여 지연하는 제3 지연 회로;
    다단 종속 접속된 복수의 제2 지연 유닛을 구비하고, 상기 제3 지연 회로에서 지연되는 신호가 공급되고, 이 신호를 상기 제2 버퍼의 출력이 전달한 상기 제1 지연 유닛과 동일한 수의 제2 지연 유닛으로 전달하여 지연하는 제4 지연 회로;
    상기 제4 지연 회로로부터의 출력을 수신하고, 상기 제4 지연 회로로부터의 출력을 제어 신호에 따른 시간만큼 지연하여 출력하는 가변 지연 회로; 및
    상기 제2 버퍼에 있어서의 지연 시간과 동일한 지연 시간을 갖고, 상기 가변 지연 회로로부터의 출력을 수신하여 상기 내부 클럭을 발생시키는 제3 버퍼
    로 구성되는 데이타 고속 전송 동기 시스템을 구비하고,
    상기 복수의 메모리 모듈에 대해 소정의 데이타 패턴을 저장시키며,
    미리 각 메모리 모듈에 저장되어 있는 데이타 패턴을 상기 복수의 메모리 모듈로부터 판독하여 상기 메모리 컨트롤러에 전송시키고,
    상기 메모리 컨트롤러에 있어서 상기 각 메모리 모듈로부터 전송된 데이타 패턴과 원래의 소정의 데이타 패턴의 일치 비교를 행하고, 상기 양데이타 패턴이 일치하도록 상기 제어 신호를 설정하는
    것을 특징으로 하는 데이타 고속 전송 동기 방법.
  13. 제12항에 있어서,
    상기 제어 신호의 설정은, 상기 메모리 컨트롤러로부터 상기 복수의 각 메모리 모듈에 제공되는 커맨드에 기초하여 행해지는 것을 특징으로 하는 데이타 고속 전송 동기 방법.
  14. 제12항에 있어서,
    상기 복수의 메모리 모듈에 대해 소정의 데이타 패턴을 저장시킬 때에, 상기 메모리 컨트롤러로부터 상기 데이타 패턴을 통상 동작시의 전송 타이밍으로 비교하여 느린 전송 타이밍으로 전송시켜, 상기 복수의 메모리 모듈로 저장시키도록 한 것을 특징으로 하는 데이타 고속 전송 동기 방법.
  15. 제12항에 있어서,
    상기 복수의 각 메모리 모듈에 저장되어 있는 데이타 패턴을 판독하여 상기 메모리 컨트롤러에 전송시킬 때에, 상기 각 메모리 모듈로부터 통상 동작시의 전송 타이밍에서 버스트 데이타로서 판독하게 하는 것을 특징으로 하는 데이타 고속 전송 동기 방법.
  16. 제12항에 있어서,
    상기 복수의 메모리 모듈에 대해 소정의 데이타 패턴을 저장시킬 때에, 상기 메모리 컨트롤러로부터 상기 데이타 패턴을 통상 동작시의 전송 타이밍으로 전송시켜 상기 복수의 메모리 모듈로 저장시키고,
    상기 복수의 각 메모리 모듈에 저장되어 있는 데이타 패턴을 판독하여 상기 메모리 컨트롤러에 전송시킬 때는, 각 메모리 모듈로부터 통상 동작시의 전송 타이밍으로 버스트 데이타로서 판독하게 하는 것을 특징으로 하는 데이타 고속 전송 동기 방법.
KR10-1999-0016302A 1998-05-07 1999-05-07 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법 KR100425661B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1998-124636 1998-05-07
JP12463698A JP3727778B2 (ja) 1998-05-07 1998-05-07 データ高速転送同期システム及びデータ高速転送同期方法

Publications (2)

Publication Number Publication Date
KR19990088104A true KR19990088104A (ko) 1999-12-27
KR100425661B1 KR100425661B1 (ko) 2004-04-03

Family

ID=14890325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0016302A KR100425661B1 (ko) 1998-05-07 1999-05-07 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법

Country Status (3)

Country Link
US (2) US6449727B1 (ko)
JP (1) JP3727778B2 (ko)
KR (1) KR100425661B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791692B1 (ko) * 2005-05-13 2008-01-03 인피니언 테크놀로지스 아게 메모리 시스템 및 메모리 시스템의 메모리 칩 액세스 방법
KR100883007B1 (ko) * 2004-08-19 2009-02-12 미크론 테크놀로지,인코포레이티드 데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법
KR101477809B1 (ko) * 2008-08-20 2014-12-30 엘지전자 주식회사 메모리 모듈을 제어하는 컴퓨터 시스템 및 그 제어방법

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374371B1 (en) * 1998-03-18 2002-04-16 Micron Technology, Inc. Method and apparatus for monitoring component latency drifts
JP3825573B2 (ja) 1999-02-17 2006-09-27 株式会社東芝 同期回路とその遅延回路
US6321282B1 (en) * 1999-10-19 2001-11-20 Rambus Inc. Apparatus and method for topography dependent signaling
US6646953B1 (en) 2000-07-06 2003-11-11 Rambus Inc. Single-clock, strobeless signaling system
US6643787B1 (en) 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
US6643752B1 (en) * 1999-12-09 2003-11-04 Rambus Inc. Transceiver with latency alignment circuitry
US7363422B2 (en) 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7266634B2 (en) 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7404032B2 (en) 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US7356639B2 (en) 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US7017002B2 (en) 2000-01-05 2006-03-21 Rambus, Inc. System featuring a master device, a buffer device and a plurality of integrated circuit memory devices
US6625687B1 (en) * 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6519688B1 (en) * 2000-09-29 2003-02-11 S3 Incorporated Read data valid loop-back for high speed synchronized DRAM controller
US6788593B2 (en) 2001-02-28 2004-09-07 Rambus, Inc. Asynchronous, high-bandwidth memory component using calibrated timing elements
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US8391039B2 (en) 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
US6697926B2 (en) * 2001-06-06 2004-02-24 Micron Technology, Inc. Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device
US6850107B2 (en) 2001-08-29 2005-02-01 Micron Technology, Inc. Variable delay circuit and method, and delay locked loop, memory device and computer system using same
US20030052719A1 (en) * 2001-09-20 2003-03-20 Na Kwang Jin Digital delay line and delay locked loop using the digital delay line
JP4159415B2 (ja) * 2002-08-23 2008-10-01 エルピーダメモリ株式会社 メモリモジュール及びメモリシステム
JP2004185134A (ja) * 2002-11-29 2004-07-02 Matsushita Electric Ind Co Ltd 記憶装置
AT501536B1 (de) * 2003-04-08 2007-02-15 Tttech Computertechnik Ag Zeitgesteuertes betriebssystem für echtzeitkritische anwendungen
KR100564568B1 (ko) * 2003-06-05 2006-03-28 삼성전자주식회사 데이터 패치 제어 회로를 갖는 파이프라인 메모리 장치 및데이터 패치 방법
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
KR100594294B1 (ko) * 2004-09-21 2006-06-30 삼성전자주식회사 메모리 장치 및 데이터 트레이닝 방법
US7324403B2 (en) * 2004-09-24 2008-01-29 Intel Corporation Latency normalization by balancing early and late clocks
US7173877B2 (en) * 2004-09-30 2007-02-06 Infineon Technologies Ag Memory system with two clock lines and a memory device
KR101048380B1 (ko) * 2005-05-21 2011-07-12 삼성전자주식회사 메모리 모듈 장치
US7464225B2 (en) 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7321524B2 (en) 2005-10-17 2008-01-22 Rambus Inc. Memory controller with staggered request signal output
US7900079B2 (en) * 2006-08-11 2011-03-01 International Business Machines Corporation Data capture window synchronizing method for generating data bit sequences and adjusting capture window on parallel data paths
US8098784B2 (en) * 2006-09-05 2012-01-17 International Business Machines Corporation Systems, methods and computer program products for high speed data transfer using a plurality of external clock signals
TWI311326B (en) * 2006-12-01 2009-06-21 Realtek Semiconductor Corp Memory controller and signal synchronizing method thereof
US7865660B2 (en) * 2007-04-16 2011-01-04 Montage Technology Group Ltd. Calibration of read/write memory access via advanced memory buffer
JP5369430B2 (ja) 2007-11-20 2013-12-18 富士通株式会社 可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム
US7652512B2 (en) * 2008-02-07 2010-01-26 Macronix International Co., Ltd. Clock synchronizing circuit
US7808849B2 (en) * 2008-07-08 2010-10-05 Nvidia Corporation Read leveling of memory units designed to receive access requests in a sequential chained topology
US7796465B2 (en) * 2008-07-09 2010-09-14 Nvidia Corporation Write leveling of memory units designed to receive access requests in a sequential chained topology
US8461884B2 (en) * 2008-08-12 2013-06-11 Nvidia Corporation Programmable delay circuit providing for a wide span of delays
US20110050297A1 (en) * 2009-08-28 2011-03-03 Nel Frequency Controls, Inc. System employing synchronized crystal oscillator-based clock
TWI404339B (zh) * 2009-11-25 2013-08-01 Mstar Semiconductor Inc 記憶體信號相位調整方法
JP2012008881A (ja) * 2010-06-25 2012-01-12 Elpida Memory Inc メモリシステム及びその制御方法
US8635390B2 (en) * 2010-09-07 2014-01-21 International Business Machines Corporation System and method for a hierarchical buffer system for a shared data bus
JP2012108979A (ja) * 2010-11-17 2012-06-07 Elpida Memory Inc 半導体装置
JP2012252530A (ja) * 2011-06-03 2012-12-20 Fujitsu Ltd メモリコントローラ及び制御方法
US10037213B2 (en) * 2016-09-19 2018-07-31 Nxp Usa, Inc. System and method for adjusting boot interface frequency
KR102657550B1 (ko) * 2016-11-14 2024-04-16 에스케이하이닉스 주식회사 수신 회로, 이를 포함하는 반도체 장치 및 시스템
JP2019053444A (ja) * 2017-09-13 2019-04-04 東芝メモリ株式会社 半導体集積回路及び半導体装置
US10410698B2 (en) * 2017-12-07 2019-09-10 Micron Technology, Inc. Skew reduction of a wave pipeline in a memory device
JP2019145186A (ja) 2018-02-21 2019-08-29 東芝メモリ株式会社 半導体記憶装置
US11456729B1 (en) * 2021-03-26 2022-09-27 Analog Devices, Inc. Deskew cell for delay and pulse width adjustment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5668989A (en) * 1979-11-08 1981-06-09 Nec Corp Memory circuit
US5062109A (en) * 1988-09-02 1991-10-29 Advantest Corporation Memory tester
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
JP3240709B2 (ja) * 1992-10-30 2001-12-25 株式会社アドバンテスト メモリ試験装置
JPH0737389A (ja) * 1993-07-20 1995-02-07 Mitsubishi Electric Corp 半導体装置
US6032282A (en) * 1994-09-19 2000-02-29 Advantest Corp. Timing edge forming circuit for IC test system
JPH08123717A (ja) * 1994-10-25 1996-05-17 Oki Electric Ind Co Ltd 半導体記憶装置
KR0167683B1 (ko) * 1995-09-11 1999-02-01 김광호 동기메모리의 고주파 동작용 데이타 출력버퍼 제어방법
US5933623A (en) * 1995-10-26 1999-08-03 Hitachi, Ltd. Synchronous data transfer system
JP3410922B2 (ja) * 1996-04-23 2003-05-26 株式会社東芝 クロック制御回路
JP3487532B2 (ja) * 1996-07-08 2004-01-19 株式会社東芝 データ処理装置、半導体記憶装置、及びデータ処理方法
US6003118A (en) * 1997-12-16 1999-12-14 Acer Laboratories Inc. Method and apparatus for synchronizing clock distribution of a data processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100883007B1 (ko) * 2004-08-19 2009-02-12 미크론 테크놀로지,인코포레이티드 데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법
KR100791692B1 (ko) * 2005-05-13 2008-01-03 인피니언 테크놀로지스 아게 메모리 시스템 및 메모리 시스템의 메모리 칩 액세스 방법
KR101477809B1 (ko) * 2008-08-20 2014-12-30 엘지전자 주식회사 메모리 모듈을 제어하는 컴퓨터 시스템 및 그 제어방법

Also Published As

Publication number Publication date
JPH11316706A (ja) 1999-11-16
US6449727B1 (en) 2002-09-10
US20030041224A1 (en) 2003-02-27
US6738918B2 (en) 2004-05-18
KR100425661B1 (ko) 2004-04-03
JP3727778B2 (ja) 2005-12-14

Similar Documents

Publication Publication Date Title
KR100425661B1 (ko) 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법
KR100311334B1 (ko) 복수의 메모리 모듈과 제어기를 구비한 데이터 고속 전송 시스템
JP3410922B2 (ja) クロック制御回路
KR100571744B1 (ko) 반도체 집적 회로 장치
US7275173B2 (en) Method for measuring and compensating for skews of data transmission lines by compensating for skew by delay elements switched in response to the calculated reative skew
US6279090B1 (en) Method and apparatus for resynchronizing a plurality of clock signals used in latching respective digital signals applied to a packetized memory device
KR100417780B1 (ko) 2배 데이터 속도 메모리를 위한 데이터, 데이터 스트로브회로 및 운용 프로토콜
JPH10336008A (ja) クロック発生回路及び半導体装置
US7659759B2 (en) Phase synchronous circuit
JPH10228449A (ja) 半導体装置システム及び半導体装置
JPH10320074A (ja) スキュー低減回路及び半導体装置
JP3211739B2 (ja) 半導体記憶装置
KR100608371B1 (ko) 메모리 장치의 데이타 출력 제어 방법 및 그 장치
US6765423B2 (en) Semiconductor circuit having clock synchronous receiver circuit
US7178048B2 (en) System and method for signal synchronization based on plural clock signals
US6608514B1 (en) Clock signal generator circuit and semiconductor integrated circuit with the same circuit
JP4748896B2 (ja) 同期型データ転送処理装置
KR100292127B1 (ko) 클록 동기 지연 제어 회로
US9374096B2 (en) Semiconductor apparatus and semiconductor system including the same, and method of operating the same
US8222931B2 (en) Semiconductor device and driving method thereof
US6388484B1 (en) Clock control circuit
JP4516979B2 (ja) 半導体装置
JP3719865B2 (ja) データ高速転送システム
KR19990023621A (ko) 반도체 메모리 장치
JP3831142B2 (ja) 半導体集積回路

Legal Events

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

Payment date: 20090310

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee