KR102589410B1 - 메모리 장치 및 그의 파워 제어 방법 - Google Patents
메모리 장치 및 그의 파워 제어 방법 Download PDFInfo
- Publication number
- KR102589410B1 KR102589410B1 KR1020170149423A KR20170149423A KR102589410B1 KR 102589410 B1 KR102589410 B1 KR 102589410B1 KR 1020170149423 A KR1020170149423 A KR 1020170149423A KR 20170149423 A KR20170149423 A KR 20170149423A KR 102589410 B1 KR102589410 B1 KR 102589410B1
- Authority
- KR
- South Korea
- Prior art keywords
- command
- power
- host
- area
- register
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012544 monitoring process Methods 0.000 claims abstract description 48
- 238000010586 diagram Methods 0.000 description 15
- 239000000758 substrate Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/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
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
- Memory System (AREA)
Abstract
메모리 장치 및 그의 파워 제어 방법이 제공된다. 상기 메모리 장치는 호스트로부터 커맨드를 수신하고, 상기 호스트의 접근을 제어하는 호스트 인터페이스, 상기 호스트에 의해서 접근 가능하고, 서로 다른 복수의 영역을 포함하는 레지스터, 상기 호스트가 상기 복수의 영역 중 어느 영역에 접근하는 지 모니터링하여 모니터링 시그널을 생성하는 메모리 액세스 모니터 및 상기 모니터링 시그널에 따라 파워 업 그룹을 구성하고, 상기 파워 업 그룹에 파워를 공급하는 파워 컨트롤 매니저를 포함한다.
Description
본 발명은 메모리 장치 및 그의 파워 제어 방법에 관한 것이다.
기존의 저장장치 중 하드 디스크(HDD, hard disk drive)는 주로 SATA(Serial ATA, Serial Advanced Technology Attachment)를 이용하여 호스트와 연결되었고, 솔리드 스테이트 드라이브(SSD, solid state drive)도 이러한 SATA를 이용하여 연결되는 방식이 초기에 사용되었다.
그러나, SATA의 연결은 솔리드 스테이트 드라이브의 속도를 감당하기 어려웠고, 새로운 연결방식으로 그래픽 카드 등에 사용되었던 PCI 익스프레스(PCI express, PCIe, Peripheral Component Interconnect express)를 이용한 연결방식이 대두되었다.
이러한 PCIe는 기존의 SATA에 사용되었던 고급 호스트 컨트롤러 인터페이스(AHCI, Advanced Host Controller Interface)를 이용하기에는 최적화되지 않기에, NVM 익스프레스(NVM Express, NVMe, Non-Volatile Memory express) 또는 비휘발성 메모리 호스트 컨트롤러 인터페이스 사양(Non-Volatile Memory Host Controller Interface Specification, NVMHCI)를 이용하여 호스트와의 접속을 가장 빠르고 효율적으로 수행할 수 있게 하였다.
이러한 인터페이스의 경우 대기 파워 소모를 작게하는 경우 파워 업 동작의 지연(latency)이 발생할 수 있다.
본 발명이 해결하려는 과제는, 대기 파워 소모를 최소화하면서도 파워 업 동작의 지연이 없는 메모리 장치를 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 대기 파워 소모를 최소화하면서도 파워 업 동작의 지연이 없는 메모리 장치의 파워 제어 방법을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 메모리 장치는, 호스트로부터 커맨드를 수신하고, 상기 호스트의 접근을 제어하는 호스트 인터페이스, 상기 호스트에 의해서 접근 가능하고, 서로 다른 복수의 영역을 포함하는 레지스터, 상기 호스트가 상기 복수의 영역 중 어느 영역에 접근하는 지 모니터링하여 모니터링 시그널을 생성하는 메모리 액세스 모니터 및 상기 모니터링 시그널에 따라 파워 업 그룹을 구성하고, 상기 파워 업 그룹에 파워를 공급하는 파워 컨트롤 매니저를 포함한다.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 메모리 장치는 호스트로부터 커맨드를 수신하고, 상기 호스트의 접근을 제어하는 호스트 인터페이스, 상기 호스트에 의해서 접근 가능하고, 서로 다른 복수의 영역을 포함하는 레지스터, 상기 커맨드를 디코딩하는 커맨드 컨트롤러, 상기 커맨드를 실행하는 프로세싱 코어, 상기 호스트의 상기 레지스터에 대한 라이트 동작을 모니터링하여 모니터링 시그널을 생성하는 메모리 액세스 모니터 및 상기 모니터링 시그널에 따라서 파워 업 그룹을 구성하여 선택적으로 파워를 공급하는 파워 컨트롤 매니저를 포함한다.
상기 또 다른 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 메모리 장치는 호스트가 접근 가능한 제1 및 제2 영역을 포함하는 레지스터, 상기 호스트가 상기 제1 영역에 라이트 동작을 수행하면 제1 모니터링 시그널을 생성하고, 상기 호스트가 상기 제2 영역에 라이트 동작을 수행하면 제2 모니터링 시그널을 생성하는 메모리 액세스 모니터 및 상기 제1 모니터링 시그널을 수신하면 제1 파워 업 그룹에 대해서 파워를 공급하고, 상기 제2 모니터링 시그널을 수신하면 제2 파워 업 그룹에 대해서 파워를 공급하는 파워 컨트롤 매니저를 포함한다.
상기 또 다른 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 메모리 장치의 파워 제어 방법은 호스트로부터 커맨드가 수신되어 레지스터에 라이트되되, 상기 레지스터는 호스트가 접근 가능한 복수의 영역을 포함하고, 상기 레지스터의 어느 영역에 상기 커맨드가 라이트되었는 지를 모니터링하여 모니터링 시그널을 생성하고, 상기 모니터링 시그널에 따라서 파워 업 그룹을 구성하고, 상기 파워 업 그룹에게 선택적으로 파워를 공급하는 것을 포함한다.
도 1은 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이다.
도 2는 도 1의 메모리 컨트롤러와 비휘발성 메모리를 세부적으로 설명하기 위한 블록도이다.
도 3은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 예시적인 등가 회로도이다.
도 4는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 사시도이다.
도 5는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 단면 사시도이다.
도 6은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 컨트롤 매니저의 동작을 설명하기 위한 블록도이다.
도 7은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 제어 흐름을 설명하기 위한 블록도이다.
도 8은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 내부 구조를 설명하기 위한 블록도이다.
도 9는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 호스트가 라이트 동작을 수행한 영역에 따른 파워 업 모듈을 예시적으로 나타낸 표이다.
도 10a는 종래의 기술에서 시간에 따른 파워 소모를 나타내는 그래프이다.
도 10b는 종래의 기술에서 시간에 따른 파워 소모를 나타내는 그래프이다.
도 10c는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 시간에 따른 파워 소모를 나타내는 그래프이다.
도 11은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 내부 구조를 설명하기 위한 블록도이다.
도 12는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 호스트가 라이트 동작을 수행한 영역별 파워 업 모듈을 예시적으로 나타낸 표이다.
도 13은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 제어 방법을 설명하기 위한 순서도이다.
도 2는 도 1의 메모리 컨트롤러와 비휘발성 메모리를 세부적으로 설명하기 위한 블록도이다.
도 3은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 예시적인 등가 회로도이다.
도 4는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 사시도이다.
도 5는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 단면 사시도이다.
도 6은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 컨트롤 매니저의 동작을 설명하기 위한 블록도이다.
도 7은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 제어 흐름을 설명하기 위한 블록도이다.
도 8은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 내부 구조를 설명하기 위한 블록도이다.
도 9는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 호스트가 라이트 동작을 수행한 영역에 따른 파워 업 모듈을 예시적으로 나타낸 표이다.
도 10a는 종래의 기술에서 시간에 따른 파워 소모를 나타내는 그래프이다.
도 10b는 종래의 기술에서 시간에 따른 파워 소모를 나타내는 그래프이다.
도 10c는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 시간에 따른 파워 소모를 나타내는 그래프이다.
도 11은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 내부 구조를 설명하기 위한 블록도이다.
도 12는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 호스트가 라이트 동작을 수행한 영역별 파워 업 모듈을 예시적으로 나타낸 표이다.
도 13은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 제어 방법을 설명하기 위한 순서도이다.
이하에서, 도 1 내지 도 10c를 참조하여, 본 발명의 몇몇 실시예에 따른 특성 데이터 전처리 시스템에 대해서 설명한다.
도 1은 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이고, 도 2는 도 1의 메모리 컨트롤러와 비휘발성 메모리를 세부적으로 설명하기 위한 블록도이다. 도 3은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 예시적인 등가 회로도이고, 도 4는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 사시도이다. 도 5는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 비휘발성 메모리의 메모리 블록에 대한 단면 사시도이고, 도 6은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 컨트롤 매니저의 동작을 설명하기 위한 블록도이다. 도 7은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 제어 흐름을 설명하기 위한 블록도이고, 도 8은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 내부 구조를 설명하기 위한 블록도이다. 도 9는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 호스트가 라이트 동작을 수행한 영역에 따른 파워 업 모듈을 예시적으로 나타낸 표이고, 도 10a는 종래의 기술에서 시간에 따른 파워 소모를 나타내는 그래프이다. 도 10b는 종래의 기술에서 시간에 따른 파워 소모를 나타내는 그래프이고, 도 10c는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 시간에 따른 파워 소모를 나타내는 그래프이다.
도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 메모리 장치(200)를 포함하는 메모리 시스템은 호스트(100)와 메모리 장치(200)를 포함한다.
호스트(100)는 메모리 장치(200)의 외부에서 메모리 장치(200)와 결합될 수 있다. 호스트(100)는 메모리 장치(200)와 호스트 인터페이스(210)를 통해서 연결될 수 있다. 호스트(100)는 메모리 장치(200)의 데이터 처리 동작(예를 들어, 라이트(write) 동작 및 리드(read) 동작)을 제어할 수 있다.
호스트(100)는 호스트 프로세서, 집적 회로(integrated circuit(IC)), 마더보드(motherboard), 시스템 온 칩(system on chip(SoC)), 애플리케이션 프로세서(application processor(AP)), 모바일(mobile) AP, 웹(web) 서버, 데이터 서버, 또는 데이터베이스 서버로 구현될 수 있으나 이에 제한되는 것은 아니다.
메모리 장치(200)는 호스트 인터페이스(210)를 통해서 호스트(100)와 명령 및/또는 데이터를 주고 받을 수 있다. 메모리 장치(200)는 플래시-기반 스토리지(flash based storage)로 구현될 수 있으나 이에 제한되는 것은 아니다. 예컨대, 메모리 장치(200)는 SSD(solid-state drive or solid-state disk) 또는 임베디드 SSD(embedded SSD(eSSD))로 구현될 수 있으나 이에 제한되는 것은 아니다.
호스트(100)와 메모리 장치(200)는 서로 연결되어 하나의 데이터 처리 시스템을 구현할 수 있다. 상기 데이터 처리 시스템은 예를 들어, PC(personal computer), 워크스테이션(workstation), 데이터 센터, 인터넷 데이터 센터(internet data center(IDC)), DAS(direct attached storage) 시스템, SAN(storage area network) 시스템, NAS(network attached storage) 시스템, RAID(redundant array of inexpensive disks, or redundant array of independent disks) 시스템, 또는 모바일 장치로 구현될 수 있으나 이에 제한되는 것은 아니다.
또한, 상기 모바일 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 드론(drone), 또는 e-북(e-book)으로 구현될 수 있으나, 이에 제한되는 것은 아니다.
본 발명의 몇몇 실시예에 따른 메모리 장치(200)는 호스트 인터페이스(210), 커맨드 컨트롤러(220), 프로세싱 코어(230), 휘발성 메모리(240), 메모리 컨트롤러(250), 비휘발성 메모리(260), 제1 레지스터(270), 메모리 액세스 모니터(280) 및 파워 컨트롤 매니저(290)를 포함한다.
호스트 인터페이스(210)는 추후에 설명되는 커맨드 컨트롤러(220) 및 제1 레지스터(270)와 함께 호스트(100)와 메모리 장치(200) 사이의 명령 및/또는 데이터의 전송 경로일 수 있다. 실시 예들에 따라, 호스트 인터페이스(210)는 PCIe(peripheral component interconnect express) 인터페이스, NVMe(non-volatile memory Express) 인터페이스로 구현될 수 있으나 이에 제한되는 것은 아니다.
실시 예들에 따라, 호스트 인터페이스(210)는 전기 신호들 또는 광 신호들을 전송할 수 있다. 또한 호스트 인터페이스(210)는 호스트(100)의 접근을 제어할 수 있다. 즉, 호스트 인터페이스(210)는 제1 레지스터(270) 중 일부의 영역에는 호스트(100)의 접근을 허용하고, 나머지 영역에는 호스트(100)의 접근을 차단할 수 있다.
커맨드 컨트롤러(220)는 호스트(100)로부터 호스트 인터페이스(210)를 통해서 데이터를 전송받을 수 있다. 커맨드 컨트롤러(220)는 호스트(100)로부터 호스트 인터페이스(210)를 통해서 커맨드를 전송받을 수 있다.
커맨드 컨트롤러(220)는 커맨드를 디코딩하여 프로세싱 코어(230)가 해석할 수 있는 형태로 변환할 수 있다. 또한, 커맨드 컨트롤러(220)는 커맨드를 페치(fetch) 할 수 있다. 페치란, 호스트(100) 내에 있는 커맨드를 불러오는 것을 의미할 수 있다.
즉, 실제 커맨드의 전송 방식은 커맨드 포인터가 먼저 제1 레지스터(270)의 도어벨(doorbell) 영역에 라이트(write)되고, 이에 대응하여 커맨드가 호스트(100)에서 페치되는 방식일 수 있다. 즉, 커맨드 컨트롤러(220)는 커맨드 포인터에 대응하는 커맨드를 페치할 수 있다.
프로세싱 코어(230)는 메모리 장치(200) 내에서 메모리 장치(200)의 데이터 처리 동작을 수행할 수 있다. 구체적으로, 호스트(100)에 의해서 전송되는 데이터 처리 커맨드에 대한 작업 및 비휘발성 메모리(260)의 리프레쉬 작업 등을 수행할 수 있다.
프로세싱 코어(230)는 커맨드 컨트롤러(220)가 디코딩한 커맨드 혹은 커맨드 큐를 실행할 수 있다. 프로세싱 코어(230)는 도 1에서는 하나의 블록으로 도시되었지만, 2개 이상의 프로세싱 코어를 포함할 수 있다. 이를 통해서 더 빠르고 효율적인 데이터 처리 동작이 가능할 수 있다.
프로세싱 코어(230)는 원칙적으로 커맨드에 따라서 파워 컨트롤 매니저(290)에게 파워 업에 대한 지시를 주는 것도 가능하지만, 본 발명의 몇몇 실시예에 따른 메모리 장치(200)는 이러한 방식(프로세싱 코어(230)에서 파워 컨트롤 매니저(290)로 향하는 화살표)을 취하지 않고 메모리 액세스 모니터(280)를 통한 방식으로 파워 컨트롤 매니저(290)를 동작시킬 수 있다.
휘발성 메모리(240)는 프로세싱 코어(230)와 함께 데이터 처리 명령에 대한 작업을 수행할 수 있다. 휘발성 메모리(240)는 예를 들어, DRAM(Dynamic random access memory)일 수 있다. 휘발성 메모리(240)는 상기 작업들을 수행하기 위한 버퍼 메모리의 역할을 수행할 수 있다.
메모리 컨트롤러(250)는 비휘발성 메모리(260)에 주어지는 명령 및/또는 데이터의 전송 또는 처리를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(250)는 호스트(100)로부터 전송된 데이터를 비휘발성 메모리(260)에 라이트하고, 비휘발성 메모리(260)로부터 리드된 데이터를 호스트(100)로 전송할 수 있다.
비휘발성 메모리(260)는 데이터를 실질적으로 저장하는 메모리 셀일 수 있다. 비휘발성 메모리(260)는 3차원 낸드 플래시 메모리 어레이를 포함할 수 있다. 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(monolithically)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착됨을 의미한다.
도 2를 참조하면, 비휘발성 메모리(260)는 복수의 메모리 블록들(BLK1 ~ BLKz, z는 2 이상의 정수)을 포함한다. 복수의 메모리 블록들(BLK1 ~ BLKz) 각각은 복수의 페이지들(Page 1 ~ Page m, m은 2 이상의 정수)을 포함한다
도 3을 참조하면, 메모리 블록(BLK)은 복수의 비트라인들(BL1 ~ BLn, n는 2 이상의 정수)에 연결된 스트링(String)들을 포함한다. 여기서 스트링들 각각은 비트라인과 공통 소스 라인(common source line; CSL) 사이에 직렬 연결된 적어도 하나의 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 ~ MCm, m은 2 이상의 정수), 적어도 하나의 접지 선택 트랜지스터(GST)를 포함한다.
메모리 셀들(MC1 ~ MCm) 각각은 적어도 하나의 비트 이상의 데이터를 저장할 수 있다. 도시되지 않았지만, 스트링들 각각은 스트링 선택 트랜지스터(SST)와 메모리 셀들(MC1 ~ MCm) 사이에 적어도 하나의 더미 셀과, 메모리 셀들(MC1 ~ MCm)과 접지 선택 트랜지스터(GST) 사이에 적어도 하나의 더미 셀을 더 포함할 수 있다.
도 4를 참조하면, 기판 위에 4개의 서브 블록들이 형성된다. 각각의 서브 블록들은 기판 위에 워드라인 컷(WL cut)들 사이에 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WLs), 적어도 하나의 스트링 선택 라인(SSL)이 판 형태로 적층됨으로써 형성된다. 여기서 적어도 하나의 스트링 선택 라인(SSL)은 스트링 선택 라인 컷(String Cut)으로 분리된다. 한편, 도 4에서는 스트링 선택 라인 컷이 존재하지만, 본 발명의 메모리 블록이 여기에 제한되지 않는다. 본 발명의 메모리 블록(BLKa)은 스트링 선택 라인 컷이 존재하지 않도록 구현될 수도 있다.
제1 방향(1st)과 제2 방향(2nd)은 서로 교차하고, 제3 방향(3rd)은 제1 방향(1st) 및 제2 방향(2nd)과 교차할 수 있다. 제1 방향(1st), 제2 방향(2nd) 및 제3 방향(3rd)은 예를 들어, 서로 직교하는 오소고날(orthogonal)한 방향일 수 있다.
접지 선택 라인(GSL)과 워드라인들(WLs)과 스트링 선택 라인(SSL)은 제2 방향(2nd)으로 연장되고, 워드라인 컷과 스트링 선택 라인 컷에 의해서 제1 방향(1st)으로 서로 이격될 수 있다. 또한, 접지 선택 라인(GSL)과 워드라인들(WLs)과 스트링 선택 라인(SSL)은 순차적으로 제3 방향(3rd)으로 적층될 수 있다.
본 발명의 몇몇 실시예에 있어서, 접지 선택 라인(GSL)과 워드라인들(WLs) 사이에 적어도 하나의 더미 워드라인이 판 형태로 적층되거나, 워드라인들(WLs)과 스트링 선택 라인(SSL) 사이에 적어도 하나의 더미 워드라인이 판 형태로 적층 될 수 있다.
각각의 워드라인 컷들은, 도시되지 않았지만 공통 소스 라인(common source line: CSL)을 포함한다. 실시 예에 있어서, 각각의 워드라인 컷에 포함된 공통 소스 라인(CSL)은 공통으로 연결된다. 비트라인에 연결된 필라(pillar)가 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WLs), 적어도 하나의 스트링 선택 라인(SSL)을 관통함으로써, 스트링이 형성된다
도 4에서는 워드라인 컷들 사이의 대상을 서브 블록으로 도시하였는데, 본 발명이 반드시 여기에 제한되지 않는다. 본 발명의 서브 블록은 워드라인 컷과 스트링 선택 라인 컷 사이의 대상을 서브 블록으로 명명할 수 있다.
본 발명의 실시 예에 따른 블록(BLKa)은 두 개의 워드라인들이 하나로 병합된 구조, 다른 말로 워드라인 병합 구조(merged wordline structure)로 구현될 수 있다
도 5의 블록(BLKb) 구조는 도 4의 블록(BLKa) 구조와 다를 수 있다.
도 5를 참조하면, 메모리 블록(BLKb)은 설명의 편의를 위하여 워드라인의 층수가 4라고 하였으나, 이에 제한되는 것은 아니다. 메모리 블록(BLKb)은 인접한 직렬 연결된 메모리 셀들의 하단들을 파이프로 연결하는 PBiCS(pipe-shaped bit cost scalable) 구조로 구현될 수 있다.
메모리 블록(BLKb)은 m×n(m, n은 자연수)의 스트링들(NS)을 포함한다. 도 5에서는 m=6, n=2를 나타내고 있다. 각 스트링(NS)은 직렬 연결된 메모리 셀들(MC1 ~ MC8)를 포함한다. 여기서 메모리 셀들(MC1 ~ MC8)의 제 1 상단은 스트링 선택 트랜지스터(SST)에 연결되고, 메모리 셀들(MC1 ~ MC8)의 제 2 상단은 접지 선택 트랜지스터(GST)에 연결되고, 메모리 셀들(MC1 ~ MC8)의 하단은 파이프 연결된다.
워드라인들(WL1~WL8)은 제1 방향(1st)으로 연장되고, 스트링들(NS)은 제2 방향으로 연장될 수 있다. 워드라인들(WL1~WL8)과 스트링들(NS)은 제3 방향(3rd)으로 서로 이격될 수 있다.
스트링(NS)을 구성하는 메모리 셀들은 복수의 반도체 층에 적층됨으로써 형성된다. 각 스트링(NS)은 제 1 필라 (PL11), 제 2 필라(PL12), 제 1 필라(PL11) 및 제 2 필라(PL12)를 연결하는 필라 연결부(PL13)를 포함한다. 제 1 필라(PL11)는 비트라인(예를 들어, BL1)과 필라 연결부(PL13)에 연결되고, 스트링 선택 라인(SSL), 워드라인들(WL5 ~ WL8) 사이를 관통함으로써 형성된다. 제 2 필라(PL12)는 공통소스라인(CSL)과 필라 연결부(PL13)에 연결되고, 접지 선택 라인(GSL), 워드라인들(WL1 ~ WL4) 사이를 관통함으로써 형성된다. 도 5에 도시된 바와 같이, 스트링(NS)은 U 자형 필라 형태로 구현된다.
이 때, 제1 필라(PL11) 및 제2 필라(PL12)는 제3 방향으로 연장되고, 필라 연결부(PL13)는 제2 방향(2nd)으로 연결될 수 있다.
본 발명의 몇몇 실시 예에 있어서, 백-게이트(BG)는 기판 위에 형성되고, 백-게이트(BC) 내부에 필라 연결부(PL13)가 구현될 수 있다. 실시 예에 있어서, 백-게이트(BG)는 블록(BLKb)에 공통적으로 존재할 수 있다. 백-게이트(BG)는 다른 블록의 백-게이트와 서로 분리된 구조일 수 있다.
다시, 도 1을 참조하면, 제1 레지스터(270)는 호스트 인터페이스(210) 및 커맨드 컨트롤러(220)와 같이 시스템 버스를 이룰 수 있다. 제1 레지스터(270)는 호스트 인터페이스(210)와 연결되어 호스트(100)가 직접 접근이 가능한 영역을 포함할 수 있다. 즉, 제1 레지스터(270)의 일부는 호스트(100)에 의해서 직접 접근이 가능할 수 있다. 본 발명의 몇몇 실시예에서, 제1 레지스터(270)는 비휘발성 메모리, SRAM(static random access memory), RAM(random access memory) 및 DRAM(dynamic random access memory) 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.
제1 레지스터(270)의 세부적인 구성에 대해서는 추후에 더 자세히 설명한다.
메모리 액세스 모니터(280)는 제1 레지스터(270)의 내부 영역을 모니터링할 수 있다. 즉, 제1 레지스터(270)는 호스트(100)에 의해서 직접 접근이 가능하므로, 메모리 액세스 모니터(280)는 호스트(100)가 제1 레지스터(270)의 어느 영역에 접근하였는지를 모니터링할 수 있다.
메모리 액세스 모니터(280)는 호스트(100)가 제1 레지스터(270)의 어느 영역에 접근하였는지에 따라서 모니터링 시그널(MS)을 생성할 수 있다. 모니터링 시그널(MS)은 호스트(100)가 제1 레지스터(270) 내의 특정 영역에 접근하였는 지에 대한 정보를 포함할 수 있다. 메모리 액세스 모니터(280)는 모니터링 시그널(MS)을 파워 컨트롤 매니저(290)에게 전송할 수 있다.
파워 컨트롤 매니저(290)는 메모리 액세스 모니터(280)로부터 모니터링 시그널(MS)을 수신할 수 있다. 파워 컨트롤 매니저(290)는 메모리 장치(200)의 각각의 모듈에 공급되는 파워를 제어할 수 있다. 즉, 파워 컨트롤 매니저(290)는 어느 모듈에 얼마큼의 파워를 공급할지를 결정하고, 이에 따라서 파워를 공급할 수 있다.
도 1 및 도 6을 참조하면, 파워 컨트롤 매니저(290)는 파워 업 그룹(G)에 파워를 공급할 수 있다. 이 때, 파워 업 그룹(G)이란 커맨드 컨트롤러(220), 프로세싱 코어(230), 휘발성 메모리(240), 메모리 컨트롤러(250) 및 비휘발성 메모리(260) 중 적어도 하나를 포함하는 그룹일 수 있다.
파워 컨트롤 매니저(290)가 파워 업 그룹(G)에 파워를 공급할 때, 전압(voltage) 및 주파수(frequency)를 조절할 수 있다. 파워 컨트롤 매니저(290)는 모니터링 시그널(MS)에 의해서 최적의 전압 및 주파수를 결정할 수 있다.
도 7을 참조하면, 본 발명의 몇몇 실시예에 따른 메모리 장치(200)의 데이터 프로세싱 흐름(data processing flow)과 파워 제어 흐름(power management flow)을 확인할 수 있다. 상기 데이터 프로세싱 흐름에 있어서, 데이터는 호스트(100)에서 호스트 인터페이스(210)로 전송되고, 프로세싱 코어(230)와, 휘발성 메모리(240)를 거쳐서 메모리 컨트롤러(250)와, 비휘발성 메모리(260)로 순차적으로 전송될 수 있다.
호스트(100)와 호스트 인터페이스(210) 사이의 데이터 전송은 제1 시간(Ta)이 소요되고, 호스트 인터페이스(210)에서 데이터를 전송받아 커맨드 컨트롤러(220)가 데이터를 처리하는 것은 제2 시간(Tb)이 소요될 수 있다. 커맨드 컨트롤러(220)에서 데이터를 전송받아 프로세싱 코어(230)가 데이터를 처리하는 것은 제3 시간(Tc)이 소요되고, 프로세싱 코어(230)에서 데이터를 전송받아 휘발성 메모리(240)가 데이터를 처리하는 것은 제4 시간(Td)이 소요될 수 있다. 이와 같이, 메모리 컨트롤러(250)까지는 다시 제5 시간(Te)이 소요되고, 비휘발성 메모리(260) 까지는 다시 제6 시간(Tf)이 소요될 수 있다.
상기 파워 제어 흐름에 있어서, 호스트(100)가 호스트 인터페이스(210)로 커맨드를 전송하면 그 세부적인 단계에 있어서 제1 레지스터(270)에 호스트(100)가 직접 접근하여 라이트(write) 동작을 수행할 수 있다. 메모리 액세스 모니터(280)는 이러한 라이트 동작을 감지하여 모니터링 시그널(MS)을 생성하여 파워 컨트롤 매니저(290)로 전송할 수 있다. 파워 컨트롤 매니저(290)는 모니터링 시그널(MS)에 따라서 커맨드 컨트롤러(220), 프로세싱 코어(230), 휘발성 메모리(240), 메모리 컨트롤러(250) 및 비휘발성 메모리(260) 중 적어도 일부를 선택하여 파워를 공급할 수 있다.
본 발명의 몇몇 실시예에 따른 메모리 장치(200)의 상기 파워 제어 흐름은 제1 경로(P1)로 진행될 수 있다. 제1 경로(P1)는 제7 시간(Ta')이 소요될 수 있다. 제7 시간(Ta')은 제1 시간(Ta)과 동일하거 미세하게 클 수 있다. 즉, 호스트(100)가 호스트 인터페이스(210)에 커맨드를 전송하는 제1 시간(Ta)은 실질적으로 제7 시간(Ta')과 동일할 수 있다. 이는 커맨드를 전송하는 방식이 제1 레지스터(270)에 라이트 동작을 하는 것으로 시작되기 때문이다.
만일, 메모리 장치(200)가 메모리 액세스 모니터(280)를 활용하는 제1 경로(P1)가 아니라 제2 경로(P2)를 이용하여 파워 컨트롤 매니저(290)에 파워 제어에 대한 시그널을 전달하는 경우에는 제7 시간(Ta')보다 더 긴 시간(Ta+Tb+Tc)가 소요될 수 있다.
즉, 호스트(100)가 호스트 인터페이스(210)에 커맨드를 전송하는 제1 시간(Ta)과, 커맨드 컨트롤러(220)가 커맨드를 처리하는 데에 소요되는 제2 시간(Tb)과, 프로세싱 코어(230)가 커맨드를 처리하는 데에 소요되는 제3 시간(Tc)을 모두 합한 시간이 제2 경로(P2)에 의한 소요 시간일 수 있다.
즉, 본 발명의 몇몇 실시예에 따른 메모리 장치(200)는 호스트(100)가 제1 레지스터(270)에 라이트 작업을 수행하는 것을 바로 모니터링하여 바로 파워 업 동작을 수행할 수 있다. 이에 따라서, 본 발명의 몇몇 실시예에 따른 메모리 장치(200)는 파워 업 동작에 걸리는 시간을 최소화할 수 있다. 즉, 본 발명의 몇몇 실시예에 따른 메모리 장치(200)는 파워 업 동작의 지연(latency)을 방지할 수 있다.
도 8을 참조하면, 제1 레지스터(270)는 공용 레지스터 영역(271)과 커맨드 컨트롤러 레지스터 영역(272)을 포함할 수 있다.
공용 레지스터 영역(271)은 호스트(100)가 호스트 인터페이스(210)와 연결된 장치 혹은 모듈을 찾기 위한 저장 공간일 수 있다. 공용 레지스터 영역(271)은 실제로 장치 혹은 모듈의 호스트(100)가 이용하기 위한 공간은 아닐 수 있다. 공용 레지스터 영역(271)은 호스트(100)가 이용하기 위한 공간의 할당을 위한 매우 작은 공간일 수 있다. 즉, 공용 레지스터 영역(271)은 호스트(100)가 사용하기 위한 공간의 주소 정보를 포함하는 복수의 베이스 어드레스 레지스터(Base address register)(271b~ 271c)를 포함할 수 있다.
공용 레지스터 영역(271)은 호스트 인터페이스(210)의 구성 정보가 라이트되는 구성 영역(271a)과 복수의 베이스 어드레스 레지스터(271b~ 271c)를 포함할 수 있다. 이 때, 구성 영역(271a)에 저장되는 구성 정보는 호스트 인터페이스(210)와 연결된 장치의 ID, 벤더의 ID, 스테이터스, 클래스 코드 등의 기본적인 정보를 포함할 수 있다.
메모리 액세스 모니터(280)는 공용 레지스터 영역(271)의 구성 영역(271a)을 모니터링하여 호스트(100)가 구성 영역(271a)에 접근한 경우 이를 감지할 수 있다. 메모리 액세스 모니터(280)는 이를 이용하여 도 1의 모니터링 시그널(MS)을 생성할 수 있다.
베이스 어드레스 레지스터(271b~ 271c)는 제1 레지스터(270) 내의 다른 영역들로 연결되는 어드레스 정보를 포함할 수 있다. 예를 들어 제1 베이스 어드레스 레지스터(271b)는 커맨드 컨트롤러 레지스터 영역(272)으로 연결되는 어드레스 정보를 포함할 수 있다. 이에 따라서, 공용 레지스터 영역(271)은 호스트(100)와 커맨드 컨트롤러 레지스터 영역(272)을 간접 연결시킬 수 있다.
커맨드 컨트롤러 레지스터 영역(272)은 관리자 커맨드 도어벨(272a)과, 입출력 커맨드 도어벨(272b)과 리셋 제어 영역(272c)을 포함할 수 있다.
관리자 커맨드 도어벨(272a)은 관리자 커맨드에 대한 도어벨일 수 있다. 도어벨이란, 호스트(100)가 커맨드 포인터를 라이트하여 메모리 장치(200)로 하여금 호스트(100)로부터 커맨드가 전송됨을 알리는 역할을 하는 레지스터를 의미할 수 있다. 따라서, 메모리 장치(200)는 실제 커맨드가 전송되기 전에 도어벨을 통해서 커맨드를 수신할 준비를 할 수 있다.
커맨드 중에 관리자 커맨드란 메모리 장치 및 모듈의 ID 조회, 온도 로그(log) 등과 같이 입출력 커맨드가 아닌 커맨드를 의미할 수 있다. 이러한 커맨드의 경우 메모리 장치(200)의 데이터의 라이트/리드 동작은 필요하지 않다.
메모리 액세스 모니터(280)는 관리자 커맨드 도어벨(272a)에 호스트(100)가 라이트를 하는지를 모니터링하여 도 1의 모니터링 시그널(MS)을 생성할 수 있다.
입출력 커맨드 도어벨(272b)은 입출력 커맨드에 대한 도어벨일 수 있다. 커맨드 중에 입출력 커맨드란 메모리 장치의 데이터의 리드 커맨드, 라이트 커맨드, 이레이즈 커맨드 등의 데이터 처리에 관련된 커맨드를 의미할 수 있다. 이러한 커맨드의 경우 메모리 장치(200)의 비휘발성 메모리(260) 등 추가적인 모듈의 사용이 불가피하다.
메모리 액세스 모니터(280)는 입출력 커맨드 도어벨(272b)에 호스트(100)가 라이트를 하는지를 모니터링하여 도 1의 모니터링 시그널(MS)을 생성할 수 있다.
리셋 제어 영역(272c)은 장치 및 모듈의 리셋에 대한 레지스터 영역일 수 있다. 즉, 리셋 제어 영역(272c)은 커맨드 컨트롤러(220)의 리셋(reset), 셧다운(shutdown) 또는 서브시스템의 리셋 등을 위한 레지스터일 수 있다. 리셋 제어 영역(272c)은 CC(controller configuration register) 및/또는 NSSR(NVM subsystem reset control)일 수 있다. 이러한 리셋 관련 커맨드의 경우 메모리 장치(200)의 비휘발성 메모리(260) 등 추가적인 모듈의 사용이 불필요하다.
메모리 액세스 모니터(280)는 리셋 제어 영역(272c)에 호스트(100)가 라이트를 하는지를 모니터링하여 도 1의 모니터링 시그널(MS)을 생성할 수 있다.
결론적으로, 메모리 액세스 모니터(280)는 제1 레지스터(270)의 공용 레지스터 영역(271) 중 구성 영역(271a)과, 커맨드 컨트롤러 레지스터 영역(272) 중 관리자 커맨드 도어벨(272a), 입출력 커맨드 도어벨(272b) 및 리셋 제어 영역(272c)을 모니터링하여 호스트(100)가 어느 영역에 라이트를 하는지를 감지할 수 있다. 메모리 액세스 모니터(280)는 이를 통해서 모니터링 시그널(MS)을 생성할 수 있다.
도 1, 도 6, 도 8 및 도 9를 참조하면, 모니터링 시그널(MS)에 따른 파워 컨트롤 매니저(290)의 파워 업 그룹(G)의 구성 방식을 설명할 수 있다.
먼저, 호스트(100)가 제1 레지스터(270)의 커맨드 컨트롤러 레지스터 영역(272) 중 관리자 커맨드 도어벨(272a)에 라이트한 경우(①), 파워 컨트롤 매니저(290)는 커맨드 컨트롤러(220), 프로세싱 코어(230) 및 휘발성 메모리(240)를 파워 업 그룹(G)으로 구성하여 파워 업시킬 수 있다. 반면에, 파워 컨트롤 매니저(290)는 메모리 컨트롤러(250) 및 비휘발성 메모리(260)를 파워 다운 상태로 둘 수 있다.
호스트(100)의 관리자 커맨드가 수신된 경우, 메모리 장치(200)는 데이터를 비휘발성 메모리(260)에 라이트하거나 리드할 필요가 없으므로, 메모리 컨트롤러(250) 및 비휘발성 메모리(260)는 굳이 파워 업될 필요가 없을 수 있다. 이에 따라서, 파워 컨트롤 매니저(290)는 메모리 컨트롤러(250) 및 비휘발성 메모리(260)에 파워를 공급하지 않아서(혹은 유휴 상태 또는 대기 상태의 낮은 파워만을 공급하여), 전체적인 파워 소모를 최소화할 수 있다.
호스트(100)가 제1 레지스터(270)의 커맨드 컨트롤러 레지스터 영역(272) 중 입출력 커맨드 도어벨(272b)에 라이트한 경우(②), 파워 컨트롤 매니저(290)는 커맨드 컨트롤러(220), 프로세싱 코어(230), 휘발성 메모리(240), 메모리 컨트롤러(250) 및 비휘발성 메모리(260)를 파워 업 그룹(G)으로 구성하여 파워 업시킬 수 있다. 즉, 파워 컨트롤 매니저(290)는 모든 모듈에 파워를 공급할 수 있다.
호스트(100)의 입출력 커맨드가 수신된 경우, 메모리 장치(200)는 데이터를 비휘발성 메모리(260)에 라이트하거나 리드해야 하므로, 메모리 컨트롤러(250) 및 비휘발성 메모리(260)의 파워 업도 당연히 필요할 수 있다. 이에 따라서, 파워 컨트롤 매니저(290)는 메모리 컨트롤러(250) 및 비휘발성 메모리(260)에 파워를 공급하여, 필요한 모든 모듈을 파워 업시킬 수 있다.
호스트(100)가 제1 레지스터(270)의 커맨드 컨트롤러 레지스터 영역(272) 중 리셋 제어 영역(272c)에 라이트한 경우(③), 파워 컨트롤 매니저(290)는 커맨드 컨트롤러(220) 및 프로세싱 코어(230)를 파워 업 그룹(G)으로 구성하여 파워 업시킬 수 있다. 반면에, 파워 컨트롤 매니저(290)는 휘발성 메모리(240), 메모리 컨트롤러(250) 및 비휘발성 메모리(260)를 파워 다운 상태로 둘 수 있다.
호스트(100)의 리셋 커맨드가 수신된 경우, 메모리 장치(200)는 데이터를 비휘발성 메모리(260)에 라이트하거나 리드할 필요가 없으므로, 메모리 컨트롤러(250) 및 비휘발성 메모리(260)는 굳이 파워 업될 필요가 없을 수 있다. 또한, 휘발성 메모리(240) 역시 리셋 동작에서는 사용되지 않으므로 굳이 파워 업될 필요가 없을 수 있다. 이에 따라서, 파워 컨트롤 매니저(290)는 휘발성 메모리(240), 메모리 컨트롤러(250) 및 비휘발성 메모리(260)에 파워를 공급하지 않아서(혹은 유휴 상태 또는 대기 상태의 낮은 파워만을 공급하여), 전체적인 파워 소모를 최소화할 수 있다.
호스트(100)가 제1 레지스터(270)의 공용 레지스터 영역(271) 중 구성 영역(271a)에 라이트한 경우(④), 파워 컨트롤 매니저(290)는 커맨드 컨트롤러(220) 및 휘발성 메모리(240)를 파워 업 그룹(G)으로 구성하여 파워 업시킬 수 있다. 반면에, 파워 컨트롤 매니저(290)는, 프로세싱 코어(230), 메모리 컨트롤러(250) 및 비휘발성 메모리(260)를 파워 다운 상태로 둘 수 있다.
호스트(100)의 구성 정보가 라이트된 경우, 메모리 장치(200)는 데이터를 비휘발성 메모리(260)에 라이트하거나 리드할 필요가 없으므로, 메모리 컨트롤러(250) 및 비휘발성 메모리(260)는 굳이 파워 업될 필요가 없을 수 있다. 또한, 프로세싱 코어(230) 역시 사용되지 않으므로 굳이 파워 업될 필요가 없을 수 있다. 이에 따라서, 파워 컨트롤 매니저(290)는 프로세싱 코어(230), 메모리 컨트롤러(250) 및 비휘발성 메모리(260)에 파워를 공급하지 않아서(혹은 유휴 상태 또는 대기 상태의 낮은 파워만을 공급하여), 전체적인 파워 소모를 최소화할 수 있다.
도 10a를 참조하면, 기존의 메모리 장치의 소모 파워는 액티브 기간(active period) 에서의 소모 파워와 유휴 기간(idle period)에서의 소모 파워의 합으로 나타낼 수 있다.
유휴 기간이 상대적으로 액티브 기간에 비해서 김에도 불구하고, 유휴 기간의 소모 파워보다는 액티브 기간의 소모 파워가 훨씬 클 수 있다.
액티브 기간에도 메모리 장치는 커맨드(CMD)가 인가될 때는 액티브 레벨(Active)의 파워를 소모하고, 커맨드(CMD)를 다 처리한 후 다음 커맨드(CMD)를 기다리는 동안에도 대기 레벨(Standby)만큼의 파워를 소모할 수 있다. 대기 레벨(Standby)은 유휴 기간 동안의 유휴 레벨(Idle)보다 클 수 있다.
따라서, 커맨드(CMD)를 처리하는 동안 액티브 레벨(Active)의 파워 소모는 어쩔 수 없지만 대기 레벨(Standby)의 파워를 줄여 전체 파워 소모를 줄일 수 있다.
도 10b를 참조하면, 대기 레벨(Standby)의 파워를 줄인 기존의 메모리 장치의 소모 파워를 도시하였다.
대기 레벨(Standby)의 파워를 줄였기 때문에 전체 파워 소모를 낮출 수는 있지만, 역효과로 파워 업 지연(Power Up Latency)이 발생할 수 있다. 이는 대기 레벨(Standby)의 파워가 낮아지면 다시 액티브 레벨(Active)의 파워도 돌아가는데 시간이 오래걸리는 현상이다. 이 때문에, 메모리 장치의 전체적인 데이터 처리 성능도 낮아질 수 있다.
도 7 및 도 10c를 참조하면, 본 발명의 몇몇 실시예에 따른 메모리 장치(200)는 커맨드(CMD)를 프로세싱 코어(230)를 통해서 파워 컨트롤 매니저(290)에 전달하지 않고, 호스트 인터페이스(210)에서 연결된 제1 레지스터(270)를 메모리 액세스 모니터(280)가 모니터링하여 파워 컨트롤 매니저(290)에게 모니터링 시그널을 전달하므로 상대적으로 더 빠른 파워 업 동작이 가능할 수 있다. 이에 따라서, 파워 업 지연도 발생없이 대기 레벨(Standby)의 파워를 낮추어 전체적인 소모 파워의 크기를 최소화할 수 있다.
이하, 도 1, 도 11 및 도 12를 참조하여, 본 발명의 몇몇 실시예에 따른 메모리 장치를 설명한다. 상술한 설명과 중복되는 부분은 간략히 하거나 생략한다.
도 11은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 내부 구조를 설명하기 위한 블록도이고, 도 12는 본 발명의 몇몇 실시예들에 따른 메모리 장치의 레지스터의 호스트가 라이트 동작을 수행한 영역별 파워 업 모듈을 예시적으로 나타낸 표이다.
도 11을 참조하면, 본 발명의 몇몇 실시예에 따른 메모리 장치(200)는 도 1의 제1 레지스터(270) 대신 제2 레지스터(274)를 포함할 수 있다.
제2 레지스터(274)는 공용 레지스터 영역(271)과 커맨드 컨트롤러 레지스터 영역(272)과, 컨트롤러 메모리 버퍼 영역(273)을 포함할 수 있다.
공용 레지스터 영역(271)의 제2 베이스 어드레스 레지스터(271c)는 컨트롤러 메모리 버퍼 영역(273)으로 연결되는 어드레스 정보를 포함할 수 있다. 이에 따라서, 공용 레지스터 영역(271)은 호스트(100)와 커맨드 컨트롤러 레지스터 영역(272) 및 컨트롤러 메모리 버퍼 영역(273)을 간접 연결시킬 수 있다.
커맨드 컨트롤러 레지스터 영역(272)에 대한 설명은 상술한 바와 동일하므로 생략한다.
컨트롤러 메모리 버퍼 영역(273)은 관리자 큐 영역(273a)과, 입출력 큐 영역(273b)과 데이터 영역(273c)을 포함할 수 있다.
관리자 큐 영역(273a)은 관리자 커맨드가 라이트되는 영역일 수 있다. 호스트(100)가 관리자 커맨드 도어벨(272a)에 커맨드 포인터를 라이트하면 커맨드 컨트롤러(220)는 상기 커맨드 포인터에 대응하는 커맨드를 호스트(100)로부터 페치하게된다. 이 때, 커맨드 컨트롤러(220)가 페치하는 시간을 절약하기 위해서, 호스트(100)가 미리 컨트롤러 메모리 버퍼 영역(273)의 관리자 큐 영역(273a)에 관리자 커맨드를 라이트할 수 있다. 즉, 관리자 큐 영역(273a)이 라이트되는 시점은 관리자 커맨드 도어벨(272a)이 라이트되는 시점보다 앞설 수 있다.
입출력 큐 영역(273b)은 입출력 커맨드가 라이트되는 영역일 수 있다. 호스트(100)가 입출력 커맨드 도어벨(272b)에 커맨드 포인터를 라이트하면 커맨드 컨트롤러(220)는 상기 커맨드 포인터에 대응하는 커맨드를 호스트(100)로부터 페치하게된다. 이 때, 커맨드 컨트롤러(220)가 페치하는 시간을 절약하기 위해서, 호스트(100)가 미리 컨트롤러 메모리 버퍼 영역(273)의 입출력 큐 영역(273b)에 입출력 커맨드를 라이트할 수 있다. 즉, 입출력 큐 영역(273b)이 라이트되는 시점은 입출력 커맨드 도어벨(272b)이 라이트되는 시점보다 앞설 수 있다.
데이터 영역(273c)은 호스트(100)에게 제공되는 제2 레지스터(274)의 남는 영역일 수 있다. 즉, 제2 레지스터(274)는 호스트(100)가 직접 접근이 가능하므로, 호스트(100)가 자유롭게 사용할 수 있는 영역을 제2 레지스터(274)가 제공할 수 있다. 데이터 영역(273c)이 바로 제2 레지스터(274)가 제공하는 호스트(100)가 자유롭게 사용할 수 있는 영역일 수 있다.
메모리 액세스 모니터(280)는 컨트롤러 메모리 버퍼 영역(273)의 관리자 큐 영역(273a), 입출력 큐 영역(273b) 및 데이터 영역(273c)을 모니터링해서 호스트가 어느 영역에 라이트를 하였는지에 따라서 도 1 의 모니터링 시그널(MS)을 생성할 수 있다.
결론적으로, 메모리 액세스 모니터(280)는 제2 레지스터(274)의 공용 레지스터 영역(271) 중 구성 영역(271a)과, 커맨드 컨트롤러 레지스터 영역(272) 중 관리자 커맨드 도어벨(272a), 입출력 커맨드 도어벨(272b) 및 리셋 제어 영역(272c)과, 컨트롤러 메모리 버퍼 영역(273) 중 관리자 큐 영역(273a), 입출력 큐 영역(273b) 및 데이터 영역(273c)을 모니터링하여 호스트(100)가 어느 영역에 라이트를 하는지를 감지할 수 있다. 메모리 액세스 모니터(280)는 이를 통해서 모니터링 시그널(MS)을 생성할 수 있다.
도 11 및 도 12를 참조하면, ①, ②, ③ 및 ⑦의 경우는 각각 도 9의 ①, ②, ③ 및 ④의 경우와 동일하므로 생략하고, ④, ⑤, ⑥의 경우에 대해서 설명한다.
호스트(100)가 제2 레지스터(274)의 컨트롤러 메모리 버퍼 영역(273) 중 관리자 큐 영역(273a)에 라이트한 경우(④), 파워 컨트롤 매니저(290)는 커맨드 컨트롤러(220), 프로세싱 코어(230) 및 휘발성 메모리(240)를 파워 업 그룹(G)으로 구성하여 파워 업시킬 수 있다. 반면에, 파워 컨트롤 매니저(290)는 메모리 컨트롤러(250) 및 비휘발성 메모리(260)를 파워 다운 상태로 둘 수 있다.
호스트(100)의 관리자 커맨드가 수신된 경우, 메모리 장치(200)는 데이터를 비휘발성 메모리(260)에 라이트하거나 리드할 필요가 없으므로, 메모리 컨트롤러(250) 및 비휘발성 메모리(260)는 굳이 파워 업될 필요가 없을 수 있다. 이에 따라서, 파워 컨트롤 매니저(290)는 메모리 컨트롤러(250) 및 비휘발성 메모리(260)에 파워를 공급하지 않아서(혹은 유휴 상태 또는 대기 상태의 낮은 파워만을 공급하여), 전체적인 파워 소모를 최소화할 수 있다.
호스트(100)가 제2 레지스터(274)의 컨트롤러 메모리 버퍼 영역(273) 중 입출력 큐 영역(273b)에 라이트한 경우(⑤), 파워 컨트롤 매니저(290)는 커맨드 컨트롤러(220), 프로세싱 코어(230), 휘발성 메모리(240), 메모리 컨트롤러(250) 및 비휘발성 메모리(260)를 파워 업 그룹(G)으로 구성하여 파워 업시킬 수 있다. 즉, 파워 컨트롤 매니저(290)는 모든 모듈에 파워를 공급할 수 있다.
호스트(100)의 입출력 커맨드가 수신된 경우, 메모리 장치(200)는 데이터를 비휘발성 메모리(260)에 라이트하거나 리드해야 하므로, 메모리 컨트롤러(250) 및 비휘발성 메모리(260)의 파워 업도 당연히 필요할 수 있다. 이에 따라서, 파워 컨트롤 매니저(290)는 메모리 컨트롤러(250) 및 비휘발성 메모리(260)에 파워를 공급하여, 필요한 모든 모듈을 파워 업시킬 수 있다.
호스트(100)가 제2 레지스터(274)의 컨트롤러 메모리 버퍼 영역(273) 중 데이터 영역(273c)에 라이트한 경우(⑥), 파워 컨트롤 매니저(290)는 커맨드 컨트롤러(220) 및 휘발성 메모리(240)를 파워 업 그룹(G)으로 구성하여 파워 업시킬 수 있다. 반면에, 파워 컨트롤 매니저(290)는, 프로세싱 코어(230), 메모리 컨트롤러(250) 및 비휘발성 메모리(260)를 파워 다운 상태로 둘 수 있다.
호스트(100)가 데이터 영역(273c)을 라이트하는 경우, 이는 호스트(100)가 활용하기 위함이고, 메모리 장치(200)에 커맨드를 전송하는 것이 아니므로 데이터를 비휘발성 메모리(260)에 라이트하거나 리드할 필요가 없으므로, 메모리 컨트롤러(250) 및 비휘발성 메모리(260)는 굳이 파워 업될 필요가 없을 수 있다. 또한, 프로세싱 코어(230) 역시 사용되지 않으므로 굳이 파워 업될 필요가 없을 수 있다. 이에 따라서, 파워 컨트롤 매니저(290)는 프로세싱 코어(230), 메모리 컨트롤러(250) 및 비휘발성 메모리(260)에 파워를 공급하지 않아서(혹은 유휴 상태 또는 대기 상태의 낮은 파워만을 공급하여), 전체적인 파워 소모를 최소화할 수 있다.
본 실시예에 따른 메모리 장치(200)는 제2 레지스터(274)가 컨트롤러 메모리 버퍼 영역(273)을 포함하고, 이를 메모리 액세스 모니터(280)가 모니터링함에 따라서, 도어벨 라이트 이전에라도 파워 업 동작이 일어날 수 있어 파워 업 동작의 속도를 더 빠르게 가져갈 수 있다. 이에 따라서, 파워 업 지연의 발생을 방지할 수 있다.
이하, 도 1, 도 6 및 도 8 및 도 13을 참조하여, 본 발명의 몇몇 실시예에 따른 메모리 장치의 파워 제어 방법을 설명한다. 상술한 설명과 중복되는 부분은 간략히 하거나 생략한다.
도 13은 본 발명의 몇몇 실시예들에 따른 메모리 장치의 파워 제어 방법을 설명하기 위한 순서도이다.
도 13을 참조하면, 먼저, 레지스터의 어느 영역에 호스트가 접근하였는지에 따라 모니터링 시그널을 생성한다(S100).
구체적으로 도 1을 참조하면, 메모리 액세스 모니터(280)는 제1 레지스터(270)의 내부 영역을 모니터링할 수 있다. 즉, 제1 레지스터(270)는 호스트(100)에 의해서 직접 접근이 가능하므로, 메모리 액세스 모니터(280)는 호스트(100)가 제1 레지스터(270)의 어느 영역에 접근하였는지를 모니터링할 수 있다.
메모리 액세스 모니터(280)는 호스트(100)가 제1 레지스터(270)의 어느 영역에 접근하였는지에 따라서 모니터링 시그널(MS)을 생성할 수 있다. 모니터링 시그널(MS)은 호스트(100)가 제1 레지스터(270) 내의 특정 영역에 접근하였는 지에 대한 정보를 포함할 수 있다. 메모리 액세스 모니터(280)는 모니터링 시그널(MS)을 파워 컨트롤 매니저(290)에게 전송할 수 있다.
다시, 도 13을 참조하면, 모니터링 시그널에 따라 파워 업 그룹을 구성한다(S200).
구체적으로 도 1 및 도 6을 참조하면, 파워 업 그룹(G)이란 커맨드 컨트롤러(220), 프로세싱 코어(230), 휘발성 메모리(240), 메모리 컨트롤러(250) 및 비휘발성 메모리(260) 중 적어도 하나를 포함하는 그룹일 수 있다. 즉, 파워 업 그룹(G)이란 파워 컨트롤 매니저(290)가 파워를 선택적으로 공급하기 위한 그룹일 수 있다.
다시, 도 13을 참조하면, 파워 업 그룹에게 선택적으로 파워를 공급한다(S300).
구체적으로 도 1 및 도 6을 참조하면, 파워 컨트롤 매니저(290)가 파워 업 그룹(G)에 파워를 공급할 때, 전압(voltage) 및 주파수(frequency)를 조절할 수 있다. 파워 컨트롤 매니저(290)는 모니터링 시그널(MS)에 의해서 최적의 전압 및 주파수를 결정할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 호스트
200: 메모리 장치
210: 호스트 인터페이스
220: 커맨드 컨트롤러
230: 프로세싱 코어
240: 휘발성 메모리
250: 메모리 컨트롤러
260: 비휘발성 메모리
270, 274: 레지스터
280: 메모리 액세스 모니터
290: 파워 컨트롤 매니저
200: 메모리 장치
210: 호스트 인터페이스
220: 커맨드 컨트롤러
230: 프로세싱 코어
240: 휘발성 메모리
250: 메모리 컨트롤러
260: 비휘발성 메모리
270, 274: 레지스터
280: 메모리 액세스 모니터
290: 파워 컨트롤 매니저
Claims (20)
- 모듈들;
호스트로부터 커맨드를 수신하고, 상기 호스트의 접근을 제어하는 호스트 인터페이스;
상기 호스트에 의해서 접근 가능하고, 복수의 영역을 포함하는 레지스터;
상기 레지스터의 상기 복수의 영역 중 상기 호스트가 접근한 영역을 모니터링하고, 상기 레지스터의 상기 복수의 영역 중 상기 호스트가 접근한 영역을 나타내는 모니터링 시그널을 생성하는 메모리 액세스 모니터; 및
상기 모니터링 시그널에 따라 상기 모듈들의 파워 업 그룹을 구성하고, 상기 모듈들의 상기 구성된 파워 업 그룹에 파워를 공급하고 상기 구성된 파워 업 그룹에 속하지 않은 상기 모듈들에 파워를 공급하지 않는 파워 컨트롤 매니저를 포함하는 메모리 장치. - 제1 항에 있어서,
상기 커맨드를 페치(fetch)하고, 상기 페치된 커맨드를 디코딩하는 커맨드 컨트롤러를 더 포함하는 메모리 장치. - 제2 항에 있어서,
상기 복수의 영역은, 상기 커맨드에 대응하는 커맨드 포인터를 수신하여 상기 커맨드 컨트롤러에 상기 커맨드의 존재를 알리는 커맨드 컨트롤러 레지스터 영역을 포함하는 메모리 장치. - 제3 항에 있어서,
상기 커맨드 컨트롤러 레지스터 영역은,
관리자 커맨드에 대한 커맨드 포인터가 라이트되는 관리자 커맨드 도어벨과,
입출력 커맨드에 대한 커맨드 포인터가 라이트되는 입출력 커맨드 도어벨과,
리셋 커맨드에 대한 커맨드가 라이트 되는 리셋 제어 영역을 포함하는 메모리 장치. - 제4 항에 있어서,
상기 레지스터의 상기 복수의 영역은, 상기 관리자 커맨드 및 상기 입출력 커맨드를 저장하고, 상기 커맨드 컨트롤러에 상기 관리자 커맨드 및 상기 입출력 커맨드를 제공하는 컨트롤러 메모리 버퍼 영역을 더 포함하는 메모리 장치. - 제5 항에 있어서,
상기 컨트롤러 메모리 버퍼 영역은,
상기 관리자 커맨드가 라이트되는 관리자 큐 영역과,
상기 입출력 커맨드가 라이트되는 입출력 큐 영역과,
상기 호스트에 제공되는 데이터 영역을 포함하는 메모리 장치. - 제6 항에 있어서,
상기 컨트롤러 메모리 버퍼 영역의 라이트 시점은 상기 커맨드 컨트롤러 레지스터 영역의 라이트 시점보다 앞서는 메모리 장치. - 제5 항에 있어서,
상기 복수의 영역은, 상기 호스트가 직접 접근하고, 상기 호스트를 상기 커맨드 컨트롤러 레지스터 영역 및 상기 컨트롤러 메모리 버퍼 영역과 간접적으로 접근시키는 공용 레지스터 영역을 더 포함하는 메모리 장치. - 제1 항에 있어서,
상기 파워 컨트롤 매니저는 상기 모니터링 시그널에 따라서 상기 파워 업 그룹에 공급하는 상기 파워의 레벨을 조절하는 메모리 장치. - 제1 항에 있어서,
상기 모듈들은,
상기 커맨드를 실행하는 프로세싱 코어와,
상기 프로세싱 코어가 참조하는 휘발성 메모리와,
데이터가 저장되는 비휘발성 메모리와,
상기 비휘발성 메모리를 제어하는 비휘발성 메모리 컨트롤러를 더 포함하는 메모리 장치. - 제10 항에 있어서,
상기 커맨드를 페치(fetch)하고, 상기 커맨드를 디코딩하는 커맨드 컨트롤러를 더 포함하고,
상기 파워 업 그룹은 상기 커맨드 컨트롤러, 상기 프로세싱 코어, 상기 휘발성 메모리, 상기 비휘발성 메모리 및 상기 비휘발성 메모리 컨트롤러 중 적어도 하나를 포함하는 메모리 장치. - 호스트로부터 커맨드를 수신하고, 상기 호스트의 접근을 제어하는 호스트 인터페이스;
상기 호스트에 의해서 접근 가능하고, 서로 다른 복수의 영역을 포함하는 레지스터;
상기 커맨드를 디코딩하는 커맨드 컨트롤러;
상기 디코딩된 커맨드를 실행하는 프로세싱 코어;
상기 호스트의 상기 레지스터에 대한 라이트 동작을 모니터링하여 상기 라이트 동작이 수행된 상기 레지스터의 영역을 나타내는 모니터링 시그널을 생성하는 메모리 액세스 모니터; 및
상기 모니터링 시그널에 따라 모듈들의 파워 업 그룹을 구성하고, 상기 모듈들의 상기 구성된 파워 업 그룹에 파워를 공급하고 상기 구성된 파워 업 그룹에 속하지 않는 상기 모듈들에 파워를 공급하지 않는 파워 컨트롤 매니저를 포함하는 메모리 장치. - 제12 항에 있어서,
상기 파워 컨트롤 매니저는 상기 파워 업 그룹에 공급되는 상기 파워의 레벨을 상기 모니터링 시그널에 따라 조절하는 메모리 장치. - 제13 항에 있어서,
상기 파워의 레벨은 주파수를 변경하여 조절하는 메모리 장치. - 제12 항에 있어서,
상기 모니터링 시그널은 상기 호스트의 라이트 동작이 상기 서로 다른 복수의 영역 중 어느 영역에 수행되었는지를 나타내는 신호를 포함하는 메모리 장치. - 호스트로부터 커맨드 포인터를 수신하고 상기 호스트가 접근 가능한 복수의 영역을 포함하는 레지스터에 상기 커맨드 포인터를 라이트하는 단계;
상기 커맨드 포인터가 라이트된 상기 레지스터의 영역을 모니터링하여 상기 커맨드 포인터가 라이트된 상기 레지스터의 영역을 나타내는 모니터링 시그널을 생성하는 단계;
상기 모니터링 시그널에 따라 모듈들의 파워 업 그룹을 구성하는 단계; 및
상기 모듈들의 상기 구성된 파워 업 그룹에게 파워를 공급하고, 상기 구성된 파워 업 그룹에 속하지 않는 상기 모듈들에 파워를 공급하지 않는 단계를 포함하는 메모리 장치의 파워 제어 방법. - 제16 항에 있어서,
상기 레지스터는,
상기 커맨드 포인터를 수신하여 상기 커맨드의 존재를 알리는 커맨드 컨트롤러 레지스터 영역과,
커맨드 컨트롤러에 상기 커맨드를 저장하고 제공하는 컨트롤러 메모리 버퍼 영역과,
상기 호스트가 직접 접근하고, 상기 호스트를 상기 커맨드 컨트롤러 레지스터 영역 및 상기 컨트롤러 메모리 버퍼 영역과 간접적으로 접근시키는 공용 레지스터 영역을 포함하는 메모리 장치의 파워 제어 방법. - 제17 항에 있어서,
상기 커맨드 컨트롤러 레지스터 영역은,
관리자 커맨드에 대한 상기 커맨드 포인터가 라이트되는 관리자 커맨드 도어벨과,
입출력 커맨드에 대한 상기 커맨드 포인터가 라이트되는 입출력 커맨드 도어벨과,
리셋 커맨드가 라이트 되는 리셋 제어 영역을 포함하는 메모리 장치의 파워 제어 방법. - 제18 항에 있어서,
상기 컨트롤러 메모리 버퍼 영역은,
상기 관리자 커맨드가 라이트되는 관리자 큐 영역과,
상기 입출력 커맨드가 라이트되는 입출력 큐 영역과,
상기 호스트에 제공되는 데이터 영역을 포함하는 메모리 장치의 파워 제어 방법. - 제19 항에 있어서,
상기 파워 업 그룹을 구성하는 단계는,
상기 관리자 커맨드 도어벨, 상기 입출력 커맨드 도어벨, 상기 리셋 제어 영역, 상기 관리자 큐 영역, 상기 입출력 큐 영역, 상기 데이터 영역 및 상기 공용 레지스터 영역 중 상기 호스트가 라이트하는 영역에 따라서 다르게 구성하는 단계를 포함하는 메모리 장치의 파워 제어 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170149423A KR102589410B1 (ko) | 2017-11-10 | 2017-11-10 | 메모리 장치 및 그의 파워 제어 방법 |
US15/984,444 US10866748B2 (en) | 2017-11-10 | 2018-05-21 | Memory device and method of controlling power of the same |
CN201811316049.2A CN109765984B (zh) | 2017-11-10 | 2018-11-06 | 存储器设备及其控制电力的方法 |
US17/094,059 US11733882B2 (en) | 2017-11-10 | 2020-11-10 | Memory device and method of controlling power of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170149423A KR102589410B1 (ko) | 2017-11-10 | 2017-11-10 | 메모리 장치 및 그의 파워 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190053486A KR20190053486A (ko) | 2019-05-20 |
KR102589410B1 true KR102589410B1 (ko) | 2023-10-13 |
Family
ID=66431347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170149423A KR102589410B1 (ko) | 2017-11-10 | 2017-11-10 | 메모리 장치 및 그의 파워 제어 방법 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10866748B2 (ko) |
KR (1) | KR102589410B1 (ko) |
CN (1) | CN109765984B (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9823864B2 (en) * | 2014-06-02 | 2017-11-21 | Micron Technology, Inc. | Systems and methods for throttling packet transmission in a scalable memory system protocol |
US11150842B1 (en) * | 2020-04-20 | 2021-10-19 | Western Digital Technologies, Inc. | Dynamic memory controller and method for use therewith |
US11281399B2 (en) | 2020-06-24 | 2022-03-22 | Western Digital Technologies, Inc. | Dual-interface storage system and method for use therewith |
US11600355B2 (en) | 2020-07-28 | 2023-03-07 | Micron Technology, Inc. | Monitoring and adjusting access operations at a memory device |
KR20220064230A (ko) | 2020-11-11 | 2022-05-18 | 삼성전자주식회사 | 다중 프로토콜에 기초하여 메모리에 액세스하기 위한 시스템, 장치 및 방법 |
US11442665B2 (en) | 2020-12-04 | 2022-09-13 | Western Digital Technologies, Inc. | Storage system and method for dynamic selection of a host interface |
KR20230097169A (ko) * | 2021-06-01 | 2023-06-30 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 메모리 시스템의 전력 관리 |
US20230148253A1 (en) * | 2021-11-08 | 2023-05-11 | Ambiq Micro, Inc. | Flexible and low power cache memory architecture |
US20240061615A1 (en) * | 2022-08-22 | 2024-02-22 | Micron Technology, Inc. | Command scheduling for a memory system |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7752470B2 (en) * | 2003-12-03 | 2010-07-06 | International Business Machines Corporation | Method and system for power management including device controller-based device use evaluation and power-state control |
US8244958B2 (en) | 2005-05-09 | 2012-08-14 | Sandisk Il Ltd. | Method and system for facilitating fast wake-up of a flash memory system |
US8024508B2 (en) * | 2006-03-21 | 2011-09-20 | Lg Electronics Inc. | Computer storage control |
JP2009140357A (ja) | 2007-12-07 | 2009-06-25 | Hitachi Ltd | 使用電力抑制機能を有するストレージ装置及びストレージ装置における使用電力抑制方法 |
US7957177B2 (en) * | 2008-06-05 | 2011-06-07 | Altera Corporation | Static random-access memory with boosted voltages |
WO2010137180A1 (en) | 2009-05-25 | 2010-12-02 | Hitachi,Ltd. | Storage system and its power control method |
JP5549432B2 (ja) * | 2010-07-02 | 2014-07-16 | 富士通株式会社 | ストレージ装置及びアクセス制御プログラム |
US8553469B2 (en) * | 2011-04-06 | 2013-10-08 | Dell Products L.P. | Memory buffer for buffer-on-board applications |
US9077208B2 (en) * | 2011-12-30 | 2015-07-07 | Schneider Electric USA, Inc. | Method of detecting instability in islanded electrical systems |
JP6000708B2 (ja) * | 2012-07-20 | 2016-10-05 | キヤノン株式会社 | メモリ制御装置および方法 |
TWI492051B (zh) | 2012-09-05 | 2015-07-11 | Silicon Motion Inc | 資料儲存裝置與快閃記憶體控制方法 |
US9195293B1 (en) | 2013-05-03 | 2015-11-24 | Western Digital Technologies, Inc. | User controlled data storage device power and performance settings |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9582356B1 (en) * | 2013-11-01 | 2017-02-28 | Marvell International Ltd. | System and method for DDR memory timing acquisition and tracking |
WO2016051958A1 (ja) | 2014-09-30 | 2016-04-07 | 日本電気株式会社 | 電力管理装置、電力管理方法、電力管理システム、及び、プログラム |
US10031685B2 (en) | 2015-05-14 | 2018-07-24 | Quanta Computer Inc. | Power management of storage subsystem |
US10198061B2 (en) | 2015-09-01 | 2019-02-05 | Toshiba Memory Corporation | Storage and storage system |
US9965206B2 (en) | 2015-10-23 | 2018-05-08 | Western Digital Technologies, Inc. | Enhanced queue management for power control of data storage device |
US9921637B2 (en) | 2015-10-26 | 2018-03-20 | Nxp Usa, Inc. | Multi-port power prediction for power management of data storage devices |
US9727267B1 (en) | 2016-09-27 | 2017-08-08 | Intel Corporation | Power management and monitoring for storage devices |
CN106656654B (zh) * | 2016-10-28 | 2019-07-19 | 锐捷网络股份有限公司 | 一种网络故障诊断方法及故障诊断装置 |
US11029859B2 (en) * | 2017-08-23 | 2021-06-08 | Toshiba Memory Corporation | Credit based command scheduling |
-
2017
- 2017-11-10 KR KR1020170149423A patent/KR102589410B1/ko active IP Right Grant
-
2018
- 2018-05-21 US US15/984,444 patent/US10866748B2/en active Active
- 2018-11-06 CN CN201811316049.2A patent/CN109765984B/zh active Active
-
2020
- 2020-11-10 US US17/094,059 patent/US11733882B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN109765984A (zh) | 2019-05-17 |
US10866748B2 (en) | 2020-12-15 |
US20190146695A1 (en) | 2019-05-16 |
US20210055871A1 (en) | 2021-02-25 |
KR20190053486A (ko) | 2019-05-20 |
CN109765984B (zh) | 2024-03-08 |
US11733882B2 (en) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102589410B1 (ko) | 메모리 장치 및 그의 파워 제어 방법 | |
US10853158B2 (en) | Storage device and event notification method for storage device | |
US10942800B2 (en) | Storage device, computing system and debugging method thereof | |
US11714578B2 (en) | Method of operating storage device, storage device performing the same and method of operating storage system using the same | |
KR101300657B1 (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
US20160357665A1 (en) | Nonvolatile memory module and operation method thereof | |
EP3441885B1 (en) | Technologies for caching persistent two-level memory data | |
KR20170016548A (ko) | 백업 기능을 갖는 메모리 모듈 | |
KR20170036964A (ko) | 불휘발성 메모리 시스템의 동작 방법 | |
CN110083545A (zh) | 数据存储装置及其操作方法 | |
US8364889B2 (en) | Dynamic row-width memory | |
KR102244921B1 (ko) | 저장 장치 및 그 리프레쉬 방법 | |
US20150220275A1 (en) | Method for operating nonvolatile storage device and method for operating computing device accessing nonvolatile storage device | |
KR102592796B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11204797B2 (en) | Computing systems and methods of operating computing systems | |
KR20190083148A (ko) | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 | |
KR20190011123A (ko) | 스토리지 장치, 스토리지 시스템 및 이의 동작 방법 | |
CN110413222A (zh) | 数据存储装置及其操作方法 | |
KR20170047999A (ko) | 레지스터 세트들을 포함하는 반도체 장치와 이를 포함하는 데이터 저장 장치 | |
KR20180113230A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR102643067B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20130173852A1 (en) | Memory system | |
US20230153245A1 (en) | Method of operating disaggregated memory system for context-aware prefetch and disaggregated memory system preforming the same | |
US20240311020A1 (en) | Memory controller, storage device including memory controller, and operating method of memory controller | |
KR102549346B1 (ko) | 솔리드 스테이트 드라이브 및 그의 메타 데이터 액세스 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |