KR20210081224A - 동적 근접성 기반 온-다이 터미네이션을 위한 기술들 - Google Patents

동적 근접성 기반 온-다이 터미네이션을 위한 기술들 Download PDF

Info

Publication number
KR20210081224A
KR20210081224A KR1020200120557A KR20200120557A KR20210081224A KR 20210081224 A KR20210081224 A KR 20210081224A KR 1020200120557 A KR1020200120557 A KR 1020200120557A KR 20200120557 A KR20200120557 A KR 20200120557A KR 20210081224 A KR20210081224 A KR 20210081224A
Authority
KR
South Korea
Prior art keywords
memory device
memory
package
odt
command
Prior art date
Application number
KR1020200120557A
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 KR20210081224A publication Critical patent/KR20210081224A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • 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/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • 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/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/225Clock input buffers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0005Modifications of input or output impedance

Landscapes

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

Abstract

근접성 기반 온-다이 터미네이션(ODT)을 위한 기술들은, 메모리 디바이스와 동일한 데이터 채널에 커플링되는 다른 메모리 디바이스에 의한 커맨드의 실행 동안 다른 메모리 디바이스에 대한 메모리 디바이스의 근접성 및 커맨드가 판독 커맨드인지 또는 기입 커맨드인지에 기초하여 어떤 ODT 설정을 적용할지를 결정하는 메모리 디바이스를 포함한다.

Description

동적 근접성 기반 온-다이 터미네이션을 위한 기술들{TECHNIQUES FOR DYNAMIC PROXIMITY BASED ON-DIE TERMINATION}
본 명세서에서 설명되는 예들은 일반적으로 메모리 디바이스에서의 온 다이 터미네이션을 위한 기술들에 관한 것이다.
제어기로서 역할을 하는 애플리케이션 특정 집적 회로(application specific integrated circuit)(ASIC)와 커플링되는 메모리 디바이스들 또는 다이들을 갖는 일부 메모리 시스템들에서는, 메모리 디바이스들 또는 다이들에서 내부 저항 터미네이션(resistance termination)(RTT)에 대한 값들 및 ODT를 위한 온 및 오프 타이밍을 제어하기 위해 ASIC 및 메모리 디바이스들 모두에 다수의 온 다이 터미네이션(on die termination)(ODT) 핀들이 제공된다. 이러한 ODT 핀들은 통상적으로 메모리 디바이스 또는 다이에 대한 판독 또는 기입 동작 동안 RTT에 대한 적절한 시간량을 고려하기 위해 ASIC와 주어진 메모리 디바이스 또는 다이 사이의 협력을 필요로 한다.
도 1은 예시적인 제1 시스템을 예시한다.
도 2는 예시적인 제1 레지스터 테이블을 예시한다.
도 3은 예시적인 제2 레지스터 테이블을 예시한다.
도 4는 예시적인 제3 레지스터 테이블을 예시한다.
도 5는 예시적인 제2 시스템을 예시한다.
도 6은 예시적인 제1 로직 흐름을 예시한다.
도 7은 예시적인 장치를 예시한다.
도 8은 예시적인 제2 로직 흐름을 예시한다.
도 9는 예시적인 저장 매체를 예시한다.
도 10은 예시적인 제3 시스템을 예시한다.
메모리 디바이스들에 대한 액세스를 제어하기 위한 제어기로서 역할을 하는 ASIC와 커플링되는 메모리 디바이스들은 솔리드 스테이트 디바이스(solid state drive)(SSD) 또는 듀얼 인-라인 메모리 모듈(dual in-line memory module)(DIMM)과 같되, 이에 제한되지 않는 저장 디바이스에 배치될 수 있다. 일부 예들에서, 다수의 메모리 디바이스들 또는 다이들은 "패키지"로 지칭될 수 있는 다이 그룹들에 포함될 수 있다. 이러한 예들의 경우, 다수의 패키지들이 단일 데이터 또는 DQ 채널을 통해 ASIC와 커플링될 수 있다. 또한, 다수의 DQ 채널들(예를 들어, 4개 내지 10개 이상)이 일부 SSD 솔루션들 또는 구현들에 포함될 수 있다. 통상적으로, 내부 저항 터미네이션(RTT)은 반사로 인한 노이즈를 감소시키고 DQ 채널들을 통해 ASIC와 커플링되는 패키지들에 대한 신호 무결성을 향상시키기 위해 패키지에 포함된 각각의 메모리 디바이스 또는 다이에서 사용될 수 있다. 현재 RTT 요구 사항들은 통상적으로 DQ 채널당 다수의 ODT 핀들을 사용하여 각각의 메모리 디바이스에서의 RTT를 활성화시킴으로써 충족된다. 이는 이러한 SSD 솔루션들을 위한 제어기로서 역할을 하는 ASIC 상에 10개의 ODT 핀을 필요로 한다. 10개의 핀에 대한 필요성은 이러한 타입들의 SSD 솔루션들에 대한 비용에 부정적인 영향을 미칠 수 있으며, ASIC에 대한 폼 팩터를 부정적으로 제한할 수도 있다.
도 1은 예시적인 시스템(100)을 예시한다. 일부 예들에서는, 도 1에 도시된 바와 같이, 시스템(100)은 복수의 패키지들(105)에 포함된 복수의 메모리 디바이스들(120)과 커플링되는 제어기(110)를 포함한다. 일부 예들에서, 시스템(100)은 SSD와 같되, 이에 제한되지 않는 저장 디바이스일 수 있다. 본 명세서에 개시된 바와 같이, 메모리 디바이스 또는 메모리 디바이스들(120)과 같은 메모리 디바이스들에 대한 참조는 하나 이상의 상이한 메모리 타입을 포함할 수 있다. 본 명세서에서 설명되는 메모리 디바이스들은 비-휘발성 또는 휘발성 메모리 타입들을 지칭할 수 있다. 일부 비-휘발성 메모리 타입들은 NAND 또는 NOR 기술들과 같은 어드레스 지정 가능 블록일 수 있다. 다른 비-휘발성 메모리 타입들은 이하 "3-D 크로스-포인트 메모리"로 지칭되는 칼코게나이드(chalcogenide) 상변화 재료(예를 들어, 칼코게나이드 유리)를 포함하되, 이에 제한되지 않는 3-차원(3-D) 크로스-포인트 메모리(3-dimensional(3-D) cross-point memory) 구조를 갖는 비-휘발성 메모리의 바이트 또는 블록 어드레스 지정 가능 타입들일 수 있다. 비-휘발성 타입들의 메모리는 또한 멀티-임계 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 멀티-레벨 상변화 메모리(phase change memory)(PCM), 저항성 메모리, 나노와이어 메모리, 강유전성 트랜지스터 랜덤 액세스 메모리(ferroelectric transistor random access memory)(FeTRAM), 반-강유전성 메모리, 금속 산화물 베이스, 산소 결함(oxygen vacancy) 베이스 및 전도성 브리지 랜덤 액세스 메모리(conductive bridge random access memory)(CB-RAM)를 포함하는 저항성 메모리, 스핀트로닉 자기 접합 메모리, 자기 터널링 접합(magnetic tunneling junction)(MTJ) 메모리, 도메인 벽(domain wall)(DW) 및 스핀 궤도 전달(spin orbit transfer)(SOT) 메모리, 사이리스터(thyristor) 기반 메모리, 멤리스터(memristor) 기술을 통합하는 자기 저항 랜덤 액세스 메모리(magnetoresistive random access memory)(MRAM), 스핀 전달 토크 MRAM(spin transfer torque MRAM)(STT-MRAM), 또는 상기한 것들 중 임의의 것의 조합과 같되, 이에 제한되지 않는 다른 타입들의 바이트 또는 블록 어드레스 지정 가능 비-휘발성 메모리를 포함할 수 있다.
본 명세서에서 "RAM" 또는 "RAM 디바이스"를 지칭하는 설명들은 휘발성이든 비-휘발성이든간에 랜덤 액세스를 허용하는 임의의 메모리 디바이스에 적용될 수 있다. 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM) 또는 동기식 DRAM(synchronous DRAM)(SDRAM), DRAM 디바이스 또는 SDRAM 디바이스를 지칭하는 설명들은 휘발성 랜덤 액세스 메모리 디바이스를 지칭할 수 있다. 메모리 디바이스, SDRAM 또는 DRAM은 다이 자체, 하나 이상의 다이를 포함하는 패키지형 메모리 제품 또는 둘 다를 지칭할 수 있다. 일부 예들에서, 리프레시될 필요가 있는 휘발성 메모리를 갖는 시스템은 또한 적어도 최소 레벨의 메모리 지속성을 지원하기 위해 적어도 일부 비-휘발성 메모리를 포함할 수 있다.
제어기(110)는, 도 1에 도시된 바와 같이, 패키지들(105) 상에 위치되는 메모리 디바이스들(120)에 액세스하기 위한 제어기를 나타낼 수 있다. 일부 예들에서, 시스템(100)은 저장 디바이스일 수 있고, 제어기(110)는 메모리 디바이스들(120)에 액세스하기 위한 특정 솔루션을 위해 설계되는 ASIC일 수 있다. 예를 들어, 데이터 센터 환경에 배치된 SSD를 위한 저장 엔터프라이즈 솔루션. 또한, 제어기(110)의 회로망(112)은 (예를 들어, 시스템(100)을 호스팅할 수 있는 호스트 컴퓨팅 플랫폼의 프로세서로부터의) 메모리 디바이스들(120)에 대한 액세스 요청들에 응답하여 메모리 액세스 커맨드들을 생성하기 위한 로직 및/또는 피처들을 지원할 수 있다. 일부 예들에서, 제어기(110)는 하나 이상의 메모리 디바이스(120)에 액세스할 수 있다. 별도의 패키지들(105) 상에 위치되는 메모리 디바이스들(120)의 그룹들은 상이한 채널들을 통해 조직 및 관리될 수 있으며, 여기서 이러한 채널들은 버스들 및 신호 라인들을 통해 제어기(110)에 병렬로 커플링될 수 있다. 각각의 채널은 독립적으로 동작 가능할 수 있다. 따라서, 별도의 채널들이 독립적으로 액세스 및 제어될 수 있으며, 타이밍, 데이터 전송, 커맨드 및 어드레스 교환들 및 다른 동작들이 각각의 채널에 대해 분리될 수 있다. 커플링은 전기적 커플링, 통신적 커플링, 물리적 커플링 또는 이들의 조합을 지칭할 수 있다. 물리적 커플링은 직접 접촉을 포함할 수 있다. 예를 들어, 전기적 커플링은 컴포넌트들 사이의 전기 흐름을 허용하거나, 또는 컴포넌트들 사이의 시그널링을 허용하거나, 또는 이들 모두를 허용하는 인터페이스 또는 상호 연결을 포함한다. 예를 들어, 통신적 커플링은 컴포넌트들이 데이터를 교환할 수 있도록 하는 유선 또는 무선을 포함한 연결들을 포함한다.
일부 예들에 따르면, 제어기(110)는 위에서 참조된 메모리 채널과 같은 메모리 버스에 커플링하기 위한 I/O 인터페이스 회로망(114)을 포함한다. I/O 인터페이스 회로망(114)(뿐만 아니라, 메모리 디바이스들(1120)의 I/O 인터페이스 회로망(122))은 핀들, 패드들, 커넥터들, 신호 라인들, 트레이스들, 또는 와이어들, 또는 디바이스들을 연결하기 위한 다른 하드웨어, 또는 이들의 조합을 포함할 수 있다. I/O 인터페이스 회로망(114)은 하드웨어 인터페이스를 포함할 수 있다. 도 1에 도시된 바와 같이, I/O 인터페이스 회로망(114)은 적어도 신호 라인들을 위한 드라이버들/트랜시버들을 포함한다. 일반적으로, 집적 회로 인터페이스 내의 와이어들은 디바이스들 사이의 신호 라인들 또는 트레이스들 또는 다른 와이어들을 인터페이스하기 위한 패드, 핀, 또는 커넥터와 커플링된다. I/O 인터페이스 회로망(114)은 제어기(110)와 별도의 패키지들(105) 상에 위치되는 메모리 디바이스들(120)의 그룹들 사이의 신호 라인들 상에서 신호들을 교환하기 위한 드라이버들, 수신기들, 트랜시버들 또는 터미네이션, 또는 다른 회로망 또는 회로망의 조합들을 포함할 수 있다. 신호들의 교환은 송신 또는 수신 중 적어도 하나를 포함한다. 제어기(110)로부터의 I/O 인터페이스 회로망(114)을 메모리 디바이스들(120)의 I/O 인터페이스 회로망(122)에 커플링시키는 것으로 도시되어 있지만, 메모리 디바이스들(120)의 그룹들이 병렬로 액세스되는 시스템(100)의 구현에서, 다수의 패키지들(105)에서의 다수의 메모리 디바이스들(120)이 제어기(110)의 동일한 인터페이스에 대한 I/O 인터페이스 회로망을 포함한다는 것이 이해될 것이다.
일부 예들에서, 제어기(110)는 다수의 신호 라인들을 통해 메모리 디바이스들(120)과 커플링될 수 있다. 다수의 신호 라인들은 적어도 클록(CLK)(132), 커맨드/어드레스(CMD)(134), 기입 데이터(DQ) 및 판독 데이터(DQ)(136), 및 0개 이상의 기타 신호 라인(138)을 포함할 수 있다. 일부 예들에 따르면, 메모리 제어기(110)를 메모리 디바이스(들)(120)에 커플링하는 신호 라인들의 구성은 집합적으로 메모리 버스로 지칭될 수 있다. CMD(134)에 대한 신호 라인들은 "커맨드 버스", "C/A 버스" 또는 ADD/CMD 버스, 또는 커맨드들의 전송을 나타내는 일부 다른 지정으로 지칭될 수 있다. DQ(136)에 대한 신호 라인들은 "데이터 버스"로 지칭될 수 있다.
일부 예들에 따르면, 독립 채널들은 상이한 클록 신호들, 커맨드 버스들, 데이터 버스들 및 다른 신호 라인들을 가질 수 있다. 이러한 예들의 경우, 시스템(100)은 독립적인 인터페이스 경로가 별도의 버스로 간주될 수 있다는 점에서 다수의 "버스들"을 갖는 것으로 간주될 수 있다. 도 1에 도시된 신호 라인들에 더하여, 버스는 또한 스트로브 시그널링 라인들, 경보 라인들, 보조 라인들, 또는 다른 신호 라인들, 또는 이러한 추가 신호 라인들의 조합 중 적어도 하나를 포함할 수 있다는 것이 이해될 것이다. 또한, 직렬 버스 기술들이 제어기(110)와 메모리 디바이스들(120) 사이에서 신호들을 송신하는 데 사용될 수 있다는 것이 이해될 것이다. 직렬 버스 기술의 예는 각각의 방향으로의 단일 차동 쌍의 신호들을 통해 임베딩된 클록을 갖는 고속 데이터의 8B10B 인코딩 및 송신이다. 일부 예들에서, CMD(134)는 주어진 패키지(105) 상에 위치되는 다수의 메모리 디바이스들(120)과 병렬로 공유되는 신호 라인들을 나타낸다. 예를 들어, 패키지(105-1)의 메모리 디바이스들(120-1 내지 120-n)과 병렬로 공유되는 신호 라인들로서, 여기서 "n"은 3보다 큰 임의의 전체 양의 정수이다. 다른 예들에서, 주어진 패키지(105)의 메모리 디바이스들(120)은 CMD(134)의 인코딩 커맨드 신호 라인들을 공유하고, 각각의 메모리 디바이스는 주어진 패키지(105)에 대한 개별 메모리 디바이스들(120)을 선택하기 위한 별도의 칩 선택(CS#) 신호 라인을 가질 수 있다.
일부 예들에서, 제어기(110)와 메모리 디바이스들(120) 사이의 버스는 CMD(134)에 포함된 신호 라인들을 통해 라우팅되는 보조 커맨드 버스, 및 DQ(136)에 포함된 신호 라인들을 통해 라우팅되는 기입 및 판독 데이터를 운반하기 위한 보조 데이터 버스를 포함한다. 일부 예들에서, CMD(134) 및 DQ(136)는 개별적으로 양방향 라인들을 포함할 수 있다. 다른 예들에서, DQ(136)는 메모리 디바이스들(120)에 데이터를 기입하기 위한 단방향 기입 신호 라인들, 및 메모리 디바이스들(120)로부터 데이터를 판독하기 위한 단방향 라인들을 포함할 수 있다.
일부 예들에 따르면, 선택된 메모리 기술 및 시스템 설계에 따라, 기타(138)에 포함된 신호 라인들은 메모리 버스 또는 보조 버스를 증가시킬 수 있다. 예를 들어, DQS를 위한 스트로브 라인 신호 라인들. 시스템(100)의 설계 또는 메모리 기술 구현에 기초하여, 메모리 버스는 메모리 디바이스들(120)에 포함된 메모리 디바이스 당 더 많거나 더 적은 대역폭을 가질 수 있다. 메모리 버스는 x32 인터페이스, x16 인터페이스, x8 인터페이스 또는 다른 인터페이스 중 어느 것을 갖는 메모리 디바이스들(120)에 포함된 메모리 디바이스들을 지원할 수 있다. 관례상 표현인 "xW"에서, W는 메모리 디바이스들(120)의 인터페이스의 인터페이스 사이즈 또는 폭을 지칭하는 정수이며, 이는 제어기(110)와 데이터를 교환하기 위한 신호 라인들의 수를 나타낸다. 이러한 메모리 디바이스들의 인터페이스 사이즈는 시스템(100)에서 채널당 동시에 사용될 수 있거나 또는 동일한 신호 라인들에 병렬로 커플링될 수 있는 메모리 디바이스들의 수에 대한 제어 팩터일 수 있다. 일부 예들에서, 고 대역폭 메모리 디바이스들, 와이드 인터페이스 메모리 디바이스들 또는 스택형 메모리 디바이스들 또는 조합들은 x128 인터페이스, x256 인터페이스, x512 인터페이스, x1024 인터페이스 또는 다른 데이터 버스 인터페이스 폭들과 같은 더 넓은 인터페이스들을 가능하게 할 수 있다.
일부 예들에서, 메모리 디바이스들(120) 및 제어기(110)는 DQ(136)에 포함된 신호 라인들을 통해 데이터 버스를 통해 데이터를 버스트로 또는 연속적인 데이터 전송들의 시퀀스로 교환한다. 버스트는 버스 주파수와 관련된 전송 사이클들의 수에 대응한다. 주어진 전송 사이클은 동일한 클록 또는 스트로브 신호 에지(예를 들어, 상승 에지)에서 발생하는 전송들에 대한 전체 클록 사이클일 수 있다. 일부 예들에서, 시스템 클록의 사이클을 지칭하는 모든 클록 사이클은 다수의 단위 간격(unit interval)(UI)들로 분리될 수 있으며, 여기서 각각의 UI는 전송 사이클이다. 예를 들어, 2배 데이터 레이트 전송들이 클록 신호의 양쪽 에지들(예를 들어, 상승 및 하강) 모두에서 트리거된다. 버스트는 구성된 수의 UI들에 대해 지속될 수 있으며, 이는 레지스터에 저장되거나 또는 온 더 플라이(on the fly)로 트리거되는 구성일 수 있다. 예를 들어, 8개의 연속 전송 주기의 시퀀스는 버스트 길이 8(BL8)로 간주될 수 있고, 각각의 메모리 디바이스(120)는 각각의 UI에서 데이터를 전송할 수 있다. 따라서, BL8에서 동작하는 x8 메모리 디바이스는 64비트의 데이터를 전송할 수 있다(8개의 데이터 신호 라인 x 버스트를 통해 라인 당 전송되는 8개의 데이터 비트). 이 간단한 예는 단지 예시일뿐이며, 제한이 아니라는 것이 이해될 것이다.
일부 예들에 따르면, 메모리 디바이스들(120)은 시스템(100)에 대한 메모리 자원들을 나타낸다. 이러한 예들의 경우, 메모리 디바이스들(120)의 각각의 메모리 디바이스는 별도의 메모리 다이를 나타낼 수 있다. 메모리 다이 그룹들은 별도의 패키지들(105)에 포함될 수 있다. 메모리 디바이스들(120) 중 주어진 메모리 디바이스는 I/O 인터페이스 회로망(122)을 포함할 수 있고, 주어진 메모리 디바이스의 구현 또는 구성과 연관된 인터페이스 폭에 의해 결정되는 대역폭을 가질 수 있다(예를 들어, x16 또는 x8 또는 일부 다른 인터페이스 대역폭). I/O 인터페이스 회로망(122)은 메모리 디바이스가 제어기(110)와 인터페이스하게 할 수 있다. I/O 인터페이스 회로망(122)은 하드웨어 인터페이스를 포함하고, 제어기(110)의 I/O 인터페이스 회로망(114)과 협력하여 동작할 수 있다.
일부 예들에서, 메모리 디바이스들(120) 및 패키지들(105)은 제어기(110)와 동일한 더 큰 패키지에 통합될 수 있다. 예를 들어, 멀티-칩-모듈(multi-chip-module)(MCM), 스루-실리콘 비아(through-silicon via)(TSV)를 갖는 패키지-온-패키지, 또는 다른 기술들 또는 조합들에 통합될 수 있다. 이러한 예들 및 다른 예들의 경우, 제어기(110)는 또한 프로세서의 일부일 수도 있고 또는 이와 통합될 수도 있다는 것이 이해될 것이다.
일부 예들에 따르면, 도 1에 도시된 바와 같이, 메모리 디바이스(120)는 하나 이상의 레지스터(들)(124)를 포함한다. 레지스터들(124)은 메모리 디바이스(120)의 구성 및/또는 동작을 위한 구성 또는 설정들을 제공하는 하나 이상의 저장 디바이스 또는 저장 위치를 나타낼 수 있다. 하나의 예에서, 레지스터(들)(124)는 제어 또는 관리 동작의 일부로서 제어기(110)에 의한 액세스를 위한 데이터를 저장하기 위해 메모리 디바이스들(120)에 대한 저장 위치를 제공할 수 있다. 예를 들어, 레지스터(들)(124)는 하나 이상의 모드 레지스터(mode register)(MR)를 포함할 수 있고/있거나, 하나 이상의 다목적 레지스터를 포함할 수 있다.
일부 예들에서, 레지스터(들)(124) 중 하나 이상의 레지스터에 기입하거나 또는 이를 프로그래밍하는 것은 메모리 디바이스들(120)이 상이한 "모드들"에서 동작하도록 구성할 수 있다. 이러한 예들의 경우, 하나 이상의 레지스터에 기입되거나 또는 프로그래밍된 커맨드 정보는 메모리 디바이스들(120) 내에서 상이한 모드들을 트리거할 수 있다. 추가적으로 또는 대안적으로, 상이한 모드들은 또한 트리거되는 모드에 따라 어드레스 정보 또는 다른 신호 라인들과 상이한 동작들을 트리거할 수 있다. 레지스터(들)(124)의 프로그래밍된 설정들은 I/O 설정들의 구성을 나타내거나 또는 트리거할 수 있다. 예를 들어, 타이밍, 터미네이션, 온-다이 터미네이션(ODT), 드라이버 구성 또는 다른 I/O 설정들의 구성. 이하에서 더 상세하게 설명되는 바와 같이, 제어기(110)의 회로망(112)은 모드 레지스터(mode register)(MR) 프로그램 로직(115)을 실행하여, 하나 이상의 레지스터(들)(124)를 프로그래밍하여, ODT 설정들(125)을 설정 또는 프로그래밍할 수 있다. 메모리 디바이스들(120)의 제어 회로망(121)은 커맨드 기반 동적 ODT 방식을 구현하기 위해 ODT 설정들(125)에 액세스 가능할 수 있다. 커맨드 기반 동적 ODT 방식의 사용은 MR 프로그램 로직(115)이 하나 이상의 레지스터(들)(124)를 프로그래밍하여 ODT 설정들(125)을 확립하게 하고, 메모리 디바이스들(120)에서 ODT 설정들을 활성화하기 위한 I/O 인터페이스 회로망(114)의 ODT 핀들에 대한 필요성을 제거하게 할 수 잇다. 일부 예들에서는, 커맨드 기반 동적 ODT 방식이 구현될 때, 제어기(110)의 I/O 인터페이스 회로망(114)으로부터 10개의 ODT 핀이 제거될 수 있다. ODT 핀들은 또한 메모리 디바이스들(120)의 I/O 인터페이스 회로망(122)으로부터 제거될 수 있지만, 일부 예들에서, ODT 핀들은 메모리 디바이스들(120)이 여전히 ODT 설정들을 활성화하기 위해 ODT 핀들을 활용하는 레거시 제어기들과 함께 여전히 동작할 수 있도록 유지될 수 있다.
일부 예들에 따르면, 메모리 디바이스들(120)은 I/O 인터페이스 회로망(122)과 연관된 인터페이스 하드웨어의 일부로서 ODT(126)를 포함한다. ODT(126)는 지정된 신호 라인들에 대한 인터페이스에 적용될 임피던스에 대한 설정들을 제공할 수 있다. 예를 들어, ODT(126)는 DQ(136) 또는 CMD(134)에 포함된 신호 라인들에 임피던스를 적용하도록 구성될 수 있다. ODT(126)에 대한 ODT 설정들은 위에서 언급된 커맨드 기반 동적 ODT 방식에 기초하여 변경될 수 있다. 이하에서 더 설명되는 바와 같이, 커맨드 기반 동적 ODT 방식은 메모리 액세스 타입(예를 들어, 판독 또는 기입), 및 지정된 패키지 상에 위치되는 종단 메모리 디바이스(terminating memory device)와 동일하거나 또는 상이한 패키지 상에 있을 수 있는 액세스된 메모리 디바이스의 근접성에 기초할 수 있다. ODT(126)에 대한 ODT 설정들(125)에 표시된 ODT 설정들은, 예를 들어, CMD(134) 또는 DQ(136)에 포함된 종단 신호 라인들에 대한 시그널링의 타이밍 및 반사들에 영향을 미칠 수 있다. ODT(126)를 설정하는 데 어떤 ODT 설정들(125)을 사용할지를 결정하면 적용되는 임피던스와 부하의 향상된 매칭에 의해 고속 동작을 가능하게 할 수 있다. 임피던스 및 부하는 I/O 인터페이스 회로망(122)의 특정 신호 라인들(예를 들어, CMD(134) 및 DQ(136))에 적용될 수 있으며, 모든 신호 라인들에 반드시 적용되는 것은 아니다.
일부 예들에서는, 도 1에 도시된 바와 같이, 메모리 디바이스들(120)은 제어 회로망(121)을 포함한다. 제어 회로망(121)은 메모리 디바이스들(120) 내의 내부 동작들을 제어하기 위해 메모리 디바이스들(120) 내의 로직을 실행할 수 있다. 예를 들어, 제어 회로망(121)은 제어기(110)에 의해 전송된 커맨드들을 디코딩하고, 커맨드들을 실행하거나 또는 이를 만족시키기 위한 내부 동작들을 생성한다. 제어 회로망(121)은 내부 제어기로 지칭될 수 있으며, 제어기(110)와는 별개이다. 제어 회로망(121)은 레지스터(들)(124)에 표시된 프로그래밍된 설정들 또는 디폴트 설정들에 기초하여 어떤 모드가 선택되는지를 결정하기 위한 로직 및/또는 피처들을 포함하고, 선택된 모드에 기초하여 주어진 메모리 디바이스(120)에 대한 액세스를 위한 동작들 또는 다른 동작들의 내부 실행을 구성할 수 있다. 제어 회로망(121)은 선택된 모드에 대한 적절한 인터페이스를 제공하고 주어진 메모리 디바이스(120)에 포함된 물리적 메모리 자원들의 적절한 메모리 위치들 또는 어드레스들에 커맨드를 지시하기 위해 메모리 디바이스들(120) 내의 비트들의 라우팅을 제어하기 위한 제어 신호들을 생성한다.
다시 제어기(110)를 참조하면, 제어기(110)는 메모리 디바이스들(120)로 전송할 커맨드들을 생성하기 위한 로직 및/또는 피처들을 실행할 수 있는 회로망(112)을 포함한다. 커맨드들의 생성은 전송될 준비가 된 대기열에 있는 커맨드들의 스케줄링 또는 준비 이전의 커맨드를 참조할 수 있다. 일반적으로, 메모리 서브시스템들에서의 시그널링은 메모리 디바이스들(120)이 커맨드를 실행해야 하는 하나 이상의 메모리 위치를 나타내거나 또는 선택하기 위해 커맨드 내에 또는 그에 수반하여 어드레스 정보를 포함한다. 메모리 디바이스들(120)에 대한 트랜잭션들의 스케줄링에 응답하여, 제어기(110)는 메모리 디바이스들(120)로 하여금 커맨드들을 실행하게 하기 위해 I/O 인터페이스 회로망(114)을 통해 커맨드들을 발행할 수 있다. 일부 예들에서, 메모리 디바이스들(120)의 제어 회로망(121)은 제어기(110)로부터 I/O 인터페이스 회로망(122)을 통해 수신되는 커맨드 및 어드레스 정보를 수신하고 디코딩한다. 수신된 커맨드 및 어드레스 정보에 기초하여, 회로망(112)은 커맨드들을 실행하기 위해 메모리 디바이스들(120) 내의 로직, 피처들 및/또는 회로망의 동작 타이밍을 제어할 수 있다.
도 2는 예시적인 레지스터 테이블(200)을 예시한다. 일부 예들에서는, 도 2에 도시된 바와 같이, 레지스터 테이블(200)은 16비트 레지스터에 대한 ODT 타입들 및 설정들을 나타낸다. 예를 들어, 16비트 레지스터는 메모리 디바이스들(120)의 레지스터(들)(124)에 포함될 수 있다. MR 프로그램 로직(115)은 Rtt_nom을 설정하기 위해 비트들 [4:1]을, Rtt_Wr을 설정하기 위해 비트들 [8:5]를, Rtt_park를 설정하기 위해 비트들 [12:9]를, 매트릭스 ODT가 인에이블되는지 여부를 나타내기 위해(예를 들어, 근접성에 기초하여 동적 ODT 선택을 가능하게 하기 위해) 비트 [13]을, 동적 모드가 인에이블되는지 여부를 나타내기 위해 비트 [14]를 설정 또는 프로그래밍 가능할 수 있다.
일부 예들에서, 매트릭스 ODT는 종단 메모리 디바이스 또는 다이가 다른 메모리 디바이스에 대한 액세스 동안(예를 들어, 기입 동작 동안) 그 각각의 ODT 설정을 설정하는 방법의 확립에 기초하여 인에이블될 수 있다. 이러한 예들의 경우, 액세스된 메모리 디바이스에 대한 종단 메모리 디바이스의 근접성은 종단 메모리 디바이스로 하여금 적어도 2개의 별도의 매트릭스 ODT 설정 중 하나로부터 선택하게 할 수 있다. 일부 예들에 따르면, 이하에서 더 설명되는 바와 같이, 적어도 2개의 별도의 매트릭스 ODT 설정은 또한 레지스터(들)(124)에 포함된 레지스터를 통해 MR 프로그램 로직(115)에 의해 설정 또는 프로그래밍될 수 있다. 예들은 240 ohm 내지 30 ohm 범위로 레지스터 테이블(200)에 표시된 ODT 설정 값들에 제한되지 않고, ODT 디스에이블 옵션을 포함한다. 이러한 ODT 설정들은 가능한 ODT 설정 범위 및 디스에이블 옵션의 예들로서 제공된다.
일부 예들에 따르면, 비-종단 메모리 디바이스 또는 다이가 다른 메모리 디바이스에 대한 기입 액세스 동안 그 각각의 ODT 설정을 설정하는 방법의 확립에 기초하여 동적 모드가 인에이블될 수 있다. 동적 모드가 인에이블되는 경우, 비-종단 메모리 디바이스는 비트들 [12:9]에 표시된 Rtt_park ODT 설정을 사용한다. 동적 모드가 인에이블되지 않는 경우, 비-종단 메모리 디바이스는 Hi_z(최대 임피던스) ODT 설정을 사용한다.
도 3은 예시적인 레지스터 테이블(300)을 예시한다. 일부 예들에서는, 도 3에 도시된 바와 같이, 레지스터 테이블(300)은 8비트 레지스터에 대한 ODT 타입들 및 설정들을 나타낸다. 예를 들어, 8비트 레지스터는 메모리 디바이스들(20)의 레지스터(들)(124)에 포함될 수 있다. MR 프로그램 로직(115)은 Rtt_matrix1을 설정하기 위해 비트들 [3:0]을, Rtt_matrix2를 설정하기 위해 비트들 [7:4]를 설정 또는 프로그래밍 가능할 수 있다. 이하에서 더 설명되는 바와 같이, 기입 동작 동안 액세스되는 액세스된 메모리 디바이스를 포함하는 동일한 그룹에 종단 메모리 디바이스가 위치되는 경우에는 Rtt_matrix1이 사용될 수 있고, 종단 메모리 디바이스가 액세스된 메모리 디바이스와 상이한 그룹에 위치되는 경우에는 Rtt_matrix2가 사용될 수 있다. 예들은 240 ohm 내지 30 ohm 범위로 레지스터 테이블(200)에 표시된 ODT 설정 값들에 제한되지 않고, ODT 디스에이블 옵션을 포함한다. 이러한 ODT 설정들은 가능한 ODT 설정 범위 및 디스에이블 옵션의 예들로서 제공된다. 또한, 예들은 단지 2개의 매트릭스 ODT 설정에만 국한되지 않는다. 일부 예들에서, 하나 이상의 레지스터는 3개 이상의 매트릭스 ODT 설정을 나타내도록 설정될 수 있다.
도 4는 예시적인 레지스터 테이블(400)을 예시한다. 일부 예들에서는, 도 4에 도시된 바와 같이, 레지스터 테이블(400)에서, 8비트 레지스터가 0, 1, 2 및 3의 SelectID들을 갖는 4개의 그룹으로 된 메모리 디바이스들의 그룹화를 나타낼 수 있다. 이러한 예들의 경우, 주어진 그룹에 대한 SelectID는 판독 커맨드 또는 기입 커맨드 중 어느 것에 응답하여 메모리 디바이스에 액세스하도록 어드레스 지정된 커맨드의 비트들 [4:3]로 표시될 수 있다. 일부 예들에 따르면, 레지스터 테이블(300)에 표시된 4개의 그룹은 제어기와 동일한 DQ 채널에 커플링될 수 있다. 예를 들어, 패키지들(105-1, 105-2, 105-3 및 105-n)은 DQ(136)를 통해 라우팅되는 DQ 채널을 통해 제어기(110)와 커플링될 수 있다. 이러한 예의 경우, 각각의 패키지는 메모리 디바이스(120)에 대한 액세스 동안 그 각각의 패키지에 대한 터미네이션을 제공할 종단 메모리 디바이스 또는 다이를 가질 수 있다. 예를 들어, 각각의 패키지(105)에 대한 메모리 디바이스(120-n)는 그 각각의 패키지에 대한 종단 메모리 디바이스로서 역할을 할 수 있다. 예들은 4개의 그룹에 제한되지 않는다. 본 개시내용에 의해 더 많거나 더 적은 그룹들이 고려된다.
일부 예들에 따르면, 제어기(110)의 MR 프로그램 로직(115)은 액세스되고 있는 주어진 그룹과 관련된 종단 메모리 디바이스의 상대적 물리적 위치들에 기초하여, 그리고 액세스 타입에 기초하여, 종단 메모리 디바이스의 비트들 0-7을 설정 또는 프로그래밍할 수 있다. 예를 들어, 메모리 디바이스(120-n)는 SelectID = 0을 갖는 패키지(105-1)에 대한 종단 메모리 디바이스일 수 있다. MR 프로그램 로직(115)은 비트들 [1:0]을 프로그래밍할 필요가 없는데, 왜냐하면 해당 비트들은 메모리 디바이스(120-n)와 동일한 그룹에 대한 액세스를 나타내고, 메모리 디바이스(120-n)는 판독 커맨드에 대해 Hi_z(최대 임피던스)의 ODT 설정을 사용하거나 또는 그룹 0에 대한 기입 커맨드에 대해 Rtt_Mt1의 매트릭스 ODT 설정을 사용하도록 훈련될 수 있다. Rtt_Mt1의 사용은 메모리 디바이스(120-n)가 Rtt_Mt1에 대해 레지스터(들)(124-1)에서 유지되는 ODT 설정을 참조하도록 프롬프트할 것이다(예를 들어, 레지스터 테이블(300)에 나타낸 비트들 [3:0]).
일부 예들에서는, 판독 커맨드의 경우, 비트 [2], [4] 및 [6]은, 액세스되는 그룹으로부터 인접하거나 또는 그 근처에 있는 것(Rtt_nom 사용) 또는 그에 인접하지 않거나 또는 그로부터 멀리 있는 것(Rtt_park 사용)과 같은 그룹 0의 상대적 포지션에 기초하여, Rtt_nom을 사용할지 또는 Rtt_park를 사용할지를 나타내기 위해 MR 프로그램 로직(115)에 의해 개별적으로 설정 또는 프로그래밍될 수 있다. 예를 들어, 그룹 0이 그룹 1 근처에 위치된 경우, 메모리 디바이스(120-n)에 대한 비트 [2]는 Rtt_nom으로 설정될 것이고, 메모리 디바이스(120-n)는 Rtt_nom에 대해 레지스터(들)(124-1)에서 유지되는 ODT 설정을 참조할 것이다(예를 들어, 레지스터 테이블(200)에 나타낸 비트들 [4:1]). 또한, 그룹 0이 그룹 2 및 3에서 멀리 위치된 경우, 메모리 디바이스(120-n)에 대한 비트 [4] 및 [6]은 Rtt_park로 설정될 것이고, 메모리 디바이스(120-n)는 Rtt_park에 대해 레지스터(들)(124-1)에서 유지되는 ODT 설정을 참조할 것이다(예를 들어, 레지스터 테이블(200)에 나타낸 비트들 [12:9]).
일부 예들에 따르면, 기입 커맨드의 경우, 비트 [3], [5] 및 [7]은 Rtt_Mt2의 매트릭스 ODT 설정의 사용을 나타내기 위해 MR 프로그램 로직(115)에 의해 개별적으로 설정 또는 프로그래밍될 수 있다. 이러한 예들의 경우, Rtt_Mt2가 이러한 비트들에 설정되는데, 왜냐하면 그룹 0 이외의 임의의 그룹에 대한 액세스는 메모리 디바이스(120-n)가 Rtt_Mt2에 대해 레지스터(들)(124-1)에서 유지되는 ODT 설정을 참조하도록 프롬프트할 것이기 때문이다(예를 들어, 레지스터 테이블(300)에 나타낸 비트들 [7:4]).
도 5는 예시적인 시스템(500)을 예시한다. 일부 예들에서는, 도 5에 도시된 바와 같이, 시스템(500)은 동일한 채널 DQ [7:0](512)를 통해 제어기(510)에 커플링되는 패키지들(520, 530, 540 및 550)을 포함하며, 이는 어떤 메모리 디바이스가 액세스되는지를 나타내기 위해 CS[#](514)를 통한 칩 선택(chip select)(CS) 신호를 활용한다. 이러한 예들의 경우, 제어기(510)는 도 1에서 도시되고 위에서 설명된 제어기(110)와 유사할 수 있다. 또한, 각각의 메모리 디바이스들(522, 532, 542 및 552)을 포함하는 패키지들(520, 530, 540 및 550)은 도 1에 도시되고 위에서 설명된 메모리 디바이스들(120)을 포함하는 패키지들(105)과 유사할 수 있다.
일부 예들에 따르면, 각각의 패키지에 대한 종단기(terminator) 또는 종단 메모리 디바이스는 패키지(520)를 위한 메모리 디바이스(522-4), 패키지(530)를 위한 메모리 디바이스(532-4), 패키지(540)를 위한 메모리 디바이스(542-4) 및 패키지(550)를 위한 메모리 디바이스(552-4)일 수 있다. 또한, 패키지(520)는 SelectID = 0을 갖고, 패키지(530)는 SelectID = 1을 갖고, 패키지(540)는 SelectID = 2를 갖고, 패키지(550)는 SelectID = 3을 갖는다. 도 5에 도시된 바와 같이, 일부 예들에서, 4개의 종단기 메모리 디바이스에 대한 별도의 ODT 테이블들은 액세스되는 패키지의 SelectID 및 액세스가 기입 커맨드에 응답하는지 또는 판독 커맨드에 응답하지는지에 기초하여 어떤 ODT 설정이 사용될지를 개별적으로 결정하기 위해 이러한 종단기 메모리 디바이스들에 대한 결정 매트릭스를 나타낸다. 이러한 예들의 경우, 각각의 종단기 메모리 디바이스는 그 각각의 결정 매트릭스를 통해, 커맨드 타입 및 액세스된 패키지에 대한 상대적 근접성에 기초하여 어떤 ODT 설정들을 적용할지를 결정한다.
제1 예에서, 메모리 디바이스(522-4)에 대한 ODT 테이블은, SelectID가 00XXX인 경우, 이것은 액세스된 메모리 디바이스가 메모리 디바이스(522-4)와 동일한 패키지 또는 그룹에 위치되어 있음을 나타내고, 액세스가 기입 커맨드에 응답하는 경우에는, 메모리 디바이스(522-4)가 기입 동작에 대한 종단기로서 역할을 하는 동안 어떤 ODT 설정을 적용할지를 결정하기 위해 Rtt_matrix1을 포함하는 레지스터 비트들을 참조함을 나타낸다. 액세스가 판독 커맨드에 응답하는 경우, 메모리 디바이스(522-4)는 Hi_z ODT 설정을 적용할 수 있다.
제2 예에서, SelectID가 01XXX인 경우, 이것은 액세스된 메모리 디바이스가 패키지(520) 근처에 또는 이에 인접하여 위치되는 상이한 패키지(패키지(530)) 상에 위치됨을 나타내고, 액세스가 기입인 경우에는, 메모리 디바이스(522-4)가 어떤 ODT 설정을 적용할지를 결정하기 위해 Rtt_matrix2를 포함하는 레지스터 비트들을 참조함을 나타낸다. 액세스가 판독 커맨드에 응답하는 경우, 메모리 디바이스(522-4)는 어떤 ODT 설정을 적용할지를 결정하기 위해 Rtt_nom을 포함하는 레지스터 비트들을 참조할 수 있다.
제3 예에서, SelectID가 10XXX 또는 11XXX인 경우, 이것은 또한 상이한 패키지를 나타내며, 이러한 패키지들은 패키지(520)에 인접하지 않게 또는 이에 대해 멀리 위치되는 것으로 특징지어질 수 있다. 메모리 디바이스(522-4)에 대한 ODT 테이블에 따르면, 이 제3 예의 경우, 액세스가 기입인 경우에는, 메모리 디바이스(522-4)는 어떤 ODT 설정을 적용할지를 결정하기 위해 Rtt_matrix2를 포함하는 레지스터 비트들을 참조할 수 있다. 액세스가 판독 커맨드에 응답하는 경우, 메모리 디바이스(522-4)는 어떤 ODT 설정을 적용할지를 결정하기 위해 Rtt_park를 포함하는 레지스터 비트들을 참조할 수 있다. 이 제3 예의 경우, Rtt_nom 대신 Rtt_park를 사용하는 것은 패키지들(540 및 550)이 패키지(520)에 대한 그들의 물리적 위치들과 관련하여 멀리 있는 패키지들로서 특징지어진다는 것에 기초한다.
일부 예들에 따르면, (필요한 경우) 클록 사이클들을 증가시키기 위해 비-타겟 종단 다이에 의해 포스트앰블이 적용되어, 비-타겟 터미네이션 다이가 선택된 터미네이션 값을 유지할 것이다. 예를 들어, 불일치 라우팅들로 인해, 데이터가 다수의 메모리 디바이스들에 걸쳐 지연되는 경우, 포스트앰블이 필요할 수 있다.
도 6은 예시적인 로직 흐름(600)을 예시한다. 일부 예들에서, 로직 흐름(600)은 ODT 설정들을 결정하기 위해 메모리 디바이스의 제어 회로망에 의한 액션들을 예시할 수 있다. 이러한 예들의 경우, 로직 흐름(600)은 도 1 내지 도 4에 대해 위에서 언급된 메모리 디바이스들(120) 또는 도 5에 대해 위에서 언급된 메모리 디바이스들(522, 532, 542 또는 552)과 같은 메모리 디바이스들의 제어 회로망에 의해 구현될 수 있다. 또한, 이러한 메모리 디바이스들에 의해 사용되는 레지스터들은 도 2 내지 도 4에 대해 위에서 언급된 레지스터 테이블들(200, 300 또는 400)에 나타낸 바와 같이 설정 또는 프로그래밍될 수 있다. 레지스터들은 제어기(110)의 MR 프로그램 로직(115)과 같은 모드 레지스터 프로그램 로직을 갖는 제어기에 의해 설정 또는 프로그래밍될 수 있다. 예들은 도 1 및 도 5에 포함된 메모리 디바이스들(120, 522, 532, 542 또는 552), 도 2 내지 도 4에 도시된 ODT 설정들 또는 ODT 타입들 또는 MR 프로그램 로직(115)에 의해 프로그래밍 또는 설정된 레지스터들에 제한되지 않는다.
블록(605)에서 시작하여, 각각이 다수의 메모리 디바이스들을 갖는 다수의 패키지들에 커플링되는 DQ 채널 상에서 커맨드가 수신될 수 있다.
블록(605)으로부터 결정 블록(610)으로 이동하면, 메모리 디바이스는 매트릭스 ODT가 인에이블되었는지 여부를 결정할 수 있다. 일부 예들에서, 메모리 디바이스의 제어 회로망은 매트릭스 ODT가 인에이블되었는지를 보기 위해 레지스터 테이블(200)에 나타낸 16비트 레지스터의 비트 [13]과 같은 레지스터의 비트를 판독할 수 있다. 비트 [13]이 매트릭스 ODT가 인에이블되지 않았음을 나타내는 경우, 로직 흐름(600)은 블록(615)으로 이동한다. 비트 [13]이 매트릭스 ODT가 인에이블됨을 나타내는 경우, 로직 흐름(600)은 결정 블록(620)으로 이동한다.
결정 블록(610)으로부터 블록(615)으로 이동하면, 메모리 디바이스는 레거시 ODT 모드들을 사용한다. 일부 예들에서, 레거시 ODT 모드들은 메모리 디바이스와 커플링되는 제어기로부터 ODT 설정들을 활성화시키기 위한 ODT 활성화 신호들을 수신하기 위해 메모리 디바이스 상의 ODT 핀들의 사용들을 포함할 수 있다.
결정 블록(610)으로부터 결정 블록(620)으로 이동하면, 메모리 디바이스는 이것이 다수의 메모리 디바이스들 또는 다이들을 포함하는 패키지의 종단 메모리 디바이스인지 여부를 결정한다. 일부 예들에서, 각각의 패키지의 종단 디바이스는 메모리 디바이스들이 주어진 패키지 상에 물리적으로 배치된 때 미리 결정될 수 있다. 메모리 디바이스가 미리 결정된 종단 메모리 디바이스인 경우, 로직 흐름(600)은 결정 블록(660)으로 이동한다. 그렇지 않으면, 로직 흐름(600)은 결정 블록(625)으로 이동한다.
결정 블록(620)으로부터 결정 블록(625)으로 이동하면, 메모리 디바이스는 커맨드가 판독 커맨드인지 여부를 결정한다. 일부 예들에서, 메모리 디바이스의 제어 회로망은 커맨드가 판독 커맨드가 아니라고 결정하고, 로직 흐름(600)은 결정 블록(635)으로 이동한다. 그렇지 않으면, 로직 흐름(600)은 블록(630)으로 이동하고, 제어 회로망은 메모리 디바이스로 하여금 커맨드의 실행 동안 Hi_z ODT 설정을 사용하게 할 수 있다.
결정 블록(625)으로부터 결정 블록(635)으로 이동하면, 메모리 디바이스는 커맨드가 기입 커맨드(예를 들어, 어레이 기입, 강제 기입 또는 수정된 기입)인지 여부를 결정한다. 일부 예들에서, 메모리 디바이스의 제어 회로망은 커맨드가 기입 커맨드가 아니라고 결정하고, 로직 흐름(600)은 블록(640)으로 이동하고, 제어 회로망은 메모리 디바이스로 하여금 블록(640)에 의해 나타낸 바와 같이 커맨드의 실행 동안 Hi_z ODT 설정을 사용하게 한다. 그렇지 않으면, 로직 흐름(600)은 결정 블록(645)으로 이동한다.
결정 블록(635)으로부터 결정 블록(645)으로 이동하면, 메모리 디바이스는 동적 모드가 인에이블되는지 여부를 결정한다. 일부 예들에 따르면, 메모리 디바이스의 제어 회로망은 동적 모드가 인에이블되었는지를 보기 위해 레지스터 테이블(200)에 나타낸 16비트 레지스터의 비트 [14]와 같은 레지스터의 비트를 판독할 수 있다. 비트 [14]가 동적 모드가 인에이블되지 않았음을 나타내는 경우, 제어 회로망은 메모리 디바이스로 하여금 블록(650)에 의해 나타낸 바와 같이 기입 동작 동안 Hi_z ODT 설정을 사용하게 한다. 그렇지 않으면, 로직 흐름(600)은 블록(655)으로 이동한다.
결정 블록(645)으로부터 블록(655)으로 이동하면, 종단 메모리 디바이스는 Rtt_Wr의 터미네이션을 위한 ODT 설정을 사용한다. 일부 예들에서, 메모리 디바이스의 제어 회로망은 Rtt_Wr에 대해 사용할 값(예를 들어, 100 Ohm)을 결정하기 위해 레지스터 테이블(200)에 나타낸 16비트 레지스터의 비트들 [8:5]와 같은 레지스터의 비트들을 판독할 수 있다.
결정 블록(620)으로 돌아가서 결정 블록(660)으로 이동하면, 종단 메모리 디바이스는 커맨드가 판독 커맨드인지 여부 및 판독 커맨드에 나타낸 SelectID가 종단 메모리 디바이스를 포함하는 패키지에 대한 SelectID와 일치하는지 여부를 결정한다. 일부 예들에 따르면, 종단 메모리 디바이스의 제어 회로망은 판독 커맨드의 SelectID가 SelectID와 일치하는 것으로 결정하고, 메모리 디바이스로 하여금 블록(665)에 나타낸 바와 같이 판독 동작 동안 Hi_z ODT 설정을 사용하게 한다. 그렇지 않으면, 커맨드가 판독 커맨드가 아니거나 또는 종단 메모리 디바이스의 패키지의 SelectID와 일치하지 않는 SelectID를 갖는 경우, 로직 흐름(600)은 결정 블록(670)으로 이동한다.
결정 블록(660)으로부터 결정 블록(670)으로 이동하면, 종단 메모리 디바이스는 커맨드가 판독 커맨드인지 여부를 결정한다. 일부 예들에 따르면, 종단 메모리 디바이스의 제어 회로망은 커맨드가 판독 커맨드라고 결정하고, 로직 흐름(600)은 결정 블록(675)으로 이동한다. 그렇지 않으면, 로직 흐름(600)은 결정 블록(680)으로 이동한다.
결정 블록(670)으로부터 블록(675)으로 이동하면, 종단 메모리 디바이스는 Rtt_nom 또는 Rtt_park 중 어느 것에 대한 ODT 설정 타입을 선택한다. 일부 예들에서, 종단 메모리 디바이스의 제어 회로망은 어떤 타입의 ODT 설정을 사용할지를 결정하기 위해 레지스터 테이블(200)에 나타낸 8비트 레지스터와 같은 레지스터의 비트를 판독할 수 있다. 이러한 예들의 경우, 종단 메모리 디바이스의 제어 회로망은 종단 메모리 디바이스를 포함하는 패키지에 할당된 SelectID 및 판독 커맨드에 대응하는 8비트 레지스터의 비트를 판독할 수 있다. 예를 들어, 종단 메모리 디바이스가 SelectID = 0을 갖는 패키지 상에 있는 경우, 제어 회로망은 어떤 타입의 ODT 설정을 사용할지를 결정하기 위해 비트 [1]을 판독할 수 있다. 액세스되는 메모리 디바이스에 대한 종단 디바이스의 근접성에 따라, 비트 [1]은 액세스된 메모리 디바이스가 근거리 패키지 상에 있던 경우에는 "0"의 값(Rtt_nom)으로 설정되었을 수 있거나, 또는 액세스된 메모리 디바이스가 원거리 패키지 상에 있던 경우에는 "1"의 값(Rtt_park)에 설정되었을 수 있다. 종단 메모리 디바이스의 제어 회로망은 Rtt_nom 또는 Rtt_park에 대해 각각 사용할 값을 결정하기 위해 레지스터 테이블(200)에 나타낸 16비트 레지스터의 비트들 [4:1] 또는 비트들 [12:9]와 같은 레지스터의 비트를 판독할 수 있다.
결정 블록(670)으로부터 결정 블록(680)으로 이동하면, 종단 메모리 디바이스는 커맨드가 기입 커맨드(예를 들어, 어레이 기입, 강제 기입 또는 수정된 기입)인지 여부를 결정한다. 일부 예들에서, 종단 메모리 디바이스의 제어 회로망은 커맨드가 기입 커맨드가 아니라고 결정하고, 종단 메모리 디바이스로 하여금 블록(685)에 의해 나타낸 바와 같이 커맨드의 실행 동안 Hi_z ODT 설정을 사용하게 한다.
결정 블록(680)으로부터 블록(690)으로 이동하면, 종단 메모리 디바이스는 커맨드에 나타낸 SelectID에 기초하여 Rtt_matrix1 또는 Rtt_matrix2 중 어느 것에 대한 ODT 설정 타입을 선택한다. 제1 예에서, SelectID가 종단 메모리 디바이스를 포함하는 패키지의 SelectID와 일치하는 경우, Rtt_matrix1이 선택된다. 이 제1 예의 경우, 종단 메모리 디바이스의 제어 회로망은 Rtt_matrix1에 사용할 값을 결정하기 위해 레지스터 테이블(300)에 나타낸 8비트 레지스터의 비트 [3:0]과 같은 레지스터의 비트들을 판독할 수 있다. 제2 예에서, SelectID가 종단 메모리 디바이스를 포함하는 패키지의 SelectID와 일치하지 않는 경우, Rtt_matrix2가 선택된다. 이 제2 예의 경우, 종단 메모리 디바이스의 제어 회로망은 Rtt_matrix2에 사용할 값을 결정하기 위해 레지스터 테이블(300)에 나타낸 8비트 레지스터의 비트들 [7:4]와 같은 레지스터의 비트들을 판독할 수 있다.
도 7은 장치(700)에 대한 예시적인 블록도를 예시한다. 도 7에 도시된 장치(700)는 특정 토폴로지에서 제한된 수의 엘리먼트들을 갖지만, 장치(700)는 주어진 구현에 대해 원하는 대로 대안적인 토폴로지들에서 더 많거나 더 적은 엘리먼트들을 포함할 수 있다는 것이 이해될 수 있다.
일부 예들에 따르면, 장치(700)는 제어기(110)의 회로망(112)과 같은 제어기의 회로망(720)에 의해 지원될 수 있다. 회로망(720)은 로직 또는 로직의 하나 이상의 펌웨어 구현되는 모듈, 컴포넌트 또는 피처들을 실행하도록 배열될 수 있다. 본 명세서에서 사용되는 "a" 및 "b" 및 "c" 및 유사한 지정자들은 임의의 양의 정수를 나타내는 변수들로 의도된다는 점에 유의할 가치가 있다. 따라서, 예를 들어, 구현이 a=4에 대한 값을 설정하는 경우, 로직(722-a)의 모듈들, 컴포넌트들에 대한 소프트웨어 또는 펌웨어의 완전한 세트는 로직(722-1, 722-2, 722-3 또는 722-4)을 포함할 수 있다. 제시된 예들은 이러한 맥락에서 제한되지 않으며, 전반에 걸쳐 사용되는 상이한 변수들은 동일하거나 또는 상이한 정수 값들을 나타낼 수 있다. 또한, "모듈", "컴포넌트" 또는 "피처"는 또한 컴퓨터 판독 가능 또는 머신 판독 가능 매체에 저장된 펌웨어를 포함할 수 있으며, 피처들의 타입들이 개별 박스들로서 도 7에 도시되어 있지만, 이것은 이러한 타입들의 피처들을, 별개의 컴퓨터 판독 가능 매체 컴포넌트들(예를 들어, 별도의 메모리 등)에서의 저장 또는 별개의 하드웨어 컴포넌트들(예를 들어, 별도의 애플리케이션-특정 집적 회로들(application-specific integrated circuit)(ASIC) 또는 필드 프로그래밍 가능 게이트 어레이들(field programmable gate array)(FPGA))에 의한 구현으로 제한하지 않는다.
일부 예들에 따르면, 회로망(720)은 하나 이상의 ASIC 또는 FPGA를 포함할 수 있고, 일부 예들에서, 적어도 일부 로직(722-a)은 이러한 ASIC들 또는 FPGA들의 하드웨어 엘리먼트들로서 구현될 수 있다.
일부 예들에 따르면, 도 7에 도시된 바와 같이, 장치(700)는 하나 이상의 메모리 디바이스와 커플링하기 위한 I/O 인터페이스 회로망(705)을 포함할 수 있다.
일부 예들에서, 장치(700)는 또한 프로그램 로직(722)을 포함할 수 있다. 프로그램 로직(722)은 I/O 인터페이스 회로망(705)을 통해 제1 메모리 디바이스에서의 제1 레지스터를 프로그래밍하여, 제1 레지스터로 하여금, 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스일 때 선택할 다수의 ODT 타입들을 나타내게 하도록 회로망(720)에 의해 실행 또는 지원될 수 있다. 다수의 ODT 타입들은 판독 커맨드 또는 기입 커맨드가 제1 메모리 디바이스 그룹에 포함된 제2 메모리 디바이스에 의해 실행되는지 또는 제2 메모리 디바이스 그룹에 포함된 제3 메모리 디바이스에 의해 실행되는지에 기초할 수 있다. 이러한 예들의 경우, 프로그램 로직(722)은 제1 레지스터의 프로그래밍을, 제2 메모리 디바이스 및 제3 메모리 디바이스와 비교하여 제1 메모리 디바이스의 상대적 위치를 나타내는 패킷 레이아웃 정보(710)를 통해 수신된 패킷 레이아웃 정보에 기초할 수 있다. 예를 들어, 이러한 메모리 디바이스들이 제1 메모리 디바이스와 동일하거나 또는 상이한 패키지들 상에 위치되는 경우. 또한, RTT 설정(726-b)(예를 들어, 룩업 테이블에서 유지됨)은 패킷 레이아웃 정보에 적어도 부분적으로 기초하여 제1 메모리 디바이스에서의 제1 레지스터에 어떤 ODT 타입들을 프로그래밍할지를 나타낼 수 있다. 레지스터 설정들(730)은 제1 메모리 디바이스에 의해 선택할 다수의 ODT 타입들을 나타내도록 제1 레지스터가 프로그래밍되는 방법을 나타낼 수 있다.
일부 예들에 따르면, 프로그램 로직(722)은 또한 I/O 인터페이스 회로망을 통해 제1 메모리 디바이스에서의 제2 레지스터를 프로그래밍하여, 제2 레지스터로 하여금, 기입 커맨드가 제2 메모리 디바이스에 의해 실행되는지 또는 제3 메모리 디바이스에 의해 실행되는지에 기초하여 적용할 별도의 ODT 설정들을 갖는 적어도 2개의 ODT 타입을 나타내게 하도록 회로망(720)에 의해 실행 또는 지원될 수 있다. 프로그램 로직(722)은 또한 제2 레지스터의 프로그래밍을, 패킷 레이아웃 정보(705)를 통해 수신된 패킷 레이아웃 정보에 기초할 수 있다. 레지스터 설정들(740)은 제2 레지스터가 프로그래밍되는 방법을 나타낼 수 있다.
일부 예들에서, 제1 메모리 디바이스 그룹은 제1 그룹 식별자가 할당된 제1 패키지 상에 위치되고, 제2 메모리 디바이스 그룹은 제2 그룹 식별자가 할당된 제2 패키지 상에 위치될 수 있다. 제4 메모리 디바이스가 제3 그룹 식별자가 할당된 제3 패키지 상에 위치되는 제3 메모리 디바이스 그룹에 포함될 수 있다. 제1 패키지 및 제2 패키지 및 제3 패키지는 동일한 데이터 버스를 통해 I/O 인터페이스 회로망(705)에 커플링될 수 있다. 제2 패키지는 제1 패키지에 인접하게 또는 그 근처에 위치될 수 있다. 이 예들의 경우, 제3 패키지는 제1 패키지에 인접하게 위치되지 않는다. 프로그램 로직(722)은 또한 제1 메모리 디바이스에서의 제3 레지스터를 프로그래밍하여, 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스이고 커맨드가 판독 커맨드일 때 선택적으로 적용할 제1 ODT 설정 및 제2 ODT 설정을 나타내도록 회로망(720)에 의해 실행 또는 지원될 수 있다. 제1 메모리 디바이스는, 판독 커맨드가 제3 메모리 디바이스에 대한 경우에는 제1 ODT 설정을 적용하거나, 또는 판독 커맨드가 제4 메모리 디바이스에 대한 경우에는 제2 ODT 설정을 적용한다. 프로그램 로직(722)은 또한 제3 레지스터의 프로그래밍을, 패킷 레이아웃 정보(710)를 통해 수신된 패킷 레이아웃 정보에 기초할 수 있다. 레지스터 설정들(750)은 제3 레지스터가 프로그래밍되는 방법을 나타낼 수 있다.
일부 예들에서, 프로그램 로직(722)은 또한 포스트앰블 시간을 나타내도록 제1 레지스터, 제2 레지스터 또는 제3 레지스터를 프로그래밍할 수 있고, 이를 통해 제1 메모리 디바이스가 선택된 ODT 설정을 적용할 수 있다. 포스트앰블 시간은 선택된 ODT 설정을 적용하기 위한 하나 이상의 추가 클록 사이클을 나타낸다.
장치(700)의 다양한 컴포넌트들은 동작들을 조정하기 위해 다양한 타입들의 통신 매체에 의해 서로 통신 가능하게 커플링될 수 있다. 조정은 정보의 단방향 또는 양방향 교환을 포함할 수 있다. 예를 들어, 컴포넌트들은 통신 매체를 통해 통신되는 신호들의 형태로 정보를 통신할 수 있다. 정보는 다양한 신호 라인들에 할당된 신호들로서 구현될 수 있다. 이러한 할당들에서, 각각의 메시지는 신호이다. 그러나, 추가 실시예들은 대안적으로 데이터 메시지들을 채택할 수 있다. 이러한 데이터 메시지들은 다양한 연결들에 걸쳐 전송될 수 있다. 예시적인 연결들은 병렬 인터페이스들, 직렬 인터페이스들 및 버스 인터페이스들을 포함한다.
본 명세서에는 개시된 아키텍처의 새로운 양태들을 수행하기 위한 예시적인 방법론들을 나타내는 로직 흐름 세트가 포함되어 있다. 설명의 단순화를 위해, 본 명세서에 나타낸 하나 이상의 방법론은 일련의 동작들로 도시되고 설명되지만, 본 기술분야의 통상의 기술자는 방법론들이 동작들의 순서에 의해 제한되지 않는다는 것을 이해하고 인식할 것이다. 이에 따라 일부 동작들은 본 명세서에 나타내고 설명된 것과 상이한 순서로 및/또는 이들과 다른 동작들과 동시에 발생할 수 있다. 예를 들어, 본 기술분야의 통상의 기술자는 방법론이 상태 다이어그램에서와 같이 일련의 상호 관련된 상태들 또는 이벤트들로서 대안적으로 표현될 수 있음을 이해하고 인식할 것이다. 더욱이, 방법론에서 예시된 모든 동작들이 새로운 구현에 필요한 것은 아닐 수 있다.
로직 흐름은 소프트웨어, 펌웨어 및/또는 하드웨어에서 구현될 수 있다. 소프트웨어 및 펌웨어 실시예들에서, 로직 흐름은 광학, 자기 또는 반도체 스토리지와 같은 적어도 하나의 비-일시적 컴퓨터 판독 가능 매체 또는 머신 판독 가능 매체 상에 저장된 컴퓨터 실행 가능 명령어들에 의해 구현될 수 있다. 실시예들은 이러한 맥락에서 제한되지 않는다.
도 8은 예시적인 로직 흐름(800)을 예시한다. 로직 흐름(800)은 장치(700)와 같이 본 명세서에 설명된 하나 이상의 로직, 피처 또는 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 보다 구체적으로, 로직 흐름(800)은 프로그램 로직(722)에 의해 구현될 수 있다.
일부 예들에 따르면, 블록(802)에서의 로직 흐름(800)은 I/O 인터페이스 회로망을 통해 제어기와 커플링되는 제1 메모리 디바이스에서의 제1 레지스터를 프로그래밍하여, 제1 레지스터로 하여금, 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스일 때 선택할 다수의 온-다이 터미네이션(ODT) 타입들을 나타내게 할 수 있고, 다수의 ODT 타입들은 판독 커맨드 또는 기입 커맨드가 제1 메모리 디바이스 그룹에 포함된 제2 메모리 디바이스에 의해 실행되는지 또는 제2 메모리 디바이스 그룹에 포함된 제3 메모리 디바이스에 의해 실행되는지에 기초한다. 이러한 예들의 경우, 프로그램 로직(722)이 제1 레지스터를 프로그래밍할 수 있다.
일부 예들에서, 블록(804)에서의 로직 흐름(800)은 I/O 인터페이스 회로망을 통해 제1 메모리 디바이스에서의 제2 레지스터를 프로그래밍하여, 제2 레지스터로 하여금, 기입 커맨드가 제2 메모리 디바이스에 의해 실행되는지 또는 제3 메모리 디바이스에 의해 실행되는지에 기초하여 적용할 별도의 ODT 설정들을 갖는 적어도 2개의 ODT 타입을 나타낼 수 있다. 이러한 예들의 경우, 프로그램 로직(722)이 제2 레지스터를 프로그래밍할 수 있다.
도 9는 예시적인 저장 매체(900)를 예시한다. 일부 예들에서, 저장 매체(900)는 제조물일 수 있다. 저장 매체(900)는 광학, 자기 또는 반도체 스토리지와 같은 임의의 비-일시적 컴퓨터 판독 가능 매체 또는 머신 판독 가능 매체를 포함할 수 있다. 저장 매체(900)는 로직 흐름(800)을 구현하기 위한 명령어들과 같은 다양한 타입들의 컴퓨터 실행 가능 명령어들을 저장할 수 있다. 컴퓨터 판독 가능 또는 머신 판독 가능 저장 매체의 예들은 휘발성 메모리 또는 비-휘발성 메모리, 이동식 또는 비-이동식 메모리, 소거 가능형 또는 소거 불가능형 메모리, 기입 가능형 또는 재-기입 가능형 메모리 등을 포함하여 전자 데이터를 저장할 수 있는 임의의 유형의 매체를 포함할 수 있다. 컴퓨터 실행 가능 명령어들의 예들은 소스 코드, 컴파일된 코드, 해석된 코드, 실행 가능 코드, 정적 코드, 동적 코드, 객체-지향 코드, 시각적 코드 등과 같은 임의의 적절한 타입의 코드를 포함할 수 있다. 예들은 이러한 맥락에서 제한되지 않는다.
도 10은 예시적인 컴퓨팅 플랫폼(1000)을 예시한다. 일부 예들에서는, 도 10에 도시된 바와 같이, 컴퓨팅 플랫폼(1000)은 메모리 시스템(1030), 프로세싱 컴포넌트(1040), 다른 플랫폼 컴포넌트들(1050) 또는 통신 인터페이스(1060)를 포함할 수 있다. 일부 예들에 따르면, 컴퓨팅 플랫폼(1000)은 컴퓨팅 디바이스에서 구현될 수 있다.
일부 예들에 따르면, 메모리 시스템(1030)은 제어기(1032) 및 메모리 디바이스(들)(1034)를 포함할 수 있다. 이러한 예들의 경우, 제어기(1032)에 상주하거나 또는 위치되는 로직 및/또는 피처들은 장치(700)에 대한 적어도 일부 프로세싱 동작들 또는 로직을 실행할 수 있고, 저장 매체(900)를 포함하는 저장 매체를 포함할 수 있다. 또한, 메모리 디바이스(들)(1034)는 도 1에 도시된 메모리 디바이스들(120)에 대해 위에서 설명된 것과 유사한 타입들의 휘발성 또는 비-휘발성 메모리(도시 생략) 또는 도 5에 도시된 메모리 디바이스들(522, 532, 542 또는 552)을 포함할 수 있다. 일부 예들에서, 제어기(1032)는 메모리 디바이스(들)(1034)와 동일한 다이의 일부일 수 있다. 다른 예들에서, 제어기(1032) 및 메모리 디바이스(들)(1034)는 (예를 들어, 프로세싱 컴포넌트(1040)에 포함된) 프로세서와 동일한 다이 또는 집적 회로 상에 위치될 수 있다. 또 다른 예들에서, 제어기(1032)는 메모리 디바이스(들)(1034)와 커플링되는 별도의 다이 또는 집적 회로에 있을 수 있다.
일부 예들에 따르면, 프로세싱 컴포넌트들(1040)은 다양한 하드웨어 엘리먼트들, 소프트웨어 엘리먼트들, 또는 이들의 조합을 포함할 수 있다. 하드웨어 엘리먼트들의 예들은 디바이스들, 로직 디바이스들, 컴포넌트들, 프로세서들, 마이크로프로세서들, 관리 제어기들, 컴패니언 다이스(companion dice), 회로들, 프로세서 회로들, 회로 엘리먼트들(예를 들어, 트랜지스터들, 저항기들, 커패시터들, 인덕터들 등), 집적 회로들, ASIC들, 프로그래밍 가능 로직 디바이스(programmable logic device)(PLD)들, 디지털 신호 프로세서(digital signal processor)(DSP)들, FPGA들, 메모리 유닛들, 로직 게이트들, 레지스터들, 반도체 디바이스, 칩들, 마이크로칩들, 칩셋들 등을 포함할 수 있다. 소프트웨어 엘리먼트들의 예들은 소프트웨어 컴포넌트들, 프로그램들, 애플리케이션들, 컴퓨터 프로그램들, 애플리케이션 프로그램들, 디바이스 드라이버들, 시스템 프로그램들, 소프트웨어 개발 프로그램들, 머신 프로그램들, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈들, 루틴들, 서브루틴들, 기능들, 방법들, 절차들, 소프트웨어 인터페이스들, 애플리케이션 프로그램 인터페이스(application program interface)(API)들, 명령어 세트들, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트들, 컴퓨터 코드 세그먼트들, 워드들, 값들, 심볼들, 또는 이들의 임의의 조합을 포함할 수 있다. 하드웨어 엘리먼트들 및/또는 소프트웨어 엘리먼트들을 사용하여 예가 구현되는지 여부를 결정하는 것은, 주어진 예에 대해 원하는 바와 같이, 원하는 계산 레이트, 전력 레벨들, 내열성들, 프로세싱 사이클 버짓, 입력 데이터 레이트들, 출력 데이터 레이트들, 메모리 자원들, 데이터 버스 속도들 및 다른 설계 또는 성능 제약 조건들과 같은 임의의 수의 팩터들에 따라 달라질 수 있다.
일부 예들에서, 다른 플랫폼 컴포넌트들(1050)은 공통 컴퓨팅 엘리먼트들, 메모리 유닛들(시스템 메모리 포함), 칩셋들, 제어기들, 주변 장치들, 인터페이스들, 발진기들, 타이밍 디바이스들, 비디오 카드들, 오디오 카드들, 멀티미디어 입/출력(I/O) 컴포넌트들(예를 들어, 디지털 디스플레이들), 전원 공급기들 등을 포함할 수 있다. 메모리 유닛들 또는 메모리 디바이스들의 예들은 판독-전용 메모리(read-only memory)(ROM), 랜덤-액세스 메모리(random-access memory)(RAM), 동적 RAM(dynamic RAM)(DRAM), 2배속 DRAM(Double-Data-Rate DRAM)(DDRAM), 동기식 DRAM(synchronous DRAM)(SDRAM), 정적 RAM(static RAM)(SRAM), 프로그래밍 가능 ROM(programmable ROM)(PROM), 소거 가능한 프로그래밍 가능 ROM(erasable programmable ROM)(EPROM), 전기적으로 소거 가능한 프로그래밍 가능 ROM(electrically erasable programmable ROM)(EEPROM), 플래시 메모리, 강유전성 폴리머 메모리와 같은 폴리머 메모리, 오보닉 메모리(ovonic memory), 상변화 또는 강유전성 메모리, 실리콘-산화물-질화물-산화물-실리콘(silicon-oxide-nitride-oxide-silicon)(SONOS) 메모리, 자기 또는 광학 카드들, RAID(Redundant Array of Independent Disks) 드라이브들과 같은 디바이스들의 어레이, 솔리드 스테이트 메모리 디바이스들(예를 들어, USB 메모리), 솔리드 스테이트 드라이브들(solid state drives)(SSD), 및 정보를 저장하기에 적절한 임의의 다른 타입의 저장 매체와 같이, 하나 이상의 고속 메모리 유닛의 형태의 다양한 타입들의 컴퓨터 판독 가능 및 머신 판독 가능 저장 매체를 제한없이 포함할 수 있다.
일부 예들에서, 통신 인터페이스(1060)는 통신 인터페이스를 지원하기 위한 로직 및/또는 피처들을 포함할 수 있다. 이러한 예들의 경우, 통신 인터페이스(1060)는 직접 또는 네트워크 통신 링크들을 통해 통신하기 위해 다양한 통신 프로토콜들 또는 표준들에 따라 동작하는 하나 이상의 통신 인터페이스를 포함할 수 있다. 직접 통신은 PCIe 사양, NVMe 사양 또는 I3C 사양과 연관된 것들과 같은 하나 이상의 산업 표준(후속물들 및 변형들 포함)에서 설명되는 통신 프로토콜들 또는 표준들의 사용을 통해 발생할 수 있다. 네트워크 통신은 IEEE(Institute of Electrical and Electronics Engineers)에 의해 공표된 하나 이상의 이더넷 표준에서 설명된 것들과 같은 통신 프로토콜들 또는 표준들의 사용을 통해 발생할 수 있다. 예를 들어, IEEE에 의해 공표된 하나의 이러한 이더넷 표준은 2018년 8월에 공개된 IEEE 802.3-2018, Carrier sense Multiple access with Collision Detection(CSMA/CD) Access Method and Physical Layer Specifications(이하, "IEEE 802.3 사양")을 포함할 수 있지만, 이에 제한되지 않는다. 네트워크 통신은 또한 OpenFlow 하드웨어 추상화 API 사양과 같은 하나 이상의 OpenFlow 사양에 따라 발생할 수도 있다. 네트워크 통신은 하나 이상의 Infiniband 아키텍처 사양에 따라 발생할 수도 있다.
컴퓨팅 플랫폼(1000)은, 예를 들어, 사용자 장비, 컴퓨터, 개인용 컴퓨터(personal computer)(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 태블릿, 스마트폰, 임베디드 전자 장치, 게임 콘솔, 서버, 서버 어레이 또는 서버 팜, 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 슈퍼 컴퓨터, 네트워크 어플라이언스, 웹 어플라이언스, 분산형 컴퓨팅 시스템, 멀티프로세서 시스템들, 프로세서-기반 시스템들, 또는 이들의 조합일 수 있는 컴퓨팅 디바이스의 일부일 수 있다. 따라서, 본 명세서에 설명된 컴퓨팅 플랫폼(1000)의 기능들 및/또는 특정 구성들은 적절하게 원하는 대로 컴퓨팅 플랫폼(1000)의 다양한 실시예들에 포함될 수도 있고 또는 이로부터 생략될 수도 있다.
컴퓨팅 플랫폼(1000)의 컴포넌트들 및 피처들은 이산 회로망, ASIC들, 로직 게이트들 및/또는 단일 칩 아키텍처들의 임의의 조합을 사용하여 구현될 수 있다. 또한, 컴퓨팅 플랫폼(1000)의 피처들은, 적절한 경우, 마이크로제어기들, 프로그래밍 가능 로직 어레이들 및/또는 마이크로프로세서들, 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 하드웨어, 펌웨어 및/또는 소프트웨어 엘리먼트들은 본 명세서에서 집합적으로 또는 개별적으로 "로직", "회로" 또는 "회로망(circuitry)"으로 지칭될 수 있다는 것에 유의하도록 한다.
도 10의 블록도에 도시된 예시적인 컴퓨팅 플랫폼(1000)은 많은 잠재적인 구현들의 하나의 기능적으로 설명 가능한 예를 나타낼 수 있다는 것이 이해되어야 한다. 따라서, 첨부 도면들에 도시된 블록 기능들의 분할, 생략 또는 포함은 이러한 기능들을 구현하기 위한 하드웨어 컴포넌트들, 회로들, 소프트웨어 및/또는 엘리먼트들이 반드시 분리되거나, 생략되거나, 또는 실시예들에 포함될 것임을 추론하지 않는다.
적어도 하나의 예의 하나 이상의 양태는 프로세서 내의 다양한 로직을 나타내는 적어도 하나의 머신 판독 가능 매체 상에 저장된 대표적인 명령어들에 의해 구현될 수 있으며, 이 명령어들은, 머신, 컴퓨팅 디바이스 또는 시스템에 의해 판독될 때, 머신, 컴퓨팅 디바이스 또는 시스템으로 하여금, 본 명세서에 설명된 기술들을 수행하기 위한 로직을 제조하게 한다. "IP 코어들"로서 알려진 이러한 표현들은 IP 블록들과 유사할 수 있다. IP 코어들은 유형의 머신 판독 가능 매체 상에 저장될 수 있고, 다양한 고객들 또는 제조 시설들에 공급되어, 로직 또는 프로세서를 실제로 제조하는 제조 머신들에 로드될 수 있다.
하드웨어 엘리먼트들, 소프트웨어 엘리먼트들, 또는 이들의 조합을 사용하여 다양한 예들이 구현될 수 있다. 일부 예들에서, 하드웨어 엘리먼트들은 디바이스들, 컴포넌트들, 프로세서들, 마이크로프로세서들, 회로들, 회로 엘리먼트들(예를 들어, 트랜지스터들, 저항기들, 커패시터들, 인덕터들 등), 집적 회로들, ASIC들, PLD들, DSP들, FPGA들, 메모리 유닛들, 로직 게이트들, 레지스터들, 반도체 디바이스, 칩들, 마이크로칩들, 칩셋들 등을 포함할 수 있다. 일부 예들에서, 소프트웨어 엘리먼트들은 소프트웨어 컴포넌트들, 프로그램들, 애플리케이션들, 컴퓨터 프로그램들, 애플리케이션 프로그램들, 시스템 프로그램들, 머신 프로그램들, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈들, 루틴들, 서브루틴들, 기능들, 방법들, 절차들, 소프트웨어 인터페이스들, API들, 명령어 세트들, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트들, 컴퓨터 코드 세그먼트들, 워드들, 값들, 심볼들, 또는 이들의 임의의 조합을 포함할 수 있다. 하드웨어 엘리먼트들 및/또는 소프트웨어 엘리먼트들을 사용하여 예가 구현되는지 여부를 결정하는 것은, 주어진 구현에 대해 원하는 바와 같이, 원하는 계산 레이트, 전력 레벨들, 내열성들, 프로세싱 사이클 버짓, 입력 데이터 레이트들, 출력 데이터 레이트들, 메모리 자원들, 데이터 버스 속도들 및 다른 설계 또는 성능 제약 조건들과 같은 임의의 수의 팩터들에 따라 달라질 수 있다.
일부 예들은 제조물 또는 적어도 하나의 컴퓨터 판독 가능 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 로직을 저장하기 위한 비-일시적 저장 매체를 포함할 수 있다. 일부 예들에서, 비-일시적 저장 매체는 휘발성 메모리 또는 비-휘발성 메모리, 이동식 또는 비-이동식 메모리, 소거 가능형 또는 소거 불가능형 메모리, 기입 가능형 또는 재-기입 가능형 메모리 등을 포함하여 전자 데이터를 저장할 수 있는 하나 이상의 타입의 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 일부 예들에서, 로직은 소프트웨어 컴포넌트들, 프로그램들, 애플리케이션들, 컴퓨터 프로그램들, 애플리케이션 프로그램들, 시스템 프로그램들, 머신 프로그램들, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈들, 루틴들, 서브루틴들, 기능들, 방법들, 절차들, 소프트웨어 인터페이스들, API, 명령어 세트들, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트들, 컴퓨터 코드 세그먼트들, 워드들, 값들, 심볼들, 또는 이들의 임의의 조합과 같은 다양한 소프트웨어 엘리먼트들을 포함할 수 있다.
일부 예들에 따르면, 컴퓨터 판독 가능 매체는, 머신, 컴퓨팅 디바이스 또는 시스템에 의해 실행될 때, 머신, 컴퓨팅 디바이스 또는 시스템으로 하여금, 설명된 예들에 따른 방법들 및/또는 동작들을 수행하게 하는 명령어들을 저장 또는 유지하기 위한 비-일시적 저장 매체를 포함할 수 있다. 명령어들은 소스 코드, 컴파일된 코드, 해석된 코드, 실행 가능 코드, 정적 코드, 동적 코드 등과 같은 임의의 적절한 타입의 코드를 포함할 수 있다. 명령어들은 머신, 컴퓨팅 디바이스 또는 시스템에 특정 기능을 수행하도록 지시하기 위해 미리 정의된 컴퓨터 언어, 방식 또는 구문에 따라 구현될 수 있다. 명령어들은 임의의 적절한 고-레벨, 저-레벨, 객체-지향, 시각적, 컴파일된 및/또는 해석된 프로그래밍 언어를 사용하여 구현될 수 있다.
일부 예들은 "하나의 예에서" 또는 "예에서"라는 표현을 그들의 파생어들과 함께 사용하여 설명될 수 있다. 이러한 용어들은 예와 관련하여 설명된 특정 피처, 구조 또는 특성이 적어도 하나의 예에 포함된다는 것을 의미한다. 명세서의 다양한 부분들에서 "하나의 예에서"라는 문구의 출현은 반드시 모두 동일한 예를 지칭하는 것은 아니다.
일부 예들은 "커플링되는" 및 "연결되는"이라는 표현을 그들의 파생어들과 함께 사용하여 설명될 수 있다. 이러한 용어들은 반드시 서로 동의어들로 의도되는 것은 아니다. 예를 들어, "연결되는" 및/또는 "커플링되는"이라는 용어들을 사용한 설명들은 2개 이상의 엘리먼트가 서로 직접 물리적 또는 전기적 접촉을 하고 있음을 나타낼 수 있다. 그러나, "커플링되는" 또는 "~과 커플링되는"이라는 용어는 또한 2개 이상의 엘리먼트가 서로 직접 접촉하고 있지 않지만, 여전히 서로 협력하거나 또는 상호 작용함을 의미할 수 있다.
본 명세서에서 다양한 동작들 또는 기능들이 설명되는 한, 이들은 소프트웨어 코드, 명령어들, 구성 및/또는 데이터로서 설명 또는 정의될 수 있다. 콘텐츠는 직접 실행 가능할 수도 있고("객체" 또는 "실행 가능" 형태), 소스 코드 또는 차이 코드("델타" 또는 "패치" 코드)일 수도 있다. 본 명세서에서 설명되는 것의 소프트웨어 콘텐츠는 콘텐츠가 저장되는 제조물을 통해, 또는 통신 인터페이스를 통해 데이터를 전송하기 위해 통신 인터페이스를 동작시키는 방법을 통해 제공될 수 있다. 머신 판독 가능 저장 매체는 머신으로 하여금 설명된 기능들 또는 동작들을 수행하게 할 수 있고, 기록 가능/기록 불가능 매체(예를 들어, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스들 등)와 같이, 머신(예를 들어, 컴퓨팅 디바이스, 전자 시스템 등)에 의해 액세스 가능한 형태로 정보를 저장하는 임의의 메커니즘을 포함한다. 통신 인터페이스는 메모리 버스 인터페이스, 프로세서 버스 인터페이스, 인터넷 연결, 디스크 제어기 등과 같이, 다른 디바이스와 통신하기 위해 하드와이어드, 무선, 광학 등의 매체 중 임의의 것에 인터페이스하는 임의의 메커니즘을 포함한다. 통신 인터페이스는, 구성 파라미터들을 제공하고/하거나, 소프트웨어 콘텐츠를 기술하는 데이터 신호를 제공하기 위해 통신 인터페이스를 준비하기 위한 신호들을 전송함으로써 구성될 수 있다. 통신 인터페이스는 통신 인터페이스에 전송된 하나 이상의 커맨드 또는 신호를 통해 액세스될 수 있다.
다음의 예들은 본 명세서에 개시된 기술들의 추가 예들에 관한 것이다.
예 1. 예시적인 메모리 디바이스는 ODT 설정들을 유지하도록 배열되는 하나 이상의 레지스터 및 제어 회로망을 포함할 수 있다. 제어 회로망은 동일한 데이터 채널과 커플링되는 별도의 메모리 디바이스에 의해 커맨드가 실행된다는 표시를 수신할 수 있다. 제어 회로망은 또한, 하나 이상의 레지스터를 판독하여, 메모리 디바이스에 대한 별도의 메모리 디바이스의 근접성을 나타내는 제1 그룹 식별자에 기초하여 그리고 커맨드가 판독 커맨드인지 또는 기입 커맨드인지에 기초하여, 커맨드의 실행 동안 어떤 ODT 설정을 적용할지를 결정할 수 있다.
예 2. 예 1의 메모리 디바이스에 있어서, 메모리 디바이스는 별도의 메모리 디바이스를 포함하는 제1 패키지 상에 위치될 수 있고, 메모리 디바이스는 제1 패키지에 대한 종단 메모리 디바이스가 되도록 배열된다.
예 3. 예 2의 메모리 디바이스에 있어서, 제1 그룹 식별자는 별도의 메모리 디바이스가 동일한 패키지 상에 위치되는 것을 나타내기 위해 제1 패키지에 할당될 수 있다. 커맨드는 기입 커맨드일 수 있다. 제어 회로망은, 메모리 디바이스로 하여금, 별도의 메모리 디바이스에 대한 기입 동작 동안 Hi_z ODT 설정을 제공하게 할 수 있다.
예 4. 예 1의 메모리 디바이스에 있어서, 메모리 디바이스는 적어도 하나의 다른 메모리 디바이스를 포함하는 제1 패키지 상에 위치될 수 있다. 메모리 디바이스는 제1 패키지에 대한 종단 메모리 디바이스가 되도록 배열될 수 있다. 별도의 메모리 디바이스는 제2 패키지 상에 위치될 수 있다. 제1 그룹 식별자는 제2 패키지에 할당될 수 있고, 제1 그룹 식별자는 별도의 메모리 디바이스가 상이한 패키지 상에 위치되는 것을 나타낸다.
예 5. 예 4의 메모리 디바이스에 있어서, 커맨드는 판독 커맨드일 수 있다. 제어 회로망은, 메모리 디바이스로 하여금, 제2 패키지가 제1 패키지에 인접하게 또는 그 근처에 위치되는 경우에는 판독 동작 동안 제1 ODT 설정을 제공하게 하거나, 또는 제2 패키지가 제1 패키지에 인접하게 위치되지 않는 경우에는 판독 동작 동안 제2 ODT 설정을 제공하게 할 수 있다.
예 6. 예 1의 메모리 디바이스에 있어서, 커맨드는 저장 디바이스의 제어기로부터 수신될 수 있다.
예 7. 예 6의 메모리 디바이스에 있어서, 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함할 수 있고, 저장 디바이스는 솔리드 스테이트 드라이브이다.
예 8. 예 7의 메모리 디바이스에 있어서, 비-휘발성 타입들의 메모리는 상변화 메모리, 나노와이어 메모리, FeTRAM, 반-강유전성 메모리, 금속 산화물 베이스를 포함하는 저항성 메모리, CB-RAM, 스핀트로닉 자기 접합 메모리, MTJ 메모리, 도메인 벽(DW) 및 스핀 궤도 전달(SOT) 메모리, 사이리스터 기반 메모리 어레이, 멤리스터 기술을 통합하는 MRAM, 또는 STT-MRAM을 포함할 수 있다.
예 9. 예시적인 장치는 제1 메모리 디바이스와 커플링하기 위한 I/O 인터페이스 회로망을 포함할 수 있다. 장치는 또한 프로그램 로직을 실행하기 위한 회로망을 포함할 수 있고, 프로그램 로직은 I/O 인터페이스 회로망을 통해 제1 메모리 디바이스에서의 제1 레지스터를 프로그래밍하여, 제1 레지스터로 하여금, 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스일 때 선택할 다수의 ODT 타입들을 나타내게 할 수 있다. 다수의 ODT 타입들은 판독 커맨드 또는 기입 커맨드가 제1 메모리 디바이스 그룹에 포함된 제2 메모리 디바이스에 의해 실행되는지 또는 제2 메모리 디바이스 그룹에 포함된 제3 메모리 디바이스에 의해 실행되는지에 기초할 수 있다. 프로그램 로직은 또한 I/O 인터페이스 회로망을 통해 제1 메모리 디바이스에서의 제2 레지스터를 프로그래밍하여, 제2 레지스터로 하여금, 기입 커맨드가 제2 메모리 디바이스에 의해 실행되는지 또는 제3 메모리 디바이스에 의해 실행되는지에 기초하여 적용할 별도의 ODT 설정들을 갖는 적어도 2개의 ODT 타입을 나타내게 할 수 있다.
예 10. 예 9의 장치에 있어서, 제1 메모리 디바이스 그룹은 제1 그룹 식별자가 할당된 제1 패키지 상에 위치되고, 제2 메모리 디바이스 그룹은 제2 그룹 식별자가 할당된 제2 패키지 상에 위치될 수 있다. 이 예의 경우, 제3 메모리 디바이스 그룹에 포함된 제4 메모리 디바이스는 제3 그룹 식별자가 할당된 제3 패키지 상에 위치된다. 제1 패키지 및 제2 패키지 및 제3 패키지는 동일한 데이터 버스를 통해 I/O 인터페이스 회로망에 커플링될 수 있고, 제2 패키지는 제1 패키지에 인접하게 또는 그 근처에 위치되고, 제3 패키지는 제1 패키지에 인접하게 위치되지 않는다.
예 11. 예 10의 장치에 있어서, 프로그램 로직은 또한 제1 메모리 디바이스에서의 제3 레지스터를 프로그래밍하여, 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스이고 커맨드가 판독 커맨드일 때 선택적으로 적용할 제1 ODT 설정 및 제2 ODT 설정을 나타내게 할 수 있다. 이 예의 경우, 제1 메모리 디바이스는, 판독 커맨드가 제3 메모리 디바이스에 대한 경우에는 제1 ODT 설정을 적용하거나, 또는 판독 커맨드가 제4 메모리 디바이스에 대한 경우에는 제2 ODT 설정을 적용할 수 있다.
예 12. 예 9의 장치에 있어서, 제1 메모리 디바이스, 제2 메모리 디바이스 및 제3 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함할 수 있다. 장치는 제1 메모리 디바이스, 제2 메모리 디바이스 및 제3 메모리 디바이스를 포함하는 솔리드 스테이트 드라이브에 대한 제어기일 수 있다.
예 13. 예 12의 장치에 있어서, 비-휘발성 타입들의 메모리는 상변화 메모리, 나노와이어 메모리, FeTRAM, 반-강유전성 메모리, 금속 산화물 베이스를 포함하는 저항성 메모리, CB-RAM, 스핀트로닉 자기 접합 메모리, MTJ 메모리, 도메인 벽(DW) 및 스핀 궤도 전달(SOT) 메모리, 사이리스터 기반 메모리 어레이, 멤리스터 기술을 통합하는 MRAM, 또는 STT-MRAM을 포함할 수 있다.
예 14. 저장 디바이스는 동일한 데이터 채널을 통해 다수의 메모리 디바이스 그룹들과 커플링하기 위한 I/O 인터페이스 회로망을 갖는 제어기를 포함할 수 있다. 저장 디바이스는 또한 다수의 메모리 디바이스 그룹들 중 제1 그룹의 메모리 디바이스를 포함할 수 있다. 메모리 디바이스는 ODT 설정들을 유지하도록 배열되는 하나 이상의 레지스터를 포함할 수 있다. 메모리 디바이스는 또한 제어 회로망을 포함하고, 제어 회로망은 제어기로부터의 커맨드가 동일한 데이터 채널과 커플링되는 별도의 메모리 디바이스에 의해 실행된다는 표시를 수신할 수 있다. 회로망은 또한 하나 이상의 레지스터를 판독하여, 메모리 디바이스에 대한 별도의 메모리 디바이스의 근접성을 나타내는 제1 그룹 식별자에 기초하여 그리고 커맨드가 판독 커맨드인지 또는 기입 커맨드인지에 기초하여, 커맨드의 실행 동안 어떤 ODT 설정을 적용할지를 결정할 수 있다.
예 15. 예 14의 저장 디바이스에 있어서, 다수의 메모리 디바이스 그룹들 중 제1 그룹은 제1 패키지 상에 위치될 수 있고, 제1 그룹은 또한 별도의 메모리 디바이스를 포함하고, 메모리 디바이스는 제1 그룹에 대한 종단 메모리 디바이스가 되도록 배열된다.
예 16. 예 15의 저장 디바이스에 있어서, 제1 그룹 식별자는 별도의 메모리 디바이스가 동일한 패키지 상에 위치되는 것을 나타내기 위해 제1 그룹에 할당될 수 있다. 커맨드는 기입 커맨드일 수 있고, 제어 회로망은, 메모리 디바이스로 하여금, 별도의 메모리 디바이스에 대한 기입 동작 동안 Hi_z ODT 설정을 제공하게 한다.
예 17. 예 14의 저장 디바이스에 있어서, 다수의 메모리 디바이스 그룹들 중 제1 그룹은 제1 패키지 상에 위치될 수 있다. 제1 그룹은 또한 별도의 메모리 디바이스를 포함할 수 있다. 메모리 디바이스는 제1 그룹에 대한 종단 메모리 디바이스가 되도록 배열될 수 있다. 별도의 메모리 디바이스는 제2 패키지 상에 위치되는 다수의 메모리 디바이스 그룹들 중 제2 그룹에 포함될 수 있다. 제1 그룹 식별자는 제2 그룹에 할당될 수 있고, 제1 그룹 식별자는 별도의 메모리 디바이스가 상이한 패키지 상에 위치되는 것을 나타낸다.
예 18. 예 17의 저장 디바이스에 있어서, 커맨드는 판독 커맨드일 수 있다. 제어 회로망은, 메모리 디바이스로 하여금, 제2 패키지가 제1 패키지에 인접하게 또는 그 근처에 위치되는 경우에는 판독 동작 동안 제1 ODT 설정을 제공하게 하거나, 또는 제2 패키지가 제1 패키지에 인접하게 위치되지 않는 경우에는 판독 동작 동안 제2 ODT 설정을 제공하게 할 수 있다.
예 19. 예 14의 저장 디바이스에 있어서, 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함할 수 있다. 저장 디바이스는 솔리드 스테이트 드라이브일 수 있다.
예 20. 예 19의 저장 디바이스에 있어서, 비-휘발성 타입들의 메모리는 상변화 메모리, 나노와이어 메모리, FeTRAM, 반-강유전성 메모리, 금속 산화물 베이스를 포함하는 저항성 메모리, CB-RAM, 스핀트로닉 자기 접합 메모리, MTJ 메모리, 도메인 벽(DW) 및 스핀 궤도 전달(SOT) 메모리, 사이리스터 기반 메모리 어레이, 멤리스터 기술을 통합하는 MRAM, 또는 STT-MRAM을 포함할 수 있다.
예 21. 예시적인 방법은, 메모리 디바이스에 대한 회로망에서, 동일한 데이터 채널과 커플링되는 별도의 메모리 디바이스에 의해 커맨드가 실행된다는 표시를 수신하는 단계를 포함할 수 있다. 방법은 또한 메모리 디바이스에 대한 별도의 메모리 디바이스의 근접성을 나타내는 제1 그룹 식별자에 기초하여 그리고 커맨드가 판독 커맨드인지 또는 기입 커맨드인지에 기초하여, 커맨드의 실행 동안 어떤 ODT 설정들을 적용할지를 결정하기 위해 ODT 설정들을 유지하도록 배열되는 하나 이상의 레지스터를 판독하는 단계를 포함할 수 있다.
예 22. 예 21의 방법에 있어서, 메모리 디바이스는 별도의 메모리 디바이스를 포함하는 제1 패키지 상에 위치될 수 있다. 메모리 디바이스는 제1 패키지에 대한 종단 메모리 디바이스가 되도록 배열될 수 있다.
예 23. 예 22의 방법에 있어서, 제1 그룹 식별자는 별도의 메모리 디바이스가 동일한 패키지 상에 위치되는 것을 나타내기 위해 제1 패키지에 할당될 수 있다. 커맨드는 기입 커맨드일 수 있고, 방법은 또한, 메모리 디바이스로 하여금, 별도의 메모리 디바이스에 대한 기입 동작 동안 Hi_z ODT 설정을 제공하게 하는 단계를 포함할 수 있다.
예 24. 예 21의 방법에 있어서, 메모리 디바이스는 적어도 하나의 다른 메모리 디바이스를 포함하는 제1 패키지 상에 위치될 수 있다. 메모리 디바이스는 제1 패키지에 대한 종단 메모리 디바이스가 되도록 배열될 수 있다. 별도의 메모리 디바이스는 제2 패키지 상에 위치될 수 있고, 제1 그룹 식별자는 제2 패키지에 할당되고, 제1 그룹 식별자는 별도의 메모리 디바이스가 상이한 패키지 상에 위치되는 것을 나타낸다.
예 25. 예 24의 방법에 있어서, 커맨드는 판독 커맨드일 수 있고, 방법은 또한, 메모리 디바이스로 하여금, 제2 패키지가 제1 패키지에 인접하게 또는 그 근처에 위치되는 경우에는 판독 동작 동안 제1 ODT 설정을 제공하게 하거나, 또는 제2 패키지가 제1 패키지에 인접하게 위치되지 않는 경우에는 판독 동작 동안 제2 ODT 설정을 제공하게 하는 단계를 포함할 수 있다.
예 26. 예 21의 방법에 있어서, 커맨드는 저장 디바이스의 제어기로부터 수신될 수 있다.
예 27. 예 26의 방법에 있어서, 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함할 수 있고, 저장 디바이스는 솔리드 스테이트 드라이브일 수 있다.
예 28. 예시적인 적어도 하나의 머신 판독 가능 매체는, 시스템에 의해 실행되는 것에 응답하여, 시스템으로 하여금, 예 21 내지 예 27 중 어느 하나의 예에 따른 방법을 수행하게 하는 복수의 명령어들을 포함할 수 있다.
예 29. 예시적인 장치는 예 21 내지 예 27 중 어느 하나의 예의 방법들을 수행하기 위한 수단을 포함할 수 있다.
예 30. 예시적인 방법은 I/O 인터페이스 회로망을 통해 제어기와 커플링되는 제1 메모리 디바이스에서의 제1 레지스터를 프로그래밍하여, 제1 레지스터로 하여금, 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스일 때 선택할 다수의 ODT 타입들을 나타내게 하는 단계를 포함할 수 있다. 다수의 ODT 타입들은 판독 커맨드 또는 기입 커맨드가 제1 메모리 디바이스 그룹에 포함된 제2 메모리 디바이스에 의해 실행되는지 또는 제2 메모리 디바이스 그룹에 포함된 제3 메모리 디바이스에 의해 실행되는지에 기초할 수 있다. 방법은 또한 I/O 인터페이스 회로망을 통해 제1 메모리 디바이스에서의 제2 레지스터를 프로그래밍하여, 제2 레지스터로 하여금, 기입 커맨드가 제2 메모리 디바이스에 의해 실행되는지 또는 제3 메모리 디바이스에 의해 실행되는지에 기초하여 적용할 별도의 ODT 설정들을 갖는 적어도 2개의 ODT 타입을 나타내게 하는 단계를 포함할 수 있다.
예 31. 예 30의 방법에 있어서, 제1 메모리 디바이스 그룹은 제1 그룹 식별자가 할당된 제1 패키지 상에 위치될 수 있다. 제2 메모리 디바이스 그룹은 제2 그룹 식별자가 할당된 제2 패키지 상에 위치될 수 있다. 이 예의 경우, 제3 메모리 디바이스 그룹에 포함된 제4 메모리 디바이스는 제3 그룹 식별자가 할당된 제3 패키지 상에 위치될 수 있고, 제1 패키지 및 제2 패키지 및 제3 패키지는 동일한 데이터 버스를 통해 I/O 인터페이스 회로망에 커플링된다. 제2 패키지는 제1 패키지에 인접하게 또는 그 근처에 위치될 수 있고, 제3 패키지는 제1 패키지에 인접하게 위치되지 않는다.
예 32. 예 31의 방법은 또한 제1 메모리 디바이스에서의 제3 레지스터를 프로그래밍하여, 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스이고 커맨드가 판독 커맨드일 때 선택적으로 적용할 제1 ODT 설정 및 제2 ODT 설정을 나타내게 하는 단계를 포함할 수 있다. 이 예의 경우, 제1 메모리 디바이스는, 판독 커맨드가 제3 메모리 디바이스에 대한 경우에는 제1 ODT 설정을 적용하거나, 또는 판독 커맨드가 제4 메모리 디바이스에 대한 경우에는 제2 ODT 설정을 적용한다.
예 33. 예 32의 방법에 있어서, 제1 메모리 디바이스, 제2 메모리 디바이스 및 제3 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함할 수 있고, 제어기는 제1 메모리 디바이스, 제2 메모리 디바이스 및 제3 메모리 디바이스를 포함하는 솔리드 스테이트 드라이브에 대한 제어기일 수 있다.
예 34. 예시적인 적어도 하나의 머신 판독 가능 매체는, 시스템에 의해 실행되는 것에 응답하여, 시스템으로 하여금, 예 31 내지 예 33 중 어느 하나의 예에 따른 방법을 수행하게 하는 복수의 명령어들을 포함할 수 있다.
예 35. 예시적인 장치는 예 31 내지 예 33항 중 어느 하나의 예의 방법들을 수행하기 위한 수단을 포함할 수 있다.
37 C.F.R. 섹션 1.72(b)를 준수하기 위해 본 개시내용의 요약서가 제공되며, 독자가 기술적 개시내용의 본질을 신속하게 확인할 수 있게 하는 요약서를 필요로 한다는 것이 강조된다. 이것은 청구 범위의 범주 또는 의미를 해석하거나 제한하는 데 사용되지 않는다는 이해와 함께 제출된다. 또한, 상기 상세한 설명에서는, 본 개시내용을 간소화하기 위해 다양한 피처들이 단일 예에서 함께 그룹화되어 있음을 알 수 있다. 이 개시내용의 방법은 청구되는 예들이 각각의 청구 범위에서 명시적으로 언급된 것보다 더 많은 피처들을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 다음의 청구 범위가 반영하는 바와 같이, 발명의 대상은 단일 개시된 예의 모든 피처들보다 적다. 따라서, 다음의 청구 범위는 상세한 설명에 통합되며, 각각의 청구 범위는 별도의 예로서 그 자체로 존재한다. 첨부된 청구 범위에서, "포함하는(including)" 및 "여기서(in which)"라는 용어들은 각각 "포함하는(comprising)" 및 "여기서(wherein)"와 같은 각각의 용어들의 평이한 영어 등가물들로서 사용된다. 또한, "제1", "제2", "제3" 등의 용어들은 단순히 레이블들로서 사용되며, 그들의 객체들에 숫자 요구 사항들을 부과하는 것으로 의도되지 않는다.
대상이 구조적 피처들 및/또는 방법론적 동작들에 특정한 언어로 설명되었지만, 첨부된 청구 범위에서 정의되는 대상이 반드시 위에서 설명된 특정 피처들 또는 동작들로 제한되지는 않는다는 것이 이해되어야 한다. 오히려, 위에서 설명된 특정 피처들 및 동작들은 청구 범위를 구현하는 예시적인 형태들로서 개시된다.

Claims (35)

  1. 메모리 디바이스로서,
    온-다이 터미네이션(on-die termination)(ODT) 설정들을 유지하도록 배열되는 하나 이상의 레지스터; 및
    제어 회로망
    을 포함하고,
    상기 제어 회로망은,
    동일한 데이터 채널과 커플링되는 별도의 메모리 디바이스에 의해 커맨드가 실행된다는 표시를 수신하고,
    상기 하나 이상의 레지스터를 판독하여, 상기 메모리 디바이스에 대한 상기 별도의 메모리 디바이스의 근접성을 나타내는 제1 그룹 식별자에 기초하여 그리고 상기 커맨드가 판독 커맨드인지 또는 기입 커맨드인지에 기초하여, 상기 커맨드의 실행 동안 어떤 ODT 설정을 적용할지를 결정하는 메모리 디바이스.
  2. 제1항에 있어서, 상기 메모리 디바이스는 상기 별도의 메모리 디바이스를 포함하는 제1 패키지 상에 위치되고, 상기 메모리 디바이스는 상기 제1 패키지에 대한 종단 메모리 디바이스(terminating memory device)가 되도록 배열되는 메모리 디바이스.
  3. 제2항에 있어서, 상기 제1 그룹 식별자는 상기 별도의 메모리 디바이스가 동일한 패키지 상에 위치되는 것을 나타내기 위해 상기 제1 패키지에 할당되고, 상기 커맨드는 기입 커맨드이고, 상기 제어 회로망은, 상기 메모리 디바이스로 하여금, 상기 별도의 메모리 디바이스에 대한 기입 동작 동안 Hi_z ODT 설정을 제공하게 하는 메모리 디바이스.
  4. 제1항에 있어서, 상기 메모리 디바이스는 적어도 하나의 다른 메모리 디바이스를 포함하는 제1 패키지 상에 위치되고, 상기 메모리 디바이스는 상기 제1 패키지에 대한 종단 메모리 디바이스가 되도록 배열되고, 상기 별도의 메모리 디바이스는 제2 패키지 상에 위치되고, 상기 제1 그룹 식별자는 상기 제2 패키지에 할당되고, 상기 제1 그룹 식별자는 상기 별도의 메모리 디바이스가 상이한 패키지 상에 위치되는 것을 나타내는 메모리 디바이스.
  5. 제4항에 있어서, 상기 커맨드는 판독 커맨드이고, 상기 제어 회로망은, 상기 메모리 디바이스로 하여금, 상기 제2 패키지가 상기 제1 패키지에 인접하게 또는 그 근처에 위치되는 경우에는 판독 동작 동안 제1 ODT 설정을 제공하게 하거나, 또는 상기 제2 패키지가 상기 제1 패키지에 인접하게 위치되지 않는 경우에는 판독 동작 동안 제2 ODT 설정을 제공하게 하는 메모리 디바이스.
  6. 제1항에 있어서, 상기 커맨드는 저장 디바이스의 제어기로부터 수신되는 메모리 디바이스.
  7. 제6항에 있어서, 상기 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함하고, 상기 저장 디바이스는 솔리드 스테이트 드라이브(solid state drive)인 메모리 디바이스.
  8. 제7항에 있어서, 상기 비-휘발성 타입들의 메모리는 상변화 메모리(phase change memory), 나노와이어 메모리, 강유전성 트랜지스터 랜덤 액세스 메모리(ferroelectric transistor random access memory)(FeTRAM), 반-강유전성 메모리, 금속 산화물 베이스, 산소 결함(oxygen vacancy) 베이스 및 전도성 브리지 랜덤 액세스 메모리(conductive bridge random access memory)(CB-RAM)를 포함하는 저항성 메모리, 스핀트로닉 자기 접합 메모리, 자기 터널링 접합(magnetic tunneling junction)(MTJ) 메모리, 도메인 벽(domain wall)(DW) 및 스핀 궤도 전달(spin orbit transfer)(SOT) 메모리, 사이리스터(thyristor) 기반 메모리 어레이, 멤리스터(memristor) 기술을 통합하는 자기 저항 랜덤 액세스 메모리(magnetoresistive random access memory)(MRAM), 또는 스핀 전달 토크 MRAM(spin transfer torque MRAM)(STT-MRAM)을 포함하는 메모리 디바이스.
  9. 장치로서,
    제1 메모리 디바이스와 커플링하기 위한 입/출력(I/O) 인터페이스 회로망; 및
    프로그램 로직을 실행하기 위한 회로망
    을 포함하고,
    상기 프로그램 로직은,
    상기 I/O 인터페이스 회로망을 통해 상기 제1 메모리 디바이스에서의 제1 레지스터를 프로그래밍하여, 상기 제1 레지스터로 하여금, 상기 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스일 때 선택할 다수의 온-다이 터미네이션(ODT) 타입들을 나타내게 하고 - 상기 다수의 ODT 타입들은 판독 커맨드 또는 기입 커맨드가 상기 제1 메모리 디바이스 그룹에 포함된 제2 메모리 디바이스에 의해 실행되는지 또는 제2 메모리 디바이스 그룹에 포함된 제3 메모리 디바이스에 의해 실행되는지에 기초함 -,
    상기 I/O 인터페이스 회로망을 통해 상기 제1 메모리 디바이스에서의 제2 레지스터를 프로그래밍하여, 상기 제2 레지스터로 하여금, 기입 커맨드가 상기 제2 메모리 디바이스에 의해 실행되는지 또는 상기 제3 메모리 디바이스에 의해 실행되는지에 기초하여 적용할 별도의 ODT 설정들을 갖는 적어도 2개의 ODT 타입을 나타내게 하는 장치.
  10. 제9항에 있어서, 상기 제1 메모리 디바이스 그룹은 제1 그룹 식별자가 할당된 제1 패키지 상에 위치되고, 상기 제2 메모리 디바이스 그룹은 제2 그룹 식별자가 할당된 제2 패키지 상에 위치되고, 제3 메모리 디바이스 그룹에 포함된 제4 메모리 디바이스는 제3 그룹 식별자가 할당된 제3 패키지 상에 위치되고, 상기 제1 패키지 및 상기 제2 패키지 및 상기 제3 패키지는 동일한 데이터 버스를 통해 상기 I/O 인터페이스 회로망에 커플링되고, 상기 제2 패키지는 상기 제1 패키지에 인접하게 또는 그 근처에 위치되고, 상기 제3 패키지는 상기 제1 패키지에 인접하게 위치되지 않는 장치.
  11. 제10항에 있어서, 추가로 상기 프로그램 로직은,
    상기 제1 메모리 디바이스에서의 제3 레지스터를 프로그래밍하여, 상기 제1 메모리 디바이스가 상기 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스이고 상기 커맨드가 판독 커맨드일 때 선택적으로 적용할 제1 ODT 설정 및 제2 ODT 설정을 나타내게 하고, 상기 제1 메모리 디바이스는, 상기 판독 커맨드가 상기 제3 메모리 디바이스에 대한 경우에는 상기 제1 ODT 설정을 적용하거나, 또는 상기 판독 커맨드가 상기 제4 메모리 디바이스에 대한 경우에는 상기 제2 ODT 설정을 적용하는 장치.
  12. 제9항에 있어서, 상기 제1 메모리 디바이스, 상기 제2 메모리 디바이스 및 상기 제3 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함하고, 상기 장치는 상기 제1 메모리 디바이스, 상기 제2 메모리 디바이스 및 상기 제3 메모리 디바이스를 포함하는 솔리드 스테이트 드라이브에 대한 제어기인 장치.
  13. 제12항에 있어서, 상기 비-휘발성 타입들의 메모리는 상변화 메모리, 나노와이어 메모리, 강유전성 트랜지스터 랜덤 액세스 메모리(FeTRAM), 반-강유전성 메모리, 금속 산화물 베이스, 산소 결함 베이스 및 전도성 브리지 랜덤 액세스 메모리(CB-RAM)를 포함하는 저항성 메모리, 스핀트로닉 자기 접합 메모리, 자기 터널링 접합(MTJ) 메모리, 도메인 벽(DW) 및 스핀 궤도 전달(SOT) 메모리, 사이리스터 기반 메모리 어레이, 멤리스터 기술을 통합하는 자기 저항 랜덤 액세스 메모리(MRAM), 또는 스핀 전달 토크 MRAM(STT-MRAM)을 포함하는 장치.
  14. 저장 디바이스로서,
    동일한 데이터 채널을 통해 다수의 메모리 디바이스 그룹들과 커플링하기 위한 입/출력(I/O) 인터페이스 회로망을 갖는 제어기; 및
    상기 다수의 메모리 디바이스 그룹들 중 제1 그룹의 메모리 디바이스
    를 포함하고,
    상기 메모리 디바이스는,
    온-다이 터미네이션(ODT) 설정들을 유지하도록 배열되는 하나 이상의 레지스터; 및
    제어 회로망
    을 포함하고,
    상기 제어 회로망은,
    상기 제어기로부터의 커맨드가 상기 동일한 데이터 채널과 커플링되는 별도의 메모리 디바이스에 의해 실행된다는 표시를 수신하고,
    상기 하나 이상의 레지스터를 판독하여, 상기 메모리 디바이스에 대한 상기 별도의 메모리 디바이스의 근접성을 나타내는 제1 그룹 식별자에 기초하여 그리고 상기 커맨드가 판독 커맨드인지 또는 기입 커맨드인지에 기초하여, 상기 커맨드의 실행 동안 어떤 ODT 설정을 적용할지를 결정하는 저장 디바이스.
  15. 제14항에 있어서, 상기 다수의 메모리 디바이스 그룹들 중 제1 그룹은 제1 패키지 상에 위치되고, 상기 제1 그룹은 또한 상기 별도의 메모리 디바이스를 포함하고, 상기 메모리 디바이스는 상기 제1 그룹에 대한 종단 메모리 디바이스가 되도록 배열되는 저장 디바이스.
  16. 제15항에 있어서, 상기 제1 그룹 식별자는 상기 별도의 메모리 디바이스가 동일한 패키지 상에 위치되는 것을 나타내기 위해 상기 제1 그룹에 할당되고, 상기 커맨드는 기입 커맨드이고, 상기 제어 회로망은, 상기 메모리 디바이스로 하여금, 상기 별도의 메모리 디바이스에 대한 기입 동작 동안 Hi_z ODT 설정을 제공하게 하는 저장 디바이스.
  17. 제14항에 있어서, 상기 다수의 메모리 디바이스 그룹들 중 제1 그룹은 제1 패키지 상에 위치되고, 상기 제1 그룹은 또한 상기 별도의 메모리 디바이스를 포함하고, 상기 메모리 디바이스는 상기 제1 그룹에 대한 종단 메모리 디바이스가 되도록 배열되고, 상기 별도의 메모리 디바이스는 제2 패키지 상에 위치되는 상기 다수의 메모리 디바이스 그룹들 중 제2 그룹에 포함되고, 상기 제1 그룹 식별자는 상기 제2 그룹에 할당되고, 상기 제1 그룹 식별자는 상기 별도의 메모리 디바이스가 상이한 패키지 상에 위치되는 것을 나타내는 저장 디바이스.
  18. 제17항에 있어서, 상기 커맨드는 판독 커맨드이고, 상기 제어 회로망은, 상기 메모리 디바이스로 하여금, 상기 제2 패키지가 상기 제1 패키지에 인접하게 또는 그 근처에 위치되는 경우에는 판독 동작 동안 제1 ODT 설정을 제공하게 하거나, 또는 상기 제2 패키지가 상기 제1 패키지에 인접하게 위치되지 않는 경우에는 판독 동작 동안 제2 ODT 설정을 제공하게 하는 저장 디바이스.
  19. 제14항에 있어서, 상기 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함하고, 상기 저장 디바이스는 솔리드 스테이트 드라이브인 저장 디바이스.
  20. 제19항에 있어서, 상기 비-휘발성 타입들의 메모리는 상변화 메모리, 나노와이어 메모리, 강유전성 트랜지스터 랜덤 액세스 메모리(FeTRAM), 반-강유전성 메모리, 금속 산화물 베이스, 산소 결함 베이스 및 전도성 브리지 랜덤 액세스 메모리(CB-RAM)를 포함하는 저항성 메모리, 스핀트로닉 자기 접합 메모리, 자기 터널링 접합(MTJ) 메모리, 도메인 벽(DW) 및 스핀 궤도 전달(SOT) 메모리, 사이리스터 기반 메모리 어레이, 멤리스터 기술을 통합하는 자기 저항 랜덤 액세스 메모리(MRAM), 또는 스핀 전달 토크 MRAM(STT-MRAM)을 포함하는 저장 디바이스.
  21. 방법으로서,
    메모리 디바이스에 대한 회로망에서, 동일한 데이터 채널과 커플링되는 별도의 메모리 디바이스에 의해 커맨드가 실행된다는 표시를 수신하는 단계; 및
    상기 메모리 디바이스에 대한 상기 별도의 메모리 디바이스의 근접성을 나타내는 제1 그룹 식별자에 기초하여 그리고 상기 커맨드가 판독 커맨드인지 또는 기입 커맨드인지에 기초하여, 상기 커맨드의 실행 동안 어떤 온-다이 터미네이션(ODT) 설정을 적용할지를 결정하기 위해 ODT 설정들을 유지하도록 배열되는 하나 이상의 레지스터를 판독하는 단계
    를 포함하는 방법.
  22. 제21항에 있어서, 상기 메모리 디바이스는 상기 별도의 메모리 디바이스를 포함하는 제1 패키지 상에 위치되고, 상기 메모리 디바이스는 상기 제1 패키지에 대한 종단 메모리 디바이스가 되도록 배열되는 방법.
  23. 제22항에 있어서, 상기 제1 그룹 식별자는 상기 별도의 메모리 디바이스가 동일한 패키지 상에 위치되는 것을 나타내기 위해 상기 제1 패키지에 할당되고, 상기 커맨드는 기입 커맨드이고,
    상기 방법은,
    상기 메모리 디바이스로 하여금, 상기 별도의 메모리 디바이스에 대한 기입 동작 동안 Hi_z ODT 설정을 제공하게 하는 단계
    를 추가로 포함하는 방법.
  24. 제21항에 있어서, 상기 메모리 디바이스는 적어도 하나의 다른 메모리 디바이스를 포함하는 제1 패키지 상에 위치되고, 상기 메모리 디바이스는 상기 제1 패키지에 대한 종단 메모리 디바이스가 되도록 배열되고, 상기 별도의 메모리 디바이스는 제2 패키지 상에 위치되고, 상기 제1 그룹 식별자는 상기 제2 패키지에 할당되고, 상기 제1 그룹 식별자는 상기 별도의 메모리 디바이스가 상이한 패키지 상에 위치되는 것을 나타내는 방법.
  25. 제24항에 있어서, 상기 커맨드는 판독 커맨드이고,
    상기 방법은,
    상기 메모리 디바이스로 하여금, 상기 제2 패키지가 상기 제1 패키지에 인접하게 또는 그 근처에 위치되는 경우에는 판독 동작 동안 제1 ODT 설정을 제공하게 하거나, 또는 상기 제2 패키지가 상기 제1 패키지에 인접하게 위치되지 않는 경우에는 판독 동작 동안 제2 ODT 설정을 제공하게 하는 단계
    를 추가로 포함하는 방법.
  26. 제21항에 있어서, 상기 커맨드는 저장 디바이스의 제어기로부터 수신되는 방법.
  27. 제26항에 있어서, 상기 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함하고, 상기 저장 디바이스는 솔리드 스테이트 드라이브인 방법.
  28. 적어도 하나의 머신 판독 가능 매체로서,
    시스템에 의해 실행되는 것에 응답하여, 상기 시스템으로 하여금, 제21항 내지 제27항 중 어느 한 항에 따른 방법을 수행하게 하는 복수의 명령어들을 포함하는 적어도 하나의 머신 판독 가능 매체.
  29. 장치로서,
    제21항 내지 제27항 중 어느 한 항의 방법들을 수행하기 위한 수단을 포함하는 장치.
  30. 방법으로서,
    입/출력(I/O) 인터페이스 회로망을 통해 제어기와 커플링되는 제1 메모리 디바이스에서의 제1 레지스터를 프로그래밍하여, 상기 제1 레지스터로 하여금, 상기 제1 메모리 디바이스가 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스일 때 선택할 다수의 온-다이 터미네이션(ODT) 타입들을 나타내게 하는 단계 - 상기 다수의 ODT 타입들은 판독 커맨드 또는 기입 커맨드가 상기 제1 메모리 디바이스 그룹에 포함된 제2 메모리 디바이스에 의해 실행되는지 또는 제2 메모리 디바이스 그룹에 포함된 제3 메모리 디바이스에 의해 실행되는지에 기초함 -; 및
    상기 I/O 인터페이스 회로망을 통해 상기 제1 메모리 디바이스에서의 제2 레지스터를 프로그래밍하여, 상기 제2 레지스터로 하여금, 기입 커맨드가 상기 제2 메모리 디바이스에 의해 실행되는지 또는 상기 제3 메모리 디바이스에 의해 실행되는지에 기초하여 적용할 별도의 ODT 설정들을 갖는 적어도 2개의 ODT 타입을 나타내게 하는 단계
    를 포함하는 방법.
  31. 제30항에 있어서, 상기 제1 메모리 디바이스 그룹은 제1 그룹 식별자가 할당된 제1 패키지 상에 위치되고, 상기 제2 메모리 디바이스 그룹은 제2 그룹 식별자가 할당된 제2 패키지 상에 위치되고, 제3 메모리 디바이스 그룹에 포함된 제4 메모리 디바이스는 제3 그룹 식별자가 할당된 제3 패키지 상에 위치되고, 상기 제1 패키지 및 상기 제2 패키지 및 상기 제3 패키지는 동일한 데이터 버스를 통해 상기 I/O 인터페이스 회로망에 커플링되고, 상기 제2 패키지는 상기 제1 패키지에 인접하게 또는 그 근처에 위치되고, 상기 제3 패키지는 상기 제1 패키지에 인접하게 위치되지 않는 방법.
  32. 제31항에 있어서,
    상기 제1 메모리 디바이스에서의 제3 레지스터를 프로그래밍하여, 상기 제1 메모리 디바이스가 상기 제1 메모리 디바이스 그룹에 대한 종단 메모리 디바이스이고 상기 커맨드가 판독 커맨드일 때 선택적으로 적용할 제1 ODT 설정 및 제2 ODT 설정을 나타내게 하는 단계 - 상기 제1 메모리 디바이스는, 상기 판독 커맨드가 상기 제3 메모리 디바이스에 대한 경우에는 상기 제1 ODT 설정을 적용하거나, 또는 상기 판독 커맨드가 상기 제4 메모리 디바이스에 대한 경우에는 상기 제2 ODT 설정을 적용함 -
    를 추가로 포함하는 방법.
  33. 제32항에 있어서, 상기 제1 메모리 디바이스, 상기 제2 메모리 디바이스 및 상기 제3 메모리 디바이스는 비-휘발성 타입들의 메모리를 포함하고, 상기 제어기는 상기 제1 메모리 디바이스, 상기 제2 메모리 디바이스 및 상기 제3 메모리 디바이스를 포함하는 솔리드 스테이트 드라이브에 대한 제어기인 방법.
  34. 적어도 하나의 머신 판독 가능 매체로서,
    시스템에 의해 실행되는 것에 응답하여, 상기 시스템으로 하여금, 제31항 내지 제33항 중 어느 한 항에 따른 방법을 수행하게 하는 복수의 명령어들을 포함하는 적어도 하나의 머신 판독 가능 매체.
  35. 장치로서,
    제31항 내지 제33항 중 어느 한 항의 방법들을 수행하기 위한 수단을 포함하는 장치.
KR1020200120557A 2019-12-23 2020-09-18 동적 근접성 기반 온-다이 터미네이션을 위한 기술들 KR20210081224A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/725,521 US20200133669A1 (en) 2019-12-23 2019-12-23 Techniques for dynamic proximity based on-die termination
US16/725,521 2019-12-23

Publications (1)

Publication Number Publication Date
KR20210081224A true KR20210081224A (ko) 2021-07-01

Family

ID=70328681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200120557A KR20210081224A (ko) 2019-12-23 2020-09-18 동적 근접성 기반 온-다이 터미네이션을 위한 기술들

Country Status (5)

Country Link
US (1) US20200133669A1 (ko)
JP (1) JP2021099892A (ko)
KR (1) KR20210081224A (ko)
CN (1) CN113094303A (ko)
DE (1) DE102020129114A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11750190B2 (en) * 2020-12-14 2023-09-05 Intel Corporation Encoded on-die termination for efficient multipackage termination
US11868621B2 (en) * 2021-06-22 2024-01-09 Seagate Technology Llc Data storage with multi-level read destructive memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171585B2 (en) * 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US10141935B2 (en) * 2015-09-25 2018-11-27 Intel Corporation Programmable on-die termination timing in a multi-rank system

Also Published As

Publication number Publication date
DE102020129114A1 (de) 2021-06-24
CN113094303A (zh) 2021-07-09
US20200133669A1 (en) 2020-04-30
JP2021099892A (ja) 2021-07-01

Similar Documents

Publication Publication Date Title
US10025737B2 (en) Interface for storage device access over memory bus
US10755753B2 (en) Memory device with flexible internal data write control circuitry
CN108538337B (zh) 具有固定带宽接口的存储器设备中的集成的错误检查和校正(ecc)
US10339072B2 (en) Read delivery for memory subsystem with narrow bandwidth repeater channel
US20160378366A1 (en) Internal consecutive row access for long burst length
US11675716B2 (en) Techniques for command bus training to a memory device
US11188264B2 (en) Configurable write command delay in nonvolatile memory
WO2011103658A1 (en) Semiconductor memory device with plural memory die and controller die
KR20220085004A (ko) 효율적인 멀티패키지 종단을 위한 인코딩된 온-다이 종단
US20170289850A1 (en) Write delivery for memory subsystem with narrow bandwidth repeater channel
KR20210081224A (ko) 동적 근접성 기반 온-다이 터미네이션을 위한 기술들
US11056179B2 (en) Techniques to couple high bandwidth memory device on silicon substrate and package substrate
CN117099075A (zh) 针对长突发长度的存储器数据传送的双倍取得
US11042315B2 (en) Dynamically programmable memory test traffic router
US20230333928A1 (en) Storage and access of metadata within selective dynamic random access memory (dram) devices
WO2018055768A1 (ja) 半導体記憶装置
US20210390991A1 (en) Duty cycle adjuster optimization training algorithm to minimize the jitter associated with ddr5 dram transmitter
US20230393740A1 (en) Four way pseudo split die dynamic random access memory (dram) architecture
US20230342035A1 (en) Method and apparatus to improve bandwidth efficiency in a dynamic random access memory
US20240125851A1 (en) Multi-modal memory apparatuses and systems
CN115858438A (zh) 用于存储器模块数据宽度的灵活配置的使能逻辑

Legal Events

Date Code Title Description
A201 Request for examination