KR20140046815A - 전력 관리 집적 회로 및 그 구동 방법 - Google Patents

전력 관리 집적 회로 및 그 구동 방법 Download PDF

Info

Publication number
KR20140046815A
KR20140046815A KR1020120112958A KR20120112958A KR20140046815A KR 20140046815 A KR20140046815 A KR 20140046815A KR 1020120112958 A KR1020120112958 A KR 1020120112958A KR 20120112958 A KR20120112958 A KR 20120112958A KR 20140046815 A KR20140046815 A KR 20140046815A
Authority
KR
South Korea
Prior art keywords
data
code data
packet
integrated circuit
power management
Prior art date
Application number
KR1020120112958A
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 KR1020120112958A priority Critical patent/KR20140046815A/ko
Priority to US14/050,793 priority patent/US20140108835A1/en
Publication of KR20140046815A publication Critical patent/KR20140046815A/ko

Links

Images

Classifications

    • 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
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F1/00Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
    • G05F1/66Regulating electric power
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Power Engineering (AREA)
  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 발명은 전력 관리 집적 회로 및 그 구동 방법에 관한 것이다. 본 발명에 의한 전력 관리 집적 회로는 전력 관리 집적 회로를 구동하기 위한 코드 데이터를 저장하는 불휘발성 메모리, 휘발성 메모리에 저장된 프로그램 데이터를 구동하는 프로세서 및 상기 프로세서와 분리되어 하드웨어로 구현되며, 상기 코드 데이터를 압축해제하여 프로그램 데이터를 생성하고, 상기 프로그램 데이터를 상기 휘발성 메모리에 저장하는 압축해제 로직을 포함한다. 본 발명에 의한 전력 관리 집적 회로 및 그 구동 방법에 의하면, 동작 속도가 향상되며 차지하는 면적이 감소된다.

Description

전력 관리 집적 회로 및 그 구동 방법{POWER MANAGEMENT INTEGRATED CIRCUIT AND OPERATING METHOD THEREOF}
본 발명은 전력 관리 집적 회로 및 그 구동 방법에 관한 것이다.
최근 전자 장치의 휴대화 및 소형화가 진행되면서 전자 장치에 대한 전력 공급이 중요한 이슈로 떠오르고 있다. 특히 전자 장치의 시스템을 하나의 칩에 집적하는 SoC(System on Chip)화가 진행되면서 전력 관리 기능도 집적화가 요구되고 있다. 휴대폰, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 카메라 등의 저전력 휴대용 전자 장치들에 안정적으로 전력을 공급하기 위하여, 전력 관리 집적 회로(PMIC: Power Management Interrated Circuit)가 사용된다.
전자 장치 내의 여러 회로들은 서로 다른 공급 전원을 요구한다. 전력 관리 집적 회로는 배터리와 연결되어 서로 다른 공급 전원들을 생성한다. 전력 관리 집적 회로는 생성된 공급 전원들을 이용하여 전자 장치에 전력을 공급한다. 또한 전력 관리 집적 회로는 전자 장치의 구동 상태에 따라 공급 전력을 조절하여 장치의 전력 소모를 감소시킨다. 최근 전력 관리 집적 회로에 요구되는 기능이 증가되면서 전력 관리 집적 회로의 크기 및 복잡도가 증가되고 있다.
본 발명의 목적은 동작 속도를 향상시킨 전력 관리 집적 회로 및 그 구동 방법을 제공하는 것이다. 본 발명의 또 다른 목적은 면적을 감소시킨 전력 관리 집적 회로 및 그 구동 방법을 제공하는 것이다.
본 발명에 의한 전력 관리 집적 회로는 전력 관리 집적 회로를 구동하기 위한 코드 데이터를 저장하는 불휘발성 메모리, 휘발성 메모리에 저장된 프로그램 데이터를 구동하는 프로세서 및 상기 프로세서와 분리되어 하드웨어로 구현되며, 상기 코드 데이터를 압축해제하여 프로그램 데이터를 생성하고, 상기 프로그램 데이터를 상기 휘발성 메모리에 저장하는 압축해제 로직을 포함한다.
실시 예에 있어서, 상기 압축해제 로직은 상기 코드 데이터의 압축 여부를 판단하고, 상기 판단 결과에 따라 상기 코드 데이터를 압축해제하며, 상기 코드 데이터는 상기 코드 데이터의 압축 여부를 지시하는 헤더 데이터를 포함한다.
실시 예에 있어서, 상기 압축해제 로직은 상기 헤더 데이터를 참조하여 상기 코드 데이터의 압축 여부를 판단하는 압축 체크부, 상기 코드 데이터에 포함된 패킷의 압축 여부를 판단하는 패킷 체크부, 상기 패킷이 압축되어 있으면 상기 패킷을 압축해제 하는 패킷 압축해제부 및 상기 압축 체크부, 패킷 체크부 및 패킷 압축해제부와 연결되어 데이터를 저장하는 버퍼를 포함한다.
실시 예에 있어서, 상기 압축 체크부는 상기 헤더 데이터가 0이면 상기 코드 데이터가 비압축 코드 데이터라고 판정한다.
실시 예에 있어서, 상기 압축 체크부는 상기 코드 데이터가 비압축 코드 데이터라고 판정되면 상기 코드 데이터를 압축해제 하지 않고 상기 버퍼에 저장한다.
실시 예에 있어서, 상기 패킷은 압축 여부를 지시하는 플래그 비트를 포함한다.
실시 예에 있어서, 상기 패킷 체크부는 상기 플래그 비트가 0이면 상기 패킷을 비압축 패킷이라고 판정한다.
실시 예에 있어서, 상기 패킷 체크부는 상기 패킷이 비압축 패킷이라고 판정되면 상기 패킷을 압축해제 하지 않고 상기 버퍼에 저장한다.
실시 예에 있어서, 상기 패킷 압축해제부는 상기 패킷으로부터 사전 주소 및 매칭 길이를 판별하고, 상기 사전 주소 및 매칭 길이를 이용하여 물리 어드레스를 생성하고, 상기 물리 어드레스를 참조하여 상기 패킷을 압축해제한다.
실시 예에 있어서, 상기 불휘발성 메모리는 데이터를 저장하는 불휘발성 메모리 저장부 및 상기 불휘발성 메모리 저장부의 데이터 처리 동작을 제어하는 불휘발성 메모리 컨트롤러를 포함하며, 상기 압축해제 로직은 상기 불휘발성 메모리 컨트롤러에 포함된다.
실시 예에 있어서, 상기 휘발성 메모리는 데이터를 저장하는 휘발성 메모리 저장부 및 상기 휘발성 메모리 저장부의 데이터 처리 동작을 제어하는 휘발성 메모리 컨트롤러를 포함하며, 상기 압축해제 로직은 상기 휘발성 메모리 컨트롤러에 포함된다.
본 발명에 의한 전력 관리 집적 회로의 구동 방법에 있어서, 상기 전력 관리 집적 회로는 코드 데이터를 저장하는 불휘발성 메모리; 프로그램 데이터를 구동하는 프로세서; 및 상기 프로세서와 분리되어 하드웨어로 구현되는 압축해제 로직을 포함하고, 상기 전력 관리 집적 회로의 구동 방법은 상기 프로세서에 의하여 상기 코드 데이터가 요청될 때, 상기 압축해제 로직이 상기 불휘발성 메모리로부터 상기 코드 데이터를 수신하는 단계, 상기 코드 데이터를 압축해제하여 프로그램 데이터를 생성하는 단계 및 상기 프로그램 데이터를 상기 휘발성 메모리에 저장하는 단계를 포함한다.
실시 예에 있어서, 상기 코드 데이터의 압축 여부를 판별하는 단계를 더 포함하고, 상기 코드 데이터가 압축되어 있지 않으면 상기 코드 데이터를 프로그램 데이터로서 상기 휘발성 메모리에 저장한다.
실시 예에 있어서, 상기 코드 데이터를 압축해제하여 프로그램 데이터를 생성하는 단계는 상기 코드 데이터를 패킷 단위로 압축해제한다.
본 발명에 의한 전력 관리 집적 회로 및 그 구동 방법에 의하면, 동작 속도가 향상되며 차지하는 면적이 감소된다.
도 1은 본 발명의 실시예에 의한 전력 관리 집적 회로를 도시하는 블록도이다.
도 2는 본 발명의 하드웨어 압축해제 로직의 일실시예를 설명하는 블록도이다.
도 3은 본 발명의 패킷 압축해제 방법의 일실시예를 도시하는 순서도이다.
도 4는 본 발명의 다른 실시예에 의한 전력 관리 집적 회로를 도시하는 블록도이다.
도 5는 본 발명의 또 다른 실시예에 의한 전력 관리 집적 회로를 도시하는 블록도이다.
도 6은 본 발명의 실시예에 의한 전력 관리 집적 회로의 구동 방법을 도시하는 순서도이다.
도 7은 본 발명에 의한 전력 관리 집적 회로를 전자 장치에 적용한 예를 도시하는 블록도이다.
도 8은 본 발명에 의한 전력 관리 집적 회로를 스마트폰에 적용한 예를 도시하는 블록도이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시예가 첨부된 도면을 참조하여 설명한다. 또한 이하에서 사용되는 용어들은 오직 본 발명을 설명하기 위하여 사용된 것이며 본 발명의 범위를 한정하기 위해 사용된 것은 아니다. 앞의 일반적인 설명 및 다음의 상세한 설명은 모두 예시적인 것으로 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
도 1은 본 발명의 실시예에 의한 전력 관리 집적 회로(100)를 도시하는 블록도이다. 도 1을 참조하면, 전력 관리 집적 회로(100)는 마이크로프로세서(MCU: Microprocessor, 110), 불휘발성 메모리(120), 하드웨어 압축해제 로직(130) 및 휘발성 메모리(140)를 포함한다.
본 실시예에서, 전력 관리 집적 회로(100)는 동작에 요구되는 코드 데이터(code data)를 압축하여 불휘발성 메모리(120)에 저장한다. 코드 데이터는, 예를 들어 전력 관리 집적 회로(100)의 부팅에 요구되는 데이터일 수 있다. 전력 관리 집적 회로(100)는 압축된 코드 데이터를 하드웨어 압축해제 로직(130)을 통해 압축해제(decompression)한다. 전력 관리 집적 회로(100)는 압축해제된 코드 데이터를 불휘발성 메모리(120)의 작업 영역(working area)에 로드한다. 전력 관리 집적 회로(100)는 작업 영역에 로드된 데이터를 기초로 동작한다.
전력 관리 집적 회로(100)는 코드 데이터를 압축하여 사용한다. 따라서 코드 데이터가 저장되는 불휘발성 메모리(120)의 크기는 작아질 수 있다. 전력 관리 집적 회로(100) 내에서, 불휘발성 메모리(120)는 다른 구성요소들에 비하여 차지하는 공간이 크다. 따라서 불휘발성 메모리(120)의 크기가 감소됨에 따라 전력 관리 집적 회로(100)의 크기도 작아질 수 있다.
하드웨어 압축해제 로직(130)은 압축해제 프로그램을 사용하지 않고 하드웨어적으로 압축해제를 수행한다. 하드웨어 압축해제 로직(130)의 압축해제 속도는 마이크로프로세서를 이용하여 소프트웨어적으로 압축해제하는 속도보다 빠르다. 그러므로 전력 관리 집적 회로(100)는 동작 속도가 빨라지면서도 작은 면적으로 구현될 수 있다. 이하 도면을 참조하여 더 자세히 설명한다.
마이크로프로세서(110)는 전력 관리 집적 회로(100)의 전반적인 동작을 제어한다. 마이크로프로세서(110)는 불휘발성 메모리(120) 및 휘발성 메모리(140)의 동작을 제어할 수 있다. 마이크로프로세서(110)는 DSP(Digital Signal Processor)를 포함할 수 있다. 또한 본 실시예 및 도면에서는 중앙 처리 장치로서 마이크로프로세서(MCU:Microprocessor)가 사용되었으나, 본 발명의 중앙 처리 장치가 이에 한정되는 것은 아니다.
불휘발성 메모리(120)는 전력 관리 집적 회로(100)의 동작에 요구되는 코드 데이터를 저장한다. 불휘발성 메모리(120)는 마이크로프로세서(110)의 제어에 따라 코드 데이터를 하드웨어 압축해제 로직(130)으로 전송한다. 불휘발성 메모리(120)는 상변화 메모리(PCM: Phase Change Memory), 자기 메모리(MRAM: Magentic Random Access Memory), 강자성 메모리(FRAM: Ferromagentic Random Access Memory) 혹은 플래시 메모리(Flash memory) 등일 수 있다. 그러나 이는 예시적인 것으로 본 발명은 이에 한정되지 않는다.
하드웨어 압축해제 로직(130)은 불휘발성 메모리(120)로부터 입력된 코드 데이터를 압축해제 한다. 하드웨어 압축해제 로직(130)은 압축해제된 데이터, 즉 프로그램 데이터를 휘발성 메모리(140)로 전송한다. 하드웨어 압축해제 로직(130)은 불휘발성 메모리(120) 혹은 휘발성 메모리(140)와는 달리 독립적인 회로로 구성된다.
또한 하드웨어 압축해제 로직(130)은 마이크로프로세서(110) 혹은 시스템 버스와 연결되지 않는다. 하드웨어 압축해제 로직은 마이크로프로세서(110)의 제어를 받지 않고 독립적으로 압축해제 동작을 수행한다. 하드웨어 압축해제 로직(130)의 동작은 도 2를 참조하여 더 자세히 설명될 것이다.
마이크로프로세서(110)를 이용하여 코드 데이터를 소프트웨어적으로 압축해제하기 위해서는, 압축해제 프로그램을 위한 프로그램 데이터가 불휘발성 메모리에 저장되어 있어야 한다. 마이크로프로세서(110)는 프로그램 데이터를 불휘발성 메모리로부터 휘발성 메모리로 로드하여야 할 것이다. 마이크로프로세서(110)는 로드된 프로그램 데이터를 패치(fetch)하여 압축해제를 수행할 것이다. 따라서 소프트웨어적으로 코드 데이터를 압축해제하기 위해서는, 코드 패치 및 프로그램 수행 단계를 거쳐야 하므로, 수행 시간이 길어진다.
반면, 하드웨어 압축해제 로직(130)은 압축해제 프로그램을 사용하지 않고 하드웨어적으로 코드 데이터를 압축해제한다. 하드웨어 압축해제 로직(130)은 다른 구성 요소들의 제어를 받지 않는 독립적인 블록으로 구성되므로, 코드 데이터가 입력되면 추가적인 동작 없이 바로 압축해제 동작을 수행한다. 따라서 하드웨어 압축해제 로직(130)은 빠른 압축해제 동작을 수행할 수 있다.
하드웨어 압축해제 로직(130)이 압축해제하는 코드 데이터는 전력 관리 집적 회로(100)의 부팅 데이터를 포함한다. 전력 관리 집적 회로(100)가 구비된 시스템이 파워-온(power-on)될 때, 전력 관리 집적 회로(100)는 시스템에서 가장 먼저 부팅되어야 한다. 본 발명에 의하면, 전력 관리 집적 회로(100)의 부팅 시간이 짧아지므로 전체 시스템의 부팅 시간이 짧아질 수 있다.
휘발성 메모리(140)는 하드웨어 압축해제 로직(130)으로부터 압축해제된 코드 데이터를 입력받는다. 휘발성 메모리(140)는 압축해제된 코드 데이터를 저장한다. 마이크로프로세서(110)는 휘발성 메모리(140)에 저장된 데이터를 이용하여 전력 관리 집적 회로(100)를 구동한다. 휘발성 메모리(140)는 디램(DRAM) 또는 에스램(SRAM)일 수 있다. 그러나 이는 예시적인 것으로 본 발명은 이에 한정되지 않는다.
도 2는 본 발명의 하드웨어 압축해제 로직(130)의 일실시예를 설명하는 블록도이다. 도 2를 참조하면, 하드웨어 압축해제 로직(130)은 압축 체크부(131), 패킷 체크부(132), 패킷 압축해제부(133) 및 버퍼(134)를 포함한다. 그러나 이는 예시적인 것으로 본 발명의 하드웨어 압축해제 로직(130)이 본 구조에 한정되는 것은 아니다.
압축 체크부(131)는 불휘발성 메모리(도 1 참조, 120)로부터 코드 데이터를 입력받는다. 압축 체크부(131)는 코드 데이터의 헤더 데이터(Header Data)를 참조하여 입력된 코드 데이터의 압축 여부를 판단한다. 일실시예로서, 압축 체크부는 헤더 데이터가 0이면 입력된 코드 데이터가 비압축(uncompressed) 데이터라고 판정할 수 있다. 압축 체크부는 헤더 데이터가 1이면 입력된 코드 데이터가 압축(compresssed) 데이터라고 판정할 수 있다.
압축 체크부(131)는 비압축 데이터라고 판정된 데이터의 모든 패킷을 순차적으로 버퍼(134)로 전송한다. 비압축 데이터는 불휘발성 메모리(120)에 저장된 데이터 중 압축되지 않은 데이터이다. 비압축 데이터는 압축해제 과정을 거치지 않고 버퍼(134)에 저장된다.
압축 체크부(131)는 압축 데이터라고 판정된 데이터의 패킷을 순차적으로 패킷 체크부(132)로 전송한다. 압축 데이터는 압축해제 과정을 거친 후 버퍼(134)에 저장될 것이다.
패킷 체크부(132)는 입력된 데이터 패킷의 압축 여부를 판단한다. 일실시예로서, 데이터 패킷은 압축 플래그 비트(comppression flag bit)를 포함할 수 있다. 패킷 체크부(132)는 압축 플래그 비트가 0이면 입력된 데이터 패킷을 비압축 패킷으로 판정할 수 있다. 패킷 체크부(132)는 압축 플래그 비트가 1이면 입력된 데이터 패킷을 압축 패킷으로 판정할 수 있다.
패킷 체크부(132)는 비압축 패킷이라고 판정된 패킷을 버퍼(134)로 전송한다. 패킷 체크부(132)는 압축 패킷이라고 판정된 패킷을 패킷 압축해제부(133)로 전송한다.
패킷 압축해제부(133)는 입력된 압축 패킷을 압축해제한다. 패킷 압축해제부는 압축해제된 패킷을 버퍼(134)로 전송한다. 패킷 압축해제부(133)의 압축해제 방법은 불휘발성 메모리에 저장된 코드 데이터의 압축 방식에 따라 가변될 수 있다. 패킷 압축해제부(133)의 압축해제 방법의 일실시예가 도 3을 참조하여 설명될 것이다. 그러나 이는 예시적인 것으로 본 발명의 압축 및 압축 해제 방법이 상기 실시예로 한정되는 것은 아니다.
버퍼(134)는 압축 체크부(131), 패킷 체크부(132) 및 패킷 압축해제부(133)로부터 압축되지 않은(uncompressed) 혹은 압축해제된(decompressed) 데이터 패킷들을 입력받는다. 버퍼(134)는, 코드 데이터의 모든 패킷이 입력되면, 입력된 데이터를 휘발성 메모리(도 1 참조, 140)의 동작 영역(working area)에 저장한다. 저장된 데이터는 마이크로프로세서(도 1 참조, 140)에 의하여 구동될 것이다.
상술된 하드웨어 압축해제 로직(130)은 압축해제 프로그램을 사용하지 않고 하드웨어적으로 코드 데이터를 압축해제한다. 또한 하드웨어 압축해제 로직(130)은 다른 구성 요소들의 제어를 받지 않는 독립적인 블록으로 구성되므로, 코드 데이터가 입력되면 추가적인 동작 없이 바로 압축해제 동작을 수행한다. 따라서 하드웨어 압축해제 로직(130)은 빠른 압축해제 동작을 수행할 수 있다.
도 3은 본 발명의 패킷 압축해제 방법의 일실시예를 도시하는 순서도이다. 본 실시예에서, 코드 데이터는 사전 참조(Dictionary Refenece) 방식으로 압축되어 불휘발성 메모리에 저장된다.
S110 단계에서, 입력된 압축 패킷으로부터 사전 위치(Dictionary Position) 및 매치 길이(Match Length)가 판별된다. 사전 위치는 입력된 압축 패킷에 대응되는 사전(Dictionary) 상의 위치를 나타낸다. 매치 길이는 입력된 압축 패킷에 대응되는 비트 길이를 나타낸다.
S120 단계에서, 사전 위치 및 비트 길이로부터 원 데이터(original data)가 저장된 물리 어드레스(physical address)를 계산한다.
S130 단계에서, 계산된 물리 어드레스를 이용하여 사전(Dictionary)을 검색하고, 매치되는 코드 데이터를 버퍼로 로드한다. 로드된 코드 데이터는 압축 패킷이 압축되기 전의 원 데이터일 것이다.
도 3의 패킷 압축해제 방법에 따르면, 하드웨어 압축해제 로직은 사전 참조 방식으로 압축된 코드 데이터를 패킷 단위로 압축해제할 수 있다. 사전 참조 방식은 무손실 압축 방식이므로, 하드웨어 압축해제 로직은 데이터의 손실 없이 빠른 시간으로 압축을 해제할 수 있다.
도 4는 본 발명의 다른 실시예에 의한 전력 관리 집적 회로(200)를 도시하는 블록도이다. 도 4의 마이크로프로세서(210) 및 휘발성 메모리(230)는 도 1의 마이크로프로세서(110) 및 휘발성 메모리(140)와 동작 및 구성이 동일하다.
불휘발성 메모리(220)는 불휘발성 메모리 저장부(NVM Storage, 221) 및 불휘발성 메모리 컨트롤러(222)를 포함한다.
불휘발성 메모리 저장부(221)는 전력 관리 집적 회로(200)의 동작에 요구되는 코드 데이터를 저장한다. 불휘발성 메모리 저장부(221)에 저장되는 코드 데이터는 다양한 방식으로 압축될 수 있다.
불휘발성 메모리 컨트롤러(222)는 불휘발성 메모리 저장부(221)의 동작을 제어한다. 예를 들어, 불휘발성 메모리 컨트롤러(222)는 불휘발성 메모리 저장부(221)에 저장된 데이터에 대한 읽기 동작을 제어한다.
불휘발성 메모리 컨트롤러(222)는 하드웨어 압축해제 로직(223)을 포함한다. 마이크로프로세서(210)로부터 데이터 읽기 요청이 들어오면, 불휘발성 메모리 컨트롤러(222)는 불휘발성 메모리 저장부(221)에 저장된 코드 데이터를 독출한다. 불휘발성 메모리 컨트롤러(222)는 독출된 코드 데이터를 하드웨어 압축해제 로직(223)을 이용하여 압축해제한다.
하드웨어 압축해제 로직(223)은 메모리 컨트롤러(222)에 포함되나, 마이크로프로세서(210)의 제어를 받지 않는다. 하드웨어 압축해제 로직(223)은 입력된 코드 데이터를 독립적으로 압축해제하여 휘발성 메모리(230)로 전송한다.
상술된 바와 같이, 전력 관리 집적 회로(200)에서 코드 데이터는 불휘발성 메모리 컨트롤러(222)에 의하여 압축해제되어 휘발성 메모리(230)로 전송된다. 불휘발성 메모리 컨트롤러(222)가 압축해제하는 코드 데이터는 전력 관리 집적 회로(200)의 부팅 데이터를 포함한다. 전력 관리 집적 회로(200)가 구비된 시스템이 파워-온(power-on)될 때, 전력 관리 집적 회로(200)는 시스템에서 가장 먼저 부팅되어야 한다. 본 발명에 의하면, 전력 관리 집적 회로(200)의 부팅 시간이 짧아지므로 전체 시스템의 부팅 시간이 짧아질 수 있다. 또한 불휘발성 메모리 저장부(221)에 저장되어야 하는 데이터의 크기가 감소되므로 전력 관리 집적 회로(200)의 전체 크기가 감소될 수 있다.
도 5는 본 발명의 또 다른 실시예에 의한 전력 관리 집적 회로(300)를 도시하는 블록도이다. 도 5의 마이크로프로세서(310) 및 불휘발성 메모리(320)는 도 1의 마이크로프로세서(110) 및 불휘발성 메모리(120)와 동작 및 구성이 동일하다.
휘발성 메모리(330)는 휘발성 메모리 컨트롤러(333) 및 휘발성 메모리 저장부(VM Storage, 333)를 포함한다.
휘발성 메모리 컨트롤러(331)는 휘발성 메모리 저장부(333)의 동작을 제어한다. 예를 들어, 휘발성 메모리 컨트롤러(331)는 휘발성 메모리 저장부(333)에 대한데이터 쓰기 동작을 제어한다.
휘발성 메모리 컨트롤러(331)는 하드웨어 압축해제 로직(332)을 포함한다. 마이크로프로세서(310)로부터 데이터 읽기 요청이 들어오면, 불휘발성 메모리(320)는 저장된 코드 데이터를 휘발성 메모리(330)로 전송한다. 휘발성 메모리 컨트롤러(331)는 전송된 코드 데이터를 하드웨어 압축해제 로직(332)를 이용하여 압축해제한다.
하드웨어 압축해제 로직(332)은 휘발성 메모리 컨트롤러(331)에 포함되나, 마이크로프로세서(310)의 제어를 받지 않는다. 하드웨어 압축해제 로직(332)은 입력된 코드 데이터를 독립적으로 압축해제하여 휘발성 메모리 저장부(333)로 전송한다.
상술된 바와 같이, 전력 관리 집적 회로(300)에서 코드 데이터는 휘발성 메모리(330)로 전송된다. 전송된 코드 데이터는 휘발성 메모리 컨트롤러(331)에 의하여 압축해제되어 휘발정 메모리 저장부(333)에 저장된다. 휘발성 메모리 컨트롤러(331)가 압축해제하는 코드 데이터는 전력 관리 집적 회로(300)의 부팅 데이터를 포함한다. 전력 관리 집적 회로(300)가 구비된 시스템이 파워-온(power-on)될 때, 전력 관리 집적 회로(300)는 시스템에서 가장 먼저 부팅되어야 한다. 본 발명에 의하면, 전력 관리 집적 회로(300)의 부팅 시간이 짧아지므로 전체 시스템의 부팅 시간이 짧아질 수 있다. 또한 불휘발성 메모리(320)에 저장되어야 하는 데이터의 크기가 감소되므로 전력 관리 집적 회로(100)의 전체 크기가 감소될 수 있다.
도 6은 본 발명의 실시예에 의한 전력 관리 집적 회로의 구동 방법을 도시하는 순서도이다. 도 6을 참조하면, 전력 관리 집적 회로는 압축된 코드 데이터를 하드웨어적으로 압축해제하므로, 크기가 감소되며 속도가 빨라질 수 있다.
S210 단계에서, 마이크로프로세서가 불휘발성 메모리에 저장된 데이터를 요청한다. 마이크로 프로세서는 시스템 부팅 단계에서 전력 관리 집적 회로의 부팅 데이터를 요청할 수 있다. 불휘발성 메모리는 마이크로프로세서의 요청에 응답하여 코드 데이터를 하드웨어 압축해제 로직으로 전송한다.
S220 단계에서, 하드웨어 압축해제 로직은 코드 데이터 중 헤더 데이터를 먼저 수신한다.
S230 단계에서, 하드웨어 압축해제 로직은 헤더 데이터를 참조하여 입력된 코드 데이터의 압축 여부를 판별한다. 예를 들어, 하드웨어 압축해제 로직은 헤더 데이터가 0이면 입력된 코드 데이터가 비압축 코드 데이터라고 판정할 수 있다. 하드웨어 압축해제 로직은 헤더 데이터가 1이면 입력된 코드 데이터가 압축 코드 데이터라고 판정할 수 있다.
S231 단계에서, 입력된 코드 데이터가 비압축 코드 데이터라고 판별되면, 하드웨어 압축해제 로직은 헤더 데이터의 다음 데이터 패킷을 수신한다.
S232 단계에서, 하드웨어 압축해제 로직은 수신된 데이터를 버퍼에 저장한다. 상기 데이터 저장 과정은 코드 데이터의 마지막 패킷이 수신될 때까지 반복된다(S233).
S240 단계에서, 입력된 코드 데이터가 압축 코드 데이터라고 판별되면, 하드웨어 압축해제 로직은 헤더 데이터의 다음 데이터 패킷을 수신한다.
S250 단계에서, 하드웨어 압축해제 로직은 입력된 패킷의 압축 여부를 판별한다. 예를 들어, 하드웨어 압축해제 로직은 압축 플래그 비트가 0이면 입력된 패킷이 비압축 패킷이라고 판정할 수 있다. 하드웨어 압축해제 로직은 압축 플래그 비트가 1이면 입력된 패킷이 압축 코드 패킷이라고 판정할 수 있다.
S251 단계에서, 입력된 패킷이 비압축 패킷이라고 판별되면, 하드웨어 압축해제 로직은 패킷을 압축해제 하지 않고 버퍼에 저장한다(S270).
S260 단계에서, 입력된 패킷이 압축 패킷이라고 판별되면, 하드웨어 압축해제 로직은 패킷을 압축해제 하여 버퍼에 저장한다(S270). 코드 데이터에 대한 압축 방식은 사전 참조 방식일 수 있다. S260 단계에서, 하드웨어 압축해제 로직은 입력된 패킷에 대한 사전 위치 및 매치 길이를 식별하여 패킷을 압축해제 할 수 있다.
S280 단계에서, 상기 패킷의 압축 여부를 식별하여 압축해제한 뒤 버퍼에 저장하는 과정은 코드 데이터의 마지막 패킷이 수신될 때까지 반복된다.
S290 단계에서, 버퍼에 마지막 패킷이 저장되면 하드웨어 압축해제 로직은 압축해제된 코드 데이터를 휘발성 메모리의 동작 영역에 저장한다. 저장된 코드 데이터는 마이크로프로세서에 의하여 구동된다.
상술된 바와 같이, 본 실시예의 전력 관리 집적 회로의 구동 방법에 의하면 코드 데이터는 압축되어 불휘발성 메모리에 저장된다. 따라서 불휘발성 메모리에 저장되어야 하는 데이터의 크기가 감소되므로 전력 관리 집적 회로의 전체 크기가 감소될 수 있다. 또한 압축된 코드 데이터는 하드웨어적으로 압축해제되므로 전력 관리 집적 회로의 부팅 시간이 짧아져 전체 시스템의 부팅 시간이 짧아질 수 있다.
도 7은 본 발명에 의한 전력 관리 집적 회로를 전자 장치(1000)에 적용한 예를 도시하는 블록도이다. 여기에서, 전자 장치(1000)는 퍼스널 컴퓨터(PC)로 구현되거나, 노트북 컴퓨터, 스마트폰, PDA(Personal Digital Assistant), 그리고 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
도 7을 참조하면, 전자 장치(1000)는 전력 관리 집적 회로(1100), 배터리(1200), 저장 장치(1300), 중앙처리장치(1400), 디램(1500), 그리고 사용자 인터페이스(2600)를 포함한다.
상술된 바와 같이, 본 발명에 따른 전자 장치(1000)는 전력 관리 집적 회로(1100)의 부팅에 사용되는 데이터를 압축하여 저장한다. 전자 장치(1000)는 압축된 코드 데이터를 하드웨어적으로 압축해제하여 사용할 수 있다. 본 실시예에 의한 전력 관리 집적 회로(1100)는 작은 크기 및 감소된 동작 시간을 가진다. 따라서 전자 장치(1000)의 크기가 감소될 수 있으며, 부팅 시간이 짧아질 수 있다.
도 8은 본 발명에 의한 전력 관리 집적 회로를 스마트폰(2000)에 적용한 예를 도시하는 블록도이다. 도 8을 참조하면, 스마트폰(2000)은 전력 관리 집적 회로(2100), 배터리(2200), 터치 및 디스플레이 패널(2300), 모뎀(2400), GPS(2500), ISP(2600), 카메라 모듈(2700) 및 MCP(2800)를 포함한다.
터치 및 디스플레이 패널(2300)은 사용자의 터치를 센싱하는 터치 패널 및 화상을 표시하는 디스플레이 패널을 포함한다. 터치 패널은 정전식 센서를 포함할 수 있다.
모뎀(2400)은 GSM(Global System for Mobile Communications), UMTS(Unversal Mobile Telephone System), WCDMA(Wideband Code Division Multiple Access) 등의 셀룰러 망 기지국에 접속할 수 있다. 모뎀(2400)은 음성 통화 및 데이터 통화의 송수신 동작을 수행할 수 있다.
GPS(Global Positioning System, 2500)는 위성으로부터 GPS 신호를 수신하여 수신된 데이터를 처리한다.
ISP(Image Signal Processor, 2600)는 카메라 모듈(2700)에 내장된 이미지 센서로부터 입력되는 빛 신호를 디지털 데이터로 변환한다. ISP(2600)는 변환된 디지털 신호를 MCP(2800)에 전달한다.
MCP(Multi Chip Package, 2800)는 스마트폰(2000)의 동작을 제어하는 중앙 처리 장치이다. MCP는 AP(Application Processor)를 포함할 수 있다.
전력 관리 집적 회로(2100)는 배터리(2200)와 연결된다. 전력 관리 집적 회로(2100)는 스마트폰(2000)에 공급되는 전력을 조절 및 제공한다. 본 발명의 전력 관리 집적 회로(2100)는 부팅에 사용되는 데이터를 압축하여 저장한다. 전력 관리 집적 회로(2100)는 압축된 코드 데이터를 하드웨어적으로 압축해제하여 사용할 수 있다. 본 실시예에 의한 전력 관리 집적 회로(2100)는 작은 크기 및 감소된 동작 시간을 가진다. 따라서 스마트폰(2000)의 크기가 감소될 수 있으며, 부팅 시간이 짧아질 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형될 수 있다. 예를 들어, 하드웨어 압축해제 로직의 세부적 구성은 사용 환경이나 용도에 따라 다양하게 변화 또는 변경될 수 있을 것이다. 본 발명에서 사용된 특정한 용어들은 본 발명을 설명하기 위한 목적에서 사용된 것이며 그 의미를 한정하거나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어서는 안되며 후술하는 특허 청구범위 뿐만 아니라 이 발명의 특허 청구범위와 균등한 범위에 대하여도 적용되어야 한다.
100: 전원 관리 집적 회로
110: 마이크로프로세서
120: 불휘발성 메모리
130: 하드웨어 압축해제 로직
140: 휘발성 메모리

Claims (10)

  1. 전력 관리 집적 회로를 구동하기 위한 코드 데이터를 저장하는 불휘발성 메모리;
    휘발성 메모리에 저장된 프로그램 데이터를 구동하는 프로세서; 및
    상기 프로세서와 분리되어 하드웨어로 구현되며, 상기 코드 데이터를 압축해제하여 프로그램 데이터를 생성하고, 상기 프로그램 데이터를 상기 휘발성 메모리에 저장하는 압축해제 로직을 포함하는 전력 관리 집적 회로.
  2. 제 1항에 있어서,
    상기 압축해제 로직은 상기 코드 데이터의 압축 여부를 판단하고, 상기 판단 결과에 따라 상기 코드 데이터를 압축해제하며,
    상기 코드 데이터는 상기 코드 데이터의 압축 여부를 지시하는 헤더 데이터를 포함하는 전력 관리 집적 회로.
  3. 제 2항에 있어서,
    상기 압축해제 로직은
    상기 헤더 데이터를 참조하여 상기 코드 데이터의 압축 여부를 판단하는 압축 체크부;
    상기 코드 데이터에 포함된 패킷의 압축 여부를 판단하는 패킷 체크부;
    상기 패킷이 압축되어 있으면 상기 패킷을 압축해제 하는 패킷 압축해제부; 및
    상기 압축 체크부, 패킷 체크부 및 패킷 압축해제부와 연결되어 데이터를 저장하는 버퍼를 포함하는 전력 관리 집적 회로.
  4. 제 3항에 있어서,
    상기 코드 데이터는 사전 참조 방식으로 압축되는 전력 관리 집적 회로.
  5. 제 4항에 있어서,
    상기 패킷 압축해제부는
    상기 패킷으로부터 사전 주소 및 매칭 길이를 판별하고, 상기 사전 주소 및 매칭 길이를 이용하여 물리 어드레스를 생성하고, 상기 물리 어드레스를 참조하여 상기 패킷을 압축해제 하는 전력 관리 집적 회로.
  6. 제 1항에 있어서,
    상기 불휘발성 메모리는
    데이터를 저장하는 불휘발성 메모리 저장부; 및
    상기 불휘발성 메모리 저장부의 데이터 처리 동작을 제어하는 불휘발성 메모리 컨트롤러를 포함하며,
    상기 압축해제 로직은 상기 불휘발성 메모리 컨트롤러에 포함되는 전력 관리 집적 회로.
  7. 제 1항에 있어서,
    상기 휘발성 메모리는
    데이터를 저장하는 휘발성 메모리 저장부; 및
    상기 휘발성 메모리 저장부의 데이터 처리 동작을 제어하는 휘발성 메모리 컨트롤러를 포함하며,
    상기 압축해제 로직은 상기 휘발성 메모리 컨트롤러에 포함되는 전력 관리 집적 회로.
  8. 전력 관리 집적 회로의 구동 방법에 있어서,
    상기 전력 관리 집적 회로는 코드 데이터를 저장하는 불휘발성 메모리; 프로그램 데이터를 구동하는 프로세서; 및 상기 프로세서와 분리되어 하드웨어로 구현되는 압축해제 로직을 포함하고,
    상기 전력 관리 집적 회로의 구동 방법은
    상기 프로세서에 의하여 상기 코드 데이터가 요청될 때, 상기 압축해제 로직이 상기 불휘발성 메모리로부터 상기 코드 데이터를 수신하는 단계;
    상기 코드 데이터를 압축해제하여 프로그램 데이터를 생성하는 단계; 및
    상기 프로그램 데이터를 상기 휘발성 메모리에 저장하는 단계를 포함하는 전력 관리 집적 회로의 구동 방법.
  9. 제 8항에 있어서,
    상기 코드 데이터의 압축 여부를 판별하는 단계를 더 포함하고,
    상기 코드 데이터가 압축되어 있지 않으면 상기 코드 데이터를 프로그램 데이터로서 상기 휘발성 메모리에 저장하는 전력 관리 집적 회로의 구동 방법.
  10. 제 8항에 있어서,
    상기 코드 데이터를 압축해제하여 프로그램 데이터를 생성하는 단계는 상기 코드 데이터를 패킷 단위로 압축해제하는 단계인 전력 관리 집적 회로의 구동 방법.
KR1020120112958A 2012-10-11 2012-10-11 전력 관리 집적 회로 및 그 구동 방법 KR20140046815A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120112958A KR20140046815A (ko) 2012-10-11 2012-10-11 전력 관리 집적 회로 및 그 구동 방법
US14/050,793 US20140108835A1 (en) 2012-10-11 2013-10-10 Power management integrated circuit and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120112958A KR20140046815A (ko) 2012-10-11 2012-10-11 전력 관리 집적 회로 및 그 구동 방법

Publications (1)

Publication Number Publication Date
KR20140046815A true KR20140046815A (ko) 2014-04-21

Family

ID=50476559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120112958A KR20140046815A (ko) 2012-10-11 2012-10-11 전력 관리 집적 회로 및 그 구동 방법

Country Status (2)

Country Link
US (1) US20140108835A1 (ko)
KR (1) KR20140046815A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10325631B1 (en) * 2018-03-12 2019-06-18 Micron Technology, Inc. Power management integrated circuit with dual power feed

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
US8432800B2 (en) * 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US7779101B1 (en) * 2006-06-27 2010-08-17 Emc Corporation Method and apparatus for mapping and identifying the root causes of performance problems in network-based services
JP2010020408A (ja) * 2008-07-08 2010-01-28 Ricoh Co Ltd ワイヤレスusbデバイス
US8301803B2 (en) * 2009-10-23 2012-10-30 Samplify Systems, Inc. Block floating point compression of signal data
US9019943B2 (en) * 2010-07-29 2015-04-28 Qualcomm Incorporated Systems and methods of communication using tunneled direct link setup (TDLS)
US20130018932A1 (en) * 2011-07-12 2013-01-17 Hughes Network Systems, Llc System and method for long range and short range data compression

Also Published As

Publication number Publication date
US20140108835A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
US11372472B2 (en) System on chip for reducing wake-up time, method of operating same, and computer system including same
US11507299B2 (en) Method for processing data and electronic device supporting same
US9116631B2 (en) Mobile device and method of managing data using swap thereof
EP2487583B1 (en) Booting apparatus and method using snapshot image
US20200201653A1 (en) Method of Implementing Magnetic Random Access Memory (MRAM) for Mobile System-on-Chip Boot
US20150138884A1 (en) Memory Systems Including Nonvolatile Buffering and Methods of Operating the Same
US20140281344A1 (en) Data processing system and method of operating the same
US8615624B2 (en) Methods, apparatuses, and computer program products for enhancing memory erase functionality
US10007613B2 (en) Reconfigurable fetch pipeline
WO2020220971A1 (zh) 一种文件加载方法、装置、电子设备及存储介质
CN113590501A (zh) 一种数据存储方法及相关设备
KR20140073955A (ko) 메모리 시스템 및 그 구동 방법
KR20140046815A (ko) 전력 관리 집적 회로 및 그 구동 방법
KR102174337B1 (ko) 메모리 시스템 및 이를 포함하는 전자 장치
KR102287402B1 (ko) 버스 인터페이스 장치, 이를 포함하는 반도체 집적회로 장치 및 상기 장치의 동작 방법
KR20170038282A (ko) 전자 장치 및 그 부팅 방법
US8108663B2 (en) Micro controller and method of updating the same
US11417026B2 (en) Operating method of image processor with varying packing directions, image processing apparatus with varied packing directions, and operating method of the image processing apparatus with the varied packing directions
KR20220036169A (ko) 메모리 시스템 및 데이터 처리 시스템
CN116627876A (zh) 地址重映射方法、装置、设备及存储介质
KR20220079212A (ko) 가비지 컬렉션을 수행하기 위한 전자 장치 및 방법
CN115408331A (zh) 流再处理系统以及用于操作流再处理系统的方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid