KR101915060B1 - 메모리 모듈에서 스트로브 신호에 기초하여 제어 신호를 트레이닝하기 위한 방법 - Google Patents

메모리 모듈에서 스트로브 신호에 기초하여 제어 신호를 트레이닝하기 위한 방법 Download PDF

Info

Publication number
KR101915060B1
KR101915060B1 KR1020167011474A KR20167011474A KR101915060B1 KR 101915060 B1 KR101915060 B1 KR 101915060B1 KR 1020167011474 A KR1020167011474 A KR 1020167011474A KR 20167011474 A KR20167011474 A KR 20167011474A KR 101915060 B1 KR101915060 B1 KR 101915060B1
Authority
KR
South Korea
Prior art keywords
signal
control signal
memory controller
timing
memory module
Prior art date
Application number
KR1020167011474A
Other languages
English (en)
Other versions
KR20160064216A (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 KR20160064216A publication Critical patent/KR20160064216A/ko
Application granted granted Critical
Publication of KR101915060B1 publication Critical patent/KR101915060B1/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
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

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)
  • Databases & Information Systems (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

메모리 제어기는 메모리 모듈에 제어 신호를 전송하며, 메모리 제어기는 메모리 모듈에 클록 신호를 연속적으로 전송한다. 메모리 제어기는 스트로브 신호를 반복적으로 분석함으로써, 클록 신호에 대해 제어 신호에 대한 조정들을 결정한다.

Description

메모리 모듈에서 스트로브 신호에 기초하여 제어 신호를 트레이닝하기 위한 방법{METHOD FOR TRAINING A CONTROL SIGNAL BASED ON A STROBE SIGNAL IN A MEMORY MODULE}
개인용 컴퓨터 및 서버 산업은 경쟁력이 있도록 하기 위해 많은 작업량(workload) 타입들에 대한 성능 이득들을 요구할 수 있다. 예를 들어, 코어 카운트 증가 및 메모리 크기/대역폭/레이턴시 개선들을 포함한, 이러한 성능 이득들의 레벨들을 제공하기 위해 다양한 메커니즘들이 사용된다. 메모리 개선들은 더 고속의 동적 랜덤 액세스 메모리(DRAM), 더 높은 더블 데이터 레이트(DDR) 버스 주파수들, 더 큰 용량의 듀얼 인라인 메모리 모듈(DIMM)들, 채널당 더 많은 DIMM들 및 다른 최적화들의 형태를 취할 수 있다. 2012년 9월에 공개된, 더블 데이터 레이트 4세대(DDR4) 동기식 랜덤 액세스 메모리(SDRAM) 표준 JESD79-4와 같이, JEDEC 고체 상태 기술 위원회에 의해 정의된 많은 DDR 표준들이 존재한다.
더 높은 DDR 속도는 DRAM 채널들이 최적의 신호 품질 및 DDR 버스 타이밍을 위해 주의 깊게 조정(tune)될 것을 요구한다. 이러한 조정은 시동(boot up) 동안 기본 입력/출력 시스템(BIOS)에 의해 수행되며, 일반적으로 "DDR 트레이닝"이라고 지칭된다. "DDR 트레이닝"은 많은 시간 소모적 단계들, 예를 들어, 다양한 스트로브 신호들의 중심화, 크로스토크 제거, 및 기준 전압 교정을 포함한다. 이러한 교정 단계들은 DRAM 제어기 및 DIMM에 적용되는 최적의 DDR 타이밍 파라미터들을 유도하기 위해 사용된다. 이러한 프로그래밍은, 메모리 트래픽을 교란시키지 않고 이러한 파라미터들이 동작 동안 업데이트될 수 없음에 따라 메모리가 액세스되기 이전에 수행된다.
비-최적 파라미터들은 더 높은 비트 에러 레이트들을 초래하고 일반적으로 시스템 동작을 불안정화시킨다. 이러한 복잡한 교정 단계들은 증가한 부트(boot) 시간을 초래한다. 특정 DDR 제안들은 더 높은 속도 및 더 낮은 전압을 달성하기 위해 다수의 파라미터들에 걸쳐 DDR 디바이스마다의 교정을 요구한다. 그 결과, 이러한 플랫폼들에서의 메모리 트레이닝이 증가할 수 있다.
컴퓨터 시스템의 통상적인 메모리 시스템에서, 메모리 제어기는 컴퓨터 시스템에서 메모리 모듈의 액세스를 용이하게 한다. 메모리 모듈은 하나 이상의 메모리들을 포함할 수 있다. 이러한 하나 이상의 메모리들은 또한 랭크(rank)들이라 명명된다. 메모리 제어기는 랭크들로부터 데이터에 액세스하거나 또는 랭크들에 데이터를 송신하기 위해, 어드레스 신호들, 제어 신호들, 클록 신호들 등을 포함한 신호들의 호스트를 랭크들에 전송한다. 랭크들에 정확한 데이터를 송신하고 랭크들로부터 정확한 데이터를 수신하기 위해, 메모리 제어기는 클록 신호에 대해 다양한 신호들을 트레이닝한다(수정한다).
통상적으로, 메모리 제어기는 클록 신호에 대한 특정 신호를 랭크들에 송신하고, 이후 랭크가 특정 신호를 정확하게 수신했는지를 확인하기 위해 각각의 랭크로부터의 응답을 분석함으로써 신호를 트레이닝할 수 있다. 랭크로부터의 정확한 응답에 대해, 메모리 제어기는 클록 신호에 대해 특정 신호의 위상을 지연시키고, 지연된 위상을 가지는 지연된 특정 신호를 랭크에 재전송한다. 메모리 제어기는 이후 랭크가 지연된 특정 신호를 정확하게 수신했는지를 확인하기 위해 랭크로부터의 응답을 분석한다. 랭크로부터 메모리 제어기에 어떠한 응답도 수신되지 않은 경우(또는 부정확한 응답이 수신된 경우), 메모리 모듈은 미지의 상태로 천이한다.
현재 DDR 인터페이스들은 더 높은 주파수들을 달성하며, 보드 라우팅 플라이트 시간(board routing flight time)들은 이러한 주파수들에 따라 스케일링되지 않는데, 보드 라우팅 시간은 신호가 보드 상의 특정 신호 루트를 따라 전파하는데 걸리는 시간이다. 그 결과, 클록 신호들에 대해 DDR 버스에 대한 제어 신호들 간의 엄격한 매칭 요건들을 수립하는 것이 더 어려워지고 있다.
이제 동일한 참조 부호들이 전반에 걸쳐 대응하는 부분들을 나타내는 도면들을 참조한다.
도 1은 특정 실시예들에 따라, 계산 디바이스에서 구현되는 DDR 기반 시스템의 블록도를 예시한다.
도 2는 특정 실시예들에 따라, 계산 디바이스에서 구현되는 DDR 기반 시스템의 또다른 블록도를 예시한다.
도 3은 특정 실시예들에 따라, 예시적인 신호들을 도시하는 블록도를 예시한다.
도 4는 특정 실시예들에 따라, 제1 동작들을 도시하는 흐름도를 예시한다.
도 5는 특정 실시예들에 따라, 제2 동작들을 도시하는 흐름도를 예시한다.
도 6은 특정 실시예들에 따른, 계산 디바이스의 블록도를 예시한다.
후속하는 기재에서, 본원의 일부를 형성하며 몇몇 실시예들을 예시하는 첨부 도면들에 대한 참조가 이루어진다. 다른 실시예들이 이용될 수 있으며 구조상의 그리고 동작상의 변경들이 이루어질 수 있다는 점이 이해된다.
실시예들은 DDR 기반 시스템에서 제어 신호의 트레이닝을 위한 방법 및 장치에 관한 것이다. DDR 기반 시스템의 특정 실시예들에서, 메모리 제어기는 DDR DRAM 디바이스에 연결된다. 메모리 제어기는 제어 신호, 클록 신호, 명령 신호들 등과 같은 신호들을 통해 DDR DRAM 디바이스와 통신할 수 있다. 특정 실시예들에서, DDR DRAM 디바이스에 연결된 메모리 제어기는, DDR DRAM 디바이스로부터 메모리 제어기에 의해 수신된 스트로브 신호를 반복적으로 분석함으로써, 클록 신호에 대해 제어 신호를 트레이닝하도록 동작가능하다. 특정 실시예들에서, DDR 기반 시스템은 DDR DIMM을 포함할 수 있다. DIMM으로서 설계되지 않은 메모리 구성들이 대안적인 실시예들에서 사용될 수 있다. 다른 실시예들에서, 제어 신호는 DDR 기반 시스템이 아닌 시스템에서 트레이닝될 수 있다.
DDR 기반 시스템들에서, 제어 신호들은 명령 신호 인코딩이 메모리 디바이스에 의해 언제 래치(latch)되어야 하는지를 자격부여하기 위해(qualify) 사용된다. 클록이 메모리 제어기에 의해 생성되어 메모리 디바이스에 의해 수신되는 클록에 대한 명령 신호 타이밍들의 임의의 트레이닝에 앞서, 그리고 데이터 버스 타이밍들과 전압들의 임의의 트레이닝에 앞서, 안정적인 제어 신호 타이밍들을 설정하는 것이 중요하다. 특정 DDR 기반 시스템들에서, 제어 신호가 조기에 트레이닝되어야 하며, 이전에 트레이닝되었던 어떠한 다른 신호 타이밍들도 존재하지 않는다. 제어 신호 타이밍이 클록 신호 타이밍에 대해 이동됨에 따라 통과 응답 또는 실패 응답을 제공하는 피드백을 설정하는 것이 바람직할 수 있다.
명령 버스가 제어 신호들에 의해 자격부여되는, DDR 인터페이스들을 이용한 이전의 방식들은, 명령 대 클록 타이밍 관계가 제한적인 인자가 아님을 보장하기 위해 이완된 명령 타이밍들을 사용하는 것을 포함한다. 이러한 경우들에서, 제어 신호들은 판독 명령들을 송신하고, 판독 신호가 DIMM에 의해 수신되었는지 아닌지를 분석함으로써 트레이닝된다. 제어 신호 트레이닝 이슈를 해결하기 위한 또다른 방법은 DDR4 등록 DIMM들을 이용하는 것과 같이, DDR DIMM 자체에서 루프백 샘플링 능력을 제공하는 것이다. 이는 DDR DIMM의 레지스터 내에서 샘플링된 값을 표시하기 위해 에러 피드백 신호를 사용하는 것을 요구한다. 이러한 루프백 모드에서, 레지스터는 명령 및 제어 신호들을 수신하고, 미리 결정된 구간들에서 값을 샘플링하고, 이후 샘플링된 값을 다시 호스트 메모리 제어기에 송신한다. 이러한 방식은 메모리 제어기로부터 주기적 제어 신호를 송신하는 능력을 요구하는데, 이는 지원되지 않을 수 있다.
도 1은 프로세서(52) 및 DDR 기반 메모리 시스템(100)을 포함하는 계산 디바이스(50)를 도시한다. 계산 디바이스(50)는 개인용 컴퓨터, 워크스테이션, 서버, 메인프레임, 핸드헬드 컴퓨터, 팜톱 컴퓨터, 텔레포니 디바이스, 네트워크 어플라이언스, 블레이드 컴퓨터, 저장 서버 등과 같이, 현재 당해 기술분야에 공지된 것을 포함한 임의의 적절한 디바이스일 수 있다.
일 실시예에 따르면, DDR 기반 메모리 시스템(100)은 제어 신호(104)를 트레이닝하도록 동작가능한 메모리 제어기(102) 및 메모리 제어기(102)에 연결된 DRAM(106)을 포함한다.
일 실시예에서, 메모리 제어기(102)는 마이크로프로세서(CPU) 내에 집적된다. 다른 실시예들에서, 메모리 제어기(102)는 마더보드 상의 별도의 집적 회로(IC)이며, 프로세서(52) 및 DRAM(106)에 연결된다. DRAM(106)은 메모리 모듈 또는 DIMM 내에 포함될 수 있으며, 메모리 모듈은, DRAM 뿐만 아니라, 레지스터 디바이스들, 버퍼 디바이스들 등을 포함할 수 있다. 특정 실시예들에서, DRAM(106)은 DDR 메모리 디바이스를 포함하고, 특정한 다른 실시예들에서, DRAM(106)은 비-DRAM 메모리 디바이스를 포함한다.
일 실시예에서, 메모리 제어기(102)는 제어 신호(104)(예를 들어, 칩 선택 신호), 클록 신호(108), 명령 신호들(110)(예를 들어, 판독 명령), 및 메모리 제어기(102)와 DRAM(106) 사이의 통신을 야기하기 위한 임의의 다른 신호들을 포함하지만 이에 제한되지 않는 신호들을 통해, DRAM(106)과 통신한다. 실시예의 대응하는 도면들에서, 신호들이 선으로 표현되는 것에 유의한다. 일부 선들은 주요 정보 흐름 방향을 표시하기 위해 하나 이상의 종단들에 화살표를 가질 수 있다. 이러한 표시들은 제한적인 것으로 의도되지 않는다. 오히려, 선들은 회로 또는 논리 유닛의 더 쉬운 이해를 용이하게 하기 위해 하나 이상의 예시적인 실시예들에 관련되어 사용된다. 임의의 표현된 신호는, 설계 요구들 또는 선호도들에 의해 좌우되는 바와 같이, 어느 한 방향으로 진행할 수 있는 하나 이상의 신호들을 실제로 포함할 수 있고, 임의의 적절한 타입의 신호 방식을 이용하여 구현될 수 있다.
일 실시예에서, 트레이닝 애플리케이션(114)이 계산 디바이스(50)에서 실행되는데, 여기서 트레이닝 애플리케이션(114)은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합에서 구현될 수 있다. 트레이닝 애플리케이션(114)은, 메모리 제어기(102)로부터 DRAM(106)으로 송신된 판독 명령(110)에 응답하여, 메모리 제어기(102)가 메모리 제어기(102)에 의해 DRAM(106)으로부터 수신된 스트로브 신호(116)를 분석하으로써 칩 선택 신호(104)를 트레이닝하도록 한다.
특정 실시예들은 클록 신호에 대한 제어 신호 에지들을 결정하는 동시에, 메모리 제어기(102) 또는 DRAM(106)에서 어떠한 추가적인 하드웨어 지원도 요구하지 않는 방법을 제공한다. 특정 실시예들에서, 제어 신호(104)는 칩 선택 신호를 포함하는 반면, 다른 실시예들에서, 제어 신호(104)는 승인 신호를 포함할 수 있다. 특정 실시예들은, 판독 명령이 DRAM(106)에 송신된 이후 판독 리턴 스트로브들(read return strobes)을 샘플링하여, 클록 신호(108)의 클록 사이클에 대해 제어 신호(104)가 중심이 되도록 하는 능력에 의존한다.
특정 실시예들에 따르면, 도 2는 프로세서(62)를 가지는 계산 디바이스(60) 내에 구현된 메모리 시스템(200)의 블록도를 예시한다. 도 2에서, 메모리 제어기(202)는 제어 신호의 타입인 승인 신호(204), 클록 신호(208), 명령 신호(220)(예를 들어, 판독 명령), 및 다른 제어 신호들(222)을 메모리 제어 버퍼(206)에 전송한다. 특정 실시예들에서, 메모리 제어기(202)는 메모리 제어 버퍼(206)에 의해 리턴된 스트로브 신호(226)를 수신할 수 있다. 트레이닝 애플리케이션(214)은 DDR 기반 시스템(200)의 승인 신호(204)를 트레이닝하도록 계산 디바이스(60)에서 실행된다. 도 2에서, 승인 신호(204)는 임의의 명령 인코딩을 자격부여하지 않으며, 클록 신호(208)에 맞춰 정확히 정렬된 독립형 신호이다. 이러한 독립형 승인 신호는 칩 선택 신호에 더하여 또는 칩 선택 신호에 대한 대안으로서 특정 실시예들에서 구현될 수 있다.
특정 실시예들에 따르면, 도 3은 예시적인 신호들을 도시하는 블록도(300)를 예시한다. 도시된 예시적인 신호들은 클록 신호(202)이며, 여기서 제어 신호는 참조 부호(302)를 통해 도시된 바와 같이 트레이닝 애플리케이션(114)에 의해 클록 신호(202)에 대해 정확하게 위치되도록 트레이닝된다. 제어 신호의 정확한 포지셔닝은 제어 신호의 중심(304)이 클록 사이클의 상승 에지에 올 때 발생하며, 스트로브 신호의 프리앰블(307)은 (참조 부호(306)를 통해 도시된 바와 같이) 정확한 클록 사이클 상에 위치된다.
특정 실시예들에서, 트레이닝 애플리케이션(114)은 참조 부호들(308, 310, 312)을 통해 도시된 바와 같이 제어 신호를 앞으로 그리고 뒤로 이동시킴으로써 제어 신호의 정확한 포지셔닝을 결정한다. 특정 실시예들에서, 제어 신호가 뒤로 이동되는 경우(참조 부호(308)), 스트로브 신호의 프리앰블(307)이 발생하지 않을 수 있다(참조 부호(314)를 통해 도시된 바와 같이). 특정 실시예들에서, 제어 신호가 훨씬 더 앞으로(참조 부호(310)) 또는 훨씬 더 뒤로(참조 부호(312)) 이동되는 경우, 제어 신호의 프리앰블이 발생할 수 있지만, 부정확한 클록 사이클 상에 위치될 수 있다(참조 부호들(316, 318)을 통해 도시된 바와 같이).
따라서, 도 3은 뒤로 그리고 앞으로의 제어 신호의 반복적인 움직임들을 통해, 스트로브 신호의 프리앰블의 정확한 포지셔닝을 유지하는 것에 기초하여, 제어 신호가 클록 신호에 대해 정확하게 위치되는 특정 실시예들을 예시한다.
도 4는 특정 실시예들에 따라 DDR 기반 시스템(100, 200)에서 수행되는 동작들을 도시하는 흐름도(400)를 예시한다. 도 4에 도시된 동작들은 적어도, 메모리 제어기들(102, 202)에 의해 수행되는 동작들을 제어하는 계산 디바이스들(50, 60)에서 실행하는 트레이닝 애플리케이션들(114, 214)에 의해 수행될 수 있다.
제어는 메모리 제어기(102)가 제어 신호(104)(예를 들어, 칩 선택 신호 또는 승인 신호) 및 명령 신호(예를 들어, 판독 명령)를 DRAM(106)에 송신하는 블록(402)에서 시작한다. 메모리 제어기(102)는 DRAM(106)으로부터 판독 데이터를 동반하는 스트로브 신호(116)를 수신한다(블록(404)).
제어는, 메모리 제어기(102)가 스트로브 신호의 프리앰블이 정상적으로 발생한 클록 사이클 위치를 결정하는 블록(406)으로 진행한다. 메모리 제어기(102)는 제어 신호 타이밍을 (시간상 더 앞으로 그리고 더 뒤로) 시프트시키고(블록(408)) 판독 명령을 발행한다.
제어는 메모리 제어기(102)가 스트로브 신호(116)의 프리앰블이 검출되었는지를 결정하는 블록(410)으로 진행한다. 만약 그렇다면(참조 부호(412)), 메모리 제어기(102)는 스트로브 신호(116)의 프리앰블이 정확한 클록 위치에서 발생했는지를 결정한다(블록(420)). 만약 그렇지 않다면(참조 부호(414)), 프리앰블은 검출되지 않았으며, 제어는 블록(430)으로 진행한다.
블록(420)에서, 스트로브 신호의 프리앰블이 정확한 클록 위치에서 발생했다는 결정이 이루어지는 경우, 프리앰블은 정확한 포지셔닝을 유지하고, 제어는 블록(424)으로 진행한다(참조 부호(422)). 블록(424)에서, 메모리 제어기(102)는 제어 신호 타이밍이 통과 영역 내에 있다고 레코딩한다. 제어는, 메모리 제어기(102)가 통과 영역 내의 제어 신호 타이밍의 제한들을 결정하려고 시도하는 블록(426)으로 진행하고, 제한이 결정되지 않은 경우(참조 부호(434)), 메모리 제어기(102)는 제어를 블록(408)으로 리턴시킴으로써 통과 영역 내의 제어 신호 타이밍의 제한들을 결정하려고 시도한다.
블록(426)에서, 통과 영역 내의 제어 신호의 제한은 메모리 제어기(102)가 상승 클록 에지에 대해 통과 영역의 중심으로 제어 신호 타이밍을 변경시키는 블록(440)으로 진행한다(참조 부호(432)).
블록(420)에서, 스트로브 신호의 프리앰블이 정확한 클록 위치에서 발생하지 않았다고 결정되는 경우, 프리앰블은 위치를 시프트시키고, 제어는 블록(430)으로 진행한다. 블록(430)에서, 메모리 제어기(102)는 제어 신호 타이밍이 실패 영역 내에 있다고 레코딩하고 제어는 블록(426)으로 진행한다.
메모리 제어기가 통과 영역 내에서 제어 신호 타이밍들의 제한들을 결정하는 블록(426)은 통과 영역 내의 제어 신호 타이밍의 제한들을 찾기 위한 탐색 알고리즘의 상세항목들을 도출하도록 의도된다. 통과 영역을 탐색하기 위한 당해 기술분야에 공지된 복수의 방법들이 존재한다. 해당 방법들은 다음을 포함할 수 있다:
1) 통과 영역 내에서 시작하여, 제1 실패가 발생하는 에지들을 찾기 위해 안팎으로부터(좌측 방향 및 우측 방향 모두) 탐색하는 것; 및
2) 실패 영역 내에서(좌측에서) 시작하여, 실패-에서-통과 트랜지션(fail-to-pass transition), 및 이후 통과-에서-실패 트랜지션(pass-to-fail transition)을 결정하기 위해 한 방향으로(좌측에서 우측으로) 탐색하는 것.
일단 통과 영역의 제한들이 공지되면, 이후 메모리 제어기(102)는 (상승 클록 에지에 대해 최적의 제어 신호 설정 및 유지 시간들을 제공하기 위해) 통과 영역의 중심에서 제어 신호 타이밍을 프로그래밍할 수 있다.
특정 실시예들은 메모리 제어기가, (스트로브 또는 대안적으로 에러 신호 피드백 메커니즘을 사용하여) 제어 신호 타이밍이 통과 영역 내에 위치되는지를 결정하는 방법을 제공한다. 통과 영역의 제한들을 찾기 위한 임의의 가능한 탐색 방법이 특정 실시예들에서 구현될 수 있다.
따라서, 도 4는 트레이닝 애플리케이션(114)이 상승 클록 에지에 대해 가장 큰 통과 영역의 중심에서 제어 신호 타이밍을 프로그래밍하는 특정 실시예들을 예시한다.
특정 실시예들에 따르면, 도 5는 특정 동작들(500)을 예시한다. 도 5에 도시된 동작들은 제어 신호의 정확한 포지셔닝을 결정하기 위한 것이며, 트레이닝 애플리케이션(114, 214)의 제어 하에 메모리 제어기(102, 104)에 의해 수행된다.
제어는 메모리 제어기(102)가 메모리 모듈(106)에 제어 신호를 전송하는 블록(502)에서 시작하며, 메모리 제어기(102)는 메모리 모듈(106)에 클록 신호(108)를 연속적으로 전송한다. 메모리 제어기(102)는 스트로브 신호(116)를 반복적으로 분석함으로써, 클록 신호(108)에 대해 제어 신호(104)에 대한 조정들을 결정한다(블록(504)).
따라서, 도 1-5는 스트로브 신호를 반복적으로 분석함으로써 DDR 메모리의 제어 신호의 트레이닝을 위한 특정 실시예들을 예시한다.
기술된 동작들은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합을 생성하기 위해 표준 프로그래밍 및/또는 엔지니어링 기법들을 사용하여 방법, 장치 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 기술된 동작들은 "컴퓨터 판독가능한 저장 매체" 내에 포함된 코드로서 구현될 수 있으며, 프로세서는 컴퓨터 판독가능한 저장 매체로부터 코드를 판독하고 실행할 수 있다. 컴퓨터 판독가능한 저장 매체는 전자 회로, 저장 물질들, 무기 물질들, 유기 물질들, 생물학적 물질들, 케이싱, 하우징, 코팅 및 하드웨어 중 적어도 하나를 포함한다. 컴퓨터 판독가능한 저장 매체는 자기 저장 매체(예를 들어, 하드 디스크 드라이브들, 플로피 디스크들, 테이프 등), 광학 저장소(CD-ROM들, DVD들, 광학 디스크들 등), 휘발성 및 비-휘발성 메모리 디바이스들(예를 들어, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시 메모리, 펌웨어, 프로그래밍가능한 로직 등), 고체 상태 디바이스(SSD) 등을 포함하지만 이에 제한되지 않는다. 기술된 동작들을 구현하는 코드는 하드웨어 디바이스(예를 들어, 집적 회로 칩, 프로그래밍가능한 게이트 어레이(PGA), 주문형 집적 회로(ASIC) 등)에서 구현된 하드웨어 로직에서 추가로 구현될 수 있다. 또한, 기술된 동작들을 구현하는 코드는 "전송 신호들"로 구현될 수 있으며, 여기서 전송 신호들은 공간을 통해 또는 광섬유, 구리 와이어 등과 같은 전송 매체를 통해 전파될 수 있다. 코드 또는 로직이 인코딩되는 전송 신호들은 무선 신호, 위성 전송, 라디오 파들, 적외선 신호들, 블루투스 등을 더 포함할 수 있다. 컴퓨터 판독가능한 저장 매체 상에 내장된 프로그램 코드는 전송국 또는 컴퓨터로부터 수신국 또는 컴퓨터에 전송 신호들로서 전송될 수 있다. 컴퓨터 판독가능한 저장 매체는 전송 신호들로만 구성되지는 않는다. 통상의 기술자는 이러한 구성에 대해 많은 수정들이 이루어질 수 있으며, 제조 물품이 통상의 기술분야에 공지된 적절한 정보 베어링 매체를 포함할 수 있음을 인지할 것이다.
특정 실시예들의 양상들에 대한 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 하나 이상의 프로그래밍 언어들의 임의의 조합으로 기록될 수 있다. 흐름도 및 블록도들의 블록들은 컴퓨터 프로그램 명령어들에 의해 구현될 수 있다.
특정 실시예들에 따르면, 도 6은 계산 디바이스들(50, 60)에 대응하는 시스템(600)의 블록도를 예시한다. 시스템(600)은 특정 실시예들에서 적어도 프로세서(604)를 포함할 수 있는 회로(602)를 포함할 수 있다. 시스템(600)은 또한 메모리(606)(예를 들어, 휘발성 메모리 디바이스), 및 저장소(608)를 포함할 수 있다. 저장소(608)는 비-휘발성 메모리 디바이스(예를 들어, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시, 펌웨어, 프로그래밍가능한 로직 등), 자기 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브 등을 포함할 수 있다. 저장소(608)는 내부 저장 디바이스, 부착형 저장 디바이스 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있다. 시스템(600)은 메모리(606) 내로 로딩되어 프로세서(604) 또는 회로(602)에 의해 실행될 수 있는 코드(612)를 포함하는 프로그램 로직(610)을 포함할 수 있다. 특정 실시예들에서, 코드(612)를 포함하는 프로그램 로직(610)은 저장소(608)에 저장될 수 있다. 특정 다른 실시예들에서, 프로그램 로직(610)은 회로(602)에서 구현될 수 있다. 따라서, 도 6이 다른 엘리먼트들과는 별도로 프로그램 로직(610)을 도시하지만, 프로그램 로직(610)은 메모리(606) 및/또는 회로(602)에서 구현될 수 있다.
특정 실시예들은 사람 또는 자동화 프로세싱에 의해 컴퓨터-판독가능한 코드를 컴퓨팅 시스템에 통합시키는 컴퓨팅 명령을 사용(deploy)하기 위한 방법에 관한 것일 수 있으며, 코드는 컴퓨팅 시스템과 함께 인에이블되어 전술된 실시예들의 동작들을 수행한다.
용어들 "하나의(a) 실시예", "실시예", "실시예들", "상기(the) 실시예", "상기 실시예들", "하나 이상의 실시예들", "일부 실시예들" 및 "일(one) 실시예"는, 다른 방식으로 명시적으로 특정되지 않는 한 "하나 이상의(그러나 전부는 아닌) 실시예들"을 의미한다.
용어들 "포함하는(including, comprising)", "가지는" 및 이들의 변형들은, 다른 방식으로 명시적으로 특정되지 않는 한, "포함하지만 이에 제한되지 않는"을 의미한다.
열거된 항목들의 리스팅은, 다른 방식으로 명시적으로 특정되지 않는 한, 항목들 중 임의의 것 또는 모두가 상호 배타적임을 내포하지는 않는다.
용어들("a", "an" 및 "the")은, 다른 방식으로 명시적으로 특정되지 않는 한, "하나 이상"을 의미한다.
서로 통신하는 디바이스들은, 다른 방식으로 명시적으로 특정되지 않는 한, 서로 연속적으로 통신할 필요는 없다. 더욱이, 서로 통신하는 디바이스들은 직접적으로 또는 하나 이상의 중간물들을 통해 간접적으로 통신할 수 있다.
서로 통신하는 몇몇 컴포넌트들을 이용한 실시예의 기재는 모든 이러한 컴포넌트들이 요구됨을 내포하지는 않는다. 반면, 광범위한 가능한 실시예들을 예시하기 위해 다양한 선택적 컴포넌트들이 기술된다.
또한 프로세스 단계들, 방법 단계들, 알고리즘 등이 순차적 순서로 기술되지만, 그러한 프로세스들, 방법들 및 알고리즘은 대안적인 순서로 작용하도록 구성될 수 있다. 다시 말해, 기술될 수 있는 임의의 시퀀스 또는 순서가, 단계들이 그 순서로 수행되어야 한다는 요건을 반드시 나타내지는 않는다. 본원에 기술된 프로세스들의 단계들은 실제로 임의의 순서로 수행될 수 있다. 또한, 일부 단계들이 동시에 수행될 수 있다.
단일 디바이스 또는 물품이 본원에 기술될 때, 하나 초과의 디바이스/물품이 (이들이 협력하든 아니든 간에) 단일 디바이스/물품 대신에 사용될 수 있음이 쉽게 명백할 것이다. 유사하게, 하나 초과의 디바이스 또는 물품이(이들이 협력하든 아니든 간에) 본원에 기술되는 경우, 단일 디바이스/물품이 하나 초과의 디바이스 또는 물품 대신에 사용될 수 있거나, 또는 상이한 개수의 디바이스들/물품들이 도시된 개수의 디바이스들 또는 프로그램들 대신 사용될 수 있음이 쉽게 명백할 것이다. 디바이스의 기능성 및/또는 특징들은 이러한 기능성/특징들을 가지는 것으로서 명시적으로 기술되지 않은 하나 이상의 다른 디바이스들에 의해 대안적으로 구현될 수 있다. 따라서, 다른 실시예들이 디바이스 자체를 포함할 필요는 없다.
도면들에 예시되었을 수 있는 적어도 특정 동작들은 특정 순서로 발생하는 특정 이벤트들을 보여준다. 대안적인 실시예들에서, 특정 동작들은 상이한 순서로 수행되고, 수정되거나 제거될 수 있다. 또한, 단계들이 위에 기술된 로직에 더해질 수 있으며 기술된 실시예들에 여전히 따를 수 있다. 또한, 본원에 기술된 동작들이 순차적으로 발생할 수 있거나, 또는 특정 동작들이 병렬로 프로세싱될 수 있다. 또한, 동작들은 단일 프로세싱 유닛에 의해 또는 분산된 프로세싱 유닛들에 의해 수행될 수 있다.
다양한 실시예들의 이전 기재는 예시 및 설명의 목적으로 제시되었다. 그것은 완전하거나 또는 개시된 정확한 형태들로 제한되는 것으로 의도되지는 않는다. 위 교시의 견지에서 많은 수정들 및 변형들이 가능하다.
후속하는 예들은 특정 실시예들에 관련된다.
예 1은 메모리 제어기가 메모리 모듈에 제어 신호를 전송하는 신호 조정을 위한 방법이며, 메모리 제어기는 메모리 모듈에 클록 신호를 연속적으로 전송한다. 메모리 제어기는, 스트로브 신호를 반복적으로 분석함으로써, 클록 신호에 대해 제어 신호에 대한 조정들을 결정한다.
예 2에서, 예 1의 발명 대상은, 제어 신호에 대한 조정들을 결정하는 것이 클록 신호에 대해 시간상 더 앞으로 그리고 더 뒤로 제어 신호의 타이밍을 시프트시켜서 클록 신호의 상승 에지에 대해 제어 신호의 타이밍이 중심이 되게 하는(center) 동시에, 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지함을 보장하는 것을 더 포함하는 것을 포함할 수 있다.
예 3에서, 예 2의 발명 대상은, 제어 신호의 타이밍이, 제어 신호의 타이밍의 가장 큰 통과 영역을 반복적으로 결정하는 것에 후속하여, 중심이 되는 것을 포함할 수 있다.
예 4에서, 예 2의 발명 대상은 메모리 제어기가 메모리 모듈에 판독 명령을 송신하는 것을 포함할 수 있다. 메모리 제어기는, 판독 명령의 송신에 응답하여, 메모리 모듈로부터 판독 데이터를 동반하는 스트로브 신호를 수신한다. 메모리 제어기는 스트로브 신호의 프리앰블이 정상적으로 발생하는 클록 사이클 위치를 결정한다.
예 5에서, 예 4의 발명 대상은, 메모리 제어기가, 제어 신호에 대한 조정에 후속하여 또다른 판독 명령을 발행하고, 이후 스트로브 신호의 프리앰블이 검출되었는지를 결정하는 것을 포함할 수 있다.
예 6에서, 예 5의 발명 대상은, 스트로브 신호가 검출되었다고 결정하는 것에 응답하여, 스트로브 신호의 프리앰블이 정확한 클록 사이클 위치에서 발생하는지에 대한 결정이 이루어지는 것을 포함할 수 있다. 스트로브 신호의 프리앰블이 정확한 클록 위치에서 발생하지 않는다고 결정하는 것에 응답하여, 제어 신호 타이밍 중 타이밍의 가장 큰 통과 영역이 결정된 경우, 제어 신호의 타이밍이 상승 클록 에지에 대한 가장 큰 통과 영역의 중심에서 프로그래밍된다.
예 7에서, 예 5의 발명 대상은, 스트로브 신호가 검출되지 않았다고 결정하는 것에 응답하여, 제어 신호 타이밍이 실패 영역 내에 있다는 레코딩이 이루어지는 것을 포함할 수 있다.
예 8에서, 예 2의 발명 대상은, 메모리 모듈이 DDR 메모리를 포함하며, 제어 신호가 칩 선택 신호 또는 승인 신호를 포함하는 것을 포함할 수 있다.
예 9에서, 예 2의 발명 대상은, 메모리 모듈이 비-DDR 메모리를 포함하며, 제어 신호가 칩 선택 신호 또는 승인 신호를 포함하는 것을 포함할 수 있다.
예 10에서, 예 1의 발명 대상은, 메모리 제어기가, 제어 신호의 타이밍이 통과 영역의 중심에 있는지를 결정하는 것을 포함할 수 있다.
예 11은 메모리 제어기가 메모리 모듈에 연결되는 시스템이며, 메모리 제어기는 메모리 모듈에 제어 신호를 전송하도록 동작가능하며, 메모리 제어기는 메모리 모듈에 클록 신호를 연속적으로 전송한다. 메모리 제어기는, 스트로브 신호를 반복적으로 분석함으로써, 클록 신호에 대해 제어 신호에 대한 조정들을 결정하도록 동작가능하다.
예 12에서, 예 11의 발명 대상은 제어 신호에 대한 조정들을 결정하는 것이 클록 신호에 대해 시간상 더 앞으로 그리고 더 뒤로 제어 신호의 타이밍을 시프트시켜서 클록 신호의 상승 에지에 대해 제어 신호의 타이밍이 중심이 되게 하는 동시에, 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지함을 보장하는 것을 더 포함하는 것을 포함할 수 있다.
예 13에서, 예 12의 발명 대상은, 제어 신호의 타이밍이, 제어 신호의 타이밍의 가장 큰 통과 영역을 반복적으로 결정하는 것에 후속하여, 중심이 되는 것을 포함할 수 있다.
예 14에서, 예 12의 발명 대상은, 메모리 제어기가 메모리 모듈에 판독 명령을 송신하는 것을 포함할 수 있다. 메모리 제어기는, 판독 명령의 송신에 응답하여, 메모리 모듈로부터 판독 데이터를 동반하는 스트로브 신호를 수신한다. 메모리 제어기는 스트로브 신호의 프리앰블이 정상적으로 발생하는 클록 사이클 위치를 결정한다.
예 15에서, 예 14의 발명 대상은, 메모리 제어기가, 제어 신호에 대한 조정에 후속하여 또다른 판독 명령을 발행하고, 이후 스트로브 신호의 프리앰블이 검출되는지를 결정하는 것을 포함할 수 있다.
예 16에서, 예 15의 발명 대상은, 스트로브 신호가 검출됨을 결정하는 것에 응답하여, 스트로브 신호의 프리앰블이 정확한 클록 사이클 위치에서 발생하는지에 대한 결정이 이루어지는 것을 포함할 수 있다. 스트로브 신호의 프리앰블이 정확한 클록 위치에서 발생한다고 결정하는 것에 응답하여, 제어 신호 타이밍 중 타이밍의 가장 큰 통과 영역이 결정되는 경우, 제어 신호의 타이밍은 상승 클록 에지에 대해 가장 큰 통과 영역의 중심에서 프로그래밍된다.
예 17에서, 예 15의 발명 대상은, 스트로브 신호가 검출되지 않았다고 결정하는 것에 응답하여, 제어 신호 타이밍이 실패 영역 내에 있다는 레코딩이 이루어지는 것을 포함할 수 있다.
예 18에서, 예 12의 발명 대상은 메모리 모듈이 DDR 메모리를 포함하며, 제어 신호가 칩 선택 신호 또는 승인 신호를 포함하는 것을 포함할 수 있다.
예 19에서, 예 12의 발명 대상은 메모리 모듈이 비-DDR 메모리를 포함하며, 제어 신호가 칩 선택 신호 또는 승인 신호를 포함하는 것을 포함할 수 있다.
예 20에서, 예 11의 발명 대상은, 메모리 제어기가, 제어 신호의 타이밍이 통과 영역의 중심에 있는지를 결정하는 것을 포함할 수 있다.
예 21은 메모리 모듈, 및 메모리 모듈에 연결된 메모리 제어기를 포함하는 신호 조정을 위한 계산 시스템이다. 프로세서는 메모리 제어기에 연결되며, 프로세서는 메모리 모듈에 제어 신호를 전송하도록 동작가능하며, 메모리 제어기는 메모리 모듈에 클록 신호를 연속적으로 전송한다. 메모리 제어기는, 스트로브 신호를 반복적으로 분석함으로써, 클록 신호에 대해 제어 신호에 대한 조정들을 결정하도록 동작가능하다.
예 22에서, 예 21의 발명 대상은, 제어 신호에 대한 조정들을 결정하는 것이 클록 신호에 대해 시간상 더 앞으로 그리고 더 뒤로 제어 신호의 타이밍을 시프트시켜서 클록 신호의 상승 에지에 대해 제어 신호의 타이밍이 중심이 되게 하는 동시에, 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지함을 보장하는 것을 포함할 수 있다.
예 23에서, 예 22의 발명 대상은, 제어 신호의 타이밍이, 제어 신호의 타이밍의 가장 큰 통과 영역을 반복적으로 결정하는 것에 후속하여, 중심이 되는 것을 포함할 수 있다.
예 24는 메모리 모듈 및 메모리 모듈에 연결된 메모리 제어기를 포함하는 신호 조정을 위한 시스템이며, 메모리 제어기는 메모리 모듈에 제어 신호를 전송하도록 동작가능하며, 메모리 제어기는 메모리 모듈에 클록 신호를 연속적으로 전송한다. 메모리 제어기는, 스트로브 신호를 반복적으로 분석함으로써, 클록 신호에 대해 제어 신호에 대한 조정들을 결정하도록 동작가능하다.
예 25에서, 예 24의 발명 대상은, 제어 신호에 대한 조정들을 결정하는 것이, 클록 신호에 대해 시간상 더 앞으로 그리고 더 뒤로 제어 신호의 타이밍을 시프트시켜서, 클록 신호의 상승 에지에 대해 제어 신호의 타이밍이 중심이 되도록 하는 동시에, 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지함을 보장하는 것을 포함할 수 있다.
예 26은 메모리 모듈에 제어 신호를 전송하기 위한 수단을 포함하는 신호 조정을 위한 시스템이며, 메모리 제어기는 메모리 모듈에 클록 신호를 연속적으로 전송한다. 스트로브 신호를 반복적으로 분석함으로써, 메모리 제어기가 클록 신호에 대해 제어 신호에 대한 조정들을 결정하기 위한 수단이 더 포함된다.
예 27에서, 예 26의 발명 대상은, 제어 신호에 대한 조정들을 결정하는 것이, 클록 신호에 대해 시간상 더 앞으로 그리고 더 뒤로 제어 신호의 타이밍을 시프트시켜서, 클록 신호의 상승 에지에 대해 제어 신호의 타이밍이 중심이 되도록 하는 동시에, 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지함을 보장하기 위한 수단을 더 포함하는 것을 포함할 수 있다.
예 28에서, 예 26의 발명 대상은, 제어 신호의 타이밍이, 제어 신호의 타이밍의 가장 큰 통과 영역을 반복적으로 결정하는 것에 후속하여, 중심이 되는 것을 포함할 수 있다.
예 29에서, 예 2의 발명 대상은 메모리 제어기가 메모리 모듈에 판독 명령을 송신하기 위한 수단을 포함할 수 있다. 판독 명령의 송신에 응답하여, 메모리 제어기가 메모리 모듈로부터 판독 데이터를 동반하는 스트로브 신호를 수신하기 위한 수단이 또한 포함된다. 메모리 제어기가 스트로브 신호의 프리앰블이 정상적으로 발생하는 클록 사이클 위치를 결정하기 위한 수단이 더 포함된다.
예 30에서, 예 29의 발명 대상은, 메모리 제어기가 제어 신호에 대한 조정에 후속하여, 또다른 판독 명령을 발행하고, 이후 스트로브 신호의 프리앰블이 검출되는지를 결정하는 것을 포함할 수 있다.
예 31에서, 예 30의 발명 대상은, 스트로브 신호가 검출된다고 결정하는 것에 응답하여, 스트로브 신호의 프리앰블이 정확한 클록 사이클 위치에서 발생하는지를 결정하기 위한 수단, 및 스트로브 신호의 프리앰블이 정확한 클록 위치에서 발생한다고 결정하는 것에 응답하여, 제어 신호 타이밍 중 타이밍의 가장 큰 통과 영역이 결정된 경우, 상승 클록 에지에 대한 가장 큰 통과 영역의 중심에서 제어 신호의 타이밍을 프로그래밍하기 위한 수단을 포함할 수 있다.
예 32에서, 예 30의 발명 대상은, 스트로브 신호가 검출되지 않았다고 결정하는 것에 응답하여, 제어 신호 타이밍이 실패 영역 내에 있다고 레코딩하기 위한 수단을 더 포함할 수 있다.
예 33에서, 예 27의 발명 대상은, 메모리 모듈이 DDR 메모리를 포함하고, 제어 신호가 칩 선택 신호 또는 승인 신호를 포함하는 것을 포함할 수 있다.
예 34에서, 예 27의 발명 대상은, 메모리 모듈이 비-DDR 메모리를 포함하며, 제어 신호가 칩 선택 신호 또는 승인 신호를 포함하는 것을 포함할 수 있다.
예 35에서, 예 26의 발명 대상은, 메모리 제어기가, 제어 신호의 타이밍이 통과 영역의 중심에 있는지를 결정하는 것을 포함할 수 있다.
예 36은 컴퓨터 판독가능한 저장 매체이며, 컴퓨터 판독가능한 저장 매체에 저장된 코드는 프로세서가, 메모리 제어기에 의해 제어 신호를 메모리 모듈에 전송하는 것 ― 메모리 제어기는 메모리 모듈에 클록 신호를 연속적으로 전송함 ―, 및 메모리 제어기에 의해, 스트로브 신호를 반복적으로 분석함으로써 클록 신호에 대해 제어 신호에 대한 조정들을 결정하는 것을 포함하는, 동작들을 수행하게 한다.
예 37에서, 예 36의 발명 대상은, 제어 신호에 대한 조정들을 결정하는 것이, 클록 신호에 대해 시간상 더 앞으로 그리고 더 뒤로 제어 신호의 타이밍을 시프트시켜서, 클록 신호의 상승 에지에 대해 제어 신호의 타이밍이 중심이 되도록 하는 동시에, 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지함을 보장하는 것을 더 포함하는 것을 포함할 수 있다.
예 38에서, 예 37의 발명 대상은, 제어 신호의 타이밍이, 제어 신호의 타이밍의 가장 큰 통과 영역을 반복적으로 결정하는 것에 후속하여, 중심이 되는 것을 포함할 수 있다.
예 39에서, 예 37의 발명 대상은, 메모리 제어기가 메모리 모듈에 판독 명령을 송신하는 것을 포함할 수 있다. 메모리 제어기는, 판독 명령의 송신에 응답하여, 메모리 모듈로부터 판독 데이터를 동반하는 스트로브 신호를 수신한다. 메모리 제어기는 스트로브 신호의 프리앰블이 정상적으로 발생하는 클록 사이클 위치를 결정한다.
예 40에서, 예 39의 발명 대상은, 메모리 제어기가, 제어 신호에 대한 조정에 후속하여 또다른 판독 명령을 발행하고, 이후 스트로브 신호의 프리앰블이 검출되는지를 결정하는 것을 포함할 수 있다.
예 41에서, 예 40의 발명 대상은, 스트로브 신호가 검출되었다고 결정하는 것에 응답하여, 스트로브 신호의 프리앰블이 정확한 클록 사이클 위치에서 발생하는지에 대한 결정이 이루어지는 것을 포함할 수 있다. 스트로브 신호의 프리앰블이 정확한 클록 위치에서 발생한다고 결정하는 것에 응답하여, 제어 신호 타이밍 중 타이밍의 가장 큰 통과 영역이 결정된 경우, 제어 신호의 타이밍이 상승 클록 에지에 대해 가장 큰 통과 영역의 중심에서 프로그래밍된다.
예 42에서, 예 37의 발명 대상은, 스트로브 신호가 검출되지 않았다고 결정하는 것에 응답하여, 제어 신호 타이밍이 실패 영역에 있다는 레코딩이 이루어지는 것을 포함할 수 있다.
예 43에서, 예 37의 발명 대상은, 메모리 모듈이 DDR 메모리를 포함하며, 제어 신호가 칩 선택 신호 또는 승인 신호를 포함하는 것을 포함할 수 있다.
예 44에서, 예 37의 발명 대상은, 메모리 모듈이 비-DDR 메모리를 포함하며, 제어 신호가 칩 선택 신호 또는 승인 신호를 포함하는 것을 포함할 수 있다.
예 45에서, 예 37의 발명 대상은, 메모리 제어기가 제어 신호의 타이밍이 통과 영역의 중심에 있는지를 결정하는 것을 포함할 수 있다.
예 46은 컴퓨터 판독가능한 저장 매체를 포함하며, 컴퓨터 판독가능한 저장 매체에 저장된 코드는 프로세서가 청구항 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 중 임의의 하나의 방법을 수행하게 한다.

Claims (25)

  1. 신호 조정을 위한 방법으로서,
    메모리 제어기에 의해, 메모리 모듈에 제어 신호를 전송하는 단계 ― 상기 메모리 제어기는 상기 메모리 모듈에 클록 신호를 연속적으로 전송함 ― ;
    상기 메모리 제어기에 의해, 스트로브 신호(strobe signal)를 반복적으로 분석함으로써, 상기 클록 신호에 대해 상기 제어 신호에 대한 조정들을 결정하는 단계;
    상기 메모리 제어기에 의해, 상기 메모리 모듈에 판독 명령을 송신하는 단계;
    상기 메모리 제어기에 의해, 상기 판독 명령의 송신에 응답하여, 상기 메모리 모듈로부터 판독 데이터를 동반하는 상기 스트로브 신호를 수신하는 단계; 및
    상기 메모리 제어기에 의해, 상기 스트로브 신호의 프리앰블이 발생하는 클록 사이클 위치를 결정하는 단계
    를 포함하고, 상기 제어 신호에 대한 조정들을 결정하는 단계는:
    상기 클록 신호의 상승 에지에 대해 상기 제어 신호의 타이밍이 중심이 되게 하는 한편, 상기 스트로브 신호의 프리앰블이 정확한 포지셔닝(correct positioning)을 유지하는 것을 보장하도록 상기 클록 신호에 대해 상기 제어 신호의 타이밍을 시간상 전후로 시프트하는 단계를 더 포함하는, 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 제어 신호의 타이밍의 통과 영역(passing region)을 반복적으로 결정하는 것에 후속하여, 상기 제어 신호의 타이밍이 상기 클록 신호의 상승 에지에 대해 중심이 되도록 하는 방법.
  4. 삭제
  5. 제1항에 있어서, 상기 메모리 제어기는 상기 제어 신호에 대한 조정에 후속하여 또 다른 판독 명령을 발행하고, 이후 상기 스트로브 신호의 프리앰블이 검출되었는지를 결정하는 방법.
  6. 제5항에 있어서,
    상기 스트로브 신호가 검출되었다고 결정하는 것에 응답하여, 상기 스트로브 신호의 프리앰블이 정확한 클록 사이클 위치에서 발생했는지를 결정하는 단계; 및
    상기 스트로브 신호의 프리앰블이 상기 정확한 클록 위치에서 발생했다고 결정하는 것에 응답하여, 상기 제어 신호의 타이밍의 통과 영역이 결정된 경우, 상승 클록 에지에 대한 통과 영역의 중심에서 상기 제어 신호의 타이밍을 프로그래밍하는 단계
    를 더 포함하는 방법.
  7. 제5항에 있어서,
    상기 스트로브 신호가 검출되지 않았다고 결정하는 것에 응답하여, 상기 제어 신호의 타이밍이 실패 영역 내에 있다고 레코딩하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 메모리 모듈은 DDR 메모리를 포함하고;
    상기 제어 신호는 칩 선택 신호(chip select signal) 또는 승인 신호(grant signal)를 포함하는 방법.
  9. 제1항에 있어서,
    상기 메모리 모듈은 비-DDR 메모리를 포함하고;
    상기 제어 신호는 칩 선택 신호 또는 승인 신호를 포함하는 방법.
  10. 제1항에 있어서, 상기 메모리 제어기는 상기 제어 신호의 타이밍이 통과 영역의 중심에 있는지를 결정하는 방법.
  11. 메모리 모듈에 연결된 메모리 제어기로서, 상기 메모리 제어기는:
    상기 메모리 모듈에 제어 신호를 전송하고 ― 상기 메모리 제어기는 상기 메모리 모듈에 클록 신호를 연속적으로 전송함 ― ;
    스트로브 신호를 반복적으로 분석함으로써, 상기 클록 신호에 대해 상기 제어 신호에 대한 조정들을 결정하고;
    상기 메모리 모듈에 판독 명령을 송신하고;
    상기 판독 명령의 송신에 응답하여, 상기 메모리 모듈로부터 판독 데이터를 동반하는 상기 스트로브 신호를 수신하고;
    상기 스트로브 신호의 프리앰블이 발생하는 클록 사이클 위치를 결정하도록 동작가능하고, 상기 제어 신호에 대한 조정들을 결정하는 것은:
    상기 클록 신호의 상승 에지에 대해 상기 제어 신호의 타이밍이 중심이 되게 하는 한편, 상기 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지하는 것을 보장하도록 상기 클록 신호에 대해 상기 제어 신호의 타이밍을 시간상 전후로 시프트하는 것을 더 포함하는, 메모리 제어기.
  12. 삭제
  13. 제11항에 있어서, 상기 제어 신호의 타이밍의 통과 영역을 반복적으로 결정하는 것에 후속하여, 상기 제어 신호의 타이밍이 상기 클록 신호의 상승 에지에 대해 중심이 되도록 하는 메모리 제어기.
  14. 신호 조정을 위한 계산 시스템(computational system)으로서,
    메모리 모듈;
    상기 메모리 모듈에 연결된 메모리 제어기;
    상기 메모리 제어기에 연결된 프로세서
    를 포함하고, 상기 프로세서는:
    메모리 모듈에 제어 신호를 전송하고 ― 상기 메모리 제어기는 상기 메모리 모듈에 클록 신호를 연속적으로 전송함 ― ;
    스트로브 신호를 반복적으로 분석함으로써, 상기 클록 신호에 대해 상기 제어 신호에 대한 조정들을 결정하고;
    상기 메모리 모듈에 판독 명령을 송신하고;
    상기 판독 명령의 송신에 응답하여, 상기 메모리 모듈로부터 판독 데이터를 동반하는 상기 스트로브 신호를 수신하고;
    상기 스트로브 신호의 프리앰블이 발생하는 클록 사이클 위치를 결정하도록 동작가능하고, 상기 제어 신호에 대한 조정들을 결정하는 것은:
    상기 클록 신호의 상승 에지에 대해 상기 제어 신호의 타이밍이 중심이 되게 하는 한편, 상기 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지하는 것을 보장하도록 상기 클록 신호에 대해 상기 제어 신호의 타이밍을 시간상 전후로 시프트하는 것을 더 포함하는, 계산 시스템.
  15. 삭제
  16. 제14항에 있어서, 상기 제어 신호의 타이밍의 통과 영역을 반복적으로 결정하는 것에 후속하여, 상기 제어 신호의 타이밍이 상기 클록 신호의 상승 에지에 대해 중심이 되도록 하는 계산 시스템.
  17. 신호 조정을 위한 시스템으로서,
    메모리 모듈; 및
    메모리 모듈에 연결된 메모리 제어기
    를 포함하고, 상기 메모리 제어기는:
    메모리 모듈에 제어 신호를 전송하고 ― 상기 메모리 제어기는 상기 메모리 모듈에 클록 신호를 연속적으로 전송함 ― ;
    스트로브 신호를 반복적으로 분석함으로써, 상기 클록 신호에 대해 상기 제어 신호에 대한 조정들을 결정하고;
    상기 메모리 모듈에 판독 명령을 송신하고;
    상기 판독 명령의 송신에 응답하여, 상기 메모리 모듈로부터 판독 데이터를 동반하는 상기 스트로브 신호를 수신하고;
    상기 스트로브 신호의 프리앰블이 발생하는 클록 사이클 위치를 결정하도록 동작가능하고, 상기 제어 신호에 대한 조정들을 결정하는 것은:
    상기 클록 신호의 상승 에지에 대해 상기 제어 신호의 타이밍이 중심이 되게 하는 한편, 상기 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지하는 것을 보장하도록 상기 클록 신호에 대해 상기 제어 신호의 타이밍을 시간상 전후로 시프트하는 것을 더 포함하는, 시스템.
  18. 삭제
  19. 신호 조정을 위한 시스템으로서,
    메모리 제어기에 의해, 메모리 모듈에 제어 신호를 전송하는 수단 ― 상기 메모리 제어기는 상기 메모리 모듈에 클록 신호를 연속적으로 전송함 ― ;
    상기 메모리 제어기에 의해, 스트로브 신호를 반복적으로 분석함으로써, 상기 클록 신호에 대해 상기 제어 신호에 대한 조정들을 결정하는 수단;
    상기 메모리 제어기에 의해, 상기 메모리 모듈에 판독 명령을 송신하는 수단;
    상기 메모리 제어기에 의해, 상기 판독 명령의 송신에 응답하여, 상기 메모리 모듈로부터 판독 데이터를 동반하는 상기 스트로브 신호를 수신하는 수단; 및
    상기 메모리 제어기에 의해, 상기 스트로브 신호의 프리앰블이 발생하는 클록 사이클 위치를 결정하는 수단
    을 포함하고, 상기 제어 신호에 대한 조정들을 결정하는 수단은:
    상기 클록 신호의 상승 에지에 대해 상기 제어 신호의 타이밍이 중심이 되게 하는 한편, 상기 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지하는 것을 보장하도록 상기 클록 신호에 대해 상기 제어 신호의 타이밍을 시간상 전후로 시프트하는 수단을 더 포함하는, 시스템.
  20. 삭제
  21. 제19항에 있어서, 상기 제어 신호의 타이밍의 통과 영역을 반복적으로 결정하는 것에 후속하여, 상기 제어 신호의 타이밍이 상기 클록 신호의 상승 에지에 대해 중심이 되도록 하는 시스템.
  22. 삭제
  23. 컴퓨터 판독가능한 저장 매체로서,
    상기 컴퓨터 판독가능한 저장 매체 내에 저장된 코드는 프로세서로 하여금:
    메모리 제어기에 의해, 메모리 모듈에 제어 신호를 전송하는 것 ― 상기 메모리 제어기는 상기 메모리 모듈에 클록 신호를 연속적으로 전송함 ― ;
    상기 메모리 제어기에 의해, 스트로브 신호를 반복적으로 분석함으로써, 상기 클록 신호에 대해 상기 제어 신호에 대한 조정들을 결정하는 것;
    상기 메모리 제어기에 의해, 상기 메모리 모듈에 판독 명령을 송신하는 것;
    상기 메모리 제어기에 의해, 상기 판독 명령의 송신에 응답하여, 상기 메모리 모듈로부터 판독 데이터를 동반하는 상기 스트로브 신호를 수신하는 것; 및
    상기 메모리 제어기에 의해, 상기 스트로브 신호의 프리앰블이 발생하는 클록 사이클 위치를 결정하는 것
    을 포함하는 동작들을 수행하게 하고, 상기 제어 신호에 대한 조정들을 결정하는 것은:
    상기 클록 신호의 상승 에지에 대해 상기 제어 신호의 타이밍이 중심이 되게 하는 한편, 상기 스트로브 신호의 프리앰블이 정확한 포지셔닝을 유지하는 것을 보장하도록 상기 클록 신호에 대해 상기 제어 신호의 타이밍을 시간상 전후로 시프트하는 것을 더 포함하는, 컴퓨터 판독가능한 저장 매체.
  24. 삭제
  25. 제23항에 있어서, 상기 제어 신호의 타이밍의 통과 영역을 반복적으로 결정하는 것에 후속하여, 상기 제어 신호의 타이밍이 상기 클록 신호의 상승 에지에 대해 중심이 되도록 하는 컴퓨터 판독가능한 저장 매체.
KR1020167011474A 2013-12-06 2014-12-05 메모리 모듈에서 스트로브 신호에 기초하여 제어 신호를 트레이닝하기 위한 방법 KR101915060B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/099,315 2013-12-06
US14/099,315 US9025399B1 (en) 2013-12-06 2013-12-06 Method for training a control signal based on a strobe signal in a memory module
PCT/US2014/068924 WO2015085250A1 (en) 2013-12-06 2014-12-05 Method for training a control signal based on a strobe signal in a memory module

Publications (2)

Publication Number Publication Date
KR20160064216A KR20160064216A (ko) 2016-06-07
KR101915060B1 true KR101915060B1 (ko) 2018-11-06

Family

ID=53001733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011474A KR101915060B1 (ko) 2013-12-06 2014-12-05 메모리 모듈에서 스트로브 신호에 기초하여 제어 신호를 트레이닝하기 위한 방법

Country Status (6)

Country Link
US (2) US9025399B1 (ko)
EP (1) EP3078029A4 (ko)
JP (1) JP6181299B2 (ko)
KR (1) KR101915060B1 (ko)
CN (1) CN105706172B (ko)
WO (1) WO2015085250A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543172B2 (en) * 2004-12-21 2009-06-02 Rambus Inc. Strobe masking in a signaling system having multiple clock domains
EP2532005A4 (en) 2010-02-07 2016-06-22 Zeno Semiconductor Inc SEMICONDUCTOR MEMORY DEVICE HAVING AN ELECTRICALLY FLOATING BODY TRANSISTOR, SEMICONDUCTOR MEMORY DEVICE HAVING A VOLATILE AND NON-VOLATILE FUNCTION, AND METHOD OF OPERATION THEREOF
US8760945B2 (en) * 2011-03-28 2014-06-24 Samsung Electronics Co., Ltd. Memory devices, systems and methods employing command/address calibration
US9025399B1 (en) 2013-12-06 2015-05-05 Intel Corporation Method for training a control signal based on a strobe signal in a memory module
US9891853B1 (en) 2016-01-19 2018-02-13 Apple Inc. Memory calibration abort
US10148416B2 (en) 2016-09-02 2018-12-04 Intel Corporation Signal phase optimization in memory interface training
US10416912B2 (en) * 2016-11-03 2019-09-17 Intel Corporation Efficiently training memory device chip select control
US20190095308A1 (en) 2017-09-26 2019-03-28 Intel Corporation Registering clock driver controlled decision feedback equalizer training process
US10635628B2 (en) * 2018-06-29 2020-04-28 Intel Corporation Host controller apparatus, host controller device, and method for a host controller for determining information related to a time shift for transmitting instructions on a command and address bus, host controller and computer system
KR20200043017A (ko) 2018-10-17 2020-04-27 삼성전자주식회사 메모리 모듈, 메모리 시스템 및 메모리 모듈의 동작 방법
US10643685B1 (en) * 2018-11-01 2020-05-05 Realtek Semiconductor Corporation Control circuit, sampling circuit for synchronous dynamic random-access memory, method of reading procedure and calibration thereof
US10734983B1 (en) * 2019-02-15 2020-08-04 Apple Inc. Duty cycle correction with read and write calibration
JP7343257B2 (ja) 2019-05-24 2023-09-12 インテル・コーポレーション ホストシステム、方法、及び、システム
KR20220028888A (ko) * 2020-08-31 2022-03-08 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070217559A1 (en) * 2006-03-16 2007-09-20 Rambus Inc. Signaling system with adaptive timing calibration
JP5332671B2 (ja) * 2009-02-05 2013-11-06 株式会社リコー メモリ制御装置及びその制御信号出力タイミングの調整方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100266747B1 (ko) * 1997-12-31 2000-09-15 윤종용 임피던스 조정 회로를 구비한 반도체 장치
US6466491B2 (en) * 2000-05-19 2002-10-15 Fujitsu Limited Memory system and memory controller with reliable data latch operation
KR100400311B1 (ko) * 2001-06-29 2003-10-01 주식회사 하이닉스반도체 반도체 메모리 소자의 신호 지연 제어 장치
KR100605590B1 (ko) 2004-05-10 2006-07-31 주식회사 하이닉스반도체 데이터 출력드라이버의 임피던스를 조정할 수 있는 반도체메모리 장치
US7543172B2 (en) 2004-12-21 2009-06-02 Rambus Inc. Strobe masking in a signaling system having multiple clock domains
US7209396B2 (en) * 2005-02-28 2007-04-24 Infineon Technologies Ag Data strobe synchronization for DRAM devices
US7411862B2 (en) 2006-11-15 2008-08-12 Qimonda Ag Control signal training
KR100935728B1 (ko) 2007-12-28 2010-01-08 주식회사 하이닉스반도체 스트로브 신호 제어 회로
KR101443072B1 (ko) 2008-05-14 2014-09-22 삼성전자주식회사 메모리 인터페이스 회로 및 이를 포함하는 메모리 시스템
JP5258687B2 (ja) * 2009-07-13 2013-08-07 ルネサスエレクトロニクス株式会社 メモリインタフェース制御回路
KR101585213B1 (ko) * 2009-08-18 2016-01-13 삼성전자주식회사 라이트 레벨링 동작을 수행하기 위한 메모리 장치의 제어 방법, 메모리 장치의 라이트 레벨링 방법, 및 라이트 레벨링 동작을 수행하는 메모리 컨트롤러, 메모리 장치, 및 메모리 시스템
KR20110050923A (ko) * 2009-11-09 2011-05-17 삼성전자주식회사 반도체 메모리 장치, 반도체 메모리 모듈 및 이를 구비하는 반도체 메모리 시스템
JP5537568B2 (ja) * 2009-12-25 2014-07-02 富士通株式会社 信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法
KR101678413B1 (ko) * 2009-12-29 2016-11-23 삼성전자주식회사 반도체 장치 및 이의 트레이닝 방법
JP2011233042A (ja) * 2010-04-28 2011-11-17 Toshiba Corp キャリブレーション処理制御装置及びキャリブレーション処理制御方法
US8533538B2 (en) * 2010-06-28 2013-09-10 Intel Corporation Method and apparatus for training a memory signal via an error signal of a memory
US8760945B2 (en) * 2011-03-28 2014-06-24 Samsung Electronics Co., Ltd. Memory devices, systems and methods employing command/address calibration
US8665665B2 (en) * 2011-03-30 2014-03-04 Mediatek Inc. Apparatus and method to adjust clock duty cycle of memory
US8824224B2 (en) * 2011-08-05 2014-09-02 Rambus Inc. Frequency-agile strobe window generation
US9025399B1 (en) 2013-12-06 2015-05-05 Intel Corporation Method for training a control signal based on a strobe signal in a memory module

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070217559A1 (en) * 2006-03-16 2007-09-20 Rambus Inc. Signaling system with adaptive timing calibration
JP5332671B2 (ja) * 2009-02-05 2013-11-06 株式会社リコー メモリ制御装置及びその制御信号出力タイミングの調整方法

Also Published As

Publication number Publication date
EP3078029A1 (en) 2016-10-12
CN105706172B (zh) 2018-12-04
WO2015085250A1 (en) 2015-06-11
JP2016540291A (ja) 2016-12-22
EP3078029A4 (en) 2017-07-26
KR20160064216A (ko) 2016-06-07
US20150325281A1 (en) 2015-11-12
CN105706172A (zh) 2016-06-22
US9025399B1 (en) 2015-05-05
JP6181299B2 (ja) 2017-08-16
US9627029B2 (en) 2017-04-18

Similar Documents

Publication Publication Date Title
KR101915060B1 (ko) 메모리 모듈에서 스트로브 신호에 기초하여 제어 신호를 트레이닝하기 위한 방법
US10725682B2 (en) Memory modules, memory systems and methods of operating memory modules
CN104134454B (zh) 用于在存储系统中校准写入定时的方法和装置
US8819474B2 (en) Active training of memory command timing
US20230236970A1 (en) Memory module with local synchronization and method of operation
EP3465687B1 (en) Periodic zq calibration with traffic-based self-refresh in a multi-rank ddr system
US8379457B1 (en) Auto calibration of storage memory controller
US20090276559A1 (en) Arrangements for Operating In-Line Memory Module Configurations
US8422319B2 (en) System and method for gate training in a memory system
US9665289B1 (en) Eye scan for memory channel
CN117833869A (zh) 自主占空比校准
US9355744B2 (en) Dynamic memory signal phase tracking method and associated control circuit
US10545866B1 (en) Method and system for efficient re-determination of a data valid window
US7796465B2 (en) Write leveling of memory units designed to receive access requests in a sequential chained topology
KR102473661B1 (ko) 듀티 사이클을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템
CN111831593A (zh) 用于生成链路训练信号的设备、系统和方法
US20120296598A1 (en) Compensating for jitter during ddr3 memory delay line training
US7746724B2 (en) Asynchronous data transmission
US20110185218A1 (en) Adjustment of Write Timing Based on a Training Signal
CN100595842C (zh) 存储器接口装置与应用于其上的存储器数据存取方法
US9582356B1 (en) System and method for DDR memory timing acquisition and tracking
US8635487B2 (en) Memory interface having extended strobe burst for write timing calibration
US20080270834A1 (en) Control method for read operation of memory
US11049583B2 (en) Semiconductor system with a training operation

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant