[go: up one dir, main page]

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 PDF

Info

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
Application number
JP2006324992A
Other languages
Japanese (ja)
Inventor
Kazuyuki Shimizu
和志 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006324992A priority Critical patent/JP2008140459A/en
Publication of JP2008140459A publication Critical patent/JP2008140459A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve reliability of data by compensating a weak point of using a nonvolatile memory. <P>SOLUTION: In a disk 11 on which data is to be read/write by a head 12, a specific region (backup region 11) being different from a region in which data specified from a host is to be written is secured previously. A CPU20 writes data stored in a nonvolatile memory 22 which is used for writing data to be written in the optical disk 11 more preferentially than in the disk 11 in a backup region 111 of the disk 11. <P>COPYRIGHT: (C)2008,JPO&INPIT

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には、この書き戻しを、キャッシュメモリ内のデータを読み出すために参照するキャッシュ管理テーブル内のデータが、ディスクにおけるトラックのアドレス順に読み出されるようにスケジューリングすることが記載されている。このスケジューリングにより、書き戻しに伴うシーク動作に要する時間が短縮される。
特開2006−4407号公報 特許第3183661号公報
In particular, Patent Document 2 describes that after the power of the apparatus is shut down, the data in the cache memory (nonvolatile memory) is written back to the area on the disk (actual device) where the data is to be written at the next power-on. Has been. Japanese Patent Application Laid-Open No. 2003-228561 describes that scheduling of this write-back is performed so that data in a cache management table that is referred to in order to read data in the cache memory is read in the order of track addresses on the disk. By this scheduling, the time required for the seek operation associated with the write back is reduced.
JP 2006-4407 A Japanese Patent No. 3183661

しかしながら不揮発性メモリは、磁気ディスクのようなディスク記憶媒体に比べて安定してデータ記憶を保持することができず、比較的短期間(極端な例では数ヶ月程度)でその記憶データが変化することが知られている。つまり、不揮発性メモリは、データを長期間安定して保持するという点において、ディスク記憶媒体に比べて信頼性が低い。そのために、例えば不揮発性メモリの記憶データをリフレッシュさせる機能が当該不揮発性メモリ自身のコントローラに組み込まれている。   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 Patent Document 2, the data in the nonvolatile memory (cache memory) is written back to an area on the disk where the data is to be written when the power is turned on next time after the device is turned off. . Therefore, if the power supply to the apparatus is repeatedly turned off / on in a relatively short period of time, it is possible to compensate for the above-described weak points of the nonvolatile memory. However, when the device is operated continuously for a long time, it is difficult to compensate for the weaknesses of the nonvolatile memory.

また、不揮発性メモリ(キャッシュメモリ)のデータが書き込まれるべきディスク(実デバイス)上の領域が当該ディスク上で分散している場合には、たとえディスクにおけるトラックのアドレス順に読み出されるようにスケジューリングしたとしても、書き戻しに伴うシーク動作に要する時間を短縮することは難しい。   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 disk 11. The head 12 is used for data writing (data recording) to the disk 11 and data reading (data reproduction) from the disk 11. It is assumed that the lower disk surface of the disk 11 also forms a recording surface, and a head similar to the head 12 is arranged corresponding to the recording surface. In the configuration of FIG. 1, an HDD including a single disk 11 is assumed. However, it may be an HDD in which a plurality of disks 11 are stacked.

ディスク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 disk 11. In each track, servo areas in which servo information is recorded are arranged in advance at regular intervals and discretely. The servo information includes position information necessary for control to position the head 12 on the target track. This position information includes a cylinder code (cylinder number) indicating a cylinder (track) position on the disk 11 in which servo information is written, and a position error signal for detecting a deviation of the head 12 from the cylinder position. . An area sandwiched between adjacent servo areas is called a user data area. In the user data area, a plurality of data sectors used for recording / reproducing user data are arranged. In addition, a backup area 111 for backing up data stored in the nonvolatile memory 22 described later is secured in a specific area (first specific area) on the disk 11. The backup area 111, that is, the first specific area on the disk 11 has the same capacity as the nonvolatile memory 22.

ディスク11はスピンドルモータ(SPM)13により高速に回転させられる。ヘッド12はアクチュエータ(キャリッジ)14の先端に取り付けられている。アクチュエータ14は、当該アクチュエータ14の駆動源となるボイスコイルモータ(VCM)15を有している。アクチュエータ14は、このVCM15により駆動されて、ヘッド12をディスク11の半径方向に移動する。これにより、ヘッド12は、目標トラック上に位置付けられる。   The disk 11 is rotated at high speed by a spindle motor (SPM) 13. The head 12 is attached to the tip of an actuator (carriage) 14. The actuator 14 has a voice coil motor (VCM) 15 serving as a drive source for the actuator 14. The actuator 14 is driven by the VCM 15 to move the head 12 in the radial direction of the disk 11. Thereby, the head 12 is positioned on the target track.

SPM13及びVCM15は、モータドライバ(モータドライバIC)16からそれぞれ供給される駆動電流(SPM電流及びVCM電流)により駆動される。つまりモータドライバ16は、SPM13及びVCM15をそれぞれ駆動するSPMドライバ及びVCMドライバ(図示せず)を含む。   The SPM 13 and the VCM 15 are driven by drive currents (SPM current and VCM current) respectively supplied from a motor driver (motor driver IC) 16. That is, the motor driver 16 includes an SPM driver and a VCM driver (not shown) that drive the SPM 13 and the VCM 15 respectively.

ヘッド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 motor driver 16 and the read / write channel 17 are connected to the system LSI 18. The system LSI 18 is an LSI in which a disk controller (HDC) 19 and a CPU 20 are integrated on a single chip. The system LSI 18 is connected to the ROM 21 and the nonvolatile memory 22. The system LSI 18 may further include at least one of the read / write channel 17, the ROM 21, and the nonvolatile memory 22. The ROM 21 stores a control program (firmware program) in advance.

不揮発性メモリ22は例えば電気的に書き換えが可能なフラッシュメモリである。不揮発性メモリ22は、電源の供給がなくても記憶データを維持できる。これに対し、従来から適用されている、例えばDRAM(Dynamic RAM)を用いて構成されるキャッシュメモリの記憶データは当該キャッシュメモリの電源の供給が断たれると失われる。つまり不揮発性メモリ22は、キャッシュメモリと違いデータを長時間記憶させておくのに適している。そこで本実施形態では、不揮発性メモリ22は、ディスク11上に存在しないデータを記憶するのに用いられる。また不揮発性メモリ22は、アクセス速度の向上のために、キャッシュメモリと同様にディスク11上に存在するデータの一部を記憶するのにも使用される。   The nonvolatile memory 22 is, for example, an electrically rewritable flash memory. The nonvolatile memory 22 can maintain the stored data even when power is not supplied. On the other hand, data stored in a cache memory that is conventionally applied using, for example, a DRAM (Dynamic RAM) is lost when power supply to the cache memory is cut off. That is, the non-volatile memory 22 is suitable for storing data for a long time unlike the cache memory. Therefore, in the present embodiment, the nonvolatile memory 22 is used to store data that does not exist on the disk 11. The nonvolatile memory 22 is also used for storing a part of data existing on the disk 11 in the same manner as the cache memory in order to improve the access speed.

HDC19は、HDDと当該HDDを利用するパーソナルコンピュータのようなホストとのインターフェースを構成する。HDC19は、ホストから転送されたユーザデータをデータセクタに対応する一定サイズに分割し、分割されたユーザデータを符号化してライトチャネル17に送出する機能を有する。HDC19はまた、不揮発性メモリ22へのアクセスを実行する。このアクセスの制御、特に不揮発性メモリ22にどのようにデータを記憶させるかの制御は、ROM21に格納されている制御プログラムに従いCPU20によって実行される。   The HDC 19 constitutes an interface between the HDD and a host such as a personal computer using the HDD. The HDC 19 has a function of dividing the user data transferred from the host into a predetermined size corresponding to the data sector, encoding the divided user data, and sending it to the write channel 17. The HDC 19 also performs access to the nonvolatile memory 22. This access control, in particular the control of how data is stored in the nonvolatile memory 22, is executed by the CPU 20 in accordance with a control program stored in the ROM 21.

CPU20は、ROM21に格納されている制御プログラムを実行することにより、HDDの主コントローラとして機能する。例えばCPU20は、リード/ライトチャネル17によって検出されたサーボ情報に基づき、ヘッド12を目標トラックに移動するためのシーク制御と当該ヘッド12を目標トラックの目標位置に位置付ける位置決め制御とを行う。CPU20はまた、HDC19による不揮発性メモリ22へのアクセス、例えば不揮発性メモリ22にHDC19によりどのようにデータを記憶させるかを制御する。   The CPU 20 functions as a main controller of the HDD by executing a control program stored in the ROM 21. For example, the CPU 20 performs seek control for moving the head 12 to the target track and positioning control for positioning the head 12 at the target position of the target track based on the servo information detected by the read / write channel 17. The CPU 20 also controls access to the nonvolatile memory 22 by the HDC 19, for example, how data is stored in the nonvolatile memory 22 by the HDC 19.

不揮発性メモリ22は、データを長期間安定して保持するという点において、ディスク11に比べて信頼性が低い。そこで本実施形態では、少なくとも不揮発性メモリ22のみに記憶されているデータを適宜ディスク11のバックアップ領域111にバックアップすることによって、当該不揮発性メモリ22の弱点を補うようにしている。このバックアップ処理は、ROM21に格納されている制御プログラムに基づき、CPU20によって実行される。以下、このバックアップ処理について、図2のフローチャートを参照して説明する。   The nonvolatile memory 22 is less reliable than the disk 11 in that the nonvolatile memory 22 holds data stably for a long period of time. Therefore, in the present embodiment, at least data stored only in the nonvolatile memory 22 is appropriately backed up to the backup area 111 of the disk 11 to compensate for the weak point of the nonvolatile memory 22. This backup process is executed by the CPU 20 based on a control program stored in the ROM 21. Hereinafter, this backup processing will be described with reference to the flowchart of FIG.

CPU20は、ホストからHDDに与えられるアクセスコマンドを監視することによりアクセスの頻度を監視して、当該アクセス頻度が一定レベルより低くなった時点で(ステップS1)、バックアップ動作を開始する。ここでは、ホストから最も最近にアクセスコマンドが送出されてから一定時間を経過しても次のアクセスコマンドが送出されない場合に、アクセス頻度が低いと判定される。   The CPU 20 monitors the access frequency by monitoring the access command given from the host to the HDD, and starts the backup operation when the access frequency becomes lower than a certain level (step S1). Here, it is determined that the access frequency is low when the next access command is not transmitted even after a predetermined time has elapsed since the most recent access command was transmitted from the host.

本実施形態において、バックアップ動作を開始する条件は、従来から知られているセルフテスト動作(自己診断動作)を開始する条件と同一であるものとする。ここでは、上述のようにアクセス頻度が低いと判定された時点、つまり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 CPU 20 extracts data stored only in the nonvolatile memory 22 using the HDC 19 (step S2). In the present embodiment, a nonvolatile memory management table 130 (see FIG. 13), which will be described in detail later, is used to manage data stored in the nonvolatile memory 22. In the management table 130, the data (state (1) data) stored only in the non-volatile memory 22, or the data (state (state (1)) stored not only in the non-volatile memory 22 but also in the disk 11. Management information (entry information) indicating at least whether the data is any one of 2) to (4). The states (1) to (4) will be described later.

不揮発性メモリ22に記憶されているデータがディスク11にも記憶されている場合、当該不揮発性メモリ22に記憶されているデータは、当該不揮発性メモリ22の領域を有効に使用するために、必要に応じて新しいデータで上書きされても構わない。これに対し、不揮発性メモリ22にのみ記憶されているデータは、他のデータで上書きされないように管理される必要がある。そこで、不揮発性メモリ22にのみ記憶されているデータは、後述するように不揮発性メモリ管理テーブル130によって他のデータと識別される。したがって、この不揮発性メモリ管理テーブル130を参照することにより、不揮発性メモリ22にのみ記憶されているデータを抽出できる。不揮発性メモリ管理テーブル130は、不揮発性メモリ22内の特定領域または当該不揮発性メモリ22から独立して設けられた別の不揮発性メモリに格納されるものとする。   When the data stored in the nonvolatile memory 22 is also stored in the disk 11, the data stored in the nonvolatile memory 22 is necessary for effectively using the area of the nonvolatile memory 22. Depending on, it may be overwritten with new data. On the other hand, data stored only in the nonvolatile memory 22 needs to be managed so as not to be overwritten with other data. Therefore, data stored only in the nonvolatile memory 22 is identified from other data by the nonvolatile memory management table 130 as described later. Therefore, data stored only in the nonvolatile memory 22 can be extracted by referring to the nonvolatile memory management table 130. The nonvolatile memory management table 130 is stored in a specific area in the nonvolatile memory 22 or another nonvolatile memory provided independently of the nonvolatile memory 22.

CPU20は、バックアップ領域(特定領域)操作手段として機能して、抽出されたデータを(バックアップ対象データとして)HDC19を用いてディスク11上のバックアップ領域111にコピーするための、当該バックアップ領域111に対するデータのライトを含む操作を制御する(ステップS3)。これにより、不揮発性メモリ22からバックアップ領域111へのデータのバックアップが完了する。   The CPU 20 functions as a backup area (specific area) operation means, and copies the extracted data (as backup target data) to the backup area 111 on the disk 11 using the HDC 19. The operation including this light is controlled (step S3). Thereby, the backup of data from the nonvolatile memory 22 to the backup area 111 is completed.

するとCPU20は、不揮発性メモリ22からバックアップ領域111へのデータのバックアップ完了を当該データに対応付けて不揮発性メモリ管理テーブル130に登録する(ステップS4)。このバックアップ完了が、ディスク11(ディスク11のバックアップ領域111)に記憶されているデータを管理する管理テーブルに登録されても構わない。つまり、バックアップ完了(バックアップ済み)を示す印(マーク)が、不揮発性メモリ22またはディスク11のどちらか一方のデータに対応付けて付されていれば良い。この印が、不揮発性メモリ22またはディスク11のどちらか一方のデータ自体に付されていても良い。しかし、上記印が、不揮発性メモリ22及びディスク11の両方のデータに対応付けて付される構成を適用する方が安全である。但し本実施形態では説明の簡略化のために、上記印は揮発性メモリ22のデータに対応付けて付加される。   Then, the CPU 20 registers the completion of data backup from the nonvolatile memory 22 to the backup area 111 in association with the data in the nonvolatile memory management table 130 (step S4). This backup completion may be registered in a management table for managing data stored in the disk 11 (the backup area 111 of the disk 11). That is, it is only necessary that a mark indicating the completion of backup (backed up) is attached in association with data in either the nonvolatile memory 22 or the disk 11. This mark may be attached to the data itself of either the nonvolatile memory 22 or the disk 11. However, it is safer to apply a configuration in which the above mark is attached in association with the data of both the nonvolatile memory 22 and the disk 11. However, in the present embodiment, the mark is added in association with the data in the volatile memory 22 for simplification of description.

また、バックアップ動作を開始する条件(バックアップ動作の開始タイミング)は、上述の例に限らない。例えば、一定時間間隔で定期的にバックアップ動作が開始されても良い。また、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 CPU 20 monitors an access command from the host and determines that the amount of data written to the nonvolatile memory 22 exceeds a certain value, the backup operation may be started. Further, if a command for specifying backup is given from the host, the backup operation may be started. Further, if data called “Pinned Set Data” (first data) is written to the nonvolatile memory 22, a backup operation of the data may be started. The reason is that “Pinned Set Data” is basically data that is not flushed to the disk 11 as will be described later.

次に、本実施形態におけるデータリード動作について、図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 CPU 20 determines whether the requested data exists in the nonvolatile memory 22 (step S11).

もし、要求されたデータが不揮発性メモリ22に存在するならば、つまり不揮発性メモリ22にヒットしたならば、CPU20は当該データを不揮発性メモリ22からリードするリード処理を実行する(ステップS12)。このようにヒット時には、要求されたデータをディスク11からリードする場合に比べて、当該データを高速にリードすることができる。リードされたデータは、HDC19によってホストに転送される。   If the requested data exists in the nonvolatile memory 22, that is, if the nonvolatile memory 22 is hit, the CPU 20 executes a read process for reading the data from the nonvolatile memory 22 (step S12). In this way, at the time of a hit, the data can be read at a higher speed than when the requested data is read from the disk 11. The read data is transferred to the host by the HDC 19.

これに対し、要求されたデータが不揮発性メモリ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 CPU 20 changes the requested data to the original area (data) on the disk 11 specified by the request from the host. Read from sector) (step S13). As is well known, this data read is executed by the CPU 20 controlling the motor driver 16, the read / write channel 17 and the HDC 19.

次に、不揮発性メモリ22からデータをリードするリード処理(ステップS12)の詳細について、図4のフローチャートを参照して説明する。まず、CPU20は第1のリード手段として機能して、不揮発性メモリ22からデータをリードする(ステップS21)。次にCPU20は、リードされたデータが正常であるかを判定する(ステップS22)。不揮発性メモリ22に記憶されるデータには、例えばエラー検出コードが付されるのが一般的である。そこで、データ及びエラー検出コードに基づき、当該データが正常であるかが判定される。   Next, details of the read process (step S12) for reading data from the nonvolatile memory 22 will be described with reference to the flowchart of FIG. First, the CPU 20 functions as a first reading unit and reads data from the nonvolatile memory 22 (step S21). Next, the CPU 20 determines whether the read data is normal (step S22). For example, an error detection code is generally attached to data stored in the nonvolatile memory 22. Therefore, it is determined whether the data is normal based on the data and the error detection code.

CPU20は、リードされたデータが正常であるならば(ステップS22)、当該データをHDC19によってホストに転送させてリード処理を終了する。これに対し、リードされたデータが正常でないならば、CPU20は、不揮発性メモリ管理テーブル130(図13参照)を参照することにより、当該データに対応付けてバックアップ完了(を示す印)が登録されているかをチェックする(ステップS23)。そしてCPU20は、このチェックの結果、要求されたデータがディスク11上にバックアップ済みであるかにより、バックアップされたデータを利用できるかを判定する(ステップS24)。   If the read data is normal (step S22), the CPU 20 causes the HDC 19 to transfer the data to the host and ends the read process. On the other hand, if the read data is not normal, the CPU 20 refers to the non-volatile memory management table 130 (see FIG. 13) to register the backup completion (mark indicating this) in association with the data. Is checked (step S23). As a result of this check, the CPU 20 determines whether the backed up data can be used based on whether the requested data has been backed up on the disk 11 (step S24).

もし、バックアップ済みならば、不揮発性メモリ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 nonvolatile memory 22. In this case, the CPU 20 functions as a second reading unit, and reads backup data corresponding to the abnormal data read from the nonvolatile memory 22 from the backup area 111 of the disk 11 (step S25). The read backup data is transferred to the host by the HDC 19 instead of the data read from the nonvolatile memory 22.

するとCPU20は、先にデータがリードされた不揮発性メモリ22の領域(該当領域)が正常にライト/リードできるかをテストする(ステップS26)。もし、不揮発性メモリ22の該当領域が正常にライト/リードできるならば、つまり不揮発性メモリ22が正常ならば(ステップS27)、ステップS28に進む。このステップS28において、CPU20は復旧手段として機能して、リードされたバックアップデータを不揮発性メモリ22の該当領域に上書きすることにより、その領域の正常でないデータを正常なデータに復旧する(ステップS28)。これによりCPU20はリード処理を終了する。これに対し、不揮発性メモリ22が正常でないならば、CPU20は、今後不揮発性メモリ22の該当領域を使わないように、当該領域をディフェクトとして登録して(ステップS29)、リード処理を終了する。   Then, the CPU 20 tests whether the area (corresponding area) of the nonvolatile memory 22 from which data has been read can be normally written / read (step S26). If the corresponding area of the nonvolatile memory 22 can be normally written / read, that is, if the nonvolatile memory 22 is normal (step S27), the process proceeds to step S28. In this step S28, the CPU 20 functions as a recovery means, and overwrites the read backup data in the corresponding area of the nonvolatile memory 22, thereby recovering the abnormal data in that area to normal data (step S28). . As a result, the CPU 20 ends the read process. On the other hand, if the nonvolatile memory 22 is not normal, the CPU 20 registers the area as a defect so as not to use the corresponding area of the nonvolatile memory 22 in the future (step S29), and ends the read process.

一方、要求されたデータがディスク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 disk 11 and therefore backup data cannot be used in place of the read abnormal data (step S24), the CPU 20 reads the requested data (ie, read). It is determined whether the data to be present is data that exists only in the nonvolatile memory 22 (step S30). If the requested data exists also in the area on the disk 11 where the data is to be stored, the CPU 20 reads the data stored in the area on the disk 11 (step S31). Thereafter, the process proceeds to step S26. On the other hand, if the requested data does not exist in the area on the disk 11 where the data is to be stored, that is, the data exists only in the nonvolatile memory 22 (step S30), the CPU 20 If the read has failed, the HDC 19 notifies the host of an error (step S32), and the read process ends.

次に、本実施形態におけるデータライト動作について、図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 CPU 20 has data in the nonvolatile memory 22 having the same logical block address LBA and size as the data to be written specified by the write command, that is, the data to be written hits the nonvolatile memory 22. Is determined (step S41).

もし、不揮発性メモリ22にヒットしなかったなら、CPU20は、不揮発性メモリ22内にデータをライトするのに必要な空きがあるかを判定する(ステップS42)。もし、不揮発性メモリ22内に空き(空き領域)があるならば、CPU20はステップS43に進む。一方、不揮発性メモリ22にヒットしたならば(ステップS41)、CPU20はステップS42をスキップしてステップS43に進む。   If the nonvolatile memory 22 is not hit, the CPU 20 determines whether there is a space necessary for writing data in the nonvolatile memory 22 (step S42). If there is a vacancy (empty area) in the nonvolatile memory 22, the CPU 20 proceeds to step S43. On the other hand, if the nonvolatile memory 22 is hit (step S41), the CPU 20 skips step S42 and proceeds to step S43.

ステップS43においてCPU20は、不揮発性メモリ22の空き領域またはヒットした領域にデータをライトするに際し、不揮発性メモリ管理テーブル130上で当該領域のデータに対応付けられているバックアップ完了の登録をクリア(解除)する。このクリア処理(ステップS43)の後に、CPU20は要求されたデータを不揮発性メモリ22にライトして(ステップS44)、データライト動作を終了する。クリア処理(ステップS43)は、不揮発性メモリ22内のデータが更新されると、そのデータに対応するディスク11上のバックアップの内容が無効になることを考慮して行われる。   In step S43, the CPU 20 clears (cancels) the backup completion registration associated with the data of the area on the nonvolatile memory management table 130 when writing the data to the empty area or the hit area of the nonvolatile memory 22. ) After this clear process (step S43), the CPU 20 writes the requested data to the nonvolatile memory 22 (step S44), and the data write operation is terminated. The clear process (step S43) is performed in consideration that when the data in the nonvolatile memory 22 is updated, the backup content on the disk 11 corresponding to the data becomes invalid.

一方、不揮発性メモリ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 CPU 20 converts the data requested by the host into an area (data sector) on the disk 11 to which the data is to be originally written. (Step S45), and the data write operation is terminated. In the following description, for the sake of simplicity, an area (data sector) on the disk 11 to which data is originally written is expressed as an original area on the disk 11 or an original sector on the disk 11. When there is no free space in the non-volatile memory 22, for example, the data (old data) in the area of the non-volatile memory 22 having a size sufficient to write the data requested by the host is transferred to the original data on the disk 11. An empty area may be secured in the nonvolatile memory 22 by writing back (flashing) the area (sector). In addition, as will be described later, the operation for securing the free space in the nonvolatile memory 22 is performed in accordance with an explicit command from the host or independently of the execution of the read / write command, for example, periodically. , May be performed by the CPU 20 (control).

[第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 nonvolatile memory 22 is backed up (copied) to the backup area 111 of the disk 11. A feature of the first modification is that all data stored in the nonvolatile memory 22 is backed up.

図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 nonvolatile memory 22 is stored on the disk 11. The backup area 111 is backed up (copied) (step S52).

するとCPU20は、上記実施形態と同様に、不揮発性メモリ22からバックアップ領域111へのデータのバックアップ完了を当該データに対応付けて不揮発性メモリ管理テーブル130に登録する(ステップS53)。この第1の変形例では、不揮発性メモリ22からのバックアップされるべきデータの抽出(図2のステップS2)が不要となるものの、データコピーにかかる時間は増大する。   Then, as in the above embodiment, the CPU 20 registers the completion of data backup from the nonvolatile memory 22 to the backup area 111 in the nonvolatile memory management table 130 in association with the data (step S53). In the first modified example, extraction of data to be backed up from the nonvolatile memory 22 (step S2 in FIG. 2) is unnecessary, but the time required for data copy increases.

[第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 nonvolatile memory 22 and data writing for writing the read data to the backup area 111 of the disk 11. . For this reason, the backup process takes time. In particular, in the first modified example, since all data stored in the nonvolatile memory 22 is backed up, it takes a long time to complete the backup (copy). Further, when a disk access is requested from the host during the backup processing period, execution of the requested access is waited for a long time. Therefore, a feature of the second modification is that not all data stored in the nonvolatile memory 22 is copied continuously, but is copied in a plurality of times. In this way, by performing the copy operation in a plurality of times and shortening the time required for one copy operation, it is possible to prevent the response to the host from being impaired.

図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 nonvolatile memory 22 is divided into a plurality of copying operations and is backed up in the backup area 111 of the disk 11. The area of the non-volatile memory 22 to be subjected to the copy operation is limited to a relatively small part of the non-volatile memory 22. Therefore, in the second modification, when the frequency of access from the host to the HDD becomes low (step S61), only a part of the data stored in the nonvolatile memory 22 is copied to the backup area 111 on the disk 11. An operation is performed (step S62). Then, the CPU 20 registers the completion of data backup from the nonvolatile memory 22 to the backup area 111 in association with the data in the nonvolatile memory management table 130 (step S63).

次にCPU20は、1回のコピー動作の期間にホストからHDDへのアクセスが要求されたかを判定する(ステップS64)。もし、ホストからアクセスが要求されていたならば(ステップS64)、CPU20は当該要求の実行を優先させるためにバックアップ動作を即座に終了する。これにより、コピー動作のためにホストからのアクセスが長時間待たされるのを防止できる。   Next, the CPU 20 determines whether or not access from the host to the HDD is requested during one copy operation (step S64). If access is requested from the host (step S64), the CPU 20 immediately ends the backup operation in order to prioritize execution of the request. As a result, it is possible to prevent the host from waiting for a long time for the copy operation.

一方、ホストからアクセスが要求されておらず(ステップ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 nonvolatile memory 22 is not completed, the CPU 20 stores another part of the data stored in the nonvolatile memory 22. A copy operation for copying to the backup area 111 on the disk 11 is performed (step S62). As described above, the CPU 20 divides the data stored in the nonvolatile memory 22 into several pieces of data, and executes a copy operation in units of a small amount of data. Thereby, in the second modified example, it is possible to prevent the response to the host from being damaged due to the backup process.

[第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 nonvolatile memory 22 is limited. For this reason, it is preferable that old data stored in the nonvolatile memory 22 is written to an original area on the disk 11 and the nonvolatile memory 22 in which the data is stored is released as a free area. This makes it possible to write other data to the released area. When the nonvolatile memory 22 is used in this way, old data stored in the nonvolatile memory 22 is always overwritten with other data. If it is necessary to temporarily write large data to the non-volatile memory 22, the old data on the non-volatile memory 22 is distributed and written to the original area on the disk 11.

図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 nonvolatile memory 22 is data A, B, and C, the data A, B, and C are written in a distributed manner in the original area on the disk 11 (arrangement). An example of the state is shown. In such a state, when data A, B, and C are needed again and an attempt is made to return them to the non-volatile memory 22, it takes a long time to read the data A, B, and C from the disk 11.

そこで、第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 nonvolatile memory 22 to the original area on the disk 11, the data is stored in a specific area (second specific area) on the disk 11. Thus, the data is read from the disk 11 and returned to the nonvolatile memory 22 to speed up the operation. The writing of data to the second specific area on the disk 11 is performed, for example, in order to temporarily make the area in the nonvolatile memory 22 where the data is stored empty. In this respect, the operation of writing (moving) data to the second specific area on the disk 11 is the backup operation in the above embodiment, that is, the data in the nonvolatile memory 22 is transferred to the backup area (first specific area) on the disk 11. This is different from the backup operation of writing to (area) 111.

また、上記実施形態におけるバックアップ動作は自動的に行われる。これに対し、第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 nonvolatile memory 22 due to some request from the host, the old memory of the nonvolatile memory 22 is used as a “trigger”. An operation of writing (moving) data on the disk 1 is performed. The operation of writing the data of the nonvolatile memory 22 to the disk 11 (the second specific area on the upper side) applied in the third modification is a backup operation in a broad sense. Different. Therefore, in the second modification, in order to distinguish from the “backup operation” in the above embodiment, the operation of moving the data in the nonvolatile memory 22 to the disk 11 is referred to as the “extended area operation”. The “second specific area” on the disk 11 to which data is written is called an “extended area”. Details of the conditions that trigger the extended area operation will be described later.

バックアップ領域(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 disk 11 in the third modification. In FIG. 9, the backup area 111 is omitted. In the example of FIG. 9, the extended area 112 is arranged on the outer periphery of the disk 11, but is not limited to this. In the example of FIG. 9, unlike in FIG. 8, data A, B, and C exist together in the extended area 112 of the disk 11. Therefore, when it becomes necessary to read the data A, B, and C from the disk 11 in order to return the data A, B, and C to the nonvolatile memory 22, the seek time can be shortened unlike FIG. That is, the data A, B, and C can be read from the disk 11 at high speed and returned to the nonvolatile memory 22.

次に、上述のような「トリガ」が発生した場合に実行される、不揮発性メモリ22から拡張領域112へのデータ書き出し動作(拡張領域動作)について、図10のフローチャートを参照して説明する。   Next, a data write operation (extended region operation) from the nonvolatile memory 22 to the extended region 112, which is executed when the “trigger” as described above occurs, will be described with reference to the flowchart of FIG.

まず、CPU20は、不揮発性メモリ22からディスク11上の拡張領域112への書き出し(移動)の対象となるデータが、当該拡張領域112に既に書き出されているデータであるかを判定する(ステップS71)。もし、書き出しの対象となるデータが、既に拡張領域112に書き出されている場合には、CPU20は処理を終了する。   First, the CPU 20 determines whether the data to be written (moved) from the nonvolatile memory 22 to the extended area 112 on the disk 11 is data that has already been written to the extended area 112 (step). S71). If the data to be written has already been written in the extended area 112, the CPU 20 ends the process.

これに対し、書き出しの対象となるデータがディスク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 disk 11, the CPU 20 needs a free space (empty space required for writing the data from the nonvolatile memory 22 to the extended area 112. It is determined whether or not (region) is within the expanded region 112 (step S72). If there is no necessary free area in the extended area 112, the CPU 20 copies the data in the extended area 112 (data in the area where the free area should be secured) to the original area (sector) on the disk 11. (Step S73). As a result, the area in the extended area 112 where the copied data is stored can be secured as a free area necessary for writing data to the extended area 112.

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 CPU 20 writes the data stored in the nonvolatile memory 22 to the expansion area 112 while rearranging the data in the order of the address of the data (logical block address LBA) ( Step S74). In the third modified example, the writing of data from the nonvolatile memory 22 to the expansion area 112 is data movement. That is, the CPU 20 functions as an extended area (specific area) operation means, and performs an operation including writing of the data to the extended area 112 to move the data stored in the nonvolatile memory 22 to the extended area 112. Do. As a result, the area of the nonvolatile memory 22 in which the data written (moved) in the extended area 112 is stored is released. That is, an empty area is secured in the nonvolatile memory 22.

一方、拡張領域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 CPU 20 skips step S73 and proceeds to step S74. In step S74, as described above, the CPU 20 writes the data in the nonvolatile memory 22 into the free area of the expansion area 112 while rearranging the data in the order of the addresses of the data (logical block address LBA).

ここで、アドレス順の並び替えは必ずしも必要でない。しかし、データリード時に、目的データが、不揮発性メモリ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 nonvolatile memory 22 but is present in the extended area 112 and there is no free space in the nonvolatile memory 22, the data in the extended area 112 is stored as described later. Directly lead. For this reason, considering the data read from the expansion area 112, rearranging is more advantageous in terms of processing speed.

CPU20は不揮発性メモリ22から拡張領域112へのデータの書き出し(移動)を実行すると(ステップS74)、そのデータを管理するための管理情報を拡張領域112へのデータ書き出し後の状態を表すように更新する(ステップS75)。この管理情報は、上記実施形態と異なって、後述するように、不揮発性メモリ管理テーブル150(図15参照)に保持されている。   When the CPU 20 writes (moves) data from the nonvolatile memory 22 to the extension area 112 (step S74), the management information for managing the data indicates the state after the data is written to the extension area 112. Update (step S75). Unlike the above-described embodiment, this management information is held in a nonvolatile memory management table 150 (see FIG. 15) as will be described later.

次に、第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 CPU 20 determines whether the requested data exists in the nonvolatile memory 22 (that is, hits) (step S81).

要求されたデータが不揮発性メモリ22に存在するヒット時には(ステップS81)、CPU20は上記実施形態におけるステップS12と同様に、当該データを不揮発性メモリ22からリードするリード処理を実行して(ステップS82)、データリード動作を終了する。リードされたデータはHDC19によってホストに転送される。   When the requested data is hit in the non-volatile memory 22 (step S81), the CPU 20 executes a read process for reading the data from the non-volatile memory 22 (step S82), similarly to step S12 in the above embodiment. ), The data read operation is terminated. The read data is transferred to the host by the HDC 19.

これに対し、要求されたデータが不揮発性メモリ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 CPU 20 determines whether the data exists in the extended area 112 on the disk 11 (step S83). If the requested data exists in the extension area 112 on the disk 11, that is, if the extension area 112 is hit, the CPU 20 proceeds to step S84. Here, the state (specific state) in which the requested data does not exist in the nonvolatile memory 22 but exists in the extended area 112 means the following. That is, in this specific state, for example, since the data movement from the nonvolatile memory 22 to the extension area 112 is performed in step S74, the requested data is also moved to the extension area 112 and remains in the nonvolatile memory 22. Means not.

さて、ステップ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 CPU 20 determines whether or not there is a space necessary for copying the read data to the nonvolatile memory 22. judge. If there is no necessary space in the non-volatile memory 22, the CPU 20 reads the requested data from the extended area 112 on the disk 11 (step S85) and ends the data read operation. Data read from the extension area 112 is transferred to the host by the HDC 19.

これに対し、不揮発性メモリ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 CPU 20 functions as a copy unit, and copies the data in the expansion area 112 to the space area in the nonvolatile memory 22 ( Step S86). Then, the CPU 20 functions as a read unit, reads the data copied to the nonvolatile memory 22 from the nonvolatile memory 22 (step S82), and ends the data read operation. Data read from the nonvolatile memory 22 is transferred to the host by the HDC 19.

一方、要求されたデータがディスク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 CPU 20 transfers the requested data to the original area on the disk 11 specified by the request from the host ( (Sector) is read (step S87), and the data read operation is terminated. The read data is transferred to the host by the HDC 19.

次に、第3の変形例で適用される、不揮発性メモリ22から拡張領域112にデータを移動する動作(拡張領域動作)を含むデータライト動作について、図12のフローチャートを参照して説明する。   Next, a data write operation including an operation of moving data from the nonvolatile memory 22 to the extended area 112 (extended area operation) applied in the third modification will be described with reference to the flowchart of FIG.

今、ホストから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 CPU 20 has data in the nonvolatile memory 22 having the same logical block address LBA and size as the data to be written specified by the write command, that is, the data to be written hits the nonvolatile memory 22. Is determined (step S91).

もし、不揮発性メモリ22にヒットしなかったなら、CPU20は、上記ライトされるべきデータと論理ブロックアドレスLBA及びサイズが同一のデータがディスク11上の拡張領域112に存在するか、つまりライトされるべきデータが拡張領域112にヒットするかを判定する(ステップS92)。もし、拡張領域112にヒットしなかったなら、つまり不揮発性メモリ22及び拡張領域112のいずれにもヒットしなかったなら、CPU20は、不揮発性メモリ22内にデータをライトするのに必要な空きがあるかを判定する(ステップS93)。   If the nonvolatile memory 22 is not hit, the CPU 20 determines whether data having the same logical block address LBA and size as the data to be written exists in the extended area 112 on the disk 11, that is, written. It is determined whether the data to be hit hits the extended area 112 (step S92). If the extension area 112 is not hit, that is, if neither the nonvolatile memory 22 nor the extension area 112 is hit, the CPU 20 has a free space necessary for writing data in the nonvolatile memory 22. It is determined whether or not there is (step S93).

ここで、不揮発性メモリ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 CPU 20 performs the same processing as in the above embodiment, that is, processing corresponding to steps S43 and S44 in FIG. 5 (step S94). And S95). Even when the nonvolatile memory 22 is hit (step S91), the CPU 20 executes processing (steps S94 and S95) corresponding to steps S43 and S44 of FIG.

一方、拡張領域112にヒットしたならば、CPU20は要求されたデータ(新しいデータ)を拡張領域112にライトする動作、つまり拡張領域112の古いデータを当該新しいデータに更新する動作を行う(ステップS96)。   On the other hand, if the extension area 112 is hit, the CPU 20 performs an operation of writing the requested data (new data) to the extension area 112, that is, an operation of updating old data in the extension area 112 to the new data (step S96). ).

また、不揮発性メモリ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 CPU 20 determines whether there is a free space in the expansion area 112 (step S93). Step S97). The “space” in the extension area 112 is to move data of a size corresponding to the necessary space from the nonvolatile memory 22 to the extension area 112 in order to secure the necessary space in the nonvolatile memory 22. It is necessary space.

もし、拡張領域112に空きがないならば(ステップS97)、CPU20は当該拡張領域112内に空きを確保するのに必要な、当該拡張領域112の一部のデータ(古いデータ)をディスク11上の本来の領域(セクタ)にコピーする(ステップS98)。これにより、不揮発性メモリ22から拡張領域112にデータを移動する(書き出す)のに必要な空きが当該拡張領域112内に確保される。   If there is no free space in the extended area 112 (step S97), the CPU 20 stores some data (old data) in the extended area 112 necessary for securing free space in the extended area 112 on the disk 11. Is copied to the original area (sector) (step S98). As a result, a space necessary for moving (writing) data from the nonvolatile memory 22 to the extended area 112 is secured in the extended area 112.

CPU20は、拡張領域112内に必要な空き(空き領域)が確保されると、不揮発性メモリ22の一部のデータ(古いデータ)を、当該データのアドレス(論理ブロックアドレスLBA)順に並び替えながら当該拡張領域112の空き領域に移動する(ステップS99)。このデータ移動により、拡張領域112に移動されたデータが記憶されていた不揮発性メモリ22の領域は開放される。つまり不揮発性メモリ22内に空き領域が確保される。   When the necessary space (free space) is secured in the expansion area 112, the CPU 20 rearranges a part of the data (old data) in the nonvolatile memory 22 in the order of the address (logical block address LBA) of the data. It moves to a free area of the extended area 112 (step S99). By this data movement, the area of the nonvolatile memory 22 in which the data moved to the expansion area 112 is stored is released. That is, an empty area is secured in the nonvolatile memory 22.

一方、拡張領域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 CPU 20 skips step S98 and proceeds to step S99 to transfer some old data in the nonvolatile memory 22 to the extended area 112. Move to free space.

このように第3の変形例では、不揮発性メモリ22から拡張領域112へのデータの移動(ステップS99)は、ホストからのライトコマンドで要求されたライトされるべきデータが不揮発性メモリ22及び拡張領域112のいずれにもヒットしなかった場合を「トリガ」として実行される。しかし、拡張領域112へのデータ移動(データ保存)が、後述するように他の条件を「トリガ」として実行されても構わない。   As described above, in the third modified example, the data to be transferred from the nonvolatile memory 22 to the extension area 112 (step S99) is that the data to be written requested by the write command from the host is stored in the nonvolatile memory 22 and the extension memory. A case where none of the areas 112 is hit is executed as a “trigger”. However, data movement (data storage) to the extended area 112 may be executed with another condition as a “trigger” as described later.

ここで、不揮発性メモリ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 nonvolatile memory 22 to the expansion area 112, is not necessarily required. However, as described above, at the time of data reading, if the target data does not exist in the nonvolatile memory 22 but exists in the extended area 112 (step S81 in FIG. 11) and there is no free space in the nonvolatile memory 22 (FIG. 11 step S82), the data in the extension area 112 is directly read (step S85 in FIG. 11). For this reason, considering the data read from the expansion area 112, rearranging is more advantageous in terms of processing speed.

CPU20は不揮発性メモリ22から拡張領域112へのデータの移動を実行すると(ステップS99)、そのデータを管理するための、不揮発性メモリ管理テーブル150(図15参照)に保持されている管理情報を移動後の状態を表すように更新する(ステップS100)。次にCPU20はステップS95に進み、不揮発性メモリ22内の上記確保された空き領域に要求されたデータ(新しいデータ)をライトする。   When the CPU 20 moves the data from the nonvolatile memory 22 to the expansion area 112 (step S99), the management information held in the nonvolatile memory management table 150 (see FIG. 15) for managing the data is stored. Update to represent the state after movement (step S100). Next, the CPU 20 proceeds to step S95, and writes the requested data (new data) to the reserved free space in the nonvolatile memory 22.

[不揮発性メモリ22に記憶されるデータの管理]
次に、上記実施形態で適用される不揮発性メモリ22に記憶されるデータの管理の詳細について説明する。不揮発性メモリ22に記憶されるデータは、第1のデータ及び第2のデータの2種類に分類される。
[Management of data stored in non-volatile memory 22]
Next, details of management of data stored in the nonvolatile memory 22 applied in the above embodiment will be described. Data stored in the nonvolatile memory 22 is classified into two types, first data and second data.

第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 nonvolatile memory 22. The first data is managed using a logical block address LBA indicating an original area (sector) on the disk 11. However, all accesses to the logical block address LBA corresponding to the first data are replaced with accesses to the nonvolatile memory 22.

本実施形態では、第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 nonvolatile memory 22, the area (reserved area) ), A command for reading data from the disk 11 as first data, a command for releasing the reserved area and writing the data of the reserved area to the disk 11 are prepared. For the first data, no disk access occurs without these commands being given from the host.

一方、第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 nonvolatile memory 22 was replaced with a conventional cache memory. The nonvolatile memory 22 is preferentially accessed over the disk 11 like the cache memory. However, a reserved area for the second data is not secured in the nonvolatile memory 22. For this reason, there are cases where there is no data to be read or no free area to be written in the nonvolatile memory 22 for the second data. In such a case, disk access occurs.

本実施形態では、不揮発性メモリ22を上述の第1及び第2のデータを記憶するメモリとして管理すると共にディスク11上のバックアップ領域111を利用したバックアップ動作を管理するために、図13に示す不揮発性メモリ管理テーブル130が用いられる。この管理テーブル130は、キャッシュテーブル131及びメモリリンクテーブル132から構成される。   In the present embodiment, in order to manage the nonvolatile memory 22 as a memory for storing the first and second data described above and to manage the backup operation using the backup area 111 on the disk 11, the nonvolatile memory shown in FIG. The memory management table 130 is used. The management table 130 includes a cache table 131 and a memory link table 132.

キャッシュテーブル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 nonvolatile memory 22 managed by the information, and includes an identification mark, a backed up mark, a disk flushed mark, a start LBA (logical block address), data The size and the start address of the nonvolatile memory 22 are included. The identification mark is flag information indicating whether corresponding data is first data (Pinned Set Data) or second data (Unpinned Data). In FIG. 13, the identification mark indicating the first data is represented by the symbol P, and the identification mark indicating the second data is represented by the symbol U. The start address indicates the address of the start position of the area in the nonvolatile memory 22 where the corresponding data is stored. The backed up mark and the disk flashed mark will be described later.

ここで、開始アドレス(不揮発性メモリ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 nonvolatile memory 22. The information (management information) of this entry relates to the erasable unit area of the nonvolatile memory 22 managed by the information, and the start address of the unit area and the address of the next unit area linked to the unit area ( Next address). It should be noted that the entry information of the memory link table 132 includes the last address instead of the next address when there is no next unit area linked to the unit area managed by the information, that is, in the case of the last unit area. In the case where the unit area managed by the information includes a mark (END) to be used and is not used (empty), an unused mark (UNUSED) is included instead of the next address.

前述したように、ディスク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 disk 11 has the same capacity as the nonvolatile memory 22. Therefore, the backup destination address is assigned in accordance with the address of the nonvolatile memory 22 in order from the head logical block address LBA of the backup area 111. As a result, the address of the nonvolatile memory 22 and the backup destination address are associated with 1: 1, that is, the data is stored in the backup area 111 with the same image as the nonvolatile memory 22. Can be used in common. However, the backup destination address is normally designated by a logical block address LBA of 512 bytes per sector. For this reason, it is necessary to divide the address (byte address) of the nonvolatile memory 22 by 512 and convert it to an LBA represented by the integer part of the result.

ホストから例えばデータリードを指定するコマンド(リードコマンド)が図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 CPU 20 in the HDD has the data requested by the command in the nonvolatile memory 22 as described above. Is determined (step S11 in FIG. 3). This determination is performed as follows using the cache table 131 of the nonvolatile memory management table 130.

まず、ホストからのリードコマンドは、リードされるべきデータの論理空間上の領域の開始位置を示す開始論理ブロックアドレス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 CPU 20 determines whether or not the data having the start logical block address LBA and the data size exists in the nonvolatile memory 22 (that is, whether the nonvolatile memory 22 is hit) by searching the cache table 131.

もし、ヒットした場合、CPU20はキャッシュテーブル131に登録されている開始アドレス(不揮発性メモリ22の開始アドレス)からメモリリンクテーブル132のリンクをたどって、不揮発性メモリ22の該当するアドレスを検索することで、そのアドレスからデータをリードする(図3ステップS12)。これに対し、ヒットしなかった場合には、CPU20はディスク11にアクセスする(図3ステップS13)。   If there is a hit, the CPU 20 follows the link of the memory link table 132 from the start address (start address of the nonvolatile memory 22) registered in the cache table 131 and searches for the corresponding address in the nonvolatile memory 22. Thus, data is read from the address (step S12 in FIG. 3). On the other hand, if there is no hit, the CPU 20 accesses the disk 11 (step S13 in FIG. 3).

また、不揮発性メモリ22内に、ホストからのライトコマンドによって要求されたデータをライトするのに必要な空き領域がない場合(図5ステップS41)、前記したように、当該不揮発性メモリ22のデータ(例えば第2のデータ)をディスク11上の本来の領域(セクタ)に書き戻して(フラッシュして)、その領域を(空き領域として)開放しても良い。この場合、CPU20は、不揮発性メモリ22内の開放された領域にホストから要求されたデータをライトして、不揮発性メモリ管理テーブル130(キャッシュテーブル131及びメモリリンクテーブル132)を書き換えれば良い。但し、不揮発性メモリ22内の第1のデータが記憶されている領域(予約領域)を勝手に開放することは許されない。   If there is no free space in the nonvolatile memory 22 necessary for writing the data requested by the write command from the host (step S41 in FIG. 5), as described above, the data in the nonvolatile memory 22 (For example, the second data) may be written back (flashed) to an original area (sector) on the disk 11 and the area may be released (as a free area). In this case, the CPU 20 may rewrite the nonvolatile memory management table 130 (the cache table 131 and the memory link table 132) by writing the data requested by the host to an open area in the nonvolatile memory 22. However, it is not permitted to open the area (reserved area) where the first data is stored in the nonvolatile memory 22 without permission.

ここで、バックアップ済みマーク及びディスクフラッシュ済みマークについて説明する。図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 nonvolatile memory 22 specified by the corresponding entry information is backed up in the backup area 111 of the disk 11 (backed up) when the symbol ○ X indicates that the data has not been backed up. A disk flashed mark indicates that the corresponding data is written (flashed) to the original area (sector) on the disk 11 (disk flashed) when the symbol is ○, and when the symbol is x , Indicating that the data has not been flushed to the disk 11.

図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 disk 11”. This state (1) is a state in which the corresponding data is stored only in the nonvolatile memory 22 and also indicates that the state should be preferentially backed up. By searching the entry information indicating the state (1) with reference to the cache table 131, data stored only in the nonvolatile memory 22 is extracted (step S2 in FIG. 2), and the data is stored on the disk 11 Backup can be made in the backup area 111 (step S3 in FIG. 2). After the data is backed up, a backed up mark “◯” is attached on the cache table 131 in association with the data (step S4 in FIG. 2). Thereby, as shown in FIG.14 (b), it changes from a state (1) to a state (3).

「×,○」は、対応するデータが「バックアップされていないが、ディスク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 disk 11”. State (2) is basically a state where backup is not required. However, when the entire nonvolatile memory 22 is backed up as in the first modification, the data corresponding to the state (2) is also backed up (step S52 in FIG. 6). After backup, a backed up mark “◯” is attached (step S53 in FIG. 6), and the state (2) is changed to the state (4) as shown in FIG. 14 (b). The data corresponding to the state (2) is already flushed to the original area on the disk 11, but the data is held in the non-volatile memory 22 by reading the data next (that is, This is because, when a read of data having the same LBA and the same size as that data is requested, reading from the nonvolatile memory 22 instead of the disk 11 makes the access faster.

「○,×」は、対応するデータが「バックアップされているが、ディスク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 disk 11”. State (3) is a state that does not need to be flushed if the corresponding data is the first data. The state (3) is basically a state where it is not necessary to flush even when the corresponding data is the second data. However, in the case of the state (3), the CPU 20 may positively flush the corresponding data (second data). If the flash is aimed at the time when the access frequency to the HDD becomes low, the performance degradation caused by the flash can be suppressed. Whether the second data in the state (3) is actively flushed or kept in the nonvolatile memory 22 as much as possible may be properly used as necessary.

「○,○」は、対応するデータが「バックアップされていて、且つディスク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 disk 11”. However, from the viewpoint of data safety, the state (2) or the state (3) is sufficient.

状態(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 nonvolatile memory 22 in any of the states (2) to (4) is requested, the requested data is written to the nonvolatile memory 22 (Steps S41 to S44 in FIG. 5). In this case, as shown in FIG. 14B, each state transits to a state (1) “not backed up and not flushed to the original area (sector) on the disk 11”. On the other hand, when writing of data having the same LBA and the same size as the data of the nonvolatile memory 22 in the state (1) is requested, the requested data is written to the nonvolatile memory 22 (step S41 in FIG. 5). To S44), no state transition occurs as shown in FIG. In the case of a read operation, no state transition occurs in any of the states (1) to (4).

不揮発性メモリ22の空き領域が足りなくなったという要因で、当該不揮発性メモリ22に記憶されている第2のデータがディスク11にフラッシュされる場合、当該データが記憶されていた不揮発性メモリ22内の領域は開放される。このため、このデータを管理している不揮発性メモリ管理テーブル130(に含まれているキャッシュテーブル131及びメモリリンクテーブル132)内の情報は消去される。ここで、キャッシュテーブル131内の対応する情報に既にディスクフラッシュ済みマーク「○」が付いているならば、ディスク11へのデータライト(フラッシュ)は不要である。この場合、不揮発性メモリ管理テーブル130(に含まれているキャッシュテーブル131及びメモリリンクテーブル132)内の該当する情報を消去すれば良い。   When the second data stored in the non-volatile memory 22 is flushed to the disk 11 due to a lack of free space in the non-volatile memory 22, the data in the non-volatile memory 22 in which the data is stored is stored. This area is freed. For this reason, the information in the nonvolatile memory management table 130 (the cache table 131 and the memory link table 132 included therein) managing this data is deleted. Here, if the corresponding information in the cache table 131 is already marked with a disk flush mark “◯”, data write (flash) to the disk 11 is unnecessary. In this case, the corresponding information in the nonvolatile memory management table 130 (the cache table 131 and the memory link table 132 included therein) may be deleted.

次に、バックアップされているデータの利用について、状態(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 nonvolatile memory 22 in any of the states (1) to (4). Therefore, in the data read operation, the read process (step S12 in FIG. 3) for reading the data designated by the management information from the nonvolatile memory 22 is normally performed regardless of any of the states (1) to (4). It ’s fine.

さて、上記リード処理で、不揮発性メモリ22からデータがリードされた場合(図4ステップS21)、当該データが正常であるかが判定される(図4ステップS22)。この、リードされたデータの判定は、当該データに付加されているエラー検出コードを照合することにより行われる。もし、不揮発性メモリ22からリードされたデータが正常でなかった場合には次のような動作が行われる。   When data is read from the nonvolatile memory 22 in the read process (step S21 in FIG. 4), it is determined whether the data is normal (step S22 in FIG. 4). The determination of the read data is performed by checking the error detection code added to the data. If the data read from the nonvolatile memory 22 is not normal, the following operation is performed.

まず、リードされたデータが状態(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 disk 11 exists (step S30 in FIG. 4). What is necessary is just to read (step S31 of FIG. 4).

状態(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 nonvolatile memory 22 is backed up in the backup area 111 on the disk 11 (step S24 in FIG. 4), the backed up data may be read (step S25 in FIG. 4). ). Next, in the state (4), the data in the nonvolatile memory 22 is backed up to the backup area 111 on the disk 11 and flushed to the original area (sector) on the disk 11. In this case, either the backup area 111 or the original area (sector) data may be read. However, it is more advantageous in terms of access speed to read data (backup data) in the backup area 111 (step S25 in FIG. 4). This is because the data in the backup area 111 can be expected to be arranged in a continuous area.

このように、不揮発性メモリ22からリードされたデータが正常でなかった場合でも、状態(2)〜(4)のいずれかであるならば、ディスク11(の本来のセクタまたはバックアップ領域111)から正常なデータをリードすることが可能である。このディスク11からリードされたデータを用いて、不揮発性メモリ22上の対応するデータの修復を試みると良い。その理由は、不揮発性メモリ22の一時的なエラー(ソフトエラー)の場合、ディスク11からリードされたデータを当該不揮発性メモリ22に再ライトすることで、以降は問題なく使用できる場合があるためである。   As described above, even if the data read from the nonvolatile memory 22 is not normal, if the data is in any of the states (2) to (4), the data is read from the disk 11 (the original sector or the backup area 111). It is possible to read normal data. The data read from the disk 11 may be used to try to restore the corresponding data on the nonvolatile memory 22. The reason is that, in the case of a temporary error (soft error) in the nonvolatile memory 22, the data read from the disk 11 may be rewritten to the nonvolatile memory 22 so that it can be used without any problem thereafter. It is.

そこでCPU20は、エラーとなったデータが記憶されていた不揮発性メモリ22の領域にテストデータをライトし、そのライトされたデータをリードするライト/リードテストを行う(図4ステップS26)。もし、ライト/リードテストでエラーが発生しなかったならば(図4ステップS27)、CPU20は、不揮発性メモリ22の上記領域にディスク11からリードされた正常なデータをライトする(図4ステップS28)。   Therefore, the CPU 20 writes the test data to the area of the nonvolatile memory 22 where the error data is stored, and performs a write / read test for reading the written data (step S26 in FIG. 4). If no error has occurred in the write / read test (step S27 in FIG. 4), the CPU 20 writes the normal data read from the disk 11 into the area of the nonvolatile memory 22 (step S28 in FIG. 4). ).

本実施形態において不揮発性メモリ管理テーブル130は、データの整合性を考慮して、不揮発性メモリ22内の特定領域または当該不揮発性メモリ22から独立して設けられた別の不揮発性メモリに格納される。この場合、不揮発性メモリの異常により、不揮発性メモリ管理テーブル130自体を正しく読むことができない状況も発生し得る。   In the present embodiment, the non-volatile memory management table 130 is stored in a specific area in the non-volatile memory 22 or another non-volatile memory provided independently from the non-volatile memory 22 in consideration of data consistency. The In this case, a situation may occur in which the nonvolatile memory management table 130 itself cannot be read correctly due to an abnormality in the nonvolatile memory.

そこで本実施形態では、不揮発性メモリ管理テーブル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 disk 11. Further, in this embodiment, in order to be able to check the abnormality of the nonvolatile memory management table 130 itself, as shown in FIG. 14, the cache table 131 and the memory link table 132 constituting the nonvolatile memory management table 130 are Error detection codes (table error detection codes) 131a and 132a are respectively added.

CPU20は、不揮発性メモリ管理テーブル130を利用する必要のある動作に際して、当該管理テーブル130を構成するキャッシュテーブル131及びメモリリンクテーブル132自体が正常であるかを、それぞれ、エラー検出コード131a及び132aを照合して判定する。なお、不揮発性メモリを用いずに、ディスク11にバックアップされている不揮発性メモリ管理テーブルを、動作時にRAMにコピーして使用することも可能である。   In an operation that needs to use the nonvolatile memory management table 130, the CPU 20 determines whether the cache table 131 and the memory link table 132 constituting the management table 130 are normal by using error detection codes 131a and 132a, respectively. Judge by collating. It is also possible to copy the nonvolatile memory management table backed up to the disk 11 to the RAM during operation without using the nonvolatile memory.

図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 nonvolatile memory 22 applied in the third modification will be described. First, the features of the third modification will be summarized.

上記実施形態(並びに第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 disk 11 is not used as long as no abnormality occurs in the data in the nonvolatile memory 22. However, it can be expected that the data backed up in the backup area 111 on the disk 11 is arranged in a continuous area on the disk 11 as described above. For this reason, accessing the backup area 111 on the disk 11 is faster than accessing the original sector on the disk 11. Further, the capacity of the non-volatile memory 22 is usually very small compared to the disk 11. In consideration of this point, in the third modified example, an extended area 112 as a backup area (second backup area) corresponding to the backup area (first backup area) 111 is provided in a specific area on the disk 11. Assigned. The expansion area 112 is used as an area for expanding the substantial capacity of the nonvolatile memory 22.

第3の変形例では、上記実施形態と異なって、不揮発性メモリ22及びバックアップ動作を管理するだけでなく、ディスク11上の拡張領域112を利用した動作(拡張領域動作)を管理するために、図15に示す不揮発性メモリ管理テーブル150が用いられる。この管理テーブル150は、キャッシュテーブル151、メモリリンクテーブル152及び拡張領域リンクテーブル153から構成される。   In the third modified example, unlike the above embodiment, not only to manage the non-volatile memory 22 and the backup operation, but also to manage the operation using the extended area 112 on the disk 11 (extended area operation) A nonvolatile memory management table 150 shown in FIG. 15 is used. The management table 150 includes a cache table 151, a memory link table 152, and an extended area link table 153.

キャッシュテーブル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 disk 11 when the symbol is ◯, It indicates that the data extension area 112 does not exist.

拡張領域リンクテーブル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 disk 11 in the same image as the nonvolatile memory 22 as described above. On the other hand, in the extended area operation, the data stored in the nonvolatile memory 22 is written to the extended area 112 on the disk 11 while being rearranged in the order of the logical block addresses LBA. That is, in the extended area operation, data is stored in the extended area 112 on the disk 11 as an image different from that of the nonvolatile memory 22. Therefore, in the third modification, an extended area link table 153 is provided separately from the memory link table 152.

図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 nonvolatile memory 22, the backed up mark “◯” is not attached to the data. For this reason, the combination of the extended area use mark, the backed up mark, and the disk flashed mark is “×, ×, ×”, “×, ×, ○”, “×, ○” as shown in FIG. , X ”,“ x, o, o ”,“ o, x, x ”and“ o, x, o ”.

「×,×,×」は、対応するデータが「拡張領域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 disk 11” (state (1)). Indicates.

「×,×,○」は、対応するデータが「拡張領域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 disk 11” (state (2)). Indicates.

「×,○,×」は、対応するデータが「拡張領域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 disk 11”.

「×,○,○」は、対応するデータが「拡張領域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 disk 11”.

「○,×,×」は、対応するデータが「拡張領域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 disk 11” (state (5) ).

「○,×,○」は、対応するデータが「拡張領域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 disk 11”. Show.

状態(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 disk 11. Therefore, when the flash operation is performed in the state (5), the state (5) transitions to the state (6) as shown in FIG.

次に、不揮発性メモリ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 nonvolatile memory 22 to the extended area 112 on the disk 11 will be described. Here, in the extended area operation, in addition to the operation of writing (moving) data from the nonvolatile memory 22 to the extended area 112 on the disk 11, the data in the extended area 112 is transferred to the nonvolatile memory 22 as described later. There is a write back (return) operation.

まず、状態(5)及び(6)では、不揮発性メモリ22のデータが既に拡張領域112に存在する。したがって、状態(5)及び(6)では、不揮発性メモリ22のデータを拡張領域112へ移動することは不要である。   First, in the states (5) and (6), the data in the nonvolatile memory 22 already exists in the extended area 112. Therefore, in the states (5) and (6), it is not necessary to move the data in the nonvolatile memory 22 to the extension area 112.

次に状態(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 nonvolatile memory 22 is moved to the extended area 112 in the state (1), the state transitions to the state (5) as shown in FIG. Conversely, when the data in the extended area 112 is restored to the nonvolatile memory 22 in the state (5), the state transitions to the state (1) as shown in FIG. Next, in the state (3), when the data in the non-volatile memory 22 is moved to the extended area 112, the data does not exist in the non-volatile memory 22, so the backed up mark “◯” is removed (O). To x). As a result, the state (3) transitions to the state (5) as shown in FIG.

同様に、状態(2)において不揮発性メモリ22のデータが拡張領域112へ移動された場合には、図16(b)に示すように状態(6)に遷移する。逆に、状態(6)において拡張領域112のデータが不揮発性メモリ22に復帰された場合には、図16(b)に示すように状態(2)に遷移する。また状態(4)において不揮発性メモリ22のデータが拡張領域112へ移動された場合には、図16(b)に示すように状態(6)に遷移する。   Similarly, when the data in the nonvolatile memory 22 is moved to the extended area 112 in the state (2), the state transitions to the state (6) as shown in FIG. Conversely, when the data in the extended area 112 is restored to the nonvolatile memory 22 in the state (6), the state transitions to the state (2) as shown in FIG. When the data in the nonvolatile memory 22 is moved to the expansion area 112 in the state (4), the state transitions to the state (6) as shown in FIG.

ここで、拡張領域動作が開始されるタイミングについて説明する。第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 nonvolatile memory 22. When a free area having the capacity requested by this command cannot be secured in the nonvolatile memory 22, the extended area operation is started, and some old second data stored in the nonvolatile memory 22 is stored on the disk 11. Moved to the extended area. As a result, an empty area having the requested capacity is secured in the nonvolatile memory 22.

また、ホストから与えられた第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 nonvolatile memory 22 to write the second data requested by the command. When the HDD side (CPU 20) determines that it is being performed, the extended area operation may be started using this as a trigger. In this case, the write command from the host can be regarded as a command that implicitly instructs a data write operation (extended area operation) from the nonvolatile memory 22 to the extended area of the disk 11. By this extended area operation, some old second data stored in the nonvolatile memory 22 is moved to the extended area 112 on the disk 11 (step S99 in FIG. 12). Then, the area of the nonvolatile memory 22 in which the data moved to the expansion area 112 is stored is secured as a free area. In order to reflect this data movement state, the nonvolatile memory management table 150 (the cache table 151, the memory link table 152, and the extended area link table 153 is updated (step S100 in FIG. 12). The data requested by the write command is written into the free space secured in (Step S95 in FIG. 12).

また、不揮発性メモリ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 nonvolatile memory 22 to the extended area 112 on the disk 11 and the first command for saving to the extended area 112 A second command for returning the first data to the nonvolatile memory 22 may be newly provided. The CPU 20 saves / restores the first data when the first / second command is given from the host to the HDD.

ところで、不揮発性メモリ22に記憶されているデータの中に、キャッシュテーブル151によってLBAが不連続でサイズが比較的小さいことが示されているデータ(ランダムデータ)が含まれていることがある。このようなランダムデータを、不揮発性メモリ22からディスク11の本来のセクタにフラッシュすると、再アクセスの際にアクセス位置がランダムアクセス的に分散してしまうのでパフォーマンス的に不利である。そこで、例えば先に述べたように不揮発性メモリ22内に空き領域を確保するために拡張領域動作を実行する際に、このようなランダムデータを優先的に拡張領域112に書き出す(移動する)と良い。このようにすると、本来はランダムデータでありながら、再アクセスの際にまとめてアクセスしてパフォーマンス低下を抑えることが可能となる。   Incidentally, the data stored in the nonvolatile memory 22 may include data (random data) indicated by the cache table 151 that the LBA is discontinuous and the size is relatively small. If such random data is flushed from the non-volatile memory 22 to the original sector of the disk 11, the access positions are randomly accessed during re-access, which is disadvantageous in terms of performance. Therefore, for example, when the extended area operation is executed in order to secure an empty area in the nonvolatile memory 22 as described above, such random data is preferentially written (moved) in the extended area 112. good. In this way, although it is originally random data, it is possible to access it collectively at the time of re-access to suppress the performance degradation.

データのリード時、CPU20はキャッシュテーブル151を参照する。これによりCPU20は、対象となるデータが不揮発性メモリ22に存在するか(図11ステップS81)、或いはディスク11上の拡張領域112に存在するか(図11ステップS83)を判定することができる。第3の変形例では、拡張領域112に存在するデータをリードする場合に、不揮発性メモリ22内に当該データに相当するサイズ以上の空き領域があるならば(図11ステップS84)、当該データが不揮発性メモリ22の空き領域に書き戻される(図11ステップS86)。これにより、同じデータを次回にリードする際のアクセス速度が高速になる。   When reading data, the CPU 20 refers to the cache table 151. Thus, the CPU 20 can determine whether the target data exists in the nonvolatile memory 22 (step S81 in FIG. 11) or exists in the extended area 112 on the disk 11 (step S83 in FIG. 11). In the third modified example, when data existing in the extension area 112 is read, if there is an empty area having a size equal to or larger than the size in the nonvolatile memory 22 (step S84 in FIG. 11), the data is stored. The data is written back to the empty area of the nonvolatile memory 22 (step S86 in FIG. 11). This increases the access speed when the same data is read next time.

不揮発性メモリ22からディスク11上の拡張領域112にデータを移動する(書き出す)際に、当該拡張領域112内に十分な空き領域が確保できない場合(図10ステップS72)には、既に当該拡張領域112に存在する古いデータがディスク11上の本来の領域(セクタ)にコピーされる(図10ステップS73)。ここでは、ディスク11上の本来の領域(セクタ)へのデータライト(図10ステップS73)と当該ディスク11上の拡張領域112へのデータライト(図10ステップS74)とが連続して行われるためHDDのパフォーマンスが低下する。   When moving (writing) data from the non-volatile memory 22 to the extended area 112 on the disk 11, if a sufficient free area cannot be secured in the extended area 112 (step S72 in FIG. 10), the extended area is already stored. The old data existing in 112 is copied to the original area (sector) on the disk 11 (step S73 in FIG. 10). Here, the data write (step S73 in FIG. 10) to the original area (sector) on the disk 11 and the data write (step S74 in FIG. 10) to the extended area 112 on the disk 11 are performed continuously. HDD performance is degraded.

そこで、できる限り拡張領域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 nonvolatile memory 22, the data is written back (step S86 in FIG. 11), and the area in the extended area 112 where the data is stored may be quickly released. Further, the above-described command for instructing the free area or the command for saving the first data to the expansion area 112 may be given from the host to the HDD so that the flash operation is not concentrated. .

第3の変形例では、不揮発性メモリ22のデータを拡張領域112に移動する動作は、当該データを不揮発性メモリ22上で当該データのLBA順に並び替えながら行われる(図10ステップS74)。この場合、拡張領域112内でのデータの配置がLBA順となるため、以降のリードが高速に行える。   In the third modification, the operation of moving the data in the nonvolatile memory 22 to the extension area 112 is performed while rearranging the data in the LBA order of the data on the nonvolatile memory 22 (step S74 in FIG. 10). In this case, since the data is arranged in the extension area 112 in the LBA order, subsequent reads can be performed at high speed.

ここで、不揮発性メモリ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 nonvolatile memory 22 is denoted by reference numeral 151a. It is assumed that the data managed by the management information 151a is not arranged in the LBA order (access order) in the nonvolatile memory 22, as is clear from the contents of the memory link table 152 shown in FIG. Since the nonvolatile memory 22 has high random accessibility, there is no major problem even if the data arrangement in the nonvolatile memory 22 is not changed. However, when data is moved from the non-volatile memory 22 to the extended area 112 on the disk 11, it is advantageous in terms of access speed that the data is arranged on the disk 11 in the order of access.

そこで第3の変形例においてCPU20は、管理情報151aで管理されるデータを不揮発性メモリ22からディスク11上の拡張領域112に移動するのに、当該不揮発性メモリ22に対するアクセス順にデータを拡張領域112にライトする。このアクセス順は、管理情報151a中の開始アドレスで指定されるアドレスを先頭とする、図15のメモリリンクテーブル152によってリンクされるアドレスの順番である。ここでは、図15から明らかなように、000A0000h→00080000h→00100000hの順番で対応するデータが拡張領域112にライトされる。これにより、上記の順番で対応するデータが拡張領域112に連続的に配置される。   Therefore, in the third modification, the CPU 20 moves the data managed by the management information 151 a from the nonvolatile memory 22 to the extended area 112 on the disk 11. Write to. This access order is the order of addresses linked by the memory link table 152 of FIG. 15 starting from the address specified by the start address in the management information 151a. Here, as is apparent from FIG. 15, the corresponding data is written to the extension area 112 in the order of 000A0000h → 0800000h → 00100000h. Thereby, the corresponding data in the above order is continuously arranged in the extension area 112.

上記の順で不揮発性メモリ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 nonvolatile memory 22 to the extension area 112 in the above order, the management information 151a is stored. An entry different from the existing entry is used for convenience and is denoted by reference numeral 151b. In the third modification, the contents of the extended area link table 153 for managing the data moved to the extended area 112 also reflect the data arrangement order in the extended area 112 as shown in FIG. Become.

但し、データリード時の高速化だけを目的とするなら、不揮発性メモリ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 nonvolatile memory 22 to the expansion area 112 is performed separately one by one regardless of the address order (such as 0800000h, 000A0000h, 00100000h). You may go to In short, it is only necessary that the arrangement of data in the expansion area 112 is continuous. That is, it is only necessary that the extended area link table 153 indicates that the data is continuously arranged in the extended area 112. Details of “continuous arrangement” will be described later.

上述したように第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 nonvolatile memory 22 is written and continuously arranged in a limited specific area on the disk 11 called the expansion area 112. For this reason, the extended area 112 on the disk 11 has an aspect similar to that of the nonvolatile memory 22 in terms of access speed due to continuous arrangement of data, in addition to the aspect of “backup (in a broad sense)”. The non-volatile memory 22 has a high access speed but a limited capacity. On the other hand, although the disk 11 has a sufficient capacity, if the data is distributed and arranged on the disk 11, the access speed to the data becomes slow. According to the third modified example, it is possible to perform an operation that complements both of these, and the advantages of using the nonvolatile memory 22 can be further utilized. The same applies to the backup area 111 on the disk 11.

以下、拡張領域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 disk 11 are allocated as the extension area 112. In the figure, the shaded area is an area where data is actually arranged (recorded) in the extended area 112. FIG. 17A shows an example in which data is arranged completely continuously in the extended area 112. The examples of FIGS. 17B and 17C show an example in which data is not arranged completely in the extended area 112 but is continuously arranged. The continuous arrangement refers to an arrangement in which the effect on the access time including the seek time is equivalent to that of the completely continuous arrangement even if there are gaps of several sectors or several cylinders between the data. Specifically, an arrangement in which an access time including a seek time does not exceed a certain time or a certain ratio (that is, a threshold value) with respect to an access time in the case of a completely continuous arrangement is called a continuous arrangement. A continuous arrangement including such an arrangement and a completely continuous arrangement is defined.

これに対して、図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 disk 11 as shown in FIGS. 17 (d) and 17 (e). For this reason, the effect on the access time is almost the same as when there is no gap between data.

上述の拡張領域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.

図1は本発明の一実施形態に係るハイブリッド磁気ディスク装置の構成を示すブロック図。FIG. 1 is a block diagram showing a configuration of a hybrid magnetic disk apparatus according to an embodiment of the present invention. 同実施形態で適用されるバックアップ処理の手順を示すフローチャート。6 is a flowchart showing the procedure of backup processing applied in the embodiment. 同実施形態で適用されるデータリード動作の手順を示すフローチャート。6 is a flowchart showing a procedure of a data read operation applied in the embodiment. 同実施形態で適用される不揮発性メモリからデータをリードするリード処理の手順を示すフローチャート。6 is an exemplary flowchart showing the procedure of a read process for reading data from the nonvolatile memory applied in the embodiment. 同実施形態で適用されるデータライト動作の手順を示すフローチャート。6 is a flowchart showing a procedure of a data write operation applied in the embodiment. 同実施形態の第1の変形例で適用されるバックアップ処理の手順を示すフローチャート。9 is a flowchart showing the procedure of backup processing applied in the first modification of the embodiment. 同実施形態の第2の変形例で適用されるバックアップ処理の手順を示すフローチャート。9 is a flowchart showing the procedure of a backup process applied in the second modification of the embodiment. 同実施形態の第3の変形例を説明するために、不揮発性メモリのデータがディスク上の本来の領域に分散して書き出されている状態を示す図。The figure which shows the state in which the data of the non-volatile memory are distributed and written in the original area | region on a disk in order to demonstrate the 3rd modification of the embodiment. 同実施形態の第3の変形例を説明するために、不揮発性メモリのデータがディスク上の特定の領域ににまとめて書き出されている状態を示す図。The figure which shows the state in which the data of the non-volatile memory were collectively written in the specific area | region on the disk in order to demonstrate the 3rd modification of the embodiment. 上記第3の変形例で適用される不揮発性メモリから拡張領域へのデータ書き出し動作の手順を示すフローチャート。The flowchart which shows the procedure of the data write-in operation | movement from the non-volatile memory applied to the said 3rd modification to an expansion area. 上記第3の変形例で適用されるデータリード動作の手順を示すフローチャート。14 is a flowchart showing a procedure of a data read operation applied in the third modified example. 上記第3の変形例で適用されるデータライト動作の手順を示すフローチャート。14 is a flowchart showing a procedure of a data write operation applied in the third modified example. 同実施形態で適用される不揮発性メモリ管理テーブルのデータ構造例を示す図。The figure which shows the example of a data structure of the non-volatile memory management table applied in the embodiment. 図13に示す不揮発性メモリ管理テーブルに含まれるキャッシュテーブルによって示されるバックアップ済みマーク及びディスクフラッシュ済みマークの全ての組み合わせと、各組み合わせに対応した状態相互間の状態遷移とを示す図。FIG. 14 is a diagram showing all combinations of backed up marks and disk flushed marks indicated by a cache table included in the nonvolatile memory management table shown in FIG. 13 and state transitions between states corresponding to the combinations. 上記第3の変形例で適用される不揮発性メモリ管理テーブルのデータ構造例を示す図。The figure which shows the data structure example of the non-volatile memory management table applied in the said 3rd modification. 図15に示す不揮発性メモリ管理テーブルに含まれるキャッシュテーブルによって示される拡張領域使用マーク、バックアップ済みマーク及びディスクフラッシュ済みマークの全ての組み合わせと、各組み合わせに対応した状態相互間の状態遷移とを示す図。FIG. 15 shows all combinations of the extended area use mark, the backed up mark, and the disk flushed mark indicated by the cache table included in the nonvolatile memory management table shown in FIG. 15, and state transitions between states corresponding to each combination. Figure. 拡張領域112における連続的な配置/連続的でない配置の例を示す図。The figure which shows the example of the continuous arrangement | positioning in the expansion area | region 112 / the arrangement | positioning which is not continuous.

符号の説明Explanation of symbols

11…ディスク、12…ヘッド、19…HDC(ディスクコントローラ)、20…CPU、21…ROM、22…不揮発性メモリ、111…バックアップ領域(特定領域)、112…拡張領域(特定領域)、130,150…不揮発性メモリ管理テーブル、131,151…キャッシュテーブル、132,152…メモリリンクテーブル、1153…拡張領域リンクテーブル。   DESCRIPTION OF SYMBOLS 11 ... Disk, 12 ... Head, 19 ... HDC (disk controller), 20 ... CPU, 21 ... ROM, 22 ... Nonvolatile memory, 111 ... Backup area (specific area), 112 ... Expansion area (specific area), 130, 150: nonvolatile memory management table, 131, 151 ... cache table, 132, 152 ... memory link table, 1153 ... extended area link table.

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記載のハイブリッドディスク記憶装置。   2. The hybrid disk storage device according to claim 1, wherein the specific area operation means continuously arranges data stored in the nonvolatile memory in the specific area of the disk. 前記特定領域操作手段は、前記不揮発性メモリに記憶されているデータを前記ディスクの前記特定領域にライトする際に、当該データが前記ディスクにライトされるべきアドレスの順に当該データを並び替えて前記特定領域にライトすることを特徴とする請求項2記載のハイブリッドディスク記憶装置。   The specific area operating means rearranges the data in the order of addresses at which the data should be written to the disk when writing the data stored in the nonvolatile memory to the specific area of the disk. 3. The hybrid disk storage device according to claim 2, wherein writing is performed in a specific area. 前記ディスクの前記特定領域は、前記不揮発性メモリに記憶されているデータをバックアップするためのバックアップ領域として用いられ、
前記特定領域操作手段は、前記不揮発性メモリに記憶されているデータのうち前記ディスクに記憶されていないデータを少なくとも含むデータをバックアップ対象データとして前記ディスクの前記特定領域にコピーするための、当該特定領域に対する当該バックアップ対象データのライトを含む操作によって、当該バックアップ対象データを前記ディスクの前記特定領域にバックアップする
ことを特徴とする請求項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.
ホストから要求された前記ディスクからリードされるべきデータが前記不揮発性メモリに記憶されている場合、当該不揮発性メモリから目的とするデータをリードする第1のリード手段と、
前記不揮発性メモリからリードされたデータが正常でなく、且つ当該リードされたデータが前記ディスクの前記特定領域にバックアップされている場合に、前記正常でないデータに代えて前記特定領域にバックアップされているデータをリードする第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.
前記正常でない前記不揮発性メモリのデータを、当該データに代えて前記特定領域からリードされたデータで上書きすることにより正常なデータに復旧する復旧手段を更に具備することを特徴とする請求項5記載のハイブリッドディスク記憶装置。   6. The data processing apparatus according to claim 5, further comprising recovery means for recovering normal data by overwriting the abnormal data in the nonvolatile memory with data read from the specific area instead of the data. Hybrid disk storage device. 前記ディスクの前記特定領域は、前記不揮発性メモリの容量を拡張するための拡張領域として用いられ、
前記特定領域操作手段は、前記不揮発性メモリに記憶されているデータを前記ディスクの前記特定領域に移動するための、当該特定領域に対する当該データのライトを含む操作によって、前記不揮発性メモリ内に空き領域を確保する
ことを特徴とする請求項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.
JP2006324992A 2006-11-30 2006-11-30 Hybrid disk storage device and disk write method applied to the same Pending JP2008140459A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (10)

* Cited by examiner, † Cited by third party
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