KR100974366B1 - 데이터 스트로브 타이밍 보상 - Google Patents
데이터 스트로브 타이밍 보상 Download PDFInfo
- Publication number
- KR100974366B1 KR100974366B1 KR1020070132658A KR20070132658A KR100974366B1 KR 100974366 B1 KR100974366 B1 KR 100974366B1 KR 1020070132658 A KR1020070132658 A KR 1020070132658A KR 20070132658 A KR20070132658 A KR 20070132658A KR 100974366 B1 KR100974366 B1 KR 100974366B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- strobe
- data strobe
- interconnect
- memory
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000001360 synchronised effect Effects 0.000 claims abstract description 13
- 240000007320 Pinus strobus Species 0.000 claims description 236
- 239000000872 buffer Substances 0.000 claims description 22
- 230000000630 rising effect Effects 0.000 claims description 18
- 230000003111 delayed effect Effects 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Information Transfer Systems (AREA)
Abstract
방법, 장치, 및 시스템이 개시된다. 일 실시예에서, 방법은 적어도 하나의 인터커넥트 중 제1 인터커넥트를 통해 메모리로부터 데이터를 수신하는 단계, 메모리로부터 소스 동기식 데이터 스트로브를 수신하는 단계, 수신 데이터 스트로브로부터 적어도 공칭, 선행, 및 지연 보상된 데이터 스트로브를 생성하는 단계, 수신 데이터를 공칭, 선행, 또는 지연 보상된 데이터 스트로브로 래치하는 단계, 및 래치된 데이터를 적어도 하나의 인터커넥트 중 하나 이상의 인터커넥트로 출력하는 단계를 포함한다.
인터커넥트, 소스 동기식 데이터 스트로브, 공칭 타이밍, 선행 타이밍, 지연 타이밍
Description
본 발명은 메모리에 관한 것이다. 좀더 구체적으로, 본 발명은 메모리로부터의 데이터 및 대응하는 데이터 스트로브의 타이밍에 관한 것이다.
컴퓨터 시스템의 프로세서는 정기적으로 실행 속도가 증가한다. 이러한 속도 증가는 많은 결과를 가져오는데, 그 중 하나는 프로세서가 이용하는 시스템 메모리에서의 요구되는 속도 증가와 유사하다. 프로세서 요구 사항을 쫓아가기 위해, 메모리 기술은 다양하고 상이한 속도 증가를 구현하여 왔다. 이 기술 중 하나가, 메모리 클록의 상승 및 하강 에지(rising and falling edge) 양자를 이용해 메모리 동작을 수행하는 DDR(double data rate) 메모리이다.
최신 DDR 메모리(예를 들어, DDR2 또는 DDR3)의 점점 더 일반적인 구현은 데이터와의 소스 동기식 데이터 스트로브(source synchronous data strobe)를 갖는 것이었다. 데이터 스트로브 신호는 메모리 클록 정보를 전달하는 신호이다(즉, 데이터 스트로브의 상승 및 하강 에지는 메모리 클록의 상승 및 하강 에지에 대응한다). 그에 따라, 프로세서-메모리 인터커넥트(processor-memory interconnect)에서의 유효한 데이터 래칭(latching)을 제어하는 데이터 스트로브는, 대응하는 데이 터와 함께 메모리 자체로부터 유래한다. DDR2 및 DDR3 메모리의 주파수가 증가함에 따라, 데이터의 임의 부분이 인터커넥트에서 유효한 시간의 길이는 감소한다. 유효한 데이터를 위한 제한된 이 시간은 훨씬 더 정확한 인터커넥트 레이아웃을 요구한다. 데이터 및 데이터 스트로브 부정합 타이밍을 위한 허용 범위(tolerance)는 거의 존재하지 않는다.
데이터와 소스 동기식 데이터 스트로브 사이의 타이밍 부정합을 보상하기 위한 방법, 장치, 및 시스템의 실시예가 설명된다.
다음 설명에서는, 다수의 구체적 세부 사항이 기술된다. 그러나, 이러한 구체적 세부 사항없이도, 실시예가 실시될 수 있다는 것을 이해할 수 있을 것이다. 다른 경우로서, 본 발명을 불명료하게 하는 것을 방지하기 위해, 주지의 요소, 설계 명세(specifications), 및 프로토콜은 상세하게 논의되지 않았다.
본 발명에 따르면, 데이터와 소스 동기식 데이터 스트로브 사이의 타이밍 부정합을 보상하기 위한 방법, 장치, 및 시스템을 제공할 수 있다.
본 발명은, 유사한 참조 번호가 유사한 구성 요소를 지시하는 첨부 도면에 의해, 일례로써 예시되고 그것에 의해 제한되지 않는다.
도 1은, 본 발명의 실시예에 사용될 수 있는 컴퓨터 시스템의 블록도이다. 컴퓨터 시스템은, 프로세서, 브리지(bridges), 메모리 장치 등과 같은, 인터커넥트(100; interconnect)에 연결된 상이한 에이전트들 사이의 통신을 위해 프로세서-메모리 인터커넥트(100)를 포함한다. 프로세서-메모리 인터커넥트(100)는 중재(arbitration), 어드레스, 데이터, 및 제어 정보를 송신하는 특정 인터커넥트 라 인들(도시되지 않음)을 포함한다. 일 실시예에서, 중앙 프로세서(102)는 프로세서-메모리 인터커넥트(100)에 연결된다. 다른 실시예에서는, 프로세서-메모리 인터커넥트에 연결된 다수의 중앙 프로세서가 존재한다(이 도면에는 다수 프로세서가 도시되어 있지 않다).
프로세서-메모리 인터커넥트(100)는 시스템 메모리(104)에 대하여 중앙 프로세서(102) 및 다른 디바이스 액세스를 제공한다. 시스템 메모리 컨트롤러(106)는 시스템 메모리(104)로의 액세스를 제어한다. 일 실시예에서, 시스템 메모리 컨트롤러는 프로세서-메모리 인터커넥트(100)에 연결되는 칩셋(110)의 노스 브리지(108) 내에 배치된다. 다른 실시예에서, 시스템 메모리 컨트롤러는 중앙 프로세서(102)와 동일한 칩(도시되지 않음)에 배치된다. 정보, 명령어, 및 다른 데이터는 중앙 프로세서(102)뿐만 아니라 다수의 다른 잠재 디바이스에 의한 사용을 위해 시스템 메모리(104)에 저장될 수 있다. I/O 디바이스(114 및 118)와 같은 I/O 디바이스들이 하나 이상의 I/O 인터커넥트(116 및 120)를 통해 칩셋(106)의 사우스 브리지(112)에 연결된다.
일 실시예에서, 시스템 메모리(104)는 소스 동기식이다. 이 실시예에서, 시스템 메모리는, 데이터뿐만 아니라, 데이터 스트로브를 프로세서-메모리 인터커넥트(100)를 가로질러 메모리 컨트롤러(106)로 출력한다. 소스 동기식 데이터 스트로브 및 데이터는, 유효한 데이터를 유지하기 위해, 근접한 타이밍 정합(close timing match)을 요구한다. 상이한 실시예에서, 시스템 메모리(104)는 DDR2(double data rate 2) 메모리 또는 DDR3 메모리를 포함할 수도 있다. DDR2 및 DDR3 메모리의 경우, 소스 동기식 데이터 스트로브와 그에 대응하는 데이터 사이의 타이밍 정합은 훨씬 큰 정합 정확도를 요구한다. DDR2, DDR3, 및 다른 고속 DDR 메모리는 매 1/2 클록(즉, 데이터 스트로브의 상승 및 하강 에지)마다 프로세서-메모리 인터커넥트를 가로질러 데이터를 송신한다. 그에 따라, 현재, 인터커넥트의 데이터를 데이터 스트로브의 대응하는 상승 또는 하강 에지와 정합하는데 허용 가능한 윈도우의 폭은 0.5 클록 사이클이다.
일 실시예에서, 도 1의 컴퓨터 시스템은 메모리 컨트롤러(106)내에 배치된 데이터 스트로브 허용 로직 유닛(Data Strobe Tolerance Logic Unit; DSTLU)(122)를 가진다. DSTLU(122)는 데이터 및 데이터 스트로브 정합 윈도우를 2 클록 사이클로 증가시키면서 프로세서-메모리 인터커넥트(100)를 가로질러 연속적인 고속 데이터 처리량(continued high-speed data throughput)을 허용하기 위한 회로를 가진다.
도 2는 DSTLU(200)내의 컴포넌트에 대한 일 실시예의 개관을 예시한다. 이 실시예에서, 데이터 스트로브 및 데이터가 DSTLU(200)로 입력된다. 일 실시예에서, 데이터는, 8 바이트 레인들(8 byte lanes)로 이루어진 64-비트 데이터 버스를 통해 입력된다. 또한, 일 실시예에서, 데이터 스트로브는, 각각의 스트로브 비트가 데이터 인터커넥트의 8 바이트 레인들 중 하나에 대응하는 8-비트 값이다.
데이터 스트로브 및 데이터는 데이터 윈도우 확장 및 데이터 스트로브 분배기(202)로 입력된다. 데이터 윈도우 확장 및 데이터 스트로브 분배기(202)는 DSTLU(200)내에 배치된다. 일 실시예에서, 데이터 윈도우 확장 및 데이터 스트로 브 분배기(202)는 8-비트 데이터 스트로브를 취하여 그것을 4개의 개별 스태거 버전(four separate staggered versions)으로 분할한다. 이 실시예에서, 스태거된 데이터 스트로브 각각은, 신장된 데이터 스트로브(stretched data strobe)의 완전한 클록 사이클(full clock cycle) 각각이 원래 데이터 스트로브의 2분주 사이클(divide-by-two cycle)이도록 신장된다. 더 나아가, 4개의 스트로브는, 제1 스트로브의 상승 에지는 제2 스트로브의 상승 에지 이전에 입력된 원래 데이터 스트로브 클록 사이클의 1/2이고, 제2 스트로브의 상승 에지는 제3 스트로브의 상승 에지 이전의 원래 데이터 스트로브 클록 사이클의 1/2인 식으로, 쿼드-스태거(quad-stagger)된다. 그에 따라, 2분주 데이터 스트로브는 원래 데이터 스트로브 클록 사이클 길이의 2배이고, 각각이 인접 스트로브 각각으로부터 원래 데이터 스트로브 클록 사이클의 1/2만큼 떨어지도록, 쿼드-스태거된 클록 사이클들을 가진다. 이로 인해, 데이터/데이터 스트로브 부정합의 허용 범위는 원래 허용 범위 레벨의 4배까지(즉, 0.5 메모리 클록 사이클 허용 범위에서 2 메모리 클록 사이클 허용 범위로) 증가한다.
도 3은 데이터 윈도우 확장 및 데이터 스트로브 분배기내의 세부 회로에 대한 일 실시예를 예시한다. 데이터 윈도우 확장 및 데이터 스트로브 분배기는 8 바이트 레인 정합 윈도우 확장 블록들을 가진다. 각각의 확장 블록(예를 들어, 블록(300)은 바이트 레인 0을 위한 것임)은 2분주 스트로브 생성 블록(302; Divide-By-Two Strobe Generation Block)을 가진다. 2분주 스트로브 생성 블록(302)은, 입력 데이터 스트로브를 사용해 2개의 개별 토글-플롭(toggle-flops)인, 플러스 에 지 및 마이너스 에지 토글-플롭을 클로킹하는 것에 의해, 데이터 스트로브를 그의 대응하는 바이트 레인을 위해 신장한다. 일 실시예에서, 입력 데이터 스트로브는 스트로브 3-상태(tri-states)가 제거되었다. 2분주 스트로브 생성 블록(302)은 4개의 2분주 데이터 스트로브를 출력한다. 2분주 데이터 스트로브 출력은 추가적으로 데이터 신장 블록(304)으로 입력된다. 데이터 신장 블록(304)은 입력 데이터를 취하고, 2분주 스트로브(0-3)를 마스크로서 사용해, 0.5 메모리 클록 폭 데이터를 2 메모리 클록 폭의 쿼드-스태거 데이터로 신장한다. 신장하는 것은, 2분주 데이터 스트로브를 데이터 마스크로서 사용해, 입력되는 0.5 메모리 클록 폭 데이터를 데이터 스트로브의 하나 거른 상승 또는 하강 에지(every other rising or falling edge)에서 샘플링하는 것을 통해 실현된다. 도 4는 데이터 윈도우 확장 및 데이터 스트로브 분배기로 입력된 원래 데이터 스트로브에 관련한 2분주 스트로브(0-3)의 공칭 타이밍에 대한 일 실시예를 예시한다. 그에 따라, 신장된 데이터는 4개의 개별 내부 데이터 인터커넥트(0-3)로 분할된다.
도 2로 돌아가면, 이 실시예에서, 데이터 윈도우 확장 및 데이터 스트로브 분배기(202)는 데이터를 DSTLU(200)내의 4개의 개별 64-비트 폭 출력 인터커넥트, 즉, 내부 데이터 인터커넥트 0, 내부 데이터 인터커넥트 1, 내부 데이터 인터커넥트 2, 및 내부 데이터 인터커넥트 3으로 분할한다. 메모리 판독이 발생할 때, 그것은 시스템 메모리로부터 수신되는 캐시 라인(cache line)을 초래한다. 일 실시예에서, 캐시 라인은 64-바이트 폭이다. 그에 따라, 메모리 판독은 프로세서-메모리 인터커넥트로부터 수신되는 8개의 연속적인 쿼드-워드(consecutive quad-words) 를 초래할 것이다. 4개의 데이터 인터커넥트는 "내장형"으로 보여질 수 있는데, 일 실시예에서, 그것은 DSTLU(200)에 내장되기 때문이다. 다른 실시예에서, 데이터 FIFO가 DSTLU 외부에 구현되면, 4개 인터커넥트는 DSTLU에 내장되지 않거나 또는 단지 부분적으로 내장될 수도 있다.
도 2에 예시된 실시예에서, 데이터 윈도우 확장 및 데이터 스트로브 분배기(202)는 판독된 캐시 라인으로부터 수신되는 쿼드-워드를 3개 걸러 하나씩(every fourth quad-word) 4개의 내부 데이터 인터커넥트 각각으로 송신한다. 예를 들어, 쿼드 워드(QW) 0은 내부 데이터 인터커넥트 0으로 송신되고, QW1은 내부 데이터 인터커넥트 1로 송신되며, QW2는 내부 데이터 인터커넥트 2로 송신되고, QW3은 내부 데이터 인터커넥트 3으로 송신된다. 그 다음, QW4는 내부 데이터 인터커넥트 0으로 송신되고, QW5는 내부 데이터 인터커넥트 1로 송신되며, QW6은 내부 데이터 인터커넥트 2로 송신되고, QW7은 내부 데이터 인터커넥트 3으로 송신된다. 따라서, 각각의 QW는 그의 대응하는 내부 데이터 인터커넥트에서, QW를 3개 더 수신할 동안, 유효하게 유지된다. 이로 인해, 각각의 QW는 분할 또는 스태거되지 않은 원래 데이터 스트로브 타이밍 길이의 적어도 4배만큼 버스에서 유효하게 유지될 수 있다. 각각의 판독은 캐시 라인을 표현하므로, 캐시 라인이 64 바이트 폭일 경우, 각각의 판독을 위해 입력된 8개 QW가 존재한다. 그에 따라, 이 실시예에서, 내부 데이터 인터커넥트(0-3) 각각은 메모리 판독 각각에 대해 2개의 연속(consecutive) QW를 가진다. 일 실시예에서, 각각의 내부 데이터 인터커넥트에서의 2개의 QW 중 첫번째(예를 들어, 내부 데이터 인터커넥트 0에서의 QW0)는 2개의 완전한 데이터 스트로브 사이클 동안 유효하게 유지된다. 한편, 각각의 내부 데이터 인터커넥트에서의 2개의 QW 중 두번째(예를 들어, 내부 데이터 인터커넥트 0에서의 QW4)는, 후속 메모리 판독이 개시될 때까지, 관련된 내부 데이터 인터커넥트에서 유효하게 유지될 수 있다. 그 시점에서, 소정 내부 데이터 인터커넥트에서의 제1 메모리 판독에 관련된 데이터의 두번째 QW는 그러한 내부 데이터 인터커넥트에서의 제2 메모리 판독에 관련된 데이터의 첫번째 QW로 대체된다.
그 다음, 데이터 윈도우 확장 및 데이터 스트로브 분배기(202)로부터의 4개의 2분주 스트로브 출력은 데이터 스트로브 마진 보상 드라이버(204)로 입력된다. 일 실시예에서, 데이터 스트로브 마진 보상 드라이버(204)는 데이터 윈도우 확장 및 데이터 스트로브 분배기(202)로부터의 4개의 2분주 스트로브 출력을 입력으로서 수신한다. 더 나아가, 이 실시예에서, 데이터 스트로브 마진 보상 드라이버(204)는 또한 2-비트의 Margin Compensation Select 값 및 1-비트의 Margin Compensation Test Mode Enable 값을 추가 입력으로서 수신한다. Margin Compensation Test Mode Enable 비트가 설정될 때, 래치들 및 플롭들(latches and flops)이 테스트 모드에서 정확하게 그리고 신뢰성 있게 스캔(scan)될 수 있도록 하기 위해, 클록이 스트로브를 대체한다. 테스트 모드 클록은 (도시되어 있지 않은) 상이한 실시예에서 임의의 다수 방법으로 구현될 수 있다. 추가적으로, Margin Compensation Select 값은, 2분주 스트로브가, 공칭(즉, 입력 데이터 스트로브 및 입력 데이터가 이미 정합되어 있는) 타이밍에서, 지연(즉, 입력 데이터가 데이터 FIFO에 도달할 때, 입력 데이터가 그의 대응하는 데이터 스트로브에 대해서 지연되어 있는) 타이밍에서, 또는 선행(즉, 입력 데이터가 데이터 FIFO에 도달할 때, 입력 데이터가 그의 대응하는 데이터 스트로브에 대해서 선행하는) 타이밍에서 동작할 것인지를 판정한다. 표 1은 이용 가능한 Margin Compensation Select 값 및 대응하는 데이터 스트로브 타이밍을 예시한다.
Margin Compensation Select 값 | 변경된 데이터 스트로브 타이밍 |
00b | 공칭 |
01b | 지연 |
10b | 선행 |
11b | 테스트 모드 |
따라서, 데이터 스트로브 및 데이터가 메모리로부터 DSTLU에 도달하고 정합되면, Margin Compensation Select 값은 00b일 것이다. 입력 데이터가 데이터 FIFO에 도달할 때, 입력 데이터가 그의 대응하는 데이터 스트로브에 대해서 지연되면, Margin Compensation Select 값은 01b일 것이고, 이것은 지연 2분주 스트로브 설정을 이용해 지연 데이터를 보상할 것이다. 마지막으로, 입력 데이터가 선행하여 그의 대응하는 데이터 스트로브 이전에 도달하면, Margin Compensation Select 값은 10b일 것이고, 이것은 선행 2분주 스트로브 설정을 이용해 선행 데이터를 보상할 것이다.
다음으로는, 데이터 스트로브 마진 보상 드라이버(204)로 입력되는 쿼드-스태거된 2분주 스트로브가 다중화되어, 보상된 2분주 스트로브(0-3)로서, 데이터 스트로브 마진 보상 드라이버(204)로부터 송신된다. 데이터 스트로브 마진 보상 수신기(206)는 Margin Compensation Select 값 뿐만 아니라 보상된 2분주 스트로브(0-3)도 수신한다. 보상된 2분주 스트로브(0-3)의 특정 버전은, 데이터 스트로브 마진 보상 수신기(206)로 입력되는 보상된 2분주 스트로브 값을 사용하는 것에 의해, 쿼드-스태거된 2분주 스트로브의 공칭, 선행, 또는 지연 버전 중 어느 하나로서 선택된다.
내부 데이터 인터커넥트는 데이터 윈도우 확장 및 데이터 스트로브 분배기(202)를 데이터 FIFO(first-in-first-out) 버퍼(208)에 연결한다. 버퍼(208)는 데이터 윈도우 확장 및 데이터 스트로브 분배기(202)로부터 내부 데이터 인터커넥트(0-3)를 통해 송신되는 판독 데이터를 일시적으로 저장하는 데 사용된다. 데이터 스트로브 마진 보상 수신기(206)는, 보상된 2분주 스트로브의 선택 버전(공칭, 선행, 또는 지연)을 이용해, 내부 데이터 인터커넥트(0-3)로부터의 데이터를 래치하는 래치 인에이블을 생성한다. 버퍼(208)는, 생성된 래치 인에이블을 이용해, 내부 데이터 인터커넥트(0-3)로부터의 데이터를 버퍼내의 특정 위치(specific location)에 래치한다. 일 실시예에서, 4개의 QW 각각을 위한 FIFO 버퍼는 8개 저장 위치 깊이이다. 그에 따라, 프로세서-메모리 인터커넥트로부터의 데이터는, 좀더 큰 정합 윈도우 및 그의 대응하는 데이터에 관해서 선행 또는 지연될 수 있는 보상된 데이터 스트로브 때문에, 좀더 신뢰 가능하게 샘플링될 수 있다. 상이한 실시예에서, 버퍼(208)의 데이터는, 일단 데이터가 신뢰 가능하게 래치되고 나면, 메모리 판독 요청 에이전트에 의한 사용에 이용될 수 있다.
도 5는 데이터 스트로브 마진 보상 드라이버 및 데이터 스트로브 마진 보상 수신기내의 세부 회로에 대한 일 실시예를 예시한다. 일 실시예에서, 데이터 스트로브 마진 보상 드라이버(500)는 데이터 윈도우 확장 및 데이터 스트로브 분배기로부터의 4개의 2분주 스트로브 출력을 입력으로서 수신한다. 더 나아가, 이 실시예에서, 데이터 스트로브 마진 보상 드라이버(500)는 추가 입력으로서 2-비트의 Margin Compensation Select 값 및 1-비트의 Margin Compensation Test-Mode Enable 값도 수신한다.
도 2를 참조하여 앞서 언급된 바와 같이, 일 실시예에서, 1-비트의 Margin Compensation Test-Mode Enable 값은, 마진 보상 로직이 활성화되어 데이터를 2분주 스트로브(0-3)로 래치하도록 허용될 것인지의 여부를 판정한다. Margin Compensation Select 값은, 2분주 스트로브 각각이, 공칭(즉, 입력 데이터 스트로브 및 입력 데이터가 이미 정합되어 있는) 타이밍에서, 지연(즉, 입력 데이터 스트로브가 그의 대응하는 입력 데이터에 관해서 선행되어 스트로브 상의 지연이 데이터 및 스트로브를 정합하는) 타이밍에서, 또는 선행(즉, 입력 데이터 스트로브가 그의 대응하는 입력 데이터에 관해서 지연되어 스트로브를 더 선행하도록 변경함으로써 데이터 및 스트로브를 정합하는) 타이밍에서 동작할 것인지를 판정한다. 상기 표 1은 이용 가능한 Margin Compensation Select 값 및 대응하는 데이터 스트로브 타이밍을 예시한다.
데이터 스트로브 마진 보상 드라이버(500)는, 4개의 내부 데이터 인터커넥트에 배치된 데이터의 QW 각각에 대응하는 보상되고 변경된 데이터 스트로브(0-3)를 생성하고 송신한다. 보상되고 변경된 데이터 스트로브 각각은 데이터 윈도우 확장 및 데이터 스트로브 분배기로부터 생성되는 변경된 2분주 데이터 스트로브의 다중화된 버전이다. Margin Compensation Select 값은 데이터 스트로브 마진 보상 드라이버(500)내의 4개 다중화기 각각에서 그 바이트 레인의 대응하는 QW 데이터를 위해 공칭, 선행 또는 지연 2분주 스트로브를 선택하는데 사용된다.
생성되는 4개의 보상된 2분주 스트로브는 데이터 스트로브 마진 보상 수신기(502)에 송신된다. 데이터 스트로브 마진 보상 수신기(502)는 4개의 내부 데이터 인터커넥트에 배치된 4개의 데이터 QW 각각에 대응하는 보상된 2분주 스트로브를 수신하기 위한 수신기 블록을 가진다. QW0 스트로브를 위한 수신기 블록이 도 5에서 상세하게 설명된다(항목 504). 데이터 스트로브 마진 보상 수신기(502)는 보상된 2분주 스트로브를 입력으로서 이용해, 대응하는 QW 데이터를 각각의 QW FIFO 버퍼에 래치하기 위한 래치 인에이블을 생성한다. 일 실시예에서, 래치 인에이블은, QW FIFO 버퍼 각각에서의 8개 위치에 대응하는 8-비트 값이다. 예를 들어, QW FIFO 버퍼의 위치 1에 데이터를 래치하기 위해 래치 인에이블 값(latch enable value)은 00000001b일 것이다. 다른 방법으로, QW FIFO 버퍼의 위치 8에 데이터를 래치하기 위해 래치 인에이블은 10000000b일 것이다. 따라서, 값의 비트 각각은 8개 QW FIFO 버퍼 저장 위치 중 하나에 대응되고, "1"인 단일 비트는 어떤 저장 위치에 데이터를 래치할 것인지를 의미한다. 각각의 수신기 블록은, 보상된 2분주 스트로브를 클록 입력으로서 수신하는 플롭을 가진다. 플롭의 출력은 래치 인에이블 값이다. 그에 따라, 플롭은 보상된 2분주 스트로브 사이클마다 1회씩 래치 인에이블 값을 변경한다.
추가적으로, 각각의 데이터 스트로브 마진 보상 수신기(502) 블록(즉, QW(0-3)를 위한 블록(0-3))은 디코더, 증분기, 및 인코더를 가진다. 플롭 출력은 래치 인에이블 값으로서 QW FIFO 버퍼(506)로 송신될 뿐만 아니라, 그 값을 표준의 2진값으로 디코딩하기 위한 디코더로도 송신된다. 그 다음, 디코딩된 값은 후속의 연속적인 래치 인에이블 값으로 증분되고(예를 들어, 00000010b는 00000100b로 증분될 것이고), 새로운 값은, 후속의 보상된 2분주 스트로브 사이클에서 발생하는 후속 출력으로서 플롭에 의한 사용을 위해 8-비트의 래치 인에이블 값 포맷으로 다시 인코딩된다.
데이터 스트로브 마진 보상 수신기(502)의 수신기 블록 각각은 각각의 QW 수신기 블록을 위한 래치 인에이블 리셋값도 입력으로서 수신한다. 리셋값은 각각의 QW 블록에 이용되는 초기의 래치 인에이블 값에 대응된다. 신장된 데이터에 의해 적절하게 배치된 타이밍 요구 사항으로 인해, 소정 환경에서는, 보상된 2분주 스트로브의 제1 상승 에지가, 대응하는 IDI에 유효한 데이터가 배치되기 전에 발생할 것이다. 통상적으로, 데이터가 유효하면, 데이터는 8개 위치 깊이 FIFO의 저장 위치 1(00000001b)에 래치될 것이다. 그러나, 이 경우, 리셋값은 저장 위치 8(10000000b)에 데이터의 제1 무효 QW가 래치되게 할 수도 있다. 그 다음, 일단 데이터가 유효해지고 나면, 플롭으로의 입력은, 전술한 바와 같이, 디코더-증분기-인코더 시퀀스를 통과하였고, 그러한 특정 IDI를 위한 데이터의 제1 유효 QW는 QW FIFO 버퍼 저장 위치 1에 래치될 것이다(즉, 위치 8로부터의 증분은 래치 인에이블 값을 위치 1로 복귀시킬 것이다).
타이밍 제약으로 인해, 본 실시예에서, 보상된 2분주 스트로브의 리셋값은 내부 데이터 인터커넥트 0 및 내부 데이터 인터커넥트 3에 배치된 데이터에 대응하는 스트로브를 위해 항상 공지되어 있다. 구체적으로, 공칭, 선행, 또는 지연 타이밍이 이용되는지의 여부와 무관하게, 내부 데이터 인터커넥트 0의 데이터는 초기 스트로브 사이클 동안 항상 유효할 것이다. 그에 따라, 내부 데이터 인터커넥트 0은 항상, 초기 스트로브 사이클 동안, 저장 위치 1을 위한 래치 인에이블 리셋값을 이용할 것이다. 내부 데이터 인터커넥트 0과 달리, 내부 데이터 인터커넥트 3의 데이터는 초기 스트로브 사이클 동안 항상 무효일 것이다. 그에 따라, 내부 데이터 인터커넥트 3은 항상, 초기 스트로브 사이클 동안, 저장 위치 8을 위한 래치 인에이블 리셋값을 이용할 것이다.
내부 데이터 인터커넥트 1 및 내부 데이터 인터커넥트 2에서의 초기 스트로브 사이클 동안의 데이터 유효성은, 공칭, 선행, 또는 지연 보상된 스트로브 설정이 이용되는지에 의존한다. 그에 따라, 다중화기(multiplexer)가, 정확한 초기 래치 인에이블 값(00000001b 또는 10000000b)을 입력하는데 사용된다. 내부 데이터 인터커넥트 1 및 내부 데이터 인터커넥트 2 데이터에 대응하는 래치 인에이블에 어떤 것이 사용되는지를 판정하는 팩터는 데이터 스트로브 마진 보상 수신기로 입력된 2분주 스트로브이다.
그에 따라, 데이터 스트로브 마진 보상 수신기는 래치 인에이블 값을 블록(0-3)으로부터 대응하는 4개의 QW FIFO 버퍼로 출력한다. 그 다음, 버퍼는 래치 인에이블을 이용해, 4개의 내부 데이터 인터커넥트 각각에 배치된 데이터를 QW FIFO 버퍼 각각내의 (래치 인에이블 값에 의해 특정된) 특정 저장 위치에 래치한다. 일단 데이터가 QW FIFO 버퍼내에 배치되고 나면, 데이터는 초기 데이터 요청기로 송신될 수 있다. 이것은 프로세서-메모리 인터커넥트로부터 데이터가 입력되는 것과 동일한 속도에서 발생할 수 있다.
도 6은 공칭 스트로브 타이밍 모드에서의 보상된 2분주 스트로브, 데이터, 및 래치 인에이블에 대한 일 실시예의 타이밍도를 예시한다. 공칭 스트로브 타이밍 모드에서, 데이터 및 스트로브는 이미 정합되어 있고, 그에 따라, 스트로브 정합은 불필요하다. 추가적으로, 공칭 스트로브 타이밍 모드에서, 내부 데이터 인터커넥트 2의 초기 데이터는 무효이고, 그에 따라, QW2 수신 블록으로 공급되는 QW2를 위한 래치 인에이블 리셋값은 10000000b이고, 내부 데이터 인터커넥트 2의 제1 유효 데이터는 QW2를 위한 2분주 스트로브의 제2 상승 에지로 래치된다.
도 7은 지연된 스트로브 타이밍 모드에서의 보상된 2분주 스트로브, 데이터, 및 래치 인에이블에 대한 일 실시예의 타이밍도를 예시한다. 이러한 타이밍도에서, 데이터는 스트로브에 대하여 지연된다. 그에 따라, 보상된 2분주 스트로브는 지연되어 데이터와 재정렬한다. 지연된 타이밍 모드에서, 내부 데이터 인터커넥트 1의 초기 데이터는 무효이고, 그에 따라, QW1 수신 블록으로 공급되는 QW1을 위한 래치 인에이블 리셋값은 10000000b이며, 내부 데이터 인터커넥트 1의 제1 유효 데이터는 QW1을 위한 2분주 스트로브의 제2 상승 에지로 래치된다.
도 8은 선행 스트로브 타이밍 모드에서의 보상된 2분주 스트로브, 데이터, 및 래치 인에이블에 대한 일 실시예의 타이밍도를 예시한다. 이러한 타이밍도에서, 데이터는 스트로브에 대하여 선행한다. 그에 따라, 보상된 2분주 스트로브는 먼저 입력되어 데이터와 재정렬한다. 선행 타이밍 모드에서, 4개의 모든 내부 데이터 인터커넥트의 초기 데이터는 유효하고, 그에 따라, 4개의 모든 QW가 그의 개개의 2분주 스트로브의 제1 상승 에지에서 래치된다.
도 9는 데이터와 소스 동기식 데이터 스트로브 사이의 부정합 타이밍을 보상하기 위한 프로세스의 일 실시예의 흐름도이다. 프로세스는, 하드웨어(회로, 전용 로직 등), 소프트웨어(범용 컴퓨터 시스템 또는 전용 머신에서 실행되는 것 등), 또는 양자의 조합을 포함할 수도 있는 프로세싱 로직에 의해 수행된다. 도 9를 참조하면, 프로세스는 제1 인터커넥트에서 메모리로부터 데이터를 수신하는 프로세싱 로직에 의해 시작된다. 일 실시예에서, 제1 인터커넥트는 컴퓨터 시스템의 프로세서 메모리 인터커넥트이고, 데이터는 인터커넥트에 연결된 시스템 메모리로부터 인터커넥트로 송신된다(프로세싱 블록 900).
프로세스는 메모리로부터 소스 동기식 데이터 스트로브를 수신하는 프로세싱 로직에 의해 계속된다(프로세싱 블록 902). 그 다음, 프로세싱 로직은 수신 데이터 스트로브로부터 적어도 공칭, 선행, 및 지연 보상된 데이터 스트로브를 생성한다(프로세싱 블록 904). 일 실시예에서, 공칭, 선행, 및 지연 데이터 스트로브는 2분주 스트로브이다. 2분주 스트로브는 수신 데이터 스트로브의 하나 거른 상승 또는 하강 에지를 샘플링하는 것에 의해 생성된다.
그 다음, 프로세싱 로직은 수신 데이터를 공칭, 선행, 또는 지연 보상된 데이터 스트로브로 래치한다(프로세싱 블록 906). 일 실시예에서, 수신 데이터 및 수신 데이터 스트로브가 정합 타이밍을 가지면, 데이터는 공칭 보상된 스트로브로 래치되고, 수신 데이터가 대응하는 수신 스트로브보다 늦게 수신되면, 데이터는 지연 보상된 스트로브로 래치되며, 수신 데이터가 대응하는 수신 스트로브에 선행하여 수신되면, 데이터는 선행 보상된 스트로브로 래치된다. 마지막으로, 래치된 데이터는 제1 인터커넥트 또는 제2 인터커넥트로 출력되고(프로세싱 블록 908), 프로세스는 종료된다. 상이한 실시예에서, 메모리 판독이 프로세서에 의해 요청되었다면, 데이터는 프로세서-메모리 인터커넥트에 머무를 수도 있거나, 또는 메모리 판독이 I/O 인터커넥트의 버스 마스터 디바이스(bus master device)에 의해 요청되었다면, 데이터는 제2 인터커넥트로 이동할 수도 있다. 판독 요청을 메모리로 송신할 수 있는 다수의 상이한 마스터 디바이스가 존재한다.
그러므로, 데이터와 소스 동기식 데이터 스트로브 사이의 타이밍 부정합을 보상하기 위한 방법, 장치, 및 시스템의 실시예가 설명된다. 이 실시예는 그것에 관한 구체적이고 예시적인 실시예를 참조하여 설명되었다. 이 설명서의 혜택을 입은 당업자에게는, 여기에서 설명되는 실시예의 좀더 광범위한 정신 및 범위를 벗어나지 않으면서, 이 실시예에 대한 다양한 변형 및 변경이 이루어질 수 있다는 것이 명백할 것이다. 따라서, 본 설명서 및 도면은, 한정적인 의미가 아니라, 예시적인 의미로 간주되어야 한다.
도 1은 본 발명의 실시예에 사용될 수 있는 컴퓨터 시스템의 블록도.
도 2는 데이터 스트로브 허용 로직 유닛(Data Strobe Tolerance Logic Unit) 내의 컴포넌트에 대한 일 실시예의 개관(overview)을 예시한 도면.
도 3은 데이터 윈도우 확장(Data Window Enlargement) 및 데이터 스트로브 분배기(Data Strobe Divider) 내의 세부 회로에 대한 일 실시예를 예시한 도면.
도 4는 데이터 윈도우 확장 및 데이터 스트로브 분배기로 입력되는 원래 데이터 스트로브에 관한 2분주(divide-by-two) 스트로브(0-3)의 공칭 타이밍의 일 실시예를 예시한 도면.
도 5는 데이터 스트로브 마진 보상 드라이버(Data Strobe Margin Compensation Driver) 및 데이터 스트로브 마진 보상 수신기(Data Strobe Margin Compensation Receiver) 내의 세부 회로에 대한 일 실시예를 예시한 도면.
도 6은 공칭 스트로브 타이밍 모드(nominal strobe timing mode)의 보상된 2분주 스트로브, 데이터, 및 래치 인에이블에 대한 일 실시예의 타이밍도.
도 7은 지연 스트로브 타이밍 모드(delayed strobe timing mode)의 보상된 2분주 스트로브, 데이터, 및 래치 인에이블에 대한 일 실시예의 타이밍도.
도 8은 선행 스트로브 타이밍 모드(early strobe timing mode)의 보상된 2분주 스트로브, 데이터, 및 래치 인에이블에 대한 일 실시예의 타이밍도.
도 9는 데이터와 소스 동기식 데이터 스트로브 사이의 부정합 타이밍을 보상하기 위한 프로세스의 일 실시예의 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
100: 프로세서-메모리 인터커넥트
102: 중앙 프로세서
104: 시스템 메모리
106: 시스템 메모리 컨트롤러
108: 노스 브리지
112: 사우스 브리지
114, 118: I/O 디바이스
116, 120: I/O 인터커넥트
122: 데이터 스트로브 허용 로직 유닛
Claims (20)
- 메모리로부터 데이터를 수신하는 단계;상기 메모리로부터 소스 동기식(source-synchronous) 데이터 스트로브를 수신하는 단계;상기 수신된 데이터 스트로브로부터 적어도 공칭(nominal), 선행(early), 및 지연(delayed) 보상된 데이터 스트로브를 생성하는 단계;상기 보상된 데이터 스트로브를 4개의 쿼드-스태거된 2분주 스트로브(quad-staggered divide-by-two strobe)로 분할하는 단계 - 상기 4개의 쿼드-스태거된 2분주 스트로브 각각은 상기 수신된 데이터 스트로브를 하나 거른 상승 또는 하강 에지에서 샘플링하는 것으로부터 생성됨 - ;상기 수신된 데이터를 버퍼로 진입하는 4개의 개별 내부 인터커넥트(interconnect)로 분할하는 단계 - 상기 4개의 내부 인터커넥트 각각은 데이터의 유닛을 3개 걸러 하나씩(every fourth unit of data) 보유함 - ;상기 수신된 데이터를 상기 공칭, 선행, 또는 지연 보상된 데이터 스트로브로 래치하는 단계; 및상기 래치된 데이터를 상기 4개의 개별 내부 인터커넥트로부터 적어도 하나의 외부 메모리 인터커넥트로 다중화(multiplexing)하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 수신된 데이터와 상기 수신된 데이터 스트로브 사이의 정렬에 기초하여 상기 수신된 데이터를 래치하기 위해 상기 공칭, 선행, 또는 지연 보상된 데이터 스트로브를 선택하는 단계를 더 포함하는 방법.
- 삭제
- 삭제
- 제1항에 있어서,상기 쿼드-스태거된 2분주 스트로브들은 수신된 데이터 스트로브 사이클의 1/2만큼 이전의 2분주 스트로브로부터 떨어지도록 각각 스태거되는 방법.
- 제1항에 있어서,상기 수신된 데이터 스트로브의 완전한 2개 사이클 동안 데이터의 유닛 각각을 연관된 내부 인터커넥트에 유효하게 유지하는 단계를 더 포함하는 방법.
- 데이터를 저장하기 위한 버퍼; 및데이터 스트로브 허용 유닛(data strobe tolerance unit)을 포함하며,상기 데이터 스트로브 허용 유닛은,메모리로부터 데이터를 수신하고,상기 메모리로부터 소스 동기식 데이터 스트로브를 수신하며,상기 수신된 데이터 스트로브로부터 적어도 공칭, 선행, 및 지연 보상된 데이터 스트로브를 생성하고,상기 보상된 데이터 스트로브를 4개의 쿼드-스태거된 2분주 스트로브로 분할하고 - 상기 4개의 쿼드-스태거된 2분주 스트로브 각각은 상기 수신된 데이터 스트로브를 하나 거른 상승 또는 하강 에지에서 샘플링하는 것으로부터 생성됨 - ,상기 수신된 데이터를 상기 버퍼로 진입하는 4개의 개별 내부 인터커넥트로 분할하고 - 상기 4개의 내부 인터커넥트 각각은 데이터의 유닛을 3개 걸러 하나씩 보유함 - ,상기 수신된 데이터와 상기 수신된 데이터 스트로브 사이의 타이밍 정렬에 기초해, 상기 공칭, 선행, 또는 지연 보상된 데이터 스트로브를 선택하여 상기 수신된 데이터를 상기 버퍼에 래치하며,상기 래치된 데이터를 상기 4개의 개별 내부 인터커넥트로부터 적어도 하나의 외부 메모리 인터커넥트로 다중화하도록 동작 가능한 장치.
- 삭제
- 삭제
- 제7항에 있어서,상기 쿼드-스태거된 2분주 스트로브들은 수신된 데이터 스트로브 사이클의 1/2만큼 이전의 2분주 스트로브로부터 떨어지도록 각각 스태거되는 장치.
- 제10항에 있어서,상기 데이터 스트로브 허용 유닛은 또한, 상기 수신된 데이터 스트로브의 완전한 2개 사이클 동안 데이터의 유닛 각각을 연관된 내부 인터커넥트에 유효하게 유지하도록 동작 가능한 장치.
- 제7항에 있어서,상기 데이터 스트로브 허용 유닛은 또한, 데이터의 소정의 단일 유닛(given single unit of data)에 수반되는(following) 네번째 데이터의 유닛(fourth unit of data)이 상기 메모리 인터커넥트로부터 수신될 때까지, 데이터의 유닛 각각을 연관된 내부 인터커넥트에 유효하게 유지하도록 동작 가능한 장치.
- 제7항에 있어서,상기 데이터의 유닛은 8 바이트 폭인 장치.
- 메모리 인터커넥트;상기 메모리 인터커넥트에 연결된 프로세서;상기 메모리 인터커넥트에 연결된 메모리; 및상기 메모리 인터커넥트에 연결된 칩셋을 포함하며,상기 칩셋은 데이터 스트로브 허용 로직을 포함하며,상기 데이터 스트로브 허용 로직은,상기 메모리로부터 데이터를 수신하고,상기 메모리로부터 데이터 스트로브를 수신하며,상기 수신된 데이터 스트로브로부터 적어도 공칭, 선행, 및 지연 보상된 데이터 스트로브를 생성하고,상기 보상된 데이터 스트로브를 4개의 쿼드-스태거된 2분주 스트로브로 분할하고 - 상기 4개의 쿼드-스태거된 2분주 스트로브 각각은 상기 수신된 데이터 스트로브를 하나 거른 상승 또는 하강 에지에서 샘플링하는 것으로부터 생성됨 - ,상기 수신된 데이터를 상기 데이터 스트로브 허용 로직 내의 4개의 개별 내부 인터커넥트로 분할하고 - 상기 4개의 내부 인터커넥트 각각은 데이터의 유닛을 3개 걸러 하나씩 보유함 - ,상기 수신된 데이터와 상기 수신된 데이터 스트로브 사이의 타이밍 정렬에 기초해, 상기 공칭, 선행, 또는 지연 보상된 데이터 스트로브를 선택하여 상기 수신된 데이터를 버퍼에 래치하며,상기 래치된 데이터를 상기 4개의 개별 내부 인터커넥트로부터 상기 메모리 인터커넥트로 다중화하는 시스템.
- 삭제
- 삭제
- 제14항에 있어서,상기 쿼드-스태거된 2분주 스트로브들은 수신된 데이터 스트로브 사이클의 1/2만큼 이전의 2분주 스트로브로부터 떨어지도록 각각 스태거되는 시스템.
- 제17항에 있어서,상기 데이터 스트로브 허용 로직은 또한, 상기 수신된 데이터 스트로브의 완전한 2개 사이클 동안 데이터의 유닛 각각을 연관된 내부 인터커넥트에 유효하게 유지하도록 동작 가능한 시스템.
- 제14항에 있어서,상기 데이터 스트로브 허용 로직은 또한, 데이터의 소정의 단일 유닛에 수반되는 네번째 데이터의 유닛이 상기 메모리 인터커넥트로부터 수신될 때까지, 데이터의 유닛 각각을 연관된 내부 인터커넥트에 유효하게 유지하도록 동작 가능한 시스템.
- 제14항에 있어서,상기 데이터의 유닛은 8 바이트 폭인 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/642,318 | 2006-12-18 | ||
US11/642,318 US20080144405A1 (en) | 2006-12-18 | 2006-12-18 | Data strobe timing compensation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080056671A KR20080056671A (ko) | 2008-06-23 |
KR100974366B1 true KR100974366B1 (ko) | 2010-08-05 |
Family
ID=38962211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070132658A KR100974366B1 (ko) | 2006-12-18 | 2007-12-17 | 데이터 스트로브 타이밍 보상 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080144405A1 (ko) |
KR (1) | KR100974366B1 (ko) |
CN (1) | CN101206911A (ko) |
DE (1) | DE102007060782A1 (ko) |
GB (1) | GB2445066B (ko) |
TW (1) | TW200841351A (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8264907B2 (en) | 2009-10-14 | 2012-09-11 | Nanya Technology Corp. | Method of increasing a timing margin for writing data to a memory array |
US8384832B2 (en) * | 2009-12-29 | 2013-02-26 | Intersil Americas Inc. | Systems and methods for partitioned color, double rate video transfer |
TWI482030B (zh) * | 2011-06-21 | 2015-04-21 | Via Tech Inc | 補償同步資料匯流排上的非對齊之裝置及方法 |
US20140089573A1 (en) * | 2012-09-24 | 2014-03-27 | Palsamy Sakthikumar | Method for accessing memory devices prior to bus training |
US9524763B2 (en) | 2014-06-12 | 2016-12-20 | Qualcomm Incorporated | Source-synchronous data transmission with non-uniform interface topology |
TWI575384B (zh) * | 2015-09-04 | 2017-03-21 | 慧榮科技股份有限公司 | 通道控制裝置 |
KR102624808B1 (ko) * | 2016-07-13 | 2024-01-17 | 삼성전자주식회사 | 멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로 |
US10692566B2 (en) * | 2016-11-18 | 2020-06-23 | Samsung Electronics Co., Ltd. | Interface method of memory system, interface circuitry and memory module |
US11127444B1 (en) | 2019-08-20 | 2021-09-21 | Rambus Inc. | Signal receiver with skew-tolerant strobe gating |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030086303A1 (en) * | 2001-11-06 | 2003-05-08 | Samsung Electronics Co., Ltd. | Data input circuits and methods of inputing data for a synchronous semiconductor memory device |
KR20050070525A (ko) * | 2003-12-30 | 2005-07-07 | 주식회사 하이닉스반도체 | 더블 데이터 레이트 싱크로너스 디램의 쓰기 회로 |
JP2006040318A (ja) | 2004-07-22 | 2006-02-09 | Canon Inc | メモリデバイス制御回路 |
US20070176658A1 (en) | 2006-01-30 | 2007-08-02 | Elpida Memory, Inc. | Timing adjustment circuit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728162B2 (en) * | 2001-03-05 | 2004-04-27 | Samsung Electronics Co. Ltd | Data input circuit and method for synchronous semiconductor memory device |
US6968490B2 (en) * | 2003-03-07 | 2005-11-22 | Intel Corporation | Techniques for automatic eye-degradation testing of a high-speed serial receiver |
JP4662536B2 (ja) * | 2004-12-28 | 2011-03-30 | パナソニック株式会社 | タイミング調整方法及び装置 |
-
2006
- 2006-12-18 US US11/642,318 patent/US20080144405A1/en not_active Abandoned
-
2007
- 2007-11-19 TW TW096143692A patent/TW200841351A/zh unknown
- 2007-11-27 GB GB0723229A patent/GB2445066B/en not_active Expired - Fee Related
- 2007-12-17 KR KR1020070132658A patent/KR100974366B1/ko not_active IP Right Cessation
- 2007-12-17 DE DE102007060782A patent/DE102007060782A1/de not_active Ceased
- 2007-12-18 CN CNA2007101991764A patent/CN101206911A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030086303A1 (en) * | 2001-11-06 | 2003-05-08 | Samsung Electronics Co., Ltd. | Data input circuits and methods of inputing data for a synchronous semiconductor memory device |
KR20050070525A (ko) * | 2003-12-30 | 2005-07-07 | 주식회사 하이닉스반도체 | 더블 데이터 레이트 싱크로너스 디램의 쓰기 회로 |
JP2006040318A (ja) | 2004-07-22 | 2006-02-09 | Canon Inc | メモリデバイス制御回路 |
US20070176658A1 (en) | 2006-01-30 | 2007-08-02 | Elpida Memory, Inc. | Timing adjustment circuit |
Also Published As
Publication number | Publication date |
---|---|
GB2445066B (en) | 2009-04-22 |
KR20080056671A (ko) | 2008-06-23 |
GB0723229D0 (en) | 2008-01-09 |
US20080144405A1 (en) | 2008-06-19 |
DE102007060782A1 (de) | 2008-07-24 |
GB2445066A (en) | 2008-06-25 |
CN101206911A (zh) | 2008-06-25 |
TW200841351A (en) | 2008-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100974366B1 (ko) | 데이터 스트로브 타이밍 보상 | |
US6662304B2 (en) | Method and apparatus for bit-to-bit timing correction of a high speed memory bus | |
US6801989B2 (en) | Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with that clock signal, and memory device and computer system using same | |
KR100942953B1 (ko) | 데이터 전달 회로 및 그를 포함하는 반도체 메모리 장치 | |
US8930664B2 (en) | Method and apparatus for transferring data from a first domain to a second domain | |
US7177230B1 (en) | Memory controller and memory system | |
US7269754B2 (en) | Method and apparatus for flexible and programmable clock crossing control with dynamic compensation | |
US20080151648A1 (en) | High speed fanned out system architecture and input/output circuits for non-volatile memory | |
US6504790B1 (en) | Configurable DDR write-channel phase advance and delay capability | |
US7995403B2 (en) | Semiconductor integrated circuit with data bus inversion function | |
JPH0784863A (ja) | 情報処理装置およびそれに適した半導体記憶装置 | |
US6907538B1 (en) | Circuit and method for providing centralized synchronization for the transportation of data between devices in a different clock domains on a data bus | |
US7023760B2 (en) | Memory arrangement for processing data, and method | |
US5267199A (en) | Apparatus for simultaneous write access to a single bit memory | |
KR920004420B1 (ko) | 비동기식 인터페이스 회로 | |
KR20010105938A (ko) | 플레쉬 메모리를 내장하는 마이크로 컨트롤러 유닛 및그의 인터리빙 방식을 이용한 메모리 억세스 제어 방법 | |
US7143257B2 (en) | Method and apparatus of a smart decoding scheme for fast synchronous read in a memory system | |
KR100562661B1 (ko) | 반도체 기억 소자의 소세브신호 발생회로 및 방법 | |
JP2002202910A (ja) | 共有メモリへの相対的に再配置および/または反転されたデータおよびアドレス信号の自動検出および訂正 | |
JPH0528104A (ja) | マルチプロセツサシステム | |
JP2005157929A (ja) | 半導体装置 | |
KR0179245B1 (ko) | 레지스터 라이팅장치 | |
KR0168202B1 (ko) | 디지털 프로세서의 클락 스위칭 장치 | |
US20050125622A1 (en) | Memory device capable of supporting sequential multiple-byte reading | |
WO2009125543A1 (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 | ||
LAPS | Lapse due to unpaid annual fee |