KR102312251B1 - 메모리 제어 디바이스에서의 출력 지연의 동적 선택 - Google Patents

메모리 제어 디바이스에서의 출력 지연의 동적 선택 Download PDF

Info

Publication number
KR102312251B1
KR102312251B1 KR1020177012189A KR20177012189A KR102312251B1 KR 102312251 B1 KR102312251 B1 KR 102312251B1 KR 1020177012189 A KR1020177012189 A KR 1020177012189A KR 20177012189 A KR20177012189 A KR 20177012189A KR 102312251 B1 KR102312251 B1 KR 102312251B1
Authority
KR
South Korea
Prior art keywords
delay
write
output
value
leveling
Prior art date
Application number
KR1020177012189A
Other languages
English (en)
Other versions
KR20170071524A (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 KR20170071524A publication Critical patent/KR20170071524A/ko
Application granted granted Critical
Publication of KR102312251B1 publication Critical patent/KR102312251B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

일례로, 메모리 제어 디바이스(104)는, 출력 회로(310), 출력 지연 유닛(312), 및 기록-레벨화 제어기(302)를 포함한다. 출력 회로는, 복수의 랭크들을 갖는 SDRAM(synchronous dynamic random access memory) 시스템(106)에 대한 데이터 신호 또는 데이터 스트로브 신호를 포함하는 출력 신호를 제공하기 위해 결합된다. 출력 지연 유닛은 출력 신호를 생성하기 위해 송신될 비트스트림에 출력 지연을 적용하기 위해 결합된다. 출력 지연은 디-스큐 지연 및 기록-레벨화 지연의 총계를 포함한다. 기록-레벨화 지연 제어기는, 복수의 기록 트랜잭션들 중 SDRAM 시스템으로의 각각의 기록 트랜잭션에 대한 기록-레벨화 지연을 복수의 랭크들 중 선택된 랭크에 기초하여 조정하기 위해 결합된다. 디-스큐 지연은 복수의 기록 트랜잭션들 각각에 대한 복수의 랭크들에 걸쳐 동일하다.

Description

메모리 제어 디바이스에서의 출력 지연의 동적 선택{DYNAMIC SELECTION OF OUTPUT DELAY IN A MEMORY CONTROL DEVICE}
본 개시내용의 예들은 일반적으로 전자 회로들에 관한 것이며, 특히 메모리 제어 디바이스에서의 출력 지연의 동적 선택에 관한 것이다.
더블 데이터 레이트(Double Data Rate) 또는 "DDR" SDRAM(synchronous dynamic random access memory)들은 그들의 성능과 밀도 때문에 대중적이다. 메모리 칩들의 실제 면적량(amount of real estate)을 감소시키기 위해서, 디바이스들을 제어하는 부담의 상당 부분이 메모리 제어 디바이스로 오프로딩되었다. 이들 메모리 제어 디바이스들은 마이크로 프로세서, ASIC(application specific integrated circuit)들, FPGA(field programmable gate array) 디바이스들 등에 상주할 수 있거나, 또는 대안으로 오로지 DDR 메모리들을 제어하도록 전용된 디바이스들 상에 상주할 수 있다.
DDR3 및 DDR4 애플리케이션들에서, 메모리 제어 디바이스는 다양한 타입들 및 양들의 지연들을 비트-레벨 입도(bit-level granularity)로 출력 경로 상에 삽입해야 한다. 메모리 제어 디바이스 내부에, 메모리 제어 디바이스를 SDRAM 디바이스(들)에 연결하는 PCB(printed circuit board) 상에, SDRAM 디바이스(들) 상에, 또는 이들의 조합에 현재 존재하거나 또는 잠재적으로 존재할 다양한 스큐(skew)들을 보상하는데 출력 지연들이 필요하다. 메모리 제어 디바이스에 의해 삽입된 출력 지연들은, SDRAM 디바이스(들)에 도달하는 인터페이스 신호들이, 적절한 샘플링을 위해 재정렬될 수 있게 한다. 메모리 제어 디바이스에서 출력 지연을 생성하고 적용하는데 사용되는 회로는 상당한 IC(integrated circuit) 면적을 포함하여 복잡할 수 있고, 상당한 전력을 소비할 수 있다.
메모리 제어 디바이스에서 출력 지연의 동적 선택을 위한 기술들이 설명된다. 이 예에서, 메모리 제어 디바이스는 출력 회로, 출력 지연 유닛 및 기록-레벨화(write-levelization) 제어기를 포함한다. 출력 회로는, 데이터 신호 또는 데이터 스트로브 신호를 포함하는 출력 신호를 복수의 랭크(rank)들을 갖는 SDRAM(synchronous dynamic random access memory) 시스템에 제공하기 위해 결합된다. 출력 지연 유닛이, 출력 신호를 생성하기 위해, 송신될 비트스트림에 출력 지연을 적용하기 위해 결합된다. 출력 지연은 디-스큐(de-skew) 지연 및 기록-레벨화 지연의 총계를 포함한다. 기록-레벨화 지연 제어기는, 복수의 기록 트랜잭션들 중 SDRAM 시스템으로의 각각의 기록 트랜잭션에 대한 기록-레벨화 지연을 복수의 랭크들 중 선택된 랭크에 기초하여 조정하기 위해 결합된다. 디-스큐 지연은 복수의 기록 트랜잭션들 각각에 대한 복수의 랭크들에 걸쳐 동일하다.
선택적으로, 메모리 제어 디바이스는 디-스큐 지연을 출력 지연 유닛에 제공하기 위해 결합된 디-스큐 지연 레지스터 로직을 더 포함한다.
선택적으로, 메모리 제어 디바이스는 기록-레벨화 지연 제어기 및 디-스큐 지연 레지스터 로직을 출력 지연 유닛에 선택적으로 결합시키도록 동작가능한 멀티플렉서 회로 및 멀티플렉서 회로를 제어하기 위해 결합되는 지연 선택 제어기를 더 포함한다.
선택적으로, 기록-레벨화 지연 제어기는 출력 신호에 대한 복수의 랭크들 각각에 대한 기록-레벨화 지연 값을 저장하기 위해 결합된 기록-레벨화 지연 레지스터 로직; 현재 랭크 신호에 대한 응답으로 기록-레벨화 지연 레지스터 로직으로부터 현재 기록-레벨화 지연 값을 선택하기 위해 결합된 제 1 멀티플렉서; 이전 랭크 신호에 대한 응답으로 기록-레벨화 지연 레지스터 로직으로부터 이전 기록-레벨화 지연 값을 선택하기 위해 결합된 제 2 멀티플렉서; 및 현재 기록-레벨화 지연 값과 이전 기록-레벨화 지연 값 간의 차를 계산하기 위해 결합된 계산 유닛을 포함한다.
선택적으로, 계산 유닛은 이전 기록-레벨화 지연 값을 무효화하기 위해 결합된 2의 보수 유닛 및 2의 보수 유닛의 출력과 현재 기록-레벨화 지연 값을 합산하기 위해 결합된 가산기를 포함한다.
선택적으로, 그 차를 출력 지연의 이전 값에 가산하여 출력 지연의 현재 값을 생성하도록 출력 지연 유닛이 결합된다.
선택적으로, 출력 지연 유닛은 출력 지연의 값을 저장하기 위해 결합된 출력 지연 레지스터; 출력 지연의 값을 업데이트하기 위해 결합된 가산기; 출력 지연 레지스터의 출력 지연의 값을 디코딩하기 위해 결합된 디코더; 디코더로부터 디코딩된 값을 래치하기 위해 결합된 래치; 및 디코딩된 값에 기초하여, 송신될 비트스트림을 지연시키기 위해 결합된 지연 로직을 포함한다.
다른 예에서, 메모리 제어 디바이스를 동작시키는 방법은, 데이터 신호 또는 데이터 스트로브 신호를 포함하는 출력 신호를 복수의 랭크들을 갖는 SDRAM(synchronous dynamic random access memory) 시스템에 제공하는 단계; 출력 신호를 생성하기 위해, 송신될 비트스트림에 출력 지연을 적용하는 단계 ―출력 지연은 디-스큐 지연 및 기록-레벨화 지연의 총계를 포함함―; 및 디-스큐 지연은 복수의 기록 트랜잭션들 각각에 대한 복수의 랭크들에 걸쳐 동일하게 유지하는 동안, 복수의 기록 트랜잭션 중 SDRAM 시스템으로의 각각의 기록 트랜잭션에 대한 기록-레벨화 지연을 복수의 랭크들 중 선택된 랭크에 기초하여 조정하는 단계를 포함한다.
선택적으로, 방법은 복수의 기록 트랜잭션들 전에 수행된 캘리브레이션 동작에 대한 응답으로 획득된 디-스큐 지연의 값을 설정하는 단계를 더 포함한다.
선택적으로, 방법은 복수의 기록 트랜잭션들에 후속하여 수행된 부가적인 캘리브레이션 동작에 대한 응답으로 획득된 새로운 값으로 디-스큐 지연을 업데이트하는 단계를 더 포함한다.
선택적으로, 조정하는 단계는, 현재 기록 트랜잭션에 대한 현재 랭크에 대한 응답으로 현재 기록-레벨화 지연 값을 선택하는 단계; 이전 기록 트랜잭션에 대한 이전 랭크에 대한 응답으로 이전 기록-레벨화 지연 값을 선택하는 단계; 및 현재 기록-레벨화 지연 값과 이전 기록-레벨화 지연 값 간의 차를 계산하는 단계를 포함한다.
선택적으로, 계산하는 단계는, 캐리 비트(carry bit)를 드롭하는 동안 이전 기록-레벨화 지연 값을 무효화하는 단계 및 캐리 비트를 드롭하는 동안 무효화된 이전 기록-레벨화 지연 값 및 현재 기록-레벨화 지연 값을 가산하는 단계를 포함한다.
선택적으로, 조정하는 단계는 현재 기록-레벨화 지연 값과 이전 기록-레벨화 지연 값 간의 차를 출력 지연의 이전 값에 가산하여 출력 지연의 현재 값을 생성하는 단계를 포함한다.
선택적으로, 적용하는 단계는 출력 지연의 값을 디코딩하여 디코딩된 값을 생성하는 단계 및 디코딩된 값에 기초하여 지연 유닛에 대한 지연을 선택하는 단계를 포함한다.
다른 예에서, 시스템은 복수의 랭크들을 갖는 SDRAM 시스템 및 버스를 통해 SDRAM 시스템에 결합되는 메모리 제어 디바이스를 포함한다. 메모리 제어 디바이스는 출력 회로, 출력 지연 유닛, 및 기록-레벨화 지연 제어기를 포함한다. 출력 회로는, 데이터 신호 또는 데이터 스트로브 신호를 포함하는 출력 신호를 제공하기 위해 결합된다. 출력 지연 유닛은 출력 신호를 생성하기 위해, 송신될 비트스트림에 출력 지연을 적용하기 위해 결합된다. 출력 지연은 디-스큐 지연 및 기록-레벨화 지연의 총계를 포함한다. 기록-레벨화 지연 제어기는, 복수의 기록 트랜잭션들 중 SDRAM 시스템으로의 각각의 기록 트랜잭션에 대한 기록-레벨화 지연을 복수의 랭크들 중 선택된 랭크에 기초하여 조정하기 위해 결합된다. 디-스큐 지연은 복수의 기록 트랜잭션들 각각에 대한 복수의 랭크들에 걸쳐 동일하다.
선택적으로, 버스는 제어 버스를 포함하고, 제어 버스 상의 각각의 신호는 SDRAM 시스템 상의 각각의 SDRAM 디바이스에 결합되어 플라이-바이(fly-by) 메모리 토폴로지를 제공한다.
선택적으로, 메모리 제어 디바이스는 디-스큐 지연을 출력 지연 유닛에 제공하기 위해 결합된 디-스큐 지연 레지스터 로직; 기록-레벨화 지연 제어기 및 디-스큐 지연 레지스터 로직을 출력 지연 유닛에 선택적으로 결합시키도록 동작가능한 멀티플렉서 회로; 및 멀티플렉서 회로를 제어하기 위해 결합된 지연 선택 제어기를 더 포함한다.
선택적으로, 기록-레벨화 지연 제어기는 출력 신호에 대한 복수의 랭크들 각각에 대한 기록-레벨화 지연 값을 저장하기 위해 결합된 기록-레벨화 지연 레지스터 로직; 현재 랭크 신호에 대한 응답으로 기록-레벨화 지연 레지스터 로직으로부터 현재 기록-레벨화 지연 값을 선택하기 위해 결합된 제 1 멀티플렉서; 이전 랭크 신호에 대한 응답으로 기록-레벨화 지연 레지스터 로직으로부터 이전 기록-레벨화 지연 값을 선택하기 위해 결합된 제 2 멀티플렉서; 및 현재 기록-레벨화 지연 값과 이전 기록-레벨화 지연 값 간의 차를 계산하기 위해 결합된 계산 유닛을 포함한다.
선택적으로, 그 차를 출력 지연의 이전 값에 가산하여 출력 지연의 현재 값을 생성하도록 출력 지연 유닛이 결합된다.
선택적으로, 출력 지연 유닛은 출력 지연의 값을 저장하기 위해 결합된 출력 지연 레지스터; 출력 지연의 값을 업데이트하기 위해 결합된 가산기; 출력 지연 레지스터의 출력 지연의 값을 디코딩하기 위해 결합된 디코더; 디코더로부터 디코딩된 값을 래치하기 위해 결합된 래치; 및 디코딩된 값에 기초하여, 송신될 비트스트림을 지연시키기 위해 결합된 지연 로직을 포함한다.
이들 양상 및 다른 양상이 다음의 상세한 설명을 참조하여 이해될 수 있다.
상기 언급된 특징들이 상세히 이해될 수 있는 방식으로, 상기에 간략히 요약된 보다 구체적인 설명은 예시적인 구현들을 참고할 수 있으며, 예시적인 구현들 중 일부는 첨부된 도면들에 도시된다. 그러나, 첨부된 도면들은 단지 통상적인 예시적 구현들만을 도시하고, 따라서, 본 개시내용의 범위를 한정하는 것으로 간주되어서는 안 된다는 것을 주목한다.
도 1은 SDRAM(synchronous dynamic random access memory) 시스템에 결합된 IC(integrated circuit)를 갖는 예시적인 시스템을 도시하는 블록도이다.
도 2은 메모리 제어 디바이스의 예를 도시하는 블록도이다.
도 3은 물리적 인터페이스 유닛의 일 부분의 예를 도시하는 블록도이다.
도 4은 기록-레벨화 지연 제어기의 예를 도시하는 블록도이다.
도 5는 출력 지연 유닛의 예를 도시하는 블록도이다.
도 6은 메모리 제어 디바이스를 동작시키는 방법의 일례를 도시하는 흐름도이다.
이해를 돕기 위해서, 가능한 경우, 도면들에 공통되는 동일한 엘리먼트들을 나타내기 위해 동일한 도면 부호들이 사용되었다. 일 예시의 엘리먼트들이 다른 예들에 유리하게 포함될 수 있다는 것이 고려된다.
메모리 제어 디바이스에서 출력 지연의 동적 선택을 위한 기술들이 설명된다. 본 기술들은, 멀티-랭크 SDRAM(synchronous dynamic random access memory) 시스템들, 이를 테면, DDR(double data-rate) 시스템들(예를 들어, DDR3/4 시스템들)에 적용된다. 메모리 제어 디바이스는, SDRAM에 출력되는 각각의 데이터(DQ) 및 데이터 스트로브(DQS) 신호에 하나의 프로그램가능한 지연을 적용한다. 메모리 제어 디바이스는, 랭크 선택에 의해 지시되는 바와 같이 DQ/DQS 신호들에 대해 요구되는 신호 당(per-signal) 출력 지연을 동적으로 선택한다. 주어진 DQ/DQS 신호에 대한 출력 지연은 보다 단순한 메모리 제어 솔루션을 제공하기 위해 2개의 부분들로 나누어진다. 특히, 출력 지연은 랭크들에 걸쳐 공통되는 특정 출력 신호에 대한 디-스큐 지연, 및 랭크에 기초하여 동적으로 선택되는 특정 출력 신호에 대한 기록-레벨화 지연을 포함한다. 본원에 설명된 메모리 제어 디바이스는, 개선된 신호 무결성, 출력 경로 상의 총 고유 지연들의 감소, 및 구현 면적 및 전력 소비의 감소를 제공한다. 본 개시내용의 이들 양상 및 추가적인 양상이 아래에 설명된다.
도 1은 SDRAM(synchronous dynamic random access memory) 시스템(106)에 결합된 IC(integrated circuit)(102)를 갖는 시스템(100)의 예를 도시하는 블록도이다. IC(102) 및 SDRAM 시스템(106)은 PCB(printed circuit board) 또는 다른 타입의 기판(미도시) 상에 장착될 수 있다. IC(102)는 메모리 제어 디바이스(104)를 포함한다. 메모리 제어 디바이스(104)는 버스(109)를 통해 SDRAM 시스템(106)에 결합된다. 버스(109)는 제어 버스(112) 및 데이터 버스(114)를 포함한다. 제어 버스(112)는 어드레스, 커맨드 및 클락 신호들과 같은 제어 신호들를 SDRAM 시스템(106)에 전달한다. 데이터 버스(114)는 메모리 제어 디바이스(104)와 SDRAM 시스템(106) 사이에서 데이터(DQ) 신호들 및 데이터 스트로브(DQS) 신호들을 전달한다. 버스(109)는 다른 신호들, 이를 테면, 전압 서플라이 신호들을 전달할 수 있다. IC(102)는, 메모리 제어 디바이스(104)에 전용되는 디바이스, 또는 다른 기능을 갖는 디바이스, 이를 테면, 마이크로 프로세서, ASIC(application specific integrated circuit), FPGA(field programmable gate array), SoC(system-on-chip) 등일 수 있다. SDRAM 시스템(106)은, 복수의 랭크들(예를 들어, 하나 또는 그 초과의 DIMM(dual inline memory module)들)을 총괄적으로 제공하는 하나 또는 그 초과의 모듈들을 포함할 수 있다. 대안으로, SDRAM 시스템(106)은 어떠한 특정 모듈러 구조 없이도 PCB에 장착될 수 있다. 예를 들어, SDRAM 시스템(106)은 IC(102)와 동일한 PCB에 장착될 수 있다.
SDRAM 시스템(106)은 SDRAM 디바이스들(110)의 다수의 랭크들을 포함한다. 도시된 바와 같이, SDRAM 시스템(106)은 2개의 랭크들을 포함한다: 제 1 랭크는 SDRAM 디바이스들(110(1))을 포함하고 제 2 랭크는 SDRAM 디바이스들(110(2))을 포함한다. 따라서, 각각의 랭크는 복수의 SDRAM 디바이스들을 포함한다. 각각의 랭크의 SDRAM 디바이스들(110(1) 및 110(2))은 메모리 제어 디바이스(104)에 의해 구동되는 버스들(112 및 114)을 공유한다. 제어 버스(112)는 랭크들 중에서 선택하기 위한 신호를 포함한다. SDRAM 시스템(106)은 "플라이-바이(fly-by)" 메모리 토폴로지를 포함한다. 플라이-바이 메모리 토폴로지에서, 제어 버스(112)는 SDRAM 디바이스들(110) 각각에 연결되고 종단(116)에 의해 종료된다. 즉, 어드레스, 커맨드 및 클락 신호들의 동일한 세트가 제 1 랭크의 SDRAM 디바이스들(110(1))의 모든 각각의 것, 및 제 2 랭크의 SDRAM 디바이스들(110(2))의 모든 각각의 것에 결합된다. 플라이-바이 토폴로지를 활용하는 SDRAM 디바이스들의 예들은 DDR3 및 DDR4 SDRAM 디바이스들을 포함한다.
대조적으로, 버스(114)는 병렬로 랭크들에 결합된다. 예를 들어, SDRAM 디바이스들(110) 각각은 8개의 DQ 신호들 및 적어도 하나의 DQS 신호(예를 들어, DQS 신호 및 무효화된 DQS 신호)를 갖는 인터페이스를 포함할 수 있다. 각각의 랭크는 총 72개의 DQ 신호들 및 적어도 9개의 DQS 신호들에 대해 9개의 SDRAM 디바이스들(110)을 포함할 수 있다. 버스(114)는 72개의 DQ 신호들 및 적어도 9개의 DQS 신호들의 폭을 가질 수 있으며, 이들 신호들은 각각의 랭크의 SDRAM 디바이스들에 걸쳐 분포되고 랭크들 간에 공유된다. SDRAM 디바이스들(110)은 다른 개수의 DQ 및 DQS 신호들과의 인터페이스들을 가질 수 있고, 랭크들은 상이한 수의 SDRAM 디바이스들을 가질 수 있고, 데이터 버스(114)는 다른 폭들을 가질 수 있다. 예를 들어, 일부 SDRAM 시스템들은 144개의 DQ 신호들의 폭을 갖는 데이터 버스를 제공한다.
SDRAM 시스템(106)은, 레지스터들, 제어기들 등(미도시)과 같이, SDRAM 디바이스들(110)의 동작을 지원하는 다른 회로들을 포함할 수 있다. 이 예는 버퍼링되지 않은 SDRAM 시스템을 도시하지만(즉, 버스들(112)이 버퍼링되지 않음), 본원에 설명된 기술들은 등록된 SDRAM 시스템들과 함께 사용될 수 있다. SDRAM 시스템(106)은 2개의 랭크들을 갖는 것으로 도시되었지만, 일반적으로 SDRAM 시스템(106)은 복수의 랭크들을 포함할 수 있다.
도 2는 메모리 제어 디바이스(104)의 예를 도시하는 블록도이다. 메모리 제어 디바이스(104)는 애플리케이션 인터페이스(202), 메모리 제어기(204), 초기화 및 캘리브레이션 유닛(206), 멀티플렉서(208), 및 물리적(PHY) 유닛(210)을 포함한다. 애플리케이션 인터페이스(202)는 다른 회로(미도시)로부터 SDRAM 시스템(106)에 기록될 데이터("기록 데이터")를 수신하고, SDRAM 시스템(106)으로부터 판독된 데이터("판독 데이터")를 다른 회로(미도시)로 제공한다. 애플리케이션 인터페이스(202)는 메모리 제어기(204)로 기록 데이터를 제공한다. 메모리 제어기(204)는 SDRAM 시스템(106)으로의 그리고 SDRAM 시스템(106)으로부터의 트랜잭션을 생성한다. 메모리 제어기(204)는 SDRAM 시스템(106)에 기록 데이터를 저장하기 위한 기록 트랜잭션들을 생성하고, SDRAM 시스템(106)으로부터 판독 데이터를 획득하기 위한 판독 트랜잭션들을 생성한다. 메모리 제어기(204)의 출력이 멀티플렉서(208)에 결합된다.
PHY 유닛(210)은 메모리 제어 디바이스(104)의 물리적 신호 인터페이스를 제공한다. PHY 유닛(210)은 제어 버스(112) 상에서 어드레스, 커맨드, 및 클락 신호들을 출력하고, 데이터 버스(114) 상에서 데이터 및 데이터 스트로브 신호들을 전송하고 수신한다. PHY 유닛(210)은 기록 경로 로직(212) 및 판독 경로 로직(214)을 포함한다. 기록 경로 로직(212)은 SDRAM 시스템(106)으로의 기록 데이터 및 커맨드들의 송신을 위해 메모리 제어기(204)로부터 기록 트랜잭션들을 포맷한다. 판독 경로 로직(214)은 커맨드들의 SDRAM 시스템(106)으로의 송신을 위해, 그리고 SDRAM 시스템(106)으로부터의 판독 데이터의 수신을 위해 메모리 제어기(204)로부터 판독 트랜잭션들을 포맷한다.
초기화 및 캘리브레이션 유닛(206)은, 다른 동작들 중에서도, 기록 경로 로직(212) 및 판독 경로 로직(214)에 대한 하나 또는 그 초과의 타이밍 캘리브레이션 스테이지들을 수행한다. 초기화 및 캘리브레이션 유닛(206)이 멀티플렉서(208)에 결합된다. 초기화 및 캘리브레이션 유닛(206)은 멀티플렉서(208)를 통해 PHY 유닛(210)으로 캘리브레이션 트랜잭션들을 출력한다. 초기화 및 캘리브레이션 유닛(206)은 캘리브레이션이 완료될 때까지 캘리브레이션 트랜잭션들을 선택하기 위해 멀티플렉서(208)를 제어한다. 캘리브레이션이 완료될 경우, 초기화 및 캘리브레이션 유닛(206)은 메모리 제어기(204)로부터 출력된 트랜잭션들을 선택하기 위해 멀티플렉서(208)를 제어한다. PHY 유닛(210)은 SDRAM 시스템(106)과 통신하고 기록 경로 로직(212) 및 판독 경로 로직(214)을 캘리브레이팅하기 위해 캘리브레이션 트랜잭션들을 포맷한다.
특히, 기록 경로 로직(212)은 지연 로직(216)을 포함한다. PHY 유닛(210)의 기록 경로 로직(212)에서의 신호 당 PCB 트레이스 스큐 및 임의의 신호 당 스큐들을 비롯한, 정적(static) 또는 준정적(quasi-static) 스큐들을 보상하기 위해 지연 로직(216)이 사용된다. 지연 로직(216)은, 정적 또는 준정적 스큐들을 보상하는 디-스큐 지연을 포함하는 출력 지연을 DQ/DQS 신호들에 적용하고, 출력 경로 상의 기록 데이터(DQS) 윈도우 내부에 기록 데이터 스트로브(DQS)를 센터링한다. 정적/준정적 스큐들에 기여할 수 있는 디-스큐 지연은 캘리브레이션 프로세스에 기초하여 결정된다. 기능 동작 동안, 전압/온도(VT) 변화들의 주기적인 보상 이외에, 디-스큐 지연들은 대다수의 기록 트랜잭션들에 걸쳐 변하지 않는 상태로 유지된다. 멀티-랭크 시스템에서, 정적/준정적 스큐는 랭크들에 걸쳐 다를 수 있다. 그러나, 본원에 설명된 기술들은 SDRAM 시스템(106)의 모든 랭크들에 대한 정적/준정적 스큐를 보상하기 위해 디-스큐 지연들의 공통 세트를 적용함으로써 정확한 기록 데이터 타이밍의 문제점을 단순화한다. 이는, 메모리 제어 디바이스(104)로부터, 입/출력(IO) 로직(예를 들어, IC(102) IO 로직)을 통해, IC 패키지를 통해 그리고 PCB 상으로, SDRAM 시스템(106) 상에서 각각의 랭크로 나눠지기 전의 공통 DQ/DQS 경로들을 가정한다.
SDRAM 시스템(106)의 플라이-바이 메모리 토폴로지는 기록 데이터 스트로브(DQS)와, 제어 버스(112) 상의 각각의 SDRAM 디바이스(110)에 도달하는 클락(CK) 사이에서 스큐를 발생시킨다. DQS와 CK 사이의 스큐는 기록-레벨링 기술을 통해 보상되며, 정해진 링크 내에서 SDRAM 디바이스들(110)에 도달하는 클락과 위상-정렬될 때까지 DQS 신호들이 지연된다. 애플리케이션은, 하나 또는 그 초과의 SDRAM 시스템들에 걸쳐 다수의 랭크들을 활용할 수 있으며, 각각은 고유 기록 레벨화 지연 값을 필요로 한다. 멀티-랭크 시스템에서, 클락(CK)이 DQ/DQS와는 상이한 경로를 택하기 때문에, CK와 DQS 사이의 타이밍 관계가 랭크들에 걸쳐 동일한 것으로 가정할 수 없다. 플라이-바이 타이밍은 랭크들에 걸쳐 상이할 수 있다.
지연 로직(216)에 의해 적용된 출력 지연은 디-스큐 지연이외에도 기록-레벨화 지연을 포함할 수 있다. 디-스큐 지연이 랭크에 걸쳐 공통되는 반면, 기록-레벨화 지연은 각각의 랭크에 대해 고유하고, 기록을 위해 선택된 특정 랭크에 기초하여 동적으로 선택된다. 데이터 버스(114) 상의 DQ/DQS 신호들에 대한 출력 지연을 생성하기 위한 예시적인 기술들이 아래에 설명된다.
도 2는 메모리 제어 디바이스(104)의 일례를 도시한다. 아래에 설명되는 예들은 지연 로직(216)의 구조 및 기능과 관련된다. 지연 로직(216)은 도 2에 도시된 것과는 상이한 구조를 갖는 메모리 제어 디바이스의 PHY 유닛에서 사용될 수 있다. 일반적으로, 메모리 제어 디바이스의 PHY 유닛은, 기록 경로 상의 스큐를 보상하기 위해 지연 로직(216)을 이용할 수 있다.
도 3은 PHY 유닛(210)의 일 부분(300)의 예를 도시하는 블록도이다. 부분(300)은 기록-레벨화 지연 제어기(302), 디-스큐 지연 레지스터 로직(304), 멀티플렉서 회로(MUX)(306), 지연 선택 제어기(308) 및 출력 회로(310)를 포함한다. 출력 회로(310)는 출력 지연 유닛(312)을 포함한다. 기록-레벨화 지연 제어기(302), 디-스큐 지연 레지스터 로직(304), MUX(306), 지연 선택 제어기(308) 및 출력 지연 유닛(312)은 PHY 유닛(210)의 기록 경로 로직(212) 내에 지연 로직(216)을 포함한다.
출력 회로(310)는 출력 신호를 데이터 버스(114)에 결합한다. 출력 신호는 데이터 버스(114) 상의 특정 데이터 신호(DQ) 또는 특정 데이터 스트로브 신호(DQS)를 포함한다. 출력 신호는 송신될 비트스트림을 선택적으로 지연시킴으로써 생성된다. 출력 신호를 생성하기 위해, 송신될 비트스트림에 적용되는 지연량은 출력 지연 유닛(312)에 의해 적용되는 출력 지연을 변경함으로써 조정될 수 있다. 기능 동작 동안, 출력 지연은 디-스큐 지연 및 기록-레벨화 지연의 총계를 포함한다. 디-스큐 지연은 복수의 기록 트랜잭션들에 대해 SDRAM 시스템(106)의 랭크들에 걸쳐 동일하다. 대조적으로, 기록-레벨화 지연은 기록을 위해 선택된 랭크에 기초하여 각각의 기록 트랜잭션에 대해 동적으로 업데이트된다. 출력 지연 유닛(312)에 의해 적용된 출력 지연의 값은 MUX(306)로부터 수신된 입력에 기초하여 조정된다.
디-스큐 지연 레지스터 로직(304)은 데이터 버스(114) 상의 신호들에 대한 신호 당 디-스큐 지연 값들을 저장한다. 신호 당 디-스큐 지연 값들은 캘리브레이션 동작의 캘리브레이션 결과들에 기초하여 생성된다. 일례로, 신호 당 디-스큐 지연 값들은 기능 동작 동안 일정하게 유지될 수 있다. 대안으로, 신호 당 디-스큐 지연 값들은 주기적 캘리브레이션 동작들에 대한 응답으로 주기적으로 업데이트될 수 있다. 예를 들어, VT 추적을 위해 주기적 캘리브레이션 동작들이 수행될 수 있다. 최초 캘리브레이션 (또는 선택적 후속 캘리브레이션) 이후, 지연 선택 제어기(308)는 디-스큐 지연 레지스터 로직(304)을 선택하고, 출력 신호에 대한 디-스큐 지연 값이 출력 지연 유닛(312)으로 로딩된다. 출력 신호에 대한 디-스큐 지연 값은 SDRAM 시스템(106)의 모든 랭크들에 걸쳐 동일하고, 하나의 기록 트랜잭션에서 다음으로, 그리고 하나의 랭크에서 다음 랭크로의 기능 동작 동안 변경되지 않는다.
기록-레벨화 지연 제어기(302)는 랭크들 각각에 대한 모든 DQ/DQS 신호들에 대한 기록-레벨화 지연 값들을 저장한다. 기록-레벨화 지연들은 캘리브레이션 동작의 캘리브레이션 결과들에 기초하여 생성될 수 있다(예를 들어, 신호 당 디-스큐 지연 값들과 동시에 결정될 수 있다). 기능 동작 동안, 기록-레벨화 지연 제어기(302)는 기록 트랜잭션 제어 신호들로부터 결정된 바와 같이 기록을 위해 선택된 랭크에 기초하여 출력 신호에 대한 기록-레벨화 지연 값을 결정한다. 디-스큐 지연 값이 출력 지연 유닛(312)에 로딩된 후, 지연 선택 제어기(308)는 기록-레벨화 지연 제어기(302)를 선택하고, 결정된 기록-레벨화 지연 값들이 출력 지연 유닛(312)에 제공된다. 각각의 기록 트랜잭션의 경우, 출력 지연 유닛(312)은 결정된 기록-레벨화 지연 값을 디-스큐 값에 가산하여 출력 지연 값을 결정한다. 이러한 방식으로, 출력 지연이, 기록을 위해 선택된 SDRAM 시스템(106)의 현재 랭크에 기초하여 동적으로 업데이트된다.
일례로, 각각의 기록 트랜잭션의 경우, 기록-레벨화 지연 제어기(302)는 현재 랭크에 대한 기록-레벨화 지연 값과 이전 랭크에 대한 기록-레벨화 지연 값 간의 차를 결정한다. 기록-레벨화 지연 제어기(302)는 그 차를 출력으로서 제공한다. 출력 지연 유닛(312)은 그 차를 디-스큐 지연 값에 가산하여 출력 지연 값을 결정한다. 이러한 방식으로, 이전에 선택된 랭크에 대한 기록-레벨화 지연 값이 출력 지연 값으로부터 제거되고, 현재 랭크에 대한 기록-레벨화 지연 값이 출력 지연 값에 가산된다. 따라서, 출력 지연 값은 항상 디-스큐 지연 값과 현재 랭크에 대해 결정된 기록-레벨화 지연 값의 총계이다.
MUX(306)는, 데이터 버스(114) 상의 다른 DQ/DQS 신호들을 지연시키기 위한 출력 회로(310)와 유사한 출력 지연 유닛들을 갖는 기록 경로 로직(212) 내의 다른 출력 회로들에 결합될 수 있다. 디-스큐 지연 레지스터 로직(304)은, 출력 지연 유닛(312)과 유사한 다른 출력 지연 유닛들에 로딩될 수 있는, 다른 회로들의 출력 신호들에 대한 디-스큐 지연 값들을 저장한다. 기록-레벨화 지연 제어기(302)는, 기능 동작 동안 출력 지연 유닛(312)과 유사한 출력 지연 유닛을 조정하는데 사용될 수 있는, 랭크들 각각에 대한 다른 SDRAM 디바이스들에 대한 기록-레벨화 지연 값들을 저장한다. 즉, 기록-레벨화 지연 제어기(302)는 각각의 SDRAM 디바이스에 대한 기록-레벨화 지연 값을 저장할 수 있으며, 주어진 기록-레벨화 지연 값이 주어진 SDRAM 디바이스와 연관된 DQ/DQS 신호들에 대해 공통이다.
도 4는 기록-레벨화 지연 제어기(302)의 예를 도시하는 블록도이다. 기록-레벨화 지연 제어기(302)는 기록-레벨화 지연 레지스터 로직(402), 제 1 멀티플렉서(멀티플렉서(410)), 플립-플롭(412), 제 2 멀티플렉서(멀티플렉서(414)), 및 계산 유닛(420)을 포함한다. 기록-레벨화 지연 레지스터 로직(402)은, SDRAM 시스템(106)의 각각의 랭크를 위한 것인, 복수의 레지스터들(404)을 포함한다. 본 예에서, 2개의 레지스터들(404(1) 및 404(2))이 SDRAM 시스템(106)의 듀얼-랭크들에 대해 도시된다. 레지스터(404(1))는 SDRAM 디바이스들(110(1))을 포함하는 랭크에 대한 기록-레벨화 지연 값을 저장한다. 레지스터(404(2))는 SDRAM 디바이스들(110(2))을 포함하는 랭크에 대한 기록-레벨화 지연 값을 저장한다. 상술된 바와 같이, 기록-레벨화 지연 값들은 캘리브레이션 동작 동안 결정될 수 있다.
멀티플렉서(410)의 입력들은 레지스터들(404(1) 및 404(2))의 출력들에 결합된다. 멀티플렉서(410)의 출력이 계산 유닛(420)에 결합된다. 멀티플렉서(410)의 제어 포트는 현재 기록 트랜잭션( "현재-랭크 신호")에 기록하기 위해 선택된 현재 랭크를 나타내는 신호를 수신한다. 일례로, 기록-레벨화 지연 제어기(302)는 기록 경로 로직(212)에 의해 생성된 기록 트랜잭션 제어 데이터에 대한 응답으로 현재-랭크 신호를 생성하는 랭크 생성기(406)를 포함할 수 있다. 다른 예로, 기록-레벨화 지연 제어기(302) 외부의 기록 경로 로직(212) 내의 다른 회로에 의해 현재-랭크 신호가 생성된다. 어느 경우에나, 현재-랭크 신호 또한 플립-플롭(412)의 데이터 입력에 결합된다.
플립-플롭(412)의 클락 포트는 기록 경로 로직(212)에 입력되는 새로운 기록 트랜잭션(WR_STB로 지칭함)을 나타내는 신호를 수신한다. WR_STB 신호가 어서트될 경우, 플립-플롭(412)은 현재-랭크 신호의 값을 저장한다. 플립-플롭(412)의 출력은 이전 기록 트랜잭션에 대해 이전에 선택된 랭크의 값("이전-랭크 신호")을 제공한다. 일례로, 기록-레벨화 지연 제어기(302)는 기록 경로 로직(212)에 입력되는 기록 트랜잭션에 대한 응답으로 WR_STB 신호를 생성하는 기록 스트로브 생성기(408)를 포함할 수 있다. 다른 예로, 기록-레벨화 지연 제어기(302) 외부의 기록 경로 로직(212) 내의 다른 회로에 의해 WR_STB 신호가 생성된다.
멀티플렉서(414)의 입력들이 레지스터들(404(1) 및 404(2))의 출력들에 결합된다. 멀티플렉서(414)의 출력이 계산 유닛(420)에 결합된다. 이전-랭크 신호를 수신하기 위해 멀티플렉서(414)의 제어 포트가 플립-플롭(412)의 출력에 결합된다.
각각의 기록 트랜잭션에 대해, 계산 유닛(420)은 현재 기록 트랜잭션에 대해 멀티플렉서(410)에 의해 선택된 기록-레벨화 지연값("현재 기록-레벨화 지연 값") 및 이전 기록 트랜잭션에 대해 멀티플렉서(414)에 의해 선택된 기록-레벨화 지연 값("이전 기록-레벨화 지연 값")을 수신한다. 현재 기록-레벨화 지연 값은 현재 기록을 위해 선택된 랭크에 대응하고 현재-랭크 신호에 기초하여 선택된다. 이전 기록-레벨화 지연 값은 이전에 기록을 위해 선택된 랭크에 대응하고 이전-랭크 신호에 기초하여 선택된다. 계산 유닛(420)은 현재 기록-레벨화 지연 값과 이전 기록-레벨화 지연 값 간의 차를 계산하여 그 차를 출력 신호(WL_DELTA_DLY)로서 제공한다. WL_DELTA_DLY 신호가 출력 지연 유닛에 제공되도록 MUX(306)에 결합되어 각각의 기록 트랜잭션에 대한 출력 지연이 조정된다.
일례로, 계산 유닛(420)은 가산기(418)에 결합된 2의 보수 유닛(416)을 포함한다. 2의 보수 유닛(416)은 멀티플렉서(414)에 의해 제공된 이전의 기록-레벨화 지연 값의 네거티브를 결정한다. 가산기(418)는, 2의 보수 유닛(416)의 출력을 멀티플렉서(410)에 의해 제공된 현재 기록-레벨화 지연 값과 합산한다. 일례로, 2의 보수 유닛(416) 및 가산기(418) 둘 모두는 캐리 비트를 드롭하여, 그들의 출력들이 롤오버(rollover)되게 한다. 계산 유닛(420)은, 현재 기록-레벨화 지연 값과 이전 기록-레벨화 지연 값 간의 차를 일반적으로 계산하는 다른 타입들의 로직을 이용하여 구현될 수 있다.
도 5는 출력 지연 유닛(312)의 예를 도시하는 블록도이다. 출력 지연 유닛(312)은 가산기(502), 출력 지연 레지스터(504), 디코더(506), 래치(508) 및 지연 유닛(510)을 포함한다. 가산기(502)는 MUX(306)(ODLY_IN)에 의해 출력된 신호를 수신하고 출력 지연 레지스터(504)의 출력을 가수(addend)들로서 수신한다. 가산기(502)의 출력은 출력 지연 레지스터(504)의 입력에 결합된다. 출력 지연 레지스터(504)는 일반적으로 출력 지연의 값을 저장한다. 기능 동작에서, 가산기(502)는 출력 지연 레지스터(504)에 저장된 출력 지연의 이전 값을, 기록 레벨화 지연 제어기(302)에 의해 생성된 현재 기록-레벨화 지연 값과 이전 기록-레벨화 지연 값 간이의 차(MUX(306)에 의해 선택된 것으로서 WL_DELTA_DLY)와 합산한다. 현재 기록 트랜잭션의 시작(즉, WR_STB 신호의 어서션(assertion))에 대한 응답으로, 출력 지연 레지스터(504)는 가산기(502)로부터 출력 지연의 현재 값을 로딩한다.
디코더(506)의 입력이 출력 지연 레지스터(504)의 출력에 결합된다. 디코더(506)는 출력 지연 레지스터(504)에 저장된 출력 지연 값으로부터 디코딩된 신호를 생성한다. 래치(508)의 입력이 디코더(506)의 출력에 결합된다. 래치(508)는, 디코더(506)가 출력 지연 레지스터(504)에 저장된 출력 지연 값을 디코딩할 때 디코딩된 신호의 값을 저장한다. 래치(508)는, 현재 기록 트랜잭션이 기록 경로 로직(212)의 끝에 근접하고 있음을 나타내는 신호(WL_DLY_STB)에 대한 응답으로, 디코딩된 신호의 값을 지연 유닛(510)에 제공한다. WL_DLY_STB 신호는, 존재하는 경우 기록 스트로브 생성기(408)에 의해, 또는 기록 경로 로직(212) 내의 다른 회로에 의해 생성될 수 있는 WL_STB 신호의 지연된 버전이다.
래치(508)의 출력이 지연 유닛(510)의 제어 입력에 결합된다. 지연 유닛(510)의 입력은 전송될 비트스트림을 수신하고, 지연 유닛(510)의 출력은 출력 신호(예를 들어, DQ 신호 또는 DQS 신호)를 제공한다. 래치(508)에 저장된 디코딩된 신호의 값은 지연 유닛(510)에 의해 적용되는 지연의 양을 결정한다. 예를 들어, 지연 유닛(510)은 탭핑된(tapped) 지연 라인을 포함할 수 있고, 래치(508)에 저장된 디코딩된 신호의 값이 지연 라인에서 활성인 탭들의 수에 영향을 줄 수 있다.
도 6은 메모리 제어 디바이스를 동작시키는 방법(600)의 일례를 도시하는 흐름도이다. 일반적으로, 방법(600)의 일부 단계들은 순차적으로 수행될 수 있지만, 방법(600)의 다른 단계들은 동시에 수행될 수 있다. 방법(600)이 단계들의 임의의 특정 시퀀스를 암시하도록 하는 것은 아니다. 방법(600)은, 출력 회로(310)가 데이터 신호 또는 데이터 스트로브 신호를 포함하는 출력 신호를 다수의 랭크들을 갖는 SDRAM 시스템(106)에 제공하는 단계(602)를 포함한다. 단계(604)에서, 출력 지연 유닛(312)은 출력 지연을 송신될 비트스트림에 적용한다. 출력 지연은 디-스큐 지연 및 기록-레벨화 지연의 총계를 포함한다. 단계(604)는, 예를 들어, 스타트업 시에 캘리브레이션 동작에 대한 응답으로 획득된 디-스큐 지연의 값이 설정되는 단계(608)를 포함할 수 있다. 선택적 단계(610)에서, 디-스큐 지연은 부가적인 캘리브레이션 동작(들)에 대한 응답으로 업데이트될 수 있다. 예를 들어, 메모리 제어 디바이스(104)의 전압/온도 변화들을 추적하기 위해 부가적인 캘리브레이션 동작(들)이 수행될 수 있다.
단계(606)에서, 디-스큐 지연을 동일하게 유지하는 동안 기록-레벨화 지연 제어기(302) 및 출력 지연 유닛(312)은 복수의 기록 트랜잭션들 각각에 대한 기록-레벨화 지연을 선택된 랭크에 기초하여 조정한다. 단계(606)는 다음 단계들을 포함할 수 있다: 단계(612)에서, 기록-레벨화 지연 제어기(302)는, 현재 기록 트랜잭션에 대한 현재 랭크에 대한 응답으로 현재 기록-레벨화 지연 값을 선택한다. 단계(614)에서, 기록-레벨화 지연 제어기(302)는, 이전 기록 트랜잭션에 대한 이전 랭크에 대한 응답으로 이전 기록-레벨화 지연 값을 선택한다. 단계(616)에서, 기록-레벨화 지연 제어기(302)는 현재 기록-레벨화 지연 값과 이전 기록-레벨화 지연 값 간의 차를 계산한다. 단계(618)에서, 출력 지연 유닛(312)은 그 차를 출력 지연의 이전 값에 가산하여 출력 지연의 현재 값을 생성한다. 단계들(612-618)은 각각의 기록 트랜잭션에 대해 반복될 수 있다. 방법(600)은 버스(109) 상의 복수의 신호들에 대해 수행될 수 있다.
앞의 내용은 특정 예들에 관한 것이지만, 다른 예 및 추가적인 예가 그의 기본 범위로부터 벗어나지 않고 창안될 수 있고, 그 범위는 후속하는 청구범위에 의해 결정된다.

Claims (14)

  1. 메모리 제어 디바이스로서,
    데이터 신호 또는 데이터 스트로브 신호를 포함하는 출력 신호를 복수의 랭크들을 갖는 SDRAM(synchronous dynamic random access memory) 시스템에 제공하기 위해 결합된 출력 회로;
    상기 출력 신호를 생성하기 위해, 송신될 비트스트림에 출력 지연을 적용하기 위해 결합된 출력 지연 유닛 ―상기 출력 지연은 디-스큐(de-skew) 지연 및 기록-레벨화(write-levelization) 지연의 총계를 포함함―; 및
    복수의 기록 트랜잭션들 중 상기 SDRAM 시스템으로의 각각의 기록 트랜잭션에 대한 상기 기록-레벨화 지연을 상기 복수의 랭크들 중 선택된 랭크에 기초하여 조정하기 위해 결합된 기록-레벨화 지연 제어기를 포함하고,
    상기 디-스큐 지연은 복수의 기록 트랜잭션들 각각에 대한 복수의 랭크들에 걸쳐 동일한, 메모리 제어 디바이스.
  2. 제 1 항에 있어서,
    상기 디-스큐 지연을 상기 출력 지연 유닛에 제공하기 위해 결합된 디-스큐 지연 레지스터 로직을 더 포함하는, 메모리 제어 디바이스.
  3. 제 2 항에 있어서,
    상기 기록-레벨화 지연 제어기 및 상기 디-스큐 지연 레지스터 로직을 상기 출력 지연 유닛에 선택적으로 결합시키도록 동작가능한 멀티플렉서 회로; 및
    상기 멀티플렉서 회로를 제어하기 위해 결합된 지연 선택 제어기를 더 포함하는, 메모리 제어 디바이스.
  4. 제 1 항에 있어서,
    상기 기록-레벨화 지연 제어기는,
    상기 출력 신호에 대한 상기 복수의 랭크들 각각에 대한 기록-레벨화 지연 값을 저장하기 위해 결합된 기록-레벨화 지연 레지스터 로직;
    현재 랭크 신호에 대한 응답으로 상기 기록-레벨화 지연 레지스터 로직으로부터 현재 기록-레벨화 지연 값을 선택하기 위해 결합된 제 1 멀티플렉서;
    이전 랭크 신호에 대한 응답으로 상기 기록-레벨화 지연 레지스터 로직으로부터 이전 기록-레벨화 지연 값을 선택하기 위해 결합된 제 2 멀티플렉서; 및
    상기 현재 기록-레벨화 지연 값과 상기 이전 기록-레벨화 지연 값 간의 차를 계산하기 위해 결합된 계산 유닛을 포함하는, 메모리 제어 디바이스.
  5. 제 4 항에 있어서,
    상기 계산 유닛은,
    상기 이전 기록-레벨화 지연 값을 무효화하기 위해 결합된 2의 보수 유닛; 및
    상기 2의 보수 유닛의 출력과 상기 현재 기록-레벨화 지연 값을 합산하기 위해 결합된 가산기를 포함하는, 메모리 제어 디바이스.
  6. 제 4 항에 있어서,
    상기 출력 지연 유닛은, 상기 출력 지연의 현재 값을 생성하기 위해 상기 차를 출력 지연의 이전 값에 가산하기 위해 결합되는, 메모리 제어 디바이스.
  7. 제 1 항에 있어서,
    상기 출력 지연 유닛은,
    상기 출력 지연의 값을 저장하기 위해 결합된 출력 지연 레지스터;
    상기 출력 지연의 상기 값을 업데이트하기 위해 결합된 가산기;
    상기 출력 지연 레지스터의 상기 출력 지연의 값을 디코딩하기 위해 결합된 디코더;
    상기 디코더로부터 디코딩된 값을 래치하기 위해 결합된 래치; 및
    상기 디코딩된 값에 기초하여, 송신될 상기 비트스트림을 지연시키기 위해 결합된 지연 로직을 포함하는, 메모리 제어 디바이스.
  8. 메모리 제어 디바이스를 동작시키는 방법으로서,
    데이터 신호 또는 데이터 스트로브 신호를 포함하는 출력 신호를 복수의 랭크들을 갖는 SDRAM(synchronous dynamic random access memory) 시스템에 제공하는 단계;
    상기 출력 신호를 생성하기 위해, 송신될 비트스트림에 출력 지연을 적용하는 단계 ―상기 출력 지연은 디-스큐 지연 및 기록-레벨화 지연의 총계를 포함함―; 및
    상기 디-스큐 지연을 복수의 기록 트랜잭션들 각각에 대한 상기 복수의 랭크들에 걸쳐 동일하게 유지하는 동안, 상기 복수의 기록 트랜잭션들 중 상기 SDRAM 시스템으로의 각각의 기록 트랜잭션에 대한 상기 기록-레벨화 지연을 상기 복수의 랭크들 중 선택된 랭크에 기초하여 조정하는 단계를 포함하는, 메모리 제어 디바이스를 동작시키는 방법.
  9. 제 8 항에 있어서,
    상기 복수의 기록 트랜잭션들 전에 수행된 캘리브레이션 동작에 대한 응답으로 획득된 상기 디-스큐 지연의 값을 설정하는 단계를 더 포함하는, 메모리 제어 디바이스를 동작시키는 방법.
  10. 제 9 항에 있어서,
    상기 복수의 기록 트랜잭션들에 후속하여 수행된 추가 캘리브레이션 동작에 대한 응답으로 획득된 새로운 값으로 상기 디-스큐 지연을 업데이트하는 단계를 더 포함하는, 메모리 제어 디바이스를 동작시키는 방법.
  11. 제 8 항에 있어서,
    상기 조정하는 단계는,
    현재 기록 트랜잭션에 대한 현재 랭크에 대한 응답으로 현재 기록-레벨화 지연 값을 선택하는 단계;
    이전 기록 트랜잭션에 대한 이전 랭크에 대한 응답으로 이전 기록-레벨화 지연 값을 선택하는 단계; 및
    상기 현재 기록-레벨화 지연 값과 상기 이전 기록-레벨화 지연 값 간의 차를 계산하는 단계를 포함하는, 메모리 제어 디바이스를 동작시키는 방법.
  12. 제 11 항에 있어서,
    상기 계산하는 단계는,
    캐리 비트(carry bit)를 드롭(drop)하는 동안 상기 이전 기록-레벨화 지연 값을 무효화하는 단계; 및
    캐리 비트를 드롭하는 동안 무효화된 이전 기록-레벨화 지연 값 및 상기 현재 기록-레벨화 지연 값을 가산하는 단계를 포함하는, 메모리 제어 디바이스를 동작시키는 방법.
  13. 제 11 항에 있어서,
    상기 조정하는 단계는,
    상기 현재 기록-레벨화 지연 값과 상기 이전 기록-레벨화 지연 값 간의 차를 상기 출력 지연의 이전 값에 가산하여 상기 출력 지연의 현재 값을 생성하는 단계를 포함하는, 메모리 제어 디바이스를 동작시키는 방법.
  14. 제 8 항에 있어서,
    상기 적용하는 단계는,
    상기 출력 지연의 값을 디코딩하여 디코딩된 값을 생성하는 단계; 및
    상기 디코딩된 값에 기초하여 지연 유닛에 대한 지연을 선택하는 단계를 포함하는, 메모리 제어 디바이스를 동작시키는 방법.
KR1020177012189A 2014-10-21 2015-06-09 메모리 제어 디바이스에서의 출력 지연의 동적 선택 KR102312251B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/519,562 2014-10-21
US14/519,562 US9330749B1 (en) 2014-10-21 2014-10-21 Dynamic selection of output delay in a memory control device
PCT/US2015/034910 WO2016064454A1 (en) 2014-10-21 2015-06-09 Dynamic selection of output delay in a memory control device

Publications (2)

Publication Number Publication Date
KR20170071524A KR20170071524A (ko) 2017-06-23
KR102312251B1 true KR102312251B1 (ko) 2021-10-12

Family

ID=54601979

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012189A KR102312251B1 (ko) 2014-10-21 2015-06-09 메모리 제어 디바이스에서의 출력 지연의 동적 선택

Country Status (6)

Country Link
US (1) US9330749B1 (ko)
EP (1) EP3210124B1 (ko)
JP (1) JP6377269B2 (ko)
KR (1) KR102312251B1 (ko)
CN (1) CN107077439B (ko)
WO (1) WO2016064454A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864713B2 (en) * 2014-12-05 2018-01-09 Marvell Israel (M.I.S.L.) Ltd. Optimal sampling of data-bus signals using configurable individual time delays
JP6434333B2 (ja) * 2015-02-19 2018-12-05 クラリオン株式会社 位相制御信号生成装置、位相制御信号生成方法及び位相制御信号生成プログラム
US9640278B1 (en) * 2015-12-10 2017-05-02 Integrated Device Technology, Inc. Testability/manufacturing method to adjust output skew timing
KR20180015949A (ko) 2016-08-04 2018-02-14 삼성전자주식회사 온-다이 터미네이션을 포함하는 메모리 시스템 및 그것의 온-다이 터미네이션 제어 방법
US10637692B2 (en) * 2017-09-26 2020-04-28 Micron Technology, Inc. Memory decision feedback equalizer
US10586575B2 (en) 2018-01-10 2020-03-10 Samsung Electronics Co., Ltd. Interface circuit for multi rank memory
KR20200005229A (ko) 2018-07-06 2020-01-15 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10622982B1 (en) * 2019-01-10 2020-04-14 Western Digital Technologies, Inc. Measurement, calibration and tuning of memory bus duty cycle
CN110347620A (zh) * 2019-05-29 2019-10-18 深圳市紫光同创电子有限公司 一种fpga电路和系统
KR20210126821A (ko) 2020-04-10 2021-10-21 삼성전자주식회사 반도체 장치
US10998020B1 (en) * 2020-05-05 2021-05-04 Realtek Semiconductor Corporation Memory system and memory access interface device thereof
CN115116509A (zh) * 2021-03-23 2022-09-27 华邦电子股份有限公司 具有共用延迟电路的方法和存储器装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056244A1 (en) 2004-09-15 2006-03-16 Ware Frederick A Memory systems with variable delays for write data signals
US20100157700A1 (en) 2008-12-19 2010-06-24 Cheng-Gang Kong Apparatus and systems for vt invariant ddr3 sdram write leveling

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7198197B2 (en) * 2002-11-05 2007-04-03 Rambus, Inc. Method and apparatus for data acquisition
DE102005032059B3 (de) * 2005-07-08 2007-01-18 Infineon Technologies Ag Halbleiterspeichermodul mit Busarchitektur
US7590008B1 (en) * 2006-11-06 2009-09-15 Altera Corporation PVT compensated auto-calibration scheme for DDR3
US7593273B2 (en) * 2006-11-06 2009-09-22 Altera Corporation Read-leveling implementations for DDR3 applications on an FPGA
EP2158544B1 (en) * 2007-06-12 2012-08-08 Rambus Inc. In-dram cycle-based levelization
JP5305543B2 (ja) * 2007-12-21 2013-10-02 ラムバス・インコーポレーテッド メモリシステムの書き込みタイミングを較正する方法および装置
US7961533B2 (en) * 2008-05-27 2011-06-14 Advanced Micro Devices, Inc. Method and apparatus for implementing write levelization in memory subsystems
US7855931B2 (en) * 2008-07-21 2010-12-21 Micron Technology, Inc. Memory system and method using stacked memory device dice, and system using the memory system
US8117483B2 (en) * 2009-05-13 2012-02-14 Freescale Semiconductor, Inc. Method to calibrate start values for write leveling in a memory system
JP2012059184A (ja) * 2010-09-13 2012-03-22 Nec Computertechno Ltd メモリコントローラ、これを備えたメモリシステム及びメモリデバイスの制御方法
CN104054133B (zh) * 2012-01-20 2017-06-16 英特尔公司 经由每dram可寻址性模式的多用途寄存器编程
JP2013196574A (ja) * 2012-03-22 2013-09-30 Toshiba Corp メモリコントローラ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056244A1 (en) 2004-09-15 2006-03-16 Ware Frederick A Memory systems with variable delays for write data signals
US20100157700A1 (en) 2008-12-19 2010-06-24 Cheng-Gang Kong Apparatus and systems for vt invariant ddr3 sdram write leveling

Also Published As

Publication number Publication date
CN107077439A (zh) 2017-08-18
CN107077439B (zh) 2018-09-14
WO2016064454A1 (en) 2016-04-28
US9330749B1 (en) 2016-05-03
JP2017531881A (ja) 2017-10-26
KR20170071524A (ko) 2017-06-23
JP6377269B2 (ja) 2018-08-22
US20160111139A1 (en) 2016-04-21
EP3210124B1 (en) 2018-11-28
EP3210124A1 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
KR102312251B1 (ko) 메모리 제어 디바이스에서의 출력 지연의 동적 선택
US10884923B2 (en) Memory module with local synchronization and method of operation
US7138823B2 (en) Apparatus and method for independent control of on-die termination for output buffers of a memory device
US8619492B2 (en) On-die termination circuit, memory device, memory module, and method of operating and training an on-die termination
KR100883007B1 (ko) 데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법
KR102421153B1 (ko) Dq 핀들을 통해 연산 코드들을 수신하는 메모리 장치, 이를 포함하는 메모리 모듈, 그리고 메모리 모듈의 설정 방법
KR102384880B1 (ko) 소스 동기식 인터페이스로부터 수신하는 제어 디바이스의 캘리브레이션
JP2010192031A (ja) 半導体記憶装置及びこれを備えるメモリモジュール、並びに、データ処理システム
US20090085604A1 (en) Multiple address outputs for programming the memory register set differently for different dram devices
US11573916B2 (en) Apparatuses and methods for writing data to a memory
TWI814364B (zh) 執行資料訓練的記憶體控制器、包括記憶體控制器的系統晶片以及記憶體控制器的操作方法
US9570135B2 (en) Apparatuses and methods to delay memory commands and clock signals
US8009485B2 (en) Semiconductor memory device
TWI749849B (zh) 延遲鎖定迴路、記憶體元件以及該延遲迴路的操作方法
US8495327B2 (en) Memory device synchronization

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant