KR102151627B1 - Ddr에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리 - Google Patents

Ddr에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리 Download PDF

Info

Publication number
KR102151627B1
KR102151627B1 KR1020170040855A KR20170040855A KR102151627B1 KR 102151627 B1 KR102151627 B1 KR 102151627B1 KR 1020170040855 A KR1020170040855 A KR 1020170040855A KR 20170040855 A KR20170040855 A KR 20170040855A KR 102151627 B1 KR102151627 B1 KR 102151627B1
Authority
KR
South Korea
Prior art keywords
memory
power
state
power down
memory module
Prior art date
Application number
KR1020170040855A
Other languages
English (en)
Other versions
KR20180000281A (ko
Inventor
무-티엔 창
디민 니우
홍종 정
크레이그 핸손
임선영
김인동
최장석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20180000281A publication Critical patent/KR20180000281A/ko
Application granted granted Critical
Publication of KR102151627B1 publication Critical patent/KR102151627B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2227Standby or low power modes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

메모리 모듈은 복수의 메모리 요소들, 메모리 내 파워 관리부, 및 메모리 버스를 통한 호스트 컴퓨터와의 인터페이스를 포함한다. 메모리 내 파워 관리부는 메모리 모듈의 파워 상태의 전환을 제어한다. 메모리 모듈의 파워 상태의 전환은 로우 파워 다운 상태에서 최대 파워 다운 상태로의 직접적인 전환을 포함한다.

Description

DDR에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리{SELF-OPTIMIZED POWER MANAGEMENT FOR DDR-COMPATIBLE MEMORY SYSTEMS}
본 발명은 일반적으로 메모리 시스템들을 위한 파워 관리에 관한 것이고, 좀 더 자세하게는, DDR에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리에 관한 것이다.
JEDEC(The Joint Electron Device Engineering Council) Solid State Technology Association은 DDR SDRAMs(double data rate synchronous dynamic random-access memories)를 위한 표준들 및 호스트 컴퓨터의 메모리 컨트롤러와 DDR에 호환되는(DDR-compatible) 메모리 모듈 사이의 데이터 교환을 위한 시그널링 프로토콜(signaling protocol)의 정의들을 명시한다. 4세대 DDR(DDR4) SDRAM은 3세대 DDR(DDR3) SDRAM과 같은 이전 세대의 DDR 메모리들과 비교하여 에너지 효율을 향상하기 위한 최대 파워 절감 모드(maximum power-saving mode)를 제공한다.
DDR4 메모리는 주로 3가지의 파워 상태들, 즉, 일반 파워 상태(normal power state), 로우 파워 상태(low power state, 또는 저전력 상태), 및 딥 로우 파워 상태(deep low power state, 또는 딥 저전력 상태)를 갖는다. 도 1은 DDR4 메모리의 간소화된 파워 상태 도면이다. 일반 파워 상태(101)는 일반 동작들(normal operations)에 따른 DDR4 메모리의 파워 상태에 대응한다. 로우 파워 상태(111)는 유휴 모드(idle mode, 즉, 일반 파워 상태)에서 프리차지 파워 다운 모드(precharge power down mode) 또는 액티브 파워 다운 모드(active power down mode)로의 DDR4 메모리의 파워 상태의 전환에서 이용된다. 딥 로우 파워 상태(121)는 유휴 모드에서 셀프 리프레쉬 모드(self-refresh mode) 또는 최대 파워 다운 모드(max-power down mode)로의 DDR4 메모리의 파워 상태의 전환에서 이용된다. 로우 파워 상태(111)로는 빠르게 진입(entry)하거나 이탈(exit)하고, 딥 로우 파워 상태(121)로는 느리게 진입하거나 이탈한다. 일반적으로, 호스트 컴퓨터의 메모리 컨트롤러는 DDR4 명령들(commands) 및 명시된 타이밍들(timings)을 이용하여 파워 상태들 사이의 전환을 관리한다.
도 2는 DDR4 메모리에 대한 상세한 파워 상태 도면이다. 유휴 상태(212)는 DDR4 메모리의 모든 뱅크들이 닫히고, 진행 중인 데이터 버스트들(data bursts)이 없고, CKE(clock enable)가 하이(high)이고, 그리고 이전 동작들로부터의 모든 타이밍들이 만족된 상태로서 정의된다. 파워 다운(power-down) 동안, 임의의 진행 중인(in-progress) 명령들이 완료된 후 DDR4 메모리의 모든 뱅크들이 닫히면, DDR4 메모리는 PDE(power down entry) 명령으로 프리차지 파워 다운 모드(211)로 진입하고 그리고 PDX(power down exit) 명령으로 프리차지 파워 다운 모드(211)에서 이탈한다. PDE 명령 및 PDX 명령 모두는 호스트 컴퓨터의 메모리 컨트롤러에 의해 발행된다.
최대 파워 다운 모드(216)는 가장 낮은 파워 모드를 제공한다. DDR4 메모리는 MRS(mode register set) 명령을 통해 유휴 상태(212)로부터 최대 파워 다운 모드(216)로 진입할 수 있고, NOP(no operation) 명령이 뒤따르는 SRX(self refresh exit) 명령을 통해 최대 파워 다운 모드(216)에서 이탈할 수 있다. MRS 명령 및 NOP가 뒤따르는 SRX 명령 모두는 호스트 컴퓨터의 메모리 컨트롤러에 의해 발행된다. 최대 파워 다운 모드(216)에서, DDR4 메모리는 데이터 보유를 계속해서 유지할 수 있으나 최대 파워 다운 모드 이탈 명령(maximum power down mode exit command, 즉 NOP가 뒤따르는 SRX 명령)을 제외한 어떤 외부 호스트 명령에 응답하지 않을 수 있다. DDR4 메모리가 최대 파워 다운 모드(216)에서 어떤 외부 호스트 명령에도 응답하지 않으므로, 최대 파워 다운 모드(216)는 최대 절전 모드(hibernate mode)로도 언급된다.
DDR4 메모리는 리프레쉬(refresh) 명령을 통해 셀프 리프레쉬 모드(215)에 진입하여 전체 메모리 뱅크를 주기적으로 리프레쉬한다. 예를 들어, DDR4 메모리는 SRE(self-refresh entry)를 통해 유휴 상태(212)에서 셀프 리프레쉬 모드(215)로 진입할 수 있고 SRX(self-refresh exit)를 통해 유휴 상태(212)로 이탈할 수 있다. SRE 명령 및 SRX 명령 모두는 호스트 컴퓨터의 메모리 컨트롤러에 의해 발행된다. 셀프 리프레쉬 모드(215)는 단지 유휴 상태(212)에서만 진입될 수 있다.
읽기 또는 쓰기 명령들을 발행에 앞서 뱅크 액티브 명령(bank activate command, 혹은 뱅크 활성화 명령)을 수신한 후, DDR4 메모리는 유휴 상태(212)에서 액티브로 되는 상태(activating state, 213)를 통하는 전환을 통해 뱅크 액티브 모드(bank active mode, 217)에 진입한다. 프리차지(precharge) 명령은 뱅크 액티브 상태(217)로부터 특정 뱅크에서 개방된 행(open row) 또는 모든 뱅크들 내 개방된 행들을 디액티브(deactivate, 혹은 비활성화)하는데 이용된다. 뱅크가 일단 프리차지되면, DDR4 메모리는 프리차지로 되는 상태(precharging state, 214)를 통해 유휴 상태(212)로 돌아간다. DDR4 메모리는 뱅크로 발행되는 읽기 또는 쓰기 명령들에 앞서 다시 액티브(reactivate)되어야 한다. DDR4 스펙(specification)에 따라, 읽기 요청은 뱅크를 액티브하고 행에서 행 버퍼(row buffer)로 로딩(loading) 하기 위한 ACT 명령 및 ACT 명령에 뒤이은 행 버퍼로부터 열(column)을 읽기 위한 읽기 명령을 포함한다. 다른 행에 접근하기 위해, 메모리 컨트롤러는 뱅크 복원(restoring)을 위해 뱅크를 프리차지하는 PRE 명령을 보내는 것이 필요하다. PRE 명령이 수신될 때까지, 뱅크는, 메모리 컨트롤러가 임의의 열에 대한 읽기들 또는 쓰기들을 제공하지 않을 때도 뱅크 액티브 모드(217)에서 머물 수 있다. 메모리 모듈이 적어도 하나의 액티브된 뱅크를 갖는 뱅크 액티브 모드(217)이나 임의의 명령을 제공받지 않으면, 메모리 컨트롤러는 뱅크의 파워 다운을 위해 뱅크가 액티브 파워 다운 모드(active power-down mode, 218)로 진입하도록 하는 PDE 명령을 발행할 수 있다.
현 DDR4 파워 개요(power schema)는 분명한 제한들을 갖는다. 예를 들면, 단지 3개의 주요 파워 상태들, 즉, 일반 파워 상태, 로우 파워 상태, 딥 로우 파워 상태가 있음에 불과하다. 로우 파워 상태에서 딥 로우 파워 상태로의 전환은 반드시 일반 파워 상태를 거쳐야 하므로, 로우 파워 상태에서 딥 로우 파워 상태로의 직접적인 전환은 가능하지 않다. 뿐만 아니라, 파워 상태 전환의 전체 프로세스(process)는 호스트 컴퓨터의 메모리 컨트롤러에 의해 관리된다.
본 발명은 상술한 기술적 과제를 해결하기 위한 것으로, 본 발명은 DDR에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리를 제공할 수 있다.
일 실시 예에 따라, 메모리 모듈은 복수의 메모리 요소들, 메모리 내 파워 관리부, 및 메모리 버스를 통한 호스트 컴퓨터와의 인터페이스를 포함한다. 메모리 내 파워 관리부는 메모리 모듈의 파워 상태의 전환을 제어한다. 메모리 모듈의 파워 상태의 전환은 로우 파워 다운 상태에서 최대 파워 다운 상태로의 직접적인 전환을 포함한다.
다른 실시 예에 따라, 메모리 내 파워 전환을 제공하기 위한 방법은, 메모리 버스를 통해 호스트 컴퓨터와 연결된 메모리 모듈 내 메모리 내 파워 관리부를 제공하는 단계, 메모리 모듈의 초기화에서 메모리 내 파워 관리 스킴을 결정하는 단계, 및 메모리 내 파워 관리부를 이용하여 메모리 모듈의 파워 상태의 전환을 제어하는 단계를 포함한다. 메모리 모듈의 파워 상태의 전환은 로우 파워 다운 상태에서 최대 파워 다운 상태로의 직접적인 전환을 포함한다.
구현 및 이벤트들의 조합의 다양한 신규 한 세부 사항들을 포함하는 상술한 그리고 다른 바람직한 특징들은 첨부된 도면들을 참조하여 보다 구체적으로 설명될 것이고 청구항들에서 언급될 것이다. 본 명세서에서 설명된 특정 시스템들 및 방법들은 단지 예시로서 도시된 것이고 제한으로서 도시되지 않음이 이해될 것이다. 당업자가 이해할 수 있는 바와 같이, 본 명세서에 설명된 원리들 및 특징들은 본 발명의 범위를 벗어나지 않고 다양하고 수많은 실시 예들에서 적용될 수 있다.
본 발명의 실시 예에 따른 메모리 모듈은 로우 파워 다운 상태에서 최대 파워 다운 상태로의 직접적인 파워 전환을 제공할 수 있다.
또한, 본 발명의 실시 예에 따른 메모리 모듈은 호스트 컴퓨터로부터 수신된 호스트 파워 명령에 의존하지 않고 파워 소모 최적화를 계속할 수 있다.
본 명세서의 일부분으로서 포함되는 첨부 도면들은 바람직한 실시 예를 도시하고, 전술한 일반적인 설명 및 후술할 바람직한 실시 예의 상세한 설명과 함께 본 명세서에서 개시된 원리들을 설명하고 교시하기 위해 제공된다.
도 1은 DDR4 메모리의 간소화된 파워 상태 도면이다.
도 2는 DDR4 메모리에 대한 상세한 파워 상태 도면이다.
도 3은 일 실시 예에 따른, 예시적인 메모리 시스템의 개략도를 도시한다.
도 4는 일 실시 예에 따른, 메모리 모듈의 간략화된 파워 상태 도면이다.
도 5a 내지 도 5d는 몇몇 실시 예들에 따른, 메모리 모듈의 상세한 파워 상태 도면들을 보여준다.
도 6은 일 실시 예에 따른, 메모리 모듈의 작은 단위의 파워 상태들의 예시를 보여준다.
도 7은 일 실시 예에 따른, 예시적인 메모리 내 파워 관리부의 개략도를 보여준다.
도 8은 일 실시 예에 따른, 예시적인 메모리 내 파워 전환 프로세스의 순서도이다.
도안들에서 도면들은 반드시 비율에 맞게 그려지는 것은 아니며, 유사한 구조들 또는 기능들의 구성 요소들은 도면들 전체에 걸쳐 예시적인 목적들을 위해 유사한 참조 번호들로 일반적으로 표시된다. 도면들은 단지 본 명세서에 설명된 다양한 실시 예들의 설명을 용이하게 하기 위한 것이고 본 명세서에 개시된 교시들의 모든 측면들을 기술하지 않으며 청구 범위를 제한하지 않는다.
본 명세서에서 개시된 특징들 및 교시들 각각은 DDR에 호환되는(DDR-compatible) 메모리 시스템들을 위한 자가 최적화된(self-optimized) 파워 관리를 제공하기 위해 다른 특징들 및 교시들과 함께 혹은 분리되어 이용될 수 있다. 많은 이러한 특징들 및 교시들을 함께 그리고 분리하여 이용하는 대표 실시 예들은 첨부된 도면들을 참조하여 설명된다. 본 명세서의 상세한 설명은 본 교시들의 양상들을 실시하기 위해 상세한 기술 분야의 당업자에게 예시되어 있지만, 청구 범위를 제한하지는 않는다. 따라서, 본 명세서의 상세한 설명에서 개시된 특징들의 조합들은 본 교시들의 대표적인 예시들이고 가장 넓은 의미로 교시들을 실시하는데 필수적이지 않을 수 있고, 대신에 단지 본 교시들의 대표 예시들을 특별하게 설명하기 위해 교시된다.
이하의 설명에서, 단지 설명의 목적으로, 특정 명칭이 본 개시의 완전한 이해를 제공하기 위해 제시된다. 그러나, 당업자에게는 이러한 특정 세부 사항이 본 개시의 교시들을 실행하는데 요구되지 않는다는 것은 명백할 것이다.
본문에서의 상세한 설명들의 일부는 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 기호적인 표현들 및 알고리즘들의 용어로 나타난다. 이러한 알고리즘의 설명들 및 표현들은 컴퓨터 처리 기술에서의 당업자에 의해 이용되어, 다른 당업자에게 그것들의 동작의 실체를 효율적으로 전달한다. 여기에서, 알고리즘은 일반적으로, 의도된 결과를 이끄는 일관성 있는 일련들의 단계들인 것으로 이해된다. 단계들은 물리량들에 대한 그것들의 요구하는 처리들이다. 일반적으로, 반드시 필수적이지 않지만, 이러한 물리량들은 저장되고, 전송되고, 조합되고, 비교되고, 다르게 처리될 수 잇는 전기적 또는 자기적 신호들의 형태를 취할 수 있다. 공통적인 이용을 위하여, 이러한 신호들을 비트들, 값들, 요소들, 기호들, 특징들, 용어들, 숫자들 등으로 지칭하는 것이 편리하다는 것이 입증되었다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리량과 연관되며 단지 이러한 양에 적용되는 편리한 라벨이라는 것을 명심해야 한다. 구체적으로는 아래의 설명으로부터 명백한 바와 같이, 설명에서, 이러한 “처리”, “컴퓨팅”, “계산”, “결정”, “표시” 등과 같은 용어를 이용하는 논의는 컴퓨터 시스템 또는 컴퓨터 레지스터 및 메모리들 내에서 물리적(전기적) 양으로서 나타나는 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 정보 스토리지, 전송 또는 표시 장치들 내에서 물리적 양으로서 나타나는 유사한 다른 데이터로 조작 및 변형하는 유사한 전자 컴퓨팅 장치의 활동 및 과정을 나타내는 것으로 이해된다.
본 명세서에서 설명된 알고리즘은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치들과 관련된 것이 아니다. 다양한 일반적인 목적의 시스템들, 컴퓨터 서버들, 또는 개인용 컴퓨터들은 본 명세서의 교시에 따른 프로그램과 함께 이용될 수 있거나 요구된 방법 단계들을 수행하기 위한 보다 특수화된 장치를 구성하는 것이 편리할 수 있다. 이러한 다양한 시스템을 위해 요구되는 구조는 이하의 설명에서 나타날 것이다. 다양한 프로그래밍 언어들이 본 명세서에서 기재된 바와 같이 발명의 교시를 구현하는데 이용될 수도 있는 것을 이해할 수 있을 것이다.
또한, 대표적인 예들에 대한 다양한 특징들 그리고 종속항들은 본 발명의 교시에 대한 유용한 추가적인 실시 예들을 제공하기 위해 명시적이지 않은 그리고 열거되지 않은 방식으로 결합될 수 있다. 또한 모든 값의 범위 또는 독립체들의 그룹들의 암시들은 모든 가능한 중간 값 또는 당해 발명을 제한하는 목적뿐만 아니라 본래의 개시 목적을 위한 중간 독립체들을 개시하는 것이 주목된다. 또한, 명시적 기준 및 도면에 도시된 구성 요소들의 형상은 본 명세서에서 실시되는 방식을 이해할 수 있도록 설계되지만, 치수 및 실시 예에 나타난 형상에 한정되지 않는 것을 유의한다.
본 발명은 DDR에 호환되는 메모리 시스템들을 위한 작은 단위의(세분화된) 파워 제어 메커니즘(fine-grained power control mechanism)을 설명한다. 파워 제어 메커니즘은 임의의 파워 상태들 사이에서의 직접적인 전환을 자체적으로 하게 하는 메모리 모듈에 의해 제어된다. 일 실시 예에 있어서, 본 파워 제어 메커니즘은 DDR4에 호환 가능하다. DDR4에 호환되는 메모리 모듈은 메모리 버스 내 용도 변경된(repurposed) 하나 이상의 핀들을 이용하여 파워 상태 신호를 호스트 컴퓨터의 메모리 컨트롤러로 전송할 수 있다.
도 3은 일 실시 예에 따른, 예시적인 메모리 시스템의 개략도를 도시한다. 호스트 컴퓨터(미도시)의 메모리 컨트롤러(memory controller, 301)는 명령/주소 버스(command/address bus, 321)를 통해 메모리 모듈(memory module, 350)을 제어할 수 있다. 데이터(320)는 데이터(DQ) 버스를 통해 메모리 컨트롤러(301) 및 메모리 모듈(350) 사이에서 전송된다. 일 실시 예에 따라, 메모리 모듈(350)은 상태 신호(예를 들면, 파워 상태 신호)를 메모리 컨트롤러(301)에 전송할 수 있다. 일 실시 예에 있어서, 메모리 모듈(350)은 상태 신호를 메모리 컨트롤러(301)로 전송하기 위해 하나 이상의 용도 변경된 DDR4 핀들을 이용할 수 있다. 다른 실시 예에 따라, 메모리 모듈(350)은 호스트 컴퓨터로부터 주의(attention)를 끌기 위해 상태 신호를 전송할 수 있다. 이 경우, 상태 신호는 어떤 파워 상태 정보도 포함하지 않을 수 있다. 대신에, 상태 신호는 호스트 컴퓨터가 알고 있어야 할 무언가가 있다는 것을 나타내는 지표(indicator)일 수 있다. 상태 신호를 수신한 후, 호스트 컴퓨터는 그에 맞춰 응답한다. 예를 들어, 호스트 컴퓨터는 메모리 모듈(350)로부터 데이터를 읽는 명령을 전송할 수 있다. 이 경우, 데이터는 DQ 버스를 통해 전송될 수 있다.
일 실시 예에 따라, 메모리 모듈(350)은 버퍼 칩(buffer chip, 351)을 갖고, 버퍼 칩(351)은 메모리 내 파워 관리부(in-memory power manager, 361)를 포함한다. 메모리 내 파워 관리부(361)는 자신의 메모리 요소들(memory components, 370_1~370_8)의 파워 상태를 관리하기 위한 자기 자신의 결정들을 내리고, 명령/주소 버스(command/address bus, 321), DQ 버스, 및/또는 상태 신호(status signal, 322)를 이용해 메모리 컨트롤러(301)로 파워 상태를 다시 알린다. 메모리 컨트롤러(301)의 호스트 파워 관리부(311)는 메모리 내 파워 관리부(361)에 의해 결정된 파워 상태들을 건너 뛰거나(bypassing) 무시하여(overriding) 메모리 모듈(350) (그리고 메모리 버스를 통해 호스트 컴퓨터와 연결된 DDR에 호환되는 임의의 다른 메모리 장치들)의 파워 상태를 선택적으로(optionally) 관리할 수 있다. 호스트 파워 관리부(311)에 의한 호스트 제어는 활성/비활성 될 수 있거나, 그렇지 않으면 초기화 시에 유저(user)에 의해 제어된다.
일 실시 예에 따라, 메모리 모듈(350)은 큰 단위의 레벨(coarse-grained level)로 파워 제어가 가능하다. 도 4는 일 실시 예에 따른, 메모리 모듈의 간략화된 파워 상태 도면이다. 메모리 모듈(예를 들면, 도 3의 메모리 모듈(350))에 의한 파워 제어는, 일반 파워 상태(401)와 로우 파워 상태(411) 사이의 전환, 및 일반 파워 상태(401)와 딥 로우 파워 상태(421) 사이의 전환을 포함하는 전통적인 호스트에 의해 제어되는 파워 제어와 유사한 큰 단위의 파워 제어를 지원할 수 있다. 로우 파워 상태(411)는 도 5a 내지 도 5d에서 도시된 프리차지 파워 다운 상태(511), 및 도 6에서 도시된 액티브 파워 다운 상태(618)뿐만 아니라 프리차지 파워 다운 상태(611)를 포함할 수 있다. 딥 로우 파워 상태(421)는 도 5a 내지 도 5d에서 도시된 최대 파워 다운 상태(516) 및 도 6에서 도시된 최대 파워 다운 상태(616)를 포함할 수 있다.
일 실시 예에 따라, 메모리 모듈(350)은 로우 파워 상태(411) 및 딥 로우 파워 상태(421) 사이의 직접적인 전환들을 가능하게 할 수 있다. 메모리 모듈(350)의 메모리 내 파워 관리부(예를 들면, 도 3의 메모리 내 파워 관리부(361))는 일반 파워 상태(401), 로우 파워 상태(411), 및 딥 로우 파워 상태(421)를 포함하는 다양한 큰 단위의 파워 상태들로의 진입 및 이탈을 제어할 수 있다.
도 5a 내지 도 5d는 몇몇 실시 예들에 따른, 메모리 모듈의 상세한 파워 상태 도면들을 보여준다. 메모리 모듈은 세 개의 파워 상태들, 즉, 유휴 상태(512), 프리차지 파워 다운 상태(511), 및 최대 파워 다운 상태(516) 중 어느 하나에 있을 수 있다. 도 5a를 참조하면, 메모리 내 파워 관리부는 메모리 모듈의 파워 상태를 유휴 상태(512)에서 프리차지 파워 다운 상태(511)로, 그리고 유휴 상태(512)에서 최대 파워 다운 상태(516)로 전환할 수 있다. 게다가, 메모리 내 파워 관리부는 메모리 모듈의 파워 상태를 프리차지 파워 다운 상태(511)에서 최대 파워 다운 상태(516)로 전환할 수 있다. 유휴 상태(512)에서 프리차지 파워 다운 상태(511) 또는 최대 파워 다운 상태(516) 중 어느 하나로의 진입, 또는 프리차지 파워 다운 상태(511)에서 최대 파워 다운 상태(516)로의 진입은 메모리 내 파워 관리부에 의해 결정될 수 있다. 진입할 때, 메모리 내 파워 관리부는 도 3을 참조하여 설명된 리포팅 메커니즘(reporting mechanism)을 통해 메모리 모듈의 상태를 호스트 컴퓨터의 메모리 컨트롤러에 알릴 수 있다.
도 5b를 참조하면, 메모리 내 파워 관리부는 메모리 모듈의 파워 상태를 프리차지 파워 다운 상태(511)에서 유휴 상태(512)로, 그리고 최대 파워 다운 상태(516)에서 유휴 상태로(512)로 전환할 수 있다. 게다가, 메모리 내 파워 관리부는 메모리 모듈의 파워 상태를 최대 파워 다운 상태(516)에서 프리차지 파워 다운 상태(511)로 전환할 수 있다. 프리차지 파워 다운 상태(511) 또는 최대 파워 다운 상태(516) 중 어느 하나에서 유휴 상태(512)로의 이탈, 또는 최대 파워 다운 상태(516)에서 프리차지 파워 다운 상태(511)로의 이탈은 메모리 내 파워 관리부에 의해 결정될 수 있다. 이탈할 때, 메모리 내 파워 관리부는 도 3을 참조하여 설명된 리포팅 메커니즘을 통해 메모리 모듈의 상태를 호스트 컴퓨터의 메모리 컨트롤러에 알릴 수 있다.
일 실시 예에 따라, 호스트 컴퓨터의 메모리 컨트롤러는 메모리 내 파워 관리부에 의해 내려진 메모리 내 결정을 무시할 수 있는 우선의(priority) 진입 및 이탈을 위한 호스트 명령들을 제공할 수 있다. 메모리 내 파워 관리부에 의해 알려진 상태에 기초하여, 호스트 컴퓨터의 메모리 컨트롤러는 파워 상태 전환의 무효화를 결정하거나 나중에 호스트에 의해 발행되는 우선의 파워 명령(power command)을 발행하여 파워 상태 전환을 무시할 수 있다.
도 5c는 유휴 상태(512)에서 프리차지 파워 다운 상태(511) 또는 최대 파워 다운 상태(516) 중 어느 하나로의 우선의 진입을 보여준다. 유휴 상태(512)에서 프리차지 파워 다운 상태(511)로의 진입은 PDE(power down entry) 호스트 명령에 의해 가능하게 된다. 유휴 상태(512)에서 최대 파워 다운 상태(516)로의 진입은 MRS(mode register set) 호스트 명령에 의해 가능하게 된다.
도 5d는 프리차지 파워 다운 상태(511) 또는 최대 파워 다운 상태(516) 중 어느 하나에서 유휴 상태(512)로의 우선의 이탈을 보여준다. 프리차지 파워 다운 상태(511)에서 유휴 상태(512)로의 이탈은 PDX(power down exit) 호스트 명령에 의해 가능하게 된다. 최대 파워 다운 상태(516)에서 유휴 상태(512)로의 이탈은 NOP(no operation) 명령이 뒤따르는 SRX(self refresh exit) 호스트 명령에 의해 가능하게 된다.
일 실시 예에 따라, 메모리 모듈(350)은 복수의 작은 단위의 파워 상태들을 가질 수 있고 자신의 파워 상태들을 작은 단위의 레벨(fine-grained level)로 제어할 수 있다. 도 6은 일 실시 예에 따른, 메모리 모듈의 작은 단위의 파워 상태들의 예시를 보여준다. 각 큰 단위의 파워 상태 내에서, 메모리는 다수의 내부 작은 단위의 파워 상태들을 정의할 수 있다. 예를 들어, 메모리 모듈의 프리차지 파워 다운 상태(611)는 i개 작은 단위의 파워 상태들(FP1a - FPia)을 가질 수 있다. 메모리 모듈의 최대 파워 다운 상태(616)는 j개 작은 단위의 파워 상태들(FP1b-FPjb)을 가질 수 있다. 메모리 모듈의 액티브 파워 다운 상태(618)는 k개 파워 상태들(FP1c-FPkc)을 가질 수 있다.
본 발명의 메모리 내 파워 관리부는 하나의 작은 단위의 파워 상태에서 다른 작은 단위의 파워 상태로의 전환을 관리할 수 있다. 일 실시 예에 있어서, 특정한 큰 단위의 파워 상태 내에서 작은 단위의 파워 상태들 사이의 전환은, 작은 단위의 파워 상태가 작은 단위의 파워 상태들 사이를 통해 일련의 파워 전환들을 통과하여 다른 작은 단위의 파워 상태로 전환할 수 있도록, 이후에 발생한다. 다른 실시 예에 있어서, 특정한 큰 단위의 파워 상태 내 두 개의 작은 단위의 파워 상태들 사이의 전환은 작은 단위의 파워 상태들 사이를 통과하는 중간의 전환들을 거치지 않고 발생할 수 있다.
일 실시 예에 따라, 메모리 모듈은 작은 단위의 파워 상태들 사이의 파워 상태 변화들에 관해서, 그것들이 현재 큰 단위의 파워 상태 내에서 있는 한, 호스트 컴퓨터에 알리지 않는다. 특정한 큰 단위의 파워 상태 내에서 작은 단위의 파워 상태들 사이의 전환은 새로운 큰 단위의 파워 상태로의 전환을 알리지 않으면서 다른 큰 단위의 파워 상태로의 전환을 야기할 수 없다. 그러나, 메모리 모듈은 큰 단위의 파워 상태들 사이에서 전환할 때 호스트 컴퓨터에 알릴 수 있다. 예를 들어, 메모리 모듈은 프리차지 파워 다운 상태(611)의 작은 단위의 파워 상태(FPia)에서 최대 파워 다운 상태(616)로 전환할 때 호스트 컴퓨터에 알린다. 메모리 모듈이 최대 파워 다운 상태(616)로 진입하면, 메모리 내 파워 관리부는 호스트 컴퓨터에 알리지 않고 작은 단위의 최대 파워 다운 상태들(FP1b-FPjb) 중 어느 하나로 전환할 수 있다. 메모리 내 파워 관리부가 최대 파워 다운 상태(616)에서 이탈하기로 결정하면, 메모리 내 파워 관리부는 호스트 컴퓨터에 알리고 메모리 모듈의 파워 상태를 최대 파워 다운 상태(616)에서 다시 프리차지 파워 다운 상태(611)의 작은 단위의 파워 상태(FPia)로 전환한다. 일 실시 예에 있어서, 최대 파워 다운 상태(616)에서 이탈할 때, 메모리 내 파워 관리부는 최대 파워 다운 상태(616)로 진입했었던 프리차지 파워 다운 상태(611)의 작은 단위의 파워 상태(예를 들면, FPia) 외 다른 작은 단위의 파워 상태(예를 들면, FP1a)로 전환한다.
도 7은 일 실시 예에 따른, 예시적인 메모리 내 파워 관리부의 개략도를 보여준다. 메모리 내 파워 관리부(761)는 메모리 내 결정 로직(in-memory decision logic, 762) 및 파워 상태 컨트롤러(power state controller, 770)를 포함한다. 메모리 내 결정 로직(762)은 하나 이상의 타이머(timer, 763), 예측부(predictor, 764), 및 기계 학습 알고리즘(machine learning algorithm, 765)을 포함할 수 있고 자신의 파워 상태를 변경할 시기와 전환할 파워 상태를 파워 상태 컨트롤러(770)에 지시할 수 있다. 파워 상태 컨트롤러(770)는 메모리 내 결정 로직(762)에 의해 제공된 정보에 기초하여 새로운 파워 상태(722)를 결정한다. 파워 상태 컨트롤러(770)는 호스트 컴퓨터에 의해 수신된 우선의 파워 명령(771), 예를 들면, 도 5c 및 도 5d에서 도시된 PDE, PDX, MRS, 및 NOP가 뒤따르는 SRX와 같은 우선의 호스트 명령들을 더 참조할 수 있다. 일 실시 예에 따라, 파워 상태 컨트롤러(770)는 메모리 내 결정 로직(762) 및/또는 호스트 컴퓨터로부터 수신된 우선의 파워 명령(771)에 기초하여 메모리 모듈에 대한 파워 상태 표를 유지하고, 파워 상태 전환 흐름을 제어하고, 그리고 파워 상태 변경을 실행한다. 표 1은 일 실시 예에 따라, 파워 상태 표의 예시를 보여준다.
파워 상태 가동(operational) 상태 다음 가능한 상태들 진입 레이턴시
(Entry Latency)
이탈 레이턴시
(Exit Latency)
1 0, 2 10 ns 10 ns
... ... ... ... ...
메모리 내 결정 로직(762)의 타이머(763)는 정적 또는 동적 시간 제한들을 이용하여 파워 전환 시간들에 대한 시간적인 정보를 제공할 수 있다. 메모리 내 결정 로직(762)의 예측부(764)는 히스토리(history) 기반의 활동 예측 변수들(activity predictors)을 제공할 수 있다. 예측부(764)는 또한 동적으로 타이머(763)를 변경할 수 있다. 기계 학습 알고리즘(765)은 자체 트레이닝(self-training), 트레이닝 예시들(training examples), 및/또는 호스트 컴퓨터 또는 다른 메모리 모듈로부터 수신된 트레이닝 데이터(training data)에 기초하여 메모리 모듈의 파워 상태들을 최적화하는 것을 학습할 수 있다. 트레이닝 데이터는 메모리 모듈의 초기화 동안 호스트 컴퓨터에서 수신될 수 있다. 기계 학습 알고리즘(765)은 학습에 기초하여 예측부(764) 또는 타이머(763)를 수정할 수 있다.
호스트 컴퓨터 및 메모리 모듈은 큰 단위의 파워 상태들 사이에서의 전환을 조정할 수 있다. 일반적으로, 메모리 모듈 상의 파워 상태들에 대한 호스트 제어는 메모리 내 제어를 무시한다. 메모리 내 파워 관리부(761)는 상태 신호(722)를 통해 호스트 컴퓨터로 자신의 파워 상태를 알릴 수 있다. 상태 신호(722)는 메모리 버스를 통해 하나 이상의 전용의(dedicated) 혹은 용도 변경된(repurposed) 핀들을 거쳐 메모리 모듈에서 호스트 컴퓨터로 전송될 수 있다. 호스트 컴퓨터는 메모리 모듈로부터의 상태 신호(722)를 수신하고 이용하도록 초기화 시에 구성될 수 있다.
전용의 또는 용도 변경된 피드백 핀들의 예시들은 DDR4 메모리 버스의 DQ, ODT[1], CKE[1], CS[1:3], CK_N[1], CK_P[1], RFUs, 및 ALERT_n을 포함하되, 이에 제한되지는 않는다. 이러한 전용의 또는 용도 변경된 핀들은 우선의 파워 명령(771)뿐만 아니라 상태 신호(722)를 교환하는데 이용될 수 있다.
일 실시 예에 따라, 메모리 내 결정 로직(762)은 유저에 의해 프로그램 가능하다. 메모리 모듈은 메모리 모듈에 허용되는 자체 파워 관리 스킴(scheme)을 결정하도록 초기화 동안 구성될 수 있다. 예를 들어, 메모리 모듈은 단지 큰 단위의 파워 레벨에서 스스로를 제어할 수 있게(self-governing) 구성될 수 있다. 다른 예에 있어서, 메모리 모듈은 작은 단위의 파워 레벨에서 스스로를 제어할 수 있게 구성될 수 있다.
도 8은 일 실시 예에 따른, 예시적인 메모리 내 파워 전환 프로세스(process)의 순서도이다. DDR에 호환되는 메모리 모듈은 초기화된다(단계 801). 초기화 동안, 호스트 컴퓨터의 메모리 컨트롤러는 메모리 모듈의 메모리 내 파워 관리 스킴을 결정한다(단계 802). 메모리 모듈의 메모리 내 파워 관리 스킴은 메모리 모듈의 유형 및 초기화 동안 메모리 컨트롤러와 메모리 모듈의 메모리 내 파워 관리부 사이의 협의에 기초하여 결정될 수 있다. 게다가, 메모리 내 파워 관리 스킴은 활성화되거나(enable)/비활성화되거나(disable), 또는 런타임(runtime) 동안 호스트 파워 관리부에 의한 호스트 제어가 가능하게 한다. 예를 들어, 메모리 모듈은 적용된 메모리 모듈 내 파워 관리 스킴에 기초하여 작은 단위의 파워 상태들 사이에서 전환되게 하거나 전환되게 하지 않을 수 있다. 메모리 모듈의 메모리 내 파워 관리부는 내부 로직 및/또는 호스트 파워 명령에 의해 메모리 모듈의 파워 상태를 전환할 수 있다(단계 803). 파워 상태의 전환이 큰 단위의 파워 전환이면(단계 804), 메모리 내 파워 관리부는 호스트 컴퓨터에 파워 상태의 변화를 알린다(단계 805). 그렇지 않으면, 작은 단위의 파워 상태들 사이에서의 전환에 대해, 메모리 내 파워 관리부는 호스트 컴퓨터에 파워 상태 변화를 알리지 않는다. 메모리 모듈의 파워 상태 변화하는 것의 프로세스는 호스트 컴퓨터로부터 수신된 호스트 파워 명령에 의존하지 않고 메모리 모듈의 파워 소모 최적화를 계속한다.
일 실시 예에 따라, 메모리 내 파워 관리부는 일반 파워 상태(401), 로우 파워 상태(411), 및 딥 로우 파워 상태(421)와 같은 DDR 표준에 의해 정의된 파워 상태들 내 작은 단위의 파워 상태들에서 메모리 모듈의 파워 상태를 최적화할 수 있다. 예를 들면, 본 발명의 메모리 시스템은 데이터 센터(datacenter)에서 구현될 수 있다. 메모리 트래픽(traffic)이 적은 시간 동안(예를 들면, 이른 아침 시간), 메모리 내 파워 관리부는 메모리 요청들이 없거나 거의 없음을 감지할 수 있다. 그러면 메모리 모듈 내 파워 관리부는 메모리 모듈이 로우 파워 상태에 진입하도록 결정할 수 있다. 메모리 내 파워 관리부가 더 많은 메모리 트래픽들을 감지하면(예를 들면, 일반적인 오전 시간), 메모리 내 파워 관리부는 메모리 요구가 증가하는 것을 감지할 수 있고, 메모리 요청들에 빠르게 응답할 수 있도록 로우 파워 상태에서 이탈할 수 있다.
일 실시 예에 있어서, 메모리 모듈은 복수의 메모리 요소들, 메모리 내 파워 관리부, 및 메모리 버스를 통한 호스트 컴퓨터와의 인터페이스를 포함한다. 메모리 내 파워 관리부는 메모리 모듈의 파워 상태 전환을 제어한다. 메모리 모듈의 파워 상태 전환은 로우 파워 다운 상태에서 최대 파워 다운 상태로의 직접적인 전환을 포함한다.
메모리 모듈은 DDR에 호환되는 메모리 모듈일 수 있다.
호스트 컴퓨터는 메모리 내 파워 관리부에 의한 메모리 모듈의 파워 상태 전환을 무시하는 호스트 파워 명령을 제공한다.
메모리 버스는 호스트 컴퓨터로 상태 신호를 전송하기 위한 하나 이상의 용도 변경된 핀들을 포함할 수 있다.
로우 파워 다운 상태 및 최대 파워 다운 상태 각각은 복수의 작은 단위의 파워 상태들을 가질 수 있고, 메모리 내 파워 관리부는 복수의 작은 단위의 파워 상태들 사이에서의 메모리 모듈의 파워 상태의 전환에 대한 상태 신호를 전송하지 않을 수 있다.
메모리 내 파워 관리부는 새로운 파워 상태 및 새로운 파워 상태로의 전환 시간을 결정하기 위해 메모리 내 결정 로직을 포함할 수 있다. 메모리 내 결정 로직은 하나 이상의 타이머, 예측부, 및 기계 학습 알고리즘을 포함할 수 있다.
타이머는 정적 또는 동적 시간 제한들을 이용하여 파워 전환 시간들에 대한 일시적인 정보를 제공한다.
예측부는 메모리 모듈의 파워 상태의 전환에 대한 히스토리 기반의 활동 예측 변수들을 제공한다.
기계 학습 알고리즘은 하나 이상의 자체 트레이닝, 트레이닝 예시들, 및 호스트 컴퓨터 또는 다른 메모리 모듈로부터 수신된 트레이닝 데이터에 기초하여 파워 상태들을 최적화하는 것을 학습한다.
메모리 내 파워 관리부는 메모리 내 결정 로직 및 호스트 컴퓨터로부터 수신된 호스트 파워 명령에 의해 제공된 하나 이상의 결정에 기초하여 메모리 모듈의 파워 상태를 전환하는 파워 상태 컨트롤러를 더 포함할 수 있다.
다른 실시 예에 따라, 메모리 내 파워 전환을 제공하기 위한 방법은, 메모리 버스를 통해 호스트 컴퓨터와 연결된 메모리 모듈 내 메모리 내 파워 관리부를 제공하는 단계, 메모리 모듈의 초기화에서 메모리 내 파워 관리 스킴을 결정하는 단계, 및 메모리 내 파워 관리부를 이용하여 메모리 모듈의 파워 상태의 전환을 제어하는 단계를 포함한다. 메모리 모듈의 파워 상태의 전환은 로우 파워 다운 상태에서 최대 파워 다운 상태로의 직접적인 전환을 포함한다.
메모리 모듈은 DDR에 호환되는 메모리 모듈일 수 있다.
메모리 내 파워 전환을 제공하기 위한 방법은 메모리 내 파워 관리부에 의한 메모리 모듈의 파워 상태의 전환을 무시하는 호스트 컴퓨터로부터의 호스트 파워 명령을 제공하는 단계를 더 포함한다.
메모리 내 파워 전환을 제공하기 위한 방법은 메모리 버스 상의 하나 이상의 용도 변경된 핀들을 이용하여 호스트 컴퓨터로 상태 신호를 전송하는 단계를 더 포함한다.
로우 파워 다운 상태 및 최대 파워 다운 상태 각각은 복수의 작은 단위의 파워 상태들을 포함할 수 있고, 그리고 메모리 내 파워 전환을 제공하기 위한 방법은 호스트 컴퓨터로 상태 신호를 전송하지 않고 복수의 작은 파워 상태들 사이에서 메모리 모듈의 파워 상태를 전환하도록 하는 단계를 더 포함한다.
메모리 내 파워 관리부는 새로운 파워 상태 및 새로운 파워 상태로의 전환 시간을 결정하기 위한 메모리 내 결정 로직을 포함할 수 있다.
메모리 내 파워 전환을 제공하기 위한 방법은 메모리 내 결정 로직의 타이머를 이용해 정적 또는 동적 시간 제한들을 이용하여 파워 전환 시간들을 위한 일시적인 정보를 제공하는 단계를 더 포함한다.
메모리 내 파워 전환을 제공하기 위한 방법은 메모리 내 결정 로직의 예측부를 이용하여 메모리 모듈의 파워 상태의 전환을 위한 히스토리 기반의 활동 예측 변수들을 제공하는 단계를 더 포함할 수 있다.
메모리 내 파워 전환을 제공하기 위한 방법은 하나 이상의 자체 트레이닝, 트레이닝 예시들, 및 호스트 컴퓨터 또는 다른 메모리 모듈로부터 수신된 트레이닝 데이터에 기초하여 파워 상태들을 최적화하는 방법을 학습하는 단계를 더 포함할 수 있다.
메모리 내 파워 전환을 제공하기 위한 방법은 메모리 내 결정 로직 및 호스트 컴퓨터로부터 수신된 호스트 파워 명령에 의해 제공된 하나 이상의 결정에 기초하여 메모리 모듈의 파워 상태를 전환하는 단계를 더 포함할 수 있다.
전술한 예시적인 실시 예는 DDR에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리를 제공하기 위한 시스템 및 방법을 구현하는 다양한 실시 예들을 설명하기 위해 본 명세서에서 설명되었다. 개시된 예시적인 실시 예들로부터의 다양한 수정들 및 이탈들이 당업자에게 발생할 것이다. 본 발명의 범위 내에 속하는 내용은 다음의 청구 범위에서 제시된다.
301: 메모리 컨트롤러
311: 호스트 파워 관리부
320: 데이터
321: 명령/주소 버스
322: 상태 신호
350: 메모리 모듈
351: 버퍼 칩
361: 메모리 내 파워 관리부
370_1~370_8: 메모리 요소들

Claims (10)

  1. 복수의 메모리 요소들(memory components);
    메모리 내(in-memory) 파워 관리부; 및
    메모리 버스를 통한 호스트 컴퓨터와의 인터페이스(interface)를 포함하되,
    상기 메모리 내 파워 관리부는 메모리 모듈의 파워 상태의 전환을 제어하도록 구성되고,
    상기 메모리 모듈의 상기 파워 상태는 로우 파워 다운 상태, 일반 파워 상태, 및 최대 파워 다운 상태를 포함하고,
    상기 로우 파워 다운 상태는 복수의 작은 단위의 로우 파워 다운 상태들을 포함하고,
    상기 최대 파워 다운 상태는 복수의 작은 단위의 최대 파워 다운 상태들을 포함하고,
    상기 메모리 모듈의 상기 파워 상태의 상기 전환은 상기 로우 파워 다운 상태의 상기 복수의 작은 단위의 로우 파워 다운 상태들 중 임의의 상태로부터 상기 최대 파워 다운 상태로의 직접적인 전환을 포함하고,
    상기 메모리 내 파워 관리부는, 상기 복수의 작은 단위의 로우 파워 다운 상태들 중 제1 및 제2 작은 단위의 로우 파워 다운 상태들 사이의 중간 작은 단위의 로우 파워 다운 상태를 거치지 않고, 상기 제1 작은 단위의 로우 파워 다운 상태로부터 상기 제2 작은 단위의 로우 파워 다운 상태로의 전환을 제어하도록 구성되고,
    상기 메모리 내 파워 관리부는, 상기 복수의 작은 단위의 최대 파워 다운 상태들 중 제1 및 제2 작은 단위의 최대 파워 다운 상태들 사이의 중간 작은 단위의 최대 파워 다운 상태를 거치지 않고, 상기 제1 작은 단위의 최대 파워 다운 상태로부터 상기 제2 작은 단위의 최대 파워 다운 상태로의 전환을 제어하도록 구성된 메모리 모듈.
  2. 제 1 항에 있어서,
    상기 호스트 컴퓨터는 상기 메모리 내 파워 관리부에 의해서 제어되는 상기 메모리 모듈의 상기 파워 상태의 상기 전환을 무시하는 호스트 파워 명령을 제공하도록 구성된 메모리 모듈.
  3. 제 1 항에 있어서,
    상기 메모리 모듈은 더블 데이터 레이트(Double Data Rate)에 호환되는 메모리 모듈이고,
    상기 메모리 버스는 상기 호스트 컴퓨터로 상태 신호를 전송하는 하나 이상의 용도 변경된 핀을 포함하는 메모리 모듈.
  4. 제 1 항에 있어서,
    상기 메모리 내 파워 관리부는 상기 로우 파워 다운 상태 내에서 상기 복수의 작은 단위의 로우 파워 다운 상태들 사이에서의 또는 상기 최대 파워 다운 상태 내에서 상기 복수의 작은 단위의 최대 파워 다운 상태들 사이에서의 상기 메모리 모듈의 상기 파워 상태의 상기 전환에 대한 상태 신호를 상기 호스트 컴퓨터로 전송하지 않는 메모리 모듈.
  5. 제 1 항에 있어서,
    상기 메모리 내 파워 관리부는 새로운 파워 상태 및 상기 새로운 파워 상태로의 전환 시간을 결정하는 메모리 내 결정 로직을 포함하고
    상기 메모리 내 결정 로직은 하나 이상의 타이머, 예측부, 및 기계 학습 알고리즘을 포함하는 메모리 모듈.
  6. 제 5 항에 있어서,
    상기 타이머는 정적 또는 동적 시간 제한들을 이용하여 파워 전환 시간들의 일시적인 정보를 제공하도록 구성된 메모리 모듈.
  7. 제 5 항에 있어서,
    상기 예측부는 상기 메모리 모듈의 상기 파워 상태의 상기 전환을 위한 히스토리 기반의 활동 예측 변수들을 제공하도록 구성된 메모리 모듈.
  8. 제 5 항에 있어서,
    상기 기계 학습 알고리즘은 하나 이상의 자체 트레이닝, 트레이닝 예시들, 및 상기 호스트 컴퓨터 또는 다른 메모리 모듈로부터 수신된 트레이닝 데이터에 기초하여 파워 상태들을 최적화하는 것을 학습하도록 구성된 메모리 모듈.
  9. 제 5 항에 있어서,
    상기 메모리 내 파워 관리부는 상기 메모리 내 결정 로직 및 상기 호스트 컴퓨터로부터 수신된 호스트 파워 명령에 의해 제공된 하나 이상의 결정에 기초하여 상기 메모리 모듈의 상기 파워 상태의 전환을 제어하도록 구성된 파워 상태 컨트롤러를 더 포함하는 메모리 모듈.
  10. 메모리 내 파워 전환을 제공하는 메모리 모듈의 동작 방법에 있어서:
    메모리 버스를 통해 호스트 컴퓨터와 연결된 상기 메모리 모듈 내에서 메모리 내(in-memory) 파워 관리부를 제공하는 단계;
    상기 메모리 모듈의 초기화에서 메모리 내 파워 관리 스킴(scheme)을 결정하는 단계; 및
    상기 메모리 내 파워 관리부를 이용하여 상기 메모리 모듈의 파워 상태의 전환을 제어하는 단계를 포함하되,
    상기 메모리 모듈의 상기 파워 상태는 로우 파워 다운 상태, 일반 파워 상태, 및 최대 파워 다운 상태를 포함하고,
    상기 로우 파워 다운 상태는 복수의 작은 단위의 로우 파워 다운 상태들을 포함하고,
    상기 최대 파워 다운 상태는 복수의 작은 단위의 최대 파워 다운 상태들을 포함하고,
    상기 메모리 모듈의 상기 파워 상태의 상기 전환은 상기 로우 파워 다운 상태의 상기 복수의 작은 단위의 로우 파워 다운 상태들 중 임의의 상태로부터 상기 최대 파워 다운 상태로의 직접적인 전환을 포함하고,
    상기 메모리 내 파워 관리부는, 상기 복수의 작은 단위의 로우 파워 다운 상태들 중 제1 및 제2 작은 단위의 로우 파워 다운 상태들 사이의 중간 작은 단위의 로우 파워 다운 상태를 거치지 않고, 상기 제1 작은 단위의 로우 파워 다운 상태로부터 상기 제2 작은 단위의 로우 파워 다운 상태로의 전환을 제어하도록 구성되고,
    상기 메모리 내 파워 관리부는, 상기 복수의 작은 단위의 최대 파워 다운 상태들 중 제1 및 제2 작은 단위의 최대 파워 다운 상태들 사이의 중간 작은 단위의 최대 파워 다운 상태를 거치지 않고, 상기 제1 작은 단위의 최대 파워 다운 상태로부터 상기 제2 작은 단위의 최대 파워 다운 상태로의 전환을 제어하도록 구성된 방법.
KR1020170040855A 2016-06-21 2017-03-30 Ddr에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리 KR102151627B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662352991P 2016-06-21 2016-06-21
US62/352,991 2016-06-21
US15/231,629 2016-08-08
US15/231,629 US10347306B2 (en) 2016-06-21 2016-08-08 Self-optimized power management for DDR-compatible memory systems

Publications (2)

Publication Number Publication Date
KR20180000281A KR20180000281A (ko) 2018-01-02
KR102151627B1 true KR102151627B1 (ko) 2020-09-04

Family

ID=60660282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170040855A KR102151627B1 (ko) 2016-06-21 2017-03-30 Ddr에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리

Country Status (2)

Country Link
US (1) US10347306B2 (ko)
KR (1) KR102151627B1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012115839A1 (en) 2011-02-23 2012-08-30 Rambus Inc. Protocol for memory power-mode control
US10347306B2 (en) * 2016-06-21 2019-07-09 Samsung Electronics Co., Ltd. Self-optimized power management for DDR-compatible memory systems
US10409357B1 (en) * 2016-09-30 2019-09-10 Cadence Design Systems, Inc. Command-oriented low power control method of high-bandwidth-memory system
US10379748B2 (en) * 2016-12-19 2019-08-13 International Business Machines Corporation Predictive scheduler for memory rank switching
CN108536271B (zh) * 2018-03-30 2021-07-06 海信视像科技股份有限公司 一种降低功耗的方法、装置及存储介质
US11429725B1 (en) * 2018-04-26 2022-08-30 Citicorp Credit Services, Inc. (Usa) Automated security risk assessment systems and methods
US10698846B2 (en) * 2018-11-07 2020-06-30 Realtek Semiconductor Corporation DDR SDRAM physical layer interface circuit and DDR SDRAM control device
KR20200130011A (ko) 2019-05-10 2020-11-18 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US20220004328A1 (en) * 2020-07-01 2022-01-06 Facebook Technologies, Llc Hierarchical power management of memory for artificial reality systems
US11664062B2 (en) 2020-07-24 2023-05-30 Advanced Micro Devices, Inc. Memory calibration system and method
US11733763B2 (en) 2020-08-06 2023-08-22 Micron Technology, Inc. Intelligent low power modes for deep learning accelerator and random access memory
US11640251B2 (en) * 2021-01-20 2023-05-02 Western Digital Technologies, Inc. Early transition to low power mode for data storage devices
US11934251B2 (en) * 2021-03-31 2024-03-19 Advanced Micro Devices, Inc. Data fabric clock switching
CN114388008B (zh) * 2022-01-14 2023-08-29 长鑫存储技术有限公司 电源控制电路及控制方法
CN114384996B (zh) * 2022-01-14 2023-10-24 长鑫存储技术有限公司 电源控制电路及控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102673A (ja) 2005-10-07 2007-04-19 Renesas Technology Corp 半導体集積回路装置および消費電力管理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873823B2 (en) * 2003-12-01 2011-01-18 Ravi Shankar Dynamically reconfigurable power-aware, highly scaleable multiplier with reusable and locally optimized structures
US20070006000A1 (en) * 2005-06-30 2007-01-04 Sandeep Jain Using fine-grained power management of physical system memory to improve system sleep
US7908501B2 (en) * 2007-03-23 2011-03-15 Silicon Image, Inc. Progressive power control of a multi-port memory device
US7958380B2 (en) * 2007-05-22 2011-06-07 Intel Corporation Coarsely controlling memory power states
US8339891B2 (en) 2010-05-25 2012-12-25 Lsi Corporation Power savings and/or dynamic power management in a memory
WO2012021380A2 (en) 2010-08-13 2012-02-16 Rambus Inc. Fast-wake memory
US8879346B2 (en) 2011-12-30 2014-11-04 Intel Corporation Mechanisms for enabling power management of embedded dynamic random access memory on a semiconductor integrated circuit package
US8611170B2 (en) 2011-12-30 2013-12-17 Intel Corporation Mechanisms for utilizing efficiency metrics to control embedded dynamic random access memory power states on a semiconductor integrated circuit package
US9443564B2 (en) * 2015-01-26 2016-09-13 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, electronic component, and electronic device
US10163508B2 (en) * 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US10621119B2 (en) * 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10347306B2 (en) * 2016-06-21 2019-07-09 Samsung Electronics Co., Ltd. Self-optimized power management for DDR-compatible memory systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102673A (ja) 2005-10-07 2007-04-19 Renesas Technology Corp 半導体集積回路装置および消費電力管理装置

Also Published As

Publication number Publication date
KR20180000281A (ko) 2018-01-02
US20170365305A1 (en) 2017-12-21
US10347306B2 (en) 2019-07-09

Similar Documents

Publication Publication Date Title
KR102151627B1 (ko) Ddr에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리
JP6709825B2 (ja) Dram及びその操作方法
KR101259697B1 (ko) 메모리 디바이스의 셀프-리프레시 상태로부터의 고속 탈출
US10242727B2 (en) Reduction of power consumption in memory devices during refresh modes
US8116161B2 (en) System and method for refreshing a DRAM device
WO2010072507A1 (en) Power management of a spare dram on a buffered dimm
CN101981548B (zh) 借助细粒度的预充电管理来提高存储器吞吐量
CN112041925B (zh) 用于在读取操作期间控制数据选通信号的系统及方法
KR20100064902A (ko) 버퍼인에이블신호 생성회로 및 이를 이용한 입력회로
JP3725715B2 (ja) クロック同期システム
US11024361B2 (en) Coincident memory bank access via cross connected shared bank resources
CN106328186B (zh) 存储器控制方法及其系统
CN102243526B (zh) 双倍数据速率内存的内存控制器及其控制方法
US7626884B2 (en) Optimizing mode register set commands
CN107799137B (zh) 存储器存储装置及其操作方法
JP2007095277A (ja) 半導体メモリ装置
KR100798772B1 (ko) 반도체 메모리 장치
CN105824760B (zh) 存储装置和其电力控制方法
US7428179B2 (en) Apparatus for controlling activation of semiconductor integrated circuit and controlling method of the same
US10622031B1 (en) Power noise reduction technique for high density memory with gating
CN110739013B (zh) 动态随机存取存储器
KR102208637B1 (ko) 휘발성 메모리 디바이스 및 그 셀프 리프레쉬 방법
JPS6337893A (ja) 記憶装置
KR100912966B1 (ko) 반도체 메모리장치의 내부전원 생성장치
JPH10241356A (ja) メモリ装置

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right