(57)【要約】【課題】信頼性の高い記憶装置、及びデータの記憶方法を提供することである。【解決手段】本実施形態に係る記憶装置は、予め規定される第１の管理領域を有する第１の不発揮性記憶部と、第１の不揮発性記憶部より高速でデータ処理できる第２の不発揮性記憶部と、を備える。第１の不揮発記憶部は、第１の管理領域に第１の不揮発記憶部の管理情報である第１の管理情報と第２の不揮発性記憶部の管理情報である第２の管理情報とを記憶する。【選択図】図１
2015135620.tif 000002
【特許請求の範囲】
【請求項１】
予め規定される第１の管理領域を有する第１の不発揮性記憶部と、
前記第１の不揮発性記憶部より高速でデータ処理できる第２の不発揮性記憶部と、
を備え、
前記第１の不揮発記憶部は、前記第１の管理領域に前記第１の不揮発記憶部の管理情報である第１の管理情報と前記第２の不揮発性記憶部の管理情報である第２の管理情報とを記憶する記憶装置。
【請求項２】
前記第２の管理情報を前記第１の管理領域に記憶させ、当該第１の管理領域から当該第２の管理情報を読み出す第１のコントローラと、
前記第２の管理情報を前記第２の不発揮性記憶部が有する第２の管理領域に記憶させ、当該第２の管理領域から当該第２の管理情報を読み出す前記第２のコントローラと、
をさらに備える請求項１の記憶装置。
【請求項３】
前記第２のコントローラが前記第２の管理領域から前記第２の管理情報を取得できない場合、前記第１のコントローラは前記第２の管理情報を前記第１の管理領域から読み出す請求項２の記憶装置。
【請求項４】
前記第２の管理情報は、前記第２の管理領域に冗長的に記憶されている請求項２又は請求項３の記憶装置。
【請求項５】
前記第２の管理情報が更新されるたびに、当該第２の管理情報が前記第１の管理領域に記憶される請求項２から請求項４のいずれか１の記憶装置。
【請求項６】
予め規定される第１の管理領域を有する第１の不発揮性記憶部と、前記第１の不揮発性記憶部より高速でデータ処理できる第２の不発揮性記憶部と、を備える記憶装置による情報を記憶する方法であって、
前記第１の管理領域に前記第１の不揮発記憶部の管理情報である第１の管理情報と前記第２の不揮発性記憶部の管理情報である第２の管理情報とを前記第１の不揮発記憶部に記憶する方法。
【請求項７】
前記第２の不発揮性記憶部が有する第２の管理領域から前記第２の管理情報を取得できるかを確認し、
当該第２の管理情報を取得できない場合、前記第２の管理情報を前記第１の管理領域から読み出す請求項６の方法。
【請求項８】
前記第２の管理情報は、前記第２の管理領域に冗長的に記憶されている請求項６又は請求項７の方法。
【請求項９】
前記第２の管理情報が更新されるたびに、当該第２の管理情報が前記第１の管理領域に記憶される請求項６から請求項８のいずれか１の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、記憶装置、及びデータの記憶方法に関する。
【背景技術】
【０００２】
近年、アクセス速度及び記憶容量が異なる複数種類（例えば２種類）の不揮発性記憶媒体を備えたストレージ装置が開発されている。このようなストレージ装置の代表として、ハイブリッドドライブが知られている。ハイブリッドドライブは一般に、第１の不揮発性記憶媒体と、第１の不揮発性記憶媒体と比較してアクセス速度が低く且つ記憶容量が大きい第２の不揮発性記憶媒体とを備えている。
【０００３】
第１の不揮発性記憶媒体には、例えばＮＡＮＤフラッシュメモリのような半導体メモリが用いられる。ＮＡＮＤフラッシュメモリは、単位容量当たりの単価は高いものの高速アクセスが可能な不揮発性記憶媒体として知られている。第２の不揮発性記憶媒体には、例えば、磁気ディスクのようなディスク媒体が用いられる。ディスク媒体は、アクセス速度は低いものの単位容量当たりの単価が安い不揮発性記憶媒体として知られている。このため、ハイブリッドドライブでは、ディスク媒体（より詳細には、ディスク媒体を含むディスクドライブ）を主たるストレージとして用い、ＮＡＮＤフラッシュメモリ（より詳細には、ディスク媒体よりも高アクセス速度のＮＡＮＤフラッシュメモリ）をキャッシュとして用いることがある。キャッシュとして用いられる場合であっても、ＮＡＮＤフラッシュメモリに記憶されるデータ及びＮＡＮＤフラッシュメモリの特性を示すデータを記憶するための管理領域（システム領域）が必要となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０５９８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、信頼性の高い記憶装置、及びデータの記憶方法を提供することである。
【課題を解決するための手段】
【０００６】
本実施形態に係る記憶装置は、予め規定される第１の管理領域を有する第１の不発揮性記憶部と、第１の不揮発性記憶部より高速でデータ処理できる第２の不発揮性記憶部と、を備え、第１の不揮発記憶部は、第１の管理領域に第１の不揮発記憶部の管理情報である第１の管理情報と第２の不揮発性記憶部の管理情報である第２の管理情報とを記憶する。
【図面の簡単な説明】
【０００７】
【図１】図１は実施形態に係るハイブリッドドライブの典型的な構成を示すブロック図である。
【図２】図２は、図１に示されるＮＡＮＤメモリ１１の記憶領域の典型的なフォーマットを示す概念図である。
【図３】図３は、実施形態に係るＨＤＤ管理情報及びＮＡＮＤ管理情報のライト処理の手順を示すフローチャートである。
【図４】図４は、電源オンの信号が投入された後に実行される処理の手順を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、実施の形態につき図面を参照して説明する。  
図１は実施形態に係るハイブリッドドライブの典型的な構成を示すブロック図である。ハイブリッドドライブは、アクセス速度及び記憶容量が異なる複数種類、例えば２種類の不揮発性記憶媒体（つまり、第１の不揮発性記憶媒体及び第２の不揮発性記憶媒体）を備えている。本実施形態では、第１の不揮発性記憶媒体として、ＮＡＮＤフラッシュメモリ（以下、ＮＡＮＤメモリと称する）１１が用いられ、第２の不揮発性記憶媒体として磁気ディスク媒体（以下、ディスクと称する）２１が用いられる。ディスク２１は、後述するように、管理情報を記録するためのシステム領域（ＳＡ）１０１を有する。ディスク２１のアクセス速度及び記憶容量は、ＮＡＮＤメモリ１１のそれらと比較して低速で且つ大容量である。
【０００９】
図１に示されるハイブリッドドライブは、ソリッドステートドライブのような半導体ドライブユニット１０と、ハードディスクドライブユニット（以下、ＨＤＤと称する）２０とから構成される。半導体ドライブユニット１０は、ＮＡＮＤメモリ１１と、メモリコントローラ１２とを含む。ハイブリッドドライブでは、ＮＡＮＤメモリ１１は種々の目的に使用される。ＮＡＮＤメモリ１１は、例えば、ハイブリッドドライブのパフォーマンス向上、ハイブリッドドライブが振動している時のライト動作の安定化、ハイブリッドドライブの起動高速化、などのために使用される。後述するように、ＮＡＮＤメモリ１１は、管理情報を記録するためのシステム領域（ＳＡ）１１１を有する。
【００１０】
メモリコントローラ１２は、メインコントローラ２７からのアクセス要求（例えば、ライト要求またはリード要求）に応じて、ＮＡＮＤメモリ１１へのアクセスを制御する。本実施形態において、ＮＡＮＤメモリ１１は、ホスト装置（以下、ホストと称する）からハイブリッドドライブへのアクセスの高速化のために、当該ホストによって最近アクセスされたデータを格納するためのキャッシュ（キャッシュメモリ）として用いられる。ホストは、図１に示されるハイブリッドドライブを、自身のストレージ装置として利用する。
【００１１】
メモリコントローラ１２は、ホストインタフェースコントローラ（以下、ホストＩＦと称する）１２１と、メモリインタフェースコントローラ（以下、メモリＩＦと称する）１２２と、マイクロプロセッサユニット（ＭＰＵ）１２３と、読み出し専用メモリ（ＲＯＭ）１２４と、ランダムアクセスメモリ（ＲＡＭ）１２５とを含む。ホストＩＦ（第１のインタフェースコントローラ）１２１は、メインコントローラ２７と接続されている。ホストＩＦ１２１は、メインコントローラ２７（より詳細には、メインコントローラ２７の後述するＭＰＵ２７３）から転送される信号を受信し、且つ当該メインコントローラ２７に信号を送信する。具体的には、ホストＩＦ１２１は、メインコントローラ２７から転送されるコマンド（ライトコマンド、リードコマンド等）を受信して、当該受信されたコマンドをＭＰＵ１２３に渡す。ホストＩＦ１２１はまた、メインコントローラ２７から転送されたコマンドに対するＭＰＵ１２３からの応答を、メインコントローラ２７に返す。すなわち、ホストＩＦ１２１は、メインコントローラ２７とＭＰＵ１２３との間のデータ転送を制御する。メモリＩＦ（第２のインタフェースコントローラ）１２２はＮＡＮＤメモリ１１と接続されており、ＭＰＵ１２３の制御の下でＮＡＮＤメモリ１１にアクセスする。
【００１２】
ＭＰＵ１２３は、メインコントローラ２７から転送されたコマンドに基づいてＮＡＮＤメモリ１１にアクセスするための処理（例えば、ライト処理またはリード処理）を、第１の制御プログラムに従って実行する。本実施形態において第１の制御プログラムは、ＲＯＭ１２４に予め格納されている。なお、ＲＯＭ１２４に代えて、書き換え可能な不揮発性ＲＯＭ、例えばフラッシュＲＯＭを用いても良い。ＲＡＭ１２５の記憶領域の一部は、ＭＰＵ１２３のワーク領域として用いられる。ＲＡＭ１２５の記憶領域の他の一部は、後述するアクセスカウンタテーブル１２５ａを格納するのに用いられる。
【００１３】
ＨＤＤ２０は、ディスク２１と、ヘッド２２と、スピンドルモータ（ＳＰＭ）２３と、アクチュエータ２４と、ドライバ集積回路（ＩＣ）２５と、ヘッドＩＣ２６と、メインコントローラ２７と、フラッシュＲＯＭ（ＦＲＯＭ）２８と、ＲＡＭ２９とを含む。ディスク２１は、例えばその一方の面に、データが磁気記録される記録面を備えている。ディスク２１は、記録面の一部にシステム領域（ＳＡ）１０１を有する。ディスク２１はＳＰＭ２３によって高速に回転させられる。ＳＰＭ２３は、ドライバＩＣ２５から供給される駆動電流（または駆動電圧）により駆動される。
【００１４】
図１の構成は、単一枚のディスク２１を備えたＨＤＤ２０を示している。しかし、ディスク２１が複数枚積層配置されたＨＤＤであっても構わない。また、図１の構成では、ディスク２１は、その一方の面に記録面を備えている。しかし、ディスク２１がその両面に記録面を備え、当該両記録面にそれぞれ対応してヘッドが配置されても構わない。
【００１５】
ディスク２１（より詳細には、ディスク２１の記録面）は、例えば同心円状の複数のトラックを備えている。なお、ディスク２１が、スパイラル状に配置される複数のトラックを備えていても構わない。ディスク２１は、記録面の一部に予め管理（システム）領域１０１を備えている。システム領域１０１は、ＨＤＤ  ＳＡ１０１と示す場合もある。ここで、システム領域１０１には、ＨＤＤ２０に関する管理情報（ＨＤＤ管理情報）と、後述するＮＡＮＤメモリ１１に関する管理情報（ＮＡＮＤ管理情報）と同一の情報とが保存（記憶）される。
【００１６】
ヘッド（ヘッドスライダ）２２はディスク２１の記録面に対応して配置される。ヘッド２２は、アクチュエータ２４のアームから延出したサスペンションの先端に取り付けられている。アクチュエータ２４は、当該アクチュエータ２４の駆動源となるボイスコイルモータ（ＶＣＭ）２４０を有している。ＶＣＭ２４０は、ドライバＩＣ２５から供給される駆動電流により駆動される。ヘッド２２は、アクチュエータ２４がＶＣＭ２４０によって駆動されることにより、ディスク２１上を当該ディスク２１の半径方向に、円弧を描くように移動する。
【００１７】
ドライバＩＣ２５は、メインコントローラ２７（より詳細には、メインコントローラ２７内のＭＰＵ２７３）の制御に従い、ＳＰＭ２３とＶＣＭ２４０とを駆動する。ドライバＩＣ２５によりＶＣＭ２４０が駆動されることで、ヘッド２２はディスク２１上の目標トラックに位置付けられる。
【００１８】
ヘッドＩＣ２６はヘッドアンプとも呼ばれている。ヘッドＩＣ２６は、例えばアクチュエータ２４の所定の箇所に固定され、フレキシブル印刷回路基板（ＦＰＣ）を介してメインコントローラ２７と電気的に接続されている。但し、図１では、作図の都合で、ヘッドＩＣ２６は、アクチュエータ２４から離れた箇所に配置されている。
【００１９】
ヘッドＩＣ２６は、ヘッド２２のリード素子によりリードされた信号（つまりリード信号）を増幅する。ヘッドＩＣ２６はまた、メインコントローラ２７（より詳細には、メインコントローラ２７内のＲ／Ｗチャネル２７１）から出力されるライトデータをライト電流に変換して、当該ライト電流をヘッド２２のライト素子に出力する。
【００２０】
メインコントローラ２７は、例えば、複数の要素が単一チップに集積された大規模集積回路（ＬＳＩ）によって実現される。メインコントローラ２７は、リード／ライト（Ｒ／Ｗ）チャネル２７１と、ハードディスクコントローラ（ＨＤＣ）２７２と、ＭＰＵ２７３とを含む。
【００２１】
Ｒ／Ｗチャネル２７１は、リード／ライトに関連する信号を処理する。即ちＲ／Ｗチャネル２７１は、ヘッドＩＣ２６によって増幅されたリード信号をデジタルデータに変換し、このデジタルデータからリードデータを復号する。Ｒ／Ｗチャネル２７１はまた、ＭＰＵ２７３を介してＨＤＣ２７２から転送されるライトデータを符号化し、この符号化されたライトデータをヘッドＩＣ２６に転送する。
【００２２】
ＨＤＣ２７２は、ホストインタフェース（ストレージインタフェース）３０を介してホホストと接続されている。ホスト及び図１に示されるハイブリッドドライブは、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、携帯電話機、或いはプリンタ装置のような電子機器に備えられている。
【００２３】
ＨＤＣ２７２は、ホストから転送される信号を受信し、且つホストに信号を転送するホストインタフェースコントローラとして機能する。具体的には、ＨＤＣ２７２は、ホストから転送されるコマンド（ライトコマンド、リードコマンド等）を受信して、当該受信されたコマンドをＭＰＵ２７３に渡す。ＨＤＣ２７２はまた、ホストと当該ＨＤＣ２７２との間のデータ転送を制御する。ＨＤＣ２７２は更に、ＭＰＵ２７３、Ｒ／Ｗチャネル２７１、ヘッドＩＣ２６及びヘッド２２を介してディスク２１へのデータのライト及びディスク２１からのデータのリードを制御するディスクインタフェースコントローラとしても機能する。
【００２４】
ＭＰＵ２７３は、ホストからのアクセス要求（ライト要求またはリード要求）に応じて、メモリコントローラ１２を介したＮＡＮＤメモリ１１へのアクセスと、Ｒ／Ｗチャネル２７１、ヘッドＩＣ２６、及びヘッド２２を介したディスク２１へのアクセスとを制御する。この制御は、第２の制御プログラムに従って実行される。本実施形態において、第２の制御プログラムは、ＦＲＯＭ２８に格納されている。ＲＡＭ２９の記憶領域の一部は、ＭＰＵ２７３のワーク領域として用いられる。
【００２５】
なお、イニシャルプログラムローダ（ＩＰＬ）がＦＲＯＭ２８に格納され、第２の制御プログラムがディスク２１に格納されていても構わない。この場合、ハイブリッドドライブの電源が投入された際に、ＭＰＵ２７３がＩＰＬを実行することにより、第２の制御プログラムがディスク２１からＦＲＯＭ２８またはＲＡＭ２９にロードされれば良い。
【００２６】
図２は、図１に示されるＮＡＮＤメモリ１１の記憶領域の典型的なフォーマットを示す概念図である。図２において、ＮＡＮＤメモリ１１の記憶領域は、Ｎ個のブロック（つまり、物理ブロック）から構成される。ＮＡＮＤメモリ１１では、このブロックを単位にデータが一括して消去される。つまりブロックは、データが消去される単位である。ＮＡＮＤメモリ１１の記憶領域は、図１及び図２に示されるように、システム領域（ＳＡ）１１１及びキャッシュ領域（ＣＡ）１１２に区分される。つまり、ＮＡＮＤメモリ１１は、システム領域１１１とキャッシュ領域１１２とを備えている。システム領域１１１は、一般的にキャッシュ領域１１２に対して十分に小さい。なお、ＮＡＮＤメモリ１１のシステム領域１１１をＮＡＮＤ  ＳＡ１１１と示し、ＮＡＮＤメモリ１１のキャッシュ領域１１２をＮＡＮＤ  ＣＡ１１２と示すこともある。
【００２７】
システム領域１１１は、システム（例えば、メモリコントローラ１２）がＮＡＮＤメモリ１１に対するデータのリード／ライト／消去の処理を管理するために利用する情報（ＮＡＮＤ管理情報）を格納するために用いられる。すなわち、ＮＡＮＤメモリ１１のＮＡＮＤ管理情報はシステム領域１１１に保存される。ここで、ＮＡＮＤ管理情報は冗長的に（多重化されて）保存されることが好ましいので、ＮＡＮＤ管理情報のバックアップデータがシステム領域１１１内に保存されていてもよい。キャッシュ領域１１２は、ホストによって最近アクセスされたデータを格納するために用いられる。
【００２８】
ＮＡＮＤ管理情報は、例えば、ＮＡＮＤメモリ１１の基本的構造の情報、コマンドを実行した回数、ＮＡＮＤメモリ１１のコントローラのバージョンの情報、及び前述のようにＮＡＮＤメモリ１１に対するデータの書き換えの回数などを含む。
【００２９】
ＮＡＮＤメモリ１１の記憶領域では、書き込みの最少単位と消去の最少単位とが異なるため、一部のデータのみの書き換えができない。例えば、ＮＡＮＤメモリ１１では、書き込みの最小単位が１ページであり、消去の最小単位が１ブロックである。例えば、１ブロックは６４ページを含む。ＮＡＮＤメモリ１１の記憶領域の消去動作は、前述のように複数のページを含むブロック単位で行われる。また、書き換え（上書き）動作は１動作で完了せず、消去してからデータの書き込みが行われる。すなわち１ページの書き換えでも１ブロック全てを消去する必要があるため、その１ブロックのデータは他の記憶領域に一時的に保存される。
【００３０】
システム領域１１１に保存されたＮＡＮＤ管理情報は、ハイブリッドドライブの起動（電源の投入）時に確認される。ＮＡＮＤ管理情報が取得出来ない場合、ＮＡＮＤメモリ１１内の全てのデータが消失した状態として扱われる。ＮＡＮＤ管理情報が取得確認できない原因の一つには、ＮＡＮＤメモリ１１の記憶領域（特に、システム領域１１１）の劣化がある。ハイブリッドドライブにおいて、複数の不揮発性記録媒体を搭載することによって、ＮＡＮＤメモリのシステム領域の劣化がある程度抑制されうる。しかし、この場合、十分な数のＮＡＮＤメモリが搭載されていなければ、十分な数のシステム領域に多重化することができない。その結果、システム領域の劣化が十分に抑制されない。このようなハイブリッドドライブでは、システム領域の劣化によってＮＡＮＤ管理情報を取得できなくなる可能性がある。ＮＡＮＤ管理情報を取得できない場合には、ハイブリッドドライブ全体の信頼性が低下する。
【００３１】
例えば、ＮＡＮＤメモリ１１の記憶領域の劣化対策として、図２に示されるように、ＮＡＮＤ管理情報の必要量に応じて適当な余裕領域が、システム領域１１１に設けられる。ＮＡＮＤ管理情報は、システム領域１１１内の余裕領域にも格納されることがある。この結果、システム領域１１１の特定の領域の利用の集中が回避されて、システム領域１１１への書き込みは平滑化され、その記憶領域の劣化が低減される。また、システム領域１１１の劣化対策の他の例として、ＮＡＮＤメモリ１１を複数備え、各ＮＡＮＤメモリ１１がシステム領域１１１を有することで、記録するデータを多重化することも可能である。記録するデータを多重化する場合には、十分な数のＮＡＮＤメモリ１１が設けられる。
【００３２】
システム領域１１１は、キャッシュ管理テーブル（論理物理変換テーブル）、第１の空き領域リスト、第２の空き領域リスト、及びバッドブロックリストを格納するのに用いられる。以下の説明では、論理物理変換テーブルが単にテーブルと表記されることもある。また、第１の空き領域リスト、第２の空き領域リスト、及びバッドブロックリストが、それぞれ単にリストと表記されることもある。
【００３３】
前述のように、ＮＡＮＤメモリ１１では、データが既に格納されている領域に、新
たなデータ（更新データ）を上書きすることはできない。このため、システム領域１１１内のテーブルの格納位置（記憶位置）は、当該テーブルが更新される都度変更されることがある。この場合、更新されたテーブル（新テーブル）は、更新前のテーブル（旧テーブル）が格納されている領域とは異なる領域に書かれる。システム領域１１１内のリストの格納位置についても同様である。
【００３４】
システム領域１１１内のテーブル及びリストなどの格納位置及びサイズの情報は、ＮＡＮＤ管理情報として、ＲＡＭ１２５のワークエリア、ＨＤＤ  ＳＡ１０１及びＮＡＮＤ  ＳＡ１１１の一部に格納されているものとする。本実施形態では、ＨＤＤ  ＳＡ１０１又はＮＡＮＤ  ＳＡ１１１に格納されている情報は、ハイブリッドドライブの電源の投入時にＭＰＵ２７３の制御によって読み出されて、ホストＩＦ１２１及びＭＰＵ１２３を介してＲＡＭ１２５のワークエリアにロードされる。テーブル及びリストなどのシステム領域１１１内の格納位置が変更された場合、ＭＰＵ１２３及びＭＰＵ２７３は、それぞれ、ＲＡＭ１２５のワークエリアの一部の領域内の対応する位置情報及びＨＤＤ  ＳＡ１０１及びＮＡＮＤ  ＳＡ１１１の一部の領域内の対応する位置情報を更新する。
【００３５】
論理物理変換テーブルは、ＮＡＮＤメモリ１１のキャッシュ領域１１２内のブロック各々を管理するためのブロック管理情報を格納するのに用いられる。本実施形態において、このブロック管理情報は、キャッシュ領域１１２内のブロック（予め定められたサイズの領域）各々に格納されたデータ（各ブロックデータ）のアドレスに関するキャッシュディレクトリ情報として用いられる。キャッシュディレクトリ情報は、データの物理的なアドレスと各ブロックデータの論理的なアドレスとの対応を管理するための情報を含む。各ブロックデータの物理的なアドレス（ここでは、物理ブロック番号）は、各ブロックデータが格納されているＮＡＮＤメモリ１１内のブロック（領域）の位置を示す。各ブロックデータの論理的なアドレス（ここでは、論理ブロック番号）は、各ブロックデータの論理アドレス空間内の位置を示す。一般的にＮＡＮＤメモリにおいて、前述のＮＡＮＤ管理情報及び論理物理変換テーブルの両方が読み込めない場合、後述するように起動の準備は完了しない。
【００３６】
第１の空き領域リストは、キャッシュ領域１１２内の第１のタイプの空き領域を登録するために用いられる。つまり第１の空き領域リストは、第１のタイプの空き領域を管理するための第１の情報として用いられる。第１のタイプの空き領域とは、正常な空き領域を指す。第２の空き領域リストは、キャッシュ領域１１２内の第２のタイプの空き領域を登録するのに用いられる。つまり第２の空き領域リストは、第２のタイプの空き領域を管理するための第２の情報として用いられる。第２のタイプの空き領域とは、過去にリードエラーが発生した空き領域を指す。バッドブロックリストは、使用不可能とされたブロック（物理ブロック）、つまりバッドブロック（領域）を登録するのに用いられる。つまりバッドブロックリストは、バッドブロックを管理するための第３の情報として用いられる。
【００３７】
キャッシュ領域１１２のブロックの各々は、複数のページ（物理ページ）から構成されるものとする。この場合、論理ブロックも複数のページ（論理ページ）から構成される。
【００３８】
論理ページ番号は、対応する物理ブロック番号及び物理ページ番号のページ（物理ページ）が割り当てられた論理ページ（論理ブロック内の論理ページ）を示す。つまり、論理ページ番号は、対応する物理ページに格納されたデータの論理アドレス空間内の位置を示す。
【００３９】
次に、本実施形態の図１のハイブリッドドライブの処理について、図３を参照して説明する。図３は、ハイブリッドドライブがホストからスタンバイ又は電源オフにステイタス移行するためのコマンドを受領した際に実行されるＨＤＤ管理情報及びＮＡＮＤ管理情報のライト処理の手順を示すフローチャートである。
【００４０】
本実施形態では、ＮＡＮＤ  ＳＡ１１１が更新される際に、ＮＡＮＤ  ＳＡ１１１に保存されたＮＡＮＤ管理情報がＨＤＤに予め規定されたＨＤＤ  ＳＡ１０１に記録される。ここで、ＮＡＮＤ  ＳＡ１１１が更新される際の例として、ホストからの電源オフの信号投入によってハイブリッドドライブがスタンバイ状態へ移行するとき、パワーセーブモード状態へ移行するとき、及びＮＡＮＤ  ＣＡ１１２上にあるユーザデータ（キャッシュデータ）をディスク２１へフラッシュするときなどがあげられる。図３に示すフローチャートでは、電源オフの信号投入によってハイブリッドドライブがスタンバイ状態へ移行する場合を想定する。本実施形態において、ディスク２１の記録面２１には、予めＨＤＤ  ＳＡ１０１が規定されている。
【００４１】
ホストから電源オフの信号が投入（例えば、スタンバイへ移行するコマンドの受領）された際に、メインコントローラ２７は、ホストＩＦ１２１を介してＭＰＵ１２３にスタンバイへの移行を指示する（Ｂ５０１）。この指示に応じて、ドライバＩＣ２５によってＶＣＭ２４０が駆動されることによって、ヘッド２２がディスク２１上の予め規定されたＨＤＤ  ＳＡ１０１上に位置付けられる。このとき、ＨＤＤ  ＳＡ１０１のＨＤＤ管理情報が更新される（Ｂ５０２）。また、ＭＰＵ２７３の指示に対応するＭＰＵ１２３の制御によって、ＮＡＮＤ  ＳＡ１１１のＮＡＮＤ管理情報が更新される（Ｂ５０３）。ＭＰＵ１２３は、更新したＮＡＮＤ  ＳＡ１１１のＮＡＮＤ管理情報と同一の情報（書き込みデータ）を、ホストＩＦ１２１を介してメインコントローラ２７に転送する。転送された書き込みデータは、メインコントローラ２７のＭＰＵ２７３を介してＲ／Ｗチャンネル２７１に渡される。Ｒ／Ｗチャンネル２７１は書き込みデータを符号化しヘッドＩＣ２６に転送する。ヘッドＩＣ２６は、この書き込みデータをヘッド２２のライト素子に出力する。このとき、ヘッド２２は、メインコントローラの制御に従い駆動されるＶＣＭ２４０によって予め規定されたＨＤＤ  ＳＡ１０１の記録位置に配置される。そして、この書き込みデータが予め規定されたＨＤＤ  ＳＡ１０１にライトされる（Ｓ５０４）。
【００４２】
そして、メインコントローラ２７の制御に従って、ドライバＩＣ２５は、ＶＣＭ２４０を駆動させてヘッド２２をディスク２１の記録面からディスク２１外へ退避され（Ｂ５０５）、ＳＰＭ２３の駆動を停止させる（Ｂ５０６）。その後、ハイブリッドドライブはスタンバイ状態となり、電源オフになる。以上の手順によって、ＮＡＮＤ  ＳＡ１１１に保存されたＮＡＮＤ管理情報がＨＤＤ  ＳＡ１０１に保存される。
【００４３】
次に、本実施形態にかかるハイブリッドドライブにおいて、前述のように更新されたＮＡＮＤ管理情報を読み込む処理について、図４を参照して説明する。図４は、ハイブリッドドライブに電源オンの信号が投入された後に実行される処理の手順を示すフローチャートである。図４において、ディスク２１のＨＤＤ  ＳＡ１０１には、ＮＡＮＤ管理情報が保存されているものとする。
【００４４】
ホストから電源オンの信号が投入された際に、ＭＰＵ１２３は、ＮＡＮＤ  ＳＡ１１１に保存されたＮＡＮＤ管理情報を読み込む（Ｂ６０１）。ここで、ＮＡＮＤ  ＳＡ１１１の状態が確認される（Ｂ６０２）。ＮＡＮＤ  ＳＡ１１１の状態が良好とされた場合（Ｂ６０２のＹｅｓ）、ハイブリッドドライブの起動準備が完了し、ハイブリッドドライブが正常に起動する。
【００４５】
ステップ６０２において、ＮＡＮＤ  ＳＡ１１１の状態が良好でない（例えば不良ブロックが発見された）場合（Ｂ６０２のＮо）には、ＭＰＵ２３はＮＡＮＤ  ＳＡ１１１からＮＡＮＤ管理情報のバックアップデータを読み出す（Ｂ６０３）。そして、バックアップデータを取得可能であるかが確認（Ｂ６０４）される。バックアップデータを取得可能である場合（Ｂ６０４のＹｅｓ）、ＭＰＵ２３は、ＮＡＮＤ管理情報のバックアップデータを読み込む（Ｂ６０５）。そして、再度、ＮＡＮＤ  ＳＡ１１の状態が確認され（Ｂ６０６）、ＮＡＮＤ  ＳＡ１１１の状態が良好とされた場合（Ｂ６０６のＹｅｓ）、ハイブリッドドライブの起動準備が完了し、ハイブリッドドライブが正常に起動する。（Ｂ６０６）において、ＮＡＮＤ  ＳＡ１１１の状態が良好でない（例えば不良ブロックが発見された）場合（Ｂ６０６のＮо）には、ドライブの起動準備が完了しない。
【００４６】
ステップ６０４において、バックアップデータが取得できない場合（Ｂ６０４のＮо）には、ＭＰＵ２３はＨＤＤ２０のＨＤＤ  ＳＡ１０１から、ＮＡＮＤ管理情報のバックアップデータを読み込む（Ｂ６０７）。そして、ＨＤＤ  ＳＡ１０１からバックアップデータを取得可能であるかが確認（Ｂ６０８）される。バックアップデータを取得可能である場合（Ｂ６０８のＹｅｓ）、前述した（Ｂ６０５）の手順に進む。（Ｂ６０８）において、ＨＤＤ  ＳＡ１０１から、ＮＡＮＤ管理情報のバックアップデータが取得できない場合（Ｂ６０８のＮｏ）には、ドライブの起動準備が完了しない。
【００４７】
したがって本実施形態にかかるハイブリッドドライブによれば、ＮＡＮＤ  ＳＡ１１１が更新される際に、ＮＡＮＤ  ＳＡ１１１に格納されるＮＡＮＤ管理情報が、ＨＤＤ２０に予め規定されたＨＤＤ  ＳＡ１０１に記録される。したがって、ハイブリッドドライブを起動する時に、ＮＡＮＤ  ＳＡ１１１からＮＡＮＤ管理情報が得られない場合、ＨＤＤ  ＳＡ１０１からＮＡＮＤ管理情報を取得できる。この結果、ハイブリッドドライブの起動不良発生率が低減され、ハイブリッドドライブの信頼性が向上する。
【００４８】
ＮＡＮＤメモリ１１をキャッシュとして使用するハイブリッドドライブでは、ＮＡＮＤ管理情報の確認および更新の頻度が高い。そのため、常にＨＤＤからＮＡＮＤ管理情報を得ることは性能劣化になってしまうが、本実施形態によればＮＡＮＤメモリからＮＡＮＤ管理情報を得られない場合にのみ、ＨＤＤからＮＡＮＤ管理情報を取得するので性能劣化はほとんどない。この結果、本実施形態にかかるハイブリッドドライブによれば、信頼性が向上した記憶装置を提供することが可能となる。
【００４９】
また、大記憶容量の不発揮性メモリ（ＨＤＤ）と不発揮性メモリ（ＮＡＮＤメモリ）で構成されるハイブリッドドライブ等の記憶装置であれば、追加コストを必要とせずに信頼性の高い記憶装置を実現可能である。
【００５０】
なお、ＮＡＮＤ管理情報が読み込めない場合に、読み込めないことを示す情報がＮＡＮＤメモリ１１、及び／又はディスク２１の記録面の一部に記録されてもよい。読み込めないことを示す情報とは、例えば、ＮＡＮＤメモリ１１の不良領域の位置の情報などである。
【００５１】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５２】
１０…半導体ドライブユニット、１１…ＮＡＮＤメモリ（ＮＡＮＤフラッシュメモリ、第１の不揮発性記憶媒体）、１２…メモリコントローラ（キャッシュコントローラ）、２０…ＨＤＤ（ハードディスクドライブユニット）、２１…ディスク（磁気ディスク、第２の不揮発性記憶媒体）、２２…ヘッド、２７…メインコントローラ、１０１、１１１…システム領域（ＳＡ）、１１２…キャッシュ領域、１２１…ホストＩＦ（ホストインタフェースコントローラ）、１２２…メモリＩＦ（メモリインタフェースコントローラ）、１２３…ＭＰＵ（マイクロプロセッサユニット、プロセッサ）、１２４…ＲＯＭ、１２５…ＲＡＭ
【図１】
2015135620.tif 000003
【図２】
2015135620.tif 000004
【図３】
2015135620.tif 000005
【図４】
2015135620.tif 000006