(57)【要約】      （修正有）【課題】データ転送が一定ではない接続環境でも，消費電力を低減し，急な電源遮断によるデータの消失を低減し，バッファメモリの使用効率を向上させる。【解決手段】上位装置から通知されるデータの受信部と，受信データを一時的に格納する揮発メモリからなるバッファ部と，バッファ部からデータを読み出し不揮発メモリからなるフラッシュメモリ部へ書込みを行う格納部と，データが記憶される記憶媒体を駆動する駆動部と，所定の条件に基づいて前記フラッシュメモリ部の使用率が１００％の状態になるまでの時間を予測する予測部と，予測時間と記憶媒体に対するアクセスが可能となるまでの時間とに基づいて駆動部の駆動開始を制御する駆動制御部と，駆動制御部の動作に応じてヘッドを操作しフラッシュメモリ部に格納されたデータを記憶媒体に書戻す書戻し制御部を備える。【選択図】図５
2008204574.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から受信したデータの記憶制御をする制御部と,
前記受信したデータを一時的に記憶する不揮発メモリと，
前記データが記憶される記憶媒体を駆動する駆動部と，
前記記憶媒体に対して少なくとも書き込み動作もしくは読み込み動作のいずれか一方を行うヘッドとを備え
前記制御部は、前記データを前記不揮発メモリもしくは前記記憶媒体のいずれか一方に送るデータ送信手段と,
所定の条件に基づいて前記不揮発メモリの使用率が１００％の状態になるまでの時間を予測する予測手段と，
前記予測手段による予測時間と前記記憶媒体に対するアクセスが可能となるまでの時間とに基づいて前記駆動部の駆動を制御する駆動制御手段と，
前記駆動制御手段の制御に応じて前記不揮発メモリに記憶されたデータを前記ヘッドを制御して前記記憶媒体に書き込む書き込み制御手段とを,
有することを特徴とする記憶装置。
【請求項２】
請求項１において，
前記予測手段は，任意の時点における前記不揮発メモリの使用率と所定の時間間隔における前記不揮発メモリに格納されるデータの増加率に基づいて前記不揮発メモリの使用率が１００％の状態になるまでの時間を予測することを特徴とする記憶装置。
【請求項３】
請求項１において，
前記記憶媒体に対するアクセスが可能となるまでの時間は，停止中の前記記憶媒体が所定の回転数に到達しアクセス可能となるまでの時間であることを特徴とする記憶装置。
【請求項４】
上位装置から通知されたデータの受信するステップと，
前記受信されたデータを不揮発メモリもしくは記憶媒体のいずれか一方に格納する格納ステップと,
所定の条件に基づいて前記不揮発メモリの使用率が１００％となるまでの時間を予測する予測ステップと，
前記予測ステップにより求められた予測時間と前記記憶媒体に対するアクセスが可能となるまでの時間とに基づいて前記記憶媒体の駆動を制御する駆動制御ステップと，
前記駆動制御ステップの動作に応じて前記不揮発メモリのデータを前記記憶媒体に書き込む書き込みステップを，
備えたことを特徴とする記憶装置の制御方法。
【請求項５】
請求項４において，
前記予測ステップは，任意の時点における前記不揮発メモリの使用率と所定の時間間隔における前記不揮発メモリに格納されるデータの増加率に基づいて前記不揮発メモリの使用率が１００％となるまでの時間を予測することを特徴とする記憶装置の制御方法。
【請求項６】
請求項４において，
前記記憶媒体に対するアクセスが可能となるまでの時間は，停止中の前記記憶媒体が所定の回転数に到達しアクセス可能となるまでの時間であることを特徴とする記憶装置の制御方法。
【請求項７】
上位装置から受信したデータの記憶制御をする制御部であって,
前記受信したデータを不揮発メモリもしくは記憶媒体のいずれか一方に送るデータ送信手段と,
所定の条件に基づいて前記不揮発メモリの使用率が１００％となるまでの時間を予測する予測手段と，
前記予測手段により求められた予測時間と前記記憶媒体に対するアクセスが可能となるまでの時間とに基づいて前記記憶媒体の駆動を指示する駆動制御手段と，
前記駆動制御手段の制御に応じて前記不揮発メモリに記憶されたデータを前記ヘッドを制御して前記記憶媒体に書き込む書き込み制御手段とを,
有することを特徴とする制御部。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，記憶装置とその制御方法に関する。    
【背景技術】
【０００２】
現在使われている磁気ディスク装置(HDD)は，記憶媒体に記憶されているデータへアクセスするためには記憶媒体を駆動部であるスピンドルモータで回転駆動する必要がある。
【０００３】
図１は，記憶装置としての磁気ディスク装置の概念構成ブロック図である。
【０００４】
特に，記憶媒体としての磁気ディスクと，不揮発性メモリを備えたハイブリッドハードディスク装置の構成概念図である。
【０００５】
ハイブリッドハードディスク装置は磁気媒体と不揮発メモリから構成されスピンドルモータが停止している時は不揮発メモリにデータを書き込むため急な電源遮断でも処理中のデータを失う可能性が低い。
【０００６】
上位装置であるホスト１に接続される記憶装置１０は，サーボ制御されるスピンドルモータ１１により回転駆動される記憶媒体１２にホスト１からのコマンドに応じてデータの書き込み，読み出しを実行する。
【０００７】
記憶装置１０は，コントローラ１３と一時記憶として揮発メモリ（ＤＲＡＭ）１４Ｂと電源が遮断されてもデータを保持できる不揮発メモリ（フラッシュメモリ）１４Ａを有している。
【０００８】
一時記憶１４Ｂは，書込データのホスト１から送られるデータ転送速度と，記憶媒体１２またはフラッシュメモリ１４Ａへの書込速度の差を調整するために設けられている。
【０００９】
コントローラ１３は，スピンドルモータの状態に応じてデータを記憶媒体１２またはフラッシュメモリ１４Ａに書き込む、すなわちスピンドルモータが停止していればデータはフラッシュメモリ１４Ａに書き込む。
【００１０】
コントローラ１３は，データをフラッシュメモリ１４Ａからの書戻し制御即ち，フラッシュメモリ１４Ａから読み出して記憶媒体１２に記録する制御を行う。
【００１１】
そして，かかる記憶装置において，フラッシュメモリ１４Ａの使用率が１００％になったときに，記憶媒体１２への書戻し処理を実行するという制御が行われている（例えば，特許文献１，特許文献２）。
【００１２】
図２は，かかる様子を示す図である。ホストより受領したデータは不揮発メモリであるフラッシュメモリ１４Ａに書込みを行う。しかしフラッシュメモリＡの使用率が１００％であるときはスピンドルモータ１１を起動してからデータを記憶媒体に書き込む必要がある。
【００１３】
したがって，かかる制御では，フラッシュメモリ１４Ａの使用率が１００％の時に，ホスト１から受領したデータは揮発メモリ１４Ｂの中に記憶媒体１２の回転駆動に要する時間（Ｔ２−Ｔ１）分，停滞することになり急な電源遮断によりデータを失う可能性が高くなる。
【００１４】
そこで，不揮発メモリであるフラッシュメモリ１４Ａが所定の使用量（例えば，使用率８０％）に到達するとスピンドルモータ１１を先行駆動して記憶媒体１２への書き込みを開始するように制御することも可能である。
【００１５】
しかし，かかる場合は，使用率が常に８０％に制限されるのでフラッシュメモリ１４Ａの使用効率が悪くなるという不都合が生じる。
【００１６】
これに対し，不揮発メモリの使用効率の改善という観点からの技術として特許文献３に記載の発明がある。
【００１７】
特許文献３に記載の発明は，先に図２について説明したように，記憶装置側の処理速度がデータ転送速度よりも高い場合に，バッファメモリに記憶されるデータ容量が書き込み許容量の満杯になるまで記録を休止するという技術であるが，データ転送元となる外部機器としてはデータ転送速度が一定であるＣＤ(Compact Disc)プレーヤ等を対象とする技術である。
【特許文献１】特開平６−３０９７７６号公報
【特許文献２】特開２００６―２６０７５９号公報
【特許文献３】特開２０００−２００４６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
したがって，上記の従来技術に鑑みて，本発明の目的は，ホスト１におけるアプリケーションプログラムに依存して，データ転送が一定ではない接続環境にあっても，消費電力を低減し，急な電源遮断による障害に強く，且つ使用されるバッファメモリの使用効率を向上できる記憶装置及び，その制御方法を提供することにある。
【課題を解決するための手段】
【００１９】
上記の課題を達成する本発明の第１の側面は，記憶装置であって，上位装置から通知されるデータの受信部と，前記受信されたデータを一時的に格納する揮発メモリからなるバッファ部と電源が遮断されてもデータを保持できる不揮発メモリからなるフラッシュメモリ部と，前記データが記憶される記憶媒体を駆動する駆動部と，前記記憶媒体に対して少なくとも書き込み動作もしくは読み込み動作のいずれか一方を行うヘッドと，所定の条件に基づいてフラッシュメモリ部の使用率が１００％の状態になるまでの時間を予測する予測部と，前記予測部による予測時間と前記記憶媒体に対するアクセスが可能となるまでの時間とに基づいて前記駆動部の駆動開始を制御する駆動制御部と，前記駆動制御部の動作に応じて前記ヘッドを操作し前記バッファ部に格納されたデータを前記記憶媒体に書戻す書戻し制御部を備えたことを特徴とする。
【００２０】
上記の課題を達成する本発明の第２の側面は，記憶装置における制御方法であって，上位装置から通知されるデータを受信する受信ステップと，前記受信されたデータを一時的に揮発メモリからなるバッファ部に格納する格納ステップと，バッファ部からデータを取り出してフラッシュメモリ部へ格納する格納ステップと，所定の条件に基づいて予測される前記フラッシュメモリ部の使用率が１００％となるまでの時間を予測する予測ステップと，前記予測ステップにより求められた予測時間と記憶媒体に対するアクセスが可能となるまでの時間とに基づいて前記記憶媒体の駆動開始を制御する駆動制御ステップと，前記駆動制御ステップの動作に応じて前記バッファ部のデータを前記記憶媒体に書戻す書戻しステップを備えたことを特徴とする。
【００２１】
かかる本発明の構成により，フラッシュメモリ部の使用率が１００％となるまでの時間を予測して，記憶媒体を駆動する駆動部による動作を開始させるので，ホストより受領したデータが揮発メモリ内に停滞する時間が短くなり急な電源遮断でもデータを失う可能性が低くなる。また，フラッシュメモリ部の使用により駆動部の動作を停止できるので，記憶装置の消費電力を低減できる。
【００２２】
さらに，上記の側面において，前記予測部における予測を任意の時点における前記フラッシュメモリ部の使用率と所定の時間間隔における前記フラッシュメモリ部に格納されるデータの増加率に基づいて前記フラッシュメモリ部の使用率が１００％の状態になるまでの時間として予測することが可能である。
【００２３】
また，上記側面において，前記記憶媒体に対するアクセスが可能となるまでの時間は，停止中の前記記憶媒体が所定の回転数に到達しアクセス可能となるまでの時間としてもよい。
【００２４】
さらに，上記側面において，前記記憶媒体に対するアクセスが可能となるまでの時間には，前記ヘッドスライダが所定の退避位置から前記記憶媒体へロードされる時間を含ませてもよい。
【００２５】
さらにまた，上記側面において，前記記憶媒体に対するアクセスが可能となるまでの時間には，前記ヘッドが前記記憶媒体上の所定の位置に位置決めされるまでの時間を含ませてもよい。
【発明を実施するための最良の形態】
【００２６】
以下に本発明の実施例を図面に従い説明する。なお，実施例は，本発明の理解のためのものであり，本発明の適用がこれら実施例に限定されるものではない。
【００２７】
図３は，本発明を適用する記憶装置の構成例ブロック図である。記憶装置１０は，実施例として磁気ディスク装置であり，上位装置であるホスト１に接続される。
【００２８】
磁気記憶媒体である磁気ディスク１２に対し，書込／読取磁気ヘッドの動きをサーボ制御するサーボ制御系１６と，磁気ディスク１２の回転を制御するディスク制御系１７を有している。
【００２９】
これらサーボ制御系１６及びディスク制御系１７は制御部（コントローラ）１３により制御開始及び停止が指令される。
【００３０】
制御部１３の必要とするそれぞれの機能は，ファーム１３１に格納されたプログラムに従いＣＰＵ１３０による実行制御により実現される。
【００３１】
バッファメモリ機能としてフラッシュメモリ１４Ａと揮発メモリ１４Ｂを有している。揮発メモリ１４Ｂは，フラッシュメモリ１４Ａが性質としてアクセス速度が低いという欠点を補うためのものである。
【００３２】
さらに，エラーチェック機能部１８を有している。
【００３３】
図３において，ホスト１から書込コマンドとともに転送されるデータは，制御部１３により受信され，一時記憶バッファ部に保存，エラーチェック機能部１８によりデータ誤りが訂正され，訂正後のデータが揮発メモリ１４Ｂまたは記憶媒体１２に格納される。
【００３４】
図４は，本発明に従う記憶装置の制御フローである。かかる制御フローに従う動作は，制御部（コントローラ）１３のファームウエア１３１に格納されたプログラムに従いＣＰＵ１３０による実行制御される制御部１３の必要とする一つの機能である。
【００３５】
ＣＰＵ１３０は，ホストから転送されたデータは揮発メモリ１４Ｂに一時保存する（ステップＳ１）。
【００３６】
揮発メモリ１４Ｂに格納されたデータはコントローラ１３の制御によりスピンドルモータ１１が起動中であれば磁気媒体１２に書き込む（ステップＳ２、Ｓ４）。スピンドルモータ１１が停止中であればフラッシュメモリ１４Ａの使用率を確認する（ステップＳ３）。フラッシュメモリ１４Ａの使用率が１００％であればスピンドルモータ１１を起動し（ステップＳ５），データは記憶媒体１２に格納する（ステップＳ６）。
【００３７】
さらに，フラッシュメモリ１４Ａからデータを読み出し記憶媒体１２に書込み（ステップＳ８），フラッシュメモリ１４Ａの使用率を０％にしてスピンドルモータ１１を停止する（ステップＳ９）。
【００３８】
ここで、ステップＳ３において、使用率が１００％でなかった場合（ステップＳ３，ＮＯ）には、ＣＰＵ１３０は、フラッシュメモリにデータを書き込む(Ｓ１０)。
その後モータの起動等の処理をおこなうかどうかの判断処理(ステップＳ１１〜ステップＳ１５)が行われる。
この判断処理について図５、図６を用いて更に詳述をおこなう。
【００３９】
図５は，不揮発メモリの使用率の変化を説明する図である。
【００４０】
図５において，ＣＰＵ１３０は，ホスト１からの書込コマンドの発行の都度，フラッシュメモリ１４Ａの使用率と，コマンドの発行間隔の累積からフラッシュメモリ１４Ａの使用率の増加割合（勾配）を求める。これにより，任意の時点でフラッシュメモリ１４Ａの使用率１００％となるまでの時間Ｔｆが求められる（ステップＳ１１）。
【００４１】
図５は，時刻Ｔ06の時の使用率１００％となるまでの時間Ｔｆを示している。
【００４２】
パワーモードが停止状態にあれば（ステップＳ２，ＮＯ），スピンドルモータ起動時間と，ヘッドを退避位置から記憶媒体１２の初期位置に移動させるためのヘッドロード時間及び，目的のアクセス位置にヘッドを移動するシークのためのシーク時間の合計Ｔｓを求める（ステップＳ１２）。
【００４３】
ここでシーク時間は，ヘッドの現在の位置に依存して応じて目的のアクセス位置までの時間が異なるが，シーク時間は平均シーク時間として考える。
【００４４】
ついで，ＣＰＵ１３０は，このように求めた時間Ｔｓをフラッシュメモリ１４Ａの使用率１００％となるまでの予測した時間Ｔｆとを比較する（ステップＳ１３）。
【００４５】
Ｔｆ≦Ｔｓが成立するとき（ステップＳ１３，Ｙｅｓ），スピンドルモータ１１が起動され，シーク要求が出される（ステップＳ１５）。
一方、成立しないとき（ステップＳ１３，Ｎｏ）は、ＣＰＵ１３０は，かかるホスト１からの書込コマンドとともに転送されるデータの書込み先制御で，フラッシュメモリ１４Ａに書込み毎に，発行間隔とフラッシュメモリ１４Ａの使用率を記憶する（ステップＳ１４）。
【００４６】
したがって，図６に示すように，本発明に従い，フラッシュメモリ１４Ａの使用率が１００％以下で記憶媒体１２の駆動部であるスピンドルモータ１１が駆動制御部としてのＣＰＵ１３０により駆動され，使用率１００％となるタイミングを次のコマンド発行に合わせることができる。これにより，フラッシュメモリ１４Ａの使用効率を最大にすることが可能である。
【００４７】
また，揮発メモリ内のデータはフラッシュメモリ１４Ａが１００％でスピンドルモータが起動するまで待たされることが無くなり，急な電源遮断でもデータを失う可能性が低く信頼性が高くなる。
【００４８】
さらに，フラッシュメモリ１４Ａの使用率が１００％以下でスピンドルモータ１１が駆動され，フラッシュメモリ１４Ａの使用率が０％から，再びスピンドルモータ起動からシークまでに要する時間Ｔｓに制限して，それ以外の期間中にスピンドルモータ１１を停止することが可能である。
【００４９】
これにより，記憶装置の消費電力を大きく低減することが可能である。
【００５０】
（付記１）
上位装置から通知されるデータの受信部と，
前記受信されたデータを一時的に格納する揮発メモリからなるバッファ部と不揮発メモリからなるフラッシュメモリ部と，
前記データが記憶される記憶媒体を駆動する駆動部と，
前記記憶媒体に対して少なくとも書き込み動作もしくは読み込み動作のいずれか一方を行うヘッドと，
所定の条件に基づいて前記フラッシュメモリ部の使用率が１００％の状態になるまでの時間を予測する予測部と，
前記予測部による予測時間と前記記憶媒体に対するアクセスが可能となるまでの時間とに基づいて前記駆動部の駆動開始を制御する駆動制御部と，
前記駆動制御部の動作に応じて前記ヘッドを操作し前記フラッシュメモリ部に格納されたデータを前記記憶媒体に書戻す書戻し制御部を，
備えたことを特徴とする記憶装置。
【００５１】
（付記２）
付記１において，
前記予測部は，任意の時点における前記フラッシュメモリ部の使用率と所定の時間間隔における前記フラッシュメモリ部に格納されるデータの増加率に基づいて前記フラッシュメモリ部の使用率が１００％の状態になるまでの時間を予測することを特徴とする記憶装置。
【００５２】
（付記３）
付記１において，
前記記憶媒体に対するアクセスが可能となるまでの時間は，停止中の前記記憶媒体が所定の回転数に到達しアクセス可能となるまでの時間であることを特徴とする記憶装置。
【００５３】
（付記４）
付記１において，
前記記憶媒体に対するアクセスが可能となるまでの時間には，前記ヘッドスライダが所定の退避位置から前記記憶媒体へロードされる時間を含むことを特徴とする記憶装置。
【００５４】
（付記５）
付記１において，
前記記憶媒体に対するアクセスが可能となるまでの時間には，前記ヘッドが前記記憶媒体上の所定の位置に位置決めされるまでの時間を含むことを特徴とする記憶装置。
【００５５】
（付記６）
上位装置から通知されるデータを受信する受信ステップと，
前記受信されたデータを一時的に揮発メモリからなるバッファ部に格納する格納ステップと，
前記バッファ部に格納したデータを読み出しフラッシュメモリ部に書き込む格納ステップと，
所定の条件に基づいて予測される前記フラッシュメモリ部の使用率が１００％となるまでの時間を予測する予測ステップと，
前記予測ステップにより求められた予測時間と記憶媒体に対するアクセスが可能となるまでの時間とに基づいて前記記憶媒体の駆動開始を制御する駆動制御ステップと，
前記駆動制御ステップの動作に応じて前記フラッシュメモリ部のデータを前記記憶媒体に書戻す書戻しステップを，
備えたことを特徴とする記憶装置の制御方法。
【００５６】
（付記７）
付記６において，
前記予測ステップは，任意の時点における前記フラッシュメモリ部の使用率と所定の時間間隔における前記フラッシュメモリ部に格納されるデータの増加率に基づいて前記フラッシュメモリ部の使用率が１００％となるまでの時間を予測することを特徴とする記憶装置の制御方法。
【００５７】
（付記８）
付記６において，
前記記憶媒体に対するアクセスが可能となるまでの時間は，停止中の前記記憶媒体が所定の回転数に到達しアクセス可能となるまでの時間であることを特徴とする記憶装置の制御方法。
【００５８】
（付記９）
付記６において，
前記記憶媒体に対するアクセスが可能となるまでの時間には，前記ヘッドが所定の退避位置から前記記憶媒体へロードされる時間を含むこと特徴とする付記６に記載の記憶装置。
【００５９】
(付記１０)
前記記憶媒体に対するアクセスが可能となるまでの時間には，前記ヘッドが前記記憶媒体上の所定の位置に位置決めされるまでの時間を含むことを特徴とする付記憶装置の制御方法。
【図面の簡単な説明】
【００６０】
【図１】記憶装置としての磁気ディスク装置の概念構成ブロック図である。
【図２】図１の記憶装置におけるフラッシュメモリの使用率とスピンドルモータ駆動期間の関係を示す図である。
【図３】本発明を適用する記憶装置の構成例ブロック図である。
【図４】本発明に従う記憶装置の制御フローである。
【図５】本発明に従うフラッシュメモリの使用率の変化を説明する図である。
【図６】本発明に従うフラッシュメモリの使用率とスピンドルモータ駆動期間の関係を示す図である。
【符号の説明】
【００６１】
１  ホスト
１０  記憶装置
１１  スピンドルモータ
１２  記憶媒体
１３  コントローラ（制御部）
１３０  ＣＰＵ
１３１  ファームウエア
１４Ａ  フラッシュメモリ
１４Ｂ  揮発メモリ
１５  サーボ系  
１６  ディスク制御系
【図１】
2008204574.tif 000003
【図２】
2008204574.tif 000004
【図３】
2008204574.tif 000005
【図４】
2008204574.tif 000006
【図５】
2008204574.tif 000007
【図６】
2008204574.tif 000008