JP2016014957A - ストレージ装置及びそのデータ処理方法 - Google Patents
ストレージ装置及びそのデータ処理方法 Download PDFInfo
- Publication number
- JP2016014957A JP2016014957A JP2014135795A JP2014135795A JP2016014957A JP 2016014957 A JP2016014957 A JP 2016014957A JP 2014135795 A JP2014135795 A JP 2014135795A JP 2014135795 A JP2014135795 A JP 2014135795A JP 2016014957 A JP2016014957 A JP 2016014957A
- Authority
- JP
- Japan
- Prior art keywords
- device sleep
- control unit
- power
- sleep process
- storage
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/061—Improving I/O performance
-
- 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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0653—Monitoring storage devices or systems
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0009—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0054—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
-
- 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
Abstract
【課題】不揮発性半導体メモリの性能劣化を抑制することが可能なストレージ装置及びそのデータ処理方法を提供する。
【解決手段】制御部27は、デバイススリープ要求を受けた場合、デバイススリープ処理の実行条件を満たす場合、揮発性メモリ29,30に保持された管理情報を第2のストレージ10に書き込み、電源制御部41により揮発性メモリ29,30、第1、第2のストレージ10,20の電源を遮断する第1のデバイススリープ処理を実行し、デバイススリープ処理の実行条件を満たさない場合、揮発性メモリ29,30に保持された管理情報を第2のストレージ10に書き込まず、電源制御部41により揮発性メモリ30に電源を供給させ、第1、第2のストレージ10,20の電源を遮断する第2のデバイススリープ処理を実行する。
【選択図】図1
Description
本発明の実施形態は、ストレージ装置及びそのデータ処理方法に関する。
近年、デバイススリープ機能を有するストレージ装置の開発が行われている。デバイススリープ機能は、ホストから供給されるトリガー信号により、低消費電力状態(以下、デバイススリープ状態と称す)に入る機能である。
デバイススリープ状態に入る前に、DRAMやSRAMのような揮発性メモリに記憶されているデータは、NANDフラッシュメモリのような不揮発性メモリに書き込まれてから電源が遮断される。
しかし、デバイススリープ状態に入る毎に、揮発性メモリのデータを不揮発性メモリに書き込むことで、不揮発性メモリの性能劣化が助長される。
本実施形態は、不揮発性半導体メモリの性能劣化を抑制することが可能なストレージ装置及びそのデータ処理方法を提供するものである。
本実施形態のストレージ装置は、データを記憶する磁気ディスクへのデータ記録を制御する第1のストレージ制御部と、データを記憶する不揮発性メモリへのデータ記録を制御する第2のストレージ制御部と、前記第1、第2のストレージ制御部に記録されるデータを保持する揮発性メモリと、前記第1、第2のストレージ制御部、及び揮発性メモリの電源を制御する電源制御部と、デバイススリープ要求を受けた際、デバイススリープ処理の実行条件を満たす場合、前記揮発性メモリに保持された前記データを前記第2のストレージ制御部により前記不揮発性メモリに書き込み、前記電源制御部により前記揮発性メモリ、前記第1、第2のストレージ制御部の電源を遮断する第1のデバイススリープ処理を実行し、前記デバイススリープ処理の実行条件を満たさない場合、前記揮発性メモリに保持された前記データを前記不揮発性メモリに書き込まず、前記電源制御部により前記揮発性メモリに電源を供給させ、前記第1、第2のストレージ制御部の電源を遮断する第2のデバイススリープ処理を実行するように制御する制御部と、を具備する。
ハードディスク装置とNANDフラッシュメモリを搭載した所謂、ハイブリッド・ハードディスク装置(以下、ハイブリッドドライブとも言う)において、デバイススリープ状態に入る時、消費電力を低減させるため、スタティックRAMやSDRAM(Synchronous DRAM)等の揮発性メモリの電源が遮断される。この場合、揮発性メモリに保持されているシステム領域の管理情報等は、NANDフラッシュメモリ等の不揮発性メモリ、又はハードディスクに書き込まれ、バックアップされる。
デバイススリープ状態から復帰するまでの時間を短縮するためには、管理情報等はハードディスク装置ではなく、NANDフラッシュメモリにバックアップする必要がある。しかし、頻繁にデバイススリープ動作が実行される場合、NANDフラッシュメモリへの書き込みが頻発する。このため、製品の動作保証期間前にNANDフラッシュメモリは書き込み回数の上限に達する可能性がある。そこで、本実施形態は、デバイススリープ処理の実行に伴うNANDフラッシュメモリの性能劣化を抑制可能とする。
以下、実施の形態について、図面を参照して説明する。
(第1の実施形態)
(ハイブリッドドライブの構成)
図1は、第1の実施形態に係るストレージ装置、すなわち、ハイブリッドドライブ1の構成例を示している。ハイブリッドドライブ1は、例えばパーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、携帯電話機、タブレット端末、プリンタ装置等の電子機器に搭載される。
(ハイブリッドドライブの構成)
図1は、第1の実施形態に係るストレージ装置、すなわち、ハイブリッドドライブ1の構成例を示している。ハイブリッドドライブ1は、例えばパーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、携帯電話機、タブレット端末、プリンタ装置等の電子機器に搭載される。
ハイブリッドドライブ1は、ソリッドステートドライブ(SSD)のような半導体ドライブユニット10と、磁気ディスクドライブユニット20と、から構成される。
(半導体ドライブユニット10)
半導体ドライブユニット10は、NANDフラッシュメモリ(以下、NANDメモリと称する)11と、メモリコントローラ12とを含む。
半導体ドライブユニット10は、NANDフラッシュメモリ(以下、NANDメモリと称する)11と、メモリコントローラ12とを含む。
NANDメモリ11は、ホスト装置51によってアクセスされたデータを格納するためのキャッシュメモリとして用いられる。このため、ホスト装置51は、ハイブリッドドライブ1をストレージ装置として利用する際、高速にアクセスすることができる。NANDメモリ11は、図示せぬ複数のメモリセルが配置された記憶領域としてのメモリセルアレイを備える。メモリセルアレイは、データの消去単位である複数のブロックにより構成され、システム領域とキャッシュ領域とに区分される。
メモリコントローラ12は、メインコントローラ27からのアクセスコマンド(例えば、ライトコマンドまたはリードコマンド)に応じて、NANDメモリ11へのアクセスを制御する。メモリコントローラ12は、ホストインタフエースコントローラ(以下、ホストIFと称する)121と、メモリインタフエースコントローラ(以下、メモリIFと称する)122と、マイクロプロセッサユニット(MPU)123と、読み出し専用メモリ(ROM)124と、ランダムアクセスメモリ(RAM)125とを含む。
ホストIF121は、メインコントローラ27と電気的に接続され、メインコントローラ27から転送される信号を受信し、メインコントローラ27に信号を送信する。具体的には、ホストIF121は、メインコントローラ27から転送されるコマンド(ライトコマンド、リードコマンド等)を受信し、これらのコマンドをMPU123に転送する。また、ホストIF121は、メインコントローラ27から転送されたコマンドに対するMPU123からの応答を、メインコントローラ27に返信する。このように、ホストIF121は、メインコントローラ27とMPU123との間のデータ転送を制御する。
メモリIF122は、NANDメモリ11と電気的に接続され、MPU123の制御に従い、NANDメモリ11にアクセスする。
MPU123は、メインコントローラ27から転送されたコマンドに基づいて、NANDメモリ11へのアクセス処理(例えば、ライト処理またはリード処理)を、所定の制御プログラムに従って実行する。
ROM124は、MPU123を実行させるための制御プログラムを予め格納している。
RAM125は、必要なデータを一時的に格納する。RAM125は、その記憶領域の一部が、MPU123のワーク領域として用いられる。
(磁気ディスクドライブユニット20)
磁気ディスクドライブユニット20は、ディスク21と、ヘッド22と、スピンドルモータ(SPM)23と、アクチュエータ24と、ドライバ集積回路(IC)25と、ヘッドIC26と、メインコントローラ27と、フラッシュROM(FROM)28と、スタティックRAM(SRAM)29と、シンクロナスDRAM(SDRAM)30とを含む。
磁気ディスクドライブユニット20は、ディスク21と、ヘッド22と、スピンドルモータ(SPM)23と、アクチュエータ24と、ドライバ集積回路(IC)25と、ヘッドIC26と、メインコントローラ27と、フラッシュROM(FROM)28と、スタティックRAM(SRAM)29と、シンクロナスDRAM(SDRAM)30とを含む。
不揮発性メモリとしてのディスク21は、例えばその一方の面に、データが磁気記録される記録面を有している。ディスク21は、SPM23によって高速に回転される。SPM23は、ドライバIC25から供給される駆動電流(または駆動電圧)により駆動される。ディスク21の記録面は、同心円状、又はスパイラル状に配置された複数のトラックを備えている。
ヘッド(ヘッドスライダ)22は、ディスク21の記録面に対応して配置される。ヘッド22は、アクチュエータ24のアームから延出したサスペンションの先端に取り付けられている。アクチュエータ24は、当該アクチュエータ24の駆動源となるボイスコイルモータ(VCM)240を有している。VCM240は、ドライバIC25から供給される駆動電流(又は駆動電圧)により駆動される。ヘッド22は、アクチュエータ24がVCM240によって駆動されることにより、ディスク21上を当該ディスク21の半径方向に、円弧を描くように移動する。
尚、図1は、一枚のディスク21を備えた構成を示している。しかし、ディスク21が複数枚積層配置されてもよい。また、図1において、ディスク21は、その一方の面に記録面を備えているが、これに限らず、ディスク21の両面に記録面を備え、当該両記録面にそれぞれ対応してヘッドが配置されてもよい。
ドライバIC25は、メインコントローラ27の制御に従い、SPM23とVCM240とを駆動する。ドライバIC25によりVCM240が駆動されることで、ヘッド22はディスク21上の目標トラックに位置付けられる。さらに、ドライバIC25は、電源コントローラ41から電源を受け、後述するように、各部に電源を供給する。
ヘッドIC26は、図1ではアクチュエータ24から離れた箇所に配置されているが、例えばアクチュエータ24の所定の箇所に固定され、フレキシブル印刷回路基板(FPC)を介してメインコントローラ27と電気的に接続される。ヘッドIC26は、ヘッド22のリード素子によりリードされたリード信号を増幅する。また、ヘッドIC26は、メインコントローラ27から供給されるライトデータをライト電流に変換して、当該ライト電流をヘッド22のライト素子に出力する。
メインコントローラ27は、例えば複数の要素が単一チップに集積された大規模集積回路(LSI)によって実現される。メインコントローラ27は、リード/ライト(R/W)チャネル271と、ハードディスクコントローラ(HDC)272と、MPU273とを含む。
R/Wチャネル271は、リード/ライトに関連する信号を処理する。即ち、R/Wチャネル271は、ヘッドIC26によって増幅されたリード信号をデジタルデータに変換し、このデジタルデータからリードデータを復号する。また、R/Wチャネル271は、MPU273を介してHDC272から供給されるライトデータを符号化し、この符号化されたライトデータをヘッドIC26に転送する。
HDC272は、デバイスインターフェース(デバイスIF)274を介してホスト装置51のホストインターフェース(ホストIF)52と電気的に接続される。デバイスIF274は、ホスト装置51から転送される信号を受信し、ホスト装置51に信号を転送する。具体的には、HDC272は、ホスト装置51から転送されるアクセスコマンド(ライトコマンド、リードコマンド等)を受信して、当該受信されたコマンドをMPU273に転送する。HDC272は、ホスト装置51とHDC272との間のデータ転送を制御する。HDC272は、MPU273、R/Wチャネル271、ヘッドIC26、及びヘッド22を介して、ディスク21へのライト及びディスク21からのリードを制御するディスクインタフエースコントローラとしても機能する。
MPU273は、ホスト装置51からのアクセスコマンド(ライトコマンド、又はリードコマンド)に応じて、メモリコントローラ12を介したNANDメモリ11へのアクセスと、R/Wチャネル271、ヘッドIC26、及びヘッド22を介したディスク21へのアクセスを制御する。
また、MPU273はホスト装置51から供給されるデバイススリープ(DEVSLP)信号に基づき、電源コントローラ41を制御し、後述するデバイススリープ処理を実行する。
MPU273の上記動作は、FROM28に格納されたファームウェアにより実行される。
SRAM29の記憶領域の一部は、MPU273のワーク領域として用いられ、NANDメモリ11のシステム領域に格納されたデータなどを一時的に保持する。
SDRAM30は、NANDメモリ11のシステム領域に格納されたデータなどを一時的に保持する。
電源コントローラ41は、MPU273又はホスト装置51から供給される要求に基づき、ハイブリッドドライブ1の電源を制御する。すなわち、電源コントローラ41は、ホストIF52を介してホスト装置51に接続されるとともに、メインコントローラ27のMPU273、磁気ディスクドライブユニット20のドライバIC25、及びSDRAM30に接続されている。電源コントローラ41は、ドライバIC25、及びSDRAM30に電源を供給する。ドライバIC25は、電源コントローラ41からの電源をNANDメモリ11、メモリコントローラ12、ヘッドIC26、メインコントローラ27、FROM28、SRAM29、及びSDRAM30へ供給する。さらに、ドライバIC25は、電源が供給されたとき、メインコントローラ27にパワーオンリセット信号を供給する。
また、電源コントローラ41は、後述するように、デバイススリープ状態に入る時、各部の電源を遮断する。この電源コントローラ41は、デバイススリープ状態から復帰する時、ホスト装置51から供給されるDEVSLP信号のネゲートに従ってブートインジケータ信号を生成し、MPU273に供給する。ブートインジケータ信号には、デバイススリープ状態でSDRAM30に電源を供給していたか否かの情報も含まれている。MPU273は、電源コントローラ41から供給されるブートインジケータ信号に基づき、通常のパワーオンかデバイススリープ状態からの復帰かを判断する。
尚、上記ハイブリッドドライブ1は、ディスク21とNANDメモリ11からなる2つの不揮発性メモリを含む例を示した。しかし、ハイブリッドドライブ1は、これに限定されるものではなく、アクセス速度や記憶容量が異なる複数種類の不揮発性メモリにより構成されていればよい。
(デバイススリープ処理のシーケンス)
図2は、デバイススリープ処理のシーケンスを概略的に示している。
図2は、デバイススリープ処理のシーケンスを概略的に示している。
図2に示すように、ハイブリッドドライブ1のステイタスが、ファイレディ(PHYRDY)、パーシャル(Partial)、又はスランバ(Slumber)の状態において、ホスト装置51から供給されるDEVSLP信号は、ネゲート(negate)状態にある。この状態において、DEVSLP信号がアサート(assert)されると、MPU273は、デバイススリープ状態に移行するための準備を実行する。また、後述するように、DEVSLP信号がアサートされると、MPU273及び電源コントローラ41によりデバイススリープ状態に移行するための前処理が実行され、この後、デバイスIF274を含むハイブリッドドライブ1の電源がオフとされる。このため、デバイスIF274は、ホストIF52より遅れてデバイススリープ状態に移行する。
本実施形態において、デバイススリープ処理は、後述するように、SDRAM30の電源をオフする場合(以下、第1のデバイススリープ処理と称す)と、SDRAM30の電源をオンのままとする場合(以下、第2のデバイススリープ処理と称す)とがある。
第1のデバイススリープ処理の場合、SRAM29及びSDRAM30に保持されているデータはNANDメモリ11にバックアップされる。また、第2のデバイススリープ処理の場合、SRAM29に格納されているデータはSDRAM30にバックアップされる。第2のデバイススリープ処理は、NANDメモリ11の書き込み回数を抑制することが可能である。
上記準備が完了した後、MPU273から電源コントローラ41に電源オフの要求が発行される。第2のデバイススリープ処理の場合、電源コントローラ41は、この要求に従い、ドライバIC25の電源をオフとすることにより、電源コントローラ41及び、又はSDRAM30を除き、ハイブリッドドライブ1の電源がオフとされ、デバイススリープ状態となる。
一方、デバイススリープ状態から復帰する場合において、ホスト装置51から電源コントローラ41に供給されるDEVSLP信号がネゲートされると、電源コントローラ41は、ドライバIC25の電源をオンとする。ドライバIC25は、メインコントローラ27、FROM28、SRAM29、SDRAM30等に電源を供給するとともに、メインコントローラ27にパワーオンリセット信号を供給する。メインコントローラ27は、パワーオン処理を実行してファームウェアを起動する。メインコントローラ27のMPU273は、通常のパワーオンであるか、デバイススリープ状態からの復帰であるかを電源コントローラ41から供給されるブートインジケータ信号により判断する。この結果、デバイススリープからの復帰である場合、NANDメモリ11又はSDRAM30にバックアップしていたデータがSRAM29に復旧される。この後、ホスト装置51からのOOB(out of band :例えばCOMRESET、又はCOMWAKE)を待ち、OOBを検出すると、ファイレディ(PHYRDY)状態に復帰する。
(第2のデバイススリープ処理に移行するための条件)
上記のように、本実施形態は、第1、第2のデバイススリープ処理を有している。デバイススリープ状態に移行する際に、下記(1)(2)(3)のいずれかの条件が成立する場合、電源コントローラ41はSDRAM30の電源を切らず、MPU273はシステム領域の管理情報等(以下、単にデータとも称す)をSDRAM30に保存し、NANDメモリ11には保存しない第2のデバイススリープ処理に移行する。
上記のように、本実施形態は、第1、第2のデバイススリープ処理を有している。デバイススリープ状態に移行する際に、下記(1)(2)(3)のいずれかの条件が成立する場合、電源コントローラ41はSDRAM30の電源を切らず、MPU273はシステム領域の管理情報等(以下、単にデータとも称す)をSDRAM30に保存し、NANDメモリ11には保存しない第2のデバイススリープ処理に移行する。
(1)前回の第1のデバイススリープ処理から復帰した時点から現在までの時間Dtが、NANDメモリ11のデータの保存可能間隔(時間)Mtを超えていない。
(2)第1のデバイススリープ処理に入った通算回数Tcが閾値Fcを超えている。
(3)任意の時間間隔It内に第1のデバイススリープ処理に入った回数Pcが閾値Gcを超えている。
上記条件(1)(2)(3)の何れかを用いて、第2のデバイススリープ処理に入ることにより、ホスト装置51から発行されるデバイススリープ要求の頻度が多い場合においても、NANDメモリ11への書き込み回数を抑制することができる。
また、時間Mt、閾値Fc、及び閾値Gcを可変にすることにより、NANDメモリ11の書き換え回数の上限を考慮した製品動作保証期間を満たす範囲において、ホスト装置51のデバイススリープ要求に応じて第1のデバイススリープ処理に入ることができる。
尚、上記条件(1)(2)(3)は、個別に判断しても良いし、組み合わせて判断しても良い。以下の実施形態においては、条件(1)(2)(3)を個別に判断する場合について説明する。
(第1の実施形態)
第1の実施形態は、条件(1)を判断することにより、第1のデバイススリーブ処理、又は第2のデバイススリープ処理に移行する。
第1の実施形態は、条件(1)を判断することにより、第1のデバイススリーブ処理、又は第2のデバイススリープ処理に移行する。
上記条件(1)に用いられる管理情報等の保存可能間隔Mtの算出方法の一例を下記に示す。
NANDメモリ11の書き換え可能回数をNc、システム領域の管理情報等の保存用に確保したNANDメモリ11上の領域のサイズ(Byte)をNs、デバイススリープ実行時における1回当りのシステム領域の管理情報等の保存サイズ(Byte)をSs、システム領域の管理情報等の保存可能回数をScと定義すると、保存可能回数Scは、次式(1)で示される。
Sc=(Nc×Ns)/Ss …(1)
製品動作保証期間(時間)がLtである場合、システム領域の管理情報等の保存可能間隔(時間)Mtは、次式(2)で示される。
製品動作保証期間(時間)がLtである場合、システム領域の管理情報等の保存可能間隔(時間)Mtは、次式(2)で示される。
Mt=Lt/Sc
=Lt/((Nc×Ns)/Ss) …(2)
次式(3)を満たすまでは、ホスト装置51からデバイススリープ要求があっても、第2のデバイススリープ処理(NANDメモリ11にデータを保存せず、SDRAM30に電源を供給する)にするようにしてNANDメモリ11に書き込まないようにすれば、製品動作保証期間を満たすことができる。
=Lt/((Nc×Ns)/Ss) …(2)
次式(3)を満たすまでは、ホスト装置51からデバイススリープ要求があっても、第2のデバイススリープ処理(NANDメモリ11にデータを保存せず、SDRAM30に電源を供給する)にするようにしてNANDメモリ11に書き込まないようにすれば、製品動作保証期間を満たすことができる。
Dt≧Mt …(3)
ここで、Dtは、前回の第1のデバイススリープ処理(NANDメモリ11にデータを保存して電源を切る)から復帰してから現在までの時間である。
ここで、Dtは、前回の第1のデバイススリープ処理(NANDメモリ11にデータを保存して電源を切る)から復帰してから現在までの時間である。
例えばNc=10000回、Ns=2GByte、Ss=2MByte、Lt=26280時間(3年)の場合、システム領域に保存された管理情報等の保存可能回数Scは、式(1)から次のようになる。
Sc=(Nc×Ns)/Ss=10,000,000回
システム領域に保存された管理情報等の保存可能間隔(時間)Mtは、式(2)から次のようになる。
システム領域に保存された管理情報等の保存可能間隔(時間)Mtは、式(2)から次のようになる。
Mt=Lt/Sc
=26280時間/10,000,000回
=9.46秒
このため、最短で9.46秒に1回、第1のデバイススリープ処理が実行されている場合でも、製品動作保証期間を満たすことができる。
=26280時間/10,000,000回
=9.46秒
このため、最短で9.46秒に1回、第1のデバイススリープ処理が実行されている場合でも、製品動作保証期間を満たすことができる。
(第1の実施形態の動作)
図3乃至図7を参照して条件(1)を用いた第1の実施形態の動作について説明する。
図3乃至図7を参照して条件(1)を用いた第1の実施形態の動作について説明する。
図3に示すように、ハイブリッドドライブ1の電源がオンとされた場合、電源コントローラ41は、ドライバIC25の電源をオンとする。ドライバIC25は、メインコントローラ27に電源を供給するとともに、パワーオンリセット信号を供給する。メインコントローラ27は、パワーオン初期化処理を実行してファームウェアを起動する(S11)。メインコントローラ27のMPU273は、電源コントローラ41から供給されるブートインジケータ信号により、通常のパワーオンであることを判断する。
この後、例えばMPU273に内蔵された図示せぬハードウェアタイマの動作が開始され、時間が計測される(S12)。尚、ハードウェアタイマに限定されるものではなく、ソフトウェアタイマを用いることも可能である。
次いで、パワーオン初期化処理により、NANDメモリ11のシステム領域の管理情報等の保存可能間隔(時間)Mtが算出される(S13)。
上記保存可能間隔Mtが算出された後、MPU273は、レディー状態となる(S14)。
この後、ホスト装置51から発行されたコマンドを受信したかどうかが判断される(S15)。この結果、コマンドを受信したと判断された場合、コマンドに対応する処理が実行される(S16)。例えばライトコマンドを受信した場合、ライトコマンドに従って、データの書き込み処理が実行される。この後、制御がS15に移行される。
また、コマンドが受信されていない場合、ホスト装置51からのデバイススリープ要求が検出されたかが判定される(S17)。すなわち、DEVSLP信号がアサートされたかどうかが判断される。この結果、DEVSLP信号がアサートされてない場合、制御がS15に移行される。
一方、DEVSLP信号がアサートされたと判断された場合、デバイススリープ処理が実行される(S18)。
図4は、第1の実施形態に係るデバイススリープ処理の実行を示している。
図4において、先ず、前回の第1のデバイススリープ処理から復帰してから現在までの時間Dtが算出される(S21)。この時間Dtは、例えばハードウェアタイマにより計測された時間を用いて算出される。前回の第1のデバイススリープ処理から復帰した時間は、例えばNANDメモリ11又はディスク21に保存されており、この時間は、パワーオン初期化処理において読み出される。
次に、時間Dtがシステム領域の管理情報等の保存可能間隔(時間)Mtを超えているかどうかが判断される(S22)。この結果、時間Dtが時間Mtを越えていると判断された場合、第1のデバイススリープ処理の前処理が実行され(S23)、時間Dtが時間Mtを越えていないと判断された場合、第2のデバイススリープ処理の前処理が実行される(S24)。
図5は、第1のデバイススリープ処理の前処理の一例を示している。
第1のデバイススリープ処理の前処理において、先ず、揮発性メモリとしてのSRAM29、SDRAM30に保存されている管理情報等が、不揮発性メモリとしてのNANDメモリ11のシステム領域にバックアップされる(S31)。
この後、電源コントローラ41により、SRAM29、SDRAM30の電源が遮断される(S32)。
図6は、第2のデバイススリープ処理の前処理の一例を示している。
第2のデバイススリープ処理の前処理において、先ず、揮発性メモリとしてのSRAM29に保存されているデータが、SDRAM30にバックアップされる(S41)。
この後、電源コントローラ41により、SRAM29の電源が遮断され、SDRAM30には電源が供給されたままとされる(S42)。
上記第1又は第2のデバイススリープ処理の前処理が実行された後、制御が図4に示すS25に移行される。S25において、揮発性メモリと電源コントローラ41以外の回路の電源が遮断される。すなわち、第1のデバイススリープ処理の前処理S23を通った場合、SRAM29、SDRAM30の電源が既にオフとされている。この状態において、電源コントローラ41以外の回路の電源がオフとされる。また、第2のデバイススリープ処理の前処理S24を通った場合、SRAM29の電源が既にオフとされ、SDRAM30の電源はオンのままとされている。この状態において、SDRAM30と電源コントローラ41以外の回路の電源が遮断される。このように、電源コントローラ41以外の回路の電源が遮断されて、デバイススリープ状態に移行される(S26)。
デバイススリープ状態において、電源コントローラ41により、デバイススリープ状態からの復帰要求が検出されたかどうか判断される(S27)。すなわち、電源コントローラ41は、ホスト装置51から供給されるDEVSLP信号のネゲートの検出待ち状態にある。この状態において、電源コントローラ41により、DEVSLP信号のネゲートが検出された場合、制御が図3にS19で示すデバイススリープ状態からの復帰動作に移行される。
図7は、デバイススリープ状態からの復帰動作の一例を示している。
ホスト装置51から電源コントローラ41に供給されるDEVSLP信号がネゲートされると、前述したように、電源コントローラ41は、ドライバIC25の電源をオンとする。ドライバIC25は、メインコントローラ27、FROM28、SRAM29、SDRAM30等に電源を供給するとともに、メインコントローラ27にパワーオンリセット信号を供給する。メインコントローラ27は、パワーオン処理を実行してファームウェアを起動する(S51)。
メインコントローラ27のMPU273は、通常のパワーオンであるか、デバイススリープ状態からの復帰であるかを電源コントローラ41から供給されるブートインジケータ信号により判断する。この結果、デバイススリープからの復帰である場合、SDRAM30の電源がオフ状態であったかどうか判断される(S52)。この判断は、ブートインジケータ信号に含まれる、デバイススリープ状態でSDRAM30に電源を供給していたか否かの情報により行なわれる。この結果、SDRAM30の電源がオフ状態であった場合、第1のデバイススリープ処理からの復帰と判断され、NANDメモリ11にバックアップしたデータが読み出され、SRAM29、SDRAM30に復旧される(S53)。また、SDRAM30の電源がオフ状態ではなかった場合、第2のデバイススリープ処理からの復帰と判断され、SDRAM30にバックアップしたデータが読み出され、SRAM29に復旧される(S54)。
この後、ホスト装置51からのOOBの検出待ちとなる(S55)。この状態において、OOBが検出されると、ホストIF、デバイスIFの電源ステートがファイレディ(PHYRDY)状態に復帰され(S56)、デバイススリープ状態から復帰される(S57)。
上記第1の実施形態によれば、デバイススリープ状態に入る際、前回のデバイススリープ状態から復帰してから現在までの時間Dtが、システム領域の管理情報等の保存可能間隔(時間)Mtを超えているかどうかが判断される。時間Dtが時間Mtを超えていない場合、第2のデバイススリープ処理により、SRAM29に保持されているデータがNANDメモリ11にバックアップされず、電源が供給され続けられるSDRAM30にバックアップされている。このため、NANDメモリ11に対する書き込み回数を削減でき、NANDメモリ11の性能劣化を抑制することができる。
また、システム領域に保存された管理情報等の保存可能間隔(時間)Mt、閾値Fc、及び閾値Gcは可変とされている。このため、NANDメモリ11の書き換え回数の上限を考慮した製品動作保証期間を満たす範囲において、ホスト装置51のデバイススリープ要求に応じて第1のデバイススリープ処理に入ることができる。したがって、第1のデバイススリープ処理に移行されるまでの期間を可変することができ、NANDメモリ11の性能劣化の防止と消費電力の低減を両立することが可能である。
(第2の実施形態)
上記第1の実施形態は、条件(1)に基づき、第1のデバイススリープ処理への移行か第2のデバイススリープ処理への移行かを判断した。これに対して、第2の実施形態は、条件(2)を判断することにより、第1のデバイススリーブ処理、又は第2のデバイススリープ処理に移行する。
上記第1の実施形態は、条件(1)に基づき、第1のデバイススリープ処理への移行か第2のデバイススリープ処理への移行かを判断した。これに対して、第2の実施形態は、条件(2)を判断することにより、第1のデバイススリーブ処理、又は第2のデバイススリープ処理に移行する。
上記条件(2)は、第1のデバイススリープ処理に入った通算回数Tcが閾値Fcを超えているかどうかを判断する。
条件(2)に用いられる閾値Fcの算出方法の一例を下記に示す。
ここで、通算通電時間(Power ON Life Time)をPLtと定義すると、
閾値Fcは次式(4)で示される。
閾値Fcは次式(4)で示される。
Fc=Sc×(PLt/Lt) …(4)
ここで、Scは、システム領域の管理情報等の保存可能回数、Ltは、製品動作保証期間(時間)である。
ここで、Scは、システム領域の管理情報等の保存可能回数、Ltは、製品動作保証期間(時間)である。
ここで、Scに式(1)を代入すると、閾値Fcは次式(5)で示される。
Fc=((Nc×Ns)/Ss)×(PLt/Lt) …(5)
ここで、Ncは、NANDメモリ11の書き換え可能回数、Nsは、システム領域の管理情報等の保存用に確保したNANDメモリ11上の領域のサイズ、Ssは、デバイススリープ実行時における1回当りのシステム領域の管理情報等の保存サイズである。
ここで、Ncは、NANDメモリ11の書き換え可能回数、Nsは、システム領域の管理情報等の保存用に確保したNANDメモリ11上の領域のサイズ、Ssは、デバイススリープ実行時における1回当りのシステム領域の管理情報等の保存サイズである。
よって、これまでに第1のデバイススリープ処理が実行された通算回数Tc、すなわち、システム領域の管理情報等をNANDメモリ11に保存した通算回数Tcが、閾値Fcを超えていなければ、連続して第1のデバイススリープ処理を実行することができる。
例えばシステム領域の管理情報等の保存可能回数Scが10,000,000回、通算通電時間PLtが10時間、製品動作保証期間Ltが26280時間(3年)である場合、閾値Fcは式(5)から次のようになる。
Fc=10,000,000回×(10時間/26280時間)
=3805回
すなわち、ハイブリッドドライブ1の通算通電時間PLtが10時間の場合、10時間の間に全く第1のデバイススリープ処理に入っていないのであれば、3805回のデバイススリープ要求があっても、連続して第1のデバイススリープ処理に入ることが可能となる。つまり、次に、第1のデバイススリープ処理に入ることが可能になるまでの期間を条件(1)の場合と異なり可変とすることができる。
=3805回
すなわち、ハイブリッドドライブ1の通算通電時間PLtが10時間の場合、10時間の間に全く第1のデバイススリープ処理に入っていないのであれば、3805回のデバイススリープ要求があっても、連続して第1のデバイススリープ処理に入ることが可能となる。つまり、次に、第1のデバイススリープ処理に入ることが可能になるまでの期間を条件(1)の場合と異なり可変とすることができる。
尚、デバイススリープ状態に入った通算回数Tcは、第1のデバイススリープ処理になる度にインクリメントするものとする。
(第2の実施形態の動作)
図3、図8を参照して条件(2)を用いた第2の実施形態の動作について説明する。尚、第1の実施形態と同一部分については、同一符号を付し、説明は省略する。
図3、図8を参照して条件(2)を用いた第2の実施形態の動作について説明する。尚、第1の実施形態と同一部分については、同一符号を付し、説明は省略する。
図3に示すように、ハイブリッドドライブ1の電源がオンとされた場合、S11でファームウェアが起動され、S12でハードウェアタイマの動作が開始される。この後、パワーオン初期化処理により、第1のデバイススリープ処理に入った通算回数Tcが算出される(S13)。この通算回数Tcは、例えば動作ログの記録に基づき算出される。この動作の後、レディー状態となる(S14)。
次いで、S15〜S17が実行され、S17において、デバイススリープ要求が検出された場合、デバイススリープが実行される(S18)。
図8は、第2の実施形態に係るデバイススリープ処理の実行を示している。
図8において、先ず、上記式(5)を用いて閾値Fcが算出される(S61)。この後、デバイススリープ状態に入った通算回数Tcが閾値Fcを超えていないかどうかが判断される(S62)。この結果、通算回数Tcが閾値Fcを超えていない場合、通算回数Tcがインクリメントされ(S63)、図5に示した第1のデバイススリープ処理の前処理が実行される(S23)。一方、通算回数Tcが閾値Fcを超えている場合、図6に示した第2のデバイススリープ処理の前処理が実行される(S24)。
このようにして、第1又は第2のデバイススリープ処理の前処理が実行された後、S25を介してデバイススリープ状態に移行される(S26)。この後、デバイススリープ状態からの復帰要求が検出されると(S27)、図3に示すS19により、デバイススリープからの復帰処理が実行される。
上記第2の実施形態によれば、デバイススリープ状態に入る際、デバイススリープ状態に入った通算回数Tcが閾値Fcを超えているかどうかが判断される。この結果、通算回数Tcが閾値Fcを超えている場合、第2のデバイススリープ処理に移行される。このため、NANDメモリ11に対する書き込み回数を削減でき、NANDメモリ11の性能劣化を抑制することができる。
しかも、第2の実施形態によれば、通算通電時間PLtや製品動作保証期間Ltなどを用いて閾値Fcを算出することにより、閾値Fcを可変することができる。このため、第2のデバイススリープ処理に移行されるまでの期間を可変することができ、NANDメモリ11の性能劣化の防止と消費電力の低減を両立することが可能である。
(第3の実施形態)
第3の実施形態は、条件(3)を判断することにより、第1のデバイススリーブ処理、又は第2のデバイススリープ処理に移行する。
第3の実施形態は、条件(3)を判断することにより、第1のデバイススリーブ処理、又は第2のデバイススリープ処理に移行する。
条件(3)は、任意の時間間隔It内に第1のデバイススリープ処理に入った回数Pcが閾値Gcを超えているかどうかを判断する。
条件(3)に用いられる閾値Gcの算出方法の一例を下記に示す。
ここで、システム領域の管理情報等の保存可能回数をSc、任意の時間間隔をIt、製品動作保証期間をLtと定義すると、閾値Gcは、次式(6)で示される。
Gc=Sc×(It/Lt) …(6)
式(6)に式(1)を代入すると、次式(7)となる。
式(6)に式(1)を代入すると、次式(7)となる。
Gc=((Nc×Ns)/Ss)×(It/Lt)…(7)
ここで、Ncは、NANDメモリ11の書き換え可能回数、Nsは、システム領域の管理情報等の保存用に確保したNANDメモリ11上の領域のサイズ、Ssは、デバイススリープ実行時における1回当りのシステム領域の管理情報等の保存サイズである。
ここで、Ncは、NANDメモリ11の書き換え可能回数、Nsは、システム領域の管理情報等の保存用に確保したNANDメモリ11上の領域のサイズ、Ssは、デバイススリープ実行時における1回当りのシステム領域の管理情報等の保存サイズである。
よって、任意の時間間隔Itの間に第1のデバイススリープ処理になった回数Pcがこの閾値Gcを超えていなければ、連続して第1のデバイススリープ処理に入っても問題ない。
尚、電源オン時、及び通電時間Ptが任意の時間間隔It×n(nは自然数)に達する度に、第1のデバイススリープ処理に入った回数Pcを“0”に初期化し、第1のデバイススリープ処理になる度にPcをインクリメントするものとする。また、任意の時間間隔Itは、電源オン後に任意のタイミングで変更可能とする。
(第3の実施形態の動作)
図9、図10を参照して条件(3)を用いた第3の実施形態の動作について説明する。尚、第1、第2の実施形態と同一部分については、同一符号を付し、説明は省略する。
図9、図10を参照して条件(3)を用いた第3の実施形態の動作について説明する。尚、第1、第2の実施形態と同一部分については、同一符号を付し、説明は省略する。
図9に示すように、ハイブリッドドライブ1の電源がオンとされた場合、S11でファームウェアが起動され、S12でハードウェアタイマの動作が開始される。この後、通電時間Ptと任意の時間間隔It内に第1のデバイススリープ処理に入った回数Pcとがクリアされ、任意の時間間隔Itが一定値に初期設定され、“n”が“1”に初期設定される(S71)。
上記初期設定の後、MPU273は、レディー状態となる(S14)。
次いで、ハードウェアタイマの値が通電時間Ptに設定される(S72)。
この後、通電時間Ptが任意の時間間隔It×n以上となったかどうかが判断される(S73)。この結果、通電時間Ptが任意の時間間隔It×n以上である場合、第1のデバイススリープ処理に入った回数Pcが“0”にクリアされ、“n”の値がインクリメントされる(S74)。また、S73の判断において、通電時間Ptが任意の時間間隔It×nに達していない場合、S74はスキップされる。
次いで、S15〜S17が実行され、S17において、デバイススリープ要求が検出された場合、デバイススリープ処理が実行される(S18)。
図10は、第3の実施形態に係るデバイススリープ処理の実行を示している。
図10において、先ず、式(6)を用いて、閾値Gcが算出される(S81)。
この後、任意の時間間隔Itの間に第1のデバイススリープ処理になった回数Pcが閾値Gcを超えていないかどうかが判断される(S82)。この結果、回数Pcが閾値Gcを超えていない場合、回数Pcがインクリメントされ(S83)、図5に示した第1のデバイススリープ処理の前処理が実行される(S23)。また、判別の結果、回数Pcが閾値Gcを超えている場合、図6に示した第2のデバイススリープ処理の前処理が実行される(S24)。
このようにして、第1又は第2のデバイススリープ処理の前処理が実行された後、S25を介してデバイススリープ状態に移行される(S26)。この後、デバイススリープ状態からの復帰要求が検出されると(S27)、図9に示すS19により、デバイススリープからの復帰処理が実行される。
上記第3の実施形態によれば、デバイススリープ状態に入る際、任意の時間間隔It内に第1のデバイススリープ処理に入った回数Pcが閾値Gcを超えているかどうかが判断される。この結果、回数Pcが閾値Gcを超えている場合、第2のデバイススリープ処理に移行される。このため、NANDメモリ11に対する書き込み回数を削減でき、NANDメモリ11の性能劣化を抑制することができる。
しかも、第3の実施形態によれば、任意の時間間隔Itを可変することができる。このため、第2のデバイススリープ処理に移行されるまでの期間を可変することができ、NANDメモリ11の性能劣化の防止と消費電力の低減を両立することが可能である。
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…ハイブリッドドライブ、10…半導体ドライブユニット、11…NANDメモリ(不揮発性メモリ)、20…磁気ディスクドライブユニット、21…ディスク(不揮発性メモリ)、27…メインコントローラ、29…SRAM(揮発性メモリ)、30…SDRAM(揮発性メモリ)、41…電源コントローラ。
Claims (5)
- データを記憶する磁気ディスクへのデータ記録を制御する第1のストレージ制御部と、
データを記憶する不揮発性メモリへのデータ記録を制御する第2のストレージ制御部と、
前記第1、第2のストレージ制御部に記録されるデータを保持する揮発性メモリと、
前記第1、第2のストレージ制御部、及び揮発性メモリの電源を制御する電源制御部と、
デバイススリープ要求を受けた際、デバイススリープ処理の実行条件を満たす場合、前記揮発性メモリに保持された前記データを前記第2のストレージ制御部により前記不揮発性メモリに書き込み、前記電源制御部により前記揮発性メモリ、前記第1、第2のストレージ制御部の電源を遮断する第1のデバイススリープ処理を実行し、
前記デバイススリープ処理の実行条件を満たさない場合、前記揮発性メモリに保持された前記データを前記不揮発性メモリに書き込まず、前記電源制御部により前記揮発性メモリに電源を供給させ、前記第1、第2のストレージ制御部の電源を遮断する第2のデバイススリープ処理を実行するように制御する制御部と、
を具備するストレージ装置。 - 前記制御部は、前記デバイススリープ処理の実行条件として、前回の前記第1のデバイススリープ処理から復帰した時点から現在までの時間Dtが前記データの保存可能時間Mtを越えているかを判断し、前記時間Dtが前記時間Mtを越えていないと判断された場合、前記第2のデバイススリープ処理を実行する請求項1記載のストレージ装置。
- 前記制御部は、前記デバイススリープ処理の実行条件として、前記第1のデバイススリープ処理が実行された通算の回数Tcが第1の閾値Fcを超えているかを判断し、前記通算の回数Tcが前記第1の閾値Fcを超えていると判断された場合、前記第2のデバイススリープ処理を実行する請求項1又は2記載のストレージ装置。
- 前記制御部は、前記デバイススリープ処理の実行条件として、一定の時間間隔内に前記第1のデバイススリープ処理が実行された回数Pcが第2の閾値Gcを超えているかを判断し、前記回数Pcが前記第2の閾値Gcを超えていると判断された場合、前記第2のデバイススリープ処理を実行する請求項1乃至3のいずれかに記載のストレージ装置。
- データを記憶する磁気ディスクへのデータ記録を制御する第1のストレージ制御部と、データを記憶する不揮発性メモリへのデータ記録を制御する第2のストレージ制御部と、前記第1、第2のストレージ制御部に記録されるデータを保持する揮発性メモリと、前記第1、第2のストレージ制御部、及び揮発性メモリの電源を制御する電源制御部と、を具備するストレージ装置のデータ処理方法であって、
デバイススリープ要求を受けた際、デバイススリープ処理の実行条件を満たす場合、前記揮発性メモリに保持された前記データを前記第2のストレージ制御部により前記不揮発性メモリに書き込み、前記電源制御部により前記揮発性メモリ、前記第1、第2のストレージ制御部の電源を遮断する第1のデバイススリープ処理を実行し、
前記デバイススリープ処理の実行条件を満たさない場合、前記揮発性メモリに保持された前記データを前記不揮発性メモリに書き込まず、前記電源制御部により前記揮発性メモリに電源を供給させ、前記第1、第2のストレージ制御部の電源を遮断する第2のデバイススリープ処理を実行するように制御することを特徴とするストレージ装置のデータ処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014135795A JP2016014957A (ja) | 2014-07-01 | 2014-07-01 | ストレージ装置及びそのデータ処理方法 |
US14/552,316 US9569128B2 (en) | 2014-07-01 | 2014-11-24 | Storage device and data processing method |
CN201510098238.7A CN105320243A (zh) | 2014-07-01 | 2015-03-05 | 存储设备及其处理方法 |
US15/394,018 US20170109081A1 (en) | 2014-07-01 | 2016-12-29 | Storage device and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014135795A JP2016014957A (ja) | 2014-07-01 | 2014-07-01 | ストレージ装置及びそのデータ処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016014957A true JP2016014957A (ja) | 2016-01-28 |
Family
ID=55017040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014135795A Pending JP2016014957A (ja) | 2014-07-01 | 2014-07-01 | ストレージ装置及びそのデータ処理方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9569128B2 (ja) |
JP (1) | JP2016014957A (ja) |
CN (1) | CN105320243A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019133623A (ja) * | 2018-01-30 | 2019-08-08 | 廣達電脳股▲ふん▼有限公司 | メモリモジュール内のデータを保全するコンピュータシステムおよびそれを用いたコンピュータ実装方法 |
JP2019181755A (ja) * | 2018-04-05 | 2019-10-24 | キヤノン株式会社 | 記憶手段を有する画像形成装置、画像形成装置の制御方法 |
JP7379020B2 (ja) | 2019-08-28 | 2023-11-14 | キヤノン株式会社 | 情報処理装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6180450B2 (ja) * | 2015-02-02 | 2017-08-16 | キヤノン株式会社 | 制御装置、制御装置の制御方法及びプログラム |
KR20210001546A (ko) * | 2019-06-28 | 2021-01-06 | 에스케이하이닉스 주식회사 | 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742787A (en) * | 1995-04-10 | 1998-04-21 | Intel Corporation | Hardware reset of a write state machine for flash memory |
US7472222B2 (en) * | 2004-10-12 | 2008-12-30 | Hitachi Global Storage Technologies Netherlands B.V. | HDD having both DRAM and flash memory |
JP5008845B2 (ja) | 2005-09-01 | 2012-08-22 | 株式会社日立製作所 | ストレージシステムとストレージ装置及びその制御方法 |
JP5397609B2 (ja) | 2009-09-01 | 2014-01-22 | 日本電気株式会社 | ディスクアレイ装置 |
US20110185208A1 (en) * | 2010-01-28 | 2011-07-28 | Apple Inc. | Memory power reduction in a sleep state |
WO2013089685A1 (en) * | 2011-12-13 | 2013-06-20 | Intel Corporation | Enhanced system sleep state support in servers using non-volatile random access memory |
US9032235B2 (en) | 2012-07-31 | 2015-05-12 | Kabushiki Kaisha Toshiba | Semiconductor storage device and method for controlling the semiconductor storage device |
US9430386B2 (en) * | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US8917471B1 (en) * | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
CN103729302A (zh) * | 2014-01-02 | 2014-04-16 | 厦门雅迅网络股份有限公司 | 一种避免对flash分区频繁读写的方法 |
-
2014
- 2014-07-01 JP JP2014135795A patent/JP2016014957A/ja active Pending
- 2014-11-24 US US14/552,316 patent/US9569128B2/en active Active
-
2015
- 2015-03-05 CN CN201510098238.7A patent/CN105320243A/zh active Pending
-
2016
- 2016-12-29 US US15/394,018 patent/US20170109081A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019133623A (ja) * | 2018-01-30 | 2019-08-08 | 廣達電脳股▲ふん▼有限公司 | メモリモジュール内のデータを保全するコンピュータシステムおよびそれを用いたコンピュータ実装方法 |
US10872018B2 (en) | 2018-01-30 | 2020-12-22 | Quanta Computer Inc. | Memory data preservation solution |
JP2019181755A (ja) * | 2018-04-05 | 2019-10-24 | キヤノン株式会社 | 記憶手段を有する画像形成装置、画像形成装置の制御方法 |
JP7102198B2 (ja) | 2018-04-05 | 2022-07-19 | キヤノン株式会社 | 記憶手段を有する画像形成装置、画像形成装置の制御方法 |
JP7379020B2 (ja) | 2019-08-28 | 2023-11-14 | キヤノン株式会社 | 情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US9569128B2 (en) | 2017-02-14 |
US20170109081A1 (en) | 2017-04-20 |
CN105320243A (zh) | 2016-02-10 |
US20160004471A1 (en) | 2016-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9152568B1 (en) | Environmental-based device operation | |
US10776153B2 (en) | Information processing device and system capable of preventing loss of user data | |
US8825976B1 (en) | Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory | |
KR100801015B1 (ko) | 하이브리드 하드 디스크 드라이브와 데이터 저장 방법 | |
US8661194B2 (en) | Cache control method for hybrid HDD, related program, and hybrid disk drive using same | |
JP2009020986A (ja) | ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法 | |
US20090103203A1 (en) | Recording apparatus and control circuit | |
US9396755B2 (en) | Temperature-defined data-storage policy for a hybrid disk drive | |
US7487392B2 (en) | Data storage device, and method for rewriting data in nonvolatile memory | |
US8719525B2 (en) | Storage device with manual learning | |
JP2008034085A (ja) | 複数の動作モードを有する不揮発性メモリを備えたディスクドライブ | |
US20170109081A1 (en) | Storage device and data processing method | |
US20170024297A1 (en) | Storage Device and Data Save Method | |
US9684359B2 (en) | Storage device and method for processing power disable signal | |
US8947803B1 (en) | Data storage device and data erasing method | |
US9459802B1 (en) | Hybrid-HDD that limits dirty data in NAND | |
US8736994B2 (en) | Disk storage apparatus and write control method | |
JP2015041378A (ja) | データストレージデバイス及び管理方法 | |
US20170090768A1 (en) | Storage device that performs error-rate-based data backup | |
JP2014175036A (ja) | データストレージデバイスおよび方法 | |
JP4919983B2 (ja) | データ記憶装置及びデータ記憶装置におけるデータ管理方法 | |
US20080297940A1 (en) | Method and apparatus for controlling a nonvolatile memory in a disk drive | |
US20150205543A1 (en) | Storage device and data storing method | |
JP5197800B2 (ja) | 情報処理装置及びそのデータ記録方法 | |
US20160170891A1 (en) | Disk apparatus and control method |