KR20210095009A - 고속 및 저전력으로 데이터를 송수신하는 메모리 장치 - Google Patents
고속 및 저전력으로 데이터를 송수신하는 메모리 장치 Download PDFInfo
- Publication number
- KR20210095009A KR20210095009A KR1020200061441A KR20200061441A KR20210095009A KR 20210095009 A KR20210095009 A KR 20210095009A KR 1020200061441 A KR1020200061441 A KR 1020200061441A KR 20200061441 A KR20200061441 A KR 20200061441A KR 20210095009 A KR20210095009 A KR 20210095009A
- Authority
- KR
- South Korea
- Prior art keywords
- write data
- data strobe
- signal
- strobe signal
- internal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
본 발명의 하나의 실시 예에 따른 메모리 장치는 메모리 컨트롤러로부터 제공되는 쓰기 데이터 스트로브 신호가 토글하기 전에 리셋 신호를 생성하도록 구성된 제어 로직 회로, 쓰기 데이터 스트로브 신호의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 복수의 내부 쓰기 데이터 스트로브 신호들을 생성하고, 리셋 신호에 응답하여 복수의 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화하도록 구성된 쓰기 데이터 스트로브 신호 디바이더, 복수의 내부 쓰기 데이터 스트로브 신호들을 기반으로 메모리 컨트롤러로부터 제공되는 쓰기 데이터를 수신하도록 구성된 데이터 트랜시버, 및 수신된 쓰기 데이터를 저장하도록 구성된 메모리 셀 어레이를 포함한다.
Description
본 발명은 반도체 장치에 관한 것으로써, 좀 더 상세하게는 고속 및 저전력으로 데이터를 송수신하는 메모리 장치에 관한 것이다.
스마트폰, 그래픽 가속기, AI 가속기 등과 전자 장치들은 DRAM(Dynamic Random Access Memory)과 같은 메모리 장치를 이용하여 데이터를 처리한다. 전자 장치들이 처리해야 하는 데이터의 양이 증가함에 따라 고용량 및 고대역폭의 메모리 장치가 요구되고 있다. 특히, 고속으로 데이터를 처리하기 위해 HBM(High Bandwidth Memory)과 같은 멀티 채널 인터페이스 방식의 와이드 입출력을 제공하는 메모리 장치의 사용이 증가하고 있다.
메모리 장치가 고대역폭을 지원하는 경우, 메모리 컨트롤러와 메모리 장치 사이에서 데이터가 고속으로 전송될 수 있다. 고속으로 데이터가 전송됨에 따라 데이터의 무결성을 확보하기 위해 메모리 컨트롤러와 메모리 장치 사이에서 데이터 스트로브 신호가 교환될 수 있다. 데이터 스트로브 신호는 메모리 컨트롤러와 메모리 장치 사이에서 데이터 신호가 전송되는 동안 주기적으로 하이 레벨과 로우 레벨 사이를 토글할 수 있다. 이에 따라, 데이터 스트로브 신호는 데이터 신호의 레벨을 래치하기 위한 타이밍 정보를 제공할 수 있다. 즉, 고속으로 데이터가 전달됨에 따라 높은 주파수를 가지는 데이터 스트로브 신호가 요구될 수 있다. 그러나, 높은 주파수를 가지는 데이터 스트로브 신호를 기반으로 데이터를 송수신 하는데 있어서 메모리 장치의 전력 소모가 증가될 수 있다.
본 발명은 상술한 기술적 과제를 해결하기 위한 것으로, 고속 및 저전력으로 데이터를 송수신하는 메모리 장치를 제공하는데 있다.
본 발명의 하나의 실시 예에 따른 메모리 장치는 각각이 독립적인 인터페이스를 구성하는 채널들에 기초하여 외부의 호스트 장치와 통신을 수행하는 버퍼 다이 및 실리콘 관통 전극을 통해 상기 버퍼 다이 상에 적층되고, 각각이 상기 채널들 중 적어도 하나에 대응하는 메모리 셀 어레이를 포함하는 복수의 코어 다이들을 포함하고, 상기 버퍼 다이는 상기 호스트 장치로부터 제1 채널로 제공되는 클럭 신호에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 커맨드를 수신하도록 구성된 커맨드/어드레스 수신기, 상기 수신된 커맨드에 따라 내부 커맨드를 생성하고, 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터 스트로브 신호가 토글하기 전에 리셋 신호를 생성하도록 구성된 제어 로직 회로, 상기 쓰기 데이터 스트로브 신호의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 복수의 내부 쓰기 데이터 스트로브 신호들을 생성하고, 상기 리셋 신호에 응답하여 상기 복수의 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화하도록 구성된 쓰기 데이터 스트로브 신호 디바이더, 및 상기 복수의 내부 쓰기 데이터 스트로브 신호들에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터를 수신하도록 구성된 데이터 트랜시버를 포함하고, 상기 복수의 코어 다이들 중 상기 제1 채널을 지원하는 코어 다이는 상기 버퍼 다이로부터 전송된 상기 내부 커맨드에 응답하여 상기 버퍼 다이로부터 전송된 상기 쓰기 데이터를 저장하도록 구성된다.
본 발명의 하나의 실시 예에 따른 메모리 장치는 각각이 독립적인 인터페이스를 구성하는 채널들에 기초하여 외부의 호스트 장치와 통신을 수행하는 버퍼 다이, 실리콘 관통 전극을 통해 상기 버퍼 다이 상에 적층되고, 상기 채널들 중 제1 채널에 대응하는 제1 메모리 셀 어레이를 포함하는 제1 코어 다이, 및 상기 실리콘 관통 전극을 통해 상기 제1 코어 다이 상에 적층되고, 상기 제1 채널에 대응하는 제2 메모리 셀 어레이를 포함하는 제2 코어 다이를 포함하고, 상기 버퍼 다이는 상기 호스트 장치로부터 제1 채널로 제공되는 클럭 신호에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 커맨드 및 스택 아이디를 수신하도록 구성된 커맨드/어드레스 수신기, 상기 수신된 커맨드에 따라 내부 커맨드를 생성하고, 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터 스트로브 신호가 토글하기 전에 리셋 신호를 생성하도록 구성된 제어 로직 회로, 상기 쓰기 데이터 스트로브 신호의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 복수의 내부 쓰기 데이터 스트로브 신호들을 생성하고, 상기 리셋 신호에 응답하여 상기 복수의 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화하도록 구성된 쓰기 데이터 스트로브 신호 디바이더, 및 상기 복수의 내부 쓰기 데이터 스트로브 신호들에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터를 수신하도록 구성된 데이터 트랜시버를 포함하고, 상기 제1 코어 다이 및 상기 제2 코어 다이 중 상기 스택 아이디에 대응하는 코어 다이는 상기 버퍼 다이로부터 전송된 상기 내부 커맨드에 응답하여 상기 버퍼 다이로부터 전송된 상기 쓰기 데이터를 저장하도록 구성된다.
본 발명의 하나의 실시 예에 따른 메모리 장치는 각각이 독립적인 인터페이스를 구성하는 채널들에 기초하여 외부의 호스트 장치와 통신을 수행하는 버퍼 다이 및 실리콘 관통 전극을 통해 상기 버퍼 다이 상에 적층되고, 각각이 상기 채널들 중 적어도 하나에 대응하는 메모리 셀 어레이를 포함하는 복수의 코어 다이들을 포함하고, 상기 버퍼 다이는 상기 호스트 장치로부터 제1 채널로 제공되는 클럭 신호에 기초하여 상기 호스트 장치로부터 제공되는 커맨드를 수신하고, 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터 스트로브 신호가 토글하기 전에 복수의 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화하고, 상기 쓰기 데이터 스트로브 신호의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 상기 복수의 내부 쓰기 데이터 스트로브 신호들을 생성하고, 상기 복수의 내부 쓰기 데이터 스트로브 신호들에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터를 수신하도록 구성되고, 상기 복수의 코어 다이들 중 상기 제1 채널을 지원하는 코어 다이는 상기 수신된 쓰기 데이터를 저장하도록 구성된다.
본 발명의 하나의 실시 예에 따른 반도체 패키지는 패키지 기판, 상기 패키지 기판 상에 적층되는 인터포저 기판, 상기 인터포저 기판 상에 적층되고, 적어도 하나의 프로세서 및 메모리 컨트롤러를 포함하는 시스템 온 칩, 및 상기 인터포저 기판 상에 적층되고, 상기 인터포저 기판을 통해 상기 시스템 온 칩과 통신을 수행하는 버퍼 다이 및 실리콘 관통 전극을 통해 상기 버퍼 다이 상에 적층되는 복수의 코어 다이들을 포함하는 메모리 장치를 포함하고, 상기 버퍼 다이는 상기 메모리 컨트롤러로부터 제공되는 클럭 신호에 기초하여 상기 메모리 컨트롤러로부터 제공되는 쓰기 커맨드를 수신하고, 상기 메모리 컨트롤러로부터 제공되는 쓰기 데이터 스트로브 신호가 토글하기 전에 복수의 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화하고, 상기 쓰기 데이터 스트로브 신호의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 상기 복수의 내부 쓰기 데이터 스트로브 신호들을 생성하고, 상기 복수의 내부 쓰기 데이터 스트로브 신호들에 기초하여 상기 메모리 컨트롤러로부터 제공되는 쓰기 데이터를 수신하도록 구성되고, 상기 복수의 코어 다이들 중 하나는 상기 수신된 쓰기 데이터를 저장하도록 구성되고, 상기 쓰기 데이터 스트로브 신호가 토글하는 동안 상기 쓰기 데이터 스트로브 신호의 프리앰블 싸이클 수와 포스트앰블 싸이클 수의 합은 짝수이다.
본 발명의 실시 예에 따른 메모리 장치는 고속으로 데이터를 송수신 하기 위해 메모리 컨트롤러로부터 제공되는 쓰기 데이터 스트로브 신호를 기반으로 내부 쓰기 데이터 스트로브 신호들을 생성할 수 있다. 이 경우, 메모리 장치는 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화 시킴으로써 쓰기 및 읽기 동작에서 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들을 생성할 수 있다. 이에 따라, 메모리 장치는 내부 쓰기 데이터 스트로브 신호들의 위상들을 조절하기 위한 별도의 싱크 동작을 수행하지 않을 수 있다. 따라서, 메모리 장치의 전력 소모가 감소될 수 있다.
본 발명의 실시 예에 따른 메모리 장치는 쓰기 데이터 스트로브 신호를 기반으로 메모리 컨트롤러로 제공될 읽기 데이터 스트로브 신호를 생성함으로써 읽기 데이터 스트로브 신호의 신뢰성을 향상시킬 수 있다.
본 발명의 실시 예에 따른 메모리 컨트롤러는 하나의 위상 고정 루프를 기반으로 클럭 신호 및 쓰기 데이터 스트로브 신호를 생성할 수 있다. 이에 따라, 메모리 컨트롤러의 전력 소모가 감소될 수 있다.
도 1은 본 발명의 하나의 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 장치의 예시적인 블록도이다.
도 3은 도 2의 제어 로직 회로가 리셋 신호를 생성하기 위한 예시적인 조건들을 나타내는 테이블이다.
도 4는 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 쓰기 동작을 보여주는 순서도이다.
도 5a 및 도 5b는 도 4의 쓰기 동작의 예시들을 보여주는 타이밍도들이다.
도 6은 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 쓰기 동작을 보여주는 순서도이다.
도 7a 및 도 7b는 도 6의 쓰기 동작의 예시들을 보여주는 타이밍도들이다.
도 8은 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 읽기 동작을 보여주는 순서도이다.
도 9는 도 8의 읽기 동작의 예시를 보여주는 타이밍도이다.
도 10a 및 도 10b는 본 발명의 실시 예들에 따른 WDQS 디바이더들을 보여주는 블록도들이다.
도 11은 도 1의 메모리 인터페이스의 예시적인 블록도이다.
도 12는 본 발명의 실시 예들에 따른 적층형 메모리 장치를 보여주는 블록도이다.
도 13은 도 12의 적층형 메모리 장치의 예시적인 블록도이다.
도 14는 도 12의 적층형 메모리 장치의 예시적인 블록도이다.
도 15는 도 13의 버퍼 다이의 하나의 실시 예를 보여주는 블록도이다.
도 16은 본 발명의 하나의 실시 예에 따른 반도체 패키지를 보여주는 도면이다.
도 17은 본 발명의 하나의 실시 예에 따른 반도체 패키지의 구현 예시를 보여주는 도면이다.
도 18은 본 발명의 다른 실시 예에 따른 반도체 패키지를 보여주는 도면이다.
도 19는 본 발명의 하나의 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 장치의 예시적인 블록도이다.
도 3은 도 2의 제어 로직 회로가 리셋 신호를 생성하기 위한 예시적인 조건들을 나타내는 테이블이다.
도 4는 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 쓰기 동작을 보여주는 순서도이다.
도 5a 및 도 5b는 도 4의 쓰기 동작의 예시들을 보여주는 타이밍도들이다.
도 6은 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 쓰기 동작을 보여주는 순서도이다.
도 7a 및 도 7b는 도 6의 쓰기 동작의 예시들을 보여주는 타이밍도들이다.
도 8은 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 읽기 동작을 보여주는 순서도이다.
도 9는 도 8의 읽기 동작의 예시를 보여주는 타이밍도이다.
도 10a 및 도 10b는 본 발명의 실시 예들에 따른 WDQS 디바이더들을 보여주는 블록도들이다.
도 11은 도 1의 메모리 인터페이스의 예시적인 블록도이다.
도 12는 본 발명의 실시 예들에 따른 적층형 메모리 장치를 보여주는 블록도이다.
도 13은 도 12의 적층형 메모리 장치의 예시적인 블록도이다.
도 14는 도 12의 적층형 메모리 장치의 예시적인 블록도이다.
도 15는 도 13의 버퍼 다이의 하나의 실시 예를 보여주는 블록도이다.
도 16은 본 발명의 하나의 실시 예에 따른 반도체 패키지를 보여주는 도면이다.
도 17은 본 발명의 하나의 실시 예에 따른 반도체 패키지의 구현 예시를 보여주는 도면이다.
도 18은 본 발명의 다른 실시 예에 따른 반도체 패키지를 보여주는 도면이다.
도 19는 본 발명의 하나의 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 강도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 하나의 실시 예에 따른 메모리 시스템을 나타내는 블록도이다. 도 1을 참조하면, 메모리 시스템(10)은 메모리 컨트롤러(100) 및 메모리 장치(200)를 포함할 수 있다. 메모리 컨트롤러(100)는 메모리 장치(200)의 전반적인 동작을 제어할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 메모리 장치(200)로부터 데이터가 출력되거나 또는 메모리 장치(200)에 데이터가 저장되도록 메모리 장치(200)를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 시스템-온-칩(SoC)의 일부로서 구현될 수 있으나, 이에 한정되지 않는다.
메모리 컨트롤러(100)는 메모리 인터페이스(110)를 포함할 수 있다. 메모리 컨트롤러(100)는 메모리 인터페이스(110)를 통해 메모리 장치(200)로 다양한 신호들을 전송하고, 메모리 장치(200)로부터 다양한 신호들을 수신할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 메모리 컨트롤러(100)는 메모리 인터페이스(110)를 통해 클럭 신호(CK), 커맨드/어드레스 신호(C/A), 쓰기 데이터 스트로브 신호(WDQS), 및 데이터 신호(DQ)를 메모리 장치(200)로 전송하고, 메모리 장치(200)로부터 읽기 데이터 스트로브 신호(RDQS) 및 데이터 신호(DQ)를 수신할 수 있다.
메모리 장치(200)는 메모리 컨트롤러(100)의 제어에 따라 동작할 수 있다. 예를 들어, 메모리 장치(200)는 메모리 컨트롤러(100)의 제어에 따라 저장된 데이터를 출력하거나, 또는 메모리 컨트롤러(100)로부터 제공된 데이터를 저장할 수 있다.
메모리 장치(200)는 호스트 인터페이스(210) 및 메모리 셀 어레이(220)를 포함할 수 있다. 메모리 장치(200)는 호스트 인터페이스(210)를 통해 메모리 컨트롤러(100)로 다양한 신호들을 전송하고, 메모리 컨트롤러(100)로부터 다양한 신호들을 수신할 수 있다. 예를 들어, 메모리 장치(200)는 호스트 인터페이스(210)를 통해 읽기 데이터 스트로브 신호(RDQS) 및 데이터 신호(DQ)를 메모리 컨트롤러(100)로 전송하고, 메모리 컨트롤러(100)로부터 클럭 신호(CK), 커맨드/어드레스 신호(C/A), 쓰기 데이터 스트로브 신호(WDQS), 및 데이터 신호(DQ)를 수신할 수 있다. 호스트 인터페이스(210)는 메모리 컨트롤러(100)로부터 제공된 신호를 기반으로 제어 신호(iCTRL)를 생성할 수 있다. 메모리 셀 어레이(220)는 제어 신호(iCTRL)에 따라 데이터(DATA)를 저장하거나, 저장된 데이터(DATA)를 출력할 수 있다.
메모리 셀 어레이(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) 등과 같은 표준들 중 하나에 기반하여 통신할 수 있다.
메모리 인터페이스(110)는 차동 신호인 클럭 신호(CK)를 생성하고, 클럭 신호(CK)를 메모리 장치(200)로 전송할 수 있다. 클럭 신호(CK)는 주기적으로 하이 레벨 및 로우 레벨 사이를 토글하는 신호일 수 있다. 메모리 인터페이스(110)는 클럭 신호(CK)의 토글 타이밍들에 기초하여 커맨드/어드레스 신호(C/A)를 메모리 장치(200)로 전송할 수 있다.
메모리 인터페이스(110)는 차동 신호인 쓰기 데이터 스트로브 신호(WDQS)를 생성하고, 쓰기 데이터 스트로브 신호(WDQS)를 메모리 장치(200)로 전송할 수 있다. 메모리 인터페이스(110)는 메모리 장치(200)의 쓰기 동작 및 읽기 동작을 위해 주기적으로 하이 레벨 및 로우 레벨 사이를 토글하는 쓰기 데이터 스트로브 신호(WDQS)를 생성할 수 있다. 메모리 인터페이스(110)는 쓰기 데이터 스트로브 신호(WDQS)의 토글 타이밍들에 기초하여 데이터 신호(DQ)를 메모리 장치(200)로 전송할 수 있다.
메모리 인터페이스(110)는 메모리 장치(200)로부터 차동 신호인 읽기 데이터 스트로브 신호(RDQS)를 수신할 수 있다. 메모리 인터페이스(110)는 메모리 장치(200)로부터 데이터 신호(DQ)를 수신하고, 읽기 데이터 스트로브 신호(RDQS)의 토글 타이밍들에 기초하여 수신된 데이터 신호(DQ)를 래치할 수 있다. 이에 따라, 메모리 인터페이스(110)는 데이터 신호(DQ)에 포함된 데이터(DATA)를 수신할 수 있다.
호스트 인터페이스(210)는 메모리 컨트롤러(100)로부터 클럭 신호(CK)를 수신할 수 있다. 호스트 인터페이스(210)는 메모리 컨트롤러(100)로부터 커맨드/어드레스 신호(C/A)를 수신하고, 클럭 신호(CK)의 토글 타이밍들(예를 들어, 상승 에지 및/또는 하강 에지)에 기초하여 커맨드/어드레스 신호(C/A)를 래치할 수 있다. 이에 따라, 호스트 인터페이스(210)는 커맨드/어드레스 신호(C/A)에 포함된 커맨드 또는 어드레스를 수신할 수 있다.
도 1에는 커맨드 및 어드레스가 동일한 입출력 채널을 이용하여 메모리 컨트롤러(100)로부터 메모리 장치(200)로 송신되는 것으로 도시하였으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 커맨드 및 어드레스는 서로 다른 입출력 채널을 이용하여 메모리 컨트롤러(100)로부터 메모리 장치(200)로 송신될 수 있다.
호스트 인터페이스(210)는 메모리 컨트롤러(100)로부터 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 호스트 인터페이스(210)는 데이터 신호(DQ)를 수신하고, 쓰기 데이터 스트로브 신호(WDQS)의 토글 타이밍들(예를 들어, 상승 에지 및/또는 하강 에지)에 기초하여 데이터 신호(DQ)를 래치할 수 있다. 이에 따라, 호스트 인터페이스(210)는 데이터 신호(DQ)에 포함된 데이터(DATA)를 수신할 수 있다.
호스트 인터페이스(210)는 차동 신호인 읽기 데이터 스트로브 신호(RDQS)를 생성하고, 읽기 데이터 스트로브 신호(RDQS)를 메모리 컨트롤러(100)로 전송할 수 있다. 호스트 인터페이스(210)는 메모리 장치(200)의 읽기 동작에서 주기적으로 하이 레벨 및 로우 레벨 사이를 토글하는 읽기 데이터 스트로브 신호(RDQS)를 생성할 수 있다. 예시적인 실시 예에서, 호스트 인터페이스(210)는 메모리 컨트롤러(100)로부터 수신된 쓰기 데이터 스트로브 신호(WDQS)에 기초하여 읽기 데이터 스트로브 신호(RDQS)를 생성할 수 있다. 호스트 인터페이스(210)는 읽기 데이터 스트로브 신호(RDQS)의 토글 타이밍들에 기초하여 데이터 신호(DQ)를 메모리 컨트롤러(100)로 전송할 수 있다.
예시적인 실시 예에서, 쓰기 데이터 스트로브 신호(WDQS) 및 읽기 데이터 스트로브 신호(RDQS) 각각은 클럭 신호(CK)의 주파수보다 두 배 높은 주파수를 가질 수 있다. 이러한 데이터 스트로브 신호들(WDQS, RDQS)에 기초하여 데이터 신호(DQ)가 전달되는 경우, 메모리 컨트롤러(100)와 메모리 장치(200)는 고속으로 데이터를 송수신할 수 있다.
도 2는 도 1의 메모리 장치의 예시적인 블록도이다. 도 2를 참조하면, 메모리 장치(200)는 커맨드/어드레스(C/A) 수신기(211), 제어 로직 회로(212), 쓰기 데이터 스트로브 신호(WDQS) 디바이더(213), 읽기 데이터 스트로브 신호(RDQS) 송신기(214), 데이터 트랜시버(215), 및 메모리 셀 어레이(220)를 포함할 수 있다. C/A 수신기(211), 제어 로직 회로(212), WDQS 디바이더(213), RDQS 송신기(214), 및 데이터 트랜시버(215)는 도 1의 호스트 인터페이스(210)에 포함될 수 있다.
C/A 수신기(211)는 클럭 신호(CK)를 기반으로 커맨드/어드레스 신호(C/A)를 래치하여 커맨드(CMD)를 수신할 수 있다. 수신된 커맨드(CMD)는 제어 로직 회로(212)로 제공될 수 있다. 도 1에는 도시되지 않았으나, C/A 수신기(211)는 클럭 신호(CK)를 기반으로 커맨드/어드레스 신호(C/A)를 래치하여 어드레스를 수신할 수 있다. 수신된 어드레스는 제어 로직 회로(212)의 내부 또는 외부에 위치하는 어드레스 레지스터로 제공되어 디코딩될 수 있다.
제어 로직 회로(212)는 수신된 커맨드(CMD)를 디코딩하고, 디코딩된 커맨드(CMD)에 따라 메모리 장치(200)의 다른 구성 요소들을 제어하기 위한 제어 신호들을 생성할 수 있다. 예를 들어, 제어 로직 회로(212)는 메모리 셀 어레이(220)에 데이터(DATA)를 저장하거나, 또는 메모리 셀 어레이(220)로부터 데이터(DATA)를 출력하기 위한 제어 신호(iCTRL)를 생성할 수 있다. 예를 들어, 제어 로직 회로(212)는 WDQS 디바이더(213)를 리셋하기 위한 리셋 신호(RESET)를 생성할 수 있다.
제어 로직 회로(212)는 메모리 장치(200)의 파워 상태 정보(PWS)를 외부(예를 들어, 호스트 장치)로부터 수신할 수 있다. 예를 들어, 파워 상태 정보(PWS)는 메모리 장치(200)로 제공되거나, 또는 메모리 장치(200)에서 생성되는 전압 정보를 포함할 수 있다. 제어 로직 회로(212)는 파워 상태 정보(PWS)에 기초하여 메모리 장치(200)의 파워 상태를 판별할 수 있다. 예를 들어, 제어 로직 회로(212)는 파워 상태 정보(PWS)에 기초하여 메모리 장치(200)가 파워-업(power-up) 상태가 되었는지 여부를 판별하거나, 또는 메모리 장치(200)가 파워 다운 종료(power down exit) 상태가 되었는지 여부를 판별할 수 있다.
제어 로직 회로(212)는 WDQS 디바이더(213)를 리셋하기 위한 리셋 신호(RESET)를 생성할 수 있다. 제어 로직 회로(212)는 메모리 컨트롤러(100)로부터 제공되는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 리셋 신호(RESET)를 생성할 수 있다. 예시적인 실시 예에서, 제어 로직 회로(212)는 커맨드(CMD) 또는 파워 상태 정보(PWS)에 기초하여 리셋 신호(RESET)를 생성할 수 있다. 제어 로직 회로(212)가 리셋 신호(RESET)를 생성하는 조건들은 도 3을 참조하여 상세하게 설명될 것이다.
WDQS 디바이더(213)는 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 복수의 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 구체적으로, WDQS 디바이더(213)는 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. WDQS 디바이더(213)는 쓰기 데이터 스트로브 신호(WDQS)의 주파수를 분주하여 서로 다른 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 예를 들어, WDQS 디바이더(213)는 쓰기 데이터 스트로브 신호(WDQS)의 주파수를 절반으로 분주하여 4개의 서로 다른 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 이 경우, 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 위상들은 각각 0도, 90도, 180도, 및 270도일 수 있다.
WDQS 디바이더(213)는 리셋 신호(RESET)에 응답하여 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 미리 정해진 값들로 초기화할 수 있다. 내부 쓰기 데이터 스트로브 신호들(dWDQS) 각각은 하이 레벨 또는 로우 레벨 중 미리 정해진 값(이하, 리셋 값)으로 초기화될 수 있다. 예시적인 실시 예에서, WDQS 디바이더(213)는 내부 쓰기 데이터 스트로브 신호들(dWDQS) 중 절반은 로우 레벨로 초기화하고, 나머지 절반은 하이 레벨로 초기화할 수 있다. 내부 쓰기 데이터 스트로브 신호들(dWDQS)은 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전까지 리셋 값들을 유지할 수 있다.
리셋 동작에 따라 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 리셋 값들로 유지되는 경우, WDQS 디바이더(213)는 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 이에 따라, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 위상들을 클럭 신호(CK)에 동기화시키기 위한 별도의 오토-싱크(auto-synchronization)를 수행하지 않을 수 있다.
RDQS 송신기(214)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 읽기 데이터 스트로브 신호(RDQS)를 생성하고, 읽기 데이터 스트로브 신호(RDQS)를 메모리 컨트롤러(100)로 전송할 수 있다. 예를 들어, RDQS 송신기(214)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 상승 에지 및/또는 하강 에지에 기초하여 읽기 데이터 스트로브 신호(RDQS)를 전송할 수 있다. 읽기 데이터 스트로브 신호(RDQS)는 쓰기 데이터 스트로브 신호(WDQS)의 주파수와 동일한 주파수로 메모리 컨트롤러(100)로 전송될 수 있다.
데이터 트랜시버(215)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 데이터(DATA)를 포함하는 데이터 신호(DQ)를 송수신할 수 있다. 쓰기 동작에서, 데이터 트랜시버(215)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 데이터 신호(DQ)를 래치하여 데이터(DATA)를 수신할 수 있다. 예를 들어, 데이터 트랜시버(215)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 상승 에지 및/또는 하강 에지에 기초하여 메모리 컨트롤러(100)로부터 수신된 데이터 신호(DQ)를 래치할 수 있다. 수신된 데이터(DATA)는 메모리 셀 어레이(220)에 전달되어 저장될 수 있다. 예시적인 실시 예에서, 메모리 셀 어레이(220)로 데이터(DATA)가 전달되는 경우, 클럭 신호(CK)의 토글 타이밍들에 기초하여 데이터(DATA)가 전달될 수 있다. 즉, 메모리 셀 어레이(220)로 데이터(DATA)가 전달됨에 있어서 쓰기 데이터 스트로브 신호(WDQS) 도메인에서 클럭 신호(CK) 도메인으로 도메인 변경이 이루어질 수 있다.
읽기 동작에서, 데이터 트랜시버(215)는 데이터(DATA)를 포함하는 데이터 신호(DQ)를 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 메모리 컨트롤러(100)로 전송할 수 있다. 데이터(DATA)는 메모리 셀 어레이(220)로부터 독출될 수 있다. 예를 들어, 데이터 트랜시버(215)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 상승 에지 및/또는 하강 에지에 기초하여 데이터(DATA)를 전송할 수 있다. 이에 따라, 데이터(DATA)는 읽기 데이터 스트로브 신호(RDQS)의 토글 타이밍들에 정렬되어 메모리 컨트롤러(100)로 전송될 수 있다. 예시적인 실시 예에서, 메모리 셀 어레이(220)로부터 데이터(DATA)가 독출되는 경우, 클럭 신호(CK)의 토글 타이밍들에 기초하여 데이터(DATA)가 독출될 수 있다. 데이터 트랜시버(215)는 독출된 데이터(DATA)를 읽기 데이터 스트로브 신호(RDQS)의 토글 타이밍들에 정렬하여 메모리 컨트롤러(100)로 전송할 수 있다. 즉, 메모리 컨트롤러(100)로 데이터(DATA)가 전송됨에 있어서 클럭 신호(CK) 도메인에서 읽기 데이터 스트로브 신호(RDQS) 도메인(즉, 쓰기 데이터 스트로브 신호(WDQS) 도메인)으로 도메인 변경이 이루어질 수 있다.
상술한 바와 같이, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 미리 정해진 값들로 초기화할 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 생성되는 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 원하는 위상들을 가질 수 있다. 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 원하는 위상들을 가지는 경우, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 데이터(DATA)를 송수신할 수 있다. 이에 따라, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 위상을 조절하기 위한 별도의 오토-싱크를 수행하지 않을 수 있다. 별도의 오토-싱크가 수행되지 않는 경우, 메모리 장치(200)는 오토-싱크를 위한 별도의 커맨드를 수신하지 않을 수 있고, 오토-싱크를 위한 별도의 회로를 포함하지 않을 수 있다. 이에 따라, 메모리 장치(200)의 전력 소모가 감소될 수 있다.
상술한 바와 같이, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)에 기초하여 읽기 데이터 스트로브 신호(RDQS) 및 데이터 신호(DQ)를 생성할 수 있다. 내부 쓰기 데이터 스트로브 신호들(dWDQS)은 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 생성되므로, 읽기 데이터 스트로브 신호(RDQS) 및 데이터 신호(DQ)는 쓰기 데이터 스트로브 신호(WDQS)에 기초하여 생성될 수 있다. 이 경우, 클럭 신호(CK)에 기초하여 읽기 데이터 스트로브 신호(RDQS) 및 데이터 신호(DQ)를 생성하는 것과 비교하여 메모리 장치(200)의 전력 소모가 감소될 수 있다.
도 3은 도 2의 제어 로직 회로가 리셋 신호를 생성하기 위한 예시적인 조건들을 나타내는 테이블이다. 도 2 및 도 3을 참조하면, 제어 로직 회로(212)는 디바이더 리셋 조건 테이블(DRCT)의 조건들 중 적어도 하나에 따라 리셋 신호(RESET)를 생성할 수 있다. 커맨드(CMD)가 디바이더 리셋 조건에 매칭되거나, 또는 파워 상태 정보(PWS)에 따라 판별된 메모리 장치(200)의 파워 상태가 디바이더 리셋 조건에 매칭되는 경우, 제어 로직 회로(212)는 리셋 신호(RESET)를 생성할 수 있다. 이 경우, 제어 로직 회로(212)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 리셋 신호(RESET)를 생성할 수 있다.
예시적인 실시 예에서, 제어 로직 회로(212)는 메모리 장치(200)가 파워-업 상태가 되는 경우(즉, 메모리 장치(200)의 파워-업 시퀀스 이후에), 리셋 신호(RESET)를 생성할 수 있다. 예를 들어, 제어 로직 회로(212)는 파워 상태 정보(PWS)에 따라 판별된 메모리 장치(200)의 파워 상태에 기초하여 메모리 장치(200)가 파워-업 상태가 되었는지 여부를 판별할 수 있다.
예시적인 실시 예에서, 제어 로직 회로(212)는 메모리 장치(200)가 파워 다운 종료 상태가 되는 경우(즉, 메모리 장치(200)의 파워 다운 종료 시퀀스 이후에), 리셋 신호(RESET)를 생성할 수 있다. 예를 들어, 제어 로직 회로(212)는 파워 상태 정보(PWS)에 따라 판별된 메모리 장치(200)의 파워 상태에 기초하여 메모리 장치(200)가 파워 다운 종료 상태가 되었는지 여부를 판별할 수 있다. 또는, 제어 로직 회로(212)는 파워 다운 종료를 지시하는 커맨드(CMD)에 응답하여 리셋 신호(RESET)를 생성할 수 있다.
예시적인 실시 예에서, 제어 로직 회로(212)는 메모리 장치(200)가 셀프 리프레시 종료 상태가 되는 경우(즉, 메모리 장치(200)의 셀프 리프레시 종료 시퀀스 이후에), 리셋 신호(RESET)를 생성할 수 있다. 예를 들어, 제어 로직 회로(212)는 셀프 리프레시 종료를 지시하는 커맨드(CMD)에 응답하여 리셋 신호(RESET)를 생성할 수 있다.
예시적인 실시 예에서, 제어 로직 회로(212)는 액티브 커맨드(ACT)에 응답하여 리셋 신호(RESET)를 생성할 수 있다. 예를 들어, 액티브 커맨드(ACT)는 메모리 셀 어레이(220)의 선택된 워드 라인을 활성화시키기 위한 커맨드일 수 있다. 또는, 제어 로직 회로(212)는 쓰기 커맨드(WR) 및 읽기 커맨드(RD)에 응답하여 리셋 신호(RESET)를 생성할 수 있다.
예시적인 실시 예에서, 제어 로직 회로(212)는 디바이더 리셋 커맨드(DR)에 응답하여 리셋 신호(RESET)를 생성할 수 있다. 여기서, 디바이더 리셋 커맨드(DR)는 메모리 컨트롤러(100)로부터 전송되며, WDQS 디바이더(213)의 리셋을 지시하는 커맨드(CMD)일 수 있다.
도 4는 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 쓰기 동작을 보여주는 순서도이다. 도 2 및 도 4를 참조하면, S201 단계에서, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 미리 정해진 값들로 초기화할 수 있다. 예를 들어, 메모리 장치(200)는 도 3의 리셋 조건들에 따라 리셋 동작을 수행할 수 있다. 이에 따라, 내부 쓰기 데이터 스트로브 신호들(dWDQS)은 토글 전에 리셋 값들로 유지될 수 있다.
S202 단계에서, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 토글 전에 리셋 값들로 유지됨에 따라 메모리 장치(200)는 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다.
예시적인 실시 예에서, 쓰기 데이터 스트로브 신호(WDQS)가 토글하는 동안, 쓰기 데이터 스트로브 신호(WDQS)의 프리앰블 싸이클 수와 포스트앰블 싸이클 수의 합은 짝수일 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)의 토글링이 중단됨에 따라 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 토글링이 중단되더라도, 내부 쓰기 데이터 스트로브 신호들(dWDQS)은 추가 리셋 동작 없이 리셋 값들을 유지할 수 있다. 이에 따라, 쓰기 데이터 스트로브 신호(WDQS)가 다시 토글하는 경우, 추가 리셋 동작 없이 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 생성될 수 있다.
S203 단계에서, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 데이터 신호(DQ)를 래치하여 데이터(DATA)를 수신할 수 있다. S204 단계에서, 메모리 장치(200)는 수신된 데이터(DATA)를 메모리 셀 어레이(220)에 저장할 수 있다.
도 5a 및 도 5b는 도 4의 쓰기 동작의 예시들을 보여주는 타이밍도들이다. 도 5a 및 도 5b를 참조하면, 메모리 장치(200)는 클럭 신호(CK), 쓰기 커맨드(WR)를 포함하는 커맨드/어드레스 신호(C/A), 쓰기 데이터 스트로브 신호(WDQS), 및 데이터(D0~D7)를 포함하는 데이터 신호(DQ)를 수신할 수 있다. 이하에서는, 도 5a 및 도 5b에 도시된 바와 같이, 메모리 장치(200)가 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 4개의 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 생성하는 예시가 설명되나, 메모리 장치(200)는 다양한 개수의 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다.
도 2 및 도 5a를 참조하면, 메모리 장치(200)는 제1 시점(t1)에서 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 리셋 값들로 초기화할 수 있다. 메모리 장치(200)는 제1 및 제2 내부 쓰기 데이터 스트로브 신호들(dWDQS[0], dWDQS[1])을 로우 레벨로 초기화하고, 제3 및 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[2], dWDQS[3])을 하이 레벨로 초기화할 수 있다.
예를 들어, 메모리 장치(200)는, 도 3을 참조하여 설명한 바와 같이, 커맨드(CMD) 또는 메모리 장치(200)의 파워 상태에 기초하여 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 리셋할 수 있다. 즉, 메모리 장치(200)는 다양한 리셋 조건들에 기초하여 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 리셋할 수 있다.
메모리 장치(200)는 제2 시점(t2)에서 쓰기 커맨드(WR)를 포함하는 커맨드/어드레스 신호(C/A)를 수신할 수 있다. 메모리 장치(200)는 클럭 신호(CK)의 상승 에지 및 하강 에지를 기반으로 커맨드/어드레스 신호(C/A)를 래치하여 쓰기 커맨드(WR)를 수신할 수 있다. 도 5a에는 커맨드/어드레스 신호(C/A)의 2-싸이클 동안 쓰기 커맨드(WR)가 수신되는 것으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다.
메모리 장치(200)는 제3 시점(t3)부터 제6 시점(t6)까지 토글하는 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에(즉, 제3 시점(t3) 이전에) 쓰기 데이터 스트로브 신호(WDQS)는 고정된(static) 상태를 유지할 수 있다. 예를 들어, 쓰기 데이터 스트로브 신호(WDQS)는, 도 5a에 도시된 바와 같이, 로우 레벨을 유지할 수 있다. 쓰기 데이터 스트로브 신호(WDQS)의 주파수는 클럭 신호(CK)의 주파수의 두 배일 수 있다. 쓰기 데이터 스트로브 신호(WDQS)가 토글하는 동안, 쓰기 데이터 스트로브 신호(WDQS)는 1-싸이클의 프리앰블과 1-싸이클의 포스트앰블을 포함할 수 있다. 즉, 쓰기 데이터 스트로브 신호(WDQS)의 프리앰블 싸이클 수와 포스트앰블 싸이클 수의 합은 짝수일 수 있다. 도 5a에는 쓰기 데이터 스트로브 신호(WDQS)의 포스트앰블이 제5 시점(t5)부터 제6 시점(t6)까지의 토글링 구간으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다.
제3 시점(t3)에서 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 시작하는 경우, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])의 리셋 값들을 기반으로 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 생성할 수 있다. 예를 들어, 메모리 장치(200)는 제3 시점(t3)에서 쓰기 데이터 스트로브 신호(WDQS)의 에지 타이밍과 동일한 에지 타이밍을 가지는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])를 생성할 수 있다. 메모리 장치(200)는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])를 기준으로 90도, 180도, 및 270도의 위상 차이를 각각 가지는 제2 내지 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])을 생성할 수 있다. 이 경우, 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3]) 각각의 주파수는 쓰기 데이터 스트로브 신호(dWDQS)의 주파수의 절반일 수 있다.
메모리 장치(200)는 쓰기 커맨드(WR)가 수신된 제2 시점(t2)으로부터 쓰기 레이턴시(WL) 이후인 제4 시점(t4)에 데이터(D0~D7)를 포함하는 데이터 신호(DQ)를 수신하기 시작할 수 있다. 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 기반으로 데이터 신호(DQ)를 래치하여 데이터(D0~D7)를 수신할 수 있다. 예를 들어, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3]) 각각의 하강 에지에서 데이터 신호(DQ)를 래치할 수 있다. 이 경우, 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])에 기초하여 데이터(D0, D4)가 수신되고, 제2 내부 쓰기 데이터 스트로브 신호(dWDQS[1])에 기초하여 데이터(D1, D5)가 수신되고, 제3 내부 쓰기 데이터 스트로브 신호(dWDQS[2])에 기초하여 데이터(D2, D6)가 수신되고, 제4 내부 쓰기 데이터 스트로브 신호(dWDQS[3])에 기초하여 데이터(D3, D7)가 수신될 수 있다. 이에 따라, 제4 시점(t4)부터 제5 시점(t5)까지의 데이터 신호(DQ)로부터 데이터(D0~D7)가 수신될 수 있다.
제6 시점(t6)에서 쓰기 데이터 스트로브 신호(WDQS)의 토글링이 중단됨에 따라 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])의 토글링이 중단될 수 있다. 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])의 토글링이 중단되더라도, 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3]) 각각은 제1 시점(t1)과 동일한 값을 가질 수 있다. 이에 따라, 제6 시점(t6) 이후에 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3]) 각각은 리셋 값을 유지할 수 있다.
도 2 및 도 5b를 참조하면, 쓰기 데이터 스트로브 신호(WDQS)는 2-싸이클의 프리앰블과 2-싸이클의 포스트앰블을 포함할 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 원하는 위상들(즉, 도 5a의 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])과 동일한 위상들)을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 생성하기 위해, 메모리 장치(200)는 도 5a의 리셋 값들과 다른 값들로 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 초기화할 수 있다. 즉, 쓰기 데이터 스트로브 신호(WDQS)의 프리앰블 싸이클 수에 따라 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])의 리셋 값들(즉, WDQS 디바이더(213)의 리셋 값들)이 정해질 수 있다. 도 5b에는 쓰기 데이터 스트로브 신호(WDQS)의 포스트앰블이 제5 시점(t5)부터 제6 시점(t6)까지의 토글링 구간으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다.
메모리 장치(200)는 제1 시점(t1)에서 제1 및 제2 내부 쓰기 데이터 스트로브 신호들(dWDQS[0], dWDQS[1])을 하이 레벨로 초기화하고, 제3 및 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[2], dWDQS[3])을 로우 레벨로 초기화할 수 있다. 이 경우, 제3 시점(t3)부터 토글하는 쓰기 데이터 스트로브 신호(WDQS)에 따라 생성되는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])은 원하는 위상들을 가질 수 있다. 이에 따라, 도 5a를 참조하여 설명한 바와 같이, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])의 하강 에지에서 데이터 신호(DQ)를 래치하여 데이터(D0~D7)를 수신할 수 있다.
상술한 바와 같이, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 리셋 값들로 초기화하여 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 이에 따라, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 위상들을 조절하기 위한 별도의 오토-싱크를 수행하지 않을 수 있다. 오토-싱크가 수행되지 않는 경우, 오토-싱크를 위한 쓰기 데이터 스트로브 신호(WDQS)의 추가 토글링이 요구되지 않을 수 있다. 즉, 데이터(D0~D7)가 전송되기 전에 쓰기 데이터 스트로브 신호(WDQS)가 고정된 상태로 유지되는 구간이 증가되어 토글링 구간이 단축될 수 있다.
도 6은 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 쓰기 동작을 보여주는 순서도이다. 도 2 및 도 6을 참조하면, S211 단계에서, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 미리 정해진 값들로 초기화할 수 있다.
S212 단계에서, 메모리 장치(200)는 제1 쓰기 커맨드 및 제2 쓰기 커맨드에 대응하는 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 예시적인 실시 예에서, 메모리 장치(200)는 추가 리셋 동작 없이 제1 쓰기 커맨드 및 제2 쓰기 커맨드에 대응하는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 예를 들어, 제1 쓰기 커맨드에 따른 쓰기 데이터 스트로브 신호(WDQS)의 제1 토글링 구간과 제2 쓰기 커맨드에 따른 쓰기 데이터 스트로브 신호(WDQS)의 제2 토글링 구간 사이에서 쓰기 데이터 스트로브 신호(WDQS)의 토글링이 중단되더라도, 메모리 장치(200)는 추가 리셋 동작 없이 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다.
S213 단계에서, 메모리 장치(200)는 생성된 내부 쓰기 데이터 스트로브 신호들(dWDQS)에 기초하여 제1 데이터 및 제2 데이터를 수신할 수 있다. 여기서, 제1 데이터는 제1 쓰기 커맨드에 대응하고, 제2 데이터는 제2 쓰기 커맨드에 대응할 수 있다. S214 단계에서, 메모리 장치(200)는 수신된 제1 데이터 및 제2 데이터를 메모리 셀 어레이(220)에 저장할 수 있다.
도 7a 및 도 7b는 도 6의 쓰기 동작의 예시들을 보여주는 타이밍도들이다. 도 7a 및 도 7b를 참조하면, 메모리 장치(200)는 클럭 신호(CK), 제1 쓰기 커맨드(WRa)와 제2 쓰기 커맨드(WRb)를 포함하는 커맨드/어드레스 신호(CA), 쓰기 데이터 스트로브 신호(WDQS), 및 제1 데이터(Da0~Da7)와 제2 데이터(Db0~Db7)를 포함하는 데이터 신호(DQ)를 수신할 수 있다. 구체적으로, 도 7a는 제1 쓰기 커맨드(WRa)와 제2 쓰기 커맨드(WRb) 사이의 간격이 기준 시간 이하인 경우(즉, 제1 데이터(Da0~Da7)와 제2 데이터(Db0~Db7) 사이에 간격이 없는 경우), 쓰기 동작을 보여주는 타이밍도이다. 도 7b는 제1 쓰기 커맨드(WRa)와 제2 쓰기 커맨드(WRb) 사이의 간격이 기준 시간을 초과하는 경우(즉, 제1 데이터(Da0~Da7)와 제2 데이터(Db0~Db7) 사이에 간격이 존재하는 경우), 쓰기 동작을 보여주는 타이밍도이다. 여기서, 기준 시간은 하나의 쓰기 커맨드에 대응하는 데이터의 전송 시간일 수 있다. 예를 들어, 도 7a 및 도 7b에 도시된 바와 같이, 하나의 쓰기 커맨드에 대응하는 데이터의 전송 시간이 클럭 신호(CK)의 2-싸이클인 경우, 기준 시간은 클럭 신호(CK)의 2-싸이클일 수 있다.
도 2 및 도 7a를 참조하면, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전인 제1 시점(t1)에서 제1 및 제2 내부 쓰기 데이터 스트로브 신호들(dWDQS[0], dWDQS[1])을 로우 레벨로 초기화하고, 제3 및 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[2], dWDQS[3])을 하이 레벨로 초기화할 수 있다.
메모리 장치(200)는 클럭 신호(CK)를 기반으로 제2 시점(t2)에서 제1 쓰기 커맨드(WRa)를 수신하고, 제3 시점(t3)에서 제2 쓰기 커맨드(WRb)를 수신할 수 있다. 예를 들어, 제1 쓰기 커맨드(WRa)와 제2 쓰기 커맨드(WRb) 사이의 간격은 클럭 신호(CK)의 2-싸이클 이하일 수 있다.
메모리 장치(200)는 제4 시점(t4)부터 제8 시점(t8)까지 토글하는 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)는 제1 쓰기 커맨드(WRa) 및 제2 쓰기 커맨드(WRb)에 대응하여 하나의 토글링 구간(즉, 제4 시점(t4)부터 제8 시점(t8)까지)을 가질 수 있다. 이에 따라, 쓰기 데이터 스트로브 신호(WDQS)는 제1 쓰기 커맨드(WRa) 및 제2 쓰기 커맨드(WRb)에 대응하여 하나의 프리앰블 및 하나의 포스트앰블을 포함할 수 있다.
메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])의 리셋 값들을 기반으로 제4 시점(t4)에서 쓰기 데이터 스트로브 신호(WDQS)의 에지 타이밍과 동일한 에지 타이밍을 가지는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])를 생성하고, 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])를 기준으로 90도, 180도, 및 270도의 위상 차이를 각각 가지는 제2 내지 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])을 생성할 수 있다. 제1 시점(t1)의 리셋 동작 이후 메모리 장치(200)는 추가 리셋 동작 없이 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 생성할 수 있다.
메모리 장치(200)는 제1 쓰기 커맨드(WRa)가 수신된 제2 시점(t1)으로부터 쓰기 레이턴시(WL) 이후인 제5 시점(t5)에 제1 데이터(Da0~Da7)를 포함하는 데이터 신호(DQ)를 수신하기 시작할 수 있다. 메모리 장치(200)는 제2 쓰기 커맨드(WRb)가 수신된 제3 시점(t3)으로부터 쓰기 레이턴시(WL) 이후인 제6 시점(t6)에 제2 데이터(Db0~Db7)를 포함하는 데이터 신호(DQ)를 수신하기 시작할 수 있다.
메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])에 기초하여 데이터 신호(DQ)를 래치하여 제1 데이터(Da0~Da7) 및 제2 데이터(Db0~Db7)를 수신할 수 있다. 예를 들어, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3]) 각각의 하강 에지에서 데이터 신호(DQ)를 래치할 수 있다. 이에 따라, 제5 시점(t5)부터 제7 시점(t7)까지의 데이터 신호(DQ)로부터 제1 데이터(Da0~Da7) 및 제2 데이터(Db0~Db7)가 수신될 수 있다.
도 2 및 도 7b를 참조하면, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전인 제1 시점(t1)에서 제1 및 제2 내부 쓰기 데이터 스트로브 신호들(dWDQS[0], dWDQS[1])을 로우 레벨로 초기화하고, 제3 및 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[2], dWDQS[3])을 하이 레벨로 초기화할 수 있다.
메모리 장치(200)는 클럭 신호(CK)를 기반으로 제2 시점(t2)에서 제1 쓰기 커맨드(WRa)를 수신하고, 제3 시점(t3)에서 제2 쓰기 커맨드(WRb)를 수신할 수 있다. 예를 들어, 제1 쓰기 커맨드(WRa)와 제2 쓰기 커맨드(WRb) 사이의 간격은 클럭 신호(CK)의 2-싸이클을 초과할 수 있다.
메모리 장치(200)는 제1 및 제2 쓰기 커맨드들(WRa, WRb) 각각에 대응하여 별도의 토글링 구간을 포함하는 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 쓰기 데이터 스트로브 신호(WDQS)는 제1 쓰기 커맨드(WRa)에 대응하는 제1 토글링 구간(즉, 제4 시점(t4)부터 제7 시점(t7)까지)과 제2 쓰기 커맨드(WRb)에 대응하는 제2 토글링 구간(즉, 제8 시점(t8)부터 제11 시점(t11)까지)을 가질 수 있다. 즉, 제1 토글링 구간과 제2 토글링 구간 사이(즉, 제7 시점(t7)부터 제8 시점(t8)까지)에서 쓰기 데이터 스트로브 신호(WDQS)의 토글링은 중단될 수 있다. 이에 따라, 쓰기 데이터 스트로브 신호(WDQS)는 제1 토글링 및 제2 토글링에 따라 각각 하나의 프리앰블 및 하나의 포스트앰블을 더 포함할 수 있다.
메모리 장치(200)는 제1 토글링에 대응하여 제4 시점(t4)부터 제7 시점(t7)까지 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])을 생성하고, 제2 토글링에 대응하여 제8 시점(t8)부터 제11 시점(t11)까지 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])을 생성할 수 있다. 제1 시점(t1)의 리셋 동작 이후 메모리 장치(200)는 추가 리셋 동작 없이 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 생성할 수 있다.
제7 시점(t7)부터 제8 시점(t8)까지 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])의 토글링은 중단될 수 있다. 토글링이 중단되는 동안, 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])은 제1 시점(t1)과 동일한 값들을 유지할 수 있다. 이에 따라, 제2 토글링에 대응하여 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])은 원하는 위상들(즉, 제1 토글링에 대응하여 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])의 위상들)을 가질 수 있다.
메모리 장치(200)는 제1 쓰기 커맨드(WRa)가 수신된 제2 시점(t2)으로부터 쓰기 레이턴시(WL) 이후인 제5 시점(t5)에 제1 데이터(Da0~Da7)를 포함하는 데이터 신호(DQ)를 수신하기 시작할 수 있다. 메모리 장치(200)는 제2 쓰기 커맨드(WRb)가 수신된 제3 시점(t3)으로부터 쓰기 레이턴시(WL) 이후인 제9 시점(t9)에 제2 데이터(Db0~Db7)를 포함하는 데이터 신호(DQ)를 수신하기 시작할 수 있다.
메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])에 기초하여 데이터 신호(DQ)를 래치하여 제1 데이터(Da0~Da7) 및 제2 데이터(Db0~Db7)를 수신할 수 있다. 예를 들어, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3]) 각각의 하강 에지에서 데이터 신호(DQ)를 래치할 수 있다. 이에 따라, 제5 시점(t5)부터 제11 시점(t11)까지의 데이터 신호(DQ)로부터 제1 데이터(Da0~Da7) 및 제2 데이터(Db0~Db7)가 수신될 수 있다.
도 7a 및 도 7b를 참조하여 설명한 바와 같이, 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 리셋 값들로 초기화되는 경우, 메모리 장치(200)는 추가 리셋 동작 없이 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성하여 복수의 쓰기 커맨드들에 따른 쓰기 데이터를 수신할 수 있다. 이에 따라, 메모리 장치(200)의 전력 소모가 감소될 수 있다.
도 6, 도 7a 및 도 7b에서는 복수의 쓰기 커맨드들에 따른 쓰기 동작이 설명되었으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 복수의 읽기 커맨드들에 따른 읽기 동작에서 메모리 장치(200)는 추가 리셋 동작을 수행하지 않고 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 또는, 쓰기 커맨드 및 읽기 커맨드에 따른 쓰기 및 읽기 동작에서 메모리 장치(200)는 추가 리셋 동작을 수행하지 않고 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다.
도 8은 본 발명의 하나의 실시 예에 따른 메모리 장치의 예시적인 읽기 동작을 보여주는 순서도이다. 도 2 및 도 8을 참조하면, S221 단계에서, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 미리 정해진 값들로 초기화할 수 있다. 이에 따라, 내부 쓰기 데이터 스트로브 신호들(dWDQS)은 토글 전에 리셋 값들로 유지될 수 있다.
S222 단계에서, 메모리 장치(200)는 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 토글 전에 리셋 값들로 유지됨에 따라 메모리 장치(200)는 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다.
S223 단계에서, 메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)에 기초하여 읽기 데이터 스트로브 신호(RDQS) 및 메모리 셀 어레이(220)로부터 독출된 데이터(DATA)를 메모리 컨트롤러(100)로 전송할 수 있다.
도 9는 도 8의 읽기 동작의 예시를 보여주는 타이밍도이다. 도 2 및 도 9를 참조하면, 메모리 장치(200)는 클럭 신호(CK), 읽기 커맨드(RD)를 포함하는 커맨드/어드레스 신호(CA), 및 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 메모리 장치(200)는 읽기 커맨드(RD)에 응답하여 읽기 데이터 스트로브 신호(RDQS) 및 데이터(D0~D7)를 포함하는 데이터 신호(DQ)를 메모리 컨트롤러(도 1, 100)로 전송할 수 있다.
메모리 장치(200)는 제1 시점(t1)에서 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 리셋 값들로 초기화할 수 있다. 메모리 장치(200)는 제1 및 제2 내부 쓰기 데이터 스트로브 신호들(dWDQS[0], dWDQS[1])을 로우 레벨로 초기화하고, 제3 및 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[2], dWDQS[3])을 하이 레벨로 초기화할 수 있다.
메모리 장치(200)는 제2 시점(t2)에서 읽기 커맨드(RD)를 포함하는 커맨드/어드레스 신호(C/A)를 수신할 수 있다. 메모리 장치(200)는 클럭 신호(CK)의 상승 에지 및 하강 에지를 기반으로 커맨드/어드레스 신호(C/A)를 래치하여 읽기 커맨드(RD)를 수신할 수 있다. 도 9에는 커맨드/어드레스 신호(C/A)의 2-싸이클 동안 읽기 커맨드(RD)가 수신되는 것으로 도시되었으나, 본 발명이 이에 한정되는 것은 아니다.
메모리 장치(200)는 제3 시점(t3)부터 제6 시점(t6)까지(좀 더 상세하게는, 제5 시점(t5)과 제6 시점(t6) 사이의 어느 시점까지) 토글하는 쓰기 데이터 스트로브 신호(WDQS)를 수신할 수 있다. 쓰기 데이터 스트로브 신호(WDQS)가 토글하는 동안, 쓰기 데이터 스트로브 신호(WDQS)는 1-싸이클의 프리앰블과 1-싸이클의 포스트앰블을 포함할 수 있다.
메모리 장치(200)는 제3 시점(t3)에서 쓰기 데이터 스트로브 신호(WDQS)의 에지 타이밍과 동일한 에지 타이밍을 가지는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])를 생성할 수 있다. 메모리 장치(200)는 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])를 기준으로 90도, 180도, 및 270도의 위상 차이를 각각 가지는 제2 내지 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[1]~dWDQS[3])을 생성할 수 있다.
메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 기반으로 제3 시점(t3)부터 제6 시점(t6)까지(좀 더 상세하게는, 제5 시점(t5)과 제6 시점(t6) 사이의 어느 시점까지) 토글하는 읽기 데이터 스트로브 신호(RDQS)를 생성할 수 있다. 읽기 데이터 스트로브 신호(RDQS)가 토글하는 동안 읽기 데이터 스트로브 신호(RDQS)는 1-싸이클의 프리앰블과 1-싸이클의 포스트앰블을 포함할 수 있다. 도 9에서는 토글하는 쓰기 데이터 스트로브 신호(WDQS)의 수신 시작 시점과 토글하는 읽기 데이터 스트로브 신호(RDQS)의 전송 시작 시점이 제3 시점(t3)으로 동일하게 도시되나, 토글하는 쓰기 데이터 스트로브 신호(WDQS)의 수신 시작 시점과 토글하는 읽기 데이터 스트로브 신호(RDQS)의 전송 시작 시점 사이에 딜레이가 존재할 수 있다. 이하에서는, 설명의 편의를 위해, 토글하는 쓰기 데이터 스트로브 신호(WDQS)의 수신 시작 시점과 토글하는 읽기 데이터 스트로브 신호(RDQS)의 전송 시작 시점이 동일한 것으로 가정한다.
메모리 장치(200)는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 기반으로 제4 시점(t4)부터 제5 시점(t5)까지 데이터(D0~D7)를 포함하는 데이터 신호(DQ)를 생성할 수 있다. 메모리 장치(200)는 읽기 커맨드(RD)가 수신된 제2 시점(t2)으로부터 읽기 레이턴시(RL) 이후인 제4 시점(t4)에 데이터(D0~D7)를 포함하는 데이터 신호(DQ)를 전송하기 시작할 수 있다. 이에 따라, 데이터(D0~D7)는 읽기 데이터 스트로브 신호(RDQS)의 토글 타이밍들에 정렬되어 전송될 수 있다.
제6 시점(t6)에서 쓰기 데이터 스트로브 신호(WDQS)의 토글링이 중단됨에 따라 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])의 토글링이 중단될 수 있다. 이 경우, 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3]) 각각은 제1 시점(t1)에서의 값과 동일한 값을 가질 수 있다. 즉, 제6 시점(t6) 이후에 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3]) 각각은 리셋 값을 유지할 수 있다. 이에 따라, 도 7a 및 도 7b를 참조하여 설명한 바와 같이, 메모리 장치(200)는 추가 리셋 동작 없이 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 생성하여 이후의 쓰기 동작 및 읽기 동작을 수행할 수 있다.
도 10a 및 도 10b는 본 발명의 실시 예들에 따른 WDQS 디바이더들을 보여주는 블록도들이다. 예를 들어, 도 2의 WDQS 디바이더(213)는 WDQS 디바이더(230 또는 240)로 구현될 수 있다. WDQS 디바이더들(230, 240) 각각은, 도 5a를 참조하여 설명한 바와 같이, 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 4개의 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 생성할 수 있다.
도 10a을 참조하면, WDQS 디바이더(230)는 제1 래치(231) 및 제2 래치(232)를 포함할 수 있다. 래치들(231, 232) 각각은 제1 입력 단자(D), 제2 입력 단자(D'), 제1 출력 단자(Q), 제2 출력 단자(Q'), 리셋 단자(RST), 및 클럭 단자(C)를 포함할 수 있다. 래치들(231, 232) 각각은 제1 입력 단자(D)와 제2 입력 단자(D')를 통해 서로 상보적인 입력들을 수신하고, 제1 출력 단자(Q)와 제2 출력 단자(Q')를 통해 서로 상보적인 값들을 출력할 수 있다.
제1 래치(231)의 제1 입력 단자(D)는 제2 래치(232)의 제2 출력 단자(Q')와 연결되고, 제1 래치(231)의 제2 입력 단자(D')는 제2 래치(232)의 제1 출력 단자(Q)와 연결될 수 있다. 제1 래치(231)의 제1 출력 단자(Q)는 제2 래치(232)의 제1 입력 단자(D)와 연결되고, 제1 래치(231)의 제2 출력 단자(Q')는 제2 래치(232)의 제2 입력 단자(D')와 연결될 수 있다.
리셋 신호(RESET)는 래치들(231, 232) 각각의 리셋 단자(RST)로 입력될 수 있다. 래치들(231, 232) 각각은 리셋 신호(RESET)에 따라 리셋될 수 있다. 예를 들어, 래치들(231, 232) 각각은, 도 5a 및 도 5b를 참조하여 설명한 바와 같이, 쓰기 데이터 스트로브 신호(WDQS)의 프리앰블 싸이클 수에 따라 미리 정해진 로우 레벨 또는 하이 레벨로 초기화될 수 있다. 래치들(231, 232) 각각이 리셋되는 경우, 래치들(231, 232) 각각은 제1 출력 단자(Q)를 통해 리셋 값을 출력하고, 제2 출력 단자(Q')를 통해 상보 값을 출력할 수 있다.
쓰기 데이터 스트로브 신호(WDQS)는 제1 래치(231)의 클럭 단자(C)로 입력되고, 상보 쓰기 데이터 스트로브 신호(WDQSB)는 제2 래치(232)의 클럭 단자(C)로 입력될 수 있다. 또는, 쓰기 데이터 스트로브 신호(WDQS) 및 상보 쓰기 데이터 스트로브 신호(WDQSB)는 제1 및 제2 래치들(231, 232)의 클럭 단자들(C)로 입력될 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS) 및 상보 쓰기 데이터 스트로브 신호(WDQSB)는 차동 신호들로서 메모리 컨트롤러(100)로부터 제공될 수 있다. 제1 래치(231)는 쓰기 데이터 스트로브 신호(WDQS)의 상승 에지에 기초하여 입력 단자들(D, D')로 입력된 값을 출력 단자들(Q, Q')로 출력할 수 있다. 제2 래치(232)는 상보 쓰기 데이터 스트로브 신호(WDQSB)의 상승 에지에 기초하여 입력 단자들(D, D')로 입력된 값을 출력 단자들(Q, Q')로 출력할 수 있다.
제1 래치(231)의 제1 출력 단자(Q)로 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])가 출력되고, 제1 래치(231)의 제2 출력 단자(Q')로 제3 내부 쓰기 데이터 스트로브 신호(dWDQS[2])가 출력될 수 있다. 제2 래치(232)의 제1 출력 단자(Q)로 제2 내부 쓰기 데이터 스트로브 신호(dWDQS[1])가 출력되고, 제2 래치(232)의 제2 출력 단자(Q')로 제4 내부 쓰기 데이터 스트로브 신호(dWDQS[3])가 출력될 수 있다.
도 5a 및 도 10a를 참조하면, 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 리셋 신호(RESET)가 입력되는 경우, WDQS 디바이더(230)는 리셋 신호(RESET)에 따라 제1 출력 단자들(Q)을 통해 로우 레벨을 가지는 제1 및 제2 내부 쓰기 데이터 스트로브 신호들(dWDQS[0], dWDQS[1])을 출력할 수 있고, 제2 출력 단자들(Q')을 통해 하이 레벨을 가지는 제3 및 제4 내부 쓰기 데이터 스트로브 신호들(dWDQS[2], dWDQS[3])을 출력할 수 있다. 쓰기 데이터 스트로브 신호(WDQS)가 토글하는 동안 WDQS 디바이더(230)는 쓰기 데이터 스트로브 신호(WDQS)의 상승 에지 및 상보 쓰기 데이터 스트로브 신호(WDQSB)의 상승 에지에 기초하여 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS[0]~dWDQS[3])을 출력할 수 있다.
도 10b를 참조하면, WDQS 디바이더(240)는 제1 래치(241) 및 제2 래치(242)를 포함할 수 있다. 래치들(241, 242) 각각은 입력 단자(D), 제1 출력 단자(Q), 제2 출력 단자(Q'), 리셋 단자(RST), 및 클럭 단자(C)를 포함할 수 있다. 래치들(241, 242) 각각은 제1 출력 단자(Q)와 제2 출력 단자(Q')를 통해 서로 상보적인 값들을 출력할 수 있다. 제1 래치(241)의 입력 단자(D)는 제2 래치(232)의 제2 출력 단자(Q')와 연결될 수 있다. 제1 래치(241)의 제1 출력 단자(Q)는 제2 래치(232)의 제1 입력 단자(D)와 연결될 수 있다.
제1 래치(241)의 제1 출력 단자(Q)로 제1 내부 쓰기 데이터 스트로브 신호(dWDQS[0])가 출력되고, 제1 래치(241)의 제2 출력 단자(Q')로 제3 내부 쓰기 데이터 스트로브 신호(dWDQS[2])가 출력될 수 있다. 제2 래치(242)의 제1 출력 단자(Q)로 제2 내부 쓰기 데이터 스트로브 신호(dWDQS[1])가 출력되고, 제2 래치(242)의 제2 출력 단자(Q')로 제4 내부 쓰기 데이터 스트로브 신호(dWDQS[3])가 출력될 수 있다. 이에 따라, WDQS 디바이더(240)는 도 10a의 WDQS 디바이더(230)와 실질적으로 동일하게 동작할 수 있고, 자세한 설명은 생략된다.
도 11은 도 1의 메모리 인터페이스의 예시적인 블록도이다. 도 11을 참조하면, 메모리 인터페이스(110)는 위상 고정 루프(111), 위상 제어기(112), 제1 송신기(113), 제2 송신기(114), 내부 클럭 디바이더(115), 제3 송신기(116), 및 제4 송신기(117)를 포함할 수 있다. 위상 고정 루프(111)는 제1 내부 클럭 신호(ICS1)를 생성할 수 있다. 위상 제어기(112)는 제1 내부 클럭 신호(ICS1)를 기반으로 제1 내부 클럭 신호(ICS1)의 위상과 다른 위상을 가지는 제2 내부 클럭 신호(ICS2)를 생성할 수 있다. 예를 들어, 제1 내부 클럭 신호(ICS1)와 제2 내부 클럭 신호(ICS2)의 위상 차이는 90도일 수 있다.
제1 송신기(113)는 제2 내부 클럭 신호(ICS2)를 기반으로 데이터(DATA)를 전송할 수 있다. 이에 따라, 제1 송신기(113)는 데이터(DATA)를 포함하는 데이터 신호(DQ)를 메모리 장치(200)로 전송할 수 있다. 제2 송신기(114)는 제1 내부 클럭 신호(ICS1)를 쓰기 데이터 스트로브 신호(WDQS)로서 메모리 장치(200)로 전송할 수 있다.
내부 클럭 디바이더(115)는 제1 내부 클럭 신호(ICS1)를 분주하여 서로 다른 위상들을 가지는 제1 및 제2 분주된 내부 클럭 신호들(dICS1, dICS2)을 생성할 수 있다. 제1 분주된 내부 클럭 신호(dICS1)의 에지 타이밍은 제1 내부 클럭 신호(ICS1)의 에지 타이밍과 동일하고, 제2 분주된 내부 클럭 신호(dICS2)와 제1 분주된 내부 클럭 신호(dICS1)의 위상 차이는 270도일 수 있다. 예를 들어, 분주된 내부 클럭 신호들(dICS1, dICS2)의 주파수는 제2 내부 클럭 신호(ICS2)의 주파수의 절반일 수 있다.
제3 송신기(116)는 제1 분주된 내부 클럭 신호(dICS1)를 클럭 신호(CK)로서 메모리 장치(200)로 전송할 수 있다. 제1 분주된 내부 클럭 신호(dICS1)의 에지 타이밍과 제2 내부 클럭 신호(ICS2)의 에지 타이밍이 동일하므로, 클럭 신호(CK)와 쓰기 데이터 스트로브 신호(WDQS)는 동일한 에지 타이밍을 가지고 출력될 수 있다. 제4 송신기(117)는 제2 분주된 내부 클럭 신호(dICS2)에 기초하여 커맨드(CMD) 및/또는 어드레스(ADD)를 전송할 수 있다. 이에 따라, 제4 송신기(117)는 커맨드(CMD) 및/또는 어드레스(ADD)를 포함하는 커맨드/어드레스 신호(C/A)를 메모리 장치(200)로 전송할 수 있다.
상술한 바와 같이, 클럭 신호(CK) 및 쓰기 데이터 스트로브 신호(WDQS)는 하나의 위상 고정 루프(111)를 통해 생성될 수 있다. 이에 따라, 메모리 컨트롤러(100)의 동작 전류가 감소될 수 있다.
도 12는 본 발명의 실시 예들에 따른 적층형 메모리 장치를 보여주는 블록도이다. 도 12를 참조하면, 적층형 메모리 장치(300)는 버퍼 다이(310) 및 복수의 코어 다이들(320~350)을 포함할 수 있다. 예를 들어, 버퍼 다이(310)는 인터페이스 다이, 베이스 다이, 로직 다이, 마스터 다이 등으로도 지칭될 수 있고, 그리고 코어 다이들(320~350) 각각은 메모리 다이, 슬레이브 다이 등으로도 지칭될 수 있다. 도 12에서는 적층형 메모리 장치(300)에 4개의 코어 다이들(320~350)이 포함되는 것으로 도시되었으나, 코어 다이들의 개수는 다양하게 변경될 수 있다. 예를 들어, 적층형 메모리 장치(300)는 8개, 12개 또는 16개 코어 다이들을 포함할 수 있다.
버퍼 다이(310) 및 코어 다이들(320~350)은 실리콘 관통 전극들(TSV; Through Silicon Via)을 통해 적층되고, 전기적으로 연결될 수 있다. 이에 따라, 적층형 메모리 장치(300)는 다수의 다이들(310~350)이 적층되는 3차원 메모리 구조를 가질 수 있다. 예를 들어, 적층형 메모리 장치(300)는 HBM 또는 HMC 표준을 기반으로 구현될 수 있다.
적층형 메모리 장치(300)는 기능적으로 독립된 복수의 채널들(또는, 볼트(vault)들)을 지원할 수 있다. 예를 들어, 도 12에 도시된 바와 같이, 적층형 메모리 장치(300)는 8개 채널들(CH0~CH7)을 지원할 수 있다. 채널들(CH0~CH7) 각각이 128개 데이터(DQ) 전달 통로(I/O)를 지원하는 경우, 적층형 메모리 장치(300)는 1024개 데이터 전달 통로를 지원할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 적층형 메모리 장치(300)는 1024개 이상의 데이터 전달 통로를 지원할 수 있으며, 8개 이상의 채널들(예를 들어, 16개 채널들)을 지원할 수 있다. 적층형 메모리 장치(300)가 16개 채널들을 지원하는 경우, 채널들 각각은 64개 데이터 전달 통로를 지원할 수 있다.
코어 다이들(320~350) 각각은 적어도 하나의 채널을 지원할 수 있다. 예를 들어, 도 12에 도시된 바와 같이, 코어 다이들(320~350) 각각은 2 채널(CH0-CH2, CH1-CH3, CH4-CH6, CH5-CH7)을 지원할 수 있다. 이 경우, 코어 다이들(320~350)은 서로 다른 채널들을 지원할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 코어 다이들(320~350) 중 적어도 두 개는 동일한 채널을 지원할 수 있다. 예를 들어, 코어 다이들(320~350) 각각은 제1 채널(CH0)을 지원할 수 있다.
채널들 각각은 독립적인 커맨드 및 데이터 인터페이스를 구성할 있다. 예를 들어, 각 채널은 독립적인 타이밍 요구 조건에 기초하여 독립적으로 클럭킹(independently clocked)될 수 있고, 서로 동기화되지 않을 수 있다. 예를 들어, 각 채널은 독립적인 커맨드에 기초하여 파워 상태를 변경하거나 리프레시를 수행할 수 있다.
채널들 각각은 복수의 메모리 뱅크들(301)을 포함할 수 있다. 메모리 뱅크들(301) 각각은 워드 라인들 및 비트 라인들에 연결되는 메모리 셀들, 로우 디코더, 컬럼 디코더, 센스 앰프 등을 포함할 수 있다. 예를 들어, 도 12에 도시된 바와 같이, 채널들(CH0~CH7) 각각은 8개의 메모리 뱅크들(301)을 포함할 수 있다. 그러나, 본 발명이 이에 한정되지 않으며, 채널들(CH0~CH7) 각각은 8개 이상의 메모리 뱅크들(301)을 포함할 수 있다. 도 12에는 하나의 채널에 포함되는 메모리 뱅크들이 하나의 코어 다이에 포함되는 것으로 도시되어 있으나, 하나의 채널에 포함되는 메모리 뱅크들은 복수의 코어 다이들에 분산될 수 있다. 예를 들어, 코어 다이들(320~350) 각각이 제1 채널(CH0)을 지원하는 경우, 제1 채널(CH0)에 포함되는 메모리 뱅크들은 코어 다이들(320~350)에 분산될 수 있다.
예시적인 실시 예에서, 하나의 채널은 독립적으로 동작하는 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 코어 다이(320)의 메모리 셀에 접근하기 위해 제1 채널(CH0)로 커맨드 및 어드레스를 전송하는 경우, 버퍼 다이(310)는 제1 채널(CH0)에 대응하는 TSV들을 통해 제어 신호들을 제1 코어 다이(320)로 전송하여 제1 채널(CH0)의 메모리 셀에 접근할 수 있다.
버퍼 다이(310)는 물리 계층(PHY, 311)을 포함할 수 있다. 물리 계층(311)은 외부의 호스트 장치와의 통신을 위한 인터페이스 회로들을 포함할 수 있다. 예를 들어, 물리 계층(311)은 도 1 내지 도 11을 참조하여 설명한 호스트 인터페이스(210)에 대응하는 인터페이스 회로들을 포함할 수 있다. 물리 계층(311)을 통해 수신된 신호들 및/또는 데이터는 TSV들을 통해 코어 다이들(320~350)로 전달될 수 있다.
예시적인 실시 예에서, 버퍼 다이(310)는 채널들 각각에 대응하는 채널 컨트롤러를 포함할 수 있다. 채널 컨트롤러는 대응하는 채널의 메모리 참조 동작들을 관리할 수 있고, 대응하는 채널의 타이밍 요구 조건을 결정할 수 있다.
예시적인 실시 예에서, 버퍼 다이(310)는 외부의 호스트 장치로부터 신호들을 수신하기 위한 복수의 핀들을 포함할 수 있다. 버퍼 다이(310)는 복수의 핀들을 통해 클럭 신호(CK), 커맨드/어드레스 신호(C/A), 쓰기 데이터 스트로브 신호(WDQS), 및 데이터 신호(DQ)를 수신하고, 읽기 데이터 스트로브 신호(RDQS) 및 데이터 신호(DQ)를 전송할 수 있다. 예를 들어, 버퍼 다이(310)는 채널 별로 클럭 신호(CK)를 수신하기 위한 2개 핀들, 커맨드/어드레스 신호(C/A)를 수신하기 위한 14개 핀들, 쓰기 데이터 스트로브 신호(WDQS)를 수신하기 위한 8개 핀들, 읽기 데이터 스트로브 신호(RDQS)를 전송하기 위한 8개 핀들, 및 데이터 신호(DQ)를 송수신하기 위한 128개 핀들을 포함할 수 있다.
도 13은 도 12의 적층형 메모리 장치의 예시적인 블록도이다. 도 13을 참조하면, 적층형 메모리 장치(400)는 버퍼 다이(410) 및 코어 다이(420)를 포함할 수 있다. 코어 다이(420)는 복수의 채널들 중 채널(CHa)을 지원할 수 있다. 버퍼 다이(410)와 코어 다이(420)는 TSV 영역(401)에 위치하는 TSV들(402, 403)을 통해 통신할 수 있다. TSV 영역(401)은 채널(CHa)에 대응할 수 있다. 예를 들어, 버퍼 다이(410)는 TSV(402)를 통해 코어 다이(420)로 내부 커맨드(iCMD)를 전송하고, TSV(403)를 통해 코어 다이(420)와 데이터(DATA)를 송수신할 수 있다.
버퍼 다이(410)는 C/A 수신기(411), 제어 로직 회로(412), WDQS 디바이더(413), RDQS 송신기(414), 및 데이터 트랜시버(415)를 포함할 수 있다. C/A 수신기(411), 제어 로직 회로(412), WDQS 디바이더(413), RDQS 송신기(414), 및 데이터 트랜시버(415)는 채널(CHa)의 인터페이스 회로들로서 도 12의 물리 계층(311)에 포함될 수 있다. 즉, 도 12의 물리 계층(311)은 채널 별로 도 13에 도시된 인터페이스 회로들을 포함할 수 있다. C/A 수신기(411), 제어 로직 회로(412), WDQS 디바이더(413), RDQS 송신기(414), 및 데이터 트랜시버(415)는 도 2의 C/A 수신기(211), 제어 로직 회로(212), WDQS 디바이더(213), RDQS 송신기(214), 및 데이터 트랜시버(215)에 대응하며, 이하에서 중복되는 설명은 생략될 수 있다.
버퍼 다이(410)는 채널(CHa)로 제공되는 클럭 신호(CK), 커맨드/어드레스 신호(C/A), 쓰기 데이터 스트로브 신호(WDQS), 및 데이터 신호(DQ)를 수신할 수 있다. 버퍼 다이(410)는 채널(CHa)에서 생성되는 읽기 데이터 스트로브 신호(RDQS) 및 데이터 신호(DQ)를 외부의 호스트 장치로 전송할 수 있다.
C/A 수신기(411)는 클럭 신호(CK)를 기반으로 커맨드/어드레스 신호(C/A)를 래치하여 커맨드(CMD)를 수신할 수 있다. 수신된 커맨드(CMD)는 제어 로직 회로(412)로 제공될 수 있다.
제어 로직 회로(412)는 커맨드(CMD) 또는 파워 상태 정보(PWS)에 따라 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 리셋 신호(RESET)를 생성할 수 있다. 제어 로직 회로(412)는 커맨드(CMD)를 디코딩하고, 커맨드(CMD)에 따라 내부 커맨드(iCMD)를 생성할 수 있다. 예를 들어, 내부 커맨드(iCMD)는 버퍼 다이(410)와 코어 다이(420) 사이의 내부 통신 규약에 따라 커맨드(CMD)와 다른 포맷으로 생성되거나, 또는 커맨드(CMD)와 동일한 포맷으로 생성될 수 있다. 내부 커맨드(iCMD)는 TSV(402)를 통해 채널(CHa)을 지원하는 코어 다이(420)로 전송될 수 있다.
WDQS 디바이더(413)는 리셋 신호(RESET)에 응답하여 리셋될 수 있다. 이에 따라, WDQS 디바이더(413)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 리셋 값으로 초기화할 수 있다. WDQS 디바이더(413)는 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다.
예시적인 실시 예에 있어서, 적층형 메모리 장치(400)는 별도의 터미네이션(termination) 저항을 갖지 않고 쓰기 데이터 스트로브 신호(WDQS)를 송신 또는 수신할 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)는 고저항 상태(high-z)가 아닌 정적 로우(static low) 또는 정적 하이(static high) 상태일 수 있다. 이에 따라, WDQS 디바이더(413)의 리셋 동작이 용이하게 수행될 수 있다.
RDQS 송신기(414)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 읽기 데이터 스트로브 신호(RDQS)를 생성하고, 읽기 데이터 스트로브 신호(RDQS)를 외부의 호스트 장치로 전송할 수 있다. 읽기 데이터 스트로브 신호(RDQS)는 쓰기 데이터 스트로브 신호(WDQS)의 주파수와 동일한 주파수를 가지도록 생성될 수 있다.
데이터 트랜시버(415)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 데이터(DATA)를 포함하는 데이터 신호(DQ)를 송수신할 수 있다. 쓰기 동작에서, 데이터 트랜시버(415)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 데이터 신호(DQ)를 래치하여 데이터(DATA)를 수신할 수 있다. 수신된 데이터(DATA)는 TSV(403)를 통해 채널(CHa)을 지원하는 코어 다이(420)로 전송될 수 있다. 읽기 동작에서, 데이터 트랜시버(415)는 코어 다이(420)로부터 TSV(403)를 통해 전송된 데이터(DATA)를 수신할 수 있다. 데이터 트랜시버(415)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 데이터(DATA)를 포함하는 데이터 신호(DQ)를 외부의 호스트 장치로 전송할 수 있다. 데이터(DATA)는 읽기 데이터 스트로브 신호(RDQS)의 토글 타이밍들에 정렬되어 전송될 수 있다.
코어 다이(420)는 커맨드 디코더(421), 데이터 입출력 회로(422), 및 메모리 셀 어레이(423)를 포함할 수 있다. 커맨드 디코더(421), 데이터 입출력 회로(422), 및 메모리 셀 어레이(423)는 채널(CHa)을 지원하는 회로들일 수 있다.
커맨드 디코더(421)는 버퍼 다이(410)로부터 TSV(402)를 통해 전송되는 내부 커맨드(iCMD)를 디코딩할 수 있다. 예를 들어, 내부 커맨드(iCMD)는 메모리 셀 어레이(423)에 대한 활성화 커맨드, 쓰기 커맨드, 읽기 커맨드, 리프레시 커맨드 등을 포함할 수 있다. 쓰기 동작에서, 커맨드 디코더(421)는 쓰기 커맨드를 포함하는 내부 커맨드(iCMD)를 수신할 수 있다. 읽기 동작에서, 커맨드 디코더(421)는 읽기 커맨드를 포함하는 내부 커맨드(iCMD)를 수신할 수 있다. 커맨드 디코더(421)는 내부 커맨드(iCMD)에 따라 데이터 입출력 회로(422) 및 메모리 셀 어레이(423)를 제어할 수 있다.
데이터 입출력 회로(422)는 버퍼 다이(410)와 TSV(403)를 통해 데이터(DATA)를 송수신할 수 있다. 쓰기 동작에서, 데이터 입출력 회로(422)는 버퍼 다이(410)로부터 TSV(403)를 통해 전송되는 데이터(DATA)를 수신하고, 데이터(DATA)를 메모리 셀 어레이(423)로 전송할 수 있다. 메모리 셀 어레이(423)는 데이터(DATA)를 저장할 수 있다. 읽기 동작에서, 데이터 입출력 회로(422)는 메모리 셀 어레이(423)로부터 데이터(DATA)를 독출하고, 독출된 데이터(DATA)를 TSV(403)를 통해 버퍼 다이(410)로 전송할 수 있다.
예시적인 실시 예에서, 버퍼 다이(410)는 데이터(DATA)의 에러를 검출하고 정정하기 위한 ECC(Error Correction Code) 회로를 더 포함할 수 있다. 예를 들어, 쓰기 동작에서 ECC 회로는 데이터 트랜시버(415)를 통해 수신된 데이터(DATA)에 대한 에러 검출 비트들(예를 들어, 패리티 비트들)을 생성할 수 있다. 읽기 동작에서 ECC 회로는 에러 검출 비트들을 이용하여 코어 다이(420)로부터 전달된 데이터(DATA)의 에러를 검출 및 정정하여 에러 정정된 데이터(DATA)를 데이터 트랜시버(415)로 전달할 수 있다.
상술한 바와 같이, 적층형 메모리 장치(400)는 쓰기 데이터 스트로브 신호(WDQS)가 토글하기 전에 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 리셋 값들로 초기화할 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)의 토글링에 따라 생성되는 내부 쓰기 데이터 스트로브 신호들(dWDQS)이 원하는 위상들을 가질 수 있다. 이에 따라, 적층형 메모리 장치(400)는 별도의 오토-싱크를 수행하지 않고 내부 쓰기 데이터 스트로브 신호들(dWDQS)의 위상들을 조절할 수 있다. 적층형 메모리 장치(400)는 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 데이터(DATA)를 송수신할 수 있다.
도 14는 도 12의 적층형 메모리 장치의 예시적인 블록도이다. 도 14를 참조하면, 적층형 메모리 장치(400)는 버퍼 다이(410), 제1 코어 다이(420), 및 제2 코어 다이(430)를 포함할 수 있다. 제1 코어 다이(420) 및 제2 코어 다이(430)는 복수의 채널들 중 동일한 채널(CHa)을 지원할 수 있다. 이 경우, 코어 다이들(420, 430)은 스택 아이디(SID)로 구분될 수 있다. 예를 들어, 제1 코어 다이(420)는 제1 스택 아이디(SID0)에 대응하고, 제2 코어 다이(430)는 제2 스택 아이디(SID1)에 대응할 수 있다. 도 14에는 제1 코어 다이(420)와 제2 코어 다이(430) 사이에 다른 코어 다이가 존재하지 않는 것으로 도시되었으나, 제1 코어 다이(420)와 제2 코어 다이(430) 사이에는 다른 코어 다이가 위치할 수 있다.
버퍼 다이(410)와 코어 다이들(420, 430)은 TSV 영역(401)에 위치하는 TSV들(402, 403)을 통해 통신할 수 있다. 예를 들어, 버퍼 다이(410)는 TSV(402)를 통해 제1 코어 다이(420) 및/또는 제2 코어 다이(430)로 내부 커맨드(iCMD)를 전송하고, TSV(403)를 통해 제1 코어 다이(420) 및/또는 제2 코어 다이(430)와 데이터(DATA)를 송수신할 수 있다. 도 14에는 버퍼 다이(410)가 동일한 TSV들(402, 403)을 이용하여 코어 다이들(420, 430)과 통신하는 것으로 도시되어 있으나, 버퍼 다이(410)는 코어 다이들(420, 430) 각각에 대응하는 별도의 TSV들을 이용하여 통신할 수 있다.
제2 코어 다이(430)는 커맨드 디코더(431), 데이터 입출력 회로(432), 및 메모리 셀 어레이(433)를 포함할 수 있다. 커맨드 디코더(431), 데이터 입출력 회로(432), 및 메모리 셀 어레이(433)는, 도 13을 참조하여 설명한 바와 같이, 제1 코어 다이(420)의 커맨드 디코더(421), 데이터 입출력 회로(422), 및 메모리 셀 어레이(423)와 실질적으로 동일하게 동작할 수 있다.
C/A 수신기(411)는 클럭 신호(CK)를 기반으로 커맨드/어드레스 신호(C/A)를 래치하여 커맨드(CMD) 및 스택 아이디(SID)를 수신할 수 있다. 스택 아이디(SID)는 동일한 채널을 지원하는 코어 다이들을 구분하기 위해 적어도 하나의 코어 다이를 나타내는 어드레스일 수 있다. 수신된 커맨드(CMD) 및 스택 아이디(SID)는 제어 로직 회로(412)로 제공될 수 있다.
제어 로직 회로(412)는 스택 아이디(SID)에 기초하여 내부 커맨드(iCMD)를 제1 코어 다이(420) 및 제2 코어 다이(430) 중 적어도 하나로 전송할 수 있다. 예를 들어, 스택 아이디(SID)가 제1 스택 아이디(SID0)를 나타내는 경우, 제어 로직 회로(412)는 내부 커맨드(iCMD)를 제1 코어 다이(420)로 전송할 수 있다.
예시적인 실시 예에서, 도 14에 도시된 바와 같이, 공통의 TSV들(402, 403)을 통해 코어 다이들(420, 430)로 내부 커맨드(iCMD) 및 데이터(DATA)가 전달되는 경우, 버퍼 다이(410)는 코어 다이들(420, 430)로 스택 아이디(SID)를 전달할 수 있다. 코어 다이들(420, 430)은 전달된 스택 아이디(SID)를 디코딩하여 선택적으로 내부 커맨드(iCMD) 및 데이터(DATA)를 수신할 수 있다. 예를 들어, 스택 아이디(SID)가 제1 스택 아이디(SID0)를 나타내는 경우, 제1 코어 다이(420)가 TSV들(420, 430)을 통해 전달되는 내부 커맨드(iCMD) 및 데이터(DATA)를 수신할 수 있다. 이 경우, 제2 코어 다이(430)는 TSV들(420, 430)을 통해 전달되는 내부 커맨드(iCMD) 및 데이터(DATA)를 수신하지 않을 수 있다.
다른 실시 예에서, 별도의 TSV들을 통해 코어 다이들(420, 430)로 내부 커맨드(iCMD) 및 데이터(DATA)가 전달되는 경우, 버퍼 다이(410)는 스택 아이디(SID)에 대응하는 코어 다이로 별도의 TSV들을 통해 내부 커맨드(iCMD) 및 데이터(DATA)를 전달할 수 있다.
상술한 바와 같이, 코어 다이들(420, 430)이 동일한 채널(CHa)을 지원하는 경우, 적층형 메모리 장치(400)는 스택 아이디(SID)에 따라 제1 코어 다이(420) 및 제2 코어 다이(430) 중 적어도 하나를 기반으로 쓰기 동작 및 읽기 동작을 수행할 수 있다.
도 15는 도 13의 버퍼 다이의 하나의 실시 예를 보여주는 블록도이다. 도 15를 참조하면, 버퍼 다이(410)는 커맨드 어드레스 입출력 블록(AWORD) 및 데이터 입출력 블록들(DWORD0~DWORD3)을 포함할 수 있다. 도 15에서는 버퍼 다이(410)가 4개의 데이터 입출력 블록들(DWORD0~DWORD3)을 포함하는 것으로 설명되나, 버퍼 다이(410)는 다양한 개수의 데이터 입출력 블록들을 포함할 수 있다. 예를 들어, 버퍼 다이(410)는 2개의 데이터 입출력 블록들을 포함할 수 있다.
커맨드 어드레스 입출력 블록(AWORD)은 C/A 수신기(411), 제어 로직 회로(412), 및 클럭 트리(416)를 포함할 수 있다. C/A 수신기(411)는 제2 패드(P2)로부터 수신되는 클럭 신호(CK)를 기반으로 제1 패드(P1)로부터 수신되는 커맨드/어드레스 신호(C/A)를 래치하여 커맨드(CMD)를 수신할 수 있다. 제어 로직 회로(412)는 커맨드(CMD) 또는 파워 상태 정보(PWS)에 기초하여 리셋 신호(RESET)를 생성하고, 리셋 신호(RESET)를 데이터 입출력 블록들(DWORD0~DWORD3) 각각으로 전송할 수 있다. 제어 로직 회로(412)는 커맨드(CMD)에 따라 내부 커맨드(iCMD)를 생성하고, 내부 커맨드(iCMD)를 코어 다이(420)로 전송할 수 있다. 클럭 트리(416)는 다수의 인버터들을 포함하는 인버터 체인으로 구성될 수 있다. 클럭 신호(CK)로부터 클럭 트리(416)를 통해 생성된 내부 클럭 신호(iCK)는 데이터 입출력 블록들(DWORD0~DWORD3) 각각으로 전송될 수 있다.
데이터 입출력 블록들(DWORD0~DWORD3) 각각은 커맨드 어드레스 입출력 블록(AWORD)으로부터 내부 클럭 신호(iCK) 및 리셋 신호(RESET)를 수신할 수 있다. 데이터 입출력 블록들(DWORD0~DWORD3) 각각은 WDQS 디바이더(413), RDQS 송신기(414), 및 데이터 트랜시버(415)를 포함할 수 있다. WDQS 디바이더(413)는 제3 패드(P3)로부터 수신되는 쓰기 데이터 스트로브 신호(WDQS)를 기반으로 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 생성할 수 있다. WDQS 디바이더(413)는 리셋 신호(RESET)에 응답하여 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 리셋 값으로 초기화할 수 있다. RDQS 송신기(414)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 읽기 데이터 스트로브 신호(RDQS)를 생성할 수 있다. 읽기 데이터 스트로브 신호(RDQS)는 제4 패드(P4)를 통해 외부의 호스트 장치로 전송될 수 있다. 데이터 트랜시버(415)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 코어 다이(420)로부터 전송된 데이터(DATA)를 포함하는 데이터 신호(DQ)를 생성할 수 있다. 데이터 신호(DQ)는 제5 패드(P5)를 통해 외부의 호스트 장치로 전송될 수 있다.
상술한 바와 같이, 클럭 신호(CK)가 수신되는 제2 패드(P2)는 커맨드 어드레스 입출력 블록(AWORD)에 위치하고, 쓰기 데이터 스트로브 신호(WDQS) 및 읽기 데이터 스트로브 신호(RDQS)가 수신되는 제3 및 제4 패드들(P3, P4)은 데이터 입출력 블록(DWORD)에 위치할 수 있다. 커맨드 어드레스 입출력 블록(AWORD)에서 수신되는 클럭 신호(CK)는 클럭 트리(416)를 통해 데이터 입출력 블록(DWORD)으로 전달될 수 있다. 이에 따라, 클럭 신호(CK)에 기초하여 읽기 데이터 스트로브 신호(RDQS)가 생성되는 경우, 클럭 신호(CK)가 전달되는 경로 상에 위치하는 인버터 체인으로 인하여 전력 잡음 및 공정-전압-온도(PVT; Process-Voltage-Temperature) 변화에 따른 영향이 증가될 수 있다. 데이터 입출력 블록(DWORD)에서 수신되는 쓰기 데이터 스트로브 신호(WDQS)에 기초하여 읽기 데이터 스트로브 신호(RDQS)가 생성되는 경우, 쓰기 데이터 스트로브 신호(WDQS)가 전달되는 경로 상에 인버터 체인이 위치하지 않으므로 PVT 변화에 따른 영향 및 전력 잡음이 감소될 수 있다. 이에 따라, 읽기 데이터 스트로브 신호(RDQS)의 신뢰성이 향상될 수 있다.
도 16은 본 발명의 하나의 실시 예에 따른 반도체 패키지를 보여주는 도면이다. 도 16를 참조하면, 반도체 패키지(1000)는 적층형 메모리 장치(1100), 시스템 온 칩(1200), 인터포저(1300), 및 패키지 기판(1400)을 포함할 수 있다. 적층형 메모리 장치(1100)는 버퍼 다이(1110) 및 코어 다이들(1120~1150)을 포함할 수 있다. 버퍼 다이(1110)는 도 12의 버퍼 다이(310)에 대응할 수 있고, 코어 다이들(1120~1150) 각각은 도 12의 코어 다이들(320~350) 각각에 대응할 수 있다.
코어 다이들(1120~1150) 각각은 메모리 셀 어레이를 포함할 수 있다. 버퍼 다이(1110)는 물리 계층(1111) 및 직접 접근 영역(DAB, 1112)을 포함할 수 있다. 물리 계층(1111)은 시스템 온 칩(1200)의 물리 계층(1210)과 인터포저(1300)를 통해 전기적으로 연결될 수 있다. 적층형 메모리 장치(1100)는 물리 계층(1111)을 통해 시스템 온 칩(1200)으로부터 신호들을 수신하거나, 또는 시스템 온 칩(1200)으로 신호들을 전송할 수 있다. 물리 계층(1111)은 도 13을 참조하여 설명한 버퍼 다이(410)의 인터페이스 회로들을 포함할 수 있다.
직접 접근 영역(1112)은 시스템 온 칩(1200)을 통하지 않고 적층형 메모리 장치(1100)를 테스트할 수 있는 접근 경로를 제공할 수 있다. 직접 접근 영역(1112)은 외부의 테스트 장치와 직접 통신할 수 있는 도전 수단(예를 들어, 포트 또는 핀)을 포함할 수 있다. 직접 접근 영역(1112)을 통해 수신된 테스트 신호 및 데이터는 TSV들을 통해 코어 다이들(1120~1150)로 전송될 수 있다. 코어 다이들(1120~1150)의 테스트를 위해 코어 다이들(1120~1150)로부터 독출된 데이터는 TSV들 및 직접 접근 영역(1112)을 통해 테스트 장치로 전송될 수 있다. 이에 따라, 코어 다이들(1120~1150)에 대한 직접 접근 테스트가 수행될 수 있다.
버퍼 다이(1110)와 코어 다이들(1120~1150)은 TSV들(1101) 및 범프들(1102)을 통해 서로 전기적으로 연결될 수 있다. 버퍼 다이(1110)는 시스템 온 칩(1200)으로부터 채널 별로 할당된 범프들(1102)을 통해 각각의 채널로 제공되는 신호들을 수신할 수 있다. 예를 들어, 범프들(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)은 물리 계층(1210) 및 메모리 컨트롤러(1220)를 포함할 수 있다. 물리 계층(1210)은 적층형 메모리 장치(1100)의 물리 계층(1111)과 신호들을 송수신하기 위한 입출력 회로들을 포함할 수 있다. 시스템 온 칩(1200)은 물리 계층(1210)을 통해 물리 계층(1111)으로 다양한 신호들을 제공할 수 있다. 물리 계층(1111)으로 제공된 신호들은 물리 계층(1111)의 인터페이스 회로들 및 TSV들(1101)을 통해 코어 다이들(1120~1150)로 전달될 수 있다.
메모리 컨트롤러(1220)는 적층형 메모리 장치(1100)의 전반적인 동작을 제어할 수 있다. 메모리 컨트롤러(1220)는 물리 계층(1210)을 통해 적층형 메모리 장치(1100)를 제어하기 위한 신호들을 적층형 메모리 장치(1100)로 전송할 수 있다. 메모리 컨트롤러(1220)는 도 1의 메모리 컨트롤러(100)에 대응할 수 있다.
인터포저(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)일 수 있다.
도 17은 본 발명의 하나의 실시 예에 따른 반도체 패키지의 구현 예시를 보여주는 도면이다. 도 17을 참조하면, 반도체 패키지(2000)는 복수의 적층형 메모리 장치들(2100) 및 시스템 온 칩(2200)을 포함할 수 있다. 적층형 메모리 장치들(2100)과 시스템 온 칩(2200)은 인터포저(2300) 상에 적층되고, 인터포저(2300)는 패키지 기판(2400) 상에 적층될 수 있다. 반도체 패키지(2000)는 패키지 기판(2400) 하부에 부착된 솔더볼(2001)을 통해 외부의 다른 패키지 또는 반도체 장치들과 신호들을 송수신할 수 있다.
적층형 메모리 장치들(2100) 각각은 HBM 표준을 기반으로 구현될 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 적층형 메모리 장치들(2100) 각각은 GDDR, HMC, 또는 Wide I/O 표준을 기반으로 구현될 수 있다. 적층형 메모리 장치들(2100) 각각은 도 12 내지 도 16의 적층형 메모리 장치(300, 400, 1100)에 대응할 수 있다.
시스템 온 칩(2200)은 CPU, AP, GPU, NPU 등의 적어도 하나의 프로세서 및 복수의 적층형 메모리 장치들(2100)을 제어하기 위한 복수의 메모리 컨트롤러들을 포함할 수 있다. 시스템 온 칩(2200)은 메모리 컨트롤러를 통해 대응하는 적층형 메모리 장치와 신호들을 송수신할 수 있다. 시스템 온 칩(2200)은 도 16의 시스템 온 칩(1200)에 대응할 수 있다.
도 18은 본 발명의 다른 실시 예에 따른 반도체 패키지를 보여주는 도면이다. 도 18을 참조하면, 반도체 패키지(3000)는 적층형 메모리 장치(3100), 호스트 다이(3200), 및 패키지 기판(3300)을 포함할 수 있다. 적층형 메모리 장치(3100)는 버퍼 다이(3110) 및 코어 다이들(3120~3150)을 포함할 수 있다. 버퍼 다이(3110)는 호스트 다이(3200)와 통신하기 위한 물리 계층(3111)을 포함하고, 코어 다이들(3120~3150) 각각은 메모리 셀 어레이를 포함할 수 있다. 적층형 메모리 장치(3100)는 도 12 및 도 13의 적층형 메모리 장치(300, 400)에 대응할 수 있다.
호스트 다이(3200)는 적층형 메모리 장치(3100)와 통신하기 위한 물리 계층(3210) 및 적층형 메모리 장치(3100)의 전반적인 동작을 제어하기 위한 메모리 컨트롤러(3220)를 포함할 수 있다. 또한, 호스트 다이(3200)는 반도체 패키지(3000)의 전반적인 동작을 제어하고, 반도체 패키지(3000)가 지원하는 어플리케이션을 실행하기 위한 프로세서를 포함할 수 있다. 예를 들어, 호스트 다이(3200)는 CPU, AP, GPU, NPU 등의 적어도 하나의 프로세서를 포함할 수 있다.
적층형 메모리 장치(3100)는 TSV들(3001)을 기반으로 호스트 다이(3200) 상에 배치되어, 호스트 다이(3200) 상에 수직으로 적층될 수 있다. 이에 따라, 버퍼 다이(3110), 코어 다이들(3120~3150), 및 호스트 다이(3200)는 인터포저 없이 TSV들(3001)과 범프들(3002)을 통해 서로 전기적으로 연결될 수 있다. 예를 들어, 범프들(3002)은 마이크로 범프들일 수 있다.
패키지 기판(3300) 상부에는 범프들(3003)이 부착되고, 하부에는 솔더볼(3004)이 부착될 수 있다. 예를 들어, 범프들(3003)은 플립-칩 범프들일 수 있다. 호스트 다이(3200)는 범프들(3003)을 통해 패키지 기판(3300) 상에 적층될 수 있다. 반도체 패키지(3000)는 솔더볼(3004)을 통해 외부의 다른 패키지 또는 반도체 장치들과 신호를 송수신할 수 있다.
다른 실시 예에 있어서, 적층형 메모리 장치(3100)는 버퍼 다이(3110) 없이 코어 다이들(3120~3150)만으로 구현될 수 있다. 이 경우, 코어 다이들(3120~3250) 각각은 도 1 내지 도 15를 참조하여 설명한 바와 같이 호스트 다이(3200)와 통신하기 위한 인터페이스 회로들을 포함할 수 있다. 코어 다이들(3120~3250) 각각은 TSV들(3001)을 통해 호스트 다이(3200)와 신호들을 송수신할 수 있다.
도 19는 본 발명의 하나의 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다. 컴퓨팅 시스템(4000)은 하나의 전자 장치로 구현되거나, 또는 두 개 이상의 전자 장치들 상에 분산되어 구현될 수 있다. 예를 들어, 컴퓨팅 시스템(4000)은 데스크톱(desktop) 컴퓨터, 랩톱(laptop) 컴퓨터, 태블릿(tablet) 컴퓨터, 스마트폰, 자율주행 자동차, 디지털 카메라, 웨어러블(wearable) 기기, 헬스케어 기기, 서버 시스템, 데이터 센터, 드론, 휴대용 게임 콘솔(handheld game console), IoT(Internet of Things) 기기, 그래픽 가속기, AI 가속기 등과 같은 다양한 전자 장치들 중 적어도 하나로 구현될 수 있다.
도 19를 참조하면, 컴퓨팅 시스템(4000)은 호스트(4100), 가속기 서브시스템(4200), 및 인터커넥트(4300)를 포함할 수 있다. 호스트(4100)는 가속기 서브시스템(4200)의 전반적인 동작을 제어하고, 가속기 서브시스템(4200)은 호스트(4100)의 제어에 따라 동작할 수 있다. 호스트(4100)와 가속기 서브시스템(4200)은 인터커넥트(4300)를 통해 연결될 수 있다. 인터커넥트(4300)를 통해 호스트(4100) 및 가속기 서브시스템(4200) 사이에 각종 신호들 및 데이터가 송수신될 수 있다.
호스트(4100)는 호스트 프로세서(4110), 호스트 메모리 컨트롤러(4120), 호스트 메모리(4130), 및 인터페이스(4140)를 포함할 수 있다. 호스트 프로세서(4110)는 컴퓨팅 시스템(4000)의 전반적인 동작을 제어할 수 있다. 호스트 프로세서(4110)는 호스트 메모리 컨트롤러(4120)를 통해 호스트 메모리(4130)를 제어할 수 있다. 예를 들어, 호스트 프로세서(4110)는 호스트 메모리(4130)로부터 데이터를 독출하거나 호스트 메모리(4130)에 데이터를 기입할 수 있다. 호스트 프로세서(4110)는 인터커넥트(4300)를 통해 연결된 가속기 서브시스템(4200)을 제어할 수 있다. 예를 들어, 호스트 프로세서(4110)는 가속기 서브시스템(4200)으로 명령을 전송하여 가속기 서브시스템(4200)에 작업을 할당할 수 있다.
호스트 프로세서(4110)는 컴퓨팅 시스템(4000)의 다양한 동작들과 연관된 일반적인 연산들을 수행하는 범용 프로세서 또는 메인 프로세서일 수 있다. 예를 들어, 호스트 프로세서(4110)는 CPU 또는 AP일 수 있다.
호스트 메모리(4130)는 컴퓨팅 시스템(4000)의 메인 메모리일 수 있다. 호스트 메모리(4130)는 호스트 프로세서(4110)에서 처리된 데이터를 저장하거나, 또는 가속기 서브시스템(4200)으로부터 수신된 데이터를 저장할 수 있다. 예를 들어, 호스트 메모리(4130)는 DRAM으로 구현될 수 있다.
인터페이스(4140)는 호스트(4100)가 가속기 서브시스템(4200)과 통신을 수행하도록 구성될 수 있다. 호스트 프로세서(4110)는 인터페이스(4140)를 통해 제어 신호들 및 데이터를 가속기 서브시스템(4200)으로 전송하고, 가속기 서브시스템(4200)으로부터 신호들 및 데이터를 수신할 수 있다. 예시적인 실시 예에서, 호스트 프로세서(4110), 호스트 메모리 컨트롤러(4120), 및 인터페이스(4140)는 하나의 칩으로 구현될 수 있다.
가속기 서브시스템(4200)은 호스트(4100)의 제어에 따라 특정 기능을 수행할 수 있다. 예를 들어, 가속기 서브시스템(4200)은 호스트(4100)의 제어에 따라 특정 응용에 특화된 연산들을 수행할 수 있다. 가속기 서브시스템(4200)은 호스트(4100)에 물리적 또는 전기적으로 연결되거나, 유선 또는 무선으로 연결되도록 모듈, 카드, 패키지, 칩, 장치와 같은 다양한 형태들로 구현될 수 있다. 예를 들어, 가속기 서브시스템(4200)은 도 16 내지 도 18을 참조하여 설명한 반도체 패키지들 중 하나로 구현될 수 있다. 예를 들어, 가속기 서브시스템(4200)은 그래픽 카드 또는 가속기 카드로서 구현될 수 있다. 예를 들어, 가속기 서브시스템(4200)은 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit) 기반으로 구현될 수 있다.
예시적인 실시 예에서, 가속기 서브시스템(4200)은 다양한 패키징 기법들 중 하나를 기반으로 구현될 수 있다. 예를 들어, 가속기 서브시스템(4200)은 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)와 같은 패키징 기법으로 구현될 수 있다. 일 예시로서, 가속기 서브시스템(4200)의 일부 또는 전체 구성 요소들은 카파-투-카파 본딩(copper-to-copper boding)을 통해 연결될 수 있다. 일 예시로서, 가속기 서브시스템(4200)의 일부 또는 전체 구성 요소들은 실리콘 인터포저(Silicon interposer), 오가닉(organic) 인터포저, 글래스(glass) 인터포저, 또는 능동형(active) 인터포저와 같은 인터포저를 통해 연결될 수 있다. 일 예시로서, 가속기 서브시스템(4200)의 일부 또는 전체 구성 요소들은 TSV를 기반으로 적층될 수 있다. 일 예시로서, 가속기 서브시스템(4200)의 일부 또는 전체 구성 요소들은 고속 연결 통로(예를 들어, 실리콘 브릿지(bridge))를 통해 연결될 수 있다.
가속기 서브시스템(4200)은 전용 프로세서(4210), 로컬 메모리 컨트롤러(4220), 로컬 메모리(4230), 및 호스트 인터페이스(4240)를 포함할 수 있다. 전용 프로세서(4210)는 호스트 프로세서(4110)의 제어에 따라 동작할 수 있다. 예를 들어, 전용 프로세서(4210)는 호스트 프로세서(4110)의 명령에 응답하여 로컬 메모리 컨트롤러(4220)를 통해 로컬 메모리(4230)로부터 데이터를 독출할 수 있다. 전용 프로세서(4210)는 독출된 데이터를 기반으로 연산을 수행하여 데이터를 처리할 수 있다. 전용 프로세서(4210)는 처리된 데이터를 호스트 프로세서(4110)로 전달하거나, 또는 로컬 메모리(4230)에 기입할 수 있다.
전용 프로세서(4210)는 로컬 메모리(4230)에 저장된 값을 기반으로 특정 응용에 특화된 연산들을 수행할 수 있다. 예를 들어, 전용 프로세서(4210)는 인공지능, 스트리밍 분석, 비디오 트랜스코딩, 데이터 인덱싱, 데이터 인코딩/디코딩, 데이터 암호화 등과 같은 응용들에 특화된 연산들을 수행할 수 있다. 이에 따라, 전용 프로세서(4210)는 이미지 데이터, 음성 데이터, 모션 데이터, 생체 데이터, 키 값 등 다양한 유형들의 데이터를 처리할 수 있다. 예를 들어, 전용 프로세서(4210)는 GPU, NPU, TPU, VPU, ISP 및 DSP 중 적어도 하나를 포함할 수 있다.
전용 프로세서(4210)는 하나의 프로세서 코어를 포함하거나, 듀얼 코어, 쿼드 코어, 헥사 코어 등 복수의 프로세서 코어들을 포함할 수 있다. 예시적인 실시 예에서, 전용 프로세서(4210)는 병렬성에 특화된 연산을 위해 호스트 프로세서(4110)보다 많은 수의 코어들을 포함할 수 있다. 예를 들어, 전용 프로세서(4210)는 1000개 이상의 코어들을 포함할 수 있다.
예시적인 실시 예에서, 전용 프로세서(4210)는 이미지 데이터 연산에 특화된 프로세서일 수 있다. 이 경우, 전용 프로세서(4210)는 로컬 메모리 컨트롤러(4220)를 통해 로컬 메모리(4230)에 저장된 이미지 데이터를 독출하여 연산을 수행할 수 있다. 전용 프로세서(4210)는 연산 결과를 호스트 프로세서(4110)로 전달하거나, 또는 로컬 메모리(4230)에 저장할 수 있다. 호스트 프로세서(4110)는 전달된 연산 결과를 호스트 메모리(4130) 또는 별도의 메모리에 할당된 프레임 버퍼에 저장할 수 있다. 프레임 버퍼에 저장된 데이터는 별도의 디스플레이 장치로 전달될 수 있다.
예시적인 실시 예에서, 전용 프로세서(4210)는 신경망 기반의 훈련 연산 및 추론 연산에 특화된 프로세서일 수 있다. 전용 프로세서(4210)는 로컬 메모리(4230)로부터 신경망 파라미터들(예를 들어, 신경망 모델 파라미터, 가중치, 바이어스 등)을 독출하여 훈련 연산 또는 추론 연산을 수행할 수 있다. 신경망 파라미터들은 호스트 프로세서(4110)로부터 제공되거나, 전용 프로세서(4210)에 의해 처리된 값이거나, 또는 미리 저장된 값일 수 있다. 예를 들어, 호스트 프로세서(4110)는 전용 프로세서(4210)로 추론 연산을 위한 가중치 파라미터들을 제공할 수 있다. 이 경우, 가중치 파라미터들은 호스트 프로세서(4110)의 훈련 연산을 통해 업데이트된 파라미터들일 수 있다. 전용 프로세서(4210)는 로컬 메모리(4230)의 신경망 파라미터들을 기반으로 행렬곱 연산, 누적 연산 등을 통해 훈련 또는 추론을 수행할 수 있다. 전용 프로세서(4210)는 연산 결과를 호스트 프로세서(4110)로 전달하거나, 또는 로컬 메모리(4230)에 저장할 수 있다.
로컬 메모리 컨트롤러(4220)는 로컬 메모리(4230)의 전반적인 동작을 제어할 수 있다. 예시적인 실시 예에서, 로컬 메모리 컨트롤러(4220)는 로컬 메모리(4230)에 기입될 데이터를 처리하고, 처리된 데이터를 로컬 메모리(4230)에 기입할 수 있다. 또는, 로컬 메모리 컨트롤러(4220)는 로컬 메모리(4230)로부터 독출된 데이터를 처리할 수 있다. 예를 들어, 로컬 메모리 컨트롤러(4220)는 ECC(Error Correction Code) 인코딩 및 ECC 디코딩을 수행하거나, 순환중복검사(CRC; Cyclic Redundancy Check) 방식으로 데이터 검증을 수행하거나, 또는 데이터 암호화 및 데이터 복호화를 수행할 수 있다. 로컬 메모리 컨트롤러(4220)는 도 1 내지 도 18을 참조하여 설명된 메모리 컨트롤러에 대응할 수 있다. 예를 들어, 로컬 메모리 컨트롤러(4220)는 로컬 메모리(4230)의 쓰기 동작 및 읽기 동작을 위해 로컬 메모리(4230)로 토글하는 쓰기 데이터 스트로브 신호(WDQS)를 전송할 수 있다. 이 경우, 쓰기 데이터 스트로브 신호(WDQS)의 프리앰블의 싸이클 수와 포스트앰블의 싸이클 수의 합은 짝수일 수 있다.
로컬 메모리(4230)는 전용 프로세서(4210)에 의해 전용으로 사용될 수 있다. 예시적인 실시 예에서, 로컬 메모리(4230)는 전용 프로세서(4210)와 함께 하나의 기판 상에 실장되거나, 또는 별도의 커넥터를 기반으로 전용 프로세서(4210)와 연결되도록 다이, 칩, 패키지, 모듈, 카드, 장치와 같은 다양한 형태들로 구현될 수 있다. 로컬 메모리(4230)는 도 1 내지 도 18을 참조하여 설명된 메모리 장치 또는 적층형 메모리 장치에 대응할 수 있다. 예를 들어, 로컬 메모리(4230)는 로컬 메모리 컨트롤러(4220)로부터 전송된 쓰기 데이터 스트로브 신호(WDQS)의 주파수를 분주하여 원하는 위상들을 가지는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 저전력으로 생성할 수 있다. 로컬 메모리(4230)는 내부 쓰기 데이터 스트로브 신호들(dWDQS)을 기반으로 로컬 메모리 컨트롤러(4220)와 고속으로 통신할 수 있다.
예시적인 실시 예에서, 로컬 메모리(4230)는 32개 이상의 데이터 핀들을 포함하는 구조를 가질 수 있다. 예를 들어, 로컬 메모리(4230)는 광대역폭을 제공하기 위해 1024개 이상의 데이터 핀들을 포함할 수 있다. 이에 따라, 로컬 메모리(4230)의 칩당 버스폭은 호스트 메모리(4130)의 칩당 버스폭보다 클 수 있다.
예시적인 실시 예에서, 로컬 메모리(4230)는 DDR, LPDDR, GDDR, HBM, HMC, 또는 Wide I/O 표준 인터페이스를 기반으로 동작할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 로컬 메모리(4230)는 다양한 표준 인터페이스들을 기반으로 동작할 수 있다.
예시적인 실시 예에서, 로컬 메모리(4230)는 일부 연산들을 수행할 수 있는 로직 회로를 포함할 수 있다. 로직 회로는 로컬 메모리(4230)로부터 독출된 데이터 또는 로컬 메모리(4230)에 기입될 데이터에 대하여 선형 연산, 비교 연산, 압축 연산, 데이터 변환 연산, 산술 연산 등을 수행할 수 있다. 이에 따라, 로직 회로에 의해 처리된 데이터의 크기가 감소될 수 있다. 데이터 크기가 감소되는 경우, 로컬 메모리(4230)와 로컬 메모리 컨트롤러(4220) 사이의 대역폭 효율성이 향상될 수 있다.
호스트 인터페이스(4240)는 가속기 서브시스템(4200)이 호스트(4100)와 통신을 수행하도록 구성될 수 있다. 가속기 서브시스템(4200)은 호스트 인터페이스(4240)를 통해 신호 및 데이터를 호스트(4100)로 송신하고, 호스트(4100)로부터 제어 신호 및 데이터를 수신할 수 있다. 예시적인 실시 예에서, 전용 프로세서(4210), 로컬 메모리 컨트롤러(4220), 및 호스트 인터페이스(4240)는 하나의 칩으로 구현될 수 있다.
인터커넥트(4300)는 호스트(4100)와 가속기 서브시스템(4200) 사이에 데이터 전송 경로를 제공하고, 데이터 버스 또는 데이터 링크로서 역할을 수행할 수 있다. 데이터 전송 경로는 유선 또는 무선으로 형성될 수 있다. 인터페이스(4140) 및 호스트 인터페이스(4240)는 인터커넥트(4300)를 통해 미리 정해진 규약을 기반으로 통신할 수 있다. 예를 들어, 인터페이스들(4140, 4240)은 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 등과 같은 다양한 표준들 중 하나에 기반하여 통신할 수 있다. 또는 인터페이스들(4140, 4240)은 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) 등과 같은 무선 통신 기술을 기반으로 통신할 수 있다.
예시적인 실시 예에서, 가속기 서브시스템(4200)은 이미지 데이터, 음성 데이터, 모션 데이터, 생체 데이터, 주변 환경 정보 등을 감지할 수 있는 센서를 더 포함할 수 있다. 예시적인 실시 예에서, 센서가 가속기 서브시스템(4200)에 포함되는 경우, 센서는 상술한 패키징 기법을 기반으로 다른 구성 요소들(예를 들어, 전용 프로세서(4210) 및 로컬 메모리(4230))과 연결될 수 있다. 가속기 서브시스템(4200)은 특정 연산들을 기반으로 센서를 통해 감지된 데이터를 처리할 수 있다.
도 19에서는 전용 프로세서(4210)가 하나의 로컬 메모리 컨트롤러(4220)를 통해 하나의 로컬 메모리(4230)를 이용하는 것으로 도시되어 있으나, 본 발명이 이에 한정되는 것은 아니다. 일 예로서, 전용 프로세서(4210)는 하나의 로컬 메모리 컨트롤러(4220)를 통해 복수의 로컬 메모리들을 이용할 수 있다. 다른 예로서, 전용 프로세서(4210)는 복수의 로컬 메모리 컨트롤러들을 통해 각각에 대응하는 로컬 메모리를 이용할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
10: 메모리 시스템
100: 메모리 컨트롤러
110: 메모리 인터페이스
200: 메모리 장치
210: 호스트 인터페이스
211: 커맨드/어드레스 신호 수신기
212: 제어 로직 회로
213: 쓰기 데이터 스트로브 신호 디바이더
214: 읽기 데이터 스트로브 신호 송신기
215: 데이터 트랜시버
220: 메모리 셀 어레이
300, 400: 적층형 메모리 장치
100: 메모리 컨트롤러
110: 메모리 인터페이스
200: 메모리 장치
210: 호스트 인터페이스
211: 커맨드/어드레스 신호 수신기
212: 제어 로직 회로
213: 쓰기 데이터 스트로브 신호 디바이더
214: 읽기 데이터 스트로브 신호 송신기
215: 데이터 트랜시버
220: 메모리 셀 어레이
300, 400: 적층형 메모리 장치
Claims (20)
- 각각이 독립적인 인터페이스를 구성하는 채널들에 기초하여 외부의 호스트 장치와 통신을 수행하는 버퍼 다이; 및
실리콘 관통 전극을 통해 상기 버퍼 다이 상에 적층되고, 각각이 상기 채널들 중 적어도 하나에 대응하는 메모리 셀 어레이를 포함하는 복수의 코어 다이들을 포함하고,
상기 버퍼 다이는,
상기 호스트 장치로부터 제1 채널로 제공되는 클럭 신호에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 커맨드를 수신하도록 구성된 커맨드/어드레스 수신기;
상기 수신된 커맨드에 따라 내부 커맨드를 생성하고, 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터 스트로브 신호가 토글하기 전에 리셋 신호를 생성하도록 구성된 제어 로직 회로;
상기 쓰기 데이터 스트로브 신호의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 복수의 내부 쓰기 데이터 스트로브 신호들을 생성하고, 상기 리셋 신호에 응답하여 상기 복수의 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화하도록 구성된 쓰기 데이터 스트로브 신호 디바이더; 및
상기 복수의 내부 쓰기 데이터 스트로브 신호들에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터를 수신하도록 구성된 데이터 트랜시버를 포함하고,
상기 복수의 코어 다이들 중 상기 제1 채널을 지원하는 코어 다이는 상기 버퍼 다이로부터 전송된 상기 내부 커맨드에 응답하여 상기 버퍼 다이로부터 전송된 상기 쓰기 데이터를 저장하도록 구성되는 메모리 장치. - 제 1 항에 있어서,
상기 제어 로직 회로는 상기 수신된 커맨드 또는 상기 메모리 장치의 파워 상태에 기초하여 상기 리셋 신호를 생성하는 메모리 장치. - 제 2 항에 있어서,
상기 메모리 장치가 파워-업 상태가 되는 경우, 상기 제어 로직 회로는 상기 리셋 신호를 생성하는 메모리 장치. - 제 2 항에 있어서,
상기 메모리 장치의 상기 제1 채널이 파워 다운 종료(power down exit) 상태가 되거나 셀프 리프레시 종료 상태가 되는 경우, 상기 제어 로직 회로는 상기 리셋 신호를 생성하는 메모리 장치. - 제 2 항에 있어서,
상기 제어 로직 회로는 액티브 커맨드, 쓰기 커맨드, 읽기 커맨드, 및 디바이더 리셋 커맨드 중 적어도 하나에 응답하여 상기 리셋 신호를 생성하는 메모리 장치. - 제 1 항에 있어서,
상기 쓰기 데이터 스트로브 신호가 토글하는 동안 상기 쓰기 데이터 스트로브 신호의 프리앰블 싸이클 수와 포스트앰블 싸이클 수의 합은 짝수인 메모리 장치. - 제 1 항에 있어서,
상기 쓰기 데이터 스트로브 신호가 토글하기 전에 상기 쓰기 데이터 스트로브 신호는 고정된 로우 값 또는 고정된 하이 값을 유지하는 메모리 장치. - 제 1 항에 있어서,
상기 미리 정해진 값들은 상기 쓰기 데이터 스트로브 신호의 상기 프리앰블 싸이클 수에 따라 정해지는 메모리 장치. - 제 1 항에 있어서,
상기 쓰기 데이터 스트로브 신호 디바이더는 상기 리셋 신호에 응답하여 상기 복수의 내부 쓰기 데이터 스트로브 신호들 중 절반의 신호들 각각을 로우 레벨로 초기화하고, 상기 복수의 내부 쓰기 데이터 스트로브 신호들 중 나머지 신호들 각각을 하이 레벨로 초기화하는 메모리 장치. - 제 1 항에 있어서,
상기 복수의 내부 쓰기 데이터 스트로브 신호들은 0도, 90도, 180도, 및 270도 위상들에 대응하는 제1 내지 제4 내부 쓰기 데이터 스트로브 신호들을 포함하고,
상기 제1 내지 제4 내부 쓰기 데이터 스트로브 신호들 각각의 주파수는 상기 쓰기 데이터 스트로브 신호의 주파수의 절반인 메모리 장치. - 제 10 항에 있어서,
상기 쓰기 데이터 스트로브 신호 디바이더는,
제1 입력 단자, 상기 제1 내부 쓰기 데이터 스트로브 신호를 출력하는 제1 출력 단자, 및 상기 제3 내부 쓰기 데이터 스트로브 신호를 출력하는 제2 출력 단자를 포함하는 제1 래치; 및
상기 제1 출력 단자와 연결된 제2 입력 단자, 상기 제2 내부 쓰기 데이터 스트로브 신호를 출력하는 제3 출력 단자, 및 상기 제1 입력 단자와 연결되고 상기 제4 내부 쓰기 데이터 스트로브 신호를 출력하는 제4 출력 단자를 포함하는 제2 래치를 포함하고,
상기 제1 래치는 상기 리셋 신호에 응답하여 리셋 값 및 상보 리셋 값을 상기 제1 및 제2 출력 단자들로 출력하고, 상기 쓰기 데이터 스트로브 신호의 상승 에지에 기초하여 상기 제1 입력 단자를 통해 입력된 상기 제4 내부 쓰기 데이터 스트로브 신호의 값 및 상보 값을 상기 제1 및 제2 출력 단자들로 출력하도록 구성되고,
상기 제2 래치는 상기 리셋 신호에 응답하여 상기 리셋 값 및 상기 상보 리셋 값을 상기 제3 및 제4 출력 단자들로 출력하고, 상보 쓰기 데이터 스트로브 신호의 상승 에지에 기초하여 상기 제2 입력 단자를 통해 입력된 상기 제1 내부 쓰기 데이터 스트로브 신호의 값 및 상보 값을 상기 제3 및 제4 출력 단자들로 출력하도록 구성된 메모리 장치. - 제 1 항에 있어서,
상기 버퍼 다이는,
상기 복수의 내부 쓰기 데이터 스트로브 신호들에 기초하여 상기 제1 채널을 통해 상기 호스트 장치로 제공될 읽기 데이터 스트로브 신호를 생성하도록 구성된 읽기 데이터 스트로브 신호 송신기를 더 포함하고,
상기 데이터 트랜시버는 상기 복수의 내부 쓰기 데이터 스트로브 신호들을 기반으로 상기 제1 채널을 지원하는 상기 코어 다이로부터 전송된 읽기 데이터를 상기 읽기 데이터 스트로브 신호의 토글 타이밍들에 정렬하여 상기 호스트 장치로 전송하도록 더 구성된 메모리 장치. - 제 1 항에 있어서,
상기 쓰기 데이터 스트로브 신호의 주파수는 상기 클럭 신호의 주파수의 두 배인 메모리 장치. - 제 1 항에 있어서,
상기 버퍼 다이는 상기 제1 채널에 대응하여 상기 쓰기 데이터를 수신하는 128개의 데이터 핀들 및 상기 쓰기 데이터 스트로브 신호를 수신하는 8개의 스트로브 핀들을 포함하는 메모리 장치. - 각각이 독립적인 인터페이스를 구성하는 채널들에 기초하여 외부의 호스트 장치와 통신을 수행하는 버퍼 다이;
실리콘 관통 전극을 통해 상기 버퍼 다이 상에 적층되고, 상기 채널들 중 제1 채널에 대응하는 제1 메모리 셀 어레이를 포함하는 제1 코어 다이; 및
상기 실리콘 관통 전극을 통해 상기 제1 코어 다이 상에 적층되고, 상기 제1 채널에 대응하는 제2 메모리 셀 어레이를 포함하는 제2 코어 다이를 포함하고,
상기 버퍼 다이는,
상기 호스트 장치로부터 제1 채널로 제공되는 클럭 신호에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 커맨드 및 스택 아이디를 수신하도록 구성된 커맨드/어드레스 수신기;
상기 수신된 커맨드에 따라 내부 커맨드를 생성하고, 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터 스트로브 신호가 토글하기 전에 리셋 신호를 생성하도록 구성된 제어 로직 회로;
상기 쓰기 데이터 스트로브 신호의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 복수의 내부 쓰기 데이터 스트로브 신호들을 생성하고, 상기 리셋 신호에 응답하여 상기 복수의 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화하도록 구성된 쓰기 데이터 스트로브 신호 디바이더; 및
상기 복수의 내부 쓰기 데이터 스트로브 신호들에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터를 수신하도록 구성된 데이터 트랜시버를 포함하고,
상기 제1 코어 다이 및 상기 제2 코어 다이 중 상기 스택 아이디에 대응하는 코어 다이는 상기 버퍼 다이로부터 전송된 상기 내부 커맨드에 응답하여 상기 버퍼 다이로부터 전송된 상기 쓰기 데이터를 저장하도록 구성되는 메모리 장치. - 제 15 항에 있어서,
상기 메모리 장치가 파워-업 상태 또는 파워 다운 종료 상태가 되는 경우, 상기 제어 로직 회로는 상기 리셋 신호를 생성하는 메모리 장치. - 제 15 항에 있어서,
상기 쓰기 데이터 스트로브 신호가 토글하는 동안 상기 쓰기 데이터 스트로브 신호의 프리앰블 싸이클 수와 포스트앰블 싸이클 수의 합은 짝수인 메모리 장치. - 제 15 항에 있어서,
상기 쓰기 데이터 스트로브 신호 디바이더는 상기 리셋 신호에 응답하여 상기 복수의 내부 쓰기 데이터 스트로브 신호들 중 절반의 신호들 각각을 로우 레벨로 초기화하고, 상기 복수의 내부 쓰기 데이터 스트로브 신호들 중 나머지 신호들 각각을 하이 레벨로 초기화하는 메모리 장치. - 각각이 독립적인 인터페이스를 구성하는 채널들에 기초하여 외부의 호스트 장치와 통신을 수행하는 버퍼 다이; 및
실리콘 관통 전극을 통해 상기 버퍼 다이 상에 적층되고, 각각이 상기 채널들 중 적어도 하나에 대응하는 메모리 셀 어레이를 포함하는 복수의 코어 다이들을 포함하고,
상기 버퍼 다이는,
상기 호스트 장치로부터 제1 채널로 제공되는 클럭 신호에 기초하여 상기 호스트 장치로부터 제공되는 커맨드를 수신하고,
상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터 스트로브 신호가 토글하기 전에 복수의 내부 쓰기 데이터 스트로브 신호들을 미리 정해진 값들로 초기화하고,
상기 쓰기 데이터 스트로브 신호의 토글링에 따라 서로 다른 위상들을 가지고 토글하는 상기 복수의 내부 쓰기 데이터 스트로브 신호들을 생성하고,
상기 복수의 내부 쓰기 데이터 스트로브 신호들에 기초하여 상기 호스트 장치로부터 상기 제1 채널로 제공되는 쓰기 데이터를 수신하도록 구성되고,
상기 복수의 코어 다이들 중 상기 제1 채널을 지원하는 코어 다이는 상기 수신된 쓰기 데이터를 저장하도록 구성되는 메모리 장치. - 제 19 항에 있어서,
상기 쓰기 데이터 스트로브 신호가 토글하는 동안 상기 쓰기 데이터 스트로브 신호의 프리앰블 싸이클 수와 포스트앰블 싸이클 수의 합은 짝수인 메모리 장치.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/084,345 US11295808B2 (en) | 2020-01-21 | 2020-10-29 | Memory device transmitting and receiving data at high speed and low power |
TW109138212A TWI759938B (zh) | 2020-01-21 | 2020-11-03 | 高速且低功率傳輸及接收資料之記憶體裝置 |
EP21151943.4A EP3855441A1 (en) | 2020-01-21 | 2021-01-15 | Memory device transmitting and receiving data at high speed and low power |
CN202110075443.7A CN113223582A (zh) | 2020-01-21 | 2021-01-20 | 以高速和低功率发送和接收数据的存储器设备 |
US17/685,067 US11769547B2 (en) | 2020-01-21 | 2022-03-02 | Memory device transmitting and receiving data at high speed and low power |
US18/458,743 US20230410891A1 (en) | 2020-01-21 | 2023-08-30 | Memory device transmitting and receiving data at high speed and low power |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200008110 | 2020-01-21 | ||
KR20200008110 | 2020-01-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210095009A true KR20210095009A (ko) | 2021-07-30 |
Family
ID=77127844
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200061441A KR20210095009A (ko) | 2020-01-21 | 2020-05-22 | 고속 및 저전력으로 데이터를 송수신하는 메모리 장치 |
KR1020200103438A KR20210094446A (ko) | 2020-01-21 | 2020-08-18 | 신규 커맨드 입력 방식을 지원하는 메모리 장치 및 그것의 동작 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200103438A KR20210094446A (ko) | 2020-01-21 | 2020-08-18 | 신규 커맨드 입력 방식을 지원하는 메모리 장치 및 그것의 동작 방법 |
Country Status (3)
Country | Link |
---|---|
KR (2) | KR20210095009A (ko) |
SG (1) | SG10202100590QA (ko) |
TW (2) | TWI759938B (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230067190A1 (en) * | 2021-08-27 | 2023-03-02 | Macronix International Co., Ltd. | Reconfigurable ai system |
TWI789064B (zh) * | 2021-10-20 | 2023-01-01 | 鯨鏈科技股份有限公司 | 基於晶圓堆疊架構的計算機系統 |
TWI779935B (zh) * | 2021-11-24 | 2022-10-01 | 瑞昱半導體股份有限公司 | 資料處理系統、緩衝電路與緩衝電路的操作方法 |
US20240072772A1 (en) * | 2022-08-31 | 2024-02-29 | Global Unichip Corporation | Interface device and signal transceiving method thereof |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307270B2 (en) * | 2009-09-03 | 2012-11-06 | International Business Machines Corporation | Advanced memory device having improved performance, reduced power and increased reliability |
JP5420433B2 (ja) * | 2010-01-14 | 2014-02-19 | ルネサスエレクトロニクス株式会社 | 半導体装置および電源装置 |
KR101751045B1 (ko) * | 2010-05-25 | 2017-06-27 | 삼성전자 주식회사 | 3d 반도체 장치 |
KR20130102816A (ko) * | 2012-03-08 | 2013-09-23 | 삼성전자주식회사 | 데이터 액세스 메모리 및 그것의 데이터 손실 방지 방법 |
KR102337043B1 (ko) * | 2015-06-16 | 2021-12-09 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
KR102387977B1 (ko) * | 2017-11-29 | 2022-04-19 | 삼성전자주식회사 | 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법 |
KR102421153B1 (ko) * | 2017-12-28 | 2022-07-14 | 삼성전자주식회사 | Dq 핀들을 통해 연산 코드들을 수신하는 메모리 장치, 이를 포함하는 메모리 모듈, 그리고 메모리 모듈의 설정 방법 |
EP3743784B1 (en) * | 2018-01-25 | 2022-01-12 | CSEM Centre Suisse d'Electronique et de Microtechnique SA - Recherche et Développement | Electronic device |
-
2020
- 2020-05-22 KR KR1020200061441A patent/KR20210095009A/ko unknown
- 2020-08-18 KR KR1020200103438A patent/KR20210094446A/ko unknown
- 2020-11-03 TW TW109138212A patent/TWI759938B/zh active
-
2021
- 2021-01-19 SG SG10202100590QA patent/SG10202100590QA/en unknown
- 2021-01-20 TW TW110102104A patent/TWI769671B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI759938B (zh) | 2022-04-01 |
KR20210094446A (ko) | 2021-07-29 |
TW202134895A (zh) | 2021-09-16 |
TWI769671B (zh) | 2022-07-01 |
TW202129509A (zh) | 2021-08-01 |
SG10202100590QA (en) | 2021-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11769547B2 (en) | Memory device transmitting and receiving data at high speed and low power | |
US12131796B2 (en) | Memory bandwidth aggregation using simultaneous access of stacked semiconductor memory die | |
KR20210095009A (ko) | 고속 및 저전력으로 데이터를 송수신하는 메모리 장치 | |
US11309013B2 (en) | Memory device for reducing resources used for training | |
US12002543B2 (en) | Memory device for supporting new command input scheme and method of operating the same | |
US20210377080A1 (en) | Memory device and memory system including the same | |
JP2021093129A (ja) | メモリデバイスへのコマンドバストレーニングの技術 | |
JP2021179962A (ja) | オンダイeccを選択的に無効化するための読み出しリトライ | |
KR102482896B1 (ko) | 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치 | |
US20180095821A1 (en) | Extended application of error checking and correction code in memory | |
JP2021068416A (ja) | 信頼性、利用可能性、およびスケーラビリティ(ras)の向上のためのメモリワードライン分離 | |
US20230171007A1 (en) | Translation device, test system including the same, and memory system including the translation device | |
KR20210133832A (ko) | 트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치 | |
CN115104154B (zh) | 存储器装置中的多循环命令处理以及相关方法、装置及系统 | |
US20240196633A1 (en) | Memory device and system having multiple physical interfaces | |
EP4210099A1 (en) | Package routing for crosstalk reduction in high frequency communication | |
CN118899021A (zh) | 选择性动态随机存取存储器(dram)设备内元数据的存储和存取 |