KR101742628B1 - 커맨드/어드레스 버스를 통해 통신들을 교환하기 위한 방법, 장치 및 시스템 - Google Patents
커맨드/어드레스 버스를 통해 통신들을 교환하기 위한 방법, 장치 및 시스템 Download PDFInfo
- Publication number
- KR101742628B1 KR101742628B1 KR1020157011499A KR20157011499A KR101742628B1 KR 101742628 B1 KR101742628 B1 KR 101742628B1 KR 1020157011499 A KR1020157011499 A KR 1020157011499A KR 20157011499 A KR20157011499 A KR 20157011499A KR 101742628 B1 KR101742628 B1 KR 101742628B1
- Authority
- KR
- South Korea
- Prior art keywords
- transition
- command
- clock signal
- mode
- memory device
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- 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/4072—Circuits for initialization, powering up or down, clearing memory or presetting
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
커맨드/어드레스 버스를 통해 메모리 제어기로부터 메모리 디바이스로 정보를 교환하기 위한 기법들 및 메커니즘이 개시된다. 실시예에서, 메모리 디바이스는 제1 샘플 기간 동안 커맨드의 제1 부분을 샘플링하고 제2 샘플 기간 동안 커맨드의 제2 부분을 샘플링하며, 제1 부분 및 제2 부분은 커맨드/어드레스 버스를 통해 교환된다. 제1 샘플 기간 및 제2 샘플 기간은 각자, 클록 신호의 제1 천이 및 클록 신호의 제2 천이와 일치한다. 또다른 실시예에서, 메모리 디바이스의 모드는 제1 천이와 제2 천이 간의 관계를 결정한다.
Description
본 발명의 실시예들은 일반적으로 메모리 디바이스의 동작에 관한 것이고, 더 구체적으로, 그러나 배타적이지 않게, 메모리 디바이스와 메모리 제어기 사이의 통신 교환에 관한 것이다.
JEDEC(Joint Electron Devices Engineering Council)의 LPDDR3 표준 JESD209-3에 따르는 것과 같은 컴퓨터 메모리 시스템들에서, 커맨드/어드레스 버스를 통해 메모리 제어기와 하나 이상의 메모리 디바이스들 사이에서 통신들이 교환된다. 용어 "커맨드/어드레스"(또한 "CA" 또는 "C/A")는 커맨드 정보 및 어드레스 정보 중 어느 하나 또는 둘 다를 지원하거나 다른 방식으로 포함하는 특성을 지칭한다. LPDDR3은 메모리 제어기와 메모리 디바이스 사이의 통신에 대한 신호 왜곡(signal skew) 및 다른 이러한 장애물들의 보상을 보조하는 CA 버스의 트레이닝을 제공하는 표준의 일 예이다. CA 버스 트레이닝은 이러한 통신이 LPDDR3 표준의 타이밍 요건에 따르도록 보장하는 것을 돕는다.
현재, LPDDR3는 데이터 클록의 2번의 천이(transition)에 걸쳐 개별 커맨드의 송신을 제공한다. 이러한 커맨드의 제1 부분은 데이터 클록의 상승 천이에서 CA 버스를 통해 송신되고, 커맨드의 제2 부분은 데이터 클록의 하강 천이에서 CA 버스를 통해 송신된다. 이러한 타입의 전송 타이밍은 더블 데이터 레이트(DDR; double data rate)라고 지칭된다.
메모리 시스템 기술의 연속적인 세대들이 더 빠른 데이터 클록 레이트들을 포함한 더 빠른 동작 속도를 향해 계속 나아감에 따라 DDR의 구현에 의해 지게 되는 부담이 증가한다. 또한, 이들 연속적인 세대들은 더 깊은 전력 절감 상태들로의 더욱 빈번한 천이들에 의존하는 효율성 메커니즘을 점점 더 구현한다. 이러한 상태들로부터의 복원은 종종 추가적인 CA 버스 트레이닝을 요구한다. CA 버스 트레이닝의 요건들은 더 빠른 동작 속도들, 더 깊은 전력 절감 상태들, 및 이러한 전력 절감 상태들로의 그리고 이러한 전력 상태들로부터 벗어나는 더욱 빈번한 천이들에 대한 경향과는 서로 어긋난다. 따라서, 차-세대 메모리 시스템들에서의 CA 버스 트레이닝의 구현은 더욱 더 어렵다.
본 발명의 다양한 실시예들은 첨부 도면들의 도식들에서 제한에 의해서가 아니라 예로서 예시된다.
도 1은 실시예에 따라 커맨드/어드레스 통신들을 교환하기 위한 메모리 시스템의 엘리먼트들을 예시하는 블록도이다.
도 2는 실시예에 따라 메모리 디바이스를 동작시키기 위한 방법의 엘리먼트들을 예시하는 흐름도이다.
도 3은 실시예에 따라 메모리 제어기를 동작시키기 위한 방법의 엘리먼트들을 예시하는 흐름도이다.
도 4는 실시예에 따른 커맨드/어드레스 버스 통신들의 교환의 엘리먼트들을 예시하는 타이밍도이다.
도 5는 실시예에 따른 커맨드/어드레스 버스 통신들의 교환의 엘리먼트들을 예시하는 타이밍도이다.
도 6은 실시예에 따른 커맨드/어드레스 버스 통신들의 교환의 엘리먼트들을 예시하는 타이밍도이다.
도 7은 실시예에 따라 통신들을 교환하기 위한 컴퓨팅 시스템의 엘리먼트들을 예시하는 블록도이다.
도 8은 실시예에 따라 통신들을 교환하기 위한 모바일 디바이스의 엘리먼트들을 예시하는 블록도이다.
도 1은 실시예에 따라 커맨드/어드레스 통신들을 교환하기 위한 메모리 시스템의 엘리먼트들을 예시하는 블록도이다.
도 2는 실시예에 따라 메모리 디바이스를 동작시키기 위한 방법의 엘리먼트들을 예시하는 흐름도이다.
도 3은 실시예에 따라 메모리 제어기를 동작시키기 위한 방법의 엘리먼트들을 예시하는 흐름도이다.
도 4는 실시예에 따른 커맨드/어드레스 버스 통신들의 교환의 엘리먼트들을 예시하는 타이밍도이다.
도 5는 실시예에 따른 커맨드/어드레스 버스 통신들의 교환의 엘리먼트들을 예시하는 타이밍도이다.
도 6은 실시예에 따른 커맨드/어드레스 버스 통신들의 교환의 엘리먼트들을 예시하는 타이밍도이다.
도 7은 실시예에 따라 통신들을 교환하기 위한 컴퓨팅 시스템의 엘리먼트들을 예시하는 블록도이다.
도 8은 실시예에 따라 통신들을 교환하기 위한 모바일 디바이스의 엘리먼트들을 예시하는 블록도이다.
본원에 논의된 실시예들은 커맨드/어드레스 버스를 통해 메모리 제어기와 정보를 교환하기 위한 메모리 디바이스의 상이한 모드들에 대한 기법들 및/또는 메커니즘을 다양하게 제공한다. 메모리 디바이스는, 제1 기간 동안 커맨드/어드레스 버스를 통해 제공되는 커맨드의 제1 부분을 샘플링하고, 제2 기간 동안 커맨드/어드레스 버스를 통해 제공되는 커맨드의 제2 부분을 추가로 샘플링할 수 있다. 실시예에서, 제1 샘플 기간의 중간은 클록 신호의 제1 천이와 동기화되고, 제2 샘플 기간의 중간은 클록 신호의 제2 천이와 동기화된다.
메모리 디바이스의 모드는 제1 천이와 제2 천이 사이의 관계를 결정할 수 있다. 제한이 아닌 예시에 의해, 메모리 디바이스가 제1 모드에 있는 경우, 제2 천이는 제1 천이 이후 클록 신호의 N번째 천이이며, N은 1보다 더 큰 정수이다. 대안적으로 또는 추가적으로, 메모리 디바이스가 제2 모드에 있는 경우, 제2 천이는 제1 천이 이후 클록 신호의 다음 천이이다. 실시예에서, 제1 모드는 디폴트 모드이다 - 예를 들어, 메모리 디바이스가 전원 차단, 전원 인가, 리셋, 특정 저전력 상태로의(로부터의) 천이, 및/또는 이와 유사한 것과 같은 미리 결정된 이벤트 타입의 초기화 이벤트에 응답하여 제1 모드로 자동으로 돌아간다.
도 1은 실시예에 따라 커맨드/어드레스 통신들을 교환하기 위한 시스템(100)의 엘리먼트들을 예시한다. 시스템(100)은 메모리 제어기(110)에 커플링된 메모리 디바이스(120)를 포함할 수 있다 - 예를 들어, 메모리 디바이스(120)는 동적 랜덤 액세스 메모리(DRAM; dynamic random access memory) 기술을 포함할 수 있다. 실시예에서, 메모리 디바이스(120)의 하나 이상의 특징들은, 2008년 4월 DDR3 SDRAM JEDEC(Joint Electron Devices Engineering Council) 표준 JESD79-3C, 2010년 2월 LPDDR(Low Power Double Data Rate) SDRAM JEDEC 표준 JESD209B 및/또는 이와 유사한 것과 같은 DRAM 메모리 디바이스 규격에 따르거나, 또는 다른 방식으로 호환가능하다.
메모리 디바이스(120)는 시스템(100)의 더 큰 메모리 디바이스(미도시) 내의 집적 회로 패키지일 수 있다. 예를 들어, 메모리 디바이스(120)는 듀얼 인-라인 메모리 모듈(DIMM; dual in-line memory module)과 같은 메모리 모듈의 DRAM 디바이스일 수 있다. 메모리 디바이스(120)는 메모리의 하나 이상의 논리적 및/또는 물리적 그룹들을 나타내는 메모리 자원들(126)을 포함할 수 있다. 실시예에서, 자원들(126)은 행들 및 열들의 어레이로 배열되는 저장 엘리먼트들을 포함한다.
시스템(100)의 동작 동안, 메모리 제어기(110)는 - 예를 들어, 시스템(100)의 호스트(140)(예를 들어, 하나 이상의 프로세서들)를 대신하여 - 커맨드/어드레스 버스 CA(134)를 통해 메모리 디바이스(120)에 커맨드들 또는 명령어들을 송신할 수 있는데, 이들은 이후, 메모리 디바이스(120)에 의해 해석된다. 메모리 제어기(110) 및 메모리 디바이스(120)는 CA(134)를 통해 정보의 통신을 용이하게 하기 위해 하나 이상의 다른 제어 신호들을 다양하게 교환할 수 있다. 제한이 아닌 예시로서, CA(134)를 통한 정보 교환들의 타이밍을 적어도 부분적으로 결정하기 위해 클록 신호(130)가 메모리 디바이스(120)에 송신될 수 있다. 실시예에서, 클록 신호(130)는, 예를 들어, 메모리 제어기(110)가 메모리 디바이스(120)에 송신하거나, 또는 다른 방식으로, 메모리 디바이스(120)와 공유하는 차동 클록 신호 쌍 중 하나의 신호이다. 대안적으로 또는 추가적으로, 칩 선택 신호(132)는 메모리 제어기(110)로부터 메모리 디바이스(120)로 교환될 수 있다 - 예를 들어, 칩 선택 신호(132)는 메모리 디바이스(120)에 대해 의도된 CA(134)를 통한 교환을 시스템(100)의 또다른 메모리 디바이스(미도시됨)에 대해 의도된 CA(134)를 통한 일부 다른 교환과 구별하는 것이다. 상이한 실시예들에 따르면, 다양한 추가적인 또는 대안적인 제어 신호들 중 어느 것이라도 메모리 디바이스(120)와 메모리 제어기(110) 사이에서 교환될 수 있다.
메모리 디바이스(120)는 CA(134)를 통해 제공되는 커맨드 정보를 디코딩하여 메모리 내에서 다양한 액세스 기능들을 수행하고, 어드레스 정보를 - 예를 들어, 메모리 디바이스(120)의 열 로직 및/또는 행 로직을 이용하여 - 디코딩할 수 있다. 로직은 열 어드레스 스트로브 또는 신호(CAS)와 행 어드레스 스트로브 또는 신호(RAS)의 조합을 이용하여 메모리 자원들(126) 내의 특정 위치에 액세스할 수 있다. 메모리 자원들(126)의 행들은 공지된 메모리 아키텍쳐들 또는 그 파생물들에 따라 구현될 수 있다. 간략히, 메모리의 행은, 열 로직(124)에 의해 생성된 CAS에 의해 식별되는 바와 같은, 메모리 셀들의 하나 이상의 어드레스지정가능한 열들(addressable columns)을 포함할 수 있다. 행들은 각각 메모리 디바이스의 행 로직에 의해 생성된 RAS를 통해 다양하게 어드레스지정가능할 수 있다.
메모리 디바이스(120)는 CA(134)에 의해 교환된 신호들의 프로세싱을 적어도 부분적으로 용이하게 하기 위한 커맨드/어드레스(C/A) 로직(124)을 포함할 수 있다. C/A 로직(124)은 통상적인 기법들에 따라 커맨드 정보 및/또는 어드레스 정보를 프로세싱하는 메모리 디바이스(120)의 로직을 포함하거나, 또는 이와 함께 동작할 수 있다 - 예를 들어, C/A 로직(124)은 본원에 논의된 추가적인 기능성으로 이러한 로직을 보충한다. 제한이 아닌 예시로서, C/A 로직(124)은 - 예를 들어, 메모리 디바이스(120)의 모드 레지스터(122)에 저장된 정보에 기초하여 - 메모리 디바이스(120)의 현재 동작 모드를 검출할 수 있다. 실시예에서, 모드 레지스터(122)는 상이한 시간들에서 2개 이상의 동작 모드들 중 임의의 것을 다양하게 특정하도록 구성될 수 있다. 예를 들어, 모드 레지스터(122)는 적어도 제1 모드 및 제2 모드 중 하나를 다양하게 특정할 수 있고, 제1 모드는 CA(134)를 통해 통신들을 교환하는 레이트를 구현하는 것인데, 이는 제2 모드에 의해 구현되는 유사한 레이트보다 더 느리다. 모드 레지스터(122)에 저장된 정보에 기초하여, 예를 들어, C/A 로직(124)은 메모리 디바이스(120)의 현재 모드에 대응하는 레이트로 CA(134)의 샘플링을 수행할 수 있다.
메모리 제어기(110)는 CA(134)를 통한 통신의 스케줄링을 적어도 부분적으로 용이하게 하기 위한 구성 로직(112)을 포함할 수 있다. 구성 로직(112)은 CA(134)를 통해 메모리 디바이스(110)로의 신호들의 전송을 구동하는 메모리 제어기(110)의 로직을 포함하거나, 또는 이와 함께 동작할 수 있다. 이러한 전송의 구동은 종래의 기법들에 따를 수 있다 - 예를 들어, 구성 로직(112)은 본원에 논의된 추가적인 기능성으로 이러한 로직을 보충한다. 제한이 아닌 예시로서, 구성 로직(112)은 구성 로직(112)이 모드 레지스터(122)에 저장된 정보를 판독하는 것에 기초하여, 또는 - 대안적으로 - , 구성 로직(112)이 이러한 정보를 모드 레지스터(122)에 기록하는 것과 함께(예를 들어, 모드 레지스터 설정 커맨드와 함께) 메모리 디바이스(120)의 현재 동작 모드를 검출할 수 있다.
실시예에서, 메모리 제어기(110)의 스케줄러(114)는 CA(134)를 통해 통신들의 스케줄링을 결정하기 위한 로직을 포함한다. 구성 로직(112)이 메모리 디바이스(120)의 동작 모드를 검출하는 것에 기초하여, 구성 로직(112)은 특정 스케줄링 방식이 CA(134)를 통해 정보를 전송하기 위해 사용될 것임을 스케줄러(114)에 시그널링할 수 있다. 예를 들어, 스케줄러(114)는 CA(134)를 통해 커맨드가 부분들에서 송신될 제1 스케줄링 방식을 이용하여 메모리 디바이스(120)의 한 모드를 지원할 수 있고, 클록 신호(130)의 천이들의 시퀀스에서의 각각의 천이는 이러한 부분들의 각자에 대응한다. 대안적으로 또는 추가적으로, 스케줄러(114)는 CA(134)를 통해 커맨드가 부분들에서 송신될 제2 스케줄링 방식을 이용하여 메모리 디바이스(120)의 또다른 모드를 지원할 수 있고, 클록 신호(130)의 천이들의 시퀀스 내의 각각의 제N 천이(N은 1보다 더 큰 정수임)는 이러한 부분들의 각자에 대응한다.
도 2는 실시예에 따라 메모리 디바이스를 동작시키기 위한 방법(200)의 엘리먼트들을 예시한다. 방법(200)은, 예를 들어, 메모리 디바이스(120)의 특징들의 일부 또는 전부를 가지는 메모리 디바이스에 의해 수행될 수 있다. 예를 들어, 방법(200)은 메모리 제어기(110)와 같은 메모리 제어기와 함께 동작하는 메모리 디바이스에 의해 수행될 수 있다.
방법(200)은, 210에서, - 예를 들어, 메모리 디바이스의 모드 레지스터에 기초하여 - 메모리 디바이스의 동작 모드를 결정하는 것을 포함할 수 있다. 210에서 결정된 모드는 제1 클록 신호의 제1 천이와 제1 클록 신호의 제2 천이 사이의 관계에 대해 결정적일 수 있다. 제1 클록 신호는 메모리 제어기와 메모리 디바이스 사이의 - 예를 들어, 커맨드/어드레스 정보 교환 및/또는 데이터 교환을 포함하는 - 교환들을 조절하기 위해 메모리 디바이스에 제공될 수 있다.
210에서 결정된 모드가 제1 모드인 경우, 방법(200)은, 220에서, 제2 천이가 제1 천이 이후 제1 클록 신호의 N번째 천이일 것이라고 결정하며, N은 1보다 더 큰 정수이다. 실시예에서, 제1 모드는 메모리 제어기와 메모리 디바이스 사이에 커플링된 C/A 버스의 하나 이상의 시그널링 특성들을 결정하기 위한 트레이닝 모드이다. 대안적으로 또는 추가적으로, 제1 모드는, 예를 들어, 메모리 디바이스가, 리셋(RESET), 전원 차단, 슬립 모드(sleep mode) 또는 다양한 다른 이러한 이벤트들 중 임의의 것과 같은 초기화 이벤트 이후 자동으로 돌아갈 디폴트 모드일 수 있다.
대안적으로, 210에서 결정된 모드가 제2 모드인 경우, 방법(200)은, 230에서, 제2 천이가 제1 천이 이후 제1 클록 신호의 다음 천이라고 결정한다. 제2 모드는, 예를 들어, 메모리 디바이스가 제1 모드에 있는 동안 수행된 커맨드/어드레스 버스 트레이닝 시퀀스의 완료 이후 발생하는 더 높은 속도의 통신들에 대한 것일 수 있다.
210에서 결정된 모드에 기초하여, 방법(200)은, 240에서, 메모리 디바이스에 메모리 제어기에 의해 제공된 커맨드의 샘플링을 수행할 수 있다. 실시예에서, 240에서의 샘플링은, 250에서, 제1 기간 동안 커맨드/어드레스 버스를 통해 제공된 커맨드의 제1 부분을 샘플링하는 것을 포함하며, 제1 기간의 중간은 제1 클록 신호의 제1 천이와 동기화된다. 예를 들어, 메모리 디바이스는, 제1 샘플링 기간이 제1 천이와 일치(concurrent)하도록 샘플링 회로의 활성화 및 후속적인 비활성화의 시간을 정할 수 있다(time). 대안적으로 또는 추가적으로, 이러한 샘플링 기간의 중간은, 예를 들어, 칩 선택 신호의 값이 메모리 디바이스의 동작을 인에이블시키기 위해 메모리 제어기에 의해 어써트(assert)되는 기간의 중간과 일치할 수 있다. 다양한 종래의 버스 샘플링 회로 아키텍쳐들 중 어느 것이라도 다양한 실시예의 샘플 제어 로직과 협업하여 이러한 샘플링 기간들을 구현하도록 적응될 수 있다.
240에서의 샘플링은, 260에서, 제2 기간 동안 커맨드/어드레스를 통해 제공된 커맨드의 제2 부분을 샘플링하는 것을 더 포함할 수 있고, 제2 기간의 중간은 제1 클록 신호의 제2 천이와 동기화된다. 예를 들어, 250에서의 샘플링과 유사하게, 메모리 디바이스는, 제2 샘플링 기간의 중간이 제2 천이와 일치하도록 샘플링 회로의 또다른 활성화 및 후속적인 비활성화의 시간을 정할 수 있다. 실시예에서, 제1 기간 동안 어써트된 칩 선택 신호 값은 제2 기간 동안 어써트되지 않을 수 있다. 예를 들어, 메모리 디바이스는, 메모리 디바이스의 동작을 나타내는 칩 선택 신호에 후속하여, 미리 결정된 수의 C/A 버스 교환들이 이후 그 메모리 디바이스에 대해 의도됨을 인지하도록 구성될 수 있다.
도 3은 실시예에 따라 메모리 제어기를 이용하여 메모리 디바이스를 제어하기 위한 방법(300)의 엘리먼트들을 예시한다. 실시예에서, 방법(300)은 메모리 제어기(110)의 특징들의 일부 또는 전부를 가지는 메모리 제어기에 의해 수행된다. 예를 들어, 방법(300)은 메모리 디바이스(120)와 같은 메모리 디바이스와 함께 동작하는 메모리 제어기에 의해 수행될 수 있다.
방법(300)은, 310에서, - 메모리 디바이스의 모드 레지스터에 액세스하는 것을 포함하여 - 메모리 디바이스의 동작 모드를 결정하는 것을 포함할 수 있다. 방법(200)과 마찬가지로, 310에서 결정된 모드는 제1 클록 신호의 제1 천이와 제1 클록 신호의 제2 천이 사이의 관계에 대해 결정적일 수 있다. 제1 클록 신호는 메모리 제어기와 메모리 디바이스 사이의 교환들 - 예를 들어, 커맨드/어드레스 정보 교환들 및/또는 데이터 교환들을 포함함 - 을 조절하기 위해 메모리 디바이스에 제공될 수 있다.
310에서 결정된 모드가 제1 모드인 경우, 방법(300)은, 320에서, 제2 천이가 제1 천이 이후 제1 클록 신호의 N번째 천이일 것이라고 결정하며, N은 1보다 더 큰 정수이다. 실시예에서, 제1 모드는 메모리 제어기와 메모리 디바이스 사이에 커플링된 C/A 버스의 하나 이상의 시그널링 특성들을 결정하기 위한 트레이닝 모드이다. 대안적으로 또는 추가적으로, 제1 모드는, 예를 들어, 메모리 디바이스가 리셋(RESET), 전원 차단, 슬립 모드 또는 다양한 다른 이러한 이벤트들 중 임의의 것과 같은 초기화 이벤트 이후에 자동으로 돌아갈 디폴트 모드일 수 있다. 대안적으로, 310에서 결정된 모드가 제2 모드인 경우, 방법(300)은, 330에서, 제2 천이가 제1 천이 이후의 제1 클록 신호의 다음 천이라고 결정한다. 제2 모드는 예를 들어, 커맨드/어드레스 버스 트레이닝 시퀀스가 완료된 이후 발생하는 더 높은 속도의 통신들에 대한 것일 수 있다.
310에서 결정된 모드에 기초하여, 방법(300)은, 340에서, 메모리에 대한 커맨드의 통신의 스케줄링을 수행할 수 있다. 실시예에서, 340에서의 스케줄링은, 350에서, 제1 기간 동안 커맨드/어드레스 버스를 통해 발생하도록 커맨드의 제1 부분의 통신을 스케줄링하는 것을 포함하며, 제1 기간의 중간은 제1 클록 신호의 제1 천이와 동기화된다. 예를 들어, 메모리 제어기는, 제1 시그널링 기간의 중간이 제1 천이와 일치하도록 C/A 버스 드라이버 회로의 활성화 및 후속적인 비활성화를 스케줄링할 수 있다. 대안적으로 또는 추가적으로, 이러한 시그널링 기간의 중간은, 예를 들어, 칩 선택 신호의 값이 메모리 디바이스의 동작을 인에이블시키기 위해 메모리 제어기에 의해 어써트되는 기간의 중간과 일치할 수 있다.
340에서의 샘플링은 360에서, 제2 기간 동안 커맨드/어드레스 버스를 통해 발생하도록 커맨드의 제2 부분의 통신을 스케줄링하는 것을 더 포함할 수 있고, 제2 기간의 중간은 제1 클록 신호의 제2 천이와 동기화된다. 예를 들어, 350에서의 샘플링과 유사하게, 메모리 디바이스는, 제2 시그널링 기간의 중간이 제2 천이와 일치하도록 C/A 버스 드라이버 회로의 또다른 활성화 및 후속적인 비활성화의 시간을 정할 수 있다. 본원에 논의된 바와 같이, 실시예에서, 제1 기간 동안 어써트된 칩 선택 신호 값은 제2 기간 동안 어써트되지 않을 수 있다.
도 4는, 실시예에 따라, 메모리 제어기와 메모리 디바이스 사이의 신호들의 교환의 엘리먼트들을 예시하는 타이밍도(400)이다. 신호들의 예시적인 교환은, 예를 들어, 메모리 제어기(110)와 메모리 디바이스(120)에 의해 구현될 수 있다. 실시예에서, 이러한 교환은 메모리 디바이스가 방법(200)의 제2 모드 및/또는 방법(300)의 제2 모드와 같은 모드에서 동작하는 동안 발생한다.
타이밍도(400)는, 메모리 디바이스가 예를 들어, 메모리 제어기로부터 수신하는, 클록 신호 CK(410) 및 상보적 신호 CK#(420)를 포함하는 클록 신호 차동 쌍을 도시한다. 타이밍도(400)의 칩 선택 신호 CSn(430)은 메모리 디바이스가 커맨드/어드레스 버스 상에서의 신호들의 연관된 통신의 타겟일 때 메모리 디바이스에 특정하기 위해 메모리 제어기에 의해 사용될 수 있다. 이 예에서, CSn(430)은 액티브 로우(active low) 신호이다. 커맨드/어드레스 버스의 신호 라인들 - 예를 들어, 타이밍도(400)의 예시적인 라인들 CA0-9(440) - 은 메모리 디바이스에 커맨드 정보 및/또는 어드레스 정보를 다양하게 반송할 수 있다. 타이밍도(400)는 CA0-9(440)를 통해 전달되고 있는 특정 커맨드들 또는 커맨드들의 부분들을 나타내는 [Cmd](450)를 추가로 도시한다.
실시예에 따른 예시적인 시나리오에서, 타이밍도(400)의 교환에 참여하는 메모리 디바이스는 주어진 커맨드의 부분들이 각각 CA0-9(440)로부터 샘플링될 샘플링 방식을 구현하도록 구성되고, 클록 신호(410)의(또는 유사하게, CK#(420)의) 천이들의 시퀀스에서의 각각의 천이는 커맨드의 하나의 이러한 부분의 각자의 샘플링에 대응한다. 예를 들어, 제1 커맨드는 2개의 연속적인 부분들(Cmd1, Cmd2) 에서 CA0-9(440)를 통해 메모리 제어기로부터 전송될 수 있다. 메모리 디바이스의 현재 모드는 메모리 디바이스가 특정 클록 신호의 특정 타입의 천이 - 예를 들어, 상승 천이 CK(410) - 동안 주어진 커맨드의 가장 빠른 부분(earliest portion)을 샘플링할 것이라고 결정할 수 있다. CK(410)의 이러한 상승 클록 천이에서 발생하는 CA0-9(440)의 샘플링들은 CA0-9(440)에서 CA 상승(CA Rise)이라고 라벨링되어 있다. CK(410)의 하강 클록 천이에서 발생하는 CA0-9(440)의 샘플링들은 CA0-9(440)에서 CA 하강(CA Fall)이라고 라벨링되어 있다. CK(410)의 특정 상승 천이 - 예를 들어, 시간(T1a)에서의 천이 - 이전의 CSn(430)의 어써트(asserting)는 커맨드의 가장 빠른 커맨드 부분(Cmd1)이 그 상승 천이 동안 샘플링될 것임을 메모리 디바이스에 표시할 것이다.
메모리 디바이스의 현재 모드는 클록 신호의 각각의 연속적인 천이가, 커맨드의 모든 부분들이 샘플링될 때까지 주어진 커맨드의 또다른 부분의 샘플링과 일치할 것이라고 추가로 결정할 수 있다. 타이밍도(400)의 예시적인 교환에서, 커맨드의 하나의 다른 부분(Cmd2)만이 - 예를 들어, CK(410)의 다음 천이(시간(T1a)에서 CK(410)의 상승 천이에 바로 후속하는 하강 천이) 동안 - 샘플링될 것이다. 실시예에서, 메모리 제어기는, 또한 Cmd2와 같은 그 커맨드의 또다른 부분의 송신 동안 CSn(430)을 어써트하지 않고, Cmd1과 같은 커맨드의 제1 부분의 송신과 동시에 CSn(430)을 어써트할 수 있다. 메모리 디바이스는 - 예를 들어, 현재 모드에 기초하여 - 제1 커맨드 부분에 대한 CSn(430)의 어써트를, 메모리 디바이스의 선택이 미리 결정된 전체 개수의 커맨드 부분들에 대해 적용할 것임을 나타내는 것으로서 해석하도록 구성될 수 있다.
커맨드의 모든 부분들이 샘플링되는 경우, 그리고 CSn(430)이 CK(410)의 다음 상승 천이(또는 일부 다른 미리 정의된 타입의 클록 신호 천이)에 대한 시간 내에 어써트되지 않는 경우, 메모리 디바이스는 CK(410)의 해당 다음 상승 천이를 또다른 메모리 디바이스를 타겟으로 하는 동작 없음(Nop) 교환 또는 커맨드 교환과 일치하는 것으로 간주할 수 있다. 이러한 Nop 교환의 예는 시간(T2a)에서 CK(410)의 천이에 대해 도시되어 있다.
이러한 Nop 교환 이후, 메모리 제어기는, 예를 들어, 메모리 디바이스에 제2 커맨드를 송신할 수 있다. 예를 들어, CSn(430)은 제2 커맨드의 가장 빠른 커맨드 부분(Cmd3)이 그 상승 천이 동안 샘플링될 것임을 메모리 디바이스에 표시하기 위해 시간(T3a)에서 CK(410)의 상승 천이 이전에 어써트될 수 있다. 메모리 디바이스의 현재 모드에 기초하여, 제2 커맨드의 다음 부분(Cmd4)은, 이 예에서는 시간(T3a)에서 CK(410)의 상승 천이에 바로 후속하는 하강 천이인, CK(410)의 다음 천이에서 샘플링될 수 있다.
도 5는 실시예에 따른 메모리 제어기와 메모리 디바이스 사이의 신호들의 교환의 엘리먼트들을 예시하는 타이밍도(500)이다. 타이밍도(500)의 교환은, 예를 들어, 또다른 시간에서 타이밍도(400)의 교환에 참여하는, 예를 들어 메모리 제어기와 메모리 디바이스에 의해 구현될 수 있다. 실시예에서, 이러한 교환은 메모리 디바이스가 방법(200)의 제1 모드 및/또는 방법(300)의 제1 모드와 같은 모드에서 동작하는 동안 발생한다.
타이밍도(500)는 클록 신호 CK(510) 및 상보적 신호 CK#(520)를 포함하는 클록 신호 차동 쌍, 칩 선택 신호 CSn(530), 커맨드/어드레스 버스 신호 라인들 CA0-9(540) 및 [Cmd](550)을 도시한다. 실시예에서, CK(510), CK#(520), CSn(530), CA0-9(540) 및 [Cmd](550)은, 각자 타이밍도(400)의 CK(410), CK#(420), CSn(430), CA0-9(440) 및 [Cmd](450)에 대응한다.
실시예에 따른 예시적인 시나리오에서, 타이밍도(500)의 교환에 참여하는 메모리 디바이스는 주어진 커맨드의 부분들이 각자 CA0-9(540)로부터 샘플링될 샘플링 방식을 구현하도록 구성되고, 클록 신호(510)의(또는 유사하게, CK#(520)의) 천이들의 시퀀스 내의 각각의 N번째 천이는 이러한 부분들 중 하나의 각자의 샘플링에 대응한다. 실시예에서, N은 일(1)보다 더 큰 정수이다. 타이밍도(500)에 예시된 예에서, N은 이(2)와 같다. 그러나, 상이한 실시예들에 따르면, N은 다양한 다른 수들 중 어느 것 - 예를 들어, 사(4) - 일 수도 있다.
예를 들어, 제1 커맨드는 2개의 연속적인 부분들(Cmd1, Cmd2)에서 CA0-9(540)를 통해 메모리 제어기로부터 전송될 수 있다. 메모리 디바이스의 현재 모드는 메모리 디바이스가 특정 클록 신호의 특정 타입의 천이 - CK(510)의 상승 천이 - 에서 주어진 커맨드의 가장 빠른 부분을 샘플링할 것이라고 결정할 수 있다. CK(510)의 특정 상승 천이 - 예를 들어, 시간(T1b)에서의 천이 - 이전의 CSn(530)의 어써트는 커맨드의 가장 빠른 커맨드 부분(Cmd1)이 그 상승 천이 동안 샘플링될 것임을 메모리 디바이스에 표시할 것이다.
메모리 디바이스의 현재 모드는, 커맨드의 모든 부분들이 샘플링될 때까지, T1b에서 그에 후속하는 CK(510)의 각각의 N번째 연속적인 천이가 주어진 커맨드의 또다른 부분의 샘플링과 일치한다고 추가로 결정할 수 있다. 타이밍도(500)의 예시적인 교환에서, 커맨드의 하나의 다른 부분(Cmd2)만이 - 예를 들어, CK(510)의 두번째 다음 천이(시간(T1b)에서 CK(510)의 상승 천이에 후속하는 시간(T2b)에서의 다음 상승 천이) 동안 - 샘플링될 것이다.
커맨드의 모든 부분들이 샘플링되는 경우, 그리고 CSn(530)이 CK(510)의 다음 상승 천이(또는 일부 다른 합의된 타입의 클록 신호 천이)에 대한 시간 내에 어써트되지 않는 경우, 메모리 디바이스는 CK(510)의 해당 다음 상승 천이를 돈케어(Don't Care) 이벤트 - 예를 들어, Nop 교환 또는 또다른 메모리 디바이스를 타겟으로 하는 커맨드 교환 - 와 일치하는 것으로 간주할 수 있다. 이러한 돈케어 이벤트의 예가 시간(T3b)에서 CK(510)의 양의 천이(positive transition)에 대해 도시되어 있다.
CK(510)의 매 N번째 천이 동안 커맨드 어드레스 버스가 커맨드의 연속적인 부분들을 교환하도록 요구함으로써, 타이밍도(500)에 예시된 메모리 디바이스 모드는 더욱 긴 샘플링 기간들을 허용한다. 따라서, 특정 타입들의 커맨드/어드레스 버스 교환들 - 예를 들어, 커맨드/어드레스 버스 트레이닝을 구현하기 위한 교환들 - 은 데이터 클록 신호의 주파수를 제한하지 않고 수행될 수 있다. 메모리 디바이스는, 하나 이상의 이러한 교환들이 수행될 예정일 때 이러한 모드로 천이할 수 있고 그리고/또는 하나 이상의 이러한 교환들이 완료되었음을 검출하는 것에 응답하여 이러한 모드로부터 천이할 수 있다.
도 6은 실시예에 따라, 메모리 제어기와 메모리 디바이스 사이의 신호들의 교환의 엘리먼트들을 예시하는 타이밍도(600)이다. 타이밍도(600)의 교환은, 예를 들어, 또다른 시간에서 타이밍도(400)의 교환에 참여하는, 예를 들어 메모리 제어기와 메모리 디바이스에 의해 구현될 수 있다. 실시예에서, 이러한 교환은 메모리 디바이스가 방법(200)의 제1 모드 및/또는 방법(300)의 제1 모드와 같은 모드에서 동작하는 동안 발생한다.
타이밍도(600)는 타이밍도(500)에 도시된 모드의 대안적인 버전을 예시하며, N은 이(2)보다는 사(4)와 같다. 타이밍도(600)는 클록 신호 CK(610) 및 상보적 신호 CK#(620)를 포함하는 클록 신호 차동 쌍, 칩 선택 신호 CSn(630), 커맨드/어드레스 버스 신호 라인들 CA0-9(640) 및 [Cmd](650)을 도시한다. 실시예에서, CK(610), CK#(620), CSn(630), CA0-9(640) 및 [Cmd](650)은, 각자, 타이밍도(400)의 CK(410), CK#(420), CSn(430), CA0-9(440) 및 [Cmd](450)에 대응한다.
실시예에 따른 예시적인 시나리오에서, 제1 커맨드는 2개의 연속적인 부분들(Cmd1, Cmd2)에서 CA0-9(640)를 통해 메모리 제어기로부터 전송될 수 있다. 메모리 디바이스의 현재 모드는 메모리 디바이스가 특정 클록 신호의 특정 타입의 천이 - 예를 들어, CK(610)의 상승 천이 - 동안 주어진 커맨드의 가장 빠른 부분을 샘플링할 것이라고 결정할 수 있다. CK(610)의 특정 상승 천이 - 예를 들어, 시간(T1c)에서의 천이 - 이전의 CSn(630)의 어써트는 커맨드의 가장 빠른 커맨드 부분(Cmd1)이 그 상승 천이 동안에 샘플링될 것임을 메모리 디바이스에 표시할 것이다.
메모리 디바이스의 현재 모드는 추가로, 커맨드의 모든 부분들이 샘플링될 때까지 T1b에서 그에 후속하는 CK(610)의 각각의 N번째(이 예에서, 4번째) 연속적인 천이가 주어진 커맨드의 또다른 부분의 샘플링과 일치한다고 결정할 수 있다. 타이밍도(600)의 예시적인 교환에서, 커맨드의 하나의 다른 부분(Cmd2)만이 - 예를 들어, CK(610)의 4번째 다음 천이(시간(T1c)에서 CK(610)의 상승 천이에 후속하는 시간(T3c)에서의 2번째 다음 상승 천이)에서 - 샘플링될 것이다. 실시예에서, 메모리 디바이스는 Cmd1와 Cmd2의 각자의 교환들 사이에서 CA0-9(640)의 상태를 돈 케어 이벤트로서 다루도록 - 예를 들어, 현재 모드에 기초하여 - 구성될 수 있다.
도 7은 커맨드/어드레스 버스 통신들이 구현될 수 있는 컴퓨팅 시스템의 실시예의 블록도이다. 시스템(700)은 본원에 기술된 임의의 실시예에 따른 컴퓨팅 디바이스를 나타내며, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 게임 또는 엔터테인먼트 제어 시스템, 스캐너, 복사기, 프린터, 또는 다른 전자 디바이스일 수 있다. 시스템(700)은, 시스템(700)에 대한 프로세싱, 동작 관리 및 명령어들의 실행을 제공하는 프로세서(720)를 포함할 수 있다. 프로세서(720)는 시스템(700)에 대한 프로세싱을 제공하기 위한 임의의 타입의 마이크로프로세서, 중앙 처리 장치(CPU), 프로세싱 코어, 또는 다른 프로세싱 하드웨어를 포함할 수 있다. 프로세서(720)는 시스템(700)의 전체 동작을 제어하며, 하나 이상의 프로그래밍가능한 범용 또는 특수목적 마이크로프로세서들, 디지털 신호 프로세서(DSP)들, 프로그래밍가능한 제어기들, 주문형 집적 회로(ASIC)들, 프로그래밍가능한 논리 디바이스(PLD)들, 또는 이와 유사한 것, 또는 이러한 디바이스들의 조합일 수 있거나, 또는 이들을 포함할 수 있다.
메모리 서브시스템(730)은 시스템(700)의 주 메모리를 나타내며, 프로세서(720)에 의해 실행될 코드, 또는 루틴을 실행할 시에 사용될 데이터 값들에 대한 임시 저장소를 제공한다. 메모리 서브시스템(730)은 판독-전용 메모리(ROM), 플래시 메모리, 하나 이상의 다양한 랜덤 액세스 메모리(RAM), 또는 다른 메모리 디바이스들과 같은 하나 이상의 메모리 디바이스들, 또는 이러한 디바이스들의 조합을 포함할 수 있다. 메모리 서브시스템(730)은, 특히, 시스템(700) 내의 명령어들의 실행을 위한 소프트웨어 플랫폼을 제공하기 위한 운영 체제(OS)(736)를 저장하여 호스팅한다. 추가로, 다른 명령어들(738)은 메모리 서브시스템(730)에 저장되고 이로부터 실행되어 시스템(700)의 프로세싱 및 로직을 제공한다. OS(736) 및 명령어들(738)은 프로세서(720)에 의해 실행된다.
메모리 서브시스템(730)은, 데이터, 명령어들, 프로그램들, 또는 다른 항목들을 저장하는 메모리 디바이스(732)를 포함할 수 있다. 일 실시예에서, 메모리 서브시스템은 본원에 기술된 임의의 실시예에 따른 메모리 제어기이며 행 해머 보호 메커니즘(row hammer protection mechanism)들을 제공하는 메모리 제어기(734)를 포함한다. 일 실시예에서, 메모리 제어기(734)는 메모리 디바이스(732)에 커맨드들을 제공하며, 커맨드의 부분들은 각각 메모리 디바이스(732)의 현재 모드에 기초하여 연속적으로 송신된다.
프로세서(720) 및 메모리 서브시스템(730)은 버스/버스 시스템(710)에 커플링된다. 버스(710)는 적절한 브리지들, 어댑터들 및/또는 제어기들에 의해 접속되는 임의의 하나 이상의 별도의 물리적 버스들, 통신 라인들/인터페이스들, 및/또는 점-대-점 접속들을 나타내는 추상화(abstraction)이다. 따라서, 버스(710)는, 예를 들어, 시스템 버스, PCI(Peripheral Component Interconnect) 버스, 하이퍼전송(HyperTransport) 또는 산업 표준 아키텍쳐(ISA; industry standard architecture) 버스, 소형 컴퓨터 시스템 인터페이스(SCSI; small computer system interface) 버스, 유니버셜 직렬 버스(USB; universal serial bus), 또는 전기 전자 기술자 협회(IEEE; Institute of Electrical and Electronics Engineers) 표준 1394 버스(일반적으로 "파이어와이어(Firewire)"라고 지칭됨) 중 하나 이상을 포함할 수 있다. 버스(710)의 버스들은 또한 네트워크 인터페이스(750) 내의 인터페이스들에 대응할 수 있다.
시스템(700)은 또한 버스(710)에 커플링된 하나 이상의 입력/출력(I/O) 인터페이스(들)(740), 네트워크 인터페이스(750), 하나 이상의 내부 대용량 저장 디바이스(들)(760) 및 주변 인터페이스(770)를 포함할 수 있다. I/O 인터페이스(740)는 이를 통해 사용자가 시스템(700)과 상호작용하는 하나 이상의 인터페이스 컴포넌트들(예를 들어, 비디오, 오디오 및/또는 영숫자 인터페이싱)을 포함할 수 있다. 네트워크 인터페이스(750)는 하나 이상의 네트워크들을 통해 원격 디바이스들(예를 들어, 서버들, 다른 컴퓨팅 디바이스들)과 통신하는 능력을 시스템(700)에 제공한다. 네트워크 인터페이스(750)는 이더넷 어댑터, 무선 상호접속 컴포넌트들, USB(유니버셜 직렬 버스), 또는 다른 유선 또는 무선 표준-기반 또는 사유 인터페이스들을 포함할 수 있다.
저장소(760)는 하나 이상의 자기, 고체상태, 또는 광학 기반 디스크들, 또는 그 조합과 같이, 비휘발 방식으로 대량의 데이터를 저장하기 위한 임의의 종래의 매체일 수 있거나 이를 포함할 수 있다. 저장소(760)는 코드 또는 명령어들 및 데이터(762)를 지속 상태로 보유한다(즉, 시스템(700)에 대한 전원의 차단에도 불구하고 그 값이 유지된다). 저장소(760)는 포괄적으로 "메모리"인 것으로 간주될 수 있지만, 메모리(730)는 프로세서(720)에 명령어들을 제공하기 위한 실행 또는 동작 메모리이다. 저장소(760)가 비휘발성인 반면, 메모리(730)는 휘발성 메모리를 포함할 수 있다(즉, 데이터의 상태 또는 값은 시스템(700)에 대한 전력이 차단되는 경우 비결정적이다).
주변 인터페이스(770)는 위에 구체적으로 언급되지 않은 임의의 하드웨어 인터페이스를 포함할 수 있다. 주변기기들은 일반적으로 시스템(700)에 종속적으로 접속하는 디바이스들을 지칭한다. 종속적 접속은, 시스템(700)이, 동작이 실행되며 사용자가 상호작용하는 소프트웨어 및/또는 하드웨어 플랫폼을 제공하는 것이다.
도 8은 커맨드/어드레스 통신들이 구현될 수 있는 모바일 디바이스의 실시예의 블록도이다. 디바이스(800)는 컴퓨팅 태블릿, 모바일폰 또는 스마트폰, 무선-인에이블형 e-리더기, 또는 다른 모바일 디바이스와 같은 모바일 컴퓨팅 디바이스를 나타낸다. 컴포넌트들 중 일부가 일반적으로 도시되어 있으며 이러한 디바이스의 모든 컴포넌트들이 디바이스(800) 내에 도시되어 있지는 않다는 점이 이해될 것이다.
디바이스(800)는 디바이스(800)의 주요 프로세싱 동작들을 수행하는 프로세서(810)를 포함할 수 있다. 프로세서(810)는 마이크로프로세서들, 응용 프로세서들, 마이크로컨트롤러들, 프로그래밍가능한 논리 디바이스들, 또는 다른 프로세싱 수단과 같은 하나 이상의 물리적 디바이스들을 포함할 수 있다. 프로세서(810)에 의해 수행되는 프로세싱 동작들은 애플리케이션들 및/또는 디바이스 기능들이 실행되는 운영 플랫폼 또는 운영 체제의 실행을 포함한다. 프로세싱 동작들은 휴먼 사용자에 의한 또는 다른 디바이스들에 의한 I/O(입력/출력)에 관련된 동작들, 전력 관리에 관련된 동작들, 및/또는 디바이스(800)를 또다른 디바이스에 접속시키는 것에 관련된 동작들을 포함한다. 프로세싱 동작들은 또한 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 포함할 수 있다.
일 실시예에서, 디바이스(800)는 컴퓨팅 디바이스에 오디오 기능들을 제공하는 것과 연관된 하드웨어(예를 들어, 오디오 하드웨어 및 오디오 회로들) 및 소프트웨어(예를 들어, 드라이버들, 코덱들) 컴포넌트들을 나타내는 오디오 서브시스템(820)을 포함한다. 오디오 기능들은 스피커 및/또는 헤드폰 출력 뿐만 아니라 마이크로폰 입력을 포함할 수 있다. 이러한 기능들을 위한 디바이스는 디바이스(800) 내에 통합될 수 있거나 또는 디바이스(800)에 접속될 수 있다. 일 실시예에서, 사용자는 프로세서(810)에 의해 수신되고 프로세싱되는 오디오 커맨드들을 제공함으로써 디바이스(800)와 상호작용한다.
디스플레이 서브시스템(830)은 사용자가 컴퓨팅 디바이스와 상호작용하기 위한 시각적 및/또는 촉각적 디스플레이를 제공하는 하드웨어(예를 들어, 디스플레이 디바이스들) 및 소프트웨어(예를 들어, 드라이버들) 컴포넌트들을 나타낸다. 디스플레이 서브시스템(830)은, 사용자에게 디스플레이를 제공하기 위해 사용되는 특정 스크린 또는 하드웨어 디바이스를 포함할 수 있는 디스플레이 인터페이스(832)를 포함할 수 있다. 일 실시예에서, 디스플레이 인터페이스(832)는 디스플레이와 관련된 적어도 일부 프로세싱을 수행하기 위한 프로세서(810)와는 별도의 로직을 포함한다. 일 실시예에서, 디스플레이 서브시스템(830)은 사용자에게 출력과 입력 모두를 제공하는 터치스크린 디바이스를 포함한다.
I/O 제어기(840)는 사용자와의 상호작용에 관련된 하드웨어 디바이스들 및 소프트웨어 컴포넌트들을 나타낸다. I/O 제어기(840)는 오디오 서브시스템(820) 및/또는 디스플레이 서브시스템(830)의 일부인 하드웨어를 관리하도록 동작할 수 있다. 추가로, I/O 제어기(840)는 사용자가 시스템과 상호작용할 수 있는 디바이스(800)에 접속하는 추가 디바이스들에 대한 접속점을 예시한다. 예를 들어, 디바이스(800)에 부착될 수 있는 디바이스들은 마이크로폰 디바이스들, 스피커 또는 스테레오 시스템들, 비디오 시스템들 또는 다른 디스플레이 디바이스, 키보드 또는 키패드 디바이스들, 또는 카드 리더기들 또는 다른 디바이스들과 같은 특정 애플리케이션과 함께 사용하기 위한 다른 I/O 디바이스들을 포함할 수 있다.
위에서 언급된 바와 같이, I/O 제어기(840)는 오디오 서브시스템(820) 및/또는 디스플레이 서브시스템(830)과 상호작용할 수 있다. 예를 들어, 마이크로폰 또는 다른 오디오 디바이스를 통한 입력은 디바이스(800)의 하나 이상의 애플리케이션들 또는 기능들에 대한 입력 또는 커맨드들을 제공할 수 있다. 추가로, 오디오 출력은 디스플레이 출력 대신 또는 디스플레이 출력에 더하여 제공될 수 있다. 또다른 예에서, 디스플레이 서브시스템이 터치스크린을 포함하는 경우, 디스플레이 디바이스는 또한, I/O 제어기(840)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스로서 동작한다. I/O 제어기(840)에 의해 관리되는 I/O 기능들을 제공하기 위한 디바이스(800) 상의 추가적인 버튼들 또는 스위치들이 존재할 수 있다.
일 실시예에서, I/O 제어기(840)는 가속계들, 카메라들, 광 센서들 또는 다른 환경 센서들, 자이로스코프들, 글로벌 포지셔닝 시스템(GPS; global positioning system), 또는 디바이스(800) 내에 포함될 수 있는 다른 하드웨어와 같은 디바이스들을 관리한다. 입력은 직접적인 사용자 상호작용의 일부일 뿐만 아니라, 시스템의 동작에 영향을 주기 위해 시스템에 환경 입력을 제공하는 것(예컨대, 잡음 필터링, 밝기 검출을 위한 디스플레이들의 조정, 카메라에 대한 플래시의 인가, 또는 다른 특징들)일 수 있다.
일 실시예에서, 디바이스(800)는 배터리 전력 사용, 배터리의 충전, 및 전력 절감 동작과 관련된 특징들을 관리하는 전력 관리부(850)를 포함한다. 메모리 서브시스템(860)은 디바이스(800)에 정보를 저장하기 위한 메모리 디바이스(들)(862)를 포함할 수 있다. 메모리 서브시스템(860)은 비휘발성(메모리 디바이스에 대한 전력이 차단되는 경우 상태가 변경되지 않음) 및/또는 휘발성(메모리 디바이스에 대한 전력이 차단되는 경우 상태가 비결정적임) 메모리 디바이스들을 포함할 수 있다. 메모리(860)는 응용 데이터, 사용자 데이터, 음악, 사진들, 문서들 또는 다른 데이터, 및 시스템(800)의 애플리케이션들 및 기능들의 실행과 관련된 시스템 데이터(장기적 또는 일시적)를 저장할 수 있다.
일 실시예에서, 메모리 서브시스템(860)은 메모리 제어기(864)를 포함한다(이는 또한 시스템(800)의 제어의 일부로서 간주될 수 있고, 잠재적으로 프로세서(810)의 일부로서 간주될 수 있다). 메모리 제어기(864)는 커맨드/어드레스 버스(미도시됨)를 통해 메모리(862)와 통신들을 교환할 수 있다. 실시예에서, 메모리 제어기(864)는 메모리(862)에 커맨드를 송신하며, 커맨드의 부분들은 메모리(862)의 동작 모드에 기초하여 연속적으로 송신된다.
접속성(870)은 디바이스(800)가 외부 디바이스들과 통신할 수 있게 하기 위한 하드웨어 디바이스들(예를 들어, 무선 및/또는 유선 커넥터들 및 통신 하드웨어) 및 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함할 수 있다. 디바이스는 다른 컴퓨팅 디바이스들, 무선 액세스 포인트들 또는 기지국들과 같은 별도의 디바이스들뿐만 아니라, 헤드셋들, 프린터들 또는 다른 디바이스들과 같은 주변기기들일 수 있다.
접속성(870)은 다수의 상이한 타입들의 접속성을 포함할 수 있다. 일반화하기 위해, 디바이스(800)가 셀룰러 접속성(872) 및 무선 접속성(874)을 가지는 것으로 예시되어 있다. 셀룰러 접속성(872)은 일반적으로, GSM(global system for mobile communications) 또는 변형물들 또는 파생물들, CDMA(code division multiple access) 또는 변형물들 또는 파생물들, TDM(time division multiplexing) 또는 변형물들 또는 파생물들, LTE(long term evolution - "4G"라고도 지칭됨), 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 것과 같이, 무선 캐리어들에 의해 제공되는 셀룰러 네트워크 접속성을 지칭한다. 무선 접속성(874)은 셀룰러가 아닌 무선 접속성을 지칭하며, 개인 영역 네트워크들(예를 들어, 블루투스), 로컬 영역 네트워크들(예를 들어, WiFi), 및/또는 광역 네트워크(예를 들어, WiMax), 또는 다른 무선 통신을 포함할 수 있다. 무선 통신은 비-고체 매체를 통해 변조된 전자기 복사의 사용을 통한 데이터의 전송을 지칭한다. 유선 통신은 고체 통신 매체를 통해 발생한다.
주변 접속들(880)은 하드웨어 인터페이스들 및 커넥터들뿐만 아니라, 주변 접속들을 이루기 위한 소프트웨어 컴포넌트들(예를 들어 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스(800)가 다른 컴퓨팅 디바이스들에 대한 주변 디바이스("~로"(882))일 수 있을 뿐만 아니라, 그에 접속된 주변 디바이스들("~로부터"(884))을 가질 수 있다는 점이 모두 이해될 것이다. 디바이스(800)는 일반적으로, 디바이스(800) 상의 콘텐츠를 관리하는 것(예를 들어, 다운로드 및/또는 업로드, 변경, 동기화)과 같은 목적으로 다른 컴퓨팅 디바이스들에 접속하기 위한 "도킹" 커넥터를 가진다. 추가로, 도킹 커넥터는 디바이스(800)가 예를 들어, 시청각 또는 다른 시스템들에 대한 콘텐츠 출력을 제어하게 하는 특정 주변 기기에 디바이스(800)가 접속하게 할 수 있다.
사유 도킹 커넥터 또는 다른 사유 접속 하드웨어에 더하여, 디바이스(800)는 공통 또는 표준-기반 커넥터들을 통해 주변 접속들(880)을 수행할 수 있다. 공통 타입들은 유니버셜 직렬 버스(USB) 커넥터(이는 다수의 상이한 하드웨어 인터페이스들 중 임의의 것을 포함할 수 있음), MDP(MiniDisplayPort)를 포함하는 디스플레이포트(DisplayPort), 고화질 멀티미디어 인터페이스(HDMI; High Definition Multimedia Interface), 파이어와이어, 또는 다른 타입을 포함할 수 있다.
일 양태에서, 메모리 디바이스는 메모리 디바이스의 동작 모드를 식별하는 값을 저장하기 위한 모드 레지스터, 및 그 값에 기초하여 모드를 결정하고, 그 모드에 기초하여 메모리 디바이스에 커플링된 메모리 제어기에 의해 제공되는 커맨드를 샘플링하기 위한 커맨드/어드레스(CA) 로직을 포함한다. CA 로직은 제1 기간 동안 커맨드/어드레스 버스를 통해 제공되는 커맨드의 제1 부분을 샘플링하며, 제1 기간의 중간은 메모리 제어기에 의해 제공되는 제1 클록 신호의 제1 천이와 동기화된다. CA 로직은 추가로 제2 기간 동안 커맨드/어드레스 버스를 통해 제공되는 커맨드의 제2 부분을 샘플링하며, 제2 기간의 중간은 제1 클록 신호의 제2 천이와 동기화되고, 결정된 모드가 제1 모드인 경우 제2 천이는 제1 천이 이후의 제1 클록 신호의 N번째 천이이고, N은 1보다 더 큰 정수이며, 결정된 모드가 제2 모드인 경우, 제2 천이는 제1 천이 이후의 제1 클록 신호의 다음 천이이다.
실시예에서, N은 2 또는 4와 같다. 또다른 실시예에서, 커맨드는 커맨드/어드레스 버스 트레이닝 시퀀스에 대한 것이다. 또다른 실시예에서, 제1 모드는 디폴트 모드이다. 또다른 실시예에서, 메모리 디바이스는 초기화 이벤트에 응답하여 제1 모드로 자동으로 돌아간다. 또다른 실시예에서, 초기화 이벤트는 제1 전력 상태로부터 제2 전력 상태로의 메모리 디바이스의 천이를 포함하고, 제1 전력 상태의 전력 소모 레벨은 제2 전력 상태의 전력 소모 레벨보다 더 크다. 또다른 실시예에서, 제1 클록 신호는 데이터 클록 신호이다. 또다른 실시예에서, 차동 신호 쌍은 제1 클록 신호 및 제2 클록 신호를 포함한다. 또다른 실시예에서, 메모리 디바이스는 동적 랜덤 액세스 메모리를 포함한다.
또다른 양태에서, 메모리 디바이스에서의 방법은 메모리 디바이스의 모드 레지스터에 기초하여 동작 모드를 결정하는 단계, 및 결정된 모드에 기초하여 메모리 디바이스에 커플링된 메모리 제어기에 의해 제공되는 커맨드를 샘플링하는 단계를 포함하고, 상기 샘플링은 제1 기간 동안 커맨드/어드레스 버스를 통해 제공되는 커맨드의 제1 부분을 샘플링하는 것 - 제1 기간의 중간은 메모리 제어기에 의해 제공되는 제1 클록 신호의 제1 천이와 동기화됨 - , 및 제2 기간 동안 커맨드/어드레스 버스를 통해 제공되는 커맨드의 제2 부분을 샘플링하는 것 - 제2 기간의 중간은 제1 클록 신호의 제2 천이와 동기화됨 - 을 포함한다. 결정된 모드가 제1 모드인 경우, 제2 천이는 제1 천이 이후의 제1 클록 신호의 N번째 천이이고, N은 1보다 더 큰 정수이며, 결정된 모드가 제2 모드인 경우, 제2 천이는 제1 천이 이후 제1 클록 신호의 다음 천이이다.
실시예에서, N은 2 또는 4와 같다. 또다른 실시예에서, 커맨드는 커맨드/어드레스 버스 트레이닝 시퀀스에 대한 것이다. 또다른 실시예에서, 제1 모드는 디폴트 모드이다. 또다른 실시예에서, 메모리 디바이스는 초기화 이벤트에 응답하여 제1 모드로 자동으로 돌아간다. 또다른 실시예에서, 초기화 이벤트는 제1 전력 상태로부터 제2 전력 상태로의 메모리 디바이스의 천이를 포함하며, 제1 전력 상태의 전력 소모 레벨은 제2 전력 상태의 전력 소모 레벨보다 더 크다. 또다른 실시예에서, 제1 클록 신호는 데이터 클록 신호이다. 또다른 실시예에서, 차동 신호 쌍은 제1 클록 신호 및 제2 클록 신호를 포함한다. 또다른 실시예에서, 메모리 디바이스는 동적 랜덤 액세스 메모리를 포함한다.
또다른 양태에서, 메모리 제어기는 메모리 제어기에 커플링된 메모리 디바이스의 동작 모드를 결정하기 위한 구성 로직 및 결정된 모드에 기초하여 메모리 디바이스에 대한 커맨드의 통신을 스케줄링하기 위한 스케줄러 로직을 포함한다. 스케줄러 로직은 제1 기간 동안 커맨드/어드레스 버스를 통해 커맨드의 제1 부분의 통신을 스케줄링하고, 제1 기간의 중간은 메모리 제어기에 의해 메모리 디바이스에 제공되는 제1 클록 신호의 제1 천이와 동기화된다. 스케줄러 로직은 추가로 제2 기간 동안 커맨드/어드레스 버스를 통해 커맨드의 제2 부분의 통신을 스케줄링하고, 제2 기간의 중간은 제1 클록 신호의 제2 천이와 동기화되며, 결정된 모드가 제1 모드인 경우, 제2 천이는 제1 천이 이후 제1 클록 신호의 N번째 천이이며, N은 1보다 더 큰 정수이고, 결정된 모드가 제2 모드인 경우, 제2 천이는 제1 천이 이후 제1 클록 신호의 다음 천이이다.
실시예에서, N은 2 또는 4이다. 또다른 실시예에서, 커맨드는 커맨드/어드레스 버스 트레이닝 시퀀스에 대한 것이다. 또다른 실시예에서, 제1 클록 신호는 데이터 클록 신호이다. 또다른 실시예에서, 차동 신호 쌍은 제1 클록 신호 및 제2 클록 신호를 포함한다. 또다른 실시예에서, 메모리 디바이스는 동적 랜덤 액세스 메모리를 포함한다.
또다른 양태에서, 메모리 제어기에서의 방법은 메모리 제어기에 커플링된 메모리 디바이스의 동작 모드를 결정하는 단계, 및 결정된 모드에 기초하여 메모리 디바이스에 대한 커맨드의 통신을 스케줄링하는 단계를 포함하며, 상기 스케줄링은 제1 기간 동안 커맨드/어드레스 버스를 통해 커맨드의 제1 부분의 통신을 스케줄링하는 것 - 제1 기간의 중간은 메모리 디바이스에 메모리 제어기에 의해 제공되는 제1 클록 신호의 제1 천이와 동기화됨 - , 및 제2 기간 동안 커맨드/어드레스 버스를 통해 커맨드의 제2 부분의 통신을 스케줄링하는 것 - 제2 기간의 중간은 제1 클록 신호의 제2 천이와 동기화됨 - 을 포함한다. 결정된 모드가 제1 모드인 경우, 제2 천이는 제1 천이 이후의 제1 클록 신호의 N번째 천이이고, N은 1보다 더 큰 정수이며, 결정된 모드가 제2 모드인 경우, 제2 천이는 제1 천이 이후 제1 클록 신호의 다음 천이이다.
실시예에서, N은 2 또는 4와 같다. 또다른 실시예에서, 커맨드는 커맨드/어드레스 버스 트레이닝 시퀀스에 대한 것이다. 또다른 실시예에서, 제1 클록 신호는 데이터 클록 신호이다. 또다른 실시예에서, 차동 신호 쌍은 제1 클록 신호 및 제2 클록 신호를 포함한다. 또다른 실시예에서, 메모리 디바이스는 동적 랜덤 액세스 메모리를 포함한다.
메모리 디바이스와 통신들을 교환하기 위한 기법들 및 아키텍쳐가 본원에 기술되어 있다. 위의 기재에서, 설명의 목적으로, 다수의 특정 상세항목들이 특정 실시예들의 철저한 이해를 제공하기 위해 설명되어 있다. 그러나, 특정 실시예들이 이들 특정 상세항목들 없이도 구현될 수 있다는 점이 통상의 기술자에게 명백할 것이다. 다른 경우들에서, 구조들 및 디바이스들은 기재를 모호하게 하는 것을 회피하기 위해 블록도 형태로 도시된다.
명세서에서 "일 실시예" 또는 "실시예"에 대한 참조는 실시예와 관련하여 기술된 특정 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함됨을 의미한다. 명세서 내의 여러 곳에서의 구문 "일 실시예에서"의 출현은 반드시 모두 동일한 실시예를 지칭하지는 않는다.
본원의 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘 및 심볼로의 표현의 견지에서 제시되어 있다. 이들 알고리즘적 기재 및 표현들은 자신의 작업 내용을 다른 통상의 기술자에게 가장 효과적으로 전달하기 위해 컴퓨팅 기술 분야의 통상의 기술자에 의해 사용되는 수단이다. 알고리즘은 본원에서 그리고 일반적으로, 원하는 결과를 초래하는 단계들의 자기-모순이 없는 시퀀스인 것으로 이해된다. 단계들은 물리적 수량의 물리적 조작들을 요구하는 것이다. 일반적으로, 그러나 필수적이지는 않게, 이들 수량은 저장되고, 전달되고, 결합되고, 비교되고, 다른 방식으로 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취한다. 때때로, 원리상 공통 사용의 이유로, 이들 신호들을 비트들, 값들, 엘리먼트들, 심볼들, 문자들, 용어들, 숫자들 등으로서 지칭하는 것이 편리하다는 점이 증명되었다.
그러나, 이들 및 유사한 용어들이 적절한 물리적 수량들과 연관될 것이며, 이들 수량들에 적용된 단지 편리한 라벨들이라는 점을 염두에 두어야 한다. 본원의 논의로부터 명백한 바와 같이 구체적으로 달리 언급되지 않는 한, 설명 전반에 걸쳐, "프로세싱하는" 또는 "컴퓨팅하는" 또는 "계산하는" 또는 "결정하는" 또는 "디스플레이하는" 등의 용어들을 이용하는 논의들이, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자적) 수량으로서 표현된 데이터를 조작하여 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 전송 또는 디스플레이 디바이스들 내의 물리적 수량들로서 유사하게 표현된 다른 데이터로 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스들을 지칭한다는 점이 이해된다.
특정 실시예들은 또한 본원에서의 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는 특히 요구되는 목적을 위해 구성될 수 있거나, 또는 그것은 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성된 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 플로피 디스크들, 광 디스크들, CD-ROM들, 및 자기-광학 디스크들을 포함하는 임의의 타입의 디스크, 판독-전용 메모리(ROM)들, 동적 RAM(DRAM)과 같은 랜덤 액세스 메모리(RAM)들, EPROM들, EEPROM들, 자기 또는 광학 카드들, 또는 전자 명령어들을 저장하기에 적합하며 컴퓨터 시스템 버스에 커플링된 임의의 타입의 매체와 같은, 그러나 이에 제한되지 않는 컴퓨터 판독가능한 저장 매체에 저장될 수 있다.
본원에 제시된 알고리즘 및 디스플레이들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치에 관한 것은 아니다. 다양한 범용 시스템들이 본원에서의 교시들에 따라 프로그램들과 함께 사용될 수 있거나, 또는 요구되는 방법 단계들을 수행하도록 더욱 특수화된 장치를 구성하는 것이 편리함을 증명할 수 있다. 다양한 이들 시스템들에 대해 요구되는 구조가 본원의 기재로부터 나타날 것이다. 추가로, 특정 실시예들은 임의의 특정 프로그래밍 언어에 관련하여 기재되지 않는다. 다양한 프로그래밍 언어들이 본원에 기재된 바와 같은 이러한 실시예들의 교시를 구현하기 위해 사용될 수 있다는 점이 이해될 것이다.
본원에 기재된 것 이외에도, 본원의 개시된 실시예들 및 구현예들에 대한 다양한 수정들이 이들의 범위로부터 벗어나지 않고 이루어질 수 있다. 따라서, 본원에서의 예시들 및 예들은 제한적인 의미가 아니라 예시적인 것으로 해석되어야 한다. 본 발명의 범위는 후속하는 청구항들에 대한 인용에 의해서만 측정되어야 한다.
Claims (30)
- 메모리 디바이스로서,
상기 메모리 디바이스의 동작 모드를 식별하는 값을 저장하기 위한 모드 레지스터; 및
상기 값에 기초하여 상기 모드를 결정하고, 상기 모드에 기초하여 상기 메모리 디바이스에 커플링된 메모리 제어기에 의해 제공되는 커맨드를 샘플링하기 위한 커맨드/어드레스(CA; command/address) 로직
을 포함하고,
상기 CA 로직은 제1 기간 동안 커맨드/어드레스 버스를 통해 제공되는 상기 커맨드의 제1 부분을 샘플링하고, 상기 제1 기간의 중간은 상기 메모리 제어기에 의해 제공되는 제1 클록 신호의 제1 천이와 동기화되고,
상기 CA 로직은 제2 기간 동안 상기 커맨드/어드레스 버스를 통해 제공되는 상기 커맨드의 제2 부분을 샘플링하고, 상기 제2 기간의 중간은 상기 제1 클록 신호의 제2 천이와 동기화되고;
상기 결정된 모드가 제1 모드인 경우, 상기 제2 천이는 상기 제1 천이 이후의 상기 제1 클록 신호의 N번째 천이이고, N은 1보다 더 큰 정수이며, 상기 결정된 모드가 제2 모드인 경우, 상기 제2 천이는 상기 제1 천이 이후의 상기 제1 클록 신호의 다음 천이인 메모리 디바이스. - 제1항에 있어서,
N은 2 또는 4와 같은 메모리 디바이스. - 제1항에 있어서,
상기 커맨드는 커맨드/어드레스 버스 트레이닝 시퀀스에 대한 것인 메모리 디바이스. - 제1항에 있어서,
상기 제1 모드는 디폴트 모드인 메모리 디바이스. - 제4항에 있어서,
상기 메모리 디바이스는 초기화 이벤트에 응답하여 상기 제1 모드로 자동으로 돌아가는 메모리 디바이스. - 제5항에 있어서,
상기 초기화 이벤트는 제1 전력 상태로부터 제2 전력 상태로의 상기 메모리 디바이스의 천이를 포함하고, 상기 제1 전력 상태의 전력 소모 레벨은 상기 제2 전력 상태의 전력 소모 레벨보다 더 큰 메모리 디바이스. - 제1항에 있어서,
상기 제1 클록 신호는 데이터 클록 신호인 메모리 디바이스. - 제1항에 있어서,
차동 신호 쌍은 상기 제1 클록 신호 및 제2 클록 신호를 포함하는 메모리 디바이스. - 제1항에 있어서,
상기 메모리 디바이스는 동적 랜덤 액세스 메모리를 포함하는 메모리 디바이스. - 메모리 디바이스에서의 방법으로서,
상기 메모리 디바이스의 모드 레지스터에 기초하여 동작 모드를 결정하는 단계; 및
상기 결정된 모드에 기초하여, 상기 메모리 디바이스에 커플링된 메모리 제어기에 의해 제공되는 커맨드를 샘플링하는 단계
를 포함하고,
상기 샘플링하는 단계는:
제1 기간 동안 커맨드/어드레스 버스를 통해 제공되는 상기 커맨드의 제1 부분을 샘플링하는 것 - 상기 제1 기간의 중간은 상기 메모리 제어기에 의해 제공되는 제1 클록 신호의 제1 천이와 동기화됨 - ; 및
제2 기간 동안 상기 커맨드/어드레스 버스를 통해 제공되는 상기 커맨드의 제2 부분을 샘플링하는 것 - 상기 제2 기간의 중간은 상기 제1 클록 신호의 제2 천이와 동기화됨 - 을 포함하고,
상기 결정된 모드가 제1 모드인 경우, 상기 제2 천이는 상기 제1 천이 이후의 상기 제1 클록 신호의 N번째 천이이고, N은 1보다 더 큰 정수이고, 상기 결정된 모드가 제2 모드인 경우, 상기 제2 천이는 상기 제1 천이 이후의 상기 제1 클록 신호의 다음 천이인 방법. - 제10항에 있어서,
N은 2 또는 4와 같은 방법. - 제10항에 있어서,
상기 커맨드는 커맨드/어드레스 버스 트레이닝 시퀀스에 대한 것인 방법. - 제10항에 있어서,
상기 제1 모드는 디폴트 모드인 방법. - 제13항에 있어서,
상기 메모리 디바이스는 초기화 이벤트에 응답하여 상기 제1 모드로 자동으로 돌아가는 방법. - 제14항에 있어서,
상기 초기화 이벤트는 제1 전력 상태로부터 제2 전력 상태로의 상기 메모리 디바이스의 천이를 포함하고, 상기 제1 전력 상태의 전력 소모 레벨은 상기 제2 전력 상태의 전력 소모 레벨보다 더 큰 방법. - 제10항에 있어서,
상기 제1 클록 신호는 데이터 클록 신호인 방법. - 제10항에 있어서,
차동 신호 쌍은 상기 제1 클록 신호 및 제2 클록 신호를 포함하는 방법. - 제10항에 있어서,
상기 메모리 디바이스는 동적 랜덤 액세스 메모리를 포함하는 방법. - 메모리 제어기로서,
상기 메모리 제어기에 커플링된 메모리 디바이스의 동작 모드를 결정하기 위한 구성 로직; 및
상기 결정된 모드에 기초하여 상기 메모리 디바이스에 대한 커맨드의 통신을 스케줄링하는 스케줄러 로직
을 포함하고,
상기 스케줄러 로직은 제1 기간 동안 커맨드/어드레스 버스를 통해 상기 커맨드의 제1 부분의 통신을 스케줄링하고, 상기 제1 기간의 중간은 상기 메모리 디바이스에 상기 메모리 제어기에 의해 제공되는 제1 클록 신호의 제1 천이와 동기화되고;
상기 스케줄러 로직은 제2 기간 동안 상기 커맨드/어드레스 버스를 통해 상기 커맨드의 제2 부분의 통신을 스케줄링하고, 상기 제2 기간의 중간은 상기 제1 클록 신호의 제2 천이와 동기화되고;
상기 결정된 모드가 제1 모드인 경우, 상기 제2 천이는 상기 제1 천이 이후의 상기 제1 클록 신호의 N번째 천이이고, N은 1보다 더 큰 정수이고, 상기 결정된 모드가 제2 모드인 경우, 상기 제2 천이는 상기 제1 천이 이후의 상기 제1 클록 신호의 다음 천이인 메모리 제어기. - 제19항에 있어서,
N은 2 또는 4와 같은 메모리 제어기. - 제19항에 있어서,
상기 커맨드는 커맨드/어드레스 버스 트레이닝 시퀀스에 대한 것인 메모리 제어기. - 제19항에 있어서,
상기 제1 클록 신호는 데이터 클록 신호인 메모리 제어기. - 제19항에 있어서,
차동 신호 쌍은 상기 제1 클록 신호 및 제2 클록 신호를 포함하는 메모리 제어기. - 제19항에 있어서,
상기 메모리 디바이스는 동적 랜덤 액세스 메모리를 포함하는 메모리 제어기. - 메모리 제어기에서의 방법으로서,
상기 메모리 제어기에 커플링된 메모리 디바이스의 동작 모드를 결정하는 단계; 및
상기 결정된 모드에 기초하여 상기 메모리 디바이스에 대한 커맨드의 통신을 스케줄링하는 단계
를 포함하고,
상기 스케줄링하는 단계는:
제1 기간 동안 커맨드/어드레스 버스를 통해 상기 커맨드의 제1 부분의 통신을 스케줄링하는 것 - 상기 제1 기간의 중간은 상기 메모리 제어기에 의해 상기 메모리 디바이스에 제공되는 제1 클록 신호의 제1 천이와 동기화됨 - ; 및
제2 기간 동안 상기 커맨드/어드레스 버스를 통해 상기 커맨드의 제2 부분의 통신을 스케줄링하는 것 - 상기 제2 기간의 중간은 상기 제1 클록 신호의 제2 천이와 동기화됨 - 을 포함하고;
상기 결정된 모드가 제1 모드인 경우, 상기 제2 천이는 상기 제1 천이 이후의 상기 제1 클록 신호의 N번째 천이이고, N은 1보다 더 큰 정수이고, 상기 결정된 모드가 제2 모드인 경우, 상기 제2 천이는 상기 제1 천이 이후의 상기 제1 클록 신호의 다음 천이인 방법. - 제25항에 있어서,
N은 2 또는 4와 같은 방법. - 제25항에 있어서,
상기 커맨드는 커맨드/어드레스 버스 트레이닝 시퀀스에 대한 것인 방법. - 제25항에 있어서,
상기 제1 클록 신호는 데이터 클록 신호인 방법. - 제25항에 있어서,
차동 신호 쌍은 상기 제1 클록 신호 및 제2 클록 신호를 포함하는 방법. - 제25항에 있어서,
상기 메모리 디바이스는 동적 랜덤 액세스 메모리를 포함하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/725,820 US8972685B2 (en) | 2012-12-21 | 2012-12-21 | Method, apparatus and system for exchanging communications via a command/address bus |
US13/725,820 | 2012-12-21 | ||
PCT/US2013/045439 WO2014098968A1 (en) | 2012-12-21 | 2013-06-12 | Method, apparatus and system for exchanging communications via a command/address bus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150105295A KR20150105295A (ko) | 2015-09-16 |
KR101742628B1 true KR101742628B1 (ko) | 2017-06-01 |
Family
ID=50976045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157011499A KR101742628B1 (ko) | 2012-12-21 | 2013-06-12 | 커맨드/어드레스 버스를 통해 통신들을 교환하기 위한 방법, 장치 및 시스템 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8972685B2 (ko) |
EP (1) | EP2936326B1 (ko) |
KR (1) | KR101742628B1 (ko) |
WO (1) | WO2014098968A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012115839A1 (en) | 2011-02-23 | 2012-08-30 | Rambus Inc. | Protocol for memory power-mode control |
US9754650B2 (en) * | 2015-10-20 | 2017-09-05 | Samsung Electronics Co., Ltd. | Memory device and system supporting command bus training, and operating method thereof |
US9959918B2 (en) | 2015-10-20 | 2018-05-01 | Samsung Electronics Co., Ltd. | Memory device and system supporting command bus training, and operating method thereof |
US11017839B2 (en) | 2017-01-13 | 2021-05-25 | Mediatek Inc. | DRAM, memory controller and associated training method |
US10884639B2 (en) * | 2017-02-27 | 2021-01-05 | Qualcomm Incorporated | Providing single data rate (SDR) mode or double data rate (DDR) mode for the command and address (CA) bus of registering clock drive (RCD) for dynamic random access memory (DRAM) |
US10162406B1 (en) * | 2017-08-31 | 2018-12-25 | Micron Technology, Inc. | Systems and methods for frequency mode detection and implementation |
US10720197B2 (en) | 2017-11-21 | 2020-07-21 | Samsung Electronics Co., Ltd. | Memory device for supporting command bus training mode and method of operating the same |
KR20210141119A (ko) | 2020-05-15 | 2021-11-23 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
KR20230074412A (ko) * | 2021-11-16 | 2023-05-30 | 르네사스 일렉트로닉스 아메리카 인크. | 칩 셀렉트 루프백을 갖는 레지스터 클락 드라이버 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999067789A1 (en) | 1998-06-23 | 1999-12-29 | Micron Technology, Inc. | Method and apparatus for controlling the data rate of a clocking circuit |
US20070168780A1 (en) * | 2004-08-10 | 2007-07-19 | Micron Technology, Inc. | Memory with test mode output |
US20120250433A1 (en) * | 2011-03-28 | 2012-10-04 | Young-Jin Jeon | Memory devices, systems and methods employing command/address calibration |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7102958B2 (en) | 2001-07-20 | 2006-09-05 | Samsung Electronics Co., Ltd. | Integrated circuit memory devices that support selective mode register set commands and related memory modules, memory controllers, and methods |
US20050204111A1 (en) * | 2004-03-10 | 2005-09-15 | Rohit Natarajan | Command scheduling for dual-data-rate two (DDR2) memory devices |
US7308526B2 (en) * | 2004-06-02 | 2007-12-11 | Intel Corporation | Memory controller module having independent memory controllers for different memory types |
JP4993892B2 (ja) * | 2005-09-29 | 2012-08-08 | ルネサスエレクトロニクス株式会社 | メモリ・コントローラ |
US8121237B2 (en) | 2006-03-16 | 2012-02-21 | Rambus Inc. | Signaling system with adaptive timing calibration |
KR100752671B1 (ko) * | 2006-09-06 | 2007-08-29 | 삼성전자주식회사 | M 행 n 열의 레이턴시 래치들을 이용하는 레이턴시 신호생성기 및 레이턴시 신호 생성 방법 |
KR100933800B1 (ko) | 2008-06-30 | 2009-12-24 | 주식회사 하이닉스반도체 | 반도체 메모리 소자의 출력 인에이블 신호 생성회로 |
KR100919815B1 (ko) | 2008-08-04 | 2009-10-01 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
US8261121B2 (en) * | 2009-12-24 | 2012-09-04 | Nvidia Corporation | Command latency reduction and command bandwidth maintenance in a memory circuit |
KR101132797B1 (ko) | 2010-03-30 | 2012-04-02 | 주식회사 하이닉스반도체 | 모듈제어회로를 포함하는 반도체모듈 및 반도체모듈의 제어방법 |
KR20120109958A (ko) | 2011-03-28 | 2012-10-09 | 삼성전자주식회사 | 커맨드/어드레스 캘리브레이션을 채용하는 메모리 장치 |
-
2012
- 2012-12-21 US US13/725,820 patent/US8972685B2/en not_active Expired - Fee Related
-
2013
- 2013-06-12 EP EP13865408.2A patent/EP2936326B1/en not_active Not-in-force
- 2013-06-12 WO PCT/US2013/045439 patent/WO2014098968A1/en active Application Filing
- 2013-06-12 KR KR1020157011499A patent/KR101742628B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999067789A1 (en) | 1998-06-23 | 1999-12-29 | Micron Technology, Inc. | Method and apparatus for controlling the data rate of a clocking circuit |
US20070168780A1 (en) * | 2004-08-10 | 2007-07-19 | Micron Technology, Inc. | Memory with test mode output |
US20120250433A1 (en) * | 2011-03-28 | 2012-10-04 | Young-Jin Jeon | Memory devices, systems and methods employing command/address calibration |
Also Published As
Publication number | Publication date |
---|---|
US20140181390A1 (en) | 2014-06-26 |
US8972685B2 (en) | 2015-03-03 |
KR20150105295A (ko) | 2015-09-16 |
EP2936326A1 (en) | 2015-10-28 |
EP2936326A4 (en) | 2016-11-09 |
EP2936326B1 (en) | 2018-09-05 |
WO2014098968A1 (en) | 2014-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101742628B1 (ko) | 커맨드/어드레스 버스를 통해 통신들을 교환하기 위한 방법, 장치 및 시스템 | |
US9721641B2 (en) | Apparatus, method and system for memory device access with a multi-cycle command | |
US11789880B2 (en) | Load reduced nonvolatile memory interface | |
JP7456083B2 (ja) | ロウハンマ緩和のホスト支援のためのリフレッシュコマンド制御 | |
CN113113063B (zh) | 存储器设备、存储器控制器及存储系统 | |
CN109147840B (zh) | 用于对行敲击事件进行响应的方法、装置和系统 | |
KR102443078B1 (ko) | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 | |
KR102581206B1 (ko) | 센서 데이터를 검출하는 것에 기초하는 임피던스 보상 | |
JP2020166832A5 (ko) | ||
TW201723866A (zh) | 具有隱藏更新及外部更新之混合式更新技術 | |
US9552164B2 (en) | Apparatus, method and system for determining reference voltages for a memory | |
US9953694B2 (en) | Memory controller-controlled refresh abort | |
US9390785B2 (en) | Method, apparatus and system for determining a write recovery time of a memory based on temperature | |
TWI570742B (zh) | 用以管理隱含預充電指令發訊之方法、設備與系統 | |
US20150370564A1 (en) | Apparatus and method for adding a programmable short delay |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |