KR101742892B1 - Apparatus, method and system for memory device access with a multi-cycle command - Google Patents
Apparatus, method and system for memory device access with a multi-cycle command Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
메모리 디바이스 자원에 액세스하라는 명령의 타이밍을 결정하는 기법들 및 메커니즘들이 개시된다. 일 실시예에서, 다중 사이클 명령이 메모리 제어기로부터 메모리 디바이스로 교환되고, 여기서 다중 사이클 명령은 메모리 디바이스의 뱅크에의 액세스를 나타낸다. 메모리 디바이스의 동작 제약조건을 나타내는 시간 지연 파라미터를 시행하기 위해, 다중 사이클 명령에 기초하여, 하나 이상의 다른 명령들의 타이밍이 제어된다. 다른 실시예에서, 다중 사이클 명령의 마지막 사이클의 시작점을 참조하여 하나 이상의 명령들의 타이밍이 결정된다.Techniques and mechanisms for determining the timing of an instruction to access a memory device resource are disclosed. In one embodiment, multiple cycle instructions are exchanged from a memory controller to a memory device, where multiple cycle instructions indicate access to a bank of memory devices. In order to enforce a time delay parameter indicating an operation constraint of the memory device, the timing of one or more other instructions is controlled based on the multi-cycle instruction. In another embodiment, the timing of one or more instructions is determined with reference to the start of the last cycle of the multiple cycle instruction.
Description
관련 출원Related application
본 출원은 2012년 11월 30일자로 출원된 미국 가특허 출원 제61/731,908호에 기초한 정규 출원으로서, 그 가출원의 우선권의 이익을 주장한다. 가출원 제61/731,908호는 이로써 참조 문헌으로서 포함된다.This application is a full filing date based on U.S. Provisional Patent Application No. 61 / 731,908, filed November 30, 2012, which claims the benefit of the instant application. Provisional application Ser. No. 61 / 731,908 is hereby incorporated by reference.
기술분야Technical field
본 발명은 메모리 디바이스에 관한 것으로서, 보다 상세하게는, 휘발성 메모리 디바이스의 메모리 셀들에 액세스하는 것에 관한 것이다.The present invention relates to a memory device, and more particularly, to accessing memory cells of a volatile memory device.
컴퓨팅 시스템들은 일반적으로 정보를 저장하기 위해 메모리 디바이스들에 의존한다. 이러한 메모리 디바이스들은 2가지 일반 유형들로 나누어질 수 있다. 첫째, 저장된 정보의 정확성을 유지하기 위해 전력을 필요로 하는 휘발성 메모리 디바이스. 둘째, 전력이 차단된 후에도 저장된 정보를 유지하는 비휘발성 메모리 디바이스.Computing systems generally rely on memory devices to store information. These memory devices can be divided into two general types. First, volatile memory devices that require power to maintain the accuracy of stored information. Second, a non-volatile memory device that retains stored information even after power is interrupted.
하나의 통상의 유형의 휘발성 메모리 디바이스는 DRAM(Dynamic Random Access Memory)이다. DRAM 디바이스들은, 특히 SRAM(static random access memory) 디바이스들을 비롯한 다른 메모리 기술들과 비교하여 보다 낮은 비용, 보다 높은 저장 밀도 및 보다 적은 전력 소모를 제공하면서, 일반적으로 (하드 디스크와 같은) 기계적 저장 디바이스들보다 상당히 개선된 성능을 제공한다. 그렇지만, 이 이점들은, 규칙적인 간격으로는 물론, 메모리 셀들로부터 데이터를 판독하기 위해 또는 메모리 셀들에 데이터를 기입하기 위해 각각의 액세스 직전 및 직후의 기간들에서도, DRAM 디바이스를 구성하는 메모리 셀들에 액세스하는 데 다양한 지연들을 야기하는 대가로 얻어진 것이다.One common type of volatile memory device is DRAM (Dynamic Random Access Memory). DRAM devices are commonly referred to as mechanical storage devices (such as hard disks), which provide lower cost, higher storage density, and lower power consumption compared to other memory technologies, particularly static random access memory (SRAM) To-date performance. These advantages, however, are not limited to accessing memory cells that constitute a DRAM device, not only at regular intervals but also for periods of time immediately before and after each access to read data from or to write data to the memory cells. Which resulted in various delays.
DRAM은 일반적으로 각각의 데이터 비트를 집적 회로 내의 개별적인 커패시터에 저장한다. 커패시터들이 전하를 누설하기 때문에, 커패시터 전하가 주기적으로 리프레시되지 않는 한, 정보가 결국 서서히 사라진다. 이 리프레시 요구사항 및 기타 설계 고려사항들로 인해, DRAM 설계자들은 정확성을 유지하기 위해 DRAM 내에서의 동작들에 대해 다양한 타이밍 제약조건들을 부과한다. 하나의 이러한 제약조건은 프리차지(precharge) 요구사항이다. 상세하게는, DRAM 내의 상이한 행[비트 라인(BL)이라고도 함]에 대해 액세스가 요청될 때, "프리차지" 명령을 발행함으로써 현재의 행이 먼저 비활성화되어야만 한다. 프리차지 명령은 감지 증폭기들을 스위치 오프(switch off)시키고 비트 라인들을 하이 논리 레벨(high logic level)과 로우 논리 레벨(low logic level) 사이의 중간인 정합 전압(matching voltage)들로 프리차지시킬 것이다. 특정한 행 프리차지 기간 지연(row precharge time period delay)(tRP라고도 함) 후에, 액세스될 그 다음 행을 활성화시키기 위해 "활성화" 명령이 발행될 수 있다.DRAMs typically store each data bit in a separate capacitor in an integrated circuit. As the capacitors leak charge, the information eventually disappears slowly unless the capacitor charge is periodically refreshed. Because of these refresh requirements and other design considerations, DRAM designers impose various timing constraints on operations within the DRAM to maintain accuracy. One such constraint is a precharge requirement. Specifically, when an access is requested to a different row (also referred to as a bit line BL) in the DRAM, the current row must first be deactivated by issuing a "precharge" The precharge command will switch off the sense amplifiers and precharge the bit lines to matching voltages that are intermediate between a high logic level and a low logic level . After a particular row precharge time period delay (also known as tRP), an "activate" command may be issued to activate the next row to be accessed.
리프레시 동작들, 프리차지 동작들, 활성화 동작들은 물론 다른 유지 동작들은 DRAM 기술을 이용한 결과로서 겪게 되는 다양한 지연들을 부과한다. 이 지연들은 데이터가 DRAM 디바이스들에 기입되거나 그로부터 판독될 수 있는 속도를 제한하는 효과를 가지며, 비록 프로세서와 같은 구성요소들이 장족의 발전을 하여 훨씬 더 빠르게 되었지만, DRAM 기술에 대한 액세스 속도를 증가시키는 데 있어서는 비교적 거의 진보가 이루어지지 않았다.Refresh operations, precharge operations, activation operations as well as other retention operations impose various delays experienced as a result of using DRAM technology. These delays have the effect of limiting the rate at which data can be written to or read from the DRAM devices and increasing the speed of access to the DRAM technology, even though components such as the processor have become much faster due to the long- Relatively little progress has been made.
본 발명의 다양한 실시예들이 첨부 도면들의 도면들에 제한이 아닌 예로서 예시되어 있다.
도 1은 일 실시예에 따른, 다중 사이클 명령(multi-cycle command)을 교환하는 시스템의 요소들을 나타낸 블록도.
도 2는 일 실시예에 따른, 다중 사이클 명령을 처리하는 메모리 디바이스의 요소들을 나타낸 블록도.
도 3은 일 실시예에 따른, 메모리 자원에 액세스하라는 명령을 타이밍 조절(time)하는 방법의 요소들을 나타낸 흐름도.
도 4는 일 실시예에 따른, 메모리 제어기와 메모리 디바이스 사이에서 교환되는 다중 사이클 명령들을 나타낸 표.
도 5a 내지 도 5d는 각자의 실시예들에 따른, 다양한 다중 사이클 명령 교환들의 특징들을 나타낸 타이밍도.
도 6은 일 실시예에 따른, 메모리 자원들에 액세스하는 컴퓨팅 시스템의 요소들을 나타낸 블록도.
도 7은 일 실시예에 따른, 메모리 자원들에 액세스하는 모바일 디바이스의 요소들을 나타낸 블록도.The various embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings.
1 is a block diagram illustrating elements of a system for exchanging multi-cycle commands, according to one embodiment.
2 is a block diagram illustrating elements of a memory device that processes multi-cycle instructions, according to one embodiment.
3 is a flow diagram illustrating elements of a method for timing an instruction to access a memory resource, according to one embodiment.
4 is a table depicting multiple cycle instructions being exchanged between a memory controller and a memory device, according to one embodiment.
Figures 5A-5D are timing diagrams illustrating features of various multi-cycle command exchanges, in accordance with respective embodiments.
6 is a block diagram illustrating elements of a computing system for accessing memory resources, in accordance with one embodiment.
7 is a block diagram illustrating elements of a mobile device accessing memory resources, in accordance with one embodiment.
본 명세서에 논의된 실시예들은 메모리 자원들에 액세스하는 하나 이상의 명령들의 타이밍을 제어하는 기법들 및/또는 메커니즘들을 다양하게 제공한다. 이러한 제어는 메모리 제어기로부터 메모리 디바이스로 교환되는 다른 다중 사이클 명령에 기초할 수 있고, 다중 사이클 명령은 메모리 디바이스의 뱅크에의 액세스를 나타낸다. 메모리 디바이스의 동작 제약조건을 나타내는 시간 지연 파라미터를 시행하기 위해 하나 이상의 다른 명령들의 타이밍이 제어될 수 있다. 일 실시예에서, 다중 사이클 명령의 마지막 사이클의 시작점을 참조하여 하나 이상의 다른 명령들의 타이밍이 결정될 수 있다.The embodiments discussed herein provide a variety of techniques and / or mechanisms for controlling the timing of one or more instructions accessing memory resources. This control may be based on another multi-cycle command that is swapped from the memory controller to the memory device, and the multi-cycle command represents access to the bank of memory devices. The timing of one or more other instructions may be controlled to enforce a time delay parameter that is indicative of an operating constraint of the memory device. In one embodiment, the timing of one or more other instructions may be determined by reference to the starting point of the last cycle of the multiple cycle instruction.
도 1은 일 실시예에 따른, 명령 및 주소 정보를 교환하는 시스템(100)의 요소들을 나타낸 것이다. 시스템(100)은 메모리 제어기(120)에 결합된 메모리 디바이스(110)를 포함할 수 있다 - 예컨대, 메모리 제어기(120)는 시스템(100)에 포함되거나 그에 결합되어 있는 호스트 프로세서(140)에게 메모리 디바이스(110)에의 액세스를 제공하기 위한 것이다.FIG. 1 illustrates elements of
메모리 디바이스(110)는, 예를 들어, 메모리 셀들의 행들을 가지는 각종의 유형들의 메모리 기술 중 임의의 것을 포함할 수 있고, 여기서 데이터는 워드라인 또는 등가물을 통해 액세스가능하다. 하나의 실시예에서, 메모리 디바이스(110)는 DRAM(dynamic random access memory) 기술을 포함한다. 메모리 디바이스(110)는 시스템(100)의 보다 큰 메모리 디바이스(도시 생략) 내의 집적 회로 패키지일 수 있다. 예를 들어, 메모리 디바이스(110)는 DIMM(dual in-line memory module)과 같은 메모리 모듈의 DRAM 디바이스일 수 있다.The memory device 110 may include any of various types of memory technologies, e.g., having rows of memory cells, wherein the data is accessible via a word line or equivalent. In one embodiment, the memory device 110 includes dynamic random access memory (DRAM) technology. The memory device 110 may be an integrated circuit package in a larger memory device (not shown) of the
메모리 디바이스(110)는 하나 이상의 논리적 및/또는 물리적 메모리 그룹들을 나타내는 메모리 자원들(114)을 포함할 수 있다. 하나의 이러한 메모리 그룹화의 한 예는, 예를 들어, 행들 및 열들로 배열된 저장 요소들의 어레이를 포함할 수 있는 메모리 자원들의 뱅크이다. 메모리 디바이스(110)는 메모리 자원들(114)에의 액세스를 적어도 부분적으로 용이하게 하는 액세스 로직(118)을 포함할 수 있다 - 예컨대, 여기서 메모리 제어기(120)로부터의 하나 이상의 명령들을 서비스하기 위해 이러한 액세스가 제공된다. 액세스 로직(118)은 종래의 기법들에 따라 자원 액세스를 제공하는 메모리 디바이스(110)의 로직을 포함하거나 그와 관련하여 동작할 수 있다 - 예컨대, 여기서 검출기 로직(112), 제어 로직(116) 및/또는 액세스 로직(118)의 기능은 본 명세서에 논의된 부가의 기능으로 이러한 종래의 기법들을 보완한다. 제한이 아닌 예시로서, 액세스 로직(118)은 메모리 자원들(114) 내의 적절한 메모리 장소에 대한 액세스 명령어를 디코딩하는 데 사용되는 열 로직(column logic) 및/또는 행 로직(row logic)(도시 생략)을 포함하거나 그에 결합할 수 있다.The memory device 110 may include memory resources 114 that represent one or more logical and / or physical memory groups. One example of one such memory grouping is a bank of memory resources that may include, for example, an array of storage elements arranged in rows and columns. The memory device 110 may include access logic 118 that at least partially facilitates access to memory resources 114-for example, to service one or more instructions from the memory controller 120, Access is provided. Access logic 118 may include or operate with the logic of memory device 110 that provides resource access in accordance with conventional techniques-for example,
메모리 제어기(120)는, 예시적인 명령/주소(command/address)(CA) 버스(165)로 나타낸 바와 같이, 하나 이상의 버스들을 통해 명령들(commands) 또는 명령어들(instructions)을 메모리 디바이스(110)로 송신할 수 있다. 이러한 명령들이 메모리 디바이스(110) - 예컨대, 메모리 내에서의 각종의 액세스 기능들을 수행하기 위한 명령 정보를 디코딩하는 그리고/또는 열 로직 및/또는 행 로직으로 주소 정보를 디코딩하는 메모리 디바이스(110)를 포함함 - 에 의해 해석될 수 있다. 예를 들어, 이러한 로직은 열 주소 스트로브 또는 신호(CAS) 및 행 주소 스트로브 또는 신호(RAS)의 조합으로 메모리 자원들(114) 내의 특정의 장소에 액세스할 수 있다. 메모리의 행들은 기지의 메모리 아키텍처들 또는 그의 파생물들에 따라 구현될 수 있다. 간략히 말하면, 메모리 자원들(114)의 행은, 메모리(110)의 열 로직에 의해 발생된 CAS에 의해 식별되는, 메모리 셀들의 하나 이상의 어드레싱가능 열들을 포함할 수 있다. 행들 각각은 메모리(110)의 행 로직에 의해 발생된 RAS를 통해 다양하게 어드레싱가능할 수 있다.The memory controller 120 may store instructions or instructions via one or more buses to the memory device 110 (not shown), as indicated by an exemplary command / address (CA) ). ≪ / RTI > These instructions may be stored in memory device 110 - a memory device 110 that decodes instruction information to perform various access functions in memory, and / or decodes address information in thermal logic and / or row logic, for example. And can be interpreted by. For example, such logic may access a particular location within memory resources 114 with a combination of column address strobe or signal (CAS) and row address strobe or signal (RAS). The rows of memory may be implemented according to known memory architectures or derivatives thereof. Briefly, the rows of memory resources 114 may include one or more addressable columns of memory cells, identified by the CAS generated by the thermal logic of memory 110. [ Each of the rows may be variously addressable via the RAS generated by the row logic of the memory 110.
메모리 자원들(114)에 대한 액세스는 메모리(110)의 I/O 회로(도시 생략)에 결합된 데이터 버스를 통해 교환된 데이터를 기입하기 위한 것 - 및/또는 교환될 데이터를 판독하기 위한 것 - 일 수 있다. 예를 들어, N개의 데이터 버스 신호 라인들 DQ(1:N)(160)는 I/O 회로(112)를 메모리 제어기(120) 및/또는 하나 이상의 다른 메모리 디바이스들(도시 생략)에 결합시킬 수 있다.Access to memory resources 114 is for writing data exchanged over a data bus coupled to I / O circuitry (not shown) of memory 110 - and / or for reading data to be exchanged - can be. For example, N data bus signal lines DQ (1: N) 160 may couple I /
일 실시예에서, 메모리 제어기(120)는 CA(165)를 통해 명령들을 송신하는 명령 로직(135) - 예컨대, 각종의 하드웨어 로직 중 임의의 것을 포함하고 및/또는 소프트웨어 로직을 실행함 - 을 포함한다. 명령 로직(135)은 하나 이상의 종래의 기법들에 따라 송신된 명령들을 발생시키거나, 전송하거나, 그렇지 않으면 결정하는 동작들을 수행하는 메모리 제어기의 로직을 포함하거나 그에 결합할 수 있다. 제한이 아닌 예시로서, 명령 로직(135)은, 예를 들어, DDR3 SDRAM JEDEC Standard JESD79-3C(2008년 4월) 등과 같은 DDR(dual data rate) 규격의 요구사항들 중 일부 또는 전부에 부합하는 종래의 명령/주소 시그널링 기능을 다른 방식으로 보완할 수 있다. 예를 들어, 메모리 제어기(120)는 명령 로직(135)에 의한 명령의 어써션(assertion)(예컨대, 송신)에 대한 타이밍을 제어하도록 구성된 회로를 포함하는 그리고/또는 소프트웨어를 실행하는 타이머 로직(130)을 포함할 수 있다. 타이머 로직(130)은 메모리(110)의 동작을 위해 필요한 하나 이상의 시간 지연 파라미터들을 시행하기 위해 이러한 타이밍을 제어할 수 있다.In one embodiment, memory controller 120 includes instruction logic 135 for sending instructions via CA 165 - including, for example, any of various hardware logic and / or executing software logic do. The instruction logic 135 may include or be coupled to logic in the memory controller to perform operations to generate, transmit, or otherwise determine instructions transmitted in accordance with one or more conventional techniques. By way of example, and not limitation, the command logic 135 may be implemented in accordance with some or all of the requirements of the dual data rate (DDR) standard, such as, for example, the DDR3 SDRAM JEDEC Standard JESD79-3C Conventional command / address signaling functions can be supplemented in other ways. For example, memory controller 120 may include circuitry configured to control timing for an assertion (e.g., transmission) of an instruction by instruction logic 135 and / or timer logic 130 executing software ). Timer logic 130 may control this timing to enforce one or more time delay parameters needed for operation of memory 110. [
일 실시예에서, 명령 로직(135)은 메모리(110) 내의 다양한 행들의 상태에 관한 데이터를 위한 저장소(도시 생략)를 포함하고, 유지하며, 그리고/또는 그렇지 않으면 그에 액세스한다. 이러한 데이터는 뱅크들 중 어느 것이 열린 행(open row)들을 가지는지의 표시를 제공할 수 있다 - 예컨대, 이러한 데이터는 그 열린 행들의 주소들을 포함한다. 명령 로직(135)[및/또는 메모리 제어기(120)의 다른 로직]은 메모리 디바이스(110)의 주어진 뱅크에서의 액세스될 행이 이미 열려 있는지 여부, 그리고 열려 있지 않은 경우, 동일한 뱅크에서의 상이한 행이 이미 열려 있는지 여부를 결정하기 위해 이러한 데이터에 액세스할 수 있다. 액세스될 행이 이미 열려 있는 것으로 결정되는 경우, 행 활성화 명령의 전송 없이 액세스가 수행될 수 있다. 그렇지만, 액세스될 행이 아직 열려 있지 않은 것으로 결정되는 경우, 명령 로직(135)은 명령이 목표로 하는 뱅크가 현재 열려 있는 행을 포함하는지를 명시하는 값을 포함하는 활성화 명령(예컨대, 행 활성화 명령)을 메모리 디바이스(110)로 전송할 수 있다. 이러한 값(본 명세서에서 힌트 정보라고 함)은 - 예컨대, 메모리 디바이스(110)가 이러한 프리차지 동작을 수행하라는 임의의 명시적 명령을 수신하는 것과 독립적으로 - 메모리 디바이스(110)가 현재 열려 있는 행을 닫기 위해 프리차지 동작을 수행하라는 그 자신의 명령을 내부적으로 발생시켜야 한다는 것을 메모리 디바이스(110)에 알려줄 수 있다.In one embodiment, the instruction logic 135 includes, maintains, and / or otherwise accesses a store (not shown) for data relating to the state of the various rows in the memory 110. This data may provide an indication of which of the banks have open rows-for example, this data includes the addresses of the open rows. The command logic 135 (and / or other logic of the memory controller 120) determines whether a row to be accessed in a given bank of memory devices 110 is already open and, if not open, Can access this data to determine if it is already open. If it is determined that the row to be accessed is already open, the access can be performed without sending the row activation command. However, if it is determined that the row to be accessed is not yet open, then the command logic 135 may generate an activation command (e.g., a row activation command) that includes a value that specifies whether the target bank includes the currently opened row, To the memory device (110). This value (referred to herein as hint information) may be stored in memory device 110, for example, independently of the memory device 110 receiving any explicit command to perform this precharge operation, It may inform the memory device 110 that it must internally generate its own command to perform the precharge operation to close the precharge operation.
다른 대안으로서 또는 그에 부가하여, 메모리 디바이스(110)는 CA(165)를 통해 수신된 명령의 일부 또는 전부를 평가하는 - 예컨대, 명령이 메모리 디바이스(110)에 의해 내부적으로 발생되어야 하는 것으로 결정하는 - 검출기 로직(112)을 포함할 수 있다. 제한이 아닌 예시로서, 검출기 로직(112)은 명령이 현재 열려 있는 페이지를 포함하는 뱅크를 목표로 하고 있는지를 결정할 수 있다. 이러한 뱅크를 목표하는 것은 "페이지 미스 이벤트(page miss event)"[또는 간략함을 위해, 단순히 "페이지 미스(page miss)"]라고 한다. 검출기 로직(112)이 CA(165)를 통해 수신되는 명령에 대응하는 페이지 미스 이벤트를 식별한 것에 응답하여, 제어 로직(116)은 명령이 목표로 하는 메모리 자원들에 액세스할 준비를 하는 동작들을 수행할 수 있다. 본 명세서에서 논의되는 바와 같이, 이러한 동작들은 메모리 디바이스(110)가 메모리 제어기(120)로부터 수신된 하나 이상의 명령들 대신에 기능하게 될 시그널링을 내부적으로 발생시키는 것을 포함할 수 있다. 예를 들어, 메모리(110)는 하나 이상의 점들에서 프리차지 명령과 기능적으로 동등한 신호들을 액세스 로직(118)에 제공할 수 있다. 그에 따라, 액세스 로직(118)은, 메모리(110)가 그러한 프리차지 동작들을 명시하는 임의의 명시적 명령을 수신하는 것과 독립적으로, 메모리 자원들(114)의 행(또는 행들)을 프리차지시키는 동작들을 수행할 수 있다.Alternatively or additionally, the memory device 110 may evaluate some or all of the instructions received via the
도 2는 일 실시예에 따른, 메모리 제어기로부터 수신된 다중 사이클 명령을 처리하는 메모리 디바이스(200)의 요소들을 나타낸 것이다. 메모리 디바이스(200)는 메모리 제어기(120)와 같은 메모리 제어기와 협력하여 동작할 수 있다. 예를 들어, 메모리 디바이스(200)는 메모리 디바이스(110)의 하나 이상의 특징들을 포함할 수 있다. 특정 실시예들이 이와 관련하여 제한되지 않지만, 메모리 디바이스(200)는 LPDDR 4 및/또는 더블 데이터 레이트 표준 메모리 동작을 위한 각종의 표준들 중 임의의 것을 지원할 수 있다.FIG. 2 illustrates elements of a memory device 200 that processes multiple cycle instructions received from a memory controller, according to one embodiment. The memory device 200 may operate in conjunction with a memory controller, such as the memory controller 120. For example, the memory device 200 may include one or more features of the memory device 110. Although certain embodiments are not limited in this regard, the memory device 200 may support any of a variety of standards for LPDDR 4 and / or double data rate standard memory operation.
일 실시예에서, 메모리 디바이스(200)는, 예를 들어, 액세스 로직(118) 및 메모리 자원들(114)의 각자의 기능의 일부 또는 전부를 제공하는 액세스 로직(260) 및 메모리 자원들(270)을 포함한다. 메모리 디바이스(200)는 메모리 디바이스(200)를 명령 주소 버스(220), 데이터 버스(225), 행 주소 스트로브 신호 라인(RAS)(224), 열 주소 스트로브 신호 라인(CAS)(226)의 일부 또는 전부에 결합시키는 입출력(I/O)(210)을 추가로 포함할 수 있다.In one embodiment, memory device 200 includes
메모리 디바이스(200)는, 예를 들어, 메모리 제어기(도시 생략)가 CA 버스(220)를 통해 송신하는 명령 정보 및/또는 주소 정보를 I/O(210)를 통해 수신할 수 있다. 이러한 명령/주소 정보는 메모리 자원들(270)의 복수의 뱅크들(272, ..., 274)의 일부 또는 전부에의 액세스를 용이하게 하기 위해 클럭 신호(예컨대, CA 버스 클럭 신호)의 복수의 사이클들에 걸쳐 송신될 수 있다. 제한이 아닌 예시로서, 이러한 명령/주소 정보는 메모리 디바이스(200)를 뱅크(272)의 하나의 행에의 액세스를 제공하는 상태로부터, 예를 들어, 뱅크(272)의 다른 행, 뱅크(274)의 하나의 행, 또는 기타에의 액세스를 제공하는 다른 상태로 천이시키는 명령들을 포함할 수 있다. 이러한 천이는 뱅크(272)의 하나의 행을 프리차지시키는 것 및 뱅크(272)의 다른 행의 활성화와 뱅크(272)의 다른 행의 리프레시 중 하나를 수행하는 것을 포함할 수 있다. 이러한 뱅크들의 활성화는 데이터 버스(222)를 통해 교환된 데이터의 기입(및/또는 교환될 데이터의 판독)을 수행할 준비 과정에 있을 수 있다.The memory device 200 may receive, via the I /
일 실시예에서, 검출기 로직(230)은 CA 버스(220)를 통해 수신된 다중 사이클 명령의 일부 또는 전부를 수신하거나 그렇지 않으면 검출하고, 그에 기초하여, 다중 사이클 명령과 연관된 페이지 미스 이벤트를 식별한다. 페이지 미스 이벤트의 이러한 식별은 뱅크가 현재 열려 있는 행을 포함하는지를 명시하는 힌트 정보를 포함하는 다중 사이클 명령에 기초할 수 있다.In one embodiment, the
검출된 페이지 미스 이벤트에 응답하여, 제어 로직(240)은 액세스 로직(260)으로 송신할 프리차지 명령(250a)을 내부적으로 발생시킬 수 있다. 다른 대안으로서 또는 그에 부가하여, 명령 로직(240)은 CA 버스(220)를 통해 수신된 다중 사이클 명령에 의해 표시된 활성화 동작 또는 리프레시 동작을 수행할 명령(250b)을 발생시킬 수 있다. 하나 이상의 사전 결정된 시간 지연 파라미터들을 시행하기 위해 명령들(250a, 250b) 중 어느 하나 또는 둘 다의 어써션이 명령 로직(240)에 의해 타이밍 조절될 수 있다.In response to the detected page miss event, the control logic 240 may internally generate a
도 3은 일 실시예에 따른, 메모리 자원에 액세스하라는 명령의 어써션을 결정하는 방법(300)의 요소들을 나타낸 것이다. 하나의 실시예에서, 방법(300)이 메모리(100)의 특징들 중 일부 또는 전부를 포함하는 것과 같은 메모리 디바이스에 의해 수행된다. 예를 들어, 방법(300)이 메모리 디바이스(200)에 의해 수행될 수 있다. 다른 실시예에서, 메모리 디바이스가 메모리 제어기(120)의 기능의 일부 또는 전부를 제공하는 것과 같은 메모리 제어기에 의해 수행된다.FIG. 3 illustrates elements of a
방법(300)은, 310에서, 메모리 디바이스의 제1 뱅크에의 액세스를 나타내는 제1 다중 사이클 명령의 교환을 검출하는 단계를 포함할 수 있다. 제1 다중 사이클 명령이 메모리 제어기로부터 메모리 디바이스로 교환될 수 있다. 교환이 310에서 메모리 디바이스에 의해 검출될 수 있다 - 예컨대, 제1 다중 사이클 명령은 활성화 명령 및 리프레시 명령 중 하나이다. 다른 대안으로서, 310에서 검출하는 단계는 타이머 로직(130) 또는 메모리 제어기의 유사한 로직이 메모리 제어기가 제1 다중 사이클 명령을 메모리 디바이스로 송신했거나, 송신할 예정이거나, 송신 중이라는 것을 검출하는 단계를 포함할 수 있다.The
310에서 검출된 교환에 기초하여, 방법(300)은, 320에서, 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션을 타이밍 조절하는 단계를 추가로 수행할 수 있다. 제2 명령의 어써션은 CA 버스 클럭 신호와 같은 클럭 신호의 하나 이상의 사이클들 동안 일어날 수 있다. 일 실시예에서, 320에서 타이밍 조절하는 단계는 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간(a period of time) 동안 또는 그의 만료 후에 제2 명령의 마지막 샘플링이 시작되도록 제2 명령의 마지막 사이클을 타이밍 조절하는 단계를 포함하고, 여기서 그 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같다. 예를 들어, 제2 명령의 마지막 샘플링(예를 들어, 제2 명령의 첫번째 샘플링일 수도 있음)이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 제2 명령의 마지막 사이클이 타이밍 조절될 수 있다. 제한이 아닌 예시로서, 제2 명령이 다중 사이클 명령일 수 있다 - 예컨대, 여기서 제1 다중 사이클 명령의 사이클들의 총수는 제2 명령의 사이클들의 총수와 상이하다.Based on the swap detected at 310, the
320에서 어써션을 타이밍 조절하는 단계는 제1 다중 사이클 명령의 마지막 사이클의 시작점의 시간을 나타내는 기준값을 식별하는 단계를 포함할 수 있다. 제2 명령의 어써션에 대한 시작 시간이 이어서, 사전 정의된 행 프리차지 시간 지연 파라미터와 마지막 사이클 이외의 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 기준 시간 값에 가산함으로써, 결정될 수 있다.Timing adjustment of the assertion at 320 may include identifying a reference value indicative of the time of the start of the last cycle of the first multi-cycle instruction. The start time for the assertion of the second instruction may then be determined by adding the difference between the predefined row precharge time delay parameter and the duration of all cycles of the second instruction other than the last cycle to the reference time value.
310에서 검출하는 단계가 메모리 디바이스에서 수행되는 일 실시예에서, 방법(300)은 - 예컨대, 메모리 제어기가 명령을 메모리 디바이스로 명시적으로 송신하는 것과 독립적으로 - 메모리 디바이스가 이러한 명령을 내부적으로 발생시키기 위한 다른 동작들(도시 생략)을 수행할 수 있다. 예를 들어, 310에서 교환을 검출한 것에 응답하여, 메모리 디바이스는 제2 명령보다 앞서 프리차지 명령을 발생시킬 수 있다. 이러한 프리차지 명령은, 예를 들어, 제1 다중 사이클 명령의 힌트 값 - 힌트 값은 제1 뱅크가 현재 열려 있는 행을 포함하는지를 명시함 - 에 응답하여 발생될 수 있다. 메모리 디바이스는, 프리차지 명령의 마지막 샘플링(예를 들어, 첫번째 샘플링일 수도 있음)이 제1 다중 사이클 명령의 마지막 사이클의 시작점에서 시작되도록, 이러한 프리차지 명령의 어써션을 타이밍 조절할 수 있다.In one embodiment, where the step of detecting at 310 is performed in a memory device, the
310에서 검출하는 단계가 메모리 제어기에서 수행되는 일 실시예에서, 방법(300)의 다른 동작들(도시 생략)은 제2 명령 후에 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하는 단계를 포함할 수 있다. 이와 같이 타이밍 조절하는 단계는, 예를 들어, 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 제2 명령의 마지막 사이클의 시작점에서 시작되는 일정 기간 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 단계를 포함할 수 있다. 예를 들어, 다중 사이클 열 주소 스트로브 신호의 마지막 사이클이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 타이밍 조절될 수 있다. 이 기간은, 예를 들어, tRCD 시간 지연 파라미터와 같을 수 있다. 종래의 DRAM 아키텍처들에서, tRCD 파라미터는 행 주소 스트로브 신호의 어써션과 관련 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시한다.In one embodiment where the step of detecting at 310 is performed in a memory controller, other operations (not shown) of the
도 4는 일 실시예에 따른, 메모리 제어기와 메모리 디바이스 사이에서 교환되는 명령들에 대한 진리표의 일 실시예이다. 명령 진리표(400)는 다중 사이클 명령들을 포함하는 진리표의 하나의 예를 나타낸다. 본 명세서에서 사용되는 바와 같이, "다중 사이클 명령"은 이러한 교환을 조절하는 클럭 신호의 복수의 사이클들 동안 교환되는 명령을 말한다. 예를 들어, 다중 사이클 명령의 상이한 부분들 각각이 이러한 복수의 사이클들의 상이한 각자의 사이클 동안 송신될 수 있다.4 is an embodiment of a truth table for instructions exchanged between a memory controller and a memory device, according to one embodiment. The command truth table 400 represents one example of a truth table that includes multiple cycle commands. As used herein, a "multiple cycle command" refers to a command that is exchanged during a plurality of cycles of a clock signal to control such an exchange. For example, each of the different portions of a multi-cycle instruction may be transmitted during different ones of these multiple cycles.
표(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)" 상태를 나타낸다.In table 400, the column on the left identifies supported synchronous dynamic random access memory (SDRAM) instructions. The columns on the right identify the values of the different signals that specify the identified command. Of particular note in table 400 are the 4-cycle activation command, the 2-cycle precharge command, and the 2 refresh commands, each bank and every bank, each of which is a 2-cycle. The individual instructions include MA # bits indicating mode register address information in table 400, OP # bits indicating opcode information for mode register operation, BA # bits indicating bank address information, R # bits, C # bits representing column address information, and AB bits indicating whether the instruction is applied to all banks. The "X" values in the table 400 represent "Do not Care" states that do not need to be driven to any valid logic state. Alternatively, the "V" values in table 400 represent "Do not Care" states that need to be driven to some valid logic state.
도 5a 내지 도 5d는 본 명세서에 논의된 특징들 중 일부 또는 전부를 포함하는, 상이한 실시예들에 따른, 명령 신호 교환들의 특징들을 다양하게 나타낸 것이다. 도 5a 내지 도 5d에 나타낸 예시적인 실시예들에서는, 명령들의 샘플링(예컨대, 다중 사이클 명령들의 상이한 사이클들의 각자의 샘플링을 포함함)이 명령-주소(command-address)(CA) 버스의 상승 엣지(rising edge)에서 일어난다. 그렇지만, 특정한 실시예들이 이와 관련하여 제한되지 않는다.Figures 5A-D are various representations of the features of the command signal exchanges, in accordance with different embodiments, including some or all of the features discussed herein. In the exemplary embodiments shown in Figures 5A-5D, sampling of instructions (e.g., including the sampling of each of the different cycles of multiple cycle instructions) occurs at the rising edge of a command-address (CA) bus (rising edge). However, the specific embodiments are not limited in this regard.
도 5a는 일 실시예에 따른, 메모리 자원들에 액세스하라는 명령들의 타이밍을 나타낸 타이밍도(500)이다. 타이밍도(500)는, 예를 들어, 시스템(100)에서 수행되는 교환들 및 동작들을 나타낼 수 있다. 타이밍도(500)는 명령 주소 버스를 통해 메모리 제어기로부터 메모리(514)로 송신되는 CA 교환(512)을 나타낸다. 타이밍도(500)에 나타낸 예시적인 실시예에서, 명령 주소 버스를 통한 교환들의 타이밍이 CA 버스 클럭(510)에 의해 조절되거나 그렇지 않으면 그에 대응한다. 타이밍도(500)는 CA 교환(512)에 응답하여 메모리(514)의 동작들을 추가로 나타내고 있다.5A is a timing diagram 500 illustrating the timing of instructions to access memory resources, in accordance with one embodiment. The timing diagram 500 may, for example, represent exchanges and operations performed in the
일 실시예에서, CA 교환(512)은 페이지 미스 이벤트를 나타내는 힌트 값을 포함하는 다중 사이클 활성화(ACT) 명령을 포함한다. 예를 들어, 힌트 값은 ACT 명령이 목표로 하는 뱅크가 현재 열려 있는 행을 포함한다는 것을 메모리 디바이스에 명시할 수 있다. CA 교환(512)의 ACT 명령에 응답하여, 메모리(514)는 힌트 값이 나타내는 현재 열려 있는 행을 프리차지하고 닫기 위해 프리차지 명령 i_PRE를 내부적으로 발생시킬 수 있다. 이어서, 메모리(514)는 CA 교환(512)의 ACT 명령이 나타내는 활성화 동작을 수행하기 위해 활성화 명령 i_ACT를 발생시킬 수 있다.In one embodiment, the
일 실시예에서, 메모리(514)는 프리차지와 관련 행 활성화 동작 사이의 요구된 지연을 명시하는 시간 지연 파라미터 tRP를 시행하기 위해 i_PRE를 발생시키는 것 및/또는 i_ACT를 발생시키는 것을 타이밍 조절한다. 제한이 아닌 예시로서, 메모리(514)는, CA 교환(512)의 ACT 명령의 마지막 사이클의 시작점 이후에, i_ACT의 마지막 사이클(이 예에서, i_ACT의 유일한 사이클임)의 샘플링이 tRP와 같은 기간의 만료보다 더 빠르지 않도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다. 그에 부가하여 또는 다른 대안으로서, 메모리(514)는 i_PRE의 마지막 사이클(이 예에서, i_PRE의 유일한 사이클임)의 시작점이 CA 교환(512)의 ACT 명령의 마지막 사이클의 시작점과 일치하도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다.In one embodiment, the memory 514 timing controls to generate i_PRE and / or generate i_ACT to enforce a time delay parameter tRP that specifies the required delay between precharge and associated row activation operations. As an example and not by way of limitation, the memory 514 may be configured such that after the start of the last cycle of the ACT instruction of the
도 5b는 일 실시예에 따른, 메모리 자원들에 액세스하라는 명령들의 타이밍을 나타낸 타이밍도(520)이다. 타이밍도(520)는, 예를 들어, 시스템(100)에서 수행되는 교환들 및 동작들을 나타낼 수 있다. 타이밍도(520)는 명령 주소 버스를 통해 메모리 제어기로부터 메모리(534)로 송신되는 CA 교환(532)을 나타낸다. 타이밍도(520)에 나타낸 예시적인 실시예에서, 명령 주소 버스를 통한 교환들의 타이밍이 CA 버스 클럭(530)에 의해 조절되거나 그렇지 않으면 그에 대응한다. 타이밍도(520)는 CA 교환(532)에 응답하여 메모리(534)의 동작들을 추가로 나타내고 있다.5B is a timing diagram 520 illustrating the timing of instructions to access memory resources, in accordance with one embodiment. The timing diagram 520 may represent, for example, exchanges and operations performed in the
타이밍도(520)는 어떤 점들에서 타이밍도(500)와 유사하고, 주목할 만한 차이점은 페이지 미스 이벤트를 나타내는 힌트 값이 CA 교환(532)의 다중 사이클 리프레시(REF) 명령에 포함되어 있다는 것이다. CA 교환(532)의 REF 명령에 응답하여, 메모리(534)는 - 예컨대, CA 교환(532)의 임의의 명시적 프리차지 명령과 독립적으로 - 프리차지 명령 i_PRE를 내부적으로 발생시킬 수 있다. 이어서, 메모리(534)는 CA 교환(532)의 REF 명령이 나타내는 리프레시 동작을 수행하기 위해 리프레시 명령 i_REF를 발생시킬 수 있다.The timing diagram 520 is similar to the timing diagram 500 at some points and a notable difference is that a hint value indicative of a page miss event is included in the multiple cycle refresh (REF) command of the
메모리(514)와 유사하게, 메모리(534)는 파라미터 tRP를 시행하기 위해 i_PRE를 발생시키는 것 및/또는 i_REF를 발생시키는 것을 타이밍 조절할 수 있다. 제한이 아닌 예시로서, 메모리(534)는 i_REF의 마지막 사이클의 샘플링이 CA 교환(532)의 REF 명령의 마지막 사이클로 시작하는 기간(tRP와 같음)의 만료보다 더 빠르지 않도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다. 그에 부가하여 또는 다른 대안으로서, 메모리(534)는 i_PRE의 마지막 사이클의 샘플링이 CA 교환(532)의 REF 명령의 마지막 사이클의 시작점과 일치하도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다.Similar to memory 514, memory 534 may timing to generate i_PRE and / or generate i_REF to enforce the parameter tRP. By way of example, and not limitation, memory 534 may perform timing control operations to ensure that sampling of the last cycle of i_REF is not faster than expiration of a period (equal to tRP) beginning with the last cycle of the REF instruction of
타이밍도(520)는 다른 실시예에 따른 메모리 제어기에 의한 tRP 파라미터의 시행을 추가로 나타내고 있다. 보다 상세하게는, 타이밍도(520)는 메모리 제어기로부터 메모리 디바이스로의 2개의 다중 사이클 명령들의 CA 교환(536)을 추가로 나타내고 있다. 단지 비교를 위해, CA 교환(536)이 CA 교환(532)과 일치하는 것으로 나타내어져 있지만, 특정한 실시예들이 이와 관련하여 제한되지 않는다. 예를 들어, CA 교환(536)은 CA 교환(532)에 대한 것과 상이한 메모리 제어기에 의해 교환될 수 있거나, CA 교환(532)의 보다 늦은(또는 보다 빠른) 부분일 수 있다.Timing diagram 520 further illustrates the enforcement of tRP parameters by the memory controller according to another embodiment. More specifically, timing diagram 520 further illustrates a CA exchange 536 of two multi-cycle instructions from the memory controller to the memory device. For purposes of comparison only, although CA exchange 536 is shown to be consistent with
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에 도시된 바와 같이, 상이한 길이의 다중 사이클 명령들을 고려할 때 이 구별이 보다 명백하게 된다.The CA exchange 536 includes a subsequent REF instruction as well as one of the per-bank precharge command PRE and all-bank precharge PRE_all. In order to enforce the tRP delay parameter for these instructions, the memory controller may determine that the last sampling of the REF instruction is more expiratory than the expiration of the period (same as tRP) beginning with the last cycle of the PRE (or PRE_all) To avoid being too fast, it may include functions such as timer logic 130. This timing control can be determined with reference to the starting point of the last cycle of the PRE (or PRE_all) instruction, as opposed to being determined with reference to the start point of the first cycle of the PRE (or PRE_all) instruction. For example, as shown in FIG. 5C, this distinction becomes more apparent when considering multi-cycle instructions of different lengths.
도 5c는 일 실시예에 따른, 메모리 자원들에 액세스하라는 명령들의 타이밍을 나타낸 타이밍도(540)이다. 타이밍도(540)는, 예를 들어, 시스템(100)에서 수행되는 교환들 및 동작들을 나타낼 수 있다. 타이밍도(540)는 명령 주소 버스를 통해 메모리 제어기로부터 메모리로 송신되는 CA 교환(552)을 나타낸다. CA 교환(552)의 타이밍은 CA 버스 클럭(550)에 의해 조절되거나 그렇지 않으면 그에 대응할 수 있다.FIG. 5C is a timing diagram 540 illustrating the timing of instructions to access memory resources, in accordance with one embodiment. Timing diagram 540 may, for example, represent exchanges and operations performed in
CA 교환(552)은 PRE 및 후속하는 ACT 명령을 포함한다. 이러한 명령들에 대해 tRP1 지연 파라미터를 시행하기 위해, 메모리 제어기는 ACT 명령의 마지막 사이클의 샘플링이 CA 교환(552)의 PRE 명령의 마지막 사이클의 샘플링으로 시작하는 기간(tRP1과 같음)의 만료보다 더 빠르지 않도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다.CA exchange 552 includes PRE and subsequent ACT commands. To enforce the tRP1 delay parameter for these instructions, the memory controller determines that the sampling of the last cycle of the ACT instruction is greater than the expiration of the period (same as tRP1) beginning with the sampling of the last cycle of the PRE instruction of the CA swap 552 It is possible to perform timing control operations in order not to be fast.
특히 주목할 만한 점은, 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 명령의 각자의 시작점들을 참조하여 시행된다.Particularly noteworthy is that the time difference (t6 - t0) between the respective starting points of the PRE and ACT commands is less than tRP1. Accordingly, using the starting points of these instructions to adjust the timing to enforce the tRP1 requirement by referring to the respective starting points of the PRE and ACT commands requires that the ACT instruction should only be started at time t7 of the timing diagram 540 something to do. Alternatively, the embodiment illustrated in FIG. 5C allows the ACT instruction to start at t5. An example of an alternative approach is shown for comparison with the
도 5d는 일 실시예에 따른, 메모리 자원들에 액세스하라는 명령들의 타이밍을 나타낸 타이밍도(560)이다. 타이밍도(560)는, 예를 들어, 시스템(100)에서 수행되는 교환들 및 동작들을 나타낼 수 있다. 타이밍도(560)는 명령 주소 버스를 통해 메모리 제어기로부터 메모리로 송신되는 CA 교환(572)을 나타낸다. CA 교환(572)의 타이밍은 CA 버스 클럭(570)에 의해 조절되거나 그렇지 않으면 그에 대응할 수 있다.5D is a timing diagram 560 illustrating the timing of instructions to access memory resources, in accordance with one embodiment. Timing diagram 560 may represent, for example, exchanges and operations performed in
CA 교환(572)은 ACT 명령 및 후속하는 CAS(command address strobe) 신호를 포함한다. 메모리 디바이스의 동작이 행 활성화 명령과 관련 열 주소 스트로브 사이의 최소 시간을 명시하는 지연 파라미터 tRCD1에 의해 제약되거나 그렇지 않으면 그에 의해 특징지워질 수 있다. CA 교환(572)의 ACT 명령 및 CAS 신호에 대해 tRCD1 지연 파라미터를 시행하기 위해, 메모리 제어기는 ACT 명령의 마지막 사이클의 샘플링이 CA 교환(572)의 CAS 신호의 마지막 사이클의 샘플링으로 시작하는 기간(tRCD1과 같음)의 만료보다 더 빠르지 않도록 하기 위해 타이밍 제어 동작들을 수행할 수 있다. 단지 비교를 위해, 타이밍도(560)는 또한 유사한 tRCD 지연 파라미터를 시행하기 위한 종래의 LPDDR3 기법들에 따른 CA 교환(574)의 타이밍을 나타내고 있다.CA exchange 572 includes an ACT command and a subsequent command address strobe (CAS) signal. The operation of the memory device may be constrained or otherwise characterized by a delay parameter tRCD1 that specifies the minimum time between the row activation command and the associated column address strobe. In order to enforce the tRCD1 delay parameter for the ACT command and the CAS signal of the CA exchange 572, the memory controller determines whether the sampling of the last cycle of the ACT instruction begins with the sampling of the last cycle of the CAS signal of CA exchange 572 lt; / RTI > such as tRCD1). < RTI ID = 0.0 > For purposes of comparison only, timing diagram 560 also illustrates the timing of CA exchange 574 in accordance with conventional LPDDR3 techniques for implementing similar tRCD delay parameters.
도 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)들, 또는 이와 유사한 것, 또는 이러한 디바이스들의 조합일 수 있거나 그를 포함할 수 있다.6 is a block diagram of one embodiment of a computing system in which memory accesses may be implemented.
메모리 서브시스템(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)에 의해 실행된다.The
메모리 서브시스템(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), 또는 기타 유선 또는 무선 표준 기반 또는 독점적 인터페이스들을 포함할 수 있다.The
저장소(660)는 하나 이상의 자기, 고상(solid state), 또는 광 기반 디스크들, 또는 그 조합과 같은 대량의 데이터를 비휘발적 방식으로 저장하는 임의의 종래의 매체일 수 있거나 이를 포함할 수 있다. 저장소(660)는 코드 또는 명령어들 및 데이터(662)를 영속적 상태로 유지한다[즉, 시스템(600)에 대한 전력의 중단에도 불구하고 값이 유지됨]. 저장소(660)가 일반적으로 "메모리"인 것으로 생각될 수 있지만, 메모리(630)는 프로세서(620)에 명령어들을 제공하는 실행 또는 동작 메모리이다. 저장소(660)가 비휘발성인 반면, 메모리(630)는 휘발성 메모리[즉, 시스템(600)에 대한 전력이 중단되는 경우, 데이터의 값 또는 상태가 불확정적임]를 포함할 수 있다.The storage 660 can be or include any conventional media for storing large amounts of data in a non-volatile manner, such as one or more magnetic, solid state, or optical based disks, or a combination thereof . The store 660 maintains the code or instructions and data 662 in a persistent state (i.e., the value is maintained despite power interruption to the system 600).
주변 장치 인터페이스(670)는 이상에서 구체적으로 언급되지 않은 임의의 하드웨어 인터페이스를 포함할 수 있다. 주변 장치들은 일반적으로 시스템(600)에 종속적으로 연결되는 디바이스들을 말한다. 종속적 연결(dependent connection)이란 동작이 실행되는 그리고 사용자와 상호작용하는 소프트웨어 및/또는 하드웨어 플랫폼을 시스템(600)이 제공하는 연결을 말한다.The
도 7은 메모리 액세스가 - 예컨대, 비트별로(on a per-bit basis) - 구현될 수 있는 모바일 디바이스의 일 실시예의 블록도이다. 디바이스(700)는 컴퓨팅 태블릿, 휴대폰 또는 스마트폰, 무선 지원 이-리더(wireless-enabled e-reader), 또는 기타 모바일 디바이스와 같은 모바일 컴퓨팅 디바이스를 나타낸다. 특정 구성요소들이 개괄적으로 도시되어 있고, 이러한 디바이스의 모든 구성요소들이 디바이스(700)에 도시되어 있지는 않다는 것을 잘 알 것이다.Figure 7 is a block diagram of one embodiment of a mobile device in which memory accesses may be implemented on an on-per-bit basis.
디바이스(700)는 디바이스(700)의 주 처리 동작들을 수행하는 프로세서(710)를 포함할 수 있다. 프로세서(710)는 마이크로프로세서들, 애플리케이션 프로세서(application processor)들, 마이크로컨트롤러들, 프로그램가능 논리 디바이스들, 또는 기타 처리 수단들과 같은 하나 이상의 물리 디바이스들을 포함할 수 있다. 프로세서(710)에 의해 수행되는 처리 동작들은 애플리케이션들 및/또는 디바이스 기능들이 실행되는 운영 플랫폼 또는 운영 체제를 실행하는 것을 포함한다. 처리 동작들은 사람 사용자와의 또는 다른 디바이스들과의 I/O(입출력)에 관련된 동작들, 전력 관리에 관련된 동작들, 및/또는 디바이스(700)를 다른 디바이스에 연결시키는 것에 관련된 동작들을 포함한다. 처리 동작들은 또한 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 포함할 수 있다.The
하나의 실시예에서, 디바이스(700)는 오디오 기능들을 컴퓨팅 디바이스에 제공하는 것과 연관된 하드웨어 구성요소들(예컨대, 오디오 하드웨어 및 오디오 회로들) 및 소프트웨어 구성요소들(예컨대, 드라이버들, 코덱들)을 나타내는 오디오 서브시스템(720)을 포함한다. 오디오 기능들은 스피커 및/또는 헤드폰 출력은 물론, 마이크 입력(microphone input)을 포함할 수 있다. 이러한 기능들을 위한 디바이스들이 디바이스(700) 내에 통합되거나 디바이스(700)에 연결될 수 있다. 하나의 실시예에서, 사용자는 프로세서(710)에 의해 수신되고 처리되는 오디오 명령들을 제공함으로써 디바이스(700)와 상호작용한다.In one embodiment,
디스플레이 서브시스템(730)은 사용자가 컴퓨팅 디바이스와 상호작용하도록 시각적 및/또는 촉각적 디스플레이를 제공하는 하드웨어 구성요소들(예컨대, 디스플레이 디바이스들) 및 소프트웨어 구성요소들(예컨대, 드라이버들)을 나타낸다. 디스플레이 서브시스템(730)은 사용자에게 디스플레이를 제공하는 데 사용되는 특정의 화면 또는 하드웨어 디바이스를 포함할 수 있는 디스플레이 인터페이스(732)를 포함할 수 있다. 하나의 실시예에서, 디스플레이 인터페이스(732)는 디스플레이에 관련된 적어도 일부 처리를 수행하기 위해 프로세서(710)와 별개인 로직을 포함한다. 하나의 실시예에서, 디스플레이 서브시스템(730)은 사용자에게 출력 및 입력 둘 다를 제공하는 터치스크린 디바이스를 포함한다.
I/O 제어기(740)는 사용자와의 상호작용에 관련된 하드웨어 디바이스들 및 소프트웨어 구성요소들을 나타낸다. I/O 제어기(740)는 오디오 서브시스템(720) 및/또는 디스플레이 서브시스템(730)의 일부인 하드웨어를 관리하는 동작을 할 수 있다. 그에 부가하여, I/O 제어기(740)는 사용자가 그를 통해 시스템과 상호작용할 수 있는 디바이스(700)에 연결되는 부가적인 디바이스들에 대한 연결점을 나타낸다. 예를 들어, 디바이스(700)에 접속될 수 있는 디바이스들은 마이크 디바이스들, 스피커 또는 스테레오 시스템들, 비디오 시스템들 또는 기타 디스플레이 디바이스, 키보드 또는 키패드 디바이스들, 또는 카드 판독기 또는 기타 디바이스들과 같은 특정의 응용들에서 사용하기 위한 기타 I/O 디바이스들을 포함할 수 있다.I /
앞서 언급한 바와 같이, I/O 제어기(740)는 오디오 서브시스템(720) 및/또는 디스플레이 서브시스템(730)과 상호작용할 수 있다. 예를 들어, 마이크 또는 다른 오디오 디바이스를 통한 입력은 디바이스(700)의 하나 이상의 애플리케이션들 또는 기능들에 대한 입력 또는 명령들을 제공할 수 있다. 게다가, 디스플레이 출력 대신에 또는 그에 부가하여, 오디오 출력이 제공될 수 있다. 다른 예에서, 디스플레이 서브시스템이 터치스크린을 포함하는 경우, 디스플레이 디바이스는 또한 I/O 제어기(740)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스로서 작용한다. 또한, I/O 제어기(740)에 의해 관리되는 I/O 기능들을 제공하기 위해 디바이스(700) 상에 부가적인 버튼들 또는 스위치들이 있을 수 있다.As noted above, I /
하나의 실시예에서, I/O 제어기(740)는 디바이스(700)에 포함될 수 있는 가속도계들, 카메라들, 광 센서들 또는 기타 환경 센서들, 자이로스코프들, GPS(global positioning system), 또는 기타 하드웨어와 같은 디바이스들을 관리한다. 입력은 직접적인 사용자 상호작용의 일부는 물론, (잡음의 필터링, 밝기 검출을 위해 디스플레이를 조절하는 것, 카메라에 플래시를 적용하는 것, 또는 다른 특징들과 같은) 그의 동작들에 영향을 주기 위해 시스템에 환경 입력을 제공하는 것일 수 있다.In one embodiment, I /
하나의 실시예에서, 디바이스(700)는 배터리 전력 사용, 배터리의 충전, 및 전력 절감 동작에 관련된 특징들을 관리하는 전력 관리(750)를 포함한다. 메모리 서브시스템(760)은 디바이스(700)에 정보를 저장하는 메모리 디바이스(들)(762)를 포함할 수 있다. 메모리 서브시스템(760)은 비휘발성 메모리 디바이스(메모리 디바이스에의 전력이 중단되는 경우 상태가 변하지 않음) 및/또는 휘발성 메모리 디바이스(메모리 디바이스에의 전력이 중단되는 경우 상태가 불확정적임)를 포함할 수 있다. 메모리(760)는 애플리케이션 데이터, 사용자 데이터, 음악, 사진, 문서, 또는 기타 데이터는 물론, 시스템(700)의 애플리케이션들 및 기능들의 실행에 관련된 (장기 또는 임시) 시스템 데이터를 저장할 수 있다.In one embodiment,
하나의 실시예에서, 메모리 서브시스템(760)은 [시스템(700)의 제어의 일부인 것으로도 생각될 수 있고 어쩌면 프로세서(710)의 일부인 것으로 생각될 수 있는] 메모리 제어기(764)를 포함한다. 메모리 제어기(764)는 버스의 전압 스윙 특성들을 모니터링한다. 예를 들어, 메모리 제어기(764)는 동일한 버스 - 예컨대, 데이터 버스 - 의 상이한 신호 라인들에 대한 상이한 전압 스윙 특성들을 검출할 수 있다. 일 실시예에서, 메모리 제어기(764)는 메모리(762)로 하여금 메모리 자원들에 대한 활성화 명령 또는 프리차지 명령을 내부적으로 발생시키게 하는 명령들을 발행한다.In one embodiment, the
연결부(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)를 통해 행해진다.The
주변 장치 연결들(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), 파이어와이어, 또는 기타 유형을 포함할 수 있다.In addition to the proprietary docking connector or other proprietary connection hardware, the
하나의 구현예에서, 메모리 디바이스는 메모리 제어기로부터 메모리 디바이스로의 제1 다중 사이클 명령의 교환을 검출하는 검출기 로직을 포함하고, 제1 다중 사이클 명령은 메모리 디바이스의 제1 뱅크에의 액세스를 나타낸다. 메모리 디바이스는, 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션을 타이밍 조절하도록 구성된 회로를 포함하는 제어 로직 - 제2 명령의 마지막 샘플링이 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 제2 명령의 마지막 사이클을 타이밍 조절하는 제어 로직을 포함함 - 을 추가로 포함하고, 여기서 그 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같다.In one implementation, the memory device includes detector logic for detecting an exchange of a first multi-cycle instruction from a memory controller to a memory device, wherein the first multi-cycle instruction indicates access to a first bank of the memory device. The memory device includes a circuit configured to timing the assertion of the second instruction to perform one of activation of the first bank and refresh of the first bank during one or more cycles of the clock signal based on the detected swap Further comprising control logic for timing the last cycle of the second instruction so that the last sampling of the logic-second instruction starts after a period of time or after its expiration from the start of the last cycle of the first multi-cycle instruction , Where the period is equal to the predefined row precharge time delay parameter.
일 실시예에서, 제어 로직은 제2 명령의 마지막 샘플링이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 제2 명령의 마지막 사이클을 타이밍 조절하기 위한 것이다. 다른 실시예에서, 제2 명령이 다중 사이클 명령이고, 여기서 제1 다중 사이클 명령의 사이클들의 총수는 제2 명령의 사이클들의 총수와 상이하다. 다른 실시예에서, 어써션을 타이밍 조절하는 제어 로직은 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 제어 로직, 및 제2 명령의 어써션에 대한 시작 시간을 결정하는 제어 로직 - 사전 정의된 행 프리차지 시간 지연 파라미터와 제2 명령의 마지막 사이클 이외의 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 기준 시간 값에 가산하는 제어 로직을 포함함 - 포함한다. 다른 실시예에서, 제어 로직은, 메모리 제어기로부터의 임의의 명시적 명령에 독립적인, 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령을 발생시키기 위한 것이다.In one embodiment, the control logic is for timing adjustment of the last cycle of the second instruction so that the last sampling of the second instruction coincides with the fastest cycle of the clock signal starting during or after its expiration. In another embodiment, the second instruction is a multiple cycle instruction, wherein the total number of cycles of the first multiple cycle instruction is different from the total number of cycles of the second instruction. In another embodiment, the control logic for timing the assertion includes control logic for identifying a reference time value for a start point of a last cycle of a first multi-cycle instruction, and control logic for determining a start time for an assertion of the second instruction, And a control logic to add to the reference time value the difference between the predefined row precharge time delay parameter and the duration of all cycles of the second instruction other than the last cycle of the second instruction. In another embodiment, the control logic is for generating a second instruction to perform one of activation of the first bank and refresh of the first bank, independent of any explicit command from the memory controller.
다른 실시예에서, 제어 로직은 추가로, 검출된 교환에 응답하여, 제2 명령에 앞서, 프리차지 동작을 수행하라는 제3 명령을 발생시키기 위한 것이다. 다른 실시예에서, 제어 로직은, 메모리 제어기로부터의 임의의 명시적 명령에 독립적인, 프리차지 동작을 수행하라는 제3 명령을 발생시키기 위한 것이다. 다른 실시예에서, 제1 다중 사이클 명령은 제1 뱅크가 현재 열려 있는 행을 포함하는지를 메모리 디바이스에 알려주는 힌트 값을 포함하고, 여기서 제어 로직은 힌트 값에 응답하여 제3 명령을 발생시키기 위한 것이다. 다른 실시예에서, 제어 로직은 제1 다중 사이클 명령의 마지막 사이클의 시작점에서 제3 명령의 어써션을 시작하기 위한 것이다. 다른 실시예에서, 제1 다중 사이클 명령은 활성화 명령을 포함하고, 여기서 제2 명령은 제1 뱅크의 활성화를 수행하라는 것이다. 다른 실시예에서, 제1 다중 사이클 명령은 리프레시 명령을 포함하고, 여기서 제2 명령은 제1 뱅크의 리프레시를 수행하라는 것이다. 다른 실시예에서, 리프레시 명령은, 메모리 디바이스의 복수의 뱅크들 중에서, 제1 뱅크만이 리프레시되어야 한다는 것을 나타낸다. 다른 실시예에서, 리프레시 명령은 메모리 디바이스의 복수의 뱅크들 전부를 리프레시하라는 것이다.In another embodiment, the control logic is further for generating, in response to the detected exchange, a third instruction to perform a precharge operation prior to the second instruction. In another embodiment, the control logic is for generating a third instruction to perform a precharge operation, independent of any explicit instruction from the memory controller. In another embodiment, the first multi-cycle instruction includes a hint value that tells the memory device whether the first bank includes the currently open row, where the control logic is to generate a third instruction in response to the hint value . In another embodiment, the control logic is for starting the assertion of the third instruction at the beginning of the last cycle of the first multi-cycle instruction. In another embodiment, the first multi-cycle command includes an enable command, wherein the second command is to perform activation of the first bank. In another embodiment, the first multi-cycle instruction includes a refresh instruction, wherein the second instruction is to perform a refresh of the first bank. In another embodiment, the refresh command indicates that, of the plurality of banks of memory devices, only the first bank should be refreshed. In another embodiment, the refresh command is to refresh all of the plurality of banks of memory devices.
다른 구현예에서, 메모리 제어기는 메모리 제어기로부터 메모리 디바이스로 제1 다중 사이클 명령을 교환하는 명령 로직을 포함하고, 제1 다중 사이클 명령은 메모리 디바이스의 제1 뱅크에의 액세스를 나타낸다. 메모리 제어기는, 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 메모리 디바이스로의 전송을 타이밍 조절하는 타이머 로직 - 제2 명령의 마지막 샘플링이 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 제2 명령의 마지막 사이클을 타이밍 조절하는 타이머 로직을 포함함 - 을 추가로 포함하고, 여기서 그 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같다.In another implementation, the memory controller includes instruction logic for exchanging a first multi-cycle instruction from a memory controller to a memory device, wherein the first multi-cycle instruction indicates access to a first bank of the memory device. The memory controller is operative to determine a timer logic for timing the transfer of the second instruction to the memory device to perform one of activation of the first bank and refresh of the first bank during one or more cycles of the clock signal, - timer logic for timing the last cycle of the second instruction so that the last sampling of the second instruction starts after a period of time or after its expiration from the starting point of the last cycle of the first multi-cycle instruction, Where the period is equal to the predefined row precharge time delay parameter.
일 실시예에서, 타이머 로직은 제2 명령의 마지막 샘플링이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 제2 명령의 마지막 사이클을 타이밍 조절하기 위한 것이다. 다른 실시예에서, 제2 명령이 다중 사이클 명령이고, 여기서 제1 다중 사이클 명령의 사이클들의 총수는 제2 명령의 사이클들의 총수와 상이하다. 다른 실시예에서, 어써션을 타이밍 조절하는 타이머 로직은 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 타이머 로직, 및 제2 명령의 어써션에 대한 시작 시간을 결정하는 타이머 로직 - 사전 정의된 행 프리차지 시간 지연 파라미터와 마지막 사이클 이외의 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 기준 시간 값에 가산하는 타이머 로직을 포함함 - 을 포함한다. 다른 실시예에서, 메모리 디바이스의 복수의 메모리 뱅크들은 제1 뱅크를 포함하고, 여기서, 복수의 뱅크들 중에서, 제1 다중 사이클 명령은 제1 뱅크에 대해서만 프리차지 동작을 나타낸다. 다른 실시예에서, 메모리 디바이스의 복수의 메모리 뱅크들은 제1 뱅크를 포함하고, 여기서 제1 다중 사이클 명령은 복수의 뱅크들 전부가 프리차지되어야 한다는 것을 나타낸다.In one embodiment, the timer logic is for timing the last cycle of the second instruction so that the last sampling of the second instruction coincides with the fastest cycle of the clock signal that begins during or after its expiration. In another embodiment, the second instruction is a multiple cycle instruction, wherein the total number of cycles of the first multiple cycle instruction is different from the total number of cycles of the second instruction. In another embodiment, the timer logic for timing the assertion comprises timer logic for identifying a reference time value for a start point of a last cycle of a first multi-cycle instruction, and timer logic for determining a start time for an assertion of the second instruction, And timer logic for adding to the reference time value the difference between the predefined row precharge time delay parameter and the duration of all cycles of the second instruction other than the last cycle. In another embodiment, the plurality of memory banks of the memory device comprises a first bank, wherein, among the plurality of banks, the first multiple cycle instruction indicates a precharge operation only for the first bank. In another embodiment, the plurality of memory banks of the memory device includes a first bank, wherein the first multiple cycle instruction indicates that all of the plurality of banks are precharged.
다른 실시예에서, 제2 명령은 제1 뱅크의 활성화를 수행하라는 것이고, 여기서 타이머 로직은 추가로 제2 명령 후에 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하기 위한 것이며, 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 제2 명령의 마지막 사이클의 시작점으로부터 다른 기간 동안 또는 그의 만료 후에 시작하도록 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 타이밍 조절하는 타이머 로직을 포함하고, 여기서 다른 기간은 행 주소 스트로브 신호의 어써션과 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시하는 사전 정의된 tRCD 파라미터와 같다. 다른 실시예에서, 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 다른 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 다중 사이클 열 주소 스트로브 신호의 마지막 사이클이 타이밍 조절된다.In another embodiment, the second instruction is to perform an activation of the first bank, wherein the timer logic is further for timing the assertion of the multiple cycle column address strobe signal to the memory device after the second instruction, Timer logic for timing the last cycle of the multi-cycle column address strobe signal such that the last sampling of the column address strobe signal starts from the start of the last cycle of the second instruction or after its expiration for another period, It is the same as the predefined tRCD parameter which specifies the required delay between the assertion of the address strobe signal and the assertion of the column address strobe signal. In another embodiment, the last cycle of the multi-cycle column address strobe signal is timed so that the last sampling of the multi-cycle column address strobe signal coincides with the fastest cycle of the clock signal starting for another period or after its expiration.
다른 구현예에서, 방법은 메모리 제어기로부터 메모리 디바이스로의 제1 다중 사이클 명령의 교환을 검출하는 단계를 포함하고, 제1 다중 사이클 명령은 메모리 디바이스의 제1 뱅크에의 액세스를 나타낸다. 본 방법은, 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션을 타이밍 조절하는 단계 - 제2 명령의 마지막 샘플링이 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 제2 명령의 마지막 사이클을 타이밍 조절하는 단계를 포함함 - 를 추가로 포함하고, 여기서 그 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같다.In another implementation, the method includes detecting an exchange of a first multi-cycle instruction from a memory controller to a memory device, wherein the first multi-cycle instruction indicates access to a first bank of the memory device. The method includes timing adjustment of an assertion of a second instruction to perform one of activation of a first bank and refresh of a first bank during one or more cycles of a clock signal based on the detected swap, Timing the last cycle of the second instruction so that the last sampling starts a period of time or after its expiration from the start of the last cycle of the first multiple cycle instruction, Lt; / RTI > parameter.
일 실시예에서, 제2 명령의 마지막 샘플링이 그 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 제2 명령의 마지막 사이클이 타이밍 조절된다. 다른 실시예에서, 제2 명령이 다중 사이클 명령이고, 여기서 제1 다중 사이클 명령의 사이클들의 총수는 제2 명령의 사이클들의 총수와 상이하다. 다른 실시예에서, 어써션을 타이밍 조절하는 단계는 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 단계, 및 제2 명령의 어써션에 대한 시작 시간을 결정하는 단계 - 사전 정의된 행 프리차지 시간 지연 파라미터와 제2 명령의 마지막 사이클 이외의 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 기준 시간 값에 가산하는 단계를 포함함 - 를 포함한다.In one embodiment, the last cycle of the second instruction is timed so that the last sampling of the second instruction coincides with the fastest cycle of the clock signal that begins during or after its expiration. In another embodiment, the second instruction is a multiple cycle instruction, wherein the total number of cycles of the first multiple cycle instruction is different from the total number of cycles of the second instruction. In another embodiment, timing the assertion comprises: identifying a reference time value for a start point of a last cycle of a first multi-cycle instruction, and determining a start time for an assertion of the second instruction, And adding the difference between the row precharge time delay parameter and the duration of all cycles of the second instruction other than the last cycle of the second instruction to the reference time value.
다른 실시예에서, 교환을 검출하는 단계는 메모리 디바이스에서 검출하는 단계를 포함하고, 여기서 메모리 디바이스는, 메모리 제어기로부터의 임의의 명시적 명령에 독립적인, 제1 뱅크의 활성화 및 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령을 발생시킨다. 다른 실시예에서, 본 방법은, 교환을 검출한 것에 응답하여, 제2 명령에 앞서, 프리차지 동작을 수행하라는 제3 명령을 메모리 디바이스에서 발생시키는 단계를 추가로 포함한다. 다른 실시예에서, 프리차지 동작을 수행하라는 제3 명령은 메모리 제어기로부터의 임의의 명시적 명령에 독립적으로 발생된다. 다른 실시예에서, 제1 다중 사이클 명령은 제1 뱅크가 현재 열려 있는 행을 포함하는지를 메모리 디바이스에 알려주는 힌트 값을 포함하고, 여기서 메모리 디바이스는 힌트 값에 응답하여 제3 명령을 발생시킨다. 다른 실시예에서, 메모리 디바이스는 제1 다중 사이클 명령의 마지막 사이클의 시작점에서 시작하도록 제3 명령의 어써션을 타이밍 조절한다. 다른 실시예에서, 제1 다중 사이클 명령은 활성화 명령을 포함하고, 여기서 제2 명령은 제1 뱅크의 활성화를 수행하라는 것이다. 다른 실시예에서, 제1 다중 사이클 명령은 리프레시 명령을 포함하고, 여기서 제2 명령은 제1 뱅크의 리프레시를 수행하라는 것이다. 다른 실시예에서, 리프레시 명령은, 메모리 디바이스의 복수의 뱅크들 중에서, 제1 뱅크만이 리프레시되어야 한다는 것을 나타낸다. 다른 실시예에서, 리프레시 명령은 메모리 디바이스의 복수의 뱅크들 전부를 리프레시하라는 것이다.In another embodiment, detecting the swap comprises detecting in a memory device, wherein the memory device is configured to: activate the first bank and refresh the first bank, independent of any explicit instructions from the memory controller, And a second command to perform one of the following. In another embodiment, the method further comprises generating, in response to detecting the swap, a third instruction in the memory device to perform a precharge operation prior to the second instruction. In another embodiment, the third instruction to perform the precharge operation is generated independently of any explicit instruction from the memory controller. In another embodiment, the first multi-cycle instruction includes a hint value that tells the memory device whether the first bank includes the currently open row, wherein the memory device generates a third instruction in response to the hint value. In another embodiment, the memory device timing the assertion of the third instruction to start at the beginning of the last cycle of the first multi-cycle instruction. In another embodiment, the first multi-cycle command includes an enable command, wherein the second command is to perform activation of the first bank. In another embodiment, the first multi-cycle instruction includes a refresh instruction, wherein the second instruction is to perform a refresh of the first bank. In another embodiment, the refresh command indicates that, of the plurality of banks of memory devices, only the first bank should be refreshed. In another embodiment, the refresh command is to refresh all of the plurality of banks of memory devices.
다른 실시예에서, 교환을 검출하는 단계는 메모리 제어기에서 검출하는 단계를 포함하고, 여기서 메모리 제어기는 제2 명령을 메모리 디바이스로 송신한다. 다른 실시예에서, 메모리 디바이스의 복수의 메모리 뱅크들은 제1 뱅크를 포함하고, 여기서, 복수의 뱅크들 중에서, 제1 다중 사이클 명령은 제1 뱅크에 대해서만 프리차지 동작을 나타낸다. 다른 실시예에서, 메모리 디바이스의 복수의 메모리 뱅크들은 제1 뱅크를 포함하고, 여기서 제1 다중 사이클 명령은 복수의 뱅크들 전부가 프리차지되어야 한다는 것을 나타낸다. 다른 실시예에서, 제2 명령은 제1 뱅크의 활성화를 수행하라는 것이고, 본 방법은 제2 명령 후에 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하는 단계 - 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 제2 명령의 마지막 사이클의 시작점으로부터 다른 기간 동안 또는 그의 만료 후에 시작하도록 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 타이밍 조절하는 단계를 포함함 - 를 추가로 포함하고, 여기서 다른 기간은 행 주소 스트로브 신호의 어써션과 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시하는 사전 정의된 tRCD 파라미터와 같다. 다른 실시예에서, 다중 사이클 열 주소 스트로브 신호의 마지막 샘플링이 다른 기간 동안 또는 그의 만료 후에 시작하는 클럭 신호의 가장 빠른 사이클과 일치하도록 다중 사이클 열 주소 스트로브 신호의 마지막 사이클이 타이밍 조절된다.In another embodiment, detecting the swap comprises detecting at a memory controller, wherein the memory controller sends a second instruction to the memory device. In another embodiment, the plurality of memory banks of the memory device comprises a first bank, wherein, among the plurality of banks, the first multiple cycle instruction indicates a precharge operation only for the first bank. In another embodiment, the plurality of memory banks of the memory device includes a first bank, wherein the first multiple cycle instruction indicates that all of the plurality of banks are precharged. In another embodiment, the second instruction is to perform activation of a first bank, the method further comprising: timing an assertion of a multiple cycle column address strobe signal to a memory device after a second instruction, Timing the last cycle of the multi-cycle column address strobe signal such that the last sampling of the multi-cycle column address strobe signal starts from the start of the last cycle of the second instruction for another period or after its expiration, It is the same as the predefined tRCD parameter which specifies the required delay between the assertion of the row address strobe signal and the assertion of the column address strobe signal. In another embodiment, the last cycle of the multi-cycle column address strobe signal is timed so that the last sampling of the multi-cycle column address strobe signal coincides with the fastest cycle of the clock signal starting for another period or after its expiration.
메모리 디바이스를 동작시키는 기법들 및 아키텍처들이 본 명세서에 기술되어 있다. 이상의 설명에서, 설명의 목적상, 특정한 실시예들의 완전한 이해를 제공하기 위해 다수의 구체적인 상세들이 기재되어 있다. 그렇지만, 통상의 기술자에게는 특정한 실시예들이 이러한 구체적인 상세들 없이 실시될 수 있다는 것이 명백할 것이다. 다른 경우들에서, 본 설명을 모호하게 하는 것을 피하기 위해, 구조들 및 디바이스들이 블록도 형태로 도시되어 있다.Techniques and architectures for operating memory devices are described herein. In the foregoing description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of certain embodiments. However, it will be apparent to one of ordinary skill in the art that the specific embodiments may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the description.
본 명세서에서 "하나의 실시예" 또는 "일 실시예"라는 말은 그 실시예와 관련하여 기술된 특정의 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되어 있다는 것을 의미한다. 본 명세서의 여러 곳에서 나오는 "하나의 실시예에서"라는 문구가 모두 꼭 동일한 실시예를 말하는 것은 아니다.The phrase " one embodiment "or" an embodiment "means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
본 명세서에서의 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 심볼 표현들에 관하여 제시되어 있다. 이들 알고리즘 설명들 및 표현들은 컴퓨팅 기술의 통상의 기술자들이 자신의 작업의 내용을 다른 통상의 기술자들에게 가장 효과적으로 전달하기 위해 사용되는 수단이다. 알고리즘은 여기에서 일반적으로 원하는 결과를 가져오는 자체 일관성있는 단계들의 시퀀스(self-consistent sequence of steps)인 것으로 생각된다. 단계들은 물리적 양의 물리적 조작을 필요로 하는 것이다. 보통, 비록 꼭 그럴 필요는 없지만, 이들 양은 저장, 전송, 결합, 비교 및 다른 방식으로 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 원칙적으로 흔히 사용되기 때문에, 이들 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 지칭하는 것이 때로는 편리한 것으로 밝혀졌다.Some portions of the detailed description herein are presented with respect to algorithms and symbol representations of operations on data bits in a computer memory. These algorithmic descriptions and representations are the means used by ordinary artisans of the computing arts to most effectively convey the content of their work to other conventional descriptors. The algorithm is here considered to be a self-consistent sequence of steps that generally produces the desired result. Steps are physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, and otherwise manipulated. It is sometimes convenient to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, etc., since they are in principle used in principle.
그렇지만, 이들 및 유사한 용어들 모두가 적절한 물리적 양들과 연관되어 있고 이들 양에 적용되는 편리한 라벨들에 불과하다는 것을 염두에 두어야 한다. 달리 구체적으로 언급하지 않는 한, 이하의 논의로부터 명백한 바와 같이, 본 설명 전체에 걸쳐 "처리" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레이" 등과 같은 용어들을 이용한 논의가 컴퓨터 시스템의 레지스터들 및 메모리들 내에서 물리적(전자적) 양으로 표현된 데이터를 조작하여 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 전송 또는 디스플레이 디바이스들 내에서 물리적 양으로 유사하게 표현되는 다른 데이터로 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스들을 말한다는 것을 잘 알 것이다.It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, discussions utilizing terms such as "processing" or "computing" or "computing" or "determining" or "display" Manipulate data represented in physical (electronic) quantities in registers and memories and transform it into other data represented in computer systems memories or registers or other such information storage, transmission or display devices in physical quantities Quot; refers to operations and processes of a computer system or similar electronic computing device.
특정한 실시예들은 또한 본 명세서에서의 동작들을 수행하는 장치에 관한 것이다. 이 장치는 요구된 목적들을 위해 특별하게 구성될 수 있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 전자 명령어들을 저장하기에 적당한 그리고 컴퓨터 시스템 버스에 결합된 플로피 디스크, 광 디스크, CD-ROM, 및 광자기 디스크, ROM(read-only memory), RAM(random access memory)[DRAM(dynamic RAM), EPROM, EEPROM 등], 자기 또는 광 카드, 또는 임의의 유형의 매체를 비롯한 임의의 유형의 디스크(이들로 제한되지 않음)와 같은 컴퓨터 판독가능 저장 매체에 저장될 수 있다.Certain embodiments also relate to an apparatus for performing operations herein. The apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored on a computer-readable recording medium, such as a floppy disk, optical disk, CD-ROM, and magneto-optical disk, read-only memory (ROM), random access memory (RAM) dynamic RAM, EPROM, EEPROM, etc.), magnetic or optical cards, or any type of disk, including but not limited to any type of disk.
본 명세서에 제시된 알고리즘들 및 디스플레이들은 임의의 특정의 컴퓨터 또는 다른 장치에 본질적으로 관련되어 있지는 않다. 다양한 범용 시스템들이 본 명세서에서의 교시 내용에 따라 프로그램들과 함께 사용될 수 있거나, 보다 전문화된 장치를 요구된 방법 단계들을 수행하도록 구성하는 것이 편리한 것으로 입증될 수 있다. 각종의 이러한 시스템들에 대한 요구된 구조는 본 명세서에서의 설명으로부터 나타날 것이다. 그에 부가하여, 특정한 실시예들이 임의의 특정의 프로그래밍 언어를 참조하여 기술되어 있지 않다. 본 명세서에 기술된 바와 같은 이러한 실시예들의 교시 내용을 구현하기 위해 각종의 프로그래밍 언어들이 사용될 수 있다는 것을 잘 알 것이다.The algorithms and displays presented herein are not inherently related to any particular computer or other device. Various general purpose systems may be used with the programs in accordance with the teachings herein, or it may prove convenient to configure a more specialized apparatus to perform the required method steps. The required structure for various such systems will appear from the description herein. In addition, certain embodiments are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of such embodiments as described herein.
본 명세서에 기술된 것 이외에, 개시된 실시예들의 범주를 벗어남이 없이 개시된 실시예들 및 그의 구현예들에 대해 다양한 수정들이 행해질 수 있다. 따라서, 본 명세서에서의 도해들 및 예들이 제한적인 의미가 아니라 예시적인 의미로서 해석되어야만 한다. 본 발명의 범주는 이하의 청구범위를 참조해서만 측정되어야 한다.Various modifications may be made to the disclosed embodiments and implementations thereof, without departing from the scope of the disclosed embodiments, other than those described herein. Accordingly, the illustrations and examples herein should be construed in an illustrative sense rather than in a restrictive sense. The scope of the invention should be measured only with reference to the following claims.
Claims (25)
메모리 제어기로부터 상기 메모리 디바이스로의 제1 다중 사이클 명령(multi-cycle command)의 교환을 검출하는 검출기 로직 - 상기 제1 다중 사이클 명령은 상기 메모리 디바이스의 제1 뱅크에의 액세스를 나타냄 -; 및
상기 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 상기 제1 뱅크의 활성화 및 상기 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션(assertion)을 타이밍 조절(time)하도록 구성된 회로를 포함하는 제어 로직 - 상기 제2 명령의 마지막 사이클을 상기 제1 다중 사이클 명령의 마지막 사이클의 시작점(beginning)으로부터 일정 기간(a period of time) 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 제어 로직을 포함함 -
을 포함하고, 상기 기간은 사전 정의된 행 프리차지 시간 지연 파라미터(predefined row precharge time delay parameter)와 같은, 메모리 디바이스.13. A memory device comprising:
Detector logic for detecting an exchange of a first multi-cycle command from the memory controller to the memory device, the first multi-cycle command indicating access to the first bank of the memory device; And
And timing an assertion of a second instruction to perform one of activation of the first bank and refresh of the first bank during one or more cycles of a clock signal based on the detected swap Control logic to control timing to start the last cycle of the second instruction to start a period of time or after its expiration from the beginning of the last cycle of the first multi- ≪ / RTI >
Wherein the period is a predefined row precharge time delay parameter.
상기 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 제어 로직; 및
상기 제2 명령의 어써션에 대한 시작 시간을 결정하는 제어 로직 - 상기 사전 정의된 행 프리차지 시간 지연 파라미터와 상기 마지막 사이클 이외의 상기 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 상기 기준 시간 값에 가산하는 제어 로직을 포함함 -
을 포함하는, 메모리 디바이스.3. The method of claim 1 or 2, wherein the control logic for timing the assertion comprises:
Control logic for identifying a reference time value for a start point of a last cycle of the first multi-cycle instruction; And
Control logic for determining a start time for an assertion of the second instruction, the control logic determining a difference between the predefined row precharge time delay parameter and a duration of all cycles of the second instruction other than the last cycle, The control logic comprising:
/ RTI >
상기 메모리 제어기로부터 메모리 디바이스로 제1 다중 사이클 명령을 교환하는 명령 로직 - 상기 제1 다중 사이클 명령은 상기 메모리 디바이스의 제1 뱅크에의 액세스를 나타냄 -; 및
교환된 상기 제1 다중 사이클 명령에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 상기 제1 뱅크의 활성화 및 상기 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 상기 메모리 디바이스로의 전송을 타이밍 조절하는 타이머 로직 - 상기 제2 명령의 마지막 사이클을 상기 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 타이머 로직을 포함함 -
을 포함하고, 상기 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같은, 메모리 제어기.A memory controller comprising:
Instruction logic for exchanging a first multi-cycle instruction from the memory controller to the memory device, the first multi-cycle instruction indicating access to the first bank of the memory device; And
Transferring a second instruction to the memory device to perform one of activation of the first bank and refresh of the first bank for one or more cycles of a clock signal based on the first multi- Timer logic to adjust the timing so that the last cycle of the second instruction starts at or after its expiration from the start of the last cycle of the first multi-cycle instruction,
Wherein the period is a predefined row precharge time delay parameter.
메모리 제어기로부터 메모리 디바이스로의 제1 다중 사이클 명령의 교환을 검출하는 단계 - 상기 제1 다중 사이클 명령은 상기 메모리 디바이스의 제1 뱅크에의 액세스를 나타냄 -; 및
상기 검출된 교환에 기초하여, 클럭 신호의 하나 이상의 사이클들 동안 상기 제1 뱅크의 활성화 및 상기 제1 뱅크의 리프레시 중 하나를 수행하라는 제2 명령의 어써션을 타이밍 조절하는 단계 - 상기 제2 명령의 마지막 사이클을 상기 제1 다중 사이클 명령의 마지막 사이클의 시작점으로부터 일정 기간 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 단계를 포함함 -
를 포함하고, 상기 기간은 사전 정의된 행 프리차지 시간 지연 파라미터와 같은, 방법.As a method,
Detecting an exchange of a first multi-cycle instruction from a memory controller to a memory device, the first multi-cycle instruction indicating access to a first bank of the memory device; And
Timing an assertion of a second instruction to perform one of activation of the first bank and refresh of the first bank during one or more cycles of a clock signal based on the detected swap, Timing the last cycle to start after a period of time from the start of the last cycle of the first multi-cycle command or after its expiration,
Wherein the period is a predefined row precharge time delay parameter.
상기 제1 다중 사이클 명령의 마지막 사이클의 시작점에 대한 기준 시간 값을 식별하는 단계; 및
상기 제2 명령의 어써션에 대한 시작 시간을 결정하는 단계 - 상기 사전 정의된 행 프리차지 시간 지연 파라미터와 상기 마지막 사이클 이외의 상기 제2 명령의 모든 사이클들의 지속기간 사이의 차이를 상기 기준 시간 값에 가산하는 단계를 포함함 -
를 포함하는, 방법.17. The method of claim 15 or 16, wherein timing the adjustment comprises:
Identifying a reference time value for a starting point of a last cycle of the first multi-cycle instruction; And
Determining a start time for an assertion of the second instruction by comparing a difference between the predefined row precharge time delay parameter and a duration of all cycles of the second instruction other than the last cycle to the reference time value And < RTI ID = 0.0 >
/ RTI >
상기 제2 명령 후에 상기 메모리 디바이스에 대한 다중 사이클 열 주소 스트로브 신호의 어써션을 타이밍 조절하는 단계 - 상기 다중 사이클 열 주소 스트로브 신호의 마지막 사이클을 상기 제2 명령의 마지막 사이클의 시작점으로부터 다른 기간 동안 또는 그의 만료 후에 시작하도록 타이밍 조절하는 단계를 포함함 -
를 추가로 포함하고, 상기 다른 기간은 행 주소 스트로브 신호의 어써션과 열 주소 스트로브 신호의 어써션 사이의 요구된 지연을 명시하는 사전 정의된 tRCD 파라미터와 같은, 방법.22. The method of claim 21, wherein the second instruction is to perform activation of the first bank,
Timing the assertion of the multi-cycle column address strobe signal for the memory device after the second instruction, timing the last cycle of the multi-cycle column address strobe signal for a different period from the start of the last cycle of the second instruction, Timing adjustment to start after expiration;
Wherein the other period is a predefined tRCD parameter that specifies a required delay between an assertion of a row address strobe signal and an assertion of a column address strobe signal.
25. The method of claim 24, wherein the last cycle of the multi-cycle column address strobe signal is timing adjusted to match the fastest cycle of the clock signal beginning at or after the expiration of the other period.
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 (en) | 2015-06-10 |
KR101742892B1 true KR101742892B1 (en) | 2017-06-01 |
Family
ID=50828373
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157011443A KR101742892B1 (en) | 2012-11-30 | 2013-11-22 | Apparatus, method and system for memory device access with a multi-cycle command |
KR1020157011398A KR101781277B1 (en) | 2012-11-30 | 2013-11-22 | Apparatus, method and system for providing termination for multiple chips of an integrated circuit package |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157011398A KR101781277B1 (en) | 2012-11-30 | 2013-11-22 | Apparatus, method and system for providing termination for multiple chips of an integrated circuit package |
Country Status (5)
Country | Link |
---|---|
US (3) | US9721641B2 (en) |
EP (2) | EP3651154A1 (en) |
KR (2) | KR101742892B1 (en) |
CN (1) | CN105283918B (en) |
WO (2) | WO2014085267A1 (en) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10388396B2 (en) | 2014-08-25 | 2019-08-20 | 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 (en) | 2015-09-08 | 2022-05-24 | 삼성전자주식회사 | Memory system and method of operating the same |
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 (en) | 2016-03-31 | 2017-10-12 | 삼성전자주식회사 | Nonvolatile memory device, memory system including the same and method of operating nonvolatile memory device |
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 |
US10162406B1 (en) * | 2017-08-31 | 2018-12-25 | Micron Technology, Inc. | Systems and methods for frequency mode detection and implementation |
JP2019046051A (en) * | 2017-08-31 | 2019-03-22 | 東芝メモリ株式会社 | Memory device and data processing device |
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 (en) | 2017-11-10 | 2019-05-20 | 삼성전자주식회사 | Memory device and method of operating the same for latency control |
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 (en) * | 2018-04-08 | 2019-05-31 | 长鑫存储技术有限公司 | Double Data Rate synchronous DRAM |
KR102621098B1 (en) | 2018-07-23 | 2024-01-04 | 삼성전자주식회사 | Semiconductor memory device, and memory system having the same |
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 |
US11914532B2 (en) * | 2021-08-31 | 2024-02-27 | Apple Inc. | Memory device bandwidth optimization |
US11631442B1 (en) | 2021-12-20 | 2023-04-18 | Micron Technology, Inc. | Multi-clock cycle memory command protocol |
Citations (2)
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)
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 |
EP0870226B1 (en) | 1995-10-06 | 2003-05-21 | Patriot Scientific Corporation | Risc microprocessor architecture |
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 (en) * | 1999-12-03 | 2001-06-12 | Mitsubishi Electric Corp | Semi-conductor integrated circuit and memory processing system |
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 (en) | 2005-01-07 | 2006-07-20 | Renesas Technology Corp | Semiconductor device |
JPWO2006134693A1 (en) * | 2005-06-15 | 2009-01-08 | 松下電器産業株式会社 | Processor |
US8244971B2 (en) * | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
JP5242397B2 (en) * | 2005-09-02 | 2013-07-24 | メタラム インコーポレイテッド | Method and apparatus for stacking DRAM |
US7525337B2 (en) * | 2005-12-27 | 2009-04-28 | Hynix Semiconductor Inc. | On-die termination circuit and method for semiconductor memory apparatus |
DE102006043668B4 (en) * | 2006-09-18 | 2009-04-02 | Qimonda Ag | Control module for controlling a semiconductor memory module of a semiconductor memory module |
JP2008140220A (en) * | 2006-12-04 | 2008-06-19 | Nec Corp | Semiconductor device |
US8599631B2 (en) * | 2006-12-21 | 2013-12-03 | Rambus Inc. | On-die termination of address and command signals |
DE102007036990B4 (en) * | 2007-08-06 | 2013-10-10 | Qimonda Ag | Method for operating a memory device, memory device and memory device |
US8019919B2 (en) * | 2007-09-05 | 2011-09-13 | International Business Machines Corporation | Method for enhancing the memory bandwidth available through a memory module |
KR100943861B1 (en) * | 2008-06-12 | 2010-02-24 | 주식회사 하이닉스반도체 | Impedance matched bi-directional multi drop bus system, memory system using the same and memory module |
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 |
WO2010080176A1 (en) * | 2009-01-12 | 2010-07-15 | Rambus Inc. | Mesochronous signaling system with multiple power modes |
EP2441007A1 (en) * | 2009-06-09 | 2012-04-18 | Google, Inc. | Programming of dimm termination resistance values |
WO2010148359A1 (en) * | 2009-06-18 | 2010-12-23 | Cypress Semiconductor Corporation | Memory devices and systems including multi-speed access of memory modules |
US20100327902A1 (en) * | 2009-06-25 | 2010-12-30 | Uniram Technology, Inc. | Power saving termination circuits for dram modules |
EP2460083A4 (en) | 2009-07-28 | 2013-09-11 | 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 (en) * | 2009-11-11 | 2011-05-18 | 삼성전자주식회사 | Semiconductor device having on-die termination structure for reducing current consumption and termination method thereof |
KR20110112707A (en) * | 2010-04-07 | 2011-10-13 | 삼성전자주식회사 | Stacked memory device having inter-chip connection unit, memory system including the same, and method of compensating delay time of transmission lines |
EP2583280A4 (en) * | 2010-06-17 | 2014-06-18 | Rambus Inc | Balanced on-die termination |
US8274308B2 (en) | 2010-06-28 | 2012-09-25 | Intel Corporation | Method and apparatus for dynamic memory termination |
JP5649888B2 (en) * | 2010-09-17 | 2015-01-07 | ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. | Semiconductor device |
KR20120079682A (en) * | 2011-01-05 | 2012-07-13 | 삼성전자주식회사 | Memory device having dram cache and system including the memory device |
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 (en) * | 2011-10-17 | 2013-05-13 | Elpida Memory Inc | Semiconductor device |
US9563597B2 (en) * | 2012-03-19 | 2017-02-07 | Rambus Inc. | High capacity memory systems with inter-rank skew tolerance |
JP6509711B2 (en) * | 2015-10-29 | 2019-05-08 | 東芝メモリ株式会社 | Nonvolatile semiconductor memory device and memory system |
-
2013
- 2013-11-22 KR KR1020157011443A patent/KR101742892B1/en active IP Right Grant
- 2013-11-22 US US14/440,064 patent/US9721641B2/en active Active
- 2013-11-22 CN CN201380057469.2A patent/CN105283918B/en active Active
- 2013-11-22 US US14/440,068 patent/US10121528B2/en active Active
- 2013-11-22 WO PCT/US2013/071533 patent/WO2014085267A1/en active Application Filing
- 2013-11-22 WO PCT/US2013/071534 patent/WO2014085268A1/en active Application Filing
- 2013-11-22 KR KR1020157011398A patent/KR101781277B1/en active IP Right Grant
- 2013-11-22 EP EP19217490.2A patent/EP3651154A1/en not_active Withdrawn
- 2013-11-22 EP EP13857895.0A patent/EP2926342A4/en not_active Ceased
-
2018
- 2018-10-31 US US16/177,284 patent/US10943640B2/en active Active
Patent Citations (2)
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 |
---|---|
WO2014085267A1 (en) | 2014-06-05 |
US10943640B2 (en) | 2021-03-09 |
US9721641B2 (en) | 2017-08-01 |
US20150279444A1 (en) | 2015-10-01 |
EP2926342A4 (en) | 2016-07-13 |
CN105283918B (en) | 2018-11-06 |
EP3651154A1 (en) | 2020-05-13 |
US20150317096A1 (en) | 2015-11-05 |
KR101781277B1 (en) | 2017-09-22 |
KR20150064172A (en) | 2015-06-10 |
EP2926342A1 (en) | 2015-10-07 |
WO2014085268A1 (en) | 2014-06-05 |
US20190139592A1 (en) | 2019-05-09 |
KR20150065813A (en) | 2015-06-15 |
US10121528B2 (en) | 2018-11-06 |
CN105283918A (en) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101742892B1 (en) | Apparatus, method and system for memory device access with a multi-cycle command | |
KR102443078B1 (en) | Apparatus, system and method for determining comparison information based on memory data | |
CN113113063B (en) | Memory device, memory controller, and memory system | |
KR20230153986A (en) | Refresh command control for host assist of row hammer mitigation | |
CN109147840B (en) | Method, apparatus and system for responding to a row tap event | |
US8972685B2 (en) | Method, apparatus and system for exchanging communications via a command/address bus | |
US9953694B2 (en) | Memory controller-controlled refresh abort | |
US9390785B2 (en) | Method, apparatus and system for determining a write recovery time of a memory based on temperature | |
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 |