KR20190094570A - 메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법 - Google Patents

메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법 Download PDF

Info

Publication number
KR20190094570A
KR20190094570A KR1020180013857A KR20180013857A KR20190094570A KR 20190094570 A KR20190094570 A KR 20190094570A KR 1020180013857 A KR1020180013857 A KR 1020180013857A KR 20180013857 A KR20180013857 A KR 20180013857A KR 20190094570 A KR20190094570 A KR 20190094570A
Authority
KR
South Korea
Prior art keywords
memory device
access
power
control value
down mode
Prior art date
Application number
KR1020180013857A
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 삼성전자주식회사
Priority to KR1020180013857A priority Critical patent/KR20190094570A/ko
Priority to US16/194,512 priority patent/US20190243439A1/en
Publication of KR20190094570A publication Critical patent/KR20190094570A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)

Abstract

시스템은, 메모리 장치에 대한 액세스를 제어하는 메모리 콘트롤러, 시스템의 동작 상태를 나타내는 모니토링 신호를 제공하는 적어도 하나의 상태 모니터, 상기 모니토링 신호에 기초하여 동적으로 파워 제어 값을 변경하고, 상기 파워 제어 값에 기초하여 상기 메모리 장치에 대한 액세스가 수행되는 액세스 모드 및 상기 액세스가 수행되지 않는 파워 다운 모드 사이의 전환을 제어하는 동적 파워 콘트롤러, 상기 메모리 장치에 대한 액세스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 장치들 및 각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고 상기 리퀘스트들의 중재 동작을 수행하는 상호접속 장치를 포함한다. 시스템의 동작 상태에 따라서 액세스 모드 및 파워 다운 모드 사이의 전환을 동적으로 제어함으로써 시스템의 성능을 저하시키지 않으면서 메모리 장치에 의한 전력 소모를 절감할 수 있다.

Description

메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법{System of dynamically controlling power down mode of memory device and method of controlling the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법에 관한 것이다.
시스템 온 칩(SOC: system on chip)은 여러 가지 반도체 부품들이 하나로 집적되는 하나의 칩 또는 그 칩에 집적된 시스템을 말한다. 컴퓨터, 통신, 방송 등이 점차 통합(Convergence)됨에 따라서 기존의 주문형 반도체(ASIC: application specific integrated circuit)와 특정용도 표준제품(ASSP: application specific standard product)의 수요가 점차 시스템 온 칩으로 전환되어 가고 있는 추세이다. 또한 전자 기기의 경박단소화 및 고기능화 추세도 시스템 온 칩 산업을 촉진시키는 요인이 되고 있다.
시스템 온 칩의 집적도 향상에 따라서 더 많은 부품들이 하나의 칩에 집적되고 시스템 온 칩의 동작 속도도 점진적으로 증가하고 있다. 특히 칩 내에 내재되어 있는 여러 지능 소자(IP: intellectual property)들의 성능 및 소모 전력을 효율적으로 제어하는 방안이 매우 중요한 사항으로 대두되고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 메모리 장치에 대한 액세스를 수행하는 액세스 모드 및 상기 액세스를 수행하지 않는 파워 다운 모드 사이의 전환을 동적으로 제어하는 시스템 및 시스템의 제어 방법을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 시스템은, 메모리 장치에 대한 액세스를 제어하는 메모리 콘트롤러, 시스템의 동작 상태를 나타내는 모니토링 신호를 제공하는 적어도 하나의 상태 모니터, 상기 모니토링 신호에 기초하여 동적으로 파워 제어 값을 변경하고, 상기 파워 제어 값에 기초하여 상기 메모리 장치에 대한 액세스가 수행되는 액세스 모드 및 상기 액세스가 수행되지 않는 파워 다운 모드 사이의 전환을 제어하는 동적 파워 콘트롤러, 상기 메모리 장치에 대한 액세스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 장치들 및 각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고 상기 리퀘스트들의 중재 동작을 수행하는 상호접속 장치를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 메모리 시스템은, 메모리 장치, 상기 메모리 장치에 대한 액세스를 제어하는 메모리 콘트롤러 및 메모리 시스템의 동작 상태를 나타내는 모니토링 신호에 기초하여 동적으로 파워 제어 값을 변경하고, 상기 파워 제어 값에 기초하여 상기 메모리 장치에 대한 액세스가 수행되는 액세스 모드 및 상기 액세스가 수행되지 않는 파워 다운 모드 사이의 전환을 제어하는 동적 파워 콘트롤러를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 시스템의 제어 방법은, 시스템의 동작 상태를 나타내는 모니토링 신호를 제공하는 단계, 상기 모니토링 신호에 기초하여 동적으로 파워 제어 값을 변경하는 단계 및 상기 파워 제어 값에 기초하여 상기 메모리 장치에 대한 액세스가 수행되는 액세스 모드 및 상기 액세스가 수행되지 않는 파워 다운 모드 사이의 전환을 제어하는 단계를 포함한다.
본 발명의 실시예들에 따른 시스템 및 시스템의 제어 방법은 시스템의 동작 상태에 따라서 액세스 모드 및 파워 다운 모드 사이의 전환을 동적으로 제어함으로써 시스템의 성능을 저하시키지 않으면서 메모리 장치에 의한 전력 소모를 절감할 수 있다.
도 1은 도 1은 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 시스템의 제어 방법을 나타내는 순서도이다.
도 3은 본 발명의 실시예들에 따른 시스템에 포함되는 동적 파워 콘트롤러의 일 실시예를 나타내는 블록도이다.
도 4는 본 발명의 실시예들에 따른 시스템의 모드 전환을 나타내는 타이밍도이다.
도 5는 본 발명의 실시예들에 따른 시스템에 포함되는 메모리 장치의 일 실시예를 나타내는 도면이다.
도 6은 도 5의 메모리 장치의 전원 공급 계통의 일 실시예를 나타내는 블록도이다.
도 7 및 8은 본 발명의 실시예들에 따른 마스터 장치들의 종류 및 동작 상태에 기초한 파워 제어 값의 설정 방법을 설명하기 위한 도면들이다.
도 9는 본 발명의 실시예들에 따른 메모리 장치에 액세스되는 전체 대역폭에 기초한 파워 제어 값의 설정 방법을 설명하기 위한 도면들이다.
도 10은 본 발명의 일 실시예에 따른 대역폭 검출을 위한 버퍼 모델을 나타내는 도면이다.
도 11은 도 10의 버퍼 모델을 이용하는 상태 모니터의 일 실시예를 나타내는 블록도이다.
도 12는 본 발명의 일 실시예에 따른 레이턴시 검출을 위한 축적기 모델을 나타내는 도면이다.
도 13은 도 12의 축적기 모델을 이용하는 상태 모니터의 일 예를 나타내는 블록도이다.
도 14는 도 13의 상태 모니터에 포함되는 레이턴시 검출기의 일 예를 나타내는 블록도이다.
도 15는 본 발명의 실시예들에 따른 시스템에 의해 수행되는 트랜잭션의 일 예 및 도 14의 레이턴시 검출기에 의해 검출되는 현재 레이턴시를 설명하기 위한 파형도이다.
도 16a, 16b 및 16c는 본 발명의 실시예들에 따른 파워 제어 값의 변경 방법들을 나타내는 도면들이다.
도 17은 본 발명의 실시예들에 따른 시스템 온 칩을 전자 기기에 응용한 예를 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 도 1은 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다. 이하, 언급되는 시스템은 여러 가지 반도체 부품들이 하나의 칩에 집적된 시스템 온 칩(SOC, system on chip) 또는 애플리케이션 프로세서(AP, application processor)를 포함할 수 있다.
도 1을 참조하면, 시스템(1000)은 슬레이브(slave) 지능 소자(IP, intellectual property)들(SLV1, SLV2)(301, 302), 마스터(master) 지능 소자들(MST1, MST2, MST3)(101, 102, 103), 메모리 장치(MEM)(400), 상태 모니터(state monitor)들(MON1, MON2, MON3, MON4)(501, 502, 503, 504), 동적 파워 콘트롤러(DPC, dynamic power controller)(700) 및 상호접속 장치(interconnect device)(10)를 포함한다. 실시예에 따라서, 시스템(1000)이 하나의 칩으로 구현되는 시스템 온 칩인 경우에는 메모리 장치(400)는 시스템(1000)의 외부에 배치될 수 있다.
복수의 마스터 지능 소자들(101, 102, 103)(또는 마스터 장치들)은 적어도 하나의 슬레이브 지능 소자(301, 302)(또는 슬레이브 장치)에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생한다. 적어도 하나의 지능 소자(301, 302)는 복수의 마스터 지능 소자들(101, 102, 103)의 공유 자원(common resource)로서 이용될 수 있다.
일 실시예에서, 하나의 마스터 지능 소자(101)는 씨피유(CPU, central processing unit) 또는 메인 프로세서일 수 있다. 씨피유(101)는 DVFS(Dynamic Voltage & Frequency Scaling) 모듈(200)을 이용하여 DVFS 방식으로 전자 장치(1000)의 전력을 관리할 수 있다.
DVFS 방식은 시스템(1000)의 동작 상태에 따라서 전압 및/또는 주파수를 동적으로 변화시키는 방식을 말한다. 일 실시예에서, DVFS 모듈(200)은 씨피유(101)에 의해 실행되는 소프트웨어를 포함할 수도 있다. 다른 실시예에서, DVFS 모듈(200)은 하드웨어 및/또는 펌웨어로 구현될 수도 있다.
DVFS 모듈(200)은 시스템(1000)의 동작 상태에 따라서 복수의 파워 레벨들 중에서 현재의 동작 상태에 상응하는 동작 파워 레벨을 결정할 수 있다. 상기 파워 레벨은 동작 전압과 동작 주파수 중 적어도 하나로서 표현될 수 있다. 즉 동작 전압과 동작 주파수 중 적어도 하나를 변경함으로써 파워 레벨을 변경할 수 있다. 동작 전압은 전원 전압일 수 있고 동작 주파수는 동작 클록 신호의 주파수일 수 있다.
DVFS 모듈(200)은 마스터 지능 소자들(101, 102, 103)의 작업부하(workload), 시스템(1000)의 동작 온도 등을 모니토링하여 현재의 동작 상태에 상응하는 동작 파워 레벨을 결정할 수 있다. 예를 들어, 씨피유(101)의 작업부하가 증가하면, DVFS 모듈(200)은 씨피유(101)의 동작 전압 및/또는 동작 주파수가 증가하도록 동작 파워 레벨을 상승시킬 수 있다. 반면에 씨피유(101)의 작업 부하가 감소하면, DVFS 모듈(200)은 씨피유(101)의 동작 전압 및/또는 동작 주파수가 감소하도록 동작 파워 레벨을 하강시킬 수 있다.
한편, DVFS 모듈(200)은 시스템(1000)의 온도가 적정 동작 온도 범위를 초과하여 온도 상승으로 인한 정상 동작이 문제가 될 경우 시스템(1000)의 동작 전압 및 또는 동작 주파수가 감소하도록 동작 파워 레벨을 하강시킬 수 있다.
상호접속 장치(10)는 각각의 채널들을 통하여 슬레이브 지능 소자(301, 302) 및 마스터 지능 소자들(101, 102, 103)에 연결된다. 하나의 지능 소자와 상호접속 장치(10) 사이에는 하나의 채널이 구현될 수도 있고, 복수의 채널들이 구현될 수도 있다. 예를 들어, 하나의 슬레이브 지능 소자(301)는 메모리 장치(400)에 대한 액세스를 제어하는 메모리 콘트롤러이고, 메모리 콘트롤러(3010와 상호접속 장치(10) 사이에는 리드 채널과 라이트 채널이 각각 구현될 수 있다. 상호접속 장치(10)는 마스터 지능 소자들(101, 102, 103)로부터의 리퀘스트들의 중재 동작을 수행한다. 상호접속 장치(10)는 상기 중재 동작을 위하여 적어도 하나의 중재기(arbiter)를 포함할 수 있다.
복수의 상태 모니터들(501, 502, 503, 504)은 시스템(1000)의 시스템의 동작 상태를 모니토링하여 모니토링 신호들(SM1, SM2, SM3, SM4)을 각각 제공한다. 상태 모니터들(501, 502, 503, 504)은 각각 상응하는 지능 소자의 동작 상태를 모니토링할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 제1 상태 모니터(501)는 제1 마스터 지능 소자(101)의 동작 상태를 모니토링하고, 제2 상태 모니터(502)는 제2 마스터 지능 소자(102)의 동작 상태를 모니토링하고, 제3 상태 모니터(503)는 제3 마스터 지능 소자(103)의 동작 상태를 모니토링하고, 제4 상태 모니터(504)는 메모리 콘트롤러(301)의 동작 상태를 모니토링할 수 있다.
동적 파워 콘트롤러(700)는 모니토링 신호들(SM1, SM2, SM3, SM4)에 기초하여 동적으로 파워 제어 값을 변경하고, 상기 파워 제어 값에 기초하여 메모리 장치(400)에 대한 액세스가 수행되는 액세스 모드 및 상기 액세스가 수행되지 않는 파워 다운 모드 사이의 전환을 제어할 수 있다. 도 3 및 4를 참조하여 후술하는 바와 같이, 상기 파워 제어 값은 메모리 장치(400)가 상기 액세스 모드에서 상기 파워 다운 모드에 진입하기 위한 조건을 나타내는 제1 제어 값(tENT) 및 메모리 장치(400)가 상기 파워 다운 모드를 유지하기 위한 조건을 나타내는 제2 제어 값(tINT)을 포함할 수 있다.
도 1에는 동적 파워 콘트롤러(700)가 메모리 콘트롤러(301)에 포함되는 것으로 도시되어 있으나, 실시예들에 따라서 동적 파워 콘트롤러(700)의 적어도 일부는 메모리 콘트롤러(301)의 외부에 구현될 수도 있다.
일 실시예에서, 도 7 및 8을 참조하여 후술하는 바와 같이, 동적 파워 콘트롤러(700)는 메모리 장치(400)에 대한 액세스를 요구하기 위한 상기 리퀘스트들을 발생하는 마스터 장치들(101, 102, 103)의 종류 및 동작 상태에 기초하여 상기 파워 제어 값을 변경할 수 있다. 다른 실시예에서, 도 9 및 10을 참조하여 후술하는 바와 같이, 동적 파워 콘트롤러(700)는 마스터 장치들(101, 102, 103)의 종류 및 동작 상태에 관계 없이 메모리 장치(400)에 액세스되는 전체 대역폭에 기초하여 상기 파워 제어 값을 변경할 수 있다.
일 실시예에서, 도 10 및 11을 참조하여 후술하는 바와 같이, 상기 동작 상태는 데이터 대역폭(bandwidth)에 상응할 수 있다. 다른 실시예에서, 도 12 내지 15를 참조하여 후술하는 바와 같이, 상기 동작 상태는 레이턴시(latency)에 상응할 수 있다.
도 1에 도시된 마스터 지능 소자들 및 슬레이브 지능 소자들의 개수는 다양하게 변경될 수 있다. 마스터 지능 소자의 동작 특성에 따라서, 상태 모니터들은 서로 다른 구성을 가질 수 있으며, 일부 상태 모니터는 생략될 수도 있다.
도 2는 본 발명의 실시예들에 따른 시스템의 제어 방법을 나타내는 순서도이다.
도 1 및 도 2를 참조하면, 하나 이상의 상태 모니터들(501, 502, 503, 504)은 시스템(1000)의 동작 상태를 나타내는 모니토링 신호들(SM1, SM2, SM3, SM4)을 각각 제공한다(S100). 동적 파워 콘트롤러(700)는 모니토링 신호들(SM1, SM2, SM3, SM4)에 기초하여 동적으로 파워 제어 값을 변경할 수 있다(S200). 동적 파워 콘트롤러(700)는 상기 파워 제어 값에 기초하여 메모리 장치(400)에 대한 액세스가 수행되는 액세스 모드 및 상기 액세스가 수행되지 않는 파워 다운 모드 사이의 전환을 제어한다(S300).
본 개시에서, 파워 다운 모드라 함은 액세스 모드와 구별되는 것으로서, 파워 다운 모드에서는 메모리 장치에 대한 액세스가 중단되고 액세스 모드보다 소모 전력이 감소되는 동작 모드를 나타낸다. 종래에는 메모리 장치의 파워 다운 모드를 제어하기 위한 파워 제어 값을 고정하여 사용하였다. 따라서, 시스템의 최대 성능에 부합하도록 메모리 장치의 파워 다운 모드를 제어함으로써 소모 전력이 불필요하게 낭비된다.
본 발명의 실시예들에 따른 시스템 및 시스템의 제어 방법은 시스템의 동작 상태에 따라서 액세스 모드 및 파워 다운 모드 사이의 전환을 동적으로 제어함으로써 시스템의 성능을 저하시키지 않으면서 메모리 장치에 의한 전력 소모를 절감할 수 있다.
이하, 도 3 내지 도 17을 참조하여 도 1의 시스템 및 도 2의 시스템의 제어 방법의 다양한 실시예들을 설명한다. 도 3 내지 도 17에서 편의상 실시예들의 설명에 필요한 구성요소들만이 도시될 수 있고 중복되는 설명은 생략될 수 있다.
도 3은 본 발명의 실시예들에 따른 시스템에 포함되는 동적 파워 콘트롤러의 일 실시예를 나타내는 블록도이고, 도 4는 본 발명의 실시예들에 따른 시스템의 모드 전환을 나타내는 타이밍도이다.
도 3을 참조하면, 동적 파워 콘트롤러(700)는 제어부(CTRL)(710), 레지스터(720), 제1 타이머(TMR1)(730), 제2 타이머(TMR2)(740), 제1 비교기(COM1)(750) 및 제2 비교기(COM2)(760)를 포함할 수 있다.
제어부(710)는 시스템의 동작 상태를 나타내는 하나 이상의 모니토링 신호들(SM1, SM2, SM3)에 기초하여 상태 제어 값을 결정할 수 있다. 레지스터(720)는 상기 제어부(710)에 의해 결정된 상태 제어 값을 저장할 수 있다. 상기 상태 제어 값은 메모리 장치가 상기 액세스 모드에서 상기 파워 다운 모드에 진입하기 위한 조건을 나타내는 제1 제어 값(tENT) 및 상기 메모리 장치가 상기 파워 다운 모드를 유지하기 위한 조건을 나타내는 제2 제어 값(tINT)을 포함할 수 있다.
제1 타이머(730)는 내부 액세스 신호(ACC)에 동기하여 초기화되고, 초기화된 시점부터 카운팅 동작을 수행하여 제1 카운트 값(CNT1)을 발생할 수 있다. 제1 비교기(750)는 제1 카운트 값(CNT1)을 제1 제어 값(tENT)과 비교하여 제1 카운트 값(CNT1)이 제1 제어 값(tENT)을 초과할 때 활성화되는 제1 트리거 신호(TRR1)을 발생할 수 있다. 내부 액세스 신호(ACC)는 메모리 콘트롤러가 메모리 장치를 액세스할 때마다 활성화되는 신호일 수 있다. 메모리 콘트롤러는 제1 트리거 신호(TRR1)의 활성화에 응답하여 파워 다운 진입 코맨드(PDE)를 발생할 수 있다.
제2 타이머(740)는 제1 트리거링 신호(TRR1)에 동기하여 초기화되고, 초기화된 시점부터 카운팅 동작을 수행하여 제2 카운트 값(CNT2)을 발생할 수 있다. 제2 비교기(760)는 제2 카운트 값(CNT2)을 제2 제어 값(tINT)과 비교하여 제2 카운트 값(CNT2)이 제2 제어 값(tINT)을 초과할 때 활성화되는 제2 트리거 신호(TRR2)을 발생할 수 있다. 메모리 콘트롤러는 제2 트리거 신호(TRR2)의 활성화에 응답하여 파워 다운 종료 코맨드(PDX)를 발생할 수 있다.
일 실시예에서, 도 3의 동적 파워 콘트롤러(700)는 저장된 값들 및 입력되는 값들에 응답하여 미리 정해진 프로세스 시퀀스를 수행하는 구성을 갖는 특수 기능 레지스터(special function register)(SFR)로 구현될 수 있다.
도 4를 참조하여 후술하는 바와 같이, 일 실시예에서, 제1 제어 값(tENT)은 제1 시간에 해당하고, 제2 제어 값(tINT)은 제2 시간에 해당할 수 있다. 예를 들어, 제1 시간(tENT) 및 제2 시간(tINT)은 각각 클록 신호의 클록 사이클 개수로서 표현될 수 있다. 동적 파워 콘트롤러(700)는 메모리 장치에 대한 액세스가 수행되지 않은 아이들(idle) 상태가 제1 시간(tENT) 동안 유지되는 경우 상기 메모리 장치를 상기 파워 다운 모드에 진입하도록 제어할 수 있다. 또한, 동적 파워 콘트롤러(700)는 상기 메모리 장치가 상기 파워 다운 모드에 진입한 후 상기 제2 시간(tINT)이 경과한 후에 상기 메모리 장치를 상기 파워 다운 모드로부터 상기 액세스 모드로 웨이크업되도록 제어할 수 있다.
도 4에는 도 1의 메모리 콘트롤러(301)에서 발생되어 메모리 장치(200)로는 제공되는 코맨드(CMD) 및 메모리 장치(200) 내에서 발생되는 파워 제한 신호(PLM)가 도시되어 있다.
도 4를 참조하면, 메모리 콘트롤러(301)는 액티브 코맨드(ACT)를 발생하는 빈도에 기초하여 파워 다운 코맨드, 즉 파워 다운 진입 코맨드(PDE) 및 파워 다운 종료 코맨드(PDX)를 발생할 수 있다.
메모리 콘트롤러(301)는 시점 T1에서 액티브 코맨드(ACT)를 발생한 후 제1 시간(tENT)이 경과한 시점 T2까지 액티브 코맨드를 발생하지 않는 경우에는 파워 다운 진입 코맨드(PDE)를 발생할 수 있다. 예를 들어, 메모리 콘트롤러(301)는 도 5를 참조하여 후술하는 메모리 뱅크들(460a~460h)의 모두에 대해서 액세스 동작이 수행되지 않는 아이들(idle) 상태가 제1 시간(tENT) 이상 유지되는 경우 파워 다운 진입 코맨드(PDE)를 발생할 수 있다. 일 실시예에서, 메모리 콘트롤러(301)는 도 3을 참조하여 설명한 바와 같이 동적 파워 콘트롤러(700)에서 제공되는 제1 트리거 신호(TRR1)의 활성화에 기초하여 파워 다운 진입 코맨드(PDE)를 발생할 수 있다.
또한, 메모리 콘트롤러(301)는 메모리 장치(400)가 상기 파워 다운 모드에 진입한 시점 T2에서 상기 제2 시간(tINT)이 경과한 후에 파워 다운 종료 코맨드(PDX)를 발생할 수 있다. 일 실시예에서, 메모리 콘트롤러(301)는 도 3을 참조하여 설명한 바와 같이 동적 파워 콘트롤러(700)에서 제공되는 제2 트리거 신호(TRR2)의 활성화에 기초하여 파워 다운 종료 코맨드(PDX)를 발생할 수 있다.
메모리 콘트롤러(301)는 파워 다운 모드 중에 활성화되는 파워 제한 신호(PLM)를 내부적으로 발생할 수 있다. 도 6을 참조하여 후술하는 바와 같이, 메모리 장치(400)는 이러한 파워 제한 신호(PLM)에 기초하여 메모리 장치(400)의 적어도 일부에 공급되는 파워를 차단하는 파워 차단 모드가 수행될 수 있다. 도 4에는 파워 제한 신호(PLM)가 논리 로우 레벨로 활성화되는 것으로 도시되어 있으나, 실시예에 따라서, 파워 제한 신호(PLM)는 논리 하이 레벨로 활성화되는 신호로 구현될 수도 있다.
도 3 및 4를 참조하여 설명한 바와 같이, 제1 제어 값(tENT)에 기초하여 메모리 장치(400)가 액세스 모드에서 파워 다운 모드로 전환하기 위한 파워 다운 진입 코맨드(PDE)의 발생 빈도가 결정될 수 있다. 또한, 제2 제어 값(tINT)에 기초하여 메모리 장치(400)가 파워 다운 모드에서 액세스 모드로 전환하기 위한 파워 다운 종료 코맨드(PDE)의 발생 시점, 즉 파워 다운 모드의 지속 지간이 결정될 수 있다.
본 발명의 실시예들에 따른 시스템 및 시스템의 제어 방법은 파워 제어 값(tENT, tINT)을 시스템의 동작 상태에 기초하여 변경한다. 이와 같이, 시스템의 동작 상태에 따라서 액세스 모드 및 파워 다운 모드 사이의 전환을 동적으로 제어함으로써 시스템의 성능을 저하시키지 않으면서 메모리 장치에 의한 전력 소모를 절감할 수 있다.
도 5는 본 발명의 실시예들에 따른 시스템에 포함되는 메모리 장치의 일 실시예를 나타내는 도면이다.
도 5를 참조하여, 메모리 장치 또는 반도체 메모리 장치의 일 예로서 디램(DRAM)에 대해 설명하지만, 본 발명의 실시예들에 따른 반도체 메모리 장치는, 디램(DRAM), 티램(TRAM) 및 에스램(SRAM)과 같은 휘발성 메모리 아키텍쳐들, 또는 롬(ROM), 플래시 메모리, 에프램(FRAM), 엠램(MRAM), 피램(PRAM) 등과 같은 비-휘발성 메모리 아키텍쳐들을 포함하는 다양한 메모리 아키텍쳐로 구현될 수 있다.
도 5를 참조하면, 메모리 장치(400)는 제어 로직(410), 어드레스 레지스터(420), 뱅크 제어 로직(430), 로우 어드레스 멀티플렉서(440), 리프레쉬 카운터(445), 컬럼 어드레스 래치(450), 로우 디코더(460), 컬럼 디코더(470), 메모리 셀 어레이(480), 센스 앰프부(485), 입출력 게이팅 회로(490) 및 데이터 입출력 버퍼(495)를 포함할 수 있다.
메모리 셀 어레이(480)는 복수의 뱅크 어레이들(480a~480h)을 포함할 수 있다. 로우 디코더(460)는 복수의 뱅크 어레이들(480a~480h)에 각각 연결된 복수의 뱅크 로우 디코더들(460a~460h)을 포함하고, 컬럼 디코더(470)는 복수의 뱅크 어레이들(480a~480h)에 각각 연결된 복수의 컬럼 디코더들(470a~470h)을 포함하며, 센스 앰프부(485)는 복수의 뱅크 어레이들(480a~480h)에 각각 연결된 복수의 센스 앰프들(485a~485h)을 포함할 수 있다.
어드레스 레지스터(420)는 메모리 콘트롤러로부터 뱅크 어드레스(BANK_ADDR), 로우 어드레스(ROW_ADDR) 및 컬럼 어드레스(COL_ADDR)를 포함하는 어드레스 신호(ADD)를 수신할 수 있다. 어드레스 레지스터(420)는 수신된 뱅크 어드레스(BANK_ADDR)를 뱅크 제어 로직(430)에 제공하고, 수신된 로우 어드레스(ROW_ADDR)를 로우 어드레스 멀티플렉서(440)에 제공하며, 수신된 컬럼 어드레스(COL_ADDR)를 컬럼 어드레스 래치(450)에 제공할 수 있다.
뱅크 제어 로직(430)은 뱅크 어드레스(BANK_ADDR)에 응답하여 뱅크 제어 신호들을 생성할 수 있다. 상기 뱅크 제어 신호들에 응답하여, 복수의 뱅크 로우 디코더들(460a~460h) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 로우 디코더가 활성화되고, 복수의 뱅크 컬럼 디코더들(470a~470h) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 컬럼 디코더가 활성화될 수 있다.
로우 어드레스 멀티플렉서(440)는 어드레스 레지스터(220)로부터 로우 어드레스(ROW_ADDR)를 수신하고, 리프레쉬 카운터(445)로부터 리프레쉬 로우 어드레스(REF_ADDR)를 수신할 수 있다. 로우 어드레스 멀티플렉서(440)는 로우 어드레스(ROW_ADDR) 또는 리프레쉬 로우 어드레스(REF_ADDR)를 로우 어드레스(RA)로서 선택적으로 출력할 수 있다. 로우 어드레스 멀티플렉서(440)로부터 출력된 로우 어드레스(RA)는 뱅크 로우 디코더들(460a~460h)에 각각 인가될 수 있다.
뱅크 로우 디코더들(460a~460h) 중 뱅크 제어 로직(430)에 의해 활성화된 뱅크 로우 디코더는 로우 어드레스 멀티플렉서(440)로부터 출력된 로우 어드레스(RA)를 디코딩하여 상기 로우 어드레스에 상응하는 워드 라인을 활성화할 수 있다. 예를 들어, 상기 활성화된 뱅크 로우 디코더는 로우 어드레스에 상응하는 워드 라인에 워드 라인 구동 전압을 인가할 수 있다.
컬럼 어드레스 래치(450)는 어드레스 레지스터(420)로부터 컬럼 어드레스(COL_ADDR)를 수신하고, 수신된 컬럼 어드레스(COL_ADDR)를 일시적으로 저장할 수 있다. 또한, 컬럼 어드레스 래치(450)는, 버스트 모드(burst mode)에서, 수신된 컬럼 어드레스(COL_ADDR)를 점진적으로 증가시킬 수 있다. 컬럼 어드레스 래치(450)는 일시적으로 저장된 또는 점진적으로 증가된 컬럼 어드레스(COL_ADDR)를 뱅크 컬럼 디코더들(470a~470h)에 각각 인가할 수 있다.
뱅크 컬럼 디코더들(470a~470h) 중 뱅크 제어 로직(430)에 의해 활성화된 뱅크 컬럼 디코더는 입출력 게이팅 회로(490)를 통하여 뱅크 어드레스(BANK_ADDR) 및 컬럼 어드레스(COL_ADDR)에 상응하는 센스 앰프를 활성화시킬 수 있다.
입출력 게이팅 회로(490)는 입출력 데이터를 게이팅하는 회로들과 함께, 입력 데이터 마스크 로직, 뱅크 어레이들(480a~480h)로부터 출력된 데이터를 저장하기 위한 독출 데이터 래치들, 및 뱅크 어레이들(480a~480h)에 데이터를 기입하기 위한 기입 드라이버들을 포함할 수 있다.
뱅크 어레이들(480a~480h) 중 하나의 뱅크 어레이에서 독출될 데이터(DQ)는 상기 하나의 뱅크 어레이에 상응하는 센스 앰프에 의해 감지되고, 상기 독출 데이터 래치들에 저장될 수 있다. 상기 독출 데이터 래치들에 저장된 데이터(DQ)는 데이터 입출력 버퍼(495)를 통하여 메모리 콘트롤러에 제공될 수 있다. 뱅크 어레이들(480a~480h) 중 하나의 뱅크 어레이에 기입될 데이터(DQ)는 상기 메모리 콘트롤러로부터 데이터 입출력 버퍼(495)에 제공될 수 있다. 데이터 입출력 버퍼(495)에 제공된 데이터(DQ)는 상기 기입 드라이버들을 통하여 상기 하나의 뱅크 어레이에 기입될 수 있다.
제어 로직(410)은 반도체 메모리 영역(400)의 동작을 제어할 수 있다. 제어 로직(410)은 반도체 메모리 영역(400)에 기입 동작 또는 독출 동작이 수행되도록 제어 신호들을 생성할 수 있다. 제어 로직(410)은 메모리 콘트롤러로부터 수신되는 코맨드(CMD)를 디코딩하는 코맨드 디코더(411) 및 반도체 메모리 영역(400)의 동작 모드를 설정하기 위한 모드 레지스터 세트(MRS: mode register set)(412)를 포함할 수 있다. 예를 들어, 코맨드 디코더(411)는 기입 인에이블 신호, 로우 어드레스 스트로브 신호, 컬럼 어드레스 스트로브 신호, 칩 선택 신호 등을 디코딩하여 코맨드(CMD)에 상응하는 상기 제어 신호들을 생성할 수 있다.
도 6은 도 5의 메모리 장치의 전원 공급 계통의 일 실시예를 나타내는 블록도이다.
도 6을 참조하면, 메모리 장치(400)는 크게 제1 회로(CIR1)(401) 및 제2 회로(CIR)(402)를 포함할 수 있다. 본 발명의 동적 파워 콘트롤러에 의해 액세스 모드 및 파워 다운 모드의 전환이 제어되는 메모리 장치는 도 5를 참조하여 설명한 바와 같은 디램(DRAM, dynamic random access memory)일 수 있다. 디램의 경우, 상기 파워 다운 모드는 상기 메모리 콘트롤러부터의 리프레시 코맨드에 관계없이 상기 메모리 장치에서 내부적으로 리프레시 동작을 수행하는 셀프 리프레시 모드에 상응할 수 있다.
제1 회로(401)는 셀프 리프레시에 필요한 회로에 해당하고, 제2 회로(402)는 셀프 리프레시에 필요하지 않은 회로에 해당할 수 있다. 도 5에 도시된 메모리 장치(400)의 구성 요소들 중에서, 셀프 리프레시에 필요한 제1 회로(401)에는 로우 어드레스 멀티플렉서(440), 리프레쉬 카운터(445), 로우 디코더(460), 메모리 셀 어레이(480)가 포함될 수 있다. 도 5에 도시된 메모리 장치(400)의 구성 요소들 중에서, 셀프 리프레시에 필요하지 않은 제2 회로(402)에는 제어 로직(410), 어드레스 레지스터(420), 뱅크 제어 로직(430), 컬럼 어드레스 래치(450), 로우 디코더(460), 컬럼 디코더(470), 센스 앰프부(485), 입출력 게이팅 회로(490) 및 데이터 입출력 버퍼(495)가 포함될 수 있다.
파워 제한 신호(PLM)가, 예를 들어 논리 로우 레벨로 활성화되면 제1 파워 게이팅 트랜지스터(PT1)가 턴온되고 제2 파워 게이팅 트랜지스터(PT2)가 턴오프된다. 따라서, 제1 패드(PD1)로부터의 전원 전압(VCC1)이 제1 회로(401)에만 제공되어 셀프 리프레시가 수행되어 메모리 셀 어레이의 DRAM 셀들에 저장된 데이터가 보존될 수 있다.
반면에, 파워 제한 신호(PLM)가, 예를 들어 논리 하이 레벨로 비활성화되면 제1 파워 게이팅 트랜지스터(PT1)가 턴오프되고 제2 파워 게이팅 트랜지스터(PT2)가 턴온된다. 따라서, 제2 패드(PD2)로부터의 전원 전압(VCC2)이 제1 회로(401) 및 제2 회로(402)에 모두 제공되어 통상의 액세스 동작이 수행될 수 있다.
도 7 및 8은 본 발명의 실시예들에 따른 마스터 장치들의 종류 및 동작 상태에 기초한 파워 제어 값의 설정 방법을 설명하기 위한 도면들이다.
메모리 장치에 대한 액세스를 요구하기 위한 리퀘스트들을 발생하는 마스터 장치들은 파워 절감보다 성능이 우선하는 성능(PERFORMANCE) 타입의 마스터 장치 및 성능보다 파워 절감이 우선하는 파워(POWER) 타입의 마스터 장치로 구분될 수 있다. 예를 들어, 도 7에 예시한 바와 같이, 성능 타입의 마스터 장치는 씨피유(CPU), 그래픽 카드(graphic card), 이미지 센서(image sensor) 등을 포함할 수 있고, 파워 타입의 마스터 장치는 모뎀(modem), 디스플레이 콘트롤러(display controller) 등을 포함할 수 있다. 마스터 장치들의 각각은 그 동작 특성에 따라서, 요구되는 대역폭(required bandwidth)이 높은(high) 장치일 수 있고 상대적으로 더 높은(higher) 장치일 수 도 있다. 또한 마스터 장치들의 각각은 그 동작 특성에 따라서, 데이터 액세스 빈도가 빈번한(frequent) 장치일 수 있고 불규칙한(random) 장치일 수 도 있다.
도 3의 동적 파워 콘트롤러(700)의 제어부(710)는 상기 성능 타입의 마스터 장치의 상기 메모리 장치에 대한 액세스 요구 수준 및 기준 수준의 비교 결과에 기초하여 상기 파워 제어 값을 변경할 수 있다. 액세스 요구 수준은 도 10 내지 15를 참조하여 후술하는 바와 같이 대역폭 및/또는 레이턴시에 해당할 수 있다.
도 8을 참조하면, 동적 파워 콘트롤러(700)의 제어부(710)는 전술한 제1 시간(tENT)을 상기 성능 타입의 마스터 장치의 상기 메모리 장치에 대한 액세스 요구 수준이 긴급한 정도에 해당하는 경우의 값(t11)이 긴급하지 않은 정도에 해당하지 않은 경우의 값(t12)보다 크게 설정할 수 있다. 다시 말해, 상기 성능 타입의 마스터 장치의 상기 메모리 장치에 대한 액세스 요구 수준이 상대적으로 긴급한 경우에는 상대적으로 제1 시간(tENT)을 증가시킴으로써 메모리 장치가 파워 다운 모드에 진입하는 빈도를 감소하고 액세스를 요구하는 성능 타입의 마스터 장치들의 성능을 유지할 수 있다.
또한, 동적 파워 콘트롤러(700)의 제어부(710)는 전술한 제2 시간(tINT)을 상기 성능 타입의 마스터 장치의 상기 메모리 장치에 대한 액세스 요구 수준이 긴급한 정도에 해당하는 경우의 값(t21)이 긴급하지 않은 정도에 해당하지 않은 경우의 값(t22)보다 작게 설정할 수 있다. 다시 말해, 상기 성능 타입의 마스터 장치의 상기 메모리 장치에 대한 액세스 요구 수준이 상대적으로 긴급한 경우에는 상대적으로 제2 시간(tINT)을 감소시킴으로써 메모리 장치가 파워 다운 모드에서 유지되는 지속 시간을 감소하고 액세스를 요구하는 성능 타입의 마스터 장치들의 성능을 유지할 수 있다.
반면에 동적 파워 콘트롤러(700)의 제어부(710)는 상기 성능 타입의 마스터 장치의 상기 메모리 장치에 대한 액세스 요구 수준이 상대적으로 긴급하지 않은 경우에는 제1 시간(tENT)을 상대적으로 감소함으로써 메모리 장치가 파워 다운 모드에 진입하는 빈도를 증가하고 제2 시간(tINT)을 상대적으로 증가함으로써 메모리 장치가 파워 다운 모드에서 유지되는 지속 시간을 증가하여, 소모 전력을 감소할 수 있다.
이와 같이, 동적 파워 콘트롤러는 메모리 장치에 대한 액세스를 요구하기 위한 상기 리퀘스트들을 발생하는 상기 마스터 장치들의 종류 및 동작 상태에 기초하여 상기 파워 제어 값을 변경할 수 있다.
도 9는 본 발명의 실시예들에 따른 메모리 장치에 액세스되는 전체 대역폭에 기초한 파워 제어 값의 설정 방법을 설명하기 위한 도면들이다.
도 3의 동적 파워 콘트롤러(700)의 제어부(710)는 마스터 장치들의 종류 및 동작 상태에 관계 없이 상기 메모리 장치에 액세스되는 전체 대역폭(entire bandwidth)에 기초하여 전술한 파워 제어 값을 변경할 수 있다.
동적 파워 콘트롤러(700)의 제어부(710)는 상기 전체 대역폭을 도 9에 도시된 바와 같은 복수의 대역폭 구간들로 구분하고 상기 대역폭 구간들마다 다른 값을 갖도록 상기 파워 제어 값을 변경할 수 있다. 도 9에서, 제2 전체 대역폭(BW2)은 제1 전체 대역폭(BW1)보다 크고, 제3 전체 대역폭(BW3)은 제2 전체 대역폭(BW2)보다 크고, 제4 전체 대역폭(BW4)은 제3 전체 대역폭(BW3)보다 크다. 이 경우, 제1 시간(tENT)의 값들은 (t11, t12, t13)은 전체 대역폭이 증가할수록 증가하고, 제2 시간(tINT)의 값들은 (t21, t22, t23)은 전체 대역폭이 증가할수록 감소하도록 설정될 수 있다.
이와 같이, 동적 파워 콘트롤러(700)의 제어부(710)는 메모리 장치에 액세스되는 전체 대역폭이 증가할수록 제1 시간(tENT)을 증가함으로써 메모리 장치가 파워 다운 모드에 진입하는 빈도를 감소하고 제2 시간(tINT)을 감소함으로써 메모리 장치가 파워 다운 모드에서 유지되는 지속 시간을 감소하여 메모리 장치의 성능을 유지할 수 있다. 반면에, 동적 파워 콘트롤러(700)의 제어부(710)는 메모리 장치에 액세스되는 전체 대역폭이 감소할수록 제1 시간(tENT)을 감소함으로써 메모리 장치가 파워 다운 모드에 진입하는 빈도를 증가하고 제2 시간(tINT)을 증가함으로써 메모리 장치가 파워 다운 모드에서 유지되는 지속 시간을 증가하여 메모리 장치의 소모 전력을 절감할 수 있다.
도 10은 본 발명의 일 실시예에 따른 대역폭 검출을 위한 버퍼 모델을 나타내는 도면이다.
마스터 지능 소자의 동작 특성에 따라서 마스터 지능 소자의 액세스 요구수준(access requirement level)은 대역폭(bandwidth)으로 표현될 수 있다. 대역폭은 일정한 시간에 전송되거나 서비스되는 데이터의 양을 나타낸다. 예를 들어, 마스터 지능 소자는 상호접속 장치를 통하여 연결된 메모리 콘트롤러로부터 데이터를 서비스 받아서 데이터 버퍼(data buffer)에 저장하고 저장된 데이터를 소비하면서 고유의 기능을 수행할 수 있다.
도 10에는 상기 마스터 지능 소자에 포함되는 데이터 버퍼의 점유 상태가 빗금으로 도시되어 있다. 데이터의 점유 상태는 현재 대역폭 레벨(BCL)로 표현될 수 있고, 슬레이브 지능 소자로부터 데이터가 서비스되면(DATA IN) 현재 대역폭 레벨(BCL)이 증가하고 마스터 지능 소자가 데이터를 소비하면(DATA OUT) 현재 대역폭 레벨(BCL)이 감소한다.
시스템의 전체적인 시나리오(scenario)에 따라서 대역폭 긴급 레벨(BUL) 및 대역폭 초긴급 레벨(BVUL)과 같은 기준값이 결정될 수 있고, 이러한 기준값(BUL, BVUL) 및 현재 대역폭 레벨(BCL)에 기초하여 긴급 정보(UGNT)를 전술한 모니토링 신호로서 발생할 수 있다. 현재 대역폭 레벨(BCL)이 대역폭 긴급 레벨(BCL)보다 크면 통상적인(normal) 동작 상태에 해당하고 긴급 정보(UGNT)는 비활성화될 수 있다.
긴급 정보(UGNT)는 긴급한 정도를 표현하는 복수 비트들 또는 복수의 신호들로 표현될 수 있다. 예를 들어, 후술하는 바와 같이, 현재 대역폭 레벨(BCL)이 대역폭 긴급 레벨(BUL)보다 작아지면 긴급 플래그 신호(UG)를 발생하고 현재 대역폭 레벨(BCL)이 대역폭 초긴급 레벨(BVUL)보다 작아지면 초긴급 플래그 신호(VUG)를 발생할 수 있다.
도 11은 도 10의 버퍼 모델을 이용하는 상태 모니터의 일 실시예를 나타내는 블록도이다.
도 11을 참조하면, 상태 모니터(500a)는 대역폭 모니터(530a) 및 정보 발생기(550a)를 포함할 수 있다.
대역폭 모니터(bandwidth monitor)(530a)는 상응하는 마스터 지능 소자의 대역폭을 실시간으로 검출하여 현재 대역폭 레벨(BCL)을 발생한다. 대역폭 모니터(530a)는 소비 데이터 검출기(consumed data detector)(CDET)(531), 서비스 데이터 검출기(serviced data detector)(SDET)(532) 및 가상 버퍼(virtual buffer)(VBUFF)(533)를 포함할 수 있다.
예를 들어, 소비 데이터 검출기(531)는 상응하는 마스터 지능 소자(100)의 동작 클록 신호(CLKm) 및 단위 데이터 소비량(UDA)에 기초하여 레벨 감소 신호(LDEC)를 발생할 수 있다.
서비스 데이터 검출기(532)는 상응하는 마스터 지능 소자(100)와 상호접속 장치(10) 사이의 채널 신호(CHN)에 기초하여 레벨 증가 신호(LINC)를 발생할 수 있다.
가상 버퍼(533)는 레벨 감소 신호(LDEC) 및 레벨 증가 신호(LINC)에 기초하여 현재 대역폭 레벨(BCL)을 발생한다.
정보 발생기(550a)는 기준값(BUL, BVUL) 및 현재 대역폭 레벨(BCL)에 기초하여 긴급 정보(UGNT)를 발생한다. 시스템의 전체적인 시나리오에 따라서 대역폭 긴급 레벨(BUL) 및 대역폭 초긴급 레벨(BVUL)과 같은 기준값이 결정될 수 있다. 예를 들어, 기준값(BUL, BVUL)은 시스템의 초기화 과정에서 제공되어 정보 발생기(550a)에 저장될 수 있다. 정보 발생기(550a)는 이러한 기준값(BUL, BVUL) 및 현재 대역폭 레벨(BCL)에 기초하여 긴급 정보(UGNT)를 발생할 수 있다. 예를 들어, 정보 발생기(550a)는 현재 대역폭 레벨(BCL)이 대역폭 긴급 레벨(BUL)보다 작아지면 긴급 플래그 신호(UG)를 발생하고 현재 대역폭 레벨(BCL)이 대역폭 초긴급 레벨(BVUL)보다 작아지면 초긴급 플래그 신호(VUG)를 발생할 수 있다. 정보 발생기(550a)는 저장된 값들 및 입력되는 값들에 응답하여 미리 정해진 프로세스 시퀀스를 수행하는 구성을 갖는 특수 기능 레지스터(special function register)(SFR)로 구현될 수 있다.
도 12는 본 발명의 일 실시예에 따른 레이턴시 검출을 위한 축적기 모델을 나타내는 도면이다.
마스터 지능 소자의 동작 특성에 따라서 마스터 지능 소자의 요구수준은 레이턴시(latency)로 표현될 수 있다. 레이턴시는 마스터 지능 소자가 슬레이브 마스터 지능 소자에 대하여 서비스를 요청한 시점부터 상기 요청한 서비스가 완료되는 시점까지의 시간을 나타내며, 예를 들어, 레이턴시는 클록 신호의 사이클 횟수 등으로 표현될 수도 있다.
도 12에는 상기 마스터 지능 소자의 레이턴시 상태가 빗금으로 표시되는 레이턴시 축적기(latency accumulator)가 도시되어 있다. 레이턴시 상태는 현재 레이턴시 레벨(LCL)로 표현될 수 있고, 레이턴시가 증가하면 현재 대역폭 레벨(LCL)이 증가하고 레이턴시가 감소하면 현재 레이턴시 레벨(LCL)이 감소한다. 시스템의 전체적인 시나리오(scenario)에 따라서 레이턴시 긴급 레벨(LUL) 및 레이턴시 초긴급 레벨(LVUL)과 같은 기준값이 결정될 수 있고, 이러한 기준값(LUL, LVUL) 및 현재 레이턴시 레벨(LCL)에 기초하여 긴급 정보(UGNT)를 전술한 모니토링 신호로서 발생할 수 있다. 현재 레이턴시 레벨(LCL)이 레이턴시 긴급 레벨(LCL)보다 작으면 통상적인(normal) 동작 상태에 해당하고 긴급 정보(UGNT)는 비활성화될 수 있다.
긴급 정보(UGNT)는 긴급한 정도를 표현하는 복수 비트들 또는 복수의 신호들로 표현될 수 있다. 예를 들어, 후술하는 바와 같이, 현재 레이턴시 레벨(LCL)이 레이턴시 긴급 레벨(LUL)보다 커지면 긴급 플래그 신호(UG)를 발생하고 현재 레이턴시 레벨(LCL)이 레이턴시 초긴급 레벨(LVUL)보다 커지면 초긴급 플래그 신호(VUG)를 발생할 수 있다.
도 13은 도 12의 축적기 모델을 이용하는 상태 모니터의 일 예를 나타내는 블록도이다.
도 13을 참조하면, 상태 모니터(500b)는 레이턴시 모니터(530b) 및 정보 발생기(550b)를 포함할 수 있다.
레이턴시 모니터(latency monitor)(530b)는 상응하는 마스터 지능 소자의 레이턴시를 실시간으로 검출하여 현재 레이턴시 레벨(LCL)을 발생한다. 레이턴시 모니터(530b)는 감산기(subtractor)(SUB)(535), 축적기(accumulator)(ACC)(537) 및 레이턴시 검출기(latency detector)(LATDET)(540)를 포함할 수 있다.
레이턴시 검출기(540)는 상응하는 마스터 지능 소자(100)와 상호접속 장치(10) 사이의 채널 신호(CHN)에 기초하여 현재 레이턴시(CLAT)를 발생할 수 있다 감산기(535)는 현재 레이턴시(LCL) 및 기준 레이턴시(RLAT)의 차이를 계산하여 레이턴시 변화값(dLAT)을 출력할 수 있다. 축적기(537)는 레이턴시 변화값(dLAT)을 누산하여 현재 레이턴시 레벨(LCL)을 발생할 수 있다.
정보 발생기(550b)는 기준값(LUL, LVUL) 및 현재 레이턴시 레벨(LCL)에 기초하여 긴급 정보(UGNT)를 발생한다. 시스템의 전체적인 시나리오에 따라서 레이턴시 긴급 레벨(LUL) 및 레이턴시 초긴급 레벨(LVUL)과 같은 기준값이 결정될 수 있다. 예를 들어, 기준값(LUL, LVUL)은 시스템의 초기화 과정에서 제공되어 정보 발생기(550b)에 저장될 수 있다. 정보 발생기(550b)는 이러한 기준값(LUL, LVUL) 및 현재 레이턴시 레벨(LCL)에 기초하여 긴급 정보(UGNT)를 발생할 수 있다.
예를 들어, 정보 발생기(550b)는 현재 대역폭 레벨(LCL)이 레이턴시 긴급 레벨(LUL)보다 커지면 긴급 플래그 신호(UG)를 발생하고 현재 레이턴시 레벨(LCL)이 레이턴시 초긴급 레벨(LVUL)보다 커지면 초긴급 플래그 신호(VUG)를 발생할 수 있다. 정보 발생기(550b)는 저장된 값들 및 입력되는 값들에 응답하여 미리 정해진 프로세스 시퀀스를 수행하는 구성을 갖는 특수 기능 레지스터(special function register)(SFR)로 구현될 수 있다.
도 14는 도 13의 상태 모니터에 포함되는 레이턴시 검출기의 일 예를 나타내는 블록도이다.
도 14를 참조하면, 레이턴시 검출기(540)는 제1 플립플롭(flip-flop)(FF1)(541), 제2 플립플롭(FF2)(542), 카운터(counter)(543), 제1 래치(LATCH1)(544), 제2 래치(LATCH2)(545), 계산기(546), 제1 논리 게이트(548) 및 제2 논리 게이트(549)를 포함할 수 있다.
예를 들어, 제1 논리 게이트(548)는 논리곱 게이트(AND 게이트)로 구현될 수 있으며, 제1 논리 게이트(548)는 리퀘스트 밸리드 신호(ARVALID) 및 리퀘스트 레디 신호(ARREADY)를 논리곱 연산한 결과를 출력한다. 제1 플립플롭(541)의 데이터 단자(D)에는 제1 논리 게이트(548)의 출력 신호가 입력되고 클록 단자(C)에는 글로벌 클록 신호(ACLK)가 입력된다. 제1 플립플롭(541)은 글로벌 클록 신호(ACLK)의 상승 에지에 응답하여 제1 논리 게이트(548)의 출력 신호를 샘플링하여 글로벌 클록 신호(ACLK)의 상승 에지에 동기된 신호(SS1)를 출력 단자(Q)를 통하여 출력한다.
예를 들어, 제2 논리 게이트(549)는 논리곱 게이트(AND 게이트)로 구현될 수 있으며, 제2 논리 게이트(549)는 서비스 밸리드 신호(RVALID), 서비스 레디 신호(RREADY) 및 서비스 완료 신호(RLAST)를 논리곱 연산한 결과를 출력한다. 제2 플립플롭(542)의 데이터 단자(D)에는 제2 논리 게이트(549)의 출력 신호가 입력되고 클록 단자(C)에는 글로벌 클록 신호(ACLK)가 입력된다. 제2 플립플롭(542)은 글로벌 클록 신호(ACLK)의 상승 에지에 응답하여 제2 논리 게이트(549)의 출력 신호를 샘플링하여 글로벌 클록 신호(ACLK)의 상승 에지에 동기된 신호(SS2)를 출력 단자(Q)를 통하여 출력한다.
카운터(543)는 글로벌 클록 신호(ACLK)의 사이클 횟수를 카운팅하여 카운트 신호(CNT)를 제공한다.
제1 래치(544)는 제1 플립플롭(541)의 출력 신호(SS1)의 상승 에지에 응답하여 카운트 신호(CNT)를 래치하고 시작 카운트 신호(CNT1)를 제공한다. 또한 제1 래치(544)는 리퀘스트 신호들(ARVALID, ARREADY)과 연계된 제1 식별 신호(ARID)를 수신하여 제1 식별 코드(ID1)를 제공한다.
제2 래치(545)는 제2 플립플롭(542)의 출력 신호(SS2)의 상승 에지에 응답하여 카운트 신호(CNT)를 래치하고 완료 카운트 신호(CNT2)를 제공한다. 또한 제2 래치(545)는 서비스 신호들(RVALID, RREADY, RLAST)과 연계된 제2 식별 신호(BID)를 수신하여 제2 식별 코드(ID2)를 제공한다.
계산기(546)는 시작 카운트 신호(CNT1) 및 완료 카운트 신호(CNT2)에 기초하여 현재 레이턴시(CLAT)를 발생한다. 시스템(1000)이 마스터 지능 소자들, 상호접속 장치 및 슬레이브 지능 소자들 사이의 다중 아웃스탠딩 트랜잭션(multiple outstanding transactions)을 지원하는 프로토콜을 채용하는 경우, 동일한 트랜잭션에 상응하는 리퀘스트 신호들(ARVALID, ARREADY)과 서비스 신호들(RVALID, RREADY, RLAST)을 구별하기 위하여 식별 신호들(ARID, BID)이 이용될 수 있다.
계산기(546)는 제1 카운트 신호(CNT1) 및 제1 식별 코드(ID1)가 입력될 때마다 매핑 테이블(547)을 갱신하여 제1 식별 신호(ARID)에 상응하는 제1 식별 코드(ID1)의 값(ID11, ID12, ID13)과 이에 상응하는 제1 카운트 신호(CNT1)의 값들(C1, C2, C3)을 저장한다. 계산기(546)는 제2 카운트 신호(CNT2) 및 제2 식별 코드(ID2)가 입력되면 매핑 테이블(547)로부터 입력된 제2 카운트 신호(CNT2)에 상응하는 리퀘스트 요청 시점을 나타내는 카운트 값(C1, C2 또는 C3)을 추출한다.
계산기(546)는 입력되는 제2 카운트 신호(CNT2)의 리퀘스트 완료 시점을 나타내는 카운트 값과 상기 추출된 카운트 값의 차이를 계산하여 현재 레이턴시(CLAT)를 발생할 수 있다.
도 15는 본 발명의 실시예들에 따른 시스템에 의해 수행되는 트랜잭션의 일 예 및 도 14의 레이턴시 검출기에 의해 검출되는 현재 레이턴시를 설명하기 위한 파형도이다.
도 15에는 설명의 편의를 위하여 AXI(advanced extensible interface) 프로토콜에 따른 독출 트랜잭션의 예가 도시되어 있다. AXI 프로토콜은 밸리드 신호(ARVALID, RVALID) 및 레디 신호(ARREADY, RREADY)를 이용하는 핸드쉐이크 방식(handshake mechanism)을 채택하고 있다.
핸드쉐이크 방식에 따르면, 마스터 인터페이스 및 슬레이브 인터페이스의 일측에서는 신호 전송시 밸리드 신호를 활성화하고 타측에서는 수신 준비가 되었을 때 레디 신호를 활성화한다. 마스터 인터페이스 및 슬레이브 인터페이스의 양자 모두에서 글로벌 클록 신호(ACLK)의 상승 에지에 동기하여 전송 신호의 샘플링이 수행된다. 따라서 밸리드 신호 및 상응하는 레디 신호가 글로벌 클록 신호(ACLK)의 상승 에지에서 모두 활성화될 때만 유효한 신호 전송이 이루어진다.
도 15에 도시된 바와 같이, 마스터 인터페이스에 상응하는 마스터 지능 소자는 신호 전송시 리퀘스트 밸리드 신호(ARVALID)를 활성화하고 슬레이브 인터페이스에 상응하는 상호접속 장치는 수신 준비가 되었을 때 리퀘스트 레디 신호(ARREADY)를 활성화한다. 마찬가지로 상호접속 장치는 신호 전송시 서비스 밸리드 신호(RVALID)를 활성화하고 마스터 지능 소자는 수신 준비가 되었을 때 서비스 레디 신호(RREADY)를 활성화한다.
도 15에는 글로벌 클록 신호(ACLK)의 상승 에지를 나타내는 시점들이 T0~T13 으로 표시되어 있다. 마스터 인터페이스, 예를 들어, 마스터 지능 소자는 독출 리퀘스트 신호(ARADDR)를 슬레이브 인터페이스, 예를 들어, 상호접속 장치(10)로 전송하는 것과 함께 리퀘스트 요청 신호에 상응하는 독출 밸리드 신호(ARVALID)를 활성화한다. 시간 T2에서 밸리드 신호(ARVALID) 및 레디 신호(RREADY)가 모두 활성화되어 독출 리퀘스트 신호(ARADDR)의 전송이 실제로 수행된다. 그러나 마스터 인터페이스의 관점에서는 슬레이브 인터페이스의 레디 신호(RREADY)의 활성화 여부에 관계없이, 즉 실제 신호 전송의 성공 여부와 관계없이 시간 T1을 리퀘스트 요청 시점으로 결정할 수 있다.
상기 독출 리퀘스트에 대한 응신으로서 데이터(D(A0), D(A1), D(A2), D(A3))가 버스트 전송 방식에 의해 상호접속 장치(10)로부터 마스터 지능 소자로 전송된다. 상호접속 장치는 마지막 데이터(D(A3))의 전송과 함께 서비스 완료 신호에 상응하는 RLAST 신호를 활성화하고, 시간 T13이 리퀘스트 완료 시점으로 결정된다.
이와 같이, 도 14의 레이턴시 검출기(540)는 마스터 지능 소자와 상호접속 장치 사이의 채널 신호(CHN) 중에서 마스터 지능 소자와 상호접속 장치 사이의 리퀘스트 신호들(ARVALID, ARREADY) 및 서비스 신호들(RVALID, RREADY, RLAST)에 기초하여 현재 레이턴시(CLAT)를 발생할 수 있다.
도 1에 도시된 상태 모니터들 중 적어도 일부, 즉 제1 내지 제3 상태 모니터들(501, 502, 503)은 각각 상응하는 마스터 장치의 액세스 요구 수준을 모니토링하여 시스템의 동작 상태를 나타내는 모니토링 신호들(MON1, MON2, MON3)을 발생할 수 있다. 제1 내지 제3 상태 모니터들(501, 502, 503)은 각각 상응하는 마스터 장치의 대역폭 또는 레이턴시를 모니토링할 수 있다. 한편, 도 1에 도시된 상태 모니터들 중 적어도 일부, 즉 제4 상태 모니터(504)는 메모리 콘트롤러(301)에 액세스되는 전체 대역폭을 모니토링하여 시스템의 동작 상태를 나타내는 모니토링 신호(MON4)를 발생할 수 있다.
도 16a, 16b 및 16c는 본 발명의 실시예들에 따른 파워 제어 값의 변경 방법들을 나타내는 도면들이다.
파워 제어 값의 변경은 도 3의 동적 파워 콘트롤러(700)의 레지스터(720)에 저장된 파워 제어 값(tENT, tINT)을 변경하여 저장하는 방식으로 수행될 수 있다. 이러한 파워 제어 값의 변경은 메모리 장치 및 이를 포함하는 시스템의 동작 오류를 유발할 수 있기 때문에 메모리 장치에 대한 액세스 동작이 수행되지 않은 시구간에서 수행될 필요가 있다.
도 16a를 참조하면, 시스템은 일반적으로 초기화 동작을 수행하고 상기 초기화 동작이 완료되면 노말 동작을 수행한다. 노말 동작 중에 전술한 바와 같이 시스템의 동작 상태를 모니토링하고, 모니토링 결과 상기 파워 제어 값의 변경이 필요한 경우, 시스템은 초기화 동작을 다시 수행하고 상기 초기화 동작 중에 상기 파워 제어 값을 변경할 수 있다.
도 16b를 참조하면, 상기 파워 제어 값의 변경이 필요한 경우, 상기 시스템은 도 1을 참조하여 전술한 바와 같은 동적 전압 주파수 스케일링(DVFS) 동작을 수행하고 상기 동적 전압 주파수 스케일링 동작 중에 상기 파워 제어 값을 변경할 수 있다. 일반적으로 상기 동적 전압 주파수 스케일링 동작 중에는 메모리 장치에 대한 액세스가 금지되므로 상기 동적 전압 주파수 스케일링 동작 중에 상기 파워 제어 값을 변경함으로써 메모리 장치 및 시스템의 동작 오류를 방지할 수 있다.
도 16c를 참조하면, 상기 파워 제어 값의 변경이 필요한 경우, 상기 시스템은 상기 메모리 장치에 대한 액세스가 금지되는 포즈(pause) 모드를 실행하고 상기 포즈 모드 중에 상기 파워 제어 값을 변경할 수 있다. 도 16b의 실시예와 비교하여 포즈 모드 중에는 상기 파워 제어 값의 변경만을 행하고 상기 동적 전압 주파수 스케일링 동작의 주파수 및/또는 전압의 변경이 필요 없기 때문에 제어 방법의 솔루션 구현 상의 자유도를 증가할 수 있다.
도 17은 본 발명의 실시예들에 따른 시스템 온 칩을 전자 기기에 응용한 예를 나타내는 블록도이다.
도 17을 참조하면, 전자 기기(2000)는 시스템 온 칩(1010), 메모리 장치(1020), 저장 장치(1030), 입출력 장치(1040), 파워 서플라이(1050) 및 이미지 센서(1060)를 포함할 수 있다. 한편, 도 17에는 도시되지 않았지만, 전자 기기(2000)는 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
시스템 온 칩(1010)은 도 1 내지 도 16c를 참조하여 설명한 본 발명의 실시예들에 따른 애플리케이션 프로세서 시스템 온 칩(AP SOC)으로서 상호접속 장치(INT)와 이에 연결된 복수의 지능 소자들(또는 기능 블록들)을 포함할 수 있다. 예를 들어, 상기 지능 소자들은 메모리 콘트롤러(memory controller)(MC), 중앙 처리부(central processing unit), 디스플레이 콘트롤러(display controller)(DIS), 파일 시스템 블록(file system block)(FSYS), 그래픽 처리부(graphic processing unit)(GPU), 이미지 신호 프로세서(image signal processor)(ISP), 멀티 포맷 코덱 블록(multi-format codec block)(MFC) 등을 포함할 수 있다. 메모리 콘트롤러(MC)는 전술한 바와 같은 동적 파워 콘트롤러를 포함할 수 있다. 상기 동적 파워 콘트롤러를 이용하여 시스템의 동작 상태에 따라서 파워 제어 값을 동적으로 변경하고, 액세스 모드 및 파워 다운 모드 사이의 전환을 동적으로 제어함으로써 시스템의 성능을 저하시키지 않으면서 메모리 장치에 의한 전력 소모를 절감할 수 있다.
시스템 온 칩(1010)은 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 메모리 장치(1020), 저장 장치(1030), 입출력 장치(1040) 및 이미지 센서(2060)와 통신을 수행할 수 있다. 실시예에 따라, 시스템 온 칩(1010)은 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 장치(1020)는 전자 기기(2000)의 동작에 필요한 데이터 및 프로그램 코드를 저장할 수 있다. 예를 들어, 메모리 장치(1020)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 저장 장치(1030)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다. 입출력 장치(1040)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 파워 서플라이(1050)는 전자 기기(2000)의 동작에 필요한 동작 전압을 공급할 수 있다.
이미지 센서(1060)는 상기 버스들 또는 다른 통신 링크를 통해서 시스템 온 칩(1010)과 연결되어 통신을 수행할 수 있다. 이미지 센서(1060)는 시스템 온 칩(1010)과 함께 하나의 칩에 집적될 수도 있고, 서로 다른 칩에 각각 집적될 수도 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 시스템 및 시스템의 제어 방법은 시스템의 동작 상태에 따라서 액세스 모드 및 파워 다운 모드 사이의 전환을 동적으로 제어함으로써 시스템의 성능을 저하시키지 않으면서 메모리 장치에 의한 전력 소모를 절감할 수 있다.
해당 기술 분야의 숙련된 당업자는 본 발명의 실시예들이 시스템, 방법, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수 있음을 이해할 것이다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 발명의 실시예들은 메모리 장치 및 및 이를 포함하는 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 임베디드 멀티미디어 카드(eMMC, embedded multimedia card), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 메모리 장치에 대한 액세스를 제어하는 메모리 콘트롤러;
    시스템의 동작 상태를 나타내는 모니토링 신호를 제공하는 적어도 하나의 상태 모니터;
    상기 모니토링 신호에 기초하여 동적으로 파워 제어 값을 변경하고, 상기 파워 제어 값에 기초하여 상기 메모리 장치에 대한 액세스가 수행되는 액세스 모드 및 상기 액세스가 수행되지 않는 파워 다운 모드 사이의 전환을 제어하는 동적 파워 콘트롤러;
    상기 메모리 장치에 대한 액세스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 장치들; 및
    각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고 상기 리퀘스트들의 중재 동작을 수행하는 상호접속 장치를 포함하는 시스템.
  2. 제1 항에 있어서,
    상기 파워 제어 값은 상기 메모리 장치가 상기 액세스 모드에서 상기 파워 다운 모드에 진입하기 위한 조건을 나타내는 제1 제어 값 및 상기 메모리 장치가 상기 파워 다운 모드를 유지하기 위한 조건을 나타내는 제2 제어 값을 포함하는 것을 특징으로 하는 시스템.
  3. 제2 항에 있어서,
    상기 제1 제어 값은 제1 시간에 해당하고,
    상기 동적 파워 콘트롤러는 상기 메모리 장치에 대한 액세스가 수행되지 않은 아이들(idle) 상태가 제1 시간 동안 유지되는 경우 상기 메모리 장치를 상기 파워 다운 모드에 진입하도록 제어하는 것을 특징으로 하는 시스템.
  4. 제2 항에 있어서,
    상기 제2 제어 값은 제2 시간에 해당하고,
    상기 동적 파워 콘트롤러는 상기 메모리 장치가 상기 파워 다운 모드에 진입한 후 상기 제2 시간이 경과한 후에 상기 메모리 장치를 상기 파워 다운 모드로부터 상기 액세스 모드로 웨이크업되도록 제어하는 것을 특징으로 하는 시스템.
  5. 제1 항에 있어서,
    상기 동적 파워 콘트롤러는 상기 메모리 장치에 대한 액세스를 요구하기 위한 상기 리퀘스트들을 발생하는 상기 마스터 장치들의 종류 및 동작 상태에 기초하여 상기 파워 제어 값을 변경하는 것을 특징으로 하는 시스템.
  6. 제1 항에 있어서,
    상기 동적 파워 콘트롤러는 상기 마스터 장치들의 종류 및 동작 상태에 관계 없이 상기 메모리 장치에 액세스되는 전체 대역폭에 기초하여 상기 파워 제어 값을 변경하는 것을 특징으로 하는 시스템.
  7. 제1 항에 있어서,
    상기 상태 모니터는,
    상기 복수의 마스터 장치들 중 상응하는 마스터 장치의 대역폭 또는 상기 메모리 장치에 액세스되는 전체 대역폭을 실시간으로 검출하여 현재 대역폭 레벨을 발생하는 대역폭 모니터; 및
    상기 현재 대역폭 레벨에 기초하여 상기 모니토링 신호를 발생하는 정보 발생기를 포함하는 것을 특징으로 하는 시스템.
  8. 제1 항에 있어서,
    상기 상태 모니터는,
    상기 복수의 마스터 장치들 중 상응하는 마스터 장치의 레이턴시를 실시간으로 검출하여 현재 레이턴시 레벨을 발생하는 레이턴시 모니터; 및
    상기 현재 레이턴시 레벨에 기초하여 상기 모니토링 신호를 발생하는 정보 발생기를 포함하는 것을 특징으로 하는 시스템.
  9. 제1 항에 있어서,
    상기 메모리 콘트롤러에 의해 제어되는 상기 메모리 장치는 디램(DRAM, dynamic random access memory)이고,
    상기 파워 다운 모드는 상기 메모리 콘트롤러부터의 리프레시 코맨드에 관계없이 상기 메모리 장치에서 내부적으로 리프레시 동작을 수행하는 셀프 리프레시 모드를 포함하는 것을 특징으로 하는 시스템.
  10. 시스템의 동작 상태를 나타내는 모니토링 신호를 제공하는 단계;
    상기 모니토링 신호에 기초하여 동적으로 파워 제어 값을 변경하는 단계; 및
    상기 파워 제어 값에 기초하여 상기 메모리 장치에 대한 액세스가 수행되는 액세스 모드 및 상기 액세스가 수행되지 않는 파워 다운 모드 사이의 전환을 제어하는 단계를 포함하는 시스템의 제어 방법.
KR1020180013857A 2018-02-05 2018-02-05 메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법 KR20190094570A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180013857A KR20190094570A (ko) 2018-02-05 2018-02-05 메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법
US16/194,512 US20190243439A1 (en) 2018-02-05 2018-11-19 System and method of controlling power down mode of memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180013857A KR20190094570A (ko) 2018-02-05 2018-02-05 메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법

Publications (1)

Publication Number Publication Date
KR20190094570A true KR20190094570A (ko) 2019-08-14

Family

ID=67475523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180013857A KR20190094570A (ko) 2018-02-05 2018-02-05 메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법

Country Status (2)

Country Link
US (1) US20190243439A1 (ko)
KR (1) KR20190094570A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220214917A1 (en) * 2021-01-07 2022-07-07 Quanta Computer Inc. Method and system for optimizing rack server resources

Also Published As

Publication number Publication date
US20190243439A1 (en) 2019-08-08

Similar Documents

Publication Publication Date Title
EP3662475B1 (en) Partial refresh technique to save memory refresh power
US5835435A (en) Method and apparatus for dynamically placing portions of a memory in a reduced power consumtion state
US8656196B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US6141283A (en) Method and apparatus for dynamically placing portions of a memory in a reduced power consumption state
US10559335B2 (en) Method of training drive strength, ODT of memory device, computing system performing the same and system-on-chip performing the same
KR20170057704A (ko) 액세스 동작과 리프레쉬 동작의 충돌을 제어하는 메모리 장치 및 이를 포함하는 메모리 시스템
KR20160056056A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10783950B2 (en) Memory management systems and methods using a management communication bus
US20140219042A1 (en) Memory device and method of refreshing in a memory device
KR101204645B1 (ko) 프리차지 관리의 미세한 세분화를 통한 메모리 처리량 증가
KR20170045795A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
KR20160003833A (ko) 액티브 프로세서에 기초한 동적 전압 및 주파수 관리
KR20150099170A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
US9147461B1 (en) Semiconductor memory device performing a refresh operation, and memory system including the same
US10777252B2 (en) System and method for performing per-bank memory refresh
KR20210110071A (ko) 스토리지 장치 및 상기 스토리지 장치의 동작 방법
GB2484204A (en) Power management of processor cache during processor sleep
US6934199B2 (en) Memory device and method having low-power, high write latency mode and high-power, low write latency mode and/or independently selectable write latency
US20210109587A1 (en) Power and thermal management in a solid state drive
KR20210101632A (ko) 스토리지 장치 및 상기 스토리지 장치의 동작 방법
EP3757720B1 (en) Ddr5 client pmic power up sequence and state transitions
US6931479B2 (en) Method and apparatus for multi-functional inputs of a memory device
KR20190094570A (ko) 메모리 장치의 파워 다운 모드를 동적으로 제어하는 시스템 및 시스템의 제어 방법
US20170147230A1 (en) Memory device and memory system having heterogeneous memories
EP4202604A1 (en) Fast self-refresh exit power state

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application