KR102385766B1 - 스토리지 시스템의 전력 분석을 수행하는 방법 및 장치 - Google Patents

스토리지 시스템의 전력 분석을 수행하는 방법 및 장치 Download PDF

Info

Publication number
KR102385766B1
KR102385766B1 KR1020190002496A KR20190002496A KR102385766B1 KR 102385766 B1 KR102385766 B1 KR 102385766B1 KR 1020190002496 A KR1020190002496 A KR 1020190002496A KR 20190002496 A KR20190002496 A KR 20190002496A KR 102385766 B1 KR102385766 B1 KR 102385766B1
Authority
KR
South Korea
Prior art keywords
power
storage device
active
power consumption
power supplies
Prior art date
Application number
KR1020190002496A
Other languages
English (en)
Other versions
KR20190104867A (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
Priority claimed from US15/975,463 external-priority patent/US11481016B2/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20190104867A publication Critical patent/KR20190104867A/ko
Application granted granted Critical
Publication of KR102385766B1 publication Critical patent/KR102385766B1/ko

Links

Images

Classifications

    • 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/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • 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/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • G06F11/3062Monitoring 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 where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

스토리지 시스템은 하나 또는 그 이상의 스토리지 장치, 상기 하나 또는 그 이상의 스토리지 장치에 전력을 공급하는 복수의 전력 공급 장치들, 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 1 백분율 임계치보다 작은 것으로 결정한 것에 응답하여, 상기 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 1 백분율 임계치와 동일하거나 이보다 커질 때까지 상기 전력 공급 장치들 중 하나 또는 그 이상을 비활성화하고, 그리고 상기 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 2 백분율 임계치와 같거나 더 크다고 결정한 것에 응답하여, 상기 총 소비 전력이 상기 전력 공급 장치들 중 활성 상태인 것들 각각의 부하가 상기 제 2 백분율 임계치보다 작아질 때까지 상기 전력 공급 장치들 중 하나 또는 그 이상을 비활성화하는 프로세서를 포함한다.

Description

스토리지 시스템의 전력 분석을 수행하는 방법 및 장치{METHOD AND APPARATUS FOR PERFORMING POWER ANALYTICS OF A STORAGE SYSTEM}
본 발명은 스토리지 장치에 관한 것으로, 좀더 구체적으로는 이더넷에 접속되는 스토리지 장치에서 소비되는 전력을 분석하는 방법 및 장치에 관한 것이다.
많은 회사가 최종 사용자에게 클라우드 기반 스토리지를 제공하므로 최종 사용자는 저장된 데이터에 원격으로 액세스할 수 있다. 이러한 회사는 일반적으로 스토리지 요구 사항에 대해 이더넷 부착 솔리드 스테이트 드라이브(eSSD)를 이용한다. 특히, 이더넷 부착 불휘발성 메모리 익스프레스 SSD(NVMe SSD, 예를 들면: NVMe 오버 패브릭[NVMe-OF] 스토리지 장치)는 이 영역에서 새롭고 혁신적인 기술로 간주된다.
클라우드 기반 스토리지 공급자는 일반적으로 사용자에게 할당된 총 저장 공간과 모든 사용자가 소비한 평균 에너지 비용 또는 해당 사용자가 시스템에서 소비할 수 있는 최대 전력 소비량에 따라 월별 또는 연간 단위로 데이터의 저장에 대한 비용을 사용자에게 청구한다. 예를 들어 같은 양의 클라우드 저장 공간을 구입한 두 명의 사용자의 경우, 구입한 총 저장 공간에 비해 소량의 데이터만 저장하고, 드물게 데이터를 저장하는 사용자에게도 정기적으로 데이터를 삭제하고 새로운 데이터를 추가했으며, 구입한 저장 공간의 대부분을 사용하는 사용자와 동일한 요금이 부과된다. 이상적으로 사용자에게는 실제로 소비된 에너지 자원을 기반으로 스토리지 비용이 청구되어야 한다. 그러나 개별 사용자에 대한 소비 전력을 계산하거나, 실시간으로 소비 전력을 계산하는 정확한 방법은 없다.
'발명의 배경이 되는 기술'에서 개시된 상술한 정보는 개시의 배경에 대한 이해를 높이기위한 것일 뿐이므로, 종래 기술을 구성하지 않는 정보를 포함할 수 있다.
본 발명의 목적은 클라우드 서비스 제공자가 시스템의 각 스토리지 장치의 실제 소비 전력을 기반으로 스토리지 시스템 사용자에게 정확한 비용 청구를 하기 위한 방법을 제공하는데 있다.
본 발명의 실시 예는, 시스템의 동작을 동적으로 모니터링함으로써 전원 공급 장치들의 동작을 관리(예를 들면: 최적화)할 수 있고, 활성 상태인 전원 공급 장치가 고전력 효율 범위에서 동작하도록 보장하는 스토리지 시스템 및 그 동작 방법에 관한 것이다.
본 발명의 실시 예는 스토리지 뱅크의 작업 부하에 따라 동적으로 최대 전력 상한을 조정하여 스토리지 뱅크의 스토리지 장치의 전력 사용을 관리(예를 들면: 최적화)할 수 있는 스토리지 시스템 및 그 동작 방법에 관한 것이다.
본 발명의 일부 실시 예에 따른 스토리지 시스템은, 하나 또는 그 이상의 스토리지 장치, 상기 하나 또는 그 이상의 스토리지 장치에 전력을 공급하는 복수의 전력 공급 장치들, 프로세서, 그리고 상기 프로세서에 의해서 실행되는 명령어를 저장하는 메모리를 포함하되, 상기 명령어는 상기 프로세서로 하여금, 상기 복수의 전력 공급 장치들 중 다수의 전력 공급 장치가 활성 상태인지 여부를 결정하는 단계, 다수의 전력 공급 장치가 활성 상태인 결정에 응답하여, 상기 하나 또는 그 이상의 스토리지 장치들의 총 소비 전력을 결정하는 단계, 상기 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 1 백분율 임계치보다 작은 것으로 결정한 것에 응답하여, 상기 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 1 백분율 임계치와 동일하거나 이보다 커질 때까지 상기 전력 공급 장치들 중 하나 또는 그 이상을 비활성화하는 단계, 그리고 상기 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 2 백분율 임계치와 같거나 더 크다고 결정한 것에 응답하여, 상기 총 소비 전력이 상기 전력 공급 장치들 중 활성 상태인 것들 각각의 부하가 상기 제 2 백분율 임계치보다 작아질 때까지 상기 전력 공급 장치들 중 하나 또는 그 이상을 비활성화시키는 단계를 더 포함한다.
일부 실시 예에서, 상기 하나 또는 그 이상의 스토리지 장치들의 상기 총 소비 전력을 결정하는 단계는, 상기 하나 또는 그 이상의 스토리지 장치들 또는 해당 전력 계량기로부터 상기 하나 또는 그 이상의 스토리지 장치들 각각의 실제 소비 전력를 얻는 단계, 그리고 상기 총 소비 전력을 얻기 위해 상기 하나 또는 그 이상의 스토리지 장치들 각각의 상기 실제 소비 전력을 합산하는 단계를 포함한다.
일부 실시 예에서, 상기 하나 또는 그 이상의 스토리지 장치들 각각의 실제 소비 전력을 구하는 단계는, 상기 하나 또는 그 이상의 스토리지 장치들 각각에 대응하는 전력 로그로부터 전력 측정 정보를 검색하되, 상기 전력 측정 정보는 상기 대응하는 전력 계량기에 의해 측정되고 상기 전력 로그에 기록된다.
일부 실시 예에서, 상기 대응하는 전력 계량기는 상기 하나 또는 그 이상의 스토리지 장치들 각각의 내부에 포함된다.
일부 실시 예에서, 상기 대응하는 전력계는 상기 하나 또는 그 이상의 스토리지 장치들 각각의 외부에서 연결된다.
일부 실시 예에서, 상기 활성 상태인 상기 전력 공급 장치들 각각의 부하의 제 1 백분율 임계치는, 상기 활성 상태인 상기 전력 공급 장치들 각각의 부하의 40 %인 것을 특징으로 한다.
일부 실시 예에서, 상기 활성 상태인 상기 전력 공급 장치들 각각의 부하의 제 2 백분율 임계치는 상기 활성 상태인 상기 전력 공급 장치들 각각의 부하의 90 %인 것을 특징으로 한다.
일부 실시 예에서, 상기 명령어들은 상기 프로세서로 하여금, 상기 복수의 전력 공급 장치들 중 하나의 전력 공급 장치만 고가용성 모드에 있는지 여부를 결정하고, 그리고 상기 복수의 전력 공급 장치 중 하나의 전력 공급 장치만 상기 고가용성 모드에 있다고 결정한 것에 응답하여, 상기 하나의 전력 공급 장치가 상기 고가용성 모드에 있음을 나타내는 경고 메시지를 생성하도록 한다.
일부 실시 예에서, 상기 전력 공급 장치들 중 상기 하나 또는 그 이상의 활성 상태인 전력 공급 장치를 비활성화하는 단계는, 상기 전력 공급 장치들 중 상기 활성 상태인 전력 공급 장치들 중 활성 전력 공급 장치를 비활성화하는 단계, 상기 하나 또는 그 이상의 스토리지 장치들의 총 소비 전력이 상기 전력 공급 장치들 중 상기 활성 상태인 것들의 부하의 상기 제 1 백분율 임계치보다 작은지를 결정하는 단계, 그리고 상기 결정에 응답하여, 상기 활성 생태인 전원 공급 장치들 중 다른 전력 공급 장치를 비활성화하는 단계를 포함한다.
일부 실시 예에서, 상기 전력 공급 장치들 중 상기 비활성 상태인 것들 중 하나 이상을 활성화시키는 단계는, 상기 전력 공급 장치들 중 비활성 상태인 전력 공급 장치를 활성화하는 단계, 상기 하나 또는 그 이상의 스토리지 장치들의 총 소비 전력이 상기 전력 공급 장치들 중 상기 활성 상태인 것들의 부하의 제 2 백분율 임계치와 같거나 더 큰지를 결정하는 단계, 그리고 상기 결정에 응답하여, 상기 전원 공급 장치들 중 다른 비활성 상태의 전원 공급 장치를 활성화시키는 단계를 포함한다.
일부 실시 예에 따른 본 발명의 하나 또는 그 이상의 스토리지 장치들 및 상기 하나 또는 그 이상의 스토리지 장치들에 전력을 공급하도록 구성된 복수의 전원 공급 장치들을 포함하는 스토리지 시스템을 관리하는 방법은, 상기 하나 또는 그 이상의 스토리지 장치의 프로세서에 의해, 상기 복수의 전력 공급 장치들 중 다수의 전력 공급 장치가 활성 상태인지 여부를 결정하는 단계, 다수의 전력 공급 장치가 활성 상태인 것으로 결정되는 것에 응답하여, 상기 프로세서에 의해, 상기 하나 또는 그 이상의 스토리지 장치들의 총 소비 전력을 결정하는 단계, 상기 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 1 백분율 임계치보다 작은 것으로 결정한 것에 응답하여, 상기 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 1 백분율 임계치와 동일하거나 이보다 커질 때까지 상기 전력 공급 장치들 중 하나 또는 그 이상을 비활성화하는 단계, 그리고 상기 총 소비 전력이 활성 상태인 상기 전력 공급 장치들의 부하의 제 2 백분율 임계치와 같거나 더 크다고 결정한 것에 응답하여, 상기 총 소비 전력이 상기 전력 공급 장치들 중 활성 상태인 것들 각각의 부하가 상기 제 2 백분율 임계치보다 작아질 때까지 상기 전력 공급 장치들 중 하나 또는 그 이상을 비활성화시키는 단계를 포함한다.
본 발명의 일부 실시 예에 따른 스토리지 시스템은, 각각의 스토리지 장치가 상기 스토리지 장치의 소비 전력을 측정하도록 구성되는 복수의 스토리지 장치들, 상기 복수의 스토리지 장치들과 통신하는 프로세서, 그리고 상기 프로세서에 의해 실행되는 명령어를 저장하는 메모리를 포함하되, 상기 명령어는 상기 프로세서로 하여금, 상기 복수의 스토리지 장치들 중 하나 또는 그 이상의 제 1 스토리지 장치가 유휴 또는 유휴 상태인지 여부를 결정하는 단계, 상기 하나 또는 그 이상의 제 1 스토리지 장치들이 유휴 상태에 있는 것으로의 결정에 응답하여, 상기 하나 또는 그 이상의 제 1 스토리지 장치가 저전력 용량으로 동작하도록 명령하는 단계, 상기 복수의 스토리지 장치들 중 하나 또는 그 이상의 제 2 스토리지 장치가 임계 전력 레벨 이하의 전력을 소비하는지 여부를 결정하는 단계, 그리고 상기 하나 또는 그 이상의 제 2 스토리지 장치들이 상기 임계 전력 레벨 이하에서 전력을 소비하고 있다는 결정에 응답하여, 상기 임계 전력 레벨 이하에서 동작하도록 상기 하나 또는 그 이상의 제 2 스토리지 장치에 지시하는 단계를 포함한다.
일부 실시 예에서, 상기 하나 또는 그 이상의 제 1 스토리지 장치가 유휴 또는 유휴 상태인지의 여부를 결정하는 단계는, 상기 복수의 스토리지 장치들 각각으로부터 대응하는 전력 로그를 검색하여 상기 복수의 스토리지 장치들 각각의 소비 전력을 획득하는 단계, 복수의 스토리지 장치들 각각의 전력 소비를 유휴 전력 레벨과 비교하는 단계, 그리고 상기 하나 또는 그 이상의 제 1 스토리지 장치가 상기 유휴 전력 레벨 또는 그 이하의 소비 전력을 갖는지 여부를 결정하는 단계를 포함한다.
일부 실시 예에서, 상기 전력 로그는 대응하는 전력 계량기에 의해 측정된 상기 대응하는 스토리지 장치의 실제 소비 전력을 저장한다.
일부 실시 예에서, 상기 하나 또는 그 이상의 제 1 스토리지 장치가 저전력 용량으로 동작하도록 명령하는 단계는, 상기 하나 또는 그 이상의 제 1 스토리지 장치들로 하여금 보다 낮은 최대 허용 전력을 갖는 전력 상태로 전력 상태들을 변경하도록 명령하는 단계를 포함한다.
일부 실시 예에서, 상기 복수의 스토리지 장치들 중 하나 또는 그 이상의 제 2 스토리지 장치가 임계 전력 레벨 이하의 전력을 소비하는지 여부를 결정하는 단계는, 상기 스토리지 장치들 각각의 대응하는 전력 로그를 검색하여 상기 복수의 스토리지 장치들 각각의 소비 전력을 얻는 단계, 상기 복수의 스토리지 장치들 각각의 소비 전력을 상기 임계 전력 레벨과 비교하는 단계, 그리고 상기 하나 또는 그 이상의 제 1 스토리지 장치들이 상기 임계 전력 레벨 미만의 소비 전력을 갖는지 여부를 결정하는 단계를 포함한다.
일부 실시 예에서, 상기 임계 전력 레벨 이하에서 동작하도록 상기 하나 또는 그 이상의 제 2 스토리지 장치에 지시하는 단계는, 상기 임계 전력 레벨에 대응하는 최대 허용 전력을 갖는 전력 상태로 전력 상태들을 변경하도록 상기 하나 또는 그 이상의 제 2 스토리지 장치들에 지시하는 단계를 포함한다.
일부 실시 예에서, 상기 명령어들은 상기 프로세서로 하여금, 하나 또는 그 이상의 스토리지 슬롯이 임의의 스토리지 장치에 의해 점유되어 있지 않은지를 결정하는 단계, 그리고 상기 하나 또는 그 이상의 스토리지 슬롯들이 임의의 스토리지 장치에 의해 점유되지 않는다는 결정에 응답하여, 하나 또는 그 이상의 스토리지 슬롯과 관련된 하나 이상의 전력 계량기를 식별하는 단계, 그리고 상기 식별된 하나 또는 그 이상의 전력 계량기에 더 낮은 전력 상한에서 작동하도록 명령하는 단계를 포함한다.
일부 실시 예에서, 상기 더 낮은 전력 상한에서 동작하도록 상기 식별된 하나 또는 그 이상의 전력 계량기에 지시하는 단계는, 상기 하나 또는 그 이상의 전력 계량기에 최저 전력 상태로 동작하도록 명령하는 단계를 포함한다.
일부 실시 예에서, 상기 더 낮은 전력 상한에서 동작하도록 상기 식별된 하나 또는 그 이상의 전력 계량기에 지시하는 단계는, 상기 하나 또는 그 이상의 전력 계량기가 비활성화되도록 지시하는 단계를 포함한다.
상술한 특징에 따른 본 발명에 따르면, 클라우드 서비스 제공자는 시스템의 각 스토리지 장치의 실제 소비 전력을 기반으로 스토리지 시스템 사용자에게 정확한 비용 청구를 할 수 있다.
본 발명의 개시의 이들 및 다른 특징들 및 이점은 명세서, 청구 범위 그리고 아래의 첨부 도면을 참조하여 이해될 것이다.
도 1은 본 발명의 일 실시 예에 따른 스토리지 장치의 내부 블록도이다.
도 2는 도 1의 스토리지 장치의 전력 계량 유닛으로부터 소비 전력 측정치를 수집하는 방법의 흐름도이다.
도 3은 전력 측정을 제공할 수 있는 복수의 스토리지 장치를 포함하는 스토리지 시스템의 개략도이다.
도 4는 도 3의 PCIe 스위치가 사용되는 스토리지 시스템의 실시 예를 보여주는 블록도이다.
도 5는 전력 측정치가 로컬 서비스 프로세서로부터의 질의에 기초하여 로컬 서비스 프로세서로 전송되는 실시 예를 보여주는 도면이다.
도 6은 전력 측정치가 로컬 서비스 프로세서에 의해 설정되는 실시 예를 도시하는 도면이다.
도 7은 스토리지 장치(10)의 소비 전력을 제어하기 위해 로컬 서비스 프로세서(50)가 사용할 수있는 전력 정책의 예를 보여준다.
도 8은 전력 측정치가 로컬 서비스 프로세서에 의해 패치될 때까지 컨트롤러 메모리 버퍼에 저장되는 실시 형태를 보여주는 도면이다.
도 9는 전력 계량 유닛에 의해 취해진 전력 측정이 로컬 서비스 프로세서에 직접 액세스 가능한 실시 예를 보여주는 도면이다.
도 10은 본 발명의 일 실시 예에 따른 전력 로그를 보여준다.
도 11은 스토리지 시스템(200)이 도 10의 전원 로그를 사용하여 섀시 내의 다수의 스토리지 장치들(10)의 전력 보고를 관리하는 방법을 예시적으로 보여주는 도면이다.
도 12는 본 발명의 일부 예시적인 실시 예에 따른 스토리지 뱅크 및 전력 분배 유닛을 이용하는 스토리지 시스템을 나타내는 블록도이다.
도 13a 내지 도 13d는 본 발명의 일부 실시 예에 따라 로컬 서비스 프로세서에 의해 생성된 스토리지 시스템의 전력 소비의 히스토그램을 보여준다.
도 14는 본 발명의 일부 예시적인 실시 예에 따른 스토리지 시스템의 전원 공급 장치의 동작을 관리하는 프로세스를 보여주는 흐름도이다.
도 15는 본 발명의 일부 실시 예에 따라 스토리지 시스템의 스토리지 장치를 관리하는 프로세스를 보여주는 흐름도이다.
이하, 예시적인 실시 예들은 유사한 참조 번호들은 유사한 구성 요소들을 지칭하는 첨부 도면을 참조하여 상세히 설명될 것이다. 그러나 본 발명은 여러 가지 다양한 형태로 구현 될 수 있고, 본 명세서에서 단지 예시된 실시 예에 한정되는 것은 아니다. 오히려, 이러한 실시 예들은 이 개시가 철저하고 완전하게 되기 위한 예로서 제공되며, 당업자에게 본 발명의 특징 및 기능을 완전하게 전달할 것이다. 따라서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명의 특징 및 기능을 완벽하게 이해하기 위해 필요하지 않은 프로세스, 요소들, 및 기술들은 설명되지 않을 수 있다. 특별히 언급하지 않는 한, 유사한 참조 번호들은 첨부된 도면들 및 쓰여진 설명에서 유사한 구성요소들을 나타내고, 따라서 그것에 대한 설명은 반복되지 않을 것이다. 도면에서, 구성 요소, 층 및 영역들의 상대적인 크기는 명확성을 위해 과장될 수 있다.
요소, 층, 영역, 또는 성분이 다른 요소, 층, 영역 또는 성분 “에”, “에 연결된”, “에 결합된” 것으로 언급되는 때, 그것은 다른 요소, 층, 영역, 또는 성분 “에 직접적으로”, “에 직접적으로 연결된”, “에 직접적으로 결합된”일 수 있거나, 하나 또는 그 이상의 사이의 요소들, 층들, 영역들, 또는 성분들이 존재할 수 있다. 또한, 요소 또는 층이 두 개의 요소들 또는 층들 사이로 언급되는 때, 그것은 단지 요소 또는 층이 두 요소들 또는 층들 사이에 있을 수 있거나, 또는 하나 또는 그 이상의 사이의 요소들 또는 층들이 또한 존재할 수 있다.
본 명세서에서 사용된 용어들은 단지 특정한 실시 예들을 설명하기 위한 것이고, 본 발명을 제한하려는 것으로 의도되지 않았다. 본 명세서에서 사용된 바와 같이, 문맥상 명백하게 다르게 뜻하지 않는 한, 단수 형태 “하나”는 복수의 형태도 포함하는 것으로 의도된다. “구성되는”, “구성되고 있는”, “포함하는”, 그리고 “포함하고 있는” 용어들이 본 명세서에서 사용될 때, 이러한 용어들은 정해진 특징들, 정수들, 단계들, 동작들, 요소들, 그리고/또는 성분들이 존재를 명시하나, 하나 또는 그 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 성분들, 그리고/또는 그것들의 그룹들의 추가 또는 존재를 불가능하게 하지 않는다. 본 명세서에서 사용된 바와 같이, “그리고/또는” 용어는 하나 또는 그 이상의 열거된 항목들과 연관된 임의의 그리고 모든 조합들 포함한다. “적어도 하나”와 같은 표현들은 요소들 전체 리스트를 수정하고 그리고 리스트의 개별 요소들을 수정하지 않는다.
본 명세서에서 사용된 바와 같이, “대체로”, “약” 용어 그리고 이와 유사한 용어들은 근사치의 용어들로서 사용되고, 정도의 용어들로서 사용되지 않고. 본 발명의 당업자에 의해 식별되는 측정된 또는 계산된 값들의 고유한 변동을 고려하기 위한 것이다. 또한, 본 발명의 실시 예들을 기술할 때 "할 수 있다"의 사용은 "본 발명의 하나 이상의 실시 예들"을 의미한다. 본 명세서에서 사용된 바와 같이, “사용”, “사용되는”, 그리고 “사용된” 용어들은 “이용”, “이용되는”, 그리고 “이용된” 용어들의 동의어로 각각 간주 될 수 있다. 또한, "예시" 용어는 예 또는 그림을 의미한다.
본 발명의 실시 예에 따른, 여기서 설명되는 전자 또는 전기 장치들 그리고/또는 다른 관련된 장치들 또는 구성은, 적절한 하드웨어, 펌웨어(예를 들면, ASIC), 소프트웨어, 또는 소프트웨어, 펌웨어, 그리고 하드웨어의 조합을 사용하여 구현될 수 있다. 예를 들면, 이들 장치의 다양한 구성들은 하나의 집적 회로(IC) 칩상에 또는 분리된 집적 회로 칩들에 형성될 수 있다. 또한, 이들 장치의 다양한 구성들은 연성 인쇄 회로 필름 상에, 테이프 캐리어 패키지(TCP), 인쇄 회로 기판(PCB), 또는 하나의 기판상에 형성될 수 있다. 더불어, 이들 장치의 다양한 구성들은 하나 또는 그 이상의 컴퓨터 장치 내에 장착된 하나 또는 그 이상의 컴퓨터 프로세서들(마이크로프로세서와 같은)에서 구동되고, 컴퓨터 프로그램 명령어들을 실행하고, 여기에 게시되는 다양한 기능들을 수행하기 위한 다른 시스템 구성들과 상호 작용하는 프로세스나 쓰레드일 수 있다. 컴퓨터 프로그램 명령어들은 랜덤 액세스 메모리(RAM)과 같은 표준 메모리 장치를 사용하는 컴퓨팅 장치 내에 장착된 메모리에 저장될 수 있다. 컴퓨터 프로그램 명령어들은 또한 다른 넌-트랜지터리(non-transitory)인 컴퓨터 읽기 가능 매체(예를 들면, CD-ROM, 플래시 드라이브 등과 같은)에 저장될 수 있다. 더불어, 이 분야의 기술에 익숙한 사람은 본 발명의 사상 및 스코프를 벗어나지 않고서 다양한 컴퓨팅 장치들의 기능이 하나의 컴퓨터 장치에 조합 또는 집적되거나, 특정 컴퓨팅 장치의 기능이 하나 또는 그 이상의 컴퓨팅 장치들에 분산될 수 있음을 잘 이해할 것이다.
다르게 정의되지 않는 한, 모든 용어들(기술 또는 과학 용어를 포함)은 본 발명의 장치와 방법이 속하는 분야에서 당업자들에게 통상적으로 이해되는 동일한 의미를 가질 것이다. 더불어, 사전적 의미로 정의된 용어들은 관련된 기술 그리고/또는 본 발명의 설명의 상황에 따라 해석되어야 하며, 그렇게 정의되지 않는 한 이상적으로 이해되거나 과도하게 형식적인 의미로 이해되어서는 안된다.
본 발명의 실시 예들은 로컬 전력 프로세서, 예를 들어, 베이스 보드 관리 컨트롤러(BMC)에 실제 소비 전력을 보고할 수 있는 SSD와 같은 스토리지 장치를 포함한다. 이를 통해 로컬 서비스 프로세서는 전력 프로파일과 스토리지 장치의 소비 전력을 제공할 수 있다. 일부 실시 예에서, 스토리지 장치는 SMBus (System Management bus) 또는 PCIe(Peripheral Component Interconnect Express)를 통해 로컬 서비스 프로세서 또는 BMC에 보고할 수 있고, NVMe SSD 스토리지 장치에 대한 관리 프로토콜 전송 프로토콜(MCTP) 또는 NVMe 관리 인터페이스 프로토콜과 같은 다양한 프로토콜 중 하나를 사용하여 보고할 수 있다. 일부 실시 예에서, 스토리지 시스템은 NVMe-oF 기반 시스템일 수 있다. 다른 실시 예는 각각의 스토리지 장치가 그 실제 소비 전력을 로컬 서비스 프로세서에 보고할 수 있는 몇몇 스토리지 장치를 포함하는 스토리지 시스템을 포함한다. 이러한 시스템에서 로컬 서비스 프로세서는 시스템의 스토리지 시스템 및 개별 스토리지 장치의 전력 프로파일과 분석을 제공할 수 있다.
도 1 은 본 발명의 일 실시 예에 따른 스토리지 장치(10)의 내부 블록도이다. 도면은 본 발명의 예시된 실시 예와 관련된 특징을 나타내지만, 스토리지 장치(10)는 추가적인 구성을 포함할 수 있다. 일부 실시 예에서, 스토리지 장치(10)는 SSD, 이더넷 SSD(eSSD), NVMe SSD, NVMe-oF SSD, SAS 또는 SATA SSD일 수 있다.
스토리지 장치(10)는 컨트롤러(11), 메모리(12), 플래시 다이(13), 전력 계량 유닛(PMU, 14) 및 커넥터(15)를 포함하는 내부 구성을 포함한다. 프로세서로 알려진 컨트롤러(11)는 메모리(12) 및 플래시 다이(13) 내의 데이터를 검색 및 저장하고, 호스트 컴퓨터와 통신하기 위한 펌웨어를 실행한다. 일부 실시 예에서, 컨트롤러(11)는 SSD 제어기, ASIC SSD 제어기 또는 NVMe-oF/EdgeSSD 컨트롤러일 수 있다. 메모리(12)는 DRAM 또는 MRAM과 같은 랜덤 액세스 메모리일 수 있고, 플래시 다이(13)는 NAND 플래시 메모리 장치일 수 있지만, 본 발명은 이에 한정되지 않는다. 컨트롤러(11)는 메모리 채널(22)을 통해 메모리(12)에 연결될 수 있고 플래시 채널(23)을 통해 플래시 다이(13)에 연결될 수 있다. 컨트롤러(11)는 컨트롤러(11)를 호스트에 연결하는 호스트 인터페이스 (20)를 통해 호스트 컴퓨터와 통신할 수 있다. 일부 실시 예에서, 호스트 인터페이스(20)는 PCIe 접속, 이더넷 접속 또는 다른 적절한 접속일 수 있다. 커넥터(15)는 U.2/M.2 커넥터 또는 다른 적절한 커넥터일 수 있다. PMU(14)는 스토리지 장치(10)의 실제 소비 전력을 측정함으로써 스토리지 장치(10)가 전력 관리 성능을 지원하도록 허용한다.
스토리지 장치(10)는 파워 레일 또는 핀(30)을 통해 커넥터(15)를 경유하여 전력을 공급 받는다. 커넥터(15)가 PCIe 커넥터인 경우, 핀(30)은 12V 및 30V 핀일 수 있다. 커넥터(15)가 U.2 커넥터인 경우, 핀(30)은 5V 및 12V 핀일 수 있다(NVMe SSD는 12V 핀만을 사용할 수있는 반면, SAS 또는 SATA SSD는 양 레일을 사용할 수 있다). 파워 레일(30)은 스토리지 장치(10)의 다양한 구성 요소에 전력을 공급한다. 예를 들어, 파워 레일 또는 핀(30)은 PMU(14)와 다양한 중간 전압 레일을 통해서 스토리지 장치(10)의 구성 요소들에 전력을 공급할 수 있다. 이에 대한 실시 예가 도 1에 도시되어 있으며, 파워 레일 또는 핀(30)은 전력을 PMU(14)에 공급하고, PMU(14)는 다시 전력을 스토리지 장치(10)의 다른 구성 요소에 분배한다. 예를 들어, PMU(14)는 플래시 전압 레일(33)을 통해 플래시 다이(13)에 전력을 공급한다. 이와 유사한 방식으로 PMU(14)는 모든 메모리 전압 레일(32)을 통해 메모리(12)에 전력을 공급할 수 있다. 전력은 PMU(14)에 의해, 예를 들어 코어 전압 레일(34), I/O 전압 레일(35)과 같은 다중 전압 레일, 그리고 하나 또는 그 이상의 다른 전압 레일(36)을 통해 컨트롤러(11)에 제공될 수 있다. 부가 전압 레일(37)과 같은 추가적인 전압 레일이 스토리지 장치(10) 내에서 다른 구성들을 연결하기 위해 포함될 수 있다. 스토리지 장치(10)에 사용되는 다양한 전압 레일들(30, 33, 34, 35, 36, 37)은 예를 들어 스토리지 장치(10)가 NVMe SSD일 때 12V 그리고/또는 3.3V 레일을 포함하여 12V에서부터 0.6V까지의 범위일 수 있다. 그러나, 도 1에 도시된 실시 예에서, 전압 레귤레이터는 PMU(14)에 내장(또는 통합)되지만, 본 발명의 실시 예는 이에 제한되지 않으며, 전압 레귤레이터는 PMU (14) 외부에 있을 수 있다.
스토리지 장치(10)에 전력을 공급하는 것 외에도, 스토리지 장치(10)의 구성 요소들, 예를 들어, 컨트롤러(11), 플래시 다이(13), 메모리(12) 그리고 스토리지 장치(10)에 포함될 수 있는 다른 다양한 구성에 의해 사용되는 다양한 전압 레일의 소비 전력 측정치(전력 측정치)를 생성하기 위해 스토리지 장치(10) 내부의 PMU(14)를 경유하는 파워 공급 레일(20)이 제공될 수 있다. 일부 실시 예에서, PMU(14)는 호스트 컴퓨터 또는 BMC로부터의 전원 정보(Power Info.)에 의한 전원 상태(Power State)의 취득/설정을 지원하도록 프로그래밍될 수 있다.
PMU(14)는 예를 들어, 전압 레일(32, 33, 34, 35, 36, 37)과 같이 구동중인 다양한 전압 레일에 흐르는 전류량을 측정할 수 있다. PMU(14)는 스토리지 장치(10)의 전압 레일(32, 33, 34, 35, 36, 37)을 통해서 평균, 최소 및 최대 전압 사용치를 출력할 수 있다. 어떤 실시 예에서, PMU(14)는 각각의 전압 레일들(32, 33, 34, 35, 36, 37)을 개별적으로 계량할 수 있고, 스토리지 장치(10)가 전압 레일들(32, 33, 34, 35, 36, 37) 모두를 통해서 사용한 총 전력도 함께 계량할 수 있다. PMU(14)에서 측정된 전력 측정치는 PMU/컨트롤러 인터페이스(41)를 사용하여 컨트롤러(11)에 의해 읽혀질 수 있다. 어떤 실시 예에서, PMU/컨트롤러 인터페이스(41)는 I2C/SMBus일 수 있다. 컨트롤러(11)는 호스트 인터페이스(20) 또는 별도의 컨트롤러/호스트 인터페이스(42)를 통해 BMC와 같은 로컬 서비스 프로세서(50, 도 3 참조)에 이러한 전력 측정치를 제공할 수 있다. 만약, 별도의 컨트롤러/호스트 인터페이스 또는 사이드 밴드 버스(42)가 사용되는 경우, 그 인터페이스는 I2C/SMBus일 수 있다. 컨트롤러/호스트 인터페이스(42)가 PCIe 접속인 경우, 도 4에 도시된 바와 같이, 컨트롤러(11)는 NVMe-MI 또는 MCTP 프로토콜을 통해 로컬 서비스 프로세서(50)에 전력 측정치를 제공할 수 있다. PMU(14)는 로컬 서비스 프로세서(50)에 의해 지정된 주기로 전력 측정치를 보고/출력하거나, 로컬 서비스 프로세서(50)에 의해 액세스 가능한 내부 카운터를 통해 수동적으로 추적할 수 있다.
도 2는 스토리지 장치(10)의 PMU(14)로부터 소비 전력 측정치를 수집하는 방법을 보여주는 순서도이다. 도 2에 도시된 바와 같이, 전력 측정치는 소정의 간격으로 읽혀질 수 있다. 예를 들어, 전력 측정치는 1초, 5초, 5초 초과, 또는 몇 분 간격과 같은 사용자 설정 주기로 스토리지 장치(10)의 PMU(14)로부터 판독될 수 있다. 다른 실시 예에서, 그 스토리지 장치(10)는 예를 들어 특정 작업의 완료시에 필요할 때만 전력 측정치를 판독할 수 있다(예를 들어, 도 8 및 도 9 참조). 전력 측정치가 판독되는 주기를 이하에서 시간 단위라고 부르기로 한다.
컨트롤러(11)는 PMU(14)로부터 다양한 전압 레일들(30, 33, 34, 35, 36, 37)에 대한 전력 측정치를 수신할 준비를 한다(S1). 컨트롤러(11)는 모든 레일들로부터의 전력 측정이 완료되었는지를 결정하기 위해 PMU(14)에게 질의한다(S2). 만일, 그렇지 않다면, 전력 측정치가 수신되지 않은 전압 레일에 대응하는 PMU(14)의 DC-DC 레귤레이터에 읽기 요청이 전송된다(S3)(PMU(14)는 고유 전압 레일에 각각 대응하는 다수의 DC-DC 레귤레이터를 포함할 수 있다). 이 읽기 요청은 PMU/컨트롤러 인터페이스(41)를 통해 I2C 프로토콜을 통해 전송될 수 있다. 전력 측정치가 PMU(14)로부터 수신될 때, 전력 측정치는 타임 스탬프(S4) 및 호스트 ID(S5)로 주석된다. 수신된 전력 측정치는 이후 전력 로그에 저장된다(S6). 전력 로그는 내부 레지스터를 포함하거나 PMU의 내장된 비휘발성 메모리의 일부로 포함될 수 있다.
일단 수신된 전력 측정치가 저장되면, 모든 전력 측정치들이 다양한 전압 레일들(30, 33, 34, 35, 36, 37)로부터 수신될 때까지 PMU(14)는 다시 질의된다(S7). 일단 모든 전력 측정이 완료되고, 주석된 전력 측정치가 전력 로그에 저장되면, 이러한 전력 측정치들 재설정 및 전원 사이클을 통해 전력 로그에 유지된다(S8).
위의 주석 외에도 전력 로그 페이지에는 네임 스페이스 ID, NMV 세트, 읽기 I/O, 쓰기 I/O, SQ ID, 스트림 ID 그리고 기타 적합한 매개 변수가 포함될 수 있다. 컨트롤러(11)는 또한 로컬 서비스 프로세서(50)에 의해 액세스 가능한 실제 전력(AP) 레지스터를 구현한다. 이는 스토리지 장치 및 전력 측정과 관련된 다양한 파라미터가 미세한 세분성으로 매핑되게 한다.
일부 실시 예에서, 전력 로그는 특별한 독점적인 또는 벤더에 의해 정의된 로그 페이지일 수 있다. 전력 로그는 호스트 인터페이스(20) 또는 별도의 컨트롤러/호스트 인터페이스(42) 중 어느 하나를 통해 기존의 표준 프로토콜을 사용하여 로컬 서비스 프로세서(50)에 의해 판독될 수 있다. 예를 들어, 전력 로그는 SMBus 또는 PCIe일 수 있는 컨트롤러/호스트 인터페이스 또는 사이드 밴드 버스(42)를 통해 NVMe-MI 프로토콜을 사용하여 BMC에 의해 판독될 수 있다.
위의 방법은 스토리지 장치(10)의 입출력(I/O)에 영향을주지 않으면서 실제 소비 전력 측정치의 동적인 실시간 출력을 제공한다. 전력 측정 정보를 통해, 로컬 서비스 프로세서는 전력 예산을 구현하고 실제 전력 사용량에 따라 스토리지 장치(10)에 전력을 할당할 수 있다. 예를 들어, 로컬 서비스 프로세서는 할당된 전력 예산 레지스터에 대한 기존 산업 표준과 유사한 전력 예산을 구현할 수 있다. 또한, 스토리지 장치(10)는 삼성(Samsung)의 DCP 또는 Redfish와 같은 시스템 관리 소프트웨어에 실시간 소비 전력을 보고할 수 있다.
도 3은 다중 스토리지 장치들(10)을 포함하는 스토리지 시스템(100)의 블록도이다. 스토리지 시스템(100)은 다중 스토리지 장치들(10)에 연결된 로컬 서비스 프로세서(50)를 포함한다. 스토리지 장치들(10)들 각각은 도 1 및 도 2에서 설명된 바와 같이 소비 전력을 측정하기 위한 PMU(14)를 포함한다. 설명된 실시 예에서, 스토리지 장치들(10)은 컨트롤러/호스트 인터페이스(42)를 통해 로컬 서비스 프로세서(50)에 전력 측정치를 제공한다. 일부 실시 예에서, 컨트롤러/호스트 인터페이스(42)는 I2C/SMBus 또는 PCIe 버스일 수 있다. 전력 측정치는 NVMe-MI, PCI-e를 통한 MCTP 또는 I2C 버스 프로토콜과 같은 NVMe 프로토콜을 사용하여 로컬 서비스 프로세서(50)로 전송될 수 있다. 스토리지 장치(10)가 SMBus/I2C 접속을 통해 접속되면, 로컬 서비스 프로세서(50)는 이들 기존의 표준 프로토콜을 사용하여 정전 중에 전력 로그에 액세스할 수 있다.
도 4는 PCIe 스위치(60)가 사용된 도 3의 스토리지 시스템(100)의 실시 예를 보여주는 블록도이다. 이 실시 예에서, 스토리지 장치들(10)은 PCIe 스위치(60)를 통해 로컬 서비스 프로세서(50)에 연결된다. 전력 측정치들은 예를 들어 NVMe-MI그리고/또는MCTP와 같은 적절한 프로토콜들을 사용하여 PCIe 스위치(60)를 통해 로컬 서비스 프로세서(50)에 전달될 수 있다.
도 3 및 도 4에 도시된 바와 같이, 로컬 서비스 프로세서(50) 및 다중 스토리지 장치들(10)은 동일한 섀시 내에 하우징 될 수 있어서, 로컬 서비스 프로세서(50)는 섀시 전력 관리 요건에 따라 다중 스토리지 장치(10)의 전력 측정치를 처리할 수 있으나, 하지만, 본 발명은 이에 제한되지 않는다. 예를 들어, 전력 측정치는 개별 스토리지 장치 수준에서 처리될 수도 있다.
전력 측정치가 NVMe 프로토콜을 사용하여 로컬 서비스 프로세서(50)로 전송되는 실시 예에서, NVMe 사양은 전력 측정치 및 그것의 처리 메커니즘을 정의할 수 있다. 이러한 메커니즘에 기초하여, 스토리지 장치들(10)(예를 들어, NVMe SSD)은 도 5의 로컬 서비스 프로세서(50)에 의해 질의되거나 도 6의 로컬 서비스 프로세서(50)에 의해 설정된 전력 관리를 지원할 수 있다.
도 5는 로컬 서비스 프로세서(50)로부터의 질의에 기초하여 전력 측정치가 로컬 서비스 프로세서(50)로 전송되는 실시 예를 보여주는 도면이다. 이 실시 예에서, 로컬 서비스 프로세서(50)는 로컬 서비스 프로세서(50)가 전력 측정 정보를 찾고 있는 스토리지 장치(10)에 대한 컨트롤러(11)의 펌웨어에 GetFeature 커맨드(예를 들면, FeatureID = 0x2)를 전송함으로써 전력 측정 정보를 질의한다 (S10). 컨트롤러(11)의 펌웨어는 PMU(14)로부터 전력 측정 정보를 패치한다(S11). 컨트롤러(11)의 펌웨어는 전력 측정 정보를 수신하고, 그 정보를 직접 메모리 액세스(DMA)를 통해 로컬 서비스 프로세서(50)로 전송한다(S12). 컨트롤러(11)의 펌웨어는 그 후, 질의의 완료를 전달하기 위해 로컬 서비스 프로세서(50)에 완료 통지를 전송한다(S13). 이 실시 예는 스토리지 장치(10)로부터의 전력 측정치의 실시간 검색을 허용한다.
도 6은 전력 측정치가 로컬 서비스 프로세서(50)에 의해 설정되는 실시 예를 보여주는 도면이다. 이 실시 예에서, 로컬 서비스 프로세서(50)는 SetFeature 커맨드(예를 들어, FeatureID = 0x2)를 로컬 서비스 프로세서(50)가 전력 측정 예산을 설정하려는 스토리지 장치(10)의 컨트롤러(11)의 펌웨어에 전송함으로써 전력 측정 정보(이하, 전력 측정 예산이라 칭함)를 설정한다(S20). 컨트롤러(11)의 펌웨어는 DMA를 사용하여 로컬 서비스 프로세서(50)로부터 전력 측정 예산을 요청한다(S21). 컨트롤러(11)의 펌웨어는 정보를 수신하고 PMU(14)의 전력 측정 예산을 설정한다(S22). 컨트롤러(11)의 펌웨어는 이에 응답하여 새로운 전력 상태 트랜잭션을 처리한다. 새로운 전력 트랜잭션을 처리하기 위해, 컨트롤러(11)의 펌웨어는 PMU(14)에서 현재 전력 상태 작업을 질의하여 현재 전력 상태에 의존하는 모든 작업이 성공적으로 완료되었는지를 확인한다. 그런 다음 펌웨어는 현재 전력 상태를 현재 전력 상태에서 전력 측정 예산이 요구하는 다음 전력 상태로 변경한다. 컨트롤러(11)의 펌웨어는 할당된 전력 측정 예산을 사용하여 전력 상태에 의존하는 새로운 작업을 처리하기 시작한다. 컨트롤러(11)의 펌웨어는 새로운 전력 상태가 설정되었음을 신호로 보내기 위해 완료 통지를 로컬 서비스 프로세서(50)로 전송한다(S23).
이 셋피처(SetFeature) 기능을 가능하게 함으로써, 로컬 서비스 프로세서(50)는 로컬 서비스 프로세서(50)의 할당된 전력 예산을 충족시키기 위해 특정 스토리지 장치(10)의 전력 소비를 제어 및 조절할 수 있다. 컨트롤러(11)는 로컬 서비스 프로세서(50)에 의해 프로그래밍된 전력 예산 할당을 시행할 수 있다. 실제 소비 전력이 설정된 임계 값을 초과하는 경우, 컨트롤러(11)는 전력 소비를 최소화하고 할당된 전력 예산 내에 머무르기 위해 그 파라미터에 대한 I/O 성능을 조절할 수 있다. 컨트롤러(11)는 예를 들어, 할당된 전력 예산을 초과 할 때 내부 전력 상태를 자동으로 낮춤으로써 자체적으로 조정할 수 있다. 그리고 컨트롤러(11)는 로컬 서비스 프로세서(50)가 추가 전력을 필요로 하는 몇몇 다른 장치들에 가용 전력을 재할당할 수 있도록 로컬 서비스 프로세서(50)에 다시 보고할 수 있다. 컨트롤러(11)는 또한 미세 입도(fine granularity)에서 그러한 성능 조절에 관한 통계를 수집할 수 있다.
도 7은 스토리지 장치(10)의 전력 소비를 제어하기 위해 로컬 서비스 프로세서(50)가 사용할 수 있는 전력 정책의 일례를 보여준다. 로컬 서비스 프로세서(50)는 스토리지 시스템 내의 각 스토리지 장치(10)를 모니터링함으로써 전력 정책을 관리할 수 있고, 각각 할당된 전력 예산을 유지하도록 각각의 스토리지 장치(10)에 지시한다. 예를 들어, 스토리지 장치(10)가 동작을 노멀 상태(62)에서 도시된 바와 같이 할당된 전력 예산의 90 %보다 큰 값으로 동작하는 상태(62)로 변경되면, 컨트롤러(11)는, 예를 들어, 작은 퍼센트(예를 들면, 유휴 또는 오버헤드의 10 % 또는 20 %)의 추가 지연을 도입함으로써 I/O 성능을 조절할 수 있다. 그러나, 상태(63)에 도시된 바와 같이, 현재 상태가 할당된 전력 예산의 100 %보다 크다면, 할당된 예산을 충족시키도록 스토리지 장치(10)를 조절하기 위해 컨트롤러(11)는 훨씬 더 큰 레이턴시(예를 들어, 50 % 이상)를 적용하거나 또는 NAND 사이클 등에 지연을 적용할 수 있다. 적용된 레이턴시에도 불구하고 스토리지 장치(10)가 할당된 예산을 계속 초과하면, 로컬 서비스 프로세서(50)는 스토리지 장치(10)를 셧다운시키기 위한 셧다운 명령어(64)을 실행하거나 컨트롤러(11)가 자체적으로 셧다운될 수 있다.
또 다른 실시 예에서, 로컬 서비스 프로세서(50)는 또한 열 부하 증가 (온도 상승)를 모니터링 및 검출하거나 더운 날이나 또는 절전 기간과 같은 피크 전기 요금 기간 동안 리소스를 작동시켜 각 스토리지 장치(10)가 의도된 성능대로 동작하는지 확인한다.
상술한 기능으로 인해 스토리지 장치(10)는 할당된 전력 예산/상태와 성능 대비 전력을 성능을 자율적으로 최적화할 수 있다.
도 8은 전력 측정치가 로컬 서비스 프로세서(50)에 의해 패치될 때까지 컨트롤러 메모리 버퍼에 저장되는 또 다른 실시 예를 보여주는 도면이다. 이 실시 예에서, 컨트롤러(11)는 로컬 서비스 프로세서(50)에 의해 요청될 때까지 전력 측정치를 자체 메모리(12)에 국부적으로 저장할 수 있다. 예를 들면, 컨트롤러(11)는 스토리지 장치(10)가 NVMe SSD인 실시 예에서 전력 측정 정보를 메모리(12)의 컨트롤 메모리 버퍼에 저장할 수 있다. NVMe 사양은 스토리지 장치(10)의 메모리의 일부이지만 호스트/로컬 서비스 프로세서에 의해 할당되고 호스트/로컬 서비스 프로세서가 논리적으로 소유한 CMB(컨트롤러 메모리 버퍼)를 정의한다.
컨트롤러(11)의 펌웨어는 PMU(14)로부터 전력 측정 정보를 패치하여 메모리(12)의 컨트롤러 메모리 버퍼에 저장할 수 있다. 컨트롤러 메모리 버퍼는 임의의 지정된 시간 단위로 업데이트될 수 있다. 로컬 서비스 프로세서(50)는 메모리(12)의 컨트롤러 메모리 버퍼로부터 직접 전력 측정치를 판독함으로써 전력 측정 정보를 질의할 수 있다. 전력 측정치는 컨트롤러/호스트 인터페이스(42)를 통해 컨트롤러 메모리 버퍼로부터 판독될 수 있다. 컨트롤러/호스트 인터페이스(42)가 PCIe인 경우, 전력 측정 정보는 PCIe를 거쳐 컨트롤러 메모리 버퍼로부터 판독하기 위해 BAR 설정에 기초하여 memRd/memWr을 직접 처리할 수 있다. 다른 실시 예에서, 전력 측정 정보는 SMBus 또는 I2C와 같은 사이드 밴드 채널을 통과하여 컨트롤러 메모리 버퍼에 직접 액세스될 수 있다.
도 8의 대안으로, 스토리지 장치(10)는 PMU(14)가 로컬 서비스 프로세서(50)에 의해 직접 액세스 가능하도록 구성되어, 로컬 서비스 프로세서가 필요시 및 실시간으로 전력 측정 정보에 액세스할 수 있도록 한다.
도 9는 PMU(14)에 의해 취해진 전력 측정치가 로컬 서비스 프로세서(50)에 직접 액세스 가능한 실시 예를 보여주는 도면이다. 이 실시 예에서, 스토리지 장치(10)는 예를 들어, I2C 또는 AXI와 같은 보조 버스에 의해 로컬 서비스 프로세서(50)에 의해 PMU(14)에 직접 액세스할 수 있도록 설정될 수 있다. 이는 로컬 서비스 프로세서(50)가 PMU(14)에 직접 액세스함으로써 전력 측정 정보를 처리할 수 있게 허용하며, 실시간으로 전력 측정치를 검색할 수 있게 해준다.
도 10은 본 발명의 일 실시 예에 따른 전력 로그(70)의 예이다. 이 실시 예에서 도시된 바와 같이, 스토리지 장치(10)는 예를 들어 전력 로그 (70)에 기록된 최대 32 개의 전력 상태(PowerState, 71)를 가질 수 있다. 각 전력 상태(71)는 미리 정의된 성능 정보, 전력 상태 내에서 사용 가능한 최대 전력(MP, 72), 그리고 전력 상태(71)에서 실제로 사용되는 실제 전력(AP, 73)을 포함한다. 실제 전력(AP, 73)은 시간 단위(예컨대, 1 분 단위)와 작업 부하/QoS에 따라 측정된다. 이 실시 예에서, 전력 로그(70)의 각 행은 NVMe 규격 1.3에 정의된 전력 상태를 나타낸다. 예를 들어, NVMe 사양에 정의된 총 32 개의 전력 상태가 있다. 일부 실시 예에서, 벤더-특정 사양이 각 전력 상태(PowerState, 71)에 대해 사용될 수 있다.
전력 로그(70)는 다양한 전력 상태(71) 및 각각의 전력 상태들 각각의 최대 전력(72), 실제 전력(73) 그리고 전력 측정치와 최대 전력/전력 상태, 실제 전력 및 서비스 품질(QoS) 간의 관계를 식별하기 위한 추가 정보를 그 테이블 엔트리에 포함할 수 있다. 서비스 품질(QoS) 정보는 예를 들어, 현재 엔트리 레이턴시(ENTLAT), 현재 종료 레이턴시(EXTLAT), 상대적 판독 쓰루풋(RRT), 상대적 쓰기 쓰루풋(RWT) 및 다른 적절한 변수를 포함할 수 있다.
도 10은 정의된 최대 전력(=20W)을 갖는 전력 상태 _3을 보여준다. 그러나, 이 전력 상태에 있는 스토리지 장치(10)는 현재 실제 전력(= 19W)을 소비한다. 현재 서비스 품질(QoS)은 RRT = 2, RWT = 2, ENTLAT = 20us 및 EXTLAT = 30us와 같은 다른 열에 나타나 있다. 스토리지 시스템(200) 상에서 실행되는 애플리케이션(80)이 최적의 QoS (예를 들어, 최상의 RRT 및 RWT)를 기대한다면, 이들 애플리케이션(80)은 로컬 서비스 프로세서(50)에게 Power State_3에서 Power State_0으로 전송함으로써 더 많은 전력을 제공하도록 명령할 수 있다.
도 5에 관하여 논의된 바와 같이 현재의 전력 상태(71)는 GetFeature 명령어(FEATUREID = 0x2)를 통해 로컬 서비스 프로세서(50)에 의해 검색된다. 예상된 전력 상태(즉, 전력 측정 예산)는 도 6에서 설명 된 바와 같이 SetFeature 명령어(FeatureID = 0x2)를 통해 로컬 서비스 프로세서(50)에 의해 설정될 수 있다. 다른 전력 관련 정보는 VUCmd(Vendor Unique Cmd)를 통해 로컬 서비스 프로세서(50)에 의해 관리되거나 로컬 서비스 프로세서(50)를 통해 직접 액세스될 수 있다. 예를 들어, 사용자가 NVMe 사양에서 정의되지 않은 전력 측정 정보를 얻고자 한다면, VUCmd를 사용하면 LogPage와 비슷한 비표준 전원 정보를 호스트에서 검색할 수 있다.
도 11은 스토리지 시스템(200)이 섀시 내의 다수의 스토리지 장치(10)의 전력 보고를 관리하는 방법의 예시적인 방법이다. 이 방법에 따르면, 스토리지 장치들(10)의 각각의 PMU(14)는 현재 AP(73)를 측정하고 그 정보를 로컬 서비스 프로세서(50)에 의해 질의 그리고/또는 검색(S50)되는 전력 로그(70)에 저장한다. 로컬 서비스 프로세서(50)는 로컬 서비스 프로세서(50)로부터 스토리지 시스템(200)으로 파워 로그(70)를 업데이트/업로드한다(S51). 스토리지 시스템(200)의 다양한 어플리케이션(80)은 섀시 내의 스토리지 장치(10)의 전력 로그(70)를 분석할 수 있다(S52). 이러한 분석의 결과는, 예를 들면, 더 많은 전력이 특정 전력 상태(71)에 할당될 필요가 있는지 또는 서비스 품질(QoS) 요구를 충족시키기 위해 하나의 전력 상태(71)로부터 다른 전력 상태(71)로 전력을 재할당해야하는지 등과 같은 보다 나은 성능을 위해 전력을 할당하는 방법을 결정할 수 있다. 예를 들어, 로컬 서비스 프로세서(50)는 도 10에 도시된 센터 스토리지 장치(10)에 대해 도시된 바와 같이, 최대 전력 상태(이 실시 예에서는 PowerState 3에서 PowerState 0으로)를 전송한다. 이후, 로컬 서비스 프로세서(50)는 새로운 최대 전력(MP, 72)을 스토리지 장치(10)에 할당하거나 새로운 최대 전력(MP, 72) 예산을 스토리지 장치(10)에 할당하기 위해 전력 분배 유닛(PDU, 90)에 전력 할당의 재분배를 요청할 수 있다(S54). PDU(90)가 사용되면, PDU(90)는 새로운 최대 전력(MP, 72)을 스토리지 장치(10)에 할당한다 (S55). PDU(90)는 섀시에 위치하는 독립적인 구성 요소일 수 있으며, 최대 전력(MP)을 각각의 스토리지 장치(10)에 분배하는 것을 담당할 수 있다. 이후, 로컬 서비스 프로세서(50)는 변경된 전력 로그(70)를 업데이트한다(S56).
상술한 바와 같이, 로컬 서비스 프로세서(50)가 액세스하고 전력 측정치들을 읽을 수 있게 되면, 로컬 서비스 프로세서(50)는 그래프나 히스토그램을 생성하여 경향 투영(trend projection) 및 진단을 실행하기 위해 그 정보를 사용할 수 있다.
또한, 본 발명의 실시 예들은 로컬 서비스 프로세서(50)가 소프트웨어 개발자, 클라우드 서비스 제공자, 사용자 및 다른 사람들에게 시스템의 각 스토리지 장치의 개별 실제 전력 프로파일을 제공함으로써 각각의 스토리지 장치에서 소비되는 작업 부하의 실제 소비 전력을 알 수 있게 한다. 이를 통해 소프트웨어 개발자/사용자는 실제 에너지 비용을 기반으로 성능을 최적화할 수 있고, 클라우드 서비스 제공 업체는 실제 소비 전력을 기반으로 스토리지 시스템 사용자에게 보다 정확한 비용 청구를 할 수 있다. 본 발명의 실시 예는 또한 할당된 전력 예산을 위반하는 스토리지 장치에 더 바람직한 정책 및 추적을 제공 할 수 있다.
본 발명의 실시 예는 다양한 분야에서 사용될 수 있다. 예를 들면, 본 발명의 실시 예는 삼성(Samsung)의 DCP와 같은 인공 지능 소프트웨어에 대한 분석 목적으로 사용될 수 있는 중요한 정보의 빌딩 블록을 제공한다. 실시 예는 또한 ADRC(능동 외란 제거) 고효율 열제어 기반 시스템에 유용한 정보를 제공한다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 설명 하였지만, 본 발명은 이들 실시 예에 한정되는 것은 아니며, 첨부된 특허 청구 범위 및 그 균등물에 의해 청구되는 바와 같이 본 발명의 사상 및 범위 내에서 당업자가 다양한 변화 및 수정을 가할 수 있음을 이해할 것이다.
도 12는 본 발명의 일부 예시적인 실시 예에 따른 스토리지 뱅크(302) 및 전력 분배 유닛(PDU, 90)을 이용하는 스토리지 시스템(300)을 보여주는 블록도이다.
일부 실시 예에서, 스토리지 뱅크(예를 들어, 이더넷 SSD 섀시 또는 JBOF(Just-A-Bunch of Flash), 302)는 복수의 스토리지 장치(10)를 포함하고, PDU(90)는 로컬 서비스 프로세서(50, 또는 BMC)의 지시하에 스토리지 뱅크(302)의 스토리지 장치(10)에 전력을 공급하기 위한 복수의 전원 공급 장치 (304, PSU 또는 전원 장치)를 포함한다. 일부 실시 예에서, PSU(304)는 교환 가능한데, 즉, 각각은 동일한 폼 팩터(Foam factor) 및 동일한 전력 공급 용량(예를 들어, 동일한 출력 와트)을 가질 수 있으며, 그러나, 본 발명의 실시 예가 이에 한정되는 것은 아니며, 하나 또는 그 이상의 PSU(304)가 다른 PSU(304)와 다른 전원 공급 용량을 가질 수 있다. 일부 예에서, 스토리지 뱅크(302)의 전력 수요를 서비스하는데 충분할 N(1 이상의 정수)개의 PSU 설정에서 복수의 PSU(304)는 N+1개일 수 있으며, 여분의 PSU(304)가 리던던시로서 제공되며, 이는 PSU들 중 임의의 PSU가 페일(Fail)될때, 활성화될 수 있다.
도 12에 도시된 바와 같이, 일부 실시 예에서, PSU(304)는 다른 PSU들 (304)이 연결될 때 전력 버스 (306)를 전기 단락 회로 및 과도 전류로부터 보호하기 위해 전력 버스(306)에 직접 접속되기보다는 스위치 네트워크(305, 예를 들어, FET 네트워크)를 사용하여 연결된다. 스위치 네트워크는 일측에서 복수의 PSU(304)에 접속되고 다른 측에서 전력 버스(306)에 연결되는 복수의 스위치들(예를 들어, 트랜지스터들)를 포함할 수 있다. 일부 실시 예에 따르면, 스위치들은 로컬 서비스 제공자(50, BMC)에 의해 독립적으로 제어되어, PSU(304) 중 임의의 하나가 로컬 서비스 제공자(50)로부터의 제어 신호에 기초하여 전력 버스(306)에 연결되거나 연결되지 않을 수 있다.
일부 실시 예에 따르면, 각각의 스토리지 장치(10)는 예를 들어, NVMe-MI 또는 MCTP 프로토콜을 사용하여, 예를 들면, SMBus 또는 PCI-e 버스를 통해서 로컬 서비스 프로세서(50)에 실제 소비 전력을 보고하도록 구성된다. 실제 소비 전력은 스토리지 장치(10)의 내부(집적)에 있거나(도 12에 도시된 바와 같이), 또는 스토리지 장치(10)의 외부에서 연결될 수 있는 PMU(14, 즉, 전력 계량기)에 의해서 측정될 수 있다. 전력 소비 리포팅은 로컬 서비스 프로세서(50)가 전력 프로필을 제공하고 스토리지 뱅크(302) 상에서 분석을 수행하게 하며, 이는 진단 및 부가 가치 서비스를 제공하는데 사용될 수 있다. 또한, 이는 각 스토리지 장치(10)가 로컬 서비스 프로세서(50)를 통해 시스템 관리자(308)에 의해 지시된 바와 같이 자신의 전력 사용을 보다 융통성있게 관리하게 한다.
또한, 도 13a 내지 도 13d는 본 발명의 일부 실시 예에 따라 로컬 서비스 프로세서(50)에 의해 생성된 스토리지 시스템의 전력 소비의 히스토그램을 도시한다.
일부 실시 예에 따르면, 로컬 서비스 프로세서(50)는 스토리지 장치(10)로부터 주기적으로 전력 측정치를 판독한다. 그렇게하면, 일부 실시 예에서 로컬 서비스 프로세서(50)는 전력 로그 페이지(70)를 판독하기 위해 SMBus 또는 PCIe를 통한 NVMe-MI 프로토콜을 사용할 수 있다. 로컬 서비스 프로세서(50)는 시간 경과에 따라(예를 들어, 시간당, 주간, 야간, 평일, 또는 주말 등) 스토리지 뱅크(302)의 전체 전력 사용량과 같은 전력 사용 경향, 각 스토리지 장치(10)의 시간에 따른 전력 소모, 스토리지 뱅크(302) 내의 스토리지 장치(10)의 상대 전력 소비 등을 생성하기 위해 판독된 전력 데이터를 처리할 수 있다. 또한, 로컬 서비스 프로세서(50)는 시간, 사용자, 활동 등과 관련하여 전력 소비 행동에 대해 알기 위해 많은 파생/추가 그래프를 생성할 수 있다. 로컬 서비스 프로세서(50)는 진단 목적, 전력 공급, 미래의 요구, 냉각 및 계획 등에 이용할 수 있다.
일례로서, 도 13a는 시간에 따른 단일 스토리지 장치(10)의 전력 소비를 도시한다. 도 13a에서, Y축은 전력 소비를 와트로 나타내고, X축은 시간(hour) 단위의 시간으로 나타낸다.
일부 실시 예에서, 로컬 서비스 프로세서(50)는 호스트 액세스 정책을 관리하고, 활성 상태의 스토리지 장치의 원시 전력 데이터 및 호스트 ID를 수신한다. 따라서, 일부 실시 예에 따르면, 로컬 서비스 프로세서(50)는 어느 호스트 또는 애플리케이션이 어떤 주어진 시간에 각 스토리지 장치(10)에 액세스 하는지를 인식하고, 다양한 호스트 또는 애플리케이션에 의한 전력 소비를 프로파일링하기 위해 전력 사용 메트릭과 이 정보를 결합할 수 있다. 이러한 정보는 다양한 애플리케이션에 필요한 스토리지 전력에 대한 심층적인 통찰력을 제공할 수 있으며, 호스트 또는 애플리케이션 당 스토리지 비용을 보다 정확하게 계산하는 데 사용될 수 있다.
일 예로서, 도 13b는 상이한 호스트 또는 애플리케이션에 의한 소비 전력을 보여준다. 도 13b에서, Y축은 일정 시간(예를 들면, 시간, 일 등)에 걸친 평균 전력 소비(와트)를 나타내고, X축은 호스트 ID 또는 애플리케이션 ID를 나타낸다.
일부 실시 예에 따르면, 로컬 서비스 프로세서(50)는 진단 목적을 위해 전력 사용량 메트릭을 사용할 수 있다. 일부 실시 예에서, 비정상적인 전력 소비가 스토리지 장치(10)에 대해 관찰될 때, 로컬 서비스 프로세서(50)는 관리자(308)에게 경고할 수 있다. 비정상적인 전력 소비는 스토리지 장치(10) 내의 결함(fault)의 결과이거나, 또는 스토리지 장치(10)에 액세스하는 호스트 또는 애플리케이션의 비정상적인 활동으로 인한 것일 수 있다. 예를 들어, 결함(fault)은 플래시 다이 또는 플래시 채널 장애의 결과일 수 있으며, 이는 과도한 전력을 소모하는 복구 메카니즘과 같은 RAID를 개시할 수 있으며, 또는 미디어 또는 휘발성 메모리의 높은 비트 속도 오류로 인해 오류 수정 알고리즘이 수렴되지 않고 프로세스에 더 많은 시간과 에너지를 소비하게 할 수 있다. 로컬 서비스 프로세서(50)는 SMART Log와 같은 스토리지 장치 건강 및 상태 로그를 질의할 수 있으며, 독점적 진단 로그를 질의하여 비정상적인 동작을 분석할 수 있다. 관리자(308)에 의해 설정된 정책들에 기초하여, 비정상적인 행동의 일부는 추가 동작을 위해 관리자(308)에게 경고될 수 있다.
예를 들어, 도 13c는 시간당 전력 소비가 정상 레벨(예를 들어, 3-10W/hr)에 비해 갑자기 급격하게 상승하여 최대 값(예를 들어, 약 25W)에 육박할 때 스토리지 장치(10)에서 검출된 잠재적 결함을 보여준다. 도 13c에서, Y축은 와트(Watt) 단위의 평균 전력 소비를 나타내고, X축은 시간(hour) 단위의 시간(time)을 나타낸다. 따라서, 일부 실시 예들에서, 결함 검출에 대한 기준은 설정된 임계치보다 큰 소비 전력의 미분값일 수 있다. 그러나, 본 발명의 실시 예들은 이에 제한되지 않으며, 실제 소비 전력은 결함이 발생했는지 여부를 결정하기 위해 스토리지 장치 성능에 대해 측정될 수 있다. 일부 실시 예에서, 결함 검출 기준/정책은 관리자(308)에 의해 설정될 수 있다.
또한, 도 13d는 잠재적 결함이 스토리지 장치(10, 예를 들어, 슬롯 # 8의 스토리지 장치)에서 검출되는 예를 도시한다. 이 실시 예에서, 스토리지 장치(10)는 1 MIOPS(초당 100 만회의 입출력 동작) 성능에서 약 25W의 최대 전력을 소모할 것으로 예상될 수 있다. 그러나 슬롯 # 8의 스토리지 장치의 평균 소비 전력이 약 25W의 최대 전력에 도달하지만, 평균 성능이 1MIOP보다 훨씬 낮은 경우, 로컬 서비스 프로세서는 슬롯 # 8의 스토리지 장치에 잠재적으로 결함이 있거나 적어도 추가 결함 분석을 위한 좋은 후보가 될 수 있음을 나타내는 태그를 붙일 수 있다.
따라서, 본 발명의 특징은 다른 인공 지능 소프트웨어(SW)가 분석할 수 있는 중요한 정보의 빌딩 블록을 제공한다. 또한, 본 발명의 특징은 ADRC(능동형 외란 제거 제어), 고효율, 열 제어 기반 시스템에 유용한 정보를 제공한다.
도 14는 본 발명의 일부 예시적인 실시 예에 따른 PDU(90)의 동작을 관리하는 프로세스(400)를 보여주는 흐름도이다.
일부 실시 예에 따르면, 로컬 서비스 제공자(50)는 PDU(90)의 PSU(304)의 동작을 동적으로 모니터링하고 활성 PSU(304)가 자신의 높은 전력 효율 범위에서 동작하도록 보장함으로써 PDU(90)의 동작을 관리(예를 들면, 최적화)한다. 이렇게 함으로써, 로컬 서비스 제공자(50)는 PDU(90)가 다수의 활성 PSU(304)를 포함하는지 여부를 결정한다(S100). 활성 PSU(304)는 스위치 네트워크를 통해 전력 버스(306)에 연결될 수 있고(즉, 대응하는 스위치가 턴온), 비활성 PSU(304)는 스위치 버스(306)와 차단된다(예를 들어, 대응하는 스위치가 턴 오프). 일부 실시 예에서, 로컬 서비스 제공자(50)는 버스(예를 들어, SMBus/PMBus)를 통해 PDU(90)의 PSU들(304)의 상태를 결정하고, 따라서 PDU(90)의 PSU(304) 수를 결정할 수 있다. 일부 실시 예에서, 로컬 서비스 제공자(50)는 PDU(90)에 존재하는 PSU들(304) 각각의 PSU 상태 레지스터를 판독하여 자신의 상태(즉, 활성/인에이블 또는 비활성화/디스에이블)를 결정한다. 오직 하나의 활성 PSU(304)가 존재하는 경우, 로컬 서비스 제공자(50)는 현재 PSU(304)가 현재 단 하나의 PSU(304)인지 HA 모드인지를 판정한다(S114, 이 점에 관해서는 후술함). 그렇지 않으면, 로컬 서비스 제공자(50)는 스토리지 뱅크(302)의 총 소비 전력이 활성 PSU들(304) 각각의 부하의 제 1 백분율 임계치(예를 들어, 40 % 또는 30 % 내지 50 % 사이의 값)보다 작은지 여부를 결정한다(S102). 일부 실시 예에서, 로컬 서비스 제공자(50)는 대응하는 PMU (14)에 의해 측정된 각각의 스토리지 장치(10)의 실제 소비 전력을 얻고 실제 소비 전력을 합산함으로써 그렇게한다. 일부 실시 예에서, 로컬 서비스 제공자(50)는 스토리지 장치(10) 또는 스토리지 장치(10)에 대응하는 PMU (14, 스토리지 장치의 내부 또는 외부의)로부터 전력 로그(70)를 질의/검색함으로써 각 스토리지 장치(10)의 실제 소비 전력을 얻을 수 있다.
총 소비 전력이 각각의 활성 PSU(304)의 부하의 제 1 백분율 임계치보다 작은 경우, 활성 PSU(304)는 저전력 효율 모드로 동작할 수 있으며, 이것은 바람직하지 않다. 이와 같이, 로컬 서비스 제공자(50)는 활성 PSU(304)를 디스에이블시키고(S104), 일정 시간(예를 들어, 초 또는 분 단위) 동안 대기하고(S106), 스토리지 뱅크(302)의 총 소비 전력이 여전히 활성 PSU(304) 각각의 부하의 제 1 백분율 임계치보다 작은지 다시 재검사한다(S102). 만일 그렇다면, 루프는 계속되고 로컬 서비스 제공자(50)는 총 소비 전력이 활성 PSU(304) 각각의 부하의 제 1 백분율 임계치와 동일하거나 그 이상이 될 때까지 하나씩 활성 PSU(304)를 계속해서 디스에이블시킨다.
그 시점에서, 로컬 서비스 제공자(50)는 스토리지 뱅크(302)의 총 소비 전력이 활성 PSU(304) 각각의 부하의 제 2 백분율 임계치(예를 들어, 약 90 % 또는 85 % 내지 95 % 사이의 값)보다 큰지의 여부를 결정한다(S108). 만일 그렇다면, 활성 PSU(304)는 고전력 상태에서 동작할 수 있으며, 이는 연장되는 경우 PSU(304)의 수명에 해로울 수 있다. 로컬 서비스 제공자(50)는 비활성(즉, 비활성화 된) PSU(304)를 인에이블(즉, 활성화)하고(S110), 일정한 시간(예를 들어 초 또는 분) 동안 대기하고(S112), 스토리지 뱅크(302)의 총 소비 전력이 총 소비 전력이 활성 PSU(304) 각각의 부하의 제 2 백분율 임계치 이상인지를 결정한다(S108). 만약 그렇다면, 루프는 계속되고 로컬 서비스 제공자(50)는 총 소비 전력이 활성 PSU(304)들 각각의 부하의 제 2 백분율 임계치보다 작아질 때까지 하나씩 활성 PSU (304)를 인에이블한다.
그 시점에서, 로컬 서비스 제공자(50)는 스토리지 시스템(300)이 다중 경로 IO 모드 및 N+1 리던던트 PSU들을 지시하는 고가용성(HA) 모드에 있는 동안, 단 하나의 PSU(304)가 PDU(90)에 존재 하는지를 결정한다(S114). 일반적으로, HA 모드에서, 스토리지 시스템(300)은 다중 경로 IO 모드에 있고 N+1 리던던트 PSU들이 존재하여 단일 장애 지점이 없음을 보장한다. 이와 같이, 스토리지 시스템(300)이 HA 모드일 때, PDU(90) 내에 단 하나의 PSU(304)가 존재하면, 로컬 서비스 제공자(50)는 다른 리던던트 PSU(304)를 PDU(90)에 설치하기 위해 관리자(308)에게 경고(예를 들어, 치명적 경고) 메시지를 발행한다 (S116). 그렇지 않으면, 시스템은 정상적으로 동작하고 시스템 관리자(308)에게 경고 메시지가 전송되지 않는다.
도 15는 본 발명의 일부 예시적인 실시 예에 따라 스토리지 시스템(300)의 스토리지 장치(10)를 관리하는 프로세스(500)를 보여주는 흐름도이다.
일부 실시 예에 따르면, 로컬 서비스 제공자(50)는 스토리지 뱅크(302)의 현재 작업 부하에 기초하여 그것들의 최대 전력 범위 또는 전력 상한을 동적으로 조정(예를 들어, 낮춤)함으로써 스토리지 장치(10)를 관리(예를 들면, 최적화)한다.
일부 실시 예에서, 로컬 서비스 제공자(50)는 스토리지 뱅크(302)의 어느 스토리지 장치(10)가 유휴 상태에 있거나 유휴 전력을 소비 하는지를 식별한다(S118). 여기서, 유휴 상태는 스토리지 장치(10)가 일정 시간 동안 자신의 명령 큐에서 판독 또는 기록과 같은 임의의 액티브 또는 미해결 호스트 명령을 갖지 않는 동작 상태를 지칭할 수 있다. 즉, 스토리지 장치 컨트롤러의 호스트 명령 큐는 프로그램(예를 들어, 관리자(308)에 의해) 가능할 수 있는 일정 기간 동안 비어있다. 근사적 유휴 전력은 프로그램(예를 들어, 관리자(308)에 의해) 가능할 수 있는 설정된 임계치 이하인 임의의 전력 소비일 수 있다. 일부 실시 예에서, 로컬 서비스 제공자(50)는 스토리지 장치(10)로부터 전력 로그 (70)를 질의/검색함으로써 대응하는 PMU (14)에 의해 측정되는 각각의 스토리지 장치(10)의 실제 소비 전력을 얻는다. 로컬 서비스 제공자(50)는 실제 소비 전력을 유휴 전력 레벨과 비교한다. 만약, 스토리지 장치(10)의 소비 전력이 유휴 전력 레벨 이하이면, 스토리지 장치(10)는 유휴 상태에 있는 것으로 식별된다. 로컬 서비스 제공자(50)는 식별된 스토리지 장치(10)가 더 낮은 전력 상한에서 동작하도록 지시한다(S120). 예를 들어, 로컬 서비스 제공자(50)는 식별된 스토리지 장치들(10) 각각에게 전력 상태들을 더 낮은 최대 전력 등급을 갖는 전력 상태로 변경(예를 들어, PowerState 2에서 PowerState 5로 변경)하도록 지시할 수 있다. 이는 각각의 전력 상태를 실제 소비 전력의 범위에 연관시키는 로컬 서비스 제공자(50)에 의해 구현(예를 들어, 관리자(308)에 의해 정의)되는 전력 정책에 기초하여 행해질 수 있다.
일부 실시 예에 따르면, 로컬 서비스 제공자(50)는 어느 스토리지 장치(10)가 임계 전력 레벨보다 낮은 레벨에서 전력을 소비하는지를 식별한다 (S122). 일부 실시 예에서, 임계치는 최대 전력의 75%로 설정될 수 있으며, 이는 사용된 PSU 그리고/또는 전원 커넥터의 종류에 따라 25W 또는 75W 등일 수 있다.
일부 실시 예에서, 로컬 서비스 제공자(50)는 스토리지 장치(10)로부터 전력 로그(70)를 질의/검색함으로써 대응하는 PMU (14)에 의해 측정되는 각각의 스토리지 장치(10)의 실제 소비 전력을 얻는다. 그러면, 로컬 서비스 제공자(50)는 실제 소비 전력을 임계 전력 레벨과 비교하여 스토리지 장치(10)의 소비 전력이 임계 전력 레벨 미만인지 여부를 결정한다. 그 다음, 로컬 서비스 제공자(50)는 100% 최대 전력의 디폴트 전력 상한의 대비하여 제 1 레벨(예를 들어, 최대 전력의 75 % 또는 80 %)에 대응하는 전력 상한에서 동작하도록 식별된 저장 장치들(10)에 동적으로 지시한다. PSU의 전력 효율이 그것의 최대 부하 용량에 도달할 때 떨어지기 때문에, 스토리지 장치들(10)의 전력 상한을 낮추는 것은 스토리지 뱅크(302)의 전체 전력 사용을 낮추어서, PSU가 더 낮은 전력 레벨에서 동작하게 하고, 높은(즉, 피크) 전력 효율 범위에서 동작하게 한다. 이는 전반적인 전력 사용 및 냉각이 큰 관심사인 대형 데이터 센터에서 특히 바람직하다.
일부 실시 예들에서, 로컬 서비스 제공자(50)는 그것들의 최대 전력이 임계 전력 레벨에 대응(예를 들어, 전력 상태가 PowerState0에서 PowerState1로 변경될 수 있는)하는 전력 상태로 변경하도록 지시함으로써 식별된 스토리지 장치들(10) 각각이 저전력 상한에서 동작하도록 동적으로 지시할 수 있다.
일부 실시 예에서, 로컬 서비스 제공자(50)는 어느 스토리지 장치 슬롯이 비어 있는지(즉, 임의의 스토리지 장치(10)에 의해 점유되지 않거나 접속되지 않은 지)를 식별한다(S126). 일부 실시 예에서, 각각의 스토리지 장치(10)는 슬롯이 비어 있거나 스토리지 장치(10)에 의해 점유되었는지 여부를 결정하기 위해 서비스 제공자(50)에 의해 사용되는 슬롯 커넥터(15)상에 존재 핀을 가질 수 있다. 비어있는 슬롯 중 임의의 슬롯이 대응하는 스토리지 장치 (10)의 외부에 있는(즉, 집적4되지 않고 외부에) 대응하는 PMU (14)를 갖는 경우(예를 들어, 배전판 또는 스토리지 섀시의 중간면에 있을 수 있는), 로컬 서비스 제공자(50)는 이들 PMU(14)가 저전력 상한(예를 들어, 최저 전력 상태, PowerState (31)에서 동작)에서 동작하던지지 또는 모두 디스에이블/비활성화되도록 지시한다(S128). 이것은 스토리지 뱅크(302)가 불필요한 전력 사용을 제거하거나 감소시킬 수 있게 할 것이다.
단계들(S118-S120), 단계들(S122-S124), 단계들(S126-S128)은 도 15에 도시된 바와 같이, 특정 순서로 나열되어 있으나, 본 발명의 실시 예는 이에 한정되지 않는다. 예를 들어, 단계들(S118-S120)은 단계들(S122-S124) 및 단계들(S126-S128) 중 어느 하나 또는 모두의 이후에 수행될 수 있으며, 단계들(S126-S128)은 단계들(S118-S120) 및 단계들(S122-S124) 중 어느 하나 또는 둘 모두에 앞서 수행될 수 있다.
로컬 서비스 제공자(50, 예를 들면, 프로세스들(400 및 500))에 의해 수행되는 동작들은 메모리에 저장된 컴퓨터 프로그램 명령들에 기초하여 로컬 서비스 제공자(50)의 하나 이상의 프로세서들에 의해 실행되는 소프트웨어 루틴에 의해 표현될 수 있다. 그러나, 당업자는 루틴이 하드웨어, 펌웨어(예를 들어, ASIC을 통해), 또는 소프트웨어, 펌웨어 그리고/또는 하드웨어의 조합을 통해 실행될 수 있다는 것을 인식해야 한다. 또한, 처리의 일련 단계는 고정되어 있지 않지만, 당업자에 의해 인식되는 바와 같이 임의의 원하는 서열로 변경될 수 있다.

Claims (10)

  1. 스토리지 시스템에 있어서,
    적어도 하나의 스토리지 장치;
    상기 적어도 하나의 스토리지 장치에 전력을 공급하는 복수의 전력 공급 장치들;
    프로세서; 그리고
    상기 프로세서에 의해서 실행되는 명령어를 저장하는 메모리를 포함하되, 상기 명령어는 상기 프로세서로 하여금:
    상기 적어도 하나의 스토리지 장치의 총 소비 전력을 결정하는 단계;
    상기 총 소비 전력이 상기 전력 공급 장치들 중 활성 상태인 것의 부하의 제1 임계치보다 작은 것으로 결정한 것에 적어도 부분적으로 기반하여:
    상기 전력 공급 장치들 중 하나 또는 그 이상의 상기 활성 상태인 상기 전력 공급 장치들을 비활성화함으로써 비활성화 과정을 개시하는 단계;
    상기 총 소비 전력이 상기 전력 공급 장치들 중 상기 활성 상태인 것의 부하의 상기 제1 임계치와 같거나 더 큰 것에 적어도 부분적으로 기반하여 상기 비활성화 과정을 종료하는 단계; 그리고
    상기 총 소비 전력이 상기 전력 공급 장치들 중 활성 상태인 것의 부하의 제2 임계치와 같거나 더 크다고 결정한 것에 적어도 부분적으로 기반하여:
    하나 또는 그 이상의 상기 전력 공급 장치들을 활성화함으로써 활성화 과정을 개시하는 단계;
    상기 총 소비 전력이 상기 전력 공급 장치들 중 상기 활성 상태인 것의 부하의 상기 제2 임계치보다 작은 것에 적어도 부분적으로 기반하여 상기 활성화 과정을 종료하는 단계를 수행하도록 하는 스토리지 시스템.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 스토리지 장치의 상기 총 소비 전력을 결정하는 단계는:
    상기 적어도 하나의 스토리지 장치 중 제1 스토리지 장치 또는 대응하는 전력 계량기로부터 상기 제1 스토리지 장치의 제1 실제 소비 전력를 얻는 단계;
    상기 적어도 하나의 스토리지 장치 중 제2 스토리지 장치의 제2 실제 소비 전력을 얻는 단계; 그리고
    상기 총 소비 전력을 얻기 위해 상기 제1 및 제2 실제 소비 전력을 합산하는 단계를 포함하는 스토리지 시스템.
  3. 제 2 항에 있어서,
    상기 제1 스토리지 장치의 상기 제1 실제 소비 전력를 얻는 단계는:
    상기 제1 스토리지 장치에 대응하는 전력 로그로부터 전력 측정 정보를 검색하는 단계를 포함하되,
    상기 전력 측정 정보는 상기 대응하는 전력 계량기에 의해 측정되고 상기 전력 로그에 기록되는 스토리지 시스템.
  4. 제 2 항에 있어서,
    상기 대응하는 전력 계량기는 상기 제1 스토리지 장치의 내부에 있는 스토리지 시스템.
  5. 제 2 항에 있어서,
    상기 대응하는 전력 계량기는 상기 제1 스토리지 장치의 외부에서 연결되는 스토리지 시스템.
  6. 제 1 항에 있어서,
    상기 전력 공급 장치들 중 상기 활성 상태인 것의 부하의 상기 제1 임계치는, 상기 전력 공급 장치들 중 상기 활성 상태인 것의 부하의 40 %인 스토리지 시스템.
  7. 제 1 항에 있어서,
    상기 전력 공급 장치들 중 상기 활성 상태인 것의 부하의 제2 임계치는, 상기 전력 공급 장치들 중 상기 활성 상태인 것의 부하의 90 %인 스토리지 시스템.
  8. 제 1 항에 있어서,
    상기 명령어는 상기 프로세서로 하여금:
    상기 전력 공급 장치들 중 하나의 전력 공급 장치만 고가용성 모드에 있는지 여부를 결정하는 단계; 그리고
    상기 전력 공급 장치들 중 하나의 전력 공급 장치만 상기 고가용성 모드에 있다고 결정한 것에 적어도 부분적으로 기반하여, 상기 하나의 전력 공급 장치가 상기 고가용성 모드에 있음을 나타내는 경고 메시지를 생성하는 단계를 더 수행하도록 하는 스토리지 시스템.
  9. 제 1 항에 있어서,
    상기 전력 공급 장치들 중 하나 또는 그 이상의 상기 활성 상태인 상기 전력 공급 장치들을 비활성화함으로써 비활성화 과정을 개시하는 단계는:
    상기 하나 또는 그 이상의 상기 활성 상태인 상기 전력 공급 장치들 중 하나의 상기 활성 상태인 전력 공급 장치를 비활성화하는 단계;
    상기 적어도 하나의 스토리지 장치의 상기 총 소비 전력이 상기 활성 상태인 상기 전력 공급 장치들의 부하의 상기 제1 임계치보다 작은 것으로 결정하는 단계; 그리고
    상기 결정에 적어도 부분적으로 기반하여, 상기 하나 또는 그 이상의 상기 활성 상태인 상기 전력 공급 장치들 중 다른 하나의 상기 활성 상태인 전력 공급 장치를 비활성하는 단계를 포함하는 스토리지 시스템.
  10. 스토리지 장치 및 상기 스토리지 장치에 전력을 공급하도록 구성된 복수의 전력 공급 장치들을 포함하는 스토리지 시스템을 관리하는 방법에 있어서:
    프로세서에 의해, 상기 스토리지 장치의 총 소비 전력을 결정하는 단계;
    상기 총 소비 전력이 상기 전력 공급 장치들 중 활성 상태인 것의 부하의 제1 임계치보다 작은 것으로 결정한 것에 적어도 부분적으로 기반하여:
    프로세서에 의해, 상기 전력 공급 장치들 중 하나 또는 그 이상의 상기 활성 상태인 상기 전력 공급 장치들을 비활성화함으로써 비활성화 과정을 개시하는 단계;
    상기 총 소비 전력이 상기 전력 공급 장치들 중 상기 활성 상태인 것의 부하의 상기 제1 임계치와 같거나 더 큰 것에 적어도 부분적으로 기반하여 상기 비활성화 과정을 종료하는 단계; 그리고
    상기 총 소비 전력이 상기 전력 공급 장치들 중 활성 상태인 것의 부하의 제2 임계치와 같거나 더 크다고 결정한 것에 적어도 부분적으로 기반하여:
    프로세서에 의해, 하나 또는 그 이상의 상기 전력 공급 장치들을 활성화함으로써 활성화 과정을 개시하는 단계;
    상기 총 소비 전력이 상기 전력 공급 장치들 중 상기 활성 상태인 것의 부하의 상기 제2 임계치보다 작은 것에 적어도 부분적으로 기반하여 상기 활성화 과정을 종료하는 단계를 포함하는 방법.
KR1020190002496A 2018-03-02 2019-01-08 스토리지 시스템의 전력 분석을 수행하는 방법 및 장치 KR102385766B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201862638035P 2018-03-02 2018-03-02
US62/638,035 2018-03-02
US15/975,463 2018-05-09
US15/975,463 US11481016B2 (en) 2018-03-02 2018-05-09 Method and apparatus for self-regulating power usage and power consumption in ethernet SSD storage systems
US201862713466P 2018-08-01 2018-08-01
US62/713,466 2018-08-01
US16/167,306 US11500439B2 (en) 2018-03-02 2018-10-22 Method and apparatus for performing power analytics of a storage system
US16/167,306 2018-10-22

Publications (2)

Publication Number Publication Date
KR20190104867A KR20190104867A (ko) 2019-09-11
KR102385766B1 true KR102385766B1 (ko) 2022-04-12

Family

ID=67768612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190002496A KR102385766B1 (ko) 2018-03-02 2019-01-08 스토리지 시스템의 전력 분석을 수행하는 방법 및 장치

Country Status (3)

Country Link
US (4) US11500439B2 (ko)
KR (1) KR102385766B1 (ko)
CN (1) CN110221946A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6919538B2 (ja) * 2017-12-05 2021-08-18 富士通株式会社 電力制御システム及び電力制御プログラム
US11481016B2 (en) 2018-03-02 2022-10-25 Samsung Electronics Co., Ltd. Method and apparatus for self-regulating power usage and power consumption in ethernet SSD storage systems
US11500439B2 (en) * 2018-03-02 2022-11-15 Samsung Electronics Co., Ltd. Method and apparatus for performing power analytics of a storage system
US10983852B2 (en) 2019-01-30 2021-04-20 Micron Technology, Inc. Power management component for memory sub-system voltage regulation
US11334135B1 (en) * 2019-03-28 2022-05-17 Amazon Technologies, Inc. Power supply optimization using backup battery power supplementation
US11449245B2 (en) * 2019-06-13 2022-09-20 Western Digital Technologies, Inc. Power target calibration for controlling drive-to-drive performance variations in solid state drives (SSDs)
US11050294B1 (en) 2019-06-28 2021-06-29 Amazon Technologies, Inc. Power supply shedding for power efficiency optimization
US11314315B2 (en) 2020-01-17 2022-04-26 Samsung Electronics Co., Ltd. Performance control of a device with a power metering unit (PMU)
CN111309132B (zh) * 2020-02-21 2021-10-29 苏州浪潮智能科技有限公司 一种服务器多档位电源冗余的方法
US11977425B2 (en) * 2021-01-29 2024-05-07 Astrodyne TDI Highly adaptable power system
US11592894B2 (en) * 2021-04-12 2023-02-28 Dell Products L.P. Increasing power efficiency for an information handling system
JP2023553681A (ja) * 2021-06-01 2023-12-25 長江存儲科技有限責任公司 メモリシステムの電力管理
CN113504823A (zh) * 2021-06-16 2021-10-15 新华三信息安全技术有限公司 一种降低框式通信设备的功耗的方法及装置
TW202324096A (zh) * 2021-11-12 2023-06-16 南韓商三星電子股份有限公司 儲存裝置
US20230325097A1 (en) * 2022-04-12 2023-10-12 Dell Products L.P. Selective powering of storage drive components in a storage node based on system performance limits

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030489A1 (en) 2010-07-27 2012-02-02 Sanjay Bhagwan Patil Power supply control within an integrated circuit
US20170011150A1 (en) 2012-11-06 2017-01-12 Cenergistic Llc Adjustment simulation method for energy consumption

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715071B2 (en) 1998-06-26 2004-03-30 Canon Kabushiki Kaisha System having devices connected via communication lines
JP3297389B2 (ja) 1998-12-07 2002-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 消費電力制御方法および電気機器
US6785827B2 (en) * 2000-11-29 2004-08-31 Dell Products L.P. System for determining servers power supply requirement by sampling power usage values thereof at a rate based upon the criticality of its availability
US20040215912A1 (en) 2003-04-24 2004-10-28 George Vergis Method and apparatus to establish, report and adjust system memory usage
US7269751B2 (en) * 2003-07-29 2007-09-11 Hewlett-Packard Development Company, L.P. Supplying power to at least one electrical device based on an efficient operating point of a power supply
US7240225B2 (en) 2003-11-10 2007-07-03 Dell Products L.P. System and method for throttling power in one or more information handling systems
CN100482000C (zh) * 2003-12-19 2009-04-22 艾利森电话股份有限公司 移动远程通信网络节点用的自适应电源管理
US7064994B1 (en) 2004-01-30 2006-06-20 Sun Microsystems, Inc. Dynamic memory throttling for power and thermal limitations
US7340616B2 (en) * 2004-05-26 2008-03-04 Intel Corporation Power management of storage units in a storage array
US7502948B2 (en) * 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US7444526B2 (en) 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US7536573B2 (en) 2005-07-29 2009-05-19 Hewlett-Packard Development Company, L.P. Power budgeting for computers
US7647516B2 (en) 2005-09-22 2010-01-12 Hewlett-Packard Development Company, L.P. Power consumption management among compute nodes
US7539881B2 (en) 2006-04-15 2009-05-26 Hewlett-Packard Development Company, L.P. System and method for dynamically adjusting power caps for electronic components based on power consumption
US8272781B2 (en) 2006-08-01 2012-09-25 Intel Corporation Dynamic power control of a memory device thermal sensor
US7774520B2 (en) * 2006-12-19 2010-08-10 Intel Corporation Method and apparatus for maintaining synchronization of audio in a computing system
US8661167B2 (en) * 2007-09-17 2014-02-25 Intel Corporation DMA (direct memory access) coalescing
CA2761979A1 (en) 2008-05-13 2009-11-19 Igo, Inc. Circuit and method for ultra-low idle power
US8051316B2 (en) * 2008-06-09 2011-11-01 Dell Products L.P. System and method for managing power supply units
US8217531B2 (en) * 2008-07-24 2012-07-10 International Business Machines Corporation Dynamically configuring current sharing and fault monitoring in redundant power supply modules
US8112651B2 (en) * 2008-09-25 2012-02-07 Intel Corporation Conserving power in a computer system
US7906871B2 (en) * 2008-12-30 2011-03-15 International Business Machines Corporation Apparatus, system, and method for reducing power consumption on devices with multiple power supplies
US8338988B2 (en) * 2009-04-17 2012-12-25 Lsi Corporation Adaptation of an active power supply set using an event trigger
US8312300B2 (en) * 2009-07-31 2012-11-13 Hewlett-Packard Development Company, L.P. Limiting power in redundant power supply systems
US8478451B2 (en) 2009-12-14 2013-07-02 Intel Corporation Method and apparatus for dynamically allocating power in a data center
US8429433B2 (en) 2010-01-15 2013-04-23 International Business Machines Corporation Dynamically adjusting an operating state of a data processing system running under a power cap
US8589721B2 (en) * 2010-11-30 2013-11-19 International Business Machines Corporation Balancing power consumption and high availability in an information technology system
CN103180824B (zh) 2011-01-28 2017-11-24 惠普发展公司,有限责任合伙企业 分配信息
US8627124B2 (en) 2011-02-10 2014-01-07 International Business Machines Corporation Techniques for performing storage power management
US8732506B2 (en) * 2011-05-26 2014-05-20 Cisco Technology, Inc. Method and apparatus for providing power to a server platforms by using a capacitor to provide power during a second power supply transitioning on
CN102290854B (zh) * 2011-07-01 2013-10-16 创新科存储技术(深圳)有限公司 一种对冗余电源模块进行状态控制的方法和装置
JP5997700B2 (ja) * 2011-09-29 2016-09-28 レノボ・エンタープライズ・ソリューションズ(シンガポール)プライベート・リミテッド 電源装置とその制御方法
JP5998677B2 (ja) 2012-06-29 2016-09-28 富士通株式会社 ストレージ装置および接続装置
WO2014051587A1 (en) * 2012-09-27 2014-04-03 Hewlett-Packard Development Company, L.P. Balancing a load between power supplies to increase efficiency
US9189045B2 (en) 2012-10-08 2015-11-17 Dell Products L.P. Power management system
US9298247B2 (en) 2012-11-27 2016-03-29 International Business Machines Corporation Distributed power budgeting
US10007323B2 (en) * 2012-12-26 2018-06-26 Intel Corporation Platform power consumption reduction via power state switching
US9280191B2 (en) * 2013-01-21 2016-03-08 Dell Products Lp. Systems and methods for power supply configuration and control
JP6059039B2 (ja) * 2013-02-26 2017-01-11 京セラ株式会社 送信装置及び送信方法
US20140281606A1 (en) 2013-03-15 2014-09-18 Silicon Graphics International Corp. Data storage power consumption threshold
US20140344947A1 (en) * 2013-05-20 2014-11-20 Advanced Micro Devices, Inc. Method and apparatus for handling storage of context information
US10324642B2 (en) 2013-06-07 2019-06-18 Sanmina Corporation Peripheral component interconnect express (PCIe) solid state drive (SSD) accelerator
US9292064B2 (en) * 2013-09-18 2016-03-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Changing output power to be within a range based on a power use efficiency peak
KR20150047785A (ko) 2013-10-25 2015-05-06 삼성전자주식회사 서버 시스템 및 스토리지 시스템
WO2015066048A1 (en) * 2013-10-28 2015-05-07 Virtual Power Systems, Inc. Energy control via power requirement analysis and power source enablement
CN103559872B (zh) * 2013-11-15 2015-04-15 京东方科技集团股份有限公司 一种供电系统
US9753520B2 (en) * 2013-12-23 2017-09-05 Dell Products, L.P. Predictive power capping and power allocation to computing nodes in a rack-based information handling system
US20150200566A1 (en) * 2014-01-10 2015-07-16 Zippy Technology Corp. Redundant power supply system for reducing standby power consumption
US9575677B2 (en) 2014-04-29 2017-02-21 Sandisk Technologies Llc Storage system power management using controlled execution of pending memory commands
US9477295B2 (en) 2014-05-15 2016-10-25 Dell Products, L.P. Non-volatile memory express (NVMe) device power management
US9547587B2 (en) 2014-05-23 2017-01-17 International Business Machines Corporation Dynamic power and thermal capping for flash storage
US9244865B2 (en) * 2014-05-28 2016-01-26 SanDisk Technologies, Inc. Obtaining diagnostic information through host interfaces
US9477299B2 (en) 2014-06-11 2016-10-25 Echostar Uk Holdings Limited Systems and methods for facilitating device control, device protection, and power savings
CN104202197B (zh) 2014-09-12 2019-03-01 华为技术有限公司 设备管理的方法和装置
DE102014113262B4 (de) * 2014-09-15 2016-09-15 Sma Solar Technology Ag Verfahren und Vorrichtung zum Betrieb eines neben einem Netzbildner und mindestens einer Last an ein begrenztes Wechselstromnetz angeschlossenen Kraftwerks mit fluktuierender Leistungsfähigkeit
US9541988B2 (en) 2014-09-22 2017-01-10 Western Digital Technologies, Inc. Data storage devices with performance-aware power capping
US10146293B2 (en) * 2014-09-22 2018-12-04 Western Digital Technologies, Inc. Performance-aware power capping control of data storage devices
US9829902B2 (en) 2014-12-23 2017-11-28 Intel Corporation Systems and methods for dynamic temporal power steering
CN105808407B (zh) 2014-12-31 2019-09-13 华为技术有限公司 管理设备的方法、设备和设备管理控制器
US10095254B2 (en) * 2015-03-25 2018-10-09 Cisco Technology, Inc. Power distribution management
CN104951384B (zh) 2015-06-16 2017-10-03 浪潮电子信息产业股份有限公司 一种基于nvme ssd硬盘的监控系统、基板管理控制器和监控方法
US10234926B2 (en) * 2015-06-16 2019-03-19 Dell Products, Lp Method and apparatus for customized energy policy based on energy demand estimation for client systems
US10372185B2 (en) 2015-07-28 2019-08-06 Western Digital Technologies, Inc. Enhanced power control of data storage arrays
US10268262B2 (en) 2015-08-02 2019-04-23 Dell Products, L.P. Dynamic peak power limiting to processing nodes in an information handling system
US9983652B2 (en) 2015-12-04 2018-05-29 Advanced Micro Devices, Inc. Balancing computation and communication power in power constrained clusters
WO2017111887A1 (en) 2015-12-21 2017-06-29 Hewlett Packard Enterprise Development Lp Memory throttling
US10185511B2 (en) 2015-12-22 2019-01-22 Intel Corporation Technologies for managing an operational characteristic of a solid state drive
US10209750B2 (en) 2016-05-02 2019-02-19 Samsung Electronics Co., Ltd. SSD driven system level thermal management
US10509456B2 (en) 2016-05-06 2019-12-17 Quanta Computer Inc. Server rack power management
US20190065243A1 (en) 2016-09-19 2019-02-28 Advanced Micro Devices, Inc. Dynamic memory power capping with criticality awareness
US10168753B2 (en) 2016-10-17 2019-01-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Power delivery optimization based on system capability
DE102017103214A1 (de) 2017-02-16 2018-08-16 Hyperstone Gmbh Verfahren und Vorrichtungen zur Verwaltung eines nichtflüchtigen digitalen Informationsspeichers
KR102462385B1 (ko) 2017-07-17 2022-11-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10831384B2 (en) 2017-08-31 2020-11-10 Micron Technology, Inc. Memory device with power management
US10509596B2 (en) 2017-12-21 2019-12-17 Advanced Micro Devices, Inc. Extreme-bandwidth scalable performance-per-watt GPU architecture
US11709539B2 (en) * 2018-01-24 2023-07-25 Western Digital Technologies, Inc. Low power state staging
US11500439B2 (en) 2018-03-02 2022-11-15 Samsung Electronics Co., Ltd. Method and apparatus for performing power analytics of a storage system
US11481016B2 (en) * 2018-03-02 2022-10-25 Samsung Electronics Co., Ltd. Method and apparatus for self-regulating power usage and power consumption in ethernet SSD storage systems
US10359959B1 (en) * 2018-03-06 2019-07-23 Western Digital Technologies, Inc. Energy optimized power state declarations for solid state drives
US10852796B2 (en) * 2018-10-22 2020-12-01 Dell Products L.P. System and method of managing throttling of information handling systems
US11023287B2 (en) * 2019-03-27 2021-06-01 International Business Machines Corporation Cloud data center with reduced energy consumption
US11093135B1 (en) 2019-04-11 2021-08-17 Seagate Technology Llc Drive performance, power, and temperature management
US11921555B2 (en) 2019-07-26 2024-03-05 Samsung Electronics Co., Ltd. Systems, methods, and devices for providing power to devices through connectors
US11314315B2 (en) * 2020-01-17 2022-04-26 Samsung Electronics Co., Ltd. Performance control of a device with a power metering unit (PMU)
US11836028B2 (en) * 2021-01-20 2023-12-05 Dell Products L.P. System and method for closed-loop memory power capping
US11966613B2 (en) * 2021-11-24 2024-04-23 Western Digital Technologies, Inc. Selective device power state recovery method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030489A1 (en) 2010-07-27 2012-02-02 Sanjay Bhagwan Patil Power supply control within an integrated circuit
US20170011150A1 (en) 2012-11-06 2017-01-12 Cenergistic Llc Adjustment simulation method for energy consumption

Also Published As

Publication number Publication date
US20230071775A1 (en) 2023-03-09
US20210232198A1 (en) 2021-07-29
CN110221946A (zh) 2019-09-10
US11500439B2 (en) 2022-11-15
KR20190104867A (ko) 2019-09-11
US20210089102A1 (en) 2021-03-25
US20190272012A1 (en) 2019-09-05

Similar Documents

Publication Publication Date Title
KR102385766B1 (ko) 스토리지 시스템의 전력 분석을 수행하는 방법 및 장치
US9870159B2 (en) Solid-state disk (SSD) management
US7779276B2 (en) Power management in a power-constrained processing system
US9304565B2 (en) Information handling system power supply automated de-rating for power output and thermal constraints
US11481016B2 (en) Method and apparatus for self-regulating power usage and power consumption in ethernet SSD storage systems
US11126250B2 (en) Method and apparatus for extending power hold-up with power assist unit
KR102140219B1 (ko) 시스템 전원 관리방법 및 컴퓨터 시스템
CN112969978B (zh) 提供峰值优化电力供应单元的方法与装置
US11086390B2 (en) Method and apparatus for improving power management by controlling a system input current in a power supply unit
US20150304177A1 (en) Processor management based on application performance data
CN114741180A (zh) 机架管理系统、方法及控制器
US20210157387A1 (en) Method and apparatus for improving power management by controlling operations of an uninterruptible power supply in a data center
US20200133361A1 (en) Method and Apparatus to Provide Platform Power Peak Limiting based on Charge of Power Assist Unit
US11599182B2 (en) Method and apparatus to distribute current indicator to multiple end-points
US10951051B2 (en) Method and apparatus to charge power assist unit
US20200133364A1 (en) Method and Apparatus to Control Power Assist Unit
TWI805855B (zh) 電力輔助之資訊處理系統、電力輔助單元及用以調節至資訊處理系統之負載的電力之方法
US10983577B2 (en) Method and apparatus to provide dynamic regulation of power assist unit output based on active profile
US10877536B2 (en) Apparatus and method for providing smooth power-on operation with power assist unit

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant