KR20230029992A - 대체 결과들을 사용한 메모리 서브시스템 교정 - Google Patents

대체 결과들을 사용한 메모리 서브시스템 교정 Download PDF

Info

Publication number
KR20230029992A
KR20230029992A KR1020237003910A KR20237003910A KR20230029992A KR 20230029992 A KR20230029992 A KR 20230029992A KR 1020237003910 A KR1020237003910 A KR 1020237003910A KR 20237003910 A KR20237003910 A KR 20237003910A KR 20230029992 A KR20230029992 A KR 20230029992A
Authority
KR
South Korea
Prior art keywords
signal paths
subset
calibration
signal
memory
Prior art date
Application number
KR1020237003910A
Other languages
English (en)
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 KR20230029992A publication Critical patent/KR20230029992A/ko

Links

Images

Classifications

    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System (AREA)
  • Dc Digital Transmission (AREA)
  • Holo Graphy (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

내부에서 교정들을 수행하기 위한 메모리 서브시스템 및 방법이 개시된다. 메모리 서브시스템은 복수의 신호 경로들에 의해 메모리에 커플링된 메모리 제어기를 포함한다. 메모리 제어기는 복수의 신호 경로들의 신호 경로들에 대응하는 개개의 눈 패턴들을 결정하기 위해 초기 교정을 수행하도록 구성된다. 후속 교정들을 위해, 업데이트된 눈 패턴들이 복수의 신호 경로들의 서브세트에 대해 결정된다. 복수의 신호 경로들의 나머지 신호 경로들(서브세트에 포함되지 않음)은 후속 교정들 동안 활성이 아니다. 복수의 신호 경로들의 나머지 신호 경로들에 대한 업데이트된 눈 패턴들은 초기 교정 동안 획득된 정보 및 복수의 신호 경로들의 나머지 신호 경로들에 대한 프록시들로 지정된 서브세트 내의 신호 경로들로부터의 정보에 기초하여 결정된다.

Description

대체 결과들을 사용한 메모리 서브시스템 교정
본 개시내용은 메모리 서브시스템들에 관한 것으로, 더 상세하게는 메모리 서브시스템들에서 교정들을 수행하는 것에 관한 것이다.
눈 패턴(eye pattern)들, 또는 눈 다이어그램들은 디지털 신호가 그의 정확한 값에서 샘플링될 수 있는 시간들 및 진폭들을 예시하는 그래픽 예시들이다. 데이터 송신들을 포함하는 다양한 유형들의 시스템들에서, 시간 및 샘플링 전압의 관점들에서, 눈의 중심 부근에서 신호들(예를 들어, 클록 신호에 의해 동기화된 데이터 신호들)을 샘플링하는 것이 바람직하다. 타이밍의 관점들에서, 이는 셋업 및 유지 시간 둘 모두의 충분한 양을 갖는 신호를 제공하면서, 또한 신호를 잡음에 덜 민감하게 만들 수 있다. 전압의 관점들에서, 이는 서로를 구별하기 위해 사용되는 임계 전압에 기초하여 로직 값(예를 들어, 로직 1 또는 로직 0)의 보다 정확한 결정을 가능하게 할 수 있다.
메모리 서브시스템들에서, 신호들이 눈 패턴 내에서 샘플링되는 지점들을 결정하기 위해 교정들이 수행될 수 있다. 교정들은 신호들의 정확한 샘플링을 가능하게 하는 눈 다이어그램을 결정하기 위해 수행되며, 따라서 타이밍(때때로 수평 교정으로 지칭됨) 및 샘플링 임계 전압(때때로 수직 교정으로 지칭됨) 둘 모두에 기초한 교정들을 포함한다. 이러한 교정들을 수행하는 것은 통상적으로 메모리 제어기와 메모리 사이의 데이터의 송신을 관리하는 다수의 상이한 파라미터들을 조정하는 것을 포함한다. 그러한 교정들은 시스템 시작 동안 수행될 수 있고, 그 후 주기적으로 또한 수행될 수 있다.
메모리 서브시스템 및 메모리 서브시스템에서 교정들을 수행하기 위한 방법이 개시된다. 일 실시예에서, 메모리 제어기는 복수의 신호 경로들에 의해 메모리에 커플링된다. 메모리 제어기는 신호 경로들 중 다양한 신호 경로들에 대응하는 개개의 눈 패턴들을 결정하기 위해 초기 교정을 수행하도록 구성된다. 후속 교정들을 위해, 업데이트된 눈 패턴들이 복수의 신호 경로들의 서브세트에 대해 결정된다. 복수의 신호 경로들의 나머지 신호 경로들(서브세트에 포함되지 않음)은 후속 교정들 동안 활성이 아니다. 복수의 신호 경로들 중 나머지 신호 경로들에 대한 업데이트된 눈 패턴들은 초기 교정 동안 획득된 정보에 기초하여 결정된다.
일 실시예에서, 복수의 신호 경로들은 제1 및 제2 서브세트들로 분할된다. 초기 교정 동안, 적어도 제1 서브세트의 신호 경로들은 제1 패스(pass)에서 교정되는 반면, 제2 서브세트의 적어도 하나의 신호 경로는 제2 패스에서 교정된다. 초기 교정을 완료할 시에, 제1 서브세트의 교정으로부터 획득된 결과들은 제2 서브세트에 대해 획득된 결과들과 비교된다. 제2 서브세트의 주어진 신호 경로들에 대해, 제1 서브세트의 신호 경로가 프록시가 되도록 선택된다. 제1 서브세트의 신호 경로는, 그의 교정 결과들이 제1 서브세트의 다른 신호 경로들에 대한 가장 밀접한 매칭인 것에 기초하여 제2 서브세트의 대응하는 신호 경로의 프록시가 되도록 선택된다. 제2 서브세트의 주어진 신호 경로와 그의 선택된 프록시 사이의 차이들(예를 들어, 전압 및 타이밍 오프셋들)이 또한 결정된다. 후속 교정들에서, 제1 서브세트의 신호 경로들만이 활성화되고 직접 교정되며(예를 들어, 교정 동안 활성임), 그들의 눈 패턴들은 그에 따라 업데이트된다. 제2 서브세트의 주어진 신호 경로에 대한 업데이트된 눈 패턴은 제1 서브세트 내의 그의 대응하는 프록시에 대한 (후속 교정으로부터의) 교정 결과들을 초기 교정 동안 결정된 차이들과 결합함으로써 결정된다.
하기의 상세한 설명은 첨부 도면들을 참조하며, 이제 도면들이 간단히 설명된다.
도 1은 메모리 제어기 및 메모리를 갖는 메모리 서브시스템의 일 실시예를 예시하는 블록도이다.
도 2는 메모리 제어기의 일 실시예를 추가로 예시하는 블록도이다.
도 3은 집적 회로 및 메모리를 갖는 시스템의 일 실시예를 예시하는 블록도이다.
도 4는 메모리 제어기와 메모리 사이에 커플링된 신호 경로들을 교정하기 위한 방법의 일 실시예를 예시하는 흐름도이다.
도 5는 메모리 제어기와 메모리 사이에 커플링된 신호 경로들을 교정하기 위한 방법의 다른 실시예의 흐름도이다.
도 6은 예시적인 시스템의 블록도이다.
본 명세서에 개시된 실시예들에 대해 다양한 수정들 및 대안적인 형태들을 허용하지만, 특정 실시예들은 도면들에 예시로서 도시되고 본 명세서에서 상세히 설명된다. 그러나, 도면들 및 그들에 대한 상세한 설명은 청구범위의 범주를 개시된 특정 형태들로 제한되도록 의도되지는 않음을 이해해야 한다. 반대로, 본 출원은 첨부된 청구범위에 의해 정의되는 바와 같은 본 출원의 개시내용의 사상 및 범주 내에 속하는 모든 수정들, 등가물 및 대안들을 포함하도록 의도된다.
본 개시내용은 "하나의 실시예", "특정 실시예", "일부 실시예들", "다양한 실시예들", 또는 "일 실시예"에 대한 언급들을 포함한다. "하나의 실시예에서", "특정 실시예에서", "일부 실시예들에서", "다양한 실시예들에서" 또는 "실시예에서"라는 문구들의 등장들은 반드시 동일한 실시예를 지칭하지는 않는다. 특정 특성들, 구조들, 또는 특징들은 본 개시내용에 부합하는 임의의 적합한 방식으로 조합될 수 있다.
본 개시내용 내에서, 상이한 엔티티들(이는, "유닛들", "회로들", 다른 컴포넌트들 등으로 다양하게 지칭될 수 있음)은 하나 이상의 태스크들 또는 동작들을 수행하도록 "구성된" 것으로 설명되거나 또는 청구될 수 있다. 이러한 표현-[하나 이상의 태스크들을 수행]하도록 구성된 [엔티티]-은 본 명세서에서 구조(즉, 전자 회로와 같은 물리적인 것)를 지칭하는 데 사용된다. 더 상세하게는, 이러한 표현은 이러한 구조가 동작 동안 하나 이상의 태스크들을 수행하도록 배열된다는 것을 표시하는 데 사용된다. 구조는 그 구조가 현재 동작되고 있지 않더라도 일부 태스크를 수행하도록 "구성된다"고 말할 수 있다. 예를 들어, "복수의 프로세서 코어들에 크레딧들을 분배하도록 구성된 크레딧 분배 회로"는 해당 집적 회로가 현재 사용되고 있지 않더라도(예를 들어, 전력 공급부가 그에 연결되어 있지 않음), 동작 동안 이러한 기능을 수행하는 회로부를 갖는 집적 회로를 포괄하도록 의도된다. 따라서, 일부 태스크를 수행하도록 "구성된" 것으로 설명된 또는 인용된 엔티티는 디바이스, 회로, 태스크를 구현하도록 실행가능한 프로그램 명령어들을 저장하는 메모리 등과 같은 물리적인 것을 지칭한다. 이러한 문구는 무형인 것을 지칭하기 위해 본 명세서에서 사용되지는 않는다.
용어 "~ 하도록 구성된"은 "~하도록 구성가능한"을 의미하도록 의도되지 않는다. 예를 들어, 프로그래밍되지 않은 FPGA는, 그것이 프로그래밍 이후 일부 구체적인 기능을 수행하도록 "구성가능"할 수 있지만, 그 기능을 수행하도록 "구성된" 것으로 고려되지 않을 것이다.
구조가 하나 이상의 태스크들을 수행하도록 "구성"되었다고 첨부된 청구항들에 인용하는 것은 명백히 그 청구항 구성요소에 대하여 35 U.S.C. §(112)(f)를 적용하지 않도록 의도된다. 따라서, 출원된 본 출원서의 어떠한 청구항들도 수단+기능식 요소들을 갖는 것으로 해석되도록 의도되지 않는다. 출원인이 심사 시 Section(112)(f)의 적용을 바란다면, [기능을 수행]"하기 위한 수단" 구조를 사용하여 청구항 구성요소들을 열거할 것이다.
본 명세서에서 사용되는 바와 같이, 용어 "기초하여"는 결정에 영향을 주는 하나 이상의 인자들을 설명하기 위해 사용된다. 이러한 용어는 부가적인 인자들이 결정에 영향을 줄 수 있는 가능성을 배제하지 않는다. 즉, 결정은 단지 특정된 인자들에 기초하거나 또는 그 특정된 인자들뿐만 아니라 다른, 불특정된 인자들에 기초할 수 있다. "B에 기초하여 A를 결정한다"라는 문구를 고려한다. 이러한 문구는 B가 A를 결정하는 데 사용되거나 A의 결정에 영향을 주는 인자라는 것을 명시한다. 이러한 문구는 A의 결정이 C와 같은 일부 다른 인자에 또한 기초할 수 있음을 배제하지 않는다. 또한, 이러한 문구는 A가 B에만 기초하여 결정되는 실시예를 커버하도록 의도된다. 본 명세서에서 사용되는 바와 같이, "에 기초하여"라는 문구는 "적어도 부분적으로 기초하여"라는 문구와 동의어이다.
본 명세서에서 사용되는 바와 같이, "~ 에 응답하여"라는 문구는 효과를 트리거하는 하나 이상의 인자들을 설명한다. 이러한 문구는 부가적인 인자들이 영향을 주거나 또는 그렇지 않으면 효과를 트리거할 수 있는 가능성을 배제하지 않는다. 즉, 효과는 단지 이들 인자들에만 응답할 수 있거나 또는 특정 인자들 뿐만 아니라 다른 불특정 인자들에 응답할 수 있다. "B에 응답하여 A를 수행한다"라는 문구를 고려한다. 이러한 문구는 B가 A의 수행을 트리거하는 인자라는 것을 명시한다. 이러한 문구는 A를 수행하는 것이 C와 같은 일부 다른 인자에 또한 응답할 수 있음을 배제하지 않는다. 이러한 문구는 또한 A가 단지 B에만 응답하여 수행되는 실시예를 포괄하도록 의도된다.
본 명세서에서 사용되는 바와 같이, 달리 언급되지 않는 한, 용어들 "제1", "제2" 등은 그들이 선행하고 있는 명사들에 대한 라벨들로서 사용되고, 임의의 유형(예를 들어, 공간적, 시간적, 논리적 등)의 순서를 암시하지는 않는다. 예를 들어, 8개의 레지스터들을 갖는 레지스터 파일에서, 용어들 "제1 레지스터" 및 "제2 레지스터"는, 예를 들어 단지 논리 레지스터들 0 및 1이 아니라 8개의 레지스터들 중 임의의 2개를 지칭하기 위해 사용될 수 있다.
"메모리 제어기(는) 신호 경로들의 세트에 의해 메모리에 커플링되고", 초기 교정에서, "신호 경로들의 세트의 각각의 신호 경로를 활성화시키는 것"을 포함한다는 언급은 초기 교정 동안 활성화되는 메모리 제어기와 메모리 사이에 커플링된 적어도 2개의 신호 경로들이 존재한다는 것을 의미한다. 일부 실시예들에서, 초기 교정 동안 반드시 활성화되지는 않는 메모리 제어기와 메모리 사이에 커플링된 다른 신호 경로들이 존재할 수 있다. 다른 실시예들에서, 메모리 제어기와 메모리 사이에 커플링된 모든 신호 경로들이 초기 교정 동안 활성화될 수 있다. 따라서, 항목 "신호 경로들의 세트의 각각의 신호 경로를 활성화시키는 것"은 모든 경우들에서, 메모리 제어기와 메모리 사이에 커플링된 모든 신호 경로들이 초기 교정 동안 활성화되는 것으로 해석되지 않아야 한다. 대신, 그것은 이것이 일부 예시들에서는 그러할 수 있고, 다른 예시들에서는 그러하지 않을 수 있는 가능성을 단순히 제공한다.
청구범위에 사용될 때, 용어 "또는"은 포괄적인 '또는'으로서 사용되고 배타적인 '또는'으로서 사용되지 않는다. 예를 들어, 문구 "x, y, 또는 z 중 적어도 하나"는 x, y, 및 z 중 어느 하나뿐만 아니라 이들의 임의의 조합을 의미한다.
다음의 설명에서, 개시된 실시예들의 철저한 이해를 제공하기 위해 다양한 특정 세부사항들이 기재된다. 그러나, 당업자는 이러한 특정 세부사항들이 없이도 개시된 실시예들의 양태들이 실시될 수 있다는 것을 인식해야 한다. 일부 예시들에서, 잘 알려진 회로들, 구조들, 신호들, 컴퓨터 프로그램 명령어, 및 기법들은 개시된 실시예들이 모호해지는 것을 피하기 위하여 상세하게 도시되지 않았다.
본 개시내용은 메모리 제어기와 메모리 사이에 커플링된 신호 경로들의 교정에 관한 것이다. 메모리 서브시스템의 동작 동안, 메모리 제어기와 메모리 사이에서 전달되는 신호들의 로직 값들이 수신될 시에 적절하게 해석되는 것을 보장하기 위해 다양한 시간들에서 교정들이 수행된다. 로직 값들의 적절한 해석은 충분한 양들의 셋업 및 유지 시간을 제공하고 로직 0과 로직 1 사이를 구별하는 전압을 결정함으로써 달성될 수 있다. 신호에 대해 충분한 셋업 및 유지 시간을 보장하기 위한 교정은 데이터 스트로브 신호(data strobe signal)(예를 들어, 신호들의 전달 및 수신을 동기화시키는 데 사용되는 클록 신호)에 제공되는 지연 양들을 조정하는 것 및 그들 개개의 로직 값들을 결정하는 것을 수반한다. 유사하게, 구별 전압을 결정하기 위한 교정은 다양한 전압 레벨들에서의 신호들의 로직 값을 해석하는 것을 수반한다. 전자의 교정은 수평 교정으로 지칭될 수 있는 반면, 후자는 수직 교정으로 지칭될 수 있다. 종합하면, 수평 및 수직 교정들은, 신호들의 로직 값들이 적절하게 해석될 수 있는 타이밍 및 전압 값들의 범위를 표현하는 눈 패턴으로서 일반적으로 알려진 것을 결정하기 위해 사용될 수 있다.
일부 메모리 서브시스템들에서, 임의의 주어진 시간에 교정될 수 있는 신호 경로들의 수에 대한 한계가 존재할 수 있다. 그러나, 교정될 신호 경로들의 총 수는 주어진 패스 또는 인스턴스에서 교정될 수 있는 수를 초과할 수 있다. 따라서, 그러한 실시예들에서, 모든 신호 경로들을 교정하기 위해 2개의 패스들이 요구될 수 있다. 각각의 교정 패스의 지속기간이 실질적으로 동일하면, 제2 패스는 교정 시간의 양, 및 그에 따른, 메모리 시스템이 이용가능하지 않은 시간의 양을 효과적으로 2배로 늘린다. 더욱이, 일부 메모리 서브시스템들에서, 특정 신호 경로들은 상당한 시간의 양 동안 비활성일 수 있으며, 대응하는 회로부는 전원 차단된다. 따라서, 이러한 신호 경로들의 교정들은 회로부의 전원을 켜는 것을 요구하고, 따라서 적어도 일부 전력 절약들을 무효화할 수 있다.
메모리 서브시스템에서의 교정을 위한 본 개시내용의 방법론은 교정의 적어도 일부 인스턴스들 동안 서브세트의 신호 경로만이 교정되는 것이다. 특정 복수의 모든 신호 경로들이 교정되는 초기 교정이 수행된다. 복수의 신호 경로들은 제1 서브세트 및 제2 서브세트로 분할될 수 있다. 제1 서브세트의 신호 경로들에 대한 초기 교정의 결과들은 제2 서브세트 내의 신호 경로들에 대한 교정 결과들과 비교된다. 제2 서브세트 내의 주어진 신호 경로에 대해, 프록시 신호 경로가 제1 서브세트의 신호 경로들 중에서 선택된다. 선택은 비교들의 결과들에 기초한다. 더 구체적으로, 제1 서브세트의 프록시 신호 경로는 제2 서브세트의 그의 대응하는 신호 경로의 교정 결과들과 가장 밀접하게 매칭되는 교정 결과들을 갖도록 선택된다. 이러한 2개의 신호 경로들 사이의 차이들 또는 오프셋들이 또한 계산된다.
초기 교정에 후속하는 교정들의 경우, 제1 서브세트의 신호 경로들만이 직접 교정되는 반면, 제2 서브세트의 신호 경로들은 비활성으로 유지될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 신호 경로와 관련하여 "직접 교정된"은 신호 경로가 교정 동안 활성이고, 데이터가 신호 경로 상에서 전달된 신호들에 기초하여 수집된다는 것을 의미한다. 제2 서브세트의 각각의 신호 경로에 대해, 계산된 오프셋들과 함께, 제1 신호 경로로부터의 그의 프록시의 교정 결과들이 결합된다. 이는 2-패스 교정을 수행하거나 또는 비활성 신호 경로들을 달리 활성화시킬 필요 없이 제2 서브세트의 신호 경로들 각각에 대한 교정 및 이에 따른 눈 패턴의 결정을 효과적으로 초래한다. 따라서, 메모리 서브시스템이 교정으로 인해 이용가능하지 않은 시간이 감소될 수 있으면서, 부가적인 전력 절약들이 달성될 수 있다. 이제, 메모리 서브시스템의 다양한 실시예들이 더 상세히 논의된다.
도 1은 메모리 서브시스템 내의 메모리 제어기 및 메모리를 갖는 메모리 서브시스템의 일 실시예를 예시하는 블록도이다. 도시된 실시예에서, 메모리 서브시스템(11)은 메모리 제어기(12) 및 메모리(158)를 포함한다. 다수의 신호 경로들, 특히 신호 경로들(0 내지 9)이 메모리 제어기(12)와 메모리(158) 사이에 커플링된다.
도시된 바와 같은 신호 경로들은 제1 서브세트(18) 및 제2 서브세트(19)로 분할될 수 있다. 이러한 특정 실시예에서, 제1 서브세트(18)의 신호 경로들(0 내지 7)은 메모리 제어기(12)와 메모리(158) 사이에서 (판독들 및 기입들을 위해) 데이터를 전달하기 위해 제공된다. 제2 서브세트(19)의 신호 경로들(8, 9)은 데이터 버스 반전(예를 들어, 신호 경로들(0 내지 7) 상의 데이터의 값들을 반전시킴) 등을 수행하기 위해 하나 이상의 에러 정정 코드(ECC) 비트들, 신호들을 제공하는 것과 같은 다양한 다른 기능들을 위해 제공될 수 있다.
다양한 실시예들에서, 메모리 제어기(12)는 신호 경로들의 교정들을 수행하여, 각각에 대한 눈 패턴을 결정한다. 교정은 판독들 및 기입들 둘 모두를 포함하여 메모리 제어기(12)와 메모리(158) 사이의 데이터의 전달들을 포함할 수 있다. 도 1에 명시적으로 도시되지 않았지만, 데이터 스트로브 신호가 메모리 제어기(12)와 메모리(158) 사이에서 전달된다. 데이터 스트로브 신호는 신호 경로들 중 다양한 신호 경로들에 걸쳐 전달되는 데이터의 판독들 및 기입들을 동기화시키는 데 사용된다. 교정은 복수의 신호 경로들의 신호 경로들 상에서 전달되는 신호들이 데이터 스트로브 신호에 대해 샘플링되는 시간을 결정하는 것을 포함한다. 따라서, 교정은 다양한 지연들을 데이터 스트로브 신호에 제공하는 것, 데이터를 판독하는 것, 및 예상되는 데이터와 비교하는 것을 포함한다. 부가적으로, 로직 1과 로직 0 사이를 구별하는 데 사용되는 전압 레벨들은 또한 교정들 동안 변경될 수 있다. 따라서, 교정은 복수의 신호 경로들의 신호 경로들 상에서 전달되는 신호들이 로직 0으로부터 로직 1을 구별하는 데 사용되는 전압을 결정하는 것을 포함한다. 비교 결과들에 기초하여, 신호 경로들 각각에 대해 눈 패턴들이 결정될 수 있다.
도시된 실시예에서, 메모리 제어기(12)는 전체 세트 내의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 신호 경로들의 세트의 각각의 신호 경로를 활성화시키는 것을 포함하는 초기 교정을 수행한다. 메모리 제어기(12)가 단일 교정 패스 동안 신호 경로들의 전체 세트 미만을 교정하는 것으로 제한될 수 있으므로, 초기 교정은 적어도 2개의 패스들을 포함할 수 있다. 교정 패스는 신호 경로들의 선택된 그룹에 대해 수행되는 교정으로서 정의될 수 있다. 따라서, 초기 교정 동안, 도시된 실시예의 메모리 제어기(12)는 서브세트(예를 들어, 제1 서브세트) 내의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 제1 교정 패스를 수행하고, 이어서, 신호 경로들의 나머지 신호 경로들(예를 들어, 제2 서브세트) 중 적어도 하나에 대한 개개의 눈 패턴을 결정하기 위해 제2 교정 패스를 수행한다. 초기 교정 동안 획득된 정보는, 신호 경로들의 세트의 나머지 신호 경로들에 대해, 신호 경로들의 세트의 제1 서브세트 중 대응하는 선택된 신호 경로들에 대한 전압 및 타이밍 오프셋들을 포함한다.
단일 교정 패스는 제1 서브세트(18)의 모든 신호 경로들 및 일부 실시예들에서는 제2 서브세트(19)의 신호 경로를 포함할 수 있다. 예를 들어, 10개의 신호 경로들 중 9개만이 주어진 패스 동안 교정될 수 있는 상황을 고려한다. 따라서, 신호 경로들(0 내지 8)은 제1 패스 동안 교정될 수 있는 반면, 신호 경로(9)는 제2 패스 동안 교정될 수 있다. 따라서, 도시된 실시예에서, 모든 신호 경로들이 교정되는 것을 보장하기 위해 적어도 2개의 패스들이 요구된다.
동작 조건들(예를 들어, 온도)이 시간에 걸쳐 변경될 수 있으므로, 메모리 제어기(12)는, 신호 경로들의 세트의 서브세트를 활성화시켜, 서브세트 내의 신호 경로들에 대한 업데이트된 개개의 눈 패턴들을 결정하는 것을 포함하는 후속 교정을 수행할 수 있다. 더 구체적으로, 예시된 실시예에서, 제1 서브세트(18)의 신호 경로들이 교정될 수 있다. 신호 경로들의 세트의 나머지 신호 경로들에 대해, 개개의 업데이트된 눈 패턴들이 초기 교정 동안 획득된 정보에 기초하여 결정될 수 있다. 따라서, 후속 교정은 신호 경로들의 세트의 나머지 신호 경로들(예를 들어, 제2 서브세트(19)의 신호 경로들)을 활성화시키지 않으면서 수행된다.
초기 교정 동안 획득된 정보에 기초하여, 제2 서브세트(19)의 각각의 신호 경로에 대해, 제1 서브세트(18) 내의 프록시가 결정된다. 제2 서브세트(19)의 주어진 신호 경로에 대한 프록시는 전자의 눈 패턴들을 업데이트하기 위한 기초를 제공하는 제1 서브세트(18) 내의 신호 경로이다. 더 구체적으로, 예시된 실시예에서, 메모리 제어기(12)는 제1 교정 동안, 제2 서브세트(19)의 신호 경로들 중 선택된 신호 경로의 눈 패턴과 가장 밀접하게 매칭되는 눈 패턴을 갖는 제1 서브세트(18)의 신호 경로를 결정한다. 더욱이, 제1 서브세트(18)의 신호 경로의 눈 패턴과 제2 서브세트의 눈 패턴의 차이들에 기초하여, 전압 및 타이밍 오프셋들이 또한 메모리 제어기(12)에 의해 결정된다.
프록시의 선택은 초기 교정 결과들과 컴퓨팅 오프셋 값들(예를 들어, 차이들)을 비교함으로써 수행된다. 예를 들어, 초기 교정에 후속하여, (제2 서브세트(19)의) 신호 경로(9)에 대해 획득된 결과들은 (제1 서브세트(18)의) 신호 경로들(0 내지 7) 각각과 비교된다. 이어서, 신호 경로들(0 내지 7)로부터의 하나의 경로가 신호 경로(9)에 대한 프록시로서 선택된다. 선택은 제1 서브세트(18)의 어느 신호 경로가 초기 교정 동안 신호 경로(9)의 교정 결과들에 가장 가까운 교정 결과들을 갖는지에 기초한다. 비교 동안, 오프셋들이 계산된다. 오프셋들은 존재한다면, 신호 경로(9)의 교정된 값들과 신호 경로들(0 내지 7) 중 그의 선택된 프록시 사이의 차이들을 표현한다. 후속 교정들 동안, 제2 서브세트(19)의 일부인 신호 경로(9)가 직접 교정되지 않는다. 대신에, 그의 선택된 프록시에 대한 후속 교정 값들은 신호 경로(9)의 업데이트된 교정 값들(및 그에 따른, 업데이트된 눈 패턴)을 획득하기 위해 오프셋과 결합된다. 이러한 동일한 프로세스는 (또한 제2 서브세트(19)의) 신호 경로(8)에 대해, 그리고 더 일반적으로는, 주어진 실시예의 제2 서브세트 내의 임의의 신호 경로에 대해 수행될 수 있다. 일부 예시들에서, 제2 서브세트의 2개의 신호 경로들이 제1 서브세트 내에서 동일한 프록시를 가질 수 있는 것이 가능하지만, 이는 항상 그런 것은 아니다.
일부 실시예들에서, 메모리 서브시스템(11)이, 예를 들어 작업부하 요구들, 전력 요구들 등으로 인해 동작 동안 성능 상태 변화들을 겪을 수 있으므로, 교정들은 다수의 상이한 클록 주파수들에서 수행될 수 있다. 따라서, 그러한 실시예들에서, 메모리 제어기(12)는 제1 클록 주파수에서 수행되는 후속 교정들에 대한 눈 패턴을 결정하기 위한 기초로서 신호 경로들의 서브세트 중 제1 신호 경로를 선택하고, 제2 클록 주파수에서 수행되는 후속 교정들에 대한 눈 패턴을 결정하기 위한 기초로서 신호 경로들의 서브세트 중 제2 신호 경로를 추가로 선택한다.
일 실시예에서, 메모리 제어기(12)는 메모리 제어기(12) 및 메모리(158)가 구현되는 시스템의 시작 동안 초기 교정을 수행한다. 메모리 제어기(12) 또한 시스템의 동작 동안 후속 교정의 하나 이상의 인스턴스들을 수행한다. 일부 실시예들에서, 이러한 후속 교정들은 주기적으로 수행될 수 있다. 초기 교정들이 다수의 상이한 클록 주파수들에 대해 수행될 수 있으므로, 클록 주파수가 변경될 때, 후속 교정들이 또한 수행될 수 있다.
초기 및 후속 교정들 둘 모두에 대해, 메모리 제어기(12)는 메모리(158)로의 데이터의 하나 이상의 기입들을 수행하고, 또한 메모리(158)로부터의 데이터의 하나 이상의 판독들을 수행한다. 위에서 언급된 바와 같이, 이는 또한 메모리(158)에 기입되고 메모리(158)로부터 판독된 데이터를 예상되는 값들과 비교하는 것을 포함한다.
주어진 신호 경로에 대한 눈 패턴의 경계들은, 신호 경로 상에서 전달된 하나 이상의 비트들이 그들의 예상되는 값들과 매칭하는 데 실패한 지점에 의해 결정될 수 있다. 일반적으로 말하면, 눈의 중간을 향해, 주어진 신호 경로 상에서 전달되는 비트들은 대응하는 예상되는 값과 매칭될 것이고, 타이밍 및 전압 둘 모두에서 상당한 양의 마진을 가질 것이다. 이러한 마진들은 눈의 경계들을 향해 감소한다.
도 2는 메모리 제어기의 일 실시예를 예시하는 블록도이다. 도시된 실시예에서, 메모리 제어기(12)는 교정 제어 유닛(21) 및 물리적 인터페이스(14)를 포함한다. 도시된 실시예에서, 교정 제어 유닛(21)은 데이터 비교기(218), 눈 계산기(211), 및 상태 머신(210)을 포함하는 다양한 회로 유닛들을 구현한다. 물리적 인터페이스(14)는 메모리(여기에 도시되지 않음)와 통신하기 위한 회로부를 구현한다. 물리적 인터페이스(14)의 회로부는 송수신기(22) 및 지연 회로(30)를 포함한다.
도시된 실시예에서, 물리적 인터페이스(14)의 송수신기(22)는 데이터 신호 경로들(DQ[7:0])을 포함하는 데이터 버스에 커플링된다. 부가적으로, 에러 정정 코드(ECC) 신호 경로가 또한 송수신기(22)에 커플링된다. 이러한 실시예에서, 데이터 버스 반전(DBI) 신호 경로가 송수신기(22)에 커플링된다. DBI 신호는, 어써팅(assert)될 때, 데이터 신호 경로들(DQ[7:0]) 상에서 전달되는 신호들에서 전달되는 비트들 모두가 반전되게 할 수 있고, 예를 들어 모든 로직 0들이 로직 1들로 반전되게 할 수 있다. 다른 신호 경로들이 존재할 수 있고, 본 명세서에 도시된 데이터 버스는 다른 실시예들에서 상이한 수의 비트들로 구현될 수 있다. 이러한 실시예에서, 송수신기(22)에 커플링된 신호 경로들은 위의 논의에 따라 교정을 받을 수 있다. 다른 실시예들에서, 부가적인 신호 경로들이 송수신기(22)에 커플링될 수 있으며, 이들 중 일부는 시간마다 교정을 겪을 수 있다는 것을 유의한다. 더욱이, 다른 신호들이 물리적 인터페이스(14) 내의 다른 회로 유닛들(여기에 명시적으로 도시되지 않음)로부터 전달될 수 있다. 예를 들어, 물리적 인터페이스(14)는, 각각, 기입 및 판독 동작들 동안 메모리로 전달되는 기입 인에이블 및 판독 인에이블 신호들을 생성하기 위한 제어 회로부를 포함할 수 있다. 유사하게, 어드레스 신호들을 생성하기 위한 회로 유닛들이 또한 물리적 인터페이스(14)에 포함될 수 있지만, 단순화를 위해 도 2로부터 생략된다.
판독 동작들 동안, 송수신기(22)는 신호 경로들(DQ[7:0])을 통해 메모리로부터 수신된 신호들의 로직 값들을 해석할 수 있다. 유사하게, 송수신기(22)는 또한, 그들 개개의 신호 경로들 상에서 전달되는 ECC 신호 및 DBI 신호의 로직 값들을 결정할 수 있다. 송수신기(22)는 또한, 판독 동작 동안 수신된 잘못된 값을 정정하기 위한 ECC 회로부를 포함할 수 있고, DBI 신호가 그의 어써팅된 상태에 있을 때 그 데이터 버스를 통해 수신된 신호들의 로직 값들을 반전시키기 위한 인버터 회로들을 또한 포함할 수 있다. 교정의 적어도 일부들에 대해, ECC 회로부 및 인버터 회로들은 일시적으로 디스에이블될 수 있다는 것을 유의한다. 송수신기(22)는 눈 계산기(211)에 의해 표시되는 판독 전압(ReadV)에 기초하여, 예시된 신호 경로들 중 하나를 통해 수신된 신호에 대해 로직 1과 로직 0을 구별할 수 있다.
도시된 실시예에서, 지연 회로(30)는 메모리 제어기(12) 외부의 소스로부터 제공되는 입력 클록 신호(Clk_In)를 수신하도록 커플링된다. 명시적으로 도시되지 않았지만, 지연 회로(30)는 하나 이상의 지연 고정 루프(delay locked loop, DLL)들 또는 다른 유형의 지연 회로부를 포함할 수 있다. 메모리와 메모리 제어기(12) 사이의 다른 신호들(예를 들어, DQ[7:0])의 전달을 동기화시키는 데 사용되는 데이터 스트로브 신호(DQS)를 생성하기 위해 입력 클록 신호에 지연이 적용될 수 있다. 적용되는 지연의 양은 눈 계산기(211)에 의해 제공되는 지연 제어 신호(Dly_Ctl)에 기초할 수 있다. 데이터 스트로브 신호를 메모리에 전달하는 것에 부가하여, 도시된 실시예에서, 지연 회로(30)가 또한 클록 신호를 송수신기(22)에 제공하도록 커플링된다.
교정 동작들 동안, 데이터 비교 회로(218)는 DQ_In 입력을 통해 메모리에 기입될 데이터를 수신할 수 있다. 이어서, 이러한 데이터는 송수신기(22)로부터 메모리로 전달될 수 있다. 메모리로부터 판독되는 데이터는 DQ_Out 경로를 통해 송수신기(22)로부터 데이터 비교 회로(218)에 의해 수신될 수 있다. 이어서, 메모리로부터 수신된 데이터는 임의의 비트 실패들이 발생하는지를 결정하기 위해 그에 기입되었던 데이터와 비교될 수 있다. 비트 실패는 그의 예상되는 값과 매칭되지 않는(예를 들어, 로직 1이 예상될 때 로직 0으로서 판독되는) 데이터 버스의 특정 신호 경로 상에서 전달되는 신호에 대응하는 비트로서 본 명세서에서 정의될 수 있다. 비트 실패들은 눈 계산 회로(211)에 보고될 수 있다. 비트 실패의 정보를 수신하는 것에 응답하여, 눈 계산 회로(211)는 기준 전압 값 및 (데이터 스트로브에 적용된 바와 같은) 지연 값과 함께 실패 비트를 기록할 수 있다. 실패 비트들 및 대응하는 기준 전압 및 지연 값들로부터의 데이터에 기초하여, 눈 계산 회로(211)는 각각의 비트 위치에 대한 눈 패턴, 및 그에 따른 각각의 신호 경로를 계산할 수 있다.
주어진 교정 동작은 메모리로의 데이터의 기입들의 수 및 메모리로부터의 데이터의 판독들의 수를 포함할 수 있다. 다수의 반복들에 걸쳐, 눈 계산기(211)는 (Dly_Ctl 신호를 통해) 데이터 스트로브 신호의 생성에서 사용되는 지연 및 로직 1과 로직 0을 구별하는 데 사용되는 전압 둘 모두에 대한 조정들을 야기할 수 있다. 다수의 상이한 지연 값들 및 판독 전압 값들에 대해 이러한 동작들을 수행하는 것은 교정된 신호 경로들에 대한 눈 패턴을 정의하는 데 사용될 수 있다. 예시적인 눈 패턴이 도 2에 도시되어 있으며, 그의 높이(H)는 수직 전압 축(V)을 따라 정의되는 반면, 폭(W)은 시간 축(T)을 따라 정의된다. 전압 축은 판독 전압의 값들을 표현하는 반면, 시간 축은 데이터 스트로브 신호의 생성 동안 지연 회로(30)에 적용된 지연 값들을 표현한다. 눈 패턴의 정의된 높이 및 폭 내의 값들은 신호에서 전달되는 데이터 비트들이 로직 1 또는 로직 0으로서 정확하게 해석될 수 있는 영역들을 표시한다. 눈 패턴의 중심을 향한 영역들은 일반적으로 경계들을 향해 위치된 것들보다 더 많은 양의 타이밍 마진 및 전압 마진을 갖는다.
도시된 실시예에서, 상태 머신(210)은 교정 동작들을 조정하도록 구성된다. 외부 소스로부터 교정 신호(Cal)를 수신하는 것에 응답하여, 상태 머신(210)은 교정 동작들을 시작할 수 있다. 교정 신호는, 예를 들어 프로세서, 시스템 펌웨어, 또는 다른 소스로부터 수신될 수 있다. 교정 신호의 어써션(assertion)은 시스템 시작과 함께, 주기적 간격들로, 그리고 다른 조건 중에서도 성능 상태의 변화들에 응답하여 수행될 수 있다. 교정 동작들 동안, 상태 머신(210)은 눈 계산기(211), 데이터 비교기(218), 및 송수신기(22)와 통신할 수 있다. 상태 머신(210)이 수행할 수 있는 기능들 중에는, 기입 동작들을 위한 데이터를 송신하고, 메모리 제어기(12)로 하여금 메모리로부터 데이터를 판독하게 하고, 그리고 눈 계산기(211)로 하여금 지연 및 판독 전압 값들에 대한 변화를 야기하게 하기 위한 커맨드들을 발행하는 기능이 있다.
주어진 교정을 완료할 시에, 눈 계산기(211)는 교정된 신호 경로들 각각에 대한 판독 전압 및 지연 값들(또는 기입 교정들을 위한 기입 전압 및 지연 값들)을 저장할 수 있다. 이어서, 이러한 값들은 정상(예를 들어, 비교정) 동작들에 대한 판독 전압 및 지연 값들을 설정하는 데 사용될 수 있다. 일부 실시예들에서, 이러한 값들은 다양한 교정된 신호 경로들에 대한 교정된 값들의 평균에 기초하여 설정될 수 있다. 그 자체의 고유한 눈 패턴에 따라 각각의 신호 경로에 대해 신호들이 해석되게 허용하도록 오프셋 정보가 지연 및 판독 전압 값들과 함께 전달되는 실시예들이 또한 가능하고 고려된다.
도 3은 집적 회로 및 메모리를 갖는 시스템의 일 실시예를 예시하는 블록도이다. 도시된 실시예에서, 집적 회로(10)는 적어도 하나의 프로세서 코어(105), 전력 관리 유닛(108), 전압 조절기(11), 및 메모리 제어기(12)를 포함한다. 도시된 실시예에서, 메모리 제어기(12)는 도 2를 참조하여 위에서 논의되었던 것과 유사하게 배열될 수 있다. 집적 회로(10), 및 더 상세하게는, 메모리 제어기(12)는 메모리(158)에 커플링된다.
프로세서 코어(105)는 일부 실시예들에서 집적 회로(10) 상에 구현된 단일 프로세서 코어일 수 있거나, 또는 다른 실시예들에서 다수의 상이한 프로세서 코어들 중 하나일 수 있다. 다수의 프로세서 코어들을 갖는 실시예들에서, 코어들은 동종 또는 이종일 수 있다. 다른 기능들 중에서, 프로세서 코어(105)는 다양한 시스템 레벨 기능들을 수행하기 위해 운영 체제(106)의 명령어들을 실행할 수 있다. 이러한 기능들 중에는, 메모리 제어기(12)가 집적 회로(10)와 메모리(158) 사이에 커플링된 다양한 신호 경로들의 교정을 수행할 때에 대한 결정들이 있을 수 있다. 프로세서 코어(105)는 또한 다양한 소프트웨어 프로그램들/애플리케이션들의 명령어들을 실행할 수 있다. 본 명세서에 도시된 바와 같이, 프로세서 코어(105)는 메모리 제어기(12)에 커플링되며, 그의 다양한 동작들을 수행할 시에, 데이터를 메모리 제어기(12)에 전송하고 메모리 제어기(12)로부터 데이터를 수신할 수 있다.
도시된 실시예에서, 전력 관리 유닛(108)은 시스템의 다양한 전력 관리 기능들을 수행하는 데 사용되는 다양한 회로들을 포함한다. 이러한 기능 중에는 성능 상태 변화들의 구현이 포함된다. 이러한 성능 상태 변화들은 시스템 내의 다양한 회로 유닛들의 동작 전압에 대한 변화들 뿐만 아니라, 그에 의해 수신된 클록 신호의 주파수를 변경시키는 것을 포함할 수 있다. 일부 실시예들에서, 클록 주파수, 동작 전압, 또는 둘 모두를 증가시킴으로써 더 높은 성능이 달성될 수 있다. 유사하게, 동작 전압을 감소시키고 그리고/또는 클록 주파수를 감소시킴으로써 전력 소비의 감소가 달성될 수 있다. 도시된 실시예에서, 전력 관리 유닛(108)은 전압 조절기(111)에 제공되는 전압 제어 신호들(Vctrl)을 생성하도록 구성된다.
도시된 실시예에서, 전압 조절기(111)는 외부 소스로부터 전역 공급 전압(VddG)을 수신하고 로컬 공급 전압(VddL)을 메모리 제어기(12)에 제공하도록 커플링된다. 전력 관리 유닛(108)은, 로컬 전압이 전압 제어 신호들의 상태들에 의존하여 증가 또는 감소되게 할 수 있다. 전압 조절기(111)는 조절된 공급 전압을 공급하기 위한 임의의 적합한 유형의 회로, 예컨대 스위칭 컨버터(예를 들어, 벅 컨버터(buck converter), 부스트 컨버터) 또는 저드롭아웃(low-dropout, LDO) 전압 조절기일 수 있다.
전력 관리 유닛(108)의 클록 제어 유닛(109)은 다양한 클록 제어 기능들을 수행할 수 있다. 일부 실시예들에서, 클록 제어 유닛(109)은 클록 신호를 생성하기 위한 회로부(예를 들어, 위상 고정 루프)를 포함할 수 있다. 다른 실시예들에서, 클록 신호는 외부 소스로부터 제공될 수 있다. 클록 제어 유닛(109)은 클록 신호(ClkIn)의 파라미터들을 포함할 수 있다. 그러한 파라미터들은 클록 신호의 주파수를 포함하고, 그의 듀티 사이클을 또한 포함할 수 있다.
도 4는 메모리 제어기와 메모리 사이에 커플링된 신호 경로들을 교정하기 위한 방법의 일 실시예의 흐름도이다. 방법(400)은 본 명세서에 도시된 바와 같이 도 1 내지 도 3을 참조하여 위에서 논의된 것들과 같은 다양한 장치 실시예들 상에서 수행될 수 있다. 본 명세서에서 명시적으로 논의되지 않지만 방법(400)을 달리 수행할 수 있는 장치 실시예들은 또한 본 개시내용의 범위 내에 속할 수 있다.
방법(400)은 신호 경로들의 세트에 의해 메모리에 커플링된 메모리 제어기를 갖는 메모리 서브시스템에서, 초기 교정을 수행하는 단계를 포함하며, 여기서 초기 교정을 수행하는 단계는 세트 내의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 신호 경로들의 세트의 각각의 신호 경로를 활성화시키는 단계를 포함한다(블록(405)). 방법은 후속 교정을 수행하는 단계를 더 포함하며, 여기서 후속 교정을 수행하는 단계는 신호 경로들의 세트의 서브세트를 활성화시켜, 서브세트 내의 신호 경로들에 대한 업데이트된 개개의 눈 패턴들을 결정하는 단계를 포함한다(블록(410)). 신호 경로들의 세트의 나머지 신호 경로들에 대해, 방법은 개개의 업데이트된 눈 패턴들을 결정하는 단계를 포함하며, 여기서 결정은 초기 교정 동안 획득된 정보에 기초하고, 신호 경로들의 세트의 나머지 신호 경로들을 활성화시키지 않으면서 수행된다(블록(415)).
다양한 실시예들에서, 초기 교정 동안 획득된 정보는 신호 경로들의 세트의 나머지 신호 경로들 중 하나의 신호 경로와, 신호 경로들의 세트의 나머지 신호 경로들 중 하나의 신호 경로의 눈 패턴과 가장 밀접하게 매칭되는 눈 패턴을 갖는 신호 경로들의 세트의 서브세트의 하나의 신호 경로 사이의 전압 및 타이밍 오프셋들을 포함한다.
일부 실시예들에서, 방법(400)은 후속 교정 동안, 신호 경로들의 세트의 서브세트의 하나의 신호 경로에 대한 업데이트된 개개의 눈 패턴을 결정하는 단계를 포함한다. 따라서, 그러한 방법 실시예들은 또한, 신호 경로들의 세트의 서브세트의 하나의 신호 경로에 대한 업데이트된 개개의 눈 패턴에 전압 및 타이밍 오프셋들을 적용함으로써 신호 경로들의 세트의 나머지 신호 경로들 중 하나의 신호 경로에 대한 개개의 업데이트된 눈 패턴을 계산하는 단계를 포함할 수 있다. 초기 교정을 수행하는 단계는 제1 패스 동안 신호 경로들의 서브세트를 교정하는 단계 및 제2 패스 동안 신호 경로들의 세트의 적어도 하나의 나머지 신호 경로를 교정하는 단계를 포함하며, 여기서 후속 교정을 수행하는 단계는 신호 경로들의 서브세트의 신호 경로들이 교정되는 단일 패스를 포함한다.
일부 실시예들에서, 교정들은 상이한 클록 주파수들에서, 그리고 더 일반적으로는 상이한 성능 상태들에서 수행될 수 있다. 그러한 실시예들에서, 제1 클록 주파수에서 수행되는 후속 교정을 위해, 방법은 신호 경로들의 나머지 신호 경로들 중 선택된 신호 경로에 대한 제1 업데이트된 눈 패턴을 결정하기 위한 기초로서 신호 경로들의 서브세트 중 제1 신호 경로에 대한 교정 정보를 선택하는 단계를 포함한다. 제1 클록 주파수와 상이한 제2 클록 주파수로서 수행되는 후속 교정을 위해, 방법은 신호 경로들의 나머지 신호 경로들 중 선택된 신호 경로에 대한 제1 업데이트된 눈 패턴을 결정하기 위한 기초로서 신호 경로들의 서브세트 중 제2 신호 경로에 대한 교정 정보를 선택하는 단계를 포함한다.
다양한 실시예들에서, 방법은 메모리 서브시스템을 구현하는 시스템의 시작 동안 초기 교정을 수행하는 단계를 포함한다. 그 후, 방법은 주기적으로 후속 교정의 하나 이상의 인스턴스들을 수행하는 단계 및 성능 상태 변화에 응답하여 후속 교정의 인스턴스를 수행하는 단계를 포함한다.
도 5는 메모리 서브시스템의 메모리 제어기와 메모리 사이에 커플링된 신호 경로들을 교정하기 위한 방법의 다른 실시예의 흐름도이다. 방법(500)은, 적어도 2개의 상이한 성능 상태들에 대해 교정들이 수행되며, 제2 서브세트의 신호 경로들에 대한 눈 패턴 정보를 제공하기 위해 프록시 신호 경로들이 제1 서브세트로부터 선택되는 일 실시예에 관한 것이다. 방법(500)은 위에서 논의된 바와 같이 다양한 장치 실시예들에 의해 수행될 수 있다. 방법(500)을 수행할 수 있지만, 본 명세서에 달리 개시되지 않은 장치 실시예들은 본 개시내용의 범위 내에 속하는 것으로 간주될 수 있다.
방법(500)은 제1 성능 상태에서 동작하는 동안 신호 경로들의 제1 및 제2 서브세트들의 제1 교정을 수행하는 단계를 포함한다(블록(505)). 제1 교정은 그 특정 성능 상태에서 수행되는 초기 교정일 수 있고, 예를 들어, 메모리 서브시스템이 구현되는 시스템의 시작 동안 수행될 수 있다. 제1 교정의 수행에 기초하여, 방법(500)은 제2 서브세트의 신호 경로에 대해, 교정 결과들에 기초하여 제1 성능 상태에서 후속 교정들을 위해 제1 서브세트로부터 제1 프록시 신호 경로를 선택하는 단계, 및 오프셋들을 결정하는 단계를 더 포함한다(블록(510)). 제1 서브세트의 프록시 신호 경로는 다른 신호 경로들에 대해, 제2 서브세트의 대응하는 신호 경로의 교정 결과들과 가장 밀접하게 매칭되는 교정 결과들을 갖는 것에 기초하여 선택된다. 오프셋들은 제2 서브세트의 신호 경로 및 제1 서브세트 내의 그의 프록시의 교정 결과들 사이의 차이들에 기초하여 결정된다. 제1 성능 상태에서의 후속 교정들을 위해, 제2 서브세트의 신호 경로들은 직접 교정되지 않는다. 대신에, 제1 서브세트 내의 그들의 대응하는 프록시들의 교정 결과들은 제2 서브세트의 신호 경로들에 대한 교정 결과들에 도달하기 위해, 계산된 오프셋들과 결합된다.
방법(500)은 제2 성능 상태에서 동작하는 동안 신호 경로들의 제1 및 제2 서브세트들의 제2 교정을 수행하는 단계를 더 포함한다(블록(515)). 제2 성능 상태는 클록 주파수, 동작 전압, 또는 둘 모두의 관점들에서 제1 성능 상태와 상이할 수 있다. 제1 교정과 마찬가지로, 제2 교정은 그 특정 성능 상태에서 수행된 초기 교정이다. 제2 서브세트의 신호 경로에 대해, 방법(500)은 교정 결과들에 기초하여 제2 성능 상태에서 후속 교정들을 위해 제1 서브세트로부터 제2 프록시 신호 경로를 선택하는 단계, 및 오프셋들을 결정하는 단계를 더 포함한다(블록(520)). 이는 제1 성능 상태에서 수행된 초기 교정에서와 동일한 방식으로 수행될 수 있다. 그 후, 제1 서브세트의 선택된 신호 경로들은, 제2 서브세트의 대응하는 신호 경로들의 직접 교정 대신에, 제2 서브세트의 대응하는 신호 경로들에 대한 프록시들로서 작용할 수 있다.
제2 서브세트의 주어진 신호 경로에 대해, 상이한 프록시 신호 경로가 제1 및 제2 성능 상태들 각각에 대해 선택될 수 있다는 것을 유의한다. 예를 들어, 도 1을 다시 간단히 참조하면, 신호 경로(9)는 제1 성능 상태에서 수행된 후속 교정들을 위해 신호 경로(0)의 프록시를 가질 수 있으면서, 제2 성능 상태에서 수행된 후속 교정들을 위해 신호 경로(4)의 프록시를 가질 수 있다.
일반적으로 말하면, 주어진 성능 상태에서 초기 교정 동안 획득된 정보에 응답하여, 신호 경로들의 제2 서브세트 중 특정 신호 경로에 대한 프록시 신호 경로의 선택은 신호 경로들의 제1 서브세트 중 다양한 신호 경로들과 신호 경로들의 제2 서브세트 중 특정 신호 경로의 개개의 눈 패턴들의 차이에 기초한다.
제2 서브세트의 신호 경로와 제1 서브세트 내의 그의 프록시 사이의 교정 결과들의 차이에 관해, 차이는 개개의 눈 패턴들의 차이로 간주될 수 있다. 따라서, 이러한 차이를 결정하는 것은 전압 오프셋들 및 타이밍 오프셋들을 결정하는 것을 포함한다. 교정을 수행하는 메모리 제어기는, 후속 교정의 인스턴스를 수행하는 것에 응답하여, 프록시 신호 경로의 개개의 업데이트된 눈 패턴과 전압 및 타이밍 오프셋들을 결합함으로써 신호 경로들의 제2 서브세트 중 특정 신호 경로에 대한 업데이트된 눈 패턴을 결정한다.
일부 실시예들의 제한들이 메모리 제어기가 단일 패스에서 모든 신호 경로들을 교정하는 것을 억제할 수 있으므로, 메모리 제어기는 그에 따라, 제1 서브세트의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 제1 패스에서 그리고 제2 서브세트 내의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 제2 패스에서 초기 교정을 수행할 수 있다. 그 후, 제1 서브세트의 신호 경로들 중 다양한 신호 경로들을 제2 서브세트의 신호 경로들에 대한 프록시들로서 사용하여, 메모리 제어기는 단일 패스에서 후속 교정의 인스턴스들을 수행한다.
다음으로 도 6을 참조하면, 시스템(150)의 일 실시예의 블록도가 도시된다. 예시된 실시예에서, 시스템(150)은 외부 메모리(158)에 커플링된 집적 회로(10)의 적어도 하나의 인스턴스를 포함한다. 집적 회로(10)는 외부 메모리(158)에 커플링되는 메모리 제어기를 포함할 수 있다. 집적 회로(10)는 하나 이상의 주변기기들(154) 및 외부 메모리(158)에 커플링된다. 집적 회로(10)에 공급 전압들을 공급할 뿐만 아니라, 메모리(158) 및/또는 주변기기들(154)에 하나 이상의 공급 전압들을 공급하는 전력 공급부(156)가 또한 제공된다. 일부 실시예들에서, 집적 회로(10)의 하나 초과의 인스턴스가 포함될 수 있다(그리고 하나 초과의 외부 메모리(158)가 또한 포함될 수 있다).
주변기기들(154)은 시스템(150)의 유형에 의존하여 임의의 원하는 회로부를 포함할 수 있다. 예를 들어, 일 실시예에서, 시스템(150)은 모바일 디바이스(예를 들어, 개인 휴대 정보 단말기(personal digital assistant, PDA), 스마트 폰 등)일 수 있고, 주변기기들(154)은 WiFi, 블루투스(Bluetooth), 셀룰러, 글로벌 포지셔닝 시스템 등과 같은 다양한 유형들의 무선 통신용 디바이스들을 포함할 수 있다. 주변기기들(154)은 또한 RAM 저장소, 솔리드 스테이트 저장소(solid state storage) 또는 디스크 저장소를 포함하는 부가적인 저장소를 포함할 수 있다. 주변기기들(154)은 터치 디스플레이 스크린들 또는 멀티터치 디스플레이 스크린들을 포함하는 디스플레이 스크린, 키보드 또는 다른 입력 디바이스들, 마이크로폰들, 스피커들 등과 같은 사용자 인터페이스 디바이스들을 포함할 수 있다. 다른 실시예들에서, 시스템(150)은 임의의 유형의 컴퓨팅 시스템(예를 들어, 데스크톱 개인용 컴퓨터, 랩톱, 워크스테이션, 태블릿 등)일 수 있다.
외부 메모리(158)는 임의의 유형의 메모리를 포함할 수 있다. 예를 들어, 외부 메모리(158)는 SRAM, 동적 RAM(DRAM), 이를테면 동기식 DRAM(SDRAM), 더블 데이터 레이트(DDR, DDR2, DDR3, LPDDR1, LPDDR2 등) SDRAM, 램버스 DRAM 등일 수 있다. 외부 메모리(158)는 메모리 디바이스들이 실장되는 하나 이상의 메모리 모듈들, 이를테면 단일 인라인 메모리 모듈(SIMM)들, 듀얼 인라인 메모리 모듈(DIMM)들 등을 포함할 수 있다.
시스템(150)의 다양한 실시예들에서, 메모리 제어기(예를 들어, IC(10)로 구현됨) 및 메모리(예를 들어, 외부 메모리(158))는 위에서 논의된 장치 실시예들 중 다양한 장치 실시예들에 부합할 수 있다. 그러한 구현예들은 또한 위에서 논의된 방법들의 다양한 실시예들을 수행하는 것이 가능할 수 있다. IC(10)는 또한 도 2에 도시된 바와 같이 PMU(108) 및 전압 조절기(111)와 같은 본 명세서에 개시된 다른 회로부를 포함할 수 있다.
일단 위의 개시내용이 완전히 이해되면 다수의 변형들 및 수정들이 당업자들에게 명백해질 것이다. 다음의 청구범위는 모든 그러한 변형들 및 수정들을 망라하는 것으로 해석되도록 의도된다.

Claims (20)

  1. 장치로서,
    메모리;
    신호 경로들의 세트에 의해 상기 메모리에 커플링된 메모리 제어기를 포함하며,
    상기 메모리 제어기는,
    초기 교정을 수행하고 - 상기 초기 교정은,
    상기 세트 내의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 상기 신호 경로들의 세트의 각각의 신호 경로를 활성화시키는 것을 포함함 -;
    후속 교정을 수행하도록 - 상기 후속 교정은,
    상기 신호 경로들의 세트의 서브세트를 활성화시켜, 상기 서브세트 내의 신호 경로들에 대한 업데이트된 개개의 눈 패턴들을 결정하는 것;
    상기 신호 경로들의 세트의 나머지 신호 경로들에 대해, 개개의 업데이트된 눈 패턴들을 결정하는 것을 포함하고, 상기 결정은 상기 초기 교정 동안 획득된 정보에 기초하고, 상기 신호 경로들의 세트의 상기 나머지 신호 경로들을 활성화시키지 않으면서 수행됨 -구성되는, 장치.
  2. 제1항에 있어서, 상기 초기 교정 동안 획득된 상기 정보는, 상기 신호 경로들의 세트의 상기 나머지 신호 경로들에 대해, 상기 신호 경로들의 세트의 상기 서브세트 중 대응하는 선택된 신호 경로들에 대한 전압 및 타이밍 오프셋들을 포함하는, 장치.
  3. 제2항에 있어서, 상기 메모리 제어기는, 상기 초기 교정 동안, 상기 신호 경로들의 세트의 상기 나머지 신호 경로들 중 선택된 신호 경로의 눈 패턴과 가장 밀접하게 매칭되는 눈 패턴을 갖는 상기 신호 경로들의 서브세트의 신호 경로를 결정하도록 구성되고, 상기 신호 경로들의 서브세트의 상기 신호 경로의 상기 눈 패턴과 상기 신호 경로들의 세트의 상기 나머지 신호 경로들 중 선택된 신호 경로의 상기 눈 패턴의 차이들에 기초하여 상기 전압 및 타이밍 오프셋들을 결정하도록 추가로 구성되는, 장치.
  4. 제1항에 있어서, 상기 초기 교정을 수행할 시에, 상기 메모리 제어기는,
    상기 서브세트 내의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 제1 교정 패스(pass)를 수행하고;
    상기 신호 경로들의 세트의 상기 나머지 신호 경로들 중 적어도 하나에 대한 개개의 눈 패턴을 결정하기 위해 제2 교정 패스를 수행하도록
    구성되는, 장치.
  5. 제1항에 있어서, 상기 메모리 제어기는, 상기 신호 경로들의 세트의 상기 나머지 신호 경로들 중 하나에 대해,
    제1 클록 주파수에서 수행되는 후속 교정들에 대한 눈 패턴을 결정하기 위한 기초로서 상기 신호 경로들의 서브세트 중 제1 신호 경로를 선택하고;
    제2 클록 주파수에서 수행되는 후속 교정들에 대한 눈 패턴을 결정하기 위한 기초로서 상기 신호 경로들의 서브세트 중 제2 신호 경로를 선택하도록 구성되는, 장치.
  6. 제1항에 있어서, 상기 메모리 제어기는, 상기 메모리 제어기 및 상기 메모리가 구현되는 시스템의 시작 동안 상기 초기 교정을 수행하도록 구성되고, 상기 시스템의 동작 동안 상기 후속 교정의 하나 이상의 인스턴스들을 수행하도록 추가로 구성되는, 장치.
  7. 제1항에 있어서, 상기 메모리 제어기는, 상기 초기 교정 및 상기 후속 교정을 수행할 시에,
    상기 메모리로의 데이터의 하나 이상의 기입들을 수행하고;
    상기 메모리로부터의 데이터의 하나 이상의 판독들을 수행하도록 구성되는, 장치.
  8. 제1항에 있어서, 상기 초기 교정 및 상기 후속 교정을 수행할 경우, 상기 메모리 제어기는, 상기 신호 경로들의 세트 중 주어진 신호 경로에 대해,
    상기 신호 경로들의 세트의 신호 경로들 상에서 전달되는 신호들이 로직 0으로부터 로직 1을 구별하는 데 사용되는 전압; 및
    상기 신호 경로들의 세트의 신호 경로들 상에서 전달되는 신호들이 데이터 스트로브 신호(data strobe signal)에 따라 샘플링되는 시간을 결정하도록 구성되는, 장치.
  9. 방법으로서,
    신호 경로들의 세트에 의해 메모리에 커플링된 메모리 제어기를 갖는 메모리 서브시스템에서, 초기 교정을 수행하는 단계 - 상기 초기 교정을 수행하는 단계는,
    상기 세트 내의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 상기 신호 경로들의 세트의 각각의 신호 경로를 활성화시키는 단계를 포함함 -;
    후속 교정을 수행하는 단계 - 상기 후속 교정을 수행하는 단계는,
    상기 신호 경로들의 세트의 서브세트를 활성화시켜, 상기 서브세트 내의 신호 경로들에 대한 업데이트된 개개의 눈 패턴들을 결정하는 단계;
    상기 신호 경로들의 세트의 나머지 신호 경로들에 대해, 개개의 업데이트된 눈 패턴들을 결정하는 단계를 포함하고, 상기 결정은 상기 초기 교정 동안 획득된 정보에 기초하고, 상기 신호 경로들의 세트의 상기 나머지 신호 경로들을 활성화시키지 않으면서 수행됨 -를 포함하는, 방법.
  10. 제9항에 있어서, 상기 초기 교정 동안 획득된 상기 정보는 상기 신호 경로들의 세트의 상기 나머지 신호 경로들 중 하나의 신호 경로와, 상기 신호 경로들의 세트의 상기 나머지 신호 경로들 중 상기 하나의 신호 경로의 눈 패턴과 가장 밀접하게 매칭되는 눈 패턴을 갖는 상기 신호 경로들의 세트의 서브세트의 하나의 신호 경로 사이의 전압 및 타이밍 오프셋들을 포함하는, 방법.
  11. 제10항에 있어서,
    상기 후속 교정 동안, 상기 신호 경로들의 세트의 상기 서브세트의 상기 하나의 신호 경로에 대한 상기 업데이트된 개개의 눈 패턴을 결정하는 단계; 및
    상기 신호 경로들의 세트의 상기 서브세트의 상기 하나의 신호 경로에 대한 상기 업데이트된 개개의 눈 패턴에 상기 전압 및 타이밍 오프셋들을 적용함으로써 상기 신호 경로들의 세트의 상기 나머지 신호 경로들 중 상기 하나의 신호 경로에 대한 상기 개개의 업데이트된 눈 패턴을 계산하는 단계를 더 포함하는, 방법.
  12. 제9항에 있어서, 상기 초기 교정을 수행하는 단계는 제1 패스 동안 상기 신호 경로들의 서브세트를 교정하는 단계 및 제2 패스 동안 상기 신호 경로들의 세트의 적어도 하나의 나머지 신호 경로를 교정하는 단계를 포함하며, 상기 후속 교정을 수행하는 단계는 상기 신호 경로들의 서브세트의 상기 신호 경로들이 교정되는 단일 패스를 포함하는, 방법.
  13. 제9항에 있어서,
    제1 클록 주파수에서 수행되는 후속 교정을 위해, 상기 신호 경로들의 상기 나머지 신호 경로들 중 선택된 신호 경로에 대한 제1 업데이트된 눈 패턴을 결정하기 위한 기초로서 상기 신호 경로들의 서브세트 중 제1 신호 경로에 대한 교정 정보를 선택하는 단계; 및
    상기 제1 클록 주파수와 상이한 제2 클록 주파수로서 수행되는 후속 교정을 위해, 상기 신호 경로들의 상기 나머지 신호 경로들 중 상기 선택된 신호 경로에 대한 제2 업데이트된 눈 패턴을 결정하기 위한 기초로서 상기 신호 경로들의 서브세트 중 제2 신호 경로에 대한 교정 정보를 선택하는 단계를 더 포함하는, 방법.
  14. 제9항에 있어서,
    상기 메모리 서브시스템을 구현하는 시스템의 시작 동안 상기 초기 교정을 수행하는 단계;
    주기적으로 상기 후속 교정의 하나 이상의 인스턴스들을 수행하는 단계; 및
    성능 상태 변화에 응답하여 상기 후속 교정의 인스턴스를 수행하는 단계를 더 포함하는, 방법.
  15. 시스템으로서,
    메모리;
    신호 경로들의 제1 서브세트 및 제2 서브세트를 포함하는 복수의 신호 경로들에 의해 상기 메모리에 커플링된 메모리 제어기를 포함하며,
    상기 메모리 제어기는,
    상기 신호 경로들의 제1 서브세트 및 제2 서브세트 각각과 연관된 개개의 눈 패턴들을 결정하기 위해 초기 교정을 수행하고;
    상기 신호 경로들의 제2 서브세트 중 특정 신호 경로에 대해, 상기 신호 경로들의 제1 서브세트 중 대응하는 신호 경로를 프록시 신호 경로로서 선택하고;
    후속 교정의 하나 이상의 인스턴스들을 수행하도록 구성되고,
    상기 후속 교정의 상기 하나 이상의 인스턴스들 중 주어진 인스턴스는,
    업데이트된 개개의 눈 패턴들의 제1 세트를 결정하기 위해 상기 신호 경로들의 제1 서브세트를 활성화시키는 것;
    상기 프록시 신호 경로의 업데이트된 개개의 눈 패턴에 기초하여 상기 신호 경로들의 제2 서브세트 중 상기 특정 신호 경로에 대한 업데이트된 눈 패턴을 결정하는 것을 포함하는, 시스템.
  16. 제15항에 있어서, 상기 메모리 제어기는, 상기 초기 교정 동안 획득된 정보에 응답하여, 상기 신호 경로들의 제1 서브세트 중 다양한 신호 경로들과 상기 신호 경로들의 제2 서브세트 중 상기 특정 신호 경로의 개개의 눈 패턴들의 차이에 기초하여 상기 신호 경로들의 제2 서브세트 중 상기 특정 신호 경로에 대해 상기 프록시 신호 경로를 선택하도록 구성되는, 시스템.
  17. 제16항에 있어서, 상기 개개의 눈 패턴들의 차이는 전압 오프셋들 및 타이밍 오프셋들을 결정하는 것을 포함하며, 상기 메모리 제어기는, 상기 후속 교정의 인스턴스를 수행하는 것에 응답하여, 상기 프록시 신호 경로의 상기 개개의 업데이트된 눈 패턴과 상기 전압 및 타이밍 오프셋들을 결합함으로써 상기 신호들 경로들의 제2 서브세트 중 상기 특정 신호 경로에 대한 업데이트된 눈 패턴을 결정하도록 구성되는, 시스템.
  18. 제15항에 있어서, 상기 메모리 제어기는 상기 후속 교정의 인스턴스들을 주기적으로 수행하도록 구성되고, 성능 상태 변화에 응답하여 상기 후속 교정의 인스턴스를 수행하도록 추가로 구성되는, 시스템.
  19. 제15항에 있어서, 상기 메모리 제어기는,
    제1 성능 상태에서 상기 초기 교정의 일부를 수행하고;
    상기 신호 경로들의 제2 서브세트 중 상기 특정 신호 경로에 대해, 상기 제1 성능 상태에서의 상기 초기 교정으로부터 획득된 결과들에 기초하여 제1 프록시 경로를 선택하고;
    제2 성능 상태에서 상기 초기 교정의 일부를 수행하고;
    상기 신호 경로들의 제2 서브세트 중 상기 특정 신호 경로에 대해, 상기 제2 성능 상태에서의 상기 초기 교정으로부터 획득된 결과들에 기초하여 제2 프록시 경로를 선택하도록 추가로 구성되는, 시스템.
  20. 제15항에 있어서, 상기 메모리 제어기는,
    상기 제1 서브세트의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 제1 패스에서 그리고 상기 제2 서브세트 내의 신호 경로들에 대한 개개의 눈 패턴들을 결정하기 위해 제2 패스에서 상기 초기 교정을 수행하고;
    단일 패스에서 상기 후속 교정의 인스턴스들을 수행하도록 추가로 구성되는, 시스템.
KR1020237003910A 2020-08-05 2021-08-04 대체 결과들을 사용한 메모리 서브시스템 교정 KR20230029992A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/986,116 2020-08-05
US16/986,116 US11217285B1 (en) 2020-08-05 2020-08-05 Memory subsystem calibration using substitute results
PCT/US2021/044531 WO2022031840A1 (en) 2020-08-05 2021-08-04 Memory subsystem calibration using substitute results

Publications (1)

Publication Number Publication Date
KR20230029992A true KR20230029992A (ko) 2023-03-03

Family

ID=77564153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237003910A KR20230029992A (ko) 2020-08-05 2021-08-04 대체 결과들을 사용한 메모리 서브시스템 교정

Country Status (6)

Country Link
US (3) US11217285B1 (ko)
KR (1) KR20230029992A (ko)
CN (1) CN116075812A (ko)
DE (1) DE112021004180T5 (ko)
TW (1) TWI796748B (ko)
WO (1) WO2022031840A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220006927A (ko) * 2020-07-09 2022-01-18 삼성전자주식회사 메모리 컨트롤러, 및 이를 포함하는 스토리지 장치, 및 메모리 시스템
US11217285B1 (en) * 2020-08-05 2022-01-04 Apple Inc. Memory subsystem calibration using substitute results
KR20220019944A (ko) * 2020-08-11 2022-02-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20220142660A (ko) * 2021-04-15 2022-10-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US12014060B2 (en) * 2022-09-01 2024-06-18 Apple Inc. Memory calibration and margin check

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853938B2 (en) * 2002-04-15 2005-02-08 Micron Technology, Inc. Calibration of memory circuits
US7724852B2 (en) * 2006-08-30 2010-05-25 Rambus Inc. Drift cancellation technique for use in clock-forwarding architectures
CN107093464A (zh) * 2010-07-13 2017-08-25 桑迪士克科技有限责任公司 后台存储器系统接口的动态优化
TWI550631B (zh) * 2014-08-04 2016-09-21 瑞昱半導體股份有限公司 記憶體控制電路及相關的記憶體控制方法
US9618965B2 (en) * 2015-05-15 2017-04-11 Tektronix, Inc. Dynamic calibration of data patterns
US10169262B2 (en) 2015-07-14 2019-01-01 Qualcomm Incorporated Low-power clocking for a high-speed memory interface
US9640244B1 (en) * 2016-03-29 2017-05-02 Apple Inc. Pre-calibration for multiple performance states
US10083736B1 (en) * 2016-06-23 2018-09-25 Apple Inc. Adaptive calibration scheduling for a memory subsystem based on calibrations of delay applied to data strobe and calibration of reference voltage
US10552169B2 (en) * 2017-03-17 2020-02-04 Sandisk Technologies Llc On-die signal calibration
US10572183B2 (en) 2017-10-18 2020-02-25 Advanced Micro Devices, Inc. Power efficient retraining of memory accesses
US10242723B1 (en) * 2017-12-19 2019-03-26 Apple Inc. Method and apparatus for background memory subsystem calibration
US11061577B2 (en) 2018-10-30 2021-07-13 Samsung Electronics Co., Ltd. System on chip performing training of duty cycle of write clock using mode register write command, operating method of system on chip, electronic device including system on chip
US20200027503A1 (en) 2019-09-27 2020-01-23 Intel Corporation Method and apparatus to improve read latency of a multi-threshold level cell block-based non-volatile memory
US11217285B1 (en) * 2020-08-05 2022-01-04 Apple Inc. Memory subsystem calibration using substitute results

Also Published As

Publication number Publication date
WO2022031840A1 (en) 2022-02-10
CN116075812A (zh) 2023-05-05
TW202207013A (zh) 2022-02-16
US11776597B2 (en) 2023-10-03
US11217285B1 (en) 2022-01-04
DE112021004180T5 (de) 2023-06-29
US20220189519A1 (en) 2022-06-16
US20240062792A1 (en) 2024-02-22
TWI796748B (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
TWI796748B (zh) 使用替代結果之記憶體子系統校準
US10408863B2 (en) Reference voltage prediction in memory subsystem
US10734983B1 (en) Duty cycle correction with read and write calibration
US10169262B2 (en) Low-power clocking for a high-speed memory interface
US8806245B2 (en) Memory read timing margin adjustment for a plurality of memory arrays according to predefined delay tables
US20200194044A1 (en) Apparatuses and methods for setting a duty cycle adjuster for improving clock duty cycle
US9672882B1 (en) Conditional reference voltage calibration of a memory system in data transmisson
US9666264B1 (en) Apparatus and method for memory calibration averaging
US11018676B2 (en) Coarse delay lock estimation for digital DLL circuits
KR102312251B1 (ko) 메모리 제어 디바이스에서의 출력 지연의 동적 선택
US9305622B1 (en) Data strobe to data delay calibration
US10083736B1 (en) Adaptive calibration scheduling for a memory subsystem based on calibrations of delay applied to data strobe and calibration of reference voltage
US9286961B1 (en) Memory controller half-clock delay adjustment
EP3649645B1 (en) Double data rate synchronous dynamic random access memory ("ddr sdram") data strobe signal calibration
US9990973B1 (en) Systems and methods using neighboring sample points in memory subsystem calibration
US7733129B2 (en) Method and circuit for generating memory clock signal
US20150194196A1 (en) Memory system with high performance and high power efficiency and control method of the same
US10242723B1 (en) Method and apparatus for background memory subsystem calibration
US10991403B2 (en) Memory calibration with end point replay
US9640244B1 (en) Pre-calibration for multiple performance states
US9396778B1 (en) Conditional memory calibration cancellation
US9928890B2 (en) System and method for calibrating memory using credit-based segmentation control
US10622044B2 (en) Memory hold margin characterization and correction circuit
JP2009117020A (ja) 半導体メモリ装置
US9691470B1 (en) Apparatus and method for restricted range memory calibration