JP2015135620A - 記憶装置、及びデータの記憶方法 - Google Patents
記憶装置、及びデータの記憶方法 Download PDFInfo
- Publication number
- JP2015135620A JP2015135620A JP2014007090A JP2014007090A JP2015135620A JP 2015135620 A JP2015135620 A JP 2015135620A JP 2014007090 A JP2014007090 A JP 2014007090A JP 2014007090 A JP2014007090 A JP 2014007090A JP 2015135620 A JP2015135620 A JP 2015135620A
- Authority
- JP
- Japan
- Prior art keywords
- management information
- nand
- area
- management
- storage unit
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- 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/0658—Controller construction arrangements
-
- 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
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Abstract
【課題】信頼性の高い記憶装置、及びデータの記憶方法を提供することである。【解決手段】本実施形態に係る記憶装置は、予め規定される第1の管理領域を有する第1の不発揮性記憶部と、第1の不揮発性記憶部より高速でデータ処理できる第2の不発揮性記憶部と、を備える。第1の不揮発記憶部は、第1の管理領域に第1の不揮発記憶部の管理情報である第1の管理情報と第2の不揮発性記憶部の管理情報である第2の管理情報とを記憶する。【選択図】図1
Description
本発明の実施形態は、記憶装置、及びデータの記憶方法に関する。
近年、アクセス速度及び記憶容量が異なる複数種類(例えば2種類)の不揮発性記憶媒体を備えたストレージ装置が開発されている。このようなストレージ装置の代表として、ハイブリッドドライブが知られている。ハイブリッドドライブは一般に、第1の不揮発性記憶媒体と、第1の不揮発性記憶媒体と比較してアクセス速度が低く且つ記憶容量が大きい第2の不揮発性記憶媒体とを備えている。
第1の不揮発性記憶媒体には、例えばNANDフラッシュメモリのような半導体メモリが用いられる。NANDフラッシュメモリは、単位容量当たりの単価は高いものの高速アクセスが可能な不揮発性記憶媒体として知られている。第2の不揮発性記憶媒体には、例えば、磁気ディスクのようなディスク媒体が用いられる。ディスク媒体は、アクセス速度は低いものの単位容量当たりの単価が安い不揮発性記憶媒体として知られている。このため、ハイブリッドドライブでは、ディスク媒体(より詳細には、ディスク媒体を含むディスクドライブ)を主たるストレージとして用い、NANDフラッシュメモリ(より詳細には、ディスク媒体よりも高アクセス速度のNANDフラッシュメモリ)をキャッシュとして用いることがある。キャッシュとして用いられる場合であっても、NANDフラッシュメモリに記憶されるデータ及びNANDフラッシュメモリの特性を示すデータを記憶するための管理領域(システム領域)が必要となる。
本発明が解決しようとする課題は、信頼性の高い記憶装置、及びデータの記憶方法を提供することである。
本実施形態に係る記憶装置は、予め規定される第1の管理領域を有する第1の不発揮性記憶部と、第1の不揮発性記憶部より高速でデータ処理できる第2の不発揮性記憶部と、を備え、第1の不揮発記憶部は、第1の管理領域に第1の不揮発記憶部の管理情報である第1の管理情報と第2の不揮発性記憶部の管理情報である第2の管理情報とを記憶する。
以下、実施の形態につき図面を参照して説明する。
図1は実施形態に係るハイブリッドドライブの典型的な構成を示すブロック図である。ハイブリッドドライブは、アクセス速度及び記憶容量が異なる複数種類、例えば2種類の不揮発性記憶媒体(つまり、第1の不揮発性記憶媒体及び第2の不揮発性記憶媒体)を備えている。本実施形態では、第1の不揮発性記憶媒体として、NANDフラッシュメモリ(以下、NANDメモリと称する)11が用いられ、第2の不揮発性記憶媒体として磁気ディスク媒体(以下、ディスクと称する)21が用いられる。ディスク21は、後述するように、管理情報を記録するためのシステム領域(SA)101を有する。ディスク21のアクセス速度及び記憶容量は、NANDメモリ11のそれらと比較して低速で且つ大容量である。
図1は実施形態に係るハイブリッドドライブの典型的な構成を示すブロック図である。ハイブリッドドライブは、アクセス速度及び記憶容量が異なる複数種類、例えば2種類の不揮発性記憶媒体(つまり、第1の不揮発性記憶媒体及び第2の不揮発性記憶媒体)を備えている。本実施形態では、第1の不揮発性記憶媒体として、NANDフラッシュメモリ(以下、NANDメモリと称する)11が用いられ、第2の不揮発性記憶媒体として磁気ディスク媒体(以下、ディスクと称する)21が用いられる。ディスク21は、後述するように、管理情報を記録するためのシステム領域(SA)101を有する。ディスク21のアクセス速度及び記憶容量は、NANDメモリ11のそれらと比較して低速で且つ大容量である。
図1に示されるハイブリッドドライブは、ソリッドステートドライブのような半導体ドライブユニット10と、ハードディスクドライブユニット(以下、HDDと称する)20とから構成される。半導体ドライブユニット10は、NANDメモリ11と、メモリコントローラ12とを含む。ハイブリッドドライブでは、NANDメモリ11は種々の目的に使用される。NANDメモリ11は、例えば、ハイブリッドドライブのパフォーマンス向上、ハイブリッドドライブが振動している時のライト動作の安定化、ハイブリッドドライブの起動高速化、などのために使用される。後述するように、NANDメモリ11は、管理情報を記録するためのシステム領域(SA)111を有する。
メモリコントローラ12は、メインコントローラ27からのアクセス要求(例えば、ライト要求またはリード要求)に応じて、NANDメモリ11へのアクセスを制御する。本実施形態において、NANDメモリ11は、ホスト装置(以下、ホストと称する)からハイブリッドドライブへのアクセスの高速化のために、当該ホストによって最近アクセスされたデータを格納するためのキャッシュ(キャッシュメモリ)として用いられる。ホストは、図1に示されるハイブリッドドライブを、自身のストレージ装置として利用する。
メモリコントローラ12は、ホストインタフェースコントローラ(以下、ホストIFと称する)121と、メモリインタフェースコントローラ(以下、メモリIFと称する)122と、マイクロプロセッサユニット(MPU)123と、読み出し専用メモリ(ROM)124と、ランダムアクセスメモリ(RAM)125とを含む。ホストIF(第1のインタフェースコントローラ)121は、メインコントローラ27と接続されている。ホストIF121は、メインコントローラ27(より詳細には、メインコントローラ27の後述するMPU273)から転送される信号を受信し、且つ当該メインコントローラ27に信号を送信する。具体的には、ホストIF121は、メインコントローラ27から転送されるコマンド(ライトコマンド、リードコマンド等)を受信して、当該受信されたコマンドをMPU123に渡す。ホストIF121はまた、メインコントローラ27から転送されたコマンドに対するMPU123からの応答を、メインコントローラ27に返す。すなわち、ホストIF121は、メインコントローラ27とMPU123との間のデータ転送を制御する。メモリIF(第2のインタフェースコントローラ)122はNANDメモリ11と接続されており、MPU123の制御の下でNANDメモリ11にアクセスする。
MPU123は、メインコントローラ27から転送されたコマンドに基づいてNANDメモリ11にアクセスするための処理(例えば、ライト処理またはリード処理)を、第1の制御プログラムに従って実行する。本実施形態において第1の制御プログラムは、ROM124に予め格納されている。なお、ROM124に代えて、書き換え可能な不揮発性ROM、例えばフラッシュROMを用いても良い。RAM125の記憶領域の一部は、MPU123のワーク領域として用いられる。RAM125の記憶領域の他の一部は、後述するアクセスカウンタテーブル125aを格納するのに用いられる。
HDD20は、ディスク21と、ヘッド22と、スピンドルモータ(SPM)23と、アクチュエータ24と、ドライバ集積回路(IC)25と、ヘッドIC26と、メインコントローラ27と、フラッシュROM(FROM)28と、RAM29とを含む。ディスク21は、例えばその一方の面に、データが磁気記録される記録面を備えている。ディスク21は、記録面の一部にシステム領域(SA)101を有する。ディスク21はSPM23によって高速に回転させられる。SPM23は、ドライバIC25から供給される駆動電流(または駆動電圧)により駆動される。
図1の構成は、単一枚のディスク21を備えたHDD20を示している。しかし、ディスク21が複数枚積層配置されたHDDであっても構わない。また、図1の構成では、ディスク21は、その一方の面に記録面を備えている。しかし、ディスク21がその両面に記録面を備え、当該両記録面にそれぞれ対応してヘッドが配置されても構わない。
ディスク21(より詳細には、ディスク21の記録面)は、例えば同心円状の複数のトラックを備えている。なお、ディスク21が、スパイラル状に配置される複数のトラックを備えていても構わない。ディスク21は、記録面の一部に予め管理(システム)領域101を備えている。システム領域101は、HDD SA101と示す場合もある。ここで、システム領域101には、HDD20に関する管理情報(HDD管理情報)と、後述するNANDメモリ11に関する管理情報(NAND管理情報)と同一の情報とが保存(記憶)される。
ヘッド(ヘッドスライダ)22はディスク21の記録面に対応して配置される。ヘッド22は、アクチュエータ24のアームから延出したサスペンションの先端に取り付けられている。アクチュエータ24は、当該アクチュエータ24の駆動源となるボイスコイルモータ(VCM)240を有している。VCM240は、ドライバIC25から供給される駆動電流により駆動される。ヘッド22は、アクチュエータ24がVCM240によって駆動されることにより、ディスク21上を当該ディスク21の半径方向に、円弧を描くように移動する。
ドライバIC25は、メインコントローラ27(より詳細には、メインコントローラ27内のMPU273)の制御に従い、SPM23とVCM240とを駆動する。ドライバIC25によりVCM240が駆動されることで、ヘッド22はディスク21上の目標トラックに位置付けられる。
ヘッドIC26はヘッドアンプとも呼ばれている。ヘッドIC26は、例えばアクチュエータ24の所定の箇所に固定され、フレキシブル印刷回路基板(FPC)を介してメインコントローラ27と電気的に接続されている。但し、図1では、作図の都合で、ヘッドIC26は、アクチュエータ24から離れた箇所に配置されている。
ヘッドIC26は、ヘッド22のリード素子によりリードされた信号(つまりリード信号)を増幅する。ヘッドIC26はまた、メインコントローラ27(より詳細には、メインコントローラ27内のR/Wチャネル271)から出力されるライトデータをライト電流に変換して、当該ライト電流をヘッド22のライト素子に出力する。
メインコントローラ27は、例えば、複数の要素が単一チップに集積された大規模集積回路(LSI)によって実現される。メインコントローラ27は、リード/ライト(R/W)チャネル271と、ハードディスクコントローラ(HDC)272と、MPU273とを含む。
R/Wチャネル271は、リード/ライトに関連する信号を処理する。即ちR/Wチャネル271は、ヘッドIC26によって増幅されたリード信号をデジタルデータに変換し、このデジタルデータからリードデータを復号する。R/Wチャネル271はまた、MPU273を介してHDC272から転送されるライトデータを符号化し、この符号化されたライトデータをヘッドIC26に転送する。
HDC272は、ホストインタフェース(ストレージインタフェース)30を介してホホストと接続されている。ホスト及び図1に示されるハイブリッドドライブは、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、携帯電話機、或いはプリンタ装置のような電子機器に備えられている。
HDC272は、ホストから転送される信号を受信し、且つホストに信号を転送するホストインタフェースコントローラとして機能する。具体的には、HDC272は、ホストから転送されるコマンド(ライトコマンド、リードコマンド等)を受信して、当該受信されたコマンドをMPU273に渡す。HDC272はまた、ホストと当該HDC272との間のデータ転送を制御する。HDC272は更に、MPU273、R/Wチャネル271、ヘッドIC26及びヘッド22を介してディスク21へのデータのライト及びディスク21からのデータのリードを制御するディスクインタフェースコントローラとしても機能する。
MPU273は、ホストからのアクセス要求(ライト要求またはリード要求)に応じて、メモリコントローラ12を介したNANDメモリ11へのアクセスと、R/Wチャネル271、ヘッドIC26、及びヘッド22を介したディスク21へのアクセスとを制御する。この制御は、第2の制御プログラムに従って実行される。本実施形態において、第2の制御プログラムは、FROM28に格納されている。RAM29の記憶領域の一部は、MPU273のワーク領域として用いられる。
なお、イニシャルプログラムローダ(IPL)がFROM28に格納され、第2の制御プログラムがディスク21に格納されていても構わない。この場合、ハイブリッドドライブの電源が投入された際に、MPU273がIPLを実行することにより、第2の制御プログラムがディスク21からFROM28またはRAM29にロードされれば良い。
図2は、図1に示されるNANDメモリ11の記憶領域の典型的なフォーマットを示す概念図である。図2において、NANDメモリ11の記憶領域は、N個のブロック(つまり、物理ブロック)から構成される。NANDメモリ11では、このブロックを単位にデータが一括して消去される。つまりブロックは、データが消去される単位である。NANDメモリ11の記憶領域は、図1及び図2に示されるように、システム領域(SA)111及びキャッシュ領域(CA)112に区分される。つまり、NANDメモリ11は、システム領域111とキャッシュ領域112とを備えている。システム領域111は、一般的にキャッシュ領域112に対して十分に小さい。なお、NANDメモリ11のシステム領域111をNAND SA111と示し、NANDメモリ11のキャッシュ領域112をNAND CA112と示すこともある。
システム領域111は、システム(例えば、メモリコントローラ12)がNANDメモリ11に対するデータのリード/ライト/消去の処理を管理するために利用する情報(NAND管理情報)を格納するために用いられる。すなわち、NANDメモリ11のNAND管理情報はシステム領域111に保存される。ここで、NAND管理情報は冗長的に(多重化されて)保存されることが好ましいので、NAND管理情報のバックアップデータがシステム領域111内に保存されていてもよい。キャッシュ領域112は、ホストによって最近アクセスされたデータを格納するために用いられる。
NAND管理情報は、例えば、NANDメモリ11の基本的構造の情報、コマンドを実行した回数、NANDメモリ11のコントローラのバージョンの情報、及び前述のようにNANDメモリ11に対するデータの書き換えの回数などを含む。
NANDメモリ11の記憶領域では、書き込みの最少単位と消去の最少単位とが異なるため、一部のデータのみの書き換えができない。例えば、NANDメモリ11では、書き込みの最小単位が1ページであり、消去の最小単位が1ブロックである。例えば、1ブロックは64ページを含む。NANDメモリ11の記憶領域の消去動作は、前述のように複数のページを含むブロック単位で行われる。また、書き換え(上書き)動作は1動作で完了せず、消去してからデータの書き込みが行われる。すなわち1ページの書き換えでも1ブロック全てを消去する必要があるため、その1ブロックのデータは他の記憶領域に一時的に保存される。
システム領域111に保存されたNAND管理情報は、ハイブリッドドライブの起動(電源の投入)時に確認される。NAND管理情報が取得出来ない場合、NANDメモリ11内の全てのデータが消失した状態として扱われる。NAND管理情報が取得確認できない原因の一つには、NANDメモリ11の記憶領域(特に、システム領域111)の劣化がある。ハイブリッドドライブにおいて、複数の不揮発性記録媒体を搭載することによって、NANDメモリのシステム領域の劣化がある程度抑制されうる。しかし、この場合、十分な数のNANDメモリが搭載されていなければ、十分な数のシステム領域に多重化することができない。その結果、システム領域の劣化が十分に抑制されない。このようなハイブリッドドライブでは、システム領域の劣化によってNAND管理情報を取得できなくなる可能性がある。NAND管理情報を取得できない場合には、ハイブリッドドライブ全体の信頼性が低下する。
例えば、NANDメモリ11の記憶領域の劣化対策として、図2に示されるように、NAND管理情報の必要量に応じて適当な余裕領域が、システム領域111に設けられる。NAND管理情報は、システム領域111内の余裕領域にも格納されることがある。この結果、システム領域111の特定の領域の利用の集中が回避されて、システム領域111への書き込みは平滑化され、その記憶領域の劣化が低減される。また、システム領域111の劣化対策の他の例として、NANDメモリ11を複数備え、各NANDメモリ11がシステム領域111を有することで、記録するデータを多重化することも可能である。記録するデータを多重化する場合には、十分な数のNANDメモリ11が設けられる。
システム領域111は、キャッシュ管理テーブル(論理物理変換テーブル)、第1の空き領域リスト、第2の空き領域リスト、及びバッドブロックリストを格納するのに用いられる。以下の説明では、論理物理変換テーブルが単にテーブルと表記されることもある。また、第1の空き領域リスト、第2の空き領域リスト、及びバッドブロックリストが、それぞれ単にリストと表記されることもある。
前述のように、NANDメモリ11では、データが既に格納されている領域に、新
たなデータ(更新データ)を上書きすることはできない。このため、システム領域111内のテーブルの格納位置(記憶位置)は、当該テーブルが更新される都度変更されることがある。この場合、更新されたテーブル(新テーブル)は、更新前のテーブル(旧テーブル)が格納されている領域とは異なる領域に書かれる。システム領域111内のリストの格納位置についても同様である。
たなデータ(更新データ)を上書きすることはできない。このため、システム領域111内のテーブルの格納位置(記憶位置)は、当該テーブルが更新される都度変更されることがある。この場合、更新されたテーブル(新テーブル)は、更新前のテーブル(旧テーブル)が格納されている領域とは異なる領域に書かれる。システム領域111内のリストの格納位置についても同様である。
システム領域111内のテーブル及びリストなどの格納位置及びサイズの情報は、NAND管理情報として、RAM125のワークエリア、HDD SA101及びNAND SA111の一部に格納されているものとする。本実施形態では、HDD SA101又はNAND SA111に格納されている情報は、ハイブリッドドライブの電源の投入時にMPU273の制御によって読み出されて、ホストIF121及びMPU123を介してRAM125のワークエリアにロードされる。テーブル及びリストなどのシステム領域111内の格納位置が変更された場合、MPU123及びMPU273は、それぞれ、RAM125のワークエリアの一部の領域内の対応する位置情報及びHDD SA101及びNAND SA111の一部の領域内の対応する位置情報を更新する。
論理物理変換テーブルは、NANDメモリ11のキャッシュ領域112内のブロック各々を管理するためのブロック管理情報を格納するのに用いられる。本実施形態において、このブロック管理情報は、キャッシュ領域112内のブロック(予め定められたサイズの領域)各々に格納されたデータ(各ブロックデータ)のアドレスに関するキャッシュディレクトリ情報として用いられる。キャッシュディレクトリ情報は、データの物理的なアドレスと各ブロックデータの論理的なアドレスとの対応を管理するための情報を含む。各ブロックデータの物理的なアドレス(ここでは、物理ブロック番号)は、各ブロックデータが格納されているNANDメモリ11内のブロック(領域)の位置を示す。各ブロックデータの論理的なアドレス(ここでは、論理ブロック番号)は、各ブロックデータの論理アドレス空間内の位置を示す。一般的にNANDメモリにおいて、前述のNAND管理情報及び論理物理変換テーブルの両方が読み込めない場合、後述するように起動の準備は完了しない。
第1の空き領域リストは、キャッシュ領域112内の第1のタイプの空き領域を登録するために用いられる。つまり第1の空き領域リストは、第1のタイプの空き領域を管理するための第1の情報として用いられる。第1のタイプの空き領域とは、正常な空き領域を指す。第2の空き領域リストは、キャッシュ領域112内の第2のタイプの空き領域を登録するのに用いられる。つまり第2の空き領域リストは、第2のタイプの空き領域を管理するための第2の情報として用いられる。第2のタイプの空き領域とは、過去にリードエラーが発生した空き領域を指す。バッドブロックリストは、使用不可能とされたブロック(物理ブロック)、つまりバッドブロック(領域)を登録するのに用いられる。つまりバッドブロックリストは、バッドブロックを管理するための第3の情報として用いられる。
キャッシュ領域112のブロックの各々は、複数のページ(物理ページ)から構成されるものとする。この場合、論理ブロックも複数のページ(論理ページ)から構成される。
論理ページ番号は、対応する物理ブロック番号及び物理ページ番号のページ(物理ページ)が割り当てられた論理ページ(論理ブロック内の論理ページ)を示す。つまり、論理ページ番号は、対応する物理ページに格納されたデータの論理アドレス空間内の位置を示す。
次に、本実施形態の図1のハイブリッドドライブの処理について、図3を参照して説明する。図3は、ハイブリッドドライブがホストからスタンバイ又は電源オフにステイタス移行するためのコマンドを受領した際に実行されるHDD管理情報及びNAND管理情報のライト処理の手順を示すフローチャートである。
本実施形態では、NAND SA111が更新される際に、NAND SA111に保存されたNAND管理情報がHDDに予め規定されたHDD SA101に記録される。ここで、NAND SA111が更新される際の例として、ホストからの電源オフの信号投入によってハイブリッドドライブがスタンバイ状態へ移行するとき、パワーセーブモード状態へ移行するとき、及びNAND CA112上にあるユーザデータ(キャッシュデータ)をディスク21へフラッシュするときなどがあげられる。図3に示すフローチャートでは、電源オフの信号投入によってハイブリッドドライブがスタンバイ状態へ移行する場合を想定する。本実施形態において、ディスク21の記録面21には、予めHDD SA101が規定されている。
ホストから電源オフの信号が投入(例えば、スタンバイへ移行するコマンドの受領)された際に、メインコントローラ27は、ホストIF121を介してMPU123にスタンバイへの移行を指示する(B501)。この指示に応じて、ドライバIC25によってVCM240が駆動されることによって、ヘッド22がディスク21上の予め規定されたHDD SA101上に位置付けられる。このとき、HDD SA101のHDD管理情報が更新される(B502)。また、MPU273の指示に対応するMPU123の制御によって、NAND SA111のNAND管理情報が更新される(B503)。MPU123は、更新したNAND SA111のNAND管理情報と同一の情報(書き込みデータ)を、ホストIF121を介してメインコントローラ27に転送する。転送された書き込みデータは、メインコントローラ27のMPU273を介してR/Wチャンネル271に渡される。R/Wチャンネル271は書き込みデータを符号化しヘッドIC26に転送する。ヘッドIC26は、この書き込みデータをヘッド22のライト素子に出力する。このとき、ヘッド22は、メインコントローラの制御に従い駆動されるVCM240によって予め規定されたHDD SA101の記録位置に配置される。そして、この書き込みデータが予め規定されたHDD SA101にライトされる(S504)。
そして、メインコントローラ27の制御に従って、ドライバIC25は、VCM240を駆動させてヘッド22をディスク21の記録面からディスク21外へ退避され(B505)、SPM23の駆動を停止させる(B506)。その後、ハイブリッドドライブはスタンバイ状態となり、電源オフになる。以上の手順によって、NAND SA111に保存されたNAND管理情報がHDD SA101に保存される。
次に、本実施形態にかかるハイブリッドドライブにおいて、前述のように更新されたNAND管理情報を読み込む処理について、図4を参照して説明する。図4は、ハイブリッドドライブに電源オンの信号が投入された後に実行される処理の手順を示すフローチャートである。図4において、ディスク21のHDD SA101には、NAND管理情報が保存されているものとする。
ホストから電源オンの信号が投入された際に、MPU123は、NAND SA111に保存されたNAND管理情報を読み込む(B601)。ここで、NAND SA111の状態が確認される(B602)。NAND SA111の状態が良好とされた場合(B602のYes)、ハイブリッドドライブの起動準備が完了し、ハイブリッドドライブが正常に起動する。
ステップ602において、NAND SA111の状態が良好でない(例えば不良ブロックが発見された)場合(B602のNо)には、MPU23はNAND SA111からNAND管理情報のバックアップデータを読み出す(B603)。そして、バックアップデータを取得可能であるかが確認(B604)される。バックアップデータを取得可能である場合(B604のYes)、MPU23は、NAND管理情報のバックアップデータを読み込む(B605)。そして、再度、NAND SA11の状態が確認され(B606)、NAND SA111の状態が良好とされた場合(B606のYes)、ハイブリッドドライブの起動準備が完了し、ハイブリッドドライブが正常に起動する。(B606)において、NAND SA111の状態が良好でない(例えば不良ブロックが発見された)場合(B606のNо)には、ドライブの起動準備が完了しない。
ステップ604において、バックアップデータが取得できない場合(B604のNо)には、MPU23はHDD20のHDD SA101から、NAND管理情報のバックアップデータを読み込む(B607)。そして、HDD SA101からバックアップデータを取得可能であるかが確認(B608)される。バックアップデータを取得可能である場合(B608のYes)、前述した(B605)の手順に進む。(B608)において、HDD SA101から、NAND管理情報のバックアップデータが取得できない場合(B608のNo)には、ドライブの起動準備が完了しない。
したがって本実施形態にかかるハイブリッドドライブによれば、NAND SA111が更新される際に、NAND SA111に格納されるNAND管理情報が、HDD20に予め規定されたHDD SA101に記録される。したがって、ハイブリッドドライブを起動する時に、NAND SA111からNAND管理情報が得られない場合、HDD SA101からNAND管理情報を取得できる。この結果、ハイブリッドドライブの起動不良発生率が低減され、ハイブリッドドライブの信頼性が向上する。
NANDメモリ11をキャッシュとして使用するハイブリッドドライブでは、NAND管理情報の確認および更新の頻度が高い。そのため、常にHDDからNAND管理情報を得ることは性能劣化になってしまうが、本実施形態によればNANDメモリからNAND管理情報を得られない場合にのみ、HDDからNAND管理情報を取得するので性能劣化はほとんどない。この結果、本実施形態にかかるハイブリッドドライブによれば、信頼性が向上した記憶装置を提供することが可能となる。
また、大記憶容量の不発揮性メモリ(HDD)と不発揮性メモリ(NANDメモリ)で構成されるハイブリッドドライブ等の記憶装置であれば、追加コストを必要とせずに信頼性の高い記憶装置を実現可能である。
なお、NAND管理情報が読み込めない場合に、読み込めないことを示す情報がNANDメモリ11、及び/又はディスク21の記録面の一部に記録されてもよい。読み込めないことを示す情報とは、例えば、NANDメモリ11の不良領域の位置の情報などである。
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…半導体ドライブユニット、11…NANDメモリ(NANDフラッシュメモリ、第1の不揮発性記憶媒体)、12…メモリコントローラ(キャッシュコントローラ)、20…HDD(ハードディスクドライブユニット)、21…ディスク(磁気ディスク、第2の不揮発性記憶媒体)、22…ヘッド、27…メインコントローラ、101、111…システム領域(SA)、112…キャッシュ領域、121…ホストIF(ホストインタフェースコントローラ)、122…メモリIF(メモリインタフェースコントローラ)、123…MPU(マイクロプロセッサユニット、プロセッサ)、124…ROM、125…RAM
Claims (9)
- 予め規定される第1の管理領域を有する第1の不発揮性記憶部と、
前記第1の不揮発性記憶部より高速でデータ処理できる第2の不発揮性記憶部と、
を備え、
前記第1の不揮発記憶部は、前記第1の管理領域に前記第1の不揮発記憶部の管理情報である第1の管理情報と前記第2の不揮発性記憶部の管理情報である第2の管理情報とを記憶する記憶装置。 - 前記第2の管理情報を前記第1の管理領域に記憶させ、当該第1の管理領域から当該第2の管理情報を読み出す第1のコントローラと、
前記第2の管理情報を前記第2の不発揮性記憶部が有する第2の管理領域に記憶させ、当該第2の管理領域から当該第2の管理情報を読み出す前記第2のコントローラと、
をさらに備える請求項1の記憶装置。 - 前記第2のコントローラが前記第2の管理領域から前記第2の管理情報を取得できない場合、前記第1のコントローラは前記第2の管理情報を前記第1の管理領域から読み出す請求項2の記憶装置。
- 前記第2の管理情報は、前記第2の管理領域に冗長的に記憶されている請求項2又は請求項3の記憶装置。
- 前記第2の管理情報が更新されるたびに、当該第2の管理情報が前記第1の管理領域に記憶される請求項2から請求項4のいずれか1の記憶装置。
- 予め規定される第1の管理領域を有する第1の不発揮性記憶部と、前記第1の不揮発性記憶部より高速でデータ処理できる第2の不発揮性記憶部と、を備える記憶装置による情報を記憶する方法であって、
前記第1の管理領域に前記第1の不揮発記憶部の管理情報である第1の管理情報と前記第2の不揮発性記憶部の管理情報である第2の管理情報とを前記第1の不揮発記憶部に記憶する方法。 - 前記第2の不発揮性記憶部が有する第2の管理領域から前記第2の管理情報を取得できるかを確認し、
当該第2の管理情報を取得できない場合、前記第2の管理情報を前記第1の管理領域から読み出す請求項6の方法。 - 前記第2の管理情報は、前記第2の管理領域に冗長的に記憶されている請求項6又は請求項7の方法。
- 前記第2の管理情報が更新されるたびに、当該第2の管理情報が前記第1の管理領域に記憶される請求項6から請求項8のいずれか1の方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014007090A JP2015135620A (ja) | 2014-01-17 | 2014-01-17 | 記憶装置、及びデータの記憶方法 |
US14/263,018 US20150205543A1 (en) | 2014-01-17 | 2014-04-28 | Storage device and data storing method |
CN201410195539.7A CN104793895A (zh) | 2014-01-17 | 2014-05-09 | 存储装置以及数据的存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014007090A JP2015135620A (ja) | 2014-01-17 | 2014-01-17 | 記憶装置、及びデータの記憶方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015135620A true JP2015135620A (ja) | 2015-07-27 |
Family
ID=53544844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014007090A Abandoned JP2015135620A (ja) | 2014-01-17 | 2014-01-17 | 記憶装置、及びデータの記憶方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150205543A1 (ja) |
JP (1) | JP2015135620A (ja) |
CN (1) | CN104793895A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016112287A1 (de) | 2015-07-06 | 2017-01-12 | Denso Corporation | Vorrichtung zum Steuern eines Inverters |
JP2017068770A (ja) * | 2015-10-02 | 2017-04-06 | 京セラドキュメントソリューションズ株式会社 | 記憶域管理プログラム及び電子機器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100409164C (zh) * | 2003-07-07 | 2008-08-06 | 日立超大规模集成电路系统株式会社 | 存储系统 |
US8499132B1 (en) * | 2008-02-12 | 2013-07-30 | Netapp, Inc. | Software module for using flash memory as a secondary permanent storage device |
EP2417524A4 (en) * | 2009-04-10 | 2013-03-06 | Kaminario Tehnologies Ltd | MASS STORAGE SYSTEM USING AN AUXILIARY SEMICONDUCTOR STORAGE SUBSYSTEM |
WO2011030290A1 (en) * | 2009-09-08 | 2011-03-17 | International Business Machines Corporation | Data management in solid-state storage devices and tiered storage systems |
US8977804B1 (en) * | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in storage systems |
-
2014
- 2014-01-17 JP JP2014007090A patent/JP2015135620A/ja not_active Abandoned
- 2014-04-28 US US14/263,018 patent/US20150205543A1/en not_active Abandoned
- 2014-05-09 CN CN201410195539.7A patent/CN104793895A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016112287A1 (de) | 2015-07-06 | 2017-01-12 | Denso Corporation | Vorrichtung zum Steuern eines Inverters |
JP2017068770A (ja) * | 2015-10-02 | 2017-04-06 | 京セラドキュメントソリューションズ株式会社 | 記憶域管理プログラム及び電子機器 |
Also Published As
Publication number | Publication date |
---|---|
US20150205543A1 (en) | 2015-07-23 |
CN104793895A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776153B2 (en) | Information processing device and system capable of preventing loss of user data | |
US8578100B1 (en) | Disk drive flushing write data in response to computed flush time | |
US20090103203A1 (en) | Recording apparatus and control circuit | |
JP2009020986A (ja) | ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法 | |
JP5681511B2 (ja) | 情報記録装置及び情報記録方法 | |
US20070162693A1 (en) | Hybrid hard disk drive control method and recording medium and apparatus suitable therefor | |
US20100180068A1 (en) | Storage device | |
JP2007193440A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
JP2010020756A (ja) | Eccに基づいてフラッシュメモリのデータページを更新する記憶装置及びその方法 | |
US20070168607A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
US20080025706A1 (en) | Information recording apparatus and control method thereof | |
JP2016004387A (ja) | ストレージシステム、メモリコントローラ、および制御方法 | |
US20150113208A1 (en) | Storage apparatus, cache controller, and method for writing data to nonvolatile storage medium | |
US8947803B1 (en) | Data storage device and data erasing method | |
US20180174615A1 (en) | Storage device and a method for defect scanning of the same | |
US10096338B2 (en) | Data recording apparatus and data recording method | |
JP2007193439A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
JP2016014957A (ja) | ストレージ装置及びそのデータ処理方法 | |
US20170090768A1 (en) | Storage device that performs error-rate-based data backup | |
US9105297B2 (en) | Information recording device and data recovery method | |
JP2015135620A (ja) | 記憶装置、及びデータの記憶方法 | |
JP4919983B2 (ja) | データ記憶装置及びデータ記憶装置におけるデータ管理方法 | |
US20070250661A1 (en) | Data recording apparatus and method of controlling the same | |
EP2530602A2 (en) | Method, system and computer-readable medium for switching access mode of hard drive | |
US10867633B1 (en) | Reduced adjacent track erasure from write retry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160106 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20160427 |