KR20110032606A - 전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러 - Google Patents

전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러 Download PDF

Info

Publication number
KR20110032606A
KR20110032606A KR1020090090176A KR20090090176A KR20110032606A KR 20110032606 A KR20110032606 A KR 20110032606A KR 1020090090176 A KR1020090090176 A KR 1020090090176A KR 20090090176 A KR20090090176 A KR 20090090176A KR 20110032606 A KR20110032606 A KR 20110032606A
Authority
KR
South Korea
Prior art keywords
electronic device
performance
tuning
detailed information
information
Prior art date
Application number
KR1020090090176A
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 KR1020090090176A priority Critical patent/KR20110032606A/ko
Priority to JP2010209411A priority patent/JP2011070666A/ja
Priority to US12/885,921 priority patent/US8725439B2/en
Priority to CN2010102976994A priority patent/CN102033598A/zh
Publication of KR20110032606A publication Critical patent/KR20110032606A/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)
  • Feedback Control In General (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명의 전자 디바이스 컨트롤러는 전자 디바이스의 동작과 상태에 관한 세부 정보에 기초하여 전자 디바이스의 성능을 계산하는 계산부; 및 상기 계산부에 의하여 계산된 상기 전자 디바이스의 성능에 기초하여 상기 세부 정보 중 적어도 하나를 튜닝하는 튜닝부를 포함할 수 있다. 상기 전자 디바이스 컨트롤러는 전자 디바이스의 동작에 관련된 세부 정보 및 성능 정보를 사용자에게 제공할 수 있으며, 나아가 세부 정보를 튜닝하여 상기 전자 디바이스의 성능을 개선할 수 있는 효과가 있다.
컨트롤러, 캐쉬, 메모리, SOC

Description

전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러{ELECTRONIC DEVICE CONTROLLER FOR IMPROVING PERFORMANCE OF THE ELECTRONIC DEVICE}
본 발명은 전자 디바이스를 제어하기 위한 전자 디바이스 컨트롤러에 관한 것으로, 보다 상세하게는 전자 디바이스의 정보를 수집하고 튜닝하여 전자 디바이스의 성능을 개선하기 위한 전자 디바이스 컨트롤러에 관한 것이다.
일반적으로 SOC(System-On-Chip)는 전자 디바이스와 접속하기 위해 컨트롤러를 구비한다. SOC에 접속되는 전자 디바이스에는, 예를 들어, HDD, ROM, Flash 메모리와 같이 주로 프로그램을 저장하는데 사용되는 비휘발성 메모리와, SRAM, SDRAM과 같이 다용도로 사용되는 휘발성 메모리가 있다. 그리고, LCD, LED와 같은 디스플레이 장치가 SOC의 외부 디바이스로 접속될 수 있으며 캐쉬 메모리와 같이 SOC 내부에 포함되어 있는 내부 디바이스가 있을 수 있다. SOC 및 전자 디바이스를 포함하는 시스템에서는 성능의 개선을 위해 SOC 자체의 전력 소모와 이들 전자 디바이스의 전력 소모를 모두 최소화해야 한다. 따라서, 성능의 개선을 위해서 전력 소모에 관련된 정보를 측정하여 이를 바탕으로 전력소모량을 계산하여 최적화된 상태를 만드는 것이 중요하다.
종래에는 전력소모량을 측정하기 위해서 전력 소모에 관련된 정보를 실측을 통해 측정하는 방법이 주로 사용되었다. 예를 들면, 전류계 등을 이용하여 전류 값을 측정하는 방법이나 성능 측정을 위해 소프트웨어를 동작시켜 실제 수행시간을 측정하는 방법이 사용되었다. 그러나 이와 같은 방법은 사용자들이 사용하고 있는 동안에 사용자의 패턴에 따라서 동적으로 튜닝하는 것이 불가능하고, 보드(board) 상황 등 기타 제반 상황에 따라 전류계를 이용한 전류 측정이 어려운 경우가 발생하며, 또한, 외부 요인들에 의해 영향을 많이 받아 측정 오차도 크기 때문에 정밀한 조율 등에서 사용하기 힘든 문제점이 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는 전자 디바이스의 세부 정보를 튜닝함으로써 상기 전자 디바이스의 성능을 개선하기 위한 전자 디바이스 컨트롤러를 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 전자 디바이스 컨트롤러는 전자 디바이스의 동작과 상태에 관한 세부 정보에 기초하여 전자 디바이스의 성능을 계산하는 계산부; 및 상기 계산부에 의하여 계산된 상기 전자 디바이스의 성능에 기초하여 상기 세부 정보 중 적어도 하나를 튜닝하는 튜닝부를 포함할 수 있다.
또한, 상기 전자 디바이스 컨트롤러는 상기 세부 정보 및 상기 전자 디바이스의 성능 정보를 저장하는 저장부를 더 포함하고, 상기 계산부는 튜닝 후의 세부정보에 기초하여 전자 디바이스의 성능을 더 계산하며, 상기 튜닝부는 튜닝 전의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 성능과 상기 튜닝 후의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 성능에 따라 상기 튜닝 전의 세부 정보와 상기 튜닝 후의 세부 정보 중 하나를 선택하거나, 상기 전자 디바이스의 성능과 미리 결정된 기준 성능을 비교하고 이를 기초로 상기 세부 정보를 상기 기준 성능에 상응하는 세부 정보로 튜닝할 수 있다.
또한, 상기 세부 정보는 상기 전자 디바이스의 동작에 관한 인터페이스 정보 및 상기 전자 디바이스의 내부 상태에 관한 상태 정보를 포함하며, 상기 전자 디바 이스 컨트롤러는 상기 튜닝부에 의해 선택된 세부 정보 또는 상기 기준 성능에 상응하는 세부 정보를 상기 전자 디바이스로 출력하거나, 상기 세부정보 및 상기 전자 디바이스의 성능 정보 중 적어도 하나를 디스플레이 장치로 제공하는 송수신부를 더 포함할 수 있다.
또한, 상기 계산부는 상기 세부 정보 각각에 상응하여 미리 정해진 성능팩터를 이용하여 상기 전자 디바이스의 성능을 계산할 수 있다.
또한, 상기 계산부는 상기 세부 정보의 종류별 개수와 상기 세부 정보의 종류에 상응하는 상기 성능팩터를 곱한 값을 이용하여 상기 전자 디바이스의 성능을 계산할 수 있다.
또한, 상기 튜닝부는 상기 세부 정보 중 적어도 하나의 순서를 변경하거나, 삭제 혹은 재배열하여 상기 세부 정보를 튜닝하는 튜닝 블락; 및 상기 튜닝전의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 성능과 상기 튜닝후의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 성능을 비교하여 더 나은 성능에 상응하는 세부 정보를 선택하거나, 상기 전자 디바이스의 성능과 상기 기준 성능을 비교하여 더 나은 성능에 상응하는 세부 정보를 선택하는 선택 블락을 포함할 수 있다.
또한, 상기 인터페이스 정보는 상기 전자 디바이스에 대한 하나 이상의 명령을 포함하며, 상기 튜닝부는 상기 하나 이상의 명령의 순서를 변경함으로써 상기 세부 정보를 튜닝할 수 있다.
또한, 상기 전자 디바이스는 메모리 장치이고, 상기 전자 디바이스 컨트롤러는 상기 메모리 장치를 제어하는 메모리 컨트롤러이며, 상기 인터페이스 정보는 상 기 메모리 장치를 억세스하기 위한 명령을 포함할 수 있다.
또한, 상기 성능 정보는 상기 전자 디바이스의 전력소모량을 포함하며, 상기 튜닝부는 상기 튜닝전의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 전력소모량과 상기 튜닝후의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 전력소모량을 비교하여 더 적은 전력소모량에 해당하는 세부 정보를 선택하거나, 상기 전자 디바이스의 전력소모량과 미리 결정된 기준 전력소모량을 비교하고 이를 기초로 상기 세부 정보를 상기 기준 전력소모량에 상응하는 세부 정보로 튜닝할 수 있다.
또한, 상기 전자 디바이스는 캐쉬 메모리 또는 디스플레이 장치를 포함할 수 있다.
또한, 상기 전자 디바이스 컨트롤러는 시스템 내부 또는 외부에 포함될 수 있다.
상기 전자 디바이스 컨트롤러는 전자 디바이스의 동작에 관련된 세부 정보 및 성능 정보를 사용자에게 제공할 수 있으며, 나아가 세부 정보를 튜닝하여 상기 전자 디바이스의 성능을 개선할 수 있는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 이하, 첨부한 도면을 참조하 여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1a는 본 발명의 일 실시예에 따른 전자 디바이스 컨트롤러(10)를 포함하는 SOC(1)를 나타내는 블록도이다. 도 1b는 본 발명의 다른 일 실시예에 따른 온 칩 캐쉬(On-chip Cache)(50)를 제어하는 전자 디바이스 컨트롤러(10')를 포함하는 SOC(1)를 나타내는 블록도이다. 도 1a 및 도 1b를 참고하면, 상기 SOC(1)는 전자 디바이스 컨트롤러(10), DMA(Direct Memory Access)(20), 내부 메모리(30), 마이크로프로세서(40) 및 온 칩 캐쉬(50)를 포함한다.
상기 SOC(1)는 추가의 기타 블록들을 더 포함할 수 있으나, 도면의 간략화를 위해 생략된다. 상기 전자 디바이스 컨트롤러(10), DMA(20), 내부 메모리(30), 마이크로프로세서(40) 및 온-칩 캐쉬(50)는 시스템 버스(60)에 연결되어 상호 통신한다. 상기 SOC(1)내에 포함되는 장치들 중에서 본 발명과 관련되지 않은 부분들의 구체적인 동작 설명은 생략된다.
도 1a 및 도 1b의 실시예에서는 상기 전자 디바이스 컨트롤러(10)는 SOC(1) 내부에 위치한 것으로 도시되어 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다, 예를 들면, 상기 전자 디바이스 컨트롤러(10)는 상기 SOC(1)의 외부에 위치할 수도 있다.
상기 마이크로프로세서(40)는 상기 시스템 버스(60)를 통하여 상기 전자 디바이스 컨트롤러(10)에 상기 전자 디바이스(70)의 동작과 관련된 인터페이스 정보를 제공하여 상기 전자 디바이스 컨트롤러(10)가 상기 전자 디바이스(70)를 제어할 수 있게 한다. 이때, 상기 전자 디바이스(70)는 메모리 장치, SOC(1)에 포함된 캐쉬 메모리, 카메라 또는 액정 표시 장치(LCD:Liquid Crystal Display)일 수 있다.
또한, 도 1b를 참고하면, 전자 디바이스 컨트롤러(10')는 온 칩 캐쉬(On-chip Cache)(50)의 세부 정보를 튜닝할 수 있다. 세부 정보는 인터페이스 정보와 상태 정보를 포함한다. 인터페이스 정보는 시스템 버스(60)를 통하여 수신되는 캐쉬 메모리의 동작과 관련된 정보이다. 상기 상태 정보는 캐쉬 메모리의 내부 상태를 나타내는 정보이다. 이때, 상기 캐쉬 메모리는 온-칩 캐쉬(50) 메모리일 수 있다.
이하에서는 도 1a와 관련하여 상기 전자 디바이스(70)가 메모리 장치이고 전자 디바이스 컨트롤러(10)가 메모리 컨트롤러인 실시예를 중심으로 기술될 것이나, 본 발명의 범위가 이에 한정되는 것은 아니다.
상기 인터페이스 정보는 메모리 장치의 동작과 관련된 액티브(active), 독출(read), 기입(write) 및 프리차지(precharge) 등과 같은 명령 정보를 포함할 수 있다.
또한, 상기 전자 디바이스 컨트롤러(10)는 상기 메모리 장치의 내부 상태를 나타내는 상태 정보를 상기 메모리 장치로부터 수신할 수도 있다. 상기 장치의 상태 정보에는 상기 메모리 장치에 포함된 메모리 셀 어레이의 내부 상태를 나타내는 오픈(open), 클로즈(close), 셀프-리프레쉬(self-refresh) 등이 포함될 수 있다.
도 1a에는 도시되지 않았지만, 상기 전자 디바이스 컨트롤러(10)는 시스템 버스(60)를 통해 외부 디스플레이 장치(미도시)와 연결되어 있어 정보 교환을 할 수 있다. 이때, 사용자는 상기 전자 디바이스 컨트롤러(10)가 상기 전자 디바이스(70)를 제어하기 위한 상기 인터페이스 정보 및 상기 상태 정보를 포함하는 각종 정보를 외부 디스플레이 장치를 통하여 확인할 수 있다.
도 2는 본 발명의 일 실시예에 따른 도 1a에 도시된 전자 디바이스 컨트롤러(10)를 좀 더 상세히 나타내는 도면이다. 도 2를 참고하면, 상기 전자 디바이스 컨트롤러(10)는 송수신부(110), 저장부(120), 계산부(130) 및 튜닝부(140)를 포함한다.
송수신부(110)는 시스템 버스(60)를 통해 상기 인터페이스 정보를 수신하고 전자 디바이스(70)로부터 전자 디바이스(70)의 상태 정보를 수신하며, 상기 인터페이스 정보 및 상기 상태 정보를 포함하는 세부 정보를 상기 시스템 버스(60)를 통하여 출력할 수도 있다.
상기 저장부(120)에는 상기 인터페이스 정보 및 상기 상태 정보를 포함하는 세부 정보 및 전자 디바이스(70)의 성능 정보가 저장될 수 있으며, 또한 상기 전자 디바이스(70)의 스펙(specification) 등과 같은 기본 동작 정보, 상기 튜닝부(140)에 의하여 튜닝된 세부 정보 및 상기 튜닝된 세부 정보에 기초한 튜닝된 상기 전자 디바이스(70)의 성능 정보 등이 저장될 수 있다.
계산부(130)는 상기 세부 정보에 기초하여 전자 디바이스(70)의 성능을 계산한다. 계산부(130)에 의해 계산된 성능 정보는 상기 저장부(120)에 저장될 수 있다. 상기 계산부(130)는 상기 전자 디바이스 컨트롤러(10) 내부에서 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
예를 들어, 상기 계산부(130)는 상기 세부 정보의 종류별 개수와 상기 세부 정보의 종류에 상응하는 성능 팩터를 곱한 값을 이용하여 상기 전자 디바이스(70)의 성능을 계산할 수 있다. 이때, 상기 세부 정보 각각에 상응하는 성능 팩터(performance factor)는 상기 저장부(120)에 저장된 전자 디바이스(70)의 스펙에 포함된 값일 수 있다.
상기 송수신부(110)는 저장부(120)에 저장된 상기 세부 정보를 전자 디바이스(70)로 출력할 수 있고, 상기 세부 정보 및 전자 디바이스(70)의 성능 정보를 시스템 버스(60)로 출력할 수 있다. 이때, 세부 정보는 시스템 버스(60)를 통해 외부 디스플레이 장치(미도시)로 출력될 수 있다. 즉, 본 발명의 실시예에 따른 전자 디바이스 컨트롤러(10)는 일반적인 컨트롤러와 달리 상기 전자 디바이스(70)의 동작을 제어할 뿐만 아니라 상기 전자 디바이스(70)의 동작 상태 및 성능 정보를 사용자에게 제공하는 기능도 수행할 수 있다.
상기 계산부(130)에 의하여 계산되는 전자 디바이스(70)의 성능 정보에는 상기 전자 디바이스(70) 동작 시의 전력소모량, 상기 전자 디바이스(70)의 동작 수행 시간, 상기 전자 디바이스(70)의 데이터 송수신 능력 등일 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.
튜닝부(140)는 상기 전자 디바이스의 세부 정보(인터페이스 정보와 상태 정보)를 튜닝하여 튜닝된 세부 정보를 발생시켜 상기 저장부(120)에 저장한다. 상기 튜닝부(140)는 세부 정보에 대한 튜닝을 복수 회 수행할 수 있다. 여기서, 튜닝된 세부 정보라 함은 상기 전자 디바이스(70)에 대한 세부 정보를 상기 튜닝부(140)에 서 튜닝(예컨대, 변경 혹은 업데이트)한 것이다. 세부 정보의 튜닝은 인터페이스 정보 튜닝과 상태 정보 튜닝을 포함한다.
예컨대, 인터페이스 정보의 튜닝은 상기 전자 디바이스(70)의 명령 수행의 순서를 조정(즉, 일련의 명령들의 재배열)하는 것을 포함할 수 있다. 상태 정보의 튜닝은 상태 정보를 직접적으로 변경하는 것을 의미하기보다는 상기 전자 디바이스(70)의 인터페이스 정보 튜닝의 결과로 인하여 상기 상태 정보가 변경되는 것을 의미할 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.
이때, 상기 계산부(130)는 상기 튜닝된 세부 정보에 기초하여 튜닝 후 전자 디바이스(70)의 성능을 계산하고 상기 저장부(120)에 계산된 성능 정보를 저장한다. 더 구체적으로 살펴보면, 상기 계산부(130)는 상기 튜닝된 세부 정보의 종류별개수와 상기 튜닝된 세부 정보 종류에 상응하는 성능 팩터를 곱한 값을 이용하여 상기 튜닝된 상기 전자 디바이스(70)의 성능을 계산할 수 있다.
상기 송수신부(110)는 저장부(120)에 저장된 상기 튜닝된 세부 정보를 전자 디바이스(70)로 출력할 수 있고, 상기 튜닝된 세부 정보 및 튜닝 후 전자 디바이스(70)의 성능 정보를 시스템 버스(60)로 출력할 수 있다. 이때, 상기 튜닝된 세부 정보 및 튜닝된 전자 디바이스(70)의 성능 정보는 시스템 버스(60)를 통해 외부 디스플레이 장치(미도시)로 출력될 수 있다.
또한, 튜닝부(140)는 튜닝전의 전자 디바이스(70)의 성능 및 튜닝된 전자 디바이스(70)의 성능에 기초하여 상기 전자 디바이스(70) 또는 시스템 버스(60)로 튜닝전 세부 정보를 출력할 것인지 상기 튜닝된 세부 정보를 출력할 것인지를 선택할 수 있다.
예컨대, 상기 튜닝부(140)는 시스템 버스(60)를 통하여 수신된 세부 정보에 기초로 계산된 전자 디바이스(70)의 성능 정보와 튜닝된 세부 정보에 기초하여 계산된 전자 디바이스(70)의 튜닝된 성능 정보를 비교하고, 전자 디바이스(70)가 더 나은 성능을 발휘하게 하는 세부 정보를 선택하고, 선택된 세부 정보를 전자 디바이스(70)로 출력함으로써, 상기 전자 디바이스(70)의 성능을 개선할 수 있다. 이에 따라 전자 디바이스 컨트롤러(10)는 튜닝된 인터페이스 정보를 이용하여 전자 디바이스를 억세스함으로써 상기 전자 디바이스(70)의 성능 및 상기 전자 디바이스(70)를 포함하는 시스템의 성능이 개선될 수 있다.
또한, 상기 튜닝부(140)는 상기 계산부(130)에 의해 계산된 상기 전자 디바이스의 성능과 미리 결정된 기준 성능을 비교하고 이를 기초로 상기 세부 정보를 튜닝할 수 있다.
예컨대, 상기 튜닝부(140)는 일정 시점 혹은 일정 기간 동안 상기 계산부(130)에 의해 계산된 상기 전자 디바이스(70)의 성능이 상기 기준 성능에서 벗어나는 경우, 상기 세부 정보를 상기 기준 성능에 상응하는 세부 정보로 튜닝할 수 있다. 이를 위하여, 상기 기준 성능 및 상기 기준 성능에 상응하는 세부 정보는 미리 시뮬레이션, 테스트 등의 방법을 통하여 결정되어 저장될 수 있다.
예를 들어, 성능 정보가 전력소모량이고, 기준 전력소모량이 10mW인 경우를 가정한다. 이 경우 상기 세부 정보에 따른 상기 전자 디바이스(70)의 전력소모량이 20mW라면 기준 전력소모량인 10mW에서 크게 벗어나므로, 상기 튜닝부(140)는 튜닝 을 통해 상기 세부 정보를 변경할 수 있다. 이에 따라, 상기 전자 디바이스(70)의 성능 및 상기 전자 디바이스(70)를 포함하는 시스템의 성능이 개선될 수 있다.
또한 상기 튜닝부(140)는 수신된 세부 정보 및 튜닝된 세부 정보 중 전자 디바이스(70)가 더 나은 성능을 발휘하게 하는 세부 정보를 시스템 버스(60)로 출력함으로써 성능이 개선된 전자 디바이스(70)의 정보를 사용자에게 제공할 수도 있다.
상기 튜닝부(140)가 상기 전자 디바이스(70)의 전력소모량을 개선하기 위하여 세부 정보를 튜닝하는 과정을 예로 들어 살펴본다. 튜닝전의 세부 정보에 기초한 전력소모량이 튜닝된 세부 정보에 기초한 전력소모량보다 많다고 가정하면, 상기 튜닝부(140)는 튜닝된 세부 정보가 상기 전자 디바이스(70)로 출력되도록 하여 상기 전자 디바이스(70)의 전력소모량을 감소시킬 수 있으며, 튜닝된 세부 정보를 상기 시스템 버스(60)를 통하여 사용자에게 전달할 수도 있다.
이하에서는 도 1b의 캐쉬 메모리를 제어하는 상기 전자 디바이스 컨트롤러(10')의 동작을 도 2와 관련하여 살펴본다. 송수신부(110)는 시스템 버스(60)를 통해 상기 캐쉬 메모리의 동작과 관련된 인터페이스 정보를 수신하고 캐쉬 메모리의 상기 상태 정보를 수신하며 상기 캐쉬 메모리의 동작과 관련된 인터페이스 정보 및 상기 캐쉬 메모리의 상기 상태 정보를 포함하는 캐쉬 메모리의 세부 정보를 저장부(120)에 저장한다.
이때, 상기 캐쉬 메모리(50)와 관련된 인터페이스 정보는 캐쉬 히트(cache hit), 캐쉬 미스(cache miss) 및 바이패스(bypass) 정보 등과 같은 리퀘스 트(request) 정보를 포함하고, 캐쉬 메모리의 상태 정보는 클락(clock) 및 리프레쉬(refresh) 정보 등과 같은 로컬러티(locality) 정보를 포함할 수 있다.
계산부(130)는 상기 캐쉬 메모리(50)의 세부 정보에 기초하여 캐쉬 메모리(50)의 성능을 계산한다. 계산부(130)에 의해 계산된 성능 정보는 저장부(120)에 저장된다. 상기 송수신부(110)는 저장부(120)에 저장된 세부 정보를 캐쉬 메모리(50)로 출력하고, 상기 캐쉬 메모리(50)의 세부 정보 및 캐쉬 메모리의 성능 정보를 시스템 버스(60)로 출력할 수 있다. 이때, 캐쉬 메모리(50)의 세부 정보 및 성능 정보는 시스템 버스(60)를 통해 외부 디스플레이로 출력될 수 있다.
튜닝부(140)는 상기 캐쉬 메모리의 세부 정보(즉, 인터페이스 정보와 상태 정보)를 튜닝하여 튜닝된 세부 정보를 발생시켜 상기 저장부(120)에 저장할 수 있다. 상기 계산부(130)는 상기 튜닝된 캐쉬 메모리의 세부 정보에 기초하여 튜닝 후 캐쉬 메모리의 성능을 계산하고 상기 저장부(120)에 계산된 성능 정보를 저장한다.
상기 송수신부(110)는 저장부(120)에 저장된 튜닝된 세부 정보를 캐쉬 메모리(50)로 출력하고, 상기 튜닝된 세부 정보 및 튜닝 후 캐쉬 메모리의 성능 정보를 시스템 버스(60)로 출력할 수 있다. 이때, 튜닝된 세부 정보 및 튜닝된 성능 정보는 시스템 버스(60)를 통해 외부 디스플레이 장치(미도시)로 출력될 수 있다.
또한, 튜닝부(140)는 튜닝전의 캐쉬 메모리의 성능 및 튜닝된 캐쉬 메모리의 성능에 기초하여 상기 튜닝전의 세부 정보를 상기 캐쉬 메모리 또는 시스템 버스(60)에 출력할 것인지 튜닝된 세부 정보를 상기 캐쉬 메모리 또는 시스템 버스(60)에 출력할 것인지를 선택할 수 있다. 이와 같이, 상기 튜닝부(140)는 세부 정보를 튜닝하여 상기 캐쉬 메모리(50)의 성능을 개선할 수 있다.
도 3은 본 발명의 일 실시예에 따른 도 2의 튜닝부(140)를 좀 더 상세히 나타내는 도면이다. 상기 튜닝부(140)는 튜닝 블락(141) 및 선택 블락(142)를 포함한다.
상기 튜닝 블락(141)은 전자 디바이스(70)의 세부 정보를 튜닝한다. 또한, 상기 선택 블락(142)은 상기 계산부(130)에서 계산된 튜닝전의 전자 디바이스(70)의 성능 정보 및 튜닝된 전자 디바이스(70)의 성능 정보를 비교하여, 상기 튜닝전 세부 정보 또는 상기 튜닝된 세부 정보 중 하나를 선택한다.
또한, 상기 선택블락(142)은 전자 디바이스(70)의 성능과 기준 성능을 비교하여 더 나은 성능에 상응하는 세부 정보를 선택할 수 있다.
도 4는 본 발명의 일 실시예에 따른 전자 디바이스 컨트롤러(10)의 동작 과정을 설명하기 위한 도면이다. 도 4에 도시된 전자 디바이스 컨트롤러(10)의 동작 과정은 도 2에 도시된 전자 디바이스 컨트롤러(10)에 의해 수행될 수 있다. 도 4를 참조하면, 상기 전자 디바이스 컨트롤러(10)는 시스템 버스(60)를 통해 전자 디바이스(70)의 동작과 관련된 인터페이스 정보와 상기 전자 디바이스(70)의 상태 정보를 포함하는 세부 정보를 수신한다(S10).
다음으로, 계산부(130)는 수신된 세부 정보를 기초로 전자 디바이스(70)의 성능을 계산한다(S20). 다음으로, 튜닝부(140)는 수신된 세부 정보를 튜닝하며(S30), 상기 계산부(130)는 튜닝된 세부 정보에 기초하여 튜닝된 전자 디바이스(70)의 성능을 계산한다(S40).
다음으로, 상기 튜닝부(140)는 튜닝된 세부 정보에 기초하여 계산된 튜닝된 전자 디바이스(70)의 성능이 튜닝전 세부 정보에 기초하여 계산된 전자 디바이스의 성능에 비하여 개선되었는지 여부를 판단한다(S50).
튜닝된 세부 정보에 기초하여 계산된 튜닝된 전자 디바이스(70)의 성능이 튜닝전 세부 정보에 기초하여 계산된 전자 디바이스(70)의 성능보다 개선되었으면, 상기 튜닝부(140)는 튜닝된 세부 정보를 선택하고, 이에 따라 튜닝된 세부 정보 및 튜닝된 전자 디바이스(70)의 성능을 상기 전자 디바이스(70) 및/또는 시스템 버스(60)로 출력할 수 있으며(S60), 그렇지 않으면 튜닝전 세부 정보를 선택하고, 이에 따라 튜닝전 세부 정보 및 튜닝전 전자 디바이스의 성능을 상기 전자 디바이스(70) 및 상기 시스템 버스(60)로 출력할 수 있다(S70).
도 5는 본 발명의 일실시예에 따른 전자 디바이스(70)가 메모리 장치인 경우 세부 정보에 따른 소비 전력량을 나타내기 위한 도면이다. 상기 계산부(130)는 도 5와 같은 각 인터페이스 정보 및 상태 정보(가로축)에 따른 성능 팩터(세로축)를 이용하여 전자 디바이스(70)의 성능을 계산할 수 있다. 도 5는 성능 팩터의 일 예로 각 세부 정보에 대한 소비 전력을 도시하고 있다.
도 5를 참고하면, 본 발명의 일 예에 따른 프리차지 정보의 소비 전력량은 11mW, 액티브 정보의 소비 전력량은 20.5mW, 기입 정보의 소비 전력량은 10mW, 독출 정보의 소비 전력량은 20mW 및 DQ 정보의 소비 전력량은 6mW이다.
전자 디바이스(70)의 성능 중 하나인 전자 디바이스(70)의 전력소모량은 상기 인터페이스 정보 및 상태 정보의 각각의 개수에 상기 인터페이스 정보 및 상기 상태 정보의 소비 전력량을 곱한 결과들을 합한 결과로써 계산될 수 있다. 예를 들면, (WR)(WR)(WR)(WR)(RD)(RD)(RD)가 입력된 경우 WR가 4번 입력되고, RD가 3번 입력된 것이므로 전력 소모량= 4
Figure 112009058533311-PAT00001
10(mW)+3
Figure 112009058533311-PAT00002
20(mW)=100(mW)이 된다.
도 6은 메모리 장치의 기입 명령에 따른 전류 프로파일(profile)을 나타내기 위한 도면이고, 도 7은 메모리 장치의 독출 명령에 따른 전류 프로파일을 나타내기 위한 도면이다.
도 6의 경우 세부 정보는 액티브(ACT) 명령, 4개의 기입(WR) 명령 및 프리차지(PRE) 명령을 포함하는 일련의 명령(CMD)에 해당하고, 도 7의 경우 세부 정보는 액티브 명령, 4개의 독출 명령 및 프리차지 명령을 포함하는 일련의 명령(CMD)에 해당한다.
도 6을 참조하면, 액티브 명령이 입력될 때 상기 액티브 명령에 대한 전류는 소정의 높이만큼 상승하다 하강하는 것을 볼 수 있고, 기입 명령이 입력되면 상기 기입 명령에 대한 전류는 소정의 높이만큼 다시 상승하다 하강한다. 또한 도 7을 참조하면, 액티브 명령이 입력될 때 상기 액티브 명령에 대한 전류는 소정의 높이만큼 상승하다 하강하는 것을 볼 수 있고, 독출 명령이 입력되면 상기 독출 명령에 대한 전류는 소정의 높이만큼 다시 상승하다 하강한다.
그리고 프리차지 명령이 입력되면 프리차지 명령에 대한 전류는 소정의 높이만큼 다시 상승하다가 하강하는 것을 볼 수 있다. 도 6 및 도 7에서 보는 바와 같이 각 명령에 따른 전류 프로파일이 다르기 때문에 각 명령 수행에 따른 소비 전력량도 다르다.
튜닝부(140)는 인터페이스 정보에 포함된 명령의 수행 순서를 튜닝함으로써 상기 전자 디바이스(70)의 성능을 튜닝할 수 있다. 메모리 장치가 도 6에 도시된 4개의 기입 명령과 별도의 3개의 다른 기입 명령을 수행하는 경우를 예로 들어 상기 튜닝부(140)의 튜닝 동작을 살펴본다.
상기 3개의 다른 기입 명령이 도 6에 도시된 4개의 기입 명령과 별도로 수행될 경우 역시 도 6에 도시된 바와 유사하게 3개의 다른 기입명령을 수행하기 위해 액티브 명령, 3개의 기입 명령, 프리차지 명령 순의 전류 프로파일을 형성하게 된다. 상기 튜닝부(140)는 도 6에 도시된 4개의 기입 명령과 상기 3개의 다른 기입 명령이 별도가 아닌 한꺼번에 수행되도록 명령의 순서를 튜닝할 수 있다. 예를 들어, 튜닝전 (ACT)(WR)(WR)(WR)(WR)(PRE)(ACT)(WR)(WR)(WR)(PRE)의 순서를 가지는 일련의 명령들을 튜닝을 통해 (ACT)(WR)(WR)(WR)(WR)(WR)(WR)(WR)(PRE)로 변경될 수 있다.
그러면 도 6에 도시된 4개의 기입 명령과 상기 다른 3개의 기입 명령이 수행되는 경우 액티브 명령, 7개의 기입 명령, 프리차지 명령 순의 전류 프로파일이 형성된다. 즉, 이 경우에는 도 6에 도시된 4개의 기입 명령과 상기 다른 3개의 기입 명령이 별도로 수행되는 경우에 비하여 액티브 명령 및 프리차지 명령의 수행 과정이 감소되어 메모리 장치의 전력 소모량이 감소될 수 있다.
상기 본 발명의 내용은 도면에 도시된 일실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1a 및 도 1b 각각은 본 발명의 일 실시예에 따른 전자 디바이스 컨트롤러를 포함하는 SOC를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 도 1a에 도시된 전자 디바이스 컨트롤러를 좀 더 상세히 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 도 2의 튜닝부를 좀 더 상세히 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 전자 디바이스 컨트롤러의 동작 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 전자 디바이스가 메모리 장치인 경우 세부 정보에 따른 소비 전력량을 나타내기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 메모리 장치의 기입 명령에 따른 전류 프로파일을 나타내기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 메모리 장치의 독출 명령에 따른 전류 프로파일을 나타내기 위한 도면이다.

Claims (10)

  1. 전자 디바이스의 동작과 상태에 관한 세부 정보에 기초하여 전자 디바이스의 성능을 계산하는 계산부; 및
    상기 계산부에 의하여 계산된 상기 전자 디바이스의 성능에 기초하여 상기 세부 정보 중 적어도 하나를 튜닝하는 튜닝부를 포함하는 전자 디바이스 컨트롤러.
  2. 제1항에 있어서,
    상기 전자 디바이스 컨트롤러는
    상기 세부 정보 및 상기 전자 디바이스의 성능 정보를 저장하는 저장부를 더 포함하고,
    상기 계산부는 튜닝 전의 세부정보 및 튜닝 후의 세부 정보에 각각 기초하여 상기 전자 디바이스의 성능을 계산하고 ,
    상기 튜닝부는 튜닝 전의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 성능과 상기 튜닝 후의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 성능에 따라 상기 튜닝 전의 세부 정보와 상기 튜닝 후의 세부 정보 중 하나를 선택하는 전자 디바이스 컨트롤러.
  3. 제1항에 있어서,
    상기 튜닝부는
    상기 계산부에 의해 계산된 상기 전자 디바이스의 성능과 미리 결정된 기준 성능을 비교하고 비교 결과를 기초로 상기 세부 정보를 상기 기준 성능에 상응하는 세부 정보로 튜닝하는 전자 디바이스 컨트롤러.
  4. 제1항에 있어서,
    상기 세부 정보는 상기 전자 디바이스의 동작에 관한 인터페이스 정보 및 상기 전자 디바이스의 내부 상태에 관한 상태 정보를 포함하며,
    상기 전자 디바이스 컨트롤러는
    상기 세부 정보 중 적어도 하나를 상기 전자 디바이스로 출력하거나, 디스플레이 장치로 제공하는 송수신부를 더 포함하는 전자 디바이스 컨트롤러.
  5. 제4항에 있어서, 상기 계산부는
    상기 세부 정보 각각에 상응하여 미리 정해진 성능팩터를 이용하여 상기 전자 디바이스의 성능을 계산하는 전자 디바이스 컨트롤러.
  6. 제5항에 있어서, 상기 계산부는
    상기 세부 정보의 종류별 개수와 상기 세부 정보의 종류에 상응하는 상기 성능팩터를 곱한 값을 이용하여 상기 전자 디바이스의 성능을 계산하는 전자 디바이스 컨트롤러.
  7. 제4항에 있어서, 상기 튜닝부는
    상기 세부 정보 중 적어도 하나의 순서를 변경하거나, 삭제 혹은 재배열하여 상기 세부 정보를 튜닝하는 튜닝 블락; 및
    튜닝전의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 성능과 튜닝후의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 성능을 비교하여 더 나은 성능에 상응하는 세부 정보를 선택하거나,
    상기 계산부에 의해 계산된 상기 전자 디바이스의 성능과 상기 기준 성능을 비교하여 더 나은 성능에 상응하는 세부 정보를 선택하는 선택 블락을 포함하는 전자 디바이스 컨트롤러.
  8. 제4항에 있어서,
    상기 인터페이스 정보는 상기 전자 디바이스에 대한 하나 이상의 명령을 포함하며,
    상기 튜닝부는 상기 하나 이상의 명령의 순서를 변경함으로써 상기 세부 정보를 튜닝하는 전자 디바이스 컨트롤러.
  9. 제4항에 있어서,
    상기 전자 디바이스는 메모리 장치이고,
    상기 전자 디바이스 컨트롤러는 상기 메모리 장치를 제어하는 메모리 컨트롤러이며,
    상기 인터페이스 정보는 상기 메모리 장치를 억세스하기 위한 명령을 포함하는 전자 디바이스 컨트롤러.
  10. 제2항 또는 제3항에 있어서,
    상기 성능 정보는 상기 전자 디바이스의 전력소모량을 포함하며,
    상기 튜닝부는
    상기 튜닝전의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 전력소모량과 상기 튜닝후의 세부 정보에 기초하여 계산된 상기 전자 디바이스의 전력소모량을 비교하여 더 적은 전력소모량에 해당하는 세부 정보를 선택하거나,
    상기 계산부에 의해 계산된 전자 디바이스의 전력소모량과 미리 결정된 기준 전력소모량을 비교하고 이를 기초로 상기 세부 정보를 상기 기준 전력소모량에 상응하는 세부 정보로 튜닝하는 전자 디바이스 컨트롤러.
KR1020090090176A 2009-09-23 2009-09-23 전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러 KR20110032606A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020090090176A KR20110032606A (ko) 2009-09-23 2009-09-23 전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러
JP2010209411A JP2011070666A (ja) 2009-09-23 2010-09-17 電子デバイスの性能改善のための電子デバイスコントローラ
US12/885,921 US8725439B2 (en) 2009-09-23 2010-09-20 Electronic device controller for improving performance of electronic device
CN2010102976994A CN102033598A (zh) 2009-09-23 2010-09-21 提高电子设备的性能的电子设备控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090090176A KR20110032606A (ko) 2009-09-23 2009-09-23 전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러

Publications (1)

Publication Number Publication Date
KR20110032606A true KR20110032606A (ko) 2011-03-30

Family

ID=43757372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090090176A KR20110032606A (ko) 2009-09-23 2009-09-23 전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러

Country Status (4)

Country Link
US (1) US8725439B2 (ko)
JP (1) JP2011070666A (ko)
KR (1) KR20110032606A (ko)
CN (1) CN102033598A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323579B2 (en) 2012-08-25 2016-04-26 Vmware, Inc. Resource allocation diagnosis on distributed computer systems
US9196347B2 (en) 2013-03-14 2015-11-24 International Business Machines Corporation DRAM controller for variable refresh operation timing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175530A (ja) * 1999-12-22 2001-06-29 Nec Ic Microcomput Syst Ltd メモリアクセス調停装置およびメモリアクセス調停方法
JP2002063069A (ja) * 2000-08-21 2002-02-28 Hitachi Ltd メモリ制御装置、データ処理システム及び半導体装置
US20040104707A1 (en) * 2002-11-29 2004-06-03 May Marcus W. Method and apparatus for efficient battery use by a handheld multiple function device
JP3973597B2 (ja) * 2003-05-14 2007-09-12 株式会社ソニー・コンピュータエンタテインメント プリフェッチ命令制御方法、プリフェッチ命令制御装置、キャッシュメモリ制御装置、オブジェクトコードの生成方法および装置
US8161225B2 (en) * 2003-08-06 2012-04-17 Panasonic Corporation Semiconductor memory card, access device and method
RU2348992C2 (ru) 2004-07-12 2009-03-10 Кабусики Кайся Тосиба Запоминающее устройство и ведущее устройство
JP4874588B2 (ja) 2004-07-12 2012-02-15 株式会社東芝 記憶デバイスおよびホスト機器
US20060112240A1 (en) * 2004-11-24 2006-05-25 Walker Robert M Priority scheme for executing commands in memories
JP4786209B2 (ja) * 2005-03-18 2011-10-05 パナソニック株式会社 メモリアクセス装置
US7259585B2 (en) * 2005-09-28 2007-08-21 International Business Machines Corporation Selective on-die termination for improved power management and thermal distribution
JP4699858B2 (ja) * 2005-10-13 2011-06-15 シャープ株式会社 メモリ装置およびメモリ制御方法
CN101331464A (zh) * 2005-12-16 2008-12-24 日本电气株式会社 存储区域分配系统及方法和控制装置
KR100725417B1 (ko) * 2006-02-22 2007-06-07 삼성전자주식회사 우선 순위에 따른 플래시 메모리의 연산 처리 장치 및 방법
JP4829029B2 (ja) * 2006-08-02 2011-11-30 株式会社東芝 メモリシステム及びメモリチップ
US7761656B2 (en) * 2007-08-22 2010-07-20 Advanced Micro Devices, Inc. Detection of speculative precharge
JP5362975B2 (ja) * 2007-10-17 2013-12-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス間のデータ複製を制御する制御装置、方法、プログラム及びストレージ・システム
JP2009157887A (ja) * 2007-12-28 2009-07-16 Nec Corp ロードストアキューの制御方法及びその制御システム

Also Published As

Publication number Publication date
US20110071779A1 (en) 2011-03-24
CN102033598A (zh) 2011-04-27
JP2011070666A (ja) 2011-04-07
US8725439B2 (en) 2014-05-13

Similar Documents

Publication Publication Date Title
US11221772B2 (en) Self refresh state machine mop array
US8719531B2 (en) System and method for performing data retention that incorporates environmental conditions
JP5629391B2 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US8683456B2 (en) Test partitioning for a non-volatile memory
US8650353B2 (en) Apparatus, system, and method for refreshing non-volatile memory
US9021319B2 (en) Non-volatile memory management system with load leveling and method of operation thereof
US10599345B2 (en) Memory device that writes data into a block based on time passage since erasure of data from the block
US20140029367A1 (en) Refresh address generator, volatile memory device including the same and method of refreshing the volatile memory device
TWI564891B (zh) 促進動態記憶體元件精細更新控制之機制
US11392488B2 (en) Optimizing storage of application data in memory
CN103365800A (zh) 片上系统、包括其的电子系统和控制其的方法
US20220076739A1 (en) Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training
KR20190033387A (ko) 메모리 시스템 및 그의 동작 방법
KR20160116533A (ko) 리프레쉬 동작을 관리하는 메모리 콘트롤러, 메모리 시스템 및 그 동작방법
CN103093831A (zh) 非易失性存储器的基准电流的内置自微调
WO2014110051A1 (en) Enhanced dynamic memory management with intelligent current/power consumption minimization
CN115298652A (zh) 用于存储介质健康评估的系统和方法
KR20110032606A (ko) 전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러
CN108701091A (zh) 用于动态工作负荷的机会存储器微调
US20140095949A1 (en) Method and apparatus for diagnosing a fault of a memory using interim time after execution of an application
KR20210103069A (ko) 메모리 테스트 장치 및 이의 동작 방법
CN112380013B (zh) 缓存预载方法、装置、处理器芯片及服务器
Liu et al. Design of Beidou navigation terminal based on hybrid PCM main memory
CN117935874A (zh) 内存刷新参数确定、内存刷新方法、装置、介质和设备
Mukundan Improving Memory And I/O Systems Through Foresight

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