JP2008140459A - Hybrid disk storage device and disk write method applied to the same - Google Patents
Hybrid disk storage device and disk write method applied to the same Download PDFInfo
- Publication number
- JP2008140459A JP2008140459A JP2006324992A JP2006324992A JP2008140459A JP 2008140459 A JP2008140459 A JP 2008140459A JP 2006324992 A JP2006324992 A JP 2006324992A JP 2006324992 A JP2006324992 A JP 2006324992A JP 2008140459 A JP2008140459 A JP 2008140459A
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- nonvolatile memory
- area
- specific area
- 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
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
本発明は、不揮発性メモリを有するハイブリッドディスク記憶装置に係り、特に不揮発性メモリのデータを、当該データが本来ライトされるべきディスク上の領域とは別の、当該ディスク上に予め確保された特定領域にライトするための、ハイブリッドディスク記憶装置及び同装置に適用されるディスクライト方法に関する。 The present invention relates to a hybrid disk storage device having a non-volatile memory, and in particular, the data in the non-volatile memory is specified in advance on the disk separately from the area on the disk to which the data is originally written. The present invention relates to a hybrid disk storage device for writing to an area and a disk writing method applied to the device.
磁気ディスク装置(ハードディスクドライブ)のようなディスク記憶装置は、記憶媒体にディスクを用いている。ディスクへのアクセスには機械的な操作を伴う。このため、ディスクへのアクセスは、メモリ(例えば半導体メモリ)へのアクセスに比べて低速である。そこで、ディスク記憶装置は、当該ディスク記憶装置を利用するパーソナルコンピュータのようなホストからの当該ディスク記憶装置へのアクセスの高速化のために、ディスクキャッシュと呼ばれるキャッシュメモリを有しているのが一般的である。 A disk storage device such as a magnetic disk device (hard disk drive) uses a disk as a storage medium. Access to the disc involves mechanical operations. For this reason, access to the disk is slower than access to a memory (for example, a semiconductor memory). Therefore, the disk storage device generally has a cache memory called a disk cache in order to speed up access to the disk storage device from a host such as a personal computer using the disk storage device. Is.
また近年は、書き換え可能な不揮発性メモリの一部もしくは全部をキャッシュメモリとして用いるディスク記憶装置が提案されている(例えば特許文献1及び2参照)。このように、不揮発性メモリの一部もしくは全部をキャッシュメモリとして用いることにより、例えば装置の使用中に電源が遮断された場合でも、キャッシュメモリのみに存在するデータが消失することが防止される。 In recent years, disk storage devices that use part or all of rewritable nonvolatile memory as cache memory have been proposed (see, for example, Patent Documents 1 and 2). As described above, by using a part or all of the nonvolatile memory as the cache memory, it is possible to prevent the data existing only in the cache memory from being lost even when the power is shut off during use of the apparatus, for example.
特に特許文献2には、装置の電源遮断後、次の電源投入時に、キャッシュメモリ(不揮発性メモリ)のデータを、当該データが書き込まれるべきディスク(実デバイス)上の領域に書き戻すことが記載されている。また特許文献2には、この書き戻しを、キャッシュメモリ内のデータを読み出すために参照するキャッシュ管理テーブル内のデータが、ディスクにおけるトラックのアドレス順に読み出されるようにスケジューリングすることが記載されている。このスケジューリングにより、書き戻しに伴うシーク動作に要する時間が短縮される。
しかしながら不揮発性メモリは、磁気ディスクのようなディスク記憶媒体に比べて安定してデータ記憶を保持することができず、比較的短期間(極端な例では数ヶ月程度)でその記憶データが変化することが知られている。つまり、不揮発性メモリは、データを長期間安定して保持するという点において、ディスク記憶媒体に比べて信頼性が低い。そのために、例えば不揮発性メモリの記憶データをリフレッシュさせる機能が当該不揮発性メモリ自身のコントローラに組み込まれている。 However, a nonvolatile memory cannot stably store data compared to a disk storage medium such as a magnetic disk, and the stored data changes in a relatively short period (about several months in an extreme example). It is known. That is, the nonvolatile memory is less reliable than the disk storage medium in that the data is stably retained for a long period of time. For this purpose, for example, a function for refreshing data stored in the nonvolatile memory is incorporated in the controller of the nonvolatile memory itself.
上記特許文献2に記載されたディスク記憶装置では、装置の電源遮断後、次の電源投入時に、不揮発性メモリ(キャッシュメモリ)のデータは、当該データが書き込まれるべきディスク上の領域に書き戻される。したがって、装置の電源の遮断/投入が比較的短期間で繰り返されるならば、上述の不揮発性メモリの弱点を補うことが可能となる。しかし、装置が長期間連続して稼働される場合には、不揮発性メモリの弱点を補うことは難しい。
In the disk storage device described in
また、不揮発性メモリ(キャッシュメモリ)のデータが書き込まれるべきディスク(実デバイス)上の領域が当該ディスク上で分散している場合には、たとえディスクにおけるトラックのアドレス順に読み出されるようにスケジューリングしたとしても、書き戻しに伴うシーク動作に要する時間を短縮することは難しい。 Also, if the area on the disk (real device) where the data in the non-volatile memory (cache memory) is to be written is distributed on the disk, it is scheduled to be read out in the order of track addresses on the disk. However, it is difficult to shorten the time required for the seek operation associated with the write back.
本発明は上記事情を考慮してなされたものでその目的は、不揮発性メモリに記憶されているデータを当該データが本来書き込まれるべきディスク上の領域とは別の当該ディスク上に予め確保されている特定領域にライトすることにより、高速アクセスが可能であるものの、データを長期間安定して保持するという点ではディスク記憶媒体に比べて劣る不揮発性メモリを用いることの弱点を補って、データの信頼性を高めることができるハイブリッドディスク記憶装置を提供することにある。 The present invention has been made in view of the above circumstances, and its purpose is to secure the data stored in the nonvolatile memory in advance on the disk different from the area on the disk where the data should be originally written. By writing to a specific area, high-speed access is possible, but it compensates for the weakness of using non-volatile memory, which is inferior to disk storage media in terms of maintaining stable data for a long period of time. An object of the present invention is to provide a hybrid disk storage device capable of improving reliability.
本発明の1つの態様によれば、書き換えが可能な不揮発性メモリを含むハイブリッドディスク記憶装置が提供される。このハイブリッドディスク記憶装置は、前記不揮発性メモリに記憶されているデータを記憶するための、当該データがライトされるべき領域とは別の特定領域が予め確保されたディスクと、ホストから要求された前記ディスクにライトされるべきデータを、前記ディスクに対するよりも優先して前記不揮発性メモリにライトするデータライト手段と、前記不揮発性メモリに記憶されているデータを前記ディスクの前記特定領域にライトする特定領域操作手段とを具備する。 According to one aspect of the present invention, a hybrid disk storage device including a rewritable nonvolatile memory is provided. In this hybrid disk storage device, a disk in which a specific area different from the area to which the data is to be written is stored in advance for storing data stored in the nonvolatile memory, and requested by the host Data writing means for writing data to be written to the disk to the nonvolatile memory in preference to data for the disk, and writing data stored in the nonvolatile memory to the specific area of the disk Specific area operating means.
本発明によれば、不揮発性メモリに記憶されているデータが、当該データがライトされるべきディスク上の領域(本来の領域)とは別の当該ディスク上に確保された特定領域(つまりデータを長期間安定して保持するという点において信頼性の高いディスク上の特定領域)にライトされる。これにより、データを長期間安定して保持するという点ではディスク記憶媒体に比べて劣る不揮発性メモリを用いることの弱点を補って、データの信頼性を高めることができる。また、不揮発性メモリに記憶されているデータが、ディスク上の本来の領域とは別の限られた領域(特定領域)にライトされることにより、この特定領域にライトされたデータをリードする必要が発生した場合、本来の領域に分散してライトされたデータをリードするのに比べて高速アクセスが可能となる。 According to the present invention, the data stored in the non-volatile memory is stored in a specific area (that is, the data stored on the disk different from the area on the disk to which the data is to be written (original area)). It is written in a specific area on the disk which is highly reliable in that it is stably held for a long period of time. This makes it possible to compensate for the weakness of using a non-volatile memory that is inferior to a disk storage medium in terms of stably holding data for a long period of time, and to improve data reliability. In addition, the data stored in the non-volatile memory is written to a limited area (specific area) different from the original area on the disk, so the data written to this specific area must be read. When this occurs, it is possible to perform high-speed access compared to reading data written in a distributed manner in the original area.
以下、本発明をハイブリッド磁気ディスク装置に適用した実施の形態につき図面を参照して説明する。図1は本発明の一実施形態に係るハイブリッド磁気ディスク装置(HDD)の構成を示すブロック図である。図1において、ディスク(磁気ディスク媒体)11の例えば上側のディスク面はデータが磁気記録される記録面をなしている。このディスク11の記録面に対応してヘッド(磁気ヘッド)12が配置されている。ヘッド12は、ディスク11へのデータ書き込み(データ記録)及びディスク11からのデータ読み出し(データ再生)に用いられる。なお、ディスク11の下側のディスク面も記録面をなし、その記録面に対応してヘッド12と同様のヘッドが配置されているものとする。図1の構成では、単一枚のディスク11を備えたHDDを想定している。しかし、ディスク11が複数枚積層配置されたHDDであっても構わない。
Embodiments in which the present invention is applied to a hybrid magnetic disk apparatus will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a hybrid magnetic disk drive (HDD) according to an embodiment of the present invention. In FIG. 1, for example, the upper disk surface of a disk (magnetic disk medium) 11 forms a recording surface on which data is magnetically recorded. A head (magnetic head) 12 is arranged corresponding to the recording surface of the
ディスク11の各記録面には、同心円状の複数のトラック(図示せず)が配置されている。各トラックには、サーボ情報が記録されたサーボ領域が等間隔で且つ離散的に予め配置されている。サーボ情報は、ヘッド12を目標トラックに位置付ける制御に必要な位置情報を含む。この位置情報は、サーボ情報が書き込まれているディスク11上のシリンダ(トラック)位置を示すシリンダコード(シリンダ番号)と、ヘッド12のシリンダ位置からのずれを検出するための位置誤差信号とを含む。隣接するサーボ領域で挟まれた領域はユーザデータ領域と呼ばれる。ユーザデータ領域には、ユーザデータを記録再生するのに用いられる複数のデータセクタが配置される。また、ディスク11上の特定の領域(第1の特定領域)には、後述する不揮発性メモリ22に記憶されているデータをバックアップするためのバックアップ領域111が確保されている。このバックアップ領域111、つまりディスク11上の第1の特定領域は、不揮発性メモリ22と同容量である。
A plurality of concentric tracks (not shown) are arranged on each recording surface of the
ディスク11はスピンドルモータ(SPM)13により高速に回転させられる。ヘッド12はアクチュエータ(キャリッジ)14の先端に取り付けられている。アクチュエータ14は、当該アクチュエータ14の駆動源となるボイスコイルモータ(VCM)15を有している。アクチュエータ14は、このVCM15により駆動されて、ヘッド12をディスク11の半径方向に移動する。これにより、ヘッド12は、目標トラック上に位置付けられる。
The
SPM13及びVCM15は、モータドライバ(モータドライバIC)16からそれぞれ供給される駆動電流(SPM電流及びVCM電流)により駆動される。つまりモータドライバ16は、SPM13及びVCM15をそれぞれ駆動するSPMドライバ及びVCMドライバ(図示せず)を含む。
The
ヘッド12は図示せぬヘッドアンプ回路(ヘッドIC)を介してリード/ライトチャネル(リード/ライトIC)17と接続されている。リード/ライトチャネル17はリード/ライトに関連する信号処理を行うデバイスであり、ヘッドアンプ回路により増幅されたリード信号をアナログ/ディジタル変換(A/D変換)する処理、リードデータを復号化する処理、A/D変換後のデータからサーボ情報を抽出する処理等を実行する。 The head 12 is connected to a read / write channel (read / write IC) 17 through a head amplifier circuit (head IC) (not shown). The read / write channel 17 is a device for performing signal processing related to read / write, processing for analog / digital conversion (A / D conversion) of a read signal amplified by a head amplifier circuit, and processing for decoding read data. Then, processing for extracting servo information from the data after A / D conversion is executed.
モータドライバ16及びリード/ライトチャネル17はシステムLSI18と接続されている。システムLSI18は、ディスクコントローラ(HDC)19及びCPU20が単一チップに集積されたLSIである。システムLSI18は、ROM21及び不揮発性メモリ22と接続されている。このシステムLSI18が、リード/ライトチャネル17、ROM21及び不揮発性メモリ22の少なくとも1つを更に含んでいても構わない。ROM21は、制御プログラム(ファームウェアプログラム)を予め格納する。
The
不揮発性メモリ22は例えば電気的に書き換えが可能なフラッシュメモリである。不揮発性メモリ22は、電源の供給がなくても記憶データを維持できる。これに対し、従来から適用されている、例えばDRAM(Dynamic RAM)を用いて構成されるキャッシュメモリの記憶データは当該キャッシュメモリの電源の供給が断たれると失われる。つまり不揮発性メモリ22は、キャッシュメモリと違いデータを長時間記憶させておくのに適している。そこで本実施形態では、不揮発性メモリ22は、ディスク11上に存在しないデータを記憶するのに用いられる。また不揮発性メモリ22は、アクセス速度の向上のために、キャッシュメモリと同様にディスク11上に存在するデータの一部を記憶するのにも使用される。
The
HDC19は、HDDと当該HDDを利用するパーソナルコンピュータのようなホストとのインターフェースを構成する。HDC19は、ホストから転送されたユーザデータをデータセクタに対応する一定サイズに分割し、分割されたユーザデータを符号化してライトチャネル17に送出する機能を有する。HDC19はまた、不揮発性メモリ22へのアクセスを実行する。このアクセスの制御、特に不揮発性メモリ22にどのようにデータを記憶させるかの制御は、ROM21に格納されている制御プログラムに従いCPU20によって実行される。
The
CPU20は、ROM21に格納されている制御プログラムを実行することにより、HDDの主コントローラとして機能する。例えばCPU20は、リード/ライトチャネル17によって検出されたサーボ情報に基づき、ヘッド12を目標トラックに移動するためのシーク制御と当該ヘッド12を目標トラックの目標位置に位置付ける位置決め制御とを行う。CPU20はまた、HDC19による不揮発性メモリ22へのアクセス、例えば不揮発性メモリ22にHDC19によりどのようにデータを記憶させるかを制御する。
The
不揮発性メモリ22は、データを長期間安定して保持するという点において、ディスク11に比べて信頼性が低い。そこで本実施形態では、少なくとも不揮発性メモリ22のみに記憶されているデータを適宜ディスク11のバックアップ領域111にバックアップすることによって、当該不揮発性メモリ22の弱点を補うようにしている。このバックアップ処理は、ROM21に格納されている制御プログラムに基づき、CPU20によって実行される。以下、このバックアップ処理について、図2のフローチャートを参照して説明する。
The
CPU20は、ホストからHDDに与えられるアクセスコマンドを監視することによりアクセスの頻度を監視して、当該アクセス頻度が一定レベルより低くなった時点で(ステップS1)、バックアップ動作を開始する。ここでは、ホストから最も最近にアクセスコマンドが送出されてから一定時間を経過しても次のアクセスコマンドが送出されない場合に、アクセス頻度が低いと判定される。
The
本実施形態において、バックアップ動作を開始する条件は、従来から知られているセルフテスト動作(自己診断動作)を開始する条件と同一であるものとする。ここでは、上述のようにアクセス頻度が低いと判定された時点、つまりHDDが、ホストから当該HDDへのアクセスに悪影響が及ばないような状態となった時点で、バックアップ動作が開始される。このバックアップ動作を、セルフテスト動作の一部としても良い。 In the present embodiment, the conditions for starting the backup operation are the same as the conditions for starting the conventionally known self-test operation (self-diagnosis operation). Here, as described above, the backup operation is started when it is determined that the access frequency is low, that is, when the HDD is in a state where the access from the host to the HDD is not adversely affected. This backup operation may be part of the self-test operation.
さて、バックアップ動作は次のように行われる。まずCPU20は、不揮発性メモリ22にのみ記憶されているデータをHDC19を用いて抽出する(ステップS2)。本実施形態では、不揮発性メモリ22に記憶されているデータを管理するのに、詳細を後述する不揮発性メモリ管理テーブル130(図13参照)が用いられる。この管理テーブル130には、不揮発性メモリ22にのみ記憶されているデータ(状態(1)のデータ)であるか、或いは不揮発性メモリ22だけでなくディスク11にも記憶されているデータ(状態(2)〜(4)のいずれかのデータ)であるかを少なくとも示す管理情報(エントリ情報)が保持されている。状態(1)〜(4)については後述する。
Now, the backup operation is performed as follows. First, the
不揮発性メモリ22に記憶されているデータがディスク11にも記憶されている場合、当該不揮発性メモリ22に記憶されているデータは、当該不揮発性メモリ22の領域を有効に使用するために、必要に応じて新しいデータで上書きされても構わない。これに対し、不揮発性メモリ22にのみ記憶されているデータは、他のデータで上書きされないように管理される必要がある。そこで、不揮発性メモリ22にのみ記憶されているデータは、後述するように不揮発性メモリ管理テーブル130によって他のデータと識別される。したがって、この不揮発性メモリ管理テーブル130を参照することにより、不揮発性メモリ22にのみ記憶されているデータを抽出できる。不揮発性メモリ管理テーブル130は、不揮発性メモリ22内の特定領域または当該不揮発性メモリ22から独立して設けられた別の不揮発性メモリに格納されるものとする。
When the data stored in the
CPU20は、バックアップ領域(特定領域)操作手段として機能して、抽出されたデータを(バックアップ対象データとして)HDC19を用いてディスク11上のバックアップ領域111にコピーするための、当該バックアップ領域111に対するデータのライトを含む操作を制御する(ステップS3)。これにより、不揮発性メモリ22からバックアップ領域111へのデータのバックアップが完了する。
The
するとCPU20は、不揮発性メモリ22からバックアップ領域111へのデータのバックアップ完了を当該データに対応付けて不揮発性メモリ管理テーブル130に登録する(ステップS4)。このバックアップ完了が、ディスク11(ディスク11のバックアップ領域111)に記憶されているデータを管理する管理テーブルに登録されても構わない。つまり、バックアップ完了(バックアップ済み)を示す印(マーク)が、不揮発性メモリ22またはディスク11のどちらか一方のデータに対応付けて付されていれば良い。この印が、不揮発性メモリ22またはディスク11のどちらか一方のデータ自体に付されていても良い。しかし、上記印が、不揮発性メモリ22及びディスク11の両方のデータに対応付けて付される構成を適用する方が安全である。但し本実施形態では説明の簡略化のために、上記印は揮発性メモリ22のデータに対応付けて付加される。
Then, the
また、バックアップ動作を開始する条件(バックアップ動作の開始タイミング)は、上述の例に限らない。例えば、一定時間間隔で定期的にバックアップ動作が開始されても良い。また、CPU20がホストからのアクセスコマンドを監視して、不揮発性メモリ22にライトされたデータの量が一定の値を超えたことが判定されたなら、バックアップ動作が開始されても良い。また、ホストからバックアップを指定するコマンドが与えられたならば、バックアップ動作が開始されても良い。更に、「Pinned Set Data」と呼ばれるデータ(第1のデータ)が不揮発性メモリ22にライトされたならば、当該データのバックアップ動作が開始されても良い。その理由は、「Pinned Set Data」は、後述するように基本的にディスク11にフラッシュされないデータであるためである。
Further, the condition for starting the backup operation (start timing of the backup operation) is not limited to the above example. For example, the backup operation may be started periodically at regular time intervals. If the
次に、本実施形態におけるデータリード動作について、図3のフローチャートを参照して説明する。今、ホストからHDDに対してリードコマンドによってデータリードが要求されたものとする。CPU20は、要求されたデータが不揮発性メモリ22に存在するかを判定する(ステップS11)。
Next, the data read operation in this embodiment will be described with reference to the flowchart of FIG. Assume that a data read is requested from the host to the HDD by a read command. The
もし、要求されたデータが不揮発性メモリ22に存在するならば、つまり不揮発性メモリ22にヒットしたならば、CPU20は当該データを不揮発性メモリ22からリードするリード処理を実行する(ステップS12)。このようにヒット時には、要求されたデータをディスク11からリードする場合に比べて、当該データを高速にリードすることができる。リードされたデータは、HDC19によってホストに転送される。
If the requested data exists in the
これに対し、要求されたデータが不揮発性メモリ22に存在しないミスヒット時には(ステップS11)、CPU20は当該要求されたデータを、ホストからの要求で指定されたディスク11上の本来の領域(データセクタ)からリードする(ステップS13)。このデータリードは、周知のように、CPU20がモータドライバ16、リード/ライトチャネル17及びHDC19を制御することによって実行される。
On the other hand, when the requested data does not exist in the nonvolatile memory 22 (step S11), the
次に、不揮発性メモリ22からデータをリードするリード処理(ステップS12)の詳細について、図4のフローチャートを参照して説明する。まず、CPU20は第1のリード手段として機能して、不揮発性メモリ22からデータをリードする(ステップS21)。次にCPU20は、リードされたデータが正常であるかを判定する(ステップS22)。不揮発性メモリ22に記憶されるデータには、例えばエラー検出コードが付されるのが一般的である。そこで、データ及びエラー検出コードに基づき、当該データが正常であるかが判定される。
Next, details of the read process (step S12) for reading data from the
CPU20は、リードされたデータが正常であるならば(ステップS22)、当該データをHDC19によってホストに転送させてリード処理を終了する。これに対し、リードされたデータが正常でないならば、CPU20は、不揮発性メモリ管理テーブル130(図13参照)を参照することにより、当該データに対応付けてバックアップ完了(を示す印)が登録されているかをチェックする(ステップS23)。そしてCPU20は、このチェックの結果、要求されたデータがディスク11上にバックアップ済みであるかにより、バックアップされたデータを利用できるかを判定する(ステップS24)。
If the read data is normal (step S22), the
もし、バックアップ済みならば、不揮発性メモリ22からリードされた正常でないデータに代えて、バックアップデータを利用することができる。この場合、CPU20は第2のリード手段として機能して、不揮発性メモリ22からリードされた正常でないデータに対応するバックアップデータを、ディスク11のバックアップ領域111からリードする(ステップS25)。リードされたバックアップデータは、不揮発性メモリ22からリードされたデータに代えて、HDC19によってホストに転送される。
If the backup has been completed, the backup data can be used in place of the abnormal data read from the
するとCPU20は、先にデータがリードされた不揮発性メモリ22の領域(該当領域)が正常にライト/リードできるかをテストする(ステップS26)。もし、不揮発性メモリ22の該当領域が正常にライト/リードできるならば、つまり不揮発性メモリ22が正常ならば(ステップS27)、ステップS28に進む。このステップS28において、CPU20は復旧手段として機能して、リードされたバックアップデータを不揮発性メモリ22の該当領域に上書きすることにより、その領域の正常でないデータを正常なデータに復旧する(ステップS28)。これによりCPU20はリード処理を終了する。これに対し、不揮発性メモリ22が正常でないならば、CPU20は、今後不揮発性メモリ22の該当領域を使わないように、当該領域をディフェクトとして登録して(ステップS29)、リード処理を終了する。
Then, the
一方、要求されたデータがディスク11上にバックアップ済みでなく、したがってリードされた正常でないデータに代えてバックアップデータが利用できないならば(ステップS24)、CPU20は当該要求されたデータ(つまりリードされるべきデータ)が不揮発性メモリ22のみに存在するデータであるかを判定する(ステップS30)。もし、要求されたデータが、当該データが記憶されているべきディスク11上の領域にも存在するならば、CPU20は、当該ディスク11上の当該領域に記憶されているデータをリードし(ステップS31)、しかる後に上記ステップS26に進む。これに対し、要求されたデータが、当該データが記憶されているべきディスク11上の領域に存在しないならば、つまり不揮発性メモリ22のみに存在するデータであるならば(ステップS30)、CPU20はリードに失敗したとして、ホストに対してHDC19からエラーを通知させて(ステップS32)、リード処理を終了する。
On the other hand, if the requested data has not been backed up on the
次に、本実施形態におけるデータライト動作について、図5のフローチャートを参照して説明する。今、ホストからHDDに対してライトコマンドによってデータライトが要求されたものとする。CPU20はまず、ライトコマンドで指定されたライトされるべきデータと論理ブロックアドレスLBA及びサイズが同一のデータが不揮発性メモリ22に存在するか、つまりライトされるべきデータが不揮発性メモリ22にヒットするかを判定する(ステップS41)。
Next, the data write operation in the present embodiment will be described with reference to the flowchart of FIG. Assume that a data write is requested from the host to the HDD by a write command. First, the
もし、不揮発性メモリ22にヒットしなかったなら、CPU20は、不揮発性メモリ22内にデータをライトするのに必要な空きがあるかを判定する(ステップS42)。もし、不揮発性メモリ22内に空き(空き領域)があるならば、CPU20はステップS43に進む。一方、不揮発性メモリ22にヒットしたならば(ステップS41)、CPU20はステップS42をスキップしてステップS43に進む。
If the
ステップS43においてCPU20は、不揮発性メモリ22の空き領域またはヒットした領域にデータをライトするに際し、不揮発性メモリ管理テーブル130上で当該領域のデータに対応付けられているバックアップ完了の登録をクリア(解除)する。このクリア処理(ステップS43)の後に、CPU20は要求されたデータを不揮発性メモリ22にライトして(ステップS44)、データライト動作を終了する。クリア処理(ステップS43)は、不揮発性メモリ22内のデータが更新されると、そのデータに対応するディスク11上のバックアップの内容が無効になることを考慮して行われる。
In step S43, the
一方、不揮発性メモリ22内に空き(空き領域)がないならば(ステップS42)、CPU20は、ホストから要求されたデータを、当該データが本来ライトされるべきディスク11上の領域(データセクタ)にライトして(ステップS45)、データライト動作を終了する。以下の説明では、簡略化のために、データが本来ライトされるべきディスク11上の領域(データセクタ)を、ディスク11上の本来の領域またはディスク11上の本来のセクタと表現する。なお、不揮発性メモリ22内に空きがない場合に、例えばホストから要求されたデータをライトするのに十分なサイズの不揮発性メモリ22内の領域のデータ(古いデータ)をディスク11上の本来の領域(セクタ)に書き戻して(フラッシュして)、当該不揮発性メモリ22内に空き領域を確保しても良い。また、不揮発性メモリ22内に空き領域を確保するための動作が、後述するように、ホストからの明示的なコマンドに応じて、或いはリード/ライトコマンドの実行とは独立して例えば定期的に、CPU20(の制御)によって行われても良い。
On the other hand, if there is no free space (free space) in the nonvolatile memory 22 (step S42), the
[第1の変形例]
次に上記実施形態の第1の変形例について説明する。
上記実施形態では、不揮発性メモリ22にのみ記憶されているデータがディスク11のバックアップ領域111にバックアップ(コピー)される。第1の変形例の特徴は、不揮発性メモリ22に記憶されている全てのデータをバックアップする点にある。
[First Modification]
Next, a first modification of the above embodiment will be described.
In the above embodiment, data stored only in the
図6は第1の変形例で適用されるバックアップ処理の手順を示すフローチャートである。この図6のフローチャートから明らかなように、第1の変形例では、ホストからHDDへのアクセスの頻度が低くなると(ステップS51)、不揮発性メモリ22に記憶されている全てのデータがディスク11上のバックアップ領域111にバックアップ(コピー)される(ステップS52)。
FIG. 6 is a flowchart showing the procedure of backup processing applied in the first modification. As is apparent from the flowchart of FIG. 6, in the first modification, when the frequency of access from the host to the HDD decreases (step S51), all the data stored in the
するとCPU20は、上記実施形態と同様に、不揮発性メモリ22からバックアップ領域111へのデータのバックアップ完了を当該データに対応付けて不揮発性メモリ管理テーブル130に登録する(ステップS53)。この第1の変形例では、不揮発性メモリ22からのバックアップされるべきデータの抽出(図2のステップS2)が不要となるものの、データコピーにかかる時間は増大する。
Then, as in the above embodiment, the
[第2の変形例]
次に上記実施形態の第2の変形例について説明する。
データバックアップ動作、つまりデータコピー動作は、バックアップ(コピー)されるべきデータを不揮発性メモリ22から読み出すためのデータ読み出しと、読み出されたデータをディスク11のバックアップ領域111に書き込むデータ書き込みとを伴う。このため、バックアップ処理に時間がかかる。特に、上記第1の変形例では、不揮発性メモリ22に記憶されている全てのデータがバックアップされるため、バックアップ(コピー)完了までに多大な時間を要する。また、バックアップ処理の期間にホストからディスクアクセスが要求された場合、当該要求されたアクセスの実行が長時間待たされる。そこで第2の変形例の特徴は、不揮発性メモリ22に記憶されている全てのデータを連続してコピーするのではなく、複数回に分けてコピーする点にある。このように複数回に分けてコピー動作を行って、1回のコピー動作に要する時間を短くすることにより、ホストに対するレスポンスが損なわれるのを防止することが可能となる。
[Second Modification]
Next, a second modification of the above embodiment will be described.
The data backup operation, that is, the data copy operation involves data reading for reading data to be backed up (copied) from the
図7は第2の変形例で適用されるバックアップ処理の手順を示すフローチャートである。この図7のフローチャートから明らかなように、第2の変形例では、不揮発性メモリ22に記憶されているデータを複数回のコピー動作に分けてディスク11のバックアップ領域111にバックアップするために、1回のコピー動作の対象となる不揮発性メモリ22の領域は、当該不揮発性メモリ22の比較的小さな一部の領域に限定される。そこで第2の変形例では、ホストからHDDへのアクセスの頻度が低くなると(ステップS61)、不揮発性メモリ22に記憶されているデータの一部だけをディスク11上のバックアップ領域111にコピーするコピー動作が行われる(ステップS62)。するとCPU20は、不揮発性メモリ22からバックアップ領域111へのデータのバックアップ完了を当該データに対応付けて不揮発性メモリ管理テーブル130に登録する(ステップS63)。
FIG. 7 is a flowchart showing the procedure of backup processing applied in the second modification. As apparent from the flowchart of FIG. 7, in the second modification example, the data stored in the
次にCPU20は、1回のコピー動作の期間にホストからHDDへのアクセスが要求されたかを判定する(ステップS64)。もし、ホストからアクセスが要求されていたならば(ステップS64)、CPU20は当該要求の実行を優先させるためにバックアップ動作を即座に終了する。これにより、コピー動作のためにホストからのアクセスが長時間待たされるのを防止できる。
Next, the
一方、ホストからアクセスが要求されておらず(ステップS64)、且つ不揮発性メモリ22のバックアップが完了していないならば、CPU20は、不揮発性メモリ22に記憶されているデータの別の一部をディスク11上のバックアップ領域111にコピーするコピー動作を行う(ステップS62)。このようにCPU20は、不揮発性メモリ22に記憶されているデータを幾つかのデータに分けて、少量のデータを単位にコピー動作を実行する。これにより第2の変形例においては、バックアップ処理のために、ホストに対するレスポンスが損なわれるのを防止することができる。
On the other hand, if access from the host is not requested (step S64) and the backup of the
[第3の変形例]
次に上記実施形態の第3の変形例について説明する。
不揮発性メモリ22の容量は限られている。このため不揮発性メモリ22に記憶されている古いデータをディスク11上の本来の領域に書き出して、当該データが記憶されていた不揮発性メモリ22を空き領域として開放することが好ましい。これにより、開放された領域に別のデータをライトすることが可能となる。このように不揮発性メモリ22を使用する場合、不揮発性メモリ22に記憶されている古いデータは常に別のデータで上書きされる。もし一時的に不揮発性メモリ22にサイズの大きいデータをライトする必要がある場合、当該不揮発性メモリ22上の古いデータは、ディスク11上の本来の領域に分散して書き出されることになる。
[Third Modification]
Next, a third modification of the above embodiment will be described.
The capacity of the
図8は、不揮発性メモリ22上の古いデータがデータA,B及びCである場合に、当該データA,B及びCがディスク11上の本来の領域に分散して書き出されている(配置されている)状態の一例を示す。このような状態では、データA,B及びCが再度必要になって不揮発性メモリ22に戻そうとした場合、当該データA,B及びCをディスク11からリードする動作に多大な時間を要する。
In FIG. 8, when the old data on the
そこで、第3の変形例の特徴は、不揮発性メモリ22内の古いデータをディスク11上の本来の領域に書き出す代わりに、当該データをディスク11上の特定の領域(第2の特定領域)内にまとめて書き出すことにより、当該データをディスク11からリードして不揮発性メモリ22に戻す際の動作の高速化を図るようにした点にある。このディスク11上の第2の特定領域へのデータの書き出しは、例えば、当該データが記憶されていた不揮発性メモリ22内の領域を一時的に空き状態とするために行われる。この点で、ディスク11上の第2の特定領域へデータを書き出す(移動する)動作は、上記実施形態におけるバックアップ動作、即ち不揮発性メモリ22のデータをディスク11上のバックアップ領域(第1の特定領域)111に書き出すバックアップ動作とは異なる。
Therefore, the feature of the third modification is that instead of writing the old data in the
また、上記実施形態におけるバックアップ動作は自動的に行われる。これに対し、第3の変形例では、例えばホストからの何らかの要求により、不揮発性メモリ22内に空き領域を確保する必要が生じた場合に、それを「トリガ」として当該不揮発性メモリ22の古いデータをディスク1に書き出す(移動する)動作が行われる。この第3の変形例で適用される、不揮発性メモリ22のデータをディスク11(上の第2の特定領域)に書き出す動作は、広義にはバックアップ動作であるが、上記実施形態におけるバックアップ動作と異なる。そこで、第2の変形例では、上記実施形態における「バックアップ動作」と区別するため、不揮発性メモリ22のデータをディスク11に移動する動作を「拡張領域動作」と呼び、また不揮発性メモリ22のデータが書き出されるディスク11上の「第2の特定領域」を「拡張領域」と呼ぶ。拡張領域動作のトリガとなる条件の詳細については後述する。
The backup operation in the above embodiment is automatically performed. On the other hand, in the third modification, for example, when it becomes necessary to secure a free area in the
バックアップ領域(111)と拡張領域とは、時間によって切り替えることで兼用することも可能である。しかし、バックアップ領域と拡張領域とは独立して別々に配置される方が制御も簡単であり、より効果的に運用することが可能である。 The backup area (111) and the expansion area can be shared by switching according to time. However, if the backup area and the expansion area are arranged separately and separately, the control is simpler and it is possible to operate more effectively.
図9は、第3の変形例において、上述のデータA,B及びCがディスク11上の拡張領域(第2の特定領域)112内にまとめて書き出されている状態の一例を示す。なお図9には、バックアップ領域111は省略されている。図9の例では、拡張領域112がディスク11の外周に配置されているが、これに限るものではない。図9の例では、図8と異なって、データA,B及びCがディスク11の拡張領域112内にまとまって存在する。このため、データA,B及びCを不揮発性メモリ22に戻すために当該データA,B及びCをディスク11からリードする必要性が生じた場合、図8とは異なり、シーク時間を短縮できる。つまり、データA,B及びCをディスク11から高速でリードして不揮発性メモリ22に戻すことができる。
FIG. 9 shows an example of a state in which the above-described data A, B, and C are collectively written in the extension area (second specific area) 112 on the
次に、上述のような「トリガ」が発生した場合に実行される、不揮発性メモリ22から拡張領域112へのデータ書き出し動作(拡張領域動作)について、図10のフローチャートを参照して説明する。
Next, a data write operation (extended region operation) from the
まず、CPU20は、不揮発性メモリ22からディスク11上の拡張領域112への書き出し(移動)の対象となるデータが、当該拡張領域112に既に書き出されているデータであるかを判定する(ステップS71)。もし、書き出しの対象となるデータが、既に拡張領域112に書き出されている場合には、CPU20は処理を終了する。
First, the
これに対し、書き出しの対象となるデータがディスク11上の拡張領域112に書き出されていない場合には、CPU20は当該データを不揮発性メモリ22から拡張領域112に書き出すのに必要な空き(空き領域)が当該拡張領域112内にあるかを判定する(ステップS72)。もし、拡張領域112に必要な空き領域がないならば、CPU20は当該拡張領域112内のデータ(空き領域が確保されるべき領域のデータ)を、ディスク11上の本来の領域(セクタ)にコピーする(ステップS73)。これにより、コピーされたデータが記憶されていた、拡張領域112内の領域を、当該拡張領域112にデータを書き出すのに必要な空き領域として確保することができる。
On the other hand, when the data to be written is not written to the extended area 112 on the
CPU20は、拡張領域112内に必要な空きが確保されると、不揮発性メモリ22に記憶されているデータを、当該データのアドレス(論理ブロックアドレスLBA)順に並び替えながら当該拡張領域112に書き出す(ステップS74)。第3の変形例において、不揮発性メモリ22から拡張領域112へのデータの書き出しはデータの移動である。つまりCPU20は、拡張領域(特定領域)操作手段として機能して、不揮発性メモリ22に記憶されているデータを拡張領域112に移動するための、当該拡張領域112に対する当該データのライトを含む操作を行う。これにより、拡張領域112に書き出された(移動された)データが記憶されていた不揮発性メモリ22の領域は開放される。つまり不揮発性メモリ22内に空き領域が確保される。
When the necessary space is secured in the expansion area 112, the
一方、拡張領域112に空き領域があるならば(ステップS72)、CPU20はステップS73をスキップしてステップS74に進む。ステップS74においてCPU20は、上述したように、不揮発性メモリ22のデータを当該データのアドレス(論理ブロックアドレスLBA)順に並び替えながら拡張領域112の空き領域に書き出す。
On the other hand, if there is an empty area in the extended area 112 (step S72), the
ここで、アドレス順の並び替えは必ずしも必要でない。しかし、データリード時に、目的データが、不揮発性メモリ22に存在しないものの拡張領域112には存在し、且つ不揮発性メモリ22に空きがない場合には、後述するように当該拡張領域112のデータが直接リードされる。このため、拡張領域112からのデータリードを考慮すると、並び替えておいた方が処理速度の点で有利である。
Here, the rearrangement in the address order is not necessarily required. However, at the time of data reading, if the target data is not present in the
CPU20は不揮発性メモリ22から拡張領域112へのデータの書き出し(移動)を実行すると(ステップS74)、そのデータを管理するための管理情報を拡張領域112へのデータ書き出し後の状態を表すように更新する(ステップS75)。この管理情報は、上記実施形態と異なって、後述するように、不揮発性メモリ管理テーブル150(図15参照)に保持されている。
When the
次に、第3の変形例におけるデータリード動作について、図11のフローチャートを参照して説明する。今、ホストからHDDに対してデータリードが要求されたものとする。CPU20は、要求されたデータが不揮発性メモリ22に存在するか(つまりヒットするか)を判定する(ステップS81)。
Next, the data read operation in the third modification will be described with reference to the flowchart of FIG. Assume that a data read is requested from the host to the HDD. The
要求されたデータが不揮発性メモリ22に存在するヒット時には(ステップS81)、CPU20は上記実施形態におけるステップS12と同様に、当該データを不揮発性メモリ22からリードするリード処理を実行して(ステップS82)、データリード動作を終了する。リードされたデータはHDC19によってホストに転送される。
When the requested data is hit in the non-volatile memory 22 (step S81), the
これに対し、要求されたデータが不揮発性メモリ22に存在しないならば(ステップS81)、CPU20は当該データがディスク11上の拡張領域112に存在するかを判定する(ステップS83)。もし、要求されたデータがディスク11上の拡張領域112に存在するならば、つまり拡張領域112にヒットしたならば、CPU20はステップS84に進む。ここで、要求されたデータが不揮発性メモリ22に存在しないものの拡張領域112には存在する状態(特定状態)は、次のことを意味する。つまり、この特定状態は、例えば前記ステップS74で不揮発性メモリ22から拡張領域112へのデータ移動が行われたために、要求されたデータも拡張領域112に移動されていて当該不揮発性メモリ22に残っていないことを意味する。
On the other hand, if the requested data does not exist in the nonvolatile memory 22 (step S81), the
さて、ステップS84においてCPU20は、要求されたデータを仮に拡張領域112からリードした場合に、当該リードデータを不揮発性メモリ22にコピーするのに必要な空きが当該不揮発性メモリ22内にあるかを判定する。もし、不揮発性メモリ22内に必要な空きがないならば、CPU20は要求されたデータをディスク11上の拡張領域112からリードして(ステップS85)、データリード動作を終了する。拡張領域112からリードされたデータはHDC19によってホストに転送される。
In step S84, when the requested data is read from the extended area 112, the
これに対し、不揮発性メモリ22内に必要な空きがあるならば(ステップS84)、CPU20はコピー手段として機能して、拡張領域112のデータを当該不揮発性メモリ22内の空き領域にコピーする(ステップS86)。そして、CPU20はリード手段として機能して、不揮発性メモリ22にコピーされたデータを当該不揮発性メモリ22からリードして(ステップS82)、データリード動作を終了する。不揮発性メモリ22からリードされたデータはHDC19によってホストに転送される。
On the other hand, if there is a necessary space in the nonvolatile memory 22 (step S84), the
一方、要求されたデータがディスク11上の拡張領域112に存在しないミスヒット時には(ステップS83)、CPU20は当該要求されたデータを、ホストからの要求で指定されたディスク11上の本来の領域(セクタ)からリードして(ステップS87)、データリード動作を終了する。リードされたデータはHDC19によってホストに転送される。
On the other hand, when the requested data does not exist in the extended area 112 on the disk 11 (step S83), the
次に、第3の変形例で適用される、不揮発性メモリ22から拡張領域112にデータを移動する動作(拡張領域動作)を含むデータライト動作について、図12のフローチャートを参照して説明する。
Next, a data write operation including an operation of moving data from the
今、ホストからHDDに対してライトコマンドによってデータライトが要求されたものとする。CPU20はまず、ライトコマンドで指定されたライトされるべきデータと論理ブロックアドレスLBA及びサイズが同一のデータが不揮発性メモリ22に存在するか、つまりライトされるべきデータが不揮発性メモリ22にヒットするかを判定する(ステップS91)。
Assume that a data write is requested from the host to the HDD by a write command. First, the
もし、不揮発性メモリ22にヒットしなかったなら、CPU20は、上記ライトされるべきデータと論理ブロックアドレスLBA及びサイズが同一のデータがディスク11上の拡張領域112に存在するか、つまりライトされるべきデータが拡張領域112にヒットするかを判定する(ステップS92)。もし、拡張領域112にヒットしなかったなら、つまり不揮発性メモリ22及び拡張領域112のいずれにもヒットしなかったなら、CPU20は、不揮発性メモリ22内にデータをライトするのに必要な空きがあるかを判定する(ステップS93)。
If the
ここで、不揮発性メモリ22内に必要な空き(空き領域)があるならば(ステップS93)、CPU20は上記実施形態と同様の処理、即ち図5のステップS43及びS44に相当する処理(ステップS94及びS95)を実行する。また不揮発性メモリ22にヒットした場合にも(ステップS91)、CPU20は図5のステップS43及びS44に相当する処理(ステップS94及びS95)を実行する。
If there is a necessary space (empty area) in the nonvolatile memory 22 (step S93), the
一方、拡張領域112にヒットしたならば、CPU20は要求されたデータ(新しいデータ)を拡張領域112にライトする動作、つまり拡張領域112の古いデータを当該新しいデータに更新する動作を行う(ステップS96)。
On the other hand, if the extension area 112 is hit, the
また、不揮発性メモリ22に空き(要求されたデータを不揮発性メモリ22にライトするのに必要な空き)がないならば(ステップS93)、CPU20は拡張領域112に空きがあるかを判定する(ステップS97)。拡張領域112の「空き」とは、不揮発性メモリ22内に上記必要な空きを確保するために、当該必要な空きに相当するサイズのデータを不揮発性メモリ22から拡張領域112に移動するために必要となる空きのことである。
On the other hand, if there is no free space in the non-volatile memory 22 (required space for writing the requested data to the non-volatile memory 22) (step S93), the
もし、拡張領域112に空きがないならば(ステップS97)、CPU20は当該拡張領域112内に空きを確保するのに必要な、当該拡張領域112の一部のデータ(古いデータ)をディスク11上の本来の領域(セクタ)にコピーする(ステップS98)。これにより、不揮発性メモリ22から拡張領域112にデータを移動する(書き出す)のに必要な空きが当該拡張領域112内に確保される。
If there is no free space in the extended area 112 (step S97), the
CPU20は、拡張領域112内に必要な空き(空き領域)が確保されると、不揮発性メモリ22の一部のデータ(古いデータ)を、当該データのアドレス(論理ブロックアドレスLBA)順に並び替えながら当該拡張領域112の空き領域に移動する(ステップS99)。このデータ移動により、拡張領域112に移動されたデータが記憶されていた不揮発性メモリ22の領域は開放される。つまり不揮発性メモリ22内に空き領域が確保される。
When the necessary space (free space) is secured in the expansion area 112, the
一方、拡張領域112に空き(空き領域)があるならば(ステップS97)、CPU20はステップS98をスキップしてステップS99に進んで、不揮発性メモリ22の一部の古いデータを当該拡張領域112の空き領域に移動する。
On the other hand, if there is free space (free space) in the extended area 112 (step S97), the
このように第3の変形例では、不揮発性メモリ22から拡張領域112へのデータの移動(ステップS99)は、ホストからのライトコマンドで要求されたライトされるべきデータが不揮発性メモリ22及び拡張領域112のいずれにもヒットしなかった場合を「トリガ」として実行される。しかし、拡張領域112へのデータ移動(データ保存)が、後述するように他の条件を「トリガ」として実行されても構わない。
As described above, in the third modified example, the data to be transferred from the
ここで、不揮発性メモリ22から拡張領域112へのデータの移動時に行われる、当該データのアドレス順の並び替えは必ずしも必要でない。しかし前述したように、データリード時に、目的データが、不揮発性メモリ22に存在しないものの拡張領域112には存在し(図11ステップS81)、且つ不揮発性メモリ22に空きがない場合には(図11ステップS82)、当該拡張領域112のデータが直接リードされる(図11ステップS85)。このため、拡張領域112からのデータリードを考慮すると、並び替えておいた方が処理速度の点で有利である。
Here, the rearrangement of the data in the address order, which is performed when the data is moved from the
CPU20は不揮発性メモリ22から拡張領域112へのデータの移動を実行すると(ステップS99)、そのデータを管理するための、不揮発性メモリ管理テーブル150(図15参照)に保持されている管理情報を移動後の状態を表すように更新する(ステップS100)。次にCPU20はステップS95に進み、不揮発性メモリ22内の上記確保された空き領域に要求されたデータ(新しいデータ)をライトする。
When the
[不揮発性メモリ22に記憶されるデータの管理]
次に、上記実施形態で適用される不揮発性メモリ22に記憶されるデータの管理の詳細について説明する。不揮発性メモリ22に記憶されるデータは、第1のデータ及び第2のデータの2種類に分類される。
[Management of data stored in non-volatile memory 22]
Next, details of management of data stored in the
第1のデータは「Pinned Set Data」と呼ばれる。第1のデータのリード/ライトは、不揮発性メモリ22内に確保された予め予約された領域に対して行われる。第1のデータは、ディスク11上の本来の領域(セクタ)を示す論理ブロックアドレスLBAを用いて管理される。しかし、この第1のデータに対応する論理ブロックアドレスLBAへのアクセスは全て不揮発性メモリ22へのアクセスに置き換えられる。
The first data is called “Pinned Set Data”. The reading / writing of the first data is performed on a previously reserved area secured in the
本実施形態では、第1のデータに関し、対応する論理ブロックアドレスLBAとデータサイズとを指定して不揮発性メモリ22内に当該第1のデータのための領域を予約するコマンド、その領域(予約領域)に予めディスク11からデータを第1のデータとして読み込んでおくコマンド、予約領域を解除して当該予約領域のデータをディスク11に書き出すコマンドなどが用意される。第1のデータに関しては、これらのコマンドがホストから与えられることなしにディスクアクセスが発生することはない。
In the present embodiment, for the first data, a command for specifying a corresponding logical block address LBA and a data size and reserving an area for the first data in the
一方、第2のデータは「Unpinned Data」と呼ばれる。第2のデータは、不揮発性メモリ22が従来のキャッシュメモリに置き換えられたかのように扱われるデータである。不揮発性メモリ22はキャッシュメモリと同様にディスク11よりも優先的にアクセスされる。しかし、不揮発性メモリ22内に第2のデータのための予約された領域が確保されているわけではない。このため第2のデータに関しては、不揮発性メモリ22内に、リードされるべきデータがない、またはライトされるべき空き領域がない場合が発生する。このような場合、ディスクアクセスが発生する。
On the other hand, the second data is referred to as “Unpinned Data”. The second data is data that is handled as if the
本実施形態では、不揮発性メモリ22を上述の第1及び第2のデータを記憶するメモリとして管理すると共にディスク11上のバックアップ領域111を利用したバックアップ動作を管理するために、図13に示す不揮発性メモリ管理テーブル130が用いられる。この管理テーブル130は、キャッシュテーブル131及びメモリリンクテーブル132から構成される。
In the present embodiment, in order to manage the
キャッシュテーブル131の各エントリの情報(管理情報)は、当該情報によって管理される不揮発性メモリ22の記憶データに関し、識別マーク、バックアップ済みマーク、ディスクフラッシュ済みマーク、開始LBA(論理ブロックアドレス)、データサイズ及び不揮発性メモリ22の開始アドレスを含む。識別マークは、対応するデータが第1のデータ(Pinned Set Data)及び第2のデータ(Unpinned Data)のいずれであるかを示すフラグ情報である。図13では、第1のデータを示す識別マークが記号Pで、第2のデータを示す識別マークが記号Uで、それぞれ表わされている。開始アドレスは、対応するデータが記憶されている不揮発性メモリ22内の領域の開始位置のアドレスを示す。バックアップ済みマーク及びディスクフラッシュ済みマークについては後述する。
Information (management information) of each entry in the cache table 131 relates to stored data in the
ここで、開始アドレス(不揮発性メモリ22の開始アドレス)をキャッシュメモリの開始アドレスに置き換えるならば、キャッシュテーブル131のエントリ情報からバックアップ済みマーク及びディスクフラッシュ済みマークを除いた情報、即ち、識別マーク、開始LBA、データサイズ及び開始アドレスは、従来から知られているキャッシュメモリを管理する管理テーブル(キャッシュテーブル)のエントリ情報と同様である。図13に示すキャッシュテーブル131のエントリ情報の特徴は、上述したような従来から知られているキャッシュテーブルのエントリ情報(管理情報)に、バックアップ済みマーク及びディスクフラッシュ済みマークが追加された点である。 Here, if the start address (the start address of the nonvolatile memory 22) is replaced with the start address of the cache memory, information obtained by removing the backup mark and the disk flush mark from the entry information in the cache table 131, that is, an identification mark, The start LBA, the data size, and the start address are the same as the entry information of the management table (cache table) that manages the cache memory that has been conventionally known. The feature of the entry information of the cache table 131 shown in FIG. 13 is that a backup completed mark and a disk flush completed mark are added to the entry information (management information) of the cache table known conventionally. .
メモリリンクテーブル132は、不揮発性メモリ22の消去可能な単位領域毎に用意されるエントリを有する。このエントリの情報(管理情報)は、当該情報によって管理される不揮発性メモリ22の消去可能な単位領域に関し、当該単位領域の先頭アドレス、及び当該単位領域にリンクされる次の単位領域のアドレス(次アドレス)を含む。なお、メモリリンクテーブル132のエントリの情報は、当該情報によって管理される単位領域にリンクされる次の単位領域が存在しない場合、つまり最終の単位領域の場合には、次アドレスに代えて最終を示すマーク(END)を含み、当該情報によって管理される単位領域が非使用(空き)の場合には、次アドレスに代えて非使用マーク(UNUSED)を含む。
The memory link table 132 has an entry prepared for each erasable unit area of the
前述したように、ディスク11上のバックアップ領域111は、不揮発性メモリ22と同容量である。そこで、このバックアップ領域111の先頭論理ブロックアドレスLBAから順に、不揮発性メモリ22のアドレスに合わせて、バックアップ先のアドレスが割り当てられる。これにより不揮発性メモリ22のアドレスとバックアップ先のアドレスが1:1に対応付けられることから、つまり不揮発性メモリ22と同じイメージでバックアップ領域111にデータが記憶されることから、メモリリンクテーブル132が共通に使用できる。但し、バックアップ先アドレスは通常1セクタ当たり512バイトの論理ブロックアドレスLBAで指定される。このため、不揮発性メモリ22のアドレス(バイトアドレス)を512で除して、その結果の整数部で表されるLBAに変換する必要がある。
As described above, the backup area 111 on the
ホストから例えばデータリードを指定するコマンド(リードコマンド)が図1のHDDに与えられた場合、当該HDD内のCPU20は、前述したように当該コマンドで要求されたデータが不揮発性メモリ22に存在するかを判定する(図3ステップS11)。この判定は、不揮発性メモリ管理テーブル130のキャッシュテーブル131を用いて、次のように行われる。
For example, when a command for specifying data read (read command) is given from the host to the HDD in FIG. 1, the
まず、ホストからのリードコマンドは、リードされるべきデータの論理空間上の領域の開始位置を示す開始論理ブロックアドレスLBA及びデータサイズを指定する。そこでCPU20は、この開始論理ブロックアドレスLBA及びデータサイズのデータが不揮発性メモリ22に存在するかを(つまり不揮発性メモリ22にヒットするかを)、キャッシュテーブル131を検索することで判定する。
First, the read command from the host designates the start logical block address LBA indicating the start position of the area in the logical space of the data to be read and the data size. Therefore, the
もし、ヒットした場合、CPU20はキャッシュテーブル131に登録されている開始アドレス(不揮発性メモリ22の開始アドレス)からメモリリンクテーブル132のリンクをたどって、不揮発性メモリ22の該当するアドレスを検索することで、そのアドレスからデータをリードする(図3ステップS12)。これに対し、ヒットしなかった場合には、CPU20はディスク11にアクセスする(図3ステップS13)。
If there is a hit, the
また、不揮発性メモリ22内に、ホストからのライトコマンドによって要求されたデータをライトするのに必要な空き領域がない場合(図5ステップS41)、前記したように、当該不揮発性メモリ22のデータ(例えば第2のデータ)をディスク11上の本来の領域(セクタ)に書き戻して(フラッシュして)、その領域を(空き領域として)開放しても良い。この場合、CPU20は、不揮発性メモリ22内の開放された領域にホストから要求されたデータをライトして、不揮発性メモリ管理テーブル130(キャッシュテーブル131及びメモリリンクテーブル132)を書き換えれば良い。但し、不揮発性メモリ22内の第1のデータが記憶されている領域(予約領域)を勝手に開放することは許されない。
If there is no free space in the
ここで、バックアップ済みマーク及びディスクフラッシュ済みマークについて説明する。図13のキャッシュテーブル131の例では、キャッシュテーブル131のエントリ情報に含まれているバックアップ済みマーク及びディスクフラッシュ済みマークは、いずれも記号○または×で示されている。 Here, the backed up mark and the disk flashed mark will be described. In the example of the cache table 131 in FIG. 13, the backed-up mark and the disk flushed mark included in the entry information of the cache table 131 are both indicated by a symbol ◯ or x.
バックアップ済みマークは、記号○のとき、対応するエントリ情報で指定される不揮発性メモリ22のデータ(対応するデータ)がディスク11のバックアップ領域111にバックアップされていること(バックアップ済み)を示し、記号×のとき、当該データがバックアップされていないことを示す。ディスクフラッシュ済みマークは、記号○のとき、対応するデータがディスク11上の本来の領域(セクタ)に書き出されている(フラッシュされている)こと(ディスクフラッシュ済み)を示し、記号×のとき、当該データがディスク11にフラッシュされていないことを示す。
The backed up mark indicates that the data (corresponding data) in the
図14はバックアップ済みマーク及びディスクフラッシュ済みマークの全ての組み合わせと、各組み合わせに対応した状態相互間の状態遷移とを示す。バックアップ済みマーク及びディスクフラッシュ済みマークの組み合わせは、図14(a)に示すように、「×,×」,「×,○」,「○,×」及び「○,×」の4通りである。 FIG. 14 shows all combinations of backed up marks and disk flushed marks, and state transitions between states corresponding to each combination. As shown in FIG. 14A, there are four combinations of “x, x”, “x, o”, “o, x”, and “o, x” as shown in FIG. .
「×,×」は、対応するデータが「バックアップされておらず、且つディスク11上の本来の領域(セクタ)にフラッシュされていない」状態(状態(1))を示す。この状態(1)は、対応するデータが不揮発性メモリ22のみに記憶されている状態であり、優先的にバックアップされるべき状態であることをも示す。キャッシュテーブル131を参照して状態(1)を示すエントリ情報を検索することで、不揮発性メモリ22にのみ記憶されているデータを抽出して(図2ステップS2)、当該データをディスク11上のバックアップ領域111にバックアップすることができる(図2ステップS3)。データのバックアップ後は、当該データに対応付けてキャッシュテーブル131上でバックアップ済みマーク「○」が付される(図2ステップS4)。これにより、図14(b)に示すように状態(1)から状態(3)に遷移する。
“X, x” indicates a state (state (1)) in which the corresponding data is “not backed up and not flushed to the original area (sector) on the
「×,○」は、対応するデータが「バックアップされていないが、ディスク11上の本来の領域(セクタ)にフラッシュされている」状態(状態(2))を示す。状態(2)は、基本的にはバックアップが不要な状態である。但し、第1の変形例のように、不揮発性メモリ22全体をバックアップする場合には、状態(2)に対応するデータもバックアップされる(図6ステップS52)。バックアップ後はバックアップ済みマーク「○」が付くことで(図6ステップS53)、図14(b)に示すように、状態(2)から状態(4)に遷移する。状態(2)に対応するデータが既にディスク11上の本来の領域にフラッシュされているのに、当該データを不揮発性メモリ22に保持しておくのは、次に当該データをリードすること(つまり当該データと同じLBAと同じサイズを持つデータのリード)が要求された場合に、ディスク11からではなくて不揮発性メモリ22からリードすることでアクセスが高速になるからである。
“X, ○” indicates a state (state (2)) in which the corresponding data is “not backed up, but is flushed to the original area (sector) on the
「○,×」は、対応するデータが「バックアップされているが、ディスク11上の本来の領域にフラッシュされていない」状態(状態(3))を示す。状態(3)は、対応するデータが第1のデータであれば、フラッシュする必要がない状態である。状態(3)は、対応するデータが第2のデータである場合も、基本的にはフラッシュする必要がない状態である。しかし、状態(3)の場合、対応するデータ(第2のデータ)をCPU20が積極的にフラッシュしても良い。HDDへのアクセス頻度が低くなった時点を狙ってフラッシュするならば、フラッシュに伴うパフォーマンス低下も抑えられる。状態(3)の第2のデータを積極的にフラッシュするか、なるべく不揮発性メモリ22内に留めておくかは、必要に応じて適宜使い分ければ良い。
“◯, x” indicates a state (state (3)) in which the corresponding data is “backed up but not flushed to the original area on the
「○,○」は、対応するデータが「バックアップされていて、且つディスク11上の本来の領域にフラッシュされている」、最も安全な状態(状態(4))を示す。但し、データの安全という観点からは、状態(2)または状態(3)であれば十分である。
“◯, ○” indicates the safest state (state (4)) in which the corresponding data is “backed up and flushed to the original area on the
状態(2)〜(4)のいずれかの状態にある不揮発性メモリ22のデータと同じLBAと同じサイズを持つデータのライトが要求された場合、要求されたデータは不揮発性メモリ22にライトされる(図5ステップS41〜S44)。この場合、いずれの状態も、図14(b)に示すように、「バックアップされておらず、且つディスク11上の本来の領域(セクタ)にフラッシュされていない」状態(1)に遷移する。一方、状態(1)にある不揮発性メモリ22のデータと同じLBAと同じサイズを持つデータのライトが要求された場合、要求されたデータは不揮発性メモリ22にライトされるが(図5ステップS41〜S44)、図14(b)に示すように状態の遷移は発生しない。また、リード動作の場合には、状態(1)〜(4)のいずれの状態も、状態の遷移は発生しない。
When writing of data having the same LBA and the same size as the data of the
不揮発性メモリ22の空き領域が足りなくなったという要因で、当該不揮発性メモリ22に記憶されている第2のデータがディスク11にフラッシュされる場合、当該データが記憶されていた不揮発性メモリ22内の領域は開放される。このため、このデータを管理している不揮発性メモリ管理テーブル130(に含まれているキャッシュテーブル131及びメモリリンクテーブル132)内の情報は消去される。ここで、キャッシュテーブル131内の対応する情報に既にディスクフラッシュ済みマーク「○」が付いているならば、ディスク11へのデータライト(フラッシュ)は不要である。この場合、不揮発性メモリ管理テーブル130(に含まれているキャッシュテーブル131及びメモリリンクテーブル132)内の該当する情報を消去すれば良い。
When the second data stored in the
次に、バックアップされているデータの利用について、状態(1)〜(4)と関連付けて説明する。まず、不揮発性メモリ管理テーブル130(のキャッシュテーブル131)に、ある管理情報が登録されているものとする。このことは、この管理情報で指定(管理)されるデータが、状態(1)〜(4)のどの状態であっても、不揮発性メモリ22に存在することを表す。したがってデータリード動作では、通常は管理情報で指定されるデータを状態(1)〜(4)のいずれであるかに無関係に不揮発性メモリ22からリードするリード処理(図3ステップS12)を実行すれば良い。
Next, use of the backed up data will be described in association with the states (1) to (4). First, it is assumed that certain management information is registered in the nonvolatile memory management table 130 (the cache table 131). This indicates that the data specified (managed) by the management information exists in the
さて、上記リード処理で、不揮発性メモリ22からデータがリードされた場合(図4ステップS21)、当該データが正常であるかが判定される(図4ステップS22)。この、リードされたデータの判定は、当該データに付加されているエラー検出コードを照合することにより行われる。もし、不揮発性メモリ22からリードされたデータが正常でなかった場合には次のような動作が行われる。
When data is read from the
まず、リードされたデータが状態(1)なら、当該データは不揮発性メモリ22にのみ存在することから(図4ステップS30)、リードエラーとなる(図4ステップS32)。次に状態(2)なら、バックアップデータは利用できないものの(図4ステップS24)、ディスク11上の本来の領域(セクタ)に対応するデータが存在することから(図4ステップS30)、そのデータをリードすれば良い(図4ステップS31)。
First, if the read data is in the state (1), since the data exists only in the nonvolatile memory 22 (step S30 in FIG. 4), a read error occurs (step S32 in FIG. 4). Next, in the state (2), although the backup data cannot be used (step S24 in FIG. 4), the data corresponding to the original area (sector) on the
状態(3)なら、不揮発性メモリ22のデータがディスク11上のバックアップ領域111にバックアップされていることから(図4ステップS24)、そのバックアップされているデータをリードすれば良い(図4ステップS25)。次に状態(4)なら、不揮発性メモリ22のデータがディスク11上のバックアップ領域111にバックアップされると共に、ディスク11上の本来の領域(セクタ)にフラッシュされている。この場合、バックアップ領域111及び本来の領域(セクタ)のどちらのデータをリードしても良い。しかし、バックアップ領域111のデータ(バックアップデータ)をリードした方が(図4ステップS25)、アクセス速度の点で有利である。その理由は、バックアップ領域111のデータの方が、連続した領域に配置されていると期待できるためである。
In the state (3), since the data in the
このように、不揮発性メモリ22からリードされたデータが正常でなかった場合でも、状態(2)〜(4)のいずれかであるならば、ディスク11(の本来のセクタまたはバックアップ領域111)から正常なデータをリードすることが可能である。このディスク11からリードされたデータを用いて、不揮発性メモリ22上の対応するデータの修復を試みると良い。その理由は、不揮発性メモリ22の一時的なエラー(ソフトエラー)の場合、ディスク11からリードされたデータを当該不揮発性メモリ22に再ライトすることで、以降は問題なく使用できる場合があるためである。
As described above, even if the data read from the
そこでCPU20は、エラーとなったデータが記憶されていた不揮発性メモリ22の領域にテストデータをライトし、そのライトされたデータをリードするライト/リードテストを行う(図4ステップS26)。もし、ライト/リードテストでエラーが発生しなかったならば(図4ステップS27)、CPU20は、不揮発性メモリ22の上記領域にディスク11からリードされた正常なデータをライトする(図4ステップS28)。
Therefore, the
本実施形態において不揮発性メモリ管理テーブル130は、データの整合性を考慮して、不揮発性メモリ22内の特定領域または当該不揮発性メモリ22から独立して設けられた別の不揮発性メモリに格納される。この場合、不揮発性メモリの異常により、不揮発性メモリ管理テーブル130自体を正しく読むことができない状況も発生し得る。
In the present embodiment, the non-volatile memory management table 130 is stored in a specific area in the
そこで本実施形態では、不揮発性メモリ管理テーブル130自体もディスク11にバックアップされる。また本実施形態では、不揮発性メモリ管理テーブル130自体の異常をチェック可能とするために、図14に示されるように、不揮発性メモリ管理テーブル130を構成するキャッシュテーブル131及びメモリリンクテーブル132に、それぞれエラー検出コード(テーブルエラー検出コード)131a及び132aが付加される。
Therefore, in this embodiment, the nonvolatile memory management table 130 itself is also backed up to the
CPU20は、不揮発性メモリ管理テーブル130を利用する必要のある動作に際して、当該管理テーブル130を構成するキャッシュテーブル131及びメモリリンクテーブル132自体が正常であるかを、それぞれ、エラー検出コード131a及び132aを照合して判定する。なお、不揮発性メモリを用いずに、ディスク11にバックアップされている不揮発性メモリ管理テーブルを、動作時にRAMにコピーして使用することも可能である。
In an operation that needs to use the nonvolatile memory management table 130, the
図13に示すデータ構造の不揮発性メモリ管理テーブル130(キャッシュテーブル131及びメモリリンクテーブル132)は、上記実施形態に限らず、上記第1及び第2の変形例でも適用可能である。 The nonvolatile memory management table 130 (cache table 131 and memory link table 132) having the data structure shown in FIG. 13 is not limited to the above embodiment, and can be applied to the first and second modifications.
次に、第3の変形例で適用される不揮発性メモリ22に記憶されるデータの管理の詳細について説明する。まず、第3の変形例の特徴について整理する。
Next, details of management of data stored in the
上記実施形態(並びに第1及び第2の変形例)では、ディスク11上のバックアップ領域111にバックアップされたデータは不揮発性メモリ22のデータに異常が生じない限り利用されることはない。しかし、ディスク11上のバックアップ領域111にバックアップされたデータは、先に述べたように当該ディスク11上で連続した領域に配置されていると期待できる。このため、ディスク11上のバックアップ領域111にアクセスした方が、ディスク11上の本来のセクタにアクセスするよりも高速にアクセスできる。また通常不揮発性メモリ22の容量は、ディスク11に比べて非常に小さい。この点を考慮して第3の変形例では、バックアップ領域(第1のバックアップ領域)111に対応するバックアップ領域(第2のバックアップ領域)としての拡張領域112が、ディスク11上の特定の領域に割り当てられる。この拡張領域112は、不揮発性メモリ22の実質的な容量を拡張するための領域として使用される。
In the above embodiment (and the first and second modifications), the data backed up in the backup area 111 on the
第3の変形例では、上記実施形態と異なって、不揮発性メモリ22及びバックアップ動作を管理するだけでなく、ディスク11上の拡張領域112を利用した動作(拡張領域動作)を管理するために、図15に示す不揮発性メモリ管理テーブル150が用いられる。この管理テーブル150は、キャッシュテーブル151、メモリリンクテーブル152及び拡張領域リンクテーブル153から構成される。
In the third modified example, unlike the above embodiment, not only to manage the
キャッシュテーブル151のエントリ情報(管理情報)の特徴は、図13に示したバックアップ済みマーク及びディスクフラッシュ済みマークを含むキャッシュテーブル131のエントリ情報(管理情報)に、拡張領域使用マークが追加されている点である。図15のキャッシュテーブル151の例では、当該テーブル151のエントリ情報中の拡張領域使用マークは、バックアップ済みマーク及びディスクフラッシュ済みマークと同様に記号○または×で示されている。拡張領域使用マークは、記号○のとき、対応するエントリ情報で指定される不揮発性メモリ22のデータ(対応するデータ)がディスク11の拡張領域112に存在することを示し、記号×のとき、当該データ拡張領域112に存在しないことを示す。
The feature of the entry information (management information) of the cache table 151 is that an extended area use mark is added to the entry information (management information) of the cache table 131 including the backed up mark and the disk flushed mark shown in FIG. Is a point. In the example of the cache table 151 in FIG. 15, the extended area use mark in the entry information of the table 151 is indicated by a symbol “O” or “X” as in the case of the backed-up mark and the disk flushed mark. The extension area use mark indicates that the data of the nonvolatile memory 22 (corresponding data) specified by the corresponding entry information exists in the extension area 112 of the
拡張領域リンクテーブル153は、拡張領域動作用のリンクテーブルである。バックアップ動作では、ディスク11上のバックアップ領域111には、前述したように不揮発性メモリ22と同じイメージでデータが記憶される。これに対して拡張領域動作では、不揮発性メモリ22に記憶されているデータが論理ブロックアドレスLBA順に並び替えられながらディスク11上の拡張領域112に書き出される。つまり拡張領域動作では、ディスク11上の拡張領域112には、不揮発性メモリ22とは異なるイメージでデータが記憶される。このため第3の変形例では、メモリリンクテーブル152とは別に拡張領域リンクテーブル153が設けられている。
The extended area link table 153 is an extended area operation link table. In the backup operation, data is stored in the backup area 111 on the
図16は拡張領域使用マーク、バックアップ済みマーク及びディスクフラッシュ済みマークの取り得る全ての組み合わせと、各組み合わせに対応した状態相互間の状態遷移とを示す。拡張領域使用マーク「○」が付いたデータは不揮発性メモリ22上に存在しないため、当該データにバックアップ済みマーク「○」が付けられることはない。このため、拡張領域使用マーク、バックアップ済みマーク及びディスクフラッシュ済みマークの組み合わせは、図16(a)に示すように、「×,×,×」,「×,×,○」,「×,○,×」,「×,○,○」,「○,×,×」及び「○,×,○」の6通りである。
FIG. 16 shows all possible combinations of the extended area use mark, the backed up mark, and the disk flushed mark, and state transitions between states corresponding to each combination. Since the data with the extended area use mark “◯” does not exist on the
「×,×,×」は、対応するデータが「拡張領域112になく、バックアップされておらず、且つディスク11上の本来の領域(セクタ)にフラッシュされていない」状態(状態(1))を示す。
“X, x, x” indicates that the corresponding data is “not in the extended area 112, not backed up, and not flushed to the original area (sector) on the
「×,×,○」は、対応するデータが「拡張領域112になく、且つバックアップされていないが、ディスク11上の本来の領域(セクタ)にフラッシュされている」状態(状態(2))を示す。
“X, X, ○” indicates that the corresponding data is “not in the extended area 112 and not backed up, but is flushed to the original area (sector) on the
「×,○,×」は、対応するデータが「拡張領域112になく、バックアップされており、ディスク11上の本来の領域にフラッシュされていない」状態(状態(3))を示す。
“X, o, x” indicates a state (state (3)) in which the corresponding data is “not in the extended area 112 but backed up and not flushed to the original area on the
「×,○,○」は、対応するデータが「拡張領域112にないが、バックアップされており、且つディスク11上の本来の領域にフラッシュされている」状態(状態(4))を示す。
“X, ○, ○” indicates a state (state (4)) in which the corresponding data is “not in the extended area 112 but backed up and flushed to the original area on the
「○,×,×」は、対応するデータが「拡張領域112にあるが、バックアップされておらず、且つディスク11上の本来の領域(セクタ)にフラッシュされていない」状態(状態(5))を示す。
“O, X, X” indicates that the corresponding data is “in the extended area 112 but not backed up and not flushed to the original area (sector) on the
「○,×,○」は、対応するデータが「拡張領域112にあり、バックアップされておらず、ディスク11上の本来の領域(セクタ)にフラッシュされている」状態(状態(6))を示す。
“O, X, O” indicates a state (state (6)) in which the corresponding data is “in the extended area 112, not backed up, and flushed to the original area (sector) on the
状態(1)〜(4)においてリード/ライト動作、バックアップ動作及びフラッシュ動作が行われた場合の状態遷移は、図16(b)に示すように上記実施形態(図14)と同様である。また、リード動作の場合には、状態(1)〜(6)のいずれの状態も、状態の遷移は発生しない。また、状態(5)と状態(6)とは、対応するデータがディスク11上の本来の領域にフラッシュされているか否かを除いて同一の状態である。このため、状態(5)においてフラッシュ動作が行われた場合、当該状態(5)は図16(b)に示すように状態(6)に遷移する。
The state transition when the read / write operation, the backup operation, and the flash operation are performed in the states (1) to (4) is the same as that in the embodiment (FIG. 14) as shown in FIG. In the case of a read operation, no state transition occurs in any of the states (1) to (6). Further, the state (5) and the state (6) are the same except for whether or not the corresponding data is flushed to the original area on the
次に、不揮発性メモリ22からディスク11上の拡張領域112にデータを書き出す(移動する)拡張領域動作の場合の状態遷移について説明する。ここで、拡張領域動作には、不揮発性メモリ22からディスク11上の拡張領域112にデータを書き出す(移動する)動作の他に、後述するように、拡張領域112のデータを不揮発性メモリ22に書き戻す(復帰する)動作がある。
Next, state transition in the case of an extended area operation for writing (moving) data from the
まず、状態(5)及び(6)では、不揮発性メモリ22のデータが既に拡張領域112に存在する。したがって、状態(5)及び(6)では、不揮発性メモリ22のデータを拡張領域112へ移動することは不要である。
First, in the states (5) and (6), the data in the
次に状態(5)と状態(1)とは、対応するデータが拡張領域112に存在するか否かを除いて、同一の状態である。したがって、状態(1)において不揮発性メモリ22のデータが拡張領域112へ移動された場合には、図16(b)に示すように状態(5)に遷移する。逆に、状態(5)において拡張領域112のデータが不揮発性メモリ22に復帰された場合には、図16(b)に示すように状態(1)に遷移する。次に、状態(3)において、不揮発性メモリ22のデータが拡張領域112へ移動された場合、当該データは不揮発性メモリ22に存在しなくなるため、バックアップ済みマーク「○」は外される(○から×に更新される)。これにより状態(3)は、図16(b)に示すように状態(5)に遷移する。
Next, the state (5) and the state (1) are the same except for whether or not corresponding data exists in the extension area 112. Therefore, when the data in the
同様に、状態(2)において不揮発性メモリ22のデータが拡張領域112へ移動された場合には、図16(b)に示すように状態(6)に遷移する。逆に、状態(6)において拡張領域112のデータが不揮発性メモリ22に復帰された場合には、図16(b)に示すように状態(2)に遷移する。また状態(4)において不揮発性メモリ22のデータが拡張領域112へ移動された場合には、図16(b)に示すように状態(6)に遷移する。
Similarly, when the data in the
ここで、拡張領域動作が開始されるタイミングについて説明する。第3の変形例では、ホストからの何らかの要求を「トリガ」として拡張領域動作が開始される。このトリガとは、例えば、不揮発性メモリ22内に指定の空き領域を確保することを指示するコマンド(Flush NV Cache Command)のように、ホストからの明示的なコマンドによるものである。このコマンドで要求された容量の空き領域が不揮発性メモリ22内に確保できない場合に拡張領域動作が開始され、当該不揮発性メモリ22に記憶されている一部の古い第2のデータがディスク11上の拡張領域に移動される。これにより、要求された容量の空き領域が不揮発性メモリ22内に確保される。
Here, the timing at which the extended region operation is started will be described. In the third modified example, the extended area operation is started with a request from the host as a “trigger”. This trigger is caused by an explicit command from the host, such as a command (Flush NV Cache Command) for instructing to secure a designated free area in the
また、ホストから与えられた第2のデータをライトするためのライトコマンドの実行時に、不揮発性メモリ22内に、当該コマンドで要求された第2のデータをライトするのに必要な空き領域が不足しているとHDD側(CPU20)で判断した場合に、それをトリガとして拡張領域動作が開始されても良い。この場合、ホストからのライトコマンドは、不揮発性メモリ22からディスク11の拡張領域へのデータ書き出し動作(拡張領域動作)を暗黙的に指示するコマンドであると見なすことができる。この拡張領域動作により、不揮発性メモリ22に記憶されている一部の古い第2のデータがディスク11上の拡張領域112に移動される(図12ステップS99)。すると、拡張領域112に移動されたデータが記憶されていた不揮発性メモリ22の領域が空き領域として確保される。このデータ移動の状態を反映するために、不揮発性メモリ管理テーブル150(キャッシュテーブル151、メモリリンクテーブル152及び拡張領域リンクテーブル153が更新される(図12ステップS100)。そして、不揮発性メモリ22内に確保された空き領域に、ライトコマンドで要求されたデータがライトされる(図12ステップS95)。
In addition, when a write command for writing the second data given from the host is executed, there is not enough free space in the
また、不揮発性メモリ22の予約領域に記憶されている特定の第1のデータをディスク11上の拡張領域112に一時的に退避(移動)させるための第1のコマンド、及び拡張領域112に退避されている第1のデータを不揮発性メモリ22に復帰させるための第2のコマンドを新設しても良い。CPU20は、この第1/第2のコマンドがホストからHDDに与えられた場合に、第1のデータの退避/復帰を行う。
In addition, the first command for temporarily saving (moving) the specific first data stored in the reserved area of the
ところで、不揮発性メモリ22に記憶されているデータの中に、キャッシュテーブル151によってLBAが不連続でサイズが比較的小さいことが示されているデータ(ランダムデータ)が含まれていることがある。このようなランダムデータを、不揮発性メモリ22からディスク11の本来のセクタにフラッシュすると、再アクセスの際にアクセス位置がランダムアクセス的に分散してしまうのでパフォーマンス的に不利である。そこで、例えば先に述べたように不揮発性メモリ22内に空き領域を確保するために拡張領域動作を実行する際に、このようなランダムデータを優先的に拡張領域112に書き出す(移動する)と良い。このようにすると、本来はランダムデータでありながら、再アクセスの際にまとめてアクセスしてパフォーマンス低下を抑えることが可能となる。
Incidentally, the data stored in the
データのリード時、CPU20はキャッシュテーブル151を参照する。これによりCPU20は、対象となるデータが不揮発性メモリ22に存在するか(図11ステップS81)、或いはディスク11上の拡張領域112に存在するか(図11ステップS83)を判定することができる。第3の変形例では、拡張領域112に存在するデータをリードする場合に、不揮発性メモリ22内に当該データに相当するサイズ以上の空き領域があるならば(図11ステップS84)、当該データが不揮発性メモリ22の空き領域に書き戻される(図11ステップS86)。これにより、同じデータを次回にリードする際のアクセス速度が高速になる。
When reading data, the
不揮発性メモリ22からディスク11上の拡張領域112にデータを移動する(書き出す)際に、当該拡張領域112内に十分な空き領域が確保できない場合(図10ステップS72)には、既に当該拡張領域112に存在する古いデータがディスク11上の本来の領域(セクタ)にコピーされる(図10ステップS73)。ここでは、ディスク11上の本来の領域(セクタ)へのデータライト(図10ステップS73)と当該ディスク11上の拡張領域112へのデータライト(図10ステップS74)とが連続して行われるためHDDのパフォーマンスが低下する。
When moving (writing) data from the
そこで、できる限り拡張領域112内に空き領域を確保しておくことが好ましい。そのためには、例えば、拡張領域112のデータが不揮発性メモリ22に書き戻せるなら書き戻し(図11ステップS86)、当該データが格納されていた拡張領域112内の領域を速やかに開放すると良い。また前述の、空き領域を確保することを指示するコマンド、或いは第1のデータを拡張領域112に退避させるコマンドを、ホストからHDDに与えることによって、フラッシュ動作が集中しないように制御しても良い。
Therefore, it is preferable to reserve a free area in the extended area 112 as much as possible. For this purpose, for example, if the data in the extended area 112 can be written back to the
第3の変形例では、不揮発性メモリ22のデータを拡張領域112に移動する動作は、当該データを不揮発性メモリ22上で当該データのLBA順に並び替えながら行われる(図10ステップS74)。この場合、拡張領域112内でのデータの配置がLBA順となるため、以降のリードが高速に行える。
In the third modification, the operation of moving the data in the
ここで、不揮発性メモリ22に記憶されている移動対象となるデータを管理するための、図15に示すキャッシュテーブル151の管理情報を符号151aで示す。この管理情報151aで管理されるデータは、図15に示されるメモリリンクテーブル152の内容から明らかなように、不揮発性メモリ22内でLBA順(アクセス順)に並んでいないものとする。不揮発性メモリ22はランダムアクセス性が高いので、不揮発性メモリ22内でのデータの並びを変えなくても大きな問題はない。しかし、不揮発性メモリ22からディスク11上の拡張領域112にデータが移動された場合、当該ディスク11上では当該データがアクセス順に配置されていた方がアクセス速度の点で有利である。
Here, the management information of the cache table 151 shown in FIG. 15 for managing the data to be moved stored in the
そこで第3の変形例においてCPU20は、管理情報151aで管理されるデータを不揮発性メモリ22からディスク11上の拡張領域112に移動するのに、当該不揮発性メモリ22に対するアクセス順にデータを拡張領域112にライトする。このアクセス順は、管理情報151a中の開始アドレスで指定されるアドレスを先頭とする、図15のメモリリンクテーブル152によってリンクされるアドレスの順番である。ここでは、図15から明らかなように、000A0000h→00080000h→00100000hの順番で対応するデータが拡張領域112にライトされる。これにより、上記の順番で対応するデータが拡張領域112に連続的に配置される。
Therefore, in the third modification, the
上記の順で不揮発性メモリ22から拡張領域112にデータが移動された後の、当該データを管理するための管理情報を、上記管理情報151aと比較するために、当該管理情報151aが保持されているエントリとは別のエントリを便宜的に用いて符号151bで示す。第3の変形例では、拡張領域112に移動されたデータを管理するための拡張領域リンクテーブル153の内容も、図15に示すように、当該拡張領域112におけるデータの配置順を反映したものとなる。
In order to compare the management information for managing the data after the data is moved from the
但し、データリード時の高速化だけを目的とするなら、不揮発性メモリ22のデータを拡張領域112に移動する動作は、例えばアドレス順に無関係に(00080000h、000A0000h、00100000hのように)1つずつ別々に行っても良い。要するに、拡張領域112内のデータの配置が連続的になっていれば良い。つまり、拡張領域112においてデータが連続的な配置となっていることが、拡張領域リンクテーブル153によって示されていればよい。「連続的な配置」についての詳細は後述する。
However, if the purpose is only to increase the speed at the time of data reading, the operation of moving the data in the
上述したように第3の変形例においては、不揮発性メモリ22のデータが、拡張領域112と呼ばれるディスク11上の限られた特定領域にライトされて連続的に配置される。このためディスク11上の拡張領域112は、「(広義の)バックアップ」のための領域という側面以外に、データの連続的な配置によりアクセス速度の点で不揮発性メモリ22に準じる側面を持つ。不揮発性メモリ22はアクセス速度は速いが容量が限られている。一方、ディスク11は容量的には十分な余裕があるものの、データが当該ディスク11上に分散して配置されると、当該データに対するアクセス速度は遅くなる。第3の変形例によれば、この両者を互いに補うような動作が可能となり、不揮発性メモリ22を用いることの利点を更に生かせるようになる。このことは、ディスク11上のバックアップ領域111についても同様である。
As described above, in the third modified example, the data in the
以下、拡張領域112及び当該拡張領域112におけるデータ配置例について図17を参照して説明する。図17の例では、同図(a)乃至(c)に示されるように、ディスク11上のシリンダ番号が連続する複数のトラックが拡張領域112として割り当てられている。図において、網掛けが施された領域が、拡張領域112内で実際にデータが配置(記録)されている領域である。図17(a)は、拡張領域112内でデータが完全に連続して配置されている例を示す。図17(b),(c)の例は、拡張領域112内でデータが完全には連続してはいないものの連続的に配置されている例を示す。連続的な配置とは、データ間に数セクタまたは数シリンダの間隙があっても、シーク時間を含むアクセス時間についての効果が、完全に連続する配置の場合と同等となる配置を指す。具体的には、シーク時間を含むアクセス時間が、完全に連続する配置の場合のアクセス時間に対して、一定時間または一定比率(つまり閾値)を超えない配置を、連続的な配置と呼ぶ。このような配置及び完全に連続する配置を含めて、連続的な配置と定義する。
Hereinafter, the extension area 112 and an example of data arrangement in the extension area 112 will be described with reference to FIG. In the example of FIG. 17, as shown in FIGS. 17A to 17C, a plurality of tracks having consecutive cylinder numbers on the
これに対して、図17(d),(e)は、拡張領域112内でデータが連続せずに配置されている例(連続的でない配置の例)を示す。この配置では、シーク時間を含むアクセス時間が、完全に連続する配置の場合のアクセス時間に対して、閾値を超える。 On the other hand, FIGS. 17D and 17E show an example in which data is not arranged continuously in the extended area 112 (an example of non-continuous arrangement). In this arrangement, the access time including the seek time exceeds the threshold with respect to the access time in the case of a completely continuous arrangement.
さて、シリンダ番号が連続する複数のトラックが拡張領域112として割り当てられたとしても、当該拡張領域112に記憶されるデータ自体はライト/リードを繰り返すうちに分断化して、図17(b),(c)の例のように、データ間に間隙が生じてくることが予測される。しかし、この分断化(間隙)は、拡張領域112の範囲内に限られ、図17(d),(e)のようにディスク11のほぼ全面にまたがることはない。このため、アクセス時間についての効果は、データ間に間隙がない場合とほぼ同等となる。
Now, even if a plurality of tracks having consecutive cylinder numbers are assigned as the extension area 112, the data itself stored in the extension area 112 is divided as the write / read is repeated, and FIG. As in the example of c), it is predicted that a gap will be generated between the data. However, this segmentation (gap) is limited to the range of the expansion region 112 and does not extend over almost the entire surface of the
上述の拡張領域112における連続的な配置/連続的でない配置についての記載はバックアップ領域111においても同様である。必要ならば、この記載における拡張領域112をバックアップ領域111に読み替えられたい。 The description of the continuous arrangement / non-continuous arrangement in the extended area 112 is the same in the backup area 111. If necessary, replace the extended area 112 in this description with the backup area 111.
上記実施形態及びその変形例(第1乃至第3の変形例)においては、本発明を磁気ディスク装置(HDD)に適用した場合について説明した。しかし本発明は、不揮発性メモリを備えたディスク記憶装置(ハイブリッドディスク記憶装置)であれば、光磁気ディスク装置など、磁気ディスク装置以外のディスク記憶装置にも適用することができる。 In the above embodiment and its modifications (first to third modifications), the case where the present invention is applied to a magnetic disk device (HDD) has been described. However, the present invention can be applied to a disk storage device other than the magnetic disk device, such as a magneto-optical disk device, as long as the disk storage device (hybrid disk storage device) includes a nonvolatile memory.
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。 In addition, this invention is not limited to the said embodiment or its modification example as it is, A component can be deform | transformed and embodied in the range which does not deviate from the summary in an implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment or the modification thereof. For example, you may delete a some component from all the components shown by embodiment or its modification.
11…ディスク、12…ヘッド、19…HDC(ディスクコントローラ)、20…CPU、21…ROM、22…不揮発性メモリ、111…バックアップ領域(特定領域)、112…拡張領域(特定領域)、130,150…不揮発性メモリ管理テーブル、131,151…キャッシュテーブル、132,152…メモリリンクテーブル、1153…拡張領域リンクテーブル。
DESCRIPTION OF
Claims (11)
ヘッドによりデータがリード/ライトされるディスクであって、前記不揮発性メモリに記憶されているデータを記憶するための、当該データがライトされるべき領域とは別の特定領域が予め確保されたディスクと、
ホストから要求された前記ディスクにライトされるべきデータを、前記ディスクに対するよりも優先して前記不揮発性メモリにライトするデータライト手段と、
前記不揮発性メモリに記憶されているデータを前記ディスクの前記特定領域にライトする特定領域操作手段と
を具備することを特徴とするハイブリッドディスク記憶装置。 Rewritable nonvolatile memory,
A disk on which data is read / written by a head, and a specific area for storing the data stored in the nonvolatile memory is secured in advance, which is different from the area where the data is to be written. When,
Data write means for writing data to be written to the disk requested by the host to the nonvolatile memory in preference to the disk;
A hybrid disk storage device comprising: specific area operating means for writing data stored in the nonvolatile memory to the specific area of the disk.
前記特定領域操作手段は、前記不揮発性メモリに記憶されているデータのうち前記ディスクに記憶されていないデータを少なくとも含むデータをバックアップ対象データとして前記ディスクの前記特定領域にコピーするための、当該特定領域に対する当該バックアップ対象データのライトを含む操作によって、当該バックアップ対象データを前記ディスクの前記特定領域にバックアップする
ことを特徴とする請求項1記載のハイブリッドディスク記憶装置。 The specific area of the disk is used as a backup area for backing up data stored in the nonvolatile memory,
The specific area operating means is for specifying the specific area for copying data including at least data not stored in the disk among data stored in the nonvolatile memory to the specific area of the disk as backup target data. The hybrid disk storage device according to claim 1, wherein the backup target data is backed up to the specific area of the disk by an operation including writing of the backup target data to the area.
前記不揮発性メモリからリードされたデータが正常でなく、且つ当該リードされたデータが前記ディスクの前記特定領域にバックアップされている場合に、前記正常でないデータに代えて前記特定領域にバックアップされているデータをリードする第2のリード手段と
を更に具備することを特徴とする請求項4記載のハイブリッドディスク記憶装置。 A first read unit that reads target data from the nonvolatile memory when data to be read from the disk requested by the host is stored in the nonvolatile memory;
When the data read from the nonvolatile memory is not normal and the read data is backed up in the specific area of the disk, the data is backed up in the specific area instead of the abnormal data The hybrid disk storage device according to claim 4, further comprising: second read means for reading data.
前記特定領域操作手段は、前記不揮発性メモリに記憶されているデータを前記ディスクの前記特定領域に移動するための、当該特定領域に対する当該データのライトを含む操作によって、前記不揮発性メモリ内に空き領域を確保する
ことを特徴とする請求項1記載のハイブリッドディスク記憶装置。 The specific area of the disk is used as an expansion area for expanding the capacity of the nonvolatile memory;
The specific area operating means is free in the non-volatile memory by an operation including writing the data to the specific area for moving the data stored in the non-volatile memory to the specific area of the disk. The hybrid disk storage device according to claim 1, wherein an area is secured.
前記不揮発性メモリにコピーされたデータを目的とするデータとしてリードするリード手段と
を更に具備することを特徴とする請求項7記載のハイブリッドディスク記憶装置。 If the data requested from the disk to be read from the disk does not exist in the nonvolatile memory but exists in the extension area of the disk, the data existing in the extension area is copied to the nonvolatile memory. Copy means;
The hybrid disk storage device according to claim 7, further comprising: a reading unit that reads the data copied to the nonvolatile memory as target data.
ホストから要求された前記ディスクにライトされるべきデータを、前記ディスクに対するよりも優先して前記不揮発性メモリにライトするステップと、
前記不揮発性メモリに記憶されているデータを、当該データがライトされるべき前記ディスク上の領域とは別の、当該ディスク上に予め確保された特定領域にライトする特定領域操作ステップと
を具備することを特徴とするディスクライト方法。 A disk writing method applied to a hybrid disk storage device including a rewritable nonvolatile memory and a disk from which data is read / written by a head,
Writing data to be written to the disk requested by the host to the non-volatile memory in preference to the disk;
A specific area operation step of writing data stored in the non-volatile memory in a specific area reserved in advance on the disk, different from the area on the disk to which the data is to be written. A disc writing method characterized by the above.
前記特定領域操作ステップにおいて、前記不揮発性メモリに記憶されているデータのうち前記ディスクに記憶されていないデータを少なくとも含むデータをバックアップ対象データとして前記ディスクの前記特定領域にコピーするための、当該特定領域に対する当該バックアップ対象データのライトを含む操作によって、当該バックアップ対象データが前記ディスクの前記特定領域にバックアップされる
ことを特徴とする請求項9記載のディスクライト方法。 The specific area of the disk is used as a backup area for backing up data stored in the nonvolatile memory,
In the specific area operation step, the specific area for copying data including at least data not stored in the disk among data stored in the nonvolatile memory to the specific area of the disk as backup target data The disk write method according to claim 9, wherein the backup target data is backed up to the specific area of the disk by an operation including writing of the backup target data to the area.
前記特定領域操作ステップにおいて、前記不揮発性メモリに記憶されているデータを前記ディスクの前記特定領域に移動するための、当該特定領域に対する当該データのライトを含む操作によって、前記不揮発性メモリ内に空き領域が確保される
ことを特徴とする請求項9記載のディスクライト方法。 The specific area of the disk is used as an expansion area for expanding the capacity of the nonvolatile memory;
In the specific area operation step, there is a free space in the non-volatile memory by an operation including writing of the data to the specific area for moving the data stored in the non-volatile memory to the specific area of the disk. The disk writing method according to claim 9, wherein an area is secured.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006324992A JP2008140459A (en) | 2006-11-30 | 2006-11-30 | Hybrid disk storage device and disk write method applied to the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006324992A JP2008140459A (en) | 2006-11-30 | 2006-11-30 | Hybrid disk storage device and disk write method applied to the same |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008140459A true JP2008140459A (en) | 2008-06-19 |
Family
ID=39601759
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006324992A Pending JP2008140459A (en) | 2006-11-30 | 2006-11-30 | Hybrid disk storage device and disk write method applied to the same |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008140459A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010157287A (en) * | 2008-12-26 | 2010-07-15 | Toshiba Corp | Magnetic disk drive and data refresh method in this drive |
| JP2011150753A (en) * | 2010-01-21 | 2011-08-04 | Sharp Corp | Recording device, recording method, program, and recording medium |
| CN102169696A (en) * | 2009-12-02 | 2011-08-31 | 日立-Lg数据存储韩国公司 | Method of using backup image of optical disc |
| JP2014182818A (en) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | Device, storage medium and method for file system backup for plurality of storage medium devices |
| JP2014182835A (en) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | Data storage system, data storage method, and processor readable storage medium |
| US9384793B2 (en) | 2013-03-15 | 2016-07-05 | Seagate Technology Llc | Dynamic granule-based intermediate storage |
-
2006
- 2006-11-30 JP JP2006324992A patent/JP2008140459A/en active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010157287A (en) * | 2008-12-26 | 2010-07-15 | Toshiba Corp | Magnetic disk drive and data refresh method in this drive |
| US7870460B2 (en) | 2008-12-26 | 2011-01-11 | Kabushiki Kaisha Toshiba | Magnetic disk drive capable of refreshing data written to disk and data refresh method |
| CN102169696A (en) * | 2009-12-02 | 2011-08-31 | 日立-Lg数据存储韩国公司 | Method of using backup image of optical disc |
| JP2011150753A (en) * | 2010-01-21 | 2011-08-04 | Sharp Corp | Recording device, recording method, program, and recording medium |
| JP2014182818A (en) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | Device, storage medium and method for file system backup for plurality of storage medium devices |
| JP2014182835A (en) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | Data storage system, data storage method, and processor readable storage medium |
| US9384793B2 (en) | 2013-03-15 | 2016-07-05 | Seagate Technology Llc | Dynamic granule-based intermediate storage |
| US9588886B2 (en) | 2013-03-15 | 2017-03-07 | Seagate Technology Llc | Staging sorted data in intermediate storage |
| US9588887B2 (en) | 2013-03-15 | 2017-03-07 | Seagate Technology Llc | Staging sorted data in intermediate storage |
| US9740406B2 (en) | 2013-03-15 | 2017-08-22 | Seagate Technology Llc | Dynamic granule-based intermediate storage |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8429343B1 (en) | Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk | |
| US8667248B1 (en) | Data storage device using metadata and mapping table to identify valid user data on non-volatile media | |
| JP2009020986A (en) | Disk drive device and method for storing table for managing data on non-volatile semiconductor memory area in disk drive device | |
| JP4886877B2 (en) | Recording medium control apparatus and method | |
| JP4469906B2 (en) | Magnetic disk device and data refresh method in the same | |
| JP4282733B1 (en) | Disk storage device and data writing method | |
| US20180267827A1 (en) | Information processing device, storage device, and information processing system | |
| US8291190B2 (en) | Disk drive including a host interface supporting different sizes of data sectors and method for writing data thereto | |
| JP2005115857A (en) | File storage device | |
| JP2009266333A (en) | Data storage device and adjacent track rewrite processing method | |
| JP2011253578A (en) | Magnetic disk device and method for rewriting data block | |
| US7558904B2 (en) | Controller, data memory system, data rewriting method, and computer program product | |
| JP2022143789A (en) | magnetic disk device | |
| JP2008140459A (en) | Hybrid disk storage device and disk write method applied to the same | |
| JP2011028810A (en) | Method of refreshing data in magnetic disk drive | |
| US9105297B2 (en) | Information recording device and data recovery method | |
| US20040153745A1 (en) | Bad-sector search method, data recording device, and program | |
| JPH11282765A (en) | External storage device using flash memory | |
| JP4919983B2 (en) | Data storage device and data management method in data storage device | |
| US20070271311A1 (en) | Disk array device and data management method for managing master data and replication data replicated from master data | |
| US20150205543A1 (en) | Storage device and data storing method | |
| JP2010182406A (en) | Magnetic disk device and data refreshing method in the same | |
| US20070174739A1 (en) | Disk device, method of writing data in disk device, and computer product | |
| JP2005189907A (en) | Disk unit | |
| JP2007164928A (en) | Storage medium management apparatus, storage medium management program, and storage medium management method |