KR20200137981A - 하드 기입 스로틀 다운을 갖는 nvram 메모리 모듈 - Google Patents

하드 기입 스로틀 다운을 갖는 nvram 메모리 모듈 Download PDF

Info

Publication number
KR20200137981A
KR20200137981A KR1020200051457A KR20200051457A KR20200137981A KR 20200137981 A KR20200137981 A KR 20200137981A KR 1020200051457 A KR1020200051457 A KR 1020200051457A KR 20200051457 A KR20200051457 A KR 20200051457A KR 20200137981 A KR20200137981 A KR 20200137981A
Authority
KR
South Korea
Prior art keywords
nvram
write
memory module
controller
response
Prior art date
Application number
KR1020200051457A
Other languages
English (en)
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 KR20200137981A publication Critical patent/KR20200137981A/ko

Links

Images

Classifications

    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
    • 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/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • 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
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

방법이 설명된다. 이 방법은 메모리 모듈의 복수의 NVRAM 반도체 칩에 대해 기입 동작들을 수행하면서 상기 기입 동작들을 수행하기 위한 전력 예산 헤드룸을 추적하고 상기 복수의 NVRAM 반도체 칩에 결합되는 공급 전압 레일 상의 전류 소모를 모니터링하는 단계를 포함한다. 이 방법은 상기 전류 소모가 임계값에 도달한 것을 검출하는 단계를 추가로 포함한다. 이 방법은 검출에 응답하여 상기 기입 동작들을 중단하거나 감소시키는 단계를 추가로 포함한다.

Description

하드 기입 스로틀 다운을 갖는 NVRAM 메모리 모듈{NVRAM MEMORY MODULE WITH HARD WRITE THROTTLE DOWN}
본 발명의 분야는 일반적으로 전기 기술에 관한 것으로, 더 구체적으로는 하드 기입 스로틀 다운을 갖는 NVRAM 메모리 모듈에 관한 것이다.
"빅 데이터", "클라우드 컴퓨팅" 및 다른 데이터 센터 중심 계산 패러다임들의 시작은 새로운 메모리 및 저장 기술들의 개발을 추진하고 있는데, 그 이유는 이들 패러다임들이 엄청난 양의 정보에 신속히 액세스하기 때문이다. 그러나, 그러한 새로운 메모리 및 저장 기술들은 시스템 설계자들이 인식하고 극복해야 하는 새로운 구현 과제들을 야기한다.
다음의 도면들과 함께 다음의 상세한 설명으로부터 본 발명의 더 나은 이해가 얻어질 수 있다.
도 1은 NVRAM 반도체 칩들을 갖는 전통적인 메모리 모듈을 도시한다.
도 2는 NVRAM 반도체 칩들을 갖는 개선된 메모리 모듈을 도시한다.
도 3은 도 2의 개선된 메모리 모듈의 동작의 실시예를 도시한다.
도 4는 컴퓨팅 시스템을 도시한다.
동적 랜덤 액세스 메모리(DRAM)와 필적하는 판독 및/또는 기입 레이턴시들을 갖는 새로 떠오르는 비휘발성 랜덤 액세스 메모리(NVRAM) 기술들이 개발되고 있다. 이들 떠오르는 NVRAM 메모리 기술들은 메인 메모리(시스템 메모리라고도 지칭됨)에서 비휘발성을 제공하고/하거나 디스크 드라이브들 및 플래시 메모리 둘 다보다 더 작은 액세스 레이턴시들을 갖는 대용량 저장 성능을 제공하기 위해 사용되고 있다. 이들 떠오르는 NVRAM 기술들 중 다수는 반도체 칩 기판 위에 3차원 저장 어레이들에(예를 들어, 칩의 상호연결 배선 레벨들 사이에) 형성되는 저항성 저장 셀들로 구성된다.
예를 들어, 저장 셀들은 기판 위에 서로 "적층"되지만 개별적으로 어드레싱 가능하다(예를 들어, 액세스 라인들의 제1 세트가 액세스 라인들의 제2 세트에 직교하여 이어지고 특정 액세스된 셀이 한 쌍의 활성화된 액세스 라인들의 교차점에 존재하는 "크로스포인트" 액세스 아키텍처를 통해). 더 높은 저항성 셀 상태는 하나의 논리 상태에 대응하고 더 낮은 저항성 셀 상태는 다른 논리 상태에 대응한다. 떠오르는 NVRAM 기술들의 예들은 Intel Corporation으로부터의 Optane™ 메모리 또는 Micron으로부터의 QuantX™ 메모리이다. 더 일반적으로, 떠오르는 NVRAM 기술들은, 여러 가능한 기술들 중에서, 상 변화 메모리, 상태 변화 메모리, 유전체 메모리, 강유전성 메모리, 자기 메모리, 스핀 전달 토크 메모리로 구성될 수 있다.
그러나, 다수의 이들 기술에 관한 관심사는 기입 동작 동안의 전력 소비이다. 여기서, 저항성 셀을 상이한 논리 상태로 "설정"하기 위해서는, 대량의 전류가 셀을 통해 구동될 필요가 있고/있거나 셀의 저장된 값을 "플립"하기 위해 셀의 양단에 큰 전압이 인가될 필요가 있다. 따라서, 일반적으로, 다수의 NVRAM 메모리 칩들을 포함하는 임의의 메모리 모듈은, 메모리 모듈의 전력 예산이 초과되지 않도록, 시간 윈도우에 걸쳐 그것이 수신하는 기입 커맨드들의 수를 제한하도록 설계되어야 한다.
도 1은 NVRAM 메모리 모듈(예를 들어, 듀얼 인-라인 메모리 모듈(DIMM), 적층형 메모리 폼 팩터 메모리 모듈 등) 또는 솔리드 스테이트 드라이브(SSD), 이후, 집합적으로, "모듈"(100)이 시간 윈도우에 걸쳐 실행할 수 있는 기입들의 수를 제한하기 위한 전통적인 설계를 도시한다. 도 1에서 관찰되는 바와 같이, 모듈(100)은 카운터(102)를 갖는 컨트롤러(101)를 포함한다. 카운터(102)는 추가의 기입 동작들을 실행하기 위해 모듈의 전력 예산에 얼마만큼의 헤드 룸이 존재하는지를 추적하기 위해 사용된다. 여기서, 기입 요청들이 호스트로부터 수신되고 기입 큐(103)에 입력된다. 모듈의 NVRAM 다이로 향하는 기입 동작들은 큐(103)로부터의 기입 요청들을 서비스하는 것에 의해 물리적으로 달성된다.
메모리 모듈의 컨트롤러(101)는 새로운 기입 동작이 수행될 때마다(즉, 기입 큐(103)로부터의 기입 요청이 서비스될 때마다) 새로 시작된 기입 동작에 의해 전력 예산 헤드룸이 감소된 양을 반영하기 위해 카운터(102) 내의 값을 고정량("K")만큼 감소시킨다. 대조적으로, 기입 동작이 완료될 때마다, 그 특정 기입 활동이 더 이상 발생하지 않는다는 것을 고려하여 전력 예산 헤드룸의 증가를 반영하기 위해 고정량이 카운터 값에 추가된다.
카운터 값이 0(또는 어떤 다른 낮은 임계값)에 도달하면, 컨트롤러(101)는 호스트로부터의 어떠한 새로운 기입 요청도 수락하지 않을 것이다. 구현에 따라, 컨트롤러(101)는 기입 큐(103)로부터의 기입 요청들을 계속 서비스하고 대응하는 기입 동작들을 수행할 수 있거나(기입 큐(103)가 결국 빌 때까지), 또는 기입 동작들의 수행을 완전히 중단할 수 있다(기입 큐(103)로부터의 기입 요청들을 서비스하는 것을 중단한다). 기입 동작들이 계속 수행되는 경우, 컨트롤러(101)는 기입 큐(103)로부터의 기입 커맨드들이 서비스되는 속도의 감속을 강제할 수 있거나, 또는 어떠한 그러한 속도 조정도 행해지지 않는다.
그와 관계없이, 호스트로부터의 어떠한 새로운 기입 요청도 수락되지 않기 때문에, 기입 완료들은 결국 활성 기입 동작들보다 수적으로 우세하고, 이는 차례로 카운터 값이 증가하게 한다(증가가 감소보다 수적으로 우세하다). 결국 카운터 값은 호스트로부터의 새로운 기입 요청들을 다시 수락하기 시작하고 기입 큐(103)로부터의 이들을 서비스하기 위해 충분한 헤드룸이 존재한다는 것을 컨트롤러(101)에게 나타내는 어떤 높은 임계값 위로 올라간다.
그러나, 더 복잡한 것은 (적어도 일부 NVRAM 기술들에 대하여) 저장 셀을 새로운 상태로 "플립"하기 위해 필요한 에너지의 양에 영향을 미치는 "시간 민감성(time-sensitivity)" 현상이다. 예를 들어, 저장 셀을 플립하기 위해 필요한 에너지의 양은 셀이 다른 이전에 저장된 상태를 더 오래 유지할수록 증가할 수 있다(그 에너지는 셀 값을 변경하지 않는 기입들에 대해서는 대략 일정하게 유지된다).
따라서, 많은 상황들에서, 기입 동작/완료마다 전력 예산 카운터를 위 또는 아래로 조정하기 위해 사용되는 전술한 고정 값 K는 소비된 기입 에너지의 양을 정확하게 반영하지 않는다. 오히려, 임의의 특정 기입 동작을 실행하기 위해 필요한 에너지의 양은 목표 셀(들)이 경험한 그리고 K 값이 고려하지 않는 특정 기입 패턴(들)의 함수이다.
따라서, NVRAM 메모리의 실제 전력 소비 프로파일은 호스트 시스템이 NVRAM 모듈(100)을 사용하는 방법의 함수이다. 즉, 예를 들어, 상이한 소프트웨어 애플리케이션들을 실행하고/하거나 동일한 애플리케이션들을 상이한 데이터세트들에 적용하는 상이한 호스트 시스템들은 NVRAM 모듈의 관찰된 기입 동작들의 패턴, 및 결과적으로 그것의 전력 소비를 극적으로 변경할 수 있다.
최악의 경우 시나리오에 따르면, 모듈의 관찰된 기입 동작들의 패턴은 대량의 데이터를 오랜 기간 동안 변경되지 않은 채로 유지한 다음 이 데이터의 많은 부분을 새로운 데이터로 갑자기 덮어쓰기하는 것을 포함한다. 그렇게 하면 연장된 기간 동안 그들의 데이터를 유지한 많은 수의 셀들이 새로운 데이터로 동시에 덮어쓰기된다. 이 경우에, 기입마다 소비되는 에너지가 고정 값 K의 어떤 배수(예를 들어, 1.4K, 1.5K, 2K 등)에 더 가깝기 때문에, 모듈의 실제 나머지 전력 예산은 카운터 값이 지시하는 것보다 각각의 다음 기입으로 훨씬 더 빠르게 떨어질 것이다.
기입 동작마다 전력 예산 카운터로부터/로 감소/증가할 더 정확한 값을 결정하기 위해 셀당 기준으로(on a per-cell basis) 기입 패턴들을 추적하는 것은 현실적으로 실현가능하지 않은데, 그 이유는 모듈의 셀들 각각에 대해 행해진 기입 패턴들을 완전히 추적하기 위해 필요한 데이터의 양이 모듈(100)의 저장 용량을 개별적으로 초과할 것이기 때문이다.
따라서 도 2는 기입 동안 NVRAM 메모리 셀들에 그의 공급 전압이 인가되는 전력 레일(205)("공급 레일 V1")과 직렬로 결합된 전류계(204)를 포함하고 셀 기입 에너지가 증가함에 따라 레일을 통한 전류 소모(current draw)의 증가를 관찰하는 개선된 설계를 도시한다. 여기서, 도 2는 각각의 전압 레귤레이터들을 포함하고/하거나 NVRAM 다이에 제공되는 다양한 공급 전압들을 제공하는 외부 전압 레귤레이터들을 제어하는 전력 및 관리 집적 회로(PMIC)(206)를 도시한다. 여기서, 동일한 전압의 단일 레일이 모든 NVRAM 칩들에 결합될 수 있거나, 또는, 예를 들어, 동일한 공급 전압의 작업 부하들/전류들을 분배하기 위해, 동일한 공급 전압의 다수의 공급 레일들이 NVRAM 칩들의 상이한 그룹들에 결합될 수 있다. 간략화를 위해, 다음의 논의는 동일한 전압의 하나의 공급 레일이 모든 NVRAM 칩들에 공급되는 것으로 가정한다.
다양한 실시예들에서, 전류계(204)를 갖도록 선택되는 특정 전력 레일(205)은 셀에 대한 기입 동안 해당 셀을 바이어스하기 위해 사용되는 특별한 바이어스 전압을 제공한다. 여기서, 임의의 순간에서의 레일(205)로부터의 전류 소모는 현재 기입되고 있는 셀들의 수 및 그들 각각의 기입 에너지들의 함수일 것이다. 따라서, 광범위한 기간 동안 그들의 데이터를 유지하는 많은 수의 셀들이 새로운 정보로 갑자기 덮어쓰기되면, 전술한 시간 민감성 현상으로 인해, 레일(205) 상의 전류 소모는 응답하여 극적으로 위쪽으로 상승할 것이다.
전류계(204)의 출력은 플래그 회로(207)에 결합된다. 도 2에 묘사된 바와 같이, 플래그 회로(207)는 PMIC(206)와 컨트롤러(201) 사이에 존재한다. 그러나, 다양한 실시예들에서, 플래그 회로(207)는 PMIC(206) 내에 또는 컨트롤러(201) 내에 통합될 수 있다. 플래그 회로(207)는, 전류계(204)에 의해 검출된, 전력 레일(205) 상의 전류 소모가 높은 전류 임계값 위로 상승한다면 플래그를 상승시키도록 설계된다. 전류 소모가 이 높은 임계값 위로 상승하고 플래그가 플래그 회로(207)에 의해 상승된다면, 컨트롤러(201)는 응답하여 하드 기입 스로틀 다운 시퀀스를 활성화시킨다.
하드 기입 스로틀 다운 시퀀스의 제1 실시예는 플래그가 보수적으로 상승되도록 설계되는 경우에 특히 유용할 수 있다(최대 허용 모듈 전력 소비와 플래그가 상승될 때의 모듈의 실제 전력 소비 사이에 상당한 헤드룸이 존재하더라도 플래그는 상승된다). 하드 기입 스로틀 다운 시퀀스의 제1 실시예에 따르면, 카운터 값으로부터의 유닛 감소들에 대해 명목상 고정 값(K)보다 더 큰 고정 값이 사용된다. 여기서, 더 큰 고정 값은 시간 민감성 현상으로 인해 저장 셀을 플립하기 위해 필요한 최악의 경우 (최대) 에너지, 또는 훨씬 더 높은 값에 대응할 수 있다(예를 들어, 추정컨대 이미 발생했지만 현재의 카운트 값에 반영되지 않은 최악의 경우 에너지 플립들을 설명하기 위해).
이 경우에, 플래그가 상승되었더라도, 컨트롤러(201)는 호스트로부터의 기입 요청들을 계속 수신하고 기입 큐(203)로부터의 기입 요청들을 계속 서비스한다. 카운터(201)를 더 큰 양만큼 감소시킨 기입들의 완료들은 카운터를 더 큰 양만큼 대응하여 증가시킨다. 동작은 카운터 값이 낮은 임계값 아래로 떨어지지 않는 한 그리고 낮은 임계값 아래로 떨어질 때까지 계속되고 낮은 임계값 아래로 떨어지는 시점에서 컨트롤러(201)는 호스트로부터의 새로운 기입 요청들을 수락하기를 거절한다. 이 시점에서, 구현에 따라, 컨트롤러(201)는 또한 기입 큐(203)로부터의 기입 동작들을 발행하는 것을 중단하거나, 또는 기입 큐(203)가 빌 때까지 계속 서비스할 수 있다.
대부분의 시나리오들, 특히 모듈(200)이 시간 민감성 현상에 의해 영향을 받은 기입들의 많은 연속 부하(heavy continuous load)를 경험하고 있는 시나리오들에서, 카운터 값은 임계값 아래로 떨어질 것이다. 플래그가 상승된 후 카운터 값이 임계값 아래로 떨어지지 않는다면, 기입 활동이 줄어들어야 하고(카운터 값이 안정화되거나 더 높이 올라가게 함) 공급 레일(205)로부터의 전류 소모의 대응하는 하락이 관찰되어야 한다. 이 경우에, 검출된 전류는 결국 플래그를 리셋하도록 트리거하는 일부 낮은 임계값 아래로 떨어지고(그것은 더 이상 상승되거나 설정된 상태를 갖지 않음) 증가들/감소들은 더 큰 값보다는 오히려 그들의 명목상 값(K)으로 다시 스위칭한다.
하드 기입 스로틀 다운의 제2 실시예는 모듈의 최대 허용 전력 소비와 플래그가 상승될 때의 모듈의 실제 전력 소비 사이에 타이트한/작은 마진이 존재할 때 플래그가 상승되도록 설계되는 경우에 특히 유용할 수 있다. 하드 기입 스로틀 다운 시퀀스의 제2 실시예에 따르면, 카운터 값은 그것의 낮은 임계값 아래에 떨어지도록 즉시 감소된다(예를 들어, 카운터 값과 그것의 낮은 임계값 + 1 사이의 차이가 카운터 값으로부터 감산된다).
카운터 값이 그것의 낮은 임계값 아래로 갑자기 떨어진 경우, 컨트롤러(201)는 호스트로부터의 새로운 기입 요청들을 수락하는 것을 즉시 중단한다. 다시, 구현에 따라, 컨트롤러(201)는 또한 기입 큐(203)로부터의 기입 동작들을 발행하는 것을 중단하거나, 또는 기입 큐(203)가 빌 때까지 그것을 계속 서비스할 수 있다. 제2 실시예의 확장에서, 카운터 값은 감소되지 않고 컨트롤러(201)는, 플래그의 상승에 직접 응답하여, 단순히 그것이 호스트로부터의 새로운 기입 요청들을 수락하기를 거절하는 상태에 들어간다(그것은 또한 구현에 따라 기입 큐(203)를 서비스하는 것을 중단하거나 그것이 빌 때까지 그것을 계속 서비스할 수 있다).
그와 관계없이, 적어도 시간 민감성 현상 영향을 받은 기입들의 많은 연속 부하에 직면하여, 플래그가 상승되었고 컨트롤러가 호스트로부터의 새로운 기입 요청들을 수락하기를 거절한 결과로서 모듈(200)의 기입 활동은 적어도 일시적으로 중단 또는 감속될 것이다. 기입 활동의 중단/감속은, 차례로, 공급 레일(205)로부터의 메모리 모듈의 전류 소모뿐만 아니라 그것의 전체 전력 소비가 감소하게 한다.
다양한 실시예들에서, 이 감소된 전력 소비 상태는, 메모리 모듈의 전체 전력/전류 소비를, 플래그가 설정되게 한 공급 레일 전류의 검출된 상승을 포함하는 기간에 걸쳐, 메모리 모듈의 전력/전류 소비 규격들 내에 들어가게 하기에 충분한 시간 길이 동안 유지된다.
하나의 접근법에 따르면, 그 기간은 카운트 값의 낮은 임계값에 도달하는 시간으로부터(예를 들어, 위의 제1 실시예의 경우) 또는 플래그가 상승되는 시간으로부터(예를 들어, 위의 제2 실시예의 경우) 사전설정되고 마킹될 수 있다. 즉, 예를 들어, 카운트 값의 낮은 임계값에 도달하거나 플래그가 상승되면 타이머가 시작될 수 있다. 그 후, 타이머의 만료 시에, 메모리 모듈(200)은 그것의 전체 전력 소비를 체크 내에 유지하기에 충분히 긴 충분한 기간 동안 기입 활동을 방해한 것으로 간주되고, 컨트롤러(201)는 호스트로부터의 더 많은 기입 요청들을 수락하고 기입 큐(203)로부터의 기입 커맨드들을 서비스하는 것을 재시작하도록 허용된다.
제2 접근법에 따르면, 그 기간은 공급 레일(205) 상의 전류 소모의 준수에 의해 마킹된다. 즉, 공급 레일(205) 상의 전류 소모가 감소된 기입 활동에 응답하여 충분히 떨어진 것으로 간주되는 경우, 플래그는 리셋되고(하강되고) 컨트롤러(201)는 호스트로부터의 기입 요청들을 수락하고 기입 큐(203)로부터의 기입 커맨드들을 서비스하는 것을 재시작하도록 허용된다.
이들 접근법의 일부 조합이 또한 사용될 수 있다(예를 들어, 컨트롤러(201)가 호스트로부터의 새로운 기입 요청들을 수락하기 시작하고 기입 큐로부터의 기입 커맨드들을 서비스하는 것을 재시작하기 위해서는 타이머는 만료되어야 하고 레일 상의 전류 소모는 낮은 임계값 아래로 떨어져야 한다).
다양한 실시예들에서, 컨트롤러(201)가 호스트로부터의 기입 요청들을 수락하고 큐(203)로부터의 서비스 기입 동작들로 서비스하는 것을 허용하는 일부로서, 카운터 값은 기입 활동이 재시작될 때 메모리 모듈(200)의 전력 예산에 얼마만큼의 헤드룸이 존재하는지를 반영하는 값으로 리셋된다. 예를 들어, 감소된 기입 활동의 기간이 충분히 길고/길거나 플래그를 리셋하기 위해 사용되는 더 낮은 전류 임계값이 충분히 낮으면(예를 들어, 어떠한 기입 활동도 존재하지 않음을 지시하는 값으로), 시스템은 기입들을 수행하기 위한 메모리 모듈의 전력 예산의 대부분 또는 전부가 복원되었다고 추정할 수 있다. 그에 따라, 카운터 값은 기입 활동을 위한 전체 전력 예산에 대응하는 값, 또는 그 값에 가까운 값으로 리셋된다. 그 후 카운터는 정상 동작이 진척됨에 따라 명목상 값의(K) 감소들/증가들로 아래/위로 증분된다.
도 3은 호스트가 메모리 모듈에 시간 민감성 현상 영향을 받은 기입들의 지속된, 많은 부하를 갑자기 전송하는 환경에서 개선된 기입 스로틀링 기법의 일 실시예에 대한 타이밍도를 제공한다. 여기서, 도 3에서 관찰되는 바와 같이, 시간 T0에서, 공급 레일 전류는, 예를 들어, 상당한 기간 동안 각각의 NVRAM 메모리에 저장된 데이터를 변경하는 기입 커맨드들의 갑작스러운 스트림으로 인해, 갑자기 증가한다. 전류 스파이크에 응답하여, 플래그는 시간 T1에서 상승된다. 플래그가 상승되면, 메모리 모듈의 기입 활동은 시간 T2에서 응답하여 중단/감소된다.
기입 활동이 시간 T3까지 연장되는 충분한 양의 시간 동안 감소되는 것에 응답하여, 시간 T3에서 플래그가 하강되고 메모리 모듈은 기입 활동을 재시작한다. 프로세스는 그 후 반복된다. 즉, 메모리 모듈에 여전히 시간 민감성 현상 영향을 받은 기입들의 많은 부하가 전송되면서, 공급 전류는 시간 T3으로부터 다시 위쪽으로 증가할 것이고 그 결과 플래그가 시간 T4에서 다시 설정된다. 루프는 호스트가 메모리 모듈에 시간 민감성 현상 영향을 받은 기입들의 많은 부하를 전송하는 것을 중단할 때까지 계속 "채터링"(chattering)한다. 도 3에 묘사된 바와 같이, T9 이후에 시간 민감성 현상 영향을 받은 기입들의 많은 부하의 실행의 중단이 존재한다(V1 공급 전류는 T9 이후에 정상 레벨로 안정된다). 그러나, 특히, 메모리 모듈의 평균 전류 소모는 강제로 감소된 기입 활동으로 인해 그것의 최대 한계를 결코 초과하지 않는다.
응답 시간과 관련하여, 전류 스파이크가 발생하는 때(T0에서)와 플래그가 상승되는 때(T1에서) 사이에 약간의 지연이 있고, 플래그가 상승되는 때(T1에서)와 감소된 기입 활동이 공급 레일 전류가 하강하도록 효력을 발휘하는 때(T2에서) 사이에 약간의 지연이 있다는 점에 유의한다. 전자는 "검출" 지연이라고 지칭될 수 있고 후자는 "응답" 지연이라고 지칭될 수 있다. 검출 지연은, 전류계(204) 및 플래그 회로(207)의 민감도 및 응답도의 함수이다. 응답 지연은 사용되는 특정 스로틀 다운 시퀀스의 함수이다.
첫 번째로, 이들 지연은 메모리 모듈의 평균 전류 소모가 그것이 감소하기 시작하기 전에 그것의 최대 허용 값을 초과하지 않도록 충분히 짧아야 한다. 이 기준들을 만족시키기 위해, 이들 지연의 합계가 증가함에 따라, 감소된 기입 활동의 메모리 모듈의 기간은 대응하여 증가해야 한다. 즉, 모듈에 의해 제시되는 "피크" 전력이 높을수록, 모듈의 평균 전력 소비를 그것의 최대 허용 한계 내에 유지하기 위해 기입 활동은 더 오래 감소되어야 한다.
위에 설명된 컨트롤러(201) 및 전력 회로(PMIC, 전압 레귤레이터들 등)는 모듈 상에 통합되어 있는 것으로 설명되었지만 다양한 대안 실시예들에서 이들 중 하나 이상은 다른 곳(예를 들어, 마더보드, 호스트 시스템 온 칩(SOC) 등)에 위치할 수 있다. 더욱이, 모듈(200)은 상이한 유형들의 메모리 칩들(예를 들어, DRAM 및 NVRAM)의 혼합을 갖는 하이브리드 모듈일 수 있다.
컨트롤러(201)는 전용, 하드와이어드 로직 회로, 프로그램 가능 로직 회로(예를 들어, 필드 프로그래머블 게이트 어레이(FPGA) 로직 회로), 일부 형식의 프로그램 코드를 실행하도록 설계된 로직 회로(예를 들어, 프로세서) 또는 이들의 임의의 조합으로 구현될 수 있다. 임베디드 프로세서가 사용되는 경우, 임베디드 프로세서는 모듈과 연관된 펌웨어를 실행하여 위에 설명된 방법들 중 임의의 것/모두를 구현할 수 있다.
동일한(예를 들어, 바이어스) 전압의 다수의 공급 레일들이 NVRAM 칩들의 상이한 세트들에 결합되는 실시예들에서, 도 2의 기본 설계는 각각의 레일 및 NVRAM 칩들의 그룹을 설명하도록 확장될 수 있다(예를 들어, 제1 플래그 및 전류계는 NVRAM 칩들의 제1 그룹과 연관되고, 제2 플래그 및 전류계는 NVRAM 칩들의 제2 그룹과 연관된다). 각각의 그러한 레일에 대해 각각의 카운터들이 또한 유지될 수 있고/있거나 모든 NVRAM 칩들에 대한 조합된 헤드룸이 단일 카운터에서 유지될 수 있다.
위의 실시예들은 기입 활동을 제한하는 것을 강조하였지만, 상상컨대, 너무 많은 판독 및 기입 활동 또는 심지어 너무 많은 판독 활동만으로 특정 모듈들을 압도할 수 있다. 예를 들어, 타이트한 전력 및/또는 열 예산(thermal budget)을 갖는 모듈은 해당 모듈이 판독들만의 또는 판독들 및 기입들의 조합의 많은 부하를 수신한다면 너무 많은 전류를 소모하기 시작할 수 있다. 그러한 경우들에서, 위의 교시 내용들은 판독들 및 기입들 또는 심지어 판독들만을 제한하도록 확장될 수 있다. 여기서, 예를 들어, 판독 동안 셀들을 바이어스하기 위해 제2 바이어스 전압이 사용된다면, 전류계가 제2 바이어스 레일과 직렬로 배치될 수 있다. 플래그가 제2 전류계로부터 상승되면, 판독들이 위의 교시 내용들에 부합하여 억제될 수 있고/있거나 기입이 억제될 수 있다. 마찬가지로, 이 접근법이 전류계가 기입 동작 동안 셀들을 바이어스하는 제1 바이어스 레일과 직렬로 배치되는 위에 설명된 임의의 접근법들과 조합된다면, 전류 레일로부터 상승된 임의의 플래그가 기입들만이 아니라 판독들도 억제하기 위해 사용될 수 있다. 마찬가지로, 판독 활동을 카운트하는 제2 카운터가 제2 전류계로부터 다운스트림에 결합될 수 있고 판독 활동을 억제/제한하기 위해 사용될 수 있다. 또한, 판독 및 기입 활동을 함께 카운트하는"액세스" 카운터가 양쪽 전류계로부터 다운스트림에 결합되어 플래그들 중 어느 하나가 상승되는 것에 응답하여 일반적으로 액세스(판독들 및 기입들)를 제한할 수 있거나, 또는 어느 플래그가 상승되었는지에 따라 하나 또는 다른 유형의 액세스를 제한할 수 있다.
도 4는 컴퓨팅 시스템(400)(예를 들어, 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버 컴퓨터 등)의 예시적인 묘사를 제공한다. 도 4에서 관찰되는 바와 같이, 기본 컴퓨팅 시스템(400)은 중앙 프로세싱 유닛(401)(예를 들어, 복수의 범용 프로세싱 코어(415_1 내지 415_X)을 포함할 수 있음) 및 멀티-코어 프로세서 또는 애플리케이션 프로세서 상에 배치된 메인 메모리 컨트롤러(417), 시스템 메모리(402), 디스플레이(403)(예를 들어, 터치스크린, 플랫-패널), 로컬 와이어드 포인트-투-포인트 링크(예를 들어, USB) 인터페이스(404), 다양한 네트워크 I/O 기능들(405)(이더넷 인터페이스 및/또는 셀룰러 모뎀 서브시스템과 같은), 무선 로컬 영역 네트워크(예를 들어, WiFi) 인터페이스(406), 무선 포인트-투-포인트 링크(예를 들어, 블루투스) 인터페이스(407) 및 글로벌 포지셔닝 시스템 인터페이스(408), 다양한 센서들(409_1 내지 409_Y), 하나 이상의 카메라(410), 배터리(411), 전력 관리 제어 유닛(412), 스피커 및 마이크로폰(413) 및 오디오 코더/디코더(414)를 포함할 수 있다. CPU(401) 또는 다른 프로세서(예를 들어, GPU) 또는 다른 고성능 반도체 칩은 본 명세서에서 설명된 바와 같은 사전 로딩된 볼트(pre-loaded bolt)를 갖는 히트 싱크 어셈블리 및/또는 본 명세서에서 설명된 바와 같은 안티-타일 포스트들(anti-tile posts)을 갖는 캐리어를 포함할 수 있다.
애플리케이션 프로세서 또는 멀티-코어 프로세서(450)는 그것의 CPU(401) 내의 하나 이상의 범용 프로세싱 코어(415), 하나 이상의 그래픽 프로세싱 유닛(416), 메모리 관리 기능(417)(예를 들어, 메모리 컨트롤러) 및 I/O 제어 기능 또는 주변기기 컨트롤러(418)를 포함하는 SOC일 수 있다. 범용 프로세싱 코어들(415)은 전형적으로 컴퓨팅 시스템의 운영 체제 및 애플리케이션 소프트웨어를 실행한다. 그래픽 프로세싱 유닛(416)은 전형적으로, 예를 들어, 디스플레이(403) 상에 프레젠테이션되는 그래픽 정보를 생성하기 위해 그래픽 집약적 기능들을 실행한다.
메모리 제어 기능(417)은 시스템 메모리(402)와 인터페이스하여 시스템 메모리(402)로/로부터 데이터를 기입/판독한다. 시스템 메모리(또는 메인 메모리)(402)는 더 빠른 상위 계층의 휘발성 메모리(예를 들어, DRAM) 및 더 느린 계층의 비휘발성 메모리(예를 들어, NVRAM)를 갖는 다계층 메모리일 수 있다. 그에 따라, 위에 설명된 특징들을 갖는 시스템 메모리 모듈이 시스템 메모리에 통합될 수 있다. 마찬가지로, 로컬 메모리를 갖는 임의의 코-프로세서들(예를 들어, 그래픽 프로세서들)이 다계층 로컬 메모리 또는 로컬 메모리 내의 적어도 NVRAM을 이용할 수 있다. 그에 따라, 로컬 메모리는 위에 설명된 특징들을 갖는 모듈로 구성될 수 있다.
터치스크린 디스플레이(403), 통신 인터페이스들(404-407), GPS 인터페이스(408), 센서들(409), 카메라(들)(410), 및 스피커/마이크로폰 코덱(413, 414) 각각은 모두, 적절한 경우, 통합된 주변 디바이스도(예를 들어, 하나 이상의 카메라(410)) 포함하는 전체 컴퓨팅 시스템에 대한 다양한 형식의 I/O(입력 및/또는 출력)로서 간주될 수 있다. 구현에 따라, 이들 I/O 컴포넌트들 중 다양한 것들이 애플리케이션 프로세서/멀티-코어 프로세서(450) 상에 통합될 수 있거나 다이 밖에 또는 애플리케이션 프로세서/멀티-코어 프로세서(450)의 패키지 외부에 위치할 수 있다.
컴퓨팅 시스템은 또한 시스템의 대용량 저장 컴포넌트일 수 있는 비휘발성 저장소(420)를 포함한다. 여기서, 비휘발성 대용량 저장소(420)는 위에서 길게 설명된 특징들을 갖는 하나 이상의 대용량 저장 모듈(예를 들어, SSD들)로 구현될 수 있다. 본 기술분야에서 이해되는 바와 같이, SSD는 저장 매체로서 비휘발성 메모리 반도체 칩을 갖는 대용량 저장 디바이스이다. SSD들은 다양한 상이한 방식들 또는 폼 팩터들로 패키징될 수 있다(볼 그리드 어레이를 갖는 IC 패키지, 하드 디스크 드라이브(HDD) 폼 팩터, mSATA, M.2 등).
본 발명의 실시예들은 위에 설명된 바와 같은 다양한 프로세스들을 포함할 수 있다. 프로세스들은 머신 실행가능 명령어들로 구현될 수 있다. 명령어들은 범용 또는 특수 목적 프로세서로 하여금 특정 프로세스들을 수행하게 하기 위해 사용될 수 있다. 대안적으로, 이들 프로세스는 프로세스들을 수행하기 위한 하드와이어드 로직 회로 또는 프로그램 가능 로직 회로(예를 들어, FPGA, PLD)를 포함하는 특정/커스텀 하드웨어 컴포넌트들에 의해, 또는 프로그래밍된 컴퓨터 컴포넌트들 및 커스텀 하드웨어 컴포넌트들의 임의의 조합에 의해 수행될 수 있다. 예를 들어, 본 명세서에서 설명된 컴포넌트들의, 및/또는 본 명세서에서 설명된 자동화된 소켓 어셈블리/제조 프로세스들의 도면들을 저장하기 위해 머신 판독가능 저장 매체가 사용될 수 있다.
따라서, 본 발명의 요소들은 또한 머신 실행가능 명령어들을 저장하기 위한 머신 판독가능 매체로서 제공될 수 있다. 머신 판독가능 매체는 플로피 디스켓들, 광 디스크들, CD-ROM들, 및 광자기 디스크들, 플래시 메모리, ROM들, RAM들, EPROM들, EEPROM들, 자기 또는 광학 카드들, 전파 매체 또는 전자 명령어들을 저장하기에 적합한 다른 유형의 매체/머신 판독가능 매체를 포함할 수 있지만, 이들로 제한되지 않는다. 예를 들어, 본 발명은 통신 링크(예를 들어, 모뎀 또는 네트워크 연결)를 통해 반송파 또는 다른 전파 매체에 구현된 데이터 신호들을 통해 원격 컴퓨터(예를 들어, 서버)로부터 요청 컴퓨터(예를 들어, 클라이언트)로 전송될 수 있는 컴퓨터 프로그램으로서 다운로드될 수 있다.
전술한 명세서에서, 본 발명은 그의 특정 예시적인 실시예들을 참조하여 설명되었다. 그러나, 첨부된 청구항들에 제시된 바와 같은 본 발명의 더 넓은 사상 및 범위로부터 벗어나지 않고 다양한 수정들 및 변경들이 이루어질 수 있다는 것이 명백할 것이다. 따라서, 명세서 및 도면들은 제한적이기보다는 예시적인 의미로 간주되어야 한다.

Claims (21)

  1. 장치로서,
    복수의 비휘발성 랜덤 액세스 메모리(NVRAM) 반도체 칩 및 컨트롤러를 포함하는 메모리 모듈을 포함하고, 상기 NVRAM 반도체 칩들은 상기 NVRAM 반도체 칩들의 기입 활동에 비례하는 전류 소모를 갖는 전력 공급 레일을 포함하고, 상기 컨트롤러는 NVRAM 기입 동작 전력 예산 헤드룸을 추적하기 위한 카운터를 포함하고, 상기 컨트롤러는 상기 전력 공급 레일의 전류 소모가 임계값에 도달한 것에 응답하여 NVRAM 기입 동작 활동을 중단하거나 감소시키기 위한 회로를 포함하는, 장치.
  2. 제1항에 있어서,
    상기 메모리 모듈은 DIMM인, 장치.
  3. 제1항에 있어서,
    상기 메모리 모듈은 SSD인, 장치.
  4. 제1항에 있어서,
    상기 메모리 모듈은 적층된 NVRAM 반도체 칩들을 포함하는, 장치.
  5. 제1항에 있어서,
    상기 컨트롤러는 상기 임계값에 도달한 것에 응답하여 플래그가 상승되는 것에 응답하여 상기 카운터의 값을 감소시키는, 장치.
  6. 제5항에 있어서,
    상기 카운터의 값의 감소는 명목상 NVRAM 기입 동작에 응답하여 상기 카운터 값으로부터 행해진 감소들보다 큰, 장치.
  7. 제5항에 있어서,
    상기 컨트롤러는 상기 플래그가 상승되는 것에 응답하여 호스트로부터의 새로운 기입 요청들을 수락하는 것을 중단하는, 장치.
  8. 제5항에 있어서,
    상기 컨트롤러는 상기 플래그를 생성하는 플래그 회로 및 전류계로부터 출력을 수신하는 입력을 포함하는, 장치.
  9. 제1항에 있어서,
    상기 메모리 모듈은 전력 관리 컨트롤러를 포함하는, 장치.
  10. 제1항에 있어서,
    상기 전력 관리 컨트롤러는 플래그 회로를 포함하거나 플래그 회로에 결합되고, 상기 플래그 회로는 상기 임계값에 도달한 것에 응답하여 플래그를 생성하는, 장치.
  11. 컴퓨팅 시스템으로서,
    복수의 프로세싱 코어;
    시스템 메모리;
    상기 복수의 프로세싱 코어 사이에 결합된 메모리 컨트롤러;
    비휘발성 대용량 저장소;
    네트워킹 인터페이스;
    상기 시스템 메모리 또는 비휘발성 대용량 저장소 내에 구현된 메모리 모듈을 포함하고, 상기 메모리 모듈은 복수의 비휘발성 랜덤 액세스 메모리(NVRAM) 반도체 칩 및 컨트롤러를 포함하고, 상기 NVRAM 반도체 칩들은 상기 NVRAM 반도체 칩들의 기입 활동에 비례하는 전류 소모를 갖는 전력 공급 레일을 포함하고, 상기 컨트롤러는 NVRAM 기입 동작 전력 예산 헤드룸을 추적하기 위한 카운터를 포함하고, 상기 컨트롤러는 상기 전력 공급 레일의 전류 소모가 임계값을 넘은 것에 응답하여 NVRAM 기입 동작 활동을 중단하거나 감소시키기 위한 회로를 포함하는, 컴퓨팅 시스템.
  12. 제11항에 있어서,
    상기 메모리 모듈은:
    DIMM; 및
    SSD 중 하나인, 컴퓨팅 시스템.
  13. 제11항에 있어서,
    상기 메모리 모듈은 적층된 NVRAM 반도체 칩들을 포함하는, 컴퓨팅 시스템.
  14. 제11항에 있어서,
    상기 컨트롤러는 상기 임계값에 도달한 것에 응답하여 플래그가 상승되는 것에 응답하여 상기 카운터의 값을 감소시키는, 컴퓨팅 시스템.
  15. 제14항에 있어서,
    상기 카운터의 값의 감소는 명목상 NVRAM 기입 동작에 응답하여 상기 카운터 값으로부터 행해진 감소들보다 큰, 컴퓨팅 시스템.
  16. 제14항에 있어서,
    상기 컨트롤러는 상기 플래그가 상승되는 것에 응답하여 호스트로부터의 새로운 기입 요청들을 수락하는 것을 중단하는, 컴퓨팅 시스템.
  17. 방법으로서,
    메모리 모듈의 복수의 NVRAM 반도체 칩에 대해 기입 동작들을 수행하면서 상기 기입 동작들을 수행하기 위한 전력 예산 헤드룸을 추적하고 상기 복수의 NVRAM 반도체 칩에 결합되는 공급 전압 레일 상의 전류 소모를 모니터링하는 단계;
    상기 전류 소모가 임계값에 도달한 것을 검출하는 단계; 및
    상기 검출에 응답하여 상기 기입 동작들을 중단하거나 감소시키는 단계를 포함하는, 방법.
  18. 제17항에 있어서,
    상기 공급 전압 레일은 상기 기입 동작들에 대한 바이어스 전압을 제공하는, 방법.
  19. 제17항에 있어서,
    상기 메모리 모듈은:
    DIMM; 및
    SSD 중 하나인, 방법.
  20. 제17항에 있어서,
    상기 추적하는 동안 제1 양만큼 카운터를 감소시키고 상기 검출에 응답하여 제2의 더 큰 양만큼 상기 카운터를 감소시키는 단계를 추가로 포함하는, 방법.
  21. 장치로서,
    복수의 비휘발성 랜덤 액세스 메모리(NVRAM) 반도체 칩 및 컨트롤러를 포함하는 메모리 모듈을 포함하고, 상기 NVRAM 반도체 칩들은 상기 NVRAM 반도체 칩들의 액세스 활동에 비례하는 전류 소모를 갖는 전력 공급 레일을 포함하고, 상기 컨트롤러는 NVRAM 액세스 동작 전력 예산 헤드룸을 추적하기 위한 카운터를 포함하고, 상기 컨트롤러는 상기 전력 공급 레일의 전류 소모가 임계값에 도달한 것에 응답하여 NVRAM 액세스 동작 활동을 중단하거나 감소시키기 위한 회로를 포함하는, 장치.
KR1020200051457A 2019-05-29 2020-04-28 하드 기입 스로틀 다운을 갖는 nvram 메모리 모듈 KR20200137981A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/425,883 US20190278503A1 (en) 2019-05-29 2019-05-29 Nvram memory module with hard write throttle down
US16/425,883 2019-05-29

Publications (1)

Publication Number Publication Date
KR20200137981A true KR20200137981A (ko) 2020-12-09

Family

ID=67842614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200051457A KR20200137981A (ko) 2019-05-29 2020-04-28 하드 기입 스로틀 다운을 갖는 nvram 메모리 모듈

Country Status (3)

Country Link
US (1) US20190278503A1 (ko)
KR (1) KR20200137981A (ko)
DE (1) DE102020110584A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020031254A1 (ja) * 2018-08-07 2020-02-13 オリンパス株式会社 画像処理装置
US11366505B2 (en) * 2019-03-29 2022-06-21 Micron Technology, Inc. Predictive power management
CN111796775A (zh) * 2020-07-07 2020-10-20 威胜集团有限公司 智能电表数据存储方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286257B2 (en) * 2011-01-28 2016-03-15 Qualcomm Incorporated Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods
US9582211B2 (en) * 2014-04-29 2017-02-28 Sandisk Technologies Llc Throttling command execution in non-volatile memory systems based on power usage
US9575677B2 (en) * 2014-04-29 2017-02-21 Sandisk Technologies Llc Storage system power management using controlled execution of pending memory commands
US20160313760A1 (en) * 2015-04-23 2016-10-27 PhotonIC International Pte. Ltd. Photonics-Optimized Processor System
US10185511B2 (en) * 2015-12-22 2019-01-22 Intel Corporation Technologies for managing an operational characteristic of a solid state drive
US10558388B2 (en) * 2016-03-03 2020-02-11 Samsung Electronics Co., Ltd. Memory system and method of controlling the same
GB2551351B (en) * 2016-06-14 2019-05-08 Imagination Tech Ltd Executing memory requests out of order
US9760311B1 (en) * 2016-06-23 2017-09-12 Sandisk Technologies Llc Storage system and method for adaptive thermal throttling
US20180255589A1 (en) * 2017-03-03 2018-09-06 Qualcomm Incorporated Random access request regulation techniques for wireless stations
JP2019087089A (ja) * 2017-11-08 2019-06-06 ルネサスエレクトロニクス株式会社 給電システムおよびそれに用いられる半導体装置

Also Published As

Publication number Publication date
US20190278503A1 (en) 2019-09-12
DE102020110584A1 (de) 2020-12-03

Similar Documents

Publication Publication Date Title
US11216323B2 (en) Solid state memory system with low power error correction mechanism and method of operation thereof
US9575677B2 (en) Storage system power management using controlled execution of pending memory commands
US10725683B2 (en) Intelligent wide port phy usage
KR20200137981A (ko) 하드 기입 스로틀 다운을 갖는 nvram 메모리 모듈
US10241701B2 (en) Solid state memory system with power management mechanism and method of operation thereof
CN107646106B (zh) 具有每个活动加权和多个节流下降阈值的功率管理电路
JP6333971B2 (ja) ジェネリックホストベースのコントローラレイテンシ方法及び装置
US11693466B2 (en) Application processor and system on chip
EP3705979B1 (en) Ssd restart based on off-time tracker
US10672451B2 (en) Storage device and refresh method thereof
US8677162B2 (en) Reliability-aware disk power management
KR20210110071A (ko) 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US20190004723A1 (en) Throttling components of a storage device
US20210264999A1 (en) Method and apparatus for memory chip row hammer threat backpressure signal and host side response
US20180088658A1 (en) Power Control of a Memory Device Through a Sideband Channel of a Memory Bus
US20170371785A1 (en) Techniques for Write Commands to a Storage Device
US20210109587A1 (en) Power and thermal management in a solid state drive
CN111090387B (zh) 存储模块、操作其的方法以及操作控制其的主机的方法
KR101725691B1 (ko) 발열을 고려한 비휘발성 데이터 저장 장치 및 액세스 제어 방법
US20190041928A1 (en) Technologies for predictive feed forward multiple input multiple output ssd thermal throttling
WO2015081124A1 (en) Dimm device controller supervisor
US11243604B2 (en) Method of performing dynamic voltage and frequency scaling based on power step
US11888318B2 (en) Transient load management for a system-on-chip meeting an activity threshold
US11768531B2 (en) Power management for storage controllers
WO2016064554A1 (en) Storage system power management using controlled execution of pending memory commands