KR102137741B1 - 메모리 어레이를 위한 동적 열 예산 할당 - Google Patents

메모리 어레이를 위한 동적 열 예산 할당 Download PDF

Info

Publication number
KR102137741B1
KR102137741B1 KR1020140177552A KR20140177552A KR102137741B1 KR 102137741 B1 KR102137741 B1 KR 102137741B1 KR 1020140177552 A KR1020140177552 A KR 1020140177552A KR 20140177552 A KR20140177552 A KR 20140177552A KR 102137741 B1 KR102137741 B1 KR 102137741B1
Authority
KR
South Korea
Prior art keywords
memory group
credits
memory
thermal budget
current
Prior art date
Application number
KR1020140177552A
Other languages
English (en)
Other versions
KR20150079410A (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 KR20150079410A publication Critical patent/KR20150079410A/ko
Application granted granted Critical
Publication of KR102137741B1 publication Critical patent/KR102137741B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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/3268Power saving in hard disk drive
    • 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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)

Abstract

본 발명의 사상에 따른 실시 예들은 각각의 메모리 그룹의 작업량에 기초하여 총 메모리 열 예산으로부터 메모리 어레이에 있는 각각의 메모리 그룹에 열 예산을 동적으로 할당하거나 재분배하기 위한 시스템 및 방법과 관련된다. 이 방법에서, 높은 작업량을 갖는 메모리 그룹들은 더 많은 열 예산을 받을 수 있다. 상기 할당은 시간이 흐름에 따라 동적으로 조정될 수 있다. 따라서, 총 열 예산을 효율적으로 할당하는 동안, 개별적인 그리고 전체적인 메모리 그룹 성능이 증가할 수 있다. 상기 시스템의 상기 총 열 예산을 동적으로 분배함으로써, 상시 시스템의 상기 성능은 전체적으로 향상되며, 그 결과, 데이터 센터의 총 소유 비용(total cost of ownership; TCO)은 감소할 수 있다.

Description

메모리 어레이를 위한 동적 열 예산 할당{DYNAMIC THERMAL BUDGET ALLOCATION FOR MEMORY ARRAY}
본 발명은 메모리 어레이를 포함하는 시스템에 관한 것으로, 좀더 상세하게는, 복수의 메모리 그룹들을 포함하는 시스템을 위한 동적으로 열 예산을 할당하는 방법 및 시스템에 관한 것이다.
메모리는 컴퓨터 및 컴퓨팅의 기본적인 소자이다. 예를 들어, 컴퓨터 서버는 복수의 메모리 모듈들, 메모리 어레이들, 메모리 어레이 박스들과 같은 외부 메모리 유닛들, 또는 이와 유사한 것들을 포함할 수 있다. 다른 방법으로, 모바일 장치들은 복수의 임베디드 메모리 칩들(embedded memory chip)을 포함할 수 있다. 메모리 그룹들을 포함하는 일반적인 시스템들에 있어서, 각각의 메모리 그룹은 그것 자신의 총 열 예산(thermal budget)의 고정된 비율을 갖는다. 각각의 메모리 그룹은 균등하게 총 열 예산을 공유하고, 그리고 각각의 몫은 영구적으로 고정된다. 총 열 예산은 가장 최악의 케이스 예측 및 평가에 기초한다. 시스템 디자이너들은 각각의 메모리 그룹을 위한 열 예산을 보유하기 위해 가장 최악의 케이스로 설계한다. 고정된 열 예산, 또는 열 설계 전력(thermal design power; TDP)이 충분한 그리고 안정적인 동작을 확보하기 위한 시도로써 사용될 수 있다.
그러나 대부분의 케이스에 있어서, 각각의 메모리 그룹에 대한 부담은 균등하게 분배되지 않는다. 즉, 동일한 시스템에 있는 낮은 부담을 갖는 다른 메모리 그룹은 여분의 사용되지 않은 열 예산을 가질 수 있는 반면, 어떤 메모리 그룹은 높은 부담을 가질 수 있고, 총 열 예산의 비율에 있어서 한계에 도달할 수 있다. 그 결과, 사용되지 않은 열 예산 마진 때문에, 열 예산은 낭비되고 시스템의 동적 퍼포먼스는 제한될 수 있다.
각각의 메모리 그룹의 작업량에 기초하여 총 메모리 열 예산으로부터 각각의 메모리 그룹으로 열 예산을 동적으로 재분배하기 위한 테크닉이 필요하다. 본 명세서에서 설명된 발명의 사상과 함께, 배경 기술의 다른 한계들이 설명되었다.
본 발명의 목적은 메모리 그룹의 작업량에 기초하여 각각의 메모리 그룹에 열 예산을 동적으로 할당함으로써 메모리 그룹의 성능을 향상시키는데 있다.
본 발명의 실시 예에 따른 메모리 어레이에 대한 열 예산을 동적으로 할당하는 방법은: 동일한 수의 크리딧들을 상기 메모리 어레이에 있는 복수의 메모리 그룹들 각각으로 할당하는 단계; 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 양 중 적어도 하나를 감지하는 단계; 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 할당된 수보다 적은지 여부를 판단하는 단계; 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 판단되는 경우, 상기 특정한 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 특정한 메모리 그룹의 쓰로틀링을 증가시키는 단계; 상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단하는 단계; 그리고 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 판단되는 경우, 상기 특정한 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 특정한 메모리 그룹의 쓰로틀링을 감소시키는 단계를 포함할 수 있다.
실시 예로써, 미리 정해진 기간이 경과한 후, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 두 번째 양 중 적어도 하나를 감지하는 단계; 상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 판단하는 단계; 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정한 메모리 그룹에 대한 상기 크리딧들의 할당된 수보다 적다고 판단된 경우, 상기 특정한 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 특정한 메모리 그룹의 쓰로틀링을 증가시키는 단계; 상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정한 메모리 그룹에 대한 상기 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단하는 단계; 그리고 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 판단되는 경우, 상기 특정한 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 특정한 메모리 그룹의 쓰로틀링을 감소시키는 단계를 더 포함할 수 있다.
다른 실시 예로써, 상기 크리딧들을 분배하는 단계; 상기 분배된 크리딧들에 따라 상기 메모리 어레이의 다양한 물리적 위치들에 걸쳐 열을 분배하는 단계; 그리고 복수의 고정된 시간 주기 동안, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 양 중 적어도 하나를 감지하는 단계를 주기적으로 반복하고, 상기 소모되는 전류 또는 전력의 양이 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 상기 동적 열 예산 로직에 의해 판단하고, 그리고 상기 소모되는 전류 또는 전력의 양이 크리딧들의 상기 할당된 수보다 적은지 여부를 상기 동적 열 예산 로직에 의해 판단하는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 복수의 시간 주기 각각은 20 마이크로 초이거나 또는 그보다 클 수 있다.
또 다른 실시 예로써, 상기 소모되는 전류 또는 전력의 양이 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 상기 동적 열 예산 로직에 의해 판단하는 단계는: 상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 상기 크리딧들의 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단하는 단계; 그리고 상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 상기 크리딧들의 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단하는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 복수의 메모리 그룹들 중 상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 상기 크리딧들의 할당된 수보다 적다고 판단되는 경우, 상기 제 1 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 제 1 메모리 그룹의 쓰로틀링을 증가시키는 단계; 상기 복수의 메모리 그룹들 중 상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 상기 크리딧들의 할당된 수보다 적다고 판단되는 경우, 상기 제 2 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 제 2 메모리 그룹의 쓰로틀링을 증가시키는 단계; 상기 복수의 메모리 그룹들 중 상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 상기 크리딧들의 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 판단되는 경우, 상기 제 1 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 제 1 메모리 그룹의 쓰로틀링을 감소시키는 단계; 그리고 상기 복수의 메모리 그룹들 중 상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 상기 크리딧들의 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 판단되는 경우, 상기 제 2 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 제 2 메모리 그룹의 쓰로틀링을 감소시키는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 특정한 메모리 그룹의 쓰로틀링을 증가시키는 단계는: 스위치에 의해, 상기 특정한 메모리 그룹의 쓰로틀링을 증가시키는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 특정한 메모리 그룹의 쓰로틀링을 감소시키는 단계는: 스위치에 의해, 상기 특정한 메모리 그룹의 쓰로틀링을 감소시키는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 복수의 메모리 그룹들의 온도가 적어도 상기 크리딧들의 상기 할당에 기초하여 상기 열 예산 내에서 대체로 유지되도록 제어하는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 복수의 메모리 그룹들의 온도가 적어도 상기 쓰로틀링에 기초하여 상기 열 예산 내에서 대체로 유지되도록 제어하는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 각각의 메모리 그룹이 상기 열 예산의 미리 결정된 양 또는 비율을 할당받을 수 있도록 상기 열 예산을 리셋시키는 단계; 그리고 각각의 메모리 그룹의 상기 순간 전력 소모 또는 온도에 따라 상기 복수의 메모리 그룹들에 걸쳐 상기 열 예산을 재할당하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시 예에 따른, 메모리 어레이에 대한 열 예산을 동적으로 할당하기 위한 시스템은: 상기 메모리 어레이에 있는 복수의 메모리 그룹들; 상기 복수의 메모리 그룹들 각각에 연결된 스위치; 상기 스위치에 연결되고, 상기 복수의 메모리 그룹들 각각에 크리딧들의 동일한 수를 할당하는 동적 열 예산 로직; 그리고 상기 동적 열 예산 로직에 연결되고, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 양 중 적어도 하나를 감지하는 측정 수단을 포함하되, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 판단하고, 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 판단되는 경우, 상기 동적 열 예산 로직은 상기 특정한 메모리 그룹으로 크리딧들의 감소된 수를 할당하고, 그리고 상기 스위치는 상기 특정한 메모리 그룹의 쓰로틀링을 증가시키고, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 판단하고, 그리고 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 판단되는 경우, 상기 동적 열 예산 로직은 상기 특정한 메모리 그룹으로 크리딧들의 증가된 수를 할당하고, 그리고 상기 스위치는 상기 특정한 메모리 그룹의 쓰로틀링을 감소시킬 수 있다.
실시 예로써, 미리 결정된 시간 주기 후에, 상기 측정 수단은 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 두 번째 양 중 적어도 하나를 감지하고, 상기 동적 열 예산 로직은, 상기 복수의 메모리 그룹들 중 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 복수의 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 판단하고, 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 복수의 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 판단되는 경우, 상기 동적 열 예산 로직은 상기 특정한 메모리 그룹에 크리딧들의 감소된 수를 할당하고, 그리고 상기 스위치는 상기 특정한 메모리 그룹의 쓰로틀링을 증가시키고, 미리 결정된 시간 주기 후에, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단하고, 그리고 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 판단되는 경우, 상기 동적 열 예산 로직은 상기 특정한 메모리 그룹에 크리딧들의 증가된 수를 할당하고, 그리고 상기 스위치는 상기 특정한 메모리 그룹의 쓰로틀링을 감소시킬 수 있다.
다른 실시 예로써, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 판단하고, 그리고 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 판단할 수 있다.
또 다른 실시 예로써, 상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다는 판단에 응답하여, 상기 동적 열 예산 로직은 상기 제 1 메모리 그룹에 크리딧들의 감소된 수를 할당하고, 그리고 상기 스위치는 상기 제 1 메모리 그룹의 쓰로틀링을 증가시키고, 상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다는 판단에 응답하여, 상기 동적 열 예산 로직은 상기 제 2 메모리 그룹에 크리딧들의 감소된 수를 할당하고, 그리고 상기 스위치는 상기 제 2 메모리 그룹의 쓰로틀링을 증가시키고, 상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다는 판단에 응답하여, 상기 동적 열 예산 로직은 상기 제 1 메모리 그룹에 크리딧들의 증가된 수를 할당하고, 그리고 상기 스위치는 상기 제 1 메모리 그룹의 쓰로틀링을 감소시키고, 상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다는 판단에 응답하여, 상기 동적 열 예산 로직은 상기 제 2 메모리 그룹에 크리딧들의 증가된 수를 할당하고, 그리고 상기 스위치는 상기 제 1 메모리 그룹의 쓰로틀링을 감소시킬 수 있다.
또 다른 실시 예로써, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들의 온도가 적어도 상기 크리딧들의 상기 할당에 기초하여 상기 열 예산 내에서 대체로 유지되도록 제어할 수 있다.
또 다른 실시 예로써, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들의 온도가 적어도 상기 쓰로틀링에 기초하여 상기 열 예산 내에서 유지되도록 제어할 수 있다.
또 다른 실시 예로써, 상기 동적 열 예산 로직은 상기 크리딧들을 분배하고,
상기 동적 열 예산 로직은 상기 분배된 크리딧들에 따라 상기 메모리 어레이의 다양한 물리적 위치들에 걸쳐 열을 분배하고, 그리고 상기 동적 열 예산 로직은 복수의 고정된 시간 주기 동안, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 상기 전류 또는 전력을 감지하는 것, 소모되는 전류 또는 전력의 상기 양이 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 상기 동적 열 예산 로직에 의해 판단하는 것, 그리고 소모되는 전류 또는 전력의 상기 양이 크리딧들의 상기 할당된 수보다 적은지 여부를 상기 동적 열 예산 로직에 의해 판단하는 것을 주기적으로 반복할 수 있다.
또 다른 실시 예로써, 상기 동적 열 예산 로직은 각각의 메모리 그룹이 상기 열 예산의 미리 결정된 양 또는 비율을 할당받을 수 있도록 상기 열 예산을 리셋시키고, 그리고 각각의 메모리 그룹의 상기 순간 전력 소모 또는 온도에 따라 상기 복수의 메모리 그룹들에 걸쳐 상기 열 예산을 재할당할 수 있다.
본 발명의 실시 예에 따른 시스템은: 버스; 상기 버스에 연결된 메모리 어레이; 상기 메모리 어레이에 있는 복수의 메모리 그룹들; 상기 복수의 메모리 그룹들 각각에 연결된 스위치; 상기 스위치에 연결되고, 상기 복수의 메모리 그룹들 각각에 크리딧들의 동일한 수를 할당하는 동적 열 예산 로직; 그리고 상기 동적 열 예산 로직에 연결되고, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 양 중 적어도 하나를 감지하는 측정 수단을 포함하되, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 판단하고, 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 판단되는 경우, 상기 동적 열 예산 로직은 상기 특정한 메모리 그룹으로 크리딧들의 감소된 수를 할당하고, 그리고 상기 스위치는 상기 특정한 메모리 그룹의 쓰로틀링을 증가시키고, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단하고, 그리고 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 판단되는 경우, 상기 동적 열 예산 로직은 상기 특정한 메모리 그룹으로 크리딧들의 증가된 수를 할당하고, 그리고 상기 스위치는 상기 특정한 메모리 그룹의 쓰로틀링을 감소시킬 수 있다.
실시 예로써, 미리 결정된 시간 주기 후에, 상기 측정 수단은 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 두 번째 양 중 적어도 하나를 감지하고, 상기 동적 열 예산 로직은, 상기 복수의 메모리 그룹들 중 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 복수의 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 판단하고, 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 복수의 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 판단되는 경우, 상기 동적 열 예산 로직은 상기 특정한 메모리 그룹에 크리딧들의 감소된 수를 할당하고, 그리고 상기 스위치는 상기 특정한 메모리 그룹의 쓰로틀링을 증가시키고, 미리 결정된 시간 주기 후에, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 판단하고, 그리고 상기 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정한 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 판단되는 경우, 상기 동적 열 예산 로직은 상기 특정한 메모리 그룹에 크리딧들의 증가된 수를 할당하고, 그리고 상기 스위치는 상기 특정한 메모리 그룹의 쓰로틀링을 감소시킬 수 있다.
다른 실시 예로써, 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단하고, 그리고 상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단할 수 있다.
또 다른 실시 예로써, 상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다는 판단에 응답하여, 상기 동적 열 예산 로직은 상기 제 1 메모리 그룹에 크리딧들의 감소된 수를 할당하고, 그리고 상기 스위치는 상기 제 1 메모리 그룹의 쓰로틀링을 증가시키고, 상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다는 판단에 응답하여, 상기 동적 열 예산 로직은 상기 제 2 메모리 그룹에 크리딧들의 감소된 수를 할당하고, 그리고 상기 스위치는 상기 제 2 메모리 그룹의 쓰로틀링을 증가시키고, 상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다는 판단에 응답하여, 상기 동적 열 예산 로직은 상기 제 1 메모리 그룹에 크리딧들의 증가된 수를 할당하고, 그리고 상기 스위치는 상기 제 1 메모리 그룹의 쓰로틀링을 감소시키고, 상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다는 판단에 응답하여, 상기 동적 열 예산 로직은 상기 제 2 메모리 그룹에 크리딧들의 증가된 수를 할당하고, 그리고 상기 스위치는 상기 제 1 메모리 그룹의 쓰로틀링을 감소시킬 수 있다.
본 발명의 실시 예에 따르면, 메모리 그룹의 작업량에 기초하여 각각의 메모리 그룹에 열 예산을 동적으로 할당함으로써 메모리 그룹의 성능을 향상시킬 수 있다.
앞으로 설명될 본 발명의 특징 및 이익들은 첨부된 도면들과 함께 발명의 상세한 설명으로부터 좀 더 명백해질 것이다.
도 1은 본 발명의 실시 예에 따른 동적 열 예산 로직에 연결된 메모리 어레이를 포함하는 시스템을 보여주는 블록도이다.
도 2a는 본 발명의 실시 예에 따른 도 1의 시스템을 좀 더 상세하게 보여주는 블록도이다.
도 2b는 본 발명의 다른 실시 예에 따른 도 1의 시스템을 좀 더 상세하게 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 열 예산을 동적으로 할당하기 위한 테크닉을 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 메모리 어레이를 포함하는 시스템에 있어서 열 예산을 동적으로 할당하기 위한 테크닉을 보여주는 순서도이다.
도 5는 본 발명의 실시 예에 따른 동적 열 예산 로직을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 장치 및 방법이 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 용도에 따라 수정되거나 변경될 수 있다.
한 요소 또는 층이 다른 요소 또는 층에 "연결되는", "결합하는", 또는 "인접하는" 것으로 언급되는 때에는, 다른 요소 또는 층에 직접적으로 연결되거나, 결합 되거나, 또는 인접하는 것일 수 있고, 혹은 그 사이에 끼워지는 요소 또는 층이 존재할 수 있음이 잘 이해될 것이다. 본 명세서에서 사용되는 "및/또는"이라는 용어는 나열된 요소들의 하나 또는 그 이상의 가능한 조합들을 포함할 것이다.
비록 "제 1", "제 2" 등의 용어가 여기서 다양한 요소를 설명하기 위해 사용될 수 있다 하더라도, 이들 요소는 이 용어들에 의해 한정되지 않는다. 이 용어들은 단지 다른 것들로부터 하나의 구성요소를 구별하기 위해 사용될 수 있다. 따라서, 본 명세서에서 사용된 제 1 구성요소, 구간, 층과 같은 용어는 본 발명의 사상을 벗어나지 않는 범위 내에서 제 2 구성요소, 구간, 층 등으로 사용될 수 있다.
"아래의", "하부의", "위의", "상부의", 및 이와 유사한 용어들은 직접적으로(directly) 또는 다른 층을 개재하여(indirectly) 배치되는 경우를 모두 포함한다. 그리고, 공간적으로 상대적인 이러한 용어들은 도면에 도시된 방향에 더하여 다른 방향을 포함하는 것으로 이해되어야 한다. 예를 들어, 만일 디바이스가 뒤집히면, "아래의"로 설명된 구성요소는 "위의"가 될 것이다.
본 명세서에서 설명되는 용어는 단지 특정한 실시 예를 설명하기 위한 목적으로 사용되며, 그것에 한정되지 않는다. "하나의"와 같은 용어는 달리 명백하게 지칭하지 않으면 복수의 형태를 포함하는 것으로 이해되어야 한다. "포함하는" 또는 "구성되는"과 같은 용어는 설명된 특징, 단계, 동작, 성분, 및/또는 구성요소의 존재를 명시하며, 추가적인 하나 또는 그 이상의 특징, 단계, 동작, 성분, 구성요소 및/또는 그들의 그룹의 존재를 배제하지 않는다.
달리 정의되지 않으면, 본 명세서에서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에 의해 공통적으로 이해될 수 있도록 동일한 의미를 갖는 것으로 사용된다. 그리고, 사전에서 공통적으로 정의된 용어들은 관련 분야에서 일관된 의미를 갖는 것으로 해석되어야 하며, 달리 정의되지 않으면, 과도한 의미로써 사용되지 않는다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
도 1은 본 발명의 실시 예에 따른 하나 또는 그 이상의 통신 회선들(115)을 통하여 동적 열 예산 로직(120)으로 연결된 메모리 어레이(110)를 포함하는 시스템(100)을 보여주는 블록도이다. 동적 열 예산 로직(dynamic thermal budget logic)(120)은 메모리 어레이(120)에 있는 메모리 그룹들 각각에 대한 동적 열 예산 할당을 조정할 수 있다.
도 2a는 본 발명의 실시 예에 따른 도 1의 시스템을 좀 더 상세하게 보여주는 도면이다. 예를 들어, 시스템(100)은 하나 또는 그 이상의 프로세서들을 포함하는 CPU 유닛(210)을 포함할 수 있다. CPU 유닛(210)은 메모리 어레이 유닛(205)에 연결될 수 있다. 메모리 어레이 유닛(205)은 스위치(225), 동적 열 예산 로직(120), 및 복수의 메모리 그룹들(예를 들어, 메모리 그룹 1 내지 메모리 그룹 N)을 포함할 수 있다. 각각의 메모리 그룹은 하나 또는 그 이상의 메모리 모듈들 또는 칩들을 포함할 수 있다. 스위치(225)는 메모리 그룹들 각각으로 연결될 수 있다. 동적 열 예산 로직(120)은 메모리 그룹들 각각으로 그리고 스위치(225)로 연결될 수 있다.
도 2b는 본 발명의 다른 실시 예에 따른 도 1의 시스템(100)을 상세하게 보여주는 블록도이다. 도 2b에 도시된 시스템은, 각각의 메모리 그룹이 전압 레귤레이터(VR) 컨트롤러(220)와 관련되었다는 차이점을 제외하고는, 도 2a에 도시된 것과 유사하다. VR 컨트롤러들(220) 각각은 메모리 그룹들 및 동적 열 예산 로직(120) 중 대응하는 것에 연결될 수 있다. 단일의 또는 복수의 전압 레귤레이터 컨트롤러들이 사용될 수 있음은 잘 이해될 것이다. 즉, 어떤 실시 예에서, 단일의 전압 레귤레이터 컨트롤러는 동적 열 예산 로직(120)으로 순간적인 전류 및/또는 전력 소모 정보를 제공할 수 있다. 전류 검출기 또는 측정 장치, 저항 검출기 또는 측정 장치, 온도 센서, 전압 검출기 또는 측정 장치, 또는 이와 유사한 것과 같은 다른 적당한 측정 수단들이 사용될 수 있다.
동적 열 예산 로직(120)은 각각의 전압 레귤레이터 컨트롤러 또는 다른 측정 수단들로부터 전류 및/또는 전력 측정 정보를 수신할 수 있고, 그리고 각각의 메모리 그룹에 대한 순간적인 전류 소모 및/또는 전력 소모 정보를 판단할 수 있다. 동적 열 예산 로직(120)이 전류 소모 정보를 얻는 곳에서, 전류 소모 정보로부터 전력 소모가 계산될 수 있다. 동적 열 예산 로직(120)은 순간적인 전력 소모 정보를 수신하거나 처리할 수 있다. 각각의 메모리 그룹에 대한 순간적인 전력 소모 측정에 기초하여, 동적 열 예산 로직(120)은 메모리 그룹들 1 내지 N으로 크리딧(credit)들을 전송할 수 있다. 크리딧들은 시간이 흐름에 따라 동적으로 증가하거나 또는 감소하도록 조정될 수 있다. 예를 들어, 크리딧들은 매 20 마이크로 초(㎲)마다 할당될 수 있다.
즉, 매 고정된 주기의 시간(예를 들어, 20 ㎲) 동안, 동적 열 예산 로직(120)은 각각의 메모리 그룹의 순간적인 전력 소모를 감지 그리고/또는 판단할 수 있고, 각각의 메모리 그룹을 위한 크리딧들의 수를 판단할 수 있고, 그리고 상대적으로 많은 작업 또는 활동을 갖는 메모리 그룹들이 상대적으로 적은 작업 또는 활동을 갖는 메모리 그룹들보다 더 많은 열 작업량의 할당을 수신할 수 있도록 이 크리딧들을 할당할 수 있다. 각각의 크리딧은 총 허용가능한 열 작업량의 어떤 부분을 나타낼 수 있다. 더 많은 열 작업량의 할당과 함께, 그리고 총 열 작업량의 초과를 유발하지 않고, 그 메모리 그룹들은 더 높은 전력 소모 레벨에서 동작할 수 있다. 이 레벨은 일반적인 설계 기술에서 가능한 것보다 높을 수 있다. 시간의 주기는 20 ㎲이거나 또는 이보다 더 클 수 있음은 잘 이해될 것이다. 그리고, 적절한 고정된 주기가 사용될 수 있음은 잘 이해될 것이다.
좀 더 상세하게 설명하면, 동적 열 예산 로직(120)은, 적어도 초기에, 동일한 수의 크리딧들을 메모리 어레이에 있는 메모리 그룹들 각각으로 할당할 수 있다. 하나 또는 그 이상의 전압 레귤레이터들(220)은 메모리 그룹들 각각에 의해 소모되는 전류 및/또는 전력의 양을 감지할 수 있다. 동적 열 예산 로직(120)은 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 특정한 메모리 그룹에 대한 크리딧들의 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단할 수 있다. 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 특정한 메모리 그룹에 대한 크리딧들의 할당된 수에 근접한다는, 동일하다는, 또는 초과한다는 판단에 응답하여, 동적 열 예산 로직(120)은 특정한 메모리 그룹으로 증가된 수의 크리딧들을 할당할 수 있고, 스위치(225)는 특정한 메모리 그룹의 쓰로틀링(throttling)을 감소시킬 수 있다.
동적 열 예산 로직(120)은 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 특정한 그룹에 대해 할당된 크리딧들의 수보다 적은지 여부를 판단할 수 있다. 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 특정한 그룹에 대해 할당된 크리딧들의 수보다 적다는 판단에 응답하여, 동적 열 예산 로직(120)은 특정한 메모리 그룹으로 감소된 수의 크리딧들을 할당할 수 있고, 스위치(225)는 특정한 메모리 그룹의 쓰로틀링을 증가시킬 수 있다.
다양한 메모리 그룹들로의 크리딧들의 증가 또는 감소는 다양한 메모리 그룹을 위한 메모리 어레이 유닛(205)의 총 열 예산이 초과하지 않는 것과 같은 방법으로 실행될 수 있다. 다시 말하면, 상대적으로 높은 순간적인 전력 소모를 갖는 특정한 메모리 그룹으로의 크리딧들의 증가는 상대적으로 낮은 순간적인 전력 소모를 갖는 다른 메모리 그룹으로의 감소를 초래할 수 있다. 따라서, 총 열 예산은 그들의 작업량에 따라 다양한 메모리 그룹들에 걸쳐 불균일하게 분배될 수 있다. 그러한 불균일한 분배는 열 예산이 변화하는 환경에 따라 효율적으로 그리고 정확하게 할당될 수 있도록 시간이 지나면서 주기적으로 수정될 수 있다. 즉, 낮은 크리딧 유저는 크리딧들의 풀 내에서 높은 크리딧 유저로 사용 가능하게 한다.
예를 들어, 하나 또는 그 이상의 전압 레귤레이터들(220) 또는 다른 측정 수단들은, 소정의 기간이 경과한 후에, 메모리 그룹들 각각에 의해 소모된 전류 또는 전력의 두 번째 양을 감지할 수 있다. 동적 열 예산 로직(120)은, 소정의 기간이 경과한 후에, 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 두 번째 양이 특정한 메모리 그룹에 대한 크리딧들의 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 판단할 수 있다. 특정한 메모리 그룹에 의해 소모되는 전류 또는 전력의 두 번째 양이 특정한 메모리 그룹에 대한 크리딧들의 할당된 수에 근접한다는, 동일하다는, 또는 초과한다는 판단에 응답하여, 동적 열 예산 로직(120)은 특정한 메모리 그룹으로 증가된 수의 크리딧들을 할당할 수 있고, 스위치는 특정한 메모리 그룹의 쓰로틀링을 감소시킬 수 있다.
동적 열 예산 로직(120)은 특정한 메모리 그룹에 의해 소비되는 전류 또는 전력의 두 번째 양이 특정한 메모리 그룹에 대한 크리딧들의 할당된 수보다 적은지 여부를 판단할 수 있다. 특정한 메모리 그룹에 의해 소비되는 전류 또는 전력의 두 번째 양이 특정한 메모리 그룹에 대한 크리딧들의 할당된 수보다 적다는 판단에 응답하여, 동적 열 예산 로직(120)은 특정한 메모리 그룹으로 감소된 수의 크리딧들을 할당할 수 있다. 스위치는 특정한 메모리 그룹의 쓰로틀링을 증가시킬 수 있다.
동적 열 예산 로직(120)은 적어도 크리딧들의 할당 및/또는 스로틀링에 기초하여 메모리 그룹들의 온도가 열 예산 내에서 대체로 유지되도록 조절할 수 있다. 다양한 메모리 그룹들에 걸쳐 크리딧들을 불균일하게 할당함으로써, 시스템의 동작은 충격을 받을 수 있다. 각각의 메모리 그룹은 다른 부하 레벨(load level)에서 동작할 수 있고 아직 전체적인 열 예산 내에 있을 수 있기 때문이다.
도 3은 본 발명의 실시 예에 따른 열 예산을 동적으로 할당하기 위한 테크닉을 보여주는 블록도(300)이다. 비록 도 3에 4개의 메모리 그룹들(즉, 메모리 그룹들 1 내지 N)이 도시되었다고 하더라도, 본 발명의 사상의 범위 내에서 다른 적당한 수의 메모리 그룹들이 사용될 수 있음은 잘 이해될 것이다. 총 열 예산은 미리 정해질 수 있다. 즉, 총 열 예산은 미리 정해지거나 계산될 수 있고, 양적으로 고정될 수 있다. 메모리 어레이 유닛의 총 열 예산은 다양한 메모리 그룹들 1 내지 N에 걸쳐 초기에 균등하게 나누어질 수 있다. 예를 들어, 각각의 메모리 그룹은 초기에 총 열 예산(total thermal budget; TTB)의 일부를 할당받을 수 있다. 즉, 각각의 메모리 그룹은 초기에 TTB/N을 할당받을 수 있다.
하나 또는 그 이상의 전압 레귤레이터들(예를 들어, 도 2a 및 2b의 220) 또는 다른 적당한 측정 수단들은 메모리 그룹의 순간적인 전류 및/또는 전력 소모를 감지할 수 있다. 동적 열 예산 로직(120)은 그러한 정보를 수신 및/또는 처리할 수 있다. 예를 들어, 메모리 그룹 1은 X 와트의 순간 전력 소모를 가질 수 있고, 메모리 그룹 2는 Y 와트의 순간 전력 소모를 가질 수 있고, 메모리 그룹 3은 Z 와트의 순간 전력 소모를 가질 수 있고, 그리고, 메모리 그룹 N은 ZN 와트의 순간 전력 소모를 가질 수 있다. X, Y, Z 및 ZN은 각각의 메모리 그룹의 작업량에 기초한 어떤 적당한 측정된 정수 또는 수일 수 있다.
한 예로써, 만일 X는 10 와트이고, Y는 70 와트이고, Z는 30 와트이고, 그리고 ZN은 10 와트라면, 모든 메모리 그룹들의 총 순간적인 전력 소모는 120 와트이다. 동적 열 예산 로직(120)은 메모리 그룹 1로 크리딧들(305)의 1/12(즉, 10/120)를 할당할 수 있다. 동적 열 예산 로직(120)은 메모리 그룹 2로 크리딧들(305)의 7/12(즉, 70/120)를 할당할 수 있다. 동적 열 예산 로직(120)은 메모리 그룹 3으로 크리딧들(305)의 1/4(즉, 30/120)를 할당할 수 있다. 그리고, 동적 열 예산 로직(120)은 메모리 그룹 N으로 크리딧들(305)의 1/12(즉, 10/120)를 할당할 수 있다. 따라서 스위치(225)에 의한 쓰로틀링의 양은 증가하거나 감소할 수 있다. 다양한 메모리 그룹들에 대한 동적인 부하는 시간이 지남에 따라 변하기 때문에, 동적 열 예산 로직(120)은 메모리 그룹들 각각으로의 크리딧들의 할당을 재조정할 수 있다. 동적 열 예산 로직(120)은 할당 정보를 스위치(225)로 전송할 수 있다. 스위치(225)는 동적 열 예산 로직(120)에 의해 적어도 크리딧들의 할당에 기초하여 쓰로틀링을 조절할 수 있다.
다른 실시 예로써, 만일 전류 크리딧 비율이 각각 1/12, 7/12, 3/12, 및 1/12라면, 모든 메모리 그룹들이 그들의 크리딧 캡(credit cap)을 만족하는 경우에 비율은 다음 측정시 변하지 않은 채 유지될 수 있다. 다른 예에서, 크리딧 비율은 시간이 지남에 따라 균등한 크리딧 분포를 향해 되돌아갈 수 있다. 게다가, 특정한 메모리 그룹이 그것의 열 예산의 부분을 위해 '0'의 값을 할당받아온 경우(예를 들어, 셧-오프(shut-off) 동안 또는 어떤 중요한 작업 또는 활동을 하지 않는 동안), 특정한 메모리 그룹은, 오로지 메모리 그룹의 과거 사용에 기초하는 대신에 차라리, 시스템의 전류 수요(current demand) 및 작업 분배(load distribution)에 기초하여 전체적인 열 예산 판단(thermal budget determination)으로 놓일 수 있다. 어떤 실시 예에서, 동적 열 예산 로직(120)은 할당을 초기 상태 (또는 다른 어떤 미리 정해진 상태)로 복귀시킴으로써, 즉, 다양한 메모리 그룹들 사이에서 균등하게 나눔으로써 총 열 예산을 "리셋" 시킬 수 있다. 즉, 열 예산은 각각의 메모리 그룹이 총 열 예산 중 같은 양 또는 비율을 할당받도록 리셋 될 수 있다. 동적 열 예산 로직(120)은 각각의 메모리 그룹의 순간적인 전력 소모 또는 온도에 따라 다양한 메모리 그룹들에 걸쳐 열 예산을 재할당함과 함께 처리할 수 있다.
도 4는 본 발명의 실시 예에 따른 메모리 어레이를 포함하는 시스템에 있어서 열 예산을 동적으로 할당하기 위한 방법을 보여주는 순서도이다. 405 단계에서, 동일한 수의 크리딧들이 각각의 메모리 그룹으로 할당될 수 있다. 410 단계에서, 각각의 메모리에 의해 소모된 전력의 양이 감지되거나 판단될 수 있다.
420 단계에서, 특정한 메모리 그룹에 의해 소모된 전력의 양이 특정한 메모리 그룹에 대한 크리딧들의 할당된 수에 근접하는지, 동일한지 또는 초과하는지 여부가 판단된다. 만일 "예"라고 판단되면, 흐름은 425 단계로 이동하고, 특정한 메모리 그룹을 위한 크리딧들의 수는 증가할 수 있고, 특정한 메모리 그룹을 위한 쓰로틀링의 양은 감소할 수 있다. 반면에 특정한 그룹에 의해 소모되는 순간적인 전력이 크리딧들의 할당된 수 이하임을 의미하는 "아니오"라고 판단되면, 흐름은 430 단계로 이동한다.
430 단계에서, 특정한 메모리 그룹에 의해 소모되는 전력의 양이 특정한 메모리 그룹에 대한 크리딧들의 할당된 수보다 적은지 여부가 판단될 수 있다. 만일 "예"라고 판단되면, 흐름은 435 단계로 이동하고, 특정한 메모리 그룹을 위한 크리딧들의 수는 감소할 수 있고, 특정한 메모리 그룹을 위한 쓰로틀링의 양은 증가할 수 있다. 만일 특정한 메모리 그룹에 의해 소모되는 순간적인 전력이 크리딧들의 할당된 수 이상임을 의미하는 "아니오"라고 판단되면, 흐름은 440 단계로 이동한다.
440 단계에서 고정된 기간이 만료되었는지 여부가 판단된다. 만일 "아니오"라고 판단되면, 동적 열 예산 로직은 현재의 기간이 만료될 때까지 대기할 수 있다. 만일 "예"라고 판단되면, 다양한 메모리 그룹들로의 열 예산 크리딧들의 분배가 시간이 흐름에 따라 동적으로 변할 수 있도록, 흐름은 크리딧들의 측정 및 할당을 위해 405 단계로 되돌아갈 수 있다.
본 명세서에서 개시된 발명의 사상은 종합된(aggregated) 메모리 어레이 시스템에 한정되지 않으며, 모든 종류의 종합되지 않은(disaggregated) 메모리 어레이 시스템들에도 적용될 수 있다. 그러한 메모리 어레이 시스템들은 DRAM, MRAM, PCM, 플래시 메모리 또는 이와 유사한 것들을 포함할 수 있다. 게다가, 동적 열 예산 할당 기술은, 자가 학습 및 최적화 특성을 사용하는 동적 크리딧 할당을 보조하는데 사용될 수 있는, 신경망(neural networking) 또는 유전자 기술(genetic technique)에 기초할 수 있다.
도 5는 본 발명의 실시 예에 따른 동적 열 예산 로직(530)을 포함하는 컴퓨팅 시스템(500)을 보여주는 블록도이다. 동적 열 예산 로직(530)은 버스(505)로 연결될 수 있다. 컴퓨팅 시스템(500)은 클럭(510), 하나 또는 그 이상의 프로세서들(550), 랜덤 억세스 메모리(RAM) 및/또는 플래시 메모리 어레이 유닛(들)(515), 메모리 컨트롤러(545), 유저 인터페이스(520), 베이스밴드 칩셋과 같은 모뎀(525), 및/또는 자동 테스트 장비(automated test equipment; ATE), 시스템 버스(505)에 전기적으로 연결되는 다양한 것들을 포함할 수 있다.
만일 컴퓨팅 시스템(500)이 모바일 장치라면, 그것은 컴퓨팅 시스템(500)에 전력을 공급하는 배터리(540)를 더 포함할 수 있다.비록 도 5에는 도시되지 않았지만, 컴퓨팅 시스템(500)은 애플리케이션 칩셋, 카메라 이미지 프로세서(camera image processor; CIS), 모바일 DRAM, 및 이와 유사한 것들을 더 포함할 수 있다. 메모리 컨트롤러(545) 및 메모리(515)는 데이터를 저장하기 위해 불휘발성 메모리를 사용하는 고체 상태 드라이브(solid state drive/disk; SSD)를 구성할 수 있다.
예시적인 실시 예에서, 컴퓨팅 시스템(500)은 컴퓨터, 포터블 컴퓨터(portable computer), 울트라 모바일 PC(ultra mobile PC; UMPC), 워크스테이션(workstation), 넷-북(net-book), PDA, 웹 태블릿(web tablet), 무선 폰(wireless phone), 모바일 폰(mobile phone), 스마트 폰(smart phone), e-북(e-book), PMP(portable multimedia player), 디지털 카메라(digital camera), 디지털 오디오 레코더/플레이어(digital audio recorder/player), 디지털 픽쳐/비디오 레코더/플레이어(digital picture/video recorder/player), 포터블 게임 머신(portable game machine), 내비게이션 시스템(navigation system), 블랙 박스(black box), 3-D 텔레비전(3-dimensional television), 무선 환경에서 정보를 송수신할 수 있는 장치, 홈 네트워크를 포함하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 포함하는 다양한 전자 장치들 중 하나, 텔레매틱스(telematics) 네트워크를 포함하는 다양한 전자 장치들 중 하나, RFID, 또는 컴퓨팅 시스템을 포함하는 다양한 전자 장치들 중 하나로써 사용될 수 있다.
이하의 설명은 본 발명의 내용이 적용된 적당한 머신(machine or machines)의 간단하고, 일반적인 설명을 제공하기 위한 것이다. 일반적으로, 머신은 프로세서(processors), 메모리(memory), 예를 들어, 랜덤 억세스 메모리(random access memory; RAM), 리드-온리 메모리(read-only memory; ROM), 또는 다른 상태 보존 매체(state preserving medium), 저장 장치(storage devices), 비디오 인터페이스(video interface), 및 입/출력 인터페이스 포트(input/output interface ports)에 연결된 시스템 버스를 포함할 수 있다. 이 머신은 적어도 부분적으로 다른 장치, 가상 현실(virtual reality; VR) 환경, 바이오메트릭 피드백(biometric feedback), 또는 다른 입력 신호들과의 상호작용으로부터 수신된 지시에 의해서뿐만 아니라, 키보드, 마우스 등과 같은 입력 일반적인 입력 장치들로부터의 입력에 의해 제어될 수 있다. 여기서 사용된 것과 같은 "머신(machine)" 이라는 용어는 넓게 단일의 머신(single machine), 가상 머신(virtual machine), 또는 머신들, 가상 머신들 또는 함께 동작하는 장치들과 통신할 수 있게끔 연결된 시스템을 포함하는 것으로 의도될 수 있다. 예시적인 머신들은 개인용 또는 공용 운송 수단(예를 들어, 자동차, 기차, 택시 등)과 운송 장치(transportation devices)뿐만 아니라 퍼스널 컴퓨터(personalcomputers), 워크스테이션(workstations), 서버(servers), 포터블 컴퓨터(portable computers), 핸드헬드 장치(handheld devices), 전화기(telephones), 태블릿(tablets)과 같은 컴퓨팅 장치들을 포함할 수 있다.
머신은 프로그램 가능한 또는 프로그램 가능하지 않은 로직 장치 또는 어레이(programmable or non-programmable logic devices or arrays), 응용 주문형 집적 회로(Application Specific Integrated Circuits; ASICs), 임베디드 컴퓨터(embedded computers), 스마트 카드(smart cards), 및 그와 유사한 것들과 같은 임베드된 컨트롤러(embedded controllers)를 포함할 수 있다. 머신은 네트워크 인터페이스, 모뎀, 또는 다른 통신 가능한 연결 수단을 통하여 하나 또는 그 이상의 원격 머신들로 하나 또는 그 이상의 연결을 사용할 수 있다. 머신은 인트라넷(intranet), 인터넷(internet), 로컬 에어리어 네트워크(local area networks), 와이드 에어리어 네트워크(wide area networks) 등과 같은 물리적 및/또는 로지컬 네트워크(logical network)의 방법에 의해 연결될 수 있다. 본 기술 분야에서의 통상을 지식을 지닌 자는 네트워크 통신이 라디오 프리퀀시(radio frequency; RF), 위성(satellite), 마이크로웨이브(microwave), IEEE(Institute of Electrical and Electronics Engineers) 545.11, 블루투스(Bluetooth®), 광(optical), 적외선(infrared), 케이블(cable), 레이저(laser) 등을 포함하는 다양한 유선의 그리고/또는 무선의 숏 레인 레인지 또는 롱 레인지 캐리어(short range or long range carriers) 및 프로토콜(protocols)을 이용할 수 있다는 것을 알 수 있다.
본 발명의 실시 예들은 작업들을 실행하거나 요약 데이터 타입들 또는 로우-레벨 하드웨어 콘텍스트(low-level hardware contexts)를 정의하는 머신들에서의 결과들에 의해 억세스 될 수 있는 함수, 절차, 데이터 구조, 애플리케이션 프로그램, 등을 포함하는 관련된 데이터를 참조하여 설명될 수 있다. 예를 들어, 관련된 데이터는 휘발성 및/또는 불휘발성 메모리(예를 들어, RAM, ROM, 등) 또는 다른 저장 장치들에 저장될 수 있고, 그들의 관련된 저장 매체는 하드-드라이브(hard-drives), 플로피-디스크(floppy-disks), 광학 저장매체(optical storage), 테이프(tapes), 플래시 메모리(flash memory), 메모리 스틱(memory sticks), 디지털 비디오 디스크(digital video disks), 바이올로지컬 저장매체(biological storage) 등을 포함할 수 있다. 관련된 데이터는 패킷(packets), 시리얼 데이터(serial data), 패럴렐 데이터(parallel data), 전파된 신호(propagated signals)의 형태로, 물리적인 그리고/또는 논리적 네트워크를 포함하는 전송 환경을 통하여 전달될 수 있고, 압축된 또는 암호화된 형태로 사용될 수 있다. 관련된 데이터는 열악한 환경(distributed environment)에서 사용될 수 있고, 머신 억세스를 위해 국부적으로 그리고/또는 원격으로 저장될 수 있다.
설명된 실시 예들을 참조하여 본 발명의 원리가 설명되었는데, 설명된 실시 예들은 그러한 원리를 배제하지 않고 정연하게 그리고 상세하게 변형될 수 있고, 어떠한 바람직한 방법으로 조합될 수 있다. 그리고, 비록 앞서 설명된 것들이 특정한 실시 예들에 초점이 맞춰졌다 하더라도, 다른 구성들이 고려될 수 있다. 특히, "본 발명의 실시 예에 따른"과 같은 표현과 이와 유사한 것들이 본 명세서에서 사용되었다 하더라도, 이들은 일반적으로 실시 예 가능성을 언급하도록 의도된 것이고, 특정한 실시 예의 구성에 본 발명을 한정하도록 의도된 것은 아니다. 여기서 사용된 바와 같이, 이들 용어들은 다른 실시 예들로 조합 가능한 같은 또는 다른 실세 예들을 의미할 수 있다.
발명의 실시 예들은 하나 또는 그 이상의 프로세서들에 의해 실행 가능한 명령들을 포함하는 일시적이지 않은 머신-리더블 매체(non-transitory machine-readable medium)를 포함할 수 있고, 명령들은 본 명세서에서 설명된 것과 같은 발명의 구성요소들을 실행하기 위한 명령들을 포함할 수 있다.
본 발명의 사상은 앞서 설명된 요약에서 설명된 특정한 실시 예들에 의해 제한되어서는 안 되고, 본 발명의 사상을 이용하는 실시 예들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자들에게 쉽게 이해될 수 있을 것이다. 이들 그리고 다른 실시 예들의 상세한 사항은 발명의 상세한 설명 및 도면에 포함된다.
앞서 설명된 실시 예들은 그것들에 본 발명을 한정하는 것으로 이해되어서는 안된다. 비록 적은 실시 예들이 설명되었다 하더라도, 본 발명의 사상을 이용하는 실시 예들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자들은, 많은 변형이 개시된 것들의 설시(novel teaching) 및 이익을 배제하지 않고 이들 실시 예들로 가능하다는 것을 알 수 있을 것이다. 따라서, 모든 그러한 변형 예들은 청구항에서 정의되는 것과 같은 발명의 사상의 범위 내에 포함되는 것으로 의도된다.
100: 시스템 110: 메모리 어레이
115: 통신 회선 120: 동적 열 예산 로직
205: 메모리 어레이 유닛 210: CPU 유닛
215: 통신 회선 220: 전압 레귤레이터 컨트롤러
225: 스위치 500: 컴퓨팅 시스템
505: 시스템 버스 510: 클럭
515: RAM 및/또는 플래시 메모리 어레이 유닛
520: 유저 인터페이스 525: 모뎀
530: 동적 열 예산 로직 535: ATE
540: 배터리 545: 메모리 컨트롤러
550: 프로세서(들)

Claims (20)

  1. 열 예산을 동적으로 할당하는 시스템의 동작 방법에 있어서:
    상기 시스템의 메모리 어레이 내의 복수의 메모리 그룹들 각각에 동일한 수의 크리딧들을 할당하는 단계;
    상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 양 중 적어도 하나를 감지하는 단계;
    상기 시스템의 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 할당된 수보다 적은지 여부를 결정하는 단계;
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 결정되면, 상기 특정 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 증가시키는 단계;
    상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 결정하는 단계; 그리고
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 특정 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 감소시키는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    미리 정해진 기간이 경과한 후,
    상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 두 번째 양 중 적어도 하나를 감지하는 단계;
    상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 결정하는 단계;
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 결정되면, 상기 특정 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 증가시키는 단계;
    상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정 메모리 그룹에 대한 상기 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 결정하는 단계; 그리고
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 특정 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 감소시키는 단계를 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 특정 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 증가시키는 단계에서 상기 할당된 크리딧들의 감소된 수 또는 상기 특정 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 감소시키는 단계에서 상기 할당된 크리딧들의 증가된 수를 통해서, 상기 크리딧들을 예측적으로 분배하고, 상기 예측적으로 분배된 크리딧들에 따라 상기 메모리 어레이의 다양한 물리적 위치들에 걸쳐 열을 분배하며,
    상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 양 중 적어도 하나를 감지하는 단계, 상기 동적 열 예산 로직에 의해 상기 소모되는 전류 또는 전력의 양이 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 결정하는 단계, 그리고 상기 동적 열 예산 로직에 의해 상기 소모되는 전류 또는 전력의 양이 크리딧들의 상기 할당된 수보다 적은지 여부를 결정하는 단계를 복수의 고정된 시간 주기 동안 주기적으로 반복하는 방법.
  4. 제 3 항에 있어서,
    상기 복수의 고정된 시간 주기 각각은 20 마이크로 초 이상인 방법.
  5. 제 1 항에 있어서,
    상기 소모되는 전류 또는 전력의 양이 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 결정하는 단계는:
    상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 상기 크리딧들의 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 결정하는 단계; 그리고
    상기 동적 열 예산 로직에 의해, 상기 복수의 메모리 그룹들 중 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 상기 크리딧들의 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 결정하는 단계를 더 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 복수의 메모리 그룹들 중 상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 상기 크리딧들의 할당된 수보다 적다고 결정되면, 상기 제 1 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 제 1 메모리 그룹의 쓰로틀링을 증가시키는 단계;
    상기 복수의 메모리 그룹들 중 상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 상기 크리딧들의 할당된 수보다 적다고 결정되면, 상기 제 2 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 제 2 메모리 그룹의 쓰로틀링을 증가시키는 단계;
    상기 복수의 메모리 그룹들 중 상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 상기 크리딧들의 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 제 1 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 제 1 메모리 그룹의 쓰로틀링을 감소시키는 단계; 그리고
    상기 복수의 메모리 그룹들 중 상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 상기 크리딧들의 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 제 2 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 제 2 메모리 그룹의 쓰로틀링을 감소시키는 단계를 더 포함하는 방법.
  7. 제 1 항에 있어서,
    상기 특정 메모리 그룹의 쓰로틀링을 증가시키는 단계는:
    상기 복수의 메모리 그룹들 각각에 연결된 스위치에 의해, 상기 특정 메모리 그룹의 쓰로틀링을 증가시키는 단계를 더 포함하는 방법.
  8. 제 1 항에 있어서,
    상기 특정 메모리 그룹의 쓰로틀링을 감소시키는 단계는:
    상기 복수의 메모리 그룹들 각각에 연결된 스위치에 의해, 상기 특정 메모리 그룹의 쓰로틀링을 감소시키는 단계를 더 포함하는 방법.
  9. 제 1 항에 있어서,
    상기 특정 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 증가시키는 단계에서 상기 할당된 크리딧들의 감소된 수 또는 상기 특정 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 감소시키는 단계에서 상기 할당된 크리딧들의 증가된 수에 기초하여, 상기 복수의 메모리 그룹들의 온도가 상기 열 예산 내에서 실질적으로 유지되도록 제어하는 단계를 더 포함하는 방법.
  10. 제 1 항에 있어서,
    상기 특정 메모리 그룹으로 크리딧들의 감소된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 증가시키는 단계에서 상기 증가된 쓰로틀링 또는 상기 특정 메모리 그룹으로 크리딧들의 증가된 수를 할당하고 상기 특정 메모리 그룹의 쓰로틀링을 감소시키는 단계에서 상기 감소된 쓰로틀링에 기초하여, 상기 복수의 메모리 그룹들의 온도가 상기 열 예산 내에서 실질적으로 유지되도록 제어하는 단계를 더 포함하는 방법.
  11. 제 1 항에 있어서,
    상기 복수의 메모리 그룹들 각각이 상기 열 예산의 미리 결정된 양 또는 비율을 할당받을 수 있도록 상기 열 예산을 리셋하는 단계; 그리고
    상기 복수의 메모리 그룹들 각각의 순간 전력 소모 또는 온도에 따라 상기 복수의 메모리 그룹들 각각에 걸쳐 상기 열 예산을 재할당하는 단계를 더 포함하는 방법.
  12. 메모리 어레이에 대한 열 예산을 동적으로 할당하는 시스템에 있어서:
    상기 메모리 어레이 내의 복수의 메모리 그룹들;
    상기 복수의 메모리 그룹들 각각에 연결된 스위치;
    상기 스위치에 연결되고, 상기 복수의 메모리 그룹들 각각에 크리딧들의 동일한 수를 할당하도록 구성된 동적 열 예산 로직; 그리고
    상기 동적 열 예산 로직에 연결되고, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 양 중 적어도 하나를 감지하도록 구성된 측정 수단을 포함하되,
    상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 결정하도록 더 구성되고,
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 결정되면, 상기 동적 열 예산 로직은 상기 특정 메모리 그룹으로 크리딧들의 감소된 수를 할당하도록 더 구성되고, 상기 스위치는 상기 특정 메모리 그룹의 쓰로틀링을 증가시키도록 더 구성되며,
    상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 결정하도록 더 구성되고, 그리고
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 동적 열 예산 로직은 상기 특정 메모리 그룹으로 크리딧들의 증가된 수를 할당하도록 더 구성되고, 상기 스위치는 상기 특정 메모리 그룹의 쓰로틀링을 감소시키도록 더 구성된 시스템.
  13. 제 12 항에 있어서,
    상기 측정 수단은, 미리 결정된 시간 주기 후에, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 두 번째 양 중 적어도 하나를 감지하도록 더 구성되고,
    상기 동적 열 예산 로직은, 상기 복수의 메모리 그룹들 중 상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 복수의 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 결정하도록 더 구성되고,
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 복수의 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 결정되면, 상기 동적 열 예산 로직은 상기 특정 메모리 그룹에 크리딧들의 감소된 수를 할당하도록 더 구성되고, 그리고 상기 스위치는 상기 특정 메모리 그룹의 쓰로틀링을 증가시키도록 더 구성되고,
    상기 동적 열 예산 로직은, 미리 결정된 시간 주기 후에, 상기 복수의 메모리 그룹들 중 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하는지, 동일한지, 또는 초과하는지 여부를 결정하도록 더 구성되고, 그리고
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 두 번째 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 동적 열 예산 로직은 상기 특정 메모리 그룹에 크리딧들의 증가된 수를 할당하도록 더 구성되고, 그리고 상기 스위치는 상기 특정 메모리 그룹의 쓰로틀링을 감소시키도록 더 구성된 시스템.
  14. 제 12 항에 있어서,
    상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 결정하도록 더 구성되고, 그리고
    상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 결정하도록 더 구성된 시스템.
  15. 제 14 항에 있어서,
    상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 결정되면, 상기 동적 열 예산 로직은 상기 제 1 메모리 그룹에 크리딧들의 감소된 수를 할당하도록 더 구성되고, 그리고 상기 스위치는 상기 제 1 메모리 그룹의 쓰로틀링을 증가시키도록 더 구성되며,
    상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 결정되면, 상기 동적 열 예산 로직은 상기 제 2 메모리 그룹에 크리딧들의 감소된 수를 할당하도록 더 구성되고, 그리고 상기 스위치는 상기 제 2 메모리 그룹의 쓰로틀링을 증가시키도록 더 구성되며,
    상기 제 1 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 1 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 동적 열 예산 로직은 상기 제 1 메모리 그룹에 크리딧들의 증가된 수를 할당하도록 더 구성되고, 그리고 상기 스위치는 상기 제 1 메모리 그룹의 쓰로틀링을 감소시키도록 더 구성되며,
    상기 제 2 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 제 2 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 동적 열 예산 로직은 상기 제 2 메모리 그룹에 크리딧들의 증가된 수를 할당하도록 더 구성되고, 그리고 상기 스위치는 상기 제 2 메모리 그룹의 쓰로틀링을 감소시키도록 더 구성된 시스템.
  16. 제 12 항에 있어서,
    상기 동적 열 예산 로직은 적어도 상기 크리딧들의 상기 할당에 기초하여 상기 열 예산 내에서 실질적으로 유지되게 상기 복수의 메모리 그룹들의 온도를 제어하도록 더 구성된 시스템.
  17. 제 12 항에 있어서,
    상기 동적 열 예산 로직은 적어도 상기 쓰로틀링에 기초하여 상기 열 예산 내에서 실질적으로 유지되게 상기 복수의 메모리 그룹들의 온도를 제어하도록 더 구성된 시스템.
  18. 제 12 항에 있어서,
    상기 동적 열 예산 로직은 상기 크리딧들을 예측적으로 분배하도록 더 구성되고,
    상기 동적 열 예산 로직은 상기 예측적으로 분배된 크리딧들에 따라 상기 메모리 어레이의 다양한 물리적 위치들에 걸쳐 열을 분배하도록 더 구성되고, 그리고
    상기 동적 열 예산 로직은, 복수의 고정된 시간 주기 동안, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 상기 전류 또는 전력을 감지하는 것, 소모되는 전류 또는 전력의 상기 양이 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 상기 동적 열 예산 로직에 의해 결정하는 것, 그리고 소모되는 전류 또는 전력의 상기 양이 크리딧들의 상기 할당된 수보다 적은지 여부를 상기 동적 열 예산 로직에 의해 결정하는 것을 주기적으로 반복하도록 더 구성된 시스템.
  19. 제 12 항에 있어서,
    상기 동적 열 예산 로직은, 각각의 메모리 그룹이 상기 열 예산의 미리 결정된 양 또는 비율을 할당받을 수 있도록 상기 열 예산을 리셋하고, 그리고 각각의 메모리 그룹의 순간 전력 소모 또는 온도에 따라 상기 복수의 메모리 그룹들에 걸쳐 상기 열 예산을 재할당하도록 더 구성된 시스템.
  20. 버스;
    상기 버스에 연결된 메모리 어레이;
    상기 메모리 어레이 내의 복수의 메모리 그룹들;
    상기 복수의 메모리 그룹들 각각에 연결된 스위치;
    상기 스위치에 연결되고, 상기 복수의 메모리 그룹들 각각에 크리딧들의 동일한 수를 할당하도록 구성된 동적 열 예산 로직; 그리고
    상기 동적 열 예산 로직에 연결되고, 상기 복수의 메모리 그룹들 각각에 의해 소모되는 전류 또는 전력의 양 중 적어도 하나를 감지하도록 구성된 측정 수단을 포함하되,
    상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적은지 여부를 결정하도록 더 구성되고,
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수보다 적다고 결정되면, 상기 동적 열 예산 로직은 상기 특정 메모리 그룹으로 크리딧들의 감소된 수를 할당하도록 더 구성되고, 상기 스위치는 상기 특정 메모리 그룹의 쓰로틀링을 증가시키도록 더 구성되며,
    상기 동적 열 예산 로직은 상기 복수의 메모리 그룹들 중 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과하는지 여부를 결정하도록 더 구성되고, 그리고
    상기 특정 메모리 그룹에 의해 소모되는 전류 또는 전력의 상기 양이 상기 특정 메모리 그룹에 대한 크리딧들의 상기 할당된 수에 근접하거나, 동일하거나, 또는 초과한다고 결정되면, 상기 동적 열 예산 로직은 상기 특정 메모리 그룹으로 크리딧들의 증가된 수를 할당하도록 더 구성되고, 상기 스위치는 상기 특정 메모리 그룹의 쓰로틀링을 감소시키도록 더 구성된 시스템.
KR1020140177552A 2013-12-28 2014-12-10 메모리 어레이를 위한 동적 열 예산 할당 KR102137741B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361921463P 2013-12-28 2013-12-28
US61/921,463 2013-12-28
US14/292,768 US9348380B2 (en) 2013-12-28 2014-05-30 Dynamic thermal budget allocation for memory array
US14/292,768 2014-05-30

Publications (2)

Publication Number Publication Date
KR20150079410A KR20150079410A (ko) 2015-07-08
KR102137741B1 true KR102137741B1 (ko) 2020-07-24

Family

ID=53481664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140177552A KR102137741B1 (ko) 2013-12-28 2014-12-10 메모리 어레이를 위한 동적 열 예산 할당

Country Status (4)

Country Link
US (1) US9348380B2 (ko)
JP (1) JP6426458B2 (ko)
KR (1) KR102137741B1 (ko)
CN (1) CN104750429B (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216212B1 (en) * 2014-12-16 2019-02-26 Amazon Technologies, Inc. Operating temperature-based mass storage device management
CN106293644B (zh) * 2015-05-12 2022-02-01 超威半导体产品(中国)有限公司 考虑时间热耦合的功率预算方法
US9798375B1 (en) 2016-01-05 2017-10-24 Apple Inc. Credit-based processor energy consumption rate limiting system
US10037172B2 (en) 2016-02-09 2018-07-31 Toshiba Memory Corporation Memory system and controlling method
US10558380B2 (en) * 2016-08-09 2020-02-11 Seagate Technology Llc Active power management
US11012945B2 (en) * 2017-09-29 2021-05-18 Apple Inc. Devices and methods for power allocation
US10481802B1 (en) * 2017-10-16 2019-11-19 EMC IP Holding Company LLC Balancing Mapped RAID background I/O with user I/O via dynamically changing background credits on Mapped RAID system and method
US11307778B2 (en) * 2018-03-09 2022-04-19 Kioxia Corporation Power management for solid state drives in a network
WO2020122933A1 (en) * 2018-12-14 2020-06-18 Hewlett-Packard Development Company, L.P. Power control based on cumulative error
US10969858B2 (en) 2019-01-03 2021-04-06 Apple Inc. Operation processing controlled according to difference in current consumption
JP2020119073A (ja) 2019-01-21 2020-08-06 キオクシア株式会社 メモリシステム
US11054882B2 (en) 2019-02-21 2021-07-06 Apple Inc. Externally-triggered throttling
US11442529B2 (en) 2019-05-15 2022-09-13 Intel Corporation System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US11249539B2 (en) 2019-06-28 2022-02-15 Integrated Device Technology, Inc. DDR5 client PMIC power up sequence and state transitions
KR20210098728A (ko) 2020-02-03 2021-08-11 삼성전자주식회사 적층형 메모리 장치 및 상기 적층형 메모리 장치의 동작 방법
US20220147279A1 (en) * 2020-11-06 2022-05-12 Seagate Technology Llc Heat management solid-state data storage system
KR20220116632A (ko) 2021-02-15 2022-08-23 삼성전자주식회사 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치
US11921564B2 (en) 2022-02-28 2024-03-05 Intel Corporation Saving and restoring configuration and status information with reduced latency

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925573B2 (en) * 2002-01-02 2005-08-02 Intel Corporation Method and apparatus to manage use of system power within a given specification
US6786056B2 (en) 2002-08-02 2004-09-07 Hewlett-Packard Development Company, L.P. Cooling system with evaporators distributed in parallel
US7058828B2 (en) 2002-08-12 2006-06-06 Hewlett-Packard Development Company, L.P. System, method and apparatus for the frequency management of blades in a bladed architecture based on performance requirements
US6834811B1 (en) 2003-04-01 2004-12-28 Hewlett-Packard Development Company, L.P. Market-based temperature control system and method
US20050138440A1 (en) 2003-12-18 2005-06-23 Barr Andrew H. Equipment rack load modulation system and method
US7421598B2 (en) * 2005-02-09 2008-09-02 International Business Machines Corporation Dynamic power management via DIMM read operation limiter
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US8374730B2 (en) 2005-08-25 2013-02-12 Apple Inc. Methods and apparatuses for dynamic thermal control
US7620480B2 (en) 2005-11-01 2009-11-17 Hewlett-Packard Development Company, L.P. Cooling components across a continuum
US7549034B2 (en) * 2005-11-10 2009-06-16 International Business Machines Corporation Redistribution of memory to reduce computer system power consumption
US7669071B2 (en) * 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
US7818592B2 (en) * 2007-04-18 2010-10-19 Globalfoundries Inc. Token based power control mechanism
US7861102B1 (en) 2007-04-30 2010-12-28 Hewlett-Packard Development Company, L.P. Unified power management architecture
US8065537B2 (en) 2007-06-12 2011-11-22 Hewlett-Packard Development Company, L.P. Adjusting cap settings of electronic devices according to measured workloads
US7971074B2 (en) * 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US7979729B2 (en) 2007-11-29 2011-07-12 International Business Machines Corporation Method for equalizing performance of computing components
US8001403B2 (en) 2008-03-14 2011-08-16 Microsoft Corporation Data center power management utilizing a power policy and a load factor
US9519517B2 (en) 2009-02-13 2016-12-13 Schneider Electtic It Corporation Data center control
IN2012DN00933A (ko) * 2009-07-24 2015-04-03 Advanced Micro Devices Inc
US8335123B2 (en) * 2009-11-20 2012-12-18 Sandisk Technologies Inc. Power management of memory systems
US8478451B2 (en) * 2009-12-14 2013-07-02 Intel Corporation Method and apparatus for dynamically allocating power in a data center
US8566619B2 (en) 2009-12-30 2013-10-22 International Business Machines Corporation Cooling appliance rating aware data placement
JP2011227664A (ja) * 2010-04-19 2011-11-10 Toshiba Corp メモリシステム
US8510582B2 (en) * 2010-07-21 2013-08-13 Advanced Micro Devices, Inc. Managing current and power in a computing system
US8826051B2 (en) * 2010-07-26 2014-09-02 Apple Inc. Dynamic allocation of power budget to a system having non-volatile memory and a processor
US8555095B2 (en) * 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
KR101770587B1 (ko) * 2011-02-21 2017-08-24 삼성전자주식회사 멀티코어 프로세서의 핫 플러깅 방법 및 멀티코어 프로세서 시스템
US9830954B2 (en) * 2011-03-23 2017-11-28 Intel Corporation Method and system for dynamic power management of memories
US9088951B2 (en) * 2011-05-25 2015-07-21 Qualcomm Incorporated Dynamic feature-aware power management
US9417684B2 (en) * 2011-12-22 2016-08-16 Intel Corporation Mechanism for facilitating power and performance management of non-volatile memory in computing devices
US9298247B2 (en) * 2012-11-27 2016-03-29 International Business Machines Corporation Distributed power budgeting

Also Published As

Publication number Publication date
JP2015127955A (ja) 2015-07-09
US9348380B2 (en) 2016-05-24
CN104750429A (zh) 2015-07-01
JP6426458B2 (ja) 2018-11-21
CN104750429B (zh) 2019-04-16
US20150185813A1 (en) 2015-07-02
KR20150079410A (ko) 2015-07-08

Similar Documents

Publication Publication Date Title
KR102137741B1 (ko) 메모리 어레이를 위한 동적 열 예산 할당
NL2029029B1 (en) Methods and apparatus to coordinate edge platforms
US11184236B2 (en) Methods and apparatus to control processing of telemetry data at an edge platform
US20210014114A1 (en) Methods, apparatus, and articles of manufacture for workload placement in an edge environment
US11630706B2 (en) Adaptive limited-duration edge resource management
EP3971682A1 (en) Elastic power scaling
CN104238712B (zh) 分布式功率输送
US10789083B2 (en) Providing a virtual desktop service based on physical distance on network from the user terminal and improving network I/O performance based on power consumption
KR102137575B1 (ko) 멀티-프로세서 시스템을 위한 동적 열 예산 할당
US20210021484A1 (en) Methods and apparatus to schedule workloads based on secure edge to device telemetry
US20150185799A1 (en) Power management techniques for computer-readable storage devices
US20210014301A1 (en) Methods and apparatus to select a location of execution of a computation
CN105760224A (zh) 一种资源的动态调整方法和装置
EP4109258A1 (en) Methods and apparatus to offload execution of a portion of a machine learning model
US20210318965A1 (en) Platform data aging for adaptive memory scaling
CN115373828A (zh) 一种资源调度方法、装置、设备以及计算机存储介质
US20220197706A1 (en) Scheduling of a cyber-physical system process through a utility function
EP4109259A1 (en) Power-based adaptive hardware reliability on a device
US20220114033A1 (en) Latency and dependency-aware task scheduling workloads on multicore platforms using for energy efficiency
US20210119935A1 (en) Objective driven orchestration
US20240126615A1 (en) Predictive workload orchestration for distributed computing environments
US20230195528A1 (en) Method and apparatus to perform workload management in a disaggregated computing system
Li et al. Fair multiresource allocation with access constraint in cloud-edge systems
DE102014117747A1 (de) Dynamische Zuordnung des Wärmebudgets für ein Speicherarray

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
GRNT Written decision to grant