JP2019159802A - 記憶装置の電力制御方法および記憶装置 - Google Patents
記憶装置の電力制御方法および記憶装置 Download PDFInfo
- Publication number
- JP2019159802A JP2019159802A JP2018045673A JP2018045673A JP2019159802A JP 2019159802 A JP2019159802 A JP 2019159802A JP 2018045673 A JP2018045673 A JP 2018045673A JP 2018045673 A JP2018045673 A JP 2018045673A JP 2019159802 A JP2019159802 A JP 2019159802A
- Authority
- JP
- Japan
- Prior art keywords
- sleep state
- transition
- power consumption
- storage device
- sleep
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3268—Power saving in hard disk drive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
【課題】スリープ状態への遷移によってアイドル状態の場合よりも消費電力量が増加してしまう場合をできるだけ回避することができる記憶装置の電力制御方法を提供する。【解決手段】実施形態によれば、受信工程では、コントローラは、不揮発性メモリへのアクセス要求または消費電力の異なる複数のスリープ状態への遷移を要求するスリープ遷移要求を受信する。退避工程では、コントローラは、スリープ遷移要求を受信すると、要求されたスリープ状態に対応するデータの退避処理を実行する。電源供給停止工程では、電源回路は、データの退避処理が終了すると、要求されたスリープ状態に対応してコントローラの一部または不揮発性メモリへの電源の供給を停止する。【選択図】図7
Description
本発明の実施形態は、記憶装置の電力制御方法および記憶装置に関する。
不揮発性記憶装置を記憶媒体に使用した記憶装置には、電力削減のために1つまたは複数のスリープ状態が用意されている。
しかしながら、従来技術では、電力削減のためにアイドル状態からスリープ状態に遷移した場合の消費電力量が、アイドル状態を継続した場合の消費電力量よりも大きくなってしまう場合もある。そこで、スリープ状態への遷移によって逆に消費電力量が増加してしまう場合をできるだけ回避する技術が望まれている。
本発明の一つの実施形態は、スリープ状態への遷移によってアイドル状態を継続する場合よりも消費電力量が増加してしまう場合をできるだけ回避することができる記憶装置の電力制御方法および記憶装置を提供することを目的とする。
本発明の一つの実施形態によれば、不揮発性メモリと、前記不揮発性メモリへのデータのアクセスを制御するコントローラと、前記不揮発性メモリおよび前記コントローラへの電源の供給のオン/オフを切り替える電源回路と、を備える記憶装置の電力制御方法が提供される。記憶装置の電力制御方法は、受信工程と、退避工程と、電源供給停止工程と、を含む。前記受信工程では、前記コントローラは、前記不揮発性メモリへのアクセス要求または消費電力の異なる複数のスリープ状態への遷移を要求するスリープ遷移要求を受信する。前記退避工程では、前記コントローラは、前記スリープ遷移要求を受信すると、要求された前記スリープ状態に対応するデータの退避処理を実行する。前記電源供給停止工程では、前記電源回路は、前記データの退避処理が終了すると、要求された前記スリープ状態に対応して前記コントローラの一部または前記不揮発性メモリへの電源の供給を停止する。
以下に添付図面を参照して、実施形態にかかる記憶装置の電力制御方法および記憶装置を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態による記憶装置の構成の一例を示す図である。記憶装置1は、通信路3および電源線4を介してホスト2と接続され、ホスト2の外部装置として機能する。通信路3のインタフェース規格は任意である。通信路3のインタフェース規格として、たとえばPCIe(登録商標)(Peripheral Component Interconnect Express)、NVMe(登録商標)(Non-Volatile Memory Express)などが使用可能である。なお、通信路3に電源線4が含まれる構成であってもよい。また、以下の例では、記憶装置1がSSD(Solid State Drive)である場合を例に挙げて説明する。
図1は、第1の実施形態による記憶装置の構成の一例を示す図である。記憶装置1は、通信路3および電源線4を介してホスト2と接続され、ホスト2の外部装置として機能する。通信路3のインタフェース規格は任意である。通信路3のインタフェース規格として、たとえばPCIe(登録商標)(Peripheral Component Interconnect Express)、NVMe(登録商標)(Non-Volatile Memory Express)などが使用可能である。なお、通信路3に電源線4が含まれる構成であってもよい。また、以下の例では、記憶装置1がSSD(Solid State Drive)である場合を例に挙げて説明する。
ホスト2は、たとえばコンピュータである。コンピュータは、パーソナルコンピュータ、ポータブルコンピュータ、または、携帯通信機器などを含む。ホスト2は、処理部21および記憶部22を有し、それぞれがバス23を介して接続される。処理部21は、記憶部22にロードされたプログラムにしたがって処理を行う。処理部21は、たとえばCPU(Central Processing Unit)によって構成される。記憶部22は、処理部21で使用するプログラムを記憶するROM(Read Only Memory)などの不揮発性の記憶部、および処理部21で実行するプログラムがロードされたり、データが一時的に格納されたりするRAM(Random Access Memory)などの揮発性の記憶部などによって構成される。処理部21は、記憶装置1へのアクセス要求と、記憶装置1へのスリープ遷移要求と、を生成し、アクセス要求およびスリープ遷移要求をスケジューリングして、記憶装置1へと送信する。
記憶装置1は、コントローラ11と、NAND型フラッシュメモリ(以下、NANDメモリという)12と、揮発性メモリ13と、電源回路14と、を備える。
コントローラ11は、揮発性メモリ13とNANDメモリ12との間のデータの転送を制御する。データの転送は、ホスト2からの指示によるものと、記憶装置1の都合の指示によるものがある。ホスト2からの指示は、たとえばデータのNANDメモリ12への書き込みを行う書き込みコマンドと、データのNANDメモリ12からの読み出しを行う読み出しコマンドと、を含む。記憶装置1の都合による指示は、ガベージコレクション(コンパクション)処理を行うコマンドを含む。ガベージコレクション処理は、あるブロック中の有効なデータを、他のブロックに移動して、有効なデータが書かれていないフリーブロックを用意する処理である。
コントローラ11は、電源が互いに分離された複数のエリアを有する。これによって、ホスト2からの指示に応じてエリアごとに電源のオン/オフを切り替えることができる。このようなコントローラ11は、たとえば System on a Chip(SoC)によって構成される。
コントローラ11は、処理部111と、記憶部112と、これらを接続するバス113と、を有する。処理部111は、たとえばCMOS(Complementary Metal-Oxide-Semiconductor)ロジック回路を有し、演算等の処理などを行う。なお、処理部111は、ハードウェアで構成されてもよいし、CPUがファームウェアを実行することによりその機能が実現されてもよい。記憶部112は、処理部111での演算の際に使用されるデータが格納される。記憶部112として、たとえば、SRAM(Static RAM)、DRAM(Dynamic RAM)などの揮発性メモリが使用される。
NANDメモリ12は、メモリセルアレイを有する1以上のNANDチップによって構成される。メモリセルアレイは、複数のメモリセルがマトリクス状に配列されて構成される。個々のメモリセルアレイは、イレースの単位である物理ブロックを複数配列して構成される。各物理ブロックは、メモリセルアレイに対する読み出しおよび書き込みの単位であるページを複数備える。NANDメモリ12においては、物理ブロック単位でイレースされる。
NANDメモリ12には、たとえばユーザデータおよび管理情報などが格納される。ユーザデータは、ホスト2からの指示によって書き込まれるデータである。管理情報は、コントローラ11がNANDメモリ12に対するアクセスを行うための情報であり、翻訳情報などを含む。翻訳情報は、論理アドレスを物理アドレスに翻訳するための情報である。翻訳情報によって、論理アドレスで指示される書き込み位置または読み出し位置が、NANDメモリ12の物理アドレスに翻訳され、この翻訳に基づいてNANDメモリ12へのアクセスが行われる。
揮発性メモリ13は、たとえば管理情報を記憶する。記憶装置1の起動時においては、揮発性メモリ13には、NANDメモリ12から読み出すことができる最新の管理情報が記憶される。NANDメモリ12へのユーザデータの書き込み、消去、またはガベージコレクション処理によって、揮発性メモリ13上の管理情報がコントローラ11によって更新される。更新された管理情報は、任意のタイミングで、NANDメモリ12へと保存される。
揮発性メモリ13は、ホスト2とNANDメモリ12との間のデータ転送のためのバッファとしてもコントローラ11によって使用される。
電源回路14は、ホスト2から電源線4を介して電源の供給を受け、コントローラ11からの指示に従って、コントローラ11、NANDメモリ12および揮発性メモリ13への電源の供給のオン/オフを切り替える。なお、コントローラ11内での電源の供給のオフについては、電源回路14からオフにされるものだけではなく、コントローラ11内の内部スイッチによってオフにされるものが設けられていてもよい。
ここで、第1の実施形態による記憶装置1では、低消費電力化を図るため、アクティブモードとスリープモードとの間を切り替えることができる。アクティブモードは、処理部111全体、NANDメモリ12および揮発性メモリ13が動作している状態にあるモードである。アクティブモードには、ホスト2からの指示あるいは記憶装置1の都合による指示によって動作している動作状態と、ホスト2からの指示を受けておらず処理可能ではあるが処理部111による処理が行われていないアイドル状態と、が含まれる。
スリープモードは、処理部111の全部または一部が動作していない状態にあるモードであり、消費電力の異なる複数の状態が用意される。第1の実施形態では、スリープモードには、スリープ時の消費電力の大きさによって浅スリープ状態と、深スリープ状態と、が含まれる。深スリープ状態のスリープ時の消費電力の値は、浅スリープ状態のスリープ時の消費電力の値よりも小さい。
図2は、第1の実施形態による浅スリープ状態の状態を模式的に示す図であり、図3は、深スリープ状態の状態を模式的に示す図である。図2に示されるように、浅スリープ状態では、コントローラ11の処理部111および記憶部112の一部、並びにNANDメモリ12への電源の供給がオフにされる。アイドル状態から浅スリープ状態への遷移時には、コントローラ11の処理部111が、処理部111の各レジスタの値および記憶部112中のデータを揮発性メモリ13へと退避した後(S1)、電源回路14が処理部111の一部、記憶部112およびNANDメモリ12への電源の供給をオフにする(S2)。なお、処理部111のアクティブモードへの復帰のために必要な回路および揮発性メモリ13には電源が供給されている。図2で、点線の矢印は電源の供給がオフにされた状態を示し、一点鎖線の矢印は電源の供給が一部オフにされた状態を示している。
図3に示されるように、深スリープ状態では、コントローラ11の処理部111および記憶部112の一部、揮発性メモリ13並びにNANDメモリ12への電源の供給がオフにされる。なお、電源の供給がオフにされるコントローラ11の処理部111および記憶部112の一部の領域は、深スリープ状態と浅スリープ状態とで異なる場合がある。一般的には、深スリープ状態の方が浅スリープ状態に比してより広い領域への電源の供給がオフにされる。アクティブモードから深スリープ状態への遷移時には、コントローラ11の処理部111が、処理部111の各レジスタの値、記憶部112および揮発性メモリ13中のデータをNANDメモリ12へと退避した後(S5)、電源回路14が処理部111の一部、記憶部112、揮発性メモリ13およびNANDメモリ12への電源の供給をオフにする(S6)。なお、処理部111のアクティブモードへの復帰のために必要な回路には電源が供給されているが、図2の浅スリープ状態に比して揮発性メモリ13への電源の供給もオフにされているので、深スリープ状態のスリープモード時の消費電力は浅スリープ状態のスリープモード時の消費電力よりも小さくなる。
図4は、アイドル状態、浅スリープ状態および深スリープ状態での時間に対する消費電力の変化の状態を示す図であり、図5は、アイドル状態、浅スリープ状態および深スリープ状態での時間に対する消費電力量の推移を示す図である。これらの図において、(a)はアイドル状態での様子を示すグラフであり、(b)は浅スリープ状態での様子を示すグラフであり、(c)は深スリープ状態での様子を示すグラフである。ただし、図4および図5の(b)のグラフでは、浅スリープ状態へ遷移するための退避処理および浅スリープ状態からアイドル状態へ遷移するための復帰処理も含まれている。また、図4および図5の(c)のグラフでは、深スリープ状態へ遷移するための退避処理および深スリープ状態からアイドル状態へ遷移するための復帰処理も含まれている。また、図4において、横軸は時間を示しており、縦軸は消費電力を示している。図5において、横軸は時間を示しており、縦軸は消費電力量を示している。なお、図5に示されるグラフは、図4のそれぞれのグラフを時間に関して積分したものである。
図4(a)に示されるように、アイドル状態では、所定の消費電力Piが継続して消費されている状態である。アイドル状態は、処理部111全体、記憶部112、NANDメモリ12および揮発性メモリ13が動作している状態のうちで最も消費される電力が少ない状態である。このアイドル状態がta時間継続される場合の消費電力量Wiは、図5(a)に示されるように、消費電力Piと時間taとの積となる。
一方、浅スリープ状態では、浅スリープ状態時の消費電力Psはアイドル状態の消費電力Piよりも低い。しかし、アイドル状態から浅スリープ状態への遷移時には、図2に示されるように、処理部111内のレジスタの値と、記憶部112のデータと、を揮発性メモリ13に退避する処理(以下、退避処理という)が行われる。浅スリープ状態からアイドル状態への復帰時には、揮発性メモリ13に退避したレジスタの値を処理部111に設定し、揮発性メモリ13に退避したデータを記憶部112へと復元する処理(以下、復帰処理という)が行われる。図4(b)で、時刻t0からt1までに行われる退避処理、および時刻t2からt3までに行われる復帰処理の際の消費電力Paは、消費電力Piよりも大きい。このように、浅スリープ状態へ遷移した場合の消費電力量は、浅スリープ状態時の消費電力Psだけでなく、退避処理時および復帰処理時の消費電力Paも考慮しなければならない。図4(b)に示される浅スリープ状態の場合の消費電力量は、図5(b)に示されている。
深スリープ状態についても、浅スリープ状態の場合と同様である。図4(c)に示されるように、深スリープ状態時の消費電力Pdはアイドル状態の消費電力Piおよび浅スリープ状態時の消費電力Psよりも小さくなるが、時刻t0からt11までに行われる退避処理時および時刻t12からt13までに行われる復帰処理時の消費電力Pbは、浅スリープ状態の消費電力Paよりも大きくなる。これは、浅スリープ状態よりも深スリープ状態の方が電力削減のために電源の供給がオフにされる領域が大きいからである。つまり、退避すべきデータ量および処理が増えるためにPa<Pbとなる。図4(c)に示される深スリープ状態の場合の消費電力量は、図5(c)に示されている。なお、上記した説明では、復帰処理の際の消費電力PaおよびPbは、退避処理の際の消費電力PaおよびPbと等しい場合を例に挙げたが、退避処理の際の消費電力PaおよびPbと異なっていてもよい。
このように、スリープモードへの遷移では、遷移処理時および復帰処理時の消費電力を考慮すると、スリープモードが継続される時間によっては、スリープモード時の消費電力量がアイドル状態の消費電力量よりも大きくなってしまうことも有り得る。
図6は、アイドル状態、浅スリープ状態および深スリープ状態時のそれぞれの消費電力量を示す図である。この図において、横軸は時間を示し、縦軸はそれぞれの状態が継続された時の消費電力量を示している。アイドル状態を継続した時の消費電力量を示す直線をI1とし、アイドル状態から浅スリープ状態へ遷移した時の消費電力量を示す曲線をS1とし、アイドル状態から深スリープ状態へ遷移した時の消費電力量を示す曲線をD1としている。ここで、時刻ti2sは、浅スリープ状態を継続した時の消費電力量がアイドル状態を継続した時の消費電力量と等しくなる時間であり、時刻ti2dは、深スリープ状態を継続した時の消費電力量がアイドル状態を継続した時の消費電力量と等しくなる時間であり、時刻ti2d_goodは、深スリープ状態を継続した時の消費電力量が浅スリープ状態を継続した時の消費電力量と等しくなる時間である。
アイドル状態と浅スリープ状態とを比較すると、ti2sよりも短い期間では、アイドル状態の消費電力量が浅スリープ状態時の消費電力量よりも低くなる。一方、ti2sよりも長い期間では、浅スリープ状態時の消費電力量がアイドル状態の消費電力量よりも低くなる。そのため、ti2sよりも短い期間動作が行われない場合には、アイドル状態を継続させたままにし、ti2sよりも長い期間動作が行われない場合には、浅スリープ状態に移行することで、電力消費量を小さくすることができる。
アイドル状態と深スリープ状態とを比較すると、ti2dよりも短い期間では、アイドル状態の消費電力量が深スリープ状態時の消費電力量よりも低くなる。一方、ti2dよりも長い期間では、深スリープ状態時の消費電力量がアイドル状態の消費電力量よりも低くなる。そのため、ti2dよりも短い期間動作が行われない場合には、アイドル状態を継続させたままにし、ti2dよりも長い期間動作が行われない場合には、深スリープ状態に移行することで、電力消費量を小さくすることができる。
浅スリープ状態と深スリープ状態とを比較すると、ti2d_goodよりも短い期間では、浅スリープ状態時の消費電力量が深スリープ状態時の消費電力量よりも低くなる。一方、ti2d_goodよりも長い期間では、深スリープ状態時の消費電力量が浅スリープ状態の消費電力量よりも低くなる。そのため、ti2d_goodよりも短い期間動作が行われない場合には、浅スリープ状態に移行し、ti2d_goodよりも長い期間動作が行われない場合には、深スリープ状態に移行することで、電力消費量を小さくすることができる。
以上の結果を組み合わせると、アイドル状態がti2s未満の期間継続される場合には、スリープモードに移行せずにアイドル状態を維持することが電力量削減に効果がある。アイドル状態がti2sよりも長く期間継続される場合には、浅スリープ状態に遷移することが電力量削減に効果がある。アイドル状態がti2dよりも長く期間継続される場合には、深スリープ状態に遷移することが電力量削減に効果がある。ただし、アイドル状態がti2s〜ti2d_goodの期間継続される場合には、浅スリープ状態に遷移し、アイドル状態がti2d_goodよりも長く継続される場合には、浅スリープ状態よりも深スリープ状態に遷移することが、電力量削減に効果がある。
そこで、第1の実施形態では、アイドル状態の最低状態継続時間ti2s,ti2d,ti2d_goodを遷移判定情報として、NANDメモリ12に格納しておき、コントローラ11は、事前に遷移判定情報をホスト2に通知する。ホスト2に遷移判定情報を通知するタイミングは、たとえば記憶装置1の起動時(再起動時)などである。ホスト2は、遷移判定情報に基づいて、記憶装置1に出すコマンドのタイミングをスケジューリングするとともに、スケジューリング結果にしたがって、アイドル状態、浅スリープ状態および深スリープ状態への記憶装置1の遷移を指示する。
遷移判定情報の算出に当たって、図4(b)の浅スリープ状態の場合の遷移処理時および復帰処理時の際の消費電力Pa、および図4(c)の深スリープ状態の場合の遷移処理時および復帰処理時の消費電力Pbは、実際の遷移処理時および復帰処理時の消費電力を種々の状況下で計測し、計測結果の平均値をとったものを用いてもよい。あるいは、アイドル状態から浅スリープ状態または深スリープ状態への遷移の際に最大となる消費電力Pa_maxおよびPb_maxの状況を想定し、この想定した消費電力Pa_maxおよびPb_maxを用いてもよい。
図7は、第1の実施形態による記憶装置の電力制御方法の手順の一例を示すフローチャートである。たとえば、記憶装置1が起動された時に、記憶装置1のコントローラ11は、NANDメモリ12の所定の領域に格納されている遷移判定情報をホスト2側に通知する(ステップS11)。ホスト2の処理部21は、遷移判定情報を受信し(ステップS12)、たとえば記憶部22に記憶する(ステップS13)。
ついで、ホスト2の処理部21は、記憶装置1へのアクセス要求を生成し(ステップS14)、記憶装置1へのアクセス要求をスケジューリングする(ステップS15)。ここでは、電力削減を優先してスケジューリングするものとする。スケジューリングの結果、浅スリープ状態への遷移または深スリープ状態への遷移がスケジュールに含まれる場合には、浅スリープ状態への遷移の前には、浅スリープ状態への遷移要求が生成され、深スリープ状態への遷移の前には、深スリープ状態への遷移要求が生成される。
たとえば、アクセス要求とアクセス要求との間にアクセスがない時間が存在する場合に、アクセスがない時間を遷移判定情報と比較し、そのアクセスがない時間をアイドル状態、浅スリープ状態および深スリープ状態のいずれにするかを決定する。また、記憶装置1へのアクセス要求のうち、優先度が比較的低いアクセス要求(以下、低優先度のアクセス要求という)がある場合には、低優先度のアクセス要求の前後に設けられるアクセスがない時間がまとまるように低優先度のアクセス要求をスケジューリングして、アクセスがない時間を作成する。そして、このアクセスがない時間について、遷移判定情報と比較し、このアクセスがない時間をアイドル状態、浅スリープ状態および深スリープ状態のどれにするかを決定する。なお、低優先度のアクセス要求は、アクセス要求に対する応答が遅れてもよいアクセス要求である。逆に、アクセス要求に対する応答に遅延がほとんど許されないものは優先度が高いアクセス要求(以下、高優先度のアクセス要求という)である。
その後、ホスト2の処理部21は、スケジューリングにしたがって、アクセス要求またはスリープ遷移要求を記憶装置1に送信する(ステップS16)。なお、ホスト2は、たとえばスリープ遷移要求を送信する場合で必要な場合に、浅スリープ状態または深スリープ状態からの復帰時間も記憶装置1に供給する。その後、ホスト2では、ステップS14へと処理が戻る。
記憶装置1は、アクセス要求またはスリープ遷移要求を受信したかを判定する(ステップS17)。アクセス要求またはスリープ遷移要求を受信した場合(ステップS17でYesの場合)には、コントローラ11の処理部111は、スリープ状態であるかを判定する(ステップS18)。スリープ状態である場合(ステップS18でYesの場合)には、処理部111は、復帰処理を行う(ステップS19)。
ステップS19の後またはスリープ状態でない場合(ステップS18でNoの場合)には、コントローラ11の処理部111は、ホスト2から受信した要求がアクセス要求であるかを判定する(ステップS20)。アクセス要求である場合(ステップS20でYesの場合)には、アクセス要求を実行し(ステップS21)、記憶装置1での処理がステップS17へと戻る。
また、コントローラ11の処理部111は、ホスト2から受信した要求がアクセス要求でない場合(ステップS20でNoの場合)には、スリープ遷移要求であるので、退避処理を実行する(ステップS22)。たとえば、浅スリープ状態への遷移の場合には、処理部111は、処理部111内のレジスタの値および記憶部112内のデータを揮発性メモリ13に退避する。深スリープ状態への遷移の場合には、処理部111は、処理部111内のレジスタの値、記憶部112および揮発性メモリ13内のデータをNANDメモリ12に退避する。
ついで、処理部111は、スリープ遷移要求にしたがった電源の供給をオフにする指示を電源回路14に通知し、電源回路14は、指示に従って電源の供給をオフにする(ステップS23)。たとえば、浅スリープ状態への遷移の場合には、電源回路14は、処理部111内の所定の部分、記憶部112およびNANDメモリ12への電源の供給をオフにする。深スリープ状態への遷移の場合には、電源回路14は、処理部111内の所定の部分、記憶部112、NANDメモリ12および揮発性メモリ13への電源の供給をオフにする。その後、ステップS17に処理が戻る。
ステップS17でアクセス要求またはスリープ遷移要求を受信していない場合(ステップS17でNoの場合)には、コントローラ11の処理部111は、スリープ状態であるかを判定する(ステップS24)。スリープ状態である場合(ステップS24でYesの場合)には、処理部111は、ホスト2から供給された復帰時間であるかを判定する(ステップS25)。復帰時間である場合(ステップS25でYesの場合)には、処理部111は、復帰処理を行う(ステップS26)。たとえば、浅スリープ状態からの復帰の場合には、処理部111は、揮発性メモリ13に退避したレジスタの値を処理部111内に設定するとともに、揮発性メモリ13に退避したデータを記憶部112に書き込む。深スリープ状態からの復帰の場合には、処理部111は、NANDメモリ12に退避したレジスタの値を処理部111内に設定するとともに、NANDメモリ12に退避したデータを記憶部112および揮発性メモリ13に書き込む。その後、ステップS24でスリープ状態ではない場合(ステップS24でNoの場合)あるいはステップS25で復帰時間ではない場合(ステップS25でNoの場合)には、記憶装置1での処理がステップS17へと戻る。以上のように、記憶装置1の電力制御方法が行われる。
図8は、ホストによるアクセス要求のスケジューリングの一例を模式的に示す図である。図8(a)は性能を優先した場合のアクセス要求のスケジューリングの一例を示している。高優先度のアクセス要求301,305,307および低優先度のアクセス要求302〜304,306が含まれる。性能優先の場合には、アクセス要求とアクセス要求との間のアクセスがない時間が多く含まれる。このアクセスがない時間を遷移判定情報と比較した結果、スリープモードへの移行が電力削減につながる場合に、スリープモードへの遷移要求が生成されることになる。たとえば、高優先度のアクセス要求305と低優先度のアクセス要求306との間のアイドル状態の状態継続時間がti2s以上となっているために、この部分には浅スリープ状態への遷移要求311が含まれ、その後に浅スリープ状態321へと遷移している。
図8(b)は、電力削減を優先した場合のアクセス要求のスケジューリングの一例を示している。図8(a)では、低優先度のアクセス要求の前にアクセスのない時間が多く設けられている。図8(b)の場合には、これらの低優先度のアクセス要求302〜304が連続して出されるように、スケジューリングすることで、高優先度のアクセス要求301と低優先度のアクセス要求302との間に、浅スリープ状態に遷移することが可能な長さのアクセスのない時間を確保している。そして、高優先度のアクセス要求301のつぎに浅スリープ状態への遷移要求312が配置され、その後に浅スリープ状態322へと遷移している。また、より電力削減の効果を高めるために、低優先度のアクセス要求306の実行を遅らせることによって、図8(a)に設けられていた浅スリープ状態321の状態継続時間を長くしている。
図8(c)は、電力削減を優先した場合のアクセス要求のスケジューリングの別の一例を示している。図8(c)は、図8(b)の場合よりもさらに電力削減を優先している。図8(c)では、低優先度のアクセス要求302〜304を図8(b)の場合よりもさらに遅らせることで、浅スリープ状態322の状態継続時間を長くしている。また、低優先度のアクセス要求306を、図8(b)の場合よりもさらに遅らせることで、深スリープ状態に遷移することが可能な長さのアクセスのない時間を確保している。その結果、高優先度のアクセス要求305のつぎに浅スリープ状態への遷移要求ではなく、深スリープ状態への遷移要求331が配置され、その後に深スリープ状態341へと遷移している。
なお、記憶装置1からホスト2への遷移判定情報の通知は、種々の方法で実現可能である。ホスト2と記憶装置1との間がPCIeを使用して通信が行われる場合には、Messageを使って遷移判定情報を通知することができる。この場合には、Vendor_Defined Messageで遷移判定情報の送信に関して新しく定義したり、新たなMessage Formatを規格化して遷移判定情報の送信に使用したりすることができる。あるいは、コントローラ11中のConfigurationレジスタに遷移判定情報を保存しておき、ホスト2にたとえば記憶装置1の起動時にConfigurationレジスタ中の情報を読み込んでもらうようにしてもよい。
また、ホスト2と記憶装置1との間でNVMeプロトコルを使用して通信が行われる場合には、コントローラ11のレジスタ空間に遷移判定情報を保存しておき、ホスト2にたとえば記憶装置1の起動時にレジスタ中の情報を読み込んでもらうようにしてもよい。あるいは、ホスト2からIdentifyコマンドを受信した場合に、その応答に遷移判定情報を含めて送信してもよい。あるいは、予めコンフィギュレーションされた設定に基づいて、所定の条件が成立したら記憶装置1側からホスト2にメッセージを通知するAsynchronous Eventを用いてもよい。
第1の実施形態では、記憶装置1が、たとえばアイドル状態が所定の時間継続するとした場合に、アイドル状態、浅スリープ状態および深スリープ状態のうちのどれが消費電力が小さくなるかを判定する遷移判定情報をホスト2に通知する。ホスト2は、記憶装置1へのアクセス要求を生成し、スケジューリングする際に、遷移判定情報を用いてアクセス要求のスケジューリングを行い、アクセス要求およびスリープ遷移要求を記憶装置1へと送る。記憶装置1は、受信したアクセス要求にしたがって、NANDメモリ12へのアクセスを行う。また、記憶装置1は、受信したスリープ遷移要求にしたがって、スリープ状態へと遷移する。これによって、アイドル状態を継続した場合よりも電力量が増加してしまう場合を回避することができるという効果を有する。
また、ホスト2は、電力削減優先か、性能優先か、を状況に応じて選択することができる。電力削減優先の場合には、ホスト2は、より電力削減効率が高くなるように、アクセス要求およびスリープ遷移要求をスケジューリングすることができる。
第1の実施形態のようにスケジューリングされていない場合、具体的にはホスト2からのスリープ遷移要求がなく、コントローラ11自身がスリープ遷移タイミングを決めてしまう場合には、スリープ状態の遷移処理時または復帰処理時にアクセス要求が来ると、スリープからの復帰のためのデータの移動が完了してからアクセス要求に対応することになる。そのため、記憶装置1のパフォーマンスが低下してしまう。しかし、第1の実施形態では、予めホスト2側でアクセス要求とスリープ遷移要求とがスケジューリングされているので、スリープ状態の遷移処理時または復帰処理時にアクセス要求が来ることはなく、上記のようなパフォーマンスの低下を回避することができる。
また、第1の実施形態のようにアクセス要求およびスリープ遷移要求がスケジューリングされていない場合には、省電力効果の高い深スリープ状態への遷移は無駄にNANDメモリ12を疲弊させてしまう。しかし、第1の実施形態では、アクセス要求およびスリープ遷移要求がスケジューリングされているので、不要な深スリープ遷移の発生が抑制される。その結果、不要なスリープ遷移によるNANDメモリ12へのデータの退避でNANDメモリ12が無駄に疲弊してしまうことを防ぐことができるという効果を有する。
(第2の実施形態)
第1の実施形態では、アイドル状態にある場合でのアイドル状態から浅スリープ状態または深スリープ状態への遷移について説明した。複数段階のスリープモードがある場合には、段階的に深いスリープモードに遷移する場合もある。
第1の実施形態では、アイドル状態にある場合でのアイドル状態から浅スリープ状態または深スリープ状態への遷移について説明した。複数段階のスリープモードがある場合には、段階的に深いスリープモードに遷移する場合もある。
図9は、アイドル状態、浅スリープ状態および深スリープ状態時のそれぞれの消費電力量の一例を示す図である。図9において、横軸は時間を示し、縦軸はそれぞれの状態が継続された時の消費電力量を示している。この図で、曲線SDは、浅スリープ状態時から深スリープ状態へと遷移する場合の消費電力量を示す曲線であり、曲線S2は、浅スリープ状態時を継続した場合の消費電力量を示す曲線である。また、ここでは、浅スリープ状態から深スリープ状態へと遷移する場合には、浅スリープ状態からアイドル状態へと戻ってから、深スリープ状態へと遷移する手順を踏むものとする。これは、浅スリープ状態から深スリープ状態へと遷移する場合に、処理部111のレジスタの値、記憶部112のデータおよび揮発性メモリ13のデータをNANDメモリ12へと退避させるために、一度浅スリープ状態からアクティブ状態へと復帰させなければならないからである。
浅スリープ状態にある場合には、既にアイドル状態から浅スリープ状態への遷移処理が終わっているので退避処理はなく、消費電力量は、曲線S2のように示される。一方、浅スリープ状態から深スリープ状態へと遷移する場合には、上記したように、浅スリープ状態からアイドル状態へと一度復帰し、アイドル状態から深スリープ状態へと遷移する。深スリープ状態への遷移は、図6で説明したものと同様である。このような場合の消費電力量は、曲線SDで示される。
曲線S2と曲線SDとが等しくなる時間ts2dが2つの遷移方法の消費電力量が同じになる時間である。また、ts2dよりも短い時間であれば浅スリープ状態を維持した方が電力削減効果があることになり、ts2dよりも長い時間であれば、浅スリープ状態から深スリープ状態へと遷移した方が電力削減効果があることになる。
そのため、複数のスリープモード間を遷移させる場合には、遷移判定情報に、ts2dをさらに含ませればよい。これによって、ホスト2は、浅スリープ状態にある時に、さらに継続したts2dの期間、アクセスのない時間を維持できるのならば、深スリープ状態への遷移を選択することができる。深スリープ状態への遷移については、たとえば、ホスト2から深スリープ状態へのスリープ遷移要求を受信することで、一度アイドル状態へと復帰し、退避処理を行った後に深スリープ状態へ遷移させることができる。また、別の例としては、ホスト2から深スリープ遷移条件を含む浅スリープ状態へのスリープ遷移要求を受信することで、浅スリープ状態から深スリープ状態へと遷移することもできる。この場合には、浅スリープ状態にある時に、所定期間ホスト2からのアクセス要求がないことなどの深スリープ遷移条件が満たされると、一時的にアイドル状態へと復帰し、退避処理を行った後に深スリープ状態へ遷移する。
なお、第2の実施形態でのホスト2でのアクセス要求およびスリープ遷移要求のスケジューリング、およびホスト2からアクセス要求およびスリープ遷移要求を受けた時の記憶装置1の動作は、第1の実施形態と同様であるので、その説明を省略する。また、ここでは、浅スリープ状態から深スリープ状態への遷移の際に、一度アイドル状態に遷移する場合を例に挙げたが、浅スリープ状態からアイドル状態を経ずに深スリープ状態へと遷移してもよい。この場合には、アイドル状態を経ないので、浅スリープ状態から深スリープ状態への遷移の際の消費電力量が図9の場合に比して小さくなる。
第2の実施形態によっても、第1の実施形態と同様の効果を有する。
(第3の実施形態)
第1および第2の実施形態では、記憶装置が遷移判定情報としてアイドル状態の最低状態継続時間ti2s,ti2d,ti2d_good,ts2dを通知する場合を例に挙げた。しかし、ホスト側で、アイドル状態の最低状態継続時間ti2s,ti2d,ti2d_good,ts2dを使用することができるのであれば、他の情報を記憶装置からホストへと通知してもよい。
第1および第2の実施形態では、記憶装置が遷移判定情報としてアイドル状態の最低状態継続時間ti2s,ti2d,ti2d_good,ts2dを通知する場合を例に挙げた。しかし、ホスト側で、アイドル状態の最低状態継続時間ti2s,ti2d,ti2d_good,ts2dを使用することができるのであれば、他の情報を記憶装置からホストへと通知してもよい。
たとえば、アイドル状態の消費電力をPiとし、浅スリープ状態時の消費電力をPsとし、浅スリープ時の退避処理および復帰処理の際の消費電力量をWaとし、深スリープ状態時の消費電力をPdとし、深スリープ時の退避処理および復帰処理の際の消費電力量をWbとすると、各状態を時間tだけ継続した場合のアイドル時の消費電力量Wi、浅スリープ状態時の消費電力量Ws、および深スリープ状態時の消費電力量Wdは、それぞれ次式(1)〜(3)で示される。
Wi=Pi・t ・・・(1)
Ws=Wa+Ps・t ・・・(2)
Wd=Wb+Pd・t ・・・(3)
Wi=Pi・t ・・・(1)
Ws=Wa+Ps・t ・・・(2)
Wd=Wb+Pd・t ・・・(3)
アイドル状態にある時に、浅スリープ状態時の消費電力量Wsがアイドル状態の消費電力量Wiよりも小さくなる条件として、(1)式および(2)式から次式(4)が求められる。
ti2s>Wa/(Pi−Ps) ・・・(4)
ti2s>Wa/(Pi−Ps) ・・・(4)
アイドル状態にある時に、深スリープ状態時の消費電力量Wdがアイドル状態の消費電力量Wiよりも小さくなる条件として、(1)式および(3)式から次式(5)が求められる。
ti2d>Wb/(Pi−Pd) ・・・(5)
ti2d>Wb/(Pi−Pd) ・・・(5)
アイドル状態にある時に、深スリープ状態時の消費電力量Wdが浅スリープ状態時の消費電力量Wsよりも小さくなる条件として、(2)式および(3)式から次式(6)が求められる。
ti2d_good>(Wb−Wa)/(Ps−Pd) ・・・(6)
ti2d_good>(Wb−Wa)/(Ps−Pd) ・・・(6)
浅スリープ状態にある時に、深スリープ状態時の消費電力量Wdが浅スリープ状態時の消費電力量Wsよりも小さくなるためには、次式(7)が成立する。
Wa/2+Wb+Pd・t<Wa/2+Ps・t ・・・(7)
Wa/2+Wb+Pd・t<Wa/2+Ps・t ・・・(7)
(7)式に、(2)式および(3)式を代入すると、浅スリープ状態にある時に、深スリープ状態時の消費電力量Wdが浅スリープ状態時の消費電力量Wsよりも小さくなる条件として、次式(8)が求められる。
ts2d>Wb/(Ps−Pd) ・・・(8)
ts2d>Wb/(Ps−Pd) ・・・(8)
(4)式〜(6)式および(8)式に示されるように、アイドル状態の消費電力Pi、浅スリープ状態時の消費電力Ps、浅スリープ状態の退避処理時および復帰処理時の消費電力量Wa、深スリープ状態時の消費電力Pd、深スリープ状態の退避処理時および復帰処理時の消費電力量Wbがわかれば、スリープ状態の状態継続時間ti2s,ti2d,ti2d_good,ts2dを求めることができる。そのため、アイドル状態の消費電力Pi、浅スリープ状態時の消費電力Ps、浅スリープ状態の退避処理時および復帰処理時の消費電力量Wa、深スリープ状態時の消費電力Pd、深スリープ状態の退避処理時および復帰処理時の消費電力量Wbを遷移判定情報として通知してもよい。
なお、第3の実施形態による記憶装置1の構成および記憶装置1の電力制御方法は、第1の実施形態で説明したものと同様であるので、その説明を省略する。
第3の実施形態によっても、第1の実施形態と同様の効果を得ることができる。また、アイドル状態の消費電力Pi、浅スリープ状態時の消費電力Ps、浅スリープ状態の退避処理時および復帰処理時の消費電力量Wa、深スリープ状態時の消費電力Pd、深スリープ状態の退避処理時および復帰処理時の消費電力量Wbをホスト2に通知することで、ホスト2側でこれらの数値を使った別の計算を実行することもできる。
(第4の実施形態)
電力削減効果のあるスリープ遷移時間は退避処理時および復帰処理時に消費される電力に大きく依存し、この電力はスリープ遷移時に退避するデータ量に依存する。一方、記憶装置では、スリープ遷移要求がホストからきた時にバッファリングされているデータの量によって退避するデータ量が変化する。第1〜第3の実施形態では、遷移判定情報として、退避するデータ量を予め定めた固定の値として求めたスリープ状態の最低状態継続時間または各スリープ状態の退避処理時および復帰処理時の消費電力量を用いていた。そのため、バッファリングされているデータ量が固定の値からかけ離れている場合には、スリープ状態への移行が電力削減の点から不利になる場合も起こり得る。そこで、第4の実施形態では、ダイナミックに遷移判定情報を更新し、ホストに通知する場合を説明する。
電力削減効果のあるスリープ遷移時間は退避処理時および復帰処理時に消費される電力に大きく依存し、この電力はスリープ遷移時に退避するデータ量に依存する。一方、記憶装置では、スリープ遷移要求がホストからきた時にバッファリングされているデータの量によって退避するデータ量が変化する。第1〜第3の実施形態では、遷移判定情報として、退避するデータ量を予め定めた固定の値として求めたスリープ状態の最低状態継続時間または各スリープ状態の退避処理時および復帰処理時の消費電力量を用いていた。そのため、バッファリングされているデータ量が固定の値からかけ離れている場合には、スリープ状態への移行が電力削減の点から不利になる場合も起こり得る。そこで、第4の実施形態では、ダイナミックに遷移判定情報を更新し、ホストに通知する場合を説明する。
第4の実施形態による記憶装置1は、第1の実施形態で説明したものと略同様であるが、コントローラ11の処理部111に以下に説明する機能が付加される。処理部111は、あるタイミングで記憶部112および揮発性メモリ13にバッファリングされているデータ量を取得する。なお、処理部111は、ホスト2から受信したアクセス要求から記憶部112および揮発性メモリ13にバッファリングされているデータ量を推測してもよい。また、処理部111は、取得したデータ量から、浅スリープ状態での退避処理時および復帰処理時に必要な消費電力量Wa、および深スリープ状態での退避処理時および復帰処理時に必要な消費電力量Wbを算出する。そして、処理部111は、第1の実施形態の場合にはスリープ状態の最低状態継続時間ti2s,ti2d,ti2d_goodを算出し、第2の実施形態の場合にはこれらに加えてts2dを算出し、これらを遷移判定情報としてホスト2に通知する。また、処理部111は、第3の実施形態の場合には、算出したWa,Wbと、Pi,Ps,Pdと、を遷移判定情報としてホスト2に通知する。ホスト2では、記憶装置1から通知を受けると遷移判定情報を更新する。
なお、処理部111が記憶部112および揮発性メモリ13にバッファリングされているデータ量を取得するタイミング、および遷移判定情報をホスト2に通知するタイミングは、任意であり、たとえば所定の時間間隔で行ってもよいし、バッファリングされているデータ量が所定の割合以上変化した場合に行ってもよい。また、処理部111は、所定の期間における記憶部112および揮発性メモリ13にバッファリングされているデータ量の平均値を取得し、この平均値を用いて処理を行ってもよい。
図10は、アイドル状態から浅スリープ状態への遷移時における消費電力の推移を示す図であり、図11は、アイドル状態から浅スリープ状態への遷移時における消費電力量の推移を示す図である。図10(a)および図11(a)は退避量が少ない第1の場合を示しており、図10(b)および図11(b)は退避量が第1の場合よりも多い第2の場合を示している。図12は、浅スリープ状態およびアイドル状態の消費電力量との関係の一例を示す図である。
図10に示されるように、第1の場合および第2の場合の両方において、浅スリープ状態時の消費電力Psは同じであり、退避処理時および復帰処理時の消費電力Paも同じであるが、データの退避量が多いほど退避に要する時間がかかる。そのため、第1の場合の退避処理に要する時間または復帰処理に要する時間Δt51は、第2の場合の退避処理に要する時間または復帰処理に要する時間Δt52よりも短い。
そのため、図11に示されるように、ある期間、浅スリープ状態を維持した時の消費電力量も第1の場合と第2の場合とで異なってくる。すなわち、第1の場合の退避処理時および復帰処理時の消費電力量Wa1は、第2の場合の退避処理時および復帰処理時の消費電力量Wa2よりも小さくなる。
また、図12に示されるように、第1の場合と第2の場合とで、アイドル状態を維持した場合よりも消費電力量を小さくするために、浅スリープ状態を継続する時間ti2sも異なる。具体的には、退避するデータ量が多いほど、浅スリープ状態を継続する時間ti2sが長くなる傾向にある。
たとえば、第1の場合の消費電力量を示す曲線S3とアイドル状態の曲線I1とを比較すると、浅スリープ状態をti2s_case1以上継続することができる場合には、浅スリープ状態への遷移がアイドル状態を継続する場合よりも電力的に有利である。一方、第2の場合の消費電力量を示す曲線S4とアイドル状態の曲線I1とを比較すると、浅スリープ状態をti2s_case2以上継続することができる場合には、浅スリープ状態への遷移がアイドル状態を継続する場合よりも電力的に有利である。ただし、ti2s_case2は、ti2s_case1よりも長い。
図12には、第1の実施形態のように退避するデータ量を固定した場合の消費電力量の曲線S1および、浅スリープ状態継続時の消費電力量がアイドル状態継続時の消費電力量と同じになる状態継続時間ti2sも示されている。たとえば、第1の実施形態のように、遷移判定情報として状態継続時間ti2sがホスト2に通知された場合には、ti2s以上処理がされない時間がある場合に、浅スリープ状態への遷移がアイドル状態の継続よりも電力的に有利となる。データ退避量が少ない第1の場合には、ti2s_case1はti2sよりも小さいので、浅スリープ状態への遷移によって、消費電力量を抑制するという目的を達成することができる。
一方、データ退避量が多い第2の場合には、ti2s_case2はti2sよりも大きいので、浅スリープ状態を継続する時間がti2sの場合には、アイドル状態の消費電力量の方が小さくなる。すなわち、第2の場合には、浅スリープ状態への遷移によって、消費電力量を抑制するという目的を達成することができず、逆に消費電力量が増加してしまう。このような議論は、他のスリープモード(深スリープ状態)への遷移でも同様である。
このように、第1〜第3の実施形態のようにデータの退避量に依らずに固定した状態継続時間を使用すると、上記第2の場合のように、スリープ状態への遷移によって電力消費量が増大してしまう場合もある。一方、第4の実施形態では、記憶部112および揮発性メモリ13にバッファリングされているデータ量を取得し、これに基づいて状態継続時間ti2sを算出し、所定のタイミングでホスト2に通知した。状態継続時間ti2sの精度が上がるので、第1の実施形態に比して、ホスト2による記憶装置1へのアクセス要求およびスリープ遷移要求がより最適なものとなり、電力削減効果がより高くなるという効果を有する。
なお、第3の実施形態のように、状態継続時間ではなく、Wa,Wb,Pi,Ps,Pdをホスト2に通知する場合でも、浅スリープ状態の退避処理時および復帰処理時の消費電力量Wa並びに深スリープ状態の退避処理時および復帰処理時の消費電力量Wbの精度が上がるので、第3の実施形態に比して、ホスト2による記憶装置1へのアクセス要求およびスリープ遷移要求がより最適なものとなり、電力削減効果がより高くなるという効果を有する。
(第5の実施形態)
第1〜第4の実施形態では、ホストが記憶装置に対して適切なタイミングでスリープ遷移要求を出すことができる手法である。しかし、記憶装置はガベージコレクションなどのホストからのアクセス要求が無い時もスリープ状態に遷移せずに動作する場合が存在する。ホストの管理外で、記憶装置の都合(以下、バックグラウンド処理という)での処理が不定期に動作すると、ホストでの適切なスケジューリングに基づいてスリープ遷移要求が出されても、スリープ遷移要求による電力削減効果が低下する可能性がある。そこで、第5の実施形態では、バックグラウンド処理によって電力削減効果が低下してしまうことを防ぐ場合について説明する。
第1〜第4の実施形態では、ホストが記憶装置に対して適切なタイミングでスリープ遷移要求を出すことができる手法である。しかし、記憶装置はガベージコレクションなどのホストからのアクセス要求が無い時もスリープ状態に遷移せずに動作する場合が存在する。ホストの管理外で、記憶装置の都合(以下、バックグラウンド処理という)での処理が不定期に動作すると、ホストでの適切なスケジューリングに基づいてスリープ遷移要求が出されても、スリープ遷移要求による電力削減効果が低下する可能性がある。そこで、第5の実施形態では、バックグラウンド処理によって電力削減効果が低下してしまうことを防ぐ場合について説明する。
第5の実施形態による記憶装置1は、第1の実施形態で説明したものと略同様であるが、コントローラ11の処理部111に以下に説明する機能が付加される。処理部111は、ホスト2からの処理推奨通知を含む処理タイミング情報を受けると、可能な限りこの処理タイミング情報の受信のタイミングでバックグラウンド処理を実行する。ただし、どのくらいの頻度でどの程度の時間、バックグラウンド処理が発生するかをホスト2は判断できないため、コントローラ11は、ホスト2から処理タイミング情報を受信したときに、バックグラウンド処理の実行が可能なときにバックグラウンド処理を実行する。バックグラウンド処理として、上記したようにガベージコレクション処理が例示される。たとえば、処理部111は、バックグラウンド処理を実行するタイミングになると、すぐにバックグラウンド処理を実行するのではなく、所定の時間待ち、この所定の時間内にホスト2から処理タイミング情報を受信すると、バックグラウンド処理を実行することによって、電力削減効果が低下するのを防ぐことが可能になる。この場合、たとえばバックグラウンド処理の実行タイミングでない場合に、ホスト2から処理タイミング情報を受信した場合には、処理部111はバックグラウンド処理を行わない。
また、ホスト2は、記憶装置1へのアクセス要求およびスリープ遷移要求のスケジューリングの結果、バックグラウンド処理が可能なタイミングを抽出し、抽出したタイミングで処理タイミング情報を記憶装置1に送信する。バックグラウンド処理が可能なタイミングとして、たとえばアイドル状態が所定時間以上続く時、優先度の低いアクセス要求が続く時などが例示される。アイドル状態が所定時間以上続く時として、所定の期間スリープ遷移を行わないと判断できる時、あるいは記憶装置1へのアクセス要求が切れるが、つぎのアクセス要求までスリープ遷移をしない時などがある。この場合には、どれくらいの期間、スリープ遷移しないかを通知してもよい。
なお、処理タイミング情報には、処理推奨通知ではなく、処理非推奨通知を含めてもよい。たとえば、深スリープ状態への遷移は、かなり長い継続時間を満たさないと、深スリープ状態へと遷移しないので、深スリープ状態への遷移は、頻度が少ないと考えられる。そのため、ホスト2は、深スリープ状態への遷移要求を出す場合には、可能な限り事前に深スリープ状態への遷移が実行されることを示す処理非推奨通知を含む処理タイミング情報を通知する。記憶装置1の処理部111は、処理非推奨通知を含む処理タイミング情報を受信すると、深スリープ状態への遷移要求を受信してから深スリープ状態が終了するまでバックグラウンド処理の実行を可能な限り実行しない。
図13は、第5の実施形態によるホストでの処理タイミング情報の設定手順の一例を示すフローチャートである。ホスト2の処理部21は、アクセス要求およびスリープ遷移要求をスケジューリングした後(ステップS51)、所定時間アクセス要求がない期間が存在するか判定する(ステップS52)。所定時間アクセス要求がない期間が存在する場合(ステップS52でYesの場合)には、処理部21は、たとえば所定時間アクセス要求がない期間の始まりに処理推奨通知を含む処理タイミング情報の送信コマンドを設定する(ステップS53)。このとき、処理推奨通知に、アクセス要求がない期間を含めてもよい。また、処理部21は、可能な限り事前に深スリープ状態への遷移が実行されることを示す処理非推奨通知を含む処理タイミング情報の送信コマンドを設定してもよい。
ステップS53の後または所定時間アクセス要求がない期間が存在しない場合(ステップS52でNoの場合)には、処理部21は、低優先度のアクセス要求が所定の数以上連続する部分が存在するかを判定する(ステップS54)。低優先度のアクセス要求が所定の数以上連続する部分が存在する場合(ステップS54でYesの場合)には、処理部21は、たとえば低優先度のアクセス要求が所定の数以上連続する部分の最初のアクセス要求の前に処理推奨通知を含む処理タイミング情報の送信コマンドを設定する(ステップS55)。低優先度のアクセス要求は、アクセス要求に対する応答が遅れてもよいアクセス要求である。また、処理部21は、可能な限り事前に深スリープ状態への遷移が実行されることを示す処理非推奨通知を含む処理タイミング情報の送信コマンドを設定してもよい。
ステップS54の後または低優先度のアクセス要求が所定の数以上連続する部分が存在しない場合(ステップS54でNoの場合)には、処理部21は、深スリープ状態への遷移要求が存在するかを判定する(ステップS56)。深スリープ状態への遷移要求が存在する場合(ステップS56でYesの場合)には、深スリープ状態への遷移要求よりも前に、処理非推奨通知を含む処理タイミング情報の送信コマンドを設定し(ステップS57)、処理が終了する。また、深スリープ状態への遷移要求が存在しない場合(ステップS56でNoの場合)には、処理が終了する。
なお、第1の実施形態の図7のフローチャートでは、ホスト2から記憶装置1へと復帰時間が通知される場合を示していたが、図13のような処理では、処理推奨通知または処理非推奨通知を含む処理タイミング情報の送信コマンドがホスト2から記憶装置1側に送信される。この場合には、図7のステップS25で、処理部111は、復帰時間であるかを判定するのではなく、実行すべきバックグラウンド処理があるか、つまり記憶装置1の都合による復帰要因があるかを判定することになる。
図14は、第5の実施形態によるバックグラウンド処理の実行手順の一例を示すフローチャートである。まず、コントローラ11の処理部111は、バックグラウンド処理発生の条件を満たしたかを判定する(ステップS71)。バックグラウンド処理発生の条件を満たしていない場合(ステップS71でNoの場合)には、待ち状態となる。また、バックグラウンド処理発生の条件を満たしている場合(ステップS71でYesの場合)には、処理部111は、ホスト2から処理推奨通知を含む処理タイミング情報を受信したかを判定する(ステップS72)。処理タイミング情報を受信した場合(ステップS72でYesの場合)には、処理部111は、現在、処理推奨期間であるかを判定する(ステップS73)。処理推奨期間である場合(ステップS73でYesの場合)には、処理部111は、バックグラウンド処理を実行し(ステップS82)、処理が終了する。
また、現在処理推奨期間ではない場合(ステップS73でNoの場合)には、処理部111は、バックグラウンド処理を実行せずに処理推奨期間まで待てるかを判定する(ステップS74)。ここでは、通常、処理推奨期間まで待つことが推奨されるが、緊急性を有するバックグラウンド処理があるなどの場合には、処理推奨期間まで待てない場合(ステップS74でNoの場合)には、ステップS82へと処理が移る。また、処理推奨期間まで待てる場合(ステップS74でYesの場合)には、処理部111は、処理推奨期間の開始まで待ち、処理推奨期間になるとステップS82に処理が移る。
ステップS72で処理推奨通知を含む処理タイミング情報を受信していない場合(ステップS72でNoの場合)には、処理部111は、処理非推奨通知を含む処理タイミング情報を受信したかを判定する(ステップS76)。処理非推奨通知を含む処理タイミング情報を受信した場合(ステップS76でYesの場合)には、処理部111は、現在処理非推奨期間であるかを判定する(ステップS77)。
現在、処理非推奨期間である場合(ステップS77でYesの場合)には、処理部111は、処理推奨期間まで待てるかを判定する(ステップS79)。ここでは、通常、処理推奨期間まで待つことが推奨されるが、処理推奨期間まで待てない場合(ステップS79でNoの場合)には、ステップS82へと処理が移る。また、処理推奨期間まで待てる場合(ステップS79でYes)の場合には、処理費非推奨期間が終了するまで待ち(ステップS80)、ステップS72へと処理が移る。
現在、処理非推奨期間ではない場合(ステップS77でNoの場合)には、処理部111は、処理非推奨期間までにバックグラウンド処理が可能かを判定する(ステップS78)。処理非推奨期間までに処理可能ではない場合(ステップS78でNoの場合)には、ステップS79へと処理が移る。また、処理委推奨期間内までに、処理可能である場合(ステップS78でYesの場合)には、ステップS82へと処理が移る。
ステップS76で処理非推奨通知を含む処理タイミング情報を受信した場合(ステップS76でNoの場合)には、処理部111は、バックグラウンド処理を実行せずに処理推奨期間まで待てるかを判定する(ステップS81)。ここでは、通常、処理推奨期間まで待つことが推奨されるが、処理推奨期間まで待てない場合(ステップS81でNoの場合)には、ステップS82へと処理が移る。また、処理推奨期間まで待てる場合(ステップS81でYesの場合)には、ステップS72へと処理が移る。
図15は、第5の実施形態によるスケジューリングされたアクセス要求と処理タイミング情報の通知の関係を模式的に示す図である。低優先度のアクセス要求302〜304は連続して実行されるため、低優先度のアクセス要求302の前に処理推奨通知を含む処理タイミング情報の送信コマンド351が設定される。その結果、たとえばアクセス要求302を受信した時に、記憶装置1が実行すべきバックグラウンド処理を持っている場合には、バックグラウンド処理361が実行される。
また、低優先度のアクセス要求304と高優先度のアクセス要求305との間のアクセス要求がない期間では、アクセス要求が切れるが、つぎのアクセス要求までスリープ遷移要求を出さない旨の処理推奨通知を含む処理タイミング情報の送信コマンド352が低優先度のアクセス要求304の後に設定される。その結果、処理タイミング情報を受信した時に、記憶装置1が実行すべきバックグラウンド処理を持っている場合には、バックグラウンド処理362が実行される。低優先度のアクセス要求306と高優先度のアクセス要求307との間にもアクセス要求がない期間が存在するが、この場合も同様に、処理推奨通知を含む処理タイミング情報の送信コマンド353が設定される。その結果、処理タイミング情報を受信した時に、記憶装置1が実行すべきバックグラウンド処理を持っている場合には、バックグラウンド処理363が実行される。これらの場合において、処理タイミング情報に、スリープ遷移要求を出さない期間(時間)を含めてもよい。
高優先度のアクセス要求305の後に、深スリープ状態への遷移要求331によって深スリープ状態341へと遷移する場合には、たとえば低優先度のアクセス要求302の前に、深スリープ状態へのスリープ遷移要求331が後に出されるがこの期間中にバックグラウンド処理を実行しない旨の処理非推奨通知を含む処理タイミング情報354が送信される。これによって、深スリープ状態341の最中には、バックグラウンド処理が行われない。
図16は、比較例によるスリープ状態への遷移とバックグラウンド処理の実行状況の一例を模式的に示す図である。第5の実施形態による処理タイミング情報を通知しない場合には、記憶装置1はバックグラウンド処理をアクセス要求がない時に行う。図16では、高優先度のアクセス要求305を受信して、その処理が終了した後にバックグラウンド処理364を実行している。その結果、ホスト2から深スリープ状態へのスリープ遷移要求331が高優先度のアクセス要求305の後に出されても、記憶装置1はバックグラウンド処理364を実行しているため、深スリープ状態へ遷移することができない。バックグラウンド処理364が完了した後、深スリープ状態341aへと遷移する。その結果、本来であれば、高優先度のアクセス要求305と低優先度のアクセス要求306との間はti2d_good以上の期間を有しているものが、バックグラウンド処理364が入ることによってti2d_good未満の期間となると、深スリープ状態341aへの遷移が電力削減にはならなくなってしまう虞がある。
これに対して、第5の実施形態では、所定の時間アクセス要求がない場合(スリープ状態に遷移しない場合)または低優先度のアクセス要求が連続する場合、あるいは深スリープ状態へのスリープ遷移要求が出される場合に、ホスト2が処理タイミング情報を記憶装置1に送信する。記憶装置1では、バックグラウンド処理の発生条件が満たされた場合に、すぐにバックグラウンド処理を実行するのではなく、その後に受信した処理タイミング情報を待って、バックグラウンド処理を実行する。これによって、アクセス要求が来ない時、優先度の低いアクセス要求が連続する時、あるいはスリープ遷移要求がない時にバックグラウンド処理が実行されるようになるので、可能な限りホスト2の見込み通りのスリープ遷移とその維持を実現することができる。その結果、ホスト2の見込み通りのスリープ遷移が実現されないことによる電力削減効果の低下を防ぐことができる。
なお、上記した説明では、スリープモードに2つの状態がある場合を示したが、3つ以上の状態が設けられてもよい。また、上記した説明では、揮発性メモリ13が記憶装置1に設けられる場合を説明したが、揮発性メモリ13が設けられない構成としてもよい。また、電源回路14がコントローラ11内に内蔵されていてもよい。さらに、上記した説明では、NANDメモリ12を記憶媒体とする場合を例に挙げたが、実施形態がこれに限定されるものではない。記憶媒体として、磁気ディスクなどを用いてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 記憶装置、2 ホスト、3 通信路、4 電源線、11 コントローラ、12 NANDメモリ、13 揮発性メモリ、14 電源回路、21,111 処理部、22,112 記憶部、23,113 バス。
Claims (20)
- 不揮発性メモリと、前記不揮発性メモリへのデータのアクセスを制御するコントローラと、前記不揮発性メモリおよび前記コントローラへの電源の供給のオン/オフを切り替える電源回路と、を備える記憶装置の電力制御方法であって、
前記コントローラは、前記不揮発性メモリへのアクセス要求または消費電力の異なる複数のスリープ状態への遷移を要求するスリープ遷移要求を受信する受信工程と、
前記コントローラは、前記スリープ遷移要求を受信すると、要求された前記スリープ状態に対応するデータの退避処理を実行する退避工程と、
前記電源回路は、前記データの退避処理が終了すると、要求された前記スリープ状態に対応して前記コントローラの一部または前記不揮発性メモリへの電源の供給を停止する電源供給停止工程と、
を含む記憶装置の電力制御方法。 - 前記コントローラは、アイドル状態から前記複数のスリープ状態のうちのそれぞれの前記スリープ状態に遷移する場合に前記アイドル状態の消費電力量よりも消費電力量が小さくなる条件を含む遷移判定情報をホストに通知する遷移判定情報通知工程をさらに含む請求項1に記載の記憶装置の電力制御方法。
- 前記遷移判定情報は、前記アイドル状態から前記複数のスリープ状態のうちのそれぞれの前記スリープ状態に遷移する場合に前記アイドル状態の消費電力量よりも消費電力量が小さくなる前記スリープ状態の継続時間を含む請求項2に記載の記憶装置の電力制御方法。
- 前記遷移判定情報は、前記アイドル状態から前記複数のスリープ状態のうちのそれぞれの前記スリープ状態に遷移する場合に、第1消費電力を有する第1スリープ状態の消費電力量よりも、前記第1消費電力よりも小さい第2消費電力を有する第2スリープ状態の消費電力量が小さくなる前記スリープ状態の継続時間をさらに含む請求項3に記載の記憶装置の電力制御方法。
- 前記遷移判定情報は、前記第1スリープ状態から前記第2スリープ状態に遷移する場合に、前記第1スリープ状態の消費電力量よりも前記第2スリープ状態の消費電力量が小さくなる前記スリープ状態の継続時間をさらに含む請求項4に記載の記憶装置の電力制御方法。
- 前記遷移判定情報は、前記アイドル状態から前記複数のスリープ状態のうちのそれぞれの前記スリープ状態に遷移する場合の前記アイドル状態時の消費電力、前記複数のスリープ状態のうちのそれぞれの前記スリープ状態への遷移および前記スリープ状態からの復帰に要する消費電力量を含む請求項2に記載の記憶装置の電力制御方法。
- 前記遷移判定情報通知工程では、前記コントローラは、前記記憶装置の起動時に所定の前記遷移判定情報を通知する請求項2に記載の記憶装置の電力制御方法。
- 前記遷移判定情報通知工程では、前記コントローラは、その時点で前記データの退避処理を実行した場合に得られる前記遷移判定情報を所定のタイミングで通知する請求項2に記載の記憶装置の電力制御方法。
- 前記コントローラは、前記アクセス要求による処理ではないバックグラウンド処理が実行可能であることを示す処理推奨通知を受信する処理推奨通知受信工程と、
前記コントローラは、前記処理推奨通知を受信した後に、バックグラウンド処理を実行する処理実行工程と、
をさらに含む請求項1に記載の記憶装置の電力制御方法。 - 不揮発性メモリと、前記不揮発性メモリへのデータのアクセスを制御するコントローラと、前記不揮発性メモリおよび前記コントローラへの電源の供給のオン/オフを切り替える電源回路と、を備える記憶装置の電力制御方法であって、
前記コントローラは、前記不揮発性メモリへのアクセス要求または消費電力の異なる複数のスリープ状態への遷移を要求するスリープ遷移要求を受信する受信工程と、
前記コントローラは、前記スリープ遷移要求を受信すると、要求された前記スリープ状態に対応するデータの退避処理を実行する退避工程と、
前記電源回路は、前記データの退避処理が終了すると、要求された前記スリープ状態に対応して前記コントローラの一部または前記不揮発性メモリへの電源の供給を停止する電源供給停止工程と、
前記コントローラは、前記アクセス要求による処理ではないバックグラウンド処理の実行の可否を示す処理可否通知を受信する処理可否通知受信工程と、
前記コントローラは、前記処理可否通知を受信した後に、前記バックグラウンド処理を実行する処理実行工程と、
を含む記憶装置の電力制御方法。 - 前記処理可否通知は、所定期間前記スリープ状態への遷移が行われないことを示す情報、あるいは応答に遅延が許される前記アクセス要求が続くことを示す情報を含む請求項10に記載の記憶装置の電力制御方法。
- 前記処理可否通知は、前記スリープ遷移要求が後に受信されることを示す情報を含み、
前記処理実行工程では、前記コントローラは、前記スリープ遷移要求が後に受信されることを示す情報を含む前記処理可否通知を受信した場合に、バックグラウンド処理を実行しない請求項10に記載の記憶装置の電力制御方法。 - 不揮発性メモリと、
前記不揮発性メモリへのデータのアクセスを制御するコントローラと、
前記不揮発性メモリおよび前記コントローラへの電源の供給のオン/オフを切り替える電源回路と、
を備える記憶装置であって、
前記コントローラは、
前記不揮発性メモリへのアクセス要求を受信すると、前記アクセス要求にしたがって前記不揮発性メモリへのアクセスを実行し、
消費電力の異なる複数のスリープ状態への遷移を要求するスリープ遷移要求を受信すると、要求された前記スリープ状態に対応するデータの退避処理を実行し、
前記電源回路は、前記データの退避処理が終了すると、要求された前記スリープ状態に対応して前記コントローラの一部または前記不揮発性メモリへの電源の供給を停止する記憶装置。 - 前記コントローラは、アイドル状態から前記複数のスリープ状態のうちのそれぞれの前記スリープ状態に遷移する場合に前記アイドル状態の消費電力量よりも消費電力量が小さくなる条件を含む遷移判定情報をホストに通知する請求項13に記載の記憶装置。
- 前記遷移判定情報は、前記アイドル状態から前記複数のスリープ状態のうちのそれぞれの前記スリープ状態に遷移する場合に前記アイドル状態の消費電力量よりも消費電力量が小さくなる前記スリープ状態の継続時間を含む請求項14に記載の記憶装置。
- 前記遷移判定情報は、前記アイドル状態から前記複数のスリープ状態のうちのそれぞれの前記スリープ状態に遷移する場合に、第1消費電力を有する第1スリープ状態の消費電力量よりも、前記第1消費電力よりも小さい第2消費電力を有する第2スリープ状態の消費電力量が小さくなる前記スリープ状態の継続時間をさらに含む請求項15に記載の記憶装置。
- 前記遷移判定情報は、前記第1スリープ状態から前記第2スリープ状態に遷移する場合に、前記第1スリープ状態の消費電力量よりも前記第2スリープ状態の消費電力量が小さくなる前記スリープ状態の継続時間をさらに含む請求項16に記載の記憶装置。
- 前記遷移判定情報は、前記アイドル状態から前記複数のスリープ状態のうちのそれぞれの前記スリープ状態に遷移する場合の前記アイドル状態時の消費電力、前記複数のスリープ状態のうちのそれぞれの前記スリープ状態への遷移および前記スリープ状態からの復帰に要する消費電力量を含む請求項14に記載の記憶装置。
- 前記コントローラは、前記記憶装置の起動時に所定の前記遷移判定情報を通知する請求項14に記載の記憶装置。
- 前記コントローラは、その時点で前記データの退避処理を実行した場合に得られる前記遷移判定情報を所定のタイミングで通知する請求項14に記載の記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018045673A JP2019159802A (ja) | 2018-03-13 | 2018-03-13 | 記憶装置の電力制御方法および記憶装置 |
US16/174,959 US11073896B2 (en) | 2018-03-13 | 2018-10-30 | Storage device and a power control method for storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018045673A JP2019159802A (ja) | 2018-03-13 | 2018-03-13 | 記憶装置の電力制御方法および記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019159802A true JP2019159802A (ja) | 2019-09-19 |
Family
ID=67905598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018045673A Pending JP2019159802A (ja) | 2018-03-13 | 2018-03-13 | 記憶装置の電力制御方法および記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11073896B2 (ja) |
JP (1) | JP2019159802A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857596A (zh) * | 2020-07-23 | 2020-10-30 | 深圳忆联信息系统有限公司 | Ssd低功耗实现方法、装置、计算机设备及存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10712806B1 (en) * | 2018-12-21 | 2020-07-14 | Micron Technology, Inc. | Management of power state transitions of a memory sub-system |
US11397460B2 (en) * | 2019-06-20 | 2022-07-26 | Western Digital Technologies, Inc. | Intelligent power saving mode for solid state drive (ssd) systems |
JP7379020B2 (ja) * | 2019-08-28 | 2023-11-14 | キヤノン株式会社 | 情報処理装置 |
US11003384B2 (en) | 2019-08-30 | 2021-05-11 | Micron Technology, Inc. | Scheduling media management operations based on determined host system usage requirements |
US11301132B2 (en) | 2019-08-30 | 2022-04-12 | Micron Technology, Inc. | Scheduling media management operations based on provided host system usage requirements |
US11175856B2 (en) | 2019-11-08 | 2021-11-16 | Micron Technology, Inc. | Background operation selection based on host idle time |
US11640251B2 (en) * | 2021-01-20 | 2023-05-02 | Western Digital Technologies, Inc. | Early transition to low power mode for data storage devices |
JP2023040578A (ja) * | 2021-09-10 | 2023-03-23 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640412B2 (en) * | 2007-01-04 | 2009-12-29 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for improving the reliability of file systems |
US8442697B2 (en) * | 2007-12-18 | 2013-05-14 | Packet Digital | Method and apparatus for on-demand power management |
US20110131427A1 (en) * | 2009-12-02 | 2011-06-02 | Jorgenson Joel A | Power management states |
US9235251B2 (en) * | 2010-01-11 | 2016-01-12 | Qualcomm Incorporated | Dynamic low power mode implementation for computing devices |
JP2011181011A (ja) | 2010-03-03 | 2011-09-15 | Toshiba Corp | データ記憶装置およびデータ記憶装置の低消費電力制御方法 |
US9530461B2 (en) | 2012-06-29 | 2016-12-27 | Intel Corporation | Architectures and techniques for providing low-power storage mechanisms |
JP2014102710A (ja) | 2012-11-20 | 2014-06-05 | Toshiba Corp | 通信装置、及びその方法 |
US9575887B2 (en) * | 2013-09-06 | 2017-02-21 | Kabushiki Kaisha Toshiba | Memory device, information-processing device and information-processing method |
JP2016103704A (ja) | 2014-11-27 | 2016-06-02 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法およびプログラム |
US9568987B2 (en) | 2015-03-10 | 2017-02-14 | Kabushiki Kaisha Toshiba | Memory system, method of controlling memory system having volatile memory and nonvolatile memory, and controller |
JP6460940B2 (ja) * | 2015-08-06 | 2019-01-30 | 東芝メモリ株式会社 | 記憶装置およびデータ退避方法 |
US10108450B2 (en) * | 2016-04-21 | 2018-10-23 | Samsung Electronics Co., Ltd. | Mechanism for SSDs to efficiently manage background activity with notify |
JP6529941B2 (ja) * | 2016-08-30 | 2019-06-12 | 東芝メモリ株式会社 | メモリシステム |
-
2018
- 2018-03-13 JP JP2018045673A patent/JP2019159802A/ja active Pending
- 2018-10-30 US US16/174,959 patent/US11073896B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857596A (zh) * | 2020-07-23 | 2020-10-30 | 深圳忆联信息系统有限公司 | Ssd低功耗实现方法、装置、计算机设备及存储介质 |
CN111857596B (zh) * | 2020-07-23 | 2023-07-04 | 深圳忆联信息系统有限公司 | Ssd低功耗实现方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20190286219A1 (en) | 2019-09-19 |
US11073896B2 (en) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019159802A (ja) | 記憶装置の電力制御方法および記憶装置 | |
US9110669B2 (en) | Power management of a storage device including multiple processing cores | |
JP6334828B2 (ja) | セルフリフレッシュ省電力モードを有するソリッドステートドライブ | |
US9104413B2 (en) | System and method for dynamic memory power management | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
EP3872641B1 (en) | Storage device and method of operating the storage device | |
US20070204270A1 (en) | Apparatus and method for processing operations of nonvolatile memory in order of priority | |
US20140013140A1 (en) | Information processing apparatus and computer program product | |
JP2013503412A (ja) | 割込み可能なnand型フラッシュ・メモリ | |
US11175858B2 (en) | Memory system control method receiving optimized buffer flush/fill (OBFF) messages over a PCIE bus | |
JP2010152853A (ja) | データ記憶装置 | |
JP2014167700A (ja) | 計算機、メモリ管理方法およびプログラム | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
US20120151238A1 (en) | Reducing power consumption in memory line architecture | |
JP2011095916A (ja) | 電子機器 | |
US20140297927A1 (en) | Information processing apparatus, information processing method, and recording medium | |
US10146483B2 (en) | Memory system | |
JP6640776B2 (ja) | メモリシステム | |
US9042196B2 (en) | Memory system and method of controlling memory system | |
US20220253252A1 (en) | Data processing method and apparatus | |
JP2010044460A (ja) | 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体 | |
US20220300172A1 (en) | Memory system, information processing system, and host device | |
JP6054203B2 (ja) | 情報処理装置、デバイス制御方法及びプログラム | |
CN113223566B (zh) | 存储器的控制系统及其控制方法 | |
CN110908595B (zh) | 存储装置及信息处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180905 |