KR102488673B1 - 저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치 - Google Patents

저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치 Download PDF

Info

Publication number
KR102488673B1
KR102488673B1 KR1020150142260A KR20150142260A KR102488673B1 KR 102488673 B1 KR102488673 B1 KR 102488673B1 KR 1020150142260 A KR1020150142260 A KR 1020150142260A KR 20150142260 A KR20150142260 A KR 20150142260A KR 102488673 B1 KR102488673 B1 KR 102488673B1
Authority
KR
South Korea
Prior art keywords
idle time
time interval
idle
low power
power mode
Prior art date
Application number
KR1020150142260A
Other languages
English (en)
Other versions
KR20170042985A (ko
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 KR1020150142260A priority Critical patent/KR102488673B1/ko
Publication of KR20170042985A publication Critical patent/KR20170042985A/ko
Application granted granted Critical
Publication of KR102488673B1 publication Critical patent/KR102488673B1/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
    • 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
    • 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/3268Power saving in hard disk drive
    • 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

Abstract

저전력 모드로의 진입 시간을 동적으로 조절할 수 있는 제어 회로가 기재된다. 상기 제어 회로는 호스트로부터 제1입출력 요청들을 수신하고, 상기 제1입출력 요청들과 관련된 아이들 시간 간격들의 분포에 기초하여 상기 아이들 시간 간격들 중에서 제1아이들 시간 간격을 저전력 모드 진입 시간으로 예측하고, 상기 저전력 모드 진입 시간에서 제어 신호를 출력하는 저전력 모드 진입 제어기와, 상기 저전력 모드 진입 제어기를 제어하거나 실행하는 CPU와, 상기 제어 신호에 응답하여 상기 제어 회로를 저전력 모드로 진입시키는 전력 제어 회로를 포함한다.

Description

저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치{CONTROL CIRCUIT FOR ESTIMATING ENTRY TIME OF POWER SAVE MODE AND DEVICE HAVING THE SAME}
본 발명의 개념에 따른 실시 예는 저전력 모드로의 진입 시간을 제어하는 기술에 관한 것으로, 특히 호스트로부터 출력된 입출 요청들과 관련된 아이들 시간 구간들의 분포를 이용하여 저전력 모드로의 진입 시간을 동적으로 예측할 수 있는 제어 회로와 이를 포함하는 장치들에 관한 것이다.
저전력에 대한 요구가 커짐에 따라, 많은 컴퓨터 시스템은 사용자의 입력이 없거나 빠른 성능을 요구하지 않을 때, 상기 컴퓨터 시스템은 작동 주파수를 낮추거나 하위 모듈의 파워(power)를 오프(off)하여 전력 소모를 줄이는 방법을 사용한다.
솔리드 스테이트 드라이브(solid state drive(SSD))와 같은 데이터 저장 장치도 호스트로부터 입출력 요청이 없을 때 상기 SSD의 작동 주파수를 낮추거나 상기 SSD에 포함된 하위 모듈의 파워를 오프하여 상기 SSD의 전력 소모를 줄이는 방법을 사용한다.
저전력 모드로 진입한 SSD가 호스트로부터 입출력 요청을 수신하면, 상기 입출력 요청을 처리하기 위해, 상기 SSD는 상기 저전력 모드로부터 액티브 모드로 돌아간다. 상기 SSD가 상기 저전력 모드로부터 상기 액티브 모드로 전환될 때, 상기 SSD는 파워-오프된 하위 모듈로 파워를 다시 공급하고 상기 하위 모듈을 초기화하고, 상기 하위 모듈의 이전 컨텍스트를 복구하는 작동을 수행한다. 이때, 이전 컨텍스트를 복구하는데 복구 시간이 필요하다. 더 많은 전력 소모를 줄이기 위한 저전력 모드가 사용될수록, 복구 시간은 더 길어진다.
복구 시간이 길어질수록, 호스트로부터 출력된 입출력 요청에 대한 SSD의 응답 시간은 길어진다. 따라서 SSD의 성능은 감소한다.
본 발명이 이루고자 하는 기술적인 과제는 호스트로부터 출력된 입출 요청들과 관련된 아이들 시간 구간들의 분포를 이용하여 저전력 모드로의 진입 시간을 동적으로 예측할 수 있는 제어 회로와 이를 포함하는 장치들을 제공하는 것이다.
본 발명의 실시 예에 따른 제어 회로는 호스트로부터 제1입출력 요청들을 수신하고, 상기 제1입출력 요청들과 관련된 아이들 시간 간격들의 분포에 기초하여 상기 아이들 시간 간격들 중에서 제1아이들 시간 간격을 저전력 모드 진입 시간으로 예측하고, 상기 저전력 모드 진입 시간에서 제어 신호를 출력하는 저전력 모드 진입 제어기와, 상기 저전력 모드 진입 제어기를 제어하거나 실행하는 CPU와, 상기 제어 신호에 응답하여 상기 제어 회로를 저전력 모드로 진입시키는 전력 제어 회로를 포함한다.
상기 저전력 모드 진입 제어기는 상기 제1입출력 요청들 각각에 대한 액티브 시간 간격과 아이들 시간 간격을 생성하는 프리-프로세서를 포함한다.
상기 저전력 모드 진입 제어기는 상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격별로 아이들 횟수를 누적하고, 상기 아이들 시간 간격들 중에서 제1그룹 아이들 시간 간격들 각각에 대해 누적된 아이들 횟수의 총합과 기준 누적 횟수에 기초하여 상기 제1그룹 아이들 시간 간격들 중에서 제2아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제1예측기를 더 포함한다.
상기 저전력 모드 진입 제어기는 상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격들 중에서 제2그룹 아이들 시간 간격들 각각이 상기 제2아이들 시간 간격보다 길 때, 상기 제2아이들 시간 간격을 제3아이들 시간 간격으로 변경하고, 상기 제3아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제2예측기를 더 포함하고, 상기 제3아이들 시간 간격은 상기 제1그룹 아이들 시간 간격들에 포함되고, 상기 제3아이들 시간 간격은 상기 제2아이들 시간 간격보다 짧다.
상기 제2그룹 아이들 시간 간격들의 개수는 상기 제1그룹 아이들 시간 간격들의 개수보다 작다.
실시 예들에 따라, 상기 저전력 모드 진입 제어기는 상기 제1입출력 요청들 각각에 대한 액티브 시간 간격과 아이들 시간 간격을 생성하는 프리-프로세서와, 상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격들 각각에 대한 아이들 횟수를 누적하고, 상기 아이들 시간 간격들 중에서 제1그룹 아이들 시간 간격들 각각에 대해 누적된 아이들 횟수의 총합과 기준 누적 횟수에 기초하여 상기 제1그룹 아이들 시간 간격들 중에서 제2아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 진입 시간 예측기와, 상기 아이들 시간 간격들의 제1분포를 계산하고, 상기 제1입출력 요청들 중에서 제1그룹 입출력 요청들과 관련된 아이들 시간 간격들의 제2분포를 계산하고, 상기 제1분포와 상기 제2분포를 비교하고, 비교 결과에 따라 리셋 신호를 생성하는 위상 탐지기를 포함하고, 상기 진입 시간 예측기는 상기 리셋 신호에 기초하여 리셋 여부를 결정한다.
상기 진입 시간 예측기가 상기 리셋 신호에 기초하여 리셋될 때, 상기 진입 시간 예측기 또는 상기 위상 탐지기에 설정된 디폴트 아이들 시간 간격을 상기 제1아이들 시간 간격으로 출력한다.
실시 예들에 따라, 상기 저전력 모드 진입 제어기는 상기 제1입출력 요청들 각각에 대한 액티브 시간 간격과 아이들 시간 간격을 생성하는 프리-프로세서와, 상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격들 각각에 대한 아이들 횟수를 누적하고, 상기 아이들 시간 간격들 중에서 제1그룹 아이들 시간 간격들 각각에 대해 누적된 아이들 횟수의 총합과 기준 누적 횟수에 기초하여 상기 제1그룹 아이들 시간 간격들 중에서 제2아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 진입 시간 예측기와, 상기 제1입출력 요청들 중에서 제1그룹 입출력 요청들과 관련된 아이들 시간 간격들의 제1분포를 계산하고, 상기 제1그룹 입출력 요청들 중에서 제2그룹 입출력 요청들과 관련된 아이들 시간 간격들의 제2분포를 계산하고, 상기 제1분포와 상기 제2분포를 비교하고, 비교 결과에 따라 상기 진입 시간 예측기의 예측 작동을 일정 시간 중지시키는 예측 회피기를 포함한다.
상기 예측 작동이 중지될 때, 상기 진입 시간 예측기 또는 상기 예측 회피기에 설정된 디폴트 아이들 시간 간격을 상기 제1아이들 시간 간격으로 출력한다.
상기 전력 제어 회로는 상기 CPU로 클락 신호를 공급하는 클락 관리 유닛과, 상기 제어 회로로 전력을 공급하는 전력 관리 IC를 제어하는 전력 관리 유닛 중에서 적어도 하나를 포함한다.
본 발명의 실시 예에 따른 데이터 저장 장치는 데이터를 저장하는 메모리 장치와, 상기 메모리 장치를 제어하는 제어 회로를 포함한다. 상기 제어 회로는 호스트로부터 제1입출력 요청들을 수신하고, 상기 제1입출력 요청들과 관련된 아이들 시간 간격들의 분포에 기초하여 상기 아이들 시간 간격들 중에서 제1아이들 시간 간격을 저전력 모드 진입 시간으로 예측하고, 상기 저전력 모드 진입 시간에서 제어 신호를 출력하는 저전력 모드 진입 제어기와, 상기 저전력 모드 진입 제어기를 제어하거나 실행하는 CPU와, 상기 제어 신호에 응답하여 상기 제어 회로를 저전력 모드로 진입시키는 전력 제어 회로를 포함한다.
상기 저전력 모드 진입 제어기는 상기 제1입출력 요청들 각각에 대한 액티브 시간 간격과 아이들 시간 간격을 생성하는 프리-프로세서를 포함한다.
상기 저전력 모드 진입 제어기는 상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격별로 아이들 횟수를 누적하고, 상기 아이들 시간 간격들 중에서 제1그룹 아이들 시간 간격들 각각에 대해 누적된 아이들 횟수의 총합과 기준 누적 횟수에 기초하여 상기 제1그룹 아이들 시간 간격들 중에서 제2아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제1예측기를 더 포함한다.
상기 저전력 모드 진입 제어기는 상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격들 중에서 제2그룹 아이들 시간 간격들의 평균과 상기 제2아이들 시간의 비교 결과에 기초하여 상기 제2아이들 시간 간격을 제3아이들 시간 간격으로 변경하고, 상기 제3아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제2예측기를 더 포함한다. 상기 제3아이들 시간 간격은 상기 제1그룹 아이들 시간 간격들에 포함되고, 상기 제3아이들 시간 간격은 상기 제2아이들 시간 간격보다 짧다. 상기 메모리 장치는 3차원 메모리 셀 어레이들을 포함한다.
상기 저전력 모드 진입 제어기는 상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격별로 아이들 횟수를 누적하고, 상기 아이들 시간 간격들 중에서 제1그룹 아이들 시간 간격들 각각에 대해 누적된 아이들 횟수의 총합이 기준 누적 횟수보다 작을 때, 디폴트로 설정된 아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제1예측기를 더 포함한다.
본 발명의 실시 예에 따른 제어 회로는 호스트로부터 출력된 입출 요청들과 관련된 아이들 시간 구간들의 분포를 이용하여 저전력 모드로의 진입 시간을 동적으로 예측할 수 있는 효과가 있다.
상기 제어 회로는 저전력 모드로의 진입 시간을 동적으로 예측할 수 있으므로 성능을 보장하면서 전력 소모를 줄일 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 데이터 저장 장치의 실시 예를 나타낸다.
도 3A는 도 1에 도시된 저전력 모드 진입 제어기의 블록도를 나타낸다.
도 3B는 도 1에 도시된 저전력 모드 진입 제어기의 블록도를 나타낸다.
도 3C는 도 1에 도시된 저전력 모드 진입 제어기의 블록도를 나타낸다.
도 4는 도 3A부터 도 3C에 도시된 프리-프로세서의 작동을 설명하는 개념도이다.
도 5는 도 3A 또는 도 3B에 도시된 성능 지향 예측기의 블록도를 나타낸다.
도 6은 도 5에 도시된 진입 시간 예측기의 작동을 설명하는 개념도이다.
도 7은 도 5에 도시된 위상 탐지기의 작동을 설명하는 개념도이다.
도 8은 도 5에 도시된 예측 회피기의 작동을 설명하는 개념도이다.
도 9는 도 3A에 도시된 저전력 지향 예측기의 작동을 설명하는 개념도이다.
도 10은 도 3A에 도시된 저전력 지향 예측기가 성능 지향 예측기에서 예측된 진입 시간을 변경하는 과정을 설명하는 개념도이다.
도 11은 도 3A에 도시된 저전력 모드 진입 제어기의 작동을 설명하는 플로우 차트이다.
도 12는 본 발명의 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다.
도 13은 본 발명의 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다.
도 14는 도 1에 도시된 데이터 저장 장치를 포함하는 데이터 처리 시스템의 블록도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
데이터 처리 시스템에서 사용되는 저전력 모드 진입 제어기(또는 저전력 모드 진입 시간 예측기)는 과거 액티브 시간 간격들 및/또는 과거 아이들 시간 간격들의 분포를 분석하고, 분석 결과에 따라 저전력 모드 진입 시간을 예측하고, 상기 저전력 모드 진입 시간에서 상기 데이터 처리 시스템은 저전력 모드로 진입시킬 수 있다. 따라서, 상기 저전력 모드 진입 제어기는 상기 데이터 처리 시스템의 성능 저하를 방지하고 상기 데이터 처리 시스템의 소모 전력을 많이 줄일 수 있다.
예컨대, 상기 저전력 모드 진입 제어기는 호스트로부터 출력된 입출력 요청들의 패턴을 아이들 시간 간격들의 분포를 이용하여 분석하고, 분석 결과에 따라 다음 저전력 모드 진입 시간을 동적으로(또는 실시간으로) 예측할 수 있으므로, 시스템의 변경에 따라 또는 상기 시스템에서 실행되는 애플리케이션의 작동의 변경에 따라 입출력 요청들의 패턴이 변경되더라도 상기 시스템의 성능 저하를 방지하고 상기 시스템의 소모 전력을 많이 줄일 수 있다. 입출력 요청들은 라이트 요청과 리드 요청을 포함할 수 있으나 이에 한정되는 것은 아니다.
실시 예들에 따라, 저전력 모드 진입 제어기는 CPU(또는 프로세서)에서 실행될 수 있는 소프트웨어 또는 하드웨어로 구현될 수 있다.
도 1은 본 발명의 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다. 도 1을 참조하면, 데이터 처리 시스템(100)은 호스트(200)와 데이터 저장 장치 (300)를 포함할 수 있다.
데이터 처리 시스템(100)은 PC(personal computer), 워크스테이션, 데이터 센터(data center), 인터넷 데이터 센터, 기업형 데이터 저장 시스템, DAS(direct attached storage)를 포함하는 데이터 처리 시스템, SAN(storage area network)을 포함하는 데이터 처리 시스템, NAS(network attached storage)를 포함하는 데이터 처리 시스템, 또는 모바일 장치로 구현될 수 있으나 이에 한정되는 것은 아니다.
상기 모바일 장치는 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 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)으로 구현될 수 있다.
호스트(200)는 데이터 저장 장치(300)에 데이터를 라이트하거나 데이터 저장 장치(300)로부터 데이터를 리드하기 위한 입출력 요청들을 데이터 저장 장치(300)로 전송할 수 있다. 호스트(200)는 인터페이스(210)를 통해 데이터 저장 장치(300)와 데이터를 주거나 받을 수 있다.
인터페이스(210)는 SATA(serial advanced technology attachment) 인터페이스, SATAe(SATA express) 인터페이스, SAS(serial attached small computer system interface(SCSI)) 인터페이스, PCIe(peripheral component interconnect express) 인터페이스, NVMe(non-volatile memory Express) 인터페이스, AHCI(advanced host controller interface) 인터페이스, 또는 멀티미디어 카드(multimedia card(MMC))인터페이스로 구현될 수 있으나 이에 한정되는 것은 아니다.
데이터 저장 장치(300)는 플래시-기반 스토리지(flash-based storage)로 구현될 수 있으나 이에 한정되는 것은 아니다. 예컨대, 데이터 저장 장치(300)는 SSD (solid-state drive or solid-state disk), 임베디드 SSD(embedded SSD(eSSD)), 유니버셜 플래시 스토리지(universal flash storage(UFS)), 멀티미디어 카드 (multimedia card(MMC)), 임베디드 MMC(embedded MMC(eMMC)) 또는 매니지드 (managed) NAND로 구현될 수 있으나 이에 한정되는 것은 아니다. 예컨대, 플래시-기반 스토리지는 NAND-타입 플래시 메모리 장치 또는 NOR-타입 플래시 메모리 장치로 구현될 수 있다.
실시 예들에 따라, 데이터 저장 장치(300)는 하드 디스크 드라이브(hard disk drive(HDD)), PRAM(phase change RAM) 장치, MRAM(magnetoresistive RAM) 장치, STT-MRAM(spin-transfer torque MRAM) 장치, FRAM(ferroelectric RAM) 장치 또는 RRAM(resistive RAM) 장치로 구현될 수 있으나 이에 한정되는 것은 아니다.
데이터 저장 장치(300)는 전력 관리 IC(310), 제어 회로(320), 제1메모리 (340), 및 제2메모리들(350)을 포함할 수 있다.
전력 관리 IC(310)는, 제어 회로(320)의 제어에 따라, 제어 회로(320), 제1메모리(340), 및 제2메모리들(350) 각각으로 파워(또는 작동 전압)를 공급할 수 있다.
제어 회로(320)는 전력 관리 IC(310), 제1메모리(340), 및 제2메모리들(350) 각각을 제어할 수 있다. 실시 예들에 따라, 제어 회로(320)는 집적 회로(IC), 시스템 온 칩(system on chip(SoC)), 프로세서, 애플리케이션 프로세서(application processor(AP)), 칩셋, 또는 반도체 칩들의 집합으로 구현될 수 있다.
제어 회로(320)는 버스(321), CPU(323), 전력 관리 유닛(power management unit(PMU); 325), 클락 관리 유닛(clock management unit(CMU); 327), 호스트 인터페이스(329), 버퍼 매니저(331), DMA(direct memory access) 컨트롤러(333), 및 메모리 컨트롤러(335)를 포함할 수 있다.
CPU(323)는 각 구성 요소(325, 327, 329, 331, 333, 및 335)를 제어할 수 있다. CPU(323)는 저전력 모드 진입 제어기(400)를 실행시킬 수 있다. 저전력 모드 진입 제어기(400)는 저전력 모드(low-power mode)로의 진입 시간을 예측하고, 예측 결과에 따라 제어 신호들(CTRL1과 CTRL2)을 생성할 수 있다.
종래에는 아이들 시간이 일정 시간 지속되면, 아이들 시작 시점부터 일정 시간이 지난 후에 저전력 모드로 진입하는 정책을 사용했다. 즉, 저전력 모드로의 진입 시간은 고정(fix)되어 있었으나, 본 발명의 실시 예에 따른 저전력 모드 진입 제어기(400)는 과거의 아이들 시간 간격들(또는 아이들 시간 간격들이 분포)을 분석하고, 분석 결과에 따라 저전력 모드로의 진입 시간을 동적으로 조절할 수 있다.
저전력 모드는 파워-세이브 모드(power-save mode)를 의미할 수 있다. 상기 저전력 모드는 데이터 저장 장치(300) 및/또는 제어 회로(320)에 대한 저전력 모드를 의미할 수 있다. 상기 저전력 모드는 데이터 저장 장치(300)의 배터리 수명 (battery life)을 증가시키기 위해 데이터 저장 장치(300)에 포함된 구성 요소들 (323, 329, 331, 333, 335, 340, 및 350) 중에서 적어도 하나로 공급되는 클락 신호와 작동 전압 중에서 적어도 하나를 감소시키는 작동을 의미할 수 있다.
즉, 저전력 모드 진입 제어기(400)는 DFS(dynamic frequency scaling) 알고리즘, DVFS(dynamic voltage and frequency scaling) 알고리즘, DPM(dynamic power management) 정책, 또는 이들의 결합을 사용할 수 있다. DPM 정책은 시스템 내에서 전력 손실(power dissipation)을 줄이기 위해 아이들(idle) 또는 이용되지 않는 (underused) 시스템 컴포넌트들을 선택적으로 폐쇄하는(shutdown) 것을 의미한다.
PMU(325)는, CPU(323)로부터 출력된 제1제어 신호(CTRL1)에 응답하여, PMIC (310)를 제어하기 위한 제3제어 신호(CTRL3)를 생성할 수 있다. PMIC(310)는 제3제어 신호(CTRL3)에 응답하여 구성 요소들(323, 329, 331, 333, 335, 340, 및 350) 중에서 적어도 하나로 공급되는 작동 전압을 제어(증가, 유지, 또는 감소)할 수 있다.
CMU(327)는, CPU(323)로부터 출력된 제2제어 신호(CTRL2)에 응답하여, 구성 요소들(323, 329, 331, 333, 및 335) 중에서 적어도 하나로 공급되는 클락 신호의 주파수를 제어(증가, 유지, 또는 감소)할 수 있다. 전력 제어 회로는 PMU(325)와 CMU(327)를 포함할 수 있다.
호스트 인터페이스(329)는 호스트(200)로부터 출력된 입출력 요청들을 수신하고, 수신된 입출력 요청들을 버스(321) 또는 버퍼 매니저(331)로 출력할 수 있다. 호스트 인터페이스(329)는 버퍼 매니저(331)로부터 출력된 데이터를 호스트 (200)로 전송할 수 있다. 호스트 인터페이스(329)는 인터페이스(210)와 적합한 프로토콜을 사용할 수 있다.
버퍼 매니저(331)는, CPU(323)의 제어에 따라, 제1메모리(340)에 데이터를 라이트하거나 제1메모리(340)로부터 데이터를 리드할 수 있다. 버퍼 매니저(331)에 의해 처리된 데이터는 호스트 인터페이스(329) 또는 DMA 컨트롤러(333)로 전송될 수 있다. 버퍼 매니저(331)는 제1메모리(330)에 대한 라이트 작동과 리드 작동을 제어할 수 있는 버퍼 컨트롤러라고도 불릴 수 있다.
제1메모리(340)는 버퍼 또는 버퍼 메모리의 기능을 수행할 수 있고, DRAM (dynamic random access memory)을 포함하는 휘발성 메모리 장치로 구현될 수 있다.
제1메모리(340)는 제2메모리들(NVM)에 대한 논리 어드레스-물리 어드레스 변환을 위한 매핑 테이블(mapping table)을 저장하는 제1메모리 영역과, 캐시(cache)의 기능을 수행할 수 있는 제2메모리 영역을 포함할 수 있으나 이에 한정되는 것은 아니다. 예컨대, CPU(323)에 의해 실행되는 FTL(flash translation layer)은 상기 제1메모리 영역에 저장된 매핑 테이블을 이용하여 논리 어드레스-물리 어드레스 변환을 수행할 수 있다.
DMA 컨트롤러(333)는 버퍼 매니저(331)로부터 전송된 데이터를 메모리 컨트롤러(335)로 전송하거나 메모리 컨트롤러(335)로부터 출력된 데이터를 버퍼 매니저 (331)로 전송할 수 있다.
메모리 컨트롤러(335)는, CPU(323) 또는 DMA 컨트롤러(333)의 제어에 따라, 제2메모리들(NVM 또는 350)에 대한 라이트 작동(또는 프로그램 작동)과 리드 작동을 제어할 수 있다.
제1그룹의 제2메모리들은 제1채널(CH1)을 통해 메모리 컨트롤러(335)와 데이터를 주고받을 수 있고, 제2그룹의 제2메모리들은 제2채널(CH2)을 통해 메모리 컨트롤러(335)와 데이터를 주고받을 수 있다. 비록, 도 1에서는 2개의 채널들(CH1과 CH2)이 도시되어 있으나 데이터 저장 장치(300)에 구현되는 채널들의 개수는 실시 예들에 따라 변경될 수 있다.
제2메모리들(NVM) 각각은 NAND-타입 플래시 메모리 장치로 구현될 수 있다. 제2메모리들(NVM) 각각은 메모리 셀 어레이와 상기 메모리 셀 어레이의 작동(예컨대, 라이트 작동과 리드 작동)을 제어하는 제어 로직 회로를 포함할 수 있다.
상기 메모리 셀 어레이는 2차원 또는 3차원 메모리 셀 어레이를 포함할 수 있다. 상기 3차원 메모리 셀 어레이는 실리콘 기판 위(on or above)에 배치된 액티브 영역을 갖는 메모리 셀들의 어레이의 하나 또는 그 이상의 물리적인 레벨들 내에서 모노리식하게(monolithically) 형성되고, 상기 메모리 셀들의 작동에 관련된 회로를 포함할 수 있다. 상기 회로는 상기 기판의 내부 또는 위(on or above)에 형성될 수 있다.
모노리식(monolithic) 이라는 용어는 어레이의 각 레벨의 레이어들(layers)이 상기 어레이의 각 하부 레벨(each underlying level)의 레이어들에 직접 증착 (directly deposited )되는 것을 의미한다.
3차원 메모리 셀 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직으로 배향되는(vertically oriented) 수직 NAND 스트링을 포함할 수 있다. 상기 적어도 하나의 메모리 셀은 전하 트랩 레이어(charge trap layer)를 포함할 수 있다.
상기 메모리 셀 어레이는 복수의 메모리 셀들을 포함할 수 있고, 상기 복수의 메모리 셀들 각각은 1-비트의 정보를 저장할 수 있는 싱글 레벨 셀(single level cell(SLC)) 또는 2-비트 이상의 정보를 저장할 수 있는 멀티-레벨 셀(multi level cell(MLC))로 구현될 수 있다. 상기 정보는 로직 1 또는 로직 0을 의미할 수 있다.
도 2는 도 1에 도시된 데이터 저장 장치의 실시 예를 나타낸다. 도 1과 도 2를 참조하면, 데이터 저장 장치(300)는 SSD로 구현될 수 있다. SSD(300)는 탑 커버 (top cover; 301), 인터페이스(210)와 연결되는 인터페이스 커넥터(211), PMIC (310), 제어 회로(예컨대, SSD 컨트롤러; 320), 제1메모리(예컨대, DRAM 장치; 340), 복수의 제2메모리들(NVM), 및 바닥 커버(bottom cover; 305)를 포함할 수 있다.
각 구성 요소(310, 320, 340, 및 350)는 반도체 패키지로 패키징될 수 있다. 복수의 제2메모리들(NVM)은 PCB(printed circuit board; 303)의 한쪽 면 또는 양쪽 면에 배치될 수 있다.
도 3A는 도 1에 도시된 저전력 모드 진입 제어기의 블록도를 나타낸다. 도 1과 도 3A을 참조하면, CPU(323)에 의해 실행되는 저전력 모드 진입 제어기(400A)는 호스트(200)로부터 입출력 요청들(IO)을 수신하고, 입출력 요청들(IO)과 관련된 아이들 시간 간격들의 분포에 기초하여 상기 아이들 시간 간격들 중에서 어느 하나의 아이들 시간 간격을 저전력 모드 진입 시간(LPME1)으로 예측하고, 저전력 모드 진입 시간(LPME1)에서 제어 신호들(CTR1과 CTR2)을 출력할 수 있다.
PMU(325)와 CMU(327)를 포함하는 전력 제어 회로는, 제어 신호들(CTR1과 CTRL2)에 응답하여, 제어 회로(320) 및/또는 데이터 저장 장치(300)를 저전력 모도로 진입시킬 수 있다. 따라서, 제어 회로(320) 및/또는 데이터 저장 장치(300)는 저전력 모드 진입 시간(LPME1)에 저전력 모도로 진입할 수 있다.
저전력 모드 진입 제어기(400A)는 프로-프로세서(410), 제1예측기(430), 제2예측기(450), 및 전력 관리 모듈(470)을 포함할 수 있다. 전력 관리 모듈(470)은 DFS 알고리즘, DVFS 알고리즘, DPM 정책, 또는 이들의 결합을 사용하여 제어 신호들(CTR1과 CTR2)을 생성할 수 있다.
도 4는 도 3A부터 도 3C에 도시된 프리-프로세서의 작동을 설명하는 개념도이다. 프로-프로세서(410)의 작동은 도 3A와 도 4를 참조하여 설명된다. 프로-프로세서(410)는 입출력 요청들(IO) 각각에 대해 액티브 시간 간격(ACT)과 아이들 시간 간격(IDL)을 생성하고, 액티브 시간 간격(ACT)과 아이들 시간 간격(IDL)을 제1예측기(430)와 제2예측기(450)로 전송할 수 있다. 액티브 시간 간격(ACT)과 아이들 시간 간격(IDL) 각각은 시간 정보를 포함할 수 있다.
본 명세서에서 아이들 시간 간격(idle time interval)은 아이들 시간을 의미할 수 있고, 액티브 시간 간격은 액티브 시간 또는 작동 시간을 의미할 수 있다.
프로-프로세서(410)는 제1액티브 시간 간격(ACT1)을 출력할 수 있다. 제1액티브 시간 간격(ACT1)은 제1입출력 요청(IO1)의 수신 시각과 제1응답(RES1)의 수신 시각의 차이를 나타낼 수 있다.
프로-프로세서(410)는 제1응답(RES1)의 수신 시각과 제2입출력 요청(IO2)의 수신 시각과의 사이의 제1시간(T1)을 제1아이들 시간 간격(IDL1)으로 출력할 수 있다. 제1아이들 시간 간격(IDL1)은 제1입출력 요청(IO1)과 관련된 아이들 시간 간격으로 가정한다.
프로-프로세서(410)는 제2액티브 시간 간격(ACT2)을 출력할 수 있다. 제2액티브 시간 간격(ACT2)은 제2입출력 요청(IO2)의 수신 시각과 제2응답(RES2)의 수신 시각의 차이를 나타낼 수 있다.
프로-프로세서(410)는 제2응답(RES2)의 수신 시각과 제3입출력 요청(IO3)의 수신 시각과의 사이의 제2시간(T2)을 제2아이들 시간 간격(IDL2)으로 출력할 수 있다. 제2아이들 시간 간격(IDL2)은 제2입출력 요청 (IO2)과 관련된 아이들 시간 간격으로 가정한다.
프로-프로세서(410)는 제3액티브 시간 간격(ACT3)을 출력할 수 있다. 제3액티브 시간 간격(ACT3)은 제3입출력 요청(IO3)의 수신 시각과 제3응답(RES3)의 수신 시각의 차이를 나타낼 수 있다.
프로-프로세서(410)는 제3응답(RES3)의 수신 시각과 제4입출력 요청(IO4)의 수신 시각과의 사이의 제3시간(T3)을 제3아이들 시간 간격(IDL3)으로 출력할 수 있다. 제3아이들 시간 간격(IDL3)은 제3입출력 요청 (IO3)과 관련된 아이들 시간 간격으로 가정한다.
프로-프로세서(410)는 제4액티브 시간 간격(ACT4)을 출력할 수 있다. 제4액티브 시간 간격(ACT4)은 제4입출력 요청(IO4)의 수신 시각과 제4응답(RES4)의 수신 시각의 차이를 나타낼 수 있다.
프로-프로세서(410)는 제4응답(RES4)의 수신 시각과 제5입출력 요청(IO5)의 수신 시각과의 사이의 제4시간(T4)을 제4아이들 시간 간격(IDL4)으로 출력할 수 있다. 제4아이들 시간 간격(IDL4)은 제4입출력 요청 (IO4)과 관련된 아이들 시간 간격으로 가정한다. 예컨대, 프로-프로세서(410)는 각 액티브 시간 간격(ACT1~ACT4)과 각 아이들 시간 간격(IDL1~IDL4)을 카운트할 수 있는 카운터를 포함할 수 있다.
액티브 시간 간격(ACT)은 액티브 시간 간격들(ACT1~ACT4)을 집합적으로 나타내고, 아이들 시간 간격(IDL)은 아이들 시간 간격들(IDL1~IDL4)을 집합적으로 나타낸다.
상술한 바와 같이, 프로-프로세서(410)는 입출력 명령들과 응답들에 기초하여 액티브 시간 간격(ACT)과 아이들 시간 간격(IDL)을 생성할 수 있다. 요청이 라이트 요청일 때, 응답은 라이트 완료 응답일 수 있고, 요청이 리드 요청일 때, 응답은 리드 완료 응답일 수 있다. 각 응답(RES1~RES4)은 각 요청(IO1~IO4)과 관련되고 메모리 컨트롤러(335)로부터 출력될 수 있다.
예컨대, 프로-프로세서(410)는 제1액티브 시간 간격(ACT1)→ 제1아이들 시간 간격(IDL1)→ 제2액티브 시간 간격(ACT2)→ 제2아이들 시간 간격(IDL2) ,... 순서로 입출력 요청들(IO) 각각에 대한 액티브 시간 간격(ACT)과 아이들 시간 간격 (IDL)을 순차적으로 제1예측기(430)와 제2예측기(450)로 전송할 수 있다.
제1예측기(430)는 과거의 아이들 시간 간격들의 분포를 이용하여 제2진입 시간(LPME2)을 예측할 수 있다. 제1예측기(430)는 각 아이들 시간 간격이 입력된 횟수를 누적할 수 있다.
제2예측기(450)은 과거의 아이들 시간 간격들의 분포와 제2진입 시간(LPME2)을 이용하여 제1진입 시간(LPME1)을 예측할 수 있다. 제1예측기(430)에서 사용되는 아이들 시간 간격들의 개수와 제2예측기(450)에서 사용되는 아이들 시간 간격들의 개수는 서로 다르다.
제1예측기(430)는, 데이터 저장 장치(300)가 저전력 모드로 진입할 때, 데이터 저장 장치(300)의 성능 저하를 줄이기 위해 제2진입 시간(LPME2)을 예측할 수 있다. 따라서, 제1예측기(430)는 성능 지향 예측기의 기능을 수행할 수 있다.
도 5는 도 3A 또는 도 3B에 도시된 성능 지향 예측기의 블록도를 나타낸다. 비록, 도 5에서는 성능 지향 예측기(430)가 진입 시간 예측기(431), 위상 탐지기 (433), 및 예측 회피기(435)를 포함하는 것으로 도시되어 있으나, 실시 예들에 따라, 성능 지향 예측기(430)는 (i) 진입 시간 예측기(431)만을 포함하거나, (ⅱ) 진입 시간 예측기(431)와 위상 탐지기(433)를 포함하거나, (ⅲ) 진입 시간 예측기 (431)와 예측 회피기(435)를 포함할 수 있다.
진입 시간 예측기(431)의 작동은 도 5와 도 6을 참조하여 설명된다. 도 6은 도 5에 도시된 진입 시간 예측기의 작동을 설명하는 개념도이다.
도 5와 도 6을 참조하면, 진입 시간 예측기(431)는 프리-프로세서(410)로부터 순차적으로 출력된 액티브 시간 간격들(ACT) 각각과 아이들 시간 간격들(IDL) 각각을 수신하고, 아이들 시간 간격별(TI1~TIn)로 아이들 횟수를 누적할 수 있다. 아이들 시간 간격(TI2)이 IDL1이라고 가정하면, 진입 시간 예측기(431)는 아이들 시간 간격(TI2=IDL1)이 수신된 횟수, 즉 아이들 회수를 누적할 수 있다. 또한, 아이들 시간 간격(TI1)이 IDL3이라고 가정하면, 진입 시간 예측기(431)는 아이들 시간 간격(TI1=IDL3)이 수신된 횟수, 즉 아이들 회수를 누적할 수 있다.
아이들 시간 간격들 중에서 원도우(WIN)에 포함된 아이들 시간 간격들(TI1부터 TIn)에 의해 관심 구간이 정의될 수 있다. 예컨대, TIn은 128ms 또는 256ms로 설정될 수 있으나 이에 한정되는 것은 아니다.
진입 시간 예측기(431)는 윈도우(WIN)에 포함된 아이들 시간 간격들 (TI1~TIn) 중에서 어느 하나(TIb)를 제2진입 시간(LPME2)으로 예측(또는 결정)할 수 있다. 예컨대, 진입 시간 예측기(431)는 아이들 시간 간격별(TI1~TIn)로 누적된 아이들 횟수의 총합(예컨대, 1000개)과 기준 누적 횟수(예컨대, 900개)에 기초하여 제2진입 시간(LPME2)을 예측(또는 결정)할 수 있다.
따라서, 윈도우(WIN)에 포함된 아이들 시간 간격들(TI1~TIn) 각각에 대해 누적된 아이들 횟수의 분포(ITD0 또는 ITD1)에 따라 제2진입 시간(LPME2)이 예측(또는 결정)될 수 있다. 분포(ITD0)에 기초하여 예측된 2진입 시간 (TIa=LPME2)은 제1분포(ITD1)에 기초하여 예측된 2진입 시간(TIb=LPME2)보다 짧다. 즉, 짧은 아이들 시간 간격들 각각에 누적된 아이들 횟수가 많을수록 제2진입 시간(LPME2)은 짧아진다.
실시 예들에 따라, 아이들 시간 간격별(TI1~TIn)로 누적된 아이들 횟수의 총합이 일정한 개수(예컨대, 1000개)보다 작을 때, 진입 시간 예측기(431)는 디폴트로 설정된 아이들 시간 간격을 제2진입 시간(LPME2)을 예측(또는 결정)할 수 있다.
각 분포(ITD0와 ITD1)는 아이들 시간 간격(TI1~TIn)별로 누적된 아이들 횟수를 나타내는 통계적 데이터의 일 예이다.
제1분포(ITD1)를 기준으로 현재 입출력 요청과 관련된 현재 아이들 시간 간격이 제2진입 시간(TIb)보다 짧을 때, 진입 시간 예측기(431)는 데이터 저장 장치 (300)가 저전력 모드로 진입하는 것을 방지할 수 있다. 진입 시간 예측기(431)는 학습된 기록(예컨대, 과거 전체의 아이들 시간 간격들 각각에 대한 아이들 횟수의 분포)을 이용하여 (바로) 다음 저전력 모드로의 진입 시간을 예측할 수 있다.
도 7은 도 5에 도시된 위상 탐지기의 작동을 설명하는 개념도이다. 도 5와 도 7을 참조하면, 위상 탐지기(phase detector; 433)는 아이들 횟수의 제1분포 (ITD1)와 아이들 횟수의 제2분포(ITD2 또는 ITD3)를 비교하고, 비교의 결과에 따라 진입 시간 예측기(431)를 리셋하기 위한 리셋 신호(RESET)를 생성할 수 있다. 즉, 위상 탐지기(433)는 제1분포(ITD1)와 제2분포(ITD2 또는 ITD3)를 생성할 수 있다.
제1분포(ITD1)는 아이들 시간 간결별 과거 전체의 아이들 횟수의 누적 분포를 나타낼 수 있고, 제2분포(ITD2 또는 ITD3)는 아이들 시간 간결별 최근 아이들 횟수의 누적 분포를 나타낼 수 있다.
예컨대, 제1분포(ITD1)에 포함된 아이들 시간 간격별 아이들 횟수의 총합(예컨대, 1000개)은 제2분포(ITD2 또는 ITD3)에 포함된 아이들 시간 간격별 아이들 횟수의 총합(예컨대, 400개)보다 많다. 위상 탐지기(433)는 제2분포(ITD2 또는 ITD3)에 기초하여 제1분포(ITD1)의 변경을 탐지하고, 탐지의 결과에 따라 리셋 신호 (RESET)를 생성할 수 있다. 따라서, 탐지의 결과에 기초하여 위상 탐지기(433)는 잘못 예측된 제2진입 시간(LPME2)을 리셋하는 기능을 수행할 수 있다.
제1분포(ITD1)와 제2분포(ITD2 또는 ITD3) 각각은 위상 곡선(phase curve)을 의미할 수 있다. 예컨대, 제1분포(ITD1)와 제2분포(ITD3)의 차이가 적다면(또는 제1분포(ITD1)와 제2분포(ITD3)가 유사하면), 위상 탐지기(433)는 비활성화된 리셋 신호(RESET)를 생성할 수 있다. 따라서 진입 시간 예측기(431)는, 비활성화된 리셋 신호(RESET)에 응답하여, 제2진입 시간(LPME2)을 그대로 유지할 수 있다.
그러나 제1분포(ITD1)와 제2분포(ITD2)의 차이가 크다면(또는 제1분포(ITD1)와 제2분포(ITD3)가 유사하지 않으면), 위상 탐지기(433)는 활성화된 리셋 신호 (RESET)를 생성할 수 있다. 따라서, 진입 시간 예측기(431)는, 활성화된 리셋 신호 (RESET)에 응답하여, 제2진입 시간(LPME2)을 리셋할 수 있다.
실시 예들에 따라, 진입 시간 예측기(431)가 리셋되면, 경우 1(CASE1)과 같이 진입 시간 예측기(431)는 디폴트 아이들 시간 간격을 제2진입 시간(LPME2)으로서 출력할 수 있다. 실시 예들에 따라, 진입 시간 예측기(431)가 리셋되면, 경우 2 (CASE2)과 같이 위상 탐지기(433)는 디폴트 아이들 시간 간격을 제2진입 시간 (LPME2)으로서 출력할 수 있다. 예컨대, 상기 디폴트 아이들 시간 간격은 진입 시간 예측기(431)에서 예측된 제2진압 시간(TIb)보다 작거나 크게 설정될 수 있다.
도 8은 도 5에 도시된 예측 회피기의 작동을 설명하는 개념도이다. 도 5와 도 8을 참조하면, 예측 회피기(estimation avoider; 435)는 아이들 시간 간격들의 제2분포(ITD2)와 아이들 시간 간격들의 제3분포(ITD4 또는 ITD5)를 비교하고, 비교 결과에 따라 회피 신호(NIF)를 진입 시간 예측기(431)로 출력할 수 있다. 제3분포 (ITD4 또는 ITD5)는 최근 아이들 시간 간격들 각각에 대한 아이들 횟수의 누적 분포를 나타낼 수 있다. 예측 회피기(435)는 제2분포(ITD2)와 제3분포(ITD4 또는 ITD5)를 계산할 수 있다.
예컨대, 제2분포(ITD2)에 포함된 아이들 시간 간격별 아이들 횟수의 누적 총합(예컨대, 400개)은 제3분포(ITD4 또는 ITD5)에 포함된 아이들 시간 간격별 아이들 횟수의 누적 총합(예컨대, 100개)보다 많다. 예측 회피기(435)는, 제2분포 (ITD2)와 제3분포(ITD4 또는 ITD5)의 차이에 기초하여, 회피 신호(NIF)를 생성할 수 있다. 예컨대, 예측 회피기(435)는 제2분포(ITD2)와 제3분포(ITD4 또는 ITD5)의 차이에 기초하여 제2진입 시간(LPME2)의 예측의 난이도(level of difficulty)를 판단하고, 판단 결과에 따라 회피 신호(NIF)를 생성할 수 있다.
제3분포(ITD4 또는 ITD5)는 위상 곡선으로 불릴 수 있다. 예컨대, 제2분포 (ITD2)와 제3분포(ITD5)의 차이가 적다면(또는 제2분포(ITD2)와 제3분포(ITD5)가 유사하면), 예측 회피기(435)는 제1값을 갖는 회피 신호(NIF)를 생성할 수 있다. 따라서 진입 시간 예측기(431)는, 상기 제1값을 갖는 회피 신호(NIF)에 응답하여, 제2진입 시간(LPME2)을 그대로 유지할 수 있다.
그러나 제2분포(ITD2)와 제3분포(ITD4)의 차이가 크다면(또는 제2분포(ITD2)와 제3분포(ITD4)가 유사하지 않으면), 예측 회피기(435)는 제2값을 갖는 회피 신호(NIF)를 생성할 수 있다. 따라서, 진입 시간 예측기(431)는, 상기 제2값을 갖는 회피 신호(NIF)에 응답하여, 일정 시간 동안 진입 시간 예측기(431)의 작동을 중지시킬 수 있다.
실시 예들에 따라, 상기 제2값은 향후 입력될 입출력 요청들의 개수를 나타낼 수 있다. 예컨대, 제2값이 100을 나타낸다고 가정하면, 진입 시간 예측기(431)는 100개의 입출력 요청들과 관련된 아이들 시간 구간들을 제2진입 시간(LPME2)을 예측하는 데에서 제외할 수 있다. 본 명세서에서 예시된 숫자들, 예컨대 1000, 900, 400, 및 100은 본 발명의 이해를 돕기 위해 예시된 숫자들로서 본 발명의 기술적 사상이 이에 한정되는 것은 아니다.
실시 예들에 따라, 회피 신호(NIF)가 진입 시간 예측기(431)로 전송되면, 경우 1(CASE1)과 같이 진입 시간 예측기(431)는 디폴트 아이들 시간 간격을 제2진입 시간(LPME2)으로서 출력할 수 있다. 실시 예들에 따라, 회피 신호(NIF)가 진입 시간 예측기(431)로 전송되면, 경우 3(CASE3)과 같이 예측 회피기(435)는 디폴트 아이들 시간 간격을 제2진입 시간(LPME2)으로서 출력할 수 있다. 예컨대, 상기 디폴트 아이들 시간 간격은 진입 시간 예측기(431)에서 예측된 제2진압 시간(TIb)보다 작거나 크게 설정될 수 있다.
도 9는 도 3A에 도시된 저전력 지향 예측기의 작동을 설명하는 개념도이고, 도 10은 도 3A에 도시된 저전력 지향 예측기가 성능 지향 예측기에서 예측된 진입 시간을 변경하는 과정을 설명하는 개념도이다.
도 3A, 도 9, 및 도 10을 참조하면, 제2예측기(450)는 전력 절감 효과를 높이기 위해 제1예측기(430)에서 예측된 제2진입 시간(LPME2)보다 긴 아이들 시간 간격들이 입력되면 제2진입 시간(LPME2)을 제1진입 시간(LPME1)으로 변경할 수 있다. 제1진입 시간(LPME1)은 제2진입 시간(LPME2)보다 짧다. 제2예측기(450)는 저전력 지향 예측기로 사용될 수 있다.
제2예측기(450)는, 프리-프로세서(410)로부터 전송된 아이들 시간 간격들 (IDL) 중에서 제2진입 시간(LPME2)보다 긴 아이들 시간 간격들이 입력될 때, 비효율적인 절전 구간(PSI)을 줄이기 위해 제2진입 시간(LPME2)을 제1진입 시간(LPME1)으로 변경할 수 있다.
도 9에 도시된 바와 같이, 가장 최근의 복수의 아이들 시간 간격들 (ET1, ET2, ET3, ET4, 및 ET5) 각각이 제2진입 시간(LPME2)보다 길면, 도 10의 (a)에 도시된 바와 같이 아이들 시작 시점(IST)부터 제2진입 시간(LPME2)이 지난 후에 다음 입출력 요청(I/O)이 호스트(200)로부터 데이터 저장 장치(300)로 전송될 가능성이 높다.
따라서, 최근 아이들 시간 간격들의 개수가 기준 개수를 초과할 때, 제2예측기(450)는 제2진입 시간(LPME2)을 제1진입 시간(LPME1)으로 변경할 수 있다.
실시 예들에 따라, 가장 최근의 복수의 아이들 시간 간격들(ET1, ET2, ET3, ET4, 및 ET5)의 평균이 제2진입 시간(LPME2)보다 길 때, 제2예측기(450)는 제2진입 시간(LPME2)을 제1진입 시간(LPME1)으로 변경할 수 있다.
실시 예들에 따라, 가장 최근의 복수의 아이들 시간 간격들(ET1, ET2, ET3, ET4, 및 ET5)의 평균이 제2진입 시간(LPME2)보다 길고 복수의 아이들 시간 간격들 (ET1, ET2, ET3, ET4, 및 ET5)과 관련된 액티브 시간 간격들의 평균이 액티브 기준 시간 간격보다 작을 때, 제2예측기(450)는 제2진입 시간(LPME2)을 제1진입 시간 (LPME1)으로 변경할 수 있다. 복수의 아이들 시간 간격들 (ET1, ET2, ET3, ET4, 및 ET5)과 관련된 액티브 시간 간격들은 도 4를 참조하여 설명한 바와 같이 결정될 수 있다. 복수의 아이들 시간 간격들(ET1, ET2, ET3, ET4, 및 ET5)로서 5개의 아이들 시간 간격들이 도시되나 본 발명의 기술적 사상이 이에 한정되는 것은 아니다.도 10의 (b)에 도시된 바와 같이, 제2진입 시간(LPME2)이 제1진입 시간 (LPME1)으로 변경되면, 진입 시간들(LPME1와 LPME1)의 차이에 해당하는 전력이 절약될 수 있다.
도 11은 도 3A에 도시된 저전력 모드 진입 제어기의 작동을 설명하는 플로우 차트이다. 도 1부터 도 11을 참조하면, 저전력 모드 진입 제어기(400 또는 400A, 집합적으로 400)는 호스트(200)로부터 입출력 요청들(IO)을 수신하고, 입출력 요청들(IO)과 관련된 아이들 시간 간격들(IDL)의 분포에 기초하여 상기 아이들 시간 간격들 중에서 제1아이들 시간 간격을 저전력 모드 진입 시간(LPME1)으로 예측하고, 저전력 모드 진입 시간(LPME1)에서 제어 신호들(CTR1과 CTR2)을 출력할 수 있다.
예컨대, 프리-프로세서(410)는 입출력 요청들(IO) 각각을 분석하고, 분석의 결과에 따라 액티브 시간 간격(ACT)과 아이들 시간 간격(IDL)을 생성할 수 있다(S110).
제1예측기(430)는 프리-프로세서(410)로부터 출력된 아이들 시간 간격들 (IDL) 각각에 대해 아이들 횟수를 누적하고, 상기 아이들 시간 간격들 중에서 제1그룹 아이들 시간 간격들(TI1~TIn) 각각에 대한 아이들 회수를 누적하면서 제1통계 데이터를 생성할 수 있다(S112). 제1예측기(430)는 제1그룹 아이들 시간 간격들 (TI1~TIn) 각각에 대해 누적된 아이들 횟수의 총합과 기준 누적 횟수에 기초하여 제1그룹 아이들 시간 간격들(TI1~TIn) 중에서 제2아이들 시간 간격(TIb)을 제2진입 시간(LPME2)으로 예측할 수 있다. 즉, 제1예측기(430)는 제2진입 시간(LPME2)을 저전력 모드 진입 시간으로 예측할 수 있다(S114).
제2예측기(450)는 프리-프로세서(410)로부터 출력된 아이들 시간 간격들 (IDL) 중에서 제2그룹 아이들 시간 간격들(ET1~ET5) 각각이 제2진입 시간(LPME2)보다 긴지를 판단할 수 있다. 즉, 제2예측기(450)는 제2그룹 아이들 시간 간격들 (ET1~ET5) 각각에 대한 제2통계 데이터를 생성할 수 있다(S116).
제2그룹 아이들 시간 간격들(ET1~ET5) 각각이 제2진입 시간(LPME2)보다 길 때, 제2예측기(450)는 제2진입 시간(LPME2)은 제1입 시간(LPME1)으로 변경할 수 있다. 즉, 제2예측기(450)는, 제2통계 데이터에 기초하여, 제1예측기(430)에 의해 에측된 제2진입 시간(LPME2)은 제1입 시간(LPME1)으로 변경할 수 있다(S118).
제2예측기(450)는 제1입 시간(LPME1), 즉 저전력 모드 진입 시간에서 제어 신호들(CTR1과 CTR2)을 출력할 수 있다. PMU(325)와 CMU(327)를 포함하는 전력 제어 회로는 제어 신호들(CTR1과 CTR2)에 응답하여 제어 회로(320) 및/또는 데이터 저장 장치(300)를 저전력 모드로 진입시킬 수 있다(S120).
저전력 모드의 제어 회로(320)가 호스트(200)로부터 새로운 입출력 요청 (I/O)을 수신하면, 제어 회로(320)의 CPU(323)는 입출력 요청(I/O)에 응답하여 웨이크-업 된다(S122).
입출력 요청들(IO) 각각과 관련된 아이들 시간 구간은 제2진입 시간(LPME2)을 예측하는데 사용될 수 있고, 입출력 요청들(IO) 중에서 제1그룹 입출력 요청들 각각과 관련된 아이들 시간 구간은 리셋 신호(RESET)를 사용하는데 사용될 수 있고, 상기 제1그룹 입출력 요청들 중에서 제2그룹 요청 신호들 각각과 관련된 아이들 시간 구간은 회피 신호(NIF)를 사용하는데 사용될 수 있다.
제2그룹 요청 신호들 중에서 제3그룹 요청 신호들 각각과 관련된 아이들 시간 구간은 제2진입 시간(LPME2)을 제1진입 시간(LPME1)으로 변경하는데 사용될 수 있다. 예컨대, 상기 제1그룹 입출력 요청들의 개수는 입출력 요청들(IO)의 개수보다 작고, 상기 제2그룹 요청 신호들의 개수는 상기 제1그룹 입출력 요청들의 개수보다 작고, 상기 제3그룹 요청 신호들의 개수는 상기 제3그룹 입출력 요청들의 개수보다 작다.
도 3B는 도 1에 도시된 저전력 모드 진입 제어기의 블록도를 나타낸다. 도 3B를 참조하면, 저전력 모드 진입 제어기(400B)는 프리-프로세서(410), 제1예측기 (430), 및 전력 관리 모듈(470)을 포함할 수 있다. 전력 관리 모듈(470)은 제1예측기(430)에서 예측된 제2진입 시간(LPME2)에 제어 신호들(CTR1과 CTR2)을 생성할 수 있다. 전력 관리 모듈(470)은 DFS 알고리즘, DVFS 알고리즘, DPM 정책, 또는 이들의 결합을 사용하여 제어 신호들(CTR1과 CTR2)을 생성할 수 있다.
도 3C는 도 1에 도시된 저전력 모드 진입 제어기의 블록도를 나타낸다. 도 3C를 참조하면, 저전력 모드 진입 제어기(400C)는 프리-프로세서(410), 제2예측기 (450A), 및 전력 관리 모듈(470)을 포함할 수 있다.
제2예측기(450A)에는 디폴트 아이들 시간 간격이 설정되어 있을 수 있다. 입출력 요청들(IO) 중에서 일부의 입출력 요청들 각각과 관련된 아이들 시간 간격들 (ET1~ET5) 각각이 디폴트 아이들 시간 간격보다 길 때, 제2예측기(450A)는 상기 디폴트 아이들 시간 간격을 제1진입 시간(LPME1)으로 변경할 수 있다. 예컨대, 제1진입 시간(LPME1)은 디폴트 아이들 시간 간격보다 짧을 수 있다.
도 12는 본 발명의 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다. 도 1과 도 12를 참조하면, 데이터 처리 시스템(100A)은 호스트(200)와 DRAM이 없는(DRAM-less) 데이터 저장 장치(300A)를 포함할 수 있다. 예컨대, 데이터 처리 시스템(100)은 태블릿 PC 또는 eMMC로 구현될 수 있다.
DRAM이 없는 데이터 저장 장치(300A)는 PMIC(310), 제어 회로(320A), 제1메모리(340), 및 제2메모리들(350)을 포함할 수 있다. 비록, 도 12에서는 복수의 채널들(CH1과 CH2)에 접속된 제2메모리들(350)이 도시되어 있으나, 데이터 저장 장치 (300A)는 하나의 채널에만 접속된 제2메모리들(350)을 포함할 수 있다.
버퍼 매니저(331A)는 도 1의 제1메모리(340)와 같은 외부 버퍼에 대한 데이터 처리를 수행하지 않는다. 라이트 작동 시 또는 리드 작동 시, 버퍼 매니저 (331A)는 내부 버퍼(331-1)를 이용하여 데이터를 호스트 인터페이스(329) 또는 DMA 컨트롤러(333)로 전송할 수 있다. 버퍼 매니저(331A)의 구조와 작동을 제외하면, 도 12의 제어 회로(320A)의 구조와 작동은 도 1의 제어 회로(320)의 구조와 작동과 동일 또는 유사하므로, 제어 회로(320A)에 대한 상세한 설명은 생략한다.
도 13은 본 발명의 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다. 도 13을 참조하면, 데이터 처리 시스템(100B)은 호스트(200)와 데이터 저장 장치(300B)를 포함할 수 있다.
데이터 저장 장치(300B)는 PMIC(310), 제어 회로(320B), 제1메모리(340), 및 제2메모리들(350)을 포함할 수 있다. 제어 회로(320B)는 버스(321), CPU(323A), PMU(325), CMU(327), 호스트 인터페이스(329), 버퍼 매니저(331), DMA 컨트롤러 (333), 메모리 컨트롤러(335), 및 진입 시간 예측기(337)를 포함할 수 있다.
도 1과 도 13을 참조하면, 도 1에 도시된 저전력 모드 진입 제어기(400)는 CPU(323)에서 실행되는 소프트웨어로 구현될 수 있으나, 도 13에 도시된 진입 시간 예측기(337)는 하드웨어로 구현될 수 있다.
실시 예들에 따라, 진입 시간 예측기(337)는 도 3a에 도시된 프리-프로세서(410), 제1예측기(430), 및 제2예측기(450)를 포함할 수 있다. 실시 예들에 따라, 진입 시간 예측기(337)는 도 3b에 도시된 프리-프로세서(410)와 제1예측기 (430)를 포함할 수 있다. 실시 예들에 따라, 진입 시간 예측기(337)는 도 3c에 도시된 프리-프로세서(410)와 제2예측기(450A)를 포함할 수 있다. 전력 관리 모듈 (470)에 대응되는 전력 관리 모듈(470A)은 CPU(232A)에 의해 실행될 수 있다.
실시 예들에 따라 전력 관리 모듈(470)에 대응되는 전력 관리 모듈은 하드웨어로 구현될 수 있다.
도 14는 도 1에 도시된 데이터 저장 장치를 포함하는 데이터 처리 시스템의 블록도를 나타낸다. 도 1부터 도 14를 참조하면, 데이터 처리 시스템(500)은 데이터베이스(520), 데이터베이스 서버(530), 제2네트워크(540), 및 복수의 클라이언트 컴퓨터들(550과 551)을 포함할 수 있다.
데이터 센터, 인터넷 데이터 센터, 또는 클라우드 데이터 센터(510)는 데이터베이스(520)와 데이터베이스 서버(530)를 포함할 수 있다.
데이터베이스(520)는 복수의 데이터 저장 장치들(300)을 포함할 수 있다. 복수의 데이터 저장 장치들(300)은 랙(rack)에 설치될 수 있다. 데이터 저장 장치들 (300) 각각의 구조와 작동은 도 1부터 도 11을 참조하여 설명된 데이터 저장 장치 (300)의 구조와 작동과 실질적으로 동일 또는 유사하다.
데이터베이스 서버(530)는 복수의 데이터 저장 장치들(300) 각각의 작동을 제어할 수 있다. 데이터베이스 서버(530)는 제1네트워크, 예컨대 LAN(local area network; 535)을 통해 제2네트워크(540), 예컨대, 인터넷에 접속될 수 있다. 예컨대, 데이터베이스 서버(530)는 웹서버 또는 메일 서버로 구현될 수 있으나 이에 한정되는 것은 아니다.
복수의 클라이언트 컴퓨터들(550과 551) 각각은 제2네트워크(540)를 통해 데이터베이스 서버(530)에 접속할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100, 100A, 100B: 데이터 처리 시스템
200: 호스트
300, 300A, 300B: 데이터 저장 장치
310: 전력 관리 IC
320: 제어 회로
323: CPU
400: 저전력 모드 진입 제어기
410: 프리-프로세서
430: 제1예측기, 성능 지향 예측기
450: 제2예측기, 저전력 지향 예측기
470: 전력 관리 모듈

Claims (10)

  1. 제어 회로에 있어서,
    호스트로부터 제1입출력 요청들을 수신하고, 상기 제1입출력 요청들과 관련된 아이들 시간 간격들의 분포에 기초하여 상기 아이들 시간 간격들 중에서 제1아이들 시간 간격을 저전력 모드 진입 시간으로 예측하고, 상기 저전력 모드 진입 시간에서 제어 신호를 출력하는 저전력 모드 진입 제어기;
    상기 저전력 모드 진입 제어기를 제어하거나 실행하는 CPU; 및
    상기 제어 신호에 응답하여 상기 제어 회로를 저전력 모드로 진입시키는 전력 제어 회로를 포함하되,
    상기 저전력 모드 진입 제어기는, 상기 제1입출력 요청들 각각에 대한 액티브 시간 간격과 아이들 시간 간격을 생성하는 프리-프로세서; 및
    상기 프리-프로세서로부터 출력된 상기 아이들 시간간격들 각각에 대한 아이들 횟수를 누적하고, 상기 아이들 시간 간격들 중에서 제1그룹 아이들 시간 간격들 각각에 대해 누적된 아이들 횟수의 총합과 기준 누적 횟수에 기초하여 상기 제1그룹 아이들 시간간격들 중에서 제2아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제1예측기를 포함하는 제어 회로.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 저전력 모드 진입 제어기는,
    상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격들 중에서 제2그룹 아이들 시간 간격들 각각이 상기 제2아이들 시간 간격보다 길 때, 상기 제2아이들 시간 간격을 제3아이들 시간 간격으로 변경하고, 상기 제3아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제2예측기를 더 포함하고,
    상기 제3아이들 시간 간격은 상기 제1그룹 아이들 시간 간격들에 포함되고,
    상기 제3아이들 시간 간격은 상기 제2아이들 시간 간격보다 짧은 제어 회로.
  5. 제4항에 있어서,
    상기 제2그룹 아이들 시간 간격들의 개수는 상기 제1그룹 아이들 시간 간격들의 개수보다 작은 제어 회로.
  6. 데이터를 저장하는 메모리 장치; 및
    상기 메모리 장치를 제어하는 제어 회로를 포함하고,
    상기 제어 회로는,
    호스트로부터 제1입출력 요청들을 수신하고, 상기 제1입출력 요청들과 관련된 아이들 시간 간격들의 분포에 기초하여 상기 아이들 시간 간격들 중에서 제1아이들 시간 간격을 저전력 모드 진입 시간으로 예측하고, 상기 저전력 모드 진입 시간에서 제어 신호를 출력하는 저전력 모드 진입 제어기;
    상기 저전력 모드 진입 제어기를 제어하거나 실행하는 CPU; 및
    상기 제어 신호에 응답하여 상기 제어 회로를 저전력 모드로 진입시키는 전력 제어 회로를 포함하되,
    상기 저전력 모드 진입 제어기는, 상기 제1입출력 요청들 각각에 대한 액티브 시간 간격과 아이들 시간 간격을 생성하는 프리-프로세서; 및
    상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격별로 아이들 횟수를 누적하고, 상기 아이들 시간 간격들 중에서 제1그룹 아이들 시간 간격들 각각에 대해 누적된 아이들 횟수의 총합과 기준 누적 횟수에 기초하여 상기 제1그룹 아이들 시간 간격들 중에서 제2아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제1예측기를 포함하는 데이터 저장 장치.
  7. 삭제
  8. 삭제
  9. 제6항에 있어서, 상기 저전력 모드 진입 제어기는,
    상기 프리-프로세서로부터 출력된 상기 아이들 시간 간격들 중에서 제2그룹 아이들 시간 간격들의 평균과 상기 제2아이들 시간 간격의 비교 결과에 기초하여, 상기 제2아이들 시간 간격을 제3아이들 시간 간격으로 변경하고, 상기 제3아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 제2예측기를 더 포함하고,
    상기 제3아이들 시간 간격은 상기 제1그룹 아이들 시간 간격들에 포함되고,
    상기 제3아이들 시간 간격은 상기 제2아이들 시간 간격보다 짧은 데이터 저장 장치.
  10. 제6항에 있어서, 상기 제1예측기는,
    상기 누적된 아이들 횟수의 총합이 상기 기준 누적 횟수보다 작을 때, 디폴트로 설정된 아이들 시간 간격을 상기 제1아이들 시간 간격으로 예측하는 데이터 저장 장치.
KR1020150142260A 2015-10-12 2015-10-12 저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치 KR102488673B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150142260A KR102488673B1 (ko) 2015-10-12 2015-10-12 저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150142260A KR102488673B1 (ko) 2015-10-12 2015-10-12 저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치

Publications (2)

Publication Number Publication Date
KR20170042985A KR20170042985A (ko) 2017-04-20
KR102488673B1 true KR102488673B1 (ko) 2023-01-16

Family

ID=58705877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150142260A KR102488673B1 (ko) 2015-10-12 2015-10-12 저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치

Country Status (1)

Country Link
KR (1) KR102488673B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200137664A (ko) 2019-05-31 2020-12-09 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20200137682A (ko) 2019-05-31 2020-12-09 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20210101972A (ko) 2020-02-11 2021-08-19 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20220003837A (ko) 2020-07-02 2022-01-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102613979B1 (ko) * 2020-11-03 2023-12-14 주식회사 에이직랜드 멀티 코어 프로세서 전력 관리 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100994828B1 (ko) * 2009-11-27 2010-11-17 (주) 유드림 전력 절감 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862917B2 (en) * 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100994828B1 (ko) * 2009-11-27 2010-11-17 (주) 유드림 전력 절감 시스템

Also Published As

Publication number Publication date
KR20170042985A (ko) 2017-04-20

Similar Documents

Publication Publication Date Title
KR102488673B1 (ko) 저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치
US10359822B2 (en) System and method for controlling power consumption
US20170277446A1 (en) Memory controller and storage device including the same
US9575677B2 (en) Storage system power management using controlled execution of pending memory commands
EP3872641B1 (en) Storage device and method of operating the storage device
US11693466B2 (en) Application processor and system on chip
US11041763B2 (en) Adaptive throttling
KR20180092435A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20190074053A1 (en) Storage device and refresh method thereof
US11494094B2 (en) Storage system and method of dynamically managing power of storage system according to a monitored operating state of a computing device
KR20210101632A (ko) 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US11829619B2 (en) Resource usage arbitration in non-volatile memory (NVM) data storage devices with artificial intelligence accelerators
US20080294928A1 (en) Coarsely controlling memory power states
Jian et al. Understanding and optimizing power consumption in memory networks
KR20230060817A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US11888318B2 (en) Transient load management for a system-on-chip meeting an activity threshold
US11768531B2 (en) Power management for storage controllers
US20230152989A1 (en) Memory controller adjusting power, memory system including same, and operating method for memory system
CN117519451A (zh) 数据读写的方法、控制器和存储设备
CN116343860A (zh) 检测操作模式的弱点的存储器装置及其操作方法

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