KR101742892B1 - 다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템 - Google Patents

다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템 Download PDF

Info

Publication number
KR101742892B1
KR101742892B1 KR1020157011443A KR20157011443A KR101742892B1 KR 101742892 B1 KR101742892 B1 KR 101742892B1 KR 1020157011443 A KR1020157011443 A KR 1020157011443A KR 20157011443 A KR20157011443 A KR 20157011443A KR 101742892 B1 KR101742892 B1 KR 101742892B1
Authority
KR
South Korea
Prior art keywords
instruction
cycle
memory device
memory
bank
Prior art date
Application number
KR1020157011443A
Other languages
English (en)
Other versions
KR20150064172A (ko
Inventor
쿨지트 에스. 바인스
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20150064172A publication Critical patent/KR20150064172A/ko
Application granted granted Critical
Publication of KR101742892B1 publication Critical patent/KR101742892B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Abstract

메모리 디바이스 자원에 액세스하라는 명령의 타이밍을 결정하는 기법들 및 메커니즘들이 개시된다. 일 실시예에서, 다중 사이클 명령이 메모리 제어기로부터 메모리 디바이스로 교환되고, 여기서 다중 사이클 명령은 메모리 디바이스의 뱅크에의 액세스를 나타낸다. 메모리 디바이스의 동작 제약조건을 나타내는 시간 지연 파라미터를 시행하기 위해, 다중 사이클 명령에 기초하여, 하나 이상의 다른 명령들의 타이밍이 제어된다. 다른 실시예에서, 다중 사이클 명령의 마지막 사이클의 시작점을 참조하여 하나 이상의 명령들의 타이밍이 결정된다.

Description

다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템{APPARATUS, METHOD AND SYSTEM FOR MEMORY DEVICE ACCESS WITH A MULTI-CYCLE COMMAND}
관련 출원
본 출원은 2012년 11월 30일자로 출원된 미국 가특허 출원 제61/731,908호에 기초한 정규 출원으로서, 그 가출원의 우선권의 이익을 주장한다. 가출원 제61/731,908호는 이로써 참조 문헌으로서 포함된다.
기술분야
본 발명은 메모리 디바이스에 관한 것으로서, 보다 상세하게는, 휘발성 메모리 디바이스의 메모리 셀들에 액세스하는 것에 관한 것이다.
컴퓨팅 시스템들은 일반적으로 정보를 저장하기 위해 메모리 디바이스들에 의존한다. 이러한 메모리 디바이스들은 2가지 일반 유형들로 나누어질 수 있다. 첫째, 저장된 정보의 정확성을 유지하기 위해 전력을 필요로 하는 휘발성 메모리 디바이스. 둘째, 전력이 차단된 후에도 저장된 정보를 유지하는 비휘발성 메모리 디바이스.
하나의 통상의 유형의 휘발성 메모리 디바이스는 DRAM(Dynamic Random Access Memory)이다. DRAM 디바이스들은, 특히 SRAM(static random access memory) 디바이스들을 비롯한 다른 메모리 기술들과 비교하여 보다 낮은 비용, 보다 높은 저장 밀도 및 보다 적은 전력 소모를 제공하면서, 일반적으로 (하드 디스크와 같은) 기계적 저장 디바이스들보다 상당히 개선된 성능을 제공한다. 그렇지만, 이 이점들은, 규칙적인 간격으로는 물론, 메모리 셀들로부터 데이터를 판독하기 위해 또는 메모리 셀들에 데이터를 기입하기 위해 각각의 액세스 직전 및 직후의 기간들에서도, DRAM 디바이스를 구성하는 메모리 셀들에 액세스하는 데 다양한 지연들을 야기하는 대가로 얻어진 것이다.
DRAM은 일반적으로 각각의 데이터 비트를 집적 회로 내의 개별적인 커패시터에 저장한다. 커패시터들이 전하를 누설하기 때문에, 커패시터 전하가 주기적으로 리프레시되지 않는 한, 정보가 결국 서서히 사라진다. 이 리프레시 요구사항 및 기타 설계 고려사항들로 인해, DRAM 설계자들은 정확성을 유지하기 위해 DRAM 내에서의 동작들에 대해 다양한 타이밍 제약조건들을 부과한다. 하나의 이러한 제약조건은 프리차지(precharge) 요구사항이다. 상세하게는, DRAM 내의 상이한 행[비트 라인(BL)이라고도 함]에 대해 액세스가 요청될 때, "프리차지" 명령을 발행함으로써 현재의 행이 먼저 비활성화되어야만 한다. 프리차지 명령은 감지 증폭기들을 스위치 오프(switch off)시키고 비트 라인들을 하이 논리 레벨(high logic level)과 로우 논리 레벨(low logic level) 사이의 중간인 정합 전압(matching voltage)들로 프리차지시킬 것이다. 특정한 행 프리차지 기간 지연(row precharge time period delay)(tRP라고도 함) 후에, 액세스될 그 다음 행을 활성화시키기 위해 "활성화" 명령이 발행될 수 있다.
리프레시 동작들, 프리차지 동작들, 활성화 동작들은 물론 다른 유지 동작들은 DRAM 기술을 이용한 결과로서 겪게 되는 다양한 지연들을 부과한다. 이 지연들은 데이터가 DRAM 디바이스들에 기입되거나 그로부터 판독될 수 있는 속도를 제한하는 효과를 가지며, 비록 프로세서와 같은 구성요소들이 장족의 발전을 하여 훨씬 더 빠르게 되었지만, DRAM 기술에 대한 액세스 속도를 증가시키는 데 있어서는 비교적 거의 진보가 이루어지지 않았다.
본 발명의 다양한 실시예들이 첨부 도면들의 도면들에 제한이 아닌 예로서 예시되어 있다.
도 1은 일 실시예에 따른, 다중 사이클 명령(multi-cycle command)을 교환하는 시스템의 요소들을 나타낸 블록도.
도 2는 일 실시예에 따른, 다중 사이클 명령을 처리하는 메모리 디바이스의 요소들을 나타낸 블록도.
도 3은 일 실시예에 따른, 메모리 자원에 액세스하라는 명령을 타이밍 조절(time)하는 방법의 요소들을 나타낸 흐름도.
도 4는 일 실시예에 따른, 메모리 제어기와 메모리 디바이스 사이에서 교환되는 다중 사이클 명령들을 나타낸 표.
도 5a 내지 도 5d는 각자의 실시예들에 따른, 다양한 다중 사이클 명령 교환들의 특징들을 나타낸 타이밍도.
도 6은 일 실시예에 따른, 메모리 자원들에 액세스하는 컴퓨팅 시스템의 요소들을 나타낸 블록도.
도 7은 일 실시예에 따른, 메모리 자원들에 액세스하는 모바일 디바이스의 요소들을 나타낸 블록도.
본 명세서에 논의된 실시예들은 메모리 자원들에 액세스하는 하나 이상의 명령들의 타이밍을 제어하는 기법들 및/또는 메커니즘들을 다양하게 제공한다. 이러한 제어는 메모리 제어기로부터 메모리 디바이스로 교환되는 다른 다중 사이클 명령에 기초할 수 있고, 다중 사이클 명령은 메모리 디바이스의 뱅크에의 액세스를 나타낸다. 메모리 디바이스의 동작 제약조건을 나타내는 시간 지연 파라미터를 시행하기 위해 하나 이상의 다른 명령들의 타이밍이 제어될 수 있다. 일 실시예에서, 다중 사이클 명령의 마지막 사이클의 시작점을 참조하여 하나 이상의 다른 명령들의 타이밍이 결정될 수 있다.
도 1은 일 실시예에 따른, 명령 및 주소 정보를 교환하는 시스템(100)의 요소들을 나타낸 것이다. 시스템(100)은 메모리 제어기(120)에 결합된 메모리 디바이스(110)를 포함할 수 있다 - 예컨대, 메모리 제어기(120)는 시스템(100)에 포함되거나 그에 결합되어 있는 호스트 프로세서(140)에게 메모리 디바이스(110)에의 액세스를 제공하기 위한 것이다.
메모리 디바이스(110)는, 예를 들어, 메모리 셀들의 행들을 가지는 각종의 유형들의 메모리 기술 중 임의의 것을 포함할 수 있고, 여기서 데이터는 워드라인 또는 등가물을 통해 액세스가능하다. 하나의 실시예에서, 메모리 디바이스(110)는 DRAM(dynamic random access memory) 기술을 포함한다. 메모리 디바이스(110)는 시스템(100)의 보다 큰 메모리 디바이스(도시 생략) 내의 집적 회로 패키지일 수 있다. 예를 들어, 메모리 디바이스(110)는 DIMM(dual in-line memory module)과 같은 메모리 모듈의 DRAM 디바이스일 수 있다.
메모리 디바이스(110)는 하나 이상의 논리적 및/또는 물리적 메모리 그룹들을 나타내는 메모리 자원들(114)을 포함할 수 있다. 하나의 이러한 메모리 그룹화의 한 예는, 예를 들어, 행들 및 열들로 배열된 저장 요소들의 어레이를 포함할 수 있는 메모리 자원들의 뱅크이다. 메모리 디바이스(110)는 메모리 자원들(114)에의 액세스를 적어도 부분적으로 용이하게 하는 액세스 로직(118)을 포함할 수 있다 - 예컨대, 여기서 메모리 제어기(120)로부터의 하나 이상의 명령들을 서비스하기 위해 이러한 액세스가 제공된다. 액세스 로직(118)은 종래의 기법들에 따라 자원 액세스를 제공하는 메모리 디바이스(110)의 로직을 포함하거나 그와 관련하여 동작할 수 있다 - 예컨대, 여기서 검출기 로직(112), 제어 로직(116) 및/또는 액세스 로직(118)의 기능은 본 명세서에 논의된 부가의 기능으로 이러한 종래의 기법들을 보완한다. 제한이 아닌 예시로서, 액세스 로직(118)은 메모리 자원들(114) 내의 적절한 메모리 장소에 대한 액세스 명령어를 디코딩하는 데 사용되는 열 로직(column logic) 및/또는 행 로직(row logic)(도시 생략)을 포함하거나 그에 결합할 수 있다.
메모리 제어기(120)는, 예시적인 명령/주소(command/address)(CA) 버스(165)로 나타낸 바와 같이, 하나 이상의 버스들을 통해 명령들(commands) 또는 명령어들(instructions)을 메모리 디바이스(110)로 송신할 수 있다. 이러한 명령들이 메모리 디바이스(110) - 예컨대, 메모리 내에서의 각종의 액세스 기능들을 수행하기 위한 명령 정보를 디코딩하는 그리고/또는 열 로직 및/또는 행 로직으로 주소 정보를 디코딩하는 메모리 디바이스(110)를 포함함 - 에 의해 해석될 수 있다. 예를 들어, 이러한 로직은 열 주소 스트로브 또는 신호(CAS) 및 행 주소 스트로브 또는 신호(RAS)의 조합으로 메모리 자원들(114) 내의 특정의 장소에 액세스할 수 있다. 메모리의 행들은 기지의 메모리 아키텍처들 또는 그의 파생물들에 따라 구현될 수 있다. 간략히 말하면, 메모리 자원들(114)의 행은, 메모리(110)의 열 로직에 의해 발생된 CAS에 의해 식별되는, 메모리 셀들의 하나 이상의 어드레싱가능 열들을 포함할 수 있다. 행들 각각은 메모리(110)의 행 로직에 의해 발생된 RAS를 통해 다양하게 어드레싱가능할 수 있다.
메모리 자원들(114)에 대한 액세스는 메모리(110)의 I/O 회로(도시 생략)에 결합된 데이터 버스를 통해 교환된 데이터를 기입하기 위한 것 - 및/또는 교환될 데이터를 판독하기 위한 것 - 일 수 있다. 예를 들어, N개의 데이터 버스 신호 라인들 DQ(1:N)(160)는 I/O 회로(112)를 메모리 제어기(120) 및/또는 하나 이상의 다른 메모리 디바이스들(도시 생략)에 결합시킬 수 있다.
일 실시예에서, 메모리 제어기(120)는 CA(165)를 통해 명령들을 송신하는 명령 로직(135) - 예컨대, 각종의 하드웨어 로직 중 임의의 것을 포함하고 및/또는 소프트웨어 로직을 실행함 - 을 포함한다. 명령 로직(135)은 하나 이상의 종래의 기법들에 따라 송신된 명령들을 발생시키거나, 전송하거나, 그렇지 않으면 결정하는 동작들을 수행하는 메모리 제어기의 로직을 포함하거나 그에 결합할 수 있다. 제한이 아닌 예시로서, 명령 로직(135)은, 예를 들어, DDR3 SDRAM JEDEC Standard JESD79-3C(2008년 4월) 등과 같은 DDR(dual data rate) 규격의 요구사항들 중 일부 또는 전부에 부합하는 종래의 명령/주소 시그널링 기능을 다른 방식으로 보완할 수 있다. 예를 들어, 메모리 제어기(120)는 명령 로직(135)에 의한 명령의 어써션(assertion)(예컨대, 송신)에 대한 타이밍을 제어하도록 구성된 회로를 포함하는 그리고/또는 소프트웨어를 실행하는 타이머 로직(130)을 포함할 수 있다. 타이머 로직(130)은 메모리(110)의 동작을 위해 필요한 하나 이상의 시간 지연 파라미터들을 시행하기 위해 이러한 타이밍을 제어할 수 있다.
일 실시예에서, 명령 로직(135)은 메모리(110) 내의 다양한 행들의 상태에 관한 데이터를 위한 저장소(도시 생략)를 포함하고, 유지하며, 그리고/또는 그렇지 않으면 그에 액세스한다. 이러한 데이터는 뱅크들 중 어느 것이 열린 행(open row)들을 가지는지의 표시를 제공할 수 있다 - 예컨대, 이러한 데이터는 그 열린 행들의 주소들을 포함한다. 명령 로직(135)[및/또는 메모리 제어기(120)의 다른 로직]은 메모리 디바이스(110)의 주어진 뱅크에서의 액세스될 행이 이미 열려 있는지 여부, 그리고 열려 있지 않은 경우, 동일한 뱅크에서의 상이한 행이 이미 열려 있는지 여부를 결정하기 위해 이러한 데이터에 액세스할 수 있다. 액세스될 행이 이미 열려 있는 것으로 결정되는 경우, 행 활성화 명령의 전송 없이 액세스가 수행될 수 있다. 그렇지만, 액세스될 행이 아직 열려 있지 않은 것으로 결정되는 경우, 명령 로직(135)은 명령이 목표로 하는 뱅크가 현재 열려 있는 행을 포함하는지를 명시하는 값을 포함하는 활성화 명령(예컨대, 행 활성화 명령)을 메모리 디바이스(110)로 전송할 수 있다. 이러한 값(본 명세서에서 힌트 정보라고 함)은 - 예컨대, 메모리 디바이스(110)가 이러한 프리차지 동작을 수행하라는 임의의 명시적 명령을 수신하는 것과 독립적으로 - 메모리 디바이스(110)가 현재 열려 있는 행을 닫기 위해 프리차지 동작을 수행하라는 그 자신의 명령을 내부적으로 발생시켜야 한다는 것을 메모리 디바이스(110)에 알려줄 수 있다.
다른 대안으로서 또는 그에 부가하여, 메모리 디바이스(110)는 CA(165)를 통해 수신된 명령의 일부 또는 전부를 평가하는 - 예컨대, 명령이 메모리 디바이스(110)에 의해 내부적으로 발생되어야 하는 것으로 결정하는 - 검출기 로직(112)을 포함할 수 있다. 제한이 아닌 예시로서, 검출기 로직(112)은 명령이 현재 열려 있는 페이지를 포함하는 뱅크를 목표로 하고 있는지를 결정할 수 있다. 이러한 뱅크를 목표하는 것은 "페이지 미스 이벤트(page miss event)"[또는 간략함을 위해, 단순히 "페이지 미스(page miss)"]라고 한다. 검출기 로직(112)이 CA(165)를 통해 수신되는 명령에 대응하는 페이지 미스 이벤트를 식별한 것에 응답하여, 제어 로직(116)은 명령이 목표로 하는 메모리 자원들에 액세스할 준비를 하는 동작들을 수행할 수 있다. 본 명세서에서 논의되는 바와 같이, 이러한 동작들은 메모리 디바이스(110)가 메모리 제어기(120)로부터 수신된 하나 이상의 명령들 대신에 기능하게 될 시그널링을 내부적으로 발생시키는 것을 포함할 수 있다. 예를 들어, 메모리(110)는 하나 이상의 점들에서 프리차지 명령과 기능적으로 동등한 신호들을 액세스 로직(118)에 제공할 수 있다. 그에 따라, 액세스 로직(118)은, 메모리(110)가 그러한 프리차지 동작들을 명시하는 임의의 명시적 명령을 수신하는 것과 독립적으로, 메모리 자원들(114)의 행(또는 행들)을 프리차지시키는 동작들을 수행할 수 있다.
도 2는 일 실시예에 따른, 메모리 제어기로부터 수신된 다중 사이클 명령을 처리하는 메모리 디바이스(200)의 요소들을 나타낸 것이다. 메모리 디바이스(200)는 메모리 제어기(120)와 같은 메모리 제어기와 협력하여 동작할 수 있다. 예를 들어, 메모리 디바이스(200)는 메모리 디바이스(110)의 하나 이상의 특징들을 포함할 수 있다. 특정 실시예들이 이와 관련하여 제한되지 않지만, 메모리 디바이스(200)는 LPDDR 4 및/또는 더블 데이터 레이트 표준 메모리 동작을 위한 각종의 표준들 중 임의의 것을 지원할 수 있다.
일 실시예에서, 메모리 디바이스(200)는, 예를 들어, 액세스 로직(118) 및 메모리 자원들(114)의 각자의 기능의 일부 또는 전부를 제공하는 액세스 로직(260) 및 메모리 자원들(270)을 포함한다. 메모리 디바이스(200)는 메모리 디바이스(200)를 명령 주소 버스(220), 데이터 버스(225), 행 주소 스트로브 신호 라인(RAS)(224), 열 주소 스트로브 신호 라인(CAS)(226)의 일부 또는 전부에 결합시키는 입출력(I/O)(210)을 추가로 포함할 수 있다.
메모리 디바이스(200)는, 예를 들어, 메모리 제어기(도시 생략)가 CA 버스(220)를 통해 송신하는 명령 정보 및/또는 주소 정보를 I/O(210)를 통해 수신할 수 있다. 이러한 명령/주소 정보는 메모리 자원들(270)의 복수의 뱅크들(272, ..., 274)의 일부 또는 전부에의 액세스를 용이하게 하기 위해 클럭 신호(예컨대, CA 버스 클럭 신호)의 복수의 사이클들에 걸쳐 송신될 수 있다. 제한이 아닌 예시로서, 이러한 명령/주소 정보는 메모리 디바이스(200)를 뱅크(272)의 하나의 행에의 액세스를 제공하는 상태로부터, 예를 들어, 뱅크(272)의 다른 행, 뱅크(274)의 하나의 행, 또는 기타에의 액세스를 제공하는 다른 상태로 천이시키는 명령들을 포함할 수 있다. 이러한 천이는 뱅크(272)의 하나의 행을 프리차지시키는 것 및 뱅크(272)의 다른 행의 활성화와 뱅크(272)의 다른 행의 리프레시 중 하나를 수행하는 것을 포함할 수 있다. 이러한 뱅크들의 활성화는 데이터 버스(222)를 통해 교환된 데이터의 기입(및/또는 교환될 데이터의 판독)을 수행할 준비 과정에 있을 수 있다.
일 실시예에서, 검출기 로직(230)은 CA 버스(220)를 통해 수신된 다중 사이클 명령의 일부 또는 전부를 수신하거나 그렇지 않으면 검출하고, 그에 기초하여, 다중 사이클 명령과 연관된 페이지 미스 이벤트를 식별한다. 페이지 미스 이벤트의 이러한 식별은 뱅크가 현재 열려 있는 행을 포함하는지를 명시하는 힌트 정보를 포함하는 다중 사이클 명령에 기초할 수 있다.
검출된 페이지 미스 이벤트에 응답하여, 제어 로직(240)은 액세스 로직(260)으로 송신할 프리차지 명령(250a)을 내부적으로 발생시킬 수 있다. 다른 대안으로서 또는 그에 부가하여, 명령 로직(240)은 CA 버스(220)를 통해 수신된 다중 사이클 명령에 의해 표시된 활성화 동작 또는 리프레시 동작을 수행할 명령(250b)을 발생시킬 수 있다. 하나 이상의 사전 결정된 시간 지연 파라미터들을 시행하기 위해 명령들(250a, 250b) 중 어느 하나 또는 둘 다의 어써션이 명령 로직(240)에 의해 타이밍 조절될 수 있다.
도 3은 일 실시예에 따른, 메모리 자원에 액세스하라는 명령의 어써션을 결정하는 방법(300)의 요소들을 나타낸 것이다. 하나의 실시예에서, 방법(300)이 메모리(100)의 특징들 중 일부 또는 전부를 포함하는 것과 같은 메모리 디바이스에 의해 수행된다. 예를 들어, 방법(300)이 메모리 디바이스(200)에 의해 수행될 수 있다. 다른 실시예에서, 메모리 디바이스가 메모리 제어기(120)의 기능의 일부 또는 전부를 제공하는 것과 같은 메모리 제어기에 의해 수행된다.
방법(300)은, 310에서, 메모리 디바이스의 제1 뱅크에의 액세스를 나타내는 제1 다중 사이클 명령의 교환을 검출하는 단계를 포함할 수 있다. 제1 다중 사이클 명령이 메모리 제어기로부터 메모리 디바이스로 교환될 수 있다. 교환이 310에서 메모리 디바이스에 의해 검출될 수 있다 - 예컨대, 제1 다중 사이클 명령은 활성화 명령 및 리프레시 명령 중 하나이다. 다른 대안으로서, 310에서 검출하는 단계는 타이머 로직(130) 또는 메모리 제어기의 유사한 로직이 메모리 제어기가 제1 다중 사이클 명령을 메모리 디바이스로 송신했거나, 송신할 예정이거나, 송신 중이라는 것을 검출하는 단계를 포함할 수 있다.
310에서 검출된 교환에 기초하여, 방법(300)은, 320에서, 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션을 타이밍 조절하는 단계를 추가로 수행할 수 있다. 제2 명령의 어써션은 CA 버스 클럭 신호와 같은 클럭 신호의 하나 이상의 사이클들 동안 일어날 수 있다. 일 실시예에서, 320에서 타이밍 조절하는 단계는 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간(a period of time) 동안 또는 그의 만료 후에 제2 명령의 마지막 샘플링이 시작되도록 제2 명령의 마지막 사이클을 타이밍 조절하는 단계를 포함하고, 여기서 그 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같다. 예를 들어, 제2 명령의 마지막 샘플링(예를 들어, 제2 명령의 첫번째 샘플링일 수도 있음)이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 제2 명령의 마지막 사이클이 타이밍 조절될 수 있다. 제한이 아닌 예시로서, 제2 명령이 다중 사이클 명령일 수 있다 - 예컨대, 여기서 제1 다중 사이클 명령의 사이클들의 총수는 제2 명령의 사이클들의 총수와 상이하다.
320에서 어써션을 타이밍 조절하는 단계는 제1 다중 사이클 명령의 마지막 사이클의 시작점의 시간을 나타내는 기준값을 식별하는 단계를 포함할 수 있다. 제2 명령의 어써션에 대한 시작 시간이 이어서, 사전 정의된 행 프리차지 시간 지연 파라미터와 마지막 사이클 이외의 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 기준 시간 값에 가산함으로써, 결정될 수 있다.
310에서 검출하는 단계가 메모리 디바이스에서 수행되는 일 실시예에서, 방법(300)은 - 예컨대, 메모리 제어기가 명령을 메모리 디바이스로 명시적으로 송신하는 것과 독립적으로 - 메모리 디바이스가 이러한 명령을 내부적으로 발생시키기 위한 다른 동작들(도시 생략)을 수행할 수 있다. 예를 들어, 310에서 교환을 검출한 것에 응답하여, 메모리 디바이스는 제2 명령보다 앞서 프리차지 명령을 발생시킬 수 있다. 이러한 프리차지 명령은, 예를 들어, 제1 다중 사이클 명령의 힌트 값 - 힌트 값은 제1 뱅크가 현재 열려 있는 행을 포함하는지를 명시함 - 에 응답하여 발생될 수 있다. 메모리 디바이스는, 프리차지 명령의 마지막 샘플링(예를 들어, 첫번째 샘플링일 수도 있음)이 제1 다중 사이클 명령의 마지막 사이클의 시작점에서 시작되도록, 이러한 프리차지 명령의 어써션을 타이밍 조절할 수 있다.
310에서 검출하는 단계가 메모리 제어기에서 수행되는 일 실시예에서, 방법(300)의 다른 동작들(도시 생략)은 제2 명령 후에 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하는 단계를 포함할 수 있다. 이와 같이 타이밍 조절하는 단계는, 예를 들어, 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 제2 명령의 마지막 사이클의 시작점에서 시작되는 일정 기간 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 단계를 포함할 수 있다. 예를 들어, 다중 사이클 열 주소 스트로브 신호의 마지막 사이클이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 타이밍 조절될 수 있다. 이 기간은, 예를 들어, tRCD 시간 지연 파라미터와 같을 수 있다. 종래의 DRAM 아키텍처들에서, tRCD 파라미터는 행 주소 스트로브 신호의 어써션과 관련 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시한다.
도 4는 일 실시예에 따른, 메모리 제어기와 메모리 디바이스 사이에서 교환되는 명령들에 대한 진리표의 일 실시예이다. 명령 진리표(400)는 다중 사이클 명령들을 포함하는 진리표의 하나의 예를 나타낸다. 본 명세서에서 사용되는 바와 같이, "다중 사이클 명령"은 이러한 교환을 조절하는 클럭 신호의 복수의 사이클들 동안 교환되는 명령을 말한다. 예를 들어, 다중 사이클 명령의 상이한 부분들 각각이 이러한 복수의 사이클들의 상이한 각자의 사이클 동안 송신될 수 있다.
표(400)에서, 좌측에 있는 열은 지원되는 SDRAM(synchronous dynamic random access memory) 명령들을 식별한다. 우측에 있는 열들은 식별된 명령을 명시하는 상이한 신호들의 값을 식별한다. 표(400)에서 특히 유의할 점은, 4-사이클 활성화 명령, 2-사이클 프리차지 명령, 및 각각이 2-사이클인 2개의 리프레시 명령들(각각, 뱅크별 및 모든 뱅크)이다. 개개의 명령들이 표(400)에서 모드 레지스터 주소 정보를 나타내는 MA# 비트들, 모드 레지스터 동작에 대한 연산 코드 정보를 나타내는 OP# 비트들, 뱅크 주소 정보를 나타내는 BA# 비트들, 행 주소 정보를 나타내는 R# 비트들, 열 주소 정보를 나타내는 C# 비트들, 및 명령이 모든 뱅크들에 적용되는지를 나타내는 AB 비트 중 하나 이상을 다양하게 포함하는 것으로 나타내어져 있다. 표(400)에서의 "X" 값들은 임의의 유효 논리 상태로 구동될 필요가 없는 "무정의(Don't Care)" 상태를 나타낸다. 이와 달리, 표(400)에서의 "V" 값들은 어떤 유효 논리 상태로 구동될 필요가 있는 "무정의(Don't Care)" 상태를 나타낸다.
도 5a 내지 도 5d는 본 명세서에 논의된 특징들 중 일부 또는 전부를 포함하는, 상이한 실시예들에 따른, 명령 신호 교환들의 특징들을 다양하게 나타낸 것이다. 도 5a 내지 도 5d에 나타낸 예시적인 실시예들에서는, 명령들의 샘플링(예컨대, 다중 사이클 명령들의 상이한 사이클들의 각자의 샘플링을 포함함)이 명령-주소(command-address)(CA) 버스의 상승 엣지(rising edge)에서 일어난다. 그렇지만, 특정한 실시예들이 이와 관련하여 제한되지 않는다.
도 5a는 일 실시예에 따른, 메모리 자원들에 액세스하라는 명령들의 타이밍을 나타낸 타이밍도(500)이다. 타이밍도(500)는, 예를 들어, 시스템(100)에서 수행되는 교환들 및 동작들을 나타낼 수 있다. 타이밍도(500)는 명령 주소 버스를 통해 메모리 제어기로부터 메모리(514)로 송신되는 CA 교환(512)을 나타낸다. 타이밍도(500)에 나타낸 예시적인 실시예에서, 명령 주소 버스를 통한 교환들의 타이밍이 CA 버스 클럭(510)에 의해 조절되거나 그렇지 않으면 그에 대응한다. 타이밍도(500)는 CA 교환(512)에 응답하여 메모리(514)의 동작들을 추가로 나타내고 있다.
일 실시예에서, CA 교환(512)은 페이지 미스 이벤트를 나타내는 힌트 값을 포함하는 다중 사이클 활성화(ACT) 명령을 포함한다. 예를 들어, 힌트 값은 ACT 명령이 목표로 하는 뱅크가 현재 열려 있는 행을 포함한다는 것을 메모리 디바이스에 명시할 수 있다. CA 교환(512)의 ACT 명령에 응답하여, 메모리(514)는 힌트 값이 나타내는 현재 열려 있는 행을 프리차지하고 닫기 위해 프리차지 명령 i_PRE를 내부적으로 발생시킬 수 있다. 이어서, 메모리(514)는 CA 교환(512)의 ACT 명령이 나타내는 활성화 동작을 수행하기 위해 활성화 명령 i_ACT를 발생시킬 수 있다.
일 실시예에서, 메모리(514)는 프리차지와 관련 행 활성화 동작 사이의 요구된 지연을 명시하는 시간 지연 파라미터 tRP를 시행하기 위해 i_PRE를 발생시키는 것 및/또는 i_ACT를 발생시키는 것을 타이밍 조절한다. 제한이 아닌 예시로서, 메모리(514)는, CA 교환(512)의 ACT 명령의 마지막 사이클의 시작점 이후에, i_ACT의 마지막 사이클(이 예에서, i_ACT의 유일한 사이클임)의 샘플링이 tRP와 같은 기간의 만료보다 더 빠르지 않도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다. 그에 부가하여 또는 다른 대안으로서, 메모리(514)는 i_PRE의 마지막 사이클(이 예에서, i_PRE의 유일한 사이클임)의 시작점이 CA 교환(512)의 ACT 명령의 마지막 사이클의 시작점과 일치하도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다.
도 5b는 일 실시예에 따른, 메모리 자원들에 액세스하라는 명령들의 타이밍을 나타낸 타이밍도(520)이다. 타이밍도(520)는, 예를 들어, 시스템(100)에서 수행되는 교환들 및 동작들을 나타낼 수 있다. 타이밍도(520)는 명령 주소 버스를 통해 메모리 제어기로부터 메모리(534)로 송신되는 CA 교환(532)을 나타낸다. 타이밍도(520)에 나타낸 예시적인 실시예에서, 명령 주소 버스를 통한 교환들의 타이밍이 CA 버스 클럭(530)에 의해 조절되거나 그렇지 않으면 그에 대응한다. 타이밍도(520)는 CA 교환(532)에 응답하여 메모리(534)의 동작들을 추가로 나타내고 있다.
타이밍도(520)는 어떤 점들에서 타이밍도(500)와 유사하고, 주목할 만한 차이점은 페이지 미스 이벤트를 나타내는 힌트 값이 CA 교환(532)의 다중 사이클 리프레시(REF) 명령에 포함되어 있다는 것이다. CA 교환(532)의 REF 명령에 응답하여, 메모리(534)는 - 예컨대, CA 교환(532)의 임의의 명시적 프리차지 명령과 독립적으로 - 프리차지 명령 i_PRE를 내부적으로 발생시킬 수 있다. 이어서, 메모리(534)는 CA 교환(532)의 REF 명령이 나타내는 리프레시 동작을 수행하기 위해 리프레시 명령 i_REF를 발생시킬 수 있다.
메모리(514)와 유사하게, 메모리(534)는 파라미터 tRP를 시행하기 위해 i_PRE를 발생시키는 것 및/또는 i_REF를 발생시키는 것을 타이밍 조절할 수 있다. 제한이 아닌 예시로서, 메모리(534)는 i_REF의 마지막 사이클의 샘플링이 CA 교환(532)의 REF 명령의 마지막 사이클로 시작하는 기간(tRP와 같음)의 만료보다 더 빠르지 않도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다. 그에 부가하여 또는 다른 대안으로서, 메모리(534)는 i_PRE의 마지막 사이클의 샘플링이 CA 교환(532)의 REF 명령의 마지막 사이클의 시작점과 일치하도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다.
타이밍도(520)는 다른 실시예에 따른 메모리 제어기에 의한 tRP 파라미터의 시행을 추가로 나타내고 있다. 보다 상세하게는, 타이밍도(520)는 메모리 제어기로부터 메모리 디바이스로의 2개의 다중 사이클 명령들의 CA 교환(536)을 추가로 나타내고 있다. 단지 비교를 위해, CA 교환(536)이 CA 교환(532)과 일치하는 것으로 나타내어져 있지만, 특정한 실시예들이 이와 관련하여 제한되지 않는다. 예를 들어, CA 교환(536)은 CA 교환(532)에 대한 것과 상이한 메모리 제어기에 의해 교환될 수 있거나, CA 교환(532)의 보다 늦은(또는 보다 빠른) 부분일 수 있다.
CA 교환(536)은 뱅크별 프리차지 명령(per-bank precharge command)(PRE) 및 모든 뱅크 프리차지(all-bank precharge)(PRE_all) 중 하나는 물론, 후속 REF 명령을 포함한다. 이러한 명령들에 대해 tRP 지연 파라미터를 시행하기 위해, 메모리 제어기는, REF 명령의 마지막 샘플링이 CA 교환(536)의 PRE(또는 PRE_all) 명령의 마지막 사이클로 시작하는 기간(tRP와 같음)의 만료보다 더 빠르지 않도록 하기 위해, 타이머 로직(130)의 기능과 같은 기능을 포함할 수 있다. 이 타이밍 제어는 - 예컨대, PRE(또는 PRE_all) 명령의 첫번째 사이클의 시작점을 참조하여 결정되는 것과 달리 - PRE(또는 PRE_all) 명령의 마지막 사이클의 시작점을 참조하여 결정될 수 있다. 예를 들어, 도 5c에 도시된 바와 같이, 상이한 길이의 다중 사이클 명령들을 고려할 때 이 구별이 보다 명백하게 된다.
도 5c는 일 실시예에 따른, 메모리 자원들에 액세스하라는 명령들의 타이밍을 나타낸 타이밍도(540)이다. 타이밍도(540)는, 예를 들어, 시스템(100)에서 수행되는 교환들 및 동작들을 나타낼 수 있다. 타이밍도(540)는 명령 주소 버스를 통해 메모리 제어기로부터 메모리로 송신되는 CA 교환(552)을 나타낸다. CA 교환(552)의 타이밍은 CA 버스 클럭(550)에 의해 조절되거나 그렇지 않으면 그에 대응할 수 있다.
CA 교환(552)은 PRE 및 후속하는 ACT 명령을 포함한다. 이러한 명령들에 대해 tRP1 지연 파라미터를 시행하기 위해, 메모리 제어기는 ACT 명령의 마지막 사이클의 샘플링이 CA 교환(552)의 PRE 명령의 마지막 사이클의 샘플링으로 시작하는 기간(tRP1과 같음)의 만료보다 더 빠르지 않도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다.
특히 주목할 만한 점은, PRE 명령과 ACT 명령의 각자의 시작점들 사이의 시간 차(t6 - t0)가 tRP1보다 작다는 것이다. 그에 따라, PRE 명령과 ACT 명령의 각자의 시작점들을 참조하여 tRP1 요구사항을 시행하려고 타이밍 조절하기 위해 이러한 명령들의 시작점들을 사용하는 것은 ACT 명령이 타이밍도(540)의 t7에서만 시작되어야 할 것을 필요로 할 것이다. 이와 달리, 도 5c에 예시된 실시예는 ACT 명령이 t5에서 시작할 수 있게 한다. 대안의 접근 방법의 한 예가 CA 교환(554)과의 비교를 위해 도시되어 있다. CA 교환(554)의 PRE 명령 및 ACT 명령이, 예를 들어, LPDDR3에 따라 동작하는 메모리 제어기에 의해 송신될 수 있다. CA 교환(554)에서, tRP 지연이 PRE 명령과 ACT 명령의 각자의 시작점들을 참조하여 시행된다.
도 5d는 일 실시예에 따른, 메모리 자원들에 액세스하라는 명령들의 타이밍을 나타낸 타이밍도(560)이다. 타이밍도(560)는, 예를 들어, 시스템(100)에서 수행되는 교환들 및 동작들을 나타낼 수 있다. 타이밍도(560)는 명령 주소 버스를 통해 메모리 제어기로부터 메모리로 송신되는 CA 교환(572)을 나타낸다. CA 교환(572)의 타이밍은 CA 버스 클럭(570)에 의해 조절되거나 그렇지 않으면 그에 대응할 수 있다.
CA 교환(572)은 ACT 명령 및 후속하는 CAS(command address strobe) 신호를 포함한다. 메모리 디바이스의 동작이 행 활성화 명령과 관련 열 주소 스트로브 사이의 최소 시간을 명시하는 지연 파라미터 tRCD1에 의해 제약되거나 그렇지 않으면 그에 의해 특징지워질 수 있다. CA 교환(572)의 ACT 명령 및 CAS 신호에 대해 tRCD1 지연 파라미터를 시행하기 위해, 메모리 제어기는 ACT 명령의 마지막 사이클의 샘플링이 CA 교환(572)의 CAS 신호의 마지막 사이클의 샘플링으로 시작하는 기간(tRCD1과 같음)의 만료보다 더 빠르지 않도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다. 단지 비교를 위해, 타이밍도(560)는 또한 유사한 tRCD 지연 파라미터를 시행하기 위한 종래의 LPDDR3 기법들에 따른 CA 교환(574)의 타이밍을 나타내고 있다.
도 6은 메모리 액세스가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블록도이다. 시스템(600)은 본 명세서에 기술된 임의의 실시예에 따른 컴퓨팅 디바이스를 나타내고, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 게임 또는 엔터테인먼트 제어 시스템, 스캐너, 복사기, 프린터, 또는 기타 전자 디바이스일 수 있다. 시스템(600)은 시스템(600)에 처리, 동작 관리, 및 명령어들의 실행을 제공하는 프로세서(620)를 포함할 수 있다. 프로세서(620)는 시스템(600)에 처리를 제공하는 임의의 유형의 마이크로프로세서, CPU(central processing unit), 처리 코어, 또는 기타 처리 하드웨어를 포함할 수 있다. 프로세서(620)는 시스템(600)의 전체적인 동작을 제어하고, 하나 이상의 프로그램가능 범용 또는 특수 목적 마이크로프로세서들, DSP(digital signal processor)들, 프로그램가능 제어기들, ASIC(application specific integrated circuit)들, PLD(programmable logic device)들, 또는 이와 유사한 것, 또는 이러한 디바이스들의 조합일 수 있거나 그를 포함할 수 있다.
메모리 서브시스템(630)은 시스템(600)의 메인 메모리를 나타내고, 프로세서(620)에 의해 실행될 코드, 또는 루틴을 실행하는 데 사용될 데이터 값들의 일시적 저장을 제공한다. 메모리 서브시스템(630)은 ROM(read-only memory), 플래시 메모리, 하나 이상의 각종의 RAM(random access memory), 또는 기타 메모리 디바이스들, 또는 이러한 디바이스들의 조합과 같은 하나 이상의 메모리 디바이스들을 포함할 수 있다. 메모리 서브시스템(630)은, 그 중에서도 특히, 시스템(600)에서의 명령어들의 실행을 위한 소프트웨어 플랫폼을 제공하기 위해 OS(operating system)(636)를 저장하고 호스팅한다. 그에 부가하여, 시스템(600)의 처리 및 로직을 제공하기 위해 기타 명령어들(638)이 메모리 서브시스템(630)에 저장되고 그로부터 실행된다. OS(636) 및 명령어들(638)이 프로세서(620)에 의해 실행된다.
메모리 서브시스템(630)은 메모리 디바이스(632)를 포함할 수 있고, 여기서 이는 데이터, 명령어들, 프로그램들, 또는 기타 항목들을 저장한다. 하나의 실시예에서, 메모리 서브시스템은 본 명세서에 기술된 임의의 실시예에 따른 메모리 제어기이고 메모리 디바이스(632)에 액세스하는 메커니즘들을 제공하는 메모리 제어기(634)를 포함한다. 하나의 실시예에서, 메모리 제어기(634)는 메모리 디바이스(632)에 명령들을 제공한다. 명령들은 메모리 디바이스(632)로 하여금 메모리 자원들에 대한 활성화 명령들 및/또는 프리차지 명령들을 내부적으로 발생시키게 할 수 있다.
프로세서(620) 및 메모리 서브시스템(630)은 버스/버스 시스템(610)에 결합되어 있다. 버스(610)는 적절한 브리지들, 어댑터들, 및/또는 제어기들에 의해 연결된, 임의의 하나 이상의 개별적인 물리 버스들, 통신 라인들/인터페이스들, 및/또는 포인트-투-포인트 연결들(point-to-point connections)을 나타내는 추상화(abstraction)이다. 따라서, 버스(610)는, 예를 들어, 시스템 버스, 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)"라고 함) 중 하나 이상을 포함할 수 있다. 버스(610)의 버스들은 또한 네트워크 인터페이스(650)에서의 인터페이스들에 대응할 수 있다.
시스템(600)은 또한 버스(610)에 결합된, 하나 이상의 입출력(I/O) 인터페이스(들)(640), 네트워크 인터페이스(650), 하나 이상의 내장형 대용량 저장 디바이스(들)(660), 및 주변 장치 인터페이스(670)를 포함할 수 있다. I/O 인터페이스(640)는 사용자가 그를 통해 시스템(600)과 상호작용하는 하나 이상의 인터페이스 구성요소들을 포함할 수 있다(예컨대, 비디오, 오디오, 및/또는 영숫자 인터페이싱). 네트워크 인터페이스(650)는 하나 이상의 네트워크들을 통해 원격 디바이스들(예컨대, 서버들, 기타 컴퓨팅 디바이스들)과 통신할 수 있는 능력을 시스템(600)에 제공한다. 네트워크 인터페이스(650)는 이더넷 어댑터, 무선 상호연결 구성요소들, USB(universal serial bus), 또는 기타 유선 또는 무선 표준 기반 또는 독점적 인터페이스들을 포함할 수 있다.
저장소(660)는 하나 이상의 자기, 고상(solid state), 또는 광 기반 디스크들, 또는 그 조합과 같은 대량의 데이터를 비휘발적 방식으로 저장하는 임의의 종래의 매체일 수 있거나 이를 포함할 수 있다. 저장소(660)는 코드 또는 명령어들 및 데이터(662)를 영속적 상태로 유지한다[즉, 시스템(600)에 대한 전력의 중단에도 불구하고 값이 유지됨]. 저장소(660)가 일반적으로 "메모리"인 것으로 생각될 수 있지만, 메모리(630)는 프로세서(620)에 명령어들을 제공하는 실행 또는 동작 메모리이다. 저장소(660)가 비휘발성인 반면, 메모리(630)는 휘발성 메모리[즉, 시스템(600)에 대한 전력이 중단되는 경우, 데이터의 값 또는 상태가 불확정적임]를 포함할 수 있다.
주변 장치 인터페이스(670)는 이상에서 구체적으로 언급되지 않은 임의의 하드웨어 인터페이스를 포함할 수 있다. 주변 장치들은 일반적으로 시스템(600)에 종속적으로 연결되는 디바이스들을 말한다. 종속적 연결(dependent connection)이란 동작이 실행되는 그리고 사용자와 상호작용하는 소프트웨어 및/또는 하드웨어 플랫폼을 시스템(600)이 제공하는 연결을 말한다.
도 7은 메모리 액세스가 - 예컨대, 비트별로(on a per-bit basis) - 구현될 수 있는 모바일 디바이스의 일 실시예의 블록도이다. 디바이스(700)는 컴퓨팅 태블릿, 휴대폰 또는 스마트폰, 무선 지원 이-리더(wireless-enabled e-reader), 또는 기타 모바일 디바이스와 같은 모바일 컴퓨팅 디바이스를 나타낸다. 특정 구성요소들이 개괄적으로 도시되어 있고, 이러한 디바이스의 모든 구성요소들이 디바이스(700)에 도시되어 있지는 않다는 것을 잘 알 것이다.
디바이스(700)는 디바이스(700)의 주 처리 동작들을 수행하는 프로세서(710)를 포함할 수 있다. 프로세서(710)는 마이크로프로세서들, 애플리케이션 프로세서(application processor)들, 마이크로컨트롤러들, 프로그램가능 논리 디바이스들, 또는 기타 처리 수단들과 같은 하나 이상의 물리 디바이스들을 포함할 수 있다. 프로세서(710)에 의해 수행되는 처리 동작들은 애플리케이션들 및/또는 디바이스 기능들이 실행되는 운영 플랫폼 또는 운영 체제를 실행하는 것을 포함한다. 처리 동작들은 사람 사용자와의 또는 다른 디바이스들과의 I/O(입출력)에 관련된 동작들, 전력 관리에 관련된 동작들, 및/또는 디바이스(700)를 다른 디바이스에 연결시키는 것에 관련된 동작들을 포함한다. 처리 동작들은 또한 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 포함할 수 있다.
하나의 실시예에서, 디바이스(700)는 오디오 기능들을 컴퓨팅 디바이스에 제공하는 것과 연관된 하드웨어 구성요소들(예컨대, 오디오 하드웨어 및 오디오 회로들) 및 소프트웨어 구성요소들(예컨대, 드라이버들, 코덱들)을 나타내는 오디오 서브시스템(720)을 포함한다. 오디오 기능들은 스피커 및/또는 헤드폰 출력은 물론, 마이크 입력(microphone input)을 포함할 수 있다. 이러한 기능들을 위한 디바이스들이 디바이스(700) 내에 통합되거나 디바이스(700)에 연결될 수 있다. 하나의 실시예에서, 사용자는 프로세서(710)에 의해 수신되고 처리되는 오디오 명령들을 제공함으로써 디바이스(700)와 상호작용한다.
디스플레이 서브시스템(730)은 사용자가 컴퓨팅 디바이스와 상호작용하도록 시각적 및/또는 촉각적 디스플레이를 제공하는 하드웨어 구성요소들(예컨대, 디스플레이 디바이스들) 및 소프트웨어 구성요소들(예컨대, 드라이버들)을 나타낸다. 디스플레이 서브시스템(730)은 사용자에게 디스플레이를 제공하는 데 사용되는 특정의 화면 또는 하드웨어 디바이스를 포함할 수 있는 디스플레이 인터페이스(732)를 포함할 수 있다. 하나의 실시예에서, 디스플레이 인터페이스(732)는 디스플레이에 관련된 적어도 일부 처리를 수행하기 위해 프로세서(710)와 별개인 로직을 포함한다. 하나의 실시예에서, 디스플레이 서브시스템(730)은 사용자에게 출력 및 입력 둘 다를 제공하는 터치스크린 디바이스를 포함한다.
I/O 제어기(740)는 사용자와의 상호작용에 관련된 하드웨어 디바이스들 및 소프트웨어 구성요소들을 나타낸다. I/O 제어기(740)는 오디오 서브시스템(720) 및/또는 디스플레이 서브시스템(730)의 일부인 하드웨어를 관리하는 동작을 할 수 있다. 그에 부가하여, I/O 제어기(740)는 사용자가 그를 통해 시스템과 상호작용할 수 있는 디바이스(700)에 연결되는 부가적인 디바이스들에 대한 연결점을 나타낸다. 예를 들어, 디바이스(700)에 접속될 수 있는 디바이스들은 마이크 디바이스들, 스피커 또는 스테레오 시스템들, 비디오 시스템들 또는 기타 디스플레이 디바이스, 키보드 또는 키패드 디바이스들, 또는 카드 판독기 또는 기타 디바이스들과 같은 특정의 응용들에서 사용하기 위한 기타 I/O 디바이스들을 포함할 수 있다.
앞서 언급한 바와 같이, I/O 제어기(740)는 오디오 서브시스템(720) 및/또는 디스플레이 서브시스템(730)과 상호작용할 수 있다. 예를 들어, 마이크 또는 다른 오디오 디바이스를 통한 입력은 디바이스(700)의 하나 이상의 애플리케이션들 또는 기능들에 대한 입력 또는 명령들을 제공할 수 있다. 게다가, 디스플레이 출력 대신에 또는 그에 부가하여, 오디오 출력이 제공될 수 있다. 다른 예에서, 디스플레이 서브시스템이 터치스크린을 포함하는 경우, 디스플레이 디바이스는 또한 I/O 제어기(740)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스로서 작용한다. 또한, I/O 제어기(740)에 의해 관리되는 I/O 기능들을 제공하기 위해 디바이스(700) 상에 부가적인 버튼들 또는 스위치들이 있을 수 있다.
하나의 실시예에서, I/O 제어기(740)는 디바이스(700)에 포함될 수 있는 가속도계들, 카메라들, 광 센서들 또는 기타 환경 센서들, 자이로스코프들, GPS(global positioning system), 또는 기타 하드웨어와 같은 디바이스들을 관리한다. 입력은 직접적인 사용자 상호작용의 일부는 물론, (잡음의 필터링, 밝기 검출을 위해 디스플레이를 조절하는 것, 카메라에 플래시를 적용하는 것, 또는 다른 특징들과 같은) 그의 동작들에 영향을 주기 위해 시스템에 환경 입력을 제공하는 것일 수 있다.
하나의 실시예에서, 디바이스(700)는 배터리 전력 사용, 배터리의 충전, 및 전력 절감 동작에 관련된 특징들을 관리하는 전력 관리(750)를 포함한다. 메모리 서브시스템(760)은 디바이스(700)에 정보를 저장하는 메모리 디바이스(들)(762)를 포함할 수 있다. 메모리 서브시스템(760)은 비휘발성 메모리 디바이스(메모리 디바이스에의 전력이 중단되는 경우 상태가 변하지 않음) 및/또는 휘발성 메모리 디바이스(메모리 디바이스에의 전력이 중단되는 경우 상태가 불확정적임)를 포함할 수 있다. 메모리(760)는 애플리케이션 데이터, 사용자 데이터, 음악, 사진, 문서, 또는 기타 데이터는 물론, 시스템(700)의 애플리케이션들 및 기능들의 실행에 관련된 (장기 또는 임시) 시스템 데이터를 저장할 수 있다.
하나의 실시예에서, 메모리 서브시스템(760)은 [시스템(700)의 제어의 일부인 것으로도 생각될 수 있고 어쩌면 프로세서(710)의 일부인 것으로 생각될 수 있는] 메모리 제어기(764)를 포함한다. 메모리 제어기(764)는 버스의 전압 스윙 특성들을 모니터링한다. 예를 들어, 메모리 제어기(764)는 동일한 버스 - 예컨대, 데이터 버스 - 의 상이한 신호 라인들에 대한 상이한 전압 스윙 특성들을 검출할 수 있다. 일 실시예에서, 메모리 제어기(764)는 메모리(762)로 하여금 메모리 자원들에 대한 활성화 명령 또는 프리차지 명령을 내부적으로 발생시키게 하는 명령들을 발행한다.
연결부(connectivity)(770)는 디바이스(700)가 외부 디바이스들과 통신할 수 있게 하기 위해 하드웨어 디바이스들(예컨대, 무선 및/또는 유선 커넥터들 및 통신 하드웨어) 및 소프트웨어 구성요소들(예컨대, 드라이버들, 프로토콜 스택들)을 포함할 수 있다. 디바이스는 다른 컴퓨팅 디바이스들, 무선 액세스 포인트들 또는 기지국들과 같은 개별적인 디바이스들은 물론, 헤드셋들, 프린터들, 또는 다른 디바이스들과 같은 주변 장치들일 수 있다.
연결부(770)는 다수의 상이한 유형의 연결부를 포함할 수 있다. 일반화하기 위해, 디바이스(700)는 셀룰러 연결부(772) 및 무선 연결부(774)를 갖는 것으로 예시되어 있다. 셀룰러 연결부(772)는 일반적으로 GSM(global system for mobile communications) 또는 변형들 또는 파생물들, CDMA(code division multiple access) 또는 변형들 또는 파생물들, TDM(time division multiplexing) 또는 변형들 또는 파생물들, LTE(long term evolution - "4G"라고도 함), 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 것과 같은 무선 통신사들(wireless carriers)에 의해 제공되는 셀룰러 네트워크 연결부를 말한다. 무선 연결부(774)는 셀룰러가 아닌 무선 연결부를 말하고, 개인 영역 네트워크들(블루투스 등), 근거리 네트워크들(WiFi 등), 및/또는 원거리 네트워크들(WiMax 등), 또는 다른 무선 통신을 포함할 수 있다. 무선 통신은 비고체 매체(non-solid medium)를 통한 변조된 전자기 방사의 사용을 통한 데이터의 전송을 말한다. 유선 통신은 고체 통신 매체(solid communication medium)를 통해 행해진다.
주변 장치 연결들(780)은 주변 장치 연결들을 하기 위한 하드웨어 인터페이스들 및 커넥터들은 물론, 소프트웨어 구성요소들(예컨대, 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스(700)가 다른 컴퓨팅 디바이스들에 대한 주변 디바이스["발신측(to)"(782)]일 수 있는 것은 물론, 그에 연결된 주변 디바이스들["착신측(from)"(784)]을 가질 수 있다는 것을 잘 알 것이다. 디바이스(700)는 디바이스(700) 상의 콘텐츠를 관리하는 것(예컨대, 다운로드 및/또는 업로드, 변경, 동기화하는 것)과 같은 목적들을 위해 다른 컴퓨팅 디바이스들에 연결하기 위한 "도킹(docking)" 커넥터를 흔히 가진다. 그에 부가하여, 도킹 커넥터는 디바이스(700)로 하여금, 예를 들어, 시청각 또는 기타 시스템들로의 콘텐츠 출력을 제어할 수 있게 하는 특정 주변 장치들에 디바이스(700)가 연결될 수 있게 할 수 있다.
독점적 도킹 커넥터 또는 기타 독점적 연결 하드웨어에 부가하여, 디바이스(700)는 통상적인 또는 표준 기반 커넥터들을 통해 주변 장치 연결들(780)을 할 수 있다. 통상적인 유형들은 USB(Universal Serial Bus) 커넥터(다수의 상이한 하드웨어 인터페이스들 중 임의의 것을 포함할 수 있음), MiniDisplayPort(MDP)를 포함하는 DisplayPort, HDMI(High Definition Multimedia Interface), 파이어와이어, 또는 기타 유형을 포함할 수 있다.
하나의 구현예에서, 메모리 디바이스는 메모리 제어기로부터 메모리 디바이스로의 제1 다중 사이클 명령의 교환을 검출하는 검출기 로직을 포함하고, 제1 다중 사이클 명령은 메모리 디바이스의 제1 뱅크에의 액세스를 나타낸다. 메모리 디바이스는, 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션을 타이밍 조절하도록 구성된 회로를 포함하는 제어 로직 - 제2 명령의 마지막 샘플링이 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 제2 명령의 마지막 사이클을 타이밍 조절하는 제어 로직을 포함함 - 을 추가로 포함하고, 여기서 그 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같다.
일 실시예에서, 제어 로직은 제2 명령의 마지막 샘플링이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 제2 명령의 마지막 사이클을 타이밍 조절하기 위한 것이다. 다른 실시예에서, 제2 명령이 다중 사이클 명령이고, 여기서 제1 다중 사이클 명령의 사이클들의 총수는 제2 명령의 사이클들의 총수와 상이하다. 다른 실시예에서, 어써션을 타이밍 조절하는 제어 로직은 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 제어 로직, 및 제2 명령의 어써션에 대한 시작 시간을 결정하는 제어 로직 - 사전 정의된 행 프리차지 시간 지연 파라미터와 제2 명령의 마지막 사이클 이외의 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 기준 시간 값에 가산하는 제어 로직을 포함함 - 포함한다. 다른 실시예에서, 제어 로직은, 메모리 제어기로부터의 임의의 명시적 명령에 독립적인, 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령을 발생시키기 위한 것이다.
다른 실시예에서, 제어 로직은 추가로, 검출된 교환에 응답하여, 제2 명령에 앞서, 프리차지 동작을 수행하라는 제3 명령을 발생시키기 위한 것이다. 다른 실시예에서, 제어 로직은, 메모리 제어기로부터의 임의의 명시적 명령에 독립적인, 프리차지 동작을 수행하라는 제3 명령을 발생시키기 위한 것이다. 다른 실시예에서, 제1 다중 사이클 명령은 제1 뱅크가 현재 열려 있는 행을 포함하는지를 메모리 디바이스에 알려주는 힌트 값을 포함하고, 여기서 제어 로직은 힌트 값에 응답하여 제3 명령을 발생시키기 위한 것이다. 다른 실시예에서, 제어 로직은 제1 다중 사이클 명령의 마지막 사이클의 시작점에서 제3 명령의 어써션을 시작하기 위한 것이다. 다른 실시예에서, 제1 다중 사이클 명령은 활성화 명령을 포함하고, 여기서 제2 명령은 제1 뱅크의 활성화를 수행하라는 것이다. 다른 실시예에서, 제1 다중 사이클 명령은 리프레시 명령을 포함하고, 여기서 제2 명령은 제1 뱅크의 리프레시를 수행하라는 것이다. 다른 실시예에서, 리프레시 명령은, 메모리 디바이스의 복수의 뱅크들 중에서, 제1 뱅크만이 리프레시되어야 한다는 것을 나타낸다. 다른 실시예에서, 리프레시 명령은 메모리 디바이스의 복수의 뱅크들 전부를 리프레시하라는 것이다.
다른 구현예에서, 메모리 제어기는 메모리 제어기로부터 메모리 디바이스로 제1 다중 사이클 명령을 교환하는 명령 로직을 포함하고, 제1 다중 사이클 명령은 메모리 디바이스의 제1 뱅크에의 액세스를 나타낸다. 메모리 제어기는, 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 메모리 디바이스로의 전송을 타이밍 조절하는 타이머 로직 - 제2 명령의 마지막 샘플링이 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 제2 명령의 마지막 사이클을 타이밍 조절하는 타이머 로직을 포함함 - 을 추가로 포함하고, 여기서 그 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같다.
일 실시예에서, 타이머 로직은 제2 명령의 마지막 샘플링이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 제2 명령의 마지막 사이클을 타이밍 조절하기 위한 것이다. 다른 실시예에서, 제2 명령이 다중 사이클 명령이고, 여기서 제1 다중 사이클 명령의 사이클들의 총수는 제2 명령의 사이클들의 총수와 상이하다. 다른 실시예에서, 어써션을 타이밍 조절하는 타이머 로직은 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 타이머 로직, 및 제2 명령의 어써션에 대한 시작 시간을 결정하는 타이머 로직 - 사전 정의된 행 프리차지 시간 지연 파라미터와 마지막 사이클 이외의 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 기준 시간 값에 가산하는 타이머 로직을 포함함 - 을 포함한다. 다른 실시예에서, 메모리 디바이스의 복수의 메모리 뱅크들은 제1 뱅크를 포함하고, 여기서, 복수의 뱅크들 중에서, 제1 다중 사이클 명령은 제1 뱅크에 대해서만 프리차지 동작을 나타낸다. 다른 실시예에서, 메모리 디바이스의 복수의 메모리 뱅크들은 제1 뱅크를 포함하고, 여기서 제1 다중 사이클 명령은 복수의 뱅크들 전부가 프리차지되어야 한다는 것을 나타낸다.
다른 실시예에서, 제2 명령은 제1 뱅크의 활성화를 수행하라는 것이고, 여기서 타이머 로직은 추가로 제2 명령 후에 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하기 위한 것이며, 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 제2 명령의 마지막 사이클의 시작점으로부터 다른 기간 동안 또는 그의 만료 후에 시작하도록 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 타이밍 조절하는 타이머 로직을 포함하고, 여기서 다른 기간은 행 주소 스트로브 신호의 어써션과 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시하는 사전 정의된 tRCD 파라미터와 같다. 다른 실시예에서, 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 다른 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 다중 사이클 열 주소 스트로브 신호의 마지막 사이클이 타이밍 조절된다.
다른 구현예에서, 방법은 메모리 제어기로부터 메모리 디바이스로의 제1 다중 사이클 명령의 교환을 검출하는 단계를 포함하고, 제1 다중 사이클 명령은 메모리 디바이스의 제1 뱅크에의 액세스를 나타낸다. 본 방법은, 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션을 타이밍 조절하는 단계 - 제2 명령의 마지막 샘플링이 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 제2 명령의 마지막 사이클을 타이밍 조절하는 단계를 포함함 - 를 추가로 포함하고, 여기서 그 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같다.
일 실시예에서, 제2 명령의 마지막 샘플링이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 제2 명령의 마지막 사이클이 타이밍 조절된다. 다른 실시예에서, 제2 명령이 다중 사이클 명령이고, 여기서 제1 다중 사이클 명령의 사이클들의 총수는 제2 명령의 사이클들의 총수와 상이하다. 다른 실시예에서, 어써션을 타이밍 조절하는 단계는 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 단계, 및 제2 명령의 어써션에 대한 시작 시간을 결정하는 단계 - 사전 정의된 행 프리차지 시간 지연 파라미터와 제2 명령의 마지막 사이클 이외의 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 기준 시간 값에 가산하는 단계를 포함함 - 를 포함한다.
다른 실시예에서, 교환을 검출하는 단계는 메모리 디바이스에서 검출하는 단계를 포함하고, 여기서 메모리 디바이스는, 메모리 제어기로부터의 임의의 명시적 명령에 독립적인, 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령을 발생시킨다. 다른 실시예에서, 본 방법은, 교환을 검출한 것에 응답하여, 제2 명령에 앞서, 프리차지 동작을 수행하라는 제3 명령을 메모리 디바이스에서 발생시키는 단계를 추가로 포함한다. 다른 실시예에서, 프리차지 동작을 수행하라는 제3 명령은 메모리 제어기로부터의 임의의 명시적 명령에 독립적으로 발생된다. 다른 실시예에서, 제1 다중 사이클 명령은 제1 뱅크가 현재 열려 있는 행을 포함하는지를 메모리 디바이스에 알려주는 힌트 값을 포함하고, 여기서 메모리 디바이스는 힌트 값에 응답하여 제3 명령을 발생시킨다. 다른 실시예에서, 메모리 디바이스는 제1 다중 사이클 명령의 마지막 사이클의 시작점에서 시작하도록 제3 명령의 어써션을 타이밍 조절한다. 다른 실시예에서, 제1 다중 사이클 명령은 활성화 명령을 포함하고, 여기서 제2 명령은 제1 뱅크의 활성화를 수행하라는 것이다. 다른 실시예에서, 제1 다중 사이클 명령은 리프레시 명령을 포함하고, 여기서 제2 명령은 제1 뱅크의 리프레시를 수행하라는 것이다. 다른 실시예에서, 리프레시 명령은, 메모리 디바이스의 복수의 뱅크들 중에서, 제1 뱅크만이 리프레시되어야 한다는 것을 나타낸다. 다른 실시예에서, 리프레시 명령은 메모리 디바이스의 복수의 뱅크들 전부를 리프레시하라는 것이다.
다른 실시예에서, 교환을 검출하는 단계는 메모리 제어기에서 검출하는 단계를 포함하고, 여기서 메모리 제어기는 제2 명령을 메모리 디바이스로 송신한다. 다른 실시예에서, 메모리 디바이스의 복수의 메모리 뱅크들은 제1 뱅크를 포함하고, 여기서, 복수의 뱅크들 중에서, 제1 다중 사이클 명령은 제1 뱅크에 대해서만 프리차지 동작을 나타낸다. 다른 실시예에서, 메모리 디바이스의 복수의 메모리 뱅크들은 제1 뱅크를 포함하고, 여기서 제1 다중 사이클 명령은 복수의 뱅크들 전부가 프리차지되어야 한다는 것을 나타낸다. 다른 실시예에서, 제2 명령은 제1 뱅크의 활성화를 수행하라는 것이고, 본 방법은 제2 명령 후에 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하는 단계 - 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 제2 명령의 마지막 사이클의 시작점으로부터 다른 기간 동안 또는 그의 만료 후에 시작하도록 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 타이밍 조절하는 단계를 포함함 - 를 추가로 포함하고, 여기서 다른 기간은 행 주소 스트로브 신호의 어써션과 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시하는 사전 정의된 tRCD 파라미터와 같다. 다른 실시예에서, 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 다른 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 다중 사이클 열 주소 스트로브 신호의 마지막 사이클이 타이밍 조절된다.
메모리 디바이스를 동작시키는 기법들 및 아키텍처들이 본 명세서에 기술되어 있다. 이상의 설명에서, 설명의 목적상, 특정한 실시예들의 완전한 이해를 제공하기 위해 다수의 구체적인 상세들이 기재되어 있다. 그렇지만, 통상의 기술자에게는 특정한 실시예들이 이러한 구체적인 상세들 없이 실시될 수 있다는 것이 명백할 것이다. 다른 경우들에서, 본 설명을 모호하게 하는 것을 피하기 위해, 구조들 및 디바이스들이 블록도 형태로 도시되어 있다.
본 명세서에서 "하나의 실시예" 또는 "일 실시예"라는 말은 그 실시예와 관련하여 기술된 특정의 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되어 있다는 것을 의미한다. 본 명세서의 여러 곳에서 나오는 "하나의 실시예에서"라는 문구가 모두 꼭 동일한 실시예를 말하는 것은 아니다.
본 명세서에서의 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 심볼 표현들에 관하여 제시되어 있다. 이들 알고리즘 설명들 및 표현들은 컴퓨팅 기술의 통상의 기술자들이 자신의 작업의 내용을 다른 통상의 기술자들에게 가장 효과적으로 전달하기 위해 사용되는 수단이다. 알고리즘은 여기에서 일반적으로 원하는 결과를 가져오는 자체 일관성있는 단계들의 시퀀스(self-consistent sequence of steps)인 것으로 생각된다. 단계들은 물리적 양의 물리적 조작을 필요로 하는 것이다. 보통, 비록 꼭 그럴 필요는 없지만, 이들 양은 저장, 전송, 결합, 비교 및 다른 방식으로 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 원칙적으로 흔히 사용되기 때문에, 이들 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 지칭하는 것이 때로는 편리한 것으로 밝혀졌다.
그렇지만, 이들 및 유사한 용어들 모두가 적절한 물리적 양들과 연관되어 있고 이들 양에 적용되는 편리한 라벨들에 불과하다는 것을 염두에 두어야 한다. 달리 구체적으로 언급하지 않는 한, 이하의 논의로부터 명백한 바와 같이, 본 설명 전체에 걸쳐 "처리" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레이" 등과 같은 용어들을 이용한 논의가 컴퓨터 시스템의 레지스터들 및 메모리들 내에서 물리적(전자적) 양으로 표현된 데이터를 조작하여 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 전송 또는 디스플레이 디바이스들 내에서 물리적 양으로 유사하게 표현되는 다른 데이터로 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스들을 말한다는 것을 잘 알 것이다.
특정한 실시예들은 또한 본 명세서에서의 동작들을 수행하는 장치에 관한 것이다. 이 장치는 요구된 목적들을 위해 특별하게 구성될 수 있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 전자 명령어들을 저장하기에 적당한 그리고 컴퓨터 시스템 버스에 결합된 플로피 디스크, 광 디스크, CD-ROM, 및 광자기 디스크, ROM(read-only memory), RAM(random access memory)[DRAM(dynamic RAM), EPROM, EEPROM 등], 자기 또는 광 카드, 또는 임의의 유형의 매체를 비롯한 임의의 유형의 디스크(이들로 제한되지 않음)와 같은 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
본 명세서에 제시된 알고리즘들 및 디스플레이들은 임의의 특정의 컴퓨터 또는 다른 장치에 본질적으로 관련되어 있지는 않다. 다양한 범용 시스템들이 본 명세서에서의 교시 내용에 따라 프로그램들과 함께 사용될 수 있거나, 보다 전문화된 장치를 요구된 방법 단계들을 수행하도록 구성하는 것이 편리한 것으로 입증될 수 있다. 각종의 이러한 시스템들에 대한 요구된 구조는 본 명세서에서의 설명으로부터 나타날 것이다. 그에 부가하여, 특정한 실시예들이 임의의 특정의 프로그래밍 언어를 참조하여 기술되어 있지 않다. 본 명세서에 기술된 바와 같은 이러한 실시예들의 교시 내용을 구현하기 위해 각종의 프로그래밍 언어들이 사용될 수 있다는 것을 잘 알 것이다.
본 명세서에 기술된 것 이외에, 개시된 실시예들의 범주를 벗어남이 없이 개시된 실시예들 및 그의 구현예들에 대해 다양한 수정들이 행해질 수 있다. 따라서, 본 명세서에서의 도해들 및 예들이 제한적인 의미가 아니라 예시적인 의미로서 해석되어야만 한다. 본 발명의 범주는 이하의 청구범위를 참조해서만 측정되어야 한다.

Claims (25)

  1. 메모리 디바이스로서,
    메모리 제어기로부터 상기 메모리 디바이스로의 제1 다중 사이클 명령(multi-cycle command)의 교환을 검출하는 검출기 로직 - 상기 제1 다중 사이클 명령은 상기 메모리 디바이스의 제1 뱅크에의 액세스를 나타냄 -; 및
    상기 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 상기 제1 뱅크의 활성화 및 상기 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션(assertion)을 타이밍 조절(time)하도록 구성된 회로를 포함하는 제어 로직 - 상기 제2 명령의 마지막 사이클을 상기 제1 다중 사이클 명령의 마지막 사이클의 시작점(beginning)으로부터 일정 기간(a period of time) 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 제어 로직을 포함함 -
    을 포함하고, 상기 기간은 사전 정의된 행 프리차지 시간 지연 파라미터(predefined row precharge time delay parameter)와 같은, 메모리 디바이스.
  2. 제1항에 있어서, 상기 제어 로직은 상기 제2 명령의 마지막 사이클을 상기 기간 동안 또는 그의 만료 후에 시작하는 상기 클럭 신호의 가장 빠른 사이클과 일치하도록 타이밍 조절하는, 메모리 디바이스.
  3. 제1항 또는 제2항에 있어서, 상기 제2 명령은 다중 사이클 명령이고, 상기 제1 다중 사이클 명령의 사이클들의 총수는 상기 제2 명령의 사이클들의 총수와 상이한, 메모리 디바이스.
  4. 제1항 또는 제2항에 있어서, 상기 어써션을 타이밍 조절하는 제어 로직은,
    상기 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 제어 로직; 및
    상기 제2 명령의 어써션에 대한 시작 시간을 결정하는 제어 로직 - 상기 사전 정의된 행 프리차지 시간 지연 파라미터와 상기 마지막 사이클 이외의 상기 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 상기 기준 시간 값에 가산하는 제어 로직을 포함함 -
    을 포함하는, 메모리 디바이스.
  5. 제1항 또는 제2항에 있어서, 상기 제어 로직은, 상기 메모리 제어기로부터의 임의의 명시적 명령(explicit command)에 독립적인, 상기 제1 뱅크의 활성화 및 상기 제1 뱅크의 리프레시 중 하나를 수행하라는 상기 제2 명령을 발생시키는, 메모리 디바이스.
  6. 제5항에 있어서, 상기 제어 로직은 추가로, 상기 검출된 교환에 응답하여, 상기 제2 명령에 앞서, 프리차지 동작을 수행하라는 제3 명령을 발생시키는, 메모리 디바이스.
  7. 제6항에 있어서, 상기 제어 로직은, 상기 메모리 제어기로부터의 임의의 명시적 명령에 독립적인, 상기 프리차지 동작을 수행하라는 상기 제3 명령을 발생시키는, 메모리 디바이스.
  8. 제6항에 있어서, 상기 제1 다중 사이클 명령은 상기 제1 뱅크가 현재 열려 있는 행을 포함하는지를 상기 메모리 디바이스에 알려주는 힌트 값을 포함하고, 상기 제어 로직은 상기 힌트 값에 응답하여 상기 제3 명령을 발생시키는, 메모리 디바이스.
  9. 제6항에 있어서, 상기 제어 로직은 상기 제1 다중 사이클 명령의 마지막 사이클의 시작점에서 상기 제3 명령의 어써션을 시작하는, 메모리 디바이스.
  10. 메모리 제어기로서,
    상기 메모리 제어기로부터 메모리 디바이스로 제1 다중 사이클 명령을 교환하는 명령 로직 - 상기 제1 다중 사이클 명령은 상기 메모리 디바이스의 제1 뱅크에의 액세스를 나타냄 -; 및
    교환된 상기 제1 다중 사이클 명령에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 상기 제1 뱅크의 활성화 및 상기 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 상기 메모리 디바이스로의 전송을 타이밍 조절하는 타이머 로직 - 상기 제2 명령의 마지막 사이클을 상기 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 타이머 로직을 포함함 -
    을 포함하고, 상기 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같은, 메모리 제어기.
  11. 제10항에 있어서, 상기 타이머 로직은 상기 제2 명령의 마지막 사이클을 상기 기간 동안 또는 그의 만료 후에 시작하는 상기 클럭 신호의 가장 빠른 사이클과 일치하도록 타이밍 조절하는, 메모리 제어기.
  12. 제10항 또는 제11항에 있어서, 상기 제2 명령은 다중 사이클 명령이고, 상기 제1 다중 사이클 명령의 사이클들의 총수는 상기 제2 명령의 사이클들의 총수와 상이한, 메모리 제어기.
  13. 제10항 또는 제11항에 있어서, 상기 제2 명령은 상기 제1 뱅크의 활성화를 수행하라는 것이고, 상기 타이머 로직은 추가로 상기 제2 명령 후에 상기 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하고, 상기 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 상기 제2 명령의 마지막 사이클의 시작점으로부터 다른 기간 동안 또는 그의 만료 후에 시작하도록 상기 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 타이밍 조절하는 타이머 로직을 포함하며, 상기 다른 기간은 행 주소 스트로브 신호의 어써션과 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시하는 사전 정의된 tRCD 파라미터와 같은, 메모리 제어기.
  14. 제13항에 있어서, 상기 다중 사이클 열 주소 스트로브 신호의 마지막 사이클은 상기 다른 기간 동안 또는 그의 만료 후에 시작하는 상기 클럭 신호의 가장 빠른 사이클과 일치하도록 타이밍 조절되는, 메모리 제어기.
  15. 방법으로서,
    메모리 제어기로부터 메모리 디바이스로의 제1 다중 사이클 명령의 교환을 검출하는 단계 - 상기 제1 다중 사이클 명령은 상기 메모리 디바이스의 제1 뱅크에의 액세스를 나타냄 -; 및
    상기 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 상기 제1 뱅크의 활성화 및 상기 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션을 타이밍 조절하는 단계 - 상기 제2 명령의 마지막 사이클을 상기 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 단계를 포함함 -
    를 포함하고, 상기 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같은, 방법.
  16. 제15항에 있어서, 상기 제2 명령의 마지막 사이클은 상기 기간 동안 또는 그의 만료 후에 시작하는 상기 클럭 신호의 가장 빠른 사이클과 일치하도록 타이밍 조절되는, 방법.
  17. 제15항 또는 제16항에 있어서, 상기 제2 명령은 다중 사이클 명령이고, 상기 제1 다중 사이클 명령의 사이클들의 총수는 상기 제2 명령의 사이클들의 총수와 상이한, 방법.
  18. 제15항 또는 제16항에 있어서, 상기 어써션을 타이밍 조절하는 단계는,
    상기 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 단계; 및
    상기 제2 명령의 어써션에 대한 시작 시간을 결정하는 단계 - 상기 사전 정의된 행 프리차지 시간 지연 파라미터와 상기 마지막 사이클 이외의 상기 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 상기 기준 시간 값에 가산하는 단계를 포함함 -
    를 포함하는, 방법.
  19. 제15항 또는 제16항에 있어서, 상기 교환을 검출하는 단계는 상기 메모리 디바이스에서 검출하는 단계를 포함하고, 상기 메모리 디바이스는, 상기 메모리 제어기로부터의 임의의 명시적 명령에 독립적인, 상기 제1 뱅크의 활성화 및 상기 제1 뱅크의 리프레시 중 하나를 수행하라는 상기 제2 명령을 발생시키는, 방법.
  20. 제19항에 있어서, 상기 교환을 검출한 것에 응답하여, 상기 제2 명령에 앞서, 프리차지 동작을 수행하라는 제3 명령을 상기 메모리 디바이스에서 발생시키는 단계를 추가로 포함하는, 방법.
  21. 제15항 또는 제16항에 있어서, 상기 교환을 검출하는 단계는 상기 메모리 제어기에서 검출하는 단계를 포함하고, 상기 메모리 제어기는 상기 제2 명령을 상기 메모리 디바이스로 송신하는, 방법.
  22. 제21항에 있어서, 상기 메모리 디바이스의 복수의 메모리 뱅크들은 상기 제1 뱅크를 포함하고, 상기 복수의 뱅크들 중에서, 상기 제1 다중 사이클 명령은 상기 제1 뱅크에 대해서만 프리차지 동작을 나타내는, 방법.
  23. 제21항에 있어서, 상기 메모리 디바이스의 복수의 메모리 뱅크들은 상기 제1 뱅크를 포함하고, 상기 제1 다중 사이클 명령은 상기 복수의 뱅크들 전부가 프리차지되어야 한다는 것을 나타내는, 방법.
  24. 제21항에 있어서, 상기 제2 명령은 상기 제1 뱅크의 활성화를 수행하라는 것이고, 상기 방법은,
    상기 제2 명령 후에 상기 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하는 단계 - 상기 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 상기 제2 명령의 마지막 사이클의 시작점으로부터 다른 기간 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 단계를 포함함 -
    를 추가로 포함하고, 상기 다른 기간은 행 주소 스트로브 신호의 어써션과 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시하는 사전 정의된 tRCD 파라미터와 같은, 방법.
  25. 제24항에 있어서, 상기 다중 사이클 열 주소 스트로브 신호의 마지막 사이클은 상기 다른 기간 동안 또는 그의 만료 후에 시작하는 상기 클럭 신호의 가장 빠른 사이클과 일치하도록 타이밍 조절되는, 방법.
KR1020157011443A 2012-11-30 2013-11-22 다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템 KR101742892B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261731908P 2012-11-30 2012-11-30
US61/731,908 2012-11-30
PCT/US2013/071534 WO2014085268A1 (en) 2012-11-30 2013-11-22 Apparatus, method and system for memory device access with a multi-cycle command

Publications (2)

Publication Number Publication Date
KR20150064172A KR20150064172A (ko) 2015-06-10
KR101742892B1 true KR101742892B1 (ko) 2017-06-01

Family

ID=50828373

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157011398A KR101781277B1 (ko) 2012-11-30 2013-11-22 집적 회로 패키지의 다수의 칩들에 대한 종단을 제공하는 장치, 방법 및 시스템
KR1020157011443A KR101742892B1 (ko) 2012-11-30 2013-11-22 다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020157011398A KR101781277B1 (ko) 2012-11-30 2013-11-22 집적 회로 패키지의 다수의 칩들에 대한 종단을 제공하는 장치, 방법 및 시스템

Country Status (5)

Country Link
US (3) US9721641B2 (ko)
EP (2) EP3651154A1 (ko)
KR (2) KR101781277B1 (ko)
CN (1) CN105283918B (ko)
WO (2) WO2014085268A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016032784A1 (en) 2014-08-25 2016-03-03 Rambus Inc. Buffer circuit with adaptive repair capability
US9600183B2 (en) 2014-09-22 2017-03-21 Intel Corporation Apparatus, system and method for determining comparison information based on memory data
US9530468B2 (en) * 2014-09-26 2016-12-27 Intel Corporation Method, apparatus and system to manage implicit pre-charge command signaling
KR102401271B1 (ko) 2015-09-08 2022-05-24 삼성전자주식회사 메모리 시스템 및 그 동작 방법
US10141935B2 (en) 2015-09-25 2018-11-27 Intel Corporation Programmable on-die termination timing in a multi-rank system
US9865324B2 (en) * 2015-10-19 2018-01-09 Micron Technology, Inc. Method and apparatus for decoding commands
KR20170112289A (ko) 2016-03-31 2017-10-12 삼성전자주식회사 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 구동 방법
US10019402B2 (en) * 2016-05-12 2018-07-10 Quanta Computer Inc. Flexible NVME drive management solution via multiple processor and registers without multiple input/output expander chips
US10181346B2 (en) * 2016-08-02 2019-01-15 SK Hynix Inc. Semiconductor devices and operations thereof
US10528099B2 (en) 2016-10-10 2020-01-07 Micron Technology, Inc. Configuration update for a memory device based on a temperature of the memory device
JP2019046051A (ja) * 2017-08-31 2019-03-22 東芝メモリ株式会社 メモリ装置およびデータ処理装置
US10162406B1 (en) * 2017-08-31 2018-12-25 Micron Technology, Inc. Systems and methods for frequency mode detection and implementation
US10541018B2 (en) 2017-09-26 2020-01-21 Intel Corporation DDR memory bus with a reduced data strobe signal preamble timespan
US10437514B2 (en) * 2017-10-02 2019-10-08 Micron Technology, Inc. Apparatuses and methods including memory commands for semiconductor memories
KR20190053717A (ko) 2017-11-10 2019-05-20 삼성전자주식회사 레이턴시 제어를 위한 메모리 장치 및 메모리 장치의 동작 방법
US10572168B2 (en) 2017-11-16 2020-02-25 International Business Machines Corporation DRAM bank activation management
US10467158B2 (en) 2017-11-29 2019-11-05 Micron Technology, Inc. Apparatuses and methods including memory commands for semiconductor memories
USD870152S1 (en) 2018-01-04 2019-12-17 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
CN108520764B (zh) * 2018-04-08 2019-05-31 长鑫存储技术有限公司 双倍速率同步动态随机存储器
KR102621098B1 (ko) 2018-07-23 2024-01-04 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10637533B2 (en) 2018-09-28 2020-04-28 Western Digital Technologies, Inc. Dedicated termination dies for memory systems
US11302645B2 (en) 2020-06-30 2022-04-12 Western Digital Technologies, Inc. Printed circuit board compensation structure for high bandwidth and high die-count memory stacks
US11456022B2 (en) 2020-06-30 2022-09-27 Western Digital Technologies, Inc. Distributed grouped terminations for multiple memory integrated circuit systems
US11631442B1 (en) * 2021-12-20 2023-04-18 Micron Technology, Inc. Multi-clock cycle memory command protocol

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7420867B2 (en) 2003-08-28 2008-09-02 Infineon Technologies Ag Semiconductor memory device and method for operating a semiconductor memory device
US20090204771A1 (en) 2008-02-12 2009-08-13 Isao Kawamoto Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655113A (en) * 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
DE69628326D1 (de) * 1995-10-06 2003-06-26 Patriot Scient Corp Architektur für einen risc-mikroprozessor
US5864696A (en) * 1996-01-19 1999-01-26 Stmicroelectronics, Inc. Circuit and method for setting the time duration of a write to a memory cell
US6031757A (en) * 1996-11-22 2000-02-29 Macronix International Co., Ltd. Write protected, non-volatile memory device with user programmable sector lock capability
US6347354B1 (en) 1997-10-10 2002-02-12 Rambus Incorporated Apparatus and method for maximizing information transfers over limited interconnect resources
JP2001159999A (ja) * 1999-12-03 2001-06-12 Mitsubishi Electric Corp 半導体集積回路およびメモリ処理システム
TW460784B (en) * 2000-04-13 2001-10-21 Acer Labs Inc Computer motherboard supporting different types of memories
US6978352B2 (en) * 2001-05-03 2005-12-20 Hewlett-Packard Development Company, L.P. Memory controller emulator for controlling memory devices in a memory system
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
US6597202B1 (en) * 2001-12-28 2003-07-22 Intel Corporation Systems with skew control between clock and data signals
US6981089B2 (en) * 2001-12-31 2005-12-27 Intel Corporation Memory bus termination with memory unit having termination control
US7142461B2 (en) * 2002-11-20 2006-11-28 Micron Technology, Inc. Active termination control though on module register
US7275173B2 (en) * 2003-03-26 2007-09-25 Infineon Technologies Ag Method for measuring and compensating for skews of data transmission lines by compensating for skew by delay elements switched in response to the calculated reative skew
US7194572B2 (en) 2003-08-08 2007-03-20 Intel Corporation Memory system and method to reduce reflection and signal degradation
US7243205B2 (en) * 2003-11-13 2007-07-10 Intel Corporation Buffered memory module with implicit to explicit memory command expansion
US7433992B2 (en) * 2004-11-18 2008-10-07 Intel Corporation Command controlling different operations in different chips
US7996590B2 (en) * 2004-12-30 2011-08-09 Samsung Electronics Co., Ltd. Semiconductor memory module and semiconductor memory system having termination resistor units
JP2006190402A (ja) * 2005-01-07 2006-07-20 Renesas Technology Corp 半導体装置
CN101180607B (zh) * 2005-06-15 2011-08-03 松下电器产业株式会社 处理器
US8244971B2 (en) * 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
KR101303518B1 (ko) * 2005-09-02 2013-09-03 구글 인코포레이티드 Dram 적층 방법 및 장치
TWI323467B (en) * 2005-12-27 2010-04-11 Hynix Semiconductor Inc On-die termination circuit for semiconductor memory apparatus
DE102006043668B4 (de) * 2006-09-18 2009-04-02 Qimonda Ag Steuerbaustein zur Steuerung eines Halbleiterspeicherbausteins eines Halbleiterspeichermoduls
JP2008140220A (ja) * 2006-12-04 2008-06-19 Nec Corp 半導体装置
WO2008079911A1 (en) * 2006-12-21 2008-07-03 Rambus Inc. Dynamic on-die termination of address and command signals
DE102007036990B4 (de) * 2007-08-06 2013-10-10 Qimonda Ag Verfahren zum Betrieb einer Speichervorrichtung, Speichereinrichtung und Speichervorrichtung
US8019919B2 (en) * 2007-09-05 2011-09-13 International Business Machines Corporation Method for enhancing the memory bandwidth available through a memory module
KR100943861B1 (ko) * 2008-06-12 2010-02-24 주식회사 하이닉스반도체 임피던스 매칭된 양방향 멀티 드롭 버스 시스템, 그를이용한 메모리 시스템 및 메모리 모듈
US20100032820A1 (en) 2008-08-06 2010-02-11 Michael Bruennert Stacked Memory Module
US7872936B2 (en) * 2008-09-17 2011-01-18 Qimonda Ag System and method for packaged memory
WO2010080172A1 (en) * 2009-01-12 2010-07-15 Rambus Inc. Clock-forwarding low-power signaling system
US8725983B2 (en) * 2009-01-23 2014-05-13 Cypress Semiconductor Corporation Memory devices and systems including multi-speed access of memory modules
WO2010144624A1 (en) * 2009-06-09 2010-12-16 Google Inc. Programming of dimm termination resistance values
US20100327902A1 (en) * 2009-06-25 2010-12-30 Uniram Technology, Inc. Power saving termination circuits for dram modules
US8762657B2 (en) * 2009-07-28 2014-06-24 Rambus Inc. Method and system for synchronizing address and control signals in threaded memory modules
US8139399B2 (en) * 2009-10-13 2012-03-20 Mosys, Inc. Multiple cycle memory write completion
KR20110051860A (ko) * 2009-11-11 2011-05-18 삼성전자주식회사 전류 소모를 줄이는 온 다이 터미네이션 구조를 갖는 반도체 장치 및 그 터미네이션 방법
KR20110112707A (ko) * 2010-04-07 2011-10-13 삼성전자주식회사 층간 연결 유닛을 갖는 적층 메모리 장치, 이를 포함하는 메모리 시스템, 및 전송선의 지연시간 보상 방법
WO2011159465A2 (en) * 2010-06-17 2011-12-22 Rambus Inc. Balanced on-die termination
US8274308B2 (en) 2010-06-28 2012-09-25 Intel Corporation Method and apparatus for dynamic memory termination
JP5649888B2 (ja) * 2010-09-17 2015-01-07 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
KR20120079682A (ko) * 2011-01-05 2012-07-13 삼성전자주식회사 디램 캐시를 포함하는 메모리 장치 및 이를 포함하는 시스템
US8988102B2 (en) * 2011-02-02 2015-03-24 Rambus Inc. On-die termination
US9098281B2 (en) * 2011-03-09 2015-08-04 Rambus Inc. Power-management for integrated circuits
US8421237B2 (en) * 2011-07-07 2013-04-16 Cisco Technology, Inc. Stacked memory layers having multiple orientations and through-layer interconnects
JP2013090100A (ja) * 2011-10-17 2013-05-13 Elpida Memory Inc 半導体装置
WO2013141921A1 (en) * 2012-03-19 2013-09-26 Rambus Inc. High capacity memory systems
JP6509711B2 (ja) * 2015-10-29 2019-05-08 東芝メモリ株式会社 不揮発性半導体記憶装置及びメモリシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7420867B2 (en) 2003-08-28 2008-09-02 Infineon Technologies Ag Semiconductor memory device and method for operating a semiconductor memory device
US20090204771A1 (en) 2008-02-12 2009-08-13 Isao Kawamoto Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages

Also Published As

Publication number Publication date
US10121528B2 (en) 2018-11-06
US9721641B2 (en) 2017-08-01
KR20150065813A (ko) 2015-06-15
KR20150064172A (ko) 2015-06-10
US10943640B2 (en) 2021-03-09
EP2926342A1 (en) 2015-10-07
US20150317096A1 (en) 2015-11-05
US20190139592A1 (en) 2019-05-09
EP2926342A4 (en) 2016-07-13
EP3651154A1 (en) 2020-05-13
US20150279444A1 (en) 2015-10-01
WO2014085267A1 (en) 2014-06-05
WO2014085268A1 (en) 2014-06-05
CN105283918B (zh) 2018-11-06
KR101781277B1 (ko) 2017-09-22
CN105283918A (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
KR101742892B1 (ko) 다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템
KR102443078B1 (ko) 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법
CN113113063B (zh) 存储器设备、存储器控制器及存储系统
KR20230153986A (ko) 행 해머 완화의 호스트 지원을 위한 리프레시 커맨드 제어
CN109147840B (zh) 用于对行敲击事件进行响应的方法、装置和系统
US8972685B2 (en) Method, apparatus and system for exchanging communications via a command/address bus
US9390785B2 (en) Method, apparatus and system for determining a write recovery time of a memory based on temperature
US20170352406A1 (en) Memory controller-controlled refresh abort
WO2014085266A1 (en) Apparatus, method and system for determining reference voltages for a memory
US9704544B2 (en) Method, apparatus and system to manage implicit pre-charge command signaling

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