KR20190122682A - 동적 랜덤 액세스 메모리(dram)에 대한 등록 클록 드라이브(rcd)의 커맨드 및 어드레스(ca) 버스에 대해 단일 데이터 레이트(sdr) 모드 또는 더블 데이터 레이트(ddr) 모드의 제공 - Google Patents
동적 랜덤 액세스 메모리(dram)에 대한 등록 클록 드라이브(rcd)의 커맨드 및 어드레스(ca) 버스에 대해 단일 데이터 레이트(sdr) 모드 또는 더블 데이터 레이트(ddr) 모드의 제공 Download PDFInfo
- Publication number
- KR20190122682A KR20190122682A KR1020197024786A KR20197024786A KR20190122682A KR 20190122682 A KR20190122682 A KR 20190122682A KR 1020197024786 A KR1020197024786 A KR 1020197024786A KR 20197024786 A KR20197024786 A KR 20197024786A KR 20190122682 A KR20190122682 A KR 20190122682A
- Authority
- KR
- South Korea
- Prior art keywords
- mode
- data rate
- rcd
- data
- interface
- Prior art date
Links
Images
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Dram (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
Abstract
본 개시내용의 양상들은 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하는 것에 관한 것이다. 따라서, 장치 및 방법은, 데이터 레이트 모드 선택 기준들을 결정하는 것; 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하는 것; 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하는 것; 및 데이터 레이트 모드에 대해 RCD 입력 인터페이스를 구성하는 것을 포함할 수 있다. 일 양상에서, 장치 및 방법은, 호스트 인터페이스 및 RCD 입력 인터페이스 상에서 클록 신호를 활성화시키는 것; 클록 신호를 사용하여 호스트 인터페이스로부터 RCD 입력 인터페이스로 데이터를 전달하는 것; 및 1N 모드 또는 2N 모드 중 어느 하나에서 클록 신호를 사용하여 RCD 출력 인터페이스로부터 데이터를 전달하는 것을 더 포함한다. 그리고, 데이터 레이트 모드는 SDR 모드 또는 DDR 모드 중 하나이다.
Description
[0001] 본 출원은, 2017년 2월 27일자로 미국 특허 및 상표청에 출원된 계류중인 미국 가출원 제 62/463,896호, 및 2018년 2월 21일자로 미국 특허 및 상표청에 출원된 정규 출원 제 15/901,693호를 우선권으로 주장하며, 이들의 전체 내용들은 인용에 의해 본 명세서에 포함된다.
[0002] 본 개시내용은 일반적으로, 메모리 디바이스들의 커맨드 및 어드레스(CA) 버스의 분야에 관한 것으로, 특히 동적 랜덤 액세스 메모리(DRAM)에 대한 등록 클록 드라이브(RCD)의 커맨드 및 어드레스(CA) 버스에 대해 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하는 것에 관한 것이다.
[0003] 동적 랜덤 액세스 메모리(DRAM) 기술은 어드레싱 메커니즘, 예컨대, 호스트로부터의 등록 클록 드라이브(RCD)의 커맨드/어드레스(CA) 입력 버스에 대해 듀얼 데이터 레이트(DDR) 모드 및 DRAM 디바이스로의 RCD의 CA 출력 버스에 대해 단일 데이터 레이트(SDR) 모드를 이용할 수 있다. 일 예에서, CA 입력 버스는 호스트로부터 RCD 입력으로의 긴 신호 경로 상에서 라우팅될 수 있다. 그러나, 경로 길이, 경로 잡음, 경로 감쇠, 및 경로 반사(예컨대, 임피던스 미스매치)로 인해, CA 입력 버스의 신호 무결성은, 특히 클록 레이트가 증가함에 따라 심각하게 손상될 수 있다.
[0004] 예컨대, 신호 무결성 저하들은 전체 프로세싱 시스템 성능을 개선시키기 위한 클록 주파수 스케일링(즉, 더 높은 레이트로 클록 주파수를 구동시킴)을 제한할 수 있다. 부가적으로, 신호 무결성 저하들은 DRAM 초기화 동안 최적하지 않은 신호 교정을 초래할 수 있다. 또한, 신호 무결성 저하는, 다수의 메모리 디바이스들(예컨대, DRAM들)이 공통 CA 버스로 설치될 때 악화될 수 있으며, 이는, 버스 로딩을 증가시키고 추가적인 신호 무결성 저하를 유발할 수 있다. 따라서, 클록 주파수가 증가할 때, 메모리 제어 경로(예컨대, CA 버스)에 대한 신호 무결성 요건들을 보존하는 개선된 저장 엘리먼트 아키텍처들에 대한 필요성이 존재한다.
[0005] 다음은, 그러한 양상들의 기본적인 이해를 제공하기 위해 본 개시내용의 하나 이상의 양상들의 간략화된 요약을 제시한다. 이러한 요약은 개시내용의 모든 고려된 특징들의 포괄적인 개관이 아니며, 개시내용의 임의의 또는 모든 양상들의 범위를 서술하거나 개시내용의 모든 양상들의 핵심 또는 중요 엘리먼트들을 식별하도록 의도되지 않는다. 이러한 요약의 유일한 목적은, 이후에 제시되는 더 상세한 설명에 대한 서론으로서 간략화된 형태로 개시내용의 하나 이상의 양상들의 일부 개념들을 제시하는 것이다.
[0006] 일 양상에서, 본 개시내용은 모드 선택을 제공한다. 따라서, 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하기 위한 방법은, 하나 이상의 데이터 레이트 모드 선택 기준들을 결정하는 단계; 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하는 단계; 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하는 단계; 및 데이터 레이트 모드에 대해 등록 클록 드라이브(RCD)의 RCD 입력 인터페이스를 구성하는 단계를 포함한다.
[0007] 일 예에서, 데이터 레이트 모드는 SDR 모드 또는 DDR 모드 중 하나이다. 일 예에서, 호스트 인터페이스는 입력 버스를 통한 등록 클록 드라이브(RCD)로의 연결을 위한 호스트의 출력이다. 일 예에서, RCD 입력 인터페이스는 입력 버스를 통한 호스트로의 연결을 위한 등록 클록 드라이브(RCD)의 입력이다. 일 예에서, 데이터 레이트 모드는 초기화 시에 세팅되며, 세션 전반에 걸쳐 정적으로 유지된다. 일 예에서, 데이터 레이트 모드는 세션 전반에 걸쳐 SDR 모드와 DDR 모드 사이에서 가변적이다.
[0008] 일 예에서, 방법은, 클록 신호를 사용하여 호스트 인터페이스와 RCD 입력 인터페이스 사이에서 데이터를 전달하는 단계를 더 포함한다. 일 예에서, 데이터를 전달하는 것은 기입 동작을 포함한다. 일 예에서, 데이터를 전달하는 것은 판독 동작을 포함한다. 일 예에서, 데이터는 커맨드 또는 어드레스를 포함한다.
[0009] 일 예에서, 방법은, 1N 모드 또는 2N 모드 중 어느 하나에서 클록 신호를 사용하여 RCD 출력 인터페이스로부터 데이터를 전달하는 단계를 더 포함한다. 일 예에서, RCD 출력 인터페이스는 출력 버스를 통한 메모리로의 RCD의 출력이다. 일 예에서, 메모리는 동적 랜덤 액세스 메모리(DRAM)이다.
[0010] 일 예에서, 방법은, 호스트 인터페이스 및 RCD 입력 인터페이스 상에서 클록 신호를 활성화시키는 단계를 더 포함한다. 일 예에서, 방법은, 클록 신호를 사용하여 호스트 인터페이스 상에서의 데이터 전달을 개시하도록 호스트 인터페이스를 구성하는 단계를 더 포함한다. 일 예에서, 방법은, 클록 신호를 사용하여 RCD 입력 인터페이스 상에서의 데이터 수신을 개시하도록 RCD 입력 인터페이스를 구성하는 단계를 더 포함한다. 일 예에서, 하나 이상의 데이터 레이트 모드 선택 기준들은 클록 속도, 버스트 길이, 액세스 통계, 판독/기입 비율, 레이턴시, 듀티 팩터(duty factor), 페이지 클러스터링, 스트리밍 특성, dc 전력 제한, 또는 어드레스 상관 메트릭을 사용하여 정량화된 데이터 트래픽 특성 중 적어도 하나를 포함한다.
[0011] 본 개시내용의 다른 양상은 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하기 위한 장치를 제공하며, 그 장치는, 메모리 제어기 ― 메모리 제어기는, 하나 이상의 데이터 레이트 모드 선택 기준들을 결정하고; 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하고; 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하며; 그리고 데이터 레이트 모드에 대해 RCD 입력 인터페이스를 구성함 ―; 메모리 제어기에 커플링된 클록 생성기 ― 클록 생성기는 호스트 인터페이스 및 RCD 입력 인터페이스 상에서 클록 신호를 활성화시킴 ―; 및 메모리 제어기에 커플링된 호스트를 포함하며, 호스트는 클록 신호를 사용하여 호스트 인터페이스와 RCD 입력 인터페이스 사이에서 데이터를 전달한다.
[0012] 일 예에서, 장치는 메모리 제어기에 커플링된 등록 클록 드라이브(RCD)를 더 포함하며, 여기서, RCD는 1N 모드 또는 2N 모드 중 어느 하나에서 클록 신호를 사용하여 RCD 출력 인터페이스로부터 데이터를 전달한다. 일 예에서, 호스트는 호스트 인터페이스를 포함하고, 등록 클록 드라이브(RCD)는 RCD 입력 인터페이스 및 RCD 출력 인터페이스를 포함한다. 일 예에서, 데이터 레이트 모드는 SDR 모드 또는 DDR 모드 중 하나이다. 일 예에서, 데이터 레이트 모드는 초기화 시에 세팅되며, 세션 전반에 걸쳐 정적으로 유지된다. 일 예에서, 데이터 레이트 모드는 세션 전반에 걸쳐 SDR 모드와 DDR 모드 사이에서 가변적이다.
[0013] 본 개시내용의 다른 양상은 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하기 위한 장치를 제공하며, 그 장치는, 하나 이상의 데이터 레이트 모드 선택 기준들을 결정하기 위한 수단; 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하기 위한 수단; 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하기 위한 수단; 및 데이터 레이트 모드에 대해 등록 클록 드라이브(RCD)의 RCD 입력 인터페이스를 구성하기 위한 수단을 포함한다.
[0014] 일 예에서, 장치는, 호스트 인터페이스 및 RCD 입력 인터페이스 상에서 클록 신호를 활성화시키기 위한 수단; 및 클록 신호를 사용하여 호스트 인터페이스로부터 RCD 입력 인터페이스로 데이터를 전달하기 위한 수단을 더 포함한다. 일 예에서, 장치는, 1N 모드 또는 2N 모드 중 어느 하나에서 클록 신호를 사용하여 RCD 출력 인터페이스로부터 데이터를 전달하기 위한 수단을 더 포함한다. 일 예에서, 데이터 레이트 모드는 SDR 모드 또는 DDR 모드 중 하나이다.
[0015] 본 개시내용의 다른 양상은, 적어도 하나의 프로세서 및 적어도 하나의 프로세서에 커플링된 적어도 하나의 메모리를 포함하는 디바이스 상에서 동작가능한, 컴퓨터 실행가능 코드를 저장하는 컴퓨터-판독가능 매체를 제공하며, 여기서 적어도 하나의 프로세서는, 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하도록 구성되고, 컴퓨터 실행가능 코드는, 컴퓨터로 하여금 하나 이상의 데이터 레이트 모드 선택 기준들을 결정하게 하기 위한 명령들; 컴퓨터로 하여금 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하게 하기 위한 명령들; 컴퓨터로 하여금 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하게 하기 위한 명령들; 및 컴퓨터로 하여금 데이터 레이트 모드에 대해 등록 클록 드라이브(RCD)의 RCD 입력 인터페이스를 구성하게 하기 위한 명령들을 포함한다.
[0016] 일 예에서, 컴퓨터-판독가능 매체는, 컴퓨터로 하여금 호스트 인터페이스 및 RCD 입력 인터페이스 상에서 클록 신호를 활성화시키게 하기 위한 명령들; 컴퓨터로 하여금 클록 신호를 사용하여 호스트 인터페이스로부터 RCD 입력 인터페이스로 데이터를 전달하게 하기 위한 명령들 ― 데이터 레이트 모드는 SDR 모드 또는 DDR 모드 중 하나임 ―; 및 컴퓨터로 하여금 1N 모드 또는 2N 모드 중 어느 하나에서 클록 신호를 사용하여 RCD 출력 인터페이스로부터 데이터를 전달하게 하기 위한 명령들을 더 포함한다.
[0017] 본 발명의 이들 및 다른 양상들은 후속하는 상세한 설명의 검토 시에 더 완전하게 이해되게 될 것이다. 본 발명의 다른 양상들, 특징들, 및 실시예들은, 첨부한 도면들과 함께 본 발명의 특정한 예시적인 실시예들의 다음의 설명을 검토할 시에 당업자들에게 명백해질 것이다. 본 발명의 특징들이 아래의 특정한 실시예들 및 도면들에 대해 설명될 수 있지만, 본 발명의 모든 실시예들은, 본 명세서에 설명되는 유리한 특징들 중 하나 이상을 포함할 수 있다. 즉, 하나 이상의 실시예들이 특정한 유리한 특징들을 갖는 것으로 논의될 수 있지만, 그러한 특징들 중 하나 이상은 또한, 본 명세서에서 논의되는 본 발명의 다양한 실시예들에 따라 사용될 수 있다. 유사한 방식으로, 예시적인 실시예들이 디바이스, 시스템, 또는 방법 실시예들로서 아래에서 논의될 수 있지만, 그러한 예시적인 실시예들이 다양한 디바이스들, 시스템들, 및 방법들에서 구현될 수 있음을 이해해야 한다.
[0018] 도 1은 메모리 제어기와 메모리 사이의 시그널링을 도시한 예시적인 메모리 시스템을 예시한다.
[0019] 도 2는 호스트와 메모리 사이에 등록 클록 디바이스(RCD)를 갖는 예시적인 메모리 시스템을 예시한다.
[0020] 도 3은 2개의 입력 버스들 및 4개의 출력 버스들을 갖는 2 채널 RCD의 일 예를 예시한다.
[0021] 도 4는 단일 데이터 레이트(SDR) 모드의 하나의 단위 간격(UI) 타이밍 다이어그램의 일 예를 예시한다.
[0022] 도 5는 단일 데이터 레이트(SDR) 모드의 2개의 단위 간격(UI) 타이밍 다이어그램의 일 예를 예시한다.
[0023] 도 6은 동적 랜덤 액세스 메모리(DRAM)에 대한 등록 클록 드라이브(RCD)에 대해 커맨드/어드레스(CA) 버스에 대한 데이터 레이트 모드를 선택 및 실행하기 위한 예시적인 흐름도를 예시한다.
[0019] 도 2는 호스트와 메모리 사이에 등록 클록 디바이스(RCD)를 갖는 예시적인 메모리 시스템을 예시한다.
[0020] 도 3은 2개의 입력 버스들 및 4개의 출력 버스들을 갖는 2 채널 RCD의 일 예를 예시한다.
[0021] 도 4는 단일 데이터 레이트(SDR) 모드의 하나의 단위 간격(UI) 타이밍 다이어그램의 일 예를 예시한다.
[0022] 도 5는 단일 데이터 레이트(SDR) 모드의 2개의 단위 간격(UI) 타이밍 다이어그램의 일 예를 예시한다.
[0023] 도 6은 동적 랜덤 액세스 메모리(DRAM)에 대한 등록 클록 드라이브(RCD)에 대해 커맨드/어드레스(CA) 버스에 대한 데이터 레이트 모드를 선택 및 실행하기 위한 예시적인 흐름도를 예시한다.
[0024] 첨부된 도면들과 관련하여 아래에 기재된 상세한 설명은 본 발명의 다양한 양상들의 설명으로서 의도되며, 본 발명이 실시될 수 있는 양상들만을 표현하도록 의도되지 않는다. 본 발명에 설명된 각각의 양상은, 단지 본 발명의 일 예 또는 예시로서만 제공되며, 반드시 다른 양상들에 비해 바람직하거나 유리한 것으로서 해석되지는 않아야 한다. 상세한 설명은 본 발명의 완전한 이해를 제공하려는 목적을 위한 특정한 세부사항들을 포함한다. 그러나, 본 발명이 이들 특정한 세부사항들 없이도 실시될 수 있다는 것은 당업자들에게는 명백할 것이다. 일부 예시들에서, 잘 알려진 구조들 및 디바이스들은 본 개시내용의 개념들을 불명료하게 하는 것을 회피하기 위해 블록 다이어그램 형태로 도시된다. 약어들 및 다른 설명적인 용어는 단지 편의 및 명확화를 위해서만 사용될 수 있으며, 본 개시내용의 범위를 제한하도록 의도되지 않는다.
[0025] 설명의 간략화의 목적들을 위해, 방법들이 일련의 동작들로서 도시되고 설명되지만, 하나 또는 그 초과의 양상들에 따라, 일부 동작들이 본 명세서에 도시되고 설명되는 것과 다른 순서들로 및/또는 다른 동작들과 동시에 발생할 수 있으므로, 방법들이 동작들의 순서에 의해 제한되지 않음을 이해 및 인식할 것이다. 예컨대, 당업자들은, 방법이 상태도에서와 같이 일련의 상호관련된 상태들 또는 이벤트들로서 대안적으로 표현될 수 있음을 이해 및 인식할 것이다. 또한, 예시된 모든 동작들이 하나 이상의 양상들에 따라 방법을 구현하는 데 요구되지는 않을 수 있다.
[0026] 동적 랜덤 액세스 메모리(DRAM) 디바이스는 프로세싱 시스템들, 이를테면 퍼스널 컴퓨터(PC)들, 랩톱 컴퓨터들, 모바일 디바이스들, 개인 휴대 정보 단말(PDA)들 등에서 저장 엘리먼트로서 일반적으로 사용된다. DRAM은 복수의 메모리 셀들을 포함할 수 있으며, 여기서 각각의 메모리 셀은 단일 비트의 정보를 저장하기 위한 트랜지스터 및 커패시터를 포함할 수 있다. DRAM은 적어도 2개의 타입들의 데이터 전달 동작들, 즉 기입 동작 및 판독 동작을 위해 사용될 수 있다. DRAM은 메모리로의 데이터 저장을 위해 데이터 소스로부터 DRAM 데이터 입력 포트들로 비트들을 전달하도록 기입 데이터 라인들을 사용하여 기입 동작으로 복수의 비트들을 메모리에 저장할 수 있다. 또한, DRAM은 메모리로부터의 데이터 리트리벌(retrieval)을 위해 DRAM 데이터 출력 포트들로부터 데이터 목적지로 비트들을 전달하도록 판독 데이터 라인들을 사용하여 판독 동작으로 메모리로부터 복수의 비트들을 리트리브할 수 있다. 기입 및 판독 동작들은 별개의 제어 경로, 예컨대 커맨드/어드레스(CA) 버스를 통해 제어될 수 있다. 커맨드들은 원하는 동작 또는 상태, 예컨대 기입, 판독, 클리어(CLEAR), 리셋 등을 지정하는 비트 패턴들의 세트이다. 어드레스는, 기입 동작 또는 판독 동작 중 어느 하나에 대한 원하는 메모리 위치를 지정하는 비트 패턴들의 특정 그룹이다. 어드레스 비트 패턴 내의 비트들의 양이 기입 또는 판독 동작 중 어느 하나에서 전달되는 비트들의 양과 반드시 동일할 필요는 없음을 유의한다.
[0027] 일반적으로, 프로세싱 시스템에서의 데이터 전달 동작은 호스트와 저장 엘리먼트 사이에서 발생한다. 호스트는 프로세서(예컨대, 중앙 프로세서 유닛(CPU), 마이크로프로세서, 마이크로제어기, 멀티프로세서 등)를 포함할 수 있다. 일 예에서, 호스트로부터 저장 엘리먼트(예컨대, DRAM)로의 제어 경로(예컨대, CA 버스)는 신호 컨디셔닝을 위한 중간 디바이스(예컨대, 등록 클록 드라이브(RCD))를 요구할 수 있다. 신호 컨디셔닝은, 예컨대 버퍼링, 신호 등록, 재클록킹(re-clocking), 재구동 등을 포함할 수 있다. RCD는 저장 엘리먼트, 예컨대 DRAM의 일부일 수 있거나, 또는 메모리 모듈, 예컨대 듀얼 인라인 메모리 모듈(DIMM) 내의 하나의 컴포넌트일 수 있다.
[0028] 메모리 디바이스(예컨대, DRAM)는 DRAM의 동기식 동작을 조절하기 위해 클록 신호, 예컨대 (예컨대, 교번하는 로우(low) 및 하이(high) 레벨들을 갖는) 주기적인 구형파 기준 신호를 사용할 수 있다. 클록 신호는 복수의 반복 클록 사이클들을 포함할 수 있다. 일반적으로, DRAM은 다양한 모드들, 예컨대 데이터 레이트 모드들로 기능할 수 있다. 2개의 사용된 데이터 레이트 모드들은 단일 데이터 레이트(SDR) 모드 및 듀얼 데이터 레이트(DDR) 모드이다. 데이터 레이트 모드들은 제어 경로(예컨대, CA 버스)에 대해 사용될 수 있다. 예컨대, SDR 모드에서, 데이터는 클록 사이클의 상승 에지(즉, 로우/하이 전환) 또는 하강 에지(즉, 하이/로우 전환) 중 어느 하나 상에서만 전달된다. 즉, 데이터 전달 동작은 클록 사이클 당 1회만 발생한다. DDR 모드에서, 데이터는 클록 사이클의 상승 에지 및 하강 에지 둘 모두 상에서 전달된다. 즉, 데이터 전달 동작들은 클록 사이클 당 2회 발생한다.
[0029] DRAM 기술은 점진적으로 더 유능한 메모리 디바이스들을 달성하기 위해 시간에 걸쳐 발전되어 왔다. 예컨대, DRAM 기술은 DDR1 내지 DDR2, DDR3, DDR4, DDR5 등으로부터 발달해왔다. DRAM 인터페이스 요건들은 상이한 벤더(vendor)들 사이에서 디바이스 호환성을 보장하도록 산업 표준 단체들, 예컨대 JEDEC(Joint Electron Device Engineering Council)에 의해 특정된다.
[0030] 휘발성 메모리(즉, 저장 엘리먼트)의 일 형태는 동적 랜덤 액세스 메모리(DRAM)이다. 호스트(예컨대, 컴퓨터, 프로세서, 제어기 등)는 데이터 및 명령들의 신속한 저장 및 리트리벌을 위해 DRAM을 이용할 수 있다. 데이터는 데이터 저장 또는 데이터 리트리벌을 위한 DRAM 위치를 특정하기 위해 어드레싱 메커니즘(예컨대, 메모리 제어 경로)을 사용하여 DRAM에 저장되고 그리고/또는 DRAM에서 리트리브될 수 있다. 메모리 제어 경로의 하나의 타입은 커맨드/어드레스(CA) 버스이다. 일부 경우들에서, 등록 클록 드라이브(RCD)로 알려진 중간 디바이스는 신호 컨디셔닝을 제공함으로써 호스트와 DRAM 사이를 조정한다. RCD는 입력 CA 버스 및 출력 CA 버스를 갖는다. 하나의 형태의 조정은 데이터 레이트 모드 조정이다. 2개의 사용된 DRAM 데이터 레이트 모드들은 단일 데이터 레이트(SDR) 모드 및 듀얼 데이터 레이트(DDR) 모드이다.
[0031] 도 1은 메모리 제어기와 메모리 사이의 시그널링을 도시한 예시적인 메모리 시스템(100)을 예시한다. 2개의 엘리먼트들, 즉 메모리 제어기(110) 및 메모리(120)가 도 1에 도시된다. 메모리 제어기(110)와 메모리(120) 사이의 3개의 신호 경로들: a) 커맨드/어드레스(CA) 버스(130); b) 데이터 버스(140); 및 c) 클록 신호(150)가 또한 도 1에 도시된다. 일 예에서, 메모리 제어기(110)는, 기입 동작의 일부로서 데이터 버스(140) 상에서 데이터를 메모리(120)에 전송하거나 또는 판독 동작의 일부로서 데이터 버스(140) 상에서 데이터를 메모리(120)로부터 수신하는 호스트의 일부이다. 커맨드/어드레스(CA) 버스(130)는 기입 또는 판독 동작들을 실행하고, 어느 하나의 동작을 위해 원하는 메모리 어드레스를 특정하는 데 사용될 수 있다. 부가적으로, 클록 신호(150)는 기입 및 판독 동작들을 동기식으로 페이싱(pace)하는 데 사용될 수 있다. 일 예에서, 클록 신호(150)는 메모리 제어기(110)에 커플링된 클록 생성기(160)에 의해 생성된다. 다른 예에서, 도시되지 않았지만, 클록 생성기(160)가 메모리(120)에 직접 커플링될 수 있다. 다른 예에서, 클록 생성기(160)는 클록 분배 회로(도시되지 않음)를 통해 메모리 제어기(110) 및 메모리(120) 중 어느 하나 또는 둘 모두에 커플링될 수 있다.
[0032] 도 2는 호스트(210)와 메모리(230) 사이에 등록 클록 디바이스(RCD)(220)를 갖는 예시적인 메모리 시스템(200)을 예시한다. 일 예에서, 메모리(230)는 동적 랜덤 액세스 메모리(DRAM)이다. 제어/어드레스(CA) 입력 버스(240) 및 제어/어드레스(CA) 출력 버스(250)가 도 2에 도시된다. 호스트(210)는, RCD(220)로 입력되는, CA 입력 버스(240)에 연결된 호스트(210)의 출력인 호스트 인터페이스를 포함할 수 있다. RCD(220)는 호스트(210)로부터의 CA 입력 버스(240)에 연결된 RCD에 대한 입력인 RCD 입력 인터페이스를 포함할 수 있다. 호스트 인터페이스 및 RCD 입력 인터페이스는 CA 입력 버스(240)를 사용하여 호스트(210)와 RCD(220) 사이의 상호연결을 허용한다. RCD(220)는 메모리(230)로의 CA 출력 버스(250)를 통한 메모리(230)로의 출력인 RCD 출력 인터페이스를 포함할 수 있다.
[0033] (N+p)개의 비트들을 갖는 CA 입력 버스(240)는 호스트(210)로부터 RCD(220)로 커맨드 데이터 및 어드레스 입력 데이터를 전달한다. N은 CA 입력 버스를 통해 전달되는 비트들의 양을 나타내고, p는 CA 입력 버스를 통한 패리티 비트들의 양을 나타낸다. 예컨대, p=0는 패리티 없는 경우를 나타내고, p=1은 단일 패리티 경우를 나타내고, p=2는 더블 패리티 경우를 나타내는 등의 식이다. (2N+q)개의 비트들을 갖는 CA 출력 버스(250)는 RCD(220)로부터 메모리(230)로 커맨드 출력 데이터 및 어드레스 출력 데이터를 전달한다. 2N은 CA 출력 버스를 통해 전달되는 비트들의 양을 나타내고, p는 CA 출력 버스를 통한 패리티 비트들의 양을 나타낸다. CA 출력 버스는 패리티 비트들을 부가할 수 있거나(즉, q≠0) 또는 패리티 비트들을 부가하지 않을 수 있다(즉, q=0). 또한, 모드 선택 제어 라인(260)이 RCD에 대한 모드 선택 입력으로서 도시된다. 일 예에서, 모드 선택 제어 라인(260)은 CA 입력 버스(240)에 대한 데이터 레이트 모드를 선택하는 데 사용될 수 있다. 예컨대, 데이터 레이트 모드들은 단일 데이터 레이트(SDR), 더블 데이터 레이트(DDR), 쿼드러블 데이터 레이트(QDR) 등일 수 있다. 일 예에서, 데이터 레이트 모드는 초기화 시에 세팅될 수 있으며, 세션 동안 정적으로 유지될 수 있다. 다른 예에서, 데이터 레이트 모드는 세션에 걸쳐 가변적일 수 있다. 즉, 데이터 레이트 모드는 SDR 모드와 DDR 모드 사이에서 변할 수 있다. 일 예에서, 세션은 동작 단계들의 그룹에 대한 실행을 위한 시간 지속기간이다. 예컨대, 세션은 사용자 로그인과 사용자 로그아웃 사이의 시간 지속기간일 수 있다.
[0034] 일 예에서, 데이터 레이트 모드 선택은 동작 시나리오들의 최적화를 허용할 수 있다. 예컨대, 데이터 레이트 모드 선택은 다양한 동작 시나리오들에 의존하여 SDR 모드 또는 DDR 모드 중 어느 하나의 선택을 최적화시킬 수 있다. 일 양상에서, 데이터 레이트 모드 선택은 클록 속도, 버스트 길이들, dc 전력 제한들, 데이터 트래픽 특성들, 액세스 통계들, 판독/기입 비율, 레이턴시, 듀티 팩터, 페이지 클러스터링, 및/또는 스트리밍 특성들에 기반할 수 있다. 예컨대, DDR 모드 동작이 (예컨대, DDR 모드에서의 제한된 더 높은 속도 스케일링으로 인해) 최대 DDR 모드 클록 속도에 의해 제한될 수 있으므로, 클록 속도에 의존하여 데이터 레이트 모드가 선택될 수 있다. 예컨대, 더 긴 버스트 길이가 더 높은 데이터 전달 레이트를 제공하므로 버스트 길이에 의존하여 데이터 레이트 모드가 선택될 수 있어서, SDR 모드가 최적일 수 있다. 예컨대, DDR 모드 동작이 SDR 모드보다 더 많은 dc 전력을 소비할 수 있으므로 dc 전력 제한들에 의존하여 데이터 레이트 모드가 선택될 수 있다. 예컨대, 데이터 레이트 모드는 액세스 통계들 또는 데이터 트래픽 특성들(예컨대, 랜덤 액세스 또는 클러스터링된(상관된) 액세스)에 의존하여 선택될 수 있다. 일 예에서, 랜덤 액세스는 DDR 모드에 더 적절할 수 있고, 클러스터링된 액세스는 SDR 모드에 더 적절할 수 있다. 일 예에서, 데이터 트래픽 특성들은 어드레스 상관 메트릭을 사용하여 정량화될 수 있다. 어드레스 상관 메트릭은 순차적인 메모리 액세스들에서의 랜덤성을 정량화시킨다. 일 예에서, 어드레스 상관 메트릭은 0 내지 1의 범위에 있는 정규화된 값이며, 여기서 0은 완전히 상관되지 않은 순차적인 메모리 액세스들(예컨대, 랜덤 액세스)을 나타내고, 1은 완전히 상관된 순차적인 메모리 액세스들(예컨대, 클러스터링된 메모리 액세스)을 나타낸다.
[0035] 일 예에서, SDR 모드가 선택될 경우, 데이터 레이트 모드 선택은 더 완화된 타이밍 제한들, dc 전력 절약들, 감소된 채널 특성화 트레이닝 시간(예컨대, 등화기(equalizer) 트레이닝) 등을 허용할 수 있다. 예컨대, 더 완화된 타이밍 제한들은, 예컨대 DDR 모드의 하프(half) 클록 사이클로부터 SDR 모드의 풀(full) 클록 사이클로 완화시키는 더 완화된 인터페이스 셋업 및 유지 시간을 포함할 수 있다. 일 예에서, 이러한 완화된 타이밍 제한은 더 높은 클록 속도에 대한 스케일링, 및 엄격한 클록 스큐(skew) 요건들을 달성하는 것을 용이하게 한다. 또한, 일 예에서, 보드(board) 제한들은 DDR 모드의 사용을 허용하지 않을 수 있다.
[0036] 도 3은 2개의 CA 입력 버스들 및 4개의 CA 출력 버스들을 갖는 2 채널 RCD(300)의 일 예를 예시한다. 도 3의 예에서, 2개의 CA 입력 버스들(D0CA(320) 및 D1CA(330))이 도시되고, 4개의 CA 출력 버스들(Q0ACA(340), Q0BCA(350), Q1ACA(360), 및 Q1BCA(370))이 도시된다. RCD(300)의 각각의 채널은 하나의 CA 입력 버스 및 2개의 CA 출력 버스들을 포함할 수 있다. 예컨대, 제1 채널은 CA 입력 버스에 대한 D0CA(320) 및 2개의 CA 출력 버스들에 대한 Q0ACA(340) 및 Q0BCA(350)를 포함할 수 있다. 예컨대, 제2 채널은 CA 입력 버스에 대한 D1CA(330) 및 2개의 CA 출력 버스들에 대한 Q1ACA(360) 및 Q1BCA(370)를 포함할 수 있다. 일 예에서, CA 입력 버스들 각각은 N개의 비트들을 포함하고, CA 출력 버스들 각각은 2N개의 비트들을 포함한다. CA 입력 버스들은 또한 길이 p 비트의 입력 패리티 비트들, 즉 p=0, p=1 또는 p>1을 포함할 수 있다. 그리고, CA 출력 버스들은 길이 q의 출력 패리티 비트들, 즉 q=0, q=1 또는 q>1을 포함할 수 있다. 일 예에서, CA 입력 버스는 SDR 모드 또는 DDR 모드 중 어느 하나로 동작할 수 있으며, CA 출력 버스는 SDR 모드로 동작할 수 있다. CA 출력 버스의 경우, SDR 모드는 또한 2N 모드로 나타낼 수 있다. 2N 모드에서, 데이터는 하나 걸러 하나의 클록 에지, 예컨대 하나 걸러 하나의 상승 에지 상에서만 전달된다. 1N 모드에서, 데이터는 모든 각각의 클록 에지, 예컨대 모든 각각의 상승 에지 상에서 전달된다.
[0037] 일 예에서, RCD(300)는 CA 입력 버스 상에서의 비트들의 등록을 제어하기 위해 (즉, 호스트를 마주보는) CA 입력 버스 상에서 2개의 입력 데이터 레이트 모드들, 즉 SDR(단일 데이터 레이트) 모드 및 DDR(더블 데이터 레이트) 모드를 지원한다. 예컨대, 입력 데이터 레이트 모드는 RCD에 대한 모드 선택 제어 라인을 사용하여 선택될 수 있다. 모드 선택 제어 라인의 일 예는 모드 선택 제어 라인(260)으로 도 2에 예시되어 있다. 다른 예에서, 입력 데이터 모드는 RCD의 모드 제어 비트를 프로그래밍함으로써 선택될 수 있다. 모드 제어 비트는, 예컨대 CA 입력 버스 상의 커맨드를 통해 프로그래밍된다.
[0038] 일 예에서, 모드 선택 제어 라인의 디폴트 상태는 SDR 모드이다. 일 예에서, 디폴트 상태는, 어떠한 명시적인 커맨드도 시스템 상태를 세팅하기 위해 사용되지 않으면 이용되는 시스템 상태이다. CA 입력 버스는 N 비트의 비트 폭을 갖는다. 일 예에서, N=7이다. 일 예로서, 단일 입력 패리티 비트 또는 다수의 입력 패리티 비트들이 N 비트를 넘어 CA 입력 버스에 부가될 수 있다. 즉, p=1 또는 p>1이다. CA 출력 버스는 2N 비트의 비트 폭을 갖는다. 일 예에서, 2N=14이다. 일 예로서, 출력 패리티 비트들이 CA 출력 버스에 부가되지 않을 수 있으며, 즉 q=0이다. 또는 출력 패리티 비트들이 CA 출력 버스에 부가될 수 있으며, 즉 q=1 또는 q>1이다. 일 예에서, RCD는 CA 출력 버스 상에서 N 비트로부터 2N 비트로 CA 입력 버스의 비트 폭을 확장시킬 수 있다.
[0039] 표 1은 CA 출력 버스 비트들(또한, QCA로 알려짐)에 대한 CA 입력 버스 비트들(또한, DCA로 알려짐)의 하나의 가능한 맵핑을 예시한다. 예컨대, CA 입력 버스 비트들은 입력 비트 제로, 입력 비트 1, 입력 비트 2 등으로 개별적으로 지정될 수 있으며, 여기서 입력 비트 제로는 CA 입력 버스 비트들의 최하위 비트(LSB)일 수 있다. 예컨대, DCA0은 D0CA 또는 D1CA 중 어느 하나의 입력 비트 제로를 지칭할 수 있고, DCA1은 D0CA 또는 D1CA 중 어느 하나의 입력 비트 1을 지칭할 수 있고, DCA2는 D0CA 또는 D1CA 중 어느 하나의 입력 비트 2를 지칭할 수 있는 등의 식이다. 예컨대, CA 출력 버스 비트들은 출력 비트 제로, 출력 비트 1, 출력 비트 2 등으로 개별적으로 지정될 수 있으며, 여기서 출력 비트 제로는 CA 출력 버스 비트들의 최하위 비트(LSB)일 수 있다. 예컨대, QCA0은 Q0CA 또는 Q1CA 중 어느 하나의 출력 비트 제로를 지칭할 수 있고, QCA1은 Q0CA 또는 Q1CA 중 어느 하나의 출력 비트 1을 지칭할 수 있고, QCA2는 Q0CA 또는 Q1CA 중 어느 하나의 출력 비트 2를 지칭할 수 있는 등의 식이다.
[0040] 또한, 일 예에서, UI는 심볼 지속기간 시간으로 또한 알려진 단위 간격을 나타낸다. 예컨대, 하나의 UI는 신호 상태 변화들 사이의 최소 시간 간격(예컨대, 펄스 시간 또는 심볼 지속기간 시간)이며, 여기서 하나의 UI는 각각의 연속적인 펄스 또는 심볼에 의해 취해진 시간이다. 일 예에서, 표 1은 출력 데이터에 대한 입력 데이터의 맵핑을 도시하며, 여기서 입력 데이터(예컨대, DCA)의 7개의 비트들 및 출력 데이터(예컨대, QCA)의 14개의 비트들이 존재할 수 있다. 예컨대, 입력 데이터(예컨대, DCA)는 UI 0 및 UI 1로 라벨링된 2개의 UI들을 통해 전달될 수 있다. 예컨대, UI 0으로부터의 입력 데이터는 출력 데이터의 제1 서브세트(예컨대, QCA 0 내지 QCA 6)를 생성할 수 있고, UI 1로부터의 입력 데이터는 출력 데이터의 제2 서브세트(예컨대, QCA 7 내지 QCA 13)를 생성할 수 있다.
[0041] 예컨대, CA 입력 버스(즉, DCA)에 대한 SDR 모드에서, 모드 선택 제어 라인은 호스트 인터페이스에 대해 SDR 모드로 유지되며, CA 출력 버스(즉, QCA)는, SDR 모드가 CA 입력 버스(DCA) 상에서 인에이블링될 경우 2N 모드로 동작한다. 이러한 경우, 장점은 RCD가 2N 모드에서는 CA 출력 버스 상에서 더 많은 셋업 및 유지 시간을 획득할 수 있으며, 이는 신호 무결성 마진을 개선시킨다는 것일 수 있다.
[0042] 일 예에서, 데이터가 클록 신호의 다음 하강 에지 대신 클록 신호의 다음 상승 에지 상에서 캡처되므로, SDR 모드에서 CA 출력 버스 상에 부가적인 하프 사이클 클록 지연이 존재할 수 있다. 일 예에서, 이러한 지연의 성능 영향은, 판독 레이턴시가 통상적으로 수십 클록 사이클들이므로 최소이다. 부가적으로, CA 출력 버스 이용 레이트는 SDR 모드의 2배일 수 있지만, 각각의 커맨드에 대한 데이터를 DRAM에 전달하는 데 8개의 클록 사이클들이 통상적으로 걸리므로, 성능 영향은 최소이다.
[0043] 도 4는 단일 데이터 레이트(SDR) 모드의 하나의 단위 간격(UI) 타이밍 다이어그램(400)의 일 예를 예시한다. 도 4의 예에서, 커맨드 또는 어드레스는 하나의 UI를 통해 전달되며, 여기서 하나의 UI는 심볼 지속기간 시간을 표현한다. 입력 클록(DCK_t) 및 그의 보수(complement)(DCK_c)가 도 4의 최상부에 도시되며, 클록 상승 에지는 상승 화살표로 나타낸다. 입력 칩 선택 신호(DCS_n)는 메모리 입력 동작에 대한 칩을 선택하는 데 사용된다. 커맨드 또는 어드레스는 입력 CA 버스 신호(DCA)를 사용하여 전달된다. 일 예에서, DCA는 DCA[6:0]로 나타낸 7개의 입력 비트들을 갖는다. 입력 CA 버스 신호에 대한 패리티는 패리티 신호(DPAR)(도시되지 않음)를 사용하여 전달될 수 있다. 출력 클록(QCK_t) 및 그의 보수(QCK_c)가 또한 예시된다. 출력 칩 선택 신호(QCS_n)는 메모리 출력 동작에 대한 칩을 선택하는 데 사용된다. 커맨드 또는 어드레스는 출력 CA 버스 신호(QCA)를 사용하여 전달된다. 일 예에서, QCA는 DCA[13:0]로 나타낸 14개의 출력 비트들을 갖는다. 일 예에서, QCA는 모든 각각의 클록 사이클마다, 즉 UI 당 1회로 데이터를 전달한다.
[0044] 도 5는 단일 데이터 레이트(SDR) 모드의 2개의 단위 간격(UI) 타이밍 다이어그램(500)의 일 예를 예시한다. 도 5의 예에서, 커맨드 또는 어드레스는 2개의 UI들을 통해 전달되며, 여기서 하나의 UI는 심볼 지속기간 시간을 표현한다. 입력 클록(DCK_t) 및 그의 보수(DCK_c)가 도 5의 최상부에 도시되며, 클록 상승 에지는 상승 화살표로 나타낸다. 입력 칩 선택 신호(DCS_n)는 메모리 입력 동작에 대한 칩을 선택하는 데 사용된다. 커맨드 또는 어드레스는 입력 CA 버스 신호(DCA)를 사용하여 전달된다. 일 예에서, DCA는 DCA[6:0]로 나타낸 7개의 입력 비트들을 갖는다. 입력 CA 버스 신호에 대한 패리티는 패리티 신호(DPAR)(도시되지 않음)를 사용하여 전달될 수 있다. 출력 클록(QCK_t) 및 그의 보수(QCK_c)가 또한 예시된다. 출력 칩 선택 신호(QCS_n)는 메모리 출력 동작에 대한 칩을 선택하는 데 사용된다. 커맨드 또는 어드레스는 출력 CA 버스 신호(QCA)를 사용하여 전달된다. 일 예에서, QCA는 DCA[13:0]로 나타낸 14개의 출력 비트들을 갖는다. 일 예에서, QCA는 하나 걸러 하나의 클록 사이클마다, 즉 2 UI 당 1회로 데이터를 전달한다.
[0045] 표 2는 등록 클록 드라이브(RCD)를 통한 전파 지연(tPDM)의 특성들을 예시한다.
[0046] 도 6은 동적 랜덤 액세스 메모리(DRAM)에 대한 등록 클록 드라이브(RCD)에 대해 커맨드/어드레스(CA) 버스에 대한 데이터 레이트 모드를 선택 및 실행하기 위한 예시적인 흐름도(600)를 예시한다. 블록(610)에서, 하나 이상의 데이터 레이트 모드 선택 기준들을 결정한다. 일 양상에서, 데이터 레이트 모드 선택 기준들은 메모리 특징들 및/또는 애플리케이션 필요성들에 기반할 수 있다. 메모리 특징들의 예들은 클록 속도 및/또는 버스트 길이들을 포함할 수 있다. 애플리케이션 필요성들의 예들은 액세스 통계들, 판독/기입 비율, 레이턴시, 듀티 팩터, 페이지 클러스터링, 및/또는 스트리밍 특성들을 포함할 수 있다. 일 예에서, 데이터 레이트 모드 선택 기준들은 dc 전력 제한들 및/또는 데이터 트래픽 특성들을 포함할 수 있다.
[0047] 예컨대, 속도 임계치 값을 넘는 클록 속도들의 경우, DDR 모드는 실현가능하지 않을 수 있고, 데이터 레이트 모드 선택 기준은 클록 속도에 기반할 수 있다. 일 예에서, 클록 속도가 속도 임계치 값을 초과하면, SDR 모드를 선택한다. 클록 속도가 속도 임계치 값을 초과하지 않으면, DDR 모드를 선택한다. 일 예에서, 속도 임계치 값은 4.8Gtps(Gigatransfers per sec)일 수 있다.
[0048] 예컨대, 데이터 레이트 모드 선택 기준은 버스트 길이에 기반할 수 있다. 일 예에서, 버스트 길이가 버스트 길이 임계치 값보다 크거나 또는 그와 동일하면, SDR 모드를 선택한다. 버스트 길이가 버스트 길이 임계치 값보다 작으면, DDR 모드를 선택한다. 일 예에서, 버스트 길이 임계치 값은 16 클록 사이클이다. 다른 예에서, 버스트 길이 임계치 값은 32 클록 사이클이다. 일 예에서, 버스트 길이는 (도 2에 도시된) CA 입력 버스(240) 상에서 전달되는 (클록 사이클들에서 측정된) 심볼들의 그룹이다.
[0049] 예컨대, 데이터 레이트 모드 선택 기준은 데이터 트래픽 특징들 또는 액세스 통계들, 이를테면 어드레스 상관 메트릭에 기반할 수 있다. 어드레스 상관 메트릭은 순차적인 메모리 액세스들에서의 랜덤성을 정량화시킨다. 일 예에서, 어드레스 상관 메트릭은 0 내지 1의 범위에 있는 정규화된 값이며, 여기서 0은 완전히 상관되지 않은 순차적인 메모리 액세스들(예컨대, 랜덤 액세스)을 나타내고, 1은 완전히 상관된 순차적인 메모리 액세스들(예컨대, 클러스터링된 메모리 액세스)을 나타낸다. 일 예에서, 데이터 레이트 모드 선택 기준에 대해 어드레스 상관 메트릭 임계치를 정의한다. 예컨대, 어드레스 상관 메트릭이 어드레스 상관 메트릭 임계치를 초과하면, SDR 모드를 선택한다. 그렇지 않으면, DDR 모드를 선택한다. 일 예에서, 블록(610)의 단계는 메모리 제어기(예컨대, 메모리 제어기(110))에 의해 수행된다.
[0050] 블록(620)에서, 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택한다. 일 예에서, 데이터 레이트 모드들은 단일 데이터 레이트(SDR) 모드 및 더블 데이터 레이트(DDR) 모드이다. 다른 예에서, 데이터 레이트 모드는 쿼드러블 데이터 레이트(QDR) 모드이다. 일 예에서, 블록(620)의 단계는 메모리 제어기(예컨대, 메모리 제어기(110))에 의해 수행된다.
[0051] 블록(630)에서, 데이터 레이트 모드에 대해 호스트 인터페이스를 구성한다. 호스트 인터페이스는, 예컨대 제1 버스(예컨대, 도 2에 도시된 CA 입력 버스(240))를 통한 RCD로의 호스트의 출력이다. 예컨대, SDR 모드가 데이터 레이트 모드이면, 호스트 인터페이스는 SDR 모드에 대해 구성된다. 다른 예에서, DDR 모드가 데이터 레이트 모드이면, 호스트 인터페이스는 DDR 모드에 대해 구성된다. 일 양상에서, 호스트 인터페이스는 제1 커맨드/어드레스 버스 인터페이스이다. 일 양상에서, 호스트 인터페이스는 제1 데이터 버스 및 제1 클록 신호를 포함한다. 일 양상에서, 호스트 인터페이스를 구성하는 것은 제1 클록 신호를 사용하여 제1 데이터 버스를 통해 호스트 인터페이스 상에서의 데이터 전달을 개시하는 것을 포함할 수 있다. 일 예에서, 블록(630)의 단계는 메모리 제어기(예컨대, 메모리 제어기(110))에 의해 수행된다.
[0052] 블록(640)에서, 데이터 레이트 모드(즉, SDR 모드 또는 DDR 모드)에 대해 RCD 입력 인터페이스를 구성한다. RCD 입력 인터페이스는, 예컨대 제1 버스(예컨대, 도 2에 도시된 CA 입력 버스(240))를 통한 호스트로부터의 RCD의 입력이다. 일 예에서, RCD 입력 인터페이스는 제2 커맨드/어드레스 버스 인터페이스이다. 제1 커맨드/어드레스 버스 인터페이스 및 제2 커맨드/어드레스 버스 인터페이스는 CA 입력 버스에 연결될 수 있다. 일 예에서, SDR 모드에 대한 호스트 인터페이스 및 RCD 입력 인터페이스는 N개의 입력 비트들을 포함한다. 그리고, 다른 예에서, DDR 모드에 대한 호스트 인터페이스 및 RCD 입력 인터페이스는 N개의 입력 비트들을 포함한다. 일 예에서, 호스트 인터페이스 및 RCD 입력 인터페이스는 복수의 입력 패리티 비트들을 포함할 수 있다. 그리고, 일 양상에서, RCD 입력 인터페이스를 구성하는 것은, 클록 신호를 사용하여 RCD 입력 인터페이스 상에서의 데이터 수신을 개시하는 것을 포함할 수 있다. 일 예에서, 블록(640)의 단계는 메모리 제어기(예컨대, 메모리 제어기(110))에 의해 수행된다.
[0053] 블록(650)에서, 호스트 인터페이스 및 RCD 입력 인터페이스 상에서 클록 신호를 활성화시킨다. 일 예에서, 클록 신호는 구형파 신호이다. 다른 예에서, 클록 신호는 정현파 신호이다. 다른 예에서, 클록 신호는 클록 레이트(R)을 갖는 주기적인 신호이다. 일 예에서, SDR 모드는 클록 신호 상승 에지들 상에서 데이터를 전달한다. 다른 예에서, SDR 모드는 클록 신호 하강 에지들 상에서 데이터를 전달한다. 일 예에서, DDR 모드는 클록 신호 상승 에지들 및 클록 신호 하강 에지들 둘 모두 상에서 데이터를 전달한다. 일 예에서, 블록(650)의 단계는 클록 생성기(예컨대, 클록 생성기(160))에 의해 수행된다.
[0054] 블록(660)에서, 데이터 레이트 모드(즉, SDR 모드 또는 DDR 모드)에 대한 클록 신호를 사용하여 호스트 인터페이스로부터 RCD 입력 인터페이스로 데이터를 전달한다. 일 예에서, 전달된 데이터는 커맨드이다. 일 예에서, 전달된 데이터는 어드레스이다. 일 예에서, 어드레스는 데이터 저장 또는 데이터 리트리벌을 위한 메모리 위치를 특정하는 데 사용된다. 일 예에서, 블록(660)에서, 데이터는 호스트 인터페이스와 RCE 입력 인터페이스 사이에서 전달된다. 일 예에서, 데이터를 전달하는 것은 기입 동작을 포함한다. 일 예에서, 데이터를 전달하는 것은 판독 동작을 포함한다. 일 예에서, 데이터는 커맨드 또는 어드레스를 포함한다. 일 예에서, 커맨드는 원하는 동작 또는 상태, 예컨대 기입, 판독, 클리어(CLEAR), 리셋 등을 지정하는 비트 패턴들의 세트를 포함한다. 일 예에서, 어드레스는, 기입 동작 또는 판독 동작 중 어느 하나에 대한 원하는 메모리 위치를 지정하는 비트 패턴들의 특정 그룹이다.
[0055] 일 예에서, 블록(660)의 단계는 호스트(예컨대, 호스트(210))에 의해 수행된다. 일 예에서, 블록(660)의 단계는 RCD(예컨대, RCD(220))와 함께 호스트(예컨대, 호스트(210))에 의해 수행된다. 일 예에서, 블록(660)의 단계는 입력 버스(예컨대, CA 입력 버스(240))를 사용하여 수행된다.
[0056] 블록(670)에서, 1N 모드 또는 2N 모드 중 어느 하나에서 클록 신호를 사용하여 RCD 출력 인터페이스로부터 메모리로 데이터를 전달한다. 1N 모드에서, 데이터는 모든 각각의 클록 신호 에지, 예컨대 모든 각각의 상승 에지 또는 모든 각각의 하강 에지 상에서 전달된다. RCD 출력 인터페이스는 제2 버스(예컨대, 도 2에 도시된 CA 출력 버스(250))를 통한 메모리(예컨대, 도 2에 도시된 메모리(230))로의 RCD의 출력이다. 2N 모드에서, 데이터는 하나 걸러 하나의 클록 신호 에지, 예컨대 하나 걸러 하나의 상승 에지 또는 하나 걸러 하나의 하강 에지 상에서 전달된다. 일 예에서, 전달된 데이터는 커맨드이다. 일 예에서, 전달된 데이터는 어드레스이다. 일 예에서, 어드레스는 데이터 저장(예컨대, 기입 동작) 또는 데이터 리트리벌(예컨대, 판독 동작)을 위한 메모리 위치를 특정하는 데 사용된다. 일 예에서, 메모리는 동적 랜덤 액세스 메모리(DRAM)이다. 일 예에서, 블록(670)의 단계는 RCD(예컨대, RCD(220))에 의해 수행된다. 일 예에서, 블록(670)의 단계는 메모리(예컨대, 메모리(230))와 함께 RCD(예컨대, RCD(220))에 의해 수행된다. 일 예에서, 블록(670)의 단계는 출력 버스(예컨대, CA 출력 버스(250))를 사용하여 수행된다.
[0057] 당업자는, 도 6의 예시적인 흐름도에 개시된 단계들이 본 개시내용의 범위 및 사상을 벗어나지 않으면서 그들의 순서에서 상호교환될 수 있음을 이해할 것이다. 또한, 당업자는, 흐름도에 예시된 단계들이 배타적이지 않으며, 다른 단계들이 포함될 수 있거나 또는 예시적인 흐름도 내의 단계들 중 하나 이상이 본 개시내용의 범위 및 사상에 영향을 주지 않으면서 삭제될 수 있음을 이해할 것이다.
[0058] 당업자들은, 본 명세서에 기재된 예들과 관련하여 설명된 다양한 예시적인 컴포넌트들, 로직 블록들 및/또는 알고리즘 단계들이 전자 하드웨어, 펌웨어, 컴퓨터 소프트웨어, 또는 이들의 조합들로서 구현될 수 있음을 추가로 인식할 것이다. 하드웨어, 펌웨어 및 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 로직 블록들 및/또는 알고리즘 단계들은 그들의 기능 관점들에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로 구현되는지, 펌웨어로 구현되는지 또는 소프트웨어 구현되는지는 특정 애플리케이션, 및 전체 시스템에 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 개시내용의 범위 또는 사상을 벗어나게 하는 것으로서 해석되지는 않아야 한다.
[0059] 예컨대, 도 6의 블록들에 설명된 다양한 단계들의 경우, 구현은 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 일부 예에서, 호스트(예컨대, 도 2에 도시된 호스트(210))에 상주하거나 또는 호스트 외부에 있는 메모리 제어기는 하드웨어 및/또는 소프트웨어를 하우징할 수 있다. 하드웨어 구현의 경우, 프로세싱 유닛들은 하나 이상의 주문형 집적 회로(ASIC)들, 디지털 신호 프로세서(DSP)들, 디지털 신호 프로세싱 디바이스(DSPD)들, 프로그래밍가능 로직 디바이스(PLD)들, 필드 프로그래밍가능 게이트 어레이(FPGA)들, 프로세서들, 제어기들, 마이크로-제어기들, 마이크로프로세서들, 본 명세서에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 조합 내에서 구현될 수 있다. 소프트웨어를 이용하면, 구현은 본 명세서에 설명된 기능들을 수행하는 모듈들(예컨대, 절차들, 함수들 등)을 통해 이루어질 수 있다. 소프트웨어 코드들은 메모리 유닛들에 저장되고 프로세서 유닛에 의해 실행될 수 있다. 부가적으로, 본 명세서에 설명된 다양한 예시적인 흐름도들, 로직 블록들 및/또는 알고리즘 단계들은 또한, 당업계에 알려진 임의의 컴퓨터-판독가능 매체 상에서 반송되거나 또는 당업계에 알려진 임의의 컴퓨터 프로그램 제품에 구현된 컴퓨터-판독가능 명령들로서 코딩될 수 있다. 일 양상에서, 컴퓨터-판독가능 매체는 비-일시적인 컴퓨터-판독가능 매체를 포함한다.
[0060] 컴퓨터-판독가능 매체는, 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함한 통신 매체들 및 컴퓨터 저장 매체들 둘 모두를 포함할 수 있다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다. 제한이 아닌 예로서, 그러한 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 반송 또는 저장하는데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다.
[0061] 일 양상에서, 도 6의 동적 랜덤 액세스 메모리(DRAM)에 대한 등록 클록 드라이브(RCD)의 커맨드 및 어드레스(CA) 버스에 대해 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하기 위한 단계들 중 하나 이상은, 하드웨어, 소프트웨어, 펌웨어 등을 포함할 수 있는 하나 이상의 프로세서들에 의해 실행될 수 있다. 일 양상에서, 도 6의 단계들 중 하나 이상은 하드웨어, 소프트웨어, 펌웨어 등을 포함할 수 있는 하나 이상의 프로세서들에 의해 실행될 수 있다. 하나 이상의 프로세서들은, 예컨대 도 6의 흐름도 내의 단계들을 수행하는 데 필요한 소프트웨어 또는 펌웨어를 실행하는 데 사용될 수 있다. 소프트웨어는, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어, 또는 다른 용어로서 지칭되는지에 관계없이, 명령들, 명령 세트들, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션들, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행파일(executable)들, 실행 스레드들, 절차들, 함수들 등을 의미하도록 광범위하게 해석되어야 한다. 소프트웨어는 컴퓨터-판독가능 매체 상에 상주할 수 있다. 컴퓨터-판독가능 매체는 비-일시적인 컴퓨터-판독가능 매체일 수 있다. 비-일시적인 컴퓨터-판독가능 매체는 예로서, 자기 저장 디바이스(예컨대, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크(예컨대, 컴팩트 디스크(CD), 또는 DVD(digital versatile disc)), 스마트 카드, 플래시 메모리 디바이스(예컨대, 카드, 스틱, 또는 키 드라이브), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그래밍가능 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 레지스터, 착탈형 디스크, 및 컴퓨터에 의해 액세스 및 판독될 수 있는 소프트웨어 및/또는 명령들을 저장하기 위한 임의의 다른 적절한 매체를 포함한다.
[0062] 컴퓨터-판독가능 매체는 또한, 예로서, 반송파, 송신 라인, 및 컴퓨터에 의해 액세스 및 판독될 수 있는 소프트웨어 및/또는 명령들을 송신하기 위한 임의의 다른 적절한 매체를 포함할 수 있다. 컴퓨터-판독가능 매체는 프로세싱 시스템 내부, 프로세싱 시스템 외부에 상주할 수 있거나, 또는 프로세싱 시스템을 포함하는 다수의 엔티티들에 걸쳐 분산될 수 있다. 컴퓨터-판독가능 매체는 컴퓨터 프로그램 제품으로 구현될 수 있다. 예로서, 컴퓨터 프로그램 제품은 패키징 재료들에 컴퓨터-판독가능 매체를 포함할 수 있다. 컴퓨터-판독가능 매체는, 동적 랜덤 액세스 메모리(DRAM)에 대한 등록 클록 드라이브(RCD)의 커맨드 및 어드레스(CA) 버스에 대해 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드에 대한 소프트웨어 또는 펌웨어를 포함할 수 있다. 당업자들은, 특정 애플리케이션 및 전체 시스템에 부과된 전체 설계 제한들에 의존하여 본 개시내용 전반에 걸쳐 제시되는 설명된 기능을 어떻게 최상으로 구현할지를 인식할 것이다.
[0063] 개시된 양상들의 이전 설명은 당업자가 본 개시내용을 실시 또는 사용할 수 있도록 제공된다. 이들 양상들에 대한 다양한 변형들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어나지 않으면서 다른 양상들에 적용될 수 있다.
Claims (30)
- 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하기 위한 방법으로서,
하나 이상의 데이터 레이트 모드 선택 기준들을 결정하는 단계;
상기 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하는 단계;
상기 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하는 단계; 및
상기 데이터 레이트 모드에 대해 상기 등록 클록 드라이브(RCD)의 RCD 입력 인터페이스를 구성하는 단계를 포함하는, 모드를 제공하기 위한 방법. - 제1항에 있어서,
상기 데이터 레이트 모드는 상기 SDR 모드 또는 상기 DDR 모드 중 하나인, 모드를 제공하기 위한 방법. - 제2항에 있어서,
상기 호스트 인터페이스는 입력 버스를 통한 상기 등록 클록 드라이브(RCD)로의 연결을 위한 호스트의 출력인, 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하기 위한 방법. - 제3항에 있어서,
상기 RCD 입력 인터페이스는 상기 입력 버스를 통한 상기 호스트로의 연결을 위한 상기 등록 클록 드라이브(RCD)의 입력인, 모드를 제공하기 위한 방법. - 제1항에 있어서,
상기 데이터 레이트 모드는 초기화 시에 세팅되며, 세션 전반에 걸쳐 정적으로 유지되는, 모드를 제공하기 위한 방법. - 제1항에 있어서,
상기 데이터 레이트 모드는 세션 전반에 걸쳐 상기 SDR 모드와 상기 DDR 모드 사이에서 가변적인, 모드를 제공하기 위한 방법. - 제1항에 있어서,
클록 신호를 사용하여 상기 호스트 인터페이스와 상기 RCD 입력 인터페이스 사이에서 데이터를 전달하는 단계를 더 포함하는, 모드를 제공하기 위한 방법. - 제7항에 있어서,
상기 데이터를 전달하는 단계는 기입 동작을 포함하는, 모드를 제공하기 위한 방법. - 제7항에 있어서,
상기 데이터를 전달하는 단계는 판독 동작을 포함하는, 모드를 제공하기 위한 방법. - 제7항에 있어서,
상기 데이터는 커맨드 또는 어드레스를 포함하는, 모드를 제공하기 위한 방법. - 제7항에 있어서,
1N 모드 또는 2N 모드 중 어느 하나에서 상기 클록 신호를 사용하여 RCD 출력 인터페이스로부터 상기 데이터를 전달하는 단계를 더 포함하는, 모드를 제공하기 위한 방법. - 제11항에 있어서,
상기 RCD 출력 인터페이스는 출력 버스를 통한 상기 메모리로의 상기 RCD의 출력인, 모드를 제공하기 위한 방법. - 제12항에 있어서,
상기 메모리는 동적 랜덤 액세스 메모리(DRAM)인, 모드를 제공하기 위한 방법. - 제7항에 있어서,
상기 호스트 인터페이스 및 상기 RCD 입력 인터페이스 상에서 상기 클록 신호를 활성화시키는 단계를 더 포함하는, 모드를 제공하기 위한 방법. - 제1항에 있어서,
클록 신호를 사용하여 상기 호스트 인터페이스 상에서의 데이터 전달을 개시하도록 상기 호스트 인터페이스를 구성하는 단계를 더 포함하는, 모드를 제공하기 위한 방법. - 제15항에 있어서,
상기 클록 신호를 사용하여 상기 RCD 입력 인터페이스 상에서의 데이터 수신을 개시하도록 상기 RCD 입력 인터페이스를 구성하는 단계를 더 포함하는, 모드를 제공하기 위한 방법. - 제1항에 있어서,
상기 하나 이상의 데이터 레이트 모드 선택 기준들은 클록 속도, 버스트 길이, 액세스 통계, 판독/기입 비율, 레이턴시, 듀티 팩터(duty factor), 페이지 클러스터링, 스트리밍 특성, dc 전력 제한, 또는 어드레스 상관 메트릭을 사용하여 정량화된 데이터 트래픽 특성 중 적어도 하나를 포함하는, 모드를 제공하기 위한 방법. - 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하기 위한 장치로서,
메모리 제어기 ― 상기 메모리 제어기는, 하나 이상의 데이터 레이트 모드 선택 기준들을 결정하고, 상기 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하고, 상기 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하며, 그리고 상기 데이터 레이트 모드에 대해 RCD 입력 인터페이스를 구성함 ―;
상기 메모리 제어기에 커플링된 클록 생성기 ― 상기 클록 생성기는 상기 호스트 인터페이스 및 상기 RCD 입력 인터페이스 상에서 클록 신호를 활성화시킴 ―; 및
상기 메모리 제어기에 커플링된 호스트를 포함하며,
상기 호스트는 상기 클록 신호를 사용하여 상기 호스트 인터페이스와 상기 RCD 입력 인터페이스 사이에서 데이터를 전달하는, 모드를 제공하기 위한 장치. - 제18항에 있어서,
상기 메모리 제어기에 커플링된 등록 클록 드라이브(RCD)를 더 포함하며,
상기 RCD는 1N 모드 또는 2N 모드 중 어느 하나에서 상기 클록 신호를 사용하여 RCD 출력 인터페이스로부터 상기 데이터를 전달하는, 모드를 제공하기 위한 장치. - 제19항에 있어서,
상기 호스트는 상기 호스트 인터페이스를 포함하고, 상기 등록 클록 드라이브(RCD)는 상기 RCD 입력 인터페이스 및 상기 RCD 출력 인터페이스를 포함하는, 모드를 제공하기 위한 장치. - 제18항에 있어서,
상기 데이터 레이트 모드는 상기 SDR 모드 또는 상기 DDR 모드 중 하나인, 모드를 제공하기 위한 장치. - 제21항에 있어서,
상기 데이터 레이트 모드는 초기화 시에 세팅되며, 세션 전반에 걸쳐 정적으로 유지되는, 모드를 제공하기 위한 장치. - 제21항에 있어서,
상기 데이터 레이트 모드는 세션 전반에 걸쳐 상기 SDR 모드와 상기 DDR 모드 사이에서 가변적인, 모드를 제공하기 위한 장치. - 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하기 위한 장치로서,
하나 이상의 데이터 레이트 모드 선택 기준들을 결정하기 위한 수단;
상기 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하기 위한 수단;
상기 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하기 위한 수단; 및
상기 데이터 레이트 모드에 대해 상기 등록 클록 드라이브(RCD)의 RCD 입력 인터페이스를 구성하기 위한 수단을 포함하는, 모드를 제공하기 위한 장치. - 제24항에 있어서,
상기 호스트 인터페이스 및 상기 RCD 입력 인터페이스 상에서 클록 신호를 활성화시키기 위한 수단; 및
상기 클록 신호를 사용하여 상기 호스트 인터페이스로부터 상기 RCD 입력 인터페이스로 데이터를 전달하기 위한 수단을 더 포함하는, 모드를 제공하기 위한 장치. - 제25항에 있어서,
1N 모드 또는 2N 모드 중 어느 하나에서 상기 클록 신호를 사용하여 RCD 출력 인터페이스로부터 상기 데이터를 전달하기 위한 수단을 더 포함하는, 모드를 제공하기 위한 장치. - 제24항에 있어서,
상기 데이터 레이트 모드는 상기 SDR 모드 또는 상기 DDR 모드 중 하나인, 모드를 제공하기 위한 장치. - 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서에 커플링된 적어도 하나의 메모리를 포함하는 디바이스 상에서 동작가능한, 컴퓨터 실행가능 코드를 저장하는 컴퓨터-판독가능 저장 매체로서,
상기 적어도 하나의 프로세서는, 메모리에 대한 등록 클록 드라이브(RCD)에 단일 데이터 레이트(SDR) 모드 또는 더블 데이터 레이트(DDR) 모드를 제공하도록 구성되며,
상기 컴퓨터 실행가능 코드는,
컴퓨터로 하여금 하나 이상의 데이터 레이트 모드 선택 기준들을 결정하게 하기 위한 명령들;
상기 컴퓨터로 하여금 상기 하나 이상의 데이터 레이트 모드 선택 기준들에 기반하여 데이터 레이트 모드를 선택하게 하기 위한 명령들;
상기 컴퓨터로 하여금 상기 데이터 레이트 모드에 대해 호스트 인터페이스를 구성하게 하기 위한 명령들; 및
상기 컴퓨터로 하여금 상기 데이터 레이트 모드에 대해 상기 등록 클록 드라이브(RCD)의 RCD 입력 인터페이스를 구성하게 하기 위한 명령들을 포함하는, 컴퓨터-판독가능 저장 매체. - 제28항에 있어서,
상기 컴퓨터로 하여금 상기 호스트 인터페이스 및 상기 RCD 입력 인터페이스 상에서 클록 신호를 활성화시키게 하기 위한 명령들; 및
상기 컴퓨터로 하여금 상기 클록 신호를 사용하여 상기 호스트 인터페이스로부터 상기 RCD 입력 인터페이스로 데이터를 전달하게 하기 위한 명령들을 더 포함하며,
상기 데이터 레이트 모드는 상기 SDR 모드 또는 상기 DDR 모드 중 하나인, 컴퓨터-판독가능 저장 매체. - 제29항에 있어서,
상기 컴퓨터로 하여금 1N 모드 또는 2N 모드 중 어느 하나에서 상기 클록 신호를 사용하여 RCD 출력 인터페이스로부터 상기 데이터를 전달하게 하기 위한 명령들을 더 포함하는, 컴퓨터-판독가능 저장 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762463896P | 2017-02-27 | 2017-02-27 | |
US62/463,896 | 2017-02-27 | ||
US15/901,693 US10884639B2 (en) | 2017-02-27 | 2018-02-21 | 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) |
US15/901,693 | 2018-02-21 | ||
PCT/US2018/019251 WO2018156780A1 (en) | 2017-02-27 | 2018-02-22 | 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) |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190122682A true KR20190122682A (ko) | 2019-10-30 |
KR102265828B1 KR102265828B1 (ko) | 2021-06-15 |
Family
ID=63246284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197024786A KR102265828B1 (ko) | 2017-02-27 | 2018-02-22 | 동적 랜덤 액세스 메모리(dram)에 대한 레지스터링 클록 드라이브(rcd)의 커맨드 및 어드레스(ca) 버스에 대해 단일 데이터 레이트(sdr) 모드 또는 더블 데이터 레이트(ddr) 모드의 제공 |
Country Status (10)
Country | Link |
---|---|
US (1) | US10884639B2 (ko) |
EP (1) | EP3586237B1 (ko) |
JP (1) | JP6873257B2 (ko) |
KR (1) | KR102265828B1 (ko) |
CN (1) | CN110291511B (ko) |
BR (1) | BR112019017665A2 (ko) |
CA (1) | CA3051008C (ko) |
ES (1) | ES2867956T3 (ko) |
TW (1) | TWI757432B (ko) |
WO (1) | WO2018156780A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022220975A1 (en) * | 2021-04-13 | 2022-10-20 | Micron Technology, Inc. | Controller for managing metrics and telemetry |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111066353A (zh) | 2017-09-08 | 2020-04-24 | Oppo广东移动通信有限公司 | 无线通信方法、网络设备和终端设备 |
KR102450296B1 (ko) * | 2017-12-26 | 2022-10-04 | 삼성전자주식회사 | 동기식 및 비동기식 혼합 방식의 디지털 인터페이스를 포함하는 장치, 이를 포함하는 디지털 처리 시스템, 및 이들에 의해 수행되는 디지털 처리 방법 |
DE102018003106A1 (de) * | 2018-02-28 | 2019-08-29 | Diehl Metering Systems Gmbh | Funkempfänger |
CN109726150A (zh) * | 2018-12-29 | 2019-05-07 | 灿芯半导体(上海)有限公司 | 一种实现多种ddr协议的命令发送的方法 |
CN111694772A (zh) * | 2019-03-11 | 2020-09-22 | 澜起科技股份有限公司 | 存储器控制器 |
US11626149B2 (en) * | 2020-09-15 | 2023-04-11 | Integrated Silicon Solution, (Cayman) Inc. | SPI NOR memory with optimized read and program operation |
KR20220157609A (ko) * | 2021-05-21 | 2022-11-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN116844606B (zh) * | 2022-03-23 | 2024-05-17 | 长鑫存储技术有限公司 | 一种信号采样电路以及半导体存储器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150083894A (ko) * | 2012-11-08 | 2015-07-20 | 퀄컴 인코포레이티드 | 인텔리전트 듀얼 데이터 레이트 (ddr) 메모리 제어기 |
KR20150105295A (ko) * | 2012-12-21 | 2015-09-16 | 인텔 코포레이션 | 커맨드/어드레스 버스를 통해 통신들을 교환하기 위한 방법, 장치 및 시스템 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000067577A (ja) * | 1998-06-10 | 2000-03-03 | Mitsubishi Electric Corp | 同期型半導体記憶装置 |
JP2002007200A (ja) * | 2000-06-16 | 2002-01-11 | Nec Corp | メモリ制御装置及び動作切替方法並びにインターフェース装置、半導体集積チップ、記録媒体 |
US6795360B2 (en) * | 2001-08-23 | 2004-09-21 | Integrated Device Technology, Inc. | Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes |
KR100543913B1 (ko) * | 2003-05-31 | 2006-01-23 | 주식회사 하이닉스반도체 | Sdr/ddr 모드를 지원하는 콤보형 동기식 디램 |
US7941150B2 (en) * | 2005-05-19 | 2011-05-10 | Nortel Networks Limited | Method and system for allocating media access control layer resources in a wireless communication environment |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
KR100784865B1 (ko) * | 2006-12-12 | 2007-12-14 | 삼성전자주식회사 | 낸드 플래시 메모리 장치 및 그것을 포함한 메모리 시스템 |
US7865756B2 (en) * | 2007-03-12 | 2011-01-04 | Mosaid Technologies Incorporated | Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices |
US20100005219A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
WO2010013340A1 (ja) * | 2008-07-31 | 2010-02-04 | 富士通株式会社 | データ転送装置、データ送信装置、データ受信装置およびデータ転送方法 |
WO2012109078A2 (en) * | 2011-02-08 | 2012-08-16 | Lsi Corporation | Selective enablement of operating modes or features via host transfer rate detection |
US10223299B2 (en) * | 2013-12-18 | 2019-03-05 | Rambus Inc. | High capacity memory system with improved command-address and chip-select signaling mode |
CN105868125B (zh) * | 2015-01-23 | 2018-10-19 | 澜起科技(上海)有限公司 | 缓冲存储器及用于控制内部存储器数据访问的装置和方法 |
US10255220B2 (en) * | 2015-03-30 | 2019-04-09 | Rambus Inc. | Dynamic termination scheme for memory communication |
WO2017023508A1 (en) | 2015-08-06 | 2017-02-09 | Rambus Inc. | High performance, high capacity memory modules and systems |
CN107220193B (zh) * | 2016-03-21 | 2019-06-11 | 综合器件技术公司 | 用于单端信号均衡的装置和方法 |
US10032497B2 (en) * | 2016-04-05 | 2018-07-24 | Integrated Device Technology, Inc. | Flexible point-to-point memory topology |
US10628343B2 (en) * | 2017-02-03 | 2020-04-21 | Futurewei Technologies, Inc. | Systems and methods for utilizing DDR4-DRAM chips in hybrid DDR5-DIMMs and for cascading DDR5-DIMMs |
-
2018
- 2018-02-21 US US15/901,693 patent/US10884639B2/en active Active
- 2018-02-22 EP EP18709868.6A patent/EP3586237B1/en active Active
- 2018-02-22 TW TW107106015A patent/TWI757432B/zh active
- 2018-02-22 KR KR1020197024786A patent/KR102265828B1/ko active IP Right Grant
- 2018-02-22 WO PCT/US2018/019251 patent/WO2018156780A1/en active Application Filing
- 2018-02-22 CN CN201880010978.2A patent/CN110291511B/zh active Active
- 2018-02-22 JP JP2019544732A patent/JP6873257B2/ja active Active
- 2018-02-22 BR BR112019017665-9A patent/BR112019017665A2/pt unknown
- 2018-02-22 CA CA3051008A patent/CA3051008C/en active Active
- 2018-02-22 ES ES18709868T patent/ES2867956T3/es active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150083894A (ko) * | 2012-11-08 | 2015-07-20 | 퀄컴 인코포레이티드 | 인텔리전트 듀얼 데이터 레이트 (ddr) 메모리 제어기 |
KR20150105295A (ko) * | 2012-12-21 | 2015-09-16 | 인텔 코포레이션 | 커맨드/어드레스 버스를 통해 통신들을 교환하기 위한 방법, 장치 및 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022220975A1 (en) * | 2021-04-13 | 2022-10-20 | Micron Technology, Inc. | Controller for managing metrics and telemetry |
Also Published As
Publication number | Publication date |
---|---|
BR112019017665A2 (pt) | 2020-03-31 |
TWI757432B (zh) | 2022-03-11 |
JP6873257B2 (ja) | 2021-05-19 |
EP3586237A1 (en) | 2020-01-01 |
CN110291511A (zh) | 2019-09-27 |
WO2018156780A1 (en) | 2018-08-30 |
EP3586237B1 (en) | 2021-03-24 |
US20180246665A1 (en) | 2018-08-30 |
JP2020508515A (ja) | 2020-03-19 |
US10884639B2 (en) | 2021-01-05 |
TW201835778A (zh) | 2018-10-01 |
KR102265828B1 (ko) | 2021-06-15 |
CN110291511B (zh) | 2024-04-05 |
CA3051008A1 (en) | 2018-08-30 |
ES2867956T3 (es) | 2021-10-21 |
CA3051008C (en) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102265828B1 (ko) | 동적 랜덤 액세스 메모리(dram)에 대한 레지스터링 클록 드라이브(rcd)의 커맨드 및 어드레스(ca) 버스에 대해 단일 데이터 레이트(sdr) 모드 또는 더블 데이터 레이트(ddr) 모드의 제공 | |
KR102145401B1 (ko) | 메모리 동작 파라미터에 대한 다수의 파라미터 코드를 저장 및 기록하기 위한 방법 및 장치 | |
JP2019102119A (ja) | メモリデバイス及びその動作方法 | |
US10672436B2 (en) | Memory device including on-die-termination circuit | |
US20140169114A1 (en) | Volatile memory devices, memory systems including the same and related methods | |
US11513734B2 (en) | Hardware-based power management integrated circuit register file write protection | |
US10090835B2 (en) | On-die termination circuit, a memory device including the on-die termination circuit, and a memory system including the memory device | |
US8149643B2 (en) | Memory device and method | |
US11755093B2 (en) | Power disable of memory sub-system | |
KR102473661B1 (ko) | 듀티 사이클을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템 | |
KR20220165535A (ko) | 데이터 트레이닝을 수행하는 메모리 컨트롤러, 이를 포함하는 시스템 온 칩 및 메모리 컨트롤러의 동작방법 | |
JP2023505990A (ja) | メモリサブシステムのアクティブ入力/出力エキシパンダ | |
JP4921451B2 (ja) | ポートからポートへの遅延を実装することにより雑音を減らす方法 | |
JP5464527B2 (ja) | 不揮発性メモリの読み出し動作変更 | |
US9396779B2 (en) | Semiconductor memory device and operation method thereof | |
CN111949581B (zh) | 高速nand接口的基于命令的片上端接 | |
US20230024167A1 (en) | Status polling based on die-generated pulsed signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |