KR101833595B1 - 성능 인식 전력 상한 제한을 구비한 데이터 저장 장치 - Google Patents

성능 인식 전력 상한 제한을 구비한 데이터 저장 장치 Download PDF

Info

Publication number
KR101833595B1
KR101833595B1 KR1020150133139A KR20150133139A KR101833595B1 KR 101833595 B1 KR101833595 B1 KR 101833595B1 KR 1020150133139 A KR1020150133139 A KR 1020150133139A KR 20150133139 A KR20150133139 A KR 20150133139A KR 101833595 B1 KR101833595 B1 KR 101833595B1
Authority
KR
South Korea
Prior art keywords
data storage
storage device
power
power consumption
threshold
Prior art date
Application number
KR1020150133139A
Other languages
English (en)
Other versions
KR20160035555A (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 에이취지에스티 네덜란드 비.브이.
Publication of KR20160035555A publication Critical patent/KR20160035555A/ko
Application granted granted Critical
Publication of KR101833595B1 publication Critical patent/KR101833595B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

데이터 저장 장치의 전력 제어를 위한 시스템, 방법 및 펌웨어가 제공된다. 일 예로서, 데이터 저장 장치가 제시된다. 데이터 저장 장치는 데이터 저장 장치에 관한 전력 문턱(power threshold)을 식별하는 저장 제어 시스템(storage control system)을 포함한다. 데이터 저장 장치는, 데이터 저장 장치를 위한 전력 소비 특성(power consumption characteristics)을 결정하고, 데이터 저장 장치에 관한 전력 문턱 미만으로 전력 소비 특성을 설정하기 위하여 적어도 데이터 저장 장치 내의 스토리지 트랜잭션 큐 깊이(storage transaction queue depth)를 조정하는, 데이터 저장 장치를 위한 전력 제어 모드(power controlled mode)로 진입한다.

Description

성능 인식 전력 상한 제한을 구비한 데이터 저장 장치{DATA STORAGE DEVICES WITH PERFORMANCE-AWARE POWER CAPPING}
개인용 컴퓨터, 워크스테이션, 서버 시스템, 및 클라우드 저장 시스템과 같은 컴퓨터 및 네트워크 시스템은, 전형적으로 데이터를 저장하고 검색하기 위한 데이터 저장 시스템(data storage systems)을 포함한다. 이러한 데이터 저장 시스템은 하드 디스크 드라이브, 솔리드 스테이트 저장 장치, 테이프 저장 장치 및 기타 대용량 저장 장치 등과 같은 데이터 저장 장치를 포함할 수 있다.
디지털 콘텐츠 및 빅데이터(big data)에 관한 최근의 수요는 더 많은, 더 밀집된, 그리고 더욱 대규모의 데이터 센터에 대한 필요를 불러오고 있다. 이와 관련하여 데이터 센터의 전력 소비(power dissipation)가 문제된다. 데이터 센터는 사용가능하도록 허용된 첨두전력(peak power)에 의해 종종 제한을 받는다. 첨두전력 용량은 중요한데, 이는 전력 조건분배 기반시설(power conditioning and distribution infrastructure) 및 냉각시스템 양자 모두 그들의 결합된 첨두전력 요구에 기초하여 규모를 정해야 하기 때문이다.
데이터 센터 운영자는, 임의의 시간에서 허용 가능한 최대치보다 많은 기계서버 및 사용자로써 데이터 센터 전력 공급을 초과 신청하는데, 그 목적은 그들의 활용도를 최대화하기 위함이다. 전력 상한 제한(power capping)은 데이터 센터 내에 들어 있는 다양한 전산 시스템을 위한 최대 전력 사용량을 설정하기 위하여 데이터 센터 내에서 사용되어 왔다. 그러나 전산 시스템의 개별 부품에 의한 전력 소비는, 슬립 모드(sleep mode) 또는 미사용 전산 소자에 대한 전원 차단과 같은 아주 거친 조정으로 한정된다.
본 발명의 설명에서는 데이터 저장 장치의 전력 제어에 관한 시스템, 방법 및 펌웨어가 제공된다. 일예로서, 데이터 저장 장치가 제시된다. 데이터 저장 장치는 데이터 저장 장치에 관한 전력 문턱(power threshold)을 식별하는 저장 제어 시스템(storage control system)을 포함한다. 데이터 저장 장치는, 데이터 저장 장치에 관한 전력 소비 특성(power consumption characteristics)을 결정하고, 데이터 저장 장치에 관한 전력 문턱 아래로 전력 소비 특성을 설정하기 위하여 적어도 데이터 저장 장치 내의 스토리지 트랜잭션 큐 깊이(storage transaction queue depth)를 조정하는, 데이터 저장 장치에 관한 전력 제어 모드로 진입한다.
도 1은 데이터 저장 장치 내 성능 인식 전력 상한 제한(에 관한 저장 시스템을 도시한 것이다.
도 2는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템의 동작 방법을 도시한 것이다.
도 3a는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템의 동작 방법을 도시한 것이다.
도 3b는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템의 동작 방법을 도시한 것이다.
도 4는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템의 선택적인 구현예를 도시한 것이다.
도 5는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템의 동작 방법을 도시한 것이다.
도 6은 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템의 동작 방법을 도시한 것이다.
도 7은 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 데이터 저장 장치를 도시한 것이다.
도 8은 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 구조를 도시한 것이다.
도 9는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 전산 시스템을 도시한 것이다.
데이터 저장 시스템은 저장 장치들 중에서도 하드 디스크 드라이브, 솔리드 스테이트 드라이브 등과 같은 다양한 대용량 저장 장치를 이용한다. 그러나 이들 저장 장치는, 많은 데이터 저장 시스템을 가지는 데이터 센터에 의해 과도한 전력 소비를 야기하는 높은 레벨의 전력을 사용할 수 있다. 이하 논의되는 실시예에서, 다양한 방법, 시스템, 장비 및 펌웨어가, 데이터 서버와 데이터 저장 시스템 내에서 사용되는 다양한 대용량 저장 장치에서의 전력 소비에 대해 정교한 제어를 가능하게 한다. 예컨대, 하드 디스크 드라이브는 저장 동작(storage operations)이 그 하드 디스크 드라이브에 관한 전력 문턱(power threshold) 아래로 떨어질 수 있도록 하드 디스크 드라이브의 파라미터를 수정하는 전력 상한 제한 모드로 놓일 수 있다. 데이터 저장 장치의 전력 상한 제한 및 전력 제어에 관한 다른 실시예가 이하에서 논의된다.
제1 실시예로서 도 1이 제시된다. 도 1은 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템 (100)을 도시한다. 저장 시스템(100)은 데이터 저장 장치(102) 및 호스트 시스템(host system)(120)을 포함한다. 데이터 저장 장치(102) 및 호스트 시스템(120)은 링크(130)을 통해 통신한다. 데이터 저장 장치(102)는 저장 매체(112), 저장 제어 시스템 (114) 및 큐(queue)(116)를 포함한다. 저장 매체(112)는, 원하는 정보를 저장하는 데 사용되고 저장 제어 시스템(114) 등과 같은 명령어 실행 시스템(instruction execution system)에 의하여 접속될 수 있는, 임의의 물리적 매체를 포함한다. 저장 제어 시스템(114)은 저장 매체(112)에 접속하기 위한 처리 회로(processing circuitry) 및 메모리를 포함한다. 큐(116)는, 데이터 저장 장치(102)에 관하여 읽기 명령(read command) 또는 쓰기 명령(write command)과 같은 데이터 구성 명령을 포함한다. 호스트 시스템(120)은, 개인용 컴퓨터, 서버, 또는 다른 컴퓨터 및 네트워크 시스템과 같은, 전산 및 네트워크 시스템을 하나 이상 포함한다. 작동 시에, 호스트 시스템(120)은 전력 문턱(110) 및/또는 큐 깊이(140)을 데이터 저장 장치(102)로 전송한다. 데이터 저장 장치(102)는 호스트 시스템(120)으로부터 전력 문턱(110) 및/또는 큐 깊이(140)를 수신한다.
도 2는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템(100)의 동작 방법을 도시한다. 그 동작은 데이터 저장 장치(102) 또는 호스트 시스템(120)이 서로 독립적으로 수행하거나 데이터 저장 장치(102) 및 호스트 시스템(120)이 동시에 수행할 수 있다. 도 2의 동작 방법을 이하에서 추가적으로 설명한다.
도 2의 제1 실시예에서는, 상기한 바와 같이 비록 도 2의 동작이 호스트 시스템(120)에 의해 수행될 수 있다는 것이 이해되어야 하지만, 데이터 저장 장치(102)가 도 2의 동작을 수행한다. 데이터 저장 장치(102)는 데이터 저장 장치(102)에 관한 전력 문턱(110)을 식별한다(202). 전력 문턱(110)은 데이터 저장 장치(102)에 관하여 허용가능한 최대 또는 최소 전력 소비 특성을 나타낸다. 전력 문턱(110)은 전력 소비 문턱값을 와트(Watt)로 명시하거나 또는 데이터 저장 장치(102)의 인출 전류 및 공급 전압을 기초로 하는 전력이나 에너지 소비의 다른 단위로 명시한다. 데이터 저장 장치(102)는 데이터 저장 장치(102)에 관한 전력 소비 특성을 결정한다(204). 전력 소비 특성은 다양한 방식으로 정의될 수 있다. 예컨대, 전력 소비 특성은 시간단위 당 또는 데이터 저장 장치(102)에 관한 트랜잭션(transaction) 당 최대 허용가능한 전력 소비를 나타낼 수 있다. 데이터 저장 장치(102)는 데이터 저장 장치(102)에 관한 전력 제어 모드(power controlled mode)로 진입한다(206).
전력 제어 모드는 데이터 저장 장치(102)에 관한 동작 모드인데, 이 모드는 큐 깊이(140)를 제어함으로써 데이터 저장 장치(102)의 전력 소비 특성을 정교하게 제어할 수 있도록 한다. 두 개의 가능한 전력 제어 모드는, 큐(116)를 조정함으로써 얻어지는 지연 시간 모드(latency mode) 및 처리량 모드(throughput mode)를 포함한다. 지연 시간 모드는 큐 깊이(140)를 감소시킴으로써 신속한 응답시간(response time)을 제공한다. 처리량 모드는 큐 깊이(140)를 증가시킴으로써 데이터 스트림(data streams)에 관한 효율적인 성능을 제공한다. 데이터 저장 장치(102)는 반응적으로 적어도 데이터 저장 장치(102) 내 큐 깊이(140)를 조정한다(208). 큐 깊이(140)는 저장 제어 시스템(114) 또는 호스트 시스템(120)에 의하여 제어될 수 있다. 지연 시간 모드 및 처리량 모드는 큐 깊이(140)를 제어함으로써 성취될 수 있다. 데이터 저장 장치(102)는 전력 소비 특성을 데이터 저장 장치(102)에 관한 전력 문턱 아래로 설정한다(210). 데이터 저장 장치(102)는 데이터 저장 장치(102)의 전력 소비 특성을 감시하고, 반응적으로 전력 제어 모드 및 큐 깊이(140)를 조정함으로써 원하는 전력 소비 특성을 설정하고 유지한다. 전력 소비 특성에 대한 감시는 연속적이거나 또는 이산적일 수 있다.
데이터 저장 장치 내 전력 소비 제어의 추가적인 실시예로서, 도 3a 및 도 3b가 제시된다. 도 3a 및 도 3b는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템(100)의 동작 방법을 추가적으로 도시한다. 도 3a는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 데이터 저장 장치(102)에 의해 수행되는 저장 시스템(100)의 동작 방법을 도시한다. 도 3b는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 호스트 시스템(120)에 의해 수행되는 저장 시스템(100)의 동작 방법을 도시한 것이다.
도 3a는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 데이터 저장 장치(102)에 의해 수행되는 저장 시스템(100)의 동작 방법을 도시한 것이다. 호스트 시스템(120)은 데이터 저장 장치(102)에 관한 전력 문턱(110)을 식별한다. 호스트 시스템(120)은 데이터 저장 장치(102)로 전력 문턱(110)을 전달한다(302). 데이터 저장 장치(102)는 전력 소비 특성을 결정한다. 데이터 저장 장치(102)는 전력 제어 모드로 진입하고, 반응적으로 적어도 큐 깊이(140)을 조정한다. 데이터 저장 장치(102)는 전력 문턱 아래로 전력 소비 특성을 설정한다.
도 3b는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 호스트 시스템(120)에 의해 수행되는 저장 시스템(100)의 동작 방법을 도시한다. 호스트 시스템(120)은 데이터 저장 장치(102)를 위한 전력 문턱(110)을 식별한다. 호스트 시스템(120)은 데이터 저장 장치(102)를 위한 전력 소비 특성을 결정한다. 호스트 시스템(120)은 전력 제어 모드로 진입하고, 반응적으로 적어도 큐 깊이(140)을 조정한다. 호스트 시스템(120)은 큐 깊이 정보를 데이터 저장 장치(102)로 보내고, 데이터 저장 장치(102)에 관한 전력 소비 특성을 전력 문턱(110) 아래로 설정한다(304).
도 1을 다시 참조하여 저장 시스템(100)의 구성 요소를 이하에서 추가적으로 설명한다. 데이터 저장 장치(102)는 하드 디스크 드라이브(HDD; Hard Disk Drive), 솔리드 스테이트 저장 드라이브(SSD; solid state storage drive), 플래시 메모리 드라이브(flash memory drive), 상 변화 메모리 드라이브(phase change memory drive), 광 메모리 드라이브(optical memory drive) 또는 이들의 조합이나 변형을 포함하는 일부 다른 유형의 데이터 저장 장치일 수 있다. 데이터 저장 장치(102)는 호스트 인터페이스(host interface), 처리 회로(processing circuitry), 데이터 버퍼(data buffer), 메모리(memory) 및 읽기/쓰기 헤드(read/write head)와 같은 전자 부품을 포함한다.
저장 매체(112)는, 원하는 정보를 저장하는데 사용되고 저장 제어 시스템(114)과 같은 명령어 실행 시스템에 의하여 접속될 수 있는, 임의의 물리적 매체를 포함한다. 저장 매체(112)의 실시예는, 랜덤 액세스 메모리(random access memory), 읽기 전용 메모리(read only memory), 자기 디스크(magnetic disks), 광 디스크(optical disks), 플래시 메모리(flash memory), 상 변화 메모리(phase change memory), 가상 메모리(virtual memory), 비가상 메모리(non-virtual memory), 자기 카세트(magnetic cassettes), 자기 테이프(magnetic tape), 자기 디스크 스토리지(magnetic disk storage)나 다른 자기 저장 장치(magnetic storage devices), 또는 원하는 정보를 저장하는데 사용될 수 있고 명령어 실행 시스템에 의하여 접속될 수 있는 임의의 다른 매체, 또는 이들의 임의의 조합이나 변형뿐만 아니라 임의의 다른 유형의 저장 매체를 포함한다.
저장 제어 시스템(114)은 저장 매체(112)에 액세스하기 위한 처리 회로 및 메모리를 포함한다. 저장 제어 시스템(114)은 처리 회로, 메모리, 호스트 인터페이스 및 버퍼를 더 포함한다. 메모리는 또한, 링크(130)를 통해 수신된 읽기 및 쓰기 명령을 수행하고 반응하기 위하여 적어도 저장 제어 시스템(114)에 의해 실행되는 펌웨어를 포함한다.
호스트 시스템(120)은 개인용 컴퓨터, 서버 컴퓨터, 랙 서버, 웹 서버, 클라우드 전산 플랫폼(cloud computing platform), 패킷 네트워크, 관리 시스템(management systems) 및 데이터 센터 장비(data center equipment), 임의의 다른 유형의 물리적 또는 가상의 서버 기계뿐만 아니라 이들의 임의의 변형 및 조합 등과 같은 전산 및 네트워크 시스템을 하나 이상 포함할 수 있다. 동작 시에, 호스트 시스템(120)은 읽기 및 쓰기 명령을 링크(330)를 통해 데이터 저장 장치(102)로 발행한다. 다른 실시예에서, 호스트 시스템(120)은 전력 제어 모드로 진입하기 위하여 데이터 저장 장치(102)를 위한 하나 이상의 명령을 발행할 수 있다.
링크(130)는 하나 이상의 링크를 포함할 수 있다. 링크(130)는 금속(metallic), 무선(wireless), 광(optical) 네트워크 링크 또는 이들의 조합을 포함하는 일부 다른 네트워크 링크를 포함한다. 링크(130)는 임의의 스토리지 또는 디스크 인터페이스, 예컨대, 시리얼 어태치드 ATA(SATA; Serial Attached ATA), 시리얼 어태치드 SCSI(SAS; Serial Attached SCSI), 파이버 채널(FiberChannel), 범용 직렬 버스(USB; Universal Serial Bus), SCSI, 인피니밴드(InfiniBand), 고속 병렬 상호연결(PCIe; Peripheral Component Interconnect Express), 이더넷(Ethernet), 인터넷 프로토콜(IP; Internet Protocol) 또는 이들의 변형 및 조합을 포함하는 다른 병렬이나 직렬 스토리지 또는 주변장치 인터페이스(peripheral interfaces) 등을 포함할 수 있다. 링크(130)는 다양한 통신 및 제어 프로토콜, 예컨대, LTE, GSM, 코드분할 다중접속(CDMA), 인터넷 프로토콜, 이더넷, 세션 초기화 프로토콜(SIP; Session Initiation Protocol), 다이어미터(Diameter), 실시간 전송 프로토콜(RTP; Real-time Transfer Protocol), 및/또는 이들의 조합을 포함하는 일부 다른 포맷을 활용한다.
도 4는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템(400)을 도시한 것이다. 비록 저장 시스템(100)이 대체가능한 구성 및 동작방식을 가질 수 있지만, 저장 시스템(400)은 저장 시스템(100)의 일 실시예이다. 저장 시스템(400)은 데이터 저장 장치(402) 및 호스트 시스템(420)을 포함한다. 데이터 저장 장치(402) 및 호스트 시스템(420)은 링크(430)을 통해 통신한다.
데이터 저장 장치(402)는 저장 매체(412), 저장 제어 시스템(414), 큐(416), 및 전력 측정 시스템(418)을 포함한다. 데이터 저장 장치(402)는 하드 디스크 드라이브, 분리 가능한 디스크 스토리지 드라이브(removable disk storage drive), 솔리드 스테이트 드라이브(solid state drive), 테이프 드라이브(tape drive), 또는 큐 깊이 (440)의 영향을 받는 전력 소비 특성을 가진 또 다른 저장 장치일 수 있다.
저장 제어 시스템(414)은 처리 회로 및 메모리를 포함한다. 처리 회로는 하나 이상의 마이크로 프로세서 및 메모리로부터 펌웨어를 검색하고 실행하는 다른 회로를 포함할 수 있다. 처리 회로는 단일 처리 장치(single processing device) 내에서 실행될 수도 있지만, 또한 다중 처리 장치(multiple processing devices) 또는 프로그램 명령어를 실행하는데 협력하는 서브 시스템(sub-systems) 전체에 걸쳐 분산될 수 있다. 처리 회로의 실시예는 범용 중앙 처리 장치(general purpose central processing units), 애플리케이션 특정 프로세서(application specific processors), 및 로직 장치(logic devices), 임의의 또 다른 유형의 처리 장치뿐만 아니라 이들의 조합 또는 변형을 포함한다. 전력 소비 특성이 전력 문턱(410) 미만으로 유지되는 동안 저장 제어 시스템(414)은 처리량을 처리량 문턱을 초과하여 증가시키기 위하여 큐 깊이(440)를 증가시킬 수 있다. 선택적으로, 전력 소비 특성이 전력 문턱 미만으로 유지되는 동안 저장 제어 시스템(414)은 지연 시간(latency)를 지연 시간 문턱(latency threshold) 미만으로 낮추기 위하여 큐 깊이(440)를 감소시킬 수 있다. 저장 제어 시스템(414)은 샘플링 속도속도(sampling rate)를 구성할 수 있고, 측정 주기를 설정할 수 있고, 시간 기반 전력 측정(time-based power measurement) 및 트랜잭션 기반 전력 측정(transaction-based power measurement) 중에서 선택할 수 있다. 호스트 시스템(420)은 저장 제어 시스템(414)과 동일한 동작을 수행할 수 있다.
저장 매체(412)는 랜덤 액세스 메모리, 읽기 전용 메모리, 자기 디스크, 광 디스크, 플래시 메모리, 상 변화 메모리, 자기 테이프, 또는 이들의 조합 또는 변형을 포함하는 다른 저장 매체를 포함한다. 많은 실시예에서, 데이터 저장 장치(402)는, 읽기/쓰기 헤드(read/write head), 전기자, 광학 읽기/쓰기 소자, 서보, 프리앰프(preamp), 증폭기, 또는 이들의 조합을 포함하는 다른 부품 등과 같은, 저장 매체(412)의 읽기 및 쓰기를 위한 다양한 기계적, 전기적, 전기기계적 부품을 포함한다.
전력 측정 시스템(418)은 적어도 데이터 저장 장치(402)에 의한 전력 사용(power usage)을 측정한다. 전력 측정 시스템은, 특정된 시간 주기 동안 또는 데이터 저장 장치(402)의 트랜잭션 당, 전력 측정을 순간적으로 수행할 수 있다. 데이터 저장 장치(402) 내 전력 측정 시스템(418)의 동작은 호스트 시스템(420)에 의하여 제어될 수 있다. 전력 측정 시스템은, 전력 측정 시스템(418) 설정에 관하여 계속해서 주기적으로 호스트 시스템(420)과 통신할 수 있다.
호스트 시스템(420)은 프로세서(424) 및 메모리(426)을 포함한다. 호스트 시스템(420)은 전산 및 네트워크 시스템, 예컨대, 개인용 컴퓨터, 서버, 클라우드 저장 시스템, 패킷 네트워크, 관리 시스템 또는 이들의 조합 및 변형을 포함하는 다른 전산 및 네트워크 시스템을 하나 이상 포함할 수 있다. 동작 시에, 호스트 시스템(420)은 읽기 및 쓰기 명령을 링크(430)를 통해 데이터 저장 장치(402)로 발행한다. 일부 실시예에서, 호스트 시스템(420)은 데이터 저장 장치(402)로 명령을 발행한다. 예컨대, 호스트 시스템(420)은 전력 측정 시스템(418)을 동작 가능하게 하거나 동작 불가능하게 하고, 전력 측정 시스템(418)에 측정 명령을 발행한다. 호스트 시스템(420)은 또한 전력 제어 모드로 진입하도록 데이터 저장 장치에 명령할 수 있다. 호스트 시스템(420)은 또한 데이터 저장 장치(402)를 위한 원하는 전력 소비 특성을 설정하기 위하여 큐 깊이(440)를 조정할 수 있다. 호스트 시스템(420)은 전력 문턱(410) 및/또는 큐 깊이(440)를 데이터 저장 장치(402)로 전송한다. 호스트 시스템은 샘플링 속도를 구성하고, 측정 주기를 설정하고, 시간 기반 전력 측정 및 트랜잭션 기반 전력 측정 중에서 선택한다.
프로세서(424)는 하나 이상의 마이크로프로세서 및 메모리로부터 펌웨어를 검색하고 실행하는 다른 회로를 포함한다. 처리 회로는 단일 처리 장치 내에서 실행될 수도 있지만, 또한 다중 처리 장치 또는 프로그램 명령어를 실행하는데 협력하는 서브 시스템 전체에 걸쳐 분산될 수 있다. 처리 회로의 실시예는 범용 중앙처리장치, 어플리케이션 특정 프로세서, 및 로직 장치, 임의의 다른 유형의 처리 장치뿐만 아니라 이들의 조합 또는 변형을 포함한다.
메모리(426)는 파일 시스템(428)을 포함한다. 메모리(426)의 실시예는, 랜덤 액세스 메모리, 읽기 전용 메모리, 자기 디스크, 광 디스크, 플래시 메모리, 가상 메모리 및 비가상 메모리, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 혹은 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 명령어 실행 시스템에 의하여 접속될 수 있는 임의의 다른 매체, 또는 이들의 임의의 조합이나 변형뿐만 아니라 임의의 다른 유형의 저장 매체를 포함한다.
파일 시스템(428)은 디스크 파일 시스템, 광 디스크 파일 시스템, 플래시 파일 시스템, 테이프 파일 시스템, 트랜잭셔널 파일 시스템(transactional file system), 네트워크 된 파일 시스템(networked file system), 공유된 디스크 파일 시스템(shared disk file system), 장치 파일 시스템(device file systems) 및 다른 파일 시스템일 수 있다. 디스크 파일 시스템은 파일 할당 테이블(FAT)(FAT12, FAT16, FAT32), 확장 FAT(exFAT), NT 파일 시스템(NTFS), 계층적 파일 시스템(HFS), 계층적 파일 시스템 플러스(HFS+), 고성능 파일 시스템(HPFS), 유닉스 파일 시스템(UFS), 2차 확장 파일 시스템(ext2), 4차 확장 파일 시스템(ext4), XFS, 비트리 파일 시스템(btrfs), ISO 9660, Files-11, 베리타 파일 시스템(Verita File System), VMFS, ZFS, ReiserFS, UDF 또는 다른 파일 시스템을 포함할 수 있다. 광 디스크 파일 시스템은 ISO 9660, UDF, 마운트 레이니어(Mount Rainier) 또는 어떤 다른 광 디스크 파일 시스템을 포함할 수 있다. 테이프 파일 시스템은 IBM 리니어 테이프 파일 시스템 - 싱글 드라이브 에디션(IBM LTFS-SDE; Linear Tape File System - Single Drive Edition) 또는 다른 테이프 파일 시스템을 포함할 수 있다. 트랜잭셔널 파일 시스템은, 트랜잭셔널 NTFS, 발로르(Valor), 아미노(Amino), LFS, 트랜잭셔널 ext3, 또는 다른 트랜잭셔널 파일 시스템을 포함할 수 있다. 네트워크 된 파일 시스템의 일부 실시예는, NFS, AFS, SMD 프로토콜을 위한 클라이언트, 그리고 FTP 프로토콜 및 WEBDAV 프로토콜을 위한 유사 파일 시스템 클라이언트(file-system-like client)를 포함할 수 있다. 공유 디스크 파일 시스템(shared disk file systems)의 일부 실시예는, GFS2, GPFS, SFS, CXFS, StorNext 또는 몇몇의 다른 공유 디스크 파일 시스템을 포함한다.
전력 문턱(410)은 데이터 저장 장치(402)에 관하여 허용가능한 최대 또는 최소 전력 소비 특성(power consumption characteristics)을 나타낸다. 전력 문턱(410)은 전력 소비 문턱값을 와트(Watt)로 명시하거나 또는 전력이나 에너지 소비의 다른 단위로 명시한다. 전력 문턱(410)은 시간 또는 트랜잭션 기반으로 전력 소비를 제한할 수 있다. 예컨대, 전력 문턱(410)은 데이터 저장 장치(402)가 특정 주기의 시간 동안에만 피크 전력량을 사용할 수 있도록 특정할 수 있다. 대안적으로, 전력 문턱(410)은 데이터 저장 장치(402)가 트랜잭션 당 특정 양의 전력으로 전력 소비를 제한하도록 특정할 수 있다. 전력 문턱(410)은 연속적으로 변수(variable) 또는 상수(constant)일수 있다.
큐 깊이(440)는 데이터 저장 장치(402)의 원하는 전력 소비 특성을 설정하도록 조정될 수 있다. 데이터 저장 장치(402)는 전력 제어 모드로 진입하고, 반응적으로 전력 소비 특성을 전력 문턱(410) 미만으로 설정하기 위하여 적어도 큐 깊이(440)를 조정한다. 전력 제어 모드는 처리량 모드 및 지연 시간 모드를 포함한다. 전력 소비 특성이 전력 문턱 미만으로 유지되는 동안 처리량 전력 제어 모드는, 처리량 문턱을 초과하는 높은 처리량이 가능하도록 큐 깊이(440)를 증가시킨다. 전력 소비 특성이 전력 소비 문턱 미만으로 유지되는 동안지연 시간 전력 제어 모드는 지연 시간을 지연 시간 문턱 미만으로 낮추기 위하여 큐 깊이(440)를 감소시킬 수 있다.
도 4에는 비록 단일 링크가 도시되어 있지만, 링크(430)은 하나 이상의 링크를 포함할 수 있다. 링크는 시리얼 어태치드 ATA(SATA; Serial Attached ATA), 시리얼 어태치드 SCSI(SAS; Serial Attached SCSI), 파이버 채널(FiberChannel), 범용 직렬 버스(USB; Universal Serial Bus), SCSI, 인피니밴드(InfiniBand), 고속 병렬 상호연결(PCIe; Peripheral Component Interconnect Express), 이더넷, 인터넷 프로토콜 또는 이들의 변형 및 조합을 포함하는 또 다른 병렬이나 직렬 스토리지 또는 주변장치 인터페이스와 같은, 임의의 스토리지 또는 디스크 인터페이스를 포함할 수 있다.
도 5는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 전력 제어 모드의 일 실시예를 도시한 것이다. 데이터 저장 장치(402)는 동작 모드에 기초한 다른 전력 소비 특성을 가진다. 큐(416)의 조작은 전력 제어 모드를 포함하는 다른 동작모드를 생성할 수 있다. 전력 제어 모드의 일부 실시예는 처리량 모드와 지연 시간 모드를 포함한다. 예컨대, 큐 깊이(440)를 증가시키면 지연 시간 수행의 희생으로 데이터 저장 장치(402)의 처리량 수행이 개선될 것이다. 대안적으로, 큐 깊이(440)를 감소시키면 처리량 수행의 희생으로 데이터 저장 장치(402)의 지연 시간이 개선될 것이다. 이들 전력 제어 모드는, 데이터 저장 장치(402)가 전력 문턱(410)보다 더 많은 전력을 소비하지 않도록, 데이터 저장 장치(402)의 전력 소비 특성을 조정하는 데 이용될 수 있다.
도 5는 큐(416)와 공조하는 데이터 저장 장치(402)의 정상 동작 모드에 대한 도면을 포함한다. 본 실시예에서, 데이터 저장 장치(102)는 하드 디스크 드라이브이다. 비록 도시되지는 않았지만 하드 디스크 드라이브는 전형적으로 읽기/쓰기 헤드를 유지하는 전기자를 움직이기 위한 서보를 포함한다. 서보/전기자 장치는 읽기/쓰기 헤드를 저장 매체(412)의 표면을 가로질러 다른 각위치(angular positions)로 위치시킬 때에 전력을 소비한다.
정상 동작 모드에서 읽기/쓰기 헤드는 초기 위치 "A"에서 출발하여 두번째 위치인 "B"에 닿도록 제1 방향으로 이동해야 하고, 그러고 나서 세번째 위치인 "C"에 닿도록 반대방향으로 움직인다. 읽기/쓰기 헤드의 위치는, 시간의 측면에서 효율적으로 제어되지 않으며 필요량보다 더 많은 전력을 사용한다는 점에 주목하라. 큐(416)는 저장 매체(112)나 호스트 시스템(120)에 의하여 더욱 효율적인 읽기/쓰기 헤드의 위치지정을 위한 조작이 가능할 정도의 충분한 깊이를 가지지 않는다. 따라서 전력 소비 특성은 큐 깊이(440)와 관련되어 있다.
도 5는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 데이터 저장 장치(402)의 처리량 모드에 대한 도면을 포함한다. 처리량 모드는 큐 깊이(440)를 증가시킴으로써 성취된다. 도 5의 처리량 모드에 도시된 바와 같이, 큐 깊이(440)가 충분히 깊을 때에 더 효율적인 읽기-쓰기 시간을 위한 대기 요청(pending requests)이 조직될 수 있다. 큐 깊이(440)를 증가시키는 것은, 더욱 효율적인 읽기/쓰기 헤드 위치지정을 위하여 대기 요청이 큐(416) 이내로 조직되는 것을 허용한다. 동일한 요청이 정상 동작 모드에서 보다 처리량 모드에서 더 빨리 다루어지는 것을 주목하라. 만약정상 동작 모드에서처럼 큐(416) 깊이가 얕다면, 저장 제어 시스템(414) 또는 호스트 시스템(120)은, 처리량 모드에 관한 효율적인 순서로 대기 요청을 배열하기 위한 리소스(resources)를 가지지 못했을 것이다. 큐(416)는 정상 동작 모드와 유사한 모드로 강제로 동작했을 것이다.
도 5는 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 데이터 저장 장치(402)의 지연 시간 모드를 도시한다. 지연 시간은 읽기/쓰기 헤드에 의해 저장 매체(112)로부터 읽거나 저장 매체(112)에 쓸 때까지 트랜잭션이 큐(416) 안에 저장된 시간을 포함할 수 있다. 읽기 지연 시간(read latency)은 호스트 시스템(420)에 의하여 읽기 명령이 발행된 시간 및 그 읽기에 반응하여 호스트 시스템으로 데이터가 복귀하는데 걸리는 시간으로 구성된다. 쓰기 지연 시간(write latency)는, 그 종료점(end point)이 데이터를 저장 매체(112)에 쓰기 헤드로 기록하는 것이라는 점과 쓰기 완료를 나타내는 신호를 제외하고는 유사하다. 큰 값의 큐 깊이(440)는 지연 시간을 증가시키는데, 이는 읽기/쓰기 명령이 큐(416) 안의 대기 요청이 종료될 때까지 기다려야 하기 때문이다. 만약 데이터 저장 장치(102) 또는 호스트 시스템(120)에서 소규모의 작은 값의 큐 깊이(440)가 설정되면 지연 시간은 감소될 것인데, 이는 저장 제어 시스템(414) 또는 호스트 시스템(420)이 많은 수의 대기 요청이 종료될 때까지 기다릴 필요가 없기 때문이다.
도 6은 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템(400)의 동작 방법을 도시한 것이다. 그 동작은 데이터 저장 장치(402) 또는 호스트 시스템(420)이 서로 독립적으로 수행하거나 데이터 저장 장치(402) 또는 호스트 시스템(420)이 동시에 수행할 수 있다. 도 6의 동작을 이하에서 추가적으로 설명한다.
도 6의 제1 실시예에서는, 상기한 바와 같이 비록 도 6의 동작방식이 호스트 시스템(120)에 의해 수행될 수 있다는 것이 이해되어야 하지만, 데이터 저장 장치(402)가 도 6의 동작방식을 수행한다. 데이터 저장 장치(402)는 데이터 저장 장치(402)에 관한 전력 문턱(410)을 식별한다(602). 전력 문턱(410)은 데이터 저장 장치(402)에 관하여 허용가능한 최대 또는 최소 전력 소비 특성을 나타낸다. 전력 문턱(410)은 전력 소비 문턱값을 와트(Watt)로 명시하거나 또는 전력이나 에너지 소비의 다른 단위로 명시한다. 데이터 저장 장치(402)는 샘플링 속도를 구성하고, 측정 주기를 설정하고, 전력 소비 특성을 결정하기 위하여 시간 기반 또는 트랜잭션 기반 전력 측정 중에서 선택한다(604). 전력 소비 특성은 다양한 방법을 사용해 측정될 수 있다. 데이터 저장 장치(402) 및 호스트 시스템(420) 모두 샘플링 속도를 구성할 수 있고, 측정 주기를 설정할 수 있고, 전력 측정에 걸쳐 높은 정도의 유연성 및 제어를 제공하는 시간 기반 또는 트랜잭션 기반 전력 측정 중에서 선택할 수 있다. 일부 실시예에서, 데이터 저장 장치(402)는 전력 측정 시스템(418)을 포함한다. 데이터 저장 장치(402)는 전력 측정 시스템(418)으로부터 데이터 저장 장치(402)를 위한 전력 소비 특성을 결정한다(606). 전력 소비 특성은 다양한 방식으로 정의될 수 있다. 예컨대, 전력 소비 특성은 데이터 저장 장치(402)에 관한 시간단위 당 또는 트랜잭션 당 최대 허용가능한 전력 소비를 가리킬 수 있다. 전력 소비 특성을 전력 문턱(410) 미만으로 설정하기 위하여 데이터 저장 장치(402)에 관한 전력 제어 모드로 진입한다(608). 전력 제어 모드는 데이터 저장 장치(402)에 관한 동작 모드로서, 큐 깊이(440)를 제어함으로써 데이터 저장 장치(402)의 전력 소비 특성을 정교하게 제어할 수 있도록 한다.
처리량 모드 및 지연 시간 모드는 두 개의 성과지향 모드(performance-oriented modes)로서, 전력이 제어되는 동안 저장 장치가 동작할 수 있다. 이들 모드를 이하에서 설명한다. 처리량 모드에서 저장 제어 시스템(414) 또는 호스트 시스템(420)은, 전력 소비 특성이 전력 문턱 미만으로 유지되는 동안 처리량 문턱을 초과하여 처리량을 증가시키기 위하여 최대 큐 깊이(440)를 할애한다(610). 지연 시간 모드에서 저장 제어 시스템(414) 또는 호스트 시스템(420)은, 전력 소비 특성이 전력 문턱 미만으로 유지되는 동안 지연 시간 문턱 미만으로 지연 시간을 낮추기 위하여 큐 깊이(440)를 감소시킨다(612). 데이터 저장 장치(402) 및 호스트 시스템(420)은, 데이터 저장 장치(402)의 원하는 전력 소비 특성을 달성하기 위하여 처리량 모드 및 지연 시간 모드를 하나씩 교대로 동작할 수 있다. 저장 제어 시스템(414) 또는 호스트 시스템(420)은 실제 전력 소비 특성과 목표 전력 소비 특성 간의 차이에 비례하여 순응적으로 큐 깊이(440)를 조정한다(614). 호스트 시스템(420) 및 데이터 저장 장치(402) 간에 전력 미터 설정 및 피드백의 통신이 이루어진다(616). 데이터 저장 장치(402)는 호스트 시스템(420)에 전력 소비 특성을 제공한다. 호스트 시스템(420)에 의하여 전력 측정 시스템(418)의 동작을 제어한다(618). 전력 측정 시스템(418)은 호스트 시스템으로부터 명령을 받아들이도록 구성된다. 단일 큐 깊이 대신에 큐 이내의 치수 범위(size ranges)를 설정하는 것 역시 가능하다.
도 7은 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 하드 디스크 드라이브(702)를 도시한 것이다. 비록 데이터 저장 장치(102) 및 데이터 저장 장치(402)는 대체가능한 구성 및 동작 방법을 가질 수 있지만, 하드 디스크 드라이브(702)는 데이터 저장 장치(102) 및 데이터 저장 장치(402)의 일 실시예이다. 하드 디스크 드라이브(702)는 저장 매체 (712), 큐 (716), 전력 측정 시스템 (718)을 포함한다. 저장 매체(712)는 일련의 식별자인 ID 1 내지 ID 6으로 쓰여져 있다. 동작 시에, 하드 디스크 드라이브(702)의 전력 소비 특성은, 호스트 시스템으로부터의 비동기 요청에 응답하여 (ID 1 내지 ID 6으로 표현된) 일련의 식별자를 저장 매체(712) 상에 미리 정해진 위치에 기록하고, 관련 전력 소비를 측정함으로써 결정될 수 있다.
도 8은 데이터 저장 장치 내 성능 인식 전력 상한 제한을 위한 저장 시스템(800)을 도시한 것이다. 비록 저장 시스템(100) 및 저장 시스템(400)은 대체가능한 구성 및 동작 방법을 가질 수 있지만, 저장 시스템(800)은 저장 시스템(100) 및 저장 시스템(400)의 일 실시예이다. 저장 시스템(800)은 데이터 저장 장치(802), 파일 시스템(804) 및 블록 I/O 스케줄러(block I/O scheduler)(806)를 포함한다. 데이터 저장 장치(802)는 하드 디스크 드라이브, 솔리드 스테이트 저장 드라이브, 플래시 메모리 드라이브 또는 이들의 조합이나 변형을 포함하는 일부 다른 유형의 데이터 저장 장치일 수 있다.
파일 시스템(802)은 디스크 파일 시스템, 광 디스크 파일 시스템, 플래시 파일 시스템, 테이프 파일 시스템, 트랜잭셔널 파일 시스템, 네트워크 된 파일 시스템(networked file system), 공유된 디스크 파일 시스템(shared disk file system), 장치 파일 시스템 및 다른 파일 시스템일 수 있다. 디스크 파일 시스템은 파일 할당 테이블(FAT)(FAT12, FAT16, FAT32), 확장 FAT(exFAT), NT 파일 시스템(NTFS), 계층적 파일 시스템(HFS), 계층적 파일 시스템 플러스(HFS+), 고성능 파일 시스템(HPFS), 유닉스 파일 시스템(UFS), 2차 확장 파일 시스템(ext2), 4차 확장 파일 시스템(ext4), XFS, 비트리 파일 시스템(btrfs), ISO 9660, Files-11, 베리타 파일 시스템(Verita File System), VMFS, ZFS, ReiserFS, UDF 또는 다른 파일 시스템을 포함할 수 있다. 광 디스크 파일 시스템은 ISO 9660, UDF, 마운트 레이니어(Mount Rainier) 또는 어떤 다른 광 디스크 파일 시스템을 포함할 수 있다. 테이프 파일 시스템은 IBM 리니어 테이프 파일 시스템 - 싱글 드라이브 에디션(IBM LTFS-SDE; Linear Tape File System - Single Drive Edition) 또는 다른 테이프 파일 시스템을 포함할 수 있다. 트랜잭셔널 파일 시스템은, 트랜잭셔널 NTFS, 발로르(Valor), 아미노(Amino), LFS, 트랜잭셔널 ext3, 또는 다른 트랜잭셔널 파일 시스템을 포함할 수 있다. 네트워크 된 파일 시스템의 일부 실시예는, NFS, AFS, SMD 프로토콜에 관한 클라이언트, 그리고 FTP 프로토콜 및 WEBDAV 프로토콜에 관한 유사 파일 시스템 클라이언트(file-system-like client)를 포함할 수 있다. 공유 디스크 파일 시스템(shared disk file systems)의 일부 실시예는, GFS2, GPFS, SFS, CXFS, StorNext 또는 몇몇의 다른 공유 디스크 파일 시스템을 포함한다. 파일 시스템(804)은 전력 상한 제한 블록 I/O 인터페이스(power cap block I/O interface module)(808)를 포함한다.
전력 상한 제한 블록 I/O 인터페이스(808)는 전력 상한 제한 모니터 (812), 수행 모니터 (814), 및 I/O 실행 제어부(I/O execution control)(816)를 포함한다. 수행 모니터(814)는 I/O 실행 제어부(816) 및 전력 상한 제한 모니터(812)와 통신한다. 동작 시에, 전력 상한 제한 모니터(812)는 전력 문턱(810)을 식별하고 전력 문턱(810)을 수행 모니터(814)로 전송한다. 수행 모니터(814)는 전력 문턱(810)을 기초로 데이터 저장 장치(802)에 관한 전력 제어 모드를 선택하고 수행한다. 수행 모니터(814)는 I/O 실행 제어부(816)로 명령을 보낸다. I/O 실행 제어부(816)는 시스템 동작에 있어서 정교한 조정이 가능하도록 전력 상한 제한 모니터(812) 및 수행 모니터(814)에 피드백을 제공한다.
I/O 실행 제어부(816)는 수행 모니터(814)로부터 수신한 명령을 기초로 블록 I/O 요청(818)을 제어한다. I/O 실행 제어부(816)는 블록 I/O 요청(818)의 정교한 조정이 가능하도록 수행 모니터(814) 및 전력 상한 제한 모니터(812)에 피드백을 전송한다. I/O 실행 제어부(816)는 블록 I/O 스케줄러(806)에 명령하여 큐 깊이를 조정하고 블록 I/O 요청을 최적화한다. 블록 I/O 스케줄러(806)는 명령 및 데이터를 데이터 저장 장치(802)에 전송한다. 데이터 저장 장치(802)는 전력 상한 제한 모듈에 피드백 정보를 제공한다.
도 9는, 여기서 개시된 다양한 동작 구조(operational architectures), 시나리오 및 처리가 실현될 수 있는 임의의 시스템 또는 시스템 집합체의 대표적인 전산 시스템(902)을 도시한다. 저장 제어 시스템(114), 호스트 시스템(120), 저장 제어 시스템(414), 및 호스트 시스템(420)은 전산 시스템(902)의 실시예이지만, 이러한 실시예는 대체가능한 구성 및 작동방식을 가질 수 있다. 전산 시스템(902)의 실시예는, 스마트폰, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터, 하이브리드 컴퓨터, 게임기, 가상 머신, 스마트 텔레비전, 및 시계 그리고 다른 착용형 장치와 이들의 임의의 변형이나 조합을 포함하되, 다만 이에 한정되는 것은 아니다.다른 실시예는 서버 컴퓨터,랙 서버,웹 서버,클라우드 컴퓨터 플랫폼,및 데이터 센터 장비뿐만 아니라 다른 유형의 물리적인 또는 가상의 서버 기계 및 이들의 임의의 변형 또는 조합을 포함한다.
전산 시스템(902)은 단일 장비, 단일 시스템, 또는 단일 장치로서 구현되거나, 다수의 장비, 다수의 시스템, 또는 다수의 장치와 같이 분산된 방식으로 구현될 수 있다. 전산 시스템(902)은 통신 트랜시버(communication transceiver)(901) 및 처리 시스템 (903)을 포함한다. 처리 시스템(903)은 처리 회로(905) 및 메모리 시스템(906)을 포함한다. 메모리 시스템은 처리량 모드(908), 지연 시간 모드(909) 및 전력 소비 모듈(910)을 포함하는 소프트웨어(907)를 포함한다.
처리 시스템(903)은 메모리 시스템(906)으로부터 소프트웨어(907)를 로딩하여 처리 회로(905) 내에서 실행시킨다. 데이터 저장 장치의 성능 인식 전력 상한 제한을 위한 처리 회로(905)에 의해 실행될 때, 소프트웨어(907)는 처리 회로(905)에 지시하여, 앞서 데이터 저장 장치의 성능 인식 전력 상한 제한을 가진 구현예에서의 적어도 다양한 처리, 동작 시나리오 및 시퀀스와 관련하여 여기서 설명된 바와 같이 동작하도록 한다. 전산 시스템(902)은 부가적인 장치, 특성 또는 기능을 선택적으로 포함할 수 있지만 간결함을 위해 논의하지 않는다.
처리 회로(905)는 마이크로프로세서 및 메모리 시스템(906)으로부터 소프트웨어(907)을 검색하여 실행하는 다른 회로를 포함할 수 있다. 처리 회로(905)는 단일 처리 장치 내에 구현될 수 있으나, 또한 프로그램 명령어 실행을 협력하는 다수의 서브 시스템 또는 처리 장치 전체에 걸쳐 분산되어 구현될 수도 있다. 처리 회로(905)의 실시예는 범용 중앙처리장치(general purpose central processing units), 애플리케이션 특정 프로세서(application specific processors), 및 로직 장치, 임의의 다른 유형의 처리 장치뿐만 아니라 이들의 조합 또는 변형을 포함한다.
메모리 시스템(906)은 처리 회로(905)가 읽을 수 있고 소프트웨어(907)를 저장할 수 있는 임의의 비일시적 컴퓨터 판독 가능한 저장매체(non-transitory computer readable storage media)를 포함할 수 있다. 메모리 시스템(906)은 휘발성 또는 비휘발성의, 제거가능하거나 제거가능하지 않은 매체를 포함할 수 있는데, 이들 매체는 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위하여 임의의 방법이나 기술로서 구현된 매체이다. 저장 매체의 실시예는, 랜덤 액세스 메모리, 읽기 전용 메모리, 자기 디스크, 광 디스크, 플래시 메모리, 가상 메모리, 비가상 메모리, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 혹은 다른 자기 저장 장치, 또는 임의의 다른 적절한 저장 매체를 포함한다.
컴퓨터 판독가능한 저장 매체에 부가하여, 일부 실시예에서 메모리 시스템(906)은 또한 소프트웨어(907)와 내부적으로 또는 외부적으로 통신할 수 있는 컴퓨터 판독가능한 통신 매체(computer readable communication media)를 포함할 수 있다. 메모리 시스템(906)은 단일 저장 장치(single storage device)로서 구현될 수 있으나, 또한 다수의 저장 장치 또는 함께 위치하거나 서로간에 연관되어 분배된 서브 시스템의 전체에 걸쳐 나누어져 구현될 수도 있다. 메모리 시스템(906)은 처리 시스템(903) 또는 다른 가능한 시스템과 통신할 수 있는 제어기와 같은 부가적인 요소를 포함할 수 있다.
소프트웨어(907)는 프로그램 명령어 및 다른 가능한 함수로 구현될 수 있고, 처리 시스템(903)에 의해 실행될 때, 처리 시스템(903)에 지시하여 여기서 설명된 다양한 동작 시나리오, 시퀀스 및 처리과정에 관하여 기재된 바와 같이 동작하도록 한다. 예컨대, 소프트웨어(907)는 코드 서비스 및 그와 관련된 기능을 구현하기 위한 프로그램 명령어를 포함할 수 있다.
특히, 프로그램 명령어는, 여기서 설명된 다양한 처리과정 및 동작시나리오를 수행하는데 협력하거나 상호작용하는 다양한 컴포넌트 또는 모듈을 포함할 수 있다. 다양한 컴포넌트 또는 모듈은 컴파일 된 명령어 또는 해독된 명령어로 구현되거나, 명령어의 일부 다른 변형이나 조합으로 구현될 수 있다. 다양한 컴포넌트 또는 모듈은, 동기 또는 비동기 방식으로, 직렬 또는 병렬로, 단일 스레드 환경(single threaded environment) 또는 멀티 스레드 환경(multi-threaded environment)에서, 임의의 다른 적절한 실행 패러다임(execution paradigm)에 따라, 또는 이들의 변형 또는 조합에 따라 실행될 수 있다. 소프트웨어(907)는 운영 시스템 소프트웨어 또는 다른 어플리케이션 소프트웨어 등과 같은, 부가적인 프로세스, 프로그램 또는 컴포넌트를 포함할 수 있다. 소프트웨어(907)는 또한 펌웨어 또는 처리 시스템(903)에 의하여 실행될 수 있는 일부 다른 형식의 기계판독 가능한 처리 명령어(machine-readable processing instructions)를 포함할 수 있다.
일반적으로 소프트웨어(907)는, 처리 시스템(903)에 로딩되고 처리 회로(905)에 의해 실행될 때, (전산 시스템(902)으로 대표되는) 적절한 장비, 시스템 또는 장치를, 대체로 범용 컴퓨터 시스템(으로부터,컴포넌트 상호운용성의 향상이 가능하도록 특화된 특정 목적의 컴퓨터 시스템(special-purpose computer system)으로 변환시킬 수 있다. 실제로, 메모리 시스템(906) 상의 소프트웨어(907)를 인코딩하는 것은 메모리 시스템(906)의 물리적 구조를 변환시킬 수 있다. 물리적 구조의 특정 변환은 본 설명의 다른 구현예에서의 다양한 요인에 의존할 수 있다. 그러한 요인의 실시예는, 메모리 시스템(906)의 저장 매체 구현에 사용된 기술, 그리고 그 컴퓨터 저장 매체가 일차적 저장소 또는 이차적 저장소 중 어느 쪽으로 특성화 되었는지 여부, 및 다른 요인들을 포함하는데, 다만 이에 한정되는 것은 아니다.
예컨대, 만약 컴퓨터 판독가능한 저장 매체가 반도체 기반 메모리로서 구현되면, 소프트웨어(907)는 반도체 메모리의 물리적 상태를 변환시킬 수 있으며, 이는 프로그램 명령어가 그 안에서 인코딩될 때, 예컨대 반도체 메모리를 구성하는 트랜지스터, 커패시터, 또는 다른 개별 회로 소자의 상태를 변환시킴으로써 이루어진다. 유사한 변환이 자기 매체 또는 광 매체에 관하여 이루어질 수 있다. 현재 설명의 범위를 벗어남이 없이 단지 현재 논의를 용이하게 할 수 있도록 제공된 앞선 실시예를 가지고 물리적 매체의 다른 변환이 가능하다.
전산 시스템(902)은 일반적으로 전산 시스템, 또는 컴포넌트의 상호운영성 강화를 구현하기 위하여 소프트웨어(907)가 배치되고 실행될 수 있는 시스템을 나타내기 위한 것임을 이해하여야 한다. 그러나 전산 시스템(902)은 또한, 소프트웨어(907)가 로딩되고 거기에서 하나 또는 양쪽 모두 분배되거나, 전송되거나, 다운로드 되거나, 그렇지 않으면 배치 및 실행 또는 다른 부가적인 분배를 위하여 다른 전산 시스템에 제공되거나 할 수 있는, 임의의 전산 시스템으로서도 적절할 수 있다.
적어도 하나의 구현예에서, 프로그램 명령어는 처리량 모드 모듈(908), 지연 시간 모드 모듈(909) 및 전력 소비 모듈(910)을 포함할 수 있다. 처리량 모드 모듈(908)은, 원하는 처리량 속도를 유지하는 동안 스토리지 드라이브의 전력 소비를 상한 제한하도록 스토리지 드라이브의 큐 깊이를 설정하는 것을 포함한다. 지연 시간 모드 모듈(909)은 스토리지 드라이브에 저장된 데이터에 관한 원하는 읽기/쓰기 지연 시간을 유지하는 동안 스토리지 드라이브의 전력 소비를 상한 제한하도록 스토리지 드라이브의 큐 깊이를 설정하는 것을 포함한다. 전력 소비 모듈(910)은 스토리지 드라이브의 전력 소비를 측정하고 모니터링한다. 전력소비 모듈(910)은 스토리지 드라이브 상에 구현된 전력 모니터링 회로와 같은 외부 시스템으로부터 전력 측정 데이터(power measurement data)를 수신할 수 있다. 전력 측정 데이터는 스토리지 드라이브의 현재 전력 소비에 대한 디지털화된 표현을 포함할 수 있다. 전력 소비 모듈(910)은 통신 트랜시버(communication transceiver)(901)를 통해 전력 측정 데이터를 수신할 수 있다. 스토리지 드라이브의 동작에 있어 처리량 모드 또는 지연시간 모드를 설정하는 큐 깊이를 결정하는데 사용하기 위하여, 전력 소비 모듈(910)은 전력 측정 데이터를 임의의 처리량 모드(908), 지연 시간 모드(909)로 전송한다.
통신 트랜시버(901)는, 통신 네트워크(도시되지 않음)를 통하여 다른 전산 시스템(도시되지 않음)과 통신할 수 있도록 하는, 통신 연결 및 통신 장치를 포함할 수 있다. 시스템 간의 통신을 함께 가능하게 하는 연결 및 장치의 실시예는, 네트워크 인터페이스 카드, 안테나, 전력 증폭기, RF 회로, 트랜시버 및 다른 통신 회로를 포함할 수 있다. 다른 전산 시스템 또는 시스템 네트워크와의 통신 교류를 위하여, 연결 및 장치는 통신 매체, 예컨대, 금속, 유리, 공기, 또는 임의의 다른 적절한 통신 매체를 통하여 통신할 수 있다. 전술한 매체, 연결 및 장치는 잘 알려진 것으로서 여기서 상세히 설명될 필요는 없다.
사용자 인터페이스 시스템(user interface system)(911)은 선택적인 것으로서, 키보드, 마우스, 음성 입력 장치, 사용자의 터치 행위를 수신하기 위한 터치 입력 장치(touch input device), 사용자의 비-터치 행위 및 다른 모션(motion)을 탐지하기 위한 모션 입력 장치, 및 다른 유사한 입력 장치 및 사용자로부터 사용자 입력을 수신할 수 있는 관련 처리 부품을 포함할 수 있다. 출력 장치, 예컨대 디스플레이, 스피커, 촉각 장치(haptic device), 및 다른 유형의 출력 장치들 또한 사용자 인터페이스 시스템(911)에 포함될 수 있다. 일부 경우에서는, 입력 및 출력 장치가, 예컨대 이미지의 디스플레이 및 터치 행위의 수신이 가능한 디스플레이와 같은 단일 장치 내에 결합될 수 있다. 전술한 사용자 입력 및 출력 장치는 당해 기술분야에서 잘 알려진 것으로서 여기서 상세히 설명될 필요는 없다.
또한 사용자 인터페이스 시스템(911)은 상기한 다양한 사용자 입출력 장치를 지원하는 처리 회로(905)에 의해 실행될 수 있는 관련 사용자 인터페이스 소프트웨어를 포함할 수 있다. 사용자 인터페이스 소프트웨어 및 사용자 인터페이스 장치는, 개별적으로 또는 협력하여, 그리고 다른 하드웨어 및 소프트웨어 요소와 함께 그래픽 사용자 인터페이스, 자연스러운 사용자 인터페이스(natural user interface) 또는 임의의 다른 유형의 사용자 인터페이스를 지원할 수 있다.
전산 시스템(902) 및 (도시되지 않은) 다른 전산 시스템 간의 통신은 통신 네트워크 또는 네트워크들을 통해 이루어질 수 있고, 또한 다양한 통신 프로토콜이나 그 조합 또는 변형된 프로토콜에 따라 이루어질 수 있다. 실시예는 인트라넷(intranet), 인터네트워크(internets), 인터넷(Internet), 근거리 통신망, 광역 통신망, 무선 네트워크, 유선 네트워크, 가상 네트워크, 소프트웨어 정의 네트워크(software defined networks), 데이터 센터 버스(data center bus), 전산 백플레인(computing backplane), 또는 임의의 다른 유형의 네트워크, 네트워크의 조합이나 변형을 포함한다. 전술한 통신 네트워크 및 프로토콜은 잘 알려진 것으로서 여기서 상세히 설명될 필요는 없다. 그러나 일부 사용될 수 있는 통신 프로토콜로서는, 인터넷 프로토콜(IP, IPv4, IPv6 등), 전송 제어 프로토콜(TCP; transfer control protocol), 사용자 데이터그램 프로토콜(UDP; user datagram protocol), 임의의 다른 적절한 통신 프로토콜, 이들의 변형이나 조합을 포함하되, 다만 이에 한정되는 것은 아니다.
데이터, 콘텐츠, 또는 임의의 다른 유형의 정보의 교환에 관하여 전술한 임의의 실시예에서, 정보의 교환은 임의의 다양한 프로토콜에 따라 이루어 질 수 있는데, 이들 프로토콜에는 파일 전송 프로토콜(FTP; file transfer protocol), 하이퍼텍스트 전송 프로토콜(HTTP; hypertext transfer protocol), REST (representational state transfer), 웹소켓(WebSocket), 문서 객체 모델(DOM; Document Object Model), 하이퍼텍스트 마크업 랭귀지(HTML; hypertext markup language), 종속형 시트(CSS; cascading style sheets), HTML5, 확장성 마크업 랭귀지(XML; extensible markup language), 자바스크립트(JavaScript), 제이슨(JSON; JavaScript Object Notation), 및 아작스(AJAX; Asynchronous JavaScript and XML), 임의의 다른 적절한 프로토콜, 이들의 변형 및 조합이 포함된다.
본 명세서에 포함된 설명 및 도면은 당업자가 최상의 모드로 제작하고 사용하는 것을 알려주기 위해 특정 실시예를 나타내고 있다. 발명 원리를 알려주기 위한 목적에서, 일부 종래의 측면이 간단화되거나 생략되었다. 당업자는 본 발명의 범위 내에 있는 이들 실시예로부터 다양한 변형이 가능함을 알 수 있다. 당업자는 또한 상기한 특징이 다양한 방식으로 결합되어 다수의 실시예를 형성할 수 있음을 알 수 있다. 결과적으로, 본 발명은 상기한 특정 실시예로 한정되지 않고, 청구범위 및 그 균등물에 의해서만 한정된다.

Claims (20)

  1. 데이터 저장 장치의 전력 사용을 제어하기 위한 방법으로서,
    상기 데이터 저장 장치를 위한 전력 문턱을 식별하는 단계;
    호스트 시스템으로부터의 비동기 요청에 응답하여 일련의 식별자(set of identifiers)를 상기 데이터 저장 장치의 저장 매체 상의 미리 정해진 위치들에 기록(write)하고 상기 일련의 식별자를 기록하는 것과 관련된 전력 소비를 측정함으로써, 상기 데이터 저장 장치를 위한 전력 소비 특성을 결정하는 단계; 및
    상기 데이터 저장 장치를 위한 전력 제어 모드로 진입하고, 상기 데이터 저장 장치를 위한 상기 전력 문턱 미만으로 상기 전력 소비 특성을 설정하기 위하여 적어도 상기 데이터 저장 장치 내의 스토리지 트랜잭션 큐 깊이를 반응적으로 조정하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 전력 소비 특성이 상기 전력 문턱 미만으로 유지되는 동안 처리량 문턱을 초과하여 처리량을 증가시키기 위하여, 상기 데이터 저장 장치를 위한 최대 스토리지 트랜잭션 큐 깊이를 할당(dedicating)하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서,
    상기 전력 소비 특성이 상기 전력 문턱 미만으로 유지되는 동안 지연 시간 문턱 미만으로 지연 시간을 낮추기 위하여, 상기 스토리지 트랜잭션 큐 깊이를 감소시키는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    실제 전력 소비 특성과 목표 전력 소비 특성 간의 차이에 비례하여 순응적으로 상기 스토리지 트랜잭션 큐 깊이를 조정하는 단계를 더 포함하는, 방법.
  5. 제1항에 있어서,
    상기 데이터 저장 장치 내 전력 측정 시스템을 활용하여 전력 소비 특성을 측정하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 호스트 시스템에 전력 소비 특성을 전송하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서,
    전력 소비 특성을 결정하는 단계는, 샘플링 속도(sampling rate)를 구성하는 단계, 측정 주기를 설정하는 단계, 및 전력 측정 시스템에 관하여 시간기반 전력 측정과 트랜잭션기반 전력 측정 중에서 선택하는 단계 중 하나 이상의 단계를 더 포함하는, 방법.
  8. 제1항에 있어서,
    상기 호스트 시스템에 의하여 상기 데이터 저장 장치의 전력 측정 시스템의 동작을 제어하는 단계를 더 포함하는, 방법.
  9. 삭제
  10. 제1항에 있어서,
    큐 깊이 크기의 범위를 상기 스토리지 트랜잭션 큐 이내에서 식별하는 단계를 더 포함하는, 방법.
  11. 전력 소비를 제어하기 위한 데이터 저장 장치로서,
    상기 데이터 저장 장치의 전력 문턱을 식별하도록 구성된 저장 제어 시스템; 및
    호스트 시스템으로부터의 비동기 요청에 응답하여 일련의 식별자(set of identifiers)를 상기 데이터 저장 장치의 저장 매체 상의 미리 정해진 위치들에 기록(write)하고 상기 일련의 식별자를 기록하는 것과 관련된 전력 소비를 측정함으로써, 상기 데이터 저장 장치의 전력 소비 특성을 모니터링 하도록 구성된 전력 측정 시스템을 포함하고,
    상기 저장 제어 시스템은 또한, 상기 데이터 저장 장치를 위한 전력 제어 모드로 진입하고, 상기 데이터 저장 장치를 위한 상기 전력 문턱 미만으로 상기 전력 소비 특성을 설정하기 위하여 적어도 상기 데이터 저장 장치 내의 스토리지 트랜잭션 큐 깊이를 반응적으로 조정하도록 구성되는 것인,
    데이터 저장 장치.
  12. 제11항에 있어서,
    상기 저장 제어 시스템은 또한, 상기 전력 소비 특성이 상기 전력 문턱 미만으로 유지되는 동안 처리량 문턱을 초과하여 처리량을 증가시키기 위하여, 상기 데이터 저장 장치를 위한 최대 스토리지 트랜잭션 큐 깊이를 할당하도록 구성되는 것인, 데이터 저장 장치.
  13. 제11항에 있어서,
    상기 저장 제어 시스템은 또한, 상기 전력 소비 특성이 상기 전력 문턱 미만으로 유지되는 동안 지연 시간 문턱 미만으로 지연 시간을 낮추기 위하여, 상기 스토리지 트랜잭션 큐 깊이를 감소시키도록 구성되는 것인, 데이터 저장 장치.
  14. 제11항에 있어서,
    상기 저장 제어 시스템은 또한, 실제 전력 소비 특성과 목표 전력 소비 특성 간의 차이에 비례하여 순응적으로 상기 스토리지 트랜잭션 큐 깊이를 조정하도록 구성되는 것인, 데이터 저장 장치.
  15. 삭제
  16. 제11항에 있어서,
    상기 저장 제어 시스템은 또한, 상기 호스트 시스템에 전력 소비 특성을 전송하도록 구성되는 것인, 데이터 저장 장치.
  17. 제11항에 있어서,
    상기 전력 측정 시스템은, 구성 가능한 샘플링 속도, 구성 가능한 측정 주기, 시간기반 전력 측정, 및 트랜잭션기반 전력 측정 중에서 하나 이상을 가지고 상기 전력 소비 특성을 결정하도록 구성되는 것인, 데이터 저장 장치.
  18. 제11항에 있어서,
    상기 저장 제어 시스템은 또한, 상기 호스트 시스템으로부터 제어 명령(control commands)을 수신하고 그에 반응하도록 구성되는 것인, 데이터 저장 장치.
  19. 삭제
  20. 제11항에 있어서,
    상기 저장 제어 시스템은 또한, 큐 깊이 크기의 범위를 상기 스토리지 트랜잭션 큐 이내에서 식별하도록 구성되는 것인, 데이터 저장 장치.
KR1020150133139A 2014-09-22 2015-09-21 성능 인식 전력 상한 제한을 구비한 데이터 저장 장치 KR101833595B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/493,296 2014-09-22
US14/493,296 US9541988B2 (en) 2014-09-22 2014-09-22 Data storage devices with performance-aware power capping

Publications (2)

Publication Number Publication Date
KR20160035555A KR20160035555A (ko) 2016-03-31
KR101833595B1 true KR101833595B1 (ko) 2018-02-28

Family

ID=54238216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150133139A KR101833595B1 (ko) 2014-09-22 2015-09-21 성능 인식 전력 상한 제한을 구비한 데이터 저장 장치

Country Status (6)

Country Link
US (1) US9541988B2 (ko)
EP (1) EP2998829B1 (ko)
JP (1) JP6144308B2 (ko)
KR (1) KR101833595B1 (ko)
CN (1) CN105446456B (ko)
SG (1) SG10201507856VA (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10146293B2 (en) 2014-09-22 2018-12-04 Western Digital Technologies, Inc. Performance-aware power capping control of data storage devices
US10599349B2 (en) * 2015-09-11 2020-03-24 Samsung Electronics Co., Ltd. Method and apparatus of dynamic parallelism for controlling power consumption of SSDs
US9965206B2 (en) * 2015-10-23 2018-05-08 Western Digital Technologies, Inc. Enhanced queue management for power control of data storage device
CN107479828A (zh) * 2017-07-31 2017-12-15 山东超越数控电子有限公司 一种提高固态硬盘吞吐量性能的方法
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
CN109274550B (zh) * 2018-09-07 2020-07-31 电信科学技术第五研究所有限公司 一种iSCSI自适应IO队列深度匹配方法
KR102689927B1 (ko) * 2018-11-16 2024-07-31 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11222658B1 (en) 2020-10-20 2022-01-11 Seagate Technology Llc Power latency control in data storage devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308176A (ja) * 2002-04-03 2003-10-31 Internatl Business Mach Corp <Ibm> データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
US20110060927A1 (en) * 2009-09-09 2011-03-10 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481733A (en) 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer
US5574920A (en) 1994-10-25 1996-11-12 Microsoft Corporation Method for controlling power down of a hard disk drive in a computer
KR970066826A (ko) 1996-03-13 1997-10-13 김광호 하드 디스크 드라이브의 전원 절약 장치 및 그 제어 방법
KR0174711B1 (ko) 1996-04-24 1999-04-15 김광호 하드디스크 캐시의 제어방법
US6049882A (en) * 1997-12-23 2000-04-11 Lg Semicon Co., Ltd. Apparatus and method for reducing power consumption in a self-timed system
JP3819166B2 (ja) 1998-11-27 2006-09-06 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ 消費エネルギー低減方法
US6809896B2 (en) 2002-03-14 2004-10-26 Hitachi Global Storage Technologies Netherlands B.V. Power-efficient seek operations in hard disk drive
US20050210304A1 (en) 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
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
CN1890736B (zh) * 2003-12-03 2011-02-02 皇家飞利浦电子股份有限公司 节能方法与系统
US7634615B2 (en) 2004-06-10 2009-12-15 Marvell World Trade Ltd. Adaptive storage system
JP2006099665A (ja) 2004-09-30 2006-04-13 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法
US7721011B1 (en) 2005-05-09 2010-05-18 Oracle America, Inc. Method and apparatus for reordering memory accesses to reduce power consumption in computer systems
US9304773B2 (en) 2006-03-21 2016-04-05 Freescale Semiconductor, Inc. Data processor having dynamic control of instruction prefetch buffer depth and method therefor
JP4794370B2 (ja) * 2006-06-20 2011-10-19 株式会社日立製作所 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法
US7702931B2 (en) 2006-06-27 2010-04-20 Hewlett-Packard Development Company, L.P. Adjusting power budgets of multiple servers
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
CN101067758B (zh) * 2007-06-14 2010-05-19 华南理工大学 一种嵌入式系统的能耗管理方法
EP2176864B1 (en) 2007-08-20 2011-04-06 Agere Systems, Inc. Data storage drive with reduced power consumption
US7890780B2 (en) 2008-02-15 2011-02-15 Dell Products L.P. Systems and methods for managing power for data storage devices
JP5288899B2 (ja) * 2008-06-20 2013-09-11 株式会社日立製作所 消費電力推定を行うストレージ装置及びストレージ装置の電力推定方法
US7861024B2 (en) * 2008-09-30 2010-12-28 Intel Corporation Providing a set aside mechanism for posted interrupt transactions
US8364992B2 (en) * 2008-11-25 2013-01-29 Hgst, Netherlands B.V. Method and system for reducing power consumption by command selection in a hard disk drive
KR101498225B1 (ko) 2009-02-19 2015-03-04 삼성전자주식회사 데이터 저장 장치 및 그것의 전원 관리 방법
US20100332871A1 (en) 2009-06-30 2010-12-30 International Buisness Machines Corporation Capping power consumption in a data storage system
US8341437B2 (en) * 2009-06-30 2012-12-25 International Business Machines Corporation Managing power consumption and performance in a data storage system
WO2011007391A1 (en) * 2009-07-15 2011-01-20 Hitachi, Ltd. Storage system, control method of storage device
CN104750434B (zh) 2009-07-20 2018-01-26 卡林戈公司 存储集群中的自适应功率保存
JP2011210024A (ja) * 2010-03-30 2011-10-20 Yokogawa Electric Corp サーバ・ストレージシステム
US8239589B1 (en) 2010-03-31 2012-08-07 Amazon Technologies, Inc. Balancing latency and throughput for shared resources
US8072704B1 (en) 2010-05-20 2011-12-06 International Business Machines Corporation Energy-saving operation of a storage device
US8984216B2 (en) * 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9489404B2 (en) 2010-09-29 2016-11-08 International Business Machines Corporation De-duplicating data in a network with power management
US8627124B2 (en) 2011-02-10 2014-01-07 International Business Machines Corporation Techniques for performing storage power management
JP5962095B2 (ja) * 2012-03-16 2016-08-03 日本電気株式会社 電力制御システム、電力制御のための管理装置および電力制御方法
US9292205B2 (en) 2012-06-14 2016-03-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods and systems for adaptive queue depth management
US8730603B2 (en) 2012-09-11 2014-05-20 Lsi Corporation Power management for storage device read channel
GB2505884B (en) * 2012-09-12 2015-06-03 Imagination Tech Ltd Dynamically resizable circular buffers
US9329666B2 (en) * 2012-12-21 2016-05-03 Advanced Micro Devices, Inc. Power throttling queue
KR102098246B1 (ko) * 2013-04-29 2020-04-07 삼성전자 주식회사 호스트, 저장 장치, 및 이를 포함하는 시스템의 동작 방법
US9195293B1 (en) * 2013-05-03 2015-11-24 Western Digital Technologies, Inc. User controlled data storage device power and performance settings
US9075538B2 (en) 2013-06-24 2015-07-07 Seagate Technology Llc Performance and power management for rotating data storage device
TW201516634A (zh) * 2013-10-16 2015-05-01 Wistron Corp 磁碟陣列儲存裝置、伺服器系統及其電源管理方法
US10146293B2 (en) * 2014-09-22 2018-12-04 Western Digital Technologies, Inc. Performance-aware power capping control of data storage devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308176A (ja) * 2002-04-03 2003-10-31 Internatl Business Mach Corp <Ibm> データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
US20110060927A1 (en) * 2009-09-09 2011-03-10 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device

Also Published As

Publication number Publication date
EP2998829A1 (en) 2016-03-23
JP6144308B2 (ja) 2017-06-07
CN105446456A (zh) 2016-03-30
EP2998829B1 (en) 2019-03-20
US9541988B2 (en) 2017-01-10
KR20160035555A (ko) 2016-03-31
SG10201507856VA (en) 2016-04-28
CN105446456B (zh) 2018-10-12
US20160085288A1 (en) 2016-03-24
JP2016071924A (ja) 2016-05-09

Similar Documents

Publication Publication Date Title
KR101831915B1 (ko) 데이터 저장 장치의 성능 인식 전력 상한 제한 제어
KR101833595B1 (ko) 성능 인식 전력 상한 제한을 구비한 데이터 저장 장치
US20150242133A1 (en) Storage workload hinting
US10142211B2 (en) Storage management device and control method
US10771358B2 (en) Data acquisition device, data acquisition method and storage medium
EP2618261A1 (en) Qos control method, apparatus and system for storage system
US9734048B2 (en) Storage management device, performance adjustment method, and computer-readable recording medium
US9836246B2 (en) Storage management device, performance adjustment method, and computer-readable recording medium
US8745232B2 (en) System and method to dynamically allocate electronic mailboxes
EP2940587A1 (en) Computer, control device for computer system, and recording medium
US20170075625A1 (en) Repurposable buffers for target port processing of a data transfer
CN109213707A (zh) 获取数据接口采样位置的方法、系统、设备及介质
JP2018041282A (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
CN106909472A (zh) 一种分布式文件系统的输入/输出负载调整方法及装置
US10209906B2 (en) Target port processing of a data transfer
CN110874192B (zh) 存储管理设备和存储管理方法
WO2016132428A1 (ja) ストレージ装置
JP2018010334A (ja) データ管理装置及びデータ管理方法
JP2015200930A (ja) 記憶装置、データ読出方法、およびプログラム

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