KR20210133832A - 트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치 - Google Patents

트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치 Download PDF

Info

Publication number
KR20210133832A
KR20210133832A KR1020200091254A KR20200091254A KR20210133832A KR 20210133832 A KR20210133832 A KR 20210133832A KR 1020200091254 A KR1020200091254 A KR 1020200091254A KR 20200091254 A KR20200091254 A KR 20200091254A KR 20210133832 A KR20210133832 A KR 20210133832A
Authority
KR
South Korea
Prior art keywords
data
pin
signal
group
write data
Prior art date
Application number
KR1020200091254A
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 삼성전자주식회사
Priority to US17/130,493 priority Critical patent/US11309013B2/en
Priority to CN202110266588.5A priority patent/CN113571105A/zh
Priority to EP21169529.1A priority patent/EP3905249A1/en
Priority to TW110114364A priority patent/TWI781592B/zh
Publication of KR20210133832A publication Critical patent/KR20210133832A/ko
Priority to US17/690,137 priority patent/US11574670B2/en

Links

Images

Classifications

    • 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/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

본 발명의 하나의 실시 예에 따른 메모리 장치는 제1 파워 영역에 배치되는 제1 전원 전압을 수신하기 위한 제1 전원 핀들, 각각이 제1 파워 영역을 포함하는 제1 영역 및 제2 영역에 배치되는 데이터 신호들을 위한 데이터 핀들, 제1 영역 및 제2 영역에 배치되는 제어 신호들을 위한 제어 핀들, 제1 영역 및 제2 영역 사이의 제2 파워 영역에 배치되는 제1 전원 전압과 다른 제2 전원 전압을 수신하기 위한 제2 전원 핀들, 및 제2 파워 영역에 배치되는 접지 전압을 수신하기 위한 접지 핀들을 포함하고, 데이터 핀들 및 제어 핀들은 복수의 핀 그룹들로 나뉘어지고, 복수의 핀 그룹들 각각에 대응하는 트레이닝 값은 복수의 핀 그룹들 각각의 핀들 중 적어도 하나의 핀에 대한 트레이닝을 통해 결정된다.

Description

트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치{MEMORY DEVICE FOR REDUCING RESOURCES USED FOR TRAINING}
본 발명은 반도체 장치에 관한 것으로써, 좀 더 상세하게는 트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치에 관한 것이다.
스마트폰, 그래픽 가속기, AI 가속기 등의 전자 장치들은 DRAM(Dynamic Random Access Memory)과 같은 메모리 장치를 이용하여 데이터를 처리한다. 전자 장치들이 처리해야 하는 데이터의 양이 증가함에 따라 고용량 및 고대역폭의 메모리 장치가 요구되고 있다. 특히, 고속으로 데이터를 처리하기 위해 HBM(High Bandwidth Memory)과 같은 멀티 채널 인터페이스 방식의 와이드 입출력을 제공하는 메모리 장치의 사용이 증가되고 있다.
메모리 장치는 고대역폭을 제공하기 위해 다수의 데이터 핀들을 통해 외부 장치(예를 들어, 호스트 장치 또는 메모리 컨트롤러)와 데이터를 주고 받을 수 있다. 메모리 장치의 데이터 핀들의 개수가 증가할수록 외부 장치는 고속으로 데이터를 처리할 수 있다. 그러나, 각각의 핀에 대하여 트레이닝이 수행되는 경우, 데이터 핀들의 개수가 증가함에 따라 트레이닝을 위해 사용되는 리소스가 증가될 수 있다.
본 발명은 상술한 기술적 과제를 해결하기 위한 것으로, 복수의 데이터 핀들에 대한 트레이닝 리소스를 감소시키기 위해 복수의 데이터 핀들에 대하여 그룹 별로 트레이닝이 수행될 수 있는 메모리 장치를 제공할 수 있다.
본 발명의 하나의 실시 예에 따른 메모리 장치는 제1 파워 영역에 배치되는 제1 전원 전압을 수신하기 위한 제1 전원 핀들, 각각이 상기 제1 파워 영역을 포함하는 제1 영역 및 제2 영역에 배치되는 데이터 신호들을 위한 데이터 핀들, 상기 제1 영역 및 상기 제2 영역에 배치되는 제어 신호들을 위한 제어 핀들, 상기 제1 영역 및 상기 제2 영역 사이의 제2 파워 영역에 배치되는 상기 제1 전원 전압과 다른 제2 전원 전압을 수신하기 위한 제2 전원 핀들, 및 상기 제2 파워 영역에 배치되는 접지 전압을 수신하기 위한 접지 핀들을 포함하고, 상기 데이터 핀들 및 상기 제어 핀들은 복수의 핀 그룹들로 나뉘어지고, 상기 복수의 핀 그룹들 각각에 대응하는 트레이닝 값은 상기 복수의 핀 그룹들 각각의 핀들 중 적어도 하나의 핀에 대한 트레이닝을 통해 결정된다.
본 발명의 하나의 실시 예에 따른 메모리 장치는 제1 데이터 신호를 위한 제1 데이터 핀 및 제1 제어 신호를 위한 제1 제어 핀을 포함하는 제1 핀 그룹, 제2 데이터 신호를 위한 제2 데이터 핀 및 제2 제어 신호를 위한 제2 제어 핀을 포함하는 제2 핀 그룹, 및 상기 제1 핀 그룹이 배치되는 제1 영역과 상기 제2 핀 그룹이 배치되는 제2 영역 각각에 위치하고, 제1 전원 전압을 수신하기 위한 핀들이 배치되는 제1 파워 영역을 포함하고, 상기 제1 영역과 상기 제2 영역 사이에는 상기 제1 전원 전압과 다른 제2 전원 전압을 수신하기 위한 핀들과 접지 전압을 수신하기 위한 핀들이 배치되는 제2 파워 영역이 위치하고, 상기 제1 데이터 핀 및 상기 제1 제어 핀 중 하나에 대한 트레이닝을 통해 상기 제1 핀 그룹에 대응하는 제1 트레이닝 값이 결정되고, 상기 제2 데이터 핀 및 상기 제2 제어 핀 중 하나에 대한 트레이닝을 통해 상기 제2 핀 그룹에 대응하는 제2 트레이닝 값이 결정된다.
본 발명의 하나의 실시 예에 따른 메모리 장치는 쓰기 데이터 스트로브 신호를 수신하기 위한 쓰기 데이터 스트로브 핀, 상기 쓰기 데이터 스트로브 신호를 기반으로 샘플링되는 제1 데이터 신호들을 수신하기 위한 제1 핀 그룹, 및 상기 쓰기 데이터 스트로브 신호를 기반으로 샘플링되는 제2 데이터 신호들을 수신하기 위한 제2 핀 그룹을 포함하고, 상기 제1 핀 그룹 중 제1 핀에 대한 트레이닝을 통해 상기 제1 핀 그룹에 대응하는 제1 트레이닝 값이 결정되고, 상기 제2 핀 그룹 중 제2 핀에 대한 트레이닝을 통해 상기 제2 핀 그룹에 대응하는 제2 트레이닝 값이 결정된다.
본 발명의 하나의 실시 예에 따른 메모리 시스템은 쓰기 데이터 스트로브 핀을 통해 쓰기 데이터 스트로브 신호를 수신하고, 상기 쓰기 데이터 스트로브 핀에 대응하는 제1 핀 그룹의 핀들을 통해 제1 데이터 신호들을 수신하고, 상기 쓰기 데이터 스트로브 핀에 대응하는 제2 핀 그룹의 핀들을 통해 제2 데이터 신호들을 수신하도록 구성된 메모리 장치, 및 토글하는 상기 쓰기 데이터 스트로브 신호를 상기 메모리 장치로 전송하는 동안 상기 제1 핀 그룹 중 하나의 핀에 대한 트레이닝을 통해 결정된 제1 전송 타이밍을 기반으로 상기 제1 데이터 신호들을 상기 메모리 장치로 전송하고, 상기 제2 핀 그룹 중 하나의 핀에 대한 트레이닝을 통해 결정된 제2 전송 타이밍을 기반으로 상기 제2 데이터 신호들을 상기 메모리 장치로 전송하도록 구성된 메모리 컨트롤러를 포함한다.
본 발명의 하나의 실시 예에 따른 메모리 시스템은 쓰기 데이터 스트로브 핀을 통해 쓰기 데이터 스트로브 신호를 수신하고, 상기 쓰기 데이터 스트로브 핀에 대응하는 제1 핀 그룹을 통해 제1 데이터 신호들을 전송하고, 상기 쓰기 데이터 스트로브 핀에 대응하는 제2 핀 그룹을 통해 제2 데이터 신호들을 전송하도록 구성된 메모리 장치, 및 토글하는 상기 쓰기 데이터 스트로브 신호를 상기 메모리 장치로 전송하고, 상기 제1 핀 그룹 중 하나의 핀에 대한 트레이닝을 통해 결정된 제1 수신 타이밍을 기반으로 상기 메모리 장치로부터 수신된 상기 제1 데이터 신호들을 샘플링하고, 상기 제2 핀 그룹 중 하나의 핀에 대한 트레이닝을 통해 결정된 제2 수신 타이밍을 기반으로 상기 메모리 장치로부터 수신된 상기 제2 데이터 신호들을 샘플링하도록 구성된 메모리 컨트롤러를 포함한다.
본 발명의 하나의 실시 예에 따른 메모리 시스템은 인터포저 기판, 상기 인터포저 기판 상에 적층되고, 적어도 하나의 프로세서를 포함하는 시스템 온 칩, 및 상기 인터포저 기판 상에 적층되고, 제1 범프 그룹을 통해 상기 시스템 온 칩과 제1 신호들을 통신하고 제2 범프 그룹을 통해 상기 시스템 온 칩과 제2 신호들을 통신하도록 구성된 버퍼 다이 및 실리콘 관통 전극을 통해 상기 버퍼 다이 상에 적층되며, 각각이 메모리 셀들을 포함하는 복수의 코어 다이들을 포함하는 메모리 장치를 포함하고, 상기 시스템 온 칩은 상기 제1 범프 그룹 중 제1 범프에 대한 트레이닝을 통해 결정된 제1 트레이닝 결과를 기반으로 상기 버퍼 다이와 상기 제1 신호들을 통신하고, 상기 제2 범프 그룹 중 제2 범프에 대한 트레이닝을 통해 결정된 제2 트레이닝 결과를 기반으로 상기 버퍼 다이와 상기 제2 신호들을 통신하도록 구성된다.
본 발명의 실시 예에 따른 메모리 장치는 복수의 데이터 핀들에 대하여 그룹 별로 트레이닝이 수행되도록 구성될 수 있다. 이에 따라, 복수의 데이터 핀들에 대한 트레이닝 시간이 감소될 수 있고, 트레이닝 결과를 저장하기 위한 레지스터의 용량이 감소될 수 있다.
도 1은 본 발명의 하나의 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템의 예시적인 동작을 보여주는 순서도이다.
도 3은 도 1의 메모리 시스템의 읽기 트레이닝 동작 및 쓰기 트레이닝 동작의 예시를 보여주는 도면이다.
도 4는 도 3의 메모리 장치의 예시적인 블록도이다.
도 5는 도 3의 메모리 컨트롤러의 읽기 트레이닝 동작의 예시를 보여주는 순서도이다.
도 6은 도 3의 메모리 컨트롤러의 쓰기 트레이닝 동작의 예시를 보여주는 순서도이다.
도 7은 도 3의 메모리 시스템을 예시적으로 보여주는 블록도이다.
도 8은 도 7의 메모리 장치가 데이터 신호들을 샘플링하는 예시를 보여주는 타이밍도이다.
도 9는 도 7의 메모리 장치의 예시적인 구성을 보여주는 도면이다.
도 10은 도 3의 메모리 시스템을 예시적으로 보여주는 블록도이다.
도 11은 도 10의 메모리 장치가 데이터 신호들을 전송하는 예시를 보여주는 타이밍도이다.
도 12는 도 10의 메모리 장치의 예시적인 구성을 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 적층형 메모리 장치를 보여주는 블록도이다.
도 14는 도 13의 버퍼 다이의 하나의 실시 예를 보여주는 블록도이다.
도 15는 도 13의 적층형 메모리 장치에 포함된 핀들의 예시적인 핀 맵을 보여준다.
도 16은 도 15의 핀 맵에 대응하는 WDQS 트리의 예시적인 구성을 보여준다.
도 17은 본 발명의 하나의 실시 예에 따른 반도체 패키지를 보여주는 도면이다.
도 18은 본 발명의 하나의 실시 예에 따른 반도체 패키지의 구현 예시를 보여주는 도면이다.
도 19는 본 발명의 하나의 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 강도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 하나의 실시 예에 따른 메모리 시스템을 나타내는 블록도이다. 도 1을 참조하면, 메모리 시스템(10)은 메모리 컨트롤러(100) 및 메모리 장치(200)를 포함할 수 있다. 메모리 컨트롤러(100)는 메모리 장치(200)의 전반적인 동작을 제어할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 메모리 장치(200)로부터 데이터가 출력되거나 또는 메모리 장치(200)에 데이터가 저장되도록 메모리 장치(200)를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 시스템-온-칩(SoC)의 일부로서 구현될 수 있으나, 이에 한정되지 않는다.
메모리 컨트롤러(100)는 호스트 인터페이스 회로(110), 트레이닝 컨트롤러(120), 및 레지스터(130)를 포함할 수 있다. 호스트 인터페이스 회로(110)는 클럭 신호(CK)를 생성하고, 클럭 신호(CK)를 메모리 장치(200)로 전송할 수 있다. 클럭 신호(CK)는 주기적으로 하이(high) 레벨 및 로우(low) 레벨 사이를 토글하는 신호일 수 있다. 호스트 인터페이스 회로(110)는 클럭 신호(CK)의 토글 타이밍들에 기초하여 커맨드(CMD) 및/또는 어드레스(ADD)를 포함하는 커맨드/어드레스 신호들(CA)을 메모리 장치(200)로 전송할 수 있다. 커맨드/어드레스 신호들(CA)은 복수의 신호 라인들을 통해 메모리 장치(200)로 전송될 수 있다.
호스트 인터페이스 회로(110)는 쓰기 데이터 스트로브 신호(WDQS)를 생성하고, 쓰기 데이터 스트로브 신호(WDQS)를 메모리 장치(200)로 전송할 수 있다. 쓰기 데이터 스트로브 신호(WDQS)는 주기적으로 하이 레벨 및 로우 레벨 사이를 토글하는 신호일 수 있다. 호스트 인터페이스 회로(110)는 쓰기 데이터 스트로브 신호(WDQS)의 토글 타이밍들에 기초하여 데이터(DATA)를 포함하는 데이터 신호들(DQ)을 메모리 장치(200)로 전송할 수 있다. 데이터 신호들(DQ)은 복수의 신호 라인들을 통해 메모리 장치(200)로 전송될 수 있다.
호스트 인터페이스 회로(110)는 메모리 장치(200)로부터 읽기 데이터 스트로브 신호(RDQS)를 수신할 수 있다. 읽기 데이터 스트로브 신호(RDQS)는 주기적으로 하이 레벨 및 로우 레벨 사이를 토글하는 신호일 수 있다. 호스트 인터페이스 회로(110)는 메모리 장치(200)로부터 데이터 신호들(DQ)을 수신하고, 읽기 데이터 스트로브 신호(RDQS)의 토글 타이밍들에 기초하여 데이터 신호들(DQ)을 샘플링할 수 있다. 이에 따라, 호스트 인터페이스 회로(110)는 데이터 신호들(DQ)로부터 데이터(DATA)를 획득할 수 있다.
트레이닝 컨트롤러(120)는 메모리 장치(200)에 대한 트레이닝 동작을 제어할 수 있다. 트레이닝 컨트롤러(120)는 트레이닝을 통해 트레이닝 값을 결정할 수 있다. 예를 들어, 트레이닝 컨트롤러(120)는 호스트 인터페이스 회로(110)로부터 전송되는 데이터 신호들(DQ) 각각의 전송 타이밍을 결정하고, 호스트 인터페이스 회로(110)로 수신되는 데이터 신호들(DQ) 각각의 수신 타이밍을 결정할 수 있다. 이에 따라, 데이터 신호들(DQ)에 대한 전송 타이밍 정보 및 수신 타이밍 정보가 생성될 수 있다. 여기서, 전송 타이밍은 호스트 인터페이스 회로(110)가 데이터(DATA)를 포함하는 데이터 신호들(DQ)을 메모리 장치(200)로 전송하기 위한 타이밍으로서, 전송 타이밍에 따라 메모리 장치(200)로 데이터(DATA)가 전송되는 시간(또는, 타이밍)이 달라질 수 있다. 수신 타이밍은 호스트 인터페이스 회로(110)가 메모리 장치(200)로부터 수신된 데이터 신호들(DQ)을 샘플링하기 위한 타이밍으로서, 수신 타이밍에 따라 데이터 신호들(DQ) 각각이 샘플링되는 시간(또는, 타이밍)이 달라질 수 있다.
트레이닝 컨트롤러(120)는 아날로그 회로 및/또는 디지털 회로를 포함하는 하드웨어로 구현되거나, 또는 메모리 컨트롤러(100) 내부의 중앙 처리 장치(CPU)에 의해 실행되는 복수의 명령어들을 포함하는 소프트웨어로 구현될 수 있다.
레지스터(130)는 트레이닝 컨트롤러(120)로부터 생성된 트레이닝 값을 저장할 수 있다. 예를 들어, 레지스터(130)는 트레이닝을 통해 생성된 전송 타이밍 정보 및 수신 타이밍 정보를 저장할 수 있다.
예시적인 실시 예에서, 트레이닝 이후에 호스트 인터페이스 회로(110)는 레지스터(130)에 저장된 전송 타이밍 정보를 기반으로 데이터 신호들(DQ)을 전송하고, 레지스터(130)에 저장된 수신 타이밍 정보를 기반으로 데이터 신호들(DQ)을 수신할 수 있다. 구체적으로, 호스트 인터페이스 회로(110)는 전송 타이밍 정보 또는 수신 타이밍 정보에 따라 데이터 신호들(DQ)의 송수신 시간을 조절할 수 있다. 예를 들어, 호스트 인터페이스 회로(110)는 데이터 신호들(DQ)에 대한 전송 타이밍 정보에 따라 데이터 신호들(DQ) 각각의 전송 시간을 지연시킬 수 있다. 이 경우, 데이터 신호들(DQ)에 포함된 데이터(DATA)가 메모리 장치(200)로 전달되는 시간이 지연될 수 있다. 호스트 인터페이스 회로(110)는 수신 타이밍 정보에 따라 데이터 신호들(DQ)의 수신 시간을 지연시킬 수 있다. 이 경우, 데이터 신호들(DQ)에 포함된 데이터(DATA)가 메모리 컨트롤러(100)로부터 획득되는 시간이 지연될 수 있다.
메모리 장치(200)는 메모리 컨트롤러(100)의 제어에 따라 동작할 수 있다. 예를 들어, 메모리 장치(200)는 메모리 컨트롤러(100)의 제어에 따라 저장된 데이터를 출력하거나, 또는 메모리 컨트롤러(100)로부터 제공된 데이터를 저장할 수 있다.
메모리 장치(200)는 메모리 인터페이스 회로(210) 및 메모리 뱅크(220)를 포함할 수 있다. 메모리 인터페이스 회로(210)는 메모리 컨트롤러(100)로부터 클럭 신호(CK)를 수신할 수 있다. 메모리 인터페이스 회로(210)는 메모리 컨트롤러(100)로부터 커맨드/어드레스 신호들(CA)을 수신할 수 있다. 메모리 인터페이스 회로(210)는 클럭 신호(CK)의 토글 타이밍들(예를 들어, 상승 에지 및/또는 하강 에지)에 기초하여 커맨드/어드레스 신호들(CA)을 샘플링할 수 있다. 이에 따라, 메모리 인터페이스 회로(210)는 커맨드/어드레스 신호들(CA)에 포함된 커맨드(CMD) 및/또는 어드레스(ADD)를 획득할 수 있다.
도 1에는 커맨드(CMD) 및 어드레스(ADD)가 동일한 채널(즉, 커맨드/어드레스 신호들(CA))을 통해 메모리 컨트롤러(100)로부터 메모리 장치(200)로 송신되는 것으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 커맨드(CMD) 및 어드레스(ADD)는 서로 다른 채널들을 이용하여 메모리 컨트롤러(100)로부터 메모리 장치(200)로 송신될 수 있다.
메모리 인터페이스 회로(210)는 메모리 컨트롤러(100)로부터 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 메모리 인터페이스 회로(210)는 메모리 컨트롤러(100)로부터 데이터 신호들(DQ)을 수신할 수 있다. 메모리 인터페이스 회로(210)는 쓰기 데이터 스트로브 신호(WDQS)의 토글 타이밍들(예를 들어, 상승 에지 및/또는 하강 에지)에 기초하여 데이터 신호들(DQ)을 샘플링할 수 있다. 이에 따라, 메모리 인터페이스 회로(210)는 데이터 신호들(DQ)로부터 데이터(DATA)를 획득할 수 있다.
메모리 인터페이스 회로(210)는 읽기 데이터 스트로브 신호(RDQS)를 생성하고, 읽기 데이터 스트로브 신호(RDQS)를 메모리 컨트롤러(100)로 전송할 수 있다. 읽기 데이터 스트로브 신호(RDQS)는 주기적으로 하이 레벨 및 로우 레벨 사이를 토글하는 신호일 수 있다. 예시적인 실시 예에서, 메모리 인터페이스 회로(210)는 메모리 컨트롤러(100)로부터 수신된 쓰기 데이터 스트로브 신호(WDQS)에 기초하여 읽기 데이터 스트로브 신호(RDQS)를 생성할 수 있다. 메모리 인터페이스 회로(210)는 쓰기 데이터 스트로브 신호(WDQS)의 토글 타이밍들에 기초하여 메모리 컨트롤러(100)로 데이터 신호들(DQ)을 전송할 수 있다. 이에 따라, 데이터 신호들(DQ)은 읽기 데이터 스트로브 신호(RDQS)의 에지 타이밍들에 정렬되어 메모리 컨트롤러(100)로 전송될 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 메모리 인터페이스 회로(210)는 클럭 신호(CK)에 기초하여 읽기 데이터 스트로브 신호(RDQS)를 생성하고, 메모리 컨트롤러(100)로 데이터 신호들(DQ)을 전송할 수 있다.
예시적인 실시 예에서, 쓰기 데이터 스트로브 신호(WDQS) 및 읽기 데이터 스트로브 신호(RDQS) 각각은 클럭 신호(CK)의 주파수보다 두 배 높은 주파수를 가질 수 있다. 예를 들어, 클럭 신호(CK)의 주파수는 1.6GHz일 수 있고, 쓰기 데이터 스트로브 신호(WDQS) 및 읽기 데이터 스트로브 신호(RDQS) 각각의 주파수는 3.2GHz일 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 쓰기 데이터 스트로브 신호(WDQS) 및 읽기 데이터 스트로브 신호(RDQS) 각각의 주파수는 클럭 신호(CK)의 주파수의 N배(N은 자연수)일 수 있다.
메모리 인터페이스 회로(210)는 메모리 컨트롤러(100)로부터 수신된 커맨드(CMD) 및 어드레스(ADD)를 기반으로 제어 신호(iCTRL)를 생성하고, 제어 신호(iCTRL)를 메모리 뱅크(220)로 제공할 수 있다. 예를 들어, 제어 신호(iCTRL)는 로우 어드레스 및 컬럼 어드레스를 포함할 수 있다.
메모리 뱅크(220)는 워드 라인들 및 비트 라인들에 연결되는 복수의 메모리 셀들을 포함할 수 있다. 예를 들어, 복수의 메모리 셀들 각각은 DRAM(Dynamic Random Access Memory) 셀일 수 있다. 이 경우, 호스트 인터페이스 회로(110) 및 메모리 인터페이스 회로(210)는 DDR(Double Data Rate), LPDDR(low power double data rate), GDDR(Graphics Double Data Rate), Wide I/O, HBM(High Bandwidth Memory), HMC(Hybrid Memory Cube) 등과 같은 표준들 중 하나에 기반하여 입출력 신호들을 통신할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 복수의 메모리 셀들 각각은 RRAM(Resistive RAM) 셀 등 다양한 종류의 메모리 셀일 수 있다.
메모리 뱅크(220)는 제어 신호(iCTRL)에 응답하여 메모리 셀들에 데이터(DATA)를 기입하거나, 메모리 셀들로부터 데이터(DATA)를 독출할 수 있다. 도 1에는 도시되지 않았으나, 메모리 뱅크(220)는 쓰기 동작 및 읽기 동작을 위한 로우 디코더, 컬럼 디코더, 센스 앰프 등을 더 포함할 수 있다.
상술한 바와 같이, 메모리 컨트롤러(100) 및 메모리 장치(200)는 트레이닝을 통해 결정된 전송 타이밍 및 수신 타이밍을 기반으로 데이터 신호들(DQ)을 송수신할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 트레이닝 컨트롤러(120)는 트레이닝을 통해 데이터 신호들(DQ)뿐만 아니라 클럭 신호(CK), 쓰기 데이터 스트로브 신호(WDQS), 또는 읽기 데이터 스트로브 신호(RDQS)를 기반으로 전송되거나 수신되는 다양한 입출력 신호들의 전송 타이밍들 및/또는 수신 타이밍들을 결정할 수 있다. 예를 들어, 트레이닝 컨트롤러(120)는 커맨드/어드레스 신호들(CA), 메모리 컨트롤러(100)와 메모리 장치(200) 사이에서 송신 및/또는 수신되는 다양한 제어 신호들(미도시)(예를 들어, DBI(Data Bus Inversion), DPAR(Data parity))의 전송 타이밍들 및/또는 수신 타이밍들을 결정할 수 있다. 이하에서는, 설명의 편의를 위해, 데이터 신호들(DQ)을 기준으로 본 발명의 실시 예들이 상세하게 설명될 것이나, 본 발명이 이에 한정되는 것은 아니며, 이하에서 설명될 실시 예들은 커맨드/어드레스 신호들(CA)을 포함한 다양한 입출력 신호들에 대하여 적용될 수 있다.
도 2는 도 1의 메모리 시스템의 예시적인 동작을 보여주는 순서도이다. 도 1 및 도 2를 참조하면, S11 단계에서, 메모리 시스템(10)은 초기화를 수행할 수 있다. 예를 들어, 메모리 시스템(10)이 파워-업되는 경우, 메모리 컨트롤러(100) 및 메모리 장치(200)는 미리 정해진 방식에 따라 초기화를 수행할 수 있다. 초기화 도중에, 메모리 컨트롤러(100)는 메모리 장치(200)로 전원 전압을 제공하고, 다양한 초기 설정 동작을 수행하고, 메모리 장치(200)로부터 필요한 정보를 읽을 수 있다.
S12 단계에서, 메모리 시스템(10)은 읽기 트레이닝 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 메모리 장치(200)로부터 수신된 데이터(DATA)의 신호 신뢰성(Signal Integrity) 또는 데이터-아이(data-eye)가 최적이 되도록 데이터 신호들(DQ)에 대한 수신 타이밍을 결정하고, 수신 타이밍 정보를 생성할 수 있다.
S13 단계에서, 메모리 시스템(10)은 쓰기 트레이닝 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 메모리 장치(200)로 전송된 데이터(DATA)의 신호 신뢰성 또는 데이터-아이가 최적이 되도록 데이터 신호들(DQ)에 대한 전송 타이밍을 결정하고, 전송 타이밍 정보를 생성할 수 있다.
상술된 S11 단계 내지 S13 단계의 초기화 또는 트레이닝 동작이 수행된 이후에, S14 단계에서, 메모리 시스템(10)은 정상 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 읽기 트레이닝 동작에 따라 결정된 수신 타이밍에 기초하여 메모리 장치(200)로부터 수신된 데이터 신호들(DQ)을 샘플링하여 데이터(DATA)를 획득할 수 있다. 메모리 컨트롤러(100)는 쓰기 트레이닝 동작에 따라 결정된 전송 타이밍에 기초하여 데이터 신호들(DQ)을 메모리 장치(200)로 전송할 수 있다.
예시적인 실시 예에서, S12 단계 전에, 메모리 시스템(10)은 커맨드/어드레스 신호(CA)에 대한 트레이닝을 수행하여 커맨드/어드레스 신호(CA)의 전송 타이밍을 결정할 수 있다. 예시적인 실시 예에서, S12 단계 전에, 메모리 시스템(10)은 클럭 신호(CK)의 토글 타이밍 및 쓰기 데이터 스트로브 신호(WDQS)의 토글 타이밍이 정렬되도록 쓰기 데이터 스트로브 신호(WDQS)에 대한 트레이닝을 수행할 수 있다.
도 3은 도 1의 메모리 시스템의 읽기 트레이닝 동작 및 쓰기 트레이닝 동작의 예시를 보여주는 도면이다. 도 3을 참조하면, 메모리 장치(200)는 쓰기 데이터 스트로브 핀(W_P), 읽기 데이터 스트로브 핀(R_P), 및 데이터 핀들(D_P)을 포함할 수 있다. 메모리 컨트롤러(100)는 쓰기 데이터 스트로브 핀(W_P)을 통해 메모리 장치(200)로 쓰기 데이터 스트로브 신호(WDQS)를 전송하고, 메모리 장치(200)로부터 읽기 데이터 스트로브 핀(R_P)을 통해 읽기 데이터 스트로브 신호(RDQS)를 수신할 수 있다. 메모리 컨트롤러(100)는 데이터 핀들(D_P)을 통해 메모리 장치(200)로 데이터 신호들(DQ)을 전송하거나, 메모리 장치(200)로부터 데이터 신호들(DQ)을 수신할 수 있다.
메모리 장치(200)의 데이터 핀들(D_P)은 제1 핀 그룹(PG1) 및 제2 핀 그룹(PG2)으로 나뉘어질 수 있다. 제1 핀 그룹(PG1) 및 제2 핀 그룹(PG2) 각각은 적어도 2개의 데이터 핀들(예를 들어, 8개의 데이터 핀들)을 포함할 수 있다. 예를 들어, 제1 핀 그룹(PG1)은 제1 데이터 핀(D_P1) 및 제2 데이터 핀(D_P2)을 포함하고, 제2 핀 그룹(PG2)은 제3 데이터 핀(D_P3) 및 제4 데이터 핀(D_P4)을 포함할 수 있다. 예를 들어, 제1 데이터 핀(D_P1) 및 제2 데이터 핀(D_P2)은 서로 인접하도록 위치하고, 제3 데이터 핀(D_P3) 및 제4 데이터 핀(D_P4)은 서로 인접하도록 위치할 수 있다. 메모리 컨트롤러(100)는 제1 내지 제4 데이터 핀들(D_P1~D_P4)을 통해 메모리 장치(200)로 제1 내지 제4 데이터 신호들(DQ1~DQ4)을 전송하거나, 메모리 장치(200)로부터 제1 내지 제4 데이터 신호들(DQ1~DQ4)을 수신할 수 있다.
메모리 컨트롤러(100)는 메모리 장치(200)의 핀들에 대한 그룹 정보를 저장할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 핀 그룹(PG1) 및 제2 핀 그룹(PG2)에 포함되는 데이터 핀들(D_P)에 대한 정보를 저장할 수 있다. 예를 들어, 핀들에 대한 그룹 정보는 표준에 의해 미리 정해질 수 있다. 예를 들어, 핀들에 대한 그룹 정보는 도 1의 레지스터(130)에 저장될 수 있다.
메모리 컨트롤러(100)는 핀 그룹 별로 트레이닝을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 핀 그룹(PG1)에 대한 쓰기 트레이닝 동작을 수행하여 제1 핀 그룹(PG1)에 대응하는 제1 전송 타이밍(TT1)을 결정하고, 제2 핀 그룹(PG2)에 대한 쓰기 트레이닝 동작을 수행하여 제2 핀 그룹(PG2)에 대응하는 제2 전송 타이밍(TT2)을 결정할 수 있다. 결정된 전송 타이밍들(TT1, TT2)은 제1 핀 그룹(PG1) 및 제2 핀 그룹(PG2)에 각각 대응하여 레지스터(130)에 저장될 수 있다. 즉, 하나의 핀 그룹에 포함된 데이터 핀들(D_P)의 전송 타이밍들은 동일하게 결정될 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 핀 그룹(PG1)에 대한 읽기 트레이닝 동작을 수행하여 제1 핀 그룹(PG1)에 대응하는 제1 수신 타이밍(RT1)을 결정하고, 제2 핀 그룹(PG2)에 대한 읽기 트레이닝 동작을 수행하여 제2 핀 그룹(PG2)에 대응하는 제2 수신 타이밍(RT2)을 결정할 수 있다. 결정된 수신 타이밍들(RT1, RT2)은 제1 핀 그룹(PG1) 및 제2 핀 그룹(PG2)에 각각 대응하여 레지스터(130)에 저장될 수 있다. 즉, 하나의 핀 그룹에 포함된 데이터 핀들(D_P)의 수신 타이밍들은 동일하게 결정될 수 있다. 이에 따라, 핀 그룹 별로 전송 타이밍 및 수신 타이밍이 결정될 수 있다.
본 명세서에서 메모리 장치(200)의 특정 핀에 대한 트레이닝 동작은 특정 핀으로 전송되는 신호의 최적의 전송 타이밍을 결정하는 동작을 의미하거나 특정 핀을 통해 수신되는 신호의 최적의 수신 타이밍(즉, 최적의 샘플링 타이밍)을 결정하는 동작을 의미한다.
트레이닝 후 쓰기 동작에서, 메모리 컨트롤러(100)는 쓰기 데이터 스트로브 신호(WDQS)와 함께 제1 전송 타이밍(TT1)을 기반으로 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)를 메모리 장치(200)로 전송하고, 제2 전송 타이밍(TT2)을 기반으로 제3 데이터 신호(DQ3) 및 제4 데이터 신호(DQ4)를 메모리 장치(200)로 전송할 수 있다. 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 제1 내지 제4 데이터 신호들(DQ1~DQ4)을 샘플링할 수 있다.
트레이닝 후 읽기 동작에서, 메모리 장치(200)는 읽기 데이터 스트로브 신호(RDQS)와 함께 제1 내지 제4 데이터 신호들(DQ1~DQ4)을 메모리 컨트롤러(100)로 전송할 수 있다. 메모리 컨트롤러(100)는 읽기 스트로브 신호(RDQS)를 이용하여 제1 수신 타이밍(RT1)을 기반으로 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)를 샘플링하고, 제2 수신 타이밍(RT2)을 기반으로 제3 데이터 신호(DQ3) 및 제4 데이터 신호(DQ4)를 샘플링할 수 있다.
도 3에는 데이터 핀들(D_P)이 두 개의 핀 그룹들(PG1, PG2)로 나뉘어지는 것으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 데이터 핀들(D_P)은 세 개 이상의 핀 그룹들로 나뉘어질 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따르면, 데이터 핀들(D_P)에 대하여 그룹 별로 트레이닝이 수행될 수 있다. 이 경우, 메모리 컨트롤러(100)는 데이터 핀들(D_P) 각각에 대하여 전송 타이밍 및 수신 타이밍을 저장할 필요 없이, 그룹 별로 전송 타이밍 및 수신 타이밍을 저장할 수 있다. 따라서, 데이터 핀들(D_P)에 대하여 그룹 별로 트레이닝이 수행되는 경우, 데이터 핀들(D_P) 각각에 대하여 핀 별로 트레이닝이 수행되는 것보다 트레이닝 속도가 향상될 수 있고, 전송 타이밍 및 수신 타이밍을 저장하기 위한 레지스터(130)의 용량이 감소될 수 있다. 이에 따라, 트레이닝을 위해 사용되는 리소스가 감소될 수 있다.
도 4는 도 3의 메모리 장치의 예시적인 블록도이다. 도 3 및 도 4를 참조하면, 메모리 장치(200)는 제1 핀 그룹(PG1), 제2 핀 그룹(PG2), 및 쓰기 데이터 스트로브 핀(W_P)을 포함하고, 제1 회로 블록(201) 및 제2 회로 블록(202)을 포함할 수 있다. 제1 회로 블록(201)은 제1 핀 그룹(PG1)을 통해 제1 데이터 신호들(DQ_1)을 수신하고, 쓰기 데이터 스트로브 핀(W_P)을 통해 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 제2 회로 블록(202)은 제2 핀 그룹(PG2)을 통해 제2 데이터 신호들(DQ_2)을 수신하고, 쓰기 데이터 스트로브 핀(W_P)을 통해 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 즉, 제1 회로 블록(201) 및 제2 회로 블록(202)은 하나의 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 동작할 수 있다.
제1 회로 블록(201)은 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 제1 데이터 신호들(DQ_1)을 샘플링할 수 있다. 이 경우, 제1 데이터 신호들(DQ_1)은 하나의 트레이닝 값(예를 들어, 제1 전송 타이밍(TT1))을 기반으로 메모리 컨트롤러(100)로부터 전송될 수 있다. 제2 회로 블록(202)은 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 제2 데이터 신호들(DQ_2)을 샘플링할 수 있다. 이 경우, 제2 데이터 신호들(DQ_2)은 하나의 트레이닝 값(예를 들어, 제2 전송 타이밍(TT2))을 기반으로 메모리 컨트롤러(100)로부터 전송될 수 있다.
예시적인 실시 예에서, 제1 회로 블록(201) 및 제2 회로 블록(202) 각각은 위상 비교기를 포함할 수 있다. 제1 회로 블록(201) 및 제2 회로 블록(202) 각각은 데이터 핀에 대한 트레이닝 과정에서 위상 비교기를 통해 쓰기 데이터 스트로브 신호(WDQS)와 데이터 핀을 통해 수신되는 데이터 신호의 위상을 비교할 수 있다. 즉, 위상 비교기를 통해 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 데이터 신호가 샘플링됨으로써 위상 비교 결과가 생성될 수 있다. 메모리 컨트롤러(100)는 위상 비교 결과를 기반으로 데이터 핀에 대한 트레이닝 값을 결정할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 다양한 타이밍들을 기반으로 데이터 신호를 메모리 장치(200)로 전송할 수 있다. 메모리 컨트롤러(100)는 메모리 장치(200)로부터 다양한 타이밍들에 대응하는 위상 비교 결과들을 수신할 수 있다. 메모리 컨트롤러(100)는 위상 비교 결과들 중 쓰기 데이터 스트로브 신호(WDQS)와 데이터 신호 사이의 타이밍 윈도우(timing window)가 최대화되도록 트레이닝 값을 결정할 수 있다.
예시적인 실시 예에서, 제1 핀 그룹(PG1) 및 제1 회로 블록(201)과 제2 핀 그룹(PG2) 및 제2 회로 블록(202)은 단일 실리콘 기판(monolithic silicon substrate) 상에 배치될 수 있다. 예시적인 실시 예에서, 제1 핀 그룹(PG1) 및 제1 회로 블록(201)과 제2 핀 그룹(PG2) 및 제2 회로 블록(202)은 시프트되거나(shifted), 및/또는 미러된(mirrored) 관계일 수 있다.
도 5는 도 3의 메모리 컨트롤러의 읽기 트레이닝 동작의 예시를 보여주는 순서도이다. 도 3 및 도 5를 참조하면, S101 단계에서, 메모리 컨트롤러(100)는 미리 정해진 핀 그룹 중 하나의 데이터 핀을 선택할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 핀 그룹(PG1) 중 제1 데이터 핀(D_P1)을 선택하고, 제2 핀 그룹(PG2) 중 제3 데이터 핀(D_P3)을 선택할 수 있다.
S102 단계에서, 메모리 컨트롤러(100)는 선택된 데이터 핀에 대하여 읽기 트레이닝을 수행할 수 있다. 메모리 컨트롤러(100)는 읽기 트레이닝을 수행하여 선택된 데이터 핀을 통해 메모리 장치(200)로부터 수신되는 데이터 신호의 수신 타이밍을 결정할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 데이터 핀(D_P1)에 대하여 읽기 트레이닝을 수행함으로써 제1 데이터 신호(DQ1)의 수신 타이밍을 제1 수신 타이밍(RT1)으로 결정할 수 있다.
S103 단계에서, 메모리 컨트롤러(100)는 읽기 트레이닝에 따라 결정된 수신 타이밍을 핀 그룹에 대응하는 수신 타이밍으로 결정할 수 있다. 메모리 컨트롤러(100)는 결정된 수신 타이밍을 핀 그룹에 대응하여 저장할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 데이터 핀(D_P1)에 대한 읽기 트레이닝에 따라 결정된 제1 수신 타이밍(RT1)을 제1 핀 그룹(PG1)에 대응하는 수신 타이밍으로 결정할 수 있다.
도 6은 도 3의 메모리 컨트롤러의 쓰기 트레이닝 동작의 예시를 보여주는 순서도이다. 도 3 및 도 6을 참조하면, S111 단계에서, 메모리 컨트롤러(100)는 미리 정해진 핀 그룹 중 하나의 데이터 핀을 선택할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 핀 그룹(PG1) 중 제1 데이터 핀(D_P1)을 선택하고, 제2 핀 그룹(PG2) 중 제3 데이터 핀(D_P3)을 선택할 수 있다.
S112 단계에서, 메모리 컨트롤러(100)는 선택된 데이터 핀에 대하여 쓰기 트레이닝을 수행할 수 있다. 메모리 컨트롤러(100)는 쓰기 트레이닝을 수행하여 선택된 데이터 핀을 통해 메모리 장치(200)로 전송되는 데이터 신호의 전송 타이밍을 결정할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 데이터 핀(D_P1)에 대하여 쓰기 트레이닝을 수행함으로써 제1 데이터 신호(DQ1)의 전송 타이밍을 제1 전송 타이밍(TT1)으로 결정할 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)와 제1 데이터 신호(DQ1) 사이의 타이밍 윈도우가 최대화되도록 쓰기 트레이닝이 수행될 수 있다.
S113 단계에서, 메모리 컨트롤러(100)는 쓰기 트레이닝에 따라 결정된 전송 타이밍을 핀 그룹에 대응하는 전송 타이밍으로 결정할 수 있다. 메모리 컨트롤러(100)는 결정된 전송 타이밍을 핀 그룹에 대응하여 저장할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 제1 데이터 핀(D_P1)에 대한 쓰기 트레이닝에 따라 결정된 제1 전송 타이밍(TT1)을 제1 핀 그룹(PG1)에 대응하는 전송 타이밍으로 결정할 수 있다.
예시적인 실시 예에서, 도 5 및 도 6에 도시된 바와 다르게, 메모리 컨트롤러(100)는 복수의 핀 그룹 중 하나의 핀 그룹의 각각의 핀에 대하여 트레이닝을 수행한 후, 핀들에 대한 트레이닝 결과들을 기반으로 핀 그룹에 대응하는 트레이닝 값을 결정할 수 있다. 예시적인 실시 예에서, 하나의 핀 그룹에 대응하여 결정된 트레이닝 값은 다른 핀 그룹에 대한 트레이닝 값을 결정하는데 이용될 수 있다. 이 경우, 다른 핀 그룹의 각각의 핀에 대한 트레이닝은 생략될 수 있다.
상술한 바와 같이, 데이터 핀들(D_P)에 대하여 그룹 별로 읽기 트레이닝이 수행되는 경우, 메모리 컨트롤러(100)는 하나의 핀 그룹을 통해 메모리 장치(200)로부터 수신되는 데이터 신호들을 동일한(즉, 실질적으로 동일한) 타이밍에 샘플링할 수 있다. 데이터 신호들이 동일한 타이밍에 샘플링되는 것은 데이터 신호들에 대한 샘플링 타이밍 스큐(skew)가 최소화되는 것을 의미한다. 이 경우, 샘플링된 데이터 신호들의 데이터 비트 에러율이 최적화되기 위해서는 메모리 장치(200)로부터 하나의 핀 그룹을 통해 전송된 데이터 신호들이 동일한 타이밍에 메모리 컨트롤러(100)로 전달되어야 한다. 데이터 신호들이 동일한 타이밍에 전달되는 것은 전달되는 데이터 신호들의 데이터 스큐가 최소화되는 것을 의미한다.
상술한 바와 같이, 데이터 핀들(D_P)에 대하여 그룹 별로 쓰기 트레이닝이 수행되는 경우, 메모리 컨트롤러(100)는 하나의 핀 그룹에 대응하는 데이터 신호들을 동일한 타이밍에 메모리 장치(200)로 전송할 수 있다. 데이터 신호들이 동일한 타이밍에 전송되는 것은 전송되는 데이터 신호들의 데이터 스큐가 최소화되는 것을 의미한다. 메모리 장치(200)는 메모리 컨트롤러(100)로부터 하나의 핀 그룹을 통해 전달되는 데이터 신호들을 샘플링할 수 있다. 이 경우, 샘플링된 데이터 신호들의 데이터 비트 에러율이 최적화되기 위해서 데이터 신호들이 동일한 타이밍에 샘플링되어야 한다. 즉, 데이터 신호들에 대한 샘플링 타이밍 스큐가 최소화되어야 한다.
이하에서는, 하나의 핀 그룹을 통해 메모리 장치(200)로부터 메모리 컨트롤러(100)로 전달되는 데이터 신호들의 데이터 스큐가 최소화 되도록 하고 하나의 핀 그룹을 통해 메모리 장치(200)로 전달되는 데이터 신호들에 대한 샘플링 타이밍 스큐가 최소화 되도록 하는 메모리 시스템(10)이 상세하게 설명될 것이다.
도 7은 도 3의 메모리 시스템을 예시적으로 보여주는 블록도이다. 설명의 편의를 위해, 도 3을 참조하여 설명된 쓰기 트레이닝 결과(즉, 제1 및 제2 전송 타이밍들(TT1, TT2))에 따라 쓰기 동작을 수행하기 위한 메모리 시스템(10)의 구성들이 설명될 것이나, 본 발명이 이에 한정되는 것은 아니다.
도 7을 참조하면, 메모리 컨트롤러(100)는 쓰기 데이터 스트로브 핀(W_P'), 제1 핀 그룹(PG1'), 및 제2 핀 그룹(PG2')을 포함할 수 있다. 쓰기 데이터 스트로브 핀(W_P'), 제1 핀 그룹(PG1'), 및 제2 핀 그룹(PG2')은 메모리 장치(200)의 쓰기 데이터 스트로브 핀(W_P), 제1 핀 그룹(PG1), 및 제2 핀 그룹(PG2)에 대응할 수 있다. 메모리 컨트롤러(100)는 위상 고정 루프(111), 위상 제어기(112), 지연 회로(113), 제1 송신기 그룹(114), 및 제2 송신기 그룹(115)을 포함할 수 있다. 예를 들어, 위상 고정 루프(111), 위상 제어기(112), 지연 회로(113), 제1 송신기 그룹(114), 및 제2 송신기 그룹(115)은 도 1의 호스트 인터페이스 회로(110)에 포함될 수 있다.
위상 고정 루프(111)는 미리 정해진 위상을 가지고 토글하는 쓰기 데이터 스트로브 신호(WDQS)를 생성할 수 있다. 쓰기 데이터 스트로브 신호(WDQS)는 위상 제어기(112)로 제공되고, 쓰기 데이터 스트로브 핀(W_P')을 통해 메모리 장치(200)로 전송될 수 있다. 예시적인 실시 예에서, 도 7에는 도시되지 않았으나, 쓰기 데이터 스트로브 신호(WDQS)는 위상 고정 루프(111)와 쓰기 데이터 스트로브 핀(W_P') 사이에 위치하는 별도의 송신기(또는, 버퍼)를 통해 메모리 장치(200)로 전송될 수 있다.
위상 제어기(112)는 쓰기 데이터 스트로브 신호(WDQS)의 위상을 조절하여 위상이 조절된 쓰기 데이터 스트로브 신호(pWDQS)를 생성할 수 있다. 예를 들어, 위상 제어기(112)는 쓰기 데이터 스트로브 신호(WDQS)와 위상이 조절된 쓰기 데이터 스트로브 신호(pWDQS)의 위상 차이가 90도가 되도록 쓰기 데이터 스트로브 신호(WDQS)의 위상을 조절할 수 있다.
지연 회로(113)는 위상이 조절된 쓰기 데이터 스트로브 신호(pWDQS)를 쓰기 트레이닝 결과에 따라 지연시킬 수 있다. 지연 회로(113)는 제1 핀 그룹(PG1)에 대응하는 제1 전송 타이밍(TT1)에 따라 위상이 조절된 쓰기 데이터 스트로브 신호(pWDQS)를 지연시켜 제1 쓰기 지연 신호(WDS1)를 생성할 수 있다. 지연 회로(113)는 제2 핀 그룹(PG2)에 대응하는 제2 전송 타이밍(TT2)에 따라 위상이 조절된 쓰기 데이터 스트로브 신호(pWDQS)를 지연시켜 제2 쓰기 지연 신호(WDS2)를 생성할 수 있다. 제1 쓰기 지연 신호(WDS1)는 제1 송신기 그룹(114)으로 제공되고, 제2 쓰기 지연 신호(WDS2)는 제2 송신기 그룹(115)으로 제공될 수 있다. 이 경우, 제1 쓰기 지연 신호(WDS1)는 제1 전송 타이밍(TT1)에 대응하는 토글 타이밍을 가질 수 있고, 제2 쓰기 지연 신호(WDS2)는 제2 전송 타이밍(TT2)에 대응하는 토글 타이밍을 가질 수 있다.
제1 송신기 그룹(114)은 제1 쓰기 지연 신호(WDS1)의 토글 타이밍에 기초하여 데이터를 포함하는 데이터 신호들을 제1 핀 그룹(PG1')을 통해 메모리 장치(200)로 전송할 수 있다. 예를 들어, 제1 송신기 그룹(114)은 제1 쓰기 지연 신호(WDS1)의 토글 타이밍에 기초하여 제1 데이터(DATA1)를 포함하는 제1 데이터 신호(DQ1)를 제1 데이터 핀(D_P1')을 통해 메모리 장치(200)로 전송할 수 있다. 제1 송신기 그룹(114)은 제1 쓰기 지연 신호(WDS1)의 토글 타이밍에 기초하여 제2 데이터(DATA2)를 포함하는 제2 데이터 신호(DQ2)를 제2 데이터 핀(D_P2')을 통해 메모리 장치(200)로 전송할 수 있다. 이에 따라, 제1 송신기 그룹(114)은 데이터 신호들 각각을 동일한 전송 타이밍(즉, 제1 전송 타이밍(TT1))에 메모리 장치(200)로 전송할 수 있다.
제2 송신기 그룹(115)은 제2 쓰기 지연 신호(WDS2)의 토글 타이밍에 기초하여 데이터를 포함하는 데이터 신호들을 제2 핀 그룹(PG2')을 통해 메모리 장치(200)로 전송할 수 있다. 예를 들어, 제2 송신기 그룹(115)은 제2 쓰기 지연 신호(WDS2)의 토글 타이밍에 기초하여 제3 데이터(DATA3)를 포함하는 제3 데이터 신호(DQ3)를 제3 데이터 핀(D_P3')을 통해 메모리 장치(200)로 전송할 수 있다. 제2 송신기 그룹(115)은 제2 쓰기 지연 신호(WDS2)의 토글 타이밍에 기초하여 제4 데이터(DATA4)를 포함하는 제4 데이터 신호(DQ4)를 제4 데이터 핀(D_P4')을 통해 메모리 장치(200)로 전송할 수 있다. 이에 따라, 제2 송신기 그룹(115)은 데이터 신호들 각각을 동일한 전송 타이밍(즉, 제2 전송 타이밍(TT2))에 메모리 장치(200)로 전송할 수 있다.
제1 핀 그룹(PG1')을 통해 출력되는 데이터 신호들은 대응하는 신호 라인들을 통해 제1 핀 그룹(PG1)으로 전송될 수 있다. 이 경우, 제1 핀 그룹(PG1)으로 전송되는 데이터 신호들의 데이터 스큐가 최소화 되도록 신호 라인들이 구성될 수 있다. 예를 들어, 제1 핀 그룹(PG1')의 데이터 핀들과 제1 핀 그룹(PG1)의 데이터 핀들을 연결하는 신호 라인들의 길이들은 서로 동일할 수 있다. 상술한 바와 같이, 제1 핀 그룹(PG1')을 통해 출력되는 데이터 신호들의 데이터 스큐는 최소화될 수 있으므로, 데이터 신호들이 전달되는 신호 라인들의 길이들이 서로 동일한 경우(신호 라인들의 물리적 성질들도 동일하다고 가정하면), 데이터 신호들이 제1 핀 그룹(PG1)으로 도달할 때까지 데이터 스큐가 최소화된 상태로 유지될 수 있다. 예를 들어, 제1 데이터 신호(DQ1)가 전달되는 제1 신호 라인(DL1)의 길이와 제2 데이터 신호(DQ2)가 전달되는 제2 신호 라인(DL2)의 길이가 동일한 경우, 제1 및 제2 데이터 핀들(D_P1, D_P2)을 통해 메모리 장치(200)로 수신되는 제1 및 제2 데이터 신호들(DQ1, DQ2)의 데이터 스큐는 최소화될 수 있다. 즉, 제1 송신기 그룹(114)으로부터 전송되는 데이터 신호들은 동일한 타이밍에 메모리 장치(200)에 전달될 수 있다.
이와 마찬가지로, 제2 핀 그룹(PG2)으로 전송되는 데이터 신호들의 데이터 스큐가 최소화 되도록 신호 라인들이 구성될 수 있다. 예를 들어, 제2 핀 그룹(PG2')의 데이터 핀들과 제2 핀 그룹(PG2)의 데이터 핀들을 연결하는 신호 라인들의 길이들은 서로 동일할 수 있다. 예를 들어, 제3 데이터 신호(DQ3)가 전달되는 제3 신호 라인(DL3)의 길이와 제4 데이터 신호(DQ4)가 전달되는 제4 신호 라인(DL4)의 길이가 동일한 경우, 제3 및 제4 데이터 핀들(D_P3, D_P4)을 통해 메모리 장치(200)로 수신되는 제3 및 제4 데이터 신호들(DQ3, DQ4)의 데이터 스큐는 최소화될 수 있다. 즉, 제2 송신기 그룹(115)으로부터 전송되는 데이터 신호들은 동일한 타이밍에 메모리 장치(200)에 전달될 수 있다.
메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS) 트리(211), 제1 수신기 그룹(212), 및 제2 수신기 그룹(213)을 포함할 수 있다. 예를 들어, 쓰기 데이터 스트로브 신호(WDQS) 트리(211), 제1 수신기 그룹(212), 및 제2 수신기 그룹(213)은 도 1의 메모리 인터페이스 회로(210)에 포함될 수 있다. 예를 들어, 쓰기 데이터 스트로브 신호(WDQS) 트리(211), 제1 수신기 그룹(212), 및 제2 수신기 그룹(213)은 도 4의 제1 회로 블록(201) 및 제2 회로 블록(202)에 대응할 수 있다. WDQS 트리(211)는 쓰기 데이터 스트로브 핀(W_P)을 통해 수신되는 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 토글하는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)를 제1 수신기 그룹(212)으로 전달하고, 토글하는 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)를 제2 수신기 그룹(213)으로 전달할 수 있다. 예시적인 실시 예에서, WDQS 트리(211)는 복수의 리피터들을 포함하고, 리피터들을 통해 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1) 및 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)를 전달할 수 있다.
예시적인 실시 예에서, 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)와 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)는 쓰기 데이터 스트로브 신호(WDQS)가 WDQS 트리(211)를 통해 지연됨으로써 생성되는 신호들일 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)와 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍들은 서로 다를 수 있고, 쓰기 데이터 스트로브 신호(WDQS)와 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)의 토글 타이밍들은 서로 다를 수 있다. 즉, WDQS 트리(211)에 의해 토글 타이밍 스큐가 발생될 수 있다. 메모리 컨트롤러(100)에서 트레이닝을 통해 결정되는 전송 타이밍은 WDQS 트리(211)에 의한 토글 타이밍 스큐를 보상할 수 있다. 이에 따라, 쓰기 데이터 스트로브 신호(WDQS)와 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1) 사이의 스큐는 제1 전송 타이밍(TT1)에 의해 보상될 수 있고, 쓰기 데이터 스트로브 신호(WDQS)와 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2) 사이의 스큐는 제2 전송 타이밍(TT2)에 의해 보상될 수 있다.
도 7에서는 쓰기 데이터 스트로브 신호(WDQS)가 WDQS 트리(211)를 통해 지연됨으로써 제1 및 제2 내부 쓰기 데이터 스트로브 신호들(dWDQS1, WDQS2)이 생성되는 예시가 도시되었으나, 본 발명이 이에 한정되는 것은 아니다. 다른 실시 예에 있어서, 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)와 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)는 분주된 쓰기 데이터 스트로브 신호가 WDQS 트리(211)를 통해 지연됨으로써 생성되는 신호일 수 있다. 이 경우, 쓰기 데이터 스트로브 핀(W_P)과 WDQS 트리(211) 사이에 위치한 디바이더를 통해 쓰기 데이터 스트로브 신호(WDQS)로부터 분주된 쓰기 데이터 스트로브 신호가 생성될 수 있다.
제1 수신기 그룹(212)은 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍을 기반으로 제1 핀 그룹(PG1)을 통해 수신되는 데이터 신호들을 샘플링할 수 있다. 이에 따라, 제1 수신기 그룹(212)은 제1 핀 그룹(PG1)을 통해 수신되는 데이터 신호들로부터 데이터를 획득할 수 있다. 예를 들어, 제1 수신기 그룹(212)은 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍을 기반으로 제1 데이터 핀(D_P1)을 통해 수신되는 제1 데이터 신호(DQ1)를 샘플링하여 제1 데이터(DATA1)를 획득하고, 제2 데이터 핀(D_P2)을 통해 수신되는 제2 데이터 신호(DQ2)를 샘플링하여 제2 데이터(DATA2)를 획득할 수 있다.
제2 수신기 그룹(213)은 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)의 토글 타이밍을 기반으로 제2 핀 그룹(PG2)을 통해 수신되는 데이터 신호들을 샘플링할 수 있다. 이에 따라, 제2 수신기 그룹(213)은 제2 핀 그룹(PG2)을 통해 수신되는 데이터 신호들로부터 데이터를 획득할 수 있다. 예를 들어, 제2 수신기 그룹(213)은 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)의 토글 타이밍을 기반으로 제3 데이터 핀(D_P3)을 통해 수신되는 제3 데이터 신호(DQ3)를 샘플링하여 제3 데이터(DATA3)를 획득하고, 제4 데이터 핀(D_P4)을 통해 수신되는 제4 데이터 신호(DQ4)를 샘플링하여 제4 데이터(DATA4)를 획득할 수 있다.
이와 같이, 하나의 토글 타이밍(예를 들어, 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍 또는 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)의 토글 타이밍)을 기반으로 하나의 핀 그룹을 통해 수신되는 데이터 신호들이 샘플링되는 경우, 데이터 신호들에 대한 샘플링 타이밍 스큐가 최소화될 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 메모리 시스템(10)에 따르면, 메모리 컨트롤러(100)는 동일한 전송 타이밍에 하나의 핀 그룹을 통해 데이터 신호들을 메모리 장치(200)로 전송할 수 있다. 메모리 장치(200)는 하나의 핀 그룹을 통해 전달된 데이터 신호들을 동일한 샘플링 타이밍에 샘플링할 수 있다. 이에 따라, 핀 그룹 별로 쓰기 트레이닝이 수행되더라도 쓰기 동작에서 전달되는 데이터 신호들의 데이터 비트 에러율이 최적화될 수 있다.
도 8은 도 7의 메모리 장치가 데이터 신호들을 샘플링하는 예시를 보여주는 타이밍도이다. 도 7 및 도 8을 참조하면, 쓰기 데이터 스트로브 핀(W_P)을 통해 메모리 장치(200)로 수신되는 쓰기 데이터 스트로브 신호(WDQS)는 제1 시점(t1)에서 토글 타이밍을 가질 수 있다. WDQS 트리(211)에 의해 제1 수신기 그룹(212)으로 전달되는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)는 제2 시점(t2)에서 토글 타이밍을 가지고, WDQS 트리(211)에 의해 제2 수신기 그룹(213)으로 전달되는 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)는 제3 시점(t3)에서 토글 타이밍을 가질 수 있다. 이에 따라, 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)와 쓰기 데이터 스트로브 신호(WDQS) 사이에 제1 스큐(SK1)가 발생될 수 있고, 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)와 쓰기 데이터 스트로브 신호(WDQS) 사이에 제2 스큐(SK2)가 발생될 수 있다.
제1 데이터(DATA1)를 포함하는 제1 데이터 신호(DQ1) 및 제2 데이터(DATA2)를 포함하는 제2 데이터 신호(DQ2)는 제1 스큐(SK1)를 보상하기 위한 제1 전송 타이밍(TT1)에 따라 제1 수신기 그룹(212)으로 전달될 수 있다. 제1 수신기 그룹(212)으로 전달된 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍을 기반으로 샘플링될 수 있다. 이 경우, 제1 데이터(DATA1) 및 제2 데이터(DATA2)에 대한 샘플링 마진(margin)이 확보되어 데이터 비트 에러율이 최적화될 수 있다.
제3 데이터(DATA3)를 포함하는 제3 데이터 신호(DQ3) 및 제4 데이터(DATA4)를 포함하는 제4 데이터 신호(DQ4)는 제2 스큐(SK2)를 보상하기 위한 제2 전송 타이밍(TT2)에 따라 제2 수신기 그룹(213)으로 전달될 수 있다. 제2 수신기 그룹(213)으로 전달되는 제3 데이터 신호(DQ3) 및 제4 데이터 신호(DQ4)는 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)의 토글 타이밍을 기반으로 샘플링될 수 있다. 이 경우, 제3 데이터(DATA3) 및 제4 데이터(DATA4)에 대한 샘플링 마진이 확보되어 데이터 비트 에러율이 최적화될 수 있다.
상술한 바와 같이, 메모리 장치(200)의 하나의 핀 그룹을 통해 전달되는 데이터 신호들에 대한 샘플링 타이밍 스큐는 최소화될 수 있다. 이하에서는, 도 9를 참조하여 하나의 핀 그룹을 통해 전달되는 데이터 신호들에 대한 샘플링 타이밍 스큐가 최소화 되도록 하는 메모리 장치의 상세한 구성이 설명될 것이다.
도 9는 도 7의 메모리 장치의 예시적인 구성을 보여주는 도면이다. 도 7 및 도 9를 참조하면, 메모리 장치(200)는 복수의 리피터들(211a~211e) 및 복수의 수신기들(212a, 212b, 213a, 213b)을 포함할 수 있다. 리피터들(211a~211e)은 WDQS 트리(211)에 포함될 수 있다. 수신기들(212a, 212b)은 제1 수신기 그룹(212)에 포함되고, 수신기들(213a, 213b)은 제2 수신기 그룹(213)에 포함될 수 있다.
쓰기 데이터 스트로브 핀(W_P)을 통해 수신되는 쓰기 데이터 스트로브 신호(WDQS)는 제1 경로 상의 리피터들(211a, 211b, 211c, 211d)을 통해 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)로서 수신기들(212a, 212b) 각각으로 전달될 수 있다. 쓰기 데이터 스트로브 신호(WDQS)는 제2 경로 상의 리피터들(211a, 211b, 211c, 211e)을 통해 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)로서 수신기들(213a, 213b) 각각으로 전달될 수 있다. 예를 들어, 제1 경로 상의 리피터(211c)와 리피터(211d)를 연결하는 제1 신호 라인(SL1)의 길이와 제2 경로 상의 리피터(211c)와 리피터(211e)를 연결하는 제2 신호 라인(SL2)의 길이가 서로 다른 경우, 도 8을 참조하여 설명한 바와 같이, 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍과 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)의 토글 타이밍이 다를 수 있다. 예를 들어, 리피터들(211a~211e) 각각은 적어도 하나의 버퍼들 또는 적어도 하나의 인버터들로 구현될 수 있다.
수신기(212a)는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍을 기반으로 제1 데이터 핀(D_P1)을 통해 수신되는 제1 데이터 신호(DQ1)를 샘플링하여 제1 데이터(DATA1)를 출력할 수 있다. 수신기(212b)는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍을 기반으로 제2 데이터 핀(D_P2)을 통해 수신되는 제2 데이터 신호(DQ2)를 샘플링하여 제2 데이터(DATA2)를 출력할 수 있다. 예시적인 실시 예에서, 수신기들(212a, 212b)이 동일한 토글 타이밍에 데이터 신호들(DQ1, DQ2)을 샘플링하기 위해(즉, 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)가 수신기들(212a, 212b)로 동일한 타이밍에 도달하기 위해), 수신기들(212a, 212b)은 리피터(211d)로부터 동일한 거리 상에 배치될 수 있다. 다른 실시 예에서, 수신기들(212a, 212b)이 동일한 토글 타이밍에 데이터 신호들(DQ1, DQ2)을 샘플링하기 위해, 리피터(211d)로부터 수신기(212a)로 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)를 전달하기 위한 제3 신호 라인(SL3)의 길이와 리피터(211d)로부터 수신기(212b)로 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)를 전달하기 위한 제4 신호 라인(SL4)의 길이는 동일할 수 있다.
수신기(212a)는 제1 데이터 핀(D_P1)으로부터 제5 신호 라인(SL5)을 통해 제1 데이터 신호(DQ1)를 수신하고, 수신기(212b)는 제2 데이터 핀(D_P2)으로부터 제6 신호 라인(SL6)을 통해 제2 데이터 신호(DQ2)를 수신할 수 있다. 예시적인 실시 예에서, 제1 및 제2 데이터 핀들(D_P1, D_P2)로부터 데이터 신호들(DQ1, DQ2)이 동일한 타이밍에 수신기들(212a, 212b)로 전달될 수 있도록 제5 신호 라인(SL5)의 길이와 제6 신호 라인(SL6)의 길이는 동일할 수 있다.
수신기(213a)는 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)의 토글 타이밍을 기반으로 제3 데이터 핀(D_P3)을 통해 수신되는 제3 데이터 신호(DQ3)를 샘플링하여 제3 데이터(DATA3)를 출력할 수 있다. 수신기(213b)는 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)의 토글 타이밍을 기반으로 제4 데이터 핀(D_P4)을 통해 수신되는 제4 데이터 신호(DQ4)를 샘플링하여 제4 데이터(DATA4)를 출력할 수 있다. 예시적인 실시 예에서, 수신기들(213a, 213b)이 동일한 토글 타이밍에 데이터 신호들(DQ3, DQ4)을 샘플링하기 위해(즉, 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)가 수신기들(213a, 213b)로 동일한 타이밍에 도달하기 위해), 수신기들(213a, 213b)은 리피터(211e)로부터 동일한 거리를 가지도록 배치될 수 있다. 일 예로서, 리피터(211e)로부터 수신기(213a)로 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)를 전달하기 위한 제7 신호 라인(SL7)의 길이와 리피터(211e)로부터 수신기(213b)로 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)를 전달하기 위한 제8 신호 라인(SL8)의 길이는 동일할 수 있다.
수신기(213a)는 제3 데이터 핀(D_P3)으로부터 제9 신호 라인(SL9)을 통해 제3 데이터 신호(DQ3)를 수신하고, 수신기(213b)는 제4 데이터 핀(D_P4)으로부터 제10 신호 라인(SL10)을 통해 제4 데이터 신호(DQ4)를 수신할 수 있다. 예시적인 실시 예에서, 제3 및 제4 데이터 핀들(D_P3, D_P4)로부터 데이터 신호들(DQ3, DQ4)이 동일한 타이밍에 수신기들(213a, 213b)로 전달될 수 있도록 제9 신호 라인(SL9)의 길이와 제10 신호 라인(SL10)의 길이는 동일할 수 있다.
상술한 바와 같이 메모리 장치(200)가 구성되는 경우, 내부 쓰기 데이터 스트로브 신호는 동일한 타이밍에 하나의 핀 그룹에 대응하는 수신기들로 전달될 수 있다. 이에 따라, 하나의 핀 그룹을 통해 수신되는 데이터 신호들에 대한 샘플링 타이밍 스큐는 최소화될 수 있다.
도 10은 도 3의 메모리 시스템을 예시적으로 보여주는 블록도이다. 설명의 편의를 위해, 도 3을 참조하여 설명된 읽기 트레이닝 결과(즉, 제1 및 제2 수신 타이밍들(RT1, RT2))에 따라 읽기 동작을 수행하기 위한 메모리 시스템(10)의 구성들이 설명될 것이나, 본 발명이 이에 한정되는 것은 아니다.
도 10을 참조하면, 메모리 컨트롤러(100)는 쓰기 데이터 스트로브 핀(W_P'), 읽기 데이터 스트로브 핀(R_P'), 제1 핀 그룹(PG1'), 및 제2 핀 그룹(PG2')을 포함할 수 있다. 쓰기 데이터 스트로브 핀(W_P'), 읽기 데이터 스트로브 핀(R_P'), 제1 핀 그룹(PG1'), 및 제2 핀 그룹(PG2')은 메모리 장치(200)의 쓰기 데이터 스트로브 핀(W_P), 읽기 데이터 스트로브 핀(R_P), 제1 핀 그룹(PG1), 및 제2 핀 그룹(PG2)에 대응할 수 있다.
메모리 장치(200)는 WDQS 트리(211), 송신기(214), 제1 송신기 그룹(215), 및 제2 송신기 그룹(216)을 포함할 수 있다. 예를 들어, WDQS 트리(211), 송신기(214), 제1 송신기 그룹(215), 및 제2 송신기 그룹(216)은 도 1의 메모리 인터페이스 회로(210)에 포함될 수 있다. WDQS 트리(211)는 쓰기 데이터 스트로브 핀(W_P)을 통해 수신되는 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 토글하는 제3 내부 쓰기 데이터 스트로브 신호(dWDQS3)를 송신기(214)로 전달할 수 있다. WDQS 트리(211)는 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 토글하는 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)를 제1 송신기 그룹(215)으로 전달하고, 토글하는 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)를 제2 송신기 그룹(216)으로 전달할 수 있다. 예를 들어, 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)의 토글 타이밍은 도 7의 제1 내부 쓰기 데이터 스트로브 신호(dWDQS1)의 토글 타이밍과 동일하고, 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)의 토글 타이밍은 도 7의 제2 내부 쓰기 데이터 스트로브 신호(dWDQS2)과 동일할 수 있다. 예시적인 실시 예에서, WDQS 트리(211)는 복수의 리피터들을 포함하고, 리피터들을 통해 제3 내지 제5 내부 쓰기 데이터 스트로브 신호들(dWDQS3~dWDQS5)을 전달할 수 있다.
송신기(214)는 제3 내부 쓰기 데이터 스트로브 신호(dWDQS3)의 토글 타이밍을 기반으로 읽기 데이터 스트로브 신호(RDQS)를 읽기 데이터 스트로브 핀(R_P)을 통해 메모리 컨트롤러(100)로 전송할 수 있다.
예시적인 실시 예에서, 제3 내지 제5 내부 쓰기 데이터 스트로브 신호들(dWDQS3~dWDQS5)은 쓰기 데이터 스트로브 신호(WDQS)가 WDQS 트리(211)를 통해 지연됨으로써 생성되는 신호들일 수 있다. 이 경우, 제3 내부 쓰기 데이터 스트로브 신호(dWDQS3)를 기반으로 생성된 읽기 데이터 스트로브 신호(RDQS)와 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)의 토글 타이밍들은 서로 다를 수 있고, 읽기 데이터 스트로브 신호(RDQS)와 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)의 토글 타이밍들은 서로 다를 수 있다. 즉, WDQS 트리(211)에 의해 토글 타이밍 스큐가 발생될 수 있다. 메모리 컨트롤러(100)에서 트레이닝을 통해 결정되는 수신 타이밍은 WDQS 트리(211)에 의한 토글 타이밍 스큐를 보상할 수 있다. 이에 따라, 읽기 데이터 스트로브 신호(RDQS)와 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4) 사이의 스큐는 제1 수신 타이밍(RT1)에 의해 보상될 수 있고, 읽기 데이터 스트로브 신호(RDQS)와 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5) 사이의 스큐는 제2 수신 타이밍(RT2)에 의해 보상될 수 있다.
제1 송신기 그룹(215)은 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)의 토글 타이밍에 기초하여 데이터를 포함하는 데이터 신호들을 제1 핀 그룹(PG1)을 통해 메모리 컨트롤러(100)로 전송할 수 있다. 예를 들어, 제1 송신기 그룹(215)은 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)의 토글 타이밍에 기초하여 제1 데이터(DATA1)를 포함하는 제1 데이터 신호(DQ1)를 제1 데이터 핀(D_P1)을 통해 메모리 컨트롤러(100)로 전송할 수 있다. 제1 송신기 그룹(215)은 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)의 토글 타이밍에 기초하여 제2 데이터(DATA2)를 포함하는 제2 데이터 신호(DQ2)를 제2 데이터 핀(D_P2)을 통해 메모리 컨트롤러(100)로 전송할 수 있다. 이에 따라, 제1 송신기 그룹(215)은 데이터 신호들 각각을 동일한 타이밍에 메모리 컨트롤러(100)로 전송할 수 있다.
제2 송신기 그룹(216)은 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)의 토글 타이밍에 기초하여 데이터를 포함하는 데이터 신호들을 제2 핀 그룹(PG2)을 통해 메모리 컨트롤러(100)로 전송할 수 있다. 예를 들어, 제2 송신기 그룹(216)은 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)의 토글 타이밍에 기초하여 제3 데이터(DATA3)를 포함하는 제3 데이터 신호(DQ3)를 제3 데이터 핀(D_P3)을 통해 메모리 컨트롤러(100)로 전송할 수 있다. 제2 송신기 그룹(216)은 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)의 토글 타이밍에 기초하여 제4 데이터(DATA4)를 포함하는 제4 데이터 신호(DQ4)를 제4 데이터 핀(D_P4)을 통해 메모리 컨트롤러(100)로 전송할 수 있다. 이에 따라, 제2 송신기 그룹(216)은 데이터 신호들 각각을 동일한 타이밍에 메모리 컨트롤러(100)로 전송할 수 있다.
이와 같이, 하나의 핀 그룹을 통해 동일한 타이밍에 데이터 신호들 각각이 출력되는 경우, 출력되는 데이터 신호들의 데이터 스큐는 최소화 될 수 있다.
도 7을 참조하여 설명한 바와 같이, 제1 핀 그룹(PG1')과 제1 핀 그룹(PG1)을 연결하는 신호 라인들의 길이는 동일할 수 있고, 제2 핀 그룹(PG2')과 제2 핀 그룹(PG2)을 연결하는 신호 라인들의 길이는 동일할 수 있다. 상술한 바와 같이, 하나의 핀 그룹을 통해 출력되는 데이터 신호들의 데이터 스큐가 최소화될 수 있으므로, 데이터 신호들이 전달되는 신호 라인들의 길이들이 동일한 경우 데이터 신호들이 메모리 컨트롤러(100)로 전달될 때까지 데이터 스큐가 최소화된 상태로 유지될 수 있다. 즉, 제1 송신기 그룹(215)으로부터 전송되는 데이터 신호들은 동일한 타이밍에 메모리 컨트롤러(100)로 전달될 수 있고, 제2 송신기 그룹(216)으로부터 전송되는 데이터 신호들은 동일한 타이밍에 메모리 컨트롤러(100)로 전달될 수 있다.
메모리 컨트롤러(100)는 위상 고정 루프(111), 위상 제어기(112), 지연 회로(113), 제1 수신기 그룹(116), 및 제2 수신기 그룹(117)을 포함할 수 있다. 예를 들어, 위상 고정 루프(111), 위상 제어기(112), 지연 회로(113), 제1 수신기 그룹(116), 및 제2 수신기 그룹(117)은 도 1의 호스트 인터페이스 회로(110)에 포함될 수 있다.
위상 고정 루프(111)는 미리 정해진 위상을 가지고 토글하는 쓰기 데이터 스트로브 신호(WDQS)를 생성할 수 있다. 쓰기 데이터 스트로브 신호(WDQS)는 쓰기 데이터 스트로브 핀(W_P')을 통해 메모리 장치(200)로 전송될 수 있다.
위상 제어기(112)는 읽기 데이터 스트로브 핀(R_P')을 통해 메모리 장치(200)로부터 전송되는 읽기 데이터 스트로브 신호(RDQS)를 수신할 수 있다. 위상 제어기(112)는 읽기 데이터 스트로브 신호(RDQS)의 위상을 조절하여 위상이 조절된 읽기 데이터 스트로브 신호(pRDQS)를 생성할 수 있다. 예를 들어, 위상 제어기(112)는 읽기 데이터 스트로브 신호(RDQS)와 위상이 조절된 읽기 데이터 스트로브 신호(pRDQS)의 위상 차이가 90도가 되도록 읽기 데이터 스트로브 신호(RDQS)의 위상을 조절할 수 있다.
지연 회로(113)는 위상이 조절된 읽기 데이터 스트로브 신호(pRDQS)를 읽기 트레이닝 결과에 따라 지연시킬 수 있다. 지연 회로(113)는 제1 핀 그룹(PG1)에 대응하는 제1 수신 타이밍(RT1)에 따라 위상이 조절된 읽기 데이터 스트로브 신호(pRDQS)를 지연시켜 제1 읽기 지연 신호(RDS1)를 생성할 수 있다. 지연 회로(113)는 제2 핀 그룹(PG2)에 대응하는 제2 수신 타이밍(RT2)에 따라 위상이 조절된 읽기 데이터 스트로브 신호(pRDQS)를 지연시켜 제2 읽기 지연 신호(RDS2)를 생성할 수 있다. 제1 읽기 지연 신호(RDS1)는 제1 수신기 그룹(116)으로 제공되고, 제2 읽기 지연 신호(RDS2)는 제2 수신기 그룹(117)으로 제공될 수 있다. 이 경우, 제1 읽기 지연 신호(RDS1)는 제1 수신 타이밍(RT1)에 대응하는 토글 타이밍을 가질 수 있고, 제2 읽기 지연 신호(RDS2)는 제2 수신 타이밍(RT2)에 대응하는 토글 타이밍을 가질 수 있다.
제1 수신기 그룹(116)은 제1 읽기 지연 신호(RDS1)의 토글 타이밍에 기초하여 제1 핀 그룹(PG1')을 통해 수신되는 데이터 신호들을 샘플링하여 데이터를 획득할 수 있다. 예를 들어, 제1 수신기 그룹(116)은 제1 읽기 지연 신호(RDS1)의 토글 타이밍에 기초하여 제1 데이터 신호(DQ1)를 샘플링하여 제1 데이터(DATA1)를 획득할 수 있다. 제1 수신기 그룹(116)은 제1 읽기 지연 신호(RDS1)의 토글 타이밍에 기초하여 제2 데이터 신호(DQ2)를 샘플링하여 제2 데이터(DATA2)를 획득할 수 있다. 이에 따라, 제1 수신기 그룹(116)은 데이터 신호들 각각을 동일한 수신 타이밍(즉, 제1 수신 타이밍(RT1))에 따라 샘플링할 수 있다.
제2 수신기 그룹(117)은 제2 읽기 지연 신호(RDS2)의 토글 타이밍에 기초하여 제2 핀 그룹(PG2')을 통해 수신되는 데이터 신호들을 샘플링하여 데이터를 획득할 수 있다. 예를 들어, 제2 수신기 그룹(117)은 제2 읽기 지연 신호(RDS2)의 토글 타이밍에 기초하여 제3 데이터 신호(DQ3)를 샘플링하여 제3 데이터(DATA3)를 획득할 수 있다. 제2 수신기 그룹(117)은 제2 읽기 지연 신호(RDS2)의 토글 타이밍에 기초하여 제4 데이터 신호(DQ4)를 샘플링하여 제4 데이터(DATA4)를 획득할 수 있다. 이에 따라, 제2 수신기 그룹(117)은 데이터 신호들 각각을 동일한 수신 타이밍(즉, 제2 수신 타이밍(RT2))에 따라 샘플링할 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 메모리 시스템(10)에 따르면, 메모리 장치(200)는 동일한 타이밍에 하나의 핀 그룹을 통해 데이터 신호들을 메모리 컨트롤러(100)로 전송할 수 있다. 메모리 컨트롤러(100)는 하나의 핀 그룹을 통해 수신된 데이터 신호들을 동일한 타이밍에 샘플링할 수 있다. 이에 따라, 핀 그룹 별로 읽기 트레이닝이 수행되더라도 읽기 동작에서 전달되는 데이터 신호들의 데이터 비트 에러율이 최적화될 수 있다.
도 11은 도 10의 메모리 장치가 데이터 신호들을 전송하는 예시를 보여주는 타이밍도이다. 도 10 및 도 11을 참조하면, 쓰기 데이터 스트로브 핀(W_P)을 통해 수신되는 쓰기 데이터 스트로브 신호(WDQS)는 제1 시점(t1)에서 토글 타이밍을 가질 수 있다. WDQS 트리(211)에 의해 송신기(214)로 전달되는 제3 내부 쓰기 데이터 스트로브 신호(dWDQS3) 및 읽기 데이터 스트로브 신호(RDQS)는 제2 시점(t2)에서 토글 타이밍을 가질 수 있다. 제1 송신기 그룹(215)으로 전달되는 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)는 제3 시점(t3)에서 토글 타이밍을 가지고, WDQS 트리(211)에 의해 제2 송신기 그룹(216)으로 전달되는 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)는 제4 시점(t4)에서 토글 타이밍을 가질 수 있다. 이에 따라, 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)와 읽기 데이터 스트로브 신호(RDQS) 사이에 제1 스큐(SK1)가 발생될 수 있고, 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)와 읽기 데이터 스트로브 신호(RDQS) 사이에 제2 스큐(SK2)가 발생될 수 있다.
제1 데이터(DATA1)를 포함하는 제1 데이터 신호(DQ1) 및 제2 데이터(DATA2)를 포함하는 제2 데이터 신호(DQ2)는 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)의 토글 타이밍에 메모리 컨트롤러(100)로 전송될 수 있다. 이에 따라, 제1 데이터(DATA1) 및 제2 데이터(DATA2)는 동일한 타이밍에 메모리 컨트롤러(100)로 전송될 수 있다. 제1 수신기 그룹(116)으로 전달되는 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)는 제1 스큐(SK1)를 보상하기 위한 제1 수신 타이밍(RT1)에 기초하여 샘플링될 수 있다. 이 경우, 제1 데이터(DATA1) 및 제2 데이터(DATA2)에 대한 샘플링 마진이 확보되어 데이터 비트 에러율이 최적화될 수 있다.
제3 데이터(DATA3)를 포함하는 제3 데이터 신호(DQ3) 및 제4 데이터(DATA4)를 포함하는 제4 데이터 신호(DQ4)는 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)의 토글 타이밍에 메모리 컨트롤러(100)로 전송될 수 있다. 이에 따라, 제3 데이터(DATA3) 및 제4 데이터(DATA4)는 동일한 타이밍에 메모리 컨트롤러(100)로 전송될 수 있다. 제2 수신기 그룹(117)으로 전달되는 제3 데이터 신호(DQ3) 및 제4 데이터 신호(DQ4)는 제2 스큐(SK2)를 보상하기 위한 제2 수신 타이밍(RT2)에 기초하여 샘플링될 수 있다. 이 경우, 제3 데이터(DATA3) 및 제4 데이터(DATA4)에 대한 샘플링 마진이 확보되어 데이터 비트 에러율이 최적화될 수 있다.
상술한 바와 같이, 메모리 장치(200)의 하나의 핀 그룹으로부터 출력되는 데이터 신호들의 데이터 스큐가 최소화될 수 있다. 이하에서는, 도 12를 참조하여 하나의 핀 그룹으로부터 출력되는 데이터 신호들의 데이터 스큐가 최소화 되도록 하는 메모리 장치의 상세한 구성이 설명될 것이다.
도 12는 도 10의 메모리 장치의 예시적인 구성을 보여주는 도면이다. 도 10 및 도 12를 참조하면, 메모리 장치(200)는 복수의 리피터들(211a~211f) 및 복수의 송신기들(214, 215a, 215b, 216a, 216b)을 포함할 수 있다. 리피터들(211a~211f)은 WDQS 트리(211)에 포함될 수 있다. 송신기들(215a, 215b)은 제1 송신기 그룹(215)에 포함되고, 송신기들(216a, 216b)은 제2 송신기 그룹(216)에 포함될 수 있다.
쓰기 데이터 스트로브 핀(W_P)을 통해 수신되는 쓰기 데이터 스트로브 신호(WDQS)는 제1 경로 상의 리피터들(211a, 211b, 211c, 211d)을 통해 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)로서 송신기들(215a, 215b) 각각으로 전달될 수 있다. 쓰기 데이터 스트로브 신호(WDQS)는 제2 경로 상의 리피터들(211a, 211b, 211c, 211e)을 통해 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)로서 송신기들(216a, 216b) 각각으로 전달될 수 있다. 쓰기 데이터 스트로브 신호(WDQS)는 제3 경로 상의 리피터들(211a, 211b, 211c, 211f)을 통해 제3 내부 쓰기 데이터 스트로브 신호(dWDQS3)로서 송신기(214)로 전달될 수 있다. 예를 들어, 제1 경로 상의 리피터(211c)와 리피터(211d)를 연결하는 제1 신호 라인(ML1)의 길이, 제2 경로 상의 리피터(211c)와 리피터(211e)를 연결하는 제2 신호 라인(ML2)의 길이, 및 제3 경로 상의 리피터(211c)와 리피터(211f)를 연결하는 제3 신호 라인(ML3)의 길이가 서로 다른 경우, 도 11을 참조하여 설명한 바와 같이, 제3 내지 제5 내부 쓰기 데이터 스트로브 신호(dWDQS3~dWDQS5)의 토글 타이밍들이 서로 다를 수 있다.
송신기(214)는 제3 내부 쓰기 데이터 스트로브 신호(dWDQS3)의 토글 타이밍을 기반으로 읽기 데이터 스트로브 신호(RDQS)를 생성할 수 있다. 송신기(215a)는 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)의 토글 타이밍을 기반으로 제1 데이터(DATA1)를 포함하는 제1 데이터 신호(DQ1)를 제1 데이터 핀(D_P1)을 통해 메모리 컨트롤러(100)로 전송할 수 있다. 송신기(215b)는 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)의 토글 타이밍을 기반으로 제2 데이터(DATA2)를 포함하는 제2 데이터 신호(DQ2)를 제2 데이터 핀(D_P2)을 통해 메모리 컨트롤러(100)로 전송할 수 있다.
예시적인 실시 예에서, 송신기들(215a, 215b)이 동일한 토글 타이밍에 데이터 신호들(DQ1, DQ2)을 전송하기 위해(즉, 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)가 송신기들(215a, 215b)로 동일한 타이밍에 도달하기 위해), 송신기들(215a, 215b)은 리피터(211d)로부터 동일한 거리 상에 배치될 수 있다. 일 예로서, 송신기들(215a, 215b)이 동일한 토글 타이밍에 데이터 신호들(DQ1, DQ2)을 전송하기 위해, 리피터(211d)로부터 송신기(215a)로 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)를 전달하기 위한 제4 신호 라인(ML4)의 길이와 리피터(211d)로부터 송신기(215b)로 제4 내부 쓰기 데이터 스트로브 신호(dWDQS4)를 전달하기 위한 제5 신호 라인(ML5)의 길이는 동일할 수 있다.
제1 데이터 신호(DQ1)는 제6 신호 라인(ML6)에 연결된 제1 데이터 핀(D_P1)을 통해 출력되고, 제2 데이터 신호(DQ2)는 제7 신호 라인(ML7)에 연결된 제2 데이터 핀(D_P2)을 통해 출력될 수 있다. 예시적인 실시 예에서, 데이터 신호들(DQ1, DQ2)이 데이터 핀들(D_P1, D_P2)로부터 동일한 타이밍에 출력될 수 있도록, 제6 신호 라인(ML6)의 길이와 제7 신호 라인(ML7)의 길이는 동일할 수 있다.
송신기(216a)는 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)의 토글 타이밍을 기반으로 제3 데이터(DATA3)를 포함하는 제3 데이터 신호(DQ3)를 제3 데이터 핀(D_P3)을 통해 메모리 컨트롤러(100)로 전송할 수 있다. 송신기(216b)는 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)의 토글 타이밍을 기반으로 제4 데이터(DATA4)를 포함하는 제4 데이터 신호(DQ4)를 제4 데이터 핀(D_P4)을 통해 메모리 컨트롤러(100)로 전송할 수 있다.
예시적인 실시 예에서, 송신기들(216a, 216b)이 동일한 토글 타이밍에 데이터 신호들(DQ3, DQ4)을 전송하기 위해(즉, 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)가 송신기들(216a, 216b)로 동일한 타이밍에 도달하기 위해), 송신기들(216a, 216b)은 리피터(211e)로부터 동일한 거리 상에 배치될 수 있다. 일 예로서, 송신기들(216a, 216a)이 동일한 토글 타이밍에 데이터 신호들(DQ3, DQ4)을 전송하기 위해, 리피터(211e)로부터 송신기(216a)로 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)를 전달하기 위한 제8 신호 라인(ML8)의 길이와 리피터(211e)로부터 송신기(216b)로 제5 내부 쓰기 데이터 스트로브 신호(dWDQS5)를 전달하기 위한 제9 신호 라인(ML9)의 길이는 동일할 수 있다.
제3 데이터 신호(DQ3)는 제10 신호 라인(ML10)에 연결된 제3 데이터 핀(D_P3)을 통해 출력되고, 제4 데이터 신호(DQ4)는 제11 신호 라인(ML11)에 연결된 제4 데이터 핀(D_P4)을 통해 출력될 수 있다. 예시적인 실시 예에서, 데이터 신호들(DQ3, DQ4)이 데이터 핀들(D_P3, D_P4)로부터 동일한 타이밍에 출력될 수 있도록, 제10 신호 라인(ML10)의 길이와 제11 신호 라인(ML11)의 길이는 동일할 수 있다.
상술한 바와 같이 메모리 장치(200)가 구성되는 경우, 하나의 핀 그룹에 대응하는 송신기들로 전달되는 내부 쓰기 데이터 스트로브 신호들의 토글 타이밍 스큐는 최소화될 수 있고, 송신기들로부터 하나의 핀 그룹을 통해 출력되는 데이터 신호들의 데이터 스큐는 최소화될 수 있다.
도 13은 본 발명의 실시 예에 따른 적층형 메모리 장치를 보여주는 블록도이다. 도 13을 참조하면, 적층형 메모리 장치(300)는 버퍼 다이(310) 및 복수의 코어 다이들(320~350)을 포함할 수 있다. 예를 들어, 버퍼 다이(310)는 인터페이스 다이, 베이스 다이, 로직 다이, 마스터 다이 등으로도 지칭될 수 있고, 그리고 코어 다이들(320~350) 각각은 메모리 다이, 슬레이브 다이 등으로도 지칭될 수 있다. 도 13에서는 적층형 메모리 장치(300)에 4개의 코어 다이들(320~350)이 포함되는 것으로 도시되었으나, 코어 다이들의 개수는 다양하게 변경될 수 있다. 예를 들어, 적층형 메모리 장치(300)는 8개, 12개 또는 16개 코어 다이들을 포함할 수 있다.
버퍼 다이(310) 및 코어 다이들(320~350)은 실리콘 관통 전극들(TSV; Through Silicon Via)을 통해 적층되고, 전기적으로 연결될 수 있다. 이에 따라, 적층형 메모리 장치(300)는 다수의 다이들(310~350)이 적층되는 3차원 메모리 구조를 가질 수 있다. 예를 들어, 적층형 메모리 장치(300)는 HBM 또는 HMC 표준을 기반으로 구현될 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
적층형 메모리 장치(300)는 기능적으로 독립된 복수의 채널들(또는, 볼트(vault)들)을 지원할 수 있다. 예를 들어, 도 13에 도시된 바와 같이, 적층형 메모리 장치(300)는 8개 채널들(CH0~CH7)을 지원할 수 있다. 채널들(CH0~CH7) 각각이 128개 데이터 전달 통로를 지원하는 경우(즉, 채널들(CH0~CH7) 각각에 대응하는 128개 데이터 핀들이 존재하는 경우), 적층형 메모리 장치(300)는 1024개 데이터 전달 통로를 지원할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 적층형 메모리 장치(300)는 1024개 이상의 데이터 전달 통로를 지원할 수 있으며, 8개 이상의 채널들(예를 들어, 16개 채널들)을 지원할 수 있다. 예를 들어, 적층형 메모리 장치(300)가 1024개 데이터 전달 통로 및 16개 채널들을 지원하는 경우, 채널들 각각은 64개 데이터 전달 통로를 지원할 수 있다.
코어 다이들(320~350) 각각은 적어도 하나의 채널을 지원할 수 있다. 예를 들어, 도 13에 도시된 바와 같이, 코어 다이들(320~350) 각각은 2 채널(CH0-CH2, CH1-CH3, CH4-CH6, CH5-CH7)을 지원할 수 있다. 이 경우, 코어 다이들(320~350)은 서로 다른 채널들을 지원할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 코어 다이들(320~350) 중 적어도 두 개는 동일한 채널을 지원할 수 있다. 예를 들어, 코어 다이들(320~350) 중 두 개는 제1 채널(CH0)을 지원할 수 있다.
채널들 각각은 독립적인 커맨드 및 데이터 인터페이스를 구성할 있다. 예를 들어, 각 채널은 독립적인 타이밍 요구 조건에 기초하여 독립적으로 클럭킹(independently clocked)될 수 있고, 서로 동기화되지 않을 수 있다.
채널들 각각은 복수의 메모리 뱅크들(301)을 포함할 수 있다. 메모리 뱅크들(301) 각각은 워드 라인들 및 비트 라인들에 연결되는 메모리 셀들, 로우 디코더, 컬럼 디코더, 센스 앰프 등을 포함할 수 있다. 예를 들어, 메모리 뱅크들(301) 각각은 도 1의 메모리 뱅크(220)에 대응할 수 있다. 예를 들어, 도 13에 도시된 바와 같이, 채널들(CH0~CH7) 각각은 8개의 메모리 뱅크들(301)을 포함할 수 있다. 그러나, 본 발명이 이에 한정되지 않으며, 채널들(CH0~CH7) 각각은 8개 이상의 메모리 뱅크들(301)을 포함할 수 있다. 도 13에는 하나의 채널에 포함되는 메모리 뱅크들이 하나의 코어 다이에 포함되는 것으로 도시되어 있으나, 하나의 채널에 포함되는 메모리 뱅크들은 복수의 코어 다이들에 분산될 수 있다. 예를 들어, 코어 다이들(320, 340)이 제1 채널(CH0)을 지원하는 경우, 제1 채널(CH0)에 포함되는 메모리 뱅크들은 코어 다이들(320, 340)에 분산될 수 있다.
예시적인 실시 예에서, 하나의 채널은 독립적으로 동작하는 2개의 의사 채널(Pseudo Channel)들로 나뉘어질 수 있다. 예를 들어, 의사 채널들은 채널의 커맨드 및 클럭 입력들(예를 들어, 클럭 신호(CK) 및 클럭 인에이블 신호(CKE))을 공유할 수 있으나, 커맨드들을 독립적으로 디코딩하고 실행할 수 있다. 예를 들어, 하나의 채널이 128개 데이터 전달 통로를 지원하는 경우, 의사 채널들 각각은 64개 데이터 전달 통로를 지원할 수 있다. 예를 들어, 하나의 채널이 64개 데이터 전달 통로를 지원하는 경우, 의사 채널들 각각은 32개 데이터 전달 통로를 지원할 수 있다.
버퍼 다이(310) 및 코어 다이들(320~350)은 TSV영역(302)을 포함할 수 있다. TSV영역(302)에는 다이들(310~350)을 관통하도록 구성된 TSV들이 배치될 수 있다. 버퍼 다이(310)는 TSV들을 통해 코어 다이들(320~350)과 입출력 신호들을 송수신할 수 있다. 코어 다이들(320~350) 각각은 TSV들을 통해 버퍼 다이(310) 및 다른 코어 다이와 입출력 신호들을 송수신할 수 있다. 예시적인 실시 예에서, 입출력 신호들은 채널 별로 대응하는 TSV들을 통해 독립적으로 송수신될 수 있다. 예를 들어, 외부의 호스트 장치(예를 들어, 도 1의 메모리 컨트롤러(100))가 제1 채널(CH0)의 메모리 셀에 데이터를 저장하기 위해 제1 채널(CH0)로 데이터 신호를 전송하는 경우, 버퍼 다이(310)는 제1 채널(CH0)에 대응하는 TSV들을 통해 데이터 신호를 제1 코어 다이(320)로 전송하여 제1 채널(CH0)의 메모리 셀에 데이터를 저장할 수 있다.
버퍼 다이(310)는 물리 계층(PHY, 311)을 포함할 수 있다. 물리 계층(311)은 호스트 장치와의 통신을 위한 인터페이스 회로들을 포함할 수 있다. 예시적인 실시 예에서, 물리 계층(311)은 채널들(CH0~CH7) 각각에 대응하는 인터페이스 회로를 포함할 수 있다. 예를 들어, 각 인터페이스 회로는 도 1 내지 도 12를 참조하여 설명한 메모리 인터페이스 회로(210)에 대응할 수 있다. 호스트 장치로부터 물리 계층(311)을 통해 수신된 입출력 신호들은 TSV들을 통해 코어 다이들(320~350)로 전달될 수 있다.
예시적인 실시 예에서, 버퍼 다이(310)는 채널들 각각에 대응하는 채널 컨트롤러를 포함할 수 있다. 채널 컨트롤러는 대응하는 채널의 메모리 참조 동작들을 관리할 수 있고, 대응하는 채널의 타이밍 요구 조건을 결정할 수 있다.
예시적인 실시 예에서, 적층형 메모리 장치(300)는 호스트 장치로부터 입출력 신호들을 송수신하기 위한 복수의 핀들을 포함할 수 있다. 예를 들어, 복수의 핀들은 버퍼 다이(310)에 부착될 수 있다. 버퍼 다이(310)의 물리 계층(311)은, 도 1 내지 도 12를 참조하여 설명한 바와 같이, 호스트 장치로부터 복수의 핀들을 통해 클럭 신호(CK), 커맨드/어드레스 신호들(CA), 쓰기 데이터 스트로브 신호(WDQS), 및 데이터 신호들(DQ)을 수신하고, 호스트 장치로 읽기 데이터 스트로브 신호(RDQS) 및 데이터 신호들(DQ)을 전송할 수 있다. 예를 들어, 적층형 메모리 장치(300)는 데이터 신호들(DQ)을 송수신하기 위한 32개의 데이터 핀들에 대응하여 쓰기 데이터 스트로브 신호(WDQS)를 수신하기 위한 2개의 쓰기 데이터 스트로브 핀들, 읽기 데이터 스트로브 신호(RDQS)를 전송하기 위한 2개의 읽기 데이터 스트로브 핀들을 포함할 수 있다.
예시적인 실시 예에서, 적층형 메모리 장치(300)는 데이터의 에러를 검출하고 정정하기 위한 ECC(Error Correction Code) 회로를 더 포함할 수 있다. 예를 들어, 쓰기 동작에서 ECC 회로는 호스트 장치로부터 전달된 데이터에 대한 패리티(parity) 비트들을 생성할 수 있다. 읽기 동작에서 ECC 회로는 패리티 비트들을 이용하여 코어 다이들(320~350) 중 하나로부터 전달된 데이터의 에러를 검출 및 정정하고, 에러 정정된 데이터를 호스트 장치로 전송할 수 있다.
예시적인 실시 예에서, 도 1 내지 도 12를 참조하여 설명한 바와 같이, 데이터 신호들(DQ)을 송수신하기 위한 데이터 핀들은 적어도 두 개의 핀 그룹으로 나뉘어질 수 있고, 호스트 장치에 의해 핀 그룹 별로 트레이닝이 수행될 수 있다. 즉, 호스트 장치는 트레이닝을 통해 하나의 핀 그룹에 대응하는 전송 타이밍 및 수신 타이밍을 결정할 수 있다. 이 경우, 적층형 메모리 장치(300)의 버퍼 다이(310)는 호스트 장치의 트레이닝을 지원할 수 있도록 구성될 수 있다. 이하에서는, 도 14를 참조하여 호스트 장치의 트레이닝을 지원하기 위한 버퍼 다이(310)의 구성이 설명될 것이다.
도 14는 도 13의 버퍼 다이의 하나의 실시 예를 보여주는 블록도이다. 도 14를 참조하면, 버퍼 다이(310)는 커맨드 어드레스 입출력 블록(AWORD) 및 데이터 입출력 블록들(DWORD0, DWORD1)을 포함할 수 있다. 커맨드 어드레스 입출력 블록(AWORD) 및 데이터 입출력 블록들(DWORD0, DWORD1)은 복수의 채널들 중 하나의 채널에 대응하는 인터페이스 회로에 포함될 수 있다. 도 14에서는 버퍼 다이(310)가 2개의 데이터 입출력 블록들(DWORD0, DWORD1)을 포함하는 것으로 설명되나, 버퍼 다이(310)는 다양한 개수의 데이터 입출력 블록들을 포함할 수 있다.
커맨드 어드레스 입출력 블록(AWORD)은 CA 수신기(312) 및 커맨드 디코더(313)를 포함할 수 있다. CA 수신기(312)는 제2 핀(P2)으로부터 수신되는 클럭 신호(CK)를 기반으로 제1 핀들(P1)로부터 수신되는 커맨드/어드레스 신호들(CA)을 샘플링하여 커맨드(CMD)를 획득할 수 있다. 커맨드 디코더(313)는 커맨드(CMD)에 기초하여 제어 신호(CTR)를 생성하고, 제어 신호(CTR)를 데이터 입출력 블록들(DWORD0, DWORD1) 각각으로 전송할 수 있다. 데이터 입출력 블록들(DWORD0, DWORD1)의 구성 요소들은 제어 신호(CTR)에 응답하여 동작할 수 있다. 클럭 신호(CK)는 데이터 입출력 블록들(DWORD0, DWORD1) 각각으로 전달될 수 있다.
데이터 입출력 블록(DWORD0)은 WDQS 디바이더(314), WDQS 트리(315), 제1 송신기(316), 제1 및 제2 수신기들(317a, 317b), 제2 및 제3 송신기들(318a, 318b)을 포함할 수 있다. WDQS 트리(315)는 도 7 및 도 10를 참조하여 설명한 WDQS 트리(211)에 대응하고, 제1 송신기(316)는 도 10의 송신기(214)에 대응할 수 있다. 제1 및 제2 수신기들(317a, 317b)은 도 7의 제1 수신기 그룹(212)에 대응하고, 제2 및 제3 송신기들(318a, 318b)은 도 10의 제1 송신기 그룹(215)에 대응할 수 있다. 설명의 편의를 위해, 데이터 입출력 블록(DWORD0)을 기준으로 버퍼 다이(310)의 구성이 설명되나, 데이터 입출력 블록(DWORD0)과 데이터 입출력 블록(DWORD1)은 동일하게 구성될 수 있다.
WDQS 디바이더(314)는 제3 핀(P3)로부터 수신되는 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 예를 들어, WDQS 디바이더(314)는 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 서로 다른 위상들을 가지고 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 이 경우, 내부 쓰기 데이터 스트로브 신호들(dWDQS) 각각의 주파수는 쓰기 데이터 스트로브 신호(WDQS)의 주파수보다 작을 수 있다.
WDQS 트리(315)는 복수의 리피터들을 통해 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 데이터 입출력 블록(DWORD0)의 수신기들(317a, 317b) 및 송신기들(316, 318a, 318b)로 전달할 수 있다. 이에 따라, 제1 송신기(316), 제1 및 제2 수신기들(317a, 317b), 제2 및 제3 송신기들(318a, 318b)로 제공되는 내부 쓰기 데이터 스트로브 신호들(dWDQS11, dWDQS21, dWDQS22, dWDQS31, dWDQS32) 각각은 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 WDQS 트리(315)에 의해 지연된 신호들일 수 있다. 예를 들어, 내부 쓰기 데이터 스트로브 신호들(dWDQS11)은 제1 경로 상의 리피터들을 통해 제1 송신기(316)로 제공될 수 있고, 내부 쓰기 데이터 스트로브 신호들(dWDQS21, dWDQS22, dWDQS31, dWDQS32)은 제2 경로 상의 리피터들을 통해 제1 및 제2 수신기들(317a, 317b), 제2 및 제3 송신기들(318a, 318b)로 제공될 수 있다. 이 경우, 내부 쓰기 데이터 스트로브 신호들(dWDQS21, dWDQS22, dWDQS31, dWDQS32)의 토글 타이밍들은 서로 동일할 수 있다. 즉, 내부 쓰기 데이터 스트로브 신호들(dWDQS21, dWDQS22, dWDQS31, dWDQS32) 사이의 토글 타이밍 스큐가 최소화될 수 있다.
도 14에서는 쓰기 데이터 스트로브 신호(WDQS)로부터 생성된 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 WDQS 트리(315)에 의해 전달되는 것으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 도 1 내지 도 12를 참조하여 설명한 바와 같이, 쓰기 데이터 스트로브 신호(WDQS)가 WDQS 트리(315)에 의해 전달될 수 있다.
제1 송신기(316)는 내부 쓰기 데이터 스트로브 신호들(dWDQS11)의 토글 타이밍들을 기반으로 읽기 데이터 스트로브 신호(RDQS)를 생성할 수 있다. 읽기 데이터 스트로브 신호(RDQS)는 제4 핀(P4)을 통해 호스트 장치로 전송될 수 있다.
제1 수신기(317a)는 내부 쓰기 데이터 스트로브 신호들(dWDQS21)의 토글 타이밍들을 기반으로 핀 그룹(PG)의 제5 핀(P5)으로부터 수신되는 제1 데이터 신호(DQ1)를 샘플링할 수 있다. 제2 수신기(317b)는 내부 쓰기 데이터 스트로브 신호들(dWDQS22)의 토글 타이밍들을 기반으로 핀 그룹(PG)의 제6 핀(P6)으로부터 수신되는 제2 데이터 신호(DQ2)를 샘플링할 수 있다. 예를 들어, 내부 쓰기 데이터 스트로브 신호들(dWDQS21)과 내부 쓰기 데이터 스트로브 신호들(dWDQS22)의 토글 타이밍들이 동일한 경우, 제1 수신기(317a)와 제2 수신기(317b)는 동일한 타이밍에 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)를 샘플링할 수 있다. 도 1 내지 도 12를 참조하여 설명한 바와 같이, 핀 그룹(PG)에 대한 트레이닝 결과에 따라 호스트 장치로부터의 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)는 제5 핀(P5) 및 제6 핀(P6)을 통해 동일한 타이밍에 수신될 수 있으므로, 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)가 동일한 타이밍에 샘플링되더라도 데이터 비트 에러율이 최적화될 수 있다.
제2 송신기(318a)는 내부 쓰기 데이터 스트로브 신호들(dWDQS31)의 토글 타이밍들을 기반으로 핀 그룹(PG)의 제5 핀(P5)을 통해 호스트 장치로 제1 데이터 신호(DQ1)를 전송할 수 있다. 제3 송신기(318b)는 내부 쓰기 데이터 스트로브 신호들(dWDQS33)의 토글 타이밍들을 기반으로 핀 그룹(PG)의 제6 핀(P6)을 통해 호스트 장치로 제2 데이터 신호(DQ2)를 전송할 수 있다. 예를 들어, 내부 쓰기 데이터 스트로브 신호들(dWDQS31)과 내부 쓰기 데이터 스트로브 신호들(dWDQS32)의 토글 타이밍들이 동일한 경우, 제2 송신기(318a)와 제3 송신기(318b)는 동일한 타이밍에 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)를 호스트 장치로 전송할 수 있다. 이에 따라, 핀 그룹(PG)에 대한 트레이닝 결과에 따라 호스트 장치가 제1 데이터 신호(DQ1) 및 제2 데이터 신호(DQ2)를 동일한 타이밍에 샘플링하더라도 데이터 비트 에러율이 최적화될 수 있다.
도 14에는 데이터 입출력 블록(DWORD0)이 하나의 핀 그룹(PG)을 통해 데이터 신호들을 송수신하는 것으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 데이터 입출력 블록(DWORD0)은, 도 3 내지 도 12를 참조하여 설명한 바와 같이, 적어도 두 개 이상의 핀 그룹을 통해 데이터 신호들을 송수신할 수 있다.
도 15는 도 13의 적층형 메모리 장치에 포함된 핀들의 예시적인 핀 맵을 보여준다. 구체적으로, 도 15의 핀 맵(PMAP)은 하나의 채널의 하나의 데이터 입출력 블록(DWORD)에 대응할 수 있다.
도 13 및 도 15를 참조하면, 핀 맵(PMAP)의 핀들을 통해 접지 전압(VSS), 전원 전압들(VDDQ, VDDQL)이 물리 계층(311)에 공급될 수 있다. 또한, 물리 계층(311)은 핀 맵(PMAP)의 핀들을 통해 제1 내지 제32 데이터 신호들(DQ1~DQ32), 제1 및 제2 에러 정정 코드 신호들(ECC1, ECC2), 데이터 패리티 신호(DPAR), 제1 및 제2 예비(redundant) 데이터 신호들(RD1, RD2), 쓰기 데이터 스트로브 신호들(WDQS_t, WDQS_c), 제1 내지 제4 데이터 버스 인버전 신호들(DBI1~DBI4), 제1 및 제2 에러 심각성(error severity) 신호들(SEV1, SEV2), 및 데이터 에러 신호(DERR)와 같은 입출력 신호들을 호스트 장치로부터 수신하거나, 호스트 장치로 전송할 수 있다.
전원 전압(VDDQ)은 버퍼 다이(310)의 전반적인 동작을 위해 이용되는 전압일 수 있으며, 전원 전압(VDDQL)은 버퍼 다이(310)로부터 TSV를 통해 코어 다이들(320~350)로 입출력 신호들을 전송하기 위해 이용되는 전압일 수 있다. 예시적인 실시 예에서, 전원 전압(VDDQ)은 전원 전압(VDDQL)보다 클 수 있다. 예를 들어, 전원 전압(VDDQ)은 1.1V일 수 있으며, 전원 전압(VDDQL)은 0.4V일 수 있다.
제1 내지 제32 데이터 신호들(DQ1~DQ32) 각각은 데이터를 전달하기 위한 신호일 수 있다. 제1 및 제2 에러 정정 코드 신호들(ECC1, ECC2) 각각은 ECC 회로의 인에이블(enable) 또는 디스에이블(disable)을 제어하기 위한 신호일 수 있다. 데이터 패리티 신호(DPAR)는 데이터 신호들(DQ1~DQ32)에 포함된 데이터와 연관된 패리티 비트를 포함할 수 있다. 제1 및 제2 예비 데이터 신호들(RD1, RD2)은 제1 내지 제32 데이터 신호들(DQ1~DQ32)에 포함된 데이터 이외에 별도의 데이터를 전송하기 위한 신호들일 수 있다. 쓰기 데이터 스트로브 신호들(WDQS_t, WDQS_c)은 차동 쌍으로서 호스트 장치로부터 수신될 수 있다. 제1 내지 제4 데이터 버스 인버전 신호들(DBI1~DBI4)은 제1 내지 제32 데이터 신호들(DQ1~DQ32)에 대하여 코드 반전 인코딩(code inversion encoding)의 적용 여부를 나타내는 신호들일 수 있다. 제1 및 제2 에러 심각성 신호들(SEV1, SEV2)은 패리티 비트를 기반으로 데이터의 에러가 검출되는 경우, 에러의 양을 나타내는 신호들일 수 있다. 데이터 에러 신호(DERR)는 ECC 회로에 의한 에러 검출에 따라 에러 검출 여부를 나타내는 신호일 수 있다. 데이터 신호들(DQ1~DQ32)을 포함한 입출력 신호들은, 도 1 내지 도 12를 참조하여 설명한 바와 같이, 쓰기 데이터 스트로브 신호들(WDQS_t, WDQS_c)을 기반으로 샘플링되거나 또는 호스트 장치로 전송될 수 있다.
핀 맵(PMAP)의 입출력 신호들을 송수신하기 위한 핀들은 복수의 핀 그룹들로 나뉘어질 수 있다. 이 경우, 핀 그룹들 각각은 하나 이상의 데이터 신호들(DQ) 및 하나 이상의 제어 신호들(예를 들어, WDQS, RDQS, DBI, DPAR, ECC, DERR, SEV 등)을 송수신하기 위한 핀들을 포함할 수 있다. 예를 들어, 도 15에 도시된 바와 같이, 핀 맵(PMAP)의 입출력 신호들을 송수신하기 위한 핀들은 제1 내지 제6 핀 그룹들(PG1~PG6)로 나뉘어질 수 있다.
제1 내지 제6 핀 그룹들(PG1~PG6)은 제1 내지 제6 영역들(PGA1~PGA6)에 각각 배치될 수 있다. 제1 내지 제6 영역들(PGA1~PGA6)은 파워 영역(PA1)을 포함할 수 있다. 파워 영역(PA1)은 전원 전압(VDDQL)을 수신하기 위한 핀들이 배치될 수 있다. 예시적인 실시 예에서, 제1 내지 제6 핀 그룹들(PG1~PG6) 각각의 핀들은 파워 영역(PA1)을 기준으로 대칭되도록 배치될 수 있다. 예를 들어, 제1 핀 그룹(PG1)의 핀들(DQ1, DQ2, DQ3, ECC1)과 핀들(DQ9, DQ10, DQ11, ECC2)은 파워 영역(PA1)을 기준으로 대칭되도록 배치될 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니다.
제1 내지 제3 영역들(PGA1~PGA3)과 제4 내지 제6 영역들(PGA4~PGA6) 사이에는 파워 영역(PA2)이 위치할 수 있다. 파워 영역(PA2)에는 전원 전압(VDDQ) 및 접지 전압(VSS)을 수신하기 위한 핀들이 배치될 수 있다. 즉, 제1 내지 제3 영역들(PGA1~PGA3)과 제4 내지 제6 영역들(PGA4~PGA6)은 파워 영역(PA2)을 기준으로 대칭되도록 위치할 수 있다.
제1 내지 제6 핀 그룹들(PG1~PG6) 각각은 하나 이상의 데이터 신호들(DQ) 및 하나 이상의 제어 신호들을 송수신하기 위한 핀들을 포함할 수 있다. 이 경우, 제1 내지 제3 핀 그룹들(PG1~PG3)의 핀 배치 구조는 서로 동일하고, 제4 내지 제6 핀 그룹들(PG4~PG6)의 핀 배치 구조는 서로 동일할 수 있다. 또한, 제2 핀 그룹(PG2)은 쓰기 데이터 스트로브 신호들(WDQS_t, WDQS_c)을 수신하기 위한 핀들을 포함하고, 나머지 핀 그룹들(PG1, PG3~PG6)은 쓰기 데이터 스트로브 신호들(WDQS_t, WDQS_c)을 수신하기 위한 핀들을 포함하지 않을 수 있다. 도 15에는 핀 그룹들 각각이 입출력 신호들(즉, 데이터 신호들(DQ) 및 제어 신호들)을 송수신하기 위한 8개의 핀들을 포함하는 것으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니며, 하나의 핀 그룹에 포함되는 핀들의 개수 및 종류는 다양하게 변경될 수 있다.
제1 내지 제6 핀 그룹들(PG1~PG6) 각각에 대하여, 도 1 내지 도 12를 참조하여 설명한 바와 같이, 핀 그룹 별로 트레이닝이 수행될 수 있다. 예를 들어, 핀 그룹 중 하나의 핀에 대한 트레이닝을 통해 핀 그룹에 대응하는 전송 타이밍 및/또는 수신 타이밍이 결정될 수 있다. 이에 따라, 하나의 핀 그룹에 대응하는 트레이닝 값(예를 들어, 입출력 신호들의 전송 타이밍 또는 입출력 신호들의 수신 타이밍)은 동일하게 결정될 수 있다.
하나의 핀 그룹을 통해 송수신되는 데이터 신호들(DQ)은, 도 1 내지 도 12를 참조하여 설명한 바와 같이, 동일한 타이밍에 샘플링되거나, 또는 동일한 타이밍에 호스트 장치로 전송될 수 있다. 이를 위해, 쓰기 데이터 스트로브 신호들(WDQS_t, WDQS_c)로부터 생성된 내부 쓰기 데이터 스트로브 신호들(dWDQS)은 WDQS 트리(예를 들어, 도 14의 WDQS 트리(315))에 의해 동일한 지연 시간에 따라 데이터 신호들(DQ)을 송수신하기 위한 송신기들 및 수신기들로 각각 전달될 수 있다. 예를 들어, 내부 쓰기 데이터 스트로브 신호들(dWDQS)은 동일한 지연 시간에 따라 제1 핀 그룹(PG1)을 통해 데이터 신호들(DQ1, DQ2, DQ3, DQ9, DQ10, DQ11)을 송수신하기 위한 송신기들 및 수신기들로 각각 전달될 수 있다.
도 16은 도 15의 핀 맵에 대응하는 WDQS 트리의 예시적인 구성을 보여준다. 도 15 및 도 16을 참조하면, WDQS 트리(WTREE)는 복수의 리피터들(RPT1~RPT4)을 포함할 수 있다. 복수의 리피터들(RPT1~RPT4)은 핀 맵(PMAP)의 핀들이 배치되는 영역 상에 배치될 수 있다. 예를 들어, 복수의 리피터들(RPT1~RPT4)은 제1 내지 제6 영역들(PGA1~PGA6) 상에 배치될 수 있다. 예를 들어, 리피터들(RPT1~RPT4)은 H-트리 방식에 의해 각 영역 상의 회로들(예를 들어, 송신기 및 수신기)로 쓰기 데이터 스트로브 신호(WDQS)를 전달할 수 있다.
제1 리피터(RPT1)는 쓰기 데이터 스트로브 신호들(WDQS_t, WDQS_c)로부터 생성된 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 수신하고, 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 제2 리피터들(RPT2)로 전달할 수 있다. 제2 리피터들(RPT2) 각각은 제1 리피터(RPT1)로부터 전달된 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 제3 리피터들(RPT3)로 전달할 수 있다. 예를 들어, 제2 영역(PGA2)에 배치되는 제2 리피터(RPT2)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 제1 내지 제3 영역들(PGA1~PGA3)에 배치되는 제3 리피터들(RPT3)로 전달할 수 있다.
제3 리피터들(RPT3) 각각은 제2 리피터(RPT2)로부터 전달된 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 제4 리피터들(RPT4)로 전달할 수 있다. 예를 들어, 제1 영역(PGA1)에 배치되는 제3 리피터(RPT3)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 제1 영역(PGA1)에 배치되는 제4 리피터들(RPT4a, RPT4b)로 전달할 수 있다.
제4 리피터들(RPT4) 각각은 제3 리피터(RPT3)로부터 전달된 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 인접하게 위치하는 송신기들 및 수신기들로 전달할 수 있다. 예를 들어, 제4 리피터(RPT4a)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 데이터 신호들(DQ1, DQ2, DQ3)을 송수신하기 위한 송신기들 및 수신기들로 전달할 수 있다. 제4 리피터(RPT4b)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 데이터 신호들(DQ9, DQ10, DQ11)을 송수신하기 위한 송신기들 및 수신기들로 전달할 수 있다. 이 경우, 제4 리피터들(RPT4a, RPT4b)은 동일한 지연 시간에 따라 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 송신기들 및 수신기들로 전달되도록 배치될 수 있다. 예를 들어, 제4 리피터들(RPT4a, RPT4b)은 제1 영역(PGA1)의 제3 리피터(RPT3)로부터 동일한 거리를 가지도록 배치될 수 있다. 이에 따라, 내부 쓰기 데이터 스트로브 신호들(dWDQS)은 서로 다른 경로 상의 리피터들을 통해 데이터 신호들(DQ1, DQ2, DQ3, DQ9, DQ10, DQ11)을 송수신하기 위한 송신기들 및 수신기들로 동일한 타이밍에 전달될 수 있다.
예시적인 실시 예에서, 영역들(PGA1~PGA6) 중 2개의 영역들 상의 리피터들은 도 15의 파워 영역(PA2)을 기준으로 대칭되도록 배치될 수 있다. 예를 들어, 제1 영역(PGA1) 상의 제3 리피터(RPT3) 및 제4 리피터들(RPT4)은 제4 영역(PGA4) 상의 제3 리피터(RPT3) 및 제4 리피터들(RPT4)과 파워 영역(PA2)을 기준으로 대칭되도록 배치될 수 있다. 이 경우, 제1 영역(PGA1) 상의 리피터들(RPT3, RPT4)의 레이아웃과 제4 영역(PGA4) 상의 리피터들(RPT3, RPT4)의 레이아웃은 동일할 수 있다. 이와 같이, 영역들(PGA1~PGA6) 중 2개의 영역들 상에 배치되는 회로들의 레이아웃은 서로 동일할 수 있다.
예시적인 실시 예에서, 영역들(PGA1~PGA6) 중 하나의 영역 상의 2개의 리피터들은 도 15의 파워 영역(PA1)을 기준으로 대칭되도록 배치될 수 있다. 예를 들어, 제1 영역(PGA1) 상의 제4 리피터들(RPT4)은 파워 영역(PA1)을 기준으로 대칭되도록 배치될 수 있다.
상술한 바와 같이, 복수의 리피터들(RPT1~RPT4)을 기반으로 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 전달되는 경우, 하나의 데이터 핀 그룹을 통해 수신되는 데이터 신호들(DQ)은 동일한 타이밍에 샘플링될 수 있고, 하나의 데이터 핀 그룹을 통해 데이터 신호들(DQ)이 동일한 타이밍에 호스트 장치로 전송될 수 있다.
도 16에서는 동일한 개수의 리피터들(예를 들어, 4개의 리피터들(RPT1~RPT4)을 통해 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 전달 타이밍을 조절하는 것으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 리피터들의 구동 능력이 다르게 설정하거나, 또는 별도의 저항 또는 커패시터 등의 회로 소자를 이용함으로써 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 전달 타이밍이 조절될 수 있다.
도 17은 본 발명의 하나의 실시 예에 따른 반도체 패키지를 보여주는 도면이다. 도 17을 참조하면, 반도체 패키지(1000)는 적층형 메모리 장치(1100), 시스템 온 칩(1200), 인터포저(1300), 및 패키지 기판(1400)을 포함할 수 있다. 적층형 메모리 장치(1100)는 버퍼 다이(1110) 및 코어 다이들(1120~1150)을 포함할 수 있다. 버퍼 다이(1110)는 도 13의 버퍼 다이(310)에 대응할 수 있고, 코어 다이들(1120~1150) 각각은 도 13의 코어 다이들(320~350) 각각에 대응할 수 있다.
코어 다이들(1120~1150) 각각은 데이터를 저장하기 위한 메모리 셀들을 포함할 수 있다. 버퍼 다이(1110)는 물리 계층(1111) 및 직접 접근 영역(DAB, 1112)을 포함할 수 있다. 물리 계층(1111)은 시스템 온 칩(1200)의 물리 계층(1210)과 인터포저(1300)를 통해 전기적으로 연결될 수 있다. 적층형 메모리 장치(1100)는 물리 계층(1111)을 통해 시스템 온 칩(1200)으로부터 입출력 신호들을 수신하거나, 또는 시스템 온 칩(1200)으로 입출력 신호들을 전송할 수 있다. 물리 계층(1111)은 도 14를 참조하여 설명한 버퍼 다이(310)의 인터페이스 회로를 포함할 수 있다.
직접 접근 영역(1112)은 시스템 온 칩(1200)을 통하지 않고 적층형 메모리 장치(1100)를 테스트할 수 있는 접근 경로를 제공할 수 있다. 직접 접근 영역(1112)은 외부의 테스트 장치와 직접 통신할 수 있는 도전 수단(예를 들어, 포트 또는 핀)을 포함할 수 있다. 직접 접근 영역(1112)을 통해 수신된 테스트 신호는 TSV들을 통해 코어 다이들(1120~1150)로 전송될 수 있다. 코어 다이들(1120~1150)의 테스트를 위해 코어 다이들(1120~1150)로부터 독출된 데이터는 TSV들 및 직접 접근 영역(1112)을 통해 테스트 장치로 전송될 수 있다. 이에 따라, 코어 다이들(1120~1150)에 대한 직접 접근 테스트가 수행될 수 있다.
버퍼 다이(1110)와 코어 다이들(1120~1150)은 TSV들(1101) 및 범프들(1102)을 통해 서로 전기적으로 연결될 수 있다. 예를 들어, 범프들(1102)은 도 1 내지 도 16을 참조하여 설명한 핀들에 대응할 수 있다. 버퍼 다이(1110)는 시스템 온 칩(1200)으로부터 채널 별로 할당된 범프들(1102)을 통해 각각의 채널로 제공되는 입출력 신호들을 수신하거나, 범프들(1102)을 통해 입출력 신호들을 시스템 온 칩(1200)으로 전송할 수 있다. 예를 들어, 범프들(1102)은 마이크로 범프들일 수 있다.
시스템 온 칩(1200)은 적층형 메모리 장치(1100)를 이용하여 반도체 패키지(1000)가 지원하는 어플리케이션들을 실행할 수 있다. 예를 들어, 시스템 온 칩(1200)은 CPU(Central Processing Unit), AP(Application Processor), GPU(Graphic Processing Unit), NPU(Neural Processing Unit), TPU(Tensor Processing Unit), VPU(Vision Processing Unit), ISP(Image Signal Processor) 및 DSP(Digital Signal Processor) 중 적어도 하나의 프로세서를 포함하여 특화된 연산들을 실행할 수 있다.
시스템 온 칩(1200)은 적층형 메모리 장치(1100)의 전반적인 동작을 제어할 수 있다. 시스템 온 칩(1200)은 물리 계층(1210)을 포함할 수 있다. 물리 계층(1210)은 적층형 메모리 장치(1100)의 물리 계층(1111)과 입출력 신호들을 송수신하기 위한 인터페이스 회로를 포함할 수 있다. 예를 들어, 시스템 온 칩(1200) 및 물리 계층(1210)은 도 1 내지 도 12를 참조하여 설명한 메모리 컨트롤러(100) 및 호스트 인터페이스 회로(110)에 각각 대응할 수 있다. 시스템 온 칩(1200)은 물리 계층(1210)을 통해 물리 계층(1111)으로 다양한 입출력 신호들을 제공할 수 있다. 물리 계층(1111)으로 제공된 신호들은 물리 계층(1111)의 인터페이스 회로 및 TSV들(1101)을 통해 코어 다이들(1120~1150)로 전달될 수 있다.
인터포저(1300)는 적층형 메모리 장치(1100)와 시스템 온 칩(1200)을 연결할 수 있다. 인터포저(1300)는 적층형 메모리 장치(1100)의 물리 계층(1111)과 시스템 온 칩(1200)의 물리 계층(1210) 사이를 연결하고, 도전성 물질들을 이용하여 형성되는 물리적 경로들을 제공할 수 있다. 이에 따라, 적층형 메모리 장치(1100) 및 시스템 온 칩(1200)은 인터포저(1300) 상에 적층되어 서로 입출력 신호들을 송수신할 수 있다.
패키지 기판(1400) 상부에는 범프들(1103)이 부착되고, 하부에는 솔더볼(1104)이 부착될 수 있다. 예를 들어, 범프들(1103)은 플립-칩 범프들일 수 있다. 인터포저(1300)는 범프들(1103)을 통해 패키지 기판(1400) 상에 적층될 수 있다. 반도체 패키지(1000)는 솔더볼(1104)을 통해 외부의 다른 패키지 또는 반도체 장치들과 신호들을 송수신할 수 있다. 예를 들어, 패키지 기판(1400)은 인쇄 회로 기판(PCB, Printed Circuit Board)일 수 있다.
예시적인 실시 예에서, 시스템 온 칩(1200)은 물리 계층(1111)으로 입출력 신호들을 전송하기 위한 범프들(1102)에 대하여, 도 1 내지 도 16을 참조하여 설명한 바와 같이, 그룹 별로 트레이닝을 수행할 수 있다. 트레이닝에 따라 시스템 온 칩(1200)의 하나의 범프 그룹을 통해 물리 계층(1210)으로부터 출력되는 데이터 신호들의 출력 타이밍들은 서로 동일할 수 있다. 출력된 데이터 신호들이 동일한 타이밍에 물리 계층(1111)으로 도달하기 위해서, 시스템 온 칩(1200)의 하나의 범프 그룹과 적층형 메모리 장치(1100)의 대응하는 범프 그룹을 연결하는 인터포저(1300)의 신호 라인들의 길이들은 서로 동일할 수 있다.
도 18은 본 발명의 하나의 실시 예에 따른 반도체 패키지의 구현 예시를 보여주는 도면이다. 도 18을 참조하면, 반도체 패키지(2000)는 복수의 적층형 메모리 장치들(2100) 및 시스템 온 칩(2200)을 포함할 수 있다. 적층형 메모리 장치들(2100)과 시스템 온 칩(2200)은 인터포저(2300) 상에 적층되고, 인터포저(2300)는 패키지 기판(2400) 상에 적층될 수 있다. 반도체 패키지(2000)는 패키지 기판(2400) 하부에 부착된 솔더볼(2001)을 통해 외부의 다른 패키지 또는 반도체 장치들과 신호들을 송수신할 수 있다.
적층형 메모리 장치들(2100) 각각은 HBM 표준을 기반으로 구현될 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 적층형 메모리 장치들(2100) 각각은 GDDR, HMC, 또는 Wide I/O 표준을 기반으로 구현될 수 있다. 적층형 메모리 장치들(2100) 각각은 도 13 및 도 17의 적층형 메모리 장치(300, 1100)에 대응할 수 있다.
시스템 온 칩(2200)은 CPU, AP, GPU, NPU 등의 적어도 하나의 프로세서 및 복수의 적층형 메모리 장치들(2100)을 제어하기 위한 복수의 메모리 컨트롤러들을 포함할 수 있다. 메모리 컨트롤러들 각각은 도 1의 메모리 컨트롤러(100)에 대응할 수 있다. 시스템 온 칩(2200)은 메모리 컨트롤러를 통해 대응하는 적층형 메모리 장치와 입출력 신호들을 송수신할 수 있다.
도 19는 본 발명의 하나의 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다. 컴퓨팅 시스템(3000)은 하나의 전자 장치로 구현되거나, 또는 두 개 이상의 전자 장치들 상에 분산되어 구현될 수 있다. 예를 들어, 컴퓨팅 시스템(3000)은 데스크톱(desktop) 컴퓨터, 랩톱(laptop) 컴퓨터, 태블릿(tablet) 컴퓨터, 스마트폰, 자율주행 자동차, 디지털 카메라, 웨어러블(wearable) 기기, 헬스케어 기기, 서버 시스템, 데이터 센터, 드론, 휴대용 게임 콘솔(handheld game console), IoT(Internet of Things) 기기, 그래픽 가속기, AI 가속기 등과 같은 다양한 전자 장치들 중 적어도 하나로 구현될 수 있다.
도 19를 참조하면, 컴퓨팅 시스템(3000)은 호스트(3100), 가속기 서브시스템(3200), 및 인터커넥트(3300)를 포함할 수 있다. 호스트(3100)는 가속기 서브시스템(3200)의 전반적인 동작을 제어하고, 가속기 서브시스템(3200)은 호스트(3100)의 제어에 따라 동작할 수 있다. 호스트(3100)와 가속기 서브시스템(3200)은 인터커넥트(3300)를 통해 연결될 수 있다. 인터커넥트(3300)를 통해 호스트(3100) 및 가속기 서브시스템(3200) 사이에 각종 신호들 및 데이터가 송수신될 수 있다.
호스트(3100)는 호스트 프로세서(3110), 호스트 메모리 컨트롤러(3120), 호스트 메모리(3130), 및 인터페이스(3140)를 포함할 수 있다. 호스트 프로세서(3110)는 컴퓨팅 시스템(3000)의 전반적인 동작을 제어할 수 있다. 호스트 프로세서(3110)는 호스트 메모리 컨트롤러(3120)를 통해 호스트 메모리(3130)를 제어할 수 있다. 호스트 프로세서(3110)는 인터커넥트(3300)를 통해 연결된 가속기 서브시스템(3200)을 제어할 수 있다. 예를 들어, 호스트 프로세서(3110)는 가속기 서브시스템(3200)으로 명령을 전송하여 가속기 서브시스템(3200)에 작업을 할당할 수 있다.
호스트 프로세서(3110)는 컴퓨팅 시스템(3000)의 다양한 동작들과 연관된 일반적인 연산들을 수행하는 범용 프로세서 또는 메인 프로세서일 수 있다. 예를 들어, 호스트 프로세서(3110)는 CPU 또는 AP일 수 있다.
호스트 메모리(3130)는 컴퓨팅 시스템(3000)의 메인 메모리일 수 있다. 호스트 메모리(3130)는 호스트 프로세서(3110)에서 처리된 데이터를 저장하거나, 또는 가속기 서브시스템(3200)으로부터 수신된 데이터를 저장할 수 있다. 예를 들어, 호스트 메모리(3130)는 DRAM으로 구현될 수 있다.
인터페이스(3140)는 호스트(3100)가 가속기 서브시스템(3200)과 통신을 수행하도록 구성될 수 있다. 호스트 프로세서(3110)는 인터페이스(3140)를 통해 제어 신호들 및 데이터를 가속기 서브시스템(3200)으로 전송하고, 가속기 서브시스템(3200)으로부터 신호들 및 데이터를 수신할 수 있다. 예시적인 실시 예에서, 호스트 프로세서(3110), 호스트 메모리 컨트롤러(3120), 및 인터페이스(3140)는 하나의 칩으로 구현될 수 있다.
가속기 서브시스템(3200)은 호스트(3100)의 제어에 따라 특정 기능을 수행할 수 있다. 예를 들어, 가속기 서브시스템(3200)은 호스트(3100)의 제어에 따라 특정 응용에 특화된 연산들을 수행할 수 있다. 가속기 서브시스템(3200)은 호스트(3100)에 물리적 또는 전기적으로 연결되거나, 유선 또는 무선으로 연결되도록 모듈, 카드, 패키지, 칩, 장치와 같은 다양한 형태들로 구현될 수 있다. 예를 들어, 가속기 서브시스템(3200)은 도 17 및 도 18을 참조하여 설명한 반도체 패키지들 중 하나로 구현될 수 있다. 예를 들어, 가속기 서브시스템(3200)은 그래픽 카드 또는 가속기 카드로서 구현될 수 있다. 예를 들어, 가속기 서브시스템(3200)은 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit) 기반으로 구현될 수 있다.
예시적인 실시 예에서, 가속기 서브시스템(3200)은 다양한 패키징 기법들 중 하나를 기반으로 구현될 수 있다. 예를 들어, 가속기 서브시스템(3200)은 Ball Grid Arrays(BGAs), MCP(Multi Chip Package), SOP(System on Package), SIP(System in Package), POP(Package on Package), Chip scale packages(CSPs), wafer level package(WLP), 또는 panel level package(PLP)와 같은 패키징 기법으로 구현될 수 있다. 일 예시로서, 가속기 서브시스템(3200)의 일부 또는 전체 구성 요소들은 카파-투-카파 본딩(copper-to-copper boding)을 통해 연결될 수 있다. 일 예시로서, 가속기 서브시스템(3200)의 일부 또는 전체 구성 요소들은 실리콘 인터포저(Silicon interposer), 오가닉(organic) 인터포저, 글래스(glass) 인터포저, 또는 능동형(active) 인터포저와 같은 인터포저를 통해 연결될 수 있다. 일 예시로서, 가속기 서브시스템(3200)의 일부 또는 전체 구성 요소들은 TSV를 기반으로 적층될 수 있다. 일 예시로서, 가속기 서브시스템(3200)의 일부 또는 전체 구성 요소들은 고속 연결 통로(예를 들어, 실리콘 브릿지(bridge))를 통해 연결될 수 있다.
가속기 서브시스템(3200)은 전용 프로세서(3210), 로컬 메모리 컨트롤러(3220), 로컬 메모리(3230), 및 호스트 인터페이스(3240)를 포함할 수 있다. 전용 프로세서(3210)는 호스트 프로세서(3110)의 제어에 따라 동작할 수 있다. 예를 들어, 전용 프로세서(3210)는 호스트 프로세서(3110)의 명령에 응답하여 로컬 메모리 컨트롤러(3220)를 통해 로컬 메모리(3230)로부터 데이터를 독출할 수 있다. 전용 프로세서(3210)는 독출된 데이터를 기반으로 연산을 수행하여 데이터를 처리할 수 있다. 전용 프로세서(3210)는 처리된 데이터를 호스트 프로세서(3110)로 전달하거나, 또는 로컬 메모리(3230)에 기입할 수 있다.
전용 프로세서(3210)는 로컬 메모리(3230)에 저장된 값을 기반으로 특정 응용에 특화된 연산들을 수행할 수 있다. 예를 들어, 전용 프로세서(4210)는 인공지능, 스트리밍 분석, 비디오 트랜스코딩, 데이터 인덱싱, 데이터 인코딩/디코딩, 데이터 암호화 등과 같은 응용들에 특화된 연산들을 수행할 수 있다. 이에 따라, 전용 프로세서(3210)는 이미지 데이터, 음성 데이터, 모션 데이터, 생체 데이터, 키 값 등 다양한 유형들의 데이터를 처리할 수 있다. 예를 들어, 전용 프로세서(3210)는 GPU, NPU, TPU, VPU, ISP 및 DSP 중 적어도 하나를 포함할 수 있다.
전용 프로세서(3210)는 하나의 프로세서 코어를 포함하거나, 듀얼 코어, 쿼드 코어, 헥사 코어 등 복수의 프로세서 코어들을 포함할 수 있다. 예시적인 실시 예에서, 전용 프로세서(3210)는 병렬성에 특화된 연산을 위해 호스트 프로세서(3110)보다 많은 수의 코어들을 포함할 수 있다. 예를 들어, 전용 프로세서(3210)는 1000개 이상의 코어들을 포함할 수 있다.
로컬 메모리 컨트롤러(3220)는 로컬 메모리(3230)의 전반적인 동작을 제어할 수 있다. 예시적인 실시 예에서, 로컬 메모리 컨트롤러(3220)는 ECC(Error Correction Code) 인코딩 및 ECC 디코딩을 수행하거나, 순환중복검사(CRC; Cyclic Redundancy Check) 방식으로 데이터 검증을 수행하거나, 또는 데이터 암호화 및 데이터 복호화를 수행할 수 있다.
로컬 메모리(3230)는 전용 프로세서(3210)에 의해 전용으로 사용될 수 있다. 예시적인 실시 예에서, 로컬 메모리(3230)는 전용 프로세서(3210)와 함께 하나의 기판 상에 실장되거나, 또는 별도의 커넥터를 기반으로 전용 프로세서(3210)와 연결되도록 다이, 칩, 패키지, 모듈, 카드, 장치와 같은 다양한 형태들로 구현될 수 있다.
예시적인 실시 예에서, 로컬 메모리 컨트롤러(3220)는 도 1의 메모리 컨트롤러(100)에 대응하고, 로컬 메모리(3230)는 도 1의 메모리 장치(200) 및 도 13의 적층형 메모리 장치(300)에 대응할 수 있다. 이에 따라, 로컬 메모리 컨트롤러(3220)는 로컬 메모리(3230)의 핀들에 대하여 그룹 별로 트레이닝을 수행할 수 있고, 로컬 메모리 컨트롤러(3220) 및 로컬 메모리(3230)는 그룹 별 트레이닝을 지원하도록 구성될 수 있다.
예시적인 실시 예에서, 로컬 메모리(3230)는 일부 연산들을 수행할 수 있는 로직 회로를 포함할 수 있다. 로직 회로는 로컬 메모리(3230)로부터 독출된 데이터 또는 로컬 메모리(3230)에 기입될 데이터에 대하여 선형 연산, 비교 연산, 압축 연산, 데이터 변환 연산, 산술 연산 등을 수행할 수 있다. 이에 따라, 로직 회로에 의해 처리된 데이터의 크기가 감소될 수 있다. 데이터 크기가 감소되는 경우, 로컬 메모리(3230)와 로컬 메모리 컨트롤러(3220) 사이의 대역폭 효율성이 향상될 수 있다.
호스트 인터페이스(3240)는 가속기 서브시스템(3200)이 호스트(3100)와 통신을 수행하도록 구성될 수 있다. 가속기 서브시스템(3200)은 호스트 인터페이스(3240)를 통해 신호 및 데이터를 호스트(3100)로 송신하고, 호스트(3100)로부터 제어 신호 및 데이터를 수신할 수 있다. 예시적인 실시 예에서, 전용 프로세서(3210), 로컬 메모리 컨트롤러(3220), 및 호스트 인터페이스(3240)는 하나의 칩으로 구현될 수 있다.
인터커넥트(3300)는 호스트(3100)와 가속기 서브시스템(3200) 사이에 데이터 전송 경로를 제공하고, 데이터 버스 또는 데이터 링크로서 역할을 수행할 수 있다. 데이터 전송 경로는 유선 또는 무선으로 형성될 수 있다. 인터페이스(3140) 및 호스트 인터페이스(3240)는 인터커넥트(3300)를 통해 미리 정해진 규약을 기반으로 통신할 수 있다. 예를 들어, 인터페이스들(3140, 3240)은 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe(NVM express), AXI(Advanced eXtensible Interface), AMBA(ARM Microcontroller Bus Architecture), IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC(embedded multi-media card), UFS(Universal Flash Storage), CF(compact flash), Gen-Z 등과 같은 다양한 표준들 중 하나에 기반하여 통신할 수 있다. 또는 인터페이스들(3140, 3240)은 openCAPI(Coherent Accelerator Processor Interface), CCIX(Cache Coherent Interconnect for Accelerators), CXL(Compute Express Link), NVLINK 등과 같은 장치들 사이의 통신 링크를 기반으로 통신할 수 있다. 또는 인터페이스들(4140, 4240)은 LTE, 5G, LTE-M, NB-IoT, LPWAN, 블루투스, NFC(Near Field Communication), 지그비(Zigbee), 지웨이브(Z-Wave), 무선랜(WLAN) 등과 같은 무선 통신 기술을 기반으로 통신할 수 있다.
예시적인 실시 예에서, 가속기 서브시스템(3200)은 이미지 데이터, 음성 데이터, 모션 데이터, 생체 데이터, 주변 환경 정보 등을 감지할 수 있는 센서를 더 포함할 수 있다. 센서가 가속기 서브시스템(3200)에 포함되는 경우, 센서는 상술한 패키징 기법을 기반으로 다른 구성 요소들(예를 들어, 전용 프로세서(3210) 및 로컬 메모리(3230))과 연결될 수 있다. 가속기 서브시스템(3200)은 특정 연산들을 기반으로 센서를 통해 감지된 데이터를 처리할 수 있다.
도 19에서는 전용 프로세서(3210)가 하나의 로컬 메모리 컨트롤러(3220)를 통해 하나의 로컬 메모리(3230)를 이용하는 것으로 도시되어 있으나, 본 발명이 이에 한정되는 것은 아니다. 일 예로서, 전용 프로세서(3210)는 하나의 로컬 메모리 컨트롤러(3220)를 통해 복수의 로컬 메모리들을 이용할 수 있다. 다른 예로서, 전용 프로세서(3210)는 복수의 로컬 메모리 컨트롤러들을 통해 각각에 대응하는 로컬 메모리를 이용할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
10: 메모리 시스템
100: 메모리 컨트롤러
110: 호스트 인터페이스 회로
120: 트레이닝 컨트롤러
130: 레지스터
200: 메모리 장치
210: 메모리 인터페이스 회로
220: 메모리 뱅크

Claims (20)

  1. 제1 파워 영역에 배치되는 제1 전원 전압을 수신하기 위한 제1 전원 핀들;
    각각이 상기 제1 파워 영역을 포함하는 제1 영역 및 제2 영역에 배치되는 데이터 신호들을 위한 데이터 핀들;
    상기 제1 영역 및 상기 제2 영역에 배치되는 제어 신호들을 위한 제어 핀들;
    상기 제1 영역 및 상기 제2 영역 사이의 제2 파워 영역에 배치되는 상기 제1 전원 전압과 다른 제2 전원 전압을 수신하기 위한 제2 전원 핀들; 및
    상기 제2 파워 영역에 배치되는 접지 전압을 수신하기 위한 접지 핀들을 포함하고,
    상기 데이터 핀들 및 상기 제어 핀들은 복수의 핀 그룹들로 나뉘어지고,
    상기 복수의 핀 그룹들 각각에 대응하는 트레이닝 값은 상기 복수의 핀 그룹들 각각의 핀들 중 적어도 하나의 핀에 대한 트레이닝을 통해 결정되는 메모리 장치.
  2. 제 1 항에 있어서,
    상기 복수의 핀 그룹들 중 제1 핀 그룹의 제어 핀들은 쓰기 데이터 스트로브 신호를 수신하기 위한 핀을 포함하고,
    상기 복수의 핀 그룹들 중 제2 핀 그룹의 제어 핀들은 상기 쓰기 데이터 스트로브 신호를 수신하기 위한 상기 핀을 포함하지 않는 메모리 장치.
  3. 제 2 항에 있어서,
    상기 메모리 장치로 수신되는 상기 데이터 신호들 및 상기 제어 신호들은 상기 쓰기 데이터 스트로브 신호를 기반으로 샘플링되는 메모리 장치.
  4. 제 2 항에 있어서,
    상기 데이터 신호들 및 상기 제어 신호들은 상기 쓰기 데이터 스트로브 신호를 기반으로 전송되는 메모리 장치.
  5. 제 2 항에 있어서,
    상기 쓰기 데이터 스트로브 신호를 상기 제2 핀 그룹이 배치되는 영역으로 전달하기 위한 복수의 리피터들을 더 포함하는 메모리 장치.
  6. 제 5 항에 있어서,
    상기 복수의 리피터들 중 제1 리피터 및 제2 리피터는 상기 제1 파워 영역을 기준으로 대칭되도록 배치되는 메모리 장치.
  7. 제 2 항에 있어서,
    상기 제2 핀 그룹의 상기 제어 핀들은 에러 정정 코드 신호, 데이터 패리티 신호, 데이터 버스 인버전 신호, 에러 심각성 신호, 및 데이터 에러 신호 중 적어도 하나를 위한 핀을 포함하는 메모리 장치.
  8. 제 1 항에 있어서,
    상기 제1 전원 전압은 상기 제2 전원 전압보다 작은 메모리 장치.
  9. 제 1 항에 있어서,
    상기 복수의 핀 그룹들 각각의 핀들은 상기 제1 파워 영역을 기준으로 대칭되도록 배치되는 메모리 장치.
  10. 제 1 항에 있어서,
    상기 복수의 핀 그룹들 각각은 8개의 핀들을 포함하는 메모리 장치.
  11. 제1 데이터 신호를 위한 제1 데이터 핀 및 제1 제어 신호를 위한 제1 제어 핀을 포함하는 제1 핀 그룹;
    제2 데이터 신호를 위한 제2 데이터 핀 및 제2 제어 신호를 위한 제2 제어 핀을 포함하는 제2 핀 그룹; 및
    상기 제1 핀 그룹이 배치되는 제1 영역과 상기 제2 핀 그룹이 배치되는 제2 영역 각각에 위치하고, 제1 전원 전압을 수신하기 위한 핀들이 배치되는 제1 파워 영역을 포함하고,
    상기 제1 영역과 상기 제2 영역 사이에는 상기 제1 전원 전압과 다른 제2 전원 전압을 수신하기 위한 핀들과 접지 전압을 수신하기 위한 핀들이 배치되는 제2 파워 영역이 위치하고,
    상기 제1 데이터 핀 및 상기 제1 제어 핀 중 하나에 대한 트레이닝을 통해 상기 제1 핀 그룹에 대응하는 제1 트레이닝 값이 결정되고, 상기 제2 데이터 핀 및 상기 제2 제어 핀 중 하나에 대한 트레이닝을 통해 상기 제2 핀 그룹에 대응하는 제2 트레이닝 값이 결정되는 메모리 장치.
  12. 제 11 항에 있어서,
    상기 제1 핀 그룹의 핀들과 상기 제2 핀 그룹의 핀들은 상기 제2 파워 영역을 기준으로 대칭되도록 배치되는 메모리 장치.
  13. 제 11 항에 있어서,
    쓰기 데이터 스트로브 신호를 수신하기 위한 제3 제어 핀을 더 포함하고,
    상기 제1 핀 그룹 및 상기 제2 핀 그룹 각각은 상기 쓰기 데이터 스트로브 신호를 수신하기 위한 핀을 포함하지 않는 메모리 장치.
  14. 제 13 항에 있어서,
    상기 제1 핀 그룹을 통해 전달되는 상기 제1 데이터 신호 및 상기 제1 제어 신호를 수신하는 제1 수신기 그룹;
    상기 제2 핀 그룹을 통해 전달되는 상기 제2 데이터 신호 및 상기 제2 제어 신호를 수신하는 제2 수신기 그룹; 및
    상기 제3 제어 핀을 통해 전달되는 상기 쓰기 데이터 스트로브 신호를 기반으로 제1 경로 상의 리피터들을 통해 상기 제1 수신기 그룹으로 제1 내부 쓰기 데이터 스트로브 신호를 전달하고, 제2 경로 상의 리피터들을 통해 상기 제2 수신기 그룹으로 제2 내부 쓰기 데이터 스트로브 신호를 전달하도록 구성된 쓰기 데이터 스트로브 트리를 더 포함하고,
    상기 제1 수신기 그룹은 상기 제1 내부 쓰기 데이터 스트로브 신호의 토글 타이밍에 기초하여 상기 제1 데이터 신호 및 상기 제1 제어 신호를 샘플링하도록 구성되고,
    상기 제2 수신기 그룹은 상기 제2 내부 쓰기 데이터 스트로브 신호의 토글 타이밍에 기초하여 상기 제2 데이터 신호 및 상기 제2 제어 신호를 샘플링하도록 구성되는 메모리 장치.
  15. 제 14 항에 있어서,
    상기 제1 경로 상의 리피터들 중 상기 제1 영역 상의 리피터들과 상기 제2 경로 상의 리피터들 중 상기 제2 영역 상의 리피터들은 상기 제2 파워 영역을 기준으로 대칭되도록 배치되는 메모리 장치.
  16. 제 11 항에 있어서,
    상기 제1 영역 상에 배치되는 회로들의 레이아웃과 상기 제2 영역 상에 배치되는 회로들의 레이아웃은 동일한 메모리 장치.
  17. 쓰기 데이터 스트로브 신호를 수신하기 위한 쓰기 데이터 스트로브 핀;
    상기 쓰기 데이터 스트로브 신호를 기반으로 샘플링되는 제1 데이터 신호들을 수신하기 위한 제1 핀 그룹; 및
    상기 쓰기 데이터 스트로브 신호를 기반으로 샘플링되는 제2 데이터 신호들을 수신하기 위한 제2 핀 그룹을 포함하고,
    상기 제1 핀 그룹 중 제1 핀에 대한 트레이닝을 통해 상기 제1 핀 그룹에 대응하는 제1 트레이닝 값이 결정되고, 상기 제2 핀 그룹 중 제2 핀에 대한 트레이닝을 통해 상기 제2 핀 그룹에 대응하는 제2 트레이닝 값이 결정되는 메모리 장치.
  18. 제 17 항에 있어서,
    상기 제1 핀 그룹을 통해 전달되는 상기 제1 데이터 신호들을 수신하는 제1 수신기 그룹;
    상기 제2 핀 그룹을 통해 전달되는 상기 제2 데이터 신호들을 수신하는 제2 수신기 그룹; 및
    상기 쓰기 데이터 스트로브 핀을 통해 전달되는 상기 쓰기 데이터 스트로브 신호를 기반으로 제1 경로 상의 리피터들을 통해 상기 제1 수신기 그룹으로 제1 내부 쓰기 데이터 스트로브 신호를 전달하고, 제2 경로 상의 리피터들을 통해 상기 제2 수신기 그룹으로 제2 내부 쓰기 데이터 스트로브 신호를 전달하도록 구성된 쓰기 데이터 스트로브 트리를 포함하고,
    상기 제1 수신기 그룹은 상기 제1 내부 쓰기 데이터 스트로브 신호의 토글 타이밍에 기초하여 상기 제1 데이터 신호들을 샘플링하도록 구성되고,
    상기 제2 수신기 그룹은 상기 제2 내부 쓰기 데이터 스트로브 신호의 토글 타이밍에 기초하여 상기 제2 데이터 신호들을 샘플링하도록 구성되는 메모리 장치.
  19. 제 18 항에 있어서,
    상기 제1 수신기 그룹의 수신기들은 상기 제1 경로 상의 마지막에 위치하는 리피터로부터 동일한 거리를 가지도록 배치되는 메모리 장치.
  20. 제 18 항에 있어서,
    상기 제1 데이터 신호들을 상기 제1 핀 그룹으로부터 상기 제1 수신기 그룹으로 전달하기 위한 신호 라인들의 길이는 서로 동일한 메모리 장치.
KR1020200091254A 2020-04-29 2020-07-22 트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치 KR20210133832A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US17/130,493 US11309013B2 (en) 2020-04-29 2020-12-22 Memory device for reducing resources used for training
CN202110266588.5A CN113571105A (zh) 2020-04-29 2021-03-11 减少用于训练的资源的存储器器件
EP21169529.1A EP3905249A1 (en) 2020-04-29 2021-04-20 Memory device for reducing resources used for training
TW110114364A TWI781592B (zh) 2020-04-29 2021-04-21 記憶體裝置
US17/690,137 US11574670B2 (en) 2020-04-29 2022-03-09 Memory device for reducing resources used for training

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200052587 2020-04-29
KR1020200052587 2020-04-29

Publications (1)

Publication Number Publication Date
KR20210133832A true KR20210133832A (ko) 2021-11-08

Family

ID=78485864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200091254A KR20210133832A (ko) 2020-04-29 2020-07-22 트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치

Country Status (1)

Country Link
KR (1) KR20210133832A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220068778A1 (en) * 2020-08-25 2022-03-03 Micron Technology, Inc. Apparatuses and systems having ball grid arrays and associated microelectronic devices and device packages

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220068778A1 (en) * 2020-08-25 2022-03-03 Micron Technology, Inc. Apparatuses and systems having ball grid arrays and associated microelectronic devices and device packages
US11942404B2 (en) * 2020-08-25 2024-03-26 Micron Technology, Inc. Apparatuses and systems having ball grid arrays and associated microelectronic devices and device packages

Similar Documents

Publication Publication Date Title
TWI781592B (zh) 記憶體裝置
US8904071B2 (en) Semiconductor device, control method for the semiconductor device and information processing system including the same
US11769547B2 (en) Memory device transmitting and receiving data at high speed and low power
US11250894B2 (en) Memory device for supporting new command input scheme and method of operating the same
KR20200053754A (ko) 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US9324380B2 (en) Stacked semiconductor apparatus and semiconductor system capable of inputting signals through various paths
TWI759938B (zh) 高速且低功率傳輸及接收資料之記憶體裝置
US11599458B2 (en) Stacked memory device and operating method thereof
JP2018032141A (ja) 半導体装置
KR20210133832A (ko) 트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치
US9466555B2 (en) Semiconductor chip and stack type semiconductor apparatus using the same
US10678716B2 (en) Memory device and memory system including the same
US12002543B2 (en) Memory device for supporting new command input scheme and method of operating the same
US20230171007A1 (en) Translation device, test system including the same, and memory system including the translation device
US20220121592A1 (en) Apparatus and method for training device-to-device physical interface

Legal Events

Date Code Title Description
A201 Request for examination