KR20200035329A - 전력 관리 기능이 있는 메모리 장치 - Google Patents
전력 관리 기능이 있는 메모리 장치 Download PDFInfo
- Publication number
- KR20200035329A KR20200035329A KR1020207008681A KR20207008681A KR20200035329A KR 20200035329 A KR20200035329 A KR 20200035329A KR 1020207008681 A KR1020207008681 A KR 1020207008681A KR 20207008681 A KR20207008681 A KR 20207008681A KR 20200035329 A KR20200035329 A KR 20200035329A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- transactions
- transaction
- controller
- plan
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
메모리 장치는 복수의 메모리 구성요소를 포함하는 메모리 어레이; 및 상기 메모리 어레이에 연결되는 제어기를 포함하며, 상기 제어기는: 처음 순서 계획에 따라 두 개 이상의 메모리 구성요소에 걸쳐 구현될 트랜잭션들의 집합을 결정하도록; 상기 처음 순서 계획에 대응하는 제1 복수의 전력 소비 레벨을 계산하도록; 그리고 상기 전력 소비 레벨들 중 하나 이상이 미리 결정된 임계치를 초과할 경우, 상기 두 개 이상의 메모리 구성요소에 걸쳐 상기 트랜잭션들의 집합을 구현하기 위한 업데이트된 순서 계획을 계산하도록 구성되되, 상기 업데이트된 순서 계획은 모두 상기 미리 결정된 임계치 이하인 제2 복수의 전력 소비 레벨에 대응한다.
Description
개시된 실시 예들은 메모리 장치들, 특히 전력 소비량 관리를 위한 메커니즘을 갖는 메모리 장치들에 관한 것이다.
컴퓨팅 시스템은 메모리 장치(예를 들어, 휘발성 메모리 장치, 플래시 메모리와 같은 비휘발성 메모리 장치 또는 조합 장치)를 채용하여 정보를 저장하고 액세스할 수 있다. 메모리 장치는 데이터를 저장하고 액세스하기 위해 대응하는 임계치 레벨들 또는 처리 전압 레벨들과 함께 전하들을 이용할 수 있다.
데이터를 저장하고 액세스할 때, 메모리 장치는 전류를 유입시키고 이에 대응하는 전력량을 소비한다. 순간 전력 소비 레벨은 보통 메모리 동작 실행 전반에 걸쳐 일정하지 않고, 메모리 동작 동안 특정 단계 또는 순간에 일시적인 부하 급등을 포함할 수 있다. 메모리 장치는 보통 다수의 동시 동작을 수행할 수 있기 때문에, 메모리 장치의 전력 소비 및 물리적 한계의 조합에 비추어 일시적인 부하 피크가 문제가 될 수 있다. 메모리 장치에서 전력 관리를 개선하려는 시도가 있었지만, 다양한 과제(예를 들어, 수많은 가능한 조합 및 동시 동작 타이밍, 상이한 설계 고려 사항, 고유한 구성요소 특성 등)으로 인해 전력 소비를 실제로 관리하기가 어려웠다. 따라서, 전력 관리 메커니즘을 갖는 메모리 장치가 필요하다.
도 1은 본 기술의 일 실시 예에 따른 전력 관리 메커니즘을 갖는 메모리 시스템의 블록도이다.
도 2는 본 기술의 일 실시 예에 따른 데이터 트랜잭션들과 연관된 전력 소비 레벨들의 예들을 도시한다.
도 3은 본 기술의 일 실시 예에 따른 총 전력 소비량의 일례를 도시한다.
도 4는 본 기술의 일 실시 예에 따른 데이터 트랜잭션들의 부하 프로파일들을 개념적으로 도시한다.
도 5는 본 기술의 일 실시 예에 따른 트랜잭션들의 순서 재계획과 연관된 총 전력 소비량의 변화를 도시한다.
도 6은 본 기술의 실시 예들에 따른 메모리 시스템 작동의 예시적인 방법을 도시한다.
도 7은 본 기술의 실시 예들에 따른 메모리 장치를 포함하는 시스템의 개략도이다.
도 2는 본 기술의 일 실시 예에 따른 데이터 트랜잭션들과 연관된 전력 소비 레벨들의 예들을 도시한다.
도 3은 본 기술의 일 실시 예에 따른 총 전력 소비량의 일례를 도시한다.
도 4는 본 기술의 일 실시 예에 따른 데이터 트랜잭션들의 부하 프로파일들을 개념적으로 도시한다.
도 5는 본 기술의 일 실시 예에 따른 트랜잭션들의 순서 재계획과 연관된 총 전력 소비량의 변화를 도시한다.
도 6은 본 기술의 실시 예들에 따른 메모리 시스템 작동의 예시적인 방법을 도시한다.
도 7은 본 기술의 실시 예들에 따른 메모리 장치를 포함하는 시스템의 개략도이다.
여기에 개시된 기술은 트랜잭션들의 전력 소비 특성들에 기초하여 메모리 장치에서 트랜잭션들(예를 들어, 판독 동작들, 기록 동작들, 소거 동작들)의 순서를 계획하기 위한 메모리 장치들, 메모리 장치들을 갖는 시스템들 및 관련 방법들에 관한 것이다. 각각의 트랜잭션들을 구현할 때, 메모리 장치는 트랜잭션들을 실행하는 메모리 구성요소(예를 들어, NAND 다이)에 의해 소비되는 다양한 레벨의 순간 전류/전력을 고려한다. 메모리 장치는 또한 트랜잭션들의 실행 전반에 걸쳐 유입되는 순간 전류/전력을 고려함으로써, 메모리 구성요소가 트랜잭션을 완료하는 데 필요한 총 시간에 비해 상대적으로 짧은 지속 시간(예를 들어, 10% 미만) 동안 지속되는 피크(즉, 로컬 또는 전체 최대) 레벨 또는 양의 전력을 소비하는 일시적인 부하를 고려할 수 있다.
피크 전력 레벨들은 순간적이기 때문에, 일반적으로 거의 발생하지 않는 가능한 가장 높은 전력 소비 레벨을 핸들링하도록 메모리 장치의 하드웨어를 설계하면 전체적으로 비효율적일 수 있다. 그러한 비효율성은 메모리 장치가 다수의 메모리 구성요소를 사용하여 다수의 트랜잭션을 동시에 실행할 수 있을 때 악화된다.
트랜잭션들의 실행 전반에 걸쳐 소비되는 순간 전류/전력을 고려할 때, 메모리 장치들(예를 들어, 제어기들을 사용하거나 이에 연결되는)은 임의의 소정의 순간에 총 전류 소비가 임계 레벨 아래로 유지되도록 트랜잭션들의 순서를 계획하여 상술한 비효율성을 감소시킬 수 있다. 따라서, 메모리 장치들은 트랜잭션들의 집합을 트랜잭션들을 실행하기 위한 초기 순서 계획과 상이하게(예를 들어, 트랜잭션들이 호스트 장치로부터 수신되었던 시퀀스, 또는 내부 동작들을 구현하기 위한 규칙적인 타이밍 등에 따르지 않게) 어레인지할 수 있다. 예를 들어, 메모리 장치들은 트랜잭션의 실행을 지연시키거나, 트랜잭션들에 대한 실행 시퀀스를 변경하거나, 상이한 메모리 구성요소를 할당하여 트랜잭션을 실행하거나, 하나 이상의 트랜잭션을 유보하거나, 또는 이들의 조합을 수행할 수 있다.
본 기술의 일 실시 예에 따르면, 메모리 장치들은 부하 프로파일들(예를 들어, 대응하는 트랜잭션들의 실행 동안 순간적으로 소비되는 전력량을 나타내는 값들의 집합 또는 일련의 값)을 사용하여 트랜잭션들의 소정의 구현 어레인지를 위해 총 전력 소비량을 계산할 수 있다. 예를 들어, 메모리 장치들은 규칙적으로 간격을 둔 시간 구간들에 걸쳐 각 메모리 구성요소에 대한 전력 소비 레벨들을 나타내는 테이블을 포함할 수 있다. 테이블은 하나의 차원을 따라(예를 들어, 수직 방향을 따라) 각각의 NAND 구성요소들을 나타내고 다른 차원을 따라(예를 들어, 수평 방향을 따라) 각각의 구성요소들에 대한 규칙적으로 간격을 둔 시간 구간들을 나타낼 수 있다. 메모리 장치들은 특정 순서 계획에 의해 특정된 어레인지에 따라, 테이블을 순서가 계획된 트랜잭션들에 대한 부하 프로파일들의 값들로 채울 수 있다. 그에 따라, 메모리 장치들은 특정 스케쥴에 따라 트랜잭션들을 실행하는 각 구성요소에 의해 매 순간 소비될 전력을 특성화할 수 있다. 메모리 장치들은 테이블의 각 시간 구간에 대응하는 총 전력 소비량을 찾기 위해 매 순간 NAND 구성요소들에 걸친 테이블의 값들을 합할 수 있다. 메모리 장치들은 그 결과의 합들을 사용하여, 순서 계획 어레인지를 조정하고/거나 다양한 상이한 순서 계획 어레인지를 평가하여 총 전력 소비량을 시간 구간들에 걸쳐 임계치 내 또는 미만으로 유지시키는 업데이트된 시퀀스를 계산할 수 있다.
도 1은 본 기술의 일 실시 예에 따른 전력 관리 메커니즘을 갖는 메모리 시스템(100)의 블록도이다. 메모리 시스템(100)은 메모리 어레이(104)(예를 들어, NAND 플래시)를 갖는 메모리 장치(102) 및 제어기(106)를 포함한다. 메모리 장치(102)는 메모리 어레이(104)를 호스트 장치(108)(예를 들어, 업스트림 중앙 프로세서(CPU))에 작동 가능하게 연결시킬 수 있다.
메모리 어레이(104)는 데이터를 저장하도록 그리고 데이터에 대한 액세스를 제공하도록 구성된 회로를 포함할 수 있다. 메모리 어레이(104)는 컴퓨터들 또는 다른 전자 장치들에 반도체, 집적 회로들 및/또는 외부 이동식 장치들로서 제공될 수 있다. 메모리 어레이(104)는 데이터를 저장하고 그에 대한 액세스를 제공하도록 구성된 복수의 메모리 구성요소(110)(예를 들어, 채널(112), 패키지(114), 다이(118), 평면, 블록, 페이지, 셀 등)를 포함한다. 예를 들어, 메모리 어레이(104)는 전하 저장 구조에 데이터를 각각 저장하는 메모리 셀들의 어레이를 포함한다. 메모리 셀들은 예를 들어, 플로팅 게이트, 전하 트랩, 상 변화, 강유전성, 자기 저항성 그리고/또는 데이터를 영구적으로 또는 반영구적으로 저장하도록 구성된 다른 적합한 저장 요소들을 포함할 수 있다. 메모리 셀들은 정보를 나타내기 위해 타겟 상태로 프로그래밍될 수 있는 1-트랜지스터 메모리 셀들일 수 있다. 예를 들어, 메모리 셀을 특정 데이터 상태로 프로그래밍하기 위해 전하가 메모리 셀의 전하 저장 구조(예를 들어, 전하 트랩 또는 플로팅 게이트) 상에 배치되거나 그것에서 제거될 수 있다.
메모리 셀들은 로우들(예를 들어, 각각이 워드 라인에 대응하는) 및 컬럼들(예를 들어, 각각이 비트 라인에 대응하는)로 배열될 수 있다. 각 워드 라인은 해당 워드 라인의 메모리 셀들이 저장하도록 구성된 데이터 상태들의 수에 따라, 하나 이상의 메모리 페이지를 포함할 수 있다. 각 컬럼은 공통 소스에 연결된 직렬 연결된 메모리 셀의 스트링을 포함할 수 있다. 각 스트링의 메모리 셀들은 소스 선택 트랜지스터(예를 들어, 전계 효과 트랜지스터)와 드레인 선택 트랜지스터(예를 들어, 전계 효과 트랜지스터) 사이에 직렬로 연결될 수 있다. 소스 선택 트랜지스터들은 소스 선택 라인에 공통으로 연결될 수 있고, 드레인 선택 트랜지스터들은 드레인 선택 라인에 공통으로 연결될 수 있다.
메모리 페이지들은 메모리 블록들로 그룹화될 수 있다. 동작 시, 데이터는 이를테면 페이지들의 그룹들 및/또는 메모리 블록들에 기록함으로써, 메모리 장치(102)의 다양한 메모리 영역에 관해 기록되거나 그 외 다르게 프로그래밍(예를 들어, 소거)될 수 있다. NAND-기반 메모리에서, 기록 동작은 보통 선택된 메모리 페이지들의 메모리 셀들을 특정 데이터 값들(예를 들어, 로직 0 또는 로직 1 중 어느 하나의 값을 갖는 데이터 비트들의 스트링)로 프로그래밍하는 것을 포함한다. 소거 동작은 소거 동작이 전체 메모리 블록 또는 다수의 메모리 블록을 동일한 데이터 상태(예를 들어, 로직 0)로 다시 프로그래밍하는 것을 제외하고는, 기록 동작과 유사하다.
데이터를 조작함에 있어서(예를 들어, 데이터를 기록, 판독 또는 소거하기 위해) , 제어기(106)는 각 채널이 패키지들(114)의 그룹에 대응하는 채널들(112)을 이용할 수 있다. 각 패키지는 하나 이상의 집적 회로 다이(118)(즉, 내부에 기능 회로들을 갖는 반도체 구조)를 더 포함할 수 있다. 메모리 셀들은 다이들(118) 내 기능 회로들의 부분일 수 있고, 다이들(118) 내 평면들을 따라 형성될 수 있다.
예를 들어, 패키지(114)는 각각 실리콘 관통 비아들(TSV들)과 수직으로 연결된 메모리 다이들(118)의 스택을 포함할 수 있다. 또한, 예를 들어, 반도체 다이는 단일 장치 패키지(114)의 다른 다이들과 함께 어레인지될 수 있다. 메모리 다이들(118)은 또한 데이터에 액세스하고/거나 데이터를 프로그래밍(예를 들어, 기록)하기 위해 그리고 이를테면 정보를 프로세싱하고/거나 제어기(106)와 통신하기 위한 다른 기능을 위한 다른 회로 구성요소들(도시되지 않음), 이를테면 멀티플렉서, 디코더, 버퍼, 판독/기록 드라이버, 어드레스 레지스터, 레지스터의 데이터 출력/데이터 입력 등을 포함할 수 있다. 다른 실시 예들에서, 메모리 셀들은 도시된 실시 예들에 도시된 것들과 상이한 유형들의 그룹들 및/또는 계층들로 배열될 수 있다.
제어기(106)는 마이크로 제어기, 특수 목적 로직 회로(예를 들어, 필드 프로그램 가능 게이트 어레이(FPGA, field programmable gate array), 특수 용도 집적 회로(ASIC, application specific integrated circuit) 등) 또는 다른 적합한 프로세서일 수 있다. 제어기(106)는 메모리에 저장된 명령들을 실행하도록 구성된 프로세서(120)를 포함할 수 있다. 도시된 예에서, 제어기(106)의 메모리는 메모리 장치(102)를 관리하고 메모리 장치(102)와 호스트 장치(108) 간 통신을 핸들링하는 것을 포함하여, 메모리 시스템(100)의 동작을 제어하는 다양한 프로세스, 동작, 로직 흐름 및 루틴을 수행하기 위한 명령들을 저장하도록 구성된 내장 메모리(122)를 포함한다. 일부 실시 예에서, 내장 메모리(122)는 예를 들어, 메모리 포인터들, 페치된 데이터 등을 저장하는 메모리 레지스터들을 포함할 수 있다. 내장 메모리(122)는 또한 마이크로-코드를 저장하기 위한 판독 전용 메모리(ROM, read-only memory)를 포함할 수 있다. 도 1의 예시적인 메모리 장치(102)가 제어기(106)를 포함하는 것으로 도시되었지만, 본 기술의 다른 실시 예에서, 메모리 장치는 제어기를 포함하지 않을 수 있고, 대신에 외부 제어(예를 들어, 외부 호스트에 의해, 또는 메모리 장치와 별개인 프로세서 또는 제어기에 의해 제공되는)에 의존할 수 있다.
일부 시나리오 또는 실시 예에서, 호스트 장치(108)는 메모리 장치(102) 또는 그것의 특정 NAND 구성요소에 대하여 데이터를 저장, 액세스 또는 관리하기 위해 다양한 유형의 트랜잭션들(130)(예를 들어, 판독 동작들(132), 기록 동작들(134) 또는 소거 동작들(136))을 명령 또는 요청할 수 있다. 제어기(106)는 트랜잭션들(130)을 메모리 어레이(104) 또는 특정 NAND 구성요소에 대하여 구현할 수 있다. 일부 시나리오 또는 실시 예에서, 제어기(106)는 호스트 장치(108)로부터의 임의의 입력 또는 명령(예를 들어, 가비지 수집 또는 데이터 리프레시와 같은 하우스키핑 동작들을 위한) 개시 입력 없이 트랜잭션들(130)을 개시할 수 있다.
제어기(106)는 트랜잭션들의 집합(130)이 실행될 때까지 동작 스택(140)에 트랜잭션들의 집합(130)을 저장할 수 있다. 제어기(106)는 처음 순서 계획(142)에 따라 트랜잭션들(130)을 저장할 수 있다. 처음 순서 계획(142)은 호스트 장치(108)로부터 트랜잭션들(130)이 수신되었던 시퀀스, NAND 장치 할당 또는 이들의 조합에 대응할 수 있다. 처음 순서 계획(142)은 또한 내부적으로 개시되는 트랜잭션들(130)(예를 들어, 제어기(106)에 의해 그리고 호스트 장치(108)로부터 임의의 개시 입력이 없는)에 대한, 이를테면 규칙적으로 타이밍이 정해진 동작들(예를 들어, 데이터 리프레시 또는 재할당) 또는 조건부로 트리거되는 동작들(예를 들어, 가비지 수집)에 대한 시퀀스 또는 타이밍에 대응할 수 있다.
제어기(106)는 처음 순서 계획(142)에 따라 트랜잭션들(130)을 실행하는 대신, 전력 소비 파라미터들에 따라 트랜잭션들(130)의 실행 어레인지를 조정할 수 있다. 그렇게 해서, 제어기(106)는 메모리 어레이(104) 내 구성요소들에 전력을 제공하도록 구성된 전력 회로(144)(예를 들어, 전원 장치, 레귤레이터, 인터페이스 등)에 더하여 그리고/또는 별개로 전력 소비를 모니터링 및 제어할 수 있다. 전력 회로(144)는 전력 레벨들 또는 전력 레벨들의 변화율을 제어 또는 조절하도록 구성된 전력 필터(146)(예를 들어, 커패시터, 제한기 또는 필터를 포함하는 것과 같은 회로)를 더 포함할 수 있다. 일부 실시 예에서, 호스트 장치(108)는 제어기(106)와 독립적으로 또는 이와 함께 전원에 따른 전력 소비를 분석할 수 있다.
도 2는 본 기술의 일 실시 예에 따른 데이터 트랜잭션들을 구현하는 것과 연관된 전력 소비 레벨들(202)의 예들을 도시한다. 도 1의 메모리 시스템(100)은 도 1의 판독 동작(132), 도 1의 기록 동작(134), 도 1의 소거 동작(136)과 같은 다양한 트랜잭션의 전력 소비 레벨들(202)을 측정, 기록 및 이용할 수 있다. 도시를 위해, 순간 소비 크기 또는 양은 수직 방향을 따라 표시되고 시간은 수평 방향을 따라 표시된다.
전력 소비 레벨들(202)은 하나 이상의 일시적인 부하 급등(204)을 포함할 수 있다. 일시적인 부하 급등(204)은 대응하는 트랜잭션들의 실행 동안 비교적 높은(즉, 주변 레벨들(예를 들어, 로컬 또는 전체 최대) 또는 임계치들을 초과하는 레벨들 또는 변화율들) 레벨들의 전류 또는 전력 소비량들을 포함할 수 있다. 일시적인 부하 급등(204)은 또한 동작 실행 동안 비교적 짧은 지속 시간 동안(예를 들어, 트랜잭션들을 실행하기 위한 총 지속 시간의 50% 또는 20% 미만) 지속될 수 있다.
도 3은 본 기술의 일 실시 예에 따른 총 전력 소비량의 일례를 도시한다. 도 1의 메모리 장치(102)는 도 1의 메모리 구성요소들(110)의 하나 이상의 레벨에 대응하는 총 전력 소비량을 계산할 수 있다. 예시적인 예로서, 총 전력 소비량이 도 3에 메모리 장치(102) 전체(즉, 메모리 장치(102) 내 채널들에 의해 소비되는 전력 레벨들의 합)에 대응하는 것으로서 도시되어 있다. 예를 들어, 메모리 장치(102)는 다수의 채널에 걸쳐 다수의 트랜잭션(130)을 동시에 실행할 수 있다. 각각의 실행들은 전력을 소비하여 도 2에 도시된 바와 같이 , 대응하는 채널에 대한 전력 소비량 트레이스 또는 포락선이 생성될 수 있다. 메모리 장치(102)에 의해 소비되는 총 전력은 각각의 구성요소들(예를 들어, 채널들)에 의해 소비된 전력의 합일 수 있다. 일부 실시 예에서, 총 전력 소비량은 각 채널, 패키지, 칩, 다이 등에 대해 계산될 수 있다.
처음 순서 계획(142)에 따라(즉, 전력 소비에 대한 조정 없이) 트랜잭션들(130)을 실행할 때, 메모리 장치(102)는 소비량 임계치(302)보다 더 많은 전력 또는 전류를 소비할 위험이 있을 수 있다. 소비량 임계치(302)는 전력/전류 소비 레벨에 관한 한도 또는 제한(즉, 하드웨어 구성요소들 및/또는 구성들에 대응하는 전력 등급 또는 한도)에 대응할 수 있다. 소비량 임계치(302)를 초과하면 전원 공급 장치가 절전되어, 메모리 장치(102)를 작동되지 않게 할 수 있어, 내부 데이터가 손실되거나 그에 손상을 입힐 수 있다.
도 4는 본 기술의 일 실시 예에 따른 데이터 트랜잭션들의 부하 프로파일들(402)을 개념적으로 도시한다. 부하 프로파일(402)은 도 1의 트랜잭션들에 대한 도 2의 소비 레벨들(202)의 표현을 포함할 수 있다. 일부 실시 예에서, 도 1의 메모리 시스템(100)은 트랜잭션들(130)(예를 들어, 도 1의 판독 동작(132), 도 1의 기록 동작(134), 도 1의 소거 동작(136))을 구현 또는 실행하면서 도 1의 메모리 구성요소들(110) 또는 메모리 구성요소들(110)을 나타내는 구성요소/회로의 전력 레벨들(202)을 측정 및/또는 샘플링함으로써 부하 프로파일들(402)을 생성할 수 있다.
예를 들어, 메모리 시스템(100)은 메모리 장치(102)의 부분으로서 구성되거나 메모리 장치(102) 내 도 1의 메모리 다이들(118)을 나타내는 메모리 다이를 사용하여 판독 동작(132)을 실행하면서 전력 레벨들(202)을 샘플링함으로써 판독 프로파일(404)을 생성할 수 있다. 메모리 시스템(100)은 유사하게 기록 동작(134)을 실행하면서 샘플링함으로써 기록 프로파일(406)을 그리고 소거 동작(136)을 실행하면서 샘플링함으로써 소거 프로파일(408)을 생성할 수 있다. 일부 실시 예에서, 부하 프로파일들(402)은 샘플링 주파수에 대응하는 시간 구간(410)에 따라 측정되는 소비 레벨에 대응하는 갑들의 집합을 포함할 수 있다. 일부 실시 예에서, 메모리 시스템(100)은 상이한 샘플링 주파수들에 대응하는 부하 프로파일들(402)의 다수의 집합을 이용할 수 있다.
메모리 시스템(100)은 생성된 부하 프로파일들(402)을 메모리 장치(102)에 저장할 수 있다. 메모리 시스템(100)은 메모리 장치(102)의 다른 메모리 구성요소들의 전력 소비를 특성화하기 위해 부하 프로파일들(402)을 사용할 수 있다. 예를 들어, 부하 프로파일들(402)은 판독 동작(132), 기록 동작(134), 소거 동작(136) 등을 실행하는 메모리 장치(102)의 다른 메모리 다이들(118)에 의해 소비될 수 있는 전력을 나타낼 수 있다.
메모리 장치(102)(예를 들어, 도 1의 제어기(106)를 사용하는)는 부하 프로파일들(402)을 사용하여 특정 시퀀스 또는 어레인지에 따라 트랜잭션들(130)을 구현하는 것과 연관된 순간마다의 총 전력 소비량을 계산 또는 추산할 수 있다. 메모리 장치(102)는 부하 프로파일들(402)을 사용하여, 처음 순서 계획(142)을 조정 또는 폐기하고, 총 전력 소비량을 소비량 임계치(302) 아래로 유지시키는 상이한 시퀀스 또는 어레인지로 도 1의 동작 스택(140) 내 트랜잭션들(130)을 실행할 수 있다.
도 5는 본 기술의 일 실시 예에 따른 트랜잭션들(130)의 순서 재계획과 연관된 총 전력 소비량의 변화를 도시한다. 도 1의 메모리 장치(102)는 도 4의 부하 프로파일들(402)의 소비량 샘플값들(502)(예를 들어, 도 1의 트랜잭션들(130)을 실행하는 것과 연관된 전력 또는 전류 소비 레벨들을 나타내는 샘플링된 값들)을 사용하여 소비량 추산 프로파일(504)(예를 들어, 특정 어레인지에 따라 트랜잭션들(130)을 실행함으로써 시간이 흐르면서 소비될 전력/전류에 대한 순간마다의 명세)을 결정할 수 있다.
예를 들어, 소비량 추산 프로파일(504)은 도 5에 도시된 테이블들을 사용하여 구현될 수 있다. 소비량 추산 프로파일(504)에서의 각 로우는 도 1의 메모리 구성요소들(110)(예를 들어, 도 1의 메모리 다이들(118)) 중 하나에 대응할 수 있고, 각 컬럼은 도 4의 특정 시간 구간(410)(예를 들어, 샘플링 주파수에 대응하는)에 대응할 수 있다. 소비량 추산 프로파일(504)은 미래 또는 다가오는 시간 및 동작들에 대응하는 다수의 시간 슬롯을 포함할 수 있다. 제어기(106)는 특정 순서 계획, 이를테면 처음 순서 계획(142)에 따른 트랜잭션들(130)의 소비량 샘플값들(502)로 테이블을 채움으로써 소비량 추산 프로파일(504)을 계산할 수 있다. 도 5에 도시된 바와 같이, 처음 순서 계획(142)은 시간 '1'에 순서가 계획된 기록 동작(134), 시간 '11'에 순서가 계획된 판독 동작(132)을 갖는 'NAND0', 시간 '1'에 순서가 계획된 소거 동작(136)을 갖는 양자의 'NAND1' 및 'NAND2', 및 시간 '4'에서 완료되는 판독 동작(132) 및 시간 '23'의 기록 동작(134) 다음 시간 '6' 및 시간 '15'에 순서가 계획된 추가 판독 동작들을 갖는 'NAND3'으로 상단 테이블에 표시된다.
제어기(106)는 소비량 추산 프로파일(504)을 사용하여 총 소비 레벨을 나타내는 조합된 소비량 추산치(506)를 계산할 수 있다. 예를 들어, 제어기(106)는 각 타임 슬롯에 대한 NAND 구성요소들에 걸쳐 소비량 샘플값들(502)의 합을 계산함으로써 조합된 소비량 추산치(506)를 계산할 수 있다.
제어기(106)는 조합된 소비량 추산치(506)를 사용하여 대응하는 순서 계획을 평가할 수 있다. 제어기(106)는 평가된 순서 계획이 소비량 임계치(302)를 초과하는 전력을 소비할 때 동작 스택(140) 내 트랜잭션들(130)에 대한 대응하는 순서 계획을 조정하거나 새로운 순서 계획을 생성할 수 있다. 예를 들어, 처음 순서 계획(142)은 '8' 내지 '9' 및 '11' 내지 '13' 시간 슬롯들에서의 과도한 전력 소비에 대응할 수 있다. 이에 응답하여, 제어기(106)는 조합된 소비량 추산치(506)를 소비량 임계치(302) 아래로 유지하는 업데이트된 순서 계획(508)(즉, 처음 순서 계획과 상이한 트랜잭션들(130)을 실행하기 위한 어레인지 및/또는 시퀀스)을 계산할 수 있다.
제어기(106)는 하나 이상의 순서 계획 메커니즘(즉, 알고리즘, 소프트웨어 루틴, 방법, 회로, 구성 또는 이들의 조합)을 사용하여 업데이트된 순서 계획(508)을 계산할 수 있다. 일부 실시 예에서, 제어기(106)는 이전 순서 계획보다 늦은 시간에 대응하는 트랜잭션의 순서를 재계획하는 지연 메커니즘(예를 들어, 도 5에 도시된 바와 같이 'NAND0'에 대해 기록 동작을 시간 '1'에서 시간 '4'로 지연시키는 것 그리고 'NAND2'에 대해 소거 동작을 시간 '1'에서 시간 '13'으로 지연시키는 것)을 사용하여 업데이트된 순서 계획(508)을 계산할 수 있다.. 일부 실시 예에서, 제어기(106)는 대응하는 트랜잭션의 실행을 일시 정지 또는 유보(예를 들어, 도 5에 도시된 바와 같이 시간 '18' 내지 '21'의 소거 동작을 유보하고 시간 '22'의 트랜잭션의 나머지 부분을 재개하는) 유보-동작 메커니즘을 사용하여 업데이트된 순서 계획(508)을 계산할 수 있다. 일부 실시 예에서, 제어기(106)는 트랜잭션의 순서를 상이한 구성요소에 재계획하는(즉, 상이한 채널, 패키지, 칩, 다이 등에, 이를테면 도 5에 도시된 바와 같이 기록 동작의 순서를 'NAND3'에서 'NAND0'에 재계획하는) 구성요소-재할당 메커니즘을 사용하여 업데이트된 순서 계획(508)을 계산할 수 있다.
제어기(106)는 우선 또는 가중치 방식(예를 들어, 어떤 트랜잭션의 순서를 재계획할지 결정하기 위한)에 따라 업데이트된 순서 계획(508)을 계산할 수 있다. 예를 들어, 제어기(106)는 트랜잭션 유형들, 착신 또는 수신 시퀀스 등에 기초하여 순서가 재계획될 트랜잭션을 결정할 수 있다. 일부 실시 예에서, 제어기(106)는 판독 동작(132)의 순서를 재계획하기 전에 소거 동작(136) 및/또는 기록 동작(134)의 순서를 재계획하는 것(예를 들어, 트랜잭션들을 지연 또는 유보하는 것)에 기초하여 업데이트된 스케쥴(508)을 계산할 수 있다. 일부 실시 예에서, 제어기(106)는 기록 동작(134)을 재할당하는 것에 기초하여 업데이트된 스케쥴(508)을 계산할 수 있다. 일부 실시 예에서, 제어기(106)는 트랜잭션 유형 다음 수신된 명령에 기초하여 순서를 재계획할 수 있다.
도 6은 본 기술의 실시 예들에 따라 도 1의 메모리 시스템을 동작시키는 예시적인 방법(600)을 도시한다. 메모리 시스템(100)은 방법(600)을 사용하여 총 전력 소비량에 따라 도 1의 트랜잭션들(130)의 실행 순서 계획을 조정하는 데 후속하여 사용될 수 있는 도 4의 부하 프로파일들(402)을 생성할 수 있다.
박스(602)에서, 메모리 시스템(100)은 트랜잭션(예를 들어, 도 1의 판독 동작(132), 도 1의 기록 동작(134) 또는 도 1의 소거 동작(136))을 실행할 수 있다. 메모리 시스템(100)은 도 1의 메모리 장치(102)의 도 1의 메모리 구성요소들(110)(예를 들어, 도 1의 메모리 채널들(112), 도 1의 메모리 패키지들(114), 도 1의 메모리 다이들(118) 등)을 나타내는 메모리 구성요소를 사용할 수 있다. 예를 들어, 메모리 시스템(100)은 도 1의 메모리 어레이(104) 및 도 1의 전력 회로(144), 대표적인 회로 등을 사용하여 트랜잭션을 실행할 수 있다.
박스(604)에서, 트랜잭션 실행과 연관된 전력 또는 전류 소비량이 측정될 수 있다. 측정은 메모리 시스템(100)의 전력 회로(144) 또는 다른 측정 회로(예를 들어, 전류 판독 레지스터, 실험실 장비 등)를 이용하여 도 2의 소비 레벨들, 도 5의 소비량 샘플값들(502)(즉, 샘플링 주파수에 대응하여 도 4의 시간 구간들(410)에 샘플링된 측정치들), 또는 이들의 조합을 결정할 수 있다. 측정은 메모리 장치(102)가 트랜잭션을 실행할 때 일어날 전류 유입 또는 전력 소비를 나타낼 수 있다.
박스(606)에서, 메모리 시스템(100)은 부하 프로파일들(402)을 생성할 수 있다. 메모리 시스템(100)은 모든 가능한 트랜잭션 또는 그 변형에 대해 박스들(602-604)로 표시된 프로세스들을 반복할 수 있다. 메모리 시스템(100)은 도 1의 메모리 장치(102), 이를테면 메모리 어레이(104) 또는 내장 메모리(122)에 부하 프로파일들(402)을 저장할 수 있다.
메모리 시스템(100)은 또한 방법(600)을 사용하여 도 1의 트랜잭션들(130)의 실행 순서 계획을 조정하고 총 전력 소비 레벨을 도 1의 소비량 임계치(302) 아래로 유지할 수 있다. 예를 들어, 메모리 장치(102)(예를 들어, 호스트 장치(108)로부터의 임의의 영향 또는 개시 없이 자체적으로 개시되고 제어기(106)에 의해 실행되는)는 부하 프로파일들(402)을 사용하여 실행 순서 계획을 조정할 수 있다.
박스(608)에서, 메모리 장치(102)는 내부 실행으로 의도된 트랜잭션들(130)을 결정할 수 있다. 메모리 장치(102)는 박스(622)에 도시된 바와 같이, 호스트 장치(108)로부터 트랜잭션들(130)을 수신함으로써 트랜잭션들(130)을 결정할 수 있다. 메모리 장치(102)는 또한 박스(624)에 나타낸 바와 같이, 트랜잭션들(130)을 내부적으로 개시함으로써(예를 들어, 가비지 수집 프로세스 또는 데이터 리프레시 프로세스의 부분으로서) 트랜잭션들(130)을 결정할 수도 있다. 메모리 장치(102)는 동작 스택(140)을 사용하여 트랜잭션들(130)을 저장 및/또는 추적할 수 있다. 처음에, 메모리 장치(102)는 수신된 그리고/또는 자체적으로 개시된 트랜잭션들이이 수신되거나 트리거될 때(즉, 처음 순서 계획(142)에 따라) 그것들을 저장할 수 있다.
박스(610)에서, 메모리 장치(102)는 동작 스택(140) 내 트랜잭션들(130)에 대응하는 부하 프로파일들(402)에 액세스할 수 있다. 메모리 장치(102)는 메모리 장치(102)에 저장된 부하 프로파일들(402)에 액세스할 수 있다.
예시를 위해, 메모리 장치(102)는 상술한 바와 같이, 미리 결정되는 부하 프로파일들(402)에 액세스하는 것으로 설명된다. 그러나, 메모리 장치(102)는 이를테면 부하 프로파일들(402)을 동적으로 측정 및 업데이트함으로써 상이하게 동작할 수 있다는 것이 이해된다.
박스(612)에서, 메모리 장치(102)는 순서 계획에 따라 부하 프로파일들(402)(즉, 그 내부의 소비량 샘플값들(502))을 어레인지할 수 있다. 예를 들어, 제어기(106)는 순서 계획에 따라, 이를테면 대응하는 타임 슬롯들을 처리된 순서 계획(예를 들어, 처음 순서 계획(142) 또는 조정된 어레인지)에 따라 소비량 샘플값들(502)로 채움으로써, 도 5의 소비량 추산 프로파일(504)을 채울 수 있다.
제어기(106)는 또한 실행 및 시간 경과에 따라 소비량 추산 프로파일(504)을 업데이트할 수 있다. 예를 들어, 제어기(106)는 각 실행 또는 시간 사이클(예를 들어, 고정된 지속 시간 또는 시스템 트리거)에 대해 소비량 샘플값들(502)을 보다 낮거나 보다 빠른 시간 슬롯으로(예를 들어, 도 5에 도시된 바와 같이 왼쪽으로) 시프트할 수 있다. 현재 시간은 시간 '0'(도 5에 도시되지 않음)일 수 있고 시간 슬롯들은 다가오는 시간 주기들 또는 구간들일 수 있다.
박스(614)에서, 메모리 장치(102)는 처리된 순서 계획과 연관된 총 소비량을 계산 또는 추산할 수 있다. 예를 들어, 제어기(106)는 조합된 소비량 추산치(506)를 계산함으로써(즉, 다가오는 또는 미래의 시간 슬롯들에 대해 메모리 구성요소들(110)에 걸친 소비량 샘플값들(502)을 합함으로써) 미래 또는 다가오는 시간 슬롯들에 대한 총계를 계산 또는 추산할 수 있다. 도 5에 도시된 바와 같이, 제어기(106)는 타임 슬롯에 대응하는 각 컬럼의 값들을 합함으로써 조합된 소비량 추산치(506)를 계산할 수 있다.
박스(616)에서, 메모리 장치(102)는 처리된 순서 계획의 조합된 소비량 추산치(506)가 임의의 다가오는 시간 슬롯들 또는 미래 시간에서 소비량 임계치(302)를 초과하는지를 결정할 수 있다. 메모리 장치(102)는 각 다가오는 시간 슬롯들에 대한 조합된 소비량 추산치(506)의 값을 소비량 임계치(302)와 비교할 수 있다.
박스(620)에서, 메모리 장치(102)는 조합된 소비량 추산치(506)가 다가오는 시간 스롯들 동안 소비량 임계치(302) 아래에 있을 때 처리된 시퀀스(예를 들어, 처음 순서 계획(142) 또는 업데이트된 순서 계획)에 따라 트랜잭션들(130)을 실행할 수 있다. 방법(600)은 박스(608)로 궤환할 수 있고 새로운 트랜잭션들을 추가로 처리할 수 있다
박스(618)에서, 메모리 장치(102)는 다가오는 시간 슬롯들에 대해 조합된 소비량 추산치(506)가 소비량 임계치(302) 이상일 때 동작 스택(140) 내 트랜잭션들(130)을 실행하기 위해, 처리된 순서 계획을 조정하고/거나 처리된 순서 계획과 상이한 업데이트된 순서 계획(508)을 생성할 수 있다. 예를 들어, 제어기(106)는 트랜잭션의 실행을 지연시키거나, 실행 도중에 진행 중인 트랜잭션을 유보시키거나, 유보된 트랜잭션의 나머지 부분을 재시작 또는 완료하거나, 상이한 메모리 구성요소를 사용하여 실행할 트랜잭션을 재할당하거나, 또는 이들의 조합을 수행할 수 있다.
박스(632)에서, 제어기(106)는 조합된 소비량 추산치(506)가 소비량 임계치(302)를 초과하는 타이밍 또는 시간 슬롯을 식별하는 것에 기초하여 조정 또는 생성할 수 있다. 제어기(106)는 또한 초과 전력 소비량을 갖는 시간 슬롯 또는 타이밍과 연관된 특정 트랜잭션을 식별할 수 있다. 제어기(106)는 또한 순서가 계획된 트랜잭션들과 연관된 도 2의 일시적인 부하 급등(204)을 식별할 수 있다.
박스(634)에서, 제어기(106)는 순서 계획을 조정하고/거나 업데이트된 스케쥴(508)을 생성하기 위한 메커니즘을 결정할 수 있다. 예를 들어, 제어기(106)는 다가오는 시간에 초과 전력 소비량을 갖는 것과 연관된 트랜잭션들 중 하나 이상의 지연, 유보 또는 재개, 재할당 또는 이들의 조합을 수행할 수 있다. 또한, 예를 들어, 제어기(106)는 초과 전력 소비량에 대응하는 시간 슬롯 전 또는 후에 순서가 계획된 트랜잭션들 중 하나 이상의 지연, 유보 또는 재개, 재할당 또는 이들의 조합을 수행할 수 있다. 또한 예를 들어, 제어기(106)는 판독 동작(132) 전에 기록 동작(134) 및/또는 소거 동작(136)의 순서를 재계획 한 다음 가장 최근의 동작을 먼저 구현함으로써 업데이트된 스케쥴(508)을 생성함에 있어서 동작의 순서 또는 중요도를 따를 수 있다.
업데이트된 순서 계획(508)은 박스(614)로 궤환되거나 상술된 바와 같이 평가될 수 있다. 예를 들어, 제어기(106)는 소비량 추산 프로파일(504)을 생성하고, 조합된 소비량 추산치(506)를 계산 및 평가하며, 조합된 소비량 추산치(506)를 소비량 임계치(302)와 비교할 수 있다.
일부 실시 예에서, 제어기(106)는 설정된 수의 가능한 순서 계획을 생성하는 것에 기초하여 업데이트된 순서 계획(508)을 생성할 수 있다. 제어기(106)는 순서 계획에 대한 다수의 변경, 트랜잭션들의 집합(130)에 대한 전체 지연, 최대 또는 지속 전력 소비량 등에 기초하여 각 순서 계획에 대한 점수를 계산함으로써 다수의 가능한 순서 계획을 평가할 수 있다. 제어기(106)는 점수에 기초하여 평가된 순서 계획들 중 하나를 선택할 수 있다(예를 들어, 최저 또는 최고 점수를 갖는 순서 계획).
총 전력 소비량을 추산 또는 예측하는 소비량 추산 프로파일(504)에 기초하여 업데이트된 순서 계획(508)을 계산하면 메모리 장치(102)에 향상된 효율 및 강건성을 제공한다. 제어기(106)는 업데이트된 순서 계획(508)을 자동으로 사용하여 총 전력 소비량을 최대치 아래로 유지할 수 있으며, 이는 불필요한 전력 용량을 감소시킬 수 있고(예를 들어, 그렇게 함으로써 할당된 전력 수요 예측 내 수행을 로직적으로 증가시킬 수 있고) 전원 공급 장치들에 대한 임의의 절전을 방지할 수 있다.
도 7은 본 기술의 실시 예들에 따른 메모리 장치를 포함하는 시스템의 개략도이다. 도 1 내지 도 6을 참조하여 상술된 전술한 메모리 장치들 중 임의의 메모리 장치는 다수의 더 크고/거나 더 복잡한 시스템 중 임의의 시스템으로 편입될 수 있으며, 이의 대표적인 예가 도 7에 개략적으로 도시된 시스템(780)이다. 시스템(780)은 메모리 장치(700), 전원(782), 드라이버(784), 프로세서(786) 및/또는 기타 서브 시스템들 또는 구성요소들(788)을 포함할 수 있다. 메모리 장치(700)는 도 1 내지 도 6을 참조하여 상술된 메모리 장치의 특징들과 대체로 유사한 특징들을 포함할 수 있고, 그에 따라 상술된 동작들을 수행하기 위한 다양한 특징을 포함할 수 있다. 그 결과 시스템(780)은 메모리 저장, 데이터 처리 및/또는 다른 적합한 기능들과 같은 광범위한 기능 중 임의의 기능을 수행할 수 있다. 그에 따라, 대표적인 시스템(780)은 핸드헬드 장치들(예를 들어, 휴대 전화, 태블릿, 디지털 리더기 및 디지털 오디오 플레이어), 컴퓨터, 차량, 가전 제품 및 다른 제품들을 제한 없이 포함할 수 있다. 시스템(780)의 구성요소들은 단일 유닛에 하우징되거나 다수의 상호 연결된 유닛에 걸쳐 분산될 수 있다(예를 들어, 통신 네트워크를 통해). 또한 시스템(780)의 구성요소들은 원격 장치들 및 광범위한 컴퓨터 읽기 가능 매체 중 임의의 매체를 포함할 수 있다.
앞에서의 내용으로부터, 본 기술의 구체적인 실시 예들이 실증 목적으로 여기에 설명되었지만, 본 개시 내용에서 벗어나지 않고 다양한 변형이 이루어질 수 있다는 것이 이해될 것이다. 또한, 특정 실시 예들과 관련하여 설명된 새로운 기술의 특정 양태들은 또한 다른 실시 예들에서 조합 또는 제거될 수도 있다. 또한, 그러한 실시 예들과 관련하여 새로운 기술의 특정 실시 예들과 연관된 이점들이 설명되었지만, 다른 실시 예들도 그러한 이점들을 나타낼 수 있고 모든 실시 예가 본 기술의 범위 내에 있기 위해 반드시 그러한 이점들을 나타내야 하는 것은 아니다. 따라서, 본 개시 내용 및 관련 기술은 여기에 명시적으로 도시되거나 설명되지 않은 다른 실시 예들을 망라할 수 있다.
Claims (20)
- 메모리 장치로서,
복수의 메모리 구성요소를 포함하는 메모리 어레이; 및
상기 메모리 어레이에 연결되는 제어기를 포함하며, 상기 제어기는:
처음 순서 계획에 따라 두 개 이상의 메모리 구성요소에 걸쳐 구현될 트랜잭션들의 집합을 결정하도록;
상기 처음 순서 계획에 대응하는 제1 복수의 전력 소비 레벨을 계산하도록; 그리고
상기 전력 소비 레벨들 중 하나 이상이 미리 결정된 임계치를 초과할 경우, 상기 두 개 이상의 메모리 구성요소에 걸쳐 상기 트랜잭션들의 집합을 구현하기 위한 업데이트된 순서 계획을 계산하도록 구성되되, 상기 업데이트된 순서 계획은, 모두 상기 미리 결정된 임계치 이하인 제2 복수의 전력 소비 레벨에 대응하는, 메모리 장치. - 청구항 1에 있어서, 상기 제어기는, 각각 메모리 트랜잭션들을 나타내는 샘플링된 전력값들을 포함하는 부하 프로파일들에 기초하여 상기 제1 복수의 전력 소비 레벨을 계산하도록 구성되는, 메모리 장치.
- 청구항 2에 있어서, 상기 제어기는:
상기 처음 순서 계획에서의 트랜잭션들에 대응하는 상기 부하 프로파일들의샘플링된 상기 값들을 더함으로써 조합된 소비량을 계산하는 것에 기초하여 상기 업데이트된 순서 계획을 계산하도록; 그리고
상기 전력 소비 레벨들 중 하나 이상이 다가오는 시간 슬롯들에서의 상기 조합된 소비량을 상기 미리 결정된 임계치와 비교하는 것에 기초하여 상기 미리 결정된 임계치를 초과하는지를 결정하도록 구성되는, 메모리 장치. - 청구항 1에 있어서, 상기 제어기는:
호스트 장치로부터, 착신 시퀀스에 따라 수신되는 상기 트랜잭션들의 집합 또는 그의 일부를 수신하도록; 그리고
상기 착신 시퀀스와 상이한 상기 업데이트된 순서 계획을 계산하도록 구성되는, 메모리 장치. - 청구항 4에 있어서, 상기 제어기는:
제2 트랜잭션 전에 수신되는 제1 트랜잭션을 포함하는 상기 트랜잭션들의 집합을 수신하도록; 그리고
상기 업데이트된 순서 계획을 상기 제1 트랜잭션 전에 상기 제2 트랜잭션을 구현하도록 계산하도록 구성되는, 메모리 장치. - 청구항 4에 있어서, 상기 제어기는:
메모리 구성요소로 구현하도록 지정된 트랜잭션을 포함하는 상기 트랜잭션들의 집합을 수신하도록; 그리고
상이한 메모리 구성요소로 상기 트랜잭션을 구현하는 것을 포함하는 상기 업데이트된 순서 계획을 계산하도록 구성되는, 메모리 장치. - 청구항 4에 있어서, 상기 제어기는:
트랜잭션을 포함하는 상기 트랜잭션들의 집합을 수신하도록; 그리고
상기 업데이트된 순서 계획을 상기 트랜잭션을 구현하는 동안 진행 중인 트랜잭션을 유보하도록 계산하도록 구성되는, 메모리 장치. - 청구항 1에 있어서, 상기 제어기는 상기 업데이트된 순서 계획을 트랜잭션 유형들에 따라 계산하도록 구성되는, 메모리 장치.
- 청구항 8에 있어서, 상기 제어기는 판독 동작을 지연 또는 유보하기 전에 기록 동작 또는 소거 동작을 지연 또는 유보하도록 구성되는, 메모리 장치.
- 청구항 1에 있어서, 상기 부하 프로파일들은 각각 상기 메모리 장치에 대한 하나의 메모리 구성요소 상에 구현되는 대응하는 상기 트랜잭션 유형의 측정치들의 집합에 대응하는 미리 결정된 값들을 포함하며, 상기 부하 프로파일들은 상기 메모리 장치 내 상기 메모리 구성요소들 상에 구현되는 대응하는 상기 트랜잭션 유형을 나타내기 위한 것인, 메모리 장치.
- 청구항 1에 있어서, 상기 제어기는 동작 스택 내 상기 트랜잭션들의 집합의 순서를 재계획하도록 구성되는, 메모리 장치.
- 청구항 1에 있어서, 상기 메모리 구성요소들은 NAND 다이들인, 메모리 장치.
- 청구항 1에 있어서,
상기 제어기에 연결되며, 상기 메모리 어레이 및 상기 제어기에 필터링된 전력을 제공하도록 구성되는 전력 회로를 더 포함하며;
여기서:
상기 부하 프로파일들은 상기 필터링된 전력에 대응하는 상기 전력 소비 레벨을 나타내는, 메모리 장치. - 청구항 1에 있어서, 상기 업데이트된 순서 계획은 두 개 이상의 트랜잭션의 동시 구현을 포함하는, 메모리 장치.
- 제어기 및 메모리 구성요소들을 포함하는 메모리 어레이를 포함하는 메모리 장치를 동작시키는 방법으로서,
처음 순서 계획에 따라 두 개 이상의 메모리 구성요소에 걸쳐 구현될 트랜잭션들의 집합을 결정하는 단계;
상기 처음 순서 계획에 대응하는 제1 복수의 전력 소비 레벨을 계산하는 단계; 및
상기 전력 소비 레벨들 중 하나 이상이 미리 결정된 임계치를 초과할 경우, 상기 두 개 이상의 메모리 구성요소에 걸쳐 상기 트랜잭션들의 집합을 구현하기 위한 업데이트된 순서 계획을 계산하는 단계를 포함하며, 상기 업데이트된 순서 계획은 모두 상기 미리 결정된 임계치 이하인 제2 복수의 전력 소비 레벨에 대응하는, 방법. - 청구항 15에 있어서, 상기 제1 복수의 전력 소비 레벨을 계산하는 단계는 상기 처음 순서 계획에서의 메모리 트랜잭션들에 대응하는 부하 프로파일들을 식별하는 단계를 포함하며, 상기 부하 프로파일들은 각각 대응하는 상기 트랜잭션에 대한 샘플링 주파수로 샘플링된 상기 전력 소비 레벨을 나타내는 샘플링된 전력 값들을 포함하는, 방법.
- 청구항 16에 있어서, 상기 업데이트된 순서 계획을 계산하는 단계는:
상기 처음 순서 계획에서의 트랜잭션들에 대응하는 상기 부하 프로파일들의샘플링된 상기 값들을 더함으로써 조합된 소비량을 계산하는 단계; 및
상기 전력 소비 레벨들 중 하나 이상이 다가오는 시간 슬롯들에서의 상기 조합된 소비량을 상기 미리 결정된 임계치와 비교하는 것에 기초하여 상기 미리 결정된 임계치를 초과하는지를 결정하는 단계를 포함하는, 방법. - 청구항 15에 있어서,
호스트 장치로부터, 착신 시퀀스에 따라 수신되는 상기 트랜잭션들의 집합 또는 그의 일부를 수신하는 단계를 더 포함하며;
상기 업데이트된 순서 계획을 계산하는 단계는 상기 착신 시퀀스와 상이한 상기 업데이트된 순서 계획을 계산하는 단계를 포함하는, 방법. - 청구항 15에 있어서,
상기 트랜잭션들의 집합 또는 그의 일부를 수신하는 단계는 제1 트랜잭션 및 제2 트랜잭션을 수신하는 단계를 포함하며, 상기 제1 트랜잭션은 상기 착신 시퀀스에 따라 상기 제2 트랜잭션 전에 특정 구성요소상에서 구현하도록 의도되고;
상기 업데이트된 순서 계획를 계산하는 단계는 상기 제1 트랜잭션 전에 상기 제2 트랜잭션을 구현하도록, 상이한 구성요소 상에서 상기 제1 트랜잭션을 구현하도록, 그 외 다른 트랜잭션을 구현하는 동안 상기 트랜잭션들 중 하나를 유보하도록, 또는 이들의 조합으로 상기 업데이트된 순서 계획을 계산하는 단계를 포함하는, 방법. - 제어기, 메모리 구성요소들을 갖는 메모리 어레이, 및 전력 회로를 포함하는 메모리 장치를 동작시키는 방법으로서,
상기 메모리 장치에 대한 대표적인 구성요소 상에 구현되는 적어도 판독 동작, 기록 동작 또는 소거 동작 중 하나인 트랜잭션을 실행하는 단계로서, 상기 대표적인 구성요소는 상기 메모리 구성요소들에 대응하는, 상기 트랜잭션을 실행하는 단계;
상기 트랜잭션의 상기 구현에 대응하는 전력 소비 레벨을 측정하는 단계; 및
상기 전력 소비 레벨에 기초하여 부하 프로파일을 생성하는 단계로서, 상기 부하 프로파일은 샘플링 주파수로 샘플링된 상기 전력 소비 레벨을 나타내는 소비량 샘플값들의 집합을 포함하고, 상기 부하 프로파일은 상기 메모리 장치의 임의의 상기 메모리 구성요소들 상에서 상기 트랜잭션을 구현하는 것의 전력 소비를 특성화하기 위한 것인, 상기 부하 프로파일을 생성하는 단계를 포함하는, 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/692,553 US10831384B2 (en) | 2017-08-31 | 2017-08-31 | Memory device with power management |
US15/692,553 | 2017-08-31 | ||
PCT/US2018/046766 WO2019046018A1 (en) | 2017-08-31 | 2018-08-14 | POWER MANAGEMENT MEMORY DEVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200035329A true KR20200035329A (ko) | 2020-04-02 |
KR102413479B1 KR102413479B1 (ko) | 2022-06-27 |
Family
ID=65435168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207008681A KR102413479B1 (ko) | 2017-08-31 | 2018-08-14 | 전력 관리 기능이 있는 메모리 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10831384B2 (ko) |
EP (1) | EP3676686A4 (ko) |
KR (1) | KR102413479B1 (ko) |
CN (1) | CN111052067A (ko) |
WO (1) | WO2019046018A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102615227B1 (ko) * | 2018-02-01 | 2023-12-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11481016B2 (en) * | 2018-03-02 | 2022-10-25 | Samsung Electronics Co., Ltd. | Method and apparatus for self-regulating power usage and power consumption in ethernet SSD storage systems |
US11500439B2 (en) | 2018-03-02 | 2022-11-15 | Samsung Electronics Co., Ltd. | Method and apparatus for performing power analytics of a storage system |
KR102601152B1 (ko) * | 2019-05-10 | 2023-11-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11079822B2 (en) * | 2019-06-28 | 2021-08-03 | Western Digital Technologies, Inc. | Integrated power and thermal management in non-volatile memory |
US11550737B2 (en) * | 2019-07-31 | 2023-01-10 | Micron Technology, Inc. | Adjusting characteristic of system based on profile |
US11775185B2 (en) * | 2020-09-17 | 2023-10-03 | Micron Technology, Inc. | Power budget arbitration for multiple concurrent access operations in a memory device |
US11990197B2 (en) * | 2020-12-21 | 2024-05-21 | Micron Technology, Inc. | Peak power management connectivity check in a memory device |
CN112598381A (zh) * | 2020-12-22 | 2021-04-02 | 深圳市公狼科技有限公司 | 电子商务订单导入方法、系统、设备及可读存储介质 |
US11592894B2 (en) * | 2021-04-12 | 2023-02-28 | Dell Products L.P. | Increasing power efficiency for an information handling system |
WO2022252120A1 (en) | 2021-06-01 | 2022-12-08 | Yangtze Memory Technologies Co., Ltd. | Power management for memory system |
KR20230097169A (ko) | 2021-06-01 | 2023-06-30 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 메모리 시스템의 전력 관리 |
US12118219B2 (en) | 2022-09-06 | 2024-10-15 | SanDisk Technologies, Inc. | Asymmetric time division peak power management (TD-PPM) timing windows |
US11893253B1 (en) * | 2022-09-20 | 2024-02-06 | Western Digital Technologies, Inc. | Dynamic TD-PPM state and die mapping in multi-NAND channels |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280380A (ja) * | 2006-03-16 | 2007-10-25 | Toshiba Corp | データプロセッサ中の電力消費を管理するためのシステム及び方法 |
JP2016212580A (ja) * | 2015-05-07 | 2016-12-15 | 富士通株式会社 | 半導体記憶装置、半導体記憶装置の制御方法および制御プログラム |
KR20170035320A (ko) * | 2015-09-22 | 2017-03-30 | 삼성전자주식회사 | 솔리드 스테이트 드라이브들의 전력 소비를 컨트롤하기 위해 동적으로 불휘발성 메모리 오퍼레이션을 스케쥴링하는 메모리 장치 및 그것의 동작 방법 |
KR20170072792A (ko) * | 2015-12-17 | 2017-06-27 | 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 | 반도체 메모리 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127573B1 (en) * | 2000-05-04 | 2006-10-24 | Advanced Micro Devices, Inc. | Memory controller providing multiple power modes for accessing memory devices by reordering memory transactions |
US7412614B2 (en) * | 2004-04-29 | 2008-08-12 | Hewlett-Packard Development Company, L.P. | Power management using a pre-determined thermal characteristic of a memory module |
US8010764B2 (en) | 2005-07-07 | 2011-08-30 | International Business Machines Corporation | Method and system for decreasing power consumption in memory arrays having usage-driven power management |
JP2007272573A (ja) | 2006-03-31 | 2007-10-18 | Hitachi Ltd | 低消費電力化メモリ管理方法及びメモリ管理プログラム |
US7587559B2 (en) | 2006-08-10 | 2009-09-08 | International Business Machines Corporation | Systems and methods for memory module power management |
KR100770703B1 (ko) * | 2006-08-30 | 2007-10-29 | 삼성전자주식회사 | 메모리 시스템의 전력 쓰로틀링 방법 및 메모리 시스템 |
US7793125B2 (en) | 2007-01-10 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for power throttling a processor in an information handling system |
US20130290611A1 (en) * | 2012-03-23 | 2013-10-31 | Violin Memory Inc. | Power management in a flash memory |
US10013345B2 (en) * | 2014-09-17 | 2018-07-03 | Sandisk Technologies Llc | Storage module and method for scheduling memory operations for peak-power management and balancing |
US9977487B2 (en) * | 2015-09-22 | 2018-05-22 | Samsung Electronics Co., Ltd. | Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives |
US10120817B2 (en) * | 2015-09-30 | 2018-11-06 | Toshiba Memory Corporation | Device and method for scheduling commands in a solid state drive to reduce peak power consumption levels |
-
2017
- 2017-08-31 US US15/692,553 patent/US10831384B2/en active Active
-
2018
- 2018-08-14 EP EP18849904.0A patent/EP3676686A4/en not_active Withdrawn
- 2018-08-14 WO PCT/US2018/046766 patent/WO2019046018A1/en unknown
- 2018-08-14 KR KR1020207008681A patent/KR102413479B1/ko active IP Right Grant
- 2018-08-14 CN CN201880055269.6A patent/CN111052067A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280380A (ja) * | 2006-03-16 | 2007-10-25 | Toshiba Corp | データプロセッサ中の電力消費を管理するためのシステム及び方法 |
JP2016212580A (ja) * | 2015-05-07 | 2016-12-15 | 富士通株式会社 | 半導体記憶装置、半導体記憶装置の制御方法および制御プログラム |
KR20170035320A (ko) * | 2015-09-22 | 2017-03-30 | 삼성전자주식회사 | 솔리드 스테이트 드라이브들의 전력 소비를 컨트롤하기 위해 동적으로 불휘발성 메모리 오퍼레이션을 스케쥴링하는 메모리 장치 및 그것의 동작 방법 |
KR20170072792A (ko) * | 2015-12-17 | 2017-06-27 | 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 | 반도체 메모리 |
Also Published As
Publication number | Publication date |
---|---|
WO2019046018A1 (en) | 2019-03-07 |
KR102413479B1 (ko) | 2022-06-27 |
US20190065089A1 (en) | 2019-02-28 |
EP3676686A4 (en) | 2021-05-26 |
CN111052067A (zh) | 2020-04-21 |
US10831384B2 (en) | 2020-11-10 |
EP3676686A1 (en) | 2020-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20200035329A (ko) | 전력 관리 기능이 있는 메모리 장치 | |
US11150836B2 (en) | Deterministic optimization via performance tracking in a data storage system | |
US10817217B2 (en) | Data storage system with improved time-to-ready | |
US20200004674A1 (en) | Non-deterministic window scheduling for data storage systems | |
KR101363844B1 (ko) | 전력 소모를 제한하기 위해 비휘발성 메모리에서의 동작들을 동적으로 제어하는 방법들 및 시스템들 | |
US9329986B2 (en) | Peak current management in multi-die non-volatile memory devices | |
US10133506B2 (en) | Systems and methods for managing non-volatile memory based on temperature | |
US10643711B1 (en) | Workload based dynamic erase suspend adaptation | |
US9632926B1 (en) | Memory unit assignment and selection for internal memory operations in data storage systems | |
US10114556B2 (en) | Method and apparatus for improving read performance of a solid state drive | |
US9652382B1 (en) | Look-ahead garbage collection for NAND flash based storage | |
CN107967121A (zh) | 数据写入方法和存储设备 | |
US20160292092A1 (en) | Memory Bus Management | |
CN104981789A (zh) | 用于可变延时存储器操作的设备及方法 | |
CN111095226A (zh) | 具有动态高速缓冲存储器管理的存储器装置 | |
US20140025873A1 (en) | Solid-state drive command grouping | |
US10108471B2 (en) | System and method for utilizing history information in a memory device | |
US9658790B2 (en) | Memory system and method for power-based operation scheduling | |
US10929025B2 (en) | Data storage system with I/O determinism latency optimization | |
US20200409874A1 (en) | Data storage system data access arbitration | |
US20190073136A1 (en) | Memory controlling method, memory controlling circuit and memory system | |
US9361951B2 (en) | Statistical peak-current management in non-volatile memory devices | |
US20200004636A1 (en) | Data Storage System with Strategic Contention Avoidance | |
US9632706B2 (en) | Ordering of parallel data storage based on die programming durations | |
US20170255396A1 (en) | Parallel scheduling of write commands to multiple memory devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |