KR20210138497A - 메모리 서브 시스템에서 메모리 다이들의 피크 전류의 관리 - Google Patents

메모리 서브 시스템에서 메모리 다이들의 피크 전류의 관리 Download PDF

Info

Publication number
KR20210138497A
KR20210138497A KR1020210059148A KR20210059148A KR20210138497A KR 20210138497 A KR20210138497 A KR 20210138497A KR 1020210059148 A KR1020210059148 A KR 1020210059148A KR 20210059148 A KR20210059148 A KR 20210059148A KR 20210138497 A KR20210138497 A KR 20210138497A
Authority
KR
South Korea
Prior art keywords
memory
current level
memory management
operations
management operation
Prior art date
Application number
KR1020210059148A
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 KR20210138497A publication Critical patent/KR20210138497A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12005Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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/0653Monitoring storage devices or 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/20Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

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)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리 서브 시스템의 복수의 메모리 다이들에 대한 메모리 관리 동작이 실행된다. 메모리 서브 시스템은 메모리 관리 동작의 실행에 대응하는 제1 측정된 전류 레벨이 임계 피크 전류 레벨에 관련된 조건을 충족하는지 여부를 결정한다. 메모리 서브 시스템은 메모리 관리 동작의 실행에 대응하는 제2 측정된 전류 레벨이 임계 피크 전류 레벨에 관련된 조건을 충족하는지 여부를 결정한다. 제1 측정된 전류 레벨과 제2 측정된 전류 레벨을 식별하는 마스크 데이터가 생성된다. 호스트 시스템으로부터 메모리 관리 동작을 실행하라는 요청이 수신된다. 메모리 서브 시스템은 마스크 데이터에 기초하여, 메모리 관리 동작의 실행 동안 피크 전류 관리 액션을 수행한다.

Description

메모리 서브 시스템에서 메모리 다이들의 피크 전류의 관리{MANAGEMENT OF PEAK CURRENT OF MEMORY DIES IN A MEMORY SUB-SYSTEM}
본 개시의 실시예들은 일반적으로 메모리 서브 시스템에 관한 것으로, 보다 구체적으로는, 메모리 서브 시스템에서 다수의 메모리 다이들의 피크 전류 이벤트의 관리에 관한 것이다.
메모리 서브 시스템은 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 메모리 장치들은 예를 들어, 비휘발성 메모리 장치들 및 휘발성 메모리 장치들일 수 있다. 일반적으로, 호스트 시스템은 메모리 서브 시스템을 사용하여 메모리 장치들에 데이터를 저장하고 메모리 장치들로부터 데이터를 검색할 수 있다.
본 개시는 이하의 상세한 설명 및 본 개시의 다양한 실시예들의 첨부 도면들로부터 보다 완전하게 이해될 것이다. 그러나, 도면들은 본 개시를 특정 실시예들로 제한하는 것으로 받아들여져서는 안되며, 단지 설명 및 이해를 위한 것이다.
도 1은 본 개시의 일부 실시예들에 따른 메모리 서브 시스템을 포함하는 예시적인 컴퓨팅 시스템을 예시한다.
도 2는 일부 실시예들에 따른 메모리 서브 시스템의 메모리 다이들에 대응되는 뷰 마스크 데이터에서 피크 전류 관리 액션을 수행하는 예시적인 방법의 흐름도이다.
도 3은 일부 실시예들에 따른 메모리 다이들의 피크 전류들을 관리하도록 구성된 피크 전류 관리 컴포넌트를 포함하는 예시적인 시스템을 예시한다.
도 4는 일부 실시예들에 따른 메모리 서브 시스템에서 메모리 다이 세트의 마스크 데이터에 대응되는 피크 전류 관리 액션들을 예시한다.
도 5는 본 개시의 구현예들이 동작할 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
본 개시의 측면들은 메모리 서브 시스템에서 다수의 피크 전류 레벨들과 관련된 마스크 데이터를 기반으로 하는 피크 전류 관리에 관한 것이다. 메모리 서브 시스템은 저장 장치, 메모리 모듈 또는 저장 장치와 메모리 모듈의 하이브리드일 수 있다. 저장 장치들과 메모리 모듈들의 예들은 도 1과 함께 하기에 설명된다. 일반적으로, 호스트 시스템은 데이터를 저장하는 메모리 장치들과 같은, 하나 이상의 메모리 컴포넌트들을 포함하는 메모리 서브 시스템을 이용할 수 있다. 호스트 시스템은 메모리 서브 시스템에 저장될 데이터를 제공할 수 있으며 메모리 서브 시스템으로부터 검색될 데이터를 요청할 수 있다.
메모리 서브 시스템은 다수의 메모리 다이들을 갖는 다수의 메모리 장치들을 포함하는 다수의 병렬 동작들(예를 들어, 랜덤 판독, 순차 판독, 랜덤 기입, 순차 기입 등)을 수행할 수 있다. 메모리 관리 동작(예를 들어, 판독 동작, 프로그램 동작, 소거 동작 등)을 수행하기 위해, 메모리 서브 시스템은 개별 서브 동작 세트를 수행할 수 있다. 예를 들어, 판독 동작은 저장된 데이터 값을 결정하기 위해 판독 전압 레벨과 비교하기 위해 메모리 셀의 임계 전압을 측정함으로써 수행될 수 있다. 다수의 메모리 장치들을 포함하는 다수의 메모리 관리 동작들의 병렬 성능은 전원 공급 장치에서 더 높은 전류 인출의 피크 소모를 초래한다. 메모리 관리 동작들의 실행은 다수의 메모리 다이에 걸쳐 다수의 중첩 또는 병렬 피크 전류 이벤트들을 발생시킬 수 있다.
종래 전력 관리 기술들은 마스크를 사용하여 제품 검증 데이터를 기반으로 메모리 관리 동작들을 실행하는 각 메모리 다이의 최고 전류 피크만을 표시하거나 식별한다. 이러한 유형의 전력 관리 접근 방식은 다수의 메모리 다이들에 걸쳐 단일 프로그램/소거 반복에서 발생하는 다수의 고전류 피크들(예를 들어, 150mA 이상의 전류 피크들)을 효과적으로 관리하지 못한다. 이와 같이, 각 메모리 다이에 대한 최고 전류만을 기반으로 추가 동작들을 마스킹하는 것은 병렬 동작들을 수행하는 다른 메모리 다이들에 대한 다른 고전류 이벤트들을 설명하지 못한다. 따라서, 기존 방법들은 다수의 고전류 피크들이 다수의 다른 메모리 다이들에서 동시에 겪게 되는 피크 전류 충돌 또는 중첩의 가능성을 적절하게 줄이지 않아, 데이터의 안정성 및 신뢰성이 저하된다.
본 개시의 측면들은 훈련 단계 동안 메모리 서브 시스템의 다수의 메모리 다이들에 대한 메모리 관리 동작 세트를 수행하기 위해 훈련 명령 시퀀스를 발행할 수 있는 메모리 서브 시스템에 의한 상기 및 다른 결함들을 처리한다. 예를 들어, 메모리 관리 동작 세트는 판독 동작(예를 들어, 판독 동작을 수행하는 서브 동작 세트를 실행하기 위한 인스트럭션 세트), 프로그램 동작(예를 들어, 프로그램 동작을 수행하는 서브 동작 세트를 실행하기 위한 인스트럭션 세트), 소거 동작(예를 들어, 소거 동작을 수행하는 서브 동작 세트를 실행하기 위한 인스트럭션 세트), 피크 전력 에뮬레이션 동작(예를 들어, 하나 이상의 피크 전력 또는 피크 전류 인출 이벤트들을 발생시키기 위한 인스트럭션 세트) 등 중 하나 이상을 포함할 수 있다.
이 훈련 단계 동안, 각 메모리 다이는 일련의 훈련 동작들(예를 들어, 판독 동작, 프로그램 동작, 소거 동작, 전력 테스트 동작)을 실행하고 해당 피크 전류 이벤트들을 결정한다. 피크 전류 이벤트들은 메모리 관리 동작들의 하나 이상의 단계들 또는 부분들에 대응하는 전류 인출 레벨을 측정하여 결정될 수 있다. 측정된 전류 인출 레벨은 조건이 충족되는지 확인하기 위해 임계 전류 값과 비교된다. 측정된 전류 레벨이 임계 피크 전류 값(예를 들어, 90mA)을 초과하면 피크 전류가 식별된다. 훈련 단계 동안 식별된 다수의 연속 피크 전류 세트에 해당하는 마스크가 식별된다. 유리하게는, 마스크("수퍼 마스크"라고도 함)는 연속 피크 전류들을 단일 피크 전류로 식별, 그룹화 및 관리하기 위해 다수의 피크 전류들(예를 들어, 임계 피크 전류 레벨 이상의 전류들)에 해당한다. 훈련 단계에서, 시스템은 개별 메모리 관리 동작들에 해당하는 마스크 데이터를 식별한다.
훈련 단계 이후, 시스템은 다중 피크 전류 세트에 해당하는 다수의 수퍼 마스크들을 식별하는 마스크 데이터를 사용하여 호스트 시스템에 의해 시작된 메모리 관리 동작들의 실행 동안 메모리 다이들에 의한 전류 레벨 소모를 관리한다. 호스트 시스템에 의해 요청된 메모리 관리 동작("타겟 동작"이라고도 함)의 실행 동안 다수의 메모리 다이들에서 중첩되는 피크 전류들을 처리하기 위해, 시스템은 타겟 동작과 관련된 마스크 데이터를 식별하고 다수의 메모리 다이들에 걸쳐 마스크 데이터를 적용하여 중첩되는 피크 전류들을 차단하거나 일시 중지할 수 있다.
따라서, 시스템은 프로그램 소거 루프의 나머지 피크들을 캐스캐이드 다운되는 방식으로 메모리 관리 동작(예를 들어, 프로그램/소거 루프)의 실행 동안 발생하는 다수의 피크 전류 세트의 차단을 가능하게 한다. 훈련 단계 동안 식별된 마스크 데이터는 서로 다른 전력 소모 조건들을 갖는 서로 다른 호스트 시스템들에 적응할 수 있는 피크 전류에 대한 최적화된 구성들을 식별하기 위해 메모리 다이들에 의해 공유될 수 있다. 유리하게는, 호스트 시스템에 의해 요청된 메모리 관리 동작의 실행 동안 다수의 고전류 피크들을 마스킹하면 고전류 피크들의 약 30%를 줄임으로써 다수의 다이들의 피크 충돌 가능성을 효율적으로 줄일 수 있다.
도 1은 본 개시의 일부 실시예들에 따른 메모리 서브 시스템(110)을 포함하는 예시적인 컴퓨팅 시스템(100)을 예시한다. 메모리 서브 시스템(110)은 하나 이상의 휘발성 메모리 장치들(예를 들어, 메모리 장치(140)), 하나 이상의 비휘발성 메모리 장치들(예를 들어, 메모리 장치(130)) 또는 이들의 조합과 같은 매체를 포함할 수 있다.
메모리 서브 시스템(110)은 저장 장치, 메모리 모듈 또는 저장 장치와 메모리 모듈의 하이브리드일 수 있다. 저장 장치의 예들은 솔리드 스테이트 드라이브(SSD), 플래시 드라이브, 범용 직렬 버스(USB) 플래시 드라이브, 임베디드 밀티미디어 컨트롤러(eMMC) 드라이브, 범용 플래시 메모리(UFS) 드라이브, 보안 디지털(SD) 카드 및 하드 디스크 드라이브(HDD)를 포함한다. 메모리 모듈들의 예들은 듀얼 인라인 메모리 모듈(DIMM), 스몰 아웃라인 DIMM(SO-DIMM) 및 다양한 유형의 비휘발성 듀얼 인라인 메모리 모듈(NVDIMM)을 포함한다.
컴퓨팅 시스템(100)은 데스크탑 컴퓨터, 랩탑 컴퓨터, 네트워크 서버, 모바일 장치, 차량(예를 들어, 비행기, 드론, 기차, 자동차 또는 기타 운송), 사물 인터넷 (IoT) 지원 장치, 임베디드 컴퓨터(예를 들어, 차량, 산업 장비 또는 네트워크로 연결된 상업용 장치에 포함된 컴퓨터)와 같은 컴퓨팅 장치, 또는 메모리와 처리 장치를 포함하는 이러한 컴퓨팅 장치일 수 있다.
컴퓨팅 시스템(100)은 하나 이상의 메모리 서브 시스템(110)에 결합되는 호스트 시스템(120)을 포함할 수 있다. 일부 실시예들에서, 호스트 시스템(120)은 다른 유형의 메모리 서브 시스템(110)에 결합된다. 도 1은 한 메모리 서브 시스템(110)에 결합된 호스트 시스템(120)의 일 예를 예시한다. 본원에 사용된 바와 같이, "~에 결합된(coupled to)" 또는 "~와 결합된(coupled with)"은 일반적으로 전기적, 광학적, 자기적 등과 같은 연결들을 포함하여 유선이든 또는 무선이든, 간접 통신 연결 또는 (예를 들어, 중간 컴포넌트들이 없는) 직접 통신 연결일 수 있는, 컴포넌트들 사이의 연결을 지칭한다.
호스트 시스템(120)은 프로세서 칩셋 및 프로세서 칩셋에 의해 실행되는 소프트웨어 스택을 포함할 수 있다. 프로세서 칩셋은 하나 이상의 코어들, 하나 이상의 캐시들, 메모리 컨트롤러(예를 들어, NVDIMM 컨트롤러) 및 스토리지 프로토콜 컨트롤러(예를 들어, PCIe 컨트롤러, SATA 컨트롤러)를 포함할 수 있다. 호스트 시스템(120)은 메모리 서브 시스템(110)을 사용하여, 예를 들어 메모리 서브 시스템(110)에 데이터를 기입하고 메모리 서브 시스템(110)으로부터 데이터를 판독한다.
호스트 시스템(120)은 물리적 호스트 인터페이스를 통해 메모리 서브 시스템(110)에 결합될 수 있다. 물리적 호스트 인터페이스의 예들은, 이에 제한되는 것은 아니나, 직렬 고급 기술 결합(SATA) 인터페이스, 주변 컴포넌트 상호 연결 익스프레스(PCIe) 인터페이스, 범용 직렬 버스(USB) 인터페이스, 광섬유 채널, 직렬 결합 SCSI(SAS), 이중 데이터 레이트(DDR) 메모리 버스, 스몰 컴퓨터 시스템 인터페이스(SCSI), 듀얼 인라인 메모리 모듈(DIMM) 인터페이스(예를 들어, 이중 데이터 레이트(DDR)를 지원하는 DIMM 소켓 인터페이스) 등을 포함한다. 물리적 호스트 인터페이스는 호스트 시스템(120)과 메모리 서브 시스템(110) 사이에서 데이터를 전송하는 데 사용될 수 있다. 호스트 시스템(120)은 메모리 서브 시스템(110)이 PCIe 인터페이스에 의해 호스트 시스템(120)과 결합되는 경우 NVM 익스프레스(NVMe) 인터페이스를 추가로 이용하여 컴포넌트들(예를 들어, 메모리 장치들(130))에 액세스할 수 있다. 물리적 호스트 인터페이스는 메모리 서브 시스템(110)과 호스트 시스템(120) 사이에서 제어, 어드레스, 데이터 및 다른 신호들을 전달하기 위한 인터페이스를 제공할 수 있다. 도 1은 일 예로서 메모리 서브 시스템(110)을 예시한다. 일반적으로, 호스트 시스템(120)은 동일한 통신 연결, 다수의 개별 통신 연결들 및/또는 통신 연결들의 조합을 통해 다수의 메모리 서브 시스템들에 액세스할 수 있다.
메모리 장치들(130, 140)은 상이한 유형의 비휘발성 메모리 장치들 및/또는 휘발성 메모리 장치들의 임의의 조합을 포함할 수 있다. 휘발성 메모리 장치들(예를 들어, 메모리 장치(140))은, 이에 제한되는 것은 아니나, 동적 랜덤 액세스 메모리(DRAM) 및 동기식 동적 랜덤 액세스 메모리(SDRAM)와 같은 랜덤 액세스 메모리(RAM)일 수 있다.
비휘발성 메모리 장치들(예를 들어, 메모리 장치(130))의 일부 예들은 네거티브-앤드(NAND)형 플래시 메모리 및 비휘발성 메모리 셀들의 크로스포인트 어레이인 3차원 크로스포인트("3D 크로스포인트")와 같은 라이트 인 플레이스(write-in-place) 메모리를 포함한다. 비휘발성 메모리의 크로스포인트 어레이는 적층 가능한 크로스 그리드 데이터 액세스 어레이와 함께 벌크 저항의 변화에 기초하여 비트 저장을 수행할 수 있다. 추가로, 많은 플래시 기반 메모리들과 달리, 크로스포인트 비휘발성 메모리는 라이트 인 플레이스 동작을 수행할 수 있으며, 여기서 비휘발성 메모리 셀은 비휘발성 메모리 셀이 미리 소거되지 않고 프로그래밍될 수 있다. NAND형 플래시 메모리는 예를 들어 2차원 NAND(2D NAND) 및 3차원 NAND(3D NAND)를 포함한다.
메모리 장치들(130) 각각은 하나 이상의 메모리 셀 어레이들을 포함할 수 있다. 한 유형의 메모리 셀, 예를 들어 단일 레벨 셀들(SLC)은 셀 당 1 비트를 저장할 수 있다. 다중 레벨 셀들(MLC들), 트리플 레벨 셀들(TLC들) 및 쿼드 레벨 셀들(QLC들)과 같은 다른 유형의 메모리 셀들은 셀 당 다수의 비트들을 저장할 수 있다. 일부 실시예들에서, 메모리 장치들(130) 각각은 SLC들, MLC들, TLC들, QLC들, 또는 이들의 임의의 조합과 같은 하나 이상의 메모리 셀 어레이들을 포함할 수 있다. 일부 실시예들에서, 특정 메모리 장치는 메모리 셀들의 SLC 부분 및 MLC, TLC 또는 QLC 부분을 포함할 수 있다. 메모리 장치들(130)의 메모리 셀들은 데이터를 저장하는데 사용되는 메모리 장치의 논리 단위를 지칭할 수 있는 메모리 페이지들로서 그룹화될 수 있다. 일부 유형의 메모리(예를 들어, NAND)에서, 페이지들이 블록들을 형성하도록 그룹화될 수 있다.
비휘발성 메모리 셀들의 3D 크로스포인트 어레이 및 NAND형 플래시 메모리(예를 들어, 2D NAND, 3D NAND)와 같은 비휘발성 메모리 컴포넌트들이 설명되어 있지만, 메모리 장치(130)는 예컨대 읽기 전용 메모리(ROM), 상 변화 메모리(PCM), 자체 선택 메모리, 기타 칼코게나이드 기반 메모리들, 강유전성 트랜지스터 랜덤 액세스 메모리(FeTRAM), 강유전성 랜덤 액세스 메모리(FeRAM), 마그네토 랜덤 액세스 메모리(MRAM), 스핀 전송 토크(STT)-MRAM, 전도성 브리징 RAM(CBRAM), 저항성 랜덤 액세스 메모리(RRAM), 산화물 기반 RRAM(OxRAM), 네거티브-오어(NOR) 플래시 메모리 및 전기적으로 소거 가능한 프로그래밍 가능 읽기 전용 메모리(EEPROM)와 같은, 임의의 다른 유형의 비휘발성 메모리에 기반할 수 있다.
메모리 서브 시스템 컨트롤러(115)(또는 간단히 컨트롤러(115))는 메모리 장치(130)와 통신하여 메모리 장치(130)에서 데이터 판독, 데이터 기입 또는 데이터 소거와 같은 동작들 및 다른 이러한 동작들을 수행할 수 있다. 메모리 서브 시스템 컨트롤러(115)는 하나 이상의 집적 회로들 및/또는 개별 컴포넌트들, 버퍼 메모리 또는 이들의 조합과 같은 하드웨어를 포함할 수 있다. 하드웨어는 본원에 설명된 동작들을 수행하기 위한 전용(즉, 하드 코딩된) 로직을 가진 디지털 회로부를 포함할 수 있다. 메모리 서브 시스템 컨트롤러(115)는, 마이크로컨트롤러, 특수 목적 논리 회로부(예를 들어, 필드 프로그램 가능 게이트 어레이(FPGA), 애플리케이션별 집적 회로(ASIC) 등), 또는 기타 적절한 프로세서일 수 있다.
메모리 서브 시스템 컨트롤러(115)는 로컬 메모리(119)에 저장된 인스트럭션들을 실행하도록 구성된 프로세서(117)(예를 들어, 처리 장치)를 포함할 수 있다. 예시된 예에서, 메모리 서브 시스템 컨트롤러(115)의 로컬 메모리(119)는 메모리 서브 시스템(110)과 호스트 시스템(120) 간의 통신들을 처리하는 것을 포함하여, 메모리 서브 시스템(110)의 동작을 제어하는 다양한 프로세스들, 동작들, 논리 흐름들 및 루틴들을 수행하기 위한 인스트럭션들을 저장하도록 구성된 임베디드 메모리를 포함한다.
일부 실시예들에서, 로컬 메모리(119)는 메모리 포인터, 페치 데이터(fetched data) 등을 저장하는 메모리 레지스터들을 포함할 수 있다. 로컬 메모리(119)는 또한 마이크로-코드를 저장하기 위한 읽기 전용 메모리(ROM)를 포함할 수 있다. 도 1의 예시적인 메모리 서브 시스템(110)은 메모리 서브 시스템 컨트롤러(115)를 포함하는 것으로 예시되어 있지만, 본 개시의 다른 실시예에서, 메모리 서브 시스템(110)은 메모리 서브 시스템 컨트롤러(115)를 포함하지 않을 수 있으며, 대신 (예를 들어, 외부 호스트에 의해 또는 메모리 서브 시스템으로부터 분리된 프로세서나 컨트롤러에 의해 제공된) 외부 제어에 의존할 수 있다.
일반적으로, 메모리 서브 시스템 컨트롤러(115)는 호스트 시스템(120)으로부터 명령들 또는 동작들을 수신할 수 있으며, 메모리 장치들(130)에 대한 원하는 액세스를 달성하기 위해 명령들 또는 동작들을 인스트럭션들 또는 적절한 명령들로 변환할 수 있다. 메모리 서브 시스템 컨트롤러(115)는 예컨대 웨어 레벨링 동작들, 가비지 수집 동작들, 오류 검출 및 오류 정정 코드(ECC) 동작들, 암호화 동작들, 캐싱 동작들 및 메모리 장치들(130)과 연관되는 논리 블록 어드레스(예를 들어, 논리 블록 어드레스(LBA), 명칭 공간)과 물리 블록 어드레스(예를 들어, 물리 블록 어드레스) 사이의 어드레스 변환들과 같은 기타 동작들을 담당할 수 있다. 메모리 서브 시스템 컨트롤러(115)는 물리적 호스트 인터페이스를 통해 호스트 시스템(120)과 통신하기 위한 호스트 인터페이스 회로부를 더 포함할 수 있다. 호스트 인터페이스 회로부는 메모리 장치들(130)과 연관된 응답들을 호스트 시스템(120)에 대한 정보로 변환할 뿐만 아니라, 호스트 시스템으로부터 수신된 명령들을 메모리 장치들(130)에 액세스하기 위한 명령 인스트럭션들로 변환할 수 있다.
메모리 서브 시스템(110)은 또한 예시되지 않은 추가 회로부 또는 컴포넌트들을 포함할 수 있다. 일부 실시예들에서, 메모리 서브 시스템(110)은 메모리 서브 시스템 컨트롤러(115)로부터 어드레스를 수신하고 메모리 장치들(130)에 액세스하기 위한 어드레스를 디코딩할 수 있는 캐시나 버퍼(예를 들어, DRAM) 및 어드레스 회로부(예를 들어, 행 디코더 또는 열 디코더)를 포함할 수 있다.
일부 실시예들에서, 메모리 장치들(130)은 메모리 장치들(130)의 하나 이상의 메모리 셀들에 대한 동작들을 실행하기 위해 메모리 서브 시스템 컨트롤러(115)와 함께 동작하는 로컬 매체 컨트롤러들(135)을 포함한다. 외부 컨트롤러(예를 들어, 메모리 서브 시스템 컨트롤러(115))는 메모리 장치(130)를 외부적으로 관리(예를 들어, 메모리 장치(130)에 대한 매체 관리 동작들을 수행)할 수 있다. 일부 실시예들에서, 메모리 장치(130)는 동일한 메모리 장치 패키지 내의 매체 관리를 위해 로컬 컨트롤러(예를 들어, 로컬 컨트롤러(135))와 결합된 원시 메모리 장치인 관리형 메모리 장치이다. 관리형 메모리 장치의 일 예로는 관리형 NAND(MNAND) 장치가 있다. 예를 들어, 메모리 장치(130)는 그 위에 구현된 일부 제어 로직(예를 들어, 로컬 매체 컨트롤러(135))을 갖는 단일 다이를 나타낼 수 있다. 일부 실시예들에서, 메모리 서브 시스템(110)의 하나 이상의 컴포넌트들이 생략될 수 있다.
메모리 서브 시스템(110)은 트레이닝 명령 시퀀스가 메모리 서브 시스템의 다수의 메모리 다이들에 발행되는 동안 트레이닝 단계를 관리하기 위한 피크 전류 관리 컴포넌트(113)를 포함한다. 일 실시예에서, 훈련 명령 시퀀스는 메모리 서브 시스템 컨트롤러(115)에 의해 개시 또는 발행될 수 있다. 일 실시예에서, 피크 전류 관리 컴포넌트(113)는 훈련 동작 어레이(예를 들어, 훈련 명령 시퀀스와 관련된 하나 이상의 메모리 관리 동작 세트들)의 실행 동안 타겟 메모리 다이의 성능을 모니터링한다. 각 훈련 동작은 하나 이상의 태스크들 또는 동작들(예를 들어, 판독 동작들, 프로그램 동작들, 소거 동작들, 전력 테스트 시뮬레이션 동작들 등)의 성능과 관련된 서브 동작 또는 기능 세트를 포함하는 하나 이상의 메모리 관리 동작들을 포함할 수 있다. 일 실시예에서, 피크 전류 관리 컴포넌트(113)는 모든 메모리 다이들이 메모리 관리 동작 세트를 실행할 때까지, 차례로, 각 메모리 다이로 훈련 명령 시퀀스를 전송한다.
일 실시예에서, 피크 전류 관리 컴포넌트(113)는 메모리 관리 동작들("메모리 관리 동작 부분"이라고도 함)의 일부들 또는 단계들의 실행으로 인한 전류 레벨을 측정한다. 메모리 관리 동작 부분은 메모리 관리 동작(예를 들어, 판독 동작)의 실행과 관련하여 수행되는 하나 이상의 서브 동작들(예를 들어, 비트라인 프리차지 서브 동작, 워드라인 램프 업 서브 동작 등)을 포함할 수 있다. 일 실시예에서, 각 측정된 전류 레벨은 조건이 충족되는지를 결정하기 위해 임계 피크 전류 레벨(예를 들어, 90mA)과 비교된다. 일 실시예에서, 조건이 충족되면(예를 들어, 측정된 전류 레벨이 임계 피크 전류 레벨을 초과하면), 시스템은 피크 전류 이벤트를 식별한다. 일 실시예에서, 피크 전류 관리 컴포넌트(113)는 임계 피크 전류 레벨보다 큰 값을 갖는 모든 전류 피크들을 식별하고 기록한다. 피크 전류에 해당하는 메모리 관리 동작 또는 부분은 결과 피크 전류로 인해 "민감한" 동작으로 시스템에 의해 식별될 수 있다.
피크 전류 관리 컴포넌트(113)는 식별된 피크 전류들에 기초하여 마스크 데이터를 생성한다. 일 실시예에서, 마스크는 다수의 연속 피크 전류들(예를 들어, 임계 피크 전류 레벨을 초과하는 측정된 전류 레벨들)에 대해 생성된다. 이 마스크("수퍼 마스크"라고도 함)는 시스템이 다수의 피크 전류들을 하나의 더 크 피크 전류로 관리하도록 한다. 수퍼 마스크를 식별하는 마스크 데이터는 메모리 서브 시스템(110)의 로그(예를 들어, 휘발성 메모리(예를 들어, 컨트롤러(115)의 RAM 또는 SRAM 저장 위치) 또는 비휘발성 메모리(예를 들어, 메모리 장치(130)의 래치 저장 영역)에 저장된 로그)에 저장될 수 있다. 피크 전류 관리 컴포넌트(113)는 메모리 관리 동작들의 실행 동안 다수의 메모리 다이들에 걸친 피크 전류 관리를 허용하기 위해 다수의 메모리 다이들 사이에서 마스크 데이터를 공유한다.
훈련 단계 후에, 피크 전류 관리 컴포넌트(113)는 호스트 시스템(120)에 의해 요청된 메모리 관리 동작들의 실행 동안 다수의 메모리 다이들에 의한 피크 전류 소모를 관리하기 위해 마스크 데이터를 사용한다. 일 실시예에서, 타겟 동작을 실행하라는 호스트 시스템(120)으로부터의 요청에 응답하여, 피크 전류 관리 컴포넌트(113)는 타겟 동작에 대응하는 마스크 데이터를 식별하여 중첩되는 피크 전류들을 피하기 위해 하나 이상의 메모리 다이들에 의한 타겟 동작의 일부들의 실행의 일시 중지 또는 차단을 가능하게 한다. 피크 전류 관리 컴포넌트(113)는 마스크 데이터를 사용하여 피크 전류 감소 효율 개선을 향상시키고, NAND(140)의 예측 PPM 설계와 충돌이 없으며, 향후 예측 PPM 설계의 정상에 오를 고급 기능일 수 있다.
도 2는 본 개시의 일부 실시예들에 따른, 훈련 동작 어레이(예를 들어, 메모리 관리 동작 세트)의 실행에 대응하는 다수의 피크 전류 이벤트들(예를 들어, 임계 피크 전류 레벨을 초과하는 측정된 전류 레벨들)에 대응하는 마스크 데이터를 생성하는 예시적인 방법(200)의 흐름도이다. 방법(700)은 일반적으로 하드웨어(예를 들어, 처리 장치, 회로부, 전용 로직, 프로그램 가능 로직, 마이크로코드, 장치의 하드웨어, 집적 회로 등), 소프트웨어(예를 들어, 처리 장치에서 실행되거나 수행된 인스트럭션들) 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 일부 실시예들에서, 방법(200)은 도 1의 피크 전류 관리 컴포넌트(113)에 의해 수행된다. 추가로, 도 3은 방법(200)의 동작들을 수행하도록 구성된 피크 전류 관리 컴포넌트(113)를 포함하는 예시적인 메모리 서브 시스템(115)을 예시한다. 특정 시퀀스 또는 순서로 도시되어 있지만, 달리 명시되지 않는 한, 프로세스들의 순서는 수정될 수 있다. 따라서, 예시된 실시예들은 단지 예들로서 이해되어야 하고, 예시된 프로세스들은 상이한 순서로 수행될 수 있으며, 일부 프로세스들은 병행하여 수행될 수 있다. 추가로, 하나 이상의 프로세스들은 다양한 실시예들에서 생략될 수 있다. 따라서, 모든 프로세스들이 모든 실시예에서 필요한 것은 아니다. 다른 프로세스 흐름들이 가능하다.
도 2에 도시된 바와 같이, 동작(210)에서, 처리 로직은 메모리 서브 시스템의 메모리 다이 세트에 대한 메모리 관리 동작을 실행한다. 일 실시예에서, 메모리 관리 동작은 메모리 다이 세트와 관련된 훈련 단계 동안 실행되는 훈련 동작 어레이의 일부이다. 메모리 관리 동작은 예컨대 판독 동작, 프로그램 동작, 소거 동작, 전력 에뮬레이션 동작 등과 같은 동작을 수행하기 위한 인스트럭션 세트를 포함할 수 있다. 일 실시예에서, 각 개별 메모리 다이(예를 들어, 도 3의 메모리 다이 1 내지 메모리 다이 N)는 훈련 동작 어레이의 메모리 관리 동작의 각각의 부분들(예를 들어, 하나 이상의 서브 동작들)의 실행 동안 개별 메모리 다이들에 의한 전원 공급 장치(350)로부터의 전류의 인출에 기초하여 다양한 전류 레벨들을 초래하는 메모리 관리 동작 세트를 실행한다.
일 실시예에서, 처리 로직은 메모리 서브 시스템의 메모리 패키지의 메모리 다이 세트에 의한 훈련 동작 어레이의 실행을 위한 명령("훈련 명령"이라고도 함)을 실행한다. 일 실시예에서, 명령은 메모리 다이 세트가 훈련 동작 어레이를 실행하는 동안 훈련 단계 중에 개시되고 실행된다.
일 실시예에서, 메모리 서브 시스템 컨트롤러(115)의 피크 전류 관리 컴포넌트(113)는 복수의 메모리 다이들(예를 들어, 도 3의 메모리 다이 1 내지 메모리 다이 N)에 의한 훈련 동작 어레이 1 내지 훈련 동작 어레이 N의 실행을 가능하게 하는 명령 시퀀스를 시작할 수 있다. 일 실시예에서, 피크 전류 관리 컴포넌트(113)는 모든 메모리 다이들이 메모리 관리 동작 세트를 실행할 때까지 메모리 다이들(메모리 다이 1 내지 N) 각각에 차례로 각 명령 시퀀스를 발행할 수 있다. 일 실시예에서, 피크 전류 관리 컴포넌트(113)는 메모리 관리 동작 세트의 병렬 실행을 위해 메모리 다이들 각각으로 전송되는 단일 훈련 명령 시퀀스를 발행할 수 있다.
동작(220)에서, 처리 로직은 메모리 관리 동작의 실행에 대응하는 제1 측정된 전류 레벨이 임계 피크 전류 레벨에 관한 조건을 충족(예를 들어, 임계 피크 전류 레벨을 충족하거나 초과)하는지 여부를 결정한다. 일 실시예에서, 제1 측정된 전류 레벨은 메모리 다이 세트 중 제1 메모리 다이에 의한 메모리 관리 동작의 각 부분의 실행에 응답하여 검출된다. 따라서, 동작(220)에서, 처리 로직이 제1 측정된 전류 레벨이 임계 피크 전류 레벨을 초과함으로써 조건을 충족한다고 결정한 경우, 제1 측정된 전류 레벨은 제1 피크 전류(또는 피크 전류 이벤트)로 식별된다. 그렇지 않고, 처리 로직이 제1 측정된 전류 레벨이 조건을 충족하지 않는다(즉, 제1 측정된 전류 레벨이 임계 피크 전류 레벨 미만이다)고 결정한 경우, 제1 측정된 전류 레벨은 피트 전류 이벤트로 식별되지 않는다.
일 실시예에서, 도 3에 도시된 바와 같이, 메모리 다이는 전류 레벨을 측정하기 위한 전류 검출기 컴포넌트들 또는 회로들을 포함하는 피크 전류 검출기를 포함할 수 있다. 피크 전류 검출기는 예측되거나 결정된 임계 피크 전류 레벨(예를 들어, 90mA, 100mA, 110mA, 120mA 등)을 유지할 수 있다. 동작(230)에서, 처리 로직은 메모리 관리 동작의 실행에 대응하는 제2 측정된 전류 레벨이 임계 피크 전류 레벨에 관한 조건을 충족(예를 들어, 임계 피크 전류 레벨을 충족하거나 초과)하는지 여부를 결정한다. 일 실시예에서, 제2 측정된 전류 레벨은 메모리 다이 세트 중 상기 메모리 다이에 의한 메모리 관리 동작의 각 부분의 실행에 응답하여 검출된다. 따라서, 동작(230)에서, 처리 로직이 제2 측정된 전류 레벨이 임계 피크 전류 레벨을 초과함으로써 조건을 충족한다고 결정한 경우, 제2 측정된 전류 레벨은 제2 피크 전류(또는 피크 전류 이벤트)로 식별된다. 그렇지 않고, 처리 로직이 제2 측정된 전류 레벨이 조건을 충족하지 않는다(즉, 제2 측정된 전류 레벨이 임계 피크 전류 레벨 미만이다)고 결정하는 경우, 제2 측정된 전류 레벨은 피크 전류 이벤트로 식별되지 않는다. 도 3에 도시된 바와 같이, 다수의 피크 전류들(예를 들어, 130mA의 전류 레벨을 갖는 피크 1 및 95mA의 전류 레벨을 갖는 피크 2)은 상기 설명된 바와 같이 식별되며, 로그에 저장된다.
동작(240)에서, 제1 측정된 전류 레벨이 조건을 충족하고 제2 측정된 전류 레벨이 조건을 충족한다고 결정하는 것에 응답하여, 제1 측정된 전류 레벨 및 제2 측정된 전류 레벨을 식별하는 마스크 데이터를 생성하고, 처리 로직은 제1 측정된 전류 레벨 및 제2 측정된 전류 레벨을 식별하는 마스크 데이터를 생성한다. 일 실시예에서, 마스크 데이터는 마스킹된 동작으로서 제1 피크 전류(예를 들어, 제1 측정된 전류 레벨) 및 제2 피크 전류(예를 들어, 제2 측정된 전류 레벨)이 생성되는 메모리 관리 동작의 적어도 일부(예를 들어, 훈련 동작 어레이의 일부)를 식별한다. 도 3에 도시된 바와 같이, 마스크 데이터는 피크 1 및 피크 2를 생성한 마스킹된 동작("민감한 동작"이라고도 함)에 해당하는 마스크(또는 수퍼 마스크)를 식별한다. 일 실시예에서, 마스크 데이터는 다수의 메모리 다이들의 메모리 다이들 각각에 대해 마스킹된 동작(예를 들어, 다수의 연속 피크 전류들을 생성하는 동작들)을 식별하기 위해 생성된다. 실시예들에 따르면, 마스크 데이터는 메모리 다이의 저장 위치(예를 들어, 메모리 다이의 래치 저장 영역) 또는 메모리 서브 시스템 컨트롤러(115)의 휘발성 메모리(예를 들어, RAM 또는 SRAM 메모리)에 저장될 수 있다.
도 3에 도시된 바와 같이, 각 메모리 다이에 대한 마스크 데이터는 피크 전류 관리 컴포넌트(113)의 해당 전력 관리 모듈들(예를 들어, 전력 관리 모듈 1 내지 전력 관리 모듈 N)에 의해 다른 메모리 다이들과 공유되거나 동기화된다. 일 실시예에서, 훈련 단계의 완료(예를 들어, 메모리 서브 시스템의 각 메모리 다이에 의한 명령 시퀀스 및 대응되는 훈련 동작 어레이의 실행) 시, 각 메모리 다이에 대해 생성된 마스크 데이터는 전력 관리 컴포넌트(예를 들어, 전력 관리 컴포넌트 1 내지 전력 관리 컴포넌트 N)에 의해 저장되고 액세스 가능하다. 일 실시예에서, 전력 관리 컴포넌트들은 피크 전류 관리 컴포넌트(113)의 일부이며, 각 메모리 다아와 관련된 마스크 데이터에 액세스하도록 구성된다. 일 실시예에서, 처리 로직은 훈련 단계 동안 식별된 마지막 또는 최종 피크 전류(예를 들어, 도 3의 피크 N)에 대한 마스크를 생성하지 않도록 구성될 수 있다.
동작(250)에서, 처리 로직은 호스트 시스템으로부터 메모리 관리 동작을 실행하라는 요청을 수신한다. 일 실시예에서, 훈련 단계의 완료 후, 피크 전류 관리 컴포넌트(113)는 호스트 시스템(120)으로부터의 동작 요청들의 시스템 내 실행 동안 메모리 서브 시스템의 피크 전류 레벨들을 관리하도록 동작한다. 일 실시예에서, 호스트 시스템(120)은 훈련 단계 동안 마스킹된 동작(예를 들어, 수퍼 마스크에 의해 마스킹된 다수의 연속 피크 전류들을 갖는 동작)으로 식별된 메모리 관리 동작("타겟 메모리 관리 동작"이라고도 함)의 실행을 요청한다. 일 실시예에서, 요청 측면에서 볼 때, 처리 로직은 타겟 메모리 관리 동작과 관련된 마스크 데이터를 식별한다. 도 3에 도시된 예로서, 마스크 데이터는 메모리 다이 1에 의한 훈련 동작 어레이의 실행 동안 식별된 피크 1 및 피크 2에 대응하는 수퍼 마스크를 식별한다. 일 실시예에서, 클록(360)은 메모리 다이들에 의한 실행을 동기화하는 데 사용되는 카운터를 유지한다. 메모리 다이들 각각은 현재 클록 카운터 값에 기초하여, 메모리 다이들이 동작하는 시기를 제어하기 위한 클록 카운터 범위와 관련될 수 있다.
동작(260)에서, 처리 로직은 마스크 데이터에 기초하여, 메모리 관리 동작의 실행 동안 피크 전류 관리 액션을 수행한다. 일 실시예에서, 피크 전류 관리 액션은 제1 메모리 다이에 의한 마스킹된 동작의 실행 동안 메모리 다이 세트 내의 다른 메모리 다이들에 의한 실행을 일시 중지하거나 지연시키는 것을 포함할 수 있다. 일 실시예에서, 마스킹된 동작의 실행 및 제1 메모리 다이에 의한 다수의 연속 피크 전류들의 생성 동안, 나머지 메모리 다이들에 의한 피크 전류 관리 액션의 결과로 일시 중지되거나 지연된다.
도 4는 본 개시의 피크 전류 관리 컴포넌트(113)에 의해 관리되는 예시적인 메모리 다이 세트(즉, 메모리 다이 1, 메모리 다이 2, 메모리 다이 3 및 메모리 다이 4)를 예시한다. 도시된 바와 같이, 메모리 다이 세트는 각 메모리 다이가 실행되는 동안 시간 범위를 설정하는 클록(360)과 (예를 들어, 클록 버스를 통해) 관련된다. 일 실시예에서, 모든 메모리 다이들에는 (예를 들어, 세트 특징 명령을 통해) 각 메모리 다이의 초기화 동안 어드레스가 할당된다. 일 실시예에서, 각 메모리 다이는 대응하는 메모리 다이가 발행된 메모리 관리 동작을 실행하는 동안 클록 카운터의 범위와 관련된다.
일 예에서, 도 4에 도시된 바와 같이, 메모리 다이 1에는 0-2의 클록 카운터 범위가 할당되고, 메모리 다이 2에는 3-5의 클록 카운터 범위가 할당되고, 메모리 다이 3에는 6-8의 클록 카운터 범위가 할당되고, 메모리 다이 4에는 9-11의 클록 카운터 범위가 할당된다.
도 4에 도시된 예에서, 메모리 다이 세트(예를 들어, 메모리 다이 1 내지 메모리 다이 4)가 처음에 메모리 관리 동작들을 실행하기 시작할 때(예를 들어, 클록 카운터가 3과 같을 때), 클록 카운터 값(예를 들어, 3의 값)은 메모리 다이 2와 관련된 클럭 카운터 범위(3-5)와 일치하기 때문에 메모리 다이 2와 관련된 마스크 데이터가 식별된다. 도시된 바와 같이, 메모리 다이 2가 수퍼 마스크(예를 들어, 다이 2 수퍼 마스크)와 관련된 메모리 관리 동작의 일부를 실행할 때, 처리 로직은 대응하는 마스크 데이터를 식별하고 슈퍼 마스크 표시자(예를 들어, 피크 전류 관리 컴포넌트(113)에 의해 관리되는 플래그 또는 토큰)를 메모리 다이 2에 할당한다. 수퍼 마스크 표시자는 마스킹된 동작의 실행 동안 메모리 다이에 할당된다 (예를 들어, 슈퍼 마스크에 의해 마스킹된 다수의 피크 전류들을 갖는 동작은 피크 전류 관리 액션을 실행함). 클롤 카운터는 메모리 다이 2의 클럭 카운터 범위에 해당하므로, 다른 메모리 다이들(메모리 다이 1, 메모리 다이 3 및 메모리 다이 4)는 수퍼 마스크 표시자가 메모리 다이 2에 할당되었다고 결정한다. 이에 응답하여, 다른 메모리 다이들은 슈퍼 마스크 표시자가 해제될 때까지(예를 들어, 더 이상 메모리 다이 2에 할당되지 않을 때까지) 실행을 지연하거나 일시 중지한다(예를 들어, 메모리 다이 2로 대체함).
도시된 예에서, 메모리 다이 2에 의해 슈퍼 마스크 표시자의 해제 후, 클록 카운터는 메모리 다이 3의 클록 카운터 범위의 시작 값이 전달된 값을 가질 수 있다. 예를 들어, 현재 클록 카운터는 메모리 다이 2에 의해 슈퍼 마스크 표시자의 해제 시 7의 값에 있을 수 있으며, 메모리 다이 3의 클록 범위(예를 들어, 6-8의 클록 범위)의 시작 값을 전달할 수 있다. 따라서, 이 예에서, 실행은 도 4에 도시된 바와 같이 메모리 다이 4에 의해 재개된다. 메모리 다이 4 슈퍼 마스크가 실행되고, 그에 따라 수퍼 마스크 표시자가 메모리 다이 4에 할당되며 나머지 메모리 다이들(예를 들어, 메모리 다이 1, 메모리 다이 2 및 메모리 다이 3)은 수퍼 마스크 표시자의 해제를 기다리며 일시 중지된다. 이 예에서, 메모리 다이 3 및 메모리 다이 1은 도 4에 도시된 바와 같이 차례로 그들 각각의 마스킹된 동작들을 실행한다.
도 5는 기계가 본원에 논의된 방법론들 중 임의의 하나 이상을 수행하게 하는 인스트럭션 세트가 실행될 수 있는 컴퓨터 시스템(500)의 예시적인 기계를 예시한다. 일부 실시예들에서, 컴퓨터 시스템(500)은 메모리 서브 시스템(예를 들어, 도 1의 메모리 서브 시스템(110))을 포함하거나, 이에 결합되거나 이를 이용하는 호스트 시스템(예를 들어, 도 1의 호스트 시스템(120))에 대응되거나, 또는 컨트롤러의 동작들을 수행(예를 들어, 도 1의 피크 전류 관리 컴포넌트(113)에 대응되는 동작들을 수행하기 위해 운영 체제를 실행)하는 데 사용될 수 있다. 대안적인 실시예들에서, 기계는 LAN, 인트라넷, 엑스트라넷 및/또는 인터넷의 다른 기계들에 연결(예를 들어, 네트워킹)될 수 있다. 기계는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계의 용량으로, 피어 투 피어(또는 분배) 네트워크 환경에서의 피어 기계로, 또는 클라우드 컴퓨팅 인프라스트럭처 또는 환경에서의 서버 또는 클라이언트 기계로 동작할 수 있다.
기계는 개인용 컴퓨터(PC), 태블릿 PC, 셋톱박스(STB), 개인용 디지털 보조 장치(PDA), 셀룰러 텔레폰, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브릿지, 디지털 또는 비-디지털 회로부, 또는 해당 기계에 의해 수행될 조치들을 명시하는 인스트럭션 세트(순차적 또는 다른 방식)을 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일 기계가 예시되어 있지만, "기계"라는 용어는 또한 본원에서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 인스트럭션 세트(또는 복수 세트)를 개별적으로 또는 공통으로 실행하는 임의의 기계 컬렉션을 포함하는 것으로 간주해야 한다.
예시적인 컴퓨터 시스템(500)은 버스(530)를 통해 서로 통신하는, 처리 장치(502), 메인 메모리(504)(예를 들어, 읽기 전용 메모리(ROM), 플래시 메모리, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM)과 같은 동적 랜덤 액세스 메모리(DRAM) 등), 정적 메모리(506)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등) 및 데이터 저장 시스템(518)을 포함한다.
처리 장치(502)는 마이크로프로세서, 중앙 처리 장치 등과 같은 하나 이상의 범용 처리 장치들을 나타낸다. 보다 구체적으로, 처리 장치는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 인스트럭션 세트들을 구현하는 프로세서, 또는 인스트럭션 세트들의 조합을 구현하는 프로세서들일 수 있다. 처리 장치(502)는 또한 애플리케이션별 집적 회로(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 장치들일 수 있다. 처리 장치(502)는 본원에 논의된 동작들 및 단계들을 수행하기 위한 인스트럭션들(526)을 수행하도록 구성된다. 컴퓨터 시스템(500)은 네트워크(520)를 통해 통신하기 위한 네트워크 인터페이스 장치(508)를 더 포함할 수 있다.
데이터 저장 시스템(518)는 본원에 설명된 방법들 또는 기능들 중 임의의 하나 이상을 구현하는 하나 이상의 인스트력션 세트(526) 또는 소프트웨어가 저장되는 기계 판독 가능 저장 매체(524)(컴퓨터 판독 가능 매체로 알려짐)를 포함할 수 있다. 인스트럭션들(526)은 또한 기계 판독 가능 저장 매체를 구성하는 컴퓨터 시스템(500), 메인 메모리(504) 및 처리 장치(502)에 의한 실행 동안 메인 메모리(504) 내에 및/또는 처리 장치(502) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 기계 판독 가능 저장 매체(524), 데이터 저장 시스템(518) 및/또는 메인 메모리(504)는 도 1의 메모리 서브 시스템(110)에 대응될 수 있다.
일 실시예에서, 인스트럭션들(526)은 데이터 보호 컴포넌트(예를 들어, 도 1의 피크 전류 관리 컴포넌트(113))에 대응되는 기능을 구현하기 위한 인스트럭션들을 포함한다. 기계 판독 가능 저장 매체(524)가 예시적인 실시예에서 단일 매체인 것으로 도시되어 있지만, "기계 판독 가능 저장 매체"라는 용어는 하나 이상의 인스트럭션 세트들을 저장하는 단일 매체 또는 다중 매체를 포함하는 것으로 간주되어야 한다. "기계 판독 가능 저장 매체"라는 용어는 또한 기계에 의해 실행되는 인스트럭션 세트를 저장 또는 인코딩할 수 있고 기계가 본 개시의 방법들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서, "기계 판독 가능 저장 매체"라는 용어는, 이에 제한되는 것은 아니나, 솔리드 스테이트 메모리들, 광학 매체 및 자기 매체를 포함하는 것으로 간주되어야 한다.
전술한 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산의 알고리즘 및 상징적 표현들과 관련하여 제시되었다. 이러한 알고리즘적 설명들 및 표현들은 데이터 처리 분야의 당업자가 그들 작업의 실체를 다른 당업자에게 가장 효과적으로 전달하기 위해 사용되는 방식들이다. 여기서, 알고리즘은 일반적으로 원하는 결과를 도출하는 자기 모순 없는(self-consistent) 동작 시퀀스인 것으로 생각된다. 동작들은 이러한 물리적 수량의 물리적 조작을 필요로 한다. 일반적으로, 반드시 그런 것은 아니지만, 이러한 양은 저장되고, 결합되고, 비교되고 아니면 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 이러한 신호들을 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 지칭하는 것이, 주로 일반적인 사용의 이유로, 때때로 편리한 것으로 입증되었다.
그러나, 이러한 및 유사한 용어들 모두는 적절한 물리적 양과 관련이 있으며 이러한 양에 적용되는 편리한 라벨들일 뿐이라는 점을 명심해야 한다. 본 개시는 컴퓨터 시스템의 레지스터들과 메모리들 내에서 물리적(전자적) 양으로 표현되는 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장 시스템들 내의 물리적 양으로 표현되는 다른 데이터로 조작하고 변환하는 컴퓨터 시스템 또는 이와 유사한 전자 컴퓨팅 장치의 동작 및 프로세스들을 인용할 수 있다.
본 개시는 또한 본원에서 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는 의도된 목적들을 위해 특별히 구성될 수 있거나, 이는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성된 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 이에 제한되는 것은 아니나, 플로피 디스크, 광 디스크, CD-ROM, 및 자기-광학 디스크, 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 각각 컴퓨터 시스템 버스에 연결된 전자 인스트럭션들을 저장하기에 적합한 임의의 유형의 매체를 포함하는 임의 유형의 디스크와 같은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
본원에 제시된 알고리즘들 및 디스플레이들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 관련되지 않는다. 다양한 범용 시스템들은 본원의 교시에 따른 프로그램들과 함께 사용될 수 있거나, 방법을 수행하기 위해 다 특화된 장치를 구성하는 것이 편리하다는 것을 입증할 수 있다. 다양한 이들 시스템들의 구조는 아래의 설명에서 제시되는 것으로 나타날 것이다. 또한, 본 개시는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본원에 기술된 바와 같이 본 개시의 교시를 구현하는 데 사용될 수 있음이 이해될 것이다.
본 개시는 본 개시에 따른 프로세스를 수행하기 위해 컴퓨터 시스템(또는 다른 전자 장치)를 프로그래밍하는 데 사용될 수는, 인스트럭션들을 저장한 기계 판독 가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 기계 판독 가능 매체는 기계(예: 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 일부 실시예들에서, 기계 판독 가능(예를 들어, 컴퓨터 판독 가능) 매체는 읽기 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 컴포넌트들 등과 같은 기계(예를 들어, 컴퓨터) 판독 가능 저장 매체를 포함한다.
전술한 명세서에서, 본 개시의 실시예들은 그 특정 예시적인 실시예들을 참조하여 설명되었다. 다음의 청구 범위에 명시된 본 개시의 실시예들의 넓은 사상 및 범위를 벗어나지 않고 다양한 변형들이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면들은 제한적인 의미보다는 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 방법에 있어서,
    처리 장치에 의해, 메모리 서브 시스템의 복수의 메모리 다이들에 대한 메모리 관리 동작을 실행하는 단계;
    상기 메모리 관리 동작의 실행에 대응하는 제1 측정된 전류 레벨이 임계 피크 전류 레벨에 관련된 조건을 충족하는지 여부를 결정하는 단계;
    상기 메모리 관리 동작의 실행에 대응하는 제2 측정된 전류 레벨이 상기 임계 피크 전류 레벨에 관련된 상기 조건을 충족하는지 여부를 결정하는 단계;
    상기 제1 측정된 전류 레벨이 상기 조건을 충족하고 상기 제2 측정된 전류 레벨이 상기 조건을 충족한다고 결정하는 것에 응답하여, 상기 제1 측정된 전류 레벨 및 상기 제2 측정된 전류 레벨을 식별하는 마스크 데이터를 생성하는 단계;
    호스트 시스템으로부터 상기 메모리 관리 동작을 실행하라는 요청을 수신하는 단계; 및
    상기 마스크 데이터에 기초하여, 상기 메모리 관리 동작의 실행 동안 피크 전류 관리 액션을 수행하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 제1 측정된 전류 레벨은 제1 피크 전류를 나타내고 상기 제2 측정된 전류 레벨은 상기 복수의 메모리 다이들 중 제1 메모리 다이에 의한 상기 메모리 관리 동작의 일부의 실행 동안 발생하는 제2 피크 전류를 나타내는, 방법.
  3. 제2항에 있어서, 상기 마스크 데이터는 상기 제1 전류 레벨 및 상기 제2 전류 레벨을 생성하는 상기 메모리 관리 동작의 일부와 관련된 마스크를 식별하는, 방법.
  4. 제1항에 있어서, 상기 제1 전류 레벨 및 상기 제2 전류 레벨을 생성하는 상기 메모리 관리 동작의 일부의 실행 동안 제1 메모리 다이에 마스크 식별자를 할당하는 단계를 더 포함하는, 방법.
  5. 제4항에 있어서, 상기 피크 전류 관리 액션은 상기 제1 메모리 다이에 상기 마스크 식별자를 할당하는 것에 응답하여 상기 복수의 메모리 다이들의 메모리 다이 서브셋에 의한 실행을 지연시키는 단계를 포함하는, 방법.
  6. 제4항에 있어서, 상기 제1 전류 레벨 및 상기 제2 전류 레벨을 생성하는 상기 메모리 관리 동작의 상기 일부의 실행 후 상기 제1 메모리 다이에 할당된 상기 마스크 표시자를 해제하는 단계를 더 포함하는, 방법.
  7. 제6항에 있어서,
    클록 카운터의 값에 대응하는 클록 범위가 할당된 상기 복수의 메모리 다이들 중 제2 메모리 다이를 식별하는 단계;
    제3 전류 레벨 및 제4 전류 레벨을 생성하도록 상기 메모리 관리 동작의 추가 일부를 실행하는 단계로서, 상기 추가 일부는 추가 마스크 데이터와 관련되는, 상기 실행하는 단계; 및
    상기 추가 마스크 데이터에 기초하여, 상기 제3 전류 레벨 및 상기 제4 전류 레벨을 생성하는 상기 메모리 관리 동작의 상기 추가 일부의 실행 동안 상기 제2 메모리 다이에 상기 마스크 표시자를 할당하는 단계를 더 포함하는, 방법.
  8. 비일시적 컴퓨터 판독 가능 매체로서, 처리 장치에 의해 실행 시, 상기 처리 장치가,
    훈련 단계에서, 메모리 서브 시스템의 복수의 메모리 다이들에 대한 메모리 관리 동작 어레이를 실행하는 단계;
    상기 메모리 관리 동작 어레이의 제1 부분을 실행함으로써 생성된 제1 연속 피크 전류 쌍을 식별하는 단계; 및
    상기 메모리 관리 동작 어레이의 상기 제1 부분과 연관된 마스크 데이터를 생성하는 단계를 포함하는 동작들을 수행하도록 하는 인스트럭션들을 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  9. 제8항에 있어서, 상기 동작들은,
    상기 메모리 관리 동작 어레이의 상기 제1 부분을 실행하라는 호스트 시스템으로부터의 요청에 응답하여, 상기 마스크 데이터를 식별하는 동작;
    상기 메모리 관리 동작 어레이의 상기 제1 부분을 실행하기 위해 상기 복수의 메모리 다이들 중 제1 메모리 다이를 식별하는 단계; 및
    상기 마스트 데이터에 기초하여, 상기 제1 연속 피크 전류 쌍의 실행 동안 상기 제1 메모리 다이에 마스크 식별자를 할당하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  10. 제9항에 있어서, 상기 동작들은 상기 마스크 데이터에 기초하여 전력 관리 액션을 수행하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  11. 제9항에 있어서, 상기 전력 관리 액션은 상기 마스크 표시자가 상기 제1 메모리 다이에 할당되는 기간 동안 상기 복수의 메모리 다이들의 서브셋에 의한 실행을 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  12. 제11항에 있어서, 상기 동작들은 상기 메모리 관리 동작 어레이의 상기 제1 부분의 후속 실행의 완료 시 상기 제1 메모리 다이에 상기 마스크 표시자의 할당을 해제하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  13. 제8항에 있어서, 상기 마스크 데이터는 상기 메모리 서브 시스템의 컨트롤러의 저장 위치에 저장되는, 비일시적 컴퓨터 판독 가능 매체.
  14. 시스템에 있어서,
    복수의 메모리 다이들; 및
    상기 복수의 메모리 다이들과 동작 가능하게 결합된 처리 장치로서,
    메모리 서브 시스템의 상기 복수의 메모리 다이들에 대한 메모리 관리 동작을 실행하는 단계;
    상기 메모리 관리 동작의 실행에 대응하는 제1 측정된 전류 레벨이 임계 피크 전류 레벨에 관련된 조건을 충족하는지 여부를 결정하는 단계;
    상기 메모리 관리 동작의 실행에 대응하는 제2 측정된 전류 레벨이 상기 임계 피크 전류 레벨에 관련된 상기 조건을 충족하는지 여부를 결정하는 단계;
    상기 제1 측정된 전류 레벨이 상기 조건을 충족하고 상기 제2 측정된 전류 레벨이 상기 조건을 충족한다고 결정하는 것에 응답하여, 상기 제1 측정된 전류 레벨 및 상기 제2 측정된 전류 레벨을 식별하는 마스크 데이터를 생성하는 단계;
    호스트 시스템으로부터 상기 메모리 관리 동작을 실행하라는 요청을 수신하는 단계; 및
    상기 마스크 데이터에 기초하여 피크 전류 관리 액션을 수행하는 단계를 포함하는 동작들을 수행하도록 하는, 상기 처리 장치를 포함하는, 시스템.
  15. 제14항에 있어서, 상기 제1 측정된 전류 레벨은 제1 피크 전류를 나타내고 상기 제2 측정된 전류 레벨은 상기 복수의 메모리 다이들 중 제1 메모리 다이에 의한 상기 메모리 관리 동작의 일부의 실행 동안 발생하는 제2 피크 전류를 나타내는, 시스템.
  16. 제15항에 있어서, 상기 마스크 데이터는 상기 제1 전류 레벨 및 상기 제2 전류 레벨을 생성하는 상기 메모리 관리 동작의 일부와 관련된 마스크를 식별하는, 시스템.
  17. 제14항에 있어서, 상기 동작들은 상기 제1 전류 레벨 및 상기 제2 전류 레벨을 생성하는 상기 메모리 관리 동작의 일부의 실행 동안 상기 복수의 메모리 다이들 중 제1 메모리 다이에 마스크 식별자를 할당하는 단계를 더 포함하는, 시스템.
  18. 제17항에 있어서, 상기 피크 전류 관리 액션은 상기 제1 메모리 다이에 상기 마스크 식별자를 할당하는 것에 응답하여 상기 복수의 메모리 다이들의 메모리 다이 서브셋에 의한 실행을 지연시키는 단계를 포함하는, 시스템.
  19. 제17항에 있어서, 상기 동작들은 상기 제1 전류 레벨 및 상기 제2 전류 레벨을 생성하는 상기 메모리 관리 동작의 상기 일부의 실행 후 상기 제1 메모리 다이에 할당된 상기 마스크 표시자를 해제하는 단계를 더 포함하는, 시스템.
  20. 제19항에 있어서, 상기 동작들은,
    클록 카운터의 값에 대응하는 클록 범위가 할당된 상기 복수의 메모리 다이들 중 제2 메모리 다이를 식별하는 단계;
    제3 전류 레벨 및 제4 전류 레벨을 생성하도록 상기 메모리 관리 동작의 추가 일부를 실행하는 단계로서, 상기 추가 일부는 추가 마스크 데이터와 관련되는, 상기 실행하는 단계; 및
    상기 추가 마스크 데이터에 기초하여, 상기 제3 전류 레벨 및 상기 제4 전류 레벨을 생성하는 상기 메모리 관리 동작의 상기 추가 일부의 실행 동안 상기 제2 메모리 다이에 상기 마스크 표시자를 할당하는 단계를 더 포함하는, 시스템.
KR1020210059148A 2020-05-11 2021-05-07 메모리 서브 시스템에서 메모리 다이들의 피크 전류의 관리 KR20210138497A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/871,366 2020-05-11
US16/871,366 US11216219B2 (en) 2020-05-11 2020-05-11 Management of peak current of memory dies in a memory sub-system

Publications (1)

Publication Number Publication Date
KR20210138497A true KR20210138497A (ko) 2021-11-19

Family

ID=78412613

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210059148A KR20210138497A (ko) 2020-05-11 2021-05-07 메모리 서브 시스템에서 메모리 다이들의 피크 전류의 관리

Country Status (3)

Country Link
US (2) US11216219B2 (ko)
KR (1) KR20210138497A (ko)
CN (1) CN113643745B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210146643A (ko) * 2020-05-27 2021-12-06 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7417645B2 (en) * 2003-03-27 2008-08-26 Microsoft Corporation Markup language and object model for vector graphics
JP2012203919A (ja) * 2011-03-23 2012-10-22 Toshiba Corp 半導体記憶装置およびその制御方法
US9208070B2 (en) * 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US9417685B2 (en) * 2013-01-07 2016-08-16 Micron Technology, Inc. Power management

Also Published As

Publication number Publication date
CN113643745A (zh) 2021-11-12
US11216219B2 (en) 2022-01-04
US20220121399A1 (en) 2022-04-21
US11681474B2 (en) 2023-06-20
CN113643745B (zh) 2024-04-05
US20210349663A1 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
US11669451B2 (en) Multi-plane switching of non-volatile memory
WO2023034327A1 (en) Unified sequencer concurrency controller for a memory sub-system
US20220050772A1 (en) Data block switching at a memory sub-system
US20240103770A1 (en) Improved memory performance using memory access command queues in memory devices
US20220019370A1 (en) Partial zone memory unit handling in a zoned namespace of a memory device
US11681474B2 (en) Management of peak current of memory dies in a memory sub-system
US11720490B2 (en) Managing host input/output in a memory system executing a table flush
US11526299B2 (en) Elastic buffer for media management of a memory sub-system
WO2022027578A1 (en) Memory overlay using host memory buffer
US11139042B2 (en) Capacitor health check
US12019557B2 (en) Padding cached data with valid data for memory flush commands
US11636904B2 (en) Almost ready memory management
US11693597B2 (en) Managing package switching based on switching parameters
US11899972B2 (en) Reduce read command latency in partition command scheduling at a memory device
US20230266897A1 (en) Dynamic zone group configuration at a memory sub-system
US20230062995A1 (en) Write performance optimization for erase on demand
US11379359B2 (en) Selecting data transfer units associated with a data stream for garbage collection
US20230266898A1 (en) Host Defined Zone Group Configuration At A Memory Sub-System
US20230214157A1 (en) NVMe COMMAND COMPLETION MANAGEMENT FOR HOST SYSTEM MEMORY
US11119679B2 (en) Storing data based on a probability of a data graph
US20210248066A1 (en) Multi state purgatory for media management for a memory subsystem
US20220013179A1 (en) Noise reduction during parallel plane access in a multi-plane memory device
US20220113903A1 (en) Single memory bank storage for servicing memory access commands
EP4396668A1 (en) Unified sequencer concurrency controller for a memory sub-system
US20210157732A1 (en) Read commands based on row status prediction

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right